diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d17347a0ad7..68fe9de68d6 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -116,13 +116,13 @@ a process to follow to optimize the chance to have PRs merged efficiently... Also, some code changes need a prior approbation: -* if you want to include a new external library (into htdocs/includes directory), please ask before to the core project manager (mention @dolibarr-yoda in your issue) to see if such a library can be accepted. +* if you want to include a new external library (into htdocs/includes directory), please ask before to the core project manager (mention @dolibarr-jedi in your issue) to see if such a library can be accepted. -* if you add a new table, you must first create a page on https://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Then ask the project manager (@dolibarr-yoda) if the new data model you plan to add is compatible with curent and future works in progress and can be accepted as you suggest. +* if you add a new tables or fields, you MUST first submit a standalone PR with the data structure changes you plan to add/modify (and only data structure changes). Start development only once this data structure has been accepted. Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow every developer discuss about the PR (A label is added in such a case). -If the label of PR start with "Draft" or "WIP" (Work In Progress), it will not be analyzed for merging until you change the label of PR (but it can be analyzed for discussion). +If the label of PR start with "Draft" or "WIP" (Work In Progress), it will not be analyzed for merging until you change the label of the PR (but it can be analyzed for discussion). If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration. diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 186b20a051d..6b651234788 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -2,4 +2,4 @@ open_collective: dolibarr custom: https://wiki.dolibarr.org/index.php/Subscribe -# github: [eldy] \ No newline at end of file +github: [eldy] \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 035387834bd..13a3e6fa77b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,18 +1,18 @@ # Instructions *This is a template to help you make good pull requests. You may use [Github Markdown](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/) syntax to format your issue report.* *Please:* -- *only keep the "Fix", "Close" or "New" section* +- *only keep the "FIX", "CLOSE" or "NEW" section* (use uppercase to have the PR appears into the ChangeLog, lowercase will not appears) - *follow the project [contributing guidelines](/.github/CONTRIBUTING.md)* -- *replace the bracket enclosed textswith meaningful informations* +- *replace the bracket enclosed texts with meaningful information* -# Fix #[*issue_number Short description*] +# FIX|Fix #[*issue_number Short description*] [*Long description*] -# Close #[*issue_number Short description*] +# CLOSE|Close #[*issue_number Short description*] [*Long description*] -# New [*Short description*] +# NEW|New [*Short description*] [*Long description*] diff --git a/.travis.yml b/.travis.yml index df6e24a7e02..b48a3667bb0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,16 +44,20 @@ jobs: #allow_failures: #- php: nightly include: - - if: type = push + - stage: PHP 5.6-7.4 + if: type = push php: '5.6' env: DB=postgresql - - if: type = pull_request OR type = push + - stage: PHP 5.6-7.4 + if: type = pull_request OR type = push php: '7.4' env: DB=mysql - - if: type = push AND branch = develop + - stage: PHP Dev + if: type = push AND branch = develop php: nightly env: DB=mysql - - if: type = push AND branch = 14.0 + - stage: PHP Dev + if: type = push AND branch = 14.0 php: nightly env: DB=mysql @@ -412,10 +416,11 @@ script: - | echo "Enabling new modules" # Enable modules not enabled into original dump - cd htdocs/install - php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_PRODUCTBATCH,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_STRIPE > $TRAVIS_BUILD_DIR/enablemodule.log + set -e + php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_PRODUCTBATCH,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_STRIPE,MAIN_MODULE_EXPENSEREPORT > $TRAVIS_BUILD_DIR/enablemodule.log php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKET,MAIN_MODULE_ACCOUNTING,MAIN_MODULE_MRP >> $TRAVIS_BUILD_DIR/enablemodule.log php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_RECEPTION,MAIN_MODULE_RECRUITMENT >> $TRAVIS_BUILD_DIR/enablemodule.log + php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_KNOWLEDGEMANAGEMENT,MAIN_MODULE_EVENTORGANIZATION,MAIN_MODULE_PARTNERSHIP >> $TRAVIS_BUILD_DIR/enablemodule.log echo $? cd - set +e diff --git a/.tx/config b/.tx/config index dae10d60866..d4ca5e73180 100644 --- a/.tx/config +++ b/.tx/config @@ -170,12 +170,6 @@ source_file = htdocs/langs/en_US/hrm.lang source_lang = en_US type = MOZILLAPROPERTIES -[dolibarr.intracommreport] -file_filter = htdocs/langs//intracommreport.lang -source_file = htdocs/langs/en_US/intracommreport.lang -source_lang = en_US -type = MOZILLAPROPERTIES - [dolibarr.install] file_filter = htdocs/langs//install.lang source_file = htdocs/langs/en_US/install.lang @@ -188,6 +182,12 @@ source_file = htdocs/langs/en_US/interventions.lang source_lang = en_US type = MOZILLAPROPERTIES +[dolibarr.intracommreport] +file_filter = htdocs/langs//intracommreport.lang +source_file = htdocs/langs/en_US/intracommreport.lang +source_lang = en_US +type = MOZILLAPROPERTIES + [dolibarr.knowledgemanagement] file_filter = htdocs/langs//knowledgemanagement.lang source_file = htdocs/langs/en_US/knowledgemanagement.lang @@ -392,18 +392,18 @@ source_file = htdocs/langs/en_US/stripe.lang source_lang = en_US type = MOZILLAPROPERTIES -[dolibarr.suppliers] -file_filter = htdocs/langs//suppliers.lang -source_file = htdocs/langs/en_US/suppliers.lang -source_lang = en_US -type = MOZILLAPROPERTIES - [dolibarr.supplier_proposal] file_filter = htdocs/langs//supplier_proposal.lang source_file = htdocs/langs/en_US/supplier_proposal.lang source_lang = en_US type = MOZILLAPROPERTIES +[dolibarr.suppliers] +file_filter = htdocs/langs//suppliers.lang +source_file = htdocs/langs/en_US/suppliers.lang +source_lang = en_US +type = MOZILLAPROPERTIES + [dolibarr.ticket] file_filter = htdocs/langs//ticket.lang source_file = htdocs/langs/en_US/ticket.lang diff --git a/ChangeLog b/ChangeLog index ef4f01d84c7..2b29cf60bdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,11 +3,151 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 15.0.0 compared to 14.0.0 ***** + +For developers: +--------------- + +WARNING: + +Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: +* Update hook 'printOriginObjectLine', removed check on product type and special code. Need now reshook. +* Old deprecated module "SimplePOS" has been completely removed. Use module "TakePOS" is you need a Point Of Sale. +* The method static ActionComm::getActions($db, ...) is no more static. Use $actioncomm->getActions(...) instead (without $db param). +* The 'action=delete&file=...' has been replaced with 'action=deletefile&file=...' to avoid confusion with deletion of object lines. + + +***** ChangeLog for 14.0.3 compared to 14.0.2 ***** + +FIX: #18698 Supplier invoice list - "alert" checkbox not working +FIX: #18735 +FIX: #18767 : Member delete +FIX: #18854 +FIX: #18910 : MRP List SQL query syntax error with more than one extrafileds. +FIX: Accountancy - Format Quadra export - Missing line type C to create automaticly a subledger account with label +FIX: Accountancy - Missing specific filename for export on format FEC2, Ciel & repare it +FIX: Accountancy - Option of export popup are inverted +FIX: Accountancy - Some correction on export name +FIX: Accountancy - Trunc code_journal to 2 in format XIMPORT (Ciel, Sage50) +FIX: add warehouse in projects' overview count +FIX: autocalculation of the supplier price in main currency. +FIX: avoid warning if $categories is an id +FIX: Bad use of a forced contact of another company on PDF/ODT documents +FIX: Button text on proposal card to create a invoice +FIX: calculateCosts of BOM must not be included into fetch +FIX: check if greater 0 +FIX: default language defined for IN country +FIX: fetch of product with modulebuilder load too much data +FIX: Filter on categories +FIX: indentation +FIX: init hookmanager after loading $conf values +FIX: legal issue on expense report pdf (must also show price without tax) +FIX: missing filter status=1 on rss feeds +FIX: move fetch_optionnal into $ac_static->fetch() +FIX: payment using wrong type in takepos when too many payment mode +FIX: Product accountancy affectation with product_perentity activated (PR #18620) +FIX: products/services card: hidden extrafields were overridden +FIX: Propal list - Problem of pagination on date +FIX: selected lines on supplier invoice create +FIX: Selection of type "people" for membership must hide the company +FIX: select list of orders not complete when field type of company is on +FIX: support of localtax on expense report +FIX: task time: can't filter by user with pgsql + show error message +FIX: task time: keep on using natural_search +FIX: Test when date of invoie is in future (pb with TZ and offset) +FIX: translation into email for member at membership validation. +FIX: unprivileged user can see task associated with a not allowed project +FIX: user without permission can set ticket subject + +***** ChangeLog for 14.0.2 compared to 14.0.1 ***** + +FIX: #18353 Invoice list translation issue +FIX: #18375 SQL Error on tasks statistics +FIX: #18465 +FIX: #18484 +FIX: #18531 +FIX: #18542 REST API: set global $user variable to DolibarrApiAccess::user. +FIX: #18544 Shipment REST API: load thirdparty object into the shipment before validating. +FIX: #18544 Shipment rest api: load thirdparty object when validating +FIX: #18565 +FIX: #18589 #18617 +FIX: #18591 : Remove double quotes of SQL Queries for postgresql compatibility +FIX: #18666 Order / Shipment list: Don't SQL JOIN category table when not necessary. +FIX: Accountancy - Some problems of length with general & subledger account +FIX: add DISTINCT +FIX: Add option $noescapecommand in executeCLI for better compatibility +FIX: Add token to remove error when removing widget +FIX: Add token when remove the last widget on home page +FIX: an approved holiday can be canceled by an admin. +FIX: better sql request +FIX: change LOG_DEBUG with LOG_WARNING in syslog and remove sql error in syslog (already done) +FIX: Collapsing of extrafields has disappeared. +FIX: Date of payment of subscription must not be set to 1970-01-01. +FIX: Export of website generates a package that contains a sql error +FIX: Field already present in SQL request +FIX: increase maxlength of password input +FIX: invoice fetch not found syslog debug level instead of error +FIX: Invoice list - Wrong name for column total_tva +FIX: invoice validation: when checking if any vat rate has a negative amount, prevent false positives with -1E-14 amounts +FIX: Manage credit note on situation invoice for calculate margin +FIX: Menu List of project was not visible. +FIX: migration script +FIX: multicompany transverse mode compatibility +FIX: option "Default value for field 'Refuse bulk emailings'" +FIX: Recommended session.cookie_samesite must be 'Lax' not 'Strict'. +FIX: Relative discount with high nb of decimals +FIX: salary extrafields don't work and table is not well named +FIX: Supplier invoice list - Wrong language key used +FIX: wrong table_element_line +FIX: wrong users count in multicompany transverse mode +FIX: #yogosha6944 Protection against traversal path. + + +***** ChangeLog for 14.0.1 compared to 14.0.0 ***** + +FIX: $conf->task used but it does not exist, use $conf->projet instead +FIX: #18181 +FIX: #18212 : Add url field +FIX: #18267 +FIX: #18289 #18294 +FIX: #18341 lang not loaded +FIX: #18389 Accountancy - Bug on LDcompta10 export for supplier invoice +FIX: #18399 Fix shipment validation email template override. +FIX: Accountancy - Debug Export Sage50 / CIEL Compta / CIEL Compta Evo (Format XIMPORT) +FIX: Accountancy - Rules to delete & modify transaction not applied in ledger & subledger +FIX: Accountancy - Search date on journal +FIX: Accountancy - SQL error on select journal on journal +FIX: Accountancy - SQL error when insert a manuel transaction +FIX: add include missing file '/core/actions_dellink.inc.php' in project card +FIX: avoid to have link to create bookmark on page to create bookmark +FIX: bad approver shown on holiday once approved +FIX: bad closing div on error message +FIX: cannot add time spentd when column ref is not displayed +FIX: Can't remove a permission of a group +FIX: Can't set cost price when product is not on purchase +FIX: compatibility postgresql +FIX: filter on status Draft in modulebuilder +FIX: holiday card: hooks uninitialized +FIX: Invoice - Missing button to reopen an abandoned situation invoice +FIX: Link of download main doc on vat list +FIX: look and field v14 +FIX: Missing column Date validation in ledger & subledger +FIX: on admin/pdf.php (with javascript enabled) if you set some boolean confs then click on "save", all boolean values are reset +FIX: on supplier order, JOIN with product fourn price table must be done with fk_soc too to avoid display several times a same line (because of same supplier product ref) +FIX: postgresql filter select search extrafield +FIX: shipping validation workflow: 'ORDER_NEW' trigger called from wrong object +FIX: show info of company into user dropdown +FIX: totalDayAll hours in tasks +FIX: update product lot +FIX: using Tulip, deposit mask was not saved +FIX: #yogosha6907 + + ***** ChangeLog for 14.0.0 compared to 13.0.0 ***** For users: ---------- -NEW: Module Recruitement to follow application to job positions is now stable. +NEW: Module Recruitment to follow application to job positions is now stable. NEW: Feature to make Stock Inventories NEW: Several security issues after a second private bug hunting campaign. NEW: A lot of fix into english text after a small proofreading campaign (still not perfect, but really better) @@ -50,7 +190,7 @@ NEW: Make public bookmarks editable by admin users only NEW: If main logo not defined, can use the squarred logo on login page NEW: The manifest file can use the squared image if available NEW: Enhance the multicurrency rate editor -NEW: Normalyse Type company field with ajax combobox +NEW: Normalise Type company field with ajax combobox NEW: preload product description on selection for customer propal/order/invoice NEW: Search usergroups & resources NEW: Setup Page for module creation with module builder enhancement #FoundationFunding @@ -64,17 +204,18 @@ NEW: VAT payment request and VAT payment are now 2 different steps in workflow o NEW: VAT report - Optimisation & collapse by rate NEW: When a doc file is shared, link is visible from the main page of doc. NEW: #16378 more E-Mail Contact substitution Values for better salutation -NEW: option to keep the "Automatically create a total payment" checkbox empty on the tax creation page +NEW: option to keep the "Automatically create the payment" checkbox empty on the tax creation page Accountancy -NEW: Accountancy - Add FEC import -NEW: Accountancy - Add a confirmation form with options on export -NEW: Accountancy - Add select date from/to in already bind customer and supplier list -NEW: Accountancy - Format FEC - Add new field DateLimitReglmt -NEW: Accountancy - In ledger & journals, show link on bank transaction -NEW: Accountancy - Possibility to filter on journals in balance -NEW: Accountancy - Add a page to list subledger accounts -NEW: Multiselect ledger account code filter on book keeping list +NEW: Add FEC import +NEW: Add a confirmation form with options on export (for notified export and validate operations) +NEW: Add select date from/to in already bind customer and supplier list +NEW: FEC / FEC2 export - Add new field DateLimitReglmt +NEW: In ledger & journals, show link on bank transaction +NEW: Possibility to filter on journals in balance +NEW: Add a page to list subledger accounts +NEW: Multiselect journal code filter on journal / balance / ledger +NEW: Add first step to close fiscal year Agenda NEW: add support for Friday as a non working day @@ -93,7 +234,7 @@ NEW: can filter files in ECM/GED on status Shared / Not shared NEW: add a check to avoid an invoice date in the future NEW: add the total of margin in invoice list NEW: can set a percentage when creating an invoice from another object -NEW: Support down payment on supplier invoice (& somes ajustments) +NEW: Support down payment on supplier invoice (& some adjustments) Margin NEW: add the total of margin in invoice list @@ -162,7 +303,7 @@ NEW: Add a security center page with all information and advices related to the NEW: Add a performance center page with all information and advices related to the performance of your instance Modules -NEW: Module Recruitement is now stable +NEW: Module Recruitment is now stable NEW: start new experimental module Event Organization Management NEW: start new experimental module Partnership Management NEW: start new experimental module Knowledge Management @@ -171,11 +312,14 @@ NEW: Check update availability for externals modules using a button on module pa Module SimplePOS is deprecated - TakePOS is recommended for the future new Options -NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared -NEW: add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared -NEW: add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs -NEW: add option SOCIETE_DISABLE_WORKFORCE to hide staff field -NEW: add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug" +NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared +NEW: add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared +NEW: add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs +NEW: add option SOCIETE_DISABLE_WORKFORCE to hide staff field +NEW: add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug" +NEW: add constant ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY to manage binding with accountancy account declared on thirdparty card +NEW: add constant MAIN_PRODUCT_PERENTITY_SHARED to manage some informations (Accounting account) when product is shared on several entities +NEW: add constant MAIN_COMPANY_PERENTITY_SHARED to manage some informations (Accounting account) when company is shared on several entities For developers: @@ -209,7 +353,7 @@ NEW: hook printFieldListTitle for cabyprodserv.php NEW: hook to allow external modules to add their own shortlist of recent objects NEW: SQL-altering hooks in the turnover by product report NEW: add form confirm hook on company card -NEW: add hook addSectionECMAuto method to add custom diretory into ECM auto files +NEW: add hook addSectionECMAuto method to add custom directory into ECM auto files WARNING: @@ -219,13 +363,37 @@ Following changes may create regressions for some external modules, but were nec * The ICS value for direct debit or credit transfer is now stored on each bank account instead of into the global setup. * API /setup/shipment_methods has been replaced with API /setup/shipping_methods * Field "total" renamed into "total_ht" for table llx_facture, llx_facture_rec for better field name consistency -* Field "tva" renamed into "total_tva" for table llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency +* Field "tva" renamed into "total_tva" for llx_facture, table llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency * Field "total" renamed into "total_ttc" for table llx_propal, llx_supplier_proposal for better field name consistency * If your database is PostgreSQL, you must use version 9.1.0 or more (Dolibarr need the SQL function CONCAT) * If your database is MySQL or MariaDB, you need at least version 5.1 * Function set_price_level() has been renamed into setPriceLevel() to follow camelcase rules -* removed deprecated subtituion key __REFCLIENT__ (replaced with __REF_CLIENT__) +* Removed deprecated substitution key __REFCLIENT__ (replaced with __REF_CLIENT__) * Removed constant MAIN_COUNTRIES_IN_EEC. You can now set if country is in Europe or not from the dictionary of countries. +* v14 seems to work correctly on PHP v8 but it generates a lot of verbose warnings. Currently, v14 i snot yet officialy supported with PHP 8. + + +***** ChangeLog for 13.0.4 compared to 13.0.3 ***** + +FIX: Allow disabling of a module (not a dangerous action) even if there is problem with token (due to bugged modules). +FIX: 13.0 - fatal - missing inclusion of ajax.lib.php for calling 'ajax_autocompleter()' +FIX: #17919 pictures in docs +FIX: #18006 +FIX: Accountancy - if we define a date start, automatic binding try to continue to solve old binding +FIX: Accountancy - Limit date payment not registered on purchases operations +FIX: Can't edit replacement invoice +FIX: deposit can create credit note in payment conf +FIX: division by zero on create +FIX: holiday: balances not updated correctly with pgsql because of case sensitivity field +FIX: holiday: status filter parameter has been renamed but not in links it was used +FIX: List and Create Companies Left Menus +FIX: method exists +FIX: need to add payment sum to getlibstatus function in object linked block +FIX: permission to close a proposal when using advanced permissions +FIX: Problem of z-index with popup and top menu +FIX: same thing on supplier orders +FIX: Status of invoice when making a replacement invoice +FIX: update contact birthday alert ***** ChangeLog for 13.0.3 compared to 13.0.2 ***** @@ -285,7 +453,6 @@ FIX: test must be === and not == FIX: test on link type FIX: type link extrafield case for advanced target emailing FIX: Write right on document ->>>>>>> branch '13.0' of git@github.com:Dolibarr/dolibarr.git ***** ChangeLog for 13.0.2 compared to 13.0.1 ***** @@ -317,7 +484,7 @@ FIX: File attachment on lots/batches FIX: handling $heightforinfotot when he's superior to a page height on Supplier Invoice FIX: hourglass and hide button to pay FIX: massaction validate invoice do not regenerate PDF -FIX: missing mp4 video mime +FIX: #16627 fix missing mp4 video mime FIX: picto on shipment to reset qty to 0. Some quantities were not reset. FIX: Protection to avoid #16504 FIX: rounding amount on card updating diff --git a/README.md b/README.md index 7878f6270a7..54fdf1e958b 100644 --- a/README.md +++ b/README.md @@ -79,9 +79,9 @@ If you don't have time to install it yourself, you can try some commercial 'read ## UPGRADING -Dolibarr supports upgrading usually wihtout the need for any (commercial) support (depending on if you use any commercial extensions) and supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate! +Dolibarr supports upgrading, usually without the need for any (commercial) support (depending on if you use any commercial extensions). It supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate! -- At first make a backup of your Dolibarr files & than [see](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr) +- At first make a backup of your Dolibarr files & then [see](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr) - Check that your installed PHP version is supported by the new version [see PHP support](./doc/phpmatrix.md). - Overwrite all old files from 'dolibarr' directory with files provided into the new version's package. - At first next access, Dolibarr will redirect you to the "install/" page to follow the upgrade process. @@ -154,18 +154,18 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) ### Other application/modules -- Electronic Document Management (EDM) +- Electronic Document Management (EDM) - Bookmarks management - Reporting - Data export/import -- Barcodes +- Barcodes - Margin calculations - LDAP connectivity - ClickToDial integration - Mass emailing - RSS integration - Skype integration -- Social platforms linking +- Social platforms linking - Payment platforms integration (PayPal, Stripe, Paybox...) - Email-Collector @@ -179,14 +179,11 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) - Multi-Users and groups with finely grained rights - Multi-Currency - Multi-Company (by adding of an external module) - - Very user friendly and easy to use - customizable Dashboard - Highly customizable: enable only the modules you need, add user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one) - - APIs (REST, SOAP) - Code that is easy to understand, maintain and develop (PHP with no heavy framework; trigger and hook architecture) - - Support a lot of country specific features: - Spanish Tax RE and ISPF - French NPR VAT rate (VAT called "Non Perçue Récupérable" for DOM-TOM) @@ -197,7 +194,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) - Compatible with European GDPR rules - ... - Flexible PDF & ODT generation for invoices, proposals, orders... -- … +- ... ### System Environment / Requirements diff --git a/SECURITY.md b/SECURITY.md index 7d65b7e98e4..427b1cc7ae2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,11 +4,11 @@ This file contains some policies about the security reports on Dolibarr ERP CRM ## Supported Versions for security reports -| Version | Supported | -| --------- | ------------------ | -| <= 12.* | :x: | -| >= 13.* | :white_check_mark: | - +| Version | Supported | +| ---------- | ---------------------- | +| <= 14.0.1 | :x: | +| >= 14.0.2+ | :white_check_mark: except CSRF attacks| +| >= develop | :white_check_mark: | ## Reporting a Vulnerability @@ -54,12 +54,12 @@ ONLY vulnerabilities discovered, when the following setup on test platform is us * $dolibarr_main_prod must be set to 1 into conf.php * $dolibarr_nocsrfcheck must be kept to the value 0 into conf.php (this is the default value) * $dolibarr_main_force_https must be set to something else than 0. -* The constant MAIN_SECURITY_CSRF_WITH_TOKEN must be set to 1 into backoffice menu Home - Setup - Other (this protection should be set to 1 soon by default) +* The constant MAIN_SECURITY_CSRF_WITH_TOKEN must be set to 3 into backoffice menu Home - Setup - Other (this protection should be set to 3 soon by default) * The module DebugBar and ModuleBuilder must NOT be enabled (by default, these modules are not enabled. They are developer tools) * ONLY security reports on modules provided by default and with the "stable" status are valid (troubles into "experimental", "developement" or external modules are not valid vulnerabilities). * The root of web server must link to htdocs and the documents directory must be outside of the web server root (this is the default when using the default installer but may differs with external installer). * The web server setup must be done so only the documents directory is in write mode. The root directory called htdocs must be readonly. -* CSRF attacks are accepted when using a POST URL, but when using GET URL, they are validated only for creating, updating or deleting data resctricted from pages restricted to admin users. +* CSRF attacks are accepted but double check that you have set MAIN_SECURITY_CSRF_WITH_TOKEN to value 3. * Ability for a high level user to edit web site pages into the CMS by including HTML or Javascript is an expected feature. Vulnerabilities into the website module are validated only if HTML or Javascript injection can be done by a non allowed user. Scope is the web application (back office) and the APIs. @@ -90,9 +90,8 @@ Scope is the web application (back office) and the APIs. * Clickjacking/UI redressing * Physical or social engineering attempts or issues that require physical access to a victim’s computer/device * Presence of autocomplete attribute on web forms -* Vulnerabilities affecting outdated browsers or platforms +* Vulnerabilities affecting outdated browsers or platforms, or vulnerabilities inside browsers themself. * Logout and other instances of low-severity Cross-Site Request Forgery -* Missing cookie flags * Missing security-related HTTP headers which do not lead directly to a vulnerability * Reports from automated web vulnerability scanners (Acunetix, Vega, etc.) that have not been validated * Invalid or missing SPF (Sender Policy Framework) records (Incomplete or missing SPF/DKIM/DMARC) diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile index dca74e9e720..eb8e3ade6dc 100644 --- a/build/docker/Dockerfile +++ b/build/docker/Dockerfile @@ -57,7 +57,6 @@ RUN echo "host mail" >> /etc/msmtprc RUN echo "from local@localdomain.com" >> /etc/msmtprc RUN echo "domain localhost.localdomain" >> /etc/msmtprc RUN echo "sendmail_path=/usr/bin/msmtp -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini -RUN echo "localhost localhost.localdomain" >> /etc/hosts EXPOSE 80 diff --git a/build/docker/docker-compose.yml b/build/docker/docker-compose.yml index 2167f069f25..b72118de5fb 100644 --- a/build/docker/docker-compose.yml +++ b/build/docker/docker-compose.yml @@ -46,6 +46,8 @@ services: networks: - internal-pod - external-pod + extra_hosts: + - "localhost.localdomain:127.0.0.1" mail: image: maildev/maildev diff --git a/build/generate_filelist_xml.php b/build/generate_filelist_xml.php index f5d9f64e518..7065e20f92b 100755 --- a/build/generate_filelist_xml.php +++ b/build/generate_filelist_xml.php @@ -48,17 +48,16 @@ $includecustom=0; $includeconstants=array(); if (empty($argv[1])) { - print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n"; + print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value] [buildzip=1]\n"; print "Example: ".$script_file." release=6.0.0 includecustom=1 includeconstant=FR:INVOICE_CAN_ALWAYS_BE_REMOVED:0 includeconstant=all:MAILING_NO_USING_PHPMAIL:1\n"; exit -1; } -parse_str($argv[1]); $i=0; while ($i < $argc) { if (! empty($argv[$i])) { - parse_str($argv[$i]); + parse_str($argv[$i]); // set all params $release, $includecustom, $includeconstant, $buildzip ... } if (preg_match('/includeconstant=/', $argv[$i])) { $tmp=explode(':', $includeconstant, 3); // $includeconstant has been set with previous parse_str() @@ -125,8 +124,8 @@ print "\n"; //$outputfile=dirname(__FILE__).'/../htdocs/install/filelist-'.$release.'.xml'; $outputdir=dirname(dirname(__FILE__)).'/htdocs/install'; -print 'Delete current files '.$outputdir.'/filelist*.xml'."\n"; -dol_delete_file($outputdir.'/filelist*.xml', 0, 1, 1); +print 'Delete current files '.$outputdir.'/filelist*.xml*'."\n"; +dol_delete_file($outputdir.'/filelist*.xml*', 0, 1, 1); $checksumconcat=array(); @@ -237,6 +236,22 @@ fputs($fp, ''."\n"); fputs($fp, ''."\n"); fclose($fp); -print "File ".$outputfile." generated\n"; +if (empty($buildzip)) { + print "File ".$outputfile." generated\n"; +} else { + if ($buildzip == '1' || $buildzip == 'zip') { + $result = dol_compress_file($outputfile, $outputfile.'.zip', 'zip'); + if ($result > 0) { + dol_delete_file($outputfile); + print "File ".$outputfile.".zip generated\n"; + } + } elseif ($buildzip == '2' || $buildzip == 'gz') { + $result = dol_compress_file($outputfile, $outputfile.'.gz', 'gz'); + if ($result > 0) { + dol_delete_file($outputfile); + print "File ".$outputfile.".gz generated\n"; + } + } +} exit(0); diff --git a/composer.json b/composer.json index 130fda34945..8d82f530df8 100644 --- a/composer.json +++ b/composer.json @@ -35,7 +35,7 @@ "nnnick/chartjs" : "^2.9", "stripe/stripe-php" : "6.43.1", "maximebf/debugbar" : "1.15.1", - "symfony/var-dumper" : "3" + "symfony/var-dumper" : "3.2" }, "require-dev" : { "php-parallel-lint/php-parallel-lint" : "^0", diff --git a/composer.lock b/composer.lock index 3e867f8f186..5f761cb63fe 100644 --- a/composer.lock +++ b/composer.lock @@ -591,7 +591,7 @@ }, { "name": "symfony/var-dumper", - "version": "v3.0.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", @@ -616,7 +616,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.2-dev" } }, "autoload": { diff --git a/dev/dolibarr_changes.txt b/dev/dolibarr_changes.txt index 4f80f06d444..cce6351950c 100644 --- a/dev/dolibarr_changes.txt +++ b/dev/dolibarr_changes.txt @@ -188,7 +188,10 @@ with: with } elseif (($key == '/Index') AND ($v[0] == PDF_TYPE_ARRAY AND count($v[1]) >= 2)) { - +* Fix php fatal error on php 8.0 on tcpdi.php + while (list($k, $v) = each($value[1])) { +with + foreach ($value[1] as $k => $v) { JSGANTT: -------- diff --git a/dev/examples/ldap/ldapsearch_sample1.txt b/dev/examples/ldap/ldapsearch_sample1.txt index 5f667ffd7a4..a02ad632cd0 100644 --- a/dev/examples/ldap/ldapsearch_sample1.txt +++ b/dev/examples/ldap/ldapsearch_sample1.txt @@ -3,11 +3,26 @@ # # Use this sample to search into a ldap # -# ldapsearch -h hostname -x -# ldapsearch -h hostname -x -b "ou=people,dc=teclib,dc=infra" -# ldapsearch -h hostname -x -z 0 -b "o=somecompany.com" -D "cn=manager,o=somecompany.com" -w password "(objectclass=*)" -# ldapsearch -h hostname -x -b "o=somecompany.com" -D "cn=manager,o=somecompany.com" -w password "(objectclass=*)" + +# Anonymous access +# ldapsearch -h hostname -p 389 +# +# Login access (using a Bind DN) +# ldapsearch -h hostname -p 389 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password +# ldapsearch -H ldap://hostname:389 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password +# ldapsearch -d1 -H ldap://hostname:389 -x -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password +# ldapsearch -H ldap://hostname:389 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password +# +# Login access in SSL (using a Bind DN) +# ldapsearch -H ldaps://hostnamme:636 -z 0 -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password -b "cn=users,dc=ldap,dc=test,dc=local +# If it fails, you may try to use "hostname" that is real name of certificate. +# You must also check that /etc/ldap/ldap.conf contains the line TLS_CACERT /etc/ssl/certs/ca-certificates.crt + +# What to search +# ldapsearch -h hostname -p 389 -x -D "uid=root,cn=users,dc=ldap,dc=test,dc=local" -w password -b "cn=users,dc=ldap,dc=test,dc=local" +# ldapsearch -h hostname -p 389 -x -D "cn=manager,o=somecompany.com" -w password -b "ou=people,dc=teclib,dc=infra" +# ldapsearch -h hostname -p 389 -x -D "cn=manager,o=somecompany.com" -w password -b "o=somecompany.com" "(objectclass=*)" # # Example to test a ldap search: -# ldapsearch -h hostname -x -z 5 -b 'OU=Collaborateurs,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -D 'CN=UserAdmin,OU=Informatique,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -w password +# ldapsearch -h hostname -p 389 -x -z 5 -b 'OU=Collaborateurs,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -D 'CN=UserAdmin,OU=Informatique,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -w password diff --git a/dev/initdata/dbf/import-dbf.php b/dev/initdata/dbf/import-dbf.php deleted file mode 100644 index ba1da9722d6..00000000000 --- a/dev/initdata/dbf/import-dbf.php +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env php - - * Copyright (C) 2016 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - * - * WARNING, THIS WILL LOAD MASS DATA ON YOUR INSTANCE - */ - -/** - * \file dev/initdata/import-dbf.php - * \brief Script example to create a table from a large DBF file (openoffice) - * To purge data, you can have a look at purge-data.php - */ -// Test si mode batch -$sapi_type = php_sapi_name(); -$script_file = basename(__FILE__); - -$path = dirname(__FILE__) . '/'; -if (substr($sapi_type, 0, 3) == 'cgi') { - echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; - exit; -} - -// Recupere root dolibarr -$path = dirname($_SERVER["PHP_SELF"]); -require $path . "./../htdocs/master.inc.php"; -require $path . "/includes/dbase.class.php"; - -// Global variables -$version = DOL_VERSION; -$confirmed = 1; -$error = 0; - - -/* - * Main - */ - -@set_time_limit(0); -print "***** " . $script_file . " (" . $version . ") pid=" . dol_getmypid() . " *****\n"; -dol_syslog($script_file . " launched with arg " . implode(',', $argv)); - - -$filepath = $argv[1]; -$filepatherr = $filepath . '.err'; -$startchar = empty($argv[2]) ? 0 : (int) $argv[2]; -$deleteTable = empty($argv[3]) ? 1 : 0; -$startlinenb = empty($argv[3]) ? 1 : (int) $argv[3]; -$endlinenb = empty($argv[4]) ? 0 : (int) $argv[4]; - -if (empty($filepath)) { - print "Usage: php $script_file myfilepath.dbf [removeChatColumnName] [startlinenb] [endlinenb]\n"; - print "Example: php $script_file myfilepath.dbf 0 2 1002\n"; - print "\n"; - exit(-1); -} -if (!file_exists($filepath)) { - print "Error: File " . $filepath . " not found.\n"; - print "\n"; - exit(-1); -} - -$ret = $user->fetch('', 'admin'); -if (!$ret > 0) { - print 'A user with login "admin" and all permissions must be created to use this script.' . "\n"; - exit; -} -$user->getrights(); - -// Ask confirmation -if (!$confirmed) { - print "Hit Enter to continue or CTRL+C to stop...\n"; - $input = trim(fgets(STDIN)); -} - -// Open input and output files -$fhandle = dbase_open($filepath, 0); -if (!$fhandle) { - print 'Error: Failed to open file ' . $filepath . "\n"; - exit(1); -} -$fhandleerr = fopen($filepatherr, 'w'); -if (!$fhandleerr) { - print 'Error: Failed to open file ' . $filepatherr . "\n"; - exit(1); -} - -$langs->setDefaultLang($defaultlang); - -$record_numbers = dbase_numrecords($fhandle); -$table_name = substr(basename($filepath), 0, strpos(basename($filepath), '.')); -print 'Info: ' . $record_numbers . " lines in file \n"; -$header = dbase_get_header_info($fhandle); -if ($deleteTable) { - $db->query("DROP TABLE IF EXISTS `$table_name`"); -} -$sqlCreate = "CREATE TABLE IF NOT EXISTS `$table_name` ( `id` INT(11) NOT NULL AUTO_INCREMENT "; -$fieldArray = array("`id`"); -foreach ($header as $value) { - $fieldName = substr(str_replace('_', '', $value['name']), $startchar); - $fieldArray[] = "`$fieldName`"; - $sqlCreate .= ", `" . $fieldName . "` VARCHAR({$value['length']}) NULL DEFAULT NULL "; -} -$sqlCreate .= ", PRIMARY KEY (`id`)) ENGINE = InnoDB"; -$resql = $db->query($sqlCreate); -if ($resql !== false) { - print "Table $table_name created\n"; -} else { - var_dump($db->errno()); - print "Impossible : " . $sqlCreate . "\n"; - die(); -} - -$i = 0; -$nboflines++; - -$fields = implode(',', $fieldArray); -//var_dump($fieldArray);die(); -$maxLength = 0; -for ($i = 1; $i <= $record_numbers; $i++) { - if ($startlinenb && $i < $startlinenb) { - continue; - } - if ($endlinenb && $i > $endlinenb) { - continue; - } - $row = dbase_get_record_with_names($fhandle, $i); - if ($row === false || (isset($row["deleted"]) && $row["deleted"] == '1')) { - continue; - } - $sqlInsert = "INSERT INTO `$table_name`($fields) VALUES (null,"; - array_shift($row); // remove delete column - foreach ($row as $value) { - $sqlInsert .= "'" . $db->escape(utf8_encode($value)) . "', "; - } - replaceable_echo(implode("\t", $row)); - $sqlInsert = rtrim($sqlInsert, ', '); - $sqlInsert .= ")"; - $resql = $db->query($sqlInsert); - if ($resql === false) { - print "Impossible : " . $sqlInsert . "\n"; - var_dump($row, $db->errno()); - die(); - } - // $fields = (object) $row; - // var_dump($fields); - continue; -} -die(); - - - - - -// commit or rollback -print "Nb of lines qualified: " . $nboflines . "\n"; -print "Nb of errors: " . $error . "\n"; -if ($mode != 'confirmforced' && ($error || $mode != 'confirm')) { - print "Rollback any changes.\n"; - $db->rollback(); -} else { - print "Commit all changes.\n"; - $db->commit(); -} - -$db->close(); -fclose($fhandle); -fclose($fhandleerr); - -exit($error); - - -/** - * replaceable_echo - * - * @param string $message Message - * @param int $force_clear_lines Force clear messages - * @return void - */ -function replaceable_echo($message, $force_clear_lines = null) -{ - static $last_lines = 0; - - if (!is_null($force_clear_lines)) { - $last_lines = $force_clear_lines; - } - - $toss = array(); - $status = 0; - $term_width = exec('tput cols', $toss, $status); - if ($status) { - $term_width = 64; // Arbitrary fall-back term width. - } - - $line_count = 0; - foreach (explode("\n", $message) as $line) { - $line_count += count(str_split($line, $term_width)); - } - - // Erasure MAGIC: Clear as many lines as the last output had. - for ($i = 0; $i < $last_lines; $i++) { - // Return to the beginning of the line - echo "\r"; - // Erase to the end of the line - echo "\033[K"; - // Move cursor Up a line - echo "\033[1A"; - // Return to the beginning of the line - echo "\r"; - // Erase to the end of the line - echo "\033[K"; - // Return to the beginning of the line - echo "\r"; - // Can be consolodated into - // echo "\r\033[K\033[1A\r\033[K\r"; - } - - $last_lines = $line_count; - - echo $message . "\n"; -} diff --git a/dev/initdata/dbf/importdb-products.php b/dev/initdata/dbf/importdb-products.php deleted file mode 100644 index 6da24faee4e..00000000000 --- a/dev/initdata/dbf/importdb-products.php +++ /dev/null @@ -1,248 +0,0 @@ -#!/usr/bin/env php - - * Copyright (C) 2016 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - * - * WARNING, THIS WILL LOAD MASS DATA ON YOUR INSTANCE - */ - -/** - * \file dev/initdata/import-product.php - * \brief Script example to insert products from a csv file. - * To purge data, you can have a look at purge-data.php - */ -// Test si mode batch -$sapi_type = php_sapi_name(); -$script_file = basename(__FILE__); -$path = dirname(__FILE__) . '/'; -if (substr($sapi_type, 0, 3) == 'cgi') { - echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; - exit; -} - -// Recupere root dolibarr -$path = preg_replace('/importdb-products.php/i', '', $_SERVER["PHP_SELF"]); -require $path . "../../htdocs/master.inc.php"; -require $path . "includes/dbase.class.php"; -include_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; -include_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; - -//$delimiter = ','; -//$enclosure = '"'; -//$linelength = 10000; -//$escape = '/'; -// Global variables -$version = DOL_VERSION; -$confirmed = 1; -$error = 0; - -$tvas = [ - '1' => "20.00", - '2' => "5.50", - '3' => "0.00", - '4' => "20.60", - '5' => "19.60", -]; -$tvasD = [ - '1' => "20", - '2' => "5.5", - '3' => "0", - '4' => "20", - '5' => "20", -]; - -/* - * Main - */ - -@set_time_limit(0); -print "***** " . $script_file . " (" . $version . ") pid=" . dol_getmypid() . " *****\n"; -dol_syslog($script_file . " launched with arg " . implode(',', $argv)); - -$table = $argv[1]; - -if (empty($argv[1])) { - print "Error: Which table ?\n"; - print "\n"; - exit(-1); -} - -$ret = $user->fetch('', 'admin'); -if (!$ret > 0) { - print 'A user with login "admin" and all permissions must be created to use this script.' . "\n"; - exit; -} - -$sql = "SELECT * FROM `$table` WHERE 1"; -$resql = $db->query($sql); -if ($resql) { - while ($fields = $db->fetch_array($resql)) { - $errorrecord = 0; - if ($fields === false) { - continue; - } - $nboflines++; - - $produit = new Product($db); - $produit->type = 0; - $produit->status = 1; - $produit->ref = trim($fields['REF']); - if ($produit->ref == '') { - continue; - } - print "Process line nb " . $j . ", ref " . $produit->ref; - $produit->label = trim($fields['LIBELLE']); - if ($produit->label == '') { - $produit->label = $produit->ref; - } - if (empty($produit->label)) { - continue; - } - //$produit->description = trim($fields[4] . "\n" . ($fields[5] ? $fields[5] . ' x ' . $fields[6] . ' x ' . $fields[7] : '')); - // $produit->volume = price2num($fields[8]); - // $produit->volume_unit = 0; - $produit->weight = price2num($fields['MASSE']); - $produit->weight_units = 0; // -3 = g - //$produit->customcode = $fields[10]; - $produit->barcode = str_pad($fields['CODE'], 12, "0", STR_PAD_LEFT); - $produit->barcode_type = '2'; - $produit->import_key = $fields['CODE']; - - $produit->status = 1; - $produit->status_buy = 1; - - $produit->finished = 1; - - // $produit->multiprices[0] = price2num($fields['TARIF0']); - // $produit->multiprices[1] = price2num($fields['TARIF1']); - // $produit->multiprices[2] = price2num($fields['TARIF2']); - // $produit->multiprices[3] = price2num($fields['TARIF3']); - // $produit->multiprices[4] = price2num($fields['TARIF4']); - // $produit->multiprices[5] = price2num($fields['TARIF5']); - // $produit->multiprices[6] = price2num($fields['TARIF6']); - // $produit->multiprices[7] = price2num($fields['TARIF7']); - // $produit->multiprices[8] = price2num($fields['TARIF8']); - // $produit->multiprices[9] = price2num($fields['TARIF9']); - // $produit->price_min = null; - // $produit->price_min_ttc = null; - // $produit->price = price2num($fields[11]); - // $produit->price_ttc = price2num($fields[12]); - // $produit->price_base_type = 'TTC'; - // $produit->tva_tx = price2num($fields[13]); - $produit->tva_tx = (int) ($tvas[$fields['CODTVA']]); - $produit->tva_npr = 0; - // $produit->cost_price = price2num($fields[16]); - //compta - - $produit->accountancy_code_buy = trim($fields['COMACH']); - $produit->accountancy_code_sell = trim($fields['COMVEN']); - // $produit->accountancy_code_sell_intra=trim($fields['COMVEN']); - // $produit->accountancy_code_sell_export=trim($fields['COMVEN']); - // Extrafields - // $produit->array_options['options_ecotaxdeee'] = price2num($fields[17]); - - $produit->seuil_stock_alerte = $fields['STALERTE']; - $ret = $produit->create($user, 0); - if ($ret < 0) { - print " - Error in create result code = " . $ret . " - " . $produit->errorsToString(); - $errorrecord++; - } else { - print " - Creation OK with ref " . $produit->ref . " - id = " . $ret; - } - - dol_syslog("Add prices"); - - // If we use price level, insert price for each level - if (!$errorrecord && 1) { - //$ret1 = $produit->updatePrice($produit->price_ttc, $produit->price_base_type, $user, $produit->tva_tx, $produit->price_min, 1, $produit->tva_npr, 0, 0, array()); - $ret1 = false; - for ($i = 0; $i < 10; $i++) { - if ($fields['TARIF' . ($i)] == 0) { - continue; - } - $ret1 = $ret1 || $produit->updatePrice(price2num($fields['TARIF' . ($i)]), 'HT', $user, $produit->tva_tx, $produit->price_min, $i + 1, $produit->tva_npr, 0, 0, array()) < 0; - } - if ($ret1) { - print " - Error in updatePrice result " . $produit->errorsToString(); - $errorrecord++; - } else { - print " - updatePrice OK"; - } - } - - - // dol_syslog("Add multilangs"); - // Add alternative languages - // if (!$errorrecord && 1) { - // $produit->multilangs['fr_FR'] = array('label' => $produit->label, 'description' => $produit->description, 'note' => $produit->note_private); - // $produit->multilangs['en_US'] = array('label' => $fields[3], 'description' => $produit->description, 'note' => $produit->note_private); - // - // $ret = $produit->setMultiLangs($user); - // if ($ret < 0) { - // print " - Error in setMultiLangs result code = " . $ret . " - " . $produit->errorsToString(); - // $errorrecord++; - // } else { - // print " - setMultiLangs OK"; - // } - // } - - - dol_syslog("Add stocks"); - // stocks - if (!$errorrecord && $fields['STOCK'] != 0) { - $rets = $produit->correct_stock($user, 1, $fields['STOCK'], 0, 'Stock importé'); - if ($rets < 0) { - print " - Error in correct_stock result " . $produit->errorsToString(); - $errorrecord++; - } else { - print " - correct_stock OK"; - } - } - - //update date créa - if (!$errorrecord) { - $date = substr($fields['DATCREA'], 0, 4) . '-' . substr($fields['DATCREA'], 4, 2) . '-' . substr($fields['DATCREA'], 6, 2); - $retd = $db->query("UPDATE `llx_product` SET `datec` = '$date 00:00:00' WHERE `llx_product`.`rowid` = $produit->id"); - if ($retd < 1) { - print " - Error in update date créa result " . $produit->errorsToString(); - $errorrecord++; - } else { - print " - update date créa OK"; - } - } - print "\n"; - - if ($errorrecord) { - print( 'Error on record nb ' . $i . " - " . $produit->errorsToString() . "\n"); - var_dump($db); - die(); - $error++; // $errorrecord will be reset - } - $j++; - } -} else { - die("error : $sql"); -} - - - - -// commit or rollback -print "Nb of lines qualified: " . $nboflines . "\n"; -print "Nb of errors: " . $error . "\n"; -$db->close(); - -exit($error); diff --git a/dev/initdata/dbf/importdb-thirdparties.php b/dev/initdata/dbf/importdb-thirdparties.php deleted file mode 100644 index ecb1820fad1..00000000000 --- a/dev/initdata/dbf/importdb-thirdparties.php +++ /dev/null @@ -1,365 +0,0 @@ -#!/usr/bin/env php - - * Copyright (C) 2016 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - * - * WARNING, THIS WILL LOAD MASS DATA ON YOUR INSTANCE - */ - -/** - * \file dev/initdata/import-product.php - * \brief Script example to insert products from a csv file. - * To purge data, you can have a look at purge-data.php - */ -// Test si mode batch -$sapi_type = php_sapi_name(); -$script_file = basename(__FILE__); -$path = dirname(__FILE__) . '/'; -if (substr($sapi_type, 0, 3) == 'cgi') { - echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; - exit; -} - -// Recupere root dolibarr -$path = preg_replace('/importdb-thirdparties.php/i', '', $_SERVER["PHP_SELF"]); -require $path . "../../htdocs/master.inc.php"; -require $path . "includes/dbase.class.php"; -include_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; -include_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; - -//$delimiter = ','; -//$enclosure = '"'; -//$linelength = 10000; -//$escape = '/'; -// Global variables -$version = DOL_VERSION; -$confirmed = 1; -$error = 0; - -$civilPrivate = array("MLLE", - "MM", - "MM/MADAME", - "MME", - "MME.", - "MME²", - "MMONSIEUR", - "MMR", - "MOBNSIEUR", - "MOMSIEUR", - "MON SIEUR", - "MONDIAL", - "MONIEUR", - "MONJSIEUR", - "MONNSIEUR", - "MONRIEUR", - "MONS", - "MONSIEÕR", - "MONSIER", - "MONSIERU", - "MONSIEU", - "monsieue", - "MONSIEUR", - "Monsieur     \"", - "MONSIEUR    \"", - "MONSIEUR   E", - "MONSIEUR  DENIS", - "MONSIEUR ET MME", - "MONSIEUR!", - "MONSIEUR.", - "MONSIEUR.MADAME", - "MONSIEUR3", - "MONSIEURN", - "MONSIEURT", - "MONSIEUR£", - "MONSIEYR", - "Monsigur", - "MONSIIEUR", - "MONSIUER", - "MONSIZEUR", - "MOPNSIEUR", - "MOSIEUR", - "MR", - "Mr  Mme", - "Mr - MME", - "MR BLANC", - "MR ET MME", - "mr mm", - "MR OU MME", - "Mr.", - "MR/MME", - "MRME", - "MRR", - "Mrs", - "Mademoiselle", - "MADAOME", - "madamme", - "MADAME", - "M0NSIEUR", - "M.et Madame", - "M. ET MR", - "M.", - "M%", - "M MME", - "M ET MME", - "M", - "M CROCE", - "M DIEVART", -); - -/* - * Main - */ - -@set_time_limit(0); -print "***** " . $script_file . " (" . $version . ") pid=" . dol_getmypid() . " *****\n"; -dol_syslog($script_file . " launched with arg " . implode(',', $argv)); - -$table = $argv[1]; - -if (empty($argv[1])) { - print "Error: Quelle table ?\n"; - print "\n"; - exit(-1); -} - -$ret = $user->fetch('', 'admin'); -if (!$ret > 0) { - print 'A user with login "admin" and all permissions must be created to use this script.' . "\n"; - exit; -} - -$sql = "SELECT * FROM `$table` WHERE 1 "; //ORDER BY REMISE DESC,`LCIVIL` DESC"; -$resql = $db->query($sql); -//$db->begin(); -if ($resql) { - while ($fields = $db->fetch_array($resql)) { - $i++; - $errorrecord = 0; - - if ($startlinenb && $i < $startlinenb) { - continue; - } - if ($endlinenb && $i > $endlinenb) { - continue; - } - - $nboflines++; - - $object = new Societe($db); - $object->import_key = $fields['CODE']; - $object->state = 1; - $object->client = 3; - $object->fournisseur = 0; - - $object->name = $fields['FCIVIL'] . ' ' . $fields['FNOM']; - //$object->name_alias = $fields[0] != $fields[13] ? trim($fields[0]) : ''; - - $date = $fields['DATCREA'] ? $fields['DATCREA'] : ($fields['DATMOD'] ? $fields['DATMOD'] : '20200101'); - $object->code_client = 'CU' . substr($date, 2, 2) . substr($date, 4, 2) . '-' . str_pad(substr($fields['CODE'], 0, 5), 5, "0", STR_PAD_LEFT); - - - $object->address = trim($fields['FADR1']); - if ($fields['FADR2']) { - $object->address .= "\n" . trim($fields['FADR2']); - } - if ($fields['FADR3']) { - $object->address .= "\n" . trim($fields['FADR3']); - } - - $object->zip = trim($fields['FPOSTE']); - $object->town = trim($fields['FVILLE']); - if ($fields['FPAYS']) { - $object->country_id = dol_getIdFromCode($db, trim(ucwords(strtolower($fields['FPAYS']))), 'c_country', 'label', 'rowid'); - } else { - $object->country_id = 1; - } - $object->phone = trim($fields['FTEL']) ? trim($fields['FTEL']) : trim($fields['FCONTACT']); - $object->phone = substr($object->phone, 0, 20); - $object->fax = trim($fields['FFAX']) ? trim($fields['FFAX']) : trim($fields['FCONTACT']); - $object->fax = substr($object->fax, 0, 20); - $object->email = trim($fields['FMAIL']); - // $object->idprof2 = trim($fields[29]); - $object->tva_intra = str_replace(['.', ' '], '', $fields['TVAINTRA']); - $object->tva_intra = substr($object->tva_intra, 0, 20); - $object->default_lang = 'fr_FR'; - - $object->cond_reglement_id = dol_getIdFromCode($db, 'PT_ORDER', 'c_payment_term', 'code', 'rowid', 1); - $object->multicurrency_code = 'EUR'; - - if ($fields['REMISE'] != '0.00') { - $object->remise_percent = abs($fields['REMISE']); - } - - // $object->code_client = $fields[9]; - // $object->code_fournisseur = $fields[10]; - - - if ($fields['FCIVIL']) { - $labeltype = in_array($fields['FCIVIL'], $civilPrivate) ? 'TE_PRIVATE' : 'TE_SMALL'; - $object->typent_id = dol_getIdFromCode($db, $labeltype, 'c_typent', 'code'); - } - - // Set price level - $object->price_level = $fields['TARIF'] + 1; - // if ($labeltype == 'Revendeur') - // $object->price_level = 2; - - print "Process line nb " . $i . ", code " . $fields['CODE'] . ", name " . $object->name; - - - // Extrafields - $object->array_options['options_banque'] = $fields['BANQUE']; - $object->array_options['options_banque2'] = $fields['BANQUE2']; - $object->array_options['options_banquevalid'] = $fields['VALID']; - - if (!$errorrecord) { - $ret = $object->create($user); - if ($ret < 0) { - print " - Error in create result code = " . $ret . " - " . $object->errorsToString(); - $errorrecord++; - var_dump($object->code_client, $db); - die(); - } else { - print " - Creation OK with name " . $object->name . " - id = " . $ret; - } - } - - if (!$errorrecord) { - dol_syslog("Set price level"); - $object->set_price_level($object->price_level, $user); - } - if (!$errorrecord && @$object->remise_percent) { - dol_syslog("Set remise client"); - $object->set_remise_client($object->remise_percent, 'Importé', $user); - } - - dol_syslog("Add contact"); - // Insert an invoice contact if there is an invoice email != standard email - if (!$errorrecord && ($fields['LCIVIL'] || $fields['LNOM'])) { - $madame = array("MADAME", - "MADEMOISELLE", - "MELLE", - "MLLE", - "MM", - "Mme", - "MNE", - ); - $monsieur = array("M", - "M ET MME", - "M MME", - "M.", - "M. MME", - "M. OU Mme", - "M.ou Madame", - "MONSEUR", - "MONSIER", - "MONSIEU", - "MONSIEUR", - "monsieur:mme", - "MONSIEUR¨", - "MONSIEZUR", - "MONSIUER", - "MONSKIEUR", - "MR", - ); - $ret1 = $ret2 = 0; - - $contact = new Contact($db); - if (in_array($fields['LCIVIL'], $madame)) { - // une dame - $contact->civility_id = 'MME'; - $contact->lastname = $fields['LNOM']; - } elseif (in_array($fields['LCIVIL'], $monsieur)) { - // un monsieur - $contact->civility_id = 'MR'; - $contact->lastname = $fields['LNOM']; - } elseif (in_array($fields['LCIVIL'], ['DOCTEUR'])) { - // un monsieur - $contact->civility_id = 'DR'; - $contact->lastname = $fields['LNOM']; - } else { - // un a rattraper - $contact->lastname = $fields['LCIVIL'] . " " . $fields['LNOM']; - } - $contact->address = trim($fields['LADR1']); - if ($fields['LADR2']) { - $contact->address .= "\n" . trim($fields['LADR2']); - } - if ($fields['LADR3']) { - $contact->address .= "\n" . trim($fields['LADR3']); - } - - $contact->zip = trim($fields['LPOSTE']); - $contact->town = trim($fields['LVILLE']); - if ($fields['FPAYS']) { - $contact->country_id = dol_getIdFromCode($db, trim(ucwords(strtolower($fields['LPAYS']))), 'c_country', 'label', 'rowid'); - } else { - $contact->country_id = 1; - } - $contact->email = $fields['LMAIL']; - $contact->phone = trim($fields['LTEL']) ? trim($fields['LTEL']) : trim($fields['LCONTACT']); - $contact->fax = trim($fields['LFAX']) ? trim($fields['LFAX']) : trim($fields['LCONTACT']); - $contact->socid = $object->id; - - $ret1 = $contact->create($user); - if ($ret1 > 0) { - //$ret2=$contact->add_contact($object->id, 'BILLING'); - } - if ($ret1 < 0 || $ret2 < 0) { - print " - Error in create contact result code = " . $ret1 . " " . $ret2 . " - " . $contact->errorsToString(); - $errorrecord++; - } else { - print " - create contact OK"; - } - } - - - //update date créa - if (!$errorrecord) { - $datec = substr($date, 0, 4) . '-' . substr($date, 4, 2) . '-' . substr($date, 6, 2); - $retd = $db->query("UPDATE `llx_societe` SET `datec` = '$datec 00:00:00' WHERE `rowid` = $object->id"); - if ($retd < 1) { - print " - Error in update date créa result " . $object->errorsToString(); - $errorrecord++; - } else { - print " - update date créa OK"; - } - } - print "\n"; - - if ($errorrecord) { - print( 'Error on record nb ' . $i . " - " . $object->errorsToString() . "\n"); - var_dump($db, $object, $contact); - // $db->rollback(); - die(); - $error++; // $errorrecord will be reset - } - $j++; - } -} else { - die("error : $sql"); -} - -$db->commit(); - - - -// commit or rollback -print "Nb of lines qualified: " . $nboflines . "\n"; -print "Nb of errors: " . $error . "\n"; -$db->close(); - -exit($error); diff --git a/dev/initdata/dbf/includes/dbase.class.php b/dev/initdata/dbf/includes/dbase.class.php deleted file mode 100644 index a225d67cde9..00000000000 --- a/dev/initdata/dbf/includes/dbase.class.php +++ /dev/null @@ -1,599 +0,0 @@ -fd = $fd; - // Byte 4-7 (32-bit number): Number of records in the database file. Currently 0 - fseek($this->fd, 4, SEEK_SET); - $this->recordCount = self::getInt32($fd); - // Byte 8-9 (16-bit number): Number of bytes in the header. - fseek($this->fd, 8, SEEK_SET); - $this->headerLength = self::getInt16($fd); - // Number of fields is (headerLength - 33) / 32) - $this->fieldCount = ($this->headerLength - 33) / 32; - // Byte 10-11 (16-bit number): Number of bytes in record. - fseek($this->fd, 10, SEEK_SET); - $this->recordLength = self::getInt16($fd); - // Byte 32 - n (32 bytes each): Field descriptor array - fseek($fd, 32, SEEK_SET); - for ($i = 0; $i < $this->fieldCount; $i++) { - $data = fread($this->fd, 32); - $field = array_map('trim', unpack('a11name/a1type/c4/c1length/c1precision/s1workid/c1example/c10/c1production', $data)); - $this->fields[] = $field; - } - } - - /** - * dbase_close - * @return void - */ - public function close() - { - fclose($this->fd); - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * dbase_get_header_info - * @return array - */ - public function get_header_info() - { - // phpcs:disable - return $this->fields; - } - - /** - * dbase_numfields - * @return int - */ - public function numfields() - { - return $this->fieldCount; - } - - /** - * dbase_numrecords - * @return int - */ - public function numrecords() - { - return $this->recordCount; - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * dbase_add_record - * @param array $record record - * @return bool - */ - public function add_record($record) - { - // phpcs:enable - if (count($record) != $this->fieldCount) { - return false; - } - // Seek to end of file, minus the end of file marker - fseek($this->fd, 0, SEEK_END); - // Put the deleted flag - self::putChar8($this->fd, 0x20); - // Put the record - if (!$this->putRecord($record)) { - return false; - } - // Update the record count - fseek($this->fd, 4); - self::putInt32($this->fd, ++$this->recordCount); - return true; - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * dbase_replace_record - * @param array $record record - * @param int $record_number record number - * @return bool - */ - public function replace_record($record, $record_number) - { - // phpcs:enable - if (count($record) != $this->fieldCount) { - return false; - } - if ($record_number < 1 || $record_number > $this->recordCount) { - return false; - } - // Skip to the record location, plus the 1 byte for the deleted flag - fseek($this->fd, $this->headerLength + ($this->recordLength * ($record_number - 1)) + 1); - return $this->putRecord($record); - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * dbase_delete_record - * @param int $record_number record number - * @return bool - */ - public function delete_record($record_number) - { - // phpcs:enable - if ($record_number < 1 || $record_number > $this->recordCount) { - return false; - } - fseek($this->fd, $this->headerLength + ($this->recordLength * ($record_number - 1))); - self::putChar8($this->fd, 0x2A); - return true; - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * dbase_get_record - * @param int $record_number record number - * @return array - */ - public function get_record($record_number) - { - // phpcs:enable - if ($record_number < 1 || $record_number > $this->recordCount) { - return false; - } - fseek($this->fd, $this->headerLength + ($this->recordLength * ($record_number - 1))); - $record = array( - 'deleted' => self::getChar8($this->fd) == 0x2A ? 1 : 0 - ); - foreach ($this->fields as $i => &$field) { - $value = trim(fread($this->fd, $field['length'])); - if ($field['type'] == 'L') { - $value = strtolower($value); - if ($value == 't' || $value == 'y') { - $value = true; - } elseif ($value == 'f' || $value == 'n') { - $value = false; - } else { - $value = null; - } - } - $record[$i] = $value; - } - return $record; - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * dbase_get_record_with_names - * @param int $record_number record number - * @return array - */ - public function get_record_with_names($record_number) - { - // phpcs:enable - if ($record_number < 1 || $record_number > $this->recordCount) { - return false; - } - $record = $this->get_record($record_number); - foreach ($this->fields as $i => &$field) { - $record[$field['name']] = $record[$i]; - unset($record[$i]); - } - return $record; - } - - /** - * dbase_pack - * @return void - */ - public function pack() - { - $in_offset = $out_offset = $this->headerLength; - $new_count = 0; - $rec_count = $this->recordCount; - while ($rec_count > 0) { - fseek($this->fd, $in_offset, SEEK_SET); - $record = fread($this->fd, $this->recordLength); - $deleted = substr($record, 0, 1); - if ($deleted != '*') { - fseek($this->fd, $out_offset, SEEK_SET); - fwrite($this->fd, $record); - $out_offset += $this->recordLength; - $new_count++; - } - $in_offset += $this->recordLength; - $rec_count--; - } - ftruncate($this->fd, $out_offset); - // Update the record count - fseek($this->fd, 4); - self::putInt32($this->fd, $new_count); - } - - /* - * A few utilitiy functions - */ - - /** - * @param string $field field - * @return int - */ - private static function length($field) - { - switch ($field[1]) { - case 'D': // Date: Numbers and a character to separate month, day, and year (stored internally as 8 digits in YYYYMMDD format) - return 8; - case 'T': // DateTime (YYYYMMDDhhmmss.uuu) (FoxPro) - return 18; - case 'M': // Memo (ignored): All ASCII characters (stored internally as 10 digits representing a .dbt block number, right justified, padded with whitespaces) - case 'N': // Number: -.0123456789 (right justified, padded with whitespaces) - case 'F': // Float: -.0123456789 (right justified, padded with whitespaces) - case 'C': // String: All ASCII characters (padded with whitespaces up to the field's length) - return $field[2]; - case 'L': // Boolean: YyNnTtFf? (? when not initialized) - return 1; - } - return 0; - } - - /* - * Functions for reading and writing bytes - */ - - /** - * getChar8 - * @param mixed $fd file descriptor - * @return int - */ - private static function getChar8($fd) - { - return ord(fread($fd, 1)); - } - - /** - * putChar8 - * @param mixed $fd file descriptor - * @param mixed $value value - * @return bool - */ - private static function putChar8($fd, $value) - { - return fwrite($fd, chr($value)); - } - - /** - * getInt16 - * @param mixed $fd file descriptor - * @param int $n n - * @return bool - */ - private static function getInt16($fd, $n = 1) - { - $data = fread($fd, 2 * $n); - $i = unpack("S$n", $data); - if ($n == 1) { - return (int) $i[1]; - } else { - return array_merge($i); - } - } - - /** - * putInt16 - * @param mixed $fd file descriptor - * @param mixed $value value - * @return bool - */ - private static function putInt16($fd, $value) - { - return fwrite($fd, pack('S', $value)); - } - - /** - * getInt32 - * @param mixed $fd file descriptor - * @param int $n n - * @return bool - */ - private static function getInt32($fd, $n = 1) - { - $data = fread($fd, 4 * $n); - $i = unpack("L$n", $data); - if ($n == 1) { - return (int) $i[1]; - } else { - return array_merge($i); - } - } - - /** - * putint32 - * @param mixed $fd file descriptor - * @param mixed $value value - * @return bool - */ - private static function putInt32($fd, $value) - { - return fwrite($fd, pack('L', $value)); - } - - /** - * putString - * @param mixed $fd file descriptor - * @param mixed $value value - * @param int $length length - * @return bool - */ - private static function putString($fd, $value, $length = 254) - { - $ret = fwrite($fd, pack('A' . $length, $value)); - } - - /** - * putRecord - * @param mixed $record record - * @return bool - */ - private function putRecord($record) - { - foreach ($this->fields as $i => &$field) { - $value = $record[$i]; - // Number types are right aligned with spaces - if ($field['type'] == 'N' || $field['type'] == 'F' && strlen($value) < $field['length']) { - $value = str_repeat(' ', $field['length'] - strlen($value)) . $value; - } - self::putString($this->fd, $value, $field['length']); - } - return true; - } -} - -if (!function_exists('dbase_open')) { - /** - * dbase_open - * @param string $filename filename - * @param int $mode mode - * @return DBase - */ - function dbase_open($filename, $mode) - { - return DBase::open($filename, $mode); - } - - /** - * dbase_create - * @param string $filename filename - * @param array $fields fields - * @param int $type type - * @return DBase - */ - function dbase_create($filename, $fields, $type = DBASE_TYPE_DBASE) - { - return DBase::create($filename, $fields, $type); - } - - /** - * dbase_close - * @param Resource $dbase_identifier dbase identifier - * @return bool - */ - function dbase_close($dbase_identifier) - { - return $dbase_identifier->close(); - } - - /** - * dbase_get_header_info - * @param Resource $dbase_identifier dbase identifier - * @return string - */ - function dbase_get_header_info($dbase_identifier) - { - return $dbase_identifier->get_header_info(); - } - - /** - * dbase_numfields - * @param Resource $dbase_identifier dbase identifier - * @return int - */ - function dbase_numfields($dbase_identifier) - { - $dbase_identifier->numfields(); - } - - /** - * dbase_numrecords - * @param Resource $dbase_identifier dbase identifier - * @return int - */ - function dbase_numrecords($dbase_identifier) - { - return $dbase_identifier->numrecords(); - } - - /** - * dbase_add_record - * @param Resource $dbase_identifier dbase identifier - * @param array $record record - * @return bool - */ - function dbase_add_record($dbase_identifier, $record) - { - return $dbase_identifier->add_record($record); - } - - /** - * dbase_delete_record - * @param Resource $dbase_identifier dbase identifier - * @param int $record_number record number - * @return bool - */ - function dbase_delete_record($dbase_identifier, $record_number) - { - return $dbase_identifier->delete_record($record_number); - } - - /** - * dbase_replace_record - * @param Resource $dbase_identifier dbase identifier - * @param array $record record - * @param int $record_number record number - * @return bool - */ - function dbase_replace_record($dbase_identifier, $record, $record_number) - { - return $dbase_identifier->replace_record($record, $record_number); - } - - /** - * dbase_get_record - * @param Resource $dbase_identifier dbase identifier - * @param int $record_number record number - * @return bool - */ - function dbase_get_record($dbase_identifier, $record_number) - { - return $dbase_identifier->get_record($record_number); - } - - /** - * dbase_get_record_with_names - * @param Resource $dbase_identifier dbase identifier - * @param int $record_number record number - * @return bool - */ - function dbase_get_record_with_names($dbase_identifier, $record_number) - { - return $dbase_identifier->get_record_with_names($record_number); - } - - /** - * dbase_pack - * @param Resource $dbase_identifier dbase identifier - * @return bool - */ - function dbase_pack($dbase_identifier) - { - return $dbase_identifier->pack(); - } -} diff --git a/dev/initdemo/initdemopassword.sh b/dev/initdemo/initdemopassword.sh index 933c3b1afa2..37264fb8e4d 100755 --- a/dev/initdemo/initdemopassword.sh +++ b/dev/initdemo/initdemopassword.sh @@ -171,7 +171,10 @@ if [ $res -ne 0 ]; then fi if [ -s "$mydir/initdemopostsql.sql" ]; then + echo A file initdemopostsql.sql was found, we execute it. mysql -P$port $base < "$mydir/initdemopostsql.sql" +else + echo No file initdemopostsql.sql found, we extra sql action done. fi diff --git a/dev/initdemo/mysqldump_dolibarr_14.0.0.sql b/dev/initdemo/mysqldump_dolibarr_14.0.0.sql index 60a951dc679..e619c2c8fda 100644 --- a/dev/initdemo/mysqldump_dolibarr_14.0.0.sql +++ b/dev/initdemo/mysqldump_dolibarr_14.0.0.sql @@ -1,8 +1,8 @@ --- MySQL dump 10.17 Distrib 10.3.25-MariaDB, for debian-linux-gnu (x86_64) +-- MySQL dump 10.19 Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: localhost Database: dolibarr_14 -- ------------------------------------------------------ --- Server version 10.3.25-MariaDB-0ubuntu0.20.04.1 +-- Server version 10.3.29-MariaDB-0ubuntu0.20.04.1 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -102,7 +102,12 @@ CREATE TABLE `llx_accounting_bookkeeping` ( `date_lim_reglement` datetime DEFAULT NULL, `fk_user` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), - KEY `idx_accounting_bookkeeping_fk_doc` (`fk_doc`) + KEY `idx_accounting_bookkeeping_fk_doc` (`fk_doc`), + KEY `idx_accounting_bookkeeping_fk_docdet` (`fk_docdet`), + KEY `idx_accounting_bookkeeping_doc_date` (`doc_date`), + KEY `idx_accounting_bookkeeping_numero_compte` (`numero_compte`,`entity`), + KEY `idx_accounting_bookkeeping_code_journal` (`code_journal`,`entity`), + KEY `idx_accounting_bookkeeping_piece_num` (`piece_num`,`entity`) ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -273,7 +278,7 @@ CREATE TABLE `llx_accounting_system` ( `fk_country` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_accounting_system_pcg_version` (`pcg_version`) -) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -282,7 +287,7 @@ CREATE TABLE `llx_accounting_system` ( LOCK TABLES `llx_accounting_system` WRITE; /*!40000 ALTER TABLE `llx_accounting_system` DISABLE KEYS */; -INSERT INTO `llx_accounting_system` VALUES (1,'PCG99-ABREGE','The simple accountancy french plan',1,1),(2,'PCG99-BASE','The base accountancy french plan',1,1),(3,'PCMN-BASE','The base accountancy belgium plan',1,2),(4,'PCG08-PYME','The PYME accountancy spanish plan',1,4),(5,'PC-MIPYME','The PYME accountancy Chile plan',1,67),(6,'ENG-BASE','England plan',1,7),(7,'SYSCOHADA','Plan comptable Ouest-Africain',0,NULL),(39,'PCG14-DEV','The developed accountancy french plan 2014',1,1),(40,'PCG_SUISSE','Switzerland plan',1,6),(41,'PCN-LUXEMBURG','Plan comptable normalisé Luxembourgeois',1,140),(42,'DK-STD','Standardkontoplan fra SKAT',1,80),(43,'PCT','The Tunisia plan',1,10),(44,'PCG','The Moroccan chart of accounts',1,12),(47,'SYSCOHADA-BJ','Plan comptable Ouest-Africain',1,49),(48,'SYSCOHADA-BF','Plan comptable Ouest-Africain',1,60),(49,'SYSCOHADA-CM','Plan comptable Ouest-Africain',1,24),(50,'SYSCOHADA-CF','Plan comptable Ouest-Africain',1,65),(51,'SYSCOHADA-KM','Plan comptable Ouest-Africain',1,71),(52,'SYSCOHADA-CG','Plan comptable Ouest-Africain',1,72),(53,'SYSCOHADA-CI','Plan comptable Ouest-Africain',1,21),(54,'SYSCOHADA-GA','Plan comptable Ouest-Africain',1,16),(55,'SYSCOHADA-GQ','Plan comptable Ouest-Africain',1,87),(56,'SYSCOHADA-ML','Plan comptable Ouest-Africain',1,147),(57,'SYSCOHADA-NE','Plan comptable Ouest-Africain',1,168),(58,'SYSCOHADA-CD','Plan comptable Ouest-Africain',1,73),(59,'SYSCOHADA-SN','Plan comptable Ouest-Africain',1,22),(60,'SYSCOHADA-TD','Plan comptable Ouest-Africain',1,66),(61,'SYSCOHADA-TG','Plan comptable Ouest-Africain',1,15),(62,'RO-BASE','Plan de conturi romanesc',1,188),(63,'SKR03','Standardkontenrahmen SKR 03',1,5),(64,'SKR04','Standardkontenrahmen SKR 04',1,5),(65,'BAS-K1-MINI','The Swedish mini chart of accounts',1,20),(67,'PCG18-ASSOC','French foundation chart of accounts 2018',1,1),(68,'PCGAFR14-DEV','The developed farm accountancy french plan 2014',1,1),(69,'AT-BASE','Plan Austria',1,41); +INSERT INTO `llx_accounting_system` VALUES (1,'PCG99-ABREGE','The simple accountancy french plan',1,1),(2,'PCG99-BASE','The base accountancy french plan',1,1),(3,'PCMN-BASE','The base accountancy belgium plan',1,2),(4,'PCG08-PYME','The PYME accountancy spanish plan',1,4),(5,'PC-MIPYME','The PYME accountancy Chile plan',1,67),(6,'ENG-BASE','England plan',1,7),(7,'SYSCOHADA','Plan comptable Ouest-Africain',0,NULL),(39,'PCG14-DEV','The developed accountancy french plan 2014',1,1),(40,'PCG_SUISSE','Switzerland plan',1,6),(41,'PCN-LUXEMBURG','Plan comptable normalisé Luxembourgeois',1,140),(42,'DK-STD','Standardkontoplan fra SKAT',1,80),(43,'PCT','The Tunisia plan',1,10),(44,'PCG','The Moroccan chart of accounts',1,12),(47,'SYSCOHADA-BJ','Plan comptable Ouest-Africain',1,49),(48,'SYSCOHADA-BF','Plan comptable Ouest-Africain',1,60),(49,'SYSCOHADA-CM','Plan comptable Ouest-Africain',1,24),(50,'SYSCOHADA-CF','Plan comptable Ouest-Africain',1,65),(51,'SYSCOHADA-KM','Plan comptable Ouest-Africain',1,71),(52,'SYSCOHADA-CG','Plan comptable Ouest-Africain',1,72),(53,'SYSCOHADA-CI','Plan comptable Ouest-Africain',1,21),(54,'SYSCOHADA-GA','Plan comptable Ouest-Africain',1,16),(55,'SYSCOHADA-GQ','Plan comptable Ouest-Africain',1,87),(56,'SYSCOHADA-ML','Plan comptable Ouest-Africain',1,147),(57,'SYSCOHADA-NE','Plan comptable Ouest-Africain',1,168),(58,'SYSCOHADA-CD','Plan comptable Ouest-Africain',1,73),(59,'SYSCOHADA-SN','Plan comptable Ouest-Africain',1,22),(60,'SYSCOHADA-TD','Plan comptable Ouest-Africain',1,66),(61,'SYSCOHADA-TG','Plan comptable Ouest-Africain',1,15),(62,'RO-BASE','Plan de conturi romanesc',1,188),(63,'SKR03','Standardkontenrahmen SKR 03',1,5),(64,'SKR04','Standardkontenrahmen SKR 04',1,5),(65,'BAS-K1-MINI','The Swedish mini chart of accounts',1,20),(67,'PCG18-ASSOC','French foundation chart of accounts 2018',1,1),(68,'PCGAFR14-DEV','The developed farm accountancy french plan 2014',1,1),(69,'AT-BASE','Plan Austria',1,41),(70,'US-BASE','USA basic chart of accounts',1,11),(71,'CA-ENG-BASE','Canadian basic chart of accounts - English',1,14),(72,'SAT/24-2019','Catalogo y codigo agrupador fiscal del 2019',1,154); /*!40000 ALTER TABLE `llx_accounting_system` ENABLE KEYS */; UNLOCK TABLES; @@ -489,6 +494,7 @@ CREATE TABLE `llx_adherent` ( `state_id` int(11) DEFAULT NULL, `country` int(11) DEFAULT NULL, `email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `socialnetworks` text COLLATE utf8_unicode_ci DEFAULT NULL, `skype` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `phone` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, @@ -535,7 +541,7 @@ CREATE TABLE `llx_adherent` ( LOCK TABLES `llx_adherent` WRITE; /*!40000 ALTER TABLE `llx_adherent` DISABLE KEYS */; -INSERT INTO `llx_adherent` VALUES (1,'1',1,NULL,NULL,'Smith','Vick','vsmith','vsx1n8tf',NULL,2,'phy',NULL,10,NULL,NULL,NULL,NULL,102,'vsmith@email.com','[]',NULL,NULL,NULL,NULL,'1960-07-07','person5.jpeg',0,0,'2014-07-09 00:00:00',NULL,NULL,'2012-07-10 15:12:56','2012-07-08 23:50:00','2021-04-15 10:22:54',1,12,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'woman'),(2,'2',1,NULL,NULL,'Curie','Pierre','pcurie','pcuriedolibarr',NULL,2,'phy',NULL,12,NULL,NULL,NULL,NULL,NULL,'pcurie@example.com','[]',NULL,NULL,NULL,NULL,NULL,'pierrecurie.jpg',1,1,'2020-07-17 00:00:00',NULL,NULL,'2012-07-10 15:03:32','2012-07-10 15:03:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'3',1,NULL,NULL,'john','doe','john','8bs6gty5',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,1,'johndoe@email.com','[]',NULL,NULL,NULL,NULL,NULL,'person9.jpeg',1,0,'2014-07-17 00:00:00',NULL,NULL,'2013-07-18 21:28:00','2013-07-18 21:10:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'4',1,NULL,NULL,'smith','smith','Smith','s6hjp10f',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,11,'smith@email.com','[]',NULL,NULL,NULL,NULL,NULL,'person2.jpeg',1,0,'2018-07-17 00:00:00',NULL,NULL,'2013-07-18 21:27:52','2013-07-18 21:27:44','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `llx_adherent` VALUES (1,'1',1,NULL,NULL,'Smith','Vick','vsmith','vsx1n8tf',NULL,2,'phy',NULL,10,NULL,NULL,NULL,NULL,102,'vsmith@email.com',NULL,'[]',NULL,NULL,NULL,NULL,'1960-07-07','person5.jpeg',0,0,'2014-07-09 00:00:00',NULL,NULL,'2012-07-10 15:12:56','2012-07-08 23:50:00','2021-04-15 10:22:54',1,12,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'woman'),(2,'2',1,NULL,NULL,'Curie','Pierre','pcurie','pcuriedolibarr',NULL,2,'phy',NULL,12,NULL,NULL,NULL,NULL,NULL,'pcurie@example.com',NULL,'[]',NULL,NULL,NULL,NULL,NULL,'pierrecurie.jpg',1,1,'2020-07-17 00:00:00',NULL,NULL,'2012-07-10 15:03:32','2012-07-10 15:03:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'3',1,NULL,NULL,'john','doe','john','8bs6gty5',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,1,'johndoe@email.com',NULL,'[]',NULL,NULL,NULL,NULL,NULL,'person9.jpeg',1,0,'2014-07-17 00:00:00',NULL,NULL,'2013-07-18 21:28:00','2013-07-18 21:10:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'4',1,NULL,NULL,'smith','smith','Smith','s6hjp10f',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,11,'smith@email.com',NULL,'[]',NULL,NULL,NULL,NULL,NULL,'person2.jpeg',1,0,'2018-07-17 00:00:00',NULL,NULL,'2013-07-18 21:27:52','2013-07-18 21:27:44','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_adherent` ENABLE KEYS */; UNLOCK TABLES; @@ -584,6 +590,7 @@ CREATE TABLE `llx_adherent_type` ( `statut` smallint(6) NOT NULL DEFAULT 0, `libelle` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `subscription` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', + `amount` double(24,8) DEFAULT NULL, `vote` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `note` text COLLATE utf8_unicode_ci DEFAULT NULL, `mail_valid` text COLLATE utf8_unicode_ci DEFAULT NULL, @@ -600,7 +607,7 @@ CREATE TABLE `llx_adherent_type` ( LOCK TABLES `llx_adherent_type` WRITE; /*!40000 ALTER TABLE `llx_adherent_type` DISABLE KEYS */; -INSERT INTO `llx_adherent_type` VALUES (1,1,'2020-06-12 17:20:50',1,'Board members','1','1','','','','1y'),(2,1,'2020-06-12 17:21:21',1,'Standard members','1','1','','','','y'); +INSERT INTO `llx_adherent_type` VALUES (1,1,'2020-06-12 17:20:50',1,'Board members','1',NULL,'1','','','','1y'),(2,1,'2020-06-12 17:21:21',1,'Standard members','1',NULL,'1','','','','y'); /*!40000 ALTER TABLE `llx_adherent_type` ENABLE KEYS */; UNLOCK TABLES; @@ -865,7 +872,7 @@ CREATE TABLE `llx_bank` ( LOCK TABLES `llx_bank` WRITE; /*!40000 ALTER TABLE `llx_bank` DISABLE KEYS */; -INSERT INTO `llx_bank` VALUES (1,'2012-07-08 23:56:14','2020-12-10 12:24:23','2020-07-08','2020-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:00:24','2020-12-10 12:24:23','2020-07-09','2020-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-10 13:33:42','2020-12-10 12:24:23','2020-07-10','2020-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-18 20:50:24','2020-12-10 12:24:23','2020-07-08','2020-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,'2013-07-18 20:50:47','2020-12-10 12:24:23','2020-07-08','2020-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,'2013-08-01 03:34:11','2020-12-10 12:24:23','2020-08-15','2020-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2013-08-05 23:11:37','2020-12-10 12:24:23','2020-08-12','2020-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,'2013-08-06 20:33:54','2020-12-10 12:24:23','2020-08-06','2020-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,'2013-08-08 02:53:40','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12','2020-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06','2021-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20','2021-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,'2016-03-02 19:57:58','2020-12-10 12:24:23','2020-07-09','2020-07-09',605.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'111',NULL,NULL,NULL,NULL,NULL),(26,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19','2021-03-19',500.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21','2021-03-21',400.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'ABC and Co',NULL,NULL,NULL,NULL,NULL),(28,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03','2020-10-03',-400.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10','2021-03-10',-300.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,'2018-01-22 18:56:34','2021-04-15 10:22:31','2021-01-22','2021-01-22',-900.00000000,'(SupplierInvoicePayment)',1,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,'2018-07-30 22:42:14','2020-12-10 12:24:23','2020-07-30','2020-07-30',0.00000000,'(Initial balance)',4,0,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(32,'2017-02-01 19:02:44','2021-04-15 10:22:31','2021-02-01','2021-02-01',-200.00000000,'(SupplierInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(33,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22','2021-03-22',150.00000000,'(CustomerInvoicePayment)',1,12,NULL,'CHQ',NULL,NULL,0,NULL,2,NULL,'Magic Food Store',NULL,NULL,NULL,NULL,NULL),(34,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25','2021-03-25',140.00000000,'(CustomerInvoicePayment)',1,12,NULL,'PRE',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(36,'2017-02-16 02:22:09','2021-04-15 10:22:31','2021-02-16','2021-02-16',-1.00000000,'(ExpenseReportPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(37,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21','2021-02-21',50.00000000,'(WithdrawalPayment)',1,12,NULL,'PRE',NULL,'T170201',0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,'2017-09-06 20:08:36','2020-12-10 12:24:23','2020-09-06','2020-09-06',10.00000000,'(DonationPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(39,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16','2021-03-16',10.00000000,'(CustomerInvoicePayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Indian SAS',NULL,'',NULL,NULL,NULL),(41,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19','2021-01-19',5.63000000,'(CustomerInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(42,'2019-10-08 13:18:50','2020-12-10 12:24:23','2020-10-08','2020-10-08',-1000.00000000,'Salary payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(43,'2019-12-26 01:48:30','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(44,'2019-12-26 01:48:46','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(47,'2020-01-01 20:28:49','2021-04-15 10:22:31','2021-01-01','2021-01-01',304.69000000,'(SupplierInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(48,'2020-01-06 20:52:28','2021-04-15 10:22:31','2021-01-06','2021-01-06',10.00000000,'Patient payment',1,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,'Patient',NULL,'',NULL,NULL,NULL),(49,'2020-01-10 04:42:47','2021-04-15 10:22:31','2021-01-10','2021-01-10',-10.00000000,'Miscellaneous payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(50,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16','2021-01-16',20.50000000,'(CustomerInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'Magic Food Store',NULL,'',NULL,NULL,NULL),(51,'2020-01-21 01:02:14','2020-12-10 12:24:23','2020-07-18','2020-07-18',50.00000000,'Subscription 2013',4,12,NULL,'CB',NULL,'12345',0,NULL,0,'Bank CBN',NULL,NULL,'',NULL,NULL,NULL),(52,'2020-01-21 10:22:37','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'Subscription 2017',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'smith smith',NULL,'',NULL,NULL,NULL),(53,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(54,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(55,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL); +INSERT INTO `llx_bank` VALUES (1,'2012-07-08 23:56:14','2021-07-11 17:49:28','2021-07-08','2021-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:00:24','2021-07-11 17:49:28','2021-07-09','2021-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-10 13:33:42','2021-07-11 17:49:28','2021-07-10','2021-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-18 20:50:24','2021-07-11 17:49:28','2021-07-08','2021-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,'2013-07-18 20:50:47','2021-07-11 17:49:28','2021-07-08','2021-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,'2013-08-01 03:34:11','2020-12-10 12:24:23','2020-08-15','2020-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2013-08-05 23:11:37','2020-12-10 12:24:23','2020-08-12','2020-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,'2013-08-06 20:33:54','2020-12-10 12:24:23','2020-08-06','2020-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,'2013-08-08 02:53:40','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12','2020-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06','2021-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20','2021-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,'2016-03-02 19:57:58','2021-07-11 17:49:28','2021-07-09','2021-07-09',605.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'111',NULL,NULL,NULL,NULL,NULL),(26,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19','2021-03-19',500.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21','2021-03-21',400.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'ABC and Co',NULL,NULL,NULL,NULL,NULL),(28,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03','2020-10-03',-400.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10','2021-03-10',-300.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,'2018-01-22 18:56:34','2021-04-15 10:22:31','2021-01-22','2021-01-22',-900.00000000,'(SupplierInvoicePayment)',1,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,'2018-07-30 22:42:14','2020-12-10 12:24:23','2020-07-30','2020-07-30',0.00000000,'(Initial balance)',4,0,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(32,'2017-02-01 19:02:44','2021-04-15 10:22:31','2021-02-01','2021-02-01',-200.00000000,'(SupplierInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(33,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22','2021-03-22',150.00000000,'(CustomerInvoicePayment)',1,12,NULL,'CHQ',NULL,NULL,0,NULL,2,NULL,'Magic Food Store',NULL,NULL,NULL,NULL,NULL),(34,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25','2021-03-25',140.00000000,'(CustomerInvoicePayment)',1,12,NULL,'PRE',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(36,'2017-02-16 02:22:09','2021-04-15 10:22:31','2021-02-16','2021-02-16',-1.00000000,'(ExpenseReportPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(37,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21','2021-02-21',50.00000000,'(WithdrawalPayment)',1,12,NULL,'PRE',NULL,'T170201',0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,'2017-09-06 20:08:36','2020-12-10 12:24:23','2020-09-06','2020-09-06',10.00000000,'(DonationPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(39,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16','2021-03-16',10.00000000,'(CustomerInvoicePayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Indian SAS',NULL,'',NULL,NULL,NULL),(41,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19','2021-01-19',5.63000000,'(CustomerInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(42,'2019-10-08 13:18:50','2020-12-10 12:24:23','2020-10-08','2020-10-08',-1000.00000000,'Salary payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(43,'2019-12-26 01:48:30','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(44,'2019-12-26 01:48:46','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(47,'2020-01-01 20:28:49','2021-04-15 10:22:31','2021-01-01','2021-01-01',304.69000000,'(SupplierInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(48,'2020-01-06 20:52:28','2021-04-15 10:22:31','2021-01-06','2021-01-06',10.00000000,'Patient payment',1,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,'Patient',NULL,'',NULL,NULL,NULL),(49,'2020-01-10 04:42:47','2021-04-15 10:22:31','2021-01-10','2021-01-10',-10.00000000,'Miscellaneous payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(50,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16','2021-01-16',20.50000000,'(CustomerInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'Magic Food Store',NULL,'',NULL,NULL,NULL),(51,'2020-01-21 01:02:14','2020-12-10 12:24:23','2020-07-18','2020-07-18',50.00000000,'Subscription 2013',4,12,NULL,'CB',NULL,'12345',0,NULL,0,'Bank CBN',NULL,NULL,'',NULL,NULL,NULL),(52,'2020-01-21 10:22:37','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'Subscription 2017',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'smith smith',NULL,'',NULL,NULL,NULL),(53,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(54,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(55,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_bank` ENABLE KEYS */; UNLOCK TABLES; @@ -1335,7 +1342,7 @@ CREATE TABLE `llx_boxes` ( KEY `idx_boxes_boxid` (`box_id`), KEY `idx_boxes_fk_user` (`fk_user`), CONSTRAINT `fk_boxes_box_id` FOREIGN KEY (`box_id`) REFERENCES `llx_boxes_def` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=1453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1456 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1344,7 +1351,7 @@ CREATE TABLE `llx_boxes` ( LOCK TABLES `llx_boxes` WRITE; /*!40000 ALTER TABLE `llx_boxes` DISABLE KEYS */; -INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'A27',0,NULL,NULL),(315,1,348,0,'B20',0,NULL,NULL),(316,1,349,0,'B10',0,NULL,NULL),(317,1,350,0,'B18',0,NULL,NULL),(344,1,374,0,'B08',0,NULL,NULL),(347,1,377,0,'B16',0,NULL,NULL),(348,1,378,0,'B06',0,NULL,NULL),(358,1,388,0,'B38',0,NULL,NULL),(359,1,389,0,'A13',0,NULL,NULL),(360,1,390,0,'B36',0,NULL,NULL),(362,1,392,0,'A35',0,NULL,NULL),(363,1,393,0,'A11',0,NULL,NULL),(366,1,396,0,'B12',0,NULL,NULL),(387,1,403,0,'B22',0,NULL,NULL),(392,1,409,0,'A15',0,NULL,NULL),(393,1,410,0,'A33',0,NULL,NULL),(394,1,411,0,'A25',0,NULL,NULL),(395,1,412,0,'B30',0,NULL,NULL),(396,1,413,0,'A23',0,NULL,NULL),(397,1,414,0,'B28',0,NULL,NULL),(398,1,415,0,'A21',0,NULL,NULL),(399,1,416,0,'B26',0,NULL,NULL),(400,1,417,0,'A19',0,NULL,NULL),(401,1,418,0,'B24',0,NULL,NULL),(501,1,419,0,'A17',0,NULL,NULL),(1019,1,392,0,'A01',2,NULL,NULL),(1021,1,412,0,'A03',2,NULL,NULL),(1022,1,347,0,'A04',2,NULL,NULL),(1023,1,393,0,'A05',2,NULL,NULL),(1025,1,389,0,'A07',2,NULL,NULL),(1026,1,416,0,'A08',2,NULL,NULL),(1027,1,396,0,'B01',2,NULL,NULL),(1028,1,377,0,'B02',2,NULL,NULL),(1031,1,419,0,'B05',2,NULL,NULL),(1036,1,424,0,'A29',0,NULL,NULL),(1037,1,425,0,'B32',0,NULL,NULL),(1038,1,426,0,'B34',0,NULL,NULL),(1150,1,430,0,'A37',0,NULL,NULL),(1151,1,431,0,'A05',0,NULL,NULL),(1152,1,429,0,'A01',1,NULL,NULL),(1153,1,429,0,'B01',2,NULL,NULL),(1154,1,429,0,'A01',11,NULL,NULL),(1156,1,429,0,'A07',0,NULL,NULL),(1183,1,433,0,'A09',0,NULL,NULL),(1184,1,434,0,'B14',0,NULL,NULL),(1235,1,404,0,'B01',1,NULL,NULL),(1236,1,404,0,'B01',2,NULL,NULL),(1237,1,404,0,'B01',11,NULL,NULL),(1239,1,404,0,'A31',0,NULL,NULL),(1407,1,412,0,'A01',12,NULL,NULL),(1408,1,378,0,'A02',12,NULL,NULL),(1409,1,404,0,'A03',12,NULL,NULL),(1410,1,377,0,'A04',12,NULL,NULL),(1411,1,392,0,'B01',12,NULL,NULL),(1412,1,429,0,'B02',12,NULL,NULL),(1414,1,414,0,'B04',12,NULL,NULL),(1415,1,413,0,'B05',12,NULL,NULL),(1416,1,426,0,'B06',12,NULL,NULL),(1418,1,445,0,'B02',0,NULL,NULL),(1419,1,458,0,'A03',0,NULL,NULL),(1420,1,459,0,'B04',0,NULL,NULL),(1421,1,460,0,'A01',0,NULL,NULL),(1426,1,450,2,'A01',0,NULL,NULL),(1427,1,451,2,'B01',0,NULL,NULL),(1428,1,452,2,'A01',0,NULL,NULL),(1429,1,453,2,'B01',0,NULL,NULL),(1430,1,454,11,'A01',0,NULL,NULL),(1431,1,455,11,'B01',0,NULL,NULL),(1432,1,456,11,'A01',0,NULL,NULL),(1433,1,457,11,'B01',0,NULL,NULL),(1434,1,461,11,'A01',0,NULL,NULL),(1435,1,462,11,'B01',0,NULL,NULL),(1436,1,448,0,'A01',1,NULL,NULL),(1437,1,448,0,'B01',2,NULL,NULL),(1438,1,448,0,'A01',11,NULL,NULL),(1439,1,448,0,'A01',12,NULL,NULL),(1440,1,448,0,'A01',0,NULL,NULL),(1441,1,449,0,'B01',1,NULL,NULL),(1442,1,449,0,'A01',2,NULL,NULL),(1443,1,449,0,'B01',11,NULL,NULL),(1444,1,449,0,'A01',12,NULL,NULL),(1445,1,449,0,'B01',0,NULL,NULL),(1449,1,452,2,'A01',12,NULL,NULL),(1450,1,451,2,'B01',12,NULL,NULL),(1451,1,450,2,'B02',12,NULL,NULL),(1452,1,453,2,'B03',12,NULL,NULL); +INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'A27',0,NULL,NULL),(315,1,348,0,'B20',0,NULL,NULL),(316,1,349,0,'B10',0,NULL,NULL),(317,1,350,0,'B18',0,NULL,NULL),(344,1,374,0,'B08',0,NULL,NULL),(347,1,377,0,'B16',0,NULL,NULL),(348,1,378,0,'B06',0,NULL,NULL),(358,1,388,0,'B38',0,NULL,NULL),(359,1,389,0,'A13',0,NULL,NULL),(360,1,390,0,'B36',0,NULL,NULL),(362,1,392,0,'A35',0,NULL,NULL),(363,1,393,0,'A11',0,NULL,NULL),(366,1,396,0,'B12',0,NULL,NULL),(387,1,403,0,'B22',0,NULL,NULL),(392,1,409,0,'A15',0,NULL,NULL),(393,1,410,0,'A33',0,NULL,NULL),(394,1,411,0,'A25',0,NULL,NULL),(395,1,412,0,'B30',0,NULL,NULL),(396,1,413,0,'A23',0,NULL,NULL),(397,1,414,0,'B28',0,NULL,NULL),(398,1,415,0,'A21',0,NULL,NULL),(399,1,416,0,'B26',0,NULL,NULL),(400,1,417,0,'A19',0,NULL,NULL),(401,1,418,0,'B24',0,NULL,NULL),(501,1,419,0,'A17',0,NULL,NULL),(1019,1,392,0,'A01',2,NULL,NULL),(1021,1,412,0,'A03',2,NULL,NULL),(1022,1,347,0,'A04',2,NULL,NULL),(1023,1,393,0,'A05',2,NULL,NULL),(1025,1,389,0,'A07',2,NULL,NULL),(1026,1,416,0,'A08',2,NULL,NULL),(1027,1,396,0,'B01',2,NULL,NULL),(1028,1,377,0,'B02',2,NULL,NULL),(1031,1,419,0,'B05',2,NULL,NULL),(1036,1,424,0,'A29',0,NULL,NULL),(1037,1,425,0,'B32',0,NULL,NULL),(1038,1,426,0,'B34',0,NULL,NULL),(1150,1,430,0,'A37',0,NULL,NULL),(1151,1,431,0,'A05',0,NULL,NULL),(1152,1,429,0,'A01',1,NULL,NULL),(1153,1,429,0,'B01',2,NULL,NULL),(1154,1,429,0,'A01',11,NULL,NULL),(1156,1,429,0,'A07',0,NULL,NULL),(1183,1,433,0,'A09',0,NULL,NULL),(1184,1,434,0,'B14',0,NULL,NULL),(1235,1,404,0,'B01',1,NULL,NULL),(1236,1,404,0,'B01',2,NULL,NULL),(1237,1,404,0,'B01',11,NULL,NULL),(1239,1,404,0,'A31',0,NULL,NULL),(1407,1,412,0,'A01',12,NULL,NULL),(1408,1,378,0,'A02',12,NULL,NULL),(1409,1,404,0,'A03',12,NULL,NULL),(1410,1,377,0,'A04',12,NULL,NULL),(1411,1,392,0,'B01',12,NULL,NULL),(1412,1,429,0,'B02',12,NULL,NULL),(1414,1,414,0,'B04',12,NULL,NULL),(1415,1,413,0,'B05',12,NULL,NULL),(1416,1,426,0,'B06',12,NULL,NULL),(1418,1,445,0,'B02',0,NULL,NULL),(1426,1,450,2,'A01',0,NULL,NULL),(1427,1,451,2,'B01',0,NULL,NULL),(1428,1,452,2,'A01',0,NULL,NULL),(1429,1,453,2,'B01',0,NULL,NULL),(1430,1,454,11,'A01',0,NULL,NULL),(1431,1,455,11,'B01',0,NULL,NULL),(1432,1,456,11,'A01',0,NULL,NULL),(1433,1,457,11,'B01',0,NULL,NULL),(1434,1,461,11,'A01',0,NULL,NULL),(1435,1,462,11,'B01',0,NULL,NULL),(1436,1,448,0,'A01',1,NULL,NULL),(1437,1,448,0,'B01',2,NULL,NULL),(1438,1,448,0,'A01',11,NULL,NULL),(1439,1,448,0,'A01',12,NULL,NULL),(1440,1,448,0,'A01',0,NULL,NULL),(1441,1,449,0,'B01',1,NULL,NULL),(1442,1,449,0,'A01',2,NULL,NULL),(1443,1,449,0,'B01',11,NULL,NULL),(1444,1,449,0,'A01',12,NULL,NULL),(1445,1,449,0,'B01',0,NULL,NULL),(1449,1,452,2,'A01',12,NULL,NULL),(1450,1,451,2,'B01',12,NULL,NULL),(1451,1,450,2,'B02',12,NULL,NULL),(1452,1,453,2,'B03',12,NULL,NULL),(1453,1,467,0,'0',0,NULL,NULL),(1454,1,468,0,'0',0,NULL,NULL),(1455,1,469,0,'0',0,NULL,NULL); /*!40000 ALTER TABLE `llx_boxes` ENABLE KEYS */; UNLOCK TABLES; @@ -1363,7 +1370,7 @@ CREATE TABLE `llx_boxes_def` ( `note` varchar(130) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_boxes_def` (`file`,`entity`,`note`) -) ENGINE=InnoDB AUTO_INCREMENT=467 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=474 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1372,7 +1379,7 @@ CREATE TABLE `llx_boxes_def` ( LOCK TABLES `llx_boxes_def` WRITE; /*!40000 ALTER TABLE `llx_boxes_def` DISABLE KEYS */; -INSERT INTO `llx_boxes_def` VALUES (323,'box_actions.php',2,'2015-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2015-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2015-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2015-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2015-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2015-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2015-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2015-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2015-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2015-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2015-03-13 20:33:09',NULL),(347,'box_clients.php',1,'2017-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2017-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2017-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2017-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2017-11-15 22:38:37',NULL),(377,'box_project.php',1,'2017-11-15 22:38:44',NULL),(378,'box_task.php',1,'2017-11-15 22:38:44',NULL),(388,'box_contracts.php',1,'2017-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2017-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2017-11-15 22:39:56',NULL),(392,'box_graph_propales_permonth.php',1,'2017-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2017-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2017-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2018-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2018-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2018-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2018-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2018-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2018-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2018-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2018-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2018-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2018-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2018-07-30 15:42:32',NULL),(424,'box_factures_imp.php',1,'2017-02-07 18:56:12',NULL),(425,'box_factures.php',1,'2017-02-07 18:56:12',NULL),(426,'box_graph_invoices_permonth.php',1,'2017-02-07 18:56:12',NULL),(429,'box_lastlogin.php',1,'2017-08-27 13:29:14',NULL),(430,'box_bookmarks.php',1,'2018-01-19 11:27:34',NULL),(431,'box_members.php',1,'2018-01-19 11:27:56',NULL),(432,'box_birthdays.php',1,'2019-06-05 08:45:40',NULL),(433,'box_last_ticket',1,'2019-06-05 09:15:29',NULL),(434,'box_last_modified_ticket',1,'2019-06-05 09:15:29',NULL),(436,'box_accountancy_last_manual_entries.php',1,'2019-11-28 11:52:58',NULL),(437,'box_accountancy_suspense_account.php',1,'2019-11-28 11:52:58',NULL),(438,'box_supplier_orders_awaiting_reception.php',1,'2019-11-28 11:52:59',NULL),(445,'box_shipments.php',1,'2020-01-13 14:38:20',NULL),(446,'box_funnel_of_prospection.php',1,'2020-12-10 12:24:40',NULL),(447,'box_customers_outstanding_bill_reached.php',1,'2020-12-10 12:24:40',NULL),(448,'box_scheduled_jobs.php',1,'2021-04-15 10:22:49',NULL),(449,'box_dolibarr_state_board.php',1,'2021-04-15 10:22:54',NULL),(450,'box_members_last_modified.php',1,'2021-04-15 10:22:54',NULL),(451,'box_members_last_subscriptions.php',1,'2021-04-15 10:22:54',NULL),(452,'box_members_subscriptions_by_year.php',1,'2021-04-15 10:22:54',NULL),(453,'box_members_by_type.php',1,'2021-04-15 10:22:54',NULL),(454,'box_graph_ticket_by_severity.php',1,'2021-04-15 10:22:55',NULL),(455,'box_graph_nb_ticket_last_x_days.php',1,'2021-04-15 10:22:55',NULL),(456,'box_graph_nb_tickets_type.php',1,'2021-04-15 10:22:55',NULL),(457,'box_graph_new_vs_close_ticket.php',1,'2021-04-15 10:22:55',NULL),(458,'box_boms.php',1,'2021-04-15 10:22:58',NULL),(459,'box_comptes.php',1,'2021-04-15 10:22:58',NULL),(460,'box_mos.php',1,'2021-04-15 10:23:00',NULL),(461,'box_last_ticket.php',1,'2021-04-15 10:23:01',NULL),(462,'box_last_modified_ticket.php',1,'2021-04-15 10:23:01',NULL),(463,'box_ticket_by_severity.php',1,'2021-04-15 10:23:01',NULL),(464,'box_nb_ticket_last_x_days.php',1,'2021-04-15 10:23:01',NULL),(465,'box_nb_tickets_type.php',1,'2021-04-15 10:23:01',NULL),(466,'box_new_vs_close_ticket.php',1,'2021-04-15 10:23:01',NULL); +INSERT INTO `llx_boxes_def` VALUES (323,'box_actions.php',2,'2015-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2015-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2015-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2015-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2015-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2015-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2015-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2015-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2015-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2015-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2015-03-13 20:33:09',NULL),(347,'box_clients.php',1,'2017-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2017-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2017-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2017-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2017-11-15 22:38:37',NULL),(377,'box_project.php',1,'2017-11-15 22:38:44',NULL),(378,'box_task.php',1,'2017-11-15 22:38:44',NULL),(388,'box_contracts.php',1,'2017-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2017-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2017-11-15 22:39:56',NULL),(392,'box_graph_propales_permonth.php',1,'2017-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2017-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2017-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2018-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2018-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2018-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2018-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2018-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2018-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2018-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2018-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2018-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2018-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2018-07-30 15:42:32',NULL),(424,'box_factures_imp.php',1,'2017-02-07 18:56:12',NULL),(425,'box_factures.php',1,'2017-02-07 18:56:12',NULL),(426,'box_graph_invoices_permonth.php',1,'2017-02-07 18:56:12',NULL),(429,'box_lastlogin.php',1,'2017-08-27 13:29:14',NULL),(430,'box_bookmarks.php',1,'2018-01-19 11:27:34',NULL),(431,'box_members.php',1,'2018-01-19 11:27:56',NULL),(432,'box_birthdays.php',1,'2019-06-05 08:45:40',NULL),(433,'box_last_ticket',1,'2019-06-05 09:15:29',NULL),(434,'box_last_modified_ticket',1,'2019-06-05 09:15:29',NULL),(436,'box_accountancy_last_manual_entries.php',1,'2019-11-28 11:52:58',NULL),(437,'box_accountancy_suspense_account.php',1,'2019-11-28 11:52:58',NULL),(438,'box_supplier_orders_awaiting_reception.php',1,'2019-11-28 11:52:59',NULL),(445,'box_shipments.php',1,'2020-01-13 14:38:20',NULL),(446,'box_funnel_of_prospection.php',1,'2020-12-10 12:24:40',NULL),(447,'box_customers_outstanding_bill_reached.php',1,'2020-12-10 12:24:40',NULL),(448,'box_scheduled_jobs.php',1,'2021-04-15 10:22:49',NULL),(449,'box_dolibarr_state_board.php',1,'2021-04-15 10:22:54',NULL),(450,'box_members_last_modified.php',1,'2021-04-15 10:22:54',NULL),(451,'box_members_last_subscriptions.php',1,'2021-04-15 10:22:54',NULL),(452,'box_members_subscriptions_by_year.php',1,'2021-04-15 10:22:54',NULL),(453,'box_members_by_type.php',1,'2021-04-15 10:22:54',NULL),(454,'box_graph_ticket_by_severity.php',1,'2021-04-15 10:22:55',NULL),(455,'box_graph_nb_ticket_last_x_days.php',1,'2021-04-15 10:22:55',NULL),(456,'box_graph_nb_tickets_type.php',1,'2021-04-15 10:22:55',NULL),(457,'box_graph_new_vs_close_ticket.php',1,'2021-04-15 10:22:55',NULL),(461,'box_last_ticket.php',1,'2021-04-15 10:23:01',NULL),(462,'box_last_modified_ticket.php',1,'2021-04-15 10:23:01',NULL),(467,'box_boms.php',1,'2021-07-11 17:49:46',NULL),(468,'box_comptes.php',1,'2021-07-11 17:49:46',NULL),(469,'box_mos.php',1,'2021-07-11 17:49:47',NULL),(470,'box_ticket_by_severity.php',1,'2021-07-11 17:49:47',NULL),(471,'box_nb_ticket_last_x_days.php',1,'2021-07-11 17:49:47',NULL),(472,'box_nb_tickets_type.php',1,'2021-07-11 17:49:47',NULL),(473,'box_new_vs_close_ticket.php',1,'2021-07-11 17:49:47',NULL); /*!40000 ALTER TABLE `llx_boxes_def` ENABLE KEYS */; UNLOCK TABLES; @@ -1492,7 +1499,7 @@ CREATE TABLE `llx_c_action_trigger` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_action_trigger_code` (`code`), KEY `idx_action_trigger_rang` (`rang`) -) ENGINE=InnoDB AUTO_INCREMENT=392 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=394 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1501,7 +1508,7 @@ CREATE TABLE `llx_c_action_trigger` ( LOCK TABLES `llx_c_action_trigger` WRITE; /*!40000 ALTER TABLE `llx_c_action_trigger` DISABLE KEYS */; -INSERT INTO `llx_c_action_trigger` VALUES (131,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1),(132,'COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1),(133,'PROPAL_VALIDATE','Customer proposal validated','Executed when a commercial proposal is validated','propal',2),(134,'PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3),(135,'ORDER_VALIDATE','Customer order validate','Executed when a customer order is validated','commande',4),(136,'ORDER_CLOSE','Customer order classify delivered','Executed when a customer order is set delivered','commande',5),(137,'ORDER_CLASSIFY_BILLED','Customer order classify billed','Executed when a customer order is set to billed','commande',5),(138,'ORDER_CANCEL','Customer order canceled','Executed when a customer order is canceled','commande',5),(139,'ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5),(140,'BILL_VALIDATE','Customer invoice validated','Executed when a customer invoice is approved','facture',6),(141,'BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7),(142,'BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8),(143,'BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9),(144,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10),(145,'ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(146,'ORDER_SUPPLIER_APPROVE','Supplier order request approved','Executed when a supplier order is approved','order_supplier',12),(147,'ORDER_SUPPLIER_REFUSE','Supplier order request refused','Executed when a supplier order is refused','order_supplier',13),(148,'ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',14),(149,'BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',15),(150,'BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',16),(151,'BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',17),(152,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',17),(153,'CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',18),(154,'SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',20),(155,'SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',21),(156,'MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',22),(158,'MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',24),(159,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',24),(160,'MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',25),(161,'FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',19),(162,'FICHINTER_CLASSIFY_BILLED','Intervention set billed','Executed when a intervention is set to billed (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(163,'FICHINTER_CLASSIFY_UNBILLED','Intervention set unbilled','Executed when a intervention is set to unbilled (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(164,'FICHINTER_REOPEN','Intervention opened','Executed when a intervention is re-opened','ficheinter',19),(165,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',19),(166,'PROJECT_CREATE','Project creation','Executed when a project is created','project',140),(167,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',2),(168,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',2),(169,'PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2),(170,'TASK_CREATE','Task created','Executed when a project task is created','project',35),(171,'TASK_MODIFY','Task modified','Executed when a project task is modified','project',36),(172,'TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37),(173,'BILL_SUPPLIER_UNVALIDATE','Supplier invoice unvalidated','Executed when a supplier invoice status is set back to draft','invoice_supplier',15),(174,'PROJECT_MODIFY','Project modified','Executed when a project is modified','project',141),(175,'PROJECT_DELETE','Project deleted','Executed when a project is deleted','project',142),(176,'ORDER_SUPPLIER_CREATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(177,'ORDER_SUPPLIER_SUBMIT','Supplier order request submited','Executed when a supplier order is approved','order_supplier',12),(178,'ORDER_SUPPLIER_RECEIVE','Supplier order request received','Executed when a supplier order is received','order_supplier',12),(179,'ORDER_SUPPLIER_CLASSIFY_BILLED','Supplier order set billed','Executed when a supplier order is set as billed','order_supplier',14),(180,'PRODUCT_CREATE','Product or service created','Executed when a product or sevice is created','product',30),(181,'PRODUCT_MODIFY','Product or service modified','Executed when a product or sevice is modified','product',30),(182,'PRODUCT_DELETE','Product or service deleted','Executed when a product or sevice is deleted','product',30),(183,'EXPENSE_REPORT_CREATE','Expense report created','Executed when an expense report is created','expensereport',201),(185,'EXPENSE_REPORT_VALIDATE','Expense report validated','Executed when an expense report is validated','expensereport',202),(186,'EXPENSE_REPORT_APPROVE','Expense report approved','Executed when an expense report is approved','expensereport',203),(187,'EXPENSE_REPORT_PAID','Expense report billed','Executed when an expense report is set as billed','expensereport',204),(192,'HOLIDAY_CREATE','Leave request created','Executed when a leave request is created','holiday',221),(193,'HOLIDAY_VALIDATE','Leave request validated','Executed when a leave request is validated','holiday',222),(194,'HOLIDAY_APPROVE','Leave request approved','Executed when a leave request is approved','holiday',223),(210,'MEMBER_SENTBYMAIL','Mails sent from member card','Executed when you send email from member card','member',23),(211,'CONTRACT_SENTBYMAIL','Contract sent by mail','Executed when a contract is sent by mail','contrat',18),(212,'PROPOSAL_SUPPLIER_VALIDATE','Price request validated','Executed when a commercial proposal is validated','proposal_supplier',10),(213,'PROPOSAL_SUPPLIER_SENTBYMAIL','Price request sent by mail','Executed when a commercial proposal is sent by mail','proposal_supplier',10),(214,'PROPOSAL_SUPPLIER_CLOSE_SIGNED','Price request closed signed','Executed when a customer proposal is closed signed','proposal_supplier',10),(215,'PROPOSAL_SUPPLIER_CLOSE_REFUSED','Price request closed refused','Executed when a customer proposal is closed refused','proposal_supplier',10),(216,'MEMBER_SUBSCRIPTION_CREATE','Member subscribtion recorded','Executed when a member subscribtion is deleted','member',24),(217,'MEMBER_SUBSCRIPTION_MODIFY','Member subscribtion modified','Executed when a member subscribtion is modified','member',24),(218,'MEMBER_SUBSCRIPTION_DELETE','Member subscribtion deleted','Executed when a member subscribtion is deleted','member',24),(225,'COMPANY_DELETE','Third party deleted','Executed when you delete third party','societe',1),(226,'PROPAL_DELETE','Customer proposal deleted','Executed when a customer proposal is deleted','propal',2),(227,'ORDER_DELETE','Customer order deleted','Executed when a customer order is deleted','commande',5),(228,'BILL_DELETE','Customer invoice deleted','Executed when a customer invoice is deleted','facture',9),(229,'PROPOSAL_SUPPLIER_DELETE','Price request deleted','Executed when a customer proposal delete','proposal_supplier',10),(230,'ORDER_SUPPLIER_DELETE','Supplier order deleted','Executed when a supplier order is deleted','order_supplier',14),(231,'BILL_SUPPLIER_DELETE','Supplier invoice deleted','Executed when a supplier invoice is deleted','invoice_supplier',17),(232,'CONTRACT_DELETE','Contract deleted','Executed when a contract is deleted','contrat',18),(233,'FICHINTER_DELETE','Intervention is deleted','Executed when a intervention is deleted','ficheinter',35),(234,'EXPENSE_REPORT_DELETE','Expense report deleted','Executed when an expense report is deleted','expensereport',204),(249,'TICKET_CREATE','Ticket created','Executed when a ticket is created','ticket',161),(250,'TICKET_MODIFY','Ticket modified','Executed when a ticket is modified','ticket',163),(251,'TICKET_ASSIGNED','Ticket assigned','Executed when a ticket is assigned to another user','ticket',164),(252,'TICKET_CLOSE','Ticket closed','Executed when a ticket is closed','ticket',165),(253,'TICKET_SENTBYMAIL','Ticket message sent by email','Executed when a message is sent from the ticket record','ticket',166),(254,'TICKET_DELETE','Ticket deleted','Executed when a ticket is deleted','ticket',167),(261,'USER_SENTBYMAIL','Email sent','Executed when an email is sent from user card','user',300),(262,'BOM_VALIDATE','BOM validated','Executed when a BOM is validated','bom',650),(263,'BOM_UNVALIDATE','BOM unvalidated','Executed when a BOM is unvalidated','bom',651),(264,'BOM_CLOSE','BOM disabled','Executed when a BOM is disabled','bom',652),(265,'BOM_REOPEN','BOM reopen','Executed when a BOM is re-open','bom',653),(266,'BOM_DELETE','BOM deleted','Executed when a BOM deleted','bom',654),(351,'MRP_MO_VALIDATE','MO validated','Executed when a MO is validated','bom',660),(352,'MRP_MO_PRODUCED','MO produced','Executed when a MO is produced','bom',661),(353,'MRP_MO_DELETE','MO deleted','Executed when a MO is deleted','bom',662),(354,'MRP_MO_CANCEL','MO canceled','Executed when a MO is canceled','bom',663),(365,'CONTACT_CREATE','Contact address created','Executed when a contact is created','contact',50),(366,'CONTACT_SENTBYMAIL','Mails sent from third party card','Executed when you send email from contact adress card','contact',51),(367,'CONTACT_DELETE','Contact address deleted','Executed when a contact is deleted','contact',52),(368,'RECRUITMENTJOBPOSITION_CREATE','Job created','Executed when a job is created','recruitment',7500),(369,'RECRUITMENTJOBPOSITION_MODIFY','Job modified','Executed when a job is modified','recruitment',7502),(370,'RECRUITMENTJOBPOSITION_SENTBYMAIL','Mails sent from job record','Executed when you send email from job record','recruitment',7504),(371,'RECRUITMENTJOBPOSITION_DELETE','Job deleted','Executed when a job is deleted','recruitment',7506),(372,'RECRUITMENTCANDIDATURE_CREATE','Candidature created','Executed when a candidature is created','recruitment',7510),(373,'RECRUITMENTCANDIDATURE_MODIFY','Candidature modified','Executed when a candidature is modified','recruitment',7512),(374,'RECRUITMENTCANDIDATURE_SENTBYMAIL','Mails sent from candidature record','Executed when you send email from candidature record','recruitment',7514),(375,'RECRUITMENTCANDIDATURE_DELETE','Candidature deleted','Executed when a candidature is deleted','recruitment',7516); +INSERT INTO `llx_c_action_trigger` VALUES (131,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1),(132,'COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1),(133,'PROPAL_VALIDATE','Customer proposal validated','Executed when a commercial proposal is validated','propal',2),(134,'PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3),(135,'ORDER_VALIDATE','Customer order validate','Executed when a customer order is validated','commande',4),(136,'ORDER_CLOSE','Customer order classify delivered','Executed when a customer order is set delivered','commande',5),(137,'ORDER_CLASSIFY_BILLED','Customer order classify billed','Executed when a customer order is set to billed','commande',5),(138,'ORDER_CANCEL','Customer order canceled','Executed when a customer order is canceled','commande',5),(139,'ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5),(140,'BILL_VALIDATE','Customer invoice validated','Executed when a customer invoice is approved','facture',6),(141,'BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7),(142,'BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8),(143,'BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9),(144,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10),(145,'ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(146,'ORDER_SUPPLIER_APPROVE','Supplier order request approved','Executed when a supplier order is approved','order_supplier',12),(147,'ORDER_SUPPLIER_REFUSE','Supplier order request refused','Executed when a supplier order is refused','order_supplier',13),(148,'ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',14),(149,'BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',15),(150,'BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',16),(151,'BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',17),(152,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',17),(153,'CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',18),(154,'SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',20),(155,'SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',21),(156,'MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',22),(158,'MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',24),(159,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',24),(160,'MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',25),(161,'FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',19),(162,'FICHINTER_CLASSIFY_BILLED','Intervention set billed','Executed when a intervention is set to billed (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(163,'FICHINTER_CLASSIFY_UNBILLED','Intervention set unbilled','Executed when a intervention is set to unbilled (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(164,'FICHINTER_REOPEN','Intervention opened','Executed when a intervention is re-opened','ficheinter',19),(165,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',19),(166,'PROJECT_CREATE','Project creation','Executed when a project is created','project',140),(167,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',2),(168,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',2),(169,'PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2),(170,'TASK_CREATE','Task created','Executed when a project task is created','project',35),(171,'TASK_MODIFY','Task modified','Executed when a project task is modified','project',36),(172,'TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37),(173,'BILL_SUPPLIER_UNVALIDATE','Supplier invoice unvalidated','Executed when a supplier invoice status is set back to draft','invoice_supplier',15),(174,'PROJECT_MODIFY','Project modified','Executed when a project is modified','project',141),(175,'PROJECT_DELETE','Project deleted','Executed when a project is deleted','project',142),(176,'ORDER_SUPPLIER_CREATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(177,'ORDER_SUPPLIER_SUBMIT','Supplier order request submited','Executed when a supplier order is approved','order_supplier',12),(178,'ORDER_SUPPLIER_RECEIVE','Supplier order request received','Executed when a supplier order is received','order_supplier',12),(179,'ORDER_SUPPLIER_CLASSIFY_BILLED','Supplier order set billed','Executed when a supplier order is set as billed','order_supplier',14),(180,'PRODUCT_CREATE','Product or service created','Executed when a product or sevice is created','product',30),(181,'PRODUCT_MODIFY','Product or service modified','Executed when a product or sevice is modified','product',30),(182,'PRODUCT_DELETE','Product or service deleted','Executed when a product or sevice is deleted','product',30),(183,'EXPENSE_REPORT_CREATE','Expense report created','Executed when an expense report is created','expensereport',201),(185,'EXPENSE_REPORT_VALIDATE','Expense report validated','Executed when an expense report is validated','expensereport',202),(186,'EXPENSE_REPORT_APPROVE','Expense report approved','Executed when an expense report is approved','expensereport',203),(187,'EXPENSE_REPORT_PAID','Expense report billed','Executed when an expense report is set as billed','expensereport',204),(192,'HOLIDAY_CREATE','Leave request created','Executed when a leave request is created','holiday',221),(193,'HOLIDAY_VALIDATE','Leave request validated','Executed when a leave request is validated','holiday',222),(194,'HOLIDAY_APPROVE','Leave request approved','Executed when a leave request is approved','holiday',223),(210,'MEMBER_SENTBYMAIL','Mails sent from member card','Executed when you send email from member card','member',23),(211,'CONTRACT_SENTBYMAIL','Contract sent by mail','Executed when a contract is sent by mail','contrat',18),(212,'PROPOSAL_SUPPLIER_VALIDATE','Price request validated','Executed when a commercial proposal is validated','proposal_supplier',10),(213,'PROPOSAL_SUPPLIER_SENTBYMAIL','Price request sent by mail','Executed when a commercial proposal is sent by mail','proposal_supplier',10),(214,'PROPOSAL_SUPPLIER_CLOSE_SIGNED','Price request closed signed','Executed when a customer proposal is closed signed','proposal_supplier',10),(215,'PROPOSAL_SUPPLIER_CLOSE_REFUSED','Price request closed refused','Executed when a customer proposal is closed refused','proposal_supplier',10),(216,'MEMBER_SUBSCRIPTION_CREATE','Member subscribtion recorded','Executed when a member subscribtion is deleted','member',24),(217,'MEMBER_SUBSCRIPTION_MODIFY','Member subscribtion modified','Executed when a member subscribtion is modified','member',24),(218,'MEMBER_SUBSCRIPTION_DELETE','Member subscribtion deleted','Executed when a member subscribtion is deleted','member',24),(225,'COMPANY_DELETE','Third party deleted','Executed when you delete third party','societe',1),(226,'PROPAL_DELETE','Customer proposal deleted','Executed when a customer proposal is deleted','propal',2),(227,'ORDER_DELETE','Customer order deleted','Executed when a customer order is deleted','commande',5),(228,'BILL_DELETE','Customer invoice deleted','Executed when a customer invoice is deleted','facture',9),(229,'PROPOSAL_SUPPLIER_DELETE','Price request deleted','Executed when a customer proposal delete','proposal_supplier',10),(230,'ORDER_SUPPLIER_DELETE','Supplier order deleted','Executed when a supplier order is deleted','order_supplier',14),(231,'BILL_SUPPLIER_DELETE','Supplier invoice deleted','Executed when a supplier invoice is deleted','invoice_supplier',17),(232,'CONTRACT_DELETE','Contract deleted','Executed when a contract is deleted','contrat',18),(233,'FICHINTER_DELETE','Intervention is deleted','Executed when a intervention is deleted','ficheinter',35),(234,'EXPENSE_REPORT_DELETE','Expense report deleted','Executed when an expense report is deleted','expensereport',204),(249,'TICKET_CREATE','Ticket created','Executed when a ticket is created','ticket',161),(250,'TICKET_MODIFY','Ticket modified','Executed when a ticket is modified','ticket',163),(251,'TICKET_ASSIGNED','Ticket assigned','Executed when a ticket is assigned to another user','ticket',164),(252,'TICKET_CLOSE','Ticket closed','Executed when a ticket is closed','ticket',165),(253,'TICKET_SENTBYMAIL','Ticket message sent by email','Executed when a message is sent from the ticket record','ticket',166),(254,'TICKET_DELETE','Ticket deleted','Executed when a ticket is deleted','ticket',167),(261,'USER_SENTBYMAIL','Email sent','Executed when an email is sent from user card','user',300),(262,'BOM_VALIDATE','BOM validated','Executed when a BOM is validated','bom',650),(263,'BOM_UNVALIDATE','BOM unvalidated','Executed when a BOM is unvalidated','bom',651),(264,'BOM_CLOSE','BOM disabled','Executed when a BOM is disabled','bom',652),(265,'BOM_REOPEN','BOM reopen','Executed when a BOM is re-open','bom',653),(266,'BOM_DELETE','BOM deleted','Executed when a BOM deleted','bom',654),(351,'MRP_MO_VALIDATE','MO validated','Executed when a MO is validated','bom',660),(352,'MRP_MO_PRODUCED','MO produced','Executed when a MO is produced','bom',661),(353,'MRP_MO_DELETE','MO deleted','Executed when a MO is deleted','bom',662),(354,'MRP_MO_CANCEL','MO canceled','Executed when a MO is canceled','bom',663),(365,'CONTACT_CREATE','Contact address created','Executed when a contact is created','contact',50),(366,'CONTACT_SENTBYMAIL','Mails sent from third party card','Executed when you send email from contact adress card','contact',51),(367,'CONTACT_DELETE','Contact address deleted','Executed when a contact is deleted','contact',52),(368,'RECRUITMENTJOBPOSITION_CREATE','Job created','Executed when a job is created','recruitment',7500),(369,'RECRUITMENTJOBPOSITION_MODIFY','Job modified','Executed when a job is modified','recruitment',7502),(370,'RECRUITMENTJOBPOSITION_SENTBYMAIL','Mails sent from job record','Executed when you send email from job record','recruitment',7504),(371,'RECRUITMENTJOBPOSITION_DELETE','Job deleted','Executed when a job is deleted','recruitment',7506),(372,'RECRUITMENTCANDIDATURE_CREATE','Candidature created','Executed when a candidature is created','recruitment',7510),(373,'RECRUITMENTCANDIDATURE_MODIFY','Candidature modified','Executed when a candidature is modified','recruitment',7512),(374,'RECRUITMENTCANDIDATURE_SENTBYMAIL','Mails sent from candidature record','Executed when you send email from candidature record','recruitment',7514),(375,'RECRUITMENTCANDIDATURE_DELETE','Candidature deleted','Executed when a candidature is deleted','recruitment',7516),(392,'COMPANY_MODIFY','Third party update','Executed when you update third party','societe',1),(393,'CONTACT_MODIFY','Contact address update','Executed when a contact is updated','contact',51); /*!40000 ALTER TABLE `llx_c_action_trigger` ENABLE KEYS */; UNLOCK TABLES; @@ -1582,7 +1589,7 @@ CREATE TABLE `llx_c_barcode_type` ( `example` varchar(16) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_barcode_type` (`code`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1864,7 +1871,7 @@ CREATE TABLE `llx_c_email_templates` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_email_templates` (`entity`,`label`,`lang`), KEY `idx_type` (`type_template`) -) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1873,7 +1880,7 @@ CREATE TABLE `llx_c_email_templates` ( LOCK TABLES `llx_c_email_templates` WRITE; /*!40000 ALTER TABLE `llx_c_email_templates` DISABLE KEYS */; -INSERT INTO `llx_c_email_templates` VALUES (1,1,NULL,'propal_send','',1,NULL,NULL,'2018-01-19 11:17:48','My Private email template for proposals',1,1,'Hello __FIRSTNAME__','We wish you a happy new year
__USER_SIGNATURE__',NULL,'1','1'),(2,0,'adherent','member','',0,NULL,NULL,'2018-01-19 11:17:48','(SendAnEMailToMember)',1,1,'__(CardContent)__','__(Hello)__,

\n\n__(ThisIsContentOfYourCard)__
\n__(ID)__ : __ID__
\n__(Civiliyty)__ : __MEMBER_CIVILITY__
\n__(Firstname)__ : __MEMBER_FIRSTNAME__
\n__(Lastname)__ : __MEMBER_LASTNAME__
\n__(Fullname)__ : __MEMBER_FULLNAME__
\n__(Company)__ : __MEMBER_COMPANY__
\n__(Address)__ : __MEMBER_ADDRESS__
\n__(Zip)__ : __MEMBER_ZIP__
\n__(Town)__ : __MEMBER_TOWN__
\n__(Country)__ : __MEMBER_COUNTRY__
\n__(Email)__ : __MEMBER_EMAIL__
\n__(Birthday)__ : __MEMBER_BIRTH__
\n__(Photo)__ : __MEMBER_PHOTO__
\n__(Login)__ : __MEMBER_LOGIN__
\n__(Password)__ : __MEMBER_PASSWORD__
\n__(Phone)__ : __MEMBER_PHONE__
\n__(PhonePerso)__ : __MEMBER_PHONEPRO__
\n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','1'),(3,0,'banque','thirdparty','',0,NULL,NULL,'2018-01-19 11:17:48','(YourSEPAMandate)',1,0,'__(YourSEPAMandate)__','__(Hello)__,

\n\n__(FindYourSEPAMandate)__ :
\n__MYCOMPANY_NAME__
\n__MYCOMPANY_FULLADDRESS__

\n__(Sincerely)__
\n__USER_SIGNATURE__',NULL,'1','1'),(6,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnAutoSubscription)',10,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipRequestWasReceived)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfYourMembershipRequestWasReceived)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(7,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnMemberValidation)',20,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasValidated)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfYourMembershipWasValidated)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(8,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnNewSubscription)',30,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__
\n\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','1'),(9,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingReminderForExpiredSubscription)',40,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfSubscriptionReminderEmail)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(10,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnCancelation)',50,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(YourMembershipWasCanceled)__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(11,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingAnEMailToMember)',60,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(CardContent)__','__(Hello)__,

\n\n__(ThisIsContentOfYourCard)__
\n__(ID)__ : __ID__
\n__(Civiliyty)__ : __MEMBER_CIVILITY__
\n__(Firstname)__ : __MEMBER_FIRSTNAME__
\n__(Lastname)__ : __MEMBER_LASTNAME__
\n__(Fullname)__ : __MEMBER_FULLNAME__
\n__(Company)__ : __MEMBER_COMPANY__
\n__(Address)__ : __MEMBER_ADDRESS__
\n__(Zip)__ : __MEMBER_ZIP__
\n__(Town)__ : __MEMBER_TOWN__
\n__(Country)__ : __MEMBER_COUNTRY__
\n__(Email)__ : __MEMBER_EMAIL__
\n__(Birthday)__ : __MEMBER_BIRTH__
\n__(Photo)__ : __MEMBER_PHOTO__
\n__(Login)__ : __MEMBER_LOGIN__
\n__(Password)__ : __MEMBER_PASSWORD__
\n__(Phone)__ : __MEMBER_PHONE__
\n__(PhonePerso)__ : __MEMBER_PHONEPRO__
\n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(12,0,'recruitment','recruitmentcandidature_send','',0,NULL,NULL,'2020-12-10 12:24:39','(AnswerCandidature)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourCandidature)__','__(Hello)__ __CANDIDATE_FULLNAME__,

\n\n__(YourCandidatureAnswer)__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'$conf->recruitment->enabled','0'),(14,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailAskConf',10,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(15,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailAskBooth',20,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(16,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailSubsBooth',30,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsBooth)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(17,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailSubsEvent',40,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsEvent)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(18,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationMassEmailAttendees',50,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(19,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationMassEmailSpeakers',60,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(20,0,'partnership','member',NULL,0,NULL,NULL,'2021-04-15 10:22:55','(AlertStatusPartnershipExpiration)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourMembershipWillSoonExpireTopic)__','\n

Dear __MEMBER_FULLNAME__,

\n__(YourMembershipWillSoonExpireContent)__

\n
\n\n __(Sincerely)__
\n __[PARTNERSHIP_SOCIETE_NOM]__
\n \n',NULL,'1','0'); +INSERT INTO `llx_c_email_templates` VALUES (1,1,NULL,'propal_send','',1,NULL,NULL,'2018-01-19 11:17:48','My Private email template for proposals',1,1,'Hello __FIRSTNAME__','We wish you a happy new year
__USER_SIGNATURE__',NULL,'1','1'),(2,0,'adherent','member','',0,NULL,NULL,'2018-01-19 11:17:48','(SendAnEMailToMember)',1,1,'__(CardContent)__','__(Hello)__,

\n\n__(ThisIsContentOfYourCard)__
\n__(ID)__ : __ID__
\n__(Civiliyty)__ : __MEMBER_CIVILITY__
\n__(Firstname)__ : __MEMBER_FIRSTNAME__
\n__(Lastname)__ : __MEMBER_LASTNAME__
\n__(Fullname)__ : __MEMBER_FULLNAME__
\n__(Company)__ : __MEMBER_COMPANY__
\n__(Address)__ : __MEMBER_ADDRESS__
\n__(Zip)__ : __MEMBER_ZIP__
\n__(Town)__ : __MEMBER_TOWN__
\n__(Country)__ : __MEMBER_COUNTRY__
\n__(Email)__ : __MEMBER_EMAIL__
\n__(Birthday)__ : __MEMBER_BIRTH__
\n__(Photo)__ : __MEMBER_PHOTO__
\n__(Login)__ : __MEMBER_LOGIN__
\n__(Password)__ : __MEMBER_PASSWORD__
\n__(Phone)__ : __MEMBER_PHONE__
\n__(PhonePerso)__ : __MEMBER_PHONEPRO__
\n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','1'),(3,0,'banque','thirdparty','',0,NULL,NULL,'2018-01-19 11:17:48','(YourSEPAMandate)',1,0,'__(YourSEPAMandate)__','__(Hello)__,

\n\n__(FindYourSEPAMandate)__ :
\n__MYCOMPANY_NAME__
\n__MYCOMPANY_FULLADDRESS__

\n__(Sincerely)__
\n__USER_SIGNATURE__',NULL,'1','1'),(6,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnAutoSubscription)',10,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipRequestWasReceived)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfYourMembershipRequestWasReceived)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(7,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnMemberValidation)',20,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasValidated)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfYourMembershipWasValidated)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(8,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnNewSubscription)',30,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__
\n\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','1'),(9,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingReminderForExpiredSubscription)',40,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(ThisIsContentOfSubscriptionReminderEmail)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(10,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingEmailOnCancelation)',50,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__','__(Hello)__ __MEMBER_FULLNAME__,

\n\n__(YourMembershipWasCanceled)__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(11,0,'adherent','member','',0,NULL,NULL,'2018-11-23 11:56:08','(SendingAnEMailToMember)',60,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(CardContent)__','__(Hello)__,

\n\n__(ThisIsContentOfYourCard)__
\n__(ID)__ : __ID__
\n__(Civiliyty)__ : __MEMBER_CIVILITY__
\n__(Firstname)__ : __MEMBER_FIRSTNAME__
\n__(Lastname)__ : __MEMBER_LASTNAME__
\n__(Fullname)__ : __MEMBER_FULLNAME__
\n__(Company)__ : __MEMBER_COMPANY__
\n__(Address)__ : __MEMBER_ADDRESS__
\n__(Zip)__ : __MEMBER_ZIP__
\n__(Town)__ : __MEMBER_TOWN__
\n__(Country)__ : __MEMBER_COUNTRY__
\n__(Email)__ : __MEMBER_EMAIL__
\n__(Birthday)__ : __MEMBER_BIRTH__
\n__(Photo)__ : __MEMBER_PHOTO__
\n__(Login)__ : __MEMBER_LOGIN__
\n__(Password)__ : __MEMBER_PASSWORD__
\n__(Phone)__ : __MEMBER_PHONE__
\n__(PhonePerso)__ : __MEMBER_PHONEPRO__
\n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'1','0'),(12,0,'recruitment','recruitmentcandidature_send','',0,NULL,NULL,'2020-12-10 12:24:39','(AnswerCandidature)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourCandidature)__','__(Hello)__ __CANDIDATE_FULLNAME__,

\n\n__(YourCandidatureAnswer)__
\n

\n__(Sincerely)__
__USER_SIGNATURE__',NULL,'$conf->recruitment->enabled','0'),(14,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailAskConf',10,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(15,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailAskBooth',20,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(16,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailSubsBooth',30,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsBooth)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(17,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationEmailSubsEvent',40,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsEvent)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(18,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationMassEmailAttendees',50,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(19,0,'','eventorganization_send','',0,NULL,NULL,'2021-02-14 13:42:41','EventOrganizationMassEmailSpeakers',60,1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__','__(Hello)__ __THIRDPARTY_NAME__,

__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

__(Sincerely)__
__USER_SIGNATURE__',NULL,'1',NULL),(20,0,'partnership','member',NULL,0,NULL,NULL,'2021-04-15 10:22:55','(AlertStatusPartnershipExpiration)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourMembershipWillSoonExpireTopic)__','\n

Dear __MEMBER_FULLNAME__,

\n__(YourMembershipWillSoonExpireContent)__

\n
\n\n __(Sincerely)__
\n __[PARTNERSHIP_SOCIETE_NOM]__
\n \n',NULL,'1','0'),(27,0,'partnership','partnership_send','',0,NULL,NULL,'2021-07-11 17:49:44','(SendingEmailOnPartnershipWillSoonBeCanceled)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipWillSoonBeCanceledTopic)__','\n

Hello,

\n__(YourPartnershipWillSoonBeCanceledContent)__

\n
\n\n
\n\n __(Sincerely)__
\n __[MAIN_INFO_SOCIETE_NOM]__
\n \n',NULL,'1','0'),(28,0,'partnership','partnership_send','',0,NULL,NULL,'2021-07-11 17:49:44','(SendingEmailOnPartnershipCanceled)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipCanceledTopic)__','\n

Hello,

\n__(YourPartnershipCanceledContent)__

\n
\n\n
\n\n __(Sincerely)__
\n __[MAIN_INFO_SOCIETE_NOM]__
\n \n',NULL,'1','0'),(29,0,'partnership','partnership_send','',0,NULL,NULL,'2021-07-11 17:49:44','(SendingEmailOnPartnershipRefused)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipRefusedTopic)__','\n

Hello,

\n__(YourPartnershipRefusedContent)__

\n
\n\n
\n\n __(Sincerely)__
\n __[MAIN_INFO_SOCIETE_NOM]__
\n \n',NULL,'1','0'),(30,0,'partnership','partnership_send','',0,NULL,NULL,'2021-07-11 17:49:44','(SendingEmailOnPartnershipAccepted)',100,1,'[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipAcceptedTopic)__','\n

Hello,

\n__(YourPartnershipAcceptedContent)__

\n
\n\n
\n\n __(Sincerely)__
\n __[MAIN_INFO_SOCIETE_NOM]__
\n \n',NULL,'1','0'); /*!40000 ALTER TABLE `llx_c_email_templates` ENABLE KEYS */; UNLOCK TABLES; @@ -2049,7 +2056,7 @@ CREATE TABLE `llx_c_holiday_types` ( `label` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `affect` int(11) NOT NULL, `delay` int(11) NOT NULL, - `newByMonth` double(8,5) NOT NULL DEFAULT 0.00000, + `newbymonth` double(8,5) NOT NULL DEFAULT 0.00000, `fk_country` int(11) DEFAULT NULL, `active` int(11) DEFAULT 1, PRIMARY KEY (`rowid`), @@ -2228,7 +2235,7 @@ CREATE TABLE `llx_c_input_reason` ( `module` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_input_reason` (`code`) -) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2241,34 +2248,6 @@ INSERT INTO `llx_c_input_reason` VALUES (1,'SRC_INTE','Web site',1,NULL),(2,'SRC /*!40000 ALTER TABLE `llx_c_input_reason` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_c_justificative_type` --- - -DROP TABLE IF EXISTS `llx_c_justificative_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_justificative_type` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(24) COLLATE utf8_unicode_ci NOT NULL, - `label` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - `module` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_c_justificative_type` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_justificative_type` --- - -LOCK TABLES `llx_c_justificative_type` WRITE; -/*!40000 ALTER TABLE `llx_c_justificative_type` DISABLE KEYS */; -INSERT INTO `llx_c_justificative_type` VALUES (1,'TRAINSUBSCRIPTION','Train subscrption-',1,NULL),(2,'HIGHWAYSUBSCRIPTION','Highway subscription',1,NULL); -/*!40000 ALTER TABLE `llx_c_justificative_type` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_c_lead_status` -- @@ -2298,60 +2277,6 @@ INSERT INTO `llx_c_lead_status` VALUES (1,'PROSP','Prospection',10,0.00,1),(2,'Q /*!40000 ALTER TABLE `llx_c_lead_status` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_c_lead_type` --- - -DROP TABLE IF EXISTS `llx_c_lead_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_lead_type` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `label` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - PRIMARY KEY (`rowid`), - UNIQUE KEY `code` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_lead_type` --- - -LOCK TABLES `llx_c_lead_type` WRITE; -/*!40000 ALTER TABLE `llx_c_lead_type` DISABLE KEYS */; -INSERT INTO `llx_c_lead_type` VALUES (1,'SUPP','Support',1),(2,'TRAIN','Formation',1),(3,'ADVI','Conseil',1); -/*!40000 ALTER TABLE `llx_c_lead_type` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_c_methode_commande_fournisseur` --- - -DROP TABLE IF EXISTS `llx_c_methode_commande_fournisseur`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_methode_commande_fournisseur` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `libelle` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_c_methode_commande_fournisseur` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_methode_commande_fournisseur` --- - -LOCK TABLES `llx_c_methode_commande_fournisseur` WRITE; -/*!40000 ALTER TABLE `llx_c_methode_commande_fournisseur` DISABLE KEYS */; -INSERT INTO `llx_c_methode_commande_fournisseur` VALUES (1,'OrderByMail','Courrier',1),(2,'OrderByFax','Fax',1),(3,'OrderByEMail','EMail',1),(4,'OrderByPhone','Téléphone',1),(5,'OrderByWWW','En ligne',1); -/*!40000 ALTER TABLE `llx_c_methode_commande_fournisseur` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_c_paiement` -- @@ -2384,36 +2309,6 @@ INSERT INTO `llx_c_paiement` VALUES (1,1,'TIP','TIP',2,0,NULL,NULL,0),(2,1,'VIR' /*!40000 ALTER TABLE `llx_c_paiement` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_c_paiement_temp` --- - -DROP TABLE IF EXISTS `llx_c_paiement_temp`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_paiement_temp` ( - `id` int(11) NOT NULL, - `entity` int(11) NOT NULL DEFAULT 1, - `code` varchar(6) COLLATE utf8_unicode_ci NOT NULL, - `libelle` varchar(62) COLLATE utf8_unicode_ci DEFAULT NULL, - `type` smallint(6) DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - `accountancy_code` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, - `module` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, - `position` int(11) NOT NULL DEFAULT 0 -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_paiement_temp` --- - -LOCK TABLES `llx_c_paiement_temp` WRITE; -/*!40000 ALTER TABLE `llx_c_paiement_temp` DISABLE KEYS */; -INSERT INTO `llx_c_paiement_temp` VALUES (1,1,'TIP','TIP',2,0,NULL,NULL,0),(2,1,'VIR','Virement',2,1,NULL,NULL,0),(3,1,'PRE','Prélèvement',2,1,NULL,NULL,0),(4,1,'LIQ','Espèces',2,1,NULL,NULL,0),(6,1,'CB','Carte Bancaire',2,1,NULL,NULL,0),(7,1,'CHQ','Chèque',2,1,NULL,NULL,0),(50,1,'VAD','Paiement en ligne',2,0,NULL,NULL,0),(51,1,'TRA','Traite',2,0,NULL,NULL,0),(52,1,'LCR','LCR',2,0,NULL,NULL,0),(53,1,'FAC','Factor',2,0,NULL,NULL,0); -/*!40000 ALTER TABLE `llx_c_paiement_temp` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_c_paper_format` -- @@ -2444,6 +2339,32 @@ INSERT INTO `llx_c_paper_format` VALUES (1,'EU4A0','Format 4A0',1682.00,2378.00, /*!40000 ALTER TABLE `llx_c_paper_format` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `llx_c_partnership_type` +-- + +DROP TABLE IF EXISTS `llx_c_partnership_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_partnership_type` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT 1, + `code` varchar(32) COLLATE utf8_unicode_ci NOT NULL, + `label` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT 1, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_partnership_type` +-- + +LOCK TABLES `llx_c_partnership_type` WRITE; +/*!40000 ALTER TABLE `llx_c_partnership_type` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_partnership_type` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `llx_c_payment_term` -- @@ -2567,11 +2488,11 @@ DROP TABLE IF EXISTS `llx_c_product_nature`; CREATE TABLE `llx_c_product_nature` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `code` tinyint(4) NOT NULL, - `label` varchar(100) DEFAULT NULL, + `label` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL, `active` tinyint(4) NOT NULL DEFAULT 1, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_product_nature` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2584,6 +2505,34 @@ INSERT INTO `llx_c_product_nature` VALUES (1,0,'RowMaterial',1),(2,1,'Finished', /*!40000 ALTER TABLE `llx_c_product_nature` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `llx_c_productbatch_qcstatus` +-- + +DROP TABLE IF EXISTS `llx_c_productbatch_qcstatus`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_productbatch_qcstatus` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT 1, + `code` varchar(16) COLLATE utf8_unicode_ci NOT NULL, + `label` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `active` int(11) NOT NULL DEFAULT 1, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_productbatch_qcstatus` (`code`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_productbatch_qcstatus` +-- + +LOCK TABLES `llx_c_productbatch_qcstatus` WRITE; +/*!40000 ALTER TABLE `llx_c_productbatch_qcstatus` DISABLE KEYS */; +INSERT INTO `llx_c_productbatch_qcstatus` VALUES (1,1,'OK','InWorkingOrder',1),(2,1,'KO','OutOfOrder',1); +/*!40000 ALTER TABLE `llx_c_productbatch_qcstatus` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `llx_c_propalst` -- @@ -2896,32 +2845,6 @@ INSERT INTO `llx_c_stcommcontact` VALUES (-1,'ST_NO','Do not contact',NULL,1),(0 /*!40000 ALTER TABLE `llx_c_stcommcontact` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_c_subtotal_free_text` --- - -DROP TABLE IF EXISTS `llx_c_subtotal_free_text`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_subtotal_free_text` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `content` text COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - `entity` int(11) NOT NULL DEFAULT 1, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_subtotal_free_text` --- - -LOCK TABLES `llx_c_subtotal_free_text` WRITE; -/*!40000 ALTER TABLE `llx_c_subtotal_free_text` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_c_subtotal_free_text` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_c_ticket_category` -- @@ -3037,7 +2960,7 @@ CREATE TABLE `llx_c_ticket_type` ( `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_code` (`code`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3046,7 +2969,7 @@ CREATE TABLE `llx_c_ticket_type` ( LOCK TABLES `llx_c_ticket_type` WRITE; /*!40000 ALTER TABLE `llx_c_ticket_type` DISABLE KEYS */; -INSERT INTO `llx_c_ticket_type` VALUES (1,1,'COM','10','Commercial question',1,1,NULL),(2,1,'ISSUE','20','Issue or problem',1,0,NULL),(3,1,'REQUEST','25','Change or enhancement request',1,0,NULL),(4,1,'PROJECT','30','Project',0,0,NULL),(5,1,'OTHER','40','Other',1,0,NULL),(11,1,'HELP','15','Request for functionnal help',1,0,NULL); +INSERT INTO `llx_c_ticket_type` VALUES (1,1,'COM','10','Commercial question',1,1,NULL),(2,1,'ISSUE','20','Issue or bug',1,0,NULL),(3,1,'REQUEST','25','Change or enhancement request',1,0,NULL),(4,1,'PROJECT','30','Project',0,0,NULL),(5,1,'OTHER','40','Other',1,0,NULL),(11,1,'HELP','15','Request for functionnal help',1,0,NULL),(13,1,'PROBLEM','22','Problem',0,0,NULL); /*!40000 ALTER TABLE `llx_c_ticket_type` ENABLE KEYS */; UNLOCK TABLES; @@ -3060,11 +2983,11 @@ DROP TABLE IF EXISTS `llx_c_transport_mode`; CREATE TABLE `llx_c_transport_mode` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `entity` int(11) NOT NULL DEFAULT 1, - `code` varchar(3) NOT NULL, - `label` varchar(255) NOT NULL, + `code` varchar(3) CHARACTER SET utf8mb4 NOT NULL, + `label` varchar(255) CHARACTER SET utf8mb4 NOT NULL, `active` tinyint(4) NOT NULL DEFAULT 1, PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=321 DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB AUTO_INCREMENT=321 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3261,64 +3184,6 @@ INSERT INTO `llx_c_typent` VALUES (1,'TE_STARTUP','Start-up',NULL,1,NULL,0),(2,' /*!40000 ALTER TABLE `llx_c_typent` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_c_ultimatepdf_line` --- - -DROP TABLE IF EXISTS `llx_c_ultimatepdf_line`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_ultimatepdf_line` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `code` varchar(30) NOT NULL, - `label` varchar(255) NOT NULL, - `description` varchar(128) NOT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_c_ultimatepdf_line` (`code`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_ultimatepdf_line` --- - -LOCK TABLES `llx_c_ultimatepdf_line` WRITE; -/*!40000 ALTER TABLE `llx_c_ultimatepdf_line` DISABLE KEYS */; -INSERT INTO `llx_c_ultimatepdf_line` VALUES (1,1,'TEXTE1','Garantie 2 ans pièces et main d\'œuvre, retour en atelier (Hors filtre et pièce d\'usure)','texte de garantie',1); -/*!40000 ALTER TABLE `llx_c_ultimatepdf_line` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_c_ultimatepdf_title` --- - -DROP TABLE IF EXISTS `llx_c_ultimatepdf_title`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_c_ultimatepdf_title` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `code` varchar(30) NOT NULL, - `label` varchar(128) NOT NULL, - `description` varchar(255) NOT NULL, - `active` tinyint(4) NOT NULL DEFAULT 1, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_c_ultimatepdf_title` (`code`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_c_ultimatepdf_title` --- - -LOCK TABLES `llx_c_ultimatepdf_title` WRITE; -/*!40000 ALTER TABLE `llx_c_ultimatepdf_title` DISABLE KEYS */; -INSERT INTO `llx_c_ultimatepdf_title` VALUES (1,1,'TITLE1','Facture Proforma','Facture proforma',1); -/*!40000 ALTER TABLE `llx_c_ultimatepdf_title` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_c_units` -- @@ -3799,45 +3664,6 @@ LOCK TABLES `llx_cabinetmed_societe` WRITE; /*!40000 ALTER TABLE `llx_cabinetmed_societe` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_captureserver_captureserver` --- - -DROP TABLE IF EXISTS `llx_captureserver_captureserver`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_captureserver_captureserver` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `ref` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `label` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `type` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, - `content` text COLLATE utf8_unicode_ci DEFAULT NULL, - `qty` int(11) DEFAULT NULL, - `ip` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `status` int(11) DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `comment` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_captureserver_captureserver_uk` (`entity`,`ref`), - KEY `idx_captureserver_captureserver_rowid` (`rowid`), - KEY `idx_captureserver_captureserver_ref` (`ref`), - KEY `idx_captureserver_captureserver_type` (`type`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_captureserver_captureserver` --- - -LOCK TABLES `llx_captureserver_captureserver` WRITE; -/*!40000 ALTER TABLE `llx_captureserver_captureserver` DISABLE KEYS */; -INSERT INTO `llx_captureserver_captureserver` VALUES (1,1,'dolibarrping_1','dolibarrping 1 ','dolibarrping','[]',1,'127.0.0.1',1,'2020-01-01 16:01:31','2020-01-01 12:01:31','Ping received at 20200101165522, version ',NULL); -/*!40000 ALTER TABLE `llx_captureserver_captureserver` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_categorie` -- @@ -3935,31 +3761,6 @@ LOCK TABLES `llx_categorie_actioncomm` WRITE; /*!40000 ALTER TABLE `llx_categorie_actioncomm` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_categorie_association` --- - -DROP TABLE IF EXISTS `llx_categorie_association`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_categorie_association` ( - `fk_categorie_mere` int(11) NOT NULL, - `fk_categorie_fille` int(11) NOT NULL, - UNIQUE KEY `uk_categorie_association` (`fk_categorie_mere`,`fk_categorie_fille`), - UNIQUE KEY `uk_categorie_association_fk_categorie_fille` (`fk_categorie_fille`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_categorie_association` --- - -LOCK TABLES `llx_categorie_association` WRITE; -/*!40000 ALTER TABLE `llx_categorie_association` DISABLE KEYS */; -INSERT INTO `llx_categorie_association` VALUES (3,5),(9,11); -/*!40000 ALTER TABLE `llx_categorie_association` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_categorie_contact` -- @@ -4403,7 +4204,7 @@ CREATE TABLE `llx_commande` ( LOCK TABLES `llx_commande` WRITE; /*!40000 ALTER TABLE `llx_commande` DISABLE KEYS */; -INSERT INTO `llx_commande` VALUES (1,'2020-12-10 12:24:22',1,NULL,'CO1107-0002',1,NULL,NULL,'','2013-07-20 15:23:12','2020-08-08 13:59:09',NULL,'2020-07-20',1,NULL,1,NULL,NULL,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,1,1,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(2,'2020-12-10 12:24:22',1,NULL,'CO1107-0003',1,NULL,NULL,'','2013-07-20 23:20:12','2020-02-12 17:06:51',NULL,'2020-07-21',1,NULL,1,NULL,NULL,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(3,'2020-12-10 12:24:22',1,NULL,'CO1107-0004',1,NULL,NULL,'','2013-07-20 23:22:53','2020-02-17 18:27:56',NULL,'2020-07-21',1,NULL,1,NULL,NULL,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,30.00000000,30.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(5,'2020-12-10 12:24:22',1,NULL,'CO1108-0001',1,NULL,NULL,'','2013-08-08 03:04:11','2020-08-08 03:04:21',NULL,'2020-08-08',1,NULL,1,NULL,NULL,2,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(6,'2021-04-15 10:22:31',19,NULL,'(PROV6)',1,NULL,NULL,'','2015-02-17 16:22:14',NULL,NULL,'2021-02-17',1,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'','','einstein',0,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,'commande/(PROV6)/(PROV6).pdf',NULL,NULL),(17,'2020-06-12 17:12:08',4,NULL,'CO7001-0005',1,NULL,NULL,NULL,'2017-02-15 23:50:34','2019-02-15 23:50:34',NULL,'2020-05-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,509.00000000,509.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,509.00000000,0.00000000,509.00000000,NULL,NULL,NULL),(18,'2021-04-15 10:22:31',7,4,'CO7001-0006',1,NULL,NULL,NULL,'2017-02-15 23:51:23','2021-02-15 23:51:23',NULL,'2021-02-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,900.00000000,900.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,900.00000000,0.00000000,900.00000000,NULL,NULL,NULL),(20,'2021-04-15 10:22:31',4,NULL,'CO7001-0007',1,NULL,NULL,NULL,'2017-02-15 23:55:52','2020-02-15 23:55:52',NULL,'2021-04-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,330.00000000,330.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,330.00000000,0.00000000,330.00000000,NULL,NULL,NULL),(29,'2021-04-15 10:22:31',4,NULL,'CO7001-0008',1,NULL,NULL,NULL,'2017-02-16 00:03:44','2021-02-16 00:03:44',NULL,'2021-02-12',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,457.00000000,457.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,457.00000000,0.00000000,457.00000000,NULL,NULL,NULL),(34,'2021-04-15 10:22:31',11,NULL,'CO7001-0009',1,NULL,NULL,NULL,'2017-02-16 00:05:01','2021-02-16 00:05:01',NULL,'2021-01-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,124.00000000,124.00000000,'','','',0,NULL,NULL,2,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,124.00000000,0.00000000,124.00000000,NULL,NULL,NULL),(38,'2021-04-15 10:22:31',3,NULL,'CO7001-0010',1,NULL,NULL,NULL,'2017-02-16 00:05:01','2021-02-16 00:05:01',NULL,'2021-02-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,200.00000000,200.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,200.00000000,0.00000000,200.00000000,NULL,NULL,NULL),(40,'2021-04-15 10:22:31',11,NULL,'CO7001-0011',1,NULL,NULL,NULL,'2017-02-16 00:05:10','2021-02-16 00:05:11',NULL,'2021-01-23',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,1210.00000000,1210.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1210.00000000,0.00000000,1210.00000000,NULL,NULL,NULL),(43,'2021-04-15 10:22:31',10,NULL,'CO7001-0012',1,NULL,NULL,NULL,'2017-02-16 00:05:11','2021-02-16 00:05:11',NULL,'2021-02-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,478.00000000,478.00000000,'','','',0,NULL,NULL,2,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,478.00000000,0.00000000,478.00000000,NULL,NULL,NULL),(47,'2020-12-10 12:24:22',1,NULL,'CO7001-0013',1,NULL,NULL,NULL,'2017-02-16 00:05:11','2020-02-16 00:05:11',NULL,'2020-11-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,55.00000000,55.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,55.00000000,0.00000000,55.00000000,NULL,NULL,NULL),(48,'2020-12-10 12:24:22',4,NULL,'CO7001-0014',1,NULL,NULL,NULL,'2017-02-16 00:05:11','2020-02-16 00:05:11',NULL,'2020-07-30',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,540.00000000,540.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,540.00000000,0.00000000,540.00000000,NULL,NULL,NULL),(50,'2021-04-15 10:22:31',1,NULL,'CO7001-0015',1,NULL,NULL,NULL,'2017-02-16 00:05:26','2021-02-16 00:05:26',NULL,'2020-12-12',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,118.00000000,118.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,118.00000000,0.00000000,118.00000000,NULL,NULL,NULL),(54,'2020-06-12 17:12:08',12,NULL,'CO7001-0016',1,NULL,NULL,NULL,'2017-02-16 00:05:26','2019-02-16 00:05:26','2019-02-16 03:05:56','2020-06-03',12,NULL,12,12,1,3,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,220.00000000,220.00000000,'','','',1,NULL,NULL,NULL,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,220.00000000,0.00000000,220.00000000,NULL,NULL,NULL),(58,'2020-12-10 12:24:22',1,NULL,'CO7001-0017',1,NULL,NULL,NULL,'2017-02-16 00:05:26','2020-02-16 00:05:26',NULL,'2020-07-23',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,436.00000000,436.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,436.00000000,0.00000000,436.00000000,NULL,NULL,NULL),(62,'2021-04-15 10:22:31',19,NULL,'CO7001-0018',1,NULL,NULL,NULL,'2017-02-16 00:05:35','2020-02-16 00:05:35','2020-12-20 20:48:55','2021-02-23',12,NULL,12,12,1,3,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,410.00000000,410.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,410.00000000,0.00000000,410.00000000,NULL,NULL,NULL),(68,'2020-06-12 17:12:08',3,NULL,'CO7001-0019',1,NULL,NULL,NULL,'2017-02-16 00:05:35','2019-02-16 00:05:35',NULL,'2020-05-19',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,45.00000000,45.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,45.00000000,0.00000000,45.00000000,NULL,NULL,NULL),(72,'2020-12-10 12:24:22',6,NULL,'CO7001-0020',1,NULL,NULL,NULL,'2017-02-16 00:05:36','2020-02-16 00:05:36','2021-01-16 02:42:56','2020-11-13',12,NULL,12,12,1,3,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,610.00000000,610.00000000,'','','',1,NULL,NULL,NULL,NULL,NULL,2,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,610.00000000,0.00000000,610.00000000,NULL,NULL,NULL),(75,'2021-04-15 10:22:31',4,NULL,'CO7001-0021',1,NULL,NULL,NULL,'2017-02-16 00:05:37','2020-02-16 04:14:20',NULL,'2021-02-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,25.00000000,49.88000000,0.00000000,1200.00000000,1274.88000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1200.00000000,25.00000000,1274.88000000,NULL,NULL,NULL),(78,'2020-12-10 12:24:22',12,NULL,'CO7001-0022',1,NULL,NULL,NULL,'2017-02-16 00:05:37','2020-02-16 00:05:37',NULL,'2020-10-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,928.00000000,928.00000000,'','','',0,NULL,NULL,2,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,928.00000000,0.00000000,928.00000000,NULL,NULL,NULL),(81,'2020-12-10 12:24:22',11,NULL,'CO7001-0023',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-02-16 00:05:38',NULL,'2020-07-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,725.00000000,725.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,725.00000000,0.00000000,725.00000000,NULL,NULL,NULL),(83,'2021-04-15 10:22:31',26,NULL,'CO7001-0024',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-02-16 00:05:38',NULL,'2021-04-03',12,NULL,12,NULL,1,-1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,105.00000000,105.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,105.00000000,0.00000000,105.00000000,NULL,NULL,NULL),(84,'2020-12-10 12:24:22',2,NULL,'CO7001-0025',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-02-16 00:05:38',NULL,'2020-06-19',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,510.00000000,510.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,510.00000000,0.00000000,510.00000000,NULL,NULL,NULL),(85,'2021-04-15 10:22:31',1,NULL,'CO7001-0026',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-02-16 00:05:38',NULL,'2021-01-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,47.00000000,47.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,47.00000000,0.00000000,47.00000000,NULL,NULL,NULL),(88,'2021-04-15 10:22:31',10,NULL,'CO7001-0027',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-12-20 20:42:42',NULL,'2020-12-23',12,12,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,'This is a private note','This is a public note','',0,NULL,NULL,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,'commande/CO7001-0027/CO7001-0027.pdf',NULL,NULL),(90,'2021-04-15 10:22:31',19,NULL,'(PROV90)',1,NULL,NULL,NULL,'2017-02-16 04:46:31',NULL,NULL,'2021-02-16',12,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,440.00000000,440.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,440.00000000,0.00000000,440.00000000,NULL,NULL,NULL),(91,'2021-04-15 10:22:31',1,NULL,'(PROV91)',1,NULL,NULL,NULL,'2017-02-16 04:46:37',NULL,NULL,'2021-02-16',12,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,1000.00000000,1000.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,NULL,NULL,NULL),(92,'2021-04-15 10:22:31',3,NULL,'(PROV92)',1,NULL,NULL,NULL,'2017-02-16 04:47:25',NULL,NULL,'2021-02-16',12,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,1018.00000000,1018.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1018.00000000,0.00000000,1018.00000000,NULL,NULL,NULL),(93,'2020-12-10 12:24:22',10,NULL,'(PROV93)',1,NULL,NULL,NULL,'2019-09-27 19:32:53',NULL,NULL,'2020-09-27',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,'commande/(PROV93)/(PROV93).pdf',NULL,NULL),(94,'2021-04-15 10:22:31',1,NULL,'(PROV94)',1,NULL,NULL,NULL,'2019-12-20 20:49:54',NULL,NULL,'2020-12-20',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,1000.00000000,1000.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,NULL,NULL,NULL),(95,'2021-04-15 10:22:31',1,NULL,'(PROV95)',1,NULL,NULL,NULL,'2019-12-20 20:50:23',NULL,NULL,'2020-12-20',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,1000.00000000,1000.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,NULL,NULL,NULL),(96,'2021-04-15 10:22:31',10,6,'(PROV96)',1,NULL,NULL,NULL,'2020-01-07 23:39:09',NULL,NULL,'2021-01-07',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'aaa','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,NULL,NULL,NULL),(97,'2021-04-15 10:22:31',10,6,'(PROV97)',1,NULL,NULL,NULL,'2020-01-07 23:43:06',NULL,NULL,'2021-01-07',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'aaa','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,NULL,NULL,NULL),(98,'2021-04-15 10:22:31',1,NULL,'(PROV98)',1,NULL,NULL,NULL,'2020-01-19 14:22:34',NULL,NULL,'2021-01-19',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.45000000,0.45000000,3.00000000,3.90000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,3.00000000,0.00000000,3.90000000,NULL,NULL,NULL),(99,'2021-04-15 10:22:31',1,NULL,'(PROV99)',1,NULL,NULL,NULL,'2020-01-19 14:24:27',NULL,NULL,'2021-01-19',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.24000000,0.00000000,0.00000000,4.00000000,4.24000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,4.00000000,0.24000000,4.24000000,NULL,NULL,NULL); +INSERT INTO `llx_commande` VALUES (1,'2020-12-10 12:24:22',1,NULL,'CO1107-0002',1,NULL,NULL,'','2013-07-20 15:23:12','2020-08-08 13:59:09',NULL,'2020-07-20',1,NULL,1,NULL,NULL,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,1,1,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(2,'2020-12-10 12:24:22',1,NULL,'CO1107-0003',1,NULL,NULL,'','2013-07-20 23:20:12','2020-02-12 17:06:51',NULL,'2020-07-21',1,NULL,1,NULL,NULL,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(3,'2020-12-10 12:24:22',1,NULL,'CO1107-0004',1,NULL,NULL,'','2013-07-20 23:22:53','2020-02-17 18:27:56',NULL,'2020-07-21',1,NULL,1,NULL,NULL,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,30.00000000,30.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(5,'2020-12-10 12:24:22',1,NULL,'CO1108-0001',1,NULL,NULL,'','2013-08-08 03:04:11','2020-08-08 03:04:21',NULL,'2020-08-08',1,NULL,1,NULL,NULL,2,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(6,'2021-04-15 10:22:31',19,NULL,'(PROV6)',1,NULL,NULL,'','2015-02-17 16:22:14',NULL,NULL,'2021-02-17',1,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'','','einstein',0,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,'commande/(PROV6)/(PROV6).pdf',NULL,NULL),(17,'2021-07-11 17:49:28',4,NULL,'CO7001-0005',1,NULL,NULL,NULL,'2017-02-15 23:50:34','2020-02-15 23:50:34',NULL,'2021-05-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,509.00000000,509.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,509.00000000,0.00000000,509.00000000,NULL,NULL,NULL),(18,'2021-04-15 10:22:31',7,4,'CO7001-0006',1,NULL,NULL,NULL,'2017-02-15 23:51:23','2021-02-15 23:51:23',NULL,'2021-02-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,900.00000000,900.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,900.00000000,0.00000000,900.00000000,NULL,NULL,NULL),(20,'2021-04-15 10:22:31',4,NULL,'CO7001-0007',1,NULL,NULL,NULL,'2017-02-15 23:55:52','2020-02-15 23:55:52',NULL,'2021-04-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,330.00000000,330.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,330.00000000,0.00000000,330.00000000,NULL,NULL,NULL),(29,'2021-04-15 10:22:31',4,NULL,'CO7001-0008',1,NULL,NULL,NULL,'2017-02-16 00:03:44','2021-02-16 00:03:44',NULL,'2021-02-12',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,457.00000000,457.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,457.00000000,0.00000000,457.00000000,NULL,NULL,NULL),(34,'2021-04-15 10:22:31',11,NULL,'CO7001-0009',1,NULL,NULL,NULL,'2017-02-16 00:05:01','2021-02-16 00:05:01',NULL,'2021-01-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,124.00000000,124.00000000,'','','',0,NULL,NULL,2,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,124.00000000,0.00000000,124.00000000,NULL,NULL,NULL),(38,'2021-04-15 10:22:31',3,NULL,'CO7001-0010',1,NULL,NULL,NULL,'2017-02-16 00:05:01','2021-02-16 00:05:01',NULL,'2021-02-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,200.00000000,200.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,200.00000000,0.00000000,200.00000000,NULL,NULL,NULL),(40,'2021-04-15 10:22:31',11,NULL,'CO7001-0011',1,NULL,NULL,NULL,'2017-02-16 00:05:10','2021-02-16 00:05:11',NULL,'2021-01-23',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,1210.00000000,1210.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1210.00000000,0.00000000,1210.00000000,NULL,NULL,NULL),(43,'2021-04-15 10:22:31',10,NULL,'CO7001-0012',1,NULL,NULL,NULL,'2017-02-16 00:05:11','2021-02-16 00:05:11',NULL,'2021-02-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,478.00000000,478.00000000,'','','',0,NULL,NULL,2,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,478.00000000,0.00000000,478.00000000,NULL,NULL,NULL),(47,'2020-12-10 12:24:22',1,NULL,'CO7001-0013',1,NULL,NULL,NULL,'2017-02-16 00:05:11','2020-02-16 00:05:11',NULL,'2020-11-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,55.00000000,55.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,55.00000000,0.00000000,55.00000000,NULL,NULL,NULL),(48,'2020-12-10 12:24:22',4,NULL,'CO7001-0014',1,NULL,NULL,NULL,'2017-02-16 00:05:11','2020-02-16 00:05:11',NULL,'2020-07-30',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,540.00000000,540.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,540.00000000,0.00000000,540.00000000,NULL,NULL,NULL),(50,'2021-04-15 10:22:31',1,NULL,'CO7001-0015',1,NULL,NULL,NULL,'2017-02-16 00:05:26','2021-02-16 00:05:26',NULL,'2020-12-12',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,118.00000000,118.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,118.00000000,0.00000000,118.00000000,NULL,NULL,NULL),(54,'2021-07-11 17:49:28',12,NULL,'CO7001-0016',1,NULL,NULL,NULL,'2017-02-16 00:05:26','2020-02-16 00:05:26','2020-02-16 03:05:56','2021-06-03',12,NULL,12,12,1,3,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,220.00000000,220.00000000,'','','',1,NULL,NULL,NULL,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,220.00000000,0.00000000,220.00000000,NULL,NULL,NULL),(58,'2020-12-10 12:24:22',1,NULL,'CO7001-0017',1,NULL,NULL,NULL,'2017-02-16 00:05:26','2020-02-16 00:05:26',NULL,'2020-07-23',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,436.00000000,436.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,436.00000000,0.00000000,436.00000000,NULL,NULL,NULL),(62,'2021-04-15 10:22:31',19,NULL,'CO7001-0018',1,NULL,NULL,NULL,'2017-02-16 00:05:35','2020-02-16 00:05:35','2020-12-20 20:48:55','2021-02-23',12,NULL,12,12,1,3,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,410.00000000,410.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,410.00000000,0.00000000,410.00000000,NULL,NULL,NULL),(68,'2021-07-11 17:49:28',3,NULL,'CO7001-0019',1,NULL,NULL,NULL,'2017-02-16 00:05:35','2020-02-16 00:05:35',NULL,'2021-05-19',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,45.00000000,45.00000000,'','','',0,NULL,NULL,NULL,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,45.00000000,0.00000000,45.00000000,NULL,NULL,NULL),(72,'2020-12-10 12:24:22',6,NULL,'CO7001-0020',1,NULL,NULL,NULL,'2017-02-16 00:05:36','2020-02-16 00:05:36','2021-01-16 02:42:56','2020-11-13',12,NULL,12,12,1,3,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,610.00000000,610.00000000,'','','',1,NULL,NULL,NULL,NULL,NULL,2,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,610.00000000,0.00000000,610.00000000,NULL,NULL,NULL),(75,'2021-04-15 10:22:31',4,NULL,'CO7001-0021',1,NULL,NULL,NULL,'2017-02-16 00:05:37','2020-02-16 04:14:20',NULL,'2021-02-13',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,25.00000000,49.88000000,0.00000000,1200.00000000,1274.88000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1200.00000000,25.00000000,1274.88000000,NULL,NULL,NULL),(78,'2020-12-10 12:24:22',12,NULL,'CO7001-0022',1,NULL,NULL,NULL,'2017-02-16 00:05:37','2020-02-16 00:05:37',NULL,'2020-10-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,928.00000000,928.00000000,'','','',0,NULL,NULL,2,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,928.00000000,0.00000000,928.00000000,NULL,NULL,NULL),(81,'2021-07-11 17:49:28',11,NULL,'CO7001-0023',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2021-02-16 00:05:38',NULL,'2021-07-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,725.00000000,725.00000000,'','','',0,NULL,NULL,2,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,725.00000000,0.00000000,725.00000000,NULL,NULL,NULL),(83,'2021-04-15 10:22:31',26,NULL,'CO7001-0024',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-02-16 00:05:38',NULL,'2021-04-03',12,NULL,12,NULL,1,-1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,105.00000000,105.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,105.00000000,0.00000000,105.00000000,NULL,NULL,NULL),(84,'2021-07-11 17:49:28',2,NULL,'CO7001-0025',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2021-02-16 00:05:38',NULL,'2021-06-19',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,510.00000000,510.00000000,'','','',0,NULL,NULL,1,NULL,NULL,2,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,510.00000000,0.00000000,510.00000000,NULL,NULL,NULL),(85,'2021-04-15 10:22:31',1,NULL,'CO7001-0026',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-02-16 00:05:38',NULL,'2021-01-03',12,NULL,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,47.00000000,47.00000000,'','','',0,NULL,NULL,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,47.00000000,0.00000000,47.00000000,NULL,NULL,NULL),(88,'2021-04-15 10:22:31',10,NULL,'CO7001-0027',1,NULL,NULL,NULL,'2017-02-16 00:05:38','2020-12-20 20:42:42',NULL,'2020-12-23',12,12,12,NULL,1,1,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,'This is a private note','This is a public note','',0,NULL,NULL,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,'commande/CO7001-0027/CO7001-0027.pdf',NULL,NULL),(90,'2021-04-15 10:22:31',19,NULL,'(PROV90)',1,NULL,NULL,NULL,'2017-02-16 04:46:31',NULL,NULL,'2021-02-16',12,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,440.00000000,440.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,440.00000000,0.00000000,440.00000000,NULL,NULL,NULL),(91,'2021-04-15 10:22:31',1,NULL,'(PROV91)',1,NULL,NULL,NULL,'2017-02-16 04:46:37',NULL,NULL,'2021-02-16',12,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,1000.00000000,1000.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,NULL,NULL,NULL),(92,'2021-04-15 10:22:31',3,NULL,'(PROV92)',1,NULL,NULL,NULL,'2017-02-16 04:47:25',NULL,NULL,'2021-02-16',12,NULL,NULL,NULL,NULL,0,0.00000000,0,NULL,0,0.00000000,0.00000000,0.00000000,1018.00000000,1018.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1018.00000000,0.00000000,1018.00000000,NULL,NULL,NULL),(93,'2020-12-10 12:24:22',10,NULL,'(PROV93)',1,NULL,NULL,NULL,'2019-09-27 19:32:53',NULL,NULL,'2020-09-27',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,'commande/(PROV93)/(PROV93).pdf',NULL,NULL),(94,'2021-04-15 10:22:31',1,NULL,'(PROV94)',1,NULL,NULL,NULL,'2019-12-20 20:49:54',NULL,NULL,'2020-12-20',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,1000.00000000,1000.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,NULL,NULL,NULL),(95,'2021-04-15 10:22:31',1,NULL,'(PROV95)',1,NULL,NULL,NULL,'2019-12-20 20:50:23',NULL,NULL,'2020-12-20',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,1000.00000000,1000.00000000,'','','',0,NULL,NULL,3,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,NULL,NULL,NULL),(96,'2021-04-15 10:22:31',10,6,'(PROV96)',1,NULL,NULL,NULL,'2020-01-07 23:39:09',NULL,NULL,'2021-01-07',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'aaa','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,NULL,NULL,NULL),(97,'2021-04-15 10:22:31',10,6,'(PROV97)',1,NULL,NULL,NULL,'2020-01-07 23:43:06',NULL,NULL,'2021-01-07',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'aaa','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,NULL,NULL,NULL),(98,'2021-04-15 10:22:31',1,NULL,'(PROV98)',1,NULL,NULL,NULL,'2020-01-19 14:22:34',NULL,NULL,'2021-01-19',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.00000000,0.45000000,0.45000000,3.00000000,3.90000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,3.00000000,0.00000000,3.90000000,NULL,NULL,NULL),(99,'2021-04-15 10:22:31',1,NULL,'(PROV99)',1,NULL,NULL,NULL,'2020-01-19 14:24:27',NULL,NULL,'2021-01-19',12,NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,0.24000000,0.00000000,0.00000000,4.00000000,4.24000000,'','','',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'',0,'EUR',1.00000000,4.00000000,0.24000000,4.24000000,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_commande` ENABLE KEYS */; UNLOCK TABLES; @@ -4504,7 +4305,7 @@ CREATE TABLE `llx_commande_fournisseur` ( LOCK TABLES `llx_commande_fournisseur` WRITE; /*!40000 ALTER TABLE `llx_commande_fournisseur` DISABLE KEYS */; -INSERT INTO `llx_commande_fournisseur` VALUES (1,'2021-04-15 10:22:31',13,'CF1007-0001',1,NULL,NULL,NULL,'2020-07-11 17:13:40','2021-02-01 18:51:42','2021-02-01 18:52:04',NULL,'2021-02-01',1,NULL,12,12,NULL,0,5,0,0.00000000,0,0,39.20000000,0.00000000,0.00000000,200.00000000,239.20000000,NULL,NULL,'muscadet',2,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(2,'2021-04-15 11:40:18',1,'CF1007-0002',1,NULL,NULL,NULL,'2020-07-11 18:46:28','2020-07-11 18:47:33',NULL,NULL,'2020-07-11',1,NULL,1,NULL,NULL,0,4,0,0.00000000,0,0,0.00000000,0.00000000,0.00000000,200.00000000,200.00000000,NULL,NULL,'muscadet',4,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(3,'2020-01-20 11:22:53',17,'(PROV3)',1,NULL,NULL,NULL,'2013-08-04 23:00:52',NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,0,0.00000000,0,0,0.00000000,0.00000000,0.00000000,1079.17000000,1079.17000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'USD',1.20000000,1295.00000000,0.00000000,1295.00000000,NULL),(4,'2020-01-20 11:19:49',17,'(PROV4)',1,NULL,NULL,NULL,'2013-08-04 23:19:32',NULL,NULL,NULL,NULL,1,12,NULL,NULL,NULL,0,0,0,0.00000000,0,0,11.88000000,0.00000000,0.00000000,174.17000000,186.05000000,'Private note','Public note','muscadet',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EUR',1.00000000,174.17000000,11.88000000,186.05000000,NULL),(13,'2021-04-15 10:22:31',1,'CF1303-0004',1,NULL,NULL,NULL,'2021-03-09 19:39:18','2021-03-09 19:39:27','2021-03-09 19:39:32',NULL,'2021-03-09',1,NULL,1,1,NULL,0,2,0,0.00000000,0,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,NULL,NULL,'muscadet',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(14,'2020-01-20 11:20:11',1,'(PROV14)',1,NULL,'',NULL,'2020-01-20 12:20:11',NULL,NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,0,NULL,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'','','muscadet',0,1,NULL,NULL,NULL,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,NULL); +INSERT INTO `llx_commande_fournisseur` VALUES (1,'2021-04-15 10:22:31',13,'CF1007-0001',1,NULL,NULL,NULL,'2020-07-11 17:13:40','2021-02-01 18:51:42','2021-02-01 18:52:04',NULL,'2021-02-01',1,NULL,12,12,NULL,0,5,0,0.00000000,0,0,39.20000000,0.00000000,0.00000000,200.00000000,239.20000000,NULL,NULL,'muscadet',2,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(2,'2021-07-11 17:49:28',1,'CF1007-0002',1,NULL,NULL,NULL,'2021-07-11 18:46:28','2021-07-11 18:47:33',NULL,NULL,'2021-07-11',1,NULL,1,NULL,NULL,0,4,0,0.00000000,0,0,0.00000000,0.00000000,0.00000000,200.00000000,200.00000000,NULL,NULL,'muscadet',4,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(3,'2020-01-20 11:22:53',17,'(PROV3)',1,NULL,NULL,NULL,'2013-08-04 23:00:52',NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,0,0.00000000,0,0,0.00000000,0.00000000,0.00000000,1079.17000000,1079.17000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'USD',1.20000000,1295.00000000,0.00000000,1295.00000000,NULL),(4,'2020-01-20 11:19:49',17,'(PROV4)',1,NULL,NULL,NULL,'2013-08-04 23:19:32',NULL,NULL,NULL,NULL,1,12,NULL,NULL,NULL,0,0,0,0.00000000,0,0,11.88000000,0.00000000,0.00000000,174.17000000,186.05000000,'Private note','Public note','muscadet',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EUR',1.00000000,174.17000000,11.88000000,186.05000000,NULL),(13,'2021-04-15 10:22:31',1,'CF1303-0004',1,NULL,NULL,NULL,'2021-03-09 19:39:18','2021-03-09 19:39:27','2021-03-09 19:39:32',NULL,'2021-03-09',1,NULL,1,1,NULL,0,2,0,0.00000000,0,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,NULL,NULL,'muscadet',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(14,'2020-01-20 11:20:11',1,'(PROV14)',1,NULL,'',NULL,'2020-01-20 12:20:11',NULL,NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,0,NULL,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'','','muscadet',0,1,NULL,NULL,NULL,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,NULL); /*!40000 ALTER TABLE `llx_commande_fournisseur` ENABLE KEYS */; UNLOCK TABLES; @@ -4690,52 +4491,6 @@ INSERT INTO `llx_commande_fournisseurdet` VALUES (1,1,NULL,NULL,'','','Chips',19 /*!40000 ALTER TABLE `llx_commande_fournisseurdet` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_commande_fournisseurdet_asset` --- - -DROP TABLE IF EXISTS `llx_commande_fournisseurdet_asset`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_commande_fournisseurdet_asset` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_commandedet` int(11) NOT NULL DEFAULT 0, - `fk_product` int(11) NOT NULL DEFAULT 0, - `fk_warehouse` int(11) NOT NULL DEFAULT 0, - `rang` int(11) NOT NULL DEFAULT 0, - `lot_number` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `carton` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `numerosuivi` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `imei` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `firmware` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `serial_number` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `weight` double NOT NULL DEFAULT 0, - `weight_reel` double NOT NULL DEFAULT 0, - `tare` double NOT NULL DEFAULT 0, - `dluo` datetime DEFAULT NULL, - `weight_unit` int(11) NOT NULL DEFAULT 0, - `weight_reel_unit` int(11) NOT NULL DEFAULT 0, - `tare_unit` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_commandedet` (`fk_commandedet`), - KEY `fk_product` (`fk_product`), - KEY `fk_warehouse` (`fk_warehouse`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_commande_fournisseurdet_asset` --- - -LOCK TABLES `llx_commande_fournisseurdet_asset` WRITE; -/*!40000 ALTER TABLE `llx_commande_fournisseurdet_asset` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_commande_fournisseurdet_asset` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_commande_fournisseurdet_extrafields` -- @@ -4889,37 +4644,6 @@ LOCK TABLES `llx_comment` WRITE; /*!40000 ALTER TABLE `llx_comment` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_cond_reglement` --- - -DROP TABLE IF EXISTS `llx_cond_reglement`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_cond_reglement` ( - `rowid` int(11) NOT NULL, - `code` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL, - `sortorder` smallint(6) DEFAULT NULL, - `active` tinyint(4) DEFAULT 1, - `libelle` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `libelle_facture` text COLLATE utf8_unicode_ci DEFAULT NULL, - `fdm` tinyint(4) DEFAULT NULL, - `nbjour` smallint(6) DEFAULT NULL, - `decalage` smallint(6) DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_cond_reglement` --- - -LOCK TABLES `llx_cond_reglement` WRITE; -/*!40000 ALTER TABLE `llx_cond_reglement` DISABLE KEYS */; -INSERT INTO `llx_cond_reglement` VALUES (1,'RECEP',1,1,'A réception','Réception de facture',0,0,NULL),(2,'30D',2,1,'30 jours','Réglement à 30 jours',0,30,NULL),(3,'30DENDMONTH',3,1,'30 jours fin de mois','Réglement à 30 jours fin de mois',1,30,NULL),(4,'60D',4,1,'60 jours','Réglement à 60 jours',0,60,NULL),(5,'60DENDMONTH',5,1,'60 jours fin de mois','Réglement à 60 jours fin de mois',1,60,NULL); -/*!40000 ALTER TABLE `llx_cond_reglement` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_const` -- @@ -4938,7 +4662,7 @@ CREATE TABLE `llx_const` ( `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`rowid`), UNIQUE KEY `uk_const` (`name`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=8878 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=8943 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4947,7 +4671,7 @@ CREATE TABLE `llx_const` ( LOCK TABLES `llx_const` WRITE; /*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; -INSERT INTO `llx_const` VALUES (8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2012-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2012-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2012-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2012-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2012-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2012-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2012-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2012-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2012-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','html',0,'Mail resiliation','2018-11-23 11:56:07'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','html',0,'Mail de validation','2018-11-23 11:56:07'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','html',0,'Mail de validation de cotisation','2018-11-23 11:56:07'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2012-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2012-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2012-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2012-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2012-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2012-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2012-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2012-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2012-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2012-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2012-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2012-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2012-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2012-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2012-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2012-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2012-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2012-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2012-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2012-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2012-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2012-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2012-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2012-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2012-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2012-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2012-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2012-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2012-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2012-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2012-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2012-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2012-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2012-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2012-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2012-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2012-07-08 11:26:27'),(239,'DELIVERY_ADDON_NUMBER',1,'mod_delivery_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2020-12-10 12:24:40'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2012-07-08 11:28:53'),(249,'DON_FORM',1,'html_cerfafr','chaine',0,'Nom du gestionnaire de formulaire de dons','2017-09-06 16:12:22'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2012-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2012-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2012-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2012-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2012-07-08 11:29:33'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2012-07-08 22:58:07'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2012-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2012-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2012-07-08 23:14:55'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2012-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2012-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2012-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2012-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2012-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2012-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2012-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2012-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2012-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2012-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2012-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2012-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2012-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2012-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2012-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2012-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2012-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2012-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2012-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2012-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2012-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2012-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2012-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2012-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2012-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2012-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2012-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2012-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2013-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2013-07-18 18:02:24'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2013-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2013-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2013-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2013-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2013-07-29 20:50:02'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2013-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2013-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2013-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2014-12-08 13:11:02'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2014-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2014-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2014-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2014-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2014-12-08 13:22:47'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2014-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2015-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2015-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2014-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2014-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2014-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2014-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2014-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2014-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2014-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2014-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2014-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2014-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2014-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2014-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2014-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2014-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2014-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2015-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2014-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2015-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2014-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2014-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2014-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2015-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2015-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2014-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2014-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2014-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2014-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2014-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2014-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2014-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2014-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2014-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2014-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2014-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2014-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2014-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2014-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2014-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2014-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2014-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2014-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2014-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.mydomain.com','chaine',0,'','2014-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2014-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'ABCDEFWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2014-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2014-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2014-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2014-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2014-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2014-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2014-12-12 19:58:05'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2015-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2015-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2015-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2015-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2015-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2015-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2015-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2015-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2015-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2015-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2015-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2015-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2015-01-19 17:01:53'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2015-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2015-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2015-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2015-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2015-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2015-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2015-02-12 16:22:55'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2015-02-13 16:20:18'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2015-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2015-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2015-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2015-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2015-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2015-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2015-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2015-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2015-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2015-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2015-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2015-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2015-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2015-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2015-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2015-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2015-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2015-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2015-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2015-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2015-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2015-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2015-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2015-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2015-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2015-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2015-03-13 15:36:29'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2015-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2015-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2015-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2015-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2015-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2015-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2015-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2015-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2015-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2015-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2015-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2015-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2015-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2015-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2015-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2015-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2015-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2015-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2015-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2015-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2015-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2015-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2015-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2015-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2015-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2015-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2015-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2015-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2015-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2015-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2015-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2015-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2015-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2015-03-23 18:06:24'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2015-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2015-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2015-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2015-09-08 23:06:14'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2016-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2016-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2016-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2016-12-21 12:51:28'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2017-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2017-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2017-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2017-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2017-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2017-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2017-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2017-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2017-11-04 15:27:46'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2017-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2017-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2017-11-15 22:38:28'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2017-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2017-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2017-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2017-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2017-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2017-11-15 22:39:00'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2017-11-15 22:39:05'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2017-11-15 22:39:08'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','text',0,'Text to print on member address sheets','2018-11-23 11:56:07'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2017-11-15 22:39:33'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2017-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2017-11-15 22:39:56'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2017-11-15 22:41:02'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2017-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2018-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2018-01-16 15:49:46'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2018-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2018-01-22 17:28:18'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2018-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2018-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2018-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2018-01-22 17:33:49'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2018-03-13 10:54:46'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2018-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2018-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2018-07-30 11:13:20'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2018-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2018-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2018-07-30 11:14:04'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2018-07-30 11:15:04'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2018-07-30 11:16:42'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2018-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2018-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2018-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2018-07-30 13:38:11'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2018-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2018-07-30 16:32:20'),(5833,'ACCOUNTING_EXPORT_SEPARATORCSV',1,',','string',0,NULL,'2017-01-29 15:11:56'),(5840,'CHARTOFACCOUNTS',1,'2','chaine',0,NULL,'2017-01-29 15:11:56'),(5841,'ACCOUNTING_EXPORT_MODELCSV',1,'1','chaine',0,NULL,'2017-01-29 15:11:56'),(5842,'ACCOUNTING_LENGTH_GACCOUNT',1,'','chaine',0,NULL,'2017-01-29 15:11:56'),(5843,'ACCOUNTING_LENGTH_AACCOUNT',1,'','chaine',0,NULL,'2017-01-29 15:11:56'),(5844,'ACCOUNTING_LIST_SORT_VENTILATION_TODO',1,'1','yesno',0,NULL,'2017-01-29 15:11:56'),(5845,'ACCOUNTING_LIST_SORT_VENTILATION_DONE',1,'1','yesno',0,NULL,'2017-01-29 15:11:56'),(5846,'ACCOUNTING_EXPORT_DATE',1,'%d%m%Y','chaine',0,NULL,'2017-01-29 15:11:56'),(5848,'ACCOUNTING_EXPORT_FORMAT',1,'csv','chaine',0,NULL,'2017-01-29 15:11:56'),(5853,'MAIN_MODULE_WORKFLOW',1,'1',NULL,0,NULL,'2017-01-29 15:12:12'),(5854,'MAIN_MODULE_NOTIFICATION',1,'1',NULL,0,NULL,'2017-01-29 15:12:35'),(5855,'MAIN_MODULE_OAUTH',1,'1',NULL,0,NULL,'2017-01-29 15:12:41'),(5883,'MAILING_LIMIT_SENDBYWEB',0,'15','chaine',1,'Number of targets to defined packet size when sending mass email','2017-01-29 17:36:33'),(5884,'MAIN_MAIL_DEBUG',1,'0','chaine',1,'','2017-01-29 18:53:02'),(5885,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2017-01-29 18:53:02'),(5925,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,'','2017-02-01 14:48:55'),(5931,'DATABASE_PWD_ENCRYPTED',1,'1','chaine',0,'','2017-02-01 15:06:04'),(5932,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2017-02-01 15:09:09'),(5933,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2017-02-01 15:09:09'),(5934,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2017-02-01 15:09:09'),(5935,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2017-02-01 15:09:09'),(5936,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2017-02-01 15:09:09'),(5937,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2017-02-01 15:09:09'),(5938,'MAIN_MAIL_EMAIL_FROM',1,'robot@example.com','chaine',0,'','2017-02-01 15:09:09'),(5939,'MAIN_MAIL_DEFAULT_FROMTYPE',1,'user','chaine',0,'','2017-02-01 15:09:09'),(5940,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2017-02-06 04:04:47'),(5941,'PRELEVEMENT_ICS',1,'ICS123456','chaine',0,'','2017-02-06 04:04:47'),(5942,'PRELEVEMENT_USER',1,'1','chaine',0,'','2017-02-06 04:04:47'),(5943,'BANKADDON_PDF',1,'sepamandate','chaine',0,'','2017-02-06 04:13:52'),(5947,'CHEQUERECEIPTS_THYME_MASK',1,'CHK{yy}{mm}-{0000@1}','chaine',0,'','2017-02-06 04:16:27'),(5948,'MAIN_MODULE_LOAN',1,'1',NULL,0,NULL,'2017-02-06 19:19:05'),(5954,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2017-02-06 23:57:37'),(5964,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2017-02-07 18:56:12'),(6019,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2017-02-15 17:18:22'),(6020,'MAIN_INFO_SOCIETE_NOM',2,'MySecondCompany','chaine',0,'','2017-02-15 17:18:22'),(6021,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2017-02-15 17:18:22'),(6022,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2017-02-15 17:18:22'),(6023,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2017-02-15 17:18:22'),(6032,'MAIN_MODULE_MULTICURRENCY',1,'1',NULL,0,NULL,'2017-02-15 17:29:59'),(6048,'SYSLOG_FACILITY',0,'LOG_USER','chaine',0,'','2017-02-15 22:37:01'),(6049,'SYSLOG_FIREPHP_INCLUDEPATH',0,'/home/ldestailleur/git/dolibarr_5.0/htdocs/includes/firephp/firephp-core/lib/','chaine',0,'','2017-02-15 22:37:01'),(6050,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2017-02-15 22:37:01'),(6051,'SYSLOG_CHROMEPHP_INCLUDEPATH',0,'/home/ldestailleur/git/dolibarr_5.0/htdocs/includes/ccampbell/chromephp/','chaine',0,'','2017-02-15 22:37:01'),(6052,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'','2017-02-15 22:37:01'),(6092,'MAIN_SIZE_SHORTLIST_LIMIT',0,'3','chaine',0,'Max length for small lists (tabs)','2017-05-12 09:02:38'),(6099,'MAIN_MODULE_SKYPE',1,'1',NULL,0,NULL,'2017-05-12 09:03:51'),(6100,'MAIN_MODULE_GRAVATAR',1,'1',NULL,0,NULL,'2017-05-12 09:03:54'),(6102,'PRODUCT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/products','chaine',0,'','2017-08-27 13:29:07'),(6103,'CONTRACT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/contracts','chaine',0,'','2017-08-27 13:29:07'),(6104,'USERGROUP_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/usergroups','chaine',0,'','2017-08-27 13:29:07'),(6105,'USER_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/users','chaine',0,'','2017-08-27 13:29:07'),(6106,'MAIN_ENABLE_OVERWRITE_TRANSLATION',1,'1','chaine',0,'Enable overwrote of translation','2017-08-27 13:29:07'),(6377,'COMMANDE_SAPHIR_MASK',1,'{yy}{mm}{000}{ttt}','chaine',0,'','2017-09-06 07:56:25'),(6518,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2017-09-06 19:43:57'),(6519,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2017-09-06 19:43:57'),(6520,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2017-09-06 19:43:57'),(6521,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2017-09-06 19:43:57'),(6522,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2017-09-06 19:44:12'),(6523,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2017-09-06 19:44:12'),(6524,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6525,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6526,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6527,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6528,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2017-09-06 19:44:12'),(6529,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2017-09-06 19:44:12'),(6543,'MAIN_SMS_DEBUG',0,'1','chaine',1,'This is to enable OVH SMS debug','2017-09-06 19:44:34'),(6562,'BLOCKEDLOG_ENTITY_FINGERPRINT',1,'b63e359ffca54d5c2bab869916eaf23d4a736703028ccbf77ce1167c5f830e7b','chaine',0,'Numeric Unique Fingerprint','2018-01-19 11:27:15'),(6564,'BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY',1,'FR','chaine',0,'This is list of country code where the module may be mandatory','2018-01-19 11:27:15'),(6565,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,'{\"authorid\":\"12\",\"ip\":\"82.240.38.230\"}','2018-01-19 11:27:34'),(6566,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,'{\"authorid\":\"12\",\"ip\":\"82.240.38.230\"}','2018-01-19 11:27:56'),(6567,'ADHERENT_ADDON_PDF',1,'standard','chaine',0,'Name of PDF model of member','2018-01-19 11:27:56'),(6636,'MAIN_MODULE_TICKET_MODELS',1,'1','chaine',0,NULL,'2019-06-05 09:15:29'),(6647,'MAIN_MODULE_SOCIALNETWORKS',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-06-05 09:16:49'),(6795,'TICKET_ADDON',1,'mod_ticket_simple','chaine',0,'','2019-09-26 12:07:59'),(6796,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_elephant','chaine',0,'','2019-09-26 12:59:00'),(6800,'CASHDESK_ID_THIRDPARTY1',1,'7','chaine',0,'','2019-09-26 15:30:09'),(6801,'CASHDESK_ID_BANKACCOUNT_CASH1',1,'3','chaine',0,'','2019-09-26 15:30:09'),(6802,'CASHDESK_ID_BANKACCOUNT_CHEQUE1',1,'4','chaine',0,'','2019-09-26 15:30:09'),(6803,'CASHDESK_ID_BANKACCOUNT_CB1',1,'4','chaine',0,'','2019-09-26 15:30:09'),(6804,'CASHDESK_ID_BANKACCOUNT_PRE1',1,'4','chaine',0,'','2019-09-26 15:30:09'),(6805,'CASHDESK_ID_BANKACCOUNT_VIR1',1,'1','chaine',0,'','2019-09-26 15:30:09'),(6806,'CASHDESK_NO_DECREASE_STOCK1',1,'1','chaine',0,'','2019-09-26 15:30:09'),(6811,'FORCEPROJECT_ON_PROPOSAL',1,'1','chaine',0,'','2019-09-27 14:52:57'),(6813,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2019-10-01 11:48:09'),(6814,'PACKTHEMEACTIVATEDTHEME',0,'modOwnTheme','chaine',0,'','2019-10-02 11:41:58'),(6815,'OWNTHEME_COL1',0,'#6a89cc','chaine',0,'','2019-10-02 11:41:58'),(6816,'OWNTHEME_COL2',0,'#60a3bc','chaine',0,'','2019-10-02 11:41:58'),(6817,'DOL_VERSION',0,'10.0.2','chaine',0,'Dolibarr version','2019-10-02 11:41:58'),(6823,'OWNTHEME_COL_BODY_BCKGRD',0,'#E9E9E9','chaine',0,'','2019-10-02 11:41:58'),(6824,'OWNTHEME_COL_LOGO_BCKGRD',0,'#474c80','chaine',0,'','2019-10-02 11:41:58'),(6825,'OWNTHEME_COL_TXT_MENU',0,'#b8c6e5','chaine',0,'','2019-10-02 11:41:58'),(6826,'OWNTHEME_COL_HEADER_BCKGRD',0,'#474c80','chaine',0,'','2019-10-02 11:41:58'),(6827,'OWNTHEME_CUSTOM_CSS',0,'0','yesno',0,'','2019-10-02 11:41:58'),(6828,'OWNTHEME_CUSTOM_JS',0,'0','yesno',0,'','2019-10-02 11:41:58'),(6829,'OWNTHEME_FIXED_MENU',0,'0','yesno',0,'','2019-10-02 11:41:58'),(6830,'OWNTHEME_D_HEADER_FONT_SIZE',0,'1.7rem','chaine',0,'','2019-10-02 11:41:58'),(6831,'OWNTHEME_S_HEADER_FONT_SIZE',0,'1.6rem','chaine',0,'','2019-10-02 11:41:58'),(6832,'OWNTHEME_D_VMENU_FONT_SIZE',0,'1.2rem','chaine',0,'','2019-10-02 11:41:58'),(6833,'OWNTHEME_S_VMENU_FONT_SIZE',0,'1.2rem','chaine',0,'','2019-10-02 11:41:58'),(6844,'MAIN_THEME',0,'eldy','chaine',0,'','2019-10-02 11:46:02'),(6845,'MAIN_MENU_STANDARD',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6846,'MAIN_MENUFRONT_STANDARD',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6847,'MAIN_MENU_SMARTPHONE',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6848,'MAIN_MENUFRONT_SMARTPHONE',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6851,'BECREATIVE_COL1',1,'#1e88e5','chaine',0,'','2019-10-02 11:47:10'),(6852,'BECREATIVE_COL2',1,'#1e88e5','chaine',0,'','2019-10-02 11:47:10'),(6853,'DOL_VERSION',1,'10.0.2','chaine',0,'Dolibarr version','2019-10-02 11:47:10'),(6859,'BECREATIVE_COL_BODY_BCKGRD',1,'#e6eaef','chaine',0,'','2019-10-02 11:47:10'),(6860,'BECREATIVE_COL_LOGO_BCKGRD',1,'#1e88e5','chaine',0,'','2019-10-02 11:47:10'),(6861,'BECREATIVE_COL_TXT_MENU',1,'#b8c6e5','chaine',0,'','2019-10-02 11:47:10'),(6862,'BECREATIVE_COL_HEADER_BCKGRD',1,'#26a69a','chaine',0,'','2019-10-02 11:47:10'),(6863,'BECREATIVE_CUSTOM_CSS',1,'0','yesno',0,'','2019-10-02 11:47:10'),(6864,'BECREATIVE_CUSTOM_JS',1,'0','yesno',0,'','2019-10-02 11:47:10'),(6865,'BECREATIVE_FIXED_MENU',1,'0','yesno',0,'','2019-10-02 11:47:10'),(6866,'BECREATIVE_D_HEADER_FONT_SIZE',1,'1.7rem','chaine',0,'','2019-10-02 11:47:10'),(6867,'BECREATIVE_S_HEADER_FONT_SIZE',1,'1.6rem','chaine',0,'','2019-10-02 11:47:10'),(6868,'BECREATIVE_D_VMENU_FONT_SIZE',1,'1.2rem','chaine',0,'','2019-10-02 11:47:10'),(6869,'BECREATIVE_S_VMENU_FONT_SIZE',1,'1.2rem','chaine',0,'','2019-10-02 11:47:10'),(6881,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6882,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6883,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6884,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6885,'ACCOUNTING_ACCOUNT_CUSTOMER',1,'411','chaine',0,'','2019-10-04 08:15:44'),(6886,'ACCOUNTING_ACCOUNT_SUPPLIER',1,'401','chaine',0,'','2019-10-04 08:15:44'),(6887,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,'','2019-10-04 08:15:44'),(6888,'ACCOUNTING_PRODUCT_BUY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6889,'ACCOUNTING_PRODUCT_SOLD_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6890,'ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6891,'ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6892,'ACCOUNTING_SERVICE_BUY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6893,'ACCOUNTING_SERVICE_SOLD_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6894,'ACCOUNTING_VAT_BUY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6895,'ACCOUNTING_VAT_SOLD_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6896,'ACCOUNTING_VAT_PAY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6897,'ACCOUNTING_ACCOUNT_SUSPENSE',1,'471','chaine',0,'','2019-10-04 08:15:44'),(6898,'ACCOUNTING_ACCOUNT_TRANSFER_CASH',1,'58','chaine',0,'','2019-10-04 08:15:44'),(6899,'DONATION_ACCOUNTINGACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6900,'ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6901,'LOAN_ACCOUNTING_ACCOUNT_CAPITAL',1,'164','chaine',0,'','2019-10-04 08:15:44'),(6902,'LOAN_ACCOUNTING_ACCOUNT_INTEREST',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6903,'LOAN_ACCOUNTING_ACCOUNT_INSURANCE',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6912,'TICKET_ENABLE_PUBLIC_INTERFACE',1,'1','chaine',0,'','2019-10-04 11:44:33'),(6934,'TICKET_NOTIFICATION_EMAIL_FROM',1,'fff','chaine',0,'','2019-10-04 12:03:51'),(6935,'TICKET_NOTIFICATION_EMAIL_TO',1,'ff','chaine',0,'','2019-10-04 12:03:51'),(6936,'TICKET_MESSAGE_MAIL_INTRO',1,'Hello,
\r\nA new response was sent on a ticket that you contact. Here is the message:\"\"','chaine',0,'','2019-10-04 12:03:51'),(6937,'TICKET_MESSAGE_MAIL_SIGNATURE',1,'

Sincerely,

\r\n\r\n

--\"\"

\r\n','chaine',0,'','2019-10-04 12:03:51'),(7027,'USER_PASSWORD_GENERATED',1,'Perso','chaine',0,'','2019-10-07 10:52:46'),(7028,'USER_PASSWORD_PATTERN',1,'12;1;0;1;0;1','chaine',0,'','2019-10-07 10:57:03'),(7034,'BOM_ADDON',1,'mod_bom_standard','chaine',0,'Name of numbering rules of BOM','2019-10-08 18:49:41'),(7035,'BOM_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/boms','chaine',0,NULL,'2019-10-08 18:49:41'),(7036,'MAIN_MODULE_GEOIPMAXMIND',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-10-08 18:51:54'),(7037,'MAIN_MODULE_DAV',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-10-08 18:54:07'),(7122,'BOM_ADDON_PDF',1,'generic_bom_odt','chaine',0,'','2019-11-28 14:00:58'),(7195,'MAIN_AGENDA_ACTIONAUTO_MO_VALIDATE',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7196,'MAIN_AGENDA_ACTIONAUTO_MO_PRODUCED',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7197,'MAIN_AGENDA_ACTIONAUTO_MO_DELETE',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7198,'MAIN_AGENDA_ACTIONAUTO_MO_CANCEL',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7201,'TICKET_PUBLIC_INTERFACE_TOPIC',1,'MyBigCompany public interface for Ticket','chaine',0,'','2019-11-29 08:49:36'),(7202,'TICKET_PUBLIC_TEXT_HOME',1,'You can create a support ticket or view existing from its identifier tracking ticket.','chaine',0,'','2019-11-29 08:49:36'),(7203,'TICKET_PUBLIC_TEXT_HELP_MESSAGE',1,'Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request.','chaine',0,'','2019-11-29 08:49:36'),(7204,'TICKET_MESSAGE_MAIL_NEW',1,'TicketMessageMailNewText','chaine',0,'','2019-11-29 08:49:36'),(7220,'MRP_MO_ADDON',1,'mod_mo_standard','chaine',0,'Name of numbering rules of MO','2019-11-29 08:57:42'),(7221,'MRP_MO_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/mrps','chaine',0,NULL,'2019-11-29 08:57:42'),(7222,'MRP_MO_ADDON_PDF',1,'generic_mo_odt','chaine',0,'','2019-11-29 08:57:47'),(7254,'MAIN_INFO_OPENINGHOURS_MONDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7255,'MAIN_INFO_OPENINGHOURS_TUESDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7256,'MAIN_INFO_OPENINGHOURS_WEDNESDAY',1,'8-13','chaine',0,'','2019-12-19 11:14:21'),(7257,'MAIN_INFO_OPENINGHOURS_THURSDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7258,'MAIN_INFO_OPENINGHOURS_FRIDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7264,'MAIN_INFO_ACCOUNTANT_NAME',1,'Bob Bookkeeper','chaine',0,'','2019-12-19 11:14:54'),(7265,'MAIN_INFO_ACCOUNTANT_TOWN',1,'Berlin','chaine',0,'','2019-12-19 11:14:54'),(7266,'MAIN_INFO_ACCOUNTANT_STATE',1,'0','chaine',0,'','2019-12-19 11:14:54'),(7267,'MAIN_INFO_ACCOUNTANT_COUNTRY',1,'5','chaine',0,'','2019-12-19 11:14:54'),(7268,'MAIN_INFO_ACCOUNTANT_MAIL',1,'mybookkeeper@example.com','chaine',0,'','2019-12-19 11:14:54'),(7313,'MODULEBUILDER_ASCIIDOCTOR',1,'asciidoctor','chaine',0,'','2019-12-20 10:57:21'),(7314,'MODULEBUILDER_ASCIIDOCTORPDF',1,'asciidoctor-pdf','chaine',0,'','2019-12-20 10:57:21'),(7337,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2019-12-20 12:10:38'),(7338,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2019-12-20 12:10:38'),(7339,'EXPENSEREPORT_ADDON',1,'mod_expensereport_jade','chaine',0,'','2019-12-20 16:33:46'),(7378,'COMPANY_USE_SEARCH_TO_SELECT',1,'0','chaine',0,'','2019-12-21 15:54:22'),(7420,'CASHDESK_SERVICES',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7421,'TAKEPOS_ROOT_CATEGORY_ID',1,'31','chaine',0,'','2019-12-23 12:15:06'),(7422,'TAKEPOSCONNECTOR',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7423,'TAKEPOS_BAR_RESTAURANT',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7424,'TAKEPOS_TICKET_VAT_GROUPPED',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7425,'TAKEPOS_AUTO_PRINT_TICKETS',1,'0','int',0,'','2019-12-23 12:15:06'),(7426,'TAKEPOS_NUMPAD',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7427,'TAKEPOS_NUM_TERMINALS',1,'1','chaine',0,'','2019-12-23 12:15:06'),(7428,'TAKEPOS_DIRECT_PAYMENT',1,'0','int',0,'','2019-12-23 12:15:06'),(7429,'TAKEPOS_CUSTOM_RECEIPT',1,'0','int',0,'','2019-12-23 12:15:06'),(7430,'TAKEPOS_EMAIL_TEMPLATE_INVOICE',1,'-1','chaine',0,'','2019-12-23 12:15:06'),(7452,'MEMBER_ENABLE_PUBLIC',1,'1','chaine',0,'','2020-01-01 10:31:46'),(7453,'MEMBER_NEWFORM_AMOUNT',1,'20','chaine',0,'','2020-01-01 10:31:46'),(7454,'MEMBER_NEWFORM_EDITAMOUNT',1,'0','chaine',0,'','2020-01-01 10:31:46'),(7455,'MEMBER_NEWFORM_PAYONLINE',1,'all','chaine',0,'','2020-01-01 10:31:46'),(7456,'MEMBER_NEWFORM_FORCETYPE',1,'1','chaine',0,'','2020-01-01 10:31:46'),(7470,'STRIPE_TEST_PUBLISHABLE_KEY',1,'pk_test_123456789','chaine',0,'','2020-01-01 11:43:44'),(7471,'STRIPE_TEST_SECRET_KEY',1,'sk_test_123456','chaine',0,'','2020-01-01 11:43:44'),(7472,'STRIPE_BANK_ACCOUNT_FOR_PAYMENTS',1,'4','chaine',0,'','2020-01-01 11:43:44'),(7473,'STRIPE_USER_ACCOUNT_FOR_ACTIONS',1,'1','chaine',0,'','2020-01-01 11:43:44'),(7489,'CAPTURESERVER_SECURITY_KEY',1,'securitykey123','chaine',0,'','2020-01-01 12:00:49'),(8136,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_DELETE',1,'1','chaine',0,'','2020-01-02 19:56:28'),(8190,'ACCOUNTING_PRODUCT_MODE',1,'ACCOUNTANCY_SELL_EXPORT','chaine',0,'','2020-01-06 01:23:30'),(8191,'MAIN_ENABLE_DEFAULT_VALUES',1,'1','chaine',0,'','2020-01-06 16:09:52'),(8210,'CABINETMED_RHEUMATOLOGY_ON',1,'0','texte',0,'','2020-01-06 16:51:43'),(8213,'MAIN_SEARCHFORM_SOCIETE',1,'1','texte',0,'','2020-01-06 16:51:43'),(8214,'CABINETMED_BANK_PATIENT_REQUIRED',1,'0','texte',0,'','2020-01-06 16:51:43'),(8215,'DIAGNOSTIC_IS_NOT_MANDATORY',1,'1','texte',0,'','2020-01-06 16:51:43'),(8216,'USER_ADDON_PDF_ODT',1,'generic_user_odt','chaine',0,'','2020-01-07 13:45:19'),(8217,'USERGROUP_ADDON_PDF_ODT',1,'generic_usergroup_odt','chaine',0,'','2020-01-07 13:45:23'),(8230,'MAIN_MODULE_EMAILCOLLECTOR',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-12 20:13:55'),(8232,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-13 14:37:09'),(8233,'MAIN_MODULE_EXPEDITION',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-13 14:38:20'),(8252,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2020-01-15 15:42:41'),(8259,'ACCOUNTING_REEXPORT',1,'1','yesno',0,'','2020-01-17 13:42:56'),(8291,'PRODUIT_MULTIPRICES_LIMIT',1,'5','chaine',0,'','2020-01-17 14:21:46'),(8293,'PRODUIT_CUSTOMER_PRICES_BY_QTY',1,'0','chaine',0,'','2020-01-17 14:21:46'),(8303,'PRODUCT_PRICE_UNIQ',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8304,'PRODUIT_MULTIPRICES',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8305,'PRODUIT_CUSTOMER_PRICES',1,'1','chaine',0,'','2020-01-17 14:25:30'),(8306,'PRODUIT_SOUSPRODUITS',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8307,'PRODUIT_DESC_IN_FORM',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8308,'PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8309,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2020-01-17 14:25:30'),(8310,'PRODUIT_FOURN_TEXTS',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8313,'MAIN_MODULE_FCKEDITOR',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-18 17:13:27'),(8314,'FCKEDITOR_ENABLE_TICKET',1,'1','chaine',0,'','2020-01-18 19:39:54'),(8321,'FCKEDITOR_SKIN',1,'moono-lisa','chaine',0,'','2020-01-18 19:41:15'),(8322,'FCKEDITOR_TEST',1,'Test < aaa
\r\n
\r\n\"\"','chaine',0,'','2020-01-18 19:41:15'),(8486,'MAIN_MULTILANGS',1,'1','chaine',0,'','2020-01-21 09:40:00'),(8491,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8492,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8496,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2020-01-21 09:40:00'),(8498,'MAIN_HELPCENTER_DISABLELINK',0,'0','chaine',0,'','2020-01-21 09:40:00'),(8501,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8554,'MAIN_INFO_SOCIETE_FACEBOOK_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8555,'MAIN_INFO_SOCIETE_TWITTER_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8556,'MAIN_INFO_SOCIETE_LINKEDIN_URL',1,'https://www.linkedin.com/company/9400559/admin/','chaine',0,'','2020-06-12 17:24:42'),(8557,'MAIN_INFO_SOCIETE_INSTAGRAM_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8558,'MAIN_INFO_SOCIETE_YOUTUBE_URL',1,'DolibarrERPCRM','chaine',0,'','2020-06-12 17:24:42'),(8559,'MAIN_INFO_SOCIETE_GITHUB_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8577,'PRODUCT_PRICE_BASE_TYPE',0,'HT','string',0,NULL,'2020-12-10 12:24:38'),(8612,'MAIN_UPLOAD_DOC',1,'50000','chaine',0,'','2020-12-10 12:26:31'),(8613,'MAIN_UMASK',1,'0664','chaine',0,'','2020-12-10 12:26:31'),(8614,'MAIN_ANTIVIRUS_PARAM',1,'--fdpass','chaine',0,'','2020-12-10 12:26:31'),(8619,'WEBSITE_EDITINLINE',1,'0','chaine',0,'','2020-12-10 12:27:05'),(8620,'WEBSITE_SUBCONTAINERSINLINE',1,'1','chaine',0,'','2020-12-10 12:27:17'),(8633,'MAIN_MODULE_RECEPTION',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:30:13'),(8634,'RECEPTION_ADDON_PDF',1,'squille','chaine',0,'Nom du gestionnaire de generation des bons receptions en PDF','2020-12-10 12:30:13'),(8635,'RECEPTION_ADDON_NUMBER',1,'mod_reception_beryl','chaine',0,'Name for numbering manager for receptions','2020-12-10 12:30:13'),(8636,'RECEPTION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/receptions','chaine',0,NULL,'2020-12-10 12:30:13'),(8637,'MAIN_SUBMODULE_RECEPTION',1,'1','chaine',0,'Enable receptions','2020-12-10 12:30:13'),(8638,'MAIN_MODULE_PAYMENTBYBANKTRANSFER',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:30:17'),(8640,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2020-12-10 12:30:20'),(8641,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->socid) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2020-12-10 12:30:20'),(8643,'MAIN_MODULE_BLOCKEDLOG',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:31:17'),(8644,'MAIN_MODULE_INCOTERM',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:31:36'),(8645,'INCOTERM_ACTIVATE',1,'','chaine',0,'Description de INCOTERM_ACTIVATE','2020-12-10 12:31:36'),(8649,'MAIN_MODULE_ACCOUNTING',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:57'),(8650,'MAIN_MODULE_AGENDA',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8651,'MAIN_MODULE_BOM',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8652,'MAIN_MODULE_BANQUE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8653,'MAIN_MODULE_BARCODE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8654,'MAIN_MODULE_CRON',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8655,'MAIN_MODULE_COMMANDE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8656,'MAIN_MODULE_DON',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:58'),(8657,'MAIN_MODULE_ECM',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:59'),(8658,'MAIN_MODULE_EXPENSEREPORT',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:59'),(8659,'MAIN_MODULE_FACTURE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:59'),(8660,'MAIN_MODULE_FOURNISSEUR',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:22:59'),(8661,'MAIN_MODULE_HOLIDAY',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8662,'MAIN_MODULE_MARGIN',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8665,'MAIN_MODULE_MRP',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8666,'MAIN_MODULE_MRP_TRIGGERS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8667,'MAIN_MODULE_MRP_LOGIN',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8668,'MAIN_MODULE_MRP_SUBSTITUTIONS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8669,'MAIN_MODULE_MRP_MENUS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8670,'MAIN_MODULE_MRP_TPL',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8671,'MAIN_MODULE_MRP_BARCODE',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8672,'MAIN_MODULE_MRP_MODELS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8673,'MAIN_MODULE_MRP_THEME',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8674,'MAIN_MODULE_MRP_MODULEFOREXTERNAL',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8675,'MAIN_MODULE_OPENSURVEY',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8676,'MAIN_MODULE_PRINTING',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8677,'MAIN_MODULE_RECRUITMENT',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8678,'MAIN_MODULE_RECRUITMENT_TRIGGERS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8679,'MAIN_MODULE_RECRUITMENT_LOGIN',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8680,'MAIN_MODULE_RECRUITMENT_SUBSTITUTIONS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8681,'MAIN_MODULE_RECRUITMENT_MENUS',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8682,'MAIN_MODULE_RECRUITMENT_TPL',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8683,'MAIN_MODULE_RECRUITMENT_BARCODE',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8684,'MAIN_MODULE_RECRUITMENT_MODELS',1,'1','chaine',0,NULL,'2021-04-15 10:23:00'),(8685,'MAIN_MODULE_RECRUITMENT_THEME',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8686,'MAIN_MODULE_RECRUITMENT_MODULEFOREXTERNAL',1,'0','chaine',0,NULL,'2021-04-15 10:23:00'),(8687,'MAIN_MODULE_RESOURCE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8688,'MAIN_MODULE_SALARIES',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8689,'MAIN_MODULE_SERVICE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:00'),(8690,'MAIN_MODULE_SOCIETE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:01'),(8691,'MAIN_MODULE_STRIPE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:01'),(8692,'MAIN_MODULE_TICKET',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:01'),(8693,'MAIN_MODULE_TICKET_TABS_0',1,'thirdparty:+ticket:Tickets:@ticket:$user->rights->ticket->read:/ticket/list.php?socid=__ID__','chaine',0,NULL,'2021-04-15 10:23:01'),(8694,'MAIN_MODULE_TICKET_TABS_1',1,'project:+ticket:Tickets:@ticket:$user->rights->ticket->read:/ticket/list.php?projectid=__ID__','chaine',0,NULL,'2021-04-15 10:23:01'),(8695,'MAIN_MODULE_TICKET_TRIGGERS',1,'1','chaine',0,NULL,'2021-04-15 10:23:01'),(8696,'TAKEPOS_PRINT_METHOD',1,'browser','chaine',0,'','2021-04-15 10:23:01'),(8697,'MAIN_MODULE_TAKEPOS',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:01'),(8698,'MAIN_MODULE_TAKEPOS_TRIGGERS',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8699,'MAIN_MODULE_TAKEPOS_LOGIN',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8700,'MAIN_MODULE_TAKEPOS_SUBSTITUTIONS',1,'1','chaine',0,NULL,'2021-04-15 10:23:01'),(8701,'MAIN_MODULE_TAKEPOS_MENUS',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8702,'MAIN_MODULE_TAKEPOS_THEME',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8703,'MAIN_MODULE_TAKEPOS_TPL',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8704,'MAIN_MODULE_TAKEPOS_BARCODE',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8705,'MAIN_MODULE_TAKEPOS_MODELS',1,'0','chaine',0,NULL,'2021-04-15 10:23:01'),(8706,'MAIN_MODULE_USER',0,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:01'),(8707,'MAIN_MODULE_VARIANTS',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:01'),(8708,'MAIN_MODULE_WEBSITE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-04-15 10:23:02'),(8709,'MAIN_VERSION_LAST_UPGRADE',0,'14.0.0-alpha','chaine',0,'Dolibarr version for last upgrade','2021-04-15 10:25:08'),(8711,'MAIN_FIRST_PING_OK_DATE',1,'20210415102513','chaine',0,'','2021-04-15 10:25:13'),(8712,'MAIN_FIRST_PING_OK_ID',1,'9646d6c55a34bca208868c98dac4678b','chaine',0,'','2021-04-15 10:25:13'),(8714,'MAIN_MODULE_SYSLOG',0,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2021-04-15 10:34:00'),(8715,'SYSLOG_LEVEL',0,'5','chaine',0,'','2021-04-15 10:34:05'),(8716,'MAIN_SECURITY_HASH_ALGO',1,'password_hash','chaine',1,'','2021-04-15 10:38:33'),(8717,'MAIN_INFO_SOCIETE_COUNTRY',1,'117:IN:India','chaine',0,'','2021-04-15 10:46:30'),(8718,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2021-04-15 10:46:30'),(8719,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street.','chaine',0,'','2021-04-15 10:46:30'),(8720,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2021-04-15 10:46:30'),(8721,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2021-04-15 10:46:30'),(8722,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2021-04-15 10:46:30'),(8723,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2021-04-15 10:46:30'),(8724,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2021-04-15 10:46:30'),(8725,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2021-04-15 10:46:30'),(8726,'MAIN_INFO_SOCIETE_WEB',1,'https://www.dolibarr.org','chaine',0,'','2021-04-15 10:46:30'),(8727,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2021-04-15 10:46:30'),(8728,'MAIN_INFO_SOCIETE_LOGO_SQUARRED',1,'mybigcompany_squarred.png','chaine',0,'','2021-04-15 10:46:30'),(8729,'MAIN_INFO_SOCIETE_LOGO_SQUARRED_SMALL',1,'mybigcompany_squarred_small.png','chaine',0,'','2021-04-15 10:46:30'),(8730,'MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI',1,'mybigcompany_squarred_mini.png','chaine',0,'','2021-04-15 10:46:30'),(8731,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2021-04-15 10:46:30'),(8732,'MAIN_INFO_GDPR',1,'Zack Zeceo','chaine',0,'','2021-04-15 10:46:30'),(8733,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2021-04-15 10:46:30'),(8734,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8735,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2021-04-15 10:46:30'),(8736,'MAIN_INFO_SIRET',1,'ABC-DEF','chaine',0,'','2021-04-15 10:46:30'),(8737,'MAIN_INFO_APE',1,'15E-45-8D','chaine',0,'','2021-04-15 10:46:30'),(8738,'MAIN_INFO_TVAINTRA',1,'FR12345678','chaine',0,'','2021-04-15 10:46:30'),(8739,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2021-04-15 10:46:30'),(8740,'SOCIETE_FISCAL_MONTH_START',1,'4','chaine',0,'','2021-04-15 10:46:30'),(8741,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2021-04-15 10:46:30'),(8742,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2021-04-15 10:46:30'),(8743,'FACTURE_LOCAL_TAX2_OPTION',1,'localtax2on','chaine',0,'','2021-04-15 10:46:30'),(8744,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8745,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8746,'MAIN_INFO_VALUE_LOCALTAX2',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8747,'MAIN_INFO_LOCALTAX_CALC2',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8759,'MAIN_LOGIN_BACKGROUND',1,'background_dolibarr.jpg','chaine',0,'','2021-04-15 10:54:37'),(8760,'MAIN_LANG_DEFAULT',1,'auto','chaine',0,'','2021-04-15 10:56:30'),(8761,'MAIN_IHM_PARAMS_REV',1,'13','chaine',0,'','2021-04-15 10:56:30'),(8762,'MAIN_THEME',1,'eldy','chaine',0,'','2021-04-15 10:56:30'),(8763,'THEME_ELDY_USE_HOVER',1,'237,244,251','chaine',0,'','2021-04-15 10:56:30'),(8764,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2021-04-15 10:56:30'),(8765,'MAIN_SIZE_SHORTLIST_LIMIT',1,'3','chaine',0,'','2021-04-15 10:56:30'),(8766,'MAIN_START_WEEK',1,'1','chaine',0,'','2021-04-15 10:56:30'),(8767,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2021-04-15 10:56:30'),(8768,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2021-04-15 10:56:30'),(8769,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2021-04-15 10:56:30'),(8770,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n__(SomeTranslationAreUncomplete)__','chaine',0,'','2021-04-15 10:56:30'),(8771,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2021-04-15 11:46:30'),(8775,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8776,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8777,'MAIN_AGENDA_ACTIONAUTO_COMPANY_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8778,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8779,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8780,'MAIN_AGENDA_ACTIONAUTO_PROPAL_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8781,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8782,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8783,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8784,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8785,'MAIN_AGENDA_ACTIONAUTO_ORDER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8787,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8788,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8789,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8790,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8791,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8792,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8793,'MAIN_AGENDA_ACTIONAUTO_BILL_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8794,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8795,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8796,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8797,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8798,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_CLOSE_SIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8799,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_CLOSE_REFUSED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8800,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8801,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8802,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8803,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8804,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8805,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8806,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8807,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8808,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8809,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8810,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8811,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8812,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8813,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8814,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8815,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8816,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8817,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8818,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8819,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8820,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8821,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8822,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8823,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8824,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8825,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8826,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8827,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8828,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8829,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8830,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8831,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8832,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8833,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8834,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8835,'MAIN_AGENDA_ACTIONAUTO_TASK_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8836,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8837,'MAIN_AGENDA_ACTIONAUTO_TASK_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8838,'MAIN_AGENDA_ACTIONAUTO_TASK_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8839,'MAIN_AGENDA_ACTIONAUTO_CONTACT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8840,'MAIN_AGENDA_ACTIONAUTO_CONTACT_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8841,'MAIN_AGENDA_ACTIONAUTO_CONTACT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8842,'MAIN_AGENDA_ACTIONAUTO_PROJECT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8843,'MAIN_AGENDA_ACTIONAUTO_PROJECT_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8844,'MAIN_AGENDA_ACTIONAUTO_PROJECT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8845,'MAIN_AGENDA_ACTIONAUTO_TICKET_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8846,'MAIN_AGENDA_ACTIONAUTO_TICKET_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8847,'MAIN_AGENDA_ACTIONAUTO_TICKET_ASSIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8848,'MAIN_AGENDA_ACTIONAUTO_TICKET_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8849,'MAIN_AGENDA_ACTIONAUTO_TICKET_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8850,'MAIN_AGENDA_ACTIONAUTO_TICKET_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8851,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8852,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8853,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8854,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8855,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_PAID',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8856,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8857,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8858,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8859,'MAIN_AGENDA_ACTIONAUTO_USER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8860,'MAIN_AGENDA_ACTIONAUTO_BOM_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8861,'MAIN_AGENDA_ACTIONAUTO_BOM_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8862,'MAIN_AGENDA_ACTIONAUTO_BOM_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8863,'MAIN_AGENDA_ACTIONAUTO_BOM_REOPEN',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8864,'MAIN_AGENDA_ACTIONAUTO_BOM_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8865,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8866,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_PRODUCED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8867,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8868,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8869,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8870,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8871,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8872,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8873,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8874,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8875,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8876,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8877,'AGENDA_REMINDER_BROWSER',1,'1','chaine',0,'','2021-04-15 13:32:29'); +INSERT INTO `llx_const` VALUES (8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2012-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2012-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2012-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2012-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2012-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2012-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2012-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2012-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2012-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','html',0,'Mail resiliation','2018-11-23 11:56:07'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','html',0,'Mail de validation','2018-11-23 11:56:07'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','html',0,'Mail de validation de cotisation','2018-11-23 11:56:07'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2012-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2012-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2012-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2012-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2012-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2012-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2012-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2012-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2012-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2012-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2012-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2012-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2012-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2012-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2012-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2012-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2012-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2012-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2012-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2012-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2012-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2012-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2012-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2012-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2012-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2012-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2012-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2012-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2012-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2012-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2012-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2012-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2012-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2012-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2012-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2012-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2012-07-08 11:26:27'),(239,'DELIVERY_ADDON_NUMBER',1,'mod_delivery_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2020-12-10 12:24:40'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2012-07-08 11:28:53'),(249,'DON_FORM',1,'html_cerfafr','chaine',0,'Nom du gestionnaire de formulaire de dons','2017-09-06 16:12:22'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2012-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2012-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2012-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2012-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2012-07-08 11:29:33'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2012-07-08 22:58:07'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2012-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2012-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2012-07-08 23:14:55'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2012-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2012-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2012-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2012-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2012-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2012-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2012-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2012-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2012-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2012-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2012-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2012-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2012-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2012-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2012-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2012-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2012-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2012-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2012-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2012-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2012-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2012-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2012-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2012-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2012-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2012-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2012-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2012-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2013-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2013-07-18 18:02:24'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2013-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2013-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2013-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2013-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2013-07-29 20:50:02'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2013-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2013-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2013-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2013-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2014-12-08 13:11:02'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2014-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2014-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2014-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2014-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2014-12-08 13:22:47'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2014-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2015-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2015-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2014-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2014-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2014-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2014-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2014-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2014-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2014-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2014-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2014-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2014-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2014-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2014-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2014-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2014-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2014-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2015-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2014-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2015-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2014-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2014-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2014-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2015-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2015-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2014-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2014-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2014-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2014-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2014-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2014-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2014-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2014-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2014-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2014-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2014-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2014-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2014-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2014-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2014-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2014-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2014-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2014-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2014-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.mydomain.com','chaine',0,'','2014-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2014-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'ABCDEFWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2014-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2014-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2014-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2014-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2014-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2014-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2014-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2014-12-12 19:58:05'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2015-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2015-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2015-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2015-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2015-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2015-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2015-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2015-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2015-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2015-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2015-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2015-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2015-01-19 17:01:53'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2015-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2015-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2015-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2015-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2015-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2015-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2015-02-12 16:22:55'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2015-02-13 16:20:18'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2015-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2015-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2015-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2015-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2015-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2015-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2015-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2015-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2015-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2015-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2015-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2015-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2015-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2015-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2015-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2015-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2015-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2015-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2015-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2015-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2015-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2015-03-13 15:29:19'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2015-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2015-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2015-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2015-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2015-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2015-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2015-03-13 15:36:29'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2015-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2015-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2015-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2015-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2015-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2015-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2015-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2015-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2015-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2015-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2015-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2015-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2015-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2015-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2015-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2015-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2015-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2015-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2015-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2015-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2015-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2015-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2015-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2015-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2015-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2015-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2015-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2015-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2015-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2015-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2015-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2015-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2015-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2015-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2015-03-23 18:06:24'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2015-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2015-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2015-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2015-09-08 23:06:14'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2016-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2016-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2016-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2016-12-21 12:51:28'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2017-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2017-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2017-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2017-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2017-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2017-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2017-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2017-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2017-11-04 15:27:46'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2017-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2017-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2017-11-15 22:38:28'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2017-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2017-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2017-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2017-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2017-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2017-11-15 22:39:00'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2017-11-15 22:39:05'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2017-11-15 22:39:08'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','text',0,'Text to print on member address sheets','2018-11-23 11:56:07'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2017-11-15 22:39:33'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2017-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2017-11-15 22:39:56'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2017-11-15 22:41:02'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2017-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2018-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2018-01-16 15:49:46'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2018-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2018-01-22 17:28:18'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2018-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2018-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2018-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2018-01-22 17:33:49'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2018-03-13 10:54:46'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2018-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2018-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2018-07-30 11:13:20'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2018-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2018-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2018-07-30 11:14:04'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2018-07-30 11:15:04'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2018-07-30 11:16:42'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2018-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2018-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2018-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2018-07-30 13:38:11'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2018-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2018-07-30 16:32:20'),(5833,'ACCOUNTING_EXPORT_SEPARATORCSV',1,',','string',0,NULL,'2017-01-29 15:11:56'),(5840,'CHARTOFACCOUNTS',1,'2','chaine',0,NULL,'2017-01-29 15:11:56'),(5841,'ACCOUNTING_EXPORT_MODELCSV',1,'1','chaine',0,NULL,'2017-01-29 15:11:56'),(5842,'ACCOUNTING_LENGTH_GACCOUNT',1,'','chaine',0,NULL,'2017-01-29 15:11:56'),(5843,'ACCOUNTING_LENGTH_AACCOUNT',1,'','chaine',0,NULL,'2017-01-29 15:11:56'),(5844,'ACCOUNTING_LIST_SORT_VENTILATION_TODO',1,'1','yesno',0,NULL,'2017-01-29 15:11:56'),(5845,'ACCOUNTING_LIST_SORT_VENTILATION_DONE',1,'1','yesno',0,NULL,'2017-01-29 15:11:56'),(5846,'ACCOUNTING_EXPORT_DATE',1,'%d%m%Y','chaine',0,NULL,'2017-01-29 15:11:56'),(5848,'ACCOUNTING_EXPORT_FORMAT',1,'csv','chaine',0,NULL,'2017-01-29 15:11:56'),(5853,'MAIN_MODULE_WORKFLOW',1,'1',NULL,0,NULL,'2017-01-29 15:12:12'),(5854,'MAIN_MODULE_NOTIFICATION',1,'1',NULL,0,NULL,'2017-01-29 15:12:35'),(5855,'MAIN_MODULE_OAUTH',1,'1',NULL,0,NULL,'2017-01-29 15:12:41'),(5883,'MAILING_LIMIT_SENDBYWEB',0,'15','chaine',1,'Number of targets to defined packet size when sending mass email','2017-01-29 17:36:33'),(5884,'MAIN_MAIL_DEBUG',1,'0','chaine',1,'','2017-01-29 18:53:02'),(5885,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2017-01-29 18:53:02'),(5925,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,'','2017-02-01 14:48:55'),(5931,'DATABASE_PWD_ENCRYPTED',1,'1','chaine',0,'','2017-02-01 15:06:04'),(5932,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2017-02-01 15:09:09'),(5933,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2017-02-01 15:09:09'),(5934,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2017-02-01 15:09:09'),(5935,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2017-02-01 15:09:09'),(5936,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2017-02-01 15:09:09'),(5937,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2017-02-01 15:09:09'),(5938,'MAIN_MAIL_EMAIL_FROM',1,'robot@example.com','chaine',0,'','2017-02-01 15:09:09'),(5939,'MAIN_MAIL_DEFAULT_FROMTYPE',1,'user','chaine',0,'','2017-02-01 15:09:09'),(5940,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2017-02-06 04:04:47'),(5941,'PRELEVEMENT_ICS',1,'ICS123456','chaine',0,'','2017-02-06 04:04:47'),(5942,'PRELEVEMENT_USER',1,'1','chaine',0,'','2017-02-06 04:04:47'),(5943,'BANKADDON_PDF',1,'sepamandate','chaine',0,'','2017-02-06 04:13:52'),(5947,'CHEQUERECEIPTS_THYME_MASK',1,'CHK{yy}{mm}-{0000@1}','chaine',0,'','2017-02-06 04:16:27'),(5948,'MAIN_MODULE_LOAN',1,'1',NULL,0,NULL,'2017-02-06 19:19:05'),(5954,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2017-02-06 23:57:37'),(5964,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2017-02-07 18:56:12'),(6019,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2017-02-15 17:18:22'),(6020,'MAIN_INFO_SOCIETE_NOM',2,'MySecondCompany','chaine',0,'','2017-02-15 17:18:22'),(6021,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2017-02-15 17:18:22'),(6022,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2017-02-15 17:18:22'),(6023,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2017-02-15 17:18:22'),(6032,'MAIN_MODULE_MULTICURRENCY',1,'1',NULL,0,NULL,'2017-02-15 17:29:59'),(6048,'SYSLOG_FACILITY',0,'LOG_USER','chaine',0,'','2017-02-15 22:37:01'),(6049,'SYSLOG_FIREPHP_INCLUDEPATH',0,'/home/ldestailleur/git/dolibarr_5.0/htdocs/includes/firephp/firephp-core/lib/','chaine',0,'','2017-02-15 22:37:01'),(6050,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2017-02-15 22:37:01'),(6051,'SYSLOG_CHROMEPHP_INCLUDEPATH',0,'/home/ldestailleur/git/dolibarr_5.0/htdocs/includes/ccampbell/chromephp/','chaine',0,'','2017-02-15 22:37:01'),(6052,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'','2017-02-15 22:37:01'),(6092,'MAIN_SIZE_SHORTLIST_LIMIT',0,'3','chaine',0,'Max length for small lists (tabs)','2017-05-12 09:02:38'),(6099,'MAIN_MODULE_SKYPE',1,'1',NULL,0,NULL,'2017-05-12 09:03:51'),(6100,'MAIN_MODULE_GRAVATAR',1,'1',NULL,0,NULL,'2017-05-12 09:03:54'),(6102,'PRODUCT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/products','chaine',0,'','2017-08-27 13:29:07'),(6103,'CONTRACT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/contracts','chaine',0,'','2017-08-27 13:29:07'),(6104,'USERGROUP_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/usergroups','chaine',0,'','2017-08-27 13:29:07'),(6105,'USER_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/users','chaine',0,'','2017-08-27 13:29:07'),(6106,'MAIN_ENABLE_OVERWRITE_TRANSLATION',1,'1','chaine',0,'Enable overwrote of translation','2017-08-27 13:29:07'),(6377,'COMMANDE_SAPHIR_MASK',1,'{yy}{mm}{000}{ttt}','chaine',0,'','2017-09-06 07:56:25'),(6518,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2017-09-06 19:43:57'),(6519,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2017-09-06 19:43:57'),(6520,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2017-09-06 19:43:57'),(6521,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2017-09-06 19:43:57'),(6522,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2017-09-06 19:44:12'),(6523,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2017-09-06 19:44:12'),(6524,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6525,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6526,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6527,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2017-09-06 19:44:12'),(6528,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2017-09-06 19:44:12'),(6529,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2017-09-06 19:44:12'),(6543,'MAIN_SMS_DEBUG',0,'1','chaine',1,'This is to enable OVH SMS debug','2017-09-06 19:44:34'),(6562,'BLOCKEDLOG_ENTITY_FINGERPRINT',1,'b63e359ffca54d5c2bab869916eaf23d4a736703028ccbf77ce1167c5f830e7b','chaine',0,'Numeric Unique Fingerprint','2018-01-19 11:27:15'),(6564,'BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY',1,'FR','chaine',0,'This is list of country code where the module may be mandatory','2018-01-19 11:27:15'),(6565,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,'{\"authorid\":\"12\",\"ip\":\"82.240.38.230\"}','2018-01-19 11:27:34'),(6566,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,'{\"authorid\":\"12\",\"ip\":\"82.240.38.230\"}','2018-01-19 11:27:56'),(6567,'ADHERENT_ADDON_PDF',1,'standard','chaine',0,'Name of PDF model of member','2018-01-19 11:27:56'),(6636,'MAIN_MODULE_TICKET_MODELS',1,'1','chaine',0,NULL,'2019-06-05 09:15:29'),(6647,'MAIN_MODULE_SOCIALNETWORKS',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-06-05 09:16:49'),(6795,'TICKET_ADDON',1,'mod_ticket_simple','chaine',0,'','2019-09-26 12:07:59'),(6796,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_elephant','chaine',0,'','2019-09-26 12:59:00'),(6800,'CASHDESK_ID_THIRDPARTY1',1,'7','chaine',0,'','2019-09-26 15:30:09'),(6801,'CASHDESK_ID_BANKACCOUNT_CASH1',1,'3','chaine',0,'','2019-09-26 15:30:09'),(6802,'CASHDESK_ID_BANKACCOUNT_CHEQUE1',1,'4','chaine',0,'','2019-09-26 15:30:09'),(6803,'CASHDESK_ID_BANKACCOUNT_CB1',1,'4','chaine',0,'','2019-09-26 15:30:09'),(6804,'CASHDESK_ID_BANKACCOUNT_PRE1',1,'4','chaine',0,'','2019-09-26 15:30:09'),(6805,'CASHDESK_ID_BANKACCOUNT_VIR1',1,'1','chaine',0,'','2019-09-26 15:30:09'),(6806,'CASHDESK_NO_DECREASE_STOCK1',1,'1','chaine',0,'','2019-09-26 15:30:09'),(6811,'FORCEPROJECT_ON_PROPOSAL',1,'1','chaine',0,'','2019-09-27 14:52:57'),(6813,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2019-10-01 11:48:09'),(6814,'PACKTHEMEACTIVATEDTHEME',0,'modOwnTheme','chaine',0,'','2019-10-02 11:41:58'),(6815,'OWNTHEME_COL1',0,'#6a89cc','chaine',0,'','2019-10-02 11:41:58'),(6816,'OWNTHEME_COL2',0,'#60a3bc','chaine',0,'','2019-10-02 11:41:58'),(6817,'DOL_VERSION',0,'10.0.2','chaine',0,'Dolibarr version','2019-10-02 11:41:58'),(6823,'OWNTHEME_COL_BODY_BCKGRD',0,'#E9E9E9','chaine',0,'','2019-10-02 11:41:58'),(6824,'OWNTHEME_COL_LOGO_BCKGRD',0,'#474c80','chaine',0,'','2019-10-02 11:41:58'),(6825,'OWNTHEME_COL_TXT_MENU',0,'#b8c6e5','chaine',0,'','2019-10-02 11:41:58'),(6826,'OWNTHEME_COL_HEADER_BCKGRD',0,'#474c80','chaine',0,'','2019-10-02 11:41:58'),(6827,'OWNTHEME_CUSTOM_CSS',0,'0','yesno',0,'','2019-10-02 11:41:58'),(6828,'OWNTHEME_CUSTOM_JS',0,'0','yesno',0,'','2019-10-02 11:41:58'),(6829,'OWNTHEME_FIXED_MENU',0,'0','yesno',0,'','2019-10-02 11:41:58'),(6830,'OWNTHEME_D_HEADER_FONT_SIZE',0,'1.7rem','chaine',0,'','2019-10-02 11:41:58'),(6831,'OWNTHEME_S_HEADER_FONT_SIZE',0,'1.6rem','chaine',0,'','2019-10-02 11:41:58'),(6832,'OWNTHEME_D_VMENU_FONT_SIZE',0,'1.2rem','chaine',0,'','2019-10-02 11:41:58'),(6833,'OWNTHEME_S_VMENU_FONT_SIZE',0,'1.2rem','chaine',0,'','2019-10-02 11:41:58'),(6844,'MAIN_THEME',0,'eldy','chaine',0,'','2019-10-02 11:46:02'),(6845,'MAIN_MENU_STANDARD',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6846,'MAIN_MENUFRONT_STANDARD',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6847,'MAIN_MENU_SMARTPHONE',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6848,'MAIN_MENUFRONT_SMARTPHONE',0,'eldy_menu.php','chaine',0,'','2019-10-02 11:46:02'),(6851,'BECREATIVE_COL1',1,'#1e88e5','chaine',0,'','2019-10-02 11:47:10'),(6852,'BECREATIVE_COL2',1,'#1e88e5','chaine',0,'','2019-10-02 11:47:10'),(6853,'DOL_VERSION',1,'10.0.2','chaine',0,'Dolibarr version','2019-10-02 11:47:10'),(6859,'BECREATIVE_COL_BODY_BCKGRD',1,'#e6eaef','chaine',0,'','2019-10-02 11:47:10'),(6860,'BECREATIVE_COL_LOGO_BCKGRD',1,'#1e88e5','chaine',0,'','2019-10-02 11:47:10'),(6861,'BECREATIVE_COL_TXT_MENU',1,'#b8c6e5','chaine',0,'','2019-10-02 11:47:10'),(6862,'BECREATIVE_COL_HEADER_BCKGRD',1,'#26a69a','chaine',0,'','2019-10-02 11:47:10'),(6863,'BECREATIVE_CUSTOM_CSS',1,'0','yesno',0,'','2019-10-02 11:47:10'),(6864,'BECREATIVE_CUSTOM_JS',1,'0','yesno',0,'','2019-10-02 11:47:10'),(6865,'BECREATIVE_FIXED_MENU',1,'0','yesno',0,'','2019-10-02 11:47:10'),(6866,'BECREATIVE_D_HEADER_FONT_SIZE',1,'1.7rem','chaine',0,'','2019-10-02 11:47:10'),(6867,'BECREATIVE_S_HEADER_FONT_SIZE',1,'1.6rem','chaine',0,'','2019-10-02 11:47:10'),(6868,'BECREATIVE_D_VMENU_FONT_SIZE',1,'1.2rem','chaine',0,'','2019-10-02 11:47:10'),(6869,'BECREATIVE_S_VMENU_FONT_SIZE',1,'1.2rem','chaine',0,'','2019-10-02 11:47:10'),(6881,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6882,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6883,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6884,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2019-10-02 11:48:49'),(6885,'ACCOUNTING_ACCOUNT_CUSTOMER',1,'411','chaine',0,'','2019-10-04 08:15:44'),(6886,'ACCOUNTING_ACCOUNT_SUPPLIER',1,'401','chaine',0,'','2019-10-04 08:15:44'),(6887,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,'','2019-10-04 08:15:44'),(6888,'ACCOUNTING_PRODUCT_BUY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6889,'ACCOUNTING_PRODUCT_SOLD_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6890,'ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6891,'ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6892,'ACCOUNTING_SERVICE_BUY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6893,'ACCOUNTING_SERVICE_SOLD_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6894,'ACCOUNTING_VAT_BUY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6895,'ACCOUNTING_VAT_SOLD_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6896,'ACCOUNTING_VAT_PAY_ACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6897,'ACCOUNTING_ACCOUNT_SUSPENSE',1,'471','chaine',0,'','2019-10-04 08:15:44'),(6898,'ACCOUNTING_ACCOUNT_TRANSFER_CASH',1,'58','chaine',0,'','2019-10-04 08:15:44'),(6899,'DONATION_ACCOUNTINGACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6900,'ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6901,'LOAN_ACCOUNTING_ACCOUNT_CAPITAL',1,'164','chaine',0,'','2019-10-04 08:15:44'),(6902,'LOAN_ACCOUNTING_ACCOUNT_INTEREST',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6903,'LOAN_ACCOUNTING_ACCOUNT_INSURANCE',1,'-1','chaine',0,'','2019-10-04 08:15:44'),(6912,'TICKET_ENABLE_PUBLIC_INTERFACE',1,'1','chaine',0,'','2019-10-04 11:44:33'),(6934,'TICKET_NOTIFICATION_EMAIL_FROM',1,'fff','chaine',0,'','2019-10-04 12:03:51'),(6935,'TICKET_NOTIFICATION_EMAIL_TO',1,'ff','chaine',0,'','2019-10-04 12:03:51'),(6936,'TICKET_MESSAGE_MAIL_INTRO',1,'Hello,
\r\nA new response was sent on a ticket that you contact. Here is the message:\"\"','chaine',0,'','2019-10-04 12:03:51'),(6937,'TICKET_MESSAGE_MAIL_SIGNATURE',1,'

Sincerely,

\r\n\r\n

--\"\"

\r\n','chaine',0,'','2019-10-04 12:03:51'),(7027,'USER_PASSWORD_GENERATED',1,'Perso','chaine',0,'','2019-10-07 10:52:46'),(7028,'USER_PASSWORD_PATTERN',1,'12;1;0;1;0;1','chaine',0,'','2019-10-07 10:57:03'),(7034,'BOM_ADDON',1,'mod_bom_standard','chaine',0,'Name of numbering rules of BOM','2019-10-08 18:49:41'),(7035,'BOM_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/boms','chaine',0,NULL,'2019-10-08 18:49:41'),(7036,'MAIN_MODULE_GEOIPMAXMIND',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-10-08 18:51:54'),(7037,'MAIN_MODULE_DAV',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-10-08 18:54:07'),(7122,'BOM_ADDON_PDF',1,'generic_bom_odt','chaine',0,'','2019-11-28 14:00:58'),(7195,'MAIN_AGENDA_ACTIONAUTO_MO_VALIDATE',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7196,'MAIN_AGENDA_ACTIONAUTO_MO_PRODUCED',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7197,'MAIN_AGENDA_ACTIONAUTO_MO_DELETE',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7198,'MAIN_AGENDA_ACTIONAUTO_MO_CANCEL',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7201,'TICKET_PUBLIC_INTERFACE_TOPIC',1,'MyBigCompany public interface for Ticket','chaine',0,'','2019-11-29 08:49:36'),(7202,'TICKET_PUBLIC_TEXT_HOME',1,'You can create a support ticket or view existing from its identifier tracking ticket.','chaine',0,'','2019-11-29 08:49:36'),(7203,'TICKET_PUBLIC_TEXT_HELP_MESSAGE',1,'Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request.','chaine',0,'','2019-11-29 08:49:36'),(7204,'TICKET_MESSAGE_MAIL_NEW',1,'TicketMessageMailNewText','chaine',0,'','2019-11-29 08:49:36'),(7220,'MRP_MO_ADDON',1,'mod_mo_standard','chaine',0,'Name of numbering rules of MO','2019-11-29 08:57:42'),(7221,'MRP_MO_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/mrps','chaine',0,NULL,'2019-11-29 08:57:42'),(7222,'MRP_MO_ADDON_PDF',1,'generic_mo_odt','chaine',0,'','2019-11-29 08:57:47'),(7254,'MAIN_INFO_OPENINGHOURS_MONDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7255,'MAIN_INFO_OPENINGHOURS_TUESDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7256,'MAIN_INFO_OPENINGHOURS_WEDNESDAY',1,'8-13','chaine',0,'','2019-12-19 11:14:21'),(7257,'MAIN_INFO_OPENINGHOURS_THURSDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7258,'MAIN_INFO_OPENINGHOURS_FRIDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7264,'MAIN_INFO_ACCOUNTANT_NAME',1,'Bob Bookkeeper','chaine',0,'','2019-12-19 11:14:54'),(7265,'MAIN_INFO_ACCOUNTANT_TOWN',1,'Berlin','chaine',0,'','2019-12-19 11:14:54'),(7266,'MAIN_INFO_ACCOUNTANT_STATE',1,'0','chaine',0,'','2019-12-19 11:14:54'),(7267,'MAIN_INFO_ACCOUNTANT_COUNTRY',1,'5','chaine',0,'','2019-12-19 11:14:54'),(7268,'MAIN_INFO_ACCOUNTANT_MAIL',1,'mybookkeeper@example.com','chaine',0,'','2019-12-19 11:14:54'),(7313,'MODULEBUILDER_ASCIIDOCTOR',1,'asciidoctor','chaine',0,'','2019-12-20 10:57:21'),(7314,'MODULEBUILDER_ASCIIDOCTORPDF',1,'asciidoctor-pdf','chaine',0,'','2019-12-20 10:57:21'),(7337,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2019-12-20 12:10:38'),(7338,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2019-12-20 12:10:38'),(7339,'EXPENSEREPORT_ADDON',1,'mod_expensereport_jade','chaine',0,'','2019-12-20 16:33:46'),(7378,'COMPANY_USE_SEARCH_TO_SELECT',1,'0','chaine',0,'','2019-12-21 15:54:22'),(7420,'CASHDESK_SERVICES',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7421,'TAKEPOS_ROOT_CATEGORY_ID',1,'31','chaine',0,'','2019-12-23 12:15:06'),(7422,'TAKEPOSCONNECTOR',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7423,'TAKEPOS_BAR_RESTAURANT',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7424,'TAKEPOS_TICKET_VAT_GROUPPED',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7425,'TAKEPOS_AUTO_PRINT_TICKETS',1,'0','int',0,'','2019-12-23 12:15:06'),(7426,'TAKEPOS_NUMPAD',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7427,'TAKEPOS_NUM_TERMINALS',1,'1','chaine',0,'','2019-12-23 12:15:06'),(7428,'TAKEPOS_DIRECT_PAYMENT',1,'0','int',0,'','2019-12-23 12:15:06'),(7429,'TAKEPOS_CUSTOM_RECEIPT',1,'0','int',0,'','2019-12-23 12:15:06'),(7430,'TAKEPOS_EMAIL_TEMPLATE_INVOICE',1,'-1','chaine',0,'','2019-12-23 12:15:06'),(7452,'MEMBER_ENABLE_PUBLIC',1,'1','chaine',0,'','2020-01-01 10:31:46'),(7453,'MEMBER_NEWFORM_AMOUNT',1,'20','chaine',0,'','2020-01-01 10:31:46'),(7454,'MEMBER_NEWFORM_EDITAMOUNT',1,'0','chaine',0,'','2020-01-01 10:31:46'),(7455,'MEMBER_NEWFORM_PAYONLINE',1,'all','chaine',0,'','2020-01-01 10:31:46'),(7456,'MEMBER_NEWFORM_FORCETYPE',1,'1','chaine',0,'','2020-01-01 10:31:46'),(7470,'STRIPE_TEST_PUBLISHABLE_KEY',1,'pk_test_123456789','chaine',0,'','2020-01-01 11:43:44'),(7471,'STRIPE_TEST_SECRET_KEY',1,'sk_test_123456','chaine',0,'','2020-01-01 11:43:44'),(7472,'STRIPE_BANK_ACCOUNT_FOR_PAYMENTS',1,'4','chaine',0,'','2020-01-01 11:43:44'),(7473,'STRIPE_USER_ACCOUNT_FOR_ACTIONS',1,'1','chaine',0,'','2020-01-01 11:43:44'),(7489,'CAPTURESERVER_SECURITY_KEY',1,'securitykey123','chaine',0,'','2020-01-01 12:00:49'),(8136,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_DELETE',1,'1','chaine',0,'','2020-01-02 19:56:28'),(8190,'ACCOUNTING_PRODUCT_MODE',1,'ACCOUNTANCY_SELL_EXPORT','chaine',0,'','2020-01-06 01:23:30'),(8191,'MAIN_ENABLE_DEFAULT_VALUES',1,'1','chaine',0,'','2020-01-06 16:09:52'),(8210,'CABINETMED_RHEUMATOLOGY_ON',1,'0','texte',0,'','2020-01-06 16:51:43'),(8213,'MAIN_SEARCHFORM_SOCIETE',1,'1','texte',0,'','2020-01-06 16:51:43'),(8214,'CABINETMED_BANK_PATIENT_REQUIRED',1,'0','texte',0,'','2020-01-06 16:51:43'),(8215,'DIAGNOSTIC_IS_NOT_MANDATORY',1,'1','texte',0,'','2020-01-06 16:51:43'),(8216,'USER_ADDON_PDF_ODT',1,'generic_user_odt','chaine',0,'','2020-01-07 13:45:19'),(8217,'USERGROUP_ADDON_PDF_ODT',1,'generic_usergroup_odt','chaine',0,'','2020-01-07 13:45:23'),(8230,'MAIN_MODULE_EMAILCOLLECTOR',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-12 20:13:55'),(8232,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-13 14:37:09'),(8233,'MAIN_MODULE_EXPEDITION',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-13 14:38:20'),(8252,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2020-01-15 15:42:41'),(8259,'ACCOUNTING_REEXPORT',1,'1','yesno',0,'','2020-01-17 13:42:56'),(8291,'PRODUIT_MULTIPRICES_LIMIT',1,'5','chaine',0,'','2020-01-17 14:21:46'),(8293,'PRODUIT_CUSTOMER_PRICES_BY_QTY',1,'0','chaine',0,'','2020-01-17 14:21:46'),(8303,'PRODUCT_PRICE_UNIQ',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8304,'PRODUIT_MULTIPRICES',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8305,'PRODUIT_CUSTOMER_PRICES',1,'1','chaine',0,'','2020-01-17 14:25:30'),(8306,'PRODUIT_SOUSPRODUITS',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8307,'PRODUIT_DESC_IN_FORM',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8308,'PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8309,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2020-01-17 14:25:30'),(8310,'PRODUIT_FOURN_TEXTS',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8313,'MAIN_MODULE_FCKEDITOR',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-18 17:13:27'),(8314,'FCKEDITOR_ENABLE_TICKET',1,'1','chaine',0,'','2020-01-18 19:39:54'),(8321,'FCKEDITOR_SKIN',1,'moono-lisa','chaine',0,'','2020-01-18 19:41:15'),(8322,'FCKEDITOR_TEST',1,'Test < aaa
\r\n
\r\n\"\"','chaine',0,'','2020-01-18 19:41:15'),(8486,'MAIN_MULTILANGS',1,'1','chaine',0,'','2020-01-21 09:40:00'),(8491,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8492,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8496,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2020-01-21 09:40:00'),(8498,'MAIN_HELPCENTER_DISABLELINK',0,'0','chaine',0,'','2020-01-21 09:40:00'),(8501,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8554,'MAIN_INFO_SOCIETE_FACEBOOK_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8555,'MAIN_INFO_SOCIETE_TWITTER_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8556,'MAIN_INFO_SOCIETE_LINKEDIN_URL',1,'https://www.linkedin.com/company/9400559/admin/','chaine',0,'','2020-06-12 17:24:42'),(8557,'MAIN_INFO_SOCIETE_INSTAGRAM_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8558,'MAIN_INFO_SOCIETE_YOUTUBE_URL',1,'DolibarrERPCRM','chaine',0,'','2020-06-12 17:24:42'),(8559,'MAIN_INFO_SOCIETE_GITHUB_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8577,'PRODUCT_PRICE_BASE_TYPE',0,'HT','string',0,NULL,'2020-12-10 12:24:38'),(8612,'MAIN_UPLOAD_DOC',1,'50000','chaine',0,'','2020-12-10 12:26:31'),(8613,'MAIN_UMASK',1,'0664','chaine',0,'','2020-12-10 12:26:31'),(8614,'MAIN_ANTIVIRUS_PARAM',1,'--fdpass','chaine',0,'','2020-12-10 12:26:31'),(8619,'WEBSITE_EDITINLINE',1,'0','chaine',0,'','2020-12-10 12:27:05'),(8620,'WEBSITE_SUBCONTAINERSINLINE',1,'1','chaine',0,'','2020-12-10 12:27:17'),(8633,'MAIN_MODULE_RECEPTION',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:30:13'),(8634,'RECEPTION_ADDON_PDF',1,'squille','chaine',0,'Nom du gestionnaire de generation des bons receptions en PDF','2020-12-10 12:30:13'),(8635,'RECEPTION_ADDON_NUMBER',1,'mod_reception_beryl','chaine',0,'Name for numbering manager for receptions','2020-12-10 12:30:13'),(8636,'RECEPTION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/receptions','chaine',0,NULL,'2020-12-10 12:30:13'),(8637,'MAIN_SUBMODULE_RECEPTION',1,'1','chaine',0,'Enable receptions','2020-12-10 12:30:13'),(8638,'MAIN_MODULE_PAYMENTBYBANKTRANSFER',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:30:17'),(8640,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2020-12-10 12:30:20'),(8641,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->socid) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2020-12-10 12:30:20'),(8643,'MAIN_MODULE_BLOCKEDLOG',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:31:17'),(8644,'MAIN_MODULE_INCOTERM',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:31:36'),(8645,'INCOTERM_ACTIVATE',1,'','chaine',0,'Description de INCOTERM_ACTIVATE','2020-12-10 12:31:36'),(8715,'SYSLOG_LEVEL',0,'5','chaine',0,'','2021-04-15 10:34:05'),(8716,'MAIN_SECURITY_HASH_ALGO',1,'password_hash','chaine',1,'','2021-04-15 10:38:33'),(8717,'MAIN_INFO_SOCIETE_COUNTRY',1,'117:IN:India','chaine',0,'','2021-04-15 10:46:30'),(8718,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2021-04-15 10:46:30'),(8719,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street.','chaine',0,'','2021-04-15 10:46:30'),(8720,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2021-04-15 10:46:30'),(8721,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2021-04-15 10:46:30'),(8722,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2021-04-15 10:46:30'),(8723,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2021-04-15 10:46:30'),(8724,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2021-04-15 10:46:30'),(8725,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2021-04-15 10:46:30'),(8726,'MAIN_INFO_SOCIETE_WEB',1,'https://www.dolibarr.org','chaine',0,'','2021-04-15 10:46:30'),(8727,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2021-04-15 10:46:30'),(8728,'MAIN_INFO_SOCIETE_LOGO_SQUARRED',1,'mybigcompany_squarred.png','chaine',0,'','2021-04-15 10:46:30'),(8729,'MAIN_INFO_SOCIETE_LOGO_SQUARRED_SMALL',1,'mybigcompany_squarred_small.png','chaine',0,'','2021-04-15 10:46:30'),(8730,'MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI',1,'mybigcompany_squarred_mini.png','chaine',0,'','2021-04-15 10:46:30'),(8731,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2021-04-15 10:46:30'),(8732,'MAIN_INFO_GDPR',1,'Zack Zeceo','chaine',0,'','2021-04-15 10:46:30'),(8733,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2021-04-15 10:46:30'),(8734,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8735,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2021-04-15 10:46:30'),(8736,'MAIN_INFO_SIRET',1,'ABC-DEF','chaine',0,'','2021-04-15 10:46:30'),(8737,'MAIN_INFO_APE',1,'15E-45-8D','chaine',0,'','2021-04-15 10:46:30'),(8738,'MAIN_INFO_TVAINTRA',1,'FR12345678','chaine',0,'','2021-04-15 10:46:30'),(8739,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2021-04-15 10:46:30'),(8740,'SOCIETE_FISCAL_MONTH_START',1,'4','chaine',0,'','2021-04-15 10:46:30'),(8741,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2021-04-15 10:46:30'),(8742,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2021-04-15 10:46:30'),(8743,'FACTURE_LOCAL_TAX2_OPTION',1,'localtax2on','chaine',0,'','2021-04-15 10:46:30'),(8744,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8745,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8746,'MAIN_INFO_VALUE_LOCALTAX2',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8747,'MAIN_INFO_LOCALTAX_CALC2',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8759,'MAIN_LOGIN_BACKGROUND',1,'background_dolibarr.jpg','chaine',0,'','2021-04-15 10:54:37'),(8760,'MAIN_LANG_DEFAULT',1,'auto','chaine',0,'','2021-04-15 10:56:30'),(8761,'MAIN_IHM_PARAMS_REV',1,'13','chaine',0,'','2021-04-15 10:56:30'),(8762,'MAIN_THEME',1,'eldy','chaine',0,'','2021-04-15 10:56:30'),(8763,'THEME_ELDY_USE_HOVER',1,'237,244,251','chaine',0,'','2021-04-15 10:56:30'),(8764,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2021-04-15 10:56:30'),(8765,'MAIN_SIZE_SHORTLIST_LIMIT',1,'3','chaine',0,'','2021-04-15 10:56:30'),(8766,'MAIN_START_WEEK',1,'1','chaine',0,'','2021-04-15 10:56:30'),(8767,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2021-04-15 10:56:30'),(8768,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2021-04-15 10:56:30'),(8769,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2021-04-15 10:56:30'),(8770,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n__(SomeTranslationAreUncomplete)__','chaine',0,'','2021-04-15 10:56:30'),(8771,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2021-04-15 11:46:30'),(8775,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8776,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8777,'MAIN_AGENDA_ACTIONAUTO_COMPANY_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8778,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8779,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8780,'MAIN_AGENDA_ACTIONAUTO_PROPAL_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8781,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8782,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8783,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8784,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8785,'MAIN_AGENDA_ACTIONAUTO_ORDER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8787,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8788,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8789,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8790,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8791,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8792,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8793,'MAIN_AGENDA_ACTIONAUTO_BILL_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8794,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8795,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8796,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8797,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8798,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_CLOSE_SIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8799,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_CLOSE_REFUSED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8800,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8801,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8802,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8803,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8804,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8805,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8806,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8807,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8808,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8809,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8810,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8811,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8812,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8813,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8814,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8815,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8816,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8817,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8818,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8819,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8820,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8821,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8822,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8823,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8824,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8825,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8826,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8827,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8828,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8829,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8830,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8831,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8832,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8833,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8834,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8835,'MAIN_AGENDA_ACTIONAUTO_TASK_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8836,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8837,'MAIN_AGENDA_ACTIONAUTO_TASK_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8838,'MAIN_AGENDA_ACTIONAUTO_TASK_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8839,'MAIN_AGENDA_ACTIONAUTO_CONTACT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8840,'MAIN_AGENDA_ACTIONAUTO_CONTACT_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8841,'MAIN_AGENDA_ACTIONAUTO_CONTACT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8842,'MAIN_AGENDA_ACTIONAUTO_PROJECT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8843,'MAIN_AGENDA_ACTIONAUTO_PROJECT_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8844,'MAIN_AGENDA_ACTIONAUTO_PROJECT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8845,'MAIN_AGENDA_ACTIONAUTO_TICKET_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8846,'MAIN_AGENDA_ACTIONAUTO_TICKET_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8847,'MAIN_AGENDA_ACTIONAUTO_TICKET_ASSIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8848,'MAIN_AGENDA_ACTIONAUTO_TICKET_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8849,'MAIN_AGENDA_ACTIONAUTO_TICKET_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8850,'MAIN_AGENDA_ACTIONAUTO_TICKET_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8851,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8852,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8853,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8854,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8855,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_PAID',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8856,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8857,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8858,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8859,'MAIN_AGENDA_ACTIONAUTO_USER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8860,'MAIN_AGENDA_ACTIONAUTO_BOM_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8861,'MAIN_AGENDA_ACTIONAUTO_BOM_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8862,'MAIN_AGENDA_ACTIONAUTO_BOM_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8863,'MAIN_AGENDA_ACTIONAUTO_BOM_REOPEN',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8864,'MAIN_AGENDA_ACTIONAUTO_BOM_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8865,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8866,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_PRODUCED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8867,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8868,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8869,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8870,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8871,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8872,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8873,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8874,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8875,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8876,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8877,'AGENDA_REMINDER_BROWSER',1,'1','chaine',0,'','2021-04-15 13:32:29'),(8878,'MAIN_MODULE_ACCOUNTING',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:45'),(8879,'MAIN_MODULE_AGENDA',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:45'),(8880,'MAIN_MODULE_BOM',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8881,'MAIN_MODULE_BANQUE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8882,'MAIN_MODULE_BARCODE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8883,'MAIN_MODULE_CRON',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8884,'MAIN_MODULE_COMMANDE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8885,'MAIN_MODULE_DON',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8886,'MAIN_MODULE_ECM',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8887,'MAIN_MODULE_EXPENSEREPORT',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8888,'MAIN_MODULE_FACTURE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8889,'MAIN_MODULE_FOURNISSEUR',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8890,'MAIN_MODULE_HOLIDAY',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8891,'MAIN_MODULE_MARGIN',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8894,'MAIN_MODULE_MRP',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8895,'MAIN_MODULE_MRP_TRIGGERS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8896,'MAIN_MODULE_MRP_LOGIN',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8897,'MAIN_MODULE_MRP_SUBSTITUTIONS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8898,'MAIN_MODULE_MRP_MENUS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8899,'MAIN_MODULE_MRP_TPL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8900,'MAIN_MODULE_MRP_BARCODE',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8901,'MAIN_MODULE_MRP_MODELS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8902,'MAIN_MODULE_MRP_THEME',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8903,'MAIN_MODULE_MRP_MODULEFOREXTERNAL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8904,'MAIN_MODULE_OPENSURVEY',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8905,'MAIN_MODULE_PRINTING',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8906,'MAIN_MODULE_RECRUITMENT',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8907,'MAIN_MODULE_RECRUITMENT_TRIGGERS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8908,'MAIN_MODULE_RECRUITMENT_LOGIN',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8909,'MAIN_MODULE_RECRUITMENT_SUBSTITUTIONS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8910,'MAIN_MODULE_RECRUITMENT_MENUS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8911,'MAIN_MODULE_RECRUITMENT_TPL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8912,'MAIN_MODULE_RECRUITMENT_BARCODE',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8913,'MAIN_MODULE_RECRUITMENT_MODELS',1,'1','chaine',0,NULL,'2021-07-11 17:49:47'),(8914,'MAIN_MODULE_RECRUITMENT_THEME',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8915,'MAIN_MODULE_RECRUITMENT_MODULEFOREXTERNAL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8916,'MAIN_MODULE_RESOURCE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8917,'MAIN_MODULE_SALARIES',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8918,'MAIN_MODULE_SERVICE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8919,'MAIN_MODULE_SYSLOG',0,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8920,'MAIN_MODULE_SOCIETE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8921,'MAIN_MODULE_STRIPE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8922,'MAIN_MODULE_TICKET',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8923,'MAIN_MODULE_TICKET_TABS_0',1,'thirdparty:+ticket:Tickets:@ticket:$user->rights->ticket->read:/ticket/list.php?socid=__ID__','chaine',0,NULL,'2021-07-11 17:49:47'),(8924,'MAIN_MODULE_TICKET_TABS_1',1,'project:+ticket:Tickets:@ticket:$user->rights->ticket->read:/ticket/list.php?projectid=__ID__','chaine',0,NULL,'2021-07-11 17:49:47'),(8925,'MAIN_MODULE_TICKET_TRIGGERS',1,'1','chaine',0,NULL,'2021-07-11 17:49:47'),(8926,'TAKEPOS_PRINT_METHOD',1,'browser','chaine',0,'','2021-07-11 17:49:47'),(8927,'MAIN_MODULE_TAKEPOS',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8928,'MAIN_MODULE_TAKEPOS_TRIGGERS',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8929,'MAIN_MODULE_TAKEPOS_LOGIN',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8930,'MAIN_MODULE_TAKEPOS_SUBSTITUTIONS',1,'1','chaine',0,NULL,'2021-07-11 17:49:48'),(8931,'MAIN_MODULE_TAKEPOS_MENUS',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8932,'MAIN_MODULE_TAKEPOS_THEME',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8933,'MAIN_MODULE_TAKEPOS_TPL',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8934,'MAIN_MODULE_TAKEPOS_BARCODE',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8935,'MAIN_MODULE_TAKEPOS_MODELS',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8936,'MAIN_MODULE_USER',0,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8937,'MAIN_MODULE_VARIANTS',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8938,'MAIN_MODULE_WEBSITE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8939,'MAIN_VERSION_LAST_UPGRADE',0,'14.0.0','chaine',0,'Dolibarr version for last upgrade','2021-07-11 17:49:49'),(8941,'MAIN_FIRST_PING_OK_DATE',1,'20210711174950','chaine',0,'','2021-07-11 17:49:50'),(8942,'MAIN_FIRST_PING_OK_ID',1,'9646d6c55a34bca208868c98dac4678b','chaine',0,'','2021-07-11 17:49:50'); /*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; UNLOCK TABLES; @@ -5206,7 +4930,7 @@ CREATE TABLE `llx_cronjob` ( `test` varchar(255) COLLATE utf8_unicode_ci DEFAULT '1', `processing` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5215,38 +4939,10 @@ CREATE TABLE `llx_cronjob` ( LOCK TABLES `llx_cronjob` WRITE; /*!40000 ALTER TABLE `llx_cronjob` DISABLE KEYS */; -INSERT INTO `llx_cronjob` VALUES (1,'2015-03-23 18:18:39','2015-03-23 19:18:39','command','aaa','aaaa','','','','','','',0,NULL,NULL,'2015-03-23 19:18:00',NULL,NULL,NULL,NULL,'3600',3600,0,0,1,1,'',NULL,0,0,0,NULL,'1',0),(40,'2018-11-23 11:58:15','2018-11-23 12:58:15','method','SendEmailsReminders',NULL,'comm/action/class/actioncomm.class.php','ActionComm','sendEmailsReminder',NULL,NULL,'agenda',10,NULL,NULL,'2018-11-23 12:58:15',NULL,NULL,NULL,NULL,'60',10,NULL,1,NULL,NULL,'SendEMailsReminder',NULL,1,0,0,NULL,'$conf->agenda->enabled',0),(41,'2018-11-23 11:58:16','2018-11-23 12:58:16','method','PurgeDeleteTemporaryFilesShort',NULL,'core/class/utils.class.php','Utils','purgeFiles',NULL,NULL,'cron',50,NULL,NULL,'2018-11-23 12:58:16',NULL,NULL,NULL,NULL,'604800',2,NULL,1,NULL,NULL,'PurgeDeleteTemporaryFiles',NULL,0,0,0,NULL,'1',0),(42,'2020-01-15 15:43:12','2018-11-23 12:58:16','method','MakeLocalDatabaseDumpShort',NULL,'core/class/utils.class.php','Utils','dumpDatabase','none,auto,1,auto,10',NULL,'cron',90,'2020-01-15 19:43:12','2020-01-17 12:58:16','2018-11-23 12:58:16',NULL,'2020-01-15 19:43:12','-1','Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.\nFailed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.','604800',1,2,1,NULL,12,'MakeLocalDatabaseDump',NULL,0,0,0,NULL,'1',0),(43,'2018-11-23 11:58:17','2018-11-23 12:58:17','method','RecurringInvoices',NULL,'compta/facture/class/facture-rec.class.php','FactureRec','createRecurringInvoices',NULL,NULL,'facture',50,NULL,NULL,'2018-11-23 23:00:00',NULL,NULL,NULL,NULL,'86400',1,NULL,1,NULL,NULL,'Generate recurring invoices',NULL,1,0,0,NULL,'$conf->facture->enabled',0),(45,'2020-01-01 12:00:34','2020-01-01 16:00:34','method','MyJob label',NULL,'/captureserver/class/myobject.class.php','MyObject','doScheduledJob',NULL,NULL,'captureserver',0,NULL,NULL,'2020-01-01 16:00:34',NULL,NULL,NULL,NULL,'3600',2,NULL,0,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->captureserver->enabled',0),(46,'2020-01-12 20:13:55','2020-01-13 00:13:55','method','Email collector',NULL,'/emailcollector/class/emailcollector.class.php','EmailCollector','doCollect',NULL,NULL,'emailcollector',50,NULL,NULL,'2020-01-13 00:13:55',NULL,NULL,NULL,NULL,'60',5,NULL,1,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->emailcollector->enabled',0),(47,'2021-04-15 10:34:00','2021-04-15 07:34:00','method','CompressSyslogs',NULL,'core/class/utils.class.php','Utils','compressSyslogs',NULL,NULL,'syslog',50,NULL,NULL,'2021-04-15 07:34:00',NULL,NULL,NULL,NULL,'86400',1,NULL,0,NULL,NULL,'Compress and archive log files. The number of versions to keep is defined into the setup of module. Warning: Main application cron script must be run with same account than your web server to avoid to get log files with different owner than required by web server. Another solution is to set web server Operating System group as the group of directory documents and set GROUP permission \"rws\" on this directory so log files will always have the group and permissions of the web server Operating System group.',NULL,1,0,0,NULL,'1',0); +INSERT INTO `llx_cronjob` VALUES (1,'2015-03-23 18:18:39','2015-03-23 19:18:39','command','aaa','aaaa','','','','','','',0,NULL,NULL,'2015-03-23 19:18:00',NULL,NULL,NULL,NULL,'3600',3600,0,0,1,1,'',NULL,0,0,0,NULL,'1',0),(40,'2018-11-23 11:58:15','2018-11-23 12:58:15','method','SendEmailsReminders',NULL,'comm/action/class/actioncomm.class.php','ActionComm','sendEmailsReminder',NULL,NULL,'agenda',10,NULL,NULL,'2018-11-23 12:58:15',NULL,NULL,NULL,NULL,'60',10,NULL,1,NULL,NULL,'SendEMailsReminder',NULL,1,0,0,NULL,'$conf->agenda->enabled',0),(41,'2018-11-23 11:58:16','2018-11-23 12:58:16','method','PurgeDeleteTemporaryFilesShort',NULL,'core/class/utils.class.php','Utils','purgeFiles',NULL,NULL,'cron',50,NULL,NULL,'2018-11-23 12:58:16',NULL,NULL,NULL,NULL,'604800',2,NULL,1,NULL,NULL,'PurgeDeleteTemporaryFiles',NULL,0,0,0,NULL,'1',0),(42,'2020-01-15 15:43:12','2018-11-23 12:58:16','method','MakeLocalDatabaseDumpShort',NULL,'core/class/utils.class.php','Utils','dumpDatabase','none,auto,1,auto,10',NULL,'cron',90,'2020-01-15 19:43:12','2020-01-17 12:58:16','2018-11-23 12:58:16',NULL,'2020-01-15 19:43:12','-1','Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.\nFailed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.','604800',1,2,1,NULL,12,'MakeLocalDatabaseDump',NULL,0,0,0,NULL,'1',0),(43,'2018-11-23 11:58:17','2018-11-23 12:58:17','method','RecurringInvoices',NULL,'compta/facture/class/facture-rec.class.php','FactureRec','createRecurringInvoices',NULL,NULL,'facture',50,NULL,NULL,'2018-11-23 23:00:00',NULL,NULL,NULL,NULL,'86400',1,NULL,1,NULL,NULL,'Generate recurring invoices',NULL,1,0,0,NULL,'$conf->facture->enabled',0),(45,'2020-01-01 12:00:34','2020-01-01 16:00:34','method','MyJob label',NULL,'/captureserver/class/myobject.class.php','MyObject','doScheduledJob',NULL,NULL,'captureserver',0,NULL,NULL,'2020-01-01 16:00:34',NULL,NULL,NULL,NULL,'3600',2,NULL,0,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->captureserver->enabled',0),(46,'2020-01-12 20:13:55','2020-01-13 00:13:55','method','Email collector',NULL,'/emailcollector/class/emailcollector.class.php','EmailCollector','doCollect',NULL,NULL,'emailcollector',50,NULL,NULL,'2020-01-13 00:13:55',NULL,NULL,NULL,NULL,'60',5,NULL,1,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->emailcollector->enabled',0),(47,'2021-04-15 10:34:00','2021-04-15 07:34:00','method','CompressSyslogs',NULL,'core/class/utils.class.php','Utils','compressSyslogs',NULL,NULL,'syslog',50,NULL,NULL,'2021-04-15 07:34:00',NULL,NULL,NULL,NULL,'86400',1,NULL,0,NULL,NULL,'Compress and archive log files. The number of versions to keep is defined into the setup of module. Warning: Main application cron script must be run with same account than your web server to avoid to get log files with different owner than required by web server. Another solution is to set web server Operating System group as the group of directory documents and set GROUP permission \"rws\" on this directory so log files will always have the group and permissions of the web server Operating System group.',NULL,1,0,0,NULL,'1',0),(48,'2021-07-11 17:49:46','2021-07-11 19:49:46','method','SendEmailsRemindersOnInvoiceDueDate',NULL,'compta/facture/class/facture.class.php','Facture','sendEmailsRemindersOnInvoiceDueDate','10,all,EmailTemplateCode',NULL,'facture',50,NULL,NULL,'2021-07-11 23:00:00',NULL,NULL,NULL,NULL,'86400',1,NULL,0,NULL,NULL,'Send an emails when the unpaid invoices reach a due date + n days = today. First param is the offset n of days, second parameter is \"all\" or a payment mode code, last paramater is the code of email template to use (an email template with EmailTemplateCode must exists. the version in the language of the thirdparty will be used in priority).',NULL,1,0,0,NULL,'$conf->facture->enabled',0); /*!40000 ALTER TABLE `llx_cronjob` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_cv_recrutement` --- - -DROP TABLE IF EXISTS `llx_cv_recrutement`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_cv_recrutement` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `nom` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `fichier` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `poste` int(11) DEFAULT NULL, - `candidature` int(11) DEFAULT NULL, - `type` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL, - `date` date DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_cv_recrutement` --- - -LOCK TABLES `llx_cv_recrutement` WRITE; -/*!40000 ALTER TABLE `llx_cv_recrutement` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_cv_recrutement` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_default_values` -- @@ -5414,31 +5110,6 @@ LOCK TABLES `llx_deliverydet_extrafields` WRITE; /*!40000 ALTER TABLE `llx_deliverydet_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_departements` --- - -DROP TABLE IF EXISTS `llx_departements`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_departements` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(355) CHARACTER SET utf8mb4 DEFAULT NULL, - `gestionnaire` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - KEY `gestionnaire` (`gestionnaire`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_departements` --- - -LOCK TABLES `llx_departements` WRITE; -/*!40000 ALTER TABLE `llx_departements` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_departements` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_deplacement` -- @@ -5478,70 +5149,6 @@ INSERT INTO `llx_deplacement` VALUES (1,NULL,1,'2012-07-09 01:58:04','2012-07-08 /*!40000 ALTER TABLE `llx_deplacement` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_dispatch` --- - -DROP TABLE IF EXISTS `llx_dispatch`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_dispatch` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_object` int(11) NOT NULL DEFAULT 0, - `type_object` varchar(30) CHARACTER SET latin1 DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_object` (`fk_object`), - KEY `type_object` (`type_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_dispatch` --- - -LOCK TABLES `llx_dispatch` WRITE; -/*!40000 ALTER TABLE `llx_dispatch` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_dispatch` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_dispatch_asset` --- - -DROP TABLE IF EXISTS `llx_dispatch_asset`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_dispatch_asset` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_object` int(11) NOT NULL DEFAULT 0, - `fk_dispatch` int(11) NOT NULL DEFAULT 0, - `fk_asset` int(11) NOT NULL DEFAULT 0, - `type_object` varchar(30) CHARACTER SET latin1 DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_object` (`fk_object`), - KEY `fk_dispatch` (`fk_dispatch`), - KEY `fk_asset` (`fk_asset`), - KEY `type_object` (`type_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_dispatch_asset` --- - -LOCK TABLES `llx_dispatch_asset` WRITE; -/*!40000 ALTER TABLE `llx_dispatch_asset` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_dispatch_asset` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_document_model` -- @@ -5558,7 +5165,7 @@ CREATE TABLE `llx_document_model` ( `description` text COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_document_model` (`nom`,`type`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=402 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=410 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5567,7 +5174,7 @@ CREATE TABLE `llx_document_model` ( LOCK TABLES `llx_document_model` WRITE; /*!40000 ALTER TABLE `llx_document_model` DISABLE KEYS */; -INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(281,'sepamandate',1,'bankaccount','sepamandate',NULL),(299,'standard',1,'member',NULL,NULL),(319,'generic_bom_odt',1,'bom','ODT templates','BOM_ADDON_PDF_ODT_PATH'),(320,'generic_mo_odt',1,'mrp','ODT templates','MRP_MO_ADDON_PDF_ODT_PATH'),(366,'generic_user_odt',1,'user',NULL,NULL),(367,'generic_usergroup_odt',1,'group',NULL,NULL),(370,'aurore',1,'supplier_proposal',NULL,NULL),(371,'rouget',1,'shipping',NULL,NULL),(372,'typhon',1,'delivery',NULL,NULL),(393,'squille',1,'reception',NULL,NULL),(394,'einstein',1,'order',NULL,NULL),(395,'html_cerfafr',1,'donation',NULL,NULL),(396,'standard',1,'expensereport',NULL,NULL),(397,'crabe',1,'invoice',NULL,NULL),(398,'muscadet',1,'order_supplier',NULL,NULL),(399,'standard_recruitmentjobposition',1,'recruitmentjobposition',NULL,NULL),(400,'generic_recruitmentjobposition_odt',1,'recruitmentjobposition',NULL,NULL),(401,'TICKET_ADDON_PDF_ODT_PATH',1,'ticket',NULL,NULL); +INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(281,'sepamandate',1,'bankaccount','sepamandate',NULL),(299,'standard',1,'member',NULL,NULL),(319,'generic_bom_odt',1,'bom','ODT templates','BOM_ADDON_PDF_ODT_PATH'),(320,'generic_mo_odt',1,'mrp','ODT templates','MRP_MO_ADDON_PDF_ODT_PATH'),(366,'generic_user_odt',1,'user',NULL,NULL),(367,'generic_usergroup_odt',1,'group',NULL,NULL),(370,'aurore',1,'supplier_proposal',NULL,NULL),(371,'rouget',1,'shipping',NULL,NULL),(372,'typhon',1,'delivery',NULL,NULL),(393,'squille',1,'reception',NULL,NULL),(402,'einstein',1,'order',NULL,NULL),(403,'html_cerfafr',1,'donation',NULL,NULL),(404,'standard',1,'expensereport',NULL,NULL),(405,'crabe',1,'invoice',NULL,NULL),(406,'muscadet',1,'order_supplier',NULL,NULL),(407,'standard_recruitmentjobposition',1,'recruitmentjobposition',NULL,NULL),(408,'generic_recruitmentjobposition_odt',1,'recruitmentjobposition',NULL,NULL),(409,'TICKET_ADDON_PDF_ODT_PATH',1,'ticket',NULL,NULL); /*!40000 ALTER TABLE `llx_document_model` ENABLE KEYS */; UNLOCK TABLES; @@ -5705,10 +5312,10 @@ CREATE TABLE `llx_ecm_directories_extrafields` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `fk_object` int(11) NOT NULL, - `import_key` varchar(14) DEFAULT NULL, + `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_ecm_directories_extrafields` (`fk_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5779,10 +5386,10 @@ CREATE TABLE `llx_ecm_files_extrafields` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `fk_object` int(11) NOT NULL, - `import_key` varchar(14) DEFAULT NULL, + `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_ecm_files_extrafields` (`fk_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5855,33 +5462,6 @@ INSERT INTO `llx_element_element` VALUES (4,1,'order_supplier',20,'invoice_suppl /*!40000 ALTER TABLE `llx_element_element` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_element_lock` --- - -DROP TABLE IF EXISTS `llx_element_lock`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_element_lock` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_element` int(11) NOT NULL, - `elementtype` varchar(32) COLLATE utf8_unicode_ci NOT NULL, - `datel` datetime DEFAULT NULL, - `datem` datetime DEFAULT NULL, - `sessionid` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_element_lock` --- - -LOCK TABLES `llx_element_lock` WRITE; -/*!40000 ALTER TABLE `llx_element_lock` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_element_lock` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_element_resources` -- @@ -6042,70 +5622,6 @@ INSERT INTO `llx_emailcollector_emailcollectorfilter` VALUES (21,3,'withouttrack /*!40000 ALTER TABLE `llx_emailcollector_emailcollectorfilter` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_emailsenderprofile` --- - -DROP TABLE IF EXISTS `llx_emailsenderprofile`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_emailsenderprofile` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(64) COLLATE utf8_unicode_ci NOT NULL, - `entity` int(11) NOT NULL DEFAULT 1, - `label` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `amount` double(24,8) DEFAULT NULL, - `note_public` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, - `note_private` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) NOT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - `status` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_emailsenderprofile_rowid` (`rowid`), - KEY `idx_emailsenderprofile_ref` (`ref`), - KEY `idx_emailsenderprofile_entity` (`entity`), - KEY `idx_emailsenderprofile_import_key` (`import_key`), - KEY `idx_emailsenderprofile_status` (`status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_emailsenderprofile` --- - -LOCK TABLES `llx_emailsenderprofile` WRITE; -/*!40000 ALTER TABLE `llx_emailsenderprofile` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_emailsenderprofile` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_emailsenderprofile_extrafields` --- - -DROP TABLE IF EXISTS `llx_emailsenderprofile_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_emailsenderprofile_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_emailsenderprofile_extrafields` --- - -LOCK TABLES `llx_emailsenderprofile_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_emailsenderprofile_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_emailsenderprofile_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_entrepot` -- @@ -6215,55 +5731,6 @@ LOCK TABLES `llx_establishment` WRITE; /*!40000 ALTER TABLE `llx_establishment` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_etapescandidature` --- - -DROP TABLE IF EXISTS `llx_etapescandidature`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_etapescandidature` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `color` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_etapescandidature` --- - -LOCK TABLES `llx_etapescandidature` WRITE; -/*!40000 ALTER TABLE `llx_etapescandidature` DISABLE KEYS */; -INSERT INTO `llx_etapescandidature` VALUES (1,'Qualification_initiale','#DBE270'),(2,'Premier_entretien','#F59A9A'),(3,'Second_entretien','#62B0F7'),(4,'Proposition_contrat','#FFB164'),(5,'Contrat_signe','#59D859'); -/*!40000 ALTER TABLE `llx_etapescandidature` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_etiquettes` --- - -DROP TABLE IF EXISTS `llx_etiquettes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_etiquettes` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `color` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_etiquettes` --- - -LOCK TABLES `llx_etiquettes` WRITE; -/*!40000 ALTER TABLE `llx_etiquettes` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_etiquettes` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_event_element` -- @@ -6362,140 +5829,6 @@ LOCK TABLES `llx_eventorganization_conferenceorboothattendee_extrafields` WRITE; /*!40000 ALTER TABLE `llx_eventorganization_conferenceorboothattendee_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_eventorganizer_attendee` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_attendee`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_attendee` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '(PROV)', - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `amount` double(24,8) DEFAULT NULL, - `qty` double DEFAULT NULL, - `fk_soc` int(11) DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_public` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_private` text CHARACTER SET utf8mb4 DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) NOT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - `status` int(11) NOT NULL, - `fk_eventorganizer` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_eventorganizer_attendee_rowid` (`rowid`), - KEY `idx_eventorganizer_attendee_ref` (`ref`), - KEY `idx_eventorganizer_attendee_fk_soc` (`fk_soc`), - KEY `idx_eventorganizer_attendee_status` (`status`), - KEY `idx_eventorganizer_attendee_fk_eventorganizer` (`fk_eventorganizer`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_attendee` --- - -LOCK TABLES `llx_eventorganizer_attendee` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_eventorganizer_attendee_extrafields` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_attendee_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_attendee_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_attendee_extrafields` --- - -LOCK TABLES `llx_eventorganizer_attendee_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_eventorganizer_organizedevent` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_organizedevent`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_organizedevent` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '(PROV)', - `entity` int(11) NOT NULL DEFAULT 1, - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `amount` double(24,8) DEFAULT NULL, - `qty` double DEFAULT NULL, - `fk_soc` int(11) DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_public` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_private` text CHARACTER SET utf8mb4 DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) NOT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - `status` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_eventorganizer_organizedevent_rowid` (`rowid`), - KEY `idx_eventorganizer_organizedevent_ref` (`ref`), - KEY `idx_eventorganizer_organizedevent_entity` (`entity`), - KEY `idx_eventorganizer_organizedevent_fk_soc` (`fk_soc`), - KEY `idx_eventorganizer_organizedevent_status` (`status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_organizedevent` --- - -LOCK TABLES `llx_eventorganizer_organizedevent` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_eventorganizer_organizedevent_extrafields` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_organizedevent_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_organizedevent_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_organizedevent_extrafields` --- - -LOCK TABLES `llx_eventorganizer_organizedevent_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_events` -- @@ -6625,34 +5958,6 @@ LOCK TABLES `llx_expedition_extrafields` WRITE; /*!40000 ALTER TABLE `llx_expedition_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_expedition_methode` --- - -DROP TABLE IF EXISTS `llx_expedition_methode`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_expedition_methode` ( - `rowid` int(11) NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `code` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - `libelle` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `description` text COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) DEFAULT 0, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_expedition_methode` --- - -LOCK TABLES `llx_expedition_methode` WRITE; -/*!40000 ALTER TABLE `llx_expedition_methode` DISABLE KEYS */; -INSERT INTO `llx_expedition_methode` VALUES (1,'2012-07-08 11:18:00','CATCH','Catch','Catch by client',1),(2,'2012-07-08 11:18:00','TRANS','Transporter','Generic transporter',1),(3,'2012-07-08 11:18:01','COLSUI','Colissimo Suivi','Colissimo Suivi',0); -/*!40000 ALTER TABLE `llx_expedition_methode` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_expedition_package` -- @@ -6719,46 +6024,6 @@ INSERT INTO `llx_expeditiondet` VALUES (1,1,10,3,1,0),(2,2,226,19,2,0); /*!40000 ALTER TABLE `llx_expeditiondet` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_expeditiondet_asset` --- - -DROP TABLE IF EXISTS `llx_expeditiondet_asset`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_expeditiondet_asset` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_expeditiondet` int(11) NOT NULL DEFAULT 0, - `fk_asset` int(11) NOT NULL DEFAULT 0, - `rang` int(11) NOT NULL DEFAULT 0, - `lot_number` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `carton` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `numerosuivi` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `weight` double NOT NULL DEFAULT 0, - `weight_reel` double NOT NULL DEFAULT 0, - `tare` double NOT NULL DEFAULT 0, - `weight_unit` int(11) NOT NULL DEFAULT 0, - `weight_reel_unit` int(11) NOT NULL DEFAULT 0, - `tare_unit` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_expeditiondet` (`fk_expeditiondet`), - KEY `fk_asset` (`fk_asset`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_expeditiondet_asset` --- - -LOCK TABLES `llx_expeditiondet_asset` WRITE; -/*!40000 ALTER TABLE `llx_expeditiondet_asset` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_expeditiondet_asset` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_expeditiondet_batch` -- @@ -6858,6 +6123,7 @@ CREATE TABLE `llx_expensereport` ( `integration_compta` int(11) DEFAULT NULL, `fk_bank_account` int(11) DEFAULT NULL, `model_pdf` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `last_main_doc` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `fk_multicurrency` int(11) DEFAULT NULL, `multicurrency_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `multicurrency_tx` double(24,8) DEFAULT 1.00000000, @@ -6885,7 +6151,7 @@ CREATE TABLE `llx_expensereport` ( LOCK TABLES `llx_expensereport` WRITE; /*!40000 ALTER TABLE `llx_expensereport` DISABLE KEYS */; -INSERT INTO `llx_expensereport` VALUES (1,'ADMIN-ER00002-150101',1,2,NULL,8.33000000,1.67000000,0.00000000,0.00000000,10.00000000,'2021-01-01','2021-01-03','2021-01-22 19:03:37','2021-01-22 19:06:50','2021-02-16 02:12:40',NULL,NULL,'2021-04-15 10:22:31',12,NULL,12,12,12,NULL,NULL,5,NULL,0,'Holidays',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(2,'ER1912-0001',1,NULL,NULL,141.67000000,28.33000000,0.00000000,0.00000000,170.00000000,'2021-02-01','2021-02-28','2021-01-22 19:04:44','2021-12-20 20:34:13','2021-12-20 20:34:19',NULL,'2021-12-21 00:34:26','2021-04-15 10:22:31',12,12,12,12,12,NULL,12,4,NULL,0,'Work on projet X','','','aaaa',NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(3,'(PROV3)',1,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'2021-02-02','2021-02-02','2021-02-02 03:57:03','2021-02-02 00:00:00',NULL,NULL,NULL,'2021-04-15 10:22:31',19,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL); +INSERT INTO `llx_expensereport` VALUES (1,'ADMIN-ER00002-150101',1,2,NULL,8.33000000,1.67000000,0.00000000,0.00000000,10.00000000,'2021-01-01','2021-01-03','2021-01-22 19:03:37','2021-01-22 19:06:50','2021-02-16 02:12:40',NULL,NULL,'2021-04-15 10:22:31',12,NULL,12,12,12,NULL,NULL,5,NULL,0,'Holidays',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(2,'ER1912-0001',1,NULL,NULL,141.67000000,28.33000000,0.00000000,0.00000000,170.00000000,'2021-02-01','2021-02-28','2021-01-22 19:04:44','2021-12-20 20:34:13','2021-12-20 20:34:19',NULL,'2021-12-21 00:34:26','2021-04-15 10:22:31',12,12,12,12,12,NULL,12,4,NULL,0,'Work on projet X','','','aaaa',NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(3,'(PROV3)',1,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'2021-02-02','2021-02-02','2021-02-02 03:57:03','2021-02-02 00:00:00',NULL,NULL,NULL,'2021-04-15 10:22:31',19,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_expensereport` ENABLE KEYS */; UNLOCK TABLES; @@ -7076,9 +6342,10 @@ CREATE TABLE `llx_export_model` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `fk_user` int(11) NOT NULL DEFAULT 0, `label` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `type` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `type` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `field` text COLLATE utf8_unicode_ci NOT NULL, `filter` text COLLATE utf8_unicode_ci DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_export_model` (`label`,`type`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -7090,7 +6357,7 @@ CREATE TABLE `llx_export_model` ( LOCK TABLES `llx_export_model` WRITE; /*!40000 ALTER TABLE `llx_export_model` DISABLE KEYS */; -INSERT INTO `llx_export_model` VALUES (1,0,'MyExport','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total,f.total_ttc,f.tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source',''),(2,11,'Export by joe','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total,f.total_ttc,f.tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source',''),(3,12,'test','societe_1','s.rowid,s.nom,s.name_alias,s.status,s.client,s.fournisseur,s.datec,s.tms,s.code_client,s.code_fournisseur,s.code_compta,s.code_compta_fournisseur,s.address,s.zip,s.town,d.nom,c.label,c.code,s.phone,s.fax,s.url,s.email,s.default_lang,s.siren,s.siret,s.ape,s.idprof4,s.idprof5,s.idprof6,s.tva_intra,s.capital,s.note_private,s.note_public,t.libelle,ce.code,cfj.libelle,s.fk_prospectlevel,st.code,payterm.libelle,paymode.libelle,s.price_level,extra.height,extra.weight,extra.prof,extra.birthdate,u.login,u.firstname,u.lastname','s.nom=%a%'); +INSERT INTO `llx_export_model` VALUES (1,0,'MyExport','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total_ht,f.total_ttc,f.total_tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source','',0),(2,11,'Export by joe','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total_ht,f.total_ttc,f.total_tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source','',0),(3,12,'test','societe_1','s.rowid,s.nom,s.name_alias,s.status,s.client,s.fournisseur,s.datec,s.tms,s.code_client,s.code_fournisseur,s.code_compta,s.code_compta_fournisseur,s.address,s.zip,s.town,d.nom,c.label,c.code,s.phone,s.fax,s.url,s.email,s.default_lang,s.siren,s.siret,s.ape,s.idprof4,s.idprof5,s.idprof6,s.tva_intra,s.capital,s.note_private,s.note_public,t.libelle,ce.code,cfj.libelle,s.fk_prospectlevel,st.code,payterm.libelle,paymode.libelle,s.price_level,extra.height,extra.weight,extra.prof,extra.birthdate,u.login,u.firstname,u.lastname','s.nom=%a%',0); /*!40000 ALTER TABLE `llx_export_model` ENABLE KEYS */; UNLOCK TABLES; @@ -7239,7 +6506,7 @@ CREATE TABLE `llx_facture` ( LOCK TABLES `llx_facture` WRITE; /*!40000 ALTER TABLE `llx_facture` DISABLE KEYS */; -INSERT INTO `llx_facture` VALUES (2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2012-07-10 18:20:13','2020-07-10',NULL,NULL,'2020-12-10 12:24:22',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-10',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2013-07-18 20:33:35','2020-07-18',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,NULL,1,NULL,NULL,1,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2013-08-01 03:34:11','2020-08-01',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,6,'2020-08-01',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2013-08-06 20:33:53','2020-08-06',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,4,'2020-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2013-08-08 02:41:44','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2013-08-08 02:55:14','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 17:45:20','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 18:20:14','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2014-12-09 20:04:19','2020-12-09','2020-02-12 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-09',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-24 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(33,'FA1212-0023',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'abandon',NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,3,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:35:51','2020-12-11','2020-12-12 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:22:48','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,'facture/FS1301-0001/FS1301-0001.pdf',NULL,NULL),(149,'FA1601-0024',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:30:05','2021-01-19','2020-08-29 00:00:00','2020-01-02 20:49:34','2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'other','test',1.80000000,0.90000000,0.90000000,0.00000000,20.00000000,23.60000000,2,1,NULL,12,12,NULL,NULL,NULL,NULL,0,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,20.00000000,1.80000000,23.60000000,NULL,'facture/FA1601-0024/FA1601-0024.pdf',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:10','2021-01-19','2020-10-04 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,12,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,5.00000000,0.63000000,5.63000000,NULL,'facture/FA6801-0010/FA6801-0010.pdf',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:58','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2015-03-06 16:47:48','2020-07-18','2019-03-06 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2015-03-20 14:30:11','2020-07-10','2020-03-20 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-10',NULL,NULL,'generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2015-03-22 09:40:10','2021-03-22','2020-03-02 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,17.64000000,0.00000000,0.00000000,0.40000000,340.00000000,358.04000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,3,'2021-03-22',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(213,'AV1303-0003',1,NULL,NULL,2,NULL,NULL,1,'2016-03-03 19:22:03','2021-03-03','2020-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,-1000.00000000,1,1,NULL,1,NULL,32,NULL,NULL,NULL,0,0,'2021-03-03',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(216,'(PROV216)',1,NULL,NULL,0,NULL,NULL,26,'2017-02-12 23:21:27','2021-02-12',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-02-12',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(217,'(PROV217)',1,NULL,NULL,0,NULL,NULL,1,'2017-08-31 13:26:17','2020-08-31',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.13000000,0.00000000,0.00000000,0.00000000,21.00000000,22.13000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-31',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,1,'EUR',1.00000000,21.00000000,1.13000000,22.13000000,NULL,'facture/(PROV217)/(PROV217).pdf',NULL,NULL),(218,'FA1909-0025',1,NULL,NULL,0,NULL,NULL,12,'2019-09-26 17:30:14','2020-09-26','2020-09-26 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.08000000,0.00000000,0.00000000,0.00000000,42.50000000,43.58000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,0,0,'2020-09-26',NULL,NULL,'',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,42.50000000,1.08000000,43.58000000,NULL,NULL,'takepos','1'),(219,'(PROV-POS1-0)',1,NULL,NULL,0,NULL,NULL,1,'2019-11-28 19:04:03','2020-11-28',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,5.00000000,6.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,'2020-11-28',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,5.00000000,1.00000000,6.00000000,NULL,NULL,'takepos','1'),(220,'(PROV220)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:03:17','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(221,'AC2001-0001',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:05','2021-01-16','2021-01-16 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,123.00000000,123.00000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,123.00000000,0.00000000,123.00000000,NULL,'facture/AC2001-0001/AC2001-0001.pdf',NULL,NULL),(222,'(PROV222)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:28','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(223,'(PROV223)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:32:04','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,410.00000000,410.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,410.00000000,0.00000000,410.00000000,NULL,NULL,NULL,NULL),(224,'AC2001-0002',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:33:19','2021-01-16','2021-01-16 00:00:00','2020-01-16 02:36:48','2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,20.50000000,20.50000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,20.50000000,0.00000000,20.50000000,NULL,'facture/AC2001-0002/AC2001-0002.pdf',NULL,NULL),(225,'(PROV225)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:37:48','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,389.50000000,389.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,389.50000000,0.00000000,389.50000000,NULL,'facture/(PROV225)/(PROV225).pdf',NULL,NULL),(226,'(PROV226)',1,NULL,NULL,3,NULL,NULL,11,'2020-01-19 14:20:54','2021-01-19',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,12.50000000,0.00000000,0.00000000,0.00000000,120.00000000,132.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,120.00000000,12.50000000,132.50000000,NULL,'facture/(PROV226)/(PROV226).pdf',NULL,NULL),(227,'AC2001-0003',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:22:54','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,39.20000000,0.00000000,0.00000000,0.00000000,200.00000000,239.20000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,200.00000000,39.20000000,239.20000000,NULL,'facture/AC2001-0003/AC2001-0003.pdf',NULL,NULL),(228,'AC2001-0004',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:24:49','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,1.94000000,0.00000000,0.00000000,0.00000000,48.60000000,50.54000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,48.60000000,1.94000000,50.54000000,NULL,'facture/AC2001-0004/AC2001-0004.pdf',NULL,NULL),(229,'FA1707-0026',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:17','2020-07-18','2022-01-21 00:00:00','2020-01-21 10:23:17','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1707-0026/FA1707-0026.pdf',NULL,NULL),(230,'FA1807-0027',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:28','2020-07-18','2021-01-21 00:00:00','2020-01-21 10:23:28','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1807-0027/FA1807-0027.pdf',NULL,NULL),(231,'FA1907-0028',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:49','2020-07-18','2020-01-21 00:00:00','2020-01-21 10:23:49','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1907-0028/FA1907-0028.pdf',NULL,NULL); +INSERT INTO `llx_facture` VALUES (2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2012-07-10 18:20:13','2021-07-10',NULL,NULL,'2021-07-11 17:49:28',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2021-07-10',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2013-07-18 20:33:35','2020-07-18',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,NULL,1,NULL,NULL,1,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2013-08-01 03:34:11','2020-08-01',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,6,'2020-08-01',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2013-08-06 20:33:53','2020-08-06',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,4,'2020-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2013-08-08 02:41:44','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2013-08-08 02:55:14','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 17:45:20','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 18:20:14','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2014-12-09 20:04:19','2020-12-09','2020-02-12 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-09',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-24 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(33,'FA1212-0023',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'abandon',NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,3,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:35:51','2020-12-11','2020-12-12 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:22:48','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,'facture/FS1301-0001/FS1301-0001.pdf',NULL,NULL),(149,'FA1601-0024',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:30:05','2021-01-19','2020-08-29 00:00:00','2020-01-02 20:49:34','2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'other','test',1.80000000,0.90000000,0.90000000,0.00000000,20.00000000,23.60000000,2,1,NULL,12,12,NULL,NULL,NULL,NULL,0,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,20.00000000,1.80000000,23.60000000,NULL,'facture/FA1601-0024/FA1601-0024.pdf',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:10','2021-01-19','2020-10-04 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,12,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,5.00000000,0.63000000,5.63000000,NULL,'facture/FA6801-0010/FA6801-0010.pdf',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:58','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2015-03-06 16:47:48','2020-07-18','2019-03-06 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2015-03-20 14:30:11','2021-07-10','2021-03-20 00:00:00',NULL,'2021-07-11 17:49:28',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2021-07-10',NULL,NULL,'generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2015-03-22 09:40:10','2021-03-22','2020-03-02 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,17.64000000,0.00000000,0.00000000,0.40000000,340.00000000,358.04000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,3,'2021-03-22',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(213,'AV1303-0003',1,NULL,NULL,2,NULL,NULL,1,'2016-03-03 19:22:03','2021-03-03','2020-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,-1000.00000000,1,1,NULL,1,NULL,32,NULL,NULL,NULL,0,0,'2021-03-03',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(216,'(PROV216)',1,NULL,NULL,0,NULL,NULL,26,'2017-02-12 23:21:27','2021-02-12',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-02-12',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(217,'(PROV217)',1,NULL,NULL,0,NULL,NULL,1,'2017-08-31 13:26:17','2020-08-31',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.13000000,0.00000000,0.00000000,0.00000000,21.00000000,22.13000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-31',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,1,'EUR',1.00000000,21.00000000,1.13000000,22.13000000,NULL,'facture/(PROV217)/(PROV217).pdf',NULL,NULL),(218,'FA1909-0025',1,NULL,NULL,0,NULL,NULL,12,'2019-09-26 17:30:14','2020-09-26','2020-09-26 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.08000000,0.00000000,0.00000000,0.00000000,42.50000000,43.58000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,0,0,'2020-09-26',NULL,NULL,'',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,42.50000000,1.08000000,43.58000000,NULL,NULL,'takepos','1'),(219,'(PROV-POS1-0)',1,NULL,NULL,0,NULL,NULL,1,'2019-11-28 19:04:03','2020-11-28',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,5.00000000,6.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,'2020-11-28',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,5.00000000,1.00000000,6.00000000,NULL,NULL,'takepos','1'),(220,'(PROV220)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:03:17','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(221,'AC2001-0001',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:05','2021-01-16','2021-01-16 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,123.00000000,123.00000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,123.00000000,0.00000000,123.00000000,NULL,'facture/AC2001-0001/AC2001-0001.pdf',NULL,NULL),(222,'(PROV222)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:28','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(223,'(PROV223)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:32:04','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,410.00000000,410.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,410.00000000,0.00000000,410.00000000,NULL,NULL,NULL,NULL),(224,'AC2001-0002',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:33:19','2021-01-16','2021-01-16 00:00:00','2020-01-16 02:36:48','2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,20.50000000,20.50000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,20.50000000,0.00000000,20.50000000,NULL,'facture/AC2001-0002/AC2001-0002.pdf',NULL,NULL),(225,'(PROV225)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:37:48','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,389.50000000,389.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,389.50000000,0.00000000,389.50000000,NULL,'facture/(PROV225)/(PROV225).pdf',NULL,NULL),(226,'(PROV226)',1,NULL,NULL,3,NULL,NULL,11,'2020-01-19 14:20:54','2021-01-19',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,12.50000000,0.00000000,0.00000000,0.00000000,120.00000000,132.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,120.00000000,12.50000000,132.50000000,NULL,'facture/(PROV226)/(PROV226).pdf',NULL,NULL),(227,'AC2001-0003',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:22:54','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,39.20000000,0.00000000,0.00000000,0.00000000,200.00000000,239.20000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,200.00000000,39.20000000,239.20000000,NULL,'facture/AC2001-0003/AC2001-0003.pdf',NULL,NULL),(228,'AC2001-0004',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:24:49','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,1.94000000,0.00000000,0.00000000,0.00000000,48.60000000,50.54000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,48.60000000,1.94000000,50.54000000,NULL,'facture/AC2001-0004/AC2001-0004.pdf',NULL,NULL),(229,'FA1707-0026',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:17','2020-07-18','2022-01-21 00:00:00','2020-01-21 10:23:17','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1707-0026/FA1707-0026.pdf',NULL,NULL),(230,'FA1807-0027',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:28','2020-07-18','2021-01-21 00:00:00','2020-01-21 10:23:28','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1807-0027/FA1807-0027.pdf',NULL,NULL),(231,'FA1907-0028',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:49','2020-07-18','2020-01-21 00:00:00','2020-01-21 10:23:49','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1907-0028/FA1907-0028.pdf',NULL,NULL); /*!40000 ALTER TABLE `llx_facture` ENABLE KEYS */; UNLOCK TABLES; @@ -7372,6 +6639,7 @@ CREATE TABLE `llx_facture_fourn_det` ( `pu_ttc` double(24,8) DEFAULT NULL, `qty` double DEFAULT NULL, `remise_percent` double DEFAULT 0, + `fk_remise_except` int(11) DEFAULT NULL, `tva_tx` double(6,3) DEFAULT NULL, `vat_src_code` varchar(10) COLLATE utf8_unicode_ci DEFAULT '', `localtax1_tx` double(6,3) DEFAULT 0.000, @@ -7399,6 +6667,7 @@ CREATE TABLE `llx_facture_fourn_det` ( `multicurrency_total_tva` double(24,8) DEFAULT 0.00000000, `multicurrency_total_ttc` double(24,8) DEFAULT 0.00000000, PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fk_remise_except` (`fk_remise_except`,`fk_facture_fourn`), KEY `idx_facture_fourn_det_fk_facture` (`fk_facture_fourn`), KEY `fk_facture_fourn_det_fk_unit` (`fk_unit`), KEY `idx_facture_fourn_det_fk_code_ventilation` (`fk_code_ventilation`), @@ -7414,7 +6683,7 @@ CREATE TABLE `llx_facture_fourn_det` ( LOCK TABLES `llx_facture_fourn_det` WRITE; /*!40000 ALTER TABLE `llx_facture_fourn_det` DISABLE KEYS */; -INSERT INTO `llx_facture_fourn_det` VALUES (44,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/04/2003 à 11/10/2003',414.00000000,495.14400000,1,0,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(45,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/10/2003 à 11/04/2004',414.00000000,495.14400000,1,0,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,104,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(46,16,NULL,NULL,NULL,NULL,'ref :sd.installation.annuel
Frais de mise en service d\'un serveur dédié pour un paiement annuel
',1.00000000,1.19600000,1,0,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(47,17,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,106,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(48,17,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,103,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(49,18,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(50,18,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(51,19,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,'',0.000,'0',0.000,'0',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(52,19,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,'',0.000,'0',0.000,'0',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(53,20,NULL,NULL,NULL,NULL,'Chips',20.00000000,23.92000000,10,0,19.600,'',0.000,'0',0.000,'0',200.00000000,39.20000000,0.00000000,0.00000000,239.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'EUR',20.00000000,200.00000000,39.20000000,239.20000000),(54,21,NULL,1,'aaa',NULL,'A beatifull pink dress',100.00000000,90.00000000,5,10,0.000,'',0.000,'0',0.000,'0',450.00000000,0.00000000,0.00000000,0.00000000,450.00000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',100.00000000,450.00000000,0.00000000,450.00000000),(78,22,NULL,1,'BK01',NULL,'A beatifull pink dress',70.00000000,78.75000000,5,0,12.500,'',0.000,'0',0.000,'0',350.00000000,43.75000000,0.00000000,0.00000000,393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(83,27,NULL,1,'BK01','Pink dress','A beatifull pink dress',-70.00000000,-78.75000000,5,0,12.500,'',0.000,'0',0.000,'0',-350.00000000,-43.75000000,0.00000000,0.00000000,-393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(84,28,NULL,1,'BK01',NULL,'A beatifull pink dress',79.16667000,89.06000000,1,0,12.500,'',0.000,'0',0.000,'0',79.17000000,9.89000000,0.00000000,0.00000000,89.06000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',79.16667000,79.17000000,9.89000000,89.06000000),(86,30,NULL,NULL,'',NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',-1.00000000,-1.20000000,1,0,19.600,'',0.000,'0',0.000,'0',-1.00000000,-0.20000000,0.00000000,0.00000000,-1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(87,30,NULL,NULL,'',NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',-25.00000000,-29.90000000,1,0,19.600,'',0.000,'0',0.000,'0',-25.00000000,-4.90000000,0.00000000,0.00000000,-29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(89,22,NULL,2,'BKPEARPIE',NULL,'',7.00000000,7.00000000,1,0,0.000,'',0.000,'0',0.000,'0',7.00000000,0.00000000,0.00000000,0.00000000,7.00000000,0,NULL,NULL,0,NULL,0,0,3,NULL,1,'EUR',7.00000000,7.00000000,0.00000000,7.00000000); +INSERT INTO `llx_facture_fourn_det` VALUES (44,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/04/2003 à 11/10/2003',414.00000000,495.14400000,1,0,NULL,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(45,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/10/2003 à 11/04/2004',414.00000000,495.14400000,1,0,NULL,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,104,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(46,16,NULL,NULL,NULL,NULL,'ref :sd.installation.annuel
Frais de mise en service d\'un serveur dédié pour un paiement annuel
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(47,17,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,106,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(48,17,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,NULL,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,103,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(49,18,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(50,18,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,NULL,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(51,19,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(52,19,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(53,20,NULL,NULL,NULL,NULL,'Chips',20.00000000,23.92000000,10,0,NULL,19.600,'',0.000,'0',0.000,'0',200.00000000,39.20000000,0.00000000,0.00000000,239.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'EUR',20.00000000,200.00000000,39.20000000,239.20000000),(54,21,NULL,1,'aaa',NULL,'A beatifull pink dress',100.00000000,90.00000000,5,10,NULL,0.000,'',0.000,'0',0.000,'0',450.00000000,0.00000000,0.00000000,0.00000000,450.00000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',100.00000000,450.00000000,0.00000000,450.00000000),(78,22,NULL,1,'BK01',NULL,'A beatifull pink dress',70.00000000,78.75000000,5,0,NULL,12.500,'',0.000,'0',0.000,'0',350.00000000,43.75000000,0.00000000,0.00000000,393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(83,27,NULL,1,'BK01','Pink dress','A beatifull pink dress',-70.00000000,-78.75000000,5,0,NULL,12.500,'',0.000,'0',0.000,'0',-350.00000000,-43.75000000,0.00000000,0.00000000,-393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(84,28,NULL,1,'BK01',NULL,'A beatifull pink dress',79.16667000,89.06000000,1,0,NULL,12.500,'',0.000,'0',0.000,'0',79.17000000,9.89000000,0.00000000,0.00000000,89.06000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',79.16667000,79.17000000,9.89000000,89.06000000),(86,30,NULL,NULL,'',NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',-1.00000000,-1.20000000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',-1.00000000,-0.20000000,0.00000000,0.00000000,-1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(87,30,NULL,NULL,'',NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',-25.00000000,-29.90000000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',-25.00000000,-4.90000000,0.00000000,0.00000000,-29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(89,22,NULL,2,'BKPEARPIE',NULL,'',7.00000000,7.00000000,1,0,NULL,0.000,'',0.000,'0',0.000,'0',7.00000000,0.00000000,0.00000000,0.00000000,7.00000000,0,NULL,NULL,0,NULL,0,0,3,NULL,1,'EUR',7.00000000,7.00000000,0.00000000,7.00000000); /*!40000 ALTER TABLE `llx_facture_fourn_det` ENABLE KEYS */; UNLOCK TABLES; @@ -8175,8 +7444,9 @@ CREATE TABLE `llx_import_model` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `fk_user` int(11) NOT NULL DEFAULT 0, `label` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `type` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `type` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `field` text COLLATE utf8_unicode_ci NOT NULL, + `entity` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_import_model` (`label`,`type`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -8188,7 +7458,7 @@ CREATE TABLE `llx_import_model` ( LOCK TABLES `llx_import_model` WRITE; /*!40000 ALTER TABLE `llx_import_model` DISABLE KEYS */; -INSERT INTO `llx_import_model` VALUES (1,12,'Import profile 1','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut'),(3,0,'Import profile 2','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut'); +INSERT INTO `llx_import_model` VALUES (1,12,'Import profile 1','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut',0),(3,0,'Import profile 2','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut',0); /*!40000 ALTER TABLE `llx_import_model` ENABLE KEYS */; UNLOCK TABLES; @@ -8201,17 +7471,17 @@ DROP TABLE IF EXISTS `llx_intracommreport`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `llx_intracommreport` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(30) NOT NULL, + `ref` varchar(30) CHARACTER SET utf8mb4 NOT NULL, `entity` int(11) NOT NULL DEFAULT 1, - `type_declaration` varchar(32) DEFAULT NULL, - `period` varchar(32) DEFAULT NULL, - `mode` varchar(32) DEFAULT NULL, - `content_xml` text DEFAULT NULL, - `type_export` varchar(10) DEFAULT NULL, + `type_declaration` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL, + `period` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL, + `mode` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL, + `content_xml` text CHARACTER SET utf8mb4 DEFAULT NULL, + `type_export` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL, `datec` datetime DEFAULT NULL, `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8270,31 +7540,6 @@ INSERT INTO `llx_inventory` VALUES (1,'aaa',1,NULL,NULL,'aa aaa',0,'2020-01-10 0 /*!40000 ALTER TABLE `llx_inventory` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_inventory_extrafields` --- - -DROP TABLE IF EXISTS `llx_inventory_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_inventory_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_inventory_extrafields` --- - -LOCK TABLES `llx_inventory_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_inventory_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_inventory_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_inventorydet` -- @@ -8330,6 +7575,68 @@ LOCK TABLES `llx_inventorydet` WRITE; /*!40000 ALTER TABLE `llx_inventorydet` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `llx_knowledgemanagement_knowledgerecord` +-- + +DROP TABLE IF EXISTS `llx_knowledgemanagement_knowledgerecord`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_knowledgemanagement_knowledgerecord` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(128) COLLATE utf8_unicode_ci NOT NULL, + `date_creation` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `last_main_doc` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `fk_user_creat` int(11) NOT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, + `model_pdf` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `question` text COLLATE utf8_unicode_ci NOT NULL, + `answer` text COLLATE utf8_unicode_ci DEFAULT NULL, + `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `fk_ticket` int(11) DEFAULT NULL, + `fk_c_ticket_category` int(11) DEFAULT NULL, + `status` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_knowledgemanagement_knowledgerecord` +-- + +LOCK TABLES `llx_knowledgemanagement_knowledgerecord` WRITE; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_knowledgemanagement_knowledgerecord_extrafields` +-- + +DROP TABLE IF EXISTS `llx_knowledgemanagement_knowledgerecord_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_knowledgemanagement_knowledgerecord_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_knowledgemanagement_knowledgerecord_extrafields` +-- + +LOCK TABLES `llx_knowledgemanagement_knowledgerecord_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `llx_links` -- @@ -8626,7 +7933,7 @@ CREATE TABLE `llx_menu` ( PRIMARY KEY (`rowid`), UNIQUE KEY `idx_menu_uk_menu` (`menu_handler`,`fk_menu`,`position`,`url`,`entity`), KEY `idx_menu_menuhandler_type` (`menu_handler`,`type`) -) ENGINE=InnoDB AUTO_INCREMENT=167087 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=167134 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8635,7 +7942,7 @@ CREATE TABLE `llx_menu` ( LOCK TABLES `llx_menu` WRITE; /*!40000 ALTER TABLE `llx_menu` DISABLE KEYS */; -INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction',NULL,'commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys',NULL,'opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey',NULL,'opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey',NULL,'opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List',NULL,'opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(161088,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home',NULL,'',-1,'','','1',2,'2017-08-30 15:14:30'),(161089,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties',NULL,'companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2017-08-30 15:14:30'),(161090,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services',NULL,'products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2017-08-30 15:14:30'),(161092,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial',NULL,'commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(161093,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial',NULL,'compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2017-08-30 15:14:30'),(161094,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects',NULL,'projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(161095,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools',NULL,'other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2017-08-30 15:14:30'),(161101,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash',NULL,'banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2017-08-30 15:14:30'),(161102,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/index.php?mainmenu=hrm&leftmenu=','','HRM',NULL,'holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(161177,'auguria',1,'','left','home',161088,NULL,NULL,0,'/index.php','','MyDashboard',NULL,'',0,'','','1',2,'2017-08-30 15:14:30'),(161187,'auguria',1,'','left','home',161088,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup',NULL,'admin',0,'setup','','$user->admin',2,'2017-08-30 15:14:30'),(161188,'auguria',1,'','left','home',161187,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161189,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161190,'auguria',1,'','left','home',161187,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161191,'auguria',1,'','left','home',161187,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161192,'auguria',1,'','left','home',161187,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:47'),(161193,'auguria',1,'','left','home',161187,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161194,'auguria',1,'','left','home',161187,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161195,'auguria',1,'','left','home',161187,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:36'),(161196,'auguria',1,'','left','home',161187,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161197,'auguria',1,'','left','home',161187,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161198,'auguria',1,'','left','home',161187,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161199,'auguria',1,'','left','home',161187,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161200,'auguria',1,'','left','home',161187,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161201,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161288,'auguria',1,'','left','home',161387,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161289,'auguria',1,'','left','home',161288,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161290,'auguria',1,'','left','home',161288,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161291,'auguria',1,'','left','home',161288,NULL,NULL,4,'/admin/system/filecheck.php?leftmenu=admintools','','FileCheck',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161292,'auguria',1,'','left','home',161387,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161293,'auguria',1,'','left','home',161387,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161294,'auguria',1,'','left','home',161387,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161295,'auguria',1,'','left','home',161387,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161297,'auguria',1,'','left','home',161387,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161387,'auguria',1,'','left','home',161088,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools',NULL,'admin',0,'admintools','','$user->admin',2,'2017-08-30 15:14:30'),(161388,'auguria',1,'','left','home',161387,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161389,'auguria',1,'','left','home',161387,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161392,'auguria',1,'','left','home',161387,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161393,'auguria',1,'','left','home',161387,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator',NULL,'admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2017-08-30 15:14:30'),(161394,'auguria',1,'','left','home',161387,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161395,'auguria',1,'','left','home',161387,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161396,'auguria',1,'','left','home',161387,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161398,'auguria',1,'','left','home',161387,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','ExternalResources',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161407,'auguria',1,'','left','home',161387,NULL,NULL,15,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange',NULL,'products',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161487,'auguria',1,'','left','home',161088,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups',NULL,'users',0,'users','','1',2,'2017-08-30 15:14:30'),(161488,'auguria',1,'','left','home',161487,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users',NULL,'users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161489,'auguria',1,'','left','home',161488,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser',NULL,'users',2,'','($user->rights->user->user->creer || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161490,'auguria',1,'','left','home',161487,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups',NULL,'users',1,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161491,'auguria',1,'','left','home',161490,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup',NULL,'users',2,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161587,'auguria',1,'','left','companies',161089,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty',NULL,'companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161588,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/card.php?action=create','','MenuNewThirdParty',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161589,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/list.php?action=create','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161590,'auguria',1,'','left','companies',161587,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort',NULL,'suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161591,'auguria',1,'','left','companies',161590,NULL,NULL,0,'/societe/card.php?leftmenu=supplier&action=create&type=f','','NewSupplier',NULL,'suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161593,'auguria',1,'','left','companies',161587,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161594,'auguria',1,'','left','companies',161593,NULL,NULL,0,'/societe/card.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161596,'auguria',1,'','left','companies',161587,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161597,'auguria',1,'','left','companies',161596,NULL,NULL,0,'/societe/card.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161687,'auguria',1,'','left','companies',161089,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses',NULL,'companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161688,'auguria',1,'','left','companies',161687,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress',NULL,'companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161689,'auguria',1,'','left','companies',161687,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161691,'auguria',1,'','left','companies',161689,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161692,'auguria',1,'','left','companies',161689,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161693,'auguria',1,'','left','companies',161689,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161694,'auguria',1,'','left','companies',161689,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161737,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161738,'auguria',1,'','left','companies',161737,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161747,'auguria',1,'','left','companies',161089,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161748,'auguria',1,'','left','companies',161747,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161757,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161758,'auguria',1,'','left','companies',161757,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(162187,'auguria',1,'','left','commercial',161092,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop',NULL,'propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162188,'auguria',1,'','left','commercial',162187,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal',NULL,'propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162189,'auguria',1,'','left','commercial',162187,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162190,'auguria',1,'','left','commercial',162189,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&search_status=0','','PropalsDraft',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162191,'auguria',1,'','left','commercial',162189,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&search_status=1','','PropalsOpened',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162192,'auguria',1,'','left','commercial',162189,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&search_status=2','','PropalStatusSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162193,'auguria',1,'','left','commercial',162189,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&search_status=3','','PropalStatusNotSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162194,'auguria',1,'','left','commercial',162189,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&search_status=4','','PropalStatusBilled',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162197,'auguria',1,'','left','commercial',162187,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162287,'auguria',1,'','left','commercial',161092,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162288,'auguria',1,'','left','commercial',162287,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder',NULL,'orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162289,'auguria',1,'','left','commercial',162287,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162290,'auguria',1,'','left','commercial',162289,NULL,NULL,2,'/commande/list.php?leftmenu=orders&search_status=0','','StatusOrderDraftShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162291,'auguria',1,'','left','commercial',162289,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=1','','StatusOrderValidated',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162292,'auguria',1,'','left','commercial',162289,NULL,NULL,4,'/commande/list.php?leftmenu=orders&search_status=2','','StatusOrderOnProcessShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162293,'auguria',1,'','left','commercial',162289,NULL,NULL,5,'/commande/list.php?leftmenu=orders&search_status=3','','StatusOrderToBill',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162294,'auguria',1,'','left','commercial',162289,NULL,NULL,6,'/commande/list.php?leftmenu=orders&search_status=4','','StatusOrderProcessed',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162295,'auguria',1,'','left','commercial',162289,NULL,NULL,7,'/commande/list.php?leftmenu=orders&search_status=-1','','StatusOrderCanceledShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162296,'auguria',1,'','left','commercial',162287,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162387,'auguria',1,'','left','commercial',161090,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments',NULL,'sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2017-08-30 15:14:30'),(162388,'auguria',1,'','left','commercial',162387,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending',NULL,'sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162389,'auguria',1,'','left','commercial',162387,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162390,'auguria',1,'','left','commercial',162387,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162487,'auguria',1,'','left','commercial',161092,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts',NULL,'contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162488,'auguria',1,'','left','commercial',162487,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract',NULL,'contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162489,'auguria',1,'','left','commercial',162487,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162490,'auguria',1,'','left','commercial',162487,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162491,'auguria',1,'','left','commercial',162490,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162492,'auguria',1,'','left','commercial',162490,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162493,'auguria',1,'','left','commercial',162490,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162494,'auguria',1,'','left','commercial',162490,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162587,'auguria',1,'','left','commercial',161092,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions',NULL,'interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162588,'auguria',1,'','left','commercial',162587,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention',NULL,'interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162589,'auguria',1,'','left','commercial',162587,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162590,'auguria',1,'','left','commercial',162587,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162687,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers',NULL,'bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162688,'auguria',1,'','left','accountancy',162687,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill',NULL,'bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162689,'auguria',1,'','left','accountancy',162687,NULL,NULL,1,'/fourn/facture/list.php?leftmenu=suppliers_bills','','List',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162690,'auguria',1,'','left','accountancy',162687,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162691,'auguria',1,'','left','accountancy',162687,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162692,'auguria',1,'','left','accountancy',162690,NULL,NULL,1,'/fourn/facture/rapport.php?leftmenu=suppliers_bills','','Reporting',NULL,'bills',2,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162787,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers',NULL,'bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162788,'auguria',1,'','left','accountancy',162787,NULL,NULL,3,'/compta/facture/card.php?action=create&leftmenu=customers_bills','','NewBill',NULL,'bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162789,'auguria',1,'','left','accountancy',162787,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162791,'auguria',1,'','left','accountancy',162787,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162792,'auguria',1,'','left','accountancy',162787,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162797,'auguria',1,'','left','accountancy',162791,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162798,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits',NULL,'bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162799,'auguria',1,'','left','accountancy',162798,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit',NULL,'compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162800,'auguria',1,'','left','accountancy',162798,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List',NULL,'bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162801,'auguria',1,'','left','accountancy',162787,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162807,'auguria',1,'','left','accountancy',162792,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162808,'auguria',1,'','left','accountancy',162792,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162809,'auguria',1,'','left','accountancy',162792,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162810,'auguria',1,'','left','accountancy',162792,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162987,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=3','','MenuOrdersToBill',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2017-08-30 15:14:30'),(163087,'auguria',1,'','left','accountancy',161093,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations',NULL,'donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2017-08-30 15:14:30'),(163088,'auguria',1,'','left','accountancy',163087,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation',NULL,'donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163089,'auguria',1,'','left','accountancy',163087,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List',NULL,'donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163187,'auguria',1,'','left','accountancy',161102,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses',NULL,'trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163188,'auguria',1,'','left','accountancy',163187,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New',NULL,'trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163189,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163190,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163287,'auguria',1,'','left','accountancy',161093,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses',NULL,'compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163297,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries',NULL,'salaries',1,'tax_sal','$user->rights->salaries->payment->read','$conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163298,'auguria',1,'','left','accountancy',163297,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment',NULL,'companies',2,'','$user->rights->salaries->payment->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163299,'auguria',1,'','left','accountancy',163297,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments',NULL,'companies',2,'','$user->rights->salaries->payment->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163307,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans',NULL,'loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2017-08-30 15:14:30'),(163308,'auguria',1,'','left','accountancy',163307,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan',NULL,'loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2017-08-30 15:14:30'),(163310,'auguria',1,'','left','accountancy',163307,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator',NULL,'companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2017-08-30 15:14:30'),(163337,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions',NULL,'',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2017-08-30 15:14:30'),(163338,'auguria',1,'','left','accountancy',163337,NULL,NULL,2,'/compta/sociales/card.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution',NULL,'',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163339,'auguria',1,'','left','accountancy',163337,NULL,NULL,3,'/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments',NULL,'',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163387,'auguria',1,'','left','accountancy',163287,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT',NULL,'companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2017-08-30 15:14:30'),(163388,'auguria',1,'','left','accountancy',163387,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New',NULL,'companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163389,'auguria',1,'','left','accountancy',163387,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163390,'auguria',1,'','left','accountancy',163387,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163391,'auguria',1,'','left','accountancy',163387,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163487,'auguria',1,'','left','accountancy',161093,NULL,NULL,7,'/accountancy/index.php?leftmenu=accountancy','','MenuAccountancy',NULL,'accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163488,'auguria',1,'','left','accountancy',163487,NULL,NULL,2,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation',NULL,'accountancy',1,'dispatch_customer','$user->rights->accounting->bind->write','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163489,'auguria',1,'','left','accountancy',163488,NULL,NULL,3,'/accountancy/customer/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163490,'auguria',1,'','left','accountancy',163488,NULL,NULL,4,'/accountancy/customer/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163497,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation',NULL,'accountancy',1,'ventil_supplier','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2017-08-30 15:14:30'),(163498,'auguria',1,'','left','accountancy',163497,NULL,NULL,6,'/accountancy/supplier/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163499,'auguria',1,'','left','accountancy',163497,NULL,NULL,7,'/accountancy/supplier/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163507,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/expensereport/index.php?leftmenu=dispatch_expensereport','','ExpenseReportsVentilation',NULL,'accountancy',1,'ventil_expensereport','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(163508,'auguria',1,'','left','accountancy',163507,NULL,NULL,6,'/accountancy/expensereport/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163509,'auguria',1,'','left','accountancy',163507,NULL,NULL,7,'/accountancy/expensereport/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163517,'auguria',1,'','left','accountancy',163487,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping',NULL,'accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163522,'auguria',1,'','left','accountancy',163487,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance',NULL,'accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163527,'auguria',1,'','left','accountancy',163487,NULL,NULL,17,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','Reportings',NULL,'main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163528,'auguria',1,'','left','accountancy',163527,NULL,NULL,19,'/compta/resultat/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportInOut',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163529,'auguria',1,'','left','accountancy',163528,NULL,NULL,18,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','ByAccounts',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163530,'auguria',1,'','left','accountancy',163528,NULL,NULL,20,'/compta/resultat/clientfourn.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163531,'auguria',1,'','left','accountancy',163527,NULL,NULL,21,'/compta/stats/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportTurnover',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163532,'auguria',1,'','left','accountancy',163531,NULL,NULL,22,'/compta/stats/casoc.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163533,'auguria',1,'','left','accountancy',163531,NULL,NULL,23,'/compta/stats/cabyuser.php?mainmenu=accountancy&leftmenu=accountancy','','ByUsers',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163534,'auguria',1,'','left','accountancy',163531,NULL,NULL,24,'/compta/stats/cabyprodserv.php?mainmenu=accountancy&leftmenu=accountancy','','ByProductsAndServices',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163537,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/accountancy/admin/fiscalyear.php?mainmenu=accountancy&leftmenu=accountancy_admin','','FiscalPeriod',NULL,'admin',1,'accountancy_admin_period','','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\" && $conf->global->MAIN_FEATURES_LEVEL > 0',2,'2017-08-30 15:14:30'),(163538,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'/accountancy/index.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Setup',NULL,'accountancy',1,'accountancy_admin','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163541,'auguria',1,'','left','accountancy',163538,NULL,NULL,10,'/accountancy/admin/journals_list.php?id=35&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingJournals',NULL,'accountancy',2,'accountancy_admin_journal','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163542,'auguria',1,'','left','accountancy',163538,NULL,NULL,20,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Pcg_version',NULL,'accountancy',2,'accountancy_admin_chartmodel','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163543,'auguria',1,'','left','accountancy',163538,NULL,NULL,30,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Chartofaccounts',NULL,'accountancy',2,'accountancy_admin_chart','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163544,'auguria',1,'','left','accountancy',163538,NULL,NULL,40,'/accountancy/admin/categories_list.php?id=32&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingCategory',NULL,'accountancy',2,'accountancy_admin_chart_group','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163545,'auguria',1,'','left','accountancy',163538,NULL,NULL,50,'/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuDefaultAccounts',NULL,'accountancy',2,'accountancy_admin_default','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163546,'auguria',1,'','left','accountancy',163538,NULL,NULL,60,'/admin/dict.php?id=10&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuVatAccounts',NULL,'accountancy',2,'accountancy_admin_vat','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163547,'auguria',1,'','left','accountancy',163538,NULL,NULL,70,'/admin/dict.php?id=7&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuTaxAccounts',NULL,'accountancy',2,'accountancy_admin_tax','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163548,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/admin/dict.php?id=17&from=accountancy&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuExpenseReportAccounts',NULL,'accountancy',2,'accountancy_admin_expensereport','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163549,'auguria',1,'','left','accountancy',163538,NULL,NULL,90,'/accountancy/admin/productaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuProductsAccounts',NULL,'accountancy',2,'accountancy_admin_product','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163587,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders',NULL,'withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2017-08-30 15:14:30'),(163589,'auguria',1,'','left','accountancy',163587,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163590,'auguria',1,'','left','accountancy',163587,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163591,'auguria',1,'','left','accountancy',163587,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163593,'auguria',1,'','left','accountancy',163587,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163594,'auguria',1,'','left','accountancy',163587,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163687,'auguria',1,'','left','accountancy',161101,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash',NULL,'banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2017-08-30 15:14:30'),(163688,'auguria',1,'','left','accountancy',163687,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount',NULL,'banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163690,'auguria',1,'','left','accountancy',163687,NULL,NULL,2,'/compta/bank/bankentries.php?leftmenu=bank','','ListTransactions',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163691,'auguria',1,'','left','accountancy',163687,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163693,'auguria',1,'','left','accountancy',163687,NULL,NULL,5,'/compta/bank/transfer.php?leftmenu=bank','','BankTransfers',NULL,'banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163737,'auguria',1,'','left','accountancy',161101,NULL,NULL,4,'/categories/index.php?leftmenu=bank&type=5','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163738,'auguria',1,'','left','accountancy',163737,NULL,NULL,0,'/categories/card.php?leftmenu=bank&action=create&type=5','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163787,'auguria',1,'','left','accountancy',161093,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings',NULL,'main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2017-08-30 15:14:30'),(163792,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'','','Journalization',NULL,'main',1,'','$user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163793,'auguria',1,'','left','accountancy',163792,NULL,NULL,4,'/accountancy/journal/sellsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=1','','SellsJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163794,'auguria',1,'','left','accountancy',163792,NULL,NULL,1,'/accountancy/journal/bankjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=3','','BankJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163795,'auguria',1,'','left','accountancy',163792,NULL,NULL,2,'/accountancy/journal/expensereportsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=6','','ExpenseReportJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163796,'auguria',1,'','left','accountancy',163792,NULL,NULL,3,'/accountancy/journal/purchasesjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=2','','PurchasesJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163798,'auguria',1,'','left','accountancy',163787,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163799,'auguria',1,'','left','accountancy',163788,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163800,'auguria',1,'','left','accountancy',163787,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163801,'auguria',1,'','left','accountancy',163790,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163802,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163803,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163887,'auguria',1,'','left','products',161090,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products',NULL,'products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163888,'auguria',1,'','left','products',163887,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct',NULL,'products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163889,'auguria',1,'','left','products',163887,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List',NULL,'products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163890,'auguria',1,'','left','products',163887,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163891,'auguria',1,'','left','products',163887,NULL,NULL,7,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics',NULL,'main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(163892,'auguria',1,'','left','products',163887,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163893,'auguria',1,'','left','products',163887,NULL,NULL,6,'/product/stock/productlot_list.php','','LotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163987,'auguria',1,'','left','products',161090,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services',NULL,'products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163988,'auguria',1,'','left','products',163987,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService',NULL,'products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163989,'auguria',1,'','left','products',163987,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List',NULL,'products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163990,'auguria',1,'','left','products',163987,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics',NULL,'main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(164187,'auguria',1,'','left','products',161090,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock',NULL,'stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164188,'auguria',1,'','left','products',164187,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse',NULL,'stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164189,'auguria',1,'','left','products',164187,NULL,NULL,1,'/product/stock/list.php','','List',NULL,'stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164191,'auguria',1,'','left','products',164187,NULL,NULL,3,'/product/stock/mouvement.php','','Movements',NULL,'stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164192,'auguria',1,'','left','products',164187,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(164193,'auguria',1,'','left','products',164187,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164287,'auguria',1,'','left','products',161090,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164288,'auguria',1,'','left','products',164287,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164487,'auguria',1,'','left','project',161094,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164687,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects',NULL,'projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164688,'auguria',1,'','left','project',164687,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164689,'auguria',1,'','left','project',164687,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164690,'auguria',1,'','left','project',164687,NULL,NULL,3,'/projet/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164787,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164788,'auguria',1,'','left','project',164787,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164789,'auguria',1,'','left','project',164787,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164791,'auguria',1,'','left','project',164787,NULL,NULL,4,'/projet/tasks/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164891,'auguria',1,'','left','project',161094,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=6','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164892,'auguria',1,'','left','project',164891,NULL,NULL,0,'/categories/card.php?action=create&type=6','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164987,'auguria',1,'','left','tools',161095,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings',NULL,'mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164988,'auguria',1,'','left','tools',164987,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing',NULL,'mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164989,'auguria',1,'','left','tools',164987,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List',NULL,'mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(165187,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport',NULL,'exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165188,'auguria',1,'','left','tools',165187,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport',NULL,'exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165217,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport',NULL,'exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165218,'auguria',1,'','left','tools',165217,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport',NULL,'exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165287,'auguria',1,'','left','members',161100,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members',NULL,'members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165288,'auguria',1,'','left','members',165287,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember',NULL,'members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165289,'auguria',1,'','left','members',165287,NULL,NULL,1,'/adherents/list.php','','List',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165290,'auguria',1,'','left','members',165289,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165291,'auguria',1,'','left','members',165289,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165292,'auguria',1,'','left','members',165289,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165293,'auguria',1,'','left','members',165289,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165294,'auguria',1,'','left','members',165289,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165295,'auguria',1,'','left','members',165287,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165387,'auguria',1,'','left','members',161100,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions',NULL,'compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165388,'auguria',1,'','left','members',165387,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription',NULL,'compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165389,'auguria',1,'','left','members',165387,NULL,NULL,1,'/adherents/subscription/list.php?leftmenu=members','','List',NULL,'compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165390,'auguria',1,'','left','members',165387,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165589,'auguria',1,'','left','members',165287,NULL,NULL,9,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd',NULL,'members',1,'','$user->rights->adherent->export','! empty($conf->global->MEMBER_LINK_TO_HTPASSWDFILE) && $conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165590,'auguria',1,'','left','members',165287,NULL,NULL,10,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards',NULL,'members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165687,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/user/index.php?leftmenu=hrm&mode=employee','','Employees',NULL,'hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165688,'auguria',1,'','left','hrm',165687,NULL,NULL,1,'/user/card.php?action=create&employee=1','','NewEmployee',NULL,'hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165689,'auguria',1,'','left','hrm',165687,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee&contextpage=employeelist','','List',NULL,'hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165787,'auguria',1,'','left','members',161100,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes',NULL,'members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165788,'auguria',1,'','left','members',165787,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165789,'auguria',1,'','left','members',165787,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(166087,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu',NULL,'holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166088,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP',NULL,'holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166089,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List',NULL,'holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166090,'auguria',1,'','left','hrm',166089,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove',NULL,'trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166091,'auguria',1,'','left','hrm',166087,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166092,'auguria',1,'','left','hrm',166087,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166187,'auguria',1,'','left','commercial',161092,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders',NULL,'orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166188,'auguria',1,'','left','commercial',166187,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder',NULL,'orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166189,'auguria',1,'','left','commercial',166187,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&search_status=0','','List',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166195,'auguria',1,'','left','commercial',166187,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166287,'auguria',1,'','left','members',161100,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166288,'auguria',1,'','left','members',166287,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166387,'auguria',1,'','left','hrm',161102,NULL,NULL,5,'/expensereport/index.php?leftmenu=expensereport','','TripsAndExpenses',NULL,'trips',0,'expensereport','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166388,'auguria',1,'','left','hrm',166387,NULL,NULL,1,'/expensereport/card.php?action=create&leftmenu=expensereport','','New',NULL,'trips',1,'','$user->rights->expensereport->creer','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166389,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/list.php?leftmenu=expensereport','','List',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166390,'auguria',1,'','left','hrm',166389,NULL,NULL,2,'/expensereport/list.php?search_status=2&leftmenu=expensereport','','ListToApprove',NULL,'trips',2,'','$user->rights->expensereport->approve','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166391,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/stats/index.php?leftmenu=expensereport','','Statistics',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(167038,'all',1,'agenda','top','agenda',0,NULL,NULL,86,'/comm/action/index.php','','TMenuAgenda','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167039,'all',1,'agenda','left','agenda',167038,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167040,'all',1,'agenda','left','agenda',167039,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167041,'all',1,'agenda','left','agenda',167039,NULL,NULL,140,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda','','Calendar','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167042,'all',1,'agenda','left','agenda',167041,NULL,NULL,141,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167043,'all',1,'agenda','left','agenda',167041,NULL,NULL,142,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167044,'all',1,'agenda','left','agenda',167041,NULL,NULL,143,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167045,'all',1,'agenda','left','agenda',167041,NULL,NULL,144,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167046,'all',1,'agenda','left','agenda',167039,NULL,NULL,110,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda','','List','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167047,'all',1,'agenda','left','agenda',167046,NULL,NULL,111,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167048,'all',1,'agenda','left','agenda',167046,NULL,NULL,112,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167049,'all',1,'agenda','left','agenda',167046,NULL,NULL,113,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167050,'all',1,'agenda','left','agenda',167046,NULL,NULL,114,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167051,'all',1,'agenda','left','agenda',167039,NULL,NULL,160,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167052,'all',1,'agenda','left','agenda',167039,NULL,NULL,170,'/categories/index.php?mainmenu=agenda&leftmenu=agenda&type=10','','Categories','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->categorie->enabled&&$conf->categorie->enabled',2,'2021-04-15 10:22:58'),(167053,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2021-04-15 10:22:58'),(167054,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && preg_match(\'/^(admintools|all)/\',$leftmenu)',0,'2021-04-15 10:22:58'),(167055,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?leftmenu=admintools','','CronList','','cron',NULL,NULL,'$user->rights->cron->read','$conf->cron->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',2,'2021-04-15 10:22:58'),(167056,'all',1,'blockedlog','left','tools',-1,NULL,'tools',200,'/blockedlog/admin/blockedlog_list.php?mainmenu=tools&leftmenu=blockedlogbrowser','','BrowseBlockedLog','','blockedlog',NULL,'blockedlogbrowser','$user->rights->blockedlog->read','$conf->blockedlog->enabled',2,'2021-04-15 10:22:58'),(167057,'all',1,'ecm','top','ecm',0,NULL,NULL,82,'/ecm/index.php','','MenuECM','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2021-04-15 10:22:59'),(167058,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-04-15 10:22:59'),(167059,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-04-15 10:22:59'),(167060,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','($user->rights->ecm->read || $user->rights->ecm->upload) && ! empty($conf->global->ECM_AUTO_TREE_ENABLED)',2,'2021-04-15 10:22:59'),(167061,'all',1,'margins','left','billing',-1,NULL,'billing',100,'/margin/index.php','','Margins','','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2021-04-15 10:23:00'),(167062,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-04-15 10:23:00'),(167063,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2021-04-15 10:23:00'),(167064,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-04-15 10:23:00'),(167065,'all',1,'printing','left','home',-1,'admintools','home',300,'/printing/index.php?mainmenu=home&leftmenu=admintools','','MenuDirectPrinting','','printing',NULL,NULL,'$user->rights->printing->read','$conf->printing->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',0,'2021-04-15 10:23:00'),(167066,'all',1,'recruitment','left','hrm',-1,NULL,'hrm',1001,'/recruitment/recruitmentindex.php','','Recruitment','','recruitment',NULL,'recruitmentjobposition','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167067,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1002,'/recruitment/recruitmentjobposition_card.php?action=create','','NewPositionToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167068,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1003,'/recruitment/recruitmentjobposition_list.php','','ListOfPositionsToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167069,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1004,'/recruitment/recruitmentcandidature_card.php?action=create','','NewCandidature','','recruitment',NULL,'recruitment_recruitmentcandidature_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167070,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1005,'/recruitment/recruitmentcandidature_list.php','','ListOfCandidatures','','recruitment',NULL,'recruitment_recruitmentcandidature_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167071,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','','resource',NULL,'resource','$user->rights->resource->read','1',0,'2021-04-15 10:23:00'),(167072,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/card.php?action=create','','MenuResourceAdd','','resource',NULL,'resource_add','$user->rights->resource->write','1',0,'2021-04-15 10:23:00'),(167073,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','','resource',NULL,'resource_list','$user->rights->resource->read','1',0,'2021-04-15 10:23:00'),(167074,'all',1,'stripe','left','bank',-1,NULL,'bank',100,'','','StripeAccount','','stripe',NULL,'stripe','$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167075,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/charge.php','','StripeChargeList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167076,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/transaction.php','','StripeTransactionList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167077,'all',1,'stripe','left','bank',-1,'stripe','bank',103,'/stripe/payout.php','','StripePayoutList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167078,'all',1,'ticket','top','ticket',0,NULL,NULL,88,'/ticket/index.php','','Ticket','','ticket',NULL,'1','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167079,'all',1,'ticket','left','ticket',-1,NULL,'ticket',101,'/ticket/index.php','','Ticket','','ticket',NULL,'ticket','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167080,'all',1,'ticket','left','ticket',-1,'ticket','ticket',102,'/ticket/card.php?action=create','','NewTicket','','ticket',NULL,NULL,'$user->rights->ticket->write','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167081,'all',1,'ticket','left','ticket',-1,'ticket','ticket',103,'/ticket/list.php?search_fk_status=non_closed','','List','','ticket',NULL,'ticketlist','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167082,'all',1,'ticket','left','ticket',-1,'ticket','ticket',105,'/ticket/list.php?mode=mine&search_fk_status=non_closed','','MenuTicketMyAssign','','ticket',NULL,'ticketmy','$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-04-15 10:23:01'),(167083,'all',1,'ticket','left','ticket',-1,'ticket','ticket',107,'/ticket/stats/index.php','','Statistics','','ticket',NULL,NULL,'$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-04-15 10:23:01'),(167084,'all',1,'takepos','top','takepos',0,NULL,NULL,1001,'/takepos/index.php','takepos','PointOfSaleShort','','cashdesk',NULL,NULL,'$user->rights->takepos->run','$conf->takepos->enabled',2,'2021-04-15 10:23:01'),(167085,'all',1,'website','top','website',0,NULL,NULL,100,'/website/index.php','','WebSites','','website',NULL,NULL,'$user->rights->website->read','$conf->website->enabled',2,'2021-04-15 10:23:02'); +INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction',NULL,'commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys',NULL,'opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey',NULL,'opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey',NULL,'opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List',NULL,'opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(161088,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home',NULL,'',-1,'','','1',2,'2017-08-30 15:14:30'),(161089,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties',NULL,'companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2017-08-30 15:14:30'),(161090,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services',NULL,'products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2017-08-30 15:14:30'),(161092,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial',NULL,'commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(161093,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial',NULL,'compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2017-08-30 15:14:30'),(161094,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects',NULL,'projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(161095,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools',NULL,'other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2017-08-30 15:14:30'),(161101,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash',NULL,'banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2017-08-30 15:14:30'),(161102,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/index.php?mainmenu=hrm&leftmenu=','','HRM',NULL,'holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(161177,'auguria',1,'','left','home',161088,NULL,NULL,0,'/index.php','','MyDashboard',NULL,'',0,'','','1',2,'2017-08-30 15:14:30'),(161187,'auguria',1,'','left','home',161088,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup',NULL,'admin',0,'setup','','$user->admin',2,'2017-08-30 15:14:30'),(161188,'auguria',1,'','left','home',161187,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161189,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161190,'auguria',1,'','left','home',161187,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161191,'auguria',1,'','left','home',161187,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161192,'auguria',1,'','left','home',161187,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:47'),(161193,'auguria',1,'','left','home',161187,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161194,'auguria',1,'','left','home',161187,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161195,'auguria',1,'','left','home',161187,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:36'),(161196,'auguria',1,'','left','home',161187,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161197,'auguria',1,'','left','home',161187,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161198,'auguria',1,'','left','home',161187,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161199,'auguria',1,'','left','home',161187,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161200,'auguria',1,'','left','home',161187,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161201,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161288,'auguria',1,'','left','home',161387,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161289,'auguria',1,'','left','home',161288,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161290,'auguria',1,'','left','home',161288,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161291,'auguria',1,'','left','home',161288,NULL,NULL,4,'/admin/system/filecheck.php?leftmenu=admintools','','FileCheck',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161292,'auguria',1,'','left','home',161387,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161293,'auguria',1,'','left','home',161387,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161294,'auguria',1,'','left','home',161387,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161295,'auguria',1,'','left','home',161387,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161297,'auguria',1,'','left','home',161387,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161387,'auguria',1,'','left','home',161088,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools',NULL,'admin',0,'admintools','','$user->admin',2,'2017-08-30 15:14:30'),(161388,'auguria',1,'','left','home',161387,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161389,'auguria',1,'','left','home',161387,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161392,'auguria',1,'','left','home',161387,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161393,'auguria',1,'','left','home',161387,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator',NULL,'admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2017-08-30 15:14:30'),(161394,'auguria',1,'','left','home',161387,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161395,'auguria',1,'','left','home',161387,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161396,'auguria',1,'','left','home',161387,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161398,'auguria',1,'','left','home',161387,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','ExternalResources',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161407,'auguria',1,'','left','home',161387,NULL,NULL,15,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange',NULL,'products',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161487,'auguria',1,'','left','home',161088,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups',NULL,'users',0,'users','','1',2,'2017-08-30 15:14:30'),(161488,'auguria',1,'','left','home',161487,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users',NULL,'users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161489,'auguria',1,'','left','home',161488,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser',NULL,'users',2,'','($user->rights->user->user->creer || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161490,'auguria',1,'','left','home',161487,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups',NULL,'users',1,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161491,'auguria',1,'','left','home',161490,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup',NULL,'users',2,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161587,'auguria',1,'','left','companies',161089,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty',NULL,'companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161588,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/card.php?action=create','','MenuNewThirdParty',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161589,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/list.php?action=create','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161590,'auguria',1,'','left','companies',161587,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort',NULL,'suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161591,'auguria',1,'','left','companies',161590,NULL,NULL,0,'/societe/card.php?leftmenu=supplier&action=create&type=f','','NewSupplier',NULL,'suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161593,'auguria',1,'','left','companies',161587,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161594,'auguria',1,'','left','companies',161593,NULL,NULL,0,'/societe/card.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161596,'auguria',1,'','left','companies',161587,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161597,'auguria',1,'','left','companies',161596,NULL,NULL,0,'/societe/card.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161687,'auguria',1,'','left','companies',161089,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses',NULL,'companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161688,'auguria',1,'','left','companies',161687,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress',NULL,'companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161689,'auguria',1,'','left','companies',161687,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161691,'auguria',1,'','left','companies',161689,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161692,'auguria',1,'','left','companies',161689,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161693,'auguria',1,'','left','companies',161689,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161694,'auguria',1,'','left','companies',161689,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161737,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161738,'auguria',1,'','left','companies',161737,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161747,'auguria',1,'','left','companies',161089,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161748,'auguria',1,'','left','companies',161747,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161757,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161758,'auguria',1,'','left','companies',161757,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(162187,'auguria',1,'','left','commercial',161092,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop',NULL,'propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162188,'auguria',1,'','left','commercial',162187,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal',NULL,'propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162189,'auguria',1,'','left','commercial',162187,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162190,'auguria',1,'','left','commercial',162189,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&search_status=0','','PropalsDraft',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162191,'auguria',1,'','left','commercial',162189,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&search_status=1','','PropalsOpened',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162192,'auguria',1,'','left','commercial',162189,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&search_status=2','','PropalStatusSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162193,'auguria',1,'','left','commercial',162189,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&search_status=3','','PropalStatusNotSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162194,'auguria',1,'','left','commercial',162189,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&search_status=4','','PropalStatusBilled',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162197,'auguria',1,'','left','commercial',162187,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162287,'auguria',1,'','left','commercial',161092,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162288,'auguria',1,'','left','commercial',162287,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder',NULL,'orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162289,'auguria',1,'','left','commercial',162287,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162290,'auguria',1,'','left','commercial',162289,NULL,NULL,2,'/commande/list.php?leftmenu=orders&search_status=0','','StatusOrderDraftShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162291,'auguria',1,'','left','commercial',162289,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=1','','StatusOrderValidated',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162292,'auguria',1,'','left','commercial',162289,NULL,NULL,4,'/commande/list.php?leftmenu=orders&search_status=2','','StatusOrderOnProcessShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162293,'auguria',1,'','left','commercial',162289,NULL,NULL,5,'/commande/list.php?leftmenu=orders&search_status=3','','StatusOrderToBill',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162294,'auguria',1,'','left','commercial',162289,NULL,NULL,6,'/commande/list.php?leftmenu=orders&search_status=4','','StatusOrderProcessed',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162295,'auguria',1,'','left','commercial',162289,NULL,NULL,7,'/commande/list.php?leftmenu=orders&search_status=-1','','StatusOrderCanceledShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162296,'auguria',1,'','left','commercial',162287,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162387,'auguria',1,'','left','commercial',161090,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments',NULL,'sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2017-08-30 15:14:30'),(162388,'auguria',1,'','left','commercial',162387,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending',NULL,'sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162389,'auguria',1,'','left','commercial',162387,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162390,'auguria',1,'','left','commercial',162387,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162487,'auguria',1,'','left','commercial',161092,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts',NULL,'contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162488,'auguria',1,'','left','commercial',162487,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract',NULL,'contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162489,'auguria',1,'','left','commercial',162487,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162490,'auguria',1,'','left','commercial',162487,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162491,'auguria',1,'','left','commercial',162490,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162492,'auguria',1,'','left','commercial',162490,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162493,'auguria',1,'','left','commercial',162490,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162494,'auguria',1,'','left','commercial',162490,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162587,'auguria',1,'','left','commercial',161092,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions',NULL,'interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162588,'auguria',1,'','left','commercial',162587,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention',NULL,'interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162589,'auguria',1,'','left','commercial',162587,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162590,'auguria',1,'','left','commercial',162587,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162687,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers',NULL,'bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162688,'auguria',1,'','left','accountancy',162687,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill',NULL,'bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162689,'auguria',1,'','left','accountancy',162687,NULL,NULL,1,'/fourn/facture/list.php?leftmenu=suppliers_bills','','List',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162690,'auguria',1,'','left','accountancy',162687,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162691,'auguria',1,'','left','accountancy',162687,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162692,'auguria',1,'','left','accountancy',162690,NULL,NULL,1,'/fourn/facture/rapport.php?leftmenu=suppliers_bills','','Reporting',NULL,'bills',2,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162787,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers',NULL,'bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162788,'auguria',1,'','left','accountancy',162787,NULL,NULL,3,'/compta/facture/card.php?action=create&leftmenu=customers_bills','','NewBill',NULL,'bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162789,'auguria',1,'','left','accountancy',162787,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162791,'auguria',1,'','left','accountancy',162787,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162792,'auguria',1,'','left','accountancy',162787,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162797,'auguria',1,'','left','accountancy',162791,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162798,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits',NULL,'bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162799,'auguria',1,'','left','accountancy',162798,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit',NULL,'compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162800,'auguria',1,'','left','accountancy',162798,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List',NULL,'bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162801,'auguria',1,'','left','accountancy',162787,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162807,'auguria',1,'','left','accountancy',162792,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162808,'auguria',1,'','left','accountancy',162792,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162809,'auguria',1,'','left','accountancy',162792,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162810,'auguria',1,'','left','accountancy',162792,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162987,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=3','','MenuOrdersToBill',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2017-08-30 15:14:30'),(163087,'auguria',1,'','left','accountancy',161093,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations',NULL,'donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2017-08-30 15:14:30'),(163088,'auguria',1,'','left','accountancy',163087,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation',NULL,'donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163089,'auguria',1,'','left','accountancy',163087,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List',NULL,'donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163187,'auguria',1,'','left','accountancy',161102,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses',NULL,'trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163188,'auguria',1,'','left','accountancy',163187,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New',NULL,'trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163189,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163190,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163287,'auguria',1,'','left','accountancy',161093,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses',NULL,'compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163297,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries',NULL,'salaries',1,'tax_sal','$user->rights->salaries->payment->read','$conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163298,'auguria',1,'','left','accountancy',163297,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment',NULL,'companies',2,'','$user->rights->salaries->payment->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163299,'auguria',1,'','left','accountancy',163297,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments',NULL,'companies',2,'','$user->rights->salaries->payment->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163307,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans',NULL,'loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2017-08-30 15:14:30'),(163308,'auguria',1,'','left','accountancy',163307,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan',NULL,'loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2017-08-30 15:14:30'),(163310,'auguria',1,'','left','accountancy',163307,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator',NULL,'companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2017-08-30 15:14:30'),(163337,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions',NULL,'',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2017-08-30 15:14:30'),(163338,'auguria',1,'','left','accountancy',163337,NULL,NULL,2,'/compta/sociales/card.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution',NULL,'',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163339,'auguria',1,'','left','accountancy',163337,NULL,NULL,3,'/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments',NULL,'',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163387,'auguria',1,'','left','accountancy',163287,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT',NULL,'companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2017-08-30 15:14:30'),(163388,'auguria',1,'','left','accountancy',163387,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New',NULL,'companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163389,'auguria',1,'','left','accountancy',163387,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163390,'auguria',1,'','left','accountancy',163387,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163391,'auguria',1,'','left','accountancy',163387,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163487,'auguria',1,'','left','accountancy',161093,NULL,NULL,7,'/accountancy/index.php?leftmenu=accountancy','','MenuAccountancy',NULL,'accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163488,'auguria',1,'','left','accountancy',163487,NULL,NULL,2,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation',NULL,'accountancy',1,'dispatch_customer','$user->rights->accounting->bind->write','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163489,'auguria',1,'','left','accountancy',163488,NULL,NULL,3,'/accountancy/customer/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163490,'auguria',1,'','left','accountancy',163488,NULL,NULL,4,'/accountancy/customer/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163497,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation',NULL,'accountancy',1,'ventil_supplier','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2017-08-30 15:14:30'),(163498,'auguria',1,'','left','accountancy',163497,NULL,NULL,6,'/accountancy/supplier/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163499,'auguria',1,'','left','accountancy',163497,NULL,NULL,7,'/accountancy/supplier/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163507,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/expensereport/index.php?leftmenu=dispatch_expensereport','','ExpenseReportsVentilation',NULL,'accountancy',1,'ventil_expensereport','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(163508,'auguria',1,'','left','accountancy',163507,NULL,NULL,6,'/accountancy/expensereport/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163509,'auguria',1,'','left','accountancy',163507,NULL,NULL,7,'/accountancy/expensereport/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163517,'auguria',1,'','left','accountancy',163487,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping',NULL,'accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163522,'auguria',1,'','left','accountancy',163487,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance',NULL,'accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163527,'auguria',1,'','left','accountancy',163487,NULL,NULL,17,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','Reportings',NULL,'main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163528,'auguria',1,'','left','accountancy',163527,NULL,NULL,19,'/compta/resultat/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportInOut',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163529,'auguria',1,'','left','accountancy',163528,NULL,NULL,18,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','ByAccounts',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163530,'auguria',1,'','left','accountancy',163528,NULL,NULL,20,'/compta/resultat/clientfourn.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163531,'auguria',1,'','left','accountancy',163527,NULL,NULL,21,'/compta/stats/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportTurnover',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163532,'auguria',1,'','left','accountancy',163531,NULL,NULL,22,'/compta/stats/casoc.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163533,'auguria',1,'','left','accountancy',163531,NULL,NULL,23,'/compta/stats/cabyuser.php?mainmenu=accountancy&leftmenu=accountancy','','ByUsers',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163534,'auguria',1,'','left','accountancy',163531,NULL,NULL,24,'/compta/stats/cabyprodserv.php?mainmenu=accountancy&leftmenu=accountancy','','ByProductsAndServices',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163537,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/accountancy/admin/fiscalyear.php?mainmenu=accountancy&leftmenu=accountancy_admin','','FiscalPeriod',NULL,'admin',1,'accountancy_admin_period','','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\" && $conf->global->MAIN_FEATURES_LEVEL > 0',2,'2017-08-30 15:14:30'),(163538,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'/accountancy/index.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Setup',NULL,'accountancy',1,'accountancy_admin','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163541,'auguria',1,'','left','accountancy',163538,NULL,NULL,10,'/accountancy/admin/journals_list.php?id=35&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingJournals',NULL,'accountancy',2,'accountancy_admin_journal','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163542,'auguria',1,'','left','accountancy',163538,NULL,NULL,20,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Pcg_version',NULL,'accountancy',2,'accountancy_admin_chartmodel','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163543,'auguria',1,'','left','accountancy',163538,NULL,NULL,30,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Chartofaccounts',NULL,'accountancy',2,'accountancy_admin_chart','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163544,'auguria',1,'','left','accountancy',163538,NULL,NULL,40,'/accountancy/admin/categories_list.php?id=32&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingCategory',NULL,'accountancy',2,'accountancy_admin_chart_group','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163545,'auguria',1,'','left','accountancy',163538,NULL,NULL,50,'/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuDefaultAccounts',NULL,'accountancy',2,'accountancy_admin_default','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163546,'auguria',1,'','left','accountancy',163538,NULL,NULL,60,'/admin/dict.php?id=10&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuVatAccounts',NULL,'accountancy',2,'accountancy_admin_vat','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163547,'auguria',1,'','left','accountancy',163538,NULL,NULL,70,'/admin/dict.php?id=7&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuTaxAccounts',NULL,'accountancy',2,'accountancy_admin_tax','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163548,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/admin/dict.php?id=17&from=accountancy&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuExpenseReportAccounts',NULL,'accountancy',2,'accountancy_admin_expensereport','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163549,'auguria',1,'','left','accountancy',163538,NULL,NULL,90,'/accountancy/admin/productaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuProductsAccounts',NULL,'accountancy',2,'accountancy_admin_product','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163587,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders',NULL,'withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2017-08-30 15:14:30'),(163589,'auguria',1,'','left','accountancy',163587,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163590,'auguria',1,'','left','accountancy',163587,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163591,'auguria',1,'','left','accountancy',163587,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163593,'auguria',1,'','left','accountancy',163587,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163594,'auguria',1,'','left','accountancy',163587,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163687,'auguria',1,'','left','accountancy',161101,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash',NULL,'banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2017-08-30 15:14:30'),(163688,'auguria',1,'','left','accountancy',163687,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount',NULL,'banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163690,'auguria',1,'','left','accountancy',163687,NULL,NULL,2,'/compta/bank/bankentries.php?leftmenu=bank','','ListTransactions',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163691,'auguria',1,'','left','accountancy',163687,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163693,'auguria',1,'','left','accountancy',163687,NULL,NULL,5,'/compta/bank/transfer.php?leftmenu=bank','','BankTransfers',NULL,'banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163737,'auguria',1,'','left','accountancy',161101,NULL,NULL,4,'/categories/index.php?leftmenu=bank&type=5','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163738,'auguria',1,'','left','accountancy',163737,NULL,NULL,0,'/categories/card.php?leftmenu=bank&action=create&type=5','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163787,'auguria',1,'','left','accountancy',161093,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings',NULL,'main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2017-08-30 15:14:30'),(163792,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'','','Journalization',NULL,'main',1,'','$user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163793,'auguria',1,'','left','accountancy',163792,NULL,NULL,4,'/accountancy/journal/sellsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=1','','SellsJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163794,'auguria',1,'','left','accountancy',163792,NULL,NULL,1,'/accountancy/journal/bankjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=3','','BankJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163795,'auguria',1,'','left','accountancy',163792,NULL,NULL,2,'/accountancy/journal/expensereportsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=6','','ExpenseReportJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163796,'auguria',1,'','left','accountancy',163792,NULL,NULL,3,'/accountancy/journal/purchasesjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=2','','PurchasesJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163798,'auguria',1,'','left','accountancy',163787,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163799,'auguria',1,'','left','accountancy',163788,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163800,'auguria',1,'','left','accountancy',163787,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163801,'auguria',1,'','left','accountancy',163790,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163802,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163803,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163887,'auguria',1,'','left','products',161090,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products',NULL,'products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163888,'auguria',1,'','left','products',163887,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct',NULL,'products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163889,'auguria',1,'','left','products',163887,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List',NULL,'products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163890,'auguria',1,'','left','products',163887,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163891,'auguria',1,'','left','products',163887,NULL,NULL,7,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics',NULL,'main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(163892,'auguria',1,'','left','products',163887,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163893,'auguria',1,'','left','products',163887,NULL,NULL,6,'/product/stock/productlot_list.php','','LotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163987,'auguria',1,'','left','products',161090,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services',NULL,'products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163988,'auguria',1,'','left','products',163987,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService',NULL,'products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163989,'auguria',1,'','left','products',163987,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List',NULL,'products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163990,'auguria',1,'','left','products',163987,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics',NULL,'main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(164187,'auguria',1,'','left','products',161090,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock',NULL,'stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164188,'auguria',1,'','left','products',164187,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse',NULL,'stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164189,'auguria',1,'','left','products',164187,NULL,NULL,1,'/product/stock/list.php','','List',NULL,'stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164191,'auguria',1,'','left','products',164187,NULL,NULL,3,'/product/stock/mouvement.php','','Movements',NULL,'stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164192,'auguria',1,'','left','products',164187,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(164193,'auguria',1,'','left','products',164187,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164287,'auguria',1,'','left','products',161090,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164288,'auguria',1,'','left','products',164287,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164487,'auguria',1,'','left','project',161094,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164687,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects',NULL,'projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164688,'auguria',1,'','left','project',164687,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164689,'auguria',1,'','left','project',164687,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164690,'auguria',1,'','left','project',164687,NULL,NULL,3,'/projet/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164787,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164788,'auguria',1,'','left','project',164787,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164789,'auguria',1,'','left','project',164787,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164791,'auguria',1,'','left','project',164787,NULL,NULL,4,'/projet/tasks/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164891,'auguria',1,'','left','project',161094,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=6','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164892,'auguria',1,'','left','project',164891,NULL,NULL,0,'/categories/card.php?action=create&type=6','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164987,'auguria',1,'','left','tools',161095,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings',NULL,'mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164988,'auguria',1,'','left','tools',164987,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing',NULL,'mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164989,'auguria',1,'','left','tools',164987,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List',NULL,'mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(165187,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport',NULL,'exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165188,'auguria',1,'','left','tools',165187,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport',NULL,'exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165217,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport',NULL,'exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165218,'auguria',1,'','left','tools',165217,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport',NULL,'exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165287,'auguria',1,'','left','members',161100,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members',NULL,'members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165288,'auguria',1,'','left','members',165287,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember',NULL,'members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165289,'auguria',1,'','left','members',165287,NULL,NULL,1,'/adherents/list.php','','List',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165290,'auguria',1,'','left','members',165289,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165291,'auguria',1,'','left','members',165289,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165292,'auguria',1,'','left','members',165289,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165293,'auguria',1,'','left','members',165289,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165294,'auguria',1,'','left','members',165289,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165295,'auguria',1,'','left','members',165287,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165387,'auguria',1,'','left','members',161100,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions',NULL,'compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165388,'auguria',1,'','left','members',165387,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription',NULL,'compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165389,'auguria',1,'','left','members',165387,NULL,NULL,1,'/adherents/subscription/list.php?leftmenu=members','','List',NULL,'compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165390,'auguria',1,'','left','members',165387,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165589,'auguria',1,'','left','members',165287,NULL,NULL,9,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd',NULL,'members',1,'','$user->rights->adherent->export','! empty($conf->global->MEMBER_LINK_TO_HTPASSWDFILE) && $conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165590,'auguria',1,'','left','members',165287,NULL,NULL,10,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards',NULL,'members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165687,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/user/index.php?leftmenu=hrm&mode=employee','','Employees',NULL,'hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165688,'auguria',1,'','left','hrm',165687,NULL,NULL,1,'/user/card.php?action=create&employee=1','','NewEmployee',NULL,'hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165689,'auguria',1,'','left','hrm',165687,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee&contextpage=employeelist','','List',NULL,'hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165787,'auguria',1,'','left','members',161100,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes',NULL,'members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165788,'auguria',1,'','left','members',165787,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165789,'auguria',1,'','left','members',165787,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(166087,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu',NULL,'holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166088,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP',NULL,'holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166089,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List',NULL,'holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166090,'auguria',1,'','left','hrm',166089,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove',NULL,'trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166091,'auguria',1,'','left','hrm',166087,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166092,'auguria',1,'','left','hrm',166087,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166187,'auguria',1,'','left','commercial',161092,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders',NULL,'orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166188,'auguria',1,'','left','commercial',166187,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder',NULL,'orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166189,'auguria',1,'','left','commercial',166187,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&search_status=0','','List',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166195,'auguria',1,'','left','commercial',166187,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166287,'auguria',1,'','left','members',161100,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166288,'auguria',1,'','left','members',166287,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166387,'auguria',1,'','left','hrm',161102,NULL,NULL,5,'/expensereport/index.php?leftmenu=expensereport','','TripsAndExpenses',NULL,'trips',0,'expensereport','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166388,'auguria',1,'','left','hrm',166387,NULL,NULL,1,'/expensereport/card.php?action=create&leftmenu=expensereport','','New',NULL,'trips',1,'','$user->rights->expensereport->creer','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166389,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/list.php?leftmenu=expensereport','','List',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166390,'auguria',1,'','left','hrm',166389,NULL,NULL,2,'/expensereport/list.php?search_status=2&leftmenu=expensereport','','ListToApprove',NULL,'trips',2,'','$user->rights->expensereport->approve','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166391,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/stats/index.php?leftmenu=expensereport','','Statistics',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(167087,'all',1,'agenda','top','agenda',0,NULL,NULL,86,'/comm/action/index.php','','TMenuAgenda','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167088,'all',1,'agenda','left','agenda',167087,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167089,'all',1,'agenda','left','agenda',167088,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167090,'all',1,'agenda','left','agenda',167088,NULL,NULL,140,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda','','Calendar','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167091,'all',1,'agenda','left','agenda',167090,NULL,NULL,141,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167092,'all',1,'agenda','left','agenda',167090,NULL,NULL,142,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167093,'all',1,'agenda','left','agenda',167090,NULL,NULL,143,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167094,'all',1,'agenda','left','agenda',167090,NULL,NULL,144,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167095,'all',1,'agenda','left','agenda',167088,NULL,NULL,110,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda','','List','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167096,'all',1,'agenda','left','agenda',167095,NULL,NULL,111,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167097,'all',1,'agenda','left','agenda',167095,NULL,NULL,112,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167098,'all',1,'agenda','left','agenda',167095,NULL,NULL,113,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167099,'all',1,'agenda','left','agenda',167095,NULL,NULL,114,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167100,'all',1,'agenda','left','agenda',167088,NULL,NULL,160,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167101,'all',1,'agenda','left','agenda',167088,NULL,NULL,170,'/categories/index.php?mainmenu=agenda&leftmenu=agenda&type=10','','Categories','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->categorie->enabled',2,'2021-07-11 17:49:45'),(167102,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2021-07-11 17:49:46'),(167103,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && preg_match(\'/^(admintools|all)/\',$leftmenu)',0,'2021-07-11 17:49:46'),(167104,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?leftmenu=admintools','','CronList','','cron',NULL,NULL,'$user->rights->cron->read','$conf->cron->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',2,'2021-07-11 17:49:46'),(167105,'all',1,'blockedlog','left','tools',-1,NULL,'tools',200,'/blockedlog/admin/blockedlog_list.php?mainmenu=tools&leftmenu=blockedlogbrowser','','BrowseBlockedLog','','blockedlog',NULL,'blockedlogbrowser','$user->rights->blockedlog->read','$conf->blockedlog->enabled',2,'2021-07-11 17:49:46'),(167106,'all',1,'ecm','top','ecm',0,NULL,NULL,82,'/ecm/index.php','','MenuECM','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2021-07-11 17:49:46'),(167107,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-07-11 17:49:46'),(167108,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-07-11 17:49:46'),(167109,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','($user->rights->ecm->read || $user->rights->ecm->upload) && ! empty($conf->global->ECM_AUTO_TREE_ENABLED)',2,'2021-07-11 17:49:46'),(167110,'all',1,'margins','left','billing',-1,NULL,'billing',100,'/margin/index.php','','Margins','','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2021-07-11 17:49:47'),(167111,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-07-11 17:49:47'),(167112,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2021-07-11 17:49:47'),(167113,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-07-11 17:49:47'),(167114,'all',1,'printing','left','home',-1,'admintools','home',300,'/printing/index.php?mainmenu=home&leftmenu=admintools','','MenuDirectPrinting','','printing',NULL,NULL,'$user->rights->printing->read','$conf->printing->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',0,'2021-07-11 17:49:47'),(167115,'all',1,'recruitment','left','hrm',-1,NULL,'hrm',1001,'/recruitment/recruitmentindex.php','','Recruitment','','recruitment',NULL,'recruitmentjobposition','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167116,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1002,'/recruitment/recruitmentjobposition_card.php?action=create','','NewPositionToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167117,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1003,'/recruitment/recruitmentjobposition_list.php','','ListOfPositionsToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167118,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1004,'/recruitment/recruitmentcandidature_card.php?action=create','','NewCandidature','','recruitment',NULL,'recruitment_recruitmentcandidature_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167119,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1005,'/recruitment/recruitmentcandidature_list.php','','ListOfCandidatures','','recruitment',NULL,'recruitment_recruitmentcandidature_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167120,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','','resource',NULL,'resource','$user->rights->resource->read','1',0,'2021-07-11 17:49:47'),(167121,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/card.php?action=create','','MenuResourceAdd','','resource',NULL,'resource_add','$user->rights->resource->write','1',0,'2021-07-11 17:49:47'),(167122,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','','resource',NULL,'resource_list','$user->rights->resource->read','1',0,'2021-07-11 17:49:47'),(167123,'all',1,'stripe','left','bank',-1,NULL,'bank',100,'','','StripeAccount','','stripe',NULL,'stripe','$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167124,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/charge.php','','StripeChargeList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167125,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/transaction.php','','StripeTransactionList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167126,'all',1,'stripe','left','bank',-1,'stripe','bank',103,'/stripe/payout.php','','StripePayoutList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167127,'all',1,'ticket','left','ticket',-1,NULL,'ticket',101,'/ticket/index.php','','Ticket','','ticket',NULL,'ticket','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-07-11 17:49:47'),(167128,'all',1,'ticket','left','ticket',-1,'ticket','ticket',102,'/ticket/card.php?action=create','','NewTicket','','ticket',NULL,NULL,'$user->rights->ticket->write','$conf->ticket->enabled',2,'2021-07-11 17:49:47'),(167129,'all',1,'ticket','left','ticket',-1,'ticket','ticket',103,'/ticket/list.php?search_fk_status=non_closed','','List','','ticket',NULL,'ticketlist','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-07-11 17:49:47'),(167130,'all',1,'ticket','left','ticket',-1,'ticket','ticket',105,'/ticket/list.php?mode=mine&search_fk_status=non_closed','','MenuTicketMyAssign','','ticket',NULL,'ticketmy','$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-07-11 17:49:47'),(167131,'all',1,'ticket','left','ticket',-1,'ticket','ticket',107,'/ticket/stats/index.php','','Statistics','','ticket',NULL,NULL,'$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-07-11 17:49:47'),(167132,'all',1,'takepos','top','takepos',0,NULL,NULL,1001,'/takepos/index.php','takepos','PointOfSaleShort','','cashdesk',NULL,NULL,'$user->rights->takepos->run','$conf->takepos->enabled',2,'2021-07-11 17:49:48'),(167133,'all',1,'website','top','website',0,NULL,NULL,100,'/website/index.php','','WebSites','','website',NULL,NULL,'$user->rights->website->read','$conf->website->enabled',2,'2021-07-11 17:49:48'); /*!40000 ALTER TABLE `llx_menu` ENABLE KEYS */; UNLOCK TABLES; @@ -8721,32 +8028,6 @@ LOCK TABLES `llx_mrp_mo_extrafields` WRITE; /*!40000 ALTER TABLE `llx_mrp_mo_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_mrp_myobject_extrafields` --- - -DROP TABLE IF EXISTS `llx_mrp_myobject_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_mrp_myobject_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_fk_object` (`fk_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_mrp_myobject_extrafields` --- - -LOCK TABLES `llx_mrp_myobject_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_mrp_myobject_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_mrp_myobject_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_mrp_production` -- @@ -9204,29 +8485,6 @@ INSERT INTO `llx_opensurvey_user_studs` VALUES (1,'gfdgdf','om4e7azfiurnjtqe','0 /*!40000 ALTER TABLE `llx_opensurvey_user_studs` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_origines` --- - -DROP TABLE IF EXISTS `llx_origines`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_origines` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `source` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_origines` --- - -LOCK TABLES `llx_origines` WRITE; -/*!40000 ALTER TABLE `llx_origines` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_origines` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_overwrite_trans` -- @@ -9317,7 +8575,7 @@ CREATE TABLE `llx_paiement` ( LOCK TABLES `llx_paiement` WRITE; /*!40000 ALTER TABLE `llx_paiement` DISABLE KEYS */; -INSERT INTO `llx_paiement` VALUES (3,'',NULL,1,'2013-07-18 20:50:47','2020-12-10 12:24:22','2020-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(5,'',NULL,1,'2013-08-01 03:34:11','2020-12-10 12:24:22','2020-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(6,'',NULL,1,'2013-08-06 20:33:54','2020-12-10 12:24:22','2020-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(8,'',NULL,1,'2013-08-08 02:53:40','2020-12-10 12:24:22','2020-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(9,'',NULL,1,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(17,'',NULL,1,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(18,'',NULL,1,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(19,'',NULL,1,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(20,'',NULL,1,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(21,'',NULL,1,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(23,'',NULL,1,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(24,'',NULL,1,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(25,'',NULL,1,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(26,'',NULL,1,'2016-03-02 19:57:58','2020-12-10 12:24:23','2020-07-09 12:00:00',605.00000000,2,'','',24,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(29,'',NULL,1,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19 12:00:00',500.00000000,4,'','',26,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(30,'',NULL,1,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21 12:00:00',400.00000000,2,'','',27,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(32,'',NULL,1,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03 12:00:00',-400.00000000,4,'','',28,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(33,'',NULL,1,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10 12:00:00',-300.00000000,4,'','',29,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(34,'PAY1603-0001',NULL,1,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22 12:00:00',150.00000000,7,'','',33,12,NULL,0,0,0.00000000,150.00000000,NULL,NULL),(35,'PAY1603-0002',NULL,1,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25 12:00:00',140.00000000,3,'','',34,12,NULL,0,0,0.00000000,140.00000000,NULL,NULL),(36,'PAY1702-0003',NULL,1,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21 12:00:00',50.00000000,3,'T170201','',37,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(38,'PAY1803-0004',NULL,1,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16 12:00:00',10.00000000,7,'','',39,12,NULL,0,0,0.00000000,10.00000000,NULL,NULL),(39,'PAY1801-0005',NULL,1,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19 12:00:00',5.63000000,4,'','',41,12,NULL,0,0,0.00000000,5.63000000,NULL,NULL),(40,'PAY2001-0006',NULL,1,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16 12:00:00',20.50000000,2,'','',50,12,NULL,0,0,0.00000000,20.50000000,NULL,NULL),(41,'PAY2001-0007',NULL,1,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2017',53,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(42,'PAY2001-0008',NULL,1,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2018',54,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(43,'PAY2001-0009',NULL,1,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,6,'','Subscription 2019',55,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL); +INSERT INTO `llx_paiement` VALUES (3,'',NULL,1,'2013-07-18 20:50:47','2021-07-11 17:49:28','2021-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(5,'',NULL,1,'2013-08-01 03:34:11','2020-12-10 12:24:22','2020-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(6,'',NULL,1,'2013-08-06 20:33:54','2020-12-10 12:24:22','2020-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(8,'',NULL,1,'2013-08-08 02:53:40','2020-12-10 12:24:22','2020-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(9,'',NULL,1,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(17,'',NULL,1,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(18,'',NULL,1,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(19,'',NULL,1,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(20,'',NULL,1,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(21,'',NULL,1,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(23,'',NULL,1,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(24,'',NULL,1,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(25,'',NULL,1,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(26,'',NULL,1,'2016-03-02 19:57:58','2021-07-11 17:49:28','2021-07-09 12:00:00',605.00000000,2,'','',24,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(29,'',NULL,1,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19 12:00:00',500.00000000,4,'','',26,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(30,'',NULL,1,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21 12:00:00',400.00000000,2,'','',27,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(32,'',NULL,1,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03 12:00:00',-400.00000000,4,'','',28,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(33,'',NULL,1,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10 12:00:00',-300.00000000,4,'','',29,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(34,'PAY1603-0001',NULL,1,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22 12:00:00',150.00000000,7,'','',33,12,NULL,0,0,0.00000000,150.00000000,NULL,NULL),(35,'PAY1603-0002',NULL,1,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25 12:00:00',140.00000000,3,'','',34,12,NULL,0,0,0.00000000,140.00000000,NULL,NULL),(36,'PAY1702-0003',NULL,1,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21 12:00:00',50.00000000,3,'T170201','',37,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(38,'PAY1803-0004',NULL,1,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16 12:00:00',10.00000000,7,'','',39,12,NULL,0,0,0.00000000,10.00000000,NULL,NULL),(39,'PAY1801-0005',NULL,1,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19 12:00:00',5.63000000,4,'','',41,12,NULL,0,0,0.00000000,5.63000000,NULL,NULL),(40,'PAY2001-0006',NULL,1,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16 12:00:00',20.50000000,2,'','',50,12,NULL,0,0,0.00000000,20.50000000,NULL,NULL),(41,'PAY2001-0007',NULL,1,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2017',53,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(42,'PAY2001-0008',NULL,1,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2018',54,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(43,'PAY2001-0009',NULL,1,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,6,'','Subscription 2019',55,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL); /*!40000 ALTER TABLE `llx_paiement` ENABLE KEYS */; UNLOCK TABLES; @@ -9482,6 +8740,7 @@ CREATE TABLE `llx_partnership` ( `count_last_url_check_error` int(11) DEFAULT 0, `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, `model_pdf` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `last_check_backlink` datetime DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_partnership_rowid` (`rowid`), KEY `idx_partnership_ref` (`ref`), @@ -9545,6 +8804,8 @@ CREATE TABLE `llx_payment_donation` ( `fk_typepayment` int(11) NOT NULL, `num_payment` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `note` text COLLATE utf8_unicode_ci DEFAULT NULL, + `ext_payment_id` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, + `ext_payment_site` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, `fk_bank` int(11) NOT NULL, `fk_user_creat` int(11) DEFAULT NULL, `fk_user_modif` int(11) DEFAULT NULL, @@ -9558,7 +8819,7 @@ CREATE TABLE `llx_payment_donation` ( LOCK TABLES `llx_payment_donation` WRITE; /*!40000 ALTER TABLE `llx_payment_donation` DISABLE KEYS */; -INSERT INTO `llx_payment_donation` VALUES (1,3,'2017-09-06 20:08:36','2017-09-06 16:08:36','2017-09-06 12:00:00',10.00000000,4,'','',38,12,NULL); +INSERT INTO `llx_payment_donation` VALUES (1,3,'2017-09-06 20:08:36','2017-09-06 16:08:36','2017-09-06 12:00:00',10.00000000,4,'','',NULL,NULL,38,12,NULL); /*!40000 ALTER TABLE `llx_payment_donation` ENABLE KEYS */; UNLOCK TABLES; @@ -9781,41 +9042,6 @@ LOCK TABLES `llx_payment_vat` WRITE; /*!40000 ALTER TABLE `llx_payment_vat` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_pointage` --- - -DROP TABLE IF EXISTS `llx_pointage`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_pointage` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_user` int(11) DEFAULT NULL, - `datedeb` datetime DEFAULT NULL, - `datefin` datetime DEFAULT NULL, - `commentaire_in` text COLLATE utf8_unicode_ci DEFAULT NULL, - `commentaire_out` text COLLATE utf8_unicode_ci DEFAULT NULL, - `statut` int(11) DEFAULT NULL, - `fk_user_modify_by` int(11) NOT NULL DEFAULT 0, - `datemodif` datetime DEFAULT NULL, - `ip_deb` text COLLATE utf8_unicode_ci DEFAULT NULL, - `ip_fin` text COLLATE utf8_unicode_ci DEFAULT NULL, - `created` datetime DEFAULT NULL, - `fk_user_created_by` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_pointage` --- - -LOCK TABLES `llx_pointage` WRITE; -/*!40000 ALTER TABLE `llx_pointage` DISABLE KEYS */; -INSERT INTO `llx_pointage` VALUES (1,12,'2019-06-19 11:51:00','2019-06-19 11:51:00','','',2,0,NULL,'127.0.0.1','127.0.0.1','2019-06-19 11:51:00',0); -/*!40000 ALTER TABLE `llx_pointage` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_pos_cash_fence` -- @@ -10029,112 +9255,6 @@ LOCK TABLES `llx_prelevement_rejet` WRITE; /*!40000 ALTER TABLE `llx_prelevement_rejet` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_prestashopget_myobject` --- - -DROP TABLE IF EXISTS `llx_prestashopget_myobject`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_prestashopget_myobject` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `label` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `qty` int(11) DEFAULT NULL, - `status` int(11) DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_prestashopget_myobject` --- - -LOCK TABLES `llx_prestashopget_myobject` WRITE; -/*!40000 ALTER TABLE `llx_prestashopget_myobject` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_prestashopget_myobject` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_prestashopget_myobject_extrafields` --- - -DROP TABLE IF EXISTS `llx_prestashopget_myobject_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_prestashopget_myobject_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_prestashopget_myobject_extrafields` --- - -LOCK TABLES `llx_prestashopget_myobject_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_prestashopget_myobject_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_prestashopget_myobject_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_printer_receipt` --- - -DROP TABLE IF EXISTS `llx_printer_receipt`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_printer_receipt` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - `fk_type` int(11) DEFAULT NULL, - `fk_profile` int(11) DEFAULT NULL, - `parameter` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - `entity` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_printer_receipt` --- - -LOCK TABLES `llx_printer_receipt` WRITE; -/*!40000 ALTER TABLE `llx_printer_receipt` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_printer_receipt` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_printer_receipt_template` --- - -DROP TABLE IF EXISTS `llx_printer_receipt_template`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_printer_receipt_template` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - `template` text COLLATE utf8_unicode_ci DEFAULT NULL, - `entity` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_printer_receipt_template` --- - -LOCK TABLES `llx_printer_receipt_template` WRITE; -/*!40000 ALTER TABLE `llx_printer_receipt_template` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_printer_receipt_template` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_printing` -- @@ -10251,6 +9371,8 @@ CREATE TABLE `llx_product` ( `net_measure_units` tinyint(4) DEFAULT NULL, `fk_state` int(11) DEFAULT NULL, `batch_mask` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, + `lifetime` int(11) DEFAULT NULL, + `qc_frequency` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_product_ref` (`ref`,`entity`), UNIQUE KEY `uk_product_barcode` (`barcode`,`fk_barcode_type`,`entity`), @@ -10279,7 +9401,7 @@ CREATE TABLE `llx_product` ( LOCK TABLES `llx_product` WRITE; /*!40000 ALTER TABLE `llx_product` DISABLE KEYS */; -INSERT INTO `llx_product` VALUES (1,'2012-07-08 14:33:17','2020-01-18 19:17:03',0,0,'PINKDRESS',1,NULL,'Pink dress','A beatifull pink dress','','',NULL,9.00000000,10.12500000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,12,1,1,0,1,0,'',NULL,NULL,'123456789066',2,'','','','',NULL,NULL,NULL,670,-3,NULL,0,NULL,0,NULL,0,2.8,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:30:01','2019-11-28 15:09:50',0,0,'PEARPIE',1,NULL,'Pear Pie','','','',NULL,10.00000000,12.00000000,8.33333000,10.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',1,12,1,1,0,0,0,'',NULL,NULL,'123456789077',2,'','','','',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,998,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-09 00:30:25','2018-01-16 16:40:03',0,0,'CAKECONTRIB',1,NULL,'Cake making contribution','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,1,'1m',NULL,NULL,'123456789088',2,'701CAKEM',NULL,NULL,'601CAKEM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2012-07-10 14:44:06','2021-04-15 11:40:18',0,0,'APPLEPIE',1,NULL,'Apple Pie','Nice Bio Apple Pie.
\r\n ','','',NULL,9.00000000,9.00000000,6.00000000,6.00000000,'HT',0.000,0,9.000,'1',9.000,'1',1,12,1,1,0,1,0,'',NULL,NULL,'123456789034',2,'701','','','601',NULL,NULL,NULL,500,-3,NULL,0,NULL,0,NULL,0,1021.2,10.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,'CGST+SGST',0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-20 23:11:38','2018-01-16 16:18:24',0,0,'DOLIDROID',1,NULL,'DoliDroid, Android app for Dolibarr','DoliDroid is the Android front-end client for Dolibarr ERP & CRM web software.
\r\nThis application is not a standalone program. It is a front end to use a online hosted Dolibarr ERP & CRM software (an Open-source web software to manage your business).
\r\n

The advantage of DoliDroid are :
\r\n- DoliDroid is not a duplicate code of Dolibarr, but a front-end of a Dolibarr web installation, so all your online existing features are supported by this application. This is also true for external modules features.
\r\n- Upgrading Dolibarr will not break DoliDroid.
\r\n- DoliDroid use embedded image resources to reduce bandwidth usage.
\r\n- DoliDroid use internal cache for pages that should not change (like menu page)
\r\n- Connections parameters are saved. No need to enter them each time you use DoliDroid.
\r\n- Integration with your phone or other applications (Clicking on PDF open PDF reader, clicking onto email or phone launch your email application or launch Android dialer, ...)

\r\n\r\n

WARNING ! 

\r\n\r\n

This application need Android 4.0+ and a hosted Dolibarr ERP & CRM version 3.5 or newer accessible by internet
\r\n(For example, when hosted on any SaaS solution like DoliCloud - http://www.dolicloud.com).

','','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,0,'',NULL,'https://play.google.com/store/apps/details?id=com.nltechno.dolidroidpro','123456789023',2,'701',NULL,NULL,'601',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(10,'2011-12-31 00:00:00','2017-02-16 00:12:09',0,0,'COMP-XP4523',1,NULL,'Computer XP4523','A powerfull computer XP4523 ','This product is imported.
\r\nWarning: Delay to get it are not reliable.','USXP765',11,100.00000000,110.00000000,0.00000000,0.00000000,'HT',10.000,0,0.000,'0',0.000,'0',NULL,12,1,1,0,1,0,'',150,NULL,'123456789055',2,'701OLDC',NULL,NULL,'601OLDC',NULL,NULL,NULL,1.7,0,NULL,0,NULL,0,NULL,0,110,0.00000000,NULL,NULL,NULL,NULL,0,'20110729232310',200,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(11,'2015-01-13 20:24:42','2019-10-08 17:21:07',0,0,'ROLLUPABC',1,NULL,'Rollup Dolibarr','A nice rollup','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',0.000,0,0.000,'0',0.000,'0',1,12,1,1,0,0,0,'',NULL,NULL,'123456789044',2,'','','','',NULL,NULL,NULL,95,-3,NULL,0,2.34,-4,NULL,0,-1,0.00000000,NULL,NULL,'',1,0,NULL,NULL,NULL,NULL,12.00000000,NULL,0,NULL,'',NULL,8,NULL,8,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2018-07-30 17:31:29','2018-07-30 13:35:02',0,0,'DOLICLOUD',1,NULL,'SaaS service of Dolibarr ERP CRM','Cloud hosting of Dolibarr ERP and CRM software','','',NULL,9.00000000,9.00000000,9.00000000,9.00000000,'HT',0.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,1,'',NULL,'http://www.dolicloud.com','123456789013',2,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,'',0,0,NULL,NULL,NULL,NULL,8.50000000,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,'2017-02-16 03:49:00','2017-02-15 23:49:27',0,0,'COMP-XP4548',1,NULL,'Computer XP4523','A powerfull computer XP4523 ','This product is imported.
\r\nWarning: Delay to get it are not reliable.','USXP765',11,100.00000000,110.00000000,0.00000000,0.00000000,'HT',10.000,0,0.000,'0',0.000,'0',12,12,1,1,0,1,0,'',150,NULL,NULL,2,'',NULL,NULL,'',NULL,NULL,NULL,1.7,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,200,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'2019-10-07 00:00:00','2019-11-28 13:51:35',0,0,'PREF123456',1,NULL,'Product name in default language','Product description in default language','a private note (free text)','customs code',1,100.00000000,110.00000000,100.00000000,110.00000000,'HT',10.000,0,0.000,'0',0.000,'0',12,NULL,0,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,-3,1,-1,4,-4,5,-3,NULL,0.00000000,NULL,NULL,NULL,0,0,'20191007122224',NULL,NULL,NULL,NULL,NULL,0,'a public note (free text)','',2,-1,3,-1,NULL,NULL,NULL,NULL,NULL,NULL),(24,'2019-11-28 16:33:35','2019-11-28 15:02:01',0,0,'POS-CARROT',1,NULL,'Carrot','','','',NULL,0.83333000,1.00000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(25,'2019-11-28 16:37:36','2020-01-13 11:13:19',0,0,'POS-APPLE',1,NULL,'Apple','','','',NULL,1.25000000,1.50000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,15.599999999999994,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(26,'2019-11-28 16:38:44','2019-11-28 12:38:44',0,0,'POS-KIWI',1,NULL,'Kiwi','','','',NULL,1.08333000,1.30000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,'2019-11-28 16:39:21','2019-11-28 14:57:44',0,0,'POS-PEACH',1,NULL,'Peach','','','',NULL,1.08333000,1.30000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,'',0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(28,'2019-11-28 16:39:58','2019-11-28 12:39:58',0,0,'POS-ORANGE',1,NULL,'Orange','','','',NULL,2.00000000,2.40000000,0.00000000,0.00000000,'HT',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,'2019-11-28 17:03:14','2019-11-28 13:03:14',0,0,'POS-Eggs',1,NULL,'Eggs','','','',NULL,1.66667000,2.00000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,'2019-11-28 17:09:14','2019-11-28 13:09:14',0,0,'POS-Chips',1,NULL,'Chips','','','',NULL,0.41667000,0.50000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,30,-3,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,'2021-04-15 08:38:02','2021-04-15 11:38:02',0,0,'PRODSER',1,NULL,'Product NFC - Unique','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',12,12,1,1,0,2,0,'',0,NULL,NULL,2,'','','','','','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,0,NULL,NULL,NULL,NULL,0,NULL,'',NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `llx_product` VALUES (1,'2012-07-08 14:33:17','2020-01-18 19:17:03',0,0,'PINKDRESS',1,NULL,'Pink dress','A beatifull pink dress','','',NULL,9.00000000,10.12500000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,12,1,1,0,1,0,'',NULL,NULL,'123456789066',2,'','','','',NULL,NULL,NULL,670,-3,NULL,0,NULL,0,NULL,0,2.8,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:30:01','2019-11-28 15:09:50',0,0,'PEARPIE',1,NULL,'Pear Pie','','','',NULL,10.00000000,12.00000000,8.33333000,10.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',1,12,1,1,0,0,0,'',NULL,NULL,'123456789077',2,'','','','',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,998,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-09 00:30:25','2018-01-16 16:40:03',0,0,'CAKECONTRIB',1,NULL,'Cake making contribution','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,1,'1m',NULL,NULL,'123456789088',2,'701CAKEM',NULL,NULL,'601CAKEM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2012-07-10 14:44:06','2021-04-15 11:40:18',0,0,'APPLEPIE',1,NULL,'Apple Pie','Nice Bio Apple Pie.
\r\n ','','',NULL,9.00000000,9.00000000,6.00000000,6.00000000,'HT',0.000,0,9.000,'1',9.000,'1',1,12,1,1,0,1,0,'',NULL,NULL,'123456789034',2,'701','','','601',NULL,NULL,NULL,500,-3,NULL,0,NULL,0,NULL,0,1021.2,10.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,'CGST+SGST',0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-20 23:11:38','2018-01-16 16:18:24',0,0,'DOLIDROID',1,NULL,'DoliDroid, Android app for Dolibarr','DoliDroid is the Android front-end client for Dolibarr ERP & CRM web software.
\r\nThis application is not a standalone program. It is a front end to use a online hosted Dolibarr ERP & CRM software (an Open-source web software to manage your business).
\r\n

The advantage of DoliDroid are :
\r\n- DoliDroid is not a duplicate code of Dolibarr, but a front-end of a Dolibarr web installation, so all your online existing features are supported by this application. This is also true for external modules features.
\r\n- Upgrading Dolibarr will not break DoliDroid.
\r\n- DoliDroid use embedded image resources to reduce bandwidth usage.
\r\n- DoliDroid use internal cache for pages that should not change (like menu page)
\r\n- Connections parameters are saved. No need to enter them each time you use DoliDroid.
\r\n- Integration with your phone or other applications (Clicking on PDF open PDF reader, clicking onto email or phone launch your email application or launch Android dialer, ...)

\r\n\r\n

WARNING ! 

\r\n\r\n

This application need Android 4.0+ and a hosted Dolibarr ERP & CRM version 3.5 or newer accessible by internet
\r\n(For example, when hosted on any SaaS solution like DoliCloud - http://www.dolicloud.com).

','','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,0,'',NULL,'https://play.google.com/store/apps/details?id=com.nltechno.dolidroidpro','123456789023',2,'701',NULL,NULL,'601',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(10,'2011-12-31 00:00:00','2017-02-16 00:12:09',0,0,'COMP-XP4523',1,NULL,'Computer XP4523','A powerfull computer XP4523 ','This product is imported.
\r\nWarning: Delay to get it are not reliable.','USXP765',11,100.00000000,110.00000000,0.00000000,0.00000000,'HT',10.000,0,0.000,'0',0.000,'0',NULL,12,1,1,0,1,0,'',150,NULL,'123456789055',2,'701OLDC',NULL,NULL,'601OLDC',NULL,NULL,NULL,1.7,0,NULL,0,NULL,0,NULL,0,110,0.00000000,NULL,NULL,NULL,NULL,0,'20110729232310',200,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(11,'2015-01-13 20:24:42','2019-10-08 17:21:07',0,0,'ROLLUPABC',1,NULL,'Rollup Dolibarr','A nice rollup','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',0.000,0,0.000,'0',0.000,'0',1,12,1,1,0,0,0,'',NULL,NULL,'123456789044',2,'','','','',NULL,NULL,NULL,95,-3,NULL,0,2.34,-4,NULL,0,-1,0.00000000,NULL,NULL,'',1,0,NULL,NULL,NULL,NULL,12.00000000,NULL,0,NULL,'',NULL,8,NULL,8,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2018-07-30 17:31:29','2018-07-30 13:35:02',0,0,'DOLICLOUD',1,NULL,'SaaS service of Dolibarr ERP CRM','Cloud hosting of Dolibarr ERP and CRM software','','',NULL,9.00000000,9.00000000,9.00000000,9.00000000,'HT',0.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,1,'',NULL,'http://www.dolicloud.com','123456789013',2,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,'',0,0,NULL,NULL,NULL,NULL,8.50000000,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,'2017-02-16 03:49:00','2017-02-15 23:49:27',0,0,'COMP-XP4548',1,NULL,'Computer XP4523','A powerfull computer XP4523 ','This product is imported.
\r\nWarning: Delay to get it are not reliable.','USXP765',11,100.00000000,110.00000000,0.00000000,0.00000000,'HT',10.000,0,0.000,'0',0.000,'0',12,12,1,1,0,1,0,'',150,NULL,NULL,2,'',NULL,NULL,'',NULL,NULL,NULL,1.7,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,200,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'2019-10-07 00:00:00','2019-11-28 13:51:35',0,0,'PREF123456',1,NULL,'Product name in default language','Product description in default language','a private note (free text)','customs code',1,100.00000000,110.00000000,100.00000000,110.00000000,'HT',10.000,0,0.000,'0',0.000,'0',12,NULL,0,1,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,-3,1,-1,4,-4,5,-3,NULL,0.00000000,NULL,NULL,NULL,0,0,'20191007122224',NULL,NULL,NULL,NULL,NULL,0,'a public note (free text)','',2,-1,3,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,'2019-11-28 16:33:35','2019-11-28 15:02:01',0,0,'POS-CARROT',1,NULL,'Carrot','','','',NULL,0.83333000,1.00000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(25,'2019-11-28 16:37:36','2020-01-13 11:13:19',0,0,'POS-APPLE',1,NULL,'Apple','','','',NULL,1.25000000,1.50000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,15.599999999999994,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(26,'2019-11-28 16:38:44','2019-11-28 12:38:44',0,0,'POS-KIWI',1,NULL,'Kiwi','','','',NULL,1.08333000,1.30000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,'2019-11-28 16:39:21','2019-11-28 14:57:44',0,0,'POS-PEACH',1,NULL,'Peach','','','',NULL,1.08333000,1.30000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,'',0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(28,'2019-11-28 16:39:58','2019-11-28 12:39:58',0,0,'POS-ORANGE',1,NULL,'Orange','','','',NULL,2.00000000,2.40000000,0.00000000,0.00000000,'HT',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,1,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,'2019-11-28 17:03:14','2019-11-28 13:03:14',0,0,'POS-Eggs',1,NULL,'Eggs','','','',NULL,1.66667000,2.00000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,'2019-11-28 17:09:14','2019-11-28 13:09:14',0,0,'POS-Chips',1,NULL,'Chips','','','',NULL,0.41667000,0.50000000,0.00000000,0.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,0,'',NULL,NULL,NULL,2,'','','','',NULL,NULL,NULL,30,-3,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,'2021-04-15 08:38:02','2021-04-15 11:38:02',0,0,'PRODSER',1,NULL,'Product NFC - Unique','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',12,12,1,1,0,2,0,'',0,NULL,NULL,2,'','','','','','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,0,NULL,NULL,NULL,NULL,0,NULL,'',NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_product` ENABLE KEYS */; UNLOCK TABLES; @@ -10656,36 +9778,6 @@ LOCK TABLES `llx_product_extrafields` WRITE; /*!40000 ALTER TABLE `llx_product_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_product_factory` --- - -DROP TABLE IF EXISTS `llx_product_factory`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_product_factory` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_product_father` int(11) NOT NULL DEFAULT 0, - `fk_product_children` int(11) NOT NULL DEFAULT 0, - `pmp` double(24,8) DEFAULT 0.00000000, - `price` double(24,8) DEFAULT 0.00000000, - `qty` double DEFAULT NULL, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_product_factory` (`fk_product_father`,`fk_product_children`), - KEY `idx_product_factory_fils` (`fk_product_children`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_product_factory` --- - -LOCK TABLES `llx_product_factory` WRITE; -/*!40000 ALTER TABLE `llx_product_factory` DISABLE KEYS */; -INSERT INTO `llx_product_factory` VALUES (2,26,25,0.00000000,0.00000000,3),(3,27,26,0.00000000,0.00000000,2); -/*!40000 ALTER TABLE `llx_product_factory` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_product_fournisseur_price` -- @@ -10864,6 +9956,9 @@ CREATE TABLE `llx_product_lot` ( `fk_user_creat` int(11) DEFAULT NULL, `fk_user_modif` int(11) DEFAULT NULL, `import_key` int(11) DEFAULT NULL, + `eol_date` datetime DEFAULT NULL, + `manufacturing_date` datetime DEFAULT NULL, + `scrapping_date` datetime DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_product_lot` (`fk_product`,`batch`) ) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -10875,7 +9970,7 @@ CREATE TABLE `llx_product_lot` ( LOCK TABLES `llx_product_lot` WRITE; /*!40000 ALTER TABLE `llx_product_lot` DISABLE KEYS */; -INSERT INTO `llx_product_lot` VALUES (1,1,2,'123456','2018-07-07',NULL,'2018-07-21 20:55:19','2018-12-12 10:53:58',NULL,NULL,NULL),(2,1,2,'2222','2018-07-08','2018-07-07','2018-07-21 21:00:42','2018-12-12 10:53:58',NULL,NULL,NULL),(3,1,10,'5599887766452',NULL,NULL,'2018-07-30 17:39:31','2018-12-12 10:53:58',NULL,NULL,NULL),(4,1,10,'4494487766452',NULL,NULL,'2018-07-30 17:40:12','2018-12-12 10:53:58',NULL,NULL,NULL),(39,1,1,'000000',NULL,NULL,'2020-01-08 20:41:18','2020-01-08 16:41:18',NULL,NULL,NULL),(40,1,4,'aaa','2020-01-01',NULL,'2020-01-08 20:41:18','2020-01-13 11:28:05',NULL,12,NULL),(46,1,1,'string',NULL,NULL,'2020-01-18 20:16:58','2020-01-18 19:16:58',NULL,NULL,NULL),(47,1,4,'000000',NULL,NULL,'2020-01-08 16:40:27','2020-01-21 10:30:15',1,1,NULL),(50,1,4,'Lot 2021-02',NULL,NULL,'2021-04-15 08:40:18','2021-04-15 11:40:18',NULL,NULL,NULL); +INSERT INTO `llx_product_lot` VALUES (1,1,2,'123456','2018-07-07',NULL,'2018-07-21 20:55:19','2018-12-12 10:53:58',NULL,NULL,NULL,NULL,NULL,NULL),(2,1,2,'2222','2018-07-08','2018-07-07','2018-07-21 21:00:42','2018-12-12 10:53:58',NULL,NULL,NULL,NULL,NULL,NULL),(3,1,10,'5599887766452',NULL,NULL,'2018-07-30 17:39:31','2018-12-12 10:53:58',NULL,NULL,NULL,NULL,NULL,NULL),(4,1,10,'4494487766452',NULL,NULL,'2018-07-30 17:40:12','2018-12-12 10:53:58',NULL,NULL,NULL,NULL,NULL,NULL),(39,1,1,'000000',NULL,NULL,'2020-01-08 20:41:18','2020-01-08 16:41:18',NULL,NULL,NULL,NULL,NULL,NULL),(40,1,4,'aaa','2020-01-01',NULL,'2020-01-08 20:41:18','2020-01-13 11:28:05',NULL,12,NULL,NULL,NULL,NULL),(46,1,1,'string',NULL,NULL,'2020-01-18 20:16:58','2020-01-18 19:16:58',NULL,NULL,NULL,NULL,NULL,NULL),(47,1,4,'000000',NULL,NULL,'2020-01-08 16:40:27','2020-01-21 10:30:15',1,1,NULL,NULL,NULL,NULL),(50,1,4,'Lot 2021-02',NULL,NULL,'2021-04-15 08:40:18','2021-04-15 11:40:18',NULL,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_product_lot` ENABLE KEYS */; UNLOCK TABLES; @@ -11092,59 +10187,6 @@ INSERT INTO `llx_product_stock` VALUES (1,'2012-07-08 22:43:51',2,2,1000,NULL),( /*!40000 ALTER TABLE `llx_product_stock` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_product_subproduct` --- - -DROP TABLE IF EXISTS `llx_product_subproduct`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_product_subproduct` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_product` int(11) NOT NULL, - `fk_product_subproduct` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - UNIQUE KEY `fk_product` (`fk_product`,`fk_product_subproduct`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_product_subproduct` --- - -LOCK TABLES `llx_product_subproduct` WRITE; -/*!40000 ALTER TABLE `llx_product_subproduct` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_product_subproduct` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_product_warehouse_properties` --- - -DROP TABLE IF EXISTS `llx_product_warehouse_properties`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_product_warehouse_properties` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_product` int(11) NOT NULL, - `fk_entrepot` int(11) NOT NULL, - `seuil_stock_alerte` float DEFAULT NULL, - `desiredstock` float DEFAULT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_product_warehouse_properties` --- - -LOCK TABLES `llx_product_warehouse_properties` WRITE; -/*!40000 ALTER TABLE `llx_product_warehouse_properties` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_product_warehouse_properties` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_projet` -- @@ -11351,65 +10393,6 @@ INSERT INTO `llx_projet_task_time` VALUES (2,4,'2016-12-21','2016-12-21 12:00:00 /*!40000 ALTER TABLE `llx_projet_task_time` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_projet_taskdet` --- - -DROP TABLE IF EXISTS `llx_projet_taskdet`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_projet_taskdet` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_task` int(11) NOT NULL DEFAULT 0, - `fk_product` int(11) NOT NULL DEFAULT 0, - `qty_planned` double DEFAULT NULL, - `qty_used` double DEFAULT NULL, - `qty_deleted` double DEFAULT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `pmp` double(24,8) DEFAULT 0.00000000, - `price` double(24,8) DEFAULT 0.00000000, - `fk_statut` int(11) NOT NULL DEFAULT 0, - `note_public` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`), - UNIQUE KEY `uk_projet_taskdet` (`fk_task`,`fk_product`), - KEY `idx_projet_taskdet_fk_task` (`fk_task`), - KEY `idx_projet_taskdet_fk_product` (`fk_product`), - CONSTRAINT `fk_projet_taskdet_fk_task` FOREIGN KEY (`fk_task`) REFERENCES `llx_projet_task` (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_projet_taskdet` --- - -LOCK TABLES `llx_projet_taskdet` WRITE; -/*!40000 ALTER TABLE `llx_projet_taskdet` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_projet_taskdet` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_projet_taskdet_equipement` --- - -DROP TABLE IF EXISTS `llx_projet_taskdet_equipement`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_projet_taskdet_equipement` ( - `fk_equipement` int(11) NOT NULL DEFAULT 0, - `fk_projet_taskdet` int(11) NOT NULL DEFAULT 0, - UNIQUE KEY `uk_factory_equipement` (`fk_equipement`,`fk_projet_taskdet`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_projet_taskdet_equipement` --- - -LOCK TABLES `llx_projet_taskdet_equipement` WRITE; -/*!40000 ALTER TABLE `llx_projet_taskdet_equipement` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_projet_taskdet_equipement` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_propal` -- @@ -11498,7 +10481,7 @@ CREATE TABLE `llx_propal` ( LOCK TABLES `llx_propal` WRITE; /*!40000 ALTER TABLE `llx_propal` DISABLE KEYS */; -INSERT INTO `llx_propal` VALUES (1,2,NULL,'2020-12-10 12:24:22','PR1007-0001',1,NULL,NULL,'','2012-07-09 01:33:49','2020-07-09','2020-07-24 12:00:00','2020-08-08 14:24:18',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,30.00000000,3.84000000,0.00000000,0.00000000,33.84000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(2,1,NULL,'2021-04-15 10:22:55','PR1007-0002',1,NULL,NULL,'','2012-07-10 02:11:44','2020-07-10','2020-07-25 12:00:00','2020-07-10 02:12:55','2020-07-20 15:23:12','2020-07-20 15:23:12',1,NULL,1,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,1,'','','azur',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(3,4,NULL,'2021-04-15 10:22:55','PR1007-0003',1,NULL,NULL,'','2012-07-18 11:35:11','2020-07-18','2020-08-02 12:00:00','2020-07-18 11:36:18','2020-07-20 15:21:15','2020-07-20 15:21:15',1,NULL,1,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(5,19,NULL,'2021-04-15 10:22:31','PR1302-0005',1,NULL,NULL,'','2015-02-17 15:39:56','2021-02-17','2021-03-04 12:00:00','2020-11-15 23:27:10',NULL,NULL,1,NULL,12,NULL,NULL,1,0,NULL,NULL,0,10.00000000,2.00000000,0.00000000,0.00000000,12.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(6,19,NULL,'2021-04-15 10:22:31','PR1302-0006',1,NULL,NULL,'','2015-02-17 15:40:12','2021-02-17','2021-03-04 12:00:00',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(7,19,NULL,'2021-04-15 10:22:31','PR1302-0007',1,NULL,NULL,'','2015-02-17 15:41:15','2021-02-17','2021-03-04 12:00:00','2020-01-29 21:49:33',NULL,NULL,1,NULL,12,NULL,NULL,1,0,NULL,NULL,0,400.00000000,0.00000000,0.00000000,0.00000000,400.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,400.00000000,0.00000000,400.00000000,NULL),(8,19,NULL,'2021-04-15 10:22:31','PR1302-0008',1,NULL,NULL,'','2015-02-17 15:43:39','2021-02-17','2021-03-04 12:00:00',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(10,7,4,'2020-12-10 12:24:22','PR1909-0031',1,NULL,NULL,'','2017-11-15 23:37:08','2020-11-15','2020-11-30 12:00:00','2021-09-27 16:54:30',NULL,NULL,12,NULL,12,NULL,NULL,1,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,3,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',NULL,NULL,1.00000000,10.00000000,0.00000000,10.00000000,'propale/PR1909-0031/PR1909-0031.pdf'),(11,1,NULL,'2020-06-12 17:12:08','PR1702-0009',1,NULL,NULL,'','2017-02-16 01:44:58','2020-05-13','2020-05-28 12:00:00','2020-02-16 01:44:58',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,60.00000000,0.00000000,0.00000000,0.00000000,60.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,60.00000000,0.00000000,60.00000000,NULL),(12,7,NULL,'2020-12-10 12:24:22','PR1702-0010',1,NULL,NULL,'','2017-02-16 01:45:44','2020-06-24','2020-07-09 12:00:00','2020-02-16 01:45:44',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,832.00000000,0.00000000,0.00000000,0.00000000,832.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,832.00000000,0.00000000,832.00000000,NULL),(13,26,NULL,'2021-04-15 10:22:31','PR1702-0011',1,NULL,NULL,'','2017-02-16 01:46:15','2021-04-03','2020-04-18 12:00:00','2021-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,242.00000000,0.00000000,0.00000000,0.00000000,242.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,242.00000000,0.00000000,242.00000000,NULL),(14,3,NULL,'2020-12-10 12:24:22','PR1702-0012',1,NULL,NULL,'','2017-02-16 01:46:15','2020-06-19','2020-07-04 12:00:00','2020-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,245.00000000,0.00000000,0.00000000,0.00000000,245.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,245.00000000,0.00000000,245.00000000,NULL),(15,26,NULL,'2020-06-12 17:12:08','PR1702-0013',1,NULL,NULL,'','2017-02-16 01:46:15','2020-05-01','2020-05-16 12:00:00','2019-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,940.00000000,0.00000000,0.00000000,0.00000000,940.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,940.00000000,0.00000000,940.00000000,NULL),(16,1,NULL,'2020-06-12 17:12:08','PR1702-0014',1,NULL,NULL,'','2017-02-16 01:46:15','2020-05-13','2020-05-28 12:00:00','2020-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,125.00000000,0.00000000,0.00000000,0.00000000,125.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,125.00000000,0.00000000,125.00000000,NULL),(17,1,NULL,'2020-12-10 12:24:22','PR1702-0015',1,NULL,NULL,'','2017-02-16 01:46:15','2020-07-23','2020-08-07 12:00:00','2020-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,163.00000000,0.00000000,0.00000000,0.00000000,163.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,163.00000000,0.00000000,163.00000000,NULL),(18,26,NULL,'2021-04-15 10:22:31','PR1702-0016',1,NULL,NULL,'','2017-02-16 01:46:15','2021-02-13','2021-02-28 12:00:00','2021-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,900.00000000,0.00000000,0.00000000,0.00000000,900.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,900.00000000,0.00000000,900.00000000,NULL),(19,12,NULL,'2021-04-15 10:22:31','PR1702-0017',1,NULL,NULL,'','2017-02-16 01:46:15','2021-03-30','2021-04-14 12:00:00','2021-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,200.00000000,0.00000000,0.00000000,0.00000000,200.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,200.00000000,0.00000000,200.00000000,NULL),(20,26,NULL,'2020-12-10 12:24:22','PR1702-0018',1,NULL,NULL,'','2017-02-16 01:46:15','2020-11-13','2020-11-28 12:00:00','2020-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,830.00000000,0.00000000,0.00000000,0.00000000,830.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,830.00000000,0.00000000,830.00000000,NULL),(21,1,NULL,'2020-12-10 12:24:22','PR1702-0019',1,NULL,NULL,'','2017-02-16 01:46:15','2020-09-23','2020-10-08 12:00:00','2020-02-16 04:47:09',NULL,NULL,1,NULL,12,NULL,NULL,1,0,NULL,NULL,0,89.00000000,0.00000000,0.00000000,0.00000000,89.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,89.00000000,0.00000000,89.00000000,NULL),(22,26,NULL,'2020-12-10 12:24:22','PR1702-0020',1,NULL,NULL,'','2017-02-16 01:46:15','2020-11-13','2020-11-28 12:00:00','2020-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,0,0,NULL,NULL,0,70.00000000,0.00000000,0.00000000,0.00000000,70.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,70.00000000,0.00000000,70.00000000,'propale/PR1702-0020/PR1702-0020.pdf'),(23,12,NULL,'2021-04-15 10:22:31','PR1702-0021',1,NULL,NULL,'','2017-02-16 01:46:17','2021-04-03','2020-04-18 12:00:00','2020-02-17 16:07:18',NULL,NULL,2,NULL,12,NULL,NULL,1,0,NULL,NULL,0,715.00000000,0.00000000,0.00000000,0.00000000,715.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,715.00000000,0.00000000,715.00000000,NULL),(24,7,NULL,'2020-12-10 12:24:22','PR1702-0022',1,NULL,NULL,'','2017-02-16 01:46:17','2020-11-13','2020-11-28 12:00:00','2020-02-16 01:46:17',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,250.00000000,0.00000000,0.00000000,0.00000000,250.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,250.00000000,0.00000000,250.00000000,NULL),(25,3,NULL,'2021-04-15 10:22:55','PR1702-0023',1,NULL,NULL,'','2017-02-16 01:46:17','2020-07-09','2020-07-24 12:00:00','2020-02-16 01:46:17','2020-02-16 04:47:29','2020-02-16 04:47:29',1,NULL,1,12,12,4,0,NULL,NULL,0,1018.00000000,0.00000000,0.00000000,0.00000000,1018.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,1018.00000000,0.00000000,1018.00000000,NULL),(26,1,NULL,'2021-04-15 10:22:31','PR1702-0024',1,NULL,NULL,'','2017-02-16 01:46:17','2021-04-03','2020-04-18 12:00:00','2020-02-16 01:46:18',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,710.00000000,0.00000000,0.00000000,0.00000000,710.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,710.00000000,0.00000000,710.00000000,NULL),(27,6,NULL,'2020-12-10 12:24:22','PR1702-0025',1,NULL,NULL,'','2017-02-16 01:46:18','2020-11-12','2020-11-27 12:00:00','2020-02-16 01:46:18',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,300.00000000,0.00000000,0.00000000,0.00000000,300.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,300.00000000,0.00000000,300.00000000,NULL),(28,19,NULL,'2021-04-15 10:22:55','PR1702-0026',1,NULL,NULL,'','2017-02-16 01:46:18','2020-07-30','2020-08-14 12:00:00','2020-02-16 01:46:18','2020-02-16 04:46:31','2020-02-16 04:46:31',2,NULL,2,12,12,2,0,NULL,NULL,0,440.00000000,0.00000000,0.00000000,0.00000000,440.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,440.00000000,0.00000000,440.00000000,NULL),(29,1,NULL,'2021-04-15 10:22:55','PR1702-0027',1,NULL,NULL,'','2017-02-16 01:46:18','2020-07-23','2020-08-07 12:00:00','2020-02-16 01:46:18','2021-12-20 20:50:23','2021-12-20 20:50:23',2,NULL,2,12,12,2,0,NULL,NULL,0,1000.00000000,0.00000000,0.00000000,0.00000000,1000.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,'propale/PR1702-0027/PR1702-0027.pdf'),(30,1,NULL,'2021-04-15 10:22:55','PR1702-0028',1,NULL,NULL,'','2017-02-16 01:46:18','2020-05-01','2020-05-16 12:00:00','2019-02-16 01:46:18','2019-02-16 04:46:42','2019-02-16 04:46:42',2,NULL,2,12,12,3,0,NULL,NULL,0,1200.00000000,0.00000000,0.00000000,0.00000000,1200.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,1200.00000000,0.00000000,1200.00000000,NULL),(31,11,NULL,'2020-12-10 12:24:22','PR1702-0029',1,NULL,NULL,'','2017-02-16 01:46:18','2020-06-24','2020-07-09 12:00:00','2020-02-16 01:46:18',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,720.00000000,0.00000000,0.00000000,0.00000000,720.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,720.00000000,0.00000000,720.00000000,NULL),(32,19,NULL,'2020-12-10 12:24:22','PR1702-0030',1,NULL,NULL,'','2017-02-16 01:46:18','2020-11-12','2020-11-27 12:00:00','2020-02-16 01:46:18',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,608.00000000,0.00000000,0.00000000,0.00000000,608.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,608.00000000,0.00000000,608.00000000,NULL),(33,10,6,'2020-12-10 12:24:22','PR1909-0032',1,NULL,NULL,'','2019-09-27 17:07:40','2020-09-27','2020-10-12 12:00:00','2020-09-27 17:08:59',NULL,NULL,12,12,12,NULL,NULL,1,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL,'This is a private note','This is a public note','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,'propale/PR1909-0032/PR1909-0032.pdf'),(34,10,6,'2021-04-15 10:22:55','PR1909-0033',1,NULL,NULL,'','2019-09-27 17:11:21','2020-09-27','2020-10-12 12:00:00','2020-09-27 17:13:13','2020-01-07 23:43:06','2020-01-07 23:43:06',12,12,12,12,12,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,NULL,NULL,NULL,'a & a
\r\nb < r','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,'propale/PR1909-0033/PR1909-0033.pdf'),(35,10,NULL,'2020-12-10 12:24:22','(PROV35)',1,NULL,NULL,'','2019-09-27 17:53:44','2020-09-27','2020-10-12 12:00:00',NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,5.00000000,0.00000000,5.00000000,'propale/(PROV35)/(PROV35).pdf'),(36,1,NULL,'2021-04-15 10:22:55','PR2001-0034',1,NULL,NULL,'','2020-01-01 23:55:35','2021-01-01','2021-01-16 12:00:00','2021-01-19 14:24:22','2021-01-19 14:24:27','2021-01-19 14:24:27',12,NULL,12,12,12,2,0,NULL,NULL,0,4.00000000,0.24000000,0.00000000,0.00000000,4.24000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,4.00000000,0.24000000,4.24000000,'propale/PR2001-0034/PR2001-0034.pdf'),(37,10,NULL,'2021-04-15 10:22:31','(PROV37)',1,NULL,NULL,'','2020-01-06 00:44:16','2021-01-05','2021-01-20 12:00:00',NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,'propale/(PROV37)/(PROV37).pdf'),(38,30,NULL,'2021-04-15 10:22:31','(PROV38)',1,NULL,NULL,'','2020-01-13 17:25:28','2021-01-13','2021-01-28 12:00:00',NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,'propale/(PROV38)/(PROV38).pdf'); +INSERT INTO `llx_propal` VALUES (1,2,NULL,'2021-07-11 17:49:28','PR1007-0001',1,NULL,NULL,'','2012-07-09 01:33:49','2021-07-09','2020-07-24 12:00:00','2020-08-08 14:24:18',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,30.00000000,3.84000000,0.00000000,0.00000000,33.84000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(2,1,NULL,'2021-07-11 17:49:28','PR1007-0002',1,NULL,NULL,'','2012-07-10 02:11:44','2021-07-10','2020-07-25 12:00:00','2021-07-10 02:12:55','2020-07-20 15:23:12','2020-07-20 15:23:12',1,NULL,1,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,1,'','','azur',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(3,4,NULL,'2021-04-15 10:22:55','PR1007-0003',1,NULL,NULL,'','2012-07-18 11:35:11','2020-07-18','2020-08-02 12:00:00','2020-07-18 11:36:18','2020-07-20 15:21:15','2020-07-20 15:21:15',1,NULL,1,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(5,19,NULL,'2021-04-15 10:22:31','PR1302-0005',1,NULL,NULL,'','2015-02-17 15:39:56','2021-02-17','2021-03-04 12:00:00','2020-11-15 23:27:10',NULL,NULL,1,NULL,12,NULL,NULL,1,0,NULL,NULL,0,10.00000000,2.00000000,0.00000000,0.00000000,12.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(6,19,NULL,'2021-04-15 10:22:31','PR1302-0006',1,NULL,NULL,'','2015-02-17 15:40:12','2021-02-17','2021-03-04 12:00:00',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(7,19,NULL,'2021-04-15 10:22:31','PR1302-0007',1,NULL,NULL,'','2015-02-17 15:41:15','2021-02-17','2021-03-04 12:00:00','2020-01-29 21:49:33',NULL,NULL,1,NULL,12,NULL,NULL,1,0,NULL,NULL,0,400.00000000,0.00000000,0.00000000,0.00000000,400.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,400.00000000,0.00000000,400.00000000,NULL),(8,19,NULL,'2021-04-15 10:22:31','PR1302-0008',1,NULL,NULL,'','2015-02-17 15:43:39','2021-02-17','2021-03-04 12:00:00',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL),(10,7,4,'2020-12-10 12:24:22','PR1909-0031',1,NULL,NULL,'','2017-11-15 23:37:08','2020-11-15','2020-11-30 12:00:00','2021-09-27 16:54:30',NULL,NULL,12,NULL,12,NULL,NULL,1,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,3,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',NULL,NULL,1.00000000,10.00000000,0.00000000,10.00000000,'propale/PR1909-0031/PR1909-0031.pdf'),(11,1,NULL,'2021-07-11 17:49:28','PR1702-0009',1,NULL,NULL,'','2017-02-16 01:44:58','2021-05-13','2021-05-28 12:00:00','2021-02-16 01:44:58',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,60.00000000,0.00000000,0.00000000,0.00000000,60.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,60.00000000,0.00000000,60.00000000,NULL),(12,7,NULL,'2021-07-11 17:49:28','PR1702-0010',1,NULL,NULL,'','2017-02-16 01:45:44','2021-06-24','2021-07-09 12:00:00','2021-02-16 01:45:44',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,832.00000000,0.00000000,0.00000000,0.00000000,832.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,832.00000000,0.00000000,832.00000000,NULL),(13,26,NULL,'2021-04-15 10:22:31','PR1702-0011',1,NULL,NULL,'','2017-02-16 01:46:15','2021-04-03','2020-04-18 12:00:00','2021-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,242.00000000,0.00000000,0.00000000,0.00000000,242.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,242.00000000,0.00000000,242.00000000,NULL),(14,3,NULL,'2021-07-11 17:49:28','PR1702-0012',1,NULL,NULL,'','2017-02-16 01:46:15','2021-06-19','2021-07-04 12:00:00','2021-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,245.00000000,0.00000000,0.00000000,0.00000000,245.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,245.00000000,0.00000000,245.00000000,NULL),(15,26,NULL,'2021-07-11 17:49:28','PR1702-0013',1,NULL,NULL,'','2017-02-16 01:46:15','2021-05-01','2021-05-16 12:00:00','2020-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,940.00000000,0.00000000,0.00000000,0.00000000,940.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,940.00000000,0.00000000,940.00000000,NULL),(16,1,NULL,'2021-07-11 17:49:28','PR1702-0014',1,NULL,NULL,'','2017-02-16 01:46:15','2021-05-13','2021-05-28 12:00:00','2021-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,125.00000000,0.00000000,0.00000000,0.00000000,125.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,125.00000000,0.00000000,125.00000000,NULL),(17,1,NULL,'2020-12-10 12:24:22','PR1702-0015',1,NULL,NULL,'','2017-02-16 01:46:15','2020-07-23','2020-08-07 12:00:00','2020-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,163.00000000,0.00000000,0.00000000,0.00000000,163.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,163.00000000,0.00000000,163.00000000,NULL),(18,26,NULL,'2021-04-15 10:22:31','PR1702-0016',1,NULL,NULL,'','2017-02-16 01:46:15','2021-02-13','2021-02-28 12:00:00','2021-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,900.00000000,0.00000000,0.00000000,0.00000000,900.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,900.00000000,0.00000000,900.00000000,NULL),(19,12,NULL,'2021-04-15 10:22:31','PR1702-0017',1,NULL,NULL,'','2017-02-16 01:46:15','2021-03-30','2021-04-14 12:00:00','2021-02-16 01:46:15',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,200.00000000,0.00000000,0.00000000,0.00000000,200.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,200.00000000,0.00000000,200.00000000,NULL),(20,26,NULL,'2020-12-10 12:24:22','PR1702-0018',1,NULL,NULL,'','2017-02-16 01:46:15','2020-11-13','2020-11-28 12:00:00','2020-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,830.00000000,0.00000000,0.00000000,0.00000000,830.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,830.00000000,0.00000000,830.00000000,NULL),(21,1,NULL,'2020-12-10 12:24:22','PR1702-0019',1,NULL,NULL,'','2017-02-16 01:46:15','2020-09-23','2020-10-08 12:00:00','2020-02-16 04:47:09',NULL,NULL,1,NULL,12,NULL,NULL,1,0,NULL,NULL,0,89.00000000,0.00000000,0.00000000,0.00000000,89.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,89.00000000,0.00000000,89.00000000,NULL),(22,26,NULL,'2020-12-10 12:24:22','PR1702-0020',1,NULL,NULL,'','2017-02-16 01:46:15','2020-11-13','2020-11-28 12:00:00','2020-02-16 01:46:15',NULL,NULL,1,NULL,1,NULL,NULL,0,0,NULL,NULL,0,70.00000000,0.00000000,0.00000000,0.00000000,70.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,70.00000000,0.00000000,70.00000000,'propale/PR1702-0020/PR1702-0020.pdf'),(23,12,NULL,'2021-04-15 10:22:31','PR1702-0021',1,NULL,NULL,'','2017-02-16 01:46:17','2021-04-03','2020-04-18 12:00:00','2020-02-17 16:07:18',NULL,NULL,2,NULL,12,NULL,NULL,1,0,NULL,NULL,0,715.00000000,0.00000000,0.00000000,0.00000000,715.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,715.00000000,0.00000000,715.00000000,NULL),(24,7,NULL,'2020-12-10 12:24:22','PR1702-0022',1,NULL,NULL,'','2017-02-16 01:46:17','2020-11-13','2020-11-28 12:00:00','2020-02-16 01:46:17',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,250.00000000,0.00000000,0.00000000,0.00000000,250.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,250.00000000,0.00000000,250.00000000,NULL),(25,3,NULL,'2021-07-11 17:49:28','PR1702-0023',1,NULL,NULL,'','2017-02-16 01:46:17','2021-07-09','2020-07-24 12:00:00','2021-02-16 01:46:17','2020-02-16 04:47:29','2021-02-16 04:47:29',1,NULL,1,12,12,4,0,NULL,NULL,0,1018.00000000,0.00000000,0.00000000,0.00000000,1018.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,1018.00000000,0.00000000,1018.00000000,NULL),(26,1,NULL,'2021-04-15 10:22:31','PR1702-0024',1,NULL,NULL,'','2017-02-16 01:46:17','2021-04-03','2020-04-18 12:00:00','2020-02-16 01:46:18',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,710.00000000,0.00000000,0.00000000,0.00000000,710.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,710.00000000,0.00000000,710.00000000,NULL),(27,6,NULL,'2020-12-10 12:24:22','PR1702-0025',1,NULL,NULL,'','2017-02-16 01:46:18','2020-11-12','2020-11-27 12:00:00','2020-02-16 01:46:18',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,300.00000000,0.00000000,0.00000000,0.00000000,300.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,300.00000000,0.00000000,300.00000000,NULL),(28,19,NULL,'2021-04-15 10:22:55','PR1702-0026',1,NULL,NULL,'','2017-02-16 01:46:18','2020-07-30','2020-08-14 12:00:00','2020-02-16 01:46:18','2020-02-16 04:46:31','2020-02-16 04:46:31',2,NULL,2,12,12,2,0,NULL,NULL,0,440.00000000,0.00000000,0.00000000,0.00000000,440.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,440.00000000,0.00000000,440.00000000,NULL),(29,1,NULL,'2021-04-15 10:22:55','PR1702-0027',1,NULL,NULL,'','2017-02-16 01:46:18','2020-07-23','2020-08-07 12:00:00','2020-02-16 01:46:18','2021-12-20 20:50:23','2021-12-20 20:50:23',2,NULL,2,12,12,2,0,NULL,NULL,0,1000.00000000,0.00000000,0.00000000,0.00000000,1000.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,1000.00000000,0.00000000,1000.00000000,'propale/PR1702-0027/PR1702-0027.pdf'),(30,1,NULL,'2021-07-11 17:49:28','PR1702-0028',1,NULL,NULL,'','2017-02-16 01:46:18','2021-05-01','2021-05-16 12:00:00','2020-02-16 01:46:18','2019-02-16 04:46:42','2020-02-16 04:46:42',2,NULL,2,12,12,3,0,NULL,NULL,0,1200.00000000,0.00000000,0.00000000,0.00000000,1200.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,1200.00000000,0.00000000,1200.00000000,NULL),(31,11,NULL,'2021-07-11 17:49:28','PR1702-0029',1,NULL,NULL,'','2017-02-16 01:46:18','2021-06-24','2021-07-09 12:00:00','2021-02-16 01:46:18',NULL,NULL,1,NULL,1,NULL,NULL,1,0,NULL,NULL,0,720.00000000,0.00000000,0.00000000,0.00000000,720.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,720.00000000,0.00000000,720.00000000,NULL),(32,19,NULL,'2020-12-10 12:24:22','PR1702-0030',1,NULL,NULL,'','2017-02-16 01:46:18','2020-11-12','2020-11-27 12:00:00','2020-02-16 01:46:18',NULL,NULL,2,NULL,2,NULL,NULL,1,0,NULL,NULL,0,608.00000000,0.00000000,0.00000000,0.00000000,608.00000000,NULL,NULL,3,3,'','','',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',0,'EUR',1.00000000,608.00000000,0.00000000,608.00000000,NULL),(33,10,6,'2020-12-10 12:24:22','PR1909-0032',1,NULL,NULL,'','2019-09-27 17:07:40','2020-09-27','2020-10-12 12:00:00','2020-09-27 17:08:59',NULL,NULL,12,12,12,NULL,NULL,1,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL,'This is a private note','This is a public note','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,'propale/PR1909-0032/PR1909-0032.pdf'),(34,10,6,'2021-04-15 10:22:55','PR1909-0033',1,NULL,NULL,'','2019-09-27 17:11:21','2020-09-27','2020-10-12 12:00:00','2020-09-27 17:13:13','2020-01-07 23:43:06','2020-01-07 23:43:06',12,12,12,12,12,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,NULL,NULL,NULL,'a & a
\r\nb < r','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,'propale/PR1909-0033/PR1909-0033.pdf'),(35,10,NULL,'2020-12-10 12:24:22','(PROV35)',1,NULL,NULL,'','2019-09-27 17:53:44','2020-09-27','2020-10-12 12:00:00',NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,5.00000000,0.00000000,5.00000000,'propale/(PROV35)/(PROV35).pdf'),(36,1,NULL,'2021-04-15 10:22:55','PR2001-0034',1,NULL,NULL,'','2020-01-01 23:55:35','2021-01-01','2021-01-16 12:00:00','2021-01-19 14:24:22','2021-01-19 14:24:27','2021-01-19 14:24:27',12,NULL,12,12,12,2,0,NULL,NULL,0,4.00000000,0.24000000,0.00000000,0.00000000,4.24000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,4.00000000,0.24000000,4.24000000,'propale/PR2001-0034/PR2001-0034.pdf'),(37,10,NULL,'2021-04-15 10:22:31','(PROV37)',1,NULL,NULL,'','2020-01-06 00:44:16','2021-01-05','2021-01-20 12:00:00',NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,10.00000000,0.00000000,10.00000000,'propale/(PROV37)/(PROV37).pdf'),(38,30,NULL,'2021-04-15 10:22:31','(PROV38)',1,NULL,NULL,'','2020-01-13 17:25:28','2021-01-13','2021-01-28 12:00:00',NULL,NULL,NULL,12,NULL,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL,'','','azur',NULL,NULL,NULL,0,NULL,0,NULL,NULL,0,'',1,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,'propale/(PROV38)/(PROV38).pdf'); /*!40000 ALTER TABLE `llx_propal` ENABLE KEYS */; UNLOCK TABLES; @@ -11767,7 +10750,7 @@ CREATE TABLE `llx_recruitment_recruitmentcandidature` ( `remuneration_requested` int(11) DEFAULT NULL, `remuneration_proposed` int(11) DEFAULT NULL, `fk_recruitment_origin` int(11) DEFAULT NULL, - `email_msgid` varchar(175) CHARACTER SET utf8mb4 DEFAULT NULL, + `email_msgid` varchar(175) COLLATE utf8_unicode_ci DEFAULT NULL, `entity` int(11) NOT NULL DEFAULT 1, `date_birth` date DEFAULT NULL, PRIMARY KEY (`rowid`), @@ -12006,7 +10989,7 @@ CREATE TABLE `llx_rights_def` ( LOCK TABLES `llx_rights_def` WRITE; /*!40000 ALTER TABLE `llx_rights_def` DISABLE KEYS */; -INSERT INTO `llx_rights_def` VALUES (11,'Read invoices','facture',1,'lire',NULL,'a',0,11,0),(11,'Lire les factures','facture',2,'lire',NULL,'a',1,10,0),(12,'Create and update invoices','facture',1,'creer',NULL,'a',0,11,0),(12,'Creer/modifier les factures','facture',2,'creer',NULL,'a',0,10,0),(13,'Devalidate invoices','facture',1,'invoice_advance','unvalidate','a',0,11,0),(13,'Dévalider les factures','facture',2,'invoice_advance','unvalidate','a',0,10,0),(14,'Validate invoices','facture',1,'invoice_advance','validate','a',0,11,0),(14,'Valider les factures','facture',2,'valider',NULL,'a',0,10,0),(15,'Send invoices by email','facture',1,'invoice_advance','send','a',0,11,0),(15,'Envoyer les factures par mail','facture',2,'invoice_advance','send','a',0,10,0),(16,'Issue payments on invoices','facture',1,'paiement',NULL,'a',0,11,0),(16,'Emettre des paiements sur les factures','facture',2,'paiement',NULL,'a',0,10,0),(19,'Delete invoices','facture',1,'supprimer',NULL,'a',0,11,0),(19,'Supprimer les factures','facture',2,'supprimer',NULL,'a',0,10,0),(21,'Lire les propositions commerciales','propale',1,'lire',NULL,'r',1,22,0),(21,'Lire les propositions commerciales','propale',2,'lire',NULL,'r',1,22,0),(22,'Creer/modifier les propositions commerciales','propale',1,'creer',NULL,'w',0,22,0),(22,'Creer/modifier les propositions commerciales','propale',2,'creer',NULL,'w',0,22,0),(24,'Valider les propositions commerciales','propale',1,'propal_advance','validate','d',0,22,0),(24,'Valider les propositions commerciales','propale',2,'valider',NULL,'d',0,22,0),(25,'Envoyer les propositions commerciales aux clients','propale',1,'propal_advance','send','d',0,22,0),(25,'Envoyer les propositions commerciales aux clients','propale',2,'propal_advance','send','d',0,22,0),(26,'Cloturer les propositions commerciales','propale',1,'propal_advance','close','d',0,22,0),(26,'Cloturer les propositions commerciales','propale',2,'propal_advance','close','d',0,22,0),(27,'Supprimer les propositions commerciales','propale',1,'supprimer',NULL,'d',0,22,0),(27,'Supprimer les propositions commerciales','propale',2,'supprimer',NULL,'d',0,22,0),(28,'Exporter les propositions commerciales et attributs','propale',1,'export',NULL,'r',0,22,0),(28,'Exporter les propositions commerciales et attributs','propale',2,'export',NULL,'r',0,22,0),(31,'Lire les produits','produit',1,'lire',NULL,'r',1,25,0),(31,'Lire les produits','produit',2,'lire',NULL,'r',1,25,0),(32,'Creer/modifier les produits','produit',1,'creer',NULL,'w',0,25,0),(32,'Creer/modifier les produits','produit',2,'creer',NULL,'w',0,25,0),(34,'Supprimer les produits','produit',1,'supprimer',NULL,'d',0,25,0),(34,'Supprimer les produits','produit',2,'supprimer',NULL,'d',0,25,0),(38,'Exporter les produits','produit',1,'export',NULL,'r',0,25,0),(38,'Exporter les produits','produit',2,'export',NULL,'r',0,25,0),(39,'Ignore minimum price','produit',1,'ignore_price_min_advance',NULL,'r',0,25,0),(41,'Read projects and tasks (shared projects or projects I am contact for). Can also enter time consumed on assigned tasks (timesheet)','projet',1,'lire',NULL,'r',1,14,0),(42,'Create/modify projects and tasks (shared projects or projects I am contact for)','projet',1,'creer',NULL,'w',0,14,0),(44,'Delete project and tasks (shared projects or projects I am contact for)','projet',1,'supprimer',NULL,'d',0,14,0),(45,'Export projects','projet',1,'export',NULL,'d',0,14,0),(61,'Lire les fiches d\'intervention','ficheinter',1,'lire',NULL,'r',1,41,0),(62,'Creer/modifier les fiches d\'intervention','ficheinter',1,'creer',NULL,'w',0,41,0),(64,'Supprimer les fiches d\'intervention','ficheinter',1,'supprimer',NULL,'d',0,41,0),(67,'Exporter les fiches interventions','ficheinter',1,'export',NULL,'r',0,41,0),(68,'Envoyer les fiches d\'intervention par courriel','ficheinter',1,'ficheinter_advance','send','r',0,41,0),(69,'Valider les fiches d\'intervention ','ficheinter',1,'ficheinter_advance','validate','a',0,41,0),(70,'Dévalider les fiches d\'intervention','ficheinter',1,'ficheinter_advance','unvalidate','a',0,41,0),(71,'Read members\' card','adherent',1,'lire',NULL,'r',0,55,0),(72,'Create/modify members (need also user module permissions if member linked to a user)','adherent',1,'creer',NULL,'w',0,55,0),(74,'Remove members','adherent',1,'supprimer',NULL,'d',0,55,0),(75,'Setup types of membership','adherent',1,'configurer',NULL,'w',0,55,0),(76,'Export members','adherent',1,'export',NULL,'r',0,55,0),(78,'Read subscriptions','adherent',1,'cotisation','lire','r',0,55,0),(79,'Create/modify/remove subscriptions','adherent',1,'cotisation','creer','w',0,55,0),(81,'Read sales orders','commande',1,'lire',NULL,'r',0,11,0),(82,'Creeat/modify sales orders','commande',1,'creer',NULL,'w',0,11,0),(84,'Validate sales orders','commande',1,'order_advance','validate','d',0,11,0),(86,'Send sale orders by email','commande',1,'order_advance','send','d',0,11,0),(87,'Close sale orders','commande',1,'order_advance','close','d',0,11,0),(88,'Cancel sale orders','commande',1,'order_advance','annuler','d',0,11,0),(89,'Delete sales orders','commande',1,'supprimer',NULL,'d',0,11,0),(91,'Lire les charges','tax',1,'charges','lire','r',0,50,0),(91,'Lire les charges','tax',2,'charges','lire','r',1,50,0),(92,'Creer/modifier les charges','tax',1,'charges','creer','w',0,50,0),(92,'Creer/modifier les charges','tax',2,'charges','creer','w',0,50,0),(93,'Supprimer les charges','tax',1,'charges','supprimer','d',0,50,0),(93,'Supprimer les charges','tax',2,'charges','supprimer','d',0,50,0),(94,'Exporter les charges','tax',1,'charges','export','r',0,50,0),(94,'Exporter les charges','tax',2,'charges','export','r',0,50,0),(101,'Lire les expeditions','expedition',1,'lire',NULL,'r',0,40,0),(102,'Creer modifier les expeditions','expedition',1,'creer',NULL,'w',0,40,0),(104,'Valider les expeditions','expedition',1,'shipping_advance','validate','d',0,40,0),(105,'Envoyer les expeditions aux clients','expedition',1,'shipping_advance','send','d',0,40,0),(106,'Exporter les expeditions','expedition',1,'shipment','export','r',0,40,0),(109,'Supprimer les expeditions','expedition',1,'supprimer',NULL,'d',0,40,0),(111,'Read bank account and transactions','banque',1,'lire',NULL,'r',0,51,0),(111,'Lire les comptes bancaires','banque',2,'lire',NULL,'r',1,51,0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',1,'modifier',NULL,'w',0,51,0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',2,'modifier',NULL,'w',0,51,0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',1,'configurer',NULL,'a',0,51,0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',2,'configurer',NULL,'a',0,51,0),(114,'Rapprocher les ecritures bancaires','banque',1,'consolidate',NULL,'w',0,51,0),(114,'Rapprocher les ecritures bancaires','banque',2,'consolidate',NULL,'w',0,51,0),(115,'Exporter transactions et releves','banque',1,'export',NULL,'r',0,51,0),(115,'Exporter transactions et releves','banque',2,'export',NULL,'r',0,51,0),(116,'Virements entre comptes','banque',1,'transfer',NULL,'w',0,51,0),(116,'Virements entre comptes','banque',2,'transfer',NULL,'w',0,51,0),(117,'Gerer les envois de cheques','banque',1,'cheque',NULL,'w',0,51,0),(117,'Gerer les envois de cheques','banque',2,'cheque',NULL,'w',0,51,0),(121,'Read third parties','societe',1,'lire',NULL,'r',0,9,0),(121,'Lire les societes','societe',2,'lire',NULL,'r',1,9,0),(122,'Create and update third parties','societe',1,'creer',NULL,'w',0,9,0),(122,'Creer modifier les societes','societe',2,'creer',NULL,'w',0,9,0),(125,'Delete third parties','societe',1,'supprimer',NULL,'d',0,9,0),(125,'Supprimer les societes','societe',2,'supprimer',NULL,'d',0,9,0),(126,'Export third parties','societe',1,'export',NULL,'r',0,9,0),(126,'Exporter les societes','societe',2,'export',NULL,'r',0,9,0),(141,'Read all projects and tasks (also private projects I am not contact for)','projet',1,'all','lire','r',0,14,0),(142,'Create/modify all projects and tasks (also private projects I am not contact for)','projet',1,'all','creer','w',0,14,0),(144,'Delete all projects and tasks (also private projects I am not contact for)','projet',1,'all','supprimer','d',0,14,0),(151,'Read withdrawals','prelevement',1,'bons','lire','r',1,52,0),(152,'Create/modify a withdrawals','prelevement',1,'bons','creer','w',0,52,0),(153,'Send withdrawals to bank','prelevement',1,'bons','send','a',0,52,0),(154,'credit/refuse withdrawals','prelevement',1,'bons','credit','a',0,52,0),(161,'Lire les contrats','contrat',1,'lire',NULL,'r',1,35,0),(162,'Creer / modifier les contrats','contrat',1,'creer',NULL,'w',0,35,0),(163,'Activer un service d\'un contrat','contrat',1,'activer',NULL,'w',0,35,0),(164,'Desactiver un service d\'un contrat','contrat',1,'desactiver',NULL,'w',0,35,0),(165,'Supprimer un contrat','contrat',1,'supprimer',NULL,'d',0,35,0),(167,'Export contracts','contrat',1,'export',NULL,'r',0,35,0),(221,'Consulter les mailings','mailing',1,'lire',NULL,'r',1,11,0),(221,'Consulter les mailings','mailing',2,'lire',NULL,'r',1,11,0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',1,'creer',NULL,'w',0,11,0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',2,'creer',NULL,'w',0,11,0),(223,'Valider les mailings (permet leur envoi)','mailing',1,'valider',NULL,'w',0,11,0),(223,'Valider les mailings (permet leur envoi)','mailing',2,'valider',NULL,'w',0,11,0),(229,'Supprimer les mailings','mailing',1,'supprimer',NULL,'d',0,11,0),(229,'Supprimer les mailings','mailing',2,'supprimer',NULL,'d',0,11,0),(237,'View recipients and info','mailing',1,'mailing_advance','recipient','r',0,11,0),(237,'View recipients and info','mailing',2,'mailing_advance','recipient','r',0,11,0),(238,'Manually send mailings','mailing',1,'mailing_advance','send','w',0,11,0),(238,'Manually send mailings','mailing',2,'mailing_advance','send','w',0,11,0),(239,'Delete mailings after validation and/or sent','mailing',1,'mailing_advance','delete','d',0,11,0),(239,'Delete mailings after validation and/or sent','mailing',2,'mailing_advance','delete','d',0,11,0),(241,'Lire les categories','categorie',1,'lire',NULL,'r',1,20,0),(242,'Creer/modifier les categories','categorie',1,'creer',NULL,'w',0,20,0),(243,'Supprimer les categories','categorie',1,'supprimer',NULL,'d',0,20,0),(251,'Consulter les autres utilisateurs','user',1,'user','lire','r',0,5,0),(252,'Consulter les permissions des autres utilisateurs','user',1,'user_advance','readperms','r',0,5,0),(253,'Creer/modifier utilisateurs internes et externes','user',1,'user','creer','w',0,5,0),(254,'Creer/modifier utilisateurs externes seulement','user',1,'user_advance','write','w',0,5,0),(255,'Modifier le mot de passe des autres utilisateurs','user',1,'user','password','w',0,5,0),(256,'Supprimer ou desactiver les autres utilisateurs','user',1,'user','supprimer','d',0,5,0),(262,'Read all third parties (and their objects) by internal users (otherwise only if commercial contact). Not effective for external users (limited to themselves).','societe',1,'client','voir','r',0,9,0),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',2,'client','voir','r',1,9,0),(281,'Read contacts','societe',1,'contact','lire','r',0,9,0),(281,'Lire les contacts','societe',2,'contact','lire','r',1,9,0),(282,'Create and update contact','societe',1,'contact','creer','w',0,9,0),(282,'Creer modifier les contacts','societe',2,'contact','creer','w',0,9,0),(283,'Delete contacts','societe',1,'contact','supprimer','d',0,9,0),(283,'Supprimer les contacts','societe',2,'contact','supprimer','d',0,9,0),(286,'Export contacts','societe',1,'contact','export','d',0,9,0),(286,'Exporter les contacts','societe',2,'contact','export','d',0,9,0),(301,'Read barcodes','barcode',1,'lire_advance',NULL,'r',1,0,0),(302,'Create/modify barcodes','barcode',1,'creer_advance',NULL,'w',0,0,0),(331,'Lire les bookmarks','bookmark',1,'lire',NULL,'r',0,50,0),(332,'Creer/modifier les bookmarks','bookmark',1,'creer',NULL,'r',0,50,0),(333,'Supprimer les bookmarks','bookmark',1,'supprimer',NULL,'r',0,50,0),(341,'Consulter ses propres permissions','user',1,'self_advance','readperms','r',0,5,0),(342,'Creer/modifier ses propres infos utilisateur','user',1,'self','creer','w',0,5,0),(343,'Modifier son propre mot de passe','user',1,'self','password','w',0,5,0),(344,'Modifier ses propres permissions','user',1,'self_advance','writeperms','w',0,5,0),(351,'Consulter les groupes','user',1,'group_advance','read','r',0,5,0),(352,'Consulter les permissions des groupes','user',1,'group_advance','readperms','r',0,5,0),(353,'Creer/modifier les groupes et leurs permissions','user',1,'group_advance','write','w',0,5,0),(354,'Supprimer ou desactiver les groupes','user',1,'group_advance','delete','d',0,5,0),(358,'Exporter les utilisateurs','user',1,'user','export','r',0,5,0),(511,'Read payments of employee salaries (yours and your subordinates)','salaries',1,'read',NULL,'r',0,50,0),(512,'Create/modify payments of empoyee salaries','salaries',1,'write',NULL,'w',0,50,0),(514,'Delete payments of employee salary','salaries',1,'delete',NULL,'d',0,50,0),(517,'Read payments of salariests of every employee','salaries',1,'readall',NULL,'r',0,50,0),(519,'Export payments of employee salaries','salaries',1,'export',NULL,'r',0,50,0),(520,'Read loans','loan',1,'read',NULL,'r',0,50,0),(521,'Read loans','loan',1,'read',NULL,'r',0,50,0),(522,'Create/modify loans','loan',1,'write',NULL,'w',0,50,0),(524,'Delete loans','loan',1,'delete',NULL,'d',0,50,0),(525,'Access loan calculator','loan',1,'calc',NULL,'r',0,50,0),(527,'Export loans','loan',1,'export',NULL,'r',0,50,0),(531,'Read services','service',1,'lire',NULL,'r',0,29,0),(532,'Create/modify services','service',1,'creer',NULL,'w',0,29,0),(534,'Delete les services','service',1,'supprimer',NULL,'d',0,29,0),(538,'Export services','service',1,'export',NULL,'r',0,29,0),(561,'Read bank transfer payment orders','paymentbybanktransfer',1,'read',NULL,'r',0,52,0),(562,'Create/modify a bank transfer payment order','paymentbybanktransfer',1,'create',NULL,'w',0,52,0),(563,'Send/Transmit bank transfer payment order','paymentbybanktransfer',1,'send',NULL,'a',0,52,0),(564,'Record Debits/Rejects of bank transfer payment order','paymentbybanktransfer',1,'debit',NULL,'a',0,52,0),(651,'Read bom of Bom','bom',1,'read',NULL,'w',0,65,0),(652,'Create/Update bom of Bom','bom',1,'write',NULL,'w',0,65,0),(653,'Delete bom of Bom','bom',1,'delete',NULL,'w',0,65,0),(661,'Read Manufacturing Order','mrp',1,'read',NULL,'w',0,66,0),(662,'Create/Update Manufacturing Order','mrp',1,'write',NULL,'w',0,66,0),(663,'Delete Manufacturing Order','mrp',1,'delete',NULL,'w',0,66,0),(701,'Lire les dons','don',1,'lire',NULL,'r',1,50,0),(701,'Lire les dons','don',2,'lire',NULL,'r',1,50,0),(702,'Creer/modifier les dons','don',1,'creer',NULL,'w',0,50,0),(702,'Creer/modifier les dons','don',2,'creer',NULL,'w',0,50,0),(703,'Supprimer les dons','don',1,'supprimer',NULL,'d',0,50,0),(703,'Supprimer les dons','don',2,'supprimer',NULL,'d',0,50,0),(750,'Read job positions to fill and candidatures','recruitment',1,'recruitmentjobposition','read','w',0,44,0),(751,'Create/Update job positions to fill and candidatures','recruitment',1,'recruitmentjobposition','write','w',0,44,0),(752,'Delete Job positions to fill and candidatures','recruitment',1,'recruitmentjobposition','delete','w',0,44,0),(771,'Read expense reports (yours and your subordinates)','expensereport',1,'lire',NULL,'r',0,42,0),(772,'Create/modify expense reports','expensereport',1,'creer',NULL,'w',0,42,0),(773,'Delete expense reports','expensereport',1,'supprimer',NULL,'d',0,42,0),(775,'Approve expense reports','expensereport',1,'approve',NULL,'w',0,42,0),(776,'Pay expense reports','expensereport',1,'to_paid',NULL,'w',0,42,0),(777,'Read expense reports of everybody','expensereport',1,'readall',NULL,'r',0,42,0),(778,'Create expense reports for everybody','expensereport',1,'writeall_advance',NULL,'w',0,42,0),(779,'Export expense reports','expensereport',1,'export',NULL,'r',0,42,0),(1001,'Lire les stocks','stock',1,'lire',NULL,'r',1,40,0),(1002,'Creer/Modifier les stocks','stock',1,'creer',NULL,'w',0,40,0),(1003,'Supprimer les stocks','stock',1,'supprimer',NULL,'d',0,40,0),(1004,'Lire mouvements de stocks','stock',1,'mouvement','lire','r',1,40,0),(1005,'Creer/modifier mouvements de stocks','stock',1,'mouvement','creer','w',0,40,0),(1101,'Read delivery receipts','expedition',1,'delivery','lire','r',0,40,0),(1102,'Create/modify delivery receipts','expedition',1,'delivery','creer','w',0,40,0),(1104,'Validate delivery receipts','expedition',1,'delivery_advance','validate','d',0,40,0),(1109,'Delete delivery receipts','expedition',1,'delivery','supprimer','d',0,40,0),(1121,'Read supplier proposals','supplier_proposal',1,'lire',NULL,'w',0,35,0),(1122,'Create/modify supplier proposals','supplier_proposal',1,'creer',NULL,'w',0,35,0),(1123,'Validate supplier proposals','supplier_proposal',1,'validate_advance',NULL,'w',0,35,0),(1124,'Envoyer les demandes fournisseurs','supplier_proposal',1,'send_advance',NULL,'w',0,35,0),(1125,'Delete supplier proposals','supplier_proposal',1,'supprimer',NULL,'w',0,35,0),(1126,'Close supplier price requests','supplier_proposal',1,'cloturer',NULL,'w',0,35,0),(1181,'Consulter les fournisseurs','fournisseur',1,'lire',NULL,'r',0,12,0),(1182,'Consulter les commandes fournisseur','fournisseur',1,'commande','lire','r',0,12,0),(1183,'Creer une commande fournisseur','fournisseur',1,'commande','creer','w',0,12,0),(1184,'Valider une commande fournisseur','fournisseur',1,'supplier_order_advance','validate','w',0,12,0),(1185,'Approuver une commande fournisseur','fournisseur',1,'commande','approuver','w',0,12,0),(1186,'Commander une commande fournisseur','fournisseur',1,'commande','commander','w',0,12,0),(1187,'Receptionner une commande fournisseur','fournisseur',1,'commande','receptionner','d',0,12,0),(1188,'Supprimer une commande fournisseur','fournisseur',1,'commande','supprimer','d',0,12,0),(1189,'Check/Uncheck a supplier order reception','fournisseur',1,'commande_advance','check','w',0,12,0),(1191,'Exporter les commande fournisseurs, attributs','fournisseur',1,'commande','export','r',0,12,0),(1201,'Lire les exports','export',1,'lire',NULL,'r',1,72,0),(1202,'Creer/modifier un export','export',1,'creer',NULL,'w',0,72,0),(1231,'Consulter les factures fournisseur','fournisseur',1,'facture','lire','r',0,12,0),(1232,'Creer une facture fournisseur','fournisseur',1,'facture','creer','w',0,12,0),(1233,'Valider une facture fournisseur','fournisseur',1,'supplier_invoice_advance','validate','w',0,12,0),(1234,'Supprimer une facture fournisseur','fournisseur',1,'facture','supprimer','d',0,12,0),(1235,'Envoyer les factures par mail','fournisseur',1,'supplier_invoice_advance','send','a',0,12,0),(1236,'Exporter les factures fournisseurs, attributs et reglements','fournisseur',1,'facture','export','r',0,12,0),(1251,'Run mass imports of external data (data load)','import',1,'run',NULL,'r',0,70,0),(1321,'Export customer invoices, attributes and payments','facture',1,'facture','export','r',0,11,0),(1321,'Exporter les factures clients, attributs et reglements','facture',2,'facture','export','r',0,10,0),(1322,'Re-open a fully paid invoice','facture',1,'invoice_advance','reopen','r',0,11,0),(1421,'Export sales orders and attributes','commande',1,'commande','export','r',0,11,0),(2401,'Read actions/tasks linked to his account','agenda',1,'myactions','read','r',0,15,0),(2401,'Read actions/tasks linked to his account','agenda',2,'myactions','read','r',1,15,0),(2402,'Create/modify actions/tasks linked to his account','agenda',1,'myactions','create','w',0,15,0),(2402,'Create/modify actions/tasks linked to his account','agenda',2,'myactions','create','w',0,15,0),(2403,'Delete actions/tasks linked to his account','agenda',1,'myactions','delete','w',0,15,0),(2403,'Delete actions/tasks linked to his account','agenda',2,'myactions','delete','w',0,15,0),(2411,'Read actions/tasks of others','agenda',1,'allactions','read','r',0,15,0),(2411,'Read actions/tasks of others','agenda',2,'allactions','read','r',0,15,0),(2412,'Create/modify actions/tasks of others','agenda',1,'allactions','create','w',0,15,0),(2412,'Create/modify actions/tasks of others','agenda',2,'allactions','create','w',0,15,0),(2413,'Delete actions/tasks of others','agenda',1,'allactions','delete','w',0,15,0),(2413,'Delete actions/tasks of others','agenda',2,'allactions','delete','w',0,15,0),(2414,'Export actions/tasks of others','agenda',1,'export',NULL,'w',0,15,0),(2501,'Read or download documents','ecm',1,'read',NULL,'r',0,10,0),(2503,'Upload a document','ecm',1,'upload',NULL,'w',0,10,0),(2515,'Administer directories of documents','ecm',1,'setup',NULL,'w',0,10,0),(3200,'Read archived events and fingerprints','blockedlog',1,'read',NULL,'w',0,76,0),(3201,'Read archived events and fingerprints','blockedlog',1,'read',NULL,'w',0,76,0),(10001,'Read website content','website',1,'read',NULL,'w',0,50,0),(10002,'Create/modify website content (html and javascript content)','website',1,'write',NULL,'w',0,50,0),(10003,'Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.','website',1,'writephp',NULL,'w',0,50,0),(10005,'Delete website content','website',1,'delete',NULL,'w',0,50,0),(10008,'Export website content','website',1,'export',NULL,'w',0,50,0),(20001,'Read leave requests (yours and your subordinates)','holiday',1,'read',NULL,'w',0,42,0),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',2,'write',NULL,'w',1,42,0),(20002,'Create/modify leave requests','holiday',1,'write',NULL,'w',0,42,0),(20003,'Delete leave requests','holiday',1,'delete',NULL,'w',0,42,0),(20003,'Supprimer des demandes de congés payés','holiday',2,'delete',NULL,'w',0,42,0),(20004,'Read leave requests for everybody','holiday',1,'readall',NULL,'w',0,42,0),(20004,'Définir les congés payés des utilisateurs','holiday',2,'define_holiday',NULL,'w',0,42,0),(20005,'Create/modify leave requests for everybody','holiday',1,'writeall_advance',NULL,'w',0,42,0),(20005,'Voir les logs de modification des congés payés','holiday',2,'view_log',NULL,'w',0,42,0),(20006,'Setup leave requests of users (setup and update balance)','holiday',1,'define_holiday',NULL,'w',0,42,0),(20006,'Accéder au rapport mensuel des congés payés','holiday',2,'month_report',NULL,'w',0,42,0),(20007,'Approve leave requests','holiday',1,'approve',NULL,'w',0,42,0),(23001,'Read cron jobs','cron',1,'read',NULL,'w',0,50,0),(23002,'Create cron Jobs','cron',1,'create',NULL,'w',0,50,0),(23003,'Delete cron Jobs','cron',1,'delete',NULL,'w',0,50,0),(23004,'Execute cron Jobs','cron',1,'execute',NULL,'w',0,50,0),(50151,'Use Point Of Sale','takepos',1,'run',NULL,'a',0,60,0),(50401,'Bind products and invoices with accounting accounts','accounting',1,'bind','write','r',0,61,0),(50411,'Read operations in General Ledger','accounting',1,'mouvements','lire','r',0,61,0),(50412,'Write/Edit operations in General Ledger','accounting',1,'mouvements','creer','w',0,61,0),(50414,'Delete operations in Ledger','accounting',1,'mouvements','supprimer','d',0,61,0),(50415,'Delete all operations by year and journal in Ledger','accounting',1,'mouvements','supprimer_tous','d',0,61,0),(50418,'Export operations of the Ledger','accounting',1,'mouvements','export','r',0,61,0),(50420,'Report and export reports (turnover, balance, journals, general ledger)','accounting',1,'comptarapport','lire','r',0,61,0),(50430,'Define and close a fiscal year','accounting',1,'fiscalyear','write','r',0,61,0),(50440,'Manage chart of accounts, setup of accountancy','accounting',1,'chartofaccount',NULL,'r',0,61,0),(55001,'Read surveys','opensurvey',1,'read',NULL,'r',0,40,0),(55002,'Create/modify surveys','opensurvey',1,'write',NULL,'w',0,40,0),(56001,'Read ticket','ticket',1,'read',NULL,'r',0,60,0),(56002,'Create les tickets','ticket',1,'write',NULL,'w',0,60,0),(56003,'Delete les tickets','ticket',1,'delete',NULL,'d',0,60,0),(56004,'Manage tickets','ticket',1,'manage',NULL,'w',0,60,0),(59001,'Visualiser les marges','margins',1,'liretous',NULL,'r',0,55,0),(59002,'Définir les marges','margins',1,'creer',NULL,'w',0,55,0),(59003,'Read every user margin','margins',1,'read','all','r',0,55,0),(63001,'Read resources','resource',1,'read',NULL,'w',0,16,0),(63002,'Create/Modify resources','resource',1,'write',NULL,'w',0,16,0),(63003,'Delete resources','resource',1,'delete',NULL,'w',0,16,0),(63004,'Link resources to agenda events','resource',1,'link',NULL,'w',0,16,0),(64001,'DirectPrint','printing',1,'read',NULL,'r',0,52,0),(101250,'Read surveys','opensurvey',2,'survey','read','r',0,40,0),(101251,'Create/modify surveys','opensurvey',2,'survey','write','w',0,40,0),(941601,'Lire les receptions','reception',1,'lire',NULL,'r',0,40,0),(941602,'Creer modifier les receptions','reception',1,'creer',NULL,'w',0,40,0),(941603,'Valider les receptions','reception',1,'reception_advance','validate','d',0,40,0),(941604,'Envoyer les receptions aux clients','reception',1,'reception_advance','send','d',0,40,0),(941605,'Exporter les receptions','reception',1,'reception','export','r',0,40,0),(941606,'Supprimer les receptions','reception',1,'supprimer',NULL,'d',0,40,0); +INSERT INTO `llx_rights_def` VALUES (11,'Read invoices','facture',1,'lire',NULL,'a',0,0,0),(11,'Lire les factures','facture',2,'lire',NULL,'a',1,10,0),(12,'Create and update invoices','facture',1,'creer',NULL,'a',0,0,0),(12,'Creer/modifier les factures','facture',2,'creer',NULL,'a',0,10,0),(13,'Devalidate invoices','facture',1,'invoice_advance','unvalidate','a',0,0,0),(13,'Dévalider les factures','facture',2,'invoice_advance','unvalidate','a',0,10,0),(14,'Validate invoices','facture',1,'invoice_advance','validate','a',0,0,0),(14,'Valider les factures','facture',2,'valider',NULL,'a',0,10,0),(15,'Send invoices by email','facture',1,'invoice_advance','send','a',0,0,0),(15,'Envoyer les factures par mail','facture',2,'invoice_advance','send','a',0,10,0),(16,'Issue payments on invoices','facture',1,'paiement',NULL,'a',0,0,0),(16,'Emettre des paiements sur les factures','facture',2,'paiement',NULL,'a',0,10,0),(19,'Delete invoices','facture',1,'supprimer',NULL,'a',0,0,0),(19,'Supprimer les factures','facture',2,'supprimer',NULL,'a',0,10,0),(21,'Lire les propositions commerciales','propale',1,'lire',NULL,'r',1,22,0),(21,'Lire les propositions commerciales','propale',2,'lire',NULL,'r',1,22,0),(22,'Creer/modifier les propositions commerciales','propale',1,'creer',NULL,'w',0,22,0),(22,'Creer/modifier les propositions commerciales','propale',2,'creer',NULL,'w',0,22,0),(24,'Valider les propositions commerciales','propale',1,'propal_advance','validate','d',0,22,0),(24,'Valider les propositions commerciales','propale',2,'valider',NULL,'d',0,22,0),(25,'Envoyer les propositions commerciales aux clients','propale',1,'propal_advance','send','d',0,22,0),(25,'Envoyer les propositions commerciales aux clients','propale',2,'propal_advance','send','d',0,22,0),(26,'Cloturer les propositions commerciales','propale',1,'propal_advance','close','d',0,22,0),(26,'Cloturer les propositions commerciales','propale',2,'propal_advance','close','d',0,22,0),(27,'Supprimer les propositions commerciales','propale',1,'supprimer',NULL,'d',0,22,0),(27,'Supprimer les propositions commerciales','propale',2,'supprimer',NULL,'d',0,22,0),(28,'Exporter les propositions commerciales et attributs','propale',1,'export',NULL,'r',0,22,0),(28,'Exporter les propositions commerciales et attributs','propale',2,'export',NULL,'r',0,22,0),(31,'Lire les produits','produit',1,'lire',NULL,'r',1,25,0),(31,'Lire les produits','produit',2,'lire',NULL,'r',1,25,0),(32,'Creer/modifier les produits','produit',1,'creer',NULL,'w',0,25,0),(32,'Creer/modifier les produits','produit',2,'creer',NULL,'w',0,25,0),(34,'Supprimer les produits','produit',1,'supprimer',NULL,'d',0,25,0),(34,'Supprimer les produits','produit',2,'supprimer',NULL,'d',0,25,0),(38,'Exporter les produits','produit',1,'export',NULL,'r',0,25,0),(38,'Exporter les produits','produit',2,'export',NULL,'r',0,25,0),(39,'Ignore minimum price','produit',1,'ignore_price_min_advance',NULL,'r',0,25,0),(41,'Read projects and tasks (shared projects or projects I am contact for). Can also enter time consumed on assigned tasks (timesheet)','projet',1,'lire',NULL,'r',1,14,0),(42,'Create/modify projects and tasks (shared projects or projects I am contact for)','projet',1,'creer',NULL,'w',0,14,0),(44,'Delete project and tasks (shared projects or projects I am contact for)','projet',1,'supprimer',NULL,'d',0,14,0),(45,'Export projects','projet',1,'export',NULL,'d',0,14,0),(61,'Lire les fiches d\'intervention','ficheinter',1,'lire',NULL,'r',1,41,0),(62,'Creer/modifier les fiches d\'intervention','ficheinter',1,'creer',NULL,'w',0,41,0),(64,'Supprimer les fiches d\'intervention','ficheinter',1,'supprimer',NULL,'d',0,41,0),(67,'Exporter les fiches interventions','ficheinter',1,'export',NULL,'r',0,41,0),(68,'Envoyer les fiches d\'intervention par courriel','ficheinter',1,'ficheinter_advance','send','r',0,41,0),(69,'Valider les fiches d\'intervention ','ficheinter',1,'ficheinter_advance','validate','a',0,41,0),(70,'Dévalider les fiches d\'intervention','ficheinter',1,'ficheinter_advance','unvalidate','a',0,41,0),(71,'Read members\' card','adherent',1,'lire',NULL,'r',0,55,0),(72,'Create/modify members (need also user module permissions if member linked to a user)','adherent',1,'creer',NULL,'w',0,55,0),(74,'Remove members','adherent',1,'supprimer',NULL,'d',0,55,0),(75,'Setup types of membership','adherent',1,'configurer',NULL,'w',0,55,0),(76,'Export members','adherent',1,'export',NULL,'r',0,55,0),(78,'Read subscriptions','adherent',1,'cotisation','lire','r',0,55,0),(79,'Create/modify/remove subscriptions','adherent',1,'cotisation','creer','w',0,55,0),(81,'Read sales orders','commande',1,'lire',NULL,'r',0,0,0),(82,'Creeat/modify sales orders','commande',1,'creer',NULL,'w',0,0,0),(84,'Validate sales orders','commande',1,'order_advance','validate','d',0,0,0),(86,'Send sale orders by email','commande',1,'order_advance','send','d',0,0,0),(87,'Close sale orders','commande',1,'order_advance','close','d',0,0,0),(88,'Cancel sale orders','commande',1,'order_advance','annuler','d',0,0,0),(89,'Delete sales orders','commande',1,'supprimer',NULL,'d',0,0,0),(91,'Lire les charges','tax',1,'charges','lire','r',0,50,0),(91,'Lire les charges','tax',2,'charges','lire','r',1,50,0),(92,'Creer/modifier les charges','tax',1,'charges','creer','w',0,50,0),(92,'Creer/modifier les charges','tax',2,'charges','creer','w',0,50,0),(93,'Supprimer les charges','tax',1,'charges','supprimer','d',0,50,0),(93,'Supprimer les charges','tax',2,'charges','supprimer','d',0,50,0),(94,'Exporter les charges','tax',1,'charges','export','r',0,50,0),(94,'Exporter les charges','tax',2,'charges','export','r',0,50,0),(101,'Lire les expeditions','expedition',1,'lire',NULL,'r',0,40,0),(102,'Creer modifier les expeditions','expedition',1,'creer',NULL,'w',0,40,0),(104,'Valider les expeditions','expedition',1,'shipping_advance','validate','d',0,40,0),(105,'Envoyer les expeditions aux clients','expedition',1,'shipping_advance','send','d',0,40,0),(106,'Exporter les expeditions','expedition',1,'shipment','export','r',0,40,0),(109,'Supprimer les expeditions','expedition',1,'supprimer',NULL,'d',0,40,0),(111,'Read bank account and transactions','banque',1,'lire',NULL,'r',0,0,0),(111,'Lire les comptes bancaires','banque',2,'lire',NULL,'r',1,51,0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',1,'modifier',NULL,'w',0,0,0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',2,'modifier',NULL,'w',0,51,0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',1,'configurer',NULL,'a',0,0,0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',2,'configurer',NULL,'a',0,51,0),(114,'Rapprocher les ecritures bancaires','banque',1,'consolidate',NULL,'w',0,0,0),(114,'Rapprocher les ecritures bancaires','banque',2,'consolidate',NULL,'w',0,51,0),(115,'Exporter transactions et releves','banque',1,'export',NULL,'r',0,0,0),(115,'Exporter transactions et releves','banque',2,'export',NULL,'r',0,51,0),(116,'Virements entre comptes','banque',1,'transfer',NULL,'w',0,0,0),(116,'Virements entre comptes','banque',2,'transfer',NULL,'w',0,51,0),(117,'Gerer les envois de cheques','banque',1,'cheque',NULL,'w',0,0,0),(117,'Gerer les envois de cheques','banque',2,'cheque',NULL,'w',0,51,0),(121,'Read third parties','societe',1,'lire',NULL,'r',0,0,0),(121,'Lire les societes','societe',2,'lire',NULL,'r',1,9,0),(122,'Create and update third parties','societe',1,'creer',NULL,'w',0,0,0),(122,'Creer modifier les societes','societe',2,'creer',NULL,'w',0,9,0),(125,'Delete third parties','societe',1,'supprimer',NULL,'d',0,0,0),(125,'Supprimer les societes','societe',2,'supprimer',NULL,'d',0,9,0),(126,'Export third parties','societe',1,'export',NULL,'r',0,0,0),(126,'Exporter les societes','societe',2,'export',NULL,'r',0,9,0),(141,'Read all projects and tasks (also private projects I am not contact for)','projet',1,'all','lire','r',0,14,0),(142,'Create/modify all projects and tasks (also private projects I am not contact for)','projet',1,'all','creer','w',0,14,0),(144,'Delete all projects and tasks (also private projects I am not contact for)','projet',1,'all','supprimer','d',0,14,0),(151,'Read withdrawals','prelevement',1,'bons','lire','r',1,52,0),(152,'Create/modify a withdrawals','prelevement',1,'bons','creer','w',0,52,0),(153,'Send withdrawals to bank','prelevement',1,'bons','send','a',0,52,0),(154,'credit/refuse withdrawals','prelevement',1,'bons','credit','a',0,52,0),(161,'Lire les contrats','contrat',1,'lire',NULL,'r',1,35,0),(162,'Creer / modifier les contrats','contrat',1,'creer',NULL,'w',0,35,0),(163,'Activer un service d\'un contrat','contrat',1,'activer',NULL,'w',0,35,0),(164,'Desactiver un service d\'un contrat','contrat',1,'desactiver',NULL,'w',0,35,0),(165,'Supprimer un contrat','contrat',1,'supprimer',NULL,'d',0,35,0),(167,'Export contracts','contrat',1,'export',NULL,'r',0,35,0),(221,'Consulter les mailings','mailing',1,'lire',NULL,'r',1,11,0),(221,'Consulter les mailings','mailing',2,'lire',NULL,'r',1,11,0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',1,'creer',NULL,'w',0,11,0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',2,'creer',NULL,'w',0,11,0),(223,'Valider les mailings (permet leur envoi)','mailing',1,'valider',NULL,'w',0,11,0),(223,'Valider les mailings (permet leur envoi)','mailing',2,'valider',NULL,'w',0,11,0),(229,'Supprimer les mailings','mailing',1,'supprimer',NULL,'d',0,11,0),(229,'Supprimer les mailings','mailing',2,'supprimer',NULL,'d',0,11,0),(237,'View recipients and info','mailing',1,'mailing_advance','recipient','r',0,11,0),(237,'View recipients and info','mailing',2,'mailing_advance','recipient','r',0,11,0),(238,'Manually send mailings','mailing',1,'mailing_advance','send','w',0,11,0),(238,'Manually send mailings','mailing',2,'mailing_advance','send','w',0,11,0),(239,'Delete mailings after validation and/or sent','mailing',1,'mailing_advance','delete','d',0,11,0),(239,'Delete mailings after validation and/or sent','mailing',2,'mailing_advance','delete','d',0,11,0),(241,'Lire les categories','categorie',1,'lire',NULL,'r',1,20,0),(242,'Creer/modifier les categories','categorie',1,'creer',NULL,'w',0,20,0),(243,'Supprimer les categories','categorie',1,'supprimer',NULL,'d',0,20,0),(251,'Consulter les autres utilisateurs','user',1,'user','lire','r',0,0,0),(252,'Consulter les permissions des autres utilisateurs','user',1,'user_advance','readperms','r',0,0,0),(253,'Creer/modifier utilisateurs internes et externes','user',1,'user','creer','w',0,0,0),(254,'Creer/modifier utilisateurs externes seulement','user',1,'user_advance','write','w',0,0,0),(255,'Modifier le mot de passe des autres utilisateurs','user',1,'user','password','w',0,0,0),(256,'Supprimer ou desactiver les autres utilisateurs','user',1,'user','supprimer','d',0,0,0),(262,'Read all third parties (and their objects) by internal users (otherwise only if commercial contact). Not effective for external users (limited to themselves).','societe',1,'client','voir','r',0,0,0),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',2,'client','voir','r',1,9,0),(281,'Read contacts','societe',1,'contact','lire','r',0,0,0),(281,'Lire les contacts','societe',2,'contact','lire','r',1,9,0),(282,'Create and update contact','societe',1,'contact','creer','w',0,0,0),(282,'Creer modifier les contacts','societe',2,'contact','creer','w',0,9,0),(283,'Delete contacts','societe',1,'contact','supprimer','d',0,0,0),(283,'Supprimer les contacts','societe',2,'contact','supprimer','d',0,9,0),(286,'Export contacts','societe',1,'contact','export','d',0,0,0),(286,'Exporter les contacts','societe',2,'contact','export','d',0,9,0),(301,'Read barcodes','barcode',1,'lire_advance',NULL,'r',1,0,0),(302,'Create/modify barcodes','barcode',1,'creer_advance',NULL,'w',0,0,0),(331,'Lire les bookmarks','bookmark',1,'lire',NULL,'r',0,50,0),(332,'Creer/modifier les bookmarks','bookmark',1,'creer',NULL,'r',0,50,0),(333,'Supprimer les bookmarks','bookmark',1,'supprimer',NULL,'r',0,50,0),(341,'Consulter ses propres permissions','user',1,'self_advance','readperms','r',0,0,0),(342,'Creer/modifier ses propres infos utilisateur','user',1,'self','creer','w',0,0,0),(343,'Modifier son propre mot de passe','user',1,'self','password','w',0,0,0),(344,'Modifier ses propres permissions','user',1,'self_advance','writeperms','w',0,0,0),(351,'Consulter les groupes','user',1,'group_advance','read','r',0,0,0),(352,'Consulter les permissions des groupes','user',1,'group_advance','readperms','r',0,0,0),(353,'Creer/modifier les groupes et leurs permissions','user',1,'group_advance','write','w',0,0,0),(354,'Supprimer ou desactiver les groupes','user',1,'group_advance','delete','d',0,0,0),(358,'Exporter les utilisateurs','user',1,'user','export','r',0,0,0),(511,'Read employee salaries and payments (yours and your subordinates)','salaries',1,'read',NULL,'r',0,0,0),(512,'Create/modify payments of empoyee salaries','salaries',1,'write',NULL,'w',0,0,0),(514,'Delete payments of employee salary','salaries',1,'delete',NULL,'d',0,0,0),(517,'Read salaries and payments of all employees','salaries',1,'readall',NULL,'r',0,0,0),(519,'Export payments of employee salaries','salaries',1,'export',NULL,'r',0,0,0),(520,'Read loans','loan',1,'read',NULL,'r',0,50,0),(521,'Read loans','loan',1,'read',NULL,'r',0,50,0),(522,'Create/modify loans','loan',1,'write',NULL,'w',0,50,0),(524,'Delete loans','loan',1,'delete',NULL,'d',0,50,0),(525,'Access loan calculator','loan',1,'calc',NULL,'r',0,50,0),(527,'Export loans','loan',1,'export',NULL,'r',0,50,0),(531,'Read services','service',1,'lire',NULL,'r',0,0,0),(532,'Create/modify services','service',1,'creer',NULL,'w',0,0,0),(534,'Delete les services','service',1,'supprimer',NULL,'d',0,0,0),(538,'Export services','service',1,'export',NULL,'r',0,0,0),(561,'Read bank transfer payment orders','paymentbybanktransfer',1,'read',NULL,'r',0,52,0),(562,'Create/modify a bank transfer payment order','paymentbybanktransfer',1,'create',NULL,'w',0,52,0),(563,'Send/Transmit bank transfer payment order','paymentbybanktransfer',1,'send',NULL,'a',0,52,0),(564,'Record Debits/Rejects of bank transfer payment order','paymentbybanktransfer',1,'debit',NULL,'a',0,52,0),(651,'Read bom of Bom','bom',1,'read',NULL,'w',0,0,0),(652,'Create/Update bom of Bom','bom',1,'write',NULL,'w',0,0,0),(653,'Delete bom of Bom','bom',1,'delete',NULL,'w',0,0,0),(661,'Read Manufacturing Order','mrp',1,'read',NULL,'w',0,0,0),(662,'Create/Update Manufacturing Order','mrp',1,'write',NULL,'w',0,0,0),(663,'Delete Manufacturing Order','mrp',1,'delete',NULL,'w',0,0,0),(701,'Lire les dons','don',1,'lire',NULL,'r',1,50,0),(701,'Lire les dons','don',2,'lire',NULL,'r',1,50,0),(702,'Creer/modifier les dons','don',1,'creer',NULL,'w',0,50,0),(702,'Creer/modifier les dons','don',2,'creer',NULL,'w',0,50,0),(703,'Supprimer les dons','don',1,'supprimer',NULL,'d',0,50,0),(703,'Supprimer les dons','don',2,'supprimer',NULL,'d',0,50,0),(750,'Read job positions to fill and candidatures','recruitment',1,'recruitmentjobposition','read','w',0,0,0),(751,'Create/Update job positions to fill and candidatures','recruitment',1,'recruitmentjobposition','write','w',0,0,0),(752,'Delete Job positions to fill and candidatures','recruitment',1,'recruitmentjobposition','delete','w',0,0,0),(771,'Read expense reports (yours and your subordinates)','expensereport',1,'lire',NULL,'r',0,0,0),(772,'Create/modify expense reports','expensereport',1,'creer',NULL,'w',0,0,0),(773,'Delete expense reports','expensereport',1,'supprimer',NULL,'d',0,0,0),(775,'Approve expense reports','expensereport',1,'approve',NULL,'w',0,0,0),(776,'Pay expense reports','expensereport',1,'to_paid',NULL,'w',0,0,0),(777,'Read expense reports of everybody','expensereport',1,'readall',NULL,'r',0,0,0),(778,'Create expense reports for everybody','expensereport',1,'writeall_advance',NULL,'w',0,0,0),(779,'Export expense reports','expensereport',1,'export',NULL,'r',0,0,0),(1001,'Lire les stocks','stock',1,'lire',NULL,'r',1,40,0),(1002,'Creer/Modifier les stocks','stock',1,'creer',NULL,'w',0,40,0),(1003,'Supprimer les stocks','stock',1,'supprimer',NULL,'d',0,40,0),(1004,'Lire mouvements de stocks','stock',1,'mouvement','lire','r',1,40,0),(1005,'Creer/modifier mouvements de stocks','stock',1,'mouvement','creer','w',0,40,0),(1101,'Read delivery receipts','expedition',1,'delivery','lire','r',0,40,0),(1102,'Create/modify delivery receipts','expedition',1,'delivery','creer','w',0,40,0),(1104,'Validate delivery receipts','expedition',1,'delivery_advance','validate','d',0,40,0),(1109,'Delete delivery receipts','expedition',1,'delivery','supprimer','d',0,40,0),(1121,'Read supplier proposals','supplier_proposal',1,'lire',NULL,'w',0,35,0),(1122,'Create/modify supplier proposals','supplier_proposal',1,'creer',NULL,'w',0,35,0),(1123,'Validate supplier proposals','supplier_proposal',1,'validate_advance',NULL,'w',0,35,0),(1124,'Envoyer les demandes fournisseurs','supplier_proposal',1,'send_advance',NULL,'w',0,35,0),(1125,'Delete supplier proposals','supplier_proposal',1,'supprimer',NULL,'w',0,35,0),(1126,'Close supplier price requests','supplier_proposal',1,'cloturer',NULL,'w',0,35,0),(1181,'Consulter les fournisseurs','fournisseur',1,'lire',NULL,'r',0,0,0),(1182,'Consulter les commandes fournisseur','fournisseur',1,'commande','lire','r',0,0,0),(1183,'Creer une commande fournisseur','fournisseur',1,'commande','creer','w',0,0,0),(1184,'Valider une commande fournisseur','fournisseur',1,'supplier_order_advance','validate','w',0,0,0),(1185,'Approuver une commande fournisseur','fournisseur',1,'commande','approuver','w',0,0,0),(1186,'Commander une commande fournisseur','fournisseur',1,'commande','commander','w',0,0,0),(1187,'Receptionner une commande fournisseur','fournisseur',1,'commande','receptionner','d',0,0,0),(1188,'Supprimer une commande fournisseur','fournisseur',1,'commande','supprimer','d',0,0,0),(1189,'Check/Uncheck a supplier order reception','fournisseur',1,'commande_advance','check','w',0,0,0),(1191,'Exporter les commande fournisseurs, attributs','fournisseur',1,'commande','export','r',0,0,0),(1201,'Lire les exports','export',1,'lire',NULL,'r',1,72,0),(1202,'Creer/modifier un export','export',1,'creer',NULL,'w',0,72,0),(1231,'Consulter les factures fournisseur','fournisseur',1,'facture','lire','r',0,0,0),(1232,'Creer une facture fournisseur','fournisseur',1,'facture','creer','w',0,0,0),(1233,'Valider une facture fournisseur','fournisseur',1,'supplier_invoice_advance','validate','w',0,0,0),(1234,'Supprimer une facture fournisseur','fournisseur',1,'facture','supprimer','d',0,0,0),(1235,'Envoyer les factures par mail','fournisseur',1,'supplier_invoice_advance','send','a',0,0,0),(1236,'Exporter les factures fournisseurs, attributs et reglements','fournisseur',1,'facture','export','r',0,0,0),(1251,'Run mass imports of external data (data load)','import',1,'run',NULL,'r',0,70,0),(1321,'Export customer invoices, attributes and payments','facture',1,'facture','export','r',0,0,0),(1321,'Exporter les factures clients, attributs et reglements','facture',2,'facture','export','r',0,10,0),(1322,'Re-open a fully paid invoice','facture',1,'invoice_advance','reopen','r',0,0,0),(1421,'Export sales orders and attributes','commande',1,'commande','export','r',0,0,0),(2401,'Read actions/tasks linked to his account','agenda',1,'myactions','read','r',0,0,0),(2401,'Read actions/tasks linked to his account','agenda',2,'myactions','read','r',1,15,0),(2402,'Create/modify actions/tasks linked to his account','agenda',1,'myactions','create','w',0,0,0),(2402,'Create/modify actions/tasks linked to his account','agenda',2,'myactions','create','w',0,15,0),(2403,'Delete actions/tasks linked to his account','agenda',1,'myactions','delete','w',0,0,0),(2403,'Delete actions/tasks linked to his account','agenda',2,'myactions','delete','w',0,15,0),(2411,'Read actions/tasks of others','agenda',1,'allactions','read','r',0,0,0),(2411,'Read actions/tasks of others','agenda',2,'allactions','read','r',0,15,0),(2412,'Create/modify actions/tasks of others','agenda',1,'allactions','create','w',0,0,0),(2412,'Create/modify actions/tasks of others','agenda',2,'allactions','create','w',0,15,0),(2413,'Delete actions/tasks of others','agenda',1,'allactions','delete','w',0,0,0),(2413,'Delete actions/tasks of others','agenda',2,'allactions','delete','w',0,15,0),(2414,'Export actions/tasks of others','agenda',1,'export',NULL,'w',0,0,0),(2501,'Read or download documents','ecm',1,'read',NULL,'r',0,0,0),(2503,'Upload a document','ecm',1,'upload',NULL,'w',0,0,0),(2515,'Administer directories of documents','ecm',1,'setup',NULL,'w',0,0,0),(3200,'Read archived events and fingerprints','blockedlog',1,'read',NULL,'w',0,76,0),(3201,'Read archived events and fingerprints','blockedlog',1,'read',NULL,'w',0,76,0),(10001,'Read website content','website',1,'read',NULL,'w',0,0,0),(10002,'Create/modify website content (html and javascript content)','website',1,'write',NULL,'w',0,0,0),(10003,'Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers.','website',1,'writephp',NULL,'w',0,0,0),(10005,'Delete website content','website',1,'delete',NULL,'w',0,0,0),(10008,'Export website content','website',1,'export',NULL,'w',0,0,0),(20001,'Read leave requests (yours and your subordinates)','holiday',1,'read',NULL,'w',0,0,0),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',2,'write',NULL,'w',1,42,0),(20002,'Create/modify leave requests','holiday',1,'write',NULL,'w',0,0,0),(20003,'Delete leave requests','holiday',1,'delete',NULL,'w',0,0,0),(20003,'Supprimer des demandes de congés payés','holiday',2,'delete',NULL,'w',0,42,0),(20004,'Read leave requests for everybody','holiday',1,'readall',NULL,'w',0,0,0),(20004,'Définir les congés payés des utilisateurs','holiday',2,'define_holiday',NULL,'w',0,42,0),(20005,'Create/modify leave requests for everybody','holiday',1,'writeall_advance',NULL,'w',0,0,0),(20005,'Voir les logs de modification des congés payés','holiday',2,'view_log',NULL,'w',0,42,0),(20006,'Setup leave requests of users (setup and update balance)','holiday',1,'define_holiday',NULL,'w',0,0,0),(20006,'Accéder au rapport mensuel des congés payés','holiday',2,'month_report',NULL,'w',0,42,0),(20007,'Approve leave requests','holiday',1,'approve',NULL,'w',0,0,0),(23001,'Read cron jobs','cron',1,'read',NULL,'w',0,0,0),(23002,'Create cron Jobs','cron',1,'create',NULL,'w',0,0,0),(23003,'Delete cron Jobs','cron',1,'delete',NULL,'w',0,0,0),(23004,'Execute cron Jobs','cron',1,'execute',NULL,'w',0,0,0),(50151,'Use Point Of Sale (record a sale, add products, record payment)','takepos',1,'run',NULL,'a',0,0,0),(50152,'Can modify added sales lines (prices, discount)','takepos',1,'editlines',NULL,'a',0,0,0),(50153,'Edit ordered sales lines (useful only when option \"Order printers\" has been enabled). Allow to edit sales lines even after the order has been printed','takepos',1,'editorderedlines',NULL,'a',0,0,0),(50401,'Bind products and invoices with accounting accounts','accounting',1,'bind','write','r',0,61,0),(50411,'Read operations in General Ledger','accounting',1,'mouvements','lire','r',0,61,0),(50412,'Write/Edit operations in General Ledger','accounting',1,'mouvements','creer','w',0,61,0),(50414,'Delete operations in Ledger','accounting',1,'mouvements','supprimer','d',0,61,0),(50415,'Delete all operations by year and journal in Ledger','accounting',1,'mouvements','supprimer_tous','d',0,61,0),(50418,'Export operations of the Ledger','accounting',1,'mouvements','export','r',0,61,0),(50420,'Report and export reports (turnover, balance, journals, general ledger)','accounting',1,'comptarapport','lire','r',0,61,0),(50430,'Define and close a fiscal year','accounting',1,'fiscalyear','write','r',0,61,0),(50440,'Manage chart of accounts, setup of accountancy','accounting',1,'chartofaccount',NULL,'r',0,61,0),(55001,'Read surveys','opensurvey',1,'read',NULL,'r',0,0,0),(55002,'Create/modify surveys','opensurvey',1,'write',NULL,'w',0,0,0),(56001,'Read ticket','ticket',1,'read',NULL,'r',0,0,0),(56002,'Create les tickets','ticket',1,'write',NULL,'w',0,0,0),(56003,'Delete les tickets','ticket',1,'delete',NULL,'d',0,0,0),(56004,'Manage tickets','ticket',1,'manage',NULL,'w',0,0,0),(59001,'Visualiser les marges','margins',1,'liretous',NULL,'r',0,55,0),(59002,'Définir les marges','margins',1,'creer',NULL,'w',0,55,0),(59003,'Read every user margin','margins',1,'read','all','r',0,55,0),(63001,'Read resources','resource',1,'read',NULL,'w',0,16,0),(63002,'Create/Modify resources','resource',1,'write',NULL,'w',0,16,0),(63003,'Delete resources','resource',1,'delete',NULL,'w',0,16,0),(63004,'Link resources to agenda events','resource',1,'link',NULL,'w',0,16,0),(64001,'DirectPrint','printing',1,'read',NULL,'r',0,52,0),(101250,'Read surveys','opensurvey',2,'survey','read','r',0,40,0),(101251,'Create/modify surveys','opensurvey',2,'survey','write','w',0,40,0),(941601,'Lire les receptions','reception',1,'lire',NULL,'r',0,40,0),(941602,'Creer modifier les receptions','reception',1,'creer',NULL,'w',0,40,0),(941603,'Valider les receptions','reception',1,'reception_advance','validate','d',0,40,0),(941604,'Envoyer les receptions aux clients','reception',1,'reception_advance','send','d',0,40,0),(941605,'Exporter les receptions','reception',1,'reception','export','r',0,40,0),(941606,'Supprimer les receptions','reception',1,'supprimer',NULL,'d',0,40,0); /*!40000 ALTER TABLE `llx_rights_def` ENABLE KEYS */; UNLOCK TABLES; @@ -12062,14 +11045,14 @@ DROP TABLE IF EXISTS `llx_session`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `llx_session` ( - `session_id` varchar(50) NOT NULL, - `session_variable` text DEFAULT NULL, + `session_id` varchar(50) CHARACTER SET utf8mb4 NOT NULL, + `session_variable` text CHARACTER SET utf8mb4 DEFAULT NULL, `last_accessed` datetime NOT NULL, `fk_user` int(11) NOT NULL, - `remote_ip` varchar(64) DEFAULT NULL, - `user_agent` varchar(128) DEFAULT NULL, + `remote_ip` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL, + `user_agent` varchar(128) CHARACTER SET utf8mb4 DEFAULT NULL, PRIMARY KEY (`session_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12387,34 +11370,6 @@ INSERT INTO `llx_societe_extrafields` VALUES (75,'2018-01-22 16:40:03',10,NULL,N /*!40000 ALTER TABLE `llx_societe_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_societe_log` --- - -DROP TABLE IF EXISTS `llx_societe_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_societe_log` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datel` datetime DEFAULT NULL, - `fk_soc` int(11) DEFAULT NULL, - `fk_statut` int(11) DEFAULT NULL, - `fk_user` int(11) DEFAULT NULL, - `author` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `label` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_societe_log` --- - -LOCK TABLES `llx_societe_log` WRITE; -/*!40000 ALTER TABLE `llx_societe_log` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_societe_log` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_societe_perentity` -- @@ -12749,38 +11704,6 @@ LOCK TABLES `llx_socpeople_extrafields` WRITE; /*!40000 ALTER TABLE `llx_socpeople_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_stock_lotserial` --- - -DROP TABLE IF EXISTS `llx_stock_lotserial`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_stock_lotserial` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) DEFAULT NULL, - `fk_product` int(11) NOT NULL, - `batch` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `eatby` date DEFAULT NULL, - `sellby` date DEFAULT NULL, - `datec` datetime DEFAULT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) DEFAULT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_stock_lotserial` --- - -LOCK TABLES `llx_stock_lotserial` WRITE; -/*!40000 ALTER TABLE `llx_stock_lotserial` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_stock_lotserial` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_stock_mouvement` -- @@ -13493,7 +12416,7 @@ CREATE TABLE `llx_user_rights` ( UNIQUE KEY `uk_user_rights` (`entity`,`fk_user`,`fk_id`), KEY `fk_user_rights_fk_user_user` (`fk_user`), CONSTRAINT `fk_user_rights_fk_user_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=20342 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=20602 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -13502,38 +12425,10 @@ CREATE TABLE `llx_user_rights` ( LOCK TABLES `llx_user_rights` WRITE; /*!40000 ALTER TABLE `llx_user_rights` DISABLE KEYS */; -INSERT INTO `llx_user_rights` VALUES (12402,1,1,11),(12380,1,1,12),(12385,1,1,13),(12389,1,1,14),(12393,1,1,15),(12398,1,1,16),(12404,1,1,19),(9726,1,1,21),(9700,1,1,22),(9706,1,1,24),(9711,1,1,25),(9716,1,1,26),(9722,1,1,27),(9728,1,1,28),(9978,1,1,31),(9968,1,1,32),(9974,1,1,34),(1910,1,1,36),(9980,1,1,38),(11573,1,1,41),(11574,1,1,42),(11575,1,1,44),(11576,1,1,45),(7184,1,1,61),(7181,1,1,62),(7183,1,1,64),(7185,1,1,67),(7186,1,1,68),(1678,1,1,71),(1673,1,1,72),(1675,1,1,74),(1679,1,1,75),(1677,1,1,76),(1681,1,1,78),(1682,1,1,79),(12322,1,1,81),(12309,1,1,82),(12312,1,1,84),(12314,1,1,86),(12317,1,1,87),(12320,1,1,88),(12323,1,1,89),(11580,1,1,91),(11581,1,1,92),(11582,1,1,93),(11583,1,1,94),(10097,1,1,95),(10099,1,1,96),(10103,1,1,97),(10104,1,1,98),(7139,1,1,101),(7134,1,1,102),(7136,1,1,104),(7137,1,1,105),(7138,1,1,106),(7140,1,1,109),(10229,1,1,111),(10201,1,1,112),(10207,1,1,113),(10213,1,1,114),(10219,1,1,115),(10225,1,1,116),(10231,1,1,117),(12518,1,1,121),(12508,1,1,122),(12514,1,1,125),(12520,1,1,126),(11577,1,1,141),(11578,1,1,142),(11579,1,1,144),(2307,1,1,151),(2304,1,1,152),(2306,1,1,153),(2308,1,1,154),(10092,1,1,161),(10093,1,1,162),(10094,1,1,163),(10095,1,1,164),(10096,1,1,165),(1585,1,1,170),(12342,1,1,171),(12331,1,1,172),(12335,1,1,173),(12339,1,1,174),(12343,1,1,178),(10000,1,1,221),(9990,1,1,222),(9996,1,1,223),(10002,1,1,229),(10007,1,1,237),(10011,1,1,238),(10015,1,1,239),(1686,1,1,241),(1685,1,1,242),(1687,1,1,243),(12604,1,1,251),(12566,1,1,252),(12569,1,1,253),(12572,1,1,254),(12575,1,1,255),(12579,1,1,256),(1617,1,1,258),(12525,1,1,262),(12544,1,1,281),(12534,1,1,282),(12540,1,1,283),(12546,1,1,286),(12288,1,1,300),(12290,1,1,301),(11591,1,1,302),(1763,1,1,331),(1762,1,1,332),(1764,1,1,333),(12582,1,1,341),(12584,1,1,342),(12586,1,1,343),(12588,1,1,344),(12600,1,1,351),(12593,1,1,352),(12597,1,1,353),(12601,1,1,354),(12605,1,1,358),(12560,1,1,531),(12553,1,1,532),(12557,1,1,534),(1625,1,1,536),(12561,1,1,538),(12358,1,1,700),(12348,1,1,701),(12354,1,1,702),(12360,1,1,703),(1755,1,1,1001),(1754,1,1,1002),(1756,1,1,1003),(1758,1,1,1004),(1759,1,1,1005),(7146,1,1,1101),(7143,1,1,1102),(7145,1,1,1104),(7147,1,1,1109),(12412,1,1,1181),(12458,1,1,1182),(12417,1,1,1183),(12420,1,1,1184),(12423,1,1,1185),(12427,1,1,1186),(12431,1,1,1187),(12437,1,1,1188),(12434,1,1,1189),(1578,1,1,1201),(1579,1,1,1202),(12454,1,1,1231),(12443,1,1,1232),(12446,1,1,1233),(12449,1,1,1234),(12452,1,1,1235),(12455,1,1,1236),(12459,1,1,1237),(1736,1,1,1251),(12409,1,1,1321),(12326,1,1,1421),(8190,1,1,1791),(8187,1,1,1792),(8191,1,1,1793),(12264,1,1,2401),(12260,1,1,2402),(12266,1,1,2403),(12280,1,1,2411),(12276,1,1,2412),(12282,1,1,2413),(12286,1,1,2414),(1618,1,1,2500),(12370,1,1,2501),(12367,1,1,2503),(12371,1,1,2515),(9610,1,1,5001),(9611,1,1,5002),(12490,1,1,20001),(12474,1,1,20003),(12480,1,1,20004),(12486,1,1,20005),(12492,1,1,20006),(12302,1,1,23001),(12295,1,1,23002),(12299,1,1,23003),(12303,1,1,23004),(7701,1,1,50101),(4984,1,1,50401),(4983,1,1,50402),(4985,1,1,50403),(4987,1,1,50411),(4988,1,1,50412),(4989,1,1,50415),(12498,1,1,55001),(12499,1,1,55002),(3564,1,1,100700),(3565,1,1,100701),(9596,1,1,101051),(9598,1,1,101052),(9600,1,1,101053),(9604,1,1,101060),(9605,1,1,101061),(7177,1,1,101201),(7178,1,1,101202),(10353,1,1,101250),(10355,1,1,101251),(8980,1,1,101261),(8981,1,1,101262),(7616,1,1,101331),(10030,1,1,101701),(10031,1,1,101702),(3582,1,1,102000),(3583,1,1,102001),(9819,1,1,400051),(9823,1,1,400052),(9827,1,1,400053),(9831,1,1,400055),(132,1,2,11),(133,1,2,12),(134,1,2,13),(135,1,2,14),(136,1,2,16),(137,1,2,19),(138,1,2,21),(139,1,2,22),(140,1,2,24),(141,1,2,25),(142,1,2,26),(143,1,2,27),(10359,1,2,31),(145,1,2,32),(10361,1,2,34),(146,1,2,36),(147,1,2,41),(148,1,2,42),(149,1,2,44),(150,1,2,61),(151,1,2,62),(152,1,2,64),(153,1,2,71),(154,1,2,72),(155,1,2,74),(156,1,2,75),(157,1,2,78),(158,1,2,79),(159,1,2,81),(160,1,2,82),(161,1,2,84),(162,1,2,86),(163,1,2,87),(164,1,2,88),(165,1,2,89),(166,1,2,91),(167,1,2,92),(168,1,2,93),(2475,1,2,95),(2476,1,2,96),(2477,1,2,97),(2478,1,2,98),(169,1,2,101),(170,1,2,102),(171,1,2,104),(172,1,2,109),(173,1,2,111),(174,1,2,112),(175,1,2,113),(176,1,2,114),(177,1,2,116),(178,1,2,117),(179,1,2,121),(180,1,2,122),(181,1,2,125),(182,1,2,141),(183,1,2,142),(184,1,2,144),(2479,1,2,151),(2480,1,2,152),(2481,1,2,153),(2482,1,2,154),(185,1,2,161),(186,1,2,162),(187,1,2,163),(188,1,2,164),(189,1,2,165),(190,1,2,170),(2471,1,2,171),(192,1,2,172),(2472,1,2,173),(193,1,2,221),(194,1,2,222),(195,1,2,229),(196,1,2,241),(197,1,2,242),(198,1,2,243),(199,1,2,251),(201,1,2,262),(202,1,2,281),(203,1,2,282),(204,1,2,283),(205,1,2,331),(15072,1,2,510),(2483,1,2,531),(207,1,2,532),(2484,1,2,534),(208,1,2,536),(2473,1,2,700),(210,1,2,701),(211,1,2,702),(2474,1,2,703),(15064,1,2,771),(15057,1,2,772),(15059,1,2,773),(15061,1,2,774),(15063,1,2,775),(15065,1,2,776),(212,1,2,1001),(213,1,2,1002),(214,1,2,1003),(215,1,2,1004),(216,1,2,1005),(217,1,2,1101),(218,1,2,1102),(219,1,2,1104),(220,1,2,1109),(15073,1,2,1121),(15074,1,2,1122),(15075,1,2,1123),(15076,1,2,1124),(15077,1,2,1125),(15078,1,2,1126),(221,1,2,1181),(222,1,2,1182),(223,1,2,1183),(224,1,2,1184),(225,1,2,1185),(226,1,2,1186),(227,1,2,1187),(228,1,2,1188),(229,1,2,1201),(230,1,2,1202),(231,1,2,1231),(232,1,2,1232),(233,1,2,1233),(234,1,2,1234),(235,1,2,1421),(236,1,2,2401),(237,1,2,2402),(238,1,2,2403),(239,1,2,2411),(240,1,2,2412),(241,1,2,2413),(242,1,2,2500),(2470,1,2,2501),(243,1,2,2515),(10363,1,2,20001),(10365,1,2,20003),(10366,1,2,20004),(10367,1,2,20005),(10368,1,2,20006),(15054,1,2,23001),(10362,1,2,50101),(15067,1,2,55001),(15066,1,2,59001),(15068,1,2,63001),(15069,1,2,63002),(15070,1,2,63003),(15071,1,2,63004),(10372,1,2,101250),(1807,1,3,11),(1808,1,3,31),(1809,1,3,36),(1810,1,3,41),(1811,1,3,61),(1812,1,3,71),(1813,1,3,72),(1814,1,3,74),(1815,1,3,75),(1816,1,3,78),(1817,1,3,79),(1818,1,3,91),(1819,1,3,95),(1820,1,3,97),(1821,1,3,111),(1822,1,3,121),(1823,1,3,122),(1824,1,3,125),(1825,1,3,161),(1826,1,3,170),(1827,1,3,171),(1828,1,3,172),(1829,1,3,221),(1830,1,3,222),(1831,1,3,229),(1832,1,3,241),(1833,1,3,242),(1834,1,3,243),(1835,1,3,251),(1836,1,3,255),(1837,1,3,256),(1838,1,3,262),(1839,1,3,281),(1840,1,3,282),(1841,1,3,283),(1842,1,3,331),(1843,1,3,531),(1844,1,3,536),(1845,1,3,700),(1846,1,3,1001),(1847,1,3,1002),(1848,1,3,1003),(1849,1,3,1004),(1850,1,3,1005),(1851,1,3,1181),(1852,1,3,1182),(1853,1,3,1201),(1854,1,3,1202),(1855,1,3,1231),(1856,1,3,2401),(1857,1,3,2402),(1858,1,3,2403),(1859,1,3,2411),(1860,1,3,2412),(1861,1,3,2413),(1862,1,3,2500),(1863,1,3,2515),(8026,1,4,11),(8027,1,4,21),(8028,1,4,31),(8029,1,4,41),(8030,1,4,61),(8031,1,4,71),(8032,1,4,72),(8033,1,4,74),(8034,1,4,75),(8035,1,4,78),(8036,1,4,79),(8037,1,4,81),(8038,1,4,91),(8039,1,4,95),(8040,1,4,97),(8041,1,4,101),(8042,1,4,111),(8043,1,4,121),(8044,1,4,151),(8045,1,4,161),(8046,1,4,171),(8047,1,4,221),(8048,1,4,222),(8049,1,4,229),(8050,1,4,241),(8051,1,4,242),(8052,1,4,243),(8146,1,4,251),(8147,1,4,253),(8053,1,4,262),(8054,1,4,281),(8055,1,4,331),(8056,1,4,341),(8057,1,4,342),(8058,1,4,343),(8059,1,4,344),(8060,1,4,531),(8061,1,4,700),(8062,1,4,1001),(8063,1,4,1002),(8064,1,4,1003),(8065,1,4,1004),(8066,1,4,1005),(8067,1,4,1101),(8068,1,4,1181),(8069,1,4,1182),(8070,1,4,1201),(8071,1,4,1202),(8072,1,4,1231),(8073,1,4,2401),(8074,1,4,2501),(8075,1,4,2503),(8076,1,4,2515),(8077,1,4,20001),(8078,1,4,50101),(8079,1,4,101201),(8080,1,4,101261),(8081,1,4,102000),(8082,1,4,400051),(8083,1,4,400052),(8084,1,4,400053),(8085,1,4,400055),(12608,1,10,11),(12609,1,10,21),(12610,1,10,31),(12611,1,10,41),(12612,1,10,61),(12613,1,10,71),(12614,1,10,72),(12615,1,10,74),(12616,1,10,75),(12617,1,10,78),(12618,1,10,79),(12619,1,10,81),(12620,1,10,91),(12621,1,10,95),(12622,1,10,97),(12623,1,10,101),(12624,1,10,111),(12625,1,10,121),(12626,1,10,151),(12627,1,10,161),(12628,1,10,171),(12629,1,10,221),(12630,1,10,222),(12631,1,10,229),(12632,1,10,241),(12633,1,10,242),(12634,1,10,243),(12635,1,10,262),(12636,1,10,281),(12637,1,10,300),(12638,1,10,331),(12639,1,10,341),(12640,1,10,342),(12641,1,10,343),(12642,1,10,344),(12643,1,10,531),(12644,1,10,700),(12645,1,10,1001),(12646,1,10,1002),(12647,1,10,1003),(12648,1,10,1004),(12649,1,10,1005),(12650,1,10,1101),(12651,1,10,1181),(12652,1,10,1182),(12653,1,10,1201),(12654,1,10,1202),(12655,1,10,1231),(12656,1,10,2401),(12657,1,10,2501),(12658,1,10,2503),(12659,1,10,2515),(12660,1,10,20001),(12662,1,10,23001),(12663,1,10,50101),(12664,1,11,11),(12665,1,11,21),(12666,1,11,31),(12667,1,11,41),(12668,1,11,61),(12669,1,11,71),(12670,1,11,72),(12671,1,11,74),(12672,1,11,75),(12673,1,11,78),(12674,1,11,79),(12675,1,11,81),(12676,1,11,91),(12677,1,11,95),(12678,1,11,97),(12679,1,11,101),(12680,1,11,111),(12681,1,11,121),(12682,1,11,151),(12683,1,11,161),(12684,1,11,171),(12685,1,11,221),(12686,1,11,222),(12687,1,11,229),(12688,1,11,241),(12689,1,11,242),(12690,1,11,243),(12691,1,11,262),(12692,1,11,281),(12693,1,11,300),(12694,1,11,331),(12695,1,11,341),(12696,1,11,342),(12697,1,11,343),(12698,1,11,344),(12699,1,11,531),(12700,1,11,700),(12701,1,11,1001),(12702,1,11,1002),(12703,1,11,1003),(12704,1,11,1004),(12705,1,11,1005),(12706,1,11,1101),(12707,1,11,1181),(12708,1,11,1182),(12709,1,11,1201),(12710,1,11,1202),(12711,1,11,1231),(12712,1,11,2401),(12713,1,11,2501),(12714,1,11,2503),(12715,1,11,2515),(12716,1,11,20001),(12718,1,11,23001),(12719,1,11,50101),(20197,1,12,11),(20189,1,12,12),(20190,1,12,13),(20191,1,12,14),(20192,1,12,15),(20195,1,12,16),(20198,1,12,19),(14146,1,12,21),(14135,1,12,22),(14137,1,12,24),(14139,1,12,25),(14142,1,12,26),(14145,1,12,27),(14148,1,12,28),(14930,1,12,31),(14926,1,12,32),(14929,1,12,34),(14932,1,12,38),(13816,1,12,41),(13813,1,12,42),(13815,1,12,44),(13817,1,12,45),(14094,1,12,61),(14091,1,12,62),(14093,1,12,64),(14095,1,12,67),(14096,1,12,68),(16203,1,12,71),(16198,1,12,72),(16200,1,12,74),(16204,1,12,75),(16202,1,12,76),(16206,1,12,78),(16207,1,12,79),(20154,1,12,81),(20149,1,12,82),(20150,1,12,84),(20151,1,12,86),(20152,1,12,87),(20153,1,12,88),(20155,1,12,89),(15401,1,12,91),(15397,1,12,92),(15400,1,12,93),(15403,1,12,94),(13990,1,12,95),(12734,1,12,97),(19241,1,12,101),(19237,1,12,102),(19238,1,12,104),(19239,1,12,105),(19240,1,12,106),(19242,1,12,109),(20136,1,12,111),(20122,1,12,112),(20125,1,12,113),(20128,1,12,114),(20131,1,12,115),(20134,1,12,116),(20137,1,12,117),(20288,1,12,121),(20283,1,12,122),(20286,1,12,125),(20289,1,12,126),(13821,1,12,141),(13820,1,12,142),(13822,1,12,144),(13912,1,12,151),(13909,1,12,152),(13911,1,12,153),(13913,1,12,154),(14063,1,12,161),(14056,1,12,162),(14058,1,12,163),(14060,1,12,164),(14062,1,12,165),(14064,1,12,167),(13350,1,12,171),(13345,1,12,172),(13347,1,12,173),(13349,1,12,174),(13351,1,12,178),(13838,1,12,221),(13834,1,12,222),(13837,1,12,223),(13840,1,12,229),(13842,1,12,237),(13844,1,12,238),(13846,1,12,239),(13516,1,12,241),(13515,1,12,242),(13517,1,12,243),(20330,1,12,251),(20311,1,12,252),(20313,1,12,253),(20314,1,12,254),(20316,1,12,255),(20318,1,12,256),(20290,1,12,262),(20300,1,12,281),(20295,1,12,282),(20298,1,12,283),(20301,1,12,286),(19877,1,12,300),(20138,1,12,301),(20139,1,12,302),(16194,1,12,331),(16193,1,12,332),(16195,1,12,333),(20319,1,12,341),(20320,1,12,342),(20321,1,12,343),(20322,1,12,344),(20328,1,12,351),(20325,1,12,352),(20327,1,12,353),(20329,1,12,354),(20331,1,12,358),(19249,1,12,430),(16384,1,12,501),(16378,1,12,502),(13865,1,12,510),(20270,1,12,511),(20265,1,12,512),(20267,1,12,514),(20269,1,12,517),(20271,1,12,519),(15291,1,12,520),(15286,1,12,522),(15288,1,12,524),(15290,1,12,525),(15292,1,12,527),(20277,1,12,531),(20274,1,12,532),(20276,1,12,534),(20278,1,12,538),(20076,1,12,561),(20073,1,12,562),(20075,1,12,563),(20077,1,12,564),(16932,1,12,650),(20116,1,12,651),(20115,1,12,652),(20117,1,12,653),(17124,1,12,660),(20245,1,12,661),(20244,1,12,662),(20246,1,12,663),(13358,1,12,700),(20163,1,12,701),(20161,1,12,702),(20164,1,12,703),(20254,1,12,750),(20253,1,12,751),(20255,1,12,752),(20183,1,12,771),(20172,1,12,772),(20174,1,12,773),(15085,1,12,774),(20176,1,12,775),(20178,1,12,776),(20180,1,12,777),(20182,1,12,778),(20184,1,12,779),(14917,1,12,1001),(14916,1,12,1002),(14918,1,12,1003),(14920,1,12,1004),(14921,1,12,1005),(19247,1,12,1101),(19245,1,12,1102),(19246,1,12,1104),(19248,1,12,1109),(19233,1,12,1121),(19226,1,12,1122),(19228,1,12,1123),(19230,1,12,1124),(19232,1,12,1125),(19234,1,12,1126),(20201,1,12,1181),(20215,1,12,1182),(20204,1,12,1183),(20205,1,12,1184),(20207,1,12,1185),(20209,1,12,1186),(20211,1,12,1187),(20214,1,12,1188),(20212,1,12,1189),(20216,1,12,1191),(13827,1,12,1201),(13828,1,12,1202),(20224,1,12,1231),(20219,1,12,1232),(20220,1,12,1233),(20222,1,12,1234),(20223,1,12,1235),(20225,1,12,1236),(16302,1,12,1237),(13829,1,12,1251),(20199,1,12,1321),(20200,1,12,1322),(20156,1,12,1421),(20102,1,12,2401),(20100,1,12,2402),(20103,1,12,2403),(20110,1,12,2411),(20108,1,12,2412),(20111,1,12,2413),(20112,1,12,2414),(20168,1,12,2501),(20167,1,12,2503),(20169,1,12,2515),(20082,1,12,3200),(20341,1,12,3301),(15435,1,12,5001),(15436,1,12,5002),(20339,1,12,10001),(20334,1,12,10002),(20336,1,12,10003),(20338,1,12,10005),(20340,1,12,10008),(20237,1,12,20001),(20228,1,12,20002),(20230,1,12,20003),(20234,1,12,20004),(20236,1,12,20005),(20238,1,12,20006),(20232,1,12,20007),(20145,1,12,23001),(20142,1,12,23002),(20144,1,12,23003),(20146,1,12,23004),(19019,1,12,50101),(20309,1,12,50151),(20084,1,12,50401),(20092,1,12,50411),(20087,1,12,50412),(20089,1,12,50414),(20091,1,12,50415),(20093,1,12,50418),(20094,1,12,50420),(20095,1,12,50430),(20083,1,12,50440),(20248,1,12,55001),(20249,1,12,55002),(20307,1,12,56001),(20304,1,12,56002),(20306,1,12,56003),(20308,1,12,56004),(16742,1,12,56005),(20239,1,12,59001),(20240,1,12,59002),(20241,1,12,59003),(20261,1,12,63001),(20258,1,12,63002),(20260,1,12,63003),(20262,1,12,63004),(20250,1,12,64001),(17328,1,12,101130),(17327,1,12,101131),(17329,1,12,101132),(16009,1,12,101331),(16010,1,12,101332),(16011,1,12,101333),(19208,1,12,101701),(19209,1,12,101702),(20069,1,12,941601),(20065,1,12,941602),(20066,1,12,941603),(20067,1,12,941604),(20068,1,12,941605),(20070,1,12,941606),(12776,1,13,11),(12777,1,13,21),(12778,1,13,31),(12779,1,13,41),(12780,1,13,61),(12781,1,13,71),(12782,1,13,72),(12783,1,13,74),(12784,1,13,75),(12785,1,13,78),(12786,1,13,79),(12787,1,13,81),(12788,1,13,91),(12789,1,13,95),(12790,1,13,97),(12791,1,13,101),(12792,1,13,111),(12793,1,13,121),(12794,1,13,151),(12795,1,13,161),(12796,1,13,171),(12797,1,13,221),(12798,1,13,222),(12799,1,13,229),(12800,1,13,241),(12801,1,13,242),(12802,1,13,243),(12803,1,13,262),(12804,1,13,281),(12805,1,13,300),(12806,1,13,331),(12807,1,13,341),(12808,1,13,342),(12809,1,13,343),(12810,1,13,344),(12811,1,13,531),(12812,1,13,700),(12813,1,13,1001),(12814,1,13,1002),(12815,1,13,1003),(12816,1,13,1004),(12817,1,13,1005),(12818,1,13,1101),(12819,1,13,1181),(12820,1,13,1182),(12821,1,13,1201),(12822,1,13,1202),(12823,1,13,1231),(12824,1,13,2401),(12825,1,13,2501),(12826,1,13,2503),(12827,1,13,2515),(12828,1,13,20001),(12830,1,13,23001),(12831,1,13,50101),(12832,1,14,11),(12833,1,14,21),(12834,1,14,31),(12835,1,14,41),(12836,1,14,61),(12837,1,14,71),(12838,1,14,72),(12839,1,14,74),(12840,1,14,75),(12841,1,14,78),(12842,1,14,79),(12843,1,14,81),(12844,1,14,91),(12845,1,14,95),(12846,1,14,97),(12847,1,14,101),(12848,1,14,111),(12849,1,14,121),(12850,1,14,151),(12851,1,14,161),(12852,1,14,171),(12853,1,14,221),(12854,1,14,222),(12855,1,14,229),(12856,1,14,241),(12857,1,14,242),(12858,1,14,243),(12859,1,14,262),(12860,1,14,281),(12861,1,14,300),(12862,1,14,331),(12863,1,14,341),(12864,1,14,342),(12865,1,14,343),(12866,1,14,344),(12867,1,14,531),(12868,1,14,700),(12869,1,14,1001),(12870,1,14,1002),(12871,1,14,1003),(12872,1,14,1004),(12873,1,14,1005),(12874,1,14,1101),(12875,1,14,1181),(12876,1,14,1182),(12877,1,14,1201),(12878,1,14,1202),(12879,1,14,1231),(12880,1,14,2401),(12881,1,14,2501),(12882,1,14,2503),(12883,1,14,2515),(12884,1,14,20001),(12886,1,14,23001),(12887,1,14,50101),(12944,1,16,11),(12945,1,16,21),(12946,1,16,31),(13056,1,16,41),(13057,1,16,42),(13058,1,16,44),(13059,1,16,45),(12948,1,16,61),(12949,1,16,71),(12950,1,16,72),(12951,1,16,74),(12952,1,16,75),(12953,1,16,78),(12954,1,16,79),(12955,1,16,81),(12956,1,16,91),(12957,1,16,95),(12958,1,16,97),(12959,1,16,101),(12960,1,16,111),(12961,1,16,121),(13060,1,16,141),(13061,1,16,142),(13062,1,16,144),(12962,1,16,151),(12963,1,16,161),(12964,1,16,171),(12965,1,16,221),(12966,1,16,222),(12967,1,16,229),(12968,1,16,241),(12969,1,16,242),(12970,1,16,243),(13128,1,16,251),(13064,1,16,262),(12972,1,16,281),(12973,1,16,300),(12974,1,16,331),(12975,1,16,341),(12976,1,16,342),(12977,1,16,343),(12978,1,16,344),(12979,1,16,531),(12980,1,16,700),(12981,1,16,1001),(12982,1,16,1002),(12983,1,16,1003),(12984,1,16,1004),(12985,1,16,1005),(12986,1,16,1101),(12987,1,16,1181),(12988,1,16,1182),(12989,1,16,1201),(12990,1,16,1202),(12991,1,16,1231),(12992,1,16,2401),(12993,1,16,2501),(12994,1,16,2503),(12995,1,16,2515),(12996,1,16,20001),(12998,1,16,23001),(12999,1,16,50101),(13000,1,17,11),(13001,1,17,21),(13002,1,17,31),(13065,1,17,41),(13066,1,17,42),(13067,1,17,44),(13068,1,17,45),(13004,1,17,61),(13005,1,17,71),(13006,1,17,72),(13007,1,17,74),(13008,1,17,75),(13009,1,17,78),(13010,1,17,79),(13011,1,17,81),(13012,1,17,91),(13013,1,17,95),(13014,1,17,97),(13015,1,17,101),(13016,1,17,111),(13017,1,17,121),(13069,1,17,141),(13070,1,17,142),(13071,1,17,144),(13018,1,17,151),(13019,1,17,161),(13020,1,17,171),(13021,1,17,221),(13022,1,17,222),(13023,1,17,229),(13024,1,17,241),(13025,1,17,242),(13026,1,17,243),(13028,1,17,281),(13029,1,17,300),(13030,1,17,331),(13031,1,17,341),(13032,1,17,342),(13033,1,17,343),(13034,1,17,344),(13035,1,17,531),(13036,1,17,700),(13037,1,17,1001),(13038,1,17,1002),(13039,1,17,1003),(13040,1,17,1004),(13041,1,17,1005),(13042,1,17,1101),(13043,1,17,1181),(13044,1,17,1182),(13045,1,17,1201),(13046,1,17,1202),(13047,1,17,1231),(13048,1,17,2401),(13049,1,17,2501),(13050,1,17,2503),(13051,1,17,2515),(13052,1,17,20001),(13054,1,17,23001),(13055,1,17,50101),(14504,1,18,11),(14505,1,18,21),(14506,1,18,31),(14507,1,18,41),(14508,1,18,61),(14509,1,18,71),(14510,1,18,78),(14511,1,18,81),(14512,1,18,91),(14513,1,18,95),(14514,1,18,101),(14515,1,18,111),(14516,1,18,121),(14517,1,18,151),(14518,1,18,161),(14519,1,18,221),(14520,1,18,241),(14521,1,18,262),(14522,1,18,281),(14523,1,18,300),(14524,1,18,331),(14525,1,18,332),(14526,1,18,333),(14527,1,18,341),(14528,1,18,342),(14529,1,18,343),(14530,1,18,344),(14531,1,18,531),(14532,1,18,701),(14533,1,18,771),(14534,1,18,774),(14535,1,18,1001),(14536,1,18,1004),(14537,1,18,1101),(14538,1,18,1181),(14539,1,18,1182),(14540,1,18,1201),(14541,1,18,1231),(14542,1,18,2401),(14543,1,18,2501),(14544,1,18,2503),(14545,1,18,2515),(14546,1,18,20001),(14548,1,18,50101),(14549,1,18,59001),(15242,1,19,21),(15243,1,19,31),(15244,1,19,41),(15245,1,19,61),(15246,1,19,71),(15247,1,19,78),(15248,1,19,81),(15249,1,19,101),(15250,1,19,121),(15251,1,19,151),(15252,1,19,161),(15253,1,19,221),(15254,1,19,241),(15255,1,19,262),(15256,1,19,281),(15257,1,19,300),(15258,1,19,331),(15259,1,19,332),(15260,1,19,341),(15261,1,19,342),(15262,1,19,343),(15263,1,19,344),(15264,1,19,531),(15265,1,19,701),(15266,1,19,771),(15267,1,19,774),(15268,1,19,777),(15269,1,19,1001),(15270,1,19,1004),(15271,1,19,1101),(15272,1,19,1121),(15273,1,19,1181),(15274,1,19,1182),(15275,1,19,1201),(15276,1,19,1231),(15277,1,19,2401),(15278,1,19,2501),(15279,1,19,20001),(15281,1,19,50101),(15282,1,19,59001),(15283,1,19,63001); +INSERT INTO `llx_user_rights` VALUES (12402,1,1,11),(12380,1,1,12),(12385,1,1,13),(12389,1,1,14),(12393,1,1,15),(12398,1,1,16),(12404,1,1,19),(9726,1,1,21),(9700,1,1,22),(9706,1,1,24),(9711,1,1,25),(9716,1,1,26),(9722,1,1,27),(9728,1,1,28),(9978,1,1,31),(9968,1,1,32),(9974,1,1,34),(1910,1,1,36),(9980,1,1,38),(11573,1,1,41),(11574,1,1,42),(11575,1,1,44),(11576,1,1,45),(7184,1,1,61),(7181,1,1,62),(7183,1,1,64),(7185,1,1,67),(7186,1,1,68),(1678,1,1,71),(1673,1,1,72),(1675,1,1,74),(1679,1,1,75),(1677,1,1,76),(1681,1,1,78),(1682,1,1,79),(12322,1,1,81),(12309,1,1,82),(12312,1,1,84),(12314,1,1,86),(12317,1,1,87),(12320,1,1,88),(12323,1,1,89),(11580,1,1,91),(11581,1,1,92),(11582,1,1,93),(11583,1,1,94),(10097,1,1,95),(10099,1,1,96),(10103,1,1,97),(10104,1,1,98),(7139,1,1,101),(7134,1,1,102),(7136,1,1,104),(7137,1,1,105),(7138,1,1,106),(7140,1,1,109),(10229,1,1,111),(10201,1,1,112),(10207,1,1,113),(10213,1,1,114),(10219,1,1,115),(10225,1,1,116),(10231,1,1,117),(12518,1,1,121),(12508,1,1,122),(12514,1,1,125),(12520,1,1,126),(11577,1,1,141),(11578,1,1,142),(11579,1,1,144),(2307,1,1,151),(2304,1,1,152),(2306,1,1,153),(2308,1,1,154),(10092,1,1,161),(10093,1,1,162),(10094,1,1,163),(10095,1,1,164),(10096,1,1,165),(1585,1,1,170),(12342,1,1,171),(12331,1,1,172),(12335,1,1,173),(12339,1,1,174),(12343,1,1,178),(10000,1,1,221),(9990,1,1,222),(9996,1,1,223),(10002,1,1,229),(10007,1,1,237),(10011,1,1,238),(10015,1,1,239),(1686,1,1,241),(1685,1,1,242),(1687,1,1,243),(12604,1,1,251),(12566,1,1,252),(12569,1,1,253),(12572,1,1,254),(12575,1,1,255),(12579,1,1,256),(1617,1,1,258),(12525,1,1,262),(12544,1,1,281),(12534,1,1,282),(12540,1,1,283),(12546,1,1,286),(12288,1,1,300),(12290,1,1,301),(11591,1,1,302),(1763,1,1,331),(1762,1,1,332),(1764,1,1,333),(12582,1,1,341),(12584,1,1,342),(12586,1,1,343),(12588,1,1,344),(12600,1,1,351),(12593,1,1,352),(12597,1,1,353),(12601,1,1,354),(12605,1,1,358),(12560,1,1,531),(12553,1,1,532),(12557,1,1,534),(1625,1,1,536),(12561,1,1,538),(12358,1,1,700),(12348,1,1,701),(12354,1,1,702),(12360,1,1,703),(1755,1,1,1001),(1754,1,1,1002),(1756,1,1,1003),(1758,1,1,1004),(1759,1,1,1005),(7146,1,1,1101),(7143,1,1,1102),(7145,1,1,1104),(7147,1,1,1109),(12412,1,1,1181),(12458,1,1,1182),(12417,1,1,1183),(12420,1,1,1184),(12423,1,1,1185),(12427,1,1,1186),(12431,1,1,1187),(12437,1,1,1188),(12434,1,1,1189),(1578,1,1,1201),(1579,1,1,1202),(12454,1,1,1231),(12443,1,1,1232),(12446,1,1,1233),(12449,1,1,1234),(12452,1,1,1235),(12455,1,1,1236),(12459,1,1,1237),(1736,1,1,1251),(12409,1,1,1321),(12326,1,1,1421),(8190,1,1,1791),(8187,1,1,1792),(8191,1,1,1793),(12264,1,1,2401),(12260,1,1,2402),(12266,1,1,2403),(12280,1,1,2411),(12276,1,1,2412),(12282,1,1,2413),(12286,1,1,2414),(1618,1,1,2500),(12370,1,1,2501),(12367,1,1,2503),(12371,1,1,2515),(9610,1,1,5001),(9611,1,1,5002),(12490,1,1,20001),(12474,1,1,20003),(12480,1,1,20004),(12486,1,1,20005),(12492,1,1,20006),(12302,1,1,23001),(12295,1,1,23002),(12299,1,1,23003),(12303,1,1,23004),(7701,1,1,50101),(4984,1,1,50401),(4983,1,1,50402),(4985,1,1,50403),(4987,1,1,50411),(4988,1,1,50412),(4989,1,1,50415),(12498,1,1,55001),(12499,1,1,55002),(3564,1,1,100700),(3565,1,1,100701),(9596,1,1,101051),(9598,1,1,101052),(9600,1,1,101053),(9604,1,1,101060),(9605,1,1,101061),(7177,1,1,101201),(7178,1,1,101202),(10353,1,1,101250),(10355,1,1,101251),(8980,1,1,101261),(8981,1,1,101262),(7616,1,1,101331),(10030,1,1,101701),(10031,1,1,101702),(3582,1,1,102000),(3583,1,1,102001),(9819,1,1,400051),(9823,1,1,400052),(9827,1,1,400053),(9831,1,1,400055),(132,1,2,11),(133,1,2,12),(134,1,2,13),(135,1,2,14),(136,1,2,16),(137,1,2,19),(138,1,2,21),(139,1,2,22),(140,1,2,24),(141,1,2,25),(142,1,2,26),(143,1,2,27),(10359,1,2,31),(145,1,2,32),(10361,1,2,34),(146,1,2,36),(147,1,2,41),(148,1,2,42),(149,1,2,44),(150,1,2,61),(151,1,2,62),(152,1,2,64),(153,1,2,71),(154,1,2,72),(155,1,2,74),(156,1,2,75),(157,1,2,78),(158,1,2,79),(159,1,2,81),(160,1,2,82),(161,1,2,84),(162,1,2,86),(163,1,2,87),(164,1,2,88),(165,1,2,89),(166,1,2,91),(167,1,2,92),(168,1,2,93),(2475,1,2,95),(2476,1,2,96),(2477,1,2,97),(2478,1,2,98),(169,1,2,101),(170,1,2,102),(171,1,2,104),(172,1,2,109),(173,1,2,111),(174,1,2,112),(175,1,2,113),(176,1,2,114),(177,1,2,116),(178,1,2,117),(179,1,2,121),(180,1,2,122),(181,1,2,125),(182,1,2,141),(183,1,2,142),(184,1,2,144),(2479,1,2,151),(2480,1,2,152),(2481,1,2,153),(2482,1,2,154),(185,1,2,161),(186,1,2,162),(187,1,2,163),(188,1,2,164),(189,1,2,165),(190,1,2,170),(2471,1,2,171),(192,1,2,172),(2472,1,2,173),(193,1,2,221),(194,1,2,222),(195,1,2,229),(196,1,2,241),(197,1,2,242),(198,1,2,243),(199,1,2,251),(201,1,2,262),(202,1,2,281),(203,1,2,282),(204,1,2,283),(205,1,2,331),(15072,1,2,510),(2483,1,2,531),(207,1,2,532),(2484,1,2,534),(208,1,2,536),(2473,1,2,700),(210,1,2,701),(211,1,2,702),(2474,1,2,703),(15064,1,2,771),(15057,1,2,772),(15059,1,2,773),(15061,1,2,774),(15063,1,2,775),(15065,1,2,776),(212,1,2,1001),(213,1,2,1002),(214,1,2,1003),(215,1,2,1004),(216,1,2,1005),(217,1,2,1101),(218,1,2,1102),(219,1,2,1104),(220,1,2,1109),(15073,1,2,1121),(15074,1,2,1122),(15075,1,2,1123),(15076,1,2,1124),(15077,1,2,1125),(15078,1,2,1126),(221,1,2,1181),(222,1,2,1182),(223,1,2,1183),(224,1,2,1184),(225,1,2,1185),(226,1,2,1186),(227,1,2,1187),(228,1,2,1188),(229,1,2,1201),(230,1,2,1202),(231,1,2,1231),(232,1,2,1232),(233,1,2,1233),(234,1,2,1234),(235,1,2,1421),(236,1,2,2401),(237,1,2,2402),(238,1,2,2403),(239,1,2,2411),(240,1,2,2412),(241,1,2,2413),(242,1,2,2500),(2470,1,2,2501),(243,1,2,2515),(10363,1,2,20001),(10365,1,2,20003),(10366,1,2,20004),(10367,1,2,20005),(10368,1,2,20006),(15054,1,2,23001),(10362,1,2,50101),(15067,1,2,55001),(15066,1,2,59001),(15068,1,2,63001),(15069,1,2,63002),(15070,1,2,63003),(15071,1,2,63004),(10372,1,2,101250),(1807,1,3,11),(1808,1,3,31),(1809,1,3,36),(1810,1,3,41),(1811,1,3,61),(1812,1,3,71),(1813,1,3,72),(1814,1,3,74),(1815,1,3,75),(1816,1,3,78),(1817,1,3,79),(1818,1,3,91),(1819,1,3,95),(1820,1,3,97),(1821,1,3,111),(1822,1,3,121),(1823,1,3,122),(1824,1,3,125),(1825,1,3,161),(1826,1,3,170),(1827,1,3,171),(1828,1,3,172),(1829,1,3,221),(1830,1,3,222),(1831,1,3,229),(1832,1,3,241),(1833,1,3,242),(1834,1,3,243),(1835,1,3,251),(1836,1,3,255),(1837,1,3,256),(1838,1,3,262),(1839,1,3,281),(1840,1,3,282),(1841,1,3,283),(1842,1,3,331),(1843,1,3,531),(1844,1,3,536),(1845,1,3,700),(1846,1,3,1001),(1847,1,3,1002),(1848,1,3,1003),(1849,1,3,1004),(1850,1,3,1005),(1851,1,3,1181),(1852,1,3,1182),(1853,1,3,1201),(1854,1,3,1202),(1855,1,3,1231),(1856,1,3,2401),(1857,1,3,2402),(1858,1,3,2403),(1859,1,3,2411),(1860,1,3,2412),(1861,1,3,2413),(1862,1,3,2500),(1863,1,3,2515),(8026,1,4,11),(8027,1,4,21),(8028,1,4,31),(8029,1,4,41),(8030,1,4,61),(8031,1,4,71),(8032,1,4,72),(8033,1,4,74),(8034,1,4,75),(8035,1,4,78),(8036,1,4,79),(8037,1,4,81),(8038,1,4,91),(8039,1,4,95),(8040,1,4,97),(8041,1,4,101),(8042,1,4,111),(8043,1,4,121),(8044,1,4,151),(8045,1,4,161),(8046,1,4,171),(8047,1,4,221),(8048,1,4,222),(8049,1,4,229),(8050,1,4,241),(8051,1,4,242),(8052,1,4,243),(8146,1,4,251),(8147,1,4,253),(8053,1,4,262),(8054,1,4,281),(8055,1,4,331),(8056,1,4,341),(8057,1,4,342),(8058,1,4,343),(8059,1,4,344),(8060,1,4,531),(8061,1,4,700),(8062,1,4,1001),(8063,1,4,1002),(8064,1,4,1003),(8065,1,4,1004),(8066,1,4,1005),(8067,1,4,1101),(8068,1,4,1181),(8069,1,4,1182),(8070,1,4,1201),(8071,1,4,1202),(8072,1,4,1231),(8073,1,4,2401),(8074,1,4,2501),(8075,1,4,2503),(8076,1,4,2515),(8077,1,4,20001),(8078,1,4,50101),(8079,1,4,101201),(8080,1,4,101261),(8081,1,4,102000),(8082,1,4,400051),(8083,1,4,400052),(8084,1,4,400053),(8085,1,4,400055),(12608,1,10,11),(12609,1,10,21),(12610,1,10,31),(12611,1,10,41),(12612,1,10,61),(12613,1,10,71),(12614,1,10,72),(12615,1,10,74),(12616,1,10,75),(12617,1,10,78),(12618,1,10,79),(12619,1,10,81),(12620,1,10,91),(12621,1,10,95),(12622,1,10,97),(12623,1,10,101),(12624,1,10,111),(12625,1,10,121),(12626,1,10,151),(12627,1,10,161),(12628,1,10,171),(12629,1,10,221),(12630,1,10,222),(12631,1,10,229),(12632,1,10,241),(12633,1,10,242),(12634,1,10,243),(12635,1,10,262),(12636,1,10,281),(12637,1,10,300),(12638,1,10,331),(12639,1,10,341),(12640,1,10,342),(12641,1,10,343),(12642,1,10,344),(12643,1,10,531),(12644,1,10,700),(12645,1,10,1001),(12646,1,10,1002),(12647,1,10,1003),(12648,1,10,1004),(12649,1,10,1005),(12650,1,10,1101),(12651,1,10,1181),(12652,1,10,1182),(12653,1,10,1201),(12654,1,10,1202),(12655,1,10,1231),(12656,1,10,2401),(12657,1,10,2501),(12658,1,10,2503),(12659,1,10,2515),(12660,1,10,20001),(12662,1,10,23001),(12663,1,10,50101),(12664,1,11,11),(12665,1,11,21),(12666,1,11,31),(12667,1,11,41),(12668,1,11,61),(12669,1,11,71),(12670,1,11,72),(12671,1,11,74),(12672,1,11,75),(12673,1,11,78),(12674,1,11,79),(12675,1,11,81),(12676,1,11,91),(12677,1,11,95),(12678,1,11,97),(12679,1,11,101),(12680,1,11,111),(12681,1,11,121),(12682,1,11,151),(12683,1,11,161),(12684,1,11,171),(12685,1,11,221),(12686,1,11,222),(12687,1,11,229),(12688,1,11,241),(12689,1,11,242),(12690,1,11,243),(12691,1,11,262),(12692,1,11,281),(12693,1,11,300),(12694,1,11,331),(12695,1,11,341),(12696,1,11,342),(12697,1,11,343),(12698,1,11,344),(12699,1,11,531),(12700,1,11,700),(12701,1,11,1001),(12702,1,11,1002),(12703,1,11,1003),(12704,1,11,1004),(12705,1,11,1005),(12706,1,11,1101),(12707,1,11,1181),(12708,1,11,1182),(12709,1,11,1201),(12710,1,11,1202),(12711,1,11,1231),(12712,1,11,2401),(12713,1,11,2501),(12714,1,11,2503),(12715,1,11,2515),(12716,1,11,20001),(12718,1,11,23001),(12719,1,11,50101),(20456,1,12,11),(20448,1,12,12),(20449,1,12,13),(20450,1,12,14),(20451,1,12,15),(20454,1,12,16),(20457,1,12,19),(14146,1,12,21),(14135,1,12,22),(14137,1,12,24),(14139,1,12,25),(14142,1,12,26),(14145,1,12,27),(14148,1,12,28),(14930,1,12,31),(14926,1,12,32),(14929,1,12,34),(14932,1,12,38),(13816,1,12,41),(13813,1,12,42),(13815,1,12,44),(13817,1,12,45),(14094,1,12,61),(14091,1,12,62),(14093,1,12,64),(14095,1,12,67),(14096,1,12,68),(16203,1,12,71),(16198,1,12,72),(16200,1,12,74),(16204,1,12,75),(16202,1,12,76),(16206,1,12,78),(16207,1,12,79),(20413,1,12,81),(20408,1,12,82),(20409,1,12,84),(20410,1,12,86),(20411,1,12,87),(20412,1,12,88),(20414,1,12,89),(15401,1,12,91),(15397,1,12,92),(15400,1,12,93),(15403,1,12,94),(13990,1,12,95),(12734,1,12,97),(19241,1,12,101),(19237,1,12,102),(19238,1,12,104),(19239,1,12,105),(19240,1,12,106),(19242,1,12,109),(20395,1,12,111),(20381,1,12,112),(20384,1,12,113),(20387,1,12,114),(20390,1,12,115),(20393,1,12,116),(20396,1,12,117),(20547,1,12,121),(20542,1,12,122),(20545,1,12,125),(20548,1,12,126),(13821,1,12,141),(13820,1,12,142),(13822,1,12,144),(13912,1,12,151),(13909,1,12,152),(13911,1,12,153),(13913,1,12,154),(14063,1,12,161),(14056,1,12,162),(14058,1,12,163),(14060,1,12,164),(14062,1,12,165),(14064,1,12,167),(13350,1,12,171),(13345,1,12,172),(13347,1,12,173),(13349,1,12,174),(13351,1,12,178),(13838,1,12,221),(13834,1,12,222),(13837,1,12,223),(13840,1,12,229),(13842,1,12,237),(13844,1,12,238),(13846,1,12,239),(13516,1,12,241),(13515,1,12,242),(13517,1,12,243),(20591,1,12,251),(20572,1,12,252),(20574,1,12,253),(20575,1,12,254),(20577,1,12,255),(20579,1,12,256),(20549,1,12,262),(20559,1,12,281),(20554,1,12,282),(20557,1,12,283),(20560,1,12,286),(19877,1,12,300),(20397,1,12,301),(20398,1,12,302),(16194,1,12,331),(16193,1,12,332),(16195,1,12,333),(20580,1,12,341),(20581,1,12,342),(20582,1,12,343),(20583,1,12,344),(20589,1,12,351),(20586,1,12,352),(20588,1,12,353),(20590,1,12,354),(20592,1,12,358),(19249,1,12,430),(16384,1,12,501),(16378,1,12,502),(13865,1,12,510),(20529,1,12,511),(20524,1,12,512),(20526,1,12,514),(20528,1,12,517),(20530,1,12,519),(15291,1,12,520),(15286,1,12,522),(15288,1,12,524),(15290,1,12,525),(15292,1,12,527),(20536,1,12,531),(20533,1,12,532),(20535,1,12,534),(20537,1,12,538),(20076,1,12,561),(20073,1,12,562),(20075,1,12,563),(20077,1,12,564),(16932,1,12,650),(20375,1,12,651),(20374,1,12,652),(20376,1,12,653),(17124,1,12,660),(20504,1,12,661),(20503,1,12,662),(20505,1,12,663),(13358,1,12,700),(20422,1,12,701),(20420,1,12,702),(20423,1,12,703),(20513,1,12,750),(20512,1,12,751),(20514,1,12,752),(20442,1,12,771),(20431,1,12,772),(20433,1,12,773),(15085,1,12,774),(20435,1,12,775),(20437,1,12,776),(20439,1,12,777),(20441,1,12,778),(20443,1,12,779),(14917,1,12,1001),(14916,1,12,1002),(14918,1,12,1003),(14920,1,12,1004),(14921,1,12,1005),(19247,1,12,1101),(19245,1,12,1102),(19246,1,12,1104),(19248,1,12,1109),(19233,1,12,1121),(19226,1,12,1122),(19228,1,12,1123),(19230,1,12,1124),(19232,1,12,1125),(19234,1,12,1126),(20460,1,12,1181),(20474,1,12,1182),(20463,1,12,1183),(20464,1,12,1184),(20466,1,12,1185),(20468,1,12,1186),(20470,1,12,1187),(20473,1,12,1188),(20471,1,12,1189),(20475,1,12,1191),(13827,1,12,1201),(13828,1,12,1202),(20483,1,12,1231),(20478,1,12,1232),(20479,1,12,1233),(20481,1,12,1234),(20482,1,12,1235),(20484,1,12,1236),(16302,1,12,1237),(13829,1,12,1251),(20458,1,12,1321),(20459,1,12,1322),(20415,1,12,1421),(20361,1,12,2401),(20359,1,12,2402),(20362,1,12,2403),(20369,1,12,2411),(20367,1,12,2412),(20370,1,12,2413),(20371,1,12,2414),(20427,1,12,2501),(20426,1,12,2503),(20428,1,12,2515),(20082,1,12,3200),(20341,1,12,3301),(15435,1,12,5001),(15436,1,12,5002),(20600,1,12,10001),(20595,1,12,10002),(20597,1,12,10003),(20599,1,12,10005),(20601,1,12,10008),(20496,1,12,20001),(20487,1,12,20002),(20489,1,12,20003),(20493,1,12,20004),(20495,1,12,20005),(20497,1,12,20006),(20491,1,12,20007),(20404,1,12,23001),(20401,1,12,23002),(20403,1,12,23003),(20405,1,12,23004),(19019,1,12,50101),(20568,1,12,50151),(20569,1,12,50152),(20570,1,12,50153),(20343,1,12,50401),(20351,1,12,50411),(20346,1,12,50412),(20348,1,12,50414),(20350,1,12,50415),(20352,1,12,50418),(20353,1,12,50420),(20354,1,12,50430),(20342,1,12,50440),(20507,1,12,55001),(20508,1,12,55002),(20566,1,12,56001),(20563,1,12,56002),(20565,1,12,56003),(20567,1,12,56004),(16742,1,12,56005),(20498,1,12,59001),(20499,1,12,59002),(20500,1,12,59003),(20520,1,12,63001),(20517,1,12,63002),(20519,1,12,63003),(20521,1,12,63004),(20509,1,12,64001),(17328,1,12,101130),(17327,1,12,101131),(17329,1,12,101132),(16009,1,12,101331),(16010,1,12,101332),(16011,1,12,101333),(19208,1,12,101701),(19209,1,12,101702),(20069,1,12,941601),(20065,1,12,941602),(20066,1,12,941603),(20067,1,12,941604),(20068,1,12,941605),(20070,1,12,941606),(12776,1,13,11),(12777,1,13,21),(12778,1,13,31),(12779,1,13,41),(12780,1,13,61),(12781,1,13,71),(12782,1,13,72),(12783,1,13,74),(12784,1,13,75),(12785,1,13,78),(12786,1,13,79),(12787,1,13,81),(12788,1,13,91),(12789,1,13,95),(12790,1,13,97),(12791,1,13,101),(12792,1,13,111),(12793,1,13,121),(12794,1,13,151),(12795,1,13,161),(12796,1,13,171),(12797,1,13,221),(12798,1,13,222),(12799,1,13,229),(12800,1,13,241),(12801,1,13,242),(12802,1,13,243),(12803,1,13,262),(12804,1,13,281),(12805,1,13,300),(12806,1,13,331),(12807,1,13,341),(12808,1,13,342),(12809,1,13,343),(12810,1,13,344),(12811,1,13,531),(12812,1,13,700),(12813,1,13,1001),(12814,1,13,1002),(12815,1,13,1003),(12816,1,13,1004),(12817,1,13,1005),(12818,1,13,1101),(12819,1,13,1181),(12820,1,13,1182),(12821,1,13,1201),(12822,1,13,1202),(12823,1,13,1231),(12824,1,13,2401),(12825,1,13,2501),(12826,1,13,2503),(12827,1,13,2515),(12828,1,13,20001),(12830,1,13,23001),(12831,1,13,50101),(12832,1,14,11),(12833,1,14,21),(12834,1,14,31),(12835,1,14,41),(12836,1,14,61),(12837,1,14,71),(12838,1,14,72),(12839,1,14,74),(12840,1,14,75),(12841,1,14,78),(12842,1,14,79),(12843,1,14,81),(12844,1,14,91),(12845,1,14,95),(12846,1,14,97),(12847,1,14,101),(12848,1,14,111),(12849,1,14,121),(12850,1,14,151),(12851,1,14,161),(12852,1,14,171),(12853,1,14,221),(12854,1,14,222),(12855,1,14,229),(12856,1,14,241),(12857,1,14,242),(12858,1,14,243),(12859,1,14,262),(12860,1,14,281),(12861,1,14,300),(12862,1,14,331),(12863,1,14,341),(12864,1,14,342),(12865,1,14,343),(12866,1,14,344),(12867,1,14,531),(12868,1,14,700),(12869,1,14,1001),(12870,1,14,1002),(12871,1,14,1003),(12872,1,14,1004),(12873,1,14,1005),(12874,1,14,1101),(12875,1,14,1181),(12876,1,14,1182),(12877,1,14,1201),(12878,1,14,1202),(12879,1,14,1231),(12880,1,14,2401),(12881,1,14,2501),(12882,1,14,2503),(12883,1,14,2515),(12884,1,14,20001),(12886,1,14,23001),(12887,1,14,50101),(12944,1,16,11),(12945,1,16,21),(12946,1,16,31),(13056,1,16,41),(13057,1,16,42),(13058,1,16,44),(13059,1,16,45),(12948,1,16,61),(12949,1,16,71),(12950,1,16,72),(12951,1,16,74),(12952,1,16,75),(12953,1,16,78),(12954,1,16,79),(12955,1,16,81),(12956,1,16,91),(12957,1,16,95),(12958,1,16,97),(12959,1,16,101),(12960,1,16,111),(12961,1,16,121),(13060,1,16,141),(13061,1,16,142),(13062,1,16,144),(12962,1,16,151),(12963,1,16,161),(12964,1,16,171),(12965,1,16,221),(12966,1,16,222),(12967,1,16,229),(12968,1,16,241),(12969,1,16,242),(12970,1,16,243),(13128,1,16,251),(13064,1,16,262),(12972,1,16,281),(12973,1,16,300),(12974,1,16,331),(12975,1,16,341),(12976,1,16,342),(12977,1,16,343),(12978,1,16,344),(12979,1,16,531),(12980,1,16,700),(12981,1,16,1001),(12982,1,16,1002),(12983,1,16,1003),(12984,1,16,1004),(12985,1,16,1005),(12986,1,16,1101),(12987,1,16,1181),(12988,1,16,1182),(12989,1,16,1201),(12990,1,16,1202),(12991,1,16,1231),(12992,1,16,2401),(12993,1,16,2501),(12994,1,16,2503),(12995,1,16,2515),(12996,1,16,20001),(12998,1,16,23001),(12999,1,16,50101),(13000,1,17,11),(13001,1,17,21),(13002,1,17,31),(13065,1,17,41),(13066,1,17,42),(13067,1,17,44),(13068,1,17,45),(13004,1,17,61),(13005,1,17,71),(13006,1,17,72),(13007,1,17,74),(13008,1,17,75),(13009,1,17,78),(13010,1,17,79),(13011,1,17,81),(13012,1,17,91),(13013,1,17,95),(13014,1,17,97),(13015,1,17,101),(13016,1,17,111),(13017,1,17,121),(13069,1,17,141),(13070,1,17,142),(13071,1,17,144),(13018,1,17,151),(13019,1,17,161),(13020,1,17,171),(13021,1,17,221),(13022,1,17,222),(13023,1,17,229),(13024,1,17,241),(13025,1,17,242),(13026,1,17,243),(13028,1,17,281),(13029,1,17,300),(13030,1,17,331),(13031,1,17,341),(13032,1,17,342),(13033,1,17,343),(13034,1,17,344),(13035,1,17,531),(13036,1,17,700),(13037,1,17,1001),(13038,1,17,1002),(13039,1,17,1003),(13040,1,17,1004),(13041,1,17,1005),(13042,1,17,1101),(13043,1,17,1181),(13044,1,17,1182),(13045,1,17,1201),(13046,1,17,1202),(13047,1,17,1231),(13048,1,17,2401),(13049,1,17,2501),(13050,1,17,2503),(13051,1,17,2515),(13052,1,17,20001),(13054,1,17,23001),(13055,1,17,50101),(14504,1,18,11),(14505,1,18,21),(14506,1,18,31),(14507,1,18,41),(14508,1,18,61),(14509,1,18,71),(14510,1,18,78),(14511,1,18,81),(14512,1,18,91),(14513,1,18,95),(14514,1,18,101),(14515,1,18,111),(14516,1,18,121),(14517,1,18,151),(14518,1,18,161),(14519,1,18,221),(14520,1,18,241),(14521,1,18,262),(14522,1,18,281),(14523,1,18,300),(14524,1,18,331),(14525,1,18,332),(14526,1,18,333),(14527,1,18,341),(14528,1,18,342),(14529,1,18,343),(14530,1,18,344),(14531,1,18,531),(14532,1,18,701),(14533,1,18,771),(14534,1,18,774),(14535,1,18,1001),(14536,1,18,1004),(14537,1,18,1101),(14538,1,18,1181),(14539,1,18,1182),(14540,1,18,1201),(14541,1,18,1231),(14542,1,18,2401),(14543,1,18,2501),(14544,1,18,2503),(14545,1,18,2515),(14546,1,18,20001),(14548,1,18,50101),(14549,1,18,59001),(15242,1,19,21),(15243,1,19,31),(15244,1,19,41),(15245,1,19,61),(15246,1,19,71),(15247,1,19,78),(15248,1,19,81),(15249,1,19,101),(15250,1,19,121),(15251,1,19,151),(15252,1,19,161),(15253,1,19,221),(15254,1,19,241),(15255,1,19,262),(15256,1,19,281),(15257,1,19,300),(15258,1,19,331),(15259,1,19,332),(15260,1,19,341),(15261,1,19,342),(15262,1,19,343),(15263,1,19,344),(15264,1,19,531),(15265,1,19,701),(15266,1,19,771),(15267,1,19,774),(15268,1,19,777),(15269,1,19,1001),(15270,1,19,1004),(15271,1,19,1101),(15272,1,19,1121),(15273,1,19,1181),(15274,1,19,1182),(15275,1,19,1201),(15276,1,19,1231),(15277,1,19,2401),(15278,1,19,2501),(15279,1,19,20001),(15281,1,19,50101),(15282,1,19,59001),(15283,1,19,63001); /*!40000 ALTER TABLE `llx_user_rights` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_user_twofactorauth_webauthn` --- - -DROP TABLE IF EXISTS `llx_user_twofactorauth_webauthn`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_user_twofactorauth_webauthn` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_user` int(11) NOT NULL, - `label` varchar(64) CHARACTER SET utf8mb4 NOT NULL, - `webauthnkey` text CHARACTER SET utf8mb4 NOT NULL, - `active` tinyint(4) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`), - UNIQUE KEY `idx_tfa_label_fk_user` (`fk_user`,`label`), - CONSTRAINT `fk_tfa_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_user_twofactorauth_webauthn` --- - -LOCK TABLES `llx_user_twofactorauth_webauthn` WRITE; -/*!40000 ALTER TABLE `llx_user_twofactorauth_webauthn` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_user_twofactorauth_webauthn` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_usergroup` -- @@ -13650,183 +12545,6 @@ INSERT INTO `llx_usergroup_user` VALUES (2,1,1,3),(12,1,2,4),(3,1,3,3),(4,1,11,2 /*!40000 ALTER TABLE `llx_usergroup_user` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_webmail_draft` --- - -DROP TABLE IF EXISTS `llx_webmail_draft`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_webmail_draft` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `fk_user` int(11) NOT NULL DEFAULT 0, - `fk_contact` int(11) NOT NULL DEFAULT 0, - `size` int(11) NOT NULL DEFAULT 0, - `subject` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `body` longtext COLLATE utf8_unicode_ci NOT NULL, - `from` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `to` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `cc` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `bcc` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `files` int(11) NOT NULL DEFAULT 0, - `cron` datetime DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_webmail_draft_fk_user` (`fk_user`), - KEY `idx_webmail_draft_cron` (`cron`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_webmail_draft` --- - -LOCK TABLES `llx_webmail_draft` WRITE; -/*!40000 ALTER TABLE `llx_webmail_draft` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_webmail_draft` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_webmail_files` --- - -DROP TABLE IF EXISTS `llx_webmail_files`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_webmail_files` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_mail` int(11) NOT NULL DEFAULT 0, - `fk_user` int(11) NOT NULL DEFAULT 0, - `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `file_name` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `file` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `file_size` int(11) NOT NULL DEFAULT 0, - `file_type` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `search` longtext COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_webmail_files_fk_user` (`fk_user`), - KEY `idx_webmail_files_files` (`fk_mail`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_webmail_files` --- - -LOCK TABLES `llx_webmail_files` WRITE; -/*!40000 ALTER TABLE `llx_webmail_files` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_webmail_files` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_webmail_mail` --- - -DROP TABLE IF EXISTS `llx_webmail_mail`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_webmail_mail` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `fk_user` int(11) NOT NULL DEFAULT 0, - `fk_soc` int(11) NOT NULL DEFAULT 0, - `fk_contact` int(11) NOT NULL DEFAULT 0, - `uidl` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `size` int(11) NOT NULL DEFAULT 0, - `subject` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `body` longtext COLLATE utf8_unicode_ci NOT NULL, - `state_new` int(11) NOT NULL DEFAULT 0, - `state_reply` int(11) NOT NULL DEFAULT 0, - `state_forward` int(11) NOT NULL DEFAULT 0, - `state_wait` int(11) NOT NULL DEFAULT 0, - `state_spam` int(11) NOT NULL DEFAULT 0, - `id_correo` int(11) NOT NULL DEFAULT 0, - `is_outbox` int(11) NOT NULL DEFAULT 0, - `state_sent` int(11) NOT NULL DEFAULT 0, - `state_error` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `state_crt` int(11) NOT NULL DEFAULT 0, - `state_archiv` int(11) NOT NULL DEFAULT 0, - `priority` int(11) NOT NULL DEFAULT 0, - `sensitivity` int(11) NOT NULL DEFAULT 0, - `from` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `to` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `cc` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `bcc` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `files` int(11) NOT NULL DEFAULT 0, - `state_delete` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`), - KEY `idx_webmail_mail_nospam` (`fk_user`,`state_spam`), - KEY `idx_webmail_mail_count` (`fk_user`,`state_new`), - KEY `idx_webmail_mail_sendmail` (`is_outbox`,`state_sent`), - KEY `idx_webmail_mail_fk_user` (`fk_user`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_webmail_mail` --- - -LOCK TABLES `llx_webmail_mail` WRITE; -/*!40000 ALTER TABLE `llx_webmail_mail` DISABLE KEYS */; -INSERT INTO `llx_webmail_mail` VALUES (1,1,1,27,0,'1452254519','2018-01-08 16:01:59',0,'Submission of invoice 16','You will find here the invoice 16
\r\n
\r\nSincerely',0,0,0,0,0,0,1,1,'0',0,0,0,0,'first last ','Aljoun Samira ','','',1,0); -/*!40000 ALTER TABLE `llx_webmail_mail` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_webmail_users` --- - -DROP TABLE IF EXISTS `llx_webmail_users`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_webmail_users` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `fk_user` int(11) NOT NULL, - `login` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `password` mediumtext COLLATE utf8_unicode_ci NOT NULL, - `safemail` tinyint(4) DEFAULT 1, - `dayssafe` int(11) DEFAULT 10, - PRIMARY KEY (`rowid`), - KEY `fk_webmail_users_fk_user` (`fk_user`), - CONSTRAINT `fk_webmail_users_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_webmail_users` --- - -LOCK TABLES `llx_webmail_users` WRITE; -/*!40000 ALTER TABLE `llx_webmail_users` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_webmail_users` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_webmail_users_view` --- - -DROP TABLE IF EXISTS `llx_webmail_users_view`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_webmail_users_view` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_user` int(11) NOT NULL, - `fk_user_view` int(11) NOT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_webmail_users_view` --- - -LOCK TABLES `llx_webmail_users_view` WRITE; -/*!40000 ALTER TABLE `llx_webmail_users_view` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_webmail_users_view` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_website` -- @@ -13947,181 +12665,6 @@ INSERT INTO `llx_website_page` VALUES (1,5,'blog','','Blog','Blog','blog','
Laurent DESTAILLEUR
\r\n\r\n
\r\n
Project Director
\r\nldestailleur@example.com
\r\n\r\n
 
\r\n\r\n\r\n
',0,NULL,1,1,10,10,NULL,'More information on http://www.mydomain.com','2019-10-04 10:06:40','2017-09-06 11:55:30',NULL,'',1,'ldestailleur_200x200.jpg',NULL,NULL,NULL,NULL,NULL,NULL,'','','',NULL,NULL,'007f7f','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,-1,NULL,NULL),(19,'2017-02-02 03:55:44','2020-01-16 15:44:42',NULL,NULL,'aboston',1,NULL,NULL,NULL,1,0,NULL,'a7a77a5aff2d5fc2f75f2f61507c88d4',NULL,NULL,'Boston','Alex','',NULL,'','','','','aboston@example.com','','[]','Alex Boston
\r\nAdmin support service - 555 01 02 03 04',0,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',0,'person2.jpeg',NULL,NULL,12,NULL,NULL,25.00000000,'','','',NULL,NULL,'ff00ff','',NULL,0,0,2700.00000000,NULL,NULL,32.00000000,NULL,NULL,'2016-11-04 00:00:00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,-1,NULL,NULL); -/*!40000 ALTER TABLE `tmp_user` ENABLE KEYS */; -UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -14409,4 +12773,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2021-04-15 16:01:49 +-- Dump completed on 2021-07-11 19:54:10 diff --git a/dev/tools/fixaltlanguages.sh b/dev/tools/fixaltlanguages.sh index 955552940a9..5ed9f704df9 100755 --- a/dev/tools/fixaltlanguages.sh +++ b/dev/tools/fixaltlanguages.sh @@ -50,6 +50,10 @@ then then aaupper="SA" fi + if [ $bb = "IQ" ] + then + aaupper="SA" + fi bblower=`echo $dirshort | nawk -F"_" '{ print tolower($2) }'` @@ -57,23 +61,29 @@ then if [ "$aa" != "$bblower" -a "$dirshort" != "en_US" ] then reflang="htdocs/langs/"$aa"_"$aaupper - if [ -d $reflang -a $aa"_"$bb != $aa"_"$aaupper ] + echo $reflang" "$aa"_"$bb != $aa"_"$aaupper + + # If $reflang is a main language to use to sanitize the alternative file + if [ -d $reflang ] then - echo "***** Search original into "$reflang - echo $dirshort is an alternative language of $reflang - echo ./dev/translation/strip_language_file.php $aa"_"$aaupper $aa"_"$bb $2 - ./dev/translation/strip_language_file.php $aa"_"$aaupper $aa"_"$bb $2 - for fic in `ls htdocs/langs/${aa}_${bb}/*.delta`; do f=`echo $fic | sed -e 's/\.delta//'`; echo $f; mv $f.delta $f; done - for fic in `ls htdocs/langs/${aa}_${bb}/*.lang`; - do f=`cat $fic | wc -l`; - #echo $f lines into file $fic; - if [ $f = 1 ] - then - echo Only one line remainging into file $fic, we delete it; - rm $fic - fi; - done - fi + if [ $aa"_"$bb != $aa"_"$aaupper ] + then + echo "***** Search original into "$reflang + echo $dirshort is an alternative language of $reflang + echo ./dev/translation/strip_language_file.php $aa"_"$aaupper $aa"_"$bb $2 + ./dev/translation/strip_language_file.php $aa"_"$aaupper $aa"_"$bb $2 + for fic in `ls htdocs/langs/${aa}_${bb}/*.delta`; do f=`echo $fic | sed -e 's/\.delta//'`; echo $f; mv $f.delta $f; done + for fic in `ls htdocs/langs/${aa}_${bb}/*.lang`; + do f=`cat $fic | wc -l`; + #echo $f lines into file $fic; + if [ $f = 1 ] + then + echo Only one line remainging into file $fic, we delete it; + rm $fic + fi; + done + fi + fi fi done; fi diff --git a/dev/tools/github_authors_peryear.sh b/dev/tools/github_authors_and_commits_peryear.sh similarity index 100% rename from dev/tools/github_authors_peryear.sh rename to dev/tools/github_authors_and_commits_peryear.sh diff --git a/dev/tools/spider.php b/dev/tools/spider.php new file mode 100644 index 00000000000..954978b24df --- /dev/null +++ b/dev/tools/spider.php @@ -0,0 +1,145 @@ +#!/usr/bin/env php +. + */ + +/** + * \file dev/tools/spider.php + * \brief Script to spider Dolibarr app. + * + * To use it: + * - Disable module "bookmark" + * - Exclude param optioncss, token, sortfield, sortorder + */ + +$crawledLinks=array(); +const MAX_DEPTH=2; + + +/** + * @param string $url URL + * @param string $depth Depth + * @return string String + */ +function followLink($url, $depth = 0) +{ + global $crawledLinks; + $crawling=array(); + if ($depth>MAX_DEPTH) { + echo "
The Crawler is giving up!
"; + return; + } + $options=array( + 'http'=>array( + 'method'=>"GET", + 'user-agent'=>"gfgBot/0.1\n" + ) + ); + $context=stream_context_create($options); + $doc=new DomDocument(); + @$doc->loadHTML(file_get_contents($url, false, $context)); + $links=$doc->getElementsByTagName('a'); + $pageTitle=getDocTitle($doc, $url); + $metaData=getDocMetaData($doc); + foreach ($links as $i) { + $link=$i->getAttribute('href'); + if (ignoreLink($link)) continue; + $link=convertLink($url, $link); + if (!in_array($link, $crawledLinks)) { + $crawledLinks[]=$link; + $crawling[]=$link; + insertIntoDatabase($link, $pageTitle, $metaData, $depth); + } + } + foreach ($crawling as $crawlURL) + followLink($crawlURL, $depth+1); +} + +/** + * @param string $site Site + * @param string $path Path + * @return string String + */ +function convertLink($site, $path) +{ + if (substr_compare($path, "//", 0, 2)==0) + return parse_url($site)['scheme'].$path; + elseif (substr_compare($path, "http://", 0, 7)==0 or + substr_compare($path, "https://", 0, 8)==0 or + substr_compare($path, "www.", 0, 4)==0) + return $path; + else return $site.'/'.$path; +} + +/** + * @param string $url URL + * @return boolean + */ +function ignoreLink($url) +{ + return $url[0]=="#" or substr($url, 0, 11) == "javascript:"; +} + +/** + * @param string $link URL + * @param string $title Title + * @param string $metaData Array + * @param int $depth Depth + * @return void + */ +function insertIntoDatabase($link, $title, &$metaData, $depth) +{ + //global $crawledLinks; + + echo "Inserting new record {URL= ".$link.", Title = '$title', Description = '".$metaData['description']."', Keywords = ' ".$metaData['keywords']."'}


"; + + //²$crawledLinks[]=$link; +} + +/** + * @param string $doc Doc + * @param string $url URL + * @return string URL/Title + */ +function getDocTitle(&$doc, $url) +{ + $titleNodes=$doc->getElementsByTagName('title'); + if (count($titleNodes)==0 or !isset($titleNodes[0]->nodeValue)) + return $url; + $title=str_replace('', '\n', $titleNodes[0]->nodeValue); + return (strlen($title)<1)?$url:$title; +} + +/** + * @param string $doc Doc + * @return array Array + */ +function getDocMetaData(&$doc) +{ + $metaData=array(); + $metaNodes=$doc->getElementsByTagName('meta'); + foreach ($metaNodes as $node) + $metaData[$node->getAttribute("name")] = $node->getAttribute("content"); + if (!isset($metaData['description'])) + $metaData['description']='No Description Available'; + if (!isset($metaData['keywords'])) $metaData['keywords']=''; + return array( + 'keywords'=>str_replace('', '\n', $metaData['keywords']), + 'description'=>str_replace('', '\n', $metaData['description']) + ); +} + + +followLink("http://localhost/dolibarr_dev/htdocs"); diff --git a/dev/translation/strip_language_file.php b/dev/translation/strip_language_file.php index f3287db6128..3467b648457 100755 --- a/dev/translation/strip_language_file.php +++ b/dev/translation/strip_language_file.php @@ -177,7 +177,7 @@ foreach ($filesToProcess as $fileToProcess) { // Start reading and parsing English - + $aEnglish = array(); if ($handle = fopen($lEnglishFile, 'r')) { print "Read English File $lEnglishFile:\n"; $cnt = 0; @@ -246,6 +246,9 @@ foreach ($filesToProcess as $fileToProcess) { fwrite($oh, "# Dolibarr language file - Source file is en_US - ".(preg_replace('/\.lang$/', '', $fileToProcess))."\n"); + $fileFirstFound = array(); + $lineFirstFound = array(); + $cnt = 0; while (($line = fgets($handle)) !== false) { $cnt++; @@ -299,6 +302,7 @@ foreach ($filesToProcess as $fileToProcess) { } // String exists in both files and value into alternative language differs from main language but also from english files + // so we keep it. if ((! empty($aSecondary[$key]) && $aSecondary[$key] != $aPrimary[$key] && ! empty($aEnglish[$key]) && $aSecondary[$key] != $aEnglish[$key]) || in_array($key, $arrayofkeytoalwayskeep) || preg_match('/^FormatDate/', $key) || preg_match('/^FormatHour/', $key) diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index 6f510ad3706..c9849f9f54f 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -195,7 +195,7 @@ if (empty($reshook)) { } elseif ($action == 'enable' && $permissiontoadd) { if ($accounting->fetch($id)) { $mode = GETPOST('mode', 'int'); - $result = $accounting->account_activate($id, $mode); + $result = $accounting->accountActivate($id, $mode); } $action = 'update'; if ($result < 0) { @@ -392,7 +392,7 @@ if ($resql) { } print ""; print ajax_combobox("chartofaccounts"); - print ''; + print ''; print '
'; print '
'; diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index 0f4d538cfac..f19afb12899 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -535,7 +535,7 @@ if ($id) { } print ''; - print ''; + print ''; print ''; print ""; @@ -553,16 +553,16 @@ if ($id) { $num = $db->num_rows($resql); $i = 0; - $param = '&id='.$id; + $param = '&id='.urlencode($id); if ($search_country_id > 0) { - $param .= '&search_country_id='.$search_country_id; + $param .= '&search_country_id='.urlencode($search_country_id); } $paramwithsearch = $param; if ($sortorder) { - $paramwithsearch .= '&sortorder='.$sortorder; + $paramwithsearch .= '&sortorder='.urlencode($sortorder); } if ($sortfield) { - $paramwithsearch .= '&sortfield='.$sortfield; + $paramwithsearch .= '&sortfield='.urlencode($sortfield); } // There is several pages @@ -631,7 +631,7 @@ if ($id) { fieldListAccountModel($fieldlist, $obj, $tabname[$id], 'edit'); } - print ' '; + print ' '; print ' '; } else { $tmpaction = 'view'; diff --git a/htdocs/accountancy/admin/card.php b/htdocs/accountancy/admin/card.php index b629e45cf0d..4d69eae7db8 100644 --- a/htdocs/accountancy/admin/card.php +++ b/htdocs/accountancy/admin/card.php @@ -61,7 +61,7 @@ $object = new AccountingAccount($db); */ if (GETPOST('cancel', 'alpha')) { - $urltogo = $backtopage ? $backtopage : dol_buildpath('/accountancy/admin/account.php', 1); + $urltogo = $backtopage ? $backtopage : DOL_URL_ROOT.'/accountancy/admin/account.php'; header("Location: ".$urltogo); exit; } @@ -75,7 +75,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Label")), null, 'errors'); $action = 'create'; } else { - $sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid='.((int) $conf->global->CHARTOFACCOUNTS); + $sql = "SELECT pcg_version FROM " . MAIN_DB_PREFIX . "accounting_system WHERE rowid = ".((int) $conf->global->CHARTOFACCOUNTS); dol_syslog('accountancy/admin/card.php:: $sql=' . $sql); $result = $db->query($sql); @@ -121,7 +121,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) { } if (!$error) { setEventMessages("RecordCreatedSuccessfully", null, 'mesgs'); - $urltogo = $backtopage ? $backtopage : dol_buildpath('/accountancy/admin/account.php', 1); + $urltogo = $backtopage ? $backtopage : DOL_URL_ROOT.'/accountancy/admin/account.php'; header("Location: " . $urltogo); exit; } @@ -138,7 +138,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) { } else { $result = $object->fetch($id); - $sql = 'SELECT pcg_version FROM '.MAIN_DB_PREFIX.'accounting_system WHERE rowid='.((int) $conf->global->CHARTOFACCOUNTS); + $sql = "SELECT pcg_version FROM ".MAIN_DB_PREFIX."accounting_system WHERE rowid=".((int) $conf->global->CHARTOFACCOUNTS); dol_syslog('accountancy/admin/card.php:: $sql=' . $sql); $result2 = $db->query($sql); @@ -257,7 +257,20 @@ if ($action == 'create') { print $form->textwithpicto($langs->trans("Pcgtype"), $langs->transnoentitiesnoconv("PcgtypeDesc")); print ''; print ''; - print ''; + print ''; + // autosuggest from existing account types if found + print ''; + $sql = "SELECT DISTINCT pcg_type FROM " . MAIN_DB_PREFIX . "accounting_account"; + $sql .= " WHERE fk_pcg_version = '" . $db->escape($accountsystem->ref) . "'"; + $sql .= ' AND entity in ('.getEntity('accounting_account', 0).')'; // Always limit to current entity. No sharing in accountancy. + $sql .= ' LIMIT 50000'; // just as a sanity check + $resql = $db->query($sql); + if ($resql) { + while ($obj = $db->fetch_object($resql)) { + print ''; print ''; // Category @@ -320,7 +333,20 @@ if ($action == 'create') { print $form->textwithpicto($langs->trans("Pcgtype"), $langs->transnoentitiesnoconv("PcgtypeDesc")); print ''; print ''; - print ''; + print ''; + // autosuggest from existing account types if found + print ''; + $sql = 'SELECT DISTINCT pcg_type FROM ' . MAIN_DB_PREFIX . 'accounting_account'; + $sql .= " WHERE fk_pcg_version = '" . $db->escape($accountsystem->ref) . "'"; + $sql .= ' AND entity in ('.getEntity('accounting_account', 0).')'; // Always limit to current entity. No sharing in accountancy. + $sql .= ' LIMIT 50000'; // just as a sanity check + $resql = $db->query($sql); + if ($resql) { + while ($obj = $db->fetch_object($resql)) { + print ''; print ''; // Category @@ -335,11 +361,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
'; - print ''; - print '     '; - print ''; - print '
'; + print $form->buttonsSaveCancel(); print ''; } else { diff --git a/htdocs/accountancy/admin/categories.php b/htdocs/accountancy/admin/categories.php index bee481bebd6..39aa21f2d63 100644 --- a/htdocs/accountancy/admin/categories.php +++ b/htdocs/accountancy/admin/categories.php @@ -110,7 +110,7 @@ print ''; print ''; print ''; // Select the accounts @@ -137,7 +137,7 @@ if (!empty($cat_id)) { print '
'; print ajax_combobox('cpt_bk'); */ - print ' '; + print ' '; } print ''; } diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index 9a8a84893fe..2e369e19de1 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -558,7 +558,7 @@ if ($tabname[$id]) { } print ''; print ""; @@ -580,7 +580,7 @@ if ($resql) { $param = '&id='.$id; if ($search_country_id > 0) { - $param .= '&search_country_id='.$search_country_id; + $param .= '&search_country_id='.urlencode($search_country_id); } $paramwithsearch = $param; if ($sortorder) { @@ -734,7 +734,7 @@ if ($resql) { print ''; @@ -811,7 +811,7 @@ if ($resql) { // Modify link if ($canbemodified) { - print ''; + print ''; } else { print ''; } @@ -820,7 +820,7 @@ if ($resql) { if ($iserasable) { print ''; diff --git a/htdocs/accountancy/admin/closure.php b/htdocs/accountancy/admin/closure.php index a7873b72b90..8efb869ffaf 100644 --- a/htdocs/accountancy/admin/closure.php +++ b/htdocs/accountancy/admin/closure.php @@ -124,7 +124,7 @@ print ''; print "
'.$langs->trans("AccountingCategory").''; $formaccounting->select_accounting_category($cat_id, 'account_category', 1, 0, 0, 1); -print ''; +print ''; print '
'; - print ''; + print ''; print '
'; print ''; print ''; - print ''; + print ''; print '
'; print ''; print '
'.img_edit().''.img_edit().' '; if ($user->admin) { - print ''.img_delete().''; + print ''.img_delete().''; } //else print ''.img_delete().''; // Some dictionary can be edited by other profile than admin print '
\n"; -print '
'; +print '
'; print ''; diff --git a/htdocs/accountancy/admin/defaultaccounts.php b/htdocs/accountancy/admin/defaultaccounts.php index 79a5c0975b7..061752c11c5 100644 --- a/htdocs/accountancy/admin/defaultaccounts.php +++ b/htdocs/accountancy/admin/defaultaccounts.php @@ -196,7 +196,7 @@ foreach ($list_account as $key) { print "\n"; -print '
'; +print '
'; print ''; diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index 16463ec027b..2aa33f21645 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -242,11 +242,7 @@ if ($action == 'create') { print ''; - print '
'; - print ''; - print '     '; - print ''; - print '
'; + print $form->buttonsSaveCancel(); print ''; diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 24d31acddd6..45b5acc7c8a 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -91,7 +91,6 @@ if ($action == 'update') { if (!$error) { foreach ($list as $constname) { $constvalue = GETPOST($constname, 'alpha'); - var_dump($constname); if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) { $error++; } @@ -259,7 +258,7 @@ llxHeader('', $title); $linkback = ''; //$linkback = '' . $langs->trans("BackToModuleList") . ''; -print load_fiche_titre($langs->trans('ConfigAccountingExpert'), $linkback, 'accountancy'); +print load_fiche_titre($title, $linkback, 'accountancy'); print '
'; print ''; @@ -447,7 +446,7 @@ print ''; print ''; -print '
'; +print '
'; print '
'; diff --git a/htdocs/accountancy/admin/journals_list.php b/htdocs/accountancy/admin/journals_list.php index 9ba9d8a6e20..66e3f3b73e4 100644 --- a/htdocs/accountancy/admin/journals_list.php +++ b/htdocs/accountancy/admin/journals_list.php @@ -494,7 +494,7 @@ if ($id) { } print ''; - print ''; + print ''; print ''; print ""; @@ -512,7 +512,7 @@ if ($id) { $param = '&id='.$id; if ($search_country_id > 0) { - $param .= '&search_country_id='.$search_country_id; + $param .= '&search_country_id='.urlencode($search_country_id); } $paramwithsearch = $param; if ($sortorder) { @@ -606,7 +606,7 @@ if ($id) { print ''; print ''; print ''; - print ''; + print ''; print ''; print '
'; print ''; diff --git a/htdocs/accountancy/admin/productaccount.php b/htdocs/accountancy/admin/productaccount.php index e29653a3e40..a842c294937 100644 --- a/htdocs/accountancy/admin/productaccount.php +++ b/htdocs/accountancy/admin/productaccount.php @@ -186,19 +186,38 @@ if ($action == 'update') { $msg .= '
'.$langs->trans("ErrorDB").' : '.$langs->trans("Product").' '.$productid.' '.$langs->trans("NotVentilatedinAccount").' : id='.$accounting_account_id.'
'.$sql.'
'; $ko++; } else { - $db->begin(); - + $sql = ''; if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."product_perentity (fk_product, entity, '".$db->escape($accountancy_field_name)."')"; - $sql .= " VALUES (".((int) $productid).", ".((int) $conf->entity).", '".$db->escape($accounting->account_number)."')"; - $sql .= " ON DUPLICATE KEY UPDATE ".$accountancy_field_name." = '".$db->escape($accounting->account_number)."'"; + $sql_exists = "SELECT rowid FROM " . MAIN_DB_PREFIX . "product_perentity"; + $sql_exists .= " WHERE fk_product = " . ((int) $productid) . " AND entity = " . ((int) $conf->entity); + $resql_exists = $db->query($sql_exists); + if (!$resql_exists) { + $msg .= '
'.$langs->trans("ErrorDB").' : '.$langs->trans("Product").' '.$productid.' '.$langs->trans("NotVentilatedinAccount").' : id='.$accounting_account_id.'
'.$resql_exists.'
'; + $ko++; + } else { + $nb_exists = $db->num_rows($resql_exists); + if ($nb_exists <= 0) { + // insert + $sql = "INSERT INTO " . MAIN_DB_PREFIX . "product_perentity (fk_product, entity, '" . $db->escape($accountancy_field_name) . "')"; + $sql .= " VALUES (" . ((int) $productid) . ", " . ((int) $conf->entity) . ", '" . $db->escape($accounting->account_number) . "')"; + } else { + $obj_exists = $db->fetch_object($resql_exists); + // update + $sql = "UPDATE " . MAIN_DB_PREFIX . "product_perentity"; + $sql .= " SET " . $accountancy_field_name . " = '" . $db->escape($accounting->account_number) . "'"; + $sql .= " WHERE rowid = " . ((int) $obj_exists->rowid); + } + } } else { $sql = " UPDATE ".MAIN_DB_PREFIX."product"; $sql .= " SET ".$accountancy_field_name." = '".$db->escape($accounting->account_number)."'"; $sql .= " WHERE rowid = ".((int) $productid); } - dol_syslog("/accountancy/admin/productaccount.php sql=".$sql, LOG_DEBUG); + dol_syslog("/accountancy/admin/productaccount.php", LOG_DEBUG); + + $db->begin(); + if ($db->query($sql)) { $ok++; $db->commit(); @@ -329,7 +348,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { $sql .= $db->plimit($limit + 1, $offset); -dol_syslog("/accountancy/admin/productaccount.php:: sql=".$sql, LOG_DEBUG); +dol_syslog("/accountancy/admin/productaccount.php", LOG_DEBUG); $result = $db->query($sql); if ($result) { $num = $db->num_rows($result); diff --git a/htdocs/accountancy/admin/subaccount.php b/htdocs/accountancy/admin/subaccount.php index ad1804048c3..c3308393c27 100644 --- a/htdocs/accountancy/admin/subaccount.php +++ b/htdocs/accountancy/admin/subaccount.php @@ -439,13 +439,13 @@ if ($resql) { $e = ''; // Customer if ($obj->type == 1) { - $e .= ''.img_edit().''; + $e .= ''.img_edit().''; } elseif ($obj->type == 2) { // Supplier - $e .= ''.img_edit().''; + $e .= ''.img_edit().''; } elseif ($obj->type == 3) { // User - $e .= ''.img_edit().''; + $e .= ''.img_edit().''; } print $e; print ''."\n"; diff --git a/htdocs/accountancy/bookkeeping/balance.php b/htdocs/accountancy/bookkeeping/balance.php index b84fe255760..80dddd28edb 100644 --- a/htdocs/accountancy/bookkeeping/balance.php +++ b/htdocs/accountancy/bookkeeping/balance.php @@ -40,6 +40,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->loadLangs(array("accountancy", "compta")); $action = GETPOST('action', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ09'); // Load variable for pagination $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; @@ -120,19 +121,19 @@ if ($limit > 0 && $limit != $conf->liste_limit) { $filter = array(); if (!empty($search_date_start)) { $filter['t.doc_date>='] = $search_date_start; - $param .= '&date_startmonth='.GETPOST('date_startmonth', 'int').'&date_startday='.GETPOST('date_startday', 'int').'&date_startyear='.GETPOST('date_startyear', 'int'); + $param .= '&date_startmonth='.GETPOST('date_startmonth', 'int').'&date_startday='.GETPOST('date_startday', 'int').'&date_startyear='.GETPOST('date_startyear', 'int'); } if (!empty($search_date_end)) { $filter['t.doc_date<='] = $search_date_end; - $param .= '&date_endmonth='.GETPOST('date_endmonth', 'int').'&date_endday='.GETPOST('date_endday', 'int').'&date_endyear='.GETPOST('date_endyear', 'int'); + $param .= '&date_endmonth='.GETPOST('date_endmonth', 'int').'&date_endday='.GETPOST('date_endday', 'int').'&date_endyear='.GETPOST('date_endyear', 'int'); } if (!empty($search_accountancy_code_start)) { $filter['t.numero_compte>='] = $search_accountancy_code_start; - $param .= '&search_accountancy_code_start='.$search_accountancy_code_start; + $param .= '&search_accountancy_code_start='.urlencode($search_accountancy_code_start); } if (!empty($search_accountancy_code_end)) { $filter['t.numero_compte<='] = $search_accountancy_code_end; - $param .= '&search_accountancy_code_end='.$search_accountancy_code_end; + $param .= '&search_accountancy_code_end='.urlencode($search_accountancy_code_end); } if (!empty($search_ledger_code)) { $filter['t.code_journal'] = $search_ledger_code; @@ -429,7 +430,7 @@ if ($action != 'export_csv') { print ''; print ''.$accounting_account.''; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { - print ''.price($opening_balance).''; + print ''.price(price2num($opening_balance, 'MT')).''; } $urlzoom = ''; @@ -443,9 +444,9 @@ if ($action != 'export_csv') { } } // Debit - print ''.price($line->debit).''; + print ''.price(price2num($line->debit, 'MT')).''; // Credit - print ''.price($line->credit).''; + print ''.price(price2num($line->credit, 'MT')).''; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { print ''.price(price2num($opening_balance + $line->debit - $line->credit, 'MT')).''; @@ -466,10 +467,10 @@ if ($action != 'export_csv') { if (!empty($show_subgroup)) { print ''.$langs->trans("SubTotal").':'; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { - print ''.price($sous_total_opening_balance).''; + print ''.price(price2num($sous_total_opening_balance, 'MT')).''; } - print ''.price($sous_total_debit).''; - print ''.price($sous_total_credit).''; + print ''.price(price2num($sous_total_debit, 'MT')).''; + print ''.price(price2num($sous_total_credit, 'MT')).''; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { print '' . price(price2num($sous_total_opening_balance + $sous_total_debit - $sous_total_credit, 'MT')) . ''; } else { @@ -481,10 +482,10 @@ if ($action != 'export_csv') { print ''.$langs->trans("AccountBalance").':'; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { - print ''.price($total_opening_balance).''; + print ''.price(price2num($total_opening_balance, 'MT')).''; } - print ''.price($total_debit).''; - print ''.price($total_credit).''; + print ''.price(price2num($total_debit, 'MT')).''; + print ''.price(price2num($total_credit, 'MT')).''; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { print '' . price(price2num($total_opening_balance + $total_debit - $total_credit, 'MT')) . ''; } else { diff --git a/htdocs/accountancy/bookkeeping/card.php b/htdocs/accountancy/bookkeeping/card.php index 4c7194b2255..c71958691bd 100644 --- a/htdocs/accountancy/bookkeeping/card.php +++ b/htdocs/accountancy/bookkeeping/card.php @@ -389,11 +389,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
'; - print ''; - print '     '; - print ''; - print '
'; + print $form->buttonsSaveCancel("Create"); print ''; } else { @@ -437,7 +433,7 @@ if ($action == 'create') { print $langs->trans('Docdate'); print ''; if ($action != 'editdate') { - print 'piece_num.'&mode='.$mode.'">'.img_edit($langs->transnoentitiesnoconv('SetDate'), 1).''; + print 'piece_num).'&mode='.urlencode($mode).'">'.img_edit($langs->transnoentitiesnoconv('SetDate'), 1).''; } print ''; print ''; @@ -450,7 +446,7 @@ if ($action == 'create') { print ''; print ''; print $form->selectDate($object->doc_date ? $object->doc_date : - 1, 'doc_date', '', '', '', "setdate"); - print ''; + print ''; print ''; } else { print $object->doc_date ? dol_print_date($object->doc_date, 'day') : ' '; @@ -464,7 +460,7 @@ if ($action == 'create') { print $langs->trans('Codejournal'); print ''; if ($action != 'editjournal') { - print 'piece_num.'&mode='.$mode.'">'.img_edit($langs->transnoentitiesnoconv('Edit'), 1).''; + print 'piece_num).'&mode='.urlencode($mode).'">'.img_edit($langs->transnoentitiesnoconv('Edit'), 1).''; } print ''; print ''; @@ -477,7 +473,7 @@ if ($action == 'create') { print ''; print ''; print $formaccounting->select_journal($object->code_journal, 'code_journal', 0, 0, array(), 1, 1); - print ''; + print ''; print ''; } else { print $object->code_journal; @@ -491,7 +487,7 @@ if ($action == 'create') { print $langs->trans('Piece'); print ''; if ($action != 'editdocref') { - print 'piece_num.'&mode='.$mode.'">'.img_edit($langs->transnoentitiesnoconv('Edit'), 1).''; + print 'piece_num).'&mode='.urlencode($mode).'">'.img_edit($langs->transnoentitiesnoconv('Edit'), 1).''; } print ''; print ''; @@ -504,7 +500,7 @@ if ($action == 'create') { print ''; print ''; print ''; - print ''; + print ''; print ''; } else { print $object->doc_ref; @@ -637,6 +633,8 @@ if ($action == 'create') { print_liste_field_titre("Credit", "", "", "", "", 'class="right"'); if (empty($object->date_validation)) { print_liste_field_titre("Action", "", "", "", "", 'width="60" class="center"'); + } else { + print_liste_field_titre(""); } print "\n"; @@ -683,8 +681,8 @@ if ($action == 'create') { print ''.price($line->debit).''; print ''.price($line->credit).''; - if (empty($line->date_export) || empty($line->date_validation)) { - print ''; + print ''; + if (empty($line->date_export) && empty($line->date_validation)) { print 'id . '&piece_num=' . urlencode($line->piece_num) . '&mode=' . urlencode($mode) . '&token=' . urlencode(newToken()) . '">'; print img_edit('', 0, 'class="marginrightonly"'); print '  '; @@ -713,7 +711,7 @@ if ($action == 'create') { setEventMessages(null, array($langs->trans('MvtNotCorrectlyBalanced', $total_debit, $total_credit)), 'warnings'); } - if (empty($object->date_export) || empty($object->date_validation)) { + if (empty($object->date_export) && empty($object->date_validation)) { if ($action == "" || $action == 'add') { print ''; print ''; diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index a70bb710937..1b2f376c33f 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -366,42 +366,42 @@ if (empty($reshook)) { if (!empty($search_date_creation_start)) { $filter['t.date_creation>='] = $search_date_creation_start; $tmp = dol_getdate($search_date_creation_start); - $param .= '&date_creation_startmonth='.urlencode($tmp['mon']).'&date_creation_startday='.urlencode($tmp['mday']).'&date_creation_startyear='.urlencode($tmp['year']); + $param .= '&search_date_creation_startmonth='.urlencode($tmp['mon']).'&search_date_creation_startday='.urlencode($tmp['mday']).'&search_date_creation_startyear='.urlencode($tmp['year']); } if (!empty($search_date_creation_end)) { $filter['t.date_creation<='] = $search_date_creation_end; $tmp = dol_getdate($search_date_creation_end); - $param .= '&date_creation_endmonth='.urlencode($tmp['mon']).'&date_creation_endday='.urlencode($tmp['mday']).'&date_creation_endyear='.urlencode($tmp['year']); + $param .= '&search_date_creation_endmonth='.urlencode($tmp['mon']).'&search_date_creation_endday='.urlencode($tmp['mday']).'&search_date_creation_endyear='.urlencode($tmp['year']); } if (!empty($search_date_modification_start)) { $filter['t.tms>='] = $search_date_modification_start; $tmp = dol_getdate($search_date_modification_start); - $param .= '&date_modification_startmonth='.urlencode($tmp['mon']).'&date_modification_startday='.urlencode($tmp['mday']).'&date_modification_startyear='.urlencode($tmp['year']); + $param .= '&search_date_modification_startmonth='.urlencode($tmp['mon']).'&search_date_modification_startday='.urlencode($tmp['mday']).'&search_date_modification_startyear='.urlencode($tmp['year']); } if (!empty($search_date_modification_end)) { $filter['t.tms<='] = $search_date_modification_end; $tmp = dol_getdate($search_date_modification_end); - $param .= '&date_modification_endmonth='.urlencode($tmp['mon']).'&date_modification_endday='.urlencode($tmp['mday']).'&date_modification_endyear='.urlencode($tmp['year']); + $param .= '&search_date_modification_endmonth='.urlencode($tmp['mon']).'&search_date_modification_endday='.urlencode($tmp['mday']).'&search_date_modification_endyear='.urlencode($tmp['year']); } if (!empty($search_date_export_start)) { $filter['t.date_export>='] = $search_date_export_start; $tmp = dol_getdate($search_date_export_start); - $param .= '&date_export_startmonth='.urlencode($tmp['mon']).'&date_export_startday='.urlencode($tmp['mday']).'&date_export_startyear='.urlencode($tmp['year']); + $param .= '&search_date_export_startmonth='.urlencode($tmp['mon']).'&search_date_export_startday='.urlencode($tmp['mday']).'&search_date_export_startyear='.urlencode($tmp['year']); } if (!empty($search_date_export_end)) { $filter['t.date_export<='] = $search_date_export_end; $tmp = dol_getdate($search_date_export_end); - $param .= '&date_export_endmonth='.urlencode($tmp['mon']).'&date_export_endday='.urlencode($tmp['mday']).'&date_export_endyear='.urlencode($tmp['year']); + $param .= '&search_date_export_endmonth='.urlencode($tmp['mon']).'&search_date_export_endday='.urlencode($tmp['mday']).'&search_date_export_endyear='.urlencode($tmp['year']); } if (!empty($search_date_validation_start)) { $filter['t.date_validated>='] = $search_date_validation_start; $tmp = dol_getdate($search_date_validation_start); - $param .= '&date_validation_startmonth='.urlencode($tmp['mon']).'&date_validation_startday='.urlencode($tmp['mday']).'&date_validation_startyear='.urlencode($tmp['year']); + $param .= '&search_date_validation_startmonth='.urlencode($tmp['mon']).'&search_date_validation_startday='.urlencode($tmp['mday']).'&search_date_validation_startyear='.urlencode($tmp['year']); } if (!empty($search_date_validation_end)) { $filter['t.date_validated<='] = $search_date_validation_end; $tmp = dol_getdate($search_date_validation_end); - $param .= '&date_validation_endmonth='.urlencode($tmp['mon']).'&date_validation_endday='.urlencode($tmp['mday']).'&date_validation_endyear='.urlencode($tmp['year']); + $param .= '&search_date_validation_endmonth='.urlencode($tmp['mon']).'&search_date_validation_endday='.urlencode($tmp['mday']).'&search_date_validation_endyear='.urlencode($tmp['year']); } if (!empty($search_debit)) { $filter['t.debit'] = $search_debit; @@ -530,25 +530,25 @@ $sqlwhere = array(); if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.doc_date') { - $sqlwhere[] = $key.'=\''.$db->idate($value).'\''; + $sqlwhere[] = $key."='".$db->idate($value)."'"; } elseif ($key == 't.doc_date>=' || $key == 't.doc_date<=') { - $sqlwhere[] = $key.'\''.$db->idate($value).'\''; + $sqlwhere[] = $key."'".$db->idate($value)."'"; } elseif ($key == 't.numero_compte>=' || $key == 't.numero_compte<=') { - $sqlwhere[] = $key.'\''.$db->escape($value).'\''; + $sqlwhere[] = $key."'".$db->escape($value)."'"; } elseif ($key == 't.fk_doc' || $key == 't.fk_docdet' || $key == 't.piece_num') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key.'='.((int) $value); } elseif ($key == 't.numero_compte') { - $sqlwhere[] = $key.' LIKE \''.$db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '".$db->escape($value)."%'"; } elseif ($key == 't.subledger_account') { $sqlwhere[] = natural_search($key, $value, 0, 1); } elseif ($key == 't.date_creation>=' || $key == 't.date_creation<=') { - $sqlwhere[] = $key.'\''.$db->idate($value).'\''; + $sqlwhere[] = $key."'".$db->idate($value)."'"; } elseif ($key == 't.tms>=' || $key == 't.tms<=') { - $sqlwhere[] = $key.'\''.$db->idate($value).'\''; + $sqlwhere[] = $key."'".$db->idate($value)."'"; } elseif ($key == 't.date_export>=' || $key == 't.date_export<=') { - $sqlwhere[] = $key.'\''.$db->idate($value).'\''; + $sqlwhere[] = $key."'".$db->idate($value)."'"; } elseif ($key == 't.date_validated>=' || $key == 't.date_validated<=') { - $sqlwhere[] = $key.'\''.$db->idate($value).'\''; + $sqlwhere[] = $key."'".$db->idate($value)."'"; } elseif ($key == 't.credit' || $key == 't.debit') { $sqlwhere[] = natural_search($key, $value, 1, 1); } elseif ($key == 't.reconciled_option') { @@ -576,7 +576,7 @@ if (!empty($sortfield)) { // Export into a file with format defined into setup (FEC, CSV, ...) // Must be after definition of $sql if ($action == 'export_fileconfirm' && $user->rights->accounting->mouvements->export) { - // TODO Replace the fetchAll + ->export later that consume too much memory on large export with the query($sql) and loop on each line to export them. + // TODO Replace the fetchAll to get all ->line followed by call to ->export(). It consumew too much memory on large export. Replace this with the query($sql) and loop on each line to export them. $result = $object->fetchAll($sortorder, $sortfield, 0, 0, $filter, 'AND', (empty($conf->global->ACCOUNTING_REEXPORT) ? 0 : 1)); if ($result < 0) { @@ -591,7 +591,7 @@ if ($action == 'export_fileconfirm' && $user->rights->accounting->mouvements->ex if (!empty($accountancyexport->errors)) { setEventMessages('', $accountancyexport->errors, 'errors'); - } elseif (!$notifiedexportdate || !$notifiedvalidationdate) { + } elseif (!empty($notifiedexportdate) || !empty($notifiedvalidationdate)) { // Specify as export : update field date_export or date_validated $error = 0; $db->begin(); @@ -602,17 +602,18 @@ if ($action == 'export_fileconfirm' && $user->rights->accounting->mouvements->ex $sql = " UPDATE ".MAIN_DB_PREFIX."accounting_bookkeeping"; $sql .= " SET"; - if (!$notifiedexportdate && !$notifiedvalidationdate) { + if (!empty($notifiedexportdate) && !empty($notifiedvalidationdate)) { $sql .= " date_export = '".$db->idate($now)."'"; $sql .= ", date_validated = '".$db->idate($now)."'"; - } elseif (!$notifiedexportdate) { + } elseif (!empty($notifiedexportdate)) { $sql .= " date_export = '".$db->idate($now)."'"; - } elseif (!$notifiedvalidationdate) { + } elseif (!empty($notifiedvalidationdate)) { $sql .= " date_validated = '".$db->idate($now)."'"; } $sql .= " WHERE rowid = ".((int) $movement->id); - dol_syslog("/accountancy/bookeeping/list.php Function export_file Specify movements as exported sql=".$sql, LOG_DEBUG); + dol_syslog("/accountancy/bookkeeping/list.php Function export_file Specify movements as exported", LOG_DEBUG); + $result = $db->query($sql); if (!$result) { $error++; @@ -822,7 +823,7 @@ if (!empty($arrayfields['t.piece_num']['checked'])) { // Code journal if (!empty($arrayfields['t.code_journal']['checked'])) { print ''; - print $formaccounting->multi_select_journal($search_ledger_code, 'search_ledger_code', 0, 1, 1, 1); + print $formaccounting->multi_select_journal($search_ledger_code, 'search_ledger_code', 0, 1, 1, 1, 'maxwidth150'); print ''; } // Date document @@ -865,7 +866,7 @@ if (!empty($arrayfields['t.subledger_account']['checked'])) { print $formaccounting->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', $langs->trans('to'), 'maxwidth250', 'subledgeraccount'); print ''; } else { - print ''; + print ''; } print ''; } @@ -904,10 +905,10 @@ print $hookmanager->resPrint; if (!empty($arrayfields['t.date_creation']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_creation_start, 'date_creation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_creation_start, 'search_date_creation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_creation_end, 'date_creation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print $form->selectDate($search_date_creation_end, 'search_date_creation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); print '
'; print ''; } @@ -915,10 +916,10 @@ if (!empty($arrayfields['t.date_creation']['checked'])) { if (!empty($arrayfields['t.tms']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_modification_start, 'date_modification_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_modification_start, 'search_date_modification_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_modification_end, 'date_modification_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_modification_end, 'search_date_modification_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print ''; } @@ -926,10 +927,10 @@ if (!empty($arrayfields['t.tms']['checked'])) { if (!empty($arrayfields['t.date_export']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_export_start, 'date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_export_start, 'search_date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_export_end, 'date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print $form->selectDate($search_date_export_end, 'search_date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); print '
'; print ''; } @@ -937,10 +938,10 @@ if (!empty($arrayfields['t.date_export']['checked'])) { if (!empty($arrayfields['t.date_validated']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_validation_start, 'date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_validation_start, 'search_date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_validation_end, 'date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print $form->selectDate($search_date_validation_end, 'search_date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); print '
'; print ''; } @@ -1243,14 +1244,14 @@ while ($i < min($num, $limit)) { // Action column print ''; - if (empty($line->date_export) || empty($line->date_validation)) { + if (empty($line->date_export) && empty($line->date_validation)) { if ($user->rights->accounting->mouvements->creer) { print '' . img_edit() . ''; } } if (empty($line->date_validation)) { if ($user->rights->accounting->mouvements->supprimer) { - print ''.img_delete().''; + print ''.img_delete().''; } } print ''; @@ -1274,7 +1275,7 @@ print ''; // TODO Replace this with mass delete action if ($user->rights->accounting->mouvements->supprimer_tous) { print ''; } diff --git a/htdocs/accountancy/bookkeeping/listbyaccount.php b/htdocs/accountancy/bookkeeping/listbyaccount.php index 98c3f14191b..22ba2d3f0b1 100644 --- a/htdocs/accountancy/bookkeeping/listbyaccount.php +++ b/htdocs/accountancy/bookkeeping/listbyaccount.php @@ -2,7 +2,7 @@ /* Copyright (C) 2016 Neil Orley * Copyright (C) 2013-2016 Olivier Geffroy * Copyright (C) 2013-2020 Florian Henry - * Copyright (C) 2013-2020 Alexandre Spangaro + * Copyright (C) 2013-2021 Alexandre Spangaro * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -56,6 +56,14 @@ $search_date_export_endmonth = GETPOST('search_date_export_endmonth', 'int'); $search_date_export_endday = GETPOST('search_date_export_endday', 'int'); $search_date_export_start = dol_mktime(0, 0, 0, $search_date_export_startmonth, $search_date_export_startday, $search_date_export_startyear); $search_date_export_end = dol_mktime(23, 59, 59, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear); +$search_date_validation_startyear = GETPOST('search_date_validation_startyear', 'int'); +$search_date_validation_startmonth = GETPOST('search_date_validation_startmonth', 'int'); +$search_date_validation_startday = GETPOST('search_date_validation_startday', 'int'); +$search_date_validation_endyear = GETPOST('search_date_validation_endyear', 'int'); +$search_date_validation_endmonth = GETPOST('search_date_validation_endmonth', 'int'); +$search_date_validation_endday = GETPOST('search_date_validation_endday', 'int'); +$search_date_validation_start = dol_mktime(0, 0, 0, $search_date_validation_startmonth, $search_date_validation_startday, $search_date_validation_startyear); +$search_date_validation_end = dol_mktime(23, 59, 59, $search_date_validation_endmonth, $search_date_validation_endday, $search_date_validation_endyear); $search_accountancy_code = GETPOST("search_accountancy_code"); $search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha'); @@ -81,7 +89,7 @@ if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_ } // Load variable for pagination -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION); $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); @@ -144,6 +152,7 @@ $arrayfields = array( 't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1), 't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1), 't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1), + 't.date_validated'=>array('label'=>$langs->trans("DateValidation"), 'checked'=>1), ); if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) { @@ -221,6 +230,14 @@ if (empty($reshook)) { $search_date_export_endyear = ''; $search_date_export_endmonth = ''; $search_date_export_endday = ''; + $search_date_validation_start = ''; + $search_date_validation_end = ''; + $search_date_validation_startyear = ''; + $search_date_validation_startmonth = ''; + $search_date_validation_startday = ''; + $search_date_validation_endyear = ''; + $search_date_validation_endmonth = ''; + $search_date_validation_endday = ''; $search_debit = ''; $search_credit = ''; $search_lettering_code = ''; @@ -301,6 +318,14 @@ if (empty($reshook)) { $filter['t.date_export<='] = $search_date_export_end; $param .= '&search_date_export_endmonth='.$search_date_export_endmonth.'&search_date_export_endday='.$search_date_export_endday.'&search_date_export_endyear='.$search_date_export_endyear; } + if (!empty($search_date_validation_start)) { + $filter['t.date_validated>='] = $search_date_validation_start; + $param .= '&search_date_validation_startmonth='.$search_date_validation_startmonth.'&search_date_validation_startday='.$search_date_validation_startday.'&search_date_validation_startyear='.$search_date_validation_startyear; + } + if (!empty($search_date_validation_end)) { + $filter['t.date_validated<='] = $search_date_validation_end; + $param .= '&search_date_validation_endmonth='.$search_date_validation_endmonth.'&search_date_validation_endday='.$search_date_validation_endday.'&search_date_validation_endyear='.$search_date_validation_endyear; + } } if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) { @@ -484,10 +509,9 @@ $moreforfilter = ''; $moreforfilter .= '
'; $moreforfilter .= $langs->trans('AccountAccounting').': '; $moreforfilter .= '
'; -$moreforfilter .= $langs->trans('From').' '; -$moreforfilter .= $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, 'maxwidth200'); -$moreforfilter .= ' '.$langs->trans('to').' '; -$moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, 'maxwidth200'); +$moreforfilter .= $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', $langs->trans('From'), array(), 1, 1, 'maxwidth200'); +$moreforfilter .= ' '; +$moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', $langs->trans('to'), array(), 1, 1, 'maxwidth200'); $moreforfilter .= '
'; $moreforfilter .= '
'; @@ -564,6 +588,17 @@ if (!empty($arrayfields['t.date_export']['checked'])) { print ''; print ''; } +// Date validation +if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''; + print '
'; + print $form->selectDate($search_date_validation_start, 'search_date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print '
'; + print '
'; + print $form->selectDate($search_date_validation_end, 'search_date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print '
'; + print ''; +} // Fields from hook $parameters = array('arrayfields'=>$arrayfields); @@ -605,6 +640,9 @@ if (!empty($arrayfields['t.lettering_code']['checked'])) { if (!empty($arrayfields['t.date_export']['checked'])) { print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center '); } +if (!empty($arrayfields['t.date_validated']['checked'])) { + print_liste_field_titre($arrayfields['t.date_validated']['label'], $_SERVER['PHP_SELF'], "t.date_validated", "", $param, '', $sortfield, $sortorder, 'center '); +} // Hook fields $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook @@ -632,20 +670,19 @@ while ($i < min($num, $limit)) { $accountg = length_accountg($line->numero_compte); //if (empty($accountg)) $accountg = '-'; + $colspan = 0; // colspan before field 'label of operation' + $colspanend = 3; // colspan after debit/credit + if (!empty($arrayfields['t.piece_num']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.code_journal']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_date']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_ref']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.label_operation']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.date_export']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.date_validating']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.lettering_code']['checked'])) { $colspanend++; } + // Is it a break ? if ($accountg != $displayed_account_number || !isset($displayed_account_number)) { - $colnumber = 5; - $colnumberend = 7; - - if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) { - $colnumber--; - } - if (empty($arrayfields['t.date_export']['checked'])) { - $colnumber--; - } - - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; // Show a subtotal by accounting account if (isset($displayed_account_number)) { print ''; @@ -845,6 +882,14 @@ while ($i < min($num, $limit)) { } } + // Validated operation date + if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''.dol_print_date($line->date_validation, 'dayhour').''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // Fields from hook $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook @@ -852,12 +897,14 @@ while ($i < min($num, $limit)) { // Action column print ''; - if (empty($line->date_export)) { + if (empty($line->date_export) && empty($line->date_validation)) { if ($user->rights->accounting->mouvements->creer) { - print ''.img_edit().''; + print '' . img_edit() . ''; } + } + if (empty($line->date_validation)) { if ($user->rights->accounting->mouvements->supprimer) { - print '   '.img_delete().''; + print ''.img_delete().''; } } print ''; @@ -874,9 +921,7 @@ while ($i < min($num, $limit)) { $i++; } -if ($num > 0) { - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; +if ($num > 0 && $colspan > 0) { print ''; print ''.$langs->trans("TotalForAccount").' '.$accountg.':'; print ''.price($sous_total_debit).''; @@ -912,7 +957,7 @@ print ''; // TODO Replace this with mass delete action if ($user->rights->accounting->mouvements->supprimer_tous) { print ''; } diff --git a/htdocs/accountancy/bookkeeping/listbysubaccount.php b/htdocs/accountancy/bookkeeping/listbysubaccount.php index 20899c693c6..101a8897bb5 100644 --- a/htdocs/accountancy/bookkeeping/listbysubaccount.php +++ b/htdocs/accountancy/bookkeeping/listbysubaccount.php @@ -2,8 +2,8 @@ /* Copyright (C) 2016 Neil Orley * Copyright (C) 2013-2016 Olivier Geffroy * Copyright (C) 2013-2020 Florian Henry - * Copyright (C) 2013-2020 Alexandre Spangaro - * Copyright (C) 2018-2020 Frédéric France + * Copyright (C) 2013-2021 Alexandre Spangaro + * Copyright (C) 2018-2020 Frédéric France * * 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 @@ -46,7 +46,7 @@ $search_date_endyear = GETPOST('search_date_endyear', 'int'); $search_date_endmonth = GETPOST('search_date_endmonth', 'int'); $search_date_endday = GETPOST('search_date_endday', 'int'); $search_date_start = dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear); -$search_date_end = dol_mktime(0, 0, 0, $search_date_endmonth, $search_date_endday, $search_date_endyear); +$search_date_end = dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear); $search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int')); $search_date_export_startyear = GETPOST('search_date_export_startyear', 'int'); $search_date_export_startmonth = GETPOST('search_date_export_startmonth', 'int'); @@ -55,7 +55,15 @@ $search_date_export_endyear = GETPOST('search_date_export_endyear', 'int'); $search_date_export_endmonth = GETPOST('search_date_export_endmonth', 'int'); $search_date_export_endday = GETPOST('search_date_export_endday', 'int'); $search_date_export_start = dol_mktime(0, 0, 0, $search_date_export_startmonth, $search_date_export_startday, $search_date_export_startyear); -$search_date_export_end = dol_mktime(0, 0, 0, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear); +$search_date_export_end = dol_mktime(23, 59, 59, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear); +$search_date_validation_startyear = GETPOST('search_date_validation_startyear', 'int'); +$search_date_validation_startmonth = GETPOST('search_date_validation_startmonth', 'int'); +$search_date_validation_startday = GETPOST('search_date_validation_startday', 'int'); +$search_date_validation_endyear = GETPOST('search_date_validation_endyear', 'int'); +$search_date_validation_endmonth = GETPOST('search_date_validation_endmonth', 'int'); +$search_date_validation_endday = GETPOST('search_date_validation_endday', 'int'); +$search_date_validation_start = dol_mktime(0, 0, 0, $search_date_validation_startmonth, $search_date_validation_startday, $search_date_validation_startyear); +$search_date_validation_end = dol_mktime(23, 59, 59, $search_date_validation_endmonth, $search_date_validation_endday, $search_date_validation_endyear); $search_accountancy_code = GETPOST("search_accountancy_code"); $search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha'); @@ -144,6 +152,7 @@ $arrayfields = array( 't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1), 't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1), 't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1), + 't.date_validated'=>array('label'=>$langs->trans("DateValidation"), 'checked'=>1), ); if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) { @@ -221,6 +230,14 @@ if (empty($reshook)) { $search_date_export_endyear = ''; $search_date_export_endmonth = ''; $search_date_export_endday = ''; + $search_date_validation_start = ''; + $search_date_validation_end = ''; + $search_date_validation_startyear = ''; + $search_date_validation_startmonth = ''; + $search_date_validation_startday = ''; + $search_date_validation_endyear = ''; + $search_date_validation_endmonth = ''; + $search_date_validation_endday = ''; $search_debit = ''; $search_credit = ''; $search_lettering_code = ''; @@ -301,6 +318,14 @@ if (empty($reshook)) { $filter['t.date_export<='] = $search_date_export_end; $param .= '&search_date_export_endmonth='.$search_date_export_endmonth.'&search_date_export_endday='.$search_date_export_endday.'&search_date_export_endyear='.$search_date_export_endyear; } + if (!empty($search_date_validation_start)) { + $filter['t.date_validated>='] = $search_date_validation_start; + $param .= '&search_date_validation_startmonth='.$search_date_validation_startmonth.'&search_date_validation_startday='.$search_date_validation_startday.'&search_date_validation_startyear='.$search_date_validation_startyear; + } + if (!empty($search_date_validation_end)) { + $filter['t.date_validated<='] = $search_date_validation_end; + $param .= '&search_date_validation_endmonth='.$search_date_validation_endmonth.'&search_date_validation_endday='.$search_date_validation_endday.'&search_date_validation_endyear='.$search_date_validation_endyear; + } } if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) { @@ -373,7 +398,6 @@ $title_page = $langs->trans("Operations").' - '.$langs->trans("VueByAccountAccou llxHeader('', $title_page); - // List $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { @@ -448,7 +472,6 @@ print ''; print ''; - $parameters = array(); $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook if (empty($reshook)) { @@ -488,10 +511,9 @@ $moreforfilter = ''; $moreforfilter .= '
'; $moreforfilter .= $langs->trans('AccountAccounting').': '; $moreforfilter .= '
'; -$moreforfilter .= $langs->trans('From').' '; -$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_start, 'search_accountancy_code_start', 1, 'maxwidth200'); -$moreforfilter .= ' '.$langs->trans('to').' '; -$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_end, 'search_accountancy_code_end', 1, 'maxwidth200'); +$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_start, 'search_accountancy_code_start', $langs->trans('From'), 'maxwidth200'); +$moreforfilter .= ' '; +$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_end, 'search_accountancy_code_end', $langs->trans('to'), 'maxwidth200'); $moreforfilter .= '
'; $moreforfilter .= '
'; @@ -568,6 +590,17 @@ if (!empty($arrayfields['t.date_export']['checked'])) { print ''; print ''; } +// Date validation +if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''; + print '
'; + print $form->selectDate($search_date_validation_start, 'search_date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print '
'; + print '
'; + print $form->selectDate($search_date_validation_end, 'search_date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print '
'; + print ''; +} // Fields from hook $parameters = array('arrayfields'=>$arrayfields); @@ -609,6 +642,9 @@ if (!empty($arrayfields['t.lettering_code']['checked'])) { if (!empty($arrayfields['t.date_export']['checked'])) { print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center '); } +if (!empty($arrayfields['t.date_validated']['checked'])) { + print_liste_field_titre($arrayfields['t.date_validated']['label'], $_SERVER['PHP_SELF'], "t.date_validated", "", $param, '', $sortfield, $sortorder, 'center '); +} // Hook fields $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook @@ -636,21 +672,19 @@ while ($i < min($num, $limit)) { $accountg = length_accounta($line->subledger_account); //if (empty($accountg)) $accountg = '-'; + $colspan = 0; // colspan before field 'label of operation' + $colspanend = 3; // colspan after debit/credit + if (!empty($arrayfields['t.piece_num']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.code_journal']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_date']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_ref']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.label_operation']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.date_export']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.date_validating']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.lettering_code']['checked'])) { $colspanend++; } + // Is it a break ? if ($accountg != $displayed_account_number || !isset($displayed_account_number)) { - $colnumber = 5; - $colnumberend = 7; - - if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) { - $colnumber--; - } - if (empty($arrayfields['t.date_export']['checked'])) { - $colnumber--; - } - - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; - // Show a subtotal by accounting account if (isset($displayed_account_number)) { print ''; @@ -859,6 +893,14 @@ while ($i < min($num, $limit)) { } } + // Validated operation date + if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''.dol_print_date($line->date_validation, 'dayhour').''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // Fields from hook $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook @@ -866,12 +908,14 @@ while ($i < min($num, $limit)) { // Action column print ''; - if (empty($line->date_export)) { + if (empty($line->date_export) && empty($line->date_validation)) { if ($user->rights->accounting->mouvements->creer) { - print ''.img_edit().''; + print '' . img_edit() . ''; } + } + if (empty($line->date_validation)) { if ($user->rights->accounting->mouvements->supprimer) { - print '   '.img_delete().''; + print ''.img_delete().''; } } print ''; @@ -888,9 +932,7 @@ while ($i < min($num, $limit)) { $i++; } -if ($num > 0) { - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; +if ($num > 0 && $colspan > 0) { print ''; print ''.$langs->trans("TotalForAccount").' '.$accountg.':'; print ''.price($sous_total_debit).''; @@ -926,7 +968,7 @@ print ''; // TODO Replace this with mass delete action if ($user->rights->accounting->mouvements->supprimer_tous) { print ''; } diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 77d10516daa..7657e997ff6 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -212,7 +212,7 @@ class AccountancyCategory // extends CommonObject $sql .= " ".(!isset($this->position) ? 'NULL' : ((int) $this->position)).","; $sql .= " ".(!isset($this->fk_country) ? 'NULL' : ((int) $this->fk_country)).","; $sql .= " ".(!isset($this->active) ? 'NULL' : ((int) $this->active)); - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $conf->entity); $sql .= ")"; $this->db->begin(); @@ -433,7 +433,7 @@ class AccountancyCategory // extends CommonObject $this->lines_display = array(); - dol_syslog(__METHOD__." sql=".$sql, LOG_DEBUG); + dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); @@ -632,7 +632,7 @@ class AccountancyCategory // extends CommonObject $sql .= " WHERE aa.rowid = ".((int) $cpt_id); $this->db->begin(); - dol_syslog(__METHOD__." sql=".$sql, LOG_DEBUG); + dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); if (!$resql) { $error++; diff --git a/htdocs/accountancy/class/accountancyexport.class.php b/htdocs/accountancy/class/accountancyexport.class.php index f007208cf57..2c4dbfd51cd 100644 --- a/htdocs/accountancy/class/accountancyexport.class.php +++ b/htdocs/accountancy/class/accountancyexport.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2015 Florian Henry * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2016 Pierre-Henry Favre - * Copyright (C) 2016-2020 Alexandre Spangaro + * Copyright (C) 2016-2021 Alexandre Spangaro * Copyright (C) 2013-2017 Olivier Geffroy * Copyright (C) 2017 Elarifr. Ari Elbaz * Copyright (C) 2017-2019 Frédéric France @@ -59,6 +59,8 @@ class AccountancyExport public static $EXPORT_TYPE_LDCOMPTA10 = 120; public static $EXPORT_TYPE_GESTIMUMV3 = 130; public static $EXPORT_TYPE_GESTIMUMV5 = 135; + public static $EXPORT_TYPE_ISUITEEXPERT = 200; + // Generic FEC after that public static $EXPORT_TYPE_FEC = 1000; public static $EXPORT_TYPE_FEC2 = 1010; @@ -119,10 +121,11 @@ class AccountancyExport self::$EXPORT_TYPE_CHARLEMAGNE => $langs->trans('Modelcsv_charlemagne'), self::$EXPORT_TYPE_LDCOMPTA => $langs->trans('Modelcsv_LDCompta'), self::$EXPORT_TYPE_LDCOMPTA10 => $langs->trans('Modelcsv_LDCompta10'), - self::$EXPORT_TYPE_GESTIMUMV3 => $langs->trans('Modelcsv_Gestinum_v3'), - self::$EXPORT_TYPE_GESTIMUMV5 => $langs->trans('Modelcsv_Gestinum_v5'), + self::$EXPORT_TYPE_GESTIMUMV3 => $langs->trans('Modelcsv_Gestinumv3'), + self::$EXPORT_TYPE_GESTIMUMV5 => $langs->trans('Modelcsv_Gestinumv5'), self::$EXPORT_TYPE_FEC => $langs->trans('Modelcsv_FEC'), self::$EXPORT_TYPE_FEC2 => $langs->trans('Modelcsv_FEC2'), + self::$EXPORT_TYPE_ISUITEEXPERT => 'Export iSuite Expert', ); ksort($listofexporttypes, SORT_NUMERIC); @@ -158,6 +161,7 @@ class AccountancyExport self::$EXPORT_TYPE_GESTIMUMV5 => 'gestimumv5', self::$EXPORT_TYPE_FEC => 'fec', self::$EXPORT_TYPE_FEC2 => 'fec2', + self::$EXPORT_TYPE_ISUITEEXPERT => 'isuiteexpert', ); return $formatcode[$type]; @@ -243,6 +247,10 @@ class AccountancyExport 'label' => $langs->trans('Modelcsv_FEC2'), 'ACCOUNTING_EXPORT_FORMAT' => 'txt', ), + self::$EXPORT_TYPE_ISUITEEXPERT => array( + 'label' => 'iSuite Expert', + 'ACCOUNTING_EXPORT_FORMAT' => 'csv', + ), ), 'cr'=> array( '1' => $langs->trans("Unix"), @@ -334,6 +342,9 @@ class AccountancyExport case self::$EXPORT_TYPE_FEC2: $this->exportFEC2($TData); break; + case self::$EXPORT_TYPE_ISUITEEXPERT : + $this->exportiSuiteExpert($TData); + break; default: $this->errors[] = $langs->trans('accountancy_error_modelnotfound'); break; @@ -466,38 +477,47 @@ class AccountancyExport } /** - * Export format : CIEL + * Export format : CIEL (Format XIMPORT) + * Format since 2003 compatible CIEL version > 2002 / Sage50 + * Last review for this format : 2021-09-13 Alexandre Spangaro (aspangaro@open-dsi.fr) + * + * Help : https://sage50c.online-help.sage.fr/aide-technique/ + * In sage software | Use menu : "Exchange" > "Importing entries..." + * + * If you want to force filename to "XIMPORT.TXT" for automatically import file present in a directory : + * use constant ACCOUNTING_EXPORT_XIMPORT_FORCE_FILENAME * * @param array $TData data * @return void */ public function exportCiel(&$TData) { - global $conf; - $end_line = "\r\n"; $i = 1; - $date_ecriture = dol_print_date(dol_now(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be yyyymmdd + foreach ($TData as $data) { - $code_compta = $data->numero_compte; + $code_compta = length_accountg($data->numero_compte); if (!empty($data->subledger_account)) { - $code_compta = $data->subledger_account; + $code_compta = length_accounta($data->subledger_account); } + $date_document = dol_print_date($data->doc_date, '%Y%m%d'); + $date_echeance = dol_print_date($data->date_lim_reglement, '%Y%m%d'); + $Tab = array(); - $Tab['num_ecriture'] = str_pad($i, 5); - $Tab['code_journal'] = str_pad($data->code_journal, 2); - $Tab['date_ecriture'] = $date_ecriture; - $Tab['date_ope'] = dol_print_date($data->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE); - $Tab['num_piece'] = str_pad(self::trunc($data->piece_num, 12), 12); + $Tab['num_ecriture'] = str_pad($data->piece_num, 5); + $Tab['code_journal'] = str_pad(self::trunc($data->code_journal, 2), 2); + $Tab['date_ecriture'] = str_pad($date_document, 8, ' ', STR_PAD_LEFT); + $Tab['date_echeance'] = str_pad($date_echeance, 8, ' ', STR_PAD_LEFT); + $Tab['num_piece'] = str_pad(self::trunc($data->doc_ref, 12), 12); $Tab['num_compte'] = str_pad(self::trunc($code_compta, 11), 11); $Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).dol_string_unaccent($data->label_operation), 25), 25); - $Tab['montant'] = str_pad(abs($data->debit - $data->credit), 13, ' ', STR_PAD_LEFT); + $Tab['montant'] = str_pad(price2fec(abs($data->debit - $data->credit)), 13, ' ', STR_PAD_LEFT); $Tab['type_montant'] = str_pad($data->sens, 1); - $Tab['vide'] = str_repeat(' ', 18); + $Tab['vide'] = str_repeat(' ', 18); // Analytical accounting - Not managed in Dolibarr $Tab['intitule_compte'] = str_pad(self::trunc(dol_string_unaccent($data->label_operation), 34), 34); - $Tab['end'] = 'O2003'; + $Tab['end'] = 'O2003'; // 0 = EUR | 2003 = Format Ciel $Tab['end_line'] = $end_line; @@ -507,14 +527,19 @@ class AccountancyExport } /** - * Export format : Quadratus + * Export format : Quadratus (Format ASCII) + * Format since 2015 compatible QuadraCOMPTA + * Last review for this format : 2021/09/13 Alexandre Spangaro (aspangaro@open-dsi.fr) + * + * Help : https://docplayer.fr/20769649-Fichier-d-entree-ascii-dans-quadracompta.html + * In QuadraCompta | Use menu : "Outils" > "Suivi des dossiers" > "Import ASCII(Compta)" * * @param array $TData data * @return void */ public function exportQuadratus(&$TData) { - global $conf; + global $conf, $db; $end_line = "\r\n"; @@ -527,6 +552,44 @@ class AccountancyExport $code_compta = $data->subledger_account; } + $Tab = array(); + + if (!empty($data->subledger_account)) { + $Tab['type_ligne'] = 'C'; + $Tab['num_compte'] = str_pad(self::trunc($data->subledger_account, 8), 8); + $Tab['lib_compte'] = str_pad(self::trunc($data->subledger_label, 30), 30); + + if ($data->doc_type == 'customer_invoice') { + $Tab['lib_alpha'] = strtoupper(str_pad('C'.self::trunc($data->subledger_label, 6), 6)); + $Tab['filler'] = str_repeat(' ', 52); + $Tab['coll_compte'] = str_pad(self::trunc($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER, 8), 8); + } elseif ($data->doc_type == 'supplier_invoice') { + $Tab['lib_alpha'] = strtoupper(str_pad('F'.self::trunc($data->subledger_label, 6), 6)); + $Tab['filler'] = str_repeat(' ', 52); + $Tab['coll_compte'] = str_pad(self::trunc($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER, 8), 8); + } else { + $Tab['filler'] = str_repeat(' ', 59); + $Tab['coll_compte'] = str_pad(' ', 8); + } + + $Tab['filler2'] = str_repeat(' ', 110); + $Tab['Maj'] = 2; // Partial update (alpha key, label, address, collectif, RIB) + + if ($data->doc_type == 'customer_invoice') { + $Tab['type_compte'] = 'C'; + } elseif ($data->doc_type == 'supplier_invoice') { + $Tab['coll_compte'] = 'F'; + } else { + $Tab['coll_compte'] = 'G'; + } + + $Tab['filler3'] = str_repeat(' ', 235); + + $Tab['end_line'] = $end_line; + + print implode($Tab); + } + $Tab = array(); $Tab['type_ligne'] = 'M'; $Tab['num_compte'] = str_pad(self::trunc($code_compta, 8), 8); @@ -851,7 +914,8 @@ class AccountancyExport print "ValidDate".$separator; print "Montantdevise".$separator; print "Idevise".$separator; - print "DateLimitReglmt"; + print "DateLimitReglmt".$separator; + print "NumFacture".$separator; print $end_line; foreach ($objectLines as $line) { @@ -861,9 +925,25 @@ class AccountancyExport $date_creation = dol_print_date($line->date_creation, '%Y%m%d'); $date_document = dol_print_date($line->doc_date, '%Y%m%d'); $date_lettering = dol_print_date($line->date_lettering, '%Y%m%d'); - $date_validation = dol_print_date($line->date_validated, '%Y%m%d'); + $date_validation = dol_print_date($line->date_validation, '%Y%m%d'); $date_limit_payment = dol_print_date($line->date_lim_reglement, '%Y%m%d'); + if ($line->doc_type == 'customer_invoice') { + // Customer invoice + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $invoice = new Facture($db); + $invoice->fetch($line->fk_doc); + + $refInvoice = $invoice->ref; + } elseif ($line->doc_type == 'supplier_invoice') { + // Supplier invoice + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; + $invoice = new FactureFournisseur($db); + $invoice->fetch($line->fk_doc); + + $refInvoice = $invoice->ref_supplier; + } + // FEC:JournalCode print $line->code_journal . $separator; @@ -921,6 +1001,9 @@ class AccountancyExport // FEC_suppl:DateLimitReglmt print $date_limit_payment; + // FEC_suppl:NumFacture + print dol_trunc(self::toAnsi($refInvoice), 17, 'right', 'UTF-8', 1) . $separator; + print $end_line; } } @@ -957,7 +1040,8 @@ class AccountancyExport print "ValidDate".$separator; print "Montantdevise".$separator; print "Idevise".$separator; - print "DateLimitReglmt"; + print "DateLimitReglmt".$separator; + print "NumFacture".$separator; print $end_line; foreach ($objectLines as $line) { @@ -967,9 +1051,25 @@ class AccountancyExport $date_creation = dol_print_date($line->date_creation, '%Y%m%d'); $date_document = dol_print_date($line->doc_date, '%Y%m%d'); $date_lettering = dol_print_date($line->date_lettering, '%Y%m%d'); - $date_validation = dol_print_date($line->date_validated, '%Y%m%d'); + $date_validation = dol_print_date($line->date_validation, '%Y%m%d'); $date_limit_payment = dol_print_date($line->date_lim_reglement, '%Y%m%d'); + if ($line->doc_type == 'customer_invoice') { + // Customer invoice + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $invoice = new Facture($db); + $invoice->fetch($line->fk_doc); + + $refInvoice = $invoice->ref; + } elseif ($line->doc_type == 'supplier_invoice') { + // Supplier invoice + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; + $invoice = new FactureFournisseur($db); + $invoice->fetch($line->fk_doc); + + $refInvoice = $invoice->ref_supplier; + } + // FEC:JournalCode print $line->code_journal . $separator; @@ -1027,6 +1127,10 @@ class AccountancyExport // FEC_suppl:DateLimitReglmt print $date_limit_payment; + // FEC_suppl:NumFacture + print dol_trunc(self::toAnsi($refInvoice), 17, 'right', 'UTF-8', 1) . $separator; + + print $end_line; } } @@ -1287,7 +1391,9 @@ class AccountancyExport /** * Export format : LD Compta version 10 & higher - * http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW10.pdf + * Last review for this format : 08-15-2021 Alexandre Spangaro (aspangaro@open-dsi.fr) + * + * Help : http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW10.pdf * * @param array $objectLines data * @@ -1450,14 +1556,14 @@ class AccountancyExport print $date_lim_reglement.$separator; // CNPI if ($line->doc_type == 'supplier_invoice') { - if (($line->debit - $line->credit) > 0) { + if (($line->amount) < 0) { // Currently, only the sign of amount allows to know the type of invoice (standard or credit note). Other solution is to analyse debit/credit/role of account. TODO Add column doc_type_long or make amount mandatory with rule on sign. $nature_piece = 'AF'; } else { $nature_piece = 'FF'; } } elseif ($line->doc_type == 'customer_invoice') { - if (($line->debit - $line->credit) < 0) { - $nature_piece = 'AC'; + if (($line->amount) < 0) { + $nature_piece = 'AC'; // Currently, only the sign of amount allows to know the type of invoice (standard or credit note). Other solution is to analyse debit/credit/role of account. TODO Add column doc_type_long or make amount mandatory with rule on sign. } else { $nature_piece = 'FC'; } @@ -1752,6 +1858,62 @@ class AccountancyExport } } + /** + * Export format : iSuite Expert + * + * by OpenSolus [https://opensolus.fr] + * + * @param array $objectLines data + * + * @return void + */ + public function exportiSuiteExpert($objectLines) + { + $this->separator = ';'; + $this->end_line = "\r\n"; + + + foreach ($objectLines as $line) { + $tab = array(); + + $date = dol_print_date($line->doc_date, '%d/%m/%Y'); + + $tab[] = $line->piece_num; + $tab[] = $date; + $tab[] = substr($date, 6, 4); + $tab[] = substr($date, 3, 2); + $tab[] = substr($date, 0, 2); + $tab[] = $line->doc_ref; + //Conversion de chaine UTF8 en Latin9 + $tab[] = mb_convert_encoding(str_replace(' - Compte auxiliaire', '', $line->label_operation), "Windows-1252", 'UTF-8'); + + //Calcul de la longueur des numéros de comptes + $taille_numero = strlen(length_accountg($line->numero_compte)); + + //Création du numéro de client générique + $numero_cpt_client = '411'; + for ($i = 1; $i <= ($taille_numero - 3); $i++) { + $numero_cpt_client .= '0'; + } + + //Création des comptes auxiliaire des clients + if (length_accountg($line->numero_compte) == $numero_cpt_client) { + $tab[] = rtrim(length_accounta($line->subledger_account), "0"); + } else { + $tab[] = length_accountg($line->numero_compte); + } + $nom_client = explode(" - ", $line->label_operation); + $tab[] = mb_convert_encoding($nom_client[0], "Windows-1252", 'UTF-8'); + $tab[] = price($line->debit); + $tab[] = price($line->credit); + $tab[] = price($line->montant); + $tab[] = $line->code_journal; + + $separator = $this->separator; + print implode($separator, $tab) . $this->end_line; + } + } + /** * trunc * diff --git a/htdocs/accountancy/class/accountancysystem.class.php b/htdocs/accountancy/class/accountancysystem.class.php index 1b481027ac0..a62dddd6a26 100644 --- a/htdocs/accountancy/class/accountancysystem.class.php +++ b/htdocs/accountancy/class/accountancysystem.class.php @@ -105,7 +105,7 @@ class AccountancySystem $sql .= " a.pcg_version = '".$this->db->escape($ref)."'"; } - dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); @@ -143,9 +143,9 @@ class AccountancySystem $sql = "INSERT INTO ".MAIN_DB_PREFIX."accounting_system"; $sql .= " (date_creation, fk_user_author, numero, label)"; - $sql .= " VALUES ('".$this->db->idate($now)."',".$user->id.",'".$this->db->escape($this->numero)."','".$this->db->escape($this->label)."')"; + $sql .= " VALUES ('".$this->db->idate($now)."',".((int) $user->id).",'".$this->db->escape($this->numero)."','".$this->db->escape($this->label)."')"; - dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::create", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $id = $this->db->last_insert_id(MAIN_DB_PREFIX."accounting_system"); diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index 99a0dc0dc48..ed3c69c18bc 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -26,6 +26,9 @@ * \brief File of class to manage accounting accounts */ +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; /** * Class to manage accounting accounts */ @@ -140,6 +143,11 @@ class AccountingAccount extends CommonObject */ public $reconcilable; + /** + * @var array cache array + */ + private $accountingaccount_codetotid_cache = array(); + /** * Constructor * @@ -150,7 +158,7 @@ class AccountingAccount extends CommonObject global $conf; $this->db = $db; - $this->next_prev_filter = 'fk_pcg_version IN (SELECT pcg_version FROM '.MAIN_DB_PREFIX.'accounting_system WHERE rowid='.$conf->global->CHARTOFACCOUNTS.')'; // Used to add a filter in Form::showrefnav method + $this->next_prev_filter = "fk_pcg_version IN (SELECT pcg_version FROM ".MAIN_DB_PREFIX."accounting_system WHERE rowid=".((int) $conf->global->CHARTOFACCOUNTS).")"; // Used to add a filter in Form::showrefnav method } /** @@ -185,7 +193,7 @@ class AccountingAccount extends CommonObject $sql .= " AND a.fk_pcg_version = '".$this->db->escape($limittoachartaccount)."'"; } - dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); @@ -225,8 +233,8 @@ class AccountingAccount extends CommonObject /** * Insert new accounting account in chart of accounts * - * @param User $user User making action - * @param int $notrigger Disable triggers + * @param User $user User making action + * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ public function create($user, $notrigger = 0) @@ -259,7 +267,7 @@ class AccountingAccount extends CommonObject // Put here code to add control on parameters values // Insert request - $sql = "INSERT INTO ".MAIN_DB_PREFIX."accounting_account("; + $sql = "INSERT INTO " . MAIN_DB_PREFIX . "accounting_account("; $sql .= "datec"; $sql .= ", entity"; $sql .= ", fk_pcg_version"; @@ -274,7 +282,7 @@ class AccountingAccount extends CommonObject $sql .= ", reconcilable"; $sql .= ") VALUES ("; $sql .= " '".$this->db->idate($now)."'"; - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $conf->entity); $sql .= ", ".(empty($this->fk_pcg_version) ? 'NULL' : "'".$this->db->escape($this->fk_pcg_version)."'"); $sql .= ", ".(empty($this->pcg_type) ? 'NULL' : "'".$this->db->escape($this->pcg_type)."'"); $sql .= ", ".(empty($this->account_number) ? 'NULL' : "'".$this->db->escape($this->account_number)."'"); @@ -282,22 +290,22 @@ class AccountingAccount extends CommonObject $sql .= ", ".(empty($this->label) ? "''" : "'".$this->db->escape($this->label)."'"); $sql .= ", ".(empty($this->labelshort) ? "''" : "'".$this->db->escape($this->labelshort)."'"); $sql .= ", ".(empty($this->account_category) ? 0 : (int) $this->account_category); - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); $sql .= ", ".(int) $this->active; $sql .= ", ".(int) $this->reconcilable; $sql .= ")"; $this->db->begin(); - dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::create", LOG_DEBUG); $resql = $this->db->query($sql); if (!$resql) { $error++; - $this->errors[] = "Error ".$this->db->lasterror(); + $this->errors[] = "Error " . $this->db->lasterror(); } if (!$error) { - $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."accounting_account"); + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "accounting_account"); // Uncomment this and change MYOBJECT to your own tag if you // want this action to call a trigger. @@ -313,8 +321,8 @@ class AccountingAccount extends CommonObject // Commit or rollback if ($error) { foreach ($this->errors as $errmsg) { - dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); - $this->error .= ($this->error ? ', '.$errmsg : $errmsg); + dol_syslog(get_class($this) . "::create " . $errmsg, LOG_ERR); + $this->error .= ($this->error ? ', ' . $errmsg : $errmsg); } $this->db->rollback(); return -1 * $error; @@ -327,7 +335,7 @@ class AccountingAccount extends CommonObject /** * Update record * - * @param User $user Use making update + * @param User $user Use making update * @return int <0 if KO, >0 if OK */ public function update($user) @@ -339,20 +347,20 @@ class AccountingAccount extends CommonObject $this->db->begin(); - $sql = "UPDATE ".MAIN_DB_PREFIX."accounting_account "; - $sql .= " SET fk_pcg_version = ".($this->fk_pcg_version ? "'".$this->db->escape($this->fk_pcg_version)."'" : "null"); - $sql .= " , pcg_type = ".($this->pcg_type ? "'".$this->db->escape($this->pcg_type)."'" : "null"); - $sql .= " , account_number = '".$this->db->escape($this->account_number)."'"; - $sql .= " , account_parent = ".(int) $this->account_parent; - $sql .= " , label = ".($this->label ? "'".$this->db->escape($this->label)."'" : "''"); - $sql .= " , labelshort = ".($this->labelshort ? "'".$this->db->escape($this->labelshort)."'" : "''"); - $sql .= " , fk_accounting_category = ".(empty($this->account_category) ? 0 : (int) $this->account_category); - $sql .= " , fk_user_modif = ".((int) $user->id); - $sql .= " , active = ".(int) $this->active; - $sql .= " , reconcilable = ".(int) $this->reconcilable; - $sql .= " WHERE rowid = ".((int) $this->id); + $sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account "; + $sql .= " SET fk_pcg_version = " . ($this->fk_pcg_version ? "'" . $this->db->escape($this->fk_pcg_version) . "'" : "null"); + $sql .= " , pcg_type = " . ($this->pcg_type ? "'" . $this->db->escape($this->pcg_type) . "'" : "null"); + $sql .= " , account_number = '" . $this->db->escape($this->account_number) . "'"; + $sql .= " , account_parent = " . (int) $this->account_parent; + $sql .= " , label = " . ($this->label ? "'" . $this->db->escape($this->label) . "'" : "''"); + $sql .= " , labelshort = " . ($this->labelshort ? "'" . $this->db->escape($this->labelshort) . "'" : "''"); + $sql .= " , fk_accounting_category = " . (empty($this->account_category) ? 0 : (int) $this->account_category); + $sql .= " , fk_user_modif = " . ((int) $user->id); + $sql .= " , active = " . (int) $this->active; + $sql .= " , reconcilable = " . (int) $this->reconcilable; + $sql .= " WHERE rowid = " . ((int) $this->id); - dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::update", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $this->db->commit(); @@ -374,12 +382,12 @@ class AccountingAccount extends CommonObject global $langs; $sql = "(SELECT fk_code_ventilation FROM ".MAIN_DB_PREFIX."facturedet"; - $sql .= " WHERE fk_code_ventilation=".$this->id.")"; + $sql .= " WHERE fk_code_ventilation=".((int) $this->id).")"; $sql .= "UNION"; $sql .= " (SELECT fk_code_ventilation FROM ".MAIN_DB_PREFIX."facture_fourn_det"; - $sql .= " WHERE fk_code_ventilation=".$this->id.")"; + $sql .= " WHERE fk_code_ventilation=".((int) $this->id).")"; - dol_syslog(get_class($this)."::checkUsage sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::checkUsage", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { @@ -413,22 +421,22 @@ class AccountingAccount extends CommonObject $this->db->begin(); if (!$error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."accounting_account"; - $sql .= " WHERE rowid=".((int) $this->id); + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "accounting_account"; + $sql .= " WHERE rowid=" . ((int) $this->id); - dol_syslog(get_class($this)."::delete sql=".$sql); + dol_syslog(get_class($this) . "::delete sql=" . $sql); $resql = $this->db->query($sql); if (!$resql) { $error++; - $this->errors[] = "Error ".$this->db->lasterror(); + $this->errors[] = "Error " . $this->db->lasterror(); } } // Commit or rollback if ($error) { foreach ($this->errors as $errmsg) { - dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR); - $this->error .= ($this->error ? ', '.$errmsg : $errmsg); + dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR); + $this->error .= ($this->error ? ', ' . $errmsg : $errmsg); } $this->db->rollback(); return -1 * $error; @@ -444,20 +452,20 @@ class AccountingAccount extends CommonObject /** * Return clicable name (with picto eventually) * - * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto - * @param int $withlabel 0=No label, 1=Include label of account - * @param int $nourl 1=Disable url - * @param string $moretitle Add more text to title tooltip - * @param int $notooltip 1=Disable tooltip - * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking - * @param int $withcompletelabel 0=Short label (field short label), 1=Complete label (field label) - * @param string $option 'ledger', 'journals', 'accountcard' - * @return string String with URL + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto + * @param int $withlabel 0=No label, 1=Include label of account + * @param int $nourl 1=Disable url + * @param string $moretitle Add more text to title tooltip + * @param int $notooltip 1=Disable tooltip + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @param int $withcompletelabel 0=Short label (field short label), 1=Complete label (field label) + * @param string $option 'ledger', 'journals', 'accountcard' + * @return string String with URL */ public function getNomUrl($withpicto = 0, $withlabel = 0, $nourl = 0, $moretitle = '', $notooltip = 0, $save_lastsearch_value = -1, $withcompletelabel = 0, $option = '') { global $langs, $conf; - require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; + require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php'; if (!empty($conf->dol_no_mouse_hover)) { $notooltip = 1; // Force disable tooltips @@ -465,15 +473,16 @@ class AccountingAccount extends CommonObject $result = ''; - $url = ''; $labelurl = ''; + $url = ''; + $labelurl = ''; if (empty($option) || $option == 'ledger') { - $url = DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php?search_accountancy_code_start='.urlencode($this->account_number).'&search_accountancy_code_end='.urlencode($this->account_number); + $url = DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?search_accountancy_code_start=' . urlencode($this->account_number) . '&search_accountancy_code_end=' . urlencode($this->account_number); $labelurl = $langs->trans("ShowAccountingAccountInLedger"); } elseif ($option == 'journals') { - $url = DOL_URL_ROOT.'/accountancy/bookkeeping/list.php?search_accountancy_code_start='.urlencode($this->account_number).'&search_accountancy_code_end='.urlencode($this->account_number); + $url = DOL_URL_ROOT . '/accountancy/bookkeeping/list.php?search_accountancy_code_start=' . urlencode($this->account_number) . '&search_accountancy_code_end=' . urlencode($this->account_number); $labelurl = $langs->trans("ShowAccountingAccountInJournals"); } elseif ($option == 'accountcard') { - $url = DOL_URL_ROOT.'/accountancy/admin/card.php?id='.urlencode($this->id); + $url = DOL_URL_ROOT . '/accountancy/admin/card.php?id=' . urlencode($this->id); $labelurl = $langs->trans("ShowAccountingAccount"); } @@ -495,29 +504,29 @@ class AccountingAccount extends CommonObject $labeltoshow = $this->labelshort; } - $label = ''.$labelurl.''; + $label = '' . $labelurl . ''; if (!empty($this->account_number)) { - $label .= '
'.$langs->trans('AccountAccounting').': '.length_accountg($this->account_number); + $label .= '
' . $langs->trans('AccountAccounting') . ': ' . length_accountg($this->account_number); } if (!empty($labeltoshow)) { - $label .= '
'.$langs->trans('Label').': '.$labeltoshow; + $label .= '
' . $langs->trans('Label') . ': ' . $labeltoshow; } if ($moretitle) { - $label .= ' - '.$moretitle; + $label .= ' - ' . $moretitle; } $linkclose = ''; if (empty($notooltip)) { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { $label = $labelurl; - $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' alt="' . dol_escape_htmltag($label, 1) . '"'; } - $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' title="' . dol_escape_htmltag($label, 1) . '"'; $linkclose .= ' class="classfortooltip"'; } - $linkstart = ''; + $linkstart = ''; $linkend = ''; if ($nourl) { @@ -528,17 +537,17 @@ class AccountingAccount extends CommonObject $label_link = length_accountg($this->account_number); if ($withlabel) { - $label_link .= ' - '.($nourl ? '' : '').$labeltoshow.($nourl ? '' : ''); + $label_link .= ' - ' . ($nourl ? '' : '') . $labeltoshow . ($nourl ? '' : ''); } if ($withpicto) { - $result .= ($linkstart.img_object(($notooltip ? '' : $label), $picto, ($notooltip ? '' : 'class="classfortooltip"'), 0, 0, $notooltip ? 0 : 1).$linkend); + $result .= ($linkstart . img_object(($notooltip ? '' : $label), $picto, ($notooltip ? '' : 'class="classfortooltip"'), 0, 0, $notooltip ? 0 : 1) . $linkend); } if ($withpicto && $withpicto != 2) { $result .= ' '; } if ($withpicto != 2) { - $result .= $linkstart.$label_link.$linkend; + $result .= $linkstart . $label_link . $linkend; } return $result; } @@ -552,10 +561,10 @@ class AccountingAccount extends CommonObject public function info($id) { $sql = 'SELECT a.rowid, a.datec, a.fk_user_author, a.fk_user_modif, a.tms'; - $sql .= ' FROM '.MAIN_DB_PREFIX.'accounting_account as a'; - $sql .= ' WHERE a.rowid = '.((int) $id); + $sql .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as a'; + $sql .= ' WHERE a.rowid = ' . ((int) $id); - dol_syslog(get_class($this).'::info sql='.$sql); + dol_syslog(get_class($this) . '::info sql=' . $sql); $result = $this->db->query($sql); if ($result) { @@ -584,8 +593,8 @@ class AccountingAccount extends CommonObject /** * Deactivate an account (for status active or status reconcilable) * - * @param int $id Id - * @param int $mode 0=field active, 1=field reconcilable + * @param int $id Id + * @param int $mode 0=field active, 1=field reconcilable * @return int <0 if KO, >0 if OK */ public function accountDeactivate($id, $mode = 0) @@ -604,7 +613,7 @@ class AccountingAccount extends CommonObject $sql .= "SET ".$fieldtouse." = '0'"; $sql .= " WHERE rowid = ".((int) $id); - dol_syslog(get_class($this)."::accountDeactivate ".$fieldtouse." sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::accountDeactivate ".$fieldtouse, LOG_DEBUG); $result = $this->db->query($sql); if ($result) { @@ -620,15 +629,15 @@ class AccountingAccount extends CommonObject } } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** * Account activated * - * @param int $id Id - * @param int $mode 0=field active, 1=field reconcilable + * @param int $id Id + * @param int $mode 0=field active, 1=field reconcilable * @return int <0 if KO, >0 if OK */ - public function account_activate($id, $mode = 0) + public function accountActivate($id, $mode = 0) { // phpcs:enable $this->db->begin(); @@ -642,7 +651,7 @@ class AccountingAccount extends CommonObject $sql .= " SET ".$fieldtouse." = '1'"; $sql .= " WHERE rowid = ".((int) $id); - dol_syslog(get_class($this)."::account_activate ".$fieldtouse." sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::account_activate ".$fieldtouse, LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $this->db->commit(); @@ -654,12 +663,11 @@ class AccountingAccount extends CommonObject } } - /** * Retourne le libelle du statut d'un user (actif, inactif) * - * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto - * @return string Label of status + * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto + * @return string Label of status */ public function getLibStatut($mode = 0) { @@ -670,9 +678,9 @@ class AccountingAccount extends CommonObject /** * Renvoi le libelle d'un statut donne * - * @param int $status Id status - * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto - * @return string Label of status + * @param int $status Id status + * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto + * @return string Label of status */ public function LibStatut($status, $mode = 0) { @@ -694,9 +702,9 @@ class AccountingAccount extends CommonObject } } elseif ($mode == 2) { if ($status == 1) { - return img_picto($langs->trans('Enabled'), 'statut4').' '.$langs->trans('Enabled'); + return img_picto($langs->trans('Enabled'), 'statut4') . ' ' . $langs->trans('Enabled'); } elseif ($status == 0) { - return img_picto($langs->trans('Disabled'), 'statut5').' '.$langs->trans('Disabled'); + return img_picto($langs->trans('Disabled'), 'statut5') . ' ' . $langs->trans('Disabled'); } } elseif ($mode == 3) { if ($status == 1) { @@ -706,15 +714,173 @@ class AccountingAccount extends CommonObject } } elseif ($mode == 4) { if ($status == 1) { - return img_picto($langs->trans('Enabled'), 'statut4').' '.$langs->trans('Enabled'); + return img_picto($langs->trans('Enabled'), 'statut4') . ' ' . $langs->trans('Enabled'); } elseif ($status == 0) { - return img_picto($langs->trans('Disabled'), 'statut5').' '.$langs->trans('Disabled'); + return img_picto($langs->trans('Disabled'), 'statut5') . ' ' . $langs->trans('Disabled'); } } elseif ($mode == 5) { if ($status == 1) { - return $langs->trans('Enabled').' '.img_picto($langs->trans('Enabled'), 'statut4'); + return $langs->trans('Enabled') . ' ' . img_picto($langs->trans('Enabled'), 'statut4'); } elseif ($status == 0) { - return $langs->trans('Disabled').' '.img_picto($langs->trans('Disabled'), 'statut5'); + return $langs->trans('Disabled') . ' ' . img_picto($langs->trans('Disabled'), 'statut5'); + } + } + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + + /** + * Return Suggest accounting accounts to bind + * + * @param Societe $buyer Societe Object Buyers + * @param $seller Company Object seller + * @param Product $product Product object sell or buy + * @param Facture $facture Facture + * @param FactureLigne $factureDet Facture Det + * @param array $accountingAccount array of Account account + * + * @return array Accounting accounts suggested + */ + public function getAccountingCodeToBind(Societe $buyer, $seller, Product $product, Facture $facture, FactureLigne $factureDet, $accountingAccount = array()) + { + global $conf; + global $hookmanager; + + // Instantiate hooks for external modules + $hookmanager->initHooks(array('accoutancyBindingCalculation')); + + // Execute hook accoutancyBindingCalculation + $parameters = array('buyer' => $buyer, 'seller' => $seller, 'product' => $product, 'facture' => $facture, 'factureDet' => $factureDet ,'accountingAccount'=>$accountingAccount); + $reshook = $hookmanager->executeHooks('accoutancyBindingCalculation', $parameters); // Note that $action and $object may have been modified by some hooks + + if (empty($reshook)) { + require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php'; + $isBuyerInEEC = isInEEC($buyer); + $isSellerInEEC = isInEEC($seller); + $code_sell_l = ''; + $code_sell_p = ''; + $code_sell_t = ''; + $suggestedid = ''; + + // Level 1: Search suggested default account for product/service + $suggestedaccountingaccountbydefaultfor = ''; + if ($factureDet->product_type == 1) { + if ($buyer->country_code == $seller->country_code || empty($buyer->country_code)) { // If buyer in same country than seller (if not defined, we assume it is same country) + $code_sell_l = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = ''; + } else { + if ($isSellerInEEC && $isBuyerInEEC && $factureDet->tva_tx != 0) { // European intravat sale, but with a VAT + $code_sell_l = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'eecwithvat'; + } elseif ($isSellerInEEC && $isBuyerInEEC && empty($buyer->tva_intra)) { // European intravat sale, without VAT intra community number + $code_sell_l = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'eecwithoutvatnumber'; + } elseif ($isSellerInEEC && $isBuyerInEEC) { // European intravat sale + $code_sell_l = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'eec'; + } else { // Foreign sale + $code_sell_l = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'export'; + } + } + } elseif ($factureDet->product_type == 0) { + if ($buyer->country_code == $seller->country_code || empty($buyer->country_code)) { // If buyer in same country than seller (if not defined, we assume it is same country) + $code_sell_l = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = ''; + } else { + if ($isSellerInEEC && $isBuyerInEEC && $factureDet->tva_tx != 0) { // European intravat sale, but with a VAT + $code_sell_l = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'eecwithvat'; + } elseif ($isSellerInEEC && $isBuyerInEEC && empty($buyer->tva_intra)) { // European intravat sale, without VAT intra community number + $code_sell_l = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'eecwithoutvatnumber'; + } elseif ($isSellerInEEC && $isBuyerInEEC) { // European intravat sale + $code_sell_l = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'eec'; + } else { + $code_sell_l = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT : ''); + $suggestedaccountingaccountbydefaultfor = 'export'; + } + } + } + if ($code_sell_l == -1) { + $code_sell_l = ''; + } + + // Level 2: Search suggested account for product/service (similar code exists in page index.php to make automatic binding) + $suggestedaccountingaccountfor = ''; + if ((($buyer->country_code == $seller->country_code) || empty($buyer->country_code)) && !empty($product->accountancy_code_sell)) { // If buyer in same country than seller (if not defined, we assume it is same country) + $code_sell_p = $product->accountancy_code_sell; + $suggestedid = $accountingAccount['dom']; + $suggestedaccountingaccountfor = 'prodserv'; + } else { + if ($isSellerInEEC && $isBuyerInEEC && $factureDet->tva_tx != 0 && !empty($product->accountancy_code_sell)) { // European intravat sale, but with VAT + $code_sell_p = $product->accountancy_code_sell; + $suggestedid = $accountingAccount['dom']; + $suggestedaccountingaccountfor = 'eecwithvat'; + } elseif ($isSellerInEEC && $isBuyerInEEC && empty($buyer->tva_intra) && !empty($product->accountancy_code_sell)) { // European intravat sale, without VAT intra community number + $code_sell_p = $product->accountancy_code_sell; + $suggestedid = $accountingAccount['dom']; // There is a doubt for this case. Is it an error on vat or we just forgot to fill vat number ? + $suggestedaccountingaccountfor = 'eecwithoutvatnumber'; + } elseif ($isSellerInEEC && $isBuyerInEEC && !empty($product->accountancy_code_sell_intra)) { // European intravat sale + $code_sell_p = $product->accountancy_code_sell_intra; + $suggestedid = $accountingAccount['intra']; + $suggestedaccountingaccountfor = 'eec'; + } elseif (!empty($product->accountancy_code_sell_export)) { // Foreign sale + $code_sell_p = $product->accountancy_code_sell_export; + $suggestedid = $accountingAccount['export']; + $suggestedaccountingaccountfor = 'export'; + } + } + + // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) + if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) { + if (!empty($buyer->code_compta)) { + $code_sell_t = $buyer->code_compta; + $suggestedid = $accountingAccount['thirdparty']; + $suggestedaccountingaccountfor = 'thridparty'; + } + } + + // Manage Deposit + if ($factureDet->desc == "(DEPOSIT)") { + $accountdeposittoventilated = new self($this->db); + $result = $accountdeposittoventilated->fetch('', $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT, 1); + if ($result < 0) { + return -1; + } + + $code_sell_l = $accountdeposittoventilated->ref; + $suggestedid = $accountdeposittoventilated->rowid; + $suggestedaccountingaccountfor = 'deposit'; + } + + if (empty($suggestedid) && empty($code_sell_p) && !empty($code_sell_l) && empty($conf->global->ACCOUNTANCY_DO_NOT_AUTOFILL_ACCOUNT_WITH_GENERIC)) { + if (empty($this->accountingaccount_codetotid_cache[$code_sell_l])) { + $tmpaccount = new self($this->db); + $result = $tmpaccount->fetch(0, $code_sell_l, 1); + if ($result < 0) { + return -1; + } + if ($tmpaccount->id > 0) { + $suggestedid = $tmpaccount->id; + } + $this->accountingaccount_codetotid_cache[$code_sell_l] = $tmpaccount->id; + } else { + $suggestedid = $this->accountingaccount_codetotid_cache[$code_sell_l]; + } + } + return array( + 'suggestedaccountingaccountbydefaultfor' => $suggestedaccountingaccountbydefaultfor, + 'suggestedaccountingaccountfor' => $suggestedaccountingaccountfor, + 'suggestedid' => $suggestedid, + 'code_sell_l' => $code_sell_l, + 'code_sell_p' => $code_sell_p, + 'code_sell_t' => $code_sell_t, + ); + } else { + if (is_array($hookmanager->resArray) && !empty($hookmanager->resArray)) { + return $hookmanager->resArray; } } } diff --git a/htdocs/accountancy/class/accountingjournal.class.php b/htdocs/accountancy/class/accountingjournal.class.php index 95a69466658..376178b45ba 100644 --- a/htdocs/accountancy/class/accountingjournal.class.php +++ b/htdocs/accountancy/class/accountingjournal.class.php @@ -113,7 +113,7 @@ class AccountingJournal extends CommonObject $sql .= " AND entity = ".$conf->entity; } - dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); @@ -170,18 +170,18 @@ class AccountingJournal extends CommonObject $sql .= ' WHERE 1 = 1'; $sql .= " AND entity IN (".getEntity('accountancy').")"; if (count($sqlwhere) > 0) { - $sql .= ' AND '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= " AND ".implode(" ".$filtermode." ", $sqlwhere); } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit + 1, $offset); + $sql .= $this->db->plimit($limit + 1, $offset); } $this->lines = array(); - dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 6bd39f4e227..c80e1088e14 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -297,7 +297,7 @@ class BookKeeping extends CommonObject $sql .= " AND fk_doc = ".((int) $this->fk_doc); if (!empty($conf->global->ACCOUNTANCY_ENABLE_FKDOCDET)) { // DO NOT USE THIS IN PRODUCTION. This will generate a lot of trouble into reports and will corrupt database (by generating duplicate entries. - $sql .= " AND fk_docdet = ".$this->fk_docdet; // This field can be 0 if record is for several lines + $sql .= " AND fk_docdet = ".((int) $this->fk_docdet); // This field can be 0 if record is for several lines } $sql .= " AND numero_compte = '".$this->db->escape($this->numero_compte)."'"; $sql .= " AND label_operation = '".$this->db->escape($this->label_operation)."'"; @@ -382,15 +382,15 @@ class BookKeeping extends CommonObject $sql .= ", '".$this->db->escape($this->numero_compte)."'"; $sql .= ", ".(!empty($this->label_compte) ? ("'".$this->db->escape($this->label_compte)."'") : "NULL"); $sql .= ", '".$this->db->escape($this->label_operation)."'"; - $sql .= ", ".$this->debit; - $sql .= ", ".$this->credit; - $sql .= ", ".$this->montant; + $sql .= ", ".((float) $this->debit); + $sql .= ", ".((float) $this->credit); + $sql .= ", ".((float) $this->montant); $sql .= ", ".(!empty($this->sens) ? ("'".$this->db->escape($this->sens)."'") : "NULL"); $sql .= ", '".$this->db->escape($this->fk_user_author)."'"; $sql .= ", '".$this->db->idate($now)."'"; $sql .= ", '".$this->db->escape($this->code_journal)."'"; $sql .= ", ".(!empty($this->journal_label) ? ("'".$this->db->escape($this->journal_label)."'") : "NULL"); - $sql .= ", ".$this->db->escape($this->piece_num); + $sql .= ", ".((int) $this->piece_num); $sql .= ", ".(!isset($this->entity) ? $conf->entity : $this->entity); $sql .= ")"; @@ -647,7 +647,7 @@ class BookKeeping extends CommonObject $sql .= ' '.(!isset($this->credit) ? 'NULL' : $this->credit).','; $sql .= ' '.(!isset($this->montant) ? 'NULL' : $this->montant).','; $sql .= ' '.(!isset($this->sens) ? 'NULL' : "'".$this->db->escape($this->sens)."'").','; - $sql .= ' '.$user->id.','; + $sql .= ' '.((int) $user->id).','; $sql .= ' '."'".$this->db->idate($now)."',"; $sql .= ' '.(empty($this->code_journal) ? 'NULL' : "'".$this->db->escape($this->code_journal)."'").','; $sql .= ' '.(empty($this->journal_label) ? 'NULL' : "'".$this->db->escape($this->journal_label)."'").','; @@ -729,7 +729,10 @@ class BookKeeping extends CommonObject $sql .= " t.journal_label,"; $sql .= " t.piece_num,"; $sql .= " t.date_creation,"; - $sql .= " t.date_export,"; + // In llx_accounting_bookkeeping_tmp, field date_export doesn't exist + if ($mode != "_tmp") { + $sql .= " t.date_export,"; + } $sql .= " t.date_validated as date_validation"; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.$mode.' as t'; $sql .= ' WHERE 1 = 1'; @@ -880,21 +883,21 @@ class BookKeeping extends CommonObject $sql .= ' WHERE 1 = 1'; $sql .= " AND entity IN (".getEntity('accountancy').")"; if (count($sqlwhere) > 0) { - $sql .= ' AND '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= " AND ".implode(" ".$filtermode." ", $sqlwhere); } // Affichage par compte comptable if (!empty($option)) { $sql .= ' AND t.subledger_account IS NOT NULL'; - $sql .= ' ORDER BY t.subledger_account ASC'; + $sortfield = 't.subledger_account'.($sortfield ? ','.$sortfield : ''); + $sortorder = 'ASC'.($sortfield ? ','.$sortfield : ''); } else { - $sql .= ' ORDER BY t.numero_compte ASC'; + $sortfield = 't.numero_compte'.($sortfield ? ','.$sortfield : ''); + $sortorder = 'ASC'.($sortorder ? ','.$sortorder : ''); } - if (!empty($sortfield)) { - $sql .= ', '.$sortfield.' '.$sortorder; - } + $sql .= $this->db->order($sortfield, $sortorder); if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit + 1, $offset); + $sql .= $this->db->plimit($limit + 1, $offset); } $resql = $this->db->query($sql); @@ -1024,6 +1027,12 @@ class BookKeeping extends CommonObject $sqlwhere[] = $key.'\''.$this->db->idate($value).'\''; } elseif ($key == 't.credit' || $key == 't.debit') { $sqlwhere[] = natural_search($key, $value, 1, 1); + } elseif ($key == 't.code_journal' && !empty($value)) { + if (is_array($value)) { + $sqlwhere[] = natural_search("t.code_journal", join(',', $value), 3, 1); + } else { + $sqlwhere[] = natural_search("t.code_journal", $value, 3, 1); + } } else { $sqlwhere[] = natural_search($key, $value, 0, 1); } @@ -1034,13 +1043,13 @@ class BookKeeping extends CommonObject $sql .= " AND t.date_export IS NULL"; } if (count($sqlwhere) > 0) { - $sql .= ' AND '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= ' AND '.implode(" ".$filtermode." ", $sqlwhere); } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit + 1, $offset); + $sql .= $this->db->plimit($limit + 1, $offset); } $this->lines = array(); @@ -1128,17 +1137,17 @@ class BookKeeping extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.doc_date') { - $sqlwhere[] = $key.'=\''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 't.doc_date>=' || $key == 't.doc_date<=') { - $sqlwhere[] = $key.'\''.$this->db->idate($value).'\''; + $sqlwhere[] = $key."'".$this->db->idate($value)."'"; } elseif ($key == 't.numero_compte>=' || $key == 't.numero_compte<=' || $key == 't.subledger_account>=' || $key == 't.subledger_account<=') { - $sqlwhere[] = $key.'\''.$this->db->escape($value).'\''; + $sqlwhere[] = $key."'".$this->db->escape($value)."'"; } elseif ($key == 't.fk_doc' || $key == 't.fk_docdet' || $key == 't.piece_num') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif ($key == 't.subledger_account' || $key == 't.numero_compte') { - $sqlwhere[] = $key.' LIKE \''.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '".$this->db->escape($value)."%'"; } elseif ($key == 't.subledger_label') { - $sqlwhere[] = $key.' LIKE \''.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '".$this->db->escape($value)."%'"; } elseif ($key == 't.code_journal' && !empty($value)) { if (is_array($value)) { $sqlwhere[] = natural_search("t.code_journal", join(',', $value), 3, 1); @@ -1146,13 +1155,13 @@ class BookKeeping extends CommonObject $sqlwhere[] = natural_search("t.code_journal", $value, 3, 1); } } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } $sql .= ' WHERE entity IN ('.getEntity('accountancy').')'; if (count($sqlwhere) > 0) { - $sql .= ' AND '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= " AND ".implode(" ".$filtermode." ", $sqlwhere); } $sql .= ' GROUP BY t.numero_compte'; @@ -1161,7 +1170,7 @@ class BookKeeping extends CommonObject $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit + 1, $offset); + $sql .= $this->db->plimit($limit + 1, $offset); } $resql = $this->db->query($sql); @@ -1338,8 +1347,9 @@ class BookKeeping extends CommonObject $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element.$mode; - $sql .= ' SET '.$field.'='.(is_numeric($value) ? $value : "'".$this->db->escape($value)."'"); - $sql .= " WHERE piece_num = '".$this->db->escape($piece_num)."'"; + $sql .= " SET ".$field." = ".(is_numeric($value) ? ((float) $value) : "'".$this->db->escape($value)."'"); + $sql .= " WHERE piece_num = ".((int) $piece_num); + $resql = $this->db->query($sql); if (!$resql) { @@ -1506,6 +1516,7 @@ class BookKeeping extends CommonObject $sql = "DELETE"; $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element; $sql .= " WHERE piece_num = ".(int) $piecenum; + $sql .= " AND date_validated IS NULL"; // For security, exclusion of validated entries at the time of deletion $sql .= " AND entity IN (".getEntity('accountancy').")"; $resql = $this->db->query($sql); @@ -1621,9 +1632,13 @@ class BookKeeping extends CommonObject global $conf; $sql = "SELECT piece_num, doc_date,code_journal, journal_label, doc_ref, doc_type,"; - $sql .= " date_creation, tms as date_modification, date_export, date_validated as date_validation"; + $sql .= " date_creation, tms as date_modification, date_validated as date_validation"; + // In llx_accounting_bookkeeping_tmp, field date_export doesn't exist + if ($mode != "_tmp") { + $sql .= ", date_export"; + } $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element.$mode; - $sql .= " WHERE piece_num = ".$piecenum; + $sql .= " WHERE piece_num = ".((int) $piecenum); $sql .= " AND entity IN (".getEntity('accountancy').")"; dol_syslog(__METHOD__, LOG_DEBUG); @@ -1664,7 +1679,7 @@ class BookKeeping extends CommonObject $sql = "SELECT MAX(piece_num)+1 as max FROM ".MAIN_DB_PREFIX.$this->table_element.$mode; $sql .= " WHERE entity IN (".getEntity('accountancy').")"; - dol_syslog(get_class($this)."getNextNumMvt sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."getNextNumMvt", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { @@ -1698,9 +1713,13 @@ class BookKeeping extends CommonObject $sql .= " doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,"; $sql .= " numero_compte, label_compte, label_operation, debit, credit,"; $sql .= " montant as amount, sens, fk_user_author, import_key, code_journal, journal_label, piece_num,"; - $sql .= " date_creation, tms as date_modification, date_export, date_validated as date_validation"; + $sql .= " date_creation, tms as date_modification, date_validated as date_validation"; + // In llx_accounting_bookkeeping_tmp, field date_export doesn't exist + if ($mode != "_tmp") { + $sql .= ", date_export"; + } $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element.$mode; - $sql .= " WHERE piece_num = ".$piecenum; + $sql .= " WHERE piece_num = ".((int) $piecenum); $sql .= " AND entity IN (".getEntity('accountancy').")"; dol_syslog(__METHOD__, LOG_DEBUG); @@ -1840,7 +1859,7 @@ class BookKeeping extends CommonObject $sql .= ' SELECT doc_date, doc_type,'; $sql .= ' doc_ref, fk_doc, fk_docdet, entity, thirdparty_code, subledger_account, subledger_label,'; $sql .= ' numero_compte, label_compte, label_operation, debit, credit,'; - $sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, '.$next_piecenum.", '".$this->db->idate($now)."'"; + $sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, '.((int) $next_piecenum).", '".$this->db->idate($now)."'"; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.'_tmp WHERE piece_num = '.((int) $piece_num); $resql = $this->db->query($sql); if (!$resql) { @@ -1999,7 +2018,7 @@ class BookKeeping extends CommonObject $sql .= " WHERE aa.account_number = '".$this->db->escape($account)."'"; $sql .= " AND aa.entity IN (".getEntity('accountancy').")"; - dol_syslog(get_class($this)."::select_account sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::select_account", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $obj = ''; @@ -2039,7 +2058,7 @@ class BookKeeping extends CommonObject $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_accounting_category as cat ON aa.fk_accounting_category = cat.rowid"; $sql .= " WHERE aa.entity IN (".getEntity('accountancy').")"; - dol_syslog(get_class($this)."::select_account sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::select_account", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $obj = ''; diff --git a/htdocs/accountancy/class/lettering.class.php b/htdocs/accountancy/class/lettering.class.php index b2abf01948e..1dd4c4df3e5 100644 --- a/htdocs/accountancy/class/lettering.class.php +++ b/htdocs/accountancy/class/lettering.class.php @@ -279,7 +279,7 @@ class Lettering extends BookKeeping $sql .= " WHERE rowid IN (".$this->db->sanitize(implode(',', $ids)).") AND date_validated IS NULL "; $this->db->begin(); - dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::update", LOG_DEBUG); $resql = $this->db->query($sql); if (!$resql) { $error++; diff --git a/htdocs/accountancy/closure/index.php b/htdocs/accountancy/closure/index.php index b612762d358..a7220d01a28 100644 --- a/htdocs/accountancy/closure/index.php +++ b/htdocs/accountancy/closure/index.php @@ -95,7 +95,7 @@ if ($action == 'validate_movements_confirm' && !empty($user->rights->accounting- $sql .= " AND doc_date >= '" . $db->idate($date_start) . "'"; $sql .= " AND doc_date <= '" . $db->idate($date_end) . "'"; - dol_syslog("/accountancy/closure/index.php :: Function validate_movement_confirm Specify movements as validated sql=".$sql, LOG_DEBUG); + dol_syslog("/accountancy/closure/index.php :: Function validate_movement_confirm Specify movements as validated", LOG_DEBUG); $result = $db->query($sql); if (!$result) { $error++; @@ -189,7 +189,7 @@ for ($i = 1; $i <= 12; $i++) { if ($j > 12) { $j -= 12; } - $sql .= " SUM(".$db->ifsql('MONTH(b.doc_date)='.$j, '1', '0').") AS month".str_pad($j, 2, '0', STR_PAD_LEFT).","; + $sql .= " SUM(".$db->ifsql("MONTH(b.doc_date)=".$j, "1", "0").") AS month".str_pad($j, 2, "0", STR_PAD_LEFT).","; } $sql .= " COUNT(b.rowid) as total"; $sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as b"; @@ -198,7 +198,7 @@ $sql .= " AND b.doc_date <= '".$db->idate($search_date_end)."'"; $sql .= " AND b.entity IN (".getEntity('bookkeeping', 0).")"; // We don't share object for accountancy $sql .= " AND date_validated IS NULL"; -dol_syslog('htdocs/accountancy/closure/index.php sql='.$sql, LOG_DEBUG); +dol_syslog('htdocs/accountancy/closure/index.php', LOG_DEBUG); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); diff --git a/htdocs/accountancy/customer/card.php b/htdocs/accountancy/customer/card.php index b3ce892b235..296d6729301 100644 --- a/htdocs/accountancy/customer/card.php +++ b/htdocs/accountancy/customer/card.php @@ -117,7 +117,7 @@ if (!empty($id)) { $sql .= " WHERE f.fk_statut > 0 AND l.rowid = ".((int) $id); $sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy - dol_syslog("/accounting/customer/card.php sql=".$sql, LOG_DEBUG); + dol_syslog("/accounting/customer/card.php", LOG_DEBUG); $result = $db->query($sql); if ($result) { diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index dde599a1462..7c3cc2cf0e2 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -31,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; // Load translation files required by the page $langs->loadLangs(array("compta", "bills", "other", "accountancy")); @@ -46,6 +47,7 @@ if (!$user->rights->accounting->bind->write) { accessforbidden(); } +$accountingAccount = new AccountingAccount($db); $month_start = ($conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1); if (GETPOST("year", 'int')) { @@ -85,8 +87,8 @@ if ($action == 'clean' || $action == 'validatehistory') { $sql1 .= ' (SELECT accnt.rowid '; $sql1 .= ' FROM '.MAIN_DB_PREFIX.'accounting_account as accnt'; $sql1 .= ' INNER JOIN '.MAIN_DB_PREFIX.'accounting_system as syst'; - $sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid='.$conf->global->CHARTOFACCOUNTS.' AND accnt.entity = '.$conf->entity.')'; - $sql1 .= ' AND fd.fk_facture IN (SELECT rowid FROM '.MAIN_DB_PREFIX.'facture WHERE entity = '.$conf->entity.')'; + $sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid='.((int) $conf->global->CHARTOFACCOUNTS).' AND accnt.entity = '.((int) $conf->entity).')'; + $sql1 .= ' AND fd.fk_facture IN (SELECT rowid FROM '.MAIN_DB_PREFIX.'facture WHERE entity = '.((int) $conf->entity).')'; $sql1 .= ' AND fk_code_ventilation <> 0'; dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG); @@ -110,13 +112,13 @@ if ($action == 'validatehistory') { $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet"; $sql1 .= " SET fk_code_ventilation = accnt.rowid"; $sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst"; - $sql1 .= " WHERE " . MAIN_DB_PREFIX . "facturedet.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . ((int) $conf->global->CHARTOFACCOUNTS).' AND accnt.entity = '.$conf->entity; + $sql1 .= " WHERE " . MAIN_DB_PREFIX . "facturedet.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . ((int) $conf->global->CHARTOFACCOUNTS).' AND accnt.entity = '.((int) $conf->entity); $sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number"; $sql1 .= " AND " . MAIN_DB_PREFIX . "facturedet.fk_code_ventilation = 0"; } else { $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst"; $sql1 .= " SET fk_code_ventilation = accnt.rowid"; - $sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . ((int) $conf->global->CHARTOFACCOUNTS).' AND accnt.entity = '.$conf->entity; + $sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . ((int) $conf->global->CHARTOFACCOUNTS).' AND accnt.entity = '.((int) $conf->entity); $sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number"; $sql1 .= " AND fd.fk_code_ventilation = 0"; }*/ @@ -158,6 +160,9 @@ if ($action == 'validatehistory') { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa4 ON " . $alias_societe_perentity . ".accountancy_code_sell = aa4.account_number AND aa4.active = 1 AND aa4.fk_pcg_version = '".$db->escape($chartaccountcode)."' AND aa4.entity = ".$conf->entity; $sql .= " WHERE f.fk_statut > 0 AND l.fk_code_ventilation <= 0"; $sql .= " AND l.product_type <= 2"; + if (!empty($conf->global->ACCOUNTING_DATE_START_BINDING)) { + $sql .= " AND f.datef >= '".$db->idate($conf->global->ACCOUNTING_DATE_START_BINDING)."'"; + } dol_syslog('htdocs/accountancy/customer/index.php'); $result = $db->query($sql); @@ -169,49 +174,91 @@ if ($action == 'validatehistory') { $isSellerInEEC = isInEEC($mysoc); + $thirdpartystatic = new Societe($db); + $facture_static = new Facture($db); + $facture_static_det = new FactureLigne($db); + $product_static = new Product($db); + $i = 0; while ($i < min($num_lines, 10000)) { // No more than 10000 at once $objp = $db->fetch_object($result); - $isBuyerInEEC = isInEEC($objp); // This make a database request but there is a cache into $conf->cache['country_code_in_EEC'] + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_compta_client = $objp->code_compta_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur; + $thirdpartystatic->email = $objp->email; + $thirdpartystatic->country_code = $objp->country_code; + $thirdpartystatic->tva_intra = $objp->tva_intra; + $thirdpartystatic->code_compta = $objp->company_code_sell; - // Level 2: Search suggested account for product/service (similar code exists in page list.php to make manual binding) - $suggestedaccountingaccountfor = ''; - if (($objp->country_code == $mysoc->country_code) || empty($objp->country_code)) { // If buyer in same country than seller (if not defined, we assume it is same country) - $objp->code_sell_p = $objp->code_sell; - $objp->aarowid_suggest = $objp->aarowid; - $suggestedaccountingaccountfor = ''; + $product_static->ref = $objp->product_ref; + $product_static->id = $objp->product_id; + $product_static->type = $objp->type; + $product_static->label = $objp->product_label; + $product_static->status = $objp->status; + $product_static->status_buy = $objp->status_buy; + $product_static->accountancy_code_sell = $objp->code_sell; + $product_static->accountancy_code_sell_intra = $objp->code_sell_intra; + $product_static->accountancy_code_sell_export = $objp->code_sell_export; + $product_static->accountancy_code_buy = $objp->code_buy; + $product_static->accountancy_code_buy_intra = $objp->code_buy_intra; + $product_static->accountancy_code_buy_export = $objp->code_buy_export; + $product_static->tva_tx = $objp->tva_tx_prod; + $product_static->tva_tx = $objp->tva_tx_prod; + + $facture_static->ref = $objp->ref; + $facture_static->id = $objp->facid; + $facture_static->type = $objp->ftype; + $facture_static->datef = $objp->datef; + + $facture_static_det->id = $objp->rowid; + $facture_static_det->total_ht = $objp->total_ht; + $facture_static_det->tva_tx = $objp->tva_tx_line; + $facture_static_det->vat_src_code = $objp->vat_src_code; + $facture_static_det->product_type = $objp->type_l; + $facture_static_det->desc = $objp->description; + + $accoutinAccountArray = array( + 'dom'=>$objp->aarowid, + 'intra'=>$objp->aarowid_intra, + 'export'=>$objp->aarowid_export, + 'thirdparty' =>$objp->aarowid_thirdparty); + + $code_sell_p_notset = ''; + $code_sell_t_notset = ''; + + $return=$accountingAccount->getAccountingCodeToBind($thirdpartystatic, $mysoc, $product_static, $facture_static, $facture_static_det, $accoutinAccountArray); + if (!is_array($return) && $return<0) { + setEventMessage($accountingAccount->error, 'errors'); } else { - if ($isSellerInEEC && $isBuyerInEEC && $objp->tva_tx_line != 0) { // European intravat sale, but with VAT - $objp->code_sell_p = $objp->code_sell; - $objp->aarowid_suggest = $objp->aarowid; - $suggestedaccountingaccountfor = 'eecwithvat'; - } elseif ($isSellerInEEC && $isBuyerInEEC && empty($objp->tva_intra)) { // European intravat sale, without VAT intra community number - $objp->code_sell_p = $objp->code_sell; - $objp->aarowid_suggest = 0; // There is a doubt, no automatic binding - $suggestedaccountingaccountfor = 'eecwithoutvatnumber'; - } elseif ($isSellerInEEC && $isBuyerInEEC) { // European intravat sale - $objp->code_sell_p = $objp->code_sell_intra; - $objp->aarowid_suggest = $objp->aarowid_intra; - $suggestedaccountingaccountfor = 'eec'; - } else { // Foreign sale - $objp->code_sell_p = $objp->code_sell_export; - $objp->aarowid_suggest = $objp->aarowid_export; - $suggestedaccountingaccountfor = 'export'; + $suggestedid=$return['suggestedid']; + $suggestedaccountingaccountfor=$return['suggestedaccountingaccountfor']; + + if (!empty($suggestedid) && $suggestedaccountingaccountfor<>'') { + $suggestedid=$return['suggestedid']; + } else { + $suggestedid=0; } } - // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) - if (!empty($objp->company_code_sell)) { - $objp->code_sell_t = $objp->company_code_sell; - $objp->aarowid_suggest = $objp->aarowid_thirdparty; - $suggestedaccountingaccountfor = ''; + if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) { + // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) + if (!empty($objp->company_code_sell)) { + $objp->code_sell_t = $objp->company_code_sell; + $objp->aarowid_suggest = $objp->aarowid_thirdparty; + $suggestedaccountingaccountfor = ''; + } } if ($objp->aarowid_suggest > 0) { $sqlupdate = "UPDATE ".MAIN_DB_PREFIX."facturedet"; - $sqlupdate .= " SET fk_code_ventilation = ".((int) $objp->aarowid_suggest); - $sqlupdate .= " WHERE fk_code_ventilation <= 0 AND product_type <= 2 AND rowid = ".((int) $objp->rowid); + $sqlupdate .= " SET fk_code_ventilation = ".((int) $suggestedid); + $sqlupdate .= " WHERE fk_code_ventilation <= 0 AND product_type <= 2 AND rowid = ".((int) $facture_static_det->id); $resqlupdate = $db->query($sqlupdate); if (!$resqlupdate) { @@ -255,13 +302,13 @@ $y = $year_current; $buttonbind = ''.$langs->trans("ValidateHistory").''; -print_barre_liste($langs->trans("OverviewOfAmountOfLinesNotBound"), '', '', '', '', '', '', -1, '', '', 0, $buttonbind, '', 0, 1, 1); +print_barre_liste(img_picto('', 'unlink', 'class="paddingright fa-color-unset"').$langs->trans("OverviewOfAmountOfLinesNotBound"), '', '', '', '', '', '', -1, '', '', 0, $buttonbind, '', 0, 1, 1); //print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesNotBound"), $buttonbind, ''); print '
'; print ''; -print ''; -print ''; +print ''; +print ''; for ($i = 1; $i <= 12; $i++) { $j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1; if ($j > 12) { @@ -278,7 +325,7 @@ for ($i = 1; $i <= 12; $i++) { if ($j > 12) { $j -= 12; } - $sql .= " SUM(".$db->ifsql('MONTH(f.datef)='.$j, 'fd.total_ht', '0').") AS month".str_pad($j, 2, '0', STR_PAD_LEFT).","; + $sql .= " SUM(".$db->ifsql("MONTH(f.datef)=".$j, "fd.total_ht", "0").") AS month".str_pad($j, 2, "0", STR_PAD_LEFT).","; } $sql .= " SUM(fd.total_ht) as total"; $sql .= " FROM ".MAIN_DB_PREFIX."facturedet as fd"; @@ -301,7 +348,7 @@ if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { } $sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label"; -dol_syslog('htdocs/accountancy/customer/index.php sql='.$sql, LOG_DEBUG); +dol_syslog('htdocs/accountancy/customer/index.php', LOG_DEBUG); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -309,12 +356,12 @@ if ($resql) { while ($row = $db->fetch_row($resql)) { print ''; - print ''; } else { - print ''; } @@ -354,13 +354,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''; } else { print '"; } @@ -369,7 +369,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->BANKADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -428,13 +428,13 @@ print ""; // Active if ($conf->global->BANK_COLORIZE_MOVEMENT) { print ''; } else { print '"; } @@ -499,9 +499,7 @@ print "\n"; print '
'.$langs->trans("Account").''.$langs->trans("Label").'
'.$langs->trans("Account").''.$langs->trans("Label").'
'; if ($row[0] == 'tobind') { - print $langs->trans("Unknown"); + print ''.$langs->trans("Unknown").''; } else { print length_accountg($row[0]); } print ''; + print ''; if ($row[0] == 'tobind') { print $langs->trans("UseMenuToSetBindindManualy", DOL_URL_ROOT.'/accountancy/customer/list.php?search_year='.$y, $langs->transnoentitiesnoconv("ToBind")); } else { @@ -339,13 +386,13 @@ print ''; print '
'; -print_barre_liste($langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); +print_barre_liste(img_picto('', 'link', 'class="paddingright fa-color-unset"').$langs->trans("OverviewOfAmountOfLinesBound"), '', '', '', '', '', '', -1, '', '', 0, '', '', 0, 1, 1); //print load_fiche_titre($langs->trans("OverviewOfAmountOfLinesBound"), '', ''); print '
'; print ''; -print ''; -print ''; +print ''; +print ''; for ($i = 1; $i <= 12; $i++) { $j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1; if ($j > 12) { @@ -362,7 +409,7 @@ for ($i = 1; $i <= 12; $i++) { if ($j > 12) { $j -= 12; } - $sql .= " SUM(".$db->ifsql('MONTH(f.datef)='.$j, 'fd.total_ht', '0').") AS month".str_pad($j, 2, '0', STR_PAD_LEFT).","; + $sql .= " SUM(".$db->ifsql("MONTH(f.datef)=".$j, "fd.total_ht", "0").") AS month".str_pad($j, 2, "0", STR_PAD_LEFT).","; } $sql .= " SUM(fd.total_ht) as total"; $sql .= " FROM ".MAIN_DB_PREFIX."facturedet as fd"; @@ -399,7 +446,7 @@ if ($resql) { } print ''; - print ''."\n"; } else { if (!isHTTPS()) { $langs->load("errors"); print img_warning($langs->trans("WarningAvailableOnlyForHTTPSServers"), '', 'valignmiddle size15x').' '; } - print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; + print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; print ''."\n"; print ''."\n"; @@ -190,9 +190,9 @@ if (empty($conf->global->AGENDA_REMINDER_BROWSER)) { print ''."\n"; @@ -221,14 +221,15 @@ if (empty($conf->cron->enabled)) { print ''.$langs->trans("WarningModuleNotActive", $langs->transnoentitiesnoconv("Module2300Name")).''; } else { if (empty($conf->global->AGENDA_REMINDER_EMAIL)) { - print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; + print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; } else { // Get the max frequency of reminder if ($job->id > 0) { if ($job->status != $job::STATUS_ENABLED) { + $langs->load("cron"); print ''.$langs->trans("JobXMustBeEnabled", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; } else { - print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; + print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; } } } diff --git a/htdocs/admin/agenda_xcal.php b/htdocs/admin/agenda_xcal.php index 59dd1bf1ac2..f854649962c 100644 --- a/htdocs/admin/agenda_xcal.php +++ b/htdocs/admin/agenda_xcal.php @@ -139,9 +139,7 @@ print '
'.$langs->trans("Account").''.$langs->trans("Label").'
'.$langs->trans("Account").''.$langs->trans("Label").''; + print ''; if ($row[0] == 'tobind') { print $langs->trans("UseMenuToSetBindindManualy", DOL_URL_ROOT.'/accountancy/customer/list.php?search_year='.$y, $langs->transnoentitiesnoconv("ToBind")); } else { @@ -431,7 +478,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange print '
'; print ''; - print ''; + print ''; for ($i = 1; $i <= 12; $i++) { $j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1; if ($j > 12) { @@ -447,7 +494,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange if ($j > 12) { $j -= 12; } - $sql .= " SUM(".$db->ifsql('MONTH(f.datef)='.$j, 'fd.total_ht', '0').") AS month".str_pad($j, 2, '0', STR_PAD_LEFT).","; + $sql .= " SUM(".$db->ifsql("MONTH(f.datef)=".$j, "fd.total_ht", "0").") AS month".str_pad($j, 2, "0", STR_PAD_LEFT).","; } $sql .= " SUM(fd.total_ht) as total"; $sql .= " FROM ".MAIN_DB_PREFIX."facturedet as fd"; @@ -492,7 +539,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange print "
\n"; print '
'; print '
'.$langs->trans("TotalVente").'
'.$langs->trans("TotalVente").'
'; - print ''; + print ''; for ($i = 1; $i <= 12; $i++) { $j = $i + ($conf->global->SOCIETE_FISCAL_MONTH_START ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1) - 1; if ($j > 12) { @@ -508,7 +555,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) { // This part of code looks strange if ($j > 12) { $j -= 12; } - $sql .= " SUM(".$db->ifsql('MONTH(f.datef)='.$j, '(fd.total_ht-(fd.qty * fd.buy_price_ht))', '0').") AS month".str_pad($j, 2, '0', STR_PAD_LEFT).","; + $sql .= " SUM(".$db->ifsql("MONTH(f.datef)=".$j, "(fd.total_ht-(fd.qty * fd.buy_price_ht))", "0").") AS month".str_pad($j, 2, "0", STR_PAD_LEFT).","; } $sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as total"; $sql .= " FROM ".MAIN_DB_PREFIX."facturedet as fd"; diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index 884de9dd232..7f09e111a23 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -191,7 +191,14 @@ print ''."\n"; + print ''."\n"; +} print ''; print ''; @@ -131,7 +133,7 @@ print ''."\n"; print ''."\n"; print ''; print ''."\n"; print ''; print ''."\n"; print ''; print ''."\n"; // Web print ''; print ''."\n"; @@ -174,12 +177,7 @@ print ''; print '
'.$langs->trans("TotalMarge").'
'.$langs->trans("TotalMarge").'
'; -print img_picto('', 'globe-americas', 'class="paddingrightonly"'); +print img_picto('', 'globe-americas', 'class="pictofixedwidth"'); print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id', 'int') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY) ? $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY : '')), 'country_id'); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -139,27 +141,28 @@ if ($user->admin) { print '
'; -$formcompany->select_departement((GETPOSTISSET('state_id') ? GETPOST('state_id', 'alpha') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_STATE) ? $conf->global->MAIN_INFO_ACCOUNTANT_STATE : '')), (GETPOSTISSET('country_id') ? GETPOST('country_id', 'int') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY) ? $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY : '')), 'state_id'); +print img_picto('', 'state', 'class="pictofixedwidth"'); +print $formcompany->select_state((GETPOSTISSET('state_id') ? GETPOST('state_id', 'alpha') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_STATE) ? $conf->global->MAIN_INFO_ACCOUNTANT_STATE : '')), (GETPOSTISSET('country_id') ? GETPOST('country_id', 'int') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY) ? $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY : '')), 'state_id'); print '
'; -print img_picto('', 'object_phoning', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'object_email', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_email', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'globe', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'globe', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print '
'; -print ''; -//print '     '; -//print ''; -print '
'; -//print '
'; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/admin/accounting.php b/htdocs/admin/accounting.php index e775f5bd8e3..ebe0712b03a 100644 --- a/htdocs/admin/accounting.php +++ b/htdocs/admin/accounting.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2018-2021 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ /** * \file htdocs/admin/accounting.php * \ingroup accounting - * \brief Setup page to configure accountanting module + * \brief Setup page to configure accounting module */ require '../main.inc.php'; @@ -32,7 +32,7 @@ $action = GETPOST('action', 'aZ09'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'adminaccoutant'; // To manage different context of search // Load translation files required by the page -$langs->loadLangs(array('admin', 'companies')); +$langs->loadLangs(array('admin', 'companies', 'accountancy')); if (!$user->admin) { accessforbidden(); @@ -52,12 +52,13 @@ $error = 0; * View */ +$title = $langs->trans("ConfigAccountingExpert"); $help_url = ''; -llxHeader('', $langs->trans("ConfigAccountingExpert"), $help_url); +llxHeader('', $title, $help_url); $linkback = ''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("ConfigAccountingExpert"), $linkback, 'title_setup'); +print load_fiche_titre($title, $linkback, 'title_setup'); print "
\n"; print ''.$langs->trans("AccountancySetupDoneFromAccountancyMenu", $langs->transnoentitiesnoconv("Accounting").' - '.$langs->transnoentitiesnoconv("Setup"))."
\n"; diff --git a/htdocs/admin/agenda.php b/htdocs/admin/agenda.php index a3d725bee93..730983ad090 100644 --- a/htdocs/admin/agenda.php +++ b/htdocs/admin/agenda.php @@ -209,9 +209,7 @@ print '
'; print dol_get_fiche_end(); -print '
'; -print ''; -print "
"; +print $form->buttonsSaveCancel("Save", ''); print "\n"; diff --git a/htdocs/admin/agenda_extsites.php b/htdocs/admin/agenda_extsites.php index 272da835741..5567e741272 100644 --- a/htdocs/admin/agenda_extsites.php +++ b/htdocs/admin/agenda_extsites.php @@ -41,8 +41,7 @@ if (!$user->admin) { $langs->loadLangs(array('agenda', 'admin', 'other')); $def = array(); -$actiontest = GETPOST('test', 'alpha'); -$actionsave = GETPOST('save', 'alpha'); +$action = GETPOST('action', 'alpha'); if (empty($conf->global->AGENDA_EXT_NB)) { $conf->global->AGENDA_EXT_NB = 5; @@ -57,14 +56,57 @@ $colorlist = array('BECEDD', 'DDBECE', 'BFDDBE', 'F598B4', 'F68654', 'CBF654', ' * Actions */ -if ($actionsave) { +$error = 0; +$errors = array(); + +if (preg_match('/set_(.*)/', $action, $reg)) { + $db->begin(); + + $code = $reg[1]; + $value = (GETPOST($code) ? GETPOST($code) : 1); + + $res = dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity); + if (!$res > 0) { + $error++; + $errors[] = $db->lasterror(); + } + + if ($error) { + $db->rollback(); + setEventMessages('', $errors, 'errors'); + } else { + $db->commit(); + setEventMessage($langs->trans('SetupSaved')); + header('Location: ' . $_SERVER["PHP_SELF"]); + exit(); + } +} elseif (preg_match('/del_(.*)/', $action, $reg)) { + $db->begin(); + + $code = $reg[1]; + + $res = dolibarr_del_const($db, $code, $conf->entity); + if (!$res > 0) { + $error++; + $errors[] = $db->lasterror(); + } + + if ($error) { + $db->rollback(); + setEventMessages('', $errors, 'errors'); + } else { + $db->commit(); + setEventMessage($langs->trans('SetupSaved')); + header('Location: ' . $_SERVER["PHP_SELF"]); + exit(); + } +} elseif ($action == 'save') { $db->begin(); $disableext = GETPOST('AGENDA_DISABLE_EXT', 'alpha'); $res = dolibarr_set_const($db, 'AGENDA_DISABLE_EXT', $disableext, 'chaine', 0, '', $conf->entity); $i = 1; $errorsaved = 0; - $error = 0; // Save agendas while ($i <= $MAXAGENDA) { @@ -159,6 +201,10 @@ print dol_get_fiche_head($head, 'extsites', $langs->trans("Agenda"), -1, 'action print ''.$langs->trans("AgendaExtSitesDesc")."
\n"; print "
\n"; + +$selectedvalue=$conf->global->AGENDA_DISABLE_EXT; +if ($selectedvalue==1) $selectedvalue=0; else $selectedvalue=1; + print ""; print ""; @@ -203,31 +249,44 @@ print ""; print "'; print "'; print ''; +print ''; print ""; $i = 1; while ($i <= $MAXAGENDA) { $key = $i; - $name = 'AGENDA_EXT_NAME'.$key; - $src = 'AGENDA_EXT_SRC'.$key; - $offsettz = 'AGENDA_EXT_OFFSETTZ'.$key; - $color = 'AGENDA_EXT_COLOR'.$key; - $enabled = 'AGENDA_EXT_ENABLED'.$key; - + $name = 'AGENDA_EXT_NAME' . $key; + $src = 'AGENDA_EXT_SRC' . $key; + $offsettz = 'AGENDA_EXT_OFFSETTZ' . $key; + $color = 'AGENDA_EXT_COLOR' . $key; + $enabled = 'AGENDA_EXT_ENABLED' . $key; + $default = 'AGENDA_EXT_ACTIVEBYDEFAULT' . $key; print ''; // Nb - print '"; + print '"; // Name - print ''; + print ''; // URL - print ''; + print ''; // Offset TZ - print ''; + print ''; // Color (Possible colors are limited by Google) print ''; + // Calendar active by default + print ''; print ""; $i++; diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 54d5158b4ed..8060398574c 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -260,7 +260,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { if (in_array($name, $def)) { print '"; } else { print '"; } @@ -278,7 +278,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { if ($conf->global->ACTION_EVENT_ADDON_PDF == "$name") { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'&type=action"" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'&type=action"" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -324,9 +324,9 @@ print ''."\n"; print ''."\n"; @@ -392,7 +392,7 @@ print '
".$langs->trans("Name")."".$langs->trans("ExtSiteUrlAgenda")." (".$langs->trans("Example").': http://yoursite/agenda/agenda.ics)".$form->textwithpicto($langs->trans("FixTZ"), $langs->trans("FillFixTZOnlyIfRequired"), 1).''.$langs->trans("Color").''.$langs->trans("ActiveByDefault").'
'.$langs->trans("AgendaExtNb", $key)."' . $langs->trans("AgendaExtNb", $key) . "'; //print $formadmin->selectColor($conf->global->$color, "google_agenda_color".$key, $colorlist); - print $formother->selectColor((GETPOST("AGENDA_EXT_COLOR".$key) ?GETPOST("AGENDA_EXT_COLOR".$key) : getDolGlobalString($color)), "AGENDA_EXT_COLOR".$key, 'extsitesconfig', 1, '', 'hideifnotset'); + print $formother->selectColor((GETPOST("AGENDA_EXT_COLOR" . $key) ? GETPOST("AGENDA_EXT_COLOR" . $key) : getDolGlobalString($color)), "AGENDA_EXT_COLOR" . $key, 'extsitesconfig', 1, '', 'hideifnotset'); + print ''; + if ($conf->use_javascript_ajax) { + print ajax_constantonoff('AGENDA_EXT_ACTIVEBYDEFAULT' . $key); + } else { + if (empty($conf->global->{$default})) { + print '' . img_picto($langs->trans("Enabled"), 'on') . ''; + } else { + print '' . img_picto($langs->trans("Disabled"), 'off') . ''; + } + } print '
'."\n"; if ($conf->global->ACTION_EVENT_ADDON_PDF != "$name") { - print 'scandir.'&label='.urlencode($module->name).'&type=action">'; + print 'scandir.'&label='.urlencode($module->name).'&type=action">'; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; } else { @@ -269,7 +269,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { print "'."\n"; - print 'scandir.'&label='.urlencode($module->name).'&type=action">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir.'&label='.urlencode($module->name).'&type=action">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print " '."\n"; //print ajax_constantonoff('AGENDA_USE_EVENT_TYPE'); Do not use ajax here, we need to reload page to change other combo list if (empty($conf->global->AGENDA_USE_EVENT_TYPE)) { - print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; + print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'switch_on').''; + print ''.img_picto($langs->trans("Enabled"), 'switch_on').''; } print '
'; print dol_get_fiche_end(); -print '
'; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index b3a85d1fe4b..1d8cd8f723c 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -174,14 +174,14 @@ if (empty($conf->global->AGENDA_REMINDER_BROWSER)) { $langs->load("errors"); print img_warning($langs->trans("WarningAvailableOnlyForHTTPSServers"), '', 'valignmiddle size15x').' '; } - print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; + print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; print '
'."\n"; if (empty($conf->global->AGENDA_REMINDER_BROWSER_SOUND)) { - print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; + print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; } else { - print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; + print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; } print '
'; print dol_get_fiche_end(); -print '
'; -print ''; -print "
"; +print $form->buttonsSaveCancel("Save", ''); print "\n"; @@ -165,24 +163,27 @@ $urlvcal = ''.$langs->trans("WebCalUrlForVCalExport", 'vcal', '').''); $message .= ''; +$message .= ajax_autoselect('onlinepaymenturl1'); $message .= '
'; $urlical = '
'; $urlical .= $urlwithroot.'/public/agenda/agendaexport.php?format=ical&type=event'.$getentity.'&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : 'KEYNOTDEFINED').''; $message .= img_picto('', 'globe').' '.str_replace('{url}', $urlical, ''.$langs->trans("WebCalUrlForVCalExport", 'ical/ics', '').''); $message .= ''; +$message .= ajax_autoselect('onlinepaymenturl2'); $message .= '
'; $urlrss = ''; $urlrss .= $urlwithroot.'/public/agenda/agendaexport.php?format=rss'.$getentity.'&exportkey='.($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : 'KEYNOTDEFINED').''; $message .= img_picto('', 'globe').' '.str_replace('{url}', $urlrss, ''.$langs->trans("WebCalUrlForVCalExport", 'rss', '').''); $message .= ''; +$message .= ajax_autoselect('onlinepaymenturl3'); $message .= '
'; print $message; diff --git a/htdocs/admin/bank.php b/htdocs/admin/bank.php index 79853c9cda9..6580db4e8f3 100644 --- a/htdocs/admin/bank.php +++ b/htdocs/admin/bank.php @@ -258,7 +258,7 @@ while ($i < $nbofbank) { print img_picto($langs->trans("Activated"), 'on'); print '
'; + print ''; print img_picto($langs->trans("Disabled"), 'off'); print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "'."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''."\n"; - print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; + print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; print "
'; print dol_get_fiche_end(); -print '
'; -print ''; -print '
'; +print $form->buttonsSaveCancel("Save", ''); print "\n"; diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index e6211f0b56f..c370c07b73b 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -272,8 +272,7 @@ if ($resql) { print "\n"; if (empty($conf->use_javascript_ajax)) { - print '
'; - print ''; + print $form->buttonsSaveCancel("Save", ''); } print "
"; @@ -303,7 +302,7 @@ if (!isset($_SERVER['WINDIR'])) { print ''; if (!empty($conf->global->GENBARCODE_LOCATION) && !@file_exists($conf->global->GENBARCODE_LOCATION)) { $langs->load("errors"); - print '
'.$langs->trans("ErrorFileNotFound", $conf->global->GENBARCODE_LOCATION).''; + print '
'.$langs->trans("ErrorFileNotFound", $conf->global->GENBARCODE_LOCATION).''; } print ''; } @@ -374,12 +373,12 @@ if ($conf->product->enabled) { print ''; print ''.$modBarCode->getExample($langs)."\n"; - if ($conf->global->BARCODE_PRODUCT_ADDON_NUM == "$file") { - print ''; + if (!empty($conf->global->BARCODE_PRODUCT_ADDON_NUM) && $conf->global->BARCODE_PRODUCT_ADDON_NUM == "$file") { + print ''; print img_picto($langs->trans("Activated"), 'switch_on'); print ''; } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } diff --git a/htdocs/admin/bom.php b/htdocs/admin/bom.php index c401c6cabf1..a36c3698306 100644 --- a/htdocs/admin/bom.php +++ b/htdocs/admin/bom.php @@ -225,7 +225,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
'.$langs->trans($tmp).'
'; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -235,7 +235,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->BOM_ADDON == $file) { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -362,13 +362,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''; } else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -377,7 +377,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->BOM_ADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -457,7 +457,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print ''; -print ''; +print ''; print "\n"; print ''; @@ -471,7 +471,7 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftBOMs"), $htmltext, 1, print ''; print ''; print ''; -print ''; +print ''; print "\n"; print ''; diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 56971457f76..afcba2ef23d 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -360,7 +360,7 @@ foreach ($boxtoadd as $box) { print ''."\n"; } if (!count($boxtoadd) && count($boxactivated)) { - print ''.$langs->trans("AllWidgetsWereEnabled").''; + print ''.$langs->trans("AllWidgetsWereEnabled").''; } print ''."\n"; print '
'; @@ -423,8 +423,8 @@ foreach ($boxactivated as $key => $box) { $hasprevious = ($key != 0); print ''.($key + 1).''; print ''; - print ($hasnext ? ''.img_down().' ' : ''); - print ($hasprevious ? ''.img_up().'' : ''); + print ($hasnext ? ''.img_down().' ' : ''); + print ($hasprevious ? ''.img_up().'' : ''); print ''; print ''; print ''.img_delete().''; @@ -473,9 +473,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL == 2 || !empty($conf->global->MAIN_ACTIVA print ''; print ''; -print '
'; -print '
'; -print '
'; +print $form->buttonsSaveCancel("Save", ''); print ''; print "\n".''."\n"; diff --git a/htdocs/admin/chequereceipts.php b/htdocs/admin/chequereceipts.php index cc3377c9762..3ba8c3b854a 100644 --- a/htdocs/admin/chequereceipts.php +++ b/htdocs/admin/chequereceipts.php @@ -174,7 +174,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
'.$langs->trans($tmp).'
'; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -268,7 +268,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print ''; -print ''; +print ''; print "\n"; print ''; print "
"; diff --git a/htdocs/admin/clicktodial.php b/htdocs/admin/clicktodial.php index 7b1c94de1ec..326e7028bbf 100644 --- a/htdocs/admin/clicktodial.php +++ b/htdocs/admin/clicktodial.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2020 Laurent Destailleur + * Copyright (C) 2005-2021 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify @@ -20,7 +20,7 @@ /** * \file htdocs/admin/clicktodial.php * \ingroup clicktodial - * \brief Page to setup module clicktodial + * \brief Page to setup module ClickToDial */ require '../main.inc.php'; @@ -99,7 +99,12 @@ print ''; -print $langs->trans("Example").':
http://myphoneserver/mypage?login=__LOGIN__&password=__PASS__&caller=__PHONEFROM__&called=__PHONETO__'; +print '
'; +print ''; +print $langs->trans("Examples").':
'; +print 'https://myphoneserver/mypage?login=__LOGIN__&password=__PASS__&caller=__PHONEFROM__&called=__PHONETO__
'; +print 'sip:__PHONETO__@my.sip.server'; +print '
'; //if (! empty($user->clicktodial_url)) //{ @@ -112,7 +117,7 @@ print ''; print ''; print ''; -print '

'; +print $form->buttonsSaveCancel("Modify", ''); print '

'; @@ -129,7 +134,7 @@ if (!empty($conf->global->CLICKTODIAL_URL)) { print ''; print $langs->trans("LinkToTestClickToDial", $user->login).' : '; print ''; - print ''; + print ''; print ''; $setupcomplete = 1; @@ -144,7 +149,7 @@ if (!empty($conf->global->CLICKTODIAL_URL)) { } if ($setupcomplete) { - print $langs->trans("LinkToTest", $user->login).': '.dol_print_phone($phonefortest, '', 0, 0, 'AC_TEL'); + print $langs->trans("LinkToTest", $user->login).':   '.dol_print_phone($phonefortest, '', 0, 0, 'AC_TEL', '', 'mobile'); } else { $langs->load("errors"); print '
'.$langs->trans("WarningClickToDialUserSetupNotComplete").'
'; diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 7407961649c..1e977fb48df 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -289,7 +289,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
'.$langs->trans($tmp).'
'; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -299,7 +299,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->COMMANDE_ADDON == $file) { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -424,13 +424,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''; } else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -439,7 +439,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->COMMANDE_ADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -507,7 +507,7 @@ print ''; print $langs->trans("PaymentMode").''; print ''; if (empty($conf->facture->enabled)) { - print ''; + print ''; } print ''; print "\n"; @@ -628,7 +628,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print ''; -print ''; +print ''; print "\n"; print ''; @@ -642,7 +642,7 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftOrders"), $htmltext, 1 print ''; print ''; print ''; -print ''; +print ''; print "\n"; print ''; @@ -655,10 +655,10 @@ print ''.$langs->trans("ShippableOrderIconInList").''; print ' '; print ''; if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) { - print ''; + print ''; print img_picto($langs->trans("Activated"),'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"),'switch_off'); } print ''; @@ -676,9 +676,9 @@ if ($conf->banque->enabled) { print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_ORDER'); } else { if (empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_ORDER)) { - print ''.img_picto($langs->trans("Disabled"),'switch_off').''; + print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } else { - print ''.img_picto($langs->trans("Enabled"),'switch_on').''; + print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } } print ''; @@ -696,9 +696,9 @@ if ($conf->stock->enabled) { print ajax_constantonoff('WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER'); } else { if (empty($conf->global->WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER)) { - print ''.img_picto($langs->trans("Disabled"),'switch_off').''; + print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } else { - print ''.img_picto($langs->trans("Enabled"),'switch_on').''; + print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } } print ''; diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 804ed9934bf..bdafaed48fa 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -369,7 +369,7 @@ $form = new Form($db); $formother = new FormOther($db); $formcompany = new FormCompany($db); -$countrynotdefined = ''.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; +$countrynotdefined = ''.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; print load_fiche_titre($langs->trans("CompanyFoundation"), '', 'title_setup'); @@ -378,27 +378,29 @@ $head = company_admin_prepare_head(); print dol_get_fiche_head($head, 'company', $langs->trans("Company"), -1, 'company'); print ''.$langs->trans("CompanyFundationDesc", $langs->transnoentities("Save"))."
\n"; -print "
\n"; +print "

\n"; /** * Edit parameters */ -print "\n".''."\n"; + print ''."\n"; +} print '
'; print ''; print ''; print ''; -print ''."\n"; +print ''."\n"; // Name print ''."\n"; // Currency print ''."\n"; // Phone print ''; print ''."\n"; // Fax print ''; print ''."\n"; // Email print ''; +print img_picto('', 'object_email', '', false, 0, 0, '', 'pictofixedwidth'); +print ''; print ''."\n"; // Web print ''; print ''."\n"; @@ -466,7 +470,7 @@ print ''."\n"; if (!empty($conf->barcode->enabled)) { print ''; print ''; } @@ -555,7 +559,7 @@ print '
'; // IDs of the company (country-specific) print '
'; print '
'.$langs->trans("CompanyInfo").''.$langs->trans("Value").'
'.$langs->trans("CompanyInfo").''.$langs->trans("Value").'
'; @@ -417,7 +419,7 @@ print ''; -print img_picto('', 'globe-americas', 'class="paddingrightonly"'); +print img_picto('', 'globe-americas', 'class="pictofixedwidth"'); print $form->select_country($mysoc->country_id, 'country_id', '', 0); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -430,35 +432,37 @@ if (!empty($conf->global->MAIN_INFO_SOCIETE_STATE)) { $tmp = explode(':', $conf->global->MAIN_INFO_SOCIETE_STATE); $state_id = $tmp[0]; } -$formcompany->select_departement($state_id, $mysoc->country_code, 'state_id'); +print img_picto('', 'state', 'class="pictofixedwidth"'); +print $formcompany->select_state($state_id, $mysoc->country_code, 'state_id'); print '
'; +print img_picto('', 'multicurrency', 'class="pictofixedwidth"'); print $form->selectCurrency($conf->currency, "currency"); print '
'; -print img_picto('', 'object_phoning', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'object_email', '', false, 0, 0, '', 'paddingright'); -print '
'; -print img_picto('', 'globe', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'globe', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; print ''; - print ''; + print ''; print '
'; -print ''; +print ''; $langs->load("companies"); @@ -666,7 +670,7 @@ print ''; print '
'; print '
'.$langs->trans("CompanyIds").''.$langs->trans("Value").'
'.$langs->trans("CompanyIds").''.$langs->trans("Value").'
'; print ''; -print ''; +print ''; print "\n"; print '
'.$langs->trans("FiscalYearInformation").''.$langs->trans("Value").''.$langs->trans("FiscalYearInformation").''.$langs->trans("Value").'
'; @@ -681,18 +685,18 @@ print load_fiche_titre($langs->trans("TypeOfSaleTaxes"), '', 'object_payment'); print ''; print ''; -print ''; +print ''; print ''; print "\n"; // Main tax -print '"; +print '"; print '\n"; @@ -702,7 +706,7 @@ $tooltiphelp = ''; if ($mysoc->country_code == 'FR') { $tooltiphelp = "".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."\n"; } -print ""; +print '"; print "\n"; print "
'.$langs->trans("VATManagement").''.$langs->trans("Description").''.$langs->trans("VATManagement").''.$langs->trans("Description").' 
'; $tooltiphelp = ''; if ($mysoc->country_code == 'FR') { $tooltiphelp = ''.$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR").""; } -print ""; +print '"; print "
"; @@ -711,18 +715,18 @@ print "
"; print '
'; print ''; print ''; -print ''; +print ''; print ''; print "\n"; if ($mysoc->useLocalTax(1)) { // Note: When option is not set, it must not appears as set on on, because there is no default value for this option - print '"; + print '"; print '\n"; - print '"; + print '"; print '\n"; } else { if (empty($mysoc->country_code)) { print ''; } else { - print ''; + print ''; } } @@ -755,13 +759,13 @@ print "
'.$form->textwithpicto($langs->transcountry("LocalTax1Management", $mysoc->country_code), $langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").''.$form->textwithpicto($langs->transcountry("LocalTax1Management", $mysoc->country_code), $langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").' 
global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on") ? " checked" : "")."> ".$langs->transcountry("LocalTax1IsUsed", $mysoc->country_code)."
global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on") ? " checked" : "").'> '; print '
'; $tooltiphelp = $langs->transcountry("LocalTax1IsUsedExample", $mysoc->country_code); $tooltiphelp = ($tooltiphelp != "LocalTax1IsUsedExample" ? "".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample", $mysoc->country_code)."\n" : ""); - print '"; + print $form->textwithpicto($langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code), $tooltiphelp); if (!isOnlyOneLocalTax(1)) { print '
: '; $formcompany->select_localtax(1, $conf->global->MAIN_INFO_VALUE_LOCALTAX1, "lt1"); @@ -735,17 +739,17 @@ if ($mysoc->useLocalTax(1)) { print "
"; print "
global->FACTURE_LOCAL_TAX1_OPTION) || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off") ? " checked" : "")."> ".$langs->transcountry("LocalTax1IsNotUsed", $mysoc->country_code)."
global->FACTURE_LOCAL_TAX1_OPTION) || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off") ? " checked" : "").'> '; $tooltiphelp = $langs->transcountry("LocalTax1IsNotUsedExample", $mysoc->country_code); $tooltiphelp = ($tooltiphelp != "LocalTax1IsNotUsedExample" ? "".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample", $mysoc->country_code)."\n" : ""); - print ""; + print $form->textwithpicto($langs->transcountry("LocalTax1IsNotUsedDesc", $mysoc->country_code), $tooltiphelp); print "
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax1Management")).'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax1Management")).'
"; print '
'; print ''; print ''; -print ''; +print ''; print ''; print "\n"; if ($mysoc->useLocalTax(2)) { // Note: When option is not set, it must not appears as set on on, because there is no default value for this option - print '"; + print '"; print '\n"; - print '"; + print '"; print ''; } else { - print ''; + print ''; } } @@ -799,7 +803,7 @@ print "
'.$form->textwithpicto($langs->transcountry("LocalTax2Management", $mysoc->country_code), $langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").''.$form->textwithpicto($langs->transcountry("LocalTax2Management", $mysoc->country_code), $langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").' 
global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on") ? " checked" : "")."> ".$langs->transcountry("LocalTax2IsUsed", $mysoc->country_code)."
global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on") ? " checked" : "").'> '; print '
'; print '"; @@ -776,7 +780,7 @@ if ($mysoc->useLocalTax(2)) { print "
"; print "
global->FACTURE_LOCAL_TAX2_OPTION) || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off") ? " checked" : "")."> ".$langs->transcountry("LocalTax2IsNotUsed", $mysoc->country_code)."
global->FACTURE_LOCAL_TAX2_OPTION) || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off") ? " checked" : "").'> '; print "
"; $tooltiphelp = $langs->transcountry("LocalTax2IsNotUsedExample", $mysoc->country_code); @@ -788,7 +792,7 @@ if ($mysoc->useLocalTax(2)) { if (empty($mysoc->country_code)) { print '
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax2Management")).'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax2Management")).'
"; print '
'; print ''; print ''; -print ''; +print ''; print ''; print "\n"; if ($mysoc->useRevenueStamp()) { @@ -814,16 +818,13 @@ if ($mysoc->useRevenueStamp()) { if (empty($mysoc->country_code)) { print ''; } else { - print ''; + print ''; } } print "
'.$form->textwithpicto($langs->trans("RevenueStamp"), $langs->trans("RevenueStampDesc")).''.$langs->trans("Description").''.$form->textwithpicto($langs->trans("RevenueStamp"), $langs->trans("RevenueStampDesc")).''.$langs->trans("Description").' 
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryRevenueStamp"), $langs->transnoentitiesnoconv("RevenueStamp")).'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryRevenueStamp"), $langs->transnoentitiesnoconv("RevenueStamp")).'
"; - -print '
'; -print ''; -print '
'; +print $form->buttonsSaveCancel("Save", ''); print '
'; diff --git a/htdocs/admin/company_socialnetworks.php b/htdocs/admin/company_socialnetworks.php index 4809a418861..1ea09182344 100644 --- a/htdocs/admin/company_socialnetworks.php +++ b/htdocs/admin/company_socialnetworks.php @@ -74,6 +74,8 @@ if (($action == 'update' && !GETPOST("cancel", 'alpha'))) { } } } + + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } @@ -131,11 +133,8 @@ foreach ($listofnetworks as $key => $value) { print ""; print ''; -print '
'; -print '
'; -print ''; -print '
'; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/admin/compta.php b/htdocs/admin/compta.php index 6aad1c55d04..047b87ff014 100644 --- a/htdocs/admin/compta.php +++ b/htdocs/admin/compta.php @@ -199,7 +199,7 @@ print ''; print "\n"; -print '

'; +print '

'; print ''; // End of page diff --git a/htdocs/admin/const.php b/htdocs/admin/const.php index 93550ea3254..a632d5f1a41 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -222,7 +222,7 @@ if (!empty($conf->multicompany->enabled) && !$user->entity) { print ''; print ''; } -print ''; +print ''; print "\n"; print ''; @@ -259,7 +259,7 @@ if ($result) { print "\n"; - print ''.$obj->name.''."\n"; + print ''.$obj->name.''."\n"; // Value print ''; @@ -310,10 +310,10 @@ print ''; if ($conf->use_javascript_ajax) { print '
'; print '
'; - print ''; + print ''; print '
'; print '
'; - print ''; + print ''; print '
'; } diff --git a/htdocs/admin/contract.php b/htdocs/admin/contract.php index c10a6ed04b4..1c6a0ec0458 100644 --- a/htdocs/admin/contract.php +++ b/htdocs/admin/contract.php @@ -220,7 +220,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
'.$langs->trans($tmp).'
'; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -230,7 +230,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->CONTRACT_ADDON == "$file") { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -353,13 +353,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''; } else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -368,7 +368,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->CONTRACT_ADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -468,9 +468,7 @@ print ''; print ''; -print '
'; -print ''; -print '
'; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/admin/dav.php b/htdocs/admin/dav.php index e7983ae4b95..fab1787f5b9 100644 --- a/htdocs/admin/dav.php +++ b/htdocs/admin/dav.php @@ -45,6 +45,11 @@ $arrayofparameters = array( 'DAV_ALLOW_ECM_DIR'=>array('css'=>'minwidth200', 'enabled'=>$conf->ecm->enabled) ); +// To fix when dire does not exists +dol_mkdir($conf->dav->dir_output.'/temp'); +dol_mkdir($conf->dav->dir_output.'/public'); +dol_mkdir($conf->dav->dir_output.'/private'); + /* * Actions @@ -140,7 +145,7 @@ if ($action == 'edit') { print ''; print ''; } diff --git a/htdocs/admin/debugbar.php b/htdocs/admin/debugbar.php index 19a440520b1..3e878b9398b 100644 --- a/htdocs/admin/debugbar.php +++ b/htdocs/admin/debugbar.php @@ -90,7 +90,7 @@ print ''; print ''; print ''; print ''; -print ''; +print ''; print "\n"; print ''; diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php index dc801059e41..026a4315c83 100644 --- a/htdocs/admin/defaultvalues.php +++ b/htdocs/admin/defaultvalues.php @@ -206,12 +206,12 @@ $param = '&mode='.$mode; $enabledisablehtml = $langs->trans("EnableDefaultValues").' '; if (empty($conf->global->MAIN_ENABLE_DEFAULT_VALUES)) { // Button off, click to enable - $enabledisablehtml .= ''; + $enabledisablehtml .= ''; $enabledisablehtml .= img_picto($langs->trans("Disabled"), 'switch_off'); $enabledisablehtml .= ''; } else { // Button on, click to disable - $enabledisablehtml .= ''; + $enabledisablehtml .= ''; $enabledisablehtml .= img_picto($langs->trans("Activated"), 'switch_on'); $enabledisablehtml .= ''; } @@ -241,7 +241,7 @@ if ($defaultvalue) { } -print 'entity) && !empty($debug)) ? '?debug=1' : '').'" method="POST">'; +print ''; if ($optioncss != '') { print ''; } @@ -393,13 +393,13 @@ if (!is_array($result) && $result<0) { // Actions print ''; diff --git a/htdocs/admin/delais.php b/htdocs/admin/delais.php index 4b1e34335e8..229fb3e2291 100644 --- a/htdocs/admin/delais.php +++ b/htdocs/admin/delais.php @@ -448,11 +448,11 @@ if (empty($conf->global->MAIN_DISABLE_METEO) || $conf->global->MAIN_DISABLE_METE if ($action == 'edit') { - print '
'; - print '
'; + print $form->buttonsSaveCancel("Save", ''); + print ''; } else { print '
'; + print ''.$langs->trans("Modify").''; } // End of page diff --git a/htdocs/admin/delivery.php b/htdocs/admin/delivery.php index cbbcafcf975..8e60b02a5bf 100644 --- a/htdocs/admin/delivery.php +++ b/htdocs/admin/delivery.php @@ -225,7 +225,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
'.$langs->trans($tmp).'
'; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -235,7 +235,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->DELIVERY_ADDON_NUMBER == "$file") { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; + print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; } print ''; @@ -357,13 +357,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ""; } else { print ""; } @@ -372,7 +372,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->DELIVERY_ADDON_PDF == "$name") { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -439,7 +439,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print '\n"; print ''; diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 35e20b96570..9251ead9041 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -100,7 +100,7 @@ $hookmanager->initHooks(array('admin')); // Put here declaration of dictionaries properties // Sort order to show dictionary (0 is space). All other dictionaries (added by modules) will be at end of this. -$taborder = array(9, 0, 4, 3, 2, 0, 1, 8, 19, 16, 39, 27, 40, 38, 0, 5, 11, 0, 6, 0, 29, 0, 33, 34, 32, 24, 28, 17, 35, 36, 0, 10, 23, 12, 13, 7, 0, 14, 0, 22, 20, 18, 21, 41, 0, 15, 30, 0, 37, 42, 0, 43, 0, 25, 0); +$taborder = array(9, 15, 30, 0, 4, 3, 2, 0, 1, 8, 19, 16, 39, 27, 40, 38, 0, 5, 11, 0, 6, 24, 0, 29, 0, 33, 34, 32, 28, 17, 35, 36, 0, 10, 23, 12, 13, 7, 0, 14, 0, 22, 20, 18, 21, 41, 0, 37, 42, 0, 43, 0, 25, 0); // Name of SQL tables of dictionaries $tabname = array(); @@ -202,7 +202,7 @@ $tabsql[3] = "SELECT r.rowid as rowid, r.code_region as state_code, r.nom as lib $tabsql[4] = "SELECT c.rowid as rowid, c.code, c.label, c.active, c.favorite FROM ".MAIN_DB_PREFIX."c_country AS c"; $tabsql[5] = "SELECT c.rowid as rowid, c.code as code, c.label, c.active FROM ".MAIN_DB_PREFIX."c_civility AS c"; $tabsql[6] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active, a.module, a.color, a.position FROM ".MAIN_DB_PREFIX."c_actioncomm AS a"; -$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, a.deductible, c.code as country_code, c.label as country, a.fk_pays as country_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_country as c WHERE a.fk_pays=c.rowid and c.active=1"; +$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, c.code as country_code, c.label as country, a.fk_pays as country_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_country as c WHERE a.fk_pays=c.rowid and c.active=1"; $tabsql[8] = "SELECT t.id as rowid, t.code as code, t.libelle, t.fk_country as country_id, c.code as country_code, c.label as country, t.position, t.active FROM ".MAIN_DB_PREFIX."c_typent as t LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON t.fk_country=c.rowid"; $tabsql[9] = "SELECT c.code_iso as code, c.label, c.unicode, c.active FROM ".MAIN_DB_PREFIX."c_currencies AS c"; $tabsql[10] = "SELECT t.rowid, t.code, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, c.label as country, c.code as country_code, t.fk_pays as country_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; @@ -294,7 +294,7 @@ $tabfield[3] = "code,libelle,country_id,country"; $tabfield[4] = "code,label"; $tabfield[5] = "code,label"; $tabfield[6] = "code,libelle,type,color,position"; -$tabfield[7] = "code,libelle,country,accountancy_code,deductible"; +$tabfield[7] = "code,libelle,country,accountancy_code"; $tabfield[8] = "code,libelle,country_id,country".(!empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? ',position' : ''); $tabfield[9] = "code,label,unicode"; $tabfield[10] = "country_id,country,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note"; @@ -340,7 +340,7 @@ $tabfieldvalue[3] = "code,libelle,country"; $tabfieldvalue[4] = "code,label"; $tabfieldvalue[5] = "code,label"; $tabfieldvalue[6] = "code,libelle,type,color,position"; -$tabfieldvalue[7] = "code,libelle,country,accountancy_code,deductible"; +$tabfieldvalue[7] = "code,libelle,country,accountancy_code"; $tabfieldvalue[8] = "code,libelle,country".(!empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? ',position' : ''); $tabfieldvalue[9] = "code,label,unicode"; $tabfieldvalue[10] = "country,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note"; @@ -386,7 +386,7 @@ $tabfieldinsert[3] = "code_region,nom,fk_pays"; $tabfieldinsert[4] = "code,label"; $tabfieldinsert[5] = "code,label"; $tabfieldinsert[6] = "code,libelle,type,color,position"; -$tabfieldinsert[7] = "code,libelle,fk_pays,accountancy_code,deductible"; +$tabfieldinsert[7] = "code,libelle,fk_pays,accountancy_code"; $tabfieldinsert[8] = "code,libelle,fk_country".(!empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? ',position' : ''); $tabfieldinsert[9] = "code_iso,label,unicode"; $tabfieldinsert[10] = "fk_pays,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note"; @@ -568,8 +568,8 @@ $tabhelp[43] = array('code'=>$langs->trans("EnterAnyCode")); // Table to store complete informations (will replace all other table). Key is table name. $tabcomplete = array( 'c_forme_juridique'=>array('picto'=>'company'), - 'c_departements'=>array('picto'=>'country'), - 'c_regions'=>array('picto'=>'country'), + 'c_departements'=>array('picto'=>'state'), + 'c_regions'=>array('picto'=>'region'), 'c_country'=>array('picto'=>'country'), 'c_civility'=>array('picto'=>'contact'), 'c_actioncomm'=>array('picto'=>'action'), @@ -695,7 +695,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { $listfieldmodify = explode(',', $tabfieldinsert[$id]); $listfieldvalue = explode(',', $tabfieldvalue[$id]); - // Check that all fields are filled + // Check that all mandatory fields are filled $ok = 1; foreach ($listfield as $f => $value) { // Discard check of mandatory fields for country for some tables @@ -882,12 +882,12 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { } if ($keycode == 'sortorder') { // For column name 'sortorder', we use the field name 'position' - $sql .= "'".(int) GETPOST('position', 'int')."'"; + $sql .= (int) GETPOST('position', 'int'); } elseif ($_POST[$keycode] == '' && !($keycode == 'code' && $id == 10)) { $sql .= "null"; // For vat, we want/accept code = '' } elseif ($keycode == 'content') { $sql .= "'".$db->escape(GETPOST($keycode, 'restricthtml'))."'"; - } elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) { + } elseif (in_array($keycode, array('joinfile', 'private', 'pos', 'position', 'scale', 'use_default'))) { $sql .= (int) GETPOST($keycode, 'int'); } else { $sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'"; @@ -898,8 +898,8 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { $sql .= ",1)"; dol_syslog("actionadd", LOG_DEBUG); - $result = $db->query($sql); - if ($result) { // Add is ok + $resql = $db->query($sql); + if ($resql) { // Add is ok setEventMessages($langs->transnoentities("RecordCreatedSuccessfully"), null, 'mesgs'); // Clean $_POST array, we keep only id of dictionary @@ -956,7 +956,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { $sql .= "null"; // For vat, we want/accept code = '' } elseif ($keycode == 'content') { $sql .= "'".$db->escape(GETPOST($keycode, 'restricthtml'))."'"; - } elseif (in_array($keycode, array('private', 'position', 'scale'))) { + } elseif (in_array($keycode, array('joinfile', 'private', 'pos', 'position', 'scale', 'use_default'))) { $sql .= (int) GETPOST($keycode, 'int'); } else { $sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'"; @@ -1175,6 +1175,8 @@ if ($id) { $sql .= natural_search("r.code_region", $search_code); } elseif ($search_code != '' && $id == 7) { $sql .= natural_search("a.code", $search_code); + } elseif ($search_code != '' && $id == 10) { + $sql .= natural_search("t.code", $search_code); } elseif ($search_code != '' && $id != 9) { $sql .= natural_search("code", $search_code); } @@ -1234,7 +1236,7 @@ if ($id) { $class = ''; if ($value == 'pos') { - $valuetoshow = $langs->trans("Position"); $class = 'maxwidth100'; + $valuetoshow = $langs->trans("Position"); $class = 'right'; } if ($value == 'source') { $valuetoshow = $langs->trans("Contact"); @@ -1341,6 +1343,9 @@ if ($id) { if ($value == 'short_label') { $valuetoshow = $langs->trans("ShortLabel"); } + if ($value == 'fk_parent') { + $valuetoshow = $langs->trans("ParentID"); $class = 'center'; + } if ($value == 'range_account') { $valuetoshow = $langs->trans("Range"); } @@ -1452,6 +1457,10 @@ if ($id) { print $tdsoffields; + // Line to enter new values + print ''; + print ''; + $obj = new stdClass(); // If data was already input, we define them in obj to populate input fields. if (GETPOST('actionadd')) { @@ -1471,9 +1480,6 @@ if ($id) { unset($fieldlist[2]); // Remove field ??? if dictionary Regions } - // Line to enter new values - print ''; - print ''; if (empty($reshook)) { fieldList($fieldlist, $obj, $tabname[$id], 'add'); @@ -1484,7 +1490,7 @@ if ($id) { } print ''; @@ -1623,11 +1629,8 @@ if ($id) { if ($value == 'code') { $valuetoshow = $langs->trans("Code"); } - if ($value == 'pos') { - $cssprefix = 'right '; $valuetoshow = $langs->trans("Position"); - } - if ($value == 'position') { - $cssprefix = 'right '; $valuetoshow = $langs->trans("Position"); + if (in_array($value, array('pos', 'position'))) { + $valuetoshow = $langs->trans("Position"); $cssprefix = 'right '; } if ($value == 'libelle' || $value == 'label') { $valuetoshow = $langs->trans("Label"); @@ -1686,6 +1689,9 @@ if ($id) { if ($value == 'short_label') { $valuetoshow = $langs->trans("ShortLabel"); } + if ($value == 'fk_parent') { + $valuetoshow = $langs->trans("ParentID"); $cssprefix = 'center '; + } if ($value == 'range_account') { $valuetoshow = $langs->trans("Range"); } @@ -1810,7 +1816,7 @@ if ($id) { if (!is_null($withentity)) { print ''; } - print ''; + print ''; print ''; print ''; } else { @@ -1992,19 +1998,13 @@ if ($id) { if ($value == 'tracking') { $class .= ' tdoverflowauto'; } - if ($value == 'position') { + if (in_array($value, array('pos', 'position'))) { $class .= ' right'; } - if ($value == 'localtax1_type') { + if (in_array($value, array('localtax1_type', 'localtax2_type'))) { $class .= ' nowrap'; } - if ($value == 'localtax2_type') { - $class .= ' nowrap'; - } - if ($value == 'pos') { - $class .= ' right'; - } - if ($value == 'use_default') { + if (in_array($value, array('use_default', 'fk_parent'))) { $class .= ' center'; } if ($value == 'public') { @@ -2271,7 +2271,13 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') print ''; + } elseif (in_array($value, array('public', 'use_default'))) { + // Fields 0/1 with a combo select Yes/No + print ''; } elseif ($value == 'private') { + // Fields 'no'/'yes' with a combo select Yes/No print ''; @@ -2367,7 +2373,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') print $form->selectExpenseRanges($obj->fk_range); print ''; } else { - $fieldValue = isset($obj->{$value}) ? $obj->{$value}:''; + $fieldValue = isset($obj->{$value}) ? $obj->{$value}: ''; if ($value == 'sortorder') { $fieldlist[$field] = 'position'; @@ -2377,15 +2383,24 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') if ($fieldlist[$field] == 'code') { $class = 'maxwidth100'; } - if (in_array($fieldlist[$field], array('dayrule', 'day', 'month', 'year', 'pos', 'use_default', 'affect', 'delay', 'position', 'public', 'sortorder', 'sens', 'category_type'))) { + if (in_array($fieldlist[$field], array('pos', 'position'))) { + $classtd = 'right'; $class = 'maxwidth50 right'; + } + if (in_array($fieldlist[$field], array('dayrule', 'day', 'month', 'year', 'use_default', 'affect', 'delay', 'public', 'sortorder', 'sens', 'category_type', 'fk_parent'))) { $class = 'maxwidth50 center'; } - if (in_array($fieldlist[$field], array('use_default', 'public'))) { + if (in_array($fieldlist[$field], array('use_default', 'public', 'fk_parent'))) { $classtd = 'center'; } if (in_array($fieldlist[$field], array('libelle', 'label', 'tracking'))) { $class = 'quatrevingtpercent'; } + // Fields that must be suggested as '0' instead of '' + if ($fieldlist[$field] == 'fk_parent') { + if (empty($fieldValue)) { + $fieldValue = '0'; + } + } print ' - - '; + $html .= ' + + '; // do not load if display none //$html .= ''; - $html .= ''; + $html .= ''; $html .= ''; $html .= ''; } @@ -343,7 +343,7 @@ class Dolistore public function get_previous_link($text = '<<') { // phpcs:enable - return ''.$text.''; + return ''.dol_escape_htmltag($text).''; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps @@ -356,7 +356,7 @@ class Dolistore public function get_next_link($text = '>>') { // phpcs:enable - return ''.$text.''; + return ''.dol_escape_htmltag($text).''; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps diff --git a/htdocs/admin/ecm.php b/htdocs/admin/ecm.php index 52badf366ca..44df7f74189 100644 --- a/htdocs/admin/ecm.php +++ b/htdocs/admin/ecm.php @@ -93,9 +93,9 @@ if ($conf->use_javascript_ajax) { print ajax_constantonoff('ECM_AUTO_TREE_ENABLED'); } else { if (empty($conf->global->ECM_AUTO_TREE_ENABLED)) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } elseif (!empty($conf->global->USER_MAIL_REQUIRED)) { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } print ''; diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 724c4ab6dd4..be3ab2d63c1 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -103,6 +103,7 @@ $debuginfo = ''; $parameters = array(); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } @@ -239,7 +240,6 @@ if ($action == 'confirm_collect') { - /* * View */ @@ -276,11 +276,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
'; - print ''; - print '  '; - print ''; // Cancel for create does not post form if we don't know the backtopage - print '
'; + print $form->buttonsSaveCancel("Create"); print ''; } @@ -309,9 +305,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
'; - print '   '; - print '
'; + print $form->buttonsSaveCancel(); print ''; } @@ -362,7 +356,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
'; /* @@ -380,7 +374,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea { if ($action != 'classify') { - $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); $morehtmlref.='
'; @@ -434,6 +428,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $connectstringtarget = $connectstringserver.$object->getEncodedUtf7($targetdir); } + $timeoutconnect = empty($conf->global->MAIN_USE_CONNECT_TIMEOUT) ? 10 : $conf->global->MAIN_USE_CONNECT_TIMEOUT; + $timeoutread = empty($conf->global->MAIN_USE_RESPONSE_TIMEOUT) ? 30 : $conf->global->MAIN_USE_RESPONSE_TIMEOUT; + + dol_syslog("imap_open connectstring=".$connectstringsource." login=".$object->login." password=".$object->password." timeoutconnect=".$timeoutconnect." timeoutread=".$timeoutread); + + imap_timeout(IMAP_OPENTIMEOUT, $timeoutconnect); + imap_timeout(IMAP_READTIMEOUT, $timeoutread); + $connection = imap_open($connectstringsource, $object->login, $object->password); } catch (Exception $e) { print $e->getMessage(); @@ -449,12 +451,15 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if (function_exists('imap_last_error')) { $morehtml .= '
'.imap_last_error(); } + dol_syslog("Error ".$morehtml, LOG_WARNING); //var_dump(imap_errors()) } else { + dol_syslog("Imap connected. Now we call imap_num_msg()"); $morehtml .= imap_num_msg($connection); } if ($connection) { + dol_syslog("Imap close"); imap_close($connection); } @@ -482,13 +487,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; // Filters - print '
'; - print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("DEBUGBAR_LOGS_LINES_NUMBER").'
'; if ($action != 'edit' || GETPOST('rowid') != $defaultvalue->id) { - print ''.img_edit().''; - print ''.img_delete().''; + print ''.img_edit().''; + print ''.img_delete().''; } else { print ''; print ''; print '
'; - print ''; + print ''; print ''; } print '
\n"; - print 'scandir.'&label='.urlencode($module->name).'">'; + print 'scandir).'&label='.urlencode($module->name).'">'; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print "\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "'; -print ''; +print ''; print "
'; if ($action != 'edit') { - print ''; + print ''; } print ''; print $form->selectarray('source', $sourceList, (!empty($obj->{$value}) ? $obj->{$value}:'')); print ''; + print $form->selectyesno($value, (!empty($obj->{$value}) ? $obj->{$value}:''), 1); + print ''; print $form->selectyesno("private", (!empty($obj->{$value}) ? $obj->{$value}:'')); print ''; $transfound = 0; $transkey = ''; diff --git a/htdocs/admin/dolistore/class/PSWebServiceLibrary.class.php b/htdocs/admin/dolistore/class/PSWebServiceLibrary.class.php index adaf82d6964..5a23133923e 100644 --- a/htdocs/admin/dolistore/class/PSWebServiceLibrary.class.php +++ b/htdocs/admin/dolistore/class/PSWebServiceLibrary.class.php @@ -232,7 +232,7 @@ class PrestaShopWebservice if ($response != '') { libxml_clear_errors(); libxml_use_internal_errors(true); - $xml = simplexml_load_string($response, 'SimpleXMLElement', LIBXML_NOCDATA); + $xml = simplexml_load_string($response, 'SimpleXMLElement', LIBXML_NOCDATA|LIBXML_NONET); if (libxml_get_errors()) { $msg = var_export(libxml_get_errors(), true); libxml_clear_errors(); diff --git a/htdocs/admin/dolistore/class/dolistore.class.php b/htdocs/admin/dolistore/class/dolistore.class.php index 9e5a1e8bce1..5e7a229fee3 100644 --- a/htdocs/admin/dolistore/class/dolistore.class.php +++ b/htdocs/admin/dolistore/class/dolistore.class.php @@ -84,7 +84,7 @@ class Dolistore try { $this->api = new PrestaShopWebservice($conf->global->MAIN_MODULE_DOLISTORE_API_SRV, $conf->global->MAIN_MODULE_DOLISTORE_API_KEY, $this->debug_api); - dol_syslog("Call API with MAIN_MODULE_DOLISTORE_API_SRV = ".$conf->global->MAIN_MODULE_DOLISTORE_API_SRV); + dol_syslog("Call API with MAIN_MODULE_DOLISTORE_API_SRV = ".getDolGlobalString('MAIN_MODULE_DOLISTORE_API_SRV')); // $conf->global->MAIN_MODULE_DOLISTORE_API_KEY is for the login of basic auth. There is no password as it is public data. // Here we set the option array for the Webservice : we want categories resources @@ -134,7 +134,7 @@ class Dolistore try { $this->api = new PrestaShopWebservice($conf->global->MAIN_MODULE_DOLISTORE_API_SRV, $conf->global->MAIN_MODULE_DOLISTORE_API_KEY, $this->debug_api); - dol_syslog("Call API with MAIN_MODULE_DOLISTORE_API_SRV = ".$conf->global->MAIN_MODULE_DOLISTORE_API_SRV); + dol_syslog("Call API with MAIN_MODULE_DOLISTORE_API_SRV = ".getDolGlobalString('MAIN_MODULE_DOLISTORE_API_SRV')); // $conf->global->MAIN_MODULE_DOLISTORE_API_KEY is for the login of basic auth. There is no password as it is public data. // Here we set the option array for the Webservice : we want products resources @@ -217,15 +217,15 @@ class Dolistore for ($i = 0; $i < $nbofcateg; $i++) { $cat = $this->categories[$i]; if ($cat->is_root_category == 1 && $parent == 0) { - $html .= '
  • description->language[$this->lang - 1])).'">'.$cat->name->language[$this->lang - 1].' '.$cat->nb_products_recursive.'

    '; + $html .= '
  • description->language[$this->lang - 1])).'">'.dol_escape_htmltag($cat->name->language[$this->lang - 1]).' '.dol_escape_htmltag($cat->nb_products_recursive).'

    '; $html .= self::get_categories($cat->id); $html .= "
  • \n"; } elseif (trim($cat->id_parent) == $parent && $cat->active == 1 && trim($cat->id_parent) != 0) { // si cat est de ce niveau $select = ($cat->id == $this->categorie) ? ' selected' : ''; - $html .= '
  • description->language[$this->lang - 1])).'" '; - $html .= '>'.$cat->name->language[$this->lang - 1].' '.$cat->nb_products_recursive.''; + $html .= '>'.dol_escape_htmltag($cat->name->language[$this->lang - 1]).' '.dol_escape_htmltag($cat->nb_products_recursive).''; $html .= self::get_categories($cat->id); $html .= "
  • \n"; } @@ -267,9 +267,9 @@ class Dolistore // add image or default ? if ($product->id_default_image != '') { - $image_url = DOL_URL_ROOT.'/admin/dolistore/ajax/image.php?id_product='.$product->id.'&id_image='.$product->id_default_image; - $images = ''; - $images .= ''; + $image_url = DOL_URL_ROOT.'/admin/dolistore/ajax/image.php?id_product='.((int) $product->id).'&id_image='.((int) $product->id_default_image); + $images = ''; + $images .= ''; } else { $images = ''; } @@ -277,11 +277,11 @@ class Dolistore // free or pay ? if ($product->price > 0) { $price = '

    '.price(price2num($product->price, 'MT'), 0, $langs, 1, -1, -1, 'EUR').' '.$langs->trans("HT").'

    '; - $download_link = ''; + $download_link = ''; } else { $price = '

    '.$langs->trans('Free').'

    '; - $download_link = ''; - $download_link .= '

    '; + $download_link = ''; + $download_link .= '

    '; } //checking versions @@ -319,14 +319,14 @@ class Dolistore //.'
    '.$langs->trans("SeeInMarkerPlace").' //output template - $html .= '
    '.$newapp.$images.'

    '.$product->name->language[$this->lang - 1] - .'
    '.$version.'

    - '.dol_print_date(dol_stringtotime($product->date_upd), 'dayhour').' - '.$langs->trans('Ref').': '.$product->reference.' - '.$langs->trans('Id').': '.$product->id.'

    '.$product->description_short->language[$this->lang - 1].'
    '.dol_escape_htmltag($newapp.$images).'

    '.dol_escape_htmltag($product->name->language[$this->lang - 1]) + .'
    '.dol_escape_htmltag($version).'

    + '.dol_print_date(dol_stringtotime($product->date_upd), 'dayhour').' - '.$langs->trans('Ref').': '.dol_escape_htmltag($product->reference).' - '.dol_escape_htmltag($langs->trans('Id')).': '.((int) $product->id).'

    '.dol_escape_htmltag($product->description_short->language[$this->lang - 1]).'
    '.$price.''.dol_escape_htmltag($price).''.$download_link.'
    '; - print ''; + print '
    '; + print '
    '; + print ''; print ''; print ''; // Add filter - print ''; + print ''; print ''; } else { print '"; } diff --git a/htdocs/admin/eventorganization_confbooth_extrafields.php b/htdocs/admin/eventorganization_confbooth_extrafields.php index 6e19bde8268..991ed3f824a 100644 --- a/htdocs/admin/eventorganization_confbooth_extrafields.php +++ b/htdocs/admin/eventorganization_confbooth_extrafields.php @@ -16,7 +16,7 @@ */ /** - * \file htdocs/admin/eventorganization_extrafields.php + * \file htdocs/admin/eventorganization_confbooth_extrafields.php * \ingroup bom * \brief Page to setup extra fields of EventOrganization */ diff --git a/htdocs/admin/eventorganization_confboothattendee_extrafields.php b/htdocs/admin/eventorganization_confboothattendee_extrafields.php index 6b201e6b923..0b50c483d69 100644 --- a/htdocs/admin/eventorganization_confboothattendee_extrafields.php +++ b/htdocs/admin/eventorganization_confboothattendee_extrafields.php @@ -21,7 +21,7 @@ */ /** - * \file admin/conferenceorboothattendee_extrafields.php + * \file htdocs/admin/eventorganization_confboothattendee_extrafields.php * \ingroup eventorganization * \brief Page to setup extra fields of conferenceorboothattendee */ diff --git a/htdocs/admin/events.php b/htdocs/admin/events.php index 6216820166e..b98f3775aad 100644 --- a/htdocs/admin/events.php +++ b/htdocs/admin/events.php @@ -107,6 +107,8 @@ $head = security_prepare_head(); print dol_get_fiche_head($head, 'audit', '', -1); +print '
    '; + print '
    '.$form->textwithpicto($langs->trans("Filters"), $langs->trans("EmailCollectorFilterDesc")).'
    '; $arrayoftypes = array( 'from'=>array('label'=>'MailFrom', 'data-placeholder'=>$langs->trans('SearchString')), @@ -518,7 +523,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea 'isnotanswer'=>array('label'=>'IsNotAnAnswer', 'data-noparam'=>1), 'isanswer'=>array('label'=>'IsAnAnswer', 'data-noparam'=>1) ); - print $form->selectarray('filtertype', $arrayoftypes, '', 1, 0, 0, '', 1, 0, 0, '', 'maxwidth500', 1, '', 2); + print $form->selectarray('filtertype', $arrayoftypes, '', 1, 0, 0, '', 1, 0, 0, '', 'maxwidth300', 1, '', 2); print "\n"; print ''; - $arrayofselected = is_array($toselect) ? $toselect : array(); $param = ''; @@ -545,7 +530,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/admin/eventorganization.php b/htdocs/admin/eventorganization.php index a57df57d782..06309a2706e 100644 --- a/htdocs/admin/eventorganization.php +++ b/htdocs/admin/eventorganization.php @@ -16,7 +16,7 @@ */ /** - * \file htdocs/admin/setup.php + * \file htdocs/admin/eventorganization.php * \ingroup eventorganization * \brief EventOrganization setup page. */ @@ -34,13 +34,9 @@ require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; // Translations $langs->loadLangs(array("admin", "eventorganization")); -// Access control -if (!$user->admin) { - accessforbidden(); -} - // Parameters $action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); $backtopage = GETPOST('backtopage', 'alpha'); $value = GETPOST('value', 'alpha'); @@ -52,14 +48,14 @@ $arrayofparameters = array( 'EVENTORGANIZATION_TASK_LABEL'=>array('type'=>'textarea','enabled'=>1), 'EVENTORGANIZATION_CATEG_THIRDPARTY_CONF'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1), 'EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1), - //'EVENTORGANIZATION_FILTERATTENDEES_CAT'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1), - //'EVENTORGANIZATION_FILTERATTENDEES_TYPE'=>array('type'=>'thirdparty_type:', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), + 'EVENTORGANIZATION_FILTERATTENDEES_CAT'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1), + 'EVENTORGANIZATION_FILTERATTENDEES_TYPE'=>array('type'=>'thirdparty_type:', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), 'EVENTORGANIZATION_SECUREKEY'=>array('type'=>'securekey', 'enabled'=>1), 'SERVICE_BOOTH_LOCATION'=>array('type'=>'product', 'enabled'=>1), 'SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION'=>array('type'=>'product', 'enabled'=>1), @@ -70,11 +66,21 @@ $setupnotempty = 0; $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); +// Access control +if (empty($user->admin)) { + accessforbidden(); +} + + /* * Actions */ +if ($cancel) { + $action =''; +} + if ((float) DOL_VERSION >= 6) { include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php'; } @@ -207,7 +213,7 @@ if ($action == 'edit') { print ''; print ''; - print ''; + print ''; foreach ($arrayofparameters as $constname => $val) { if ($val['enabled']==1) { @@ -258,7 +264,7 @@ if ($action == 'edit') { } elseif (preg_match('/thirdparty_type/', $val['type'])) { require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; $formcompany = new FormCompany($db); - print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname); + print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname, 'customerorprospect', 'form', '', 1); } elseif ($val['type'] == 'securekey') { print ''; if (!empty($conf->use_javascript_ajax)) { @@ -292,16 +298,14 @@ if ($action == 'edit') { } print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; - print '
    '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; print '
    '; } else { if (!empty($arrayofparameters)) { print ''; - print ''; + print ''; foreach ($arrayofparameters as $constname => $val) { if ($val['enabled']==1) { @@ -358,7 +362,7 @@ if ($action == 'edit') { $product = new Product($db); $resprod = $product->fetch($conf->global->{$constname}); if ($resprod > 0) { - print $product->ref; + print $product->getNomUrl(1); } elseif ($resprod < 0) { setEventMessages(null, $object->errors, "errors"); } @@ -372,7 +376,7 @@ if ($action == 'edit') { print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; print ''; } else { print '
    '.$langs->trans("NothingToSetup"); @@ -441,7 +445,7 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -576,13 +580,13 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { // Active if (in_array($name, $def)) { print '
    '."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''."\n"; - print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "
    '; print ""; print getTitleFieldOfList("LogEvents", 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, '')."\n"; diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index 8916adef471..2d4736cc49d 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -219,7 +219,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -229,7 +229,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->EXPEDITION_ADDON_NUMBER == "$file") { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print 'scandir.'&label='.urlencode($module->name).'">'; + print 'scandir).'&label='.urlencode($module->name).'">'; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -353,13 +353,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''; } else { print '"; } @@ -368,7 +368,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->EXPEDITION_ADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -454,7 +454,7 @@ print "\n"; print '
    '."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "
    '; -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index 7ff30242336..5b73d995b5c 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -145,7 +145,18 @@ if ($action == 'updateMask') { $draft = GETPOST('EXPENSEREPORT_DRAFT_WATERMARK', 'alpha'); $res2 = dolibarr_set_const($db, "EXPENSEREPORT_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity); - if (!$res1 > 0 || !$res2 > 0) { + $res3 = 0; + if (!empty($conf->projet->enabled) && GETPOSTISSET('EXPENSEREPORT_PROJECT_IS_REQUIRED')) { // Option may not be provided + $res3 = dolibarr_set_const($db, 'EXPENSEREPORT_PROJECT_IS_REQUIRED', GETPOST('EXPENSEREPORT_PROJECT_IS_REQUIRED', 'int'), 'chaine', 0, '', $conf->entity); + } + + $dates = GETPOST('EXPENSEREPORT_PREFILL_DATES_WITH_CURRENT_MONTH', 'int'); + $res4 = dolibarr_set_const($db, 'EXPENSEREPORT_PREFILL_DATES_WITH_CURRENT_MONTH', intval($dates), 'chaine', 0, '', $conf->entity); + + $amounts = GETPOST('EXPENSEREPORT_FORCE_LINE_AMOUNTS_INCLUDING_TAXES_ONLY', 'int'); + $res5 = dolibarr_set_const($db, 'EXPENSEREPORT_FORCE_LINE_AMOUNTS_INCLUDING_TAXES_ONLY', intval($amounts), 'chaine', 0, '', $conf->entity); + + if (!($res1 > 0) || !($res2 > 0) || !($res3 >= 0) || !($res4 >0) || !($res5 >0)) { $error++; } @@ -228,7 +239,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -238,7 +249,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->EXPENSEREPORT_ADDON == $file) { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -358,13 +369,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'; + print 'scandir).'&label='.urlencode($module->name).'">'; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ""; } else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -373,7 +384,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->EXPENSEREPORT_ADDON_PDF == "$name") { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -458,11 +469,29 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftExpenseReports"), $htm print ''; print ''."\n"; +if (!empty($conf->projet->enabled)) { + print ''; + print $langs->trans('ProjectIsRequiredOnExpenseReports'); + print ''; + print $form->selectyesno('EXPENSEREPORT_PROJECT_IS_REQUIRED', empty($conf->global->EXPENSEREPORT_PROJECT_IS_REQUIRED) ? 0 : 1, 1); + print ''; +} + +print ''; +print $langs->trans('PrefillExpenseReportDatesWithCurrentMonth'); +print ''; +print $form->selectyesno('EXPENSEREPORT_PREFILL_DATES_WITH_CURRENT_MONTH', empty($conf->global->EXPENSEREPORT_PREFILL_DATES_WITH_CURRENT_MONTH) ? 0 : 1, 1); +print ''; + +print ''; +print $langs->trans('ForceExpenseReportsLineAmountsIncludingTaxesOnly'); +print ''; +print $form->selectyesno('EXPENSEREPORT_FORCE_LINE_AMOUNTS_INCLUDING_TAXES_ONLY', empty($conf->global->EXPENSEREPORT_FORCE_LINE_AMOUNTS_INCLUDING_TAXES_ONLY) ? 0 : 1, 1); +print ''; + print ''; -print '
    '; -print ''; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/admin/expensereport_ik.php b/htdocs/admin/expensereport_ik.php index bdaaa5845f3..d32ef64aebc 100644 --- a/htdocs/admin/expensereport_ik.php +++ b/htdocs/admin/expensereport_ik.php @@ -33,10 +33,6 @@ require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport_ik.class.php' // Load translation files required by the page $langs->loadLangs(array("admin", "trips", "errors", "other", "dict")); -if (!$user->admin) { - accessforbidden(); -} - $error = 0; $action = GETPOST('action', 'aZ09'); @@ -45,10 +41,20 @@ $ikoffset = GETPOST('ikoffset', 'int'); $coef = GETPOST('coef', 'int'); $fk_c_exp_tax_cat = GETPOST('fk_c_exp_tax_cat'); -$fk_range = GETPOST('fk_range'); +$fk_range = GETPOST('fk_range', 'int'); + +$expIk = new ExpenseReportIk($db); + +if (!$user->admin) { + accessforbidden(); +} + + +/* + * Actions + */ if ($action == 'updateik') { - $expIk = new ExpenseReportIk($db); if ($id > 0) { $result = $expIk->fetch($id); if ($result < 0) { @@ -61,13 +67,13 @@ if ($action == 'updateik') { if ($result > 0) { setEventMessages('SetupSaved', null, 'mesgs'); + header('Location: '.$_SERVER['PHP_SELF']); exit; } else { setEventMessages($expIk->error, $expIk->errors, 'errors'); } } elseif ($action == 'delete') { // TODO add confirm - $expIk = new ExpenseReportIk($db); if ($id > 0) { $result = $expIk->fetch($id); if ($result < 0) { @@ -77,12 +83,11 @@ if ($action == 'updateik') { $expIk->delete($user); } - header('Location: '.$_SERVER['PHP_SELF']); exit; } -$rangesbycateg = ExpenseReportIk::getAllRanges(); +$rangesbycateg = $expIk->getAllRanges(); /* @@ -102,7 +107,8 @@ print dol_get_fiche_head($head, 'expenseik', $langs->trans("ExpenseReportsIk"), echo ''.$langs->trans('ExpenseReportIkDesc').''; print '

    '; -echo '
    '; +echo ''; +echo ''; if ($action == 'edit') { echo ''; @@ -111,8 +117,6 @@ if ($action == 'edit') { echo ''; } -echo ''; - echo ''; foreach ($rangesbycateg as $fk_c_exp_tax_cat => $Tab) { diff --git a/htdocs/admin/expensereport_rules.php b/htdocs/admin/expensereport_rules.php index 050c2b9455c..67627a94af8 100644 --- a/htdocs/admin/expensereport_rules.php +++ b/htdocs/admin/expensereport_rules.php @@ -54,7 +54,6 @@ $code_expense_rules_type = GETPOST('code_expense_rules_type'); $dates = dol_mktime(12, 0, 0, GETPOST('startmonth'), GETPOST('startday'), GETPOST('startyear')); $datee = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); $amount = GETPOST('amount'); -$restrictive = GETPOST('restrictive'); $object = new ExpenseReportRule($db); if (!empty($id)) { @@ -138,7 +137,7 @@ if ($action == 'save') { exit; } -$rules = ExpenseReportRule::getAllRule(); +$rules = $object->getAllRule(); $tab_apply = array( 'A' => $langs->trans('All'), @@ -201,7 +200,7 @@ if ($action != 'edit') { echo ''; echo ''; echo ''; - echo ''; + echo ''; echo ''; echo '
    '.$form->selectDate(strtotime(date('Y-m-t', dol_now())), 'end', '', '', 0, '', 1, 0).' '.$conf->currency.''.$form->selectyesno('restrictive', 0, 1).'
    '; @@ -319,7 +318,7 @@ foreach ($rules as $rule) { echo ''.img_edit().' '; echo ''.img_delete().''; } else { - echo ' '; + echo ' '; echo ''.$langs->trans("Cancel").''; } echo ''; diff --git a/htdocs/admin/export.php b/htdocs/admin/export.php index 9b154e88789..0addfcf38f7 100644 --- a/htdocs/admin/export.php +++ b/htdocs/admin/export.php @@ -98,7 +98,7 @@ print ''; print ''; print ''.$langs->trans("ExportCsvSeparator").''; print ''; -print ''; +print ''; print ''; print ''; diff --git a/htdocs/admin/external_rss.php b/htdocs/admin/external_rss.php index 71086096e4f..d0f08783e22 100644 --- a/htdocs/admin/external_rss.php +++ b/htdocs/admin/external_rss.php @@ -180,6 +180,7 @@ if (GETPOST("delete")) { /* * View */ +$form = new Form($db); llxHeader('', $langs->trans("ExternalRSSSetup")); @@ -209,11 +210,9 @@ print 'http://news.google.com/news?ned=us&topic=h&output=rss
    http://www.d print ''; print ''; -print '
    '; -print ''; +print $form->buttonsSaveCancel("Add", ''); print ''; print ''; -print '
    '; print '
    '; @@ -253,9 +252,8 @@ if ($resql) { print ''; print "".$langs->trans("RSS")." ".($i + 1).""; print ''; - print ''; - print "   "; - print ''; + print ''; + print ''; print ''; print ''; print ''."\n"; @@ -277,9 +275,9 @@ if ($resql) { print "".$langs->trans("Status").""; print ""; if ($result > 0 && empty($rss->error)) { - print ''.$langs->trans("Online").''; + print ''.$langs->trans("Online").''; } else { - print ''.$langs->trans("Offline"); + print ''.$langs->trans("Offline"); $langs->load("errors"); if ($rssparser->error) { print ' - '.$langs->trans($rssparser->error); diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index bd4b6f5404f..ae269492ddf 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -312,7 +312,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -501,13 +501,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''; } else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("SetAsDefault"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("SetAsDefault"), 'switch_off').''; print ""; } @@ -516,7 +516,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->FACTURE_ADDON_PDF == "$name") { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("SetAsDefault"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("SetAsDefault"), 'off').''; } print ''; @@ -579,7 +579,7 @@ if (!empty($conf->global->INVOICE_USE_DEFAULT_DOCUMENT)) { // Hidden conf print ''; print ''.$langs->trans("Type").''; print ''.$langs->trans("Name").''; - print ''; + print ''; print "\n"; $listtype = array( @@ -623,7 +623,7 @@ print ''; print ''; print ''; print $langs->trans("PaymentMode").''; -print ''; +print ''; print "\n"; print ''; @@ -716,7 +716,7 @@ print $langs->trans("ForceInvoiceDate"); print ''; print $form->selectyesno("forcedate", $conf->global->FAC_FORCE_DATE_VALIDATION, 1); print ''; -print ''; +print ''; print "\n"; print ''; @@ -742,7 +742,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print ''; -print ''; +print ''; print "\n"; print ''; @@ -755,7 +755,7 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftBill"), $htmltext, 1, print ''; print ''; print ''; -print ''; +print ''; print "\n"; print ''; diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index 987f435e38f..09113ef882b 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -47,6 +47,8 @@ if (!$user->admin) { // Constant and translation of the module description $modules = array( + 'NOTE_PUBLIC' => 'FCKeditorForNotePublic', + 'NOTE_PRIVATE' => 'FCKeditorForNotePrivate', 'SOCIETE' => 'FCKeditorForCompany', 'PRODUCTDESC' => 'FCKeditorForProduct', 'DETAILS' => 'FCKeditorForProductDetails', @@ -54,11 +56,11 @@ $modules = array( 'MAILING' => 'FCKeditorForMailing', 'MAIL' => 'FCKeditorForMail', 'TICKET' => 'FCKeditorForTicket', - 'NOTE_PUBLIC' => 'FCKeditorForNotePublic', - 'NOTE_PRIVATE' => 'FCKeditorForNotePrivate', ); // Conditions for the option to be offered $conditions = array( + 'NOTE_PUBLIC' => 1, + 'NOTE_PRIVATE' => 1, 'SOCIETE' => 1, 'PRODUCTDESC' => (!empty($conf->product->enabled) || !empty($conf->service->enabled)), 'DETAILS' => (!empty($conf->facture->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled) || !empty($conf->supplier_proposal->enabled) || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)), @@ -66,11 +68,11 @@ $conditions = array( 'MAILING' => !empty($conf->mailing->enabled), 'MAIL' => (!empty($conf->facture->enabled) || !empty($conf->propal->enabled) || !empty($conf->commande->enabled)), 'TICKET' => !empty($conf->ticket->enabled), - 'NOTE_PUBLIC' => 1, - 'NOTE_PRIVATE' => 1, ); // Picto $picto = array( + 'NOTE_PUBLIC' => 'generic', + 'NOTE_PRIVATE' => 'generic', 'SOCIETE' => 'generic', 'PRODUCTDESC' => 'product', 'DETAILS' => 'product', @@ -78,8 +80,6 @@ $picto = array( 'MAILING' => 'email', 'MAIL' => 'email', 'TICKET' => 'ticket', - 'NOTE_PUBLIC' => 'generic', - 'NOTE_PRIVATE' => 'generic', ); @@ -117,7 +117,7 @@ if (GETPOST('save', 'alpha')) { $error++; } - $fckeditor_test = GETPOST('formtestfield'); + $fckeditor_test = GETPOST('formtestfield', 'restricthtml'); if (!empty($fckeditor_test)) { if (!dolibarr_set_const($db, 'FCKEDITOR_TEST', $fckeditor_test, 'chaine', 0, '', $conf->entity)) { $error++; @@ -215,7 +215,7 @@ if (empty($conf->use_javascript_ajax)) { print $conf->global->FCKEDITOR_TEST; print ''; } - print '
    '."\n"; + print $form->buttonsSaveCancel("Save", ''); print '
    '; print ''."\n"; diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index cdfa1f91753..4369bb9a2a7 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -284,7 +284,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -294,7 +294,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->FICHEINTER_ADDON == $classname) { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; + print ''.img_picto($langs->trans("Disabled"), 'switch_off').''; } print ''; @@ -419,13 +419,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print "\n"; - print 'scandir.'&label='.urlencode($module->name).'">'; + print 'scandir).'&label='.urlencode($module->name).'">'; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ""; } else { print "\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -434,7 +434,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->FICHEINTER_ADDON_PDF == "$name") { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -512,7 +512,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print ''; -print ''; +print ''; print "\n"; print ''; @@ -525,7 +525,7 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftInterventionCards"), $ print ''; print ''; print ''; -print ''; +print ''; print "\n"; print ''; // print products on fichinter @@ -540,7 +540,7 @@ if ($conf->global->FICHINTER_PRINT_PRODUCTS) { } print '/>'; print ''; -print ''; +print ''; print "\n"; print ''; // Use services duration @@ -555,7 +555,7 @@ print ''; print 'global->FICHINTER_USE_SERVICE_DURATION ? ' checked' : '').'>'; print ''; print ''; -print ''; +print ''; print ''; print ''; print ''; @@ -571,7 +571,7 @@ print ''; print 'global->FICHINTER_WITHOUT_DURATION ? ' checked' : '').'>'; print ''; print ''; -print ''; +print ''; print ''; print ''; print ''; @@ -587,7 +587,7 @@ print ''; print 'global->FICHINTER_DATE_WITHOUT_HOUR ? ' checked' : '').'>'; print ''; print ''; -print ''; +print ''; print ''; print ''; print ''; diff --git a/htdocs/admin/geoipmaxmind.php b/htdocs/admin/geoipmaxmind.php index 40819b697e3..35def897445 100644 --- a/htdocs/admin/geoipmaxmind.php +++ b/htdocs/admin/geoipmaxmind.php @@ -107,7 +107,7 @@ print ''; print ''; print ''; print ''; -print ''; +print ''; print "\n"; // Lib version diff --git a/htdocs/admin/holiday.php b/htdocs/admin/holiday.php index f6ac529466e..bfd7e22c461 100644 --- a/htdocs/admin/holiday.php +++ b/htdocs/admin/holiday.php @@ -220,7 +220,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -230,7 +230,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->HOLIDAY_ADDON == "$file") { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -274,147 +274,141 @@ print ''; print '
    '; -if ($conf->global->MAIN_FEATURES_LEVEL < 2) { - print dol_get_fiche_end(); - // End of page - llxFooter(); - $db->close(); - exit; -} - /* * Documents models for Holidays */ -print load_fiche_titre($langs->trans("TemplatePDFHolidays"), '', ''); +if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { + print load_fiche_titre($langs->trans("TemplatePDFHolidays"), '', ''); -// Defined model definition table -$def = array(); -$sql = "SELECT nom"; -$sql .= " FROM ".MAIN_DB_PREFIX."document_model"; -$sql .= " WHERE type = '".$db->escape($type)."'"; -$sql .= " AND entity = ".$conf->entity; -$resql = $db->query($sql); -if ($resql) { - $i = 0; - $num_rows = $db->num_rows($resql); - while ($i < $num_rows) { - $array = $db->fetch_array($resql); - array_push($def, $array[0]); - $i++; + // Defined model definition table + $def = array(); + $sql = "SELECT nom"; + $sql .= " FROM ".MAIN_DB_PREFIX."document_model"; + $sql .= " WHERE type = '".$db->escape($type)."'"; + $sql .= " AND entity = ".$conf->entity; + $resql = $db->query($sql); + if ($resql) { + $i = 0; + $num_rows = $db->num_rows($resql); + while ($i < $num_rows) { + $array = $db->fetch_array($resql); + array_push($def, $array[0]); + $i++; + } + } else { + dol_print_error($db); } -} else { - dol_print_error($db); -} -print '
    '; -print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; -print ''; -print ''; -print ''; -print '\n"; -print '\n"; -print ''; -print ''; -print "\n"; + print '
    '; + print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
    '; + print ''; + print ''; + print ''; + print '\n"; + print '\n"; + print ''; + print ''; + print "\n"; -clearstatcache(); + clearstatcache(); -foreach ($dirmodels as $reldir) { - foreach (array('', '/doc') as $valdir) { - $realpath = $reldir."core/modules/holiday".$valdir; - $dir = dol_buildpath($realpath); + foreach ($dirmodels as $reldir) { + foreach (array('', '/doc') as $valdir) { + $realpath = $reldir."core/modules/holiday".$valdir; + $dir = dol_buildpath($realpath); - if (is_dir($dir)) { - $handle = opendir($dir); - if (is_resource($handle)) { - while (($file = readdir($handle)) !== false) { - $filelist[] = $file; - } - closedir($handle); - arsort($filelist); + if (is_dir($dir)) { + $handle = opendir($dir); + if (is_resource($handle)) { + while (($file = readdir($handle)) !== false) { + $filelist[] = $file; + } + closedir($handle); + arsort($filelist); - foreach ($filelist as $file) { - if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) { - if (file_exists($dir.'/'.$file)) { - $name = substr($file, 4, dol_strlen($file) - 16); - $classname = substr($file, 0, dol_strlen($file) - 12); + foreach ($filelist as $file) { + if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) { + if (file_exists($dir.'/'.$file)) { + $name = substr($file, 4, dol_strlen($file) - 16); + $classname = substr($file, 0, dol_strlen($file) - 12); - require_once $dir.'/'.$file; - $module = new $classname($db); + require_once $dir.'/'.$file; + $module = new $classname($db); - $modulequalified = 1; - if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) { - $modulequalified = 0; - } - if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) { - $modulequalified = 0; - } - - if ($modulequalified) { - print ''; - // Active - if (in_array($name, $def)) { - print ''; - } else { - print '"; + + // Active + if (in_array($name, $def)) { + print ''; + } else { + print '"; + } + + // Default + print ''; + + // Info + $htmltooltip = ''.$langs->trans("Name").': '.$module->name; + $htmltooltip .= '
    '.$langs->trans("Type").': '.($module->type ? $module->type : $langs->trans("Unknown")); + if ($module->type == 'pdf') { + $htmltooltip .= '
    '.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; + } + $htmltooltip .= '
    '.$langs->trans("Path").': '.preg_replace('/^\//', '', $realpath).'/'.$file; + + $htmltooltip .= '

    '.$langs->trans("FeaturesSupported").':'; + $htmltooltip .= '
    '.$langs->trans("Logo").': '.yn($module->option_logo, 1, 1); + $htmltooltip .= '
    '.$langs->trans("PaymentMode").': '.yn($module->option_modereg, 1, 1); + $htmltooltip .= '
    '.$langs->trans("PaymentConditions").': '.yn($module->option_condreg, 1, 1); + $htmltooltip .= '
    '.$langs->trans("MultiLanguage").': '.yn($module->option_multilang, 1, 1); + $htmltooltip .= '
    '.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark, 1, 1); + + + print ''; + + // Preview + print ''; + + print "\n"; } - - // Default - print ''; - - // Info - $htmltooltip = ''.$langs->trans("Name").': '.$module->name; - $htmltooltip .= '
    '.$langs->trans("Type").': '.($module->type ? $module->type : $langs->trans("Unknown")); - if ($module->type == 'pdf') { - $htmltooltip .= '
    '.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; - } - $htmltooltip .= '
    '.$langs->trans("Path").': '.preg_replace('/^\//', '', $realpath).'/'.$file; - - $htmltooltip .= '

    '.$langs->trans("FeaturesSupported").':'; - $htmltooltip .= '
    '.$langs->trans("Logo").': '.yn($module->option_logo, 1, 1); - $htmltooltip .= '
    '.$langs->trans("PaymentMode").': '.yn($module->option_modereg, 1, 1); - $htmltooltip .= '
    '.$langs->trans("PaymentConditions").': '.yn($module->option_condreg, 1, 1); - $htmltooltip .= '
    '.$langs->trans("MultiLanguage").': '.yn($module->option_multilang, 1, 1); - $htmltooltip .= '
    '.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark, 1, 1); - - - print ''; - - // Preview - print ''; - - print "\n"; } } } @@ -422,11 +416,11 @@ foreach ($dirmodels as $reldir) { } } } -} -print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
    '; - print (empty($module->name) ? $name : $module->name); - print "\n"; - if (method_exists($module, 'info')) { - print $module->info($langs); - } else { - print $module->description; + $modulequalified = 1; + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) { + $modulequalified = 0; + } + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) { + $modulequalified = 0; } - print ''."\n"; - print ''; - print img_picto($langs->trans("Enabled"), 'switch_on'); - print ''; + if ($modulequalified) { + print '
    '; + print (empty($module->name) ? $name : $module->name); + print "\n"; + if (method_exists($module, 'info')) { + print $module->info($langs); + } else { + print $module->description; + } print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; - print "'."\n"; + print ''; + print img_picto($langs->trans("Enabled"), 'switch_on'); + print ''; + print ''."\n"; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print "'; + if ($conf->global->HOLIDAY_ADDON_PDF == $name) { + print img_picto($langs->trans("Default"), 'on'); + } else { + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + } + print ''; + print $form->textwithpicto('', $htmltooltip, 1, 0); + print ''; + if ($module->type == 'pdf') { + print ''.img_object($langs->trans("Preview"), 'pdf').''; + } else { + print img_object($langs->trans("PreviewNotAvailable"), 'generic'); + } + print '
    '; - if ($conf->global->HOLIDAY_ADDON_PDF == $name) { - print img_picto($langs->trans("Default"), 'on'); - } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; - } - print ''; - print $form->textwithpicto('', $htmltooltip, 1, 0); - print ''; - if ($module->type == 'pdf') { - print ''.img_object($langs->trans("Preview"), 'pdf').''; - } else { - print img_object($langs->trans("PreviewNotAvailable"), 'generic'); - } - print '
    '; -print ''; -print "
    "; + print ''; + print ''; + print "
    "; +} /* @@ -446,42 +440,123 @@ print ''.$langs->trans("Parameter").''; print ''.$langs->trans("Value").''; print "\n"; -$substitutionarray = pdf_getSubstitutionArray($langs, array('objectamount'), null, 2); -$substitutionarray['__(AnyTranslationKey)__'] = $langs->trans("Translation"); -$htmltext = ''.$langs->trans("AvailableVariables").':
    '; -foreach ($substitutionarray as $key => $val) { - $htmltext .= $key.'
    '; +/*var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY); +*/ +if (!isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY)) { + $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY = 1; } -$htmltext .= '
    '; +if (!isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY)) { + $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY = 1; +} +/* +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY); +*/ -print ''; -print $form->textwithpicto($langs->trans("FreeLegalTextOnHolidays"), $langs->trans("AddCRIfTooLong").'

    '.$htmltext, 1, 'help', '', 0, 2, 'tooltiphelp'); -print '
    '; -$variablename = 'HOLIDAY_FREE_TEXT'; -if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { - print ''; +// Set working days +print ''; +print "".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Monday")).""; +print ''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY', array(), null, 0); } else { - include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor($variablename, $conf->global->$variablename, '', 80, 'dolibarr_notes'); - print $doleditor->Create(); + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } } -print ''."\n"; +print ""; +print ""; -//Use draft Watermark +// Set working days +print ''; +print "".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Friday")).""; +print ''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY', array(), null, 0); +} else { + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } +} +print ""; +print ""; -print ''; -print $form->textwithpicto($langs->trans("WatermarkOnDraftHolidayCards"), $htmltext, 1, 'help', '', 0, 2, 'watermarktooltip').'
    '; -print ''; -print ''; -print ''."\n"; +// Set working days +print ''; +print "".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Saturday")).""; +print ''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY', array(), null, 0, 0, 0, 2, 0, 1); +} else { + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } +} +print ""; +print ""; + +// Set working days +print ''; +print "".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Sunday")).""; +print ''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY', array(), null, 0, 0, 0, 2, 0, 1); +} else { + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } +} +print ""; +print ""; + +if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { + $substitutionarray = pdf_getSubstitutionArray($langs, array('objectamount'), null, 2); + $substitutionarray['__(AnyTranslationKey)__'] = $langs->trans("Translation"); + $htmltext = ''.$langs->trans("AvailableVariables").':
    '; + foreach ($substitutionarray as $key => $val) { + $htmltext .= $key.'
    '; + } + $htmltext .= '
    '; + + print ''; + print $form->textwithpicto($langs->trans("FreeLegalTextOnHolidays"), $langs->trans("AddCRIfTooLong").'

    '.$htmltext, 1, 'help', '', 0, 2, 'tooltiphelp'); + print '
    '; + $variablename = 'HOLIDAY_FREE_TEXT'; + if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { + print ''; + } else { + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor = new DolEditor($variablename, $conf->global->$variablename, '', 80, 'dolibarr_notes'); + print $doleditor->Create(); + } + print ''."\n"; + + //Use draft Watermark + + print ''; + print $form->textwithpicto($langs->trans("WatermarkOnDraftHolidayCards"), $htmltext, 1, 'help', '', 0, 2, 'watermarktooltip').'
    '; + print ''; + print ''; + print ''."\n"; +} print ''; print ''; - -print '
    '; -print ''; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/admin/hrm.php b/htdocs/admin/hrm.php new file mode 100644 index 00000000000..2bcd4977716 --- /dev/null +++ b/htdocs/admin/hrm.php @@ -0,0 +1,655 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file hrm/admin/setup.php + * \ingroup hrm + * \brief HrmTest setup page. + */ + +// Load Dolibarr environment +require '../main.inc.php'; + +global $langs, $user; + +// Libraries +require_once DOL_DOCUMENT_ROOT."/core/lib/admin.lib.php"; +require_once DOL_DOCUMENT_ROOT.'/hrm/lib/hrm.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/skill.class.php'; +//require_once "../class/myclass.class.php"; + +// Translations +$langs->loadLangs(array("admin", "hrm")); + +// Access control +if (!$user->admin) { + accessforbidden(); +} + +// Parameters +$action = GETPOST('action', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +$value = GETPOST('value', 'alpha'); +$label = GETPOST('label', 'alpha'); +$scandir = GETPOST('scan_dir', 'alpha'); +$type = 'myobject'; + +$arrayofparameters = array( + 'HRM_MAXRANK'=>array('type'=>'integer','enabled'=>1), + 'HRM_DEFAULT_SKILL_DESCRIPTION'=>array('type'=>'textarea','enabled'=>1), +); + +$error = 0; +$setupnotempty = 0; + +$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + + +/* + * Actions + */ + +if ((float) DOL_VERSION >= 6) { + include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php'; +} + +if ($action == 'update') { + $max_rank = GETPOST('HRM_MAXRANK', 'int'); + + // We complete skill possible level notation if necessary + if (!empty($max_rank)) { + $static_skill = new Skill($db); + $TAllSkills = $static_skill->fetchAll(); + foreach ($TAllSkills as &$skill) { + if (empty($skill->lines)) $skill->fetchLines(); + if (count($skill->lines) < $conf->global->HRM_MAXRANK) { + $skill->createSkills(count($skill->lines) + 1); + } + } + } +} elseif ($action == 'updateMask') { + $maskconstorder = GETPOST('maskconstorder', 'alpha'); + $maskorder = GETPOST('maskorder', 'alpha'); + + if ($maskconstorder) { + $res = dolibarr_set_const($db, $maskconstorder, $maskorder, 'chaine', 0, '', $conf->entity); + if (!($res > 0)) { + $error++; + } + } + + if (!$error) { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } else { + setEventMessages($langs->trans("Error"), null, 'errors'); + } +} elseif ($action == 'specimen') { + $modele = GETPOST('module', 'alpha'); + $tmpobjectkey = GETPOST('object'); + + $tmpobject = new $tmpobjectkey($db); + $tmpobject->initAsSpecimen(); + + // Search template files + $file = ''; $classname = ''; $filefound = 0; + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $file = dol_buildpath($reldir."core/modules/hrm/doc/pdf_".$modele."_".strtolower($tmpobjectkey).".modules.php", 0); + if (file_exists($file)) { + $filefound = 1; + $classname = "pdf_".$modele; + break; + } + } + + if ($filefound) { + require_once $file; + + $module = new $classname($db); + + if ($module->write_file($tmpobject, $langs) > 0) { + header("Location: ".DOL_URL_ROOT."/document.php?modulepart=".strtolower($tmpobjectkey)."&file=SPECIMEN.pdf"); + return; + } else { + setEventMessages($module->error, null, 'errors'); + dol_syslog($module->error, LOG_ERR); + } + } else { + setEventMessages($langs->trans("ErrorModuleNotFound"), null, 'errors'); + dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR); + } +} elseif ($action == 'setmod') { + // TODO Check if numbering module chosen can be activated by calling method canBeActivated + $tmpobjectkey = GETPOST('object'); + if (!empty($tmpobjectkey)) { + $constforval = 'HRMTEST_'.strtoupper($tmpobjectkey)."_ADDON"; + dolibarr_set_const($db, $constforval, $value, 'chaine', 0, '', $conf->entity); + } +} elseif ($action == 'set') { + // Activate a model + $ret = addDocumentModel($value, $type, $label, $scandir); +} elseif ($action == 'del') { + $ret = delDocumentModel($value, $type); + if ($ret > 0) { + $tmpobjectkey = GETPOST('object'); + if (!empty($tmpobjectkey)) { + $constforval = 'HRMTEST_'.strtoupper($tmpobjectkey).'_ADDON_PDF'; + if ($conf->global->$constforval == "$value") { + dolibarr_del_const($db, $constforval, $conf->entity); + } + } + } +} elseif ($action == 'setdoc') { + // Set or unset default model + $tmpobjectkey = GETPOST('object'); + if (!empty($tmpobjectkey)) { + $constforval = 'HRMTEST_'.strtoupper($tmpobjectkey).'_ADDON_PDF'; + if (dolibarr_set_const($db, $constforval, $value, 'chaine', 0, '', $conf->entity)) { + // The constant that was read before the new set + // We therefore requires a variable to have a coherent view + $conf->global->$constforval = $value; + } + + // We disable/enable the document template (into llx_document_model table) + $ret = delDocumentModel($value, $type); + if ($ret > 0) { + $ret = addDocumentModel($value, $type, $label, $scandir); + } + } +} elseif ($action == 'unsetdoc') { + $tmpobjectkey = GETPOST('object'); + if (!empty($tmpobjectkey)) { + $constforval = 'HRMTEST_'.strtoupper($tmpobjectkey).'_ADDON_PDF'; + dolibarr_del_const($db, $constforval, $conf->entity); + } +} + + +/* + * View + */ + +$form = new Form($db); + +$help_url = ''; +$page_name = "HRMSetup"; + +llxHeader('', $langs->trans($page_name), $help_url); + +// Subheader +$linkback = ''.$langs->trans("BackToModuleList").''; + +print load_fiche_titre($langs->trans($page_name), $linkback, 'title_setup'); + +// Configuration header +$head = hrmAdminPrepareHead(); +print dol_get_fiche_head($head, 'settings', $langs->trans($page_name), -1, "hrm"); + +$moduledir = 'hrm'; +$myTmpObjects = array(); +$myTmpObjects['evaluation'] = array('includerefgeneration'=>1, 'includedocgeneration'=>0); + +foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { + if ($myTmpObjectKey == 'MyObject') { + continue; + } + if ($myTmpObjectArray['includerefgeneration']) { + /* + * Orders Numbering model + */ + $setupnotempty++; + + print load_fiche_titre($langs->trans("NumberingModules", $myTmpObjectKey), '', ''); + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''."\n"; + + clearstatcache(); + + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/".$moduledir); + + if (is_dir($dir)) { + $handle = opendir($dir); + if (is_resource($handle)) { + while (($file = readdir($handle)) !== false) { + if (strpos($file, 'mod_'.strtolower($myTmpObjectKey).'_') === 0 && substr($file, dol_strlen($file) - 3, 3) == 'php') { + $file = substr($file, 0, dol_strlen($file) - 4); + + require_once $dir.'/'.$file.'.php'; + + $module = new $file($db); + + // Show modules according to features level + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) { + continue; + } + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) { + continue; + } + + if ($module->isEnabled()) { + dol_include_once('/'.$moduledir.'/class/'.strtolower($myTmpObjectKey).'.class.php'); + + print ''; + + // Show example of numbering model + print ''."\n"; + + print ''; + + $mytmpinstance = new $myTmpObjectKey($db); + $mytmpinstance->initAsSpecimen(); + + // Info + $htmltooltip = ''; + $htmltooltip .= ''.$langs->trans("Version").': '.$module->getVersion().'
    '; + + $nextval = $module->getNextValue($mytmpinstance); + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval + $htmltooltip .= ''.$langs->trans("NextValue").': '; + if ($nextval) { + if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured') { + $nextval = $langs->trans($nextval); + } + $htmltooltip .= $nextval.'
    '; + } else { + $htmltooltip .= $langs->trans($module->error).'
    '; + } + } + + print ''; + + print "\n"; + } + } + } + closedir($handle); + } + } + } + print "
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
    '.$module->name."\n"; + print $module->info(); + print ''; + $tmp = $module->getExample(); + if (preg_match('/^Error/', $tmp)) { + $langs->load("errors"); + print '
    '.$langs->trans($tmp).'
    '; + } elseif ($tmp == 'NotConfigured') { + print $langs->trans($tmp); + } else { + print $tmp; + } + print '
    '; + $constforvar = 'HRMTEST_'.strtoupper($myTmpObjectKey).'_ADDON'; + if ($conf->global->$constforvar == $file) { + print img_picto($langs->trans("Activated"), 'switch_on'); + } else { + print ''; + print img_picto($langs->trans("Disabled"), 'switch_off'); + print ''; + } + print ''; + print $form->textwithpicto('', $htmltooltip, 1, 0); + print '
    \n"; + } + + if ($myTmpObjectArray['includedocgeneration']) { + /* + * Document templates generators + */ + $setupnotempty++; + $type = strtolower($myTmpObjectKey); + + print load_fiche_titre($langs->trans("DocumentModules", $myTmpObjectKey), '', ''); + + // Load array def with activated templates + $def = array(); + $sql = "SELECT nom"; + $sql .= " FROM ".MAIN_DB_PREFIX."document_model"; + $sql .= " WHERE type = '".$db->escape($type)."'"; + $sql .= " AND entity = ".$conf->entity; + $resql = $db->query($sql); + if ($resql) { + $i = 0; + $num_rows = $db->num_rows($resql); + while ($i < $num_rows) { + $array = $db->fetch_array($resql); + array_push($def, $array[0]); + $i++; + } + } else { + dol_print_error($db); + } + + print "\n"; + print "\n"; + print ''; + print ''; + print '\n"; + print '\n"; + print ''; + print ''; + print "\n"; + + clearstatcache(); + + foreach ($dirmodels as $reldir) { + foreach (array('', '/doc') as $valdir) { + $realpath = $reldir."core/modules/".$moduledir.$valdir; + $dir = dol_buildpath($realpath); + + if (is_dir($dir)) { + $handle = opendir($dir); + if (is_resource($handle)) { + while (($file = readdir($handle)) !== false) { + $filelist[] = $file; + } + closedir($handle); + arsort($filelist); + + foreach ($filelist as $file) { + if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) { + if (file_exists($dir.'/'.$file)) { + $name = substr($file, 4, dol_strlen($file) - 16); + $classname = substr($file, 0, dol_strlen($file) - 12); + + require_once $dir.'/'.$file; + $module = new $classname($db); + + $modulequalified = 1; + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) { + $modulequalified = 0; + } + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) { + $modulequalified = 0; + } + + if ($modulequalified) { + print ''; + + // Active + if (in_array($name, $def)) { + print ''; + } else { + print '"; + } + + // Default + print ''; + + // Info + $htmltooltip = ''.$langs->trans("Name").': '.$module->name; + $htmltooltip .= '
    '.$langs->trans("Type").': '.($module->type ? $module->type : $langs->trans("Unknown")); + if ($module->type == 'pdf') { + $htmltooltip .= '
    '.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; + } + $htmltooltip .= '
    '.$langs->trans("Path").': '.preg_replace('/^\//', '', $realpath).'/'.$file; + + $htmltooltip .= '

    '.$langs->trans("FeaturesSupported").':'; + $htmltooltip .= '
    '.$langs->trans("Logo").': '.yn($module->option_logo, 1, 1); + $htmltooltip .= '
    '.$langs->trans("MultiLanguage").': '.yn($module->option_multilang, 1, 1); + + print ''; + + // Preview + print ''; + + print "\n"; + } + } + } + } + } + } + } + } + + print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
    '; + print (empty($module->name) ? $name : $module->name); + print "\n"; + if (method_exists($module, 'info')) { + print $module->info($langs); + } else { + print $module->description; + } + print ''."\n"; + print ''; + print img_picto($langs->trans("Enabled"), 'switch_on'); + print ''; + print ''."\n"; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print "'; + $constforvar = 'HRMTEST_'.strtoupper($myTmpObjectKey).'_ADDON'; + if ($conf->global->$constforvar == $name) { + //print img_picto($langs->trans("Default"), 'on'); + // Even if choice is the default value, we allow to disable it. Replace this with previous line if you need to disable unset + print 'scandir.'&label='.urlencode($module->name).'&type='.urlencode($type).'" alt="'.$langs->trans("Disable").'">'.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + } + print ''; + print $form->textwithpicto('', $htmltooltip, 1, 0); + print ''; + if ($module->type == 'pdf') { + print ''.img_object($langs->trans("Preview"), 'pdf').''; + } else { + print img_object($langs->trans("PreviewNotAvailable"), 'generic'); + } + print '
    '; + } +} + +print load_fiche_titre($langs->trans('OtherOptions'), '', ''); + +if ($action == 'edit') { + print '
    '; + print ''; + print ''; + + print ''; + print ''; + + foreach ($arrayofparameters as $constname => $val) { + if ($val['enabled']==1) { + $setupnotempty++; + print ''; + } + } + print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; + $tooltiphelp = (($langs->trans($constname . 'Tooltip') != $constname . 'Tooltip') ? $langs->trans($constname . 'Tooltip') : ''); + print ''.$form->textwithpicto($langs->trans($constname), $tooltiphelp, 1, 'info', '', 0, 3, 'tootips'.$constname).''; + print ''; + + if ($val['type'] == 'textarea') { + print '\n"; + } elseif ($val['type']== 'integer') { + print '' . "\n"; + } elseif ($val['type']== 'html') { + require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php'; + $doleditor = new DolEditor($constname, $conf->global->{$constname}, '', 160, 'dolibarr_notes', '', false, false, $conf->fckeditor->enabled, ROWS_5, '90%'); + $doleditor->Create(); + } elseif ($val['type'] == 'yesno') { + print $form->selectyesno($constname, $conf->global->{$constname}, 1); + } elseif (preg_match('/emailtemplate:/', $val['type'])) { + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + $tmp = explode(':', $val['type']); + $nboftemplates = $formmail->fetchAllEMailTemplate($tmp[1], $user, null, 1); // We set lang=null to get in priority record with no lang + //$arraydefaultmessage = $formmail->getEMailTemplate($db, $tmp[1], $user, null, 0, 1, ''); + $arrayofmessagename = array(); + if (is_array($formmail->lines_model)) { + foreach ($formmail->lines_model as $modelmail) { + //var_dump($modelmail); + $moreonlabel = ''; + if (!empty($arrayofmessagename[$modelmail->label])) { + $moreonlabel = ' (' . $langs->trans("SeveralLangugeVariatFound") . ')'; + } + // The 'label' is the key that is unique if we exclude the language + $arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->label)) . $moreonlabel; + } + } + print $form->selectarray($constname, $arrayofmessagename, $conf->global->{$constname}, 'None', 0, 0, '', 0, 0, 0, '', '', 1); + } elseif (preg_match('/category:/', $val['type'])) { + require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; + $formother = new FormOther($db); + + $tmp = explode(':', $val['type']); + print img_picto('', 'category', 'class="pictofixedwidth"'); + print $formother->select_categories($tmp[1], $conf->global->{$constname}, $constname, 0, $langs->trans('CustomersProspectsCategoriesShort')); + } elseif (preg_match('/thirdparty_type/', $val['type'])) { + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; + $formcompany = new FormCompany($db); + print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname); + } elseif ($val['type'] == 'securekey') { + print ''; + if (!empty($conf->use_javascript_ajax)) { + print ' '.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token'.$constname.'" class="linkobject"'); + } + if (!empty($conf->use_javascript_ajax)) { + print "\n".''; + } + } elseif ($val['type'] == 'product') { + if (!empty($conf->product->enabled) || !empty($conf->service->enabled)) { + $selected = (empty($conf->global->$constname) ? '' : $conf->global->$constname); + $form->select_produits($selected, $constname, '', 0); + } + } else { + print ''; + } + print '
    '; + + print '
    '; + print ''; + print '
    '; + + print '
    '; + print '
    '; +} else { + if (!empty($arrayofparameters)) { + print ''; + print ''; + + foreach ($arrayofparameters as $constname => $val) { + if ($val['enabled']==1) { + $setupnotempty++; + print ''; + } + } + + print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; + $tooltiphelp = (($langs->trans($constname . 'Tooltip') != $constname . 'Tooltip') ? $langs->trans($constname . 'Tooltip') : ''); + print $form->textwithpicto($langs->trans($constname), $tooltiphelp); + print ''; + + if ($val['type'] == 'textarea') { + print dol_nl2br($conf->global->{$constname}); + } elseif ($val['type']== 'html') { + print $conf->global->{$constname}; + } elseif ($val['type'] == 'yesno') { + print ajax_constantonoff($constname); + } elseif (preg_match('/emailtemplate:/', $val['type'])) { + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + $tmp = explode(':', $val['type']); + + $template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs, $conf->global->{$constname}); + if ($template<0) { + setEventMessages(null, $formmail->errors, 'errors'); + } + print $langs->trans($template->label); + } elseif (preg_match('/category:/', $val['type'])) { + $c = new Categorie($db); + $result = $c->fetch($conf->global->{$constname}); + if ($result < 0) { + setEventMessages(null, $c->errors, 'errors'); + } + $ways = $c->print_all_ways(' >> ', 'none', 0, 1); // $ways[0] = "ccc2 >> ccc2a >> ccc2a1" with html formated text + $toprint = array(); + foreach ($ways as $way) { + $toprint[] = '
  • color ? ' style="background: #' . $c->color . ';"' : ' style="background: #bbb"') . '>' . $way . '
  • '; + } + print '
      ' . implode(' ', $toprint) . '
    '; + } elseif (preg_match('/thirdparty_type/', $val['type'])) { + if ($conf->global->{$constname}==2) { + print $langs->trans("Prospect"); + } elseif ($conf->global->{$constname}==3) { + print $langs->trans("ProspectCustomer"); + } elseif ($conf->global->{$constname}==1) { + print $langs->trans("Customer"); + } elseif ($conf->global->{$constname}==0) { + print $langs->trans("NorProspectNorCustomer"); + } + } elseif ($val['type'] == 'product') { + $product = new Product($db); + $resprod = $product->fetch($conf->global->{$constname}); + if ($resprod > 0) { + print $product->ref; + } elseif ($resprod < 0) { + setEventMessages(null, $object->errors, "errors"); + } + } else { + print $conf->global->{$constname}; + } + print '
    '; + + print '
    '; + print ''.$langs->trans("Modify").''; + print '
    '; + } else { + print '
    '.$langs->trans("NothingToSetup"); + } +} + + +if (empty($setupnotempty)) { + print '
    '.$langs->trans("NothingToSetup"); +} + +// Page end +print dol_get_fiche_end(); + +llxFooter(); +$db->close(); diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index f4ea09966fc..697f8fa2130 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2016 Juanjo Menent * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2021 Alexandre Spangaro * * 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 @@ -43,12 +44,12 @@ if (!$user->admin) { $action = GETPOST('action', 'aZ09'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'adminihm'; // To manage different context of search +$mode = GETPOST('mode', 'aZ09') ? GETPOST('mode', 'aZ09') : 'other'; // 'template', 'dashboard', 'login', 'other' + if (!defined("MAIN_MOTD")) { define("MAIN_MOTD", ""); } - - /* * Action */ @@ -94,168 +95,177 @@ if ($action == 'removebackgroundlogin' && !empty($conf->global->MAIN_LOGIN_BACKG } if ($action == 'update') { - dolibarr_set_const($db, "MAIN_LANG_DEFAULT", GETPOST("MAIN_LANG_DEFAULT", 'aZ09'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV + 1, 'chaine', 0, '', $conf->entity); - //dolibarr_set_const($db, "MAIN_MULTILANGS", GETPOST("MAIN_MULTILANGS"), 'chaine', 0, '', $conf->entity); + $error = 0; - dolibarr_set_const($db, "MAIN_THEME", GETPOST("main_theme", 'aZ09'), 'chaine', 0, '', $conf->entity); + if ($mode == 'template') { + dolibarr_set_const($db, "MAIN_THEME", GETPOST("main_theme", 'aZ09'), 'chaine', 0, '', $conf->entity); - /*$val=GETPOST('THEME_TOPMENU_DISABLE_IMAGE'); - if (! $val) dolibarr_del_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', $conf->entity); - else dolibarr_set_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', GETPOST('THEME_TOPMENU_DISABLE_IMAGE'), 'chaine', 0, '', $conf->entity);*/ + /*$val=GETPOST('THEME_TOPMENU_DISABLE_IMAGE'); + if (! $val) dolibarr_del_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', $conf->entity); + else dolibarr_set_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', GETPOST('THEME_TOPMENU_DISABLE_IMAGE'), 'chaine', 0, '', $conf->entity);*/ - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_BACKBODY', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_BACKBODY', $val, 'chaine', 0, '', $conf->entity); + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_BACKBODY', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_BACKBODY', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_TOPMENU_BACK1', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_TOPMENU_BACK1', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_VERMENU_BACK1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_VERMENU_BACK1', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_VERMENU_BACK1', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLENOTAB'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLENOTAB', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLENOTAB', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_BACKTITLE1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_BACKTITLE1', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_BACKTITLE1', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLE'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLE', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLE', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLELINK'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLELINK', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLELINK', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEIMPAIR1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_LINEIMPAIR1', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_LINEIMPAIR1', $val, 'chaine', 0, '', $conf->entity); + } + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEIMPAIR1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_LINEIMPAIR2', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_LINEIMPAIR2', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEPAIR1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_LINEPAIR1', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_LINEPAIR1', $val, 'chaine', 0, '', $conf->entity); + } + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEPAIR1'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_LINEPAIR2', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_LINEPAIR2', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTLINK'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_TEXTLINK', $conf->entity); + } else { + dolibarr_set_const($db, 'THEME_ELDY_TEXTLINK', $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_USE_HOVER'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_USE_HOVER', $conf->entity); + } else { + dolibarr_set_const($db, "THEME_ELDY_USE_HOVER", $val, 'chaine', 0, '', $conf->entity); + } + + $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_USE_CHECKED'), array())))); + if ($val == '') { + dolibarr_del_const($db, 'THEME_ELDY_USE_CHECKED', $conf->entity); + } else { + dolibarr_set_const($db, "THEME_ELDY_USE_CHECKED", $val, 'chaine', 0, '', $conf->entity); + } } - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_TOPMENU_BACK1', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_TOPMENU_BACK1', $val, 'chaine', 0, '', $conf->entity); + if ($mode == 'dashboard') { + dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr(GETPOST("main_motd", 'restricthtml')), 'chaine', 0, '', $conf->entity); } - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_VERMENU_BACK1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_VERMENU_BACK1', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_VERMENU_BACK1', $val, 'chaine', 0, '', $conf->entity); + if ($mode == 'other') { + dolibarr_set_const($db, "MAIN_LANG_DEFAULT", GETPOST("MAIN_LANG_DEFAULT", 'aZ09'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV + 1, 'chaine', 0, '', $conf->entity); + + dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", GETPOST("main_size_liste_limit", 'int'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, "MAIN_SIZE_SHORTLIST_LIMIT", GETPOST("main_size_shortliste_limit", 'int'), 'chaine', 0, '', $conf->entity); + + //dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", GETPOST("MAIN_DISABLE_JAVASCRIPT", 'aZ09'), 'chaine', 0, '', $conf->entity); + //dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", GETPOST("MAIN_BUTTON_HIDE_UNAUTHORIZED", 'aZ09'), 'chaine', 0, '', $conf->entity); + //dolibarr_set_const($db, "MAIN_MENU_HIDE_UNAUTHORIZED", GETPOST("MAIN_MENU_HIDE_UNAUTHORIZED", 'aZ09'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, "MAIN_START_WEEK", GETPOST("MAIN_START_WEEK", 'int'), 'chaine', 0, '', $conf->entity); + + dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", GETPOST("MAIN_DEFAULT_WORKING_DAYS", 'alphanohtml'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", GETPOST("MAIN_DEFAULT_WORKING_HOURS", 'alphanohtml'), 'chaine', 0, '', $conf->entity); + + dolibarr_set_const($db, "MAIN_BUGTRACK_ENABLELINK", GETPOST("MAIN_BUGTRACK_ENABLELINK", 'alpha'), 'chaine', 0, '', $conf->entity); + + dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", GETPOST("MAIN_FIRSTNAME_NAME_POSITION", 'aZ09'), 'chaine', 0, '', $conf->entity); } - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLENOTAB'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLENOTAB', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLENOTAB', $val, 'chaine', 0, '', $conf->entity); - } + if ($mode == 'login') { + dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr(GETPOST("main_home", 'restricthtml')), 'chaine', 0, '', $conf->entity); + //dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", GETPOST("MAIN_HELP_DISABLELINK", 'aZ09'), 'chaine', 0, '', 0); // Param for all entities - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_BACKTITLE1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_BACKTITLE1', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_BACKTITLE1', $val, 'chaine', 0, '', $conf->entity); - } + $varforimage = 'imagebackground'; + $dirforimage = $conf->mycompany->dir_output . '/logos/'; + if ($_FILES[$varforimage]["tmp_name"]) { + $reg = array(); + if (preg_match('/([^\\/:]+)$/i', $_FILES[$varforimage]["name"], $reg)) { + $original_file = $reg[1]; - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLE'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLE', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLE', $val, 'chaine', 0, '', $conf->entity); - } - - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTTITLELINK'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_TEXTTITLELINK', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_TEXTTITLELINK', $val, 'chaine', 0, '', $conf->entity); - } - - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEIMPAIR1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_LINEIMPAIR1', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_LINEIMPAIR1', $val, 'chaine', 0, '', $conf->entity); - } - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEIMPAIR1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_LINEIMPAIR2', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_LINEIMPAIR2', $val, 'chaine', 0, '', $conf->entity); - } - - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEPAIR1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_LINEPAIR1', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_LINEPAIR1', $val, 'chaine', 0, '', $conf->entity); - } - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_LINEPAIR1'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_LINEPAIR2', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_LINEPAIR2', $val, 'chaine', 0, '', $conf->entity); - } - - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_TEXTLINK'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_TEXTLINK', $conf->entity); - } else { - dolibarr_set_const($db, 'THEME_ELDY_TEXTLINK', $val, 'chaine', 0, '', $conf->entity); - } - - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_USE_HOVER'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_USE_HOVER', $conf->entity); - } else { - dolibarr_set_const($db, "THEME_ELDY_USE_HOVER", $val, 'chaine', 0, '', $conf->entity); - } - - $val = (implode(',', (colorStringToArray(GETPOST('THEME_ELDY_USE_CHECKED'), array())))); - if ($val == '') { - dolibarr_del_const($db, 'THEME_ELDY_USE_CHECKED', $conf->entity); - } else { - dolibarr_set_const($db, "THEME_ELDY_USE_CHECKED", $val, 'chaine', 0, '', $conf->entity); - } - - dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", GETPOST("main_size_liste_limit", 'int'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_SIZE_SHORTLIST_LIMIT", GETPOST("main_size_shortliste_limit", 'int'), 'chaine', 0, '', $conf->entity); - - //dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", GETPOST("MAIN_DISABLE_JAVASCRIPT", 'aZ09'), 'chaine', 0, '', $conf->entity); - //dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", GETPOST("MAIN_BUTTON_HIDE_UNAUTHORIZED", 'aZ09'), 'chaine', 0, '', $conf->entity); - //dolibarr_set_const($db, "MAIN_MENU_HIDE_UNAUTHORIZED", GETPOST("MAIN_MENU_HIDE_UNAUTHORIZED", 'aZ09'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_START_WEEK", GETPOST("MAIN_START_WEEK", 'int'), 'chaine', 0, '', $conf->entity); - - dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", GETPOST("MAIN_DEFAULT_WORKING_DAYS", 'alphanohtml'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", GETPOST("MAIN_DEFAULT_WORKING_HOURS", 'alphanohtml'), 'chaine', 0, '', $conf->entity); - - dolibarr_set_const($db, "MAIN_BUGTRACK_ENABLELINK", GETPOST("MAIN_BUGTRACK_ENABLELINK", 'alpha'), 'chaine', 0, '', $conf->entity); - - dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", GETPOST("MAIN_FIRSTNAME_NAME_POSITION", 'aZ09'), 'chaine', 0, '', $conf->entity); - - dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr(GETPOST("main_motd", 'restricthtml')), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr(GETPOST("main_home", 'restricthtml')), 'chaine', 0, '', $conf->entity); - //dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", GETPOST("MAIN_HELP_DISABLELINK", 'aZ09'), 'chaine', 0, '', 0); // Param for all entities - - $varforimage = 'imagebackground'; $dirforimage = $conf->mycompany->dir_output.'/logos/'; - if ($_FILES[$varforimage]["tmp_name"]) { - $reg = array(); - if (preg_match('/([^\\/:]+)$/i', $_FILES[$varforimage]["name"], $reg)) { - $original_file = $reg[1]; - - $isimage = image_format_supported($original_file); - if ($isimage >= 0) { - dol_syslog("Move file ".$_FILES[$varforimage]["tmp_name"]." to ".$dirforimage.$original_file); - if (!is_dir($dirforimage)) { - dol_mkdir($dirforimage); - } - $result = dol_move_uploaded_file($_FILES[$varforimage]["tmp_name"], $dirforimage.$original_file, 1, 0, $_FILES[$varforimage]['error']); - if ($result > 0) { - dolibarr_set_const($db, "MAIN_LOGIN_BACKGROUND", $original_file, 'chaine', 0, '', $conf->entity); - } elseif (preg_match('/^ErrorFileIsInfectedWithAVirus/', $result)) { - $error++; - $langs->load("errors"); - $tmparray = explode(':', $result); - setEventMessages($langs->trans('ErrorFileIsInfectedWithAVirus', $tmparray[1]), null, 'errors'); + $isimage = image_format_supported($original_file); + if ($isimage >= 0) { + dol_syslog("Move file " . $_FILES[$varforimage]["tmp_name"] . " to " . $dirforimage . $original_file); + if (!is_dir($dirforimage)) { + dol_mkdir($dirforimage); + } + $result = dol_move_uploaded_file($_FILES[$varforimage]["tmp_name"], $dirforimage . $original_file, 1, 0, $_FILES[$varforimage]['error']); + if ($result > 0) { + dolibarr_set_const($db, "MAIN_LOGIN_BACKGROUND", $original_file, 'chaine', 0, '', $conf->entity); + } elseif (preg_match('/^ErrorFileIsInfectedWithAVirus/', $result)) { + $error++; + $langs->load("errors"); + $tmparray = explode(':', $result); + setEventMessages($langs->trans('ErrorFileIsInfectedWithAVirus', $tmparray[1]), null, 'errors'); + } else { + $error++; + setEventMessages($langs->trans("ErrorFailedToSaveFile"), null, 'errors'); + } } else { $error++; - setEventMessages($langs->trans("ErrorFailedToSaveFile"), null, 'errors'); + $langs->load("errors"); + setEventMessages($langs->trans("ErrorBadImageFormat"), null, 'errors'); } - } else { - $error++; - $langs->load("errors"); - setEventMessages($langs->trans("ErrorBadImageFormat"), null, 'errors'); } } } + $_SESSION["mainmenu"] = ""; // The menu manager may have changed - - $_SESSION["mainmenu"] = ""; // Le gestionnaire de menu a pu changer - - header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup"); + header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup".'&mode='.$mode.(GETPOSTISSET('page_y') ? '&page_y='.GETPOST('page_y', 'int') : '')); exit; } @@ -274,6 +284,7 @@ $formadmin = new FormAdmin($db); print load_fiche_titre($langs->trans("GUISetup"), '', 'title_setup'); print ''.$langs->trans("DisplayDesc")."
    \n"; +print "
    \n"; //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; @@ -281,223 +292,348 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; print '
    '; print ''; print ''; +print ''; +print ''; + +$head = ihm_prepare_head(); + +print dol_get_fiche_head($head, $mode, '', -1, ''); + +print '
    '; clearstatcache(); -print '
    '; -print '
    '; -print ''; -print ''; -print ''; - -// Default language -print ''; -print ''; - -// Multilingual GUI -print ''; -print ''; - -print '
    '.img_picto('', 'language').' '.$langs->trans("Language").'
    '.$langs->trans("DefaultLanguage").''; -print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT, 'MAIN_LANG_DEFAULT', 1, null, '', 0, 0, 'minwidth300', 2); -print ''; -print '
    '.$langs->trans("EnableMultilangInterface").''; -print ajax_constantonoff("MAIN_MULTILANGS", array(), $conf->entity, 0, 0, 1, 0); -print '

    '."\n"; -print '
    '; - -// Themes and themes options -showSkins(null, 1); -print '
    '; - -// Other -print '
    '; -print ''; -print ''; -print ''; -print ''; - -// Disable javascript and ajax -print ''; -print ''; -print ''; - -// Max size of lists -print ''; -print ''; -print ''; - -// Max size of short lists on customer card -print ''; -print ''; -print ''; - -// show input border -/* - print ''; - print ''; - print ''; - */ - -// First day for weeks -print ''; -print ''; -print ''; - -// DefaultWorkingDays -print ''; -print ''; -print ''; - -// DefaultWorkingHours -print ''; -print ''; -print ''; - -// Firstname/Name -print ''; -print ''; -print ''; - -// Hide unauthorized menus -print ''; -print ''; -print ''; - -// Hide unauthorized button -print ''; -print ''; -print ''; - -// Hide version link -/* - -print ''; -print ''; -print ''; -*/ - -// Show bugtrack link -print ''; -print ''; -print ''; - -// Hide wiki link on login page -$pictohelp = ''; -print ''; -print ''; -print ''; - -// Message of the day on home page -$substitutionarray = getCommonSubstitutionArray($langs, 0, array('object', 'objectamount')); -complete_substitutions_array($substitutionarray, $langs); - -print ''; -print '
    '.$langs->trans("Miscellaneous").' '; -print '
    '.$langs->trans("DisableJavascript").''; -print ajax_constantonoff("MAIN_DISABLE_JAVASCRIPT", array(), $conf->entity, 0, 0, 1, 0); -print '     '.$langs->trans("DisableJavascriptNote").''; -print ''; -print '
    '.$langs->trans("DefaultMaxSizeList").' 
    '.$langs->trans("DefaultMaxSizeShortList").' 
    '.$langs->trans("showInputBorder").''; - print $form->selectyesno('main_showInputBorder',isset($conf->global->THEME_ELDY_SHOW_BORDER_INPUT)?$conf->global->THEME_ELDY_SHOW_BORDER_INPUT:0,1); - print ' 
    '.$langs->trans("WeekStartOnDay").''; -print $formother->select_dayofweek((isset($conf->global->MAIN_START_WEEK) ? $conf->global->MAIN_START_WEEK : '1'), 'MAIN_START_WEEK', 0); -print ' 
    '.$langs->trans("DefaultWorkingDays").''; -print ''; -print ' 
    '.$langs->trans("DefaultWorkingHours").''; -print ''; -print ' 
    '.$langs->trans("FirstnameNamePosition").''; -$array = array(0=>$langs->trans("Firstname").' '.$langs->trans("Lastname"), 1=>$langs->trans("Lastname").' '.$langs->trans("Firstname")); -print $form->selectarray('MAIN_FIRSTNAME_NAME_POSITION', $array, (isset($conf->global->MAIN_FIRSTNAME_NAME_POSITION) ? $conf->global->MAIN_FIRSTNAME_NAME_POSITION : 0)); -print ' 
    '.$langs->trans("HideUnauthorizedMenu").''; -//print $form->selectyesno('MAIN_MENU_HIDE_UNAUTHORIZED', isset($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED) ? $conf->global->MAIN_MENU_HIDE_UNAUTHORIZED : 0, 1); -print ajax_constantonoff("MAIN_MENU_HIDE_UNAUTHORIZED", array(), $conf->entity, 0, 0, 1, 0); -print ' 
    '.$langs->trans("ButtonHideUnauthorized").''; -//print $form->selectyesno('MAIN_BUTTON_HIDE_UNAUTHORIZED', isset($conf->global->MAIN_BUTTON_HIDE_UNAUTHORIZED) ? $conf->global->MAIN_BUTTON_HIDE_UNAUTHORIZED : 0, 1); -print ajax_constantonoff("MAIN_BUTTON_HIDE_UNAUTHORIZED", array(), $conf->entity, 0, 0, 1, 0); -print ' 
    '.$langs->trans("HideVersionLink").''; -print $form->selectyesno('MAIN_HIDE_VERSION',$conf->global->MAIN_HIDE_VERSION,1); -print ' 
    '.$langs->trans("ShowBugTrackLink", $langs->transnoentitiesnoconv("FindBug")).''; -print ''; -print ' 
    '.str_replace('{picto}', $pictohelp, $langs->trans("DisableLinkToHelp", '{picto}')).''; -print ajax_constantonoff("MAIN_HELP_DISABLELINK", array(), $conf->entity, 0, 0, 1, 0); -//print $form->selectyesno('MAIN_HELP_DISABLELINK', isset($conf->global->MAIN_HELP_DISABLELINK) ? $conf->global->MAIN_HELP_DISABLELINK : 0, 1); -print ' 
    '; -$texthelp = $langs->trans("FollowingConstantsWillBeSubstituted").'
    '; -foreach ($substitutionarray as $key => $val) { - $texthelp .= $key.'
    '; +if ($mode == 'template') { + // Themes and themes options + showSkins(null, 1); } -print $form->textwithpicto($langs->trans("MessageOfDay"), $texthelp, 1, 'help', '', 0, 2, 'tooltipmessageofday'); -print '
    '; +if ($mode == 'dashboard') { + print '
    '; + print ''; -$doleditor = new DolEditor('main_motd', (isset($conf->global->MAIN_MOTD) ? $conf->global->MAIN_MOTD : ''), '', 142, 'dolibarr_notes', 'In', false, true, true, ROWS_4, '90%'); -$doleditor->Create(); + // Message of the day on home page + $substitutionarray = getCommonSubstitutionArray($langs, 0, array('object', 'objectamount')); + complete_substitutions_array($substitutionarray, $langs); -print ''."\n"; - -print '
    '."\n"; -print '
    '; - -print '
    '; - -// Other -print '
    '; -print ''; -print ''; -print ''; -print ''; -print ''; - -// Hide helpcenter link on login page -print ''; -print ''; -print ''; - -// Message on login page -$substitutionarray = getCommonSubstitutionArray($langs, 0, array('object', 'objectamount', 'user')); -complete_substitutions_array($substitutionarray, $langs); -print ''."\n"; - -// Background -print '' . "\n"; + + /* no more need for this option. It is now a widget already controlled by end user + print ''; + print ''; + */ + + print '
    '.$langs->trans("LoginPage").' 
    '.$langs->trans("DisableLinkToHelpCenter").''; -print ajax_constantonoff("MAIN_HELPCENTER_DISABLELINK", array(), $conf->entity, 0, 0, 0, 0); -print ' 
    '; -$texthelp = $langs->trans("FollowingConstantsWillBeSubstituted").'
    '; -foreach ($substitutionarray as $key => $val) { - $texthelp .= $key.'
    '; -} -print $form->textwithpicto($langs->trans("MessageLogin"), $texthelp, 1, 'help', '', 0, 2, 'tooltipmessagelogin'); -print '
    '; -$doleditor = new DolEditor('main_home', (isset($conf->global->MAIN_HOME) ? $conf->global->MAIN_HOME : ''), '', 142, 'dolibarr_notes', 'In', false, true, true, ROWS_4, '90%'); -$doleditor->Create(); -print '
    '; -print '
    '; -$disabled = ''; -if (!empty($conf->global->ADD_UNSPLASH_LOGIN_BACKGROUND)) { - $disabled = ' disabled="disabled"'; -} -print ''; -if ($disabled) { - print '('.$langs->trans("DisabledByOptionADD_UNSPLASH_LOGIN_BACKGROUND").') '; -} -if (!empty($conf->global->MAIN_LOGIN_BACKGROUND)) { - print ''.img_delete($langs->trans("Delete")).''; - if (file_exists($conf->mycompany->dir_output.'/logos/'.$conf->global->MAIN_LOGIN_BACKGROUND)) { - print '   '; - print ''; + print '
    '; + $texthelp = $langs->trans("FollowingConstantsWillBeSubstituted") . '
    '; + foreach ($substitutionarray as $key => $val) { + $texthelp .= $key . '
    '; } -} else { - print ''; + print $form->textwithpicto($langs->trans("MessageOfDay"), $texthelp, 1, 'help', '', 0, 2, 'tooltipmessageofday'); + + print '
    '; + + $doleditor = new DolEditor('main_motd', (isset($conf->global->MAIN_MOTD) ? $conf->global->MAIN_MOTD : ''), '', 142, 'dolibarr_notes', 'In', false, true, true, ROWS_4, '90%'); + $doleditor->Create(); + + print '
    ' . $langs->trans('BoxstatsDisableGlobal') . ''; + print ajax_constantonoff("MAIN_DISABLE_GLOBAL_BOXSTATS", array(), $conf->entity, 0, 0, 1, 0); + print '
    '; + print '
    '; + + print '
    '; + + print '
    '; + print ''; + + print ''; + + print ''; + print ''; + + if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { + // Block meteo + print ''; + print ''; + + // Block agenda + print ''; + print ''; + + // Block agenda + print ''; + print ''; + + // Block customer + print ''; + print ''; + + // Block supplier + print ''; + print ''; + + // Block contract + print ''; + print ''; + + // Block ticket + print ''; + print ''; + + // Block bank + print ''; + print ''; + + // Block adherent + print ''; + print ''; + + // Block expense report + print ''; + print ''; + + // Block holiday + print ''; + print ''; + } + + print '
    '; + print $langs->trans("DashboardDisableBlocks"); + print ''; + print '
    ' . $langs->trans('DashboardDisableGlobal') . ''; + print ajax_constantonoff("MAIN_DISABLE_GLOBAL_WORKBOARD", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('MAIN_DISABLE_METEO') . ''; + print ajax_constantonoff("MAIN_DISABLE_METEO", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockAgenda') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_AGENDA", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockProject') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_PROJECT", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockCustomer') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_CUSTOMER", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockSupplier') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_SUPPLIER", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockContract') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_CONTRACT", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockTicket') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_TICKET", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockBank') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_BANK", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockAdherent') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_ADHERENT", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockExpenseReport') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_EXPENSEREPORT", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . $langs->trans('DashboardDisableBlockHoliday') . ''; + print ajax_constantonoff("MAIN_DISABLE_BLOCK_HOLIDAY", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_red', 'dashboard'); + print '
    ' . "\n"; + print '
    '; } -print ''; -print '
    '."\n"; -print '
    '; +if ($mode == 'other') { + print '
    '; + print ''; + + print ''; + + // Default language + print ''; + print ''; + + // Multilingual GUI + print ''; + print ''; + + print '
    '; + print $langs->trans("Language"); + print ''; + print '
    '.$langs->trans("DefaultLanguage").''; + print img_picto('', 'language', 'class="pictofixedwidth"'); + print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT, 'MAIN_LANG_DEFAULT', 1, null, '', 0, 0, 'minwidth300', 2); + //print ''; + print '
    ' . $langs->trans("EnableMultilangInterface") . ''; + print ajax_constantonoff("MAIN_MULTILANGS", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '', 'language'); + print '
    ' . "\n"; + print '
    '; + + print '
    '; + print ''; + print '
    '; + + print '
    '; + print '
    '; + + // Other + print '
    '; + print ''; + + print ''; + + // Max size of lists + print ''; + print ''; + print ''; + + // Max size of short lists on customer card + print ''; + print ''; + print ''; + + // show input border + /* + print ''; + print ''; + print ''; + */ + + // First day for weeks + print ''; + print ''; + print ''; + + // DefaultWorkingDays + print ''; + print ''; + print ''; + + // DefaultWorkingHours + print ''; + print ''; + print ''; + + // Firstname/Name + print ''; + print ''; + print ''; + + // Hide unauthorized menus + print ''; + print ''; + print ''; + + // Hide unauthorized button + print ''; + print ''; + print ''; + + // Hide version link + /* + + print ''; + print ''; + print ''; + */ + + // Show bugtrack link + print ''; + print ''; + print ''; + + // Hide wiki link on login page + $pictohelp = ''; + print ''; + print ''; + print ''; + + // Disable javascript and ajax + print ''; + print ''; + print ''; + + print '
    '; + print $langs->trans("Miscelaneous"); + print ''; + print '
    ' . $langs->trans("DefaultMaxSizeList") . ' 
    ' . $langs->trans("DefaultMaxSizeShortList") . ' 
    '.$langs->trans("showInputBorder").''; + print $form->selectyesno('main_showInputBorder',isset($conf->global->THEME_ELDY_SHOW_BORDER_INPUT)?$conf->global->THEME_ELDY_SHOW_BORDER_INPUT:0,1); + print ' 
    ' . $langs->trans("WeekStartOnDay") . ''; + print $formother->select_dayofweek((isset($conf->global->MAIN_START_WEEK) ? $conf->global->MAIN_START_WEEK : '1'), 'MAIN_START_WEEK', 0); + print ' 
    ' . $langs->trans("DefaultWorkingDays") . ''; + print ''; + print ' 
    ' . $langs->trans("DefaultWorkingHours") . ''; + print ''; + print ' 
    ' . $langs->trans("FirstnameNamePosition") . ''; + $array = array(0 => $langs->trans("Firstname") . ' ' . $langs->trans("Lastname"), 1 => $langs->trans("Lastname") . ' ' . $langs->trans("Firstname")); + print $form->selectarray('MAIN_FIRSTNAME_NAME_POSITION', $array, (isset($conf->global->MAIN_FIRSTNAME_NAME_POSITION) ? $conf->global->MAIN_FIRSTNAME_NAME_POSITION : 0)); + print ' 
    ' . $langs->trans("HideUnauthorizedMenu") . ''; + //print $form->selectyesno('MAIN_MENU_HIDE_UNAUTHORIZED', isset($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED) ? $conf->global->MAIN_MENU_HIDE_UNAUTHORIZED : 0, 1); + print ajax_constantonoff("MAIN_MENU_HIDE_UNAUTHORIZED", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '', 'other'); + print ' 
    ' . $langs->trans("ButtonHideUnauthorized") . ''; + //print $form->selectyesno('MAIN_BUTTON_HIDE_UNAUTHORIZED', isset($conf->global->MAIN_BUTTON_HIDE_UNAUTHORIZED) ? $conf->global->MAIN_BUTTON_HIDE_UNAUTHORIZED : 0, 1); + print ajax_constantonoff("MAIN_BUTTON_HIDE_UNAUTHORIZED", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '', 'other'); + print ' 
    '.$langs->trans("HideVersionLink").''; + print $form->selectyesno('MAIN_HIDE_VERSION',$conf->global->MAIN_HIDE_VERSION,1); + print ' 
    '; + print $form->textwithpicto($langs->trans("ShowBugTrackLink", $langs->transnoentitiesnoconv("FindBug")), $langs->trans("ShowBugTrackLinkDesc")); + print ''; + print ''; + print ' 
    ' . str_replace('{picto}', $pictohelp, $langs->trans("DisableLinkToHelp", '{picto}')) . ''; + print ajax_constantonoff("MAIN_HELP_DISABLELINK", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '', 'other'); + //print $form->selectyesno('MAIN_HELP_DISABLELINK', isset($conf->global->MAIN_HELP_DISABLELINK) ? $conf->global->MAIN_HELP_DISABLELINK : 0, 1); + print ' 
    ' . $langs->trans("DisableJavascript") . ''; + print ajax_constantonoff("MAIN_DISABLE_JAVASCRIPT", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '', 'other'); + print ' ' . $langs->trans("DisableJavascriptNote") . ''; + print ''; + print '
    ' . "\n"; + print '
    '; +} + +if ($mode == 'login') { + // Other + print '
    '; + print ''; + + print ''; + + // Hide helpcenter link on login page + print ''; + print ''; + + // Message on login page + $substitutionarray = getCommonSubstitutionArray($langs, 0, array('object', 'objectamount', 'user')); + complete_substitutions_array($substitutionarray, $langs); + print '' . "\n"; + + // Background + print ''; + + print '
    '; + print $langs->trans("Parameter"); + print ''; + print $langs->trans("Value"); + print '
    ' . $langs->trans("DisableLinkToHelpCenter") . ''; + print ajax_constantonoff("MAIN_HELPCENTER_DISABLELINK", array(), $conf->entity, 0, 0, 0, 0, 0, 0, '', 'login'); + print '
    '; + $texthelp = $langs->trans("FollowingConstantsWillBeSubstituted") . '
    '; + foreach ($substitutionarray as $key => $val) { + $texthelp .= $key . '
    '; + } + print $form->textwithpicto($langs->trans("MessageLogin"), $texthelp, 1, 'help', '', 0, 2, 'tooltipmessagelogin'); + print '
    '; + $doleditor = new DolEditor('main_home', (isset($conf->global->MAIN_HOME) ? $conf->global->MAIN_HOME : ''), '', 142, 'dolibarr_notes', 'In', false, true, true, ROWS_4, '90%'); + $doleditor->Create(); + print '
    '; + print '
    '; + $disabled = ''; + if (!empty($conf->global->ADD_UNSPLASH_LOGIN_BACKGROUND)) { + $disabled = ' disabled="disabled"'; + } + print ''; + if ($disabled) { + print '(' . $langs->trans("DisabledByOptionADD_UNSPLASH_LOGIN_BACKGROUND") . ') '; + } + if (!empty($conf->global->MAIN_LOGIN_BACKGROUND)) { + print '' . img_delete($langs->trans("Delete")) . ''; + if (file_exists($conf->mycompany->dir_output . '/logos/' . $conf->global->MAIN_LOGIN_BACKGROUND)) { + print '   '; + print ''; + } + } else { + print ''; + } + print '
    '; + print '
    ' . "\n"; + print '
    '; +} -print '
    '; print '
    '; -print ''; +print ''; print '
    '; print '
    '; diff --git a/htdocs/admin/import.php b/htdocs/admin/import.php index 38f8ae7554b..27e05e86143 100644 --- a/htdocs/admin/import.php +++ b/htdocs/admin/import.php @@ -87,7 +87,7 @@ print ''."\n"; print ''; print ''.$langs->trans("ImportCsvSeparator").' ('.$langs->trans("ByDefault").')'; print ''."global->IMPORT_CSV_SEPARATOR_TO_USE) ? ',' : $conf->global->IMPORT_CSV_SEPARATOR_TO_USE)."\">"; -print ''; +print ''; print ''; print ''; diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index 396570b2155..daf20ce5aa2 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -51,6 +51,7 @@ if (!empty($conf->global->MAIN_MOTD_SETUPPAGE)) { $conf->global->MAIN_MOTD_SETUPPAGE = preg_replace('//i', '
    ', $conf->global->MAIN_MOTD_SETUPPAGE); if (!empty($conf->global->MAIN_MOTD_SETUPPAGE)) { $i = 0; + $reg = array(); while (preg_match('/__\(([a-zA-Z|@]+)\)__/i', $conf->global->MAIN_MOTD_SETUPPAGE, $reg) && $i < 100) { $tmp = explode('|', $reg[1]); if (!empty($tmp[1])) { @@ -81,7 +82,9 @@ print '

    '; if (empty($conf->global->MAIN_INFO_SOCIETE_NOM) || empty($conf->global->MAIN_INFO_SOCIETE_COUNTRY)) { $setupcompanynotcomplete = 1; } -print img_picto('', 'company', 'class="paddingright"').' '.$langs->trans("SetupDescription3", DOL_URL_ROOT.'/admin/company.php?mainmenu=home'.(empty($setupcompanynotcomplete) ? '' : '&action=edit'), $langs->transnoentities("Setup"), $langs->transnoentities("MenuCompanySetup")); +print img_picto('', 'company', 'class="paddingright valignmiddle double"').' '.$langs->trans("SetupDescriptionLink", DOL_URL_ROOT.'/admin/company.php?mainmenu=home'.(empty($setupcompanynotcomplete) ? '' : '&action=edit&token='.newToken()), $langs->transnoentities("Setup"), $langs->transnoentities("MenuCompanySetup")); +print '

    '; +print $langs->trans("SetupDescription3b"); if (!empty($setupcompanynotcomplete)) { $langs->load("errors"); $warnpicto = img_warning($langs->trans("WarningMandatorySetupNotComplete"), 'style="padding-right: 6px;"'); @@ -90,9 +93,11 @@ if (!empty($setupcompanynotcomplete)) { print '
    '; print '
    '; print '
    '; +print '
    '; // Show info setup module -print img_picto('', 'cog', 'class="paddingright"').' '.$langs->trans("SetupDescription4", DOL_URL_ROOT.'/admin/modules.php?mainmenu=home', $langs->transnoentities("Setup"), $langs->transnoentities("Modules")); +print img_picto('', 'cog', 'class="paddingright valignmiddle double"').' '.$langs->trans("SetupDescriptionLink", DOL_URL_ROOT.'/admin/modules.php?mainmenu=home', $langs->transnoentities("Setup"), $langs->transnoentities("Modules")); +print '

    '.$langs->trans("SetupDescription4b"); if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING) ? 1 : $conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) { // If only minimal initial modules enabled $langs->load("errors"); $warnpicto = img_warning($langs->trans("WarningEnableYourModulesApplications"), 'style="padding-right: 6px;"'); @@ -109,8 +114,8 @@ $reshook = $hookmanager->executeHooks('addHomeSetup', $parameters, $object, $act print $hookmanager->resPrint; if (empty($reshook)) { // Show into other - print ''.$langs->trans("SetupDescription5")."
    "; - print "
    "; + print ''.$langs->trans("SetupDescription5")."
    "; + print '
    '; // Show logo print '
    '; diff --git a/htdocs/admin/knowledgemanagement.php b/htdocs/admin/knowledgemanagement.php index b8434773f67..8d93c16741a 100644 --- a/htdocs/admin/knowledgemanagement.php +++ b/htdocs/admin/knowledgemanagement.php @@ -17,7 +17,7 @@ */ /** - * \file knowledgemanagement/admin/setup.php + * \file htdocs/admin/knowledgemanagement.php * \ingroup knowledgemanagement * \brief KnowledgeManagement setup page. */ @@ -65,9 +65,7 @@ if (!$user->admin) { * Actions */ -if ((float) DOL_VERSION >= 6) { - include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php'; -} +include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php'; if ($action == 'updateMask') { $maskconstorder = GETPOST('maskconstorder', 'alpha'); @@ -258,9 +256,7 @@ if ($action == 'edit') { } print ''; - print '
    '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("Save", ''); print ''; print '
    '; @@ -326,7 +322,7 @@ if ($action == 'edit') { print ''; print ''; } else { //print '
    '.$langs->trans("NothingToSetup"); @@ -398,7 +394,7 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -535,13 +531,13 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { // Active if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''; } else { print ''."\n"; - print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index 26f0c28172f..4010d724c1a 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -1,10 +1,10 @@ - * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2017 Regis Houssin - * Copyright (C) 2006-2020 Laurent Destailleur - * Copyright (C) 2011-2013 Juanjo Menent +/* Copyright (C) 2004 Rodolphe Quiedeville + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2005-2017 Regis Houssin + * Copyright (C) 2006-2020 Laurent Destailleur + * Copyright (C) 2011-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,6 +43,7 @@ $action = GETPOST('action', 'aZ09'); // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context $hookmanager->initHooks(array('adminldap', 'globaladmin')); + /* * Actions */ @@ -130,7 +131,7 @@ if (!function_exists("ldap_connect")) { $form = new Form($db); -print '
    '; +print ''; print ''; print dol_get_fiche_head($head, 'ldap', $langs->trans("LDAPSetup"), -1); @@ -150,9 +151,9 @@ $arraylist['0'] = $langs->trans("No"); $arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr"); $arraylist['dolibarr2ldap'] = $langs->trans("DolibarrToLDAP"); print $form->selectarray('activesynchro', $arraylist, $conf->global->LDAP_SYNCHRO_ACTIVE); -print ''.$langs->trans("LDAPDnSynchroActiveExample"); +print ''.$langs->trans("LDAPDnSynchroActiveExample").''; if ($conf->global->LDAP_SYNCHRO_ACTIVE && !$conf->global->LDAP_USER_DN) { - print '
    '.$langs->trans("LDAPSetupNotComplete").''; + print '
    '.$langs->trans("LDAPSetupNotComplete").''; } print ''; @@ -163,7 +164,7 @@ if (!empty($conf->societe->enabled)) { $arraylist['0'] = $langs->trans("No"); $arraylist['1'] = $langs->trans("DolibarrToLDAP"); print $form->selectarray('activecontact', $arraylist, $conf->global->LDAP_CONTACT_ACTIVE); - print ''.$langs->trans("LDAPDnContactActiveExample").''; + print ''.$langs->trans("LDAPDnContactActiveExample").''; } // Synchro member active @@ -174,7 +175,7 @@ if (!empty($conf->adherent->enabled)) { $arraylist['1'] = $langs->trans("DolibarrToLDAP"); $arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr").' ('.$langs->trans("SupportedForLDAPImportScriptOnly").')'; print $form->selectarray('activemembers', $arraylist, $conf->global->LDAP_MEMBER_ACTIVE); - print ''.$langs->trans("LDAPDnMemberActiveExample").''; + print ''.$langs->trans("LDAPDnMemberActiveExample").''; } // Synchro member type active @@ -185,7 +186,7 @@ if (!empty($conf->adherent->enabled)) { $arraylist['1'] = $langs->trans("DolibarrToLDAP"); $arraylist['ldap2dolibarr'] = $langs->trans("LDAPToDolibarr").' ('.$langs->trans("SupportedForLDAPImportScriptOnly").')'; print $form->selectarray('activememberstypes', $arraylist, $conf->global->LDAP_MEMBER_TYPE_ACTIVE); - print ''.$langs->trans("LDAPDnMemberTypeActiveExample").''; + print ''.$langs->trans("LDAPDnMemberTypeActiveExample").''; } // Fields from hook @@ -214,33 +215,33 @@ $arraylist = array(); $arraylist['3'] = 'Version 3'; $arraylist['2'] = 'Version 2'; print $form->selectarray('LDAP_SERVER_PROTOCOLVERSION', $arraylist, $conf->global->LDAP_SERVER_PROTOCOLVERSION); -print ''.$langs->trans("LDAPServerProtocolVersion").''; +print ''.$langs->trans("LDAPServerProtocolVersion").''; // Serveur primaire print ''; print $langs->trans("LDAPPrimaryServer").''; -print ''; -print ''.$langs->trans("LDAPServerExample").''; +print ''; +print ''.$langs->trans("LDAPServerExample").''; // Serveur secondaire print ''; print $langs->trans("LDAPSecondaryServer").''; -print ''; -print ''.$langs->trans("LDAPServerExample").''; +print ''; +print ''.$langs->trans("LDAPServerExample").''; // Port print ''.$langs->trans("LDAPServerPort").''; if (!empty($conf->global->LDAP_SERVER_PORT)) { - print ''; + print ''; } else { - print ''; + print ''; } -print ''.$langs->trans("LDAPServerPortExample").''; +print ''.$langs->trans("LDAPServerPortExample").''; // DNserver print ''.$langs->trans("LDAPServerDn").''; -print ''; -print ''.$langs->trans("LDAPServerDnExample").''; +print ''; +print ''.$langs->trans("LDAPServerDnExample").''; // Utiliser TLS print ''.$langs->trans("LDAPServerUseTLS").''; @@ -248,7 +249,7 @@ $arraylist = array(); $arraylist['0'] = $langs->trans("No"); $arraylist['1'] = $langs->trans("Yes"); print $form->selectarray('usetls', $arraylist, $conf->global->LDAP_SERVER_USE_TLS); -print ''.$langs->trans("LDAPServerUseTLSExample").''; +print ''.$langs->trans("LDAPServerUseTLSExample").''; print ''; print ''.$langs->trans("ForANonAnonymousAccess").''; @@ -257,24 +258,24 @@ print "\n"; // DNAdmin print ''; print ''.$langs->trans("LDAPAdminDn").''; -print ''; -print ''.$langs->trans("LDAPAdminDnExample").''; +print ''; +print ''.$langs->trans("LDAPAdminDnExample").''; // Pass print ''; print ''.$langs->trans("LDAPPassword").''; if (!empty($conf->global->LDAP_ADMIN_PASS)) { - print ''; // je le met en visible pour test + print ''; // je le met en visible pour test } else { - print ''; + print ''; } -print ''.$langs->trans('Password').' (ex: secret)'; +print ''.$langs->trans('Password').' (ex: secret)'; print ''; print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print '
    '; @@ -296,24 +297,24 @@ if (function_exists("ldap_connect")) { if ($result > 0) { // Test ldap connect and bind print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPTCPConnectOK", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT).''; + print ''.$langs->trans("LDAPTCPConnectOK", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT).''; print '
    '; if ($conf->global->LDAP_ADMIN_DN && !empty($conf->global->LDAP_ADMIN_PASS)) { if ($result == 2) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPBindOK", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT, $conf->global->LDAP_ADMIN_DN, preg_replace('/./i', '*', $conf->global->LDAP_ADMIN_PASS)).''; + print ''.$langs->trans("LDAPBindOK", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT, $conf->global->LDAP_ADMIN_DN, preg_replace('/./i', '*', $conf->global->LDAP_ADMIN_PASS)).''; print '
    '; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPBindKO", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT, $conf->global->LDAP_ADMIN_DN, preg_replace('/./i', '*', $conf->global->LDAP_ADMIN_PASS)).''; + print ''.$langs->trans("LDAPBindKO", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT, $conf->global->LDAP_ADMIN_DN, preg_replace('/./i', '*', $conf->global->LDAP_ADMIN_PASS)).''; print '
    '; print $langs->trans("Error").' '.$ldap->error; print '
    '; } } else { print img_picto('', 'warning').' '; - print ''.$langs->trans("LDAPNoUserOrPasswordProvidedAccessIsReadOnly").''; + print ''.$langs->trans("LDAPNoUserOrPasswordProvidedAccessIsReadOnly").''; print '
    '; } @@ -321,18 +322,18 @@ if (function_exists("ldap_connect")) { // Test ldap_getversion if (($ldap->getVersion() == 3)) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSetupForVersion3").''; + print ''.$langs->trans("LDAPSetupForVersion3").''; print '
    '; } else { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSetupForVersion2").''; + print ''.$langs->trans("LDAPSetupForVersion2").''; print '
    '; } $unbind = $ldap->unbind(); } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPTCPConnectKO", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT).''; + print ''.$langs->trans("LDAPTCPConnectKO", $conf->global->LDAP_SERVER_HOST, $conf->global->LDAP_SERVER_PORT).''; print '
    '; print $langs->trans("Error").' '.$ldap->error; print '
    '; diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index 4fb58898a07..fef3882d2ff 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -145,7 +145,7 @@ print dol_get_fiche_head($head, 'contacts', $langs->trans("LDAPSetup"), -1); print $langs->trans("LDAPDescContact").'
    '; print '
    '; -print '
    '; +print ''; print ''; print ''; @@ -284,7 +284,7 @@ print info_admin($langs->trans("LDAPDescValues")); print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; @@ -321,12 +321,12 @@ if (function_exists("ldap_connect")) { if ($result2 > 0) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSynchroOK").'
    '; + print ''.$langs->trans("LDAPSynchroOK").'
    '; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); + print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } @@ -336,9 +336,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } diff --git a/htdocs/admin/ldap_groups.php b/htdocs/admin/ldap_groups.php index 19d24ecd5db..82ee85b9a20 100644 --- a/htdocs/admin/ldap_groups.php +++ b/htdocs/admin/ldap_groups.php @@ -120,7 +120,7 @@ print $langs->trans("LDAPDescGroups").'
    '; print '
    '; -print ''; +print ''; print ''; print '
    '; @@ -210,7 +210,7 @@ print info_admin($langs->trans("LDAPDescValues")); print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; @@ -260,12 +260,12 @@ if (function_exists("ldap_connect")) { if ($result2 > 0) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSynchroOK").'
    '; + print ''.$langs->trans("LDAPSynchroOK").'
    '; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); + print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } @@ -275,9 +275,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } @@ -331,9 +331,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } diff --git a/htdocs/admin/ldap_members.php b/htdocs/admin/ldap_members.php index ab1af5fcf16..876c31d79b1 100644 --- a/htdocs/admin/ldap_members.php +++ b/htdocs/admin/ldap_members.php @@ -184,7 +184,7 @@ if (!function_exists("ldap_connect")) { setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors'); } -print ''; +print ''; print ''; print dol_get_fiche_head($head, 'members', $langs->trans("LDAPSetup"), -1); @@ -433,7 +433,7 @@ print info_admin($langs->trans("LDAPDescValues")); print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; @@ -472,12 +472,12 @@ if (function_exists("ldap_connect")) { if ($result2 > 0) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSynchroOK").'
    '; + print ''.$langs->trans("LDAPSynchroOK").'
    '; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); + print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } @@ -487,9 +487,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } diff --git a/htdocs/admin/ldap_members_types.php b/htdocs/admin/ldap_members_types.php index ae4a1794f35..05572dc8bbf 100644 --- a/htdocs/admin/ldap_members_types.php +++ b/htdocs/admin/ldap_members_types.php @@ -112,7 +112,7 @@ print $langs->trans("LDAPDescMembersTypes").'
    '; print '
    '; -print ''; +print ''; print ''; $form = new Form($db); @@ -180,7 +180,7 @@ print info_admin($langs->trans("LDAPDescValues")); print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; @@ -223,12 +223,12 @@ if (function_exists("ldap_connect")) { if ($result2 > 0) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSynchroOK").'
    '; + print ''.$langs->trans("LDAPSynchroOK").'
    '; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); + print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } @@ -238,9 +238,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } diff --git a/htdocs/admin/ldap_users.php b/htdocs/admin/ldap_users.php index 6e38eb2564e..e6041650d63 100644 --- a/htdocs/admin/ldap_users.php +++ b/htdocs/admin/ldap_users.php @@ -173,7 +173,7 @@ if (!function_exists("ldap_connect")) { } -print ''; +print ''; print ''; @@ -397,7 +397,7 @@ print info_admin($langs->trans("LDAPDescValues")); print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; @@ -444,12 +444,12 @@ if (function_exists("ldap_connect")) { if ($result2 > 0) { print img_picto('', 'info').' '; - print ''.$langs->trans("LDAPSynchroOK").'
    '; + print ''.$langs->trans("LDAPSynchroOK").'
    '; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); + print ''.$langs->trans("LDAPSynchroKOMayBePermissions"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } @@ -459,9 +459,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } @@ -530,9 +530,9 @@ if (function_exists("ldap_connect")) { print "\n
    "; } else { print img_picto('', 'error').' '; - print ''.$langs->trans("LDAPSynchroKO"); + print ''.$langs->trans("LDAPSynchroKO"); print ': '.$ldap->error; - print '
    '; + print '
    '; print $langs->trans("ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).'
    '; } } diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index 4a599499053..6246f9c09c3 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -108,9 +108,9 @@ $aCurrencies = array($conf->currency); // Default currency always first position if (!empty($conf->multicurrency->enabled) && !empty($conf->global->MULTICURRENCY_USE_LIMIT_BY_CURRENCY)) { require_once DOL_DOCUMENT_ROOT.'/core/lib/multicurrency.lib.php'; - $sql = 'SELECT rowid, code FROM '.MAIN_DB_PREFIX.'multicurrency'; - $sql .= ' WHERE entity = '.$conf->entity; - $sql .= ' AND code != "'.$conf->currency.'"'; // Default currency always first position + $sql = "SELECT rowid, code FROM ".MAIN_DB_PREFIX."multicurrency"; + $sql .= " WHERE entity = ".((int) $conf->entity); + $sql .= " AND code <> '".$db->escape($conf->currency)."'"; // Default currency always first position $resql = $db->query($sql); if ($resql) { while ($obj = $db->fetch_object($resql)) { @@ -190,7 +190,7 @@ if ($action == 'edit') { print ''; print ''; } diff --git a/htdocs/admin/loan.php b/htdocs/admin/loan.php index 94b0da08d4f..0769ee5c0a0 100644 --- a/htdocs/admin/loan.php +++ b/htdocs/admin/loan.php @@ -117,7 +117,7 @@ print ''; print ''; print "
    \n"; -print '
    '; +print '
    '; // End of page llxFooter(); diff --git a/htdocs/admin/mailing.php b/htdocs/admin/mailing.php index 1b0df5843f3..37735a43ed3 100644 --- a/htdocs/admin/mailing.php +++ b/htdocs/admin/mailing.php @@ -132,6 +132,7 @@ print ''; print ''; print ''; print ''; +print ''; print "\n"; print ''; +print ''; +print ''; print ''; +print ''; +print ''; print ''; +print ''; +print ''; // Constant to add salt into the unsubscribe and check read tag. @@ -165,15 +169,17 @@ print ''; +print ''; +print ''; // default blacklist from mailing print ''; -print ''; +print ''; print ''; +print ''; print ''; @@ -181,13 +187,13 @@ if (!empty($conf->use_javascript_ajax) && $conf->global->MAIN_FEATURES_LEVEL >= print ''; + print ''; + print ''; } print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").''.$langs->trans("Example").'
    '; @@ -140,7 +141,8 @@ print '
    '.dol_escape_htmltag(($mysoc->name ? $mysoc->name : 'MyName').' ').'
    '; print $langs->trans("MailingEMailError").''; @@ -148,12 +150,14 @@ print '
    webmaster@example.com>
    '; print $langs->trans("MailingDelay").''; print ''; -print '
    ' . $langs->trans("DefaultBlacklistMailingStatus") . '' . $langs->trans("DefaultBlacklistMailingStatus", $langs->transnoentitiesnoconv("No_Email")) . ''; -$blacklist_setting=array(0=>$langs->trans('No'),1=>$langs->trans('Yes'),-1=>$langs->trans('DefaultStatusEmptyMandatory')); +$blacklist_setting=array(0=>$langs->trans('No'), 1=>$langs->trans('Yes'), 2=>$langs->trans('DefaultStatusEmptyMandatory')); print $form->selectarray("MAILING_CONTACT_DEFAULT_BULK_STATUS", $blacklist_setting, $conf->global->MAILING_CONTACT_DEFAULT_BULK_STATUS); print '
    '; print $langs->trans("MailAdvTargetRecipients").''; print ajax_constantonoff('EMAILING_USE_ADVANCED_SELECTOR'); - print '
    '; -print '
    '; -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; diff --git a/htdocs/admin/mailman.php b/htdocs/admin/mailman.php index 15dcccdb000..8b003ce2d4e 100644 --- a/htdocs/admin/mailman.php +++ b/htdocs/admin/mailman.php @@ -218,7 +218,7 @@ if (!empty($conf->global->ADHERENT_USE_MAILMAN)) { print ''; print $langs->trans("TestSubscribe").'
    '; - print $langs->trans("EMail").'
    '; + print $langs->trans("EMail").'
    '; print ''; @@ -227,7 +227,7 @@ if (!empty($conf->global->ADHERENT_USE_MAILMAN)) { print ''; print $langs->trans("TestUnSubscribe").'
    '; - print $langs->trans("EMail").'
    '; + print $langs->trans("EMail").'
    '; print ''; } diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php index e86c78763ee..9c5418ac19d 100644 --- a/htdocs/admin/mails.php +++ b/htdocs/admin/mails.php @@ -292,7 +292,7 @@ if ($action == 'edit') { print dol_get_fiche_head($head, 'common', '', -1); print ''.$langs->trans("EMailsDesc")."
    \n"; - print "
    \n"; + print "

    \n"; clearstatcache(); @@ -536,18 +536,14 @@ if ($action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } else { print dol_get_fiche_head($head, 'common', '', -1); print ''.$langs->trans("EMailsDesc")."
    \n"; - print "
    \n"; + print "

    \n"; print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table print ''; @@ -788,7 +784,7 @@ if ($action == 'edit') { // Actions button print '
    '; - print ''.$langs->trans("Modify").''; + print ''.$langs->trans("Modify").''; if (empty($conf->global->MAIN_DISABLE_ALL_MAILS)) { if ($conf->global->MAIN_MAIL_SENDMODE != 'mail' || !$linuxlike) { diff --git a/htdocs/admin/mails_emailing.php b/htdocs/admin/mails_emailing.php index 511f5dde698..015b943ac04 100644 --- a/htdocs/admin/mails_emailing.php +++ b/htdocs/admin/mails_emailing.php @@ -243,7 +243,7 @@ if ($action == 'edit') { print dol_get_fiche_head($head, 'common_emailing', '', -1); print ''.$langs->trans("EMailsDesc")."
    \n"; - print "
    \n"; + print "

    \n"; clearstatcache(); @@ -405,18 +405,14 @@ if ($action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } else { print dol_get_fiche_head($head, 'common_emailing', '', -1); print ''.$langs->trans("EMailsDesc")."
    \n"; - print "
    \n"; + print "

    \n"; print '
    '; print ''; @@ -519,7 +515,7 @@ if ($action == 'edit') { print '
    '; - print ''.$langs->trans("Modify").''; + print ''.$langs->trans("Modify").''; if (!empty($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && $conf->global->MAIN_MAIL_SENDMODE_EMAILING != 'default') { if ($conf->global->MAIN_MAIL_SENDMODE_EMAILING != 'mail' || !$linuxlike) { diff --git a/htdocs/admin/mails_senderprofile_list.php b/htdocs/admin/mails_senderprofile_list.php index e27c48b0416..d3441cf2e21 100644 --- a/htdocs/admin/mails_senderprofile_list.php +++ b/htdocs/admin/mails_senderprofile_list.php @@ -226,12 +226,12 @@ print "
    \n"; // -------------------------------------------------------------------- $sql = 'SELECT '; foreach ($object->fields as $key => $val) { - $sql .= 't.'.$key.', '; + $sql .= "t.".$key.", "; } // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key." as options_".$key.', ' : ''); } } // Add fields from hooks @@ -282,7 +282,7 @@ $sql .= $hookmanager->resPrint; $sql.= " GROUP BY " foreach($object->fields as $key => $val) { - $sql.='t.'.$key.', '; + $sql .= "t.".$key.", "; } // Add fields from extrafields if (! empty($extrafields->attributes[$object->table_element]['label'])) { @@ -395,12 +395,8 @@ if ($action != 'create') { print $form->selectarray('active', $object->fields['active']['arrayofkeyval'], (GETPOSTISSET('active') ? GETPOST('active', 'int') : $object->active), 0, 0, 0, '', 1); print ''; print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; - print '
    '; - print '
    '; - print ''; - print '   '; - print ''; - print '
    '; + + print $form->buttonsSaveCancel(); } } else { /*print '
    '; @@ -413,8 +409,8 @@ if ($action != 'create') { print ''; */ print ''; - print ''; - print ''; + print ''; + print ''; print ''; print '
    '.$langs->trans("Label").'
    '.$langs->trans("Email").'
    '.$langs->trans("Label").'
    '.$langs->trans("Email").'
    '.$langs->trans("Signature").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $doleditor = new DolEditor('signature', GETPOST('signature'), '', 138, 'dolibarr_notes', 'In', true, true, empty($conf->global->FCKEDITOR_ENABLE_USERSIGN) ? 0 : 1, ROWS_4, '90%'); @@ -428,12 +424,8 @@ if ($action != 'create') { print $form->selectarray('active', $object->fields['active']['arrayofkeyval'], GETPOST('active', 'int'), 0); print '
    '; - print '
    '; - print '
    '; - print ''; - print '   '; - print ''; - print '
    '; + + print $form->buttonsSaveCancel(); //print '
    '; } @@ -499,7 +491,7 @@ foreach ($object->fields as $key => $val) { if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { print $form->selectarray('search_'.$key, $val['arrayofkeyval'], empty($search[$key]) ? '' : $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); } elseif (strpos($val['type'], 'integer:') === 0) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1); + print $object->showInputField($val, $key, empty($search[$key]) ? '' : $search[$key], '', '', 'search_', 'maxwidth150', 1); } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { print ''; } @@ -605,7 +597,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } @@ -640,7 +632,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if ($sortorder) { $url .= '&page='.urlencode($sortorder); } - print ''.img_edit().''; + print ''.img_edit().''; //print '   '; print ''.img_delete().'   '; if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index c2a54e31a3a..2c35faea3b1 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -160,6 +160,7 @@ if (empty($conf->global->MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES)) { $tabhelp = array(); $tabhelp[25] = array( + 'label'=>$langs->trans('EnterAnyCode'), 'topic'=>''.$helpsubstit.'', 'joinfiles'=>$langs->trans('AttachMainDocByDefault'), 'content'=>''.$helpsubstit.'', @@ -175,6 +176,7 @@ $elementList = array(); // We save list of template email Dolibarr can manage. This list can found by a grep into code on "->param['models']" $elementList = array(); // Add all and none after the sort + $elementList['all'] = '-- '.dol_escape_htmltag($langs->trans("All")).' --'; $elementList['none'] = '-- '.dol_escape_htmltag($langs->trans("None")).' --'; $elementList['user'] = img_picto('', 'user', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToUser')); @@ -227,7 +229,10 @@ if (!empty($conf->agenda->enabled)) { $elementList['actioncomm_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventPush')); } if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) { - $elementList['eventorganization_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization')); + $elementList['conferenceorbooth'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization')); +} +if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) { + $elementList['partnership_send'] = img_picto('', 'partnership', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToPartnership')); } $parameters = array('elementList'=>$elementList); @@ -560,8 +565,8 @@ $sql = "SELECT rowid as rowid, module, label, type_template, lang, fk_user, priv $sql .= " FROM ".MAIN_DB_PREFIX."c_email_templates"; $sql .= " WHERE entity IN (".getEntity('email_template').")"; if (!$user->admin) { - $sql .= " AND (private = 0 OR (private = 1 AND fk_user = ".$user->id."))"; // Show only public and private to me - $sql .= " AND (active = 1 OR fk_user = ".$user->id.")"; // Show only active or owned by me + $sql .= " AND (private = 0 OR (private = 1 AND fk_user = ".((int) $user->id)."))"; // Show only public and private to me + $sql .= " AND (active = 1 OR fk_user = ".((int) $user->id).")"; // Show only active or owned by me } if (empty($conf->global->MAIN_MULTILANGS)) { $sql .= " AND (lang = '".$db->escape($langs->defaultlang)."' OR lang IS NULL OR lang = '')"; @@ -679,8 +684,8 @@ if ($action == 'view') { $tmpaction = 'create'; $parameters = array( - 'fieldlist' => $fieldlist, - 'tabname' => $tabname[$id] + 'fieldlist' => $fieldlist, + 'tabname' => $tabname[$id] ); $reshook = $hookmanager->executeHooks('createEmailTemplateFieldlist', $parameters, $obj, $tmpaction); // Note that $action and $object may have been modified by some hooks $error = $hookmanager->error; @@ -742,7 +747,7 @@ if ($action == 'view') { if ($tmpfieldlist == 'topic') { print ''; if ($action != 'edit') { - print ''; + print ''; } print ''; } @@ -818,13 +823,13 @@ if ($resql) { print ''; } elseif ($value == 'fk_user') { print ''; - print $form->select_dolusers($search_fk_user, 'search_fk_user', 1, null, 0, ($user->admin ? '' : 'hierarchyme'), null, 0, 0, 1, '', 0, '', 'maxwidth150'); + print $form->select_dolusers($search_fk_user, 'search_fk_user', 1, null, 0, ($user->admin ? '' : 'hierarchyme'), null, 0, 0, 0, '', 0, '', 'maxwidth150'); print ''; } elseif ($value == 'topic') { print ''; } elseif ($value == 'type_template') { print ''; - print $form->selectarray('search_type_template', $elementList, $search_type_template, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth200', 1, '', 0, 1); + print $form->selectarray('search_type_template', $elementList, $search_type_template, 1, 0, 0, '', 0, 0, 0, '', 'minwidth150', 1, '', 0, 1); print ''; } elseif (!in_array($value, array('content', 'content_lines'))) { print ''; @@ -931,7 +936,7 @@ if ($resql) { print ''; print ''; print ''; - print ''; + print ''; print '
    '; print ''; print ''; @@ -1067,8 +1072,8 @@ if ($resql) { if ($showfield) { print ''; print ''; print $valuetoshow; @@ -1183,7 +1188,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') if ($value == 'fk_user') { print ''; if ($user->admin) { - print $form->select_dolusers(empty($obj->{$value}) ? '' : $obj->{$value}, 'fk_user', 1, null, 0, ($user->admin ? '' : 'hierarchyme'), null, 0, 0, 1, '', 0, '', 'maxwidth200'); + print $form->select_dolusers(empty($obj->{$value}) ? '' : $obj->{$value}, 'fk_user', 1, null, 0, ($user->admin ? '' : 'hierarchyme'), null, 0, 0, 0, '', 0, '', 'minwidth150 maxwidth300'); } else { if ($context == 'add') { // I am not admin and we show the add form print $user->getNomUrl(1); // Me @@ -1229,7 +1234,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') print ''; print $obj->{$value}; } else { - print $form->selectarray('type_template', $elementList, (!empty($obj->{$value}) ? $obj->{$value}:''), 1, 0, 0, '', 0, 0, 0, '', 'maxwidth200', 1, '', 0, 1); + print $form->selectarray('type_template', $elementList, (!empty($obj->{$value}) ? $obj->{$value}:''), 1, 0, 0, '', 0, 0, 0, '', 'minwidth150', 1, '', 0, 1); } print ''; } elseif ($context == 'add' && in_array($value, array('topic', 'joinfiles', 'content', 'content_lines'))) { diff --git a/htdocs/admin/mails_ticket.php b/htdocs/admin/mails_ticket.php index 939273c1da2..a94bb9c4276 100644 --- a/htdocs/admin/mails_ticket.php +++ b/htdocs/admin/mails_ticket.php @@ -232,7 +232,7 @@ if ($action == 'edit') { print dol_get_fiche_head($head, 'common_ticket', '', -1); print ''.$langs->trans("EMailsDesc")."
    \n"; - print "
    \n"; + print "

    \n"; clearstatcache(); @@ -380,18 +380,14 @@ if ($action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } else { print dol_get_fiche_head($head, 'common_ticket', '', -1); print ''.$langs->trans("EMailsDesc")."
    \n"; - print "
    \n"; + print "

    \n"; print ''; print ''; @@ -483,7 +479,7 @@ if ($action == 'edit') { print '
    '; - print ''.$langs->trans("Modify").''; + print ''.$langs->trans("Modify").''; if (!empty($conf->global->MAIN_MAIL_SENDMODE_TICKET) && $conf->global->MAIN_MAIL_SENDMODE_TICKET != 'default') { if ($conf->global->MAIN_MAIL_SENDMODE_TICKET != 'mail' || !$linuxlike) { diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 2e84efbfb06..65906b83f3c 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -281,7 +281,7 @@ if ($action == 'create') { print load_fiche_titre($langs->trans("NewMenu"), '', 'title_setup'); - print '
    '; + print ''; print ''; print dol_get_fiche_head(); @@ -391,11 +391,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } elseif ($action == 'edit') { @@ -516,12 +512,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - // Bouton - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 589cf9fcb1a..9c2b91ec586 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -29,7 +29,7 @@ * \brief Page to activate/disable all modules */ -if (!defined('CSRFCHECK_WITH_TOKEN')) { +if (!defined('CSRFCHECK_WITH_TOKEN') && (empty($_GET['action']) || $_GET['action'] != 'reset')) { // We force security except to disable modules so we can do it if problem of a module define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET } @@ -133,7 +133,7 @@ if ($action == 'install') { // $original_file should match format module_modulename-x.y[.z].zip $original_file = basename($_FILES["fileinstall"]["name"]); - $original_file = preg_replace('/\(\d+\)\.zip$/i', '.zip', $original_file); + $original_file = preg_replace('/\s*\(\d+\)\.zip$/i', '.zip', $original_file); $newfile = $conf->admin->dir_temp.'/'.$original_file.'/'.$original_file; if (!$original_file) { @@ -481,7 +481,9 @@ print load_fiche_titre($langs->trans("ModulesSetup"), '', 'title_setup'); $deschelp = ''; if ($mode == 'common' || $mode == 'commonkanban') { $desc = $langs->trans("ModulesDesc", '{picto}'); + $desc .= ' '.$langs->trans("ModulesDesc2", '{picto2}'); $desc = str_replace('{picto}', img_picto('', 'switch_off'), $desc); + $desc = str_replace('{picto2}', img_picto('', 'setup'), $desc); if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING) ? 1 : $conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) { // If only minimal initial modules enabled $deschelp = '
    '.$desc."

    \n"; } @@ -586,6 +588,11 @@ if ($mode == 'common' || $mode == 'commonkanban') { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } + $disabled_modules = array(); + if (!empty($_SESSION["disablemodules"])) { + $disabled_modules = explode(',', $_SESSION["disablemodules"]); + } + // Show list of modules $oldfamily = ''; $foundoneexternalmodulewithupdate = 0; @@ -611,6 +618,7 @@ if ($mode == 'common' || $mode == 'commonkanban') { continue; } + $modulenameshort = strtolower(preg_replace('/^mod/i', '', get_class($objMod))); $const_name = 'MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i', '', get_class($objMod))); // Check filters @@ -752,6 +760,11 @@ if ($mode == 'common' || $mode == 'commonkanban') { $codeenabledisable = ''; $codetoconfig = ''; + // Force disable of module disabled into session (for demo for example) + if (in_array($modulenameshort, $disabled_modules)) { + $objMod->disabled = true; + } + // Activate/Disable and Setup (2 columns) if (!empty($conf->global->$const_name)) { // If module is already activated // Set $codeenabledisable @@ -759,6 +772,7 @@ if ($mode == 'common' || $mode == 'commonkanban') { if (!empty($arrayofwarnings[$modName])) { $codeenabledisable .= ''."\n"; } + if (!empty($objMod->disabled)) { $codeenabledisable .= $langs->trans("Disabled"); } elseif (!empty($objMod->always_enabled) || ((!empty($conf->multicompany->enabled) && $objMod->core_enabled) && ($user->entity || $conf->entity != 1))) { @@ -787,16 +801,16 @@ if ($mode == 'common' || $mode == 'commonkanban') { if (!empty($objMod->config_page_url) && !$disableSetup) { $backtourlparam = ''; if ($search_keyword != '') { - $backtourlparam .= ($backtourlparam ? '&' : '?').'search_keyword='.$search_keyword; // No urlencode here, done later + $backtourlparam .= ($backtourlparam ? '&' : '?').'search_keyword='.urlencode($search_keyword); // No urlencode here, done later } if ($search_nature > -1) { - $backtourlparam .= ($backtourlparam ? '&' : '?').'search_nature='.$search_nature; // No urlencode here, done later + $backtourlparam .= ($backtourlparam ? '&' : '?').'search_nature='.urlencode($search_nature); // No urlencode here, done later } if ($search_version > -1) { - $backtourlparam .= ($backtourlparam ? '&' : '?').'search_version='.$search_version; // No urlencode here, done later + $backtourlparam .= ($backtourlparam ? '&' : '?').'search_version='.urlencode($search_version); // No urlencode here, done later } if ($search_status > -1) { - $backtourlparam .= ($backtourlparam ? '&' : '?').'search_status='.$search_status; // No urlencode here, done later + $backtourlparam .= ($backtourlparam ? '&' : '?').'search_status='.urlencode($search_status); // No urlencode here, done later } $backtourl = $_SERVER["PHP_SELF"].$backtourlparam; @@ -864,7 +878,7 @@ if ($mode == 'common' || $mode == 'commonkanban') { } } $codeenabledisable .= ''."\n"; - $codeenabledisable .= 'needUpdate) { $versionTitle = $langs->trans('ModuleUpdateAvailable').' : '.$objMod->lastVersion; print ''.$versiontrans.''; - $foundoneexternalmodulewithupdate++; } else { print $versiontrans; } @@ -937,6 +950,9 @@ if ($mode == 'common' || $mode == 'commonkanban') { print "\n"; } + if ($objMod->needUpdate) { + $foundoneexternalmodulewithupdate++; + } } if ($action == 'checklastversion') { @@ -1009,16 +1025,16 @@ if ($mode == 'marketplace') { print '
    '; - print '
    '; + print ''; ?>
    -
    +
    @@ -1035,7 +1051,7 @@ if ($mode == 'marketplace') {
      - get_categories(); ?> + get_categories()); ?>
    @@ -1245,7 +1261,13 @@ if ($mode == 'develop') { print '
    '; print ''; print '
    '; - print ''; + print ''; print ''; print ''."\n"; diff --git a/htdocs/admin/mrp.php b/htdocs/admin/mrp.php index 74263538c71..54efdc4df19 100644 --- a/htdocs/admin/mrp.php +++ b/htdocs/admin/mrp.php @@ -69,7 +69,7 @@ if ($action == 'updateMask') { $modele = GETPOST('module', 'alpha'); $mo = new MO($db); - $mrp->initAsSpecimen(); + $mo->initAsSpecimen(); // Search template files $file = ''; $classname = ''; $filefound = 0; @@ -88,7 +88,7 @@ if ($action == 'updateMask') { $module = new $classname($db); - if ($module->write_file($mrp, $langs) > 0) { + if ($module->write_file($mo, $langs) > 0) { header("Location: ".DOL_URL_ROOT."/document.php?modulepart=mrp&file=SPECIMEN.pdf"); return; } else { @@ -225,7 +225,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -235,7 +235,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->MRP_MO_ADDON == $file) { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -359,13 +359,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''; } else { print '"; } @@ -374,7 +374,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->MRP_MO_ADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -451,7 +451,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print '\n"; print ''; @@ -465,7 +465,7 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftMOs"), $htmltext, 1, ' print '\n"; print ''; diff --git a/htdocs/admin/multicurrency.php b/htdocs/admin/multicurrency.php index 373ab0e0f48..e8619219471 100644 --- a/htdocs/admin/multicurrency.php +++ b/htdocs/admin/multicurrency.php @@ -138,7 +138,7 @@ if ($action == 'add_currency') { $TCurrency = array(); -$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'multicurrency WHERE entity = '.$conf->entity; +$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."multicurrency WHERE entity = ".((int) $conf->entity); $resql = $db->query($sql); if ($resql) { while ($obj = $db->fetch_object($resql)) { @@ -221,7 +221,7 @@ print ''; print ''; print ''; print $form->selectyesno("MULTICURRENCY_BUY_PRICE_IN_CURRENCY",$conf->global->MULTICURRENCY_BUY_PRICE_IN_CURRENCY,1); -print ''; +print ''; print ''; print ''; */ @@ -235,7 +235,7 @@ print ''; print ''; print ''; print $form->selectarray('MULTICURRENCY_MODIFY_RATE_APPLICATION', array('PU_DOLIBARR' => 'PU_DOLIBARR', 'PU_CURRENCY' => 'PU_CURRENCY'), $conf->global->MULTICURRENCY_MODIFY_RATE_APPLICATION); -print ''; +print ''; print ''; print ''; @@ -305,7 +305,7 @@ print ''; print ''; print ''; print ''; @@ -330,7 +330,7 @@ foreach ($TCurrency as &$currency) { print ''; print '1 '.$conf->currency.' = '; print ' '.$currency->code.' '; - print ' '; + print ' '; print ''; print ''; print ''; diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index c0c6b45464f..8137c34e1e6 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -47,7 +47,7 @@ $error = 0; */ // Action to update or add a constant -if ($action == 'settemplates') { +if ($action == 'settemplates' && $user->admin) { $db->begin(); if (!$error && is_array($_POST)) { @@ -192,7 +192,8 @@ print "\n"; print ''; print ''; print ''; print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("TryToUseTheModuleBuilder", $langs->transnoentitiesnoconv("ModuleBuilder")).''.$langs->trans("SeeTopRightMenu").''; + if (!empty($conf->modulebuilder->enabled)) { + print $langs->trans("SeeTopRightMenu"); + } else { + print ''.$langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("ModuleBuilder")).''; + } + print '
    '."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "'; -print ''; +print ''; print "
    '; print ''; print ''; -print ''; +print ''; print "
    '.$form->selectCurrency('', 'code', 1).''; print ' '; -print ''; +print ''; print '
    '; print $langs->trans("NotificationEMailFrom").''; -print ''; +print img_picto('', 'email', 'class="pictofixedwidth"'); +print ''; if (!empty($conf->global->NOTIFICATION_EMAIL_FROM) && !isValidEmail($conf->global->NOTIFICATION_EMAIL_FROM)) { print ' '.img_warning($langs->trans("ErrorBadEMail")); } @@ -200,7 +201,7 @@ print '
    '; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print ''; @@ -270,9 +271,16 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { } $helptext = ''; - form_constantes($constantes, 3, $helptext); + form_constantes($constantes, 3, $helptext, 'EmailTemplate'); - print '
    '; + print '
    '; + print '* '.$langs->trans("GoOntoUserCardToAddMore").'
    '; + if (!empty($conf->societe->enabled)) { + print '** '.$langs->trans("GoOntoContactCardToAddMore").'
    '; + } + print '
    '; + + print $form->buttonsSaveCancel("Save", ''); } else { print ''; print ''; @@ -316,15 +324,14 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { print ''; print '
    '; -} - -print '
    '; -print '* '.$langs->trans("GoOntoUserCardToAddMore").'
    '; -if (!empty($conf->societe->enabled)) { - print '** '.$langs->trans("GoOntoContactCardToAddMore").'
    '; + print '
    '; + print '* '.$langs->trans("GoOntoUserCardToAddMore").'
    '; + if (!empty($conf->societe->enabled)) { + print '** '.$langs->trans("GoOntoContactCardToAddMore").'
    '; + } + print '
    '; } -print '
    '; print ''; @@ -335,6 +342,7 @@ print '

    '; print '
    '; print ''; print ''; +print ''; print load_fiche_titre($langs->trans("ListOfFixedNotifications"), '', ''); @@ -376,6 +384,12 @@ foreach ($listofnotifiedevents as $notifiedevent) { $elementLabel = $langs->trans('ExpenseReport'); } + $labelfortrigger = 'AmountHT'; + $codehasnotrigger = 0; + if (preg_match('/^HOLIDAY/', $notifiedevent['code'])) { + $codehasnotrigger++; + } + print ''; print ''; print img_picto('', $elementPicto, 'class="pictofixedwidth"'); @@ -384,6 +398,7 @@ foreach ($listofnotifiedevents as $notifiedevent) { print ''.$notifiedevent['code'].''; print ''.$label.''; print ''; + $inputfieldalreadyshown = 0; // Notification with threshold foreach ($conf->global as $key => $val) { if ($val == '' || !preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifiedevent['code'].'_THRESHOLD_HIGHER_(.*)/', $key, $reg)) { @@ -407,24 +422,35 @@ foreach ($listofnotifiedevents as $notifiedevent) { } print $form->textwithpicto($s, $langs->trans("YouCanUseCommaSeparatorForSeveralRecipients").'
    '.$langs->trans("YouCanAlsoUseSupervisorKeyword"), 1, 'help', '', 0, 2); print '
    '; + + $inputfieldalreadyshown++; } // New entry input fields - $s = ''; // Do not use type="email" here, we must be able to enter a list of email with , separator. - print $form->textwithpicto($s, $langs->trans("YouCanUseCommaSeparatorForSeveralRecipients").'
    '.$langs->trans("YouCanAlsoUseSupervisorKeyword"), 1, 'help', '', 0, 2); + if (empty($inputfieldalreadyshown) || !$codehasnotrigger) { + $s = ''; // Do not use type="email" here, we must be able to enter a list of email with , separator. + print $form->textwithpicto($s, $langs->trans("YouCanUseCommaSeparatorForSeveralRecipients").'
    '.$langs->trans("YouCanAlsoUseSupervisorKeyword"), 1, 'help', '', 0, 2); + } print ''; print ''; // Notification with threshold + $inputfieldalreadyshown = 0; foreach ($conf->global as $key => $val) { if ($val == '' || !preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifiedevent['code'].'_THRESHOLD_HIGHER_(.*)/', $key, $reg)) { continue; } - print $langs->trans("AmountHT").' >= '; - print '
    '; + if (!$codehasnotrigger) { + print $langs->trans($labelfortrigger).' >= '; + print '
    '; + + $inputfieldalreadyshown++; + } } // New entry input fields - print $langs->trans("AmountHT").' >= '; + if (!$codehasnotrigger) { + print $langs->trans($labelfortrigger).' >= '; + } print ''; print ''; @@ -437,7 +463,7 @@ print ''; print '
    '; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print '
    '; diff --git a/htdocs/admin/oauth.php b/htdocs/admin/oauth.php index 079e55cb523..9bf5be2c294 100644 --- a/htdocs/admin/oauth.php +++ b/htdocs/admin/oauth.php @@ -91,6 +91,7 @@ print dol_get_fiche_head($head, 'services', '', -1, 'technic'); print ''.$langs->trans("ListOfSupportedOauthProviders").'

    '; +print '
    '; print ''; $i = 0; @@ -145,10 +146,11 @@ foreach ($list as $key) { } print '
    '."\n"; +print '
    '; print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; diff --git a/htdocs/admin/oauthlogintokens.php b/htdocs/admin/oauthlogintokens.php index 1b2886cd8ef..8697b400a2b 100644 --- a/htdocs/admin/oauthlogintokens.php +++ b/htdocs/admin/oauthlogintokens.php @@ -230,7 +230,7 @@ if ($mode == 'setup' && $user->admin) { print ''; print ''; - + print '
    '; print ''."\n"; print ''; @@ -262,15 +262,15 @@ if ($mode == 'setup' && $user->admin) { print $langs->trans("NoAccessToken"); } print ''; - print '
    '; + print ''; // Links to delete/checks token if (is_object($tokenobj)) { //test on $storage->hasAccessToken($OAUTH_SERVICENAME) ? - print ''.$langs->trans('DeleteAccess').'
    '; + print ''.$langs->trans('DeleteAccess').'
    '; } // Request remote token if ($urltorenew) { - print ''.$langs->trans('RequestAccess').'
    '; + print ''.$langs->trans('RequestAccess').'
    '; } // Check remote access if ($urltocheckperms) { @@ -330,10 +330,11 @@ if ($mode == 'setup' && $user->admin) { } print '
    '; + print '
    '; if (!empty($driver)) { if ($submit_enabled) { - print '
    '; + print $form->buttonsSaveCancel("Modify", ''); } } @@ -345,6 +346,7 @@ if ($mode == 'setup' && $user->admin) { if ($mode == 'test' && $user->admin) { print $langs->trans('PrintTestDesc'.$driver)."

    \n"; + print '
    '; print ''; if (!empty($driver)) { require_once DOL_DOCUMENT_ROOT.'/core/modules/printing/'.$driver.'.modules.php'; @@ -364,11 +366,13 @@ if ($mode == 'test' && $user->admin) { } print '
    '; + print '
    '; } if ($mode == 'userconf' && $user->admin) { print $langs->trans('PrintUserConfDesc'.$driver)."

    \n"; + print '
    '; print ''; print ''; print ''; @@ -395,6 +399,7 @@ if ($mode == 'userconf' && $user->admin) { print "\n"; } print '
    '.$langs->trans("User").'
    '; + print '
    '; } print dol_get_fiche_end(); diff --git a/htdocs/admin/openinghours.php b/htdocs/admin/openinghours.php index 2e262a1bb7e..03f396c9198 100644 --- a/htdocs/admin/openinghours.php +++ b/htdocs/admin/openinghours.php @@ -81,7 +81,7 @@ $head = company_admin_prepare_head(); print dol_get_fiche_head($head, 'openinghours', $langs->trans("Company"), -1, 'company'); print ''.$langs->trans("OpeningHoursDesc")."
    \n"; -print "
    \n"; +print "

    \n"; if (empty($action) || $action == 'edit' || $action == 'updateedit') { /** @@ -131,10 +131,7 @@ if (empty($action) || $action == 'edit' || $action == 'updateedit') { print ''; - print '
    '; - print ''; - print '
    '; - print '
    '; + print $form->buttonsSaveCancel("Save", ''); print ''; } diff --git a/htdocs/admin/payment.php b/htdocs/admin/payment.php index 9b380b676b4..089ddbafd23 100644 --- a/htdocs/admin/payment.php +++ b/htdocs/admin/payment.php @@ -178,7 +178,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -273,11 +273,7 @@ print '
    '; print dol_get_fiche_end(); -print '
    '; -print '
    '; -print ''; -print '
    '; -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; diff --git a/htdocs/admin/paymentbybanktransfer.php b/htdocs/admin/paymentbybanktransfer.php index 7cf522abc33..997c71bb335 100644 --- a/htdocs/admin/paymentbybanktransfer.php +++ b/htdocs/admin/paymentbybanktransfer.php @@ -20,7 +20,7 @@ */ /** - * \file htdocs/admin/credtitransfer.php + * \file htdocs/admin/paymentbybanktransfer.php * \ingroup paymentbybanktransfer * \brief Page to setup payments by credit transfer */ @@ -114,7 +114,7 @@ if ($action == "set") { if ($action == "addnotif") { $bon = new BonPrelevement($db); - $bon->AddNotification($db, GETPOST('user', 'int'), $action); + $bon->addNotification($db, GETPOST('user', 'int'), $action); header("Location: ".$_SERVER["PHP_SELF"]); exit; @@ -122,7 +122,7 @@ if ($action == "addnotif") { if ($action == "deletenotif") { $bon = new BonPrelevement($db); - $bon->DeleteNotificationById(GETPOST('notif', 'int')); + $bon->deleteNotificationById(GETPOST('notif', 'int')); header("Location: ".$_SERVER["PHP_SELF"]); exit; @@ -144,48 +144,50 @@ $linkback = ''; -print '
    '; +print ''; print ''; print ''; print ''; -print ''; +print ''; print ''; print ""; // Bank account (from Banks module) print ''; -print ''; /* Moved to bank account data // ICS print ''; -print ''; print ''; */ //User print ''; -print ''; print ''; /* //EntToEnd print ''; -print ''; +print ''; print ''; //USTRD print ''; -print ''; +print ''; print ''; */ @@ -195,12 +197,11 @@ print ''; +print ''; print ''; print '
    '.$langs->trans("Parameter").''.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("BankToPayCreditTransfer").''; -$form->select_comptes($conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT, 'PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT', 0, "courant=1", 1); +print ''; +print img_picto('', 'bank_account', 'class="pictofixedwidth"'); +print $form->select_comptes($conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT, 'PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT', 0, "courant=1", 1, '', 0, 'minwidth200', 1); print '
    '.$langs->trans("ICS").''; +print ''; print '
    '.$langs->trans("ResponsibleUser").''; -print $form->select_dolusers($conf->global->PAYMENTBYBANKTRANSFER_USER, 'PAYMENTBYBANKTRANSFER_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); +print ''; +print img_picto('', 'user', 'class="pictofixedwidth"'); +print $form->select_dolusers($conf->global->PAYMENTBYBANKTRANSFER_USER, 'PAYMENTBYBANKTRANSFER_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'minwidth200 maxwidth500'); print '
    '.$langs->trans("END_TO_END").''; -print ''; +print '
    '.$langs->trans("USTRD").''; -print ''; +print '
    '; if (!$conf->global->PAYMENTBYBANKTRANSFER_ADDDAYS) { $conf->global->PAYMENTBYBANKTRANSFER_ADDDAYS = 0; } -print '
    '; -print '
    '; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print '
    '; @@ -297,7 +298,7 @@ foreach ($dirmodels as $reldir) if (in_array($name, $def)) { print ''."\n"; - print '
    '; + print ''; print img_picto($langs->trans("Enabled"),'switch_on'); print ''; print ''; @@ -305,7 +306,7 @@ foreach ($dirmodels as $reldir) else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').''; print ""; } @@ -317,7 +318,7 @@ foreach ($dirmodels as $reldir) } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').''; + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').''; } print ''; @@ -428,7 +429,7 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) } - print '
    '; + print ''; print ''; print ''; print ''; @@ -445,7 +446,7 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) print $form->selectarray('action',$actions);// select_dolusers(0,'user',0); print ''; - print ''; + print ''; // List of current notifications for objet_type='withdraw' $sql = "SELECT u.lastname, u.firstname,"; diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 7d7b5e36a40..073a88f2cd0 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2012-2107 Juanjo Menent * Copyright (C) 2019 Ferran Marcet + * Copyright (C) 2021 Anthony Berton * * 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 @@ -52,22 +53,60 @@ if ($cancel) { } if ($action == 'update') { - dolibarr_set_const($db, "MAIN_PDF_FORMAT", GETPOST("MAIN_PDF_FORMAT"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_FORMAT')) { + dolibarr_set_const($db, "MAIN_PDF_FORMAT", GETPOST("MAIN_PDF_FORMAT"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "MAIN_PDF_MARGIN_LEFT", GETPOST("MAIN_PDF_MARGIN_LEFT"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MARGIN_RIGHT", GETPOST("MAIN_PDF_MARGIN_TOP"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MARGIN_BOTTOM", GETPOST("MAIN_PDF_MARGIN_BOTTOM"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MARGIN_LEFT')) { + dolibarr_set_const($db, "MAIN_PDF_MARGIN_LEFT", GETPOST("MAIN_PDF_MARGIN_LEFT"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_MARGIN_RIGHT')) { + dolibarr_set_const($db, "MAIN_PDF_MARGIN_RIGHT", GETPOST("MAIN_PDF_MARGIN_RIGHT"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_MARGIN_TOP')) { + dolibarr_set_const($db, "MAIN_PDF_MARGIN_TOP", GETPOST("MAIN_PDF_MARGIN_TOP"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_MARGIN_BOTTOM')) { + dolibarr_set_const($db, "MAIN_PDF_MARGIN_BOTTOM", GETPOST("MAIN_PDF_MARGIN_BOTTOM"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", GETPOST("MAIN_PROFID1_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID2_IN_ADDRESS", GETPOST("MAIN_PROFID2_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID3_IN_ADDRESS", GETPOST("MAIN_PROFID3_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID4_IN_ADDRESS", GETPOST("MAIN_PROFID4_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID5_IN_ADDRESS", GETPOST("MAIN_PROFID5_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID6_IN_ADDRESS", GETPOST("MAIN_PROFID6_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID1_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", GETPOST("MAIN_PROFID1_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PROFID2_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_PROFID2_IN_ADDRESS", GETPOST("MAIN_PROFID2_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PROFID3_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_PROFID3_IN_ADDRESS", GETPOST("MAIN_PROFID3_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PROFID4_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_PROFID4_IN_ADDRESS", GETPOST("MAIN_PROFID4_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PROFID5_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_PROFID5_IN_ADDRESS", GETPOST("MAIN_PROFID5_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PROFID6_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_PROFID6_IN_ADDRESS", GETPOST("MAIN_PROFID6_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT", GETPOST("MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_NO_SENDER_FRAME')) { + dolibarr_set_const($db, "MAIN_PDF_NO_SENDER_FRAME", GETPOST("MAIN_PDF_NO_SENDER_FRAME"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_NO_RECIPENT_FRAME')) { + dolibarr_set_const($db, "MAIN_PDF_NO_RECIPENT_FRAME", GETPOST("MAIN_PDF_NO_RECIPENT_FRAME"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "MAIN_TVAINTRA_NOT_IN_ADDRESS", GETPOST("MAIN_TVAINTRA_NOT_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_HIDE_SENDER_NAME')) { + dolibarr_set_const($db, "MAIN_PDF_HIDE_SENDER_NAME", GETPOST("MAIN_PDF_HIDE_SENDER_NAME"), 'chaine', 0, '', $conf->entity); + } + + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT')) { + dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT", GETPOST("MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT"), 'chaine', 0, '', $conf->entity); + } + + if (GETPOSTISSET('MAIN_TVAINTRA_NOT_IN_ADDRESS')) { + dolibarr_set_const($db, "MAIN_TVAINTRA_NOT_IN_ADDRESS", GETPOST("MAIN_TVAINTRA_NOT_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + } if (!empty($conf->projet->enabled)) { if (GETPOST('PDF_SHOW_PROJECT_REF_OR_LABEL') == 'no') { @@ -82,20 +121,54 @@ if ($action == 'update') { } } - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DESC", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DESC"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_REF", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_REF"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS')) { + dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_HIDE_DESC')) { + dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DESC", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DESC"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_HIDE_REF')) { + dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_REF", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_REF"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "MAIN_DOCUMENTS_LOGO_HEIGHT", GETPOST("MAIN_DOCUMENTS_LOGO_HEIGHT", 'int'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_INVERT_SENDER_RECIPIENT", GETPOST("MAIN_INVERT_SENDER_RECIPIENT"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_USE_ISO_LOCATION", GETPOST("MAIN_PDF_USE_ISO_LOCATION"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_DOCUMENTS_LOGO_HEIGHT')) { + dolibarr_set_const($db, "MAIN_DOCUMENTS_LOGO_HEIGHT", GETPOST("MAIN_DOCUMENTS_LOGO_HEIGHT", 'int'), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_INVERT_SENDER_RECIPIENT')) { + dolibarr_set_const($db, "MAIN_INVERT_SENDER_RECIPIENT", GETPOST("MAIN_INVERT_SENDER_RECIPIENT"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_USE_ISO_LOCATION')) { + dolibarr_set_const($db, "MAIN_PDF_USE_ISO_LOCATION", GETPOST("MAIN_PDF_USE_ISO_LOCATION"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_NO_CUSTOMER_CODE')) { + dolibarr_set_const($db, "MAIN_PDF_NO_CUSTOMER_CODE", GETPOST("MAIN_PDF_NO_CUSTOMER_CODE"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_SECOND_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_SECOND_TAX"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_THIRD_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_THIRD_TAX"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS')) { + dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS"), 'chaine', 0, '', $conf->entity); + } - dolibarr_set_const($db, "PDF_USE_ALSO_LANGUAGE_CODE", GETPOST('PDF_USE_ALSO_LANGUAGE_CODE', 'alpha'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "SHOW_SUBPRODUCT_REF_IN_PDF", GETPOST('SHOW_SUBPRODUCT_REF_IN_PDF', 'alpha'), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MAIN_HIDE_SECOND_TAX')) { + dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_SECOND_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_SECOND_TAX"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_PDF_MAIN_HIDE_THIRD_TAX')) { + dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_THIRD_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_THIRD_TAX"), 'chaine', 0, '', $conf->entity); + } + + if (GETPOSTISSET('PDF_USE_ALSO_LANGUAGE_CODE')) { + dolibarr_set_const($db, "PDF_USE_ALSO_LANGUAGE_CODE", GETPOST('PDF_USE_ALSO_LANGUAGE_CODE', 'alpha'), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('SHOW_SUBPRODUCT_REF_IN_PDF')) { + dolibarr_set_const($db, "SHOW_SUBPRODUCT_REF_IN_PDF", GETPOST('SHOW_SUBPRODUCT_REF_IN_PDF', 'alpha'), 'chaine', 0, '', $conf->entity); + } + + if (GETPOSTISSET('PDF_SHOW_LINK_TO_ONLINE_PAYMENT')) { + dolibarr_set_const($db, "PDF_SHOW_LINK_TO_ONLINE_PAYMENT", GETPOST('PDF_SHOW_LINK_TO_ONLINE_PAYMENT', 'alpha'), 'chaine', 0, '', $conf->entity); + } + + if (GETPOSTISSET('PDF_USE_A')) { + dolibarr_set_const($db, "PDF_USE_A", GETPOST('PDF_USE_A', 'alpha'), 'chaine', 0, '', $conf->entity); + } setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); @@ -239,7 +312,7 @@ for ($i = 1; $i <= 6; $i++) { $pid = false; } } else { - $pid = img_warning().' '.$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("CompanyCountry")).''; + $pid = img_warning().' '.$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("CompanyCountry")).''; } if ($pid) { print ''; + +print ''; + +//Invert sender and recipient + +print ''; + +// Place customer adress to the ISO location + +print ''; + print '
    '.$langs->trans("ShowProfIdInAddress").' - '.$pid.''; @@ -253,6 +326,55 @@ for ($i = 1; $i <= 6; $i++) { } } +// Borders on address frame + +print '
    '.$langs->trans("MAIN_PDF_NO_SENDER_FRAME").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_NO_SENDER_FRAME'); +} else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_NO_SENDER_FRAME", $arrval, $conf->global->MAIN_PDF_NO_SENDER_FRAME); +} +print '
    '.$langs->trans("MAIN_PDF_NO_RECIPENT_FRAME").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_NO_RECIPENT_FRAME'); +} else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_NO_RECIPENT_FRAME", $arrval, $conf->global->MAIN_PDF_NO_RECIPENT_FRAME); +} + +// Show sender name + +print '
    '.$langs->trans("MAIN_PDF_HIDE_SENDER_NAME").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_HIDE_SENDER_NAME'); +} else { + print $form->selectyesno('MAIN_PDF_HIDE_SENDER_NAME', (!empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) ? $conf->global->MAIN_PDF_HIDE_SENDER_NAME : 0, 1); +} +print '
    '.$langs->trans("SwapSenderAndRecipientOnPDF").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_INVERT_SENDER_RECIPIENT'); +} else { + print $form->selectyesno('MAIN_INVERT_SENDER_RECIPIENT', (!empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) ? $conf->global->MAIN_INVERT_SENDER_RECIPIENT : 0, 1); +} +print '
    '.$langs->trans("PlaceCustomerAddressToIsoLocation").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_USE_ISO_LOCATION'); +} else { + print $form->selectyesno('MAIN_PDF_USE_ISO_LOCATION', (!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION)) ? $conf->global->MAIN_PDF_USE_ISO_LOCATION : 0, 1); +} +print '
    '; print ''; @@ -323,14 +445,24 @@ print '
    '; print ''; print ''; -// Height of logo +// Use 2 languages into PDF +print ''; + +// Height of logo print ''; // Show project - if (!empty($conf->projet->enabled)) { print ''; } -//Invert sender and recipient +// -print ''; -// Place customer adress to the ISO location - -print ''; - -// Use 2 languages into PDF - -print ''; - -//Desc - -print ''; - -//Ref +// Ref print ''; -//Details +// Desc + +print ''; + +// Details print 'selectarray('MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS', $arraydetailsforpdffoot, (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS) ? $conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS : 0)); print ''; +// Show online payment link on invoices + +print ''; + +print ''; + print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("PDF_USE_ALSO_LANGUAGE_CODE").''; +//if (! empty($conf->global->MAIN_MULTILANGS)) + //{ +$selected = GETPOSTISSET('PDF_USE_ALSO_LANGUAGE_CODE') ? GETPOST('PDF_USE_ALSO_LANGUAGE_CODE') : (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) ? $conf->global->PDF_USE_ALSO_LANGUAGE_CODE : 0); +print $formadmin->select_language($selected, 'PDF_USE_ALSO_LANGUAGE_CODE', 0, null, 1); +//} else { +// print ''.$langs->trans("MultiLangNotEnabled").''; +//} +print '
    '.$langs->trans("MAIN_DOCUMENTS_LOGO_HEIGHT").''; print ''; print '
    '.$langs->trans("PDF_SHOW_PROJECT").''; $tmparray = array('no' => 'No', 'showprojectref' => 'RefProject', 'showprojectlabel' => 'ShowProjectLabel'); @@ -339,49 +471,19 @@ if (!empty($conf->projet->enabled)) { print '
    '.$langs->trans("SwapSenderAndRecipientOnPDF").''; +print '
    '.$langs->trans("MAIN_PDF_HIDE_CUSTOMER_CODE"); +print ''; if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_INVERT_SENDER_RECIPIENT'); + print ajax_constantonoff('MAIN_PDF_HIDE_CUSTOMER_CODE'); } else { - print $form->selectyesno('MAIN_INVERT_SENDER_RECIPIENT', (!empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) ? $conf->global->MAIN_INVERT_SENDER_RECIPIENT : 0, 1); + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_HIDE_CUSTOMER_CODE", $arrval, $conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE); } print '
    '.$langs->trans("PlaceCustomerAddressToIsoLocation").''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_PDF_USE_ISO_LOCATION'); -} else { - print $form->selectyesno('MAIN_PDF_USE_ISO_LOCATION', (!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION)) ? $conf->global->MAIN_PDF_USE_ISO_LOCATION : 0, 1); -} -print '
    '.$langs->trans("PDF_USE_ALSO_LANGUAGE_CODE").''; -//if (! empty($conf->global->MAIN_MULTILANGS)) -//{ -$selected = GETPOSTISSET('PDF_USE_ALSO_LANGUAGE_CODE') ? GETPOST('PDF_USE_ALSO_LANGUAGE_CODE') : (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) ? $conf->global->PDF_USE_ALSO_LANGUAGE_CODE : 0); -print $formadmin->select_language($selected, 'PDF_USE_ALSO_LANGUAGE_CODE', 0, null, 1); -//} else { -// print ''.$langs->trans("MultiLangNotEnabled").''; -//} -print '
    '.$langs->trans("HideDescOnPDF").''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_HIDE_DESC'); -} else { - print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DESC', (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC)) ? $conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC : 0, 1); -} -print '
    '.$langs->trans("HideRefOnPDF").''; if ($conf->use_javascript_ajax) { @@ -391,7 +493,17 @@ if ($conf->use_javascript_ajax) { } print '
    '.$langs->trans("HideDescOnPDF").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_HIDE_DESC'); +} else { + print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DESC', (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC)) ? $conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC : 0, 1); +} +print '
    '.$langs->trans("HideDetailsOnPDF").''; if ($conf->use_javascript_ajax) { @@ -417,12 +529,28 @@ print '
    '.$langs->trans("ShowDetailsInPDFPageFoot").'
    '.$langs->trans("PDF_SHOW_LINK_TO_ONLINE_PAYMENT").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('PDF_SHOW_LINK_TO_ONLINE_PAYMENT'); +} else { + print $form->selectyesno('PDF_SHOW_LINK_TO_ONLINE_PAYMENT', (!empty($conf->global->PDF_SHOW_LINK_TO_ONLINE_PAYMENT)) ? $conf->global->PDF_SHOW_LINK_TO_ONLINE_PAYMENT : 0, 1); +} +print '
    '.$langs->trans("PDF_USE_A").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('PDF_USE_A'); +} else { + print $form->selectyesno('PDF_USE_A', (empty($conf->global->PDF_USE_A) ? 0 : $conf->global->PDF_USE_A), 1); +} +print '
    '; print '
    '; -print '
    '; -print ''; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print '
    '; diff --git a/htdocs/admin/pdf_other.php b/htdocs/admin/pdf_other.php index 03c27fd3721..f42c49a4bfe 100644 --- a/htdocs/admin/pdf_other.php +++ b/htdocs/admin/pdf_other.php @@ -41,18 +41,26 @@ if (!$user->admin) { } $action = GETPOST('action', 'aZ09'); -$cancel = GETPOST('cancel', 'alpha'); /* * Actions */ -if ($cancel) { - $action = ''; -} - if ($action == 'update') { + if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTTERM')) { + dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTTERM", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTTERM"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTMODE')) { + dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTMODE", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTMODE"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_GENERATE_PROPOSALS_WITH_PICTURE')) { + dolibarr_set_const($db, "MAIN_GENERATE_PROPOSALS_WITH_PICTURE", GETPOST("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_DOCUMENTS_WITH_PICTURE_WIDTH')) { + dolibarr_set_const($db, "MAIN_DOCUMENTS_WITH_PICTURE_WIDTH", GETPOST("MAIN_DOCUMENTS_WITH_PICTURE_WIDTH", 'int'), 'chaine', 0, '', $conf->entity); + } + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup"); @@ -78,44 +86,46 @@ $head = pdf_admin_prepare_head(); print dol_get_fiche_head($head, 'other', $langs->trans("other"), -1, 'pdf'); -print ''.$form->textwithpicto($langs->trans("PDFOtherDesc"), $s)."
    \n"; +$tooltiptext = ''; +print ''.$form->textwithpicto($langs->trans("PDFOtherDesc"), $tooltiptext)."
    \n"; print "
    \n"; -print load_fiche_titre($langs->trans("Proposal"), '', ''); +if (!empty($conf->propal->enabled)) { + print load_fiche_titre($langs->trans("Proposal"), '', ''); -print '
    '; -print ''; -print ''; + print ''; + print ''; + print ''; -print '
    '; -print ''; -print ''; + print '
    '; + print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '; + print ''; -print ''; + + /* + print ''; + */ + + print '
    '.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"); -print ' ('.$langs->trans("RandomlySelectedIfSeveral").')'; -print ''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_GENERATE_PROPOSALS_WITH_PICTURE'); -} else { - $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); - print $form->selectarray("MAIN_GENERATE_PROPOSALS_WITH_PICTURE", $arrval, $conf->global->MAIN_GENERATE_PROPOSALS_WITH_PICTURE); + print '
    '.$langs->trans("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"); + print ' ('.$langs->trans("RandomlySelectedIfSeveral").')'; + print ''; + if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_GENERATE_PROPOSALS_WITH_PICTURE'); + } else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_GENERATE_PROPOSALS_WITH_PICTURE", $arrval, $conf->global->MAIN_GENERATE_PROPOSALS_WITH_PICTURE); + } + print '
    '.$langs->trans("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING").''; + if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING'); + } else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING", $arrval, $conf->global->MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING); + } + print '
    '; + print '
    '; } -print ''; - -/* -print ''.$langs->trans("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING").''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING'); -} else { - $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); - print $form->selectarray("MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING", $arrval, $conf->global->MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING); -} -print ''; -*/ - -print ''; -print ''; - print '
    '; print ''; diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index 8f4c0c6f763..d2f0d79e4f3 100644 --- a/htdocs/admin/perms.php +++ b/htdocs/admin/perms.php @@ -236,7 +236,7 @@ if ($result) { print ''; } else { print ''; - print ''; + print ''; //print img_edit_add(); print img_picto('', 'switch_off'); print ''; diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index db37acd8dc3..e09dd13b045 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -117,7 +117,7 @@ if ($action == "set") { if ($action == "addnotif") { $bon = new BonPrelevement($db); - $bon->AddNotification($db, GETPOST('user', 'int'), $action); + $bon->addNotification($db, GETPOST('user', 'int'), $action); header("Location: ".$_SERVER["PHP_SELF"]); exit; @@ -125,7 +125,7 @@ if ($action == "addnotif") { if ($action == "deletenotif") { $bon = new BonPrelevement($db); - $bon->DeleteNotificationById(GETPOST('notif', 'int')); + $bon->deleteNotificationById(GETPOST('notif', 'int')); header("Location: ".$_SERVER["PHP_SELF"]); exit; @@ -153,15 +153,16 @@ print ''; print ''; print ''; -print ''; +print ''; print ''; print ""; // Bank account (from Banks module) print ''; -print ''; /* Moved to bank account data @@ -179,8 +180,9 @@ print ''; //User print ''; -print ''; print ''; @@ -189,8 +191,8 @@ print ''; -print ''; +print ''; print ''; //USTRD @@ -199,22 +201,21 @@ $htmltext = $langs->trans("KeepThisEmptyInMostCases"); print $form->textwithpicto($langs->trans("USTRD"), $htmltext); print ''; print ''; +print ''; print ''; //ADDDAYS print ''; -print ''; +print ''; print ''; print '
    '.$langs->trans("Parameter").''.$langs->trans("Parameter").''.$langs->trans("Value").'
    '.$langs->trans("BankToReceiveWithdraw").''; -$form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT, 'PRELEVEMENT_ID_BANKACCOUNT', 0, "courant=1", 1); +print ''; +print img_picto('', 'bank_account', 'class="pictofixedwidth"'); +print $form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT, 'PRELEVEMENT_ID_BANKACCOUNT', 0, "courant=1", 1, '', 0, 'minwidth200', 1); print '
    '.$langs->trans("ResponsibleUser").''; -print $form->select_dolusers($conf->global->PRELEVEMENT_USER, 'PRELEVEMENT_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); +print ''; +print img_picto('', 'user', 'class="pictofixedwidth"'); +print $form->select_dolusers($conf->global->PRELEVEMENT_USER, 'PRELEVEMENT_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'minwidth200 maxwidth500'); print '
    '; $htmltext = $langs->trans("KeepThisEmptyInMostCases"); print $form->textwithpicto($langs->trans("END_TO_END"), $htmltext); print ''; -print ''; +print '
    '; -print '
    '.$langs->trans("ADDDAYS").''; +print ''; if (empty($conf->global->PRELEVEMENT_ADDDAYS)) { $conf->global->PRELEVEMENT_ADDDAYS = 0; } -print '
    '; -print '
    '; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print ''; @@ -311,7 +312,7 @@ foreach ($dirmodels as $reldir) if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"),'switch_on'); print ''; print ''; @@ -319,7 +320,7 @@ foreach ($dirmodels as $reldir) else { print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').''; print ""; } @@ -331,7 +332,7 @@ foreach ($dirmodels as $reldir) } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').''; + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').''; } print ''; @@ -442,7 +443,7 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) } - print '
    '; + print ''; print ''; print ''; print ''; @@ -459,7 +460,7 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) print $form->selectarray('action',$actions);// select_dolusers(0,'user',0); print ''; - print ''; + print ''; // List of current notifications for objet_type='withdraw' $sql = "SELECT u.lastname, u.firstname,"; diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index a0d590579ca..22ce045a7ab 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -268,7 +268,7 @@ foreach ($dirmodels as $reldir) { $langs->load("errors"); print '
    '.$langs->trans($tmp).'
    '; } elseif ($tmp == 'NotConfigured') { - print $langs->trans($tmp); + print ''.$langs->trans($tmp).''; } else { print $tmp; } @@ -278,7 +278,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->PROPALE_ADDON == "$file") { print img_picto($langs->trans("Activated"), 'switch_on'); } else { - print ''; + print ''; print img_picto($langs->trans("Disabled"), 'switch_off'); print ''; } @@ -402,13 +402,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''; } else { print ""; } @@ -417,7 +417,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->PROPALE_ADDON_PDF == "$name") { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -483,7 +483,7 @@ print ''; print $langs->trans("PaymentMode").''; print ''; print "\n"; @@ -587,7 +587,7 @@ print ""; print ''; print ''; print '"; -print ''; +print ''; print ''; print ''; @@ -600,7 +600,7 @@ print $langs->trans("UseCustomerContactAsPropalRecipientIfExist"); print '\n"; print ''; */ @@ -627,7 +627,7 @@ if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { print $doleditor->Create(); } print '\n"; print ''; @@ -640,7 +640,7 @@ print $form->textwithpicto($langs->trans("WatermarkOnDraftProposal"), $htmltext, print '\n"; print ''; @@ -658,11 +658,11 @@ if ($conf->banque->enabled) { if (empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL)) { - print ''.img_picto($langs->trans("Disabled"),'switch_off').''; + print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } else { - print ''.img_picto($langs->trans("Enabled"),'switch_on').''; + print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } } print ''; diff --git a/htdocs/admin/proxy.php b/htdocs/admin/proxy.php index af646bb4096..451771f7a98 100644 --- a/htdocs/admin/proxy.php +++ b/htdocs/admin/proxy.php @@ -95,6 +95,7 @@ $head = security_prepare_head(); print dol_get_fiche_head($head, 'proxy', '', -1); +print '
    '; if ($conf->use_javascript_ajax) { print "\n".''; - $arrayofselected = is_array($toselect) ? $toselect : array(); $param = ''; @@ -538,7 +523,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/asset/note.php b/htdocs/asset/note.php index 752591ade9e..ebd340e393d 100644 --- a/htdocs/asset/note.php +++ b/htdocs/asset/note.php @@ -70,8 +70,13 @@ $permissionnote = 1; * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once - +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* * View @@ -92,7 +97,7 @@ if ($id > 0 || !empty($ref)) { // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; /* @@ -109,7 +114,7 @@ if ($id > 0 || !empty($ref)) { if ($user->rights->asset->creer) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/asset/type.php b/htdocs/asset/type.php index 6103b963e21..2413364426f 100644 --- a/htdocs/asset/type.php +++ b/htdocs/asset/type.php @@ -90,6 +90,7 @@ $hookmanager->initHooks(array('assettypecard', 'globalcard')); $permissiontoadd = $user->rights->asset->setup_advance; + /* * Actions */ @@ -297,7 +298,7 @@ if (!$rowid && $action != 'create' && $action != 'edit') { print ''; if ($user->rights->asset->write) { - print '
    '; + print ''; } else { print ''; } @@ -389,18 +390,14 @@ if ($action == 'create') { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit', $parameters); + print $object->showOptionals($extrafields, 'create', $parameters); } print ''; print "
    '."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print '\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "'; if (empty($conf->facture->enabled)) { - print ''; + print ''; } print '
    '.$langs->trans("DefaultProposalDurationValidity").''."global->PROPALE_VALIDITY_DURATION."\">
    '; print $form->selectyesno("value",$conf->global->PROPALE_USE_CUSTOMER_CONTACT_AS_RECIPIENT,1); print ''; -print ''; +print ''; print "
    '; -print ''; +print ''; print "
    '; print ''; print ''; -print ''; +print ''; print "
    rowid.'">'.img_edit().'rowid.'">'.img_edit().' 
    \n"; print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("Add"); print "\n"; } @@ -506,12 +503,12 @@ if ($rowid > 0) { // Edit if ($user->rights->asset->write) { - print ''; + print ''; } // Delete if ($user->rights->asset->write) { - print ''; + print ''; } print "
    "; @@ -600,9 +597,7 @@ if ($rowid > 0) { print dol_get_fiche_end(); - print '
    '; - print '   '; - print '
    '; + print $form->buttonsSaveCancel(); print ""; } diff --git a/htdocs/barcode/codeinit.php b/htdocs/barcode/codeinit.php index f35547523c9..be76a00099c 100644 --- a/htdocs/barcode/codeinit.php +++ b/htdocs/barcode/codeinit.php @@ -214,7 +214,7 @@ if ($conf->societe->enabled) { print $langs->trans("CurrentlyNWithoutBarCode", $nbno, $nbtotal, $langs->transnoentitiesnoconv("ThirdParties")).'
    '."\n"; - print '
    '; print '



    '; @@ -274,7 +274,7 @@ if ($conf->product->enabled || $conf->product->service) { } else { $disabled = 1; $titleno = $langs->trans("NoBarcodeNumberingTemplateDefined"); - print ''.$langs->trans("NoBarcodeNumberingTemplateDefined").' ('.$langs->trans("ToGenerateCodeDefineAutomaticRuleFirst").')
    '; + print ''.$langs->trans("NoBarcodeNumberingTemplateDefined").' ('.$langs->trans("ToGenerateCodeDefineAutomaticRuleFirst").')
    '; } if (empty($nbno)) { $disabled1 = 1; @@ -283,10 +283,10 @@ if ($conf->product->enabled || $conf->product->service) { print '
    '; //print ' '.$langs->trans("ResetBarcodeForAllRecords").'
    '; $moretags1 = (($disabled || $disabled1) ? ' disabled title="'.dol_escape_htmltag($titleno).'"' : ''); - print ''; + print ''; $moretags2 = (($nbno == $nbtotal) ? ' disabled' : ''); print '   '; - print ''; + print ''; print '



    '; } diff --git a/htdocs/barcode/printsheet.php b/htdocs/barcode/printsheet.php index ff57587d1b4..2cb4d972493 100644 --- a/htdocs/barcode/printsheet.php +++ b/htdocs/barcode/printsheet.php @@ -382,7 +382,7 @@ if (!empty($user->rights->produit->lire) || !empty($user->rights->service->lire) print '
    '; print '
    '; $form->select_produits(GETPOST('productid', 'int'), 'productid', '', '', 0, -1, 2, '', 0, array(), 0, '1', 0, 'minwidth400imp', 1); - print '   '; + print '   '; print '
    '; } @@ -433,7 +433,7 @@ print '
    '; print ''; -print '
    '; +print '
    '; print ''; print '
    '; diff --git a/htdocs/blockedlog/admin/blockedlog.php b/htdocs/blockedlog/admin/blockedlog.php index f90385b4209..8880e6c1e86 100644 --- a/htdocs/blockedlog/admin/blockedlog.php +++ b/htdocs/blockedlog/admin/blockedlog.php @@ -79,7 +79,10 @@ $form = new Form($db); $block_static = new BlockedLog($db); $block_static->loadTrackedEvents(); -llxHeader('', $langs->trans("BlockedLogSetup")); +$title = $langs->trans("BlockedLogSetup"); +$help_url="EN:Module_Unalterable_Archives_-_Logs|FR:Module_Archives_-_Logs_Inaltérable"; + +llxHeader('', $title, $help_url); $linkback = ''; if ($withtab) { @@ -121,7 +124,7 @@ if (!empty($conf->global->BLOCKEDLOG_USE_REMOTE_AUTHORITY)) { print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; @@ -151,7 +154,7 @@ if ($resql) { $seledted = empty($conf->global->BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY) ? array() : explode(',', $conf->global->BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY); print $form->multiselectarray('BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY', $countryArray, $seledted); -print ''; +print ''; print ''; print ''; diff --git a/htdocs/blockedlog/admin/blockedlog_list.php b/htdocs/blockedlog/admin/blockedlog_list.php index 265c12dd49c..2a15aa0965b 100644 --- a/htdocs/blockedlog/admin/blockedlog_list.php +++ b/htdocs/blockedlog/admin/blockedlog_list.php @@ -47,11 +47,17 @@ if ($search_showonlyerrors < 0) { $search_showonlyerrors = 0; } +$search_startyear = GETPOST('search_startyear', 'int'); +$search_startmonth = GETPOST('search_startmonth', 'int'); +$search_startday = GETPOST('search_startday', 'int'); +$search_endyear = GETPOST('search_endyear', 'int'); +$search_endmonth = GETPOST('search_endmonth', 'int'); +$search_endday = GETPOST('search_endday', 'int'); $search_id = GETPOST('search_id', 'alpha'); $search_fk_user = GETPOST('search_fk_user', 'intcomma'); $search_start = -1; -if (GETPOST('search_startyear') != '') { - $search_start = dol_mktime(0, 0, 0, GETPOST('search_startmonth'), GETPOST('search_startday'), GETPOST('search_startyear')); +if ($search_startyear != '') { + $search_start = dol_mktime(0, 0, 0, $search_startmonth, $search_startday, $search_startyear); } $search_end = -1; if (GETPOST('search_endyear') != '') { @@ -275,8 +281,9 @@ if (GETPOST('withtab', 'alpha')) { } else { $title = $langs->trans("BrowseBlockedLog"); } +$help_url="EN:Module_Unalterable_Archives_-_Logs|FR:Module_Archives_-_Logs_Inaltérable"; -llxHeader('', $langs->trans("BrowseBlockedLog")); +llxHeader('', $title, $help_url); $MAXLINES = 10000; @@ -320,22 +327,22 @@ if ($search_fk_user > 0) { $param .= '&search_fk_user='.urlencode($search_fk_user); } if ($search_startyear > 0) { - $param .= '&search_startyear='.urlencode(GETPOST('search_startyear', 'int')); + $param .= '&search_startyear='.urlencode($search_startyear); } if ($search_startmonth > 0) { - $param .= '&search_startmonth='.urlencode(GETPOST('search_startmonth', 'int')); + $param .= '&search_startmonth='.urlencode($search_startmonth); } if ($search_startday > 0) { - $param .= '&search_startday='.urlencode(GETPOST('search_startday', 'int')); + $param .= '&search_startday='.urlencode($search_startday); } if ($search_endyear > 0) { - $param .= '&search_endyear='.urlencode(GETPOST('search_endyear', 'int')); + $param .= '&search_endyear='.urlencode($search_endyear); } if ($search_endmonth > 0) { - $param .= '&search_endmonth='.urlencode(GETPOST('search_endmonth', 'int')); + $param .= '&search_endmonth='.urlencode($search_endmonth); } if ($search_endday > 0) { - $param .= '&search_endday='.urlencode(GETPOST('search_endday', 'int')); + $param .= '&search_endday='.urlencode($search_endday); } if ($search_showonlyerrors > 0) { $param .= '&search_showonlyerrors='.urlencode($search_showonlyerrors); diff --git a/htdocs/blockedlog/ajax/check_signature.php b/htdocs/blockedlog/ajax/check_signature.php index ba164e3e715..4d59b56a981 100644 --- a/htdocs/blockedlog/ajax/check_signature.php +++ b/htdocs/blockedlog/ajax/check_signature.php @@ -17,9 +17,9 @@ */ /** - * \file htdocs/blockedlog/ajax/block-info.php + * \file htdocs/blockedlog/ajax/check_signature.php * \ingroup blockedlog - * \brief block-info + * \brief This page is not used yet. */ @@ -38,13 +38,15 @@ if (!defined('NOREQUIREHTML')) { require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/geturl.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/blockedlog/class/blockedlog.class.php'; +require_once DOL_DOCUMENT_ROOT.'/blockedlog/class/authority.class.php'; + if (empty($conf->global->BLOCKEDLOG_AUTHORITY_URL)) { exit('BLOCKEDLOG_AUTHORITY_URL not set'); } -require_once DOL_DOCUMENT_ROOT.'/blockedlog/class/blockedlog.class.php'; -require_once DOL_DOCUMENT_ROOT.'/blockedlog/class/authority.class.php'; $auth = new BlockedLogAuthority($db); $auth->syncSignatureWithAuthority(); @@ -63,8 +65,11 @@ if (is_array($bocks)) { $hash = $auth->getBlockchainHash(); -$url = $conf->global->BLOCKEDLOG_AUTHORITY_URL.'/blockedlog/ajax/authority.php?s='.$auth->signature.'&h='.$hash; +// Call external authority +$url = $conf->global->BLOCKEDLOG_AUTHORITY_URL.'/blockedlog/ajax/authority.php?s='.urlencode($auth->signature).'&h='.urlencode($hash); + +$resarray = getURLContent($url, 'GET', '', 1, array(), array(), 2); +$res = $resarray['content']; -$res = file_get_contents($url); //echo $url; -echo $res; +echo dol_escape_htmltag($res); diff --git a/htdocs/blockedlog/class/blockedlog.class.php b/htdocs/blockedlog/class/blockedlog.class.php index 366d7042d77..a7be2fb3630 100644 --- a/htdocs/blockedlog/class/blockedlog.class.php +++ b/htdocs/blockedlog/class/blockedlog.class.php @@ -549,110 +549,111 @@ class BlockedLog $totalamount = 0; - if (!is_array($object->amounts) && $object->amount) { - $object->amounts = array($object->id => $object->amount); - } + // Loop on each invoice payment amount + if (is_array($object->amounts) && !empty($object->amounts)) { + $paymentpartnumber = 0; + foreach ($object->amounts as $objid => $amount) { + if (empty($amount)) { + continue; + } - $paymentpartnumber = 0; - foreach ($object->amounts as $objid => $amount) { - if (empty($amount)) { - continue; - } + $totalamount += $amount; - $totalamount += $amount; + $tmpobject = null; + if ($this->element == 'payment_supplier') { + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; + $tmpobject = new FactureFournisseur($this->db); + } elseif ($this->element == 'payment') { + include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $tmpobject = new Facture($this->db); + } elseif ($this->element == 'payment_donation') { + include_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; + $tmpobject = new Don($this->db); + } elseif ($this->element == 'payment_various') { + include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; + $tmpobject = new PaymentVarious($this->db); + } - $tmpobject = null; - if ($this->element == 'payment_supplier') { - include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; - $tmpobject = new FactureFournisseur($this->db); - } elseif ($this->element == 'payment') { - include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - $tmpobject = new Facture($this->db); - } elseif ($this->element == 'payment_donation') { - include_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; - $tmpobject = new Don($this->db); - } elseif ($this->element == 'payment_various') { - include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; - $tmpobject = new PaymentVarious($this->db); - } + if (!is_object($tmpobject)) { + continue; + } - if (!is_object($tmpobject)) { - continue; - } + $result = $tmpobject->fetch($objid); - $result = $tmpobject->fetch($objid); - - if ($result <= 0) { - $this->error = $tmpobject->error; - $this->errors = $tmpobject->errors; - dol_syslog("Failed to fetch object with id ".$objid, LOG_ERR); - return -1; - } - - $paymentpart = new stdClass(); - $paymentpart->amount = $amount; - - if (!in_array($this->element, array('payment_donation', 'payment_various'))) { - $result = $tmpobject->fetch_thirdparty(); - if ($result == 0) { - $this->error = 'Failed to fetch thirdparty for object with id '.$tmpobject->id; - $this->errors[] = $this->error; - dol_syslog("Failed to fetch thirdparty for object with id ".$tmpobject->id, LOG_ERR); - return -1; - } elseif ($result < 0) { + if ($result <= 0) { $this->error = $tmpobject->error; $this->errors = $tmpobject->errors; + dol_syslog("Failed to fetch object with id ".$objid, LOG_ERR); return -1; } - $paymentpart->thirdparty = new stdClass(); - foreach ($tmpobject->thirdparty as $key => $value) { - if (in_array($key, $arrayoffieldstoexclude)) { - continue; // Discard some properties - } - if (!in_array($key, array( - 'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode', - 'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur' - ))) { - continue; // Discard if not into a dedicated list - } - if (!is_object($value) && !is_null($value) && $value !== '') { - $paymentpart->thirdparty->{$key} = $value; - } - } - } + $paymentpart = new stdClass(); + $paymentpart->amount = $amount; - // Init object to avoid warnings - if ($this->element == 'payment_donation') { - $paymentpart->donation = new stdClass(); - } else { - $paymentpart->invoice = new stdClass(); - } + if (!in_array($this->element, array('payment_donation', 'payment_various'))) { + $result = $tmpobject->fetch_thirdparty(); + if ($result == 0) { + $this->error = 'Failed to fetch thirdparty for object with id '.$tmpobject->id; + $this->errors[] = $this->error; + dol_syslog("Failed to fetch thirdparty for object with id ".$tmpobject->id, LOG_ERR); + return -1; + } elseif ($result < 0) { + $this->error = $tmpobject->error; + $this->errors = $tmpobject->errors; + return -1; + } - if ($this->element != 'payment_various') { - foreach ($tmpobject as $key => $value) { - if (in_array($key, $arrayoffieldstoexclude)) { - continue; // Discard some properties - } - if (!in_array($key, array( - 'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public' - ))) { - continue; // Discard if not into a dedicated list - } - if (!is_object($value) && !is_null($value) && $value !== '') { - if ($this->element == 'payment_donation') { - $paymentpart->donation->{$key} = $value; - } elseif ($this->element == 'payment_various') { - $paymentpart->various->{$key} = $value; - } else { - $paymentpart->invoice->{$key} = $value; + $paymentpart->thirdparty = new stdClass(); + foreach ($tmpobject->thirdparty as $key => $value) { + if (in_array($key, $arrayoffieldstoexclude)) { + continue; // Discard some properties + } + if (!in_array($key, array( + 'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode', + 'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur' + ))) { + continue; // Discard if not into a dedicated list + } + if (!is_object($value) && !is_null($value) && $value !== '') { + $paymentpart->thirdparty->{$key} = $value; } } } - $paymentpartnumber++; // first payment will be 1 - $this->object_data->payment_part[$paymentpartnumber] = $paymentpart; + // Init object to avoid warnings + if ($this->element == 'payment_donation') { + $paymentpart->donation = new stdClass(); + } else { + $paymentpart->invoice = new stdClass(); + } + + if ($this->element != 'payment_various') { + foreach ($tmpobject as $key => $value) { + if (in_array($key, $arrayoffieldstoexclude)) { + continue; // Discard some properties + } + if (!in_array($key, array( + 'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public' + ))) { + continue; // Discard if not into a dedicated list + } + if (!is_object($value) && !is_null($value) && $value !== '') { + if ($this->element == 'payment_donation') { + $paymentpart->donation->{$key} = $value; + } elseif ($this->element == 'payment_various') { + $paymentpart->various->{$key} = $value; + } else { + $paymentpart->invoice->{$key} = $value; + } + } + } + + $paymentpartnumber++; // first payment will be 1 + $this->object_data->payment_part[$paymentpartnumber] = $paymentpart; + } } + } elseif (!empty($object->amount)) { + $totalamount = $object->amount; } $this->object_data->amount = $totalamount; @@ -777,10 +778,8 @@ class BlockedLog public function dolDecodeBlockedData($data, $mode = 0) { try { - //include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; //include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $aaa = unserialize($data); - //$aaa = unserialize($data); } catch (Exception $e) { //print $e->getErrs); } diff --git a/htdocs/bom/bom_agenda.php b/htdocs/bom/bom_agenda.php index bf65f40fe13..841086399c9 100644 --- a/htdocs/bom/bom_agenda.php +++ b/htdocs/bom/bom_agenda.php @@ -139,7 +139,7 @@ if ($object->id > 0) { // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; /* @@ -156,7 +156,7 @@ if ($object->id > 0) { if ($user->rights->bom->creer) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/bom/bom_card.php b/htdocs/bom/bom_card.php index fbd219a298b..c649b207ef5 100644 --- a/htdocs/bom/bom_card.php +++ b/htdocs/bom/bom_card.php @@ -71,6 +71,10 @@ if (empty($action) && empty($id) && empty($ref)) { // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once. +if ($object->id > 0) { + $object->calculateCosts(); +} + // Security check - Protection if external user //if ($user->socid > 0) accessforbidden(); @@ -105,15 +109,20 @@ if (empty($reshook)) { if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { $backtopage = $backurlforlist; } else { - $backtopage = dol_buildpath('/bom/bom_card.php', 1).'?id='.($id > 0 ? $id : '__ID__'); + $backtopage = DOL_URL_ROOT.'/bom/bom_card.php?id='.($id > 0 ? $id : '__ID__'); } } } $triggermodname = 'BOM_MODIFY'; // Name of trigger action code to execute when we modify record + // Actions cancel, add, update, delete or clone include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; + // The fetch/fetch_lines was redone into the inc.php so we must recall the calculateCosts() + if ($action == 'confirm_validate' && $object->id > 0) { + $object->calculateCosts(); + } // Actions when linking object each other include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; @@ -244,22 +253,6 @@ $title = $langs->trans('BOM'); $help_url ='EN:Module_BOM'; llxHeader('', $title, $help_url); -// Example : Adding jquery code -print ''; - - // Part to create if ($action == 'create') { print load_fiche_titre($langs->trans("NewBOM"), '', 'bom'); @@ -283,11 +276,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '  '; - print ''; // Cancel for create does not post form if we don't know the backtopage - print '
    '; + print $form->buttonsSaveCancel("Create"); print ''; } @@ -318,17 +307,13 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print '   '; - print '
    '; + print $form->buttonsSaveCancel("Create"); print ''; } // Part to show record if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { - $res = $object->fetch_optionals(); - $head = bomPrepareHead($object); print dol_get_fiche_head($head, 'card', $langs->trans("BillOfMaterials"), -1, 'bom'); @@ -472,7 +457,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; /* @@ -489,7 +474,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if ($permissiontoadd) { if ($action != 'classify') - $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); $morehtmlref.='
    '; @@ -548,10 +533,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea */ if (!empty($object->table_element_line)) { - print ' + print ' + '; @@ -617,7 +603,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Modify if ($object->status == $object::STATUS_DRAFT) { if ($permissiontoadd) { - print ''.$langs->trans("Modify").''."\n"; + print ''.$langs->trans("Modify").''."\n"; } else { print ''.$langs->trans('Modify').''."\n"; } @@ -637,24 +623,24 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Re-open if ($permissiontoadd && $object->status == $object::STATUS_CANCELED) { - print ''.$langs->trans("ReOpen").''."\n"; + print ''.$langs->trans("ReOpen").''."\n"; } // Create MO if ($conf->mrp->enabled) { if ($object->status == $object::STATUS_VALIDATED && !empty($user->rights->mrp->write)) { - print ''.$langs->trans("CreateMO").''."\n"; + print ''.$langs->trans("CreateMO").''."\n"; } } // Clone if ($permissiontoadd) { - print ''.$langs->trans("ToClone").''."\n"; + print ''.$langs->trans("ToClone").''."\n"; } // Close / Cancel if ($permissiontoadd && $object->status == $object::STATUS_VALIDATED) { - print ''.$langs->trans("Disable").''."\n"; + print ''.$langs->trans("Disable").''."\n"; } /* @@ -672,7 +658,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea */ if ($permissiontodelete) { - print ''.$langs->trans('Delete').''."\n"; + print ''.$langs->trans('Delete').''."\n"; } else { print ''.$langs->trans('Delete').''."\n"; } @@ -708,14 +694,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $MAXEVENT = 10; - $morehtmlright = ''; + $morehtmlright = ''; $morehtmlright .= $langs->trans("SeeAll"); $morehtmlright .= ''; // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; $formactions = new FormActions($db); - $somethingshown = $formactions->showactions($object, 'bom', $socid, 1, '', $MAXEVENT, '', $morehtmlright); + $somethingshown = $formactions->showactions($object, $object->element, $socid, 1, '', $MAXEVENT, '', $morehtmlright); print '
    '; } diff --git a/htdocs/bom/bom_document.php b/htdocs/bom/bom_document.php index dd0227e4305..c36ac32bb59 100644 --- a/htdocs/bom/bom_document.php +++ b/htdocs/bom/bom_document.php @@ -125,7 +125,7 @@ if ($object->id) { // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); diff --git a/htdocs/bom/bom_list.php b/htdocs/bom/bom_list.php index e8511ab6e5c..3cc0dc1753a 100644 --- a/htdocs/bom/bom_list.php +++ b/htdocs/bom/bom_list.php @@ -83,6 +83,10 @@ foreach ($object->fields as $key => $val) { if (GETPOST('search_'.$key, 'alpha') !== '') { $search[$key] = GETPOST('search_'.$key, 'alpha'); } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } } // List of fields to search into when doing a "search in all" @@ -93,27 +97,24 @@ foreach ($object->fields as $key => $val) { } } -// Definition of fields for list +// Definition of array of fields for columns $arrayfields = array(); foreach ($object->fields as $key => $val) { // If $val['visible']==0, then we never show the field if (!empty($val['visible'])) { - $arrayfields['t.'.$key] = array('label'=>$val['label'], 'checked'=>(($val['visible'] < 0) ? 0 : 1), 'enabled'=>($val['enabled'] && ($val['visible'] != 3)), 'position'=>$val['position']); + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); } } // Extra fields -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label']) > 0) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - if (!empty($extrafields->attributes[$object->table_element]['list'][$key])) { - $arrayfields["ef.".$key] = array( - 'label'=>$extrafields->attributes[$object->table_element]['label'][$key], - 'checked'=>(($extrafields->attributes[$object->table_element]['list'][$key] < 0) ? 0 : 1), - 'position'=>$extrafields->attributes[$object->table_element]['pos'][$key], - 'enabled'=>(abs($extrafields->attributes[$object->table_element]['list'][$key]) != 3 && $extrafields->attributes[$object->table_element]['perms'][$key]) - ); - } - } -} +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); @@ -134,7 +135,8 @@ $result = restrictedArea($user, 'bom'); */ if (GETPOST('cancel', 'alpha')) { - $action = 'list'; $massaction = ''; + $action = 'list'; + $massaction = ''; } if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; @@ -154,8 +156,12 @@ if (empty($reshook)) { if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers foreach ($object->fields as $key => $val) { $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } } - $toselect = ''; + $toselect = array(); $search_array_options = array(); } if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') @@ -279,22 +285,19 @@ $form = new Form($db); $now = dol_now(); $help_url = 'EN:Module_BOM'; - $title = $langs->trans('ListOfBOMs'); - -llxHeader('', $title, $help_url); +$morejs = array(); +$morecss = array(); // Build and execute select // -------------------------------------------------------------------- $sql = 'SELECT '; -foreach ($object->fields as $key => $val) { - $sql .= 't.'.$key.', '; -} +$sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key.' ' : ''); } } // Add fields from hooks @@ -303,33 +306,52 @@ $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $obje $sql .= preg_replace('/^,/', '', $hookmanager->resPrint); $sql = preg_replace('/,\s*$/', '', $sql); $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; if ($object->ismultientitymanaged == 1) { $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; } else { $sql .= " WHERE 1 = 1"; } foreach ($search as $key => $val) { - if ($key == 'status' && $search[$key] == -1) { - continue; - } - $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if (strpos($object->fields[$key]['type'], 'integer:') === 0) { - if ($search[$key] == '-1') { - $search[$key] = ''; + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } } - $mode_search = 2; - } - if ($search[$key] != '') { - $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); } } if ($search_all) { $sql .= natural_search(array_keys($fieldstosearchall), $search_all); } +//$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); // Add where from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; // Add where from hooks @@ -338,18 +360,20 @@ $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $objec $sql .= $hookmanager->resPrint; /* If a group by is required -$sql.= " GROUP BY " +$sql.= " GROUP BY "; foreach($object->fields as $key => $val) { - $sql.='t.'.$key.', '; + $sql .= "t.".$key.", "; } // Add fields from extrafields if (! empty($extrafields->attributes[$object->table_element]['label'])) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } } // Add where from hooks $parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters); // Note that $action and $object may have been modified by hook +$reshook=$hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql=preg_replace('/,\s*$/','', $sql); */ @@ -395,7 +419,7 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ // Output page // -------------------------------------------------------------------- -// llxHeader('', $title, $help_url); +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); $arrayofselected = is_array($toselect) ? $toselect : array(); @@ -420,6 +444,10 @@ if ($optioncss != '') { } // Add $param from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; // List of mass actions available $arrayofmassactions = array( @@ -435,7 +463,7 @@ if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'pr } $massactionbutton = $form->selectMassAction('', $arrayofmassactions); -print ''; +print ''."\n"; if ($optioncss != '') { print ''; } @@ -444,11 +472,12 @@ print ''; print ''; print ''; +print ''; print ''; $newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/bom/bom_card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $user->rights->bom->write); -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bom', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); // Add code for pre mass action (confirmation or email presend form) $topicmail = "SendBillOfMaterialsRef"; @@ -508,11 +537,18 @@ foreach ($object->fields as $key => $val) { if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { - print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth150', 1); - } elseif (strpos($val['type'], 'integer:') === 0) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1); - } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { - print ''; + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; } print ''; } @@ -563,7 +599,7 @@ print ''."\n"; // Detect if we need a fetch on each output line $needToFetchEachLine = 0; -if (is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { if (preg_match('/\$object/', $val)) { $needToFetchEachLine++; // There is at least one compute field that use $object @@ -576,6 +612,7 @@ if (is_array($extrafields->attributes[$object->table_element]['computed']) && co // -------------------------------------------------------------------- $i = 0; $totalarray = array(); +$totalarray['nbfield'] = 0; while ($i < ($limit ? min($num, $limit) : $num)) { $obj = $db->fetch_object($resql); if (empty($obj)) { @@ -601,17 +638,16 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; } - if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status' && empty($val['arrayofkeyval'])) { + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } - if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) { - $cssforfield = 'tdoverflowmax100'; - } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -619,7 +655,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/bom/bom_note.php b/htdocs/bom/bom_note.php index 539eb654751..8ace40cc900 100644 --- a/htdocs/bom/bom_note.php +++ b/htdocs/bom/bom_note.php @@ -70,7 +70,13 @@ restrictedArea($user, 'bom', $object->id, 'bom_bom', '', '', 'rowid', $isdraft); * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -94,7 +100,7 @@ if ($id > 0 || !empty($ref)) { // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php index 728bdef6cf6..a4ab56c2a66 100644 --- a/htdocs/bom/class/bom.class.php +++ b/htdocs/bom/class/bom.class.php @@ -26,6 +26,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; //require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; //require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + /** * Class for BOM */ @@ -93,26 +94,26 @@ class BOM extends CommonObject * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. */ public $fields = array( - 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",), + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>5), 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'noteditable'=>1, 'visible'=>4, 'position'=>10, 'notnull'=>1, 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of BOM", 'showoncombobox'=>'1',), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'notnull'=>1, 'searchall'=>1, 'showoncombobox'=>'2', 'autofocusoncreate'=>1), - 'bomtype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>33, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing', 1=>'Disassemble'), 'css'=>'minwidth150', 'csslist'=>'minwidth150 center'), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'notnull'=>1, 'searchall'=>1, 'showoncombobox'=>'2', 'autofocusoncreate'=>1, 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax200'), + 'bomtype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>33, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing', 1=>'Disassemble'), 'css'=>'minwidth175', 'csslist'=>'minwidth175 center'), //'bomtype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>-1, 'position'=>32, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing')), - 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:1:(finished IS NULL or finished <> 0)', 'label'=>'Product', 'picto'=>'product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'help'=>'ProductBOMHelp', 'css'=>'maxwidth500'), + 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:1:(finished IS NULL or finished <> 0)', 'label'=>'Product', 'picto'=>'product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'help'=>'ProductBOMHelp', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax100'), 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>-1, 'position'=>60, 'notnull'=>-1,), 'qty' => array('type'=>'real', 'label'=>'Quantity', 'enabled'=>1, 'visible'=>1, 'default'=>1, 'position'=>55, 'notnull'=>1, 'isameasure'=>'1', 'css'=>'maxwidth75imp'), //'efficiency' => array('type'=>'real', 'label'=>'ManufacturingEfficiency', 'enabled'=>1, 'visible'=>-1, 'default'=>1, 'position'=>100, 'notnull'=>0, 'css'=>'maxwidth50imp', 'help'=>'ValueOfMeansLossForProductProduced'), 'duration' => array('type'=>'duration', 'label'=>'EstimatedDuration', 'enabled'=>1, 'visible'=>-1, 'position'=>101, 'notnull'=>-1, 'css'=>'maxwidth50imp', 'help'=>'EstimatedDurationDesc'), - 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>1, 'visible'=>-1, 'position'=>102, 'css'=>'maxwidth500'), + 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>1, 'visible'=>-1, 'position'=>102, 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax100'), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>-2, 'position'=>161, 'notnull'=>-1,), 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>-2, 'position'=>162, 'notnull'=>-1,), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>300, 'notnull'=>1,), 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'position'=>501, 'notnull'=>1,), 'date_valid' => array('type'=>'datetime', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-2, 'position'=>502, 'notnull'=>0,), - 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserCreation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid',), - 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1,), - 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>512, 'notnull'=>0,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserCreation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax100'), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1, 'csslist'=>'tdoverflowmax100'), + 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>512, 'notnull'=>0, 'csslist'=>'tdoverflowmax100'), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,), 'model_pdf' =>array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'position'=>1010), 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>2, 'position'=>1000, 'notnull'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Enabled', 9=>'Disabled')), @@ -380,7 +381,7 @@ class BOM extends CommonObject if ($result > 0 && !empty($this->table_element_line)) { $this->fetchLines(); } - $this->calculateCosts(); + //$this->calculateCosts(); // This consume a high number of subrequests. Do not call it into fetch but when you need it. return $result; } @@ -430,25 +431,25 @@ class BOM extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (strpos($key, 'date') !== false) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); @@ -785,8 +786,11 @@ class BOM extends CommonObject } $label .= '
    '; $label .= ''.$langs->trans('Ref').': '.$this->ref; + if (isset($this->label)) { + $label .= '
    '.$langs->trans('Label').': '.$this->label; + } - $url = dol_buildpath('/bom/bom_card.php', 1).'?id='.$this->id; + $url = DOL_URL_ROOT.'/bom/bom_card.php?id='.$this->id; if ($option != 'nolink') { // Add param to save lastsearch_values or not @@ -942,7 +946,7 @@ class BOM extends CommonObject $this->lines = array(); $objectline = new BOMLine($this->db); - $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_bom = '.$this->id)); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_bom = '.((int) $this->id))); if (is_numeric($result)) { $this->error = $this->error; @@ -1031,7 +1035,8 @@ class BOM extends CommonObject } /** - * BOM costs calculation based on cost_price or pmp of each BOM line + * BOM costs calculation based on cost_price or pmp of each BOM line. + * Set the property ->total_cost and ->unit_cost of BOM. * * @return void */ @@ -1041,30 +1046,36 @@ class BOM extends CommonObject $this->unit_cost = 0; $this->total_cost = 0; - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; - $productFournisseur = new ProductFournisseur($this->db); - - foreach ($this->lines as &$line) { + if (is_array($this->lines) && count($this->lines)) { + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; + $productFournisseur = new ProductFournisseur($this->db); $tmpproduct = new Product($this->db); - $result = $tmpproduct->fetch($line->fk_product); - if ($result < 0) { - $this->error = $tmpproduct->error; - return -1; - } - $line->unit_cost = price2num((!empty($tmpproduct->cost_price)) ? $tmpproduct->cost_price : $tmpproduct->pmp); - if (empty($line->unit_cost)) { - if ($productFournisseur->find_min_price_product_fournisseur($line->fk_product) > 0) { - $line->unit_cost = $productFournisseur->fourn_unitprice; + + foreach ($this->lines as &$line) { + $tmpproduct->cost_price = 0; + $tmpproduct->pmp = 0; + + $result = $tmpproduct->fetch($line->fk_product, '', '', '', 0, 1, 1); // We discard selling price and language loading + if ($result < 0) { + $this->error = $tmpproduct->error; + return -1; } + $line->unit_cost = price2num((!empty($tmpproduct->cost_price)) ? $tmpproduct->cost_price : $tmpproduct->pmp); + if (empty($line->unit_cost)) { + if ($productFournisseur->find_min_price_product_fournisseur($line->fk_product) > 0) { + $line->unit_cost = $productFournisseur->fourn_unitprice; + } + } + + $line->total_cost = price2num($line->qty * $line->unit_cost, 'MT'); + + $this->total_cost += $line->total_cost; } - $line->total_cost = price2num($line->qty * $line->unit_cost, 'MT'); - $this->total_cost += $line->total_cost; - } - - $this->total_cost = price2num($this->total_cost, 'MT'); - if ($this->qty) { - $this->unit_cost = price2num($this->total_cost / $this->qty, 'MU'); + $this->total_cost = price2num($this->total_cost, 'MT'); + if ($this->qty) { + $this->unit_cost = price2num($this->total_cost / $this->qty, 'MU'); + } } } } @@ -1284,25 +1295,25 @@ class BOMLine extends CommonObjectLine if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (strpos($key, 'date') !== false) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' AND ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); @@ -1379,7 +1390,7 @@ class BOMLine extends CommonObjectLine $label .= '
    '; $label .= ''.$langs->trans('Ref').': '.$this->ref; - $url = dol_buildpath('/bom/bomline_card.php', 1).'?id='.$this->id; + $url = DOL_URL_ROOT.'/bom/bomline_card.php?id='.$this->id; if ($option != 'nolink') { // Add param to save lastsearch_values or not diff --git a/htdocs/bom/lib/bom.lib.php b/htdocs/bom/lib/bom.lib.php index 8f3cadeedc2..edd9bd69ef4 100644 --- a/htdocs/bom/lib/bom.lib.php +++ b/htdocs/bom/lib/bom.lib.php @@ -54,7 +54,9 @@ function bomAdminPrepareHead() //$this->tabs = array( // 'entity:-tabname:Title:@bom:/bom/mypage.php?id=__ID__' //); // to remove a tab - complete_head_from_modules($conf, $langs, null, $head, $h, 'bom'); + complete_head_from_modules($conf, $langs, null, $head, $h, 'bom@mrp'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'bom@mrp', 'remove'); return $head; } diff --git a/htdocs/bom/tpl/linkedobjectblock.tpl.php b/htdocs/bom/tpl/linkedobjectblock.tpl.php index fcba37105d3..c42da9bdb19 100644 --- a/htdocs/bom/tpl/linkedobjectblock.tpl.php +++ b/htdocs/bom/tpl/linkedobjectblock.tpl.php @@ -24,7 +24,7 @@ if (empty($conf) || !is_object($conf)) { exit; } -print "\n"; +print "\n"; global $user, $db; global $noMoreLinkedObjectBlockAfter; @@ -73,7 +73,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) { echo ''; // For now, shipments must stay linked to order, so link is not deletable if ($object->element != 'shipping') { - echo ''.img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink').''; + echo ''.img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink').''; } echo ''; echo "\n"; diff --git a/htdocs/bom/tpl/objectline_create.tpl.php b/htdocs/bom/tpl/objectline_create.tpl.php index 7cc2873b261..210ab695ec8 100644 --- a/htdocs/bom/tpl/objectline_create.tpl.php +++ b/htdocs/bom/tpl/objectline_create.tpl.php @@ -138,7 +138,7 @@ print ''; $coldisplay += $colspan; print ''; -print ''; +print ''; print ''; print ''; diff --git a/htdocs/bom/tpl/objectline_view.tpl.php b/htdocs/bom/tpl/objectline_view.tpl.php index fff9d077a08..9ef77fb0d98 100644 --- a/htdocs/bom/tpl/objectline_view.tpl.php +++ b/htdocs/bom/tpl/objectline_view.tpl.php @@ -121,7 +121,7 @@ if ($this->status == 0 && ($object_rights->write) && $action != 'selectlines') { $coldisplay++; if (($line->info_bits & 2) == 2 || !empty($disableedit)) { } else { - print 'id.'">'.img_edit().''; + print 'id.'">'.img_edit().''; } print ''; @@ -129,7 +129,7 @@ if ($this->status == 0 && ($object_rights->write) && $action != 'selectlines') { $coldisplay++; if (($line->fk_prev_id == null) && empty($disableremove)) { //La suppression n'est autorisée que si il n'y a pas de ligne dans une précédente situation - print 'id.'">'; + print 'id.'">'; print img_delete(); print ''; } diff --git a/htdocs/bookmarks/admin/bookmark.php b/htdocs/bookmarks/admin/bookmark.php index 5f30db5d7f2..3d5c8eb3bc0 100644 --- a/htdocs/bookmarks/admin/bookmark.php +++ b/htdocs/bookmarks/admin/bookmark.php @@ -78,7 +78,7 @@ print ''; print $langs->trans("NbOfBoomarkToShow").''; print ''; print ''; -print '
    '; +print '
    '; // End of page llxFooter(); diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php index 4c52182cff7..d24ba63ef55 100644 --- a/htdocs/bookmarks/bookmarks.lib.php +++ b/htdocs/bookmarks/bookmarks.lib.php @@ -72,10 +72,12 @@ function printDropdownBookmarksList() // Url to go on create new bookmark page $newbtn = ''; if (!empty($user->rights->bookmark->creer)) { - //$urltoadd=DOL_URL_ROOT.'/bookmarks/card.php?action=create&urlsource='.urlencode($url).'&url='.urlencode($url); - $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); - $newbtn .= ''; - $newbtn .= img_picto('', 'add', '', false, 0, 0, '', 'paddingright').dol_escape_htmltag($langs->trans('AddThisPageToBookmarks')).''; + if (!preg_match('/bookmarks\/card.php/', $_SERVER['PHP_SELF'])) { + //$urltoadd=DOL_URL_ROOT.'/bookmarks/card.php?action=create&urlsource='.urlencode($url).'&url='.urlencode($url); + $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); + $newbtn .= ''; + $newbtn .= img_picto('', 'add', '', false, 0, 0, '', 'paddingright').dol_escape_htmltag($langs->trans('AddThisPageToBookmarks')).''; + } } // Menu with list of bookmarks @@ -105,9 +107,11 @@ function printDropdownBookmarksList() $searchForm .= dol_escape_htmltag($user->rights->bookmark->creer ? $langs->trans('EditBookmarks') : $langs->trans('ListOfBookmarks')).'...'; // Url to go on create new bookmark page if (!empty($user->rights->bookmark->creer)) { - $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); - $searchForm .= ''; + if (!preg_match('/bookmarks\/card.php/', $_SERVER['PHP_SELF'])) { + $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); + $searchForm .= ''; + } } $i = 0; while ((empty($conf->global->BOOKMARKS_SHOW_IN_MENU) || $i < $conf->global->BOOKMARKS_SHOW_IN_MENU) && $obj = $db->fetch_object($resql)) { diff --git a/htdocs/bookmarks/card.php b/htdocs/bookmarks/card.php index 1094eabf0c6..74d2284c4b5 100644 --- a/htdocs/bookmarks/card.php +++ b/htdocs/bookmarks/card.php @@ -40,7 +40,7 @@ $action = GETPOST("action", "alpha"); $title = (string) GETPOST("title", "alpha"); $url = (string) GETPOST("url", "alpha"); $urlsource = GETPOST("urlsource", "alpha"); -$target = GETPOST("target", "alpha"); +$target = GETPOST("target", "int"); $userid = GETPOST("userid", "int"); $position = GETPOST("position", "int"); $backtopage = GETPOST('backtopage', 'alpha'); @@ -154,9 +154,9 @@ if ($action == 'create') { print ''; print ''; - print load_fiche_titre($langs->trans("NewBookmark")); + print load_fiche_titre($langs->trans("NewBookmark"), '', 'bookmark'); - print dol_get_fiche_head($head, $hselected, $langs->trans("Bookmark"), -1, 'bookmark'); + print dol_get_fiche_head(null, 'bookmark', '', 0, ''); print ''; @@ -164,32 +164,29 @@ if ($action == 'create') { dol_set_focus('#titlebookmark'); // Url - print ''; + print ''; // Target print ''; // Owner print ''; + print img_picto('', 'user').' '.$form->select_dolusers(GETPOSTISSET('userid') ? GETPOST('userid', 'int') : $user->id, 'userid', 0, '', 0, ($user->admin ? '' : array($user->id)), '', 0, 0, 0, '', ($user->admin) ? 1 : 0, '', 'maxwidth300 widthcentpercentminusx'); + print ''; // Position print ''; + print 'position).'">'; + print ''; print '
    '.$langs->trans("UrlOrLink").''.$langs->trans("UseAnExternalHttpLinkOrRelativeDolibarrLink").'
    '.$langs->trans("UrlOrLink").''.$langs->trans("UseAnExternalHttpLinkOrRelativeDolibarrLink").'
    '.$langs->trans("BehaviourOnClick").''; $liste = array(0=>$langs->trans("ReplaceWindow"), 1=>$langs->trans("OpenANewWindow")); - print $form->selectarray('target', $liste, 1); + print $form->selectarray('target', $liste, GETPOSTISSET('target') ? GETPOST('target', 'int') : 1, 0, 0, 0, '', 0, 0, 0, '', 'maxwidth300'); print ''.$langs->trans("ChooseIfANewWindowMustBeOpenedOnClickOnBookmark").'
    '.$langs->trans("Visibility").''; - print img_picto('', 'user').' '.$form->select_dolusers(GETPOSTISSET('userid') ? GETPOST('userid', 'int') : $user->id, 'userid', 0, '', 0, ($user->admin ? '' : array($user->id)), '', 0, 0, 0, '', ($user->admin) ? 1 : 0, '', 'maxwidth300'); - print ' 
    '.$langs->trans("Position").''; - print 'position).'">'; - print ' 
    '; print dol_get_fiche_end(); - print '
    '; - print '   '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("CreateBookmark"); print ''; } @@ -301,7 +298,8 @@ if ($id > 0 && !preg_match('/^add/i', $action)) { print dol_get_fiche_end(); if ($action == 'edit') { - print '
       
    '; + print $form->buttonsSaveCancel(); + print ''; } @@ -312,12 +310,12 @@ if ($id > 0 && !preg_match('/^add/i', $action)) { // Edit if ($user->rights->bookmark->creer && $action != 'edit') { - print ''.$langs->trans("Edit").''."\n"; + print ''.$langs->trans("Edit").''."\n"; } // Remove if ($user->rights->bookmark->supprimer && $action != 'edit') { - print ''.$langs->trans("Delete").''."\n"; + print ''.$langs->trans("Delete").''."\n"; } print '
    '; diff --git a/htdocs/cashdesk/admin/cashdesk.php b/htdocs/cashdesk/admin/cashdesk.php deleted file mode 100644 index eee5cac755f..00000000000 --- a/htdocs/cashdesk/admin/cashdesk.php +++ /dev/null @@ -1,191 +0,0 @@ - - * Copyright (C) 2011-2017 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/admin/cashdesk.php - * \ingroup cashdesk - * \brief Setup page for cashdesk module - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; - -// If socid provided by ajax company selector -if (!empty($_REQUEST['CASHDESK_ID_THIRDPARTY_id'])) { - $_GET['CASHDESK_ID_THIRDPARTY'] = GETPOST('CASHDESK_ID_THIRDPARTY_id', 'alpha'); - $_POST['CASHDESK_ID_THIRDPARTY'] = GETPOST('CASHDESK_ID_THIRDPARTY_id', 'alpha'); - $_REQUEST['CASHDESK_ID_THIRDPARTY'] = GETPOST('CASHDESK_ID_THIRDPARTY_id', 'alpha'); -} - -// Security check -if (!$user->admin) { - accessforbidden(); -} - -// Load translation files required by the page -$langs->loadLangs(array("admin", "cashdesk")); - - -/* - * Actions - */ - -if (GETPOST('action', 'alpha') == 'set') { - $db->begin(); - - if (GETPOST('socid', 'int') < 0) { - $_POST["socid"] = ''; - } - - $res = dolibarr_set_const($db, "CASHDESK_ID_THIRDPARTY", (GETPOST('socid', 'int') > 0 ? GETPOST('socid', 'int') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CASH", (GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CHEQUE", (GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CB", (GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_WAREHOUSE", (GETPOST('CASHDESK_ID_WAREHOUSE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_WAREHOUSE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_NO_DECREASE_STOCK", GETPOST('CASHDESK_NO_DECREASE_STOCK', 'alpha'), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_SERVICES", GETPOST('CASHDESK_SERVICES', 'alpha'), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_DOLIBAR_RECEIPT_PRINTER", GETPOST('CASHDESK_DOLIBAR_RECEIPT_PRINTER', 'alpha'), 'chaine', 0, '', $conf->entity); - - dol_syslog("admin/cashdesk: level ".GETPOST('level', 'alpha')); - - if (!($res > 0)) { - $error++; - } - - if (!$error) { - $db->commit(); - setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); - } else { - $db->rollback(); - setEventMessages($langs->trans("Error"), null, 'errors'); - } -} - -/* - * View - */ - -$form = new Form($db); -$formproduct = new FormProduct($db); - -llxHeader('', $langs->trans("CashDeskSetup")); - -$linkback = ''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("CashDeskSetup").' (SimplePOS)', $linkback, 'title_setup'); -print '
    '; - - -// Mode -print '
    '; -print ''; -print ''; - -if (!empty($conf->service->enabled)) { - print ''; - print ''; - print ''; - print "\n"; - - print '\n"; - - print '
    '.$langs->trans("Parameters").''.$langs->trans("Value").'
    '; - print $langs->trans("CashdeskShowServices"); - print ''; - print $form->selectyesno("CASHDESK_SERVICES", $conf->global->CASHDESK_SERVICES, 1); - print "
    '; - - print '
    '; -} - - -print ''; -print ''; -print ''; -print "\n"; - -print ''; -print ''; -if (!empty($conf->banque->enabled)) { - print ''; - print ''; - - - print ''; - print ''; - - - print ''; - print ''; -} - -if (!empty($conf->stock->enabled)) { - print ''; // Force warehouse (this is not a default value) - print ''; - - $disabled = $conf->global->CASHDESK_NO_DECREASE_STOCK; - - - print ''; // Force warehouse (this is not a default value) - print ''; -} - -// Use Dolibarr Receipt Printer -if (!empty($conf->receiptprinter->enabled)) { - print '\n"; -} - -print '
    '.$langs->trans("Terminal").' 0'.$langs->trans("Value").'
    '.$langs->trans("CashDeskThirdPartyForSell").''; -print $form->select_company($conf->global->CASHDESK_ID_THIRDPARTY, 'socid', '(s.client in (1,3) AND s.status = 1)', 1, 0, 0, array(), 0); -print '
    '.$langs->trans("CashDeskBankAccountForSell").''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CASH, 'CASHDESK_ID_BANKACCOUNT_CASH', 0, "courant=2", 1); - print '
    '.$langs->trans("CashDeskBankAccountForCheque").''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE, 'CASHDESK_ID_BANKACCOUNT_CHEQUE', 0, "courant=1", 1); - print '
    '.$langs->trans("CashDeskBankAccountForCB").''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CB, 'CASHDESK_ID_BANKACCOUNT_CB', 0, "courant=1", 1); - print '
    '.$langs->trans("CashDeskDoNotDecreaseStock").''; - if (empty($conf->productbatch->enabled)) { - print $form->selectyesno('CASHDESK_NO_DECREASE_STOCK', $conf->global->CASHDESK_NO_DECREASE_STOCK, 1); - } else { - if (!$conf->global->CASHDESK_NO_DECREASE_STOCK) { - $res = dolibarr_set_const($db, "CASHDESK_NO_DECREASE_STOCK", 1, 'chaine', 0, '', $conf->entity); - } - print $langs->trans("Yes").'
    '; - print ''.$langs->trans('StockDecreaseForPointOfSaleDisabledbyBatch').''; - } - print '
    '.$langs->trans("CashDeskIdWareHouse").''; - if (!$disabled) { - print $formproduct->selectWarehouses($conf->global->CASHDESK_ID_WAREHOUSE, 'CASHDESK_ID_WAREHOUSE', '', 1, $disabled); - print ' ('.$langs->trans("Create").')'; - } else { - print ''.$langs->trans("StockDecreaseForPointOfSaleDisabled").''; - } - print '
    '; - print $langs->trans("DolibarrReceiptPrinter").' ('.$langs->trans("FeatureNotYetAvailable").')'; - print ''; - print $form->selectyesno("CASHDESK_DOLIBAR_RECEIPT_PRINTER", $conf->global->CASHDESK_DOLIBAR_RECEIPT_PRINTER, 1); - print "
    '; -print '
    '; - -print '
    '; - -print "
    \n"; - -// End of page -llxFooter(); -$db->close(); diff --git a/htdocs/cashdesk/affContenu.php b/htdocs/cashdesk/affContenu.php deleted file mode 100644 index d8e31f3b9c9..00000000000 --- a/htdocs/cashdesk/affContenu.php +++ /dev/null @@ -1,100 +0,0 @@ - - * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/affContenu.php - * \ingroup cashdesk - * \brief Include to show main page for cashdesk module - */ - -require_once 'class/Facturation.class.php'; - -// Si nouvelle vente, reinitialisation des donnees (destruction de l'objet et vidage de la table contenant la liste des articles) -if (GETPOST('id', 'int') == 'NOUV') { - unset($_SESSION['serObjFacturation']); - unset($_SESSION['poscart']); -} - -// Recuperation, s'il existe, de l'objet contenant les infos de la vente en cours ... -if (isset($_SESSION['serObjFacturation'])) { - $obj_facturation = unserialize($_SESSION['serObjFacturation']); - unset($_SESSION['serObjFacturation']); -} else { - // ... sinon, c'est une nouvelle vente - $obj_facturation = new Facturation(); -} - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -// $obj_facturation contains data for all invoice total + selection of current product - -$obj_facturation->calculTotaux(); // Redefine prix_total_ttc, prix_total_ht et montant_tva from $_SESSION['poscart'] - -$total_ttc = $obj_facturation->amountWithTax(); - -/*var_dump($obj_facturation); -var_dump($_SESSION['poscart']); -var_dump($total_ttc); -exit;*/ - - -// Left area with selected articles (area for article, amount and payments) -print '
    '; -print '
    '; - -$page = GETPOST('menutpl', 'alpha'); -if (empty($page)) { - $page = 'facturation'; -} - -if (in_array( - $page, - array( - 'deconnexion', - 'index', 'index_verif', 'facturation', 'facturation_verif', 'facturation_dhtml', - 'validation', 'validation_ok', 'validation_ticket', 'validation_verif', - ) -)) { - include $page.'.php'; -} else { - dol_print_error('', 'menu param '.$page.' is not inside allowed list'); -} - -print '
    '; -print '
    '; - - - -// Right area with selected articles (shopping cart) -print '
    '; -print '
    '; - -require 'tpl/liste_articles.tpl.php'; - -print '
    '; -print '
    '; - -$_SESSION['serObjFacturation'] = serialize($obj_facturation); diff --git a/htdocs/cashdesk/affIndex.php b/htdocs/cashdesk/affIndex.php deleted file mode 100644 index a352649feb4..00000000000 --- a/htdocs/cashdesk/affIndex.php +++ /dev/null @@ -1,78 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/affIndex.php - * \ingroup cashdesk - * \brief First page of point of sale module - */ -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/keypad.php'; - -$error = GETPOST('error'); - -// Test if already logged -if ($_SESSION['uid'] <= 0) { - header('Location: index.php'); - exit; -} - -// Load translation files required by the page -$langs->loadLangs(array("companies", "compta", "cashdesk")); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -$form = new Form($db); - -$arrayofjs = array(); -$arrayofcss = array('/cashdesk/css/style.css'); - -top_htmlhead($head, $langs->trans("CashDesk"), 0, 0, $arrayofjs, $arrayofcss); - -print ''."\n"; - -if (!empty($error)) { - dol_htmloutput_events(); -} - -print '
    '."\n"; -print '
    '."\n"; -print '
    '."\n"; - -print ''."\n"; - -print '
    '."\n"; -include_once 'affContenu.php'; -print '
    '."\n"; - -include_once 'affPied.php'; - -print '
    '."\n"; -print ''."\n"; diff --git a/htdocs/cashdesk/affPied.php b/htdocs/cashdesk/affPied.php deleted file mode 100644 index 6481a0c2aff..00000000000 --- a/htdocs/cashdesk/affPied.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/affPied.php - * \ingroup cashdesk - * \brief Bottom of main page of point of sale module - */ - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - -?> - -
    -use_javascript_ajax) && empty($conf->dol_no_mouse_hover)) { - print "\n\n"; - print '' . "\n"; -} - -printCommonFooter('private'); -?> -
    diff --git a/htdocs/cashdesk/class/Auth.class.php b/htdocs/cashdesk/class/Auth.class.php deleted file mode 100644 index 23fa4d6d0a1..00000000000 --- a/htdocs/cashdesk/class/Auth.class.php +++ /dev/null @@ -1,144 +0,0 @@ - - * Copyright (C) 2008-2011 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -/** - * Class ot manage authentication for pos module (cashdesk) - */ -class Auth -{ - protected $db; - - private $login; - private $passwd; - - private $reponse; - - public $sqlQuery; - - /** - * Enter description here ... - * - * @param DoliDB $db Database handler - * @return void - */ - public function __construct($db) - { - $this->db = $db; - $this->reponse(null); - } - - /** - * Enter description here ... - * - * @param string $aLogin Login - * @return void - */ - public function login($aLogin) - { - $this->login = $aLogin; - } - - /** - * Enter description here ... - * - * @param string $aPasswd Password - * @return void - */ - public function passwd($aPasswd) - { - $this->passwd = $aPasswd; - } - - /** - * Enter description here ... - * - * @param string $aReponse Response - * @return void - */ - public function reponse($aReponse) - { - $this->reponse = $aReponse; - } - - /** - * Validate login/pass - * - * @param string $aLogin Login - * @param string $aPasswd Password - * @return int 0 or 1 - */ - public function verif($aLogin, $aPasswd) - { - global $conf, $langs; - global $dolibarr_main_authentication, $dolibarr_auto_user; - - $ret = -1; - - $login = ''; - - $test = true; - - // Authentication mode - if (empty($dolibarr_main_authentication)) { - $dolibarr_main_authentication = 'http,dolibarr'; - } - // Authentication mode: forceuser - if ($dolibarr_main_authentication == 'forceuser' && empty($dolibarr_auto_user)) { - $dolibarr_auto_user = 'auto'; - } - // Set authmode - $authmode = explode(',', $dolibarr_main_authentication); - - // No authentication mode - if (!count($authmode)) { - $langs->load('main'); - dol_print_error('', $langs->trans("ErrorConfigParameterNotDefined", 'dolibarr_main_authentication')); - exit; - } - - $usertotest = $aLogin; - $passwordtotest = $aPasswd; - $entitytotest = $conf->entity; - - // Validation tests user / password - // If ok, the variable will be initialized login - // If error, we will put error message in session under the name dol_loginmesg - $goontestloop = false; - if (isset($_SERVER["REMOTE_USER"]) && in_array('http', $authmode)) { - $goontestloop = true; - } - if (isset($aLogin) || GETPOST('openid_mode', 'alpha', 1)) { - $goontestloop = true; - } - - if ($test && $goontestloop) { - include_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; - $login = checkLoginPassEntity($usertotest, $passwordtotest, $entitytotest, $authmode); - if ($login) { - $this->login($aLogin); - $this->passwd($aPasswd); - $ret = 0; - } else { - $ret = -1; - } - } - - return $ret; - } -} diff --git a/htdocs/cashdesk/class/Facturation.class.php b/htdocs/cashdesk/class/Facturation.class.php deleted file mode 100644 index 339edce5f03..00000000000 --- a/htdocs/cashdesk/class/Facturation.class.php +++ /dev/null @@ -1,558 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2010 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - */ - -include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; - - -/** - * Class to manage invoices for pos module (cashdesk) - */ -class Facturation -{ - /** - * Attributs "volatiles" : reinitialises apres chaque traitement d'un article - *

    Attributs "volatiles" : reinitialises apres chaque traitement d'un article

    - * int $id => 'rowid' du produit dans llx_product - * string $ref => 'ref' du produit dans llx_product - * int $qte => Quantite pour le produit en cours de traitement - * int $stock => Stock theorique pour le produit en cours de traitement - * int $remise_percent => Remise en pourcent sur le produit en cours - * int $montant_remise => Remise en pourcent sur le produit en cours - * int $prix => Prix HT du produit en cours - * int $tva => 'rowid' du taux de tva dans llx_c_tva - */ - - /** - * @var int ID - */ - public $id; - - protected $ref; - protected $qte; - protected $stock; - protected $remise_percent; - protected $montant_remise; - protected $prix; - protected $tva; - - /** - * Attributs persistants : utilises pour toute la duree de la vente (jusqu'a validation ou annulation) - * string $num_facture => Numero de la facture (de la forme FAYYMM-XXXX) - * string $mode_reglement => Mode de reglement (ESP, CB ou CHQ) - * int $montant_encaisse => Montant encaisse en cas de reglement en especes - * int $montant_rendu => Monnaie rendue en cas de reglement en especes - * int $paiement_le => Date de paiement en cas de paiement differe - * - * int $prix_total_ht => Prix total hors taxes - * int $montant_tva => Montant total de la TVA, tous taux confondus - * int $prix_total_ttc => Prix total TTC - */ - protected $num_facture; - protected $mode_reglement; - protected $montant_encaisse; - protected $montant_rendu; - protected $paiement_le; - - protected $prix_total_ht; - protected $montant_tva; - protected $prix_total_ttc; - - - /** - * Constructor - */ - public function __construct() - { - $this->raz(); - $this->razPers(); - } - - - // Data processing methods - - - /** - * Add a product into cart - * - * @return void - */ - public function ajoutArticle() - { - global $conf, $db, $mysoc; - - $thirdpartyid = $_SESSION['CASHDESK_ID_THIRDPARTY']; - - $societe = new Societe($db); - $societe->fetch($thirdpartyid); - - $product = new Product($db); - $product->fetch($this->id); - - - $vatrowid = $this->tva(); - - $tmp = getTaxesFromId($vatrowid); - $txtva = $tmp['rate'].(empty($tmp['code']) ? '' : ' ('.$tmp['code'].')'); - $vat_npr = $tmp['npr']; - - $localtaxarray = getLocalTaxesFromRate($vatrowid, 0, $societe, $mysoc, 1); - - // Clean vat code - $reg = array(); - $vat_src_code = ''; - if (preg_match('/\((.*)\)/', $txtva, $reg)) { - $vat_src_code = $reg[1]; - $txtva = preg_replace('/\s*\(.*\)/', '', $txtva); // Remove code into vatrate. - } - - // Define part of HT, VAT, TTC - $resultarray = calcul_price_total($this->qte, $this->prix(), $this->remisePercent(), $txtva, -1, -1, 0, 'HT', $vat_npr, $product->type, $mysoc, $localtaxarray); - - // Calculation of total HT without discount - $total_ht = $resultarray[0]; - $total_vat = $resultarray[1]; - $total_ttc = $resultarray[2]; - $total_localtax1 = $resultarray[9]; - $total_localtax2 = $resultarray[10]; - - // Calculation of the discount amount - if ($this->remisePercent()) { - $remise_percent = $this->remisePercent(); - } else { - $remise_percent = 0; - } - $montant_remise_ht = ($resultarray[6] - $resultarray[0]); - $this->amountDiscount($montant_remise_ht); - - $newcartarray = $_SESSION['poscart']; - - $i = 0; - if (!is_null($newcartarray) && !empty($newcartarray)) { - $i = count($newcartarray); - } - - $newcartarray[$i]['id'] = $i; - $newcartarray[$i]['ref'] = $product->ref; - $newcartarray[$i]['label'] = $product->label; - $newcartarray[$i]['price'] = $product->price; - $newcartarray[$i]['price_ttc'] = $product->price_ttc; - - if (!empty($conf->global->PRODUIT_MULTIPRICES)) { - if (isset($product->multiprices[$societe->price_level])) { - $newcartarray[$i]['price'] = $product->multiprices[$societe->price_level]; - $newcartarray[$i]['price_ttc'] = $product->multiprices_ttc[$societe->price_level]; - } - } - - $newcartarray[$i]['fk_article'] = $this->id; - $newcartarray[$i]['qte'] = $this->qte(); - $newcartarray[$i]['fk_tva'] = $this->tva(); // Vat rowid - $newcartarray[$i]['remise_percent'] = $remise_percent; - $newcartarray[$i]['remise'] = price2num($montant_remise_ht); - $newcartarray[$i]['total_ht'] = price2num($total_ht, 'MT'); - $newcartarray[$i]['total_ttc'] = price2num($total_ttc, 'MT'); - $newcartarray[$i]['total_vat'] = price2num($total_vat, 'MT'); - $newcartarray[$i]['total_localtax1'] = price2num($total_localtax1, 'MT'); - $newcartarray[$i]['total_localtax2'] = price2num($total_localtax2, 'MT'); - $_SESSION['poscart'] = $newcartarray; - - $this->raz(); - } - - /** - * Remove a product from panel - * - * @param int $aArticle Id of line into cart to remove - * @return void - */ - public function supprArticle($aArticle) - { - $poscart = $_SESSION['poscart']; - - $j = 0; - $newposcart = array(); - foreach ($poscart as $key => $val) { - if ($poscart[$key]['id'] != $aArticle) { - $newposcart[$j] = $poscart[$key]; - $newposcart[$j]['id'] = $j; - $j++; - } - } - unset($poscart); - //var_dump($poscart);exit; - $_SESSION['poscart'] = $newposcart; - } - - /** - * Calculation of total HT, total TTC and VAT amounts - * - * @return int Total - */ - public function calculTotaux() - { - global $db; - - $total_ht = 0; - $total_ttc = 0; - $total_vat = 0; - $total_localtax1 = 0; - $total_localtax2 = 0; - - $tab = (!empty($_SESSION['poscart']) ? $_SESSION['poscart'] : array()); - - $tab_size = count($tab); - for ($i = 0; $i < $tab_size; $i++) { - // Total HT - $remise = $tab[$i]['remise']; - $total_ht += ($tab[$i]['total_ht']); - $total_vat += ($tab[$i]['total_vat']); - $total_ttc += ($tab[$i]['total_ttc']); - $total_localtax1 += ($tab[$i]['total_localtax1']); - $total_localtax2 += ($tab[$i]['total_localtax2']); - } - - $this->prix_total_ttc = $total_ttc; - $this->prix_total_ht = $total_ht; - $this->prix_total_vat = $total_vat; - $this->prix_total_localtax1 = $total_localtax1; - $this->prix_total_localtax2 = $total_localtax2; - - $this->montant_tva = $total_ttc - $total_ht; - //print 'total: '.$this->prix_total_ttc; exit; - } - - /** - * Reset attributes - * - * @return void - */ - public function raz() - { - $this->id('RESET'); - $this->ref('RESET'); - $this->qte('RESET'); - $this->stock('RESET'); - $this->remisePercent('RESET'); - $this->amountDiscount('RESET'); - $this->prix('RESET'); - $this->tva('RESET'); - } - - /** - * Resetting persistent attributes - * - * @return void - */ - private function razPers() - { - $this->numInvoice('RESET'); - $this->getSetPaymentMode('RESET'); - $this->amountCollected('RESET'); - $this->amountReturned('RESET'); - $this->paiementLe('RESET'); - - $this->amountWithoutTax('RESET'); - $this->amountVat('RESET'); - $this->amountWithTax('RESET'); - } - - - // Methods for modifying protected attributes - - /** - * Getter for id - * - * @param int $aId Id - * @return int Id - */ - public function id($aId = null) - { - - if (!$aId) { - return $this->id; - } elseif ($aId == 'RESET') { - $this->id = null; - } else { - $this->id = $aId; - } - } - - /** - * Getter for ref - * - * @param string $aRef Ref - * @return string Ref - */ - public function ref($aRef = null) - { - - if (is_null($aRef)) { - return $this->ref; - } elseif ($aRef == 'RESET') { - $this->ref = null; - } else { - $this->ref = $aRef; - } - } - - /** - * Getter for qte - * - * @param int $aQte Qty - * @return int Qty - */ - public function qte($aQte = null) - { - if (is_null($aQte)) { - return $this->qte; - } elseif ($aQte == 'RESET') { - $this->qte = null; - } else { - $this->qte = $aQte; - } - } - - /** - * Getter for stock - * - * @param string $aStock Stock - * @return string Stock - */ - public function stock($aStock = null) - { - - if (is_null($aStock)) { - return $this->stock; - } elseif ($aStock == 'RESET') { - $this->stock = null; - } else { - $this->stock = $aStock; - } - } - - /** - * Getter for remise_percent - * - * @param string $aRemisePercent Discount - * @return string Discount - */ - public function remisePercent($aRemisePercent = null) - { - - if (is_null($aRemisePercent)) { - return $this->remise_percent; - } elseif ($aRemisePercent == 'RESET') { - $this->remise_percent = null; - } else { - $this->remise_percent = $aRemisePercent; - } - } - - /** - * Getter for montant_remise - * - * @param int $aMontantRemise Amount - * @return string Amount - */ - public function amountDiscount($aMontantRemise = null) - { - - if (is_null($aMontantRemise)) { - return $this->montant_remise; - } elseif ($aMontantRemise == 'RESET') { - $this->montant_remise = null; - } else { - $this->montant_remise = $aMontantRemise; - } - } - - /** - * Getter for prix - * - * @param int $aPrix Price - * @return string Stock - */ - public function prix($aPrix = null) - { - - if (is_null($aPrix)) { - return $this->prix; - } elseif ($aPrix == 'RESET') { - $this->prix = null; - } else { - $this->prix = $aPrix; - } - } - - /** - * Getter for tva - * - * @param int $aTva Vat - * @return int Vat - */ - public function tva($aTva = null) - { - if (is_null($aTva)) { - return $this->tva; - } elseif ($aTva == 'RESET') { - $this->tva = null; - } else { - $this->tva = $aTva; - } - } - - /** - * Get num invoice - * - * @param string $aNumFacture Invoice ref - * @return string Invoice ref - */ - public function numInvoice($aNumFacture = null) - { - if (is_null($aNumFacture)) { - return $this->num_facture; - } elseif ($aNumFacture == 'RESET') { - $this->num_facture = null; - } else { - $this->num_facture = $aNumFacture; - } - } - - /** - * Get payment mode - * - * @param int $aModeReglement Payment mode - * @return int Payment mode - */ - public function getSetPaymentMode($aModeReglement = null) - { - - if (is_null($aModeReglement)) { - return $this->mode_reglement; - } elseif ($aModeReglement == 'RESET') { - $this->mode_reglement = null; - } else { - $this->mode_reglement = $aModeReglement; - } - } - - /** - * Get amount - * - * @param int $aMontantEncaisse Amount - * @return int Amount - */ - public function amountCollected($aMontantEncaisse = null) - { - - if (is_null($aMontantEncaisse)) { - return $this->montant_encaisse; - } elseif ($aMontantEncaisse == 'RESET') { - $this->montant_encaisse = null; - } else { - $this->montant_encaisse = $aMontantEncaisse; - } - } - - /** - * Get amount - * - * @param int $aMontantRendu Amount - * @return int Amount - */ - public function amountReturned($aMontantRendu = null) - { - - if (is_null($aMontantRendu)) { - return $this->montant_rendu; - } elseif ($aMontantRendu == 'RESET') { - $this->montant_rendu = null; - } else { - $this->montant_rendu = $aMontantRendu; - } - } - - /** - * Get payment date - * - * @param integer $aPaiementLe Date - * @return integer Date - */ - public function paiementLe($aPaiementLe = null) - { - if (is_null($aPaiementLe)) { - return $this->paiement_le; - } elseif ($aPaiementLe == 'RESET') { - $this->paiement_le = null; - } else { - $this->paiement_le = $aPaiementLe; - } - } - - /** - * Get total HT - * - * @param int $aTotalHt Total amount - * @return int Total amount - */ - public function amountWithoutTax($aTotalHt = null) - { - if (is_null($aTotalHt)) { - return $this->prix_total_ht; - } elseif ($aTotalHt == 'RESET') { - $this->prix_total_ht = null; - } else { - $this->prix_total_ht = $aTotalHt; - } - } - - /** - * Get amount vat - * - * @param int $aMontantTva Amount vat - * @return int Amount vat - */ - public function amountVat($aMontantTva = null) - { - if (is_null($aMontantTva)) { - return $this->montant_tva; - } elseif ($aMontantTva == 'RESET') { - $this->montant_tva = null; - } else { - $this->montant_tva = $aMontantTva; - } - } - - /** - * Get total TTC - * - * @param int $aTotalTtc Amount ttc - * @return int Amount ttc - */ - public function amountWithTax($aTotalTtc = null) - { - if (is_null($aTotalTtc)) { - return $this->prix_total_ttc; - } elseif ($aTotalTtc == 'RESET') { - $this->prix_total_ttc = null; - } else { - $this->prix_total_ttc = $aTotalTtc; - } - } -} diff --git a/htdocs/cashdesk/css/style.css b/htdocs/cashdesk/css/style.css deleted file mode 100644 index b17a63e548e..00000000000 --- a/htdocs/cashdesk/css/style.css +++ /dev/null @@ -1,455 +0,0 @@ -/* Copyright (C) 2007-2008 Jeremie Ollivier - * - * 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 . - */ - -body { - background: #fff; - color: #333; - margin: 0; - padding: 0; -} - -p { - margin: 0; -} - -.conteneur { - background: #fff; - text-align: left; - /*max-width: 770px;*/ - /*margin: 10px auto; - border: 2px solid #000;*/ -} - -.conteneur_img_gauche { - /* background: url("../img/bg_conteneur_gauche.png") top left repeat-y; */ -} - -.conteneur_img_droite { - /* background: url("../img/bg_conteneur_droite.png") top right repeat-y; */ -} - -.contenu { - width: 100%; - text-align: center; - padding-top: 20px; -} - -.logo { - text-align: center; -} -.logopos { - padding-top: 20px; - max-height: 40px; -} - -/* ------------------- Header ------------------- */ -.entete { - height: 15px; - margin: 0; - /* background: url('../img/bg_entete.png') no-repeat left top; */ -} - -.entete span { - display: none; -} - -.principal_login td.label1 { - width: 50%; -} - -/* ------------------- Menu ------------------- */ -.menu_principal { - margin: 0; - font-size: 14px; - height: 84px; - background: #CCCCCC; - background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(40,40,40,.3) 100%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(40,40,40,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(40,40,40,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(40,40,40,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(40,40,40,.3) 100%); - background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(40,40,40,.3)) ); -} - -.menu_bloc { - margin-left: 12px; -} - -.menu { - margin: 0; - list-style-type: none; - padding: 8px 0 0; -} - -.menu li { - float: left; - padding-right: 10px; -} - -.menu_choix0 { - font-size: 10px; - text-align: right; - font-style: italic; - font-weight: normal; - display: block; - color: #333; - text-decoration: none; - padding-right: 5px; -} - -/* Force values for small screen 570 */ -@media only screen and (max-width: 570px) -{ - .menu_choix0 { - max-width: 180px; - } -} - -.menu_choix0 a { - font-weight: normal; - text-decoration: none; -} -li.menu_choix0 { - float: right; -} - -/* ------------------- Remind of products ------------------- */ -.liste_articles { - min-width: 215px; - float: right; - margin-top: 8px; - margin-right: 20px; - border: 1px dotted #5ca64d; - padding-bottom: 10px; - vertical-align: middle; -} - -p.titre { - margin: 0 0 20px; - text-align: center; - font-weight: bold; - font-size: 1.4em; - color: #5ca64d; - border-bottom: 1px dotted; -} - -.cadre_article { - width: 180px; - text-align: center; - margin: 0 auto 10px; - padding-bottom: 10px; - border-bottom: 1px solid #eee; -} - -.cadre_article p { - color: #5ca64d; -} - -.cadre_article p a { - color: #333; - font-size: 1.1em; - text-decoration: none; - padding-right: 25px; - background: url('../img/basket_delete.png') top right no-repeat; -} - -.cadre_article p a:hover { - color: #6d3f6d; -} - -.cadre_aucun_article { - text-align: center; - font-style: italic; -} - -.cadre_prix_total { - text-align: center; - font-weight: bold; - font-size: 1.4em; - color: #6d3f6d; - padding-top: 10px; - padding-bottom: 10px; - margin-left: 20px; - margin-right: 20px; - border: 1px dotted #6d3f6d; -} - -/* ------------------- Contenu ------------------- */ -.principal_login { - margin: 10px; - padding: 0; - max-width: 800px; - text-align: left; -} - -.formulaire_login { - text-align: center; -} - -.formulaire_login table { - padding-left: 60px; - margin: 0 auto 20px; - background: url('../img/login.png') bottom left no-repeat; -} - -.formulaire_login table tr { - height: 30px; -} - -.texte_login { - padding-left: 2px; - padding-right: 2px; - background: #fff; - border: 1px solid #6d3f6d; -} - -.principal { - float: left; - margin: 0 15px; - padding: 0; - max-width: 900px; -} - -.blocksellfinished { - min-width: 215px; - margin-top: 8px; -} -.titre1 { - font-weight: bold; - color: #ff9900; - margin: 0; - font-size: 1.4em; -} - -.label1 { - color: #333; - font-size: 1.1em; -} - -.cadre_facturation { - border: 2px solid #ddd; - margin-bottom: 15px; -} - -.principal p { - padding-left: 10px; - padding-right: 10px; -} - -.lien1 { - color: #333; - font-size: 1.1em; - text-decoration: underline; -} - -.lien1:hover { - color: #6d3f6d; -} - -/* Formulaires */ -.formulaire1 { - padding: 0; -} - - -/* --------------------- Combo lists ------------------- */ -.select_design { - overflow: auto; -} - -.select_design select { - border: 1px solid #6d3f6d; - font: 12px verdana,arial,helvetica; - background: #fff; -} - -.select_tva select { - width: 60px; - border: 1px solid #6d3f6d; - background: #fff; -} - -.top_liste { - font-style: italic; - text-align: center; - color: #aaa; -} - -/* --------------- Champs texte ---------------- */ -.texte_ref,.texte1,.texte1_off,.texte2,.texte2_off,.textarea_note { - padding-left: 2px; - padding-right: 2px; -} - -.texte_ref,.texte1,.texte2,.textarea_note { - background: #fff; - border: 1px solid #6d3f6d; -} - -.texte1_off,.texte2_off { - color: #000; - border: 1px solid #eee; - background: #eee; -} - -.texte_ref { - min-width: 150px; -} - -.texte1,.texte1_off { - width: 60px; -} - -.texte2,.texte2_off { - width: 140px; -} - -/* ------------------- */ -.textarea_note { - width: 100%; - height: 50px; - padding: 2px 2px; -} - -/* -------------- Buttons for SimplePOS --------------------- */ -.bouton_ajout_article { - margin-top: 10px; - width: 60%; - height: 40px; -} - -.bouton_mode_reglement, .bouton_mode_reglement_disabled { - width: 150px; - height: 40px; -} - -.bouton_validation { /* width: 80px; */ - margin-left: 10px; - margin-top: 20px; - margin-bottom: 10px; -} - -.formulaire2 { - padding: 0; - width: 100%; -} - -.table_resume { - width: 100%; -} - -.table_resume tr { - background: #eee; -} - -.table_resume td { - padding-left: 8px; -} - -.resume_label,.note_label { - min-width: 200px; - font-weight: bold; - font-size: 1.1em; -} - -.note_label { - padding-top: 20px; -} - -/* ------------------- Pied de page ------------------- */ -.pied { - clear: both; - height: 15px; - /* background: url('../img/bg_pied.png') no-repeat bottom left; */ -} - -/* ------------------- Param�tres communs (messages d'erreur, informations, etc...) ------------------- */ -.msg_err1 { - color: #c00; -} - -/* Messages d'erreur */ -.cadre_err1 { - margin-right: 10px; - margin-bottom: 10px; - padding: 10px 10px; - border: 1px solid #c00; - background: #feffac; - color: #c00; -} - -/* Titre */ -.err_titre { - font-weight: bold; - margin: 0 0 10px; - padding: 0; -} - -/* Description */ -.err_desc { - margin: 0; - padding: 0; -} - -/* Messages d'information */ -.cadre_msg1 { - margin-right: 10px; - margin-bottom: 10px; - padding: 10px 10px; - border: 1px solid #070; - background: #e8f8da; - color: #070; -} - -/* Titre */ -.msg_titre { - font-weight: bold; - margin: 0 0 10px; - padding: 0; -} - -/* Description */ -.msg_desc { - margin: 0; - padding: 0; -} - -/* Affichage de la liste des resultats */ -.dhtml_bloc { - margin: 0; - padding: 3px; - font-size: 13px; - font-family: arial, sans-serif; - border: 1px solid #000; - z-index: 1; - width: 455px; - max-height: 500px; - overflow: auto; - position: absolute; - background-color: white; -} - -.dhtml_defaut { - list-style-type: none; - display: block; - height: 16px; - overflow: hidden; -} - -.dhtml_selection { - background-color: #3366cc; - color: white ! important; -} diff --git a/htdocs/cashdesk/css/ticket.css b/htdocs/cashdesk/css/ticket.css deleted file mode 100644 index 248e0f7b9b6..00000000000 --- a/htdocs/cashdesk/css/ticket.css +++ /dev/null @@ -1,61 +0,0 @@ -/* - * TPV ticket.css - */ -body { - font-size: 1.5em; - position: relative; -} - -.entete { /* position: relative; */ - -} - -.address { /* float: left; */ - font-size: 12px; -} - -.date_heure { - position: absolute; - top: 0; - right: 0; - font-size: 16px; -} - -.infos { - position: relative; -} - -.liste_articles { - width: 100%; - border-bottom: 1px solid #000; - text-align: center; -} - -.liste_articles tr.titres th { - border-bottom: 1px solid #000; -} - -.liste_articles td.total { - text-align: right; -} - -.totaux { - margin-top: 20px; - width: 30%; - float: right; - text-align: right; -} - -.lien { - position: absolute; - top: 0; - left: 0; - display: none; -} - -@media print { - .lien { - display: none; - } -} - diff --git a/htdocs/cashdesk/deconnexion.php b/htdocs/cashdesk/deconnexion.php deleted file mode 100644 index f7506902ab5..00000000000 --- a/htdocs/cashdesk/deconnexion.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/deconnexion.php - * \ingroup cashdesk - * \brief Manage deconnexion for point of sale module - */ - -//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Uncomment creates pb to relogon after a disconnect -if (!defined('NOREQUIREMENU')) { - define('NOREQUIREMENU', '1'); -} -if (!defined('NOREQUIREHTML')) { - define('NOREQUIREHTML', '1'); -} -if (!defined('NOREQUIREAJAX')) { - define('NOREQUIREAJAX', '1'); -} -if (!defined('NOREQUIRESOC')) { - define('NOREQUIRESOC', '1'); -} - -require_once '../main.inc.php'; - -// This destroy tag that say "Point of Sale session is on". -unset($_SESSION['uid']); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - -header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php'); -exit; diff --git a/htdocs/cashdesk/facturation.php b/htdocs/cashdesk/facturation.php deleted file mode 100644 index edce8acd781..00000000000 --- a/htdocs/cashdesk/facturation.php +++ /dev/null @@ -1,159 +0,0 @@ - - * Copyright (C) 2008-2011 Laurent Destailleur - * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2013 Marcos García - * Copyright (C) 2013 Adolfo Segura - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/facturation.php - * \ingroup cashdesk - * \brief Include to show main page for cashdesk module - */ - - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -$form = new Form($db); - -// Get list of articles (in warehouse '$conf_fkentrepot' if defined and stock module enabled) -if (GETPOST('filtre', 'alpha')) { - // Avec filtre - $ret = array(); $i = 0; - - $sql = "SELECT p.rowid, p.ref, p.label, p.tva_tx, p.fk_product_type"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= ", ps.reel"; - } - $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$db->escape($conf_fkentrepot)."'"; - } - $sql .= " WHERE p.entity IN (".getEntity('product').")"; - $sql .= " AND p.tosell = 1"; - if (!$conf->global->CASHDESK_SERVICES) { - $sql .= " AND p.fk_product_type = 0"; - } - $sql .= " AND ("; - $sql .= "p.ref LIKE '%".$db->escape(GETPOST('filtre'))."%' OR p.label LIKE '%".$db->escape(GETPOST('filtre'))."%'"; - if (!empty($conf->barcode->enabled)) { - $filtre = GETPOST('filtre', 'alpha'); - - //If the barcode looks like an EAN13 format and the last digit is included in it, - //then whe look for the 12-digit too - //As the twelve-digit string will also hit the 13-digit code, we only look for this one - if (strlen($filtre) == 13) { - $crit_12digit = substr($filtre, 0, 12); - $sql .= " OR p.barcode LIKE '%".$db->escape($crit_12digit)."%'"; - } else { - $sql .= " OR p.barcode LIKE '%".$db->escape($filtre)."%'"; - } - } - $sql .= ")"; - $sql .= " ORDER BY label"; - - dol_syslog("facturation.php", LOG_DEBUG); - $resql = $db->query($sql); - if ($resql) { - $nbr_enreg = $db->num_rows($resql); - - while ($i < $conf_taille_listes && $tab = $db->fetch_array($resql)) { - foreach ($tab as $cle => $valeur) { - $ret[$i][$cle] = $valeur; - } - $i++; - } - $db->free($resql); - } else { - dol_print_error($db); - } - $tab_designations = $ret; -} else { - // Sans filtre - $ret = array(); - $i = 0; - - $sql = "SELECT p.rowid, ref, label, tva_tx, p.fk_product_type"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= ", ps.reel"; - } - $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$db->escape($conf_fkentrepot)."'"; - } - $sql .= " WHERE p.entity IN (".getEntity('product').")"; - $sql .= " AND p.tosell = 1"; - if (!$conf->global->CASHDESK_SERVICES) { - $sql .= " AND p.fk_product_type = 0"; - } - $sql .= " ORDER BY p.label"; - - dol_syslog($sql); - $resql = $db->query($sql); - if ($resql) { - $nbr_enreg = $db->num_rows($resql); - - while ($i < $conf_taille_listes && $tab = $db->fetch_array($resql)) { - foreach ($tab as $cle => $valeur) { - $ret[$i][$cle] = $valeur; - } - $i++; - } - $db->free($resql); - } else { - dol_print_error($db); - } - $tab_designations = $ret; -} - -//$nbr_enreg = count($tab_designations); - -if ($nbr_enreg > 1) { - if ($nbr_enreg > $conf_taille_listes) { - $top_liste_produits = '----- '.$conf_taille_listes.' '.$langs->transnoentitiesnoconv("CashDeskProducts").' '.$langs->trans("CashDeskOn").' '.$nbr_enreg.' -----'; - } else { - $top_liste_produits = '----- '.$nbr_enreg.' '.$langs->transnoentitiesnoconv("CashDeskProducts").' '.$langs->trans("CashDeskOn").' '.$nbr_enreg.' -----'; - } -} elseif ($nbr_enreg == 1) { - $top_liste_produits = '----- 1 '.$langs->transnoentitiesnoconv("ProductFound").' -----'; -} else { - $top_liste_produits = '----- '.$langs->transnoentitiesnoconv("NoProductFound").' -----'; -} - - -// Recuperation des taux de tva -global $mysoc; - -$ret = array(); -$i = 0; - -// Reinitialisation du mode de paiement, en cas de retour aux achats apres validation -$obj_facturation->getSetPaymentMode('RESET'); -$obj_facturation->amountCollected('RESET'); -$obj_facturation->amountReturned('RESET'); -$obj_facturation->paiementLe('RESET'); - - -// Affichage des templates -require 'tpl/facturation1.tpl.php'; diff --git a/htdocs/cashdesk/facturation_dhtml.php b/htdocs/cashdesk/facturation_dhtml.php deleted file mode 100644 index 3d0e9ff84ec..00000000000 --- a/htdocs/cashdesk/facturation_dhtml.php +++ /dev/null @@ -1,129 +0,0 @@ - - * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2015 Regis Houssin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/facturation_dhtml.php - * \ingroup cashdesk - * \brief This page is called each time we press a key in the code search form to show product combo list. - */ - - -if (!defined('NOREQUIRESOC')) { - define('NOREQUIRESOC', '1'); -} -if (!defined('NOCSRFCHECK')) { - define('NOCSRFCHECK', '1'); -} -if (!defined('NOTOKENRENEWAL')) { - define('NOTOKENRENEWAL', '1'); -} -if (!defined('NOREQUIREMENU')) { - define('NOREQUIREMENU', '1'); -} -if (!defined('NOREQUIREHTML')) { - define('NOREQUIREHTML', '1'); -} -if (!defined('NOREQUIREAJAX')) { - define('NOREQUIREAJAX', '1'); -} - -// Change this following line to use the correct relative path (../, ../../, etc) -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -top_httphead('text/html'); - -$search = GETPOST("code", "alpha"); - -// Search from criteria -if (dol_strlen($search) >= 0) { // If search criteria is on char length at least - $sql = "SELECT p.rowid, p.ref, p.label, p.tva_tx"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= ", ps.reel"; - } - $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = '".$db->escape($conf_fkentrepot)."'"; - } - $sql .= " WHERE p.entity IN (".getEntity('product').")"; - $sql .= " AND p.tosell = 1"; - $sql .= " AND p.fk_product_type = 0"; - // Add criteria on ref/label - if (!empty($conf->global->PRODUCT_DONOTSEARCH_ANYWHERE)) { - $sql .= " AND (p.ref LIKE '".$db->escape($search)."%' OR p.label LIKE '".$db->escape($search)."%'"; - if (!empty($conf->barcode->enabled)) { - $sql .= " OR p.barcode LIKE '".$db->escape($search)."%'"; - } - $sql .= ")"; - } else { - $sql .= " AND (p.ref LIKE '%".$db->escape($search)."%' OR p.label LIKE '%".$db->escape($search)."%'"; - if (!empty($conf->barcode->enabled)) { - $sql .= " OR p.barcode LIKE '%".$db->escape($search)."%'"; - } - $sql .= ")"; - } - $sql .= " ORDER BY label"; - - dol_syslog("facturation_dhtml.php", LOG_DEBUG); - $result = $db->query($sql); - - if ($result) { - if ($nbr = $db->num_rows($result)) { - $resultat = '
      '; - - $ret = array(); $i = 0; - while ($tab = $db->fetch_array($result)) { - foreach ($tab as $cle => $valeur) { - $ret[$i][$cle] = $valeur; - } - $i++; - } - $tab = $ret; - - $tab_size = count($tab); - for ($i = 0; $i < $tab_size; $i++) { - $resultat .= ' -
    • '.$tab[$i]['ref'].' - '.$tab[$i]['label'].'
    • - '; - } - - $resultat .= '
    '; - - print $resultat; - } else { - $langs->load("cashdesk"); - - print '
      '; - print '
    • '.$langs->trans("NoResults").'
    • '; - print '
    '; - } - } -} diff --git a/htdocs/cashdesk/facturation_verif.php b/htdocs/cashdesk/facturation_verif.php deleted file mode 100644 index f51cda3e77b..00000000000 --- a/htdocs/cashdesk/facturation_verif.php +++ /dev/null @@ -1,225 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2018 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/facturation_verif.php - * \ingroup cashdesk - * \brief facturation_verif.php - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Facturation.class.php'; -require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - -$action = GETPOST('action', 'aZ09'); - -$obj_facturation = unserialize($_SESSION['serObjFacturation']); -unset($_SESSION['serObjFacturation']); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -switch ($action) { - default: - if (GETPOST('hdnSource') != 'NULL') { - $sql = "SELECT p.rowid, p.ref, p.price, p.tva_tx, p.default_vat_code, p.recuperableonly"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= ", ps.reel"; - } - $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; - if (!empty($conf->stock->enabled) && !empty($conf_fkentrepot)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON p.rowid = ps.fk_product AND ps.fk_entrepot = ".((int) $conf_fkentrepot); - } - $sql .= " WHERE p.entity IN (".getEntity('product').")"; - - // Recuperation des donnees en fonction de la source (liste deroulante ou champ texte) ... - if ($_POST['hdnSource'] == 'LISTE') { - $sql .= " AND p.rowid = ".((int) GETPOST('selProduit', 'int')); - } elseif ($_POST['hdnSource'] == 'REF') { - $sql .= " AND p.ref = '".$db->escape(GETPOST('txtRef', 'alpha'))."'"; - } - - $result = $db->query($sql); - if ($result) { - // ... et enregistrement dans l'objet - if ($db->num_rows($result)) { - $ret = array(); - $tab = $db->fetch_array($result); - foreach ($tab as $key => $value) { - $ret[$key] = $value; - } - // Here $ret['tva_tx'] is vat rate of product but we want to not use the one into table but found by function - - $productid = $ret['rowid']; - $product = new Product($db); - $product->fetch($productid); - $prod = $product; - - $thirdpartyid = $_SESSION['CASHDESK_ID_THIRDPARTY']; - $societe = new Societe($db); - $societe->fetch($thirdpartyid); - - // Update if prices fields are defined - $tva_tx = get_default_tva($mysoc, $societe, $product->id); - $tva_npr = get_default_npr($mysoc, $societe, $product->id); - if (empty($tva_tx)) { - $tva_npr = 0; - } - - $pu_ht = $prod->price; - $pu_ttc = $prod->price_ttc; - $price_min = $prod->price_min; - $price_base_type = $prod->price_base_type; - - // multiprix - if (!empty($conf->global->PRODUIT_MULTIPRICES) && !empty($societe->price_level)) { - $pu_ht = $prod->multiprices[$societe->price_level]; - $pu_ttc = $prod->multiprices_ttc[$societe->price_level]; - $price_min = $prod->multiprices_min[$societe->price_level]; - $price_base_type = $prod->multiprices_base_type[$societe->price_level]; - if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) { // using this option is a bug. kept for backward compatibility - if (isset($prod->multiprices_tva_tx[$societe->price_level])) { - $tva_tx = $prod->multiprices_tva_tx[$societe->price_level]; - } - if (isset($prod->multiprices_recuperableonly[$societe->price_level])) { - $tva_npr = $prod->multiprices_recuperableonly[$societe->price_level]; - } - } - } elseif (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { - require_once DOL_DOCUMENT_ROOT.'/product/class/productcustomerprice.class.php'; - - $prodcustprice = new Productcustomerprice($db); - - $filter = array('t.fk_product' => $prod->id, 't.fk_soc' => $societe->id); - - $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); - if ($result >= 0) { - if (count($prodcustprice->lines) > 0) { - $pu_ht = price($prodcustprice->lines[0]->price); - $pu_ttc = price($prodcustprice->lines[0]->price_ttc); - $price_base_type = $prodcustprice->lines[0]->price_base_type; - $tva_tx = $prodcustprice->lines[0]->tva_tx; - if ($prodcustprice->lines[0]->default_vat_code && !preg_match('/\(.*\)/', $tva_tx)) { - $tva_tx .= ' ('.$prodcustprice->lines[0]->default_vat_code.')'; - } - $tva_npr = $prodcustprice->lines[0]->recuperableonly; - if (empty($tva_tx)) { - $tva_npr = 0; - } - } - } else { - setEventMessages($prodcustprice->error, $prodcustprice->errors, 'errors'); - } - } - - $tmpvat = price2num(preg_replace('/\s*\(.*\)/', '', $tva_tx)); - $tmpprodvat = price2num(preg_replace('/\s*\(.*\)/', '', $prod->tva_tx)); - - // if price ht is forced (ie: calculated by margin rate and cost price). TODO Why this ? - if (!empty($price_ht)) { - $pu_ht = price2num($price_ht, 'MU'); - $pu_ttc = price2num($pu_ht * (1 + ($tmpvat / 100)), 'MU'); - } elseif ($tmpvat != $tmpprodvat) { - // On reevalue prix selon taux tva car taux tva transaction peut etre different - // de ceux du produit par defaut (par exemple si pays different entre vendeur et acheteur). - if ($price_base_type != 'HT') { - $pu_ht = price2num($pu_ttc / (1 + ($tmpvat / 100)), 'MU'); - } else { - $pu_ttc = price2num($pu_ht * (1 + ($tmpvat / 100)), 'MU'); - } - } - - $obj_facturation->id($ret['rowid']); - $obj_facturation->ref($ret['ref']); - $obj_facturation->stock($ret['reel']); - //$obj_facturation->prix($ret['price']); - $obj_facturation->prix($pu_ht); - - - $vatrate = $tva_tx; - $obj_facturation->vatrate = $vatrate; // Save vat rate (full text vat with code) - - // Definition du filtre pour n'afficher que le produit concerne - if (GETPOST('hdnSource') == 'LISTE') { - $filtre = $ret['ref']; - } elseif (GETPOST('hdnSource') == 'REF') { - $filtre = GETPOST('txtRef'); - } - - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation&filtre='.urlencode($filtre); - } else { - $obj_facturation->raz(); - - if (GETPOST('hdnSource') == 'REF') { - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation&filtre='.urlencode(GETPOST('txtRef')); - } else { - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation'; - } - } - } else { - dol_print_error($db); - } - } else { - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation'; - } - - break; - - case 'change_thirdparty': // We have clicked on button "Modify" a thirdparty - $newthirdpartyid = GETPOST('CASHDESK_ID_THIRDPARTY', 'int'); - if ($newthirdpartyid > 0) { - $_SESSION["CASHDESK_ID_THIRDPARTY"] = $newthirdpartyid; - } - - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation'; - break; - - case 'ajout_article': - if (!empty($obj_facturation->id)) { // A product was previously selected and stored in session, so we can add it - dol_syslog("facturation_verif save vat ".GETPOST('selTva')); - $obj_facturation->qte(GETPOST('txtQte')); - $obj_facturation->tva(GETPOST('selTva')); // id of vat. Saved so we can use it for next product - $obj_facturation->remisePercent(GETPOST('txtRemise')); - $obj_facturation->ajoutArticle(); // This add an entry into $_SESSION['poscart'] - // We update prixTotalTtc - } - - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation'; - break; - - case 'suppr_article': - $obj_facturation->supprArticle(GETPOST('suppr_id')); - - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation'; - break; -} - -// We saved object obj_facturation -$_SESSION['serObjFacturation'] = serialize($obj_facturation); -//var_dump($_SESSION['serObjFacturation']); -header('Location: '.$redirection); -exit; diff --git a/htdocs/cashdesk/img/basket_delete.png b/htdocs/cashdesk/img/basket_delete.png deleted file mode 100644 index 9419d91d9f1..00000000000 Binary files a/htdocs/cashdesk/img/basket_delete.png and /dev/null differ diff --git a/htdocs/cashdesk/img/bg_conteneur_droite.png b/htdocs/cashdesk/img/bg_conteneur_droite.png deleted file mode 100644 index 87d7fcf069a..00000000000 Binary files a/htdocs/cashdesk/img/bg_conteneur_droite.png and /dev/null differ diff --git a/htdocs/cashdesk/img/bg_conteneur_gauche.png b/htdocs/cashdesk/img/bg_conteneur_gauche.png deleted file mode 100644 index a6da5629413..00000000000 Binary files a/htdocs/cashdesk/img/bg_conteneur_gauche.png and /dev/null differ diff --git a/htdocs/cashdesk/img/bg_entete.png b/htdocs/cashdesk/img/bg_entete.png deleted file mode 100644 index 0c7670509bc..00000000000 Binary files a/htdocs/cashdesk/img/bg_entete.png and /dev/null differ diff --git a/htdocs/cashdesk/img/bg_pied.png b/htdocs/cashdesk/img/bg_pied.png deleted file mode 100644 index 36a38a42ced..00000000000 Binary files a/htdocs/cashdesk/img/bg_pied.png and /dev/null differ diff --git a/htdocs/cashdesk/img/calendrier.png b/htdocs/cashdesk/img/calendrier.png deleted file mode 100644 index 7ac67ea96b3..00000000000 Binary files a/htdocs/cashdesk/img/calendrier.png and /dev/null differ diff --git a/htdocs/cashdesk/img/decrypted.png b/htdocs/cashdesk/img/decrypted.png deleted file mode 100644 index 8d2b4696a2b..00000000000 Binary files a/htdocs/cashdesk/img/decrypted.png and /dev/null differ diff --git a/htdocs/cashdesk/img/gescom.png b/htdocs/cashdesk/img/gescom.png deleted file mode 100644 index 0ec1639335e..00000000000 Binary files a/htdocs/cashdesk/img/gescom.png and /dev/null differ diff --git a/htdocs/cashdesk/img/lock.png b/htdocs/cashdesk/img/lock.png deleted file mode 100644 index 55258949069..00000000000 Binary files a/htdocs/cashdesk/img/lock.png and /dev/null differ diff --git a/htdocs/cashdesk/img/login.png b/htdocs/cashdesk/img/login.png deleted file mode 100644 index 600cb67dd0a..00000000000 Binary files a/htdocs/cashdesk/img/login.png and /dev/null differ diff --git a/htdocs/cashdesk/img/new.png b/htdocs/cashdesk/img/new.png deleted file mode 100644 index ed848a86550..00000000000 Binary files a/htdocs/cashdesk/img/new.png and /dev/null differ diff --git a/htdocs/cashdesk/include/environnement.php b/htdocs/cashdesk/include/environnement.php deleted file mode 100644 index fc67c65ea4c..00000000000 --- a/htdocs/cashdesk/include/environnement.php +++ /dev/null @@ -1,50 +0,0 @@ - - * Copyright (C) 2009-2011 Laurent Destailleur - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - */ - -// This file initializes more variables to already initialized variables with main.inc.php -// So include of this file must be always done after include to main.inc.php - -$conf_db_type = $dolibarr_main_db_type; - -// Parametres de connexion a la base -$conf_db_host = $dolibarr_main_db_host; -$conf_db_user = $dolibarr_main_db_user; -$conf_db_pass = $dolibarr_main_db_pass; -$conf_db_base = $dolibarr_main_db_name; - -// Identifiant unique correspondant au tiers generique pour la vente -$conf_fksoc = (!empty($_SESSION["CASHDESK_ID_THIRDPARTY"])) ? $_SESSION["CASHDESK_ID_THIRDPARTY"] : ($conf->global->CASHDESK_ID_THIRDPARTY > 0 ? $conf->global->CASHDESK_ID_THIRDPARTY : 0); -// Identifiant unique correspondant a l'entrepot a utiliser -$conf_fkentrepot = (!empty($_SESSION["CASHDESK_ID_WAREHOUSE"])) ? $_SESSION["CASHDESK_ID_WAREHOUSE"] : ($conf->global->CASHDESK_ID_WAREHOUSE > 0 ? $conf->global->CASHDESK_ID_WAREHOUSE : 0); -if (!empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) { - $conf_fkentrepot = 0; // If option to disable the stock decrease is on, we set warehouse id to 0. -} - -// Identifiant unique correspondant au compte caisse / liquide -$conf_fkaccount_cash = (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"])) ? $_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"] : ($conf->global->CASHDESK_ID_BANKACCOUNT_CASH > 0 ? $conf->global->CASHDESK_ID_BANKACCOUNT_CASH : 0); -// Identifiant unique correspondant au compte cheque -$conf_fkaccount_cheque = (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"])) ? $_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"] : ($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE > 0 ? $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE : 0); -// Identifiant unique correspondant au compte cb -$conf_fkaccount_cb = (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CB"])) ? $_SESSION["CASHDESK_ID_BANKACCOUNT_CB"] : ($conf->global->CASHDESK_ID_BANKACCOUNT_CB > 0 ? $conf->global->CASHDESK_ID_BANKACCOUNT_CB : 0); -//var_dump($_SESSION); - - -// View parameters -$conf_taille_listes = (empty($conf->global->PRODUIT_LIMIT_SIZE) ? 1000 : $conf->global->PRODUIT_LIMIT_SIZE); // Number max of lines to show in lists -$conf_nbr_car_listes = 60; // Nombre max de caracteres par ligne dans les listes diff --git a/htdocs/cashdesk/include/keypad.php b/htdocs/cashdesk/include/keypad.php deleted file mode 100644 index 6e4c9c874d6..00000000000 --- a/htdocs/cashdesk/include/keypad.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * 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 . - */ - -/** - * Return a string to output a keypad - * - * @param string $keypadname Key pad name - * @param string $formname Form name - * @return string HTML code to show a js keypad. - */ -function genkeypad($keypadname, $formname) -{ - global $conf; - - if (empty($conf->global->CASHDESK_SHOW_KEYPAD)) { - return ''; - } - - // défine the font size of button - $btnsize = 32; - $sz = ''."\n"; - $sz .= '
    '."\n"; - $sz .= ''; - return $sz; -} diff --git a/htdocs/cashdesk/index.php b/htdocs/cashdesk/index.php deleted file mode 100644 index a4ee6fa415c..00000000000 --- a/htdocs/cashdesk/index.php +++ /dev/null @@ -1,232 +0,0 @@ - - * Copyright (C) 2011-2017 Juanjo Menent - * Copyright (C) 2011 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/index.php - * \ingroup cashdesk - * \brief File to login to point of sales - */ - -// Set and init common variables -// This include will set: config file variable $dolibarr_xxx, $conf, $langs and $mysoc objects -require_once '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; - -// Load translation files required by the page -$langs->loadLangs(array("admin", "cashdesk")); - -// Test if user logged -if ($_SESSION['uid'] > 0) { - header('Location: '.DOL_URL_ROOT.'/cashdesk/affIndex.php'); - exit; -} - -$usertxt = GETPOST('user', '', 1); -$err = GETPOST("err"); - -// Instantiate hooks of thirdparty module only if not already define -$hookmanager->initHooks(array('cashdeskloginpage')); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -$form = new Form($db); -$formproduct = new FormProduct($db); - -$arrayofcss = array('/cashdesk/css/style.css'); -top_htmlhead('', '', 0, 0, '', $arrayofcss); - -// Execute hook getLoginPageOptions (for table) -$parameters = array('entity' => GETPOST('entity', 'int')); -$reshook = $hookmanager->executeHooks('getLoginPageOptions', $parameters); // Note that $action and $object may have been modified by some hooks. -if (is_array($hookmanager->resArray) && !empty($hookmanager->resArray)) { - $morelogincontent = $hookmanager->resArray; // (deprecated) For compatibility -} else { - $morelogincontent = $hookmanager->resPrint; -} -?> - - -
    -
    -
    - - - -
    -
    - -
    -
    - -
    -
    -
    - - -'; diff --git a/htdocs/cashdesk/index_verif.php b/htdocs/cashdesk/index_verif.php deleted file mode 100644 index 94e0e7009cf..00000000000 --- a/htdocs/cashdesk/index_verif.php +++ /dev/null @@ -1,126 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - * - * This page is called after submission of login page. - * We set here login choices into session. - */ - -/** - * \file htdocs/cashdesk/index_verif.php - * \ingroup cashdesk - * \brief index_verif.php - */ - -include '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Auth.class.php'; - -// Load translation files required by the page -$langs->loadLangs(array("admin", "cashdesk")); - -$username = GETPOST("txtUsername"); -$password = GETPOST("pwdPassword"); -$thirdpartyid = (GETPOST('socid', 'int') > 0) ?GETPOST('socid', 'int') : $conf->global->CASHDESK_ID_THIRDPARTY; -$warehouseid = (GETPOST("warehouseid") > 0) ?GETPOST("warehouseid", 'int') : $conf->global->CASHDESK_ID_WAREHOUSE; -$bankid_cash = (GETPOST("CASHDESK_ID_BANKACCOUNT_CASH") > 0) ?GETPOST("CASHDESK_ID_BANKACCOUNT_CASH", 'int') : $conf->global->CASHDESK_ID_BANKACCOUNT_CASH; -$bankid_cheque = (GETPOST("CASHDESK_ID_BANKACCOUNT_CHEQUE") > 0) ?GETPOST("CASHDESK_ID_BANKACCOUNT_CHEQUE", 'int') : $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE; -$bankid_cb = (GETPOST("CASHDESK_ID_BANKACCOUNT_CB") > 0) ?GETPOST("CASHDESK_ID_BANKACCOUNT_CB", 'int') : $conf->global->CASHDESK_ID_BANKACCOUNT_CB; - - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -// Check username -if (empty($username)) { - $retour = $langs->trans("ErrorFieldRequired", $langs->transnoentities("Login")); - header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb); - exit; -} -// Check third party id -if (!($thirdpartyid > 0)) { - $retour = $langs->trans("ErrorFieldRequired", $langs->transnoentities("CashDeskThirdPartyForSell")); - header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb); - exit; -} - -// If we setup stock module to ask movement on invoices, we must not allow access if required setup not finished. -if (!empty($conf->stock->enabled) && empty($conf->global->CASHDESK_NO_DECREASE_STOCK) && !($warehouseid > 0)) { - $retour = $langs->trans("CashDeskYouDidNotDisableStockDecease"); - header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb); - exit; -} - -// If stock decrease on bill validation, check user has stock edit permissions -if (!empty($conf->stock->enabled) && empty($conf->global->CASHDESK_NO_DECREASE_STOCK) && !empty($username)) { - $testuser = new User($db); - $testuser->fetch(0, $username); - $testuser->getrights('stock'); - if (empty($testuser->rights->stock->creer)) { - $retour = $langs->trans("UserNeedPermissionToEditStockToUsePos"); - header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb); - exit; - } -} - - -// Check password -$auth = new Auth($db); -$retour = $auth->verif($username, $password); - -if ($retour >= 0) { - $return = array(); - - $sql = "SELECT rowid, lastname, firstname"; - $sql .= " FROM ".MAIN_DB_PREFIX."user"; - $sql .= " WHERE login = '".$db->escape($username)."'"; - $sql .= " AND entity IN (0,".$conf->entity.")"; - - $result = $db->query($sql); - if ($result) { - $tab = $db->fetch_array($res); - - foreach ($tab as $key => $value) { - $return[$key] = $value; - } - - $_SESSION['uid'] = $tab['rowid']; - $_SESSION['uname'] = $username; - $_SESSION['lastname'] = $tab['lastname']; - $_SESSION['firstname'] = $tab['firstname']; - $_SESSION['CASHDESK_ID_THIRDPARTY'] = ($thirdpartyid > 0 ? $thirdpartyid : ''); - $_SESSION['CASHDESK_ID_WAREHOUSE'] = ($warehouseid > 0 ? $warehouseid : ''); - - $_SESSION['CASHDESK_ID_BANKACCOUNT_CASH'] = ($bankid_cash > 0 ? $bankid_cash : ''); - $_SESSION['CASHDESK_ID_BANKACCOUNT_CHEQUE'] = ($bankid_cheque > 0 ? $bankid_cheque : ''); - $_SESSION['CASHDESK_ID_BANKACCOUNT_CB'] = ($bankid_cb > 0 ? $bankid_cb : ''); - //var_dump($_SESSION);exit; - - header('Location: '.DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=facturation&id=NOUV'); - exit; - } else { - dol_print_error($db); - } -} else { - // Load translation files required by the page - $langs->loadLangs(array("other", "errors")); - $retour = $langs->trans("ErrorBadLoginPassword"); - header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid); - exit; -} diff --git a/htdocs/cashdesk/javascript/dhtml.js b/htdocs/cashdesk/javascript/dhtml.js deleted file mode 100644 index fd15704b318..00000000000 --- a/htdocs/cashdesk/javascript/dhtml.js +++ /dev/null @@ -1,73 +0,0 @@ - -/* Copyright (C) 2007-2008 Jeremie Ollivier - * Copyright (C) 2015 Regis Houssin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// Instanciation et initialisation de l'objet xmlhttprequest -function file(fichier) { - - // Instanciation de l'objet pour Mozilla, Konqueror, Opera, Safari, etc ... - if (window.XMLHttpRequest) { - - xhr_object = new XMLHttpRequest (); - - // ... ou pour IE - } else if (window.ActiveXObject) { - - xhr_object = new ActiveXObject ("Microsoft.XMLHTTP"); - - } else { - - return (false); - - } - - xhr_object.open ("GET", fichier, false); - xhr_object.send (null); - - if (xhr_object.readyState == 4) { - - return (xhr_object.responseText); - - } else { - - return (false); - - } - -} - - -// aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage -function verifResultat(aCible, aCode, iLimit) { - if (aCode != '' && aCode.length >= iLimit) { - - if (texte = file('facturation_dhtml.php?code='+escape(aCode))) { - document.getElementById(aCible).innerHTML = texte; - } else - document.getElementById(aCible).innerHTML = ''; - } - -} - - -// Change dynamiquement la classe de l'element ayant l'id aIdElement pour aClasse -function setStyle(aIdElement, aClasse) { - - aIdElement.className = aClasse; - -} - diff --git a/htdocs/cashdesk/javascript/facturation1.js b/htdocs/cashdesk/javascript/facturation1.js deleted file mode 100644 index b25a1473c53..00000000000 --- a/htdocs/cashdesk/javascript/facturation1.js +++ /dev/null @@ -1,175 +0,0 @@ - -/* Copyright (C) 2007-2008 Jeremie Ollivier - * - * 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 . - */ - -// Calcul et affichage en temps reel des informations sur le produit en cours -function modif() { - - var prix_unit = parseFloat ( document.getElementById('frmQte').txtPrixUnit.value ); - var qte = parseFloat ( document.getElementById('frmQte').txtQte.value ); - var _index = parseFloat ( document.getElementById('frmQte').selTva.selectedIndex ); - var tva = parseFloat ( document.getElementById('frmQte').selTva.options[_index].text ); - var remise = parseInt ( document.getElementById('frmQte').txtRemise.value ); - var stock = document.getElementById('frmQte').txtStock.value; - -// // On s'assure que la quantitee tapee ne depasse pas le stock -// if ( qte > stock ) { -// -// qte = stock; -// document.getElementById('frmQte').txtQte.value = qte; -// -// } -// -// if ( qte < 1 ) { -// -// qte = 1; -// document.getElementById('frmQte').txtQte.value = qte; -// -// } -// -// if ( !stock || stock <= 0 ) { -// -// qte = 0; -// document.getElementById('frmQte').txtQte.value = qte; -// -// } - - // Calcul du total HT, sans remise - var total_ht = Math.round ( (prix_unit * qte) * 100 ) / 100; - - // Calcul du montant de la remise, apres s'etre assure que cette derniere ne soit pas negative - if ( remise <= 0 ) { - - document.getElementById('frmQte').txtRemise.value = 0; - montant_remise = 0; - - } else { - - var montant_remise = total_ht * remise / 100; - - } - - // Recalcul du montant total, avec la remise - var total = Math.round ( (total_ht - montant_remise) *100 ) / 100; - - // Affichage du resultat dans le formulaire - document.getElementById('frmQte').txtTotal.value = total.toFixed(2); - -} - -// Affecte la source de la requete (liste deroulante ou champ texte 'ref') au champ cache -function setSource(aSrc) { - - document.getElementById('frmFacturation').hdnSource.value = aSrc; - document.getElementById('frmFacturation').submit(); - -} - -// Verification de la coherence des informations saisies dans le formulaire de choix du nombre d'articles -function verifSaisie() { - - if ( document.getElementById('frmQte').txtQte.value ) { - - return true; - - } else { - - document.getElementById('frmQte').txtQte.focus(); - return false; - - } - -} - -// Verification de la coherence des informations saisies dans le formulaire de calcul de la difference -function verifDifference() { - - var du = parseFloat ( document.getElementById('frmDifference').txtDu.value ); - var encaisse = parseFloat ( document.getElementById('frmDifference').txtEncaisse.value ); - - if (encaisse > du) { - - resultat = Math.round ( (encaisse - du) * 100 ) / 100; - document.getElementById('frmDifference').txtRendu.value = resultat.toFixed(2); - - } else if (encaisse == du) { - - document.getElementById('frmDifference').txtRendu.value = '0'; - - } else { - - document.getElementById('frmDifference').txtRendu.value = '-'; - - } - -} - -// Affecte le moyen de paiement (ESP, CB ou CHQ) au champ cache en fonction du bouton clique -function verifClic(aChoix) { - - document.getElementById('frmDifference').hdnChoix.value = aChoix; - -} - -// Determination du moyen de paiement, et validation du formulaire si les donnees sont coherentes -function verifReglement() { - - var choix = document.getElementById('frmDifference').hdnChoix.value; - var du = parseFloat (document.getElementById('frmDifference').txtDu.value); - var encaisse = parseFloat (document.getElementById('frmDifference').txtEncaisse.value); - - if ( du > 0 ) { - - if ( choix == 'ESP' ) { - - if ( encaisse != 0 && encaisse >= du ) { - - return true; - - } else { - - document.getElementById('frmDifference').txtEncaisse.select(); - document.getElementById('frmDifference').txtEncaisse.focus(); - return false; - - } - - } else if ( choix == 'DIF' ) { - - if ( document.getElementById('frmDifference').txtDatePaiement.value ) { - - return true; - - } else { - - document.getElementById('frmDifference').txtDatePaiement.select(); - document.getElementById('frmDifference').txtDatePaiement.focus(); - return false; - - } - - } else { - - return true; - - } - - } else { - - return false; - - } -} diff --git a/htdocs/cashdesk/javascript/keypad.js b/htdocs/cashdesk/javascript/keypad.js deleted file mode 100644 index 48d8491e8bc..00000000000 --- a/htdocs/cashdesk/javascript/keypad.js +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2014 Charles-FR BENKE - * - * 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 . - */ - -function closekeypad(keypadname) -{ - document.getElementById('keypad'+keypadname).style.display='none'; - document.getElementById('closekeypad'+keypadname).style.display='none'; - document.getElementById('openkeypad'+keypadname).style.display='inline-block'; -} -function openkeypad(keypadname) -{ - document.getElementById('keypad'+keypadname).style.display='inline-block'; - document.getElementById('closekeypad'+keypadname).style.display='inline-block'; - document.getElementById('openkeypad'+keypadname).style.display='none'; -} -function addvalue(keypadname, formname, valueToAdd) -{ - myform=document.forms[formname]; - if (myform.elements[keypadname].value=="0") - myform.elements[keypadname].value=""; - myform.elements[keypadname].value+=valueToAdd; - modif(); -} diff --git a/htdocs/cashdesk/tpl/facturation1.tpl.php b/htdocs/cashdesk/tpl/facturation1.tpl.php deleted file mode 100644 index 41a0f0b757e..00000000000 --- a/htdocs/cashdesk/tpl/facturation1.tpl.php +++ /dev/null @@ -1,225 +0,0 @@ - - * Copyright (C) 2011 Laurent Destailleur - * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2015 Regis Houssin - * Copyright (C) 2018 Frédéric France - * - * 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 . - * - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - -// Load translation files required by the page -$langs->loadLangs(array("main", "bills", "cashdesk")); - -// Object $form must de defined - -?> - - - - - - -
    trans("Article"); ?> -
    - - - - - - - - - - - - -
    trans("FilterRefOrLabelOrBC"); ?>trans("Designation"); ?>
    - - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    trans("Qty"); ?>trans("PriceUHT"); ?>trans("Discount"); ?> (%)trans("VATRate"); ?>
    - - - - - vatrate; // To get vat rate we just have selected - - $buyer = new Societe($db); - if ($_SESSION["CASHDESK_ID_THIRDPARTY"] > 0) { - $buyer->fetch($_SESSION["CASHDESK_ID_THIRDPARTY"]); - } - echo $form->load_tva('selTva', (GETPOSTISSET("selTva") ? GETPOST("selTva", 'alpha', 2) : $vatrate), $mysoc, $buyer, 0, 0, '', false, -1); - ?> -
    trans("Stock"); ?> - - trans("TotalHT"); ?>
    - - " /> -
    -
    - - -
    - - -
    trans("Amount"); ?> - - - - - - - - - - - -
    trans("TotalTicket"); ?>trans("Received"); ?>trans("Change"); ?>
    - -
    -
    - -
    trans("PaymentMode"); ?> -
    - '; - if (empty($_SESSION['CASHDESK_ID_BANKACCOUNT_CASH']) || $_SESSION['CASHDESK_ID_BANKACCOUNT_CASH'] < 0) { - $langs->load("errors"); - print 'transnoentitiesnoconv("CashDesk"))).'" />'; - } else { - print ''; - } - print '
    '; - print '
    '; - if (empty($_SESSION['CASHDESK_ID_BANKACCOUNT_CB']) || $_SESSION['CASHDESK_ID_BANKACCOUNT_CB'] < 0) { - $langs->load("errors"); - print 'transnoentitiesnoconv("CashDesk"))).'" />'; - } else { - print ''; - } - print '
    '; - print '
    '; - if (empty($_SESSION['CASHDESK_ID_BANKACCOUNT_CHEQUE']) || $_SESSION['CASHDESK_ID_BANKACCOUNT_CHEQUE'] < 0) { - $langs->load("errors"); - print 'transnoentitiesnoconv("CashDesk")).'" />'; - } else { - print ''; - } - print '
    '; - print '
    '; - print '
    '; - ?> - " onclick="javascript: verifClic('DIF');" /> - trans("DateDue").' :'; - print $form->selectDate(-1, 'txtDatePaiement', 0, 0, 0, 'paymentmode', 1, 0); - print '
    '; - ?> -
    -
    -
    - - diff --git a/htdocs/cashdesk/tpl/liste_articles.tpl.php b/htdocs/cashdesk/tpl/liste_articles.tpl.php deleted file mode 100644 index 74be200945f..00000000000 --- a/htdocs/cashdesk/tpl/liste_articles.tpl.php +++ /dev/null @@ -1,73 +0,0 @@ - - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - * - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - - -require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - -// Load translation files required by the page -$langs->loadLangs(array("main", "bills", "cashdesk")); - -?> - -
    -
    - -

    trans("ShoppingCart"); ?>

    - -fetch($thirdpartyid); -/** end add Ditto */ - -$tab = (!empty($_SESSION['poscart']) ? $_SESSION['poscart'] : array()); - -$tab_size = count($tab); -if ($tab_size <= 0) { - print '
    '.$langs->trans("NoArticle").'

    '; -} else { - for ($i = 0; $i < $tab_size; $i++) { - echo ('
    '."\n"); - echo ('

    '.$tab[$i]['ref'].' - '.$tab[$i]['label'].'

    '."\n"); - - if ($tab[$i]['remise_percent'] > 0) { - $remise_percent = ' -'.$tab[$i]['remise_percent'].'%'; - } else { - $remise_percent = ''; - } - - $remise = $tab[$i]['remise']; - - echo ('

    '.$tab[$i]['qte'].' x '.price2num($tab[$i]['price'], 'MT').$remise_percent.' = '.price(price2num($tab[$i]['total_ht'], 'MT'), 0, $langs, 0, 0, -1, $conf->currency).' '.$langs->trans("HT").' ('.price(price2num($tab[$i]['total_ttc'], 'MT'), 0, $langs, 0, 0, -1, $conf->currency).' '.$langs->trans("TTC").')

    '."\n"); - echo ('
    '."\n"); - } -} - -echo ('

    '.$langs->trans("Total").' : '.price(price2num($total_ttc, 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'

    '."\n"); - -?>
    -
    diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php deleted file mode 100644 index 67891aa67cf..00000000000 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ /dev/null @@ -1,90 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin - * Copyright (C) 2017 Juanjo Menent - * Copyright (C) 2012 Marcos García - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - - -include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; -include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; -include_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; - -/*if (!empty($_SESSION["CASHDESK_ID_THIRDPARTY"])) -{ - $company=new Societe($db); - $company->fetch($_SESSION["CASHDESK_ID_THIRDPARTY"]); - $companyLink = $company->getNomUrl(1); -}*/ -if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"])) { - $bankcash = new Account($db); - $bankcash->fetch($_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"]); - $bankcash->label = $bankcash->ref; - $bankcashLink = $bankcash->getNomUrl(1); -} -if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CB"])) { - $bankcb = new Account($db); - $bankcb->fetch($_SESSION["CASHDESK_ID_BANKACCOUNT_CB"]); - $bankcbLink = $bankcb->getNomUrl(1); -} -if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"])) { - $bankcheque = new Account($db); - $bankcheque->fetch($_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"]); - $bankchequeLink = $bankcheque->getNomUrl(1); -} -if (!empty($_SESSION["CASHDESK_ID_WAREHOUSE"]) && !empty($conf->stock->enabled)) { - $warehouse = new Entrepot($db); - $warehouse->fetch($_SESSION["CASHDESK_ID_WAREHOUSE"]); - $warehouseLink = $warehouse->getNomUrl(1); -} - -// Load translation files required by the page -$langs->loadLangs(array("main", "cashdesk")); - -print "\n".''."\n"; -print ''; -print "\n".''."\n"; diff --git a/htdocs/cashdesk/tpl/ticket.tpl.php b/htdocs/cashdesk/tpl/ticket.tpl.php deleted file mode 100644 index 9220e3daad4..00000000000 --- a/htdocs/cashdesk/tpl/ticket.tpl.php +++ /dev/null @@ -1,119 +0,0 @@ - - * Copyright (C) 2011 Laurent Destailleur - * Copyright (C) 2012 Marcos García - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - - -include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - -// Load translation files required by the page -$langs->loadLangs(array("main", "cashdesk")); - -top_httphead('text/html'); - -$facid = GETPOST('facid', 'int'); -$object = new Facture($db); -$object->fetch($facid); - -?> - - - <?php echo $langs->trans('PrintTicket') ?> - - - - - -
    - -
    -

    name; ?>
    -
    -

    - -

    '; - print $object->ref; - ?>

    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - -
    trans("Code"); ?>trans("Label"); ?>trans("Qty"); ?>trans("Discount").' (%)'; ?>trans("TotalHT"); ?>
    currency); ?>
    - - - - - - - - - - - - -
    trans("TotalHT"); ?>amountWithoutTax(), 'MT'), '', $langs, 0, -1, -1, $conf->currency)."\n"; ?>
    trans("TotalVAT").''.price(price2num($obj_facturation->amountVat(), 'MT'), '', $langs, 0, -1, -1, $conf->currency)."\n"; ?>
    trans("TotalTTC").''.price(price2num($obj_facturation->amountWithTax(), 'MT'), '', $langs, 0, -1, -1, $conf->currency)."\n"; ?>
    - - - -trans("Close"); ?> - - diff --git a/htdocs/cashdesk/tpl/validation1.tpl.php b/htdocs/cashdesk/tpl/validation1.tpl.php deleted file mode 100644 index c2a9124f300..00000000000 --- a/htdocs/cashdesk/tpl/validation1.tpl.php +++ /dev/null @@ -1,118 +0,0 @@ - - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 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 . - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - -// Load translation files required by the page -$langs->loadLangs(array("main", "bills", "banks")); - -// Object $form must de defined - -?> - -
    trans("Summary"); ?> - - - - - -amountVat()) { - echo (''); -} else { - echo (''); -} -?> - - - -getsetPaymentMode() == 'DIF') { - echo (''); -} else { - echo (''); -} - -// Affichage du montant rendu (reglement en especes) -if ($obj_facturation->amountReturned()) { - echo (''); -} - -?> - -
    trans("Invoice"); ?>numInvoice(); ?>
    trans("TotalHT"); ?>amountWithoutTax(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency); ?>
    '.$langs->trans("VAT").''.price(price2num($obj_facturation->amountVat(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'
    '.$langs->trans("VAT").''.$langs->trans("NoVAT").'
    trans("TotalTTC"); ?> amountWithTax(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency); ?>
    trans("PaymentMode"); ?> - getSetPaymentMode()) { - case 'ESP': - echo $langs->trans("Cash"); - $filtre = 'courant=2'; - if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"])) { - $selected = $_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"]; - } - break; - case 'CB': - echo $langs->trans("CreditCard"); - $filtre = 'courant=1'; - if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CB"])) { - $selected = $_SESSION["CASHDESK_ID_BANKACCOUNT_CB"]; - } - break; - case 'CHQ': - echo $langs->trans("Cheque"); - $filtre = 'courant=1'; - if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"])) { - $selected = $_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"]; - } - break; - case 'DIF': - echo $langs->trans("Reported"); - $filtre = 'courant=1 OR courant=2'; - $selected = ''; - break; - default: - $filtre = 'courant=1 OR courant=2'; - $selected = ''; - } - - ?> -
    '.$langs->trans("DateDue").''.$obj_facturation->paiementLe().'
    '.$langs->trans("Received").''.price(price2num($obj_facturation->amountCollected(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'
    '.$langs->trans("Change").''.price(price2num($obj_facturation->amountReturned(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'
    - -
    - -

    - trans("BankToPay")."
    "; - $form->select_comptes($selected, 'cashdeskbank', 0, $filtre); - ?> -

    -

    trans("Notes"); ?>

    - - -
    - - - -
    diff --git a/htdocs/cashdesk/tpl/validation2.tpl.php b/htdocs/cashdesk/tpl/validation2.tpl.php deleted file mode 100644 index d89edfdc41a..00000000000 --- a/htdocs/cashdesk/tpl/validation2.tpl.php +++ /dev/null @@ -1,57 +0,0 @@ - - * Copyright (C) 2012 Marcos García - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - -// Load translation files required by the page -$langs->loadLangs(array("main", "bills")); - -?> - -
    - -
    -

    trans("SellFinished"); ?>


    - - - -

    trans("ShowInvoice"); ?>

    -
    -

    trans("PrintTicket"); ?>

    - -
    -
    -
    - diff --git a/htdocs/cashdesk/validation_ok.php b/htdocs/cashdesk/validation_ok.php deleted file mode 100644 index 124d47a1e04..00000000000 --- a/htdocs/cashdesk/validation_ok.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation_ok.php - * \ingroup cashdesk - * \brief validation_ok.php - */ - -// Affichage des templates -require 'tpl/validation2.tpl.php'; diff --git a/htdocs/cashdesk/validation_ticket.php b/htdocs/cashdesk/validation_ticket.php deleted file mode 100644 index 5fcf017ada1..00000000000 --- a/htdocs/cashdesk/validation_ticket.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation_ticket.php - * \ingroup cashdesk - * \brief validation_ticket.php - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Facturation.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * Actions - */ - -$obj_facturation = unserialize($_SESSION['serObjFacturation']); -unset($_SESSION['serObjFacturation']); - -$hookmanager->initHooks(array('cashdeskTplTicket')); - -$parameters = array(); -$reshook = $hookmanager->executeHooks('doActions', $parameters, $obj_facturation); -if (empty($reshook)) { - require 'tpl/ticket.tpl.php'; -} - - -$_SESSION['serObjFacturation'] = serialize($obj_facturation); diff --git a/htdocs/cashdesk/validation_verif.php b/htdocs/cashdesk/validation_verif.php deleted file mode 100644 index 0c9758d9a29..00000000000 --- a/htdocs/cashdesk/validation_verif.php +++ /dev/null @@ -1,361 +0,0 @@ - - * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation_verif.php - * \ingroup cashdesk - * \brief validation_verif.php - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Facturation.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - -$obj_facturation = unserialize($_SESSION['serObjFacturation']); - -$action = GETPOST('action', 'aZ09'); -$bankaccountid = GETPOST('cashdeskbank'); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * Actions - */ - -switch ($action) { - default: - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=validation'; - break; - - case 'validate_sell': - $thirdpartyid = $_SESSION['CASHDESK_ID_THIRDPARTY']; - - $company = new Societe($db); - $company->fetch($thirdpartyid); - - $invoice = new Facture($db); - $invoice->date = dol_now(); - $invoice->type = Facture::TYPE_STANDARD; - - // To use a specific numbering module for POS, reset $conf->global->FACTURE_ADDON and other vars here - // and restore values just after - $sav_FACTURE_ADDON = ''; - if (!empty($conf->global->POS_ADDON)) { - $sav_FACTURE_ADDON = $conf->global->FACTURE_ADDON; - $conf->global->FACTURE_ADDON = $conf->global->POS_ADDON; - - // To force prefix only for POS with terre module - if (!empty($conf->global->POS_NUMBERING_TERRE_FORCE_PREFIX)) { - $conf->global->INVOICE_NUMBERING_TERRE_FORCE_PREFIX = $conf->global->POS_NUMBERING_TERRE_FORCE_PREFIX; - } - // To force prefix only for POS with mars module - if (!empty($conf->global->POS_NUMBERING_MARS_FORCE_PREFIX)) { - $conf->global->INVOICE_NUMBERING_MARS_FORCE_PREFIX = $conf->global->POS_NUMBERING_MARS_FORCE_PREFIX; - } - // To force rule only for POS with mercure - //... - } - - $num = $invoice->getNextNumRef($company); - - // Restore save values - if (!empty($sav_FACTURE_ADDON)) { - $conf->global->FACTURE_ADDON = $sav_FACTURE_ADDON; - } - - $obj_facturation->numInvoice($num); - - $obj_facturation->getSetPaymentMode($_POST['hdnChoix']); - - // Si paiement autre qu'en especes, montant encaisse = prix total - $mode_reglement = $obj_facturation->getSetPaymentMode(); - if ($mode_reglement != 'ESP') { - $montant = $obj_facturation->amountWithTax(); - } else { - $montant = $_POST['txtEncaisse']; - } - - if ($mode_reglement != 'DIF') { - $obj_facturation->amountCollected($montant); - - //Determination de la somme rendue - $total = $obj_facturation->amountWithTax(); - $encaisse = $obj_facturation->amountCollected(); - - $obj_facturation->amountReturned($encaisse - $total); - } else { - //$txtDatePaiement=$_POST['txtDatePaiement']; - $datePaiement = dol_mktime(0, 0, 0, $_POST['txtDatePaiementmonth'], $_POST['txtDatePaiementday'], $_POST['txtDatePaiementyear']); - $txtDatePaiement = dol_print_date($datePaiement, 'dayrfc'); - $obj_facturation->paiementLe($txtDatePaiement); - } - - $redirection = 'affIndex.php?menutpl=validation'; - break; - - - case 'retour': - $redirection = 'affIndex.php?menutpl=facturation'; - break; - - - case 'validate_invoice': - $now = dol_now(); - - // Recuperation de la date et de l'heure - $date = dol_print_date($now, 'day'); - $heure = dol_print_date($now, 'hour'); - - $note = ''; - if (!is_object($obj_facturation)) { - dol_print_error('', 'Empty context'); - exit; - } - - switch ($obj_facturation->getSetPaymentMode()) { - case 'DIF': - $mode_reglement_id = 0; - //$cond_reglement_id = dol_getIdFromCode($db,'RECEP','cond_reglement','code','rowid') - $cond_reglement_id = 0; - break; - case 'ESP': - $mode_reglement_id = dol_getIdFromCode($db, 'LIQ', 'c_paiement', 'code', 'id', 1); - $cond_reglement_id = 0; - $note .= $langs->trans("Cash")."\n"; - $note .= $langs->trans("Received").' : '.$obj_facturation->amountCollected()." ".$conf->currency."\n"; - $note .= $langs->trans("Rendu").' : '.$obj_facturation->amountReturned()." ".$conf->currency."\n"; - $note .= "\n"; - $note .= '--------------------------------------'."\n\n"; - break; - case 'CB': - $mode_reglement_id = dol_getIdFromCode($db, 'CB', 'c_paiement', 'code', 'id', 1); - $cond_reglement_id = 0; - break; - case 'CHQ': - $mode_reglement_id = dol_getIdFromCode($db, 'CHQ', 'c_paiement', 'code', 'id', 1); - $cond_reglement_id = 0; - break; - } - if (empty($mode_reglement_id)) { - $mode_reglement_id = 0; // If mode_reglement_id not found - } - if (empty($cond_reglement_id)) { - $cond_reglement_id = 0; // If cond_reglement_id not found - } - $note .= GETPOST('txtaNotes', 'alphanohtml'); - dol_syslog("obj_facturation->getSetPaymentMode()=".$obj_facturation->getSetPaymentMode()." mode_reglement_id=".$mode_reglement_id." cond_reglement_id=".$cond_reglement_id); - - $error = 0; - - - $db->begin(); - - $user->fetch($_SESSION['uid']); - $user->getrights(); - - $thirdpartyid = $_SESSION['CASHDESK_ID_THIRDPARTY']; - $societe = new Societe($db); - $societe->fetch($thirdpartyid); - - $invoice = new Facture($db); - - // Get content of cart - $tab_liste = $_SESSION['poscart']; - - // Loop on each line into cart - $tab_liste_size = count($tab_liste); - for ($i = 0; $i < $tab_liste_size; $i++) { - $tmp = getTaxesFromId($tab_liste[$i]['fk_tva']); - $vat_rate = $tmp['rate']; - $vat_npr = $tmp['npr']; - $vat_src_code = $tmp['code']; - - $invoiceline = new FactureLigne($db); - $invoiceline->fk_product = $tab_liste[$i]['fk_article']; - $invoiceline->desc = $tab_liste[$i]['label']; - $invoiceline->qty = $tab_liste[$i]['qte']; - $invoiceline->remise_percent = $tab_liste[$i]['remise_percent']; - $invoiceline->price = $tab_liste[$i]['price']; - $invoiceline->subprice = $tab_liste[$i]['price']; - - $invoiceline->tva_tx = empty($vat_rate) ? 0 : $vat_rate; // works even if vat_rate is '' - $invoiceline->info_bits = empty($vat_npr) ? 0 : $vat_npr; - $invoiceline->vat_src_code = $vat_src_code; - - $invoiceline->total_ht = $tab_liste[$i]['total_ht']; - $invoiceline->total_ttc = $tab_liste[$i]['total_ttc']; - $invoiceline->total_tva = $tab_liste[$i]['total_vat']; - $invoiceline->total_localtax1 = $tab_liste[$i]['total_localtax1']; - $invoiceline->total_localtax2 = $tab_liste[$i]['total_localtax2']; - - $invoice->lines[] = $invoiceline; - } - - $invoice->socid = $conf_fksoc; - $invoice->date_creation = $now; - $invoice->date = $now; - $invoice->date_lim_reglement = 0; - $invoice->total_ht = $obj_facturation->amountWithoutTax(); - $invoice->total_tva = $obj_facturation->amountVat(); - $invoice->total_ttc = $obj_facturation->amountWithTax(); - $invoice->note_private = $note; - $invoice->cond_reglement_id = $cond_reglement_id; - $invoice->mode_reglement_id = $mode_reglement_id; - $invoice->module_source = 'cashdesk'; - $invoice->pos_source = '0'; - //print "c=".$invoice->cond_reglement_id." m=".$invoice->mode_reglement_id; exit; - - // Si paiement differe ... - if ($obj_facturation->getSetPaymentMode() == 'DIF') { - $resultcreate = $invoice->create($user, 0, dol_stringtotime($obj_facturation->paiementLe())); - if ($resultcreate > 0) { - $warehouseidtodecrease = (isset($_SESSION["CASHDESK_ID_WAREHOUSE"]) ? $_SESSION["CASHDESK_ID_WAREHOUSE"] : 0); - if (!empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) { - $warehouseidtodecrease = 0; // If a particular stock is defined, we disable choice - } - - $resultvalid = $invoice->validate($user, $obj_facturation->numInvoice(), 0); - - if ($warehouseidtodecrease > 0) { - // Decrease - require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; - $langs->load("agenda"); - // Loop on each line - $cpt = count($invoice->lines); - for ($i = 0; $i < $cpt; $i++) { - if ($invoice->lines[$i]->fk_product > 0) { - $mouvP = new MouvementStock($db); - $mouvP->origin = &$invoice; - // We decrease stock for product - if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) { - $result = $mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } else { - $result = $mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } - if ($result < 0) { - $error++; - } - } - } - } - } else { - setEventMessages($invoice->error, $invoice->errors, 'errors'); - $error++; - } - - $id = $invoice->id; - } else { - $resultcreate = $invoice->create($user, 0, 0); - if ($resultcreate > 0) { - $warehouseidtodecrease = (isset($_SESSION["CASHDESK_ID_WAREHOUSE"]) ? $_SESSION["CASHDESK_ID_WAREHOUSE"] : 0); - if (!empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) { - $warehouseidtodecrease = 0; // If a particular stock is defined, we disable choice - } - - $resultvalid = $invoice->validate($user, $obj_facturation->numInvoice(), 0); - - if ($warehouseidtodecrease > 0) { - // Decrease - require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; - $langs->load("agenda"); - // Loop on each line - $cpt = count($invoice->lines); - for ($i = 0; $i < $cpt; $i++) { - if ($invoice->lines[$i]->fk_product > 0) { - $mouvP = new MouvementStock($db); - $mouvP->origin = &$invoice; - // We decrease stock for product - if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) { - $result = $mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } else { - $result = $mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } - if ($result < 0) { - setEventMessages($mouvP->error, $mouvP->errors, 'errors'); - $error++; - } - } - } - } - - $id = $invoice->id; - - // Add the payment - $payment = new Paiement($db); - $payment->datepaye = $now; - $payment->amounts[$invoice->id] = $obj_facturation->amountWithTax(); - $payment->note_public = $langs->trans("Payment").' '.$langs->trans("Invoice").' '.$obj_facturation->numInvoice(); - $payment->paiementid = $invoice->mode_reglement_id; - $payment->num_paiement = ''; - $payment->num_payment = ''; - - $paiement_id = $payment->create($user); - if ($paiement_id > 0) { - if (!$error) { - $result = $payment->addPaymentToBank($user, 'payment', '(CustomerInvoicePayment)', $bankaccountid, '', ''); - if (!$result > 0) { - $errmsg = $paiement->error; - $error++; - } - } - - if (!$error) { - if ($invoice->total_ttc == $obj_facturation->amountWithTax() - && $obj_facturation->getSetPaymentMode() != 'DIFF') { - // We set status to paid - $result = $invoice->setPaid($user); - //print 'set paid';exit; - } - } - } else { - setEventMessages($invoice->error, $invoice->errors, 'errors'); - $error++; - } - } else { - setEventMessages($invoice->error, $invoice->errors, 'errors'); - $error++; - } - } - - - if (!$error) { - $db->commit(); - $redirection = 'affIndex.php?menutpl=validation_ok&facid='.$id; // Ajout de l'id de la facture, pour l'inclure dans un lien pointant directement vers celle-ci dans Dolibarr - } else { - $db->rollback(); - $redirection = 'affIndex.php?facid='.$id.'&error=1&mesg=ErrorFailedToCreateInvoice'; // Ajout de l'id de la facture, pour l'inclure dans un lien pointant directement vers celle-ci dans Dolibarr - } - break; - - // End of case: validate_invoice -} - -unset($_SESSION['serObjFacturation']); - -$_SESSION['serObjFacturation'] = serialize($obj_facturation); - -header('Location: '.$redirection); -exit; diff --git a/htdocs/categories/admin/categorie.php b/htdocs/categories/admin/categorie.php index bddeb9a771a..02e6892b571 100644 --- a/htdocs/categories/admin/categorie.php +++ b/htdocs/categories/admin/categorie.php @@ -101,9 +101,9 @@ if ($conf->use_javascript_ajax) { print ajax_constantonoff('CATEGORIE_RECURSIV_ADD'); } else { if (empty($conf->global->CATEGORIE_RECURSIV_ADD)) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } print ''; diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 734f2e89506..ec3d75dee1a 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Laurent Destailleur + * Copyright (C) 2006-2021 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2013 Florian Henry @@ -257,6 +257,7 @@ if ($user->rights->categorie->creer) { // Parent category print ''.$langs->trans("AddIn").''; + print img_picto($langs->trans("ParentCategory"), 'category', 'class="pictofixedwidth"'); print $form->select_all_categories($type, $catorigin, 'parent'); print ajax_combobox('parent'); print ''; @@ -265,7 +266,7 @@ if ($user->rights->categorie->creer) { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit', $parameters); + print $object->showOptionals($extrafields, 'create', $parameters); } print ''; @@ -273,7 +274,7 @@ if ($user->rights->categorie->creer) { print dol_get_fiche_end(''); print '
    '; - print ''; + print ''; print '     '; print ''; print '
    '; diff --git a/htdocs/categories/class/api_categories.class.php b/htdocs/categories/class/api_categories.class.php index 158627e274c..84300e76d98 100644 --- a/htdocs/categories/class/api_categories.class.php +++ b/htdocs/categories/class/api_categories.class.php @@ -103,7 +103,7 @@ class Categories extends DolibarrApi if (!is_array($cats)) { throw new RestException(500, 'Error when fetching child categories', array_merge(array($this->category->error), $this->category->errors)); } - $this->category->childs = []; + $this->category->childs = array(); foreach ($cats as $cat) { $this->category->childs[] = $this->_cleanObjectDatas($cat); } diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index b98cff5b3a5..d5c135279bf 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -34,6 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; @@ -56,6 +57,8 @@ class Categorie extends CommonObject const TYPE_WAREHOUSE = 'warehouse'; const TYPE_ACTIONCOMM = 'actioncomm'; const TYPE_WEBSITE_PAGE = 'website_page'; + const TYPE_TICKET = 'ticket'; + const TYPE_KNOWLEDGEMANAGEMENT = 'knowledgemanagement'; /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png @@ -78,7 +81,9 @@ class Categorie extends CommonObject 'bank_line' => 8, 'warehouse' => 9, 'actioncomm' => 10, - 'website_page' => 11 + 'website_page' => 11, + 'ticket' => 12, + 'knowledgemanagement' => 13 ); /** @@ -98,7 +103,9 @@ class Categorie extends CommonObject 8 => 'bank_line', 9 => 'warehouse', 10 => 'actioncomm', - 11 => 'website_page' + 11 => 'website_page', + 12 => 'ticket', + 13 => 'knowledgemanagement' ); /** @@ -141,7 +148,9 @@ class Categorie extends CommonObject 'project' => 'Project', 'warehouse'=> 'Entrepot', 'actioncomm' => 'ActionComm', - 'website_page' => 'WebsitePage' + 'website_page' => 'WebsitePage', + 'ticket' => 'Ticket', + 'knowledgemanagement' => 'KnowledgeRecord' ); /** @@ -234,6 +243,8 @@ class Categorie extends CommonObject * @see Categorie::TYPE_WAREHOUSE * @see Categorie::TYPE_ACTIONCOMM * @see Categorie::TYPE_WEBSITE_PAGE + * @see Categorie::TYPE_TICKET + */ public $type; @@ -263,15 +274,16 @@ class Categorie extends CommonObject $parameters = array(); $reshook = $hookmanager->executeHooks('constructCategory', $parameters, $this); // Note that $action and $object may have been modified by some hooks if ($reshook >= 0 && !empty($hookmanager->resArray)) { - $mapList = $hookmanager->resArray; - $mapId = $mapList['id']; - $mapCode = $mapList['code']; - self::$MAP_ID_TO_CODE[$mapId] = $mapCode; - $this->MAP_ID[$mapCode] = $mapId; - $this->MAP_CAT_FK[$mapCode] = $mapList['cat_fk']; - $this->MAP_CAT_TABLE[$mapCode] = $mapList['cat_table']; - $this->MAP_OBJ_CLASS[$mapCode] = $mapList['obj_class']; - $this->MAP_OBJ_TABLE[$mapCode] = $mapList['obj_table']; + foreach ($hookmanager->resArray as $mapList) { + $mapId = $mapList['id']; + $mapCode = $mapList['code']; + self::$MAP_ID_TO_CODE[$mapId] = $mapCode; + $this->MAP_ID[$mapCode] = $mapId; + $this->MAP_CAT_FK[$mapCode] = $mapList['cat_fk']; + $this->MAP_CAT_TABLE[$mapCode] = $mapList['cat_table']; + $this->MAP_OBJ_CLASS[$mapCode] = $mapList['obj_class']; + $this->MAP_OBJ_TABLE[$mapCode] = $mapList['obj_table']; + } } } } @@ -447,7 +459,7 @@ class Categorie extends CommonObject $sql .= ($this->socid > 0 ? $this->socid : 'null').", "; } $sql .= "'".$this->db->escape($this->visible)."', "; - $sql .= $this->db->escape($type).", "; + $sql .= ((int) $type).", "; $sql .= (!empty($this->import_key) ? "'".$this->db->escape($this->import_key)."'" : 'null').", "; $sql .= (!empty($this->ref_ext) ? "'".$this->db->escape($this->ref_ext)."'" : 'null').", "; $sql .= (int) $conf->entity.", "; @@ -539,7 +551,7 @@ class Categorie extends CommonObject $sql .= ", visible = ".(int) $this->visible; $sql .= ", fk_parent = ".(int) $this->fk_parent; $sql .= ", fk_user_modif = ".(int) $user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update", LOG_DEBUG); if ($this->db->query($sql)) { @@ -605,7 +617,7 @@ class Categorie extends CommonObject if (!$error) { $sql = "UPDATE ".MAIN_DB_PREFIX."categorie"; $sql .= " SET fk_parent = ".((int) $this->fk_parent); - $sql .= " WHERE fk_parent = ".$this->id; + $sql .= " WHERE fk_parent = ".((int) $this->id); if (!$this->db->query($sql)) { $this->error = $this->db->lasterror(); @@ -626,7 +638,7 @@ class Categorie extends CommonObject ); foreach ($arraydelete as $key => $value) { $sql = "DELETE FROM ".MAIN_DB_PREFIX.$key; - $sql .= " WHERE ".$value." = ".$this->id; + $sql .= " WHERE ".$value." = ".((int) $this->id); if (!$this->db->query($sql)) { $this->errors[] = $this->db->lasterror(); dol_syslog("Error sql=".$sql." ".$this->error, LOG_ERR); @@ -679,13 +691,13 @@ class Categorie extends CommonObject $sql = "INSERT INTO ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type]); $sql .= " (fk_categorie, fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type]).")"; - $sql .= " VALUES (".$this->id.", ".$obj->id.")"; + $sql .= " VALUES (".((int) $this->id).", ".((int) $obj->id).")"; dol_syslog(get_class($this).'::add_type', LOG_DEBUG); if ($this->db->query($sql)) { if (!empty($conf->global->CATEGORIE_RECURSIV_ADD)) { $sql = 'SELECT fk_parent FROM '.MAIN_DB_PREFIX.'categorie'; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::add_type", LOG_DEBUG); $resql = $this->db->query($sql); @@ -773,7 +785,7 @@ class Categorie extends CommonObject $this->db->begin(); $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type]); - $sql .= " WHERE fk_categorie = ".$this->id; + $sql .= " WHERE fk_categorie = ".((int) $this->id); $sql .= " AND fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".((int) $obj->id); dol_syslog(get_class($this).'::del_type', LOG_DEBUG); @@ -825,11 +837,11 @@ class Categorie extends CommonObject $sql .= " FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type])." as c"; $sql .= ", ".MAIN_DB_PREFIX.(empty($this->MAP_OBJ_TABLE[$type]) ? $type : $this->MAP_OBJ_TABLE[$type])." as o"; $sql .= " WHERE o.entity IN (".getEntity($obj->element).")"; - $sql .= " AND c.fk_categorie = ".$this->id; + $sql .= " AND c.fk_categorie = ".((int) $this->id); $sql .= " AND c.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = o.rowid"; // Protection for external users if (($type == 'customer' || $type == 'supplier') && $user->socid > 0) { - $sql .= " AND o.rowid = ".$user->socid; + $sql .= " AND o.rowid = ".((int) $user->socid); } if ($limit > 0 || $offset > 0) { $sql .= $this->db->plimit($limit + 1, $offset); @@ -869,7 +881,7 @@ class Categorie extends CommonObject public function containsObject($type, $object_id) { $sql = "SELECT COUNT(*) as nb FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type]); - $sql .= " WHERE fk_categorie = ".$this->id." AND fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".((int) $object_id); + $sql .= " WHERE fk_categorie = ".((int) $this->id)." AND fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".((int) $object_id); dol_syslog(get_class($this)."::containsObject", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { @@ -916,12 +928,11 @@ class Categorie extends CommonObject $idoftype = array_search($type, self::$MAP_ID_TO_CODE); $sql = "SELECT s.rowid"; - $sql .= " FROM ".MAIN_DB_PREFIX."categorie as s"; - $sql .= " , ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub "; + $sql .= " FROM ".MAIN_DB_PREFIX."categorie as s, ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub"; $sql .= ' WHERE s.entity IN ('.getEntity('category').')'; $sql .= ' AND s.type='.((int) $idoftype); $sql .= ' AND s.rowid = sub.fk_categorie'; - $sql .= ' AND sub.'.$subcol_name.' = '.((int) $id); + $sql .= " AND sub.".$subcol_name." = ".((int) $id); $sql .= $this->db->order($sortfield, $sortorder); @@ -994,7 +1005,7 @@ class Categorie extends CommonObject { // phpcs:enable $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."categorie"; - $sql .= " WHERE fk_parent = ".$this->id; + $sql .= " WHERE fk_parent = ".((int) $this->id); $sql .= " AND entity IN (".getEntity('category').")"; $res = $this->db->query($sql); @@ -1400,7 +1411,7 @@ class Categorie extends CommonObject $parents = array(); $sql = "SELECT fk_parent FROM ".MAIN_DB_PREFIX."categorie"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $res = $this->db->query($sql); @@ -1497,7 +1508,10 @@ class Categorie extends CommonObject } else { $sql = "SELECT ct.fk_categorie, c.label, c.rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type])." as ct, ".MAIN_DB_PREFIX."categorie as c"; - $sql .= " WHERE ct.fk_categorie = c.rowid AND ct.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".(int) $id." AND c.type = ".$this->MAP_ID[$type]; + $sql .= " WHERE ct.fk_categorie = c.rowid AND ct.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".(int) $id; + // This seems useless because the table already contains id of category of 1 unique type. So commented. + // So now it works also with external added categories. + //$sql .= " AND c.type = ".((int) $this->MAP_ID[$type]); $sql .= " AND c.entity IN (".getEntity('category').")"; $res = $this->db->query($sql); @@ -1792,7 +1806,7 @@ class Categorie extends CommonObject foreach ($langs_available as $key => $value) { $sql = "SELECT rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."categorie_lang"; - $sql .= " WHERE fk_category=".$this->id; + $sql .= " WHERE fk_category=".((int) $this->id); $sql .= " AND lang = '".$this->db->escape($key)."'"; $result = $this->db->query($sql); @@ -1800,13 +1814,13 @@ class Categorie extends CommonObject if ($key == $current_lang) { if ($this->db->num_rows($result)) { // si aucune ligne dans la base $sql2 = "UPDATE ".MAIN_DB_PREFIX."categorie_lang"; - $sql2 .= " SET label='".$this->db->escape($this->label)."',"; - $sql2 .= " description='".$this->db->escape($this->description)."'"; - $sql2 .= " WHERE fk_category=".$this->id." AND lang='".$this->db->escape($key)."'"; + $sql2 .= " SET label = '".$this->db->escape($this->label)."',"; + $sql2 .= " description = '".$this->db->escape($this->description)."'"; + $sql2 .= " WHERE fk_category = ".((int) $this->id)." AND lang = '".$this->db->escape($key)."'"; } else { $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."categorie_lang (fk_category, lang, label, description)"; - $sql2 .= " VALUES(".$this->id.",'".$key."','".$this->db->escape($this->label); - $sql2 .= "','".$this->db->escape($this->multilangs["$key"]["description"])."')"; + $sql2 .= " VALUES(".((int) $this->id).", '".$this->db->escape($key)."', '".$this->db->escape($this->label)."'"; + $sql2 .= ", '".$this->db->escape($this->multilangs["$key"]["description"])."')"; } dol_syslog(get_class($this).'::setMultiLangs', LOG_DEBUG); if (!$this->db->query($sql2)) { @@ -1818,11 +1832,11 @@ class Categorie extends CommonObject $sql2 = "UPDATE ".MAIN_DB_PREFIX."categorie_lang"; $sql2 .= " SET label='".$this->db->escape($this->multilangs["$key"]["label"])."',"; $sql2 .= " description='".$this->db->escape($this->multilangs["$key"]["description"])."'"; - $sql2 .= " WHERE fk_category=".$this->id." AND lang='".$this->db->escape($key)."'"; + $sql2 .= " WHERE fk_category=".((int) $this->id)." AND lang='".$this->db->escape($key)."'"; } else { $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."categorie_lang (fk_category, lang, label, description)"; - $sql2 .= " VALUES(".$this->id.",'".$key."','".$this->db->escape($this->multilangs["$key"]["label"]); - $sql2 .= "','".$this->db->escape($this->multilangs["$key"]["description"])."')"; + $sql2 .= " VALUES(".((int) $this->id).", '".$this->db->escape($key)."', '".$this->db->escape($this->multilangs["$key"]["label"])."'"; + $sql2 .= ",'".$this->db->escape($this->multilangs["$key"]["description"])."')"; } // on ne sauvegarde pas des champs vides @@ -1860,7 +1874,7 @@ class Categorie extends CommonObject $sql = "SELECT lang, label, description"; $sql .= " FROM ".MAIN_DB_PREFIX."categorie_lang"; - $sql .= " WHERE fk_category=".$this->id; + $sql .= " WHERE fk_category=".((int) $this->id); $result = $this->db->query($sql); if ($result) { diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index 065b4dfa83e..708fb3a3e83 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -205,10 +205,14 @@ foreach ($fulltree as $key => $val) { $entry .= ''.img_view().''; $entry .= ''; $entry .= ''; - $entry .= ''.img_edit().''; + if ($user->rights->categorie->creer) { + $entry .= '' . img_edit() . ''; + } $entry .= ''; $entry .= ''; - $entry .= ''.img_delete().''; + if ($user->rights->categorie->supprimer) { + $entry .= '' . img_delete() . ''; + } $entry .= ''; $entry .= ''; diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php index 5fb1c85dd40..5c014b6206f 100644 --- a/htdocs/categories/photos.php +++ b/htdocs/categories/photos.php @@ -231,10 +231,10 @@ if ($object->id) { // On propose la generation de la vignette si elle n'existe pas et si la taille est superieure aux limites if (!$obj['photo_vignette'] && preg_match('/(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$/i', $obj['photo']) && ($object->imgWidth > $maxWidth || $object->imgHeight > $maxHeight)) { - print ''.img_picto($langs->trans('GenerateThumb'), 'refresh').'  '; + print ''.img_picto($langs->trans('GenerateThumb'), 'refresh').'  '; } if ($user->rights->categorie->creer) { - print ''; + print ''; print img_delete().''; } if ($nbbyrow) { diff --git a/htdocs/categories/traduction.php b/htdocs/categories/traduction.php index cd5d7ad8214..2bbb4b5f0a8 100644 --- a/htdocs/categories/traduction.php +++ b/htdocs/categories/traduction.php @@ -231,9 +231,9 @@ print "\n
    \n"; if ($action == '') { if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''.$langs->trans('Add').''; + print ''.$langs->trans('Add').''; if ($cnt_trans > 0) { - print ''.$langs->trans('Update').''; + print ''.$langs->trans('Update').''; } } } @@ -274,11 +274,7 @@ if ($action == 'edit') { print '
    '; - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } elseif ($action != 'add') { @@ -334,11 +330,7 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service print ''; print ''; - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index eeca990ef28..8ebb9f43b1e 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -142,6 +142,11 @@ if ($id > 0 && $removeelem > 0) { $tmpobject = new User($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'user'; + } elseif ($type == Categorie::TYPE_TICKET && $user->rights->ticket->write) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + $tmpobject = new Ticket($db); + $result = $tmpobject->fetch($removeelem); + $elementtype = 'ticket'; } $result = $object->del_type($tmpobject, $elementtype); @@ -167,7 +172,8 @@ if ($user->rights->categorie->supprimer && $action == 'confirm_delete' && $confi if ($elemid && $action == 'addintocategory' && (($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) || ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) || - ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) + ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) || + ($type == Categorie::TYPE_TICKET && $user->rights->ticket->write) )) { if ($type == Categorie::TYPE_PRODUCT) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; @@ -181,6 +187,10 @@ if ($elemid && $action == 'addintocategory' && require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $newobject = new Societe($db); $elementtype = 'supplier'; + } elseif ($type == Categorie::TYPE_TICKET) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + $newobject = new Ticket($db); + $elementtype = 'ticket'; } $result = $newobject->fetch($elemid); @@ -1024,6 +1034,78 @@ if ($type == Categorie::TYPE_WAREHOUSE) { } } +if ($type == Categorie::TYPE_TICKET) { + $permission = ($user->rights->categorie->creer || $user->rights->categorie->creer); + + $tickets = $object->getObjectsInCateg($type, 0, $limit, $offset); + if ($tickets < 0) { + dol_print_error($db, $object->error, $object->errors); + } else { + // Form to add record into a category + $showclassifyform = 1; + if ($showclassifyform) { + print '
    '; + print '
    '; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
    '; + print $langs->trans("AddTicketIntoCategory").'  '; + $form->selectTickets('', 'elemid'); + print '
    '; + print '
    '; + } + + print '
    '; + print ''; + print ''; + print ''; + print ''; + print ''; + + print '
    '; + $param = '&limit='.$limit.'&id='.$id.'&type='.$type; $num = count($tickets); $nbtotalofrecords = ''; $newcardbutton = ''; + print_barre_liste($langs->trans("Ticket"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'ticket', 0, $newcardbutton, '', $limit); + + + print ''."\n"; + print ''."\n"; + + if (count($tickets) > 0) { + $i = 0; + foreach ($tickets as $ticket) { + $i++; + if ($i > $limit) break; + + print "\t".''."\n"; + print '\n"; + print '\n"; + // Link to delete from category + print ''; + print "\n"; + } + } else { + print ''; + } + print "
    '.$langs->trans("Ref").'
    '; + print $ticket->getNomUrl(1); + print "'.$ticket->label."'; + if ($permission) { + print ""; + print $langs->trans("DeleteFromCat"); + print img_picto($langs->trans("DeleteFromCat"), 'unlink', '', false, 0, 0, '', 'paddingleft'); + print ""; + } + print '
    '.$langs->trans("ThisCategoryHasNoItems").'
    \n"; + + print '
    '."\n"; + } +} // End of page llxFooter(); diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 245f90edf72..03cf1f90f33 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -70,9 +70,18 @@ $offsetvalue = GETPOST('offsetvalue', 'int'); $offsetunit = GETPOST('offsetunittype_duration', 'aZ09'); $remindertype = GETPOST('selectremindertype', 'aZ09'); $modelmail = GETPOST('actioncommsendmodel_mail', 'int'); +$complete = GETPOST('complete', 'alpha'); // 'na' must be allowed +if ($complete == 'na' || $complete == -2) { + $complete = -1; +} -$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int')); -$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int')); +if ($fulldayevent) { + $datep = dol_mktime('00', '00', 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int')); + $datef = dol_mktime('23', '59', '59', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int')); +} else { + $datep = dol_mktime($aphour, $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int')); + $datef = dol_mktime($p2hour, $p2min, '59', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int')); +} // Security check $socid = GETPOST('socid', 'int'); @@ -240,7 +249,7 @@ if (empty($reshook) && $action == 'add') { exit; } - $percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status + $percentage = in_array(GETPOST('status'), array(-1, 100)) ? GETPOST('status') : (in_array($complete, array(-1, 100)) ? $complete : GETPOST("percentage", 'int')); // If status is -1 or 100, percentage is not defined and we must use status // Clean parameters $datep = dol_mktime($fulldayevent ? '00' : GETPOST("aphour", 'int'), $fulldayevent ? '00' : GETPOST("apmin", 'int'), $fulldayevent ? '00' : GETPOST("apsec", 'int'), GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser'); @@ -274,8 +283,20 @@ if (empty($reshook) && $action == 'add') { $object->fulldayevent = (!empty($fulldayevent) ? 1 : 0); $object->location = GETPOST("location", 'alphanohtml'); $object->label = GETPOST('label', 'alphanohtml'); - $object->fk_element = GETPOST("fk_element", 'int'); - $object->elementtype = GETPOST("elementtype", 'alpha'); + + if (GETPOST("elementtype", 'alpha')) { + $modulecodetouseforpermissioncheck = GETPOST("elementtype", 'alpha'); + + $hasPermissionOnLinkedObject = 0; + if ($user->hasRight($modulecodetouseforpermissioncheck, 'read')) { + $hasPermissionOnLinkedObject = 1; + } + if ($hasPermissionOnLinkedObject) { + $object->fk_element = GETPOST("fk_element", 'int'); + $object->elementtype = GETPOST("elementtype", 'alpha'); + } + } + if (!GETPOST('label')) { if (GETPOST('actioncode', 'aZ09') == 'AC_RDV' && $contact->getFullName($langs)) { $object->label = $langs->transnoentitiesnoconv("TaskRDVWith", $contact->getFullName($langs)); @@ -471,7 +492,7 @@ if (empty($reshook) && $action == 'update') { $apmin = GETPOST('apmin', 'int'); $p2hour = GETPOST('p2hour', 'int'); $p2min = GETPOST('p2min', 'int'); - $percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status + $percentage = in_array(GETPOST('status'), array(-1, 100)) ? GETPOST('status') : (in_array($complete, array(-1, 100)) ? $complete : GETPOST("percentage", 'int')); // If status is -1 or 100, percentage is not defined and we must use status // Clean parameters if ($aphour == -1) { @@ -516,8 +537,20 @@ if (empty($reshook) && $action == 'update') { } $object->fk_project = GETPOST("projectid", 'int'); $object->note_private = trim(GETPOST("note", "restricthtml")); - $object->fk_element = GETPOST("fk_element", "int"); - $object->elementtype = GETPOST("elementtype", "alphanohtml"); + + if (GETPOST("elementtype", 'alpha')) { + $modulecodetouseforpermissioncheck = GETPOST("elementtype", 'alpha'); + + $hasPermissionOnLinkedObject = 0; + if ($user->hasRight($modulecodetouseforpermissioncheck, 'read')) { + $hasPermissionOnLinkedObject = 1; + } + if ($hasPermissionOnLinkedObject) { + $object->fk_element = GETPOST("fk_element", 'int'); + $object->elementtype = GETPOST("elementtype", 'alpha'); + } + } + if (!$datef && $percentage == 100) { $error++; $donotclearsession = 1; setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired", $langs->transnoentitiesnoconv("DateEnd")), $object->errors, 'errors'); @@ -591,10 +624,10 @@ if (empty($reshook) && $action == 'update') { $sql .= " FROM ".MAIN_DB_PREFIX."element_resources as er"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."resource as r ON r.rowid = er.resource_id AND er.resource_type = 'dolresource'"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."actioncomm as ac ON ac.id = er.element_id AND er.element_type = '".$db->escape($object->element)."'"; - $sql .= " WHERE ac.id != ".$object->id; + $sql .= " WHERE ac.id <> ".((int) $object->id); $sql .= " AND er.resource_id IN ("; $sql .= " SELECT resource_id FROM ".MAIN_DB_PREFIX."element_resources"; - $sql .= " WHERE element_id = ".$object->id; + $sql .= " WHERE element_id = ".((int) $object->id); $sql .= " AND element_type = '".$db->escape($object->element)."'"; $sql .= " AND busy = 1"; $sql .= ")"; @@ -770,10 +803,10 @@ if (empty($reshook) && GETPOST('actionmove', 'alpha') == 'mupdate') { $sql .= " FROM ".MAIN_DB_PREFIX."element_resources as er"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."resource as r ON r.rowid = er.resource_id AND er.resource_type = 'dolresource'"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."actioncomm as ac ON ac.id = er.element_id AND er.element_type = '".$db->escape($object->element)."'"; - $sql .= " WHERE ac.id != ".$object->id; + $sql .= " WHERE ac.id <> ".((int) $object->id); $sql .= " AND er.resource_id IN ("; $sql .= " SELECT resource_id FROM ".MAIN_DB_PREFIX."element_resources"; - $sql .= " WHERE element_id = ".$object->id; + $sql .= " WHERE element_id = ".((int) $object->id); $sql .= " AND element_type = '".$db->escape($object->element)."'"; $sql .= " AND busy = 1"; $sql .= ")"; @@ -1074,15 +1107,15 @@ if ($action == 'create') { // Status print ''.$langs->trans("Status").' / '.$langs->trans("Percentage").''; print ''; - $percent = GETPOST('complete')!=='' ? GETPOST('complete') : -1; + $percent = $complete !=='' ? $complete : -1; if (GETPOSTISSET('status')) { $percent = GETPOST('status'); } elseif (GETPOSTISSET('percentage')) { - $percent = GETPOST('percentage'); + $percent = GETPOST('percentage', 'int'); } else { - if (GETPOST('complete') == '0' || GETPOST("afaire") == 1) { + if ($complete == '0' || GETPOST("afaire") == 1) { $percent = '0'; - } elseif (GETPOST('complete') == 100 || GETPOST("afaire") == 2) { + } elseif ($complete == 100 || GETPOST("afaire") == 2) { $percent = 100; } } @@ -1185,9 +1218,9 @@ if ($action == 'create') { print ''.$langs->trans("Project").''; print img_picto('', 'project', 'class="pictofixedwidth"'); - print $formproject->select_projects((!empty($societe->id) ? $societe->id : -1), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 1, 0, 'maxwidth500 widthcentpercentminusxx'); + print $formproject->select_projects((empty($societe->id) ? '' : $societe->id), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 1, 0, 'maxwidth500 widthcentpercentminusxx'); - print ' '; + print ' '; print ''; $urloption = '?action=create&donotclearsession=1'; $url = dol_buildpath('comm/action/card.php', 2).$urloption; @@ -1214,7 +1247,7 @@ if ($action == 'create') { if (!empty($projectid)) { $projectsListId = $projectid; } - $tid = GETPOST("projecttaskid") ? GETPOST("projecttaskid") : ''; + $tid = GETPOSTISSET("projecttaskid") ? GETPOST("projecttaskid", 'int') : (GETPOSTISSET("taskid") ? GETPOST("taskid", 'int') : ''); $formproject->selectTasks((!empty($societe->id) ? $societe->id : -1), $tid, 'taskid', 24, 0, '1', 1, 0, 0, 'maxwidth500', $projectsListId); print ''; } @@ -1222,12 +1255,28 @@ if ($action == 'create') { // Object linked if (!empty($origin) && !empty($originid)) { include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - print ''.$langs->trans("LinkedObject").''; - print ''.dolGetElementUrl($originid, $origin, 1).''; - print ''; - print ''; - print ''; - print ''; + + $hasPermissionOnLinkedObject = 0; + if ($user->hasRight($origin, 'read')) { + $hasPermissionOnLinkedObject = 1; + } + //var_dump('origin='.$origin.' originid='.$originid.' $hasPermissionOnLinkedObject='.$hasPermissionOnLinkedObject); + + if (! in_array($origin, array('societe', 'project', 'task', 'user'))) { + // We do not use link for object that already contains a hard coded field to make links with agenda events + print ''.$langs->trans("LinkedObject").''; + print ''; + if ($hasPermissionOnLinkedObject) { + print dolGetElementUrl($originid, $origin, 1); + print ''; + print ''; + print ''; + print ''; + } else { + print ''; + } + print ''; + } } $reg = array(); @@ -1254,7 +1303,7 @@ if ($action == 'create') { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit', $parameters); + print $object->showOptionals($extrafields, 'create', $parameters); } print ''; @@ -1317,15 +1366,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - if (empty($backtopage)) { - print ''; - } else { - print ''; - } - print '
    '; + print $form->buttonsSaveCancel("Add"); print ""; } @@ -1348,7 +1389,7 @@ if ($id > 0) { $result5 = $object->fetch_optionals(); if ($listUserAssignedUpdated || $donotclearsession) { - $percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status + $percentage = in_array(GETPOST('status'), array(-1, 100)) ? GETPOST('status') : (in_array($complete, array(-1, 100)) ? $complete : GETPOST("percentage", 'int')); // If status is -1 or 100, percentage is not defined and we must use status $datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser'); $datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'), 'tzuser'); @@ -1542,7 +1583,7 @@ if ($id > 0) { // Status print ''.$langs->trans("Status").' / '.$langs->trans("Percentage").''; - $percent = GETPOST("percentage") ? GETPOST("percentage") : $object->percentage; + $percent = GETPOSTISSET("percentage") ? GETPOST("percentage", "int") : $object->percentage; $formactions->form_select_status_action('formaction', $percent, 1, 'complete', 0, 0, 'maxwidth200'); print ''; @@ -1652,7 +1693,7 @@ if ($id > 0) { print img_picto('', 'project', 'class="paddingrightonly"'); $numprojet = $formproject->select_projects(($object->socid > 0 ? $object->socid : -1), $object->fk_project, 'projectid', 0, 0, 1, 0, 0, 0, 0, '', 0, 0, 'maxwidth500'); if ($numprojet == 0) { - print '   '; + print '   '; } print ''; } @@ -1804,11 +1845,7 @@ if ($id > 0) { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } else { @@ -1855,7 +1892,7 @@ if ($id > 0) { if ($user->rights->agenda->allactions->create || (($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->create)) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -1863,7 +1900,7 @@ if ($id > 0) { $morehtmlref .= ''; $morehtmlref .= ''; $morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); - $morehtmlref .= ''; + $morehtmlref .= ''; $morehtmlref .= ''; } else { $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); @@ -2136,7 +2173,7 @@ if ($id > 0) { if ($action != 'edit') { if ($user->rights->agenda->allactions->create || (($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->create)) { - print ''; + print ''; } else { print ''; } diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 04b631b7ee1..6d1b53cbca0 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -261,7 +261,7 @@ class ActionComm extends CommonObject /** * @var int socpeople id linked to action */ - public $contactid; + public $contact_id; /** * @var Societe|null Company linked to action (optional) @@ -273,7 +273,7 @@ class ActionComm extends CommonObject /** * @var Contact|null Contact linked to action (optional) * @deprecated - * @see $contactid + * @see $contact_id */ public $contact; @@ -382,6 +382,7 @@ class ActionComm extends CommonObject */ const EVENT_FINISHED = 100; + /** * Constructor * @@ -541,18 +542,18 @@ class ActionComm extends CommonObject $sql .= (isset($this->type_id) ? $this->type_id : "null").","; $sql .= ($code ? ("'".$this->db->escape($code)."'") : "null").", "; $sql .= (!empty($this->ref_ext) ? "'".$this->db->escape($this->ref_ext)."'" : "null").", "; - $sql .= ((isset($this->socid) && $this->socid > 0) ? $this->socid : "null").", "; - $sql .= ((isset($this->fk_project) && $this->fk_project > 0) ? $this->fk_project : "null").", "; + $sql .= ((isset($this->socid) && $this->socid > 0) ? ((int) $this->socid) : "null").", "; + $sql .= ((isset($this->fk_project) && $this->fk_project > 0) ? ((int) $this->fk_project) : "null").", "; $sql .= " '".$this->db->escape($this->note_private)."', "; - $sql .= ((isset($this->contact_id) && $this->contact_id > 0) ? $this->contact_id : "null").", "; // deprecated, use ->socpeopleassigned + $sql .= ((isset($this->contact_id) && $this->contact_id > 0) ? ((int) $this->contact_id) : "null").", "; // deprecated, use ->socpeopleassigned $sql .= (isset($user->id) && $user->id > 0 ? $user->id : "null").", "; $sql .= ($userownerid > 0 ? $userownerid : "null").", "; $sql .= ($userdoneid > 0 ? $userdoneid : "null").", "; $sql .= "'".$this->db->escape($this->label)."','".$this->db->escape($this->percentage)."','".$this->db->escape($this->priority)."','".$this->db->escape($this->fulldayevent)."','".$this->db->escape($this->location)."', "; $sql .= "'".$this->db->escape($this->transparency)."', "; - $sql .= (!empty($this->fk_element) ? $this->fk_element : "null").", "; + $sql .= (!empty($this->fk_element) ? ((int) $this->fk_element) : "null").", "; $sql .= (!empty($this->elementtype) ? "'".$this->db->escape($this->elementtype)."'" : "null").", "; - $sql .= $conf->entity.","; + $sql .= ((int) $conf->entity).","; $sql .= (!empty($this->extraparams) ? "'".$this->db->escape($this->extraparams)."'" : "null").", "; // Fields emails $sql .= (!empty($this->email_msgid) ? "'".$this->db->escape($this->email_msgid)."'" : "null").", "; @@ -584,15 +585,18 @@ class ActionComm extends CommonObject //dol_syslog(var_export($this->userassigned, true)); $already_inserted = array(); foreach ($this->userassigned as $key => $val) { - if (!is_array($val)) { // For backward compatibility when val=id + // Common value with new behavior is to have $val = array('id'=>iduser, 'transparency'=>0|1) and $this->userassigned is an array of iduser => $val. + if (!is_array($val)) { // For backward compatibility when $val='id'. $val = array('id'=>$val); } if ($val['id'] > 0) { - if (!empty($already_inserted[$val['id']])) continue; + if (!empty($already_inserted[$val['id']])) { + continue; + } $sql = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm_resources(fk_actioncomm, element_type, fk_element, mandatory, transparency, answer_status)"; - $sql .= " VALUES(".$this->id.", 'user', ".$val['id'].", ".(empty($val['mandatory']) ? '0' : $val['mandatory']).", ".(empty($val['transparency']) ? '0' : $val['transparency']).", ".(empty($val['answer_status']) ? '0' : $val['answer_status']).")"; + $sql .= " VALUES(".((int) $this->id).", 'user', ".((int) $val['id']).", ".(empty($val['mandatory']) ? '0' : ((int) $val['mandatory'])).", ".(empty($val['transparency']) ? '0' : ((int) $val['transparency'])).", ".(empty($val['answer_status']) ? '0' : ((int) $val['answer_status'])).")"; $resql = $this->db->query($sql); if (!$resql) { @@ -611,10 +615,13 @@ class ActionComm extends CommonObject if (!empty($this->socpeopleassigned)) { $already_inserted = array(); foreach ($this->socpeopleassigned as $id => $val) { - if (!empty($already_inserted[$val['id']])) continue; + // Common value with new behavior is to have $val = iduser and $this->socpeopleassigned is an array of iduser => $val. + if (!empty($already_inserted[$id])) { + continue; + } $sql = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm_resources(fk_actioncomm, element_type, fk_element, mandatory, transparency, answer_status)"; - $sql .= " VALUES(".$this->id.", 'socpeople', ".$id.", 0, 0, 0)"; + $sql .= " VALUES(".((int) $this->id).", 'socpeople', ".((int) $id).", 0, 0, 0)"; $resql = $this->db->query($sql); if (!$resql) { @@ -622,7 +629,7 @@ class ActionComm extends CommonObject dol_syslog('Error to process socpeopleassigned: ' . $this->db->lasterror(), LOG_ERR); $this->errors[] = $this->db->lasterror(); } else { - $already_inserted[$val['id']] = true; + $already_inserted[$id] = true; } } } @@ -728,13 +735,14 @@ class ActionComm extends CommonObject /** * Load object from database * - * @param int $id Id of action to get - * @param string $ref Ref of action to get - * @param string $ref_ext Ref ext to get - * @param string $email_msgid Email msgid - * @return int <0 if KO, >0 if OK + * @param int $id Id of action to get + * @param string $ref Ref of action to get + * @param string $ref_ext Ref ext to get + * @param string $email_msgid Email msgid + * @param string $loadresources 1=Load also resources + * @return int <0 if KO, >0 if OK */ - public function fetch($id, $ref = '', $ref_ext = '', $email_msgid = '') + public function fetch($id, $ref = '', $ref_ext = '', $email_msgid = '', $loadresources = 1) { global $langs; @@ -752,7 +760,7 @@ class ActionComm extends CommonObject $sql .= " a.durationp,"; // deprecated $sql .= " a.datec,"; $sql .= " a.tms as datem,"; - $sql .= " a.code, a.label, a.note,"; + $sql .= " a.code, a.label, a.note as note_private,"; $sql .= " a.fk_soc,"; $sql .= " a.fk_project,"; $sql .= " a.fk_user_author, a.fk_user_mod,"; @@ -811,8 +819,8 @@ class ActionComm extends CommonObject $this->datec = $this->db->jdate($obj->datec); $this->datem = $this->db->jdate($obj->datem); - $this->note = $obj->note; // deprecated - $this->note_private = $obj->note; + $this->note = $obj->note_private; // deprecated + $this->note_private = $obj->note_private; $this->percentage = $obj->percentage; $this->authorid = $obj->fk_user_author; @@ -851,8 +859,13 @@ class ActionComm extends CommonObject $this->event_paid = $obj->event_paid; $this->status = $obj->status; - $this->fetchResources(); + $this->fetch_optionals(); + + if ($loadresources) { + $this->fetchResources(); + } } + $this->db->free($resql); } else { $this->error = $this->db->lasterror(); @@ -874,7 +887,7 @@ class ActionComm extends CommonObject $sql = 'SELECT fk_actioncomm, element_type, fk_element, answer_status, mandatory, transparency'; $sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm_resources'; - $sql .= ' WHERE fk_actioncomm = '.$this->id; + $sql .= ' WHERE fk_actioncomm = '.((int) $this->id); $sql .= " AND element_type IN ('user', 'socpeople')"; $resql = $this->db->query($sql); if ($resql) { @@ -918,7 +931,7 @@ class ActionComm extends CommonObject // phpcs:enable $sql = "SELECT fk_actioncomm, element_type, fk_element, answer_status, mandatory, transparency"; $sql .= " FROM ".MAIN_DB_PREFIX."actioncomm_resources"; - $sql .= " WHERE element_type = 'user' AND fk_actioncomm = ".$this->id; + $sql .= " WHERE element_type = 'user' AND fk_actioncomm = ".((int) $this->id); $resql2 = $this->db->query($sql); if ($resql2) { @@ -972,7 +985,7 @@ class ActionComm extends CommonObject // remove categorie association if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_actioncomm"; - $sql .= " WHERE fk_actioncomm=".$this->id; + $sql .= " WHERE fk_actioncomm=".((int) $this->id); $res = $this->db->query($sql); if (!$res) { @@ -984,7 +997,7 @@ class ActionComm extends CommonObject // remove actioncomm_resources if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_resources"; - $sql .= " WHERE fk_actioncomm=".$this->id; + $sql .= " WHERE fk_actioncomm=".((int) $this->id); $res = $this->db->query($sql); if (!$res) { @@ -995,7 +1008,7 @@ class ActionComm extends CommonObject if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_reminder"; - $sql .= " WHERE fk_actioncomm = ".$this->id; + $sql .= " WHERE fk_actioncomm = ".((int) $this->id); $res = $this->db->query($sql); if (!$res) { @@ -1016,7 +1029,7 @@ class ActionComm extends CommonObject // remove actioncomm if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm"; - $sql .= " WHERE id=".$this->id; + $sql .= " WHERE id=".((int) $this->id); $res = $this->db->query($sql); if (!$res) { @@ -1158,7 +1171,7 @@ class ActionComm extends CommonObject // Now insert assignedusers if (!$error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_resources where fk_actioncomm = ".$this->id." AND element_type = 'user'"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_resources where fk_actioncomm = ".((int) $this->id)." AND element_type = 'user'"; $resql = $this->db->query($sql); $already_inserted = array(); @@ -1169,7 +1182,7 @@ class ActionComm extends CommonObject if (!empty($already_inserted[$val['id']])) continue; $sql = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm_resources(fk_actioncomm, element_type, fk_element, mandatory, transparency, answer_status)"; - $sql .= " VALUES(".$this->id.", 'user', ".$val['id'].", ".(empty($val['mandatory']) ? '0' : $val['mandatory']).", ".(empty($val['transparency']) ? '0' : $val['transparency']).", ".(empty($val['answer_status']) ? '0' : $val['answer_status']).")"; + $sql .= " VALUES(".((int) $this->id).", 'user', ".((int) $val['id']).", ".(empty($val['mandatory']) ? '0' : ((int) $val['mandatory'])).", ".(empty($val['transparency']) ? '0' : ((int) $val['transparency'])).", ".(empty($val['answer_status']) ? '0' : ((int) $val['answer_status'])).")"; $resql = $this->db->query($sql); if (!$resql) { @@ -1183,7 +1196,7 @@ class ActionComm extends CommonObject } if (!$error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_resources where fk_actioncomm = ".$this->id." AND element_type = 'socpeople'"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_resources where fk_actioncomm = ".((int) $this->id)." AND element_type = 'socpeople'"; $resql = $this->db->query($sql); if (!empty($this->socpeopleassigned)) { @@ -1192,7 +1205,7 @@ class ActionComm extends CommonObject if (!empty($already_inserted[$val['id']])) continue; $sql = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm_resources(fk_actioncomm, element_type, fk_element, mandatory, transparency, answer_status)"; - $sql .= " VALUES(".$this->id.", 'socpeople', ".$id.", 0, 0, 0)"; + $sql .= " VALUES(".((int) $this->id).", 'socpeople', ".((int) $id).", 0, 0, 0)"; $resql = $this->db->query($sql); if (!$resql) { @@ -1233,7 +1246,6 @@ class ActionComm extends CommonObject * Load all objects with filters. * @todo WARNING: This make a fetch on all records instead of making one request with a join. * - * @param DoliDb $db Not used * @param int $socid Filter by thirdparty * @param int $fk_element Id of element action is linked to * @param string $elementtype Type of element action is linked to @@ -1243,7 +1255,7 @@ class ActionComm extends CommonObject * @param string $limit Limit number of answers * @return array|string Error string if KO, array with actions if OK */ - public static function getActions($db, $socid = 0, $fk_element = 0, $elementtype = '', $filter = '', $sortfield = 'a.datep', $sortorder = 'DESC', $limit = 0) + public function getActions($socid = 0, $fk_element = 0, $elementtype = '', $filter = '', $sortfield = 'a.datep', $sortorder = 'DESC', $limit = 0) { global $conf, $langs; @@ -1265,33 +1277,33 @@ class ActionComm extends CommonObject $sql .= " (SELECT fk_actioncomm FROM ".MAIN_DB_PREFIX."actioncomm_resources WHERE"; $sql .= " element_type = 'socpeople' AND fk_element = ".((int) $fk_element).')'; } else { - $sql .= " AND a.fk_element = ".((int) $fk_element)." AND a.elementtype = '".$db->escape($elementtype)."'"; + $sql .= " AND a.fk_element = ".((int) $fk_element)." AND a.elementtype = '".$this->db->escape($elementtype)."'"; } } if (!empty($filter)) { $sql .= $filter; } if ($sortorder && $sortfield) { - $sql .= $db->order($sortfield, $sortorder); + $sql .= $this->db->order($sortfield, $sortorder); } - $sql .= $db->plimit($limit, 0); + $sql .= $this->db->plimit($limit, 0); - $resql = $db->query($sql); + $resql = $this->db->query($sql); if ($resql) { - $num = $db->num_rows($resql); + $num = $this->db->num_rows($resql); if ($num) { for ($i = 0; $i < $num; $i++) { - $obj = $db->fetch_object($resql); - $actioncommstatic = new ActionComm($db); + $obj = $this->db->fetch_object($resql); + $actioncommstatic = new ActionComm($this->db); $actioncommstatic->fetch($obj->id); $resarray[$i] = $actioncommstatic; } } - $db->free($resql); + $this->db->free($resql); return $resarray; } else { - return $db->lasterror(); + return $this->db->lasterror(); } } @@ -1319,7 +1331,7 @@ class ActionComm extends CommonObject $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc"; } if (!$user->rights->agenda->allactions->read) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."actioncomm_resources AS ar ON a.id = ar.fk_actioncomm AND ar.element_type ='user' AND ar.fk_element = ".$user->id; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."actioncomm_resources AS ar ON a.id = ar.fk_actioncomm AND ar.element_type ='user' AND ar.fk_element = ".((int) $user->id); } $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid"; $sql .= " WHERE 1 = 1"; @@ -1328,14 +1340,14 @@ class ActionComm extends CommonObject } $sql .= " AND a.entity IN (".getEntity('agenda').")"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND (a.fk_soc IS NULL OR sc.fk_user = ".$user->id.")"; + $sql .= " AND (a.fk_soc IS NULL OR sc.fk_user = ".((int) $user->id).")"; } if ($user->socid) { - $sql .= " AND a.fk_soc = ".$user->socid; + $sql .= " AND a.fk_soc = ".((int) $user->socid); } if (!$user->rights->agenda->allactions->read) { - $sql .= " AND (a.fk_user_author = ".$user->id." OR a.fk_user_action = ".$user->id." OR a.fk_user_done = ".$user->id; - $sql .= " OR ar.fk_element = ".$user->id; // Added by PV + $sql .= " AND (a.fk_user_author = ".((int) $user->id)." OR a.fk_user_action = ".((int) $user->id)." OR a.fk_user_done = ".((int) $user->id); + $sql .= " OR ar.fk_element = ".((int) $user->id); $sql .= ")"; } @@ -1453,18 +1465,18 @@ class ActionComm extends CommonObject // phpcs:enable global $langs; - $labelStatus = $langs->trans('StatusNotApplicable'); + $labelStatus = $langs->transnoentitiesnoconv('StatusNotApplicable'); if ($percent == -1 && !$hidenastatus) { - $labelStatus = $langs->trans('StatusNotApplicable'); + $labelStatus = $langs->transnoentitiesnoconv('StatusNotApplicable'); } elseif ($percent == 0) { - $labelStatus = $langs->trans('StatusActionToDo').' (0%)'; + $labelStatus = $langs->transnoentitiesnoconv('StatusActionToDo').' (0%)'; } elseif ($percent > 0 && $percent < 100) { - $labelStatus = $langs->trans('StatusActionInProcess').' ('.$percent.'%)'; + $labelStatus = $langs->transnoentitiesnoconv('StatusActionInProcess').' ('.$percent.'%)'; } elseif ($percent >= 100) { - $labelStatus = $langs->trans('StatusActionDone').' (100%)'; + $labelStatus = $langs->transnoentitiesnoconv('StatusActionDone').' (100%)'; } - $labelStatusShort = $langs->trans('StatusNotApplicable'); + $labelStatusShort = $langs->transnoentitiesnoconv('StatusNotApplicable'); if ($percent == -1 && !$hidenastatus) { $labelStatusShort = $langs->trans('NA'); } elseif ($percent == 0) { @@ -1822,7 +1834,7 @@ class ActionComm extends CommonObject $sql .= " a.datep2,"; // End $sql .= " a.durationp,"; // deprecated $sql .= " a.datec, a.tms as datem,"; - $sql .= " a.label, a.code, a.note, a.fk_action as type_id,"; + $sql .= " a.label, a.code, a.note as note_private, a.fk_action as type_id,"; $sql .= " a.fk_soc,"; $sql .= " a.fk_user_author, a.fk_user_mod,"; $sql .= " a.fk_user_action,"; @@ -1950,7 +1962,7 @@ class ActionComm extends CommonObject $duration = ($datestart && $dateend) ? ($dateend - $datestart) : 0; $event['summary'] = $obj->label.($obj->socname ? " (".$obj->socname.")" : ""); - $event['desc'] = $obj->note; + $event['desc'] = $obj->note_private; $event['startdate'] = $datestart; $event['enddate'] = $dateend; // Not required with type 'journal' $event['duration'] = $duration; // Not required with type 'journal' @@ -2225,7 +2237,7 @@ class ActionComm extends CommonObject //Select all action comm reminders for event $sql = "SELECT rowid as id, typeremind, dateremind, status, offsetvalue, offsetunit, fk_user"; $sql .= " FROM ".MAIN_DB_PREFIX."actioncomm_reminder"; - $sql .= " WHERE fk_actioncomm = ".$this->id; + $sql .= " WHERE fk_actioncomm = ".((int) $this->id); if ($onlypast) { $sql .= " AND dateremind <= '".$this->db->idate(dol_now())."'"; } @@ -2339,7 +2351,7 @@ class ActionComm extends CommonObject $sendContent = make_substitutions($langs->trans($arraymessage->content), $substitutionarray); //Topic - $sendTopic = (!empty($arraymessage->topic)) ? $arraymessage->topic : html_entity_decode($langs->trans('EventReminder')); + $sendTopic = (!empty($arraymessage->topic)) ? $arraymessage->topic : html_entity_decode($langs->transnoentities('EventReminder')); // Recipient $recipient = new User($this->db); diff --git a/htdocs/comm/action/class/actioncommreminder.class.php b/htdocs/comm/action/class/actioncommreminder.class.php index e675c93d472..aa693d2e41f 100644 --- a/htdocs/comm/action/class/actioncommreminder.class.php +++ b/htdocs/comm/action/class/actioncommreminder.class.php @@ -228,18 +228,18 @@ class ActionCommReminder extends CommonObject // phpcs:enable global $langs; - $labelStatus = $langs->trans('ToDo'); + $labelStatus = $langs->transnoentitiesnoconv('ToDo'); if ($status == 1) { - $labelStatus = $langs->trans('Done'); + $labelStatus = $langs->transnoentitiesnoconv('Done'); } elseif ($status == -1) { - $labelStatus = $langs->trans('Error'); + $labelStatus = $langs->transnoentitiesnoconv('Error'); } - $labelStatusShort = $langs->trans('ToDo'); + $labelStatusShort = $langs->transnoentitiesnoconv('ToDo'); if ($status == 1) { - $labelStatus = $langs->trans('Done'); + $labelStatus = $langs->transnoentitiesnoconv('Done'); } elseif ($status == -1) { - $labelStatus = $langs->trans('Error'); + $labelStatus = $langs->transnoentitiesnoconv('Error'); } $statusType = 'status5'; diff --git a/htdocs/comm/action/document.php b/htdocs/comm/action/document.php index eb1ac59cfe0..4c4d44c3a6e 100644 --- a/htdocs/comm/action/document.php +++ b/htdocs/comm/action/document.php @@ -108,6 +108,8 @@ $help_url = 'EN:Module_Agenda_En|FR:Module_Agenda|ES:M&omodulodulo_Agenda'; llxHeader('', $langs->trans("Agenda"), $help_url); +$now = dol_now(); +$delay_warning = $conf->global->MAIN_DELAY_ACTIONS_TODO * 24 * 60 * 60; if ($object->id > 0) { $result1 = $object->fetch($id); @@ -135,9 +137,6 @@ if ($object->id > 0) { $head = actions_prepare_head($object); - $now = dol_now(); - $delay_warning = $conf->global->MAIN_DELAY_ACTIONS_TODO * 24 * 60 * 60; - print dol_get_fiche_head($head, 'documents', $langs->trans("Action"), -1, 'action'); $linkback = img_picto($langs->trans("BackToList"), 'object_list', 'class="hideonsmartphone pictoactionview"'); diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 9b76329d8da..18b751a368c 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -59,6 +59,8 @@ if (empty($filtert) && empty($conf->global->AGENDA_ALL_CALENDARS)) { $filtert = $user->id; } +$newparam = ''; + $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); @@ -138,16 +140,18 @@ if (empty($action) && !GETPOSTISSET('action')) { if ($action == 'default') { // When action is default, we want a calendar view and not the list $action = (($defaultview != 'show_list') ? $defaultview : 'show_month'); } -if (GETPOST('viewcal', 'restricthtml') && GETPOST('action', 'alpha') != 'show_day' && GETPOST('action', 'alpha') != 'show_week') { +if (GETPOST('viewcal', 'int') && GETPOST('action', 'alpha') != 'show_day' && GETPOST('action', 'alpha') != 'show_week') { $action = 'show_month'; $day = ''; } // View by month -if (GETPOST('viewweek', 'restricthtml') || GETPOST('action', 'alpha') == 'show_week') { +if (GETPOST('viewweek', 'int') || GETPOST('action', 'alpha') == 'show_week') { $action = 'show_week'; $week = ($week ? $week : date("W")); $day = ($day ? $day : date("d")); } // View by week -if (GETPOST('viewday', 'restricthtml') || GETPOST('action', 'alpha') == 'show_day') { +if (GETPOST('viewday', 'int') || GETPOST('action', 'alpha') == 'show_day') { $action = 'show_day'; $day = ($day ? $day : date("d")); } // View by day +$object = new ActionComm($db); + // Load translation files required by the page $langs->loadLangs(array('agenda', 'other', 'commercial')); @@ -197,6 +201,7 @@ if (GETPOST("viewperuser", 'alpha') || $action == 'show_peruser') { exit; } +/* if ($action == 'delete_action') { $event = new ActionComm($db); $event->fetch($actionid); @@ -206,6 +211,7 @@ if ($action == 'delete_action') { $result = $event->delete(); } +*/ /* @@ -259,6 +265,7 @@ if (empty($conf->global->AGENDA_DISABLE_EXT)) { $name = 'AGENDA_EXT_NAME'.$i; $offsettz = 'AGENDA_EXT_OFFSETTZ'.$i; $color = 'AGENDA_EXT_COLOR'.$i; + $default = 'AGENDA_EXT_ACTIVEBYDEFAULT'.$i; $buggedfile = 'AGENDA_EXT_BUGGEDFILE'.$i; if (!empty($conf->global->$source) && !empty($conf->global->$name)) { // Note: $conf->global->buggedfile can be empty or 'uselocalandtznodaylight' or 'uselocalandtzdaylight' @@ -267,6 +274,7 @@ if (empty($conf->global->AGENDA_DISABLE_EXT)) { 'name'=>$conf->global->$name, 'offsettz' => (!empty($conf->global->$offsettz) ? $conf->global->$offsettz : 0), 'color'=>$conf->global->$color, + 'default'=>$conf->global->$default, 'buggedfile'=>(isset($conf->global->buggedfile) ? $conf->global->buggedfile : 0) ); } @@ -282,6 +290,7 @@ if (empty($user->conf->AGENDA_DISABLE_EXT)) { $offsettz = 'AGENDA_EXT_OFFSETTZ_'.$user->id.'_'.$i; $color = 'AGENDA_EXT_COLOR_'.$user->id.'_'.$i; $enabled = 'AGENDA_EXT_ENABLED_'.$user->id.'_'.$i; + $default = 'AGENDA_EXT_ACTIVEBYDEFAULT_'.$user->id.'_'.$i; $buggedfile = 'AGENDA_EXT_BUGGEDFILE_'.$user->id.'_'.$i; if (!empty($user->conf->$source) && !empty($user->conf->$name)) { // Note: $conf->global->buggedfile can be empty or 'uselocalandtznodaylight' or 'uselocalandtzdaylight' @@ -290,6 +299,7 @@ if (empty($user->conf->AGENDA_DISABLE_EXT)) { 'name'=>$user->conf->$name, 'offsettz' => (!empty($user->conf->$offsettz) ? $user->conf->$offsettz : 0), 'color'=>$user->conf->$color, + 'default'=>$user->conf->$default, 'buggedfile'=>(isset($user->conf->buggedfile) ? $user->conf->buggedfile : 0) ); } @@ -442,7 +452,7 @@ if ($action == 'show_day') { } $nav .= $form->selectDate($dateselect, 'dateselect', 0, 0, 1, '', 1, 0); -//$nav .= ' '; +//$nav .= ' '; $nav .= ''; // Must be after the nav definition @@ -480,29 +490,29 @@ print ''; $viewmode = ''; $viewmode .= ''; //$viewmode .= ''; -$viewmode .= img_picto($langs->trans("List"), 'object_list', 'class="pictoactionview block"'); +$viewmode .= img_picto($langs->trans("List"), 'object_list', 'class="imgforviewmode pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewList").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewCal"), 'object_calendarmonth', 'class="pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewCal").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewWeek").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewDay").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewPerUser"), 'object_calendarperuser', 'class="pictoactionview block"'); //$viewmode .= ''; @@ -521,6 +531,7 @@ $viewmode .= ''; // To add a space before t $newcardbutton = ''; +$newparam = ''; if ($user->rights->agenda->myactions->create || $user->rights->agenda->allactions->create) { $tmpforcreatebutton = dol_getdate(dol_now(), true); @@ -569,6 +580,15 @@ if (!empty($conf->use_javascript_ajax)) { // If javascript on if (is_array($showextcals) && count($showextcals) > 0) { $s .= ''; - $arrayofselected = is_array($toselect) ? $toselect : array(); $param = ''; @@ -382,7 +376,9 @@ $arrayofmassactions = array( //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), ); -//if ($user->rights->monmodule->delete) $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +//if ($permissiontodelete) { +// $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +//} if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { $arrayofmassactions = array(); } @@ -450,24 +446,24 @@ print ''; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if ($key == 'status') { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''."\n"; // Detect if we need a fetch on each output line $needToFetchEachLine = 0; -if (is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { if (preg_match('/\$object/', $val)) { $needToFetchEachLine++; // There is at least one compute field that use $object @@ -538,6 +534,7 @@ if (is_array($extrafields->attributes[$object->table_element]['computed']) && co // -------------------------------------------------------------------- $i = 0; $totalarray = array(); +$totalarray['nbfield'] = 0; while ($i < ($limit ? min($num, $limit) : $num)) { $obj = $db->fetch_object($resql); if (empty($obj)) { @@ -563,14 +560,17 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; } - if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status'))) { + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -578,7 +578,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } @@ -605,14 +605,14 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (in_array($object->id, $arrayofselected)) { $selected = 1; } - print ''; + print ''; } print ''; if (!$i) { $totalarray['nbfield']++; } - print ''; + print ''."\n"; $i++; } diff --git a/htdocs/compta/cashcontrol/class/cashcontrol.class.php b/htdocs/compta/cashcontrol/class/cashcontrol.class.php index 59580cb7c46..5308c8df1d6 100644 --- a/htdocs/compta/cashcontrol/class/cashcontrol.class.php +++ b/htdocs/compta/cashcontrol/class/cashcontrol.class.php @@ -80,7 +80,7 @@ class CashControl extends CommonObject * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. */ public $fields = array( - 'rowid' =>array('type'=>'integer', 'label'=>'ID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>10), + 'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>10), 'entity' =>array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=>1, 'position'=>15), 'ref' =>array('type'=>'varchar(64)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>18), 'posmodule' =>array('type'=>'varchar(30)', 'label'=>'Module', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>19), @@ -96,10 +96,10 @@ class CashControl extends CommonObject 'date_creation' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>500), 'date_valid' =>array('type'=>'datetime', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>502), 'tms' =>array('type'=>'timestamp', 'label'=>'Tms', 'enabled'=>1, 'visible'=>0, 'notnull'=>1, 'position'=>505), - 'fk_user_creat' =>array('type'=>'integer:User', 'label'=>'userCreation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>600), + 'fk_user_creat' =>array('type'=>'integer:User', 'label'=>'UserCreation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>600), 'fk_user_valid' =>array('type'=>'integer:User', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>602), 'import_key' =>array('type'=>'varchar(14)', 'label'=>'Import key', 'enabled'=>1, 'visible'=>0, 'position'=>700), - 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'position'=>1000, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Brouillon', '1'=>'Validated')), + 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'position'=>1000, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated')), ); /** @@ -192,18 +192,18 @@ class CashControl extends CommonObject $sql .= ", card"; $sql .= ") VALUES ("; //$sql .= "'(PROV)', "; - $sql .= $conf->entity; - $sql .= ", ".(is_numeric($this->opening) ? $this->opening : 0); + $sql .= ((int) $conf->entity); + $sql .= ", ".(is_numeric($this->opening) ? price2num($this->opening, 'MT') : 0); $sql .= ", 0"; // Draft by default $sql .= ", '".$this->db->idate(dol_now())."'"; $sql .= ", '".$this->db->escape($this->posmodule)."'"; $sql .= ", '".$this->db->escape($this->posnumber)."'"; $sql .= ", ".($this->day_close > 0 ? $this->day_close : "null"); $sql .= ", ".($this->month_close > 0 ? $this->month_close : "null"); - $sql .= ", ".$this->year_close; - $sql .= ", ".$this->cash; - $sql .= ", ".$this->cheque; - $sql .= ", ".$this->card; + $sql .= ", ".((int) $this->year_close); + $sql .= ", ".price2num($this->cash, 'MT'); + $sql .= ", ".price2num($this->cheque, 'MT'); + $sql .= ", ".price2num($this->card, 'MT'); $sql .= ")"; $this->db->begin(); @@ -378,10 +378,10 @@ class CashControl extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule"); - $this->labelStatus[0] = $langs->trans('Draft'); - $this->labelStatus[1] = $langs->trans('Closed'); - $this->labelStatusShort[0] = $langs->trans('Draft'); - $this->labelStatusShort[1] = $langs->trans('Closed'); + $this->labelStatus[0] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[1] = $langs->transnoentitiesnoconv('Closed'); + $this->labelStatusShort[0] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[1] = $langs->transnoentitiesnoconv('Closed'); } $statusType = 'status0'; @@ -414,7 +414,7 @@ class CashControl extends CommonObject $newref = ($this->ref ? $this->ref : $this->id); - $label = ''.$langs->trans("CashFence").''; + $label = ''.$langs->trans("CashControl").''; $label .= '
    '; $label .= ''.$langs->trans('Ref').': '.($this->ref ? $this->ref : $this->id); diff --git a/htdocs/compta/cashcontrol/report.php b/htdocs/compta/cashcontrol/report.php index 6a23beab86b..af61af5e836 100644 --- a/htdocs/compta/cashcontrol/report.php +++ b/htdocs/compta/cashcontrol/report.php @@ -115,9 +115,9 @@ elseif ($syear && $smonth && ! $sday) $sql.= " AND dateo BETWEEN '".$db->idate(d elseif ($syear && $smonth && $sday) $sql.= " AND dateo BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $smonth, $sday, $syear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $smonth, $sday, $syear))."'"; else dol_print_error('', 'Year not defined'); // Define filter on bank account -$sql.=" AND (b.fk_account=".$conf->global->CASHDESK_ID_BANKACCOUNT_CASH; -$sql.=" OR b.fk_account=".$conf->global->CASHDESK_ID_BANKACCOUNT_CB; -$sql.=" OR b.fk_account=".$conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE; +$sql.=" AND (b.fk_account = ".((int) $conf->global->CASHDESK_ID_BANKACCOUNT_CASH); +$sql.=" OR b.fk_account = ".((int) $conf->global->CASHDESK_ID_BANKACCOUNT_CB); +$sql.=" OR b.fk_account = ".((int) $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE); $sql.=")"; */ $sql = "SELECT f.rowid as facid, f.ref, f.datef as do, pf.amount as amount, b.fk_account as bankid, cp.code"; @@ -177,7 +177,7 @@ if ($resql) { $invoicetmp = new Facture($db); print "

    "; - print $langs->trans("InitialBankBalance").' - '.$langs->trans("Cash").' : '.price($object->opening).''; + print $langs->trans("InitialBankBalance").' - '.$langs->trans("Cash").' :
    '.price($object->opening).'
    '; print "

    "; print '
    '; @@ -200,6 +200,9 @@ if ($resql) { $totalqty = 0; $totalvat = 0; + $totalvatperrate = array(); + $totallocaltax1 = 0; + $totallocaltax2 = 0; $cachebankaccount = array(); $cacheinvoiceid = array(); $transactionspertype = array(); @@ -226,6 +229,14 @@ if ($resql) { foreach ($invoicetmp->lines as $line) { $totalqty += $line->qty; $totalvat += $line->total_tva; + if ($line->tva_tx) { + if (empty($totalvatperrate[$line->tva_tx])) { + $totalvatperrate[$line->tva_tx] = 0; + } + $totalvatperrate[$line->tva_tx] += $line->total_tva; + } + $totallocaltax1 += $line->total_localtax1; + $totallocaltax2 += $line->total_localtax2; } } @@ -348,35 +359,49 @@ if ($resql) { print '
    '; print '

    '; - print $langs->trans("Cash").' '.($transactionspertype['CASH'] ? '('.$transactionspertype['CASH'].')' : '').': '.price($cash).''; + print $langs->trans("Cash").($transactionspertype['CASH'] ? ' ('.$transactionspertype['CASH'].')' : '').' :
    '.price($cash).'
    '; if ($object->status == $object::STATUS_VALIDATED && $cash != $object->cash) { - print ' <> '.$langs->trans("Declared").': '.price($object->cash).''; + print ' <>
    '.$langs->trans("Declared").': '.price($object->cash).'
    '; } print "
    "; //print '
    '; - print $langs->trans("PaymentTypeCHQ").' '.($transactionspertype['CHQ'] ? '('.$transactionspertype['CHQ'].')' : '').': '.price($cheque).''; + print $langs->trans("PaymentTypeCHQ").($transactionspertype['CHQ'] ? ' ('.$transactionspertype['CHQ'].')' : '').' :
    '.price($cheque).'
    '; if ($object->status == $object::STATUS_VALIDATED && $cheque != $object->cheque) { - print ' <> '.$langs->trans("Declared").': '.price($object->cheque).''; + print ' <>
    '.$langs->trans("Declared").' : '.price($object->cheque).'
    '; } print "
    "; //print '
    '; - print $langs->trans("PaymentTypeCB").' '.($transactionspertype['CB'] ? '('.$transactionspertype['CB'].')' : '').': '.price($bank).''; + print $langs->trans("PaymentTypeCB").($transactionspertype['CB'] ? ' ('.$transactionspertype['CB'].')' : '').' :
    '.price($bank).'
    '; if ($object->status == $object::STATUS_VALIDATED && $bank != $object->card) { - print ' <> '.$langs->trans("Declared").': '.price($object->card).''; + print ' <>
    '.$langs->trans("Declared").': '.price($object->card).'
    '; } print "
    "; // print '
    '; if ($other) { - print ''.$langs->trans("Other").' '.($transactionspertype['OTHER'] ? '('.$transactionspertype['OTHER'].')' : '').': '.price($other).""; + print ''.$langs->trans("Other").($transactionspertype['OTHER'] ? ' ('.$transactionspertype['OTHER'].')' : '').' :
    '.price($other)."
    "; print '
    '; } - print $langs->trans("Total").' ('.$totalqty.' '.$langs->trans("Articles").') : '.price($cash + $cheque + $bank + $other).''; - print '
    '.$langs->trans("TotalVAT").' : '.price($totalvat).''; - // TODO Add total localtaxes. + print $langs->trans("Total").' ('.$totalqty.' '.$langs->trans("Articles").') :
    '.price($cash + $cheque + $bank + $other).'
    '; + + print '
    '.$langs->trans("TotalVAT").' :
    '.price($totalvat).'
    '; + + if ($mysoc->useLocalTax(1)) { + print '
    '.$langs->trans("TotalLT1").' :
    '.price($totallocaltax1).'
    '; + } + if ($mysoc->useLocalTax(1)) { + print '
    '.$langs->trans("TotalLT2").' :
    '.price($totallocaltax2).'
    '; + } + + if (!empty($totalvatperrate) && is_array($totalvatperrate)) { + print '

    '.$langs->trans("VATRate").'
    '; + foreach ($totalvatperrate as $keyrate => $valuerate) { + print '
    '.$langs->trans("VATRate").' '.vatrate($keyrate, 1).' :
    '.price($valuerate).'
    '; + } + } print '

    '; print '
    '; diff --git a/htdocs/compta/clients.php b/htdocs/compta/clients.php index b0a4716b7e1..504e5638abc 100644 --- a/htdocs/compta/clients.php +++ b/htdocs/compta/clients.php @@ -104,7 +104,7 @@ if (!$user->rights->societe->client->voir && !$socid) { $sql .= " WHERE s.fk_stcomm = st.id AND s.client in (1, 3)"; $sql .= " AND s.entity IN (".getEntity('societe').")"; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if (dol_strlen($stcomm)) { $sql .= " AND s.fk_stcomm=".((int) $stcomm); diff --git a/htdocs/compta/deplacement/card.php b/htdocs/compta/deplacement/card.php index 6f390e82552..33b453cd0b4 100644 --- a/htdocs/compta/deplacement/card.php +++ b/htdocs/compta/deplacement/card.php @@ -431,7 +431,7 @@ if ($action == 'create') { print $langs->trans('Project'); print ''; if ($action != 'classify' && $user->rights->deplacement->creer) { - print '
    '; } @@ -469,7 +469,7 @@ if ($action == 'create') { if ($object->statut < Deplacement::STATUS_REFUNDED) { // if not refunded if ($user->rights->deplacement->creer) { - print ''.$langs->trans('Modify').''; + print ''.$langs->trans('Modify').''; } else { print ''.$langs->trans('Modify').''; } @@ -485,7 +485,7 @@ if ($action == 'create') { if ($object->statut == Deplacement::STATUS_VALIDATED) { // if validated if ($user->rights->deplacement->creer) { - print ''.$langs->trans('ClassifyRefunded').''; + print ''.$langs->trans('ClassifyRefunded').''; } else { print ''.$langs->trans('ClassifyRefunded').''; } diff --git a/htdocs/compta/deplacement/class/deplacement.class.php b/htdocs/compta/deplacement/class/deplacement.class.php index 1972e3f686e..e05750918da 100644 --- a/htdocs/compta/deplacement/class/deplacement.class.php +++ b/htdocs/compta/deplacement/class/deplacement.class.php @@ -167,14 +167,14 @@ class Deplacement extends CommonObject $sql .= ", fk_soc"; $sql .= ") VALUES ("; $sql .= " '".$this->db->idate($now)."'"; - $sql .= ", ".$conf->entity; - $sql .= ", ".$user->id; - $sql .= ", ".$this->fk_user; + $sql .= ", ".((int) $conf->entity); + $sql .= ", ".((int) $user->id); + $sql .= ", ".((int) $this->fk_user); $sql .= ", '".$this->db->escape($this->type)."'"; $sql .= ", ".($this->note_private ? "'".$this->db->escape($this->note_private)."'" : "null"); $sql .= ", ".($this->note_public ? "'".$this->db->escape($this->note_public)."'" : "null"); - $sql .= ", ".($this->fk_project > 0 ? $this->fk_project : 0); - $sql .= ", ".($this->fk_soc > 0 ? $this->fk_soc : "null"); + $sql .= ", ".($this->fk_project > 0 ? ((int) $this->fk_project) : 0); + $sql .= ", ".($this->fk_soc > 0 ? ((int) $this->fk_soc) : "null"); $sql .= ")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -249,7 +249,7 @@ class Deplacement extends CommonObject $sql .= " , note_private = ".($this->note_private ? "'".$this->db->escape($this->note_private)."'" : "null"); $sql .= " , note_public = ".($this->note_public ? "'".$this->db->escape($this->note_public)."'" : "null"); $sql .= " , fk_projet = ".($this->fk_project > 0 ? $this->fk_project : 0); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update", LOG_DEBUG); $result = $this->db->query($sql); diff --git a/htdocs/compta/deplacement/index.php b/htdocs/compta/deplacement/index.php index 547f0676b7b..12351032b53 100644 --- a/htdocs/compta/deplacement/index.php +++ b/htdocs/compta/deplacement/index.php @@ -159,7 +159,7 @@ if (empty($user->rights->deplacement->readall) && empty($user->rights->deplaceme $sql .= ' AND d.fk_user IN ('.$db->sanitize(join(',', $childids)).')'; } if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($socid) { $sql .= " AND d.fk_soc = ".((int) $socid); diff --git a/htdocs/compta/deplacement/list.php b/htdocs/compta/deplacement/list.php index 61d30ea1345..428eacbc93a 100644 --- a/htdocs/compta/deplacement/list.php +++ b/htdocs/compta/deplacement/list.php @@ -105,7 +105,7 @@ if (empty($user->rights->deplacement->readall) && empty($user->rights->deplaceme $sql .= ' AND d.fk_user IN ('.$db->sanitize(join(',', $childids)).')'; } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND (sc.fk_user = ".$user->id." OR d.fk_soc IS NULL) "; + $sql .= " AND (sc.fk_user = ".((int) $user->id)." OR d.fk_soc IS NULL) "; } if ($socid) { $sql .= " AND s.rowid = ".((int) $socid); diff --git a/htdocs/compta/facture/card-rec.php b/htdocs/compta/facture/card-rec.php index 9341197c312..28143d0340a 100644 --- a/htdocs/compta/facture/card-rec.php +++ b/htdocs/compta/facture/card-rec.php @@ -44,7 +44,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/invoice.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; // Load translation files required by the page -$langs->loadLangs(array('bills', 'compta', 'admin', 'other', 'products', 'banks')); +$langs->loadLangs(array('bills', 'companies', 'compta', 'admin', 'other', 'products', 'banks')); $action = GETPOST('action', 'alpha'); $massaction = GETPOST('massaction', 'alpha'); @@ -193,11 +193,11 @@ if (empty($reshook)) { $action = "create"; $error++; } - if ($nb_gen_max === '') { + /*if ($nb_gen_max === '') { setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->trans("MaxPeriodNumber")), null, 'errors'); $action = "create"; $error++; - } + }*/ } if (!$error) { @@ -433,8 +433,8 @@ if (empty($reshook)) { $tva_tx = ''; } - $qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS'); - $remise_percent = price2num(GETPOST('remise_percent'.$predef), 2); + $qty = price2num(GETPOST('qty'.$predef, 'alpha'), 'MS', 2); + $remise_percent = price2num(GETPOST('remise_percent'.$predef), '', 2); // Extrafields $extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line); @@ -447,15 +447,15 @@ if (empty($reshook)) { } } - if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { + if ((empty($idprod) || $idprod < 0) && ($price_ht < 0) && ($qty < 0)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('type') < 0) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && (!($price_ht >= 0) || $price_ht == '')) { // Unit price can be 0 but not '' + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && (!($price_ht >= 0) || $price_ht == '')) { // Unit price can be 0 but not '' setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), null, 'errors'); $error++; } @@ -463,7 +463,7 @@ if (empty($reshook)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && empty($product_desc)) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && empty($product_desc)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors'); $error++; } @@ -473,7 +473,7 @@ if (empty($reshook)) { $error++; } - if (!$error && ($qty >= 0) && (!empty($product_desc) || !empty($idprod))) { + if (!$error && ($qty >= 0) && (!empty($product_desc) || (!empty($idprod) && $idprod > 0))) { $ret = $object->fetch($id); if ($ret < 0) { dol_print_error($db, $object->error); @@ -495,7 +495,7 @@ if (empty($reshook)) { // Ecrase $tva_tx par celui du produit // Ecrase $base_price_type par celui du produit // Replaces $fk_unit with the product's - if (!empty($idprod)) { + if (!empty($idprod) && $idprod > 0) { $prod = new Product($db); $prod->fetch($idprod); @@ -781,6 +781,8 @@ if (empty($reshook)) { $result = -1; }*/ + $remise_percent = price2num(GETPOST('remise_percent'), '', 2); + // Check minimum price $productid = GETPOST('productid', 'int'); if (!empty($productid)) { @@ -797,7 +799,7 @@ if (empty($reshook)) { $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : ''); // Check price is not lower than minimum (check is done only for standard or replacement invoices) - if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent', 2)) / 100) < price2num($price_min)))) { + if (((!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->produit->ignore_price_min_advance)) || empty($conf->global->MAIN_USE_ADVANCED_PERMS)) && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) { setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors'); $error++; } @@ -830,8 +832,8 @@ if (empty($reshook)) { $vat_rate, $localtax1_rate, $localtax1_rate, - GETPOST('productid'), - price2num(GETPOST('remise_percent'), 2), + GETPOST('productid', 'int'), + $remise_percent, 'HT', $info_bits, 0, @@ -964,7 +966,7 @@ if ($action == 'create') { // Title print ''; // Third party @@ -1144,10 +1146,8 @@ if ($action == 'create') { } print "
    '; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { - print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:')=== 0)) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth125', 1); + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { - print ''; + print ''; } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { print '
    '; print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); @@ -505,7 +501,7 @@ foreach ($object->fields as $key => $val) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { @@ -519,13 +515,13 @@ $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$ $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column -print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ')."\n"; +print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n"; print '
    id.'">'; + print 'id.'">'; print img_edit($langs->trans('SetProject'), 1); print '
    '.$langs->trans("Title").''; - print ''; + print ''; print '
    \n"; - print '
    '; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("Create"); + print "\n"; } else { dol_print_error('', "Error, no invoice ".$object->id); @@ -1201,7 +1201,7 @@ if ($action == 'create') { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->facture->creer) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -1228,6 +1228,8 @@ if ($action == 'create') { } $morehtmlref .= '
    '; + $morehtmlright = ''; + dol_banner_tab($object, 'ref', $linkback, 1, 'title', 'none', $morehtmlref, '', 0, '', $morehtmlright); print '
    '; @@ -1267,7 +1269,7 @@ if ($action == 'create') { print $langs->trans('PaymentConditionsShort'); print ''; if ($action != 'editconditions' && $user->rights->facture->creer) { - print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).''; } print ''; print ''; @@ -1288,7 +1290,7 @@ if ($action == 'create') { print $langs->trans('PaymentMode'); print ''; if ($action != 'editmode' && $user->rights->facture->creer) { - print 'id.'">'.img_edit($langs->trans('SetMode'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetMode'), 1).''; } print ''; print ''; @@ -1308,7 +1310,7 @@ if ($action == 'create') { print $form->editfieldkey('Currency', 'multicurrency_code', '', $object, 0); print ''; if ($usercancreate && $action != 'editmulticurrencycode' && !empty($object->brouillon)) { - print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; + print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; } print ''; print ''; @@ -1324,7 +1326,7 @@ if ($action == 'create') { print $form->editfieldkey('CurrencyRate', 'multicurrency_tx', '', $object, 0); print ''; if ($usercancreate && $action != 'editmulticurrencyrate' && !empty($object->brouillon) && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) { - print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; + print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; } print ''; print ''; @@ -1396,7 +1398,7 @@ if ($action == 'create') { print $langs->trans('BankAccount'); print ''; if (($action != 'editbankaccount') && $user->rights->facture->creer && $object->statut == FactureRec::STATUS_DRAFT) { - print 'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).''; } print ''; print ''; @@ -1414,7 +1416,7 @@ if ($action == 'create') { print $langs->trans('Model'); print ''; if (($action != 'editmodelpdf') && $user->rights->facture->creer && $object->statut == FactureRec::STATUS_DRAFT) { - print 'id.'">'.img_edit($langs->trans('SetModel'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetModel'), 1).''; } print ''; print ''; @@ -1461,7 +1463,7 @@ if ($action == 'create') { print $langs->trans('Frequency'); print ''; if ($action != 'editfrequency' && $user->rights->facture->creer) { - print 'id.'">'.img_edit($langs->trans('Edit'), 1).''; + print 'id.'">'.img_edit($langs->trans('Edit'), 1).''; } print ''; print ''; @@ -1473,7 +1475,7 @@ if ($action == 'create') { print ''; print " ".$form->selectarray('unit_frequency', array('d'=>$langs->trans('Day'), 'm'=>$langs->trans('Month'), 'y'=>$langs->trans('Year')), ($object->unit_frequency ? $object->unit_frequency : 'm')); print ''; - print ''; + print ''; print ''; } else { if ($object->frequency > 0) { diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 5eaed91db56..1a4a775fa5e 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -112,7 +112,12 @@ $extrafields->fetch_name_optionals_label($object->table_element); // Load object if ($id > 0 || !empty($ref)) { if ($action != 'add') { - $ret = $object->fetch($id, $ref, '', '', $conf->global->INVOICE_USE_SITUATION); + if (empty($conf->global->INVOICE_USE_SITUATION)) { + $fetch_situation = false; + } else { + $fetch_situation = true; + } + $ret = $object->fetch($id, $ref, '', '', $fetch_situation); } } @@ -167,8 +172,23 @@ if ($reshook < 0) { } if (empty($reshook)) { + $backurlforlist = DOL_URL_ROOT.'/compta/facture/list.php'; + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = DOL_URL_ROOT.'/compta/facture/card.php?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); + } + } + } + if ($cancel) { - if (!empty($backtopage)) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { header("Location: ".$backtopage); exit; } @@ -193,7 +213,7 @@ if (empty($reshook)) { exit(); } else { $langs->load("errors"); - setEventMessages($object->error, $object->errors, 'errors'); + setEventMessages($objectutil->error, $objectutil->errors, 'errors'); $action = ''; } } elseif ($action == 'reopen' && $usercanreopen) { @@ -316,8 +336,8 @@ if (empty($reshook)) { //var_dump($array_of_total_ht_per_vat_rate);exit; foreach ($array_of_total_ht_per_vat_rate as $vatrate => $tmpvalue) { - $tmp_total_ht = $array_of_total_ht_per_vat_rate[$vatrate]; - $tmp_total_ht_devise = $array_of_total_ht_devise_per_vat_rate[$vatrate]; + $tmp_total_ht = price2num($array_of_total_ht_per_vat_rate[$vatrate]); + $tmp_total_ht_devise = price2num($array_of_total_ht_devise_per_vat_rate[$vatrate]); if (($tmp_total_ht < 0 || $tmp_total_ht_devise < 0) && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) { if ($object->type == $object::TYPE_DEPOSIT) { @@ -388,13 +408,21 @@ if (empty($reshook)) { } elseif ($action == 'setinvoicedate' && $usercancreate) { $object->fetch($id); $old_date_lim_reglement = $object->date_lim_reglement; - $date = dol_mktime(12, 0, 0, GETPOST('invoicedatemonth', 'int'), GETPOST('invoicedateday', 'int'), GETPOST('invoicedateyear', 'int')); - if (empty($date)) { + $newdate = dol_mktime(0, 0, 0, GETPOST('invoicedatemonth', 'int'), GETPOST('invoicedateday', 'int'), GETPOST('invoicedateyear', 'int'), 'tzserver'); + if (empty($newdate)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); - header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$id.'&action=editinvoicedate'); + header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$id.'&action=editinvoicedate&token='.newToken()); exit; } - $object->date = $date; + if ($newdate > (dol_now('tzuserrel') + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + if (empty($conf->global->INVOICE_MAX_FUTURE_DELAY)) { + setEventMessages($langs->trans("WarningInvoiceDateInFuture"), null, 'warnings'); + } else { + setEventMessages($langs->trans("WarningInvoiceDateTooFarInFuture"), null, 'warnings'); + } + } + + $object->date = $newdate; $new_date_lim_reglement = $object->calculate_date_lim_reglement(); if ($new_date_lim_reglement > $old_date_lim_reglement) { $object->date_lim_reglement = $new_date_lim_reglement; @@ -408,7 +436,9 @@ if (empty($reshook)) { } } elseif ($action == 'setdate_pointoftax' && $usercancreate) { $object->fetch($id); - $date_pointoftax = dol_mktime(12, 0, 0, $_POST['date_pointoftaxmonth'], $_POST['date_pointoftaxday'], $_POST['date_pointoftaxyear']); + + $date_pointoftax = dol_mktime(0, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int'), 'tzserver'); + $object->date_pointoftax = $date_pointoftax; $result = $object->update($user); if ($result < 0) { @@ -501,7 +531,7 @@ if (empty($reshook)) { $result = $object->setBankAccount(GETPOST('fk_account', 'int')); } elseif ($action == 'setremisepercent' && $usercancreate) { $object->fetch($id); - $result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), 2)); + $result = $object->setDiscount($user, price2num(GETPOST('remise_percent'), '', 2)); } elseif ($action == "setabsolutediscount" && $usercancreate) { // POST[remise_id] or POST[remise_id_for_payment] @@ -607,7 +637,7 @@ if (empty($reshook)) { } // Check for mandatory fields in invoice - $array_to_check = array('REF_CUSTOMER'=>'RefCustomer'); + $array_to_check = array('REF_CLIENT'=>'RefCustomer'); foreach ($array_to_check as $key => $val) { $keymin = strtolower($key); $vallabel = $object->$keymin; @@ -703,7 +733,7 @@ if (empty($reshook)) { // On verifie si la facture a des paiements $sql = 'SELECT pf.amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf'; - $sql .= ' WHERE pf.fk_facture = '.$object->id; + $sql .= ' WHERE pf.fk_facture = '.((int) $object->id); $result = $db->query($sql); if ($result) { @@ -829,7 +859,7 @@ if (empty($reshook)) { } // If some payments were already done, we change the amount to pay using same prorate - if (!empty($conf->global->INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED)) { + if (!empty($conf->global->INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED) && $object->type == Facture::TYPE_CREDIT_NOTE) { $alreadypaid = $object->getSommePaiement(); // This can be not 0 if we allow to create credit to reuse from credit notes partially refunded. if ($alreadypaid && abs($alreadypaid) < abs($object->total_ttc)) { $ratio = abs(($object->total_ttc - $alreadypaid) / $object->total_ttc); @@ -868,7 +898,7 @@ if (empty($reshook)) { $sql = 'SELECT SUM(pf.amount) as total_paiements'; $sql .= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf, '.MAIN_DB_PREFIX.'paiement as p'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as c ON p.fk_paiement = c.id'; - $sql .= ' WHERE pf.fk_facture = '.$object->id; + $sql .= ' WHERE pf.fk_facture = '.((int) $object->id); $sql .= ' AND pf.fk_paiement = p.rowid'; $sql .= ' AND p.entity IN ('.getEntity('invoice').')'; $resql = $db->query($sql); @@ -884,7 +914,7 @@ if (empty($reshook)) { $sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,"; $sql .= " re.description, re.fk_facture_source"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except as re"; - $sql .= " WHERE fk_facture = ".$object->id; + $sql .= " WHERE fk_facture = ".((int) $object->id); $resql = $db->query($sql); if (!empty($resql)) { while ($obj = $db->fetch_object($resql)) { @@ -981,14 +1011,16 @@ if (empty($reshook)) { $error++; } + $dateinvoice = dol_mktime(0, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'), 'tzserver'); // If we enter the 02 january, we need to save the 02 january for server + $date_pointoftax = dol_mktime(0, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int'), 'tzserver'); + // Replacement invoice if (GETPOST('type') == Facture::TYPE_REPLACEMENT) { - $dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); if (empty($dateinvoice)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); $action = 'create'; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; @@ -1000,8 +1032,6 @@ if (empty($reshook)) { $action = 'create'; } - $date_pointoftax = dol_mktime(12, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int')); - if (!$error) { // This is a replacement invoice $result = $object->fetch(GETPOST('fac_replacement', 'int')); @@ -1017,8 +1047,8 @@ if (empty($reshook)) { $object->cond_reglement_id = GETPOST('cond_reglement_id', 'int'); $object->mode_reglement_id = GETPOST('mode_reglement_id', 'int'); $object->fk_account = GETPOST('fk_account', 'int'); - $object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU'); - $object->remise_percent = price2num(GETPOST('remise_percent'), 2); + $object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU', 2); + $object->remise_percent = price2num(GETPOST('remise_percent'), '', 2); $object->fk_incoterms = GETPOST('incoterm_id', 'int'); $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->multicurrency_code = GETPOST('multicurrency_code', 'alpha'); @@ -1044,19 +1074,16 @@ if (empty($reshook)) { $action = 'create'; } - $dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); if (empty($dateinvoice)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); $action = 'create'; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; } - $date_pointoftax = dol_mktime(12, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int')); - if (!$error) { if (!empty($originentity)) { $object->entity = $originentity; @@ -1074,7 +1101,7 @@ if (empty($reshook)) { $object->mode_reglement_id = GETPOST('mode_reglement_id', 'int'); $object->fk_account = GETPOST('fk_account', 'int'); $object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU'); - $object->remise_percent = price2num(GETPOST('remise_percent'), 2); + $object->remise_percent = price2num(GETPOST('remise_percent'), '', 2); $object->fk_incoterms = GETPOST('incoterm_id', 'int'); $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->multicurrency_code = GETPOST('multicurrency_code', 'alpha'); @@ -1260,19 +1287,16 @@ if (empty($reshook)) { // Standard invoice or Deposit invoice, created from a Predefined template invoice if ((GETPOST('type') == Facture::TYPE_STANDARD || GETPOST('type') == Facture::TYPE_DEPOSIT) && GETPOST('fac_rec', 'int') > 0) { - $dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); if (empty($dateinvoice)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); $action = 'create'; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; } - $date_pointoftax = dol_mktime(12, 0, 0, $_POST['date_pointoftaxmonth'], $_POST['date_pointoftaxday'], $_POST['date_pointoftaxyear']); - if (!$error) { $object->socid = GETPOST('socid', 'int'); $object->type = GETPOST('type'); @@ -1289,7 +1313,7 @@ if (empty($reshook)) { $object->fk_account = GETPOST('fk_account', 'int'); $object->amount = price2num(GETPOST('amount')); $object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU'); - $object->remise_percent = price2num(GETPOST('remise_percent'), 2); + $object->remise_percent = price2num(GETPOST('remise_percent'), '', 2); $object->fk_incoterms = GETPOST('incoterm_id', 'int'); $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->multicurrency_code = GETPOST('multicurrency_code', 'alpha'); @@ -1307,8 +1331,6 @@ if (empty($reshook)) { $typeamount = GETPOST('typedeposit', 'aZ09'); $valuestandardinvoice = price2num(str_replace('%', '', GETPOST('valuestandardinvoice', 'alpha')), 'MU'); $valuedeposit = price2num(str_replace('%', '', GETPOST('valuedeposit', 'alpha')), 'MU'); - $dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); - $date_pointoftax = dol_mktime(12, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int')); if (GETPOST('socid', 'int') < 1) { $error++; @@ -1320,7 +1342,7 @@ if (empty($reshook)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); $action = 'create'; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; @@ -1370,7 +1392,7 @@ if (empty($reshook)) { $object->fk_account = GETPOST('fk_account', 'int'); $object->amount = price2num(GETPOST('amount')); $object->remise_absolue = price2num(GETPOST('remise_absolue'), 'MU'); - $object->remise_percent = price2num(GETPOST('remise_percent'), 2); + $object->remise_percent = price2num(GETPOST('remise_percent'), '', 2); $object->fk_incoterms = GETPOST('incoterm_id', 'int'); $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->multicurrency_code = GETPOST('multicurrency_code', 'alpha'); @@ -1793,7 +1815,7 @@ if (empty($reshook)) { $product->fetch(GETPOST('idprod'.$i, 'int')); $startday = dol_mktime(12, 0, 0, GETPOST('date_start'.$i.'month'), GETPOST('date_start'.$i.'day'), GETPOST('date_start'.$i.'year')); $endday = dol_mktime(12, 0, 0, GETPOST('date_end'.$i.'month'), GETPOST('date_end'.$i.'day'), GETPOST('date_end'.$i.'year')); - $result = $object->addline($product->description, $product->price, price2num(GETPOST('qty'.$i), 'MS'), $product->tva_tx, $product->localtax1_tx, $product->localtax2_tx, GETPOST('idprod'.$i, 'int'), price2num(GETPOST('remise_percent'.$i)), $startday, $endday, 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type, -1, 0, '', 0, 0, null, 0, '', 0, 100, '', $product->fk_unit); + $result = $object->addline($product->description, $product->price, price2num(GETPOST('qty'.$i), 'MS'), $product->tva_tx, $product->localtax1_tx, $product->localtax2_tx, GETPOST('idprod'.$i, 'int'), price2num(GETPOST('remise_percent'.$i), '', 2), $startday, $endday, 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type, -1, 0, '', 0, 0, null, 0, '', 0, 100, '', $product->fk_unit); } } } @@ -1802,19 +1824,16 @@ if (empty($reshook)) { // Situation invoices if (GETPOST('type') == Facture::TYPE_SITUATION && GETPOST('situations')) { - $dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); if (empty($dateinvoice)) { $error++; $mesg = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")); setEventMessages($mesg, null, 'errors'); - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; } - $date_pointoftax = dol_mktime(12, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int')); - if (!(GETPOST('situations', 'int') > 0)) { $error++; $mesg = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("InvoiceSituation")); @@ -1894,8 +1913,8 @@ if (empty($reshook)) { $object->fk_project = GETPOST('projectid', 'int'); $object->cond_reglement_id = GETPOST('cond_reglement_id', 'int'); $object->mode_reglement_id = GETPOST('mode_reglement_id', 'int'); - $object->remise_absolue =price2num(GETPOST('remise_absolue'), 'MU'); - $object->remise_percent = price2num(GETPOST('remise_percent'), 2); + $object->remise_absolue =price2num(GETPOST('remise_absolue'), 'MU', 2); + $object->remise_percent = price2num(GETPOST('remise_percent'), '', 2); // Proprietes particulieres a facture de remplacement @@ -1981,8 +2000,8 @@ if (empty($reshook)) { $tva_tx = ''; } - $qty = price2num(GETPOST('qty'.$predef), 'MS'); - $remise_percent = price2num(GETPOST('remise_percent'.$predef), 2); + $qty = price2num(GETPOST('qty'.$predef), 'MS', 2); + $remise_percent = price2num(GETPOST('remise_percent'.$predef), '', 2); // Extrafields $extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line); @@ -1995,7 +2014,7 @@ if (empty($reshook)) { } } - if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { + if ((empty($idprod) || $idprod < 0) && ($price_ht < 0) && ($qty < 0)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } @@ -2005,11 +2024,11 @@ if (empty($reshook)) { $error++; } } - if ($prod_entry_mode == 'free' && empty($idprod) && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('type') < 0) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if (($prod_entry_mode == 'free' && empty($idprod) && (($price_ht < 0 && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) || $price_ht == '') && $price_ht_devise == '') && $object->type != Facture::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' + if (($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && (($price_ht < 0 && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) || $price_ht == '') && $price_ht_devise == '') && $object->type != Facture::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' if ($price_ht < 0 && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) { $langs->load("errors"); if ($object->type == $object::TYPE_DEPOSIT) { @@ -2052,7 +2071,7 @@ if (empty($reshook)) { } } - if (!$error && ($qty >= 0) && (!empty($product_desc) || !empty($idprod))) { + if (!$error && ($qty >= 0) && (!empty($product_desc) || (!empty($idprod) && $idprod > 0))) { $ret = $object->fetch($id); if ($ret < 0) { dol_print_error($db, $object->error); @@ -2074,7 +2093,7 @@ if (empty($reshook)) { // Ecrase $tva_tx par celui du produit // Ecrase $base_price_type par celui du produit // Replaces $fk_unit with the product's - if (!empty($idprod)) { + if (!empty($idprod) && $idprod > 0) { $prod = new Product($db); $prod->fetch($idprod); @@ -2362,27 +2381,30 @@ if (empty($reshook)) { $line = new FactureLigne($db); $line->fetch(GETPOST('lineid', 'int')); $percent = $line->get_prev_progress($object->id); + $progress = price2num(GETPOST('progress', 'alpha')); if ($object->type == Facture::TYPE_CREDIT_NOTE && $object->situation_cycle_ref > 0) { // in case of situation credit note - if (GETPOST('progress') >= 0) { + if ($progress >= 0) { $mesg = $langs->trans("CantBeNullOrPositive"); setEventMessages($mesg, null, 'warnings'); $error++; $result = -1; - } elseif (GETPOST('progress') < $line->situation_percent) { // TODO : use a modified $line->get_prev_progress($object->id) result + } elseif ($progress < $line->situation_percent) { // TODO : use a modified $line->get_prev_progress($object->id) result $mesg = $langs->trans("CantBeLessThanMinPercent"); setEventMessages($mesg, null, 'warnings'); $error++; $result = -1; + } elseif ($progress < $percent) { + $mesg = '
    '.$langs->trans("CantBeLessThanMinPercent").'
    '; + setEventMessages($mesg, null, 'warnings'); + $error++; + $result = -1; } - } elseif (GETPOST('progress') < $percent) { - $mesg = '
    '.$langs->trans("CantBeLessThanMinPercent").'
    '; - setEventMessages($mesg, null, 'warnings'); - $error++; - $result = -1; } + $remise_percent = price2num(GETPOST('remise_percent'), '', 2); + // Check minimum price $productid = GETPOST('productid', 'int'); if (!empty($productid)) { @@ -2399,7 +2421,7 @@ if (empty($reshook)) { $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : ''); // Check price is not lower than minimum (check is done only for standard or replacement invoices) - if ($usercanproductignorepricemin && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent'), 2) / 100) < price2num($price_min)))) { + if ($usercanproductignorepricemin && (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - $remise_percent / 100) < price2num($price_min)))) { setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors'); $error++; } @@ -2452,7 +2474,7 @@ if (empty($reshook)) { $description, $pu_ht, $qty, - price2num(GETPOST('remise_percent'), 2), + $remise_percent, $date_start, $date_end, $vat_rate, @@ -2590,10 +2612,10 @@ if (empty($reshook)) { $errors = 0; if (count($linkedCreditNotesList) > 0) { // now, credit note must follow - $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture '; - $sql .= ' SET situation_cycle_ref='.$newCycle; + $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture'; + $sql .= ' SET situation_cycle_ref = '.((int) $newCycle); $sql .= ' , situation_final=0'; - $sql .= ' , situation_counter='.$object->situation_counter; + $sql .= ' , situation_counter='.((int) $object->situation_counter); $sql .= ' WHERE rowid IN ('.$db->sanitize(implode(',', $linkedCreditNotesList)).')'; $resql = $db->query($sql); @@ -3061,7 +3083,7 @@ if ($action == 'create') { } else { print ''.$langs->trans('Customer').''; print ''; - print img_picto('', 'company').$form->select_company($soc->id, 'socid', '((s.client = 1 OR s.client = 3) AND s.status=1)', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300'); + print img_picto('', 'company').$form->select_company($soc->id, 'socid', '((s.client = 1 OR s.client = 3) AND s.status=1)', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300 widthcentpercentminusxx maxwidth500'); // Option to reload page to retrieve customer informations. if (empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE_DISABLED)) { print ''; + $stringtoshow .= '
    '; // hideobject is to start hidden + $stringtoshow .= '
    '; + $stringtoshow .= ''; + $stringtoshow .= ''; + $stringtoshow .= ''; + $stringtoshow .= ''; + $stringtoshow .= $langs->trans("Year").' '; + $stringtoshow .= ''; + $stringtoshow .= '
    '; + $stringtoshow .= '
    '; + $stringtoshow .= $px2->show(); + $this->info_box_contents[0][0] = array('tr'=>'class="oddeven nohover"', 'td' => 'class="nohover center"', 'textnoformat'=>$stringtoshow); + } else { + $this->info_box_contents[0][0] = array('tr'=>'class="oddeven nohover"', 'td' => 'class="nohover left"', 'maxlength'=>500, 'text' => $mesg); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'class="nohover left"', + 'text' => ''.$langs->trans("ReadPermissionNotAllowed").'' + ); + } + } + + /** + * Method to show box + * + * @param array $head Array with properties of box title + * @param array $contents Array with properties of box lines + * @param int $nooutput No print, only return string + * @return string + */ + public function showBox($head = null, $contents = null, $nooutput = 0) + { + return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); + } +} diff --git a/htdocs/core/boxes/box_graph_nb_ticket_last_x_days.php b/htdocs/core/boxes/box_graph_nb_ticket_last_x_days.php index baa822dcf29..98aed557557 100644 --- a/htdocs/core/boxes/box_graph_nb_ticket_last_x_days.php +++ b/htdocs/core/boxes/box_graph_nb_ticket_last_x_days.php @@ -85,7 +85,7 @@ class box_graph_nb_ticket_last_x_days extends ModeleBoxes $param_day = 'DOLUSERCOOKIE_ticket_last_days'; - if ($_POST[$param_day]) { + if (!empty($_POST[$param_day])) { if ($_POST[$param_day] >= 15) { $days = 14; } else { diff --git a/htdocs/core/boxes/box_graph_nb_tickets_type.php b/htdocs/core/boxes/box_graph_nb_tickets_type.php index 712c28df851..2da54d84e7a 100644 --- a/htdocs/core/boxes/box_graph_nb_tickets_type.php +++ b/htdocs/core/boxes/box_graph_nb_tickets_type.php @@ -69,20 +69,11 @@ class box_graph_nb_tickets_type extends ModeleBoxes global $theme_datacolor, $badgeStatus8; require_once DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php"; + require_once DOL_DOCUMENT_ROOT."/theme/".$conf->theme."/theme_vars.inc.php"; - $badgeStatus0 = '#cbd3d3'; // draft - $badgeStatus1 = '#bc9526'; // validated - $badgeStatus1b = '#bc9526'; // validated - $badgeStatus2 = '#9c9c26'; // approved - $badgeStatus3 = '#bca52b'; - $badgeStatus4 = '#25a580'; // Color ok - $badgeStatus4b = '#25a580'; // Color ok - $badgeStatus5 = '#cad2d2'; - $badgeStatus6 = '#cad2d2'; - $badgeStatus7 = '#baa32b'; $badgeStatus8 = '#993013'; - $badgeStatus9 = '#e7f0f0'; + $text = $langs->trans("BoxTicketType"); $this->info_box_head = array( 'text' => $text, @@ -165,6 +156,9 @@ class box_graph_nb_tickets_type extends ModeleBoxes } $px1->SetData($data); $px1->setShowLegend(2); + if (!empty($conf->dol_optimize_smallscreen)) { + $px1->SetWidth(320); + } $px1->SetType(array('pie')); $px1->SetLegend($legend); $px1->SetMaxValue($px1->GetCeilMaxValue()); diff --git a/htdocs/core/boxes/box_graph_new_vs_close_ticket.php b/htdocs/core/boxes/box_graph_new_vs_close_ticket.php index f2e2170a1b8..a4bf2d6990f 100644 --- a/htdocs/core/boxes/box_graph_new_vs_close_ticket.php +++ b/htdocs/core/boxes/box_graph_new_vs_close_ticket.php @@ -137,6 +137,9 @@ class box_graph_new_vs_close_ticket extends ModeleBoxes $px1->SetDataColor(array_values($colorseries)); $px1->SetData($data); $px1->setShowLegend(2); + if (!empty($conf->dol_optimize_smallscreen)) { + $px1->SetWidth(320); + } $px1->SetType(array('pie')); $px1->SetMaxValue($px1->GetCeilMaxValue()); $px1->SetShading(3); diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index c9ab7372c4c..5110b929a2e 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -192,6 +192,9 @@ class box_graph_product_distribution extends ModeleBoxes } $px2->SetLegend($legend); $px2->setShowLegend(2); + if (!empty($conf->dol_optimize_smallscreen)) { + $px2->SetWidth(320); + } $px2->setShowPointValue($showpointvalue); $px2->setShowPercent(0); $px2->SetMaxValue($px2->GetCeilMaxValue()); @@ -252,6 +255,9 @@ class box_graph_product_distribution extends ModeleBoxes } $px3->SetLegend($legend); $px3->setShowLegend(2); + if (!empty($conf->dol_optimize_smallscreen)) { + $px3->SetWidth(320); + } $px3->setShowPointValue($showpointvalue); $px3->setShowPercent(0); $px3->SetMaxValue($px3->GetCeilMaxValue()); @@ -313,6 +319,9 @@ class box_graph_product_distribution extends ModeleBoxes } $px1->SetLegend($legend); $px1->setShowLegend(2); + if (!empty($conf->dol_optimize_smallscreen)) { + $px1->SetWidth(320); + } $px1->setShowPointValue($showpointvalue); $px1->setShowPercent(0); $px1->SetMaxValue($px1->GetCeilMaxValue()); @@ -408,7 +417,7 @@ class box_graph_product_distribution extends ModeleBoxes $stringtoshow .= '
    '; } $this->info_box_contents[0][0] = array( - 'tr'=>'class="oddeven nohover"', + 'tr' => 'class="oddeven nohover"', 'td' => 'class="nohover center"', 'textnoformat'=>$stringtoshow, ); diff --git a/htdocs/core/boxes/box_graph_ticket_by_severity.php b/htdocs/core/boxes/box_graph_ticket_by_severity.php index 787e9cebb33..13cd0c40c86 100644 --- a/htdocs/core/boxes/box_graph_ticket_by_severity.php +++ b/htdocs/core/boxes/box_graph_ticket_by_severity.php @@ -176,7 +176,6 @@ class box_graph_ticket_by_severity extends ModeleBoxes } $px1->SetData($data); - //$px1->setShowLegend(2); $px1->setShowLegend(0); $px1->SetType(array('bars')); $px1->SetLegend($legend); diff --git a/htdocs/core/boxes/box_last_modified_ticket.php b/htdocs/core/boxes/box_last_modified_ticket.php index 4d5097e23ba..57e54594255 100644 --- a/htdocs/core/boxes/box_last_modified_ticket.php +++ b/htdocs/core/boxes/box_last_modified_ticket.php @@ -94,14 +94,14 @@ class box_last_modified_ticket extends ModeleBoxes $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_ticket_severity as severity ON severity.code=t.severity_code"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid=t.fk_soc"; - $sql .= " WHERE t.entity = ".$conf->entity; + $sql .= " WHERE t.entity IN (".getEntity('ticket').')'; // $sql.= " AND e.rowid = er.fk_event"; - //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " WHERE s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " WHERE s.rowid = sc.fk_soc AND sc.fk_user = " .((int) $user->id); if ($user->socid) { - $sql .= " AND t.fk_soc= ".$user->socid; + $sql .= " AND t.fk_soc = ".((int) $user->socid); } - $sql .= " ORDER BY t.tms DESC, t.rowid DESC "; + $sql .= " ORDER BY t.tms DESC, t.rowid DESC"; $sql .= $this->db->plimit($max, 0); $resql = $this->db->query($sql); @@ -145,7 +145,7 @@ class box_last_modified_ticket extends ModeleBoxes // Subject $this->info_box_contents[$i][$r] = array( - 'td' => 'class="nowrap"', + 'td' => 'class="nowrap tdoverflowmax150"', 'text' => $objp->subject, // Some event have no ref 'url' => DOL_URL_ROOT."/ticket/card.php?track_id=".$objp->track_id, ); @@ -153,7 +153,7 @@ class box_last_modified_ticket extends ModeleBoxes // Customer $this->info_box_contents[$i][$r] = array( - 'td' => 'class="tdoverflowmax150 maxwidth300onsmartphone"', + 'td' => 'class="tdoverflowmax150"', 'text' => $link, 'asis' => 1, ); diff --git a/htdocs/core/boxes/box_last_ticket.php b/htdocs/core/boxes/box_last_ticket.php index e08a54f1c87..39086464f73 100644 --- a/htdocs/core/boxes/box_last_ticket.php +++ b/htdocs/core/boxes/box_last_ticket.php @@ -93,12 +93,11 @@ class box_last_ticket extends ModeleBoxes $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_ticket_category as category ON category.code=t.category_code"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_ticket_severity as severity ON severity.code=t.severity_code"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid=t.fk_soc"; - - $sql .= " WHERE t.entity = ".$conf->entity; + $sql .= " WHERE t.entity IN (".getEntity('ticket').")"; // $sql.= " AND e.rowid = er.fk_event"; - //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " WHERE s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " WHERE s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); if ($user->socid) { - $sql .= " AND t.fk_soc= ".$user->socid; + $sql .= " AND t.fk_soc= ".((int) $user->socid); } //$sql.= " AND t.fk_statut > 9"; diff --git a/htdocs/core/boxes/box_members_by_type.php b/htdocs/core/boxes/box_members_by_type.php index 5b95b58d29d..0a5e4548e3f 100644 --- a/htdocs/core/boxes/box_members_by_type.php +++ b/htdocs/core/boxes/box_members_by_type.php @@ -68,7 +68,7 @@ class box_members_by_type extends ModeleBoxes $this->enabled = 0; // disabled for external users } - $this->hidden = !($user->rights->adherent->lire); + $this->hidden = !(!empty($conf->adherent->enabled) && $user->rights->adherent->lire); } /** diff --git a/htdocs/core/boxes/box_members_last_modified.php b/htdocs/core/boxes/box_members_last_modified.php index 9de6a3af12f..cf70bcafcb1 100644 --- a/htdocs/core/boxes/box_members_last_modified.php +++ b/htdocs/core/boxes/box_members_last_modified.php @@ -67,7 +67,7 @@ class box_members_last_modified extends ModeleBoxes $this->enabled = 0; // disabled for external users } - $this->hidden = !($user->rights->adherent->lire); + $this->hidden = !(!empty($conf->adherent->enabled) && $user->rights->adherent->lire); } /** diff --git a/htdocs/core/boxes/box_members_last_subscriptions.php b/htdocs/core/boxes/box_members_last_subscriptions.php index 3cea44c2dc3..949edd567f3 100644 --- a/htdocs/core/boxes/box_members_last_subscriptions.php +++ b/htdocs/core/boxes/box_members_last_subscriptions.php @@ -67,7 +67,7 @@ class box_members_last_subscriptions extends ModeleBoxes $this->enabled = 0; // disabled for external users } - $this->hidden = !($user->rights->adherent->lire); + $this->hidden = !(!empty($conf->adherent->enabled) && $user->rights->adherent->lire); } /** diff --git a/htdocs/core/boxes/box_members_subscriptions_by_year.php b/htdocs/core/boxes/box_members_subscriptions_by_year.php index be835511c6b..fe64f37c805 100644 --- a/htdocs/core/boxes/box_members_subscriptions_by_year.php +++ b/htdocs/core/boxes/box_members_subscriptions_by_year.php @@ -67,7 +67,7 @@ class box_members_subscriptions_by_year extends ModeleBoxes $this->enabled = 0; // disabled for external users } - $this->hidden = !($user->rights->adherent->lire); + $this->hidden = !(!empty($conf->adherent->enabled) && $user->rights->adherent->lire); } /** diff --git a/htdocs/core/boxes/box_mos.php b/htdocs/core/boxes/box_mos.php index 18a19da93dc..6436fb8e34e 100644 --- a/htdocs/core/boxes/box_mos.php +++ b/htdocs/core/boxes/box_mos.php @@ -86,12 +86,15 @@ class box_mos extends ModeleBoxes if ($user->rights->mrp->read) { $sql = "SELECT p.ref as product_ref"; + $sql .= ", p.rowid as productid"; + $sql .= ", p.tosell"; + $sql .= ", p.tobuy"; + $sql .= ", p.tobatch"; $sql .= ", c.rowid"; $sql .= ", c.date_creation"; $sql .= ", c.tms"; $sql .= ", c.ref"; $sql .= ", c.status"; - //$sql.= ", c.fk_user_valid"; $sql .= " FROM ".MAIN_DB_PREFIX."product as p"; $sql .= ", ".MAIN_DB_PREFIX."mrp_mo as c"; $sql .= " WHERE c.fk_product = p.rowid"; @@ -110,9 +113,12 @@ class box_mos extends ModeleBoxes $datem = $this->db->jdate($objp->tms); $mostatic->id = $objp->rowid; $mostatic->ref = $objp->ref; - $mostatic->id = $objp->socid; $mostatic->status = $objp->status; + $productstatic->id = $objp->productid; $productstatic->ref = $objp->product_ref; + $productstatic->status = $objp->tosell; + $productstatic->status_buy = $objp->tobuy; + $productstatic->status_batch = $objp->tobatch; $this->info_box_contents[$line][] = array( 'td' => 'class="nowraponall"', diff --git a/htdocs/core/boxes/box_produits.php b/htdocs/core/boxes/box_produits.php index dde3b685d25..d039881445e 100644 --- a/htdocs/core/boxes/box_produits.php +++ b/htdocs/core/boxes/box_produits.php @@ -122,8 +122,8 @@ class box_produits extends ModeleBoxes if (!empty($conf->global->MAIN_MULTILANGS)) { // si l'option est active $sqld = "SELECT label"; $sqld .= " FROM ".MAIN_DB_PREFIX."product_lang"; - $sqld .= " WHERE fk_product=".$objp->rowid; - $sqld .= " AND lang='".$this->db->escape($langs->getDefaultLang())."'"; + $sqld .= " WHERE fk_product = ".((int) $objp->rowid); + $sqld .= " AND lang = '".$this->db->escape($langs->getDefaultLang())."'"; $sqld .= " LIMIT 1"; $resultd = $this->db->query($sqld); diff --git a/htdocs/core/boxes/box_produits_alerte_stock.php b/htdocs/core/boxes/box_produits_alerte_stock.php index d7ae1566a44..5e7ec72d0e1 100644 --- a/htdocs/core/boxes/box_produits_alerte_stock.php +++ b/htdocs/core/boxes/box_produits_alerte_stock.php @@ -129,8 +129,8 @@ class box_produits_alerte_stock extends ModeleBoxes if (!empty($conf->global->MAIN_MULTILANGS)) { // si l'option est active $sqld = "SELECT label"; $sqld .= " FROM ".MAIN_DB_PREFIX."product_lang"; - $sqld .= " WHERE fk_product=".$objp->rowid; - $sqld .= " AND lang='".$this->db->escape($langs->getDefaultLang())."'"; + $sqld .= " WHERE fk_product = ".((int) $objp->rowid); + $sqld .= " AND lang = '".$this->db->escape($langs->getDefaultLang())."'"; $sqld .= " LIMIT 1"; $resultd = $this->db->query($sqld); diff --git a/htdocs/core/boxes/box_project.php b/htdocs/core/boxes/box_project.php index 9f1204c4dc4..f14ab699690 100644 --- a/htdocs/core/boxes/box_project.php +++ b/htdocs/core/boxes/box_project.php @@ -136,8 +136,9 @@ class box_project extends ModeleBoxes $sql = "SELECT count(*) as nb, sum(progress) as totprogress"; $sql .= " FROM ".MAIN_DB_PREFIX."projet as p LEFT JOIN ".MAIN_DB_PREFIX."projet_task as pt on pt.fk_projet = p.rowid"; - $sql .= " WHERE p.entity IN (".getEntity('project').')'; - $sql .= " AND p.rowid = ".$objp->rowid; + $sql .= " WHERE p.entity IN (".getEntity('project').')'; + $sql .= " AND p.rowid = ".((int) $objp->rowid); + $resultTask = $this->db->query($sql); if ($resultTask) { $objTask = $this->db->fetch_object($resultTask); diff --git a/htdocs/core/boxes/box_propales.php b/htdocs/core/boxes/box_propales.php index 9c6376351e7..6599116a980 100644 --- a/htdocs/core/boxes/box_propales.php +++ b/htdocs/core/boxes/box_propales.php @@ -96,10 +96,10 @@ class box_propales extends ModeleBoxes $sql .= " WHERE p.fk_soc = s.rowid"; $sql .= " AND p.entity IN (".getEntity('propal').")"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($user->socid) { - $sql .= " AND s.rowid = ".$user->socid; + $sql .= " AND s.rowid = ".((int) $user->socid); } if (!empty($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE)) { $sql .= " ORDER BY p.datep DESC, p.ref DESC "; diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php index 7489cc997ea..06d42e34b18 100644 --- a/htdocs/core/boxes/box_prospect.php +++ b/htdocs/core/boxes/box_prospect.php @@ -99,10 +99,10 @@ class box_prospect extends ModeleBoxes $sql .= " WHERE s.client IN (2, 3)"; $sql .= " AND s.entity IN (".getEntity('societe').")"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($user->socid) { - $sql .= " AND s.rowid = ".$user->socid; + $sql .= " AND s.rowid = ".((int) $user->socid); } $sql .= " ORDER BY s.tms DESC"; $sql .= $this->db->plimit($max, 0); diff --git a/htdocs/core/boxes/box_scheduled_jobs.php b/htdocs/core/boxes/box_scheduled_jobs.php index 793b0cc8c79..53cf5c79571 100644 --- a/htdocs/core/boxes/box_scheduled_jobs.php +++ b/htdocs/core/boxes/box_scheduled_jobs.php @@ -85,7 +85,7 @@ class box_scheduled_jobs extends ModeleBoxes $resultarray = array(); $result = 0; - $sql = "SELECT t.rowid, t.datelastrun, t.datenextrun,"; + $sql = "SELECT t.rowid, t.datelastrun, t.datenextrun, t.datestart,"; $sql .= " t.label, t.status, t.test, t.lastresult"; $sql .= " FROM " . MAIN_DB_PREFIX . "cronjob as t"; $sql .= " WHERE status <> ".$cronstatic::STATUS_DISABLED; diff --git a/htdocs/core/boxes/box_services_contracts.php b/htdocs/core/boxes/box_services_contracts.php index 98e2b82bb37..320932a0c6f 100644 --- a/htdocs/core/boxes/box_services_contracts.php +++ b/htdocs/core/boxes/box_services_contracts.php @@ -96,12 +96,12 @@ class box_services_contracts extends ModeleBoxes $sql .= " INNER JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON cd.fk_product = p.rowid"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " INNER JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " INNER JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= ")"; $sql .= " WHERE c.entity = ".$conf->entity; if ($user->socid) { - $sql .= " AND s.rowid = ".$user->socid; + $sql .= " AND s.rowid = ".((int) $user->socid); } $sql .= $this->db->order("c.tms", "DESC"); $sql .= $this->db->plimit($max, 0); diff --git a/htdocs/core/boxes/box_services_expired.php b/htdocs/core/boxes/box_services_expired.php index 75cc1cde413..433c566ad31 100644 --- a/htdocs/core/boxes/box_services_expired.php +++ b/htdocs/core/boxes/box_services_expired.php @@ -93,10 +93,10 @@ class box_services_expired extends ModeleBoxes $sql .= " AND c.entity = ".$conf->entity; $sql .= " AND c.fk_soc=s.rowid AND cd.fk_contrat=c.rowid AND c.statut > 0"; if ($user->socid) { - $sql .= ' AND c.fk_soc = '.$user->socid; + $sql .= ' AND c.fk_soc = '.((int) $user->socid); } if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " GROUP BY c.rowid, c.ref, c.statut, c.date_contrat, c.ref_customer, c.ref_supplier, s.nom, s.rowid"; $sql .= ", s.email, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur"; diff --git a/htdocs/core/boxes/box_shipments.php b/htdocs/core/boxes/box_shipments.php index abb639ddb94..2b6adfe3bdc 100644 --- a/htdocs/core/boxes/box_shipments.php +++ b/htdocs/core/boxes/box_shipments.php @@ -109,10 +109,10 @@ class box_shipments extends ModeleBoxes $sql .= " AND e.fk_statut = 1"; } if ($user->socid > 0) { - $sql.= " AND s.rowid = ".$user->socid; + $sql.= " AND s.rowid = ".((int) $user->socid); } if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND sc.fk_user = ".$user->id; + $sql .= " AND sc.fk_user = ".((int) $user->id); } else { $sql .= " ORDER BY e.date_delivery, e.ref DESC "; } diff --git a/htdocs/core/boxes/box_supplier_orders.php b/htdocs/core/boxes/box_supplier_orders.php index 0c2b97ce6b5..b3451d9b6c3 100644 --- a/htdocs/core/boxes/box_supplier_orders.php +++ b/htdocs/core/boxes/box_supplier_orders.php @@ -98,10 +98,10 @@ class box_supplier_orders extends ModeleBoxes $sql .= " WHERE c.fk_soc = s.rowid"; $sql .= " AND c.entity IN (".getEntity('supplier_order').")"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($user->socid) { - $sql .= " AND s.rowid = ".$user->socid; + $sql .= " AND s.rowid = ".((int) $user->socid); } if (!empty($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE)) { $sql .= " ORDER BY c.date_commande DESC, c.ref DESC "; diff --git a/htdocs/core/boxes/box_supplier_orders_awaiting_reception.php b/htdocs/core/boxes/box_supplier_orders_awaiting_reception.php index 04dabbd0ff3..580ccdb373c 100644 --- a/htdocs/core/boxes/box_supplier_orders_awaiting_reception.php +++ b/htdocs/core/boxes/box_supplier_orders_awaiting_reception.php @@ -99,10 +99,10 @@ class box_supplier_orders_awaiting_reception extends ModeleBoxes $sql .= " AND c.entity IN (".getEntity('supplier_order').")"; $sql .= " AND c.fk_statut IN (".CommandeFournisseur::STATUS_ORDERSENT.", ".CommandeFournisseur::STATUS_RECEIVED_PARTIALLY.")"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($user->socid) { - $sql .= " AND s.rowid = ".$user->socid; + $sql .= " AND s.rowid = ".((int) $user->socid); } if (!empty($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE)) { $sql .= " ORDER BY c.date_commande DESC, c.ref DESC"; @@ -161,7 +161,7 @@ class box_supplier_orders_awaiting_reception extends ModeleBoxes $this->info_box_contents[$line][] = array( 'td' => 'class="right"', - 'text' => $delayIcon.' '.dol_print_date($delivery_date, 'day', 'tzuserrel').'', + 'text' => $delayIcon.' '.($delivery_date ? dol_print_date($delivery_date, 'day', 'tzuserrel') : '').'', 'asis' => 1 ); diff --git a/htdocs/core/boxes/box_task.php b/htdocs/core/boxes/box_task.php index 9b7cbfc2fe6..0c349ad3e4c 100644 --- a/htdocs/core/boxes/box_task.php +++ b/htdocs/core/boxes/box_task.php @@ -122,7 +122,7 @@ class box_task extends ModeleBoxes $boxcontent .= ''."\n"; $selectArray = array('all' => $langs->trans("NoFilter"), 'im_task_contact' => $langs->trans("WhichIamLinkedTo"), 'im_project_contact' => $langs->trans("WhichIamLinkedToProject")); $boxcontent .= $form->selectArray($cookie_name, $selectArray, $filterValue); - $boxcontent .= ''; + $boxcontent .= ''; $boxcontent .= ''."\n"; $boxcontent .= ''."\n"; if (!empty($conf->use_javascript_ajax)) { diff --git a/htdocs/core/boxes/box_validated_projects.php b/htdocs/core/boxes/box_validated_projects.php index 66a4f76f1b3..3f2b2cdc221 100644 --- a/htdocs/core/boxes/box_validated_projects.php +++ b/htdocs/core/boxes/box_validated_projects.php @@ -112,13 +112,13 @@ class box_validated_projects extends ModeleBoxes $sql .= " COUNT(DISTINCT t.rowid) as tasknumber"; $sql .= " FROM ".MAIN_DB_PREFIX."projet AS p"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."projet_task AS t ON p.rowid = t.fk_projet"; - // TODO Replace -1, -2, -3 with ID used for type of contat project_task into llx_c_type_contact. Once done, we can switch widget as stable. + // TODO Replace -1, -2, -3 with ID used for type of contact project_task into llx_c_type_contact. Once done, we can switch widget as stable. $sql .= " INNER JOIN ".MAIN_DB_PREFIX."element_contact as ec ON ec.element_id = t.rowid AND fk_c_type_contact IN (-1, -2, -3)"; $sql .= " WHERE p.fk_statut = 1"; // Only open projects if ($projectsListId) { - $sql .= ' AND p.rowid IN ('.$this->db->sanitize($projectsListId).')'; // Only project we ara allowed + $sql .= ' AND p.rowid IN ('.$this->db->sanitize($projectsListId).')'; // Only project are allowed } - $sql .= " AND t.rowid NOT IN (SELECT fk_task FROM ".MAIN_DB_PREFIX."projet_task_time WHERE fk_user =".$user->id.")"; + $sql .= " AND t.rowid NOT IN (SELECT fk_task FROM ".MAIN_DB_PREFIX."projet_task_time WHERE fk_user = ".((int) $user->id).")"; $sql .= " GROUP BY p.rowid, p.ref, p.fk_soc, p.dateo"; $sql .= " ORDER BY p.dateo ASC"; @@ -157,7 +157,7 @@ class box_validated_projects extends ModeleBoxes ); if ($objp->fk_soc > 0) { - $sql = 'SELECT rowid, nom as name FROM '.MAIN_DB_PREFIX.'societe WHERE rowid ='.$objp->fk_soc; + $sql = "SELECT rowid, nom as name FROM ".MAIN_DB_PREFIX."societe WHERE rowid = ".((int) $objp->fk_soc); $resql = $this->db->query($sql); //$socstatic = new Societe($this->db); $obj2 = $this->db->fetch_object($resql); @@ -165,7 +165,7 @@ class box_validated_projects extends ModeleBoxes 'td' => 'class="tdoverflowmax150 maxwidth200onsmartphone"', 'text' => $obj2->name, 'asis' => 1, - 'url' => DOL_URL_ROOT.'/societe/card.php?socid='.$obj2->rowid + 'url' => DOL_URL_ROOT.'/societe/card.php?socid='.urlencode($obj2->rowid) ); } else { $this->info_box_contents[$i][] = array( diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index 45cc02ac67e..246bec42ba4 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -229,7 +229,7 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box $out .= '>'; if (!empty($conf->use_javascript_ajax)) { //$out.= ''; + if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER) && ($action == 'view' || $action == 'editline')) { + $out .= ''; + } $out .= ''; + print ''; } $db->free($result); } else { @@ -1070,9 +1083,9 @@ function show_contacts($conf, $langs, $db, $object, $backtopage = '') $sql .= " t.civility as civility_id, t.address, t.zip, t.town"; $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as t"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople_extrafields as ef on (t.rowid = ef.fk_object)"; - $sql .= " WHERE t.fk_soc = ".$object->id; + $sql .= " WHERE t.fk_soc = ".((int) $object->id); if ($search_status != '' && $search_status != '-1') { - $sql .= " AND t.statut = ".$db->escape($search_status); + $sql .= " AND t.statut = ".((int) $search_status); } if ($search_name) { $sql .= natural_search(array('t.lastname', 't.firstname'), $search_name); @@ -1282,7 +1295,7 @@ function show_contacts($conf, $langs, $db, $object, $backtopage = '') // Edit if ($user->rights->societe->contact->creer) { - print ''; + print ''; print img_edit(); print ''; } @@ -1433,8 +1446,12 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin $sql .= ", o.ref"; } elseif (is_object($filterobj) && get_class($filterobj) == 'Contrat') { $sql .= ", o.ref"; - } elseif (is_object($filterobj) && is_array($filterobj->fields) && is_array($filterobj->fields['rowid']) && is_array($filterobj->fields['ref']) && $filterobj->table_element && $filterobj->element) { - $sql .= ", o.ref"; + } elseif (is_object($filterobj) && is_array($filterobj->fields) && is_array($filterobj->fields['rowid']) && $filterobj->table_element && $filterobj->element) { + if (!empty($filterobj->fields['ref'])) { + $sql .= ", o.ref"; + } elseif (!empty($filterobj->fields['label'])) { + $sql .= ", o.label"; + } } $sql .= " FROM ".MAIN_DB_PREFIX."actioncomm as a"; @@ -1469,53 +1486,53 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin $sql .= ", ".MAIN_DB_PREFIX."bom_bom as o"; } elseif (is_object($filterobj) && get_class($filterobj) == 'Contrat') { $sql .= ", ".MAIN_DB_PREFIX."contrat as o"; - } elseif (is_object($filterobj) && is_array($filterobj->fields) && is_array($filterobj->fields['rowid']) && is_array($filterobj->fields['ref']) && $filterobj->table_element && $filterobj->element) { + } elseif (is_object($filterobj) && is_array($filterobj->fields) && is_array($filterobj->fields['rowid']) && (is_array($filterobj->fields['ref']) || is_array($filterobj->fields['label'])) && $filterobj->table_element && $filterobj->element) { $sql .= ", ".MAIN_DB_PREFIX.$filterobj->table_element." as o"; } $sql .= " WHERE a.entity IN (".getEntity('agenda').")"; if ($force_filter_contact === false) { if (is_object($filterobj) && in_array(get_class($filterobj), array('Societe', 'Client', 'Fournisseur')) && $filterobj->id) { - $sql .= " AND a.fk_soc = ".$filterobj->id; + $sql .= " AND a.fk_soc = ".((int) $filterobj->id); } elseif (is_object($filterobj) && get_class($filterobj) == 'Dolresource') { /* Nothing */ } elseif (is_object($filterobj) && get_class($filterobj) == 'Project' && $filterobj->id) { - $sql .= " AND a.fk_project = ".$filterobj->id; + $sql .= " AND a.fk_project = ".((int) $filterobj->id); } elseif (is_object($filterobj) && get_class($filterobj) == 'Adherent') { $sql .= " AND a.fk_element = m.rowid AND a.elementtype = 'member'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } } elseif (is_object($filterobj) && get_class($filterobj) == 'CommandeFournisseur') { $sql .= " AND a.fk_element = o.rowid AND a.elementtype = 'order_supplier'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } } elseif (is_object($filterobj) && get_class($filterobj) == 'Product') { $sql .= " AND a.fk_element = o.rowid AND a.elementtype = 'product'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } } elseif (is_object($filterobj) && get_class($filterobj) == 'Ticket') { $sql .= " AND a.fk_element = o.rowid AND a.elementtype = 'ticket'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } } elseif (is_object($filterobj) && get_class($filterobj) == 'BOM') { $sql .= " AND a.fk_element = o.rowid AND a.elementtype = 'bom'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } } elseif (is_object($filterobj) && get_class($filterobj) == 'Contrat') { $sql .= " AND a.fk_element = o.rowid AND a.elementtype = 'contract'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } - } elseif (is_object($filterobj) && is_array($filterobj->fields) && is_array($filterobj->fields['rowid']) && is_array($filterobj->fields['ref']) && $filterobj->table_element && $filterobj->element) { + } elseif (is_object($filterobj) && is_array($filterobj->fields) && is_array($filterobj->fields['rowid']) && (is_array($filterobj->fields['ref']) || is_array($filterobj->fields['label'])) && $filterobj->table_element && $filterobj->element) { // Generic case - $sql .= " AND a.fk_element = o.rowid AND a.elementtype = '".$db->escape($filterobj->element).($module ? '@'.$module : '')."'"; + $sql .= " AND a.fk_element = o.rowid AND a.elementtype = '".$db->escape($filterobj->element).($module ? "@".$module : "")."'"; if ($filterobj->id) { - $sql .= " AND a.fk_element = ".$filterobj->id; + $sql .= " AND a.fk_element = ".((int) $filterobj->id); } } } @@ -1535,7 +1552,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin $sql .= "OR ("; } if (!empty($code)) { - addEventTypeSQL($sql, $code, $donetodo, $now, $filters, ""); + addEventTypeSQL($sql, $code); } if ($key != 0) { $sql .= ")"; @@ -1543,9 +1560,11 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin } $sql .= ')'; } elseif (!empty($actioncode)) { - addEventTypeSQL($sql, $actioncode, $donetodo, $now, $filters); + addEventTypeSQL($sql, $actioncode); } + addOtherFilterSQL($sql, $donetodo, $now, $filters); + if (is_array($actioncode)) { foreach ($actioncode as $code) { $sql2 = addMailingEventTypeSQL($code, $objcon, $filterobj); @@ -1899,7 +1918,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin } // Status - $out .= ''; + $out .= ''; // Actions $out .= ''; @@ -1948,7 +1967,9 @@ function show_subsidiaries($conf, $langs, $db, $object) $socstatic = new Societe($db); print load_fiche_titre($langs->trans("Subsidiaries"), '', ''); - print "\n".'
    '; - $out .= '
    '; + $out .= '
    '; } if (!empty($head['text'])) { $s = dol_trunc($head['text'], isset($head['limit']) ? $head['limit'] : $MAXLENGTHBOX); diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index 5683c8e6a07..33db393bbc6 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -1628,7 +1628,7 @@ class CMailFile * @return array array of email => name * @see getValidAddress() */ - public function getArrayAddress($address) + public static function getArrayAddress($address) { global $conf; diff --git a/htdocs/core/class/comment.class.php b/htdocs/core/class/comment.class.php index 7184d7846b0..c2dd055522e 100644 --- a/htdocs/core/class/comment.class.php +++ b/htdocs/core/class/comment.class.php @@ -128,7 +128,7 @@ class Comment extends CommonObject $sql .= ", '".(isset($this->fk_element) ? $this->fk_element : "null")."'"; $sql .= ", '".$this->db->escape($this->element_type)."'"; $sql .= ", '".(isset($this->fk_user_author) ? $this->fk_user_author : "null")."'"; - $sql .= ", ".$user->id.""; + $sql .= ", ".((int) $user->id); $sql .= ", ".(!empty($this->entity) ? $this->entity : '1'); $sql .= ", ".(!empty($this->import_key) ? "'".$this->db->escape($this->import_key)."'" : "null"); $sql .= ")"; diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 2a5e3391eb9..7183605ae10 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -220,6 +220,7 @@ abstract class CommonDocGenerator // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** * Define array with couple substitution key => substitution value + * For example {company_name}, {company_name_alias} * * @param Societe $object Object * @param Translate $outputlangs Language object for output @@ -447,6 +448,9 @@ abstract class CommonDocGenerator $array_key.'_bank_iban'=>$bank_account->iban, $array_key.'_bank_bic'=>$bank_account->bic, + $array_key.'_bank_label'=>$bank_account->label, + $array_key.'_bank_number'=>$bank_account->number, + $array_key.'_bank_proprio'=>$bank_account->proprio, $array_key.'_total_ht_locale'=>price($object->total_ht, 0, $outputlangs), $array_key.'_total_vat_locale'=>(!empty($object->total_vat) ?price($object->total_vat, 0, $outputlangs) : price($object->total_tva, 0, $outputlangs)), @@ -531,7 +535,7 @@ abstract class CommonDocGenerator $totalUp += $line->subprice * $line->qty; } - // @GS: Calculate total up and total discount percentage + // Calculate total up and total discount percentage // Note that this added fields does not match a field into database in Dolibarr (Dolibarr manage discount on lines not as a global property of object) $resarray['object_total_up'] = $totalUp; $resarray['object_total_up_locale'] = price($resarray['object_total_up'], 0, $outputlangs); @@ -1201,11 +1205,12 @@ abstract class CommonDocGenerator * get extrafield content for pdf writeHtmlCell compatibility * usage for PDF line columns and object note block * - * @param object $object common object - * @param string $extrafieldKey the extrafield key + * @param object $object Common object + * @param string $extrafieldKey The extrafield key + * @param Translate $outputlangs The output langs (if value is __(XXX)__ we use it to translate it). * @return string */ - public function getExtrafieldContent($object, $extrafieldKey) + public function getExtrafieldContent($object, $extrafieldKey, $outputlangs = null) { global $hookmanager; @@ -1341,7 +1346,7 @@ abstract class CommonDocGenerator $field = new stdClass(); $field->rank = intval($extrafields->attributes[$object->table_element]['pos'][$key]); - $field->content = $this->getExtrafieldContent($object, $key); + $field->content = $this->getExtrafieldContent($object, $key, $outputlangs); $field->label = $outputlangs->transnoentities($label); $field->type = $extrafields->attributes[$object->table_element]['type'][$key]; diff --git a/htdocs/core/class/commonincoterm.class.php b/htdocs/core/class/commonincoterm.class.php index 25745bb4c5c..d0485acc5a9 100644 --- a/htdocs/core/class/commonincoterm.class.php +++ b/htdocs/core/class/commonincoterm.class.php @@ -60,7 +60,7 @@ trait CommonIncoterm $this->label_incoterms = ''; if (!empty($this->fk_incoterms)) { - $sql = 'SELECT code FROM '.MAIN_DB_PREFIX.'c_incoterms WHERE rowid = '.(int) $this->fk_incoterms; + $sql = "SELECT code FROM ".MAIN_DB_PREFIX."c_incoterms WHERE rowid = ".(int) $this->fk_incoterms; $result = $this->db->query($sql); if ($result) { $res = $this->db->fetch_object($result); @@ -80,7 +80,7 @@ trait CommonIncoterm */ public function getIncotermsForPDF() { - $sql = 'SELECT code FROM '.MAIN_DB_PREFIX.'c_incoterms WHERE rowid = '.(int) $this->fk_incoterms; + $sql = "SELECT code FROM ".MAIN_DB_PREFIX."c_incoterms WHERE rowid = ".(int) $this->fk_incoterms; $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); @@ -107,16 +107,16 @@ trait CommonIncoterm { if ($this->id && $this->table_element) { $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; - $sql .= " SET fk_incoterms = ".($id_incoterm > 0 ? $id_incoterm : "null"); + $sql .= " SET fk_incoterms = ".($id_incoterm > 0 ? ((int) $id_incoterm) : "null"); $sql .= ", location_incoterms = ".($id_incoterm > 0 ? "'".$this->db->escape($location)."'" : "null"); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this).'::setIncoterms', LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $this->fk_incoterms = $id_incoterm; $this->location_incoterms = $location; - $sql = 'SELECT libelle as label_incotermsFROM '.MAIN_DB_PREFIX.'c_incoterms WHERE rowid = '.(int) $this->fk_incoterms; + $sql = "SELECT libelle as label_incoterms FROM ".MAIN_DB_PREFIX."c_incoterms WHERE rowid = ".(int) $this->fk_incoterms; $res = $this->db->query($sql); if ($res) { $obj = $this->db->fetch_object($res); diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php index 81f2b529f1d..3b98d3f3356 100644 --- a/htdocs/core/class/commoninvoice.class.php +++ b/htdocs/core/class/commoninvoice.class.php @@ -132,7 +132,7 @@ abstract class CommonInvoice extends CommonObject $sql = 'SELECT sum(amount) as amount, sum(multicurrency_amount) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.$table; - $sql .= ' WHERE '.$field.' = '.$this->id; + $sql .= " WHERE ".$field." = ".((int) $this->id); dol_syslog(get_class($this)."::getSommePaiement", LOG_DEBUG); $resql = $this->db->query($sql); @@ -226,8 +226,8 @@ abstract class CommonInvoice extends CommonObject $idarray = array(); $sql = 'SELECT rowid'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' WHERE fk_facture_source = '.$this->id; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " WHERE fk_facture_source = ".((int) $this->id); $sql .= ' AND type = 2'; $resql = $this->db->query($sql); if ($resql) { @@ -253,8 +253,8 @@ abstract class CommonInvoice extends CommonObject public function getIdReplacingInvoice($option = '') { $sql = 'SELECT rowid'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' WHERE fk_facture_source = '.$this->id; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " WHERE fk_facture_source = ".((int) $this->id); $sql .= ' AND type < 2'; if ($option == 'validated') { $sql .= ' AND fk_statut = 1'; @@ -306,11 +306,10 @@ abstract class CommonInvoice extends CommonObject $sharedentity = 'facture_fourn'; } - $sql = 'SELECT p.ref, pf.amount, pf.multicurrency_amount, p.fk_paiement, p.datep, p.num_paiement as num, t.code'.$field3; - $sql .= ' FROM '.MAIN_DB_PREFIX.$table.' as pf, '.MAIN_DB_PREFIX.$table2.' as p, '.MAIN_DB_PREFIX.'c_paiement as t'; - $sql .= ' WHERE pf.'.$field.' = '.$this->id; - //$sql.= ' WHERE pf.'.$field.' = 1'; - $sql .= ' AND pf.'.$field2.' = p.rowid'; + $sql = "SELECT p.ref, pf.amount, pf.multicurrency_amount, p.fk_paiement, p.datep, p.num_paiement as num, t.code".$field3; + $sql .= " FROM ".MAIN_DB_PREFIX.$table." as pf, ".MAIN_DB_PREFIX.$table2." as p, ".MAIN_DB_PREFIX."c_paiement as t"; + $sql .= " WHERE pf.".$field." = ".((int) $this->id); + $sql .= " AND pf.".$field2." = p.rowid"; $sql .= ' AND p.fk_paiement = t.id'; $sql .= ' AND p.entity IN ('.getEntity($sharedentity).')'; if ($filtertype) { @@ -336,14 +335,14 @@ abstract class CommonInvoice extends CommonObject //look for credit notes and discounts and deposits $sql = ''; if ($this->element == 'facture' || $this->element == 'invoice') { - $sql = 'SELECT rc.amount_ttc as amount, rc.multicurrency_amount_ttc as multicurrency_amount, rc.datec as date, f.ref as ref, rc.description as type'; + $sql = "SELECT rc.amount_ttc as amount, rc.multicurrency_amount_ttc as multicurrency_amount, rc.datec as date, f.ref as ref, rc.description as type"; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture as f'; - $sql .= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.$this->id; + $sql .= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.((int) $this->id); $sql .= ' AND (f.type = 2 OR f.type = 0 OR f.type = 3)'; // Find discount coming from credit note or excess received or deposits (payments from deposits are always null except if FACTURE_DEPOSITS_ARE_JUST_PAYMENTS is set) } elseif ($this->element == 'facture_fourn' || $this->element == 'invoice_supplier') { - $sql = 'SELECT rc.amount_ttc as amount, rc.multicurrency_amount_ttc as multicurrency_amount, rc.datec as date, f.ref as ref, rc.description as type'; + $sql = "SELECT rc.amount_ttc as amount, rc.multicurrency_amount_ttc as multicurrency_amount, rc.datec as date, f.ref as ref, rc.description as type"; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture_fourn as f'; - $sql .= ' WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = '.$this->id; + $sql .= ' WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = '.((int) $this->id); $sql .= ' AND (f.type = 2 OR f.type = 0 OR f.type = 3)'; // Find discount coming from credit note or excess received or deposits (payments from deposits are always null except if FACTURE_DEPOSITS_ARE_JUST_PAYMENTS is set) } @@ -462,7 +461,7 @@ abstract class CommonInvoice extends CommonObject $type = 'supplier_invoice'; } - $sql = " SELECT COUNT(ab.rowid) as nb FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as ab WHERE ab.doc_type='".$this->db->escape($type)."' AND ab.fk_doc = ".$this->id; + $sql = " SELECT COUNT(ab.rowid) as nb FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as ab WHERE ab.doc_type='".$this->db->escape($type)."' AND ab.fk_doc = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { $obj = $this->db->fetch_object($resql); @@ -700,9 +699,9 @@ abstract class CommonInvoice extends CommonObject $sql = 'SELECT count(*)'; $sql .= ' FROM '.MAIN_DB_PREFIX.'prelevement_facture_demande'; if ($type == 'bank-transfer') { - $sql .= ' WHERE fk_facture_fourn = '.$this->id; + $sql .= ' WHERE fk_facture_fourn = '.((int) $this->id); } else { - $sql .= ' WHERE fk_facture = '.$this->id; + $sql .= ' WHERE fk_facture = '.((int) $this->id); } $sql .= ' AND ext_payment_id IS NULL'; // To exclude record done for some online payments $sql .= ' AND traite = 0'; @@ -735,16 +734,16 @@ abstract class CommonInvoice extends CommonObject $sql .= 'fk_facture, '; } $sql .= ' amount, date_demande, fk_user_demande, code_banque, code_guichet, number, cle_rib, sourcetype, entity)'; - $sql .= ' VALUES ('.$this->id; - $sql .= ",'".price2num($amount)."'"; - $sql .= ",'".$this->db->idate($now)."'"; - $sql .= ",".$fuser->id; - $sql .= ",'".$this->db->escape($bac->code_banque)."'"; - $sql .= ",'".$this->db->escape($bac->code_guichet)."'"; - $sql .= ",'".$this->db->escape($bac->number)."'"; - $sql .= ",'".$this->db->escape($bac->cle_rib)."'"; - $sql .= ",'".$this->db->escape($sourcetype)."'"; - $sql .= ",".$conf->entity; + $sql .= " VALUES (".((int) $this->id); + $sql .= ", ".((float) price2num($amount)); + $sql .= ", '".$this->db->idate($now)."'"; + $sql .= ", ".((int) $fuser->id); + $sql .= ", '".$this->db->escape($bac->code_banque)."'"; + $sql .= ", '".$this->db->escape($bac->code_guichet)."'"; + $sql .= ", '".$this->db->escape($bac->number)."'"; + $sql .= ", '".$this->db->escape($bac->cle_rib)."'"; + $sql .= ", '".$this->db->escape($sourcetype)."'"; + $sql .= ", ".((int) $conf->entity); $sql .= ")"; dol_syslog(get_class($this)."::demande_prelevement", LOG_DEBUG); diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index eeae94ff880..c9740951fc9 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -73,6 +73,11 @@ abstract class CommonObject */ public $errors = array(); + /** + * @var array To store error results of ->validateField() + */ + public $validateFieldsErrors = array(); + /** * @var string ID to identify managed object */ @@ -123,6 +128,10 @@ abstract class CommonObject */ protected $table_ref_field = ''; + /** + * @var integer 0=Default, 1=View may be restricted to sales representative only if no permission to see all or to company of external user if external user + */ + public $restrictiononfksoc = 0; // Following vars are used by some objects only. We keep this property here in CommonObject to be able to provide common method using them. @@ -940,7 +949,7 @@ abstract class CommonObject $ecmfile->fullpath_orig = ''; $ecmfile->gen_or_uploaded = 'generated'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content $ecmfile->share = getRandomPassword(true); $result = $ecmfile->create($user); if ($result < 0) @@ -1095,7 +1104,7 @@ abstract class CommonObject $this->db->rollback(); return -2; } else { - $this->error = $this->db->error(); + $this->error = $this->db->lasterror(); $this->db->rollback(); return -1; } @@ -1119,7 +1128,6 @@ abstract class CommonObject $contacts = $objFrom->liste_contact(-1, $source); foreach ($contacts as $contact) { if ($this->add_contact($contact['id'], $contact['fk_c_type_contact'], $contact['source']) < 0) { - $this->error = $this->db->lasterror(); return -1; } } @@ -1216,7 +1224,7 @@ abstract class CommonObject $listId = implode(",", $temp); $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_contact"; - $sql .= " WHERE element_id = ".$this->id; + $sql .= " WHERE element_id = ".((int) $this->id); if ($listId) { $sql .= " AND fk_c_type_contact IN (".$this->db->sanitize($listId).")"; } @@ -1264,9 +1272,9 @@ abstract class CommonObject if ($source == 'external' || $source == 'thirdparty') { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople t on ec.fk_socpeople = t.rowid"; } - $sql .= " WHERE ec.element_id =".$this->id; + $sql .= " WHERE ec.element_id = ".((int) $this->id); $sql .= " AND ec.fk_c_type_contact=tc.rowid"; - $sql .= " AND tc.element='".$this->db->escape($this->element)."'"; + $sql .= " AND tc.element = '".$this->db->escape($this->element)."'"; if ($code) { $sql .= " AND tc.code = '".$this->db->escape($code)."'"; } @@ -1663,7 +1671,7 @@ abstract class CommonObject return 0; } - $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE '.$this->table_ref_field.' LIKE "'.$this->db->escape($ref).'" LIMIT 1'; + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$this->table_element." WHERE ".$this->table_ref_field." LIKE '".$this->db->escape($ref)."' LIMIT 1"; $query = $this->db->query($sql); @@ -1693,7 +1701,7 @@ abstract class CommonObject $idtype = $this->barcode_type; if (empty($idtype) && $idtype != '0') { // If type of barcode no set, we try to guess. If set to '0' it means we forced to have type remain not defined - if ($this->element == 'product') { + if ($this->element == 'product' && !empty($conf->global->PRODUIT_DEFAULT_BARCODE_TYPE)) { $idtype = $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE; } elseif ($this->element == 'societe') { $idtype = $conf->global->GENBARCODE_BARCODETYPE_THIRDPARTY; @@ -1725,6 +1733,18 @@ abstract class CommonObject return 0; } + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Load the project with id $this->fk_project into this->project + * + * @return int <0 if KO, >=0 if OK + */ + public function fetch_project() + { + // phpcs:enable + return $this->fetch_projet(); + } + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** * Load the project with id $this->fk_project into this->project @@ -1835,7 +1855,7 @@ abstract class CommonObject if (!empty($element)) { $sql .= " AND entity IN (".getEntity($element).")"; } else { - $sql .= " AND entity = ".$conf->entity; + $sql .= " AND entity = ".((int) $conf->entity); } dol_syslog(get_class($this).'::fetchObjectFrom', LOG_DEBUG); @@ -1933,9 +1953,9 @@ abstract class CommonObject if ($fk_user_field) { if (!empty($fuser) && is_object($fuser)) { - $sql .= ", ".$fk_user_field." = ".$fuser->id; + $sql .= ", ".$fk_user_field." = ".((int) $fuser->id); } elseif (empty($fuser) || $fuser != 'none') { - $sql .= ", ".$fk_user_field." = ".$user->id; + $sql .= ", ".$fk_user_field." = ".((int) $user->id); } } @@ -1984,7 +2004,7 @@ abstract class CommonObject /** * Load properties id_previous and id_next by comparing $fieldid with $this->ref * - * @param string $filter Optional filter. Example: " AND (t.field1 = 'aa' OR t.field2 = 'bb')" + * @param string $filter Optional filter. Example: " AND (t.field1 = 'aa' OR t.field2 = 'bb')". Do not allow user input data here. * @param string $fieldid Name of field to use for the select MAX and MIN * @param int $nodbprefix Do not include DB prefix to forge table name * @return int <0 if KO, >0 if OK @@ -2002,6 +2022,11 @@ abstract class CommonObject return 1; } + // For backward compatibility + if ($this->table_element == 'facture_rec' && $fieldid == 'title') { + $fieldid = 'titre'; + } + // Security on socid $socid = 0; if ($user->socid > 0) { @@ -2033,10 +2058,10 @@ abstract class CommonObject } $sql .= " WHERE te.".$fieldid." < '".$this->db->escape($fieldid == 'rowid' ? $this->id : $this->ref)."'"; // ->ref must always be defined (set to id if field does not exists) if ($restrictiononfksoc == 1 && !$user->rights->societe->client->voir && !$socid) { - $sql .= " AND sc.fk_user = ".$user->id; + $sql .= " AND sc.fk_user = ".((int) $user->id); } if ($restrictiononfksoc == 2 && !$user->rights->societe->client->voir && !$socid) { - $sql .= " AND (sc.fk_user = ".$user->id.' OR te.fk_soc IS NULL)'; + $sql .= " AND (sc.fk_user = ".((int) $user->id).' OR te.fk_soc IS NULL)'; } if (!empty($filter)) { if (!preg_match('/^\s*AND/i', $filter)) { @@ -2046,7 +2071,7 @@ abstract class CommonObject } if (isset($this->ismultientitymanaged) && !is_numeric($this->ismultientitymanaged)) { $tmparray = explode('@', $this->ismultientitymanaged); - $sql .= ' AND te.'.$tmparray[0].' = '.($tmparray[1] == 'societe' ? 's' : 'parenttable').'.rowid'; // If we need to link to this table to limit select to entity + $sql .= " AND te.".$tmparray[0]." = ".($tmparray[1] == "societe" ? "s" : "parenttable").".rowid"; // If we need to link to this table to limit select to entity } elseif ($restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) { $sql .= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to socid } @@ -2067,13 +2092,13 @@ abstract class CommonObject $sql .= ' AND parenttable.entity IN ('.getEntity($tmparray[1]).')'; } if ($restrictiononfksoc == 1 && $socid && $this->element != 'societe') { - $sql .= ' AND te.fk_soc = '.$socid; + $sql .= ' AND te.fk_soc = '.((int) $socid); } if ($restrictiononfksoc == 2 && $socid && $this->element != 'societe') { - $sql .= ' AND (te.fk_soc = '.$socid.' OR te.fk_soc IS NULL)'; + $sql .= ' AND (te.fk_soc = '.((int) $socid).' OR te.fk_soc IS NULL)'; } if ($restrictiononfksoc && $socid && $this->element == 'societe') { - $sql .= ' AND te.rowid = '.$socid; + $sql .= ' AND te.rowid = '.((int) $socid); } //print 'socid='.$socid.' restrictiononfksoc='.$restrictiononfksoc.' ismultientitymanaged = '.$this->ismultientitymanaged.' filter = '.$filter.' -> '.$sql."
    "; @@ -2103,10 +2128,10 @@ abstract class CommonObject } $sql .= " WHERE te.".$fieldid." > '".$this->db->escape($fieldid == 'rowid' ? $this->id : $this->ref)."'"; // ->ref must always be defined (set to id if field does not exists) if ($restrictiononfksoc == 1 && !$user->rights->societe->client->voir && !$socid) { - $sql .= " AND sc.fk_user = ".$user->id; + $sql .= " AND sc.fk_user = ".((int) $user->id); } if ($restrictiononfksoc == 2 && !$user->rights->societe->client->voir && !$socid) { - $sql .= " AND (sc.fk_user = ".$user->id.' OR te.fk_soc IS NULL)'; + $sql .= " AND (sc.fk_user = ".((int) $user->id).' OR te.fk_soc IS NULL)'; } if (!empty($filter)) { if (!preg_match('/^\s*AND/i', $filter)) { @@ -2116,7 +2141,7 @@ abstract class CommonObject } if (isset($this->ismultientitymanaged) && !is_numeric($this->ismultientitymanaged)) { $tmparray = explode('@', $this->ismultientitymanaged); - $sql .= ' AND te.'.$tmparray[0].' = '.($tmparray[1] == 'societe' ? 's' : 'parenttable').'.rowid'; // If we need to link to this table to limit select to entity + $sql .= " AND te.".$tmparray[0]." = ".($tmparray[1] == "societe" ? "s" : "parenttable").".rowid"; // If we need to link to this table to limit select to entity } elseif ($restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) { $sql .= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to socid } @@ -2137,13 +2162,13 @@ abstract class CommonObject $sql .= ' AND parenttable.entity IN ('.getEntity($tmparray[1]).')'; } if ($restrictiononfksoc == 1 && $socid && $this->element != 'societe') { - $sql .= ' AND te.fk_soc = '.$socid; + $sql .= ' AND te.fk_soc = '.((int) $socid); } if ($restrictiononfksoc == 2 && $socid && $this->element != 'societe') { - $sql .= ' AND (te.fk_soc = '.$socid.' OR te.fk_soc IS NULL)'; + $sql .= ' AND (te.fk_soc = '.((int) $socid).' OR te.fk_soc IS NULL)'; } if ($restrictiononfksoc && $socid && $this->element == 'societe') { - $sql .= ' AND te.rowid = '.$socid; + $sql .= ' AND te.rowid = '.((int) $socid); } //print 'socid='.$socid.' restrictiononfksoc='.$restrictiononfksoc.' ismultientitymanaged = '.$this->ismultientitymanaged.' filter = '.$filter.' -> '.$sql."
    "; // Rem: Bug in some mysql version: SELECT MIN(rowid) FROM llx_socpeople WHERE rowid > 1 when one row in database with rowid=1, returns 1 instead of null @@ -2198,19 +2223,19 @@ abstract class CommonObject return -1; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; if (!empty($this->fields['fk_project'])) { // Common case if ($projectid) { - $sql .= ' SET fk_project = '.((int) $projectid); + $sql .= " SET fk_project = ".((int) $projectid); } else { - $sql .= ' SET fk_project = NULL'; + $sql .= " SET fk_project = NULL"; } $sql .= ' WHERE rowid = '.((int) $this->id); } elseif ($this->table_element == 'actioncomm') { // Special case for actioncomm if ($projectid) { - $sql .= ' SET fk_project = '.((int) $projectid); + $sql .= " SET fk_project = ".((int) $projectid); } else { - $sql .= ' SET fk_project = NULL'; + $sql .= " SET fk_project = NULL"; } $sql .= ' WHERE id = '.((int) $this->id); } else // Special case for old architecture objects @@ -2220,7 +2245,7 @@ abstract class CommonObject } else { $sql .= ' SET fk_projet = NULL'; } - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); } dol_syslog(get_class($this)."::setProject", LOG_DEBUG); @@ -2258,8 +2283,8 @@ abstract class CommonObject $fieldname = 'fk_typepayment'; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' SET '.$fieldname.' = '.(($id > 0 || $id == '0') ? $id : 'NULL'); + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ".$fieldname." = ".(($id > 0 || $id == '0') ? ((int) $id) : 'NULL'); $sql .= ' WHERE rowid='.((int) $this->id); if ($this->db->query($sql)) { @@ -2270,7 +2295,7 @@ abstract class CommonObject } return 1; } else { - dol_syslog(get_class($this).'::setPaymentMethods Error '.$sql.' - '.$this->db->error()); + dol_syslog(get_class($this).'::setPaymentMethods Error '.$this->db->error()); $this->error = $this->db->error(); return -1; } @@ -2294,7 +2319,7 @@ abstract class CommonObject $fieldname = 'multicurrency_code'; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' SET '.$fieldname." = '".$this->db->escape($code)."'"; + $sql .= " SET ".$fieldname." = '".$this->db->escape($code)."'"; $sql .= ' WHERE rowid='.((int) $this->id); if ($this->db->query($sql)) { @@ -2332,7 +2357,7 @@ abstract class CommonObject $fieldname = 'multicurrency_tx'; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' SET '.$fieldname.' = '.((float) $rate); + $sql .= " SET ".$fieldname." = ".((float) $rate); $sql .= ' WHERE rowid='.((int) $this->id); if ($this->db->query($sql)) { @@ -2540,7 +2565,7 @@ abstract class CommonObject } $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' SET '.$fieldname.' = '.(($id > 0 || $id == '0') ? $id : 'NULL'); + $sql .= " SET ".$fieldname." = ".(($id > 0 || $id == '0') ? ((int) $id) : 'NULL'); $sql .= ' WHERE rowid='.((int) $this->id); if ($this->db->query($sql)) { @@ -2582,7 +2607,7 @@ abstract class CommonObject } $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' SET '.$fieldname.' = '.(($id > 0 || $id == '0') ? $id : 'NULL'); + $sql .= " SET ".$fieldname." = ".(($id > 0 || $id == '0') ? ((int) $id) : 'NULL'); $sql .= ' WHERE rowid='.((int) $this->id); if ($this->db->query($sql)) { @@ -2617,7 +2642,7 @@ abstract class CommonObject $fieldname = 'retained_warranty_fk_cond_reglement'; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' SET '.$fieldname.' = '.((int) $id); + $sql .= " SET ".$fieldname." = ".((int) $id); $sql .= ' WHERE rowid='.((int) $this->id); if ($this->db->query($sql)) { @@ -2650,14 +2675,14 @@ abstract class CommonObject } $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET ".$fieldname." = ".((int) $id); - $sql .= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql .= " WHERE rowid = ".((int) $this->id)." AND fk_statut = 0"; if ($this->db->query($sql)) { $this->fk_delivery_address = $id; return 1; } else { $this->error = $this->db->error(); - dol_syslog(get_class($this).'::setDeliveryAddress Error '.$sql.' - '.$this->error); + dol_syslog(get_class($this).'::setDeliveryAddress Error '.$this->error); return -1; } } @@ -2774,7 +2799,7 @@ abstract class CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql .= " SET model_pdf = '".$this->db->escape($newmodelpdf)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setDocModel", LOG_DEBUG); $resql = $this->db->query($sql); @@ -2875,8 +2900,8 @@ abstract class CommonObject // Count number of lines to reorder (according to choice $renum) $nl = 0; - $sql = 'SELECT count(rowid) FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.'='.$this->id; + $sql = "SELECT count(rowid) FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); if (!$renum) { $sql .= ' AND rang = 0'; } @@ -2897,12 +2922,12 @@ abstract class CommonObject $rows = array(); // We first search all lines that are parent lines (for multilevel details lines) - $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); if ($fk_parent_line) { $sql .= ' AND fk_parent_line IS NULL'; } - $sql .= ' ORDER BY rang ASC, rowid '.$rowidorder; + $sql .= " ORDER BY rang ASC, rowid ".$rowidorder; dol_syslog(get_class($this)."::line_order search all parent lines", LOG_DEBUG); $resql = $this->db->query($sql); @@ -2945,12 +2970,12 @@ abstract class CommonObject { $rows = array(); - $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; - $sql .= ' AND fk_parent_line = '.$id; + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); + $sql .= ' AND fk_parent_line = '.((int) $id); $sql .= ' ORDER BY rang ASC'; - dol_syslog(get_class($this)."::getChildrenOfLine search children lines for line ".$id."", LOG_DEBUG); + dol_syslog(get_class($this)."::getChildrenOfLine search children lines for line ".$id, LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { if ($this->db->num_rows($resql) > 0) { @@ -3013,21 +3038,28 @@ abstract class CommonObject * * @param int $rowid Id of line * @param int $rang Position - * @return void + * @return int <0 if KO, >0 if OK */ public function updateRangOfLine($rowid, $rang) { + global $hookmanager; $fieldposition = 'rang'; // @todo Rename 'rang' into 'position' if (in_array($this->table_element_line, array('bom_bomline', 'ecm_files', 'emailcollector_emailcollectoraction'))) { $fieldposition = 'position'; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.((int) $rang); + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldposition." = ".((int) $rang); $sql .= ' WHERE rowid = '.((int) $rowid); dol_syslog(get_class($this)."::updateRangOfLine", LOG_DEBUG); if (!$this->db->query($sql)) { dol_print_error($this->db); + return -1; + } else { + $parameters=array('rowid'=>$rowid, 'rang'=>$rang, 'fieldposition' => $fieldposition); + $action=''; + $reshook = $hookmanager->executeHooks('afterRankOfLineUpdate', $parameters, $this, $action); + return 1; } } @@ -3062,11 +3094,11 @@ abstract class CommonObject $fieldposition = 'position'; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.((int) $rang); - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; - $sql .= ' AND rang = '.($rang - 1); + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldposition." = ".((int) $rang); + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); + $sql .= ' AND rang = '.((int) ($rang - 1)); if ($this->db->query($sql)) { - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.((int) ($rang - 1)); + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldposition." = ".((int) ($rang - 1)); $sql .= ' WHERE rowid = '.((int) $rowid); if (!$this->db->query($sql)) { dol_print_error($this->db); @@ -3093,11 +3125,11 @@ abstract class CommonObject $fieldposition = 'position'; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.((int) $rang); - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldposition." = ".((int) $rang); + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); $sql .= ' AND rang = '.((int) ($rang + 1)); if ($this->db->query($sql)) { - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.((int) ($rang + 1)); + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldposition." = ".((int) ($rang + 1)); $sql .= ' WHERE rowid = '.((int) $rowid); if (!$this->db->query($sql)) { dol_print_error($this->db); @@ -3116,8 +3148,8 @@ abstract class CommonObject */ public function getRangOfLine($rowid) { - $sql = 'SELECT rang FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE rowid ='.((int) $rowid); + $sql = "SELECT rang FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE rowid = ".((int) $rowid); dol_syslog(get_class($this)."::getRangOfLine", LOG_DEBUG); $resql = $this->db->query($sql); @@ -3135,9 +3167,9 @@ abstract class CommonObject */ public function getIdOfLine($rang) { - $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; - $sql .= ' AND rang = '.((int) $rang); + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); + $sql .= " AND rang = ".((int) $rang); $resql = $this->db->query($sql); if ($resql) { $row = $this->db->fetch_row($resql); @@ -3162,9 +3194,9 @@ abstract class CommonObject // Search the last rang with fk_parent_line if ($fk_parent_line) { - $sql = 'SELECT max('.$positionfield.') FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; - $sql .= ' AND fk_parent_line = '.$fk_parent_line; + $sql = "SELECT max(".$positionfield.") FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); + $sql .= " AND fk_parent_line = ".((int) $fk_parent_line); dol_syslog(get_class($this)."::line_max", LOG_DEBUG); $resql = $this->db->query($sql); @@ -3178,8 +3210,8 @@ abstract class CommonObject } } else { // If not, search the last rang of element - $sql = 'SELECT max('.$positionfield.') FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; + $sql = "SELECT max(".$positionfield.") FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); dol_syslog(get_class($this)."::line_max", LOG_DEBUG); $resql = $this->db->query($sql); @@ -3205,9 +3237,9 @@ abstract class CommonObject return -1; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql .= " SET ref_ext = '".$this->db->escape($ref_ext)."'"; - $sql .= " WHERE ".(isset($this->table_rowid) ? $this->table_rowid : 'rowid')." = ".$this->id; + $sql .= " WHERE ".(isset($this->table_rowid) ? $this->table_rowid : 'rowid')." = ".((int) $this->id); dol_syslog(get_class($this)."::update_ref_ext", LOG_DEBUG); if ($this->db->query($sql)) { @@ -3256,10 +3288,10 @@ abstract class CommonObject } else { $fieldusermod = "fk_user_modif"; } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql .= " SET note".$newsuffix." = ".(!empty($note) ? ("'".$this->db->escape($note)."'") : "NULL"); - $sql .= " ,".$fieldusermod." = ".$user->id; - $sql .= " WHERE rowid =".$this->id; + $sql .= ", ".$fieldusermod." = ".((int) $user->id); + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update_note", LOG_DEBUG); if ($this->db->query($sql)) { @@ -3374,21 +3406,21 @@ abstract class CommonObject $fieldup = 'value_unit'; } - $sql = 'SELECT rowid, qty, '.$fieldup.' as up, remise_percent, total_ht, '.$fieldtva.' as total_tva, total_ttc, '.$fieldlocaltax1.' as total_localtax1, '.$fieldlocaltax2.' as total_localtax2,'; + $sql = "SELECT rowid, qty, ".$fieldup." as up, remise_percent, total_ht, ".$fieldtva." as total_tva, total_ttc, ".$fieldlocaltax1." as total_localtax1, ".$fieldlocaltax2." as total_localtax2,"; $sql .= ' tva_tx as vatrate, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, info_bits, product_type'; if ($this->table_element_line == 'facturedet') { $sql .= ', situation_percent'; } $sql .= ', multicurrency_total_ht, multicurrency_total_tva, multicurrency_total_ttc'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE '.$this->fk_element.' = '.$this->id; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); if ($exclspec) { $product_field = 'product_type'; if ($this->table_element_line == 'contratdet') { $product_field = ''; // contratdet table has no product_type field } if ($product_field) { - $sql .= ' AND '.$product_field.' <> 9'; + $sql .= " AND ".$product_field." <> 9"; } } $sql .= ' ORDER by rowid'; // We want to be sure to always use same order of line to not change lines differently when option MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND is used @@ -3428,7 +3460,7 @@ abstract class CommonObject //var_dump($diff_when_using_price_ht.' '.$diff_on_current_total); if ($diff_when_using_price_ht && $diff_on_current_total) { - $sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".$tmpcal[1].", total_ttc = ".$tmpcal[2]." WHERE rowid = ".$obj->rowid; + $sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".price2num((float) $tmpcal[1]).", total_ttc = ".price2num((float) $tmpcal[2])." WHERE rowid = ".((int) $obj->rowid); dol_syslog('We found unconsistent data into detailed line (diff_when_using_price_ht = '.$diff_when_using_price_ht.' and diff_on_current_total = '.$diff_on_current_total.') for line rowid = '.$obj->rowid." (total vat of line calculated=".$tmpcal[1].", database=".$obj->total_tva."). We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix, LOG_WARNING); $resqlfix = $this->db->query($sqlfix); if (!$resqlfix) { @@ -3472,7 +3504,7 @@ abstract class CommonObject dol_print_error('', $errmsg); exit; } - $sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".($obj->total_tva - $diff).", total_ttc = ".($obj->total_ttc - $diff)." WHERE rowid = ".$obj->rowid; + $sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".price2num($obj->total_tva - $diff).", total_ttc = ".price2num($obj->total_ttc - $diff)." WHERE rowid = ".((int) $obj->rowid); dol_syslog('We found a difference of '.$diff.' for line rowid = '.$obj->rowid.". We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix); $resqlfix = $this->db->query($sqlfix); if (!$resqlfix) { @@ -3510,7 +3542,7 @@ abstract class CommonObject $this->db->free($resql); - // Now update global field total_ht, total_ttc and tva + // Now update global field total_ht, total_ttc, total_tva, total_localtax1, total_localtax2, multicurrency_total_* $fieldht = 'total_ht'; $fieldtva = 'tva'; $fieldlocaltax1 = 'localtax1'; @@ -3540,19 +3572,20 @@ abstract class CommonObject } if (empty($nodatabaseupdate)) { - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET'; - $sql .= " ".$fieldht." = ".price2num($this->total_ht).","; - $sql .= " ".$fieldtva." = ".price2num($this->total_tva).","; - $sql .= " ".$fieldlocaltax1." = ".price2num($this->total_localtax1).","; - $sql .= " ".$fieldlocaltax2." = ".price2num($this->total_localtax2).","; - $sql .= " ".$fieldttc." = ".price2num($this->total_ttc); - $sql .= ", multicurrency_total_ht = ".price2num($this->multicurrency_total_ht, 'MT', 1); - $sql .= ", multicurrency_total_tva = ".price2num($this->multicurrency_total_tva, 'MT', 1); - $sql .= ", multicurrency_total_ttc = ".price2num($this->multicurrency_total_ttc, 'MT', 1); - $sql .= ' WHERE rowid = '.$this->id; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element.' SET'; + $sql .= " ".$fieldht." = ".((float) price2num($this->total_ht)).","; + $sql .= " ".$fieldtva." = ".((float) price2num($this->total_tva)).","; + $sql .= " ".$fieldlocaltax1." = ".((float) price2num($this->total_localtax1)).","; + $sql .= " ".$fieldlocaltax2." = ".((float) price2num($this->total_localtax2)).","; + $sql .= " ".$fieldttc." = ".((float) price2num($this->total_ttc)); + $sql .= ", multicurrency_total_ht = ".((float) price2num($this->multicurrency_total_ht, 'MT', 1)); + $sql .= ", multicurrency_total_tva = ".((float) price2num($this->multicurrency_total_tva, 'MT', 1)); + $sql .= ", multicurrency_total_ttc = ".((float) price2num($this->multicurrency_total_ttc, 'MT', 1)); + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update_price", LOG_DEBUG); $resql = $this->db->query($sql); + if (!$resql) { $error++; $this->error = $this->db->lasterror(); @@ -3578,14 +3611,14 @@ abstract class CommonObject * @param string $origin Linked element type * @param int $origin_id Linked element id * @param User $f_user User that create - * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @param int $notrigger 1=Does not execute triggers, 0=execute triggers * @return int <=0 if KO, >0 if OK * @see fetchObjectLinked(), updateObjectLinked(), deleteObjectLinked() */ public function add_object_linked($origin = null, $origin_id = null, $f_user = null, $notrigger = 0) { // phpcs:enable - global $user; + global $user, $hookmanager, $action; $origin = (!empty($origin) ? $origin : $this->origin); $origin_id = (!empty($origin_id) ? $origin_id : $this->origin_id); $f_user = isset($f_user) ? $f_user : $user; @@ -3603,6 +3636,20 @@ abstract class CommonObject if ($origin == 'supplierorder') { $origin = 'order_supplier'; } + + // Elements of the core modules which have `$module` property but may to which we don't want to prefix module part to the element name for finding the linked object in llx_element_element. + // It's because an entry for this element may be exist in llx_element_element before this modification (version <=14.2) and ave named only with their element name in fk_source or fk_target. + $coremodule = array('knowledgemanagement', 'partnership', 'workstation', 'ticket', 'recruitment', 'eventorganization'); + // Add module part to target type if object has $module property and isn't in core modules. + $targettype = ((!empty($this->module) && ! in_array($this->module, $coremodule)) ? $this->module.'_' : '').$this->element; + + $parameters = array('targettype'=>$targettype); + // Hook for explicitly set the targettype if it must be differtent than $this->element + $reshook = $hookmanager->executeHooks('setLinkedObjectSourceTargetType', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + if (!empty($hookmanager->resArray['targettype'])) $targettype = $hookmanager->resArray['targettype']; + } + $this->db->begin(); $error = 0; @@ -3612,10 +3659,10 @@ abstract class CommonObject $sql .= ", fk_target"; $sql .= ", targettype"; $sql .= ") VALUES ("; - $sql .= $origin_id; + $sql .= ((int) $origin_id); $sql .= ", '" . $this->db->escape($origin) . "'"; - $sql .= ", " . $this->id; - $sql .= ", '" . $this->db->escape($this->element) . "'"; + $sql .= ", " . ((int) $this->id); + $sql .= ", '" . $this->db->escape($targettype) . "'"; $sql .= ")"; dol_syslog(get_class($this) . "::add_object_linked", LOG_DEBUG); @@ -3668,7 +3715,7 @@ abstract class CommonObject */ public function fetchObjectLinked($sourceid = null, $sourcetype = '', $targetid = null, $targettype = '', $clause = 'OR', $alsosametype = 1, $orderby = 'sourcetype', $loadalsoobjects = 1) { - global $conf; + global $conf, $hookmanager, $action; $this->linkedObjectsIds = array(); $this->linkedObjects = array(); @@ -3678,6 +3725,16 @@ abstract class CommonObject $withtargettype = false; $withsourcetype = false; + $parameters = array('sourcetype'=>$sourcetype, 'sourceid'=>$sourceid, 'targettype'=>$targettype, 'targetid'=>$targetid); + // Hook for explicitly set the targettype if it must be differtent than $this->element + $reshook = $hookmanager->executeHooks('setLinkedObjectSourceTargetType', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + if (!empty($hookmanager->resArray['sourcetype'])) $sourcetype = $hookmanager->resArray['sourcetype']; + if (!empty($hookmanager->resArray['sourceid'])) $sourceid = $hookmanager->resArray['sourceid']; + if (!empty($hookmanager->resArray['targettype'])) $targettype = $hookmanager->resArray['targettype']; + if (!empty($hookmanager->resArray['targetid'])) $targetid = $hookmanager->resArray['targetid']; + } + if (!empty($sourceid) && !empty($sourcetype) && empty($targetid)) { $justsource = true; // the source (id and type) is a search criteria if (!empty($targettype)) { @@ -3792,7 +3849,6 @@ abstract class CommonObject } elseif ($objecttype == 'contact') { $module = 'societe'; } - // Set classfile $classfile = strtolower($subelement); $classname = ucfirst($subelement); @@ -3824,8 +3880,19 @@ abstract class CommonObject $classfile = 'conferenceorboothattendee'; $classname = 'ConferenceOrBoothAttendee'; $module = 'eventorganization'; + } elseif ($objecttype == 'conferenceorbooth') { + $classpath = 'eventorganization/class'; + $classfile = 'conferenceorbooth'; + $classname = 'ConferenceOrBooth'; + $module = 'eventorganization'; + } elseif ($objecttype == 'mo') { + $classpath = 'mrp/class'; + $classfile = 'mo'; + $classname = 'Mo'; + $module = 'mrp'; } + // Here $module, $classfile and $classname are set if ($conf->$module->enabled && (($element != $this->element) || $alsosametype)) { if ($loadalsoobjects) { @@ -3883,14 +3950,14 @@ abstract class CommonObject $sql = "UPDATE " . MAIN_DB_PREFIX . "element_element SET "; if ($updatesource) { - $sql .= "fk_source = " . $sourceid; + $sql .= "fk_source = " . ((int) $sourceid); $sql .= ", sourcetype = '" . $this->db->escape($sourcetype) . "'"; - $sql .= " WHERE fk_target = " . $this->id; + $sql .= " WHERE fk_target = " . ((int) $this->id); $sql .= " AND targettype = '" . $this->db->escape($this->element) . "'"; } elseif ($updatetarget) { - $sql .= "fk_target = " . $targetid; + $sql .= "fk_target = " . ((int) $targetid); $sql .= ", targettype = '" . $this->db->escape($targettype) . "'"; - $sql .= " WHERE fk_source = " . $this->id; + $sql .= " WHERE fk_source = " . ((int) $this->id); $sql .= " AND sourcetype = '" . $this->db->escape($this->element) . "'"; } @@ -3976,15 +4043,15 @@ abstract class CommonObject $sql .= " rowid = " . ((int) $rowid); } else { if ($deletesource) { - $sql .= " fk_source = " . $sourceid . " AND sourcetype = '" . $this->db->escape($sourcetype) . "'"; - $sql .= " AND fk_target = " . $this->id . " AND targettype = '" . $this->db->escape($this->element) . "'"; + $sql .= " fk_source = " . ((int) $sourceid) . " AND sourcetype = '" . $this->db->escape($sourcetype) . "'"; + $sql .= " AND fk_target = " . ((int) $this->id) . " AND targettype = '" . $this->db->escape($this->element) . "'"; } elseif ($deletetarget) { - $sql .= " fk_target = " . $targetid . " AND targettype = '" . $this->db->escape($targettype) . "'"; - $sql .= " AND fk_source = " . $this->id . " AND sourcetype = '" . $this->db->escape($this->element) . "'"; + $sql .= " fk_target = " . ((int) $targetid) . " AND targettype = '" . $this->db->escape($targettype) . "'"; + $sql .= " AND fk_source = " . ((int) $this->id) . " AND sourcetype = '" . $this->db->escape($this->element) . "'"; } else { - $sql .= " (fk_source = " . $this->id . " AND sourcetype = '" . $this->db->escape($this->element) . "')"; + $sql .= " (fk_source = " . ((int) $this->id) . " AND sourcetype = '" . $this->db->escape($this->element) . "')"; $sql .= " OR"; - $sql .= " (fk_target = " . $this->id . " AND targettype = '" . $this->db->escape($this->element) . "')"; + $sql .= " (fk_target = " . ((int) $this->id) . " AND targettype = '" . $this->db->escape($this->element) . "')"; } } @@ -4022,7 +4089,7 @@ abstract class CommonObject global $db; - $sql = 'SELECT '.$field_select.' FROM '.MAIN_DB_PREFIX.$table_element.' WHERE '.$field_where.' = '.((int) $fk_object_where); + $sql = "SELECT ".$field_select." FROM ".MAIN_DB_PREFIX.$table_element." WHERE ".$field_where." = ".((int) $fk_object_where); $resql = $db->query($sql); $TRes = array(); @@ -4051,7 +4118,7 @@ abstract class CommonObject global $db; - $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$table_element.' WHERE '.$field_where.' = '.((int) $fk_object_where); + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$table_element." WHERE ".$field_where." = ".((int) $fk_object_where); $resql = $db->query($sql); if (empty($resql)) { @@ -4108,7 +4175,7 @@ abstract class CommonObject $sql .= " SET ".$fieldstatus." = ".((int) $status); // If status = 1 = validated, update also fk_user_valid if ($status == 1 && $elementTable == 'expensereport') { - $sql .= ", fk_user_valid = ".$user->id; + $sql .= ", fk_user_valid = ".((int) $user->id); } $sql .= " WHERE rowid=".((int) $elementId); @@ -4224,8 +4291,8 @@ abstract class CommonObject */ public function getSpecialCode($lineid) { - $sql = 'SELECT special_code FROM '.MAIN_DB_PREFIX.$this->table_element_line; - $sql .= ' WHERE rowid = '.((int) $lineid); + $sql = "SELECT special_code FROM ".MAIN_DB_PREFIX.$this->table_element_line; + $sql .= " WHERE rowid = ".((int) $lineid); $resql = $this->db->query($sql); if ($resql) { $row = $this->db->fetch_row($resql); @@ -4276,10 +4343,10 @@ abstract class CommonObject //print 'Found into table '.$table.', type '.$langs->transnoentitiesnoconv($elementname).', haschild='.$haschild; $haschild += $obj->nb; if (is_numeric($elementname)) { // old usage - $this->errors[] = $langs->trans("ErrorRecordHasAtLeastOneChildOfType", $table); + $this->errors[] = $langs->transnoentities("ErrorRecordHasAtLeastOneChildOfType", method_exists($this, 'getNomUrl') ? $this->getNomUrl() : $this->ref, $table); } else // new usage: $elementname=Translation key { - $this->errors[] = $langs->trans("ErrorRecordHasAtLeastOneChildOfType", $langs->transnoentitiesnoconv($elementname)); + $this->errors[] = $langs->transnoentities("ErrorRecordHasAtLeastOneChildOfType", method_exists($this, 'getNomUrl') ? $this->getNomUrl() : $this->ref, $langs->transnoentitiesnoconv($elementname)); } break; // We found at least one, we stop here } @@ -4343,7 +4410,7 @@ abstract class CommonObject $sql = "SELECT subprice as pu_ht, qty, remise_percent, total_ht"; $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element_line; - $sql .= " WHERE ".$this->fk_element." = ".$this->id; + $sql .= " WHERE ".$this->fk_element." = ".((int) $this->id); dol_syslog(get_class($this).'::getTotalDiscount', LOG_DEBUG); $resql = $this->db->query($sql); @@ -4484,7 +4551,7 @@ abstract class CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql .= " SET extraparams = ".(!empty($extraparams) ? "'".$this->db->escape($extraparams)."'" : "null"); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setExtraParameters", LOG_DEBUG); $resql = $this->db->query($sql); @@ -4802,13 +4869,18 @@ abstract class CommonObject if (!empty($this->lines)) { foreach ($this->lines as $line) { - if (is_object($hookmanager) && (($line->product_type == 9 && !empty($line->special_code)) || !empty($line->fk_parent_line))) { + $reshook = 0; + //if (is_object($hookmanager) && (($line->product_type == 9 && !empty($line->special_code)) || !empty($line->fk_parent_line))) { + if (is_object($hookmanager)) { // Old code is commented on preceding line. if (empty($line->fk_parent_line)) { - $parameters = array('line'=>$line, 'i'=>$i); - $action = ''; - $hookmanager->executeHooks('printOriginObjectLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + $parameters = array('line'=>$line, 'i'=>$i, 'restrictlist'=>$restrictlist, 'selectedLines'=> $selectedLines); + $reshook = $hookmanager->executeHooks('printOriginObjectLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + } else { + $parameters = array('line'=>$line, 'i'=>$i, 'restrictlist'=>$restrictlist, 'selectedLines'=> $selectedLines, 'fk_parent_line'=>$line->fk_parent_line); + $reshook = $hookmanager->executeHooks('printOriginObjectSubLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks } - } else { + } + if (empty($reshook)) { $this->printOriginLine($line, '', $restrictlist, '/core/tpl', $selectedLines); } @@ -5262,7 +5334,7 @@ abstract class CommonObject $ecmfile->fullpath_orig = ''; $ecmfile->gen_or_uploaded = 'generated'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content $result = $ecmfile->update($user); if ($result < 0) { setEventMessages($ecmfile->error, $ecmfile->errors, 'warnings'); @@ -5275,8 +5347,8 @@ abstract class CommonObject $ecmfile->fullpath_orig = ''; $ecmfile->gen_or_uploaded = 'generated'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content - $ecmfile->src_object_type = $this->table_element; + $ecmfile->keywords = ''; // keyword content + $ecmfile->src_object_type = $this->table_element; // $this->table_name is 'myobject' or 'mymodule_myobject'. $ecmfile->src_object_id = $this->id; $result = $ecmfile->create($user); @@ -5296,8 +5368,8 @@ abstract class CommonObject $update_main_doc_field = 1; } if ($update_main_doc_field && !empty($this->table_element)) { - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET last_main_doc = '".$this->db->escape($ecmfile->filepath.'/'.$ecmfile->filename)."'"; - $sql .= ' WHERE rowid = '.$this->id; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET last_main_doc = '".$this->db->escape($ecmfile->filepath."/".$ecmfile->filename)."'"; + $sql .= " WHERE rowid = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { @@ -5485,7 +5557,7 @@ abstract class CommonObject $sql = "SELECT rowid, property, lang , value"; $sql .= " FROM ".MAIN_DB_PREFIX."object_lang"; $sql .= " WHERE type_object = '".$this->db->escape($element)."'"; - $sql .= " AND fk_object = ".$this->id; + $sql .= " AND fk_object = ".((int) $this->id); //dol_syslog(get_class($this)."::fetch_optionals get extrafields data for ".$this->table_element, LOG_DEBUG); // Too verbose $resql = $this->db->query($sql); @@ -5760,8 +5832,10 @@ abstract class CommonObject $table_element = 'categories'; // For compatibility } - $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$table_element."_extrafields WHERE fk_object = ".$this->id; dol_syslog(get_class($this)."::deleteExtraFields delete", LOG_DEBUG); + + $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$table_element."_extrafields WHERE fk_object = ".((int) $this->id); + $resql = $this->db->query($sql_del); if (!$resql) { $this->error = $this->db->lasterror(); @@ -5835,7 +5909,8 @@ abstract class CommonObject $mandatorypb = true; } if ($mandatorypb) { - dol_syslog("Mandatory extra field ".$key." is empty"); + $langs->load("errors"); + dol_syslog("Mandatory field '".$key."' is empty during create and set to required into definition of extrafields"); $this->errors[] = $langs->trans('ErrorFieldRequired', $attributeLabel); return -1; } @@ -5959,7 +6034,7 @@ abstract class CommonObject dol_syslog(get_class($this)."::insertExtraFields delete then insert", LOG_DEBUG); - $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$table_element."_extrafields WHERE fk_object = ".$this->id; + $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$table_element."_extrafields WHERE fk_object = ".((int) $this->id); $this->db->query($sql_del); $sql = "INSERT INTO ".MAIN_DB_PREFIX.$table_element."_extrafields (fk_object"; @@ -6111,7 +6186,7 @@ abstract class CommonObject foreach ($new_array_languages as $key => $langcodearray) { // $key = 'name', 'town', ... foreach ($langcodearray as $langcode => $value) { $sql_del = "DELETE FROM ".MAIN_DB_PREFIX."object_lang"; - $sql_del .= " WHERE fk_object = ".$this->id." AND property = '".$this->db->escape($key)."' AND type_object = '".$this->db->escape($table_element)."'"; + $sql_del .= " WHERE fk_object = ".((int) $this->id)." AND property = '".$this->db->escape($key)."' AND type_object = '".$this->db->escape($table_element)."'"; $sql_del .= " AND lang = '".$this->db->escape($langcode)."'"; $this->db->query($sql_del); @@ -6201,7 +6276,8 @@ abstract class CommonObject $mandatorypb = true; } if ($mandatorypb) { - dol_syslog("Mandatory extra field options_".$key." is empty"); + $langs->load("errors"); + dol_syslog("Mandatory field 'options_".$key."' is empty during update and set to required into definition of extrafields"); $this->errors[] = $langs->trans('ErrorFieldRequired', $attributeLabel); return -1; } @@ -6251,10 +6327,12 @@ abstract class CommonObject $this->array_options["options_".$key] = price2num($this->array_options["options_".$key]); break; case 'date': - $this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]); - break; case 'datetime': - $this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]); + if (empty($this->array_options["options_".$key])) { + $this->array_options["options_".$key] = null; + } else { + $this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]); + } break; /* case 'link': @@ -6292,7 +6370,7 @@ abstract class CommonObject $linealreadyfound = 0; // Check if there is already a line for this object (in most cases, it is, but sometimes it is not, for example when extra field has been created after), so we must keep this overload) - $sql = "SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id; + $sql = "SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { $tmpobj = $this->db->fetch_object($resql); @@ -6302,8 +6380,12 @@ abstract class CommonObject } if ($linealreadyfound) { - $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = '".$this->db->escape($this->array_options["options_".$key])."'"; - $sql .= " WHERE fk_object = ".$this->id; + if ($this->array_options["options_".$key] === null) { + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = null"; + } else { + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = '".$this->db->escape($this->array_options["options_".$key])."'"; + } + $sql .= " WHERE fk_object = ".((int) $this->id); } else { $result = $this->insertExtraFields('', $user); if ($result < 0) { @@ -6394,6 +6476,16 @@ abstract class CommonObject $val = $this->fields[$key]; } + // Validation tests and output + $fieldValidationErrorMsg = ''; + $validationClass = ''; + $fieldValidationErrorMsg = $this->getFieldError($key); + if (!empty($fieldValidationErrorMsg)) { + $validationClass = ' --error'; // the -- is use as class state in css : .--error can't be be defined alone it must be define with another class like .my-class.--error or input.--error + } else { + $validationClass = ' --success'; // the -- is use as class state in css : .--success can't be be defined alone it must be define with another class like .my-class.--success or input.--success + } + $out = ''; $type = ''; $isDependList=0; @@ -6485,6 +6577,11 @@ abstract class CommonObject } } + // Add validation state class + if (!empty($validationClass)) { + $morecss.= ' '.$validationClass; + } + if (in_array($type, array('date'))) { $tmp = explode(',', $size); $newsize = $tmp[0]; @@ -6512,11 +6609,11 @@ abstract class CommonObject } elseif (in_array($type, array('int', 'integer'))) { $tmp = explode(',', $size); $newsize = $tmp[0]; - $out = ''; + $out = ' 0 ? ' maxlength="'.$newsize.'"' : '').' value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>'; } elseif (in_array($type, array('real'))) { $out = ''; } elseif (preg_match('/varchar/', $type)) { - $out = ''; + $out = ' 0 ? ' maxlength="'.$size.'"' : '').' value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>'; } elseif (in_array($type, array('mail', 'phone', 'url'))) { $out = ''; } elseif (preg_match('/^text/', $type)) { @@ -6614,8 +6711,8 @@ abstract class CommonObject } $sqlwhere = ''; - $sql = 'SELECT '.$keyList; - $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; + $sql = "SELECT ".$keyList; + $sql .= " FROM ".MAIN_DB_PREFIX.$InfoFieldList[0]; if (!empty($InfoFieldList[4])) { // can use SELECT request if (strpos($InfoFieldList[4], '$SEL$') !== false) { @@ -6631,17 +6728,17 @@ abstract class CommonObject //We have to join on extrafield table if (strpos($InfoFieldList[4], 'extra') !== false) { - $sql .= ' as main, '.MAIN_DB_PREFIX.$InfoFieldList[0].'_extrafields as extra'; - $sqlwhere .= ' WHERE extra.fk_object=main.'.$InfoFieldList[2].' AND '.$InfoFieldList[4]; + $sql .= " as main, ".MAIN_DB_PREFIX.$InfoFieldList[0]."_extrafields as extra"; + $sqlwhere .= " WHERE extra.fk_object=main.".$InfoFieldList[2]." AND ".$InfoFieldList[4]; } else { - $sqlwhere .= ' WHERE '.$InfoFieldList[4]; + $sqlwhere .= " WHERE ".$InfoFieldList[4]; } } else { $sqlwhere .= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. if (in_array($InfoFieldList[0], array('tablewithentity'))) { - $sqlwhere .= ' AND entity = '.$conf->entity; + $sqlwhere .= " AND entity = ".((int) $conf->entity); } $sql .= $sqlwhere; //print $sql; @@ -6675,9 +6772,9 @@ abstract class CommonObject foreach ($fields_label as $field_toshow) { $translabel = $langs->trans($obj->$field_toshow); if ($translabel != $obj->$field_toshow) { - $labeltoshow = dol_trunc($translabel, 18).' '; + $labeltoshow = dol_trunc($translabel).' '; } else { - $labeltoshow = dol_trunc($obj->$field_toshow, 18).' '; + $labeltoshow = dol_trunc($obj->$field_toshow).' '; } } $out .= ''; @@ -6687,7 +6784,7 @@ abstract class CommonObject if ($translabel != $obj->{$InfoFieldList[1]}) { $labeltoshow = dol_trunc($translabel, 18); } else { - $labeltoshow = dol_trunc($obj->{$InfoFieldList[1]}, 18); + $labeltoshow = dol_trunc($obj->{$InfoFieldList[1]}); } } if (empty($labeltoshow)) { @@ -6766,7 +6863,7 @@ abstract class CommonObject } $sqlwhere = ''; - $sql = 'SELECT '.$keyList; + $sql = "SELECT ".$keyList; $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; if (!empty($InfoFieldList[4])) { // can use SELECT request @@ -6784,16 +6881,16 @@ abstract class CommonObject // We have to join on extrafield table if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main, '.MAIN_DB_PREFIX.$InfoFieldList[0].'_extrafields as extra'; - $sqlwhere .= ' WHERE extra.fk_object=main.'.$InfoFieldList[2].' AND '.$InfoFieldList[4]; + $sqlwhere .= " WHERE extra.fk_object=main.".$InfoFieldList[2]." AND ".$InfoFieldList[4]; } else { - $sqlwhere .= ' WHERE '.$InfoFieldList[4]; + $sqlwhere .= " WHERE ".$InfoFieldList[4]; } } else { $sqlwhere .= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. if (in_array($InfoFieldList[0], array('tablewithentity'))) { - $sqlwhere .= ' AND entity = '.$conf->entity; + $sqlwhere .= " AND entity = ".((int) $conf->entity); } // $sql.=preg_replace('/^ AND /','',$sqlwhere); // print $sql; @@ -6870,7 +6967,7 @@ abstract class CommonObject } } } elseif ($type == 'link') { - $param_list = array_keys($param['options']); // $param_list='ObjectName:classPath[:AddCreateButtonOrNot[:Filter]]' + $param_list = array_keys($param['options']); // $param_list='ObjectName:classPath[:AddCreateButtonOrNot[:Filter[:Sortfield]]]' $param_list_array = explode(':', $param_list[0]); $showempty = (($required && $default != '') ? 0 : 1); @@ -6951,6 +7048,12 @@ abstract class CommonObject if ($type == 'date') $out.=' (YYYY-MM-DD)'; elseif ($type == 'datetime') $out.=' (YYYY-MM-DD HH:MM:SS)'; */ + + // Display error message for field + if (!empty($fieldValidationErrorMsg) && function_exists('getFieldErrorIcon')) { + $out .= ' '.getFieldErrorIcon($fieldValidationErrorMsg); + } + return $out; } @@ -7121,7 +7224,7 @@ abstract class CommonObject $keyList .= implode(', ', $fields_label); } - $sql = 'SELECT '.$keyList; + $sql = "SELECT ".$keyList; $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main'; @@ -7204,7 +7307,7 @@ abstract class CommonObject $keyList .= implode(', ', $fields_label); } - $sql = 'SELECT '.$keyList; + $sql = "SELECT ".$keyList; $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main'; @@ -7266,7 +7369,11 @@ abstract class CommonObject dol_include_once($InfoFieldList[1]); if ($classname && class_exists($classname)) { $object = new $classname($this->db); - $object->fetch($value); + if ($object->element === 'product') { // Special cas for product because default valut of fetch are wrong + $object->fetch($value, '', '', '', 0, 1, 1); + } else { + $object->fetch($value); + } $value = $object->getNomUrl($getnomurlparam, $getnomurlparam2); } } else { @@ -7290,6 +7397,228 @@ abstract class CommonObject return $out; } + /** + * clear validation message result for a field + * + * @param string $fieldKey Key of attribute to clear + * @return null + */ + public function clearFieldError($fieldKey) + { + $this->error = ''; + unset($this->validateFieldsErrors[$fieldKey]); + } + + /** + * set validation error message a field + * + * @param string $fieldKey Key of attribute + * @param string $msg the field error message + * @return null + */ + public function setFieldError($fieldKey, $msg = '') + { + global $langs; + if (empty($msg)) { $msg = $langs->trans("UnknowError"); } + + $this->error = $this->validateFieldsErrors[$fieldKey] = $msg; + } + + /** + * get field error message + * + * @param string $fieldKey Key of attribute + * @return string + */ + public function getFieldError($fieldKey) + { + if (!empty($this->validateFieldsErrors[$fieldKey])) { + return $this->validateFieldsErrors[$fieldKey]; + } + return ''; + } + + /** + * Return validation test result for a field + * + * @param array $val Array of properties of field to show + * @param string $fieldKey Key of attribute + * @param string $fieldValue value of attribute + * @return bool return false if fail true on success, see $this->error for error message + */ + public function validateField($val, $fieldKey, $fieldValue) + { + global $langs; + + if (!class_exists('Validate')) { require_once DOL_DOCUMENT_ROOT . '/core/class/validate.class.php'; } + + $this->clearFieldError($fieldKey); + + if (!isset($val[$fieldKey])) { + $this->setFieldError($fieldKey, $langs->trans('FieldNotFoundInObject')); + return false; + } + + $param = array(); + $param['options'] = array(); + $type = $val[$fieldKey]['type']; + + $required = false; + if (isset($val[$fieldKey]['notnull']) && $val[$fieldKey]['notnull'] === 1) { + // 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + $required = true; + } + + $maxSize = 0; + $minSize = 0; + + // + // PREPARE Elements + // + + // Convert var to be able to share same code than showOutputField of extrafields + if (preg_match('/varchar\((\d+)\)/', $type, $reg)) { + $type = 'varchar'; // convert varchar(xx) int varchar + $maxSize = $reg[1]; + } elseif (preg_match('/varchar/', $type)) { + $type = 'varchar'; // convert varchar(xx) int varchar + } + + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + $type = 'select'; + } + + if (preg_match('/^integer:(.*):(.*)/i', $val['type'], $reg)) { + $type = 'link'; + } + + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + $param['options'] = $val['arrayofkeyval']; + } + + if (preg_match('/^integer:(.*):(.*)/i', $val['type'], $reg)) { + $type = 'link'; + $param['options'] = array($reg[1].':'.$reg[2]=>$reg[1].':'.$reg[2]); + } elseif (preg_match('/^sellist:(.*):(.*):(.*):(.*)/i', $val['type'], $reg)) { + $param['options'] = array($reg[1].':'.$reg[2].':'.$reg[3].':'.$reg[4] => 'N'); + $type = 'sellist'; + } elseif (preg_match('/^sellist:(.*):(.*):(.*)/i', $val['type'], $reg)) { + $param['options'] = array($reg[1].':'.$reg[2].':'.$reg[3] => 'N'); + $type = 'sellist'; + } elseif (preg_match('/^sellist:(.*):(.*)/i', $val['type'], $reg)) { + $param['options'] = array($reg[1].':'.$reg[2] => 'N'); + $type = 'sellist'; + } + + // + // TEST Value + // + + // Use Validate class to allow external Modules to use data validation part instead of concentrate all test here (factoring) or just for reuse + $validate = new Validate($this->db, $langs); + + + // little trick : to perform tests with good performances sort tests by quick to low + + // + // COMMON TESTS + // + + // Required test and empty value + if ($required && !$validate->isNotEmptyString($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } elseif (!$required && !$validate->isNotEmptyString($fieldValue)) { + // if no value sent and the field is not mandatory, no need to perform tests + return true; + } + + // MAX Size test + if (!empty($maxSize) && !$validate->isMaxLength($fieldValue, $maxSize)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } + + // MIN Size test + if (!empty($minSize) && !$validate->isMinLength($fieldValue, $minSize)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } + + // + // TESTS for TYPE + // + + if (in_array($type, array('date', 'datetime', 'timestamp'))) { + if (!$validate->isTimestamp($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif ($type == 'duration') { + if (!$validate->isDuration($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif (in_array($type, array('double', 'real', 'price'))) { + // is numeric + if (!$validate->isDuration($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif ($type == 'boolean') { + if (!$validate->isBool($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif ($type == 'mail') { + if (!$validate->isEmail($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } + } elseif ($type == 'url') { + if (!$validate->isUrl($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif ($type == 'phone') { + if (!$validate->isPhone($fieldValue)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif ($type == 'select' || $type == 'radio') { + if (!isset($param['options'][$fieldValue])) { + $this->error = $langs->trans('RequireValidValue'); + return false; + } else { return true; } + } elseif ($type == 'sellist' || $type == 'chkbxlst') { + $param_list = array_keys($param['options']); + $InfoFieldList = explode(":", $param_list[0]); + $value_arr = explode(',', $fieldValue); + $value_arr = array_map(array($this->db, 'escape'), $value_arr); + + $selectkey = "rowid"; + if (count($InfoFieldList) > 4 && !empty($InfoFieldList[4])) { + $selectkey = $InfoFieldList[2]; + } + + if (!isInDb($value_arr, $InfoFieldList[0], $selectkey)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } elseif ($type == 'link') { + $param_list = array_keys($param['options']); // $param_list='ObjectName:classPath' + $InfoFieldList = explode(":", $param_list[0]); + $classname = $InfoFieldList[0]; + $classpath = $InfoFieldList[1]; + if (!$validate->isFetchable($fieldValue, $classname, $classpath)) { + $this->setFieldError($fieldKey, $validate->error); + return false; + } else { return true; } + } + + // if no test failled all is ok + return true; + } /** * Function to show lines of extrafields with output datas. @@ -7483,6 +7812,9 @@ abstract class CommonObject if ($display_type == 'card') { $out .= '
    '; @@ -7500,7 +7832,7 @@ abstract class CommonObject $out .= $labeltoshow; } if ($mode != 'view' && !empty($extrafields->attributes[$this->table_element]['required'][$key])) { - $out .= ' *'; + $out .= ' *'; } } else { if ($mode != 'view' && !empty($extrafields->attributes[$this->table_element]['required'][$key])) { @@ -7708,7 +8040,7 @@ abstract class CommonObject $buyPrice = $unitPrice * (1 - $discountPercent / 100); } else { // Get cost price for margin calculation - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { if (isset($conf->global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == 'costprice') { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $product = new Product($this->db); @@ -7893,7 +8225,7 @@ abstract class CommonObject } else { if (empty($maxHeight) || $photo_vignette && $imgarray['height'] > $maxHeight) { $return .= ''; - $return .= ''; + $return .= ''; } else { $return .= ''; $return .= ''; @@ -7912,15 +8244,15 @@ abstract class CommonObject $return .= '
    '; // On propose la generation de la vignette si elle n'existe pas et si la taille est superieure aux limites if ($photo_vignette && (image_format_supported($photo) > 0) && ($this->imgWidth > $maxWidth || $this->imgHeight > $maxHeight)) { - $return .= ''.img_picto($langs->trans('GenerateThumb'), 'refresh').'  '; + $return .= ''.img_picto($langs->trans('GenerateThumb'), 'refresh').'  '; } // Special cas for product if ($modulepart == 'product' && ($user->rights->produit->creer || $user->rights->service->creer)) { // Link to resize - $return .= ''.img_picto($langs->trans("Resize"), 'resize', '').'   '; + $return .= ''.img_picto($langs->trans("Resize"), 'resize', '').'   '; // Link to delete - $return .= ''; + $return .= ''; $return .= img_delete().''; } } @@ -7946,10 +8278,10 @@ abstract class CommonObject // Special case for product if ($modulepart == 'product' && ($user->rights->produit->creer || $user->rights->service->creer)) { // Link to resize - $return .= ''.img_picto($langs->trans("Resize"), 'resize', '').'   '; + $return .= ''.img_picto($langs->trans("Resize"), 'resize', '').'   '; // Link to delete - $return .= ''; + $return .= ''; $return .= img_delete().''; } } @@ -8164,15 +8496,6 @@ abstract class CommonObject } else { $queryarray[$field] = $this->db->idate($this->{$field}); } - } elseif ($this->isArray($info)) { - if (!empty($this->{$field})) { - if (!is_array($this->{$field})) { - $this->{$field} = array($this->{$field}); - } - $queryarray[$field] = serialize($this->{$field}); - } else { - $queryarray[$field] = null; - } } elseif ($this->isDuration($info)) { // $this->{$field} may be null, '', 0, '0', 123, '123' if ((isset($this->{$field}) && $this->{$field} != '') || !empty($info['notnull'])) { @@ -8233,16 +8556,6 @@ abstract class CommonObject } else { $this->{$field} = $db->jdate($obj->{$field}); } - } elseif ($this->isArray($info)) { - if (!empty($obj->{$field})) { - $this->{$field} = @unserialize($obj->{$field}); - // Hack for data not in UTF8 - if ($this->{$field } === false) { - @unserialize(utf8_decode($obj->{$field})); - } - } else { - $this->{$field} = array(); - } } elseif ($this->isInt($info)) { if ($field == 'rowid') { $this->id = (int) $obj->{$field}; @@ -8318,7 +8631,7 @@ abstract class CommonObject if (is_null($value)) { return 'NULL'; } elseif (preg_match('/^(int|double|real|price)/i', $fieldsentry['type'])) { - return $this->db->escape("$value"); + return price2num("$value"); } elseif ($fieldsentry['type'] == 'boolean') { if ($value) { return 'true'; @@ -8380,18 +8693,20 @@ abstract class CommonObject if (isset($this->fields[$key]['notnull']) && $this->fields[$key]['notnull'] == 1 && (!isset($values[$key]) || $values[$key] === 'NULL') && is_null($this->fields[$key]['default'])) { $error++; + $langs->load("errors"); + dol_syslog("Mandatory field '".$key."' is empty and required into ->fields definition of class"); $this->errors[] = $langs->trans("ErrorFieldRequired", $this->fields[$key]['label']); } // If value is null and there is a default value for field if (isset($this->fields[$key]['notnull']) && $this->fields[$key]['notnull'] == 1 && (!isset($values[$key]) || $values[$key] === 'NULL') && !is_null($this->fields[$key]['default'])) { - $values[$key] = $this->fields[$key]['default']; + $values[$key] = $this->quote($this->fields[$key]['default'], $this->fields[$key]); } // If field is an implicit foreign key field if (preg_match('/^integer:/i', $this->fields[$key]['type']) && empty($values[$key])) { if (isset($this->fields[$key]['default'])) { - $values[$key] = $this->fields[$key]['default']; + $values[$key] = ((int) $this->fields[$key]['default']); } else { $values[$key] = 'null'; } @@ -8408,9 +8723,9 @@ abstract class CommonObject $this->db->begin(); if (!$error) { - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' ('.implode(", ", $keys).')'; - $sql .= ' VALUES ('.implode(", ", $values).')'; + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " (".implode(", ", $keys).')'; + $sql .= " VALUES (".implode(", ", $values).")"; // $values can contains 'abc' or 123 $res = $this->db->query($sql); if ($res === false) { @@ -8425,8 +8740,8 @@ abstract class CommonObject // If we have a field ref with a default value of (PROV) if (!$error) { - if (key_exists('ref', $this->fields) && $this->fields['ref']['notnull'] > 0 && !is_null($this->fields['ref']['default']) && $this->fields['ref']['default'] == '(PROV)') { - $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET ref = '(PROV".$this->id.")' WHERE (ref = '(PROV)' OR ref = '') AND rowid = ".((int) $this->id); + if (key_exists('ref', $this->fields) && $this->fields['ref']['notnull'] > 0 && key_exists('default', $this->fields['ref']) && $this->fields['ref']['default'] == '(PROV)') { + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET ref = '(PROV".((int) $this->id).")' WHERE (ref = '(PROV)' OR ref = '') AND rowid = ".((int) $this->id); $resqlupdate = $this->db->query($sql); if ($resqlupdate === false) { @@ -8463,7 +8778,7 @@ abstract class CommonObject $result = $line->create($user, 1); if ($result < 0) { - $this->error = $this->db->lasterror(); + $this->error = $line->error; $this->db->rollback(); return -1; } @@ -8494,8 +8809,8 @@ abstract class CommonObject /** * Load object in memory from the database * - * @param int $id Id object - * @param string $ref Ref + * @param int $id Id object + * @param string $ref Ref * @param string $morewhere More SQL filters (' AND ...') * @return int <0 if KO, 0 if not found, >0 if OK */ @@ -8510,13 +8825,13 @@ abstract class CommonObject return 0; } - $sql = 'SELECT '.$fieldlist; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql = "SELECT ".$fieldlist; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element.' as t'; if (!empty($id)) { $sql .= ' WHERE t.rowid = '.((int) $id); } elseif (!empty($ref)) { - $sql .= " WHERE t.ref = ".$this->quote($ref, $this->fields['ref']); + $sql .= " WHERE t.ref = '".$this->db->escape($ref)."'"; } else { $sql .= ' WHERE 1 = 1'; // usage with empty id and empty ref is very rare } @@ -8565,9 +8880,9 @@ abstract class CommonObject $objectline = new $objectlineclassname($this->db); - $sql = 'SELECT '.$objectline->getFieldList('l'); - $sql .= ' FROM '.MAIN_DB_PREFIX.$objectline->table_element.' as l'; - $sql .= ' WHERE l.fk_'.$this->element.' = '.$this->id; + $sql = "SELECT ".$objectline->getFieldList('l'); + $sql .= " FROM ".MAIN_DB_PREFIX.$objectline->table_element." as l"; + $sql .= " WHERE l.fk_".$this->element." = ".((int) $this->id); if ($morewhere) { $sql .= $morewhere; } @@ -8701,7 +9016,7 @@ abstract class CommonObject * @param User $user User that deletes * @param bool $notrigger false=launch triggers after, true=disable triggers * @param int $forcechilddeletion 0=no, 1=Force deletion of children - * @return int <=0 if KO, >0 if OK + * @return int <=0 if KO, 0=Nothing done because object has child, >0 if OK */ public function deleteCommon(User $user, $notrigger = false, $forcechilddeletion = 0) { @@ -8713,7 +9028,7 @@ abstract class CommonObject if ($forcechilddeletion) { // Force also delete of childtables that should lock deletion in standard case when option force is off foreach ($this->childtables as $table) { - $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$table.' WHERE '.$this->fk_element.' = '.$this->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$table." WHERE ".$this->fk_element." = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { $this->error = $this->db->lasterror(); @@ -8741,10 +9056,15 @@ abstract class CommonObject $className = str_replace('@', '', $deleteFromObject[0]); $filePath = $deleteFromObject[1]; $columnName = $deleteFromObject[2]; + $TMoreSQL = array(); + $more_sql = $deleteFromObject[3]; + if (!empty($more_sql)) { + $TMoreSQL['customsql'] = $more_sql; + } if (dol_include_once($filePath)) { $childObject = new $className($this->db); if (method_exists($childObject, 'deleteByParentField')) { - $result = $childObject->deleteByParentField($this->id, $columnName); + $result = $childObject->deleteByParentField($this->id, $columnName, $TMoreSQL); if ($result < 0) { $error++; $this->errors[] = $childObject->error; @@ -8762,7 +9082,7 @@ abstract class CommonObject } } else { // Delete record in child table - $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$table.' WHERE '.$this->fk_element.' = '.$this->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$table." WHERE ".$this->fk_element." = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { @@ -8804,8 +9124,8 @@ abstract class CommonObject if (!$error) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE rowid='.((int) $this->id); - $res = $this->db->query($sql); - if ($res === false) { + $resql = $this->db->query($sql); + if (!$resql) { $error++; $this->errors[] = $this->db->lasterror(); } @@ -8826,10 +9146,12 @@ abstract class CommonObject * * @param int $parentId Parent Id * @param string $parentField Name of Foreign key parent column + * @param array $filter an array filter + * @param string $filtermode AND or OR * @return int <0 if KO, >0 if OK * @throws Exception */ - public function deleteByParentField($parentId = 0, $parentField = '') + public function deleteByParentField($parentId = 0, $parentField = '', $filter = array(), $filtermode = "AND") { global $user; @@ -8840,7 +9162,24 @@ abstract class CommonObject $this->db->begin(); $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$this->table_element; - $sql .= ' WHERE '.$parentField.' = '.(int) $parentId; + $sql .= " WHERE ".$parentField." = ".(int) $parentId; + + // Manage filters + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key." IN (".$this->db->sanitize($this->db->escape($value)).")"; + } else { + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } $resql = $this->db->query($sql); if (!$resql) { @@ -8963,7 +9302,7 @@ abstract class CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql .= " SET ".$statusfield." = ".((int) $status); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { if (!$error) { @@ -9114,6 +9453,11 @@ abstract class CommonObject */ public function setCategoriesCommon($categories, $type_categ = '', $remove_existing = true) { + // Handle single category + if (!is_array($categories)) { + $categories = array($categories); + } + dol_syslog(get_class($this)."::setCategoriesCommon Oject Id:".$this->id.' type_categ:'.$type_categ.' nb tag add:'.count($categories), LOG_DEBUG); require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; @@ -9123,11 +9467,6 @@ abstract class CommonObject return -1; } - // Handle single category - if (!is_array($categories)) { - $categories = array($categories); - } - // Get current categories $c = new Categorie($this->db); $existing = $c->containing($this->id, $type_categ, 'id'); @@ -9249,7 +9588,7 @@ abstract class CommonObject // Delete ecm_files extrafields $sql = "DELETE FROM ".MAIN_DB_PREFIX."ecm_files_extrafields WHERE fk_object IN ("; $sql .= " SELECT rowid FROM ".MAIN_DB_PREFIX."ecm_files WHERE filename LIKE '".$this->db->escape($this->ref)."%'"; - $sql .= " AND filepath = '".$this->db->escape($element)."/".$this->db->escape($this->ref)."' AND entity = ".$conf->entity; // No need of getEntity here + $sql .= " AND filepath = '".$this->db->escape($element)."/".$this->db->escape($this->ref)."' AND entity = ".((int) $conf->entity); // No need of getEntity here $sql .= ")"; if (!$this->db->query($sql)) { @@ -9261,7 +9600,7 @@ abstract class CommonObject // Delete ecm_files $sql = "DELETE FROM ".MAIN_DB_PREFIX."ecm_files"; $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%'"; - $sql .= " AND filepath = '".$this->db->escape($element)."/".$this->db->escape($this->ref)."' AND entity = ".$conf->entity; // No need of getEntity here + $sql .= " AND filepath = '".$this->db->escape($element)."/".$this->db->escape($this->ref)."' AND entity = ".((int) $conf->entity); // No need of getEntity here if (!$this->db->query($sql)) { $this->error = $this->db->lasterror(); @@ -9273,7 +9612,7 @@ abstract class CommonObject // Delete in database with mode 1 if ($mode == 1) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX."ecm_files_extrafields"; - $sql .= " WHERE fk_object IN (SELECT rowid FROM ".MAIN_DB_PREFIX."ecm_files WHERE src_object_type = '".$this->db->escape($this->table_element.(empty($this->module) ? '' : '@'.$this->module))."' AND src_object_id = ".$this->id.")"; + $sql .= " WHERE fk_object IN (SELECT rowid FROM ".MAIN_DB_PREFIX."ecm_files WHERE src_object_type = '".$this->db->escape($this->table_element.(empty($this->module) ? "" : "@".$this->module))."' AND src_object_id = ".((int) $this->id).")"; $resql = $this->db->query($sql); if (!$resql) { $this->error = $this->db->lasterror(); @@ -9282,7 +9621,7 @@ abstract class CommonObject } $sql = 'DELETE FROM '.MAIN_DB_PREFIX."ecm_files"; - $sql .= " WHERE src_object_type = '".$this->db->escape($this->table_element.(empty($this->module) ? '' : '@'.$this->module))."' AND src_object_id = ".((int) $this->id); + $sql .= " WHERE src_object_type = '".$this->db->escape($this->table_element.(empty($this->module) ? "" : "@".$this->module))."' AND src_object_id = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { $this->error = $this->db->lasterror(); diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index f821e5050b1..40bcf3aa529 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -26,6 +26,8 @@ /** * Parent class for class inheritance lines of business objects * This class is useless for the moment so no inherit are done on it + * + * TODO For the moment we use the extends on CommonObject until PHP min is 5.4 so we can use Traits. */ abstract class CommonObjectLine extends CommonObject { @@ -61,7 +63,7 @@ abstract class CommonObjectLine extends CommonObject } /** - * Returns the label, shot_label or code found in units dictionary from ->fk_unit. + * Returns the label, short_label or code found in units dictionary from ->fk_unit. * A langs->trans() must be called on result to get translated value. * * @param string $type Label type ('long', 'short' or 'code'). This can be a translation key. @@ -71,7 +73,7 @@ abstract class CommonObjectLine extends CommonObject { global $langs; - if (!$this->fk_unit) { + if (empty($this->fk_unit)) { return ''; } @@ -86,7 +88,8 @@ abstract class CommonObjectLine extends CommonObject $label_type = 'code'; } - $sql = 'select '.$label_type.', code from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit; + $sql = "SELECT ".$label_type.", code from ".MAIN_DB_PREFIX."c_units where rowid = ".((int) $this->fk_unit); + $resql = $this->db->query($sql); if ($resql && $this->db->num_rows($resql) > 0) { $res = $this->db->fetch_array($resql); @@ -98,12 +101,9 @@ abstract class CommonObjectLine extends CommonObject $this->db->free($resql); return $label; } else { - $this->error = $this->db->error().' sql='.$sql; + $this->error = $this->db->lasterror(); dol_syslog(get_class($this)."::getLabelOfUnit Error ".$this->error, LOG_ERR); return -1; } } - // Currently we need function at end of file CommonObject for all object lines. Should find a way to avoid duplicate code. - - // For the moment we use the extends on CommonObject until PHP min is 5.4 so use Traits. } diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index 7b35aad3075..418d103ca09 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -32,8 +32,9 @@ */ class Conf { - /** \public */ - //! To store properties found in conf file + /** + * @var Object Associative array with properties found in conf file + */ public $file; /** @@ -60,29 +61,16 @@ class Conf //! Used to store current menu handler public $standard_menu; // List of activated modules - public $modules = array(); - public $modules_parts = array( - 'css' => array(), - 'js' => array(), - 'tabs' => array(), - 'triggers' => array(), - 'login' => array(), - 'substitutions' => array(), - 'menus' => array(), - 'theme' => array(), - 'sms' => array(), - 'tpl' => array(), - 'barcode' => array(), - 'models' => array(), - 'societe' => array(), - 'hooks' => array(), - 'dir' => array(), - 'syslog' => array(), - ); + public $modules; + public $modules_parts; // An array to store cache results ->cache['nameofcache']=... - public $cache = array(); + public $cache; + + /** + * @var string[] + */ public $logbuffer = array(); /** @@ -116,20 +104,41 @@ class Conf // Properly declare multi-modules objects. $this->file = new stdClass(); $this->db = new stdClass(); - $this->global = new stdClass(); - $this->mycompany = new stdClass(); - $this->admin = new stdClass(); - $this->user = new stdClass(); - $this->syslog = new stdClass(); - $this->browser = new stdClass(); - $this->medias = new stdClass(); - $this->multicompany = new stdClass(); - //! Charset for HTML output and for storing data in memory $this->file->character_set_client = 'UTF-8'; // UTF-8, ISO-8859-1 - // First level object + // Common objects that are not modules + $this->mycompany = new stdClass(); + $this->admin = new stdClass(); + $this->browser = new stdClass(); + $this->medias = new stdClass(); + $this->global = new stdClass(); + + $this->cache = array(); + $this->modules = array(); + $this->modules_parts = array( + 'css' => array(), + 'js' => array(), + 'tabs' => array(), + 'triggers' => array(), + 'login' => array(), + 'substitutions' => array(), + 'menus' => array(), + 'theme' => array(), + 'sms' => array(), + 'tpl' => array(), + 'barcode' => array(), + 'models' => array(), + 'societe' => array(), + 'hooks' => array(), + 'dir' => array(), + 'syslog' => array() + ); + + // First level object that are modules. // TODO Remove this part. + $this->syslog = new stdClass(); + $this->multicompany = new stdClass(); $this->expedition_bon = new stdClass(); $this->delivery_note = new stdClass(); $this->fournisseur = new stdClass(); @@ -142,6 +151,7 @@ class Conf $this->propal = new stdClass(); $this->facture = new stdClass(); $this->contrat = new stdClass(); + $this->user = new stdClass(); $this->usergroup = new stdClass(); $this->adherent = new stdClass(); $this->bank = new stdClass(); @@ -171,7 +181,7 @@ class Conf /** * Load setup values into conf object (read llx_const) - * Note that this->db->xxx, this->file->xxx and this->multicompany have been already loaded when setValues is called. + * Note that this->db->xxx, this->file->xxx have been already set when setValues is called. * * @param DoliDB $db Database handler * @return int < 0 if KO, >= 0 if OK @@ -232,748 +242,778 @@ class Conf 'syslog' => array(), ); - //Define all global constants into $this->global->key=value - $sql = "SELECT ".$db->decrypt('name')." as name,"; - $sql .= " ".$db->decrypt('value')." as value, entity"; - $sql .= " FROM ".MAIN_DB_PREFIX."const"; - $sql .= " WHERE entity IN (0,".$this->entity.")"; - $sql .= " ORDER BY entity"; // This is to have entity 0 first, then entity 1 that overwrite. + if (!is_null($db) && is_object($db)) { + // Define all global constants into $this->global->key=value + $sql = "SELECT ".$db->decrypt('name')." as name,"; + $sql .= " ".$db->decrypt('value')." as value, entity"; + $sql .= " FROM ".MAIN_DB_PREFIX."const"; + $sql .= " WHERE entity IN (0,".$this->entity.")"; + $sql .= " ORDER BY entity"; // This is to have entity 0 first, then entity 1 that overwrite. - $resql = $db->query($sql); - if ($resql) { - $i = 0; - $numr = $db->num_rows($resql); - while ($i < $numr) { - $objp = $db->fetch_object($resql); - $key = $objp->name; - $value = $objp->value; - if ($key) { - // Allow constants values to be overridden by environment variables - if (isset($_SERVER['DOLIBARR_'.$key])) { - $value = $_SERVER['DOLIBARR_'.$key]; - } elseif (isset($_ENV['DOLIBARR_'.$key])) { - $value = $_ENV['DOLIBARR_'.$key]; + $resql = $db->query($sql); + if ($resql) { + $i = 0; + $numr = $db->num_rows($resql); + while ($i < $numr) { + $objp = $db->fetch_object($resql); + $key = $objp->name; + $value = $objp->value; + if ($key) { + // Allow constants values to be overridden by environment variables + if (isset($_SERVER['DOLIBARR_'.$key])) { + $value = $_SERVER['DOLIBARR_'.$key]; + } elseif (isset($_ENV['DOLIBARR_'.$key])) { + $value = $_ENV['DOLIBARR_'.$key]; + } + + //if (! defined("$key")) define("$key", $value); // In some cases, the constant might be already forced (Example: SYSLOG_HANDLERS during install) + $this->global->$key = $value; + + if ($value && strpos($key, 'MAIN_MODULE_') === 0) { + $reg = array(); + // If this is constant for a new tab page activated by a module. It initializes modules_parts['tabs']. + if (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_TABS_/i', $key)) { + $partname = 'tabs'; + $params = explode(':', $value, 2); + if (!is_array($this->modules_parts[$partname])) { + $this->modules_parts[$partname] = array(); + } + $this->modules_parts[$partname][$params[0]][] = $value; // $value may be a string or an array + } elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_([A-Z]+)$/i', $key, $reg)) { + // If this is constant for all generic part activated by a module. It initializes + // modules_parts['login'], modules_parts['menus'], modules_parts['substitutions'], modules_parts['triggers'], modules_parts['tpl'], + // modules_parts['models'], modules_parts['theme'] + // modules_parts['sms'], + // modules_parts['css'], modules_parts['js'],... + + $modulename = strtolower($reg[1]); + $partname = strtolower($reg[2]); + if (!isset($this->modules_parts[$partname]) || !is_array($this->modules_parts[$partname])) { + $this->modules_parts[$partname] = array(); + } + + $arrValue = json_decode($value, true); + + if (is_array($arrValue)) { + $newvalue = $arrValue; + } elseif (in_array($partname, array('login', 'menus', 'substitutions', 'triggers', 'tpl'))) { + $newvalue = '/'.$modulename.'/core/'.$partname.'/'; + } elseif (in_array($partname, array('models', 'theme'))) { + $newvalue = '/'.$modulename.'/'; + } elseif (in_array($partname, array('sms'))) { + $newvalue = '/'.$modulename.'/'; + } elseif ($value == 1) { + $newvalue = '/'.$modulename.'/core/modules/'.$partname.'/'; // ex: partname = societe + } else { + $newvalue = $value; + } + + if (!empty($newvalue)) { + $this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $newvalue)); // $value may be a string or an array + } + } elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)$/i', $key, $reg)) { + // If this is a module constant (must be at end) + $modulename = strtolower($reg[1]); + if ($modulename == 'propale') { + $modulename = 'propal'; + } + if ($modulename == 'supplierproposal') { + $modulename = 'supplier_proposal'; + } + if (!isset($this->$modulename) || !is_object($this->$modulename)) { + $this->$modulename = new stdClass(); + } + $this->$modulename->enabled = true; + $this->modules[] = $modulename; // Add this module in list of enabled modules + } + } } + $i++; + } - //if (! defined("$key")) define("$key", $value); // In some cases, the constant might be already forced (Example: SYSLOG_HANDLERS during install) - $this->global->$key = $value; + $db->free($resql); + } - if ($value && strpos($key, 'MAIN_MODULE_') === 0) { - $reg = array(); - // If this is constant for a new tab page activated by a module. It initializes modules_parts['tabs']. - if (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_TABS_/i', $key)) { - $partname = 'tabs'; - $params = explode(':', $value, 2); - if (!is_array($this->modules_parts[$partname])) { - $this->modules_parts[$partname] = array(); - } - $this->modules_parts[$partname][$params[0]][] = $value; // $value may be a string or an array - } elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_([A-Z]+)$/i', $key, $reg)) { - // If this is constant for all generic part activated by a module. It initializes - // modules_parts['login'], modules_parts['menus'], modules_parts['substitutions'], modules_parts['triggers'], modules_parts['tpl'], - // modules_parts['models'], modules_parts['theme'] - // modules_parts['sms'], - // modules_parts['css'], ... + // Include other local consts.php files and fetch their values to the corresponding database constants. + if (!empty($this->global->LOCAL_CONSTS_FILES)) { + $filesList = explode(":", $this->global->LOCAL_CONSTS_FILES); + foreach ($filesList as $file) { + $file = dol_sanitizeFileName($file); + dol_include_once($file."/".$file."_consts.php"); // This file can run code like setting $this->global->XXX vars. + } + } - $modulename = strtolower($reg[1]); - $partname = strtolower($reg[2]); - if (!isset($this->modules_parts[$partname]) || !is_array($this->modules_parts[$partname])) { - $this->modules_parts[$partname] = array(); + //var_dump($this->modules); + //var_dump($this->modules_parts['theme']); + + // If you can't set timezone of your PHP, set this constant. Better is to set it to UTC. + // In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. + //$this->global->MAIN_SERVER_TZ='Europe/Paris'; + if (!empty($this->global->MAIN_SERVER_TZ) && $this->global->MAIN_SERVER_TZ != 'auto') { + try { + date_default_timezone_set($this->global->MAIN_SERVER_TZ); + } catch (Exception $e) { + dol_syslog("Error: Bad value for parameter MAIN_SERVER_TZ=".$this->global->MAIN_SERVER_TZ, LOG_ERR); + } + } + + // Object $mc + if (!defined('NOREQUIREMC') && !empty($this->multicompany->enabled)) { + global $mc; + $ret = @dol_include_once('/multicompany/class/actions_multicompany.class.php'); + if ($ret) { + $mc = new ActionsMulticompany($db); + $this->mc = $mc; + } + } + + // Clean some variables + if (empty($this->global->MAIN_MENU_STANDARD)) { + $this->global->MAIN_MENU_STANDARD = "eldy_menu.php"; + } + if (empty($this->global->MAIN_MENUFRONT_STANDARD)) { + $this->global->MAIN_MENUFRONT_STANDARD = "eldy_menu.php"; + } + if (empty($this->global->MAIN_MENU_SMARTPHONE)) { + $this->global->MAIN_MENU_SMARTPHONE = "eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones + } + if (empty($this->global->MAIN_MENUFRONT_SMARTPHONE)) { + $this->global->MAIN_MENUFRONT_SMARTPHONE = "eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones + } + if (!isset($this->global->FACTURE_TVAOPTION)) { + $this->global->FACTURE_TVAOPTION = 1; + } + + // Variable globales LDAP + if (empty($this->global->LDAP_FIELD_FULLNAME)) { + $this->global->LDAP_FIELD_FULLNAME = ''; + } + if (!isset($this->global->LDAP_KEY_USERS)) { + $this->global->LDAP_KEY_USERS = $this->global->LDAP_FIELD_FULLNAME; + } + if (!isset($this->global->LDAP_KEY_GROUPS)) { + $this->global->LDAP_KEY_GROUPS = $this->global->LDAP_FIELD_FULLNAME; + } + if (!isset($this->global->LDAP_KEY_CONTACTS)) { + $this->global->LDAP_KEY_CONTACTS = $this->global->LDAP_FIELD_FULLNAME; + } + if (!isset($this->global->LDAP_KEY_MEMBERS)) { + $this->global->LDAP_KEY_MEMBERS = $this->global->LDAP_FIELD_FULLNAME; + } + if (!isset($this->global->LDAP_KEY_MEMBERS_TYPES)) { + $this->global->LDAP_KEY_MEMBERS_TYPES = $this->global->LDAP_FIELD_FULLNAME; + } + + // Load translation object with current language + if (empty($this->global->MAIN_LANG_DEFAULT)) { + $this->global->MAIN_LANG_DEFAULT = "en_US"; + } + + $rootfordata = DOL_DATA_ROOT; + $rootforuser = DOL_DATA_ROOT; + // If multicompany module is enabled, we redefine the root of data + if (!empty($this->multicompany->enabled) && !empty($this->entity) && $this->entity > 1) { + $rootfordata .= '/'.$this->entity; + } + // Set standard temporary folder name or global override + $rootfortemp = empty($this->global->MAIN_TEMP_DIR) ? $rootfordata : $this->global->MAIN_TEMP_DIR; + + // Define default dir_output and dir_temp for directories of modules + foreach ($this->modules as $module) { + //var_dump($module); + // For multicompany sharings + $this->$module->multidir_output = array($this->entity => $rootfordata."/".$module); + $this->$module->multidir_temp = array($this->entity => $rootfortemp."/".$module."/temp"); + // For backward compatibility + $this->$module->dir_output = $rootfordata."/".$module; + $this->$module->dir_temp = $rootfortemp."/".$module."/temp"; + } + + // External modules storage + if (!empty($this->modules_parts['dir'])) { + foreach ($this->modules_parts['dir'] as $module => $dirs) { + if (!empty($this->$module->enabled)) { + foreach ($dirs as $type => $name) { // $type is 'output' or 'temp' + $multidirname = 'multidir_'.$type; + $dirname = 'dir_'.$type; + + if ($type != 'temp') { + // For multicompany sharings + $this->$module->$multidirname = array($this->entity => $rootfordata."/".$name); + + // For backward compatibility + $this->$module->$dirname = $rootfordata."/".$name; + } else { + // For multicompany sharings + $this->$module->$multidirname = array($this->entity => $rootfortemp."/".$name."/temp"); + + // For backward compatibility + $this->$module->$dirname = $rootfortemp."/".$name."/temp"; } - $arrValue = json_decode($value, true); - if (is_array($arrValue) && !empty($arrValue)) { - $value = $arrValue; - } elseif (in_array($partname, array('login', 'menus', 'substitutions', 'triggers', 'tpl'))) { - $value = '/'.$modulename.'/core/'.$partname.'/'; - } elseif (in_array($partname, array('models', 'theme'))) { - $value = '/'.$modulename.'/'; - } elseif (in_array($partname, array('sms'))) { - $value = '/'.$modulename.'/'; - } elseif ($value == 1) { - $value = '/'.$modulename.'/core/modules/'.$partname.'/'; // ex: partname = societe - } - $this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value)); // $value may be a string or an array - } elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)$/i', $key, $reg)) { - // If this is a module constant (must be at end) - $modulename = strtolower($reg[1]); - if ($modulename == 'propale') { - $modulename = 'propal'; - } - if ($modulename == 'supplierproposal') { - $modulename = 'supplier_proposal'; - } - if (!isset($this->$modulename) || !is_object($this->$modulename)) { - $this->$modulename = new stdClass(); - } - $this->$modulename->enabled = true; - $this->modules[] = $modulename; // Add this module in list of enabled modules } } } - $i++; } - $db->free($resql); - } + // For mycompany storage + $this->mycompany->dir_output = $rootfordata."/mycompany"; + $this->mycompany->dir_temp = $rootfortemp."/mycompany/temp"; - // Include other local consts.php files and fetch their values to the corresponding database constants. - if (!empty($this->global->LOCAL_CONSTS_FILES)) { - $filesList = explode(":", $this->global->LOCAL_CONSTS_FILES); - foreach ($filesList as $file) { - $file = dol_sanitizeFileName($file); - dol_include_once($file."/".$file."_consts.php"); // This file can run code like setting $this->global->XXX vars. - } - } + // For admin storage + $this->admin->dir_output = $rootfordata.'/admin'; + $this->admin->dir_temp = $rootfortemp.'/admin/temp'; - //var_dump($this->modules); - //var_dump($this->modules_parts['theme']); - - // If you can't set timezone of your PHP, set this constant. Better is to set it to UTC. - // In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. - //$this->global->MAIN_SERVER_TZ='Europe/Paris'; - if (!empty($this->global->MAIN_SERVER_TZ) && $this->global->MAIN_SERVER_TZ != 'auto') { - try { - date_default_timezone_set($this->global->MAIN_SERVER_TZ); - } catch (Exception $e) { - dol_syslog("Error: Bad value for parameter MAIN_SERVER_TZ=".$this->global->MAIN_SERVER_TZ, LOG_ERR); - } - } - - // Object $mc - if (!defined('NOREQUIREMC') && !empty($this->multicompany->enabled)) { - global $mc; - $ret = @dol_include_once('/multicompany/class/actions_multicompany.class.php'); - if ($ret) { - $mc = new ActionsMulticompany($db); - $this->mc = $mc; - } - } - - // Clean some variables - if (empty($this->global->MAIN_MENU_STANDARD)) { - $this->global->MAIN_MENU_STANDARD = "eldy_menu.php"; - } - if (empty($this->global->MAIN_MENUFRONT_STANDARD)) { - $this->global->MAIN_MENUFRONT_STANDARD = "eldy_menu.php"; - } - if (empty($this->global->MAIN_MENU_SMARTPHONE)) { - $this->global->MAIN_MENU_SMARTPHONE = "eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones - } - if (empty($this->global->MAIN_MENUFRONT_SMARTPHONE)) { - $this->global->MAIN_MENUFRONT_SMARTPHONE = "eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones - } - if (!isset($this->global->FACTURE_TVAOPTION)) { - $this->global->FACTURE_TVAOPTION = 1; - } - - // Variable globales LDAP - if (empty($this->global->LDAP_FIELD_FULLNAME)) { - $this->global->LDAP_FIELD_FULLNAME = ''; - } - if (!isset($this->global->LDAP_KEY_USERS)) { - $this->global->LDAP_KEY_USERS = $this->global->LDAP_FIELD_FULLNAME; - } - if (!isset($this->global->LDAP_KEY_GROUPS)) { - $this->global->LDAP_KEY_GROUPS = $this->global->LDAP_FIELD_FULLNAME; - } - if (!isset($this->global->LDAP_KEY_CONTACTS)) { - $this->global->LDAP_KEY_CONTACTS = $this->global->LDAP_FIELD_FULLNAME; - } - if (!isset($this->global->LDAP_KEY_MEMBERS)) { - $this->global->LDAP_KEY_MEMBERS = $this->global->LDAP_FIELD_FULLNAME; - } - if (!isset($this->global->LDAP_KEY_MEMBERS_TYPES)) { - $this->global->LDAP_KEY_MEMBERS_TYPES = $this->global->LDAP_FIELD_FULLNAME; - } - - // Load translation object with current language - if (empty($this->global->MAIN_LANG_DEFAULT)) { - $this->global->MAIN_LANG_DEFAULT = "en_US"; - } - - $rootfordata = DOL_DATA_ROOT; - $rootforuser = DOL_DATA_ROOT; - // If multicompany module is enabled, we redefine the root of data - if (!empty($this->multicompany->enabled) && !empty($this->entity) && $this->entity > 1) { - $rootfordata .= '/'.$this->entity; - } - // Set standard temporary folder name or global override - $rootfortemp = empty($this->global->MAIN_TEMP_DIR) ? $rootfordata : $this->global->MAIN_TEMP_DIR; - - // Define default dir_output and dir_temp for directories of modules - foreach ($this->modules as $module) { - //var_dump($module); - // For multicompany sharings - $this->$module->multidir_output = array($this->entity => $rootfordata."/".$module); - $this->$module->multidir_temp = array($this->entity => $rootfortemp."/".$module."/temp"); + // For user storage + $this->user->multidir_output = array($this->entity => $rootfordata."/users"); + $this->user->multidir_temp = array($this->entity => $rootfortemp."/users/temp"); // For backward compatibility - $this->$module->dir_output = $rootfordata."/".$module; - $this->$module->dir_temp = $rootfortemp."/".$module."/temp"; - } + $this->user->dir_output = $rootforuser."/users"; + $this->user->dir_temp = $rootfortemp."/users/temp"; - // External modules storage - if (!empty($this->modules_parts['dir'])) { - foreach ($this->modules_parts['dir'] as $module => $dirs) { - if (!empty($this->$module->enabled)) { - foreach ($dirs as $type => $name) { // $type is 'output' or 'temp' - $multidirname = 'multidir_'.$type; - $dirname = 'dir_'.$type; + // For usergroup storage + $this->usergroup->dir_output = $rootforuser."/usergroups"; + $this->usergroup->dir_temp = $rootfortemp."/usergroups/temp"; - if ($type != 'temp') { - // For multicompany sharings - $this->$module->$multidirname = array($this->entity => $rootfordata."/".$name); - - // For backward compatibility - $this->$module->$dirname = $rootfordata."/".$name; - } else { - // For multicompany sharings - $this->$module->$multidirname = array($this->entity => $rootfortemp."/".$name."/temp"); - - // For backward compatibility - $this->$module->$dirname = $rootfortemp."/".$name."/temp"; - } - } - } - } - } - - // For mycompany storage - $this->mycompany->dir_output = $rootfordata."/mycompany"; - $this->mycompany->dir_temp = $rootfortemp."/mycompany/temp"; - - // For admin storage - $this->admin->dir_output = $rootfordata.'/admin'; - $this->admin->dir_temp = $rootfortemp.'/admin/temp'; - - // For user storage - $this->user->multidir_output = array($this->entity => $rootfordata."/users"); - $this->user->multidir_temp = array($this->entity => $rootfortemp."/users/temp"); - // For backward compatibility - $this->user->dir_output = $rootforuser."/users"; - $this->user->dir_temp = $rootfortemp."/users/temp"; - - // For usergroup storage - $this->usergroup->dir_output = $rootforuser."/usergroups"; - $this->usergroup->dir_temp = $rootfortemp."/usergroups/temp"; - - // For proposal storage - $this->propal->multidir_output = array($this->entity => $rootfordata."/propale"); - $this->propal->multidir_temp = array($this->entity => $rootfortemp."/propale/temp"); - // For backward compatibility - $this->propal->dir_output = $rootfordata."/propale"; - $this->propal->dir_temp = $rootfortemp."/propale/temp"; - - // For medias storage - $this->medias->multidir_output = array($this->entity => $rootfordata."/medias"); - $this->medias->multidir_temp = array($this->entity => $rootfortemp."/medias/temp"); - - // Exception: Some dir are not the name of module. So we keep exception here for backward compatibility. - - // Sous module bons d'expedition - $this->expedition_bon->enabled = (!empty($this->global->MAIN_SUBMODULE_EXPEDITION) ? $this->global->MAIN_SUBMODULE_EXPEDITION : 0); - // Sub module delivery note Sous module bons de livraison - $this->delivery_note->enabled = (!empty($this->global->MAIN_SUBMODULE_DELIVERY) ? $this->global->MAIN_SUBMODULE_DELIVERY : 0); - - // Module fournisseur - if (!empty($this->fournisseur)) { - $this->fournisseur->commande = new stdClass(); - $this->fournisseur->commande->multidir_output = array($this->entity => $rootfordata."/fournisseur/commande"); - $this->fournisseur->commande->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/commande/temp"); - $this->fournisseur->commande->dir_output = $rootfordata."/fournisseur/commande"; // For backward compatibility - $this->fournisseur->commande->dir_temp = $rootfortemp."/fournisseur/commande/temp"; // For backward compatibility - - $this->fournisseur->facture = new stdClass(); - $this->fournisseur->facture->multidir_output = array($this->entity => $rootfordata."/fournisseur/facture"); - $this->fournisseur->facture->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/facture/temp"); - $this->fournisseur->facture->dir_output = $rootfordata."/fournisseur/facture"; // For backward compatibility - $this->fournisseur->facture->dir_temp = $rootfortemp."/fournisseur/facture/temp"; // For backward compatibility - - $this->supplierproposal = new stdClass(); - $this->supplierproposal->multidir_output = array($this->entity => $rootfordata."/supplier_proposal"); - $this->supplierproposal->multidir_temp = array($this->entity => $rootfortemp."/supplier_proposal/temp"); - $this->supplierproposal->dir_output = $rootfordata."/supplier_proposal"; // For backward compatibility - $this->supplierproposal->dir_temp = $rootfortemp."/supplier_proposal/temp"; // For backward compatibility - - $this->fournisseur->payment = new stdClass(); - $this->fournisseur->payment->multidir_output = array($this->entity => $rootfordata."/fournisseur/payment"); - $this->fournisseur->payment->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/payment/temp"); - $this->fournisseur->payment->dir_output = $rootfordata."/fournisseur/payment"; // For backward compatibility - $this->fournisseur->payment->dir_temp = $rootfortemp."/fournisseur/payment/temp"; // For backward compatibility - - // To prepare split of module fournisseur into module 'fournisseur' + supplier_order + supplier_invoice - if (!empty($this->fournisseur->enabled) && empty($this->global->MAIN_USE_NEW_SUPPLIERMOD)) { // By default, if module supplier is on, and we don't use yet the new modules, we set artificially the module properties - $this->supplier_order = new stdClass(); - $this->supplier_order->enabled = 1; - $this->supplier_order->multidir_output = array($this->entity => $rootfordata."/fournisseur/commande"); - $this->supplier_order->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/commande/temp"); - $this->supplier_order->dir_output = $rootfordata."/fournisseur/commande"; // For backward compatibility - $this->supplier_order->dir_temp = $rootfortemp."/fournisseur/commande/temp"; // For backward compatibility - - $this->supplier_invoice = new stdClass(); - $this->supplier_invoice->enabled = 1; - $this->supplier_invoice->multidir_output = array($this->entity => $rootfordata."/fournisseur/facture"); - $this->supplier_invoice->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/facture/temp"); - $this->supplier_invoice->dir_output = $rootfordata."/fournisseur/facture"; // For backward compatibility - $this->supplier_invoice->dir_temp = $rootfortemp."/fournisseur/facture/temp"; // For backward compatibility - } - } - - // Module product/service - $this->product->multidir_output = array($this->entity => $rootfordata."/produit"); - $this->product->multidir_temp = array($this->entity => $rootfortemp."/produit/temp"); - $this->service->multidir_output = array($this->entity => $rootfordata."/produit"); - $this->service->multidir_temp = array($this->entity => $rootfortemp."/produit/temp"); - // For backward compatibility - $this->product->dir_output = $rootfordata."/produit"; - $this->product->dir_temp = $rootfortemp."/produit/temp"; - $this->service->dir_output = $rootfordata."/produit"; - $this->service->dir_temp = $rootfortemp."/produit/temp"; - - // Module productbatch - $this->productbatch->multidir_output = array($this->entity => $rootfordata."/productlot"); - $this->productbatch->multidir_temp = array($this->entity => $rootfortemp."/productlot/temp"); - - // Module contrat - $this->contrat->multidir_output = array($this->entity => $rootfordata."/contract"); - $this->contrat->multidir_temp = array($this->entity => $rootfortemp."/contract/temp"); - // For backward compatibility - $this->contrat->dir_output = $rootfordata."/contract"; - $this->contrat->dir_temp = $rootfortemp."/contract/temp"; - - // Module bank - $this->bank->multidir_output = array($this->entity => $rootfordata."/bank"); - $this->bank->multidir_temp = array($this->entity => $rootfortemp."/bank/temp"); - // For backward compatibility - $this->bank->dir_output = $rootfordata."/bank"; - $this->bank->dir_temp = $rootfortemp."/bank/temp"; - - // Set some default values - //$this->global->MAIN_LIST_FILTER_ON_DAY=1; // On filter that show date, we must show input field for day before or after month - $this->global->MAIN_MAIL_USE_MULTI_PART = 1; - - // societe - if (empty($this->global->SOCIETE_CODECLIENT_ADDON)) { - $this->global->SOCIETE_CODECLIENT_ADDON = "mod_codeclient_leopard"; - } - if (empty($this->global->SOCIETE_CODECOMPTA_ADDON)) { - $this->global->SOCIETE_CODECOMPTA_ADDON = "mod_codecompta_panicum"; - } - - if (empty($this->global->CHEQUERECEIPTS_ADDON)) { - $this->global->CHEQUERECEIPTS_ADDON = 'mod_chequereceipt_mint'; - } - if (empty($this->global->TICKET_ADDON)) { - $this->global->TICKET_ADDON = 'mod_ticket_simple'; - } - - // Security - if (empty($this->global->USER_PASSWORD_GENERATED)) { - $this->global->USER_PASSWORD_GENERATED = 'standard'; // Default password generator - } - if (empty($this->global->MAIN_UMASK)) { - $this->global->MAIN_UMASK = '0664'; // Default mask - } - - // conf->use_javascript_ajax - $this->use_javascript_ajax = 1; - if (isset($this->global->MAIN_DISABLE_JAVASCRIPT)) { - $this->use_javascript_ajax = !$this->global->MAIN_DISABLE_JAVASCRIPT; - } - // If no javascript_ajax, Ajax features are disabled. - if (empty($this->use_javascript_ajax)) { - unset($this->global->PRODUIT_USE_SEARCH_TO_SELECT); - unset($this->global->COMPANY_USE_SEARCH_TO_SELECT); - unset($this->global->CONTACT_USE_SEARCH_TO_SELECT); - unset($this->global->PROJECT_USE_SEARCH_TO_SELECT); - } - - if (!empty($this->productbatch->enabled)) { - $this->global->STOCK_CALCULATE_ON_BILL = 0; - $this->global->STOCK_CALCULATE_ON_VALIDATE_ORDER = 0; - $this->global->STOCK_CALCULATE_ON_SHIPMENT = 1; - $this->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE = 0; - $this->global->STOCK_CALCULATE_ON_SUPPLIER_BILL = 0; - $this->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER = 0; - if (empty($this->reception->enabled)) { - $this->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER = 1; - } else { - $this->global->STOCK_CALCULATE_ON_RECEPTION = 1; - $this->global->STOCK_CALCULATE_ON_RECEPTION_CLOSE = 0; - } - } - - if (!isset($this->global->STOCK_SHOW_ALL_BATCH_BY_DEFAULT)) { - $this->global->STOCK_SHOW_ALL_BATCH_BY_DEFAULT = 1; - } - - // conf->currency - if (empty($this->global->MAIN_MONNAIE)) { - $this->global->MAIN_MONNAIE = 'EUR'; - } - $this->currency = $this->global->MAIN_MONNAIE; - - if (empty($this->global->MAIN_BROWSER_NOTIFICATION_FREQUENCY)) { - $this->global->MAIN_BROWSER_NOTIFICATION_FREQUENCY = 30; // Less than 1 minutes to be sure - } - - // conf->global->ACCOUNTING_MODE = Option des modules Comptabilites (simple ou expert). Defini le mode de calcul des etats comptables (CA,...) - if (empty($this->global->ACCOUNTING_MODE)) { - $this->global->ACCOUNTING_MODE = 'RECETTES-DEPENSES'; // By default. Can be 'RECETTES-DEPENSES' ou 'CREANCES-DETTES' - } - - // By default, suppliers objects can be linked to all projects - if (!isset($this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)) { - $this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1; - } - - // By default we enable feature to bill time spent - if (!isset($this->global->PROJECT_BILL_TIME_SPENT)) { - $this->global->PROJECT_BILL_TIME_SPENT = 1; - } - - // MAIN_HTML_TITLE - if (!isset($this->global->MAIN_HTML_TITLE)) { - $this->global->MAIN_HTML_TITLE = 'noapp,thirdpartynameonly,contactnameonly,projectnameonly'; - } - - // conf->liste_limit = constante de taille maximale des listes - if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) { - $this->global->MAIN_SIZE_LISTE_LIMIT = 25; - } - $this->liste_limit = $this->global->MAIN_SIZE_LISTE_LIMIT; - - // conf->product->limit_size = constante de taille maximale des select de produit - if (!isset($this->global->PRODUIT_LIMIT_SIZE)) { - $this->global->PRODUIT_LIMIT_SIZE = 1000; - } - $this->product->limit_size = $this->global->PRODUIT_LIMIT_SIZE; - - // conf->theme et $this->css - if (empty($this->global->MAIN_THEME)) { - $this->global->MAIN_THEME = "eldy"; - } - if (!empty($this->global->MAIN_FORCETHEME)) { - $this->global->MAIN_THEME = $this->global->MAIN_FORCETHEME; - } - $this->theme = $this->global->MAIN_THEME; - $this->css = "/theme/".$this->theme."/style.css.php"; - - // conf->email_from = email pour envoi par dolibarr des mails automatiques - $this->email_from = "robot@example.com"; - if (!empty($this->global->MAIN_MAIL_EMAIL_FROM)) { - $this->email_from = $this->global->MAIN_MAIL_EMAIL_FROM; - } - - // conf->notification->email_from = email pour envoi par Dolibarr des notifications - $this->notification->email_from = $this->email_from; - if (!empty($this->global->NOTIFICATION_EMAIL_FROM)) { - $this->notification->email_from = $this->global->NOTIFICATION_EMAIL_FROM; - } - - // conf->mailing->email_from = email pour envoi par Dolibarr des mailings - $this->mailing->email_from = $this->email_from; - if (!empty($this->global->MAILING_EMAIL_FROM)) { - $this->mailing->email_from = $this->global->MAILING_EMAIL_FROM; - } - if (!isset($this->global->MAIN_EMAIL_ADD_TRACK_ID)) { - $this->global->MAIN_EMAIL_ADD_TRACK_ID = 1; - } - - if (!isset($this->global->MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP)) { - $this->global->MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP = 1; - } - - // Format for date (used by default when not found or not searched in lang) - $this->format_date_short = "%d/%m/%Y"; // Format of day with PHP/C tags (strftime functions) - $this->format_date_short_java = "dd/MM/yyyy"; // Format of day with Java tags - $this->format_hour_short = "%H:%M"; - $this->format_hour_short_duration = "%H:%M"; - $this->format_date_text_short = "%d %b %Y"; - $this->format_date_text = "%d %B %Y"; - $this->format_date_hour_short = "%d/%m/%Y %H:%M"; - $this->format_date_hour_sec_short = "%d/%m/%Y %H:%M:%S"; - $this->format_date_hour_text_short = "%d %b %Y %H:%M"; - $this->format_date_hour_text = "%d %B %Y %H:%M"; - - // Duration of workday - if (!isset($this->global->MAIN_DURATION_OF_WORKDAY)) { - $this->global->MAIN_DURATION_OF_WORKDAY = 86400; - } - - // Limites decimales si non definie (peuvent etre egale a 0) - if (!isset($this->global->MAIN_MAX_DECIMALS_UNIT)) { - $this->global->MAIN_MAX_DECIMALS_UNIT = 5; - } - if (!isset($this->global->MAIN_MAX_DECIMALS_TOT)) { - $this->global->MAIN_MAX_DECIMALS_TOT = 2; - } - if (!isset($this->global->MAIN_MAX_DECIMALS_SHOWN)) { - $this->global->MAIN_MAX_DECIMALS_SHOWN = 8; - } - - // Default pdf option - if (!isset($this->global->MAIN_PDF_DASH_BETWEEN_LINES)) { - $this->global->MAIN_PDF_DASH_BETWEEN_LINES = 1; // use dash between lines - } - if (!isset($this->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { - $this->global->PDF_ALLOW_HTML_FOR_FREE_TEXT = 1; // allow html content into free footer text - } - - // Default max file size for upload - $this->maxfilesize = (empty($this->global->MAIN_UPLOAD_DOC) ? 0 : (int) $this->global->MAIN_UPLOAD_DOC * 1024); - - // By default, we propagate contacts - if (!isset($this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) { - $this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN = '*'; // Can be also '*' or '^(BILLING|SHIPPING|CUSTOMER|.*)$' (regex not yet implemented) - } - - // By default, we do not use the zip town table but the table of third parties - if (!isset($this->global->MAIN_USE_ZIPTOWN_DICTIONNARY)) { - $this->global->MAIN_USE_ZIPTOWN_DICTIONNARY = 0; - } - - // By default, we open card if one found - if (!isset($this->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) { - $this->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE = 1; - } - - // By default, we show state code in combo list - if (!isset($this->global->MAIN_SHOW_STATE_CODE)) { - $this->global->MAIN_SHOW_STATE_CODE = 1; - } - - // Use a SCA ready workflow with Stripe module (STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION by default if nothing defined) - if (!isset($this->global->STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION) && empty($this->global->STRIPE_USE_NEW_CHECKOUT)) { - $this->global->STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION = 1; - } - - // Define list of limited modules (value must be key found for "name" property of module, so for example 'supplierproposal' for Module "Supplier Proposal" - if (!isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) { - $this->global->MAIN_MODULES_FOR_EXTERNAL = 'user,societe,propal,commande,facture,categorie,supplierproposal,fournisseur,contact,projet,contrat,ficheinter,expedition,agenda,resource,adherent,blockedlog'; // '' means 'all'. Note that contact is added here as it should be a module later. - } - if (!empty($this->modules_parts['moduleforexternal'])) { // Module part to include an external module into the MAIN_MODULES_FOR_EXTERNAL list - foreach ($this->modules_parts['moduleforexternal'] as $key => $value) { - $this->global->MAIN_MODULES_FOR_EXTERNAL .= ",".$key; - } - } - - // Enable select2 - if (empty($this->global->MAIN_USE_JQUERY_MULTISELECT) || $this->global->MAIN_USE_JQUERY_MULTISELECT == '1') { - $this->global->MAIN_USE_JQUERY_MULTISELECT = 'select2'; - } - - // Timeouts - if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) { - $this->global->MAIN_USE_CONNECT_TIMEOUT = 10; - } - if (empty($this->global->MAIN_USE_RESPONSE_TIMEOUT)) { - $this->global->MAIN_USE_RESPONSE_TIMEOUT = 30; - } - - // Set default variable to calculate VAT as if option tax_mode was 0 (standard) - if (empty($this->global->TAX_MODE_SELL_PRODUCT)) { - $this->global->TAX_MODE_SELL_PRODUCT = 'invoice'; - } - if (empty($this->global->TAX_MODE_BUY_PRODUCT)) { - $this->global->TAX_MODE_BUY_PRODUCT = 'invoice'; - } - if (empty($this->global->TAX_MODE_SELL_SERVICE)) { - $this->global->TAX_MODE_SELL_SERVICE = 'payment'; - } - if (empty($this->global->TAX_MODE_BUY_SERVICE)) { - $this->global->TAX_MODE_BUY_SERVICE = 'payment'; - } - - // Delay before warnings - // Avoid strict errors. TODO: Replace xxx->warning_delay with a property ->warning_delay_xxx - if (isset($this->agenda)) { - $this->adherent->subscription = new stdClass(); - $this->adherent->subscription->warning_delay = (isset($this->global->MAIN_DELAY_MEMBERS) ? $this->global->MAIN_DELAY_MEMBERS : 0) * 86400; - } - if (isset($this->agenda)) { - $this->agenda->warning_delay = (isset($this->global->MAIN_DELAY_ACTIONS_TODO) ? $this->global->MAIN_DELAY_ACTIONS_TODO : 7) * 86400; - } - if (isset($this->projet)) { - $this->projet->warning_delay = (isset($this->global->MAIN_DELAY_PROJECT_TO_CLOSE) ? $this->global->MAIN_DELAY_PROJECT_TO_CLOSE : 7) * 86400; - $this->projet->task = new StdClass(); - $this->projet->task->warning_delay = (isset($this->global->MAIN_DELAY_TASKS_TODO) ? $this->global->MAIN_DELAY_TASKS_TODO : 7) * 86400; - } - - if (isset($this->commande)) { - $this->commande->client = new stdClass(); - $this->commande->fournisseur = new stdClass(); - $this->commande->client->warning_delay = (isset($this->global->MAIN_DELAY_ORDERS_TO_PROCESS) ? $this->global->MAIN_DELAY_ORDERS_TO_PROCESS : 2) * 86400; - $this->commande->fournisseur->warning_delay = (isset($this->global->MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS) ? $this->global->MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS : 7) * 86400; - } - if (isset($this->propal)) { - $this->propal->cloture = new stdClass(); - $this->propal->facturation = new stdClass(); - $this->propal->cloture->warning_delay = (isset($this->global->MAIN_DELAY_PROPALS_TO_CLOSE) ? $this->global->MAIN_DELAY_PROPALS_TO_CLOSE : 0) * 86400; - $this->propal->facturation->warning_delay = (isset($this->global->MAIN_DELAY_PROPALS_TO_BILL) ? $this->global->MAIN_DELAY_PROPALS_TO_BILL : 0) * 86400; - } - if (isset($this->facture)) { - $this->facture->client = new stdClass(); - $this->facture->fournisseur = new stdClass(); - $this->facture->client->warning_delay = (isset($this->global->MAIN_DELAY_CUSTOMER_BILLS_UNPAYED) ? $this->global->MAIN_DELAY_CUSTOMER_BILLS_UNPAYED : 0) * 86400; - $this->facture->fournisseur->warning_delay = (isset($this->global->MAIN_DELAY_SUPPLIER_BILLS_TO_PAY) ? $this->global->MAIN_DELAY_SUPPLIER_BILLS_TO_PAY : 0) * 86400; - } - if (isset($this->contrat)) { - $this->contrat->services = new stdClass(); - $this->contrat->services->inactifs = new stdClass(); - $this->contrat->services->expires = new stdClass(); - $this->contrat->services->inactifs->warning_delay = (isset($this->global->MAIN_DELAY_NOT_ACTIVATED_SERVICES) ? $this->global->MAIN_DELAY_NOT_ACTIVATED_SERVICES : 0) * 86400; - $this->contrat->services->expires->warning_delay = (isset($this->global->MAIN_DELAY_RUNNING_SERVICES) ? $this->global->MAIN_DELAY_RUNNING_SERVICES : 0) * 86400; - } - if (isset($this->commande)) { - $this->bank->rappro = new stdClass(); - $this->bank->cheque = new stdClass(); - $this->bank->rappro->warning_delay = (isset($this->global->MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE) ? $this->global->MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE : 0) * 86400; - $this->bank->cheque->warning_delay = (isset($this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT) ? $this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT : 0) * 86400; - } - if (isset($this->expensereport)) { - $this->expensereport->approve = new stdClass(); - $this->expensereport->approve->warning_delay = (isset($this->global->MAIN_DELAY_EXPENSEREPORTS) ? $this->global->MAIN_DELAY_EXPENSEREPORTS : 0) * 86400; - $this->expensereport->payment = new stdClass(); - $this->expensereport->payment->warning_delay = (isset($this->global->MAIN_DELAY_EXPENSEREPORTS_TO_PAY) ? $this->global->MAIN_DELAY_EXPENSEREPORTS_TO_PAY : 0) * 86400; - } - if (isset($this->holiday)) { - $this->holiday->approve = new stdClass(); - $this->holiday->approve->warning_delay = (isset($this->global->MAIN_DELAY_HOLIDAYS) ? $this->global->MAIN_DELAY_HOLIDAYS : 0) * 86400; - } - - if (!empty($this->global->PRODUIT_MULTIPRICES) && empty($this->global->PRODUIT_MULTIPRICES_LIMIT)) { - $this->global->PRODUIT_MULTIPRICES_LIMIT = 5; - } - - // For modules that want to disable top or left menu - if (!empty($this->global->MAIN_HIDE_TOP_MENU)) { - $this->dol_hide_topmenu = $this->global->MAIN_HIDE_TOP_MENU; - } - if (!empty($this->global->MAIN_HIDE_LEFT_MENU)) { - $this->dol_hide_leftmenu = $this->global->MAIN_HIDE_LEFT_MENU; - } - - if (empty($this->global->MAIN_SIZE_SHORTLIST_LIMIT)) { - $this->global->MAIN_SIZE_SHORTLIST_LIMIT = 3; - } - - if (!isset($this->global->THEME_HIDE_BORDER_ON_INPUT)) { - $this->global->THEME_HIDE_BORDER_ON_INPUT = 0; - } - - // Save inconsistent option - if (empty($this->global->AGENDA_USE_EVENT_TYPE) && (!isset($this->global->AGENDA_DEFAULT_FILTER_TYPE) || $this->global->AGENDA_DEFAULT_FILTER_TYPE == 'AC_NON_AUTO')) { - $this->global->AGENDA_DEFAULT_FILTER_TYPE = '0'; // 'AC_NON_AUTO' does not exists when AGENDA_DEFAULT_FILTER_TYPE is not on. - } - - if (!isset($this->global->MAIN_JS_GRAPH)) { - $this->global->MAIN_JS_GRAPH = 'chart'; // Use chart.js library - } - - if (empty($this->global->MAIN_MODULE_DOLISTORE_API_SRV)) { - $this->global->MAIN_MODULE_DOLISTORE_API_SRV = 'https://www.dolistore.com'; - } - if (empty($this->global->MAIN_MODULE_DOLISTORE_API_KEY)) { - $this->global->MAIN_MODULE_DOLISTORE_API_KEY = 'dolistorecatalogpublickey1234567'; - } - - // If we are in develop mode, we activate the option MAIN_SECURITY_CSRF_WITH_TOKEN to 1 if not already defined. - if (!isset($this->global->MAIN_SECURITY_CSRF_WITH_TOKEN) && $this->global->MAIN_FEATURES_LEVEL >= 2) { - $this->global->MAIN_SECURITY_CSRF_WITH_TOKEN = 1; - } - - if (defined('MAIN_ANTIVIRUS_COMMAND')) { - $this->global->MAIN_ANTIVIRUS_COMMAND = constant('MAIN_ANTIVIRUS_COMMAND'); - } - if (defined('MAIN_ANTIVIRUS_PARAM')) { - $this->global->MAIN_ANTIVIRUS_PARAM = constant('MAIN_ANTIVIRUS_PARAM'); - } - - if (!empty($this->global->MAIN_TZUSERINPUTKEY)) { - $this->tzuserinputkey = $this->global->MAIN_TZUSERINPUTKEY; // 'tzserver' or 'tzuserrel' - } - - if (!empty($this->global->PRODUIT_AUTOFILL_DESC)) { - $this->global->MAIN_NO_CONCAT_DESCRIPTION = 1; - } else { - unset($this->global->MAIN_NO_CONCAT_DESCRIPTION); - } - - // product is new use - if (isset($this->product)) { + // For proposal storage + $this->propal->multidir_output = array($this->entity => $rootfordata."/propale"); + $this->propal->multidir_temp = array($this->entity => $rootfortemp."/propale/temp"); // For backward compatibility - $this->produit = $this->product; - } - // invoice is new use, facture is old use still initialised - if (isset($this->facture)) { - $this->invoice = $this->facture; - } - // order is new use, commande is old use still initialised - if (isset($this->commande)) { - $this->order = $this->commande; - } - // contract is new use, contrat is old use still initialised - if (isset($this->contrat)) { - $this->contract = $this->contrat; - } - // category is new use, categorie is old use still initialised - if (isset($this->categorie)) { - $this->category = $this->categorie; - } - // project is new use, projet is old use still initialised - if (isset($this->projet) && !isset($this->project)) { - $this->project = $this->projet; - } - // member is new use, adherent is old use still initialised - if (isset($this->adherent) && !isset($this->member)) { - $this->member = $this->adherent; - } + $this->propal->dir_output = $rootfordata."/propale"; + $this->propal->dir_temp = $rootfortemp."/propale/temp"; - // Object $mc - if (!defined('NOREQUIREMC') && !empty($this->multicompany->enabled)) { - if (is_object($mc)) { - $mc->setValues($this); + // For medias storage + $this->medias->multidir_output = array($this->entity => $rootfordata."/medias"); + $this->medias->multidir_temp = array($this->entity => $rootfortemp."/medias/temp"); + + // Exception: Some dir are not the name of module. So we keep exception here for backward compatibility. + + // Sous module bons d'expedition + $this->expedition_bon->enabled = (!empty($this->global->MAIN_SUBMODULE_EXPEDITION) ? $this->global->MAIN_SUBMODULE_EXPEDITION : 0); + // Sub module delivery note Sous module bons de livraison + $this->delivery_note->enabled = (!empty($this->global->MAIN_SUBMODULE_DELIVERY) ? $this->global->MAIN_SUBMODULE_DELIVERY : 0); + + // Module fournisseur + if (!empty($this->fournisseur)) { + $this->fournisseur->commande = new stdClass(); + $this->fournisseur->commande->multidir_output = array($this->entity => $rootfordata."/fournisseur/commande"); + $this->fournisseur->commande->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/commande/temp"); + $this->fournisseur->commande->dir_output = $rootfordata."/fournisseur/commande"; // For backward compatibility + $this->fournisseur->commande->dir_temp = $rootfortemp."/fournisseur/commande/temp"; // For backward compatibility + + $this->fournisseur->facture = new stdClass(); + $this->fournisseur->facture->multidir_output = array($this->entity => $rootfordata."/fournisseur/facture"); + $this->fournisseur->facture->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/facture/temp"); + $this->fournisseur->facture->dir_output = $rootfordata."/fournisseur/facture"; // For backward compatibility + $this->fournisseur->facture->dir_temp = $rootfortemp."/fournisseur/facture/temp"; // For backward compatibility + + $this->supplierproposal = new stdClass(); + $this->supplierproposal->multidir_output = array($this->entity => $rootfordata."/supplier_proposal"); + $this->supplierproposal->multidir_temp = array($this->entity => $rootfortemp."/supplier_proposal/temp"); + $this->supplierproposal->dir_output = $rootfordata."/supplier_proposal"; // For backward compatibility + $this->supplierproposal->dir_temp = $rootfortemp."/supplier_proposal/temp"; // For backward compatibility + + $this->fournisseur->payment = new stdClass(); + $this->fournisseur->payment->multidir_output = array($this->entity => $rootfordata."/fournisseur/payment"); + $this->fournisseur->payment->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/payment/temp"); + $this->fournisseur->payment->dir_output = $rootfordata."/fournisseur/payment"; // For backward compatibility + $this->fournisseur->payment->dir_temp = $rootfortemp."/fournisseur/payment/temp"; // For backward compatibility + + // To prepare split of module fournisseur into module 'fournisseur' + supplier_order + supplier_invoice + if (!empty($this->fournisseur->enabled) && empty($this->global->MAIN_USE_NEW_SUPPLIERMOD)) { // By default, if module supplier is on, and we don't use yet the new modules, we set artificially the module properties + $this->supplier_order = new stdClass(); + $this->supplier_order->enabled = 1; + $this->supplier_order->multidir_output = array($this->entity => $rootfordata."/fournisseur/commande"); + $this->supplier_order->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/commande/temp"); + $this->supplier_order->dir_output = $rootfordata."/fournisseur/commande"; // For backward compatibility + $this->supplier_order->dir_temp = $rootfortemp."/fournisseur/commande/temp"; // For backward compatibility + + $this->supplier_invoice = new stdClass(); + $this->supplier_invoice->enabled = 1; + $this->supplier_invoice->multidir_output = array($this->entity => $rootfordata."/fournisseur/facture"); + $this->supplier_invoice->multidir_temp = array($this->entity => $rootfortemp."/fournisseur/facture/temp"); + $this->supplier_invoice->dir_output = $rootfordata."/fournisseur/facture"; // For backward compatibility + $this->supplier_invoice->dir_temp = $rootfortemp."/fournisseur/facture/temp"; // For backward compatibility + } } - } - if (!empty($this->syslog->enabled)) { - // We init log handlers - if (!empty($this->global->SYSLOG_HANDLERS)) { - $handlers = json_decode($this->global->SYSLOG_HANDLERS); + // Module product/service + $this->product->multidir_output = array($this->entity => $rootfordata."/produit"); + $this->product->multidir_temp = array($this->entity => $rootfortemp."/produit/temp"); + $this->service->multidir_output = array($this->entity => $rootfordata."/produit"); + $this->service->multidir_temp = array($this->entity => $rootfortemp."/produit/temp"); + // For backward compatibility + $this->product->dir_output = $rootfordata."/produit"; + $this->product->dir_temp = $rootfortemp."/produit/temp"; + $this->service->dir_output = $rootfordata."/produit"; + $this->service->dir_temp = $rootfortemp."/produit/temp"; + + // Module productbatch + $this->productbatch->multidir_output = array($this->entity => $rootfordata."/productlot"); + $this->productbatch->multidir_temp = array($this->entity => $rootfortemp."/productlot/temp"); + + // Module contrat + $this->contrat->multidir_output = array($this->entity => $rootfordata."/contract"); + $this->contrat->multidir_temp = array($this->entity => $rootfortemp."/contract/temp"); + // For backward compatibility + $this->contrat->dir_output = $rootfordata."/contract"; + $this->contrat->dir_temp = $rootfortemp."/contract/temp"; + + // Module bank + $this->bank->multidir_output = array($this->entity => $rootfordata."/bank"); + $this->bank->multidir_temp = array($this->entity => $rootfortemp."/bank/temp"); + // For backward compatibility + $this->bank->dir_output = $rootfordata."/bank"; + $this->bank->dir_temp = $rootfortemp."/bank/temp"; + + // Set some default values + //$this->global->MAIN_LIST_FILTER_ON_DAY=1; // On filter that show date, we must show input field for day before or after month + $this->global->MAIN_MAIL_USE_MULTI_PART = 1; + + // societe + if (empty($this->global->SOCIETE_CODECLIENT_ADDON)) { + $this->global->SOCIETE_CODECLIENT_ADDON = "mod_codeclient_leopard"; + } + if (empty($this->global->SOCIETE_CODECOMPTA_ADDON)) { + $this->global->SOCIETE_CODECOMPTA_ADDON = "mod_codecompta_panicum"; + } + + if (empty($this->global->CHEQUERECEIPTS_ADDON)) { + $this->global->CHEQUERECEIPTS_ADDON = 'mod_chequereceipt_mint'; + } + if (empty($this->global->TICKET_ADDON)) { + $this->global->TICKET_ADDON = 'mod_ticket_simple'; + } + + // Security + if (empty($this->global->USER_PASSWORD_GENERATED)) { + $this->global->USER_PASSWORD_GENERATED = 'standard'; // Default password generator + } + if (empty($this->global->MAIN_UMASK)) { + $this->global->MAIN_UMASK = '0664'; // Default mask + } + + // conf->use_javascript_ajax + $this->use_javascript_ajax = 1; + if (isset($this->global->MAIN_DISABLE_JAVASCRIPT)) { + $this->use_javascript_ajax = !$this->global->MAIN_DISABLE_JAVASCRIPT; + } + // If no javascript_ajax, Ajax features are disabled. + if (empty($this->use_javascript_ajax)) { + unset($this->global->PRODUIT_USE_SEARCH_TO_SELECT); + unset($this->global->COMPANY_USE_SEARCH_TO_SELECT); + unset($this->global->CONTACT_USE_SEARCH_TO_SELECT); + unset($this->global->PROJECT_USE_SEARCH_TO_SELECT); + } + + if (!empty($this->productbatch->enabled)) { + $this->global->STOCK_CALCULATE_ON_BILL = 0; + $this->global->STOCK_CALCULATE_ON_VALIDATE_ORDER = 0; + $this->global->STOCK_CALCULATE_ON_SHIPMENT = 1; + $this->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE = 0; + $this->global->STOCK_CALCULATE_ON_SUPPLIER_BILL = 0; + $this->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER = 0; + if (empty($this->reception->enabled)) { + $this->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER = 1; + } else { + $this->global->STOCK_CALCULATE_ON_RECEPTION = 1; + $this->global->STOCK_CALCULATE_ON_RECEPTION_CLOSE = 0; + } + } + + if (!isset($this->global->STOCK_SHOW_ALL_BATCH_BY_DEFAULT)) { + $this->global->STOCK_SHOW_ALL_BATCH_BY_DEFAULT = 1; + } + + // conf->currency + if (empty($this->global->MAIN_MONNAIE)) { + $this->global->MAIN_MONNAIE = 'EUR'; + } + $this->currency = $this->global->MAIN_MONNAIE; + + if (empty($this->global->MAIN_BROWSER_NOTIFICATION_FREQUENCY)) { + $this->global->MAIN_BROWSER_NOTIFICATION_FREQUENCY = 30; // Less than 1 minutes to be sure + } + + // conf->global->ACCOUNTING_MODE = Option des modules Comptabilites (simple ou expert). Defini le mode de calcul des etats comptables (CA,...) + if (empty($this->global->ACCOUNTING_MODE)) { + $this->global->ACCOUNTING_MODE = 'RECETTES-DEPENSES'; // By default. Can be 'RECETTES-DEPENSES' ou 'CREANCES-DETTES' + } + + // By default, suppliers objects can be linked to all projects + if (!isset($this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)) { + $this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1; + } + + // By default we enable feature to bill time spent + if (!isset($this->global->PROJECT_BILL_TIME_SPENT)) { + $this->global->PROJECT_BILL_TIME_SPENT = 1; + } + + // MAIN_HTML_TITLE + if (!isset($this->global->MAIN_HTML_TITLE)) { + $this->global->MAIN_HTML_TITLE = 'noapp,thirdpartynameonly,contactnameonly,projectnameonly'; + } + + // conf->liste_limit = constante de taille maximale des listes + if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) { + $this->global->MAIN_SIZE_LISTE_LIMIT = 25; + } + $this->liste_limit = $this->global->MAIN_SIZE_LISTE_LIMIT; + + // conf->product->limit_size = constante de taille maximale des select de produit + if (!isset($this->global->PRODUIT_LIMIT_SIZE)) { + $this->global->PRODUIT_LIMIT_SIZE = 1000; + } + $this->product->limit_size = $this->global->PRODUIT_LIMIT_SIZE; + + // conf->theme et $this->css + if (empty($this->global->MAIN_THEME)) { + $this->global->MAIN_THEME = "eldy"; + } + if (!empty($this->global->MAIN_FORCETHEME)) { + $this->global->MAIN_THEME = $this->global->MAIN_FORCETHEME; + } + $this->theme = $this->global->MAIN_THEME; + $this->css = "/theme/".$this->theme."/style.css.php"; + + // conf->email_from = email pour envoi par dolibarr des mails automatiques + $this->email_from = "robot@example.com"; + if (!empty($this->global->MAIN_MAIL_EMAIL_FROM)) { + $this->email_from = $this->global->MAIN_MAIL_EMAIL_FROM; + } + + // conf->notification->email_from = email pour envoi par Dolibarr des notifications + $this->notification->email_from = $this->email_from; + if (!empty($this->global->NOTIFICATION_EMAIL_FROM)) { + $this->notification->email_from = $this->global->NOTIFICATION_EMAIL_FROM; + } + + // conf->mailing->email_from = email pour envoi par Dolibarr des mailings + $this->mailing->email_from = $this->email_from; + if (!empty($this->global->MAILING_EMAIL_FROM)) { + $this->mailing->email_from = $this->global->MAILING_EMAIL_FROM; + } + + if (!isset($this->global->MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP)) { + $this->global->MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP = 1; + } + + if (!isset($this->global->MAIN_FIX_FOR_BUGGED_MTA)) { + $this->global->MAIN_FIX_FOR_BUGGED_MTA = 1; + } + + // Format for date (used by default when not found or not searched in lang) + $this->format_date_short = "%d/%m/%Y"; // Format of day with PHP/C tags (strftime functions) + $this->format_date_short_java = "dd/MM/yyyy"; // Format of day with Java tags + $this->format_hour_short = "%H:%M"; + $this->format_hour_short_duration = "%H:%M"; + $this->format_date_text_short = "%d %b %Y"; + $this->format_date_text = "%d %B %Y"; + $this->format_date_hour_short = "%d/%m/%Y %H:%M"; + $this->format_date_hour_sec_short = "%d/%m/%Y %H:%M:%S"; + $this->format_date_hour_text_short = "%d %b %Y %H:%M"; + $this->format_date_hour_text = "%d %B %Y %H:%M"; + + // Duration of workday + if (!isset($this->global->MAIN_DURATION_OF_WORKDAY)) { + $this->global->MAIN_DURATION_OF_WORKDAY = 86400; + } + + // Limites decimales si non definie (peuvent etre egale a 0) + if (!isset($this->global->MAIN_MAX_DECIMALS_UNIT)) { + $this->global->MAIN_MAX_DECIMALS_UNIT = 5; + } + if (!isset($this->global->MAIN_MAX_DECIMALS_TOT)) { + $this->global->MAIN_MAX_DECIMALS_TOT = 2; + } + if (!isset($this->global->MAIN_MAX_DECIMALS_SHOWN)) { + $this->global->MAIN_MAX_DECIMALS_SHOWN = 8; + } + + // Default pdf option + if (!isset($this->global->MAIN_PDF_DASH_BETWEEN_LINES)) { + $this->global->MAIN_PDF_DASH_BETWEEN_LINES = 1; // use dash between lines + } + if (!isset($this->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { + $this->global->PDF_ALLOW_HTML_FOR_FREE_TEXT = 1; // allow html content into free footer text + } + + // Default max file size for upload + $this->maxfilesize = (empty($this->global->MAIN_UPLOAD_DOC) ? 0 : (int) $this->global->MAIN_UPLOAD_DOC * 1024); + + // By default, we propagate contacts + if (!isset($this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) { + $this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN = '*'; // Can be also '*' or '^(BILLING|SHIPPING|CUSTOMER|.*)$' (regex not yet implemented) + } + + // By default, we do not use the zip town table but the table of third parties + if (!isset($this->global->MAIN_USE_ZIPTOWN_DICTIONNARY)) { + $this->global->MAIN_USE_ZIPTOWN_DICTIONNARY = 0; + } + + // By default, we open card if one found + if (!isset($this->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE)) { + $this->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE = 1; + } + + // By default, we show state code in combo list + if (!isset($this->global->MAIN_SHOW_STATE_CODE)) { + $this->global->MAIN_SHOW_STATE_CODE = 1; + } + + // Use a SCA ready workflow with Stripe module (STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION by default if nothing defined) + if (!isset($this->global->STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION) && empty($this->global->STRIPE_USE_NEW_CHECKOUT)) { + $this->global->STRIPE_USE_INTENT_WITH_AUTOMATIC_CONFIRMATION = 1; + } + + // Define list of limited modules (value must be key found for "name" property of module, so for example 'supplierproposal' for Module "Supplier Proposal" + if (!isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) { + $this->global->MAIN_MODULES_FOR_EXTERNAL = 'user,societe,propal,commande,facture,categorie,supplierproposal,fournisseur,contact,projet,contrat,ficheinter,expedition,agenda,resource,adherent,blockedlog'; // '' means 'all'. Note that contact is added here as it should be a module later. + } + if (!empty($this->modules_parts['moduleforexternal'])) { // Module part to include an external module into the MAIN_MODULES_FOR_EXTERNAL list + foreach ($this->modules_parts['moduleforexternal'] as $key => $value) { + $this->global->MAIN_MODULES_FOR_EXTERNAL .= ",".$key; + } + } + + // Enable select2 + if (empty($this->global->MAIN_USE_JQUERY_MULTISELECT) || $this->global->MAIN_USE_JQUERY_MULTISELECT == '1') { + $this->global->MAIN_USE_JQUERY_MULTISELECT = 'select2'; + } + + // Timeouts + if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) { + $this->global->MAIN_USE_CONNECT_TIMEOUT = 10; + } + if (empty($this->global->MAIN_USE_RESPONSE_TIMEOUT)) { + $this->global->MAIN_USE_RESPONSE_TIMEOUT = 30; + } + + // Set default variable to calculate VAT as if option tax_mode was 0 (standard) + if (empty($this->global->TAX_MODE_SELL_PRODUCT)) { + $this->global->TAX_MODE_SELL_PRODUCT = 'invoice'; + } + if (empty($this->global->TAX_MODE_BUY_PRODUCT)) { + $this->global->TAX_MODE_BUY_PRODUCT = 'invoice'; + } + if (empty($this->global->TAX_MODE_SELL_SERVICE)) { + $this->global->TAX_MODE_SELL_SERVICE = 'payment'; + } + if (empty($this->global->TAX_MODE_BUY_SERVICE)) { + $this->global->TAX_MODE_BUY_SERVICE = 'payment'; + } + + // Delay before warnings + // Avoid strict errors. TODO: Replace xxx->warning_delay with a property ->warning_delay_xxx + if (isset($this->agenda)) { + $this->adherent->subscription = new stdClass(); + $this->adherent->subscription->warning_delay = (isset($this->global->MAIN_DELAY_MEMBERS) ? $this->global->MAIN_DELAY_MEMBERS : 0) * 86400; + } + if (isset($this->agenda)) { + $this->agenda->warning_delay = (isset($this->global->MAIN_DELAY_ACTIONS_TODO) ? $this->global->MAIN_DELAY_ACTIONS_TODO : 7) * 86400; + } + if (isset($this->projet)) { + $this->projet->warning_delay = (isset($this->global->MAIN_DELAY_PROJECT_TO_CLOSE) ? $this->global->MAIN_DELAY_PROJECT_TO_CLOSE : 7) * 86400; + $this->projet->task = new StdClass(); + $this->projet->task->warning_delay = (isset($this->global->MAIN_DELAY_TASKS_TODO) ? $this->global->MAIN_DELAY_TASKS_TODO : 7) * 86400; + } + + if (isset($this->commande)) { + $this->commande->client = new stdClass(); + $this->commande->fournisseur = new stdClass(); + $this->commande->client->warning_delay = (isset($this->global->MAIN_DELAY_ORDERS_TO_PROCESS) ? $this->global->MAIN_DELAY_ORDERS_TO_PROCESS : 2) * 86400; + $this->commande->fournisseur->warning_delay = (isset($this->global->MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS) ? $this->global->MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS : 7) * 86400; + } + if (isset($this->propal)) { + $this->propal->cloture = new stdClass(); + $this->propal->facturation = new stdClass(); + $this->propal->cloture->warning_delay = (isset($this->global->MAIN_DELAY_PROPALS_TO_CLOSE) ? $this->global->MAIN_DELAY_PROPALS_TO_CLOSE : 0) * 86400; + $this->propal->facturation->warning_delay = (isset($this->global->MAIN_DELAY_PROPALS_TO_BILL) ? $this->global->MAIN_DELAY_PROPALS_TO_BILL : 0) * 86400; + } + if (isset($this->facture)) { + $this->facture->client = new stdClass(); + $this->facture->fournisseur = new stdClass(); + $this->facture->client->warning_delay = (isset($this->global->MAIN_DELAY_CUSTOMER_BILLS_UNPAYED) ? $this->global->MAIN_DELAY_CUSTOMER_BILLS_UNPAYED : 0) * 86400; + $this->facture->fournisseur->warning_delay = (isset($this->global->MAIN_DELAY_SUPPLIER_BILLS_TO_PAY) ? $this->global->MAIN_DELAY_SUPPLIER_BILLS_TO_PAY : 0) * 86400; + } + if (isset($this->contrat)) { + $this->contrat->services = new stdClass(); + $this->contrat->services->inactifs = new stdClass(); + $this->contrat->services->expires = new stdClass(); + $this->contrat->services->inactifs->warning_delay = (isset($this->global->MAIN_DELAY_NOT_ACTIVATED_SERVICES) ? $this->global->MAIN_DELAY_NOT_ACTIVATED_SERVICES : 0) * 86400; + $this->contrat->services->expires->warning_delay = (isset($this->global->MAIN_DELAY_RUNNING_SERVICES) ? $this->global->MAIN_DELAY_RUNNING_SERVICES : 0) * 86400; + } + if (isset($this->commande)) { + $this->bank->rappro = new stdClass(); + $this->bank->cheque = new stdClass(); + $this->bank->rappro->warning_delay = (isset($this->global->MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE) ? $this->global->MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE : 0) * 86400; + $this->bank->cheque->warning_delay = (isset($this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT) ? $this->global->MAIN_DELAY_CHEQUES_TO_DEPOSIT : 0) * 86400; + } + if (isset($this->expensereport)) { + $this->expensereport->approve = new stdClass(); + $this->expensereport->approve->warning_delay = (isset($this->global->MAIN_DELAY_EXPENSEREPORTS) ? $this->global->MAIN_DELAY_EXPENSEREPORTS : 0) * 86400; + $this->expensereport->payment = new stdClass(); + $this->expensereport->payment->warning_delay = (isset($this->global->MAIN_DELAY_EXPENSEREPORTS_TO_PAY) ? $this->global->MAIN_DELAY_EXPENSEREPORTS_TO_PAY : 0) * 86400; + } + if (isset($this->holiday)) { + $this->holiday->approve = new stdClass(); + $this->holiday->approve->warning_delay = (isset($this->global->MAIN_DELAY_HOLIDAYS) ? $this->global->MAIN_DELAY_HOLIDAYS : 0) * 86400; + } + + if (!empty($this->global->PRODUIT_MULTIPRICES) && empty($this->global->PRODUIT_MULTIPRICES_LIMIT)) { + $this->global->PRODUIT_MULTIPRICES_LIMIT = 5; + } + + // For modules that want to disable top or left menu + if (!empty($this->global->MAIN_HIDE_TOP_MENU)) { + $this->dol_hide_topmenu = $this->global->MAIN_HIDE_TOP_MENU; + } + if (!empty($this->global->MAIN_HIDE_LEFT_MENU)) { + $this->dol_hide_leftmenu = $this->global->MAIN_HIDE_LEFT_MENU; + } + + if (empty($this->global->MAIN_SIZE_SHORTLIST_LIMIT)) { + $this->global->MAIN_SIZE_SHORTLIST_LIMIT = 3; + } + + if (!isset($this->global->THEME_HIDE_BORDER_ON_INPUT)) { + $this->global->THEME_HIDE_BORDER_ON_INPUT = 0; + } + + // Save inconsistent option + if (empty($this->global->AGENDA_USE_EVENT_TYPE) && (!isset($this->global->AGENDA_DEFAULT_FILTER_TYPE) || $this->global->AGENDA_DEFAULT_FILTER_TYPE == 'AC_NON_AUTO')) { + $this->global->AGENDA_DEFAULT_FILTER_TYPE = '0'; // 'AC_NON_AUTO' does not exists when AGENDA_DEFAULT_FILTER_TYPE is not on. + } + + if (!isset($this->global->MAIN_JS_GRAPH)) { + $this->global->MAIN_JS_GRAPH = 'chart'; // Use chart.js library + } + + if (empty($this->global->MAIN_MODULE_DOLISTORE_API_SRV)) { + $this->global->MAIN_MODULE_DOLISTORE_API_SRV = 'https://www.dolistore.com'; + } + if (empty($this->global->MAIN_MODULE_DOLISTORE_API_KEY)) { + $this->global->MAIN_MODULE_DOLISTORE_API_KEY = 'dolistorecatalogpublickey1234567'; + } + + // Enable by default the CSRF protection by token. + if (!isset($this->global->MAIN_SECURITY_CSRF_WITH_TOKEN)) { + // Value 1 makes CSRF check for all POST parameters only + // Value 2 makes also CSRF check for GET requests with action = a sensitive requests like action=del, action=remove... + // Value 3 makes also CSRF check for all GET requests with a param action or massaction + $this->global->MAIN_SECURITY_CSRF_WITH_TOKEN = 1; + // Note: Set MAIN_SECURITY_CSRF_TOKEN_RENEWAL_ON_EACH_CALL=1 to have a renewal of token at each page call instead of each session (not recommended) + } + + if (!defined('MAIN_ANTIVIRUS_BYPASS_COMMAND_AND_PARAM')) { + if (defined('MAIN_ANTIVIRUS_COMMAND')) { + $this->global->MAIN_ANTIVIRUS_COMMAND = constant('MAIN_ANTIVIRUS_COMMAND'); + } + if (defined('MAIN_ANTIVIRUS_PARAM')) { + $this->global->MAIN_ANTIVIRUS_PARAM = constant('MAIN_ANTIVIRUS_PARAM'); + } + } + + if (!empty($this->global->MAIN_TZUSERINPUTKEY)) { + $this->tzuserinputkey = $this->global->MAIN_TZUSERINPUTKEY; // 'tzserver' or 'tzuserrel' + } + + if (!empty($this->global->PRODUIT_AUTOFILL_DESC)) { + $this->global->MAIN_NO_CONCAT_DESCRIPTION = 1; } else { - $handlers = array(); + unset($this->global->MAIN_NO_CONCAT_DESCRIPTION); } - foreach ($handlers as $handler) { - $handler_file_found = ''; - $dirsyslogs = array_merge(array('/core/modules/syslog/'), $this->modules_parts['syslog']); - foreach ($dirsyslogs as $reldir) { - $dir = dol_buildpath($reldir, 0); - $newdir = dol_osencode($dir); - if (is_dir($newdir)) { - $file = $newdir.$handler.'.php'; - if (file_exists($file)) { - $handler_file_found = $file; - break; + + // product is new use + if (isset($this->product)) { + // For backward compatibility + $this->produit = $this->product; + } + // invoice is new use, facture is old use still initialised + if (isset($this->facture)) { + $this->invoice = $this->facture; + } + // order is new use, commande is old use still initialised + if (isset($this->commande)) { + $this->order = $this->commande; + } + // contract is new use, contrat is old use still initialised + if (isset($this->contrat)) { + $this->contract = $this->contrat; + } + // category is new use, categorie is old use still initialised + if (isset($this->categorie)) { + $this->category = $this->categorie; + } + // project is new use, projet is old use still initialised + if (isset($this->projet) && !isset($this->project)) { + $this->project = $this->projet; + } + // member is new use, adherent is old use still initialised + if (isset($this->adherent) && !isset($this->member)) { + $this->member = $this->adherent; + } + + // Object $mc + if (!defined('NOREQUIREMC') && !empty($this->multicompany->enabled)) { + if (is_object($mc)) { + $mc->setValues($this); + } + } + + if (!empty($this->syslog->enabled)) { + // We init log handlers + if (!empty($this->global->SYSLOG_HANDLERS)) { + $handlers = json_decode($this->global->SYSLOG_HANDLERS); + } else { + $handlers = array(); + } + foreach ($handlers as $handler) { + $handler_file_found = ''; + $dirsyslogs = array('/core/modules/syslog/'); + if (!empty($this->modules_parts['syslog']) && is_array($this->modules_parts['syslog'])) { + $dirsyslogs = array_merge($dirsyslogs, $this->modules_parts['syslog']); + } + foreach ($dirsyslogs as $reldir) { + $dir = dol_buildpath($reldir, 0); + $newdir = dol_osencode($dir); + if (is_dir($newdir)) { + $file = $newdir.$handler.'.php'; + if (file_exists($file)) { + $handler_file_found = $file; + break; + } } } - } - if (empty($handler_file_found)) { - throw new Exception('Missing log handler file '.$handler.'.php'); - } + if (empty($handler_file_found)) { + throw new Exception('Missing log handler file '.$handler.'.php'); + } - require_once $handler_file_found; - $loghandlerinstance = new $handler(); - if (!$loghandlerinstance instanceof LogHandlerInterface) { - throw new Exception('Log handler does not extend LogHandlerInterface'); - } + require_once $handler_file_found; + $loghandlerinstance = new $handler(); + if (!$loghandlerinstance instanceof LogHandlerInterface) { + throw new Exception('Log handler does not extend LogHandlerInterface'); + } - if (empty($this->loghandlers[$handler])) { - $this->loghandlers[$handler] = $loghandlerinstance; + if (empty($this->loghandlers[$handler])) { + $this->loghandlers[$handler] = $loghandlerinstance; + } } } } + // Overwrite database values from conf into the conf.php file. + if (!empty($this->file->mailing_limit_sendbyweb)) { + $this->global->MAILING_LIMIT_SENDBYWEB = $this->file->mailing_limit_sendbyweb; + } + if (empty($this->global->MAILING_LIMIT_SENDBYWEB)) { + $this->global->MAILING_LIMIT_SENDBYWEB = 25; + } + if (!empty($this->file->mailing_limit_sendbycli)) { + $this->global->MAILING_LIMIT_SENDBYCLI = $this->file->mailing_limit_sendbycli; + } + return 0; } } diff --git a/htdocs/core/class/coreobject.class.php b/htdocs/core/class/coreobject.class.php index 45018cb1d8f..33510186646 100644 --- a/htdocs/core/class/coreobject.class.php +++ b/htdocs/core/class/coreobject.class.php @@ -183,7 +183,7 @@ class CoreObject extends CommonObject $this->{$className} = array(); - $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$childTable.' WHERE '.$this->fk_element.' = '.$this->id; + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX.$childTable." WHERE ".$this->fk_element." = ".((int) $this->id); $res = $this->db->query($sql); if ($res) { diff --git a/htdocs/core/class/cproductnature.class.php b/htdocs/core/class/cproductnature.class.php index 6c3a1f7bb9d..5b343b21dbc 100644 --- a/htdocs/core/class/cproductnature.class.php +++ b/htdocs/core/class/cproductnature.class.php @@ -208,25 +208,25 @@ class CProductNature // extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid' || $key == 't.active' || $key == 't.code') { - $sqlwhere[] = $key.'='.(int) $value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (strpos($key, 'date') !== false) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 't.label') { - $sqlwhere[] = $key.' = \''.$this->db->escape($value).'\''; + $sqlwhere[] = $key." = '".$this->db->escape($value)."'"; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' WHERE ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' WHERE ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); diff --git a/htdocs/core/class/ctyperesource.class.php b/htdocs/core/class/ctyperesource.class.php index b0a604e9e28..891bf6bea10 100644 --- a/htdocs/core/class/ctyperesource.class.php +++ b/htdocs/core/class/ctyperesource.class.php @@ -230,30 +230,27 @@ class Ctyperesource $sql = 'SELECT'; $sql .= ' t.rowid,'; - $sql .= " t.code,"; $sql .= " t.label,"; $sql .= " t.active"; - - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; // Manage filter $sqlwhere = array(); if (count($filter) > 0) { foreach ($filter as $key => $value) { - $sqlwhere [] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } if (count($sqlwhere) > 0) { - $sql .= ' WHERE '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= ' WHERE '.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere); } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); diff --git a/htdocs/core/class/cunits.class.php b/htdocs/core/class/cunits.class.php index 364565af3aa..f2a672ec1a7 100644 --- a/htdocs/core/class/cunits.class.php +++ b/htdocs/core/class/cunits.class.php @@ -251,25 +251,25 @@ class CUnits // extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid' || $key == 't.active' || $key == 't.scale') { - $sqlwhere[] = $key.'='.(int) $value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (strpos($key, 'date') !== false) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 't.unit_type' || $key == 't.code' || $key == 't.short_label') { - $sqlwhere[] = $key.' = \''.$this->db->escape($value).'\''; + $sqlwhere[] = $key." = '".$this->db->escape($value)."'"; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' WHERE ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' WHERE ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); diff --git a/htdocs/core/class/defaultvalues.class.php b/htdocs/core/class/defaultvalues.class.php index 5b49254b275..ad69982357c 100644 --- a/htdocs/core/class/defaultvalues.class.php +++ b/htdocs/core/class/defaultvalues.class.php @@ -264,29 +264,29 @@ class DefaultValues extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid' || ($key == 't.entity' && !is_array($value)) || ($key == 't.user_id' && !is_array($value))) { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (isset($this->fields[$key]) && in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 't.page' || $key == 't.param' || $key == 't.type') { - $sqlwhere[] = $key.' = \''.$this->db->escape($value).'\''; + $sqlwhere[] = $key." = '".$this->db->escape($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } elseif (is_array($value)) { - $sqlwhere[] = $key.' IN ('.$this->db->sanitize(implode(',', $value)).')'; + $sqlwhere[] = $key." IN (".$this->db->sanitize(implode(',', $value)).")"; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' AND ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); diff --git a/htdocs/core/class/discount.class.php b/htdocs/core/class/discount.class.php index 2aa829f4090..46789352bd7 100644 --- a/htdocs/core/class/discount.class.php +++ b/htdocs/core/class/discount.class.php @@ -144,7 +144,7 @@ class DiscountAbsolute $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."facture_fourn as fsup ON sr.fk_invoice_supplier_source = fsup.rowid"; $sql .= " WHERE sr.entity IN (".getEntity('invoice').")"; if ($rowid) { - $sql .= " AND sr.rowid=".((int) $rowid); + $sql .= " AND sr.rowid = ".((int) $rowid); } if ($fk_facture_source) { $sql .= " AND sr.fk_facture_source = ".((int) $fk_facture_source); @@ -315,7 +315,7 @@ class DiscountAbsolute $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except"; $sql .= " WHERE (fk_invoice_supplier_line IS NOT NULL"; // Not used as absolute simple discount $sql .= " OR fk_invoice_supplier IS NOT NULL)"; // Not used as credit note and not used as deposit - $sql .= " AND fk_invoice_supplier_source = ".$this->fk_invoice_supplier_source; + $sql .= " AND fk_invoice_supplier_source = ".((int) $this->fk_invoice_supplier_source); //$sql.=" AND rowid != ".$this->id; dol_syslog(get_class($this)."::delete Check if we can remove discount", LOG_DEBUG); @@ -355,7 +355,7 @@ class DiscountAbsolute if ($this->fk_facture_source) { $sql = "UPDATE ".MAIN_DB_PREFIX."facture"; $sql .= " set paye=0, fk_statut=1"; - $sql .= " WHERE (type = 2 or type = 3) AND rowid=".$this->fk_facture_source; + $sql .= " WHERE (type = 2 or type = 3) AND rowid = ".((int) $this->fk_facture_source); dol_syslog(get_class($this)."::delete Update credit note or deposit invoice statut", LOG_DEBUG); $result = $this->db->query($sql); @@ -370,7 +370,7 @@ class DiscountAbsolute } elseif ($this->fk_invoice_supplier_source) { $sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn"; $sql .= " set paye=0, fk_statut=1"; - $sql .= " WHERE (type = 2 or type = 3) AND rowid=".$this->fk_invoice_supplier_source; + $sql .= " WHERE (type = 2 or type = 3) AND rowid = ".((int) $this->fk_invoice_supplier_source); dol_syslog(get_class($this)."::delete Update credit note or deposit invoice statut", LOG_DEBUG); $result = $this->db->query($sql); @@ -434,7 +434,7 @@ class DiscountAbsolute $sql .= " SET fk_facture = ".((int) $rowidinvoice); } } - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::link_to_invoice", LOG_DEBUG); $resql = $this->db->query($sql); @@ -470,7 +470,7 @@ class DiscountAbsolute } else { $sql .= " SET fk_facture_line = NULL, fk_facture = NULL"; } - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::unlink_invoice", LOG_DEBUG); $resql = $this->db->query($sql); @@ -488,7 +488,7 @@ class DiscountAbsolute * * @param Societe $company Object third party for filter * @param User $user Filtre sur un user auteur des remises - * @param string $filter Filtre autre + * @param string $filter Filter other. Warning: Do not use a user input value here. * @param int $maxvalue Filter on max value for discount * @param int $discount_type 0 => customer discount, 1 => supplier discount * @param int $multicurrency Return multicurrency_amount instead of amount @@ -503,23 +503,23 @@ class DiscountAbsolute $sql = "SELECT SUM(rc.amount_ttc) as amount, SUM(rc.multicurrency_amount_ttc) as multicurrency_amount"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except as rc"; $sql .= " WHERE rc.entity = ".$conf->entity; - $sql .= " AND rc.discount_type=".intval($discount_type); + $sql .= " AND rc.discount_type=".((int) $discount_type); if (!empty($discount_type)) { $sql .= " AND (rc.fk_invoice_supplier IS NULL AND rc.fk_invoice_supplier_line IS NULL)"; // Available from supplier } else { $sql .= " AND (rc.fk_facture IS NULL AND rc.fk_facture_line IS NULL)"; // Available to customer } if (is_object($company)) { - $sql .= " AND rc.fk_soc = ".$company->id; + $sql .= " AND rc.fk_soc = ".((int) $company->id); } if (is_object($user)) { - $sql .= " AND rc.fk_user = ".$user->id; + $sql .= " AND rc.fk_user = ".((int) $user->id); } if ($filter) { - $sql .= ' AND ('.$filter.')'; + $sql .= " AND (".$filter.")"; } if ($maxvalue) { - $sql .= ' AND rc.amount_ttc <= '.price2num($maxvalue); + $sql .= ' AND rc.amount_ttc <= '.((float) price2num($maxvalue)); } $resql = $this->db->query($sql); @@ -555,12 +555,12 @@ class DiscountAbsolute if ($invoice->element == 'facture' || $invoice->element == 'invoice') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture as f'; - $sql .= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.$invoice->id; + $sql .= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.((int) $invoice->id); $sql .= ' AND f.type = 3'; } elseif ($invoice->element == 'invoice_supplier') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture_fourn as f'; - $sql .= ' WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = '.$invoice->id; + $sql .= ' WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = '.((int) $invoice->id); $sql .= ' AND f.type = 3'; } else { $this->error = get_class($this)."::getSumDepositsUsed was called with a bad object as a first parameter"; @@ -596,13 +596,13 @@ class DiscountAbsolute if ($invoice->element == 'facture' || $invoice->element == 'invoice') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture as f'; - $sql .= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.$invoice->id; - $sql .= ' AND f.type IN ('.$this->db->sanitize($invoice::TYPE_STANDARD.', '.$invoice::TYPE_CREDIT_NOTE.', '.$invoice::TYPE_SITUATION).')'; // Find discount coming from credit note or excess received + $sql .= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.((int) $invoice->id); + $sql .= " AND f.type IN (".$this->db->sanitize($invoice::TYPE_STANDARD.", ".$invoice::TYPE_CREDIT_NOTE.", ".$invoice::TYPE_SITUATION).')'; // Find discount coming from credit note or excess received } elseif ($invoice->element == 'invoice_supplier') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture_fourn as f'; - $sql .= ' WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = '.$invoice->id; - $sql .= ' AND f.type IN ('.$this->db->sanitize($invoice::TYPE_STANDARD.', '.$invoice::TYPE_CREDIT_NOTE).')'; // Find discount coming from credit note or excess paid + $sql .= ' WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = '.((int) $invoice->id); + $sql .= " AND f.type IN (".$this->db->sanitize($invoice::TYPE_STANDARD.", ".$invoice::TYPE_CREDIT_NOTE).')'; // Find discount coming from credit note or excess paid } else { $this->error = get_class($this)."::getSumCreditNotesUsed was called with a bad object as a first parameter"; dol_print_error($this->error); @@ -636,11 +636,11 @@ class DiscountAbsolute if ($invoice->element == 'facture' || $invoice->element == 'invoice') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc'; - $sql .= ' WHERE rc.fk_facture IS NULL AND rc.fk_facture_source = '.$invoice->id; + $sql .= ' WHERE rc.fk_facture IS NULL AND rc.fk_facture_source = '.((int) $invoice->id); } elseif ($invoice->element == 'invoice_supplier') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc'; - $sql .= ' WHERE rc.fk_invoice_supplier IS NULL AND rc.fk_invoice_supplier_source = '.$invoice->id; + $sql .= ' WHERE rc.fk_invoice_supplier IS NULL AND rc.fk_invoice_supplier_source = '.((int) $invoice->id); } else { $this->error = get_class($this)."::getSumCreditNotesUsed was called with a bad object as a first parameter"; dol_print_error($this->error); diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index b1819e24ab0..a892c557b34 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -596,7 +596,7 @@ class DolGraph // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Get max value + * Get max value among all values of all series * * @return int Max value */ @@ -607,25 +607,26 @@ class DolGraph return 0; } - $k = 0; - $vals = array(); + $max = null; - $nblines = count($this->data); - $nbvalues = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); + $nbseries = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); - for ($j = 0; $j < $nblines; $j++) { - for ($i = 0; $i < $nbvalues; $i++) { - $vals[$k] = $this->data[$j][$i + 1]; - $k++; + foreach ($this->data as $x) { // Loop on each x + for ($i = 0; $i < $nbseries; $i++) { // Loop on each serie + if (is_null($max)) { + $max = $x[$i + 1]; // $i+1 because the index 0 is the legend + } elseif ($max < $x[$i + 1]) { + $max = $x[$i + 1]; + } } } - rsort($vals); - return $vals[0]; + + return $max; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Return min value of all data + * Return min value of all values of all series * * @return int Min value of all data */ @@ -636,20 +637,21 @@ class DolGraph return 0; } - $k = 0; - $vals = array(); + $min = null; - $nblines = count($this->data); - $nbvalues = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); + $nbseries = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); - for ($j = 0; $j < $nblines; $j++) { - for ($i = 0; $i < $nbvalues; $i++) { - $vals[$k] = $this->data[$j][$i + 1]; - $k++; + foreach ($this->data as $x) { // Loop on each x + for ($i = 0; $i < $nbseries; $i++) { // Loop on each serie + if (is_null($min)) { + $min = $x[$i + 1]; // $i+1 because the index 0 is the legend + } elseif ($min > $x[$i + 1]) { + $min = $x[$i + 1]; + } } } - sort($vals); - return $vals[0]; + + return $min; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps @@ -739,7 +741,7 @@ class DolGraph /** * Build a graph using JFlot library. Input when calling this method should be: * $this->data = array(array(0=>'labelxA',1=>yA), array('labelxB',yB)); - * $this->data = array(array(0=>'labelxA',1=>yA1,...,n=>yAn), array('labelxB',yB1,...yBn)); // or when there is n series to show for each x + * $this->data = array(array(0=>'labelxA',1=>yA1,...,n=>yAn), array('labelxB',yB1,...yBn)); // when there is n series to show for each x * $this->data = array(array('label'=>'labelxA','data'=>yA), array('labelxB',yB)); // Syntax deprecated * $this->legend= array("Val1",...,"Valn"); // list of n series name * $this->type = array('bars',...'lines','linesnopoint'); or array('pie') or array('polar') @@ -1026,7 +1028,7 @@ class DolGraph /** * Build a graph using Chart library. Input when calling this method should be: * $this->data = array(array(0=>'labelxA',1=>yA), array('labelxB',yB)); - * $this->data = array(array(0=>'labelxA',1=>yA1,...,n=>yAn), array('labelxB',yB1,...yBn)); // or when there is n series to show for each x + * $this->data = array(array(0=>'labelxA',1=>yA1,...,n=>yAn), array('labelxB',yB1,...yBn)); // when there is n series to show for each x * $this->data = array(array('label'=>'labelxA','data'=>yA), array('labelxB',yB)); // Syntax deprecated * $this->legend= array("Val1",...,"Valn"); // list of n series name * $this->type = array('bars',...'lines', 'linesnopoint'); or array('pie') or array('polar') or array('piesemicircle'); @@ -1301,6 +1303,8 @@ class DolGraph $this->stringtoshow .= 'var options = { maintainAspectRatio: false, aspectRatio: 2.5, '; if (empty($showlegend)) { $this->stringtoshow .= 'legend: { display: false }, '; + } else { + $this->stringtoshow .= 'legend: { position: \'' . ($showlegend == 2 ? 'right' : 'top') . '\' },'; } $this->stringtoshow .= 'scales: { xAxes: [{ '; if ($this->hideXValues) { @@ -1380,7 +1384,7 @@ class DolGraph $textoflegend = $arrayofgroupslegend[$i]['legendwithgroup']; } else { - $textoflegend = $this->Legend[$i]; + $textoflegend = !empty($this->Legend[$i]) ? $this->Legend[$i] : ''; } if ($usecolorvariantforgroupby) { @@ -1515,7 +1519,7 @@ class DolGraph if (empty($conf->dol_optimize_smallscreen)) { return ($defaultsize ? $defaultsize : '500'); } else { - return (empty($_SESSION['dol_screen_width']) ? '280' : ($_SESSION['dol_screen_width'] - 40)); + return (empty($_SESSION['dol_screenwidth']) ? '280' : ($_SESSION['dol_screenwidth'] - 40)); } } if ($direction == 'height') { diff --git a/htdocs/core/class/dolreceiptprinter.class.php b/htdocs/core/class/dolreceiptprinter.class.php index c109bc65733..2062f1b351c 100644 --- a/htdocs/core/class/dolreceiptprinter.class.php +++ b/htdocs/core/class/dolreceiptprinter.class.php @@ -388,9 +388,9 @@ class dolReceiptPrinter extends Printer { global $conf; $error = 0; - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'printer_receipt'; - $sql .= ' (name, fk_type, fk_profile, parameter, entity)'; - $sql .= ' VALUES ("'.$this->db->escape($name).'", '.$type.', '.$profile.', "'.$this->db->escape($parameter).'", '.$conf->entity.')'; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt"; + $sql .= " (name, fk_type, fk_profile, parameter, entity)"; + $sql .= " VALUES ('".$this->db->escape($name)."', ".((int) $type).", ".((int) $profile).", '".$this->db->escape($parameter)."', ".((int) $conf->entity).")"; $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -413,12 +413,14 @@ class dolReceiptPrinter extends Printer { global $conf; $error = 0; - $sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt'; - $sql .= ' SET name="'.$this->db->escape($name).'"'; - $sql .= ', fk_type='.$type; - $sql .= ', fk_profile='.$profile; - $sql .= ', parameter="'.$this->db->escape($parameter).'"'; - $sql .= ' WHERE rowid='.$printerid; + + $sql = "UPDATE ".MAIN_DB_PREFIX."printer_receipt"; + $sql .= " SET name='".$this->db->escape($name)."'"; + $sql .= ", fk_type=".((int) $type); + $sql .= ", fk_profile=".((int) $profile); + $sql .= ", parameter='".$this->db->escape($parameter)."'"; + $sql .= " WHERE rowid=".((int) $printerid); + $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -438,7 +440,7 @@ class dolReceiptPrinter extends Printer global $conf; $error = 0; $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'printer_receipt'; - $sql .= ' WHERE rowid='.$printerid; + $sql .= ' WHERE rowid='.((int) $printerid); $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -458,9 +460,9 @@ class dolReceiptPrinter extends Printer { global $conf; $error = 0; - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'printer_receipt_template'; - $sql .= ' (name, template, entity) VALUES ("'.$this->db->escape($name).'"'; - $sql .= ', "'.$this->db->escape($template).'", '.$conf->entity.')'; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt_template"; + $sql .= " (name, template, entity) VALUES ('".$this->db->escape($name)."'"; + $sql .= ", '".$this->db->escape($template)."', ".$conf->entity.")"; $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -480,7 +482,7 @@ class dolReceiptPrinter extends Printer global $conf; $error = 0; $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'printer_receipt_template'; - $sql .= " WHERE rowid = ".((int) $this->db->escape($templateid)); + $sql .= " WHERE rowid = ".((int) $templateid); $sql .= " AND entity = ".$conf->entity; $resql = $this->db->query($sql); if (!$resql) { @@ -502,10 +504,11 @@ class dolReceiptPrinter extends Printer { global $conf; $error = 0; - $sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt_template'; - $sql .= ' SET name="'.$this->db->escape($name).'"'; - $sql .= ', template="'.$this->db->escape($template).'"'; - $sql .= ' WHERE rowid='.$templateid; + + $sql = "UPDATE ".MAIN_DB_PREFIX."printer_receipt_template"; + $sql .= " SET name='".$this->db->escape($name)."'"; + $sql .= ", template='".$this->db->escape($template)."'"; + $sql .= " WHERE rowid=".((int) $templateid); $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -524,6 +527,7 @@ class dolReceiptPrinter extends Printer public function sendTestToPrinter($printerid) { global $conf; + $error = 0; $img = EscposImage::load(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo_bw.png'); //$this->profile = CapabilityProfile::load("TM-T88IV"); @@ -543,7 +547,7 @@ class dolReceiptPrinter extends Printer // If is DummyPrintConnector send to log to debugging if ($this->printer->connector instanceof DummyPrintConnector) { - $data = $this->printer->connector-> getData(); + $data = $this->printer->connector->getData(); dol_syslog($data); } $this->printer->close(); @@ -679,9 +683,7 @@ class dolReceiptPrinter extends Printer foreach ($object->lines as $line) { $total_localtax1 += $line->total_localtax1; } - foreach ($vatarray as $vatkey => $vatvalue) { - $this->printer->text(str_pad(price($total_localtax1), 10, ' ', STR_PAD_LEFT)."\n"); - } + $this->printer->text(str_pad(price($total_localtax1), 10, ' ', STR_PAD_LEFT)."\n"); break; case 'DOL_PRINT_OBJECT_TAX2': //var_dump($object); @@ -689,9 +691,7 @@ class dolReceiptPrinter extends Printer foreach ($object->lines as $line) { $total_localtax2 += $line->total_localtax2; } - foreach ($vatarray as $vatkey => $vatvalue) { - $this->printer->text(str_pad(price($total_localtax2), 10, ' ', STR_PAD_LEFT)."\n"); - } + $this->printer->text(str_pad(price($total_localtax2), 10, ' ', STR_PAD_LEFT)."\n"); break; case 'DOL_PRINT_OBJECT_TOTAL': $title = $langs->trans('TotalHT'); @@ -870,7 +870,7 @@ class dolReceiptPrinter extends Printer $error = 0; $sql = 'SELECT template'; $sql .= ' FROM '.MAIN_DB_PREFIX.'printer_receipt_template'; - $sql .= ' WHERE rowid='.$templateid; + $sql .= ' WHERE rowid = '.((int) $templateid); $sql .= ' AND entity = '.$conf->entity; $resql = $this->db->query($sql); if ($resql) { @@ -899,7 +899,7 @@ class dolReceiptPrinter extends Printer public function initPrinter($printerid) { global $conf; - if ($conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") { + if (getDolGlobalString('TAKEPOS_PRINT_METHOD') == "takeposconnector") { $this->connector = new DummyPrintConnector(); $this->printer = new Printer($this->connector, $this->profile); return; @@ -908,7 +908,7 @@ class dolReceiptPrinter extends Printer $sql = 'SELECT rowid, name, fk_type, fk_profile, parameter'; $sql .= ' FROM '.MAIN_DB_PREFIX.'printer_receipt'; $sql .= ' WHERE rowid = '.((int) $printerid); - $sql .= ' AND entity = '.$conf->entity; + $sql .= ' AND entity = '.((int) $conf->entity); $resql = $this->db->query($sql); if ($resql) { $obj = $this->db->fetch_array($resql); @@ -934,8 +934,8 @@ class dolReceiptPrinter extends Printer $parameters = explode(':', $parameter); $this->connector = new NetworkPrintConnector($parameters[0], $parameters[1]); break; - case 4: - $this->connector = new WindowsPrintConnector($parameter); + case 4: // LPT1, smb://... + $this->connector = new WindowsPrintConnector(dol_sanitizePathName($parameter)); break; case 5: $this->connector = new CupsPrintConnector($parameter); diff --git a/htdocs/core/class/emailsenderprofile.class.php b/htdocs/core/class/emailsenderprofile.class.php index bea56d0701b..bb47e71aea8 100644 --- a/htdocs/core/class/emailsenderprofile.class.php +++ b/htdocs/core/class/emailsenderprofile.class.php @@ -326,9 +326,9 @@ class EmailSenderProfile extends CommonObject global $langs; if ($status == 1) { - $label = $labelshort = $langs->trans('Enabled'); + $label = $labelshort = $langs->transnoentitiesnoconv('Enabled'); } else { - $label = $labelshort = $langs->trans('Disabled'); + $label = $labelshort = $langs->transnoentitiesnoconv('Disabled'); } $statusType = 'status'.$status; diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index b4d7f1a74df..0145ad95a7d 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -936,7 +936,7 @@ class ExtraFields $this->attribute_computed[$tab->name] = $tab->fieldcomputed; $this->attribute_unique[$tab->name] = $tab->fieldunique; $this->attribute_required[$tab->name] = $tab->fieldrequired; - $this->attribute_param[$tab->name] = ($tab->param ? unserialize($tab->param) : ''); + $this->attribute_param[$tab->name] = ($tab->param ? jsonOrUnserialize($tab->param) : ''); $this->attribute_pos[$tab->name] = $tab->pos; $this->attribute_alwayseditable[$tab->name] = $tab->alwayseditable; $this->attribute_perms[$tab->name] = (strlen($tab->perms) == 0 ? 1 : $tab->perms); @@ -954,7 +954,7 @@ class ExtraFields $this->attributes[$tab->elementtype]['computed'][$tab->name] = $tab->fieldcomputed; $this->attributes[$tab->elementtype]['unique'][$tab->name] = $tab->fieldunique; $this->attributes[$tab->elementtype]['required'][$tab->name] = $tab->fieldrequired; - $this->attributes[$tab->elementtype]['param'][$tab->name] = ($tab->param ? unserialize($tab->param) : ''); + $this->attributes[$tab->elementtype]['param'][$tab->name] = ($tab->param ? jsonOrUnserialize($tab->param) : ''); $this->attributes[$tab->elementtype]['pos'][$tab->name] = $tab->pos; $this->attributes[$tab->elementtype]['alwayseditable'][$tab->name] = $tab->alwayseditable; $this->attributes[$tab->elementtype]['perms'][$tab->name] = (strlen($tab->perms) == 0 ? 1 : $tab->perms); @@ -1157,7 +1157,7 @@ class ExtraFields } else { $checked = ' value="1" '; } - $out = ''; + $out = ''; } else { $out .= $form->selectyesno($keyprefix.$key.$keysuffix, $value, 1, false, 1); } @@ -1252,7 +1252,7 @@ class ExtraFields } $sqlwhere = ''; - $sql = 'SELECT '.$keyList; + $sql = "SELECT ".$keyList; $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; if (!empty($InfoFieldList[4])) { // can use curent entity filter @@ -1273,16 +1273,16 @@ class ExtraFields //We have to join on extrafield table if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main, '.MAIN_DB_PREFIX.$InfoFieldList[0].'_extrafields as extra'; - $sqlwhere .= ' WHERE extra.fk_object=main.'.$InfoFieldList[2].' AND '.$InfoFieldList[4]; + $sqlwhere .= " WHERE extra.fk_object=main.".$InfoFieldList[2]." AND ".$InfoFieldList[4]; } else { - $sqlwhere .= ' WHERE '.$InfoFieldList[4]; + $sqlwhere .= " WHERE ".$InfoFieldList[4]; } } else { $sqlwhere .= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. if (in_array($InfoFieldList[0], array('tablewithentity'))) { - $sqlwhere .= ' AND entity = '.$conf->entity; + $sqlwhere .= ' AND entity = '.((int) $conf->entity); } $sql .= $sqlwhere; //print $sql; @@ -1420,7 +1420,7 @@ class ExtraFields } $sqlwhere = ''; - $sql = 'SELECT '.$keyList; + $sql = "SELECT ".$keyList; $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; if (!empty($InfoFieldList[4])) { // can use SELECT request @@ -1485,16 +1485,16 @@ class ExtraFields // We have to join on extrafield table if (strpos($InfoFieldList[4], 'extra.') !== false) { $sql .= ' as main, '.MAIN_DB_PREFIX.$InfoFieldList[0].'_extrafields as extra'; - $sqlwhere .= ' WHERE extra.fk_object=main.'.$InfoFieldList[2].' AND '.$InfoFieldList[4]; + $sqlwhere .= " WHERE extra.fk_object=main.".$InfoFieldList[2]." AND ".$InfoFieldList[4]; } else { - $sqlwhere .= ' WHERE '.$InfoFieldList[4]; + $sqlwhere .= " WHERE ".$InfoFieldList[4]; } } else { $sqlwhere .= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. if (in_array($InfoFieldList[0], array('tablewithentity'))) { - $sqlwhere .= ' AND entity = '.$conf->entity; + $sqlwhere .= " AND entity = ".((int) $conf->entity); } // $sql.=preg_replace('/^ AND /','',$sqlwhere); // print $sql; @@ -1716,9 +1716,9 @@ class ExtraFields } } - $sql = 'SELECT '.$keyList; + $sql = "SELECT ".$keyList; $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; - if (strpos($InfoFieldList[4], 'extra') !== false) { + if (!empty($InfoFieldList[4]) && strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main'; } if ($selectkey == 'rowid' && empty($value)) { @@ -1820,8 +1820,8 @@ class ExtraFields } } - $sql = 'SELECT '.$keyList; - $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[0]; + $sql = "SELECT ".$keyList; + $sql .= " FROM ".MAIN_DB_PREFIX.$InfoFieldList[0]; if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main'; } @@ -1976,7 +1976,7 @@ class ExtraFields */ public function showSeparator($key, $object, $colspan = 2, $display_type = 'card') { - global $langs; + global $conf, $langs; if ($display_type=='card') { $tagtype='tr'; @@ -1989,6 +1989,7 @@ class ExtraFields $out = '<'.$tagtype.' id="trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'" class="trextrafieldseparator trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'">'; $out .= '<'.$tagtype_dyn.' '.(!empty($colspan)?'colspan="' . $colspan . '"':'').'>'; + // Some js code will be injected here to manage the collapsing of extrafields $out .=''; $out .= $langs->trans($this->attributes[$object->table_element]['label'][$key]); $out .= ''; @@ -2006,30 +2007,34 @@ class ExtraFields $collapse_display = ((isset($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key]) || GETPOST('ignorecollapsesetup', 'int')) ? ($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key] ? true : false) : ($extrafield_collapse_display_value == 2 ? false : true)); $extrafields_collapse_num = $this->attributes[$object->table_element]['pos'][$key].(!empty($object->id)?'_'.$object->id:''); - $out .= ''."\n"; - $out .= ''."\n"; } - $out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n"; - $out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n"; - $out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(300, function(){'."\n"; - $out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n"; - $out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n"; - $out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n"; - $out .= ' } else {'."\n"; - $out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-minus-square").removeClass("fa-plus-square");'."\n"; - $out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n"; - $out .= ' }'."\n"; - $out .= ' });'."\n"; - $out .= ' });'."\n"; - $out .= '});'."\n"; - $out .= ''."\n"; } } } @@ -2042,9 +2047,9 @@ class ExtraFields * * @param array $extralabels Deprecated (old $array of extrafields, now set this to null) * @param object $object Object - * @param string $onlykey Only some keys are filled:$this + * @param string $onlykey Only some keys are filled: * 'string' => When we make update of only one extrafield ($action = 'update_extras'), calling page can set this to avoid to have other extrafields being reset. - * '@GETPOSTISSET' => When we make update of extrafields ($action = 'update'), calling page can set this to avoid to have fields not into POST being reset. + * '@GETPOSTISSET' => When we make update of several extrafields ($action = 'update'), calling page can set this to avoid to have fields not into POST being reset. * @return int 1 if array_options set, 0 if no value, -1 if error (field required missing for example) */ public function setOptionalsFromPost($extralabels, &$object, $onlykey = '') @@ -2074,9 +2079,15 @@ class ExtraFields } $enabled = 1; - if (isset($this->attributes[$object->table_element]['list'][$key])) { - $enabled = dol_eval($this->attributes[$object->table_element]['list'][$key], 1); + if (isset($this->attributes[$object->table_element]['enabled'][$key])) { // 'enabled' is often a condition on module enabled or not + $enabled = dol_eval($this->attributes[$object->table_element]['enabled'][$key], 1); } + + $visibility = 1; + if (isset($this->attributes[$object->table_element]['list'][$key])) { // 'list' is option for visibility + $visibility = dol_eval($this->attributes[$object->table_element]['list'][$key], 1); + } + $perms = 1; if (isset($this->attributes[$object->table_element]['perms'][$key])) { $perms = dol_eval($this->attributes[$object->table_element]['perms'][$key], 1); @@ -2084,6 +2095,9 @@ class ExtraFields if (empty($enabled)) { continue; } + if (empty($visibility)) { + continue; + } if (empty($perms)) { continue; } diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index 7356e53dc0a..2a1f769e15c 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -147,9 +147,9 @@ class Fiscalyear extends CommonObject $sql .= ", '".$this->db->idate($this->date_start)."'"; $sql .= ", ".($this->date_end ? "'".$this->db->idate($this->date_end)."'" : "null"); $sql .= ", 0"; - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $conf->entity); $sql .= ", '".$this->db->idate($now)."'"; - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); $sql .= ")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); diff --git a/htdocs/core/class/google.class.php b/htdocs/core/class/google.class.php index ee122ff7cb5..4a91d548122 100644 --- a/htdocs/core/class/google.class.php +++ b/htdocs/core/class/google.class.php @@ -66,10 +66,12 @@ class GoogleAPI $i = 0; // Desired address - $urladdress = "https://maps.google.com/maps/geo?q=".urlencode($address)."&output=xml&key=".$this->key; + $urladdress = "https://maps.google.com/maps/geo?q=".urlencode($address)."&output=xml&key=".urlencode($this->key); // Retrieve the URL contents - $page = file_get_contents($urladdress); + require_once DOL_DOCUMENT_ROOT.'/core/lib/geturl.lib.php'; + $pagearray = getURLContent($urladdress, 'GET'); + $page = $pagearray['content']; $code = strstr($page, ''); $code = strstr($code, '>'); diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index cef41497381..40610ce5d6f 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -160,7 +160,7 @@ class HookManager //dol_syslog(get_class($this).'::executeHooks method='.$method." action=".$action." context=".$parameters['context']); // Define type of hook ('output' or 'addreplace'). - // TODO Remove hooks with type 'output'. All hooks must be converted into 'addreplace' hooks. + // TODO Remove hooks with type 'output' (exemple getNomUrl). All hooks must be converted into 'addreplace' hooks. $hooktype = 'output'; if (in_array( $method, @@ -172,6 +172,7 @@ class HookManager 'addSearchEntry', 'addStatisticLine', 'addSectionECMAuto', + 'checkSecureAccess', 'createDictionaryFieldlist', 'editDictionaryFieldlist', 'getFormMail', @@ -188,11 +189,13 @@ class HookManager 'formConfirm', 'getAccessForbiddenMessage', 'getDirList', + 'hookGetEntity', 'getFormMail', 'getFormatedCustomerRef', 'getFormatedSupplierRef', 'getIdProfUrl', 'getInputIdProf', + 'menuLeftMenuItems', 'moveUploadedFile', 'moreHtmlStatus', 'pdf_build_address', @@ -266,14 +269,16 @@ class HookManager $actionclassinstance->error = 0; $actionclassinstance->errors = array(); - dol_syslog(get_class($this)."::executeHooks Qualified hook found (hooktype=".$hooktype."). We call method ".get_class($actionclassinstance).'->'.$method.", context=".$context.", module=".$module.", action=".$action.((is_object($object) && property_exists($object, 'id')) ? ', objectid='.$object->id : ''), LOG_DEBUG); + dol_syslog(get_class($this)."::executeHooks Qualified hook found (hooktype=".$hooktype."). We call method ".get_class($actionclassinstance).'->'.$method.", context=".$context.", module=".$module.", action=".$action.((is_object($object) && property_exists($object, 'id')) ? ', object id='.$object->id : '').((is_object($object) && property_exists($object, 'element')) ? ', object element='.$object->element : ''), LOG_DEBUG); // Add current context to avoid method execution in bad context, you can add this test in your method : eg if($currentcontext != 'formfile') return; $parameters['currentcontext'] = $context; // Hooks that must return int (hooks with type 'addreplace') if ($hooktype == 'addreplace') { - $resaction += $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) - if ($resaction < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { + $resactiontmp = $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) + $resaction += $resactiontmp; + + if ($resactiontmp < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { $error++; $this->error = $actionclassinstance->error; $this->errors = array_merge($this->errors, (array) $actionclassinstance->errors); @@ -281,13 +286,22 @@ class HookManager } if (isset($actionclassinstance->results) && is_array($actionclassinstance->results)) { - $this->resArray = array_merge($this->resArray, $actionclassinstance->results); + if ($resactiontmp > 0) { + $this->resArray = $actionclassinstance->results; + } else { + $this->resArray = array_merge($this->resArray, $actionclassinstance->results); + } } if (!empty($actionclassinstance->resprints)) { - $this->resPrint .= $actionclassinstance->resprints; + if ($resactiontmp > 0) { + $this->resPrint = $actionclassinstance->resprints; + } else { + $this->resPrint .= $actionclassinstance->resprints; + } } } else { // Generic hooks that return a string or array (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...) + // TODO. this test should be done into the method of hook by returning nothing if (is_array($parameters) && !empty($parameters['special_code']) && $parameters['special_code'] > 3 && $parameters['special_code'] != $actionclassinstance->module_number) { continue; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 6ad08a7c883..aa940e1f03a 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -10,7 +10,7 @@ * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent - * Copyright (C) 2010-2019 Philippe Grand + * Copyright (C) 2010-2021 Philippe Grand * Copyright (C) 2011 Herve Prot * Copyright (C) 2012-2016 Marcos García * Copyright (C) 2012 Cedric Salvador @@ -165,7 +165,7 @@ class Form $ret .= '
    '; } if ($htmlname && GETPOST('action', 'aZ09') != 'edit'.$htmlname && $perm) { - $ret .= 'id.$moreparam.'">'.img_edit($langs->trans('Edit'), ($notabletag ? 0 : 1)).''; + $ret .= 'id.$moreparam.'">'.img_edit($langs->trans('Edit'), ($notabletag ? 0 : 1)).''; } if (!empty($notabletag) && $notabletag == 1) { $ret .= ' : '; @@ -589,6 +589,7 @@ class Form if (!$htmltext) { return $text; } + $direction = (int) $direction; // For backward compatibility when $direction was set to '' instead of 0 $tag = 'td'; if ($notabs == 2) { @@ -790,7 +791,7 @@ class Form // Warning: if you set submit button to disabled, post using 'Enter' will no more work if there is no another input submit. So we add a hidden button $ret .= ''; // Hidden button BEFORE so it is the one used when we submit with ENTER. - $ret .= 'use_javascript_ajax) ? '' : ' style="display: none"').' class="button'.(empty($conf->use_javascript_ajax) ? '' : ' hideobject').' '.$name.' '.$name.'confirmed" value="'.dol_escape_htmltag($langs->trans("Confirm")).'">'; + $ret .= 'use_javascript_ajax) ? '' : ' style="display: none"').' class="button small'.(empty($conf->use_javascript_ajax) ? '' : ' hideobject').' '.$name.' '.$name.'confirmed" value="'.dol_escape_htmltag($langs->trans("Confirm")).'">'; $ret .= ''; if (!empty($conf->use_javascript_ajax)) { @@ -957,7 +958,7 @@ class Form if ($row['code_iso']) { $labeltoshow .= ' ('.$row['code_iso'].')'; if (empty($hideflags)) { - $tmpflag = picto_from_langcode($row['code_iso'], 'class="saturatemedium paddingrightonly"'); + $tmpflag = picto_from_langcode($row['code_iso'], 'class="saturatemedium paddingrightonly"', 1); $labeltoshow = $tmpflag.' '.$labeltoshow; } } @@ -968,7 +969,7 @@ class Form $out .= ''; + $out .= ''."\n"; } } $out .= ''; @@ -1055,7 +1056,11 @@ class Form } $out .= ''; - $out .= ''; + if ($conf->use_javascript_ajax && empty($disableautocomplete)) { + $out .= ajax_multiautocompleter('location_incoterms', '', DOL_URL_ROOT.'/core/ajax/locationincoterms.php')."\n"; + $moreattrib .= ' autocomplete="off"'; + } + $out .= ''."\n"; if (!empty($page)) { $out .= ''; @@ -1251,6 +1256,9 @@ class Form if (is_null($ajaxoptions)) { $ajaxoptions = array(); } + + require_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; + // No immediate load of all database $placeholder = ''; if ($selected && empty($selected_input_value)) { @@ -1260,19 +1268,21 @@ class Form $selected_input_value = $societetmp->name; unset($societetmp); } + // mode 1 $urloption = 'htmlname='.urlencode($htmlname).'&outjson=1&filter='.urlencode($filter).(empty($excludeids) ? '' : '&excludeids='.join(',', $excludeids)).($showtype ? '&showtype='.urlencode($showtype) : ''); $out .= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/societe/ajax/company.php', $urloption, $conf->global->COMPANY_USE_SEARCH_TO_SELECT, 0, $ajaxoptions); - $out .= ''; + + $out .= ''; if (empty($hidelabel)) { print $langs->trans("RefOrLabel").' : '; } elseif ($hidelabel > 1) { - $placeholder = ' placeholder="'.$langs->trans("RefOrLabel").'"'; + $placeholder = $langs->trans("RefOrLabel"); if ($hidelabel == 2) { $out .= img_picto($langs->trans("Search"), 'search'); } } - $out .= 'global->THIRDPARTY_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />'; + $out .= 'global->THIRDPARTY_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />'; if ($hidelabel == 3) { $out .= img_picto($langs->trans("Search"), 'search'); } @@ -1328,7 +1338,7 @@ class Form } // We search companies - $sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.client, s.fournisseur, s.code_client, s.code_fournisseur"; + $sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur"; if (!empty($conf->global->COMPANY_SHOW_ADDRESS_SELECTLIST)) { $sql .= ", s.address, s.zip, s.town"; $sql .= ", dictp.code as country_code"; @@ -1342,19 +1352,19 @@ class Form } $sql .= " WHERE s.entity IN (".getEntity('societe').")"; if (!empty($user->socid)) { - $sql .= " AND s.rowid = ".$user->socid; + $sql .= " AND s.rowid = ".((int) $user->socid); } if ($filter) { $sql .= " AND (".$filter.")"; } if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if (!empty($conf->global->COMPANY_HIDE_INACTIVE_IN_COMBOBOX)) { $sql .= " AND s.status <> 0"; } if (!empty($excludeids)) { - $sql .= " AND rowid NOT IN (".$this->db->sanitize(join(',', $excludeids)).")"; + $sql .= " AND s.rowid NOT IN (".$this->db->sanitize(join(',', $excludeids)).")"; } // Add criteria if ($filterkey && $filterkey != '') { @@ -1380,6 +1390,7 @@ class Form $sql .= " OR s.barcode LIKE '".$this->db->escape($prefix.$filterkey)."%'"; } $sql .= " OR s.code_client LIKE '".$this->db->escape($prefix.$filterkey)."%' OR s.code_fournisseur LIKE '".$this->db->escape($prefix.$filterkey)."%'"; + $sql .= " OR s.name_alias LIKE '".$this->db->escape($prefix.$filterkey)."%' OR s.tva_intra LIKE '".$this->db->escape($prefix.$filterkey)."%'"; $sql .= ")"; } $sql .= $this->db->order("nom", "ASC"); @@ -1391,7 +1402,7 @@ class Form if ($resql) { if (!$forcecombo) { include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; - $out .= ajax_combobox($htmlname, $events, $conf->global->COMPANY_USE_SEARCH_TO_SELECT); + $out .= ajax_combobox($htmlname, $events, getDolGlobalString("COMPANY_USE_SEARCH_TO_SELECT")); } // Construct $out and $outarray @@ -1408,7 +1419,7 @@ class Form } } if ($showempty) { - $out .= ''."\n"; + $out .= ''."\n"; } $num = $this->db->num_rows($resql); @@ -1433,6 +1444,10 @@ class Form $label .= ' ('.$obj->name_alias.')'; } + if ($conf->global->SOCIETE_SHOW_VAT_IN_LIST && !empty($obj->tva_intra)) { + $label .= ' - '.$obj->tva_intra.''; + } + if ($showtype) { if ($obj->client || $obj->fournisseur) { $label .= ' ('; @@ -1658,7 +1673,7 @@ class Form } $sql .= " WHERE sp.entity IN (".getEntity('socpeople').")"; if ($socid > 0 || $socid == -1) { - $sql .= " AND sp.fk_soc=".$socid; + $sql .= " AND sp.fk_soc = ".((int) $socid); } if (!empty($conf->global->CONTACT_HIDE_INACTIVE_IN_COMBOBOX)) { $sql .= " AND sp.statut <> 0"; @@ -1670,11 +1685,6 @@ class Form if ($resql) { $num = $this->db->num_rows($resql); - if ($conf->use_javascript_ajax && !$forcecombo && !$options_only) { - include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; - $out .= ajax_combobox($htmlid, $events, $conf->global->CONTACT_USE_SEARCH_TO_SELECT); - } - if ($htmlname != 'none' && !$options_only) { $out .= ''; } + if ($conf->use_javascript_ajax && !$forcecombo && !$options_only) { + include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; + $out .= ajax_combobox($htmlid, $events, getDolGlobalString("CONTACT_USE_SEARCH_TO_SELECT")); + } + $this->num = $num; return $out; } else { @@ -1947,15 +1962,12 @@ class Form } dol_syslog(get_class($this)."::select_dolusers", LOG_DEBUG); + $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); $i = 0; if ($num) { - // Enhance with select2 - include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; - $out .= ajax_combobox($htmlname); - // do not use maxwidthonsmartphone by default. Set it by caller so auto size to 100% will work when not defined $out .= ''; + + if ($num) { + // Enhance with select2 + include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; + $out .= ajax_combobox($htmlname); + } } else { dol_print_error($this->db); } @@ -2176,7 +2194,7 @@ class Form * * @param int $selected Preselected products * @param string $htmlname Name of HTML select field (must be unique in page). - * @param int $filtertype Filter on product type (''=nofilter, 0=product, 1=service) + * @param int|string $filtertype Filter on product type (''=nofilter, 0=product, 1=service) * @param int $limit Limit on number of returned lines * @param int $price_level Level of price to show * @param int $status Sell status -1=Return all products, 0=Products not on sell, 1=Products on sell @@ -2437,13 +2455,13 @@ class Form if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { $sql .= ", (SELECT pp.rowid FROM ".MAIN_DB_PREFIX."product_price as pp WHERE pp.fk_product = p.rowid"; if ($price_level >= 1 && !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { - $sql .= " AND price_level=".$price_level; + $sql .= " AND price_level = ".((int) $price_level); } $sql .= " ORDER BY date_price"; $sql .= " DESC LIMIT 1) as price_rowid"; $sql .= ", (SELECT pp.price_by_qty FROM ".MAIN_DB_PREFIX."product_price as pp WHERE pp.fk_product = p.rowid"; // price_by_qty is 1 if some prices by qty exists in subtable if ($price_level >= 1 && !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { - $sql .= " AND price_level=".$price_level; + $sql .= " AND price_level = ".((int) $price_level); } $sql .= " ORDER BY date_price"; $sql .= " DESC LIMIT 1) as price_by_qty"; @@ -2463,7 +2481,7 @@ class Form //Price by customer if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES) && !empty($socid)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_customer_price as pcp ON pcp.fk_soc=".$socid." AND pcp.fk_product=p.rowid"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_customer_price as pcp ON pcp.fk_soc=".((int) $socid)." AND pcp.fk_product=p.rowid"; } // Units if (!empty($conf->global->PRODUCT_USE_UNITS)) { @@ -2556,7 +2574,7 @@ class Form $sql .= ')'; } if (count($warehouseStatusArray)) { - $sql .= ' GROUP BY'.$selectFields; + $sql .= " GROUP BY ".$selectFields; } //Sort by category @@ -2604,7 +2622,7 @@ class Form } } if ($showempty) { - $out .= ''; + $out .= ''; } $i = 0; @@ -2616,7 +2634,7 @@ class Form if ((!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) && !empty($objp->price_by_qty) && $objp->price_by_qty == 1) { // Price by quantity will return many prices for the same product $sql = "SELECT rowid, quantity, price, unitprice, remise_percent, remise, price_base_type"; $sql .= " FROM ".MAIN_DB_PREFIX."product_price_by_qty"; - $sql .= " WHERE fk_product_price=".$objp->price_rowid; + $sql .= " WHERE fk_product_price = ".((int) $objp->price_rowid); $sql .= " ORDER BY quantity ASC"; dol_syslog(get_class($this)."::select_produits_list search prices by qty", LOG_DEBUG); @@ -3370,9 +3388,9 @@ class Form $opt .= ' disabled'; } if (!empty($objp->idprodfournprice) && $objp->idprodfournprice > 0) { - $opt .= ' data-qty="'.$objp->quantity.'" data-up="'.$objp->unitprice.'" data-discount="'.$outdiscount.'"'; + $opt .= ' data-product-id="'.$objp->rowid.'" data-price-id="'.$objp->idprodfournprice.'" data-qty="'.$objp->quantity.'" data-up="'.$objp->unitprice.'" data-discount="'.$outdiscount.'"'; } - $opt .= ' data-description="'.dol_escape_htmltag($objp->description).'"'; + $opt .= ' data-description="'.dol_escape_htmltag($objp->description, 0, 1).'"'; $opt .= ' data-html="'.dol_escape_htmltag($optlabel).'"'; $opt .= '>'; @@ -3453,7 +3471,7 @@ class Form $sql .= " WHERE pfp.entity IN (".getEntity('productsupplierprice').")"; $sql .= " AND p.tobuy = 1"; $sql .= " AND s.fournisseur = 1"; - $sql .= " AND p.rowid = ".$productid; + $sql .= " AND p.rowid = ".((int) $productid); $sql .= " ORDER BY s.nom, pfp.ref_fourn DESC"; dol_syslog(get_class($this)."::select_product_fourn_price", LOG_DEBUG); @@ -3866,8 +3884,8 @@ class Form * @param string $htmlname Nom de la zone select * @param int $filtertype Not used * @param int $addempty Add an empty entry - * @param int $noinfoadmin 0=Add admin info, 1=Disable admin info - * @param string $morecss Add more CSS on select tag + * @param int $noinfoadmin 0=Add admin info, 1=Disable admin info + * @param string $morecss Add more CSS on select tag * @return void */ public function select_conditions_paiements($selected = 0, $htmlname = 'condid', $filtertype = -1, $addempty = 0, $noinfoadmin = 0, $morecss = '') @@ -3919,13 +3937,16 @@ class Form * @param int $maxlength Max length of label * @param int $active Active or not, -1 = all * @param string $morecss Add more CSS on select tag + * @param int $nooutput 1=Return string, do not send to output * @return void */ - public function select_types_paiements($selected = '', $htmlname = 'paiementtype', $filtertype = '', $format = 0, $empty = 1, $noadmininfo = 0, $maxlength = 0, $active = 1, $morecss = '') + public function select_types_paiements($selected = '', $htmlname = 'paiementtype', $filtertype = '', $format = 0, $empty = 1, $noadmininfo = 0, $maxlength = 0, $active = 1, $morecss = '', $nooutput = 0) { // phpcs:enable global $langs, $user, $conf; + $out = ''; + dol_syslog(__METHOD__." ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG); $filterarray = array(); @@ -3944,9 +3965,9 @@ class Form $selected = $conf->global->MAIN_DEFAULT_PAYMENT_TYPE_ID; } - print ''; if ($empty) { - print ''; + $out .= ''; } foreach ($this->cache_types_paiements as $id => $arraytypes) { // If not good status @@ -3965,25 +3986,25 @@ class Form } if ($format == 0) { - print ''; + $out .= $value ? $value : ' '; + $out .= ''; } - print ''; + $out .= ''; if ($user->admin && !$noadmininfo) { - print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); + $out .= info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); + } + $out .= ajax_combobox('select'.$htmlname); + + if (empty($nooutput)) { + print $out; + } else { + return $out; } - print ajax_combobox('select'.$htmlname); } @@ -4450,7 +4477,6 @@ class Form */ public function selectEstablishments($selected = '', $htmlname = 'entity', $status = 0, $filtre = '', $useempty = 0, $moreattrib = '') { - // phpcs:enable global $langs, $conf; $langs->load("admin"); @@ -4706,7 +4732,7 @@ class Form foreach ($formquestion as $key => $input) { if (is_array($input) && !empty($input)) { if ($input['type'] == 'hidden') { - $more .= ''."\n"; + $more .= ''."\n"; } } } @@ -4716,14 +4742,26 @@ class Form $more .= '
    '."\n"; foreach ($formquestion as $key => $input) { if (is_array($input) && !empty($input)) { - $size = (!empty($input['size']) ? ' size="'.$input['size'].'"' : ''); + $size = (!empty($input['size']) ? ' size="'.$input['size'].'"' : ''); // deprecated. Use morecss instead. $moreattr = (!empty($input['moreattr']) ? ' '.$input['moreattr'] : ''); $morecss = (!empty($input['morecss']) ? ' '.$input['morecss'] : ''); if ($input['type'] == 'text') { - $more .= '
    '.$input['label'].'
    '."\n"; + $more .= '
    '.$input['label'].'
    '."\n"; } elseif ($input['type'] == 'password') { - $more .= '
    '.$input['label'].'
    '."\n"; + $more .= '
    '.$input['label'].'
    '."\n"; + } elseif ($input['type'] == 'textarea') { + /*$more .= '
    '.$input['label'].'
    '; + $more .= ''; + $more .= '
    '."\n";*/ + $moreonecolumn .= '
    '; + $moreonecolumn .= $input['label'].'
    '; + $moreonecolumn .= ''; + $moreonecolumn .= '
    '; } elseif ($input['type'] == 'select') { if (empty($morecss)) { $morecss = 'minwidth100'; @@ -4746,7 +4784,7 @@ class Form } elseif ($input['type'] == 'checkbox') { $more .= '
    '; $more .= '
    '.$input['label'].'
    '; - $more .= ' 
    '; } - $more .= '
    '.$selval.''; + $more .= ''; $more .= '
    '."\n"; $i++; } } elseif ($input['type'] == 'date') { $more .= '
    '.$input['label'].'
    '; $more .= '
    '; - $more .= $this->selectDate($input['value'], $input['name'], 0, 0, 0, '', 1, 0); + $addnowlink = (empty($input['datenow']) ? 0 : 1); + $more .= $this->selectDate($input['value'], $input['name'], 0, 0, 0, '', 1, $addnowlink); $more .= '
    '."\n"; $formquestion[] = array('name'=>$input['name'].'day'); $formquestion[] = array('name'=>$input['name'].'month'); @@ -4899,7 +4938,7 @@ class Form inputvalue = $("#" + inputname + more).val(); } if (typeof inputvalue == "undefined") { inputvalue=""; } - console.log("check inputname="+inputname+" inputvalue="+inputvalue); + console.log("formconfirm check inputname="+inputname+" inputvalue="+inputvalue); options += "&" + inputname + "=" + encodeURIComponent(inputvalue); }); } @@ -5069,23 +5108,32 @@ class Form * @param string $selected Id condition pre-selectionne * @param string $htmlname Name of select html field * @param int $addempty Add empty entry + * @param string $type Type ('direct-debit' or 'bank-transfer') * @return void */ - public function form_conditions_reglement($page, $selected = '', $htmlname = 'cond_reglement_id', $addempty = 0) + public function form_conditions_reglement($page, $selected = '', $htmlname = 'cond_reglement_id', $addempty = 0, $type = '') { // phpcs:enable global $langs; if ($htmlname != "none") { - print '
    '; + print ''; print ''; print ''; - $this->select_conditions_paiements($selected, $htmlname, -1, $addempty); + if ($type) { + print ''; + } + $this->select_conditions_paiements($selected, $htmlname, -1, $addempty, 0, ''); print ''; print '
    '; } else { if ($selected) { $this->load_cache_conditions_paiements(); - print $this->cache_conditions_paiements[$selected]['label']; + if (isset($this->cache_conditions_paiements[$selected])) { + print $this->cache_conditions_paiements[$selected]['label']; + } else { + $langs->load('errors'); + print $langs->trans('ErrorNotInDictionaryPaymentConditions'); + } } else { print " "; } @@ -5111,7 +5159,8 @@ class Form print ''; print ''; $this->selectAvailabilityDelay($selected, $htmlname, -1, $addempty); - print ''; + print ''; + print ''; print ''; } else { if ($selected) { @@ -5168,10 +5217,11 @@ class Form * @param int $displayhour Display hour selector * @param int $displaymin Display minutes selector * @param int $nooutput 1=No print output, return string + * @param string $type 'direct-debit' or 'bank-transfer' * @return string * @see selectDate() */ - public function form_date($page, $selected, $htmlname, $displayhour = 0, $displaymin = 0, $nooutput = 0) + public function form_date($page, $selected, $htmlname, $displayhour = 0, $displaymin = 0, $nooutput = 0, $type = '') { // phpcs:enable global $langs; @@ -5179,9 +5229,12 @@ class Form $ret = ''; if ($htmlname != "none") { - $ret .= '
    '; + $ret .= ''; $ret .= ''; $ret .= ''; + if ($type) { + $ret .= ''; + } $ret .= ''; $ret .= '\n"; @@ -322,7 +322,7 @@ function limitChars(textarea, limit, infodiv) if ($showform) { print '
    '; - print ''; + print ''; if ($this->withcancel) { print '     '; print ''; diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php index f4e076640c4..89260c35d03 100644 --- a/htdocs/core/class/html.formticket.class.php +++ b/htdocs/core/class/html.formticket.class.php @@ -21,7 +21,7 @@ /** * \file htdocs/core/class/html.formticket.class.php * \ingroup ticket - * \brief Fichier de la classe permettant la generation du formulaire html d'envoi de mail unitaire + * \brief File of class to generate the form for creating a new ticket. */ require_once DOL_DOCUMENT_ROOT."/core/class/html.form.class.php"; require_once DOL_DOCUMENT_ROOT."/core/class/html.formmail.class.php"; @@ -32,12 +32,12 @@ if (!class_exists('FormCompany')) { } /** - * Classe permettant la generation du formulaire d'un nouveau ticket. + * Class to generate the form for creating a new ticket. + * Usage: $formticket = new FormTicket($db) + * $formticket->proprietes=1 ou chaine ou tableau de valeurs + * $formticket->show_form() affiche le formulaire * * @package Ticket - * \remarks Utilisation: $formticket = new FormTicket($db) - * \remarks $formticket->proprietes=1 ou chaine ou tableau de valeurs - * \remarks $formticket->show_form() affiche le formulaire */ class FormTicket { @@ -243,6 +243,63 @@ class FormTicket } } + if ($conf->knowledgemanagement->enabled) { + // KM Articles + print '
    '; + print ' + '."\n"; + } + // MESSAGE $msg = GETPOSTISSET('message') ? GETPOST('message', 'restricthtml') : ''; print ''; } + // Categories + if ($conf->categorie->enabled) { + include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_TICKET, '', 'parent', 64, 0, 1); + + if (count($cate_arbo)) { + // Categories + print '"; + } + } + // Attached files if (!empty($this->withfile)) { // Define list of attached files @@ -427,6 +497,15 @@ class FormTicket print 'withnotifytiersatcreate ? ' checked="checked"' : '').'>'; print ''; } + + // User assigned + print ''; + print ''; } if (!empty($conf->projet->enabled) && !$this->ispublic) { @@ -449,13 +528,19 @@ class FormTicket print dol_get_fiche_end(); } - print '
    '; - print ''; + print '
    '; + + print $form->buttonsSaveCancel((($this->withthreadid > 0) ? "SendResponse" : "CreateTicket"), ($this->withcancel ? "Cancel" : "")); + + /* + print '
    '; + print ''; if ($this->withcancel) { print "      "; print ''; } print '
    '; + */ print ''."\n"; @@ -561,28 +646,33 @@ class FormTicket /** * Return html list of ticket anaytic codes * - * @param string $selected Id categorie pre-selectionnée - * @param string $htmlname Nom de la zone select - * @param string $filtertype To filter on some properties in llx_c_ticket_category ('public = 1'). This parameter must not come from input of users. - * @param int $format 0=id+libelle, 1=code+code, 2=code+libelle, 3=id+code - * @param int $empty 1=peut etre vide, 0 sinon - * @param int $noadmininfo 0=Add admin info, 1=Disable admin info - * @param int $maxlength Max length of label - * @param string $morecss More CSS - * @param int $use_multilevel if != 0 create a multilevel select ( Do not use any of the other params) + * @param string $selected Id categorie pre-selectionnée + * @param string $htmlname Name of select component + * @param string $filtertype To filter on some properties in llx_c_ticket_category ('public = 1'). This parameter must not come from input of users. + * @param int $format 0=id+libelle, 1=code+code, 2=code+libelle, 3=id+code + * @param int $empty 1=peut etre vide, 0 sinon + * @param int $noadmininfo 0=Add admin info, 1=Disable admin info + * @param int $maxlength Max length of label + * @param string $morecss More CSS + * @param int $use_multilevel If > 0 create a multilevel select which use $htmlname example: $use_multilevel = 1 permit to have 2 select boxes. + * @param Translate $outputlangs Output lnaguage * @return void */ - public function selectGroupTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '', $use_multilevel = 0) + public function selectGroupTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '', $use_multilevel = 0, $outputlangs = null) { - global $langs, $user; + global $conf, $langs, $user; - if ($use_multilevel == 0) { - $ticketstat = new Ticket($this->db); + dol_syslog(get_class($this)."::selectCategoryTickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG); - dol_syslog(get_class($this)."::selectCategoryTickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG); + if (is_null($outputlangs) || !is_object($outputlangs)) { + $outputlangs = $langs; + } + $outputlangs->load("ticket"); - $ticketstat->loadCacheCategoriesTickets(); + $ticketstat = new Ticket($this->db); + $ticketstat->loadCacheCategoriesTickets(); + if ($use_multilevel <= 0) { print ''; + $stringtoprint .= ''; - } - $stringtoprint .= ' '; - - $stringtoprint .= ''; } else { - dol_print_error($this->db); + $stringtoprint .= ''; + $stringtoprint .= ''; } - $stringtoprint .=''; + $stringtoprint .= ' '; - $stringtoprint .=''; + } + $stringtoprint .=''; + $stringtoprint .= ajax_combobox($htmlname); + return $stringtoprint; } } @@ -1022,7 +1248,7 @@ class FormTicket // External users can't send message email if ($user->rights->ticket->write && !$user->socid) { print '
    '; @@ -1035,7 +1261,7 @@ class FormTicket print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); } print '   '; - print ''; + print ''; print ''; } @@ -1050,7 +1276,7 @@ class FormTicket } // Subject - print ''; + print ''; print ''; @@ -1205,7 +1431,7 @@ class FormTicket print '
    '; $ret .= $this->selectDate($selected, $htmlname, $displayhour, $displaymin, 1, 'form'.$htmlname, 1, 0); @@ -5246,12 +5299,13 @@ class Form * @param string $page Page * @param int $selected Id mode pre-selectionne * @param string $htmlname Name of select html field - * @param string $filtertype To filter on field type in llx_c_paiement (array('code'=>xx,'label'=>zz)) + * @param string $filtertype To filter on field type in llx_c_paiement ('CRDT' or 'DBIT' or array('code'=>xx,'label'=>zz)) * @param int $active Active or not, -1 = all - * @param int $addempty 1=Add empty entry + * @param int $addempty 1=Add empty entry + * @param string $type Type ('direct-debit' or 'bank-transfer') * @return void */ - public function form_modes_reglement($page, $selected = '', $htmlname = 'mode_reglement_id', $filtertype = '', $active = 1, $addempty = 0) + public function form_modes_reglement($page, $selected = '', $htmlname = 'mode_reglement_id', $filtertype = '', $active = 1, $addempty = 0, $type = '') { // phpcs:enable global $langs; @@ -5259,7 +5313,10 @@ class Form print ''; print ''; print ''; - $this->select_types_paiements($selected, $htmlname, $filtertype, 0, $addempty, 0, 0, $active); + if ($type) { + print ''; + } + print $this->select_types_paiements($selected, $htmlname, $filtertype, 0, $addempty, 0, 0, $active, '', 1); print ''; print ''; } else { @@ -5744,11 +5801,11 @@ class Form return $num; } else { - $this->error = ''.$langs->trans("ErrorNoVATRateDefinedForSellerCountry", $country_code).''; + $this->error = ''.$langs->trans("ErrorNoVATRateDefinedForSellerCountry", $country_code).''; return -1; } } else { - $this->error = ''.$this->db->error().''; + $this->error = ''.$this->db->error().''; return -2; } } @@ -5799,9 +5856,9 @@ class Form // Check parameters if (is_object($societe_vendeuse) && !$societe_vendeuse->country_code) { if ($societe_vendeuse->id == $mysoc->id) { - $return .= ''.$langs->trans("ErrorYourCountryIsNotDefined").''; + $return .= ''.$langs->trans("ErrorYourCountryIsNotDefined").''; } else { - $return .= ''.$langs->trans("ErrorSupplierCountryIsNotDefined").''; + $return .= ''.$langs->trans("ErrorSupplierCountryIsNotDefined").''; } return $return; } @@ -6573,13 +6630,220 @@ class Form return; } + /** + * Return list of tickets in Ajax if Ajax activated or go to selectTicketsList + * + * @param int $selected Preselected tickets + * @param string $htmlname Name of HTML select field (must be unique in page). + * @param string $filtertype To add a filter + * @param int $limit Limit on number of returned lines + * @param int $status Ticket status + * @param string $selected_input_value Value of preselected input text (for use with ajax) + * @param int $hidelabel Hide label (0=no, 1=yes, 2=show search icon (before) and placeholder, 3 search icon after) + * @param array $ajaxoptions Options for ajax_autocompleter + * @param int $socid Thirdparty Id (to get also price dedicated to this customer) + * @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text. + * @param int $forcecombo Force to use combo box + * @param string $morecss Add more css on select + * @param array $selected_combinations Selected combinations. Format: array([attrid] => attrval, [...]) + * @param string $nooutput No print, return the output into a string + * @return void|string + */ + public function selectTickets($selected = '', $htmlname = 'ticketid', $filtertype = '', $limit = 0, $status = 1, $selected_input_value = '', $hidelabel = 0, $ajaxoptions = array(), $socid = 0, $showempty = '1', $forcecombo = 0, $morecss = '', $selected_combinations = null, $nooutput = 0) + { + global $langs, $conf; + + $out = ''; + + // check parameters + if (is_null($ajaxoptions)) $ajaxoptions = array(); + + if (!empty($conf->use_javascript_ajax) && !empty($conf->global->TICKET_USE_SEARCH_TO_SELECT)) { + $placeholder = ''; + + if ($selected && empty($selected_input_value)) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + $tickettmpselect = new Ticket($this->db); + $tickettmpselect->fetch($selected); + $selected_input_value = $tickettmpselect->ref; + unset($tickettmpselect); + } + + $out .= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/ticket/ajax/tickets.php', $urloption, $conf->global->PRODUIT_USE_SEARCH_TO_SELECT, 1, $ajaxoptions); + + if (empty($hidelabel)) $out .= $langs->trans("RefOrLabel").' : '; + elseif ($hidelabel > 1) { + $placeholder = ' placeholder="'.$langs->trans("RefOrLabel").'"'; + if ($hidelabel == 2) { + $out .= img_picto($langs->trans("Search"), 'search'); + } + } + $out .= 'global->PRODUCT_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />'; + if ($hidelabel == 3) { + $out .= img_picto($langs->trans("Search"), 'search'); + } + } else { + $out .= $this->selectTicketsList($selected, $htmlname, $filtertype, $limit, $status, 0, $socid, $showempty, $forcecombo, $morecss); + } + + if (empty($nooutput)) print $out; + else return $out; + } + + + /** + * Return list of tickets. + * Called by selectTickets. + * + * @param int $selected Preselected ticket + * @param string $htmlname Name of select html + * @param string $filtertype Filter on ticket type + * @param int $limit Limit on number of returned lines + * @param string $filterkey Filter on ticket ref or subject + * @param int $status Ticket status + * @param int $outputmode 0=HTML select string, 1=Array + * @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text. + * @param int $forcecombo Force to use combo box + * @param string $morecss Add more css on select + * @return array Array of keys for json + */ + public function selectTicketsList($selected = '', $htmlname = 'ticketid', $filtertype = '', $limit = 20, $filterkey = '', $status = 1, $outputmode = 0, $showempty = '1', $forcecombo = 0, $morecss = '') + { + global $langs, $conf, $user, $db; + + $out = ''; + $outarray = array(); + + $selectFields = " p.rowid, p.ref, p.message"; + + $sql = "SELECT "; + $sql .= $selectFields; + $sql .= " FROM ".MAIN_DB_PREFIX."ticket as p"; + $sql .= ' WHERE p.entity IN ('.getEntity('ticket').')'; + + // Add criteria on ref/label + if ($filterkey != '') { + $sql .= ' AND ('; + $prefix = empty($conf->global->TICKET_DONOTSEARCH_ANYWHERE) ? '%' : ''; // Can use index if PRODUCT_DONOTSEARCH_ANYWHERE is on + // For natural search + $scrit = explode(' ', $filterkey); + $i = 0; + if (count($scrit) > 1) $sql .= "("; + foreach ($scrit as $crit) { + if ($i > 0) $sql .= " AND "; + $sql .= "(p.ref LIKE '".$this->db->escape($prefix.$crit)."%' OR p.subject LIKE '".$this->db->escape($prefix.$crit)."%'"; + $sql .= ")"; + $i++; + } + if (count($scrit) > 1) $sql .= ")"; + $sql .= ')'; + } + + $sql .= $this->db->plimit($limit, 0); + + // Build output string + dol_syslog(get_class($this)."::selectTicketsList search tickets", LOG_DEBUG); + $result = $this->db->query($sql); + if ($result) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/ticket.lib.php'; + + $num = $this->db->num_rows($result); + + $events = null; + + if (!$forcecombo) { + include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; + $out .= ajax_combobox($htmlname, $events, $conf->global->TICKET_USE_SEARCH_TO_SELECT); + } + + $out .= ''; + + $this->db->free($result); + + if (empty($outputmode)) return $out; + return $outarray; + } else { + dol_print_error($db); + } + } + + /** + * constructTicketListOption. + * This define value for &$opt and &$optJson. + * + * @param resource $objp Result set of fetch + * @param string $opt Option (var used for returned value in string option format) + * @param string $optJson Option (var used for returned value in json format) + * @param string $selected Preselected value + * @param string $filterkey Filter key to highlight + * @return void + */ + protected function constructTicketListOption(&$objp, &$opt, &$optJson, $selected, $filterkey = '') + { + global $langs, $conf, $user, $db; + + $outkey = ''; + $outval = ''; + $outref = ''; + $outlabel = ''; + $outtype = ''; + + $label = $objp->label; + + $outkey = $objp->rowid; + $outref = $objp->ref; + $outlabel = $objp->label; + $outtype = $objp->fk_product_type; + + $opt = '\n"; + $optJson = array('key'=>$outkey, 'value'=>$outref, 'type'=>$outtypem); + } + /** * Generic method to select a component from a combo list. * Can use autocomplete with ajax after x key pressed or a full combo, depending on setup. * This is the generic method that will replace all specific existing methods. * - * @param string $objectdesc ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]] + * @param string $objectdesc ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]] * @param string $htmlname Name of HTML select component * @param int $preselectedvalue Preselected value (ID of element) * @param string $showempty ''=empty values not allowed, 'string'=value show if we allow empty values (for example 'All', ...) @@ -6604,6 +6868,7 @@ class Form $classpath = $InfoFieldList[1]; $addcreatebuttonornot = empty($InfoFieldList[2]) ? 0 : $InfoFieldList[2]; $filter = empty($InfoFieldList[3]) ? '' : $InfoFieldList[3]; + $sortfield = empty($InfoFieldList[4]) ? '' : $InfoFieldList[4]; if (!empty($classpath)) { dol_include_once($classpath); @@ -6649,17 +6914,14 @@ class Form $urlforajaxcall = DOL_URL_ROOT.'/core/ajax/selectobject.php'; // No immediate load of all database - $urloption = 'htmlname='.$htmlname.'&outjson=1&objectdesc='.$objectdesc.'&filter='.urlencode($objecttmp->filter); + $urloption = 'htmlname='.urlencode($htmlname).'&outjson=1&objectdesc='.urlencode($objectdesc).'&filter='.urlencode($objecttmp->filter).($sortfield ? '&sortfield='.urlencode($sortfield) : ''); // Activate the auto complete using ajax call. $out .= ajax_autocompleter($preselectedvalue, $htmlname, $urlforajaxcall, $urloption, $conf->global->$confkeyforautocompletemode, 0, array()); - $out .= ''; - if ($placeholder) { - $placeholder = ' placeholder="'.$placeholder.'"'; - } - $out .= ''; + $out .= ''; + $out .= ''; } else { // Immediate load of table record. Note: filter is inside $objecttmp->filter - $out .= $this->selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty, $searchkey, $placeholder, $morecss, $moreparams, $forcecombo, 0, $disabled); + $out .= $this->selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty, $searchkey, $placeholder, $morecss, $moreparams, $forcecombo, 0, $disabled, $sortfield); } return $out; @@ -6709,10 +6971,11 @@ class Form * @param int $forcecombo Force to load all values and output a standard combobox (with no beautification) * @param int $outputmode 0=HTML select string, 1=Array * @param int $disabled 1=Html component is disabled + * @param string $sortfield Sort field * @return string|array Return HTML string * @see selectForForms() */ - public function selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty = '', $searchkey = '', $placeholder = '', $morecss = '', $moreparams = '', $forcecombo = 0, $outputmode = 0, $disabled = 0) + public function selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty = '', $searchkey = '', $placeholder = '', $morecss = '', $moreparams = '', $forcecombo = 0, $outputmode = 0, $disabled = 0, $sortfield = '') { global $conf, $langs, $user, $hookmanager; @@ -6759,13 +7022,15 @@ class Form // Search data $sql = "SELECT t.rowid, ".$fieldstoshow." FROM ".MAIN_DB_PREFIX.$objecttmp->table_element." as t"; - if (isset($objecttmp->ismultientitymanaged) && !is_numeric($objecttmp->ismultientitymanaged)) { - $tmparray = explode('@', $objecttmp->ismultientitymanaged); - $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.$tmparray[1].' as parenttable ON parenttable.rowid = t.'.$tmparray[0]; - } - if ($objecttmp->ismultientitymanaged == 'fk_soc@societe') { - if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + if (isset($objecttmp->ismultientitymanaged)) { + if (!is_numeric($objecttmp->ismultientitymanaged)) { + $tmparray = explode('@', $objecttmp->ismultientitymanaged); + $sql .= " INNER JOIN ".MAIN_DB_PREFIX.$tmparray[1]." as parenttable ON parenttable.rowid = t.".$tmparray[0]; + } + if ($objecttmp->ismultientitymanaged === 'fk_soc@societe') { + if (!$user->rights->societe->client->voir && !$user->socid) { + $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + } } } @@ -6776,27 +7041,29 @@ class Form $sql .= $hookmanager->resPrint; } else { $sql .= " WHERE 1=1"; - if (isset($objecttmp->ismultientitymanaged) && $objecttmp->ismultientitymanaged == 1) { - $sql .= " AND t.entity IN (".getEntity($objecttmp->table_element).")"; - } - if (isset($objecttmp->ismultientitymanaged) && !is_numeric($objecttmp->ismultientitymanaged)) { - $sql .= ' AND parenttable.entity = t.'.$tmparray[0]; - } - if ($objecttmp->ismultientitymanaged == 1 && !empty($user->socid)) { - if ($objecttmp->element == 'societe') { - $sql .= " AND t.rowid = ".$user->socid; - } else { - $sql .= " AND t.fk_soc = ".$user->socid; + if (isset($objecttmp->ismultientitymanaged)) { + if ($objecttmp->ismultientitymanaged == 1) { + $sql .= " AND t.entity IN (".getEntity($objecttmp->table_element).")"; + } + if (!is_numeric($objecttmp->ismultientitymanaged)) { + $sql .= " AND parenttable.entity = t.".$tmparray[0]; + } + if ($objecttmp->ismultientitymanaged == 1 && !empty($user->socid)) { + if ($objecttmp->element == 'societe') { + $sql .= " AND t.rowid = ".((int) $user->socid); + } else { + $sql .= " AND t.fk_soc = ".((int) $user->socid); + } + } + if ($objecttmp->ismultientitymanaged === 'fk_soc@societe') { + if (!$user->rights->societe->client->voir && !$user->socid) { + $sql .= " AND t.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); + } } } if ($searchkey != '') { $sql .= natural_search(explode(',', $fieldstoshow), $searchkey); } - if ($objecttmp->ismultientitymanaged == 'fk_soc@societe') { - if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND t.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; - } - } if ($objecttmp->filter) { // Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')" /*if (! DolibarrApi::_checkFilters($objecttmp->filter)) { @@ -6806,7 +7073,7 @@ class Form $sql .= " AND (".preg_replace_callback('/'.$regexstring.'/', 'Form::forgeCriteriaCallback', $objecttmp->filter).")"; } } - $sql .= $this->db->order($fieldstoshow, "ASC"); + $sql .= $this->db->order($sortfield ? $sortfield : $fieldstoshow, "ASC"); //$sql.=$this->db->plimit($limit, 0); //print $sql; @@ -7058,7 +7325,7 @@ class Form public static function selectArrayAjax($htmlname, $url, $id = '', $moreparam = '', $moreparamtourl = '', $disabled = 0, $minimumInputLength = 1, $morecss = '', $callurlonselect = 0, $placeholder = '', $acceptdelayedhtml = 0) { global $conf, $langs; - global $delayedhtmlcontent; + global $delayedhtmlcontent; // Will be used later outside of this function // TODO Use an internal dolibarr component instead of select2 if (empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) && !defined('REQUIRE_JQUERY_MULTISELECT')) { @@ -7067,68 +7334,71 @@ class Form $out = ''; - $tmpplugin = 'select2'; - $outdelayed = "\n".' - '; + }); + '; + } if ($acceptdelayedhtml) { $delayedhtmlcontent .= $outdelayed; @@ -7159,7 +7429,7 @@ class Form public static function selectArrayFilter($htmlname, $array, $id = '', $moreparam = '', $disableFiltering = 0, $disabled = 0, $minimumInputLength = 1, $morecss = '', $callurlonselect = 0, $placeholder = '', $acceptdelayedhtml = 0) { global $conf, $langs; - global $delayedhtmlcontent; + global $delayedhtmlcontent; // Will be used later outside of this function // TODO Use an internal dolibarr component instead of select2 if (empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) && !defined('REQUIRE_JQUERY_MULTISELECT')) { @@ -7178,74 +7448,77 @@ class Form $formattedarrayresult[] = $o; } - $tmpplugin = 'select2'; - $outdelayed = "\n".' - '; + '.($callurlonselect ? ' + /* Code to execute a GET when we select a value */ + $(".'.$htmlname.'").change(function() { + var selected = $(".'.$htmlname.'").val(); + console.log("We select "+selected) + + $(".'.$htmlname.'").val(""); /* reset visible combo value */ + $.each( saveRemoteData, function( key, value ) { + if (key == selected) + { + console.log("selectArrayFilter - Do a redirect to "+value.url) + location.assign(value.url); + } + }); + });' : '').' + + }); + '; + } if ($acceptdelayedhtml) { $delayedhtmlcontent .= $outdelayed; @@ -7288,7 +7561,7 @@ class Form } // Add code for jquery to use multiselect - if (!empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) { + if (!empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) { $out .= "\n".''; $out .= "\n".''; $out .= ''; $out .= ''; @@ -494,10 +497,10 @@ class FormOther } if (empty($user->rights->user->user->lire)) { - $sql_usr .= " AND u.rowid = ".$user->id; + $sql_usr .= " AND u.rowid = ".((int) $user->id); } if (!empty($user->socid)) { - $sql_usr .= " AND u.fk_soc = ".$user->socid; + $sql_usr .= " AND u.fk_soc = ".((int) $user->socid); } //Add hook to filter on user (for exemple on usergroup define in custom modules) @@ -521,7 +524,7 @@ class FormOther $sql_usr .= " WHERE u2.entity IN (".getEntity('user').")"; } - $sql_usr .= " AND u2.rowid = sc.fk_user AND sc.fk_soc=".$user->socid; + $sql_usr .= " AND u2.rowid = sc.fk_user AND sc.fk_soc = ".((int) $user->socid); //Add hook to filter on user (for exemple on usergroup define in custom modules) if (!empty($reshook)) { @@ -860,9 +863,9 @@ class FormOther } }, function(color, context) { console.log("close"); }, - function(color, context) { var hex = color.val(\'hex\'); console.log("new color selected in jpicker "+hex);'; + function(color, context) { var hex = color.val(\'hex\'); console.log("new color selected in jpicker "+hex+" setpropertyonselect='.dol_escape_js($setpropertyonselect).'");'; if ($setpropertyonselect) { - $out .= ' if (hex != null) document.documentElement.style.setProperty(\'--'.$setpropertyonselect.'\', \'#\'+hex);'; + $out .= ' if (hex != null) document.documentElement.style.setProperty(\'--'.dol_escape_js($setpropertyonselect).'\', \'#\'+hex);'; } $out .= '}, function(color, context) { console.log("cancel"); } @@ -1206,7 +1209,7 @@ class FormOther async: false }); // We force reload to be sure to get all boxes into list - window.location.search=\'mainmenu='.GETPOST("mainmenu", "aZ09").'&leftmenu='.GETPOST('leftmenu', "aZ09").'&action=delbox\'; + window.location.search=\'mainmenu='.GETPOST("mainmenu", "aZ09").'&leftmenu='.GETPOST('leftmenu', "aZ09").'&action=delbox&token='.newToken().'\'; } else { diff --git a/htdocs/core/class/html.formprojet.class.php b/htdocs/core/class/html.formprojet.class.php index 4177c4237b8..18b42c597bf 100644 --- a/htdocs/core/class/html.formprojet.class.php +++ b/htdocs/core/class/html.formprojet.class.php @@ -39,6 +39,8 @@ class FormProjets */ public $error = ''; + public $nboftasks; + /** * Constructor @@ -307,11 +309,11 @@ class FormProjets * @param int $disabled Disabled * @param string $morecss More css added to the select component * @param string $projectsListId ''=Automatic filter on project allowed. List of id=Filter on project ids. - * @param string $showproject 'all' = Show project info, ''=Hide project info + * @param string $showmore 'all' = Show project info, 'progress' = Show task progression, ''=Show nothing more * @param User $usertofilter User object to use for filtering * @return int Nbr of tasks if OK, <0 if KO */ - public function selectTasks($socid = -1, $selected = '', $htmlname = 'taskid', $maxlength = 24, $option_only = 0, $show_empty = '1', $discard_closed = 0, $forcefocus = 0, $disabled = 0, $morecss = 'maxwidth500', $projectsListId = '', $showproject = 'all', $usertofilter = null) + public function selectTasks($socid = -1, $selected = '', $htmlname = 'taskid', $maxlength = 24, $option_only = 0, $show_empty = '1', $discard_closed = 0, $forcefocus = 0, $disabled = 0, $morecss = 'maxwidth500', $projectsListId = '', $showmore = 'all', $usertofilter = null) { global $user, $conf, $langs; @@ -336,7 +338,8 @@ class FormProjets } // Search all projects - $sql = 'SELECT t.rowid, t.ref as tref, t.label as tlabel, p.rowid as pid, p.ref, p.title, p.fk_soc, p.fk_statut, p.public,'; + $sql = 'SELECT t.rowid, t.ref as tref, t.label as tlabel, t.progress,'; + $sql .= ' p.rowid as pid, p.ref, p.title, p.fk_soc, p.fk_statut, p.public, p.usage_task,'; $sql .= ' s.nom as name'; $sql .= ' FROM '.MAIN_DB_PREFIX.'projet as p'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON s.rowid = p.fk_soc,'; @@ -350,7 +353,7 @@ class FormProjets $sql .= " AND (p.fk_soc=0 OR p.fk_soc IS NULL)"; } if ($socid > 0) { - $sql .= " AND (p.fk_soc=".$socid." OR p.fk_soc IS NULL)"; + $sql .= " AND (p.fk_soc=".((int) $socid)." OR p.fk_soc IS NULL)"; } $sql .= " ORDER BY p.ref, t.ref ASC"; @@ -407,7 +410,7 @@ class FormProjets $disabled = 1; } - if ($showproject == 'all') { + if (preg_match('/all/', $showmore)) { $labeltoshow .= dol_trunc($obj->ref, 18); // Project ref //if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')'; //else $labeltoshow.=' ('.$langs->trans("Private").')'; @@ -442,6 +445,10 @@ class FormProjets // Label for task $labeltoshow .= $obj->tref.' '.dol_trunc($obj->tlabel, $maxlength); $titletoshow .= $obj->tref.' '.dol_trunc($obj->tlabel, $maxlength); + if ($obj->usage_task && preg_match('/progress/', $showmore)) { + $labeltoshow .= ' ('.$obj->progress.'%)'; + $titletoshow .= ' ('.$obj->progress.'%)'; + } if (!empty($selected) && $selected == $obj->rowid) { $out .= '
    '; @@ -263,7 +320,7 @@ class FormTicket require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; print '
    '; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -272,6 +329,19 @@ class FormTicket print '
    '.$langs->trans("Categories").''; + print img_picto('', 'category').$form->multiselectarray('categories', $cate_arbo, GETPOST('categories', 'array'), '', 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0); + print "
    '; + print $langs->trans("AssignedTo"); + print ''; + print img_picto('', 'user', 'class="pictofixedwidth"'); + print $form->select_dolusers(GETPOST('fk_user_assign', 'int'), 'fk_user_assign', 1); + print '
    '; - $checkbox_selected = (GETPOST('send_email') == "1" ? ' checked' : ''); + $checkbox_selected = (GETPOST('send_email') == "1" ? ' checked' : ($conf->global->TICKETS_MESSAGE_FORCE_MAIL?'checked':'')); print ' '; print ''; print '
    '; print '

    '; - print ''; + print ''; if ($this->withcancel) { print "     "; print ''; diff --git a/htdocs/core/class/infobox.class.php b/htdocs/core/class/infobox.class.php index fb59e2b7c42..bdd0f79a0aa 100644 --- a/htdocs/core/class/infobox.class.php +++ b/htdocs/core/class/infobox.class.php @@ -83,7 +83,7 @@ class InfoBox /** * Return array of boxes qualified for area and user * - * @param DoliDB $db Database handler + * @param DoliDB $dbs Database handler * @param string $mode 'available' or 'activated' * @param int $zone Name or area (-1 for all, 0 for Homepage, 1 for Accountancy, 2 for xxx, ...) * @param User|null $user Object user to filter @@ -91,7 +91,7 @@ class InfoBox * @param int $includehidden Include also hidden boxes * @return array Array of boxes */ - public static function listBoxes($db, $mode, $zone, $user = null, $excludelist = array(), $includehidden = 1) + public static function listBoxes($dbs, $mode, $zone, $user = null, $excludelist = array(), $includehidden = 1) { global $conf; @@ -119,12 +119,12 @@ class InfoBox } dol_syslog(get_class()."::listBoxes get default box list for mode=".$mode." userid=".(is_object($user) ? $user->id : '')."", LOG_DEBUG); - $resql = $db->query($sql); + $resql = $dbs->query($sql); if ($resql) { - $num = $db->num_rows($resql); + $num = $dbs->num_rows($resql); $j = 0; while ($j < $num) { - $obj = $db->fetch_object($resql); + $obj = $dbs->fetch_object($resql); if (!in_array($obj->box_id, $excludelist)) { $regs = array(); @@ -144,7 +144,7 @@ class InfoBox // Goal is to avoid making a "new" done for each boxes returned by select. dol_include_once($relsourcefile); if (class_exists($boxname)) { - $box = new $boxname($db, $obj->note); // Constructor may set properties like box->enabled. obj->note is note into box def, not user params. + $box = new $boxname($dbs, $obj->note); // Constructor may set properties like box->enabled. obj->note is note into box def, not user params. //$box=new stdClass(); // box properties @@ -204,8 +204,8 @@ class InfoBox $j++; } } else { - dol_syslog($db->lasterror(), LOG_ERR); - return array('error'=>$db->lasterror()); + dol_syslog($dbs->lasterror(), LOG_ERR); + return array('error'=>$dbs->lasterror()); } return $boxes; @@ -215,13 +215,13 @@ class InfoBox /** * Save order of boxes for area and user * - * @param DoliDB $db Database handler + * @param DoliDB $dbs Database handler * @param int $zone Name of area (0 for Homepage, ...) * @param string $boxorder List of boxes with correct order 'A:123,456,...-B:789,321...' * @param int $userid Id of user * @return int <0 if KO, 0=Nothing done, > 0 if OK */ - public static function saveboxorder($db, $zone, $boxorder, $userid = 0) + public static function saveboxorder($dbs, $zone, $boxorder, $userid = 0) { global $conf; @@ -235,18 +235,18 @@ class InfoBox return 0; } - $user = new User($db); + $user = new User($dbs); $user->id = $userid; - $db->begin(); + $dbs->begin(); // Save parameters to say user has a dedicated setup $tab = array(); $confuserzone = 'MAIN_BOXES_'.$zone; $tab[$confuserzone] = 1; - if (dol_set_user_param($db, $conf, $user, $tab) < 0) { - $error = $db->lasterror(); - $db->rollback(); + if (dol_set_user_param($dbs, $conf, $user, $tab) < 0) { + $error = $dbs->lasterror(); + $dbs->rollback(); return -3; } @@ -257,7 +257,7 @@ class InfoBox $sql .= " AND position = ".((int) $zone); dol_syslog(get_class()."::saveboxorder", LOG_DEBUG); - $result = $db->query($sql); + $result = $dbs->query($sql); if ($result) { $colonnes = explode('-', $boxorder); foreach ($colonnes as $collist) { @@ -279,12 +279,12 @@ class InfoBox $sql .= " values ("; $sql .= " ".((int) $id).","; $sql .= " ".((int) $zone).","; - $sql .= " '".$db->escape($colonne.$ii)."',"; + $sql .= " '".$dbs->escape($colonne.$ii)."',"; $sql .= " ".((int) $userid).","; $sql .= " ".((int) $conf->entity); $sql .= ")"; - $result = $db->query($sql); + $result = $dbs->query($sql); if ($result < 0) { $error++; break; @@ -297,10 +297,10 @@ class InfoBox } if ($error) { - $db->rollback(); + $dbs->rollback(); return -2; } else { - $db->commit(); + $dbs->commit(); return 1; } } diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index a2e5d450869..e2ce33cc45f 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -205,14 +205,26 @@ class Ldap if ($this->serverPing($host, $this->serverPort) === true) { $this->connection = ldap_connect($host, $this->serverPort); } else { - continue; + if (preg_match('/^ldaps/i', $host)) { + // With host = ldaps://server, the serverPing to ssl://server sometimes fails, even if the ldap_connect succeed, so + // we test this case and continue in suche a case even if serverPing fails. + $this->connection = ldap_connect($host, $this->serverPort); + } else { + continue; + } } if (is_resource($this->connection)) { - // Begin TLS if requested by the configuration + // Upgrade connexion to TLS, if requested by the configuration if (!empty($conf->global->LDAP_SERVER_USE_TLS)) { - if (!ldap_start_tls($this->connection)) { + // For test/debug + //ldap_set_option($this->connection, LDAP_OPT_DEBUG_LEVEL, 7); + //ldap_set_option($this->connection, LDAP_OPT_PROTOCOL_VERSION, 3); + + $resulttls = ldap_start_tls($this->connection); + if (!$resulttls) { dol_syslog(get_class($this)."::connect_bind failed to start tls", LOG_WARNING); + $this->error = 'ldap_start_tls Failed to start TLS '.ldap_errno($this->connection).' '.ldap_error($this->connection); $connected = 0; $this->close(); } @@ -474,6 +486,11 @@ class Ldap // For better compatibility with Samba4 AD if ($this->serverType == "activedirectory") { unset($info['cn']); // To avoid error : Operation not allowed on RDN (Code 67) + + // To avoid error : LDAP Error: 53 (Unwilling to perform) + if (isset($info['unicodePwd'])) { + $info['unicodePwd'] = mb_convert_encoding("\"".$info['unicodePwd']."\"", "UTF-16LE", "UTF-8"); + } } $result = @ldap_modify($this->connection, $dn, $info); @@ -689,22 +706,38 @@ class Ldap /** * Ping a server before ldap_connect for avoid waiting * - * @param string $host Server host or address + * @param string $host Server host or address * @param int $port Server port (default 389) - * @param int $timeout Timeout in second (default 1s) + * @param int $timeout Timeout in second (default 1s) * @return boolean true or false */ public function serverPing($host, $port = 389, $timeout = 1) { - // Replace ldaps:// by ssl:// + $regs = array(); if (preg_match('/^ldaps:\/\/([^\/]+)\/?$/', $host, $regs)) { + // Replace ldaps:// by ssl:// $host = 'ssl://'.$regs[1]; - } - // Remove ldap:// - if (preg_match('/^ldap:\/\/([^\/]+)\/?$/', $host, $regs)) { + } elseif (preg_match('/^ldap:\/\/([^\/]+)\/?$/', $host, $regs)) { + // Remove ldap:// $host = $regs[1]; } + + //var_dump($newhostforstream); var_dump($host); var_dump($port); + //$host = 'ssl://ldap.test.local:636'; + //$port = 636; + + $errno = $errstr = 0; + /* + if ($methodtochecktcpconnect == 'socket') { + Try to use socket_create() method. + Method that use stream_context_create() works only on registered listed in stream stream_get_wrappers(): http, https, ftp, ... + } + */ + + // Use the method fsockopen to test tcp connect. No way to ignore ssl certificate errors with this method ! $op = @fsockopen($host, $port, $errno, $errstr, $timeout); + + //var_dump($op); if (!$op) { return false; //DC is N/A } else { diff --git a/htdocs/core/class/link.class.php b/htdocs/core/class/link.class.php index be81c1e2737..eaf4804b213 100644 --- a/htdocs/core/class/link.class.php +++ b/htdocs/core/class/link.class.php @@ -102,7 +102,7 @@ class Link extends CommonObject $sql .= ", '".$this->db->escape($this->url)."'"; $sql .= ", '".$this->db->escape($this->label)."'"; $sql .= ", '".$this->db->escape($this->objecttype)."'"; - $sql .= ", ".$this->objectid.")"; + $sql .= ", ".((int) $this->objectid).")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); $result = $this->db->query($sql); @@ -182,7 +182,7 @@ class Link extends CommonObject $sql .= ", label = '".$this->db->escape($this->label)."'"; $sql .= ", objecttype = '".$this->db->escape($this->objecttype)."'"; $sql .= ", objectid = ".$this->objectid; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update sql = ".$sql); $resql = $this->db->query($sql); @@ -274,24 +274,24 @@ class Link extends CommonObject /** * Return nb of links * - * @param DoliDb $db Database handler + * @param DoliDb $dbs Database handler * @param string $objecttype Type of the associated object in dolibarr * @param int $objectid Id of the associated object in dolibarr * @return int Nb of links, -1 if error **/ - public static function count($db, $objecttype, $objectid) + public static function count($dbs, $objecttype, $objectid) { global $conf; $sql = "SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."links"; - $sql .= " WHERE objecttype = '".$db->escape($objecttype)."' AND objectid = ".((int) $objectid); + $sql .= " WHERE objecttype = '".$dbs->escape($objecttype)."' AND objectid = ".((int) $objectid); if ($conf->entity != 0) { $sql .= " AND entity = ".$conf->entity; } - $resql = $db->query($sql); + $resql = $dbs->query($sql); if ($resql) { - $obj = $db->fetch_object($resql); + $obj = $dbs->fetch_object($resql); if ($obj) { return $obj->nb; } @@ -365,7 +365,7 @@ class Link extends CommonObject // Remove link $sql = "DELETE FROM ".MAIN_DB_PREFIX."links"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); if (!$this->db->query($sql)) { diff --git a/htdocs/core/class/notify.class.php b/htdocs/core/class/notify.class.php index 6b32799bc89..019618366d1 100644 --- a/htdocs/core/class/notify.class.php +++ b/htdocs/core/class/notify.class.php @@ -65,7 +65,7 @@ class Notify // Les codes actions sont definis dans la table llx_notify_def // codes actions supported are - // @todo defined also into interface_50_modNotificiation_Notificiation.class.php + // @todo defined also into interface_50_modNotification_Notification.class.php public $arrayofnotifsupported = array( 'BILL_VALIDATE', 'BILL_PAYED', @@ -80,8 +80,8 @@ class Notify 'SHIPPING_VALIDATE', 'EXPENSE_REPORT_VALIDATE', 'EXPENSE_REPORT_APPROVE', - 'HOLIDAY_VALIDATE', - 'HOLIDAY_APPROVE', + 'HOLIDAY_VALIDATE', + 'HOLIDAY_APPROVE', 'ACTION_CREATE' ); @@ -398,7 +398,7 @@ class Notify $sql .= " WHERE n.fk_user = c.rowid AND a.rowid = n.fk_action"; $sql .= " AND c.statut = 1"; if (is_numeric($notifcode)) { - $sql .= " AND n.fk_action = ".$notifcode; // Old usage + $sql .= " AND n.fk_action = ".((int) $notifcode); // Old usage } else { $sql .= " AND a.code = '".$this->db->escape($notifcode)."'"; // New usage } @@ -515,7 +515,7 @@ class Notify case 'SHIPPING_VALIDATE': $link = ''.$newref.''; $dir_output = $conf->expedition->dir_output."/sending/".get_exdir(0, 0, 0, 1, $object, 'shipment'); - $object_type = 'expedition'; + $object_type = 'shipping'; $labeltouse = $conf->global->SHIPPING_VALIDATE_TEMPLATE; $mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpeditionValidated", $link); break; @@ -546,7 +546,7 @@ class Notify $object_type = 'holiday'; $labeltouse = $conf->global->HOLIDAY_APPROVE_TEMPLATE; $mesg = $outputlangs->transnoentitiesnoconv("EMailTextHolidayApproved", $link); - break; + break; case 'ACTION_CREATE': $link = ''.$newref.''; $dir_output = $conf->agenda->dir_output; @@ -567,10 +567,10 @@ class Notify $subject = make_substitutions($arraydefaultmessage->topic, $substitutionarray, $outputlangs); $message = make_substitutions($arraydefaultmessage->content, $substitutionarray, $outputlangs); } else { - $message = $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification", $application, $mysoc->name)."\n"; - $message .= $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n"; - $message .= "\n"; - $message .= $mesg; + $message = $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification", $application, $mysoc->name)."\n"; + $message .= $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n"; + $message .= "\n"; + $message .= $mesg; } $ref = dol_sanitizeFileName($newref); @@ -622,10 +622,10 @@ class Notify if ($mailfile->sendfile()) { if ($obj->type_target == 'touserid') { $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_user, type, objet_type, type_target, objet_id, email)"; - $sql .= " VALUES ('".$this->db->idate(dol_now())."', ".$notifcodedefid.", ".($object->socid ? $object->socid : 'null').", ".$obj->cid.", '".$obj->type."', '".$object_type."', '".$obj->type_target."', ".$object->id.", '".$this->db->escape($obj->email)."')"; + $sql .= " VALUES ('".$this->db->idate(dol_now())."', ".((int) $notifcodedefid).", ".($object->socid > 0 ? ((int) $object->socid) : 'null').", ".((int) $obj->cid).", '".$this->db->escape($obj->type)."', '".$this->db->escape($object_type)."', '".$this->db->escape($obj->type_target)."', ".((int) $object->id).", '".$this->db->escape($obj->email)."')"; } else { $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, type_target, objet_id, email)"; - $sql .= " VALUES ('".$this->db->idate(dol_now())."', ".$notifcodedefid.", ".($object->socid ? $object->socid : 'null').", ".$obj->cid.", '".$obj->type."', '".$object_type."', '".$obj->type_target."', ".$object->id.", '".$this->db->escape($obj->email)."')"; + $sql .= " VALUES ('".$this->db->idate(dol_now())."', ".((int) $notifcodedefid).", ".($object->socid > 0 ? ((int) $object->socid) : 'null').", ".((int) $obj->cid).", '".$this->db->escape($obj->type)."', '".$this->db->escape($object_type)."', '".$this->db->escape($obj->type_target)."', ".((int) $object->id).", '".$this->db->escape($obj->email)."')"; } if (!$this->db->query($sql)) { dol_print_error($this->db); @@ -687,7 +687,7 @@ class Notify break; case 'BILL_PAYED': $link = ''.$newref.''; - $dir_output = $$conf->facture->dir_output."/".get_exdir(0, 0, 0, 1, $object, 'invoice'); + $dir_output = $conf->facture->dir_output."/".get_exdir(0, 0, 0, 1, $object, 'invoice'); $object_type = 'facture'; $mesg = $langs->transnoentitiesnoconv("EMailTextInvoicePayed", $link); break; @@ -782,7 +782,7 @@ class Notify $dir_output = $conf->holiday->dir_output; $object_type = 'holiday'; $mesg = $langs->transnoentitiesnoconv("EMailTextHolidayApproved", $link); - break; + break; case 'ACTION_CREATE': $link = ''.$newref.''; $dir_output = $conf->agenda->dir_output; @@ -857,7 +857,7 @@ class Notify if ($mailfile->sendfile()) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, type_target, objet_type, objet_id, email)"; - $sql .= " VALUES ('".$this->db->idate(dol_now())."', ".$notifcodedefid.", ".($object->socid ? $object->socid : 'null').", null, 'email', 'tofixedemail', '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')"; + $sql .= " VALUES ('".$this->db->idate(dol_now())."', ".((int) $notifcodedefid).", ".($object->socid > 0 ? ((int) $object->socid) : 'null').", null, 'email', 'tofixedemail', '".$this->db->escape($object_type)."', ".((int) $object->id).", '".$this->db->escape($conf->global->$param)."')"; if (!$this->db->query($sql)) { dol_print_error($this->db); } diff --git a/htdocs/core/class/rssparser.class.php b/htdocs/core/class/rssparser.class.php index 6a8a91dbb05..c3c434d1aed 100644 --- a/htdocs/core/class/rssparser.class.php +++ b/htdocs/core/class/rssparser.class.php @@ -240,7 +240,7 @@ class RssParser if (!empty($conf->global->EXTERNALRSS_USE_SIMPLEXML)) { //print 'xx'.LIBXML_NOCDATA; libxml_use_internal_errors(false); - $rss = simplexml_load_string($str, "SimpleXMLElement", LIBXML_NOCDATA); + $rss = simplexml_load_string($str, "SimpleXMLElement", LIBXML_NOCDATA|LIBXML_NOCDATA); } else { if (!function_exists('xml_parser_create')) { $this->error = 'Function xml_parser_create are not supported by your PHP'; diff --git a/htdocs/core/class/smtps.class.php b/htdocs/core/class/smtps.class.php index a14edc36d36..4743d4559b6 100644 --- a/htdocs/core/class/smtps.class.php +++ b/htdocs/core/class/smtps.class.php @@ -231,7 +231,7 @@ class SMTPs /** * An array of options for stream_context_create() */ - private $_options = []; + private $_options = array(); /** * Set delivery receipt @@ -239,7 +239,7 @@ class SMTPs * @param array $_options An array of options for stream_context_create() * @return void */ - public function setOptions($_options = []) + public function setOptions($_options = array()) { $this->_options = $_options; } diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php index 4ac164b1d3a..ae9a8e56e58 100644 --- a/htdocs/core/class/stats.class.php +++ b/htdocs/core/class/stats.class.php @@ -617,4 +617,31 @@ abstract class Stats return $result; } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + /** + * Returns the summed amounts per year for a given number of past years ending now + * @param string $sql SQL + * @return array + */ + protected function _getAmountByYear($sql) + { + $result = array(); + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < $num) { + $row = $this->db->fetch_row($resql); + $j = (int) $row[0]; + $result[] = [ + 0 => (int) $row[0], + 1 => (int) $row[1], + ]; + $i++; + } + $this->db->free($resql); + } + return $result; + } } diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index 2a25652761d..b535d2b3585 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -204,7 +204,7 @@ class Translate dol_print_error('', get_class($this)."::Load ErrorWrongParameters"); return -1; } - if ($this->defaultlang == 'none_NONE') { + if ($this->defaultlang === 'none_NONE') { return 0; // Special language code to not translate keys } diff --git a/htdocs/core/class/utils.class.php b/htdocs/core/class/utils.class.php index bdd6cc2b83a..d56fcddafa7 100644 --- a/htdocs/core/class/utils.class.php +++ b/htdocs/core/class/utils.class.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2016 Laurent Destailleur + * Copyright (C) 2021 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -202,7 +203,7 @@ class Utils require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; // Check compression parameter - if (!in_array($compression, array('none', 'gz', 'bz', 'zip'))) { + if (!in_array($compression, array('none', 'gz', 'bz', 'zip', 'zstd'))) { $langs->load("errors"); $this->error = $langs->transnoentitiesnoconv("ErrorBadValueForParameter", $compression, "Compression"); return -1; @@ -248,9 +249,10 @@ class Utils $compression = $compression ? $compression : 'none'; if ($compression == 'gz') { $outputfile .= '.gz'; - } - if ($compression == 'bz') { + } elseif ($compression == 'bz') { $outputfile .= '.bz2'; + } elseif ($compression == 'zstd') { + $outputfile .= '.zst'; } $outputerror = $outputfile.'.err'; dol_mkdir($conf->admin->dir_output.'/backup'); @@ -337,12 +339,12 @@ class Utils $fullcommandclear = $command." ".$paramclear." 2>&1"; if ($compression == 'none') { $handle = fopen($outputfile, 'w'); - } - if ($compression == 'gz') { + } elseif ($compression == 'gz') { $handle = gzopen($outputfile, 'w'); - } - if ($compression == 'bz') { + } elseif ($compression == 'bz') { $handle = bzopen($outputfile, 'w'); + } elseif ($compression == 'zstd') { + $handle = fopen($outputfile, 'w'); } $ok = 0; @@ -408,12 +410,12 @@ class Utils if ($compression == 'none') { fclose($handle); - } - if ($compression == 'gz') { + } elseif ($compression == 'gz') { gzclose($handle); - } - if ($compression == 'bz') { + } elseif ($compression == 'bz') { bzclose($handle); + } elseif ($compression == 'zstd') { + fclose($handle); } if (!empty($conf->global->MAIN_UMASK)) { @@ -428,12 +430,12 @@ class Utils // Get errorstring if ($compression == 'none') { $handle = fopen($outputfile, 'r'); - } - if ($compression == 'gz') { + } elseif ($compression == 'gz') { $handle = gzopen($outputfile, 'r'); - } - if ($compression == 'bz') { + } elseif ($compression == 'bz') { $handle = bzopen($outputfile, 'r'); + } elseif ($compression == 'zstd') { + $handle = fopen($outputfile, 'r'); } if ($handle) { // Get 2048 first chars of error message. @@ -443,12 +445,12 @@ class Utils // Close file if ($compression == 'none') { fclose($handle); - } - if ($compression == 'gz') { + } elseif ($compression == 'gz') { gzclose($handle); - } - if ($compression == 'bz') { + } elseif ($compression == 'bz') { bzclose($handle); + } elseif ($compression == 'zstd') { + fclose($handle); } if ($ok && preg_match('/^-- (MySql|MariaDB)/i', $errormsg)) { // No error $errormsg = ''; @@ -593,12 +595,16 @@ class Utils /** * Execute a CLI command. * - * @param string $command Command line to execute. - * @param string $outputfile A path for an output file (used only when method is 2). For example: $conf->admin->dir_temp.'/out.tmp'; - * @param int $execmethod 0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method - * @return array array('result'=>...,'output'=>...,'error'=>...). result = 0 means OK. + * @param string $command Command line to execute. + * Warning: The command line is sanitize so can't contains any redirection char '>'. Use param $redirectionfile if you need it. + * @param string $outputfile A path for an output file (used only when method is 2). For example: $conf->admin->dir_temp.'/out.tmp'; + * @param int $execmethod 0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method + * @param string $redirectionfile If defined, a redirection of output to this files is added. + * @param int $noescapecommand 1=Do not escape command. Warning: Using this parameter need you alreay sanitized the command. if not, it will lead to security vulnerability. + * This parameter is provided for backward compatibility with external modules. Always use 0 in core. + * @return array array('result'=>...,'output'=>...,'error'=>...). result = 0 means OK. */ - public function executeCLI($command, $outputfile, $execmethod = 0) + public function executeCLI($command, $outputfile, $execmethod = 0, $redirectionfile = null, $noescapecommand = 0) { global $conf, $langs; @@ -606,7 +612,12 @@ class Utils $output = ''; $error = ''; - $command = escapeshellcmd($command); + if (empty($noescapecommand)) { + $command = escapeshellcmd($command); + } + if ($redirectionfile) { + $command .= " > ".dol_sanitizePathName($redirectionfile); + } $command .= " 2>&1"; if (!empty($conf->global->MAIN_EXEC_USE_POPEN)) { @@ -1079,11 +1090,11 @@ class Utils fwrite($handle, "/*!40000 ALTER TABLE `".$table."` DISABLE KEYS */;\n"); } - $sql = 'SELECT * FROM '.$table; // Here SELECT * is allowed because we don't have definition of columns to take + $sql = "SELECT * FROM ".$table; // Here SELECT * is allowed because we don't have definition of columns to take $result = $db->query($sql); while ($row = $db->fetch_row($result)) { // For each row of data we print a line of INSERT - fwrite($handle, 'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES ('); + fwrite($handle, "INSERT ".$delayed.$ignore."INTO ".$table." VALUES ("); $columns = count($row); for ($j = 0; $j < $columns; $j++) { // Processing each columns of the row to ensure that we correctly save the value (eg: add quotes for string - in fact we add quotes for everything, it's easier) diff --git a/htdocs/core/class/validate.class.php b/htdocs/core/class/validate.class.php new file mode 100644 index 00000000000..1b2447dc23a --- /dev/null +++ b/htdocs/core/class/validate.class.php @@ -0,0 +1,308 @@ + + * + * 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 + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/class/validate.class.php + * \ingroup core + * \brief File for Utils class + */ + + +/** + * Class toolbox to validate values + */ +class Validate +{ + + /** + * @var DoliDb Database handler (result of a new DoliDB) + */ + public $db; + + /** + * @var Translate $outputLang + */ + public $outputLang; + + /** + * @var string Error string + * @see $errors + */ + public $error; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param Translate $outputLang Output lang for error + */ + public function __construct($db, $outputLang = null) + { + global $langs; + + if ($outputLang) { + $this->outputLang = $langs; + } else { + $this->outputLang = $outputLang; + } + + $outputLang->load('validate'); + + $this->db = $db; + } + + /** + * Use to clear errors msg or other ghost vars + * @return null + */ + protected function clear() + { + $this->error = ''; + } + + /** + * Use to clear errors msg or other ghost vars + * + * @param string $errMsg your error message + * @return null + */ + protected function setError($errMsg) + { + $this->error = $errMsg; + } + + /** + * Check for e-mail validity + * + * @param string $email e-mail address to validate + * @param int $maxLength string max length + * @return boolean Validity is ok or not + */ + public function isEmail($email, $maxLength = false) + { + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { + $this->error = $this->outputLang->trans('RequireValidEmail'); + return false; + } + return true; + } + + /** + * Check for price validity + * + * @param string $price Price to validate + * @return boolean Validity is ok or not + */ + public function isPrice($price) + { + if (!preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/ui', $price)) { + $this->error = $this->outputLang->trans('RequireValidValue'); + return false; + } + return true; + } + + /** + * Check for timestamp validity + * + * @param string|int $stamp timestamp to validate + * @return boolean Validity is ok or not + */ + public function isTimestamp($stamp) + { + if (!is_numeric($stamp) && (int) $stamp == $stamp) { + $this->error = $this->outputLang->trans('RequireValidDate'); + return false; + } + return true; + } + + /** + * Check for phone validity + * + * @param string $phone Phone string to validate + * @return boolean Validity is ok or not + */ + public function isPhone($phone) + { + if (!preg_match('/^[+0-9. ()-]*$/ui', $phone)) { + $this->error = $this->outputLang->trans('RequireValidPhone'); + return false; + } + return true; + } + + /** + * Check for string max length validity + * + * @param string $string to validate + * @param int $length max length + * @return boolean Validity is ok or not + */ + public function isMaxLength($string, $length) + { + if (strlen($string) > $length) { + $this->error = $this->outputLang->trans('RequireMaxLength', $length); + return false; + } + return true; + } + + /** + * Check for string not empty + * + * @param string $string to validate + * @return boolean Validity is ok or not + */ + public function isNotEmptyString($string) + { + if (!strlen($string)) { + $this->error = $this->outputLang->trans('RequireANotEmptyValue'); + return false; + } + return true; + } + + /** + * Check for string min length validity + * + * @param string $string to validate + * @param int $length max length + * @return boolean Validity is ok or not + */ + public function isMinLength($string, $length) + { + if (!strlen($string) < $length) { + $this->error = $this->outputLang->trans('RequireMinLength', $length); + return false; + } + return true; + } + + /** + * Check url validity + * + * @param string $url to validate + * @return boolean Validity is ok or not + */ + public function isUrl($url) + { + if (!filter_var($url, FILTER_VALIDATE_URL)) { + $this->error = $this->outputLang->trans('RequireValidUrl'); + return false; + } + return true; + } + + /** + * Check Duration validity + * + * @param string $duration to validate + * @return boolean Validity is ok or not + */ + public function isDuration($duration) + { + if (!is_int($duration) && $duration >= 0) { + $this->error = $this->outputLang->trans('RequireValidDuration'); + return false; + } + return true; + } + + /** + * Check for boolean validity + * + * @param boolean $bool Boolean to validate + * @return boolean Validity is ok or not + */ + public function isBool($bool) + { + if (!(is_null($bool) || is_bool($bool) || preg_match('/^[0|1]{1}$/ui', $bool))) { + $this->error = $this->outputLang->trans('RequireValidBool'); + return false; + } + return true; + } + + /** + * Check for all values in db + * + * @param array $values Boolean to validate + * @param string $table the db table name without MAIN_DB_PREFIX + * @param string $col the target col + * @return boolean Validity is ok or not + * @throws Exception + */ + public function isInDb($values, $table, $col) + { + if (!is_array($values)) { + $value_arr = array($values); + } else { + $value_arr = $values; + } + + if (!count($value_arr)) { + $this->error = $this->outputLang->trans('RequireValue'); + return false; + } + + foreach ($value_arr as $val) { + $sql = "SELECT ".$col." FROM ".MAIN_DB_PREFIX.$table." WHERE ".$col." = '".$this->db->escape($val)."'"; // nore quick than count(*) to check existing of a row + $resql = $this->db->getRow($sql); + if ($resql) { + continue; + } else { + $this->error = $this->outputLang->trans('RequireValidExistingElement'); + return false; + } + } + + return true; + } + + /** + * Check for all values in db + * + * @param array $values Boolean to validate + * @param string $classname the class name + * @param string $classpath the class path + * @return boolean Validity is ok or not + * @throws Exception + */ + public function isFetchable($values, $classname, $classpath) + { + if (!empty($classpath)) { + if (dol_include_once($classpath)) { + if ($classname && class_exists($classname)) { + /** @var CommonObject $object */ + $object = new $classname($this->db); + + if (!is_callable(array($object, 'fetch')) || !is_callable(array($object, 'isExistingObject'))) { + $this->error = $this->outputLang->trans('BadSetupOfFieldFetchNotCallable'); + return false; + } + + if (!empty($object->table_element) && $object->isExistingObject($object->table_element, $values)) { + return true; + } else { $this->error = $this->outputLang->trans('RequireValidExistingElement'); } + } else { $this->error = $this->outputLang->trans('BadSetupOfFieldClassNotFoundForValidation'); } + } else { $this->error = $this->outputLang->trans('BadSetupOfFieldFileNotFound'); } + } else { $this->error = $this->outputLang->trans('BadSetupOfField'); } + return false; + } +} diff --git a/htdocs/core/commonfieldsinexport.inc.php b/htdocs/core/commonfieldsinexport.inc.php index a02a21afdd6..3b201e4f10a 100644 --- a/htdocs/core/commonfieldsinexport.inc.php +++ b/htdocs/core/commonfieldsinexport.inc.php @@ -37,7 +37,7 @@ if (class_exists($keyforclass)) { /* * case 'sellist': * $tmp=''; - * $tmpparam=unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null + * $tmpparam=jsonOrUnserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null * if ($tmpparam['options'] && is_array($tmpparam['options'])) { * $tmpkeys=array_keys($tmpparam['options']); * $tmp=array_shift($tmpkeys); diff --git a/htdocs/core/customreports.php b/htdocs/core/customreports.php index ca6e61e3b1c..b7f01de0aeb 100644 --- a/htdocs/core/customreports.php +++ b/htdocs/core/customreports.php @@ -239,13 +239,14 @@ if (is_array($search_groupby) && count($search_groupby)) { $fieldtocount = $search_groupby[$gkey]; } - $sql = 'SELECT DISTINCT '.$fieldtocount.' as val'; + $sql = "SELECT DISTINCT ".$fieldtocount." as val"; if (strpos($fieldtocount, 'te.') === 0) { $sql .= ' FROM '.MAIN_DB_PREFIX.$object->table_element.'_extrafields as te'; } else { $sql .= ' FROM '.MAIN_DB_PREFIX.$object->table_element.' as t'; } // TODO Add the where here + // ... $sql .= ' LIMIT '.($MAXUNIQUEVALFORGROUP + 1); @@ -348,7 +349,7 @@ foreach ($arrayoftype as $key => $val) { } print $form->selectarray('objecttype', $newarrayoftype, $objecttype, 0, 0, 0, '', 1, 0, 0, '', 'minwidth200', 1); if (empty($conf->use_javascript_ajax)) { - print ''; + print ''; } else { print ''."\n"; $out .= ''; $out .= ''.($revertonoff ?img_picto($langs->trans("Enabled"), 'switch_on', '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Disabled"), 'switch_off', '', false, 0, 0, '', '', $marginleftonlyshort)).''; - $out .= ''.($revertonoff ?img_picto($langs->trans("Disabled"), 'switch_off', '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Enabled"), 'switch_on', '', false, 0, 0, '', '', $marginleftonlyshort)).''; + $out .= ''.($revertonoff ?img_picto($langs->trans("Disabled"), 'switch_off'.$suffix, '', false, 0, 0, '', '', $marginleftonlyshort) : img_picto($langs->trans("Enabled"), 'switch_on'.$suffix, '', false, 0, 0, '', '', $marginleftonlyshort)).''; $out .= "\n"; } @@ -619,9 +626,10 @@ function ajax_constantonoff($code, $input = array(), $entity = null, $revertonof * @param string $text_on Text if on * @param string $text_off Text if off * @param array $input Array of type->list of CSS element to switch. Example: array('disabled'=>array(0=>'cssid')) + * @param string $morecss More CSS * @return string html for button on/off */ -function ajax_object_onoff($object, $code, $field, $text_on, $text_off, $input = array()) +function ajax_object_onoff($object, $code, $field, $text_on, $text_off, $input = array(), $morecss = '') { global $langs; @@ -692,8 +700,8 @@ function ajax_object_onoff($object, $code, $field, $text_on, $text_off, $input = }); }); '; - $out .= ''.img_picto($langs->trans($text_off), 'switch_off').''; - $out .= ''.img_picto($langs->trans($text_on), 'switch_on').''; + $out .= ''.img_picto($langs->trans($text_off), 'switch_off').''; + $out .= ''.img_picto($langs->trans($text_on), 'switch_on').''; return $out; } diff --git a/htdocs/core/lib/barcode.lib.php b/htdocs/core/lib/barcode.lib.php index 54bbc0a7666..702d6673527 100644 --- a/htdocs/core/lib/barcode.lib.php +++ b/htdocs/core/lib/barcode.lib.php @@ -20,7 +20,7 @@ /** * \file htdocs/core/lib/barcode.lib.php - * \brief Set of functions used for barcode generation + * \brief Set of functions used for barcode generation (internal lib, also code 'phpbarcode') * \ingroup core */ @@ -59,7 +59,10 @@ if (empty($font_loc)) { if (defined('PHP-BARCODE_PATH_COMMAND')) { $genbarcode_loc = constant('PHP-BARCODE_PATH_COMMAND'); } else { - $genbarcode_loc = $conf->global->GENBARCODE_LOCATION; + $genbarcode_loc = ''; + if (!empty($conf->global->GENBARCODE_LOCATION)) { + $genbarcode_loc = $conf->global->GENBARCODE_LOCATION; + } } @@ -69,7 +72,7 @@ if (defined('PHP-BARCODE_PATH_COMMAND')) { * Print barcode * * @param string $code Code - * @param string $encoding Encoding + * @param string $encoding Encoding ('EAN13', 'ISBN', 'C128', 'UPC', 'CBR', 'QRCODE', 'DATAMATRIX', 'ANY'...) * @param integer $scale Scale * @param string $mode 'png' or 'jpg' ... * @return array|string $bars array('encoding': the encoding which has been used, 'bars': the bars, 'text': text-positioning info) or string with error message @@ -149,12 +152,10 @@ function barcode_encode($code, $encoding) dol_syslog("barcode.lib.php::barcode_encode Use genbarcode ".$genbarcode_loc." code=".$code." encoding=".$encoding); $bars = barcode_encode_genbarcode($code, $encoding); } else { - print "barcode_encode needs an external programm for encodings other then EAN/ISBN (code=".$code.", encoding=".$encoding.")
    \n"; + print "barcode_encode needs an external program for encodings other then EAN/ISBN (code=".dol_escape_htmltag($code).", encoding=".dol_escape_htmltag($encoding).")
    \n"; print "
      \n"; print "
    • download gnu-barcode from www.gnu.org/software/barcode/\n"; print "
    • compile and install them\n"; - print "
    • download genbarcode from www.ashberg.de/bar/\n"; - print "
    • compile and install them\n"; print "
    • specify path the genbarcode in barcode module setup\n"; print "
    \n"; print "
    \n"; diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 21b6f9a68e4..ddaf1d320c3 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -64,7 +64,7 @@ function societe_prepare_head(Societe $object) } else { $sql = "SELECT COUNT(p.rowid) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as p"; - $sql .= " WHERE p.fk_soc = ".$object->id; + $sql .= " WHERE p.fk_soc = ".((int) $object->id); $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); @@ -140,7 +140,7 @@ function societe_prepare_head(Societe $object) } else { $sql = "SELECT COUNT(n.rowid) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."projet as n"; - $sql .= " WHERE fk_soc = ".$object->id; + $sql .= " WHERE fk_soc = ".((int) $object->id); $sql .= " AND entity IN (".getEntity('project').")"; $resql = $db->query($sql); if ($resql) { @@ -223,7 +223,7 @@ function societe_prepare_head(Societe $object) $sql = "SELECT COUNT(n.rowid) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_rib as n"; - $sql .= " WHERE n.fk_soc = ".$object->id; + $sql .= " WHERE n.fk_soc = ".((int) $object->id); if (empty($conf->stripe->enabled)) { $sql .= " AND n.stripe_card_ref IS NULL"; } else { @@ -240,7 +240,7 @@ function societe_prepare_head(Societe $object) //if (! empty($conf->stripe->enabled) && $nbBankAccount > 0) $nbBankAccount = '...'; // No way to know exact number - $head[$h][0] = DOL_URL_ROOT.'/societe/paymentmodes.php?socid='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/societe/paymentmodes.php?socid='.urlencode($object->id); $head[$h][1] = $title; if ($foundonexternalonlinesystem) { $head[$h][1] .= '...'; @@ -252,12 +252,12 @@ function societe_prepare_head(Societe $object) } if (!empty($conf->website->enabled) && (!empty($conf->global->WEBSITE_USE_WEBSITE_ACCOUNTS)) && (!empty($user->rights->societe->lire))) { - $head[$h][0] = DOL_URL_ROOT.'/societe/website.php?id='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/societe/website.php?id='.urlencode($object->id); $head[$h][1] = $langs->trans("WebSiteAccounts"); $nbNote = 0; $sql = "SELECT COUNT(n.rowid) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_account as n"; - $sql .= " WHERE fk_soc = ".$object->id.' AND fk_website > 0'; + $sql .= " WHERE fk_soc = ".((int) $object->id).' AND fk_website > 0'; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); @@ -272,6 +272,19 @@ function societe_prepare_head(Societe $object) $h++; } + if (getDolGlobalString('PARTNERSHIP_IS_MANAGED_FOR') == 'thirdparty') { + if (!empty($user->rights->partnership->read)) { + $nbPartnership = is_array($object->partnerships) ? count($object->partnerships) : 0; + $head[$h][0] = DOL_URL_ROOT.'/societe/partnership.php?socid='.$object->id; + $head[$h][1] = $langs->trans("Partnership"); + $head[$h][2] = 'partnership'; + if ($nbPartnership > 0) { + $head[$h][1] .= ''.$nbPartnership.''; + } + $h++; + } + } + // Show more tabs from modules // Entries must be declared in modules descriptor with line // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab @@ -291,7 +304,7 @@ function societe_prepare_head(Societe $object) } else { $sql = "SELECT COUNT(n.rowid) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."notify_def as n"; - $sql .= " WHERE fk_soc = ".$object->id; + $sql .= " WHERE fk_soc = ".((int) $object->id); $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); @@ -302,7 +315,7 @@ function societe_prepare_head(Societe $object) dol_setcache($cachekey, $nbNotif, 120); // If setting cache fails, this is not a problem, so we do not test result. } - $head[$h][0] = DOL_URL_ROOT.'/societe/notify/card.php?socid='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/societe/notify/card.php?socid='.urlencode($object->id); $head[$h][1] = $langs->trans("Notifications"); if ($nbNotif > 0) { $head[$h][1] .= ''.$nbNotif.''; @@ -319,7 +332,7 @@ function societe_prepare_head(Societe $object) if (!empty($object->note_public)) { $nbNote++; } - $head[$h][0] = DOL_URL_ROOT.'/societe/note.php?id='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/societe/note.php?id='.urlencode($object->id); $head[$h][1] = $langs->trans("Notes"); if ($nbNote > 0) { $head[$h][1] .= ''.$nbNote.''; @@ -367,7 +380,7 @@ function societe_prepare_head(Societe $object) } else { $sql = "SELECT COUNT(id) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."actioncomm"; - $sql .= " WHERE fk_soc = ".$object->id; + $sql .= " WHERE fk_soc = ".((int) $object->id); $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); @@ -711,7 +724,7 @@ function getFormeJuridiqueLabel($code) function getCountriesInEEC() { // List of all country codes that are in europe for european vat rules - // List found on http://ec.europa.eu/taxation_customs/common/faq/faq_1179_en.htm#9 + // List found on https://ec.europa.eu/taxation_customs/territorial-status-eu-countries-and-certain-territories_en global $conf, $db; $country_code_in_EEC = array(); @@ -793,7 +806,7 @@ function show_projects($conf, $langs, $db, $object, $backtopage = '', $nocreatel $sql .= ", cls.code as opp_status_code"; $sql .= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_lead_status as cls on p.fk_opp_status = cls.rowid"; - $sql .= " WHERE p.fk_soc = ".$object->id; + $sql .= " WHERE p.fk_soc = ".((int) $object->id); $sql .= " AND p.entity IN (".getEntity('project').")"; $sql .= " ORDER BY p.dateo DESC"; @@ -866,7 +879,7 @@ function show_projects($conf, $langs, $db, $object, $backtopage = '', $nocreatel $i++; } } else { - print '
    '.$langs->trans("None").'
    '.$langs->trans("None").'
    '.$actionstatic->LibStatut($histo[$key]['percent'], 3, 0, $histo[$key]['datestart']).''.$actionstatic->LibStatut($histo[$key]['percent'], 2, 0, $histo[$key]['datestart']).'
    '."\n"; + + print "\n".'
    '."\n"; + print '
    '."\n"; print ''; print ''; @@ -1976,17 +1997,17 @@ function show_subsidiaries($conf, $langs, $db, $object) print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; print ''; @@ -1994,6 +2015,7 @@ function show_subsidiaries($conf, $langs, $db, $object) $i++; } print "\n
    '.$langs->trans("Company").''.$langs->trans("Address").''.$langs->trans("Zip").'
    '; + print ''; print $socstatic->getNomUrl(1); print ''.$obj->address.''.$obj->zip.''.$obj->town.''.$obj->code_client.''.dol_escape_htmltag($obj->address).''.$obj->zip.''.$obj->town.''.$obj->code_client.''; - print ''; + print ''; print img_edit(); print '
    \n"; + print ''."\n"; } print "
    \n"; @@ -2005,13 +2027,10 @@ function show_subsidiaries($conf, $langs, $db, $object) * * @param string $sql $sql modified * @param string $actioncode Action code - * @param string $donetodo donetodo - * @param string $now now - * @param string $filters array * @param string $sqlANDOR "AND", "OR" or "" sql condition * @return string sql request */ -function addEventTypeSQL(&$sql, $actioncode, $donetodo, $now, $filters, $sqlANDOR = "AND") +function addEventTypeSQL(&$sql, $actioncode, $sqlANDOR = "AND") { global $conf, $db; // Condition on actioncode @@ -2038,6 +2057,23 @@ function addEventTypeSQL(&$sql, $actioncode, $donetodo, $now, $filters, $sqlANDO } } + return $sql; +} + +/** + * Add Event Type SQL + * + * @param string $sql $sql modified + * @param string $donetodo donetodo + * @param string $now now + * @param string $filters array + * @return string sql request + */ +function addOtherFilterSQL(&$sql, $donetodo, $now, $filters) +{ + global $conf, $db; + // Condition on actioncode + if ($donetodo == 'todo') { $sql .= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))"; } elseif ($donetodo == 'done') { diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 2d111e37ef8..5216ff554e4 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -114,8 +114,13 @@ function dol_print_cron_urls() print ''.$langs->trans("FileToLaunchCronJobs").':
    '; - $file = '/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY.'').' '.$logintouse.' [cronjobid]'; - print '
    \n"; + $pathtoscript = '/pathtoscript'; + if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) { + $pathtoscript = $conf->global->MAIN_DOL_SCRIPTS_ROOT; + } + + $file = $pathtoscript.'/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY.'').' '.$logintouse.' [cronjobid]'; + print '
    \n"; print '
    '; // Add note @@ -131,7 +136,7 @@ function dol_print_cron_urls() if ($linuxlike) { print $langs->trans("CronExplainHowToRunUnix"); print '
    '; - print '
    '; + print '
    '; } else { print $langs->trans("CronExplainHowToRunWin"); } diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index fe21071901a..8fe9352457b 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -668,15 +668,16 @@ function getGMTEasterDatetime($year) * * @param int $timestampStart Timestamp start (UTC with hour, min, sec = 0) * @param int $timestampEnd Timestamp end (UTC with hour, min, sec = 0) - * @param string $country_code Country code - * @param int $lastday Last day is included, 0: no, 1:yes + * @param string $country_code Country code + * @param int $lastday Last day is included, 0: no, 1:yes * @param int $includesaturday Include saturday as non working day (-1=use setup, 0=no, 1=yes) * @param int $includesunday Include sunday as non working day (-1=use setup, 0=no, 1=yes) * @param int $includefriday Include friday as non working day (-1=use setup, 0=no, 1=yes) - * @return int|string Number of non working days or error message string if error + * @param int $includemonday Include monday as non working day (-1=use setup, 0=no, 1=yes) + * @return int|string Number of non working days or error message string if error * @see num_between_day(), num_open_day() */ -function num_public_holiday($timestampStart, $timestampEnd, $country_code = '', $lastday = 0, $includesaturday = -1, $includesunday = -1, $includefriday = -1) +function num_public_holiday($timestampStart, $timestampEnd, $country_code = '', $lastday = 0, $includesaturday = -1, $includesunday = -1, $includefriday = -1, $includemonday = -1) { global $db, $conf, $mysoc; @@ -690,6 +691,9 @@ function num_public_holiday($timestampStart, $timestampEnd, $country_code = '', if (empty($country_code)) { $country_code = $mysoc->country_code; } + if ($includemonday < 0) { + $includemonday = (isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY) ? $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY : 0); + } if ($includefriday < 0) { $includefriday = (isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY) ? $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY : 0); } diff --git a/htdocs/core/lib/eventorganization.lib.php b/htdocs/core/lib/eventorganization.lib.php index 2f8ea573c1f..51ff1f2a90f 100644 --- a/htdocs/core/lib/eventorganization.lib.php +++ b/htdocs/core/lib/eventorganization.lib.php @@ -16,7 +16,7 @@ */ /** - * \file eventorganization/lib/eventorganization.lib.php + * \file htdocs/core/lib/eventorganization.lib.php * \ingroup eventorganization * \brief Library files with common functions for EventOrganization */ diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 7e34eec5ecd..2175de373ef 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012-2015 Regis Houssin + * Copyright (C) 2012-2021 Regis Houssin * Copyright (C) 2012-2016 Juanjo Menent * Copyright (C) 2015 Marcos García * Copyright (C) 2016 Raphaël Doursenaud @@ -377,7 +377,7 @@ function completeFileArrayWithDatabaseInfo(&$filearray, $relativedir) $ecmfile->fullpath_orig = $filearray[$key]['fullname']; $ecmfile->gen_or_uploaded = 'unknown'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content $result = $ecmfile->create($user); if ($result < 0) { setEventMessages($ecmfile->error, $ecmfile->errors, 'warnings'); @@ -933,7 +933,7 @@ function dol_move($srcfile, $destfile, $newmask = 0, $overwriteifexists = 1, $te $ecmfile->fullpath_orig = $srcfile; $ecmfile->gen_or_uploaded = 'unknown'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content $resultecm = $ecmfile->create($user); if ($resultecm < 0) { setEventMessages($ecmfile->error, $ecmfile->errors, 'warnings'); @@ -1159,10 +1159,11 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable * @param object $object Current object in use * @param boolean $allowdotdot Allow to delete file path with .. inside. Never use this, it is reserved for migration purpose. * @param int $indexdatabase Try to remove also index entries. + * @param int $nolog Disable log file * @return boolean True if no error (file is deleted or if glob is used and there's nothing to delete), False if error * @see dol_delete_dir() */ -function dol_delete_file($file, $disableglob = 0, $nophperrors = 0, $nohook = 0, $object = null, $allowdotdot = false, $indexdatabase = 1) +function dol_delete_file($file, $disableglob = 0, $nophperrors = 0, $nohook = 0, $object = null, $allowdotdot = false, $indexdatabase = 1, $nolog = 0) { global $db, $conf, $user, $langs; global $hookmanager; @@ -1170,7 +1171,9 @@ function dol_delete_file($file, $disableglob = 0, $nophperrors = 0, $nohook = 0, // Load translation files required by the page $langs->loadLangs(array('other', 'errors')); - dol_syslog("dol_delete_file file=".$file." disableglob=".$disableglob." nophperrors=".$nophperrors." nohook=".$nohook); + if (empty($nolog)) { + dol_syslog("dol_delete_file file=".$file." disableglob=".$disableglob." nophperrors=".$nophperrors." nohook=".$nohook); + } // Security: // We refuse transversal using .. and pipes into filenames. @@ -1226,7 +1229,9 @@ function dol_delete_file($file, $disableglob = 0, $nophperrors = 0, $nohook = 0, } if ($ok) { - dol_syslog("Removed file ".$filename, LOG_DEBUG); + if (empty($nolog)) { + dol_syslog("Removed file ".$filename, LOG_DEBUG); + } // Delete entry into ecm database $rel_filetodelete = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filename); @@ -1264,7 +1269,9 @@ function dol_delete_file($file, $disableglob = 0, $nophperrors = 0, $nohook = 0, $ok = unlink($file_osencoded); } if ($ok) { - dol_syslog("Removed file ".$file_osencoded, LOG_DEBUG); + if (empty($nolog)) { + dol_syslog("Removed file ".$file_osencoded, LOG_DEBUG); + } } else { dol_syslog("Failed to remove file ".$file_osencoded, LOG_WARNING); } @@ -1304,11 +1311,15 @@ function dol_delete_dir($dir, $nophperrors = 0) * @param int $nophperrors Disable all PHP output errors * @param int $onlysub Delete only files and subdir, not main directory * @param int $countdeleted Counter to count nb of elements found really deleted + * @param int $indexdatabase Try to remove also index entries. + * @param int $nolog Disable log files (too verbose when making recursive directories) * @return int Number of files and directory we try to remove. NB really removed is returned into var by reference $countdeleted. */ -function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0) +function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0, $indexdatabase = 1, $nolog = 0) { - dol_syslog("functions.lib:dol_delete_dir_recursive ".$dir, LOG_DEBUG); + if (empty($nolog)) { + dol_syslog("functions.lib:dol_delete_dir_recursive ".$dir, LOG_DEBUG); + } if (dol_is_dir($dir)) { $dir_osencoded = dol_osencode($dir); if ($handle = opendir("$dir_osencoded")) { @@ -1319,9 +1330,9 @@ function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = if ($item != "." && $item != "..") { if (is_dir(dol_osencode("$dir/$item")) && !is_link(dol_osencode("$dir/$item"))) { - $count = dol_delete_dir_recursive("$dir/$item", $count, $nophperrors, 0, $countdeleted); + $count = dol_delete_dir_recursive("$dir/$item", $count, $nophperrors, 0, $countdeleted, $indexdatabase, $nolog); } else { - $result = dol_delete_file("$dir/$item", 1, $nophperrors); + $result = dol_delete_file("$dir/$item", 1, $nophperrors, 0, null, false, $indexdatabase, $nolog); $count++; if ($result) { $countdeleted++; @@ -1332,6 +1343,7 @@ function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = } closedir($handle); + // Delete also the main directory if (empty($onlysub)) { $result = dol_delete_dir($dir, $nophperrors); $count++; @@ -1766,7 +1778,7 @@ function dol_remove_file_process($filenb, $donotupdatesession = 0, $donotdeletef */ function addFileIntoDatabaseIndex($dir, $file, $fullpathorig = '', $mode = 'uploaded', $setsharekey = 0, $object = null) { - global $db, $user; + global $db, $user, $conf; $result = 0; @@ -1785,11 +1797,22 @@ function addFileIntoDatabaseIndex($dir, $file, $fullpathorig = '', $mode = 'uplo $ecmfile->fullpath_orig = $fullpathorig; $ecmfile->gen_or_uploaded = $mode; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content if (is_object($object) && $object->id > 0) { $ecmfile->src_object_id = $object->id; - $ecmfile->src_object_type = $object->table_element; + if (isset($object->table_element)) { + $ecmfile->src_object_type = $object->table_element; + } else { + dol_syslog('Error: object ' . get_class($object) . ' has no table_element attribute.'); + return -1; + } + if (isset($object->src_object_description)) $ecmfile->description = $object->src_object_description; + if (isset($object->src_object_keywords)) $ecmfile->keywords = $object->src_object_keywords; + } + + if (!empty($conf->global->MAIN_FORCE_SHARING_ON_ANY_UPLOADED_FILE)) { + $setsharekey = 1; } if ($setsharekey) { @@ -1948,6 +1971,9 @@ function dol_compress_file($inputfile, $outputfile, $mode = "gz", &$errorstring } elseif ($mode == 'bz') { $foundhandler = 1; $compressdata = bzcompress($data, 9); + } elseif ($mode == 'zstd') { + $foundhandler = 1; + $compressdata = zstd_compress($data, 9); } elseif ($mode == 'zip') { if (class_exists('ZipArchive') && !empty($conf->global->MAIN_USE_ZIPARCHIVE_FOR_ZIP_COMPRESS)) { $foundhandler = 1; @@ -2235,7 +2261,7 @@ function dol_most_recent_file($dir, $regexfilter = '', $excludefilter = array('( * Security check when accessing to a document (used by document.php, viewimage.php and webservices to get documents). * TODO Replace code that set $accesallowed by a call to restrictedArea() * - * @param string $modulepart Module of document ('module', 'module_user_temp', 'module_user' or 'module_temp') + * @param string $modulepart Module of document ('module', 'module_user_temp', 'module_user' or 'module_temp'). Exemple: 'medias', 'invoice', 'logs', 'tax-vat', ... * @param string $original_file Relative path with filename, relative to modulepart. * @param string $entity Restrict onto entity (0=no restriction) * @param User $fuser User object (forced) @@ -2246,8 +2272,9 @@ function dol_most_recent_file($dir, $regexfilter = '', $excludefilter = array('( */ function dol_check_secure_access_document($modulepart, $original_file, $entity, $fuser = '', $refname = '', $mode = 'read') { - global $conf, $db, $user; + global $conf, $db, $user, $hookmanager; global $dolibarr_main_data_root, $dolibarr_main_document_root_alt; + global $object; if (!is_object($fuser)) { $fuser = $user; @@ -2263,10 +2290,13 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $entity = 0; } } - // Fix modulepart + // Fix modulepart for backward compatibility if ($modulepart == 'users') { $modulepart = 'user'; } + if ($modulepart == 'tva') { + $modulepart = 'tax-vat'; + } //print 'dol_check_secure_access_document modulepart='.$modulepart.' original_file='.$original_file.' entity='.$entity; dol_syslog('dol_check_secure_access_document modulepart='.$modulepart.' original_file='.$original_file.' entity='.$entity); @@ -2276,9 +2306,13 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $sqlprotectagainstexternals = ''; $ret = array(); - // Find the subdirectory name as the reference. For exemple original_file='10/myfile.pdf' -> refname='10' + // Find the subdirectory name as the reference. For example original_file='10/myfile.pdf' -> refname='10' if (empty($refname)) { $refname = basename(dirname($original_file)."/"); + if ($refname == 'thumbs') { + // If we get the thumbns directory, we must go one step higher. For example original_file='10/thumbs/myfile_small.jpg' -> refname='10' + $refname = basename(dirname(dirname($original_file))."/"); + } } // Define possible keys to use for permission check @@ -2436,7 +2470,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $accessallowed = 1; } $original_file = (!empty($conf->product->multidir_temp[$entity]) ? $conf->product->multidir_temp[$entity] : $conf->service->multidir_temp[$entity]).'/'.$original_file; - } elseif (in_array($modulepart, array('tax', 'tax-vat')) && !empty($conf->tax->dir_output)) { + } elseif (in_array($modulepart, array('tax', 'tax-vat', 'tva')) && !empty($conf->tax->dir_output)) { // Wrapping for taxes if ($fuser->rights->tax->charges->{$lire}) { $accessallowed = 1; @@ -2688,13 +2722,14 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, if ($fuser->rights->expedition->{$lire} || preg_match('/^specimen/i', $original_file)) { $accessallowed = 1; } - $original_file = $conf->expedition->dir_output."/sending/".$original_file; + $original_file = $conf->expedition->dir_output."/".(strpos('sending/', $original_file) === 0 ? '' : 'sending/').$original_file; + //$original_file = $conf->expedition->dir_output."/".$original_file; } elseif (($modulepart == 'livraison' || $modulepart == 'delivery') && !empty($conf->expedition->dir_output)) { // Delivery Note Wrapping if ($fuser->rights->expedition->delivery->{$lire} || preg_match('/^specimen/i', $original_file)) { $accessallowed = 1; } - $original_file = $conf->expedition->dir_output."/receipt/".$original_file; + $original_file = $conf->expedition->dir_output."/".(strpos('receipt/', $original_file) === 0 ? '' : 'receipt/').$original_file; } elseif ($modulepart == 'actions' && !empty($conf->agenda->dir_output)) { // Wrapping pour les actions if ($fuser->rights->agenda->myactions->{$read} || preg_match('/^specimen/i', $original_file)) { @@ -2901,20 +2936,22 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } } - // For modules who wants to manage different levels of permissions for documents - $subPermCategoryConstName = strtoupper($modulepart).'_SUBPERMCATEGORY_FOR_DOCUMENTS'; - if (!empty($conf->global->$subPermCategoryConstName)) { - $subPermCategory = $conf->global->$subPermCategoryConstName; - if (!empty($subPermCategory) && (($fuser->rights->$modulepart->$subPermCategory->{$lire}) || ($fuser->rights->$modulepart->$subPermCategory->{$read}) || ($fuser->rights->$modulepart->$subPermCategory->{$download}))) { - $accessallowed = 1; + $parameters = array( + 'modulepart' => $modulepart, + 'original_file' => $original_file, + 'entity' => $entity, + 'fuser' => $fuser, + 'refname' => '', + 'mode' => $mode + ); + $reshook = $hookmanager->executeHooks('checkSecureAccess', $parameters, $object); + if ($reshook > 0) { + if (!empty($hookmanager->resArray['accessallowed'])) { + $accessallowed = $hookmanager->resArray['accessallowed']; + } + if (!empty($hookmanager->resArray['sqlprotectagainstexternals'])) { + $sqlprotectagainstexternals = $hookmanager->resArray['sqlprotectagainstexternals']; } - } - - // Define $sqlprotectagainstexternals for modules who want to protect access using a SQL query. - $sqlProtectConstName = strtoupper($modulepart).'_SQLPROTECTAGAINSTEXTERNALS_FOR_DOCUMENTS'; - if (!empty($conf->global->$sqlProtectConstName)) { // If module want to define its own $sqlprotectagainstexternals - // Example: mymodule__SQLPROTECTAGAINSTEXTERNALS_FOR_DOCUMENTS = "SELECT fk_soc FROM ".MAIN_DB_PREFIX.$modulepart." WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; - eval('$sqlprotectagainstexternals = "'.$conf->global->$sqlProtectConstName.'";'); } } diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index fed3f697cb6..b08d8e55686 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -104,7 +104,7 @@ function getDoliDBInstance($type, $host, $user, $pass, $name, $port) */ function getEntity($element, $shared = 1, $currentobject = null) { - global $conf, $mc; + global $conf, $mc, $hookmanager, $object, $action; // fix different element names (France to English) switch ($element) { @@ -117,7 +117,7 @@ function getEntity($element, $shared = 1, $currentobject = null) } if (is_object($mc)) { - return $mc->getEntity($element, $shared, $currentobject); + $out = $mc->getEntity($element, $shared, $currentobject); } else { $out = ''; $addzero = array('user', 'usergroup', 'c_email_templates', 'email_template', 'default_values'); @@ -125,8 +125,27 @@ function getEntity($element, $shared = 1, $currentobject = null) $out .= '0,'; } $out .= ((int) $conf->entity); - return $out; } + + // Manipulate entities to query on the fly + $parameters = array( + 'element' => $element, + 'shared' => $shared, + 'object' => $object, + 'currentobject' => $currentobject, + 'out' => $out + ); + $reshook = $hookmanager->executeHooks('hookGetEntity', $parameters, $currentobject, $action); // Note that $action and $object may have been modified by some hooks + + if (is_numeric($reshook)) { + if ($reshook == 0 && !empty($hookmanager->resprints)) { + $out .= ','.$hookmanager->resprints; // add + } elseif ($reshook == 1) { + $out = $hookmanager->resprints; // replace + } + } + + return $out; } /** @@ -673,14 +692,11 @@ function GETPOST($paramname, $check = 'alphanohtml', $method = 0, $filter = null * * @param string $paramname Name of parameter to found * @param int $method Type of method (0 = get then post, 1 = only get, 2 = only post, 3 = post then get) - * @param int $filter Filter to apply when $check is set to 'custom'. (See http://php.net/manual/en/filter.filters.php for détails) - * @param mixed $options Options to pass to filter_var when $check is set to 'custom' - * @param string $noreplace Force disable of replacement of __xxx__ strings. * @return int Value found (int) */ -function GETPOSTINT($paramname, $method = 0, $filter = null, $options = null, $noreplace = 0) +function GETPOSTINT($paramname, $method = 0) { - return (int) GETPOST($paramname, 'int', $method, $filter, $options, $noreplace); + return (int) GETPOST($paramname, 'int', $method, null, null, 0); } /** @@ -753,9 +769,9 @@ function checkVal($out = '', $check = 'alphanohtml', $filter = null, $options = $out = dol_string_nohtmltag($out, 0); // Remove also other dangerous string sequences // '"' is dangerous because param in url can close the href= or src= and add javascript functions. - // '../' is dangerous because it allows dir transversals + // '../' or '..\' is dangerous because it allows dir transversals // Note &, '&', '&'... is a simple char like '&' alone but there is no reason to accept such way to encode input data. - $out = str_ireplace(array('&', '&', '&', '"', '"', '"', '"', '"', '/', '/', '/', '../'), '', $out); + $out = str_ireplace(array('&', '&', '&', '"', '"', '"', '"', '"', '/', '/', '\', '\', '/', '../', '..\\'), '', $out); } while ($oldstringtoclean != $out); // keep lines feed } @@ -768,26 +784,59 @@ function checkVal($out = '', $check = 'alphanohtml', $filter = null, $options = // Remove html tags $out = dol_html_entity_decode($out, ENT_COMPAT | ENT_HTML5, 'UTF-8'); // '"' is dangerous because param in url can close the href= or src= and add javascript functions. - // '../' is dangerous because it allows dir transversals + // '../' or '..\' is dangerous because it allows dir transversals // Note &, '&', '&'... is a simple char like '&' alone but there is no reason to accept such way to encode input data. - $out = str_ireplace(array('&', '&', '&', '"', '"', '"', '"', '"', '/', '/', '/', '../'), '', $out); + $out = str_ireplace(array('&', '&', '&', '"', '"', '"', '"', '"', '/', '/', '\', '\', '/', '../', '..\\'), '', $out); } while ($oldstringtoclean != $out); } break; case 'restricthtml': // Recommended for most html textarea + case 'restricthtmlallowunvalid': do { $oldstringtoclean = $out; - // We replace chars encoded with numeric HTML entities with real char (to avoid to have numeric entities used for obfuscation of injections) - $out = preg_replace_callback('/&#(x?[0-9][0-9a-f]+);/i', 'realCharForNumericEntities', $out); + if (!empty($out) && !empty($conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML) && $check != 'restricthtmlallowunvalid') { + try { + $dom = new DOMDocument; + // Add a trick to solve pb with text without parent tag + // like '

    Foo

    bar

    ' that ends up with '

    Foo

    bar

    ' + // like 'abc' that ends up with '

    abc

    ' + $out = '
    '.$out.'
    '; + + $dom->loadHTML($out, LIBXML_ERR_NONE|LIBXML_HTML_NOIMPLIED|LIBXML_HTML_NODEFDTD|LIBXML_NONET|LIBXML_NOWARNING|LIBXML_NOXMLDECL); + $out = trim($dom->saveHTML()); + + // Remove the trick added to solve pb with text without parent tag + $out = preg_replace('/^
    /', '', $out); + $out = preg_replace('/<\/div>$/', '', $out); + } catch (Exception $e) { + //print $e->getMessage(); + return 'InvalidHTMLString'; + } + } + + // Ckeditor use the numeric entitic for apostrophe so we force it to text entity (all other special chars are + // encoded using text entities) so we can then exclude all numeric entities. + $out = preg_replace('/'/i', ''', $out); + + // We replace chars from a/A to z/Z encoded with numeric HTML entities with the real char so we won't loose the chars at the next step (preg_replace). + // No need to use a loop here, this step is not to sanitize (this is done at next step, this is to try to save chars, even if they are + // using a non coventionnel way to be encoded, to not have them sanitized just after) + $out = preg_replace_callback('/&#(x?[0-9][0-9a-f]+;?)/i', 'realCharForNumericEntities', $out); + + // Now we remove all remaining HTML entities starting with a number. We don't want such entities. $out = preg_replace('/&#x?[0-9]+/i', '', $out); // For example if we have javascript with an entities without the ; to hide the 'a' of 'javascript'. $out = dol_string_onlythesehtmltags($out, 0, 1, 1); // We should also exclude non expected attributes if (!empty($conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES)) { - $out = dol_string_onlythesehtmlattributes($out); + // Warning, the function may add a LF so we are forced to trim to compare with old $out without having always a difference and an infinit loop. + $out = trim(dol_string_onlythesehtmlattributes($out)); } + + // Restore entity ' into ' (restricthtml is for html content so we can use html entity) + $out = preg_replace('/'/i', "'", $out); } while ($oldstringtoclean != $out); break; case 'custom': @@ -989,7 +1038,7 @@ function dol_buildpath($path, $type = 0, $returnemptyifnotfound = 0) function dol_clone($object, $native = 0) { if (empty($native)) { - $myclone = unserialize(serialize($object)); + $myclone = unserialize(serialize($object)); // serialize then unserialize is hack to be sure to have a new object for all fields } else { $myclone = clone $object; // PHP clone is a shallow copy only, not a real clone, so properties of references will keep the reference (refering to the same target/variable) } @@ -1021,10 +1070,11 @@ function dol_size($size, $type = '') /** - * Clean a string to use it as a file name + * Clean a string to use it as a file name. + * Replace also '--' and ' -' strings, they are used for parameters separation (Note: ' - ' is allowed). * * @param string $str String to clean - * @param string $newstr String to replace bad chars with + * @param string $newstr String to replace bad chars with. * @param int $unaccent 1=Remove also accent (default), 0 do not remove them * @return string String cleaned (a-zA-Z_) * @@ -1035,13 +1085,17 @@ function dol_sanitizeFileName($str, $newstr = '_', $unaccent = 1) // List of special chars for filenames in windows are defined on page https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file // Char '>' '<' '|' '$' and ';' are special chars for shells. // Char '/' and '\' are file delimiters. - // -- car can be used into filename to inject special paramaters like --use-compress-program to make command with file as parameter making remote execution of command - $filesystem_forbidden_chars = array('<', '>', '/', '\\', '?', '*', '|', '"', ':', '°', '$', ';', '--'); - return dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + // Chars '--' can be used into filename to inject special paramaters like --use-compress-program to make command with file as parameter making remote execution of command + $filesystem_forbidden_chars = array('<', '>', '/', '\\', '?', '*', '|', '"', ':', '°', '$', ';'); + $tmp = dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + $tmp = preg_replace('/\-\-+/', '_', $tmp); + $tmp = preg_replace('/\s+\-([^\s])/', ' _$1', $tmp); + return $tmp; } /** - * Clean a string to use it as a path name + * Clean a string to use it as a path name. + * Replace also '--' and ' -' strings, they are used for parameters separation (Note: ' - ' is allowed). * * @param string $str String to clean * @param string $newstr String to replace bad chars with @@ -1052,8 +1106,14 @@ function dol_sanitizeFileName($str, $newstr = '_', $unaccent = 1) */ function dol_sanitizePathName($str, $newstr = '_', $unaccent = 1) { - $filesystem_forbidden_chars = array('<', '>', '?', '*', '|', '"', '°'); - return dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + // List of special chars for filenames in windows are defined on page https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file + // Char '>' '<' '|' '$' and ';' are special chars for shells. + // Chars '--' can be used into filename to inject special paramaters like --use-compress-program to make command with file as parameter making remote execution of command + $filesystem_forbidden_chars = array('<', '>', '?', '*', '|', '"', '°', '$', ';'); + $tmp = dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + $tmp = preg_replace('/\-\-+/', '_', $tmp); + $tmp = preg_replace('/\s+\-([^\s])/', ' _$1', $tmp); + return $tmp; } /** @@ -1149,21 +1209,26 @@ function dol_string_unaccent($str) * Clean a string from all punctuation characters to use it as a ref or login. * This is a more complete function than dol_sanitizeFileName. * - * @param string $str String to clean - * @param string $newstr String to replace forbidden chars with - * @param array $badcharstoreplace List of forbidden characters - * @return string Cleaned string + * @param string $str String to clean + * @param string $newstr String to replace forbidden chars with + * @param array|string $badcharstoreplace List of forbidden characters to replace + * @param array|string $badcharstoremove List of forbidden characters to remove + * @return string Cleaned string * * @see dol_sanitizeFilename(), dol_string_unaccent(), dol_string_nounprintableascii() */ -function dol_string_nospecial($str, $newstr = '_', $badcharstoreplace = '') +function dol_string_nospecial($str, $newstr = '_', $badcharstoreplace = '', $badcharstoremove = '') { $forbidden_chars_to_replace = array(" ", "'", "/", "\\", ":", "*", "?", "\"", "<", ">", "|", "[", "]", ",", ";", "=", '°'); // more complete than dol_sanitizeFileName $forbidden_chars_to_remove = array(); + //$forbidden_chars_to_remove=array("(",")"); + if (is_array($badcharstoreplace)) { $forbidden_chars_to_replace = $badcharstoreplace; } - //$forbidden_chars_to_remove=array("(",")"); + if (is_array($badcharstoremove)) { + $forbidden_chars_to_remove = $badcharstoremove; + } return str_replace($forbidden_chars_to_replace, $newstr, str_replace($forbidden_chars_to_remove, "", $str)); } @@ -1237,19 +1302,18 @@ function dol_escape_json($stringtoescape) * Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields. * * @param string $stringtoescape String to escape - * @param int $keepb 1=Keep b tags and escape them, 0=remove them + * @param int $keepb 1=Keep b tags, 0=remove them completely * @param int $keepn 1=Preserve \r\n strings (otherwise, replace them with escaped value). Set to 1 when escaping for a '; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -295,12 +295,14 @@ class doc_generic_bom_odt extends ModelePDFBom // Recipient name $contactobject = null; if (!empty($usecontact)) { - // On peut utiliser le nom de la societe du contact - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/bom/mod_bom_advanced.php b/htdocs/core/modules/bom/mod_bom_advanced.php index d590c3ff70c..09faf05d7d6 100644 --- a/htdocs/core/modules/bom/mod_bom_advanced.php +++ b/htdocs/core/modules/bom/mod_bom_advanced.php @@ -81,7 +81,7 @@ class mod_bom_advanced extends ModeleNumRefboms $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php b/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php index 16e0f666774..40d63e63143 100644 --- a/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php +++ b/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php @@ -75,7 +75,7 @@ class mod_chequereceipt_thyme extends ModeleNumRefChequeReceipts $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= ' '; + $texte .= ' '; $texte .= ''; diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index 239ec7639ec..1e6aeac79e5 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -53,7 +53,8 @@ class doc_generic_order_odt extends ModelePDFCommandes public $phpmin = array(5, 6); /** - * @var string Dolibarr version of the loaded document + * Dolibarr version of the loaded document + * @var string */ public $version = 'dolibarr'; @@ -96,7 +97,7 @@ class doc_generic_order_odt extends ModelePDFCommandes $this->option_freetext = 1; // Support add of a personalised text $this->option_draft_watermark = 0; // Support add of a watermark on drafts - // Recupere emetteur + // Get source company $this->emetteur = $mysoc; if (!$this->emetteur->country_code) { $this->emetteur->country_code = substr($langs->defaultlang, -2); // By default if not defined @@ -158,7 +159,7 @@ class doc_generic_order_odt extends ModelePDFCommandes $texte .= $conf->global->COMMANDE_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -234,6 +235,7 @@ class doc_generic_order_odt extends ModelePDFCommandes $sav_charset_output = $outputlangs->charset_output; $outputlangs->charset_output = 'UTF-8'; + // Load translation files required by the page $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->commande->dir_output) { @@ -271,7 +273,7 @@ class doc_generic_order_odt extends ModelePDFCommandes $newfiletmp = preg_replace('/template_/i', '', $newfiletmp); $newfiletmp = preg_replace('/modele_/i', '', $newfiletmp); $newfiletmp = $objectref.'_'.$newfiletmp; - //$file=$dir.'/'.$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.odt'; + // Get extension (ods or odt) $newfileformat = substr($newfile, strrpos($newfile, '.') + 1); if (!empty($conf->global->MAIN_DOC_USE_TIMING)) { @@ -307,11 +309,14 @@ class doc_generic_order_odt extends ModelePDFCommandes // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { @@ -379,6 +384,7 @@ class doc_generic_order_odt extends ModelePDFCommandes $array_other = $this->get_substitutionarray_other($outputlangs); // retrieve contact information for use in object as contact_xxx tags $array_thirdparty_contact = array(); + if ($usecontact && is_object($contactobject)) { $array_thirdparty_contact = $this->get_substitutionarray_contact($contactobject, $outputlangs, 'contact'); } @@ -455,7 +461,6 @@ class doc_generic_order_odt extends ModelePDFCommandes } // Call the beforeODTSave hook - $parameters = array('odfHandler'=>&$odfHandler, 'file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray); $reshook = $hookmanager->executeHooks('beforeODTSave', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index bd6caafd15a..d83bf427ead 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -1311,16 +1311,23 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); $title = $outputlangs->transnoentities($titlekey); + $title .= ' '.$outputlangs->convToOutputCharset($object->ref); + if ($object->statut == $object::STATUS_DRAFT) { + $pdf->SetTextColor(128, 0, 0); + $title .= ' - '.$outputlangs->transnoentities("NotValidated"); + } $pdf->MultiCell($w, 3, $title, '', 'R'); $pdf->SetFont('', 'B', $default_font_size); + /* $posy += 5; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : ".$outputlangs->convToOutputCharset($object->ref), '', 'R'); + */ - $posy += 1; + $posy += 3; $pdf->SetFont('', '', $default_font_size - 1); if ($object->ref_client) { @@ -1356,7 +1363,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("OrderDate")." : ".dol_print_date($object->date, "day", false, $outputlangs, true), '', 'R'); - if (!empty($conf->global->DOC_SHOW_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1408,20 +1415,24 @@ class pdf_einstein extends ModelePDFCommandes $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1438,7 +1449,7 @@ class pdf_einstein extends ModelePDFCommandes } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1462,11 +1473,13 @@ class pdf_einstein extends ModelePDFCommandes } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 1dc8ce74db0..01fde021cb0 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -251,7 +251,7 @@ class pdf_eratosthene extends ModelePDFCommandes $pdir[0] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; $pdir[1] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; } else { - $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; // default + $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product'); // default $pdir[1] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; // alternative } @@ -726,7 +726,7 @@ class pdf_eratosthene extends ModelePDFCommandes if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1482,11 +1482,17 @@ class pdf_eratosthene extends ModelePDFCommandes $title .= ' - '; $title .= $outputlangsbis->transnoentities($titlekey); } + $title .= ' '.$outputlangs->convToOutputCharset($object->ref); + if ($object->statut == $object::STATUS_DRAFT) { + $pdf->SetTextColor(128, 0, 0); + $title .= ' - '.$outputlangs->transnoentities("NotValidated"); + } $pdf->MultiCell($w, 3, $title, '', 'R'); $pdf->SetFont('', 'B', $default_font_size); + /* $posy += 5; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1496,8 +1502,9 @@ class pdf_eratosthene extends ModelePDFCommandes $textref .= ' - '.$outputlangs->transnoentities("NotValidated"); } $pdf->MultiCell($w, 4, $textref, '', 'R'); + */ - $posy += 1; + $posy += 3; $pdf->SetFont('', '', $default_font_size - 2); if ($object->ref_client) { @@ -1538,7 +1545,7 @@ class pdf_eratosthene extends ModelePDFCommandes } $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date, "day", false, $outputlangs, true), '', 'R'); - if (!empty($conf->global->DOC_SHOW_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1594,20 +1601,24 @@ class pdf_eratosthene extends ModelePDFCommandes // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1623,7 +1634,7 @@ class pdf_eratosthene extends ModelePDFCommandes } //Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1647,11 +1658,13 @@ class pdf_eratosthene extends ModelePDFCommandes } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/commande/mod_commande_saphir.php b/htdocs/core/modules/commande/mod_commande_saphir.php index 8b4ccdfaba7..ffb53480aa3 100644 --- a/htdocs/core/modules/commande/mod_commande_saphir.php +++ b/htdocs/core/modules/commande/mod_commande_saphir.php @@ -81,7 +81,7 @@ class mod_commande_saphir extends ModeleNumRefCommandes $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php index b1e441175d9..a640d342ddc 100644 --- a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php +++ b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php @@ -295,11 +295,14 @@ class doc_generic_contract_odt extends ModelePDFContract // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index c440cbf1cba..69a4d5ce96e 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -657,7 +657,7 @@ class pdf_strato extends ModelePDFContract $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->date_contrat, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -685,19 +685,23 @@ class pdf_strato extends ModelePDFContract $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetFont('', '', $default_font_size - 1); @@ -716,7 +720,7 @@ class pdf_strato extends ModelePDFContract $this->recipient = $object->thirdparty; // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -738,11 +742,13 @@ class pdf_strato extends ModelePDFContract } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); - $pdf->SetTextColor(0, 0, 0); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + $pdf->SetTextColor(0, 0, 0); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/contract/mod_contract_magre.php b/htdocs/core/modules/contract/mod_contract_magre.php index dcaee5eadbc..e0c54c1d022 100644 --- a/htdocs/core/modules/contract/mod_contract_magre.php +++ b/htdocs/core/modules/contract/mod_contract_magre.php @@ -86,7 +86,7 @@ class mod_contract_magre extends ModelNumRefContracts $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; $texte .= ''; $texte .= ''; diff --git a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php index a1c01002d2e..9c549576818 100644 --- a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php +++ b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php @@ -240,7 +240,7 @@ class pdf_storm extends ModelePDFDeliveryOrder $pdir[0] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; $pdir[1] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; } else { - $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; // default + $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product'); // default $pdir[1] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; // alternative } @@ -539,7 +539,7 @@ class pdf_storm extends ModelePDFDeliveryOrder if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -860,7 +860,7 @@ class pdf_storm extends ModelePDFDeliveryOrder } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php b/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php index 4656784f50d..19e319d0522 100644 --- a/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php +++ b/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php @@ -859,7 +859,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/core/modules/delivery/mod_delivery_saphir.php b/htdocs/core/modules/delivery/mod_delivery_saphir.php index d5ac288b52a..7fc9b2e6e52 100644 --- a/htdocs/core/modules/delivery/mod_delivery_saphir.php +++ b/htdocs/core/modules/delivery/mod_delivery_saphir.php @@ -85,7 +85,7 @@ class mod_delivery_saphir extends ModeleNumRefDeliveryOrder $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 8a2b6b2b121..c504d97a854 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -159,7 +159,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition $texte .= $conf->global->EXPEDITION_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -307,11 +307,14 @@ class doc_generic_shipment_odt extends ModelePdfExpedition // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a SHIPPING contact and we dont use as recipient we store the contact object for later use + // if we have a SHIPPING contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php index aed43ea40ac..2752f9a9c9b 100644 --- a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php @@ -29,7 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/expedition/modules_expedition.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; - +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; /** * Class to build sending documents with model espadon @@ -201,14 +201,13 @@ class pdf_espadon extends ModelePdfExpedition continue; } - $objphoto = new Product($this->db); $objphoto->fetch($object->lines[$i]->fk_product); if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { $pdir = get_exdir($object->lines[$i]->fk_product, 2, 0, 0, $objphoto, 'product').$object->lines[$i]->fk_product."/photos/"; $dir = $conf->product->dir_output.'/'.$pdir; } else { - $pdir = get_exdir(0, 2, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; + $pdir = get_exdir(0, 0, 0, 0, $objphoto, 'product'); $dir = $conf->product->dir_output.'/'.$pdir; } @@ -609,7 +608,7 @@ class pdf_espadon extends ModelePdfExpedition $posYAfterDescription = $pdf->GetY(); } - $nexY = $pdf->GetY(); + $nexY = max($pdf->GetY(), $posYAfterImage); $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); @@ -652,6 +651,11 @@ class pdf_espadon extends ModelePdfExpedition $nexY = max($pdf->GetY(), $nexY); } + if ($this->getColumnStatus('unit_order')) { + $this->printStdColumnContent($pdf, $curY, 'unit_order', measuringUnitString($object->lines[$i]->fk_unit)); + $nexY = max($pdf->GetY(), $nexY); + } + if ($this->getColumnStatus('qty_shipped')) { $this->printStdColumnContent($pdf, $curY, 'qty_shipped', $object->lines[$i]->qty_shipped); $nexY = max($pdf->GetY(), $nexY); @@ -666,7 +670,7 @@ class pdf_espadon extends ModelePdfExpedition if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1022,7 +1026,7 @@ class pdf_espadon extends ModelePdfExpedition $pdf->MultiCell($w, 4, $outputlangs->transnoentities("DateDeliveryPlanned")." : ".dol_print_date($object->date_delivery, "day", false, $outputlangs, true), '', 'R'); } - if (!empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1087,21 +1091,25 @@ class pdf_espadon extends ModelePdfExpedition $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFillColor(255, 255, 255); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFillColor(255, 255, 255); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1118,7 +1126,7 @@ class pdf_espadon extends ModelePdfExpedition } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1140,11 +1148,13 @@ class pdf_espadon extends ModelePdfExpedition } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); @@ -1307,6 +1317,20 @@ class pdf_espadon extends ModelePdfExpedition ), ); + $rank = $rank + 10; + $this->cols['unit_order'] = array( + 'rank' => $rank, + 'width' => 15, // in mm + 'status' => empty($conf->global->PRODUCT_USE_UNITS) ? 0 : 1, + 'title' => array( + 'textkey' => 'Unit' + ), + 'border-left' => true, // add left line separator + 'content' => array( + 'align' => 'C', + ), + ); + $rank = $rank + 10; $this->cols['qty_shipped'] = array( 'rank' => $rank, diff --git a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php index f2434c93d26..56c8fb143fb 100644 --- a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php @@ -676,7 +676,7 @@ class pdf_merou extends ModelePdfExpedition } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index 79ceb166eed..4b542e4e636 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -127,7 +127,7 @@ class pdf_rouget extends ModelePdfExpedition $this->db = $db; $this->name = "rouget"; - $this->description = $langs->trans("DocumentModelStandardPDF"); + $this->description = $langs->trans("DocumentModelStandardPDF").' ('.$langs->trans("OldImplementation").')'; $this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template $this->type = 'pdf'; @@ -971,7 +971,7 @@ class pdf_rouget extends ModelePdfExpedition $pdf->MultiCell($w, 4, $outputlangs->transnoentities("DateDeliveryPlanned")." : ".dol_print_date($object->date_delivery, "day", false, $outputlangs, true), '', 'R'); } - if (!empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1036,21 +1036,25 @@ class pdf_rouget extends ModelePdfExpedition $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFillColor(255, 255, 255); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFillColor(255, 255, 255); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1067,7 +1071,7 @@ class pdf_rouget extends ModelePdfExpedition } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1089,11 +1093,13 @@ class pdf_rouget extends ModelePdfExpedition } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/expedition/mod_expedition_ribera.php b/htdocs/core/modules/expedition/mod_expedition_ribera.php index 79bbcbdb481..736ddc3ab3f 100644 --- a/htdocs/core/modules/expedition/mod_expedition_ribera.php +++ b/htdocs/core/modules/expedition/mod_expedition_ribera.php @@ -81,7 +81,7 @@ class mod_expedition_ribera extends ModelNumRefExpedition $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; $texte .= ''; $texte .= ''; diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index b1f48450d0d..f5862bfc5f2 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -175,10 +175,11 @@ class pdf_standard extends ModeleExpenseReport //$this->posxdate=88; //$this->posxtype=107; //$this->posxprojet=120; - $this->posxtva = 130; - $this->posxup = 145; - $this->posxqty = 168; - $this->postotalttc = 178; + $this->posxtva = 112; + $this->posxup = 127; + $this->posxqty = 150; + $this->postotalht = 160; + $this->postotalttc = 180; // if (empty($conf->projet->enabled)) { // $this->posxtva-=20; // $this->posxup-=20; @@ -642,11 +643,15 @@ class pdf_standard extends ModeleExpenseReport // Quantity $pdf->SetXY($this->posxqty, $curY); - $pdf->MultiCell($this->postotalttc - $this->posxqty - 0.8, 4, $object->lines[$linenumber]->qty, 0, 'R'); + $pdf->MultiCell($this->postotalht - $this->posxqty - 0.8, 4, $object->lines[$linenumber]->qty, 0, 'R'); + + // Total without taxes + $pdf->SetXY($this->postotalht, $curY); + $pdf->MultiCell($this->postotalttc - $this->postotalht - 0.8, 4, price($object->lines[$linenumber]->total_ht), 0, 'R'); // Total with all taxes $pdf->SetXY($this->postotalttc - 1, $curY); - $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalttc, 4, price($object->lines[$linenumber]->total_ttc), 0, 'R'); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalttc + 1, 4, price($object->lines[$linenumber]->total_ttc), 0, 'R'); // Comments $pdf->SetXY($this->posxcomment, $curY); @@ -950,14 +955,14 @@ class pdf_standard extends ModeleExpenseReport // Accountancy piece if (empty($hidetop)) { $pdf->SetXY($this->posxpiece - 1, $tab_top + 1); - $pdf->MultiCell($this->posxcomment - $this->posxpiece - 1, 1, '', '', 'R'); + $pdf->MultiCell($this->posxcomment - $this->posxpiece - 0.8, 1, '', '', 'R'); } // Comments $pdf->line($this->posxcomment - 1, $tab_top, $this->posxcomment - 1, $tab_top + $tab_height); if (empty($hidetop)) { $pdf->SetXY($this->posxcomment - 1, $tab_top + 1); - $pdf->MultiCell($this->posxdate - $this->posxcomment - 1, 1, $outputlangs->transnoentities("Description"), '', 'L'); + $pdf->MultiCell($this->posxdate - $this->posxcomment - 0.8, 1, $outputlangs->transnoentities("Description"), '', 'L'); } // Date @@ -990,7 +995,7 @@ class pdf_standard extends ModeleExpenseReport if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { $pdf->line($this->posxtva - 1, $tab_top, $this->posxtva - 1, $tab_top + $tab_height); if (empty($hidetop)) { - $pdf->SetXY($this->posxtva - 1, $tab_top + 1); + $pdf->SetXY($this->posxtva - 0.8, $tab_top + 1); $pdf->MultiCell($this->posxup - $this->posxtva - 1, 2, $outputlangs->transnoentities("VAT"), '', 'C'); } } @@ -998,22 +1003,29 @@ class pdf_standard extends ModeleExpenseReport // Unit price $pdf->line($this->posxup - 1, $tab_top, $this->posxup - 1, $tab_top + $tab_height); if (empty($hidetop)) { - $pdf->SetXY($this->posxup - 1, $tab_top + 1); - $pdf->MultiCell($this->posxqty - $this->posxup - 1, 2, $outputlangs->transnoentities("PriceU"), '', 'C'); + $pdf->SetXY($this->posxup - 0.8, $tab_top + 1); + $pdf->MultiCell($this->posxqty - $this->posxup - 1, 2, $outputlangs->transnoentities("PriceUTTC"), '', 'C'); } // Quantity $pdf->line($this->posxqty - 1, $tab_top, $this->posxqty - 1, $tab_top + $tab_height); if (empty($hidetop)) { - $pdf->SetXY($this->posxqty - 1, $tab_top + 1); - $pdf->MultiCell($this->postotalttc - $this->posxqty - 1, 2, $outputlangs->transnoentities("Qty"), '', 'C'); + $pdf->SetXY($this->posxqty - 0.8, $tab_top + 1); + $pdf->MultiCell($this->postotalht - $this->posxqty - 1, 2, $outputlangs->transnoentities("Qty"), '', 'C'); + } + + // Total without taxes + $pdf->line($this->postotalht - 1, $tab_top, $this->postotalht - 1, $tab_top + $tab_height); + if (empty($hidetop)) { + $pdf->SetXY($this->postotalht - 0.8, $tab_top + 1); + $pdf->MultiCell($this->postotalttc - $this->postotalht + 1, 2, $outputlangs->transnoentities("TotalHT"), '', 'C'); } // Total with all taxes $pdf->line($this->postotalttc, $tab_top, $this->postotalttc, $tab_top + $tab_height); if (empty($hidetop)) { - $pdf->SetXY($this->postotalttc - 1, $tab_top + 1); - $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalttc, 2, $outputlangs->transnoentities("TotalTTC"), '', 'R'); + $pdf->SetXY($this->postotalttc - 0.8, $tab_top + 1); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalttc + 1, 2, $outputlangs->transnoentities("TotalTTC"), '', 'R'); } $pdf->SetTextColor(0, 0, 0); diff --git a/htdocs/core/modules/expensereport/mod_expensereport_sand.php b/htdocs/core/modules/expensereport/mod_expensereport_sand.php index 482b8c06431..c403aa8c228 100644 --- a/htdocs/core/modules/expensereport/mod_expensereport_sand.php +++ b/htdocs/core/modules/expensereport/mod_expensereport_sand.php @@ -84,7 +84,7 @@ class mod_expensereport_sand extends ModeleNumRefExpenseReport $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/export/export_csv.modules.php b/htdocs/core/modules/export/export_csv.modules.php index 2d15f3999d0..88ae937bb6d 100644 --- a/htdocs/core/modules/export/export_csv.modules.php +++ b/htdocs/core/modules/export/export_csv.modules.php @@ -277,8 +277,8 @@ class ExportCsv extends ModeleExports $newvalue = $this->csvClean($newvalue, $outputlangs->charset_output); - if (preg_match('/^Select:/i', $typefield, $reg) && $typefield = substr($typefield, 7)) { - $array = unserialize($typefield); + if (preg_match('/^Select:/i', $typefield) && $typefield = substr($typefield, 7)) { + $array = json_decode($typefield, true); $array = $array['options']; $newvalue = $array[$newvalue]; } diff --git a/htdocs/core/modules/export/export_excel2007.modules.php b/htdocs/core/modules/export/export_excel2007.modules.php index 370fc49df7e..54842ff8278 100644 --- a/htdocs/core/modules/export/export_excel2007.modules.php +++ b/htdocs/core/modules/export/export_excel2007.modules.php @@ -315,8 +315,8 @@ class ExportExcel2007 extends ModeleExports $newvalue = $this->excel_clean($newvalue); $typefield = isset($array_types[$code]) ? $array_types[$code] : ''; - if (preg_match('/^Select:/i', $typefield, $reg) && $typefield = substr($typefield, 7)) { - $array = unserialize($typefield); + if (preg_match('/^Select:/i', $typefield) && $typefield = substr($typefield, 7)) { + $array = json_decode($typefield, true); $array = $array['options']; $newvalue = $array[$newvalue]; } diff --git a/htdocs/core/modules/export/export_tsv.modules.php b/htdocs/core/modules/export/export_tsv.modules.php index c93787a762c..7718dd3e350 100644 --- a/htdocs/core/modules/export/export_tsv.modules.php +++ b/htdocs/core/modules/export/export_tsv.modules.php @@ -252,8 +252,8 @@ class ExportTsv extends ModeleExports $newvalue = $this->tsv_clean($newvalue, $outputlangs->charset_output); - if (preg_match('/^Select:/i', $typefield, $reg) && $typefield = substr($typefield, 7)) { - $array = unserialize($typefield); + if (preg_match('/^Select:/i', $typefield) && $typefield = substr($typefield, 7)) { + $array = json_decode($typefield, true); $array = $array['options']; $newvalue = $array[$newvalue]; } diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index 0d360269d46..ef20b4ff389 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -158,7 +158,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures $texte .= $conf->global->FACTURE_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -308,11 +308,14 @@ class doc_generic_invoice_odt extends ModelePDFFactures // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a BILLING contact and we dont use it as recipient we store the contact object for later use + // if we have a BILLING contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index a01fab1dacf..037074bce23 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -248,6 +248,14 @@ class pdf_crabe extends ModelePDFFactures // Load translation files required by the page $outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies")); + global $outputlangsbis; + $outputlangsbis = null; + if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) { + $outputlangsbis = new Translate('', $conf); + $outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE); + $outputlangsbis->loadLangs(array("main", "bills", "products", "dict", "companies")); + } + $nblines = count($object->lines); // Loop on each lines to detect if there is at least one image to show @@ -761,10 +769,10 @@ class pdf_crabe extends ModelePDFFactures } // Display info area - $posy = $this->_tableau_info($pdf, $object, $bottomlasttab, $outputlangs); + $posy = $this->_tableau_info($pdf, $object, $bottomlasttab, $outputlangs, $outputlangsbis); // Display total area - $posy = $this->_tableau_tot($pdf, $object, $deja_regle, $bottomlasttab, $outputlangs); + $posy = $this->_tableau_tot($pdf, $object, $deja_regle, $bottomlasttab, $outputlangs, $outputlangsbis); // Display Payments area if (($deja_regle || $amount_credit_notes_included || $amount_deposits_included) && empty($conf->global->INVOICE_NO_PAYMENT_DETAILS)) { @@ -854,7 +862,7 @@ class pdf_crabe extends ModelePDFFactures $sql .= " re.description, re.fk_facture_source,"; $sql .= " f.type, f.datef"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except as re, ".MAIN_DB_PREFIX."facture as f"; - $sql .= " WHERE re.fk_facture_source = f.rowid AND re.fk_facture = ".$object->id; + $sql .= " WHERE re.fk_facture_source = f.rowid AND re.fk_facture = ".((int) $object->id); $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); @@ -914,7 +922,7 @@ class pdf_crabe extends ModelePDFFactures $sql .= " cp.code"; $sql .= " FROM ".MAIN_DB_PREFIX."paiement_facture as pf, ".MAIN_DB_PREFIX."paiement as p"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as cp ON p.fk_paiement = cp.id"; - $sql .= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = ".$object->id; + $sql .= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = ".((int) $object->id); //$sql.= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = 1"; $sql .= " ORDER BY p.datep"; @@ -1014,9 +1022,10 @@ class pdf_crabe extends ModelePDFFactures * @param Facture $object Object to show * @param int $posy Y * @param Translate $outputlangs Langs object - * @return void + * @param Translate $outputlangsbis Object lang for output bis + * @return int Pos y */ - protected function _tableau_info(&$pdf, $object, $posy, $outputlangs) + protected function _tableau_info(&$pdf, $object, $posy, $outputlangs, $outputlangsbis) { // phpcs:enable global $conf, $mysoc; @@ -1053,7 +1062,7 @@ class pdf_crabe extends ModelePDFFactures $lib_condition_paiement = str_replace('\n', "\n", $lib_condition_paiement); $pdf->MultiCell(67, 4, $lib_condition_paiement, 0, 'L'); - $posy = $pdf->GetY() + 3; + $posy = $pdf->GetY() + 3; // We need spaces for 2 lines payment conditions } if ($object->type != 2) { @@ -1078,7 +1087,7 @@ class pdf_crabe extends ModelePDFFactures } // Show payment mode - if ($object->mode_reglement_code + if (!empty($object->mode_reglement_code) && $object->mode_reglement_code != 'CHQ' && $object->mode_reglement_code != 'VIR') { $pdf->SetFont('', 'B', $default_font_size - 2); @@ -1091,9 +1100,25 @@ class pdf_crabe extends ModelePDFFactures $lib_mode_reg = $outputlangs->transnoentities("PaymentType".$object->mode_reglement_code) != ('PaymentType'.$object->mode_reglement_code) ? $outputlangs->transnoentities("PaymentType".$object->mode_reglement_code) : $outputlangs->convToOutputCharset($object->mode_reglement); $pdf->MultiCell(80, 5, $lib_mode_reg, 0, 'L'); - // Show online payment link - $useonlinepayment = ((!empty($conf->paypal->enabled) || !empty($conf->stripe->enabled) || !empty($conf->paybox->enabled)) && !empty($conf->global->PDF_SHOW_LINK_TO_ONLINE_PAYMENT)); - if (($object->mode_reglement_code == 'CB' || $object->mode_reglement_code == 'VAD') && $object->statut != Facture::STATUS_DRAFT && $useonlinepayment) { + $posy = $pdf->GetY(); + } + + // Show online payment link + if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'CB' || $object->mode_reglement_code == 'VAD') { + $useonlinepayment = 0; + if (!empty($conf->global->PDF_SHOW_LINK_TO_ONLINE_PAYMENT)) { + if (!empty($conf->paypal->enabled)) { + $useonlinepayment++; + } + if (!empty($conf->stripe->enabled)) { + $useonlinepayment++; + } + if (!empty($conf->paybox->enabled)) { + $useonlinepayment++; + } + } + + if ($object->statut != Facture::STATUS_DRAFT && $useonlinepayment) { require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; global $langs; @@ -1102,11 +1127,11 @@ class pdf_crabe extends ModelePDFFactures $paiement_url = getOnlinePaymentUrl('', 'invoice', $object->ref, '', '', ''); $linktopay = $langs->trans("ToOfferALinkForOnlinePayment", $servicename).' '.$outputlangs->transnoentities("ClickHere").''; - $pdf->writeHTMLCell(80, 10, '', '', dol_htmlentitiesbr($linktopay), 0, 1); + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->writeHTMLCell(80, 5, '', '', dol_htmlentitiesbr($linktopay), 0, 1); } - - $posy = $pdf->GetY() + 2; + $posy = $pdf->GetY() + 1; } // Show payment mode CHQ @@ -1181,12 +1206,13 @@ class pdf_crabe extends ModelePDFFactures * @param int $deja_regle Amount already paid (in the currency of invoice) * @param int $posy Position depart * @param Translate $outputlangs Objet langs + * @param Translate $outputlangsbis Object lang for output bis * @return int Position pour suite */ - protected function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs) + protected function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs, $outputlangsbis) { // phpcs:enable - global $conf, $mysoc; + global $conf, $mysoc, $hookmanager; $sign = 1; if ($object->type == 2 && !empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE)) { @@ -1195,6 +1221,14 @@ class pdf_crabe extends ModelePDFFactures $default_font_size = pdf_getPDFFontSize($outputlangs); + $outputlangsbis = null; + if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) { + $outputlangsbis = new Translate('', $conf); + $outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE); + $outputlangsbis->loadLangs(array("main", "dict", "companies", "bills", "products", "propal")); + $default_font_size--; + } + $tab2_top = $posy; $tab2_hl = 4; $pdf->SetFont('', '', $default_font_size - 1); @@ -1213,7 +1247,7 @@ class pdf_crabe extends ModelePDFFactures // Total HT $pdf->SetFillColor(255, 255, 255); $pdf->SetXY($col1x, $tab2_top + 0); - $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total") : ''), 0, 'L', 1); $total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht); $pdf->SetXY($col2x, $tab2_top + 0); @@ -1253,7 +1287,8 @@ class pdf_crabe extends ModelePDFFactures $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; } - $totalvat = $outputlangs->transcountrynoentities("TotalLT1", $mysoc->country_code).' '; + $totalvat = $outputlangs->transcountrynoentities("TotalLT1", $mysoc->country_code).(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transcountrynoentities("TotalLT1", $mysoc->country_code) : ''); + $totalvat .= ' '; $totalvat .= vatrate(abs($tvakey), 1).$tvacompl; $pdf->MultiCell($col2x - $col1x, $tab2_hl, $totalvat, 0, 'L', 1); @@ -1285,7 +1320,8 @@ class pdf_crabe extends ModelePDFFactures $tvakey = str_replace('*', '', $tvakey); $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; } - $totalvat = $outputlangs->transcountrynoentities("TotalLT2", $mysoc->country_code).' '; + $totalvat = $outputlangs->transcountrynoentities("TotalLT2", $mysoc->country_code).(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transcountrynoentities("TotalLT2", $mysoc->country_code) : ''); + $totalvat .= ' '; $totalvat .= vatrate(abs($tvakey), 1).$tvacompl; $pdf->MultiCell($col2x - $col1x, $tab2_hl, $totalvat, 0, 'L', 1); @@ -1702,10 +1738,17 @@ class pdf_crabe extends ModelePDFFactures $title .= $outputlangsbis->transnoentities("InvoiceProForma"); } } + $title .= ' '.$outputlangs->convToOutputCharset($object->ref); + if ($object->statut == $object::STATUS_DRAFT) { + $pdf->SetTextColor(128, 0, 0); + $title .= ' - '.$outputlangs->transnoentities("NotValidated"); + } + $pdf->MultiCell($w, 3, $title, '', 'R'); $pdf->SetFont('', 'B', $default_font_size); + /* $posy += 5; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1714,9 +1757,9 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetTextColor(128, 0, 0); $textref .= ' - '.$outputlangs->transnoentities("NotValidated"); } - $pdf->MultiCell($w, 4, $textref, '', 'R'); + $pdf->MultiCell($w, 4, $textref, '', 'R');*/ - $posy += 1; + $posy += 3; $pdf->SetFont('', '', $default_font_size - 2); if ($object->ref_client) { @@ -1803,7 +1846,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date_lim_reglement, "day", false, $outputlangs, true), '', 'R'); } - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 3; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1850,20 +1893,24 @@ class pdf_crabe extends ModelePDFFactures // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1880,7 +1927,7 @@ class pdf_crabe extends ModelePDFFactures } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1904,11 +1951,13 @@ class pdf_crabe extends ModelePDFFactures } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index ad793d3d6b8..b919b90abfd 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -257,7 +257,7 @@ class pdf_sponge extends ModelePDFFactures $pdir[0] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; $pdir[1] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; } else { - $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; // default + $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product'); // default $pdir[1] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; // alternative } @@ -766,7 +766,7 @@ class pdf_sponge extends ModelePDFFactures if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -906,10 +906,10 @@ class pdf_sponge extends ModelePDFFactures } // Display infos area - $posy = $this->drawInfoTable($pdf, $object, $bottomlasttab, $outputlangs); + $posy = $this->drawInfoTable($pdf, $object, $bottomlasttab, $outputlangs, $outputlangsbis); // Display total zone - $posy = $this->drawTotalTable($pdf, $object, $deja_regle, $bottomlasttab, $outputlangs); + $posy = $this->drawTotalTable($pdf, $object, $deja_regle, $bottomlasttab, $outputlangs, $outputlangsbis); // Display payment area if (($deja_regle || $amount_credit_notes_included || $amount_deposits_included) && empty($conf->global->INVOICE_NO_PAYMENT_DETAILS)) { @@ -1015,7 +1015,7 @@ class pdf_sponge extends ModelePDFFactures $sql .= " re.description, re.fk_facture_source,"; $sql .= " f.type, f.datef"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except as re, ".MAIN_DB_PREFIX."facture as f"; - $sql .= " WHERE re.fk_facture_source = f.rowid AND re.fk_facture = ".$object->id; + $sql .= " WHERE re.fk_facture_source = f.rowid AND re.fk_facture = ".((int) $object->id); $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); @@ -1061,7 +1061,7 @@ class pdf_sponge extends ModelePDFFactures $sql .= " cp.code"; $sql .= " FROM ".MAIN_DB_PREFIX."paiement_facture as pf, ".MAIN_DB_PREFIX."paiement as p"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as cp ON p.fk_paiement = cp.id"; - $sql .= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = ".$object->id; + $sql .= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = ".((int) $object->id); //$sql.= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = 1"; $sql .= " ORDER BY p.datep"; @@ -1104,9 +1104,10 @@ class pdf_sponge extends ModelePDFFactures * @param Facture $object Object to show * @param int $posy Y * @param Translate $outputlangs Langs object + * @param Translate $outputlangsbis Object lang for output bis * @return int Pos y */ - protected function drawInfoTable(&$pdf, $object, $posy, $outputlangs) + protected function drawInfoTable(&$pdf, $object, $posy, $outputlangs, $outputlangsbis) { global $conf, $mysoc; @@ -1118,7 +1119,11 @@ class pdf_sponge extends ModelePDFFactures if ($this->emetteur->country_code == 'FR' && empty($mysoc->tva_assuj)) { $pdf->SetFont('', 'B', $default_font_size - 2); $pdf->SetXY($this->marge_gauche, $posy); - $pdf->MultiCell(100, 3, $outputlangs->transnoentities("VATIsNotUsedForInvoice"), 0, 'L', 0); + if ($mysoc->forme_juridique_code == 92) { + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("VATIsNotUsedForInvoiceAsso"), 0, 'L', 0); + } else { + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("VATIsNotUsedForInvoice"), 0, 'L', 0); + } $posy = $pdf->GetY() + 4; } @@ -1138,7 +1143,7 @@ class pdf_sponge extends ModelePDFFactures $lib_condition_paiement = str_replace('\n', "\n", $lib_condition_paiement); $pdf->MultiCell(67, 4, $lib_condition_paiement, 0, 'L'); - $posy = $pdf->GetY() + 3; + $posy = $pdf->GetY() + 3; // We need spaces for 2 lines payment conditions } if ($object->type != 2) { @@ -1163,7 +1168,7 @@ class pdf_sponge extends ModelePDFFactures } // Show payment mode - if ($object->mode_reglement_code + if (!empty($object->mode_reglement_code) && $object->mode_reglement_code != 'CHQ' && $object->mode_reglement_code != 'VIR') { $pdf->SetFont('', 'B', $default_font_size - 2); @@ -1176,9 +1181,25 @@ class pdf_sponge extends ModelePDFFactures $lib_mode_reg = $outputlangs->transnoentities("PaymentType".$object->mode_reglement_code) != ('PaymentType'.$object->mode_reglement_code) ? $outputlangs->transnoentities("PaymentType".$object->mode_reglement_code) : $outputlangs->convToOutputCharset($object->mode_reglement); $pdf->MultiCell(80, 5, $lib_mode_reg, 0, 'L'); - // Show online payment link - $useonlinepayment = ((!empty($conf->paypal->enabled) || !empty($conf->stripe->enabled) || !empty($conf->paybox->enabled)) && !empty($conf->global->PDF_SHOW_LINK_TO_ONLINE_PAYMENT)); - if (($object->mode_reglement_code == 'CB' || $object->mode_reglement_code == 'VAD') && $object->statut != Facture::STATUS_DRAFT && $useonlinepayment) { + $posy = $pdf->GetY(); + } + + // Show online payment link + if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'CB' || $object->mode_reglement_code == 'VAD') { + $useonlinepayment = 0; + if (!empty($conf->global->PDF_SHOW_LINK_TO_ONLINE_PAYMENT)) { + if (!empty($conf->paypal->enabled)) { + $useonlinepayment++; + } + if (!empty($conf->stripe->enabled)) { + $useonlinepayment++; + } + if (!empty($conf->paybox->enabled)) { + $useonlinepayment++; + } + } + + if ($object->statut != Facture::STATUS_DRAFT && $useonlinepayment) { require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; global $langs; @@ -1187,10 +1208,11 @@ class pdf_sponge extends ModelePDFFactures $paiement_url = getOnlinePaymentUrl('', 'invoice', $object->ref, '', '', ''); $linktopay = $langs->trans("ToOfferALinkForOnlinePayment", $servicename).' '.$outputlangs->transnoentities("ClickHere").''; - $pdf->writeHTMLCell(80, 10, '', '', dol_htmlentitiesbr($linktopay), 0, 1); + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->writeHTMLCell(80, 5, '', '', dol_htmlentitiesbr($linktopay), 0, 1); } - $posy = $pdf->GetY() + 2; + $posy = $pdf->GetY() + 1; } // Show payment mode CHQ @@ -1263,9 +1285,10 @@ class pdf_sponge extends ModelePDFFactures * @param int $deja_regle Amount already paid (in the currency of invoice) * @param int $posy Position depart * @param Translate $outputlangs Objet langs + * @param Translate $outputlangsbis Object lang for output bis * @return int Position pour suite */ - protected function drawTotalTable(&$pdf, $object, $deja_regle, $posy, $outputlangs) + protected function drawTotalTable(&$pdf, $object, $deja_regle, $posy, $outputlangs, $outputlangsbis) { global $conf, $mysoc, $hookmanager; @@ -1276,14 +1299,6 @@ class pdf_sponge extends ModelePDFFactures $default_font_size = pdf_getPDFFontSize($outputlangs); - $outputlangsbis = null; - if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) { - $outputlangsbis = new Translate('', $conf); - $outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE); - $outputlangsbis->loadLangs(array("main", "dict", "companies", "bills", "products", "propal")); - $default_font_size--; - } - $tab2_top = $posy; $tab2_hl = 4; $pdf->SetFont('', '', $default_font_size - 1); @@ -1353,7 +1368,7 @@ class pdf_sponge extends ModelePDFFactures $posy = $pdf->GetY(); } - // cumul TVA précédent + // Cumulate preceding VAT $index++; $pdf->SetFillColor(255, 255, 255); $pdf->SetXY($col1x, $posy); @@ -1427,7 +1442,7 @@ class pdf_sponge extends ModelePDFFactures // Total remise $total_line_remise = 0; foreach ($object->lines as $i => $line) { - $total_line_remise += pdfGetLineTotalDiscountAmount($object, $i, $outputlangs, 2); // TODO: add this methode to core/lib/pdf.lib + $total_line_remise += pdfGetLineTotalDiscountAmount($object, $i, $outputlangs, 2); // TODO: add this method to core/lib/pdf.lib // Gestion remise sous forme de ligne négative if ($line->total_ht < 0) { $total_line_remise += -$line->total_ht; @@ -1458,7 +1473,7 @@ class pdf_sponge extends ModelePDFFactures // Total HT $pdf->SetFillColor(255, 255, 255); $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); - $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities("TotalHT") : ''), 0, 'L', 1); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total").(is_object($outputlangsbis) ? ' / '.$outputlangsbis->transnoentities(empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) ? "TotalHT" : "Total") : ''), 0, 'L', 1); $total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht); $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); @@ -1939,10 +1954,17 @@ class pdf_sponge extends ModelePDFFactures $title .= $outputlangsbis->transnoentities("InvoiceProForma"); } } + $title .= ' '.$outputlangs->convToOutputCharset($object->ref); + if ($object->statut == $object::STATUS_DRAFT) { + $pdf->SetTextColor(128, 0, 0); + $title .= ' - '.$outputlangs->transnoentities("NotValidated"); + } + $pdf->MultiCell($w, 3, $title, '', 'R'); $pdf->SetFont('', 'B', $default_font_size); + /* $posy += 5; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1951,9 +1973,9 @@ class pdf_sponge extends ModelePDFFactures $pdf->SetTextColor(128, 0, 0); $textref .= ' - '.$outputlangs->transnoentities("NotValidated"); } - $pdf->MultiCell($w, 4, $textref, '', 'R'); + $pdf->MultiCell($w, 4, $textref, '', 'R');*/ - $posy += 1; + $posy += 3; $pdf->SetFont('', '', $default_font_size - 2); if ($object->ref_client) { @@ -2041,7 +2063,7 @@ class pdf_sponge extends ModelePDFFactures $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date_lim_reglement, "day", false, $outputlangs, true), '', 'R'); } - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 3; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -2088,20 +2110,24 @@ class pdf_sponge extends ModelePDFFactures // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -2117,7 +2143,7 @@ class pdf_sponge extends ModelePDFFactures } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -2125,7 +2151,7 @@ class pdf_sponge extends ModelePDFFactures $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $mode = 'target'; + $mode = 'target'; $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, $mode, $object); // Show recipient @@ -2141,11 +2167,13 @@ class pdf_sponge extends ModelePDFFactures } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/facture/mod_facture_mercure.php b/htdocs/core/modules/facture/mod_facture_mercure.php index 32e06f285a9..621bb8e6d2d 100644 --- a/htdocs/core/modules/facture/mod_facture_mercure.php +++ b/htdocs/core/modules/facture/mod_facture_mercure.php @@ -75,25 +75,25 @@ class mod_facture_mercure extends ModeleNumRefFactures $tooltip .= $langs->trans("GenericMaskCodes5"); // Setting the prefix - $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceStandard").'):'; + $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceStandard").'):'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; // Prefix setting of replacement invoices - $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceReplacement").'):'; + $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceReplacement").'):'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; $texte .= ''; // Prefix setting of credit note - $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):'; + $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; $texte .= ''; // Prefix setting of deposit - $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceDeposit").'):'; + $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("InvoiceDeposit").'):'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; $texte .= ''; diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index 08d57587625..e23a0aa1701 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -613,7 +613,7 @@ class pdf_soleil extends ModelePDFFicheinter $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->datec, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -641,19 +641,23 @@ class pdf_soleil extends ModelePDFFicheinter $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetFont('', '', $default_font_size - 1); @@ -670,7 +674,7 @@ class pdf_soleil extends ModelePDFFicheinter } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -692,11 +696,13 @@ class pdf_soleil extends ModelePDFFicheinter } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); - $pdf->SetTextColor(0, 0, 0); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + $pdf->SetTextColor(0, 0, 0); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/fichinter/mod_arctic.php b/htdocs/core/modules/fichinter/mod_arctic.php index 91025817a9d..cb5acddd6e9 100644 --- a/htdocs/core/modules/fichinter/mod_arctic.php +++ b/htdocs/core/modules/fichinter/mod_arctic.php @@ -86,7 +86,7 @@ class mod_arctic extends ModeleNumRefFicheinter $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/holiday/mod_holiday_immaculate.php b/htdocs/core/modules/holiday/mod_holiday_immaculate.php index 000c7881561..84d6638a27e 100644 --- a/htdocs/core/modules/holiday/mod_holiday_immaculate.php +++ b/htdocs/core/modules/holiday/mod_holiday_immaculate.php @@ -86,7 +86,7 @@ class mod_holiday_immaculate extends ModelNumRefHolidays $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; $texte .= ''; $texte .= ''; diff --git a/htdocs/core/modules/hrm/mod_evaluation_advanced.php b/htdocs/core/modules/hrm/mod_evaluation_advanced.php new file mode 100644 index 00000000000..0468c9ebb30 --- /dev/null +++ b/htdocs/core/modules/hrm/mod_evaluation_advanced.php @@ -0,0 +1,148 @@ + + * Copyright (C) 2004-2007 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand (Resultic) + * Copyright (C) 2019 Frédéric France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see https://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/hrm/mod_evaluation_advanced.php + * \ingroup hrm + * \brief File containing class for advanced numbering model of Evaluation + */ + +dol_include_once('/core/modules/hrm/modules_evaluation.php'); + + +/** + * Class to manage customer Bom numbering rules advanced + */ +class mod_evaluation_advanced extends ModeleNumRefEvaluation +{ + /** + * Dolibarr version of the loaded document + * @var string + */ + public $version = 'dolibarr'; // 'development', 'experimental', 'dolibarr' + + /** + * @var string Error message + */ + public $error = ''; + + /** + * @var string name + */ + public $name = 'advanced'; + + + /** + * Returns the description of the numbering model + * + * @return string Texte descripif + */ + public function info() + { + global $conf, $langs, $db; + + $langs->load("bills"); + + $form = new Form($db); + + $texte = $langs->trans('GenericNumRefModelDesc')."
    \n"; + $texte .= '
    '; + $texte .= ''; + $texte .= ''; + $texte .= ''; + $texte .= ''; + + $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("Evaluation"), $langs->transnoentities("Evaluation")); + $tooltip .= $langs->trans("GenericMaskCodes2"); + $tooltip .= $langs->trans("GenericMaskCodes3"); + $tooltip .= $langs->trans("GenericMaskCodes4a", $langs->transnoentities("Evaluation"), $langs->transnoentities("Evaluation")); + $tooltip .= $langs->trans("GenericMaskCodes5"); + + // Parametrage du prefix + $texte .= ''; + $texte .= ''; + + $texte .= ''; + + $texte .= ''; + + $texte .= '
    '.$langs->trans("Mask").':'.$form->textwithpicto('', $tooltip, 1, 1).' 
    '; + $texte .= '
    '; + + return $texte; + } + + /** + * Return an example of numbering + * + * @return string Example + */ + public function getExample() + { + global $conf, $db, $langs, $mysoc; + + $object = new Evaluation($db); + $object->initAsSpecimen(); + + /*$old_code_client = $mysoc->code_client; + $old_code_type = $mysoc->typent_code; + $mysoc->code_client = 'CCCCCCCCCC'; + $mysoc->typent_code = 'TTTTTTTTTT';*/ + + $numExample = $this->getNextValue($object); + + /*$mysoc->code_client = $old_code_client; + $mysoc->typent_code = $old_code_type;*/ + + if (!$numExample) { + $numExample = $langs->trans('NotConfigured'); + } + return $numExample; + } + + /** + * Return next free value + * + * @param Object $object Object we need next value for + * @return string Value if KO, <0 if KO + */ + public function getNextValue($object) + { + global $db, $conf; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + + // We get cursor rule + $mask = $conf->global->HRM_EVALUATION_ADVANCED_MASK; + + if (!$mask) { + $this->error = 'NotConfigured'; + return 0; + } + + $date = $object->date; + + $numFinal = get_next_value($db, $mask, 'hrm_evaluation', 'ref', '', null, $date); + + return $numFinal; + } +} diff --git a/htdocs/core/modules/hrm/mod_evaluation_standard.php b/htdocs/core/modules/hrm/mod_evaluation_standard.php new file mode 100644 index 00000000000..4c5bb083870 --- /dev/null +++ b/htdocs/core/modules/hrm/mod_evaluation_standard.php @@ -0,0 +1,161 @@ + + * Copyright (C) 2005-2009 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see https://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/hrm/mod_evaluation_standard.php + * \ingroup hrm + * \brief File of class to manage Evaluation numbering rules standard + */ +dol_include_once('/core/modules/hrm/modules_evaluation.php'); + + +/** + * Class to manage customer order numbering rules standard + */ +class mod_evaluation_standard extends ModeleNumRefEvaluation +{ + /** + * Dolibarr version of the loaded document + * @var string + */ + public $version = 'dolibarr'; // 'development', 'experimental', 'dolibarr' + + public $prefix = 'EVAL'; + + /** + * @var string Error code (or message) + */ + public $error = ''; + + /** + * @var string name + */ + public $name = 'standard'; + + + /** + * Return description of numbering module + * + * @return string Text with description + */ + public function info() + { + global $langs; + return $langs->trans("SimpleNumRefModelDesc", $this->prefix); + } + + + /** + * Return an example of numbering + * + * @return string Example + */ + public function getExample() + { + return $this->prefix."0501-0001"; + } + + + /** + * Checks if the numbers already in the database do not + * cause conflicts that would prevent this numbering working. + * + * @param Object $object Object we need next value for + * @return boolean false if conflict, true if ok + */ + public function canBeActivated($object) + { + global $conf, $langs, $db; + + $coyymm = ''; $max = ''; + + $posindice = strlen($this->prefix) + 6; + $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql .= " FROM ".MAIN_DB_PREFIX."hrm_evaluation"; + $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + if ($object->ismultientitymanaged == 1) { + $sql .= " AND entity = ".$conf->entity; + } elseif ($object->ismultientitymanaged == 2) { + // TODO + } + + $resql = $db->query($sql); + if ($resql) { + $row = $db->fetch_row($resql); + if ($row) { + $coyymm = substr($row[0], 0, 6); $max = $row[0]; + } + } + if ($coyymm && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $coyymm)) { + $langs->load("errors"); + $this->error = $langs->trans('ErrorNumRefModel', $max); + return false; + } + + return true; + } + + /** + * Return next free value + * + * @param Object $object Object we need next value for + * @return string Value if KO, <0 if KO + */ + public function getNextValue($object) + { + global $db, $conf; + + // first we get the max value + $posindice = strlen($this->prefix) + 6; + $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql .= " FROM ".MAIN_DB_PREFIX."hrm_evaluation"; + $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + if ($object->ismultientitymanaged == 1) { + $sql .= " AND entity = ".$conf->entity; + } elseif ($object->ismultientitymanaged == 2) { + // TODO + } + + $resql = $db->query($sql); + if ($resql) { + $obj = $db->fetch_object($resql); + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } + } else { + dol_syslog("mod_evaluation_standard::getNextValue", LOG_DEBUG); + return -1; + } + + //$date=time(); + $date = $object->date_creation; + $yymm = strftime("%y%m", $date); + + if ($max >= (pow(10, 4) - 1)) { + $num = $max + 1; // If counter > 9999, we do not format on 4 chars, we take number as it is + } else { + $num = sprintf("%04s", $max + 1); + } + + dol_syslog("mod_evaluation_standard::getNextValue return ".$this->prefix.$yymm."-".$num); + return $this->prefix.$yymm."-".$num; + } +} diff --git a/htdocs/core/modules/hrm/modules_evaluation.php b/htdocs/core/modules/hrm/modules_evaluation.php new file mode 100644 index 00000000000..36fc7e26d81 --- /dev/null +++ b/htdocs/core/modules/hrm/modules_evaluation.php @@ -0,0 +1,158 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2014 Marcos García + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see https://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/hrm/modules_evaluation.php + * \ingroup hrm + * \brief File that contains parent class for evaluations document models and parent class for evaluations numbering models + */ + +require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // required for use by classes that inherit + + +/** + * Parent class for documents models + */ +abstract class ModelePDFEvaluation extends CommonDocGenerator +{ + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return list of active generation modules + * + * @param DoliDB $db Database handler + * @param integer $maxfilenamelength Max length of value to show + * @return array List of templates + */ + public static function liste_modeles($db, $maxfilenamelength = 0) + { + // phpcs:enable + global $conf; + + $type = 'evaluation'; + $list = array(); + + include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $list = getListOfModels($db, $type, $maxfilenamelength); + + return $list; + } +} + + + +/** + * Parent class to manage numbering of Evaluation + */ +abstract class ModeleNumRefEvaluation +{ + /** + * @var string Error code (or message) + */ + public $error = ''; + + /** + * Return if a module can be used or not + * + * @return boolean true if module can be used + */ + public function isEnabled() + { + return true; + } + + /** + * Returns the default description of the numbering template + * + * @return string Texte descripif + */ + public function info() + { + global $langs; + $langs->load("hrm"); + return $langs->trans("NoDescription"); + } + + /** + * Returns an example of numbering + * + * @return string Example + */ + public function getExample() + { + global $langs; + $langs->load("hrm"); + return $langs->trans("NoExample"); + } + + /** + * Checks if the numbers already in the database do not + * cause conflicts that would prevent this numbering working. + * + * @param Object $object Object we need next value for + * @return boolean false if conflict, true if ok + */ + public function canBeActivated($object) + { + return true; + } + + /** + * Returns next assigned value + * + * @param Object $object Object we need next value for + * @return string Valeur + */ + public function getNextValue($object) + { + global $langs; + return $langs->trans("NotAvailable"); + } + + /** + * Returns version of numbering module + * + * @return string Valeur + */ + public function getVersion() + { + global $langs; + $langs->load("admin"); + + if ($this->version == 'development') { + return $langs->trans("VersionDevelopment"); + } + if ($this->version == 'experimental') { + return $langs->trans("VersionExperimental"); + } + if ($this->version == 'dolibarr') { + return DOL_VERSION; + } + if ($this->version) { + return $this->version; + } + return $langs->trans("NotAvailable"); + } +} diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index 1768029b97e..184c99a95e7 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -623,6 +623,12 @@ class ImportCsv extends ModeleImports } } elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'numeric') { $newval = price2num($newval); + } elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'accountingaccount') { + if (empty($conf->global->ACCOUNTING_MANAGE_ZERO)) { + $newval = rtrim(trim($newval), "0"); + } else { + $newval = trim($newval); + } } //print 'Val to use as insert is '.$newval.'
    '; @@ -714,7 +720,7 @@ class ImportCsv extends ModeleImports } if ($val == 'user->id') { $listfields[] = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key); - $listvalues[] = $user->id; + $listvalues[] = ((int) $user->id); } elseif (preg_match('/^lastrowid-/', $val)) { $tmp = explode('-', $val); $lastinsertid = (isset($last_insert_id_array[$tmp[1]])) ? $last_insert_id_array[$tmp[1]] : 0; @@ -725,7 +731,7 @@ class ImportCsv extends ModeleImports } elseif (preg_match('/^const-/', $val)) { $tmp = explode('-', $val, 2); $listfields[] = preg_replace('/^'.preg_quote($alias, '/').'\./', '', $key); - $listvalues[] = "'".$tmp[1]."'"; + $listvalues[] = "'".$this->db->escape($tmp[1])."'"; } else { $this->errors[$error]['lib'] = 'Bad value of profile setup '.$val.' for array_import_fieldshidden'; $this->errors[$error]['type'] = 'Import profile setup'; @@ -747,7 +753,7 @@ class ImportCsv extends ModeleImports // We do SELECT to get the rowid, if we already have the rowid, it's to be used below for related tables (extrafields) if (empty($lastinsertid)) { // No insert done yet for a parent table - $sqlSelect = 'SELECT rowid FROM '.$tablename; + $sqlSelect = "SELECT rowid FROM ".$tablename; $data = array_combine($listfields, $listvalues); $where = array(); @@ -758,7 +764,7 @@ class ImportCsv extends ModeleImports $where[] = $key.' = '.$data[$key]; $filters[] = $col.' = '.$data[$key]; } - $sqlSelect .= ' WHERE '.implode(' AND ', $where); + $sqlSelect .= " WHERE ".implode(' AND ', $where); $resql = $this->db->query($sqlSelect); if ($resql) { @@ -785,12 +791,12 @@ class ImportCsv extends ModeleImports // a direct insert into subtable extrafields, but when me wake an update, the insertid is defined and the child record // may already exists. So we rescan the extrafield table to know if record exists or not for the rowid. // Note: For extrafield tablename, we have in importfieldshidden_array an enty 'extra.fk_object'=>'lastrowid-tableparent' so $keyfield is 'fk_object' - $sqlSelect = 'SELECT rowid FROM '.$tablename; + $sqlSelect = "SELECT rowid FROM ".$tablename; if (empty($keyfield)) { $keyfield = 'rowid'; } - $sqlSelect .= ' WHERE '.$keyfield.' = '.((int) $lastinsertid); + $sqlSelect .= " WHERE ".$keyfield.' = '.((int) $lastinsertid); $resql = $this->db->query($sqlSelect); if ($resql) { @@ -812,19 +818,19 @@ class ImportCsv extends ModeleImports if (!empty($lastinsertid)) { // Build SQL UPDATE request - $sqlstart = 'UPDATE '.$tablename; + $sqlstart = "UPDATE ".$tablename; $data = array_combine($listfields, $listvalues); $set = array(); foreach ($data as $key => $val) { - $set[] = $key.' = '.$val; + $set[] = $key." = ".$val; } - $sqlstart .= ' SET '.implode(', ', $set); + $sqlstart .= " SET ".implode(', ', $set); if (empty($keyfield)) { $keyfield = 'rowid'; } - $sqlend = ' WHERE '.$keyfield.' = '.((int) $lastinsertid); + $sqlend = " WHERE ".$keyfield." = ".((int) $lastinsertid); $sql = $sqlstart.$sqlend; @@ -845,17 +851,17 @@ class ImportCsv extends ModeleImports // Update not done, we do insert if (!$error && !$updatedone) { // Build SQL INSERT request - $sqlstart = 'INSERT INTO '.$tablename.'('.implode(', ', $listfields).', import_key'; - $sqlend = ') VALUES('.implode(', ', $listvalues).", '".$this->db->escape($importid)."'"; + $sqlstart = "INSERT INTO ".$tablename."(".implode(", ", $listfields).", import_key"; + $sqlend = ") VALUES(".implode(', ', $listvalues).", '".$this->db->escape($importid)."'"; if (!empty($tablewithentity_cache[$tablename])) { - $sqlstart .= ', entity'; - $sqlend .= ', '.$conf->entity; + $sqlstart .= ", entity"; + $sqlend .= ", ".$conf->entity; } if (!empty($objimport->array_import_tables_creator[0][$alias])) { - $sqlstart .= ', '.$objimport->array_import_tables_creator[0][$alias]; - $sqlend .= ', '.$user->id; + $sqlstart .= ", ".$objimport->array_import_tables_creator[0][$alias]; + $sqlend .= ", ".$user->id; } - $sql = $sqlstart.$sqlend.')'; + $sql = $sqlstart.$sqlend.")"; //dol_syslog("import_csv.modules", LOG_DEBUG); // Run insert request diff --git a/htdocs/core/modules/import/import_xlsx.modules.php b/htdocs/core/modules/import/import_xlsx.modules.php index d90a52755e3..aaca0d3bd77 100644 --- a/htdocs/core/modules/import/import_xlsx.modules.php +++ b/htdocs/core/modules/import/import_xlsx.modules.php @@ -664,6 +664,12 @@ class ImportXlsx extends ModeleImports } } elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'numeric') { $newval = price2num($newval); + } elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'accountingaccount') { + if (empty($conf->global->ACCOUNTING_MANAGE_ZERO)) { + $newval = rtrim(trim($newval), "0"); + } else { + $newval = trim($newval); + } } //print 'Val to use as insert is '.$newval.'
    '; @@ -755,7 +761,7 @@ class ImportXlsx extends ModeleImports } if ($val == 'user->id') { $listfields[] = preg_replace('/^' . preg_quote($alias, '/') . '\./', '', $key); - $listvalues[] = $user->id; + $listvalues[] = ((int) $user->id); } elseif (preg_match('/^lastrowid-/', $val)) { $tmp = explode('-', $val); $lastinsertid = (isset($last_insert_id_array[$tmp[1]])) ? $last_insert_id_array[$tmp[1]] : 0; @@ -766,7 +772,7 @@ class ImportXlsx extends ModeleImports } elseif (preg_match('/^const-/', $val)) { $tmp = explode('-', $val, 2); $listfields[] = preg_replace('/^' . preg_quote($alias, '/') . '\./', '', $key); - $listvalues[] = "'" . $tmp[1] . "'"; + $listvalues[] = "'" . $this->db->escape($tmp[1]) . "'"; } else { $this->errors[$error]['lib'] = 'Bad value of profile setup ' . $val . ' for array_import_fieldshidden'; $this->errors[$error]['type'] = 'Import profile setup'; @@ -787,7 +793,7 @@ class ImportXlsx extends ModeleImports // We do SELECT to get the rowid, if we already have the rowid, it's to be used below for related tables (extrafields) if (empty($lastinsertid)) { // No insert done yet for a parent table - $sqlSelect = 'SELECT rowid FROM ' . $tablename; + $sqlSelect = "SELECT rowid FROM " . $tablename; $data = array_combine($listfields, $listvalues); $where = array(); @@ -798,7 +804,7 @@ class ImportXlsx extends ModeleImports $where[] = $key . ' = ' . $data[$key]; $filters[] = $col . ' = ' . $data[$key]; } - $sqlSelect .= ' WHERE ' . implode(' AND ', $where); + $sqlSelect .= " WHERE " . implode(' AND ', $where); $resql = $this->db->query($sqlSelect); if ($resql) { @@ -825,12 +831,12 @@ class ImportXlsx extends ModeleImports // a direct insert into subtable extrafields, but when me wake an update, the insertid is defined and the child record // may already exists. So we rescan the extrafield table to know if record exists or not for the rowid. // Note: For extrafield tablename, we have in importfieldshidden_array an enty 'extra.fk_object'=>'lastrowid-tableparent' so $keyfield is 'fk_object' - $sqlSelect = 'SELECT rowid FROM ' . $tablename; + $sqlSelect = "SELECT rowid FROM " . $tablename; if (empty($keyfield)) { $keyfield = 'rowid'; } - $sqlSelect .= ' WHERE ' . $keyfield . ' = ' .((int) $lastinsertid); + $sqlSelect .= "WHERE " . $keyfield . " = " .((int) $lastinsertid); $resql = $this->db->query($sqlSelect); if ($resql) { @@ -852,19 +858,19 @@ class ImportXlsx extends ModeleImports if (!empty($lastinsertid)) { // Build SQL UPDATE request - $sqlstart = 'UPDATE ' . $tablename; + $sqlstart = "UPDATE " . $tablename; $data = array_combine($listfields, $listvalues); $set = array(); foreach ($data as $key => $val) { $set[] = $key . ' = ' . $val; } - $sqlstart .= ' SET ' . implode(', ', $set); + $sqlstart .= " SET " . implode(', ', $set); if (empty($keyfield)) { $keyfield = 'rowid'; } - $sqlend = ' WHERE ' . $keyfield . ' = '.((int) $lastinsertid); + $sqlend = " WHERE " . $keyfield . " = ".((int) $lastinsertid); $sql = $sqlstart . $sqlend; @@ -885,17 +891,17 @@ class ImportXlsx extends ModeleImports // Update not done, we do insert if (!$error && !$updatedone) { // Build SQL INSERT request - $sqlstart = 'INSERT INTO ' . $tablename . '(' . implode(', ', $listfields) . ', import_key'; - $sqlend = ') VALUES(' . implode(', ', $listvalues) . ", '" . $this->db->escape($importid) . "'"; + $sqlstart = "INSERT INTO " . $tablename . "(" . implode(", ", $listfields) . ", import_key"; + $sqlend = ") VALUES(" . implode(', ', $listvalues) . ", '" . $this->db->escape($importid) . "'"; if (!empty($tablewithentity_cache[$tablename])) { - $sqlstart .= ', entity'; - $sqlend .= ', ' . $conf->entity; + $sqlstart .= ", entity"; + $sqlend .= ", " . $conf->entity; } if (!empty($objimport->array_import_tables_creator[0][$alias])) { - $sqlstart .= ', ' . $objimport->array_import_tables_creator[0][$alias]; - $sqlend .= ', ' . $user->id; + $sqlstart .= ", " . $objimport->array_import_tables_creator[0][$alias]; + $sqlend .= ", " . $user->id; } - $sql = $sqlstart . $sqlend . ')'; + $sql = $sqlstart . $sqlend . ")"; //dol_syslog("import_xlsx.modules", LOG_DEBUG); // Run insert request diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php index 4bd03593e09..2d41dfd9725 100644 --- a/htdocs/core/modules/mailings/contacts1.modules.php +++ b/htdocs/core/modules/mailings/contacts1.modules.php @@ -140,16 +140,20 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY sp.poste"; $resql = $this->db->query($sql); - $s .= $langs->trans("PostOrFunction").': '; - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); $i = 0; - while ($i < $num) { - $obj = $this->db->fetch_object($resql); - $s .= ''; - $i++; + if ($num > 0) { + while ($i < $num) { + $obj = $this->db->fetch_object($resql); + $s .= ''; + $i++; + } + } else { + $s .= ''; } } else { dol_print_error($this->db); @@ -159,7 +163,7 @@ class mailing_contacts1 extends MailingTargets $s .= ' '; // Filter on contact category - $s .= $langs->trans("ContactCategoriesShort").': '; + $s .= $langs->trans("ContactCategoriesShort").' '; $sql = "SELECT c.label, count(distinct(sp.email)) AS nb"; $sql .= " FROM "; $sql .= " ".MAIN_DB_PREFIX."socpeople as sp,"; @@ -175,7 +179,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY c.label"; $resql = $this->db->query($sql); - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); @@ -197,8 +201,8 @@ class mailing_contacts1 extends MailingTargets $s .= '
    '; // Add prospect of a particular level - $s .= $langs->trans("NatureOfThirdParty").': '; - $s .= ''; $sql = "SELECT code, label"; $sql .= " FROM ".MAIN_DB_PREFIX."c_prospectlevel"; $sql .= " WHERE active > 0"; @@ -234,7 +238,7 @@ class mailing_contacts1 extends MailingTargets $s .= ' '; // Filter on thirdparty category - $s .= $langs->trans("CustomersProspectsCategoriesShort").': '; + $s .= $langs->trans("CustomersProspectsCategoriesShort").' '; $sql = "SELECT c.label, count(distinct(sp.email)) AS nb"; $sql .= " FROM "; $sql .= " ".MAIN_DB_PREFIX."socpeople as sp,"; @@ -250,7 +254,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY c.label"; $resql = $this->db->query($sql); - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); @@ -272,7 +276,7 @@ class mailing_contacts1 extends MailingTargets $s .= ' '; // Filter on thirdparty category - $s .= $langs->trans("SuppliersCategoriesShort").': '; + $s .= $langs->trans("SuppliersCategoriesShort").' '; $sql = "SELECT c.label, count(distinct(sp.email)) AS nb"; $sql .= " FROM "; $sql .= " ".MAIN_DB_PREFIX."socpeople as sp,"; @@ -288,7 +292,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY c.label"; $resql = $this->db->query($sql); - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); @@ -391,7 +395,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " AND (SELECT count(*) FROM ".MAIN_DB_PREFIX."mailing_unsubscribe WHERE email = sp.email) = 0"; // Exclude unsubscribed email adresses $sql .= " AND sp.statut = 1"; - $sql .= " AND sp.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")"; + $sql .= " AND sp.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".((int) $mailing_id).")"; // Filter on category if ($filter_category <> 'all') { $sql .= " AND cs.fk_categorie = c.rowid AND cs.fk_socpeople = sp.rowid"; diff --git a/htdocs/core/modules/mailings/fraise.modules.php b/htdocs/core/modules/mailings/fraise.modules.php index 34a5bd34a1e..09445264dc7 100644 --- a/htdocs/core/modules/mailings/fraise.modules.php +++ b/htdocs/core/modules/mailings/fraise.modules.php @@ -252,7 +252,7 @@ class mailing_fraise extends MailingTargets } $sql .= " , ".MAIN_DB_PREFIX."adherent_type as ta"; $sql .= " WHERE a.entity IN (".getEntity('member').") AND a.email <> ''"; // Note that null != '' is false - $sql .= " AND a.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$this->db->escape($mailing_id).")"; + $sql .= " AND a.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".((int) $mailing_id).")"; // Filter on status if (GETPOST("filter") == '-1') { $sql .= " AND a.statut=-1"; diff --git a/htdocs/core/modules/mailings/modules_mailings.php b/htdocs/core/modules/mailings/modules_mailings.php index 7c0aa2b19b5..afbf1e22481 100644 --- a/htdocs/core/modules/mailings/modules_mailings.php +++ b/htdocs/core/modules/mailings/modules_mailings.php @@ -184,7 +184,7 @@ class MailingTargets // This can't be abstract as it is used for some method $sql .= "'".$this->db->escape($targetarray['other'])."',"; $sql .= "'".$this->db->escape($targetarray['source_url'])."',"; $sql .= (empty($targetarray['source_id']) ? 'null' : "'".$this->db->escape($targetarray['source_id'])."'").","; - $sql .= "'".$this->db->escape(dol_hash($dolibarr_main_instance_unique_id.';'.$targetarray['email'].';'.$targetarray['lastname'].';'.$mailing_id.';'.$conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY, 'md5'))."',"; + $sql .= "'".$this->db->escape(dol_hash($dolibarr_main_instance_unique_id.";".$targetarray['email'].";".$targetarray['lastname'].";".$mailing_id.";".$conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY, 'md5'))."',"; $sql .= "'".$this->db->escape($targetarray['source_type'])."')"; dol_syslog(__METHOD__, LOG_DEBUG); $result = $this->db->query($sql); @@ -208,7 +208,7 @@ class MailingTargets // This can't be abstract as it is used for some method //Update the status to show thirdparty mail that don't want to be contacted anymore' $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles"; $sql .= " SET statut=3"; - $sql .= " WHERE fk_mailing=".$mailing_id." AND email in (SELECT email FROM ".MAIN_DB_PREFIX."societe where fk_stcomm=-1)"; + $sql .= " WHERE fk_mailing = ".((int) $mailing_id)." AND email in (SELECT email FROM ".MAIN_DB_PREFIX."societe where fk_stcomm=-1)"; $sql .= " AND source_type='thirdparty'"; dol_syslog(__METHOD__.": mailing update status to display thirdparty mail that do not want to be contacted"); $result=$this->db->query($sql); @@ -216,7 +216,7 @@ class MailingTargets // This can't be abstract as it is used for some method //Update the status to show contact mail that don't want to be contacted anymore' $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles"; $sql .= " SET statut=3"; - $sql .= " WHERE fk_mailing=".$mailing_id." AND source_type='contact' AND (email in (SELECT sc.email FROM ".MAIN_DB_PREFIX."socpeople AS sc "; + $sql .= " WHERE fk_mailing = ".((int) $mailing_id)." AND source_type='contact' AND (email in (SELECT sc.email FROM ".MAIN_DB_PREFIX."socpeople AS sc "; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."societe s ON s.rowid=sc.fk_soc WHERE s.fk_stcomm=-1 OR no_email=1))"; dol_syslog(__METHOD__.": mailing update status to display contact mail that do not want to be contacted",LOG_DEBUG); $result=$this->db->query($sql); @@ -224,7 +224,7 @@ class MailingTargets // This can't be abstract as it is used for some method $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles"; $sql .= " SET statut=3"; - $sql .= " WHERE fk_mailing=".$mailing_id." AND email IN (SELECT mu.email FROM ".MAIN_DB_PREFIX."mailing_unsubscribe AS mu WHERE mu.entity IN ('".getEntity('mailing')."'))"; + $sql .= " WHERE fk_mailing =" .((int) $mailing_id)." AND email IN (SELECT mu.email FROM ".MAIN_DB_PREFIX."mailing_unsubscribe AS mu WHERE mu.entity IN ('".getEntity('mailing')."'))"; dol_syslog(__METHOD__.":mailing update status to display emails that do not want to be contacted anymore", LOG_DEBUG); $result = $this->db->query($sql); diff --git a/htdocs/core/modules/mailings/pomme.modules.php b/htdocs/core/modules/mailings/pomme.modules.php index a2a54c02c55..6880452a416 100644 --- a/htdocs/core/modules/mailings/pomme.modules.php +++ b/htdocs/core/modules/mailings/pomme.modules.php @@ -20,13 +20,13 @@ /** * \file htdocs/core/modules/mailings/pomme.modules.php * \ingroup mailing - * \brief File of class to offer a selector of emailing targets with Rule 'Pomme'. + * \brief File of class to offer a selector of emailing targets of users. */ include_once DOL_DOCUMENT_ROOT.'/core/modules/mailings/modules_mailings.php'; /** - * Class to offer a selector of emailing targets with Rule 'Peche'. + * Class to offer a selector of emailing targets with Rule 'Pomme'. */ class mailing_pomme extends MailingTargets { @@ -119,16 +119,16 @@ class mailing_pomme extends MailingTargets $langs->load("users"); $s = ''; - $s .= $langs->trans("Status").': '; - $s .= ''; $s .= ''; $s .= ''; $s .= ''; $s .= ''; $s .= ' '; - $s .= $langs->trans("Employee").': '; - $s .= ''; $s .= ''; $s .= ''; $s .= ''; diff --git a/htdocs/core/modules/mailings/thirdparties.modules.php b/htdocs/core/modules/mailings/thirdparties.modules.php index f764c3f5f71..ae26dfc19fd 100644 --- a/htdocs/core/modules/mailings/thirdparties.modules.php +++ b/htdocs/core/modules/mailings/thirdparties.modules.php @@ -226,8 +226,8 @@ class mailing_thirdparties extends MailingTargets $langs->load("companies"); - $s = $langs->trans("Categories").': '; - $s .= ''; // Show categories $sql = "SELECT rowid, label, type, visible"; @@ -276,7 +276,7 @@ class mailing_thirdparties extends MailingTargets $s .= ' '; $s .= $langs->trans('ProspectCustomer'); - $s .= ': '; $s .= ''; if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) { $s .= ''; @@ -292,7 +292,7 @@ class mailing_thirdparties extends MailingTargets $s .= ' '; $s .= $langs->trans("Status"); - $s .= ': '; $s .= ''; $s .= ''; $s .= ''; diff --git a/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php b/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php index 939c78f32e3..593986d4b7d 100644 --- a/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php +++ b/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php @@ -154,7 +154,7 @@ class doc_generic_member_odt extends ModelePDFMember $texte .= $conf->global->MEMBER_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -195,9 +195,10 @@ class doc_generic_member_odt extends ModelePDFMember * @param string $srctemplatepath Full path of source filename for generator using a template file * @param string $mode Tell if doc module is called for 'member', ... * @param int $nooutput 1=Generate only file on disk and do not return it on response + * @param string $filename Name of output file (without extension) * @return int 1 if OK, <=0 if KO */ - public function write_file($object, $outputlangs, $srctemplatepath, $mode = 'member', $nooutput = 0) + public function write_file($object, $outputlangs, $srctemplatepath, $mode = 'member', $nooutput = 0, $filename = 'tmp_cards') { // phpcs:enable global $user, $langs, $conf, $mysoc, $hookmanager; @@ -295,11 +296,14 @@ class doc_generic_member_odt extends ModelePDFMember // Recipient name if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/member/doc/pdf_standard.class.php b/htdocs/core/modules/member/doc/pdf_standard.class.php index 1d1a892cc56..15f3260c4d2 100644 --- a/htdocs/core/modules/member/doc/pdf_standard.class.php +++ b/htdocs/core/modules/member/doc/pdf_standard.class.php @@ -243,9 +243,10 @@ class pdf_standard extends CommonStickerGenerator * @param string $srctemplatepath Full path of source filename for generator using a template file. Example: '5161', 'AVERYC32010', 'CARD', ... * @param string $mode Tell if doc module is called for 'member', ... * @param int $nooutput 1=Generate only file on disk and do not return it on response + * @param string $filename Name of output file (without extension) * @return int 1=OK, 0=KO */ - public function write_file($object, $outputlangs, $srctemplatepath, $mode = 'member', $nooutput = 0) + public function write_file($object, $outputlangs, $srctemplatepath, $mode = 'member', $nooutput = 0, $filename = 'tmp_cards') { // phpcs:enable global $user, $conf, $langs, $mysoc, $_Avery_Labels; @@ -282,7 +283,7 @@ class pdf_standard extends CommonStickerGenerator '__MONTH__'=>$month, '__DAY__'=>$day, '__DOL_MAIN_URL_ROOT__'=>DOL_MAIN_URL_ROOT, - '__SERVER__'=>"http://".$_SERVER["SERVER_NAME"]."/" + '__SERVER__'=>"https://".$_SERVER["SERVER_NAME"]."/" ); complete_substitutions_array($substitutionarray, $langs); @@ -320,7 +321,10 @@ class pdf_standard extends CommonStickerGenerator dol_print_error('', 'ErrorBadTypeForCard'.$this->code); exit; } + $this->type = 'pdf'; + $filename .= '.pdf'; + // standard format or custom if ($this->Tformat['paper-size'] != 'custom') { $this->format = $this->Tformat['paper-size']; @@ -349,7 +353,7 @@ class pdf_standard extends CommonStickerGenerator return -1; } - $filename = 'tmp_cards.pdf'; + if (is_object($object)) { $outputdir = $conf->adherent->dir_output; $dir = $outputdir."/".get_exdir(0, 0, 0, 0, $object, 'member'); diff --git a/htdocs/core/modules/member/modules_cards.php b/htdocs/core/modules/member/modules_cards.php index 937e8a06870..b37b9144d3e 100644 --- a/htdocs/core/modules/member/modules_cards.php +++ b/htdocs/core/modules/member/modules_cards.php @@ -74,9 +74,10 @@ class ModelePDFCards * @param Translate $outputlangs Object langs to use for translation * @param string $outputdir Output directory * @param string $template pdf generenate document class to use default 'standard' + * @param string $filename Name of output file (without extension) * @return int <0 if KO, >0 if OK */ -function members_card_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $outputdir = '', $template = 'standard') +function members_card_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $outputdir = '', $template = 'standard', $filename = 'tmp_cards') { // phpcs:enable global $conf, $langs; @@ -125,7 +126,7 @@ function members_card_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $o foreach (array('doc', 'pdf') as $prefix) { $file = $prefix."_".$template.".class.php"; - // On verifie l'emplacement du modele + // We check that file of doc generaotr exists $file = dol_buildpath($reldir."core/modules/member/doc/".$file, 0); if (file_exists($file)) { $filefound = 1; @@ -148,7 +149,7 @@ function members_card_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $o // We save charset_output to restore it because write_file can change it if needed for // output format that does not support UTF8. $sav_charset_output = $outputlangs->charset_output; - if ($obj->write_file($arrayofmembers, $outputlangs, $srctemplatepath) > 0) { + if ($obj->write_file($arrayofmembers, $outputlangs, $srctemplatepath, 'member', 0, $filename) > 0) { $outputlangs->charset_output = $sav_charset_output; return 1; } else { diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index 21618c56bc9..e0bf3a9bbc5 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -60,7 +60,7 @@ class modAccounting extends DolibarrModules $this->dirs = array('/accounting/temp'); // Config pages - $this->config_page_url = array('accounting.php'); + $this->config_page_url = array('accounting.php?mainmenu=accountancy&leftmenu=accountancy_admin'); // Dependencies $this->depends = array("modFacture", "modBanque", "modTax"); // List of modules id that must be enabled if this module is enabled @@ -297,6 +297,10 @@ class modAccounting extends DolibarrModules ); $this->import_fieldshidden_array[$r] = array('b.doc_type'=>'const-import_from_external', 'b.fk_doc'=>'const-0', 'b.fk_docdet'=>'const-0', 'b.fk_user_author'=>'user->id', 'b.date_creation'=>'const-'.dol_print_date(dol_now(), 'standard')); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent) $this->import_regex_array[$r] = array('b.doc_date'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$'); + $this->import_convertvalue_array[$r] = array( + 'b.numero_compte' => array('rule' => 'accountingaccount'), + 'b.subledger_account' => array('rule' => 'accountingaccount') + ); $this->import_examplevalues_array[$r] = array( 'b.piece_num'=>'123 (!!! use next value not already used)', 'b.doc_date'=>dol_print_date(dol_now(), "%Y-%m-%d"), @@ -350,6 +354,8 @@ class modAccounting extends DolibarrModules 'b.sens'=>'rule-computeSens' ); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent) $this->import_convertvalue_array[$r]=array( + 'b.numero_compte'=>array('rule'=>'accountingaccount'), + 'b.subledger_account'=>array('rule'=>'accountingaccount'), 'b.montant' => array('rule' => 'compute', 'classfile' => '/accountancy/class/accountancyimport.class.php', 'class' => 'AccountancyImport', 'method' => 'computeAmount', 'element' => 'Accountancy'), 'b.sens' => array('rule' => 'compute', 'classfile' => '/accountancy/class/accountancyimport.class.php', 'class' => 'AccountancyImport', 'method' => 'computeDirection', 'element' => 'Accountancy'), ); @@ -395,6 +401,7 @@ class modAccounting extends DolibarrModules $this->import_fields_array[$r] = array('aa.fk_pcg_version'=>"Chartofaccounts*", 'aa.account_number'=>"AccountAccounting*", 'aa.label'=>"Label*", 'aa.account_parent'=>"Accountparent", "aa.fk_accounting_category"=>"AccountingCategory", "aa.pcg_type"=>"Pcgtype*", 'aa.active'=>'Status*', 'aa.datec'=>"DateCreation"); $this->import_regex_array[$r] = array('aa.fk_pcg_version'=>'pcg_version@'.MAIN_DB_PREFIX.'accounting_system', 'aa.account_number'=>'^.{1,32}$', 'aa.label'=>'^.{1,255}$', 'aa.account_parent'=>'^.{0,32}$', 'aa.fk_accounting_category'=>'rowid@'.MAIN_DB_PREFIX.'c_accounting_category', 'aa.pcg_type'=>'^.{1,20}$', 'aa.active'=>'^0|1$', 'aa.datec'=>'^\d{4}-\d{2}-\d{2}$'); $this->import_convertvalue_array[$r] = array( + 'aa.account_number'=>array('rule'=>'accountingaccount'), 'aa.account_parent'=>array('rule'=>'fetchidfromref', 'classfile'=>'/accountancy/class/accountingaccount.class.php', 'class'=>'AccountingAccount', 'method'=>'fetch', 'element'=>'AccountingAccount'), 'aa.fk_accounting_category'=>array('rule'=>'fetchidfromcodeorlabel', 'classfile'=>'/accountancy/class/accountancycategory.class.php', 'class'=>'AccountancyCategory', 'method'=>'fetch', 'dict'=>'DictionaryAccountancyCategory'), ); diff --git a/htdocs/core/modules/modAdherent.class.php b/htdocs/core/modules/modAdherent.class.php index 16ecbee8526..ff0c67408c5 100644 --- a/htdocs/core/modules/modAdherent.class.php +++ b/htdocs/core/modules/modAdherent.class.php @@ -344,6 +344,9 @@ class modAdherent extends DolibarrModules 'a.email'=>"Email", 'a.birth'=>"Birthday", 'a.statut'=>"Status*", 'a.photo'=>"Photo", 'a.note_public'=>"NotePublic", 'a.note_private'=>"NotePrivate", 'a.datec'=>'DateCreation', 'a.datefin'=>'DateEndSubscription' ); + if (!empty($conf->societe->enabled)) { + $this->import_fields_array[$r]['a.fk_soc'] = "ThirdParty"; + } // Add extra fields $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'adherent' AND entity IN (0,".$conf->entity.")"; $resql = $this->db->query($sql); @@ -355,16 +358,23 @@ class modAdherent extends DolibarrModules } } // End add extra fields + $this->import_convertvalue_array[$r] = array(); + if (!empty($conf->societe->enabled)) { + $this->import_convertvalue_array[$r]['a.fk_soc'] = array('rule'=>'fetchidfromref', 'classfile'=>'/societe/class/societe.class.php', 'class'=>'Societe', 'method'=>'fetch', 'element'=>'ThirdParty'); + } $this->import_fieldshidden_array[$r] = array('extra.fk_object'=>'lastrowid-'.MAIN_DB_PREFIX.'adherent'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent) $this->import_regex_array[$r] = array( 'a.civility'=>'code@'.MAIN_DB_PREFIX.'c_civility', 'a.fk_adherent_type'=>'rowid@'.MAIN_DB_PREFIX.'adherent_type', 'a.morphy'=>'(phy|mor)', 'a.statut'=>'^[0|1]', 'a.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$', 'a.datefin'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$'); $this->import_examplevalues_array[$r] = array( - 'a.civility'=>"MR", 'a.lastname'=>'Smith', 'a.firstname'=>'John', 'a.login'=>'jsmith', 'a.pass'=>'passofjsmith', 'a.fk_adherent_type'=>'1', + 'a.civility'=>"MR", 'a.lastname'=>'Smith', 'a.firstname'=>'John', 'a.gender'=>'man or woman', 'a.login'=>'jsmith', 'a.pass'=>'passofjsmith', 'a.fk_adherent_type'=>'1', 'a.morphy'=>'"mor" or "phy"', 'a.societe'=>'JS company', 'a.address'=>'21 jump street', 'a.zip'=>'55000', 'a.town'=>'New York', 'a.country'=>'1', 'a.email'=>'jsmith@example.com', 'a.birth'=>'1972-10-10', 'a.statut'=>"0 or 1", 'a.note_public'=>"This is a public comment on member", 'a.note_private'=>"This is private comment on member", 'a.datec'=>dol_print_date($now, '%Y-%m__%d'), 'a.datefin'=>dol_print_date(dol_time_plus_duree($now, 1, 'y'), '%Y-%m-%d') ); + if (!empty($conf->societe->enabled)) { + $this->import_examplevalues_array[$r]['a.fk_soc'] = "rowid or name"; + } // Cronjobs $arraydate = dol_getdate(dol_now()); @@ -421,8 +431,8 @@ class modAdherent extends DolibarrModules }*/ $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type='member' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','member',".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type='member' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','member',".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modApi.class.php b/htdocs/core/modules/modApi.class.php index bf7fc2777ae..254e3f86983 100644 --- a/htdocs/core/modules/modApi.class.php +++ b/htdocs/core/modules/modApi.class.php @@ -134,16 +134,18 @@ class modApi extends DolibarrModules // Permissions $this->rights = array(); // Permission array used by this module + $this->rights_admin_allowed = 1; // Admin is always granted of permission (even when module is disabled) + $r = 0; // Add here list of permission defined by an id, a label, a boolean and two constant strings. // Example: - // $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - // $this->rights[$r][1] = 'Permision label'; // Permission label - // $this->rights[$r][3] = 0; // Permission by default for new user (0/1) - // $this->rights[$r][4] = 'level1'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - // $this->rights[$r][5] = 'level2'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - // $r++; + $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) + $this->rights[$r][1] = 'Générer / modifier la clé API des utilisateurs'; // Permission label + $this->rights[$r][3] = 0; // Permission by default for new user (0/1) + $this->rights[$r][4] = 'apikey'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + $this->rights[$r][5] = 'generate'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + $r++; // Main menu entries @@ -245,8 +247,8 @@ class modApi extends DolibarrModules { // Remove old constants with entity fields different of 0 $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$this->db->escape($this->db->encrypt('MAIN_MODULE_API'))."'", - "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$this->db->escape($this->db->encrypt('API_PRODUCTION_MODE'))."'" + "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = ".$this->db->encrypt('MAIN_MODULE_API'), // API can't be enabled per environment. Why ? + "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = ".$this->db->encrypt('API_PRODUCTION_MODE') // Not in production mode by default at activation ); return $this->_remove($sql, $options); diff --git a/htdocs/core/modules/modBarcode.class.php b/htdocs/core/modules/modBarcode.class.php index fab12a0ae59..877dca880f7 100644 --- a/htdocs/core/modules/modBarcode.class.php +++ b/htdocs/core/modules/modBarcode.class.php @@ -93,6 +93,7 @@ class modBarcode extends DolibarrModules // Main menu entries $r = 0; + $this->menu[$r] = array( 'fk_menu'=>'fk_mainmenu=tools', // Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode 'mainmenu'=>'tools', @@ -106,7 +107,7 @@ class modBarcode extends DolibarrModules 'enabled'=>'$conf->barcode->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'perms'=>'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both + 'user'=>0, // 0=Menu for internal users, 1=external users, 2=both ); $r++; diff --git a/htdocs/core/modules/modBlockedLog.class.php b/htdocs/core/modules/modBlockedLog.class.php index 9a90fa945bb..0c645099f56 100644 --- a/htdocs/core/modules/modBlockedLog.class.php +++ b/htdocs/core/modules/modBlockedLog.class.php @@ -170,9 +170,9 @@ class modBlockedLog extends DolibarrModules $sql = array(); // If already used, we add an entry to show we enable module - require_once DOL_DOCUMENT_ROOT.'/blockedlog/class/blockedlog.class.php'; + require_once DOL_DOCUMENT_ROOT . '/blockedlog/class/blockedlog.class.php'; - $object = new stdClass(); + $object = new stdClass(); $object->id = 1; $object->element = 'module'; $object->ref = 'systemevent'; diff --git a/htdocs/core/modules/modBom.class.php b/htdocs/core/modules/modBom.class.php index 18f46fda70f..b166166b95f 100644 --- a/htdocs/core/modules/modBom.class.php +++ b/htdocs/core/modules/modBom.class.php @@ -326,12 +326,12 @@ class modBom extends DolibarrModules $this->import_code[$r] = 'bom_'.$r; $this->import_label[$r] = 'BillOfMaterials'; $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; - $this->import_tables_array[$r] = ['b' => MAIN_DB_PREFIX.'bom_bom', 'extra' => MAIN_DB_PREFIX.'bom_bom_extrafields']; - $this->import_tables_creator_array[$r] = ['b' => 'fk_user_creat']; // Fields to store import user id - $this->import_fields_array[$r] = [ - 'b.ref' => 'Document Ref*', - 'b.label' => 'BomLabel*', + $this->import_entities_array[$r] = array(); + $this->import_tables_array[$r] = array('b' => MAIN_DB_PREFIX.'bom_bom', 'extra' => MAIN_DB_PREFIX.'bom_bom_extrafields'); + $this->import_tables_creator_array[$r] = array('b' => 'fk_user_creat'); // Fields to store import user id + $this->import_fields_array[$r] = array( + 'b.ref' => 'Ref*', + 'b.label' => 'Label*', 'b.fk_product' => 'ProductRef*', 'b.description' => 'Description', 'b.note_public' => 'Note', @@ -346,12 +346,12 @@ class modBom extends DolibarrModules 'b.fk_user_valid' => 'ValidatedById', 'b.model_pdf' => 'Model', 'b.status' => 'Status*', - 'b.bomtype' => 'BomType*' - - ]; + 'b.bomtype' => 'Type*' + ); + $import_sample = array(); // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'bom_bom' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); @@ -365,61 +365,62 @@ class modBom extends DolibarrModules } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'bom_bom']; - $this->import_regex_array[$r] = [ - 'b.ref' => '(CPV\d{4}-\d{4}|BOM\d{4}-\d{4}|PROV.{1,32}$)' - ]; + $this->import_examplevalues_array[$r] = array_merge($import_sample, $import_extrafield_sample); + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'bom_bom'); + $this->import_regex_array[$r] = array( + 'b.ref' => '' + ); - $this->import_updatekeys_array[$r] = ['b.ref' => 'Ref']; - $this->import_convertvalue_array[$r] = [ - 'b.fk_product' => [ + $this->import_updatekeys_array[$r] = array('b.ref' => 'Ref'); + $this->import_convertvalue_array[$r] = array( + 'b.fk_product' => array( 'rule' => 'fetchidfromref', 'file' => '/product/class/product.class.php', 'class' => 'Product', 'method' => 'fetch', 'element' => 'Product' - ], - 'b.fk_warehouse' => [ + ), + 'b.fk_warehouse' => array( 'rule' => 'fetchidfromref', 'file' => '/product/stock/class/entrepot.class.php', 'class' => 'Entrepot', 'method' => 'fetch', 'element' => 'Warehouse' - ], - 'b.fk_user_valid' => [ + ), + 'b.fk_user_valid' => array( 'rule' => 'fetchidfromref', 'file' => '/user/class/user.class.php', 'class' => 'User', 'method' => 'fetch', 'element' => 'user' - ], - 'b.fk_user_modif' => [ + ), + 'b.fk_user_modif' => array( 'rule' => 'fetchidfromref', 'file' => '/user/class/user.class.php', 'class' => 'User', 'method' => 'fetch', 'element' => 'user' - ], - ]; + ), + ); //Import BOM Lines $r++; $this->import_code[$r] = 'bom_lines_'.$r; - $this->import_label[$r] = 'BillOfMaterialsLine'; + $this->import_label[$r] = 'BillOfMaterialsLines'; $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; - $this->import_tables_array[$r] = ['bd' => MAIN_DB_PREFIX.'bom_bomline', 'extra' => MAIN_DB_PREFIX.'bom_bomline_extrafields']; - $this->import_fields_array[$r] = [ - 'bd.fk_bom' => 'Document Ref*', + $this->import_entities_array[$r] = array(); + $this->import_tables_array[$r] = array('bd' => MAIN_DB_PREFIX.'bom_bomline', 'extra' => MAIN_DB_PREFIX.'bom_bomline_extrafields'); + $this->import_fields_array[$r] = array( + 'bd.fk_bom' => 'BOM*', 'bd.fk_product' => 'ProductRef', 'bd.fk_bom_child' => 'BOMChild', 'bd.description' => 'Description', 'bd.qty' => 'LineQty', - 'bd.qty_frozen' => 'LineIsFrozen', + 'bd.qty_frozen' => 'LineIsFrozen', 'bd.disable_stock_change' => 'Disable Stock Change', 'bd.efficiency' => 'Efficiency', 'bd.position' => 'LinePosition' - ]; + ); // Add extra fields $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'bom_bomline' AND entity IN (0, ".$conf->entity.")"; @@ -433,25 +434,25 @@ class modBom extends DolibarrModules } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'bom_bomline']; - $this->import_regex_array[$r] = []; - $this->import_updatekeys_array[$r] = ['bd.fk_bom' => 'BOM Id']; - $this->import_convertvalue_array[$r] = [ - 'bd.fk_bom' => [ + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'bom_bomline'); + $this->import_regex_array[$r] = array(); + $this->import_updatekeys_array[$r] = array('bd.fk_bom' => 'BOM Id'); + $this->import_convertvalue_array[$r] = array( + 'bd.fk_bom' => array( 'rule' => 'fetchidfromref', 'file' => '/bom/class/bom.class.php', 'class' => 'BOM', 'method' => 'fetch', 'element' => 'bom' - ], - 'bd.fk_product' => [ + ), + 'bd.fk_product' => array( 'rule' => 'fetchidfromref', 'file' => '/product/class/product.class.php', 'class' => 'Product', 'method' => 'fetch', 'element' => 'Product' - ], - ]; + ), + ); } /** @@ -503,8 +504,8 @@ class modBom extends DolibarrModules } $sql = array( - //"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape('standard')."' AND type = 'bom' AND entity = ".$conf->entity, - //"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape('standard')."', 'bom', ".$conf->entity.")" + //"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape('standard')."' AND type = 'bom' AND entity = ".((int) $conf->entity), + //"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape('standard')."', 'bom', ".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modCashDesk.class.php b/htdocs/core/modules/modCashDesk.class.php deleted file mode 100644 index a128b92ee29..00000000000 --- a/htdocs/core/modules/modCashDesk.class.php +++ /dev/null @@ -1,145 +0,0 @@ - - * - * 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 . - */ - -/** - * \defgroup pos Module points of sale - * \brief Module to manage points of sale - * \file htdocs/core/modules/modCashDesk.class.php - * \ingroup pos - * \brief Description and activation file for the module Point Of Sales - */ -include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; - - -/** - * Class to describe and enable module Point Of Sales - */ -class modCashDesk extends DolibarrModules -{ - /** - * Constructor. Define names, constants, directories, boxes, permissions - * - * @param DoliDB $db Database handler - */ - public function __construct($db) - { - $this->db = $db; - - // Id for module (must be unique). - // Use here a free id (See in Home -> System information -> Dolibarr for list of used module id). - $this->numero = 50100; - // Key text used to identify module (for permission, menus, etc...) - $this->rights_class = 'cashdesk'; - - $this->family = "portal"; - $this->module_position = '59'; - // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) - $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "CashDesk module"; - - $this->version = 'deprecated'; - - $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - $this->picto = 'cash-register'; - - // Data directories to create when module is enabled - $this->dirs = array(); - - // Config pages. Put here list of php page names stored in admmin directory used to setup module. - $this->config_page_url = array("cashdesk.php@cashdesk"); - - // Dependencies - $this->hidden = false; // A condition to hide module - $this->depends = array('always'=>"modBanque", 'always'=>"modFacture", 'always'=>"modProduct", 'FR'=>'modBlockedLog'); // List of modules id that must be enabled if this module is enabled - $this->requiredby = array(); // List of modules id to disable if this one is disabled - $this->phpmin = array(5, 6); // Minimum version of PHP required by module - $this->need_dolibarr_version = array(2, 4); // Minimum version of Dolibarr required by module - $this->langfiles = array("cashdesk"); - $this->warnings_activation = array('FR'=>'WarningNoteModulePOSForFrenchLaw'); // Warning to show when we activate module. array('always'='text') or array('FR'='text') - //$this->warnings_activation_ext = array('FR'=>'WarningInstallationMayBecomeNotCompliantWithLaw'); // Warning to show when we activate an external module. array('always'='text') or array('FR'='text') - - // Constants - $this->const = array(); - - // Boxes - $this->boxes = array(); - - // Permissions - $this->rights = array(); - $r = 0; - - $r++; - $this->rights[$r][0] = 50101; - $this->rights[$r][1] = 'Use Point of sale'; - $this->rights[$r][2] = 'a'; - $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'run'; - - // Main menu entries - $this->menus = array(); // List of menus to add - $r = 0; - - // This is to declare the Top Menu entry: - $this->menu[$r] = array('fk_menu'=>0, // Put 0 if this is a top menu - 'type'=>'top', // This is a Top menu entry - 'titre'=>'PointOfSaleShort', - 'mainmenu'=>'cashdesk', - 'leftmenu'=>'', - 'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth"'), - 'url'=>'/cashdesk/index.php?user=__USER_LOGIN__', - 'langs'=>'cashdesk', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>900, - 'enabled'=>'$conf->cashdesk->enabled', - 'perms'=>'$user->rights->cashdesk->run', // Use 'perms'=>'1' if you want your menu with no permission rules - 'target'=>'pointofsale', - 'user'=>0); // 0=Menu for internal users, 1=external users, 2=both - - $r++; - - // This is to declare a Left Menu entry: - // $this->menu[$r]=array( 'fk_menu'=>'r=0', // Use r=value where r is index key used for the top menu entry - // 'type'=>'left', // This is a Left menu entry - // 'titre'=>'Title left menu', - // 'mainmenu'=>'mymodule', - // 'url'=>'/comm/action/index2.php', - // 'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - // 'position'=>100, - // 'perms'=>'$user->rights->mymodule->level1->level2', // Use 'perms'=>'1' if you want your menu with no permission rules - // 'target'=>'', - // 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - // $r++; - } - - - /** - * Function called when module is enabled. - * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. - * It also creates data directories - * - * @param string $options Options when enabling module ('', 'noboxes') - * @return int 1 if OK, 0 if KO - */ - public function init($options = '') - { - $sql = array(); - - // Remove permissions and default values - $this->remove($options); - - return $this->_init($sql, $options); - } -} diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index 4f97eed58f0..776c5c76681 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -501,7 +501,7 @@ class modCategorie extends DolibarrModules 'cs.fk_categorie'=>array('rule'=>'fetchidfromref', 'classfile'=>'/categories/class/categorie.class.php', 'class'=>'Categorie', 'method'=>'fetch', 'element'=>'category'), 'cs.fk_soc'=>array('rule'=>'fetchidfromref', 'classfile'=>'/societe/class/societe.class.php', 'class'=>'Societe', 'method'=>'fetch', 'element'=>'ThirdParty') ); - $this->import_examplevalues_array[$r] = array('cs.fk_categorie'=>"rowid or label", 'cs.fk_soc'=>"rowid or ref"); + $this->import_examplevalues_array[$r] = array('cs.fk_categorie'=>"rowid or label", 'cs.fk_soc'=>"rowid or name"); } // 2 Customers @@ -522,7 +522,7 @@ class modCategorie extends DolibarrModules 'cs.fk_categorie'=>array('rule'=>'fetchidfromref', 'classfile'=>'/categories/class/categorie.class.php', 'class'=>'Categorie', 'method'=>'fetch', 'element'=>'category'), 'cs.fk_soc'=>array('rule'=>'fetchidfromref', 'classfile'=>'/societe/class/societe.class.php', 'class'=>'Societe', 'method'=>'fetch', 'element'=>'ThirdParty') ); - $this->import_examplevalues_array[$r] = array('cs.fk_categorie'=>"rowid or label", 'cs.fk_soc'=>"rowid or ref"); + $this->import_examplevalues_array[$r] = array('cs.fk_categorie'=>"rowid or label", 'cs.fk_soc'=>"rowid or name"); } // 3 Members diff --git a/htdocs/core/modules/modClickToDial.class.php b/htdocs/core/modules/modClickToDial.class.php index f28659bbd5d..18f1e6befeb 100644 --- a/htdocs/core/modules/modClickToDial.class.php +++ b/htdocs/core/modules/modClickToDial.class.php @@ -18,7 +18,7 @@ /** * \defgroup clicktodial Module clicktodial - * \brief Module pour gerer l'appel automatique + * \brief Module to manage a ClickToDial system * \file htdocs/core/modules/modClickToDial.class.php * \ingroup clicktodial * \brief Description and activation file for the module Click to Dial @@ -46,7 +46,8 @@ class modClickToDial extends DolibarrModules $this->family = "interface"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "Gestion du Click To Dial"; + $this->description = "Integration of a ClickToDial system (Asterisk, ...)"; + $this->descriptionlong = "Support a Click To Dial feature with a SIP system. When clicking on a phone number, your phone system automatically call the callee."; $this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version diff --git a/htdocs/core/modules/modCommande.class.php b/htdocs/core/modules/modCommande.class.php index 6a44075822c..ffcfef61a6e 100644 --- a/htdocs/core/modules/modCommande.class.php +++ b/htdocs/core/modules/modCommande.class.php @@ -193,7 +193,7 @@ class modCommande extends DolibarrModules $this->export_label[$r] = 'CustomersOrdersAndOrdersLines'; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_permission[$r] = array(array("commande", "commande", "export")); $this->export_fields_array[$r] = array( - 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'd.nom'=>'State', 'co.label'=>'Country', + 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 'ps.nom'=>'ParentCompany', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'd.nom'=>'State', 'co.label'=>'Country', 'co.code'=>"CountryCode", 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 'c.rowid'=>"Id", 'c.ref'=>"Ref", 'c.ref_client'=>"RefCustomer", 'c.fk_soc'=>"IdCompany", 'c.date_creation'=>"DateCreation", 'c.date_commande'=>"OrderDate", 'c.date_livraison'=>"DateDeliveryPlanned", 'c.amount_ht'=>"Amount", 'c.remise_percent'=>"GlobalDiscount", 'c.total_ht'=>"TotalHT", @@ -219,7 +219,7 @@ class modCommande extends DolibarrModules // 'p.rowid'=>'List:product:ref','p.ref'=>'Text','p.label'=>'Text' //); $this->export_TypeFields_array[$r] = array( - 's.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'co.label'=>'List:c_country:label:label', 'co.code'=>'Text', 's.phone'=>'Text', + 's.nom'=>'Text', 'ps.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'co.label'=>'List:c_country:label:label', 'co.code'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 'c.ref'=>"Text", 'c.ref_client'=>"Text", 'c.date_creation'=>"Date", 'c.date_commande'=>"Date", 'c.date_livraison'=>"Date", 'c.amount_ht'=>"Numeric", 'c.remise_percent'=>"Numeric", 'c.total_ht'=>"Numeric", 'c.total_ttc'=>"Numeric", 'c.facture'=>"Boolean", 'c.fk_statut'=>'Status', 'c.note_public'=>"Text", 'c.date_livraison'=>'Date', 'pj.ref'=>'Text', @@ -227,7 +227,7 @@ class modCommande extends DolibarrModules 'cd.total_ttc'=>"Numeric", 'p.rowid'=>'List:product:ref::product', 'p.ref'=>'Text', 'p.label'=>'Text', 'd.nom'=>'Text' ); $this->export_entities_array[$r] = array( - 's.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'd.nom'=>'company', 'co.label'=>'company', + 's.rowid'=>"company", 's.nom'=>'company', 'ps.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'd.nom'=>'company', 'co.label'=>'company', 'co.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.siret'=>'company', 'c.rowid'=>"order", 'c.ref'=>"order", 'c.ref_client'=>"order", 'c.fk_soc'=>"order", 'c.date_creation'=>"order", 'c.date_commande'=>"order", 'c.amount_ht'=>"order", 'c.remise_percent'=>"order", 'c.total_ht'=>"order", 'c.total_ttc'=>"order", 'c.facture'=>"order", 'c.fk_statut'=>"order", 'c.note'=>"order", @@ -254,10 +254,11 @@ class modCommande extends DolibarrModules include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_extrafields as extra4 ON s.rowid = extra4.fk_object'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as ps ON ps.rowid = s.parent'; if (empty($user->rights->societe->client->voir)) { $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; } - $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_extrafields as extra4 ON s.rowid = extra4.fk_object'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON s.fk_departement = d.rowid'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as co ON s.fk_pays = co.rowid,'; $this->export_sql_end[$r] .= ' '.MAIN_DB_PREFIX.'commande as c'; @@ -284,11 +285,11 @@ class modCommande extends DolibarrModules $this->import_code[$r] = 'commande_'.$r; $this->import_label[$r] = 'CustomersOrders'; $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; - $this->import_tables_array[$r] = ['c' => MAIN_DB_PREFIX.'commande', 'extra' => MAIN_DB_PREFIX.'commande_extrafields']; - $this->import_tables_creator_array[$r] = ['c' => 'fk_user_author']; // Fields to store import user id - $this->import_fields_array[$r] = [ - 'c.ref' => 'Document Ref*', + $this->import_entities_array[$r] = array(); + $this->import_tables_array[$r] = array('c' => MAIN_DB_PREFIX.'commande', 'extra' => MAIN_DB_PREFIX.'commande_extrafields'); + $this->import_tables_creator_array[$r] = array('c' => 'fk_user_author'); // Fields to store import user id + $this->import_fields_array[$r] = array( + 'c.ref' => 'Ref*', 'c.ref_client' => 'RefCustomer', 'c.fk_soc' => 'ThirdPartyName*', 'c.fk_projet' => 'ProjectId', @@ -309,7 +310,7 @@ class modCommande extends DolibarrModules 'c.fk_cond_reglement' => 'Payment Condition', 'c.fk_mode_reglement' => 'Payment Mode', 'c.model_pdf' => 'Model' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['c.multicurrency_code'] = 'Currency'; @@ -320,7 +321,7 @@ class modCommande extends DolibarrModules } // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'commande' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); @@ -336,7 +337,6 @@ class modCommande extends DolibarrModules $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'commande']; $this->import_regex_array[$r] = [ - 'c.ref' => '(CPV\d{4}-\d{4}|CO\d{4}-\d{4}|PROV.{1,32}$)', 'c.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency' ]; @@ -370,10 +370,10 @@ class modCommande extends DolibarrModules $this->import_code[$r] = 'commande_lines_'.$r; $this->import_label[$r] = 'SaleOrderLines'; $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; - $this->import_tables_array[$r] = ['cd' => MAIN_DB_PREFIX.'commandedet', 'extra' => MAIN_DB_PREFIX.'commandedet_extrafields']; - $this->import_fields_array[$r] = [ - 'cd.fk_commande' => 'Document Ref*', + $this->import_entities_array[$r] = array(); + $this->import_tables_array[$r] = array('cd' => MAIN_DB_PREFIX.'commandedet', 'extra' => MAIN_DB_PREFIX.'commandedet_extrafields'); + $this->import_fields_array[$r] = array( + 'cd.fk_commande' => 'SalesOrder*', 'cd.fk_parent_line' => 'PrParentLine', 'cd.fk_product' => 'IdProduct', 'cd.label' => 'Label', @@ -392,7 +392,7 @@ class modCommande extends DolibarrModules 'cd.date_end' => 'End Date', 'cd.buy_price_ht' => 'LineBuyPriceHT', 'cd.rang' => 'LinePosition' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['cd.multicurrency_code'] = 'Currency'; @@ -465,8 +465,8 @@ class modCommande extends DolibarrModules } $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'order' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','order',".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'order' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."', 'order', ".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modContrat.class.php b/htdocs/core/modules/modContrat.class.php index f91e54039f4..2fc0c7f1e0d 100644 --- a/htdocs/core/modules/modContrat.class.php +++ b/htdocs/core/modules/modContrat.class.php @@ -33,7 +33,6 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; */ class modContrat extends DolibarrModules { - /** * Constructor. Define names, constants, directories, boxes, permissions * @@ -246,8 +245,8 @@ class modContrat extends DolibarrModules } $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[1][2])."' AND type = 'contract' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[1][2])."','contract',".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[1][2])."' AND type = 'contract' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[1][2])."', 'contract', ".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modDon.class.php b/htdocs/core/modules/modDon.class.php index 7d8a8fc9455..da7ee6c5e82 100644 --- a/htdocs/core/modules/modDon.class.php +++ b/htdocs/core/modules/modDon.class.php @@ -156,8 +156,8 @@ class modDon extends DolibarrModules global $conf; $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'donation' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','donation',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'donation' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','donation',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modEmailCollector.class.php b/htdocs/core/modules/modEmailCollector.class.php index 53223ecd705..566d050aacd 100644 --- a/htdocs/core/modules/modEmailCollector.class.php +++ b/htdocs/core/modules/modEmailCollector.class.php @@ -264,16 +264,6 @@ class modEmailCollector extends DolibarrModules public function init($options = '') { global $conf, $user; - //$this->_load_tables('/dav/sql/'); - - // Create extrafields - //include_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - //$extrafields = new ExtraFields($this->db); - //$result1=$extrafields->addExtraField('myattr1', "New Attr 1 label", 'boolean', 1, 3, 'thirdparty', 0, 0, '', '', 1, '', 0, 0, '', '', 'dav@dav', '$conf->dav->enabled'); - //$result2=$extrafields->addExtraField('myattr2', "New Attr 2 label", 'varchar', 1, 10, 'project', 0, 0, '', '', 1, '', 0, 0, '', '', 'dav@dav', '$conf->dav->enabled'); - //$result3=$extrafields->addExtraField('myattr3', "New Attr 3 label", 'varchar', 1, 10, 'bank_account', 0, 0, '', '', 1, '', 0, 0, '', '', 'dav@dav', '$conf->dav->enabled'); - //$result4=$extrafields->addExtraField('myattr4', "New Attr 4 label", 'select', 1, 3, 'thirdparty', 0, 1, '', array('options'=>array('code1'=>'Val1','code2'=>'Val2','code3'=>'Val3')), 1 '', 0, 0, '', '', 'dav@dav', '$conf->dav->enabled'); - //$result5=$extrafields->addExtraField('myattr5', "New Attr 5 label", 'text', 1, 10, 'user', 0, 0, '', '', 1, '', 0, 0, '', '', 'dav@dav', '$conf->dav->enabled'); $sql = array(); @@ -285,17 +275,17 @@ class modEmailCollector extends DolibarrModules $descriptionA1 .= ' If the collector Collect_Responses is also enabled, when you send an email from the ticket, you may also see answers of your customers or partners directly on the ticket view.'; $sqlforexampleA1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleA1 .= " VALUES (".$conf->entity.", 'Collect_Ticket_Requets', 'Example to collect ticket requests', '".$this->db->escape($descriptionA1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleA1 .= " VALUES (".$conf->entity.", 'Collect_Ticket_Requets', 'Example to collect ticket requests', '".$this->db->escape($descriptionA1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 0)"; $sqlforexampleFilterA1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterA1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'isnotanswer', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterA1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'isnotanswer', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterA2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterA2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterA2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterA3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, rulevalue, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterA3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'to', 'support@example.com', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterA3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'to', 'support@example.com', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleA4 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectoraction (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleA4 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'ticket', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleA4 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Ticket_Requets' and entity = ".$conf->entity."), 'ticket', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sql[] = $sqlforexampleA1; $sql[] = $sqlforexampleFilterA1; @@ -314,14 +304,14 @@ class modEmailCollector extends DolibarrModules $descriptionA1 = 'This collector will scan your mailbox "Sent" directory to find emails that was sent as an answer of another email directly from your email software and not from Dolibarr. If such an email is found, the event of answer is recorded into Dolibarr.'; $sqlforexampleA1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleA1 .= " VALUES (".$conf->entity.", 'Collect_Responses_Out', 'Example to collect answers to emails done from your external email software', '".$this->db->escape($descriptionA1)."', 'Sent', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleA1 .= " VALUES (".$conf->entity.", 'Collect_Responses_Out', 'Example to collect answers to emails done from your external email software', '".$this->db->escape($descriptionA1)."', 'Sent', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 0)"; $sqlforexampleFilterA1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterA1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_Out' and entity = ".$conf->entity."), 'isanswer', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterA1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_Out' and entity = ".((int) $conf->entity)."), 'isanswer', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterA2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterA2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_Out' and entity = ".$conf->entity."), 'withouttrackingidinmsgid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterA2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_Out' and entity = ".((int) $conf->entity)."), 'withouttrackingidinmsgid', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleActionA1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectoraction (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleActionA1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_Out' and entity = ".$conf->entity."), 'recordevent', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleActionA1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_Out' and entity = ".((int) $conf->entity)."), 'recordevent', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sql[] = $sqlforexampleA1; $sql[] = $sqlforexampleFilterA1; @@ -330,18 +320,18 @@ class modEmailCollector extends DolibarrModules } } - $tmpsql = "SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_In' and entity = ".$conf->entity; + $tmpsql = "SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_In' and entity = ".((int) $conf->entity); $tmpresql = $this->db->query($tmpsql); if ($tmpresql) { if ($this->db->num_rows($tmpresql) == 0) { $descriptionB1 = 'This collector will scan your mailbox to find all emails that are an answer of an email sent from your application. An event (Module Agenda must be enabled) with the email response will be recorded at the good place. For example, if your send a commercial proposal, order, invoice or message for a ticket by email from the application, and your customer answers your email, the system will automatically catch the answer and add it into your ERP.'; $sqlforexampleB1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleB1 .= " VALUES (".$conf->entity.", 'Collect_Responses_In', 'Example to collect any received email that is a response of an email sent from Dolibarr', '".$this->db->escape($descriptionB1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleB1 .= " VALUES (".$conf->entity.", 'Collect_Responses_In', 'Example to collect any received email that is a response of an email sent from Dolibarr', '".$this->db->escape($descriptionB1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 0)"; $sqlforexampleB2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleB2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_In' and entity = ".$conf->entity."), 'isanswer', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleB2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_In' and entity = ".((int) $conf->entity)."), 'isanswer', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleB3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectoraction (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleB3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_In' and entity = ".$conf->entity."), 'recordevent', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleB3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Responses_In' and entity = ".((int) $conf->entity)."), 'recordevent', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sql[] = $sqlforexampleB1; $sql[] = $sqlforexampleB2; @@ -351,7 +341,7 @@ class modEmailCollector extends DolibarrModules dol_print_error($this->db); } - $tmpsql = "SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".$conf->entity; + $tmpsql = "SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".((int) $conf->entity); $tmpresql = $this->db->query($tmpsql); if ($tmpresql) { if ($this->db->num_rows($tmpresql) == 0) { @@ -360,17 +350,17 @@ class modEmailCollector extends DolibarrModules $descriptionC1 .= "Note: With this initial example, the title of the lead is generated including the email. If the thirdparty can't be found in database (new customer), the lead will be attached to the thirdparty with ID 1."; $sqlforexampleC1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleC1 .= " VALUES (".$conf->entity.", 'Collect_Leads', 'Example to collect leads', '".$this->db->escape($descriptionC1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleC1 .= " VALUES (".$conf->entity.", 'Collect_Leads', 'Example to collect leads', '".$this->db->escape($descriptionC1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 0)"; $sqlforexampleFilterC1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterC1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".$conf->entity."), 'isnotanswer', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterC1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".((int) $conf->entity)."), 'isnotanswer', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterC2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterC2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".$conf->entity."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterC2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".((int) $conf->entity)."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterC3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, rulevalue, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterC3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".$conf->entity."), 'to', 'sales@example.com', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterC3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".((int) $conf->entity)."), 'to', 'sales@example.com', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleC4 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectoraction (fk_emailcollector, type, actionparam, date_creation, fk_user_creat, status)"; - $sqlforexampleC4 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".$conf->entity."), 'project', 'tmp_from=EXTRACT:HEADER:^From:(.*);socid=SETIFEMPTY:1;usage_opportunity=SET:1;description=EXTRACT:BODY:(.*);title=SET:Lead or message from __tmp_from__ received by email', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleC4 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Leads' and entity = ".((int) $conf->entity)."), 'project', 'tmp_from=EXTRACT:HEADER:^From:(.*);socid=SETIFEMPTY:1;usage_opportunity=SET:1;description=EXTRACT:BODY:(.*);title=SET:Lead or message from __tmp_from__ received by email', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sql[] = $sqlforexampleC1; $sql[] = $sqlforexampleFilterC1; @@ -382,7 +372,7 @@ class modEmailCollector extends DolibarrModules dol_print_error($this->db); } - $tmpsql = "SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".$conf->entity; + $tmpsql = "SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".((int) $conf->entity); $tmpresql = $this->db->query($tmpsql); if ($tmpresql) { if ($this->db->num_rows($tmpresql) == 0) { @@ -390,17 +380,17 @@ class modEmailCollector extends DolibarrModules $descriptionC1 .= "Note: With this initial example, the title of the candidature is generated including the email."; $sqlforexampleC1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollector (entity, ref, label, description, source_directory, date_creation, fk_user_creat, status)"; - $sqlforexampleC1 .= " VALUES (".$conf->entity.", 'Collect_Candidatures', 'Example to collect email for job candidatures', '".$this->db->escape($descriptionC1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".$user->id.", 0)"; + $sqlforexampleC1 .= " VALUES (".$conf->entity.", 'Collect_Candidatures', 'Example to collect email for job candidatures', '".$this->db->escape($descriptionC1)."', 'INBOX', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 0)"; $sqlforexampleFilterC1 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterC1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".$conf->entity."), 'isnotanswer', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterC1 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".((int) $conf->entity)."), 'isnotanswer', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterC2 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterC2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".$conf->entity."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterC2 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".((int) $conf->entity)."), 'withouttrackingid', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleFilterC3 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectorfilter (fk_emailcollector, type, rulevalue, date_creation, fk_user_creat, status)"; - $sqlforexampleFilterC3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".$conf->entity."), 'to', 'jobs@example.com', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleFilterC3 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".((int) $conf->entity)."), 'to', 'jobs@example.com', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sqlforexampleC4 = "INSERT INTO ".MAIN_DB_PREFIX."emailcollector_emailcollectoraction (fk_emailcollector, type, actionparam, date_creation, fk_user_creat, status)"; - $sqlforexampleC4 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".$conf->entity."), 'candidature', 'tmp_from=EXTRACT:HEADER:^From:(.*)(<.*>)?;fk_recruitmentjobposition=EXTRACT:HEADER:^To:[^\n]*\+([^\n]*);description=EXTRACT:BODY:(.*);lastname=SET:__tmp_from__', '".$this->db->idate(dol_now())."', ".$user->id.", 1)"; + $sqlforexampleC4 .= " VALUES ((SELECT rowid FROM ".MAIN_DB_PREFIX."emailcollector_emailcollector WHERE ref = 'Collect_Candidatures' and entity = ".((int) $conf->entity)."), 'candidature', 'tmp_from=EXTRACT:HEADER:^From:(.*)(<.*>)?;fk_recruitmentjobposition=EXTRACT:HEADER:^To:[^\n]*\+([^\n]*);description=EXTRACT:BODY:(.*);lastname=SET:__tmp_from__', '".$this->db->idate(dol_now())."', ".((int) $user->id).", 1)"; $sql[] = $sqlforexampleC1; $sql[] = $sqlforexampleFilterC1; diff --git a/htdocs/core/modules/modEventOrganization.class.php b/htdocs/core/modules/modEventOrganization.class.php index 3a81102f4bd..8a3fb3d80cf 100644 --- a/htdocs/core/modules/modEventOrganization.class.php +++ b/htdocs/core/modules/modEventOrganization.class.php @@ -268,7 +268,7 @@ class modEventOrganization extends DolibarrModules 'fk_menu'=>'fk_mainmenu=project,fk_leftmenu=eventorganization', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode 'type'=>'left', // This is a Left menu entry 'titre'=>'List', - 'url'=>'/projet/list.php?search_usage_event_organization=1&mainmenu=project&contextpage=organizedevents', + 'url'=>'/projet/list.php?search_usage_event_organization=1&search_status=99&mainmenu=project&contextpage=organizedevents', 'langs'=>'eventorganization@eventorganization', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'position'=>1000+$r, 'enabled'=>'$conf->eventorganization->enabled', // Define condition to show or hide menu entry. Use '$conf->eventorganization->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. @@ -387,10 +387,10 @@ class modEventOrganization extends DolibarrModules } $sql = array_merge($sql, array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".$this->db->escape(strtolower($myTmpObjectKey))."',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".$this->db->escape(strtolower($myTmpObjectKey))."', ".((int) $conf->entity).")" )); } } diff --git a/htdocs/core/modules/modExpedition.class.php b/htdocs/core/modules/modExpedition.class.php index 238eef2d6fe..c10e13a46d8 100644 --- a/htdocs/core/modules/modExpedition.class.php +++ b/htdocs/core/modules/modExpedition.class.php @@ -359,10 +359,10 @@ class modExpedition extends DolibarrModules $sql = array(); $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'shipping' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','shipping',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[3][2])."' AND type = 'delivery' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[3][2])."','delivery',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'shipping' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','shipping',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[3][2])."' AND type = 'delivery' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[3][2])."','delivery',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php index f727247a831..53708ece3dd 100644 --- a/htdocs/core/modules/modExpenseReport.class.php +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -185,8 +185,9 @@ class modExpenseReport extends DolibarrModules 'd.total_ht'=>"TotalHT", 'd.total_tva'=>'TotalVAT', 'd.total_ttc'=>'TotalTTC', 'd.fk_statut'=>'Status', 'd.paid'=>'Paid', 'd.note_private'=>'NotePrivate', 'd.note_public'=>'NotePublic', 'd.detail_cancel'=>'MOTIF_CANCEL', 'd.detail_refuse'=>'MOTIF_REFUS', - 'u.lastname'=>'Lastname', 'u.firstname'=>'Firstname', 'u.login'=>"Login", 'ed.rowid'=>'LineId', 'tf.code'=>'Type', 'ed.date'=>'Date', 'ed.tva_tx'=>'VATRate', + 'ed.rowid'=>'LineId', 'tf.code'=>'Type', 'ed.date'=>'Date', 'ed.tva_tx'=>'VATRate', 'ed.total_ht'=>'TotalHT', 'ed.total_tva'=>'TotalVAT', 'ed.total_ttc'=>'TotalTTC', 'ed.comments'=>'Comment', 'p.rowid'=>'ProjectId', 'p.ref'=>'Ref', + 'u.lastname'=>'Lastname', 'u.firstname'=>'Firstname', 'u.login'=>"Login", 'user_rib.iban_prefix' => 'IBAN', 'user_rib.bic' => 'BIC', 'user_rib.code_banque' => 'BankCode', 'user_rib.bank' => 'BankName', 'user_rib.proprio' => 'BankAccountOwner', 'user_rib.owner_address' => 'BankAccountOwnerAddress' ); @@ -195,15 +196,17 @@ class modExpenseReport extends DolibarrModules 'd.total_ht'=>"Numeric", 'd.total_tva'=>'Numeric', 'd.total_ttc'=>'Numeric', 'd.fk_statut'=>"Numeric", 'd.paid'=>'Numeric', 'd.note_private'=>'Text', 'd.note_public'=>'Text', 'd.detail_cancel'=>'Text', 'd.detail_refuse'=>'Text', - 'u.lastname'=>'Text', 'u.firstname'=>'Text', 'u.login'=>"Text", 'ed.rowid'=>'Numeric', 'tf.code'=>'Code', 'ed.date'=>'Date', 'ed.tva_tx'=>'Numeric', + 'ed.rowid'=>'Numeric', 'tf.code'=>'Code', 'ed.date'=>'Date', 'ed.tva_tx'=>'Numeric', 'ed.total_ht'=>'Numeric', 'ed.total_tva'=>'Numeric', 'ed.total_ttc'=>'Numeric', 'ed.comments'=>'Text', 'p.rowid'=>'Numeric', 'p.ref'=>'Text', + 'u.lastname'=>'Text', 'u.firstname'=>'Text', 'u.login'=>"Text", 'user_rib.iban_prefix' => 'Text', 'user_rib.bic' => 'Text', 'user_rib.code_banque' => 'Text', 'user_rib.bank' => 'Text', 'user_rib.proprio' => 'Text', 'user_rib.owner_address' => 'Text' ); $this->export_entities_array[$r] = array( - 'u.lastname'=>'user', 'u.firstname'=>'user', 'u.login'=>'user', 'ed.rowid'=>'expensereport_line', 'ed.date'=>'expensereport_line', + 'ed.rowid'=>'expensereport_line', 'ed.date'=>'expensereport_line', 'ed.tva_tx'=>'expensereport_line', 'ed.total_ht'=>'expensereport_line', 'ed.total_tva'=>'expensereport_line', 'ed.total_ttc'=>'expensereport_line', 'ed.comments'=>'expensereport_line', 'tf.code'=>'expensereport_line', 'p.project_ref'=>'expensereport_line', 'p.rowid'=>'project', 'p.ref'=>'project', + 'u.lastname'=>'user', 'u.firstname'=>'user', 'u.login'=>'user', 'user_rib.iban_prefix' => 'user', 'user_rib.bic' => 'user', 'user_rib.code_banque' => 'user', 'user_rib.bank' => 'user', 'user_rib.proprio' => 'user', 'user_rib.owner_address' => 'user' @@ -215,12 +218,15 @@ class modExpenseReport extends DolibarrModules $keyforelement = 'expensereport'; $keyforaliasextra = 'extra'; include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + $keyforselect = 'user'; $keyforelement = 'user'; $keyforaliasextra = 'extrau'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'expensereport as d'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'expensereport_extrafields as extra on d.rowid = extra.fk_object'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user_rib as user_rib ON user_rib.fk_user = d.fk_user_author,'; - $this->export_sql_end[$r] .= ' '.MAIN_DB_PREFIX.'user as u,'; + $this->export_sql_end[$r] .= ' '.MAIN_DB_PREFIX.'user as u'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user_extrafields as extrau ON u.rowid = extrau.fk_object,'; $this->export_sql_end[$r] .= ' '.MAIN_DB_PREFIX.'expensereport_det as ed LEFT JOIN '.MAIN_DB_PREFIX.'c_type_fees as tf ON ed.fk_c_type_fees = tf.id'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as p ON ed.fk_projet = p.rowid'; $this->export_sql_end[$r] .= ' WHERE ed.fk_expensereport = d.rowid AND d.fk_user_author = u.rowid'; @@ -243,8 +249,8 @@ class modExpenseReport extends DolibarrModules $this->remove($options); $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard' AND type='expensereport' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard','expensereport',".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard' AND type='expensereport' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard','expensereport',".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index a9765f45ada..ef341c83e89 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -142,7 +142,7 @@ class modFacture extends DolibarrModules 'objectname'=>'Facture', 'method'=>'sendEmailsRemindersOnInvoiceDueDate', 'parameters'=>"10,all,EmailTemplateCode", - 'comment'=>'Send an emails when the unpaid invoices reach a due date + n days = today. First param is the offset n of days, second parameter is "all" or a payment mode code, last paramater is the code of email template to use (an email template with EmailTemplateCode must exists. the version in the language of the thirdparty will be used in priority).', + 'comment'=>'Send an emails when the unpaid invoices reach a due date + n days = today. First param is the offset n of days, second parameter is "all" or a payment mode code, last parameter is the code of email template to use (an email template with EmailTemplateCode must exists. the version in the language of the thirdparty will be used in priority).', 'frequency'=>1, 'unitfrequency'=>3600 * 24, 'priority'=>50, @@ -242,7 +242,7 @@ class modFacture extends DolibarrModules $this->export_icon[$r] = 'invoice'; $this->export_permission[$r] = array(array("facture", "facture", "export", "other")); $this->export_fields_array[$r] = array( - 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.code_client'=>'CustomerCode', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 'cd.nom'=>'State', + 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 'ps.nom' => 'ParentCompany', 's.code_client'=>'CustomerCode', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 'cd.nom'=>'State', 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.code_compta'=>'CustomerAccountancyCode', @@ -271,9 +271,9 @@ class modFacture extends DolibarrModules $this->export_fields_array[$r]['f.pos_source'] = 'POSTerminal'; } $this->export_TypeFields_array[$r] = array( - 's.rowid'=>'Numeric', 's.nom'=>'Text', 's.code_client'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text', 'cd.nom'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', + 's.rowid'=>'Numeric', 's.nom'=>'Text', 'ps.nom'=>'Text', 's.code_client'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text', 'cd.nom'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.code_compta'=>'Text', 's.code_compta_fournisseur'=>'Text', 's.tva_intra'=>'Text', - 'f.rowid'=>'Numeric', 'f.ref'=>"Text", 'f.ref_client'=>'Text', 'f.type'=>"Numeric", 'f.datec'=>"Date", 'f.datef'=>"Date", 'f.date_lim_reglement'=>"Date", + 'f.rowid'=>'Numeric', 'f.ref'=>"Text", 'f.ref_client'=>'Text', 'f.type'=>"Numeric", 'f.datec'=>"Date", 'f.datef'=>"Date", 'f.date_lim_reglement'=>"Date", 'f.fk_mode_reglement'=>'Numeric', 'f.total_ht'=>"Numeric", 'f.total_ttc'=>"Numeric", 'f.total_tva'=>"Numeric", 'f.localtax1'=>'Numeric', 'f.localtax2'=>'Numeric', 'f.paye'=>"Boolean", 'f.fk_statut'=>'Numeric', 'f.close_code'=>'Text', 'f.close_note'=>'Text', 'none.rest'=>"NumericCompute", 'f.note_private'=>"Text", 'f.note_public'=>"Text", 'f.fk_user_author'=>'Numeric', 'uc.login'=>'Text', 'f.fk_user_valid'=>'Numeric', 'uv.login'=>'Text', @@ -287,7 +287,7 @@ class modFacture extends DolibarrModules $this->export_TypeFields_array[$r]['f.pos_source'] = 'Text'; } $this->export_entities_array[$r] = array( - 's.rowid'=>"company", 's.nom'=>'company', 's.code_client'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 'cd.nom'=>'company', 's.phone'=>'company', + 's.rowid'=>"company", 's.nom'=>'company', 'ps.nom'=>'company', 's.code_client'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 'cd.nom'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.code_compta'=>'company', 's.code_compta_fournisseur'=>'company', 's.tva_intra'=>'company', 'pj.ref'=>'project', 'pj.title'=>'project', 'fd.rowid'=>'invoice_line', 'fd.label'=>"invoice_line", 'fd.description'=>"invoice_line", 'fd.subprice'=>"invoice_line", 'fd.total_ht'=>"invoice_line", 'fd.total_tva'=>"invoice_line", 'fd.total_ttc'=>"invoice_line", 'fd.tva_tx'=>"invoice_line", @@ -309,8 +309,14 @@ class modFacture extends DolibarrModules $keyforelement = 'product'; $keyforaliasextra = 'extra3'; include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + $keyforselect = 'societe'; + $keyforelement = 'company'; + $keyforaliasextra = 'extra4'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_extrafields as extra4 ON s.rowid = extra4.fk_object'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as ps ON ps.rowid = s.parent'; if (empty($user->rights->societe->client->voir)) { $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; } @@ -452,8 +458,8 @@ class modFacture extends DolibarrModules } $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[1][2])."' AND type = 'invoice' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[1][2])."','invoice',".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[1][2])."' AND type = 'invoice' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[1][2])."','invoice',".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modFckeditor.class.php b/htdocs/core/modules/modFckeditor.class.php index 7742051989e..3dfd0f233e5 100644 --- a/htdocs/core/modules/modFckeditor.class.php +++ b/htdocs/core/modules/modFckeditor.class.php @@ -63,18 +63,18 @@ class modFckeditor extends DolibarrModules $this->config_page_url = array("fckeditor.php"); // Dependencies - $this->disabled = (in_array(constant('JS_CKEDITOR'), array('disabled', 'disabled/')) ? 1 : 0); // A condition to disable module (used for native debian packages) + $this->disabled = in_array(constant('JS_CKEDITOR'), array('disabled', 'disabled/')); $this->depends = array(); $this->requiredby = array('modWebsites'); // Constants $this->const = array(); - $this->const[0] = array("FCKEDITOR_ENABLE_SOCIETE", "yesno", "1", "WYSIWIG for description and note (except products/services)"); - $this->const[1] = array("FCKEDITOR_ENABLE_PRODUCTDESC", "yesno", "1", "WYSIWIG for products/services description and note"); - $this->const[2] = array("FCKEDITOR_ENABLE_MAILING", "yesno", "1", "WYSIWIG for mass emailings"); - $this->const[3] = array("FCKEDITOR_ENABLE_DETAILS", "yesno", "1", "WYSIWIG for products details lines for all entities"); - $this->const[4] = array("FCKEDITOR_ENABLE_USERSIGN", "yesno", "1", "WYSIWIG for user signature"); - $this->const[5] = array("FCKEDITOR_ENABLE_MAIL", "yesno", "1", "WYSIWIG for products details lines for all entities"); + $this->const[0] = array("FCKEDITOR_ENABLE_SOCIETE", "yesno", "1", "WYSIWIG for description and note (except products/services)"); + $this->const[1] = array("FCKEDITOR_ENABLE_PRODUCTDESC", "yesno", "1", "WYSIWIG for products/services description and note"); + $this->const[2] = array("FCKEDITOR_ENABLE_MAILING", "yesno", "1", "WYSIWIG for mass emailings"); + $this->const[3] = array("FCKEDITOR_ENABLE_DETAILS", "yesno", "1", "WYSIWIG for products details lines for all entities"); + $this->const[4] = array("FCKEDITOR_ENABLE_USERSIGN", "yesno", "1", "WYSIWIG for user signature"); + $this->const[5] = array("FCKEDITOR_ENABLE_MAIL", "yesno", "1", "WYSIWIG for products details lines for all entities"); $this->const[6] = array("FCKEDITOR_SKIN", "string", "moono-lisa", "Skin by default for fckeditor"); // Boxes diff --git a/htdocs/core/modules/modFicheinter.class.php b/htdocs/core/modules/modFicheinter.class.php index af99e6f646f..356b9ca6f51 100644 --- a/htdocs/core/modules/modFicheinter.class.php +++ b/htdocs/core/modules/modFicheinter.class.php @@ -77,6 +77,11 @@ class modFicheinter extends DolibarrModules $this->const = array(); $r = 0; + if (!isset($conf->ficheinter) || !isset($conf->ficheinter->enabled)) { + $conf->ficheinter = new stdClass(); + $conf->ficheinter->enabled = 0; + } + $this->const[$r][0] = "FICHEINTER_ADDON_PDF"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "soleil"; @@ -231,8 +236,8 @@ class modFicheinter extends DolibarrModules $this->remove($options); $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'ficheinter' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','ficheinter',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'ficheinter' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','ficheinter',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modFournisseur.class.php b/htdocs/core/modules/modFournisseur.class.php index fae1cfc0eb8..8e0fd6ea126 100644 --- a/htdocs/core/modules/modFournisseur.class.php +++ b/htdocs/core/modules/modFournisseur.class.php @@ -34,7 +34,6 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; */ class modFournisseur extends DolibarrModules { - /** * Constructor. Define names, constants, directories, boxes, permissions * @@ -285,10 +284,10 @@ class modFournisseur extends DolibarrModules $r++; $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = 'Vendor invoices and lines of invoices'; - $this->export_icon[$r] = 'bill'; + $this->export_icon[$r] = 'invoice'; $this->export_permission[$r] = array(array("fournisseur", "facture", "export")); $this->export_fields_array[$r] = array( - 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 's.phone'=>'Phone', + 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 'ps.nom'=>'ParentCompany', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.idprof5'=>'ProfId5', 's.idprof6'=>'ProfId6', 's.code_compta'=>'CustomerAccountancyCode', 's.code_compta_fournisseur'=>'SupplierAccountancyCode', 's.tva_intra'=>'VATIntra', 'f.rowid'=>"InvoiceId", 'f.ref'=>"InvoiceRef", 'f.ref_supplier'=>"RefSupplier", 'f.datec'=>"InvoiceDateCreation", 'f.datef'=>"DateInvoice", 'f.date_lim_reglement'=>'DateMaxPayment', @@ -312,14 +311,14 @@ class modFournisseur extends DolibarrModules // 'fd.tva'=>"Numeric",'fd.product_type'=>'Numeric','fd.fk_product'=>'List:product:label','p.ref'=>'Text','p.label'=>'Text' //); $this->export_TypeFields_array[$r] = array( - 's.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.idprof5'=>'Text', 's.idprof6'=>'Text', + 's.nom'=>'Text', 'ps.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.idprof5'=>'Text', 's.idprof6'=>'Text', 's.code_compta'=>'Text', 's.code_compta_fournisseur'=>'Text', 's.tva_intra'=>'Text', 'f.ref'=>"Text", 'f.ref_supplier'=>"Text", 'f.datec'=>"Date", 'f.datef'=>"Date", 'f.date_lim_reglement'=>'Date', 'f.total_ht'=>"Numeric", 'f.total_ttc'=>"Numeric", 'f.total_tva'=>"Numeric", 'f.paye'=>"Boolean", 'f.fk_statut'=>'Status', 'f.note_public'=>"Text", 'fd.description'=>"Text", 'fd.tva_tx'=>"Text", 'fd.qty'=>"Numeric", 'fd.total_ht'=>"Numeric", 'fd.total_ttc'=>"Numeric", 'fd.tva'=>"Numeric", 'fd.product_type'=>'Numeric', 'fd.fk_product'=>'List:product:label', 'p.ref'=>'Text', 'p.label'=>'Text', 'project.ref'=>'Text', 'project.title'=>'Text' ); $this->export_entities_array[$r] = array( - 's.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', + 's.rowid'=>"company", 's.nom'=>'company', 'ps.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.idprof5'=>'company', 's.idprof6'=>'company', 's.code_compta'=>'company', 's.code_compta_fournisseur'=>'company', 's.tva_intra'=>'company', 'f.rowid'=>"invoice", 'f.ref'=>"invoice", 'f.ref_supplier'=>"invoice", 'f.datec'=>"invoice", 'f.datef'=>"invoice", 'f.date_lim_reglement'=>'invoice', 'f.total_ht'=>"invoice", 'f.total_ttc'=>"invoice", 'f.total_tva'=>"invoice", 'f.paye'=>"invoice", 'f.fk_statut'=>'invoice', 'f.note_public'=>"invoice", 'fd.rowid'=>'invoice_line', 'fd.description'=>"invoice_line", 'fd.tva_tx'=>"invoice_line", 'fd.qty'=>"invoice_line", @@ -328,84 +327,18 @@ class modFournisseur extends DolibarrModules ); $this->export_dependencies_array[$r] = array('invoice_line'=>'fd.rowid', 'product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them // Add extra fields object - $sql = "SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn' AND entity IN (0, ".$conf->entity.")"; - $resql = $this->db->query($sql); - if ($resql) { // This can fail when class is used on old database (during migration for example) - while ($obj = $this->db->fetch_object($resql)) { - $fieldname = 'extra.'.$obj->name; - $fieldlabel = ucfirst($obj->label); - $typeFilter = "Text"; - switch ($obj->type) { - case 'int': - case 'double': - case 'price': - $typeFilter = "Numeric"; - break; - case 'date': - case 'datetime': - $typeFilter = "Date"; - break; - case 'boolean': - $typeFilter = "Boolean"; - break; - case 'sellist': - $tmp = ''; - $tmpparam = unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null - if ($tmpparam['options'] && is_array($tmpparam['options'])) { - $var = array_keys($tmpparam['options']); - $tmp = array_shift($var); - } - if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) { - $typeFilter = "List:".$tmp; - } - break; - } - $this->export_fields_array[$r][$fieldname] = $fieldlabel; - $this->export_TypeFields_array[$r][$fieldname] = $typeFilter; - $this->export_entities_array[$r][$fieldname] = 'invoice'; - } - } - // End add extra fields - // Add extra fields line - $sql = "SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn_det' AND entity IN (0, ".$conf->entity.")"; - $resql = $this->db->query($sql); - if ($resql) { // This can fail when class is used on old database (during migration for example) - while ($obj = $this->db->fetch_object($resql)) { - $fieldname = 'extraline.'.$obj->name; - $fieldlabel = ucfirst($obj->label); - $typeFilter = "Text"; - switch ($obj->type) { - case 'int': - case 'double': - case 'price': - $typeFilter = "Numeric"; - break; - case 'date': - case 'datetime': - $typeFilter = "Date"; - break; - case 'boolean': - $typeFilter = "Boolean"; - break; - case 'sellist': - $tmp = ''; - $tmpparam = unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null - if ($tmpparam['options'] && is_array($tmpparam['options'])) { - $tmp = array_shift(array_keys($tmpparam['options'])); - } - if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) { - $typeFilter = "List:".$tmp; - } - break; - } - $this->export_fields_array[$r][$fieldname] = $fieldlabel; - $this->export_TypeFields_array[$r][$fieldname] = $typeFilter; - $this->export_entities_array[$r][$fieldname] = 'invoice_line'; - } - } + $keyforselect = 'facture_fourn'; + $keyforelement = 'invoice'; + $keyforaliasextra = 'extra'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + $keyforselect = 'facture_fourn_det'; + $keyforelement = 'invoice_line'; + $keyforaliasextra = 'extraline'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; // End add extra fields line $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as ps ON ps.rowid = s.parent'; if (is_object($user) && empty($user->rights->societe->client->voir)) { $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; } @@ -419,13 +352,13 @@ class modFournisseur extends DolibarrModules $this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_facture_fourn'; $this->export_sql_end[$r] .= ' AND f.entity IN ('.getEntity('supplier_invoice').')'; if (is_object($user) && empty($user->rights->societe->client->voir)) { - $this->export_sql_end[$r] .= ' AND sc.fk_user = '.$user->id; + $this->export_sql_end[$r] .= ' AND sc.fk_user = '.((int) $user->id); } $r++; $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = 'Factures fournisseurs et reglements'; - $this->export_icon[$r] = 'bill'; + $this->export_icon[$r] = 'invoice'; $this->export_permission[$r] = array(array("fournisseur", "facture", "export")); $this->export_fields_array[$r] = array( 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 's.phone'=>'Phone', @@ -464,43 +397,10 @@ class modFournisseur extends DolibarrModules 'p.datep'=>'payment', 'p.num_paiement'=>'payment', 'p.fk_bank'=>'account', 'project.rowid'=>'project', 'project.ref'=>'project', 'project.title'=>'project'); $this->export_dependencies_array[$r] = array('payment'=>'p.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them // Add extra fields object - $sql = "SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn' AND entity IN (0, ".$conf->entity.")"; - $resql = $this->db->query($sql); - if ($resql) { // This can fail when class is used on old database (during migration for example) - while ($obj = $this->db->fetch_object($resql)) { - $fieldname = 'extra.'.$obj->name; - $fieldlabel = ucfirst($obj->label); - $typeFilter = "Text"; - switch ($obj->type) { - case 'int': - case 'double': - case 'price': - $typeFilter = "Numeric"; - break; - case 'date': - case 'datetime': - $typeFilter = "Date"; - break; - case 'boolean': - $typeFilter = "Boolean"; - break; - case 'sellist': - $tmp = ''; - $tmpparam = unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null - if ($tmpparam['options'] && is_array($tmpparam['options'])) { - $array_keys = array_keys($tmpparam['options']); - $tmp = array_shift($array_keys); - } - if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) { - $typeFilter = "List:".$tmp; - } - break; - } - $this->export_fields_array[$r][$fieldname] = $fieldlabel; - $this->export_TypeFields_array[$r][$fieldname] = $typeFilter; - $this->export_entities_array[$r][$fieldname] = 'invoice'; - } - } + $keyforselect = 'facture_fourn'; + $keyforelement = 'invoice'; + $keyforaliasextra = 'extra'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; // End add extra fields object $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s'; @@ -516,7 +416,7 @@ class modFournisseur extends DolibarrModules $this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid'; $this->export_sql_end[$r] .= ' AND f.entity IN ('.getEntity('supplier_invoice').')'; if (is_object($user) && empty($user->rights->societe->client->voir)) { - $this->export_sql_end[$r] .= ' AND sc.fk_user = '.$user->id; + $this->export_sql_end[$r] .= ' AND sc.fk_user = '.((int) $user->id); } // Order @@ -526,11 +426,11 @@ class modFournisseur extends DolibarrModules $this->export_icon[$r] = 'order'; $this->export_permission[$r] = array(array("fournisseur", "commande", "export")); $this->export_fields_array[$r] = array( - 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 's.phone'=>'Phone', + 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 'ps.nom'=>'ParentCompany', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.idprof5'=>'ProfId5', 's.idprof6'=>'ProfId6', 's.tva_intra'=>'VATIntra', 'f.rowid'=>"OrderId", 'f.ref'=>"Ref", 'f.ref_supplier'=>"RefSupplier", 'f.date_creation'=>"DateCreation", 'f.date_commande'=>"OrderDate", 'f.date_livraison'=>"DateDeliveryPlanned", - 'f.total_ht'=>"TotalHT", 'f.total_ttc'=>"TotalTTC", 'f.total_tva'=>"TotalVAT", 'f.fk_statut'=>'Status', 'f.date_approve'=>'DateApprove', 'f.date_approve2'=>'DateApprove2', - 'f.note_public'=>"NotePublic", 'f.note_private'=>"NotePrivate", 'ua1.login'=>'ApprovedBy', 'ua2.login'=>'ApprovedBy2', 'fd.rowid'=>'LineId', 'fd.description'=>"LineDescription", + 'f.total_ht'=>"TotalHT", 'f.total_ttc'=>"TotalTTC", 'f.total_tva'=>"TotalVAT", 'f.fk_statut'=>'Status', 'f.date_valid'=>'DateValidation', 'f.date_approve'=>'DateApprove', 'f.date_approve2'=>'DateApprove2', + 'f.note_public'=>"NotePublic", 'f.note_private'=>"NotePrivate", 'uv.login'=>'UserValidation', 'ua1.login'=>'ApprovedBy', 'ua2.login'=>'ApprovedBy2', 'fd.rowid'=>'LineId', 'fd.description'=>"LineDescription", 'fd.tva_tx'=>"LineVATRate", 'fd.qty'=>"LineQty", 'fd.remise_percent'=>"Discount", 'fd.total_ht'=>"LineTotalHT", 'fd.total_ttc'=>"LineTotalTTC", 'fd.total_tva'=>"LineTotalVAT", 'fd.product_type'=>'TypeOfLineServiceOrProduct', 'fd.ref'=>'RefSupplier', 'fd.fk_product'=>'ProductId', 'p.ref'=>'ProductRef', 'p.label'=>'ProductLabel', 'project.rowid'=>'ProjectId', 'project.ref'=>'ProjectRef', 'project.title'=>'ProjectLabel' @@ -547,108 +447,43 @@ class modFournisseur extends DolibarrModules unset($this->export_fields_array['ua2.login']); } $this->export_TypeFields_array[$r] = array( - 's.rowid'=>"company", 's.nom'=>'Text', 's.address'=>'Text', 's.cp'=>'Text', 's.ville'=>'Text', 'c.code'=>'Text', 's.tel'=>'Text', 's.siren'=>'Text', + 's.rowid'=>"company", 's.nom'=>'Text', 'ps.nom'=>'Text', 's.address'=>'Text', 's.cp'=>'Text', 's.ville'=>'Text', 'c.code'=>'Text', 's.tel'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.idprof5'=>'Text', 's.idprof6'=>'Text', 's.tva_intra'=>'Text', 'f.ref'=>"Text", 'f.ref_supplier'=>"Text", 'f.date_creation'=>"Date", 'f.date_commande'=>"Date", 'f.date_livraison'=>"Date", 'f.total_ht'=>"Numeric", 'f.total_ttc'=>"Numeric", 'f.total_tva'=>"Numeric", - 'f.fk_statut'=>'Status', 'f.date_approve'=>'Date', 'f.date_approve2'=>'Date', 'f.note_public'=>"Text", 'f.note_private'=>"Text", 'fd.description'=>"Text", + 'f.fk_statut'=>'Status', 'f.date_valid'=>'Date', 'f.date_approve'=>'Date', 'f.date_approve2'=>'Date', 'f.note_public'=>"Text", 'f.note_private'=>"Text", 'fd.description'=>"Text", 'fd.tva_tx'=>"Numeric", 'fd.qty'=>"Numeric", 'fd.remise_percent'=>"Numeric", 'fd.total_ht'=>"Numeric", 'fd.total_ttc'=>"Numeric", 'fd.total_tva'=>"Numeric", 'fd.product_type'=>'Numeric', 'fd.ref'=>'Text', 'fd.fk_product'=>'List:product:label', 'p.ref'=>'Text', 'p.label'=>'Text', 'project.ref'=>'Text', 'project.title'=>'Text' ); $this->export_entities_array[$r] = array( - 's.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', - 's.siret'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.idprof5'=>'company', 's.idprof6'=>'company', 's.tva_intra'=>'company', 'ua1.login'=>'user', + 's.rowid'=>"company", 's.nom'=>'company', 'ps.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', + 's.siret'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.idprof5'=>'company', 's.idprof6'=>'company', 's.tva_intra'=>'company', 'uv.login'=>'user', 'ua1.login'=>'user', 'ua2.login'=>'user', 'fd.rowid'=>'order_line', 'fd.description'=>"order_line", 'fd.tva_tx'=>"order_line", 'fd.qty'=>"order_line", 'fd.remise_percent'=>"order_line", 'fd.total_ht'=>"order_line", 'fd.total_ttc'=>"order_line", 'fd.total_tva'=>"order_line", 'fd.product_type'=>'order_line', 'fd.ref'=>'order_line', 'fd.fk_product'=>'product', 'p.ref'=>'product', 'p.label'=>'product', 'project.rowid'=>'project', 'project.ref'=>'project', 'project.title'=>'project' ); $this->export_dependencies_array[$r] = array('order_line'=>'fd.rowid', 'product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them // Add extra fields object - $sql = "SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'commande_fournisseur' AND entity IN (0, ".$conf->entity.")"; - $resql = $this->db->query($sql); - if ($resql) { // This can fail when class is used on old database (during migration for example) - while ($obj = $this->db->fetch_object($resql)) { - $fieldname = 'extra.'.$obj->name; - $fieldlabel = ucfirst($obj->label); - $typeFilter = "Text"; - switch ($obj->type) { - case 'int': - case 'double': - case 'price': - $typeFilter = "Numeric"; - break; - case 'date': - case 'datetime': - $typeFilter = "Date"; - break; - case 'boolean': - $typeFilter = "Boolean"; - break; - case 'sellist': - $tmp = ''; - $tmpparam = unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null - $tmpkey = array_keys($tmpparam['options']); - if ($tmpparam['options'] && is_array($tmpparam['options'])) { - $tmp = array_shift($tmpkey); - } - if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) { - $typeFilter = "List:".$tmp; - } - break; - } - $this->export_fields_array[$r][$fieldname] = $fieldlabel; - $this->export_TypeFields_array[$r][$fieldname] = $typeFilter; - $this->export_entities_array[$r][$fieldname] = 'order'; - } - } + $keyforselect = 'commande_fournisseur'; + $keyforelement = 'order'; + $keyforaliasextra = 'extra'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; // End add extra fields object // Add extra fields line - $sql = "SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'commande_fournisseurdet' AND entity IN (0, ".$conf->entity.")"; - $resql = $this->db->query($sql); - if ($resql) { // This can fail when class is used on old database (during migration for example) - while ($obj = $this->db->fetch_object($resql)) { - $fieldname = 'extraline.'.$obj->name; - $fieldlabel = ucfirst($obj->label); - $typeFilter = "Text"; - switch ($obj->type) { - case 'int': - case 'double': - case 'price': - $typeFilter = "Numeric"; - break; - case 'date': - case 'datetime': - $typeFilter = "Date"; - break; - case 'boolean': - $typeFilter = "Boolean"; - break; - case 'sellist': - $tmp = ''; - $tmpparam = unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null - - if ($tmpparam['options'] && is_array($tmpparam['options'])) { - $tmpparam_param_key = array_keys($tmpparam['options']); - $tmp = array_shift($tmpparam_param_key); - } - if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) { - $typeFilter = "List:".$tmp; - } - break; - } - $this->export_fields_array[$r][$fieldname] = $fieldlabel; - $this->export_TypeFields_array[$r][$fieldname] = $typeFilter; - $this->export_entities_array[$r][$fieldname] = 'order_line'; - } - } + $keyforselect = 'commande_fournisseurdet'; + $keyforelement = 'order_line'; + $keyforaliasextra = 'extraline'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; // End add extra fields line $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as ps ON ps.rowid = s.parent'; if (is_object($user) && empty($user->rights->societe->client->voir)) { $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; } $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid,'; $this->export_sql_end[$r] .= ' '.MAIN_DB_PREFIX.'commande_fournisseur as f'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as project on (f.fk_projet = project.rowid)'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as uv ON uv.rowid = f.fk_user_valid'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as ua1 ON ua1.rowid = f.fk_user_approve'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as ua2 ON ua2.rowid = f.fk_user_approve2'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'commande_fournisseur_extrafields as extra ON f.rowid = extra.fk_object,'; @@ -658,7 +493,7 @@ class modFournisseur extends DolibarrModules $this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_commande'; $this->export_sql_end[$r] .= ' AND f.entity IN ('.getEntity('supplier_order').')'; if (is_object($user) && empty($user->rights->societe->client->voir)) { - $this->export_sql_end[$r] .= ' AND sc.fk_user = '.$user->id; + $this->export_sql_end[$r] .= ' AND sc.fk_user = '.((int) $user->id); } //Import Supplier Invoice @@ -669,10 +504,10 @@ class modFournisseur extends DolibarrModules $this->import_code[$r] = $this->rights_class.'_'.$r; $this->import_label[$r] = "SupplierInvoices"; // Translation key $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; // We define here only fields that use another icon that the one defined into import_icon - $this->import_tables_array[$r] = ['f' => MAIN_DB_PREFIX.'facture_fourn', 'extra' => MAIN_DB_PREFIX.'facture_fourn_extrafields']; - $this->import_tables_creator_array[$r] = ['f' => 'fk_user_author']; // Fields to store import user id - $this->import_fields_array[$r] = [ + $this->import_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon + $this->import_tables_array[$r] = array('f' => MAIN_DB_PREFIX.'facture_fourn', 'extra' => MAIN_DB_PREFIX.'facture_fourn_extrafields'); + $this->import_tables_creator_array[$r] = array('f' => 'fk_user_author'); // Fields to store import user id + $this->import_fields_array[$r] = array( 'f.ref' => 'InvoiceRef*', 'f.ref_supplier' => 'RefSupplier', 'f.type' => 'Type*', @@ -696,7 +531,7 @@ class modFournisseur extends DolibarrModules 'f.fk_mode_reglement' => 'Payment Mode', 'f.model_pdf' => 'Model', 'f.date_valid' => 'Validation Date' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['f.multicurrency_code'] = 'Currency'; $this->import_fields_array[$r]['f.multicurrency_tx'] = 'CurrencyRate'; @@ -705,7 +540,7 @@ class modFournisseur extends DolibarrModules $this->import_fields_array[$r]['f.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC'; } // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); if ($resql) { @@ -717,9 +552,9 @@ class modFournisseur extends DolibarrModules } } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'facture_fourn']; - $this->import_regex_array[$r] = ['f.ref' => '(SI\d{4}-\d{4}|PROV.{1,32}$)', 'f.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency']; - $import_sample = [ + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'facture_fourn'); + $this->import_regex_array[$r] = array('f.ref' => '(SI\d{4}-\d{4}|PROV.{1,32}$)', 'f.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency'); + $import_sample = array( 'f.ref' => '(PROV001)', 'f.ref_supplier' => 'Supplier1', 'f.type' => '0', @@ -748,23 +583,23 @@ class modFournisseur extends DolibarrModules 'f.multicurrency_total_ht' => '1000', 'f.multicurrency_total_tva' => '0', 'f.multicurrency_total_ttc' => '1000' - ]; + ); $this->import_examplevalues_array[$r] = array_merge($import_sample, $import_extrafield_sample); - $this->import_updatekeys_array[$r] = ['f.ref' => 'Ref']; - $this->import_convertvalue_array[$r] = [ + $this->import_updatekeys_array[$r] = array('f.ref' => 'Ref'); + $this->import_convertvalue_array[$r] = array( //'c.ref'=>array('rule'=>'getrefifauto'), - 'f.fk_soc' => ['rule' => 'fetchidfromref', 'file' => '/societe/class/societe.class.php', 'class' => 'Societe', 'method' => 'fetch', 'element' => 'ThirdParty'], - 'f.fk_account' => ['rule' => 'fetchidfromref', 'file' => '/compta/bank/class/account.class.php', 'class' => 'Account', 'method' => 'fetch', 'element' => 'bank_account'], - ]; + 'f.fk_soc' => array('rule' => 'fetchidfromref', 'file' => '/societe/class/societe.class.php', 'class' => 'Societe', 'method' => 'fetch', 'element' => 'ThirdParty'), + 'f.fk_account' => array('rule' => 'fetchidfromref', 'file' => '/compta/bank/class/account.class.php', 'class' => 'Account', 'method' => 'fetch', 'element' => 'bank_account'), + ); //Import Supplier Invoice Lines $r++; $this->import_code[$r] = $this->rights_class.'_'.$r; $this->import_label[$r] = "SupplierInvoiceLines"; // Translation key $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; // We define here only fields that use another icon that the one defined into import_icon - $this->import_tables_array[$r] = ['fd' => MAIN_DB_PREFIX.'facture_fourn_det', 'extra' => MAIN_DB_PREFIX.'facture_fourn_det_extrafields']; - $this->import_fields_array[$r] = [ + $this->import_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon + $this->import_tables_array[$r] = array('fd' => MAIN_DB_PREFIX.'facture_fourn_det', 'extra' => MAIN_DB_PREFIX.'facture_fourn_det_extrafields'); + $this->import_fields_array[$r] = array( 'fd.fk_facture_fourn' => 'InvoiceRef*', 'fd.fk_parent_line' => 'FacParentLine', 'fd.fk_product' => 'IdProduct', @@ -783,7 +618,7 @@ class modFournisseur extends DolibarrModules 'fd.date_start' => 'Start Date', 'fd.date_end' => 'End Date', 'fd.fk_unit' => 'Unit' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['fd.multicurrency_code'] = 'Currency'; $this->import_fields_array[$r]['fd.multicurrency_subprice'] = 'CurrencyRate'; @@ -792,7 +627,7 @@ class modFournisseur extends DolibarrModules $this->import_fields_array[$r]['fd.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC'; } // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn_det' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); if ($resql) { @@ -804,9 +639,9 @@ class modFournisseur extends DolibarrModules } } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'facture_fourn_det']; - $this->import_regex_array[$r] = ['fd.product_type' => '[0|1]$', 'fd.fk_product' => 'rowid@'.MAIN_DB_PREFIX.'product', 'fd.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency']; - $import_sample = [ + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'facture_fourn_det'); + $this->import_regex_array[$r] = array('fd.product_type' => '[0|1]$', 'fd.fk_product' => 'rowid@'.MAIN_DB_PREFIX.'product', 'fd.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency'); + $import_sample = array( 'fd.fk_facture_fourn' => '(PROV001)', 'fd.fk_parent_line' => '', 'fd.fk_product' => '', @@ -830,23 +665,23 @@ class modFournisseur extends DolibarrModules 'fd.multicurrency_total_ht' => '50000', 'fd.multicurrency_total_tva' => '0', 'fd.multicurrency_total_ttc' => '50000' - ]; + ); $this->import_examplevalues_array[$r] = array_merge($import_sample, $import_extrafield_sample); - $this->import_updatekeys_array[$r] = ['fd.rowid' => 'Row Id', 'fd.fk_facture_fourn' => 'Invoice Id', 'fd.fk_product' => 'Product Id']; - $this->import_convertvalue_array[$r] = [ - 'fd.fk_facture_fourn' => ['rule' => 'fetchidfromref', 'file' => '/fourn/class/fournisseur.facture.class.php', 'class' => 'FactureFournisseur', 'method' => 'fetch'], - ]; + $this->import_updatekeys_array[$r] = array('fd.rowid' => 'Row Id', 'fd.fk_facture_fourn' => 'Invoice Id', 'fd.fk_product' => 'Product Id'); + $this->import_convertvalue_array[$r] = array( + 'fd.fk_facture_fourn' => array('rule' => 'fetchidfromref', 'file' => '/fourn/class/fournisseur.facture.class.php', 'class' => 'FactureFournisseur', 'method' => 'fetch'), + ); //Import Purchase Orders $r++; $this->import_code[$r] = 'commande_fournisseur_'.$r; $this->import_label[$r] = 'SuppliersOrders'; $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; - $this->import_tables_array[$r] = ['c' => MAIN_DB_PREFIX.'commande_fournisseur', 'extra' => MAIN_DB_PREFIX.'commande_fournisseur_extrafields']; - $this->import_tables_creator_array[$r] = ['c' => 'fk_user_author']; // Fields to store import user id - $this->import_fields_array[$r] = [ - 'c.ref' => 'Document Ref*', + $this->import_entities_array[$r] = array(); + $this->import_tables_array[$r] = array('c' => MAIN_DB_PREFIX.'commande_fournisseur', 'extra' => MAIN_DB_PREFIX.'commande_fournisseur_extrafields'); + $this->import_tables_creator_array[$r] = array('c' => 'fk_user_author'); // Fields to store import user id + $this->import_fields_array[$r] = array( + 'c.ref' => 'Ref*', 'c.ref_supplier' => 'RefSupplier', 'c.fk_soc' => 'ThirdPartyName*', 'c.fk_projet' => 'ProjectId', @@ -870,7 +705,7 @@ class modFournisseur extends DolibarrModules 'c.fk_cond_reglement' => 'Payment Condition', 'c.fk_mode_reglement' => 'Payment Mode', 'c.model_pdf' => 'Model' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['c.multicurrency_code'] = 'Currency'; @@ -881,7 +716,7 @@ class modFournisseur extends DolibarrModules } // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'commande_fournisseur' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); @@ -895,40 +730,39 @@ class modFournisseur extends DolibarrModules } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'commande_fournisseur']; - $this->import_regex_array[$r] = [ - 'c.ref' => '(PO\d{4}-\d{4}|PORDER.{1,32}$|PROV.{1,32}$)', + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'commande_fournisseur'); + $this->import_regex_array[$r] = array( 'c.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency' - ]; + ); - $this->import_updatekeys_array[$r] = ['c.ref' => 'Ref']; - $this->import_convertvalue_array[$r] = [ - 'c.fk_soc' => [ + $this->import_updatekeys_array[$r] = array('c.ref' => 'Ref'); + $this->import_convertvalue_array[$r] = array( + 'c.fk_soc' => array( 'rule' => 'fetchidfromref', 'file' => '/societe/class/societe.class.php', 'class' => 'Societe', 'method' => 'fetch', 'element' => 'ThirdParty' - ], - 'c.fk_mode_reglement' => [ + ), + 'c.fk_mode_reglement' => array( 'rule' => 'fetchidfromcodeorlabel', 'file' => '/compta/paiement/class/cpaiement.class.php', 'class' => 'Cpaiement', 'method' => 'fetch', 'element' => 'cpayment' - ], - 'c.source' => ['rule' => 'zeroifnull'], - ]; + ), + 'c.source' => array('rule' => 'zeroifnull'), + ); - //Import PO Lines + // Import PO Lines $r++; $this->import_code[$r] = 'commande_fournisseurdet_'.$r; $this->import_label[$r] = 'PurchaseOrderLines'; $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; - $this->import_tables_array[$r] = ['cd' => MAIN_DB_PREFIX.'commande_fournisseurdet', 'extra' => MAIN_DB_PREFIX.'commande_fournisseurdet_extrafields']; - $this->import_fields_array[$r] = [ - 'cd.fk_commande' => 'Document Ref*', + $this->import_entities_array[$r] = array(); + $this->import_tables_array[$r] = array('cd' => MAIN_DB_PREFIX.'commande_fournisseurdet', 'extra' => MAIN_DB_PREFIX.'commande_fournisseurdet_extrafields'); + $this->import_fields_array[$r] = array( + 'cd.fk_commande' => 'PurchaseOrder*', 'cd.fk_parent_line' => 'PrParentLine', 'cd.fk_product' => 'IdProduct', 'cd.label' => 'Label', @@ -948,7 +782,7 @@ class modFournisseur extends DolibarrModules 'cd.special_code' => 'Special Code', 'cd.rang' => 'LinePosition', 'cd.fk_unit' => 'Unit' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['cd.multicurrency_code'] = 'Currency'; @@ -970,24 +804,24 @@ class modFournisseur extends DolibarrModules } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'commande_fournisseurdet']; - $this->import_regex_array[$r] = [ + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'commande_fournisseurdet'); + $this->import_regex_array[$r] = array( 'cd.product_type' => '[0|1]$', 'cd.fk_product' => 'rowid@'.MAIN_DB_PREFIX.'product', 'cd.multicurrency_code' => 'code@'.MAIN_DB_PREFIX.'multicurrency' - ]; - $this->import_updatekeys_array[$r] = ['cd.fk_commande' => 'Purchase Order Id']; - $this->import_convertvalue_array[$r] = [ - 'cd.fk_commande' => [ + ); + $this->import_updatekeys_array[$r] = array('cd.fk_commande' => 'Purchase Order Id'); + $this->import_convertvalue_array[$r] = array( + 'cd.fk_commande' => array( 'rule' => 'fetchidfromref', 'file' => '/fourn/class/fournisseur.commande.class.php', 'class' => 'CommandeFournisseur', 'method' => 'fetch', 'element' => 'order_supplier' - ], - 'cd.info_bits' => ['rule' => 'zeroifnull'], - 'cd.special_code' => ['rule' => 'zeroifnull'], - ]; + ), + 'cd.info_bits' => array('rule' => 'zeroifnull'), + 'cd.special_code' => array('rule' => 'zeroifnull'), + ); } @@ -1022,8 +856,8 @@ class modFournisseur extends DolibarrModules } $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'order_supplier' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','order_supplier',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'order_supplier' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."', 'order_supplier', ".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modHRM.class.php b/htdocs/core/modules/modHRM.class.php index a50b06201a2..d6870244521 100644 --- a/htdocs/core/modules/modHRM.class.php +++ b/htdocs/core/modules/modHRM.class.php @@ -46,82 +46,218 @@ class modHRM extends DolibarrModules $this->module_position = '50'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "Management of employees carrier and feelings (department, employment contract)"; + // Module description, used if translation string 'ModulehrmDesc' not found (hrm is name of module). + $this->description = "hrm Description product "; + // Used only if file README.md and README-LL.md not found. + $this->descriptionlong = "hrm Description long"; - // Possible values for version are: 'development', 'experimental', 'dolibarr' or version - $this->version = 'experimental'; + // Author + $this->editor_name = 'Editor name'; + $this->editor_url = 'https://www.example.com'; + // Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z' + $this->version = '1.0'; + // Url to the file with your last numberversion of this module + //$this->url_last_version = 'http://www.example.com/versionmodule.txt'; + + // Key used in llx_const table to save module status enabled/disabled (where HRMTEST is value of property name of module in uppercase) $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + // Name of image file used for this module. // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module' + // To use a supported fa-xxx css style of font awesome, use this->picto='xxx' $this->picto = 'hrm'; - // define triggers - $this->module_parts = array(); + // Define some features supported by module (triggers, login, substitutions, menus, css, etc...) + $this->module_parts = array( + // Set this to 1 if module has its own trigger directory (core/triggers) + 'triggers' => 0, + // Set this to 1 if module has its own login method file (core/login) + 'login' => 0, + // Set this to 1 if module has its own substitution function file (core/substitutions) + 'substitutions' => 0, + // Set this to 1 if module has its own menus handler directory (core/menus) + 'menus' => 0, + // Set this to 1 if module overwrite template dir (core/tpl) + 'tpl' => 0, + // Set this to 1 if module has its own barcode directory (core/modules/barcode) + 'barcode' => 0, + // Set this to 1 if module has its own models directory (core/modules/xxx) + 'models' => 1, + // Set this to 1 if module has its own printing directory (core/modules/printing) + 'printing' => 0, + // Set this to 1 if module has its own theme directory (theme) + 'theme' => 0, + // Set this to relative path of css file if module has its own css file + 'css' => array( + '/hrm/css/radio_js_number.css', + ), + // Set this to relative path of js file if module must load a js on all pages + 'js' => array( + // '/hrm/js/hrm.js.php', + ), - // Data directories to create when module is enabled - $this->dirs = array(); + // Set this to 1 if features of module are opened to external users + 'moduleforexternal' => 0, + ); - // Config pages - $this->config_page_url = array('admin_hrm.php@hrm'); + // Data directories to create when module is enabled. + // Example: this->dirs = array("/hrm/temp","/hrm/subdir"); + $this->dirs = array("/hrm/temp"); + + // Config pages. Put here list of php page, stored into hrm/admin directory, to use to setup module. + $this->config_page_url = array("hrm.php"); // Dependencies - $this->hidden = false; // A condition to hide module - $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled - $this->requiredby = array(/*"modSalaries, modExpenseReport, modHoliday"*/); // List of module ids to disable if this one is disabled - $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module - $this->need_dolibarr_version = array(3, 9); // Minimum version of Dolibarr required by module + // A condition to hide module + $this->hidden = false; + // List of module class names as string that must be enabled if this module is enabled. Example: array('always1'=>'modModuleToEnable1','always2'=>'modModuleToEnable2', 'FR1'=>'modModuleToEnableFR'...) + $this->depends = array(); + $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) + $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) + + // The language file dedicated to your module $this->langfiles = array("hrm"); + // Prerequisites + $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module + + // Messages at activation + $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) + $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) + //$this->automatic_activation = array('FR'=>'HrmTestWasAutomaticallyActivatedBecauseOfYourCountryChoice'); + //$this->always_enabled = true; // If true, can't be disabled + + // Constants + // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive) + // Example: $this->const=array(1 => array('HRMTEST_MYNEWCONST1', 'chaine', 'myvalue', 'This is a constant to add', 1), + // 2 => array('HRMTEST_MYNEWCONST2', 'chaine', 'myvalue', 'This is another constant to add', 0, 'current', 1) + // ); + $this->const = array(); + + + if (!isset($conf->hrm) || !isset($conf->hrm->enabled)) { + $conf->hrm = new stdClass(); + $conf->hrm->enabled = 0; + } + + // Array to add new pages in new tabs + $this->tabs = array(); + $this->tabs[] = array('data'=>'user:+skill_tab:Skills:hrm:1:/hrm/skill_tab.php?id=__ID__&objecttype=user'); // To add a new tab identified by code tabname1 + //$this->tabs[] = array('data'=>'job:+tabname1:Poste:mylangfile@hrm:1:/hrm/poste_list.php?fk_job=__ID__'); // To add a new tab identified by code tabname1 + // Example: + // $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:mylangfile@hrm:$user->rights->hrm->read:/hrm/mynewtab1.php?id=__ID__'); // To add a new tab identified by code tabname1 + // $this->tabs[] = array('data'=>'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@hrm:$user->rights->othermodule->read:/hrm/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key. + // $this->tabs[] = array('data'=>'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname + // + // Where objecttype can be + // 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member) + // 'contact' to add a tab in contact view + // 'contract' to add a tab in contract view + // 'group' to add a tab in group view + // 'intervention' to add a tab in intervention view + // 'invoice' to add a tab in customer invoice view + // 'invoice_supplier' to add a tab in supplier invoice view + // 'member' to add a tab in fundation member view + // 'opensurveypoll' to add a tab in opensurvey poll view + // 'order' to add a tab in customer order view + // 'order_supplier' to add a tab in supplier order view + // 'payment' to add a tab in payment view + // 'payment_supplier' to add a tab in supplier payment view + // 'product' to add a tab in product view + // 'propal' to add a tab in propal view + // 'project' to add a tab in project view + // 'stock' to add a tab in stock view + // 'thirdparty' to add a tab in third party view + // 'user' to add a tab in user view + + // Dictionaries $this->dictionaries = array(); - // Constantes - $this->const = array(); + // Boxes/Widgets + // Add here list of php file(s) stored in hrm/core/boxes that contains a class to show a widget. + $this->boxes = array( + // 0 => array( + // 'file' => 'hrmwidget1.php@hrm', + // 'note' => 'Widget provided by HrmTest', + // 'enabledbydefaulton' => 'Home', + // ), + // ... + ); + + // Cronjobs (List of cron jobs entries to add when module is enabled) + // unit_frequency must be 60 for minute, 3600 for hour, 86400 for day, 604800 for week + $this->cronjobs = array( + // 0 => array( + // 'label' => 'MyJob label', + // 'jobtype' => 'method', + // 'class' => '/hrm/class/poste.class.php', + // 'objectname' => 'Poste', + // 'method' => 'doScheduledJob', + // 'parameters' => '', + // 'comment' => 'Comment', + // 'frequency' => 2, + // 'unitfrequency' => 3600, + // 'status' => 0, + // 'test' => '$conf->hrm->enabled', + // 'priority' => 50, + // ), + ); + + // Permissions provided by this module + $this->rights = array(); $r = 0; + // Add here entries to declare new permissions + /* BEGIN MODULEBUILDER PERMISSIONS */ - // Boxes - $this->boxes = array(); - - // Permissions - $this->rights = array(); // Permission array used by this module - $r = 0; - - /* - $this->rights[$r][0] = 4001; - $this->rights[$r][1] = 'See employees'; - $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'employee'; - $this->rights[$r][5] = 'read'; + // Skill / Job / Position + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('ReadSkillJobPosition'); // Permission label + $this->rights[$r][4] = 'all'; + $this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read) + $r++; + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('CreateUpdateSkillJobPosition'); // Permission label + $this->rights[$r][4] = 'all'; + $this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write) + $r++; + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('DeleteSkillJobPosition'); // Permission label + $this->rights[$r][4] = 'all'; + $this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete) $r++; - $this->rights[$r][0] = 4002; - $this->rights[$r][1] = 'Create employees'; - $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'employee'; - $this->rights[$r][5] = 'write'; + //Eval + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('ReadEval'); // Permission label + $this->rights[$r][4] = 'evaluation'; + $this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->read) + $r++; + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('CreateUpdateEval'); // Permission label + $this->rights[$r][4] = 'evaluation'; + $this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write) + $r++; + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('ValidateEval'); // Permission label + $this->rights[$r][4] = 'evaluation'; + $this->rights[$r][5] = 'validate'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->write) + $r++; + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('DeleteEval'); // Permission label + $this->rights[$r][4] = 'evaluation'; + $this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete) $r++; - $this->rights[$r][0] = 4003; - $this->rights[$r][1] = 'Delete employees'; - $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'employee'; - $this->rights[$r][5] = 'delete'; + // Comparison + $this->rights[$r][0] = $this->numero . sprintf("%02d", $r + 1); // Permission id (must not be already used) + $this->rights[$r][1] = $langs->trans('SeeComparisonMenu'); // Permission label + $this->rights[$r][4] = 'compare'; + $this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->hrm->poste->delete) $r++; - - $this->rights[$r][0] = 4004; - $this->rights[$r][1] = 'Export employees'; - $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'employee'; - $this->rights[$r][5] = 'export'; - $r++; - */ - - // Menus - //------- - $this->menu = 1; // This module add menu entries. They are coded into menu manager. } /** @@ -138,6 +274,11 @@ class modHRM extends DolibarrModules // Permissions $this->remove($options); + /*$result = $this->_load_tables('/hrm/sql/'); + if ($result < 0) { + return -1; // Do not activate module if error 'not allowed' returned when loading module SQL queries (the _load_table run sql with run_sql with the error allowed parameter set to 'default') + }*/ + $sql = array(); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modHoliday.class.php b/htdocs/core/modules/modHoliday.class.php index 23cbf7eddf8..63c76e24548 100644 --- a/htdocs/core/modules/modHoliday.class.php +++ b/htdocs/core/modules/modHoliday.class.php @@ -135,6 +135,28 @@ class modHoliday extends DolibarrModules //$r++; + // Cronjobs + $arraydate = dol_getdate(dol_now()); + $datestart = dol_mktime(4, 0, 0, $arraydate['mon'], $arraydate['mday'], $arraydate['year']); + $this->cronjobs = array( + 0 => array( + 'label' => 'HolidayBalanceMonthlyUpdate', + 'jobtype' => 'method', + 'class' => 'holiday/class/holiday.class.php', + 'objectname' => 'Holiday', + 'method' => 'updateBalance', + 'parameters' => '', + 'comment' => 'Update holiday balance every month', + 'frequency' => 1, + 'unitfrequency' => 3600 * 24, + 'priority' => 50, + 'status' => 1, + 'test' => '$conf->holiday->enabled', + 'datestart' => $datestart + ) + ); + + // Permissions $this->rights = array(); // Permission array used by this module $r = 0; @@ -204,14 +226,18 @@ class modHoliday extends DolibarrModules $this->export_permission[$r] = array(array("holiday", "readall")); $this->export_fields_array[$r] = array( 'd.rowid'=>"LeaveId", 'd.fk_type'=>'TypeOfLeaveId', 't.code'=>'TypeOfLeaveCode', 't.label'=>'TypeOfLeaveLabel', 'd.fk_user'=>'UserID', - 'u.lastname'=>'Lastname', 'u.firstname'=>'Firstname', 'u.login'=>"Login", 'd.date_debut'=>'DateStart', 'd.date_fin'=>'DateEnd', 'd.halfday'=>'HalfDay', 'none.num_open_days'=>'NbUseDaysCP', - 'd.date_valid'=>'DateApprove', 'd.fk_validator'=>"UserForApprovalID", 'ua.lastname'=>"UserForApprovalLastname", 'ua.firstname'=>"UserForApprovalFirstname", + 'd.date_debut'=>'DateStart', 'd.date_fin'=>'DateEnd', 'd.halfday'=>'HalfDay', 'none.num_open_days'=>'NbUseDaysCP', + 'd.date_valid'=>'DateApprove', 'd.fk_validator'=>"UserForApprovalID", + 'u.lastname'=>'Lastname', 'u.firstname'=>'Firstname', 'u.login'=>"Login", + 'ua.lastname'=>"UserForApprovalLastname", 'ua.firstname'=>"UserForApprovalFirstname", 'ua.login'=>"UserForApprovalLogin", 'd.description'=>'Description', 'd.statut'=>'Status' ); $this->export_TypeFields_array[$r] = array( 'd.rowid'=>"Numeric", 't.code'=>'Text', 't.label'=>'Text', 'd.fk_user'=>'Numeric', - 'u.lastname'=>'Text', 'u.firstname'=>'Text', 'u.login'=>"Text", 'd.date_debut'=>'Date', 'd.date_fin'=>'Date', 'none.num_open_days'=>'NumericCompute', - 'd.date_valid'=>'Date', 'd.fk_validator'=>"Numeric", 'ua.lastname'=>"Text", 'ua.firstname'=>"Text", + 'd.date_debut'=>'Date', 'd.date_fin'=>'Date', 'none.num_open_days'=>'NumericCompute', + 'd.date_valid'=>'Date', 'd.fk_validator'=>"Numeric", + 'u.lastname'=>'Text', 'u.firstname'=>'Text', 'u.login'=>"Text", + 'ua.lastname'=>"Text", 'ua.firstname'=>"Text", 'ua.login'=>"Text", 'd.description'=>'Text', 'd.statut'=>'Numeric' ); $this->export_entities_array[$r] = array( @@ -225,6 +251,8 @@ class modHoliday extends DolibarrModules $keyforelement = 'holiday'; $keyforaliasextra = 'extra'; include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; + $keyforselect = 'user'; $keyforelement = 'user'; $keyforaliasextra = 'extrau'; + include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'holiday as d'; @@ -232,6 +260,7 @@ class modHoliday extends DolibarrModules $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_holiday_types as t ON t.rowid = d.fk_type'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as ua ON ua.rowid = d.fk_validator,'; $this->export_sql_end[$r] .= ' '.MAIN_DB_PREFIX.'user as u'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'user_extrafields as extrau ON u.rowid = extrau.fk_object'; $this->export_sql_end[$r] .= ' WHERE d.fk_user = u.rowid'; $this->export_sql_end[$r] .= ' AND d.entity IN ('.getEntity('holiday').')'; @@ -307,8 +336,8 @@ class modHoliday extends DolibarrModules */ $sql = array( - // "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'holiday' AND entity = ".$conf->entity, - // "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','holiday',".$conf->entity.")" + // "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'holiday' AND entity = ".((int) $conf->entity), + // "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','holiday',".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modKnowledgeManagement.class.php b/htdocs/core/modules/modKnowledgeManagement.class.php index 504c363b648..afd20a94a04 100644 --- a/htdocs/core/modules/modKnowledgeManagement.class.php +++ b/htdocs/core/modules/modKnowledgeManagement.class.php @@ -68,7 +68,7 @@ class modKnowledgeManagement extends DolibarrModules $this->descriptionlong = "Manage a Knowledge Management (KM) or Help-Desk base"; // Possible values for version are: 'development', 'experimental', 'dolibarr', 'dolibarr_deprecated' or a version string like 'x.y.z' - $this->version = 'development'; + $this->version = 'experimental'; // Url to the file with your last numberversion of this module //$this->url_last_version = 'http://www.example.com/versionmodule.txt'; @@ -261,17 +261,17 @@ class modKnowledgeManagement extends DolibarrModules // Add here entries to declare new permissions /* BEGIN MODULEBUILDER PERMISSIONS */ $this->rights[$r][0] = $this->numero + $r + 1; // Permission id (must not be already used) - $this->rights[$r][1] = 'Read objects of Knowledge Management'; // Permission label + $this->rights[$r][1] = 'Read articles'; // Permission label $this->rights[$r][4] = 'knowledgerecord'; // In php code, permission will be checked by test if ($user->rights->knowledgemanagement->level1->level2) $this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->knowledgemanagement->level1->level2) $r++; $this->rights[$r][0] = $this->numero + $r + 1; // Permission id (must not be already used) - $this->rights[$r][1] = 'Create/Update objects of Knowledge Management'; // Permission label + $this->rights[$r][1] = 'Create/Update articles'; // Permission label $this->rights[$r][4] = 'knowledgerecord'; // In php code, permission will be checked by test if ($user->rights->knowledgemanagement->level1->level2) $this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->knowledgemanagement->level1->level2) $r++; $this->rights[$r][0] = $this->numero + $r + 1; // Permission id (must not be already used) - $this->rights[$r][1] = 'Delete objects of Knowledge Management'; // Permission label + $this->rights[$r][1] = 'Delete articles'; // Permission label $this->rights[$r][4] = 'knowledgerecord'; // In php code, permission will be checked by test if ($user->rights->knowledgemanagement->level1->level2) $this->rights[$r][5] = 'delete'; // In php code, permission will be checked by test if ($user->rights->knowledgemanagement->level1->level2) $r++; @@ -282,6 +282,7 @@ class modKnowledgeManagement extends DolibarrModules $r = 0; // Add here entries to declare new menus /* BEGIN MODULEBUILDER TOPMENU */ + /* $this->menu[$r++] = array( 'fk_menu'=>'', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode 'type'=>'top', // This is a Top menu entry @@ -297,60 +298,17 @@ class modKnowledgeManagement extends DolibarrModules 'target'=>'', 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both ); - /* END MODULEBUILDER TOPMENU */ - /* BEGIN MODULEBUILDER LEFTMENU KNOWLEDGERECORD - $this->menu[$r++]=array( - 'fk_menu'=>'fk_mainmenu=knowledgemanagement', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'left', // This is a Top menu entry - 'titre'=>'KnowledgeRecord', - 'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth"'), - 'mainmenu'=>'knowledgemanagement', - 'leftmenu'=>'knowledgerecord', - 'url'=>'/knowledgemanagement/knowledgemanagementindex.php', - 'langs'=>'knowledgemanagement@knowledgemanagement', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000+$r, - 'enabled'=>'$conf->knowledgemanagement->enabled', // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->knowledgemanagement->knowledgerecord->read', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); - $this->menu[$r++]=array( - 'fk_menu'=>'fk_mainmenu=knowledgemanagement,fk_leftmenu=knowledgerecord', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'left', // This is a Left menu entry - 'titre'=>'List_KnowledgeRecord', - 'mainmenu'=>'knowledgemanagement', - 'leftmenu'=>'knowledgemanagement_knowledgerecord_list', - 'url'=>'/knowledgemanagement/knowledgerecord_list.php', - 'langs'=>'knowledgemanagement@knowledgemanagement', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000+$r, - 'enabled'=>'$conf->knowledgemanagement->enabled', // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. - 'perms'=>'$user->rights->knowledgemanagement->knowledgerecord->read', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); - $this->menu[$r++]=array( - 'fk_menu'=>'fk_mainmenu=knowledgemanagement,fk_leftmenu=knowledgerecord', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'type'=>'left', // This is a Left menu entry - 'titre'=>'New_KnowledgeRecord', - 'mainmenu'=>'knowledgemanagement', - 'leftmenu'=>'knowledgemanagement_knowledgerecord_new', - 'url'=>'/knowledgemanagement/knowledgerecord_card.php?action=create', - 'langs'=>'knowledgemanagement@knowledgemanagement', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>1000+$r, - 'enabled'=>'$conf->knowledgemanagement->enabled', // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. - 'perms'=>'$user->rights->knowledgemanagement->knowledgerecord->write', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both - ); */ + /* END MODULEBUILDER TOPMENU */ $this->menu[$r++]=array( // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'fk_menu'=>'fk_mainmenu=knowledgemanagement', + 'fk_menu'=>'fk_mainmenu=ticket', // This is a Left menu entry 'type'=>'left', 'titre'=>'MenuKnowledgeRecord', - 'mainmenu'=>'knowledgemanagement', + 'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth em092"'), + 'mainmenu'=>'ticket', 'leftmenu'=>'knowledgemanagement_knowledgerecord', 'url'=>'/knowledgemanagement/knowledgerecord_list.php', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. @@ -359,18 +317,18 @@ class modKnowledgeManagement extends DolibarrModules // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled'=>'$conf->knowledgemanagement->enabled', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'perms'=>'1', + 'perms'=>'$user->rights->knowledgemanagement->knowledgerecord->read', 'target'=>'', // 0=Menu for internal users, 1=external users, 2=both 'user'=>2, ); $this->menu[$r++]=array( // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'fk_menu'=>'fk_mainmenu=knowledgemanagement,fk_leftmenu=knowledgemanagement_knowledgerecord', + 'fk_menu'=>'fk_mainmenu=ticket,fk_leftmenu=knowledgemanagement_knowledgerecord', // This is a Left menu entry 'type'=>'left', 'titre'=>'ListKnowledgeRecord', - 'mainmenu'=>'knowledgemanagement', + 'mainmenu'=>'ticket', 'leftmenu'=>'knowledgemanagement_list', 'url'=>'/knowledgemanagement/knowledgerecord_list.php', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. @@ -379,18 +337,18 @@ class modKnowledgeManagement extends DolibarrModules // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled'=>'$conf->knowledgemanagement->enabled', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'perms'=>'1', + 'perms'=>'$user->rights->knowledgemanagement->knowledgerecord->read', 'target'=>'', // 0=Menu for internal users, 1=external users, 2=both 'user'=>2, ); $this->menu[$r++]=array( // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode - 'fk_menu'=>'fk_mainmenu=knowledgemanagement,fk_leftmenu=knowledgemanagement_knowledgerecord', + 'fk_menu'=>'fk_mainmenu=ticket,fk_leftmenu=knowledgemanagement_knowledgerecord', // This is a Left menu entry 'type'=>'left', 'titre'=>'NewKnowledgeRecord', - 'mainmenu'=>'knowledgemanagement', + 'mainmenu'=>'ticket', 'leftmenu'=>'knowledgemanagement_new', 'url'=>'/knowledgemanagement/knowledgerecord_card.php?action=create', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. @@ -399,13 +357,27 @@ class modKnowledgeManagement extends DolibarrModules // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled'=>'$conf->knowledgemanagement->enabled', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'perms'=>'1', + 'perms'=>'$user->rights->knowledgemanagement->knowledgerecord->write', 'target'=>'', // 0=Menu for internal users, 1=external users, 2=both 'user'=>2 ); + $this->menu[$r++] = array( + 'fk_menu' => 'fk_mainmenu=ticket,fk_leftmenu=knowledgemanagement_knowledgerecord', + 'type' => 'left', + 'titre' => 'Categories', + 'mainmenu' => 'ticket', + 'url' => '/categories/index.php?type=13', + 'langs' => 'knowledgemanagement', + 'position' => 112, + 'enabled' => '$conf->knowledgemanagement->enabled', + 'perms' => '$user->rights->knowledgemanagement->knowledgerecord->read', + 'target' => '', + 'user' => 0 + ); /* END MODULEBUILDER LEFTMENU KNOWLEDGERECORD */ + // Exports profiles provided by this module $r = 1; /* BEGIN MODULEBUILDER EXPORT KNOWLEDGERECORD */ @@ -515,10 +487,10 @@ class modKnowledgeManagement extends DolibarrModules } $sql = array_merge($sql, array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".((int) $conf->entity).")" )); } } diff --git a/htdocs/core/modules/modMailing.class.php b/htdocs/core/modules/modMailing.class.php index ad14724d154..dfd292aa847 100644 --- a/htdocs/core/modules/modMailing.class.php +++ b/htdocs/core/modules/modMailing.class.php @@ -79,7 +79,7 @@ class modMailing extends DolibarrModules $this->const[$r][0] = "MAILING_CONTACT_DEFAULT_BULK_STATUS"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "0"; - $this->const[$r][3] = 'Default black list mailing'; + $this->const[$r][3] = 'Default value for field "Refuse bulk email" when creating a contact'; $this->const[$r][4] = 0; $r++; diff --git a/htdocs/core/modules/modMrp.class.php b/htdocs/core/modules/modMrp.class.php index eb3baae78cd..ac300fc26e3 100644 --- a/htdocs/core/modules/modMrp.class.php +++ b/htdocs/core/modules/modMrp.class.php @@ -263,31 +263,78 @@ class modMrp extends DolibarrModules /* BEGIN MODULEBUILDER TOPMENU */ /* END MODULEBUILDER LEFTMENU MO */ + $langs->loadLangs(array("mrp", "stocks")); + // Exports profiles provided by this module $r = 1; - /* BEGIN MODULEBUILDER EXPORT MO */ - /* - $langs->load("mrp"); + $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]='MoLines'; // Translation key (used only if key ExportDataset_xxx_z not found) - $this->export_icon[$r]='mo@mrp'; - $keyforclass = 'Mo'; $keyforclassfile='/mymobule/class/mo.class.php'; $keyforelement='mo'; - include DOL_DOCUMENT_ROOT.'/core/commonfieldsinexport.inc.php'; - $keyforselect='mo'; $keyforaliasextra='extra'; $keyforelement='mo'; + $this->export_label[$r]='MOs'; // Translation key (used only if key ExportDataset_xxx_z not found) + $this->export_icon[$r]='mrp'; + $this->export_fields_array[$r] = array( + 'm.rowid'=>"Id", + 'm.ref'=>"Ref", + 'm.label'=>"Label", + 'm.fk_project'=>'Project', + 'm.fk_bom'=>"Bom", + 'm.date_start_planned'=>"DateStartPlanned", + 'm.date_end_planned'=>"DateEndPlanned", + 'm.fk_product'=>"Product", + 'm.status'=>'Status', + 'm.model_pdf'=>'Model', + 'm.fk_user_valid'=>'ValidatedById', + 'm.fk_user_modif'=>'ModifiedById', + 'm.fk_user_creat'=>'CreatedById', + 'm.date_valid'=>'DateValidation', + 'm.note_private'=>'NotePrivate', + 'm.note_public'=>'Note', + 'm.fk_soc'=>'Tiers', + 'e.rowid'=>'WarehouseId', + 'e.ref'=>'WarehouseRef', + 'm.qty'=>'Qty', + 'm.date_creation'=>'DateCreation', + 'm.tms'=>'DateModification' + ); + $keyforselect = 'mrp_mo'; + $keyforelement = 'mrp_mo'; + $keyforaliasextra = 'extra'; include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; - //$this->export_dependencies_array[$r]=array('mysubobject'=>'ts.rowid', 't.myfield'=>array('t.myfield2','t.myfield3')); // To force to activate one or several fields if we select some fields that need same (like to select a unique key if we ask a field of a child to avoid the DISTINCT to discard them, or for computed field than need several other fields) - $this->export_sql_start[$r]='SELECT DISTINCT '; - $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'mo as t'; - $this->export_sql_end[$r] .=' WHERE 1 = 1'; - $this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('mo').')'; - $r++; */ - /* END MODULEBUILDER EXPORT MO */ + $this->export_TypeFields_array[$r] = array( + 'm.ref'=>"Text", + 'm.label'=>"Text", + 'm.fk_project'=>'Numeric', + 'm.fk_bom'=>"Numeric", + 'm.date_end_planned'=>"Date", + 'm.date_start_planned'=>"Date", + 'm.fk_product'=>"Numeric", + 'm.status'=>'Numeric', + 'm.model_pdf'=>'Text', + 'm.fk_user_valid'=>'Numeric', + 'm.fk_user_modif'=>'Numeric', + 'm.fk_user_creat'=>'Numeric', + 'm.date_valid'=>'Date', + 'm.note_private'=>'Text', + 'm.note_public'=>'Text', + 'm.fk_soc'=>'Numeric', + 'e.fk_warehouse'=>'Numeric', + 'e.ref'=>'Text', + 'm.qty'=>'Numeric', + 'm.date_creation'=>'Date', + 'm.tms'=>'Date' + + ); + $this->export_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon + $this->export_sql_start[$r] = 'SELECT DISTINCT '; + $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'mrp_mo as m'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'mrp_mo_extrafields as extra ON m.rowid = extra.fk_object'; + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'entrepot as e ON e.rowid = m.fk_warehouse'; + $this->export_sql_end[$r] .= ' WHERE m.entity IN ('.getEntity('mrp_mo').')'; // For product and service profile // Imports profiles provided by this module - $r = 1; + $r = 0; + $langs->load("mrp"); /* BEGIN MODULEBUILDER IMPORT MO */ /* - $langs->load("mrp"); $this->export_code[$r]=$this->rights_class.'_'.$r; $this->export_label[$r]='MoLines'; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_icon[$r]='mo@mrp'; @@ -302,6 +349,89 @@ class modMrp extends DolibarrModules $this->export_sql_end[$r] .=' AND t.entity IN ('.getEntity('mo').')'; $r++; */ /* END MODULEBUILDER IMPORT MO */ + $r++; + $this->import_code[$r]=$this->rights_class.'_'.$r; + $this->import_label[$r]='MOs'; // Translation key (used only if key ExportDataset_xxx_z not found) + $this->import_icon[$r]='mrp'; + $this->import_entities_array[$r] = array(); // We define here only fields that use a different icon from the one defined in import_icon + $this->import_tables_array[$r] = array('m'=>MAIN_DB_PREFIX.'mrp_mo', 'extra'=>MAIN_DB_PREFIX.'mrp_mo_extrafields'); + $this->import_tables_creator_array[$r] = array('m'=>'fk_user_creat'); // Fields to store import user id + $this->import_fields_array[$r] = array( + 'm.ref' => "Ref*", + 'm.label' => "Label*", + 'm.fk_project'=>'Project', + 'm.fk_bom'=>"Bom", + 'm.date_start_planned'=>"DateStartPlanned", + 'm.date_end_planned'=>"DateEndPlanned", + 'm.fk_product'=>"Product*", + 'm.status'=>'Status', + 'm.model_pdf'=>'Model', + 'm.fk_user_valid'=>'ValidatedById', + 'm.fk_user_modif'=>'ModifiedById', + 'm.fk_user_creat'=>'CreatedById', + 'm.date_valid'=>'DateValid', + 'm.note_private'=>'NotePrivate', + 'm.note_public'=>'Note', + 'm.fk_soc'=>'Tiers', + 'm.fk_warehouse'=>'Warehouse', + 'm.qty'=>'Qty*', + 'm.date_creation'=>'DateCreation', + 'm.tms'=>'DateModification', + ); + $import_sample = array(); + + // Add extra fields + $import_extrafield_sample = array(); + $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'mrp_mo' AND entity IN (0, ".$conf->entity.")"; + $resql = $this->db->query($sql); + + if ($resql) { + while ($obj = $this->db->fetch_object($resql)) { + $fieldname = 'extra.'.$obj->name; + $fieldlabel = ucfirst($obj->label); + $this->import_fields_array[$r][$fieldname] = $fieldlabel.($obj->fieldrequired ? '*' : ''); + $import_extrafield_sample[$fieldname] = $fieldlabel; + } + } + // End add extra fields + + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'mrp_mo'); + /*$this->import_regex_array[$r] = array( + 'm.ref' => '' + );*/ + + $this->import_examplevalues_array[$r] = array_merge($import_sample, $import_extrafield_sample); + $this->import_updatekeys_array[$r] = array('m.ref' => 'Ref'); + $this->import_convertvalue_array[$r] = array( + 'm.fk_product' => array( + 'rule' => 'fetchidfromref', + 'file' => '/product/class/product.class.php', + 'class' => 'Product', + 'method' => 'fetch', + 'element' => 'Product' + ), + 'm.fk_warehouse' => array( + 'rule' => 'fetchidfromref', + 'file' => '/product/stock/class/entrepot.class.php', + 'class' => 'Entrepot', + 'method' => 'fetch', + 'element' => 'Warehouse' + ), + 'm.fk_user_valid' => array( + 'rule' => 'fetchidfromref', + 'file' => '/user/class/user.class.php', + 'class' => 'User', + 'method' => 'fetch', + 'element' => 'user' + ), + 'm.fk_user_modif' => array( + 'rule' => 'fetchidfromref', + 'file' => '/user/class/user.class.php', + 'class' => 'User', + 'method' => 'fetch', + 'element' => 'user' + ), + ); } /** @@ -352,8 +482,8 @@ class modMrp extends DolibarrModules } $sql = array( - //"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape('standard')."' AND type = 'mo' AND entity = ".$conf->entity, - //"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape('standard')."', 'mo', ".$conf->entity.")" + //"DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape('standard')."' AND type = 'mo' AND entity = ".((int) $conf->entity), + //"INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape('standard')."', 'mo', ".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modMultiCurrency.class.php b/htdocs/core/modules/modMultiCurrency.class.php index 5bf91ec341e..e89a2a4fe3e 100644 --- a/htdocs/core/modules/modMultiCurrency.class.php +++ b/htdocs/core/modules/modMultiCurrency.class.php @@ -300,10 +300,11 @@ class modMultiCurrency extends DolibarrModules { global $conf, $user, $langs; - if (!MultiCurrency::checkCodeAlreadyExists($conf->currency)) { + $multicurrency = new MultiCurrency($this->db); + + if (! $multicurrency->checkCodeAlreadyExists($conf->currency)) { $langs->loadCacheCurrencies(''); - $multicurrency = new MultiCurrency($this->db); $multicurrency->code = $conf->currency; $multicurrency->name = $langs->cache_currencies[$conf->currency]['label'].' ('.$langs->getCurrencySymbol($conf->currency).')'; $r = $multicurrency->create($user); diff --git a/htdocs/core/modules/modPartnership.class.php b/htdocs/core/modules/modPartnership.class.php index d7041eca754..a036613fcec 100644 --- a/htdocs/core/modules/modPartnership.class.php +++ b/htdocs/core/modules/modPartnership.class.php @@ -453,10 +453,10 @@ class modPartnership extends DolibarrModules } $sql = array_merge($sql, array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".((int) $conf->entity).")" )); } } diff --git a/htdocs/core/modules/modPrelevement.class.php b/htdocs/core/modules/modPrelevement.class.php index 8d68b372e91..a42d3c8b5a0 100644 --- a/htdocs/core/modules/modPrelevement.class.php +++ b/htdocs/core/modules/modPrelevement.class.php @@ -145,8 +145,8 @@ class modPrelevement extends DolibarrModules $this->remove($options); $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'bankaccount' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','bankaccount',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'bankaccount' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','bankaccount',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index 3459973a699..3caf5db88c6 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -322,7 +322,7 @@ class modProduct extends DolibarrModules $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = "ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_permission[$r] = array(array("produit", "export")); - $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", + $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", 'p.label'=>"Label", 'pr.price_base_type'=>"PriceBase", 'pr.price_level'=>"PriceLevel", 'pr.price'=>"PriceLevelUnitPriceHT", 'pr.price_ttc'=>"PriceLevelUnitPriceTTC", 'pr.price_min'=>"MinPriceLevelUnitPriceHT", 'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC", @@ -337,7 +337,7 @@ class modProduct extends DolibarrModules // 'p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean", // 'p.datec'=>'Date','p.tms'=>'Date' //); - $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", + $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", 'p.label'=>"Label", 'pr.price_base_type'=>"product", 'pr.price_level'=>"product", 'pr.price'=>"product", 'pr.price_ttc'=>"product", 'pr.price_min'=>"product", 'pr.price_min_ttc'=>"product", @@ -348,6 +348,8 @@ class modProduct extends DolibarrModules $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'product as p'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity $this->export_sql_end[$r] .= ' WHERE p.entity IN ('.getEntity('product').')'; // For product and service profile + $this->export_sql_end[$r] .= ' AND pr.date_price = (SELECT MAX(pr2.date_price) FROM '.MAIN_DB_PREFIX.'product_price as pr2 WHERE pr2.fk_product = pr.fk_product AND pr2.entity IN ('.getEntity('product').'))'; // export only latest prices not full history + $this->export_sql_end[$r] .= ' ORDER BY p.ref, pr.price_level'; } if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { @@ -356,7 +358,7 @@ class modProduct extends DolibarrModules $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = "ProductsPricePerCustomer"; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_permission[$r] = array(array("produit", "export")); - $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", + $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", 'p.label'=>"Label", 's.nom'=>'ThirdParty', 'pr.price_base_type'=>"PriceBase", 'pr.price'=>"PriceUnitPriceHT", 'pr.price_ttc'=>"PriceUnitPriceTTC", @@ -367,7 +369,7 @@ class modProduct extends DolibarrModules if (is_object($mysoc) && $usenpr) { $this->export_fields_array[$r]['pr.recuperableonly'] = 'NPR'; } - $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", + $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", 'p.label'=>"Label", 's.nom'=>'company', 'pr.price_base_type'=>"product", 'pr.price'=>"product", 'pr.price_ttc'=>"product", @@ -572,7 +574,13 @@ class modProduct extends DolibarrModules 'class' => 'CProductNature', 'method' => 'fetch', 'dict' => 'DictionaryProductNature' - ), + ), + 'p.accountancy_code_sell'=>array('rule'=>'accountingaccount'), + 'p.accountancy_code_sell_intra'=>array('rule'=>'accountingaccount'), + 'p.accountancy_code_sell_export'=>array('rule'=>'accountingaccount'), + 'p.accountancy_code_buy'=>array('rule'=>'accountingaccount'), + 'p.accountancy_code_buy_intra'=>array('rule'=>'accountingaccount'), + 'p.accountancy_code_buy_export'=>array('rule'=>'accountingaccount'), ); $this->import_regex_array[$r] = array( diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 79529898bb0..4b508d79d7c 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -84,14 +84,14 @@ class modProductBatch extends DolibarrModules $this->const[$r][0] = "PRODUCTBATCH_LOT_ADDON"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "mod_lot_free"; - $this->const[$r][3] = 'Module to control product codes'; + $this->const[$r][3] = 'Module to control lot number'; $this->const[$r][4] = 0; $r++; $this->const[$r][0] = "PRODUCTBATCH_SN_ADDON"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "mod_sn_free"; - $this->const[$r][3] = 'Module to control product codes'; + $this->const[$r][3] = 'Module to control serial number'; $this->const[$r][4] = 0; $r++; diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index 25448f239e6..deefea6c2e8 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -66,7 +66,7 @@ class modProjet extends DolibarrModules // Dependencies $this->hidden = false; // A condition to hide module $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled - $this->requiredby = array(); // List of module ids to disable if this one is disabled + $this->requiredby = array('modEventOrganization'); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->phpmin = array(5, 6); // Minimum version of PHP required by module $this->langfiles = array('projects'); @@ -366,12 +366,12 @@ class modProjet extends DolibarrModules } $sql = array(); - $sql[] = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[3][2])."' AND type = 'task' AND entity = ".$conf->entity; - $sql[] = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[3][2])."','task',".$conf->entity.")"; - $sql[] = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'beluga' AND type = 'project' AND entity = ".$conf->entity; - $sql[] = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('beluga','project',".$conf->entity.")"; - $sql[] = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'baleine' AND type = 'project' AND entity = ".$conf->entity; - $sql[] = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('baleine','project',".$conf->entity.")"; + $sql[] = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[3][2])."' AND type = 'task' AND entity = ".((int) $conf->entity); + $sql[] = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[3][2])."','task',".((int) $conf->entity).")"; + $sql[] = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'beluga' AND type = 'project' AND entity = ".((int) $conf->entity); + $sql[] = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('beluga','project',".((int) $conf->entity).")"; + $sql[] = "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'baleine' AND type = 'project' AND entity = ".((int) $conf->entity); + $sql[] = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('baleine','project',".((int) $conf->entity).")"; return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modPropale.class.php b/htdocs/core/modules/modPropale.class.php index 048f8fcb508..b46671eae01 100644 --- a/htdocs/core/modules/modPropale.class.php +++ b/htdocs/core/modules/modPropale.class.php @@ -189,7 +189,7 @@ class modPropale extends DolibarrModules $this->export_label[$r] = 'ProposalsAndProposalsLines'; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_permission[$r] = array(array("propale", "export")); $this->export_fields_array[$r] = array( - 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'co.code'=>'CountryCode', 's.phone'=>'Phone', + 's.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 'ps.nom'=>'ParentCompany', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'co.code'=>'CountryCode', 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 'c.rowid'=>"Id", 'c.ref'=>"Ref", 'c.ref_client'=>"RefCustomer", 'c.fk_soc'=>"IdCompany", 'c.datec'=>"DateCreation", 'c.datep'=>"DatePropal", 'c.fin_validite'=>"DateEndPropal", 'c.remise_percent'=>"GlobalDiscount", 'c.total_ht'=>"TotalHT", 'c.total_ttc'=>"TotalTTC", 'c.fk_statut'=>'Status', 'c.note_public'=>"Note", 'c.date_livraison'=>'DeliveryDate', @@ -213,14 +213,14 @@ class modPropale extends DolibarrModules // 'cd.total_tva'=>"Numeric",'cd.total_ttc'=>"Numeric",'p.rowid'=>'List:product:label','p.ref'=>'Text','p.label'=>'Text' //); $this->export_TypeFields_array[$r] = array( - 's.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'co.code'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', + 's.nom'=>'Text', 'ps.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'co.code'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 'c.ref'=>"Text", 'c.ref_client'=>"Text", 'c.datec'=>"Date", 'c.datep'=>"Date", 'c.fin_validite'=>"Date", 'c.remise_percent'=>"Numeric", 'c.total_ht'=>"Numeric", 'c.total_ttc'=>"Numeric", 'c.fk_statut'=>'Status', 'c.note_public'=>"Text", 'c.date_livraison'=>'Date', 'pj.ref'=>'Text', 'cd.description'=>"Text", 'cd.product_type'=>'Boolean', 'cd.tva_tx'=>"Numeric", 'cd.qty'=>"Numeric", 'cd.total_ht'=>"Numeric", 'cd.total_tva'=>"Numeric", 'cd.total_ttc'=>"Numeric", 'p.ref'=>'Text', 'p.label'=>'Text' ); $this->export_entities_array[$r] = array( - 's.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'co.code'=>'company', 's.phone'=>'company', + 's.rowid'=>"company", 's.nom'=>'company', 'ps.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', 's.town'=>'company', 'co.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.siret'=>'company', 'c.rowid'=>"propal", 'c.ref'=>"propal", 'c.ref_client'=>"propal", 'c.fk_soc'=>"propal", 'c.datec'=>"propal", 'c.datep'=>"propal", 'c.fin_validite'=>"propal", 'c.remise_percent'=>"propal", 'c.total_ht'=>"propal", 'c.total_ttc'=>"propal", 'c.fk_statut'=>"propal", 'c.note_public'=>"propal", 'c.date_livraison'=>"propal", 'pj.ref'=>'project', 'cd.rowid'=>'propal_line', @@ -241,14 +241,14 @@ class modPropale extends DolibarrModules $keyforaliasextra = 'extra3'; include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $keyforselect = 'societe'; - $keyforelement = 'societe'; + $keyforelement = 'company'; $keyforaliasextra = 'extra4'; include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s '; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_extrafields as extra4 ON s.rowid = extra4.fk_object'; - + $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as ps ON ps.rowid = s.parent'; if (empty($user->rights->societe->client->voir)) { $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; } @@ -276,11 +276,11 @@ class modPropale extends DolibarrModules $this->import_code[$r] = $this->rights_class.'_'.$r; $this->import_label[$r] = 'Proposals'; // Translation key $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; // We define here only fields that use another icon that the one defined into import_icon - $this->import_tables_array[$r] = ['c' => MAIN_DB_PREFIX.'propal', 'extra' => MAIN_DB_PREFIX.'propal_extrafields']; - $this->import_tables_creator_array[$r] = ['c'=>'fk_user_author']; // Fields to store import user id - $this->import_fields_array[$r] = [ - 'c.ref' => 'Document Ref*', + $this->import_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon + $this->import_tables_array[$r] = array('c' => MAIN_DB_PREFIX.'propal', 'extra' => MAIN_DB_PREFIX.'propal_extrafields'); + $this->import_tables_creator_array[$r] = array('c'=>'fk_user_author'); // Fields to store import user id + $this->import_fields_array[$r] = array( + 'c.ref' => 'Ref*', 'c.ref_client' => 'RefCustomer', 'c.fk_soc' => 'ThirdPartyName*', 'c.datec' => 'DateCreation', @@ -293,7 +293,7 @@ class modPropale extends DolibarrModules 'c.note_public' => 'Note', 'c.date_livraison' => 'DeliveryDate', 'c.fk_user_valid' => 'ValidatedById' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['c.multicurrency_code'] = 'Currency'; $this->import_fields_array[$r]['c.multicurrency_tx'] = 'CurrencyRate'; @@ -302,7 +302,7 @@ class modPropale extends DolibarrModules $this->import_fields_array[$r]['c.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC'; } // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'propal' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); if ($resql) { @@ -353,13 +353,13 @@ class modPropale extends DolibarrModules $this->import_code[$r] = $this->rights_class.'line_'.$r; $this->import_label[$r] = "ProposalLines"; // Translation key $this->import_icon[$r] = $this->picto; - $this->import_entities_array[$r] = []; // We define here only fields that use another icon that the one defined into import_icon - $this->import_tables_array[$r] = [ + $this->import_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into import_icon + $this->import_tables_array[$r] = array( 'cd' => MAIN_DB_PREFIX.'propaldet', 'extra' => MAIN_DB_PREFIX.'propaldet_extrafields' - ]; - $this->import_fields_array[$r] = [ - 'cd.fk_propal' => 'Document Ref*', + ); + $this->import_fields_array[$r] = array( + 'cd.fk_propal' => 'Proposal*', 'cd.fk_parent_line' => 'PrParentLine', 'cd.fk_product' => 'IdProduct', 'cd.label' => 'Label', @@ -377,7 +377,7 @@ class modPropale extends DolibarrModules 'cd.date_start' => 'Start Date', 'cd.date_end' => 'End Date', 'cd.buy_price_ht' => 'LineBuyPriceHT' - ]; + ); if (!empty($conf->multicurrency->enabled)) { $this->import_fields_array[$r]['cd.multicurrency_code'] = 'Currency'; $this->import_fields_array[$r]['cd.multicurrency_subprice'] = 'CurrencyRate'; @@ -386,7 +386,7 @@ class modPropale extends DolibarrModules $this->import_fields_array[$r]['cd.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC'; } // Add extra fields - $import_extrafield_sample = []; + $import_extrafield_sample = array(); $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'propaldet' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); if ($resql) { @@ -398,9 +398,9 @@ class modPropale extends DolibarrModules } } // End add extra fields - $this->import_fieldshidden_array[$r] = ['extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'propaldet']; - $this->import_regex_array[$r] = ['cd.product_type' => '[0|1]$']; - $import_sample = [ + $this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'propaldet'); + $this->import_regex_array[$r] = array('cd.product_type' => '[0|1]$'); + $import_sample = array( 'cd.fk_propal' => 'PROV(0001)', 'cd.fk_parent_line' => '', 'cd.fk_product' => '', @@ -424,17 +424,17 @@ class modPropale extends DolibarrModules 'cd.multicurrency_total_ht' => '10000', 'cd.multicurrency_total_tva' => '0', 'cd.multicurrency_total_ttc' => '10100' - ]; + ); $this->import_examplevalues_array[$r] = array_merge($import_sample, $import_extrafield_sample); - $this->import_updatekeys_array[$r] = ['cd.fk_propal' => 'Quotation Id', 'cd.fk_product' => 'Product Id']; - $this->import_convertvalue_array[$r] = [ - 'cd.fk_propal' => [ + $this->import_updatekeys_array[$r] = array('cd.fk_propal' => 'Quotation Id', 'cd.fk_product' => 'Product Id'); + $this->import_convertvalue_array[$r] = array( + 'cd.fk_propal' => array( 'rule'=>'fetchidfromref', 'file'=>'/comm/propal/class/propal.class.php', 'class'=>'Propal', 'method'=>'fetch' - ] - ]; + ) + ); } @@ -470,8 +470,8 @@ class modPropale extends DolibarrModules } $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'propal' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','propal',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'propal' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','propal',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modReceiptPrinter.class.php b/htdocs/core/modules/modReceiptPrinter.class.php index ee87f4c57ba..1e26de93bcb 100644 --- a/htdocs/core/modules/modReceiptPrinter.class.php +++ b/htdocs/core/modules/modReceiptPrinter.class.php @@ -133,6 +133,7 @@ class modReceiptPrinter extends DolibarrModules public function init($options = '') { global $conf, $langs; + // Clean before activation $this->remove($options); @@ -140,8 +141,8 @@ class modReceiptPrinter extends DolibarrModules $sql = array( "CREATE TABLE IF NOT EXISTS ".MAIN_DB_PREFIX."printer_receipt (rowid integer AUTO_INCREMENT PRIMARY KEY, name varchar(128), fk_type integer, fk_profile integer, parameter varchar(128), entity integer) ENGINE=innodb;", "CREATE TABLE IF NOT EXISTS ".MAIN_DB_PREFIX."printer_receipt_template (rowid integer AUTO_INCREMENT PRIMARY KEY, name varchar(128), template text, entity integer) ENGINE=innodb;", - "DELETE FROM ".MAIN_DB_PREFIX."printer_receipt_template WHERE name = '".$langs->trans('Example')."';", - "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt_template (name,template,entity) VALUES ('".$langs->trans('Example')."', '".$templateexample."', 1);", + "DELETE FROM ".MAIN_DB_PREFIX."printer_receipt_template WHERE name = '".$this->db->escape($langs->trans('Example'))."';", + "INSERT INTO ".MAIN_DB_PREFIX."printer_receipt_template (name,template,entity) VALUES ('".$this->db->escape($langs->trans('Example'))."', '".$this->db->escape($templateexample)."', 1);", ); return $this->_init($sql, $options); } diff --git a/htdocs/core/modules/modReception.class.php b/htdocs/core/modules/modReception.class.php index 02f17cf0fbe..4696f15019a 100644 --- a/htdocs/core/modules/modReception.class.php +++ b/htdocs/core/modules/modReception.class.php @@ -282,8 +282,8 @@ class modReception extends DolibarrModules $sql = array(); $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'reception' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','reception',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'reception' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','reception',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modRecruitment.class.php b/htdocs/core/modules/modRecruitment.class.php index 3d4e88872ef..02e7cdfbf4c 100644 --- a/htdocs/core/modules/modRecruitment.class.php +++ b/htdocs/core/modules/modRecruitment.class.php @@ -448,10 +448,10 @@ class modRecruitment extends DolibarrModules } $sql = array_merge($sql, array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".$this->db->escape(strtolower($myTmpObjectKey))."',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".$this->db->escape(strtolower($myTmpObjectKey))."', ".((int) $conf->entity).")" )); } } diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index af4fb9e64b8..c3eba65673b 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -281,6 +281,9 @@ class modSociete extends DolibarrModules if (!empty($conf->global->PRODUIT_MULTIPRICES)) { $this->export_fields_array[$r]['s.price_level'] = 'PriceLevel'; } + if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) { + $this->export_fields_array[$r] += array('s.accountancy_code_sell'=>'ProductAccountancySellCode', 's.accountancy_code_buy'=>'ProductAccountancyBuyCode'); + } // Add multicompany field if (!empty($conf->global->MULTICOMPANY_ENTITY_IN_EXPORT_IF_SHARED)) { $nbofallowedentities = count(explode(',', getEntity('societe'))); // If project are shared, nb will be > 1 @@ -317,7 +320,8 @@ class modSociete extends DolibarrModules 'payterm.libelle'=>'Text', 'paymode.libelle'=>'Text', 's.outstanding_limit'=>'Numeric', 'pbacc.ref'=>'Text', 'incoterm.code'=>'Text', 'u.login'=>'Text', 'u.firstname'=>'Text', 'u.lastname'=>'Text', - 's.entity'=>'Numeric', 's.price_level'=>'Numeric' + 's.entity'=>'Numeric', 's.price_level'=>'Numeric', + 's.accountancy_code_sell'=>'Text', 's.accountancy_code_buy'=>'Text' ); $this->export_entities_array[$r] = array('u.login'=>'user', 'u.firstname'=>'user', 'u.lastname'=>'user'); // We define here only fields that use another picto @@ -340,7 +344,7 @@ class modSociete extends DolibarrModules $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as incoterm ON s.fk_incoterms = incoterm.rowid'; $this->export_sql_end[$r] .= ' WHERE s.entity IN ('.getEntity('societe').')'; if (is_object($user) && empty($user->rights->societe->client->voir)) { - $this->export_sql_end[$r] .= ' AND (sc.fk_user = '.$user->id.' '; + $this->export_sql_end[$r] .= ' AND (sc.fk_user = '.((int) $user->id).' '; if (!empty($conf->global->SOCIETE_EXPORT_SUBORDINATES_CHILDS)) { $subordinatesids = $user->getAllChildIds(); $this->export_sql_end[$r] .= count($subordinatesids) > 0 ? ' OR (sc.fk_user IN ('.$this->db->sanitize(implode(',', $subordinatesids)).')' : ''; @@ -410,7 +414,7 @@ class modSociete extends DolibarrModules $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_typent as t ON s.fk_typent = t.id'; $this->export_sql_end[$r] .= ' WHERE c.entity IN ('.getEntity('socpeople').')'; if (is_object($user) && empty($user->rights->societe->client->voir)) { - $this->export_sql_end[$r] .= ' AND (sc.fk_user = '.$user->id.' '; + $this->export_sql_end[$r] .= ' AND (sc.fk_user = '.((int) $user->id).' '; if (!empty($conf->global->SOCIETE_EXPORT_SUBORDINATES_CHILDS)) { $subordinatesids = $user->getAllChildIds(); $this->export_sql_end[$r] .= count($subordinatesids) > 0 ? ' OR (sc.fk_user IN ('.$this->db->sanitize(implode(',', $subordinatesids)).')' : ''; @@ -488,6 +492,9 @@ class modSociete extends DolibarrModules if (!empty($conf->global->PRODUIT_MULTIPRICES)) { $this->import_fields_array[$r]['s.price_level'] = 'PriceLevel'; } + if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) { + $this->import_fields_array[$r] += array('s.accountancy_code_sell'=>'ProductAccountancySellCode', 's.accountancy_code_buy'=>'ProductAccountancyBuyCode'); + } // Add extra fields $sql = "SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'societe' AND entity IN (0, ".$conf->entity.")"; $resql = $this->db->query($sql); @@ -621,7 +628,9 @@ class modSociete extends DolibarrModules 's.canvas' => "empty / a custom canvas form layout url e.g. mycanvas@mymodule", 's.datec' => 'formatted as '.dol_print_date(dol_now(), '%Y-%m-%d'), 's.fk_multicurrency' => '0 (use system default currency) / 1 (use local currency)', - 's.multicurrency_code' => 'GBP/USD etc... matches field "code_iso" in table "'.MAIN_DB_PREFIX.'c_currencies"' + 's.multicurrency_code' => 'GBP/USD etc... matches field "code_iso" in table "'.MAIN_DB_PREFIX.'c_currencies"', + 's.accountancy_code_sell' => '707', + 's.accountancy_code_buy' => '607', ); $this->import_updatekeys_array[$r] = array( 's.nom' => 'Name', diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index c9379fb25d6..d0cfa64c884 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2021 Ferran Marcet * * 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 @@ -34,7 +35,6 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; */ class modStock extends DolibarrModules { - /** * Constructor. Define names, constants, directories, boxes, permissions * @@ -148,19 +148,19 @@ class modStock extends DolibarrModules $this->rights[4][4] = 'mouvement'; $this->rights[4][5] = 'creer'; + $this->rights[5][0] = 1011; + $this->rights[5][1] = 'inventoryReadPermission'; // Permission label + $this->rights[5][3] = 0; // Permission by default for new user (0/1) + $this->rights[5][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + $this->rights[5][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + + $this->rights[6][0] = 1012; + $this->rights[6][1] = 'inventoryCreatePermission'; // Permission label + $this->rights[6][3] = 0; // Permission by default for new user (0/1) + $this->rights[6][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + $this->rights[6][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { - $this->rights[5][0] = 1011; - $this->rights[5][1] = 'inventoryReadPermission'; // Permission label - $this->rights[5][3] = 0; // Permission by default for new user (0/1) - $this->rights[5][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - $this->rights[5][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - - $this->rights[6][0] = 1012; - $this->rights[6][1] = 'inventoryCreatePermission'; // Permission label - $this->rights[6][3] = 0; // Permission by default for new user (0/1) - $this->rights[6][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - $this->rights[6][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - $this->rights[8][0] = 1014; $this->rights[8][1] = 'inventoryValidatePermission'; // Permission label $this->rights[8][3] = 0; // Permission by default for new user (0/1) @@ -453,10 +453,10 @@ class modStock extends DolibarrModules $sql = array(); $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[1][2])."' AND type = 'stock' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[1][2])."','stock',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[2][2])."' AND type = 'mouvement' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[2][2])."','mouvement',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[1][2])."' AND type = 'stock' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[1][2])."','stock',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[2][2])."' AND type = 'mouvement' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[2][2])."','mouvement',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modSupplierProposal.class.php b/htdocs/core/modules/modSupplierProposal.class.php index 4a0fc21fa44..36df0dd27bd 100644 --- a/htdocs/core/modules/modSupplierProposal.class.php +++ b/htdocs/core/modules/modSupplierProposal.class.php @@ -179,8 +179,8 @@ class modSupplierProposal extends DolibarrModules } $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'supplier_proposal' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','supplier_proposal',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->db->escape($this->const[0][2])."' AND type = 'supplier_proposal' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->db->escape($this->const[0][2])."','supplier_proposal',".((int) $conf->entity).")", ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modTicket.class.php b/htdocs/core/modules/modTicket.class.php index b374000c74c..01561b40b01 100644 --- a/htdocs/core/modules/modTicket.class.php +++ b/htdocs/core/modules/modTicket.class.php @@ -122,24 +122,34 @@ class modTicket extends DolibarrModules } $this->dictionaries = array( 'langs' => 'ticket', - 'tabname' => array(MAIN_DB_PREFIX."c_ticket_type", MAIN_DB_PREFIX."c_ticket_severity", MAIN_DB_PREFIX."c_ticket_category", MAIN_DB_PREFIX."c_ticket_resolution"), - 'tablib' => array("TicketDictType", "TicketDictSeverity", "TicketDictCategory", "TicketDictResolution"), + 'tabname' => array( + MAIN_DB_PREFIX."c_ticket_type", + MAIN_DB_PREFIX."c_ticket_severity", + MAIN_DB_PREFIX."c_ticket_category", + MAIN_DB_PREFIX."c_ticket_resolution" + ), + 'tablib' => array( + "TicketDictType", + "TicketDictSeverity", + "TicketDictCategory", + "TicketDictResolution" + ), 'tabsql' => array( 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_type as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_severity as f', - 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default, f.public FROM '.MAIN_DB_PREFIX.'c_ticket_category as f', + 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default, f.public, f.fk_parent FROM '.MAIN_DB_PREFIX.'c_ticket_category as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_resolution as f' ), 'tabsqlsort' => array("pos ASC", "pos ASC", "pos ASC", "pos ASC"), - 'tabfield' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public", "code,label,pos,use_default"), - 'tabfieldvalue' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public", "code,label,pos,use_default"), - 'tabfieldinsert' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public", "code,label,pos,use_default"), + 'tabfield' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public,fk_parent", "code,label,pos,use_default"), + 'tabfieldvalue' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public,fk_parent", "code,label,pos,use_default"), + 'tabfieldinsert' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public,fk_parent", "code,label,pos,use_default"), 'tabrowid' => array("rowid", "rowid", "rowid", "rowid"), - 'tabcond' => array($conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled), + 'tabcond' => array($conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled && !empty($conf->global->TICKET_ENABLE_RESOLUTION)), 'tabhelp' => array( array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1")), array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1")), - array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1"), 'public'=>$langs->trans("Enter0or1").'
    '.$langs->trans("TicketGroupIsPublicDesc")), + array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1"), 'public'=>$langs->trans("Enter0or1").'
    '.$langs->trans("TicketGroupIsPublicDesc"), 'fk_parent'=>$langs->trans("IfThisCategoryIsChildOfAnother")), array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1")) ), ); @@ -200,7 +210,7 @@ class modTicket extends DolibarrModules $this->menus = array(); // List of menus to add $r = 0; - $this->menu[$r] = array('fk_menu' => 0, // Put 0 if this is a top menu + /*$this->menu[$r] = array('fk_menu' => 0, // Put 0 if this is a top menu 'type' => 'top', // This is a Top menu entry 'titre' => 'Ticket', 'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth em092"'), @@ -209,11 +219,11 @@ class modTicket extends DolibarrModules 'url' => '/ticket/index.php', 'langs' => 'ticket', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'position' => 88, - 'enabled' => '$conf->ticket->enabled', // Define condition to show or hide menu entry. Use '$conf->ticket->enabled' if entry must be visible if module is enabled. + 'enabled' => '$conf->ticket->enabled', 'perms' => '$user->rights->ticket->read', // Use 'perms'=>'$user->rights->ticket->level1->level2' if you want your menu with a permission rules 'target' => '', 'user' => 2); // 0=Menu for internal users, 1=external users, 2=both - $r++; + $r++;*/ $this->menu[$r] = array('fk_menu' => 'fk_mainmenu=ticket', 'type' => 'left', @@ -283,6 +293,19 @@ class modTicket extends DolibarrModules 'target' => '', 'user' => 0); $r++; + + $this->menu[$r] = array('fk_menu' => 'fk_mainmenu=ticket,fk_leftmenu=ticket', + 'type' => 'left', + 'titre' => 'Categories', + 'mainmenu' => 'ticket', + 'url' => '/categories/index.php?type=12', + 'langs' => 'ticket', + 'position' => 107, + 'enabled' => '$conf->categorie->enabled', + 'perms' => '$user->rights->ticket->read', + 'target' => '', + 'user' => 0); + $r++; } /** @@ -321,8 +344,8 @@ class modTicket extends DolibarrModules array("sql" => "insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (110121, 'ticket', 'internal', 'CONTRIBUTOR', 'Intervenant', 1);", "ignoreerror" => 1), array("sql" => "insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (110122, 'ticket', 'external', 'SUPPORTCLI', 'Contact client suivi incident', 1);", "ignoreerror" => 1), array("sql" => "insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (110123, 'ticket', 'external', 'CONTRIBUTOR', 'Intervenant', 1);", "ignoreerror" => 1), - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'TICKET_ADDON_PDF_ODT_PATH' AND type = 'ticket' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('TICKET_ADDON_PDF_ODT_PATH','ticket',".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'TICKET_ADDON_PDF_ODT_PATH' AND type = 'ticket' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('TICKET_ADDON_PDF_ODT_PATH','ticket',".((int) $conf->entity).")" ); return $this->_init($sql, $options); diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 01303892435..e54ac7bd440 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -322,7 +322,7 @@ class modUser extends DolibarrModules 'u.birth'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$' ); $this->import_examplevalues_array[$r] = array( - 'u.lastname'=>"Doe", 'u.firstname'=>'John', 'u.login'=>'jdoe', 'u.employee'=>'0 or 1', 'u.job'=>'CTO', 'u.gender'=>'0 or 1', + 'u.lastname'=>"Doe", 'u.firstname'=>'John', 'u.login'=>'jdoe', 'u.employee'=>'0 or 1', 'u.job'=>'CTO', 'u.gender'=>'man or woman', 'u.pass_crypted'=>'Encrypted password', 'u.fk_soc'=>'0 (internal user) or company name (external user)', 'u.datec'=>dol_print_date(dol_now(), '%Y-%m-%d'), 'u.address'=>"61 jump street", 'u.zip'=>"123456", 'u.town'=>"Big town", 'u.fk_country'=>'US, FR, DE...', 'u.office_phone'=>"0101010101", 'u.office_fax'=>"0101010102", diff --git a/htdocs/core/modules/modWorkflow.class.php b/htdocs/core/modules/modWorkflow.class.php index fbf7927ed1c..eaaf15d40a1 100644 --- a/htdocs/core/modules/modWorkflow.class.php +++ b/htdocs/core/modules/modWorkflow.class.php @@ -87,6 +87,7 @@ class modWorkflow extends DolibarrModules 0=>array('WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL', 0, 'current', 0), 1=>array('WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL', 'chaine', '1', 'WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL', 0, 'current', 0), 2=>array('WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING', 0, 'current', 0), + 3=>array('WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED', 0, 'current', 0), 4=>array('WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER', 'chaine', '1', 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER', 0, 'current', 0), 5=>array('WORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL', 0, 'current', 0), 6=>array('WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER', 'chaine', '1', 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER', 0, 'current', 0), diff --git a/htdocs/core/modules/modWorkstation.class.php b/htdocs/core/modules/modWorkstation.class.php index 8e2d676bf27..3069be8ced5 100755 --- a/htdocs/core/modules/modWorkstation.class.php +++ b/htdocs/core/modules/modWorkstation.class.php @@ -435,10 +435,10 @@ class modWorkstation extends DolibarrModules } $sql = array_merge($sql, array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".$this->db->escape(strtolower($myTmpObjectKey))."',".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".$this->db->escape(strtolower($myTmpObjectKey))."', ".((int) $conf->entity).")" )); } } diff --git a/htdocs/core/modules/movement/doc/pdf_standard.modules.php b/htdocs/core/modules/movement/doc/pdf_standard.modules.php index e029c4d5d66..7f487fdcf94 100644 --- a/htdocs/core/modules/movement/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/movement/doc/pdf_standard.modules.php @@ -35,7 +35,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; /** * Class to build documents using ODF templates generator */ -class pdf_stdandard extends ModelePDFMovement +class pdf_standard extends ModelePDFMovement { /** * @var DoliDb Database handler @@ -278,7 +278,7 @@ class pdf_stdandard extends ModelePDFMovement // Add fields from extrafields if (!empty($extrafields->attributes[$element]['label'])) { foreach ($extrafields->attributes[$element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks diff --git a/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php b/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php index e93ecd1af0a..c2d697b4a4d 100644 --- a/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php +++ b/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php @@ -158,7 +158,7 @@ class doc_generic_mo_odt extends ModelePDFMo $texte .= $conf->global->MRP_MO_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -302,11 +302,14 @@ class doc_generic_mo_odt extends ModelePDFMo // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php b/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php new file mode 100644 index 00000000000..5f6a03f2caa --- /dev/null +++ b/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php @@ -0,0 +1,1514 @@ + + * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2007 Franky Van Liedekerke + * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2015 Marcos García + * Copyright (C) 2017 Ferran Marcet + * Copyright (C) 2018 Frédéric France + * Copyright (C) 2018 Frédéric France + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see https://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/mrp/doc/pdf_vinci.php + * \ingroup mrp + * \brief File of class to generate MO document from vinci model + */ + +require_once DOL_DOCUMENT_ROOT.'/core/modules/mrp/modules_mo.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/bom/class/bom.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; + + +/** + * Class to generate the manufacturing orders with the vinci model + */ +class pdf_vinci extends ModelePDFMo +{ + /** + * @var DoliDb Database handler + */ + public $db; + + /** + * @var string model name + */ + public $name; + + /** + * @var string model description (short text) + */ + public $description; + + /** + * @var int Save the name of generated file as the main doc when generating a doc with this template + */ + public $update_main_doc_field; + + /** + * @var string document type + */ + public $type; + + /** + * @var array Minimum version of PHP required by module. + * e.g.: PHP ≥ 5.6 = array(5, 6) + */ + public $phpmin = array(5, 6); + + /** + * Dolibarr version of the loaded document + * @var string + */ + public $version = 'dolibarr'; + + /** + * @var int page_largeur + */ + public $page_largeur; + + /** + * @var int page_hauteur + */ + public $page_hauteur; + + /** + * @var array format + */ + public $format; + + /** + * @var int marge_gauche + */ + public $marge_gauche; + + /** + * @var int marge_droite + */ + public $marge_droite; + + /** + * @var int marge_haute + */ + public $marge_haute; + + /** + * @var int marge_basse + */ + public $marge_basse; + + /** + * Issuer + * @var Societe object that emits + */ + public $emetteur; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct($db) + { + global $conf, $langs, $mysoc; + + // Load translation files required by the page + $langs->loadLangs(array("main", "bills")); + + $this->db = $db; + $this->name = "vinci"; + $this->description = $langs->trans('DocumentModelStandardPDF'); + $this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template + + // Page size for A4 format + $this->type = 'pdf'; + $formatarray = pdf_getFormat(); + $this->page_largeur = $formatarray['width']; + $this->page_hauteur = $formatarray['height']; + $this->format = array($this->page_largeur, $this->page_hauteur); + $this->marge_gauche = isset($conf->global->MAIN_PDF_MARGIN_LEFT) ? $conf->global->MAIN_PDF_MARGIN_LEFT : 10; + $this->marge_droite = isset($conf->global->MAIN_PDF_MARGIN_RIGHT) ? $conf->global->MAIN_PDF_MARGIN_RIGHT : 10; + $this->marge_haute = isset($conf->global->MAIN_PDF_MARGIN_TOP) ? $conf->global->MAIN_PDF_MARGIN_TOP : 10; + $this->marge_basse = isset($conf->global->MAIN_PDF_MARGIN_BOTTOM) ? $conf->global->MAIN_PDF_MARGIN_BOTTOM : 10; + + $this->option_logo = 1; // Display logo + $this->option_codeproduitservice = 1; // Display product-service code + $this->option_multilang = 1; //Available in several languages + $this->option_escompte = 0; // Displays if there has been a discount + $this->option_credit_note = 0; // Support credit notes + $this->option_freetext = 1; // Support add of a personalised text + $this->option_draft_watermark = 1; // Support add of a watermark on drafts + + // Get source company + $this->emetteur = $mysoc; + if (empty($this->emetteur->country_code)) { + $this->emetteur->country_code = substr($langs->defaultlang, -2); // By default, if was not defined + } + + // Define position of columns + $this->posxdesc = $this->marge_gauche + 1; // For module retrocompatibility support durring PDF transition: TODO remove this at the end + } + + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Function to build pdf onto disk + * + * @param CommandeFournisseur $object Id of object to generate + * @param Translate $outputlangs Lang output object + * @param string $srctemplatepath Full path of source filename for generator using a template file + * @param int $hidedetails Do not show line details + * @param int $hidedesc Do not show desc + * @param int $hideref Do not show ref + * @return int 1=OK, 0=KO + */ + public function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) + { + // phpcs:enable + global $user, $langs, $conf, $hookmanager, $mysoc; + + if (!is_object($outputlangs)) { + $outputlangs = $langs; + } + // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO + if (!empty($conf->global->MAIN_USE_FPDF)) { + $outputlangs->charset_output = 'ISO-8859-1'; + } + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "orders", "companies", "bills", "dict", "products")); + + global $outputlangsbis; + $outputlangsbis = null; + if (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) && $outputlangs->defaultlang != $conf->global->PDF_USE_ALSO_LANGUAGE_CODE) { + $outputlangsbis = new Translate('', $conf); + $outputlangsbis->setDefaultLang($conf->global->PDF_USE_ALSO_LANGUAGE_CODE); + $outputlangsbis->loadLangs(array("main", "orders", "companies", "bills", "dict", "products")); + } + + if (!isset($object->lines) || !is_array($object->lines)) { + $object->lines = array(); + } + + $nblines = count($object->lines); + + $hidetop = 0; + if (!empty($conf->global->MAIN_PDF_DISABLE_COL_HEAD_TITLE)) { + $hidetop = $conf->global->MAIN_PDF_DISABLE_COL_HEAD_TITLE; + } + + // Loop on each lines to detect if there is at least one image to show + $realpatharray = array(); + + if ($conf->mrp->dir_output) { + $object->fetch_thirdparty(); + + $deja_regle = 0; + $amount_credit_notes_included = 0; + $amount_deposits_included = 0; + //$amount_credit_notes_included = $object->getSumCreditNotesUsed(); + //$amount_deposits_included = $object->getSumDepositsUsed(); + + // Definition of $dir and $file + if ($object->specimen) { + $dir = $conf->mrp->dir_output; + $file = $dir."/SPECIMEN.pdf"; + } else { + $objectref = dol_sanitizeFileName($object->ref); + $dir = $conf->mrp->dir_output.'/'.$objectref; + $file = $dir."/".$objectref.".pdf"; + } + + if (!file_exists($dir)) { + if (dol_mkdir($dir) < 0) { + $this->error = $langs->transnoentities("ErrorCanNotCreateDir", $dir); + return 0; + } + } + + if (file_exists($dir)) { + // Add pdfgeneration hook + if (!is_object($hookmanager)) { + include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; + $hookmanager = new HookManager($this->db); + } + $hookmanager->initHooks(array('pdfgeneration')); + $parameters = array('file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs); + global $action; + $reshook = $hookmanager->executeHooks('beforePDFCreation', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + + $nblines = count($object->lines); + + $pdf = pdf_getInstance($this->format); + $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance + $heightforinfotot = 50; // Height reserved to output the info and total part + $heightforfreetext = (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT) ? $conf->global->MAIN_PDF_FREETEXT_HEIGHT : 5); // Height reserved to output the free text on last page + $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) + if (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS)) { + $heightforfooter += 6; + } + $pdf->SetAutoPageBreak(1, 0); + + if (class_exists('TCPDF')) { + $pdf->setPrintHeader(false); + $pdf->setPrintFooter(false); + } + $pdf->SetFont(pdf_getPDFFont($outputlangs)); + // Set path to the background PDF File + if (!empty($conf->global->MAIN_ADD_PDF_BACKGROUND)) { + $pagecount = $pdf->setSourceFile($conf->mycompany->dir_output.'/'.$conf->global->MAIN_ADD_PDF_BACKGROUND); + $tplidx = $pdf->importPage(1); + } + + $pdf->Open(); + $pagenb = 0; + $pdf->SetDrawColor(128, 128, 128); + + $pdf->SetTitle($outputlangs->convToOutputCharset($object->ref)); + $pdf->SetSubject($outputlangs->transnoentities("Mo")); + $pdf->SetCreator("Dolibarr ".DOL_VERSION); + $pdf->SetAuthor($outputlangs->convToOutputCharset($user->getFullName($outputlangs))); + $pdf->SetKeyWords($outputlangs->convToOutputCharset($object->ref)." ".$outputlangs->transnoentities("Mo")." ".$outputlangs->convToOutputCharset($object->thirdparty->name)); + if (!empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) { + $pdf->SetCompression(false); + } + + $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right + + // Does we have at least one line with discount $this->atleastonediscount + + // New page + $pdf->AddPage(); + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + $pagenb++; + $top_shift = $this->_pagehead($pdf, $object, 1, $outputlangs); + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->MultiCell(0, 3, ''); // Set interline to 3 + $pdf->SetTextColor(0, 0, 0); + + $tab_top = 90 + $top_shift; + $tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD) ? 42 + $top_shift : 10); + + + // Affiche notes + $notetoshow = empty($object->note_public) ? '' : $object->note_public; + + // Extrafields in note + $extranote = $this->getExtrafieldsInHtml($object, $outputlangs); + if (!empty($extranote)) { + $notetoshow = dol_concatdesc($notetoshow, $extranote); + } + + $pagenb = $pdf->getPage(); + if ($notetoshow) { + $tab_width = $this->page_largeur - $this->marge_gauche - $this->marge_droite; + $pageposbeforenote = $pagenb; + + $substitutionarray = pdf_getSubstitutionArray($outputlangs, null, $object); + complete_substitutions_array($substitutionarray, $outputlangs, $object); + $notetoshow = make_substitutions($notetoshow, $substitutionarray, $outputlangs); + $notetoshow = convertBackOfficeMediasLinksToPublicLinks($notetoshow); + + $tab_top -= 2; + + $pdf->startTransaction(); + + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc - 1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); + // Description + $pageposafternote = $pdf->getPage(); + $posyafter = $pdf->GetY(); + + if ($pageposafternote > $pageposbeforenote) { + $pdf->rollbackTransaction(true); + + // prepar pages to receive notes + while ($pagenb < $pageposafternote) { + $pdf->AddPage(); + $pagenb++; + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) { + $this->_pagehead($pdf, $object, 0, $outputlangs); + } + // $this->_pagefoot($pdf,$object,$outputlangs,1); + $pdf->setTopMargin($tab_top_newpage); + // The only function to edit the bottom margin of current page to set it. + $pdf->setPageOrientation('', 1, $heightforfooter + $heightforfreetext); + } + + // back to start + $pdf->setPage($pageposbeforenote); + $pdf->setPageOrientation('', 1, $heightforfooter + $heightforfreetext); + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc - 1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); + $pageposafternote = $pdf->getPage(); + + $posyafter = $pdf->GetY(); + + if ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + 20))) { // There is no space left for total+free text + $pdf->AddPage('', '', true); + $pagenb++; + $pageposafternote++; + $pdf->setPage($pageposafternote); + $pdf->setTopMargin($tab_top_newpage); + // The only function to edit the bottom margin of current page to set it. + $pdf->setPageOrientation('', 1, $heightforfooter + $heightforfreetext); + //$posyafter = $tab_top_newpage; + } + + + // apply note frame to previus pages + $i = $pageposbeforenote; + while ($i < $pageposafternote) { + $pdf->setPage($i); + + + $pdf->SetDrawColor(128, 128, 128); + // Draw note frame + if ($i > $pageposbeforenote) { + $height_note = $this->page_hauteur - ($tab_top_newpage + $heightforfooter); + $pdf->Rect($this->marge_gauche, $tab_top_newpage - 1, $tab_width, $height_note + 1); + } else { + $height_note = $this->page_hauteur - ($tab_top + $heightforfooter); + $pdf->Rect($this->marge_gauche, $tab_top - 1, $tab_width, $height_note + 1); + } + + // Add footer + $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + $this->_pagefoot($pdf, $object, $outputlangs, 1); + + $i++; + } + + // apply note frame to last page + $pdf->setPage($pageposafternote); + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) { + $this->_pagehead($pdf, $object, 0, $outputlangs); + } + $height_note = $posyafter - $tab_top_newpage; + $pdf->Rect($this->marge_gauche, $tab_top_newpage - 1, $tab_width, $height_note + 1); + } else // No pagebreak + { + $pdf->commitTransaction(); + $posyafter = $pdf->GetY(); + $height_note = $posyafter - $tab_top; + $pdf->Rect($this->marge_gauche, $tab_top - 1, $tab_width, $height_note + 1); + + + if ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + 20))) { + // not enough space, need to add page + $pdf->AddPage('', '', true); + $pagenb++; + $pageposafternote++; + $pdf->setPage($pageposafternote); + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) { + $this->_pagehead($pdf, $object, 0, $outputlangs); + } + + $posyafter = $tab_top_newpage; + } + } + + $tab_height = $tab_height - $height_note; + $tab_top = $posyafter + 6; + } else { + $height_note = 0; + } + + $nexY = $tab_top + 5; + + // Use new auto collum system + $this->prepareArrayColumnField($object, $outputlangs, $hidedetails, $hidedesc, $hideref); + + // Loop on each lines + $pageposbeforeprintlines = $pdf->getPage(); + $pagenb = $pageposbeforeprintlines; + + $bom = new BOM($this->db); + $bom -> fetch($object->fk_bom); + + $nblines = count($bom->lines); + + for ($i = 0; $i < $nblines; $i++) { + $curY = $nexY; + $pdf->SetFont('', '', $default_font_size - 1); // Into loop to work with multipage + $pdf->SetTextColor(0, 0, 0); + + $prod = new Product($this->db); + $prod->fetch($bom->lines[$i]->fk_product); + + // Define size of image if we need it + $imglinesize = array(); + if (!empty($realpatharray[$i])) { + $imglinesize = pdf_getSizeForImage($realpatharray[$i]); + } + + $pdf->setTopMargin($tab_top_newpage); + $pdf->setPageOrientation('', 1, $heightforfooter + $heightforfreetext + $heightforinfotot); // The only function to edit the bottom margin of current page to set it. + $pageposbefore = $pdf->getPage(); + + $showpricebeforepagebreak = 1; + $posYAfterImage = 0; + $posYAfterDescription = 0; + + // We start with Photo of product line + if (!empty($imglinesize['width']) && !empty($imglinesize['height']) && ($curY + $imglinesize['height']) > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + $heightforinfotot))) { // If photo too high, we moved completely on new page + $pdf->AddPage('', '', true); + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) { + $this->_pagehead($pdf, $object, 0, $outputlangs); + } + $pdf->setPage($pageposbefore + 1); + + $curY = $tab_top_newpage; + + // Allows data in the first page if description is long enough to break in multiples pages + if (!empty($conf->global->MAIN_PDF_DATA_ON_FIRST_PAGE)) { + $showpricebeforepagebreak = 1; + } else { + $showpricebeforepagebreak = 0; + } + } + + if (!empty($imglinesize['width']) && !empty($imglinesize['height'])) { + $curX = $this->posxpicture - 1; + $pdf->Image($realpatharray[$i], $curX + (($this->posxtva - $this->posxpicture - $imglinesize['width']) / 2), $curY, $imglinesize['width'], $imglinesize['height'], '', '', '', 2, 300); // Use 300 dpi + // $pdf->Image does not increase value return by getY, so we save it manually + $posYAfterImage = $curY + $imglinesize['height']; + } + // Description of product line + $curX = $this->posxdesc - 1; + $showpricebeforepagebreak = 1; + + if ($this->getColumnStatus('code')) { + $pdf->startTransaction(); //description + //$this->printColDescContent($pdf, $curY, 'code', $object, $i, $outputlangs, $hideref, $hidedesc, $showsupplierSKU); + $this->printStdColumnContent($pdf, $curY, 'code', $prod->ref); + + $pageposafter = $pdf->getPage(); + $posyafter = $pdf->GetY(); + if ($pageposafter > $pageposbefore) { // There is a pagebreak + $pdf->rollbackTransaction(true); + + //$this->printColDescContent($pdf, $curY, 'code', $object, $i, $outputlangs, $hideref, $hidedesc, $showsupplierSKU); + $this->printStdColumnContent($pdf, $curY, 'code', $prod->ref); + + $pageposafter = $pdf->getPage(); + $posyafter = $pdf->GetY(); + } elseif ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + $heightforinfotot))) { // There is no space left for total+free text + if ($i == ($nblines - 1)) { // No more lines, and no space left to show total, so we create a new page + $pdf->AddPage('', '', true); + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + //if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + $pdf->setPage($pageposafter + 1); + } else { + // We found a page break + // Allows data in the first page if description is long enough to break in multiples pages + if (!empty($conf->global->MAIN_PDF_DATA_ON_FIRST_PAGE)) { + $showpricebeforepagebreak = 1; + } else { + $showpricebeforepagebreak = 0; + } + } + } else // No pagebreak + { + $pdf->commitTransaction(); + } + $posYAfterDescription = $pdf->GetY(); + } + + $nexY = $pdf->GetY(); + $pageposafter = $pdf->getPage(); + $pdf->setPage($pageposbefore); + $pdf->setTopMargin($this->marge_haute); + $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + + // We suppose that a too long description is moved completely on next page + if ($pageposafter > $pageposbefore && empty($showpricebeforepagebreak)) { + $pdf->setPage($pageposafter); + $curY = $tab_top_newpage; + } + + if ($this->getColumnStatus('desc')) { + $pdf->startTransaction(); //description + $des = $prod -> description; + $descr = $des;//implode("
    ", $des); + + $this->printStdColumnContent($pdf, $curY, 'desc', $descr); + + $pageposafter = $pdf->getPage(); + $posyafter = $pdf->GetY(); + if ($pageposafter > $pageposbefore) { // There is a pagebreak + $pdf->rollbackTransaction(true); + + $this->printStdColumnContent($pdf, $curY, 'desc', $descr); + + $pageposafter = $pdf->getPage(); + $posyafter = $pdf->GetY(); + } elseif ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + $heightforinfotot))) { // There is no space left for total+free text + if ($i == ($nblines - 1)) { // No more lines, and no space left to show total, so we create a new page + $pdf->AddPage('', '', true); + if (!empty($tplidx)) { + $pdf->useTemplate($tplidx); + } + //if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + $pdf->setPage($pageposafter + 1); + } else { + // We found a page break + // Allows data in the first page if description is long enough to break in multiples pages + if (!empty($conf->global->MAIN_PDF_DATA_ON_FIRST_PAGE)) { + $showpricebeforepagebreak = 1; + } else { + $showpricebeforepagebreak = 0; + } + } + } else // No pagebreak + { + $pdf->commitTransaction(); + } + $posYAfterDescription = max($posYAfterDescription, $pdf->GetY()); + } + + $nexY = max($nexY, $pdf->GetY()); + $pageposafter = $pdf->getPage(); + $pdf->setPage($pageposbefore); + $pdf->setTopMargin($this->marge_haute); + $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + + // We suppose that a too long description is moved completely on next page + if ($pageposafter > $pageposbefore && empty($showpricebeforepagebreak)) { + $pdf->setPage($pageposafter); + $curY = $tab_top_newpage; + } + + $pdf->SetFont('', '', $default_font_size - 1); // On repositionne la police par defaut + + // Quantity + // Enough for 6 chars + if ($this->getColumnStatus('qty')) { + $qty = $bom->lines[$i]->qty; + $this->printStdColumnContent($pdf, $curY, 'qty', $qty); + $nexY = max($pdf->GetY(), $nexY); + } + + // Quantity + // Enough for 6 chars + if ($this->getColumnStatus('qtytot')) { + $qtytot = $object->qty * $bom->lines[$i]->qty; + $this->printStdColumnContent($pdf, $curY, 'qtytot', $qtytot); + $nexY = max($pdf->GetY(), $nexY); + } + + // Dimensions + if ($this->getColumnStatus('dim')) { + $array = array_filter(array($prod->length, $prod->width, $prod->height)); + $dim = implode("x", $array); + $this->printStdColumnContent($pdf, $curY, 'dim', $dim); + $nexY = max($pdf->GetY(), $nexY); + } + } + + + + + // Show square + if ($pagenb == $pageposbeforeprintlines) { + $this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, $hidetop, 0, $object->multicurrency_code); + $bottomlasttab = $this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforfooter + 1; + } else { + $this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 1, 0, $object->multicurrency_code); + $bottomlasttab = $this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforfooter + 1; + } + + // Affiche zone infos + $posy = $this->_tableau_info($pdf, $object, $bottomlasttab, $outputlangs); + + // Affiche zone totaux + //$posy = $this->_tableau_tot($pdf, $object, $deja_regle, $bottomlasttab, $outputlangs); + + // Affiche zone versements + if ($deja_regle || $amount_credit_notes_included || $amount_deposits_included) { + $posy = $this->_tableau_versements($pdf, $object, $posy, $outputlangs); + } + + // Pied de page + $this->_pagefoot($pdf, $object, $outputlangs); + if (method_exists($pdf, 'AliasNbPages')) { + $pdf->AliasNbPages(); + } + + $pdf->Close(); + + $pdf->Output($file, 'F'); + + // Add pdfgeneration hook + $hookmanager->initHooks(array('pdfgeneration')); + $parameters = array('file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs); + global $action; + $reshook = $hookmanager->executeHooks('afterPDFCreation', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) { + $this->error = $hookmanager->error; + $this->errors = $hookmanager->errors; + } + + if (!empty($conf->global->MAIN_UMASK)) { + @chmod($file, octdec($conf->global->MAIN_UMASK)); + } + + $this->result = array('fullpath'=>$file); + + return 1; // No error + } else { + $this->error = $langs->trans("ErrorCanNotCreateDir", $dir); + return 0; + } + } else { + $this->error = $langs->trans("ErrorConstantNotDefined", "SUPPLIER_OUTPUTDIR"); + return 0; + } + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Show payments table + * + * @param TCPDF $pdf Object PDF + * @param CommandeFournisseur $object Object order + * @param int $posy Position y in PDF + * @param Translate $outputlangs Object langs for output + * @return int <0 if KO, >0 if OK + */ + protected function _tableau_versements(&$pdf, $object, $posy, $outputlangs) + { + // phpcs:enable + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Show miscellaneous information (payment mode, payment term, ...) + * + * @param TCPDF $pdf Object PDF + * @param CommandeFournisseur $object Object to show + * @param int $posy Y + * @param Translate $outputlangs Langs object + * @return integer + */ + protected function _tableau_info(&$pdf, $object, $posy, $outputlangs) + { + // phpcs:enable + global $conf, $mysoc; + $default_font_size = pdf_getPDFFontSize($outputlangs); + + // If France, show VAT mention if not applicable + if ($this->emetteur->country_code == 'FR' && empty($mysoc->tva_assuj)) { + $pdf->SetFont('', 'B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("VATIsNotUsedForInvoice"), 0, 'L', 0); + + $posy = $pdf->GetY() + 4; + } + + $posxval = 52; + + // Show payments conditions + if (!empty($object->cond_reglement_code) || $object->cond_reglement) { + $pdf->SetFont('', 'B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("PaymentConditions").':'; + $pdf->MultiCell(80, 4, $titre, 0, 'L'); + + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $lib_condition_paiement = $outputlangs->transnoentities("PaymentCondition".$object->cond_reglement_code) != ('PaymentCondition'.$object->cond_reglement_code) ? $outputlangs->transnoentities("PaymentCondition".$object->cond_reglement_code) : $outputlangs->convToOutputCharset($object->cond_reglement_doc ? $object->cond_reglement_doc : $object->cond_reglement_label); + $lib_condition_paiement = str_replace('\n', "\n", $lib_condition_paiement); + $pdf->MultiCell(80, 4, $lib_condition_paiement, 0, 'L'); + + $posy = $pdf->GetY() + 3; + } + + // Show payment mode + if (!empty($object->mode_reglement_code)) { + $pdf->SetFont('', 'B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("PaymentMode").':'; + $pdf->MultiCell(80, 5, $titre, 0, 'L'); + + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $lib_mode_reg = $outputlangs->transnoentities("PaymentType".$object->mode_reglement_code) != ('PaymentType'.$object->mode_reglement_code) ? $outputlangs->transnoentities("PaymentType".$object->mode_reglement_code) : $outputlangs->convToOutputCharset($object->mode_reglement); + $pdf->MultiCell(80, 5, $lib_mode_reg, 0, 'L'); + + $posy = $pdf->GetY() + 2; + } + + + return $posy; + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Show total to pay + * + * @param TCPDF $pdf Object PDF + * @param Facture $object Object invoice + * @param int $deja_regle Montant deja regle + * @param int $posy Position depart + * @param Translate $outputlangs Objet langs + * @return int Position pour suite + */ + protected function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs) + { + // phpcs:enable + global $conf, $mysoc; + + $default_font_size = pdf_getPDFFontSize($outputlangs); + + $tab2_top = $posy; + $tab2_hl = 4; + $pdf->SetFont('', '', $default_font_size - 1); + + // Tableau total + $col1x = 120; + $col2x = 170; + if ($this->page_largeur < 210) { // To work with US executive format + $col2x -= 20; + } + $largcol2 = ($this->page_largeur - $this->marge_droite - $col2x); + + $useborder = 0; + $index = 0; + + // Total HT + $pdf->SetFillColor(255, 255, 255); + $pdf->SetXY($col1x, $tab2_top + 0); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1); + + $total_ht = ((!empty($conf->multicurrency->enabled) && isset($object->multicurrency_tx) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ht : $object->total_ht); + $pdf->SetXY($col2x, $tab2_top + 0); + $pdf->MultiCell($largcol2, $tab2_hl, price($total_ht + (!empty($object->remise) ? $object->remise : 0)), 0, 'R', 1); + + // Show VAT by rates and total + $pdf->SetFillColor(248, 248, 248); + + $this->atleastoneratenotnull = 0; + foreach ($this->tva as $tvakey => $tvaval) { + if ($tvakey > 0) { // On affiche pas taux 0 + $this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl = ''; + + if (preg_match('/\*/', $tvakey)) { + $tvakey = str_replace('*', '', $tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + + $totalvat = $outputlangs->transcountrynoentities("TotalVAT", $mysoc->country_code).' '; + $totalvat .= vatrate($tvakey, 1).$tvacompl; + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1); + } + } + if (!$this->atleastoneratenotnull) { // If no vat at all + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalVAT", $mysoc->country_code), 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_tva), 0, 'R', 1); + + // Total LocalTax1 + if (!empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION == 'localtax1on' && $object->total_localtax1 > 0) { + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT1", $mysoc->country_code), 0, 'L', 1); + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), $useborder, 'R', 1); + } + + // Total LocalTax2 + if (!empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION == 'localtax2on' && $object->total_localtax2 > 0) { + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT2", $mysoc->country_code), 0, 'L', 1); + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), $useborder, 'R', 1); + } + } else { + //if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on') + //{ + //Local tax 1 + foreach ($this->localtax1 as $localtax_type => $localtax_rate) { + if (in_array((string) $localtax_type, array('2', '4', '6'))) { + continue; + } + + foreach ($localtax_rate as $tvakey => $tvaval) { + if ($tvakey != 0) { // On affiche pas taux 0 + //$this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl = ''; + if (preg_match('/\*/', $tvakey)) { + $tvakey = str_replace('*', '', $tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat = $outputlangs->transcountrynoentities("TotalLT1", $mysoc->country_code).' '; + $totalvat .= vatrate(abs($tvakey), 1).$tvacompl; + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1); + } + } + } + + //if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on') + //{ + //Local tax 2 + foreach ($this->localtax2 as $localtax_type => $localtax_rate) { + if (in_array((string) $localtax_type, array('2', '4', '6'))) { + continue; + } + + foreach ($localtax_rate as $tvakey => $tvaval) { + if ($tvakey != 0) { // On affiche pas taux 0 + //$this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl = ''; + if (preg_match('/\*/', $tvakey)) { + $tvakey = str_replace('*', '', $tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat = $outputlangs->transcountrynoentities("TotalLT2", $mysoc->country_code).' '; + $totalvat .= vatrate(abs($tvakey), 1).$tvacompl; + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1); + } + } + } + } + + // Total TTC + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFillColor(224, 224, 224); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("TotalTTC"), $useborder, 'L', 1); + + $total_ttc = (!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? $object->multicurrency_total_ttc : $object->total_ttc; + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($total_ttc), $useborder, 'R', 1); + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->SetTextColor(0, 0, 0); + + $creditnoteamount = 0; + $depositsamount = 0; + //$creditnoteamount=$object->getSumCreditNotesUsed(); + //$depositsamount=$object->getSumDepositsUsed(); + //print "x".$creditnoteamount."-".$depositsamount;exit; + $resteapayer = price2num($total_ttc - $deja_regle - $creditnoteamount - $depositsamount, 'MT'); + if (!empty($object->paye)) { + $resteapayer = 0; + } + + if ($deja_regle > 0) { + // Already paid + Deposits + $index++; + + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("AlreadyPaid"), 0, 'L', 0); + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle), 0, 'R', 0); + + $index++; + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFillColor(224, 224, 224); + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x - $col1x, $tab2_hl, $outputlangs->transnoentities("RemainderToPay"), $useborder, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer), $useborder, 'R', 1); + + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->SetTextColor(0, 0, 0); + } + + $index++; + return ($tab2_top + ($tab2_hl * $index)); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + /** + * Show table for lines + * + * @param TCPDF $pdf Object PDF + * @param string $tab_top Top position of table + * @param string $tab_height Height of table (rectangle) + * @param int $nexY Y (not used) + * @param Translate $outputlangs Langs object + * @param int $hidetop Hide top bar of array + * @param int $hidebottom Hide bottom bar of array + * @param string $currency Currency code + * @return void + */ + protected function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') + { + global $conf; + + // Force to disable hidetop and hidebottom + $hidebottom = 0; + if ($hidetop) { + $hidetop = -1; + } + + $currency = !empty($currency) ? $currency : $conf->currency; + $default_font_size = pdf_getPDFFontSize($outputlangs); + + // Amount in (at tab_top - 1) + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + + if (empty($hidetop)) { + //$titre = $outputlangs->transnoentities("AmountInCurrency", $outputlangs->transnoentitiesnoconv("Currency".$currency)); + $pdf->SetXY($this->page_largeur - $this->marge_droite - ($pdf->GetStringWidth($titre) + 3), $tab_top - 4); + $pdf->MultiCell(($pdf->GetStringWidth($titre) + 3), 2, $titre); + + //$conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR='230,230,230'; + if (!empty($conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR)) { + $pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur - $this->marge_droite - $this->marge_gauche, $this->tabTitleHeight, 'F', null, explode(',', $conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR)); + } + } + + $pdf->SetDrawColor(128, 128, 128); + $pdf->SetFont('', '', $default_font_size - 1); + + // Output Rect + $this->printRect($pdf, $this->marge_gauche, $tab_top, $this->page_largeur - $this->marge_gauche - $this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect takes a length in 3rd parameter and 4th parameter + + foreach ($this->cols as $colKey => $colDef) { + if (!$this->getColumnStatus($colKey)) { + continue; + } + + // get title label + $colDef['title']['label'] = !empty($colDef['title']['label']) ? $colDef['title']['label'] : $outputlangs->transnoentities($colDef['title']['textkey']); + + // Add column separator + if (!empty($colDef['border-left'])) { + $pdf->line($colDef['xStartPos'], $tab_top, $colDef['xStartPos'], $tab_top + $tab_height); + } + + if (empty($hidetop)) { + $pdf->SetXY($colDef['xStartPos'] + $colDef['title']['padding'][3], $tab_top + $colDef['title']['padding'][0]); + + $textWidth = $colDef['width'] - $colDef['title']['padding'][3] - $colDef['title']['padding'][1]; + $pdf->MultiCell($textWidth, 2, $colDef['title']['label'], '', $colDef['title']['align']); + } + } + + if (empty($hidetop)) { + $pdf->line($this->marge_gauche, $tab_top + 5, $this->page_largeur - $this->marge_droite, $tab_top + 5); // line takes a position y in 2nd parameter and 4th parameter + } + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + /** + * Show top header of page. + * + * @param TCPDF $pdf Object PDF + * @param CommandeFournisseur $object Object to show + * @param int $showaddress 0=no, 1=yes + * @param Translate $outputlangs Object lang for output + * @return void + */ + protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs) + { + global $langs, $conf, $mysoc; + + $ltrdirection = 'L'; + if ($outputlangs->trans("DIRECTION") == 'rtl') $ltrdirection = 'R'; + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "orders", "companies", "bills", "sendings")); + + $default_font_size = pdf_getPDFFontSize($outputlangs); + + // Do not add the BACKGROUND as this is for suppliers + //pdf_pagehead($pdf,$outputlangs,$this->page_hauteur); + + //Affiche le filigrane brouillon - Print Draft Watermark + /*if($object->statut==0 && (! empty($conf->global->COMMANDE_DRAFT_WATERMARK)) ) + { + pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->COMMANDE_DRAFT_WATERMARK); + }*/ + //Print content + + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFont('', 'B', $default_font_size + 3); + + $posx = $this->page_largeur - $this->marge_droite - 100; + $posy = $this->marge_haute; + + $pdf->SetXY($this->marge_gauche, $posy); + + // Logo + $logo = $conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo; + if ($this->emetteur->logo) { + if (is_readable($logo)) { + $height = pdf_getHeightForLogo($logo); + $pdf->Image($logo, $this->marge_gauche, $posy, 0, $height); // width=0 (auto) + } else { + $pdf->SetTextColor(200, 0, 0); + $pdf->SetFont('', 'B', $default_font_size - 2); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound", $logo), 0, 'L'); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToModuleSetup"), 0, 'L'); + } + } else { + $text = $this->emetteur->name; + $pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, $ltrdirection); + } + + $pdf->SetFont('', 'B', $default_font_size + 3); + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $title = $outputlangs->transnoentities("Mo")." ".$outputlangs->convToOutputCharset($object->ref); + $pdf->MultiCell(100, 3, $title, '', 'R'); + $posy += 1; + + if ($object->ref_supplier) { + $posy += 4; + $pdf->SetFont('', 'B', $default_font_size); + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("RefSupplier")." : ".$outputlangs->convToOutputCharset($object->ref_supplier), '', 'R'); + $posy += 1; + } + + $pdf->SetFont('', '', $default_font_size - 1); + if (!empty($conf->global->PDF_SHOW_PROJECT_TITLE)) { + $object->fetch_projet(); + if (!empty($object->project->ref)) { + $posy += 3; + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell($w, 3, $outputlangs->transnoentities("Project")." : ".(empty($object->project->title) ? '' : $object->project->title), '', 'R'); + } + } + + if (!empty($conf->global->PDF_SHOW_PROJECT)) { + $object->fetch_projet(); + if (!empty($object->project->ref)) { + $outputlangs->load("projects"); + $posy += 4; + $pdf->SetXY($posx, $posy); + $langs->load("projects"); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Project")." : ".(empty($object->project->ref) ? '' : $object->project->ref), '', 'R'); + } + } + + if (!empty($object->date_approve)) { + $posy += 5; + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("MoDate")." : ".dol_print_date($object->date_approve, "day", false, $outputlangs, true), '', 'R'); + } else { + $posy += 5; + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(255, 0, 0); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ToApprove"), '', 'R'); + } + + // product info + $posy += 7; + $prodToMake = new Product($this->db); + $prodToMake->fetch($object->fk_product); + $pdf->SetFont('', 'B', $default_font_size + 1); + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell($w, 3, $prodToMake->ref, '', 'R'); + + $posy += 5; + $prodToMake = new Product($this->db); + $prodToMake->fetch($object->fk_product); + $pdf->SetFont('', 'B', $default_font_size + 3); + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell($w, 3, $prodToMake->description, '', 'R'); + + $array = array_filter(array($prodToMake->length, $prodToMake->width, $prodToMake->height)); + $dim = implode("x", $array); + if (!empty($dim)) { + $posy += 5; + $pdf->SetFont('', 'B', $default_font_size + 3); + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell($w, 3, $dim, '', 'R'); + } + + $posy += 5; + $prodToMake = new Product($this->db); + $prodToMake->fetch($object->fk_product); + $pdf->SetFont('', 'B', $default_font_size + 3); + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell($w, 3, $outputlangs->transnoentities("QtyToProduce").": " .$object->qty, '', 'R'); + + + $pdf->SetTextColor(0, 0, 60); + $usehourmin = 'day'; + if (!empty($conf->global->SUPPLIER_ORDER_USE_HOUR_FOR_DELIVERY_DATE)) { + $usehourmin = 'dayhour'; + } + if (!empty($object->delivery_date)) { + $posy += 4; + $pdf->SetXY($posx - 90, $posy); + $pdf->MultiCell(190, 3, $outputlangs->transnoentities("DateDeliveryPlanned")." : ".dol_print_date($object->delivery_date, $usehourmin, false, $outputlangs, true), '', 'R'); + } + + if ($object->thirdparty->code_fournisseur) { + $posy += 4; + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("SupplierCode")." : ".$outputlangs->transnoentities($object->thirdparty->code_fournisseur), '', 'R'); + } + + // Get contact + if (!empty($conf->global->DOC_SHOW_FIRST_SALES_REP)) { + $arrayidcontact = $object->getIdContact('internal', 'SALESREPFOLL'); + if (count($arrayidcontact) > 0) { + $usertmp = new User($this->db); + $usertmp->fetch($arrayidcontact[0]); + $posy += 4; + $pdf->SetXY($posx, $posy); + $pdf->SetTextColor(0, 0, 60); + $pdf->MultiCell(100, 3, $langs->trans("BuyerName")." : ".$usertmp->getFullName($langs), '', 'R'); + } + } + + $posy += 1; + $pdf->SetTextColor(0, 0, 60); + + $top_shift = 0; + // Show list of linked objects + $current_y = $pdf->getY(); + $posy = pdf_writeLinkedObjects($pdf, $object, $outputlangs, $posx, $posy, 100, 3, 'R', $default_font_size); + if ($current_y < $pdf->getY()) { + $top_shift = $pdf->getY() - $current_y; + } + + if ($showaddress) { + // Sender properties + $carac_emetteur = ''; + // Add internal contact of proposal if defined + $arrayidcontact = $object->getIdContact('internal', 'SALESREPFOLL'); + if (count($arrayidcontact) > 0) { + $object->fetch_user($arrayidcontact[0]); + $carac_emetteur .= ($carac_emetteur ? "\n" : '').$outputlangs->convToOutputCharset($object->user->getFullName($outputlangs))."\n"; + } + + $carac_emetteur .= pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, '', 0, 'source', $object); + + // Show sender + $posy = 42 + $top_shift; + $posx = $this->marge_gauche; + if (!empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) { + $posx = $this->page_largeur - $this->marge_droite - 80; + } + $hautcadre = 40; + + // Show sender frame + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + + // Show sender name + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + + // Show sender information + $pdf->SetXY($posx + 2, $posy); + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->MultiCell(80, 4, $carac_emetteur, 0, $ltrdirection); + + + + // If CUSTOMER contact defined on order, we use it. Note: Even if this is a supplier object, the code for external contat that follow order is 'CUSTOMER' + $usecontact = false; + $arrayidcontact = $object->getIdContact('external', 'CUSTOMER'); + if (count($arrayidcontact) > 0) { + $usecontact = true; + $result = $object->fetch_contact($arrayidcontact[0]); + } + + // Recipient name + if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + $thirdparty = $object->contact; + } else { + $thirdparty = $object->thirdparty; + } + + //$carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); + + //$carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + + // Show recipient + //$widthrecbox = 100; + //if ($this->page_largeur < 210) { + // $widthrecbox = 84; // To work with US executive format + //} + //$posy = 42 + $top_shift; + //$posx = $this->page_largeur - $this->marge_droite - $widthrecbox; + //if (!empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) { + // $posx = $this->marge_gauche; + //} + // + //// Show recipient frame + //$pdf->SetTextColor(0, 0, 0); + //$pdf->SetFont('', '', $default_font_size - 2); + //$pdf->SetXY($posx + 2, $posy - 5); + //$pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + //$pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + // + //// Show recipient name + //$pdf->SetXY($posx + 2, $posy + 3); + //$pdf->SetFont('', 'B', $default_font_size); + //$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, $ltrdirection); + // + //$posy = $pdf->getY(); + // + //// Show recipient information + //$pdf->SetFont('', '', $default_font_size - 1); + //$pdf->SetXY($posx + 2, $posy); + //$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, $ltrdirection); + } + + return $top_shift; + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + /** + * Show footer of page. Need this->emetteur object + * + * @param TCPDF $pdf PDF + * @param CommandeFournisseur $object Object to show + * @param Translate $outputlangs Object lang for output + * @param int $hidefreetext 1=Hide free text + * @return int Return height of bottom margin including footer text + */ + protected function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) + { + global $conf; + $showdetails = empty($conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS) ? 0 : $conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; + return pdf_pagefoot($pdf, $outputlangs, 'SUPPLIER_ORDER_FREE_TEXT', $this->emetteur, $this->marge_basse, $this->marge_gauche, $this->page_hauteur, $object, $showdetails, $hidefreetext); + } + + + + /** + * Define Array Column Field + * + * @param object $object common object + * @param Translate $outputlangs langs + * @param int $hidedetails Do not show line details + * @param int $hidedesc Do not show desc + * @param int $hideref Do not show ref + * @return null + */ + public function defineColumnField($object, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) + { + global $conf, $hookmanager; + + // Default field style for content + $this->defaultContentsFieldsStyle = array( + 'align' => 'R', // R,C,L + 'padding' => array(1, 0.5, 1, 0.5), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ); + + // Default field style for content + $this->defaultTitlesFieldsStyle = array( + 'align' => 'C', // R,C,L + 'padding' => array(0.5, 0, 0.5, 0), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ); + + /* + * For exemple + $this->cols['theColKey'] = array( + 'rank' => $rank, // int : use for ordering columns + 'width' => 20, // the column width in mm + 'title' => array( + 'textkey' => 'yourLangKey', // if there is no label, yourLangKey will be translated to replace label + 'label' => ' ', // the final label : used fore final generated text + 'align' => 'L', // text alignement : R,C,L + 'padding' => array(0.5,0.5,0.5,0.5), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ), + 'content' => array( + 'align' => 'L', // text alignement : R,C,L + 'padding' => array(0.5,0.5,0.5,0.5), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ), + ); + */ + $rank = 0; + $this->cols['code'] = array( + 'rank' => $rank, + 'status' => false, + 'width' => 35, // in mm + 'title' => array( + 'textkey' => 'Ref' + ), + 'border-left' => true, // add left line separator + ); + $this->cols['code']['status'] = true; + + $rank = 1; // do not use negative rank + $this->cols['desc'] = array( + 'rank' => $rank, + 'width' => false, // only for desc + 'status' => true, + 'title' => array( + 'textkey' => 'Designation', // use lang key is usefull in somme case with module + 'align' => 'L', + // 'textkey' => 'yourLangKey', // if there is no label, yourLangKey will be translated to replace label + // 'label' => ' ', // the final label + 'padding' => array(0.5, 1, 0.5, 1.5), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ), + 'border-left' => true, + 'content' => array( + 'align' => 'L', + 'padding' => array(1, 0.5, 1, 1.5), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ), + ); + + $rank = $rank + 10; + $this->cols['photo'] = array( + 'rank' => $rank, + 'width' => (empty($conf->global->MAIN_DOCUMENTS_WITH_PICTURE_WIDTH) ? 20 : $conf->global->MAIN_DOCUMENTS_WITH_PICTURE_WIDTH), // in mm + 'status' => false, + 'title' => array( + 'textkey' => 'Photo', + 'label' => ' ' + ), + 'content' => array( + 'padding' => array(0, 0, 0, 0), // Like css 0 => top , 1 => right, 2 => bottom, 3 => left + ), + 'border-left' => false, // remove left line separator + ); + + if (!empty($conf->global->MAIN_GENERATE_ORDERS_WITH_PICTURE)) { + $this->cols['photo']['status'] = true; + } + + $rank = $rank + 10; + $this->cols['dim'] = array( + 'rank' => $rank, + 'status' => false, + 'width' => 25, // in mm + 'title' => array( + 'textkey' => 'Size' + ), + 'border-left' => true, // add left line separator + ); + $this->cols['dim']['status'] = true; + + $rank = $rank + 10; + $this->cols['qty'] = array( + 'rank' => $rank, + 'width' => 16, // in mm + 'status' => true, + 'title' => array( + 'textkey' => 'Qty' + ), + 'border-left' => true, // add left line separator + ); + $this->cols['qty']['status'] = true; + + $rank = $rank + 10; + $this->cols['qtytot'] = array( + 'rank' => $rank, + 'width' => 25, // in mm + 'status' => true, + 'title' => array( + 'textkey' => 'QtyTot' + ), + 'border-left' => true, // add left line separator + ); + $this->cols['qtytot']['status'] = true; + + // Add extrafields cols + if (!empty($object->lines)) { + $line = reset($object->lines); + $this->defineColumnExtrafield($line, $outputlangs, $hidedetails); + } + + $parameters = array( + 'object' => $object, + 'outputlangs' => $outputlangs, + 'hidedetails' => $hidedetails, + 'hidedesc' => $hidedesc, + 'hideref' => $hideref + ); + + $reshook = $hookmanager->executeHooks('defineColumnField', $parameters, $this); // Note that $object may have been modified by hook + if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + } elseif (empty($reshook)) { + $this->cols = array_replace($this->cols, $hookmanager->resArray); // array_replace is used to preserve keys + } else { + $this->cols = $hookmanager->resArray; + } + } +} diff --git a/htdocs/core/modules/mrp/mod_mo_advanced.php b/htdocs/core/modules/mrp/mod_mo_advanced.php index 14292f7f896..ba518159dbf 100644 --- a/htdocs/core/modules/mrp/mod_mo_advanced.php +++ b/htdocs/core/modules/mrp/mod_mo_advanced.php @@ -82,7 +82,7 @@ class mod_mo_advanced extends ModeleNumRefMos $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/payment/mod_payment_ant.php b/htdocs/core/modules/payment/mod_payment_ant.php index dca32b26505..958074202fe 100644 --- a/htdocs/core/modules/payment/mod_payment_ant.php +++ b/htdocs/core/modules/payment/mod_payment_ant.php @@ -84,7 +84,7 @@ class mod_payment_ant extends ModeleNumRefPayments $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index ace8a5da188..226ed6c43cd 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -237,7 +237,7 @@ class printing_printgcp extends PrintingDriver if ($conf->global->PRINTING_GCP_DEFAULT == $printer_det['id']) { $html .= img_picto($langs->trans("Default"), 'on'); } else { - $html .= ''.img_picto($langs->trans("Disabled"), 'off').''; + $html .= ''.img_picto($langs->trans("Disabled"), 'off').''; } $html .= ''; $html .= ''."\n"; @@ -334,7 +334,7 @@ class printing_printgcp extends PrintingDriver $fileprint .= '/'.$file; $mimetype = dol_mimetype($fileprint); // select printer uri for module order, propal,... - $sql = "SELECT rowid, printer_id, copy FROM ".MAIN_DB_PREFIX."printing WHERE module='".$this->db->escape($module)."' AND driver='printgcp' AND userid=".$user->id; + $sql = "SELECT rowid, printer_id, copy FROM ".MAIN_DB_PREFIX."printing WHERE module='".$this->db->escape($module)."' AND driver='printgcp' AND userid=".((int) $user->id); $result = $this->db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); diff --git a/htdocs/core/modules/printing/printipp.modules.php b/htdocs/core/modules/printing/printipp.modules.php index b4d4c89b47f..f290b2b4e90 100644 --- a/htdocs/core/modules/printing/printipp.modules.php +++ b/htdocs/core/modules/printing/printipp.modules.php @@ -148,7 +148,7 @@ class printing_printipp extends PrintingDriver } // select printer uri for module order, propal,... - $sql = "SELECT rowid,printer_id,copy FROM ".MAIN_DB_PREFIX."printing WHERE module = '".$this->db->escape($module)."' AND driver = 'printipp' AND userid = ".$user->id; + $sql = "SELECT rowid,printer_id,copy FROM ".MAIN_DB_PREFIX."printing WHERE module = '".$this->db->escape($module)."' AND driver = 'printipp' AND userid = ".((int) $user->id); $result = $this->db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); @@ -233,7 +233,7 @@ class printing_printipp extends PrintingDriver if ($conf->global->PRINTIPP_URI_DEFAULT == $value) { $html .= img_picto($langs->trans("Default"), 'on'); } else { - $html .= ''.img_picto($langs->trans("Disabled"), 'off').''; + $html .= ''.img_picto($langs->trans("Disabled"), 'off').''; } $html .= ''; $html .= ''."\n"; @@ -309,7 +309,7 @@ class printing_printipp extends PrintingDriver $ipp->setAuthentication($this->user, $this->password); } // select printer uri for module order, propal,... - $sql = 'SELECT rowid,printer_uri,printer_name FROM '.MAIN_DB_PREFIX.'printer_ipp WHERE module="'.$module.'"'; + $sql = "SELECT rowid,printer_uri,printer_name FROM ".MAIN_DB_PREFIX."printer_ipp WHERE module = '".$this->db->escape($module)."'"; $result = $this->db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); diff --git a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php index 1acf50dd95a..d702299769e 100644 --- a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php +++ b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php @@ -118,15 +118,10 @@ class doc_generic_product_odt extends ModelePDFProduct $form = new Form($this->db); $texte = $this->description.".
    \n"; - $texte .= '
    '; + $texte .= ''; $texte .= ''; $texte .= ''; $texte .= ''; - if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0) { - $texte .= ''; - $texte .= ''; - $texte .= ''; - } $texte .= ''; // List of directories area @@ -161,39 +156,29 @@ class doc_generic_product_odt extends ModelePDFProduct $texte .= $conf->global->PRODUCT_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories - if (count($listofdir)) { + $nbofiles = count($listoffiles); + if (!empty($conf->global->PRODUCT_ADDON_PDF_ODT_PATH)) { $texte .= $langs->trans("NumberOfModelFilesFound").': '.count($listoffiles).''; - - /*if ($conf->global->MAIN_PRODUCT_CHOOSE_ODT_DOCUMENT > 0) - { - // Model for creation - $liste=ModelePDFProduct::liste_modeles($this->db); - $texte.= '
    '; - $texte.= ''; - $texte.= ''; - $texte.= '"; - - $texte.= ''; - $texte.= ''; - $texte.= '"; - $texte.= ''; - - $texte.= ''; - $texte.= '"; - $texte.= '
    '.$langs->trans("DefaultModelPropalCreate").''; - $texte.= $form->selectarray('value2',$liste,$conf->global->PRODUCT_ADDON_PDF_ODT_DEFAULT); - $texte.= "
    '.$langs->trans("DefaultModelPropalToBill").''; - $texte.= $form->selectarray('value3',$liste,$conf->global->PRODUCT_ADDON_PDF_ODT_TOBILL); - $texte.= "
    '.$langs->trans("DefaultModelPropalClosed").''; - $texte.= $form->selectarray('value4',$liste,$conf->global->PRODUCT_ADDON_PDF_ODT_CLOSED); - $texte.= "
    '; - }*/ } + if ($nbofiles) { + $texte .= '
    '; + // Show list of found files + foreach ($listoffiles as $file) { + $texte .= '- '.$file['name'].' '.img_picto('', 'listlight').'
    '; + } + $texte .= '
    '; + } + // Add input to upload a new template file. + $texte .= '
    '.$langs->trans("UploadNewTemplate").' '; + $texte .= ''; + $texte .= ''; + $texte .= '
    '; + $texte .= ''; $texte .= ''; @@ -319,11 +304,14 @@ class doc_generic_product_odt extends ModelePDFProduct // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { @@ -344,7 +332,7 @@ class doc_generic_product_odt extends ModelePDFProduct // Line of free text $newfreetext = ''; - $paramfreetext = 'product_FREE_TEXT'; + $paramfreetext = 'PRODUCT_FREE_TEXT'; if (!empty($conf->global->$paramfreetext)) { $newfreetext = make_substitutions($conf->global->$paramfreetext, $substitutionarray); } @@ -372,7 +360,6 @@ class doc_generic_product_odt extends ModelePDFProduct //print html_entity_decode($odfHandler->__toString()); //print exit; - $object->fetch_optionals(); // Make substitutions into odt of freetext try { @@ -399,7 +386,7 @@ class doc_generic_product_odt extends ModelePDFProduct complete_substitutions_array($tmparray, $outputlangs, $object); // Call the ODTSubstitution hook - $parameters = array('file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray); + $parameters = array('odfHandler'=>&$odfHandler, 'file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray); $reshook = $hookmanager->executeHooks('ODTSubstitution', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks foreach ($tmparray as $key => $value) { @@ -480,6 +467,7 @@ class doc_generic_product_odt extends ModelePDFProduct } } + $parameters = array('odfHandler'=>&$odfHandler, 'file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray); $reshook = $hookmanager->executeHooks('afterODTCreation', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks if (!empty($conf->global->MAIN_UMASK)) { diff --git a/htdocs/core/modules/product/mod_codeproduct_elephant.php b/htdocs/core/modules/product/mod_codeproduct_elephant.php index 5936476e079..9e32dc38fab 100644 --- a/htdocs/core/modules/product/mod_codeproduct_elephant.php +++ b/htdocs/core/modules/product/mod_codeproduct_elephant.php @@ -118,7 +118,7 @@ class mod_codeproduct_elephant extends ModeleProductCode $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("ProductCodeModel").'):'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/product/modules_product.class.php b/htdocs/core/modules/product/modules_product.class.php index e0141348568..fef12717e3b 100644 --- a/htdocs/core/modules/product/modules_product.class.php +++ b/htdocs/core/modules/product/modules_product.class.php @@ -193,7 +193,8 @@ abstract class ModeleProductCode { global $conf; - $langs->load("admin"); + $langs->loadLangs(array("admin", "companies")); + $strikestart = ''; $strikeend = ''; if (!empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED) && !empty($this->code_null)) { diff --git a/htdocs/core/modules/product_batch/mod_lot_advanced.php b/htdocs/core/modules/product_batch/mod_lot_advanced.php index 0bbb124d14b..d44a261a16b 100644 --- a/htdocs/core/modules/product_batch/mod_lot_advanced.php +++ b/htdocs/core/modules/product_batch/mod_lot_advanced.php @@ -82,14 +82,14 @@ class mod_lot_advanced extends ModeleNumRefBatch $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; // Option to enable custom masks per product $texte .= ''; if ($conf->global->PRODUCTBATCH_LOT_USE_PRODUCT_MASKS) { - $texte .= ''.img_picto($langs->trans("Enabled"), 'on').''; + $texte .= ''.img_picto($langs->trans("Enabled"), 'on').''; } else { - $texte .= ''.img_picto($langs->trans("Disabled"), 'off').''; + $texte .= ''.img_picto($langs->trans("Disabled"), 'off').''; } $texte .= ' '.$langs->trans('CustomMasks')."\n"; $texte .= ''; @@ -128,27 +128,27 @@ class mod_lot_advanced extends ModeleNumRefBatch /** * Return next free value * - * @param Product $objprod Object product + * @param Societe $objsoc Object Societe * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - public function getNextValue($objprod, $object) + public function getNextValue($objsoc, $object) { global $db, $conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; // We get cursor rule - $mask = $conf->global->BATCH_ADVANCED_MASK; + $mask = $conf->global->LOT_ADVANCED_MASK; if (!$mask) { $this->error = 'NotConfigured'; return 0; } - $date = $object->date; + $date = dol_now(); - $numFinal = get_next_value($db, $mask, 'product_lot', 'ref', '', null, $date); + $numFinal = get_next_value($db, $mask, 'product_lot', 'batch', '', null, $date); return $numFinal; } diff --git a/htdocs/core/modules/product_batch/mod_lot_free.php b/htdocs/core/modules/product_batch/mod_lot_free.php index 0f069143ab1..def14bd37b3 100644 --- a/htdocs/core/modules/product_batch/mod_lot_free.php +++ b/htdocs/core/modules/product_batch/mod_lot_free.php @@ -18,7 +18,7 @@ */ /** - * \file htdocs/core/modules/product/mod_lot_free.php + * \file htdocs/core/modules/product_batch/mod_lot_free.php * \ingroup productbatch * \brief File containing class for numbering model of Lot free */ diff --git a/htdocs/core/modules/product_batch/mod_lot_standard.php b/htdocs/core/modules/product_batch/mod_lot_standard.php index 0d2b5a55139..59de1965a6e 100644 --- a/htdocs/core/modules/product_batch/mod_lot_standard.php +++ b/htdocs/core/modules/product_batch/mod_lot_standard.php @@ -85,17 +85,21 @@ class mod_lot_standard extends ModeleNumRefBatch $coyymm = ''; $max = ''; $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { - $row = $db->fetch_row($resql); - if ($row) { $coyymm = substr($row[0], 0, 6); $max = $row[0]; } + $obj = $db->fetch_object($resql); + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } - if ($coyymm && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $coyymm)) { + if ($max && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $max)) { $langs->load("errors"); $this->error = $langs->trans('ErrorNumRefModel', $max); return false; @@ -117,23 +121,26 @@ class mod_lot_standard extends ModeleNumRefBatch // First, we get the max value $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); - if ($obj) $max = intval($obj->max); - else $max = 0; + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } else { dol_syslog("mod_lot_standard::getNextValue", LOG_DEBUG); return -1; } //$date=time(); - $date = $object->date_creation; + $date = dol_now(); $yymm = strftime("%y%m", $date); if ($max >= (pow(10, 4) - 1)) $num = $max + 1; // If counter > 9999, we do not format on 4 chars, we take number as it is diff --git a/htdocs/core/modules/product_batch/mod_sn_advanced.php b/htdocs/core/modules/product_batch/mod_sn_advanced.php index 8117b9e6c6e..abe094220d2 100644 --- a/htdocs/core/modules/product_batch/mod_sn_advanced.php +++ b/htdocs/core/modules/product_batch/mod_sn_advanced.php @@ -22,7 +22,7 @@ */ /** - * \file htdocs/core/modules/product_batch/mod_batch_advanced.php + * \file htdocs/core/modules/product_batch/mod_sn_advanced.php * \ingroup productbatch * \brief File containing class for numbering model of SN advanced */ @@ -82,14 +82,14 @@ class mod_sn_advanced extends ModeleNumRefBatch $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; // Option to enable custom masks per product $texte .= ''; if ($conf->global->PRODUCTBATCH_SN_USE_PRODUCT_MASKS) { - $texte .= ''.img_picto($langs->trans("Enabled"), 'on').''; + $texte .= ''.img_picto($langs->trans("Enabled"), 'on').''; } else { - $texte .= ''.img_picto($langs->trans("Disabled"), 'off').''; + $texte .= ''.img_picto($langs->trans("Disabled"), 'off').''; } $texte .= ' '.$langs->trans('CustomMasks')."\n"; $texte .= ''; @@ -139,16 +139,16 @@ class mod_sn_advanced extends ModeleNumRefBatch require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; // We get cursor rule - $mask = $conf->global->BATCH_ADVANCED_MASK; + $mask = $conf->global->SN_ADVANCED_MASK; if (!$mask) { $this->error = 'NotConfigured'; return 0; } - $date = $object->date; + $date = dol_now(); - $numFinal = get_next_value($db, $mask, 'product_sn', 'ref', '', null, $date); + $numFinal = get_next_value($db, $mask, 'product_lot', 'batch', '', null, $date); return $numFinal; } diff --git a/htdocs/core/modules/product_batch/mod_sn_free.php b/htdocs/core/modules/product_batch/mod_sn_free.php index 95e1bd20359..67d39ec085a 100644 --- a/htdocs/core/modules/product_batch/mod_sn_free.php +++ b/htdocs/core/modules/product_batch/mod_sn_free.php @@ -18,7 +18,7 @@ */ /** - * \file htdocs/core/modules/product/mod_sn_free.php + * \file htdocs/core/modules/product_batch/mod_sn_free.php * \ingroup productbatch * \brief File containing class for numbering model of SN free */ diff --git a/htdocs/core/modules/product_batch/mod_sn_standard.php b/htdocs/core/modules/product_batch/mod_sn_standard.php index bef5efcd9f8..845044c39f3 100644 --- a/htdocs/core/modules/product_batch/mod_sn_standard.php +++ b/htdocs/core/modules/product_batch/mod_sn_standard.php @@ -85,17 +85,21 @@ class mod_sn_standard extends ModeleNumRefBatch $coyymm = ''; $max = ''; $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { - $row = $db->fetch_row($resql); - if ($row) { $coyymm = substr($row[0], 0, 6); $max = $row[0]; } + $obj = $db->fetch_object($resql); + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } - if ($coyymm && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $coyymm)) { + if ($max && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $max)) { $langs->load("errors"); $this->error = $langs->trans('ErrorNumRefModel', $max); return false; @@ -107,33 +111,36 @@ class mod_sn_standard extends ModeleNumRefBatch /** * Return next free value * - * @param Product $objprod Object product + * @param Societe $objsoc Object product * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - public function getNextValue($objprod, $object) + public function getNextValue($objsoc, $object) { global $db, $conf; // First, we get the max value $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); - if ($obj) $max = intval($obj->max); - else $max = 0; + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } else { dol_syslog("mod_sn_standard::getNextValue", LOG_DEBUG); return -1; } //$date=time(); - $date = $object->date_creation; + $date = dol_now(); $yymm = strftime("%y%m", $date); if ($max >= (pow(10, 4) - 1)) $num = $max + 1; // If counter > 9999, we do not format on 4 chars, we take number as it is diff --git a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php index 233180630b0..f86f5b55a9c 100644 --- a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php @@ -449,7 +449,7 @@ class doc_generic_project_odt extends ModelePDFProjects $texte .= $conf->global->PROJECT_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories diff --git a/htdocs/core/modules/project/mod_project_universal.php b/htdocs/core/modules/project/mod_project_universal.php index 480d19396c3..550d72c4f68 100644 --- a/htdocs/core/modules/project/mod_project_universal.php +++ b/htdocs/core/modules/project/mod_project_universal.php @@ -85,7 +85,7 @@ class mod_project_universal extends ModeleNumRefProjects $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index 566c7f07a2e..3890c6526bc 100644 --- a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php +++ b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php @@ -416,7 +416,7 @@ class doc_generic_task_odt extends ModelePDFTask $texte .= $conf->global->PROJECT_TASK_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -524,8 +524,8 @@ class doc_generic_task_odt extends ModelePDFTask //print "conf->societe->dir_temp=".$conf->societe->dir_temp; dol_mkdir($conf->projet->dir_temp); - if (!is_writable($conf->task->dir_temp)) { - $this->error = "Failed to write in temp directory ".$conf->task->dir_temp; + if (!is_writable($conf->projet->dir_temp)) { + $this->error = "Failed to write in temp directory ".$conf->projet->dir_temp; dol_syslog('Error in write_file: '.$this->error, LOG_ERR); return -1; } diff --git a/htdocs/core/modules/project/task/mod_task_universal.php b/htdocs/core/modules/project/task/mod_task_universal.php index 3a6ef89f3fb..6de02dcaf99 100644 --- a/htdocs/core/modules/project/task/mod_task_universal.php +++ b/htdocs/core/modules/project/task/mod_task_universal.php @@ -85,7 +85,7 @@ class mod_task_universal extends ModeleNumRefTask $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php index 9c7e0af4df0..fb0991c8da1 100644 --- a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php +++ b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php @@ -160,7 +160,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales $texte .= $conf->global->PROPALE_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -335,11 +335,14 @@ class doc_generic_proposal_odt extends ModelePDFPropales // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index b56fbc758db..e964d61cda3 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1473,16 +1473,23 @@ class pdf_azur extends ModelePDFPropales $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); $title = $outputlangs->transnoentities("PdfCommercialProposalTitle"); + $title .= ' '.$outputlangs->convToOutputCharset($object->ref); + if ($object->statut == $object::STATUS_DRAFT) { + $pdf->SetTextColor(128, 0, 0); + $title .= ' - '.$outputlangs->transnoentities("NotValidated"); + } $pdf->MultiCell(100, 4, $title, '', 'R'); $pdf->SetFont('', 'B', $default_font_size); + /* $posy += 5; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : ".$outputlangs->convToOutputCharset($object->ref), '', 'R'); + */ - $posy += 1; + $posy += 3; $pdf->SetFont('', '', $default_font_size - 2); if ($object->ref_client) { @@ -1523,7 +1530,7 @@ class pdf_azur extends ModelePDFPropales $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateEndPropal")." : ".dol_print_date($object->fin_validite, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1575,20 +1582,24 @@ class pdf_azur extends ModelePDFPropales $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1605,7 +1616,7 @@ class pdf_azur extends ModelePDFPropales } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1628,11 +1639,13 @@ class pdf_azur extends ModelePDFPropales } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index f75f5ecab56..9dcccb92fdc 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -737,7 +737,7 @@ class pdf_cyan extends ModelePDFPropales if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1574,10 +1574,17 @@ class pdf_cyan extends ModelePDFPropales $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); $title = $outputlangs->transnoentities("PdfCommercialProposalTitle"); + $title .= ' '.$outputlangs->convToOutputCharset($object->ref); + if ($object->statut == $object::STATUS_DRAFT) { + $pdf->SetTextColor(128, 0, 0); + $title .= ' - '.$outputlangs->transnoentities("NotValidated"); + } + $pdf->MultiCell($w, 4, $title, '', 'R'); $pdf->SetFont('', 'B', $default_font_size); + /* $posy += 5; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1587,8 +1594,9 @@ class pdf_cyan extends ModelePDFPropales $textref .= ' - '.$outputlangs->transnoentities("NotValidated"); } $pdf->MultiCell($w, 4, $textref, '', 'R'); + */ - $posy += 1; + $posy += 3; $pdf->SetFont('', '', $default_font_size - 2); if ($object->ref_client) { @@ -1634,7 +1642,7 @@ class pdf_cyan extends ModelePDFPropales } $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->fin_validite, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1689,20 +1697,24 @@ class pdf_cyan extends ModelePDFPropales $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1719,7 +1731,7 @@ class pdf_cyan extends ModelePDFPropales } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; @@ -1743,11 +1755,13 @@ class pdf_cyan extends ModelePDFPropales } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/propale/mod_propale_saphir.php b/htdocs/core/modules/propale/mod_propale_saphir.php index ce78f341319..af7579fb142 100644 --- a/htdocs/core/modules/propale/mod_propale_saphir.php +++ b/htdocs/core/modules/propale/mod_propale_saphir.php @@ -87,7 +87,7 @@ class mod_propale_saphir extends ModeleNumRefPropales $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/rapport/pdf_paiement.class.php b/htdocs/core/modules/rapport/pdf_paiement.class.php index 9f85aca1aff..5904db84398 100644 --- a/htdocs/core/modules/rapport/pdf_paiement.class.php +++ b/htdocs/core/modules/rapport/pdf_paiement.class.php @@ -206,7 +206,7 @@ class pdf_paiement $sql .= " AND f.entity IN (".getEntity('invoice').")"; $sql .= " AND p.datep BETWEEN '".$this->db->idate(dol_get_first_day($year, $month))."' AND '".$this->db->idate(dol_get_last_day($year, $month))."'"; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if (!empty($socid)) { $sql .= " AND s.rowid = ".((int) $socid); @@ -241,13 +241,13 @@ class pdf_paiement if (!empty($conf->banque->enabled)) { $sql .= " AND p.fk_bank = b.rowid AND b.fk_account = ba.rowid "; } - $sql .= " AND f.entity = ".$conf->entity; + $sql .= " AND f.entity IN (".getEntity('invoice').")"; $sql .= " AND p.datep BETWEEN '".$this->db->idate(dol_get_first_day($year, $month))."' AND '".$this->db->idate(dol_get_last_day($year, $month))."'"; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if (!empty($socid)) { - $sql .= " AND s.rowid = ".$socid; + $sql .= " AND s.rowid = ".((int) $socid); } // If global param PAYMENTS_FOURN_REPORT_GROUP_BY_MOD is set, payement fourn are ordered by paiement_code if (!empty($conf->global->PAYMENTS_FOURN_REPORT_GROUP_BY_MOD)) { diff --git a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php index 93dbc4995b4..4729231ac8b 100644 --- a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php +++ b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php @@ -62,8 +62,7 @@ class doc_generic_reception_odt extends ModelePdfReception { global $conf, $langs, $mysoc; - $langs->load("main"); - $langs->load("companies"); + $langs->loadLangs(array("main", "companies")); $this->db = $db; $this->name = "ODT templates"; @@ -153,7 +152,7 @@ class doc_generic_reception_odt extends ModelePdfReception $texte .= $conf->global->RECEPTION_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -173,6 +172,11 @@ class doc_generic_reception_odt extends ModelePdfReception } $texte .= ''; } + // Add input to upload a new template file. + $texte .= '
    '.$langs->trans("UploadNewTemplate").' '; + $texte .= ''; + $texte .= ''; + $texte .= '
    '; $texte .= ''; @@ -223,10 +227,7 @@ class doc_generic_reception_odt extends ModelePdfReception $sav_charset_output = $outputlangs->charset_output; $outputlangs->charset_output = 'UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->reception->dir_output."/reception") { // If $object is id instead of object @@ -288,21 +289,25 @@ class doc_generic_reception_odt extends ModelePdfReception return -1; } - // If BILLING contact defined on invoice, we use it + // If CUSTOMER contact defined on reception, we use it $usecontact = false; - $arrayidcontact = $object->getIdContact('external', 'BILLING'); + $arrayidcontact = $object->getIdContact('external', 'CUSTOMER'); if (count($arrayidcontact) > 0) { $usecontact = true; $result = $object->fetch_contact($arrayidcontact[0]); } // Recipient name + $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a BILLING contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { @@ -318,6 +323,7 @@ class doc_generic_reception_odt extends ModelePdfReception '__TOTAL_VAT__' => $object->total_tva ); complete_substitutions_array($substitutionarray, $langs, $object); + // Call the ODTSubstitution hook $parameters = array('file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$substitutionarray); $reshook = $hookmanager->executeHooks('ODTSubstitution', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks @@ -343,6 +349,7 @@ class doc_generic_reception_odt extends ModelePdfReception ); } catch (Exception $e) { $this->error = $e->getMessage(); + dol_syslog($e->getMessage(), LOG_INFO); return -1; } // After construction $odfHandler->contentXml contains content and @@ -359,67 +366,23 @@ class doc_generic_reception_odt extends ModelePdfReception dol_syslog($e->getMessage(), LOG_INFO); } - // Make substitutions into odt of user info - $tmparray = $this->get_substitutionarray_user($user, $outputlangs); - //var_dump($tmparray); exit; - foreach ($tmparray as $key => $value) { - try { - if (preg_match('/logo$/', $key)) { // Image - //var_dump($value);exit; - if (file_exists($value)) { - $odfHandler->setImage($key, $value); - } else { - $odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8'); - } - } else // Text - { - $odfHandler->setVars($key, $value, true, 'UTF-8'); - } - } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); - } + // Define substitution array + $substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $object); + $array_object_from_properties = $this->get_substitutionarray_each_var_object($object, $outputlangs); + $array_objet = $this->get_substitutionarray_object($object, $outputlangs); + $array_user = $this->get_substitutionarray_user($user, $outputlangs); + $array_soc = $this->get_substitutionarray_mysoc($mysoc, $outputlangs); + $array_thirdparty = $this->get_substitutionarray_thirdparty($socobject, $outputlangs); + $array_other = $this->get_substitutionarray_other($outputlangs); + // retrieve contact information for use in object as contact_xxx tags + $array_thirdparty_contact = array(); + if ($usecontact && is_object($contactobject)) { + $array_thirdparty_contact = $this->get_substitutionarray_contact($contactobject, $outputlangs, 'contact'); } - // Make substitutions into odt of mysoc - $tmparray = $this->get_substitutionarray_mysoc($mysoc, $outputlangs); - //var_dump($tmparray); exit; - foreach ($tmparray as $key => $value) { - try { - if (preg_match('/logo$/', $key)) { // Image - //var_dump($value);exit; - if (file_exists($value)) { - $odfHandler->setImage($key, $value); - } else { - $odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8'); - } - } else // Text - { - $odfHandler->setVars($key, $value, true, 'UTF-8'); - } - } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); - } - } - // Make substitutions into odt of thirdparty - $tmparray = $this->get_substitutionarray_thirdparty($socobject, $outputlangs); - foreach ($tmparray as $key => $value) { - try { - if (preg_match('/logo$/', $key)) { // Image - if (file_exists($value)) { - $odfHandler->setImage($key, $value); - } else { - $odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8'); - } - } else // Text - { - $odfHandler->setVars($key, $value, true, 'UTF-8'); - } - } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); - } - } - // Replace tags of object + external modules - $tmparray = $this->get_substitutionarray_reception($object, $outputlangs); + + $tmparray = array_merge($substitutionarray, $array_object_from_properties, $array_user, $array_soc, $array_thirdparty, $array_objet, $array_other, $array_thirdparty_contact); complete_substitutions_array($tmparray, $outputlangs, $object); + // Call the ODTSubstitution hook $parameters = array('odfHandler'=>&$odfHandler, 'file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray); $reshook = $hookmanager->executeHooks('ODTSubstitution', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks @@ -441,25 +404,36 @@ class doc_generic_reception_odt extends ModelePdfReception } // Replace tags of lines try { - $listlines = $odfHandler->setSegment('lines'); - foreach ($object->lines as $line) { - $tmparray = $this->get_substitutionarray_reception_lines($line, $outputlangs); - complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); - // Call the ODTSubstitutionLine hook - $parameters = array('odfHandler'=>&$odfHandler, 'file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray, 'line'=>$line); - $reshook = $hookmanager->executeHooks('ODTSubstitutionLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks - foreach ($tmparray as $key => $val) { - try { - $listlines->setVars($key, $val, true, 'UTF-8'); - } catch (OdfException $e) { - dol_syslog($e->getMessage(), LOG_INFO); - } catch (SegmentException $e) { - dol_syslog($e->getMessage(), LOG_INFO); - } - } - $listlines->merge(); + $foundtagforlines = 1; + try { + $listlines = $odfHandler->setSegment('lines'); + } catch (OdfException $e) { + // We may arrive here if tags for lines not present into template + $foundtagforlines = 0; + dol_syslog($e->getMessage(), LOG_INFO); + } + if ($foundtagforlines) { + $linenumber = 0; + foreach ($object->lines as $line) { + $linenumber++; + $tmparray = $this->get_substitutionarray_reception_lines($line, $outputlangs); + complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); + // Call the ODTSubstitutionLine hook + $parameters = array('odfHandler'=>&$odfHandler, 'file'=>$file, 'object'=>$object, 'outputlangs'=>$outputlangs, 'substitutionarray'=>&$tmparray, 'line'=>$line); + $reshook = $hookmanager->executeHooks('ODTSubstitutionLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + foreach ($tmparray as $key => $val) { + try { + $listlines->setVars($key, $val, true, 'UTF-8'); + } catch (OdfException $e) { + dol_syslog($e->getMessage(), LOG_INFO); + } catch (SegmentException $e) { + dol_syslog($e->getMessage(), LOG_INFO); + } + } + $listlines->merge(); + } + $odfHandler->mergeSegment($listlines); } - $odfHandler->mergeSegment($listlines); } catch (OdfException $e) { $this->error = $e->getMessage(); dol_syslog($this->error, LOG_WARNING); @@ -486,6 +460,7 @@ class doc_generic_reception_odt extends ModelePdfReception $odfHandler->exportAsAttachedPDF($file); } catch (Exception $e) { $this->error = $e->getMessage(); + dol_syslog($e->getMessage(), LOG_INFO); return -1; } } else { @@ -493,6 +468,7 @@ class doc_generic_reception_odt extends ModelePdfReception $odfHandler->saveToDisk($file); } catch (Exception $e) { $this->error = $e->getMessage(); + dol_syslog($e->getMessage(), LOG_INFO); return -1; } } @@ -505,6 +481,8 @@ class doc_generic_reception_odt extends ModelePdfReception $odfHandler = null; // Destroy object + $this->result = array('fullpath'=>$file); + return 1; // Success } else { $this->error = $langs->transnoentities("ErrorCanNotCreateDir", $dir); diff --git a/htdocs/core/modules/reception/doc/pdf_squille.modules.php b/htdocs/core/modules/reception/doc/pdf_squille.modules.php index f7ba7a42842..38344a5f486 100644 --- a/htdocs/core/modules/reception/doc/pdf_squille.modules.php +++ b/htdocs/core/modules/reception/doc/pdf_squille.modules.php @@ -145,8 +145,13 @@ class pdf_squille extends ModelePdfReception $objphoto = new Product($this->db); $objphoto->fetch($object->lines[$i]->fk_product); - $pdir = get_exdir($object->lines[$i]->fk_product, 2, 0, 0, $objphoto, 'product').$object->lines[$i]->fk_product."/photos/"; - $dir = $conf->product->dir_output.'/'.$pdir; + if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { + $pdir = get_exdir($object->lines[$i]->fk_product, 2, 0, 0, $objphoto, 'product').$object->lines[$i]->fk_product."/photos/"; + $dir = $conf->product->dir_output.'/'.$pdir; + } else { + $pdir = get_exdir(0, 2, 0, 0, $objphoto, 'product'); + $dir = $conf->product->dir_output.'/'.$pdir; + } $realpath = ''; @@ -446,7 +451,7 @@ class pdf_squille extends ModelePdfReception } $posYAfterDescription = $pdf->GetY(); - $nexY = $pdf->GetY(); + $nexY = max($pdf->GetY(), $posYAfterImage); $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); @@ -967,7 +972,7 @@ class pdf_squille extends ModelePdfReception } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/core/modules/reception/mod_reception_moonstone.php b/htdocs/core/modules/reception/mod_reception_moonstone.php index 0d0ced20eb4..e1a5669dc09 100644 --- a/htdocs/core/modules/reception/mod_reception_moonstone.php +++ b/htdocs/core/modules/reception/mod_reception_moonstone.php @@ -62,7 +62,7 @@ class mod_reception_moonstone extends ModelNumRefReception $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; $texte .= ''; $texte .= '
    '; diff --git a/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php b/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php index e091b5069e9..a358f916429 100644 --- a/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php +++ b/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php @@ -99,7 +99,7 @@ class modGeneratePassStandard extends ModeleGenPassword $password = ""; // define possible characters - $possible = "0123456789bcdfghjkmnpqrstvwxyz"; + $possible = "0123456789qwertyuiopasdfghjklzxcvbnmASDFGHJKLZXCVBNMQWERTYUIOP"; // set up a counter $i = 0; @@ -107,10 +107,13 @@ class modGeneratePassStandard extends ModeleGenPassword // add random characters to $password until $length is reached while ($i < $this->length) { // pick a random character from the possible ones - $char = substr($possible, mt_rand(0, dol_strlen($possible) - 1), 1); + if (function_exists('random_int')) { // Cryptographic random + $char = substr($possible, random_int(0, dol_strlen($possible) - 1), 1); + } else { + $char = substr($possible, mt_rand(0, dol_strlen($possible) - 1), 1); + } - // we don't want this character if it's already in the password - if (!strstr($password, $char)) { + if (substr_count($password, $char) <= 6) { // we don't want this character if it's already 5 times in the password $password .= $char; $i++; } diff --git a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php index fdafb22e96b..8b8069ff34f 100644 --- a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php +++ b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php @@ -141,7 +141,7 @@ class doc_generic_odt extends ModeleThirdPartyDoc $texte .= ''; $texte .= ''; $texte .= '  '; - $texte .= ''; + $texte .= ''; $texte .= ''; $texte .= ''; $texte .= ''; diff --git a/htdocs/core/modules/societe/mod_codeclient_elephant.php b/htdocs/core/modules/societe/mod_codeclient_elephant.php index 705564e7e8e..c18b768a724 100644 --- a/htdocs/core/modules/societe/mod_codeclient_elephant.php +++ b/htdocs/core/modules/societe/mod_codeclient_elephant.php @@ -134,7 +134,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode $texte .= ''.$langs->trans("Mask").' ('.$langs->trans("CustomerCodeModel").'):'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/societe/mod_codecompta_aquarium.php b/htdocs/core/modules/societe/mod_codecompta_aquarium.php index 752691b03b8..e03958e58bf 100644 --- a/htdocs/core/modules/societe/mod_codecompta_aquarium.php +++ b/htdocs/core/modules/societe/mod_codecompta_aquarium.php @@ -102,7 +102,7 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode $texte .= $langs->trans('COMPANY_AQUARIUM_CLEAN_REGEX').' = '.$conf->global->COMPANY_AQUARIUM_CLEAN_REGEX."
    \n"; } $texte .= ''; - $texte .= ''; + $texte .= ''; $texte .= ''; $texte .= ''; diff --git a/htdocs/core/modules/societe/mod_codecompta_digitaria.php b/htdocs/core/modules/societe/mod_codecompta_digitaria.php index 56c5b8e8885..91f4bff07c4 100644 --- a/htdocs/core/modules/societe/mod_codecompta_digitaria.php +++ b/htdocs/core/modules/societe/mod_codecompta_digitaria.php @@ -125,7 +125,7 @@ class mod_codecompta_digitaria extends ModeleAccountancyCode $texte .= $langs->trans('COMPANY_DIGITARIA_UNIQUE_CODE').' = '.yn(1)."
    \n"; } $texte .= ''; - $texte .= ''; + $texte .= ''; $texte .= ''; $texte .= ''; @@ -252,17 +252,32 @@ class mod_codecompta_digitaria extends ModeleAccountancyCode */ public function checkIfAccountancyCodeIsAlreadyUsed($db, $code, $type = '') { + global $conf; + if ($type == 'supplier') { - $typethirdparty = 'code_compta_fournisseur'; + if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $typethirdparty = 'accountancy_code_supplier'; + } else { + $typethirdparty = 'code_compta_fournisseur'; + } } elseif ($type == 'customer') { - $typethirdparty = 'code_compta'; + if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $typethirdparty = 'accountancy_code_customer'; + } else { + $typethirdparty = 'code_compta'; + } } else { $this->error = 'Bad value for parameter type'; return -1; } - $sql = "SELECT ".$typethirdparty." FROM ".MAIN_DB_PREFIX."societe"; - $sql .= " WHERE ".$typethirdparty." = '".$db->escape($code)."'"; + if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $sql = "SELECT " . $typethirdparty . " FROM " . MAIN_DB_PREFIX . "societe_perentity"; + $sql .= " WHERE " . $typethirdparty . " = '" . $db->escape($code) . "'"; + } else { + $sql = "SELECT " . $typethirdparty . " FROM " . MAIN_DB_PREFIX . "societe"; + $sql .= " WHERE " . $typethirdparty . " = '" . $db->escape($code) . "'"; + } $resql = $db->query($sql); if ($resql) { diff --git a/htdocs/core/modules/societe/modules_societe.class.php b/htdocs/core/modules/societe/modules_societe.class.php index 28d0120da72..09f6cb9c29d 100644 --- a/htdocs/core/modules/societe/modules_societe.class.php +++ b/htdocs/core/modules/societe/modules_societe.class.php @@ -198,7 +198,8 @@ abstract class ModeleThirdPartyCode { global $conf; - $langs->load("admin"); + $langs->loadLangs(array("admin", "companies")); + $strikestart = ''; $strikeend = ''; if (!empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED) && !empty($this->code_null)) { diff --git a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php index 5ca5019588a..1d02b8003da 100644 --- a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php +++ b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php @@ -155,7 +155,7 @@ class doc_generic_stock_odt extends ModelePDFStock $texte .= $conf->global->STOCK_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -308,11 +308,14 @@ class doc_generic_stock_odt extends ModelePDFStock // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/stock/doc/pdf_standard.modules.php b/htdocs/core/modules/stock/doc/pdf_standard.modules.php index ebc109151d6..0c627322d69 100644 --- a/htdocs/core/modules/stock/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_standard.modules.php @@ -208,8 +208,6 @@ class pdf_standard extends ModelePDFStock // Load traductions files required by page $outputlangs->loadLangs(array("main", "dict", "companies", "bills", "stocks", "orders", "deliveries")); - $nblines = count($object->lines); - if ($conf->stock->dir_output) { // Definition of $dir and $file if ($object->specimen) { @@ -337,8 +335,8 @@ class pdf_standard extends ModelePDFStock if (!empty($conf->global->MAIN_MULTILANGS)) { // si l'option est active $sql = "SELECT label"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lang"; - $sql .= " WHERE fk_product=".$objp->rowid; - $sql .= " AND lang='".$this->db->escape($langs->getDefaultLang())."'"; + $sql .= " WHERE fk_product = ".((int) $objp->rowid); + $sql .= " AND lang = '".$this->db->escape($langs->getDefaultLang())."'"; $sql .= " LIMIT 1"; $result = $this->db->query($sql); diff --git a/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php index 08345647b0f..c4fb2ef7b50 100644 --- a/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php @@ -212,6 +212,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices if (!is_object($object->thirdparty)) { $object->thirdparty = $mysoc; // If fetch_thirdparty fails, object has no socid (specimen) } + $this->emetteur = $object->thirdparty; if (!$this->emetteur->country_code) { $this->emetteur->country_code = substr($langs->defaultlang, -2); // By default, if was not defined @@ -231,8 +232,6 @@ class pdf_canelle extends ModelePDFSuppliersInvoices $nblines = count($object->lines); if ($conf->fournisseur->facture->dir_output) { - $object->fetch_thirdparty(); - $deja_regle = $object->getSommePaiement((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0); $amount_credit_notes_included = $object->getSumCreditNotesUsed((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0); $amount_deposits_included = $object->getSumDepositsUsed((!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1) ? 1 : 0); @@ -1239,7 +1238,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $mysoc; diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index 57d5798c29e..5fc2737957f 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -95,7 +95,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices $texte .= ':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php b/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php index 3a2775bef82..dfb05d2d55f 100644 --- a/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php +++ b/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php @@ -159,7 +159,7 @@ class doc_generic_supplier_order_odt extends ModelePDFSuppliersOrders $texte .= $conf->global->SUPPLIER_ORDER_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -298,11 +298,14 @@ class doc_generic_supplier_order_odt extends ModelePDFSuppliersOrders // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php index dc898c98cb5..436017cda0a 100644 --- a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php +++ b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php @@ -672,7 +672,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1407,7 +1407,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php index bb12b19c829..8c706f59db3 100644 --- a/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php @@ -1314,7 +1314,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php index c691b1448ef..473664cb44c 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php @@ -87,7 +87,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php index b6da2d4c294..0a4cd815d45 100644 --- a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php @@ -812,6 +812,25 @@ class pdf_standard extends ModelePDFSuppliersPayments $pdf->SetFont('', '', $default_font_size - 1); $pdf->SetXY($posx + 2, $posy); $pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L'); + + // Show default IBAN account + $sql = "SELECT iban_prefix"; + $sql .= " FROM ".MAIN_DB_PREFIX."societe_rib as rib"; + $sql .= " WHERE fk_soc = ".($object->thirdparty->id); + $sql .= " AND rib.default_rib = 1"; + $sql .= " AND rib.type = 'ban'"; + $sql .= " LIMIT 1"; + $resql = $this->db->query($sql); + if ($resql) { + $obj = $this->db->fetch_object($resql); + $iban = $obj->iban_prefix; + } + + if (!empty($iban)) { + $pdf->SetFont('', '', $default_font_size - 1); + $pdf->SetXY($posx + 2, $posy + 15); + $pdf->MultiCell($widthrecbox, 4, $langs->trans("IBAN").': '.$iban, 0, 'L'); + } } } diff --git a/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php b/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php index 19e632a6264..0bc0543e6cd 100644 --- a/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php +++ b/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php @@ -84,7 +84,7 @@ class mod_supplier_payment_brodator extends ModeleNumRefSupplierPayments $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php index 717818448ec..18e5a210aa1 100644 --- a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php @@ -162,7 +162,7 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal $texte .= $conf->global->SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -332,11 +332,14 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a BILLING contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php index 5bd9b8cf339..1bf47275599 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php @@ -1418,7 +1418,7 @@ class pdf_aurore extends ModelePDFSupplierProposal // Recipient name if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($usecontact && ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { $socname = $object->contact; } else { $socname = $object->thirdparty; diff --git a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php index 3b8754d9928..e7db54062cb 100644 --- a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php +++ b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php @@ -87,7 +87,7 @@ class mod_supplier_proposal_saphir extends ModeleNumRefSupplierProposal $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/takepos/mod_takepos_ref_universal.php b/htdocs/core/modules/takepos/mod_takepos_ref_universal.php index d103dbe3b0b..b3d26b39511 100644 --- a/htdocs/core/modules/takepos/mod_takepos_ref_universal.php +++ b/htdocs/core/modules/takepos/mod_takepos_ref_universal.php @@ -81,7 +81,7 @@ class mod_takepos_ref_universal extends ModeleNumRefTakepos $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php b/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php index 2e6172d4181..e20cbf44cf7 100644 --- a/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php +++ b/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php @@ -150,7 +150,7 @@ class doc_generic_ticket_odt extends ModelePDFTicket $texte .= $conf->global->TICKET_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -293,11 +293,14 @@ class doc_generic_ticket_odt extends ModelePDFTicket // Recipient name if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/ticket/mod_ticket_universal.php b/htdocs/core/modules/ticket/mod_ticket_universal.php index f60b1f16481..176af782dc7 100644 --- a/htdocs/core/modules/ticket/mod_ticket_universal.php +++ b/htdocs/core/modules/ticket/mod_ticket_universal.php @@ -83,7 +83,7 @@ class mod_ticket_universal extends ModeleNumRefTicket $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php index 7ca8d29c380..050eb43d44a 100644 --- a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php +++ b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php @@ -159,7 +159,7 @@ class doc_generic_user_odt extends ModelePDFUser $texte .= $conf->global->USER_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -325,7 +325,7 @@ class doc_generic_user_odt extends ModelePDFUser // Recipient name if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { $socobject = $object->contact; } else { $socobject = $object->thirdparty; diff --git a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php index 5a1bca6377d..134c5e00362 100644 --- a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php +++ b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php @@ -162,7 +162,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup $texte .= $conf->global->USERGROUP_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -315,11 +315,14 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup // Recipient name if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/core/modules/workstation/mod_workstation_advanced.php b/htdocs/core/modules/workstation/mod_workstation_advanced.php index bf783542c75..2f1a8ae9d71 100755 --- a/htdocs/core/modules/workstation/mod_workstation_advanced.php +++ b/htdocs/core/modules/workstation/mod_workstation_advanced.php @@ -82,7 +82,7 @@ class mod_workstation_advanced extends ModeleNumRefWorkstation $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/core/photos_resize.php b/htdocs/core/photos_resize.php index 7c7813fbe14..374f381c098 100644 --- a/htdocs/core/photos_resize.php +++ b/htdocs/core/photos_resize.php @@ -383,7 +383,7 @@ if ($action == 'confirm_resize' && GETPOSTISSET("file") && GETPOSTISSET("sizex") $ecmfile->fullpath_orig = $fullpath; $ecmfile->gen_or_uploaded = 'unknown'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content $result = $ecmfile->create($user); if ($result < 0) { setEventMessages($ecmfile->error, $ecmfile->errors, 'warnings'); @@ -448,7 +448,7 @@ if ($action == 'confirm_crop') { $ecmfile->fullpath_orig = $fullpath; $ecmfile->gen_or_uploaded = 'unknown'; $ecmfile->description = ''; // indexed content - $ecmfile->keyword = ''; // keyword content + $ecmfile->keywords = ''; // keyword content $result = $ecmfile->create($user); if ($result < 0) { setEventMessages($ecmfile->error, $ecmfile->errors, 'warnings'); diff --git a/htdocs/core/search_page.php b/htdocs/core/search_page.php index 8581776a2d8..2b82501208a 100644 --- a/htdocs/core/search_page.php +++ b/htdocs/core/search_page.php @@ -20,7 +20,7 @@ /** * \file htdocs/core/search_page.php - * \brief File to return a page with search boxes + * \brief File to return a page with the complete search form (all search input fields) */ //if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language @@ -77,7 +77,7 @@ $hookmanager->initHooks(array('searchform')); // Define $searchform $searchform = ''; -if ($conf->use_javascript_ajax && 1 == 2) { // select2 is ko with jmobile +if ($conf->use_javascript_ajax && 1 == 2) { // select2 is not best with smartphone if (!is_object($form)) { $form = new Form($db); } diff --git a/htdocs/core/tpl/admin_extrafields_view.tpl.php b/htdocs/core/tpl/admin_extrafields_view.tpl.php index 284407383d4..6750cc0b1a5 100644 --- a/htdocs/core/tpl/admin_extrafields_view.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_view.tpl.php @@ -84,18 +84,31 @@ if (isset($extrafields->attributes[$elementtype]['type']) && is_array($extrafiel } print ''; - print "".$extrafields->attributes[$elementtype]['pos'][$key]."\n"; - print "".$extrafields->attributes[$elementtype]['label'][$key]."\n"; // We don't translate here, we want admin to know what is the key not translated value - print "".$langs->trans($extrafields->attributes[$elementtype]['label'][$key])."\n"; - print "".$key."\n"; - print "".$type2label[$extrafields->attributes[$elementtype]['type'][$key]]."\n"; - print ''.$extrafields->attributes[$elementtype]['size'][$key]."\n"; - print ''.dol_trunc($extrafields->attributes[$elementtype]['computed'][$key], 20)."\n"; + // Position + print "".dol_escape_htmltag($extrafields->attributes[$elementtype]['pos'][$key])."\n"; + // Label + print "".dol_escape_htmltag($extrafields->attributes[$elementtype]['label'][$key])."\n"; // We don't translate here, we want admin to know what is the key not translated value + // Label translated + print ''.dol_escape_htmltag($langs->transnoentitiesnoconv($extrafields->attributes[$elementtype]['label'][$key]))."\n"; + // Key + print "".dol_escape_htmltag($key)."\n"; + // Type + print "".dol_escape_htmltag($type2label[$extrafields->attributes[$elementtype]['type'][$key]])."\n"; + // Size + print ''.dol_escape_htmltag($extrafields->attributes[$elementtype]['size'][$key])."\n"; + // Computed field + print ''.dol_escape_htmltag($extrafields->attributes[$elementtype]['computed'][$key])."\n"; + // Is unique ? print ''.yn($extrafields->attributes[$elementtype]['unique'][$key])."\n"; + // Is mandatory ? print ''.yn($extrafields->attributes[$elementtype]['required'][$key])."\n"; + // Can always be editable ? print ''.yn($extrafields->attributes[$elementtype]['alwayseditable'][$key])."\n"; - print ''.$extrafields->attributes[$elementtype]['list'][$key]."\n"; - print ''.$extrafields->attributes[$elementtype]['printable'][$key]."\n"; + // Visible + print ''.dol_escape_htmltag($extrafields->attributes[$elementtype]['list'][$key])."\n"; + // Print on PDF + print ''.dol_escape_htmltag($extrafields->attributes[$elementtype]['printable'][$key])."\n"; + // Summable print ''.yn($extrafields->attributes[$elementtype]['totalizable'][$key])."\n"; if (!empty($conf->multicompany->enabled)) { print ''; @@ -116,8 +129,8 @@ if (isset($extrafields->attributes[$elementtype]['type']) && is_array($extrafiel print ''; } print ''; - print ''.img_edit().''; - print '  '.img_delete().''; + print ''.img_edit().''; + print '  '.img_delete().''; print ''."\n"; print ""; } @@ -128,9 +141,9 @@ if (isset($extrafields->attributes[$elementtype]['type']) && is_array($extrafiel } print ''; - print ''; + print ''; print $langs->trans("None"); - print ''; + print ''; print ''; } diff --git a/htdocs/core/tpl/ajaxrow.tpl.php b/htdocs/core/tpl/ajaxrow.tpl.php index 6d6df3a5408..61428170f50 100644 --- a/htdocs/core/tpl/ajaxrow.tpl.php +++ b/htdocs/core/tpl/ajaxrow.tpl.php @@ -61,12 +61,13 @@ $(document).ready(function(){ console.log("tableDND onDrop"); console.log(decodeURI($("#").tableDnDSerialize())); $('# tr[data-element=extrafield]').attr('id', ''); // Set extrafields id to empty value in order to ignore them in tableDnDSerialize function + $('# tr[data-ignoreidfordnd=1]').attr('id', ''); // Set id to empty value in order to ignore them in tableDnDSerialize function var roworder = cleanSerialize(decodeURI($("#").tableDnDSerialize())); var table_element_line = ""; var fk_element = ""; var element_id = ""; var filepath = ""; - var token = ""; // We use old 'token' and not 'newtoken' for Ajax call because the ajax page has the NOTOKENRENEWAL constant set. + var token = ""; // We use old 'token' and not 'newtoken' for Ajax call because the ajax page has the NOTOKENRENEWAL constant set. $.post("/core/ajax/row.php", { roworder: roworder, @@ -79,7 +80,6 @@ $(document).ready(function(){ function() { console.log("tableDND end of ajax call"); if (reloadpage == 1) { - //console.log(''); '; print ''; - print ''; + print ''; print ''; } diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php index c741fb213c2..212e766589c 100644 --- a/htdocs/core/tpl/card_presend.tpl.php +++ b/htdocs/core/tpl/card_presend.tpl.php @@ -137,12 +137,15 @@ if ($action == 'presend') { $formmail->fromname = ''; $formmail->fromtype = 'special'; } + if ($object->element === 'order_supplier' && !empty($conf->global->ORDER_SUPPLIER_EMAIL_SENDER)) { + $formmail->frommail = $conf->global->ORDER_SUPPLIER_EMAIL_SENDER; + $formmail->fromname = ''; + $formmail->fromtype = 'special'; + } + + $formmail->trackid = $trackid; - if (!empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 2)) { // If bit 2 is set - include DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - $formmail->frommail = dolAddEmailTrackId($formmail->frommail, $trackid); - } $formmail->withfrom = 1; // Fill list of recipient with email inside <>. @@ -177,7 +180,7 @@ if ($action == 'presend') { $listeuser = array(); $fuserdest = new User($db); - $result = $fuserdest->fetchAll('ASC', 't.lastname', 0, 0, array('customsql'=>'t.statut=1 AND t.employee=1 AND t.email IS NOT NULL AND t.email<>\'\''), 'AND', true); + $result = $fuserdest->fetchAll('ASC', 't.lastname', 0, 0, array('customsql'=>"t.statut=1 AND t.employee=1 AND t.email IS NOT NULL AND t.email <> ''"), 'AND', true); if ($result > 0 && is_array($fuserdest->users) && count($fuserdest->users) > 0) { foreach ($fuserdest->users as $uuserdest) { $listeuser[$uuserdest->id] = $uuserdest->user_get_property($uuserdest->id, 'email'); diff --git a/htdocs/core/tpl/commonfields_add.tpl.php b/htdocs/core/tpl/commonfields_add.tpl.php index 3a43f04c149..be91d7b28a5 100644 --- a/htdocs/core/tpl/commonfields_add.tpl.php +++ b/htdocs/core/tpl/commonfields_add.tpl.php @@ -47,7 +47,7 @@ foreach ($object->fields as $key => $val) { print ''; print ''; if (!empty($val['picto'])) { - print img_picto('', $val['picto']); + print img_picto('', $val['picto'], '', false, 0, 0, '', 'pictofixedwidth'); } if (in_array($val['type'], array('int', 'integer'))) { $value = GETPOST($key, 'int'); @@ -79,13 +79,20 @@ foreach ($object->fields as $key => $val) { $value = (GETPOST($key) == 'on' ? 1 : 0); } elseif ($val['type'] == 'price') { $value = price2num(GETPOST($key)); + } elseif ($key == 'lang') { + $value = GETPOST($key, 'aZ09'); } else { $value = GETPOST($key, 'alphanohtml'); } if (!empty($val['noteditable'])) { print $object->showOutputField($val, $key, $value, '', '', '', 0); } else { - print $object->showInputField($val, $key, $value, '', '', '', 0); + if ($key == 'lang') { + print img_picto('', 'language', 'class="pictofixedwidth"'); + print $formadmin->select_language($value, $key, 0, null, 1, 0, 0, 'minwidth300', 2); + } else { + print $object->showInputField($val, $key, $value, '', '', '', 0); + } } print ''; print ''; diff --git a/htdocs/core/tpl/commonfields_edit.tpl.php b/htdocs/core/tpl/commonfields_edit.tpl.php index 9fef2d2f2b9..abf3144de8f 100644 --- a/htdocs/core/tpl/commonfields_edit.tpl.php +++ b/htdocs/core/tpl/commonfields_edit.tpl.php @@ -19,6 +19,7 @@ * $action * $conf * $langs + * $form */ // Protection to avoid direct call of template @@ -48,7 +49,7 @@ foreach ($object->fields as $key => $val) { print ''; if (!empty($val['picto'])) { - print img_picto('', $val['picto']); + print img_picto('', $val['picto'], '', false, 0, 0, '', 'pictofixedwidth'); } if (in_array($val['type'], array('int', 'integer'))) { $value = GETPOSTISSET($key) ?GETPOST($key, 'int') : $object->$key; @@ -79,6 +80,8 @@ foreach ($object->fields as $key => $val) { $value = GETPOSTISSET($key) ? GETPOST($key, $check) : $object->$key; } elseif ($val['type'] == 'price') { $value = GETPOSTISSET($key) ? price2num(GETPOST($key)) : price2num($object->$key); + } elseif ($key == 'lang') { + $value = GETPOSTISSET($key) ? GETPOST($key, 'aZ09') : $object->lang; } else { $value = GETPOSTISSET($key) ? GETPOST($key, 'alpha') : $object->$key; } @@ -86,7 +89,12 @@ foreach ($object->fields as $key => $val) { if ($val['noteditable']) { print $object->showOutputField($val, $key, $value, '', '', '', 0); } else { - print $object->showInputField($val, $key, $value, '', '', '', 0); + if ($key == 'lang') { + print img_picto('', 'language', 'class="pictofixedwidth"'); + print $formadmin->select_language($value, $key, 0, null, 1, 0, 0, 'minwidth300', 2); + } else { + print $object->showInputField($val, $key, $value, '', '', '', 0); + } } print ''; print ''; diff --git a/htdocs/core/tpl/commonfields_view.tpl.php b/htdocs/core/tpl/commonfields_view.tpl.php index f9da77c5894..53f846c1713 100644 --- a/htdocs/core/tpl/commonfields_view.tpl.php +++ b/htdocs/core/tpl/commonfields_view.tpl.php @@ -58,7 +58,7 @@ foreach ($object->fields as $key => $val) { $value = $object->$key; print ' 0) print ' fieldrequired'; // No fieldrequired on the view output if ($val['type'] == 'text' || $val['type'] == 'html') { print ' tdtop'; @@ -67,7 +67,11 @@ foreach ($object->fields as $key => $val) { if (!empty($val['help'])) { print $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help'])); } else { - print $langs->trans($val['label']); + if (isset($val['copytoclipboard']) && $val['copytoclipboard'] == 1) { + print showValueWithClipboardCPButton($value, 0, $langs->transnoentitiesnoconv($val['label'])); + } else { + print $langs->trans($val['label']); + } } print ''; print ''; } - print $object->showOutputField($val, $key, $value, '', '', '', 0); + if ($key == 'lang') { + $langs->load("languages"); + $labellang = ($value ? $langs->trans('Language_'.$value) : ''); + print picto_from_langcode($value, 'class="paddingrightonly saturatemedium opacitylow"'); + print $labellang; + } else { + if (isset($val['copytoclipboard']) && $val['copytoclipboard'] == 2) { + $out = $object->showOutputField($val, $key, $value, '', '', '', 0); + print showValueWithClipboardCPButton($out, 0, $out); + } else { + print $object->showOutputField($val, $key, $value, '', '', '', 0); + } + } //print dol_escape_htmltag($object->$key, 1, 1); if (in_array($val['type'], array('text', 'html'))) { print ''; @@ -124,7 +140,7 @@ foreach ($object->fields as $key => $val) { $value = $object->$key; print ' 0) print ' fieldrequired'; // No fieldrequired inthe view output if ($val['type'] == 'text' || $val['type'] == 'html') { print ' tdtop'; diff --git a/htdocs/core/tpl/contacts.tpl.php b/htdocs/core/tpl/contacts.tpl.php index d0d4d25740c..3def83f4e0d 100644 --- a/htdocs/core/tpl/contacts.tpl.php +++ b/htdocs/core/tpl/contacts.tpl.php @@ -89,8 +89,8 @@ if ($permission) { ?>
    -
    trans("ThirdParty"); ?>
    -
    trans("Users").' | '.$langs->trans("Contacts"); ?>
    +
    trans("ThirdParty"); ?>
    +
    trans("Users"), 'user', 'class="optiongrey paddingright"').$langs->trans("Users").' | '.img_picto($langs->trans("Contacts"), 'contact', 'class="optiongrey paddingright"').$langs->trans("Contacts"); ?>
    trans("ContactType"); ?>
     
     
    @@ -135,22 +135,19 @@ if ($permission) { + '; } ?> -
    - socid) ? 0 : $object->socid); - // add company icon before select list - if ($selectedCompany) { - echo img_object('', 'company', 'class="hideonsmartphone"'); - } +
    + socid) ? 0 : $object->socid); $selectedCompany = $formcompany->selectCompaniesForNewContact($object, 'id', $selectedCompany, 'newcompany', '', 0, '', 'minwidth300imp'); ?>
    - -
    +
    selectcontacts(($selectedCompany > 0 ? $selectedCompany : -1), '', 'contactid', 3, '', '', 1, 'minwidth100imp'); + print img_object('', 'contact', 'class="pictofixedwidth"').$form->selectcontacts(($selectedCompany > 0 ? $selectedCompany : -1), '', 'contactid', 3, '', '', 1, 'minwidth100imp widthcentpercentminusxx maxwidth400'); $nbofcontacts = $form->num; $newcardbutton = ''; @@ -160,7 +157,7 @@ if ($permission) { print $newcardbutton; ?>
    -
    +
    element == 'shipping' || $object->element == 'reception') && is_object($objectsrc)) { @@ -306,12 +303,12 @@ foreach ($list as $entry) { if ($permission) { $href = $_SERVER["PHP_SELF"]; - $href .= '?id='.$object->id; + $href .= '?id='.((int) $object->id); $href .= '&action=deletecontact&token='.newToken(); - $href .= '&lineid='.$entry->id; + $href .= '&lineid='.((int) $entry->id); - print ""; - print ""; + print ''; + print ''; print img_picto($langs->trans("Unlink"), "unlink"); print ""; print ""; diff --git a/htdocs/core/tpl/document_actions_post_headers.tpl.php b/htdocs/core/tpl/document_actions_post_headers.tpl.php index 4ec69efbac8..42276c24234 100644 --- a/htdocs/core/tpl/document_actions_post_headers.tpl.php +++ b/htdocs/core/tpl/document_actions_post_headers.tpl.php @@ -63,10 +63,10 @@ if (in_array($modulepart, array('product', 'produit', 'societe', 'user', 'ticket /* - * Confirm form to delete + * Confirm form to delete a file */ -if ($action == 'delete') { +if ($action == 'deletefile') { $langs->load("companies"); // Need for string DeleteFile+ConfirmDeleteFiles print $form->formconfirm( $_SERVER["PHP_SELF"].'?id='.$object->id.'&urlfile='.urlencode(GETPOST("urlfile")).'&linkid='.GETPOST('linkid', 'int').(empty($param) ? '' : $param), diff --git a/htdocs/core/tpl/extrafields_edit.tpl.php b/htdocs/core/tpl/extrafields_edit.tpl.php index 5915fb8a633..6d6b6aa8836 100644 --- a/htdocs/core/tpl/extrafields_edit.tpl.php +++ b/htdocs/core/tpl/extrafields_edit.tpl.php @@ -43,7 +43,7 @@ $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, print $hookmanager->resPrint; if (empty($reshook)) { $params = array(); - $params['cols'] = $parameters['colspanvalue']; + $params['cols'] = isset($parameters['colspanvalue']) ? $parameters['colspanvalue'] : null; print $object->showOptionals($extrafields, 'edit', $params); } diff --git a/htdocs/core/tpl/extrafields_list_print_fields.tpl.php b/htdocs/core/tpl/extrafields_list_print_fields.tpl.php index 7d547d52dea..adf90e204bb 100644 --- a/htdocs/core/tpl/extrafields_list_print_fields.tpl.php +++ b/htdocs/core/tpl/extrafields_list_print_fields.tpl.php @@ -62,7 +62,7 @@ if (!empty($extrafieldsobjectkey) && !empty($extrafields->attributes[$extrafield $totalarray['totalizable'][$key]['total'] += $obj->$tmpkey; } } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = $extrafieldsobjectprefix.$tmpkey; } diff --git a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php index f1b62676887..4ba40384648 100644 --- a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php @@ -33,11 +33,11 @@ if (!empty($extrafieldsobjectkey) && !empty($search_array_options) && is_array($ $sql .= " AND ".$extrafieldsobjectprefix.$tmpkey." = '".$db->idate($crit)."'"; } elseif (is_array($crit)) { if ($crit['start'] !== '' && $crit['end'] !== '') { - $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey." BETWEEN '". $db->idate($crit['start']). "' AND '".$db->idate($crit['end']) . "')"; + $sql .= " AND (".$extrafieldsobjectprefix.$tmpkey." BETWEEN '". $db->idate($crit['start']). "' AND '".$db->idate($crit['end']) . "')"; } elseif ($crit['start'] !== '') { - $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey." >= '". $db->idate($crit['start'])."')"; + $sql .= " AND (".$extrafieldsobjectprefix.$tmpkey." >= '". $db->idate($crit['start'])."')"; } elseif ($crit['end'] !== '') { - $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey." <= '". $db->idate($crit['end'])."')"; + $sql .= " AND (".$extrafieldsobjectprefix.$tmpkey." <= '". $db->idate($crit['end'])."')"; } } } elseif (in_array($typ, array('boolean'))) { @@ -65,7 +65,7 @@ if (!empty($extrafieldsobjectkey) && !empty($search_array_options) && is_array($ if (is_array($crit)) { $crit = implode(' ', $crit); // natural_search() expects a string } elseif ($typ === 'select' and is_string($crit) and strpos($crit, ' ') === false) { - $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey.' = "'.$db->escape($crit).'")'; + $sql .= " AND (".$extrafieldsobjectprefix.$tmpkey." = '".$db->escape($crit)."')"; continue; } $sql .= natural_search($extrafieldsobjectprefix.$tmpkey, $crit, $mode_search); diff --git a/htdocs/core/tpl/extrafields_view.tpl.php b/htdocs/core/tpl/extrafields_view.tpl.php index 3b826b2ead5..cd58ae554f2 100644 --- a/htdocs/core/tpl/extrafields_view.tpl.php +++ b/htdocs/core/tpl/extrafields_view.tpl.php @@ -194,16 +194,21 @@ if (empty($reshook) && isset($extrafields->attributes[$object->table_element]['l if ($object->element == 'contact') { $permok = $user->rights->societe->contact->creer; } + if ($object->element == 'salary') { + $permok = $user->rights->salaries->read; + } $isdraft = ((isset($object->statut) && $object->statut == 0) || (isset($object->status) && $object->status == 0)); if (($isdraft || !empty($extrafields->attributes[$object->table_element]['alwayseditable'][$tmpkeyextra])) && $permok && $enabled != 5 && ($action != 'edit_extras' || GETPOST('attribute') != $tmpkeyextra) && empty($extrafields->attributes[$object->table_element]['computed'][$tmpkeyextra])) { - $fieldid = 'id'; + $fieldid = empty($forcefieldid) ? 'id' : $forcefieldid; + $valueid = empty($forceobjectid) ? $object->id : $forceobjectid; if ($object->table_element == 'societe') { $fieldid = 'socid'; } - print ''.img_edit().''; + + print ''.img_edit().''; } print ''; print ''; @@ -258,7 +263,6 @@ if (empty($reshook) && isset($extrafields->attributes[$object->table_element]['l } } - // Add code to manage list depending on others // TODO Test/enhance this with a more generic solution if (!empty($conf->use_javascript_ajax)) { diff --git a/htdocs/core/tpl/filemanager.tpl.php b/htdocs/core/tpl/filemanager.tpl.php index 57a95c48ece..e776388ac53 100644 --- a/htdocs/core/tpl/filemanager.tpl.php +++ b/htdocs/core/tpl/filemanager.tpl.php @@ -233,7 +233,7 @@ if ($action == 'convertimgwebp' && $permtoadd) { if (empty($action) || $action == 'editfile' || $action == 'file_manager' || preg_match('/refresh/i', $action) || $action == 'delete') { $langs->load("ecm"); - print ''."\n"; + print '
    '."\n"; print ''."\n"; print ''."\n"; diff --git a/htdocs/core/tpl/list_print_total.tpl.php b/htdocs/core/tpl/list_print_total.tpl.php index 62052b82cec..543bb939850 100644 --- a/htdocs/core/tpl/list_print_total.tpl.php +++ b/htdocs/core/tpl/list_print_total.tpl.php @@ -16,7 +16,7 @@ if (isset($totalarray['pos'])) { print ''; } else { if ($i == 1) { - if ($num < $limit) { + if (is_null($limit) || $num < $limit) { print ''; } else { print 'situation_cycle_ref) { + if (isset($this->situation_cycle_ref) && $this->situation_cycle_ref) { print ''; print ''; } @@ -416,7 +417,7 @@ if ($nolinesbefore) { ?> situation_cycle_ref) { + if (isset($this->situation_cycle_ref) && $this->situation_cycle_ref) { $coldisplay++; print ''; $coldisplay++; @@ -432,15 +433,15 @@ if ($nolinesbefore) { - "> + "> global->DISPLAY_MARGIN_RATES)) { - echo ''; + echo ''; $coldisplay++; } if (!empty($conf->global->DISPLAY_MARK_RATES)) { - echo ''; + echo ''; $coldisplay++; } } @@ -448,7 +449,7 @@ if ($nolinesbefore) { $coldisplay += $colspan; ?> @@ -673,15 +674,27 @@ if (!empty($usemargins) && $user->rights->margins->creer) { $("#prod_entry_mode_predef").click(); + if (in_array($this->table_element_line, array('propaldet', 'commandedet', 'facturedet'))) { ?> + $("#date_start, #date_end").focusout(function() { + let type = $(this).attr('type'); + let mandatoryP = $(this).attr('mandatoryperiod'); + if (type == 1 && mandatoryP == 1) { + if ($(this).val() == '' && !$(this).hasClass('inputmandatory')) { + $(this).addClass('inputmandatory'); + }else{ + $(this).removeClass('inputmandatory'); + } + } + }); + /* When changing predefined product, we reload list of supplier prices required for margin combo */ $("#idprod, #idprodfournprice").change(function() { console.log("Call method change() after change on #idprod or #idprodfournprice (senderissupplier=). this.val = "+$(this).val()); setforpredef(); // TODO Keep vat combo visible and set it to first entry into list that match result of get_default_tva - jQuery('#trlinefordates').show(); rights->margins->creer) { { 'id': $(this).val(), 'socid': socid; ?> }, function(data) { console.log("Load unit price end, we got value "+data.price_ht); + + $('#date_start').removeAttr('type'); + $('#date_end').removeAttr('type'); + $('#date_start').attr('type', data.type); + $('#date_end').attr('type', data.type); + + $('#date_start').removeAttr('mandatoryperiod'); + $('#date_end').removeAttr('mandatoryperiod'); + $('#date_start').attr('mandatoryperiod', data.mandatory_period); + $('#date_end').attr('mandatoryperiod', data.mandatory_period); + + // service and we setted mandatory_period to true + if (data.mandatory_period == 1 && data.type == 1) { + jQuery('#date_start').addClass('inputmandatory'); + jQuery('#date_end').addClass('inputmandatory'); + }else{ + jQuery('#date_start').removeClass('inputmandatory'); + jQuery('#date_end').removeClass('inputmandatory'); + } + jQuery("#price_ht").val(data.price_ht); global->PRODUIT_AUTOFILL_DESC) && $conf->global->PRODUIT_AUTOFILL_DESC == 1) { @@ -984,6 +1017,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) { jQuery("#np_marginRate, #np_markRate, .np_marginRate, .np_markRate, #units, #title_units").show(); jQuery("#fournprice_predef").hide(); } + function setforpredef() { console.log("Call setforpredef. We hide some fields and show dates"); jQuery("#select_type").val(-1); diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index 6138bcecc1a..d1b19495429 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -130,8 +130,16 @@ $coldisplay++; $reshook = $hookmanager->executeHooks('formEditProductOptions', $parameters, $this, $action); } + $situationinvoicelinewithparent = 0; + if ($line->fk_prev_id != null && in_array($object->element, array('facture', 'facturedet'))) { + if ($object->type == $object::TYPE_SITUATION) { // The constant TYPE_SITUATION exists only for object invoice + // Set constant to disallow editing during a situation cycle + $situationinvoicelinewithparent = 1; + } + } + // Do not allow editing during a situation cycle - if ($line->fk_prev_id == null) { + if (!$situationinvoicelinewithparent) { // editor wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $nbrows = ROWS_2; @@ -181,7 +189,7 @@ $coldisplay++; } $coldisplay++; - if ($line->fk_prev_id == null) { + if (!$situationinvoicelinewithparent) { print ''; } else { print ''; @@ -189,7 +197,7 @@ $coldisplay++; $coldisplay++; print ''; @@ -211,12 +219,12 @@ $coldisplay++; '; } $coldisplay++; - } elseif (!empty($conf->global->DISPLAY_MARK_RATES)) { + } + if (!empty($conf->global->DISPLAY_MARK_RATES)) { $mark_rate = (GETPOSTISSET("np_markRate") ? GETPOST("np_markRate", 'alpha', 2) : price($line->marque_tx)); // if credit note, dont allow to modify margin if ($line->subprice < 0) { @@ -325,9 +334,18 @@ $coldisplay++; if (isset($conf->global->MAIN_DEFAULT_DATE_START_HOUR)) { print 'jQuery("#date_starthour").val("'.$conf->global->MAIN_DEFAULT_DATE_START_HOUR.'");'; } + + if (isset($conf->global->MAIN_DEFAULT_DATE_START_MIN)) { print 'jQuery("#date_startmin").val("'.$conf->global->MAIN_DEFAULT_DATE_START_MIN.'");'; } + + $res = $line->fetch_product(); + if ($res > 0 ) { + if ( $line->product->isMandatoryPeriod() && $line->product->isService()) { + print 'jQuery("#date_start").addClass("error");'; + } + } } if (!$line->date_end) { if (isset($conf->global->MAIN_DEFAULT_DATE_END_HOUR)) { @@ -336,6 +354,14 @@ $coldisplay++; if (isset($conf->global->MAIN_DEFAULT_DATE_END_MIN)) { print 'jQuery("#date_endmin").val("'.$conf->global->MAIN_DEFAULT_DATE_END_MIN.'");'; } + + $res = $line->fetch_product(); + // on doit fetch le product là !!! pour connaître le type + if ($res > 0 ) { + if ($line->product->isMandatoryperiod() && $line->product->isService()) { + print 'jQuery("#date_end").addClass("error");'; + } + } } print '' ?> @@ -443,7 +469,17 @@ jQuery(document).ready(function() } }); - table_element_line, array('propaldet', 'commandedet', 'facturedet'))) { ?> + $("#date_start, #date_end").focusout(function() { + if ( $(this).val() == '' && !$(this).hasClass('inputmandatory') ) { + $(this).addClass('inputmandatory'); + } else { + $(this).removeClass('inputmandatory'); + } + }); + margin->enabled)) { ?> /* Add rule to clear margin when we change some data, so when we change sell or buy price, margin will be recalculated after submitting form */ diff --git a/htdocs/core/tpl/objectline_title.tpl.php b/htdocs/core/tpl/objectline_title.tpl.php index b530f5215cc..e1f89b18937 100644 --- a/htdocs/core/tpl/objectline_title.tpl.php +++ b/htdocs/core/tpl/objectline_title.tpl.php @@ -105,7 +105,7 @@ if (!empty($conf->global->PRODUCT_USE_UNITS)) { print ''; // Fields for situation invoice -if ($this->situation_cycle_ref) { +if (isset($this->situation_cycle_ref) && $this->situation_cycle_ref) { print ''; print ''; } diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index 8e9d72d40b4..c4ddc7d0c4c 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -79,6 +79,7 @@ if (!empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE_SCREEN) && in_array($obje $sign = -1; } + $coldisplay = 0; ?> @@ -132,10 +133,10 @@ if (($line->info_bits & 2) == 2) { } } } else { - $format = $conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE ? 'dayhour' : 'day'; + $format = (!empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE) ? 'dayhour' : 'day'); if ($line->fk_product > 0) { - print $form->textwithtooltip($text, $description, 3, '', '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); + print $form->textwithtooltip($text, $description, 3, 0, '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); } else { $type = (!empty($line->product_type) ? $line->product_type : $line->fk_product_type); if ($type == 1) { @@ -146,7 +147,7 @@ if (($line->info_bits & 2) == 2) { if (!empty($line->label)) { $text .= ' '.$line->label.''; - print $form->textwithtooltip($text, dol_htmlentitiesbr($line->description), 3, '', '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); + print $form->textwithtooltip($text, dol_htmlentitiesbr($line->description), 3, 0, '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); } else { if (!empty($line->fk_parent_line)) { print img_picto('', 'rightarrow'); @@ -163,32 +164,50 @@ if (($line->info_bits & 2) == 2) { // Show date range if ($line->element == 'facturedetrec') { if ($line->date_start_fill || $line->date_end_fill) { - print '
    '; + print '
    '; } if ($line->date_start_fill) { - print $langs->trans('AutoFillDateFromShort').': '.yn($line->date_start_fill); + print ''.$langs->trans('AutoFillDateFromShort').': '.yn($line->date_start_fill); } if ($line->date_start_fill && $line->date_end_fill) { print ' - '; } if ($line->date_end_fill) { - print $langs->trans('AutoFillDateToShort').': '.yn($line->date_end_fill); + print ''.$langs->trans('AutoFillDateToShort').': '.yn($line->date_end_fill); } if ($line->date_start_fill || $line->date_end_fill) { print '
    '; } } else { if ($line->date_start || $line->date_end) { - print '
    '.get_date_range($line->date_start, $line->date_end, $format).'
    '; + print '
    '.get_date_range($line->date_start, $line->date_end, $format).'
    '; } + if (!$line->date_start || !$line->date_end) { + // show warning under line + // we need to fetch product associated to line for some test + if ($object->element == 'propal' || $object->element == 'order' || $object->element == 'propal_supplier' || $object->element == 'supplier_proposal' || $object->element == 'commande') { + $res = $line->fetch_product(); + if ($res > 0 ) { + if ($line->product->isService() && $line->product->isMandatoryPeriod()) { + print '
    '.$langs->trans("mandatoryPeriodNeedTobeSet").'
    '; + } + } + } + } + //print get_date_range($line->date_start, $line->date_end, $format); } // Add description in form if ($line->fk_product > 0 && !empty($conf->global->PRODUIT_DESC_IN_FORM)) { - print (!empty($line->description) && $line->description != $line->product_label) ? '
    '.dol_htmlentitiesbr($line->description) : ''; + if ($line->element == 'facturedetrec') { + print (!empty($line->description) && $line->description != $line->product_label) ? (($line->date_start_fill || $line->date_end_fill) ? '' : '
    ').'
    '.dol_htmlentitiesbr($line->description) : ''; + } else { + print (!empty($line->description) && $line->description != $line->product_label) ? (($line->date_start || $line->date_end) ? '' : '
    ').'
    '.dol_htmlentitiesbr($line->description) : ''; + } } - //Line extrafield + + // Line extrafield if (!empty($extrafields)) { $temps = $line->showOptionals($extrafields, 'view', array(), '', '', 1, 'line'); if (!empty($temps)) { @@ -288,7 +307,7 @@ if (!empty($line->remise_percent) && $line->special_code != 3) { } // Fields for situation invoices -if ($this->situation_cycle_ref) { +if (isset($this->situation_cycle_ref) && $this->situation_cycle_ref) { include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; $coldisplay++; print '
    '; @@ -353,20 +372,28 @@ if ($outputalsopricetotalwithtax) { $coldisplay++; } -if ($this->statut == 0 && ($object_rights->creer) && $action != 'selectlines') { +if ($this->statut == 0 && !empty($object_rights->creer) && $action != 'selectlines') { + $situationinvoicelinewithparent = 0; + if ($line->fk_prev_id != null && in_array($object->element, array('facture', 'facturedet'))) { + if ($object->type == $object::TYPE_SITUATION) { // The constant TYPE_SITUATION exists only for object invoice + // Set constant to disallow editing during a situation cycle + $situationinvoicelinewithparent = 1; + } + } + print ''; print '
    '.price($totalarray['val'][$totalarray['pos'][$i]]).''.$langs->trans("Total").''; diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index 9af5bc7d7b4..0a4bb149986 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -196,7 +196,7 @@ if ($disablenofollow) {
    -
    +
    - " class="flat input-icon-security width150" type="text" maxlength="5" name="code" tabindex="3" autocomplete="off" /> + " class="flat input-icon-security width125" type="text" maxlength="5" name="code" tabindex="3" autocomplete="off" /> @@ -310,7 +310,7 @@ if (isset($conf->file->main_authentication) && preg_match('/openid/', $conf->fil print ''.$langs->trans("LoginUsingOpenID").''; } else { $langs->load("errors"); - print ''.$langs->trans("ErrorOpenIDSetupNotComplete", 'MAIN_AUTHENTICATION_OPENID_URL').''; + print ''.$langs->trans("ErrorOpenIDSetupNotComplete", 'MAIN_AUTHENTICATION_OPENID_URL').''; } echo '
    '; @@ -332,7 +332,7 @@ if (isset($conf->file->main_authentication) && preg_match('/openid/', $conf->fil if (!empty($_SESSION['dol_loginmesg'])) { ?> global->MAIN_EASTER_EGG_COMMITSTRIP)) { $resgetcommitstrip = getURLContent("https://www.commitstrip.com/en/feed/"); } if ($resgetcommitstrip && $resgetcommitstrip['http_code'] == '200') { - $xml = simplexml_load_string($resgetcommitstrip['content']); + $xml = simplexml_load_string($resgetcommitstrip['content'], 'SimpleXMLElement', LIBXML_NOCDATA|LIBXML_NONET); $little = $xml->channel->item[0]->children('content', true); print preg_replace('/width="650" height="658"/', '', $little->encoded); } @@ -356,7 +356,7 @@ if (!empty($conf->global->MAIN_EASTER_EGG_COMMITSTRIP)) { -
    trans('ReductionShort'); ?> '.$langs->trans('Progress').'">% % %%%% - +
    '.$form->load_tva('tva_tx', $line->tva_tx.($line->vat_src_code ? (' ('.$line->vat_src_code.')') : ''), $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1).'%fk_prev_id != null) { + if ($situationinvoicelinewithparent) { print ' readonly'; } print '> info_bits & 2) != 2) { - // I comment this because it shows info even when not required + // I comment warning of stock because it shows the info even when it should not. // for example always visible on invoice but must be visible only if stock module on and stock decrease option is on invoice validation and status is not validated // must also not be output for most entities (proposal, intervention, ...) //if($line->qty > $line->stock) print img_picto($langs->trans("StockTooLow"),"warning", 'style="vertical-align: bottom;"')." "; print 'fk_prev_id != null) { + if ($situationinvoicelinewithparent) { // Do not allow editing during a situation cycle print ' readonly'; } print '>'; @@ -249,7 +257,7 @@ $coldisplay++; info_bits & 2) != 2) { print 'fk_prev_id != null) { + if ($situationinvoicelinewithparent) { print ' readonly'; } print '>%'; @@ -288,7 +296,8 @@ $coldisplay++; echo '%'.$langs->trans('ReductionShort').''.$langs->trans('Progress').''.$form->textwithpicto($langs->trans('TotalHT100Short'), $langs->trans('UnitPriceXQtyLessDiscount')).''.$line->situation_percent.'%'; $coldisplay++; if (($line->info_bits & 2) == 2 || !empty($disableedit)) { } else { ?> - id.'#line_'.$line->id; ?>"> + id.'#line_'.$line->id; ?>"> '; } print ''; $coldisplay++; - if (($line->fk_prev_id == null) && empty($disableremove)) { //La suppression n'est autorisée que si il n'y a pas de ligne dans une précédente situation - print 'id.'">'; + if (!$situationinvoicelinewithparent && empty($disableremove)) { // For situation invoice, deletion is not possible if there is a parent company. + print 'id.'">'; print img_delete(); print ''; } @@ -376,12 +403,12 @@ if ($this->statut == 0 && ($object_rights->creer) && $action != 'selectlines') { print ''; $coldisplay++; if ($i > 0) { ?> - id; ?>"> + id; ?>"> - id; ?>"> + id; ?>">
    -
    +
    - " class="flat input-icon-security width150" type="text" maxlength="5" name="code" tabindex="3" autocomplete="off" /> + " class="flat input-icon-security width125" type="text" maxlength="5" name="code" tabindex="3" autocomplete="off" /> @@ -186,7 +186,7 @@ if (!empty($morelogincontent)) {
    -
    class="button" name="button_password" value="trans('SendNewPassword'); ?>" tabindex="4" /> +
    class="button small" name="button_password" value="trans('SendNewPassword'); ?>" tabindex="4" />
    @@ -216,7 +216,7 @@ if (!empty($morelogincontent)) { -
    '; print dol_get_fiche_end(); -print '
    '; -print ''; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print ''; diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index 7911194603b..270fe3f57c4 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -532,11 +532,7 @@ if (($action == "create") || ($action == "edit")) { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print "
    "; + print $form->buttonsSaveCancel(); print "\n"; } else { @@ -749,7 +745,7 @@ if (($action == "create") || ($action == "edit")) { if (!$user->rights->cron->create) { print ''.$langs->trans("Edit").''; } else { - print ''.$langs->trans("Edit").''; + print ''.$langs->trans("Edit").''; } if ((empty($user->rights->cron->execute))) { @@ -757,7 +753,7 @@ if (($action == "create") || ($action == "edit")) { } elseif (empty($object->status)) { print ''.$langs->trans("CronExecute").''; } else { - print ''.$langs->trans("CronExecute").''; + print ''.$langs->trans("CronExecute").''; } if (!$user->rights->cron->create) { diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index e2b7c2da47b..44564e1b0ab 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -557,9 +557,9 @@ class Cronjob extends CommonObject if (is_array($filter) && count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sql .= ' AND '.$key.' = '.((int) $value); + $sql .= " AND ".$key." = ".((int) $value); } else { - $sql .= ' AND '.$key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sql .= " AND ".$key." LIKE '%".$this->db->escape($value)."%'"; } } } @@ -1432,10 +1432,10 @@ class Cronjob extends CommonObject $moretext .= ' ('.$langs->trans("Error").')'; } - $this->labelStatus[self::STATUS_DISABLED] = $langs->trans('Disabled').$moretext; - $this->labelStatus[self::STATUS_ENABLED] = $langs->trans('Scheduled').$moretext; - $this->labelStatusShort[self::STATUS_DISABLED] = $langs->trans('Disabled'); - $this->labelStatusShort[self::STATUS_ENABLED] = $langs->trans('Scheduled'); + $this->labelStatus[self::STATUS_DISABLED] = $langs->transnoentitiesnoconv('Disabled').$moretext; + $this->labelStatus[self::STATUS_ENABLED] = $langs->transnoentitiesnoconv('Scheduled').$moretext; + $this->labelStatusShort[self::STATUS_DISABLED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_ENABLED] = $langs->transnoentitiesnoconv('Scheduled'); } $statusType = 'status4'; diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index 4d829258b2b..aba6558f20d 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -278,12 +278,12 @@ if ($search_lastresult != '') { //Manage filter if (is_array($filter) && count($filter) > 0) { foreach ($filter as $key => $value) { - $sql .= ' AND '.$key.' LIKE \'%'.$db->escape($value).'%\''; + $sql .= " AND ".$key." LIKE '%".$db->escape($value)."%'"; } } $sqlwhere = array(); if (!empty($search_module_name)) { - $sqlwhere[] = '(t.module_name='.$db->escape($search_module_name).')'; + $sqlwhere[] = "(t.module_name = '".$db->escape($search_module_name)."')"; } if (count($sqlwhere) > 0) { $sql .= " WHERE ".implode(' AND ', $sqlwhere); diff --git a/htdocs/datapolicy/admin/setup.php b/htdocs/datapolicy/admin/setup.php index dde8644571e..8f25461eb64 100644 --- a/htdocs/datapolicy/admin/setup.php +++ b/htdocs/datapolicy/admin/setup.php @@ -175,7 +175,7 @@ if ($action == 'edit') { print ''; print ''; } diff --git a/htdocs/datapolicy/admin/setupmail.php b/htdocs/datapolicy/admin/setupmail.php index c25d4c2263d..535c4383d0d 100644 --- a/htdocs/datapolicy/admin/setupmail.php +++ b/htdocs/datapolicy/admin/setupmail.php @@ -151,7 +151,7 @@ $doleditor->Create(); print ''; print ''; -print '
    '; +print '
    '; print ''; @@ -160,7 +160,7 @@ print dol_get_fiche_end(); print '

    '; print $langs->trans('SendAgreementText'); -print ''.$langs->trans('SendAgreement').''; +print ''.$langs->trans('SendAgreement').''; llxFooter(); $db->close(); diff --git a/htdocs/dav/dav.class.php b/htdocs/dav/dav.class.php index 6ff9e58b73a..a4c98eba8a7 100644 --- a/htdocs/dav/dav.class.php +++ b/htdocs/dav/dav.class.php @@ -82,8 +82,8 @@ class CdavLib LEFT OUTER JOIN '.MAIN_DB_PREFIX.'user AS u ON (u.rowid=fk_element) WHERE ar.element_type=\'user\' AND fk_actioncomm=a.id) AS other_users FROM '.MAIN_DB_PREFIX.'actioncomm AS a'; - if (!$this->user->rights->societe->client->voir) {//FIXME si 'voir' on voit plus de chose ? - $sql .= ' LEFT OUTER JOIN '.MAIN_DB_PREFIX.'societe_commerciaux AS sc ON (a.fk_soc = sc.fk_soc AND sc.fk_user='.$this->user->id.') + if (!$this->user->rights->societe->client->voir) { //FIXME si 'voir' on voit plus de chose ? + $sql .= ' LEFT OUTER JOIN '.MAIN_DB_PREFIX.'societe_commerciaux AS sc ON (a.fk_soc = sc.fk_soc AND sc.fk_user='.((int) $this->user->id).') LEFT JOIN '.MAIN_DB_PREFIX.'societe AS s ON (s.rowid = sc.fk_soc) LEFT JOIN '.MAIN_DB_PREFIX.'socpeople AS sp ON (sp.fk_soc = sc.fk_soc AND sp.rowid = a.fk_contact) LEFT JOIN '.MAIN_DB_PREFIX.'actioncomm_cdav AS ac ON (a.id = ac.fk_object)'; @@ -95,7 +95,7 @@ class CdavLib $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as co ON co.rowid = sp.fk_pays LEFT JOIN '.MAIN_DB_PREFIX.'c_country as cos ON cos.rowid = s.fk_pays - WHERE a.id IN (SELECT ar.fk_actioncomm FROM '.MAIN_DB_PREFIX.'actioncomm_resources ar WHERE ar.element_type=\'user\' AND ar.fk_element='.intval($calid).') + WHERE a.id IN (SELECT ar.fk_actioncomm FROM '.MAIN_DB_PREFIX.'actioncomm_resources ar WHERE ar.element_type=\'user\' AND ar.fk_element='.((int) $calid).') AND a.code IN (SELECT cac.code FROM '.MAIN_DB_PREFIX.'c_actioncomm cac WHERE cac.type<>\'systemauto\') AND a.entity IN ('.getEntity('societe', 1).')'; if ($oid !== false) { diff --git a/htdocs/debugbar/class/TraceableDB.php b/htdocs/debugbar/class/TraceableDB.php index af11f4c1d67..2d9f70a1eb5 100644 --- a/htdocs/debugbar/class/TraceableDB.php +++ b/htdocs/debugbar/class/TraceableDB.php @@ -250,6 +250,17 @@ class TraceableDB extends DoliDB return $this->db->escape($stringtoencode); } + /** + * Escape a string to insert data + * + * @param string $stringtoencode String to escape + * @return string String escaped + */ + public function escapeunderscore($stringtoencode) + { + return $this->db->escapeunderscore($stringtoencode); + } + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** * Get last ID after an insert INSERT @@ -288,17 +299,18 @@ class TraceableDB extends DoliDB /** * Execute a SQL request and return the resultset * - * @param string $query SQL query string - * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). - * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. - * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) - * @return resource Resultset of answer + * @param string $query SQL query string + * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). + * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. + * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @param int $result_mode Result mode + * @return resource Resultset of answer */ - public function query($query, $usesavepoint = 0, $type = 'auto') + public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0) { $this->startTracing(); - $resql = $this->db->query($query, $usesavepoint, $type); + $resql = $this->db->query($query, $usesavepoint, $type, $result_mode); $this->endTracing($query, $resql); @@ -595,13 +607,13 @@ class TraceableDB extends DoliDB /** * Encrypt sensitive data in database - * Warning: This function includes the escape, so it must use direct value + * Warning: This function includes the escape and add the SQL simple quotes on strings. * - * @param string $fieldorvalue Field name or value to encrypt - * @param int $withQuotes Return string with quotes - * @return string XXX(field) or XXX('value') or field or 'value' + * @param string $fieldorvalue Field name or value to encrypt + * @param int $withQuotes Return string including the SQL simple quotes. This param must always be 1 (Value 0 is bugged and deprecated). + * @return string XXX(field) or XXX('value') or field or 'value' */ - public function encrypt($fieldorvalue, $withQuotes = 0) + public function encrypt($fieldorvalue, $withQuotes = 1) { return $this->db->encrypt($fieldorvalue, $withQuotes); } diff --git a/htdocs/delivery/card.php b/htdocs/delivery/card.php index a845b7aff95..cca399f43af 100644 --- a/htdocs/delivery/card.php +++ b/htdocs/delivery/card.php @@ -330,7 +330,7 @@ if ($action == 'create') { // Create. Seems to no be used $morehtmlref .= '
    '.$langs->trans('Project').' '; if (0) { // Do not change on shipment if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { // $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $expedition->id, $expedition->socid, $expedition->fk_project, 'projectid', 0, 0, 1, 1); @@ -338,7 +338,7 @@ if ($action == 'create') { // Create. Seems to no be used $morehtmlref .= ''; $morehtmlref .= ''; $morehtmlref .= $formproject->select_projects($expedition->socid, $expedition->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); - $morehtmlref .= ''; + $morehtmlref .= ''; $morehtmlref .= ''; } else { $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$expedition->id, $expedition->socid, $expedition->fk_project, 'none', 0, 0, 0, 1); @@ -427,7 +427,7 @@ if ($action == 'create') { // Create. Seems to no be used print ''; if ($action != 'editdate_delivery') { - print 'id.'">'.img_edit($langs->trans('SetDeliveryDate'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetDeliveryDate'), 1).''; } print ''; print ''; @@ -436,7 +436,7 @@ if ($action == 'create') { // Create. Seems to no be used print ''; print ''; print $form->selectDate($object->date_delivery ? $object->date_delivery : -1, 'liv_', 1, 1, '', "setdate_delivery", 1, 1); - print ''; + print ''; print ''; } else { print $object->date_delivery ? dol_print_date($object->date_delivery, 'dayhour') : ' '; @@ -451,7 +451,7 @@ if ($action == 'create') { // Create. Seems to no be used print $langs->trans('IncotermLabel'); print ''; if ($user->rights->expedition->delivery->creer) { - print ''.img_edit().''; + print ''.img_edit().''; } else { print ' '; } @@ -630,7 +630,7 @@ if ($action == 'create') { // Create. Seems to no be used print dol_get_fiche_end(); //if ($object->statut == 0) // only if draft - // print '
    '; + // print $form->buttonsSaveCancel("Save", ''); print ''; @@ -651,9 +651,9 @@ if ($action == 'create') { // Create. Seems to no be used if ($user->rights->expedition->delivery->supprimer) { if ($conf->expedition_bon->enabled) { - print ''.$langs->trans("Delete").''; + print ''.$langs->trans("Delete").''; } else { - print ''.$langs->trans("Delete").''; + print ''.$langs->trans("Delete").''; } } diff --git a/htdocs/delivery/class/delivery.class.php b/htdocs/delivery/class/delivery.class.php index 18887a99e28..c16da2bd608 100644 --- a/htdocs/delivery/class/delivery.class.php +++ b/htdocs/delivery/class/delivery.class.php @@ -166,11 +166,11 @@ class Delivery extends CommonObject $sql .= ", fk_incoterms, location_incoterms"; $sql .= ") VALUES ("; $sql .= "'(PROV)'"; - $sql .= ", ".$conf->entity; - $sql .= ", ".$this->socid; + $sql .= ", ".((int) $conf->entity); + $sql .= ", ".((int) $this->socid); $sql .= ", '".$this->db->escape($this->ref_customer)."'"; $sql .= ", '".$this->db->idate($now)."'"; - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); $sql .= ", ".($this->date_delivery ? "'".$this->db->idate($this->date_delivery)."'" : "null"); $sql .= ", ".($this->fk_delivery_address > 0 ? $this->fk_delivery_address : "null"); $sql .= ", ".(!empty($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null"); @@ -189,7 +189,7 @@ class Delivery extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."delivery "; $sql .= "SET ref = '".$this->db->escape($numref)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog("Delivery::create", LOG_DEBUG); $resql = $this->db->query($sql); @@ -273,10 +273,10 @@ class Delivery extends CommonObject $sql = "INSERT INTO ".MAIN_DB_PREFIX."deliverydet (fk_delivery, fk_origin_line,"; $sql .= " fk_product, description, qty)"; - $sql .= " VALUES (".$this->id.",".$origin_id.","; - $sql .= " ".($idprod > 0 ? $idprod : "null").","; + $sql .= " VALUES (".$this->id.",".((int) $origin_id).","; + $sql .= " ".($idprod > 0 ? ((int) $idprod) : "null").","; $sql .= " ".($description ? "'".$this->db->escape($description)."'" : "null").","; - $sql .= $qty.")"; + $sql .= (price2num($qty, 'MS')).")"; dol_syslog(get_class($this)."::create_line", LOG_DEBUG); if (!$this->db->query($sql)) { @@ -412,7 +412,7 @@ class Delivery extends CommonObject $sql .= " FROM ".MAIN_DB_PREFIX."delivery"; $sql .= " WHERE ref = '".$this->db->escape($numref)."'"; $sql .= " AND fk_statut <> 0"; - $sql .= " AND entity = ".$conf->entity; + $sql .= " AND entity = ".((int) $conf->entity); $resql = $this->db->query($sql); if ($resql) { @@ -427,7 +427,7 @@ class Delivery extends CommonObject $sql .= ", fk_statut = 1"; $sql .= ", date_valid = '".$this->db->idate($now)."'"; $sql .= ", fk_user_valid = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $sql .= " AND fk_statut = 0"; $resql = $this->db->query($sql); @@ -453,7 +453,7 @@ class Delivery extends CommonObject if (preg_match('/^[\(]?PROV/i', $this->ref)) { // Now we rename also files into index $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'expedition/receipt/".$this->db->escape($this->newref)."'"; - $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'expedition/receipt/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'expedition/receipt/".$this->db->escape($this->ref)."' and entity = ".((int) $conf->entity); $resql = $this->db->query($sql); if (!$resql) { $error++; $this->error = $this->db->lasterror(); @@ -641,7 +641,7 @@ class Delivery extends CommonObject $error = 0; $sql = "DELETE FROM ".MAIN_DB_PREFIX."deliverydet"; - $sql .= " WHERE fk_delivery = ".$this->id; + $sql .= " WHERE fk_delivery = ".((int) $this->id); if ($this->db->query($sql)) { // Delete linked object $res = $this->deleteObjectLinked(); @@ -651,7 +651,7 @@ class Delivery extends CommonObject if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."delivery"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { $this->db->commit(); @@ -761,7 +761,7 @@ class Delivery extends CommonObject $sql .= " FROM ".MAIN_DB_PREFIX."commandedet as cd, ".MAIN_DB_PREFIX."deliverydet as ld"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on p.rowid = ld.fk_product"; $sql .= " WHERE ld.fk_origin_line = cd.rowid"; - $sql .= " AND ld.fk_delivery = ".$this->id; + $sql .= " AND ld.fk_delivery = ".((int) $this->id); dol_syslog(get_class($this)."::fetch_lines", LOG_DEBUG); $resql = $this->db->query($sql); @@ -846,12 +846,12 @@ class Delivery extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule"); - $this->labelStatus[-1] = $langs->trans('StatusDeliveryCanceled'); - $this->labelStatus[0] = $langs->trans('StatusDeliveryDraft'); - $this->labelStatus[1] = $langs->trans('StatusDeliveryValidated'); - $this->labelStatusShort[-1] = $langs->trans('StatusDeliveryCanceled'); - $this->labelStatusShort[0] = $langs->trans('StatusDeliveryDraft'); - $this->labelStatusShort[1] = $langs->trans('StatusDeliveryValidated'); + $this->labelStatus[-1] = $langs->transnoentitiesnoconv('StatusDeliveryCanceled'); + $this->labelStatus[0] = $langs->transnoentitiesnoconv('StatusDeliveryDraft'); + $this->labelStatus[1] = $langs->transnoentitiesnoconv('StatusDeliveryValidated'); + $this->labelStatusShort[-1] = $langs->transnoentitiesnoconv('StatusDeliveryCanceled'); + $this->labelStatusShort[0] = $langs->transnoentitiesnoconv('StatusDeliveryDraft'); + $this->labelStatusShort[1] = $langs->transnoentitiesnoconv('StatusDeliveryValidated'); } $statusType = 'status0'; @@ -958,8 +958,8 @@ class Delivery extends CommonObject $sql .= " WHERE ld.fk_delivery = l.rowid"; $sql .= " AND ld.fk_origin_line = cd.rowid"; $sql .= " AND cd.fk_".$this->linked_object[0]['type']." = c.rowid"; - $sql .= " AND cd.fk_".$this->linked_object[0]['type']." = ".$this->linked_object[0]['linkid']; - $sql .= " AND ld.fk_origin_line = ".$objSourceLine->rowid; + $sql .= " AND cd.fk_".$this->linked_object[0]['type']." = ".((int) $this->linked_object[0]['linkid']); + $sql .= " AND ld.fk_origin_line = ".((int) $objSourceLine->rowid); $sql .= " GROUP BY ld.fk_origin_line"; $result = $this->db->query($sql); @@ -1001,7 +1001,7 @@ class Delivery extends CommonObject if ($user->rights->expedition->creer) { $sql = "UPDATE ".MAIN_DB_PREFIX."delivery"; $sql .= " SET date_delivery = ".($delivery_date ? "'".$this->db->idate($delivery_date)."'" : 'null'); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setDeliveryDate", LOG_DEBUG); $resql = $this->db->query($sql); diff --git a/htdocs/document.php b/htdocs/document.php index 59501cc4701..3c06801c9a0 100644 --- a/htdocs/document.php +++ b/htdocs/document.php @@ -194,8 +194,9 @@ if (!in_array($type, array('text/x-javascript')) && !dolIsAllowedForPreview($ori $type = 'application/octet-stream'; } -// Security: Delete string ../ into $original_file -$original_file = str_replace("../", "/", $original_file); +// Security: Delete string ../ or ..\ into $original_file +$original_file = str_replace('../', '/', $original_file); +$original_file = str_replace('..\\', '/', $original_file); // Find the subdirectory name as the reference $refname = basename(dirname($original_file)."/"); diff --git a/htdocs/don/admin/donation.php b/htdocs/don/admin/donation.php index 9fd6f176c7a..c56effea73a 100644 --- a/htdocs/don/admin/donation.php +++ b/htdocs/don/admin/donation.php @@ -116,8 +116,10 @@ if ($action == 'set_DONATION_ACCOUNTINGACCOUNT') { if (!$error) { setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + $action = ''; // To avoid to execute next actions } else { setEventMessages($langs->trans("Error"), null, 'errors'); + $action = ''; // To avoid to execute next actions } } @@ -132,14 +134,15 @@ if ($action == 'set_DONATION_MESSAGE') { if (!$error) { setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + $action = ''; // To avoid to execute next actions } else { setEventMessages($langs->trans("Error"), null, 'errors'); + $action = ''; // To avoid to execute next actions } } -/* - * Action - */ +// Other cases +$reg = array(); if (preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg)) { $code = $reg[1]; if (dolibarr_set_const($db, $code, 1, 'chaine', 0, '', $conf->entity) > 0) { @@ -248,12 +251,12 @@ if (is_resource($handle)) { print ''; } else { print "\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Enabled"), 'switch_on').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Enabled"), 'switch_on').''; print ''; } } else { print "\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -264,7 +267,7 @@ if (is_resource($handle)) { print ''; } else { print ""; - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; print ''; } @@ -338,7 +341,7 @@ if (!empty($conf->accounting->enabled)) { print ''; } print ''; -print ''; +print ''; print "\n"; print ''; @@ -350,7 +353,7 @@ print ''; print $langs->trans("FreeTextOnDonations").' '.img_info($langs->trans("AddCRIfTooLong")).'
    '; print ''; print ''; -print ''; +print ''; print "\n"; print "\n"; diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 1b3c72906b4..88525776811 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -84,259 +84,284 @@ if ($reshook < 0) { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } -// Action reopen object -if ($action == 'confirm_reopen' && $confirm == 'yes' && $permissiontoadd) { - $object->fetch($id); +if (empty($reshook)) { + $backurlforlist = DOL_URL_ROOT.'/don/list.php'; - $result = $object->reopen($user); - if ($result >= 0) { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { - if (method_exists($object, 'generateDocument')) { - $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->model_pdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = DOL_URL_ROOT.'/don/card.php?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); } } - - header("Location: ".$_SERVER["PHP_SELF"].'?id='.$object->id); - exit; - } else { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - - -// Action update object -if ($action == 'update') { - if (!empty($cancel)) { - header("Location: ".$_SERVER['PHP_SELF']."?id=".urlencode($id)); - exit; } - $error = 0; - - if (empty($donation_date)) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); - $action = "create"; - $error++; - } - - if (empty($amount)) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors'); - $action = "create"; - $error++; - } - - if (!$error) { - $object->fetch($id); - - $object->firstname = (string) GETPOST("firstname", 'alpha'); - $object->lastname = (string) GETPOST("lastname", 'alpha'); - $object->societe = (string) GETPOST("societe", 'alpha'); - $object->address = (string) GETPOST("address", 'alpha'); - $object->amount = price2num(GETPOST("amount", 'alpha')); - $object->town = (string) GETPOST("town", 'alpha'); - $object->zip = (string) GETPOST("zipcode", 'alpha'); - $object->country_id = (int) GETPOST('country_id', 'int'); - $object->email = (string) GETPOST("email", 'alpha'); - $object->date = $donation_date; - $object->public = $public_donation; - $object->fk_project = (int) GETPOST("fk_project", 'int'); - $object->note_private = (string) GETPOST("note_private", 'restricthtml'); - $object->note_public = (string) GETPOST("note_public", 'restricthtml'); - $object->modepaymentid = (int) GETPOST('modepayment', 'int'); - - // Fill array 'array_options' with data from add form - $ret = $extrafields->setOptionalsFromPost(null, $object); - if ($ret < 0) { - $error++; - } - - if ($object->update($user) > 0) { - header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + if ($cancel) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { + header("Location: ".$backtopage); exit; } - } -} - - -// Action add/create object -if ($action == 'add') { - if (!empty($cancel)) { - header("Location: index.php"); - exit; + $action = ''; } - $error = 0; + // Action reopen object + if ($action == 'confirm_reopen' && $confirm == 'yes' && $permissiontoadd) { + $object->fetch($id); - if (!empty($conf->societe->enabled) && !empty($conf->global->DONATION_USE_THIRDPARTIES) && !(GETPOST("socid", 'int') > 0)) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ThirdParty")), null, 'errors'); - $action = "create"; - $error++; - } - if (empty($donation_date)) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); - $action = "create"; - $error++; - } + $result = $object->reopen($user); + if ($result >= 0) { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + if (method_exists($object, 'generateDocument')) { + $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->model_pdf; + $ret = $object->fetch($id); // Reload to get new records - if (empty($amount)) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors'); - $action = "create"; - $error++; - } + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } - if (!$error) { - $object->socid = (int) GETPOST("socid", 'int'); - $object->firstname = (string) GETPOST("firstname", 'alpha'); - $object->lastname = (string) GETPOST("lastname", 'alpha'); - $object->societe = (string) GETPOST("societe", 'alpha'); - $object->address = (string) GETPOST("address", 'alpha'); - $object->amount = price2num(GETPOST("amount", 'alpha')); - $object->zip = (string) GETPOST("zipcode", 'alpha'); - $object->town = (string) GETPOST("town", 'alpha'); - $object->country_id = (int) GETPOST('country_id', 'int'); - $object->email = (string) GETPOST('email', 'alpha'); - $object->date = $donation_date; - $object->note_private = (string) GETPOST("note_private", 'restricthtml'); - $object->note_public = (string) GETPOST("note_public", 'restricthtml'); - $object->public = $public_donation; - $object->fk_project = (int) GETPOST("fk_project", 'int'); - $object->modepaymentid = (int) GETPOST('modepayment', 'int'); - - // Fill array 'array_options' with data from add form - $ret = $extrafields->setOptionalsFromPost(null, $object); - if ($ret < 0) { - $error++; - } - - $res = $object->create($user); - if ($res > 0) { - header("Location: ".$_SERVER['PHP_SELF'].'?id='.$res); + header("Location: ".$_SERVER["PHP_SELF"].'?id='.$object->id); exit; } else { setEventMessages($object->error, $object->errors, 'errors'); } } -} -// Action delete object -if ($action == 'confirm_delete' && GETPOST("confirm") == "yes" && $user->rights->don->supprimer) { - $object->fetch($id); - $result = $object->delete($user); - if ($result > 0) { - header("Location: index.php"); - exit; - } else { - dol_syslog($object->error, LOG_DEBUG); - setEventMessages($object->error, $object->errors, 'errors'); + + // Action update object + if ($action == 'update') { + if (!empty($cancel)) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".urlencode($id)); + exit; + } + + $error = 0; + + if (empty($donation_date)) { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); + $action = "create"; + $error++; + } + + if (empty($amount)) { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors'); + $action = "create"; + $error++; + } + + if (!$error) { + $object->fetch($id); + + $object->firstname = (string) GETPOST("firstname", 'alpha'); + $object->lastname = (string) GETPOST("lastname", 'alpha'); + $object->societe = (string) GETPOST("societe", 'alpha'); + $object->address = (string) GETPOST("address", 'alpha'); + $object->amount = price2num(GETPOST("amount", 'alpha')); + $object->town = (string) GETPOST("town", 'alpha'); + $object->zip = (string) GETPOST("zipcode", 'alpha'); + $object->country_id = (int) GETPOST('country_id', 'int'); + $object->email = (string) GETPOST("email", 'alpha'); + $object->date = $donation_date; + $object->public = $public_donation; + $object->fk_project = (int) GETPOST("fk_project", 'int'); + $object->note_private = (string) GETPOST("note_private", 'restricthtml'); + $object->note_public = (string) GETPOST("note_public", 'restricthtml'); + $object->modepaymentid = (int) GETPOST('modepayment', 'int'); + + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost(null, $object); + if ($ret < 0) { + $error++; + } + + if ($object->update($user) > 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } + } } -} -// Action validation -if ($action == 'valid_promesse') { - $object->fetch($id); - if ($object->valid_promesse($id, $user->id) >= 0) { - setEventMessages($langs->trans("DonationValidated", $object->ref), null); - $action = ''; - } else { - setEventMessages($object->error, $object->errors, 'errors'); + + // Action add/create object + if ($action == 'add') { + if (!empty($cancel)) { + header("Location: index.php"); + exit; + } + + $error = 0; + + if (!empty($conf->societe->enabled) && !empty($conf->global->DONATION_USE_THIRDPARTIES) && !(GETPOST("socid", 'int') > 0)) { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ThirdParty")), null, 'errors'); + $action = "create"; + $error++; + } + if (empty($donation_date)) { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); + $action = "create"; + $error++; + } + + if (empty($amount)) { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors'); + $action = "create"; + $error++; + } + + if (!$error) { + $object->socid = (int) GETPOST("socid", 'int'); + $object->firstname = (string) GETPOST("firstname", 'alpha'); + $object->lastname = (string) GETPOST("lastname", 'alpha'); + $object->societe = (string) GETPOST("societe", 'alpha'); + $object->address = (string) GETPOST("address", 'alpha'); + $object->amount = price2num(GETPOST("amount", 'alpha')); + $object->zip = (string) GETPOST("zipcode", 'alpha'); + $object->town = (string) GETPOST("town", 'alpha'); + $object->country_id = (int) GETPOST('country_id', 'int'); + $object->email = (string) GETPOST('email', 'alpha'); + $object->date = $donation_date; + $object->note_private = (string) GETPOST("note_private", 'restricthtml'); + $object->note_public = (string) GETPOST("note_public", 'restricthtml'); + $object->public = $public_donation; + $object->fk_project = (int) GETPOST("fk_project", 'int'); + $object->modepaymentid = (int) GETPOST('modepayment', 'int'); + + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost(null, $object); + if ($ret < 0) { + $error++; + } + + $res = $object->create($user); + if ($res > 0) { + header("Location: ".$_SERVER['PHP_SELF'].'?id='.$res); + exit; + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } } -} -// Action cancel -if ($action == 'set_cancel') { - $object->fetch($id); - if ($object->set_cancel($id) >= 0) { - $action = ''; - } else { - setEventMessages($object->error, $object->errors, 'errors'); + // Action delete object + if ($action == 'confirm_delete' && GETPOST("confirm") == "yes" && $user->rights->don->supprimer) { + $object->fetch($id); + $result = $object->delete($user); + if ($result > 0) { + header("Location: index.php"); + exit; + } else { + dol_syslog($object->error, LOG_DEBUG); + setEventMessages($object->error, $object->errors, 'errors'); + } } -} -// Action set paid -if ($action == 'set_paid') { - $object->fetch($id); - if ($object->setPaid($id, $modepayment) >= 0) { - $action = ''; - } else { - setEventMessages($object->error, $object->errors, 'errors'); + // Action validation + if ($action == 'valid_promesse') { + $object->fetch($id); + if ($object->valid_promesse($id, $user->id) >= 0) { + setEventMessages($langs->trans("DonationValidated", $object->ref), null); + $action = ''; + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + // Action cancel + if ($action == 'set_cancel') { + $object->fetch($id); + if ($object->set_cancel($id) >= 0) { + $action = ''; + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + // Action set paid + if ($action == 'set_paid') { + $object->fetch($id); + if ($object->setPaid($id, $modepayment) >= 0) { + $action = ''; + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } elseif ($action == 'classin' && $user->rights->don->creer) { + $object->fetch($id); + $object->setProject($projectid); } -} elseif ($action == 'classin' && $user->rights->don->creer) { - $object->fetch($id); - $object->setProject($projectid); -} -// Actions to build doc -include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; + // Actions to build doc + include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; -// Remove file in doc form -/*if ($action == 'remove_file') -{ - $object = new Don($db, 0, GETPOST('id', 'int')); - if ($object->fetch($id)) + // Remove file in doc form + /*if ($action == 'remove_file') { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + $object = new Don($db, 0, GETPOST('id', 'int')); + if ($object->fetch($id)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - $object->fetch_thirdparty(); + $object->fetch_thirdparty(); - $langs->load("other"); - $upload_dir = $conf->don->dir_output; - $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file,0,0,0,$object); - if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs'); - else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors'); - $action=''; + $langs->load("other"); + $upload_dir = $conf->don->dir_output; + $file = $upload_dir . '/' . GETPOST('file'); + $ret=dol_delete_file($file,0,0,0,$object); + if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs'); + else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors'); + $action=''; + } } -} -*/ + */ -/* - * Build doc - */ -/* -if ($action == 'builddoc') -{ - $object = new Don($db); - $result=$object->fetch($id); - - // Save last template used to generate document - if (GETPOST('model')) $object->setDocModel($user, GETPOST('model','alpha')); - - // Define output language - $outputlangs = $langs; - $newlang=''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id']; - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->thirdparty->default_lang; - if (! empty($newlang)) + /* + * Build doc + */ + /* + if ($action == 'builddoc') { - $outputlangs = new Translate("",$conf); - $outputlangs->setDefaultLang($newlang); - } - $result=don_create($db, $object->id, '', $object->model_pdf, $outputlangs); - if ($result <= 0) - { - dol_print_error($db,$result); - exit; + $object = new Don($db); + $result=$object->fetch($id); + + // Save last template used to generate document + if (GETPOST('model')) $object->setDocModel($user, GETPOST('model','alpha')); + + // Define output language + $outputlangs = $langs; + $newlang=''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id']; + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->thirdparty->default_lang; + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + $result=don_create($db, $object->id, '', $object->model_pdf, $outputlangs); + if ($result <= 0) + { + dol_print_error($db,$result); + exit; + } } + */ } -*/ /* @@ -492,7 +517,7 @@ if ($action == 'create') { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit', $parameters); + print $object->showOptionals($extrafields, 'create', $parameters); } print ''; @@ -500,11 +525,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print "\n"; } @@ -634,7 +655,7 @@ if (!empty($id) && $action == 'edit') { print dol_get_fiche_end(); - print '
       
    '; + print $form->buttonsSaveCancel(); print "\n"; } @@ -679,7 +700,7 @@ if (!empty($id) && $action != 'edit') { $morehtmlref .= $langs->trans('Project').' '; if ($user->rights->don->creer) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -834,7 +855,7 @@ if (!empty($id) && $action != 'edit') { print ''.$langs->trans("ReOpen").''; } - print ''; + print ''; if ($object->statut == $object::STATUS_DRAFT) { print ''; @@ -849,13 +870,13 @@ if (!empty($id) && $action != 'edit') { if ($remaintopay == 0) { print '
    '.$langs->trans('DoPayment').'
    '; } else { - print ''; + print ''; } } // Classify 'paid' if ($object->statut == $object::STATUS_VALIDATED && round($remaintopay) == 0 && $object->paid == 0 && $user->rights->don->creer) { - print '"; + print '"; } // Delete diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 181b3fc0ca3..7ca70a31aa2 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -381,7 +381,7 @@ class Don extends CommonObject $sql .= ", phone_mobile"; $sql .= ") VALUES ("; $sql .= "'".$this->db->idate($this->date ? $this->date : $now)."'"; - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $conf->entity); $sql .= ", ".price2num($this->amount); $sql .= ", ".($this->modepaymentid ? $this->modepaymentid : "null"); $sql .= ", ".($this->socid > 0 ? $this->socid : "null"); @@ -396,7 +396,7 @@ class Don extends CommonObject $sql .= ", ".($this->fk_project > 0 ? (int) $this->fk_project : "null"); $sql .= ", ".(!empty($this->note_private) ? ("'".$this->db->escape($this->note_private)."'") : "NULL"); $sql .= ", ".(!empty($this->note_public) ? ("'".$this->db->escape($this->note_public)."'") : "NULL"); - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); $sql .= ", null"; $sql .= ", '".$this->db->idate($this->date)."'"; $sql .= ", '".$this->db->escape(trim($this->email))."'"; @@ -555,7 +555,7 @@ class Don extends CommonObject // Delete donation if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."don_extrafields"; - $sql .= " WHERE fk_object=".$this->id; + $sql .= " WHERE fk_object = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { @@ -1116,7 +1116,7 @@ class Don extends CommonObject return -1; } - $sql = 'SELECT SUM(amount) as sum_amount FROM '.MAIN_DB_PREFIX.'payment_donation WHERE fk_donation = '.$this->id; + $sql = "SELECT SUM(amount) as sum_amount FROM ".MAIN_DB_PREFIX."payment_donation WHERE fk_donation = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { dol_print_error($this->db); diff --git a/htdocs/don/document.php b/htdocs/don/document.php index 374306bc7b0..52e33a26cb4 100644 --- a/htdocs/don/document.php +++ b/htdocs/don/document.php @@ -132,7 +132,7 @@ if ($object->id) { $morehtmlref .= $langs->trans('Project').' '; if ($user->rights->don->creer) { if ($action != 'classify') { - // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/don/index.php b/htdocs/don/index.php index 2a314068830..36323d332b7 100644 --- a/htdocs/don/index.php +++ b/htdocs/don/index.php @@ -106,7 +106,7 @@ if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) { // TODO Add a s print ''; print ''; if ($i == 0) { - print ''; + print ''; } print ''; $i++; @@ -174,8 +174,8 @@ foreach ($listofstatus as $status) { print ''; print ''.$donstatic->LibStatut($status, 4).''; print ''.(!empty($nb[$status]) ? $nb[$status] : ' ').''; - print ''.(!empty($nb[$status]) ?price($somme[$status], 'MT') : ' ').''; - print ''.(!empty($nb[$status]) ?price(price2num($somme[$status] / $nb[$status], 'MT')) : ' ').''; + print ''.(!empty($nb[$status]) ? price($somme[$status], 'MT') : ' ').''; + print ''.(!empty($nb[$status]) ?price(price2num($somme[$status] / $nb[$status], 'MT')) : ' ').''; $totalnb += (!empty($nb[$status]) ? $nb[$status] : 0); $total += (!empty($somme[$status]) ? $somme[$status] : 0); print ""; @@ -183,9 +183,9 @@ foreach ($listofstatus as $status) { print ''; print ''.$langs->trans("Total").''; -print ''.$totalnb.''; -print ''.price($total, 'MT').''; -print ''.($totalnb ?price(price2num($total / $totalnb, 'MT')) : ' ').''; +print ''.$totalnb.''; +print ''.price($total, 'MT').''; +print ''.($totalnb ?price(price2num($total / $totalnb, 'MT')) : ' ').''; print ''; print ""; @@ -233,7 +233,7 @@ if ($resql) { print dolGetFirstLastname($obj->lastname, $obj->firstname); print ''; - print ''; + print ''; print price($obj->amount, 1); print ''; diff --git a/htdocs/don/info.php b/htdocs/don/info.php index 8d8f4065dda..431783e873a 100644 --- a/htdocs/don/info.php +++ b/htdocs/don/info.php @@ -82,7 +82,7 @@ if (!empty($conf->projet->enabled)) { $morehtmlref .= $langs->trans('Project').' '; if ($user->rights->don->creer) { if ($action != 'classify') { - // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/don/note.php b/htdocs/don/note.php index 2e153d73b95..9dca36bd1a0 100644 --- a/htdocs/don/note.php +++ b/htdocs/don/note.php @@ -47,6 +47,8 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } +$hookmanager->initHooks(array('donnote')); + $result = restrictedArea($user, 'don', $id, ''); $object = new Don($db); @@ -58,7 +60,13 @@ $permissionnote = $user->rights->don->creer; // Used by the include of actions_s /* * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} if ($action == 'classin' && $user->rights->don->creer) { $object->fetch($id); @@ -97,7 +105,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= $langs->trans('Project').' '; if ($user->rights->don->creer) { if ($action != 'classify') { - // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/don/payment/card.php b/htdocs/don/payment/card.php index 40cf0298895..363ef6d34ef 100644 --- a/htdocs/don/payment/card.php +++ b/htdocs/don/payment/card.php @@ -213,7 +213,7 @@ print '
    '; if (empty($action)) { if ($user->rights->don->supprimer) { if (!$disable_delete) { - print ''.$langs->trans('Delete').''; + print ''.$langs->trans('Delete').''; } else { print ''.$langs->trans('Delete').''; } diff --git a/htdocs/don/payment/payment.php b/htdocs/don/payment/payment.php index cf6328d15c4..719b6e9951b 100644 --- a/htdocs/don/payment/payment.php +++ b/htdocs/don/payment/payment.php @@ -280,11 +280,7 @@ if ($action == 'create') { print ""; - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print "\n"; } diff --git a/htdocs/don/tpl/linkedobjectblock.tpl.php b/htdocs/don/tpl/linkedobjectblock.tpl.php index 3d6ec68ba2e..4097e73d560 100644 --- a/htdocs/don/tpl/linkedobjectblock.tpl.php +++ b/htdocs/don/tpl/linkedobjectblock.tpl.php @@ -19,7 +19,7 @@ * */ -print "\n"; +print "\n"; global $user; global $noMoreLinkedObjectBlockAfter; diff --git a/htdocs/ecm/ajax/ecmdatabase.php b/htdocs/ecm/ajax/ecmdatabase.php index 4d782a3caeb..2ce35973483 100644 --- a/htdocs/ecm/ajax/ecmdatabase.php +++ b/htdocs/ecm/ajax/ecmdatabase.php @@ -17,7 +17,7 @@ /** * \file htdocs/ecm/ajax/ecmdatabase.php - * \brief File to build ecm database + * \brief File to build/refresh the ecm database for directories */ if (!defined('NOTOKENRENEWAL')) { @@ -39,6 +39,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $action = GETPOST('action', 'aZ09'); $element = GETPOST('element', 'alpha'); + /* * View */ @@ -86,7 +87,7 @@ if (isset($action) && !empty($action)) { } if (!$dirisindatabase) { - $txt = "Directory found on disk ".$dirdesc['fullname'].", not found into database so we add it"; + $txt = "Directory found on disk ".$dirdesc['fullname'].", not found into table ecm_directories, so we add it"; dol_syslog($txt); // We must first find the fk_parent of directory to create $dirdesc['fullname'] @@ -155,15 +156,16 @@ if (isset($action) && !empty($action)) { foreach ($sqltree as $dirdesc) { // Loop on each sqltree to check dir is on disk $dirtotest = $conf->$element->dir_output.'/'.$dirdesc['fullrelativename']; if (!dol_is_dir($dirtotest)) { - $mesg .= $dirtotest." not found onto disk. We delete from database dir with id=".$dirdesc['id']."
    \n"; + dol_syslog($dirtotest." not found onto disk. We delete from database dir with id=".$dirdesc['id']); $ecmdirtmp->id = $dirdesc['id']; $ecmdirtmp->delete($user, 'databaseonly'); //exit; } } - $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories set cachenbofdoc = -1 WHERE cachenbofdoc < 0"; // If pb into cahce counting, we set to value -1 = "unknown" - dol_syslog("sql = ".$sql); + dol_syslog("Nb of directories added into database = ".$adirwascreated); + + $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories set cachenbofdoc = -1 WHERE cachenbofdoc < 0"; // If pb into cache counting, we set to value -1 = "unknown" $db->query($sql); } } diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index c2961794bbc..aed93b51f6f 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -144,7 +144,6 @@ class EcmDirectory extends CommonObject // Clean parameters $this->label = dol_sanitizeFileName(trim($this->label)); - $this->fk_parent = trim($this->fk_parent); $this->description = trim($this->description); $this->date_c = $now; $this->fk_user_c = $user->id; @@ -155,7 +154,7 @@ class EcmDirectory extends CommonObject // Check if same directory does not exists with this name $relativepath = $this->label; - if ($this->fk_parent) { + if ($this->fk_parent > 0) { $parent = new EcmDirectory($this->db); $parent->fetch($this->fk_parent); $relativepath = $parent->getRelativePath().$relativepath; @@ -194,11 +193,11 @@ class EcmDirectory extends CommonObject $sql .= ") VALUES ("; $sql .= " '".$this->db->escape($this->label)."',"; $sql .= " '".$this->db->escape($conf->entity)."',"; - $sql .= " '".$this->db->escape($this->fk_parent)."',"; + $sql .= " ".($this->fk_parent > 0 ? ((int) $this->fk_parent) : "null").","; $sql .= " '".$this->db->escape($this->description)."',"; $sql .= " ".((int) $this->cachenbofdoc).","; $sql .= " '".$this->db->idate($this->date_c)."',"; - $sql .= " '".$this->db->escape($this->fk_user_c)."'"; + $sql .= " ".($this->fk_user_c > 0 ? ((int) $this->fk_user_c) : "null").","; $sql .= ")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -249,20 +248,19 @@ class EcmDirectory extends CommonObject // Clean parameters $this->label = trim($this->label); - $this->fk_parent = trim($this->fk_parent); $this->description = trim($this->description); - - // Check parameters - // Put here code to add control on parameters values + if ($this->fk_parent <= 0) { + $this->fk_parent = 0; + } $this->db->begin(); // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories SET"; - $sql .= " label='".$this->db->escape($this->label)."',"; - $sql .= " fk_parent='".$this->db->escape($this->fk_parent)."',"; - $sql .= " description='".$this->db->escape($this->description)."'"; - $sql .= " WHERE rowid=".((int) $this->id); + $sql .= " label = '".$this->db->escape($this->label)."',"; + $sql .= " fk_parent = ".($this->fk_parent > 0 ? ((int) $this->fk_parent) : "null").","; + $sql .= " description = '".$this->db->escape($this->description)."'"; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update", LOG_DEBUG); $resql = $this->db->query($sql); @@ -305,7 +303,7 @@ class EcmDirectory extends CommonObject } else { $sql .= " cachenbofdoc = cachenbofdoc ".$value." 1"; } - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::changeNbOfFiles", LOG_DEBUG); $resql = $this->db->query($sql); @@ -731,10 +729,10 @@ class EcmDirectory extends CommonObject // We count number of _ to have level (we use strlen that is faster than dol_strlen) $this->cats[$id_categ]['level'] = strlen(preg_replace('/([^_])/i', '', $this->cats[$id_categ]['fullpath'])); - // Traite ces enfants + // Process children $protection++; if ($protection > 20) { - return; // On ne traite pas plus de 20 niveaux + return; // We never go more than 20 levels } if (isset($this->cats[$id_categ]['id_children']) && is_array($this->cats[$id_categ]['id_children'])) { foreach ($this->cats[$id_categ]['id_children'] as $key => $val) { @@ -764,7 +762,7 @@ class EcmDirectory extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories SET"; $sql .= " cachenbofdoc = '".count($filelist)."'"; if (empty($all)) { // By default - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); } else { $sql .= " WHERE entity = ".$conf->entity; } diff --git a/htdocs/ecm/class/ecmfiles.class.php b/htdocs/ecm/class/ecmfiles.class.php index 035a7aee9c6..6c2b8fc4023 100644 --- a/htdocs/ecm/class/ecmfiles.class.php +++ b/htdocs/ecm/class/ecmfiles.class.php @@ -303,17 +303,17 @@ class EcmFiles extends CommonObject $sql .= " '".$this->db->escape($ref)."', "; $sql .= ' '.(!isset($this->label) ? 'NULL' : "'".$this->db->escape($this->label)."'").','; $sql .= ' '.(!isset($this->share) ? 'NULL' : "'".$this->db->escape($this->share)."'").','; - $sql .= ' '.$this->entity.','; + $sql .= ' '.((int) $this->entity).','; $sql .= ' '.(!isset($this->filename) ? 'NULL' : "'".$this->db->escape($this->filename)."'").','; $sql .= ' '.(!isset($this->filepath) ? 'NULL' : "'".$this->db->escape($this->filepath)."'").','; $sql .= ' '.(!isset($this->fullpath_orig) ? 'NULL' : "'".$this->db->escape($this->fullpath_orig)."'").','; $sql .= ' '.(!isset($this->description) ? 'NULL' : "'".$this->db->escape($this->description)."'").','; $sql .= ' '.(!isset($this->keywords) ? 'NULL' : "'".$this->db->escape($this->keywords)."'").','; $sql .= ' '.(!isset($this->cover) ? 'NULL' : "'".$this->db->escape($this->cover)."'").','; - $sql .= ' '.$maxposition.','; + $sql .= ' '.((int) $maxposition).','; $sql .= ' '.(!isset($this->gen_or_uploaded) ? 'NULL' : "'".$this->db->escape($this->gen_or_uploaded)."'").','; $sql .= ' '.(!isset($this->extraparams) ? 'NULL' : "'".$this->db->escape($this->extraparams)."'").','; - $sql .= ' '."'".$this->db->idate($this->date_c)."'".','; + $sql .= " '".$this->db->idate($this->date_c)."',"; $sql .= ' '.(!isset($this->date_m) || dol_strlen($this->date_m) == 0 ? 'NULL' : "'".$this->db->idate($this->date_m)."'").','; $sql .= ' '.(!isset($this->fk_user_c) ? $user->id : $this->fk_user_c).','; $sql .= ' '.(!isset($this->fk_user_m) ? 'NULL' : $this->fk_user_m).','; @@ -530,9 +530,9 @@ class EcmFiles extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.src_object_id') { - $sqlwhere[] = $key.' = '.((int) $value); + $sqlwhere[] = $key." = ".((int) $value); } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } @@ -542,13 +542,13 @@ class EcmFiles extends CommonObject $sql .= " AND entity IN (" . getEntity('ecmfiles') . ")"; }*/ if (count($sqlwhere) > 0) { - $sql .= ' AND '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= ' AND '.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere); } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $this->lines = array(); @@ -664,7 +664,7 @@ class EcmFiles extends CommonObject // Update request $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET'; - $sql .= " ref = '".dol_hash($this->filepath.'/'.$this->filename, 3)."',"; + $sql .= " ref = '".$this->db->escape(dol_hash($this->filepath."/".$this->filename, 3))."',"; $sql .= ' label = '.(isset($this->label) ? "'".$this->db->escape($this->label)."'" : "null").','; $sql .= ' share = '.(!empty($this->share) ? "'".$this->db->escape($this->share)."'" : "null").','; $sql .= ' entity = '.(isset($this->entity) ? $this->entity : $conf->entity).','; diff --git a/htdocs/ecm/class/htmlecm.form.class.php b/htdocs/ecm/class/htmlecm.form.class.php index 4b9d0a847f2..623d626935d 100644 --- a/htdocs/ecm/class/htmlecm.form.class.php +++ b/htdocs/ecm/class/htmlecm.form.class.php @@ -55,9 +55,10 @@ class FormEcm * @param int $selected Id of preselected section * @param string $select_name Name of HTML select component * @param string $module Module ('ecm', 'medias', ...) + * @param array $ids_to_ignore Array of id to ignore * @return string String with HTML select */ - public function selectAllSections($selected = 0, $select_name = '', $module = 'ecm') + public function selectAllSections($selected = 0, $select_name = '', $module = 'ecm', $ids_to_ignore = array()) { global $conf, $langs; $langs->load("ecm"); @@ -65,6 +66,9 @@ class FormEcm if ($select_name == '') { $select_name = "catParent"; } + if (!is_array($ids_to_ignore)) { + $ids_to_ignore = array($ids_to_ignore); + } $cate_arbo = null; if ($module == 'ecm') { @@ -83,13 +87,15 @@ class FormEcm } else { $output .= ''; foreach ($cate_arbo as $key => $value) { - $valueforoption = empty($cate_arbo[$key]['id']) ? $cate_arbo[$key]['relativename'] : $cate_arbo[$key]['id']; - if ($selected && $valueforoption == $selected) { - $add = 'selected '; - } else { - $add = ''; + if (!in_array($cate_arbo[$key]['id'], $ids_to_ignore)) { + $valueforoption = empty($cate_arbo[$key]['id']) ? $cate_arbo[$key]['relativename'] : $cate_arbo[$key]['id']; + if ($selected && $valueforoption == $selected) { + $add = 'selected '; + } else { + $add = ''; + } + $output .= ''; } - $output .= ''; } } } diff --git a/htdocs/ecm/dir_card.php b/htdocs/ecm/dir_card.php index d84a7330e69..793e199f180 100644 --- a/htdocs/ecm/dir_card.php +++ b/htdocs/ecm/dir_card.php @@ -28,6 +28,7 @@ require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmdirectory.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/ecm.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT.'/ecm/class/htmlecm.form.class.php'; // Load translation files required by page $langs->loadLangs(array('ecm', 'companies', 'other')); @@ -204,6 +205,12 @@ if ($action == 'update' && !GETPOST('cancel', 'alpha') && $permtoadd) { // Fetch was already done $ecmdir->label = dol_sanitizeFileName(GETPOST("label")); + $fk_parent = GETPOST("catParent", 'int'); + if ($fk_parent == "-1") { + $ecmdir->fk_parent = "0"; + } else { + $ecmdir->fk_parent = $fk_parent; + } $ecmdir->description = GETPOST("description"); $ret = $extrafields->setOptionalsFromPost(null, $ecmdir); if ($ret < 0) { @@ -219,8 +226,10 @@ if ($action == 'update' && !GETPOST('cancel', 'alpha') && $permtoadd) { } $result = $ecmdir->update($user); if ($result > 0) { + $newdir = $ecmdir->getRelativePath(1); + $newdir = $conf->ecm->dir_output.'/'.$newdir; // Try to rename file if changed - if ($oldlabel != $ecmdir->label && file_exists($olddir)) { + if (($oldlabel != $ecmdir->label && file_exists($olddir)) || ($olddir != $newdir && file_exists($olddir))) { $newdir = $ecmdir->getRelativePath(1); // return "xxx/zzz/" from ecm directory $newdir = $conf->ecm->dir_output.'/'.$newdir; //print $olddir.'-'.$newdir; @@ -270,6 +279,7 @@ if ($action == 'update' && !GETPOST('cancel', 'alpha') && $permtoadd) { */ $form = new Form($db); +$formecm = new FormEcm($db); $object = new EcmDirectory($db); // Need to create a new one instance $extrafields = new ExtraFields($db); @@ -317,11 +327,7 @@ if ($module == 'ecm') { $tmpecmdir->fetch($ecmdir->id); while ($tmpecmdir && $result > 0) { $tmpecmdir->ref = $tmpecmdir->label; - if ($i == 0 && $action == 'edit') { - $s = ''; - } else { - $s = $tmpecmdir->getNomUrl(1).$s; - } + $s = $tmpecmdir->getNomUrl(1).$s; if ($tmpecmdir->fk_parent) { $s = ' -> '.$s; $result = $tmpecmdir->fetch($tmpecmdir->fk_parent); @@ -371,6 +377,16 @@ print img_picto('','object_dir').' '.$l print $s; print '';*/ if ($module == 'ecm') { + if ($action == 'edit') { + print ''.$langs->trans("ECMDirName").''; + print ''; + print ''; + print ''.$langs->trans("ECMParentDirectory").''; + print $formecm->selectAllSections($ecmdir->fk_parent, '', 'ecm', array($ecmdir->id)); + print ''; + print ''; + } + print ''.$langs->trans("Description").''; if ($action == 'edit') { print ''; - print ''; + // Add comments + print ''; + print ''; + print ''; - // Select VAT - print ''; - $defaultvat = -1; + // Select VAT + print ''; + $defaultvat = -1; if (!empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) { $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none'; } - print $form->load_tva('vatrate', ($vatrate != '' ? $vatrate : $defaultvat), $mysoc, '', 0, 0, '', false, 1); - print ''; + print $form->load_tva('vatrate', ($vatrate != '' ? $vatrate : $defaultvat), $mysoc, '', 0, 0, '', false, 1); + print ''; - // Unit price net - print ''; - print ''; - print ''; + // Unit price net + print ''; + print ''; + print ''; - // Unit price with tax - print ''; - print ''; - print ''; + // Unit price with tax + print ''; + print ''; + print ''; - // Quantity - print ''; - print ''; // We must be able to enter decimal qty - print ''; + // Quantity + print ''; + print ''; // We must be able to enter decimal qty + print ''; - // Picture - print ''; + // Picture + print ''; if ($action != 'editline') { print ''; print ''; } - print ''; + print ''; + print $form->buttonsSaveCancel("Add", '', '', 1); + print ''; - print ''; + print ''; } // Fin si c'est payé/validé - print ''; - print '
    '; + print ''; + print '
    '; - print ''; + '; - print ''; + print ''; - print dol_get_fiche_end(); + print dol_get_fiche_end(); } } else { dol_print_error($db); @@ -2511,12 +2560,14 @@ if ($action == 'create') { exit(1); } + /* * Action bar */ + print '
    '; -if ($action != 'create' && $action != 'edit') { +if ($action != 'create' && $action != 'edit' && $action != 'editline') { $object = new ExpenseReport($db); $object->fetch($id, $ref); @@ -2538,11 +2589,11 @@ if ($action != 'create' && $action != 'edit') { if ($user->rights->expensereport->creer && $object->status == ExpenseReport::STATUS_DRAFT) { if (in_array($object->fk_user_author, $user->getAllChildIds(1)) || !empty($user->rights->expensereport->writeall_advance)) { // Modify - print ''; + print ''; // Validate if (count($object->lines) > 0) { - print ''; + print ''; } } } @@ -2555,12 +2606,12 @@ if ($action != 'create' && $action != 'edit') { if ($user->rights->expensereport->creer && $object->status == ExpenseReport::STATUS_REFUSED) { if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) { // Modify - print ''; + print ''; // setdraft (le statut refusée est identique à brouillon) - //print ''.$langs->trans('BROUILLONNER').''; + //print ''.$langs->trans('ReOpen').''; // Enregistrer depuis le statut "Refusée" - print ''; + print ''; } } diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index 9592f9548af..64034c10a3f 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -80,8 +80,6 @@ class ExpenseReport extends CommonObject */ public $fk_statut; - public $vat_src_code; - public $fk_c_paiement; public $paid; @@ -124,6 +122,9 @@ class ExpenseReport extends CommonObject // Paiement public $user_paid_infos; + public $localtax1; // for backward compatibility (real field should be total_localtax1 defined into CommonObject) + public $localtax2; // for backward compatibility (real field should be total_localtax2 defined into CommonObject) + /** * Draft status @@ -213,6 +214,10 @@ class ExpenseReport extends CommonObject $this->total_ht = 0; $this->total_ttc = 0; $this->total_tva = 0; + $this->total_localtax1 = 0; + $this->total_localtax2 = 0; + $this->localtax1 = 0; // For backward compatibility + $this->localtax2 = 0; // For backward compatibility $this->modepaymentid = 0; // List of language codes for status @@ -270,23 +275,23 @@ class ExpenseReport extends CommonObject $sql .= ",entity"; $sql .= ") VALUES("; $sql .= "'(PROV)'"; - $sql .= ", ".$this->total_ht; - $sql .= ", ".$this->total_ttc; - $sql .= ", ".$this->total_tva; + $sql .= ", ".price2num($this->total_ht, 'MT'); + $sql .= ", ".price2num($this->total_ttc, 'MT'); + $sql .= ", ".price2num($this->total_tva, 'MT'); $sql .= ", '".$this->db->idate($this->date_debut)."'"; $sql .= ", '".$this->db->idate($this->date_fin)."'"; $sql .= ", '".$this->db->idate($now)."'"; - $sql .= ", ".$user->id; - $sql .= ", ".$fuserid; - $sql .= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator : "null"); - $sql .= ", ".($this->fk_user_approve > 0 ? $this->fk_user_approve : "null"); - $sql .= ", ".($this->fk_user_modif > 0 ? $this->fk_user_modif : "null"); - $sql .= ", ".($this->fk_statut > 1 ? $this->fk_statut : 0); - $sql .= ", ".($this->modepaymentid ? $this->modepaymentid : "null"); + $sql .= ", ".((int) $user->id); + $sql .= ", ".((int) $fuserid); + $sql .= ", ".($this->fk_user_validator > 0 ? ((int) $this->fk_user_validator) : "null"); + $sql .= ", ".($this->fk_user_approve > 0 ? ((int) $this->fk_user_approve) : "null"); + $sql .= ", ".($this->fk_user_modif > 0 ? ((int) $this->fk_user_modif) : "null"); + $sql .= ", ".($this->fk_statut > 1 ? ((int) $this->fk_statut) : 0); + $sql .= ", ".($this->modepaymentid ? ((int) $this->modepaymentid) : "null"); $sql .= ", 0"; $sql .= ", ".($this->note_public ? "'".$this->db->escape($this->note_public)."'" : "null"); $sql .= ", ".($this->note_private ? "'".$this->db->escape($this->note_private)."'" : "null"); - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $conf->entity); $sql .= ")"; $result = $this->db->query($sql); @@ -314,12 +319,18 @@ class ExpenseReport extends CommonObject $newndfline->fk_project = $line->fk_project; $newndfline->vatrate = $line->vatrate; $newndfline->vat_src_code = $line->vat_src_code; + $newndfline->localtax1_tx = $line->localtax1_tx; + $newndfline->localtax2_tx = $line->localtax2_tx; + $newndfline->localtax1_type = $line->localtax1_type; + $newndfline->localtax2_type = $line->localtax2_type; $newndfline->comments = $line->comments; $newndfline->qty = $line->qty; $newndfline->value_unit = $line->value_unit; $newndfline->total_ht = $line->total_ht; $newndfline->total_ttc = $line->total_ttc; $newndfline->total_tva = $line->total_tva; + $newndfline->total_localtax1 = $line->total_localtax1; + $newndfline->total_localtax2 = $line->total_localtax2; $newndfline->date = $line->date; $newndfline->rule_warning_message = $line->rule_warning_message; $newndfline->fk_c_exp_tax_cat = $line->fk_c_exp_tax_cat; @@ -495,9 +506,9 @@ class ExpenseReport extends CommonObject $sql .= " , note_public = ".(!empty($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : "''"); $sql .= " , note_private = ".(!empty($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "''"); $sql .= " , detail_refuse = ".(!empty($this->detail_refuse) ? "'".$this->db->escape($this->detail_refuse)."'" : "''"); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); - dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::update", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { if (!$notrigger) { @@ -539,7 +550,8 @@ class ExpenseReport extends CommonObject $sql = "SELECT d.rowid, d.entity, d.ref, d.note_public, d.note_private,"; // DEFAULT $sql .= " d.detail_refuse, d.detail_cancel, d.fk_user_refuse, d.fk_user_cancel,"; // ACTIONS $sql .= " d.date_refuse, d.date_cancel,"; // ACTIONS - $sql .= " d.total_ht, d.total_ttc, d.total_tva,"; // TOTAUX (int) + $sql .= " d.total_ht, d.total_ttc, d.total_tva,"; + $sql .= " d.localtax1 as total_localtax1, d.localtax2 as total_localtax2,"; $sql .= " d.date_debut, d.date_fin, d.date_create, d.tms as date_modif, d.date_valid, d.date_approve,"; // DATES (datetime) $sql .= " d.fk_user_creat, d.fk_user_author, d.fk_user_modif, d.fk_user_validator,"; $sql .= " d.fk_user_valid, d.fk_user_approve,"; @@ -552,7 +564,7 @@ class ExpenseReport extends CommonObject } //$sql.= $restrict; - dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $obj = $this->db->fetch_object($resql); @@ -565,6 +577,11 @@ class ExpenseReport extends CommonObject $this->total_ht = $obj->total_ht; $this->total_tva = $obj->total_tva; $this->total_ttc = $obj->total_ttc; + $this->localtax1 = $obj->total_localtax1; // For backward compatibility + $this->localtax2 = $obj->total_localtax2; // For backward compatibility + $this->total_localtax1 = $obj->total_localtax1; + $this->total_localtax2 = $obj->total_localtax2; + $this->note_public = $obj->note_public; $this->note_private = $obj->note_private; $this->detail_refuse = $obj->detail_refuse; @@ -665,7 +682,7 @@ class ExpenseReport extends CommonObject $sql .= " SET fk_statut = ".self::STATUS_CLOSED.", paid=1"; $sql .= " WHERE rowid = ".((int) $id)." AND fk_statut = ".self::STATUS_APPROVED; - dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::set_paid", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { if ($this->db->affected_rows($resql)) { @@ -882,7 +899,7 @@ class ExpenseReport extends CommonObject $sql .= " FROM ".MAIN_DB_PREFIX."expensereport_det as de"; $sql .= " WHERE de.fk_projet = ".((int) $projectid); - dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $num = $this->db->num_rows($result); @@ -962,54 +979,6 @@ class ExpenseReport extends CommonObject } } - /** - * recalculer - * TODO Replace this with call to update_price if not already done - * - * @param int $id Id of expense report - * @return int <0 if KO, >0 if OK - */ - public function recalculer($id) - { - $sql = 'SELECT tt.total_ht, tt.total_ttc, tt.total_tva'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as tt'; - $sql .= ' WHERE tt.'.$this->fk_element.' = '.((int) $id); - - $total_ht = 0; $total_tva = 0; $total_ttc = 0; - - $result = $this->db->query($sql); - if ($result) { - $num = $this->db->num_rows($result); - $i = 0; - while ($i < $num) : - $objp = $this->db->fetch_object($result); - $total_ht += $objp->total_ht; - $total_tva += $objp->total_tva; - $i++; - endwhile; - - $total_ttc = $total_ht + $total_tva; - $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; - $sql .= " total_ht = ".price2num($total_ht, 'MT'); - $sql .= " , total_ttc = ".price2num($total_ttc, 'MT'); - $sql .= " , total_tva = ".price2num($total_tva, 'MT'); - $sql .= " WHERE rowid = ".((int) $id); - $result = $this->db->query($sql); - if ($result) : - $this->db->free($result); - return 1; - else : - $this->error = $this->db->lasterror(); - dol_syslog(get_class($this)."::recalculer: Error ".$this->error, LOG_ERR); - return -3; - endif; - } else { - $this->error = $this->db->lasterror(); - dol_syslog(get_class($this)."::recalculer: Error ".$this->error, LOG_ERR); - return -3; - } - } - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** * fetch_lines @@ -1024,14 +993,18 @@ class ExpenseReport extends CommonObject $this->lines = array(); $sql = ' SELECT de.rowid, de.comments, de.qty, de.value_unit, de.date, de.rang,'; - $sql .= ' de.'.$this->fk_element.', de.fk_c_type_fees, de.fk_c_exp_tax_cat, de.fk_projet as fk_project, de.tva_tx, de.fk_ecm_files,'; + $sql .= " de.".$this->fk_element.", de.fk_c_type_fees, de.fk_c_exp_tax_cat, de.fk_projet as fk_project,"; + $sql .= ' de.tva_tx, de.vat_src_code,'; + $sql .= ' de.localtax1_tx, de.localtax2_tx, de.localtax1_type, de.localtax2_type,'; + $sql .= ' de.fk_ecm_files,'; $sql .= ' de.total_ht, de.total_tva, de.total_ttc,'; + $sql .= ' de.total_localtax1, de.total_localtax2,'; $sql .= ' ctf.code as code_type_fees, ctf.label as libelle_type_fees,'; $sql .= ' p.ref as ref_projet, p.title as title_projet'; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as de'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON de.fk_c_type_fees = ctf.id'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as p ON de.fk_projet = p.rowid'; - $sql .= ' WHERE de.'.$this->fk_element.' = '.$this->id; + $sql .= " WHERE de.".$this->fk_element." = ".((int) $this->id); if (!empty($conf->global->EXPENSEREPORT_LINES_SORTED_BY_ROWID)) { $sql .= ' ORDER BY de.rang ASC, de.rowid ASC'; } else { @@ -1065,11 +1038,20 @@ class ExpenseReport extends CommonObject $deplig->total_ht = $objp->total_ht; $deplig->total_tva = $objp->total_tva; $deplig->total_ttc = $objp->total_ttc; + $deplig->total_localtax1 = $objp->total_localtax1; + $deplig->total_localtax2 = $objp->total_localtax2; $deplig->type_fees_code = empty($objp->code_type_fees) ? 'TF_OTHER' : $objp->code_type_fees; $deplig->type_fees_libelle = $objp->libelle_type_fees; - $deplig->tva_tx = $objp->tva_tx; + + $deplig->tva_tx = $objp->tva_tx; $deplig->vatrate = $objp->tva_tx; + $deplig->vat_src_code = $objp->vat_src_code; + $deplig->localtax1_tx = $objp->localtax1_tx; + $deplig->localtax2_tx = $objp->localtax2_tx; + $deplig->localtax1_type = $objp->localtax1_type; + $deplig->localtax2_type = $objp->localtax2_type; + $deplig->projet_ref = $objp->ref_projet; $deplig->projet_title = $objp->title_projet; @@ -1252,7 +1234,7 @@ class ExpenseReport extends CommonObject $sql .= " fk_statut = ".self::STATUS_VALIDATED.","; $sql .= " date_valid='".$this->db->idate($this->date_valid)."',"; $sql .= " fk_user_valid = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -1340,7 +1322,7 @@ class ExpenseReport extends CommonObject // Sélection de la date de début de la NDF $sql = 'SELECT date_debut'; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $result = $this->db->query($sql); @@ -1351,9 +1333,9 @@ class ExpenseReport extends CommonObject if ($this->status != self::STATUS_VALIDATED) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql .= " SET fk_statut = ".self::STATUS_VALIDATED; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); - dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::set_save_from_refuse", LOG_DEBUG); if ($this->db->query($sql)) { return 1; @@ -1386,7 +1368,7 @@ class ExpenseReport extends CommonObject $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql .= " SET ref = '".$this->db->escape($this->ref)."', fk_statut = ".self::STATUS_APPROVED.", fk_user_approve = ".((int) $fuser->id).","; $sql .= " date_approve='".$this->db->idate($this->date_approve)."'"; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { if (!$notrigger) { // Call trigger @@ -1438,7 +1420,7 @@ class ExpenseReport extends CommonObject $sql .= " date_refuse='".$this->db->idate($now)."',"; $sql .= " detail_refuse='".$this->db->escape($details)."',"; $sql .= " fk_user_approve = NULL"; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { $this->fk_statut = 99; // deprecated $this->status = 99; @@ -1507,9 +1489,9 @@ class ExpenseReport extends CommonObject $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql .= " SET paid = 0, fk_statut = ".self::STATUS_APPROVED; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); - dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::set_unpaid", LOG_DEBUG); if ($this->db->query($sql)) { if (!$notrigger) { @@ -1561,9 +1543,9 @@ class ExpenseReport extends CommonObject $sql .= " SET fk_statut = ".self::STATUS_CANCELED.", fk_user_cancel = ".((int) $fuser->id); $sql .= ", date_cancel='".$this->db->idate($this->date_cancel)."'"; $sql .= " ,detail_cancel='".$this->db->escape($detail)."'"; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); - dol_syslog(get_class($this)."::set_cancel sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::set_cancel", LOG_DEBUG); if ($this->db->query($sql)) { if (!$notrigger) { @@ -1746,52 +1728,22 @@ class ExpenseReport extends CommonObject $sql .= " total_ht = ".$this->total_ht; $sql .= " , total_ttc = ".$this->total_ttc; $sql .= " , total_tva = ".$this->total_tva; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $result = $this->db->query($sql); - if ($result) : + if ($result) { return 1; - else : + } else { $this->error = $this->db->error(); return -1; - endif; - } - - // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps - /** - * Update total of an expense report when you delete a line. - * - * @param string $ligne_total_ht Amount without taxes - * @param string $ligne_total_tva Amount of all taxes - * @return void - */ - public function update_totaux_del($ligne_total_ht, $ligne_total_tva) - { - // phpcs:enable - $this->total_ht = $this->total_ht - $ligne_total_ht; - $this->total_tva = $this->total_tva - $ligne_total_tva; - $this->total_ttc = $this->total_ht + $this->total_tva; - - $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; - $sql .= " total_ht = ".$this->total_ht; - $sql .= " , total_ttc = ".$this->total_ttc; - $sql .= " , total_tva = ".$this->total_tva; - $sql .= " WHERE rowid = ".$this->id; - - $result = $this->db->query($sql); - if ($result) : - return 1; - else : - $this->error = $this->db->error(); - return -1; - endif; + } } /** - * addline + * Add expense report line * * @param float $qty Qty - * @param double $up Value init + * @param double $up Unit price (price with tax) * @param int $fk_c_type_fees Type payment * @param string $vatrate Vat rate (Can be '10' or '10 (ABC)') * @param string $date Date @@ -1838,7 +1790,14 @@ class ExpenseReport extends CommonObject $this->line = new ExpenseReportLine($this->db); - $localtaxes_type = getLocalTaxesFromRate($vatrate, 0, $mysoc, $this->thirdparty); + // We don't know seller and buyer for expense reports + $seller = $mysoc; // We use same than current company (expense report are often done in same country) + $seller->tva_assuj = 1; // Most seller uses vat + $seller->localtax1_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + $seller->localtax2_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + $buyer = new Societe($this->db); + + $localtaxes_type = getLocalTaxesFromRate($vatrate, 0, $buyer, $seller); $vat_src_code = ''; $reg = array(); @@ -1848,16 +1807,22 @@ class ExpenseReport extends CommonObject } $vatrate = preg_replace('/\*/', '', $vatrate); - $seller = ''; // seller is unknown - - $tmp = calcul_price_total($qty, $up, 0, $vatrate, 0, 0, 0, 'TTC', 0, $type, $seller, $localtaxes_type); + $tmp = calcul_price_total($qty, $up, 0, $vatrate, -1, -1, 0, 'TTC', 0, $type, $seller, $localtaxes_type); $this->line->value_unit = $up; + $this->line->vat_src_code = $vat_src_code; $this->line->vatrate = price2num($vatrate); + $this->line->localtax1_tx = $localtaxes_type[1]; + $this->line->localtax2_tx = $localtaxes_type[3]; + $this->line->localtax1_type = $localtaxes_type[0]; + $this->line->localtax2_type = $localtaxes_type[2]; + $this->line->total_ttc = $tmp[2]; $this->line->total_ht = $tmp[0]; $this->line->total_tva = $tmp[1]; + $this->line->total_localtax1 = $tmp[9]; + $this->line->total_localtax2 = $tmp[10]; $this->line->fk_expensereport = $this->id; $this->line->qty = $qty; @@ -1899,13 +1864,13 @@ class ExpenseReport extends CommonObject /** * Check constraint of rules and update price if needed * - * @param int $type type of line - * @param string $seller seller, but actually he is unknown - * @return true or false + * @param int $type Type of line + * @param string $seller Seller, but actually he is unknown + * @return true or false */ public function checkRules($type = 0, $seller = '') { - global $user, $conf, $db, $langs; + global $user, $conf, $db, $langs, $mysoc; $langs->load('trips'); @@ -1913,7 +1878,17 @@ class ExpenseReport extends CommonObject return true; // if don't use rules } - $rulestocheck = ExpenseReportRule::getAllRule($this->line->fk_c_type_fees, $this->line->date, $this->fk_user_author); + // We don't know seller and buyer for expense reports + if (!is_object($seller)) { + $seller = $mysoc; // We use same than current company (expense report are often done in same country) + $seller->tva_assuj = 1; // Most seller uses vat + $seller->localtax1_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + $seller->localtax2_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + } + //$buyer = new Societe($this->db); + + $expensereportrule = new ExpenseReportRule($db); + $rulestocheck = $expensereportrule->getAllRule($this->line->fk_c_type_fees, $this->line->date, $this->fk_user_author); $violation = 0; $rule_warning_message_tab = array(); @@ -1960,6 +1935,8 @@ class ExpenseReport extends CommonObject $this->line->total_ttc = $tmp[2]; $this->line->total_ht = $tmp[0]; $this->line->total_tva = $tmp[1]; + $this->line->total_localtax1 = $tmp[9]; + $this->line->total_localtax2 = $tmp[10]; return false; } else { @@ -1970,11 +1947,13 @@ class ExpenseReport extends CommonObject /** * Method to apply the offset if needed * - * @return boolean true=applied, false=not applied + * @param int $type Type of line + * @param string $seller Seller, but actually he is unknown + * @return boolean True=applied, False=not applied */ - public function applyOffset() + public function applyOffset($type = 0, $seller = '') { - global $conf; + global $conf, $mysoc; if (empty($conf->global->MAIN_USE_EXPENSE_IK)) { return false; @@ -1987,7 +1966,17 @@ class ExpenseReport extends CommonObject return false; } - $range = ExpenseReportIk::getRangeByUser($userauthor, $this->line->fk_c_exp_tax_cat); + // We don't know seller and buyer for expense reports + if (!is_object($seller)) { + $seller = $mysoc; // We use same than current company (expense report are often done in same country) + $seller->tva_assuj = 1; // Most seller uses vat + $seller->localtax1_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + $seller->localtax2_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + } + //$buyer = new Societe($this->db); + + $expenseik = new ExpenseReportIk($db); + $range = $expenseik->getRangeByUser($userauthor, $this->line->fk_c_exp_tax_cat); if (empty($range)) { $this->error = 'ErrorNoRangeAvailable'; @@ -2010,6 +1999,8 @@ class ExpenseReport extends CommonObject $this->line->total_ttc = $tmp[2]; $this->line->total_ht = $tmp[0]; $this->line->total_tva = $tmp[1]; + $this->line->total_localtax1 = $tmp[9]; + $this->line->total_localtax2 = $tmp[10]; return true; } @@ -2025,15 +2016,15 @@ class ExpenseReport extends CommonObject public function offsetAlreadyGiven() { $sql = 'SELECT e.rowid FROM '.MAIN_DB_PREFIX.'expensereport e'; - $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.'expensereport_det d ON (e.rowid = d.fk_expensereport)'; - $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees f ON (d.fk_c_type_fees = f.id AND f.code = "EX_KME")'; - $sql .= ' WHERE e.fk_user_author = '.(int) $this->fk_user_author; - $sql .= ' AND YEAR(d.date) = "'.dol_print_date($this->line->date, '%Y').'" AND MONTH(d.date) = "'.dol_print_date($this->line->date, '%m').'"'; + $sql .= " INNER JOIN ".MAIN_DB_PREFIX."expensereport_det d ON (e.rowid = d.fk_expensereport)"; + $sql .= " INNER JOIN ".MAIN_DB_PREFIX."c_type_fees f ON (d.fk_c_type_fees = f.id AND f.code = 'EX_KME')"; + $sql .= " WHERE e.fk_user_author = ".(int) $this->fk_user_author; + $sql .= " AND YEAR(d.date) = '".dol_print_date($this->line->date, '%Y')."' AND MONTH(d.date) = '".dol_print_date($this->line->date, '%m')."'"; if (!empty($this->line->id)) { - $sql .= ' AND d.rowid <> '.$this->line->id; + $sql .= ' AND d.rowid <> '.((int) $this->line->id); } - dol_syslog(get_class($this)."::offsetAlreadyGiven sql=".$sql); + dol_syslog(get_class($this)."::offsetAlreadyGiven"); $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); @@ -2056,7 +2047,7 @@ class ExpenseReport extends CommonObject * @param double $vatrate Vat rate. Can be '8.5' or '8.5* (8.5NPROM...)' * @param string $comments Description * @param float $qty Qty - * @param double $value_unit Value init + * @param double $value_unit Unit price (with taxes) * @param int $date Date * @param int $expensereport_id Expense report id * @param int $fk_c_exp_tax_cat Id of category of car @@ -2073,7 +2064,10 @@ class ExpenseReport extends CommonObject $type = 0; // TODO What if type is service ? // We don't know seller and buyer for expense reports - $seller = $mysoc; + $seller = $mysoc; // We use same than current company (expense report are often done in same country) + $seller->tva_assuj = 1; // Most seller uses vat + $seller->localtax1_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company + $seller->localtax2_assuj = $mysoc->localtax1_assuj; // We don't know, we reuse the state of company $buyer = new Societe($this->db); $localtaxes_type = getLocalTaxesFromRate($vatrate, 0, $buyer, $seller); @@ -2087,8 +2081,8 @@ class ExpenseReport extends CommonObject } $vatrate = preg_replace('/\*/', '', $vatrate); - $tmp = calcul_price_total($qty, $value_unit, 0, $vatrate, 0, 0, 0, 'TTC', 0, $type, $seller, $localtaxes_type); - + $tmp = calcul_price_total($qty, $value_unit, 0, $vatrate, -1, -1, 0, 'TTC', 0, $type, $seller, $localtaxes_type); + //var_dump($vatrate);var_dump($localtaxes_type);var_dump($tmp);exit; // calcul total of line //$total_ttc = price2num($qty*$value_unit, 'MT'); @@ -2109,17 +2103,20 @@ class ExpenseReport extends CommonObject $this->line->vat_src_code = $vat_src_code; $this->line->vatrate = price2num($vatrate); - $this->line->total_ttc = $tmp[2]; - $this->line->total_ht = $tmp[0]; - $this->line->total_tva = $tmp[1]; $this->line->localtax1_tx = $localtaxes_type[1]; $this->line->localtax2_tx = $localtaxes_type[3]; $this->line->localtax1_type = $localtaxes_type[0]; $this->line->localtax2_type = $localtaxes_type[2]; + $this->line->total_ttc = $tmp[2]; + $this->line->total_ht = $tmp[0]; + $this->line->total_tva = $tmp[1]; + $this->line->total_localtax1 = $tmp[9]; + $this->line->total_localtax2 = $tmp[10]; + $this->line->fk_ecm_files = $fk_ecm_files; - $this->line->id = $rowid; + $this->line->id = ((int) $rowid); // Select des infos sur le type fees $sql = "SELECT c.code as code_type_fees, c.label as libelle_type_fees"; @@ -2184,6 +2181,8 @@ class ExpenseReport extends CommonObject return -1; } + $this->update_price(); + $this->db->commit(); return 1; @@ -2214,8 +2213,6 @@ class ExpenseReport extends CommonObject $date_d_form = $date_debut; $date_f_form = $date_fin; - $existe = false; - while ($i < $num_rows) { $objp = $this->db->fetch_object($result); @@ -2223,17 +2220,13 @@ class ExpenseReport extends CommonObject $date_f_req = $this->db->jdate($objp->date_fin); // 4 if (!($date_f_form < $date_d_req || $date_d_form > $date_f_req)) { - $existe = true; + return $objp->rowid; } $i++; } - if ($existe) { - return 1; - } else { - return 0; - } + return 0; } else { return 0; } @@ -2525,7 +2518,7 @@ class ExpenseReport extends CommonObject $sql = 'SELECT sum(amount) as amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.$table; - $sql .= ' WHERE '.$field.' = '.$this->id; + $sql .= " WHERE ".$field." = ".((int) $this->id); dol_syslog(get_class($this)."::getSumPayments", LOG_DEBUG); $resql = $this->db->query($sql); @@ -2593,9 +2586,17 @@ class ExpenseReportLine public $projet_title; public $vatrate; + public $vat_src_code; + public $localtax1_tx; + public $localtax2_tx; + public $localtax1_type; + public $localtax2_type; + public $total_ht; public $total_tva; public $total_ttc; + public $total_localtax1; + public $total_localtax2; /** * @var int ID into llx_ecm_files table to link line to attached file @@ -2623,6 +2624,7 @@ class ExpenseReportLine { $sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_c_exp_tax_cat, fde.fk_projet as fk_project, fde.date,'; $sql .= ' fde.tva_tx as vatrate, fde.vat_src_code, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc, fde.fk_ecm_files,'; + $sql .= ' fde.localtax1_tx, fde.localtax2_tx, fde.localtax1_type, fde.localtax2_type, fde.total_localtax1, fde.total_localtax2,'; $sql .= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; $sql .= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref'; $sql .= ' FROM '.MAIN_DB_PREFIX.'expensereport_det as fde'; @@ -2652,11 +2654,20 @@ class ExpenseReportLine $this->type_fees_libelle = $objp->type_fees_libelle; $this->projet_ref = $objp->projet_ref; $this->projet_title = $objp->projet_title; + $this->vatrate = $objp->vatrate; $this->vat_src_code = $objp->vat_src_code; + $this->localtax1_tx = $objp->localtax1_tx; + $this->localtax2_tx = $objp->localtax2_tx; + $this->localtax1_type = $objp->localtax1_type; + $this->localtax2_type = $objp->localtax2_type; + $this->total_ht = $objp->total_ht; $this->total_tva = $objp->total_tva; $this->total_ttc = $objp->total_ttc; + $this->total_localtax1 = $objp->total_localtax1; + $this->total_localtax2 = $objp->total_localtax2; + $this->fk_ecm_files = $objp->fk_ecm_files; $this->db->free($result); @@ -2695,18 +2706,29 @@ class ExpenseReportLine $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'expensereport_det'; $sql .= ' (fk_expensereport, fk_c_type_fees, fk_projet,'; - $sql .= ' tva_tx, vat_src_code, comments, qty, value_unit, total_ht, total_tva, total_ttc, date, rule_warning_message, fk_c_exp_tax_cat, fk_ecm_files)'; + $sql .= ' tva_tx, vat_src_code,'; + $sql .= ' localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,'; + $sql .= ' comments, qty, value_unit,'; + $sql .= ' total_ht, total_tva, total_ttc,'; + $sql .= ' total_localtax1, total_localtax2,'; + $sql .= ' date, rule_warning_message, fk_c_exp_tax_cat, fk_ecm_files)'; $sql .= " VALUES (".$this->db->escape($this->fk_expensereport).","; $sql .= " ".((int) $this->fk_c_type_fees).","; $sql .= " ".((int) (!empty($this->fk_project) && $this->fk_project > 0) ? $this->fk_project : ((!empty($this->fk_projet) && $this->fk_projet > 0) ? $this->fk_projet : 'null')).","; $sql .= " ".((float) $this->vatrate).","; $sql .= " '".$this->db->escape(empty($this->vat_src_code) ? '' : $this->vat_src_code)."',"; + $sql .= " ".((float) price2num($this->localtax1_tx)).","; + $sql .= " ".((float) price2num($this->localtax2_tx)).","; + $sql .= " '".$this->db->escape($this->localtax1_type)."',"; + $sql .= " '".$this->db->escape($this->localtax2_type)."',"; $sql .= " '".$this->db->escape($this->comments)."',"; $sql .= " ".((float) $this->qty).","; - $sql .= " ".((int) $this->value_unit).","; - $sql .= " ".price2num($this->total_ht).","; - $sql .= " ".price2num($this->total_tva).","; - $sql .= " ".price2num($this->total_ttc).","; + $sql .= " ".((float) $this->value_unit).","; + $sql .= " ".((float) price2num($this->total_ht)).","; + $sql .= " ".((float) price2num($this->total_tva)).","; + $sql .= " ".((float) price2num($this->total_ttc)).","; + $sql .= " ".((float) price2num($this->total_localtax1)).","; + $sql .= " ".((float) price2num($this->total_localtax2)).","; $sql .= " '".$this->db->idate($this->date)."',"; $sql .= " ".(empty($this->rule_warning_message) ? 'null' : "'".$this->db->escape($this->rule_warning_message)."'").","; $sql .= " ".((int) $this->fk_c_exp_tax_cat).","; @@ -2759,15 +2781,15 @@ class ExpenseReportLine $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.'expensereport e ON (d.fk_expensereport = e.rowid)'; $sql .= ' WHERE e.fk_user_author = '.((int) $fk_user); if (!empty($this->id)) { - $sql .= ' AND d.rowid <> '.$this->id; + $sql .= ' AND d.rowid <> '.((int) $this->id); } $sql .= ' AND d.fk_c_type_fees = '.((int) $rule->fk_c_type_fees); if ($mode == 'day' || $mode == 'EX_DAY') { $sql .= " AND d.date = '".dol_print_date($this->date, '%Y-%m-%d')."'"; } elseif ($mode == 'mon' || $mode == 'EX_MON') { - $sql .= ' AND DATE_FORMAT(d.date, \'%Y-%m\') = \''.dol_print_date($this->date, '%Y-%m').'\''; // @todo DATE_FORMAT is forbidden + $sql .= " AND DATE_FORMAT(d.date, '%Y-%m') = '".dol_print_date($this->date, '%Y-%m')."'"; // @todo DATE_FORMAT is forbidden } elseif ($mode == 'year' || $mode == 'EX_YEA') { - $sql .= ' AND DATE_FORMAT(d.date, \'%Y\') = \''.dol_print_date($this->date, '%Y').'\''; // @todo DATE_FORMAT is forbidden + $sql .= " AND DATE_FORMAT(d.date, '%Y') = '".dol_print_date($this->date, '%Y')."'"; // @todo DATE_FORMAT is forbidden } dol_syslog('ExpenseReportLine::getExpAmount'); @@ -2811,26 +2833,32 @@ class ExpenseReportLine // Update line in database $sql = "UPDATE ".MAIN_DB_PREFIX."expensereport_det SET"; $sql .= " comments='".$this->db->escape($this->comments)."'"; - $sql .= ",value_unit = ".((float) $this->value_unit); - $sql .= ",qty=".((float) $this->qty); - $sql .= ",date='".$this->db->idate($this->date)."'"; - $sql .= ",total_ht=".((float) price2num($this->total_ht, 'MT')).""; - $sql .= ",total_tva=".((float) price2num($this->total_tva, 'MT')).""; - $sql .= ",total_ttc=".((float) price2num($this->total_ttc, 'MT')).""; - $sql .= ",tva_tx=".((float) $this->vatrate); - $sql .= ",vat_src_code='".$this->db->escape($this->vat_src_code)."'"; - $sql .= ",rule_warning_message='".$this->db->escape($this->rule_warning_message)."'"; - $sql .= ",fk_c_exp_tax_cat=".$this->db->escape($this->fk_c_exp_tax_cat); - $sql .= ",fk_ecm_files=".($this->fk_ecm_files > 0 ? ((int) $this->fk_ecm_files) : 'null'); + $sql .= ", value_unit = ".((float) $this->value_unit); + $sql .= ", qty=".((float) $this->qty); + $sql .= ", date='".$this->db->idate($this->date)."'"; + $sql .= ", total_ht=".((float) price2num($this->total_ht, 'MT')); + $sql .= ", total_tva=".((float) price2num($this->total_tva, 'MT')); + $sql .= ", total_ttc=".((float) price2num($this->total_ttc, 'MT')); + $sql .= ", total_localtax1=".((float) price2num($this->total_localtax1, 'MT')); + $sql .= ", total_localtax2=".((float) price2num($this->total_localtax2, 'MT')); + $sql .= ", tva_tx=".((float) $this->vatrate); + $sql .= ", vat_src_code='".$this->db->escape($this->vat_src_code)."'"; + $sql .= ", localtax1_tx=".((float) $this->localtax1_tx); + $sql .= ", localtax2_tx=".((float) $this->localtax2_tx); + $sql .= ", localtax1_type='".$this->db->escape($this->localtax1_type)."'"; + $sql .= ", localtax2_type='".$this->db->escape($this->localtax2_type)."'"; + $sql .= ", rule_warning_message='".$this->db->escape($this->rule_warning_message)."'"; + $sql .= ", fk_c_exp_tax_cat=".$this->db->escape($this->fk_c_exp_tax_cat); + $sql .= ", fk_ecm_files=".($this->fk_ecm_files > 0 ? ((int) $this->fk_ecm_files) : 'null'); if ($this->fk_c_type_fees) { - $sql .= ",fk_c_type_fees = ".((int) $this->fk_c_type_fees); + $sql .= ", fk_c_type_fees = ".((int) $this->fk_c_type_fees); } else { - $sql .= ",fk_c_type_fees=null"; + $sql .= ", fk_c_type_fees=null"; } if ($this->fk_project > 0) { - $sql .= ",fk_projet=".((int) $this->fk_project); + $sql .= ", fk_projet=".((int) $this->fk_project); } else { - $sql .= ",fk_projet=null"; + $sql .= ", fk_projet=null"; } $sql .= " WHERE rowid = ".((int) ($this->rowid ? $this->rowid : $this->id)); diff --git a/htdocs/expensereport/class/expensereport_ik.class.php b/htdocs/expensereport/class/expensereport_ik.class.php index 358a2fe06ca..da2312bdcb1 100644 --- a/htdocs/expensereport/class/expensereport_ik.class.php +++ b/htdocs/expensereport/class/expensereport_ik.class.php @@ -87,8 +87,6 @@ class ExpenseReportIk extends CoreObject */ public function __construct(DoliDB &$db) { - global $conf; - parent::__construct($db); parent::init(); @@ -102,29 +100,28 @@ class ExpenseReportIk extends CoreObject * @param int $mode 1=only active; 2=only inactive; other value return all * @return array of category */ - public static function getTaxCategories($mode = 1) + public function getTaxCategories($mode = 1) { - global $db; - $categories = array(); $sql = 'SELECT rowid, label, entity, active'; $sql .= ' FROM '.MAIN_DB_PREFIX.'c_exp_tax_cat'; - $sql .= ' WHERE entity IN ('.getEntity('c_exp_tax_cat').')'; + $sql .= ' WHERE entity IN (0, '.getEntity($this->element).')'; if ($mode == 1) { $sql .= ' AND active = 1'; } elseif ($mode == 2) { $sql .= 'AND active = 0'; } - dol_syslog(get_called_class().'::getTaxCategories sql='.$sql, LOG_DEBUG); - $resql = $db->query($sql); + dol_syslog(get_called_class().'::getTaxCategories', LOG_DEBUG); + + $resql = $this->db->query($sql); if ($resql) { - while ($obj = $db->fetch_object($resql)) { + while ($obj = $this->db->fetch_object($resql)) { $categories[$obj->rowid] = $obj; } } else { - dol_print_error($db); + dol_print_error($this->db); } return $categories; @@ -137,10 +134,10 @@ class ExpenseReportIk extends CoreObject * @param int $fk_c_exp_tax_cat category * @return boolean|array */ - public static function getRangeByUser(User $userauthor, int $fk_c_exp_tax_cat) + public function getRangeByUser(User $userauthor, int $fk_c_exp_tax_cat) { $default_range = (int) $userauthor->default_range; // if not defined, then 0 - $ranges = self::getRangesByCategory($fk_c_exp_tax_cat); + $ranges = $this->getRangesByCategory($fk_c_exp_tax_cat); // substract 1 because array start from 0 if (empty($ranges) || !isset($ranges[$default_range - 1])) { @@ -157,10 +154,8 @@ class ExpenseReportIk extends CoreObject * @param int $active active * @return array */ - public static function getRangesByCategory(int $fk_c_exp_tax_cat, $active = 1) + public function getRangesByCategory(int $fk_c_exp_tax_cat, $active = 1) { - global $db; - $ranges = array(); dol_syslog(get_called_class().'::getRangesByCategory for fk_c_exp_tax_cat='.$fk_c_exp_tax_cat, LOG_DEBUG); @@ -170,24 +165,25 @@ class ExpenseReportIk extends CoreObject $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.'c_exp_tax_cat c ON (r.fk_c_exp_tax_cat = c.rowid)'; } $sql .= ' WHERE r.fk_c_exp_tax_cat = '.((int) $fk_c_exp_tax_cat); + $sql .= " AND entity IN(0, ".getEntity($this->element).")"; if ($active) { $sql .= ' AND r.active = 1 AND c.active = 1'; } $sql .= ' ORDER BY r.range_ik'; - $resql = $db->query($sql); + $resql = $this->db->query($sql); if ($resql) { - $num = $db->num_rows($resql); + $num = $this->db->num_rows($resql); if ($num > 0) { - while ($obj = $db->fetch_object($resql)) { - $object = new ExpenseReportIk($db); + while ($obj = $this->db->fetch_object($resql)) { + $object = new ExpenseReportIk($this->db); $object->fetch($obj->rowid); $ranges[] = $object; } } } else { - dol_print_error($db); + dol_print_error($this->db); } return $ranges; @@ -198,24 +194,23 @@ class ExpenseReportIk extends CoreObject * * @return array */ - public static function getAllRanges() + public function getAllRanges() { - global $db; - $ranges = array(); $sql = ' SELECT r.rowid, r.fk_c_exp_tax_cat, r.range_ik, c.label, i.rowid as fk_expense_ik, r.active as range_active, c.active as cat_active'; $sql .= ' FROM '.MAIN_DB_PREFIX.'c_exp_tax_range r'; $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.'c_exp_tax_cat c ON (r.fk_c_exp_tax_cat = c.rowid)'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'expensereport_ik i ON (r.rowid = i.fk_range)'; - $sql .= ' WHERE r.entity IN (0, '.getEntity('').')'; + $sql .= ' WHERE r.entity IN (0, '.getEntity($this->element).')'; $sql .= ' ORDER BY r.fk_c_exp_tax_cat, r.range_ik'; - dol_syslog(get_called_class().'::getAllRanges sql='.$sql, LOG_DEBUG); - $resql = $db->query($sql); + dol_syslog(get_called_class().'::getAllRanges', LOG_DEBUG); + + $resql = $this->db->query($sql); if ($resql) { - while ($obj = $db->fetch_object($resql)) { - $ik = new ExpenseReportIk($db); + while ($obj = $this->db->fetch_object($resql)) { + $ik = new ExpenseReportIk($this->db); if ($obj->fk_expense_ik > 0) { $ik->fetch($obj->fk_expense_ik); } @@ -227,7 +222,7 @@ class ExpenseReportIk extends CoreObject $ranges[$obj->fk_c_exp_tax_cat]['ranges'][] = $obj; } } else { - dol_print_error($db); + dol_print_error($this->db); } return $ranges; @@ -236,30 +231,28 @@ class ExpenseReportIk extends CoreObject /** * Return the max number of range by a category * - * @param int $default_c_exp_tax_cat id - * @return int + * @param int $default_c_exp_tax_cat id Default c_exp_tax_cat + * @return int Max nb */ - public static function getMaxRangeNumber($default_c_exp_tax_cat = 0) + public function getMaxRangeNumber($default_c_exp_tax_cat = 0) { - global $db, $conf; - $sql = 'SELECT MAX(counted) as nbRange FROM ('; $sql .= ' SELECT COUNT(*) as counted'; $sql .= ' FROM '.MAIN_DB_PREFIX.'c_exp_tax_range r'; - $sql .= ' WHERE r.entity IN (0, '.$conf->entity.')'; + $sql .= ' WHERE r.entity IN (0, '.getEntity($this->element).')'; if ($default_c_exp_tax_cat > 0) { $sql .= ' AND r.fk_c_exp_tax_cat = '.((int) $default_c_exp_tax_cat); } $sql .= ' GROUP BY r.fk_c_exp_tax_cat'; $sql .= ') as counts'; - dol_syslog(get_called_class().'::getMaxRangeNumber sql='.$sql, LOG_DEBUG); - $resql = $db->query($sql); + dol_syslog(get_called_class().'::getMaxRangeNumber', LOG_DEBUG); + $resql = $this->db->query($sql); if ($resql) { - $obj = $db->fetch_object($resql); + $obj = $this->db->fetch_object($resql); return $obj->nbRange; } else { - dol_print_error($db); + dol_print_error($this->db); } return 0; diff --git a/htdocs/expensereport/class/expensereport_rule.class.php b/htdocs/expensereport/class/expensereport_rule.class.php index 03ecab10f6a..ae89b4b0f51 100644 --- a/htdocs/expensereport/class/expensereport_rule.class.php +++ b/htdocs/expensereport/class/expensereport_rule.class.php @@ -148,20 +148,19 @@ class ExpenseReportRule extends CoreObject * @param int $fk_user user of expense * @return array Array with ExpenseReportRule */ - public static function getAllRule($fk_c_type_fees = '', $date = '', $fk_user = '') + public function getAllRule($fk_c_type_fees = '', $date = '', $fk_user = '') { - global $db; - $rules = array(); + $sql = 'SELECT er.rowid'; $sql .= ' FROM '.MAIN_DB_PREFIX.'expensereport_rules er'; - $sql .= ' WHERE er.entity IN (0,'.getEntity('').')'; + $sql .= ' WHERE er.entity IN (0,'.getEntity($this->element).')'; if (!empty($fk_c_type_fees)) { - $sql .= ' AND er.fk_c_type_fees IN (-1, '.$fk_c_type_fees.')'; + $sql .= ' AND er.fk_c_type_fees IN (-1, '.((int) $fk_c_type_fees).')'; } if (!empty($date)) { - $sql .= " AND er.dates <= '".dol_print_date($date, '%Y-%m-%d')."'"; - $sql .= " AND er.datee >= '".dol_print_date($date, '%Y-%m-%d')."'"; + $sql .= " AND er.dates <= '".$this->db->idate($date)."'"; + $sql .= " AND er.datee >= '".$this->db->idate($date)."'"; } if ($fk_user > 0) { $sql .= ' AND (er.is_for_all = 1'; @@ -170,20 +169,20 @@ class ExpenseReportRule extends CoreObject } $sql .= ' ORDER BY er.is_for_all, er.fk_usergroup, er.fk_user'; - dol_syslog("ExpenseReportRule::getAllRule sql=".$sql); + dol_syslog("ExpenseReportRule::getAllRule"); - $resql = $db->query($sql); + $resql = $this->db->query($sql); if ($resql) { - while ($obj = $db->fetch_object($resql)) { - $rule = new ExpenseReportRule($db); + while ($obj = $this->db->fetch_object($resql)) { + $rule = new ExpenseReportRule($this->db); if ($rule->fetch($obj->rowid) > 0) { $rules[$rule->id] = $rule; } else { - dol_print_error($db); + dol_print_error($this->db); } } } else { - dol_print_error($db); + dol_print_error($this->db); } return $rules; @@ -201,7 +200,7 @@ class ExpenseReportRule extends CoreObject if ($this->fk_usergroup > 0) { $group = new UserGroup($this->db); if ($group->fetch($this->fk_usergroup) > 0) { - return $group->nom; + return $group->name; } else { $this->error = $group->error; $this->errors[] = $this->error; diff --git a/htdocs/expensereport/class/expensereportstats.class.php b/htdocs/expensereport/class/expensereportstats.class.php index 8f3574f2952..e36b1c1e49e 100644 --- a/htdocs/expensereport/class/expensereportstats.class.php +++ b/htdocs/expensereport/class/expensereportstats.class.php @@ -71,7 +71,7 @@ class ExpenseReportStats extends Stats //$this->where.= " AND entity = ".$conf->entity; if ($this->socid) { - $this->where .= " AND e.fk_soc = ".$this->socid; + $this->where .= " AND e.fk_soc = ".((int) $this->socid); } // Only me and subordinates @@ -94,7 +94,7 @@ class ExpenseReportStats extends Stats */ public function getNbByYear() { - $sql = "SELECT YEAR(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).") as dm, count(*)"; + $sql = "SELECT YEAR(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).") as dm, count(*)"; $sql .= " FROM ".$this->from; $sql .= " GROUP BY dm DESC"; $sql .= " WHERE ".$this->where; @@ -112,7 +112,7 @@ class ExpenseReportStats extends Stats */ public function getNbByMonth($year, $format = 0) { - $sql = "SELECT MONTH(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).") as dm, count(*)"; + $sql = "SELECT MONTH(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).") as dm, count(*)"; $sql .= " FROM ".$this->from; $sql .= " WHERE YEAR(e.".$this->datetouse.") = ".((int) $year); $sql .= " AND ".$this->where; @@ -134,9 +134,9 @@ class ExpenseReportStats extends Stats */ public function getAmountByMonth($year, $format = 0) { - $sql = "SELECT date_format(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).",'%m') as dm, sum(".$this->field.")"; + $sql = "SELECT date_format(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).",'%m') as dm, sum(".$this->field.")"; $sql .= " FROM ".$this->from; - $sql .= " WHERE date_format(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).",'%Y') = '".$this->db->escape($year)."'"; + $sql .= " WHERE date_format(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).",'%Y') = '".$this->db->escape($year)."'"; $sql .= " AND ".$this->where; $sql .= " GROUP BY dm"; $sql .= $this->db->order('dm', 'DESC'); @@ -154,9 +154,9 @@ class ExpenseReportStats extends Stats */ public function getAverageByMonth($year) { - $sql = "SELECT date_format(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).",'%m') as dm, avg(".$this->field.")"; + $sql = "SELECT date_format(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).",'%m') as dm, avg(".$this->field.")"; $sql .= " FROM ".$this->from; - $sql .= " WHERE date_format(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).",'%Y') = '".$this->db->escape($year)."'"; + $sql .= " WHERE date_format(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).",'%Y') = '".$this->db->escape($year)."'"; $sql .= " AND ".$this->where; $sql .= " GROUP BY dm"; $sql .= $this->db->order('dm', 'DESC'); @@ -171,7 +171,7 @@ class ExpenseReportStats extends Stats */ public function getAllByYear() { - $sql = "SELECT date_format(".$this->db->ifsql('e.'.$this->datetouse.' IS NULL', 'e.date_create', 'e.'.$this->datetouse).",'%Y') as year, count(*) as nb, sum(".$this->field.") as total, avg(".$this->field.") as avg"; + $sql = "SELECT date_format(".$this->db->ifsql("e.".$this->datetouse." IS NULL", "e.date_create", "e.".$this->datetouse).",'%Y') as year, count(*) as nb, sum(".$this->field.") as total, avg(".$this->field.") as avg"; $sql .= " FROM ".$this->from; $sql .= " WHERE ".$this->where; $sql .= " GROUP BY year"; diff --git a/htdocs/expensereport/class/paymentexpensereport.class.php b/htdocs/expensereport/class/paymentexpensereport.class.php index a453b810e6a..48adeab929d 100644 --- a/htdocs/expensereport/class/paymentexpensereport.class.php +++ b/htdocs/expensereport/class/paymentexpensereport.class.php @@ -169,7 +169,7 @@ class PaymentExpenseReport extends CommonObject $sql .= " VALUES ($this->fk_expensereport, '".$this->db->idate($now)."',"; $sql .= " '".$this->db->idate($this->datepaid)."',"; $sql .= " ".price2num($totalamount).","; - $sql .= " ".$this->fk_typepayment.", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".$user->id.","; + $sql .= " ".((int) $this->fk_typepayment).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".((int) $user->id).","; $sql .= " 0)"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -359,7 +359,7 @@ class PaymentExpenseReport extends CommonObject if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_url"; - $sql .= " WHERE type='payment_expensereport' AND url_id=".$this->id; + $sql .= " WHERE type='payment_expensereport' AND url_id=".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); $resql = $this->db->query($sql); diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 8198883e58f..c87cc08fb40 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2021 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro @@ -132,6 +132,30 @@ foreach ($listoftype as $code => $label) { $dataseries[] = array($label, (isset($somme[$code]) ? (int) $somme[$code] : 0)); } +// Sort array with most important first +$dataseries = dol_sort_array($dataseries, 1, 'desc'); + +// Merge all entrie after the $KEEPNFIRST one into one entry called "Other..." (to avoid to have too much entries in graphic). +$KEEPNFIRST = 7; // Keep first $KEEPNFIRST one + 1 with the remain +$i = 0; +if (count($dataseries) > ($KEEPNFIRST + 1)) { + foreach ($dataseries as $key => $val) { + if ($i < $KEEPNFIRST) { + $i++; + continue; + } + // Here $key = $KEEPNFIRST + $dataseries[$KEEPNFIRST][0] = $langs->trans("Others").'...'; + if ($key == $KEEPNFIRST) { + $i++; + continue; + } + $dataseries[$KEEPNFIRST][1] += $dataseries[$key][1]; + unset($dataseries[$key]); + $i++; + } +} + if ($conf->use_javascript_ajax) { print ''; @@ -221,10 +245,10 @@ if ($result) { $userstatic->photo = $obj->photo; print ''; - print ''.$expensereportstatic->getNomUrl(1).''; - print ''.$userstatic->getNomUrl(-1).''; - print ''.price($obj->total_ht).''; - print ''.price($obj->total_ttc).''; + print ''.$expensereportstatic->getNomUrl(1).''; + print ''.$userstatic->getNomUrl(-1).''; + print ''.price($obj->total_ht).''; + print ''.price($obj->total_ttc).''; print ''.dol_print_date($db->jdate($obj->dm), 'day').''; print ''; print $expensereportstatic->getLibStatut(3); diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index 1f3468d06fc..760c25e4db8 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -277,7 +277,7 @@ $sql .= " u.rowid as id_user, u.firstname, u.lastname, u.login, u.email, u.statu // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -487,9 +487,7 @@ if ($resql) { print '
    '; } else { - print '
    '; - print ''; - print '

    '; + print $form->buttonsSaveCancel("Save", ''); } } else { $title = $langs->trans("ListTripsAndExpenses"); diff --git a/htdocs/expensereport/note.php b/htdocs/expensereport/note.php index b0156c6a475..5649f2144e4 100644 --- a/htdocs/expensereport/note.php +++ b/htdocs/expensereport/note.php @@ -44,6 +44,8 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } +$hookmanager->initHooks(array('expensereportnote')); + $result = restrictedArea($user, 'expensereport', $id, 'expensereport'); @@ -68,12 +70,17 @@ if ($object->id > 0) { } } - /* * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/expensereport/payment/card.php b/htdocs/expensereport/payment/card.php index 7b86f295b5b..847c059a9c6 100644 --- a/htdocs/expensereport/payment/card.php +++ b/htdocs/expensereport/payment/card.php @@ -240,7 +240,7 @@ print '
    '; if ($action == '') { if ($user->rights->expensereport->supprimer) { if (!$disable_delete) { - print ''.$langs->trans('Delete').''; + print ''.$langs->trans('Delete').''; } else { print ''.$langs->trans('Delete').''; } diff --git a/htdocs/expensereport/payment/payment.php b/htdocs/expensereport/payment/payment.php index b7057af86fc..85c9c813598 100644 --- a/htdocs/expensereport/payment/payment.php +++ b/htdocs/expensereport/payment/payment.php @@ -324,11 +324,7 @@ if ($action == 'create' || empty($action)) { print ""; - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print "\n"; } diff --git a/htdocs/expensereport/tpl/expensereport_addfile.tpl.php b/htdocs/expensereport/tpl/expensereport_addfile.tpl.php index c27136ebd38..d74b68e6738 100644 --- a/htdocs/expensereport/tpl/expensereport_addfile.tpl.php +++ b/htdocs/expensereport/tpl/expensereport_addfile.tpl.php @@ -2,7 +2,14 @@ // Add line to upload new file print ''."\n"; print 'global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ' style="display: none"' : '').'>'; -print ''; + +// Num line +if ($action == 'editline') { + print ''; +} + +// Upload section +print ''; $modulepart = 'expensereport'; $permission = $user->rights->expensereport->creer; diff --git a/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php b/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php index 42be03263a8..33cfc0976fe 100644 --- a/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php +++ b/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php @@ -13,7 +13,14 @@ if (empty($conf->global->EXPENSEREPORT_DISABLE_ATTACHMENT_ON_LINES)) { if ($nbFiles > 0) { print 'global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ' style="display: none"' : '').'>'; - print ''; + + // Num line + if ($action == 'editline') { + print ''; + } + + // Select image section + print ''; //print ''.$langs->trans("AttachTheNewLineToTheDocument").'
    '; $modulepart = 'expensereport'; $maxheightmini = 48; $relativepath = (!empty($object->ref) ?dol_sanitizeFileName($object->ref) : '').'/'; @@ -72,7 +79,7 @@ if (empty($conf->global->EXPENSEREPORT_DISABLE_ATTACHMENT_ON_LINES)) { } // If the preview file is found if (file_exists($fileimage)) { - $thumbshown = ''; + $thumbshown = ''; } } } @@ -112,8 +119,8 @@ if (empty($conf->global->EXPENSEREPORT_DISABLE_ATTACHMENT_ON_LINES)) { if (!empty($filenamelinked) && $filenamelinked == $file['relativename']) { $checked = ' checked'; } - print '
    '; - print ''; + print '
    '; + print ''; print '
    '; print '
    '; diff --git a/htdocs/expensereport/tpl/linkedobjectblock.tpl.php b/htdocs/expensereport/tpl/linkedobjectblock.tpl.php index 31c5526903b..6a36b62f924 100644 --- a/htdocs/expensereport/tpl/linkedobjectblock.tpl.php +++ b/htdocs/expensereport/tpl/linkedobjectblock.tpl.php @@ -24,7 +24,7 @@ if (empty($conf) || !is_object($conf)) { } -print "\n"; +print "\n"; global $user; @@ -47,7 +47,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) { echo price($objectlink->total_ht); } ?> getLibStatut(3); ?> - ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> + ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> " + * @return string SQL string of then field ex : "field='xxx'" */ public function build_filterQuery($TypeField, $NameField, $ValueField) { // phpcs:enable + $NameField = checkVal($NameField, 'aZ09'); + $szFilterQuery = ''; + //print $TypeField." ".$NameField." ".$ValueField; $InfoFieldList = explode(":", $TypeField); // build the input field on depend of the type of file switch ($InfoFieldList[0]) { case 'Text': if (!(strpos($ValueField, '%') === false)) { - $szFilterQuery .= " ".$NameField." LIKE '".$ValueField."'"; + $szFilterQuery = " ".$NameField." LIKE '".$this->db->escape($ValueField)."'"; } else { - $szFilterQuery .= " ".$NameField." = '".$ValueField."'"; + $szFilterQuery = " ".$NameField." = '".$this->db->escape($ValueField)."'"; } break; case 'Date': @@ -330,17 +333,17 @@ class Export case 'Duree': break; case 'Numeric': - // si le signe - + // if there is a signe + if (strpos($ValueField, "+") > 0) { // mode plage $ValueArray = explode("+", $ValueField); - $szFilterQuery = "(".$NameField.">=".$ValueArray[0]; - $szFilterQuery .= " AND ".$NameField."<=".$ValueArray[1].")"; + $szFilterQuery = "(".$NameField." >= ".((float) $ValueArray[0]); + $szFilterQuery .= " AND ".$NameField." <= ".((float) $ValueArray[1]).")"; } else { if (is_numeric(substr($ValueField, 0, 1))) { - $szFilterQuery = " ".$NameField."=".$ValueField; + $szFilterQuery = " ".$NameField." = ".((float) $ValueField); } else { - $szFilterQuery = " ".$NameField.substr($ValueField, 0, 1).substr($ValueField, 1); + $szFilterQuery = " ".$NameField.substr($ValueField, 0, 1).((float) substr($ValueField, 1)); } } break; @@ -350,12 +353,12 @@ class Export case 'Status': case 'List': if (is_numeric($ValueField)) { - $szFilterQuery = " ".$NameField."=".$ValueField; + $szFilterQuery = " ".$NameField." = ".((float) $ValueField); } else { if (!(strpos($ValueField, '%') === false)) { - $szFilterQuery = " ".$NameField." LIKE '".$ValueField."'"; + $szFilterQuery = " ".$NameField." LIKE '".$this->db->escape($ValueField)."'"; } else { - $szFilterQuery = " ".$NameField." = '".$ValueField."'"; + $szFilterQuery = " ".$NameField." = '".$this->db->escape($ValueField)."'"; } } break; @@ -452,14 +455,14 @@ class Export } else { $keyList = 'rowid'; } - $sql = 'SELECT '.$keyList.' as rowid, '.$InfoFieldList[2].' as label'.(empty($InfoFieldList[3]) ? '' : ', '.$InfoFieldList[3].' as code'); + $sql = "SELECT ".$keyList." as rowid, ".$InfoFieldList[2]." as label".(empty($InfoFieldList[3]) ? "" : ", ".$InfoFieldList[3]." as code"); if ($InfoFieldList[1] == 'c_stcomm') { - $sql = 'SELECT id as id, '.$keyList.' as rowid, '.$InfoFieldList[2].' as label'.(empty($InfoFieldList[3]) ? '' : ', '.$InfoFieldList[3].' as code'); + $sql = "SELECT id as id, ".$keyList." as rowid, ".$InfoFieldList[2]." as label".(empty($InfoFieldList[3]) ? "" : ", ".$InfoFieldList[3].' as code'); } if ($InfoFieldList[1] == 'c_country') { - $sql = 'SELECT '.$keyList.' as rowid, '.$InfoFieldList[2].' as label, code as code'; + $sql = "SELECT ".$keyList." as rowid, ".$InfoFieldList[2]." as label, code as code"; } - $sql .= ' FROM '.MAIN_DB_PREFIX.$InfoFieldList[1]; + $sql .= " FROM ".MAIN_DB_PREFIX.$InfoFieldList[1]; if (!empty($InfoFieldList[4])) { $sql .= ' WHERE entity IN ('.getEntity($InfoFieldList[4]).')'; } diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index 1dd3400ff80..c0a48b97222 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -1009,7 +1009,7 @@ if ($step == 4 && $datatoexport) { print ''; print ''; - print ''; + print ''; print ''; $arrayvisibility = array('private'=>$langs->trans("Private"), 'all'=>$langs->trans("Everybody")); print $form->selectarray('visibility', $arrayvisibility, 'private'); diff --git a/htdocs/externalsite/admin/index.php b/htdocs/externalsite/admin/index.php index a9a41c5e555..d8dbb316593 100644 --- a/htdocs/externalsite/admin/index.php +++ b/htdocs/externalsite/admin/index.php @@ -124,9 +124,7 @@ print ""; print ""; -print '
    '; -print ''; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); print "\n"; diff --git a/htdocs/fichinter/card-rec.php b/htdocs/fichinter/card-rec.php index 44ff46b233c..d74e0a5c5e8 100644 --- a/htdocs/fichinter/card-rec.php +++ b/htdocs/fichinter/card-rec.php @@ -436,10 +436,8 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("Create"); + print "\n"; } else { dol_print_error('', "Error, no fichinter ".$object->id); @@ -457,11 +455,9 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; print ''; print ''; - print ''; - print '
    '; + print $form->buttonsSaveCancel("CreateDraftIntervention", ''); print ''; } else { @@ -494,7 +490,7 @@ if ($action == 'create') { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->ficheinter->creer) { if ($action != 'classify') { - $morehtmlref .= ''; + $morehtmlref .= ''; $morehtmlref .= img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { @@ -591,7 +587,7 @@ if ($action == 'create') { print $langs->trans('Frequency'); print ''; if ($action != 'editfrequency' && $user->rights->ficheinter->creer) { - print ''; + print ''; print img_edit($langs->trans('Edit'), 1).''; } print ''; @@ -605,7 +601,7 @@ if ($action == 'create') { print ' '; print $form->selectarray('unit_frequency', array('d'=>$langs->trans('Day'), 'm'=>$langs->trans('Month'), 'y'=>$langs->trans('Year')), ($object->unit_frequency ? $object->unit_frequency : 'm')); print ''; - print ''; + print ''; print ''; } else { if ($object->frequency > 0) { @@ -774,7 +770,7 @@ if ($action == 'create') { $sql .= " AND s.rowid = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($search_ref) { $sql .= natural_search('f.titre', $search_ref); diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index e138c8ed6fe..9fb15bac425 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -51,7 +51,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; // Load translation files required by the page -$langs->loadLangs(array('bills', 'companies', 'interventions')); +$langs->loadLangs(array('bills', 'companies', 'interventions', 'stocks')); $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); @@ -113,8 +113,23 @@ if ($reshook < 0) { } if (empty($reshook)) { + $backurlforlist = DOL_URL_ROOT.'/fichinter/list.php'; + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = DOL_URL_ROOT.'/fichinter/card.php?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); + } + } + } + if ($cancel) { - if (!empty($backtopage)) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { header("Location: ".$backtopage); exit; } @@ -930,7 +945,7 @@ if ($action == 'create') { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit'); + print $object->showOptionals($extrafields, 'create'); } // Show link to origin object @@ -977,11 +992,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("CreateDraftIntervention"); // Show origin lines if (!empty($origin) && !empty($originid) && is_object($objectsrc)) { @@ -999,6 +1010,7 @@ if ($action == 'create') { } else { print '
    '; print ''; + print ''; // We go back to create action print dol_get_fiche_head(''); @@ -1017,12 +1029,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("CreateDraftIntervention"); print '
    '; } @@ -1079,7 +1086,7 @@ if ($action == 'create') { // Confirm back to open if ($action == 'reopen') { - $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('Reopen'), $langs->trans('ConfirmReopenIntervention', $object->ref), 'confirm_reopen', '', 0, 1); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReopenIntervention', $object->ref), 'confirm_reopen', '', 0, 1); } // Confirm deletion of line @@ -1131,7 +1138,7 @@ if ($action == 'create') { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->ficheinter->creer) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -1139,7 +1146,7 @@ if ($action == 'create') { $morehtmlref .= ''; $morehtmlref .= ''; $morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); - $morehtmlref .= ''; + $morehtmlref .= ''; $morehtmlref .= ''; } else { $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); @@ -1288,7 +1295,7 @@ if ($action == 'create') { $sql = 'SELECT ft.rowid, ft.description, ft.fk_fichinter, ft.duree, ft.rang,'; $sql .= ' ft.date as date_intervention'; $sql .= ' FROM '.MAIN_DB_PREFIX.'fichinterdet as ft'; - $sql .= ' WHERE ft.fk_fichinter = '.$object->id; + $sql .= ' WHERE ft.fk_fichinter = '.((int) $object->id); if (!empty($conf->global->FICHINTER_HIDE_EMPTY_DURATION)) { $sql .= ' AND ft.duree <> 0'; } @@ -1343,21 +1350,21 @@ if ($action == 'create') { // Icon to edit and delete if ($object->statut == 0 && $user->rights->ficheinter->creer) { print ''; - print 'rowid.'#'.$objp->rowid.'">'; + print 'rowid.'#'.$objp->rowid.'">'; print img_edit(); print ''; - print 'rowid.'">'; + print 'rowid.'">'; print img_delete(); print ''; print ''; if ($num > 1) { if ($i > 0) { - print 'rowid.'">'; + print 'rowid.'">'; print img_up(); print ''; } if ($i < $num - 1) { - print 'rowid.'">'; + print 'rowid.'">'; print img_down(); print ''; } @@ -1500,7 +1507,7 @@ if ($action == 'create') { } print ''; - print ''; + print ''; print ''; //Line extrafield @@ -1566,7 +1573,7 @@ if ($action == 'create') { // Reopen if ($object->statut >= Fichinter::STATUS_CLOSED) { if ($user->rights->ficheinter->creer) { - print ''; + print ''; } else { print ''; } @@ -1576,7 +1583,7 @@ if ($action == 'create') { if (empty($user->socid)) { if ($object->statut > Fichinter::STATUS_DRAFT) { if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->ficheinter->ficheinter_advance->send) { - print ''; + print ''; } else { print ''; } @@ -1615,26 +1622,26 @@ if ($action == 'create') { if (!empty($conf->global->FICHINTER_CLASSIFY_BILLED)) { // Option deprecated. In a future, billed must be managed with a dedicated field to 0 or 1 if ($object->statut != Fichinter::STATUS_BILLED) { - print ''; + print ''; } else { - print ''; + print ''; } } } // Done if (empty($conf->global->FICHINTER_CLASSIFY_BILLED) && $object->statut > Fichinter::STATUS_DRAFT && $object->statut < Fichinter::STATUS_CLOSED) { - print ''; + print ''; } // Clone if ($user->rights->ficheinter->creer) { - print ''; + print ''; } // Delete if (($object->statut == Fichinter::STATUS_DRAFT && $user->rights->ficheinter->creer) || $user->rights->ficheinter->supprimer) { - print ''; } } diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index 0bb5d2522ab..9bd3f17da25 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -206,7 +206,7 @@ class Fichinter extends CommonObject $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON fi.fk_soc = s.rowid"; if (!$user->rights->societe->client->voir && !$user->socid) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; - $sql .= " WHERE sc.fk_user = ".$user->id; + $sql .= " WHERE sc.fk_user = ".((int) $user->id); $clause = "AND"; } $sql .= " ".$clause." fi.entity IN (".getEntity('intervention').")"; @@ -286,14 +286,14 @@ class Fichinter extends CommonObject $sql .= $this->socid; $sql .= ", '".$this->db->idate($now)."'"; $sql .= ", '".$this->db->escape($this->ref)."'"; - $sql .= ", ".$conf->entity; - $sql .= ", ".$user->id; - $sql .= ", ".$user->id; + $sql .= ", ".((int) $conf->entity); + $sql .= ", ".((int) $user->id); + $sql .= ", ".((int) $user->id); $sql .= ", ".($this->description ? "'".$this->db->escape($this->description)."'" : "null"); $sql .= ", '".$this->db->escape($this->model_pdf)."'"; - $sql .= ", ".($this->fk_project ? $this->fk_project : 0); - $sql .= ", ".($this->fk_contrat ? $this->fk_contrat : 0); - $sql .= ", ".$this->statut; + $sql .= ", ".($this->fk_project ? ((int) $this->fk_project) : 0); + $sql .= ", ".($this->fk_contrat ? ((int) $this->fk_contrat) : 0); + $sql .= ", ".((int) $this->statut); $sql .= ", ".($this->note_private ? "'".$this->db->escape($this->note_private)."'" : "null"); $sql .= ", ".($this->note_public ? "'".$this->db->escape($this->note_public)."'" : "null"); $sql .= ")"; @@ -383,8 +383,8 @@ class Fichinter extends CommonObject $sql .= ", fk_projet = ".((int) $this->fk_project); $sql .= ", note_private = ".($this->note_private ? "'".$this->db->escape($this->note_private)."'" : "null"); $sql .= ", note_public = ".($this->note_public ? "'".$this->db->escape($this->note_public)."'" : "null"); - $sql .= ", fk_user_modif = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= ", fk_user_modif = ".((int) $user->id); + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::update", LOG_DEBUG); if ($this->db->query($sql)) { @@ -510,7 +510,7 @@ class Fichinter extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter"; $sql .= " SET fk_statut = ".self::STATUS_DRAFT; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -570,11 +570,11 @@ class Fichinter extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter"; $sql .= " SET fk_statut = 1"; - $sql .= ", ref = '".$num."'"; + $sql .= ", ref = '".$this->db->escape($num)."'"; $sql .= ", date_valid = '".$this->db->idate($now)."'"; - $sql .= ", fk_user_valid = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; - $sql .= " AND entity = ".$conf->entity; + $sql .= ", fk_user_valid = ".((int) $user->id); + $sql .= " WHERE rowid = ".((int) $this->id); + $sql .= " AND entity = ".((int) $conf->entity); $sql .= " AND fk_statut = 0"; dol_syslog(get_class($this)."::setValid", LOG_DEBUG); @@ -975,7 +975,7 @@ class Fichinter extends CommonObject if (!$error) { $main = MAIN_DB_PREFIX.'fichinterdet'; $ef = $main."_extrafields"; - $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_fichinter = ".$this->id.")"; + $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_fichinter = ".((int) $this->id).")"; $resql = $this->db->query($sql); if (!$resql) { @@ -985,7 +985,7 @@ class Fichinter extends CommonObject if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet"; - $sql .= " WHERE fk_fichinter = ".$this->id; + $sql .= " WHERE fk_fichinter = ".((int) $this->id); $resql = $this->db->query($sql); if (!$resql) { @@ -1004,7 +1004,7 @@ class Fichinter extends CommonObject if (!$error) { // Delete object $sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinter"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog("Fichinter::delete", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1066,7 +1066,7 @@ class Fichinter extends CommonObject if ($user->rights->ficheinter->creer) { $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter "; $sql .= " SET datei = '".$this->db->idate($date_delivery)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $sql .= " AND fk_statut = 0"; if ($this->db->query($sql)) { @@ -1097,7 +1097,7 @@ class Fichinter extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter "; $sql .= " SET description = '".$this->db->escape($description)."',"; $sql .= " fk_user_modif = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { $this->description = $description; @@ -1127,7 +1127,7 @@ class Fichinter extends CommonObject if ($user->rights->ficheinter->creer) { $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter "; $sql .= " SET fk_contrat = ".((int) $contractid); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { $this->fk_contrat = $contractid; @@ -1322,7 +1322,7 @@ class Fichinter extends CommonObject $sql = 'SELECT rowid, fk_fichinter, description, duree, date, rang'; $sql .= ' FROM '.MAIN_DB_PREFIX.'fichinterdet'; - $sql .= ' WHERE fk_fichinter = '.$this->id.' ORDER BY rang ASC, date ASC'; + $sql .= ' WHERE fk_fichinter = '.((int) $this->id).' ORDER BY rang ASC, date ASC'; dol_syslog(get_class($this)."::fetch_lines", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1481,7 +1481,7 @@ class FichinterLigne extends CommonObjectLine if ($rangToUse == -1) { // Recupere rang max de la ligne d'intervention dans $rangmax $sql = 'SELECT max(rang) as max FROM '.MAIN_DB_PREFIX.'fichinterdet'; - $sql .= ' WHERE fk_fichinter ='.$this->fk_fichinter; + $sql .= ' WHERE fk_fichinter = '.((int) $this->fk_fichinter); $resql = $this->db->query($sql); if ($resql) { $obj = $this->db->fetch_object($resql); @@ -1496,7 +1496,7 @@ class FichinterLigne extends CommonObjectLine // Insertion dans base de la ligne $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'fichinterdet'; $sql .= ' (fk_fichinter, description, date, duree, rang)'; - $sql .= " VALUES (".$this->fk_fichinter.","; + $sql .= " VALUES (".((int) $this->fk_fichinter).","; $sql .= " '".$this->db->escape($this->desc)."',"; $sql .= " '".$this->db->idate($this->datei)."',"; $sql .= " ".((int) $this->duration).","; @@ -1568,7 +1568,7 @@ class FichinterLigne extends CommonObjectLine $sql .= ",date='".$this->db->idate($this->datei)."'"; $sql .= ",duree=".$this->duration; $sql .= ",rang='".$this->db->escape($this->rang)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog("FichinterLigne::update", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1680,7 +1680,7 @@ class FichinterLigne extends CommonObjectLine return -1; } - $sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet WHERE rowid = ".$this->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet WHERE rowid = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { diff --git a/htdocs/fichinter/class/fichinterrec.class.php b/htdocs/fichinter/class/fichinterrec.class.php index 4fe35c32a2c..d5690265028 100644 --- a/htdocs/fichinter/class/fichinterrec.class.php +++ b/htdocs/fichinter/class/fichinterrec.class.php @@ -182,18 +182,18 @@ class FichinterRec extends Fichinter $sql .= ") VALUES ("; $sql .= "'".$this->db->escape($this->title)."'"; - $sql .= ", ".($this->socid > 0 ? $this->socid : 'null'); - $sql .= ", ".$conf->entity; + $sql .= ", ".($this->socid > 0 ? ((int) $this->socid) : 'null'); + $sql .= ", ".((int) $conf->entity); $sql .= ", '".$this->db->idate($now)."'"; - $sql .= ", ".(!empty($fichintsrc->duration) ? $fichintsrc->duration : '0'); + $sql .= ", ".(!empty($fichintsrc->duration) ? ((int) $fichintsrc->duration) : '0'); $sql .= ", ".(!empty($this->description) ? ("'".$this->db->escape($this->description)."'") : "null"); $sql .= ", ".(!empty($fichintsrc->note_private) ? ("'".$this->db->escape($fichintsrc->note_private)."'") : "null"); $sql .= ", ".(!empty($fichintsrc->note_public) ? ("'".$this->db->escape($fichintsrc->note_public)."'") : "null"); - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); // si c'est la même société on conserve les liens vers le projet et le contrat if ($this->socid == $fichintsrc->socid) { - $sql .= ", ".(!empty($fichintsrc->fk_project) ? $fichintsrc->fk_project : "null"); - $sql .= ", ".(!empty($fichintsrc->fk_contrat) ? $fichintsrc->fk_contrat : "null"); + $sql .= ", ".(!empty($fichintsrc->fk_project) ? ((int) $fichintsrc->fk_project) : "null"); + $sql .= ", ".(!empty($fichintsrc->fk_contrat) ? ((int) $fichintsrc->fk_contrat) : "null"); } else { $sql .= ", null, null"; } @@ -201,12 +201,12 @@ class FichinterRec extends Fichinter $sql .= ", ".(!empty($fichintsrc->model_pdf) ? "'".$this->db->escape($fichintsrc->model_pdf)."'" : "''"); // récurrence - $sql .= ", ".(!empty($this->frequency) ? $this->frequency : "null"); + $sql .= ", ".(!empty($this->frequency) ? ((int) $this->frequency) : "null"); $sql .= ", '".$this->db->escape($this->unit_frequency)."'"; $sql .= ", ".(!empty($this->date_when) ? "'".$this->db->idate($this->date_when)."'" : 'null'); $sql .= ", ".(!empty($this->date_last_gen) ? "'".$this->db->idate($this->date_last_gen)."'" : 'null'); $sql .= ", 0"; // we start à 0 - $sql .= ", ".$this->nb_gen_max; + $sql .= ", ".((int) $this->nb_gen_max); // $sql.= ", ".$this->auto_validate; $sql .= ")"; @@ -356,7 +356,7 @@ class FichinterRec extends Fichinter $sql .= ' p.label as product_label, p.description as product_desc'; $sql .= ' FROM '.MAIN_DB_PREFIX.'fichinterdet_rec as l'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product = p.rowid'; - $sql .= ' WHERE l.fk_fichinter = '.$this->id; + $sql .= ' WHERE l.fk_fichinter = '.((int) $this->id); dol_syslog('FichInter-rec::fetch_lines', LOG_DEBUG); $result = $this->db->query($sql); @@ -599,7 +599,7 @@ class FichinterRec extends Fichinter $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter_rec "; $sql .= " SET frequency='".$this->db->escape($freq)."'"; $sql .= ", date_last_gen='".$this->db->escape($courant)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $resql = $this->db->query($sql); @@ -718,7 +718,7 @@ class FichinterRec extends Fichinter if (!empty($unit)) { $sql .= ', unit_frequency = "'.$this->db->escape($unit).'"'; } - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setFrequencyAndUnit", LOG_DEBUG); if ($this->db->query($sql)) { @@ -751,7 +751,7 @@ class FichinterRec extends Fichinter if ($increment_nb_gen_done > 0) { $sql .= ', nb_gen_done = nb_gen_done + 1'; } - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setNextDate", LOG_DEBUG); if ($this->db->query($sql)) { @@ -844,7 +844,7 @@ class FichinterRec extends Fichinter $sql .= ' , statut = 1'; } - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setAutoValidate", LOG_DEBUG); if ($this->db->query($sql)) { diff --git a/htdocs/fichinter/contact.php b/htdocs/fichinter/contact.php index 7957479e611..5f361b21870 100644 --- a/htdocs/fichinter/contact.php +++ b/htdocs/fichinter/contact.php @@ -128,7 +128,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->ficheinter->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fichinter/document.php b/htdocs/fichinter/document.php index 71f52212978..74ef0c57804 100644 --- a/htdocs/fichinter/document.php +++ b/htdocs/fichinter/document.php @@ -126,7 +126,7 @@ if ($object->id) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->commande->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php index 2d69046b4ba..8eca043ef40 100644 --- a/htdocs/fichinter/index.php +++ b/htdocs/fichinter/index.php @@ -80,10 +80,10 @@ if (!$user->rights->societe->client->voir && !$socid) { $sql .= " WHERE f.entity IN (".getEntity('intervention').")"; $sql .= " AND f.fk_soc = s.rowid"; if ($user->socid) { - $sql .= ' AND f.fk_soc = '.$user->socid; + $sql .= ' AND f.fk_soc = '.((int) $user->socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " GROUP BY f.fk_statut"; $resql = $db->query($sql); @@ -199,10 +199,10 @@ if (!empty($conf->ficheinter->enabled)) { $sql .= " AND f.fk_soc = s.rowid"; $sql .= " AND f.fk_statut = 0"; if ($socid) { - $sql .= " AND f.fk_soc = ".$socid; + $sql .= " AND f.fk_soc = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $resql = $db->query($sql); @@ -249,10 +249,10 @@ $sql .= " WHERE f.entity IN (".getEntity('intervention').")"; $sql .= " AND f.fk_soc = s.rowid"; //$sql.= " AND c.fk_statut > 2"; if ($socid) { - $sql .= " AND f.fk_soc = ".$socid; + $sql .= " AND f.fk_soc = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " ORDER BY f.tms DESC"; $sql .= $db->plimit($max, 0); @@ -322,10 +322,10 @@ if (!empty($conf->ficheinter->enabled)) { $sql .= " AND f.fk_soc = s.rowid"; $sql .= " AND f.fk_statut = 1"; if ($socid) { - $sql .= " AND f.fk_soc = ".$socid; + $sql .= " AND f.fk_soc = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " ORDER BY f.rowid DESC"; diff --git a/htdocs/fichinter/info.php b/htdocs/fichinter/info.php index 39ac695f84e..86a57212d18 100644 --- a/htdocs/fichinter/info.php +++ b/htdocs/fichinter/info.php @@ -83,7 +83,7 @@ if (!empty($conf->projet->enabled)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->commande->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fichinter/list.php b/htdocs/fichinter/list.php index f96b9e62f88..6f4dccd878d 100644 --- a/htdocs/fichinter/list.php +++ b/htdocs/fichinter/list.php @@ -6,6 +6,7 @@ * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2021 Frédéric France * * 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 @@ -225,12 +226,12 @@ if (!empty($conf->projet->enabled)) { $sql .= ", pr.rowid as projet_id, pr.ref as projet_ref, pr.title as projet_title"; } if (!empty($conf->contrat->enabled)) { - $sql .= ", c.rowid as contrat_id, c.ref as contrat_ref, c.ref_customer as contrat_ref_supplier, c.ref_supplier as contrat_ref_supplier"; + $sql .= ", c.rowid as contrat_id, c.ref as contrat_ref, c.ref_customer as contrat_ref_customer, c.ref_supplier as contrat_ref_supplier"; } // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -285,7 +286,7 @@ if ($search_status != '' && $search_status >= 0) { $sql .= ' AND f.fk_statut = '.urlencode($search_status); } if (!$user->rights->societe->client->voir && empty($socid)) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($socid) { $sql .= " AND s.rowid = ".((int) $socid); @@ -573,6 +574,8 @@ if ($resql) { $i = 0; $totalarray = array(); $totalarray['nbfield'] = 0; + $totalarray['val'] = array(); + $totalarray['val']['fd.duree'] = 0; while ($i < min($num, $limit)) { $obj = $db->fetch_object($resql); diff --git a/htdocs/fichinter/note.php b/htdocs/fichinter/note.php index fcc790bf8c2..b9d3a10b9bb 100644 --- a/htdocs/fichinter/note.php +++ b/htdocs/fichinter/note.php @@ -42,6 +42,7 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } +$hookmanager->initHooks(array('fichinternote')); $result = restrictedArea($user, 'ficheinter', $id, 'fichinter'); $object = new Fichinter($db); @@ -53,7 +54,13 @@ $permissionnote = $user->rights->ficheinter->creer; // Used by the include of ac * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -86,7 +93,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->commande->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fichinter/tpl/linkedobjectblock.tpl.php b/htdocs/fichinter/tpl/linkedobjectblock.tpl.php index ba754ec3321..e5903ee5863 100644 --- a/htdocs/fichinter/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fichinter/tpl/linkedobjectblock.tpl.php @@ -22,7 +22,7 @@ if (empty($conf) || !is_object($conf)) { } -print "\n"; +print "\n"; global $user; @@ -50,7 +50,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) { datev, 'day'); ?> getLibStatut(3); ?> - ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> + ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> \n"; + print "Please run dolibarr setup by calling page /install.
    \n"; + exit; +} + + +// Included by default (must be before the CSRF check so wa can use the dol_syslog) +include_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php'; +include_once DOL_DOCUMENT_ROOT.'/core/lib/security.lib.php'; +//print memory_get_usage(); + + // Security: CSRF protection // This test check if referrer ($_SERVER['HTTP_REFERER']) is same web site than Dolibarr ($_SERVER['HTTP_HOST']) // when we post forms (we allow GET and HEAD to accept direct link from a particular page). @@ -196,6 +211,7 @@ if (!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck)) { if ($csrfattack) { //print 'NOCSRFCHECK='.defined('NOCSRFCHECK').' REQUEST_METHOD='.$_SERVER['REQUEST_METHOD'].' HTTP_HOST='.$_SERVER['HTTP_HOST'].' HTTP_REFERER='.$_SERVER['HTTP_REFERER']; // Note: We can't use dol_escape_htmltag here to escape output because lib functions.lib.ph is not yet loaded. + dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"])?'':$_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused by CSRF protection (Bad referer).", LOG_WARNING); print "Access refused by CSRF protection in main.inc.php. Referer of form (".htmlentities($_SERVER['HTTP_REFERER'], ENT_COMPAT, 'UTF-8').") is outside the server that serve this page (with method = ".htmlentities($_SERVER['REQUEST_METHOD'], ENT_COMPAT, 'UTF-8').").\n"; print "If you access your server behind a proxy using url rewriting, you might check that all HTTP headers are propagated (or add the line \$dolibarr_nocsrfcheck=1 into your conf.php file to remove this security check).\n"; die; @@ -227,7 +243,6 @@ if (empty($dolibarr_main_data_root)) { // Define some constants define('DOL_CLASS_PATH', 'class/'); // Filesystem path to class dir (defined only for some code that want to be compatible with old versions without this parameter) define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem data (documents) -define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem core php (htdocs) // Try to autodetect DOL_MAIN_URL_ROOT and DOL_URL_ROOT. // Note: autodetect works only in case 1, 2, 3 and 4 of phpunit test CoreTest.php. For case 5, 6, only setting value into conf.php will works. $tmp = ''; @@ -332,18 +347,6 @@ if (!defined('ADODB_DATE_VERSION')) { include_once ADODB_PATH.'adodb-time.inc.php'; } -if (!file_exists(DOL_DOCUMENT_ROOT."/core/lib/functions.lib.php")) { - print "Error: Dolibarr config file content seems to be not correctly defined.
    \n"; - print "Please run dolibarr setup by calling page /install.
    \n"; - exit; -} - - -// Included by default -include_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php'; -include_once DOL_DOCUMENT_ROOT.'/core/lib/security.lib.php'; -//print memory_get_usage(); - // If password is encoded, we decode it. Note: When page is called for install, $dolibarr_main_db_pass may not be defined yet. if ((!empty($dolibarr_main_db_pass) && preg_match('/crypted:/i', $dolibarr_main_db_pass)) || !empty($dolibarr_main_db_encrypted_pass)) { if (!empty($dolibarr_main_db_pass) && preg_match('/crypted:/i', $dolibarr_main_db_pass)) { diff --git a/htdocs/fourn/ajax/getSupplierPrices.php b/htdocs/fourn/ajax/getSupplierPrices.php index e0cd9beff0c..889484cec44 100644 --- a/htdocs/fourn/ajax/getSupplierPrices.php +++ b/htdocs/fourn/ajax/getSupplierPrices.php @@ -43,7 +43,7 @@ $idprod = GETPOST('idprod', 'int'); $prices = array(); // Load translation files required by the page -$langs->loadLangs(array("stocks", "margins")); +$langs->loadLangs(array("stocks", "margins", "products")); /* diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index 866fd31318e..67ed2d4e741 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -54,7 +54,7 @@ $langs->loadLangs(array( )); $action = GETPOST('action', 'aZ09'); -$cancelbutton = GETPOST('cancel', 'alpha'); +$cancel = GETPOST('cancel', 'alpha'); // Security check $id = (GETPOST('socid', 'int') ? GETPOST('socid', 'int') : GETPOST('id', 'int')); @@ -73,7 +73,7 @@ $extrafields->fetch_name_optionals_label($object->table_element); $hookmanager->initHooks(array('suppliercard', 'globalcard')); // Security check -$result = restrictedArea($user, 'societe', $socid, '&societe', '', 'fk_soc', 'rowid', 0); +$result = restrictedArea($user, 'societe', $id, '&societe', '', 'fk_soc', 'rowid', 0); if ($object->id > 0) { if (!($object->fournisseur > 0) || empty($user->rights->fournisseur->lire)) { @@ -93,7 +93,7 @@ if ($reshook < 0) { } if (empty($reshook)) { - if ($cancelbutton) { + if ($cancel) { $action = ""; } @@ -212,7 +212,7 @@ if ($object->id > 0) { print showValueWithClipboardCPButton(dol_escape_htmltag($object->code_fournisseur)); $tmpcheck = $object->check_codefournisseur(); if ($tmpcheck != 0 && $tmpcheck != -5) { - print ' ('.$langs->trans("WrongSupplierCode").')'; + print ' ('.$langs->trans("WrongSupplierCode").')'; } print ''; print ''; @@ -261,7 +261,7 @@ if ($object->id > 0) { print $langs->trans('PaymentConditions'); print ''; if (($action != 'editconditions') && $user->rights->societe->creer) { - print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).''; } print ''; print ''; @@ -279,7 +279,7 @@ if ($object->id > 0) { print $langs->trans('PaymentMode'); print ''; if (($action != 'editmode') && $user->rights->societe->creer) { - print 'id.'">'.img_edit($langs->trans('SetMode'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetMode'), 1).''; } print ''; print ''; @@ -385,7 +385,7 @@ if ($object->id > 0) { $boxstat .= ''; $boxstat .= ''; } @@ -1734,7 +1760,7 @@ if ($action == 'create') { print ''; $newclassname = $classname; - print ''; + print ''; print ''; print '"; if ($mysoc->localtax1_assuj == "1" || $objectsrc->total_localtax1 != 0) { // Localtax1 RE @@ -1760,7 +1786,7 @@ if ($action == 'create') { print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit'); + print $object->showOptionals($extrafields, 'create'); } // Bouton "Create Draft" @@ -1768,13 +1794,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; - - + print $form->buttonsSaveCancel("CreateDraft"); // Show origin lines if (!empty($origin) && !empty($originid) && is_object($objectsrc)) { @@ -1889,13 +1909,13 @@ if ($action == 'create') { $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=".$object->id, $langs->trans("ApproveThisOrder"), $text, "confirm_".$action, $formquestion, 1, 1, 240); } - // Confirmation de la desapprobation + // Confirmation of disapproval if ($action == 'refuse') { $formquestion = array( array( 'type' => 'text', 'name' => 'refuse_note', - 'label' => $langs->trans("MotifCP"), + 'label' => $langs->trans("Reason"), 'value' => '', 'morecss' => 'minwidth300' ) @@ -1903,9 +1923,18 @@ if ($action == 'create') { $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=$object->id", $langs->trans("DenyingThisOrder"), $langs->trans("ConfirmDenyingThisOrder", $object->ref), "confirm_refuse", $formquestion, 0, 1); } - // Confirmation de l'annulation + // Confirmation of cancellation if ($action == 'cancel') { - $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=$object->id", $langs->trans("Cancel"), $langs->trans("ConfirmCancelThisOrder", $object->ref), "confirm_cancel", '', 0, 1); + $formquestion = array( + array( + 'type' => 'text', + 'name' => 'cancel_note', + 'label' => $langs->trans("Reason"), + 'value' => '', + 'morecss' => 'minwidth300' + ) + ); + $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=$object->id", $langs->trans("Cancel"), $langs->trans("ConfirmCancelThisOrder", $object->ref), "confirm_cancel", $formquestion, 0, 1); } // Confirmation de l'envoi de la commande @@ -1952,9 +1981,9 @@ if ($action == 'create') { } if (empty($conf->global->MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER) || $action != 'edit_thirdparty') { if (!empty($conf->global->MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER) && $object->statut == CommandeFournisseur::STATUS_DRAFT) { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetThirdParty')).''; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetThirdParty')).''; } - $morehtmlref .= ' : '.$object->thirdparty->getNomUrl(1); + $morehtmlref .= ' : '.$object->thirdparty->getNomUrl(1, 'supplier'); if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) { $morehtmlref .= ' ('.$langs->trans("OtherOrders").')'; } @@ -1965,8 +1994,8 @@ if ($action == 'create') { $langs->load("projects"); $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($usercancreate) { - if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + if ($action != 'classify' && $caneditproject) { + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -2052,7 +2081,7 @@ if ($action == 'create') { print $langs->trans('PaymentConditions'); print ''; + print ''; } print '
    '; - if ($conf->supplier_proposal->enabled) { + if (!empty($conf->supplier_proposal->enabled)) { // Box proposals $tmp = $object->getOutstandingProposals('supplier'); $outstandingOpened = $tmp['opened']; @@ -428,6 +428,7 @@ if ($object->id > 0) { } if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_invoice->enabled)) { + $warn = ''; $tmp = $object->getOutstandingBills('supplier'); $outstandingOpened = $tmp['opened']; $outstandingTotal = $tmp['total_ht']; @@ -519,7 +520,7 @@ if ($object->id > 0) { $sql .= ' FROM '.MAIN_DB_PREFIX.'product_fournisseur_price as pfp'; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = pfp.fk_product"; $sql .= ' WHERE p.entity IN ('.getEntity('product').')'; - $sql .= ' AND pfp.fk_soc = '.$object->id; + $sql .= ' AND pfp.fk_soc = '.((int) $object->id); $sql .= $db->order('pfp.tms', 'desc'); $sql .= $db->plimit($MAXLIST); @@ -584,12 +585,12 @@ if ($object->id > 0) { */ $proposalstatic = new SupplierProposal($db); - if ($user->rights->supplier_proposal->lire) { + if (!empty($user->rights->supplier_proposal->lire)) { $langs->loadLangs(array("supplier_proposal")); $sql = "SELECT p.rowid, p.ref, p.date_valid as dc, p.fk_statut, p.total_ht, p.total_tva, p.total_ttc"; $sql .= " FROM ".MAIN_DB_PREFIX."supplier_proposal as p "; - $sql .= " WHERE p.fk_soc =".$object->id; + $sql .= " WHERE p.fk_soc = ".((int) $object->id); $sql .= " AND p.entity IN (".getEntity('supplier_proposal').")"; $sql .= " ORDER BY p.date_valid DESC"; $sql .= $db->plimit($MAXLIST); @@ -658,7 +659,7 @@ if ($object->id > 0) { $sql2 .= ', '.MAIN_DB_PREFIX.'commande_fournisseur as c'; $sql2 .= ' WHERE c.fk_soc = s.rowid'; $sql2 .= " AND c.entity IN (".getEntity('commande_fournisseur').")"; - $sql2 .= ' AND s.rowid = '.$object->id; + $sql2 .= ' AND s.rowid = '.((int) $object->id); // Show orders we can bill if (empty($conf->global->SUPPLIER_ORDER_TO_INVOICE_STATUS)) { $sql2 .= " AND c.fk_statut IN (".$db->sanitize(CommandeFournisseur::STATUS_RECEIVED_COMPLETELY).")"; // Must match filter in htdocs/fourn/commande/list.php @@ -681,7 +682,7 @@ if ($object->id > 0) { // TODO move to DAO class $sql = "SELECT count(p.rowid) as total"; $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as p"; - $sql .= " WHERE p.fk_soc =".$object->id; + $sql .= " WHERE p.fk_soc = ".((int) $object->id); $sql .= " AND p.entity IN (".getEntity('commande_fournisseur').")"; $resql = $db->query($sql); if ($resql) { @@ -691,7 +692,7 @@ if ($object->id > 0) { $sql = "SELECT p.rowid,p.ref, p.date_commande as dc, p.fk_statut, p.total_ht, p.total_tva, p.total_ttc"; $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as p"; - $sql .= " WHERE p.fk_soc =".$object->id; + $sql .= " WHERE p.fk_soc = ".((int) $object->id); $sql .= " AND p.entity IN (".getEntity('commande_fournisseur').")"; $sql .= " ORDER BY p.date_commande DESC"; $sql .= $db->plimit($MAXLIST); @@ -758,7 +759,7 @@ if ($object->id > 0) { $sql .= ' SUM(pf.amount) as am'; $sql .= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as f'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON f.rowid=pf.fk_facturefourn'; - $sql .= ' WHERE f.fk_soc = '.$object->id; + $sql .= ' WHERE f.fk_soc = '.((int) $object->id); $sql .= " AND f.entity IN (".getEntity('facture_fourn').")"; $sql .= ' GROUP BY f.rowid,f.libelle,f.ref,f.ref_supplier,f.fk_statut,f.datef,f.total_ht,f.total_tva,f.total_ttc,f.paye'; $sql .= ' ORDER BY f.datef DESC'; @@ -831,7 +832,7 @@ if ($object->id > 0) { print ''; } - if ($conf->supplier_proposal->enabled && $user->rights->supplier_proposal->creer) { + if (!empty($conf->supplier_proposal->enabled) && !empty($user->rights->supplier_proposal->creer)) { $langs->load("supplier_proposal"); if ($object->status == 1) { print ''.$langs->trans("AddSupplierProposal").''; diff --git a/htdocs/fourn/class/api_supplier_orders.class.php b/htdocs/fourn/class/api_supplier_orders.class.php index d4eedcd0fd9..f221035a2ab 100644 --- a/htdocs/fourn/class/api_supplier_orders.class.php +++ b/htdocs/fourn/class/api_supplier_orders.class.php @@ -224,7 +224,7 @@ class SupplierOrders extends DolibarrApi */ public function post($request_data = null) { - if (!DolibarrApiAccess::$user->rights->fournisseur->commande->creer || !DolibarrApiAccess::$user->rights->supplier_order->creer) { + if (empty(DolibarrApiAccess::$user->rights->fournisseur->commande->creer) && empty(DolibarrApiAccess::$user->rights->supplier_order->creer)) { throw new RestException(401, "Insuffisant rights"); } // Check mandatory fields @@ -260,7 +260,7 @@ class SupplierOrders extends DolibarrApi */ public function put($id, $request_data = null) { - if (!DolibarrApiAccess::$user->rights->fournisseur->commande->creer || !DolibarrApiAccess::$user->rights->supplier_order->creer) { + if (empty(DolibarrApiAccess::$user->rights->fournisseur->commande->creer) && empty(DolibarrApiAccess::$user->rights->supplier_order->creer)) { throw new RestException(401); } @@ -340,7 +340,7 @@ class SupplierOrders extends DolibarrApi */ public function validate($id, $idwarehouse = 0, $notrigger = 0) { - if (!DolibarrApiAccess::$user->rights->fournisseur->commande->creer || !DolibarrApiAccess::$user->rights->supplier_order->creer) { + if (empty(DolibarrApiAccess::$user->rights->fournisseur->commande->creer) && empty(DolibarrApiAccess::$user->rights->supplier_order->creer)) { throw new RestException(401); } $result = $this->order->fetch($id); diff --git a/htdocs/fourn/class/fournisseur.class.php b/htdocs/fourn/class/fournisseur.class.php index 1ab1095a191..805ed7c1ba6 100644 --- a/htdocs/fourn/class/fournisseur.class.php +++ b/htdocs/fourn/class/fournisseur.class.php @@ -59,7 +59,7 @@ class Fournisseur extends Societe { $sql = "SELECT rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as cf"; - $sql .= " WHERE cf.fk_soc = ".$this->id; + $sql .= " WHERE cf.fk_soc = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -86,7 +86,7 @@ class Fournisseur extends Societe $sql = "SELECT count(pfp.rowid) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql .= " WHERE pfp.entity = ".$conf->entity; - $sql .= " AND pfp.fk_soc = ".$this->id; + $sql .= " AND pfp.fk_soc = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -115,7 +115,7 @@ class Fournisseur extends Societe $sql .= " FROM ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$user->socid) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; - $sql .= " WHERE sc.fk_user = ".$user->id; + $sql .= " WHERE sc.fk_user = ".((int) $user->id); $clause = "AND"; } $sql .= " ".$clause." s.fournisseur = 1"; @@ -184,7 +184,7 @@ class Fournisseur extends Societe $sql .= " WHERE s.fournisseur = 1"; $sql .= " AND s.entity IN (".getEntity('societe').")"; if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $resql = $this->db->query($sql); diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index daa943ffee9..5da4ad4b08b 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -11,6 +11,7 @@ * Copyright (C) 2018 Nicolas ZABOURI * Copyright (C) 2018-2020 Frédéric France * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2021 Josep Lluís Amador * * 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 @@ -111,6 +112,7 @@ class CommandeFournisseur extends CommonOrder public $socid; public $fourn_id; public $date; + public $date_creation; public $date_valid; public $date_approve; public $date_approve2; // Used when SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED is set @@ -374,11 +376,16 @@ class CommandeFournisseur extends CommonOrder $this->total_localtax1 = $obj->localtax1; $this->total_localtax2 = $obj->localtax2; $this->total_ttc = $obj->total_ttc; - $this->date = $this->db->jdate($obj->date_creation); + $this->date_creation = $this->db->jdate($obj->date_creation); $this->date_valid = $this->db->jdate($obj->date_valid); $this->date_approve = $this->db->jdate($obj->date_approve); $this->date_approve2 = $this->db->jdate($obj->date_approve2); $this->date_commande = $this->db->jdate($obj->date_commande); // date we make the order to supplier + if (isset($obj->date_commande)) { + $this->date = $this->date_commande; + } else { + $this->date = $this->date_creation; + } $this->date_livraison = $this->db->jdate($obj->delivery_date); // deprecated $this->delivery_date = $this->db->jdate($obj->delivery_date); $this->remise_percent = $obj->remise_percent; @@ -460,7 +467,7 @@ class CommandeFournisseur extends CommonOrder $sql .= " l.vat_src_code, l.tva_tx, l.remise_percent, l.subprice,"; $sql .= " l.localtax1_tx, l. localtax2_tx, l.localtax1_type, l. localtax2_type, l.total_localtax1, l.total_localtax2,"; $sql .= " l.total_ht, l.total_tva, l.total_ttc, l.special_code, l.fk_parent_line, l.rang,"; - $sql .= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.description as product_desc,"; + $sql .= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.description as product_desc, p.tobatch as product_tobatch, p.barcode as product_barcode,"; $sql .= " l.fk_unit,"; $sql .= " l.date_start, l.date_end,"; $sql .= ' l.fk_multicurrency, l.multicurrency_code, l.multicurrency_subprice, l.multicurrency_total_ht, l.multicurrency_total_tva, l.multicurrency_total_ttc'; @@ -470,9 +477,9 @@ class CommandeFournisseur extends CommonOrder $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product = p.rowid'; if (!empty($conf->global->PRODUCT_USE_SUPPLIER_PACKAGING)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON l.fk_product = pfp.fk_product and l.ref = pfp.ref_fourn"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON l.fk_product = pfp.fk_product and l.ref = pfp.ref_fourn AND pfp.fk_soc = ".((int) $this->socid); } - $sql .= " WHERE l.fk_commande = ".$this->id; + $sql .= " WHERE l.fk_commande = ".((int) $this->id); if ($only_product) { $sql .= ' AND p.fk_product_type = 0'; } @@ -516,6 +523,8 @@ class CommandeFournisseur extends CommonOrder $line->libelle = $objp->product_label; // deprecated $line->product_label = $objp->product_label; $line->product_desc = $objp->product_desc; + $line->product_tobatch = $objp->product_tobatch; + $line->product_barcode = $objp->product_barcode; $line->ref = $objp->product_ref; // Ref of product $line->product_ref = $objp->product_ref; // Ref of product @@ -598,8 +607,8 @@ class CommandeFournisseur extends CommonOrder $sql .= " SET ref='".$this->db->escape($num)."',"; $sql .= " fk_statut = ".self::STATUS_VALIDATED.","; $sql .= " date_valid='".$this->db->idate(dol_now())."',"; - $sql .= " fk_user_valid = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " fk_user_valid = ".((int) $user->id); + $sql .= " WHERE rowid = ".((int) $this->id); $sql .= " AND fk_statut = ".self::STATUS_DRAFT; $resql = $this->db->query($sql); @@ -624,7 +633,7 @@ class CommandeFournisseur extends CommonOrder if (preg_match('/^[\(]?PROV/i', $this->ref)) { // Now we rename also files into index $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'fournisseur/commande/".$this->db->escape($this->newref)."'"; - $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'fournisseur/commande/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'fournisseur/commande/".$this->db->escape($this->ref)."' and entity = ".((int) $conf->entity); $resql = $this->db->query($sql); if (!$resql) { $error++; $this->error = $this->db->lasterror(); @@ -927,7 +936,7 @@ class CommandeFournisseur extends CommonOrder $this->db->begin(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur SET billed = 1'; - $sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > '.self::STATUS_DRAFT; + $sql .= " WHERE rowid = ".((int) $this->id).' AND fk_statut > '.self::STATUS_DRAFT; if ($this->db->query($sql)) { if (!$error) { @@ -1008,7 +1017,7 @@ class CommandeFournisseur extends CommonOrder } else // request a second level approval { $sql .= " date_approve2='".$this->db->idate($now)."',"; - $sql .= " fk_user_approve2 = ".$user->id; + $sql .= " fk_user_approve2 = ".((int) $user->id); if (empty($this->user_approve_id)) { $movetoapprovestatus = false; // first level approval not done } @@ -1020,7 +1029,7 @@ class CommandeFournisseur extends CommonOrder } else { $sql .= ", fk_statut = ".self::STATUS_VALIDATED; } - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $sql .= " AND fk_statut = ".self::STATUS_VALIDATED; if ($this->db->query($sql)) { @@ -1118,7 +1127,7 @@ class CommandeFournisseur extends CommonOrder $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = ".self::STATUS_REFUSED; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); if ($this->db->query($sql)) { $result = 0; @@ -1170,7 +1179,7 @@ class CommandeFournisseur extends CommonOrder $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = ".((int) $statut); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::cancel", LOG_DEBUG); if ($this->db->query($sql)) { $result = 0; @@ -1332,14 +1341,14 @@ class CommandeFournisseur extends CommonOrder $sql .= ", '".$this->db->escape($this->ref_supplier)."'"; $sql .= ", '".$this->db->escape($this->note_private)."'"; $sql .= ", '".$this->db->escape($this->note_public)."'"; - $sql .= ", ".$conf->entity; - $sql .= ", ".$this->socid; - $sql .= ", ".($this->fk_project > 0 ? $this->fk_project : "null"); + $sql .= ", ".((int) $conf->entity); + $sql .= ", ".((int) $this->socid); + $sql .= ", ".($this->fk_project > 0 ? ((int) $this->fk_project) : "null"); $sql .= ", '".$this->db->idate($date)."'"; $sql .= ", ".($delivery_date ? "'".$this->db->idate($delivery_date)."'" : "null"); - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); $sql .= ", ".self::STATUS_DRAFT; - $sql .= ", ".$this->db->escape($this->source); + $sql .= ", ".((int) $this->source); $sql .= ", '".$this->db->escape($conf->global->COMMANDE_SUPPLIER_ADDON_PDF)."'"; $sql .= ", ".($this->mode_reglement_id > 0 ? $this->mode_reglement_id : 'null'); $sql .= ", ".($this->cond_reglement_id > 0 ? $this->cond_reglement_id : 'null'); @@ -2096,7 +2105,7 @@ class CommandeFournisseur extends CommonOrder $main = MAIN_DB_PREFIX.'commande_fournisseurdet'; $ef = $main."_extrafields"; - $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_commande = ".$this->id.")"; + $sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_commande = ".((int) $this->id).")"; dol_syslog(get_class($this)."::delete extrafields lines", LOG_DEBUG); if (!$this->db->query($sql)) { $this->error = $this->db->lasterror(); @@ -2104,7 +2113,7 @@ class CommandeFournisseur extends CommonOrder $error++; } - $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE fk_commande =".$this->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE fk_commande =".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); if (!$this->db->query($sql)) { $this->error = $this->db->lasterror(); @@ -2112,7 +2121,7 @@ class CommandeFournisseur extends CommonOrder $error++; } - $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseur WHERE rowid =".$this->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseur WHERE rowid =".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); if ($resql = $this->db->query($sql)) { if ($this->db->affected_rows($resql) < 1) { @@ -2233,10 +2242,10 @@ class CommandeFournisseur extends CommonOrder $sql .= " FROM ".MAIN_DB_PREFIX."product as p,"; $sql .= " ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."entrepot as e ON cfd.fk_entrepot = e.rowid"; - $sql .= " WHERE cfd.fk_commande = ".$this->id; + $sql .= " WHERE cfd.fk_commande = ".((int) $this->id); $sql .= " AND cfd.fk_product = p.rowid"; if ($status >= 0) { - $sql .= " AND cfd.status = ".$status; + $sql .= " AND cfd.status = ".((int) $status); } $sql .= " ORDER BY cfd.rowid ASC"; @@ -2332,7 +2341,7 @@ class CommandeFournisseur extends CommonOrder $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; $sql .= " SET fk_statut = ".((int) $statut); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $sql .= " AND fk_statut IN (".self::STATUS_ORDERSENT.",".self::STATUS_RECEIVED_PARTIALLY.")"; // Process running or Partially received dol_syslog(get_class($this)."::Livraison", LOG_DEBUG); @@ -2406,7 +2415,7 @@ class CommandeFournisseur extends CommonOrder $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; $sql .= " SET date_livraison = ".($delivery_date ? "'".$this->db->idate($delivery_date)."'" : 'null'); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); @@ -2465,7 +2474,7 @@ class CommandeFournisseur extends CommonOrder $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; $sql .= " SET fk_projet = ".($id_projet > 0 ? (int) $id_projet : 'null'); - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); @@ -2534,10 +2543,10 @@ class CommandeFournisseur extends CommonOrder $sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseurdet"; $sql .= " (fk_commande, label, description, fk_product, price, qty, tva_tx, localtax1_tx, localtax2_tx, remise_percent, subprice, remise, ref)"; - $sql .= " VALUES (".$idc.", '".$this->db->escape($label)."', ".$this->db->escape($comclient->lines[$i]->desc); - $sql .= ",".$comclient->lines[$i]->fk_product.", ".price2num($comclient->lines[$i]->price); - $sql .= ", ".$comclient->lines[$i]->qty.", ".$comclient->lines[$i]->tva_tx.", ".$comclient->lines[$i]->localtax1_tx.", ".$comclient->lines[$i]->localtax2_tx.", ".$comclient->lines[$i]->remise_percent; - $sql .= ", '".price2num($comclient->lines[$i]->subprice)."','0', '".$this->db->escape($ref)."');"; + $sql .= " VALUES (".((int) $idc).", '".$this->db->escape($label)."', '".$this->db->escape($comclient->lines[$i]->desc)."'"; + $sql .= ",".$comclient->lines[$i]->fk_product.", ".price2num($comclient->lines[$i]->price, 'MU'); + $sql .= ", ".price2num($comclient->lines[$i]->qty, 'MS').", ".price2num($comclient->lines[$i]->tva_tx, 5).", ".price2num($comclient->lines[$i]->localtax1_tx, 5).", ".price2num($comclient->lines[$i]->localtax2_tx, 5).", ".price2num($comclient->lines[$i]->remise_percent, 3); + $sql .= ", '".price2num($comclient->lines[$i]->subprice, 'MT')."','0', '".$this->db->escape($ref)."');"; if ($this->db->query($sql)) { $this->update_price(); } @@ -2561,8 +2570,8 @@ class CommandeFournisseur extends CommonOrder $this->db->begin(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur'; - $sql .= ' SET fk_statut='.$status; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " SET fk_statut = ".$status; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::setStatus", LOG_DEBUG); $resql = $this->db->query($sql); @@ -2927,11 +2936,11 @@ class CommandeFournisseur extends CommonOrder $this->user_approve_id2 = $obj->fk_user_approve2; } - $this->date_creation = $this->db->idate($obj->datec); - $this->date_modification = $this->db->idate($obj->datem); - $this->date_approve = $this->db->idate($obj->datea); - $this->date_approve2 = $this->db->idate($obj->datea2); - $this->date_validation = $this->db->idate($obj->date_validation); + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_approve = $this->db->jdate($obj->datea); + $this->date_approve2 = $this->db->jdate($obj->datea2); + $this->date_validation = $this->db->jdate($obj->date_validation); } $this->db->free($result); } else { @@ -2958,10 +2967,10 @@ class CommandeFournisseur extends CommonOrder $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON co.fk_soc = s.rowid"; if (!$user->rights->societe->client->voir && !$user->socid) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; - $sql .= " WHERE sc.fk_user = ".$user->id; + $sql .= " WHERE sc.fk_user = ".((int) $user->id); $clause = "AND"; } - $sql .= " ".$clause." co.entity = ".$conf->entity; + $sql .= " ".$clause." co.entity IN (".getEntity('supplier_order').")"; $resql = $this->db->query($sql); if ($resql) { @@ -2996,7 +3005,7 @@ class CommandeFournisseur extends CommonOrder $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as c"; if (!$user->rights->societe->client->voir && !$user->socid) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON c.fk_soc = sc.fk_soc"; - $sql .= " WHERE sc.fk_user = ".$user->id; + $sql .= " WHERE sc.fk_user = ".((int) $user->id); $clause = " AND"; } $sql .= $clause." c.entity = ".$conf->entity; @@ -3006,7 +3015,7 @@ class CommandeFournisseur extends CommonOrder $sql .= " AND c.fk_statut IN (".self::STATUS_VALIDATED.", ".self::STATUS_ACCEPTED.")"; } if ($user->socid) { - $sql .= " AND c.fk_soc = ".$user->socid; + $sql .= " AND c.fk_soc = ".((int) $user->socid); } $resql = $this->db->query($sql); @@ -3017,13 +3026,13 @@ class CommandeFournisseur extends CommonOrder $response->warning_delay = $conf->commande->fournisseur->warning_delay / 60 / 60 / 24; $response->label = $langs->trans("SuppliersOrdersToProcess"); $response->labelShort = $langs->trans("Opened"); - $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?statut=1,2&mainmenu=commercial&leftmenu=orders_suppliers'; + $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?search_status=1,2&mainmenu=commercial&leftmenu=orders_suppliers'; $response->img = img_object('', "order"); if ($mode === 'awaiting') { $response->label = $langs->trans("SuppliersOrdersAwaitingReception"); $response->labelShort = $langs->trans("AwaitingReception"); - $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?statut=3,4&mainmenu=commercial&leftmenu=orders_suppliers'; + $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?search_status=3,4&mainmenu=commercial&leftmenu=orders_suppliers'; } while ($obj = $this->db->fetch_object($resql)) { @@ -3292,7 +3301,6 @@ class CommandeFournisseur extends CommonOrder $keysinwishednotindelivered = array_diff(array_keys($qtywished), array_keys($qtydelivered)); // To check we also have same number of keys $keysindeliverednotinwished = array_diff(array_keys($qtydelivered), array_keys($qtywished)); // To check we also have same number of keys /*var_dump(array_keys($qtydelivered)); - var_dump(array_keys($qtywished)); var_dump($diff_array); var_dump($keysinwishednotindelivered); @@ -3396,12 +3404,12 @@ class CommandeFournisseur extends CommonOrder $sql .= ' cfd.fk_reception = e.rowid AND'; } $sql .= ' cfd.fk_commandefourndet = cd.rowid'; - $sql .= ' AND cd.fk_commande ='.$this->id; + $sql .= ' AND cd.fk_commande ='.((int) $this->id); if ($this->fk_product > 0) { - $sql .= ' AND cd.fk_product = '.$this->fk_product; + $sql .= ' AND cd.fk_product = '.((int) $this->fk_product); } if ($filtre_statut >= 0) { - $sql .= ' AND e.fk_statut >= '.$filtre_statut; + $sql .= ' AND e.fk_statut >= '.((int) $filtre_statut); } $sql .= ' GROUP BY cd.rowid, cd.fk_product'; @@ -3787,7 +3795,7 @@ class CommandeFournisseurLigne extends CommonOrderLine $sql .= ", multicurrency_total_tva=".price2num($this->multicurrency_total_tva).""; $sql .= ", multicurrency_total_ttc=".price2num($this->multicurrency_total_ttc).""; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::updateline", LOG_DEBUG); $result = $this->db->query($sql); diff --git a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php index 5457a9ee376..a73be8ac43b 100644 --- a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php +++ b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php @@ -31,7 +31,7 @@ require_once DOL_DOCUMENT_ROOT."/reception/class/reception.class.php"; /** * Class to manage table commandefournisseurdispatch */ -class CommandeFournisseurDispatch extends CommonObject +class CommandeFournisseurDispatch extends CommonObjectLine { /** * @var DoliDB Database handler. @@ -103,6 +103,7 @@ class CommandeFournisseurDispatch extends CommonObject public $batch; public $eatby = ''; public $sellby = ''; + public $cost_price = 0; @@ -189,7 +190,8 @@ class CommandeFournisseurDispatch extends CommonObject $sql .= "batch,"; $sql .= "eatby,"; $sql .= "sellby,"; - $sql .= "fk_reception"; + $sql .= "fk_reception,"; + $sql .= "cost_price"; $sql .= ") VALUES ("; @@ -205,7 +207,8 @@ class CommandeFournisseurDispatch extends CommonObject $sql .= " ".(!isset($this->batch) ? 'NULL' : "'".$this->db->escape($this->batch)."'").","; $sql .= " ".(!isset($this->eatby) || dol_strlen($this->eatby) == 0 ? 'NULL' : "'".$this->db->idate($this->eatby)."'").","; $sql .= " ".(!isset($this->sellby) || dol_strlen($this->sellby) == 0 ? 'NULL' : "'".$this->db->idate($this->sellby)."'").","; - $sql .= " ".(!isset($this->fk_reception) ? 'NULL' : "'".$this->db->escape($this->fk_reception)."'").""; + $sql .= " ".(!isset($this->fk_reception) ? 'NULL' : "'".$this->db->escape($this->fk_reception)."'").","; + $sql .= " ".(!isset($this->cost_price) ? '0' : "'".$this->db->escape($this->cost_price)."'").""; $sql .= ")"; $this->db->begin(); @@ -220,13 +223,12 @@ class CommandeFournisseurDispatch extends CommonObject $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element); if (!$notrigger) { - // Uncomment this and change MYOBJECT to your own tag if you - // want this action calls a trigger. - - //// Call triggers - //$result=$this->call_trigger('MYOBJECT_CREATE',$user); - //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} - //// End call triggers + // Call triggers + $result=$this->call_trigger('LINERECEPTION_CREATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers } } @@ -667,25 +669,25 @@ class CommandeFournisseurDispatch extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.comment') { - $sqlwhere [] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere [] = $key." LIKE '%".$this->db->escape($value)."%'"; } elseif ($key == 't.datec' || $key == 't.tms' || $key == 't.eatby' || $key == 't.sellby' || $key == 't.batch') { - $sqlwhere [] = $key.' = \''.$this->db->escape($value).'\''; + $sqlwhere [] = $key." = '".$this->db->escape($value)."'"; } elseif ($key == 'qty') { - $sqlwhere [] = $key.' = '.((float) $value); + $sqlwhere [] = $key." = ".((float) $value); } else { - $sqlwhere [] = $key.' = '.((int) $value); + $sqlwhere [] = $key." = ".((int) $value); } } } if (count($sqlwhere) > 0) { - $sql .= ' WHERE '.implode(' '.$filtermode.' ', $sqlwhere); + $sql .= ' WHERE '.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere); } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $this->lines = array(); diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 3c6151ef349..dbf33b6cd69 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -438,19 +438,19 @@ class FactureFournisseur extends CommonInvoice $sql .= " VALUES ("; $sql .= "'(PROV)'"; $sql .= ", '".$this->db->escape($this->ref_supplier)."'"; - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $conf->entity); $sql .= ", '".$this->db->escape($this->type)."'"; $sql .= ", '".$this->db->escape(isset($this->label) ? $this->label : (isset($this->libelle) ? $this->libelle : ''))."'"; - $sql .= ", ".$this->socid; + $sql .= ", ".((int) $this->socid); $sql .= ", '".$this->db->idate($now)."'"; $sql .= ", '".$this->db->idate($this->date)."'"; - $sql .= ", ".($this->fk_project > 0 ? $this->fk_project : "null"); - $sql .= ", ".($this->cond_reglement_id > 0 ? $this->cond_reglement_id : "null"); - $sql .= ", ".($this->mode_reglement_id > 0 ? $this->mode_reglement_id : "null"); - $sql .= ", ".($this->fk_account > 0 ? $this->fk_account : 'NULL'); + $sql .= ", ".($this->fk_project > 0 ? ((int) $this->fk_project) : "null"); + $sql .= ", ".($this->cond_reglement_id > 0 ? ((int) $this->cond_reglement_id) : "null"); + $sql .= ", ".($this->mode_reglement_id > 0 ? ((int) $this->mode_reglement_id) : "null"); + $sql .= ", ".($this->fk_account > 0 ? ((int) $this->fk_account) : 'NULL'); $sql .= ", '".$this->db->escape($this->note_private)."'"; $sql .= ", '".$this->db->escape($this->note_public)."'"; - $sql .= ", ".$user->id.","; + $sql .= ", ".((int) $user->id).","; $sql .= $this->date_echeance != '' ? "'".$this->db->idate($this->date_echeance)."'" : "null"; $sql .= ", ".(int) $this->fk_incoterms; $sql .= ", '".$this->db->escape($this->location_incoterms)."'"; @@ -506,7 +506,7 @@ class FactureFournisseur extends CommonInvoice dol_syslog("There is ".count($this->lines)." lines that are invoice lines objects"); foreach ($this->lines as $i => $val) { $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn_det (fk_facture_fourn, special_code, fk_remise_except)'; - $sql .= ' VALUES ('.$this->id.','.intval($this->lines[$i]->special_code).','.($this->lines[$i]->fk_remise_except > 0 ? $this->lines[$i]->fk_remise_except : 'NULL').')'; + $sql .= " VALUES (".((int) $this->id).", ".((int) $this->lines[$i]->special_code).", ".($this->lines[$i]->fk_remise_except > 0 ? ((int) $this->lines[$i]->fk_remise_except) : 'NULL').')'; $resql_insert = $this->db->query($sql); if ($resql_insert) { @@ -530,7 +530,8 @@ class FactureFournisseur extends CommonInvoice $this->lines[$i]->date_end, $this->lines[$i]->array_options, $this->lines[$i]->fk_unit, - $this->lines[$i]->multicurrency_subprice + $this->lines[$i]->multicurrency_subprice, + $this->lines[$i]->ref_supplier ); } else { $this->error = $this->db->lasterror(); @@ -551,7 +552,7 @@ class FactureFournisseur extends CommonInvoice } $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn_det (fk_facture_fourn, special_code, fk_remise_except)'; - $sql .= ' VALUES ('.$this->id.','.intval($this->lines[$i]->special_code).','.($this->lines[$i]->fk_remise_except > 0 ? $this->lines[$i]->fk_remise_except : 'NULL').')'; + $sql .= " VALUES (".((int) $this->id).", ".((int) $this->lines[$i]->special_code).", ".($this->lines[$i]->fk_remise_except > 0 ? ((int) $this->lines[$i]->fk_remise_except) : 'NULL').')'; $resql_insert = $this->db->query($sql); if ($resql_insert) { @@ -568,7 +569,15 @@ class FactureFournisseur extends CommonInvoice $line->fk_product, 'HT', (!empty($line->info_bits) ? $line->info_bits : ''), - $line->product_type + $line->product_type, + $line->remise_percent, + 0, + $line->date_start, + $line->date_end, + $line->array_options, + $line->fk_unit, + $line->multicurrency_subprice, + $line->ref_supplier ); } else { $this->error = $this->db->lasterror(); @@ -809,7 +818,7 @@ class FactureFournisseur extends CommonInvoice $sql .= ', f.fk_code_ventilation, f.fk_multicurrency, f.multicurrency_code, f.multicurrency_subprice, f.multicurrency_total_ht, f.multicurrency_total_tva, f.multicurrency_total_ttc'; $sql .= ' FROM '.MAIN_DB_PREFIX.'facture_fourn_det as f'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON f.fk_product = p.rowid'; - $sql .= ' WHERE fk_facture_fourn='.$this->id; + $sql .= ' WHERE fk_facture_fourn='.((int) $this->id); $sql .= ' ORDER BY f.rang, f.rowid'; dol_syslog(get_class($this)."::fetch_lines", LOG_DEBUG); @@ -1366,7 +1375,7 @@ class FactureFournisseur extends CommonInvoice if ($close_note) { $sql .= ", close_note='".$this->db->escape($close_note)."'"; } - $sql .= ', fk_user_closing = '.$user->id; + $sql .= ', fk_user_closing = '.((int) $user->id); $sql .= ", date_closing = '".$this->db->idate($now)."'"; $sql .= ' WHERE rowid = '.((int) $this->id); @@ -1482,7 +1491,7 @@ class FactureFournisseur extends CommonInvoice if ($close_note) { $sql .= ", close_note='".$this->db->escape($close_note)."'"; } - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -1490,7 +1499,7 @@ class FactureFournisseur extends CommonInvoice // as they have not been used since the invoice is abandoned. $sql = 'UPDATE '.MAIN_DB_PREFIX.'societe_remise_except'; $sql .= ' SET fk_invoice_supplier = NULL'; - $sql .= ' WHERE fk_invoice_supplier = '.$this->id; + $sql .= ' WHERE fk_invoice_supplier = '.((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -1570,7 +1579,7 @@ class FactureFournisseur extends CommonInvoice $sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn"; $sql .= " SET ref='".$this->db->escape($num)."', fk_statut = 1, fk_user_valid = ".((int) $user->id).", date_valid = '".$this->db->idate($now)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::validate", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1697,7 +1706,7 @@ class FactureFournisseur extends CommonInvoice $sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn"; $sql .= " SET fk_statut = ".self::STATUS_DRAFT; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $result = $this->db->query($sql); if ($result) { @@ -2305,7 +2314,7 @@ class FactureFournisseur extends CommonInvoice $sql .= " AND pf.fk_paiementfourn IS NULL"; // Aucun paiement deja fait $sql .= " AND ff.fk_statut IS NULL"; // Renvoi vrai si pas facture de remplacement if ($socid > 0) { - $sql .= " AND f.fk_soc = ".$socid; + $sql .= " AND f.fk_soc = ".((int) $socid); } $sql .= " ORDER BY f.ref"; @@ -2353,7 +2362,7 @@ class FactureFournisseur extends CommonInvoice $sql .= " AND ff.type=".self::TYPE_REPLACEMENT.")"; $sql .= " AND f.type != ".self::TYPE_CREDIT_NOTE; // Type non 2 si facture non avoir if ($socid > 0) { - $sql .= " AND f.fk_soc = ".$socid; + $sql .= " AND f.fk_soc = ".((int) $socid); } $sql .= " ORDER BY f.ref"; @@ -2402,10 +2411,10 @@ class FactureFournisseur extends CommonInvoice $sql .= ' AND ff.fk_statut > 0'; $sql .= " AND ff.entity = ".$conf->entity; if ($user->socid) { - $sql .= ' AND ff.fk_soc = '.$user->socid; + $sql .= ' AND ff.fk_soc = '.((int) $user->socid); } if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND ff.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND ff.fk_soc = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $resql = $this->db->query($sql); @@ -2431,7 +2440,7 @@ class FactureFournisseur extends CommonInvoice if ($facturestatic->hasDelay()) { $response->nbtodolate++; - $response->url_late = DOL_URL_ROOT.'/fourn/facture/list.php?option=late&mainmenu=billing&leftmenu=suppliers_bills'; + $response->url_late = DOL_URL_ROOT.'/fourn/facture/list.php?search_option=late&mainmenu=billing&leftmenu=suppliers_bills'; } } $this->db->free($resql); @@ -2752,7 +2761,7 @@ class FactureFournisseur extends CommonInvoice $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON f.fk_soc = s.rowid"; if (!$user->rights->societe->client->voir && !$user->socid) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; - $sql .= " WHERE sc.fk_user = ".$user->id; + $sql .= " WHERE sc.fk_user = ".((int) $user->id); $clause = "AND"; } $sql .= " ".$clause." f.entity = ".$conf->entity; @@ -2937,7 +2946,7 @@ class FactureFournisseur extends CommonInvoice { $isUsed = false; - $sql = "SELECT fk_invoice_supplier FROM ".MAIN_DB_PREFIX."societe_remise_except WHERE fk_invoice_supplier_source=".$this->id; + $sql = "SELECT fk_invoice_supplier FROM ".MAIN_DB_PREFIX."societe_remise_except WHERE fk_invoice_supplier_source = ".((int) $this->id); $resql = $this->db->query($sql); if (!empty($resql)) { $obj = $this->db->fetch_object($resql); @@ -3308,7 +3317,7 @@ class SupplierInvoiceLine extends CommonObjectLine if (!$error) { // Supprime ligne $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'facture_fourn_det '; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); $resql = $this->db->query($sql); if (!$resql) { @@ -3378,20 +3387,11 @@ class SupplierInvoiceLine extends CommonObjectLine $this->multicurrency_total_ttc = 0; } + $fk_product = (int) $this->fk_product; + $fk_unit = (int) $this->fk_unit; + $this->db->begin(); - if (empty($this->fk_product)) { - $fk_product = "null"; - } else { - $fk_product = $this->fk_product; - } - - if (empty($this->fk_unit)) { - $fk_unit = "null"; - } else { - $fk_unit = "'".$this->db->escape($this->fk_unit)."'"; - } - $sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn_det SET"; $sql .= " description ='".$this->db->escape($this->description)."'"; $sql .= ", ref ='".$this->db->escape($this->ref_supplier ? $this->ref_supplier : $this->ref)."'"; @@ -3401,7 +3401,7 @@ class SupplierInvoiceLine extends CommonObjectLine $sql .= ", pu_ttc = ".price2num($this->pu_ttc); $sql .= ", qty = ".price2num($this->qty); $sql .= ", remise_percent = ".price2num($this->remise_percent); - if ($this->fk_remise_except) $sql .= ", fk_remise_except=".((int) $this->fk_remise_except); + if ($this->fk_remise_except > 0) $sql .= ", fk_remise_except=".((int) $this->fk_remise_except); else $sql .= ", fk_remise_except=null"; $sql .= ", vat_src_code = '".$this->db->escape(empty($this->vat_src_code) ? '' : $this->vat_src_code)."'"; $sql .= ", tva_tx = ".price2num($this->tva_tx); @@ -3414,7 +3414,7 @@ class SupplierInvoiceLine extends CommonObjectLine $sql .= ", total_localtax1= ".price2num($this->total_localtax1); $sql .= ", total_localtax2= ".price2num($this->total_localtax2); $sql .= ", total_ttc = ".price2num($this->total_ttc); - $sql .= ", fk_product = ".((int) $fk_product); + $sql .= ", fk_product = ".($fk_product > 0 ? (int) $fk_product : 'null'); $sql .= ", product_type = ".((int) $this->product_type); $sql .= ", info_bits = ".((int) $this->info_bits); $sql .= ", fk_unit = ".($fk_unit > 0 ? (int) $fk_unit : 'null'); @@ -3550,7 +3550,7 @@ class SupplierInvoiceLine extends CommonObjectLine $this->error = 'ErrorProductTypeMustBe0orMore'; return -1; } - if (!empty($this->fk_product)) { + if (!empty($this->fk_product) && $this->fk_product > 0) { // Check product exists $result = Product::isExistingObject('product', $this->fk_product); if ($result <= 0) { @@ -3583,7 +3583,7 @@ class SupplierInvoiceLine extends CommonObjectLine $sql .= " ".price2num($this->localtax2_tx).","; $sql .= " '".$this->db->escape($this->localtax1_type)."',"; $sql .= " '".$this->db->escape($this->localtax2_type)."',"; - $sql .= ' '.(!empty($this->fk_product) ? $this->fk_product : "null").','; + $sql .= ' '.((!empty($this->fk_product) && $this->fk_product > 0) ? $this->fk_product : "null").','; $sql .= " ".((int) $this->product_type).","; $sql .= " ".price2num($this->remise_percent).","; $sql .= ' '.(! empty($this->fk_remise_except) ? ((int) $this->fk_remise_except) : "null").','; @@ -3692,12 +3692,12 @@ class SupplierInvoiceLine extends CommonObjectLine // Mise a jour ligne en base $sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn_det SET"; - $sql .= " total_ht='".price2num($this->total_ht)."'"; - $sql .= ", tva='".price2num($this->total_tva)."'"; - $sql .= ", total_localtax1='".price2num($this->total_localtax1)."'"; - $sql .= ", total_localtax2='".price2num($this->total_localtax2)."'"; - $sql .= ", total_ttc='".price2num($this->total_ttc)."'"; - $sql .= " WHERE rowid = ".$this->rowid; + $sql .= " total_ht = ".price2num($this->total_ht); + $sql .= ", tva= ".price2num($this->total_tva); + $sql .= ", total_localtax1 = ".price2num($this->total_localtax1); + $sql .= ", total_localtax2 = ".price2num($this->total_localtax2); + $sql .= ", total_ttc = ".price2num($this->total_ttc); + $sql .= " WHERE rowid = ".((int) $this->rowid); dol_syslog("FactureFournisseurLigne.class.php::update_total", LOG_DEBUG); diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index 3eaed8d27b8..5b523d8d7e8 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -164,7 +164,7 @@ class ProductFournisseur extends Product $this->db->begin(); $sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur_price"; - $sql .= " WHERE fk_product = ".$this->id." AND fk_soc = ".((int) $id_fourn); + $sql .= " WHERE fk_product = ".((int) $this->id)." AND fk_soc = ".((int) $id_fourn); dol_syslog(get_class($this)."::remove_fournisseur", LOG_DEBUG); $resql2 = $this->db->query($sql); @@ -438,7 +438,7 @@ class ProductFournisseur extends Product // Delete price for this quantity $sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur_price"; - $sql .= " WHERE fk_soc = ".$fourn->id." AND ref_fourn = '".$this->db->escape($ref_fourn)."' AND quantity = ".((float) $qty)." AND entity = ".$conf->entity; + $sql .= " WHERE fk_soc = ".((int) $fourn->id)." AND ref_fourn = '".$this->db->escape($ref_fourn)."' AND quantity = ".((float) $qty)." AND entity = ".((int) $conf->entity); $resql = $this->db->query($sql); if ($resql) { // Add price for this quantity to supplier @@ -459,7 +459,7 @@ class ProductFournisseur extends Product $sql .= " ".((int) $fourn->id).","; $sql .= " '".$this->db->escape($ref_fourn)."',"; $sql .= " '".$this->db->escape($desc_fourn)."',"; - $sql .= " ".$user->id.","; + $sql .= " ".((int) $user->id).","; $sql .= " ".price2num($buyprice).","; $sql .= " ".((float) $qty).","; $sql .= " ".((float) $remise_percent).","; @@ -846,7 +846,7 @@ class ProductFournisseur extends Product $this->fourn_qty = $record["quantity"]; $this->fourn_remise_percent = $record["remise_percent"]; $this->fourn_remise = $record["remise"]; - $this->fourn_unitprice = $record["unitprice"]; + $this->fourn_unitprice = $fourn_unitprice; $this->fourn_charges = $record["charges"]; // deprecated $this->fourn_tva_tx = $record["tva_tx"]; $this->fourn_id = $record["fourn_id"]; @@ -1183,7 +1183,7 @@ class ProductFournisseur extends Product $label .= $this->displayPriceProductFournisseurLog($logPrices); } - $url = dol_buildpath('/product/fournisseurs.php', 1).'?id='.$this->id.'&action=add_price&socid='.$this->fourn_id.'&rowid='.$this->product_fourn_price_id; + $url = dol_buildpath('/product/fournisseurs.php', 1).'?id='.$this->id.'&action=add_price&token='.newToken().'&socid='.$this->fourn_id.'&rowid='.$this->product_fourn_price_id; if ($option != 'nolink') { // Add param to save lastsearch_values or not diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index 9a664489e4f..fa58139b7e7 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -201,8 +201,8 @@ class PaiementFourn extends Paiement $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'paiementfourn ('; $sql .= 'ref, entity, datec, datep, amount, multicurrency_amount, fk_paiement, num_paiement, note, fk_user_author, fk_bank)'; - $sql .= " VALUES ('".$this->db->escape($ref)."', ".$conf->entity.", '".$this->db->idate($now)."',"; - $sql .= " '".$this->db->idate($this->datepaye)."', '".$total."', '".$mtotal."', ".$this->paiementid.", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_private)."', ".$user->id.", 0)"; + $sql .= " VALUES ('".$this->db->escape($ref)."', ".((int) $conf->entity).", '".$this->db->idate($now)."',"; + $sql .= " '".$this->db->idate($this->datepaye)."', ".((float) $total).", ".((float) $mtotal).", ".((int) $this->paiementid).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_private)."', ".((int) $user->id).", 0)"; $resql = $this->db->query($sql); if ($resql) { @@ -214,7 +214,7 @@ class PaiementFourn extends Paiement if (is_numeric($amount) && $amount <> 0) { $amount = price2num($amount); $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'paiementfourn_facturefourn (fk_facturefourn, fk_paiementfourn, amount, multicurrency_amount)'; - $sql .= ' VALUES ('.$facid.','.$this->id.',\''.$amount.'\', \''.$this->multicurrency_amounts[$key].'\')'; + $sql .= " VALUES (".((int) $facid).", ".((int) $this->id).", ".((float) $amount).', '.((float) $this->multicurrency_amounts[$key]).')'; $resql = $this->db->query($sql); if ($resql) { $invoice = new FactureFournisseur($this->db); @@ -223,10 +223,10 @@ class PaiementFourn extends Paiement // If we want to closed paid invoices if ($closepaidinvoices) { $paiement = $invoice->getSommePaiement(); - //$creditnotes=$invoice->getSumCreditNotesUsed(); - $creditnotes = 0; - //$deposits=$invoice->getSumDepositsUsed(); - $deposits = 0; + $creditnotes=$invoice->getSumCreditNotesUsed(); + //$creditnotes = 0; + $deposits=$invoice->getSumDepositsUsed(); + //$deposits = 0; $alreadypayed = price2num($paiement + $creditnotes + $deposits, 'MT'); $remaintopay = price2num($invoice->total_ttc - $paiement - $creditnotes - $deposits, 'MT'); if ($remaintopay == 0) { @@ -238,7 +238,7 @@ class PaiementFourn extends Paiement // Insert one discount by VAT rate category require_once DOL_DOCUMENT_ROOT . '/core/class/discount.class.php'; $discount = new DiscountAbsolute($this->db); - $discount->fetch('', $invoice->id); + $discount->fetch('', 0, $invoice->id); if (empty($discount->id)) { // If the invoice was not yet converted into a discount (this may have been done manually before we come here) $discount->discount_type = 1; // Supplier discount $discount->description = '(DEPOSIT)'; @@ -398,11 +398,11 @@ class PaiementFourn extends Paiement // Efface la ligne de paiement (dans paiement_facture et paiement) $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn'; - $sql .= ' WHERE fk_paiementfourn = '.$this->id; + $sql .= ' WHERE fk_paiementfourn = '.((int) $this->id); $resql = $this->db->query($sql); if ($resql) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'paiementfourn'; - $sql .= ' WHERE rowid = '.$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $result = $this->db->query($sql); if (!$result) { $this->error = $this->db->error(); @@ -484,16 +484,16 @@ class PaiementFourn extends Paiement /** * Return list of supplier invoices the payment point to * - * @param string $filter SQL filter + * @param string $filter SQL filter. Warning: This value must not come from a user input. * @return array Array of supplier invoice id */ public function getBillsArray($filter = '') { $sql = 'SELECT fk_facturefourn'; $sql .= ' FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf, '.MAIN_DB_PREFIX.'facture_fourn as f'; - $sql .= ' WHERE pf.fk_facturefourn = f.rowid AND fk_paiementfourn = '.$this->id; + $sql .= ' WHERE pf.fk_facturefourn = f.rowid AND fk_paiementfourn = '.((int) $this->id); if ($filter) { - $sql .= ' AND '.$filter; + $sql .= " AND ".$filter; } dol_syslog(get_class($this).'::getBillsArray', LOG_DEBUG); diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 6e89abbf953..f025e3ce6c7 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -144,6 +144,12 @@ $permissiondellink = $usercancreate; // Used by the include of actions_dellink.i $permissiontoedit = $usercancreate; // Used by the include of actions_lineupdown.inc.php $permissiontoadd = $usercancreate; // Used by the include of actions_addupdatedelete.inc.php +// Project permission +$caneditproject = false; +if (!empty($conf->projet->enabled)) { + $caneditproject = empty($conf->global->SUPPLIER_ORDER_FORBID_EDIT_PROJECT) || ($object->statut == CommandeFournisseur::STATUS_DRAFT && preg_match('/^[\(]?PROV/i', $object->ref)); +} + /* * Actions @@ -156,7 +162,7 @@ if ($reshook < 0) { } if (empty($reshook)) { - $backurlforlist = DOL_URL_ROOT.'/fourn/commande/list.php'.($socid > 0 ? '&socid='.((int) $socid) : ''); + $backurlforlist = DOL_URL_ROOT.'/fourn/commande/list.php'.($socid > 0 ? '?socid='.((int) $socid) : ''); if (empty($backtopage) || ($cancel && empty($id))) { if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { @@ -168,6 +174,17 @@ if (empty($reshook)) { } } + if ($cancel) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { + header("Location: ".$backtopage); + exit; + } + $action = ''; + } + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once @@ -228,7 +245,7 @@ if (empty($reshook)) { } // Set project - if ($action == 'classin' && $usercancreate) { + if ($action == 'classin' && $usercancreate && $caneditproject) { $result = $object->setProject($projectid); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); @@ -243,9 +260,9 @@ if (empty($reshook)) { // Update supplier $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur'; - $sql .= ' SET fk_soc='.$new_socid; - $sql .= ' WHERE fk_soc='.$object->thirdparty->id; - $sql .= ' AND rowid='.$object->id; + $sql .= ' SET fk_soc = '.((int) $new_socid); + $sql .= ' WHERE fk_soc = '.((int) $object->thirdparty->id); + $sql .= ' AND rowid = '.((int) $object->id); $res = $db->query($sql); @@ -258,8 +275,8 @@ if (empty($reshook)) { foreach ($object->lines as $l) { $sql = 'SELECT price, unitprice, tva_tx, ref_fourn'; $sql .= ' FROM '.MAIN_DB_PREFIX.'product_fournisseur_price'; - $sql .= ' WHERE fk_product='.$l->fk_product; - $sql .= ' AND fk_soc='.$new_socid; + $sql .= ' WHERE fk_product = '.((int) $l->fk_product); + $sql .= ' AND fk_soc = '.((int) $new_socid); $sql .= ' ORDER BY unitprice ASC'; $resql = $db->query($sql); @@ -337,14 +354,14 @@ if (empty($reshook)) { // Currently the "Re-open" also remove the billed flag because there is no button "Set unpaid" yet. $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur'; $sql .= ' SET billed = 0'; - $sql .= ' WHERE rowid = '.$object->id; + $sql .= ' WHERE rowid = '.((int) $object->id); $resql = $db->query($sql); if ($newstatus == 0) { $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur'; $sql .= ' SET fk_user_approve = null, fk_user_approve2 = null, date_approve = null, date_approve2 = null'; - $sql .= ' WHERE rowid = '.$object->id; + $sql .= ' WHERE rowid = '.((int) $object->id); $resql = $db->query($sql); } @@ -748,7 +765,7 @@ if (empty($reshook)) { GETPOST('product_desc', 'restricthtml'), $ht, price2num(GETPOST('qty'), 'MS'), - price2num(GETPOST('remise_percent'), 2), + price2num(GETPOST('remise_percent'), '', 2), $vat_rate, $localtax1_rate, $localtax2_rate, @@ -983,7 +1000,9 @@ if (empty($reshook)) { if ($action == 'commande') { $methodecommande = GETPOST('methodecommande', 'int'); - if ($methodecommande <= 0) { + if ($cancel) { + $action = ''; + } elseif ($methodecommande <= 0) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("OrderMode")), null, 'errors'); $action = 'makeorder'; } @@ -1059,36 +1078,43 @@ if (empty($reshook)) { // Set status of reception (complete, partial, ...) if ($action == 'livraison' && $usercanreceived) { - $db->begin(); + if ($cancel) { + $action = ''; + } else { + $db->begin(); - if (GETPOST("type") != '') { - $date_liv = dol_mktime(GETPOST('rehour'), GETPOST('remin'), GETPOST('resec'), GETPOST("remonth"), GETPOST("reday"), GETPOST("reyear")); + if (GETPOST("type") != '') { + $date_liv = dol_mktime(GETPOST('rehour'), GETPOST('remin'), GETPOST('resec'), GETPOST("remonth"), GETPOST("reday"), GETPOST("reyear")); - $result = $object->Livraison($user, $date_liv, GETPOST("type"), GETPOST("comment")); // GETPOST("type") is 'tot', 'par', 'nev', 'can' - if ($result > 0) { - $langs->load("deliveries"); - setEventMessages($langs->trans("DeliveryStateSaved"), null); - $action = ''; - } elseif ($result == -3) { - $error++; - setEventMessages($object->error, $object->errors, 'errors'); + $result = $object->Livraison($user, $date_liv, GETPOST("type"), GETPOST("comment")); // GETPOST("type") is 'tot', 'par', 'nev', 'can' + if ($result > 0) { + $langs->load("deliveries"); + setEventMessages($langs->trans("DeliveryStateSaved"), null); + $action = ''; + } elseif ($result == -3) { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } else { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } } else { $error++; - setEventMessages($object->error, $object->errors, 'errors'); + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Delivery")), null, 'errors'); } - } else { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Delivery")), null, 'errors'); - } - if (!$error) { - $db->commit(); - } else { - $db->rollback(); + if (!$error) { + $db->commit(); + } else { + $db->rollback(); + } } } if ($action == 'confirm_cancel' && $confirm == 'yes' && $usercanorder) { + if (GETPOST('cancel_note')) { + $object->cancel_note = GETPOST('cancel_note'); + } $result = $object->cancel($user); if ($result > 0) { header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); @@ -1582,7 +1608,7 @@ if ($action == 'create') { print '
    '; print ''; print ''; - print ''; + print ''; print ''; print ''; if ($backtopage) { @@ -1608,7 +1634,7 @@ if ($action == 'create') { print '
    '; if ($societe->id > 0) { - print $societe->getNomUrl(1); + print $societe->getNomUrl(1, 'supplier'); print ''; } else { print img_picto('', 'company').$form->select_company((empty($socid) ? '' : $socid), 'socid', 's.fournisseur=1', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300'); @@ -1684,7 +1710,7 @@ if ($action == 'create') { $langs->load('projects'); print '
    '.$langs->trans('Project').''; print img_picto('', 'project').$formproject->select_projects((empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS) ? $societe->id : -1), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 1, 0, 'maxwidth500'); - print '   id).'">'; + print '   id).'">'; print '
    '.$langs->trans($newclassname).''.$objectsrc->getNomUrl(1).'
    '.$langs->trans($newclassname).''.$objectsrc->getNomUrl(1, 'supplier').'
    '.$langs->trans('AmountHT').''.price($objectsrc->total_ht).'
    '.$langs->trans('AmountVAT').''.price($objectsrc->total_tva)."
    '; if ($action != 'editconditions') { - print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).'id.'">'.img_edit($langs->trans('SetConditions'), 1).'
    '; print ''; @@ -2071,7 +2100,7 @@ if ($action == 'create') { print $langs->trans('PaymentMode'); print ''; if ($action != 'editmode') { - print 'id.'">'.img_edit($langs->trans('SetMode'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetMode'), 1).''; } print ''; print ''; @@ -2091,7 +2120,7 @@ if ($action == 'create') { print $form->editfieldkey('Currency', 'multicurrency_code', '', $object, 0); print ''; if ($action != 'editmulticurrencycode' && $object->statut == $object::STATUS_DRAFT) { - print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; + print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; } print ''; print ''; @@ -2111,7 +2140,7 @@ if ($action == 'create') { print $form->editfieldkey('CurrencyRate', 'multicurrency_tx', '', $object, 0); print ''; if ($action != 'editmulticurrencyrate' && $object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) { - print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; + print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; } print ''; print ''; @@ -2139,7 +2168,7 @@ if ($action == 'create') { print $langs->trans('BankAccount'); print ''; if ($action != 'editbankaccount' && $usercancreate) { - print 'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).''; } print ''; print ''; @@ -2164,7 +2193,7 @@ if ($action == 'create') { print $langs->trans('DateDeliveryPlanned'); print ''; if ($action != 'editdate_livraison') { - print 'id.'">'.img_edit($langs->trans('SetDeliveryDate'), 1).''; + print 'id.'">'.img_edit($langs->trans('SetDeliveryDate'), 1).''; } print ''; print ''; @@ -2177,7 +2206,7 @@ if ($action == 'create') { $usehourmin = 1; } print $form->selectDate($object->delivery_date ? $object->delivery_date : -1, 'liv_', $usehourmin, $usehourmin, '', "setdate_livraison"); - print ''; + print ''; print ''; } else { $usehourmin = 'day'; @@ -2198,7 +2227,7 @@ if ($action == 'create') { print $langs->trans('IncotermLabel'); print ''; if ($usercancreate) { - print ''.img_edit().''; + print ''.img_edit().''; } else { print ' '; } @@ -2303,10 +2332,11 @@ if ($action == 'create') { //$result = $object->getLinesArray(); - print '
    + print ' + '; @@ -2386,7 +2416,7 @@ if ($action == 'create') { // Modify if ($object->statut == CommandeFournisseur::STATUS_VALIDATED) { if ($usercanorder) { - print ''.$langs->trans("Modify").''; + print ''.$langs->trans("Modify").''; } } @@ -2442,20 +2472,20 @@ if ($action == 'create') { if (!$buttonshown && $usercanapprove) { if (empty($conf->global->SUPPLIER_ORDER_REOPEN_BY_APPROVER_ONLY) || (!empty($conf->global->SUPPLIER_ORDER_REOPEN_BY_APPROVER_ONLY) && $user->id == $object->user_approve_id)) { - print ''.$langs->trans("Disapprove").''; + print ''.$langs->trans("Disapprove").''; $buttonshown++; } } if (!$buttonshown && $usercanapprovesecond && !empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED)) { if (empty($conf->global->SUPPLIER_ORDER_REOPEN_BY_APPROVER2_ONLY) || (!empty($conf->global->SUPPLIER_ORDER_REOPEN_BY_APPROVER2_ONLY) && $user->id == $object->user_approve_id2)) { - print ''.$langs->trans("Disapprove").''; + print ''.$langs->trans("Disapprove").''; } } } if (in_array($object->statut, array(3, 4, 5, 6, 7, 9))) { if ($usercanorder) { - print ''.$langs->trans("ReOpen").''; + print ''.$langs->trans("ReOpen").''; } } @@ -2465,7 +2495,7 @@ if ($action == 'create') { $labelofbutton = $langs->trans('ReceiveProducts'); if ($conf->reception->enabled) { $labelofbutton = $langs->trans("CreateReception"); - if (!empty($object->linkedObjects)) { + if (!empty($object->linkedObjects['reception'])) { foreach ($object->linkedObjects['reception'] as $element) { if ($element->statut >= 0) { $hasreception = 1; @@ -2495,7 +2525,7 @@ if ($action == 'create') { // Classify received (this does not record reception) if ($object->statut == CommandeFournisseur::STATUS_ORDERSENT || $object->statut == CommandeFournisseur::STATUS_RECEIVED_PARTIALLY) { if ($usercanreceived) { - print ''; + print ''; } } @@ -2512,11 +2542,11 @@ if ($action == 'create') { // Classify billed manually (need one invoice if module invoice is on, no condition on invoice if not) if ($usercancreate && $object->statut >= 2 && $object->statut != 7 && $object->billed != 1) { // statut 2 means approved if (empty($conf->facture->enabled)) { - print ''.$langs->trans("ClassifyBilled").''; + print ''.$langs->trans("ClassifyBilled").''; } else { if (!empty($object->linkedObjectsIds['invoice_supplier'])) { if ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer) { - print ''.$langs->trans("ClassifyBilled").''; + print ''.$langs->trans("ClassifyBilled").''; } } else { print ''.$langs->trans("ClassifyBilled").''; @@ -2526,7 +2556,7 @@ if ($action == 'create') { // Create a remote order using WebService only if module is activated if (!empty($conf->syncsupplierwebservices->enabled) && $object->statut >= 2) { // 2 means accepted - print ''.$langs->trans('CreateRemoteOrder').''; + print ''.$langs->trans('CreateRemoteOrder').''; } // Clone @@ -2546,7 +2576,7 @@ if ($action == 'create') { if ($hasreception) { print ''.$langs->trans("Delete").''; } else { - print ''.$langs->trans("Delete").''; + print ''.$langs->trans("Delete").''; } } } @@ -2601,8 +2631,9 @@ if ($action == 'create') { $urlsource = $_SERVER["PHP_SELF"]."?id=".$object->id; $genallowed = $usercanread; $delallowed = $usercancreate; + $modelpdf = (!empty($object->model_pdf) ? $object->model_pdf : (empty($conf->global->COMMANDE_SUPPLIER_ADDON_PDF) ? '' : $conf->global->COMMANDE_SUPPLIER_ADDON_PDF)); - print $formfile->showdocuments('commande_fournisseur', $objref, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 0, 0, '', '', '', $object->thirdparty->default_lang); + print $formfile->showdocuments('commande_fournisseur', $objref, $filedir, $urlsource, $genallowed, $delallowed, $modelpdf, 1, 0, 0, 0, 0, '', '', '', $object->thirdparty->default_lang); $somethingshown = $formfile->numoffiles; // Show links to link elements @@ -2639,7 +2670,11 @@ if ($action == 'create') { print ''; print ''.$langs->trans("Comment").''; - print ''; + print ''; + print ''; + print '     '; + print ''; + print ''; print "\n"; print "
    \n"; print "
    "; @@ -2707,7 +2742,7 @@ if ($action == 'create') { print ''.$langs->trans("Password").''; //Submit button print ''; - print ''; + print ''; print '     '; //Cancel button print ''; @@ -2826,7 +2861,7 @@ if ($action == 'create') { if ($error_occurred) { print "
    ".$langs->trans("ErrorOccurredReviseAndRetry")."
    "; } else { - print ''; + print ''; print '     '; } print ''; diff --git a/htdocs/fourn/commande/contact.php b/htdocs/fourn/commande/contact.php index f53fba883c0..8d9fc8f57c6 100644 --- a/htdocs/fourn/commande/contact.php +++ b/htdocs/fourn/commande/contact.php @@ -140,7 +140,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 2c847b9a421..16d4b1f25f3 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -341,11 +341,11 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) if (GETPOSTISSET($saveprice)) { // TODO Use class $sql = "UPDATE ".MAIN_DB_PREFIX."product_fournisseur_price"; - $sql .= " SET unitprice='".GETPOST($pu)."'"; - $sql .= ", price=".GETPOST($pu)."*quantity"; - $sql .= ", remise_percent='".(!empty($dto) ? $dto : 0)."'"; - $sql .= " WHERE fk_soc=".$object->socid; - $sql .= " AND fk_product=".GETPOST($prod, 'int'); + $sql .= " SET unitprice = ".price2num(GETPOST($pu), 'MU', 2); + $sql .= ", price = ".price2num(GETPOST($pu), 'MU', 2)." * quantity"; + $sql .= ", remise_percent = ".price2num((empty($dto) ? 0 : $dto), 3, 2)."'"; + $sql .= " WHERE fk_soc = ".((int) $object->socid); + $sql .= " AND fk_product=".((int) GETPOST($prod, 'int')); $resql = $db->query($sql); } @@ -547,7 +547,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { @@ -653,7 +653,7 @@ if ($id > 0 || !empty($ref)) { $sql = "SELECT l.rowid, cfd.fk_product, sum(cfd.qty) as qty"; $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."commande_fournisseurdet as l on l.rowid = cfd.fk_commandefourndet"; - $sql .= " WHERE cfd.fk_commande = ".$object->id; + $sql .= " WHERE cfd.fk_commande = ".((int) $object->id); $sql .= " GROUP BY l.rowid, cfd.fk_product"; $resql = $db->query($sql); @@ -689,7 +689,7 @@ if ($id > 0 || !empty($ref)) { $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; - $sql .= " WHERE l.fk_commande = ".$object->id; + $sql .= " WHERE l.fk_commande = ".((int) $object->id); if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) { $sql .= " AND l.product_type = 0"; } @@ -721,12 +721,12 @@ if ($id > 0 || !empty($ref)) { print ''.$langs->trans("Description").''; if (!empty($conf->productbatch->enabled)) { print ''.$langs->trans("batch_number").''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.$langs->trans("EatByDate").''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.$langs->trans("SellByDate").''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.$langs->trans("EatByDate").''; + } } else { print ''; print ''; @@ -814,12 +814,12 @@ if ($id > 0 || !empty($ref)) { print $linktoprod; print ""; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } } else { print ''; print $linktoprod; @@ -827,12 +827,12 @@ if ($id > 0 || !empty($ref)) { print ''; print $langs->trans("ProductDoesNotUseBatchSerial"); print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } } } else { print ''; @@ -901,7 +901,7 @@ if ($id > 0 || !empty($ref)) { print ''; print ''; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; $dlcdatesuffix = dol_mktime(0, 0, 0, GETPOST('dlc'.$suffix.'month'), GETPOST('dlc'.$suffix.'day'), GETPOST('dlc'.$suffix.'year')); print $form->selectDate($dlcdatesuffix, 'dlc'.$suffix, '', '', 1, ''); @@ -917,8 +917,8 @@ if ($id > 0 || !empty($ref)) { } else { $type = 'dispatch'; $colspan = 7; - $colspan = (!empty($conf->global->PRODUCT_DISABLE_EATBY)) ? --$colspan : $colspan; $colspan = (!empty($conf->global->PRODUCT_DISABLE_SELLBY)) ? --$colspan : $colspan; + $colspan = (!empty($conf->global->PRODUCT_DISABLE_EATBY)) ? --$colspan : $colspan; print ''; print ''; // Qty to dispatch print ''; @@ -1113,7 +1113,7 @@ if ($id > 0 || !empty($ref)) { if ($conf->reception->enabled) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."reception as r ON cfd.fk_reception = r.rowid"; } - $sql .= " WHERE cfd.fk_commande = ".$object->id; + $sql .= " WHERE cfd.fk_commande = ".((int) $object->id); $sql .= " AND cfd.fk_product = p.rowid"; $sql .= " ORDER BY cfd.rowid ASC"; @@ -1140,12 +1140,12 @@ if ($id > 0 || !empty($ref)) { print ''.$langs->trans("DateDeliveryPlanned").''; if (!empty($conf->productbatch->enabled)) { print ''.$langs->trans("batch_number").''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.$langs->trans("EatByDate").''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.$langs->trans("SellByDate").''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.$langs->trans("EatByDate").''; + } } print ''.$langs->trans("QtyDispatched").''; print ''.$langs->trans("Warehouse").''; @@ -1199,16 +1199,20 @@ if ($id > 0 || !empty($ref)) { $lot = new Productlot($db); $lot->fetch(0, $objp->pid, $objp->batch); print ''.$lot->getNomUrl(1).''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.dol_print_date($lot->eatby, 'day').''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.dol_print_date($lot->sellby, 'day').''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.dol_print_date($lot->eatby, 'day').''; + } } else { print ''; - print ''; - print ''; + if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { + print ''; + } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } } } @@ -1290,13 +1294,13 @@ if ($id > 0 || !empty($ref)) { if ($action != 'editline' || $lineid != $objp->dispatchlineid) { if (empty($reception->id) || ($reception->statut == Reception::STATUS_DRAFT)) { // only allow edit on draft reception print ''; - print 'dispatchlineid.'#line_'.$objp->dispatchlineid.'">'; + print 'dispatchlineid.'#line_'.$objp->dispatchlineid.'">'; print img_edit(); print ''; print ''; print ''; - print 'dispatchlineid.'#dispatch_received_products">'; + print 'dispatchlineid.'#dispatch_received_products">'; print img_delete(); print ''; print ''; diff --git a/htdocs/fourn/commande/document.php b/htdocs/fourn/commande/document.php index c38751fc138..aea8abed665 100644 --- a/htdocs/fourn/commande/document.php +++ b/htdocs/fourn/commande/document.php @@ -133,7 +133,7 @@ if ($object->id > 0) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/commande/index.php b/htdocs/fourn/commande/index.php index 1ea5db20b59..b4956ea706f 100644 --- a/htdocs/fourn/commande/index.php +++ b/htdocs/fourn/commande/index.php @@ -73,10 +73,10 @@ if (!$user->rights->societe->client->voir && !$socid) { $sql .= " WHERE cf.fk_soc = s.rowid"; $sql .= " AND cf.entity IN (".getEntity('supplier_order').")"; if ($user->socid) { - $sql .= ' AND cf.fk_soc = '.$user->socid; + $sql .= ' AND cf.fk_soc = '.((int) $user->socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " GROUP BY cf.fk_statut"; @@ -186,7 +186,7 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU $sql .= " AND c.fk_soc = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $resql = $db->query($sql); @@ -287,13 +287,13 @@ if (!$user->rights->societe->client->voir && !$socid) { $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; } $sql .= " WHERE c.fk_soc = s.rowid"; -$sql .= " AND c.entity = ".$conf->entity; +$sql .= " AND c.entity IN (".getEntity('supplier_order').")"; //$sql.= " AND c.fk_statut > 2"; if (!empty($socid)) { $sql .= " AND c.fk_soc = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " ORDER BY c.tms DESC"; $sql .= $db->plimit($max, 0); @@ -350,17 +350,17 @@ if ($resql) { /* * Orders to process -*/ + */ /* $sql = "SELECT c.rowid, c.ref, c.fk_statut, s.nom as name, s.rowid as socid"; $sql.=" FROM ".MAIN_DB_PREFIX."commande_fournisseur as c"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE c.fk_soc = s.rowid"; -$sql.= " AND c.entity = ".$conf->entity; +$sql.= " AND c.entity IN (".getEntity("supplier_order").")"; $sql.= " AND c.fk_statut = 1"; if ($socid) $sql.= " AND c.fk_soc = ".((int) $socid); -if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .((int) $user->id); $sql.= " ORDER BY c.rowid DESC"; $resql=$db->query($sql); diff --git a/htdocs/fourn/commande/info.php b/htdocs/fourn/commande/info.php index 9de144f1f90..aeb17c25035 100644 --- a/htdocs/fourn/commande/info.php +++ b/htdocs/fourn/commande/info.php @@ -144,7 +144,7 @@ if (!empty($conf->projet->enabled)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index c644f9e35a5..bef5289c791 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -1,14 +1,15 @@ - * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2013 Cédric Salvador - * Copyright (C) 2014 Marcos García - * Copyright (C) 2014 Juanjo Menent - * Copyright (C) 2016 Ferran Marcet - * Copyright (C) 2018-2021 Frédéric France - * Copyright (C) 2018-2020 Charlene Benke - * Copyright (C) 2019 Nicolas ZABOURI +/* Copyright (C) 2001-2006 Rodolphe Quiedeville + * Copyright (C) 2004-2016 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2014 Marcos García + * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2016 Ferran Marcet + * Copyright (C) 2018-2021 Frédéric France + * Copyright (C) 2018-2020 Charlene Benke + * Copyright (C) 2019 Nicolas Zabouri + * Copyright (C) 2021 Alexandre Spangaro * * 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 @@ -52,12 +53,39 @@ $confirm = GETPOST('confirm', 'alpha'); $toselect = GETPOST('toselect', 'array'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'supplierorderlist'; -$search_orderyear = GETPOST("search_orderyear", "int"); -$search_ordermonth = GETPOST("search_ordermonth", "int"); -$search_orderday = GETPOST("search_orderday", "int"); -$search_deliveryyear = GETPOST("search_deliveryyear", "int"); -$search_deliverymonth = GETPOST("search_deliverymonth", "int"); -$search_deliveryday = GETPOST("search_deliveryday", "int"); +$search_date_order_startday = GETPOST('search_date_order_startday', 'int'); +$search_date_order_startmonth = GETPOST('search_date_order_startmonth', 'int'); +$search_date_order_startyear = GETPOST('search_date_order_startyear', 'int'); +$search_date_order_endday = GETPOST('search_date_order_endday', 'int'); +$search_date_order_endmonth = GETPOST('search_date_order_endmonth', 'int'); +$search_date_order_endyear = GETPOST('search_date_order_endyear', 'int'); +$search_date_order_start = dol_mktime(0, 0, 0, $search_date_order_startmonth, $search_date_order_startday, $search_date_order_startyear); // Use tzserver +$search_date_order_end = dol_mktime(23, 59, 59, $search_date_order_endmonth, $search_date_order_endday, $search_date_order_endyear); +$search_date_delivery_startday = GETPOST('search_date_delivery_startday', 'int'); +$search_date_delivery_startmonth = GETPOST('search_date_delivery_startmonth', 'int'); +$search_date_delivery_startyear = GETPOST('search_date_delivery_startyear', 'int'); +$search_date_delivery_endday = GETPOST('search_date_delivery_endday', 'int'); +$search_date_delivery_endmonth = GETPOST('search_date_delivery_endmonth', 'int'); +$search_date_delivery_endyear = GETPOST('search_date_delivery_endyear', 'int'); +$search_date_delivery_start = dol_mktime(0, 0, 0, $search_date_delivery_startmonth, $search_date_delivery_startday, $search_date_delivery_startyear); // Use tzserver +$search_date_delivery_end = dol_mktime(23, 59, 59, $search_date_delivery_endmonth, $search_date_delivery_endday, $search_date_delivery_endyear); + +$search_date_valid_startday = GETPOST('search_date_valid_startday', 'int'); +$search_date_valid_startmonth = GETPOST('search_date_valid_startmonth', 'int'); +$search_date_valid_startyear = GETPOST('search_date_valid_startyear', 'int'); +$search_date_valid_endday = GETPOST('search_date_valid_endday', 'int'); +$search_date_valid_endmonth = GETPOST('search_date_valid_endmonth', 'int'); +$search_date_valid_endyear = GETPOST('search_date_valid_endyear', 'int'); +$search_date_valid_start = dol_mktime(0, 0, 0, $search_date_valid_startmonth, $search_date_valid_startday, $search_date_valid_startyear); // Use tzserver +$search_date_valid_end = dol_mktime(23, 59, 59, $search_date_valid_endmonth, $search_date_valid_endday, $search_date_valid_endyear); +$search_date_approve_startday = GETPOST('search_date_approve_startday', 'int'); +$search_date_approve_startmonth = GETPOST('search_date_approve_startmonth', 'int'); +$search_date_approve_startyear = GETPOST('search_date_approve_startyear', 'int'); +$search_date_approve_endday = GETPOST('search_date_approve_endday', 'int'); +$search_date_approve_endmonth = GETPOST('search_date_approve_endmonth', 'int'); +$search_date_approve_endyear = GETPOST('search_date_approve_endyear', 'int'); +$search_date_approve_start = dol_mktime(0, 0, 0, $search_date_approve_startmonth, $search_date_approve_startday, $search_date_approve_startyear); // Use tzserver +$search_date_approve_end = dol_mktime(23, 59, 59, $search_date_approve_endmonth, $search_date_approve_endday, $search_date_approve_endyear); $sall = trim((GETPOST('search_all', 'alphanohtml') != '') ?GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml')); @@ -123,10 +151,6 @@ if (!$sortorder) { $sortorder = 'DESC'; } -if ($search_status == '') { - $search_status = -1; -} - // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context $object = new CommandeFournisseur($db); $hookmanager->initHooks(array('supplierorderlist')); @@ -177,7 +201,9 @@ $arrayfields = array( 'cf.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), 'cf.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500), 'cf.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000), - 'cf.billed'=>array('label'=>"Billed", 'checked'=>1, 'position'=>1000, 'enabled'=>1) + 'cf.billed'=>array('label'=>"Billed", 'checked'=>1, 'position'=>1000, 'enabled'=>1), + 'cf.date_valid' =>array('label' => 'DateValidation', 'checked' => 0), + 'cf.date_approve' =>array('label' => 'DateApprove', 'checked' => 0) ); // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; @@ -234,13 +260,39 @@ if (empty($reshook)) { $search_multicurrency_montant_tva = ''; $search_multicurrency_montant_ttc = ''; $search_project_ref = ''; - $search_status = -1; - $search_orderyear = ''; - $search_ordermonth = ''; - $search_orderday = ''; - $search_deliveryday = ''; - $search_deliverymonth = ''; - $search_deliveryyear = ''; + $search_status = ''; + $search_date_order_startday = ''; + $search_date_order_startmonth = ''; + $search_date_order_startyear = ''; + $search_date_order_endday = ''; + $search_date_order_endmonth = ''; + $search_date_order_endyear = ''; + $search_date_order_start = ''; + $search_date_order_end = ''; + $search_date_delivery_startday = ''; + $search_date_delivery_startmonth = ''; + $search_date_delivery_startyear = ''; + $search_date_delivery_endday = ''; + $search_date_delivery_endmonth = ''; + $search_date_delivery_endyear = ''; + $search_date_delivery_start = ''; + $search_date_delivery_end = ''; + $search_date_valid_startday = ''; + $search_date_valid_startmonth = ''; + $search_date_valid_startyear = ''; + $search_date_valid_endday = ''; + $search_date_valid_endmonth = ''; + $search_date_valid_endyear = ''; + $search_date_valid_start = ''; + $search_date_valid_end = ''; + $search_date_approve_startday = ''; + $search_date_approve_startmonth = ''; + $search_date_approve_startyear = ''; + $search_date_approve_endday = ''; + $search_date_approve_endmonth = ''; + $search_date_approve_endyear = ''; + $search_date_approve_start = ''; + $search_date_approve_end = ''; $billed = ''; $search_billed = ''; $toselect = ''; @@ -256,9 +308,42 @@ if (empty($reshook)) { $objectlabel = 'SupplierOrders'; $permissiontoread = $user->rights->fournisseur->commande->lire; $permissiontodelete = $user->rights->fournisseur->commande->supprimer; + $permissiontovalidate = $user->rights->fournisseur->commande->creer; $uploaddir = $conf->fournisseur->commande->dir_output; include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; + if ($action == 'validate' && $permissiontovalidate) { + if (GETPOST('confirm') == 'yes') { + $objecttmp = new CommandeFournisseur($db); + $db->begin(); + $error = 0; + + foreach ($toselect as $checked) { + if ($objecttmp->fetch($checked)) { + if ($objecttmp->statut == 0) { + $objecttmp->date_commande = dol_now(); + $result = $objecttmp->valid($user); + if ($result >= 0) { + // If we have permission, and if we don't need to provide the idwarehouse, we go directly on approved step + if (empty($conf->global->SUPPLIER_ORDER_NO_DIRECT_APPROVE) && $user->rights->fournisseur->commande->approuver && !(!empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) && $objecttmp->hasProductsOrServices(1))) { + $result = $objecttmp->approve($user); + setEventMessages($langs->trans("SupplierOrderValidatedAndApproved"), array($objecttmp->ref)); + } else { + setEventMessages($langs->trans("SupplierOrderValidated"), array($objecttmp->ref)); + } + } else { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + } + } + } + } + + if (!$error) $db->commit(); + else $db->rollback(); + } + } + // Mass action to generate vendor bills if ($massaction == 'confirm_createsupplierbills') { $orders = GETPOST('toselect', 'array'); @@ -321,7 +406,7 @@ if (empty($reshook)) { $sql .= ") VALUES ("; $sql .= $id_order; $sql .= ", '".$db->escape($objecttmp->origin)."'"; - $sql .= ", ".$objecttmp->id; + $sql .= ", ".((int) $objecttmp->id); $sql .= ", '".$db->escape($objecttmp->element)."'"; $sql .= ")"; @@ -494,23 +579,77 @@ if (empty($reshook)) { if ($search_status != '') { $param .= '&search_status='.urlencode($search_status); } - if ($search_orderday) { - $param .= '&search_orderday='.urlencode($search_orderday); + if ($search_date_order_startday) { + $param .= '&search_date_order_startday='.urlencode($search_date_order_startday); } - if ($search_ordermonth) { - $param .= '&search_ordermonth='.urlencode($search_ordermonth); + if ($search_date_order_startmonth) { + $param .= '&search_date_order_startmonth='.urlencode($search_date_order_startmonth); } - if ($search_orderyear) { - $param .= '&search_orderyear='.urlencode($search_orderyear); + if ($search_date_order_startyear) { + $param .= '&search_date_order_startyear='.urlencode($search_date_order_startyear); } - if ($search_deliveryday) { - $param .= '&search_deliveryday='.urlencode($search_deliveryday); + if ($search_date_order_endday) { + $param .= '&search_date_order_endday='.urlencode($search_date_order_endday); } - if ($search_deliverymonth) { - $param .= '&search_deliverymonth='.urlencode($search_deliverymonth); + if ($search_date_order_endmonth) { + $param .= '&search_date_order_endmonth='.urlencode($search_date_order_endmonth); } - if ($search_deliveryyear) { - $param .= '&search_deliveryyear='.urlencode($search_deliveryyear); + if ($search_date_order_endyear) { + $param .= '&search_date_order_endyear='.urlencode($search_date_order_endyear); + } + if ($search_date_delivery_startday) { + $param .= '&search_date_delivery_startday='.urlencode($search_date_delivery_startday); + } + if ($search_date_delivery_startmonth) { + $param .= '&search_date_delivery_startmonth='.urlencode($search_date_delivery_startmonth); + } + if ($search_date_delivery_startyear) { + $param .= '&search_date_delivery_startyear='.urlencode($search_date_delivery_startyear); + } + if ($search_date_delivery_endday) { + $param .= '&search_date_delivery_endday='.urlencode($search_date_delivery_endday); + } + if ($search_date_delivery_endmonth) { + $param .= '&search_date_delivery_endmonth='.urlencode($search_date_delivery_endmonth); + } + if ($search_date_delivery_endyear) { + $param .= '&search_date_delivery_endyear='.urlencode($search_date_delivery_endyear); + } + if ($search_date_valid_startday) { + $param .= '&search_date_valid_startday='.urlencode($search_date_valid_startday); + } + if ($search_date_valid_startmonth) { + $param .= '&search_date_valid_startmonth='.urlencode($search_date_valid_startmonth); + } + if ($search_date_valid_startyear) { + $param .= '&search_date_valid_startyear='.urlencode($search_date_valid_startyear); + } + if ($search_date_valid_endday) { + $param .= '&search_date_valid_endday='.urlencode($search_date_valid_endday); + } + if ($search_date_valid_endmonth) { + $param .= '&search_date_valid_endmonth='.urlencode($search_date_valid_endmonth); + } + if ($search_date_valid_endyear) { + $param .= '&search_date_valid_endyear='.urlencode($search_date_valid_endyear); + } + if ($search_date_approve_startday) { + $param .= '&search_date_approve_startday='.urlencode($search_date_approve_startday); + } + if ($search_date_approve_startmonth) { + $param .= '&search_date_approve_startmonth='.urlencode($search_date_approve_startmonth); + } + if ($search_date_approve_startyear) { + $param .= '&search_date_approve_startyear='.urlencode($search_date_approve_startyear); + } + if ($search_date_approve_endday) { + $param .= '&search_date_approve_endday='.urlencode($search_date_approve_endday); + } + if ($search_date_approve_endmonth) { + $param .= '&search_date_approve_endmonth='.urlencode($search_date_approve_endmonth); + } + if ($search_date_approve_endyear) { + $param .= '&search_date_approve_endyear='.urlencode($search_date_approve_endyear); } if ($search_ref) { $param .= '&search_ref='.urlencode($search_ref); @@ -605,16 +744,16 @@ if ($sall || $search_product_category > 0 || $search_user > 0) { $sql .= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, s.email,'; $sql .= " typent.code as typent_code,"; $sql .= " state.code_departement as state_code, state.nom as state_name,"; -$sql .= " cf.rowid, cf.ref, cf.ref_supplier, cf.fk_statut, cf.billed, cf.total_ht, cf.total_tva, cf.total_ttc, cf.fk_user_author, cf.date_commande as date_commande, cf.date_livraison as date_livraison,"; +$sql .= " cf.rowid, cf.ref, cf.ref_supplier, cf.fk_statut, cf.billed, cf.total_ht, cf.total_tva, cf.total_ttc, cf.fk_user_author, cf.date_commande as date_commande, cf.date_livraison as date_livraison,cf.date_valid, cf.date_approve,"; $sql .= ' cf.fk_multicurrency, cf.multicurrency_code, cf.multicurrency_tx, cf.multicurrency_total_ht, cf.multicurrency_total_tva, cf.multicurrency_total_ttc,'; $sql .= ' cf.date_creation as date_creation, cf.tms as date_update,'; $sql .= ' cf.note_public, cf.note_private,'; $sql .= " p.rowid as project_id, p.ref as project_ref, p.title as project_title,"; -$sql .= " u.firstname, u.lastname, u.photo, u.login, u.email as user_email"; +$sql .= " u.firstname, u.lastname, u.photo, u.login, u.email as user_email, u.statut as user_status"; // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -654,7 +793,7 @@ if ($socid > 0) { $sql .= " AND s.rowid = ".((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($search_ref) { $sql .= natural_search('cf.ref', $search_ref); @@ -684,8 +823,30 @@ if (GETPOST('statut', 'intcomma') !== '') { if ($search_status != '' && $search_status != '-1') { $sql .= " AND cf.fk_statut IN (".$db->sanitize($db->escape($search_status)).")"; } -$sql .= dolSqlDateFilter("cf.date_commande", $search_orderday, $search_ordermonth, $search_orderyear); -$sql .= dolSqlDateFilter("cf.date_livraison", $search_deliveryday, $search_deliverymonth, $search_deliveryyear); +if ($search_date_order_start) { + $sql .= " AND cf.date_commande >= '".$db->idate($search_date_order_start)."'"; +} +if ($search_date_order_end) { + $sql .= " AND cf.date_commande <= '".$db->idate($search_date_order_end)."'"; +} +if ($search_date_delivery_start) { + $sql .= " AND cf.date_livraison >= '".$db->idate($search_date_delivery_start)."'"; +} +if ($search_date_delivery_end) { + $sql .= " AND cf.date_livraison <= '".$db->idate($search_date_delivery_end)."'"; +} +if ($search_date_valid_start) { + $sql .= " AND cf.date_commande >= '".$db->idate($search_date_valid_start)."'"; +} +if ($search_date_valid_end) { + $sql .= " AND cf.date_commande <= '".$db->idate($search_date_valid_end)."'"; +} +if ($search_date_approve_start) { + $sql .= " AND cf.date_livraison >= '".$db->idate($search_date_approve_start)."'"; +} +if ($search_date_approve_end) { + $sql .= " AND cf.date_livraison <= '".$db->idate($search_date_approve_end)."'"; +} if ($search_town) { $sql .= natural_search('s.town', $search_town); } @@ -708,7 +869,7 @@ if ($search_sale > 0) { $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $search_sale); } if ($search_user > 0) { - $sql .= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='supplier_order' AND tc.source='internal' AND ec.element_id = cf.rowid AND ec.fk_socpeople = ".$db->escape($search_user); + $sql .= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='supplier_order' AND tc.source='internal' AND ec.element_id = cf.rowid AND ec.fk_socpeople = ".((int) $search_user); } if ($search_total_ht != '') { $sql .= natural_search('cf.total_ht', $search_total_ht, 1); @@ -720,7 +881,7 @@ if ($search_total_ttc != '') { $sql .= natural_search('cf.total_ttc', $search_total_ttc, 1); } if ($search_multicurrency_code != '') { - $sql .= ' AND cf.multicurrency_code = "'.$db->escape($search_multicurrency_code).'"'; + $sql .= " AND cf.multicurrency_code = '".$db->escape($search_multicurrency_code)."'"; } if ($search_multicurrency_tx != '') { $sql .= natural_search('cf.multicurrency_tx', $search_multicurrency_tx, 1); @@ -791,23 +952,77 @@ if ($resql) { if ($sall) { $param .= "&search_all=".urlencode($sall); } - if ($search_orderday) { - $param .= '&search_orderday='.urlencode($search_orderday); + if ($search_date_order_startday) { + $param .= '&search_date_order_startday='.urlencode($search_date_order_startday); } - if ($search_ordermonth) { - $param .= '&search_ordermonth='.urlencode($search_ordermonth); + if ($search_date_order_startmonth) { + $param .= '&search_date_order_startmonth='.urlencode($search_date_order_startmonth); } - if ($search_orderyear) { - $param .= '&search_orderyear='.urlencode($search_orderyear); + if ($search_date_order_startyear) { + $param .= '&search_date_order_startyear='.urlencode($search_date_order_startyear); } - if ($search_deliveryday) { - $param .= '&search_deliveryday='.urlencode($search_deliveryday); + if ($search_date_order_endday) { + $param .= '&search_date_order_endday='.urlencode($search_date_order_endday); } - if ($search_deliverymonth) { - $param .= '&search_deliverymonth='.urlencode($search_deliverymonth); + if ($search_date_order_endmonth) { + $param .= '&search_date_order_endmonth='.urlencode($search_date_order_endmonth); } - if ($search_deliveryyear) { - $param .= '&search_deliveryyear='.urlencode($search_deliveryyear); + if ($search_date_order_endyear) { + $param .= '&search_date_order_endyear='.urlencode($search_date_order_endyear); + } + if ($search_date_delivery_startday) { + $param .= '&search_date_delivery_startday='.urlencode($search_date_delivery_startday); + } + if ($search_date_delivery_startmonth) { + $param .= '&search_date_delivery_startmonth='.urlencode($search_date_delivery_startmonth); + } + if ($search_date_delivery_startyear) { + $param .= '&search_date_delivery_startyear='.urlencode($search_date_delivery_startyear); + } + if ($search_date_delivery_endday) { + $param .= '&search_date_delivery_endday='.urlencode($search_date_delivery_endday); + } + if ($search_date_delivery_endmonth) { + $param .= '&search_date_delivery_endmonth='.urlencode($search_date_delivery_endmonth); + } + if ($search_date_delivery_endyear) { + $param .= '&search_date_delivery_endyear='.urlencode($search_date_delivery_endyear); + } + if ($search_date_valid_startday) { + $param .= '&search_date_valid_startday='.urlencode($search_date_valid_startday); + } + if ($search_date_valid_startmonth) { + $param .= '&search_date_valid_startmonth='.urlencode($search_date_valid_startmonth); + } + if ($search_date_valid_startyear) { + $param .= '&search_date_valid_startyear='.urlencode($search_date_valid_startyear); + } + if ($search_date_valid_endday) { + $param .= '&search_date_valid_endday='.urlencode($search_date_valid_endday); + } + if ($search_date_valid_endmonth) { + $param .= '&search_date_valid_endmonth='.urlencode($search_date_valid_endmonth); + } + if ($search_date_valid_endyear) { + $param .= '&search_date_valid_endyear='.urlencode($search_date_valid_endyear); + } + if ($search_date_approve_startday) { + $param .= '&search_date_approve_startday='.urlencode($search_date_approve_startday); + } + if ($search_date_approve_startmonth) { + $param .= '&search_date_approve_startmonth='.urlencode($search_date_approve_startmonth); + } + if ($search_date_approve_startyear) { + $param .= '&search_date_approve_startyear='.urlencode($search_date_approve_startyear); + } + if ($search_date_approve_endday) { + $param .= '&search_date_approve_endday='.urlencode($search_date_approve_endday); + } + if ($search_date_approve_endmonth) { + $param .= '&search_date_approve_endmonth='.urlencode($search_date_approve_endmonth); + } + if ($search_date_approve_endyear) { + $param .= '&search_date_approve_endyear='.urlencode($search_date_approve_endyear); } if ($search_ref) { $param .= '&search_ref='.urlencode($search_ref); @@ -880,6 +1095,15 @@ if ($resql) { 'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), 'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), ); + + if ($permissiontovalidate) { + if ($user->rights->fournisseur->commande->approuver && empty($conf->global->SUPPLIER_ORDER_NO_DIRECT_APPROVE)) { + $arrayofmassactions['prevalidate'] = img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("ValidateAndApprove"); + } else { + $arrayofmassactions['prevalidate'] = img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"); + } + } + if ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer) { $arrayofmassactions['createbills'] = img_picto('', 'bill', 'class="pictofixedwidth"').$langs->trans("CreateInvoiceForThisSupplier"); } @@ -919,6 +1143,10 @@ if ($resql) { $trackid = 'sord'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + if ($massaction == 'prevalidate') { + print $form->formconfirm($_SERVER["PHP_SELF"].$fieldstosearchall, $langs->trans("ConfirmMassValidation"), $langs->trans("ConfirmMassValidationQuestion"), "validate", null, '', 0, 200, 500, 1); + } + if ($massaction == 'createbills') { //var_dump($_REQUEST); print ''; @@ -1073,22 +1301,24 @@ if ($resql) { } // Date order if (!empty($arrayfields['cf.date_commande']['checked'])) { - print ''; - if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { - print ''; - } - print ''; - $formother->select_year($search_orderyear ? $search_orderyear : -1, 'search_orderyear', 1, 20, 5); + print ''; + print '
    '; + print $form->selectDate($search_date_order_start ? $search_date_order_start : -1, 'search_date_order_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search_date_order_end ? $search_date_order_end : -1, 'search_date_order_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; print ''; } // Date delivery if (!empty($arrayfields['cf.date_livraison']['checked'])) { - print ''; - if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { - print ''; - } - print ''; - $formother->select_year($search_deliveryyear ? $search_deliveryyear : -1, 'search_deliveryyear', 1, 20, 5); + print ''; + print '
    '; + print $form->selectDate($search_date_delivery_start ? $search_date_delivery_start : -1, 'search_date_delivery_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search_date_delivery_end ? $search_date_delivery_end : -1, 'search_date_delivery_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; print ''; } if (!empty($arrayfields['cf.total_ht']['checked'])) { @@ -1168,6 +1398,28 @@ if ($resql) { print $form->selectyesno('search_billed', $search_billed, 1, 0, 1, 1); print ''; } + // Date valid + if (!empty($arrayfields['cf.date_valid']['checked'])) { + print ''; + print '
    '; + print $form->selectDate($search_date_valid_start ? $search_date_valid_start : -1, 'search_date_valid_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search_date_valid_end ? $search_date_valid_end : -1, 'search_date_valid_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + print ''; + } + // Date approve + if (!empty($arrayfields['cf.date_approve']['checked'])) { + print ''; + print '
    '; + print $form->selectDate($search_date_approve_start ? $search_date_approve_start : -1, 'search_date_approve_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search_date_approve_end ? $search_date_approve_end : -1, 'search_date_approve_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + print ''; + } // Action column print ''; $searchpicto = $form->showFilterButtons(); @@ -1259,6 +1511,12 @@ if ($resql) { if (!empty($arrayfields['cf.billed']['checked'])) { print_liste_field_titre($arrayfields['cf.billed']['label'], $_SERVER["PHP_SELF"], 'cf.billed', '', $param, '', $sortfield, $sortorder, 'center '); } + if (!empty($arrayfields['cf.date_valid']['checked'])) { + print_liste_field_titre($arrayfields['cf.date_valid']['label'], $_SERVER["PHP_SELF"], "cf.date_valid", "", $param, '', $sortfield, $sortorder, 'center '); + } + if (!empty($arrayfields['cf.date_approve']['checked'])) { + print_liste_field_titre($arrayfields['cf.date_approve']['label'], $_SERVER["PHP_SELF"], 'cf.date_approve', '', $param, '', $sortfield, $sortorder, 'center '); + } print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch '); print "\n"; @@ -1346,6 +1604,7 @@ if ($resql) { $userstatic->login = $obj->login; $userstatic->photo = $obj->photo; $userstatic->email = $obj->user_email; + $userstatic->statut = $obj->user_status; if (!empty($arrayfields['u.login']['checked'])) { print ''; if ($userstatic->id) { @@ -1406,7 +1665,7 @@ if ($resql) { // Type ent if (!empty($arrayfields['typent.code']['checked'])) { print ''; - if (count($typenArray) == 0) { + if (empty($typenArray)) { $typenArray = $formcompany->typent_array(1); } print $typenArray[$obj->typent_code]; @@ -1556,6 +1815,25 @@ if ($resql) { } } + // valid date + if (!empty($arrayfields['cf.date_valid']['checked'])) { + print ''; + print dol_print_date($db->jdate($obj->date_valid), 'day'); + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // approve date + if (!empty($arrayfields['cf.date_approve']['checked'])) { + print ''; + print dol_print_date($db->jdate($obj->date_approve), 'day'); + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // Action column print ''; if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined diff --git a/htdocs/fourn/commande/note.php b/htdocs/fourn/commande/note.php index d9b0904c7ef..f19943a3244 100644 --- a/htdocs/fourn/commande/note.php +++ b/htdocs/fourn/commande/note.php @@ -43,13 +43,13 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } + +$hookmanager->initHooks(array('ordersuppliercardnote')); $result = restrictedArea($user, 'fournisseur', $id, 'commande_fournisseur', 'commande'); $object = new CommandeFournisseur($db); $object->fetch($id, $ref); -$hookmanager->initHooks(array('ordersuppliercardnote')); - $permissionnote = ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer); // Used by the include of actions_setnotes.inc.php @@ -57,7 +57,13 @@ $permissionnote = ($user->rights->fournisseur->commande->creer || $user->rights- * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -105,7 +111,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php index a152ca26ff1..1efd78df372 100644 --- a/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php @@ -23,7 +23,7 @@ if (empty($conf) || !is_object($conf)) { } -print "\n"; +print "\n"; global $user; @@ -55,7 +55,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) { echo price($objectlink->total_ht); } ?> getLibStatut(3); ?> - ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> + ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if (dol_strlen($stcomm)) { diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index a28b8c13331..d03b93e439b 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -140,8 +140,23 @@ if ($reshook < 0) { } if (empty($reshook)) { + $backurlforlist = DOL_URL_ROOT.'/fourn/facture/list.php'; + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = DOL_URL_ROOT.'/fourn/facture/card.php?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); + } + } + } + if ($cancel) { - if (!empty($backtopage)) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { header("Location: ".$backtopage); exit; } @@ -408,9 +423,9 @@ if (empty($reshook)) { dol_print_error($db); } } elseif ($action == 'setdatef' && $usercancreate) { - $newdate = dol_mktime(0, 0, 0, $_POST['datefmonth'], $_POST['datefday'], $_POST['datefyear']); - if ($newdate > (dol_now() + (empty($conf->global->INVOICE_MAX_OFFSET_IN_FUTURE) ? 0 : $conf->global->INVOICE_MAX_OFFSET_IN_FUTURE))) { - if (empty($conf->global->INVOICE_MAX_OFFSET_IN_FUTURE)) { + $newdate = dol_mktime(0, 0, 0, GETPOST('datefmonth', 'int'), GETPOST('datefday', 'int'), GETPOST('datefyear', 'int'), 'tzserver'); + if ($newdate > (dol_now('tzuserrel') + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + if (empty($conf->global->INVOICE_MAX_FUTURE_DELAY)) { setEventMessages($langs->trans("WarningInvoiceDateInFuture"), null, 'warnings'); } else { setEventMessages($langs->trans("WarningInvoiceDateTooFarInFuture"), null, 'warnings'); @@ -434,7 +449,7 @@ if (empty($reshook)) { } } elseif ($action == 'setdate_lim_reglement' && $usercancreate) { $object->fetch($id); - $object->date_echeance = dol_mktime(12, 0, 0, $_POST['date_lim_reglementmonth'], $_POST['date_lim_reglementday'], $_POST['date_lim_reglementyear']); + $object->date_echeance = dol_mktime(12, 0, 0, GETPOST('date_lim_reglementmonth', 'int'), GETPOST('date_lim_reglementday', 'int'), GETPOST('date_lim_reglementyear', 'int')); if (!empty($object->date_echeance) && $object->date_echeance < $object->date) { $object->date_echeance = $object->date; setEventMessages($langs->trans("DatePaymentTermCantBeLowerThanObjectDate"), null, 'warnings'); @@ -538,7 +553,7 @@ if (empty($reshook)) { } // If some payments were already done, we change the amount to pay using same prorate - if (!empty($conf->global->SUPPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED)) { + if (!empty($conf->global->SUPPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED) && $object->type == FactureFournisseur::TYPE_CREDIT_NOTE) { $alreadypaid = $object->getSommePaiement(); // This can be not 0 if we allow to create credit to reuse from credit notes partially refunded. if ($alreadypaid && abs($alreadypaid) < abs($object->total_ttc)) { $ratio = abs(($object->total_ttc - $alreadypaid) / $object->total_ttc); @@ -578,7 +593,7 @@ if (empty($reshook)) { $sql = 'SELECT SUM(pf.amount) as total_paiements'; $sql .= ' FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf, '.MAIN_DB_PREFIX.'paiementfourn as p'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as c ON p.fk_paiement = c.id AND c.entity IN ('.getEntity('c_paiement').')'; - $sql .= ' WHERE pf.fk_facturefourn = '.$object->id; + $sql .= ' WHERE pf.fk_facturefourn = '.((int) $object->id); $sql .= ' AND pf.fk_paiementfourn = p.rowid'; $sql .= ' AND p.entity IN ('.getEntity('invoice').')'; @@ -595,7 +610,7 @@ if (empty($reshook)) { $sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,"; $sql .= " re.description, re.fk_invoice_supplier_source"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except as re"; - $sql .= " WHERE fk_invoice_supplier = ".$object->id; + $sql .= " WHERE fk_invoice_supplier = ".((int) $object->id); $resql = $db->query($sql); if (!empty($resql)) { while ($obj = $db->fetch_object($resql)) { @@ -680,6 +695,7 @@ if (empty($reshook)) { if ($socid > 0) { $object->socid = GETPOST('socid', 'int'); } + $selectedLines = GETPOST('toselect', 'array'); $db->begin(); @@ -691,8 +707,12 @@ if (empty($reshook)) { $error++; } - $dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); - $datedue = dol_mktime(12, 0, 0, GETPOST('echmonth', 'int'), GETPOST('echday', 'int'), GETPOST('echyear', 'int')); + $dateinvoice = dol_mktime(0, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'), 'tzserver'); // If we enter the 02 january, we need to save the 02 january for server + $datedue = dol_mktime(0, 0, 0, GETPOST('echmonth', 'int'), GETPOST('echday', 'int'), GETPOST('echyear', 'int'), 'tzserver'); + /*var_dump($dateinvoice.' '.dol_print_date($dateinvoice, 'dayhour')); + var_dump(dol_now('tzuserrel').' '.dol_get_last_hour(dol_now('tzuserrel')).' '.dol_print_date(dol_now('tzuserrel'),'dayhour').' '.dol_print_date(dol_get_last_hour(dol_now('tzuserrel')), 'dayhour')); + var_dump($db->idate($dateinvoice)); + exit;*/ // Replacement invoice if (GETPOST('type') == FactureFournisseur::TYPE_REPLACEMENT) { @@ -701,7 +721,7 @@ if (empty($reshook)) { $action = 'create'; $_GET['socid'] = $_POST['socid']; $error++; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; @@ -725,8 +745,8 @@ if (empty($reshook)) { $object->date_echeance = $datedue; $object->note_public = GETPOST('note_public', 'restricthtml'); $object->note_private = GETPOST('note_private', 'restricthtml'); - $object->cond_reglement_id = GETPOST('cond_reglement_id'); - $object->mode_reglement_id = GETPOST('mode_reglement_id'); + $object->cond_reglement_id = GETPOST('cond_reglement_id', 'int'); + $object->mode_reglement_id = GETPOST('mode_reglement_id', 'int'); $object->fk_account = GETPOST('fk_account', 'int'); $object->fk_project = ($tmpproject > 0) ? $tmpproject : null; $object->fk_incoterms = GETPOST('incoterm_id', 'int'); @@ -736,7 +756,7 @@ if (empty($reshook)) { $object->transport_mode_id = GETPOST('transport_mode_id', 'int'); // Proprietes particulieres a facture de remplacement - $object->fk_facture_source = GETPOST('fac_replacement'); + $object->fk_facture_source = GETPOST('fac_replacement', 'int'); $object->type = FactureFournisseur::TYPE_REPLACEMENT; $id = $object->createFromCurrent($user); @@ -765,7 +785,7 @@ if (empty($reshook)) { $action = 'create'; $_GET['socid'] = $_POST['socid']; $error++; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; @@ -861,7 +881,7 @@ if (empty($reshook)) { } } - // Standard invoice or Deposit invoice, created from a Predefined template invoice + // Standard invoice or Deposit invoice, not from a Predefined template invoice if (GETPOST('type') == FactureFournisseur::TYPE_STANDARD || GETPOST('type') == FactureFournisseur::TYPE_DEPOSIT) { if (GETPOST('socid', 'int') < 1) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentities('Supplier')), null, 'errors'); @@ -874,7 +894,7 @@ if (empty($reshook)) { $action = 'create'; $_GET['socid'] = $_POST['socid']; $error++; - } elseif ($dateinvoice > (dol_get_last_hour(dol_now()) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { + } elseif ($dateinvoice > (dol_get_last_hour(dol_now('tzuserrel')) + (empty($conf->global->INVOICE_MAX_FUTURE_DELAY) ? 0 : $conf->global->INVOICE_MAX_FUTURE_DELAY))) { $error++; setEventMessages($langs->trans("ErrorDateIsInFuture"), null, 'errors'); $action = 'create'; @@ -1085,12 +1105,12 @@ if (empty($reshook)) { 1, 0, 0, - 0, null, $object->origin, 0, '', $lines[$i]->special_code, + 0, 0 //,$langs->trans('Deposit') //Deprecated ); @@ -1112,6 +1132,10 @@ if (empty($reshook)) { $num = count($lines); for ($i = 0; $i < $num; $i++) { // TODO handle subprice < 0 + if (!in_array($lines[$i]->id, $selectedLines)) { + continue; // Skip unselected lines + } + $desc = ($lines[$i]->desc ? $lines[$i]->desc : $lines[$i]->libelle); $product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0); @@ -1272,8 +1296,8 @@ if (empty($reshook)) { $localtax1_tx = get_localtax($tva_tx, 1, $mysoc, $object->thirdparty); $localtax2_tx = get_localtax($tva_tx, 2, $mysoc, $object->thirdparty); - $remise_percent = price2num(GETPOST('remise_percent'), 2); - $pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), 'MU'); + $remise_percent = price2num(GETPOST('remise_percent'), '', 2); + $pu_ht_devise = price2num(GETPOST('multicurrency_subprice'), 'MU', 2); // Extrafields Lines $extralabelsline = $extrafields->fetch_name_optionals_label($object->table_element_line); @@ -1927,7 +1951,7 @@ if ($action == 'create') { if ($societe->id > 0) { $absolute_discount = $societe->getAvailableDiscounts('', '', 0, 1); - print $societe->getNomUrl(1); + print $societe->getNomUrl(1, 'supplier'); print ''; } else { print img_picto('', 'company').$form->select_company($societe->id, 'socid', 's.fournisseur=1', 'SelectThirdParty', 0, 0, null, 0, 'minwidth300 widthcentpercentminusxx'); @@ -2261,7 +2285,7 @@ if ($action == 'create') { } if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit'); + print $object->showOptionals($extrafields, 'create'); } // Public note @@ -2337,19 +2361,12 @@ if ($action == 'create') { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; - // Bouton "Create Draft" + print "\n"; print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; - - print "\n"; - + print $form->buttonsSaveCancel("CreateDraft"); // Show origin lines if (is_object($objectsrc)) { @@ -2360,10 +2377,12 @@ if ($action == 'create') { print ''; - $objectsrc->printOriginLinesList(); + $objectsrc->printOriginLinesList('', $selectedLines); print '
    '; } + + print "\n"; } else { if ($id > 0 || !empty($ref)) { // @@ -2633,7 +2652,7 @@ if ($action == 'create') { $morehtmlref .= $form->editfieldkey("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $usercancreate, 'string', '', 0, 1); $morehtmlref .= $form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $usercancreate, 'string', '', null, null, '', 1); // Thirdparty - $morehtmlref .= '
    '.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1); + $morehtmlref .= '
    '.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1, 'supplier'); if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) { $morehtmlref .= ' ('.$langs->trans("OtherBills").')'; } @@ -2643,7 +2662,7 @@ if ($action == 'create') { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($usercancreate) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -2739,14 +2758,17 @@ if ($action == 'create') { // Label print ''; - print ''.$form->editfieldkey("Label", 'label', $object->label, $object, ($usercancreate)).''; - print ''.$form->editfieldval("Label", 'label', $object->label, $object, ($usercancreate)).''; + print ''.$form->editfieldkey("Label", 'label', $object->label, $object, $usercancreate).''; + print ''.$form->editfieldval("Label", 'label', $object->label, $object, $usercancreate).''; print ''; $form_permission = ($object->statut < FactureFournisseur::STATUS_CLOSED) && $usercancreate && ($object->getSommePaiement() <= 0); + $form_permission2 = ($object->statut < FactureFournisseur::STATUS_CLOSED) && $usercancreate; // Date - print ''.$form->editfieldkey("DateInvoice", 'datef', $object->datep, $object, $form_permission, 'datepicker').''; + print ''; + print $form->editfieldkey("DateInvoice", 'datef', $object->datep, $object, $form_permission, 'datepicker'); + print ''; print $form->editfieldval("Date", 'datef', $object->datep, $object, $form_permission, 'datepicker'); print ''; @@ -2756,11 +2778,11 @@ if ($action == 'create') { print ''; + if ($action != 'editconditions' && $form_permission) { + print ''; } print '
    '; print $langs->trans('PaymentConditions'); print ''; - if ($action != 'editconditions' && $usercancreate) { - print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).'id.'">'.img_edit($langs->trans('SetConditions'), 1).'
    '; - print ''; + print ''; if ($action == 'editconditions') { $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->cond_reglement_id, 'cond_reglement_id'); } else { @@ -2770,8 +2792,10 @@ if ($action == 'create') { print ''; // Due date - print ''.$form->editfieldkey("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission, 'datepicker').''; - print $form->editfieldval("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission, 'datepicker'); + print ''; + print $form->editfieldkey("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission2, 'datepicker'); + print ''; + print $form->editfieldval("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission2, 'datepicker'); if ($action != 'editdate_lim_reglement' && $object->hasDelay()) { print img_warning($langs->trans('Late')); } @@ -2783,11 +2807,11 @@ if ($action == 'create') { print ''; - if ($action != 'editmode' && $usercancreate) { - print ''; + if ($action != 'editmode' && $form_permission2) { + print ''; } print '
    '; print $langs->trans('PaymentMode'); print 'id.'">'.img_edit($langs->trans('SetMode'), 1).'id.'">'.img_edit($langs->trans('SetMode'), 1).'
    '; - print ''; + print ''; if ($action == 'editmode') { $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'mode_reglement_id', 'DBIT', 1, 1); } else { @@ -2804,10 +2828,10 @@ if ($action == 'create') { print $form->editfieldkey('Currency', 'multicurrency_code', '', $object, 0); print ''; if ($action != 'editmulticurrencycode' && $object->statut == $object::STATUS_DRAFT) { - print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; + print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; } print ''; - print ''; + print ''; if ($action == 'editmulticurrencycode') { $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'multicurrency_code'); } else { @@ -2819,14 +2843,14 @@ if ($action == 'create') { if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) { print ''; print ''; - print ''; + print ''; } print '
    '; + print ''; if ($action != 'editmulticurrencyrate' && $object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) { - print ''; + print ''; } print '
    '; print $form->editfieldkey('CurrencyRate', 'multicurrency_tx', '', $object, 0); print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).'
    '; - print '
    '; + print ''; if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') { if ($action == 'actualizemulticurrencyrate') { list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code); @@ -2851,10 +2875,10 @@ if ($action == 'create') { print $langs->trans('BankAccount'); print ''; if ($action != 'editbankaccount' && $usercancreate) { - print 'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).'
    '; - print ''; + print ''; if ($action == 'editbankaccount') { $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_account, 'fk_account', 1); } else { @@ -2871,13 +2895,13 @@ if ($action == 'create') { print $langs->trans('IncotermLabel'); print ''; if ($usercancreate) { - print ''.img_edit().''; + print ''.img_edit().''; } else { print ' '; } print ''; print ''; - print ''; + print ''; if ($action != 'editincoterm') { print $form->textwithpicto($object->display_incoterms(), $object->label_incoterms, 1); } else { @@ -2894,11 +2918,10 @@ if ($action == 'create') { print $langs->trans('IntracommReportTransportMode'); print ''; if ($action != 'editmode' && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer)) { - print 'id.'">'.img_edit().''; + print 'id.'">'.img_edit().''; } print ''; print ''; - print ''; if ($action == 'editmode') { $form->formSelectTransportMode($_SERVER['PHP_SELF'].'?id='.$object->id, $object->transport_mode_id, 'transport_mode_id', 1, 1); @@ -2913,8 +2936,8 @@ if ($action == 'create') { include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; print ''; - print '
    '; + print '
    '; print '
    '; print '
    '; @@ -2933,7 +2956,7 @@ if ($action == 'create') { print ''; // Multicurrency Amount TTC - print ''.$form->editfieldkey('MulticurrencyAmountTTC', 'multicurrency_total_ttc', '', $object, 0).''; + print ''.$form->editfieldkey('MulticurrencyAmountTTC', 'multicurrency_total_ttc', '', $object, 0).''; print ''.price($object->multicurrency_total_ttc, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)).''; print ''; } @@ -2977,9 +3000,8 @@ if ($action == 'create') { print ''; - /* - * List of payments - */ + + // List of payments $totalpaye = 0; @@ -3019,7 +3041,7 @@ if ($action == 'create') { $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank_account as ba ON b.fk_account = ba.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as c ON p.fk_paiement = c.id'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON pf.fk_paiementfourn = p.rowid'; - $sql .= ' WHERE pf.fk_facturefourn = '.$object->id; + $sql .= ' WHERE pf.fk_facturefourn = '.((int) $object->id); $sql .= ' ORDER BY p.datep, p.tms'; $result = $db->query($sql); @@ -3133,11 +3155,10 @@ if ($action == 'create') { $creditnoteamount = 0; $depositamount = 0; - $sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,"; $sql .= " re.description, re.fk_invoice_supplier_source"; $sql .= " FROM ".MAIN_DB_PREFIX."societe_remise_except as re"; - $sql .= " WHERE fk_invoice_supplier = ".$object->id; + $sql .= " WHERE fk_invoice_supplier = ".((int) $object->id); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -3233,8 +3254,21 @@ if ($action == 'create') { } print ''; print ''; - print ''.price($resteapayeraffiche).''; - print ' '; + print ''.price($resteapayeraffiche).' '; + + // Remainder to pay Multicurrency + if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) { + print ''; + print ''; + if ($resteapayeraffiche <= 0) { + print $langs->trans('RemainderToPayBackMulticurrency'); + } else { + print $langs->trans('ExcessPaidMulticurrency'); + } + print ''; + print ''; + print ''.(!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency).' '.price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT')).' '; + } } else // Credit note { $cssforamountpaymentcomplete = 'amountpaymentneutral'; @@ -3257,8 +3291,21 @@ if ($action == 'create') { } print ''; print ''; - print ''.price($sign * $resteapayeraffiche).''; - print ' '; + print ''.price($sign * $resteapayeraffiche).' '; + + // Remainder to pay back Multicurrency + if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) { + print ''; + print ''; + if ($resteapayeraffiche <= 0) { + print $langs->trans('RemainderToPayBackMulticurrency'); + } else { + print $langs->trans('ExcessPaidMulticurrency'); + } + print ''; + print ''; + print ''.(!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency).' '.price(price2num($sign * $object->multicurrency_tx * $resteapayeraffiche, 'MT')).' '; + } // Sold credit note // print ''.$langs->trans('TotalTTC').' :'; @@ -3292,10 +3339,11 @@ if ($action == 'create') { /* * Lines */ - print '
    '; + print ''; print ''; print ''; print ''; + print ''; print ''; print ''; @@ -3358,7 +3406,7 @@ if ($action == 'create') { $ventilExportCompta = $object->getVentilExportCompta(); // Should be 0 since the sum of payments are zero. But we keep the protection. if ($ventilExportCompta == 0) { - print ''.$langs->trans('Modify').''; + print ''.$langs->trans('Modify').''; } else { print ''.$langs->trans('Modify').''; } @@ -3373,7 +3421,7 @@ if ($action == 'create') { || ($object->type == FactureFournisseur::TYPE_DEPOSIT && empty($discount->id))) && ($object->statut == FactureFournisseur::STATUS_CLOSED || $object->statut == FactureFournisseur::STATUS_ABANDONED)) { // A paid invoice (partially or completely) if (!$facidnext && $object->close_code != 'replaced' && $usercancreate) { // Not replaced by another invoice - print ''.$langs->trans('ReOpen').''; + print ''.$langs->trans('ReOpen').''; } else { if ($usercancreate) { print ''.$langs->trans('ReOpen').''; @@ -3491,7 +3539,7 @@ if ($action == 'create') { } elseif ($isErasable <= 0) { // Any other cases print ''.$langs->trans('Delete').''; } else { - print ''.$langs->trans('Delete').''; + print ''.$langs->trans('Delete').''; } } print '
    '; diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index 22892823f05..81d72f7750c 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -142,7 +142,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->facture->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index d7c11045f03..f6954635db1 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -118,7 +118,7 @@ if ($object->id > 0) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->facture->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/facture/index.php b/htdocs/fourn/facture/index.php index c695eed9285..5479ad22462 100644 --- a/htdocs/fourn/facture/index.php +++ b/htdocs/fourn/facture/index.php @@ -58,19 +58,34 @@ print load_fiche_titre($langs->trans("SupplierInvoicesArea"), '', 'supplier_invo print '
    '; print '
    '; -print getNumberInvoicesPieChart('suppliers'); -//print getPurchaseInvoicePieChart($socid); -print '
    '; -print getDraftSupplierTable($maxDraftCount, $socid); +$tmp = getNumberInvoicesPieChart('suppliers'); +if ($tmp) { + print $tmp; + print '
    '; +} + +$tmp = getDraftSupplierTable($maxDraftCount, $socid); +if ($tmp) { + print $tmp; + print '
    '; +} print '
    '; print '
    '; print '
    '; -print getPurchaseInvoiceLatestEditTable($maxLatestEditCount, $socid); -print '
    '; -print getPurchaseInvoiceUnpaidOpenTable($max, $socid); +$tmp = getPurchaseInvoiceLatestEditTable($maxLatestEditCount, $socid); +if ($tmp) { + print $tmp; + print '
    '; +} + +$tmp = getPurchaseInvoiceUnpaidOpenTable($max, $socid); +if ($tmp) { + print $tmp; + print '
    '; +} print '
    '; print '
    '; diff --git a/htdocs/fourn/facture/info.php b/htdocs/fourn/facture/info.php index efe91880a56..de8c68bc29c 100644 --- a/htdocs/fourn/facture/info.php +++ b/htdocs/fourn/facture/info.php @@ -86,7 +86,7 @@ if (!empty($conf->projet->enabled)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->facture->creer) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 9d5343c47c4..a325f9db780 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -45,10 +45,6 @@ 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.'/projet/class/project.class.php'; -if (!$user->rights->fournisseur->facture->lire) { - accessforbidden(); -} - // Load translation files required by the page $langs->loadLangs(array('products', 'bills', 'companies', 'projects')); @@ -123,7 +119,7 @@ $search_btn = GETPOST('button_search', 'alpha'); $search_remove_btn = GETPOST('button_removefilter', 'alpha'); $search_categ_sup = trim(GETPOST("search_categ_sup", 'int')); -$option = GETPOST('option'); +$option = GETPOST('search_option'); if ($option == 'late') { $search_status = '1'; } @@ -174,29 +170,29 @@ if (empty($user->socid)) { $checkedtypetiers = 0; $arrayfields = array( - 'f.ref'=>array('label'=>$langs->trans("Ref"), 'checked'=>1), - 'f.ref_supplier'=>array('label'=>$langs->trans("RefSupplier"), 'checked'=>1), - 'f.type'=>array('label'=>$langs->trans("Type"), 'checked'=>0), - 'f.label'=>array('label'=>$langs->trans("Label"), 'checked'=>0), - 'f.datef'=>array('label'=>$langs->trans("DateInvoice"), 'checked'=>1), - 'f.date_lim_reglement'=>array('label'=>$langs->trans("DateDue"), 'checked'=>1), - 'p.ref'=>array('label'=>$langs->trans("ProjectRef"), 'checked'=>0), - 's.nom'=>array('label'=>$langs->trans("ThirdParty"), 'checked'=>1), - 's.town'=>array('label'=>$langs->trans("Town"), 'checked'=>-1), - 's.zip'=>array('label'=>$langs->trans("Zip"), 'checked'=>1), - 'state.nom'=>array('label'=>$langs->trans("StateShort"), 'checked'=>0), - 'country.code_iso'=>array('label'=>$langs->trans("Country"), 'checked'=>0), - 'typent.code'=>array('label'=>$langs->trans("ThirdPartyType"), 'checked'=>$checkedtypetiers), - 'f.fk_cond_reglement'=>array('label'=>$langs->trans("PaymentTerm"), 'checked'=>1, 'position'=>50), - 'f.fk_mode_reglement'=>array('label'=>$langs->trans("PaymentMode"), 'checked'=>1, 'position'=>52), - 'f.total_ht'=>array('label'=>$langs->trans("AmountHT"), 'checked'=>1, 'position'=>105), - 'f.total_vat'=>array('label'=>$langs->trans("AmountVAT"), 'checked'=>0, 'position'=>110), + 'f.ref'=>array('label'=>"Ref", 'checked'=>1), + 'f.ref_supplier'=>array('label'=>"RefSupplier", 'checked'=>1), + 'f.type'=>array('label'=>"Type", 'checked'=>0), + 'f.label'=>array('label'=>"Label", 'checked'=>0), + 'f.datef'=>array('label'=>"DateInvoice", 'checked'=>1), + 'f.date_lim_reglement'=>array('label'=>"DateDue", 'checked'=>1), + 'p.ref'=>array('label'=>"ProjectRef", 'checked'=>0), + 's.nom'=>array('label'=>"ThirdParty", 'checked'=>1), + 's.town'=>array('label'=>"Town", 'checked'=>-1), + 's.zip'=>array('label'=>"Zip", 'checked'=>1), + 'state.nom'=>array('label'=>"StateShort", 'checked'=>0), + 'country.code_iso'=>array('label'=>"Country", 'checked'=>0), + 'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers), + 'f.fk_cond_reglement'=>array('label'=>"PaymentTerm", 'checked'=>1, 'position'=>50), + 'f.fk_mode_reglement'=>array('label'=>"PaymentMode", 'checked'=>1, 'position'=>52), + 'f.total_ht'=>array('label'=>"AmountHT", 'checked'=>1, 'position'=>105), + 'f.total_vat'=>array('label'=>"AmountVAT", 'checked'=>0, 'position'=>110), 'f.total_localtax1'=>array('label'=>$langs->transcountry("AmountLT1", $mysoc->country_code), 'checked'=>0, 'enabled'=>$mysoc->localtax1_assuj == "1", 'position'=>95), 'f.total_localtax2'=>array('label'=>$langs->transcountry("AmountLT2", $mysoc->country_code), 'checked'=>0, 'enabled'=>$mysoc->localtax2_assuj == "1", 'position'=>100), - 'f.total_ttc'=>array('label'=>$langs->trans("AmountTTC"), 'checked'=>0, 'position'=>115), + 'f.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>0, 'position'=>115), 'u.login'=>array('label'=>"Author", 'checked'=>1), - 'dynamount_payed'=>array('label'=>$langs->trans("Payed"), 'checked'=>0), - 'rtp'=>array('label'=>$langs->trans("Rest"), 'checked'=>0), + 'dynamount_payed'=>array('label'=>"Paid", 'checked'=>0), + 'rtp'=>array('label'=>"Rest", 'checked'=>0), 'f.multicurrency_code'=>array('label'=>'Currency', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1)), 'f.multicurrency_tx'=>array('label'=>'CurrencyRate', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1)), 'f.multicurrency_total_ht'=>array('label'=>'MulticurrencyAmountHT', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1)), @@ -204,9 +200,9 @@ $arrayfields = array( 'f.multicurrency_total_ttc'=>array('label'=>'MulticurrencyAmountTTC', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1)), 'multicurrency_dynamount_payed'=>array('label'=>'MulticurrencyAlreadyPaid', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1)), 'multicurrency_rtp'=>array('label'=>'MulticurrencyRemainderToPay', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1)), // Not enabled by default because slow - 'f.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500), - 'f.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500), - 'f.fk_statut'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000), + 'f.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), + 'f.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500), + 'f.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000), ); // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; @@ -214,6 +210,16 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); +if ((empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($conf->supplier_invoice->enabled) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { + accessforbidden(); +} +if ((empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($user->rights->supplier_invoice->lire) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { + accessforbidden(); +} + + /* * Actions @@ -338,7 +344,7 @@ if (empty($reshook)) { $rsql .= " , u.rowid as user_id, u.lastname, u.firstname, u.login"; $rsql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $rsql .= " , ".MAIN_DB_PREFIX."user as u"; - $rsql .= " WHERE fk_facture_fourn = ".$objecttmp->id; + $rsql .= " WHERE fk_facture_fourn = ".((int) $objecttmp->id); $rsql .= " AND pfd.fk_user_demande = u.rowid"; $rsql .= " AND pfd.traite = 0"; $rsql .= " ORDER BY pfd.date_demande DESC"; @@ -412,7 +418,7 @@ $sql .= " typent.code as typent_code,"; $sql .= " state.code_departement as state_code, state.nom as state_name,"; $sql .= " country.code as country_code,"; $sql .= " p.rowid as project_id, p.ref as project_ref, p.title as project_label,"; -$sql .= " u.login"; +$sql .= ' u.login, u.lastname, u.firstname, u.email as user_email, u.statut as user_statut, u.entity, u.photo, u.office_phone, u.office_fax, u.user_mobile, u.job, u.gender'; if ($search_categ_sup && $search_categ_sup != '-1') { $sql .= ", cs.fk_categorie, cs.fk_soc"; } @@ -424,7 +430,7 @@ if (!$search_all) { // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -435,7 +441,7 @@ $sql .= ' FROM '.MAIN_DB_PREFIX.'societe as s'; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent)"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = s.fk_departement)"; -if (!empty($search_categ_sup)) { +if (!empty($search_categ_sup) && $search_categ_supplier != '-1') { $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_fournisseur as cs ON s.rowid = cs.fk_soc"; } @@ -469,7 +475,7 @@ $sql .= $hookmanager->resPrint; $sql .= ' WHERE f.fk_soc = s.rowid'; $sql .= ' AND f.entity IN ('.getEntity('facture_fourn').')'; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($search_product_category > 0) { $sql .= " AND cp.fk_categorie = ".((int) $search_product_category); @@ -543,7 +549,7 @@ if ($search_montant_ttc != '') { $sql .= natural_search('f.total_ttc', $search_montant_ttc, 1); } if ($search_multicurrency_code != '') { - $sql .= ' AND f.multicurrency_code = "'.$db->escape($search_multicurrency_code).'"'; + $sql .= " AND f.multicurrency_code = '".$db->escape($search_multicurrency_code)."'"; } if ($search_multicurrency_tx != '') { $sql .= natural_search('f.multicurrency_tx', $search_multicurrency_tx, 1); @@ -588,7 +594,7 @@ if ($search_label) { $sql .= natural_search('f.libelle', $search_label); } if ($search_categ_sup > 0) { - $sql .= " AND cs.fk_categorie = ".$db->escape($search_categ_sup); + $sql .= " AND cs.fk_categorie = ".((int) $search_categ_sup); } if ($search_categ_sup == -2) { $sql .= " AND cs.fk_categorie IS NULL"; @@ -600,14 +606,14 @@ if ($filter && $filter != -1) { $aFilter = explode(',', $filter); foreach ($aFilter as $fil) { $filt = explode(':', $fil); - $sql .= ' AND '.$db->escape(trim($filt[0])).' = '.$db->escape(trim($filt[1])); + $sql .= " AND ".$db->escape(trim($filt[0]))." = '".$db->escape(trim($filt[1]))."'"; } } if ($search_sale > 0) { $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $search_sale); } if ($search_user > 0) { - $sql .= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='invoice_supplier' AND tc.source='internal' AND ec.element_id = f.rowid AND ec.fk_socpeople = ".$search_user; + $sql .= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='invoice_supplier' AND tc.source='internal' AND ec.element_id = f.rowid AND ec.fk_socpeople = ".((int) $search_user); } // Add where from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; @@ -628,7 +634,7 @@ if (!$search_all) { $sql .= " state.code_departement, state.nom,"; $sql .= ' country.code,'; $sql .= " p.rowid, p.ref, p.title,"; - $sql .= " u.login"; + $sql .= " u.login, u.lastname, u.firstname, u.email, u.statut, u.entity, u.photo, u.office_phone, u.office_fax, u.user_mobile, u.job, u.gender"; if ($search_categ_sup && $search_categ_sup != '-1') { $sql .= ", cs.fk_categorie, cs.fk_soc"; } @@ -649,7 +655,7 @@ if (!$search_all) { // Add HAVING from hooks $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListHaving', $parameters, $object); // Note that $action and $object may have been modified by hook -$sql .= !empty($hookmanager->resPrint) ? (' HAVING 1=1 ' . $hookmanager->resPrint) : ''; +$sql .= !empty($hookmanager->resPrint) ? (" HAVING 1=1 " . $hookmanager->resPrint) : ""; $sql .= $db->order($sortfield, $sortorder); @@ -797,7 +803,7 @@ if ($resql) { $param .= '&show_files='.urlencode($show_files); } if ($option) { - $param .= "&option=".urlencode($option); + $param .= "&search_option=".urlencode($option); } if ($optioncss != '') { $param .= '&optioncss='.urlencode($optioncss); @@ -1422,9 +1428,9 @@ if ($resql) { // Date limit if (!empty($arrayfields['f.date_lim_reglement']['checked'])) { - print ''.dol_print_date($datelimit, 'day'); + print ''.dol_print_date($datelimit, 'day'); if ($facturestatic->hasDelay()) { - print img_warning($langs->trans('Late')); + print img_warning($langs->trans('Alert').' - '.$langs->trans('Late')); } print ''; if (!$i) { @@ -1579,13 +1585,25 @@ if ($resql) { $totalarray['val']['f.total_ttc'] += $obj->total_ttc; } + $userstatic->id = $obj->fk_user_author; + $userstatic->login = $obj->login; + $userstatic->lastname = $obj->lastname; + $userstatic->firstname = $obj->firstname; + $userstatic->email = $obj->user_email; + $userstatic->statut = $obj->user_statut; + $userstatic->entity = $obj->entity; + $userstatic->photo = $obj->photo; + $userstatic->office_phone = $obj->office_phone; + $userstatic->office_fax = $obj->office_fax; + $userstatic->user_mobile = $obj->user_mobile; + $userstatic->job = $obj->job; + $userstatic->gender = $obj->gender; + // Author if (!empty($arrayfields['u.login']['checked'])) { - $userstatic->id = $obj->fk_user_author; - $userstatic->login = $obj->login; - print ''; + print ''; if ($userstatic->id) { - print $userstatic->getLoginUrl(1); + print $userstatic->getLoginUrl(-1); } else { print ' '; } diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index 5bbf1fdcba6..5fa555fca9e 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -44,6 +44,9 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('invoicesuppliernote')); + $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture'); $object = new FactureFournisseur($db); @@ -56,7 +59,13 @@ $permissionnote = ($user->rights->fournisseur->facture->creer || $user->rights-> * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} // Set label if ($action == 'setlabel' && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer)) { @@ -106,7 +115,7 @@ if ($object->id > 0) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer) { if ($action != 'classify') { - // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref .= ' : '; } if ($action == 'classify') { diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index c7a2149c441..1cc1a86fe4a 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -10,6 +10,7 @@ * Copyright (C) 2015 Juanjo Menent * Copyright (C) 2017 Alexandre Spangaro * Copyright (C) 2018-2020 Frédéric France + * Copyright (C) 2021 Charlene Benke * * 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 @@ -291,8 +292,6 @@ if (empty($reshook)) { $paiement->num_payment = GETPOST('num_paiement', 'alphanohtml'); $paiement->note_private = GETPOST('comment', 'alpha'); - $paiement->num_payment = $paiement->num_payment; - $paiement->note_private = $paiement->note_private; if (!$error) { $paiement_id = $paiement->create($user, (GETPOST('closepaidinvoices') == 'on' ? 1 : 0), $thirdparty); @@ -371,7 +370,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $sql .= ' WHERE f.fk_soc = s.rowid'; $sql .= ' AND f.rowid = '.((int) $facid); if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $resql = $db->query($sql); if ($resql) { @@ -510,8 +509,8 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $sql .= ' SUM(pf.amount) as am, SUM(pf.multicurrency_amount) as multicurrency_am'; $sql .= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as f'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON pf.fk_facturefourn = f.rowid'; - $sql .= " WHERE f.entity = ".$conf->entity; - $sql .= ' AND f.fk_soc = '.$object->socid; + $sql .= " WHERE f.entity = ".((int) $conf->entity); + $sql .= ' AND f.fk_soc = '.((int) $object->socid); $sql .= ' AND f.paye = 0'; $sql .= ' AND f.fk_statut = 1'; // Status=0 => unvalidated, Status=2 => canceled if ($object->type != FactureFournisseur::TYPE_CREDIT_NOTE) { @@ -642,13 +641,19 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie print ''; if ($objp->multicurrency_code && $objp->multicurrency_code != $conf->currency) { - print price($objp->multicurrency_am); + print price($sign * $multicurrency_payment); + if ($multicurrency_creditnotes) { + print '+'.price($multicurrency_creditnotes); + } + if ($multicurrency_deposits) { + print '+'.price($multicurrency_deposits); + } } print ''; print ''; if ($objp->multicurrency_code && $objp->multicurrency_code != $conf->currency) { - print price($objp->multicurrency_total_ttc - $objp->multicurrency_am); + print price($sign * $multicurrency_remaintopay); } print ''; } diff --git a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php index c3ca301ed45..3f728d99567 100644 --- a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php @@ -25,7 +25,7 @@ if (empty($conf) || !is_object($conf)) { } -print "\n"; +print "\n"; global $user; @@ -64,8 +64,14 @@ foreach ($linkedObjectBlock as $key => $objectlink) { echo ''.price($objectlink->total_ht).''; } } ?> - getLibStatut(3); ?> - ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> + getLibStatut(3, $objectlink->getSommePaiement()); + } else { + echo $objectlink->getLibStatut(3); + } + ?> + ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> rights->societe->client->voir && !$socid) { } $sql .= " WHERE cf.fk_soc = s.rowid "; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND sc.fk_user = ".$user->id; + $sql .= " AND sc.fk_user = ".((int) $user->id); } $sql .= " AND cf.entity = ".$conf->entity; $sql .= " GROUP BY cf.fk_statut"; @@ -111,12 +111,12 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU } $sql .= " WHERE cf.fk_soc = s.rowid"; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND sc.fk_user = ".$user->id; + $sql .= " AND sc.fk_user = ".((int) $user->id); } $sql .= " AND cf.entity = ".$conf->entity; $sql .= " AND cf.fk_statut = 0"; if ($socid) { - $sql .= " AND cf.fk_soc = ".$socid; + $sql .= " AND cf.fk_soc = ".((int) $socid); } $resql = $db->query($sql); @@ -167,7 +167,7 @@ if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_S } $sql .= " WHERE s.rowid = ff.fk_soc"; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND sc.fk_user = ".$user->id; + $sql .= " AND sc.fk_user = ".((int) $user->id); } $sql .= " AND ff.entity = ".$conf->entity; $sql .= " AND ff.fk_statut = 0"; @@ -229,9 +229,17 @@ print '
    '; * List last modified supliers */ $max = 10; -$sql = "SELECT s.rowid as socid, s.nom as name, s.town, s.datec, s.tms, s.prefix_comm, s.code_fournisseur, s.code_compta_fournisseur"; +$sql = "SELECT s.rowid as socid, s.nom as name, s.town, s.datec, s.tms, s.prefix_comm, s.code_fournisseur"; +if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $sql .= ", spe.accountancy_code_supplier as code_compta_fournisseur"; +} else { + $sql .= ", s.code_compta_fournisseur"; +} $sql .= ", st.libelle as stcomm"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s"; +if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity); +} $sql .= ", ".MAIN_DB_PREFIX."c_stcomm as st"; if (!$user->rights->societe->client->voir && !$socid) { $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -240,7 +248,7 @@ $sql .= " WHERE s.fk_stcomm = st.id"; $sql .= " AND s.fournisseur = 1"; $sql .= " AND s.entity IN (".getEntity('societe').")"; if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($socid) { $sql .= " AND s.rowid = ".((int) $socid); diff --git a/htdocs/fourn/js/lib_dispatch.js.php b/htdocs/fourn/js/lib_dispatch.js.php index fd15894b4ec..01af2ee5d91 100644 --- a/htdocs/fourn/js/lib_dispatch.js.php +++ b/htdocs/fourn/js/lib_dispatch.js.php @@ -70,7 +70,9 @@ function addDispatchLine(index, type, mode) mode = mode || 'qtymissing' console.log("fourn/js/lib_dispatch.js.php Split line type="+type+" index="+index+" mode="+mode); - var $row = $("tr[name='"+type+'_0_'+index+"']").clone(true); // clone first batch line to jQuery object + var $row0 = $("tr[name='"+type+'_0_'+index+"']"); + var $dpopt = $row0.find('.hasDatepicker').first().datepicker('option', 'all'); // get current datepicker options to apply the same to the cloned datepickers + var $row = $row0.clone(true); // clone first batch line to jQuery object var nbrTrs = $("tr[name^='"+type+"_'][name$='_"+index+"']").length; // position of line for batch var qtyOrdered = parseFloat($("#qty_ordered_0_"+index).val()); // Qty ordered is same for all rows var qty = parseFloat($("#qty_"+(nbrTrs - 1)+"_"+index).val()); @@ -96,6 +98,18 @@ function addDispatchLine(index, type, mode) } else if (qtyDispatched < qtyOrdered) { //replace tr suffix nbr $row.html($row.html().replace(/_0_/g,"_"+nbrTrs+"_")); + + // jquery's deep clone is incompatible with date pickers (the clone shares data with the original) + // so we destroy and rebuild the new date pickers + setTimeout(() => { + $row.find('.hasDatepicker').each((i, dp) => { + $(dp).removeData() + .removeClass('hasDatepicker'); + $(dp).next('img.ui-datepicker-trigger').remove(); + $(dp).datepicker($dpopt); + }); + }, 0); + //create new select2 to avoid duplicate id of cloned one $row.find("select[name='"+'entrepot_'+nbrTrs+'_'+index+"']").select2(); // TODO find solution to copy selected option to new select diff --git a/htdocs/fourn/paiement/card.php b/htdocs/fourn/paiement/card.php index ccc29105e4f..5f5e6c72908 100644 --- a/htdocs/fourn/paiement/card.php +++ b/htdocs/fourn/paiement/card.php @@ -135,6 +135,13 @@ $upload_dir = $conf->fournisseur->payment->dir_output; $permissiontoadd = true; include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; +// Actions to send emails +$triggersendname = 'PAYMENTRECEIPT_SENTBYMAIL'; +$paramname = 'id'; +$autocopy = 'MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO'; +$trackid = 'pre'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php'; + /* * View @@ -259,7 +266,7 @@ if ($result > 0) { $sql .= ' pf.amount, s.nom as name, s.rowid as socid'; $sql .= ' FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf,'.MAIN_DB_PREFIX.'facture_fourn as f,'.MAIN_DB_PREFIX.'societe as s'; $sql .= ' WHERE pf.fk_facturefourn = f.rowid AND f.fk_soc = s.rowid'; - $sql .= ' AND pf.fk_paiementfourn = '.$object->id; + $sql .= ' AND pf.fk_paiementfourn = '.((int) $object->id); $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -334,6 +341,18 @@ if ($result > 0) { */ print '
    '; + + // Send by mail + if ($user->socid == 0 && $action == '') { + $usercansend = (empty($conf->global->MAIN_USE_ADVANCED_PERMS)); + if ($usercansend) { + print ''.$langs->trans('SendMail').''; + } else { + print ''.$langs->trans('SendMail').''; + } + } + + // Payment validation if (!empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) { if ($user->socid == 0 && $object->statut == 0 && $action == '') { if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && (!empty($user->rights->fournisseur->facture->creer) || !empty($user->rights->supplier_invoice->creer))) @@ -342,10 +361,12 @@ if ($result > 0) { } } } + + // Delete payment if ($user->socid == 0 && $action == '') { if ($user->rights->fournisseur->facture->supprimer) { if ($allow_delete) { - print ''.$langs->trans('Delete').''; + print ''.$langs->trans('Delete').''; } else { print ''.$langs->trans('Delete').''; } @@ -381,6 +402,15 @@ if ($result > 0) { */ print '
    '; + + // Presend form + $modelmail = ''; //TODO: Add new 'payment receipt' model in email models + $defaulttopic = 'SendPaymentReceipt'; + $diroutput = $conf->fournisseur->payment->dir_output; + $autocopy = 'MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO'; + $trackid = 'pre'.$object->id; + + include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php'; } else { $langs->load("errors"); print $langs->trans("ErrorRecordNotFound"); diff --git a/htdocs/fourn/paiement/document.php b/htdocs/fourn/paiement/document.php new file mode 100644 index 00000000000..05a13d901da --- /dev/null +++ b/htdocs/fourn/paiement/document.php @@ -0,0 +1,177 @@ + + * Copyright (C) 2004-2016 Laurent Destailleur + * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2012 Marcos García + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2017 Ferran Marcet + * Copyright (C) 2021 Jesus Jerez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/fourn/paiement/document.php + * \ingroup facture, fournisseur + * \brief Management page of attached documents to a payment + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; +if (!empty($conf->projet->enabled)) { + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; +} + +// Load translation files required by the page +$langs->loadLangs(array('bills', 'banks', 'companies', 'suppliers', 'other')); + +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); + +// Security check +if ($user->socid) { + $socid = $user->socid; +} +$result = restrictedArea($user, $object->element, $object->id, 'paiementfourn', ''); + +// Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortorder) { + $sortorder = "ASC"; +} +if (!$sortfield) { + $sortfield = "name"; +} + +// Load object +$object = new PaiementFourn($db); +if ($object->fetch($id, $ref)) { + $object->fetch_thirdparty(); + $ref = dol_sanitizeFileName($object->ref); + $upload_dir = $conf->fournisseur->payment->dir_output.'/'.dol_sanitizeFileName($object->ref); +} + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; + + +/* + * View + */ + +$form = new Form($db); + +$title = $langs->trans('Payment')." - ".$langs->trans('Documents'); +llxHeader('', $title); + +if ($object->id > 0) { + $head = payment_supplier_prepare_head($object); + print dol_get_fiche_head($head, 'documents', $langs->trans("SupplierPayment"), -1, 'payment'); + + // Supplier order card + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + + // Date of payment + $morehtmlref .= $form->editfieldkey("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer), 'datehourpicker', '', null, 3).': '; + $morehtmlref .= $form->editfieldval("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer), 'datehourpicker', '', null, $langs->trans('PaymentDateUpdateSucceeded')); + + // Payment mode + $morehtmlref .= '
    '.$langs->trans('PaymentMode').' : '; + $morehtmlref .= $langs->trans("PaymentType".$object->type_code) != ("PaymentType".$object->type_code) ? $langs->trans("PaymentType".$object->type_code) : $object->type_label; + $morehtmlref .= $object->num_payment ? ' - '.$object->num_payment : ''; + + // Thirdparty + $morehtmlref .= '
    '.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1); + + // Amount + $morehtmlref .= '
    '.$langs->trans('Amount').' : '. price($object->amount, '', $langs, 0, 0, -1, $conf->currency); + + $allow_delete = 1; + // Bank account + if (!empty($conf->banque->enabled)) { + if ($object->fk_account) { + $bankline = new AccountLine($db); + $bankline->fetch($object->bank_line); + if ($bankline->rappro) { + $allow_delete = 0; + $title_button = dol_escape_htmltag($langs->transnoentitiesnoconv("CantRemoveConciliatedPayment")); + } + + $morehtmlref .= '
    '.$langs->trans('BankAccount').' : '; + $accountstatic = new Account($db); + $accountstatic->fetch($bankline->fk_account); + $morehtmlref .= $accountstatic->getNomUrl(1); + + $morehtmlref .= '
    '.$langs->trans('BankTransactionLine').' : '; + $morehtmlref .= $bankline->getNomUrl(1, 0, 'showconciliated'); + } + } + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); + + // Build file list + $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1); + $totalsize = 0; + foreach ($filearray as $key => $file) { + $totalsize += $file['size']; + } + + print '
    '; + print '
    '; + + print ''; + print ''; + print ''; + print "
    '.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
    '.$langs->trans("TotalSizeOfAttachedFiles").''.dol_print_size($totalsize, 1, 1).'
    \n"; + + print "
    \n"; + + print dol_get_fiche_end(); + + $modulepart = 'supplier_payment'; + // TODO: get the appropriate permission + $permissiontoadd = true; + $permtoedit = true; + $param = '&id='.$object->id; + include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; +} else { + header('Location: index.php'); + exit; +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/fourn/paiement/list.php b/htdocs/fourn/paiement/list.php index 4da69cfc0c1..96af99d3f06 100644 --- a/htdocs/fourn/paiement/list.php +++ b/htdocs/fourn/paiement/list.php @@ -8,7 +8,7 @@ * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> * Copyright (C) 2015 Marcos García * Copyright (C) 2015 Juanjo Menent - * Copyright (C) 2017 Alexandre Spangaro + * Copyright (C) 2017-2021 Alexandre Spangaro * Copyright (C) 2018-2021 Frédéric France * Copyright (C) 2020 Tobias Sekan * Copyright (C) 2021 Ferran Marcet @@ -36,6 +36,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; // Load translation files required by the page $langs->loadLangs(array('companies', 'bills', 'banks', 'compta')); @@ -47,15 +48,23 @@ $contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 've $socid = GETPOST('socid', 'int'); +// Security check +if ($user->socid) $socid = $user->socid; + $search_ref = GETPOST('search_ref', 'alpha'); -$search_day = GETPOST('search_day', 'int'); -$search_month = GETPOST('search_month', 'int'); -$search_year = GETPOST('search_year', 'int'); -$search_company = GETPOST('search_company', 'alpha'); +$search_date_startday = GETPOST('search_date_startday', 'int'); +$search_date_startmonth = GETPOST('search_date_startmonth', 'int'); +$search_date_startyear = GETPOST('search_date_startyear', 'int'); +$search_date_endday = GETPOST('search_date_endday', 'int'); +$search_date_endmonth = GETPOST('search_date_endmonth', 'int'); +$search_date_endyear = GETPOST('search_date_endyear', 'int'); +$search_date_start = dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear); // Use tzserver +$search_date_end = dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear); +$search_company = GETPOST('search_company', 'alpha'); $search_payment_type = GETPOST('search_payment_type'); -$search_cheque_num = GETPOST('search_cheque_num', 'alpha'); +$search_cheque_num = GETPOST('search_cheque_num', 'alpha'); $search_bank_account = GETPOST('search_bank_account', 'int'); -$search_amount = GETPOST('search_amount', 'alpha'); // alpha because we must be able to search on '< x' +$search_amount = GETPOST('search_amount', 'alpha'); // alpha because we must be able to search on '< x' $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'alpha'); @@ -112,10 +121,12 @@ if ($user->socid) { // require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; // $object = new PaiementFourn($db); // restrictedArea($user, $object->element); -if ((empty($conf->fournisseur->enabled) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || empty($conf->supplier_invoice->enabled)) { +if ((empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($conf->supplier_invoice->enabled) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { accessforbidden(); } -if (!$user->rights->fournisseur->facture->lire || !$user->rights->supplier_invoice->lire) { +if ((empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($user->rights->supplier_invoice->lire) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { accessforbidden(); } @@ -135,9 +146,14 @@ if (empty($reshook)) { if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers $search_ref = ''; - $search_day = ''; - $search_month = ''; - $search_year = ''; + $search_date_startday = ''; + $search_date_startmonth = ''; + $search_date_startyear = ''; + $search_date_endday = ''; + $search_date_endmonth = ''; + $search_date_endyear = ''; + $search_date_start = ''; + $search_date_end = ''; $search_company = ''; $search_payment_type = ''; $search_cheque_num = ''; @@ -179,7 +195,7 @@ if (!$user->rights->societe->client->voir) { $sql .= ' WHERE f.entity = '.$conf->entity; if (!$user->rights->societe->client->voir) { - $sql .= ' AND s.rowid = sc.fk_soc AND sc.fk_user = '.$user->id; + $sql .= ' AND s.rowid = sc.fk_soc AND sc.fk_user = '.((int) $user->id); } if ($socid > 0) { $sql .= ' AND f.fk_soc = '.((int) $socid); @@ -187,7 +203,13 @@ if ($socid > 0) { if ($search_ref) { $sql .= natural_search('p.ref', $search_ref); } -$sql .= dolSqlDateFilter('p.datep', $search_day, $search_month, $search_year); +if ($search_date_start) { + $sql .= " AND p.datep >= '" . $db->idate($search_date_start) . "'"; +} +if ($search_date_end) { + $sql .=" AND p.datep <= '" . $db->idate($search_date_end) . "'"; +} + if ($search_company) { $sql .= natural_search('s.nom', $search_company); } @@ -254,14 +276,23 @@ if ($optioncss != '') { if ($search_ref) { $param .= '&search_ref='.urlencode($search_ref); } -if ($search_day) { - $param .= '&search_day='.urlencode($search_day); +if ($search_date_startday) { + $param .= '&search_date_startday='.urlencode($search_date_startday); } -if ($search_month) { - $param .= '&search_month='.urlencode($search_month); +if ($search_date_startmonth) { + $param .= '&search_date_startmonth='.urlencode($search_date_startmonth); } -if ($search_year) { - $param .= '&search_year='.urlencode($search_year); +if ($search_date_startyear) { + $param .= '&search_date_startyear='.urlencode($search_date_startyear); +} +if ($search_date_endday) { + $param .= '&search_date_endday='.urlencode($search_date_endday); +} +if ($search_date_endmonth) { + $param .= '&search_date_endmonth='.urlencode($search_date_endmonth); +} +if ($search_date_endyear) { + $param .= '&search_date_endyear='.urlencode($search_date_endyear); } if ($search_company) { $param .= '&search_company='.urlencode($search_company); @@ -336,11 +367,12 @@ if (!empty($arrayfields['p.ref']['checked'])) { // Filter: Date if (!empty($arrayfields['p.datep']['checked'])) { print ''; - if (!empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) { - print ''; - } - print ''; - $formother->select_year($search_year ? $search_year : -1, 'search_year', 1, 20, 5); + print '
    '; + print $form->selectDate($search_date_start ? $search_date_start : -1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search_date_end ? $search_date_end : -1, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; print ''; } diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index e7fc4014563..9948b64e460 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -50,7 +50,7 @@ $ref = GETPOST('ref', 'alpha'); $fuserid = (GETPOST('fuserid', 'int') ?GETPOST('fuserid', 'int') : $user->id); // Load translation files required by the page -$langs->loadLangs(array("other", "holiday", "mails")); +$langs->loadLangs(array("other", "holiday", "mails", "trips")); $error = 0; @@ -86,6 +86,9 @@ if (($id > 0) || $ref) { } } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('holidaycard', 'globalcard')); + $cancreate = 0; if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance)) { @@ -121,8 +124,23 @@ if ($reshook < 0) { } if (empty($reshook)) { + $backurlforlist = DOL_URL_ROOT.'/holiday/list.php'; + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = DOL_URL_ROOT.'/holiday/card.php?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); + } + } + } + if ($cancel) { - if (!empty($backtopage)) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { header("Location: ".$backtopage); exit; } @@ -159,7 +177,7 @@ if (empty($reshook)) { $halfday = 1; } - $valideur = GETPOST('valideur', 'int'); + $approverid = GETPOST('valideur', 'int'); $description = trim(GETPOST('description', 'restricthtml')); // Check that leave is for a user inside the hierarchy or advanced permission for all is set @@ -226,7 +244,7 @@ if (empty($reshook)) { } // If no validator designated - if ($valideur < 1) { + if ($approverid < 1) { setEventMessages($langs->transnoentitiesnoconv('InvalidValidatorCP'), null, 'errors'); $error++; } @@ -236,7 +254,7 @@ if (empty($reshook)) { if (!$error) { $object->fk_user = $fuserid; $object->description = $description; - $object->fk_validator = $valideur; + $object->fk_validator = $approverid; $object->fk_type = $type; $object->date_debut = $date_debut; $object->date_fin = $date_fin; @@ -261,6 +279,7 @@ if (empty($reshook)) { } } + // If update and we are an approver, we can update with another approver if ($action == 'update' && GETPOSTISSET('savevalidator') && !empty($user->rights->holiday->approve)) { $object->fetch($id); @@ -312,30 +331,32 @@ if (empty($reshook)) { if ($object->statut == Holiday::STATUS_DRAFT) { // If this is the requestor or has read/write rights if ($cancreate) { - $valideur = GETPOST('valideur', 'int'); + $approverid = GETPOST('valideur', 'int'); + // TODO Check this approver user id has the permission for approval + $description = trim(GETPOST('description', 'restricthtml')); // If no start date if (empty($_POST['date_debut_'])) { - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&error=nodatedebut'); + header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken().'&error=nodatedebut'); exit; } // If no end date if (empty($_POST['date_fin_'])) { - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&error=nodatefin'); + header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken().'&error=nodatefin'); exit; } // If start date after end date if ($date_debut > $date_fin) { - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&error=datefin'); + header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken().'&error=datefin'); exit; } // If no validator designated - if ($valideur < 1) { - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&error=Valideur'); + if ($approverid < 1) { + header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken().'&error=Valideur'); exit; } @@ -349,7 +370,7 @@ if (empty($reshook)) { $object->description = $description; $object->date_debut = $date_debut; $object->date_fin = $date_fin; - $object->fk_validator = $valideur; + $object->fk_validator = $approverid; $object->halfday = $halfday; // Update @@ -446,22 +467,24 @@ if (empty($reshook)) { $message .= $langs->transnoentities("HolidaysToValidateBody")."\n"; - $delayForRequest = $object->getConfCP('delayForRequest'); - //$delayForRequest = $delayForRequest * (60*60*24); - - $nextMonth = dol_time_plus_duree($now, $delayForRequest, 'd'); // option to warn the validator in case of too short delay - if ($object->getConfCP('AlertValidatorDelay')) { - if ($object->date_debut < $nextMonth) { - $message .= "\n"; - $message .= $langs->transnoentities("HolidaysToValidateDelay", $object->getConfCP('delayForRequest'))."\n"; + if (empty($conf->global->HOLIDAY_HIDE_APPROVER_ABOUT_TOO_LOW_DELAY)) { + $delayForRequest = 0; // TODO Set delay depending of holiday leave type + if ($delayForRequest) { + $nowplusdelay = dol_time_plus_duree($now, $delayForRequest, 'd'); + + if ($object->date_debut < $nowplusdelay) { + $message .= "\n"; + $message .= $langs->transnoentities("HolidaysToValidateDelay", $delayForRequest)."\n"; + } } } // option to notify the validator if the balance is less than the request - if ($object->getConfCP('AlertValidatorSolde')) { + if (empty($conf->global->HOLIDAY_HIDE_APPROVER_ABOUT_NEGATIVE_BALANCE)) { $nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday); + if ($nbopenedday > $object->getCPforUser($object->fk_user, $object->fk_type)) { $message .= "\n"; $message .= $langs->transnoentities("HolidaysToValidateAlertSolde")."\n"; @@ -544,9 +567,10 @@ if (empty($reshook)) { $nbopenedday = num_open_day($object->date_debut_gmt, $object->date_fin_gmt, 0, 1, $object->halfday); $soldeActuel = $object->getCpforUser($object->fk_user, $object->fk_type); $newSolde = ($soldeActuel - $nbopenedday); + $label = $langs->transnoentitiesnoconv("Holidays").' - '.$object->ref; // The modification is added to the LOG - $result = $object->addLogCP($user->id, $object->fk_user, $langs->transnoentitiesnoconv("Holidays"), $newSolde, $object->fk_type); + $result = $object->addLogCP($user->id, $object->fk_user, $label, $newSolde, $object->fk_type); if ($result < 0) { $error++; setEventMessages(null, $object->errors, 'errors'); @@ -740,8 +764,8 @@ if (empty($reshook)) { $object->fetch($id); // If status pending validation and validator = validator or user, or rights to do for others - if (($object->statut == Holiday::STATUS_VALIDATED || $object->statut == Holiday::STATUS_APPROVED) && ($user->id == $object->fk_validator || in_array($object->fk_user, $childids) - || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance)))) { + if (($object->statut == Holiday::STATUS_VALIDATED || $object->statut == Holiday::STATUS_APPROVED) && + (!empty($user->admin) || $user->id == $object->fk_validator || in_array($object->fk_user, $childids) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance)))) { $db->begin(); $oldstatus = $object->statut; @@ -904,42 +928,40 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') { } - $delayForRequest = $object->getConfCP('delayForRequest'); - //$delayForRequest = $delayForRequest * (60*60*24); - - $nextMonth = dol_time_plus_duree($now, $delayForRequest, 'd'); - print ''."\n"; + // Formulaire de demande - print ''."\n"; + print ''."\n"; print ''."\n"; print ''."\n"; @@ -1078,11 +1100,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '    '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("SendRequestCP"); print ''."\n"; } @@ -1097,8 +1115,8 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') { if (($id > 0) || $ref) { $result = $object->fetch($id, $ref); - $valideur = new User($db); - $valideur->fetch($object->fk_validator); + $approverexpected = new User($db); + $approverexpected->fetch($object->fk_validator); $userRequest = new User($db); $userRequest->fetch($object->fk_user); @@ -1311,10 +1329,17 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') { print $langs->trans('ReviewedByCP'); } print ''; - print ''.$valideur->getNomUrl(-1); + print ''; + if ($object->statut == Holiday::STATUS_APPROVED || $object->statut == Holiday::STATUS_CANCELED) { + $approverdone = new User($db); + $approverdone->fetch($object->fk_user_valid); + print $approverdone->getNomUrl(-1); + } else { + print $approverexpected->getNomUrl(-1); + } $include_users = $object->fetch_users_approver_holiday(); if (is_array($include_users) && in_array($user->id, $include_users) && $object->statut == Holiday::STATUS_VALIDATED) { - print ''.img_edit($langs->trans("Edit")).''; + print ''.img_edit($langs->trans("Edit")).''; } print ''; print ''; @@ -1426,27 +1451,50 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') { print '
    '; if ($cancreate && $object->statut == Holiday::STATUS_DRAFT) { - print ''.$langs->trans("EditCP").''; + print ''.$langs->trans("EditCP").''; } + if ($cancreate && $object->statut == Holiday::STATUS_DRAFT) { // If draft - print ''.$langs->trans("Validate").''; + print ''.$langs->trans("Validate").''; } + if ($object->statut == Holiday::STATUS_VALIDATED) { // If validated + // Button Approve / Refuse if ($user->id == $object->fk_validator) { print ''.$langs->trans("Approve").''; print ''.$langs->trans("ActionRefuseCP").''; } else { print ''.$langs->trans("Approve").''; print ''.$langs->trans("ActionRefuseCP").''; + + // Button Cancel (because we can't approve) + if (in_array($object->fk_user, $childids) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance))) { + if (($object->date_debut > dol_now()) || !empty($user->admin)) { + print ''.$langs->trans("ActionCancelCP").''; + } else { + print 'trans("NotAllowed").'">'.$langs->trans("ActionCancelCP").''; + } + } } } - if (($user->id == $object->fk_validator || in_array($object->fk_user, $childids) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance))) && ($object->statut == 2 || $object->statut == 3)) { // Status validated or approved - if (($object->date_debut > dol_now()) || $user->admin) { - print ''.$langs->trans("ActionCancelCP").''; - } else { - print ''.$langs->trans("ActionCancelCP").''; + if ($object->statut == Holiday::STATUS_APPROVED) { // If validated or approved + if ($user->id == $object->fk_validator + || in_array($object->fk_user, $childids) + || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance))) { + if (($object->date_debut > dol_now()) || !empty($user->admin)) { + print ''.$langs->trans("ActionCancelCP").''; + } else { + print 'trans("NotAllowed").'">'.$langs->trans("ActionCancelCP").''; + } + } else { // I have no rights on the user of the holiday. + if (!empty($user->admin)) { // If current validator can't cancel an approved leave, we allow admin user + print ''.$langs->trans("ActionCancelCP").''; + } else { + print ''.$langs->trans("ActionCancelCP").''; + } } } + if ($cancreate && $object->statut == Holiday::STATUS_CANCELED) { print ''.$langs->trans("SetToDraft").''; } @@ -1501,10 +1549,6 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') { $MAXEVENT = 10; - /*$morehtmlright = ''; - $morehtmlright .= $langs->trans("SeeAll"); - $morehtmlright .= '';*/ - // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; $formactions = new FormActions($db); diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index e1a9d9d905b..86e3e889639 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -85,31 +85,42 @@ class Holiday extends CommonObject public $statut = ''; // 1=draft, 2=validated, 3=approved /** - * @var int ID + * @var int ID of user that must approve. TODO: there is no date for validation (date_valid is used for approval), add one. */ public $fk_validator; + /** + * @var int Date of approval. TODO: Add a field for approval date and use date_valid instead for validation. + */ public $date_valid = ''; /** - * @var int ID + * @var int ID of user that has approved (empty if not approved) */ public $fk_user_valid; + + /** + * @var int Date for refuse + */ public $date_refuse = ''; /** - * @var int ID + * @var int ID for refuse */ public $fk_user_refuse; + /** + * @var int Date for cancelation + */ public $date_cancel = ''; /** - * @var int ID + * @var int ID for cancelation */ public $fk_user_cancel; + public $detail_refuse = ''; /** @@ -227,7 +238,7 @@ class Holiday extends CommonObject if ($result >= 0) { $this->db->commit(); - return 1; + return 0; // for cronjob use (0 is OK, any other value is an error code) } else { $this->db->rollback(); return -1; @@ -703,12 +714,12 @@ class Holiday extends CommonObject // Update status $sql = "UPDATE ".MAIN_DB_PREFIX."holiday SET"; if (!empty($this->statut) && is_numeric($this->statut)) { - $sql .= " statut = ".$this->statut.","; + $sql .= " statut = ".((int) $this->statut).","; } else { $error++; } $sql .= " ref = '".$this->db->escape($num)."'"; - $sql .= " WHERE rowid= ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $this->db->begin(); @@ -771,9 +782,9 @@ class Holiday extends CommonObject } else { $error++; } - $sql .= " halfday = ".$this->halfday.","; + $sql .= " halfday = ".((int) $this->halfday).","; if (!empty($this->statut) && is_numeric($this->statut)) { - $sql .= " statut = ".$this->statut.","; + $sql .= " statut = ".((int) $this->statut).","; } else { $error++; } @@ -817,8 +828,7 @@ class Holiday extends CommonObject } else { $sql .= " detail_refuse = NULL"; } - - $sql .= " WHERE rowid= ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $this->db->begin(); @@ -927,7 +937,7 @@ class Holiday extends CommonObject $sql .= " detail_refuse = NULL"; } - $sql .= " WHERE rowid= ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $this->db->begin(); @@ -1251,24 +1261,28 @@ class Holiday extends CommonObject public function LibStatut($status, $mode = 0, $startdate = '') { // phpcs:enable + global $langs; + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule"); - $this->labelStatus[self::STATUS_DRAFT] = $langs->trans('DraftCP'); - $this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('ToReviewCP'); - $this->labelStatus[self::STATUS_APPROVED] = $langs->trans('ApprovedCP'); - $this->labelStatus[self::STATUS_CANCELED] = $langs->trans('CancelCP'); - $this->labelStatus[self::STATUS_REFUSED] = $langs->trans('RefuseCP'); - $this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('DraftCP'); - $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->trans('ToReviewCP'); - $this->labelStatusShort[self::STATUS_APPROVED] = $langs->trans('ApprovedCP'); - $this->labelStatusShort[self::STATUS_CANCELED] = $langs->trans('CancelCP'); - $this->labelStatusShort[self::STATUS_REFUSED] = $langs->trans('RefuseCP'); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('DraftCP'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('ToReviewCP'); + $this->labelStatus[self::STATUS_APPROVED] = $langs->transnoentitiesnoconv('ApprovedCP'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('CancelCP'); + $this->labelStatus[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('RefuseCP'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('DraftCP'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('ToReviewCP'); + $this->labelStatusShort[self::STATUS_APPROVED] = $langs->transnoentitiesnoconv('ApprovedCP'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('CancelCP'); + $this->labelStatusShort[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('RefuseCP'); } + $params = array(); $statusType = 'status6'; - if (!empty($startdate) && $startdate > dol_now()) { + if (!empty($startdate) && $startdate >= dol_now()) { // If not yet passed, we use a green "in live" color $statusType = 'status4'; + $params = array('tooltip'=>$this->labelStatus[$status].' - '.$langs->trans("Forthcoming")); } if ($status == self::STATUS_DRAFT) { $statusType = 'status0'; @@ -1283,7 +1297,7 @@ class Holiday extends CommonObject $statusType = 'status5'; } - return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode, '', $params); } @@ -1292,11 +1306,11 @@ class Holiday extends CommonObject * * @param int $selected Id of preselected status * @param string $htmlname Name of HTML select field + * @param string $morecss More CSS on select component * @return string Show select of status */ - public function selectStatutCP($selected = '', $htmlname = 'select_statut') + public function selectStatutCP($selected = '', $htmlname = 'select_statut', $morecss = 'minwidth125') { - global $langs; // Liste des statuts @@ -1304,7 +1318,7 @@ class Holiday extends CommonObject $nb = count($name) + 1; // Select HTML - $out = ''."\n"; $out .= ''."\n"; // Boucle des statuts @@ -1433,7 +1447,7 @@ class Holiday extends CommonObject // Update each user counter foreach ($users as $userCounter) { - $nbDaysToAdd = (isset($typeleaves[$userCounter['type']]['newByMonth']) ? $typeleaves[$userCounter['type']]['newByMonth'] : 0); + $nbDaysToAdd = (isset($typeleaves[$userCounter['type']]['newbymonth']) ? $typeleaves[$userCounter['type']]['newbymonth'] : 0); if (empty($nbDaysToAdd)) { continue; } @@ -1587,7 +1601,7 @@ class Holiday extends CommonObject /** - * Retourne le solde de congés payés pour un utilisateur + * Return balance of holiday for one user * * @param int $user_id ID de l'utilisateur * @param int $fk_type Filter on type @@ -1650,6 +1664,7 @@ class Holiday extends CommonObject $sql .= " WHERE u.entity IN (".getEntity('user').")"; } $sql .= " AND u.statut > 0"; + $sql .= " AND u.employee = 1"; // We only want employee users for holidays if ($filters) { $sql .= $filters; } @@ -1740,6 +1755,7 @@ class Holiday extends CommonObject } $sql .= " AND u.statut > 0"; + $sql .= " AND u.employee = 1"; // We only want employee users for holidays if ($filters) { $sql .= $filters; } @@ -1920,7 +1936,7 @@ class Holiday extends CommonObject * * @param int $fk_user_action Id user creation * @param int $fk_user_update Id user update - * @param string $label Label + * @param string $label Label (Example: 'Leave', 'Manual update', 'Leave request cancelation'...) * @param int $new_solde New value * @param int $fk_type Type of vacation * @return int Id of record added, 0 if nothing done, < 0 if KO @@ -2065,7 +2081,7 @@ class Holiday extends CommonObject { global $mysoc; - $sql = "SELECT rowid, code, label, affect, delay, newByMonth"; + $sql = "SELECT rowid, code, label, affect, delay, newbymonth"; $sql .= " FROM ".MAIN_DB_PREFIX."c_holiday_types"; $sql .= " WHERE (fk_country IS NULL OR fk_country = ".((int) $mysoc->country_id).')'; if ($active >= 0) { @@ -2080,7 +2096,7 @@ class Holiday extends CommonObject $num = $this->db->num_rows($result); if ($num) { while ($obj = $this->db->fetch_object($result)) { - $types[$obj->rowid] = array('rowid'=> $obj->rowid, 'code'=> $obj->code, 'label'=>$obj->label, 'affect'=>$obj->affect, 'delay'=>$obj->delay, 'newByMonth'=>$obj->newByMonth); + $types[$obj->rowid] = array('rowid'=> $obj->rowid, 'code'=> $obj->code, 'label'=>$obj->label, 'affect'=>$obj->affect, 'delay'=>$obj->delay, 'newbymonth'=>$obj->newbymonth); } return $types; @@ -2103,7 +2119,7 @@ class Holiday extends CommonObject { global $conf; - $sql = "SELECT f.rowid,"; + $sql = "SELECT f.rowid, f.statut as status,"; $sql .= " f.date_create as datec,"; $sql .= " f.tms as date_modification,"; $sql .= " f.date_valid as datev,"; @@ -2111,8 +2127,8 @@ class Holiday extends CommonObject $sql .= " f.date_refuse as dater,"; $sql .= " f.fk_user_create as fk_user_creation,"; $sql .= " f.fk_user_modif as fk_user_modification,"; - $sql .= " f.fk_user_valid,"; - $sql .= " f.fk_validator as fk_user_approve,"; + $sql .= " f.fk_user_valid as fk_user_approve_done,"; + $sql .= " f.fk_validator as fk_user_approve_expected,"; $sql .= " f.fk_user_refuse as fk_user_refuse"; $sql .= " FROM ".MAIN_DB_PREFIX."holiday as f"; $sql .= " WHERE f.rowid = ".((int) $id); @@ -2149,10 +2165,19 @@ class Holiday extends CommonObject $muser->fetch($obj->fk_user_modification); $this->user_modification = $muser; } - if ($obj->fk_user_approve) { - $auser = new User($this->db); - $auser->fetch($obj->fk_user_approve); - $this->user_approve = $auser; + + if ($obj->status == Holiday::STATUS_APPROVED || $obj->status == Holiday::STATUS_CANCELED) { + if ($obj->fk_user_approve_done) { + $auser = new User($this->db); + $auser->fetch($obj->fk_user_approve_done); + $this->user_approve = $auser; + } + } else { + if ($obj->fk_user_approve_expected) { + $auser = new User($this->db); + $auser->fetch($obj->fk_user_approve_expected); + $this->user_approve = $auser; + } } } $this->db->free($resql); @@ -2177,12 +2202,12 @@ class Holiday extends CommonObject $this->id = 0; $this->specimen = 1; - $this->fk_user = 1; + $this->fk_user = $user->id; $this->description = 'SPECIMEN description'; $this->date_debut = dol_now(); $this->date_fin = dol_now() + (24 * 3600); $this->date_valid = dol_now(); - $this->fk_validator = 1; + $this->fk_validator = $user->id; $this->halfday = 0; $this->fk_type = 1; $this->statut = Holiday::STATUS_VALIDATED; @@ -2261,7 +2286,7 @@ class Holiday extends CommonObject $response->warning_delay = $conf->holiday->approve->warning_delay / 60 / 60 / 24; $response->label = $langs->trans("HolidaysToApprove"); $response->labelShort = $langs->trans("ToApprove"); - $response->url = DOL_URL_ROOT.'/holiday/list.php?search_statut=2&mainmenu=hrm&leftmenu=holiday'; + $response->url = DOL_URL_ROOT.'/holiday/list.php?search_status=2&mainmenu=hrm&leftmenu=holiday'; $response->img = img_object('', "holiday"); while ($obj = $this->db->fetch_object($resql)) { diff --git a/htdocs/holiday/define_holiday.php b/htdocs/holiday/define_holiday.php index fdcdb5f88e6..621443fb408 100644 --- a/htdocs/holiday/define_holiday.php +++ b/htdocs/holiday/define_holiday.php @@ -358,7 +358,7 @@ if (count($typeleaves) == 0) { //var_dump($users['rowid'].' - '.$val['rowid']); print ''; if ($canedit) { - print ''; + print ''; } else { print $nbtoshow; } diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php index c62185d5f2a..953f5eabb2f 100644 --- a/htdocs/holiday/list.php +++ b/htdocs/holiday/list.php @@ -117,7 +117,7 @@ $search_month_end = GETPOST('search_month_end', 'int'); $search_year_end = GETPOST('search_year_end', 'int'); $search_employee = GETPOST('search_employee', 'int'); $search_valideur = GETPOST('search_valideur', 'int'); -$search_status = GETPOST('search_status', 'int'); +$search_status = GETPOSTISSET('search_status') ? GETPOST('search_status', 'int') : GETPOST('search_statut', 'int'); $search_type = GETPOST('search_type', 'int'); // Initialize technical objects @@ -213,6 +213,7 @@ if (empty($reshook)) { $objectlabel = 'Holiday'; $permissiontoread = $user->rights->holiday->read; $permissiontodelete = $user->rights->holiday->delete; + $permissiontoapprove = $user->rights->holiday->approve; $uploaddir = $conf->holiday->dir_output; include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -295,7 +296,7 @@ $sql .= " ua.photo as validator_photo"; // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -441,6 +442,9 @@ if ($resql) { if (!empty($user->rights->holiday->delete)) { $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); } + if (!empty($user->rights->holiday->approve)) { + $arrayofmassactions['preapproveleave'] = img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Approve"); + } if (in_array($massaction, array('presend', 'predelete'))) { $arrayofmassactions = array(); } @@ -627,6 +631,12 @@ if ($resql) { print ''; } + // End date + if (!empty($arrayfields['cp.date_valid']['checked'])) { + print ''; + print ''; + } + // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; // Fields from hook @@ -636,7 +646,7 @@ if ($resql) { // Create date if (!empty($arrayfields['cp.date_create']['checked'])) { - print ''; + print ''; print ''; $formother->select_year($search_year_create, 'search_year_create', 1, $min_year, 0); print ''; @@ -644,7 +654,7 @@ if ($resql) { // Create date if (!empty($arrayfields['cp.tms']['checked'])) { - print ''; + print ''; print ''; $formother->select_year($search_year_update, 'search_year_update', 1, $min_year, 0); print ''; @@ -652,8 +662,8 @@ if ($resql) { // Status if (!empty($arrayfields['cp.statut']['checked'])) { - print ''; - $object->selectStatutCP($search_status, 'search_status'); + print ''; + $object->selectStatutCP($search_status, 'search_status', 'minwidth125'); print ''; } @@ -687,6 +697,9 @@ if ($resql) { if (!empty($arrayfields['cp.date_fin']['checked'])) { print_liste_field_titre($arrayfields['cp.date_fin']['label'], $_SERVER["PHP_SELF"], "cp.date_fin", "", $param, '', $sortfield, $sortorder, 'center '); } + if (!empty($arrayfields['cp.date_valid']['checked'])) { + print_liste_field_titre($arrayfields['cp.date_valid']['label'], $_SERVER["PHP_SELF"], "cp.date_valid", "", $param, '', $sortfield, $sortorder, 'center '); + } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; // Hook fields @@ -730,6 +743,7 @@ if ($resql) { $holidaystatic->id = $obj->rowid; $holidaystatic->ref = ($obj->ref ? $obj->ref : $obj->rowid); $holidaystatic->statut = $obj->status; + $holidaystatic->date_debut = $db->jdate($obj->date_debut); // User $userstatic->id = $obj->fk_user; @@ -780,7 +794,7 @@ if ($resql) { } } if (!empty($arrayfields['cp.fk_type']['checked'])) { - print ''; + print ''; $labeltypeleavetoshow = ($langs->trans($typeleaves[$obj->fk_type]['code']) != $typeleaves[$obj->fk_type]['code'] ? $langs->trans($typeleaves[$obj->fk_type]['code']) : $typeleaves[$obj->fk_type]['label']); print empty($typeleaves[$obj->fk_type]['label']) ? $langs->trans("TypeWasDisabledOrRemoved", $obj->fk_type) : $labeltypeleavetoshow; print ''; @@ -790,7 +804,7 @@ if ($resql) { } if (!empty($arrayfields['duration']['checked'])) { print ''; - $nbopenedday = num_open_day($db->jdate($obj->date_debut, 1), $db->jdate($obj->date_fin, 1), 0, 1, $obj->halfday); + $nbopenedday = num_open_day($db->jdate($obj->date_debut, 1), $db->jdate($obj->date_fin, 1), 0, 1, $obj->halfday); // user jdate(..., 1) because num_open_day need UTC dates print $nbopenedday.' '.$langs->trans('DurationDays'); print ''; if (!$i) { @@ -815,6 +829,18 @@ if ($resql) { $totalarray['nbfield']++; } } + if (!empty($arrayfields['cp.date_valid']['checked'])) { // date_valid is both date_valid but also date_approval + print ''; + print dol_print_date($db->jdate($obj->date_valid), 'day'); + print ''; + if (!$i) $totalarray['nbfield']++; + } + /*if (!empty($arrayfields['cp.date_approve']['checked'])) { + print ''; + print dol_print_date($db->jdate($obj->date_approve), 'day'); + print ''; + if (!$i) $totalarray['nbfield']++; + }*/ // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; diff --git a/htdocs/hrm/admin/admin_establishment.php b/htdocs/hrm/admin/admin_establishment.php index f5baeee4027..dd17a2be4b0 100644 --- a/htdocs/hrm/admin/admin_establishment.php +++ b/htdocs/hrm/admin/admin_establishment.php @@ -21,7 +21,7 @@ * \brief HRM Establishment module setup page */ require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/hrm.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/lib/hrm.lib.php'; require_once DOL_DOCUMENT_ROOT.'/hrm/class/establishment.class.php'; // Load translation files required by the page @@ -80,12 +80,12 @@ $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; // Subheader $linkback = ''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("HRMSetup"), $linkback); +print load_fiche_titre($langs->trans("HRMSetup"), $linkback, 'title_setup'); $newcardbutton = dolGetButtonTitle($langs->trans('NewEstablishment'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/hrm/establishment/card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); // Configuration header -$head = hrm_admin_prepare_head(); +$head = hrmAdminPrepareHead(); print dol_get_fiche_head($head, 'establishments', $langs->trans("HRM"), -1, "user", 0, $newcardbutton); $sql = "SELECT e.rowid, e.rowid as ref, e.label, e.address, e.zip, e.town, e.status"; diff --git a/htdocs/hrm/admin/admin_hrm.php b/htdocs/hrm/admin/admin_hrm.php index 455035a6b53..810c0da870d 100644 --- a/htdocs/hrm/admin/admin_hrm.php +++ b/htdocs/hrm/admin/admin_hrm.php @@ -117,7 +117,7 @@ print "\n"; print dol_get_fiche_end(); -print '
    '; +print '
    '; print ''; diff --git a/htdocs/hrm/class/establishment.class.php b/htdocs/hrm/class/establishment.class.php index 2cac4a1352b..88e93f1398f 100644 --- a/htdocs/hrm/class/establishment.class.php +++ b/htdocs/hrm/class/establishment.class.php @@ -204,12 +204,12 @@ class Establishment extends CommonObject $sql .= ", '".$this->db->escape($this->address)."'"; $sql .= ", '".$this->db->escape($this->zip)."'"; $sql .= ", '".$this->db->escape($this->town)."'"; - $sql .= ", ".$this->country_id; - $sql .= ", ".$this->status; - $sql .= ", ".$conf->entity; + $sql .= ", ".((int) $this->country_id); + $sql .= ", ".((int) $this->status); + $sql .= ", ".((int) $conf->entity); $sql .= ", '".$this->db->idate($now)."'"; - $sql .= ", ".$user->id; - $sql .= ", ".$user->id; + $sql .= ", ".((int) $user->id); + $sql .= ", ".((int) $user->id); $sql .= ")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -231,7 +231,7 @@ class Establishment extends CommonObject $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'establishment'); $sql = 'UPDATE '.MAIN_DB_PREFIX."establishment SET ref = '".$this->db->escape($this->id)."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $this->db->query($sql); $this->db->commit(); @@ -269,7 +269,7 @@ class Establishment extends CommonObject $sql .= ", entity = ".((int) $this->entity); $sql .= " WHERE rowid = ".((int) $this->id); - dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::update", LOG_DEBUG); $result = $this->db->query($sql); if ($result) { $this->db->commit(); @@ -369,10 +369,10 @@ class Establishment extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule"); - $this->labelStatus[self::STATUS_OPEN] = $langs->trans('Open'); - $this->labelStatus[self::STATUS_CLOSED] = $langs->trans('Closed'); - $this->labelStatusShort[self::STATUS_OPEN] = $langs->trans('Open'); - $this->labelStatusShort[self::STATUS_CLOSED] = $langs->trans('Closed'); + $this->labelStatus[self::STATUS_OPEN] = $langs->transnoentitiesnoconv('Open'); + $this->labelStatus[self::STATUS_CLOSED] = $langs->transnoentitiesnoconv('Closed'); + $this->labelStatusShort[self::STATUS_OPEN] = $langs->transnoentitiesnoconv('Open'); + $this->labelStatusShort[self::STATUS_CLOSED] = $langs->transnoentitiesnoconv('Closed'); } $statusType = 'status'.$status; diff --git a/htdocs/hrm/class/evaluation.class.php b/htdocs/hrm/class/evaluation.class.php new file mode 100644 index 00000000000..75dc03cc6f2 --- /dev/null +++ b/htdocs/hrm/class/evaluation.class.php @@ -0,0 +1,1145 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/evaluation.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for Evaluation (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/evaluationdet.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + +/** + * Class for Evaluation + */ +class Evaluation extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'evaluation'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_evaluation'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 1; + + /** + * @var string String with name of icon for evaluation. Must be the part after the 'object_' into object_evaluation.png + */ + public $picto = 'label'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + const STATUS_CLOSED = 6; + + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>20, 'notnull'=>1, 'visible'=>4, 'noteditable'=>'1', 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Reference of object"), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>'1', 'position'=>30, 'notnull'=>0, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth300', 'cssview'=>'wordbreak', 'showoncombobox'=>'2',), + 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>3,), + 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>61, 'notnull'=>0, 'visible'=>0,), + 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>62, 'notnull'=>0, 'visible'=>0,), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,), + 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'default'=>0, 'visible'=>5, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated', '6' => 'Closed'),), + 'date_eval' => array('type'=>'date', 'label'=>'DateEval', 'enabled'=>'1', 'position'=>502, 'notnull'=>1, 'visible'=>1,), + 'fk_user' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'User', 'enabled'=>'1', 'position'=>504, 'notnull'=>1, 'visible'=>1,), + 'fk_job' => array('type'=>'integer:Job:/hrm/class/job.class.php', 'label'=>'Job', 'enabled'=>'1', 'position'=>505, 'notnull'=>1, 'visible'=>1,), + ); + public $rowid; + public $ref; + public $label; + public $description; + public $note_public; + public $note_private; + public $date_creation; + public $tms; + public $fk_user_creat; + public $fk_user_modif; + public $import_key; + public $status; + public $date_eval; + public $fk_user; + public $fk_job; + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + /** + * @var string Name of subtable line + */ + public $table_element_line = 'hrm_evaluationdet'; + + /** + * @var string Field with ID of parent key if this object has a parent + */ + public $fk_element = 'fk_evaluation'; + + /** + * @var string Name of subtable class that manage subtable lines + */ + public $class_element_line = 'Evaluationline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + // protected $childtables = array(); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + protected $childtablesoncascade = array('@Evaluationline:hrm/class/evaluationdet.class.php:fk_evaluation'); + + /** + * @var Evaluationline[] Array of subtable lines + */ + public $lines = array(); + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + $this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + $this->date_eval = dol_now(); + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + $resultcreate = $this->createCommon($user, $notrigger); + + if ($resultcreate > 0) { + require_once DOL_DOCUMENT_ROOT . '/hrm/class/skillrank.class.php'; + $skillRank = new SkillRank($this->db); + $TRequiredRanks = $skillRank->fetchAll('ASC', 't.rowid', 0, 0, array('customsql' => 'fk_object='.$this->fk_job." AND objecttype='job'")); + + if (is_array($TRequiredRanks) && !empty($TRequiredRanks)) { + $this->lines = array(); + foreach ($TRequiredRanks as $required) { + $line = new Evaluationline($this->db); + $line->fk_evaluation = $resultcreate; + $line->fk_skill = $required->fk_skill; + $line->required_rank = $required->rank; + $line->fk_rank = 0; + + $res = $line->create($user, $notrigger); + if ($res > 0) $this->lines[] = $line; + } + } + } + + return $resultcreate; + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_".$object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetchLines() + { + $this->lines = array(); + + $result = $this->fetchLinesCommon(); + return $result; + } + + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key.'='.$value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + } else { + $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' '.$this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error '.$this->db->lasterror(); + dol_syslog(__METHOD__.' '.join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + return $this->deleteCommon($user, $notrigger); + //return $this->deleteCommon($user, $notrigger, 1); + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ref = '".$this->db->escape($num)."',"; + $sql .= " status = ".self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '".$this->db->idate($now)."'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = ".((int) $user->id); + } + $sql .= " WHERE rowid = ".((int) $this->id); + + dol_syslog(get_class($this)."::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('EVALUATION_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'evaluation/".$this->db->escape($this->newref)."'"; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'evaluation/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $resql = $this->db->query($sql); + if (!$resql) { + $error++; $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output.'/evaluation/'.$oldref; + $dirdest = $conf->hrm->dir_output.'/evaluation/'.$newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this)."::validate() rename dir ".$dirsource." into ".$dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output.'/evaluation/'.$newref, 'files', 1, '^'.preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^'.preg_quote($oldref, '/').'/', $newref, $dirsource); + $dirsource = $fileentry['path'].'/'.$dirsource; + $dirdest = $fileentry['path'].'/'.$dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Get the last evaluation by date for the user assigned + * + * @param int $fk_user ID of user we need to get last eval + * @return Evaluation|null + */ + public function getLastEvaluationForUser($fk_user) + { + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."hrm_evaluation "; + $sql.= "WHERE fk_user=".((int) $fk_user)." "; + $sql.= "ORDER BY date_eval DESC "; + $sql.= "LIMIT 1 "; + + $res = $this->db->query($sql); + if (!$res) { dol_print_error($this->db);} + + $Tab = $this->db->fetch_object($res); + + if (empty($Tab)) return null; + else { + $evaluation = new Evaluation($this->db); + $evaluation->fetch($Tab->rowid); + + return $evaluation; + } + } + + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'EVALUATION_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'EVALUATION_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'EVALUATION_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto).' '.$langs->trans("Evaluation").''; + if (isset($this->status)) { + $label .= ' '.$this->getLibStatut(5); + } + $label .= '
    '; + $label .= ''.$langs->trans('Ref').': '.$this->ref; + + $url = dol_buildpath('/hrm/evaluation_card.php', 1).'?id='.$this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowEvaluation"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } else { + $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity]."/$class/".dol_sanitizeFileName($this->ref); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class.'/'.$this->ref.'/thumbs/'.substr($filename, 0, $pospoint).'_mini'.substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module.'_'.$class).'_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= '
    '; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->ref; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('evaluationdao')); + $parameters = array('id'=>$this->id, 'getnomurl'=>$result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated'); + $this->labelStatus[self::STATUS_CLOSED] = $langs->transnoentitiesnoconv('Closed'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated'); + $this->labelStatus[self::STATUS_CLOSED] = $langs->transnoentitiesnoconv('Closed'); + } + + $statusType = 'status'.$status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= ' WHERE t.rowid = '.((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new Evaluationline($this->db); + $result = $objectline->fetchAll('ASC', '', 0, 0, array('customsql'=>'fk_evaluation = '.$this->id)); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->HRMTEST_EVALUATION_ADDON)) { + $conf->global->HRMTEST_EVALUATION_ADDON = 'mod_evaluation_standard'; + } + + if (!empty($conf->global->HRMTEST_EVALUATION_ADDON)) { + $mybool = false; + + $file = $conf->global->HRMTEST_EVALUATION_ADDON.".php"; + $classname = $conf->global->HRMTEST_EVALUATION_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir.$file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file ".$file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error")." ".$langs->trans("ClassNotFound").' '.$classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_evaluation'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->EVALUATION_ADDON_PDF)) { + $modele = $conf->global->EVALUATION_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } + + /** + * @param string $action + * @param int $selected + */ + // public function printObjectLines($action, $selected = 0) + // { + // global $conf, $hookmanager, $langs, $user, $extrafields, $object; + // // TODO We should not use global var for this + // global $inputalsopricewithtax, $usemargins, $disableedit, $disablemove, $disableremove, $outputalsopricetotalwithtax; + // + // // Define usemargins + //// $usemargins = 0; + //// if (!empty($conf->margin->enabled) && !empty($this->element) && in_array($this->element, array('facture', 'facturerec', 'propal', 'commande'))) { + //// $usemargins = 1; + //// } + // + // $num = count($this->lines); + // + // // Line extrafield + // if (!is_object($extrafields)) { + // require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + // $extrafields = new ExtraFields($this->db); + // } + // $extrafields->fetch_name_optionals_label($this->table_element_line); + // + // $parameters = array('num'=>$num, 'selected'=>$selected, 'table_element_line'=>$this->table_element_line); + // $reshook = $hookmanager->executeHooks('printObjectLineTitle', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + // if (empty($reshook)) { + // // Output template part (modules that overwrite templates must declare this into descriptor) + // // Note: This is deprecated. If you need to overwrite the tpl file, use instead the hook. + // include dol_buildpath('hrm/core/tpl/objectline_title.tpl.php'); + // } + // + // $i = 0; + // + // print "\n"; + // foreach ($this->lines as $line) { + // //Line extrafield + // $line->fetch_optionals(); + // + // //if (is_object($hookmanager) && (($line->product_type == 9 && ! empty($line->special_code)) || ! empty($line->fk_parent_line))) + // if (is_object($hookmanager)) { // Old code is commented on preceding line. + // if (empty($line->fk_parent_line)) { + // $parameters = array('line'=>$line, 'num'=>$num, 'i'=>$i, 'selected'=>$selected, 'table_element_line'=>$line->table_element); + // $reshook = $hookmanager->executeHooks('printObjectLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + // } else { + // $parameters = array('line'=>$line, 'num'=>$num, 'i'=>$i, 'selected'=>$selected, 'table_element_line'=>$line->table_element, 'fk_parent_line'=>$line->fk_parent_line); + // $reshook = $hookmanager->executeHooks('printObjectSubLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + // } + // } + // if (empty($reshook)) { + // $this->printObjectLine($action, $line); + // } + // + // $i++; + // } + // print "\n"; + // } + + // public function printObjectLine($action, $line) + // { + // global $conf, $langs, $user, $object, $hookmanager; + // global $form; + // global $object_rights, $disableedit, $disablemove, $disableremove; // TODO We should not use global var for this ! + // + // $object_rights = $this->getRights(); + // + // $element = $this->element; + // + // $text = ''; + // $description = ''; + // + // include dol_buildpath('hrm/tpl/objectline_view.tpl.php'); + // } +} diff --git a/htdocs/hrm/class/evaluationdet.class.php b/htdocs/hrm/class/evaluationdet.class.php new file mode 100644 index 00000000000..a268f1b30be --- /dev/null +++ b/htdocs/hrm/class/evaluationdet.class.php @@ -0,0 +1,1045 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/evaluationdet.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for Evaluationdet (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skillrank.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + +/** + * Class for Evaluationline + */ +class Evaluationline extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'evaluationdet'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_evaluationdet'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 1; + + /** + * @var string String with name of icon for evaluationdet. Must be the part after the 'object_' into object_evaluationdet.png + */ + public $picto = 'evaluationdet@hrm'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + 'fk_skill' => array('type'=>'integer:Skill:hrm/class/skill.class.php:1', 'label'=>'Skill', 'enabled'=>'1', 'position'=>3, 'notnull'=>1, 'visible'=>1, 'index'=>1,), + 'fk_evaluation' => array('type'=>'integer:Evaluation:hrm/class/evaluation.class.php:1', 'label'=>'Evaluation', 'enabled'=>'1', 'position'=>3, 'notnull'=>1, 'visible'=>1, 'index'=>1,), + 'rank' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>'1', 'position'=>4, 'notnull'=>1, 'visible'=>1,), + 'required_rank' => array('type'=>'integer', 'label'=>'requiredRank', 'enabled'=>'1', 'position'=>5, 'notnull'=>1, 'visible'=>1,), + 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,), + ); + public $rowid; + public $date_creation; + public $tms; + public $fk_user_creat; + public $fk_user_modif; + public $fk_skill; + public $fk_evaluation; + public $fk_rank; + public $required_rank; + public $import_key; + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + // /** + // * @var string Name of subtable line + // */ + // public $table_element_line = 'hrm_evaluationline'; + + // /** + // * @var string Field with ID of parent key if this object has a parent + // */ + // public $fk_element = 'fk_evaluationdet'; + + // /** + // * @var string Name of subtable class that manage subtable lines + // */ + // public $class_element_line = 'Evaluationline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + // protected $childtables = array(); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + // protected $childtablesoncascade = array('hrm_evaluationdetdet'); + + // /** + // * @var EvaluationLine[] Array of subtable lines + // */ + // public $lines = array(); + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + $this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + // Example to show how to set values of fields definition dynamically + /*if ($user->rights->hrm->evaluationdet->read) { + $this->fields['myfield']['visible'] = 1; + $this->fields['myfield']['noteditable'] = 0; + }*/ + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + $resultcreate = $this->createCommon($user, $notrigger); + + return $resultcreate; + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_".$object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetchLines() + { + $this->lines = array(); + + $result = $this->fetchLinesCommon(); + return $result; + } + + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key.'='.$value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + } else { + $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' '.$this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error '.$this->db->lasterror(); + dol_syslog(__METHOD__.' '.join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + if ($this->fk_rank) { + $skillRank = new SkillRank($this->db); + $skillRank->fetch($this->fk_rank); + $skillRank->delete($user, $notrigger); + } + return $this->deleteCommon($user, $notrigger); + //return $this->deleteCommon($user, $notrigger, 1); + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->evaluationdet->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->evaluationdet->evaluationdet_advance->validate)))) + { + $this->error='NotEnoughPermissions'; + dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); + return -1; + }*/ + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ref = '".$this->db->escape($num)."',"; + $sql .= " status = ".self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '".$this->db->idate($now)."'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = ".((int) $user->id); + } + $sql .= " WHERE rowid = ".((int) $this->id); + + dol_syslog(get_class($this)."::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('EVALUATIONLINE_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'evaluationline/".$this->db->escape($this->newref)."'"; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'evaluationline/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $resql = $this->db->query($sql); + if (!$resql) { + $error++; $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output.'/evaluationline/'.$oldref; + $dirdest = $conf->hrm->dir_output.'/evaluationline/'.$newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this)."::validate() rename dir ".$dirsource." into ".$dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output.'/evaluationline/'.$newref, 'files', 1, '^'.preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^'.preg_quote($oldref, '/').'/', $newref, $dirsource); + $dirsource = $fileentry['path'].'/'.$dirsource; + $dirdest = $fileentry['path'].'/'.$dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'EVALUATIONLINE_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'EVALUATIONLINE_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'EVALUATIONLINE_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto).' '.$langs->trans("Evaluationdet").''; + if (isset($this->status)) { + $label .= ' '.$this->getLibStatut(5); + } + $label .= '
    '; + $label .= ''.$langs->trans('Ref').': '.$this->ref; + + $url = dol_buildpath('/hrm/evaluationdet_card.php', 1).'?id='.$this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowEvaluationdet"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } else { + $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity]."/$class/".dol_sanitizeFileName($this->ref); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class.'/'.$this->ref.'/thumbs/'.substr($filename, 0, $pospoint).'_mini'.substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module.'_'.$class).'_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= '
    '; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->ref; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('evaluationlinedao')); + $parameters = array('id'=>$this->id, 'getnomurl'=>$result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + } + + $statusType = 'status'.$status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= ' WHERE t.rowid = '.((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new EvaluationLine($this->db); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_evaluationdet = '.$this->id)); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->hrm_EVALUATIONLINE_ADDON)) { + $conf->global->hrm_EVALUATIONLINE_ADDON = 'mod_evaluationdet_standard'; + } + + if (!empty($conf->global->hrm_EVALUATIONLINE_ADDON)) { + $mybool = false; + + $file = $conf->global->hrm_EVALUATIONLINE_ADDON.".php"; + $classname = $conf->global->hrm_EVALUATIONLINE_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir.$file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file ".$file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error")." ".$langs->trans("ClassNotFound").' '.$classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_evaluationdet'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->EVALUATIONLINE_ADDON_PDF)) { + $modele = $conf->global->EVALUATIONLINE_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } +} + + +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobjectline.class.php'; diff --git a/htdocs/hrm/class/job.class.php b/htdocs/hrm/class/job.class.php new file mode 100644 index 00000000000..fc94f4ba6ae --- /dev/null +++ b/htdocs/hrm/class/job.class.php @@ -0,0 +1,1103 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/job.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for Job (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + +/** + * Class for Job + */ +class Job extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'job'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_job'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 1; + + /** + * @var string String with name of icon for job. Must be the part after the 'object_' into object_job.png + */ + public $picto = 'technic'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'label' => array('type'=>'varchar(128)', 'label'=>'Label', 'enabled'=>'1', 'position'=>20, 'notnull'=>1, 'visible'=>1, 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Label of object"), + 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>21, 'notnull'=>0, 'visible'=>1,), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>2,), + 'deplacement' => array('type'=>'select', 'required'=> 1,'label'=> 'deplacement', 'enabled'=> 1, 'position'=> 90, 'notnull'=> 1, 'visible'=> 1, 'arrayofkeyval'=> array(0 =>"No", 1=>"Yes"), 'default'=>0), + 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>70, 'notnull'=>0, 'visible'=>0,), + 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>71, 'notnull'=>0, 'visible'=>0,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + ); + public $rowid; + public $ref; + public $description; + public $date_creation; + public $tms; + public $deplacement; + public $note_public; + public $note_private; + public $fk_user_creat; + public $fk_user_modif; + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + // /** + // * @var string Name of subtable line + // */ + // public $table_element_line = 'hrm_jobline'; + + // /** + // * @var string Field with ID of parent key if this object has a parent + // */ + public $fk_element = 'fk_job'; + + // /** + // * @var string Name of subtable class that manage subtable lines + // */ + // public $class_element_line = 'Jobline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + protected $childtables = array('hrm_evaluation', 'hrm_job_user'); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + protected $childtablesoncascade = array("@SkillRank:hrm/class/skillrank.class.php:fk_object:objecttype='job'"); + + // /** + // * @var JobLine[] Array of subtable lines + // */ + // public $lines = array(); + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + $this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + // Example to show how to set values of fields definition dynamically + /*if ($user->rights->hrm->job->read) { + $this->fields['myfield']['visible'] = 1; + $this->fields['myfield']['noteditable'] = 0; + }*/ + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + $resultcreate = $this->createCommon($user, $notrigger); + + //$resultvalidate = $this->validate($user, $notrigger); + + return $resultcreate; + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_".$object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetchLines() + { + $this->lines = array(); + + $result = $this->fetchLinesCommon(); + return $result; + } + + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key.'='.$value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + } else { + $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' '.$this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error '.$this->db->lasterror(); + dol_syslog(__METHOD__.' '.join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + return $this->deleteCommon($user, $notrigger); + //return $this->deleteCommon($user, $notrigger, 1); + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->job->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->job->job_advance->validate)))) + { + $this->error='NotEnoughPermissions'; + dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); + return -1; + }*/ + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ref = '".$this->db->escape($num)."',"; + $sql .= " status = ".self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '".$this->db->idate($now)."'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = ".((int) $user->id); + } + $sql .= " WHERE rowid = ".((int) $this->id); + + dol_syslog(get_class($this)."::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('JOB_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'job/".$this->db->escape($this->newref)."'"; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'job/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $resql = $this->db->query($sql); + if (!$resql) { + $error++; $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output.'/job/'.$oldref; + $dirdest = $conf->hrm->dir_output.'/job/'.$newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this)."::validate() rename dir ".$dirsource." into ".$dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output.'/job/'.$newref, 'files', 1, '^'.preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^'.preg_quote($oldref, '/').'/', $newref, $dirsource); + $dirsource = $fileentry['path'].'/'.$dirsource; + $dirdest = $fileentry['path'].'/'.$dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Get last job for user + * + * @param int $fk_user id of user we need to get last job + * @return mixed|string|null + */ + public function getLastJobForUser($fk_user) + { + global $db; + + $j = new Job($db); + $Tab = $j->getForUser($fk_user); + + if (empty($Tab)) return ''; + + $job = array_shift($Tab); + + return $job; + } + + /** + * Get jobs for user + * + * @param int $userid id of user we need to get job list + * @return array of jobs + */ + public function getForUser($userid) + { + global $db; + + $TReturn = array(); + $position = new Position($db); + $TPosition = $position->getForUser($userid); + foreach ($TPosition as $UPosition) { + $TReturn[$UPosition->Job->rowid] = $UPosition->Job->ref; + } + return $TReturn; + } + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'JOB_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'JOB_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'JOB_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto).' '.$langs->trans("Job").''; + if (isset($this->status)) { + $label .= ' '.$this->getLibStatut(5); + } + $label .= '
    '; + $label .= ''.$langs->trans('Label').': '.$this->label; + + $url = dol_buildpath('/hrm/job_card.php', 1).'?id='.$this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowJob"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } else { + $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity]."/$class/".dol_sanitizeFileName($this->label); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class.'/'.$this->label.'/thumbs/'.substr($filename, 0, $pospoint).'_mini'.substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module.'_'.$class).'_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= '
    '; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->label; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('jobdao')); + $parameters = array('id'=>$this->id, 'getnomurl'=>$result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + } + + $statusType = 'status'.$status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= ' WHERE t.rowid = '.((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new JobLine($this->db); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_job = '.$this->id)); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->hrm_JOB_ADDON)) { + $conf->global->hrm_JOB_ADDON = 'mod_job_standard'; + } + + if (!empty($conf->global->hrm_JOB_ADDON)) { + $mybool = false; + + $file = $conf->global->hrm_JOB_ADDON.".php"; + $classname = $conf->global->hrm_JOB_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir.$file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file ".$file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error")." ".$langs->trans("ClassNotFound").' '.$classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_job'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->JOB_ADDON_PDF)) { + $modele = $conf->global->JOB_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } +} + + +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobjectline.class.php'; + +/** + * Class JobLine. You can also remove this and generate a CRUD class for lines objects. + */ +class JobLine extends CommonObjectLine +{ + // To complete with content of an object JobLine + // We should have a field rowid, fk_job and position + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 0; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + $this->db = $db; + } +} diff --git a/htdocs/hrm/class/position.class.php b/htdocs/hrm/class/position.class.php new file mode 100644 index 00000000000..2a0d04fe393 --- /dev/null +++ b/htdocs/hrm/class/position.class.php @@ -0,0 +1,1091 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/position.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for Position (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + +/** + * Class for Position + */ +class Position extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'position'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_job_user'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 1; + + /** + * @var string String with name of icon for position. Must be the part after the 'object_' into object_position.png + */ + public $picto = 'user-cog'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>2, 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + //'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>20, 'notnull'=>1, 'visible'=>1, 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Reference of object"), + 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>3,), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'fk_contrat' => array('type'=>'integer:Contrat:contrat/class/contrat.class.php', 'label'=>'fk_contrat', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>0,), + 'fk_user' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'Employee', 'enabled'=>'1', 'position'=>55, 'notnull'=>1, 'visible'=>1,), + 'fk_job' => array('type'=>'integer:Job:/hrm/class/job.class.php', 'label'=>'Job', 'enabled'=>'1', 'position'=>56, 'notnull'=>1, 'visible'=>1,), + 'date_start' => array('type'=>'date', 'label'=>'DateStart', 'enabled'=>'1', 'position'=>51, 'notnull'=>1, 'visible'=>1,), + 'date_end' => array('type'=>'date', 'label'=>'DateEnd', 'enabled'=>'1', 'position'=>52, 'notnull'=>0, 'visible'=>1,), + 'commentaire_abandon' => array('type'=>'varchar(255)', 'label'=>'AbandonmentComment', 'enabled'=>'1', 'position'=>502, 'notnull'=>0, 'visible'=>1,), + 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>70, 'notnull'=>0, 'visible'=>0,), + 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>71, 'notnull'=>0, 'visible'=>0,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + ); + public $rowid; + public $ref; + public $description; + public $date_creation; + public $tms; + public $fk_contrat; + public $fk_user; + public $fk_job; + public $date_start; + public $date_end; + public $commentaire_abandon; + public $note_public; + public $note_private; + public $fk_user_creat; + public $fk_user_modif; + + + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + // /** + // * @var string Name of subtable line + // */ + // public $table_element_line = 'hrm_job_userline'; + + // /** + // * @var string Field with ID of parent key if this object has a parent + // */ + // public $fk_element = 'fk_position'; + + // /** + // * @var string Name of subtable class that manage subtable lines + // */ + // public $class_element_line = 'Positionline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + // protected $childtables = array(); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + // protected $childtablesoncascade = array('hrm_job_userdet'); + + // /** + // * @var PositionLine[] Array of subtable lines + // */ + // public $lines = array(); + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + //$this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + // Example to show how to set values of fields definition dynamically + /*if ($user->rights->hrm->position->read) { + $this->fields['myfield']['visible'] = 1; + $this->fields['myfield']['noteditable'] = 0; + }*/ + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + $resultcreate = $this->createCommon($user, $notrigger); + + //$resultvalidate = $this->validate($user, $notrigger); + + return $resultcreate; + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_" . $object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf") . " " . $object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetchLines() + { + $this->lines = array(); + + $result = $this->fetchLinesCommon(); + return $result; + } + + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN (' . getEntity($this->table_element) . ')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key . '=' . $value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key . ' = \'' . $this->db->idate($value) . '\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key . ' IN (' . $this->db->sanitize($this->db->escape($value)) . ')'; + } else { + $sqlwhere[] = $key . ' LIKE \'%' . $this->db->escape($value) . '%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' ' . $this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error ' . $this->db->lasterror(); + dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + return $this->deleteCommon($user, $notrigger); + //return $this->deleteCommon($user, $notrigger, 1); + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this) . "::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->position->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->position->position_advance->validate)))) + { + $this->error='NotEnoughPermissions'; + dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); + return -1; + }*/ + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE " . MAIN_DB_PREFIX . $this->table_element; + $sql .= " SET ref = '" . $this->db->escape($num) . "',"; + $sql .= " status = " . self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '" . $this->db->idate($now) . "'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = " . ((int) $user->id); + } + $sql .= " WHERE rowid = " . ((int) $this->id); + + dol_syslog(get_class($this) . "::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('POSITION_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE ' . MAIN_DB_PREFIX . "ecm_files set filename = CONCAT('" . $this->db->escape($this->newref) . "', SUBSTR(filename, " . (strlen($this->ref) + 1) . ")), filepath = 'position/" . $this->db->escape($this->newref) . "'"; + $sql .= " WHERE filename LIKE '" . $this->db->escape($this->ref) . "%' AND filepath = 'position/" . $this->db->escape($this->ref) . "' and entity = " . $conf->entity; + $resql = $this->db->query($sql); + if (!$resql) { + $error++; + $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output . '/position/' . $oldref; + $dirdest = $conf->hrm->dir_output . '/position/' . $newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this) . "::validate() rename dir " . $dirsource . " into " . $dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output . '/position/' . $newref, 'files', 1, '^' . preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^' . preg_quote($oldref, '/') . '/', $newref, $dirsource); + $dirsource = $fileentry['path'] . '/' . $dirsource; + $dirdest = $fileentry['path'] . '/' . $dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'POSITION_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'POSITION_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'POSITION_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto) . ' ' . $langs->trans("Position") . ''; + if (isset($this->status)) { + $label .= ' ' . $this->getLibStatut(5); + } + $label .= '
    '; + $label .= '' . $langs->trans('Ref') . ': ' . $this->ref; + + $url = dol_buildpath('/hrm/position_card.php', 1) . '?id=' . $this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowPosition"); + $linkclose .= ' alt="' . dol_escape_htmltag($label, 1) . '"'; + } + $linkclose .= ' title="' . dol_escape_htmltag($label, 1) . '"'; + $linkclose .= ' class="classfortooltip' . ($morecss ? ' ' . $morecss : '') . '"'; + } else { + $linkclose = ($morecss ? ' class="' . $morecss . '"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="' . (($withpicto != 2) ? 'paddingright ' : '') . 'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity] . "/$class/" . dol_sanitizeFileName($this->ref); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class . '/' . $this->ref . '/thumbs/' . substr($filename, 0, $pospoint) . '_mini' . substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module . '_' . $class) . '_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= '
    '; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="' . (($withpicto != 2) ? 'paddingright ' : '') . 'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->ref; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('positiondao')); + $parameters = array('id' => $this->id, 'getnomurl' => $result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + } + + $statusType = 'status' . $status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t'; + $sql .= ' WHERE t.rowid = ' . ((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new PositionLine($this->db); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql' => 'fk_position = ' . $this->id)); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->hrm_POSITION_ADDON)) { + $conf->global->hrm_POSITION_ADDON = 'mod_position_standard'; + } + + if (!empty($conf->global->hrm_POSITION_ADDON)) { + $mybool = false; + + $file = $conf->global->hrm_POSITION_ADDON . ".php"; + $classname = $conf->global->hrm_POSITION_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir . "core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir . $file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file " . $file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error") . " " . $langs->trans("ClassNotFound") . ' ' . $classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * @param int $userid id of user we need to get position list + * @return array|int of positions of user with for each of them the job fetched into that array + */ + public function getForUser($userid) + { + $TPosition = array(); + + $TPosition = $this->fetchAll('ASC', 't.rowid', 0, 0, array('customsql' => 'fk_user=' . $userid)); + + return $TPosition; + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_position'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->POSITION_ADDON_PDF)) { + $modele = $conf->global->POSITION_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } +} + + +require_once DOL_DOCUMENT_ROOT . '/core/class/commonobjectline.class.php'; + +/** + * Class PositionLine. You can also remove this and generate a CRUD class for lines objects. + */ +class PositionLine extends CommonObjectLine +{ + // To complete with content of an object PositionLine + // We should have a field rowid, fk_position and position + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 0; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + $this->db = $db; + } +} diff --git a/htdocs/hrm/class/skill.class.php b/htdocs/hrm/class/skill.class.php new file mode 100644 index 00000000000..45e9eb6701c --- /dev/null +++ b/htdocs/hrm/class/skill.class.php @@ -0,0 +1,1109 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/skill.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for Skill (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + +/** + * Class for Skill + */ +class Skill extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'skill'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_skill'; + + + /** + * @var string Name of subtable line + */ + public $table_element_line = 'skilldet'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 1; + + /** + * @var string String with name of icon for skill. Must be the part after the 'object_' into object_skill.png + */ + public $picto = 'shapes'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + const DEFAULT_MAX_RANK_PER_SKILL = 5; + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>'1', 'position'=>30, 'notnull'=>1, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth300', 'cssview'=>'wordbreak', 'showoncombobox'=>'2',), + 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>3,), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + 'required_level' => array('type'=>'integer', 'label'=>'requiredLevel', 'enabled'=>'1', 'position'=>50, 'notnull'=>1, 'visible'=>0,), + 'date_validite' => array('type'=>'integer', 'label'=>'date_validite', 'enabled'=>'1', 'position'=>52, 'notnull'=>1, 'visible'=>0,), + 'temps_theorique' => array('type'=>'double(24,8)', 'label'=>'temps_theorique', 'enabled'=>'1', 'position'=>54, 'notnull'=>1, 'visible'=>0,), + 'skill_type' => array('type'=>'integer', 'label'=>'SkillType', 'enabled'=>'1', 'position'=>55, 'notnull'=>1, 'visible'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'knowHow', '1'=>'HowToBe', '9'=>'knowledge'), 'default'=>0), + 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>70, 'notnull'=>0, 'visible'=>0,), + 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>71, 'notnull'=>0, 'visible'=>0,), + ); + public $rowid; + public $label; + public $description; + public $date_creation; + public $tms; + public $fk_user_creat; + public $fk_user_modif; + public $required_level; + public $date_validite; + public $temps_theorique; + public $skill_type; + public $note_public; + public $note_private; + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + // /** + // * @var string Name of subtable line + // */ + // public $table_element_line = 'hrm_skillline'; + + // /** + // * @var string Field with ID of parent key if this object has a parent + // */ + public $fk_element = 'fk_skill'; + + // /** + // * @var string Name of subtable class that manage subtable lines + // */ + // public $class_element_line = 'Skillline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + protected $childtables = array('hrm_skillrank', 'hrm_evaluationdet'); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + protected $childtablesoncascade = array('hrm_skilldet'); + + // /** + // * @var SkillLine[] Array of subtable lines + // */ + // public $lines = array(); + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + $this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + // Example to show how to set values of fields definition dynamically + /*if ($user->rights->hrm->skill->read) { + $this->fields['myfield']['visible'] = 1; + $this->fields['myfield']['noteditable'] = 0; + }*/ + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + global $langs,$conf; + + $resultcreate = $this->createCommon($user, $notrigger); + + + if ($resultcreate > 0) { + // skillDet create + $this->createSkills(); + } + + return $resultcreate; + } + + /** + * @param int $i rank from which we want to create skilldets + * @return null + */ + public function createSkills($i = 1) + { + + global $conf, $user, $langs; + + $MaxNumberSkill = isset($conf->global->HRM_MAXRANK) ? $conf->global->HRM_MAXRANK : self::DEFAULT_MAX_RANK_PER_SKILL; + $defaultSkillDesc = !empty($conf->global->HRM_DEFAULT_SKILL_DESCRIPTION) ? $conf->global->HRM_DEFAULT_SKILL_DESCRIPTION : 'no Description'; + require_once __DIR__ . '/skilldet.class.php'; + for ($i; $i <= $MaxNumberSkill ; $i++) { + $skilldet = new Skilldet($this->db); + $skilldet->description = $defaultSkillDesc . " " . $i ; + $skilldet->rank = $i; + $skilldet->fk_skill = $this->id; + + $result = $skilldet->create($user); + + if ($result > 0) { + setEventMessage($langs->trans('TraductionCreadted'), $i); + } + } + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_".$object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int | array <0 if KO, 0 if not found, array if OK + */ + public function fetchLines() + { + $this->lines = array(); + require_once __DIR__ . '/skilldet.class.php'; + $skilldet = new Skilldet($this->db); + $this->lines = $skilldet->fetchAll('ASC', '', '', '', array('fk_skill' => $this->id), ''); + + return (count($this->lines) > 0 ) ? $this->lines : 0; + } + + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key.'='.$value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + } else { + $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' '.$this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error '.$this->db->lasterror(); + dol_syslog(__METHOD__.' '.join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + return $this->deleteCommon($user, $notrigger);; + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->skill->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->skill->skill_advance->validate)))) + { + $this->error='NotEnoughPermissions'; + dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); + return -1; + }*/ + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ref = '".$this->db->escape($num)."',"; + $sql .= " status = ".self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '".$this->db->idate($now)."'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = ".((int) $user->id); + } + $sql .= " WHERE rowid = ".((int) $this->id); + + dol_syslog(get_class($this)."::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('SKILL_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'skill/".$this->db->escape($this->newref)."'"; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'skill/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $resql = $this->db->query($sql); + if (!$resql) { + $error++; $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output.'/skill/'.$oldref; + $dirdest = $conf->hrm->dir_output.'/skill/'.$newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this)."::validate() rename dir ".$dirsource." into ".$dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output.'/skill/'.$newref, 'files', 1, '^'.preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^'.preg_quote($oldref, '/').'/', $newref, $dirsource); + $dirsource = $fileentry['path'].'/'.$dirsource; + $dirdest = $fileentry['path'].'/'.$dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'SKILL_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'SKILL_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'SKILL_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto).' '.$langs->trans("Skill").''; + if (isset($this->status)) { + $label .= ' '.$this->getLibStatut(5); + } + $label .= '
    '; + $label .= ''.$langs->trans('Label').': '.$this->label; + + $url = dol_buildpath('/hrm/skill_card.php', 1).'?id='.$this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowSkill"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } else { + $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity]."/$class/".dol_sanitizeFileName($this->ref); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class.'/'.$this->ref.'/thumbs/'.substr($filename, 0, $pospoint).'_mini'.substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module.'_'.$class).'_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= '
    '; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->label; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('jobdao')); + $parameters = array('id'=>$this->id, 'getnomurl'=>$result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + } + + $statusType = 'status'.$status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= ' WHERE t.rowid = '.((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new SkillLine($this->db); + $result = $objectline->fetchAll('ASC', 'rank', 0, 0, array('customsql'=>'fk_skill = '.$this->id)); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->hrm_SKILL_ADDON)) { + $conf->global->hrm_SKILL_ADDON = 'mod_skill_standard'; + } + + if (!empty($conf->global->hrm_SKILL_ADDON)) { + $mybool = false; + + $file = $conf->global->hrm_SKILL_ADDON.".php"; + $classname = $conf->global->hrm_SKILL_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir.$file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file ".$file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error")." ".$langs->trans("ClassNotFound").' '.$classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_skill'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->SKILL_ADDON_PDF)) { + $modele = $conf->global->SKILL_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } + + /** + * @param int $code number of code label + * @return int|string + */ + public static function typeCodeToLabel($code) + { + global $langs; + $result = ''; + switch ($code) { + case 0 : $result = $langs->trans("knowHow"); break; //"Savoir Faire" + case 1 : $result = $langs->trans("HowToBe"); break; // "Savoir être" + case 9 : $result = $langs->trans("knowledge"); break; //"Savoir" + } + return $result; + } +} diff --git a/htdocs/hrm/class/skilldet.class.php b/htdocs/hrm/class/skilldet.class.php new file mode 100644 index 00000000000..e3f2d011b85 --- /dev/null +++ b/htdocs/hrm/class/skilldet.class.php @@ -0,0 +1,1030 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/skilldet.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for Skilldet (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; + +/** + * Class for Skilldet + */ +class Skilldet extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'skilldet'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_skilldet'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 1; + + /** + * @var string String with name of icon for skilldet. Must be the part after the 'object_' into object_skilldet.png + */ + public $picto = 'skilldet@hrm'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'rank' => array('type'=>'integer', 'label'=>'rank', 'enabled'=>'1', 'position'=>2, 'notnull'=>0, 'visible'=>2,), + 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>0,), + 'fk_skill' => array('type'=>'integer:Skill:/hrm/class/skill.class.php', 'label'=>'fk_skill', 'enabled'=>'1', 'position'=>513, 'notnull'=>1, 'visible'=>0,), + ); + public $rowid; + public $description; + public $fk_user_creat; + public $fk_user_modif; + public $fk_skill; + public $rank; + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + // /** + // * @var string Name of subtable line + // */ + // public $table_element_line = 'hrm_skilldetline'; + + // /** + // * @var string Field with ID of parent key if this object has a parent + // */ + // public $fk_element = 'fk_skilldet'; + + // /** + // * @var string Name of subtable class that manage subtable lines + // */ + // public $class_element_line = 'Skilldetline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + // protected $childtables = array(); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + // protected $childtablesoncascade = array('hrm_skilldetdet'); + + // /** + // * @var SkilldetLine[] Array of subtable lines + // */ + // public $lines = array(); + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + $this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + // Example to show how to set values of fields definition dynamically + /*if ($user->rights->hrm->skilldet->read) { + $this->fields['myfield']['visible'] = 1; + $this->fields['myfield']['noteditable'] = 0; + }*/ + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + $resultcreate = $this->createCommon($user, $notrigger); + + //$resultvalidate = $this->validate($user, $notrigger); + + return $resultcreate; + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_".$object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetchLines() + { + $this->lines = array(); + + $result = $this->fetchLinesCommon(); + return $result; + } + + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key.'='.$value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + } else { + $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' '.$this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error '.$this->db->lasterror(); + dol_syslog(__METHOD__.' '.join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + return $this->deleteCommon($user, $notrigger); + //return $this->deleteCommon($user, $notrigger, 1); + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->skilldet->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->skilldet->skilldet_advance->validate)))) + { + $this->error='NotEnoughPermissions'; + dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); + return -1; + }*/ + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ref = '".$this->db->escape($num)."',"; + $sql .= " status = ".self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '".$this->db->idate($now)."'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = ".((int) $user->id); + } + $sql .= " WHERE rowid = ".((int) $this->id); + + dol_syslog(get_class($this)."::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('SKILLDET_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'skilldet/".$this->db->escape($this->newref)."'"; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'skilldet/".$this->db->escape($this->ref)."' and entity = ".$conf->entity; + $resql = $this->db->query($sql); + if (!$resql) { + $error++; $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output.'/skilldet/'.$oldref; + $dirdest = $conf->hrm->dir_output.'/skilldet/'.$newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this)."::validate() rename dir ".$dirsource." into ".$dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output.'/skilldet/'.$newref, 'files', 1, '^'.preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^'.preg_quote($oldref, '/').'/', $newref, $dirsource); + $dirsource = $fileentry['path'].'/'.$dirsource; + $dirdest = $fileentry['path'].'/'.$dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'SKILLDET_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'SKILLDET_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'SKILLDET_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto).' '.$langs->trans("Skilldet").''; + if (isset($this->status)) { + $label .= ' '.$this->getLibStatut(5); + } + $label .= '
    '; + $label .= ''.$langs->trans('Ref').': '.$this->ref; + + $url = dol_buildpath('/hrm/skilldet_card.php', 1).'?id='.$this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowSkilldet"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } else { + $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity]."/$class/".dol_sanitizeFileName($this->ref); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class.'/'.$this->ref.'/thumbs/'.substr($filename, 0, $pospoint).'_mini'.substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module.'_'.$class).'_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= '
    '; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->ref; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('skilldetdao')); + $parameters = array('id'=>$this->id, 'getnomurl'=>$result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + } + + $statusType = 'status'.$status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= ' WHERE t.rowid = '.((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new SkilldetLine($this->db); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_skilldet = '.$this->id)); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->hrm_SKILLDET_ADDON)) { + $conf->global->hrm_SKILLDET_ADDON = 'mod_skilldet_standard'; + } + + if (!empty($conf->global->hrm_SKILLDET_ADDON)) { + $mybool = false; + + $file = $conf->global->hrm_SKILLDET_ADDON.".php"; + $classname = $conf->global->hrm_SKILLDET_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir.$file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file ".$file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error")." ".$langs->trans("ClassNotFound").' '.$classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_skilldet'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->SKILLDET_ADDON_PDF)) { + $modele = $conf->global->SKILLDET_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } +} diff --git a/htdocs/hrm/class/skillrank.class.php b/htdocs/hrm/class/skillrank.class.php new file mode 100644 index 00000000000..a07015ef763 --- /dev/null +++ b/htdocs/hrm/class/skillrank.class.php @@ -0,0 +1,1086 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file class/skillrank.class.php + * \ingroup hrm + * \brief This file is a CRUD class file for SkillRank (Create/Read/Update/Delete) + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skillrank.lib.php'; + +/** + * Class for SkillRank + */ +class SkillRank extends CommonObject +{ + /** + * @var string ID of module. + */ + public $module = 'hrm'; + + /** + * @var string ID to identify managed object. + */ + public $element = 'skillrank'; + + /** + * @var string Name of table without prefix where object is stored. This is also the key used for extrafields management. + */ + public $table_element = 'hrm_skillrank'; + + /** + * @var int Does this object support multicompany module ? + * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table + */ + public $ismultientitymanaged = 0; + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 0; + + /** + * @var string String with name of icon for skillrank. Must be the part after the 'object_' into object_skillrank.png + */ + public $picto = 'skillrank@hrm'; + + + const STATUS_DRAFT = 0; + const STATUS_VALIDATED = 1; + const STATUS_CANCELED = 9; + + const SKILLRANK_TYPE_JOB = "job"; + const SKILLRANK_TYPE_USER = "user"; + const SKILLRANK_TYPE_EVALDET = "evaluationdet"; + + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. + */ + + // BEGIN MODULEBUILDER PROPERTIES + /** + * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. + */ + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'fk_skill' => array('type'=>'integer:Skill:hrm/class/skill.class.php:1', 'label'=>'Skill', 'enabled'=>'1', 'position'=>3, 'notnull'=>1, 'visible'=>1, 'index'=>1,), + 'rank' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>'1', 'position'=>4, 'notnull'=>1, 'visible'=>1, 'default' => 0), + 'fk_object' => array('type'=>'integer', 'label'=>'object', 'enabled'=>'1', 'position'=>5, 'notnull'=>1, 'visible'=>0,), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + 'objecttype' => array('type'=>'varchar(128)', 'label'=>'objecttype', 'enabled'=>'1', 'position'=>6, 'notnull'=>1, 'visible'=>0,), + ); + public $rowid; + public $fk_skill; + public $rank; + public $fk_object; + public $date_creation; + public $tms; + public $fk_user_creat; + public $fk_user_modif; + public $objecttype; + // END MODULEBUILDER PROPERTIES + + + // If this object has a subtable with lines + + // /** + // * @var string Name of subtable line + // */ + // public $table_element_line = 'hrm_skillrankline'; + + // /** + // * @var string Field with ID of parent key if this object has a parent + // */ + // public $fk_element = 'fk_skillrank'; + + // /** + // * @var string Name of subtable class that manage subtable lines + // */ + // public $class_element_line = 'SkillRankline'; + + // /** + // * @var array List of child tables. To test if we can delete object. + // */ + // protected $childtables = array(); + + // /** + // * @var array List of child tables. To know object to delete on cascade. + // * If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will + // * call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object + // */ + // protected $childtablesoncascade = array('hrm_skillrankdet'); + + // /** + // * @var SkillRankLine[] Array of subtable lines + // */ + // public $lines = array(); + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + global $conf, $langs; + + $this->db = $db; + + if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { + $this->fields['rowid']['visible'] = 0; + } + if (empty($conf->multicompany->enabled) && isset($this->fields['entity'])) { + $this->fields['entity']['enabled'] = 0; + } + + // Example to show how to set values of fields definition dynamically + /*if ($user->rights->hrm->skillrank->read) { + $this->fields['myfield']['visible'] = 1; + $this->fields['myfield']['noteditable'] = 0; + }*/ + + // Unset fields that are disabled + foreach ($this->fields as $key => $val) { + if (isset($val['enabled']) && empty($val['enabled'])) { + unset($this->fields[$key]); + } + } + + // Translate some data of arrayofkeyval + if (is_object($langs)) { + foreach ($this->fields as $key => $val) { + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + foreach ($val['arrayofkeyval'] as $key2 => $val2) { + $this->fields[$key]['arrayofkeyval'][$key2] = $langs->trans($val2); + } + } + } + } + } + + /** + * Create object into database + * + * @param User $user User that creates + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + public function create(User $user, $notrigger = false) + { + global $langs; + + $sqlfilter = 'fk_object='.((int) $this->fk_object)." AND objecttype='".$this->db->escape($this->objecttype)."' AND fk_skill = ".((int) $this->fk_skill); + $alreadyLinked = $this->fetchAll('ASC', 'rowid', 0, 0, array('customsql' => $sqlfilter)); + if (!empty($alreadyLinked)) { + $this->error = $langs->trans('ErrSkillAlreadyAdded'); + return -1; + } + + $resultcreate = $this->createCommon($user, $notrigger); + + return $resultcreate; + } + + /** + * Clone an object into another one + * + * @param User $user User that creates + * @param int $fromid Id of object to clone + * @return mixed New object created, <0 if KO + */ + public function createFromClone(User $user, $fromid) + { + global $langs, $extrafields; + $error = 0; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $object = new self($this->db); + + $this->db->begin(); + + // Load source object + $result = $object->fetchCommon($fromid); + if ($result > 0 && !empty($object->table_element_line)) { + $object->fetchLines(); + } + + // get lines so they will be clone + //foreach($this->lines as $line) + // $line->fetch_optionals(); + + // Reset some properties + unset($object->id); + unset($object->fk_user_creat); + unset($object->import_key); + + // Clear fields + if (property_exists($object, 'ref')) { + $object->ref = empty($this->fields['ref']['default']) ? "Copy_Of_".$object->ref : $this->fields['ref']['default']; + } + if (property_exists($object, 'label')) { + $object->label = empty($this->fields['label']['default']) ? $langs->trans("CopyOf")." ".$object->label : $this->fields['label']['default']; + } + if (property_exists($object, 'status')) { + $object->status = self::STATUS_DRAFT; + } + if (property_exists($object, 'date_creation')) { + $object->date_creation = dol_now(); + } + if (property_exists($object, 'date_modification')) { + $object->date_modification = null; + } + // ... + // Clear extrafields that are unique + if (is_array($object->array_options) && count($object->array_options) > 0) { + $extrafields->fetch_name_optionals_label($this->table_element); + foreach ($object->array_options as $key => $option) { + $shortkey = preg_replace('/options_/', '', $key); + if (!empty($extrafields->attributes[$this->table_element]['unique'][$shortkey])) { + //var_dump($key); var_dump($clonedObj->array_options[$key]); exit; + unset($object->array_options[$key]); + } + } + } + + // Create clone + $object->context['createfromclone'] = 'createfromclone'; + $result = $object->createCommon($user); + if ($result < 0) { + $error++; + $this->error = $object->error; + $this->errors = $object->errors; + } + + if (!$error) { + // copy internal contacts + if ($this->copy_linked_contact($object, 'internal') < 0) { + $error++; + } + } + + if (!$error) { + // copy external contacts if same company + if (property_exists($this, 'fk_soc') && $this->fk_soc == $object->socid) { + if ($this->copy_linked_contact($object, 'external') < 0) { + $error++; + } + } + } + + unset($object->context['createfromclone']); + + // End + if (!$error) { + $this->db->commit(); + return $object; + } else { + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @param string $ref Ref + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetch($id, $ref = null) + { + $result = $this->fetchCommon($id, $ref); + if ($result > 0 && !empty($this->table_element_line)) { + $this->fetchLines(); + } + return $result; + } + + /** + * Load object lines in memory from the database + * + * @return int <0 if KO, 0 if not found, >0 if OK + */ + public function fetchLines() + { + $this->lines = array(); + + $result = $this->fetchLinesCommon(); + return $result; + } + + /** + * Clone skillrank Object linked to job with user id + * The skillrank table is a join table that is marked for multiple objects + * + * @param SkillRank $currentSkill line of evaluation (skill) we need to clone and add to user skills list + * @param int $fk_user id of user linked to skillrank + * @return int > 0 if ok, < 0 if ko + */ + public function cloneFromCurrentSkill($currentSkill, $fk_user) + { + + global $user; + + $this->fk_skill = $currentSkill->fk_skill; + $this->rank = $currentSkill->rank; + $this->fk_object = $fk_user; + $this->date_creation = dol_now(); + $this->fk_user_creat = $user->id; + $this->fk_user_modif = $user->id; + $this->objecttype = self::SKILLRANK_TYPE_USER; + $result = $this->create($user); + + return $result; + } + + /** + * Load list of objects in memory from the database. + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit limit + * @param int $offset Offset + * @param array $filter Filter array. Example array('field'=>'valueforlike', 'customurl'=>...) + * @param string $filtermode Filter mode (AND or OR) + * @return array|int int <0 if KO, array of pages if OK + */ + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') + { + global $conf; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $records = array(); + + $sql = 'SELECT '; + $sql .= $this->getFieldList('t'); + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { + $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + } else { + $sql .= ' WHERE 1 = 1'; + } + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key == 't.rowid') { + $sqlwhere[] = $key.'='.$value; + } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { + $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + } elseif ($key == 'customsql') { + $sqlwhere[] = $value; + } elseif (strpos($value, '%') === false) { + $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + } else { + $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + } + } + } + if (count($sqlwhere) > 0) { + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield, $sortorder); + } + if (!empty($limit)) { + $sql .= ' '.$this->db->plimit($limit, $offset); + } + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < ($limit ? min($limit, $num) : $num)) { + $obj = $this->db->fetch_object($resql); + + $record = new self($this->db); + $record->setVarsFromFetchObj($obj); + + $records[$record->id] = $record; + + $i++; + } + $this->db->free($resql); + + return $records; + } else { + $this->errors[] = 'Error '.$this->db->lasterror(); + dol_syslog(__METHOD__.' '.join(',', $this->errors), LOG_ERR); + + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function update(User $user, $notrigger = false) + { + return $this->updateCommon($user, $notrigger); + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int <0 if KO, >0 if OK + */ + public function delete(User $user, $notrigger = false) + { + return $this->deleteCommon($user, $notrigger); + //return $this->deleteCommon($user, $notrigger, 1); + } + + /** + * Delete a line of object in database + * + * @param User $user User that delete + * @param int $idline Id of line to delete + * @param bool $notrigger false=launch triggers after, true=disable triggers + * @return int >0 if OK, <0 if KO + */ + public function deleteLine(User $user, $idline, $notrigger = false) + { + if ($this->status < 0) { + $this->error = 'ErrorDeleteLineNotAllowedByObjectStatus'; + return -2; + } + + return $this->deleteLineCommon($user, $idline, $notrigger); + } + + + /** + * Validate object + * + * @param User $user User making status change + * @param int $notrigger 1=Does not execute triggers, 0= execute triggers + * @return int <=0 if OK, 0=Nothing done, >0 if KO + */ + public function validate($user, $notrigger = 0) + { + global $conf, $langs; + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error = 0; + + // Protection + if ($this->status == self::STATUS_VALIDATED) { + dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->skillrank->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->skillrank->skillrank_advance->validate)))) + { + $this->error='NotEnoughPermissions'; + dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); + return -1; + }*/ + + $now = dol_now(); + + $this->db->begin(); + + // Define new ref + if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life + $num = $this->getNextNumRef(); + } else { + $num = $this->ref; + } + $this->newref = $num; + + if (!empty($num)) { + // Validate + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " SET ref = '".$this->db->escape($num)."',"; + $sql .= " status = ".self::STATUS_VALIDATED; + if (!empty($this->fields['date_validation'])) { + $sql .= ", date_validation = '".$this->db->idate($now)."'"; + } + if (!empty($this->fields['fk_user_valid'])) { + $sql .= ", fk_user_valid = ".((int) $user->id); + } + $sql .= " WHERE rowid = ".((int) $this->id); + + dol_syslog(get_class($this)."::validate()", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + dol_print_error($this->db); + $this->error = $this->db->lasterror(); + $error++; + } + + if (!$error && !$notrigger) { + // Call trigger + $result = $this->call_trigger('SKILLRANK_VALIDATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (!$error) { + $this->oldref = $this->ref; + + // Rename directory if dir was a temporary ref + if (preg_match('/^[\(]?PROV/i', $this->ref)) { + // Now we rename also files into index + $sql = 'UPDATE '.MAIN_DB_PREFIX."ecm_files set filename = CONCAT('".$this->db->escape($this->newref)."', SUBSTR(filename, ".(strlen($this->ref) + 1).")), filepath = 'skillrank/".$this->db->escape($this->newref)."'"; + $sql .= " WHERE filename LIKE '".$this->db->escape($this->ref)."%' AND filepath = 'skillrank/".$this->db->escape($this->ref)."' and entity = ".((int) $conf->entity); + $resql = $this->db->query($sql); + if (!$resql) { + $error++; $this->error = $this->db->lasterror(); + } + + // We rename directory ($this->ref = old ref, $num = new ref) in order not to lose the attachments + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->hrm->dir_output.'/skillrank/'.$oldref; + $dirdest = $conf->hrm->dir_output.'/skillrank/'.$newref; + if (!$error && file_exists($dirsource)) { + dol_syslog(get_class($this)."::validate() rename dir ".$dirsource." into ".$dirdest); + + if (@rename($dirsource, $dirdest)) { + dol_syslog("Rename ok"); + // Rename docs starting with $oldref with $newref + $listoffiles = dol_dir_list($conf->hrm->dir_output.'/skillrank/'.$newref, 'files', 1, '^'.preg_quote($oldref, '/')); + foreach ($listoffiles as $fileentry) { + $dirsource = $fileentry['name']; + $dirdest = preg_replace('/^'.preg_quote($oldref, '/').'/', $newref, $dirsource); + $dirsource = $fileentry['path'].'/'.$dirsource; + $dirdest = $fileentry['path'].'/'.$dirdest; + @rename($dirsource, $dirdest); + } + } + } + } + } + + // Set new ref and current status + if (!$error) { + $this->ref = $num; + $this->status = self::STATUS_VALIDATED; + } + + if (!$error) { + $this->db->commit(); + return 1; + } else { + $this->db->rollback(); + return -1; + } + } + + + /** + * Set draft status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, >0 if OK + */ + public function setDraft($user, $notrigger = 0) + { + // Protection + if ($this->status <= self::STATUS_DRAFT) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_DRAFT, $notrigger, 'SKILLRANK_UNVALIDATE'); + } + + /** + * Set cancel status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function cancel($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_VALIDATED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_CANCELED, $notrigger, 'SKILLRANK_CANCEL'); + } + + /** + * Set back to validated status + * + * @param User $user Object user that modify + * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers + * @return int <0 if KO, 0=Nothing done, >0 if OK + */ + public function reopen($user, $notrigger = 0) + { + // Protection + if ($this->status != self::STATUS_CANCELED) { + return 0; + } + + /*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->write)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->hrm->hrm_advance->validate)))) + { + $this->error='Permission denied'; + return -1; + }*/ + + return $this->setStatusCommon($user, self::STATUS_VALIDATED, $notrigger, 'SKILLRANK_REOPEN'); + } + + /** + * Return a link to the object card (with optionaly the picto) + * + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) + * @param string $option On what the link point to ('nolink', ...) + * @param int $notooltip 1=Disable tooltip + * @param string $morecss Add more css on link + * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @return string String with URL + */ + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) + { + global $conf, $langs, $hookmanager; + + if (!empty($conf->dol_no_mouse_hover)) { + $notooltip = 1; // Force disable tooltips + } + + $result = ''; + + $label = img_picto('', $this->picto).' '.$langs->trans("SkillRank").''; + if (isset($this->status)) { + $label .= ' '.$this->getLibStatut(5); + } + $label .= '
    '; + $label .= ''.$langs->trans('Ref').': '.$this->ref; + + $url = dol_buildpath('/hrm/skillrank_card.php', 1).'?id='.$this->id; + + if ($option != 'nolink') { + // Add param to save lastsearch_values or not + $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0); + if ($save_lastsearch_value == -1 && preg_match('/list\.php/', $_SERVER["PHP_SELF"])) { + $add_save_lastsearch_values = 1; + } + if ($add_save_lastsearch_values) { + $url .= '&save_lastsearch_values=1'; + } + } + + $linkclose = ''; + if (empty($notooltip)) { + if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { + $label = $langs->trans("ShowSkillRank"); + $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; + } + $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + } else { + $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); + } + + if ($option == 'nolink') { + $linkstart = ''; + if ($option == 'nolink') { + $linkend = ''; + } else { + $linkend = ''; + } + + $result .= $linkstart; + + if (empty($this->showphoto_on_popup)) { + if ($withpicto) { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } else { + if ($withpicto) { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + list($class, $module) = explode('@', $this->picto); + $upload_dir = $conf->$module->multidir_output[$conf->entity]."/$class/".dol_sanitizeFileName($this->ref); + $filearray = dol_dir_list($upload_dir, "files"); + $filename = $filearray[0]['name']; + if (!empty($filename)) { + $pospoint = strpos($filearray[0]['name'], '.'); + + $pathtophoto = $class.'/'.$this->ref.'/thumbs/'.substr($filename, 0, $pospoint).'_mini'.substr($filename, $pospoint); + if (empty($conf->global->{strtoupper($module.'_'.$class).'_FORMATLISTPHOTOSASUSERS'})) { + $result .= '
    No photo
    '; + } else { + $result .= '
    No photo
    '; + } + + $result .= ''; + } else { + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } + } + } + + if ($withpicto != 2) { + $result .= $this->ref; + } + + $result .= $linkend; + //if ($withpicto != 2) $result.=(($addlabel && $this->label) ? $sep . dol_trunc($this->label, ($addlabel > 1 ? $addlabel : 0)) : ''); + + global $action, $hookmanager; + $hookmanager->initHooks(array('skillrankdao')); + $parameters = array('id'=>$this->id, 'getnomurl'=>$result); + $reshook = $hookmanager->executeHooks('getNomUrl', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + $result = $hookmanager->resPrint; + } else { + $result .= $hookmanager->resPrint; + } + + return $result; + } + + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLibStatut($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps + /** + * Return the status + * + * @param int $status Id status + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function LibStatut($status, $mode = 0) + { + // phpcs:enable + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { + global $langs; + //$langs->load("hrm"); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + } + + $statusType = 'status'.$status; + //if ($status == self::STATUS_VALIDATED) $statusType = 'status1'; + if ($status == self::STATUS_CANCELED) { + $statusType = 'status6'; + } + + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + } + + /** + * Load the info information in the object + * + * @param int $id Id of object + * @return void + */ + public function info($id) + { + $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; + $sql .= ' fk_user_creat, fk_user_modif'; + $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= ' WHERE t.rowid = '.((int) $id); + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + + if ($obj->fk_user_valid) { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_validation = $vuser; + } + + if ($obj->fk_user_cloture) { + $cluser = new User($this->db); + $cluser->fetch($obj->fk_user_cloture); + $this->user_cloture = $cluser; + } + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->datem); + $this->date_validation = $this->db->jdate($obj->datev); + } + + $this->db->free($result); + } else { + dol_print_error($this->db); + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + public function initAsSpecimen() + { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + + $this->initAsSpecimenCommon(); + } + + /** + * Create an array of lines + * + * @return array|int array of lines if OK, <0 if KO + */ + public function getLinesArray() + { + $this->lines = array(); + + $objectline = new SkillRankLine($this->db); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_skillrank = '.((int) $this->id))); + + if (is_numeric($result)) { + $this->error = $this->error; + $this->errors = $this->errors; + return $result; + } else { + $this->lines = $result; + return $this->lines; + } + } + + /** + * Returns the reference to the following non used object depending on the active numbering module. + * + * @return string Object free reference + */ + public function getNextNumRef() + { + global $langs, $conf; + $langs->load("hrm"); + + if (empty($conf->global->hrm_SKILLRANK_ADDON)) { + $conf->global->hrm_SKILLRANK_ADDON = 'mod_skillrank_standard'; + } + + if (!empty($conf->global->hrm_SKILLRANK_ADDON)) { + $mybool = false; + + $file = $conf->global->hrm_SKILLRANK_ADDON.".php"; + $classname = $conf->global->hrm_SKILLRANK_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/hrm/"); + + // Load file with numbering class (if found) + $mybool |= @include_once $dir.$file; + } + + if ($mybool === false) { + dol_print_error('', "Failed to include file ".$file); + return ''; + } + + if (class_exists($classname)) { + $obj = new $classname(); + $numref = $obj->getNextValue($this); + + if ($numref != '' && $numref != '-1') { + return $numref; + } else { + $this->error = $obj->error; + //dol_print_error($this->db,get_class($this)."::getNextNumRef ".$obj->error); + return ""; + } + } else { + print $langs->trans("Error")." ".$langs->trans("ClassNotFound").' '.$classname; + return ""; + } + } else { + print $langs->trans("ErrorNumberingModuleNotSetup", $this->element); + return ""; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force template to use ('' to not force) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @param null|array $moreparams Array to provide more information + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) + { + global $conf, $langs; + + $result = 0; + $includedocgeneration = 0; + + $langs->load("hrm"); + + if (!dol_strlen($modele)) { + $modele = 'standard_skillrank'; + + if (!empty($this->model_pdf)) { + $modele = $this->model_pdf; + } elseif (!empty($conf->global->SKILLRANK_ADDON_PDF)) { + $modele = $conf->global->SKILLRANK_ADDON_PDF; + } + } + + $modelpath = "core/modules/hrm/doc/"; + + if ($includedocgeneration && !empty($modele)) { + $result = $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + } + + return $result; + } + + /** + * Action executed by scheduler + * CAN BE A CRON TASK. In such a case, parameters come from the schedule job setup field 'Parameters' + * Use public function doScheduledJob($param1, $param2, ...) to get parameters + * + * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) + */ + public function doScheduledJob() + { + global $conf, $langs; + + //$conf->global->SYSLOG_FILE = 'DOL_DATA_ROOT/dolibarr_mydedicatedlofile.log'; + + $error = 0; + $this->output = ''; + $this->error = ''; + + dol_syslog(__METHOD__, LOG_DEBUG); + + $now = dol_now(); + + $this->db->begin(); + + // ... + + $this->db->commit(); + + return $error; + } + + /** + * @param array $val + * @param string $key + * @param string $value + * @param string $moreparam + * @param string $keysuffix + * @param string $keyprefix + * @param string $morecss + * @return string + */ + // public function showOutputField($val, $key, $value, $moreparam = '', $keysuffix = '', $keyprefix = '', $morecss = '') + // { + // if ($key == "rank") { + // return displayRankInfos($this); + // } else return parent::showOutputField($val, $key, $value, $moreparam, $keysuffix, $keyprefix, $morecss); + // } +} diff --git a/htdocs/hrm/compare.php b/htdocs/hrm/compare.php new file mode 100644 index 00000000000..13b83af9737 --- /dev/null +++ b/htdocs/hrm/compare.php @@ -0,0 +1,566 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + + * \file class/compare.php + * \ingroup hrm + * \brief This file compares skills of user groups + * + * Displays a table in three parts. + * 1- the left part displays the list of users of the selected group 1. + * + * 2- the central part displays the skills. display of the maximum score for this group and the number of occurrences. + * + * 3- the right part displays the members of group 2 or the job to be compared + * + * + * + */ + +require_once '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + +ini_set('display_errors', 1); + +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/evaluation.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm.lib.php'; + +$permissiontoread = $user->rights->hrm->compare->read; +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden(); + +$langs->load('hrm'); + +$css = array(); +$css[] = '/hrm/css/style.css'; +llxHeader('', $langs->trans('SkillComparison'), '', '', 0, 0, '', $css); + +$head = array(); + +$h = 0; +$head[$h][0] = $_SERVER["PHP_SELF"]; +$head[$h][1] = $langs->trans("SkillComparison"); +$head[$h][2] = 'compare'; + +print dol_get_fiche_head($head, 'compare', '', 1); + +//$PDOdb = new TPDOdb; +$form = new Form($db); +?> + + + + + + +
    +
    + +
    +
    + + + + + + + + + + + + + + +
    trans('group1ToCompare').''.$form->select_dolgroups($fk_usergroup1, 'fk_usergroup1', 1); ?>
     
    trans('group2ToCompare').''.$form->select_dolgroups($fk_usergroup2, 'fk_usergroup2', 1); ?>
    trans('or'); ?>
    trans('OrJobToCompare') . ''; + $j = new Job($db); + $jobs = $j->fetchAll(); + $TJobs = array(); + + foreach ($jobs as &$j) { + $TJobs[$j->id] = $j->label; + } + + print $form->selectarray('fk_job', $TJobs, $fk_job, 1); + ?>
    +
    + +
    + + + + + + + + + + + + + + + + + +
    + trans('CompetenceAcquiredByOneOrMore'); ?>
    + trans('MaxlevelGreaterThan'); ?>
    + trans('MaxLevelEqualTo'); ?>
    + trans('MaxLevelLowerThan'); ?>
    + trans('SkillNotAcquired'); ?>
    + +
    + +
    + +
    + +

    +
    + +
    +

    + +
    + + 0 || $fk_usergroup2 > 0 || $fk_job > 0) { ?> + + + + + + + + + + + '; + + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + + ?> + +
    trans('skill'); ?>trans('rank'); ?>trans('difference'); ?>trans('rank'); ?>
    '; + + $TUser1 = $TUser2 = array(); + + $userlist1 = displayUsersListWithPicto($TUser1, $fk_usergroup1, 'list1'); + + + $skill = new Skill($db); + $TSkill1 = getSkillForUsers($TUser1); + + if ($fk_job > 0) { + $TSkill2 = getSkillForJob($fk_job); + + $job = new Job($db); + $job->fetch($fk_job); + $userlist2 = '
      +
    • +

      ' . $job->label . '

      +

      ' . $job->description . '

      +
    • +
    '; + } else { + $userlist2 = displayUsersListWithPicto($TUser2, $fk_usergroup2, 'list2'); + $TSkill2 = getSkillForUsers($TUser2); + } + + $TMergedSkills = mergeSkills($TSkill1, $TSkill2); + + echo $userlist1; + + echo '
    ' . skillList($TMergedSkills) . '' . rate($TMergedSkills, 'rate1') . '' . diff($TMergedSkills) . '' . rate($TMergedSkills, 'rate2') . ''; + + echo $userlist2; + + echo '
    + + + +
    + +
    + +
    + +'; + + foreach ($TMergedSkills as $id => &$sk) { + $class = 'diffnote'; + + if (empty($sk->rate2)) $class .= ' toohappy'; + elseif (empty($sk->rate1)) $class .= ' toosad'; + elseif ($sk->rate1 == $sk->rate2) $class .= ' happy'; + elseif ($sk->rate2 < $sk->rate1) $class .= ' veryhappy'; + elseif ($sk->rate2 > $sk->rate1) $class .= ' sad'; + + $out .= '
  • +   +
  • '; + } + + $out .= ''; + + return $out; +} + +/** + * Return a html list with rank informations + * @param array $TMergedSkills skill list for display + * @param string $field which column of comparison we are working with + * @return string + */ +function rate(&$TMergedSkills, $field) +{ + global $langs, $fk_job; + + $out = '
      '; + + foreach ($TMergedSkills as $id => &$sk) { + $class = "note"; + $how_many = 0; + if (empty($sk->{$field})) { + $note = 'x'; + $class .= ' none'; + } else { + $note = $sk->{$field}; + $how_many = ($field === 'rate1') ? $sk->how_many_max1 : $sk->how_many_max2; + } + + if ($field === 'rate2' && $fk_job > 0) $trad = $langs->trans('RequiredRank'); + else $trad = $langs->trans('HighestRank'); + + $out .= '
    • +

      ' . $note . '' . ($how_many > 0 ? '' . $how_many . '' : '') . '

      +
    • '; + } + + $out .= '
    '; + + return $out; +} + +/** + * return a html ul list of skills + * + * @param array $TMergedSkills skill list for display + * @return string (ul list in html ) + */ +function skillList(&$TMergedSkills) +{ + + $out = '
      '; + + foreach ($TMergedSkills as $id => &$sk) { + $out .= '
    • +

      ' . $sk->label . '

      +

      ' . $sk->description . '

      +
    • '; + } + + $out .= '
    '; + + return $out; +} + +/** + * create an array of lines [ skillLabel,dscription, maxrank on group1 , minrank needed for this skill ] + * + * @param array $TSkill1 skill list of first column + * @param array $TSkill2 skill list of second column + * @return array + */ +function mergeSkills($TSkill1, $TSkill2) +{ + + $Tab = array(); + + foreach ($TSkill1 as &$sk) { + if (empty($Tab[$sk->fk_skill])) $Tab[$sk->fk_skill] = new stdClass; + + $Tab[$sk->fk_skill]->rate1 = $sk->rank; + $Tab[$sk->fk_skill]->how_many_max1 = $sk->how_many_max; + $Tab[$sk->fk_skill]->label = $sk->label; + $Tab[$sk->fk_skill]->description = $sk->description; + } + + foreach ($TSkill2 as &$sk) { + if (empty($Tab[$sk->fk_skill])) $Tab[$sk->fk_skill] = new stdClass; + $Tab[$sk->fk_skill]->rate2 = $sk->rank; + $Tab[$sk->fk_skill]->label = $sk->label; + $Tab[$sk->fk_skill]->description = $sk->description; + $Tab[$sk->fk_skill]->how_many_max2 = $sk->how_many_max; + } + + return $Tab; +} + +/** + * Display a list of User with picto + * @param array $TUser list of users (employees) in selected usergroup of a column + * @param int $fk_usergroup selected usergroup id + * @param string $namelist html name + * @return string + */ +function displayUsersListWithPicto(&$TUser, $fk_usergroup = 0, $namelist = 'list-user') +{ + global $db, $langs, $conf, $form; + + $out = ''; + if ($fk_usergroup > 0) { + $list = $namelist . '_excluded_id'; + + $excludedIdsList = GETPOST($list); + + + $sql = "SELECT DISTINCT u.rowid FROM " . MAIN_DB_PREFIX . "user u + LEFT JOIN " . MAIN_DB_PREFIX . "usergroup_user as ugu ON (u.rowid = ugu.fk_user) + WHERE u.statut > 0 + AND ugu.fk_usergroup=" . ((int) $fk_usergroup); + + $res = $db->query($sql); + $out .= '
      '; + + $TExcludedId = explode(',', $excludedIdsList); + + $form = new Form($db); + $out .= ' '; + + while ($obj = $db->fetch_object($res)) { + $class = ''; + + $user = new User($db); + $user->fetch($obj->rowid); + + $name = $user->getFullName($langs); + if (empty($name)) $name = $user->login; + + if (in_array($user->id, $TExcludedId)) { + $class .= ' disabled'; + } else { + if (!in_array($user->id, $TUser)) $TUser[] = $user->id; + } + + + $desc = ''; + + $job = Job::getLastJobForUser($user->id); + $desc .= $job; + + $static_eval = new Evaluation($db); + $evaluation = $static_eval->getLastEvaluationForUser($user->id); + + if (!empty($evaluation) && !empty($evaluation->date_eval)) { + $desc .= $langs->trans('DateLastEval') . ' : ' . dol_print_date($evaluation->date_eval); + } else { + $desc .= $langs->trans('NoEval'); + } + + if (!empty($user->array_options['options_DDA'])) $desc .= '
      ' . $langs->trans('Anciennete') . ' : ' . dol_print_date(strtotime($user->array_options['options_DDA'])); + + $out .= '
    • + ' . $form->showphoto('userphoto', $user, 0, 0, 0, 'photoref', 'small', 1, 0, 1) . ' +

      ' . $name . '

      +

      ' . $desc . '

      +
    • '; + } + + $out .= '
    '; + } + + return $out; +} + + +/** + * + * Allow to get skill(s) of a user + * + * @param array $TUser array of employees we need to get skills + * @return array|int + */ +function getSkillForUsers($TUser) +{ + global $db; + + //I go back to the user with the highest score in a given group for all the skills assessed in that group + if (empty($TUser)) return array(); + + $sql = 'SELECT sk.rowid, sk.label, sk.description, sk.skill_type, sr.fk_object, sr.objecttype, sr.fk_skill, '; + $sql.= ' MAX(sr.rank) as "rank"'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'hrm_skill sk'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'hrm_skillrank sr ON (sk.rowid = sr.fk_skill)'; + $sql.= " WHERE sr.objecttype = '".SkillRank::SKILLRANK_TYPE_USER."'"; + $sql.= ' AND sr.fk_object IN ('.$db->sanitize(implode(',', $TUser)).')'; + $sql.= " GROUP BY sk.rowid, sk.label, sk.description, sk.skill_type, sr.fk_object, sr.objecttype, sr.fk_skill "; // group par competence + + $resql = $db->query($sql); + $Tab = array(); + + if ($resql) { + //For each skill, we count the number of times that the max score has been reached within a given group + $num = 0; + while ($obj = $db->fetch_object($resql) ) { + $sql1 = "SELECT count(*) as how_many_max FROM ".MAIN_DB_PREFIX."hrm_skillrank sr"; + $sql1.=" WHERE sr.rank = ".((int) $obj->rank); + $sql1.=" AND sr.objecttype = '".Skillrank::SKILLRANK_TYPE_USER."'"; + $sql1.=" AND sr.fk_skill = ".((int) $obj->fk_skill); + $sql1.=" AND sr.fk_object IN (".$db->sanitize(implode(',', $TUser)).")"; + $resql1 = $db->query($sql1); + + $objMax = $db->fetch_object($resql1); + + $Tab[$num] = new stdClass(); + $Tab[$num]->fk_skill = $obj->fk_skill; + $Tab[$num]->label = $obj->label; + $Tab[$num]->description = $obj->description; + $Tab[$num]->skill_type = $obj->skill_type; + $Tab[$num]->fk_object = $obj->fk_object; + $Tab[$num]->objectType = SkillRank::SKILLRANK_TYPE_USER; + $Tab[$num]->rank = $obj->rank; + $Tab[$num]->how_many_max = $objMax->how_many_max; + + $num++; + } + } else { + dol_print_error($db); + } + + return $Tab; +} + +/** + * Allow to get skill(s) of a job + * + * @param int $fk_job job we need to get required skills + * @return array|int + */ +function getSkillForJob($fk_job) +{ + global $db; + + if (empty($fk_job)) return array(); + + $sql = 'SELECT sk.rowid, sk.label, sk.description, sk.skill_type, sr.fk_object, sr.objecttype, sr.fk_skill, '; + $sql.= ' MAX(sr.rank) as "rank"'; + $sql.=' FROM '.MAIN_DB_PREFIX.'hrm_skill sk'; + $sql.=' LEFT JOIN '.MAIN_DB_PREFIX.'hrm_skillrank sr ON (sk.rowid = sr.fk_skill)'; + $sql.=" WHERE sr.objecttype = '".SkillRank::SKILLRANK_TYPE_JOB."'"; + $sql.=' AND sr.fk_object = '.((int) $fk_job); + $sql.=' GROUP BY sk.rowid, sk.label, sk.description, sk.skill_type, sr.fk_object, sr.objecttype, sr.fk_skill '; // group par competence*/ + + $resql = $db->query($sql); + $Tab = array(); + + + if ($resql) { + $num = 0; + while ($obj = $db->fetch_object($resql) ) { + $Tab[$num] = new stdClass(); + $Tab[$num]->fk_skill = $obj->fk_skill; + $Tab[$num]->label = $obj->label; + $Tab[$num]->description = $obj->description; + $Tab[$num]->skill_type = $obj->skill_type; + //$Tab[$num]->date_start = '';// du poste + //$Tab[$num]->date_end = ''; // du poste + $Tab[$num]->fk_object = $obj->fk_object; + $Tab[$num]->objectType = SkillRank::SKILLRANK_TYPE_JOB; + $Tab[$num]->rank = $obj->rank; + $Tab[$num]->how_many_max = $obj->how_many_max; + + $num++; + } + } else { + dol_print_error($db); + } + + + return $Tab; +} diff --git a/htdocs/hrm/core/tpl/objectline_title.tpl.php b/htdocs/hrm/core/tpl/objectline_title.tpl.php new file mode 100644 index 00000000000..3801288543a --- /dev/null +++ b/htdocs/hrm/core/tpl/objectline_title.tpl.php @@ -0,0 +1,80 @@ + + * Copyright (C) 2010-2011 Laurent Destailleur + * Copyright (C) 2012-2013 Christophe Battarel + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2012-2014 Raphaël Doursenaud + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2017 Juanjo Menent + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * 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 . + * + * Need to have following variables defined: + * $object (invoice, order, ...) + * $conf + * $langs + * $element (used to test $user->rights->$element->creer) + * $permtoedit (used to replace test $user->rights->$element->creer) + * $inputalsopricewithtax (0 by default, 1 to also show column with unit price including tax) + * $outputalsopricetotalwithtax + * $usemargins (0 to disable all margins columns, 1 to show according to margin setup) + * + * $type, $text, $description, $line + */ + +// Protection to avoid direct call of template +if (empty($object) || !is_object($object)) { + print "Error, template page can't be called as URL"; + exit; +} + +print "\n"; + +// Title line +print "\n"; + +print ''; + +// Adds a line numbering column +if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { + print ' '; +} + +// Skill type +print ''.$langs->trans('SkillType').''; + +// Label skill +print ''.$langs->trans('Label').''; + +// Description +print ''.$langs->trans('Description').''; + +// Note +print ''.$langs->trans('EmployeeRank').''; + + +//print ''; // No width to allow autodim + +//print ''; + +//print ''; + +print "\n"; +print "\n"; + +print "\n"; diff --git a/htdocs/hrm/core/tpl/objectline_view.tpl.php b/htdocs/hrm/core/tpl/objectline_view.tpl.php new file mode 100644 index 00000000000..9be74a5f38f --- /dev/null +++ b/htdocs/hrm/core/tpl/objectline_view.tpl.php @@ -0,0 +1,165 @@ + + * Copyright (C) 2010-2011 Laurent Destailleur + * Copyright (C) 2012-2013 Christophe Battarel + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2012-2014 Raphaël Doursenaud + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2017 Juanjo Menent + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * 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 . + * + * Need to have following variables defined: + * $object (invoice, order, ...) + * $conf + * $langs + * $dateSelector + * $forceall (0 by default, 1 for supplier invoices/orders) + * $element (used to test $user->rights->$element->creer) + * $permtoedit (used to replace test $user->rights->$element->creer) + * $senderissupplier (0 by default, 1 for supplier invoices/orders) + * $inputalsopricewithtax (0 by default, 1 to also show column with unit price including tax) + * $outputalsopricetotalwithtax + * $usemargins (0 to disable all margins columns, 1 to show according to margin setup) + * $object_rights->creer initialized from = $object->getRights() + * $disableedit, $disablemove, $disableremove + * + * $text, $description, $line + */ + +// Protection to avoid direct call of template +if (empty($object) || !is_object($object)) { + print "Error, template page can't be called as URL"; + exit; +} + +global $mysoc; +global $forceall, $senderissupplier, $inputalsopricewithtax, $outputalsopricetotalwithtax; + +// add html5 elements +$domData = ' data-element="'.$line->element.'"'; +$domData .= ' data-id="'.$line->id.'"'; +$domData .= ' data-qty="'.$line->qty.'"'; +$domData .= ' data-product_type="'.$line->product_type.'"'; + +$sign = 1; +if (!empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE_SCREEN) && in_array($object->element, array('facture', 'invoice_supplier')) && $object->type == $object::TYPE_CREDIT_NOTE) { + $sign = -1; +} + +$coldisplay = 0; +?> + + > +global->MAIN_VIEW_LINE_NUMBER)) { ?> + + +
    +fk_skill > 0) { + $skill = new Skill($this->db); + $resSkill = $skill->fetch($line->fk_skill); + if ($resSkill > 0) { + print Skill::typeCodeToLabel($skill->skill_type).''; + print ''.$skill->getNomUrl(1); + } +} +?> + + + +fk_skill > 0 && $resSkill > 0) { + print $skill->description; +} + +print ''; + +?> + + +rank, $line->fk_skill, 'TNote', ($this->status == 0 && $permissiontoadd) ? 'edit' : 'view'); + +?> + + + +statut == 0 && !empty($object_rights->creer) && $action != 'selectlines') { + $situationinvoicelinewithparent = 0; + if ($line->fk_prev_id != null && in_array($object->element, array('facture', 'facturedet'))) { + if ($object->type == $object::TYPE_SITUATION) { // The constant TYPE_SITUATION exists only for object invoice + // Set constant to disallow editing during a situation cycle + $situationinvoicelinewithparent = 1; + } + } + + print ''; + $coldisplay++; + if (($line->info_bits & 2) == 2 || !empty($disableedit)) { + } else { ?> + id.'#line_'.$line->id; ?>"> + '; + } + print ''; + + /*print ''; + $coldisplay++; + if (!$situationinvoicelinewithparent && empty($disableremove)) { // For situation invoice, deletion is not possible if there is a parent company. + print 'id.'">'; + print img_delete(); + print ''; + } + print ''; + + if ($num > 1 && $conf->browser->layout != 'phone' && ($this->situation_counter == 1 || !$this->situation_cycle_ref) && empty($disablemove)) { + print ''; + $coldisplay++; + if ($i > 0) { ?> + id; ?>"> + + + + id; ?>"> + + + '; + } else { + print 'browser->layout != 'phone' && empty($disablemove)) ? ' class="linecolmove tdlineupdown center"' : ' class="linecolmove center"').'>'; + $coldisplay++; + }*/ +} else { + //print ''; + $coldisplay = $coldisplay + 3; +} + +if ($action == 'selectlines') { ?> + +\n"; + +print "\n"; diff --git a/htdocs/hrm/core/tpl/skilldet.fiche.tpl.php b/htdocs/hrm/core/tpl/skilldet.fiche.tpl.php new file mode 100644 index 00000000000..60bb56ff173 --- /dev/null +++ b/htdocs/hrm/core/tpl/skilldet.fiche.tpl.php @@ -0,0 +1,113 @@ +rights->module->create +// $cssclass must be defined by caller. For example $cssclass='fieldtitle' +$module = $object->element; +$note_public = 'note_public'; +$note_private = 'note_private'; + +$colwidth = (isset($colwidth) ? $colwidth : (empty($cssclass) ? '25' : '')); +// Set $permission from the $permissionnote var defined on calling page +$permission = (isset($permissionnote) ? $permissionnote : (isset($permission) ? $permission : (isset($user->rights->$module->create) ? $user->rights->$module->create : (isset($user->rights->$module->creer) ? $user->rights->$module->creer : 0)))); +$moreparam = (isset($moreparam) ? $moreparam : ''); +$value_public = $object->note_public; +$value_private = $object->note_private; +if (!empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES)) { +$stringtoadd = dol_print_date(dol_now(), 'dayhour').' '.$user->getFullName($langs).' --'; +if (GETPOST('action', 'aZ09') == 'edit'.$note_public) { +$value_public = dol_concatdesc($value_public, ($value_public ? "\n" : "")."-- ".$stringtoadd); +if (dol_textishtml($value_public)) { +$value_public .= "
    \n"; +} else { +$value_public .= "\n"; +} +} +} +if (!empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES)) { +$stringtoadd = dol_print_date(dol_now(), 'dayhour').' '.$user->getFullName($langs).' --'; +if (GETPOST('action', 'aZ09') == 'edit'.$note_private) { +$value_private = dol_concatdesc($value_private, ($value_private ? "\n" : "")."-- ".$stringtoadd); +if (dol_textishtml($value_private)) { +$value_private .= "
    \n"; +} else { +$value_private .= "\n"; +} +} +}*/ +/* +// Special cases +if ($module == 'propal') { +$permission = $user->rights->propale->creer; +} elseif ($module == 'supplier_proposal') { +$permission = $user->rights->supplier_proposal->creer; +} elseif ($module == 'fichinter') { +$permission = $user->rights->ficheinter->creer; +} elseif ($module == 'project') { +$permission = $user->rights->projet->creer; +} elseif ($module == 'project_task') { +$permission = $user->rights->projet->creer; +} elseif ($module == 'invoice_supplier') { +if (empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) { +$permission = $user->rights->fournisseur->facture->creer; +} else { +$permission = $user->rights->supplier_invoice->creer; +} +} elseif ($module == 'order_supplier') { +if (empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) { +$permission = $user->rights->fournisseur->commande->creer; +} else { +$permission = $user->rights->supplier_order->creer; +} +} elseif ($module == 'societe') { +$permission = $user->rights->societe->creer; +} elseif ($module == 'contact') { +$permission = $user->rights->societe->creer; +} elseif ($module == 'shipping') { +$permission = $user->rights->expedition->creer; +} elseif ($module == 'product') { +$permission = $user->rights->produit->creer; +} elseif ($module == 'ecmfiles') { +$permission = $user->rights->ecm->setup; +}*/ +//else dol_print_error('','Bad value '.$module.' for param module'); + +if (!empty($object->table_element_line)) { + // Show object lines + $result = $object->getLinesArray(); +} + + + +print ''."\n"; + +print '
    '."\n"; + print '
    '."\n"; + $editmode = (GETPOST('action', 'aZ09') == 'edit'.$note_public); + print '
    '."\n"; + print $form->editfieldkey("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, $moreparam, '', 0); + print '
    '."\n"; + print '
    '."\n"; + print $form->editfieldval("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, '', null, null, $moreparam, 1)."\n"; + print '
    '."\n"; + print '
    '."\n"; +if (empty($user->socid)) { + // Private notes (always hidden to external users) + print '
    '."\n"; + $editmode = (GETPOST('action', 'aZ09') == 'edit'.$note_private); + print '
    '."\n"; + print $form->editfieldkey("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, $moreparam, '', 0); + print '
    '."\n"; + print '
    '."\n"; + print $form->editfieldval("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, '', null, null, $moreparam, 1); + print '
    '."\n"; + print '
    '."\n"; +} +print '
    '."\n"; +?> + diff --git a/htdocs/hrm/css/radio_js_number.css b/htdocs/hrm/css/radio_js_number.css new file mode 100644 index 00000000000..320b0ddc1f2 --- /dev/null +++ b/htdocs/hrm/css/radio_js_number.css @@ -0,0 +1,18 @@ +.radio_js_bloc_number { + display:inline-block; + padding:5px 7px; + min-width:20px; + border-radius:3px; + border:1px solid #ccc; + background:#eee; + color:#555; + cursor:pointer; + margin:2px; + text-align:center; +} +.radio_js_bloc_number.selected { + transition:0.2s ease background; + background:#888; + color:#fff; + border-color:#555; +} \ No newline at end of file diff --git a/htdocs/hrm/css/style.css b/htdocs/hrm/css/style.css new file mode 100644 index 00000000000..0c8ba81d827 --- /dev/null +++ b/htdocs/hrm/css/style.css @@ -0,0 +1,130 @@ +#compare ul,#compare li,#compare h3 {margin: 0; padding: 0;} + +#compare div { + margin: 20px; +} + +#compare ul { + list-style-type: none; + width: 100%; +} + +#compare h3 { + font: bold 20px/1.5 Helvetica, Verdana, sans-serif; +} + +#compare li img { + float: left; + margin: 0 15px 0 0; + max-width:80px; +} + +#compare li p { + font: 200 12px/1.5 Georgia, Times New Roman, serif; +} + +#compare li { + padding: 10px; + overflow: auto; + border-bottom: 2px solid #98b880; +} +#compare ul.competence li,#compare ul.note li { + height:48px; + overflow: hidden; + border-bottom: 2px solid #6C286C; +} + +#compare li:hover { + background: #eee; + cursor: pointer; +} + +#compare li.disabled { + color:#999; + border-bottom: 2px solid #ff0000; +} + +#compare li.disabled img,#compare li.disabled p { + display:none; +} + +span.note { + font: bold Helvetica, Verdana, sans-serif; + background: #eee none repeat scroll 0 0; + border: 1px solid #ccc; + border-radius: 3px; + color: #555; + cursor: pointer; + display: inline-block; + margin: 2px; + min-width: 20px; + padding: 5px 7px; + text-align: center; + font-weight: bold; +} +span.note.none { + background: #BA7777 none repeat scroll 0 0; +} +#compare ul.diff li { + text-align: center; + border-bottom:0 none; + height:48px; + overflow: hidden; + border-bottom: 2px solid #77BABA; +} +span.diffnote { + display: inline-block; + background: #c3e6cb; + width:42px; + height: 42px; + overflow: hidden; + border:none; + box-sizing: border-box; +} +span.diffnote.little { + width:25px; + height: 25px; + border-width:3px; +} +span.toohappy { + background: #3097D1; + border:5px solid #3097D1; +} +span.veryhappy { + border:5px solid #3097D1; +} +span.toosad { + background: #ccc; + border:5px solid #ccc; +} +span.sad { + background:#bd4147; +} +/*span.diffnote { + display: inline-block; + background: url(img/smiley.png); + width:42px; + height: 42px; + overflow: hidden; +} +span.toohappy { + background-position: -105px 0px; +} +span.veryhappy { + background-position: -53px 0px; +} +span.toosad { + background-position: -105px -52px; +} +span.sad { + background-position: 0px -52px; +}*/ + +span.bubble { + background-color: #ccc; + border:1px; + display:inline-block; + width:20px; + height:20px; + border-radius:20px; +} \ No newline at end of file diff --git a/htdocs/hrm/establishment/card.php b/htdocs/hrm/establishment/card.php index caec6191d0d..0ce7d793003 100644 --- a/htdocs/hrm/establishment/card.php +++ b/htdocs/hrm/establishment/card.php @@ -326,11 +326,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } @@ -423,7 +419,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea * Action bar */ print ''; } diff --git a/htdocs/hrm/establishment/info.php b/htdocs/hrm/establishment/info.php index 517b76de93a..30dbd932dcb 100644 --- a/htdocs/hrm/establishment/info.php +++ b/htdocs/hrm/establishment/info.php @@ -137,7 +137,7 @@ if ($object->id > 0) { // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; /* @@ -154,7 +154,7 @@ if ($object->id > 0) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/hrm/evaluation_agenda.php b/htdocs/hrm/evaluation_agenda.php new file mode 100644 index 00000000000..8524f6df3d9 --- /dev/null +++ b/htdocs/hrm/evaluation_agenda.php @@ -0,0 +1,282 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file evaluation_agenda.php + * \ingroup hr + * \brief Tab of events on Evaluation + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/evaluation.class.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/lib/hrm_evaluation.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/job.class.php'; + + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +if (GETPOST('actioncode', 'array')) { + $actioncode = GETPOST('actioncode', 'array', 3); + if (!count($actioncode)) { + $actioncode = '0'; + } +} else { + $actioncode = GETPOST("actioncode", "alpha", 3) ? GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); +} +$search_agenda_label = GETPOST('search_agenda_label'); + +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortfield) { + $sortfield = 'a.datep,a.id'; +} +if (!$sortorder) { + $sortorder = 'DESC,DESC'; +} + +// Initialize technical objects +$object = new Evaluation($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('evaluationagenda', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissiontoadd = $user->rights->hrm->evaluation->write; // Used by the include of actions_addupdatedelete.inc.php +$permissiontoread = $user->rights->hrm->evaluation->read; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array('id'=>$id); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Cancel + if (GETPOST('cancel', 'alpha') && !empty($backtopage)) { + header("Location: ".$backtopage); + exit; + } + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + $actioncode = ''; + $search_agenda_label = ''; + } +} + + + +/* + * View + */ + +$form = new Form($db); + +if ($object->id > 0) { + $title = $langs->trans("Agenda"); + //if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$title; + $help_url = 'EN:Module_Agenda_En'; + llxHeader('', $title, $help_url); + + if (!empty($conf->notification->enabled)) { + $langs->load("mails"); + } + $head = evaluationPrepareHead($object); + + + print dol_get_fiche_head($head, 'agenda', $langs->trans("Agenda"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref .= $langs->trans('Label').' : '.$object->label; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= '
    '.$langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); + + print '
    '; + print '
    '; + + $object->info($object->id); + dol_print_object_info($object, 1); + + print '
    '; + + print dol_get_fiche_end(); + + + + // Actions buttons + + $objthirdparty = $object; + $objcon = new stdClass(); + + $out = '&origin='.urlencode($object->element.'@'.$object->module).'&originid='.urlencode($object->id); + $urlbacktopage = $_SERVER['PHP_SELF'].'?id='.$object->id; + $out .= '&backtopage='.urlencode($urlbacktopage); + $permok = $user->rights->agenda->myactions->create; + if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) { + //$out.='trans("AddAnAction"),'filenew'); + //$out.=""; + } + + + print '
    '; + + if (!empty($conf->agenda->enabled)) { + if (!empty($user->rights->agenda->myactions->create) || !empty($user->rights->agenda->allactions->create)) { + print ''.$langs->trans("AddAction").''; + } else { + print ''.$langs->trans("AddAction").''; + } + } + + print '
    '; + + if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) { + $param = '&id='.$object->id.'&socid='.$socid; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); + } + if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); + } + + + //print load_fiche_titre($langs->trans("ActionsOnEvaluation"), '', ''); + + // List of all actions + $filters = array(); + $filters['search_agenda_label'] = $search_agenda_label; + + // TODO Replace this with same code than into list.php + show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder, $object->module); + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/evaluation_card.php b/htdocs/hrm/evaluation_card.php new file mode 100644 index 00000000000..64b54b4c80b --- /dev/null +++ b/htdocs/hrm/evaluation_card.php @@ -0,0 +1,766 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file evaluation_card.php + * \ingroup hrm + * \brief Page to create/edit/view evaluation + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/evaluation.class.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/skillrank.class.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/lib/hrm_evaluation.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/lib/hrm_skillrank.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other", 'products')); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'evaluationcard'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); +//$lineid = GETPOST('lineid', 'int'); + +// Initialize technical objects +$object = new Evaluation($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('evaluationcard', 'globalcard')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Initialize array of search criterias +$search_all = GETPOST("search_all", 'alpha'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_'.$key, 'alpha')) { + $search[$key] = GETPOST('search_'.$key, 'alpha'); + } +} + +if (empty($action) && empty($id) && empty($ref)) { + $action = 'view'; +} + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + + +$permissiontoread = $user->rights->hrm->evaluation->read; +$permissiontoadd = $user->rights->hrm->evaluation->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$permissiontovalidate = $user->rights->hrm->evaluation->validate; +$permissiontoClose = $user->rights->hrm->evaluation->write; +$permissiontodelete = $user->rights->hrm->evaluation->delete/* || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT)*/; +$permissiondellink = $user->rights->hrm->evaluation->write; // Used by the include of actions_dellink.inc.php +$upload_dir = $conf->hrm->multidir_output[isset($object->entity) ? $object->entity : 1].'/evaluation'; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + $error = 0; + + $backurlforlist = dol_buildpath('/hrm/evaluation_list.php', 1); + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = dol_buildpath('/hrm/evaluation_card.php', 1).'?id='.($id > 0 ? $id : '__ID__'); + } + } + } + + $triggermodname = 'hrm_EVALUATION_MODIFY'; // Name of trigger action code to execute when we modify record + + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; + + // Actions when linking object each other + include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; + + // Actions when printing a doc from card + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; + + // Action to move up and down lines of object + //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; + + // Action to build doc + include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; + + if ($action == 'set_thirdparty' && $permissiontoadd) { + $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname); + } + if ($action == 'classin' && $permissiontoadd) { + $object->setProject(GETPOST('projectid', 'int')); + } + + // Actions to send emails + $triggersendname = 'hrm_EVALUATION_SENTBYMAIL'; + $autocopy = 'MAIN_MAIL_AUTOCOPY_EVALUATION_TO'; + $trackid = 'evaluation'.$object->id; + include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php'; + + if ($action == 'saveSkill') { + $TNote = GETPOST('TNote', 'array'); + if (!empty($TNote)) { + foreach ($object->lines as $line) { + $line->rank = $TNote[$line->fk_skill]; + $line->update($user); + } + } + } + + if ($action == 'close') { + // save evaldet lines to user; + $sk = new SkillRank($db); + $SkillrecordsForActiveUser = $sk->fetchAll('ASC', 'fk_skill', 0, 0, array("customsql"=>"fk_object = ".$object->fk_user ." AND objecttype ='".SkillRank::SKILLRANK_TYPE_USER."'"), 'AND'); + + $errors = 0; + // we go through the evaldets of the eval + foreach ($object->lines as $key => $line) { + // no reference .. we add the line to use it + if (count($SkillrecordsForActiveUser) == 0) { + if ($res > 0) { + $newSkill = new SkillRank($db); + $resCreate = $newSkill->cloneFromCurrentSkill($line, $object->fk_user); + + if ($resCreate <= 0) { + $errors++; + setEventMessage($langs->trans('ErrorCreateUserSkill'), $line->fk_skill); + } + } else { + setEventMessage($langs->trans('NoSkilRankLoaded')); + } + } else { + //check if the skill is present to use it + $find = false; + $keyFind = 0; + foreach ($SkillrecordsForActiveUser as $k => $sr) { + if ($sr->fk_skill == $line->fk_skill) { + $keyFind = $k; + $find = true; + break; + } + } + //we update the skill user + if ($find) { + $updSkill = $SkillrecordsForActiveUser[$k]; + + $updSkill->rank = $line->rank; + $updSkill->update($user); + } else { // sinon on ajoute la skill + $newSkill = new SkillRank($db); + $resCreate = $newSkill->cloneFromCurrentSkill($line, $object->fk_user); + } + } + } + if (empty($errors)) { + $object->setStatut(Evaluation::STATUS_CLOSED); + setEventMessage('EmployeeSkillsUpdated'); + } + } + + if ($action == 'reopen' ) { + // no update here we just change the evaluation status + $object->setStatut(Evaluation::STATUS_VALIDATED); + } +} + + + + +/* + * View + * + * Put here all code to build page + */ + +$form = new Form($db); +$formfile = new FormFile($db); +$formproject = new FormProjets($db); + +$title = $langs->trans("Evaluation"); +$help_url = ''; +$css = array(); +$css[] = '/hrm/css/style.css'; +llxHeader('', $title, $help_url, '', 0, 0, '', $css); + +print ''; + +// Part to create +if ($action == 'create') { + print load_fiche_titre($langs->trans("NewEval"), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(array(), ''); + + // Set some default values + //if (! GETPOSTISSET('fieldname')) $_POST['fieldname'] = 'myvalue'; + + print ''."\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_add.tpl.php'; + + // Other attributes + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_add.tpl.php'; + + print '
    '."\n"; + + print dol_get_fiche_end(); + + print '
    '; + print ''; + print '  '; + print ''; // Cancel for create does not post form if we don't know the backtopage + print '
    '; + + print '
    '; +} + +// Part to edit record +if (($id || $ref) && $action == 'edit') { + print load_fiche_titre($langs->trans("Evaluation"), '', 'object_'.$object->picto); + + print '
    '; + print ''; + print ''; + print ''; + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(); + + print ''."\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_edit.tpl.php'; + + // Other attributes + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_edit.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); + + print '
    '; + print '   '; + print '
    '; + + print '
    '; +} + +// Part to show record +if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { + $res = $object->fetch_optionals(); + + $head = evaluationPrepareHead($object); + print dol_get_fiche_head($head, 'card', $langs->trans("Workstation"), -1, $object->picto); + + $formconfirm = ''; + + if ($action == 'validate' && $permissiontovalidate) { + // Confirm validate proposal + $error = 0; + + // We verify whether the object is provisionally numbering + $ref = substr($object->ref, 1, 4); + if ($ref == 'PROV') { + $numref = $object->getNextNumRef(); + if (empty($numref)) { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } + } else { + $numref = $object->ref; + } + + $text = $langs->trans('ConfirmValidateEvaluation', $numref); + if (!empty($conf->notification->enabled)) { + require_once DOL_DOCUMENT_ROOT.'/core/class/notify.class.php'; + $notify = new Notify($db); + $text .= '
    '; + $text .= $notify->confirmMessage('HRM_EVALUATION_VALIDATE', $object->socid, $object); + } + + if (!$error) { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateEvaluation'), $text, 'confirm_validate', '', 0, 1); + } + } + + // Confirmation to delete + if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteEvaluation'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1); + } + // Confirmation to delete line + if ($action == 'deleteline') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_deleteline', '', 0, 1); + } + // Clone confirmation + if ($action == 'clone') { + // Create an array for form + $formquestion = array(); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); + } + + // Confirmation of action xxxx + if ($action == 'xxx') { + $formquestion = array(); + + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220); + } + + // Call Hook formConfirm + $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid); + $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { + $formconfirm .= $hookmanager->resPrint; + } elseif ($reshook > 0) { + $formconfirm = $hookmanager->resPrint; + } + + // Print form confirm + print $formconfirm; + + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref .= $langs->trans('Label').' : '.$object->label; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= '
    '.$langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); + + + print '
    '; + print '
    '; + print '
    '; + print ''."\n"; + + $object->fields['label']['visible']=0; // Already in banner + $object->fields['fk_user']['visible']=0; // Already in banner + $object->fields['fk_job']['visible']=0; // Already in banner + include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php'; + + // Other attributes. Fields from hook formObjectOptions and Extrafields. + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; + + print '
    '; + print '
    '; + print '
    '; + + print '
    '; + + print dol_get_fiche_end(); + + + /* + * Lines + */ + + if (!empty($object->table_element_line)) { + if ($object->status == Evaluation::STATUS_DRAFT) { + $result = $object->getLinesArray(); + + print '
    + + + + + + '; + + if (!empty($conf->use_javascript_ajax) && $object->status == 0) { + include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php'; + } + + print '
    '; + /*if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline')) { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + }*/ + + + if (!empty($object->lines)) { + $conf->modules_parts['tpl']['hrm']='/hrm/core/tpl/'; // Pour utilisation du tpl hrm sur cet écran + print '
    '.$langs->trans('Skill').''.$langs->trans('Description').''.$langs->trans('Rank').'
    '; + $object->printObjectLines($action, $mysoc, null, GETPOST('lineid', 'int'), 1, ''); + print '
    '; + } + + + + if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline')) { + print ''; + + if ($object->status == $object::STATUS_DRAFT && $permissiontoadd) { + print '
    '; + print ''; + print '
    '; + } + } + + + print '
    '; + + print "
    \n"; + print "
    "; + } + } + + // list of comparison + if ($object->status != Evaluation::STATUS_DRAFT) { + // Recovery of skills related to this evaluation + + $sql = 'select'; + $sql .= ' e.ref,'; + $sql .= ' e.date_creation,'; + $sql .= ' e.fk_job,'; + $sql .= ' j.label as "refjob",'; + $sql .= ' ed.fk_skill,'; + + $sql .= ' sk.label as "skilllabel",'; + $sql .= ' sk.skill_type,'; + $sql .= ' sk.description,'; + $sql .= ' ed.rank,'; + $sql .= ' ed.required_rank,'; + $sql .= ' ed.rank as "userRankForSkill",'; + $sql .= ' skdet_user.description as "userRankForSkillDesc",'; + $sql .= ' skdet_required.description as "required_rank_desc"'; + + $sql .= ' FROM ' . MAIN_DB_PREFIX . 'hrm_evaluation as e'; + $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_evaluationdet as ed ON e.rowid = ed.fk_evaluation'; + $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_job as j ON e.fk_job = j.rowid'; + $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_skill as sk ON ed.fk_skill = sk.rowid'; + $sql .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'hrm_skilldet as skdet_user ON (skdet_user.fk_skill = sk.rowid AND skdet_user.rank = ed.rank)'; + //$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "hrm_skillrank as skr ON (j.rowid = skr.fk_object AND skr.fk_skill = ed.fk_skill AND skr.objecttype = 'job')"; + $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'hrm_skilldet as skdet_required ON (skdet_required.fk_skill = sk.rowid AND skdet_required.rank = ed.required_rank)'; + $sql .= " WHERE e.rowid =" . ((int) $object->id); + + // echo $sql; + + $resql = $db->query($sql); + $Tab = array(); + + if ($resql) { + $num = 0; + while ($obj = $db->fetch_object($resql)) { + $Tab[$num] = new stdClass(); + $class = ''; + $Tab[$num]->skill_type = $obj->skill_type; + $Tab[$num]->skill_id = $obj->fk_skill; + $Tab[$num]->skilllabel = $obj->skilllabel; + $Tab[$num]->description = $obj->description; + $Tab[$num]->userRankForSkill = '' . $obj->userRankForSkill . ''; + $Tab[$num]->required_rank = '' . $obj->required_rank . ''; + + if ($obj->userRankForSkill > $obj->required_rank) { + $title=$langs->trans('MaxlevelGreaterThanShort'); + $class .= 'veryhappy diffnote'; + } elseif ($obj->userRankForSkill == $obj->required_rank) { + $title=$langs->trans('MaxLevelEqualToShort'); + $class .= 'happy diffnote'; + } elseif ($obj->userRankForSkill < $obj->required_rank) { + $title=$langs->trans('MaxLevelLowerThanShort'); + $class .= 'sad'; + } + + $Tab[$num]->result = ' '; + + $num++; + } + + print '
    '; + print ''; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $sk = new Skill($db); + foreach ($Tab as $t) { + $sk->fetch($t->skill_id); + print ''; + print ' '; + print ' '; + print ' '; + print ' '; + print ' '; + print ' '; + print ''; + } + + print '
    ' . $langs->trans("TypeSkill") . ' ' . $langs->trans("Label") . '' . $langs->trans("Description") . '' . $langs->trans("EmployeeRank") . '' . $langs->trans("RequiredRank") . '' . $langs->trans("Result") . '
    ' . Skill::typeCodeToLabel($t->skill_type) . '' . $sk->getNomUrl(1) . '' . $t->description . '' . $t->userRankForSkill . '' . $t->required_rank . '' . $t->result . '
    '; + + ?> + + + + '."\n"; + $parameters = array(); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + } + + if (empty($reshook)) { + // Send + if (empty($user->socid)) { + print dolGetButtonAction($langs->trans('SendMail'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init&token='.newToken().'#formmailbeforetitle'); + } + + // Back to draft + if ($object->status == $object::STATUS_VALIDATED) { + print dolGetButtonAction($langs->trans('SetToDraft'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=confirm_setdraft&confirm=yes&token='.newToken(), '', $permissiontoadd); + print dolGetButtonAction($langs->trans('Close'), '', 'close', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=close&token='.newToken(), '', $permissiontodelete || ($object->status == $object::STATUS_CLOSED && $permissiontoclose)); + } elseif ($object->status != $object::STATUS_CLOSED) { + print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken(), '', $permissiontoadd); + } + + if ($object->status == $object::STATUS_CLOSED) { + print dolGetButtonAction($langs->trans('ReOpen'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reopen&token='.newToken(), '', $permissiontoadd); + } + + + // Validate + if ($object->status == $object::STATUS_DRAFT) { + if (empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) { + print dolGetButtonAction($langs->trans('Save').' '.$langs->trans('and').' '.$langs->trans('Valid'), '', 'default', '#', 'btn_valid', $permissiontovalidate); + } else { + $langs->load("errors"); + print dolGetButtonAction($langs->trans("ErrorAddAtLeastOneLineFirst"), $langs->trans("Validate"), 'default', '#', '', 0); + } + } + + + // Delete (need delete permission, or if draft, just need create/modify permission) + print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=delete&token='.newToken(), '', $permissiontodelete); + } + + + print '
    '."\n"; + } + + // Select mail models is same action as presend + if (GETPOST('modelselected')) { + $action = 'presend'; + } + + if ($action != 'presend') { + print '
    '; + print ''; // ancre + + $includedocgeneration = 0; + + // Documents + if ($includedocgeneration) { + $objref = dol_sanitizeFileName($object->ref); + $relativepath = $objref.'/'.$objref.'.pdf'; + $filedir = $conf->hrm->dir_output.'/'.$object->element.'/'.$objref; + $urlsource = $_SERVER["PHP_SELF"]."?id=".$object->id; + $genallowed = $user->rights->hrm->evaluation->read; // If you can read, you can build the PDF to read content + $delallowed = $user->rights->hrm->evaluation->write; // If you can create/edit, you can remove a file on card + print $formfile->showdocuments('hrm:Evaluation', $object->element.'/'.$objref, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0, '', '', '', $langs->defaultlang); + } + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object, null, array('evaluation')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + + + print '
    '; + + $MAXEVENT = 10; + + $morehtmlright = ''; + $morehtmlright .= $langs->trans("SeeAll"); + $morehtmlright .= ''; + + // List of actions on element + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, $object->element.'@'.$object->module, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1, '', $MAXEVENT, '', $morehtmlright); + + print '
    '; + } + + //Select mail models is same action as presend + if (GETPOST('modelselected')) { + $action = 'presend'; + } + + // Presend form + $modelmail = 'evaluation'; + $defaulttopic = 'InformationMessage'; + $diroutput = $conf->hrm->dir_output; + $trackid = 'evaluation'.$object->id; + + include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php'; +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/evaluation_contact.php b/htdocs/hrm/evaluation_contact.php new file mode 100644 index 00000000000..540154b77ef --- /dev/null +++ b/htdocs/hrm/evaluation_contact.php @@ -0,0 +1,220 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file evaluation_contact.php + * \ingroup hrm + * \brief Tab for contacts linked to Evaluation + */ + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/evaluation.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_evaluation.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + +$id = (GETPOST('id') ?GETPOST('id', 'int') : GETPOST('facid', 'int')); // For backward compatibility +$ref = GETPOST('ref', 'alpha'); +$lineid = GETPOST('lineid', 'int'); +$socid = GETPOST('socid', 'int'); +$action = GETPOST('action', 'aZ09'); + +// Initialize technical objects +$object = new Evaluation($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('evaluationcontact', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +$permission = $user->rights->hrm->evaluation->write; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +//if (empty($conf->hrm->enabled)) accessforbidden(); +//if (!$permissiontoread) accessforbidden(); + + +/* + * Add a new contact + */ + +if ($action == 'addcontact' && $permission) { + $contactid = (GETPOST('userid') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int')); + $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); + $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09')); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors'); + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } +} elseif ($action == 'swapstatut' && $permission) { + // Toggle the status of a contact + $result = $object->swapContactStatus(GETPOST('ligne', 'int')); +} elseif ($action == 'deletecontact' && $permission) { + // Deletes a contact + $result = $object->delete_contact($lineid); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + dol_print_error($db); + } +} + + +/* + * View + */ + +$title = $langs->trans('Evaluation')." - ".$langs->trans('ContactsAddresses'); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +$form = new Form($db); +$formcompany = new FormCompany($db); +$contactstatic = new Contact($db); +$userstatic = new User($db); + + +/* *************************************************************************** */ +/* */ +/* View and edit mode */ +/* */ +/* *************************************************************************** */ + +if ($object->id) { + /* + * Show tabs + */ + $head = evaluationPrepareHead($object); + + print dol_get_fiche_head($head, 'contact', '', -1, $object->picto); + + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + /* + // Ref customer + $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1); + $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1); + // Thirdparty + $morehtmlref.='
    '.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : ''); + // Project + if (! empty($conf->projet->enabled)) + { + $langs->load("projects"); + $morehtmlref.='
    '.$langs->trans('Project') . ' '; + if ($permissiontoadd) + { + if ($action != 'classify') + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.=' : '; + if ($action == 'classify') { + //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); + $morehtmlref.='
    '; + $morehtmlref.=''; + $morehtmlref.=''; + $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); + $morehtmlref.=''; + $morehtmlref.='
    '; + } else { + $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); + } + } else { + if (! empty($object->fk_project)) { + $proj = new Project($db); + $proj->fetch($object->fk_project); + $morehtmlref .= ': '.$proj->getNomUrl(); + } else { + $morehtmlref .= ''; + } + } + }*/ + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1); + + print dol_get_fiche_end(); + + print '
    '; + + // Contacts lines (modules that overwrite templates must declare this into descriptor) + $dirtpls = array_merge($conf->modules_parts['tpl'], array('/core/tpl')); + foreach ($dirtpls as $reldir) { + $res = @include dol_buildpath($reldir.'/contacts.tpl.php'); + if ($res) { + break; + } + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/evaluation_document.php b/htdocs/hrm/evaluation_document.php new file mode 100644 index 00000000000..06cbd7a621a --- /dev/null +++ b/htdocs/hrm/evaluation_document.php @@ -0,0 +1,224 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file evaluation_document.php + * \ingroup hrm + * \brief Tab for documents linked to Evaluation + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/evaluation.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_evaluation.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + + +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm'); +$id = (GETPOST('socid', 'int') ? GETPOST('socid', 'int') : GETPOST('id', 'int')); +$ref = GETPOST('ref', 'alpha'); + +// Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortorder) { + $sortorder = "ASC"; +} +if (!$sortfield) { + $sortfield = "name"; +} +//if (! $sortfield) $sortfield="position_name"; + +// Initialize technical objects +$object = new Evaluation($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('evaluationdocument', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity ? $object->entity : $conf->entity]."/evaluation/".get_exdir(0, 0, 0, 1, $object); +} + +$permissiontoadd = $user->rights->hrm->evaluation->write; // Used by the include of actions_addupdatedelete.inc.php and actions_linkedfiles.inc.php +$permissiontoread = $user->rights->hrm->evaluation->read; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; + + +/* + * View + */ + +$form = new Form($db); + +$title = $langs->trans("Evaluation").' - '.$langs->trans("Files"); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +if ($object->id) { + /* + * Show tabs + */ + $head = evaluationPrepareHead($object); + + print dol_get_fiche_head($head, 'document', $langs->trans("Documents"), -1, $object->picto); + + + // Build file list + $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1); + $totalsize = 0; + foreach ($filearray as $key => $file) { + $totalsize += $file['size']; + } + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref .= $langs->trans('Label').' : '.$object->label; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= '
    '.$langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); + + print '
    '; + + print '
    '; + print ''; + + // Number of files + print ''; + + // Total size + print ''; + + print '
    '.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
    '.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
    '; + + print '
    '; + + print dol_get_fiche_end(); + + $modulepart = 'hrm'; + $permtoedit = $permissiontoadd; + $param = '&id='.$object->id; + + //$relativepathwithnofile='evaluation/' . dol_sanitizeFileName($object->id).'/'; + $relativepathwithnofile = 'evaluation/'.dol_sanitizeFileName($object->ref).'/'; + + include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; +} else { + accessforbidden('', 0, 1); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/evaluation_list.php b/htdocs/hrm/evaluation_list.php new file mode 100644 index 00000000000..54c4d547ffe --- /dev/null +++ b/htdocs/hrm/evaluation_list.php @@ -0,0 +1,731 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file evaluation_list.php + * \ingroup hrm + * \brief List page for evaluation + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +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/company.lib.php'; + +// load hrm libraries +require_once __DIR__.'/class/evaluation.class.php'; + +// for other modules +//dol_include_once('/othermodule/class/otherobject.class.php'); + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) +$show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? +$confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation +$cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button +$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'evaluationlist'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + +$id = GETPOST('id', 'int'); + +// Load variable for pagination +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST('sortfield', 'aZ09comma'); +$sortorder = GETPOST('sortorder', 'aZ09comma'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters + $page = 0; +} +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +// Initialize technical objects +$object = new Evaluation($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('evaluationlist')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); +//$extrafields->fetch_name_optionals_label($object->table_element_line); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Default sort order (if not yet defined by previous GETPOST) +if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. + $sortfield = "t.".key($object->fields); // Set here default search field. By default 1st field in definition. +} +if (!$sortorder) { + $sortorder = "ASC"; +} + +// Initialize array of search criterias +$search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_'.$key, 'alpha') !== '') { + $search[$key] = GETPOST('search_'.$key, 'alpha'); + } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } +} + +// List of fields to search into when doing a "search in all" +$fieldstosearchall = array(); +foreach ($object->fields as $key => $val) { + if (!empty($val['searchall'])) { + $fieldstosearchall['t.'.$key] = $val['label']; + } +} + +// Definition of array of fields for columns +$arrayfields = array(); +foreach ($object->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + +$object->fields = dol_sort_array($object->fields, 'position'); +$arrayfields = dol_sort_array($arrayfields, 'position'); + +$permissiontoread = $user->rights->hrm->evaluation->read; +$permissiontoadd = $user->rights->hrm->evaluation->write; +$permissiontodelete = $user->rights->hrm->evaluation->delete; + +// Security check +if (empty($conf->hrm->enabled)) { + accessforbidden('Module not enabled'); +} + +// Security check (enable the most restrictive one) +if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) accessforbidden(); +//$socid = 0; if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +//if (empty($conf->hrm->enabled)) accessforbidden(); +//if (!$permissiontoread) accessforbidden(); + + + +/* + * Actions + */ + +if (GETPOST('cancel', 'alpha')) { + $action = 'list'; + $massaction = ''; +} +if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { + $massaction = ''; +} + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Selection of new fields + include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + foreach ($object->fields as $key => $val) { + $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } + } + $toselect = array(); + $search_array_options = array(); + } + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') + || GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) { + $massaction = ''; // Protection to avoid mass action if we force a new search during a mass action confirmation + } + + // Mass actions + $objectclass = 'Evaluation'; + $objectlabel = 'Evaluation'; + $uploaddir = $conf->hrm->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; +} + + + +/* + * View + */ + +$form = new Form($db); + +$now = dol_now(); + +//$help_url="EN:Module_Evaluation|FR:Module_Evaluation_FR|ES:Módulo_Evaluation"; +$help_url = ''; +$title = $langs->trans("List").' '.$langs->trans('Evaluations'); +$morejs = array(); +$morecss = array(); + + +// Build and execute select +// -------------------------------------------------------------------- +$sql = 'SELECT '; +$sql .= $object->getFieldList('t'); +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key.', ' : ''); + } +} +// Add fields from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= preg_replace('/^,/', '', $hookmanager->resPrint); +$sql = preg_replace('/,\s*$/', '', $sql); +$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; +} +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +if ($object->ismultientitymanaged == 1) { + $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; +} else { + $sql .= " WHERE 1 = 1"; +} +foreach ($search as $key => $val) { + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } + } + } +} +if ($search_all) { + $sql .= natural_search(array_keys($fieldstosearchall), $search_all); +} +//$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); +// Add where from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; + +/* If a group by is required +$sql .= " GROUP BY "; +foreach($object->fields as $key => $val) { + $sql .= "t.".$key.", "; +} +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } +} +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +$sql = preg_replace('/,\s*$/', '', $sql); +*/ + +$sql .= $db->order($sortfield, $sortorder); + +// Count total nb of records +$nbtotalofrecords = ''; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 + $page = 0; + $offset = 0; + } +} +// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. +if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { + $num = $nbtotalofrecords; +} else { + if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); + } + + $resql = $db->query($sql); + if (!$resql) { + dol_print_error($db); + exit; + } + + $num = $db->num_rows($resql); +} + +// Direct jump if only one record found +if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".dol_buildpath('/hrm/evaluation_card.php', 1).'?id='.$id); + exit; +} + + +// Output page +// -------------------------------------------------------------------- + +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); + +// Example : Adding jquery code +// print ''; + +$arrayofselected = is_array($toselect) ? $toselect : array(); + +$param = ''; +if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); +} +if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); +} +foreach ($search as $key => $val) { + if (is_array($search[$key]) && count($search[$key])) { + foreach ($search[$key] as $skey) { + $param .= '&search_'.$key.'[]='.urlencode($skey); + } + } else { + $param .= '&search_'.$key.'='.urlencode($search[$key]); + } +} +if ($optioncss != '') { + $param .= '&optioncss='.urlencode($optioncss); +} +// Add $param from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; + +// List of mass actions available +$arrayofmassactions = array( + //'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), + //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), +); +if ($permissiontodelete) { + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +} +if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { + $arrayofmassactions = array(); +} +$massactionbutton = $form->selectMassAction('', $arrayofmassactions); + +print '
    '."\n"; +if ($optioncss != '') { + print ''; +} +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/hrm/evaluation_card.php', 1).'?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); + +// Add code for pre mass action (confirmation or email presend form) +$topicmail = "SendEvaluationRef"; +$modelmail = "evaluation"; +$objecttmp = new Evaluation($db); +$trackid = 'xxxx'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + +if ($search_all) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
    '.$langs->trans("FilterOnInto", $search_all).join(', ', $fieldstosearchall).'
    '; +} + +$moreforfilter = ''; +/*$moreforfilter.='
    '; +$moreforfilter.= $langs->trans('MyFilter') . ': '; +$moreforfilter.= '
    ';*/ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +if (empty($reshook)) { + $moreforfilter .= $hookmanager->resPrint; +} else { + $moreforfilter = $hookmanager->resPrint; +} + +if (!empty($moreforfilter)) { + print '
    '; + print $moreforfilter; + print '
    '; +} + +$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; +$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); + +print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table +print ''."\n"; + + +// Fields title search +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print ''; +print ''."\n"; + + +// Fields title label +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''))."\n"; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n"; +print ''."\n"; + + +// Detect if we need a fetch on each output line +$needToFetchEachLine = 0; +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { + foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { + if (preg_match('/\$object/', $val)) { + $needToFetchEachLine++; // There is at least one compute field that use $object + } + } +} + + +// Loop on record +// -------------------------------------------------------------------- +$i = 0; +$totalarray = array(); +$totalarray['nbfield'] = 0; +while ($i < ($limit ? min($num, $limit) : $num)) { + $obj = $db->fetch_object($resql); + if (empty($obj)) { + break; // Should not happen + } + + // Store properties in $object + $object->setVarsFromFetchObj($obj); + + // Show here line of result + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } + + if (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif ($key == 'ref') { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } + + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; + + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + if ($key == 'status') { + print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); + } else { + print $object->showOutputField($val, $key, $object->$key, ''); + } + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { + if (!$i) { + $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; + } + if (!isset($totalarray['val'])) { + $totalarray['val'] = array(); + } + if (!isset($totalarray['val']['t.'.$key])) { + $totalarray['val']['t.'.$key] = 0; + } + $totalarray['val']['t.'.$key] += $object->$key; + } + } + } + // Extra fields + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; + // Fields from hook + $parameters = array('arrayfields'=>$arrayfields, 'object'=>$object, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + + print ''."\n"; + + $i++; +} + +// Show total line +include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php'; + +// If no record found +if ($num == 0) { + $colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { + $colspan++; + } + } + print ''; +} + + +$db->free($resql); + +$parameters = array('arrayfields'=>$arrayfields, 'sql'=>$sql); +$reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +print '
    '; + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + } + print '
    '; +$searchpicto = $form->showFilterButtons(); +print $searchpicto; +print '
    '; + 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($object->id, $arrayofselected)) { + $selected = 1; + } + print ''; + } + print '
    '.$langs->trans("NoRecordFound").'
    '."\n"; +print '
    '."\n"; + +print '
    '."\n"; + +if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { + $hidegeneratedfilelistifempty = 1; + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { + $hidegeneratedfilelistifempty = 0; + } + + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + $formfile = new FormFile($db); + + // Show list of available documents + $urlsource = $_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource .= str_replace('&', '&', $param); + + $filedir = $diroutputmassaction; + $genallowed = $permissiontoread; + $delallowed = $permissiontoadd; + + print $formfile->showdocuments('massfilesarea_hrm', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/evaluation_note.php b/htdocs/hrm/evaluation_note.php new file mode 100644 index 00000000000..aae7b56acaf --- /dev/null +++ b/htdocs/hrm/evaluation_note.php @@ -0,0 +1,182 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file evaluation_note.php + * \ingroup hrm + * \brief Tab for notes on Evaluation + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/hrm/class/evaluation.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_evaluation.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +// Initialize technical objects +$object = new Evaluation($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('evaluationnote', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissionnote = $user->rights->hrm->evaluation->write; // Used by the include of actions_setnotes.inc.php +$permissiontoread = $user->rights->hrm->evaluation->read; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +//if (empty($conf->hrm->enabled)) accessforbidden(); +//if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} + + +/* + * View + */ + +$form = new Form($db); + +//$help_url='EN:Customers_Orders|FR:Commandes_Clients|ES:Pedidos de clientes'; +$help_url = ''; +llxHeader('', $langs->trans('Evaluation'), $help_url); + +if ($id > 0 || !empty($ref)) { + $object->fetch_thirdparty(); + + $head = evaluationPrepareHead($object); + + print dol_get_fiche_head($head, 'note', $langs->trans('Notes'), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref .= $langs->trans('Label').' : '.$object->label; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= '
    '.$langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); + + + print '
    '; + print '
    '; + + + $cssclass = "titlefield"; + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php index cdce14780f9..ec7ba9b74e3 100644 --- a/htdocs/hrm/index.php +++ b/htdocs/hrm/index.php @@ -96,7 +96,7 @@ print load_fiche_titre($langs->trans("HRMArea"), '', 'hrm'); if (!empty($setupcompanynotcomplete)) { $langs->load("errors"); $warnpicto = img_warning($langs->trans("WarningMandatorySetupNotComplete")); - print '
    '; + print '
    '; llxFooter(); exit; @@ -189,7 +189,7 @@ if (!empty($conf->holiday->enabled) && $user->rights->holiday->read) { if (empty($user->rights->holiday->readall)) { $sql .= ' AND x.fk_user IN ('.$db->sanitize(join(',', $childids)).')'; } - //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); //if (!empty($socid)) $sql.= " AND x.fk_soc = ".((int) $socid); $sql .= $db->order("x.tms", "DESC"); $sql .= $db->plimit($max, 0); @@ -234,7 +234,7 @@ if (!empty($conf->holiday->enabled) && $user->rights->holiday->read) { print ''; print ''.$holidaystatic->getNomUrl(1).''; print ''.$userstatic->getNomUrl(-1, 'leave').''; - print ''.dol_escape_htmltag($typeleaves[$obj->fk_type]['label']).''; + print ''.dol_escape_htmltag($langs->trans($typeleaves[$obj->fk_type]['code'])).''; $starthalfday = ($obj->halfday == -1 || $obj->halfday == 2) ? 'afternoon' : 'morning'; $endhalfday = ($obj->halfday == 1 || $obj->halfday == 2) ? 'morning' : 'afternoon'; @@ -270,7 +270,7 @@ if (!empty($conf->expensereport->enabled) && $user->rights->expensereport->lire) if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) { $sql .= ' AND x.fk_user_author IN ('.$db->sanitize(join(',', $childids)).')'; } - //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (!$user->rights->societe->client->voir && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); //if (!empty($socid)) $sql.= " AND x.fk_soc = ".((int) $socid); $sql .= $db->order("x.tms", "DESC"); $sql .= $db->plimit($max, 0); @@ -310,11 +310,11 @@ if (!empty($conf->expensereport->enabled) && $user->rights->expensereport->lire) $userstatic->photo = $obj->photo; print ''; - print ''.$expensereportstatic->getNomUrl(1).''; + print ''.$expensereportstatic->getNomUrl(1).''; print ''.$userstatic->getNomUrl(-1).''; - print ''.price($obj->total_ttc).''; + print ''.price($obj->total_ttc).''; print ''.dol_print_date($db->jdate($obj->dm), 'day').''; - print ''.$expensereportstatic->LibStatut($obj->status, 3).''; + print ''.$expensereportstatic->LibStatut($obj->status, 3).''; print ''; $i++; @@ -344,7 +344,7 @@ if (!empty($conf->recruitment->enabled) && $user->rights->recruitment->recruitme } $sql .= " WHERE rc.entity IN (".getEntity($staticrecruitmentcandidature->element).")"; if ($conf->societe->enabled && !$user->rights->societe->client->voir && !$socid) { - $sql .= " AND rp.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND rp.fk_soc = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if ($socid) { $sql .= " AND rp.fk_soc = $socid"; @@ -381,9 +381,9 @@ if (!empty($conf->recruitment->enabled) && $user->rights->recruitment->recruitme $staticrecruitmentjobposition->label = $objp->label; print ''; - print ''.$staticrecruitmentcandidature->getNomUrl(1, '').''; + print ''.$staticrecruitmentcandidature->getNomUrl(1, '').''; print ''.$staticrecruitmentcandidature->getFullName($langs).''; - print ''.$staticrecruitmentjobposition->getNomUrl(1).''; + print ''.$staticrecruitmentjobposition->getNomUrl(1).''; print ''.dol_print_date($db->jdate($objp->tms), 'day').''; print ''; print $staticrecruitmentcandidature->getLibStatut(3); diff --git a/htdocs/hrm/job_agenda.php b/htdocs/hrm/job_agenda.php new file mode 100644 index 00000000000..77dd464a7f0 --- /dev/null +++ b/htdocs/hrm/job_agenda.php @@ -0,0 +1,275 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file job_agenda.php + * \ingroup hrm + * \brief Tab of events on Job + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +if (GETPOST('actioncode', 'array')) { + $actioncode = GETPOST('actioncode', 'array', 3); + if (!count($actioncode)) { + $actioncode = '0'; + } +} else { + $actioncode = GETPOST("actioncode", "alpha", 3) ? GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); +} +$search_agenda_label = GETPOST('search_agenda_label'); + +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortfield) { + $sortfield = 'a.datep,a.id'; +} +if (!$sortorder) { + $sortorder = 'DESC,DESC'; +} + +// Initialize technical objects +$object = new Job($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('jobagenda', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array('id'=>$id); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Cancel + if (GETPOST('cancel', 'alpha') && !empty($backtopage)) { + header("Location: ".$backtopage); + exit; + } + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + $actioncode = ''; + $search_agenda_label = ''; + } +} + + + +/* + * View + */ + +$form = new Form($db); + +if ($object->id > 0) { + $title = $langs->trans("Agenda"); + //if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$title; + $help_url = 'EN:Module_Agenda_En'; + llxHeader('', $title, $help_url); + + if (!empty($conf->notification->enabled)) { + $langs->load("mails"); + } + $head = jobPrepareHead($object); + + + print dol_get_fiche_head($head, 'agenda', $langs->trans("Agenda"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + print '
    '; + print '
    '; + + $object->info($object->id); + dol_print_object_info($object, 1); + + print '
    '; + + print dol_get_fiche_end(); + + + + // Actions buttons + + $objthirdparty = $object; + $objcon = new stdClass(); + + $out = '&origin='.urlencode($object->element.'@'.$object->module).'&originid='.urlencode($object->id); + $urlbacktopage = $_SERVER['PHP_SELF'].'?id='.$object->id; + $out .= '&backtopage='.urlencode($urlbacktopage); + $permok = $user->rights->agenda->myactions->create; + if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) { + //$out.='trans("AddAnAction"),'filenew'); + //$out.=""; + } + + + print '
    '; + + if (!empty($conf->agenda->enabled)) { + if (!empty($user->rights->agenda->myactions->create) || !empty($user->rights->agenda->allactions->create)) { + print ''.$langs->trans("AddAction").''; + } else { + print ''.$langs->trans("AddAction").''; + } + } + + print '
    '; + + if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) { + $param = '&id='.$object->id.'&socid='.$socid; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); + } + if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); + } + + + //print load_fiche_titre($langs->trans("ActionsOnJob"), '', ''); + + // List of all actions + $filters = array(); + $filters['search_agenda_label'] = $search_agenda_label; + + // TODO Replace this with same code than into list.php + show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder, $object->module); + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/job_card.php b/htdocs/hrm/job_card.php new file mode 100644 index 00000000000..19b40048f7b --- /dev/null +++ b/htdocs/hrm/job_card.php @@ -0,0 +1,532 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file job_card.php + * \ingroup hrm + * \brief Page to create/edit/view job + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; +$tmp2 = realpath(__FILE__); +$i = strlen($tmp) - 1; +$j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; + $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other", 'products')); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'jobcard'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); +//$lineid = GETPOST('lineid', 'int'); + +// Initialize technical objects +$object = new Job($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output . '/temp/massgeneration/' . $user->id; +$hookmanager->initHooks(array('jobcard', 'globalcard')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Initialize array of search criterias +$search_all = GETPOST("search_all", 'alpha'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_' . $key, 'alpha')) { + $search[$key] = GETPOST('search_' . $key, 'alpha'); + } +} + +if (empty($action) && empty($id) && empty($ref)) { + $action = 'view'; +} + +// Load object +include DOL_DOCUMENT_ROOT . '/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$permissiontodelete = $user->rights->hrm->all->delete; +$upload_dir = $conf->hrm->multidir_output[isset($object->entity) ? $object->entity : 1] . '/job'; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + $error = 0; + + $backurlforlist = dol_buildpath('/hrm/job_list.php', 1); + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = dol_buildpath('/hrm/job_card.php', 1) . '?id=' . ($id > 0 ? $id : '__ID__'); + } + } + } + + $triggermodname = 'hrm_JOB_MODIFY'; // Name of trigger action code to execute when we modify record + + + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + include DOL_DOCUMENT_ROOT . '/core/actions_addupdatedelete.inc.php'; + + // Actions when linking object each other + include DOL_DOCUMENT_ROOT . '/core/actions_dellink.inc.php'; + + // Actions when printing a doc from card + include DOL_DOCUMENT_ROOT . '/core/actions_printing.inc.php'; + + // Action to move up and down lines of object + //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; + + // Action to build doc + include DOL_DOCUMENT_ROOT . '/core/actions_builddoc.inc.php'; + + if ($action == 'set_thirdparty' && $permissiontoadd) { + $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname); + } + if ($action == 'classin' && $permissiontoadd) { + $object->setProject(GETPOST('projectid', 'int')); + } + + // Actions to send emails + $triggersendname = 'hrm_JOB_SENTBYMAIL'; + $autocopy = 'MAIN_MAIL_AUTOCOPY_JOB_TO'; + $trackid = 'job' . $object->id; + include DOL_DOCUMENT_ROOT . '/core/actions_sendmails.inc.php'; +} + + +/* + * View + * + * Put here all code to build page + */ + +$form = new Form($db); +$formfile = new FormFile($db); +$formproject = new FormProjets($db); + +$title = $langs->trans("Job"); +$help_url = ''; +llxHeader('', $title, $help_url); + +// Example : Adding jquery code +// print ''; + + +// Part to create +if ($action == 'create') { + print load_fiche_titre($langs->trans("NewObject", $langs->transnoentities('Job')), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(array(), ''); + + // Set some default values + //if (! GETPOSTISSET('fieldname')) $_POST['fieldname'] = 'myvalue'; + + print '' . "\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_add.tpl.php'; + + // Other attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_add.tpl.php'; + + print '
    ' . "\n"; + + print dol_get_fiche_end(); + + print '
    '; + print ''; + print '  '; + print ''; // Cancel for create does not post form if we don't know the backtopage + print '
    '; + + print '
    '; + + //dol_set_focus('input[name="ref"]'); +} + +// Part to edit record +if (($id || $ref) && $action == 'edit') { + print load_fiche_titre($langs->trans("Job"), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + print ''; + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(); + + print '' . "\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_edit.tpl.php'; + + // Other attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_edit.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); + + print '
    '; + print '   '; + print '
    '; + + print '
    '; +} + +// Part to show record +if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { + $res = $object->fetch_optionals(); + + $head = jobPrepareHead($object); + $picto = 'company.png'; + print dol_get_fiche_head($head, 'job_card', $langs->trans("Workstation"), -1, $object->picto); + + $formconfirm = ''; + + // Confirmation to delete + if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteJob'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1); + } + // Confirmation to delete line + if ($action == 'deleteline') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_deleteline', '', 0, 1); + } + // Clone confirmation + if ($action == 'clone') { + // Create an array for form + $formquestion = array(); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); + } + + // Confirmation of action xxxx + if ($action == 'xxx') { + $formquestion = array(); + /* + $forcecombo=0; + if ($conf->browser->name == 'ie') $forcecombo = 1; // There is a bug in IE10 that make combo inside popup crazy + $formquestion = array( + // 'text' => $langs->trans("ConfirmClone"), + // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1), + // array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1), + // array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, '', 0, $forcecombo)) + ); + */ + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220); + } + + // Call Hook formConfirm + $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid); + $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { + $formconfirm .= $hookmanager->resPrint; + } elseif ($reshook > 0) { + $formconfirm = $hookmanager->resPrint; + } + + // Print form confirm + print $formconfirm; + + + // Object card + // ------------------------------------------------------------ + $linkback = '' . $langs->trans("BackToList") . ''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + print '
    '; + print '' . "\n"; + + // Common attributes + //$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just before this field + //unset($object->fields['fk_project']); // Hide field already shown in banner + //unset($object->fields['fk_soc']); // Hide field already shown in banner + $object->fields['label']['visible']=0; // Already in banner + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_view.tpl.php'; + + // Other attributes. Fields from hook formObjectOptions and Extrafields. + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; + + print '
    '; + print '
    '; + print '
    '; + + print '
    '; + + print dol_get_fiche_end(); + + + /* + * Lines + */ + + if (!empty($object->table_element_line)) { + // Show object lines + $result = $object->getLinesArray(); + + print '
    + + + + + + '; + + if (!empty($conf->use_javascript_ajax) && $object->status == 0) { + include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; + } + + print '
    '; + if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline')) { + print ''; + } + + if (!empty($object->lines)) { + $object->printObjectLines($action, $mysoc, null, GETPOST('lineid', 'int'), 1); + } + + // Form to add new line + if ($object->status == 0 && $permissiontoadd && $action != 'selectlines') { + if ($action != 'editline') { + // Add products/services form + + $parameters = array(); + $reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + if (empty($reshook)) + $object->formAddObjectLine(1, $mysoc, $soc); + } + } + + if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline')) { + print '
    '; + } + print '
    '; + + print "
    \n"; + } + + + // Buttons for actions + + if ($action != 'presend' && $action != 'editline') { + print '
    ' . "\n"; + $parameters = array(); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + } + + if (empty($reshook)) { + // Back to draft + if ($object->status == $object::STATUS_VALIDATED) { + print dolGetButtonAction($langs->trans('SetToDraft'), '', 'default', $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=confirm_setdraft&confirm=yes&token=' . newToken(), '', $permissiontoadd); + } + + print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=edit&token=' . newToken(), '', $permissiontoadd); + + // Delete (need delete permission, or if draft, just need create/modify permission) + print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=delete&token=' . newToken(), '', $permissiontodelete); + } + print '
    ' . "\n"; + } + + + // Select mail models is same action as presend + if (GETPOST('modelselected')) { + $action = 'presend'; + } + + if ($action != 'presend') { + print '
    '; + print ''; // ancre + + $includedocgeneration = 0; + + // Documents + if ($includedocgeneration) { + $objref = dol_sanitizeFileName($object->ref); + $relativepath = $objref . '/' . $objref . '.pdf'; + $filedir = $conf->hrm->dir_output . '/' . $object->element . '/' . $objref; + $urlsource = $_SERVER["PHP_SELF"] . "?id=" . $object->id; + $genallowed = $user->rights->hrm->job->read; // If you can read, you can build the PDF to read content + $delallowed = $user->rights->hrm->job->write; // If you can create/edit, you can remove a file on card + print $formfile->showdocuments('hrm:Job', $object->element . '/' . $objref, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0, '', '', '', $langs->defaultlang); + } + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object, null, array('job')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + + + print '
    '; + + $MAXEVENT = 10; + + $morehtmlright = ''; + $morehtmlright .= $langs->trans("SeeAll"); + $morehtmlright .= ''; + + // List of actions on element + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, $object->element . '@' . $object->module, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1, '', $MAXEVENT, '', $morehtmlright); + + print '
    '; + } + + // Presend form + $modelmail = 'job'; + $defaulttopic = 'InformationMessage'; + $diroutput = $conf->hrm->dir_output; + $trackid = 'job' . $object->id; + + include DOL_DOCUMENT_ROOT . '/core/tpl/card_presend.tpl.php'; +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/job_contact.php b/htdocs/hrm/job_contact.php new file mode 100644 index 00000000000..cbc961d3f9e --- /dev/null +++ b/htdocs/hrm/job_contact.php @@ -0,0 +1,220 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file job_contact.php + * \ingroup hrm + * \brief Tab for contacts linked to Job + */ + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + +$id = (GETPOST('id') ?GETPOST('id', 'int') : GETPOST('facid', 'int')); // For backward compatibility +$ref = GETPOST('ref', 'alpha'); +$lineid = GETPOST('lineid', 'int'); +$socid = GETPOST('socid', 'int'); +$action = GETPOST('action', 'aZ09'); + +// Initialize technical objects +$object = new Job($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('jobcontact', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +$permission = $user->rights->hrm->job->write; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +//if (empty($conf->hrm->enabled)) accessforbidden(); +//if (!$permissiontoread) accessforbidden(); + + +/* + * Add a new contact + */ + +if ($action == 'addcontact' && $permission) { + $contactid = (GETPOST('userid') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int')); + $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); + $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09')); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors'); + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } +} elseif ($action == 'swapstatut' && $permission) { + // Toggle the status of a contact + $result = $object->swapContactStatus(GETPOST('ligne', 'int')); +} elseif ($action == 'deletecontact' && $permission) { + // Deletes a contact + $result = $object->delete_contact($lineid); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + dol_print_error($db); + } +} + + +/* + * View + */ + +$title = $langs->trans('Job')." - ".$langs->trans('ContactsAddresses'); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +$form = new Form($db); +$formcompany = new FormCompany($db); +$contactstatic = new Contact($db); +$userstatic = new User($db); + + +/* *************************************************************************** */ +/* */ +/* View and edit mode */ +/* */ +/* *************************************************************************** */ + +if ($object->id) { + /* + * Show tabs + */ + $head = jobPrepareHead($object); + + print dol_get_fiche_head($head, 'contact', '', -1, $object->picto); + + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + /* + // Ref customer + $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1); + $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1); + // Thirdparty + $morehtmlref.='
    '.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : ''); + // Project + if (! empty($conf->projet->enabled)) + { + $langs->load("projects"); + $morehtmlref.='
    '.$langs->trans('Project') . ' '; + if ($permissiontoadd) + { + if ($action != 'classify') + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.=' : '; + if ($action == 'classify') { + //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); + $morehtmlref.='
    '; + $morehtmlref.=''; + $morehtmlref.=''; + $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); + $morehtmlref.=''; + $morehtmlref.='
    '; + } else { + $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); + } + } else { + if (! empty($object->fk_project)) { + $proj = new Project($db); + $proj->fetch($object->fk_project); + $morehtmlref .= ': '.$proj->getNomUrl(); + } else { + $morehtmlref .= ''; + } + } + }*/ + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1); + + print dol_get_fiche_end(); + + print '
    '; + + // Contacts lines (modules that overwrite templates must declare this into descriptor) + $dirtpls = array_merge($conf->modules_parts['tpl'], array('/core/tpl')); + foreach ($dirtpls as $reldir) { + $res = @include dol_buildpath($reldir.'/contacts.tpl.php'); + if ($res) { + break; + } + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/job_document.php b/htdocs/hrm/job_document.php new file mode 100644 index 00000000000..a32f02915e9 --- /dev/null +++ b/htdocs/hrm/job_document.php @@ -0,0 +1,219 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file job_document.php + * \ingroup hrm + * \brief Tab for documents linked to Job + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + + +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm'); +$id = (GETPOST('socid', 'int') ? GETPOST('socid', 'int') : GETPOST('id', 'int')); +$ref = GETPOST('ref', 'alpha'); + +// Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortorder) { + $sortorder = "ASC"; +} +if (!$sortfield) { + $sortfield = "name"; +} +//if (! $sortfield) $sortfield="position_name"; + +// Initialize technical objects +$object = new Job($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('jobdocument', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity ? $object->entity : $conf->entity]."/job/".get_exdir(0, 0, 0, 1, $object); +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_linkedfiles.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; + + +/* + * View + */ + +$form = new Form($db); + +$title = $langs->trans("Job").' - '.$langs->trans("Files"); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +if ($object->id) { + /* + * Show tabs + */ + $head = jobPrepareHead($object); + + print dol_get_fiche_head($head, 'document', $langs->trans("Document"), -1, $object->picto); + + + // Build file list + $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1); + $totalsize = 0; + foreach ($filearray as $key => $file) { + $totalsize += $file['size']; + } + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + print '
    '; + + print '
    '; + print ''; + + // Number of files + print ''; + + // Total size + print ''; + + print '
    '.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
    '.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
    '; + + print '
    '; + + print dol_get_fiche_end(); + + $modulepart = 'hrm'; + //$permissiontoadd = $user->rights->hrm->job->write; + //$permtoedit = $user->rights->hrm->job->write; + $permtoedit = $permissiontoadd; + $param = '&id='.$object->id; + + //$relativepathwithnofile='job/' . dol_sanitizeFileName($object->id).'/'; + $relativepathwithnofile = 'job/'.dol_sanitizeFileName($object->ref).'/'; + + include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; +} else { + accessforbidden('', 0, 1); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/job_list.php b/htdocs/hrm/job_list.php new file mode 100644 index 00000000000..0c169616f5a --- /dev/null +++ b/htdocs/hrm/job_list.php @@ -0,0 +1,733 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file job_list.php + * \ingroup hrm + * \brief List page for job + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +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/company.lib.php'; + +// load hrm libraries +require_once __DIR__.'/class/job.class.php'; + +// for other modules +//dol_include_once('/othermodule/class/otherobject.class.php'); + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) +$show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? +$confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation +$cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button +$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'joblist'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + +$id = GETPOST('id', 'int'); + +// Load variable for pagination +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST('sortfield', 'aZ09comma'); +$sortorder = GETPOST('sortorder', 'aZ09comma'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters + $page = 0; +} +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +// Initialize technical objects +$object = new Job($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('joblist')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); +//$extrafields->fetch_name_optionals_label($object->table_element_line); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Default sort order (if not yet defined by previous GETPOST) +if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. + $sortfield = "t.".key($object->fields); // Set here default search field. By default 1st field in definition. +} +if (!$sortorder) { + $sortorder = "ASC"; +} + +// Initialize array of search criterias +$search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_'.$key, 'alpha') !== '') { + $search[$key] = GETPOST('search_'.$key, 'alpha'); + } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } +} + +// List of fields to search into when doing a "search in all" +$fieldstosearchall = array(); +foreach ($object->fields as $key => $val) { + if (!empty($val['searchall'])) { + $fieldstosearchall['t.'.$key] = $val['label']; + } +} + +// Definition of array of fields for columns +$arrayfields = array(); +foreach ($object->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + +$object->fields = dol_sort_array($object->fields, 'position'); +$arrayfields = dol_sort_array($arrayfields, 'position'); + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; +$permissiontodelete = $user->rights->hrm->all->delete; + +// Security check +if (empty($conf->hrm->enabled)) { + accessforbidden('Module not enabled'); +} + +// Security check (enable the most restrictive one) +if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) accessforbidden(); +//$socid = 0; if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + + +/* + * Actions + */ + +if (GETPOST('cancel', 'alpha')) { + $action = 'list'; + $massaction = ''; +} +if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { + $massaction = ''; +} + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Selection of new fields + include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + foreach ($object->fields as $key => $val) { + $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } + } + $toselect = array(); + $search_array_options = array(); + } + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') + || GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) { + $massaction = ''; // Protection to avoid mass action if we force a new search during a mass action confirmation + } + + // Mass actions + $objectclass = 'Job'; + $objectlabel = 'Job'; + $uploaddir = $conf->hrm->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; +} + + + +/* + * View + */ + +$form = new Form($db); + +$now = dol_now(); + +//$help_url="EN:Module_Job|FR:Module_Job_FR|ES:Módulo_Job"; +$help_url = ''; +$title = $langs->trans("ListOf", $langs->transnoentities('Jobs')); +$morejs = array(); +$morecss = array(); + + +// Build and execute select +// -------------------------------------------------------------------- +$sql = 'SELECT '; +$sql .= $object->getFieldList('t'); +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key.', ' : ''); + } +} +// Add fields from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= preg_replace('/^,/', '', $hookmanager->resPrint); +$sql = preg_replace('/,\s*$/', '', $sql); +$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; +} +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +if ($object->ismultientitymanaged == 1) { + $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; +} else { + $sql .= " WHERE 1 = 1"; +} +foreach ($search as $key => $val) { + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } + } + } +} +if ($search_all) { + $sql .= natural_search(array_keys($fieldstosearchall), $search_all); +} +//$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); +// Add where from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; + +/* If a group by is required +$sql .= " GROUP BY "; +foreach($object->fields as $key => $val) { + $sql .= "t.".$key.", "; +} +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } +} +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +$sql = preg_replace('/,\s*$/', '', $sql); +*/ + +$sql .= $db->order($sortfield, $sortorder); + +// Count total nb of records +$nbtotalofrecords = ''; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 + $page = 0; + $offset = 0; + } +} +// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. +if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { + $num = $nbtotalofrecords; +} else { + if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); + } + + $resql = $db->query($sql); + if (!$resql) { + dol_print_error($db); + exit; + } + + $num = $db->num_rows($resql); +} + +// Direct jump if only one record found +if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".dol_buildpath('/hrm/job_card.php', 1).'?id='.$id); + exit; +} + + +// Output page +// -------------------------------------------------------------------- + +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); + +// Example : Adding jquery code +// print ''; + +$arrayofselected = is_array($toselect) ? $toselect : array(); + +$param = ''; +if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); +} +if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); +} +foreach ($search as $key => $val) { + if (is_array($search[$key]) && count($search[$key])) { + foreach ($search[$key] as $skey) { + $param .= '&search_'.$key.'[]='.urlencode($skey); + } + } else { + $param .= '&search_'.$key.'='.urlencode($search[$key]); + } +} +if ($optioncss != '') { + $param .= '&optioncss='.urlencode($optioncss); +} +// Add $param from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; + +// List of mass actions available +$arrayofmassactions = array( + //'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), + //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), +); +if ($permissiontodelete) { + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +} +if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { + $arrayofmassactions = array(); +} +$massactionbutton = $form->selectMassAction('', $arrayofmassactions); + +print '
    '."\n"; +if ($optioncss != '') { + print ''; +} +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/hrm/job_card.php', 1).'?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); + +// Add code for pre mass action (confirmation or email presend form) +$topicmail = "SendJobRef"; +$modelmail = "job"; +$objecttmp = new Job($db); +$trackid = 'xxxx'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + +if ($search_all) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
    '.$langs->trans("FilterOnInto", $search_all).join(', ', $fieldstosearchall).'
    '; +} + +$moreforfilter = ''; +/*$moreforfilter.='
    '; +$moreforfilter.= $langs->trans('MyFilter') . ': '; +$moreforfilter.= '
    ';*/ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +if (empty($reshook)) { + $moreforfilter .= $hookmanager->resPrint; +} else { + $moreforfilter = $hookmanager->resPrint; +} + +if (!empty($moreforfilter)) { + print '
    '; + print $moreforfilter; + print '
    '; +} + +$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; +$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); + +print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table +print ''."\n"; + + +// Fields title search +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print ''; +print ''."\n"; + + +// Fields title label +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''))."\n"; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n"; +print ''."\n"; + + +// Detect if we need a fetch on each output line +$needToFetchEachLine = 0; +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { + foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { + if (preg_match('/\$object/', $val)) { + $needToFetchEachLine++; // There is at least one compute field that use $object + } + } +} + + +// Loop on record +// -------------------------------------------------------------------- +$i = 0; +$totalarray = array(); +$totalarray['nbfield'] = 0; +while ($i < ($limit ? min($num, $limit) : $num)) { + $obj = $db->fetch_object($resql); + if (empty($obj)) { + break; // Should not happen + } + + // Store properties in $object + $object->setVarsFromFetchObj($obj); + + // Show here line of result + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } + + if (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif ($key == 'ref') { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } + + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; + + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + if ($key == 'status') { + print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); + } elseif ($key == 'label') { + print $object->getNomUrl(1); + } else { + print $object->showOutputField($val, $key, $object->$key, ''); + } + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { + if (!$i) { + $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; + } + if (!isset($totalarray['val'])) { + $totalarray['val'] = array(); + } + if (!isset($totalarray['val']['t.'.$key])) { + $totalarray['val']['t.'.$key] = 0; + } + $totalarray['val']['t.'.$key] += $object->$key; + } + } + } + // Extra fields + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; + // Fields from hook + $parameters = array('arrayfields'=>$arrayfields, 'object'=>$object, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + + print ''."\n"; + + $i++; +} + +// Show total line +include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php'; + +// If no record found +if ($num == 0) { + $colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { + $colspan++; + } + } + print ''; +} + + +$db->free($resql); + +$parameters = array('arrayfields'=>$arrayfields, 'sql'=>$sql); +$reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +print '
    '; + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + } + print '
    '; +$searchpicto = $form->showFilterButtons(); +print $searchpicto; +print '
    '; + 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($object->id, $arrayofselected)) { + $selected = 1; + } + print ''; + } + print '
    '.$langs->trans("NoRecordFound").'
    '."\n"; +print '
    '."\n"; + +print '
    '."\n"; + +if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { + $hidegeneratedfilelistifempty = 1; + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { + $hidegeneratedfilelistifempty = 0; + } + + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + $formfile = new FormFile($db); + + // Show list of available documents + $urlsource = $_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource .= str_replace('&', '&', $param); + + $filedir = $diroutputmassaction; + $genallowed = $permissiontoread; + $delallowed = $permissiontoadd; + + print $formfile->showdocuments('massfilesarea_hrm', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/job_note.php b/htdocs/hrm/job_note.php new file mode 100644 index 00000000000..85a1cd1dc84 --- /dev/null +++ b/htdocs/hrm/job_note.php @@ -0,0 +1,175 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file job_note.php + * \ingroup hrm + * \brief Tab for notes on Job + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +// Initialize technical objects +$object = new Job($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('jobnote', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissionnote = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} + + +/* + * View + */ + +$form = new Form($db); + +//$help_url='EN:Customers_Orders|FR:Commandes_Clients|ES:Pedidos de clientes'; +$help_url = ''; +llxHeader('', $langs->trans('Job'), $help_url); + +if ($id > 0 || !empty($ref)) { + $object->fetch_thirdparty(); + + $head = jobPrepareHead($object); + + print dol_get_fiche_head($head, 'note', $langs->trans("Notes"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + + + $cssclass = "titlefield"; + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/lib/hrm.lib.php b/htdocs/hrm/lib/hrm.lib.php new file mode 100644 index 00000000000..e875f61b9e4 --- /dev/null +++ b/htdocs/hrm/lib/hrm.lib.php @@ -0,0 +1,76 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file hrm/lib/hrm.lib.php + * \ingroup hr + * \brief Library files with common functions for Workstation + */ + +/** + * Prepare admin pages header + * + * @return array + */ +function hrmAdminPrepareHead() +{ + global $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + $head[$h][0] = DOL_URL_ROOT . "/admin/hrm.php"; + $head[$h][1] = $langs->trans("Settings"); + $head[$h][2] = 'settings'; + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/hrm/admin/admin_establishment.php'; + $head[$h][1] = $langs->trans("Establishments"); + $head[$h][2] = 'establishments'; + $h++; + + /* + $head[$h][0] = dol_buildpath("/workstation/admin/myobject_extrafields.php", 1); + $head[$h][1] = $langs->trans("ExtraFields"); + $head[$h][2] = 'myobject_extrafields'; + $h++; + */ + + /*$head[$h][0] = require_once "/admin/about.php"; + $head[$h][1] = $langs->trans("About"); + $head[$h][2] = 'about'; + $h++;*/ + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@workstation:/workstation/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@workstation:/workstation/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, null, $head, $h, 'hrm_admin'); + + complete_head_from_modules($conf, $langs, null, $head, $h, 'hrm_admin', 'remove'); + + return $head; +} diff --git a/htdocs/hrm/lib/hrm_evaluation.lib.php b/htdocs/hrm/lib/hrm_evaluation.lib.php new file mode 100644 index 00000000000..87e6b80adaa --- /dev/null +++ b/htdocs/hrm/lib/hrm_evaluation.lib.php @@ -0,0 +1,95 @@ + + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file lib/hrm_evaluation.lib.php + * \ingroup hrm + * \brief Library files with common functions for Evaluation + */ + +/** + * Prepare array of tabs for Evaluation + * + * @param Evaluation $object Evaluation + * @return array Array of tabs + */ +function evaluationPrepareHead($object) +{ + global $db, $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + + $head[$h][0] = dol_buildpath("/hrm/evaluation_card.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("EvaluationCard"); + $head[$h][2] = 'card'; + $h++; + + if (isset($object->fields['note_public']) || isset($object->fields['note_private'])) { + $nbNote = 0; + if (!empty($object->note_private)) { + $nbNote++; + } + if (!empty($object->note_public)) { + $nbNote++; + } + $head[$h][0] = dol_buildpath('/hrm/evaluation_note.php', 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) { + $head[$h][1] .= (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ''.$nbNote.'' : ''); + } + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; + $upload_dir = $conf->hrm->dir_output."/evaluation/".dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $nbLinks = Link::count($db, $object->element, $object->id); + $head[$h][0] = dol_buildpath("/hrm/evaluation_document.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles + $nbLinks) > 0) { + $head[$h][1] .= ''.($nbFiles + $nbLinks).''; + } + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/evaluation_agenda.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Events"); + $head[$h][2] = 'agenda'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'evaluation@hrm'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'evaluation@hrm', 'remove'); + + return $head; +} diff --git a/htdocs/hrm/lib/hrm_job.lib.php b/htdocs/hrm/lib/hrm_job.lib.php new file mode 100644 index 00000000000..f465d934b0f --- /dev/null +++ b/htdocs/hrm/lib/hrm_job.lib.php @@ -0,0 +1,106 @@ + + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file lib/hrm_job.lib.php + * \ingroup hrm + * \brief Library files with common functions for Job + */ + +/** + * Prepare array of tabs for Job + * + * @param Job $object Job + * @return array Array of tabs + */ +function jobPrepareHead($object) +{ + global $db, $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + + $head[$h][0] = dol_buildpath("/hrm/job_card.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("JobCard"); + $head[$h][2] = 'job_card'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/skill_tab.php", 1).'?id='.$object->id.'&objecttype=job'; + $head[$h][1] = $langs->trans("RequiredSkills"); + $head[$h][2] = 'skill_tab'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/position.php", 1).'?fk_job='.$object->id; + $head[$h][1] = $langs->trans("EmployeesInThisPosition"); + $head[$h][2] = 'position'; + $h++; + + + if (isset($object->fields['note_public']) || isset($object->fields['note_private'])) { + $nbNote = 0; + if (!empty($object->note_private)) { + $nbNote++; + } + if (!empty($object->note_public)) { + $nbNote++; + } + $head[$h][0] = dol_buildpath('/hrm/job_note.php', 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) { + $head[$h][1] .= (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ''.$nbNote.'' : ''); + } + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; + $upload_dir = $conf->hrm->dir_output."/job/".dol_sanitizeFileName($object->label); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $nbLinks = Link::count($db, $object->element, $object->id); + $head[$h][0] = dol_buildpath("/hrm/job_document.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles + $nbLinks) > 0) { + $head[$h][1] .= ''.($nbFiles + $nbLinks).''; + } + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/job_agenda.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Events"); + $head[$h][2] = 'agenda'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'job@hrm'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'job@hrm', 'remove'); + + return $head; +} diff --git a/htdocs/hrm/lib/hrm_position.lib.php b/htdocs/hrm/lib/hrm_position.lib.php new file mode 100644 index 00000000000..da9a7b3123a --- /dev/null +++ b/htdocs/hrm/lib/hrm_position.lib.php @@ -0,0 +1,96 @@ + + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file lib/hrm_position.lib.php + * \ingroup hrm + * \brief Library files with common functions for Position + */ + + +/** + * Prepare array of tabs for positions + * + * @param Position $object Position + * @return array Array of tabs + */ +function PositionCardPrepareHead($object) +{ + global $db, $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + + $head[$h][0] = dol_buildpath("/hrm/position_card.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("PositionCard"); + $head[$h][2] = 'position'; + $h++; + + if (isset($object->fields['note_public']) || isset($object->fields['note_private'])) { + $nbNote = 0; + if (!empty($object->note_private)) { + $nbNote++; + } + if (!empty($object->note_public)) { + $nbNote++; + } + $head[$h][0] = dol_buildpath('/hrm/position_note.php', 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) { + $head[$h][1] .= (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ''.$nbNote.'' : ''); + } + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; + $upload_dir = $conf->hrm->dir_output."/position/".dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $nbLinks = Link::count($db, $object->element, $object->id); + $head[$h][0] = dol_buildpath("/hrm/position_document.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles + $nbLinks) > 0) { + $head[$h][1] .= ''.($nbFiles + $nbLinks).''; + } + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/position_agenda.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Events"); + $head[$h][2] = 'agenda'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'position@hrm'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'position@hrm', 'remove'); + + return $head; +} diff --git a/htdocs/hrm/lib/hrm_skill.lib.php b/htdocs/hrm/lib/hrm_skill.lib.php new file mode 100644 index 00000000000..c9c83fa6411 --- /dev/null +++ b/htdocs/hrm/lib/hrm_skill.lib.php @@ -0,0 +1,95 @@ + + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file lib/hrm_skill.lib.php + * \ingroup hrm + * \brief Library files with common functions for Skill + */ + +/** + * Prepare array of tabs for Skill + * + * @param Skill $object Skill + * @return array Array of tabs + */ +function skillPrepareHead($object) +{ + global $db, $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + + $head[$h][0] = dol_buildpath("/hrm/skill_card.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("SkillCard"); + $head[$h][2] = 'card'; + $h++; + + if (isset($object->fields['note_public']) || isset($object->fields['note_private'])) { + $nbNote = 0; + if (!empty($object->note_private)) { + $nbNote++; + } + if (!empty($object->note_public)) { + $nbNote++; + } + $head[$h][0] = dol_buildpath('/hrm/skill_note.php', 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) { + $head[$h][1] .= (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ''.$nbNote.'' : ''); + } + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; + $upload_dir = $conf->hrm->dir_output."/skill/".dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $nbLinks = Link::count($db, $object->element, $object->id); + $head[$h][0] = dol_buildpath("/hrm/skill_document.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles + $nbLinks) > 0) { + $head[$h][1] .= ''.($nbFiles + $nbLinks).''; + } + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/skill_agenda.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Events"); + $head[$h][2] = 'agenda'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'skill@hrm'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'skill@hrm', 'remove'); + + return $head; +} diff --git a/htdocs/hrm/lib/hrm_skilldet.lib.php b/htdocs/hrm/lib/hrm_skilldet.lib.php new file mode 100644 index 00000000000..df7e1af45fc --- /dev/null +++ b/htdocs/hrm/lib/hrm_skilldet.lib.php @@ -0,0 +1,95 @@ + + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file lib/hrm_skilldet.lib.php + * \ingroup hrm + * \brief Library files with common functions for Skilldet + */ + +/** + * Prepare array of tabs for Skilldet + * + * @param Skilldet $object Skilldet + * @return array Array of tabs + */ +function skilldetPrepareHead($object) +{ + global $db, $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + + $head[$h][0] = dol_buildpath("/hrm/skilldet_card.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Card"); + $head[$h][2] = 'card'; + $h++; + + if (isset($object->fields['note_public']) || isset($object->fields['note_private'])) { + $nbNote = 0; + if (!empty($object->note_private)) { + $nbNote++; + } + if (!empty($object->note_public)) { + $nbNote++; + } + $head[$h][0] = dol_buildpath('/hrm/skilldet_note.php', 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) { + $head[$h][1] .= (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ''.$nbNote.'' : ''); + } + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; + $upload_dir = $conf->hrm->dir_output."/skilldet/".dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $nbLinks = Link::count($db, $object->element, $object->id); + $head[$h][0] = dol_buildpath("/hrm/skilldet_document.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles + $nbLinks) > 0) { + $head[$h][1] .= ''.($nbFiles + $nbLinks).''; + } + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/skilldet_agenda.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Events"); + $head[$h][2] = 'agenda'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'skilldet@hrm'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'skilldet@hrm', 'remove'); + + return $head; +} diff --git a/htdocs/hrm/lib/hrm_skillrank.lib.php b/htdocs/hrm/lib/hrm_skillrank.lib.php new file mode 100644 index 00000000000..2aca41504ad --- /dev/null +++ b/htdocs/hrm/lib/hrm_skillrank.lib.php @@ -0,0 +1,159 @@ + + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file lib/hrm_skillrank.lib.php + * \ingroup hrm + * \brief Library files with common functions for SkillRank + */ + +/** + * Prepare array of tabs for SkillRank + * + * @param SkillRank $object SkillRank + * @return array Array of tabs + */ +function skillrankPrepareHead($object) +{ + global $db, $langs, $conf; + + $langs->load("hrm"); + + $h = 0; + $head = array(); + + $head[$h][0] = dol_buildpath("/hrm/skillrank_card.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Card"); + $head[$h][2] = 'card'; + $h++; + + if (isset($object->fields['note_public']) || isset($object->fields['note_private'])) { + $nbNote = 0; + if (!empty($object->note_private)) { + $nbNote++; + } + if (!empty($object->note_public)) { + $nbNote++; + } + $head[$h][0] = dol_buildpath('/hrm/skillrank_note.php', 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) { + $head[$h][1] .= (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? ''.$nbNote.'' : ''); + } + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; + $upload_dir = $conf->hrm->dir_output."/skillrank/".dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $nbLinks = Link::count($db, $object->element, $object->id); + $head[$h][0] = dol_buildpath("/hrm/skillrank_document.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles + $nbLinks) > 0) { + $head[$h][1] .= ''.($nbFiles + $nbLinks).''; + } + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = dol_buildpath("/hrm/skillrank_agenda.php", 1).'?id='.$object->id; + $head[$h][1] = $langs->trans("Events"); + $head[$h][2] = 'agenda'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + //$this->tabs = array( + // 'entity:+tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to add new tab + //$this->tabs = array( + // 'entity:-tabname:Title:@hrm:/hrm/mypage.php?id=__ID__' + //); // to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'skillrank@hrm'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'skillrank@hrm', 'remove'); + + return $head; +} + +/** + * Used to print ranks of a skill into several case, view or edit pour js necessary to select a rank + * + * @param int $selected_rank rank we want to preselect + * @param int $fk_skill id of skill we display ranks + * @param string $inputname html name of input + * @param string $mode view or edit + * + * @return string string result + */ +function displayRankInfos($selected_rank, $fk_skill, $inputname = 'TNote', $mode = 'view') +{ + global $db, $conf, $langs; + + require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; + require_once DOL_DOCUMENT_ROOT . '/hrm/class/skilldet.class.php'; + + // On charge les différentes notes possibles pour la compétence $fk_skill + $skilldet = new Skilldet($db); + $Lines = $skilldet->fetchAll('ASC', 'rank', 0, 0, array('customsql'=>'fk_skill = '.$fk_skill)); + + if (empty($Lines)) return $langs->trans('SkillHasNoLines'); + + $ret = '0'; + + foreach ($Lines as $line) { + $MaxNumberSkill = isset($conf->global->HRM_MAXRANK) ? $conf->global->HRM_MAXRANK : Skill::DEFAULT_MAX_RANK_PER_SKILL; + if ($line->rank > $MaxNumberSkill) { + continue; + } + + $ret.= ''.$line->rank.''; + } + + if ($mode == 'edit') { + $ret.= ' + + '; + } + + return $ret; +} diff --git a/htdocs/hrm/modulebuilder.txt b/htdocs/hrm/modulebuilder.txt new file mode 100644 index 00000000000..670a1774929 --- /dev/null +++ b/htdocs/hrm/modulebuilder.txt @@ -0,0 +1,3 @@ +# DO NOT DELETE THIS FILE MANUALLY +# File to flag module built using official module template. +# When this file is present into a module directory, you can edit it with the module builder tool. \ No newline at end of file diff --git a/htdocs/hrm/position.php b/htdocs/hrm/position.php new file mode 100644 index 00000000000..208a397f135 --- /dev/null +++ b/htdocs/hrm/position.php @@ -0,0 +1,948 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position.php + * \ingroup hrm + * \brief Page to create/edit/view position + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; +$tmp2 = realpath(__FILE__); +$i = strlen($tmp) - 1; +$j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; + $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_position.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + +$action = GETPOST('action', 'aZ09') ? GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); +$fk_job = GETPOST('fk_job', 'int'); + +// Get parameters +$id = GETPOST('fk_job', 'int'); +$fk_job = GETPOST('fk_job', 'int'); +$fk_user = GETPOST('fk_user', 'int'); +//$start_date = date('Y-m-d', GETPOST('date_startyear', 'int').'-'.GETPOST('date_startmonth', 'int').'-'.GETPOST('date_startday', 'int')); +$start_date = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int')); + +$ref = GETPOST('ref', 'alpha'); +$confirm = GETPOST('confirm', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'positioncard'; // To manage different context of search + +// Initialize technical objects +$object = new Job($db); + +$extrafields = new ExtraFields($db); + +$diroutputmassaction = $conf->hrm->dir_output . '/temp/massgeneration/' . $user->id; +$hookmanager->initHooks(array('positiontab', 'globalcard')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Initialize array of search criterias +$search_all = GETPOST("search_all", 'alpha'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_' . $key, 'alpha')) { + $search[$key] = GETPOST('search_' . $key, 'alpha'); + } +} + +// Load object +include DOL_DOCUMENT_ROOT . '/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$permissiontodelete = $user->rights->hrm->all->delete; +$upload_dir = $conf->hrm->multidir_output[isset($object->entity) ? $object->entity : 1] . '/position'; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + $error = 0; + + $backurlforlist = dol_buildpath('/hrm/position_list.php', 1); + //$backtopage = dol_buildpath('/hrm/position.php', 1) . '?fk_job=' . ($fk_job > 0 ? $fk_job : '__ID__'); + + if (empty($backtopage) || ($cancel && empty($fk_job))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($fk_job) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + if ($fk_job > 0) { + $backtopage = dol_buildpath('/hrm/position.php', 1) . '?fk_job=' . ($fk_job > 0 ? $fk_job : '__ID__'); + } else { + $backtopage = dol_buildpath('/hrm/position_card.php', 1) . '?id=__ID__'; + } + } + } + } + + $triggermodname = 'hrm_POSITION_MODIFY'; // Name of trigger action code to execute when we modify record + + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + $job = $object; + $object = new Position($db); + include DOL_DOCUMENT_ROOT . '/core/actions_addupdatedelete.inc.php'; +} + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other", 'products')); + +$title = $langs->trans("Position"); +$help_url = ''; +llxHeader('', $title, $help_url); + +if ($job->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { + DisplayJob($job); + DisplayPositionList(); +} + + +/** + * Show the top of the page including informations of a job + * + * @param Job $object Job object + * + * @return void + */ +function DisplayJob($object) +{ + global $conf, $langs, $db, $extrafields, $hookmanager, $action, $backtopage, $backtopageforcancel, $permissiontoadd; + + /* + * View + * + * Put here all code to build page + */ + + $form = new Form($db); + $formfile = new FormFile($db); + $formproject = new FormProjets($db); + + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + // Part to show record + + $res = $object->fetch_optionals(); + + $head = jobPrepareHead($object); + print dol_get_fiche_head($head, 'position', $langs->trans("Workstation"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = '' . $langs->trans("BackToList") . ''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'fk_job', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + print '
    '; + print '' . "\n"; + + // Common attributes + //$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just before this field + //unset($object->fields['fk_project']); // Hide field already shown in banner + //unset($object->fields['fk_soc']); // Hide field already shown in banner + $object->fields['label']['visible']=0; // Already in banner + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_view.tpl.php'; + + // Other attributes. Fields from hook formObjectOptions and Extrafields. + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; + + print '
    '; + print '
    '; + print '
    '; + + print '
    '; + + print dol_get_fiche_end(); +} + + +/** + * Show a list of positions for the current job + * + * @return void + */ +function DisplayPositionList() +{ + global $user, $langs, $db, $conf, $extrafields, $hookmanager, $permissiontoadd, $permissiontodelete; + + 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/company.lib.php'; + + // load hrm libraries + require_once __DIR__ . '/class/position.class.php'; + + // for other modules + //dol_include_once('/othermodule/class/otherobject.class.php'); + + $action = GETPOST('action', 'aZ09') ? GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... + $massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) + $show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? + $confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation + $cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button + $toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list + $contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'positionlist'; // To manage different context of search + $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + $id = GETPOST('id', 'int'); + $fk_job = GETPOST('fk_job', 'int'); + + // Load variable for pagination + $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; + $sortfield = GETPOST('sortfield', 'aZ09comma'); + $sortorder = GETPOST('sortorder', 'aZ09comma'); + $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); + if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters + $page = 0; + } + $offset = $limit * $page; + $pageprev = $page - 1; + $pagenext = $page + 1; + + // Initialize technical objects + $object = new Position($db); + + $extrafields = new ExtraFields($db); + $diroutputmassaction = $conf->hrm->dir_output . '/temp/massgeneration/' . $user->id; + $hookmanager->initHooks(array('positiontablist')); // Note that conf->hooks_modules contains array + + // Fetch optionals attributes and labels + $extrafields->fetch_name_optionals_label($object->table_element); + //$extrafields->fetch_name_optionals_label($object->table_element_line); + + $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + + // Default sort order (if not yet defined by previous GETPOST) + if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. + $sortfield = "t." . key($object->fields); // Set here default search field. By default 1st field in definition. + } + if (!$sortorder) { + $sortorder = "ASC"; + } + + // Initialize array of search criterias + $search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); + $search = array(); + foreach ($object->fields as $key => $val) { + if (GETPOST('search_' . $key, 'alpha') !== '') { + $search[$key] = GETPOST('search_' . $key, 'alpha'); + } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key . '_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_' . $key . '_dtstartmonth', 'int'), GETPOST('search_' . $key . '_dtstartday', 'int'), GETPOST('search_' . $key . '_dtstartyear', 'int')); + $search[$key . '_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_' . $key . '_dtendmonth', 'int'), GETPOST('search_' . $key . '_dtendday', 'int'), GETPOST('search_' . $key . '_dtendyear', 'int')); + } + } + + // List of fields to search into when doing a "search in all" + $fieldstosearchall = array(); + foreach ($object->fields as $key => $val) { + if (!empty($val['searchall'])) { + $fieldstosearchall['t.' . $key] = $val['label']; + } + } + + // Definition of array of fields for columns + $arrayfields = array(); + foreach ($object->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.' . $key] = array( + 'label' => $val['label'], + 'checked' => (($visible < 0) ? 0 : 1), + 'enabled' => ($visible != 3 && dol_eval($val['enabled'], 1)), + 'position' => $val['position'], + 'help' => isset($val['help']) ? $val['help'] : '' + ); + } + } + // Extra fields + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_array_fields.tpl.php'; + + $object->fields = dol_sort_array($object->fields, 'position'); + $arrayfields = dol_sort_array($arrayfields, 'position'); + + // Security check + if (empty($conf->hrm->enabled)) { + accessforbidden('Module not enabled'); + } + + // Security check (enable the most restrictive one) + if ($user->socid > 0) accessforbidden(); + //if ($user->socid > 0) accessforbidden(); + //$socid = 0; if ($user->socid > 0) $socid = $user->socid; + //$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); + //restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); + //if (empty($conf->hrm->enabled)) accessforbidden(); + //if (!$permissiontoread) accessforbidden(); + + + /* + * Actions + */ + + if (GETPOST('cancel', 'alpha')) { + $action = 'list'; + $massaction = ''; + } + if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { + $massaction = ''; + } + + $parameters = array(); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + } + + if (empty($reshook)) { + // Selection of new fields + include DOL_DOCUMENT_ROOT . '/core/actions_changeselectedfields.inc.php'; + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + foreach ($object->fields as $key => $val) { + $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key . '_dtstart'] = ''; + $search[$key . '_dtend'] = ''; + } + } + $toselect = array(); + $search_array_options = array(); + } + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') + || GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) { + $massaction = ''; // Protection to avoid mass action if we force a new search during a mass action confirmation + } + + // Mass actions + $objectclass = 'Position'; + $objectlabel = 'Position'; + $uploaddir = $conf->hrm->dir_output; + include DOL_DOCUMENT_ROOT . '/core/actions_massactions.inc.php'; + } + + + /* + * View + */ + + $form = new Form($db); + + $now = dol_now(); + + //$help_url="EN:Module_Position|FR:Module_Position_FR|ES:Módulo_Position"; + $help_url = ''; + $title = $langs->trans('ListOf', $langs->transnoentitiesnoconv("Positions")); + $morejs = array(); + $morecss = array(); + + + // Build and execute select + // -------------------------------------------------------------------- + $sql = 'SELECT '; + $sql .= $object->getFieldList('t'); + // Add fields from extrafields + if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef." . $key . " as options_" . $key . ', ' : ''); + } + } + // Add fields from hooks + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook + $sql .= preg_replace('/^,/', '', $hookmanager->resPrint); + $sql = preg_replace('/,\s*$/', '', $sql); + $sql .= " FROM " . MAIN_DB_PREFIX . $object->table_element . " as t"; + if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . $object->table_element . "_extrafields as ef on (t.rowid = ef.fk_object)"; + } + // Add table from hooks + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook + $sql .= $hookmanager->resPrint; + if ($object->ismultientitymanaged == 1) { + $sql .= " WHERE t.entity IN (" . getEntity($object->element) . ")"; + } else { + $sql .= " WHERE 1 = 1"; + } + $sql .= " AND t.fk_job = " . ((int) $fk_job) . " "; + + foreach ($search as $key => $val) { + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || $search[$key] === '0') { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } + } + } + } + if ($search_all) { + $sql .= natural_search(array_keys($fieldstosearchall), $search_all); + } + //$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); + // Add where from extra fields + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_sql.tpl.php'; + // Add where from hooks + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $object); // Note that $action and $object may have been modified by hook + $sql .= $hookmanager->resPrint; + + /* If a group by is required + $sql .= " GROUP BY "; + foreach($object->fields as $key => $val) { + $sql .= "t.".$key.", "; + } + // Add fields from extrafields + if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } + } + // Add where from hooks + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook + $sql .= $hookmanager->resPrint; + $sql = preg_replace('/,\s*$/', '', $sql); + */ + + $sql .= $db->order($sortfield, $sortorder); + + // Count total nb of records + $nbtotalofrecords = ''; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 + $page = 0; + $offset = 0; + } + } + // if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. + if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { + $num = $nbtotalofrecords; + } else { + if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); + } + + $resql = $db->query($sql); + if (!$resql) { + dol_print_error($db); + exit; + } + + $num = $db->num_rows($resql); + } + + // Direct jump if only one record found + if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: " . dol_buildpath('/hrm/position.php', 1) . '?id=' . $id); + exit; + } + + $arrayofselected = is_array($toselect) ? $toselect : array(); + + $param = 'fk_job=' . $fk_job; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage=' . urlencode($contextpage); + } + if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit=' . urlencode($limit); + } + foreach ($search as $key => $val) { + if (is_array($search[$key]) && count($search[$key])) { + foreach ($search[$key] as $skey) { + $param .= '&search_' . $key . '[]=' . urlencode($skey); + } + } else { + $param .= '&search_' . $key . '=' . urlencode($search[$key]); + } + } + if ($optioncss != '') { + $param .= '&optioncss=' . urlencode($optioncss); + } + // Add $param from extra fields + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_param.tpl.php'; + // Add $param from hooks + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook + $param .= $hookmanager->resPrint; + + // List of mass actions available + $arrayofmassactions = array( + //'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), + //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), + ); + if ($permissiontodelete) { + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"') . $langs->trans("Delete"); + } + if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { + $arrayofmassactions = array(); + } + $massactionbutton = $form->selectMassAction('', $arrayofmassactions); + + print '
    ' . "\n"; + if ($optioncss != '') { + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/hrm/position.php', 1) . '?action=create&backtopage=' . urlencode($_SERVER['PHP_SELF'].'?fk_job=' . $fk_job).'&fk_job=' . $fk_job, '', $permissiontoadd); + + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_' . $object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); + + // Add code for pre mass action (confirmation or email presend form) + $topicmail = "SendPositionRef"; + $modelmail = "position"; + $objecttmp = new Position($db); + $trackid = 'xxxx' . $object->id; + include DOL_DOCUMENT_ROOT . '/core/tpl/massactions_pre.tpl.php'; + + if ($search_all) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
    ' . $langs->trans("FilterOnInto", $search_all) . join(', ', $fieldstosearchall) . '
    '; + } + + $moreforfilter = ''; + /*$moreforfilter.='
    '; + $moreforfilter.= $langs->trans('MyFilter') . ': '; + $moreforfilter.= '
    ';*/ + + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { + $moreforfilter .= $hookmanager->resPrint; + } else { + $moreforfilter = $hookmanager->resPrint; + } + + if (!empty($moreforfilter)) { + print '
    '; + print $moreforfilter; + print '
    '; + } + + $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; + $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields + $selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); + + print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table + print '' . "\n"; + + + // Fields title search + // -------------------------------------------------------------------- + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'right'; + } + if (!empty($arrayfields['t.' . $key]['checked'])) { + print ''; + } + } + // Extra fields + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_input.tpl.php'; + + // Fields from hook + $parameters = array('arrayfields' => $arrayfields); + $reshook = $hookmanager->executeHooks('printFieldListOption', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + print '' . "\n"; + + + // Fields title label + // -------------------------------------------------------------------- + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'right'; + } + if (!empty($arrayfields['t.' . $key]['checked'])) { + print getTitleFieldOfList($arrayfields['t.' . $key]['label'], 0, $_SERVER['PHP_SELF'], 't.' . $key, '', $param, ($cssforfield ? 'class="' . $cssforfield . '"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield . ' ' : '')) . "\n"; + } + } + // Extra fields + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_title.tpl.php'; + // Hook fields + $parameters = array('arrayfields' => $arrayfields, 'param' => $param, 'sortfield' => $sortfield, 'sortorder' => $sortorder); + $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ') . "\n"; + print '' . "\n"; + + // Detect if we need a fetch on each output line + $needToFetchEachLine = 0; + if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { + foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { + if (preg_match('/\$object/', $val)) { + $needToFetchEachLine++; // There is at least one compute field that use $object + } + } + } + + + // Loop on record + // -------------------------------------------------------------------- + $i = 0; + $totalarray = array(); + $totalarray['nbfield'] = 0; + while ($i < ($limit ? min($num, $limit) : $num)) { + $obj = $db->fetch_object($resql); + if (empty($obj)) { + break; // Should not happen + } + + // Store properties in $object + $object->setVarsFromFetchObj($obj); + + // Show here line of result + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + } elseif ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + } + + if (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + } elseif ($key == 'ref') { + $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + } + + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '') . 'right'; + } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; + + if (!empty($arrayfields['t.' . $key]['checked'])) { + print ''; + if ($key == 'status') { + print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->getNomUrl(1); + } else { + print $object->showOutputField($val, $key, $object->$key, ''); + } + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { + if (!$i) { + $totalarray['pos'][$totalarray['nbfield']] = 't.' . $key; + } + if (!isset($totalarray['val'])) { + $totalarray['val'] = array(); + } + if (!isset($totalarray['val']['t.' . $key])) { + $totalarray['val']['t.' . $key] = 0; + } + $totalarray['val']['t.' . $key] += $object->$key; + } + } + } + // Extra fields + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_print_fields.tpl.php'; + // Fields from hook + $parameters = array('arrayfields' => $arrayfields, 'object' => $object, 'obj' => $obj, 'i' => $i, 'totalarray' => &$totalarray); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + + print '' . "\n"; + + $i++; + } + + // Show total line + include DOL_DOCUMENT_ROOT . '/core/tpl/list_print_total.tpl.php'; + + // If no record found + if ($num == 0) { + $colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { + $colspan++; + } + } + print ''; + } + + + $db->free($resql); + + $parameters = array('arrayfields' => $arrayfields, 'sql' => $sql); + $reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + print '
    '; + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + print $form->selectarray('search_' . $key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key . '_dtstart'] ? $search[$key . '_dtstart'] : '', "search_" . $key . "_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key . '_dtend'] ? $search[$key . '_dtend'] : '', "search_" . $key . "_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + } + print '
    '; + $searchpicto = $form->showFilterButtons(); + print $searchpicto; + print '
    '; + 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($object->id, $arrayofselected)) { + $selected = 1; + } + print ''; + } + print '
    ' . $langs->trans("NoRecordFound") . '
    ' . "\n"; + print '
    ' . "\n"; + + print '
    ' . "\n"; + + if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { + $hidegeneratedfilelistifempty = 1; + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { + $hidegeneratedfilelistifempty = 0; + } + + require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; + $formfile = new FormFile($db); + + // Show list of available documents + $urlsource = $_SERVER['PHP_SELF'] . '?sortfield=' . $sortfield . '&sortorder=' . $sortorder; + $urlsource .= str_replace('&', '&', $param); + + $filedir = $diroutputmassaction; + $genallowed = $permissiontoread; + $delallowed = $permissiontoadd; + + print $formfile->showdocuments('massfilesarea_hrm', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); + } +} + +// Part to create +if ($action == 'create') { + $object = new Position($db); + print load_fiche_titre($langs->trans("NewObject", $langs->transnoentitiesnoconv("Position")), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + if ($backtopage) { + print ''; + } + + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(array(), ''); + + // Set some default values + //if (! GETPOSTISSET('fieldname')) $_POST['fieldname'] = 'myvalue'; + + print '' . "\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_add.tpl.php'; + + // Other attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_add.tpl.php'; + + print '
    ' . "\n"; + + print dol_get_fiche_end(); + + print '
    '; + + print ''; + print '  '; + print ''; // Cancel for create does not post form if we don't know the backtopage + print '
    '; + + print '
    '; + + //dol_set_focus('input[name="ref"]'); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/position_agenda.php b/htdocs/hrm/position_agenda.php new file mode 100644 index 00000000000..670ec51304b --- /dev/null +++ b/htdocs/hrm/position_agenda.php @@ -0,0 +1,282 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position_agenda.php + * \ingroup hrm + * \brief Tab of events on Position + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT.'/hrm/lib/hrm_position.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; + + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +if (GETPOST('actioncode', 'array')) { + $actioncode = GETPOST('actioncode', 'array', 3); + if (!count($actioncode)) { + $actioncode = '0'; + } +} else { + $actioncode = GETPOST("actioncode", "alpha", 3) ? GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); +} +$search_agenda_label = GETPOST('search_agenda_label'); + +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortfield) { + $sortfield = 'a.datep,a.id'; +} +if (!$sortorder) { + $sortorder = 'DESC,DESC'; +} + +// Initialize technical objects +$object = new Position($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('positionagenda', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array('id'=>$id); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Cancel + if (GETPOST('cancel', 'alpha') && !empty($backtopage)) { + header("Location: ".$backtopage); + exit; + } + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + $actioncode = ''; + $search_agenda_label = ''; + } +} + + + +/* + * View + */ + +$form = new Form($db); + +if ($object->id > 0) { + $title = $langs->trans("Agenda"); + //if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$title; + $help_url = 'EN:Module_Agenda_En'; + llxHeader('', $title, $help_url); + + if (!empty($conf->notification->enabled)) { + $langs->load("mails"); + } + $head = PositionCardPrepareHead($object); + + + print dol_get_fiche_head($head, 'agenda', $langs->trans("Agenda"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= $langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + print '
    '; + print '
    '; + + $object->info($object->id); + dol_print_object_info($object, 1); + + print '
    '; + + print dol_get_fiche_end(); + + + + // Actions buttons + + $objthirdparty = $object; + $objcon = new stdClass(); + + $out = '&origin='.urlencode($object->element.'@'.$object->module).'&originid='.urlencode($object->id); + $urlbacktopage = $_SERVER['PHP_SELF'].'?id='.$object->id; + $out .= '&backtopage='.urlencode($urlbacktopage); + $permok = $user->rights->agenda->myactions->create; + if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) { + //$out.='trans("AddAnAction"),'filenew'); + //$out.=""; + } + + + print '
    '; + + if (!empty($conf->agenda->enabled)) { + if (!empty($user->rights->agenda->myactions->create) || !empty($user->rights->agenda->allactions->create)) { + print ''.$langs->trans("AddAction").''; + } else { + print ''.$langs->trans("AddAction").''; + } + } + + print '
    '; + + if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) { + $param = '&id='.$object->id.'&socid='.$socid; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); + } + if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); + } + + + //print load_fiche_titre($langs->trans("ActionsOnPosition"), '', ''); + + // List of all actions + $filters = array(); + $filters['search_agenda_label'] = $search_agenda_label; + $object->fields['label']=array(); // Usefull to get only get agenda events linked to position (this object doesn't need label of ref field, but show_actions_done() needs it to work correctly) + + // TODO Replace this with same code than into list.php + show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder, $object->module); + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/position_card.php b/htdocs/hrm/position_card.php new file mode 100644 index 00000000000..8cb8ba9de8c --- /dev/null +++ b/htdocs/hrm/position_card.php @@ -0,0 +1,446 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position_card.php + * \ingroup hrm + * \brief Page to create/edit/view position + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; +$tmp2 = realpath(__FILE__); +$i = strlen($tmp) - 1; +$j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; + $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_position.lib.php'; +//dol_include_once('/hrm/position.php'); + +$action = GETPOST('action', 'aZ09') ? GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); +$id = GETPOST('id', 'int'); + +// Initialize technical objects +$form = new Form($db); +$object = new Position($db); +$res = $object->fetch($id); +if ($res < 0) { + dol_print_error($db, $object->error); +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$permissiontodelete = $user->rights->hrm->all->delete; +$permissiondellink = $user->rights->hrm->all->write; // Used by the include of actions_dellink.inc.php +$upload_dir = $conf->hrm->multidir_output[isset($object->entity) ? $object->entity : 1] . '/position'; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden(); + +$langs->loadLangs(array("hrm", "other")); + + + +// Get parameters +$id = GETPOST('id', 'int'); +$fk_job = GETPOST('fk_job', 'int'); + +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'positioncard'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); +// $lineid = GETPOST('lineid', 'int'); + +// Initialize technical objects +//$object = new Position($db); +//$res = $object->fetch($id); +/*if ($res < 0) { + dol_print_error($db, &$object->error); +}*/ + +$extrafields = new ExtraFields($db); + +$diroutputmassaction = $conf->hrm->dir_output . '/temp/massgeneration/' . $user->id; +$hookmanager->initHooks(array('positioncard', 'globalcard')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Initialize array of search criterias +$search_all = GETPOST("search_all", 'alpha'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_' . $key, 'alpha')) { + $search[$key] = GETPOST('search_' . $key, 'alpha'); + } +} + +if (empty($action) && empty($id) && empty($ref)) { + $action = 'view'; +} + +// Load object +include DOL_DOCUMENT_ROOT . '/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + + +/* + * Actions + */ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + $error = 0; + + $backurlforlist = dol_buildpath('/hrm/position_list.php', 1); + + if (empty($backtopage) || ($cancel && empty($fk_job))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = dol_buildpath('/hrm/position_card.php', 1) . '?id=' . ($id > 0 ? $id : '__ID__'); + } + } + } + + $triggermodname = 'hrm_POSITION_MODIFY'; // Name of trigger action code to execute when we modify record + + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + include DOL_DOCUMENT_ROOT . '/core/actions_addupdatedelete.inc.php'; + + // Actions when linking object each other + include DOL_DOCUMENT_ROOT . '/core/actions_dellink.inc.php'; + + // Actions when printing a doc from card + include DOL_DOCUMENT_ROOT . '/core/actions_printing.inc.php'; + + // Action to move up and down lines of object + //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; + + // Action to build doc + include DOL_DOCUMENT_ROOT . '/core/actions_builddoc.inc.php'; + + if ($action == 'set_thirdparty' && $permissiontoadd) { + $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname); + } + if ($action == 'classin' && $permissiontoadd) { + $object->setProject(GETPOST('projectid', 'int')); + } + + // Actions to send emails + $triggersendname = 'hrm_POSITION_SENTBYMAIL'; + $autocopy = 'MAIN_MAIL_AUTOCOPY_POSITION_TO'; + $trackid = 'position' . $object->id; + include DOL_DOCUMENT_ROOT . '/core/actions_sendmails.inc.php'; +} + +DisplayPositionCard($object); + +/** + * Show the card of a position + * + * @param Position $object Position object + * + * @return void + */ +function DisplayPositionCard(&$object) +{ + + global $user, $langs, $db, $conf, $extrafields, $hookmanager, $action, $permissiontoadd, $permissiontodelete; + + $id = $object->id; + + /* + * View + * + * Put here all code to build page + */ + + $form = new Form($db); + $formfile = new FormFile($db); + $formproject = new FormProjets($db); + + $title = $langs->trans("Position"); + $help_url = ''; + llxHeader('', $title, $help_url); + + + // Part to edit record + if (($id || $ref) && $action == 'edit') { + print load_fiche_titre($langs->trans("Position"), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + print ''; + + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(); + + print '' . "\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_edit.tpl.php'; + + // Other attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_edit.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); + + print '
    '; + print '   '; + print '
    '; + + print '
    '; + } + + + // Part to show record + if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { + $res = $object->fetch_optionals(); + + + $head = PositionCardPrepareHead($object); + print dol_get_fiche_head($head, 'position', $langs->trans("Workstation"), -1, $object->picto); + + $formconfirm = ''; + + // Confirmation to delete + if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeletePosition'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1); + } + + // Call Hook formConfirm + $parameters = array('formConfirm' => $formconfirm/*, 'lineid' => $lineid*/); + $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { + $formconfirm .= $hookmanager->resPrint; + } elseif ($reshook > 0) { + $formconfirm = $hookmanager->resPrint; + } + + // Print form confirm + print $formconfirm; + + + // Object card + // ------------------------------------------------------------ + // $linkback = '' . $langs->trans("BackToList") . ''; + $linkback = '' . $langs->trans("BackToList") . ''; + + $morehtmlref = '
    '; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= $langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + print '
    '; + print '' . "\n"; + + // Common attributes + //$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just before this field + //unset($object->fields['fk_project']); // Hide field already shown in banner + //unset($object->fields['fk_soc']); // Hide field already shown in banner + $object->fields['fk_user']['visible']=0; // Already in banner + $object->fields['fk_job']['visible']=0; // Already in banner + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_view.tpl.php'; + + // Other attributes. Fields from hook formObjectOptions and Extrafields. + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; + + print '
    '; + print '
    '; + print '
    '; + + print '
    '; + + print dol_get_fiche_end(); + + /* + * Action bar + */ + print '
    '; + + $parameters = array(); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + + + print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=edit&token=' . newToken(), '', $permissiontoadd); + + // Delete (need delete permission, or if draft, just need create/modify permission) + print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=delete&token=' . newToken(), '', $permissiontodelete); + } +} + +//if ($action != 'presend') { +// $formfile = new FormFile($db); +// print '
    '; +// +// if (empty($conf->global->SOCIETE_DISABLE_BUILDDOC)) { +// print ''; // ancre +// +// /* +// * Generated documents +// */ +// $filedir = $conf->societe->multidir_output[$object->entity].'/'.$object->id; +// $urlsource = $_SERVER["PHP_SELF"]."?socid=".$object->id; +// $genallowed = $user->rights->societe->lire; +// $delallowed = $user->rights->societe->creer; +// +// print $formfile->showdocuments('company', $object->id, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 0, 0, 0, 28, 0, 'entity='.$object->entity, 0, '', $object->default_lang); +// } +// +// +// print '
    '; +// +// $MAXEVENT = 10; +// +// $morehtmlright = dolGetButtonTitle($langs->trans('SeeAll'), '', 'fa fa-list-alt imgforviewmode', DOL_URL_ROOT.'/societe/agenda.php?socid='.$object->id); +// +// // List of actions on element +// include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; +// $formactions = new FormActions($db); +// $somethingshown = $formactions->showactions($object, '', $object->id, 1, '', $MAXEVENT, '', $morehtmlright); // Show all action for thirdparty +// +// print '
    '; +//} + + +print '' . "\n"; +print '
    ' . "\n"; + +print '' . "\n"; + + +if ($action !== 'edit' && $action !== 'create') { + print '
    '; + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object, null, array('position')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + + + print '
    '; + + $MAXEVENT = 10; + + $morehtmlright = ''; + $morehtmlright .= $langs->trans("SeeAll"); + $morehtmlright .= ''; + // List of actions on element + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, $object->element . '@' . $object->module, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1, '', $MAXEVENT, '', $morehtmlright); + + print '
    '; +} + + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/position_contact.php b/htdocs/hrm/position_contact.php new file mode 100644 index 00000000000..56a4fc8ff8f --- /dev/null +++ b/htdocs/hrm/position_contact.php @@ -0,0 +1,220 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position_contact.php + * \ingroup hrm + * \brief Tab for contacts linked to Position + */ + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_position.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + +$id = (GETPOST('id') ?GETPOST('id', 'int') : GETPOST('facid', 'int')); // For backward compatibility +$ref = GETPOST('ref', 'alpha'); +$lineid = GETPOST('lineid', 'int'); +$socid = GETPOST('socid', 'int'); +$action = GETPOST('action', 'aZ09'); + +// Initialize technical objects +$object = new Position($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('positioncontact', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +$permission = $user->rights->hrm->position->write; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +//if (empty($conf->hrm->enabled)) accessforbidden(); +//if (!$permissiontoread) accessforbidden(); + + +/* + * Add a new contact + */ + +if ($action == 'addcontact' && $permission) { + $contactid = (GETPOST('userid') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int')); + $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); + $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09')); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors'); + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } +} elseif ($action == 'swapstatut' && $permission) { + // Toggle the status of a contact + $result = $object->swapContactStatus(GETPOST('ligne', 'int')); +} elseif ($action == 'deletecontact' && $permission) { + // Deletes a contact + $result = $object->delete_contact($lineid); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + dol_print_error($db); + } +} + + +/* + * View + */ + +$title = $langs->trans('Position')." - ".$langs->trans('ContactsAddresses'); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +$form = new Form($db); +$formcompany = new FormCompany($db); +$contactstatic = new Contact($db); +$userstatic = new User($db); + + +/* *************************************************************************** */ +/* */ +/* View and edit mode */ +/* */ +/* *************************************************************************** */ + +if ($object->id) { + /* + * Show tabs + */ + $head = PositionCardPrepareHead($object); + + print dol_get_fiche_head($head, 'contact', '', -1, $object->picto); + + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + /* + // Ref customer + $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1); + $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1); + // Thirdparty + $morehtmlref.='
    '.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : ''); + // Project + if (! empty($conf->projet->enabled)) + { + $langs->load("projects"); + $morehtmlref.='
    '.$langs->trans('Project') . ' '; + if ($permissiontoadd) + { + if ($action != 'classify') + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.=' : '; + if ($action == 'classify') { + //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); + $morehtmlref.='
    '; + $morehtmlref.=''; + $morehtmlref.=''; + $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); + $morehtmlref.=''; + $morehtmlref.='
    '; + } else { + $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); + } + } else { + if (! empty($object->fk_project)) { + $proj = new Project($db); + $proj->fetch($object->fk_project); + $morehtmlref .= ': '.$proj->getNomUrl(); + } else { + $morehtmlref .= ''; + } + } + }*/ + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1); + + print dol_get_fiche_end(); + + print '
    '; + + // Contacts lines (modules that overwrite templates must declare this into descriptor) + $dirtpls = array_merge($conf->modules_parts['tpl'], array('/core/tpl')); + foreach ($dirtpls as $reldir) { + $res = @include dol_buildpath($reldir.'/contacts.tpl.php'); + if ($res) { + break; + } + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/position_document.php b/htdocs/hrm/position_document.php new file mode 100644 index 00000000000..1ae41c193ab --- /dev/null +++ b/htdocs/hrm/position_document.php @@ -0,0 +1,223 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position_document.php + * \ingroup hrm + * \brief Tab for documents linked to Position + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_position.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + + +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm'); +$id = (GETPOST('socid', 'int') ? GETPOST('socid', 'int') : GETPOST('id', 'int')); +$ref = GETPOST('ref', 'alpha'); + +// Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortorder) { + $sortorder = "ASC"; +} +if (!$sortfield) { + $sortfield = "name"; +} +//if (! $sortfield) $sortfield="position_name"; + +// Initialize technical objects +$object = new Position($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('positiondocument', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity ? $object->entity : $conf->entity]."/position/".get_exdir(0, 0, 0, 1, $object); +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_linkedfiles.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; + + +/* + * View + */ + +$form = new Form($db); + +$title = $langs->trans("Position").' - '.$langs->trans("Files"); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +if ($object->id) { + /* + * Show tabs + */ + $head = PositionCardPrepareHead($object); + + print dol_get_fiche_head($head, 'document', $langs->trans("Document"), -1, $object->picto); + + + // Build file list + $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1); + $totalsize = 0; + foreach ($filearray as $key => $file) { + $totalsize += $file['size']; + } + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= $langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + print '
    '; + + print '
    '; + print ''; + + // Number of files + print ''; + + // Total size + print ''; + + print '
    '.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
    '.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
    '; + + print '
    '; + + print dol_get_fiche_end(); + + $modulepart = 'hrm'; + $permtoedit = $permissiontoadd; + $param = '&id='.$object->id; + + //$relativepathwithnofile='position/' . dol_sanitizeFileName($object->id).'/'; + $relativepathwithnofile = 'position/'.dol_sanitizeFileName($object->ref).'/'; + + include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; +} else { + accessforbidden('', 0, 1); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/position_list.php b/htdocs/hrm/position_list.php new file mode 100644 index 00000000000..60e69bfac3f --- /dev/null +++ b/htdocs/hrm/position_list.php @@ -0,0 +1,732 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position_list.php + * \ingroup hrm + * \brief List page for position + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +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/company.lib.php'; + +// load hrm libraries +require_once __DIR__.'/class/position.class.php'; + +// for other modules +//dol_include_once('/othermodule/class/otherobject.class.php'); + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) +$show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? +$confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation +$cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button +$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'positionlist'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + +$id = GETPOST('id', 'int'); + +// Load variable for pagination +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST('sortfield', 'aZ09comma'); +$sortorder = GETPOST('sortorder', 'aZ09comma'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters + $page = 0; +} +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +// Initialize technical objects +$object = new Position($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('positionlist')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); +//$extrafields->fetch_name_optionals_label($object->table_element_line); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Default sort order (if not yet defined by previous GETPOST) +if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. + $sortfield = "t.".key($object->fields); // Set here default search field. By default 1st field in definition. +} +if (!$sortorder) { + $sortorder = "ASC"; +} + +// Initialize array of search criterias +$search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_'.$key, 'alpha') !== '') { + $search[$key] = GETPOST('search_'.$key, 'alpha'); + } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } +} + +// List of fields to search into when doing a "search in all" +$fieldstosearchall = array(); +foreach ($object->fields as $key => $val) { + if (!empty($val['searchall'])) { + $fieldstosearchall['t.'.$key] = $val['label']; + } +} + +// Definition of array of fields for columns +$arrayfields = array(); +foreach ($object->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + +$object->fields = dol_sort_array($object->fields, 'position'); +$arrayfields = dol_sort_array($arrayfields, 'position'); + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; +$permissiontodelete = $user->rights->hrm->all->delete; + +// Security check +if (empty($conf->hrm->enabled)) { + accessforbidden('Module not enabled'); +} + +// Security check (enable the most restrictive one) +if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) accessforbidden(); +//$socid = 0; if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + + +/* + * Actions + */ + +if (GETPOST('cancel', 'alpha')) { + $action = 'list'; + $massaction = ''; +} +if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { + $massaction = ''; +} + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Selection of new fields + include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + foreach ($object->fields as $key => $val) { + $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } + } + $toselect = array(); + $search_array_options = array(); + } + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') + || GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) { + $massaction = ''; // Protection to avoid mass action if we force a new search during a mass action confirmation + } + + // Mass actions + $objectclass = 'Position'; + $objectlabel = 'Position'; + $uploaddir = $conf->hrm->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; +} + + + +/* + * View + */ + +$form = new Form($db); + +$now = dol_now(); + +//$help_url="EN:Module_Position|FR:Module_Position_FR|ES:Módulo_Position"; +$help_url = ''; +$title = $langs->trans("ListOf", $langs->trans('Positions')); +$morejs = array(); +$morecss = array(); + + +// Build and execute select +// -------------------------------------------------------------------- +$sql = 'SELECT '; +$sql .= $object->getFieldList('t'); +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key.', ' : ''); + } +} +// Add fields from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= preg_replace('/^,/', '', $hookmanager->resPrint); +$sql = preg_replace('/,\s*$/', '', $sql); +$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; +} +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +if ($object->ismultientitymanaged == 1) { + $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; +} else { + $sql .= " WHERE 1 = 1"; +} +foreach ($search as $key => $val) { + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || $search[$key] === '0') { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } + } + } +} +if ($search_all) { + $sql .= natural_search(array_keys($fieldstosearchall), $search_all); +} +//$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); +// Add where from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; + +/* If a group by is required +$sql .= " GROUP BY "; +foreach($object->fields as $key => $val) { + $sql .= "t.".$key.", "; +} +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } +} +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +$sql = preg_replace('/,\s*$/', '', $sql); +*/ + +$sql .= $db->order($sortfield, $sortorder); + +// Count total nb of records +$nbtotalofrecords = ''; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 + $page = 0; + $offset = 0; + } +} +// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. +if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { + $num = $nbtotalofrecords; +} else { + if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); + } + + $resql = $db->query($sql); + if (!$resql) { + dol_print_error($db); + exit; + } + + $num = $db->num_rows($resql); +} + +// Direct jump if only one record found +if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".dol_buildpath('/hrm/position.php', 1).'?id='.$id); + exit; +} + + +// Output page +// -------------------------------------------------------------------- + +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); + +// Example : Adding jquery code +// print ''; + +$arrayofselected = is_array($toselect) ? $toselect : array(); + +$param = ''; +if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); +} +if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); +} + +foreach ($search as $key => $val) { + if (is_array($search[$key]) && count($search[$key])) { + foreach ($search[$key] as $skey) { + $param .= '&search_'.$key.'[]='.urlencode($skey); + } + } else { + $param .= '&search_'.$key.'='.urlencode($search[$key]); + } +} +if ($optioncss != '') { + $param .= '&optioncss='.urlencode($optioncss); +} +// Add $param from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; + +// List of mass actions available +$arrayofmassactions = array( + //'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), + //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), +); +if ($permissiontodelete) { + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +} +if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { + $arrayofmassactions = array(); +} +$massactionbutton = $form->selectMassAction('', $arrayofmassactions); + +print '
    '."\n"; +if ($optioncss != '') { + print ''; +} +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/hrm/position.php', 1).'?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); + +// Add code for pre mass action (confirmation or email presend form) +$topicmail = "SendPositionRef"; +$modelmail = "position"; +$objecttmp = new Position($db); +$trackid = 'xxxx'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + +if ($search_all) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
    '.$langs->trans("FilterOnInto", $search_all).join(', ', $fieldstosearchall).'
    '; +} + +$moreforfilter = ''; +/*$moreforfilter.='
    '; +$moreforfilter.= $langs->trans('MyFilter') . ': '; +$moreforfilter.= '
    ';*/ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +if (empty($reshook)) { + $moreforfilter .= $hookmanager->resPrint; +} else { + $moreforfilter = $hookmanager->resPrint; +} + +if (!empty($moreforfilter)) { + print '
    '; + print $moreforfilter; + print '
    '; +} + +$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; +$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); + +print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table +print ''."\n"; + + +// Fields title search +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print ''; +print ''."\n"; + + +// Fields title label +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''))."\n"; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n"; +print ''."\n"; + + +// Detect if we need a fetch on each output line +$needToFetchEachLine = 0; +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { + foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { + if (preg_match('/\$object/', $val)) { + $needToFetchEachLine++; // There is at least one compute field that use $object + } + } +} + + +// Loop on record +// -------------------------------------------------------------------- +$i = 0; +$totalarray = array(); +$totalarray['nbfield'] = 0; +while ($i < ($limit ? min($num, $limit) : $num)) { + $obj = $db->fetch_object($resql); + if (empty($obj)) { + break; // Should not happen + } + + // Store properties in $object + $object->setVarsFromFetchObj($obj); + + // Show here line of result + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } + + if (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif ($key == 'ref') { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } + + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; + + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + if ($key == 'status') { + print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->getNomUrl(1); + } else { + print $object->showOutputField($val, $key, $object->$key, ''); + } + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { + if (!$i) { + $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; + } + if (!isset($totalarray['val'])) { + $totalarray['val'] = array(); + } + if (!isset($totalarray['val']['t.'.$key])) { + $totalarray['val']['t.'.$key] = 0; + } + $totalarray['val']['t.'.$key] += $object->$key; + } + } + } + // Extra fields + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; + // Fields from hook + $parameters = array('arrayfields'=>$arrayfields, 'object'=>$object, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + + print ''."\n"; + + $i++; +} + +// Show total line +include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php'; + +// If no record found +if ($num == 0) { + $colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { + $colspan++; + } + } + print ''; +} + + +$db->free($resql); + +$parameters = array('arrayfields'=>$arrayfields, 'sql'=>$sql); +$reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +print '
    '; + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + } + print '
    '; +$searchpicto = $form->showFilterButtons(); +print $searchpicto; +print '
    '; + 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($object->id, $arrayofselected)) { + $selected = 1; + } + print ''; + } + print '
    '.$langs->trans("NoRecordFound").'
    '."\n"; +print '
    '."\n"; + +print '
    '."\n"; + +if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { + $hidegeneratedfilelistifempty = 1; + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { + $hidegeneratedfilelistifempty = 0; + } + + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + $formfile = new FormFile($db); + + // Show list of available documents + $urlsource = $_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource .= str_replace('&', '&', $param); + + $filedir = $diroutputmassaction; + $genallowed = $permissiontoread; + $delallowed = $permissiontoadd; + + print $formfile->showdocuments('massfilesarea_hrm', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/position_note.php b/htdocs/hrm/position_note.php new file mode 100644 index 00000000000..81548761326 --- /dev/null +++ b/htdocs/hrm/position_note.php @@ -0,0 +1,183 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file position_note.php + * \ingroup hrm + * \ingroup hrm + * \brief Tab for notes on Position + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/hrm/class/position.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_position.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php';; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +// Initialize technical objects +$object = new Position($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('positionnote', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissionnote = $user->rights->hrm->all->write; +$permissiontoread = $user->rights->hrm->all->read; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} + + +/* + * View + */ + +$form = new Form($db); + +//$help_url='EN:Customers_Orders|FR:Commandes_Clients|ES:Pedidos de clientes'; +$help_url = ''; +llxHeader('', $langs->trans('Position'), $help_url); + +if ($id > 0 || !empty($ref)) { + $object->fetch_thirdparty(); + + $head = PositionCardPrepareHead($object); + + print dol_get_fiche_head($head, 'note', $langs->trans("Notes"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $u_position = new User(($db)); + $u_position->fetch($object->fk_user); + $morehtmlref .= $langs->trans('Employee').' : '.$u_position->getNomUrl(1); + $job = new Job($db); + $job->fetch($object->fk_job); + $morehtmlref .= '
    '.$langs->trans('Job').' : '.$job->getNomUrl(1); + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + + + $cssclass = "titlefield"; + + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_agenda.php b/htdocs/hrm/skill_agenda.php new file mode 100644 index 00000000000..0b854ccb028 --- /dev/null +++ b/htdocs/hrm/skill_agenda.php @@ -0,0 +1,275 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_agenda.php + * \ingroup hrm + * \brief Tab of events on skill + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skill.lib.php'; + + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +if (GETPOST('actioncode', 'array')) { + $actioncode = GETPOST('actioncode', 'array', 3); + if (!count($actioncode)) { + $actioncode = '0'; + } +} else { + $actioncode = GETPOST("actioncode", "alpha", 3) ? GETPOST("actioncode", "alpha", 3) : (GETPOST("actioncode") == '0' ? '0' : (empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)); +} +$search_agenda_label = GETPOST('search_agenda_label'); + +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortfield) { + $sortfield = 'a.datep,a.id'; +} +if (!$sortorder) { + $sortorder = 'DESC,DESC'; +} + +// Initialize technical objects +$object = new Skill($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('skillagenda', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array('id'=>$id); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Cancel + if (GETPOST('cancel', 'alpha') && !empty($backtopage)) { + header("Location: ".$backtopage); + exit; + } + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + $actioncode = ''; + $search_agenda_label = ''; + } +} + + + +/* + * View + */ + +$form = new Form($db); + +if ($object->id > 0) { + $title = $langs->trans("Agenda"); + //if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$title; + $help_url = 'EN:Module_Agenda_En'; + llxHeader('', $title, $help_url); + + if (!empty($conf->notification->enabled)) { + $langs->load("mails"); + } + $head = skillPrepareHead($object); + + + print dol_get_fiche_head($head, 'agenda', $langs->trans("Agenda"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + print '
    '; + print '
    '; + + $object->info($object->id); + dol_print_object_info($object, 1); + + print '
    '; + + print dol_get_fiche_end(); + + + + // Actions buttons + + $objthirdparty = $object; + $objcon = new stdClass(); + + $out = '&origin='.urlencode($object->element.'@'.$object->module).'&originid='.urlencode($object->id); + $urlbacktopage = $_SERVER['PHP_SELF'].'?id='.$object->id; + $out .= '&backtopage='.urlencode($urlbacktopage); + $permok = $user->rights->agenda->myactions->create; + if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) { + //$out.='trans("AddAnAction"),'filenew'); + //$out.=""; + } + + + print '
    '; + + if (!empty($conf->agenda->enabled)) { + if (!empty($user->rights->agenda->myactions->create) || !empty($user->rights->agenda->allactions->create)) { + print ''.$langs->trans("AddAction").''; + } else { + print ''.$langs->trans("AddAction").''; + } + } + + print '
    '; + + if (!empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read))) { + $param = '&id='.$object->id.'&socid='.$socid; + if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); + } + if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); + } + + + //print load_fiche_titre($langs->trans("ActionsOnskill"), '', ''); + + // List of all actions + $filters = array(); + $filters['search_agenda_label'] = $search_agenda_label; + + // TODO Replace this with same code than into list.php + show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder, $object->module); + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_card.php b/htdocs/hrm/skill_card.php new file mode 100644 index 00000000000..2a5b58cd788 --- /dev/null +++ b/htdocs/hrm/skill_card.php @@ -0,0 +1,909 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_card.php + * \ingroup hrm + * \brief Page to create/edit/view skill + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; +$tmp2 = realpath(__FILE__); +$i = strlen($tmp) - 1; +$j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; + $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skill.lib.php'; + + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other", 'products')); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'skillcard'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); +//$lineid = GETPOST('lineid', 'int'); + +// Initialize technical objects +$object = new Skill($db); +//$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('skillcard', 'globalcard')); // Note that conf->hooks_modules contains array + +// Initialize array of search criterias +$search_all = GETPOST("search_all", 'alpha'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_' . $key, 'alpha')) { + $search[$key] = GETPOST('search_' . $key, 'alpha'); + } +} + +if (empty($action) && empty($id) && empty($ref)) { + $action = 'view'; +} + +// Load object +include DOL_DOCUMENT_ROOT . '/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php +$permissiontodelete = $user->rights->hrm->all->delete; +$upload_dir = $conf->hrm->multidir_output[isset($object->entity) ? $object->entity : 1] . '/skill'; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread || ($action === 'create' && !$permissiontoadd)) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + $error = 0; + + $backurlforlist = dol_buildpath('/hrm/skill_list.php', 1); + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = dol_buildpath('/hrm/skill_card.php', 1) . '?id=' . ($id > 0 ? $id : '__ID__'); + } + } + } + + $triggermodname = 'hrm_SKILL_MODIFY'; // Name of trigger action code to execute when we modify record + + + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen + include DOL_DOCUMENT_ROOT . '/core/actions_addupdatedelete.inc.php'; + + // action update on Skilldet + + $skilldetArray = GETPOST("descriptionline", "array"); + + if (!$error) { + if (is_array($skilldetArray) && count($skilldetArray) > 0) { + foreach ($skilldetArray as $key => $SkValueToUpdate) { + $skilldetObj = new Skilldet($object->db); + $res = $skilldetObj->fetch($key); + if ($res > 0) { + $skilldetObj->description = $SkValueToUpdate; + $resupd = $skilldetObj->update($user); + if ($resupd <= 0) { + setEventMessage($langs->trans('errorUpdateSkilldet')); + } + } + } + } + } + + + // Actions when linking object each other + include DOL_DOCUMENT_ROOT . '/core/actions_dellink.inc.php'; + + // Actions when printing a doc from card + include DOL_DOCUMENT_ROOT . '/core/actions_printing.inc.php'; + + // Action to move up and down lines of object + //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; + + // Action to build doc + include DOL_DOCUMENT_ROOT . '/core/actions_builddoc.inc.php'; + + if ($action == 'set_thirdparty' && $permissiontoadd) { + $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, $triggermodname); + } + if ($action == 'classin' && $permissiontoadd) { + $object->setProject(GETPOST('projectid', 'int')); + } + + // Actions to send emails + $triggersendname = 'hrm_SKILL_SENTBYMAIL'; + $autocopy = 'MAIN_MAIL_AUTOCOPY_SKILL_TO'; + $trackid = 'skill' . $object->id; + include DOL_DOCUMENT_ROOT . '/core/actions_sendmails.inc.php'; +} + + +/* + * View + * + * Put here all code to build page + */ + +$form = new Form($db); +$formfile = new FormFile($db); +$formproject = new FormProjets($db); + +$title = $langs->trans("skill"); +$help_url = ''; +llxHeader('', $title, $help_url); + + +// Part to create +if ($action == 'create') { + print load_fiche_titre($langs->trans("NewSkill"), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + $backtopage .= "&objecttype=job"; + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(array(), ''); + + // Set some default values + //if (! GETPOSTISSET('fieldname')) $_POST['fieldname'] = 'myvalue'; + + print '' . "\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_add.tpl.php'; + + + // SKILLDET ADD + //@todo je stop ici ... à continuer (affichage des 5 skilled input pour create action + //print $object->showInputField($val, $key, $value, '', '['']', '', 0); + + print '
    ' . "\n"; + + print dol_get_fiche_end(); + + print '
    '; + print ''; + print '  '; + + print ''; // Cancel for create does not post form if we don't know the backtopage + print '
    '; + + print '
    '; + + //dol_set_focus('input[name="ref"]'); +} + +// Part to edit record +// and skilldet edition +if (($id || $ref) && $action == 'edit') { + print load_fiche_titre($langs->trans("Skill"), '', 'object_' . $object->picto); + + print '
    '; + print ''; + print ''; + print ''; + if ($backtopage) { + print ''; + } + if ($backtopageforcancel) { + print ''; + } + + print dol_get_fiche_head(); + + print '' . "\n"; + + // Common attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_edit.tpl.php'; + + print '
    '; + + + // SKILLDET + + print dol_get_fiche_head(array(), ''); + $SkilldetRecords = $object->fetchLines(); + if (is_array($SkilldetRecords) && count($SkilldetRecords) > 0) { + print ''; + foreach ($SkilldetRecords as $sk) { + $MaxNumberSkill = isset($conf->global->HRM_MAXRANK) ? $conf->global->HRM_MAXRANK : Skill::DEFAULT_MAX_RANK_PER_SKILL; + if ($sk->rank > $MaxNumberSkill) { + continue; + } + + print '
    ' . "\n"; + $sk->fields = dol_sort_array($sk->fields, 'position'); + foreach ($sk->fields as $key => $val) { + if (abs($val['visible']) != 1 && abs($val['visible']) != 3 && abs($val['visible']) != 4) { + continue; + } + + if (array_key_exists('enabled', $val) && isset($val['enabled']) && !verifCond($val['enabled'])) { + continue; // We don't want this field + } + + print ''; + // if (!empty($val['help'])) { + // print $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help'])); + // } else { + print $langs->trans($val['label']).' '.$langs->trans('rank').' '.$sk->rank; + // } + print ''; + print ''; + print ''; + } + } + print '
    '; + // if (!empty($val['picto'])) { + // print img_picto('', $val['picto'], '', false, 0, 0, '', 'pictofixedwidth'); + // } + // if (in_array($val['type'], array('int', 'integer'))) { + // $value = GETPOSTISSET($key) ? GETPOST($key, 'int') : $sk->$key; + // } elseif ($val['type'] == 'double') { + // $value = GETPOSTISSET($key) ? price2num(GETPOST($key, 'alphanohtml')) : $sk->$key; + // } elseif (preg_match('/^(text|html)/', $val['type'])) { + // $tmparray = explode(':', $val['type']); + if (!empty($tmparray[1])) { + $check = $tmparray[1]; + } else { + $check = 'restricthtml'; + } + + $skilldetArray = GETPOST("descriptionline", "array"); + if (empty($skilldetArray)) { + $value = GETPOSTISSET($key) ? GETPOST($key, $check) : $sk->$key; + } else { + $value=$skilldetArray[$sk->id]; + } + // + // } elseif ($val['type'] == 'price') { + // $value = GETPOSTISSET($key) ? price2num(GETPOST($key)) : price2num($sk->$key); + // } else { + // $value = GETPOSTISSET($key) ? GETPOST($key, 'alpha') : $sk->$key; + // } + //var_dump($val.' '.$key.' '.$value); + if ($val['noteditable']) { + print $sk->showOutputField($val, $key, $value, '', '', '', 0); + } else { + /** @var Skilldet $sk */ + print $sk->showInputField($val, $key, $value, "", "line[" . $sk->id . "]", "", ""); + } + print '
    '; + } + + + print dol_get_fiche_end(); + + print '
    '; + print '   '; + print '
    '; + + print '
    '; +} + + +// Part to show record +if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { + $res = $object->fetch_optionals(); + + $head = skillPrepareHead($object); + print dol_get_fiche_head($head, 'card', $langs->trans("Workstation"), -1, $object->picto); + + $formconfirm = ''; + + // Confirmation to delete + if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteSkill'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1); + } + // Confirmation to delete line + if ($action == 'deleteline') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_deleteline', '', 0, 1); + } + // Clone confirmation + if ($action == 'clone') { + // Create an array for form + $formquestion = array(); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); + } + + // Confirmation of action xxxx + if ($action == 'xxx') { + $formquestion = array(); + /* + $forcecombo=0; + if ($conf->browser->name == 'ie') $forcecombo = 1; // There is a bug in IE10 that make combo inside popup crazy + $formquestion = array( + // 'text' => $langs->trans("ConfirmClone"), + // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1), + // array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1), + // array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, '', 0, $forcecombo)) + ); + */ + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220); + } + + // Call Hook formConfirm + $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid); + $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { + $formconfirm .= $hookmanager->resPrint; + } elseif ($reshook > 0) { + $formconfirm = $hookmanager->resPrint; + } + + // Print form confirm + print $formconfirm; + + + // Object card + // ------------------------------------------------------------ + $linkback = '' . $langs->trans("BackToList") . ''; + + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + print '
    '; + print '' . "\n"; + + $object->fields['label']['visible']=0; // Already in banner + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_view.tpl.php'; + + + print '
    '; + print '
    '; + print '
    '; + + print '
    '; + + print dol_get_fiche_end(); + + + //dol_include_once('/hrm/tpl/hrm_skillde.fiche.tpl.php'); + + // Buttons for actions + + if ($action != 'presend' && $action != 'editline') { + print '
    ' . "\n"; + $parameters = array(); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + } + + if (empty($reshook)) { + // Back to draft + if ($object->status == $object::STATUS_VALIDATED) { + print dolGetButtonAction($langs->trans('SetToDraft'), '', 'default', $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=confirm_setdraft&confirm=yes&token=' . newToken(), '', $permissiontoadd); + } + + print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=edit&token=' . newToken(), '', $permissiontoadd); + + // Delete (need delete permission, or if draft, just need create/modify permission) + print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'] . '?id=' . $object->id . '&action=delete&token=' . newToken(), '', $permissiontodelete); + } + print '
    ' . "\n"; + } +} + +//*---------------------------------------------------------------------------- +//*---------------------------------------------------------------------------- + + +//*--------------------------------------------------------------------------- + +if ($action != "create" && $action != "edit") { + 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/company.lib.php'; + + // load hrm libraries + require_once __DIR__ . '/class/skilldet.class.php'; + + // for other modules + //dol_include_once('/othermodule/class/otherobject.class.php'); + + $action = GETPOST('action', 'aZ09') ? GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... + $massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) + $show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? + $confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation + $cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button + $toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list + $contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'skilldetlist'; // To manage different context of search + $backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page + $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + + $id = GETPOST('id', 'int'); + + // Load variable for pagination + $limit = 0; + $sortfield = GETPOST('sortfield', 'aZ09comma'); + $sortorder = GETPOST('sortorder', 'aZ09comma'); + $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); + if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters + $page = 0; + } + $offset = $limit * $page; + $pageprev = $page - 1; + $pagenext = $page + 1; + + // Initialize technical objects + $objectline = new Skilldet($db); + // $diroutputmassaction = $conf->hrm->dir_output . '/temp/massgeneration/' . $user->id; + // $hookmanager->initHooks(array('skilldetlist')); // Note that conf->hooks_modules contains array + + // Default sort order (if not yet defined by previous GETPOST) + if (!$sortfield) { + reset($objectline->fields); // Reset is required to avoid key() to return null. + $sortfield = "t." . key($objectline->fields); // Set here default search field. By default 1st field in definition. + } + if (!$sortorder) { + $sortorder = "ASC"; + } + + // Initialize array of search criterias + $search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); + $search = array(); + foreach ($objectline->fields as $key => $val) { + if (GETPOST('search_' . $key, 'alpha') !== '') { + $search[$key] = GETPOST('search_' . $key, 'alpha'); + } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key . '_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_' . $key . '_dtstartmonth', 'int'), GETPOST('search_' . $key . '_dtstartday', 'int'), GETPOST('search_' . $key . '_dtstartyear', 'int')); + $search[$key . '_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_' . $key . '_dtendmonth', 'int'), GETPOST('search_' . $key . '_dtendday', 'int'), GETPOST('search_' . $key . '_dtendyear', 'int')); + } + } + + // List of fields to search into when doing a "search in all" + $fieldstosearchall = array(); + foreach ($objectline->fields as $key => $val) { + if (!empty($val['searchall'])) { + $fieldstosearchall['t.' . $key] = $val['label']; + } + } + + // Definition of array of fields for columns + $arrayfields = array(); + foreach ($objectline->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.' . $key] = array( + 'label' => $val['label'], + 'checked' => (($visible < 0) ? 0 : 1), + 'enabled' => ($visible != 3 && dol_eval($val['enabled'], 1)), + 'position' => $val['position'], + 'help' => isset($val['help']) ? $val['help'] : '' + ); + } + } + + $objectline->fields = dol_sort_array($objectline->fields, 'position'); + $arrayfields = dol_sort_array($arrayfields, 'position'); + + + /* + * View + */ + + $form = new Form($db); + + $now = dol_now(); + + $help_url = ''; + $title = $langs->transnoentitiesnoconv("Skilldets"); + $morejs = array(); + $morecss = array(); + + + // Build and execute select + // -------------------------------------------------------------------- + $sql = 'SELECT '; + $sql .= $objectline->getFieldList('t'); + $sql .= " FROM " . MAIN_DB_PREFIX . $objectline->table_element . " as t"; + if ($objectline->ismultientitymanaged == 1) { + $sql .= " WHERE t.entity IN (" . getEntity($objectline->element) . ")"; + } else { + $sql .= " WHERE 1 = 1 "; + } + + if (!empty($id)) { + $sql .= " AND fk_skill = " . ((int) $id) . " "; + } + + // if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. + if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { + $num = $nbtotalofrecords; + } else { + if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); + } + + $resql = $db->query($sql); + if (!$resql) { + dol_print_error($db); + exit; + } + + $num = $db->num_rows($resql); + } + + print '
    ' . "\n"; + if ($optioncss != '') { + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if (!empty($id)) { + print ''; + } + + $param_fk = "&fk_skill=" . $id . "&fk_user_creat=" . $user->rowid; + $backtopage = dol_buildpath('/hrm/skill_card.php', 1) . '?id=' . $id; + //$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/hrm/skilldet_card.php', 1) . '?action=create&backtopage=' . urlencode($_SERVER['PHP_SELF']) . $param_fk . '&backtopage=' . $backtopage, '', $permissiontoadd); + + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_' . $object->picto, 0, "", '', '', 0, 0, 1); + + // Add code for pre mass action (confirmation or email presend form) + $topicmail = "SendSkilldetRef"; + $modelmail = "skilldet"; + $objecttmp = new Skilldet($db); + $trackid = 'xxxx' . $object->id; + //include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + + if ($search_all) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
    ' . $langs->trans("FilterOnInto", $search_all) . join(', ', $fieldstosearchall) . '
    '; + } + + $moreforfilter = ''; + /*$moreforfilter.='
    '; + $moreforfilter.= $langs->trans('MyFilter') . ': '; + $moreforfilter.= '
    ';*/ + + $parameters = array(); + $reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $objectline); // Note that $action and $objectline may have been modified by hook + if (empty($reshook)) { + $moreforfilter .= $hookmanager->resPrint; + } else { + $moreforfilter = $hookmanager->resPrint; + } + + if (!empty($moreforfilter)) { + print '
    '; + print $moreforfilter; + print '
    '; + } + + $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; + // $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields + // $selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); + + print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table + print '' . "\n"; + + + // Fields title label + // -------------------------------------------------------------------- + print ''; + foreach ($objectline->fields as $key => $val) { + // $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + // if ($key == 'status') { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + // } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + // } elseif (in_array($val['type'], array('timestamp'))) { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + // } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'right'; + // } + if (!empty($arrayfields['t.' . $key]['checked'])) { + print getTitleFieldOfList($arrayfields['t.' . $key]['label'], 0, $_SERVER['PHP_SELF'], 't.' . $key, '', $param, ($cssforfield ? 'class="' . $cssforfield . '"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield . ' ' : '')) . "\n"; + } + } + print ''; + print ''; + print '' . "\n"; + + + // Display all ranks of skill + // -------------------------------------------------------------------- + + $i = 0; + $totalarray = array(); + $totalarray['nbfield'] = 0; + while ($i < ($limit ? min($num, $limit) : $num)) { + $obj = $db->fetch_object($resql); + if (empty($obj)) { + break; // Should not happen + } + + $MaxNumberSkill = isset($conf->global->HRM_MAXRANK) ? $conf->global->HRM_MAXRANK : Skill::DEFAULT_MAX_RANK_PER_SKILL; + if ($obj->rank > $MaxNumberSkill) { + continue; + } + + // Store properties in $objectline + $objectline->setVarsFromFetchObj($obj); + + // Show here line of result + print ''; + foreach ($objectline->fields as $key => $val) { + // $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + // if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + // } elseif ($key == 'status') { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'center'; + // } + // + // if (in_array($val['type'], array('timestamp'))) { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + // } elseif ($key == 'ref') { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'nowrap'; + // } + // + // if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { + // $cssforfield .= ($cssforfield ? ' ' : '') . 'right'; + // } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; + + if (!empty($arrayfields['t.' . $key]['checked'])) { + print ''; + if ($key == 'status') { + print $objectline->getLibStatut(5); + } elseif ($key == 'rowid') { + print $objectline->showOutputField($val, $key, $objectline->id, ''); + // ajout pencil + print ''; + } else { + print $objectline->showOutputField($val, $key, $objectline->$key, ''); + } + print ''; + + + if (!$i) { + $totalarray['nbfield']++; + } + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { + if (!$i) { + $totalarray['pos'][$totalarray['nbfield']] = 't.' . $key; + } + if (!isset($totalarray['val'])) { + $totalarray['val'] = array(); + } + if (!isset($totalarray['val']['t.' . $key])) { + $totalarray['val']['t.' . $key] = 0; + } + $totalarray['val']['t.' . $key] += $objectline->$key; + } + } + } + + + // LINE EDITION | SUPPRESSION + + print ''; + print ''; + + + // Fields from hook + $parameters = array('arrayfields' => $arrayfields, 'object' => $objectline, 'obj' => $obj, 'i' => $i, 'totalarray' => &$totalarray); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $objectline); // Note that $action and $objectline may have been modified by hook + print $hookmanager->resPrint; + /*// Action column + print '';*/ + if (!$i) { + $totalarray['nbfield']++; + } + + print '' . "\n"; + + $i++; + } + + + // If no record found + + if ($num == 0) { + $colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { + $colspan++; + } + } + print ''; + } + + + $db->free($resql); + + $parameters = array('arrayfields' => $arrayfields, 'sql' => $sql); + $reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $objectline); // Note that $action and $objectline may have been modified by hook + print $hookmanager->resPrint; + + print '
    '; + + print ''; + // add pencil + //@todo change to proper call dol_ + //print 'id, 1) . '">'; + // add trash + //@todo change to proper call dol_ + //print 'id,1) .'">'; + //print ''; + + print '
    ' . $langs->trans("NoRecordFound") . '
    ' . "\n"; + print '
    ' . "\n"; + + print '
    ' . "\n"; + + // if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { + // $hidegeneratedfilelistifempty = 1; + // if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { + // $hidegeneratedfilelistifempty = 0; + // } + // + // require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; + // $formfile = new FormFile($db); + // + // // Show list of available documents + // $urlsource = $_SERVER['PHP_SELF'] . '?sortfield=' . $sortfield . '&sortorder=' . $sortorder; + // $urlsource .= str_replace('&', '&', $param); + // + // $filedir = $diroutputmassaction; + // $genallowed = $permissiontoread; + // $delallowed = $permissiontoadd; + // + // print $formfile->showdocuments('massfilesarea_hrm', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); + // } + + print '
    '; + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object, null, array('skill')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + + print '
    '; + + $MAXEVENT = 10; + + $morehtmlright = ''; + $morehtmlright .= $langs->trans("SeeAll"); + $morehtmlright .= ''; + // List of actions on element + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, $object->element . '@' . $object->module, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1, '', $MAXEVENT, '', $morehtmlright); + + print '
    '; +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_contact.php b/htdocs/hrm/skill_contact.php new file mode 100644 index 00000000000..a535e00696b --- /dev/null +++ b/htdocs/hrm/skill_contact.php @@ -0,0 +1,220 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_contact.php + * \ingroup hrm + * \brief Tab for contacts linked to Skill + */ + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skill.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + +$id = (GETPOST('id') ?GETPOST('id', 'int') : GETPOST('facid', 'int')); // For backward compatibility +$ref = GETPOST('ref', 'alpha'); +$lineid = GETPOST('lineid', 'int'); +$socid = GETPOST('socid', 'int'); +$action = GETPOST('action', 'aZ09'); + +// Initialize technical objects +$object = new Skill($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('skillcontact', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +$permission = $user->rights->hrm->skill->write; + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +//if (empty($conf->hrm->enabled)) accessforbidden(); +//if (!$permissiontoread) accessforbidden(); + + +/* + * Add a new contact + */ + +if ($action == 'addcontact' && $permission) { + $contactid = (GETPOST('userid') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int')); + $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); + $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09')); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors'); + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } +} elseif ($action == 'swapstatut' && $permission) { + // Toggle the status of a contact + $result = $object->swapContactStatus(GETPOST('ligne', 'int')); +} elseif ($action == 'deletecontact' && $permission) { + // Deletes a contact + $result = $object->delete_contact($lineid); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } else { + dol_print_error($db); + } +} + + +/* + * View + */ + +$title = $langs->trans('Skill')." - ".$langs->trans('ContactsAddresses'); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +$form = new Form($db); +$formcompany = new FormCompany($db); +$contactstatic = new Contact($db); +$userstatic = new User($db); + + +/* *************************************************************************** */ +/* */ +/* View and edit mode */ +/* */ +/* *************************************************************************** */ + +if ($object->id) { + /* + * Show tabs + */ + $head = skillPrepareHead($object); + + print dol_get_fiche_head($head, 'contact', '', -1, $object->picto); + + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + /* + // Ref customer + $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1); + $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1); + // Thirdparty + $morehtmlref.='
    '.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : ''); + // Project + if (! empty($conf->projet->enabled)) + { + $langs->load("projects"); + $morehtmlref.='
    '.$langs->trans('Project') . ' '; + if ($permissiontoadd) + { + if ($action != 'classify') + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + $morehtmlref.=' : '; + if ($action == 'classify') { + //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); + $morehtmlref.='
    '; + $morehtmlref.=''; + $morehtmlref.=''; + $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); + $morehtmlref.=''; + $morehtmlref.='
    '; + } else { + $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); + } + } else { + if (! empty($object->fk_project)) { + $proj = new Project($db); + $proj->fetch($object->fk_project); + $morehtmlref .= ': '.$proj->getNomUrl(); + } else { + $morehtmlref .= ''; + } + } + }*/ + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1); + + print dol_get_fiche_end(); + + print '
    '; + + // Contacts lines (modules that overwrite templates must declare this into descriptor) + $dirtpls = array_merge($conf->modules_parts['tpl'], array('/core/tpl')); + foreach ($dirtpls as $reldir) { + $res = @include dol_buildpath($reldir.'/contacts.tpl.php'); + if ($res) { + break; + } + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_document.php b/htdocs/hrm/skill_document.php new file mode 100644 index 00000000000..ca13044f712 --- /dev/null +++ b/htdocs/hrm/skill_document.php @@ -0,0 +1,217 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_document.php + * \ingroup hrm + * \brief Tab for documents linked to skill + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skill.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies", "other", "mails")); + + +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm'); +$id = (GETPOST('socid', 'int') ? GETPOST('socid', 'int') : GETPOST('id', 'int')); +$ref = GETPOST('ref', 'alpha'); + +// Get parameters +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page == -1) { + $page = 0; +} // If $page is not defined, or '' or -1 +$offset = $liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (!$sortorder) { + $sortorder = "ASC"; +} +if (!$sortfield) { + $sortfield = "name"; +} +//if (! $sortfield) $sortfield="position_name"; + +// Initialize technical objects +$object = new Skill($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('skilldocument', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals + +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity ? $object->entity : $conf->entity]."/skill/".get_exdir(0, 0, 0, 1, $object); +} + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_linkedfiles.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; + + +/* + * View + */ + +$form = new Form($db); + +$title = $langs->trans("Skilldet").' - '.$langs->trans("Files"); +$help_url = ''; +//$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('', $title, $help_url); + +if ($object->id) { + /* + * Show tabs + */ + $head = skillPrepareHead($object); + + print dol_get_fiche_head($head, 'document', $langs->trans("Documents"), -1, $object->picto); + + + // Build file list + $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1); + $totalsize = 0; + foreach ($filearray as $key => $file) { + $totalsize += $file['size']; + } + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + print '
    '; + + print '
    '; + print ''; + + // Number of files + print ''; + + // Total size + print ''; + + print '
    '.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
    '.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
    '; + + print '
    '; + + print dol_get_fiche_end(); + + $modulepart = 'hrm'; + $permtoedit = $permissiontoadd; + $param = '&id='.$object->id; + + //$relativepathwithnofile='skill/' . dol_sanitizeFileName($object->id).'/'; + $relativepathwithnofile = 'skill/'.dol_sanitizeFileName($object->ref).'/'; + + include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; +} else { + accessforbidden('', 0, 1); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_list.php b/htdocs/hrm/skill_list.php new file mode 100644 index 00000000000..c0af4e28edc --- /dev/null +++ b/htdocs/hrm/skill_list.php @@ -0,0 +1,733 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_list.php + * \ingroup hrm + * \brief List page for skill + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +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/company.lib.php'; + +// load hrm libraries +require_once __DIR__.'/class/skill.class.php'; + +// for other modules +//dol_include_once('/othermodule/class/otherobject.class.php'); + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view'; // The action 'add', 'create', 'edit', 'update', 'view', ... +$massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) +$show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ? +$confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation +$cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button +$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'skilllist'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') + +$id = GETPOST('id', 'int'); + +// Load variable for pagination +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; +$sortfield = GETPOST('sortfield', 'aZ09comma'); +$sortorder = GETPOST('sortorder', 'aZ09comma'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters + $page = 0; +} +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +// Initialize technical objects +$object = new Skill($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('skilllist')); // Note that conf->hooks_modules contains array + +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); +//$extrafields->fetch_name_optionals_label($object->table_element_line); + +$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); + +// Default sort order (if not yet defined by previous GETPOST) +if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. + $sortfield = "t.".key($object->fields); // Set here default search field. By default 1st field in definition. +} +if (!$sortorder) { + $sortorder = "ASC"; +} + +// Initialize array of search criterias +$search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); +$search = array(); +foreach ($object->fields as $key => $val) { + if (GETPOST('search_'.$key, 'alpha') !== '') { + $search[$key] = GETPOST('search_'.$key, 'alpha'); + } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } +} + +// List of fields to search into when doing a "search in all" +$fieldstosearchall = array(); +foreach ($object->fields as $key => $val) { + if (!empty($val['searchall'])) { + $fieldstosearchall['t.'.$key] = $val['label']; + } +} + +// Definition of array of fields for columns +$arrayfields = array(); +foreach ($object->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + +$object->fields = dol_sort_array($object->fields, 'position'); +$arrayfields = dol_sort_array($arrayfields, 'position'); + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; +$permissiontodelete = $user->rights->hrm->all->delete; + +// Security check +if (empty($conf->hrm->enabled)) { + accessforbidden('Module not enabled'); +} + +// Security check (enable the most restrictive one) +if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) accessforbidden(); +//$socid = 0; if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + + +/* + * Actions + */ + +if (GETPOST('cancel', 'alpha')) { + $action = 'list'; + $massaction = ''; +} +if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { + $massaction = ''; +} + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + // Selection of new fields + include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; + + // Purge search criteria + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers + foreach ($object->fields as $key => $val) { + $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } + } + $toselect = array(); + $search_array_options = array(); + } + if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') + || GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) { + $massaction = ''; // Protection to avoid mass action if we force a new search during a mass action confirmation + } + + // Mass actions + $objectclass = 'Skill'; + $objectlabel = 'Skill'; + $uploaddir = $conf->hrm->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; +} + + + +/* + * View + */ + +$form = new Form($db); + +$now = dol_now(); + +//$help_url="EN:Module_Skill|FR:Module_Skill_FR|ES:Módulo_Skill"; +$help_url = ''; +$title = $langs->trans('ListOf', $langs->transnoentitiesnoconv("Skills")); +$morejs = array(); +$morecss = array(); + + +// Build and execute select +// -------------------------------------------------------------------- +$sql = 'SELECT '; +$sql .= $object->getFieldList('t'); +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key.', ' : ''); + } +} +// Add fields from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= preg_replace('/^,/', '', $hookmanager->resPrint); +$sql = preg_replace('/,\s*$/', '', $sql); +$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; +} +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +if ($object->ismultientitymanaged == 1) { + $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; +} else { + $sql .= " WHERE 1 = 1"; +} +foreach ($search as $key => $val) { + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } + } + } +} +if ($search_all) { + $sql .= natural_search(array_keys($fieldstosearchall), $search_all); +} +//$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); +// Add where from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; + +/* If a group by is required +$sql .= " GROUP BY "; +foreach($object->fields as $key => $val) { + $sql .= "t.".$key.", "; +} +// Add fields from extrafields +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } +} +// Add where from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +$sql = preg_replace('/,\s*$/', '', $sql); +*/ + +$sql .= $db->order($sortfield, $sortorder); + +// Count total nb of records +$nbtotalofrecords = ''; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 + $page = 0; + $offset = 0; + } +} +// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. +if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { + $num = $nbtotalofrecords; +} else { + if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); + } + + $resql = $db->query($sql); + if (!$resql) { + dol_print_error($db); + exit; + } + + $num = $db->num_rows($resql); +} + +// Direct jump if only one record found +if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".dol_buildpath('/hrm/skill_card.php', 1).'?id='.$id); + exit; +} + + +// Output page +// -------------------------------------------------------------------- + +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); + +// Example : Adding jquery code +// print ''; + +$arrayofselected = is_array($toselect) ? $toselect : array(); + +$param = ''; +if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); +} +if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); +} +foreach ($search as $key => $val) { + if (is_array($search[$key]) && count($search[$key])) { + foreach ($search[$key] as $skey) { + $param .= '&search_'.$key.'[]='.urlencode($skey); + } + } else { + $param .= '&search_'.$key.'='.urlencode($search[$key]); + } +} +if ($optioncss != '') { + $param .= '&optioncss='.urlencode($optioncss); +} +// Add $param from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; + +// List of mass actions available +$arrayofmassactions = array( + //'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), + //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), +); +if ($permissiontodelete) { + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +} +if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { + $arrayofmassactions = array(); +} +$massactionbutton = $form->selectMassAction('', $arrayofmassactions); + +print '
    '."\n"; +if ($optioncss != '') { + print ''; +} +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +$newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/hrm/skill_card.php', 1).'?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); + +// Add code for pre mass action (confirmation or email presend form) +$topicmail = "SendSkillRef"; +$modelmail = "skill"; +$objecttmp = new Skill($db); +$trackid = 'xxxx'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + +if ($search_all) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
    '.$langs->trans("FilterOnInto", $search_all).join(', ', $fieldstosearchall).'
    '; +} + +$moreforfilter = ''; +/*$moreforfilter.='
    '; +$moreforfilter.= $langs->trans('MyFilter') . ': '; +$moreforfilter.= '
    ';*/ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +if (empty($reshook)) { + $moreforfilter .= $hookmanager->resPrint; +} else { + $moreforfilter = $hookmanager->resPrint; +} + +if (!empty($moreforfilter)) { + print '
    '; + print $moreforfilter; + print '
    '; +} + +$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; +$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); + +print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table +print ''."\n"; + + +// Fields title search +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print ''; +print ''."\n"; + + +// Fields title label +// -------------------------------------------------------------------- +print ''; +foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + if (!empty($arrayfields['t.'.$key]['checked'])) { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''))."\n"; + } +} +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Action column +print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n"; +print ''."\n"; + + +// Detect if we need a fetch on each output line +$needToFetchEachLine = 0; +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { + foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { + if (preg_match('/\$object/', $val)) { + $needToFetchEachLine++; // There is at least one compute field that use $object + } + } +} + + +// Loop on record +// -------------------------------------------------------------------- +$i = 0; +$totalarray = array(); +$totalarray['nbfield'] = 0; +while ($i < ($limit ? min($num, $limit) : $num)) { + $obj = $db->fetch_object($resql); + if (empty($obj)) { + break; // Should not happen + } + + // Store properties in $object + $object->setVarsFromFetchObj($obj); + + // Show here line of result + print ''; + foreach ($object->fields as $key => $val) { + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); + if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } elseif ($key == 'status') { + $cssforfield .= ($cssforfield ? ' ' : '').'center'; + } + + if (in_array($val['type'], array('timestamp'))) { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } elseif ($key == 'ref') { + $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; + } + + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { + $cssforfield .= ($cssforfield ? ' ' : '').'right'; + } + //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; + + if (!empty($arrayfields['t.'.$key]['checked'])) { + print ''; + if ($key == 'status') { + print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); + } elseif ($key == 'label') { + print $object->getNomUrl(1); + } else { + print $object->showOutputField($val, $key, $object->$key, ''); + } + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { + if (!$i) { + $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; + } + if (!isset($totalarray['val'])) { + $totalarray['val'] = array(); + } + if (!isset($totalarray['val']['t.'.$key])) { + $totalarray['val']['t.'.$key] = 0; + } + $totalarray['val']['t.'.$key] += $object->$key; + } + } + } + // Extra fields + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; + // Fields from hook + $parameters = array('arrayfields'=>$arrayfields, 'object'=>$object, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray); + $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + + print ''."\n"; + + $i++; +} + +// Show total line +include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php'; + +// If no record found +if ($num == 0) { + $colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { + $colspan++; + } + } + print ''; +} + + +$db->free($resql); + +$parameters = array('arrayfields'=>$arrayfields, 'sql'=>$sql); +$reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +print '
    '; + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; + } + print '
    '; +$searchpicto = $form->showFilterButtons(); +print $searchpicto; +print '
    '; + 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($object->id, $arrayofselected)) { + $selected = 1; + } + print ''; + } + print '
    '.$langs->trans("NoRecordFound").'
    '."\n"; +print '
    '."\n"; + +print '
    '."\n"; + +if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { + $hidegeneratedfilelistifempty = 1; + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { + $hidegeneratedfilelistifempty = 0; + } + + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + $formfile = new FormFile($db); + + // Show list of available documents + $urlsource = $_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource .= str_replace('&', '&', $param); + + $filedir = $diroutputmassaction; + $genallowed = $permissiontoread; + $delallowed = $permissiontoadd; + + print $formfile->showdocuments('massfilesarea_hrm', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_note.php b/htdocs/hrm/skill_note.php new file mode 100644 index 00000000000..000c5e1b41b --- /dev/null +++ b/htdocs/hrm/skill_note.php @@ -0,0 +1,175 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_note.php + * \ingroup hrm + * \brief Tab for notes on skill + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skill.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "companies")); + +// Get parameters +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); +$backtopage = GETPOST('backtopage', 'alpha'); + +// Initialize technical objects +$object = new Skill($db); +$extrafields = new ExtraFields($db); +$diroutputmassaction = $conf->hrm->dir_output.'/temp/massgeneration/'.$user->id; +$hookmanager->initHooks(array('skillnote', 'globalcard')); // Note that conf->hooks_modules contains array +// Fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +if ($id > 0 || !empty($ref)) { + $upload_dir = $conf->hrm->multidir_output[$object->entity]."/".$object->id; +} + +$permissionnote = $user->rights->hrm->all->write; +$permissiontoread = $user->rights->hrm->all->read; // Used by the include of actions_addupdatedelete.inc.php + +// Security check (enable the most restrictive one) +//if ($user->socid > 0) accessforbidden(); +//if ($user->socid > 0) $socid = $user->socid; +//$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0); +//restrictedArea($user, $object->element, $object->id, $object->table_element, '', 'fk_soc', 'rowid', $isdraft); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} + + +/* + * View + */ + +$form = new Form($db); + +//$help_url='EN:Customers_Orders|FR:Commandes_Clients|ES:Pedidos de clientes'; +$help_url = ''; +llxHeader('', $langs->trans('Skill'), $help_url); + +if ($id > 0 || !empty($ref)) { + $object->fetch_thirdparty(); + + $head = skillPrepareHead($object); + + print dol_get_fiche_head($head, 'note', $langs->trans("Notes"), -1, $object->picto); + + // Object card + // ------------------------------------------------------------ + $linkback = ''.$langs->trans("BackToList").''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref); + + + print '
    '; + print '
    '; + + + $cssclass = "titlefield"; + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + print '
    '; + + print dol_get_fiche_end(); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/hrm/skill_tab.php b/htdocs/hrm/skill_tab.php new file mode 100644 index 00000000000..2aada2a771e --- /dev/null +++ b/htdocs/hrm/skill_tab.php @@ -0,0 +1,384 @@ + + * Copyright (C) 2021 Gauthier VERDOL + * Copyright (C) 2021 Greg Rastklan + * Copyright (C) 2021 Jean-Pascal BOUDET + * Copyright (C) 2021 Grégory BLEMAND + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file skill_tab.php + * \ingroup hrm + * \brief Page to add/delete/view skill to jobs/users + */ + +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Do not create database handler $db +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Do not load object $user +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); // Do not load object $mysoc +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Do not load object $langs +//if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION', '1'); // Do not check injection attack on GET parameters +//if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION', '1'); // Do not check injection attack on POST parameters +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on). +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on) +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK', '1'); // Do not check style html tag into posted data +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', '1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1'); // Do not load ajax.lib.php library +//if (! defined("NOLOGIN")) define("NOLOGIN", '1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too. +//if (! defined('NOIPCHECK')) define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip +//if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT', 'auto'); // Force lang to a particular value +//if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE', 'aloginmodule'); // Force authentication handler +//if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN', 1); // The main.inc.php does not make a redirect if not logged, instead show simple error message +//if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies +//if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +//if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification + +// Load Dolibarr environment +$res = 0; +// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) +if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { + $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php"; +} +// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME +$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; +$tmp2 = realpath(__FILE__); +$i = strlen($tmp) - 1; +$j = strlen($tmp2) - 1; +while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { + $i--; + $j--; +} +if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { + $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; +} +if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { + $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; +} +// Try main.inc.php using relative path +if (!$res && file_exists("../main.inc.php")) { + $res = @include "../main.inc.php"; +} +if (!$res && file_exists("../../main.inc.php")) { + $res = @include "../../main.inc.php"; +} +if (!$res && file_exists("../../../main.inc.php")) { + $res = @include "../../../main.inc.php"; +} +if (!$res) { + die("Include of main fails"); +} + +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT . '/user/class/user.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skill.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/class/skillrank.class.php'; +require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_skill.lib.php'; + +// Load translation files required by the page +$langs->loadLangs(array("hrm", "other")); + +$id = GETPOST('id', 'int'); +$TSkillsToAdd = GETPOST('fk_skill', 'array'); +$objecttype = GETPOST('objecttype', 'alpha'); +$TNote = GETPOST('TNote', 'array'); +$lineid = GETPOST('lineid', 'int'); +$action = GETPOST('action', 'aZ09'); +$confirm = GETPOST('confirm', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'skillcard'; // To manage different context of search +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); + +$TAuthorizedObjects = array('job', 'user'); +$skill = new SkillRank($db); + +// Initialize technical objects +if (in_array($objecttype, $TAuthorizedObjects)) { + if ($objecttype == 'job') { + require_once DOL_DOCUMENT_ROOT . '/hrm/class/job.class.php'; + $object = new Job($db); + } elseif ($objecttype == "user") { + $object = new User($db); + } +} else accessforbidden($langs->trans('ErrorBadObjectType')); + +$hookmanager->initHooks(array('skilltab', 'globalcard')); // Note that conf->hooks_modules contains array + +// Load object +include DOL_DOCUMENT_ROOT . '/core/actions_fetchobject.inc.php'; // Must be include, not include_once. + +$permissiontoread = $user->rights->hrm->all->read; +$permissiontoadd = $user->rights->hrm->all->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php + +// Security check (enable the most restrictive one) +if ($user->socid > 0) accessforbidden(); +if (empty($conf->hrm->enabled)) accessforbidden(); +if (!$permissiontoread) accessforbidden(); + + +/* + * Actions + */ + +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} + +if (empty($reshook)) { + $error = 0; + + $backurlforlist = dol_buildpath('/hrm/skill_list.php', 1); + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = dol_buildpath('/hrm/skill_list.php', 1) . '?id=' . ($id > 0 ? $id : '__ID__'); + } + } + } + + if ($action == 'addSkill') { + $error = 0; + + if (empty($TSkillsToAdd)) { + setEventMessage('ErrNoSkillSelected', 'errors'); + $error++; + } + + if (!$error) { + foreach ($TSkillsToAdd as $k=>$v) { + $skillAdded = new SkillRank($db); + $skillAdded->fk_skill = $v; + $skillAdded->fk_object = $id; + $skillAdded->objecttype = $objecttype; + $ret = $skillAdded->create($user); + if ($ret < 0) setEventMessage($skillAdded->error, 'errors'); + //else unset($TSkillsToAdd); + } + } + } elseif ($action == 'saveSkill') { + if (!empty($TNote)) { + foreach ($TNote as $skillId => $rank) { + $TSkills = $skill->fetchAll('ASC', 't.rowid', 0, 0, array('customsql' => 'fk_object=' . ((int) $id) . " AND objecttype='" . $db->escape($objecttype) . "' AND fk_skill = " . ((int) $skillId))); + if (is_array($TSkills) && !empty($TSkills)) { + foreach ($TSkills as $tmpObj) { + $tmpObj->rank = $rank; + $tmpObj->update($user); + } + } + } + } + } elseif ($action == 'confirm_deleteskill' && $confirm == 'yes') { + $skillToDelete = new SkillRank($db); + $ret = $skillToDelete->fetch($lineid); + if ($ret > 0) { + $skillToDelete->delete($user); + } + } +} + +/* + * View + * + * Put here all code to build page + */ + +$form = new Form($db); +$formfile = new FormFile($db); +$formproject = new FormProjets($db); + +$title = $langs->trans("RequiredSkills"); +$help_url = ''; +llxHeader('', $title, $help_url); + +// Part to show record +if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) { + $res = $object->fetch_optionals(); + + // view configuration + if ($objecttype == 'job') { + require_once DOL_DOCUMENT_ROOT . '/hrm/lib/hrm_job.lib.php'; + $head = jobPrepareHead($object); + $listLink = dol_buildpath('/hrm/job_list.php', 1); + } elseif ($objecttype == "user") { + require_once DOL_DOCUMENT_ROOT . "/core/lib/usergroups.lib.php"; + $object->getRights(); + $head = user_prepare_head($object); + $listLink = dol_buildpath('/user/list.php', 1); + } + + print dol_get_fiche_head($head, 'skill_tab', $langs->trans("Workstation"), -1, $object->picto); + + $formconfirm = ''; + + // Confirmation to delete + /*if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteSkill'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1); + }*/ + // Confirmation to delete line + if ($action == 'ask_deleteskill') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&objecttype=' . $objecttype . '&lineid=' . $lineid, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_deleteskill', '', 0, 1); + } + // Clone confirmation + /*if ($action == 'clone') { + // Create an array for form + $formquestion = array(); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); + }*/ + + // Call Hook formConfirm + $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid); + $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { + $formconfirm .= $hookmanager->resPrint; + } elseif ($reshook > 0) { + $formconfirm = $hookmanager->resPrint; + } + + // Print form confirm + print $formconfirm; + + + // Object card + // ------------------------------------------------------------ + $linkback = '' . $langs->trans("BackToList") . ''; + + $morehtmlref = '
    '; + $morehtmlref.= $object->label; + $morehtmlref .= '
    '; + + dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'rowid', $morehtmlref, '&objecttype='.$objecttype); + + + // Get all available skills + $static_skill = new Skill($db); + $TAllSkills = $static_skill->fetchAll(); + + // Array format for multiselectarray function + $TAllSkillsFormatted=array(); + if (!empty($TAllSkills)) { + foreach ($TAllSkills as $k=>$v) { + $TAllSkillsFormatted[$k] = $v->label; + } + } + + // table of skillRank linked to current object + $TSkillsJob = $skill->fetchAll('ASC', 't.rowid', 0, 0, array('customsql' => 'fk_object=' . ((int) $id) . " AND objecttype='" . $db->escape($objecttype) . "'")); + + $TAlreadyUsedSkill = array(); + if (is_array($TSkillsJob) && !empty($TSkillsJob)) { + foreach ($TSkillsJob as $skillElement) { + $TAlreadyUsedSkill[$skillElement->fk_skill] = $skillElement->fk_skill; + } + } + + print '
    '; + print '
    '; + print '
    '; + print '' . "\n"; + $object->fields['label']['visible']=0; // Already in banner + include DOL_DOCUMENT_ROOT . '/core/tpl/commonfields_view.tpl.php'; + print '
    '; + print '
    '; + + print '

    '; + + if ($objecttype != 'user' && $permissiontoadd) { + // form pour ajouter des compétences + print '
    '; + print ''; + print ''; + print ''; + print '
    '; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
    ' . $langs->trans('AddSkill') . '
    ' . $form->multiselectarray('fk_skill', array_diff_key($TAllSkillsFormatted, $TAlreadyUsedSkill), array(), 0, 0, '', 0, '100%') . '
    '; + print '
    '; + print '
    '; + } + print '
    '; + + print '
    '; + + if ($objecttype != 'user' && $permissiontoadd) { + print '
    '; + print ''; + print ''; + print ''; + } + print '
    '; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($objecttype === 'job') { + print ''; + print ''; + } + print ''; + if (!is_array($TSkillsJob) || empty($TSkillsJob)) { + print ''; + } else { + $sk = new Skill($db); + foreach ($TSkillsJob as $skillElement) { + $sk->fetch($skillElement->fk_skill); + print ''; + print ''; + print ''; + if ($objecttype != 'user' && $permissiontoadd) { + print ''; + print ''; + print ''; + } + } + + print '
    '.$langs->trans('SkillType').''.$langs->trans('Label').''.$langs->trans('Description').''.$langs->trans($objecttype === 'job' ? 'RequiredRank' : 'EmployeeRank').'
    ' . $langs->trans("NoRecordFound") . '
    '; + print Skill::typeCodeToLabel($sk->skill_type); + print ''; + print $sk->getNomUrl(1); + print ''; + print $sk->description; + print ''; + print displayRankInfos($skillElement->rank, $skillElement->fk_skill, 'TNote', $objecttype == 'job' && $permissiontoadd ? 'edit' : 'view'); + print ''; + print 'id . '">'; + print img_delete(); + print ''; + } + print '
    '; + if ($objecttype != 'user' && $permissiontoadd) print ''; + print '
    '; + if ($objecttype != 'user' && $permissiontoadd) print '
    '; + + + // liste des compétences liées + + print dol_get_fiche_end(); + + llxFooter(); +} diff --git a/htdocs/imports/emptyexample.php b/htdocs/imports/emptyexample.php index a50a2fc9996..b919a3c4c3e 100644 --- a/htdocs/imports/emptyexample.php +++ b/htdocs/imports/emptyexample.php @@ -102,13 +102,13 @@ if ($attachment) { // List of targets fields -$headerlinefields = array(); -$contentlinevalues = array(); +$headerlinefields = array(); // Array of fields (label to show) +$contentlinevalues = array(); // Array of example values $i = 0; foreach ($fieldstarget as $code => $label) { $withoutstar = preg_replace('/\*/', '', $fieldstarget[$code]); $headerlinefields[] = $langs->transnoentities($withoutstar).($withoutstar != $fieldstarget[$code] ? '*' : '').' ('.$code.')'; - $contentlinevalues[] = $valuestarget[$code]; + $contentlinevalues[] = (isset($valuestarget[$code]) ? $valuestarget[$code] : ''); } //var_dump($headerlinefields); //var_dump($contentlinevalues); diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index 4c5975ecb43..2ab7e3976aa 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -462,7 +462,7 @@ if ($step == 2 && $datatoimport) { print '
    '; print '
    '; - print ''; + print '
    '; // Module print ''; @@ -475,7 +475,7 @@ if ($step == 2 && $datatoimport) { print $titleofmodule; print ''; - // Lot de donnees a importer + // Dataset to import print ''; print ''; print ''; // Action button print ''; - print ''; print '
    '.$langs->trans("Module").'
    '.$langs->trans("DatasetToImport").''; $entity = preg_replace('/:.*$/', '', $objimport->array_import_icon[0]); @@ -519,7 +519,9 @@ if ($step == 2 && $datatoimport) { $text = $objmodelimport->getDriverDescForKey($key); print ''.$form->textwithpicto($objmodelimport->getDriverLabelForKey($key), $text).''; - print img_picto('', 'download', 'class="paddingright opacitymedium"').''.$langs->trans("DownloadEmptyExample").''; + print img_picto('', 'download', 'class="paddingright opacitymedium"').''.$langs->trans("DownloadEmptyExample"); + print ''; + print ' ('.$langs->trans("StarAreMandatory").')'; print ''; @@ -602,11 +604,13 @@ if ($step == 3 && $datatoimport) { // Source file format print '
    '.$langs->trans("SourceFileFormat").''; + print ''; $text = $objmodelimport->getDriverDescForKey($format); print $form->textwithpicto($objmodelimport->getDriverLabelForKey($format), $text); print ''; - print img_picto('', 'download', 'class="paddingright opacitymedium"').''.$langs->trans("DownloadEmptyExample").''; + print img_picto('', 'download', 'class="paddingright opacitymedium"').''.$langs->trans("DownloadEmptyExample"); + print ''; + print ' ('.$langs->trans("StarAreMandatory").')'; print '
    '; @@ -641,18 +645,13 @@ if ($step == 3 && $datatoimport) { print $s; print '

    '; - print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table - print ''; - $filetoimport = ''; - //print ''; - // Input file name box - print ''; - print "\n"; + print ''; + + print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table + print '
    '.$langs->trans("FileWithDataToImport").'
    '; + print '
    '; print '     '; $out = (empty($conf->global->MAIN_UPLOAD_DOC) ? ' disabled' : ''); - print ''; + print ''; $out = ''; if (!empty($conf->global->MAIN_UPLOAD_DOC)) { $max = $conf->global->MAIN_UPLOAD_DOC; // In Kb @@ -705,8 +704,10 @@ if ($step == 3 && $datatoimport) { $out .= ' ('.$langs->trans("UploadDisabled").')'; } print $out; - print '
    '; // Search available imports $filearray = dol_dir_list($conf->import->dir_temp, 'files', 0, '', '', 'name', SORT_DESC); @@ -1051,8 +1052,8 @@ if ($step == 4 && $datatoimport) { $entityicon = $entitytoicon[$entity] ? $entitytoicon[$entity] : $entity; // $entityicon must string name of picto of the field like 'project', 'company', 'contact', 'modulename', ... $entitylang = $entitytolang[$entity] ? $entitytolang[$entity] : $objimport->array_import_label[0]; // $entitylang must be a translation key to describe object the field is related to, like 'Company', 'Contact', 'MyModyle', ... - print ''; - print ''; + print ''; // Info field - print ''; print ''; - $save_select .= $bit; } print '
    =>'.img_object('', $entityicon).' '.$langs->trans($entitylang).''; + print '=>'.img_object('', $entityicon).' '.$langs->trans($entitylang).''; $newlabel = preg_replace('/\*$/', '', $label); $text = $langs->trans($newlabel); $more = ''; @@ -1067,7 +1068,7 @@ if ($step == 4 && $datatoimport) { print $text; print ''; + print ''; $filecolumn = $array_match_database_to_file[$code]; // Source field info $htmltext = ''.$langs->trans("FieldSource").'
    '; @@ -1126,7 +1127,6 @@ if ($step == 4 && $datatoimport) { print '
    '; @@ -1205,7 +1205,7 @@ if ($step == 4 && $datatoimport) { // async: false // });'."\n"; // Now reload page - print 'var newlocation= \''.$_SERVER["PHP_SELF"].'?step=4'.$param.'&action=saveorder&boxorder=\' + boxorder;'."\n"; + print 'var newlocation= \''.$_SERVER["PHP_SELF"].'?step=4'.$param.'&action=saveorder&token='.newToken().'&boxorder=\' + boxorder;'."\n"; //print 'alert(newlocation);'; print 'window.location.href=newlocation;'."\n"; print '}'."\n"; @@ -1247,6 +1247,7 @@ if ($step == 4 && $datatoimport) { print ''; print ''; + print '
    '; // You can use div-table-responsive-no-min if you dont need reserved height for your table print ''; print ''; print ''; @@ -1255,7 +1256,7 @@ if ($step == 4 && $datatoimport) { print ''; print ''; - print ''; + print ''; print '
    '.$langs->trans("ImportModelName").'
    '; $arrayvisibility = array('private'=>$langs->trans("Private"), 'all'=>$langs->trans("Everybody")); print $form->selectarray('visibility', $arrayvisibility, 'private'); @@ -1306,6 +1307,8 @@ if ($step == 4 && $datatoimport) { } print '
    '; + print '
    '; + print ''; } } @@ -2124,14 +2127,14 @@ function show_elem($fieldssource, $pos, $key, $var, $nostyle = '') print ' '; print ''; print ''; - } else // Print field of source file - { + } else { + // Print field of source file print ''; print ''; // The image must have the class 'boxhandle' beause it's value used in DOM draggable objects to define the area used to catch the full object print img_picto($langs->trans("MoveField", $pos), 'grip_title', 'class="boxhandle" style="cursor:move;"'); print ''; - print ''; + print ''; print $langs->trans("Field").' '.$pos; $example = $fieldssource[$pos]['example1']; if ($example) { diff --git a/htdocs/includes/.htaccess b/htdocs/includes/.htaccess new file mode 100644 index 00000000000..c15ce44a5e1 --- /dev/null +++ b/htdocs/includes/.htaccess @@ -0,0 +1,16 @@ +# htaccess file to clock +# The virtual host must have AllowOverride FileInfo to have this file used. +# You can achieve the same effect by adding a definition to +# +# +#RewriteRule \.php$ - [F,L] +# + + +#RewriteRule \.php$ - [F,L] + +# If there is no directory with AllowOveride FileInfo, you will get error 500. But +# we got what we want, php file into external libraries can't be executed directly. + + SetHandler ! + diff --git a/htdocs/includes/odtphp/odf.php b/htdocs/includes/odtphp/odf.php index 91fec8d998e..a7416258a57 100644 --- a/htdocs/includes/odtphp/odf.php +++ b/htdocs/includes/odtphp/odf.php @@ -2,6 +2,9 @@ require 'Segment.php'; +/** + * Class of ODT Exception + */ class OdfException extends Exception { } @@ -65,12 +68,12 @@ class Odf } $md5uniqid = md5(uniqid()); - if ($this->config['PATH_TO_TMP']) $this->tmpdir = preg_replace('|[\/]$|','',$this->config['PATH_TO_TMP']); // Remove last \ or / + if ($this->config['PATH_TO_TMP']) $this->tmpdir = preg_replace('|[\/]$|', '', $this->config['PATH_TO_TMP']); // Remove last \ or / $this->tmpdir .= ($this->tmpdir?'/':'').$md5uniqid; $this->tmpfile = $this->tmpdir.'/'.$md5uniqid.'.odt'; // We keep .odt extension to allow OpenOffice usage during debug. // A working directory is required for some zip proxy like PclZipProxy - if (in_array($this->config['ZIP_PROXY'],array('PclZipProxy')) && ! is_dir($this->config['PATH_TO_TMP'])) { + if (in_array($this->config['ZIP_PROXY'], array('PclZipProxy')) && ! is_dir($this->config['PATH_TO_TMP'])) { throw new OdfException('Temporary directory '.$this->config['PATH_TO_TMP'].' must exists'); } @@ -81,8 +84,8 @@ class Odf // Load zip proxy $zipHandler = $this->config['ZIP_PROXY']; - if (!defined('PCLZIP_TEMPORARY_DIR')) define('PCLZIP_TEMPORARY_DIR',$this->tmpdir); - include_once('zip/'.$zipHandler.'.php'); + if (!defined('PCLZIP_TEMPORARY_DIR')) define('PCLZIP_TEMPORARY_DIR', $this->tmpdir); + include_once 'zip/'.$zipHandler.'.php'; if (! class_exists($this->config['ZIP_PROXY'])) { throw new OdfException($this->config['ZIP_PROXY'] . ' class not found - check your php settings'); } @@ -147,13 +150,13 @@ class Odf } /** - * Replaces html tags in odt tags and returns a compatible string - * @param string $key Name of the variable within the template + * Replaces html tags in odt tags and returns a compatible string + * * @param string $value Replacement value * @param bool $encode If true, special XML characters are encoded * @param string $charset Charset - * @return string - */ + * @return string + */ public function convertVarToOdf($value, $encode = true, $charset = 'ISO-8859') { $value = $encode ? htmlspecialchars($value) : $value; @@ -172,6 +175,9 @@ class Odf '' ); + $customStyles = array(); + $fontDeclarations = array(); + $convertedValue = $this->_replaceHtmlWithOdtTag($this->_getDataFromHtml($value), $customStyles, $fontDeclarations); foreach ($customStyles as $key => $val) { @@ -195,207 +201,207 @@ class Odf } } $this->contentXml = str_replace('', $fonts . '', $this->contentXml); - } - else $convertedValue = preg_replace('/(\r\n|\r|\n)/i', "", $value); + } else $convertedValue = preg_replace('/(\r\n|\r|\n)/i', "", $value); return $convertedValue; } /** - * Replaces html tags in with odt tags and returns an odt string - * @param array $tags An array with html tags generated by the getDataFromHtml() function - * @param array $customStyles An array of style defenitions that should be included inside the odt file - * @param array $fontDeclarations An array of font declarations that should be included inside the odt file - * @return string - */ - private function _replaceHtmlWithOdtTag($tags, &$customStyles, &$fontDeclarations) + * Replaces html tags in with odt tags and returns an odt string + * @param array $tags An array with html tags generated by the getDataFromHtml() function + * @param array $customStyles An array of style defenitions that should be included inside the odt file + * @param array $fontDeclarations An array of font declarations that should be included inside the odt file + * @return string + */ + private function _replaceHtmlWithOdtTag($tags, &$customStyles, &$fontDeclarations) { - if ($customStyles == null) $customStyles = array(); - if ($fontDeclarations == null) $fontDeclarations = array(); + if ($customStyles == null) $customStyles = array(); + if ($fontDeclarations == null) $fontDeclarations = array(); - $odtResult = ''; + $odtResult = ''; - foreach ((array) $tags as $tag) { - // Check if the current item is a tag or just plain text - if (isset($tag['text'])) { - $odtResult .= $tag['text']; - } elseif (isset($tag['name'])) { - switch ($tag['name']) { - case 'br': - $odtResult .= ''; - break; - case 'strong': - case 'b': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'i': - case 'em': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'u': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 's': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'sub': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'sup': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'span': - if (isset($tag['attributes']['style'])) { - $odtStyles = ''; - foreach ($tag['attributes']['style'] as $styleName => $styleValue) { - switch ($styleName) { - case 'font-family': - $fontName = $styleValue; - if (strpos($fontName, ',') !== false) { - $fontName = explode(',', $fontName)[0]; - } - if (!in_array($fontName, $fontDeclarations)) { - array_push($fontDeclarations, $fontName); - } - $odtStyles .= ''; - break; - case 'font-size': - if (preg_match('/([0-9]+)\s?(px|pt)/', $styleValue, $matches)) { - $fontSize = intval($matches[1]); - if ($matches[2] == 'px') { - $fontSize = round($fontSize * 0.75); - } - $odtStyles .= ''; - } - break; - case 'color': - if (preg_match('/#[0-9A-Fa-f]{3}(?:[0-9A-Fa-f]{3})?/', $styleValue)) { - $odtStyles .= ''; - } - break; - } - } - if (strlen($odtStyles) > 0) { + foreach ((array) $tags as $tag) { + // Check if the current item is a tag or just plain text + if (isset($tag['text'])) { + $odtResult .= $tag['text']; + } elseif (isset($tag['name'])) { + switch ($tag['name']) { + case 'br': + $odtResult .= ''; + break; + case 'strong': + case 'b': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'i': + case 'em': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'u': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 's': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'sub': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'sup': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'span': + if (isset($tag['attributes']['style'])) { + $odtStyles = ''; + foreach ($tag['attributes']['style'] as $styleName => $styleValue) { + switch ($styleName) { + case 'font-family': + $fontName = $styleValue; + if (strpos($fontName, ',') !== false) { + $fontName = explode(',', $fontName)[0]; + } + if (!in_array($fontName, $fontDeclarations)) { + array_push($fontDeclarations, $fontName); + } + $odtStyles .= ''; + break; + case 'font-size': + if (preg_match('/([0-9]+)\s?(px|pt)/', $styleValue, $matches)) { + $fontSize = intval($matches[1]); + if ($matches[2] == 'px') { + $fontSize = round($fontSize * 0.75); + } + $odtStyles .= ''; + } + break; + case 'color': + if (preg_match('/#[0-9A-Fa-f]{3}(?:[0-9A-Fa-f]{3})?/', $styleValue)) { + $odtStyles .= ''; + } + break; + } + } + if (strlen($odtStyles) > 0) { // Generate a unique id for the style (using microtime and random because some CPUs are really fast...) - $key = floatval(str_replace('.', '', microtime(true)))+rand(0, 10); - $customStyles[$key] = $odtStyles; - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - } - } - break; - default: - $odtResult .= $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations); - break; - } - } - } - return $odtResult; - } + $key = floatval(str_replace('.', '', microtime(true)))+rand(0, 10); + $customStyles[$key] = $odtStyles; + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + } + } + break; + default: + $odtResult .= $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations); + break; + } + } + } + return $odtResult; + } - /** - * Checks if the given text is a html string - * @param string $text The text to check - * @return bool - */ - private function _isHtmlTag($text) + /** + * Checks if the given text is a html string + * @param string $text The text to check + * @return bool + */ + private function _isHtmlTag($text) { - return preg_match('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); - } + return preg_match('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); + } - /** - * Checks if the given text includes a html string - * @param string $text The text to check - * @return bool - */ - private function _hasHtmlTag($text) + /** + * Checks if the given text includes a html string + * @param string $text The text to check + * @return bool + */ + private function _hasHtmlTag($text) { - $result = preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); - return is_numeric($result) && $result > 0; - } + $result = preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); + return is_numeric($result) && $result > 0; + } - /** - * Returns an array of html elements - * @param string $html A string with html tags - * @return array - */ - private function _getDataFromHtml($html) + /** + * Returns an array of html elements + * @param string $html A string with html tags + * @return array + */ + private function _getDataFromHtml($html) { - $tags = array(); - $tempHtml = $html; + $tags = array(); + $tempHtml = $html; - while (strlen($tempHtml) > 0) { - // Check if the string includes a html tag - if (preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $tempHtml, $matches)) { - $tagOffset = strpos($tempHtml, $matches[0][0]); - // Check if the string starts with the html tag - if ($tagOffset > 0) { - // Push the text infront of the html tag to the result array - array_push($tags, array( - 'text' => substr($tempHtml, 0, $tagOffset) - )); - // Remove the text from the string - $tempHtml = substr($tempHtml, $tagOffset); - } - // Extract the attribute data from the html tag - preg_match_all('/([0-9A-Za-z]+(?:="[0-9A-Za-z\:\-\s\,\;\#]*")?)+/', $matches[2][0], $explodedAttributes); - $explodedAttributes = array_filter($explodedAttributes[0]); - $attributes = array(); - // Store each attribute with its name in the $attributes array - $explodedAttributesCount = count($explodedAttributes); - for ($i=0; $i<$explodedAttributesCount; $i++) { - $attribute = trim($explodedAttributes[$i]); - // Check if the attribute has a value (like style="") or has no value (like required) - if (strpos($attribute, '=') !== false) { - $splitAttribute = explode('=', $attribute); - $attrName = trim($splitAttribute[0]); - $attrValue = trim(str_replace('"', '', $splitAttribute[1])); - // check if the current attribute is a style attribute - if (strtolower($attrName) == 'style') { - $attributes[$attrName] = array(); - if (strpos($attrValue, ';') !== false) { - // Split the style properties and store them in an array - $explodedStyles = explode(';', $attrValue); - $explodedStylesCount = count($explodedStyles); - for ($n=0; $n<$explodedStylesCount; $n++) { - $splitStyle = explode(':', $explodedStyles[$n]); - $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); - } - } else { - $splitStyle = explode(':', $attrValue); - $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); - } - } else { - // Store the value directly in the $attributes array if this is not the style attribute - $attributes[$attrName] = $attrValue; - } - } else { - $attributes[trim($attribute)] = true; - } - } - // Push the html tag data to the result array - array_push($tags, array( - 'name' => $matches[1][0], - 'attributes' => $attributes, - 'innerText' => strip_tags($matches[3][0]), - 'children' => $this->_hasHtmlTag($matches[3][0]) ? $this->_getDataFromHtml($matches[3][0]) : null - )); - // Remove the processed html tag from the html string - $tempHtml = substr($tempHtml, strlen($matches[0][0])); - } else { - array_push($tags, array( - 'text' => $tempHtml - )); - $tempHtml = ''; - } - } - return $tags; - } + while (strlen($tempHtml) > 0) { + // Check if the string includes a html tag + if (preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $tempHtml, $matches)) { + $tagOffset = strpos($tempHtml, $matches[0][0]); + // Check if the string starts with the html tag + if ($tagOffset > 0) { + // Push the text infront of the html tag to the result array + array_push($tags, array( + 'text' => substr($tempHtml, 0, $tagOffset) + )); + // Remove the text from the string + $tempHtml = substr($tempHtml, $tagOffset); + } + // Extract the attribute data from the html tag + preg_match_all('/([0-9A-Za-z]+(?:="[0-9A-Za-z\:\-\s\,\;\#]*")?)+/', $matches[2][0], $explodedAttributes); + $explodedAttributes = array_filter($explodedAttributes[0]); + $attributes = array(); + // Store each attribute with its name in the $attributes array + $explodedAttributesCount = count($explodedAttributes); + for ($i=0; $i<$explodedAttributesCount; $i++) { + $attribute = trim($explodedAttributes[$i]); + // Check if the attribute has a value (like style="") or has no value (like required) + if (strpos($attribute, '=') !== false) { + $splitAttribute = explode('=', $attribute); + $attrName = trim($splitAttribute[0]); + $attrValue = trim(str_replace('"', '', $splitAttribute[1])); + // check if the current attribute is a style attribute + if (strtolower($attrName) == 'style') { + $attributes[$attrName] = array(); + if (strpos($attrValue, ';') !== false) { + // Split the style properties and store them in an array + $explodedStyles = explode(';', $attrValue); + $explodedStylesCount = count($explodedStyles); + for ($n=0; $n<$explodedStylesCount; $n++) { + $splitStyle = explode(':', $explodedStyles[$n]); + $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); + } + } else { + $splitStyle = explode(':', $attrValue); + $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); + } + } else { + // Store the value directly in the $attributes array if this is not the style attribute + $attributes[$attrName] = $attrValue; + } + } else { + $attributes[trim($attribute)] = true; + } + } + // Push the html tag data to the result array + array_push($tags, array( + 'name' => $matches[1][0], + 'attributes' => $attributes, + 'innerText' => strip_tags($matches[3][0]), + 'children' => $this->_hasHtmlTag($matches[3][0]) ? $this->_getDataFromHtml($matches[3][0]) : null + )); + // Remove the processed html tag from the html string + $tempHtml = substr($tempHtml, strlen($matches[0][0])); + } else { + array_push($tags, array( + 'text' => $tempHtml + )); + $tempHtml = ''; + } + } + return $tags; + } /** * Function to convert a HTML string into an ODT string * * @param string $value String to convert + * @return string String converted */ public function htmlToUTFAndPreOdf($value) { @@ -404,16 +410,15 @@ class Odf // We convert html tags $ishtml=dol_textishtml($value); - if ($ishtml) - { - // If string is "MYPODUCT - Desc bold with é accent
    \n
    \nUn texto en español ?" - // Result after clean must be "MYPODUCT - Desc bold with é accent\n\nUn texto en español ?" + if ($ishtml) { + // If string is "MYPODUCT - Desc bold with é accent
    \n
    \nUn texto en español ?" + // Result after clean must be "MYPODUCT - Desc bold with é accent\n\nUn texto en español ?" // We want to ignore \n and we want all
    to be \n - $value=preg_replace('/(\r\n|\r|\n)/i','',$value); - $value=preg_replace('/
    /i',"\n",$value); - $value=preg_replace('/\/]*>/i',"\n",$value); - $value=preg_replace('/\/]*\/>/i',"\n",$value); + $value=preg_replace('/(\r\n|\r|\n)/i', '', $value); + $value=preg_replace('/
    /i', "\n", $value); + $value=preg_replace('/\/]*>/i', "\n", $value); + $value=preg_replace('/\/]*\/>/i', "\n", $value); //$value=preg_replace('//','__lt__text:p text:style-name=__quot__bold__quot____gt__',$value); //$value=preg_replace('/<\/strong>/','__lt__/text:p__gt__',$value); @@ -429,6 +434,7 @@ class Odf * Function to convert a HTML string into an ODT string * * @param string $value String to convert + * @return string String converted */ public function preOdfToOdf($value) { @@ -448,15 +454,14 @@ class Odf */ public function phpEval() { - preg_match_all('/[\{\<]\?(php)?\s+(?P.+)\?[\}\>]/iU',$this->contentXml, $matches); // detecting all {?php code ?} or + preg_match_all('/[\{\<]\?(php)?\s+(?P.+)\?[\}\>]/iU', $this->contentXml, $matches); // detecting all {?php code ?} or $nbfound=count($matches['content']); - for ($i=0; $i < $nbfound; $i++) - { + for ($i=0; $i < $nbfound; $i++) { try { $ob_output = ''; // flush the output for each code. This var will be filled in by the eval($code) and output buffering : any print or echo or output will be redirected into this variable $code = $matches['content'][$i]; ob_start(); - eval ($code); + eval($code); $ob_output = ob_get_contents(); // send the content of the buffer into $ob_output $this->contentXml = str_replace($matches[0][$i], $ob_output, $this->contentXml); ob_end_clean(); @@ -503,12 +508,12 @@ IMG; */ private function _moveRowSegments() { - // Replace BEGINxxx into BEGIN xxx - $this->contentXml = preg_replace('/\[!--\sBEGIN]>(row.[\S]*)\s--\]/sm', '[!-- BEGIN \\1 --]', $this->contentXml); - // Replace ENDxxx into END xxx - $this->contentXml = preg_replace('/\[!--\sEND]>(row.[\S]*)\s--\]/sm', '[!-- END \\1 --]', $this->contentXml); + // Replace BEGINxxx into BEGIN xxx + $this->contentXml = preg_replace('/\[!--\sBEGIN]>(row.[\S]*)\s--\]/sm', '[!-- BEGIN \\1 --]', $this->contentXml); + // Replace ENDxxx into END xxx + $this->contentXml = preg_replace('/\[!--\sEND]>(row.[\S]*)\s--\]/sm', '[!-- END \\1 --]', $this->contentXml); - // Search all possible rows in the document + // Search all possible rows in the document $reg1 = "#]*>(.*)#smU"; preg_match_all($reg1, $this->contentXml, $matches); for ($i = 0, $size = count($matches[0]); $i < $size; $i++) { @@ -536,31 +541,28 @@ IMG; * @param string $type 'content', 'styles' or 'meta' * @return void */ - private function _parse($type='content') + private function _parse($type = 'content') { - // Search all tags fou into condition to complete $this->vars, so we will proceed all tests even if not defined - $reg='@\[!--\sIF\s([{}a-zA-Z0-9\.\,_]+)\s--\]@smU'; - preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); + // Search all tags found into condition to complete $this->vars, so we will proceed all tests even if not defined + $reg='@\[!--\sIF\s([{}a-zA-Z0-9\.\,_]+)\s--\]@smU'; + $matches = array(); + preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); - //var_dump($this->vars);exit; - foreach($matches as $match) // For each match, if there is no entry into this->vars, we add it - { - if (! empty($match[1]) && ! isset($this->vars[$match[1]])) - { - $this->vars[$match[1]] = ''; // Not defined, so we set it to '', we just need entry into this->vars for next loop + //var_dump($this->vars);exit; + foreach ($matches as $match) { // For each match, if there is no entry into this->vars, we add it + if (! empty($match[1]) && ! isset($this->vars[$match[1]])) { + $this->vars[$match[1]] = ''; // Not defined, so we set it to '', we just need entry into this->vars for next loop } - } - //var_dump($this->vars);exit; + } + //var_dump($this->vars);exit; // Conditionals substitution // Note: must be done before static substitution, else the variable will be replaced by its value and the conditional won't work anymore - foreach($this->vars as $key => $value) - { + foreach ($this->vars as $key => $value) { // If value is true (not 0 nor false nor null nor empty string) - if ($value) - { - //dol_syslog("Var ".$key." is defined, we remove the IF, ELSE and ENDIF "); - //$sav=$this->contentXml; + if ($value) { + //dol_syslog("Var ".$key." is defined, we remove the IF, ELSE and ENDIF "); + //$sav=$this->contentXml; // Remove the IF tag $this->contentXml = str_replace('[!-- IF '.$key.' --]', '', $this->contentXml); // Remove everything between the ELSE tag (if it exists) and the ENDIF tag @@ -568,27 +570,26 @@ IMG; $this->contentXml = preg_replace($reg, '', $this->contentXml); /*if ($sav != $this->contentXml) { - dol_syslog("We found a IF and it was processed"); - //var_dump($sav);exit; + dol_syslog("We found a IF and it was processed"); + //var_dump($sav);exit; }*/ - } - // Else the value is false, then two cases: no ELSE and we're done, or there is at least one place where there is an ELSE clause, then we replace it - else - { - //dol_syslog("Var ".$key." is not defined, we remove the IF, ELSE and ENDIF "); - //$sav=$this->contentXml; + } else { + // Else the value is false, then two cases: no ELSE and we're done, or there is at least one place where there is an ELSE clause, then we replace it + + //dol_syslog("Var ".$key." is not defined, we remove the IF, ELSE and ENDIF "); + //$sav=$this->contentXml; // Find all conditional blocks for this variable: from IF to ELSE and to ENDIF $reg = '@\[!--\sIF\s' . $key . '\s--\](.*)(\[!--\sELSE\s' . $key . '\s--\](.*))?\[!--\sENDIF\s' . $key . '\s--\]@smU'; // U modifier = all quantifiers are non-greedy preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); - foreach($matches as $match) { // For each match, if there is an ELSE clause, we replace the whole block by the value in the ELSE clause + foreach ($matches as $match) { // For each match, if there is an ELSE clause, we replace the whole block by the value in the ELSE clause if (!empty($match[3])) $this->contentXml = str_replace($match[0], $match[3], $this->contentXml); } // Cleanup the other conditional blocks (all the others where there were no ELSE clause, we can just remove them altogether) $this->contentXml = preg_replace($reg, '', $this->contentXml); /*if ($sav != $this->contentXml) { - dol_syslog("We found a IF and it was processed"); - //var_dump($sav);exit; + dol_syslog("We found a IF and it was processed"); + //var_dump($sav);exit; }*/ } } @@ -597,7 +598,6 @@ IMG; if ($type == 'content') $this->contentXml = str_replace(array_keys($this->vars), array_values($this->vars), $this->contentXml); if ($type == 'styles') $this->stylesXml = str_replace(array_keys($this->vars), array_values($this->vars), $this->stylesXml); if ($type == 'meta') $this->metaXml = str_replace(array_keys($this->vars), array_values($this->vars), $this->metaXml); - } /** @@ -737,21 +737,19 @@ IMG; */ public function setMetaData() { - if (empty($this->creator)) $this->creator=''; + if (empty($this->creator)) $this->creator=''; $this->metaXml = preg_replace('/.*<\/dc:date>/', ''.gmdate("Y-m-d\TH:i:s").'', $this->metaXml); $this->metaXml = preg_replace('/.*<\/dc:creator>/', ''.htmlspecialchars($this->creator).'', $this->metaXml); $this->metaXml = preg_replace('/.*<\/dc:title>/', ''.htmlspecialchars($this->title).'', $this->metaXml); $this->metaXml = preg_replace('/.*<\/dc:subject>/', ''.htmlspecialchars($this->subject).'', $this->metaXml); - if (count($this->userdefined)) - { - foreach($this->userdefined as $key => $val) - { - $this->metaXml = preg_replace('', '', $this->metaXml); - $this->metaXml = preg_replace('/.*<\/meta:user-defined>/', '', $this->metaXml); - $this->metaXml = str_replace('', ''.htmlspecialchars($val).'', $this->metaXml); - } + if (count($this->userdefined)) { + foreach ($this->userdefined as $key => $val) { + $this->metaXml = preg_replace('', '', $this->metaXml); + $this->metaXml = preg_replace('/.*<\/meta:user-defined>/', '', $this->metaXml); + $this->metaXml = str_replace('', ''.htmlspecialchars($val).'', $this->metaXml); + } } } @@ -785,8 +783,7 @@ IMG; throw new OdfException("headers already sent ($filename at $linenum)"); } - if( $name == "" ) - { + if ( $name == "" ) { $name = md5(uniqid()) . ".odt"; } @@ -804,11 +801,11 @@ IMG; * @throws OdfException * @return void */ - public function exportAsAttachedPDF($name="") + public function exportAsAttachedPDF($name = "") { global $conf; - if( $name == "" ) $name = "temp".md5(uniqid()); + if ( $name == "" ) $name = "temp".md5(uniqid()); dol_syslog(get_class($this).'::exportAsAttachedPDF $name='.$name, LOG_DEBUG); $this->saveToDisk($name); @@ -818,8 +815,7 @@ IMG; // Export to PDF using LibreOffice - if ($conf->global->MAIN_ODT_AS_PDF == 'libreoffice') - { + if ($conf->global->MAIN_ODT_AS_PDF == 'libreoffice') { dol_mkdir($conf->user->dir_temp); // We must be sure the directory exists and is writable // We delete and recreate a subdir because the soffice may have change pemrissions on it @@ -831,9 +827,7 @@ IMG; // using linux/mac libreoffice that must be in path // Note PHP Config "fastcgi.impersonate=0" must set to 0 - Default is 1 $command ='soffice --headless -env:UserInstallation=file:\''.$conf->user->dir_temp.'/odtaspdf\' --convert-to pdf --outdir '. escapeshellarg(dirname($name)). " ".escapeshellarg($name); - } - elseif (preg_match('/unoconv/', $conf->global->MAIN_ODT_AS_PDF)) - { + } elseif (preg_match('/unoconv/', $conf->global->MAIN_ODT_AS_PDF)) { // If issue with unoconv, see https://github.com/dagwieers/unoconv/issues/87 // MAIN_ODT_AS_PDF should be "sudo -u unoconv /usr/bin/unoconv" and userunoconv must have sudo to be root by adding file /etc/sudoers.d/unoconv with content www-data ALL=(unoconv) NOPASSWD: /usr/bin/unoconv . @@ -860,19 +854,14 @@ IMG; $command = $conf->global->MAIN_ODT_AS_PDF.' '.escapeshellcmd($name); //$command = '/usr/bin/unoconv -vvv '.escapeshellcmd($name); - } - else - { + } else { // deprecated old method using odt2pdf.sh (native, jodconverter, ...) $tmpname=preg_replace('/\.odt/i', '', $name); - if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) - { + if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) { $command = $conf->global->MAIN_DOL_SCRIPTS_ROOT.'/scripts/odt2pdf/odt2pdf.sh '.escapeshellcmd($tmpname).' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF); - } - else - { - dol_syslog(get_class($this).'::exportAsAttachedPDF is used but the constant MAIN_DOL_SCRIPTS_ROOT with path to script directory was not defined.', LOG_WARNING); + } else { + dol_syslog(get_class($this).'::exportAsAttachedPDF is used but the constant MAIN_DOL_SCRIPTS_ROOT with path to script directory was not defined.', LOG_WARNING); $command = '../../scripts/odt2pdf/odt2pdf.sh '.escapeshellcmd($tmpname).' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF); } } @@ -880,25 +869,26 @@ IMG; //$dirname=dirname($name); //$command = DOL_DOCUMENT_ROOT.'/includes/odtphp/odt2pdf.sh '.$name.' '.$dirname; - dol_syslog(get_class($this).'::exportAsAttachedPDF $execmethod='.$execmethod.' Run command='.$command,LOG_DEBUG); + dol_syslog(get_class($this).'::exportAsAttachedPDF $execmethod='.$execmethod.' Run command='.$command, LOG_DEBUG); + // TODO Use: + // $outputfile = DOL_DATA_ROOT.'/odt2pdf.log'; + // $result = $utils->executeCLI($command, $outputfile); and replace test on $execmethod. + // $retval will be $result['result'] + // $errorstring will be $result['output'] $retval=0; $output_arr=array(); - if ($execmethod == 1) - { + if ($execmethod == 1) { exec($command, $output_arr, $retval); } - if ($execmethod == 2) - { + if ($execmethod == 2) { $outputfile = DOL_DATA_ROOT.'/odt2pdf.log'; $ok=0; $handle = fopen($outputfile, 'w'); - if ($handle) - { - dol_syslog(get_class($this)."Run command ".$command,LOG_DEBUG); + if ($handle) { + dol_syslog(get_class($this)."Run command ".$command, LOG_DEBUG); fwrite($handle, $command."\n"); $handlein = popen($command, 'r'); - while (!feof($handlein)) - { + while (!feof($handlein)) { $read = fgets($handlein); fwrite($handle, $read); $output_arr[]=$read; @@ -909,8 +899,7 @@ IMG; if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK)); } - if ($retval == 0) - { + if ($retval == 0) { dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG); $filename=''; $linenum=0; @@ -927,8 +916,7 @@ IMG; } } - if (!empty($conf->global->MAIN_ODT_AS_PDF_DEL_SOURCE)) - { + if (!empty($conf->global->MAIN_ODT_AS_PDF_DEL_SOURCE)) { unlink($name); } } else { @@ -937,11 +925,10 @@ IMG; if ($retval == 126) { throw new OdfException('Permission execute convert script : ' . $command); - } - else { - $errorstring=''; - foreach($output_arr as $line) { - $errorstring.= $line."
    "; + } else { + $errorstring=''; + foreach ($output_arr as $line) { + $errorstring.= $line."
    "; } throw new OdfException('ODT to PDF convert fail (option MAIN_ODT_AS_PDF is '.$conf->global->MAIN_ODT_AS_PDF.', command was '.$command.', retval='.$retval.') : ' . $errorstring); } diff --git a/htdocs/includes/symfony/var-dumper/Caster/AmqpCaster.php b/htdocs/includes/symfony/var-dumper/Caster/AmqpCaster.php index 4e9b351c181..4f1aa18a053 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/AmqpCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/AmqpCaster.php @@ -20,145 +20,191 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class AmqpCaster { - private static $flags = array( - AMQP_DURABLE => 'AMQP_DURABLE', - AMQP_PASSIVE => 'AMQP_PASSIVE', - AMQP_EXCLUSIVE => 'AMQP_EXCLUSIVE', - AMQP_AUTODELETE => 'AMQP_AUTODELETE', - AMQP_INTERNAL => 'AMQP_INTERNAL', - AMQP_NOLOCAL => 'AMQP_NOLOCAL', - AMQP_AUTOACK => 'AMQP_AUTOACK', - AMQP_IFEMPTY => 'AMQP_IFEMPTY', - AMQP_IFUNUSED => 'AMQP_IFUNUSED', - AMQP_MANDATORY => 'AMQP_MANDATORY', - AMQP_IMMEDIATE => 'AMQP_IMMEDIATE', - AMQP_MULTIPLE => 'AMQP_MULTIPLE', - AMQP_NOWAIT => 'AMQP_NOWAIT', - AMQP_REQUEUE => 'AMQP_REQUEUE', - ); + private static $flags = array( + AMQP_DURABLE => 'AMQP_DURABLE', + AMQP_PASSIVE => 'AMQP_PASSIVE', + AMQP_EXCLUSIVE => 'AMQP_EXCLUSIVE', + AMQP_AUTODELETE => 'AMQP_AUTODELETE', + AMQP_INTERNAL => 'AMQP_INTERNAL', + AMQP_NOLOCAL => 'AMQP_NOLOCAL', + AMQP_AUTOACK => 'AMQP_AUTOACK', + AMQP_IFEMPTY => 'AMQP_IFEMPTY', + AMQP_IFUNUSED => 'AMQP_IFUNUSED', + AMQP_MANDATORY => 'AMQP_MANDATORY', + AMQP_IMMEDIATE => 'AMQP_IMMEDIATE', + AMQP_MULTIPLE => 'AMQP_MULTIPLE', + AMQP_NOWAIT => 'AMQP_NOWAIT', + AMQP_REQUEUE => 'AMQP_REQUEUE', + ); - private static $exchangeTypes = array( - AMQP_EX_TYPE_DIRECT => 'AMQP_EX_TYPE_DIRECT', - AMQP_EX_TYPE_FANOUT => 'AMQP_EX_TYPE_FANOUT', - AMQP_EX_TYPE_TOPIC => 'AMQP_EX_TYPE_TOPIC', - AMQP_EX_TYPE_HEADERS => 'AMQP_EX_TYPE_HEADERS', - ); + private static $exchangeTypes = array( + AMQP_EX_TYPE_DIRECT => 'AMQP_EX_TYPE_DIRECT', + AMQP_EX_TYPE_FANOUT => 'AMQP_EX_TYPE_FANOUT', + AMQP_EX_TYPE_TOPIC => 'AMQP_EX_TYPE_TOPIC', + AMQP_EX_TYPE_HEADERS => 'AMQP_EX_TYPE_HEADERS', + ); - public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - // BC layer in the ampq lib - if (method_exists($c, 'getReadTimeout')) { - $timeout = $c->getReadTimeout(); - } else { - $timeout = $c->getTimeout(); - } + $a += array( + $prefix.'is_connected' => $c->isConnected(), + ); - $a += array( - $prefix.'isConnected' => $c->isConnected(), - $prefix.'login' => $c->getLogin(), - $prefix.'password' => $c->getPassword(), - $prefix.'host' => $c->getHost(), - $prefix.'port' => $c->getPort(), - $prefix.'vhost' => $c->getVhost(), - $prefix.'readTimeout' => $timeout, - ); + // Recent version of the extension already expose private properties + if (isset($a["\x00AMQPConnection\x00login"])) { + return $a; + } - return $a; - } + // BC layer in the amqp lib + if (method_exists($c, 'getReadTimeout')) { + $timeout = $c->getReadTimeout(); + } else { + $timeout = $c->getTimeout(); + } - public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + $a += array( + $prefix.'is_connected' => $c->isConnected(), + $prefix.'login' => $c->getLogin(), + $prefix.'password' => $c->getPassword(), + $prefix.'host' => $c->getHost(), + $prefix.'vhost' => $c->getVhost(), + $prefix.'port' => $c->getPort(), + $prefix.'read_timeout' => $timeout, + ); - $a += array( - $prefix.'isConnected' => $c->isConnected(), - $prefix.'channelId' => $c->getChannelId(), - $prefix.'prefetchSize' => $c->getPrefetchSize(), - $prefix.'prefetchCount' => $c->getPrefetchCount(), - $prefix.'connection' => $c->getConnection(), - ); + return $a; + } - return $a; - } + public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + $a += array( + $prefix.'is_connected' => $c->isConnected(), + $prefix.'channel_id' => $c->getChannelId(), + ); - $a += array( - $prefix.'name' => $c->getName(), - $prefix.'flags' => self::extractFlags($c->getFlags()), - $prefix.'arguments' => $c->getArguments(), - $prefix.'connection' => $c->getConnection(), - $prefix.'channel' => $c->getChannel(), - ); + // Recent version of the extension already expose private properties + if (isset($a["\x00AMQPChannel\x00connection"])) { + return $a; + } - return $a; - } + $a += array( + $prefix.'connection' => $c->getConnection(), + $prefix.'prefetch_size' => $c->getPrefetchSize(), + $prefix.'prefetch_count' => $c->getPrefetchCount(), + ); - public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + return $a; + } - $a += array( - $prefix.'name' => $c->getName(), - $prefix.'flags' => self::extractFlags($c->getFlags()), - $prefix.'type' => isset(self::$exchangeTypes[$c->getType()]) ? new ConstStub(self::$exchangeTypes[$c->getType()], $c->getType()) : $c->getType(), - $prefix.'arguments' => $c->getArguments(), - $prefix.'channel' => $c->getChannel(), - $prefix.'connection' => $c->getConnection(), - ); + public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - return $a; - } + $a += array( + $prefix.'flags' => self::extractFlags($c->getFlags()), + ); - public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; + // Recent version of the extension already expose private properties + if (isset($a["\x00AMQPQueue\x00name"])) { + return $a; + } - if (!($filter & Caster::EXCLUDE_VERBOSE)) { - $a += array($prefix.'body' => $c->getBody()); - } + $a += array( + $prefix.'connection' => $c->getConnection(), + $prefix.'channel' => $c->getChannel(), + $prefix.'name' => $c->getName(), + $prefix.'arguments' => $c->getArguments(), + ); - $a += array( - $prefix.'routingKey' => $c->getRoutingKey(), - $prefix.'deliveryTag' => $c->getDeliveryTag(), - $prefix.'deliveryMode' => new ConstStub($c->getDeliveryMode().(2 === $c->getDeliveryMode() ? ' (persistent)' : ' (non-persistent)'), $c->getDeliveryMode()), - $prefix.'exchangeName' => $c->getExchangeName(), - $prefix.'isRedelivery' => $c->isRedelivery(), - $prefix.'contentType' => $c->getContentType(), - $prefix.'contentEncoding' => $c->getContentEncoding(), - $prefix.'type' => $c->getType(), - $prefix.'timestamp' => $c->getTimestamp(), - $prefix.'priority' => $c->getPriority(), - $prefix.'expiration' => $c->getExpiration(), - $prefix.'userId' => $c->getUserId(), - $prefix.'appId' => $c->getAppId(), - $prefix.'messageId' => $c->getMessageId(), - $prefix.'replyTo' => $c->getReplyTo(), - $prefix.'correlationId' => $c->getCorrelationId(), - $prefix.'headers' => $c->getHeaders(), - ); + return $a; + } - return $a; - } + public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - private static function extractFlags($flags) - { - $flagsArray = array(); + $a += array( + $prefix.'flags' => self::extractFlags($c->getFlags()), + ); - foreach (self::$flags as $value => $name) { - if ($flags & $value) { - $flagsArray[] = $name; - } - } + $type = isset(self::$exchangeTypes[$c->getType()]) ? new ConstStub(self::$exchangeTypes[$c->getType()], $c->getType()) : $c->getType(); - if (!$flagsArray) { - $flagsArray = array('AMQP_NOPARAM'); - } + // Recent version of the extension already expose private properties + if (isset($a["\x00AMQPExchange\x00name"])) { + $a["\x00AMQPExchange\x00type"] = $type; - return new ConstStub(implode('|', $flagsArray), $flags); - } + return $a; + } + + $a += array( + $prefix.'connection' => $c->getConnection(), + $prefix.'channel' => $c->getChannel(), + $prefix.'name' => $c->getName(), + $prefix.'type' => $type, + $prefix.'arguments' => $c->getArguments(), + ); + + return $a; + } + + public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, $isNested, $filter = 0) + { + $prefix = Caster::PREFIX_VIRTUAL; + + $deliveryMode = new ConstStub($c->getDeliveryMode().(2 === $c->getDeliveryMode() ? ' (persistent)' : ' (non-persistent)'), $c->getDeliveryMode()); + + // Recent version of the extension already expose private properties + if (isset($a["\x00AMQPEnvelope\x00body"])) { + $a["\0AMQPEnvelope\0delivery_mode"] = $deliveryMode; + + return $a; + } + + if (!($filter & Caster::EXCLUDE_VERBOSE)) { + $a += array($prefix.'body' => $c->getBody()); + } + + $a += array( + $prefix.'delivery_tag' => $c->getDeliveryTag(), + $prefix.'is_redelivery' => $c->isRedelivery(), + $prefix.'exchange_name' => $c->getExchangeName(), + $prefix.'routing_key' => $c->getRoutingKey(), + $prefix.'content_type' => $c->getContentType(), + $prefix.'content_encoding' => $c->getContentEncoding(), + $prefix.'headers' => $c->getHeaders(), + $prefix.'delivery_mode' => $deliveryMode, + $prefix.'priority' => $c->getPriority(), + $prefix.'correlation_id' => $c->getCorrelationId(), + $prefix.'reply_to' => $c->getReplyTo(), + $prefix.'expiration' => $c->getExpiration(), + $prefix.'message_id' => $c->getMessageId(), + $prefix.'timestamp' => $c->getTimeStamp(), + $prefix.'type' => $c->getType(), + $prefix.'user_id' => $c->getUserId(), + $prefix.'app_id' => $c->getAppId(), + ); + + return $a; + } + + private static function extractFlags($flags) + { + $flagsArray = array(); + + foreach (self::$flags as $value => $name) { + if ($flags & $value) { + $flagsArray[] = $name; + } + } + + if (!$flagsArray) { + $flagsArray = array('AMQP_NOPARAM'); + } + + return new ConstStub(implode('|', $flagsArray), $flags); + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/ArgsStub.php b/htdocs/includes/symfony/var-dumper/Caster/ArgsStub.php new file mode 100644 index 00000000000..0fa2e17fa5e --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Caster/ArgsStub.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +use Symfony\Component\VarDumper\Cloner\Stub; + +/** + * Represents a list of function arguments. + * + * @author Nicolas Grekas + */ +class ArgsStub extends EnumStub +{ + private static $parameters = array(); + + public function __construct(array $args, $function, $class) + { + list($variadic, $params) = self::getParameters($function, $class); + + $values = array(); + foreach ($args as $k => $v) { + $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; + } + if (null === $params) { + parent::__construct($values, false); + + return; + } + if (count($values) < count($params)) { + $params = array_slice($params, 0, count($values)); + } elseif (count($values) > count($params)) { + $values[] = new EnumStub(array_splice($values, count($params)), false); + $params[] = $variadic; + } + if (array('...') === $params) { + $this->dumpKeys = false; + $this->value = $values[0]->value; + } else { + $this->value = array_combine($params, $values); + } + } + + private static function getParameters($function, $class) + { + if (isset(self::$parameters[$k = $class.'::'.$function])) { + return self::$parameters[$k]; + } + + try { + $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function); + } catch (\ReflectionException $e) { + return array(null, null); + } + + $variadic = '...'; + $params = array(); + foreach ($r->getParameters() as $v) { + $k = '$'.$v->name; + if ($v->isPassedByReference()) { + $k = '&'.$k; + } + if (method_exists($v, 'isVariadic') && $v->isVariadic()) { + $variadic .= $k; + } else { + $params[] = $k; + } + } + + return self::$parameters[$k] = array($variadic, $params); + } +} diff --git a/htdocs/includes/symfony/var-dumper/Caster/Caster.php b/htdocs/includes/symfony/var-dumper/Caster/Caster.php index 23e72e87701..701c83a599e 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/Caster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/Caster.php @@ -11,6 +11,8 @@ namespace Symfony\Component\VarDumper\Caster; +use Symfony\Component\VarDumper\Cloner\Stub; + /** * Helper for filtering out properties in casters. * @@ -18,99 +20,123 @@ namespace Symfony\Component\VarDumper\Caster; */ class Caster { - const EXCLUDE_VERBOSE = 1; - const EXCLUDE_VIRTUAL = 2; - const EXCLUDE_DYNAMIC = 4; - const EXCLUDE_PUBLIC = 8; - const EXCLUDE_PROTECTED = 16; - const EXCLUDE_PRIVATE = 32; - const EXCLUDE_NULL = 64; - const EXCLUDE_EMPTY = 128; - const EXCLUDE_NOT_IMPORTANT = 256; - const EXCLUDE_STRICT = 512; + const EXCLUDE_VERBOSE = 1; + const EXCLUDE_VIRTUAL = 2; + const EXCLUDE_DYNAMIC = 4; + const EXCLUDE_PUBLIC = 8; + const EXCLUDE_PROTECTED = 16; + const EXCLUDE_PRIVATE = 32; + const EXCLUDE_NULL = 64; + const EXCLUDE_EMPTY = 128; + const EXCLUDE_NOT_IMPORTANT = 256; + const EXCLUDE_STRICT = 512; - const PREFIX_VIRTUAL = "\0~\0"; - const PREFIX_DYNAMIC = "\0+\0"; - const PREFIX_PROTECTED = "\0*\0"; + const PREFIX_VIRTUAL = "\0~\0"; + const PREFIX_DYNAMIC = "\0+\0"; + const PREFIX_PROTECTED = "\0*\0"; - /** - * Casts objects to arrays and adds the dynamic property prefix. - * - * @param object $obj The object to cast. - * @param \ReflectionClass $reflector The class reflector to use for inspecting the object definition. - * - * @return array The array-cast of the object, with prefixed dynamic properties. - */ - public static function castObject($obj, \ReflectionClass $reflector) - { - if ($reflector->hasMethod('__debugInfo')) { - $a = $obj->__debugInfo(); - } else { - $a = (array) $obj; - } + /** + * Casts objects to arrays and adds the dynamic property prefix. + * + * @param object $obj The object to cast + * @param \ReflectionClass $reflector The class reflector to use for inspecting the object definition + * + * @return array The array-cast of the object, with prefixed dynamic properties + */ + public static function castObject($obj, \ReflectionClass $reflector) + { + if ($reflector->hasMethod('__debugInfo')) { + $a = $obj->__debugInfo(); + } elseif ($obj instanceof \Closure) { + $a = array(); + } else { + $a = (array) $obj; + } + if ($obj instanceof \__PHP_Incomplete_Class) { + return $a; + } - if ($a) { - $p = array_keys($a); - foreach ($p as $i => $k) { - if (!isset($k[0]) || ("\0" !== $k[0] && !$reflector->hasProperty($k))) { - $p[$i] = self::PREFIX_DYNAMIC.$k; - } elseif (isset($k[16]) && "\0" === $k[16] && 0 === strpos($k, "\0class@anonymous\0")) { - $p[$i] = "\0".$reflector->getParentClass().'@anonymous'.strrchr($k, "\0"); - } - } - $a = array_combine($p, $a); - } + if ($a) { + $combine = false; + $p = array_keys($a); + foreach ($p as $i => $k) { + if (isset($k[0]) ? "\0" !== $k[0] && !$reflector->hasProperty($k) : \PHP_VERSION_ID >= 70200) { + $combine = true; + $p[$i] = self::PREFIX_DYNAMIC.$k; + } elseif (isset($k[16]) && "\0" === $k[16] && 0 === strpos($k, "\0class@anonymous\0")) { + $combine = true; + $p[$i] = "\0".$reflector->getParentClass().'@anonymous'.strrchr($k, "\0"); + } + } + if ($combine) { + $a = array_combine($p, $a); + } + } - return $a; - } + return $a; + } - /** - * Filters out the specified properties. - * - * By default, a single match in the $filter bit field filters properties out, following an "or" logic. - * When EXCLUDE_STRICT is set, an "and" logic is applied: all bits must match for a property to be removed. - * - * @param array $a The array containing the properties to filter. - * @param int $filter A bit field of Caster::EXCLUDE_* constants specifying which properties to filter out. - * @param string[] $listedProperties List of properties to exclude when Caster::EXCLUDE_VERBOSE is set, and to preserve when Caster::EXCLUDE_NOT_IMPORTANT is set. - * - * @return array The filtered array - */ - public static function filter(array $a, $filter, array $listedProperties = array()) - { - foreach ($a as $k => $v) { - $type = self::EXCLUDE_STRICT & $filter; + /** + * Filters out the specified properties. + * + * By default, a single match in the $filter bit field filters properties out, following an "or" logic. + * When EXCLUDE_STRICT is set, an "and" logic is applied: all bits must match for a property to be removed. + * + * @param array $a The array containing the properties to filter + * @param int $filter A bit field of Caster::EXCLUDE_* constants specifying which properties to filter out + * @param string[] $listedProperties List of properties to exclude when Caster::EXCLUDE_VERBOSE is set, and to preserve when Caster::EXCLUDE_NOT_IMPORTANT is set + * @param int &$count Set to the number of removed properties + * + * @return array The filtered array + */ + public static function filter(array $a, $filter, array $listedProperties = array(), &$count = 0) + { + $count = 0; - if (null === $v) { - $type |= self::EXCLUDE_NULL & $filter; - } - if (empty($v)) { - $type |= self::EXCLUDE_EMPTY & $filter; - } - if ((self::EXCLUDE_NOT_IMPORTANT & $filter) && !in_array($k, $listedProperties, true)) { - $type |= self::EXCLUDE_NOT_IMPORTANT; - } - if ((self::EXCLUDE_VERBOSE & $filter) && in_array($k, $listedProperties, true)) { - $type |= self::EXCLUDE_VERBOSE; - } + foreach ($a as $k => $v) { + $type = self::EXCLUDE_STRICT & $filter; - if (!isset($k[1]) || "\0" !== $k[0]) { - $type |= self::EXCLUDE_PUBLIC & $filter; - } elseif ('~' === $k[1]) { - $type |= self::EXCLUDE_VIRTUAL & $filter; - } elseif ('+' === $k[1]) { - $type |= self::EXCLUDE_DYNAMIC & $filter; - } elseif ('*' === $k[1]) { - $type |= self::EXCLUDE_PROTECTED & $filter; - } else { - $type |= self::EXCLUDE_PRIVATE & $filter; - } + if (null === $v) { + $type |= self::EXCLUDE_NULL & $filter; + } + if (empty($v)) { + $type |= self::EXCLUDE_EMPTY & $filter; + } + if ((self::EXCLUDE_NOT_IMPORTANT & $filter) && !in_array($k, $listedProperties, true)) { + $type |= self::EXCLUDE_NOT_IMPORTANT; + } + if ((self::EXCLUDE_VERBOSE & $filter) && in_array($k, $listedProperties, true)) { + $type |= self::EXCLUDE_VERBOSE; + } - if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) { - unset($a[$k]); - } - } + if (!isset($k[1]) || "\0" !== $k[0]) { + $type |= self::EXCLUDE_PUBLIC & $filter; + } elseif ('~' === $k[1]) { + $type |= self::EXCLUDE_VIRTUAL & $filter; + } elseif ('+' === $k[1]) { + $type |= self::EXCLUDE_DYNAMIC & $filter; + } elseif ('*' === $k[1]) { + $type |= self::EXCLUDE_PROTECTED & $filter; + } else { + $type |= self::EXCLUDE_PRIVATE & $filter; + } - return $a; - } + if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) { + unset($a[$k]); + ++$count; + } + } + + return $a; + } + + public static function castPhpIncompleteClass(\__PHP_Incomplete_Class $c, array $a, Stub $stub, $isNested) + { + if (isset($a['__PHP_Incomplete_Class_Name'])) { + $stub->class .= '('.$a['__PHP_Incomplete_Class_Name'].')'; + unset($a['__PHP_Incomplete_Class_Name']); + } + + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/ClassStub.php b/htdocs/includes/symfony/var-dumper/Caster/ClassStub.php new file mode 100644 index 00000000000..6acb22d665c --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Caster/ClassStub.php @@ -0,0 +1,87 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +/** + * Represents a PHP class identifier. + * + * @author Nicolas Grekas + */ +class ClassStub extends ConstStub +{ + /** + * Constructor. + * + * @param string A PHP identifier, e.g. a class, method, interface, etc. name + * @param callable The callable targeted by the identifier when it is ambiguous or not a real PHP identifier + */ + public function __construct($identifier, $callable = null) + { + $this->value = $identifier; + + if (0 < $i = strrpos($identifier, '\\')) { + $this->attr['ellipsis'] = strlen($identifier) - $i; + } + + try { + if (null !== $callable) { + if ($callable instanceof \Closure) { + $r = new \ReflectionFunction($callable); + } elseif (is_object($callable)) { + $r = array($callable, '__invoke'); + } elseif (is_array($callable)) { + $r = $callable; + } elseif (false !== $i = strpos($callable, '::')) { + $r = array(substr($callable, 0, $i), substr($callable, 2 + $i)); + } else { + $r = new \ReflectionFunction($callable); + } + } elseif (false !== $i = strpos($identifier, '::')) { + $r = array(substr($identifier, 0, $i), substr($identifier, 2 + $i)); + } else { + $r = new \ReflectionClass($identifier); + } + + if (is_array($r)) { + try { + $r = new \ReflectionMethod($r[0], $r[1]); + } catch (\ReflectionException $e) { + $r = new \ReflectionClass($r[0]); + } + } + } catch (\ReflectionException $e) { + return; + } + + if ($f = $r->getFileName()) { + $this->attr['file'] = $f; + $this->attr['line'] = $r->getStartLine(); + } + } + + public static function wrapCallable($callable) + { + if (is_object($callable) || !is_callable($callable)) { + return $callable; + } + + if (!is_array($callable)) { + $callable = new static($callable); + } elseif (is_string($callable[0])) { + $callable[0] = new static($callable[0]); + } else { + $callable[1] = new static($callable[1], $callable); + } + + return $callable; + } +} diff --git a/htdocs/includes/symfony/var-dumper/Caster/ConstStub.php b/htdocs/includes/symfony/var-dumper/Caster/ConstStub.php index f20e03cdf0d..64766c3ba4f 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/ConstStub.php +++ b/htdocs/includes/symfony/var-dumper/Caster/ConstStub.php @@ -20,9 +20,14 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class ConstStub extends Stub { - public function __construct($name, $value) - { - $this->class = $name; - $this->value = $value; - } + public function __construct($name, $value) + { + $this->class = $name; + $this->value = $value; + } + + public function __toString() + { + return (string) $this->value; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/CutStub.php b/htdocs/includes/symfony/var-dumper/Caster/CutStub.php index 8781f5cf3c6..c8f51970abe 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/CutStub.php +++ b/htdocs/includes/symfony/var-dumper/Caster/CutStub.php @@ -20,37 +20,40 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class CutStub extends Stub { - public function __construct($value) - { - $this->value = $value; + public function __construct($value) + { + $this->value = $value; - switch (gettype($value)) { - case 'object': - $this->type = self::TYPE_OBJECT; - $this->class = get_class($value); - $this->cut = -1; - break; + switch (gettype($value)) { + case 'object': + $this->type = self::TYPE_OBJECT; + $this->class = get_class($value); + $this->cut = -1; + break; - case 'array': - $this->type = self::TYPE_ARRAY; - $this->class = self::ARRAY_ASSOC; - $this->cut = $this->value = count($value); - break; + case 'array': + $this->type = self::TYPE_ARRAY; + $this->class = self::ARRAY_ASSOC; + $this->cut = $this->value = count($value); + break; - case 'resource': - case 'unknown type': - $this->type = self::TYPE_RESOURCE; - $this->handle = (int) $value; - $this->class = @get_resource_type($value); - $this->cut = -1; - break; + case 'resource': + case 'unknown type': + case 'resource (closed)': + $this->type = self::TYPE_RESOURCE; + $this->handle = (int) $value; + if ('Unknown' === $this->class = @get_resource_type($value)) { + $this->class = 'Closed'; + } + $this->cut = -1; + break; - case 'string': - $this->type = self::TYPE_STRING; - $this->class = preg_match('//u', $value) ? self::STRING_UTF8 : self::STRING_BINARY; - $this->cut = self::STRING_BINARY === $this->class ? strlen($value) : mb_strlen($value, 'UTF-8'); - $this->value = ''; - break; - } - } + case 'string': + $this->type = self::TYPE_STRING; + $this->class = preg_match('//u', $value) ? self::STRING_UTF8 : self::STRING_BINARY; + $this->cut = self::STRING_BINARY === $this->class ? strlen($value) : mb_strlen($value, 'UTF-8'); + $this->value = ''; + break; + } + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/DOMCaster.php b/htdocs/includes/symfony/var-dumper/Caster/DOMCaster.php index e04cf9534b3..c35c1965b8d 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/DOMCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/DOMCaster.php @@ -20,283 +20,283 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class DOMCaster { - private static $errorCodes = array( - DOM_PHP_ERR => 'DOM_PHP_ERR', - DOM_INDEX_SIZE_ERR => 'DOM_INDEX_SIZE_ERR', - DOMSTRING_SIZE_ERR => 'DOMSTRING_SIZE_ERR', - DOM_HIERARCHY_REQUEST_ERR => 'DOM_HIERARCHY_REQUEST_ERR', - DOM_WRONG_DOCUMENT_ERR => 'DOM_WRONG_DOCUMENT_ERR', - DOM_INVALID_CHARACTER_ERR => 'DOM_INVALID_CHARACTER_ERR', - DOM_NO_DATA_ALLOWED_ERR => 'DOM_NO_DATA_ALLOWED_ERR', - DOM_NO_MODIFICATION_ALLOWED_ERR => 'DOM_NO_MODIFICATION_ALLOWED_ERR', - DOM_NOT_FOUND_ERR => 'DOM_NOT_FOUND_ERR', - DOM_NOT_SUPPORTED_ERR => 'DOM_NOT_SUPPORTED_ERR', - DOM_INUSE_ATTRIBUTE_ERR => 'DOM_INUSE_ATTRIBUTE_ERR', - DOM_INVALID_STATE_ERR => 'DOM_INVALID_STATE_ERR', - DOM_SYNTAX_ERR => 'DOM_SYNTAX_ERR', - DOM_INVALID_MODIFICATION_ERR => 'DOM_INVALID_MODIFICATION_ERR', - DOM_NAMESPACE_ERR => 'DOM_NAMESPACE_ERR', - DOM_INVALID_ACCESS_ERR => 'DOM_INVALID_ACCESS_ERR', - DOM_VALIDATION_ERR => 'DOM_VALIDATION_ERR', - ); + private static $errorCodes = array( + DOM_PHP_ERR => 'DOM_PHP_ERR', + DOM_INDEX_SIZE_ERR => 'DOM_INDEX_SIZE_ERR', + DOMSTRING_SIZE_ERR => 'DOMSTRING_SIZE_ERR', + DOM_HIERARCHY_REQUEST_ERR => 'DOM_HIERARCHY_REQUEST_ERR', + DOM_WRONG_DOCUMENT_ERR => 'DOM_WRONG_DOCUMENT_ERR', + DOM_INVALID_CHARACTER_ERR => 'DOM_INVALID_CHARACTER_ERR', + DOM_NO_DATA_ALLOWED_ERR => 'DOM_NO_DATA_ALLOWED_ERR', + DOM_NO_MODIFICATION_ALLOWED_ERR => 'DOM_NO_MODIFICATION_ALLOWED_ERR', + DOM_NOT_FOUND_ERR => 'DOM_NOT_FOUND_ERR', + DOM_NOT_SUPPORTED_ERR => 'DOM_NOT_SUPPORTED_ERR', + DOM_INUSE_ATTRIBUTE_ERR => 'DOM_INUSE_ATTRIBUTE_ERR', + DOM_INVALID_STATE_ERR => 'DOM_INVALID_STATE_ERR', + DOM_SYNTAX_ERR => 'DOM_SYNTAX_ERR', + DOM_INVALID_MODIFICATION_ERR => 'DOM_INVALID_MODIFICATION_ERR', + DOM_NAMESPACE_ERR => 'DOM_NAMESPACE_ERR', + DOM_INVALID_ACCESS_ERR => 'DOM_INVALID_ACCESS_ERR', + DOM_VALIDATION_ERR => 'DOM_VALIDATION_ERR', + ); - private static $nodeTypes = array( - XML_ELEMENT_NODE => 'XML_ELEMENT_NODE', - XML_ATTRIBUTE_NODE => 'XML_ATTRIBUTE_NODE', - XML_TEXT_NODE => 'XML_TEXT_NODE', - XML_CDATA_SECTION_NODE => 'XML_CDATA_SECTION_NODE', - XML_ENTITY_REF_NODE => 'XML_ENTITY_REF_NODE', - XML_ENTITY_NODE => 'XML_ENTITY_NODE', - XML_PI_NODE => 'XML_PI_NODE', - XML_COMMENT_NODE => 'XML_COMMENT_NODE', - XML_DOCUMENT_NODE => 'XML_DOCUMENT_NODE', - XML_DOCUMENT_TYPE_NODE => 'XML_DOCUMENT_TYPE_NODE', - XML_DOCUMENT_FRAG_NODE => 'XML_DOCUMENT_FRAG_NODE', - XML_NOTATION_NODE => 'XML_NOTATION_NODE', - XML_HTML_DOCUMENT_NODE => 'XML_HTML_DOCUMENT_NODE', - XML_DTD_NODE => 'XML_DTD_NODE', - XML_ELEMENT_DECL_NODE => 'XML_ELEMENT_DECL_NODE', - XML_ATTRIBUTE_DECL_NODE => 'XML_ATTRIBUTE_DECL_NODE', - XML_ENTITY_DECL_NODE => 'XML_ENTITY_DECL_NODE', - XML_NAMESPACE_DECL_NODE => 'XML_NAMESPACE_DECL_NODE', - ); + private static $nodeTypes = array( + XML_ELEMENT_NODE => 'XML_ELEMENT_NODE', + XML_ATTRIBUTE_NODE => 'XML_ATTRIBUTE_NODE', + XML_TEXT_NODE => 'XML_TEXT_NODE', + XML_CDATA_SECTION_NODE => 'XML_CDATA_SECTION_NODE', + XML_ENTITY_REF_NODE => 'XML_ENTITY_REF_NODE', + XML_ENTITY_NODE => 'XML_ENTITY_NODE', + XML_PI_NODE => 'XML_PI_NODE', + XML_COMMENT_NODE => 'XML_COMMENT_NODE', + XML_DOCUMENT_NODE => 'XML_DOCUMENT_NODE', + XML_DOCUMENT_TYPE_NODE => 'XML_DOCUMENT_TYPE_NODE', + XML_DOCUMENT_FRAG_NODE => 'XML_DOCUMENT_FRAG_NODE', + XML_NOTATION_NODE => 'XML_NOTATION_NODE', + XML_HTML_DOCUMENT_NODE => 'XML_HTML_DOCUMENT_NODE', + XML_DTD_NODE => 'XML_DTD_NODE', + XML_ELEMENT_DECL_NODE => 'XML_ELEMENT_DECL_NODE', + XML_ATTRIBUTE_DECL_NODE => 'XML_ATTRIBUTE_DECL_NODE', + XML_ENTITY_DECL_NODE => 'XML_ENTITY_DECL_NODE', + XML_NAMESPACE_DECL_NODE => 'XML_NAMESPACE_DECL_NODE', + ); - public static function castException(\DOMException $e, array $a, Stub $stub, $isNested) - { - $k = Caster::PREFIX_PROTECTED.'code'; - if (isset($a[$k], self::$errorCodes[$a[$k]])) { - $a[$k] = new ConstStub(self::$errorCodes[$a[$k]], $a[$k]); - } + public static function castException(\DOMException $e, array $a, Stub $stub, $isNested) + { + $k = Caster::PREFIX_PROTECTED.'code'; + if (isset($a[$k], self::$errorCodes[$a[$k]])) { + $a[$k] = new ConstStub(self::$errorCodes[$a[$k]], $a[$k]); + } - return $a; - } + return $a; + } - public static function castLength($dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'length' => $dom->length, - ); + public static function castLength($dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'length' => $dom->length, + ); - return $a; - } + return $a; + } - public static function castImplementation($dom, array $a, Stub $stub, $isNested) - { - $a += array( - Caster::PREFIX_VIRTUAL.'Core' => '1.0', - Caster::PREFIX_VIRTUAL.'XML' => '2.0', - ); + public static function castImplementation($dom, array $a, Stub $stub, $isNested) + { + $a += array( + Caster::PREFIX_VIRTUAL.'Core' => '1.0', + Caster::PREFIX_VIRTUAL.'XML' => '2.0', + ); - return $a; - } + return $a; + } - public static function castNode(\DOMNode $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'nodeName' => $dom->nodeName, - 'nodeValue' => new CutStub($dom->nodeValue), - 'nodeType' => new ConstStub(self::$nodeTypes[$dom->nodeType], $dom->nodeType), - 'parentNode' => new CutStub($dom->parentNode), - 'childNodes' => $dom->childNodes, - 'firstChild' => new CutStub($dom->firstChild), - 'lastChild' => new CutStub($dom->lastChild), - 'previousSibling' => new CutStub($dom->previousSibling), - 'nextSibling' => new CutStub($dom->nextSibling), - 'attributes' => $dom->attributes, - 'ownerDocument' => new CutStub($dom->ownerDocument), - 'namespaceURI' => $dom->namespaceURI, - 'prefix' => $dom->prefix, - 'localName' => $dom->localName, - 'baseURI' => $dom->baseURI, - 'textContent' => new CutStub($dom->textContent), - ); + public static function castNode(\DOMNode $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'nodeName' => $dom->nodeName, + 'nodeValue' => new CutStub($dom->nodeValue), + 'nodeType' => new ConstStub(self::$nodeTypes[$dom->nodeType], $dom->nodeType), + 'parentNode' => new CutStub($dom->parentNode), + 'childNodes' => $dom->childNodes, + 'firstChild' => new CutStub($dom->firstChild), + 'lastChild' => new CutStub($dom->lastChild), + 'previousSibling' => new CutStub($dom->previousSibling), + 'nextSibling' => new CutStub($dom->nextSibling), + 'attributes' => $dom->attributes, + 'ownerDocument' => new CutStub($dom->ownerDocument), + 'namespaceURI' => $dom->namespaceURI, + 'prefix' => $dom->prefix, + 'localName' => $dom->localName, + 'baseURI' => $dom->baseURI ? new LinkStub($dom->baseURI) : $dom->baseURI, + 'textContent' => new CutStub($dom->textContent), + ); - return $a; - } + return $a; + } - public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'nodeName' => $dom->nodeName, - 'nodeValue' => new CutStub($dom->nodeValue), - 'nodeType' => new ConstStub(self::$nodeTypes[$dom->nodeType], $dom->nodeType), - 'prefix' => $dom->prefix, - 'localName' => $dom->localName, - 'namespaceURI' => $dom->namespaceURI, - 'ownerDocument' => new CutStub($dom->ownerDocument), - 'parentNode' => new CutStub($dom->parentNode), - ); + public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'nodeName' => $dom->nodeName, + 'nodeValue' => new CutStub($dom->nodeValue), + 'nodeType' => new ConstStub(self::$nodeTypes[$dom->nodeType], $dom->nodeType), + 'prefix' => $dom->prefix, + 'localName' => $dom->localName, + 'namespaceURI' => $dom->namespaceURI, + 'ownerDocument' => new CutStub($dom->ownerDocument), + 'parentNode' => new CutStub($dom->parentNode), + ); - return $a; - } + return $a; + } - public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, $isNested, $filter = 0) - { - $a += array( - 'doctype' => $dom->doctype, - 'implementation' => $dom->implementation, - 'documentElement' => new CutStub($dom->documentElement), - 'actualEncoding' => $dom->actualEncoding, - 'encoding' => $dom->encoding, - 'xmlEncoding' => $dom->xmlEncoding, - 'standalone' => $dom->standalone, - 'xmlStandalone' => $dom->xmlStandalone, - 'version' => $dom->version, - 'xmlVersion' => $dom->xmlVersion, - 'strictErrorChecking' => $dom->strictErrorChecking, - 'documentURI' => $dom->documentURI, - 'config' => $dom->config, - 'formatOutput' => $dom->formatOutput, - 'validateOnParse' => $dom->validateOnParse, - 'resolveExternals' => $dom->resolveExternals, - 'preserveWhiteSpace' => $dom->preserveWhiteSpace, - 'recover' => $dom->recover, - 'substituteEntities' => $dom->substituteEntities, - ); + public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, $isNested, $filter = 0) + { + $a += array( + 'doctype' => $dom->doctype, + 'implementation' => $dom->implementation, + 'documentElement' => new CutStub($dom->documentElement), + 'actualEncoding' => $dom->actualEncoding, + 'encoding' => $dom->encoding, + 'xmlEncoding' => $dom->xmlEncoding, + 'standalone' => $dom->standalone, + 'xmlStandalone' => $dom->xmlStandalone, + 'version' => $dom->version, + 'xmlVersion' => $dom->xmlVersion, + 'strictErrorChecking' => $dom->strictErrorChecking, + 'documentURI' => $dom->documentURI ? new LinkStub($dom->documentURI) : $dom->documentURI, + 'config' => $dom->config, + 'formatOutput' => $dom->formatOutput, + 'validateOnParse' => $dom->validateOnParse, + 'resolveExternals' => $dom->resolveExternals, + 'preserveWhiteSpace' => $dom->preserveWhiteSpace, + 'recover' => $dom->recover, + 'substituteEntities' => $dom->substituteEntities, + ); - if (!($filter & Caster::EXCLUDE_VERBOSE)) { - $formatOutput = $dom->formatOutput; - $dom->formatOutput = true; - $a += array(Caster::PREFIX_VIRTUAL.'xml' => $dom->saveXML()); - $dom->formatOutput = $formatOutput; - } + if (!($filter & Caster::EXCLUDE_VERBOSE)) { + $formatOutput = $dom->formatOutput; + $dom->formatOutput = true; + $a += array(Caster::PREFIX_VIRTUAL.'xml' => $dom->saveXML()); + $dom->formatOutput = $formatOutput; + } - return $a; - } + return $a; + } - public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'data' => $dom->data, - 'length' => $dom->length, - ); + public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'data' => $dom->data, + 'length' => $dom->length, + ); - return $a; - } + return $a; + } - public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'name' => $dom->name, - 'specified' => $dom->specified, - 'value' => $dom->value, - 'ownerElement' => $dom->ownerElement, - 'schemaTypeInfo' => $dom->schemaTypeInfo, - ); + public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'name' => $dom->name, + 'specified' => $dom->specified, + 'value' => $dom->value, + 'ownerElement' => $dom->ownerElement, + 'schemaTypeInfo' => $dom->schemaTypeInfo, + ); - return $a; - } + return $a; + } - public static function castElement(\DOMElement $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'tagName' => $dom->tagName, - 'schemaTypeInfo' => $dom->schemaTypeInfo, - ); + public static function castElement(\DOMElement $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'tagName' => $dom->tagName, + 'schemaTypeInfo' => $dom->schemaTypeInfo, + ); - return $a; - } + return $a; + } - public static function castText(\DOMText $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'wholeText' => $dom->wholeText, - ); + public static function castText(\DOMText $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'wholeText' => $dom->wholeText, + ); - return $a; - } + return $a; + } - public static function castTypeinfo(\DOMTypeinfo $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'typeName' => $dom->typeName, - 'typeNamespace' => $dom->typeNamespace, - ); + public static function castTypeinfo(\DOMTypeinfo $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'typeName' => $dom->typeName, + 'typeNamespace' => $dom->typeNamespace, + ); - return $a; - } + return $a; + } - public static function castDomError(\DOMDomError $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'severity' => $dom->severity, - 'message' => $dom->message, - 'type' => $dom->type, - 'relatedException' => $dom->relatedException, - 'related_data' => $dom->related_data, - 'location' => $dom->location, - ); + public static function castDomError(\DOMDomError $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'severity' => $dom->severity, + 'message' => $dom->message, + 'type' => $dom->type, + 'relatedException' => $dom->relatedException, + 'related_data' => $dom->related_data, + 'location' => $dom->location, + ); - return $a; - } + return $a; + } - public static function castLocator(\DOMLocator $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'lineNumber' => $dom->lineNumber, - 'columnNumber' => $dom->columnNumber, - 'offset' => $dom->offset, - 'relatedNode' => $dom->relatedNode, - 'uri' => $dom->uri, - ); + public static function castLocator(\DOMLocator $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'lineNumber' => $dom->lineNumber, + 'columnNumber' => $dom->columnNumber, + 'offset' => $dom->offset, + 'relatedNode' => $dom->relatedNode, + 'uri' => $dom->uri ? new LinkStub($dom->uri, $dom->lineNumber) : $dom->uri, + ); - return $a; - } + return $a; + } - public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'name' => $dom->name, - 'entities' => $dom->entities, - 'notations' => $dom->notations, - 'publicId' => $dom->publicId, - 'systemId' => $dom->systemId, - 'internalSubset' => $dom->internalSubset, - ); + public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'name' => $dom->name, + 'entities' => $dom->entities, + 'notations' => $dom->notations, + 'publicId' => $dom->publicId, + 'systemId' => $dom->systemId, + 'internalSubset' => $dom->internalSubset, + ); - return $a; - } + return $a; + } - public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'publicId' => $dom->publicId, - 'systemId' => $dom->systemId, - ); + public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'publicId' => $dom->publicId, + 'systemId' => $dom->systemId, + ); - return $a; - } + return $a; + } - public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'publicId' => $dom->publicId, - 'systemId' => $dom->systemId, - 'notationName' => $dom->notationName, - 'actualEncoding' => $dom->actualEncoding, - 'encoding' => $dom->encoding, - 'version' => $dom->version, - ); + public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'publicId' => $dom->publicId, + 'systemId' => $dom->systemId, + 'notationName' => $dom->notationName, + 'actualEncoding' => $dom->actualEncoding, + 'encoding' => $dom->encoding, + 'version' => $dom->version, + ); - return $a; - } + return $a; + } - public static function castProcessingInstruction(\DOMProcessingInstruction $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'target' => $dom->target, - 'data' => $dom->data, - ); + public static function castProcessingInstruction(\DOMProcessingInstruction $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'target' => $dom->target, + 'data' => $dom->data, + ); - return $a; - } + return $a; + } - public static function castXPath(\DOMXPath $dom, array $a, Stub $stub, $isNested) - { - $a += array( - 'document' => $dom->document, - ); + public static function castXPath(\DOMXPath $dom, array $a, Stub $stub, $isNested) + { + $a += array( + 'document' => $dom->document, + ); - return $a; - } + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/EnumStub.php b/htdocs/includes/symfony/var-dumper/Caster/EnumStub.php index 67bb2e16390..66d8bc219de 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/EnumStub.php +++ b/htdocs/includes/symfony/var-dumper/Caster/EnumStub.php @@ -20,8 +20,11 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class EnumStub extends Stub { - public function __construct(array $values) - { - $this->value = $values; - } + public $dumpKeys = true; + + public function __construct(array $values, $dumpKeys = true) + { + $this->value = $values; + $this->dumpKeys = $dumpKeys; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/ExceptionCaster.php b/htdocs/includes/symfony/var-dumper/Caster/ExceptionCaster.php index a5a8773e859..daf7cebe83f 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/ExceptionCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/ExceptionCaster.php @@ -21,218 +21,278 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class ExceptionCaster { - public static $srcContext = 1; - public static $traceArgs = true; - public static $errorTypes = array( - E_DEPRECATED => 'E_DEPRECATED', - E_USER_DEPRECATED => 'E_USER_DEPRECATED', - E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR', - E_ERROR => 'E_ERROR', - E_WARNING => 'E_WARNING', - E_PARSE => 'E_PARSE', - E_NOTICE => 'E_NOTICE', - E_CORE_ERROR => 'E_CORE_ERROR', - E_CORE_WARNING => 'E_CORE_WARNING', - E_COMPILE_ERROR => 'E_COMPILE_ERROR', - E_COMPILE_WARNING => 'E_COMPILE_WARNING', - E_USER_ERROR => 'E_USER_ERROR', - E_USER_WARNING => 'E_USER_WARNING', - E_USER_NOTICE => 'E_USER_NOTICE', - E_STRICT => 'E_STRICT', - ); + public static $srcContext = 1; + public static $traceArgs = true; + public static $errorTypes = array( + E_DEPRECATED => 'E_DEPRECATED', + E_USER_DEPRECATED => 'E_USER_DEPRECATED', + E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR', + E_ERROR => 'E_ERROR', + E_WARNING => 'E_WARNING', + E_PARSE => 'E_PARSE', + E_NOTICE => 'E_NOTICE', + E_CORE_ERROR => 'E_CORE_ERROR', + E_CORE_WARNING => 'E_CORE_WARNING', + E_COMPILE_ERROR => 'E_COMPILE_ERROR', + E_COMPILE_WARNING => 'E_COMPILE_WARNING', + E_USER_ERROR => 'E_USER_ERROR', + E_USER_WARNING => 'E_USER_WARNING', + E_USER_NOTICE => 'E_USER_NOTICE', + E_STRICT => 'E_STRICT', + ); - public static function castError(\Error $e, array $a, Stub $stub, $isNested, $filter = 0) - { - return self::filterExceptionArray($stub->class, $a, "\0Error\0", $filter); - } + private static $framesCache = array(); - public static function castException(\Exception $e, array $a, Stub $stub, $isNested, $filter = 0) - { - return self::filterExceptionArray($stub->class, $a, "\0Exception\0", $filter); - } + public static function castError(\Error $e, array $a, Stub $stub, $isNested, $filter = 0) + { + return self::filterExceptionArray($stub->class, $a, "\0Error\0", $filter); + } - public static function castErrorException(\ErrorException $e, array $a, Stub $stub, $isNested) - { - if (isset($a[$s = Caster::PREFIX_PROTECTED.'severity'], self::$errorTypes[$a[$s]])) { - $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]); - } + public static function castException(\Exception $e, array $a, Stub $stub, $isNested, $filter = 0) + { + return self::filterExceptionArray($stub->class, $a, "\0Exception\0", $filter); + } - return $a; - } + public static function castErrorException(\ErrorException $e, array $a, Stub $stub, $isNested) + { + if (isset($a[$s = Caster::PREFIX_PROTECTED.'severity'], self::$errorTypes[$a[$s]])) { + $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]); + } - public static function castThrowingCasterException(ThrowingCasterException $e, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_PROTECTED; - $xPrefix = "\0Exception\0"; + return $a; + } - if (isset($a[$xPrefix.'previous'], $a[$xPrefix.'trace'])) { - $b = (array) $a[$xPrefix.'previous']; - array_unshift($b[$xPrefix.'trace'], array( - 'function' => 'new '.get_class($a[$xPrefix.'previous']), - 'file' => $b[$prefix.'file'], - 'line' => $b[$prefix.'line'], - )); - $a[$xPrefix.'trace'] = new TraceStub($b[$xPrefix.'trace'], false, 0, -1 - count($a[$xPrefix.'trace']->value)); - } + public static function castThrowingCasterException(ThrowingCasterException $e, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_PROTECTED; + $xPrefix = "\0Exception\0"; - unset($a[$xPrefix.'previous'], $a[$prefix.'code'], $a[$prefix.'file'], $a[$prefix.'line']); + if (isset($a[$xPrefix.'previous'], $a[$xPrefix.'trace']) && $a[$xPrefix.'previous'] instanceof \Exception) { + $b = (array) $a[$xPrefix.'previous']; + self::traceUnshift($b[$xPrefix.'trace'], get_class($a[$xPrefix.'previous']), $b[$prefix.'file'], $b[$prefix.'line']); + $a[$xPrefix.'trace'] = new TraceStub($b[$xPrefix.'trace'], false, 0, -1 - count($a[$xPrefix.'trace']->value)); + } - return $a; - } + unset($a[$xPrefix.'previous'], $a[$prefix.'code'], $a[$prefix.'file'], $a[$prefix.'line']); - public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, $isNested) - { - if (!$isNested) { - return $a; - } - $stub->class = ''; - $stub->handle = 0; - $frames = $trace->value; + return $a; + } - $a = array(); - $j = count($frames); - if (0 > $i = $trace->sliceOffset) { - $i = max(0, $j + $i); - } - if (!isset($trace->value[$i])) { - return array(); - } - $lastCall = isset($frames[$i]['function']) ? ' ==> '.(isset($frames[$i]['class']) ? $frames[0]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : ''; + public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, $isNested) + { + if (!$isNested) { + return $a; + } + $stub->class = ''; + $stub->handle = 0; + $frames = $trace->value; + $prefix = Caster::PREFIX_VIRTUAL; - for ($j += $trace->numberingOffset - $i++; isset($frames[$i]); ++$i, --$j) { - $call = isset($frames[$i]['function']) ? (isset($frames[$i]['class']) ? $frames[$i]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : '???'; + $a = array(); + $j = count($frames); + if (0 > $i = $trace->sliceOffset) { + $i = max(0, $j + $i); + } + if (!isset($trace->value[$i])) { + return array(); + } + $lastCall = isset($frames[$i]['function']) ? (isset($frames[$i]['class']) ? $frames[0]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : ''; + $frames[] = array('function' => ''); - $a[Caster::PREFIX_VIRTUAL.$j.'. '.$call.$lastCall] = new FrameStub( - array( - 'object' => isset($frames[$i]['object']) ? $frames[$i]['object'] : null, - 'class' => isset($frames[$i]['class']) ? $frames[$i]['class'] : null, - 'type' => isset($frames[$i]['type']) ? $frames[$i]['type'] : null, - 'function' => isset($frames[$i]['function']) ? $frames[$i]['function'] : null, - ) + $frames[$i - 1], - $trace->keepArgs, - true - ); + for ($j += $trace->numberingOffset - $i++; isset($frames[$i]); ++$i, --$j) { + $f = $frames[$i]; + $call = isset($f['function']) ? (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'].'()' : '???'; - $lastCall = ' ==> '.$call; - } - $a[Caster::PREFIX_VIRTUAL.$j.'. {main}'.$lastCall] = new FrameStub( - array( - 'object' => null, - 'class' => null, - 'type' => null, - 'function' => '{main}', - ) + $frames[$i - 1], - $trace->keepArgs, - true - ); - if (null !== $trace->sliceLength) { - $a = array_slice($a, 0, $trace->sliceLength, true); - } + $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$lastCall; + $frame = new FrameStub( + array( + 'object' => isset($f['object']) ? $f['object'] : null, + 'class' => isset($f['class']) ? $f['class'] : null, + 'type' => isset($f['type']) ? $f['type'] : null, + 'function' => isset($f['function']) ? $f['function'] : null, + ) + $frames[$i - 1], + false, + true + ); + $f = self::castFrameStub($frame, array(), $frame, true); + if (isset($f[$prefix.'src'])) { + foreach ($f[$prefix.'src']->value as $label => $frame) { + $label = substr_replace($label, "title=Stack level $j.&", 2, 0); + } + $f = $frames[$i - 1]; + if ($trace->keepArgs && !empty($f['args']) && $frame instanceof EnumStub) { + $frame->value['arguments'] = new ArgsStub($f['args'], isset($f['function']) ? $f['function'] : null, isset($f['class']) ? $f['class'] : null); + } + } + $a[$label] = $frame; - return $a; - } + $lastCall = $call; + } + if (null !== $trace->sliceLength) { + $a = array_slice($a, 0, $trace->sliceLength, true); + } - public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, $isNested) - { - if (!$isNested) { - return $a; - } - $f = $frame->value; - $prefix = Caster::PREFIX_VIRTUAL; + return $a; + } - if (isset($f['file'], $f['line'])) { - if (preg_match('/\((\d+)\)(?:\([\da-f]{32}\))? : (?:eval\(\)\'d code|runtime-created function)$/', $f['file'], $match)) { - $f['file'] = substr($f['file'], 0, -strlen($match[0])); - $f['line'] = (int) $match[1]; - } - if (file_exists($f['file']) && 0 <= self::$srcContext) { - $src[$f['file'].':'.$f['line']] = self::extractSource(explode("\n", file_get_contents($f['file'])), $f['line'], self::$srcContext); + public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, $isNested) + { + if (!$isNested) { + return $a; + } + $f = $frame->value; + $prefix = Caster::PREFIX_VIRTUAL; - if (!empty($f['class']) && is_subclass_of($f['class'], 'Twig_Template') && method_exists($f['class'], 'getDebugInfo')) { - $template = isset($f['object']) ? $f['object'] : new $f['class'](new \Twig_Environment(new \Twig_Loader_Filesystem())); + if (isset($f['file'], $f['line'])) { + $cacheKey = $f; + unset($cacheKey['object'], $cacheKey['args']); + $cacheKey[] = self::$srcContext; + $cacheKey = implode('-', $cacheKey); - try { - $templateName = $template->getTemplateName(); - $templateSrc = explode("\n", method_exists($template, 'getSource') ? $template->getSource() : $template->getEnvironment()->getLoader()->getSource($templateName)); - $templateInfo = $template->getDebugInfo(); - if (isset($templateInfo[$f['line']])) { - $src[$templateName.':'.$templateInfo[$f['line']]] = self::extractSource($templateSrc, $templateInfo[$f['line']], self::$srcContext); - } - } catch (\Twig_Error_Loader $e) { - } - } - } else { - $src[$f['file']] = $f['line']; - } - $a[$prefix.'src'] = new EnumStub($src); - } + if (isset(self::$framesCache[$cacheKey])) { + $a[$prefix.'src'] = self::$framesCache[$cacheKey]; + } else { + if (preg_match('/\((\d+)\)(?:\([\da-f]{32}\))? : (?:eval\(\)\'d code|runtime-created function)$/', $f['file'], $match)) { + $f['file'] = substr($f['file'], 0, -strlen($match[0])); + $f['line'] = (int) $match[1]; + } + $caller = isset($f['function']) ? sprintf('in %s() on line %d', (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'], $f['line']) : null; + $src = $f['line']; + $srcKey = $f['file']; + $ellipsis = explode(DIRECTORY_SEPARATOR, $srcKey); + $ellipsis = 3 < count($ellipsis) ? 2 + strlen(implode(array_slice($ellipsis, -2))) : 0; - unset($a[$prefix.'args'], $a[$prefix.'line'], $a[$prefix.'file']); - if ($frame->inTraceStub) { - unset($a[$prefix.'class'], $a[$prefix.'type'], $a[$prefix.'function']); - } - foreach ($a as $k => $v) { - if (!$v) { - unset($a[$k]); - } - } - if ($frame->keepArgs && isset($f['args'])) { - $a[$prefix.'args'] = $f['args']; - } + if (file_exists($f['file']) && 0 <= self::$srcContext) { + if (!empty($f['class']) && (is_subclass_of($f['class'], 'Twig\Template') || is_subclass_of($f['class'], 'Twig_Template')) && method_exists($f['class'], 'getDebugInfo')) { + $template = isset($f['object']) ? $f['object'] : unserialize(sprintf('O:%d:"%s":0:{}', strlen($f['class']), $f['class'])); - return $a; - } + $ellipsis = 0; + $templateSrc = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : ''); + $templateInfo = $template->getDebugInfo(); + if (isset($templateInfo[$f['line']])) { + if (!method_exists($template, 'getSourceContext') || !file_exists($templatePath = $template->getSourceContext()->getPath())) { + $templatePath = null; + } + if ($templateSrc) { + $src = self::extractSource($templateSrc, $templateInfo[$f['line']], self::$srcContext, $caller, 'twig', $templatePath); + $srcKey = ($templatePath ?: $template->getTemplateName()).':'.$templateInfo[$f['line']]; + } + } + } + if ($srcKey == $f['file']) { + $src = self::extractSource(file_get_contents($f['file']), $f['line'], self::$srcContext, $caller, 'php', $f['file']); + $srcKey .= ':'.$f['line']; + if ($ellipsis) { + $ellipsis += 1 + strlen($f['line']); + } + } + } + $srcAttr = $ellipsis ? 'ellipsis='.$ellipsis : ''; + self::$framesCache[$cacheKey] = $a[$prefix.'src'] = new EnumStub(array("\0~$srcAttr\0$srcKey" => $src)); + } + } - private static function filterExceptionArray($xClass, array $a, $xPrefix, $filter) - { - if (isset($a[$xPrefix.'trace'])) { - $trace = $a[$xPrefix.'trace']; - unset($a[$xPrefix.'trace']); // Ensures the trace is always last - } else { - $trace = array(); - } + unset($a[$prefix.'args'], $a[$prefix.'line'], $a[$prefix.'file']); + if ($frame->inTraceStub) { + unset($a[$prefix.'class'], $a[$prefix.'type'], $a[$prefix.'function']); + } + foreach ($a as $k => $v) { + if (!$v) { + unset($a[$k]); + } + } + if ($frame->keepArgs && !empty($f['args'])) { + $a[$prefix.'arguments'] = new ArgsStub($f['args'], $f['function'], $f['class']); + } - if (!($filter & Caster::EXCLUDE_VERBOSE)) { - array_unshift($trace, array( - 'function' => $xClass ? 'new '.$xClass : null, - 'file' => $a[Caster::PREFIX_PROTECTED.'file'], - 'line' => $a[Caster::PREFIX_PROTECTED.'line'], - )); - $a[$xPrefix.'trace'] = new TraceStub($trace); - } - if (empty($a[$xPrefix.'previous'])) { - unset($a[$xPrefix.'previous']); - } - unset($a[$xPrefix.'string'], $a[Caster::PREFIX_DYNAMIC.'xdebug_message'], $a[Caster::PREFIX_DYNAMIC.'__destructorException']); + return $a; + } - return $a; - } + private static function filterExceptionArray($xClass, array $a, $xPrefix, $filter) + { + if (isset($a[$xPrefix.'trace'])) { + $trace = $a[$xPrefix.'trace']; + unset($a[$xPrefix.'trace']); // Ensures the trace is always last + } else { + $trace = array(); + } - private static function extractSource(array $srcArray, $line, $srcContext) - { - $src = array(); + if (!($filter & Caster::EXCLUDE_VERBOSE)) { + if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) { + self::traceUnshift($trace, $xClass, $a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']); + } + $a[$xPrefix.'trace'] = new TraceStub($trace, self::$traceArgs); + } + if (empty($a[$xPrefix.'previous'])) { + unset($a[$xPrefix.'previous']); + } + unset($a[$xPrefix.'string'], $a[Caster::PREFIX_DYNAMIC.'xdebug_message'], $a[Caster::PREFIX_DYNAMIC.'__destructorException']); - for ($i = $line - 1 - $srcContext; $i <= $line - 1 + $srcContext; ++$i) { - $src[] = (isset($srcArray[$i]) ? $srcArray[$i] : '')."\n"; - } + if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) { + $a[Caster::PREFIX_PROTECTED.'file'] = new LinkStub($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']); + } - $ltrim = 0; - while (' ' === $src[0][$ltrim] || "\t" === $src[0][$ltrim]) { - $i = $srcContext << 1; - while ($i > 0 && $src[0][$ltrim] === $src[$i][$ltrim]) { - --$i; - } - if ($i) { - break; - } - ++$ltrim; - } - if ($ltrim) { - foreach ($src as $i => $line) { - $src[$i] = substr($line, $ltrim); - } - } + return $a; + } - return implode('', $src); - } + private static function traceUnshift(&$trace, $class, $file, $line) + { + if (isset($trace[0]['file'], $trace[0]['line']) && $trace[0]['file'] === $file && $trace[0]['line'] === $line) { + return; + } + array_unshift($trace, array( + 'function' => $class ? 'new '.$class : null, + 'file' => $file, + 'line' => $line, + )); + } + + private static function extractSource($srcLines, $line, $srcContext, $title, $lang, $file = null) + { + $srcLines = explode("\n", $srcLines); + $src = array(); + + for ($i = $line - 1 - $srcContext; $i <= $line - 1 + $srcContext; ++$i) { + $src[] = (isset($srcLines[$i]) ? $srcLines[$i] : '')."\n"; + } + + $srcLines = array(); + $ltrim = 0; + do { + $pad = null; + for ($i = $srcContext << 1; $i >= 0; --$i) { + if (isset($src[$i][$ltrim]) && "\r" !== ($c = $src[$i][$ltrim]) && "\n" !== $c) { + if (null === $pad) { + $pad = $c; + } + if ((' ' !== $c && "\t" !== $c) || $pad !== $c) { + break; + } + } + } + ++$ltrim; + } while (0 > $i && null !== $pad); + + --$ltrim; + + foreach ($src as $i => $c) { + if ($ltrim) { + $c = isset($c[$ltrim]) && "\r" !== $c[$ltrim] ? substr($c, $ltrim) : ltrim($c, " \t"); + } + $c = substr($c, 0, -1); + if ($i !== $srcContext) { + $c = new ConstStub('default', $c); + } else { + $c = new ConstStub($c, $title); + if (null !== $file) { + $c->attr['file'] = $file; + $c->attr['line'] = $line; + } + } + $c->attr['lang'] = $lang; + $srcLines[sprintf("\0~%d\0", $i + $line - $srcContext)] = $c; + } + + return new EnumStub($srcLines); + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/LinkStub.php b/htdocs/includes/symfony/var-dumper/Caster/LinkStub.php new file mode 100644 index 00000000000..d275379c2a9 --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Caster/LinkStub.php @@ -0,0 +1,51 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +/** + * Represents a file or a URL. + * + * @author Nicolas Grekas + */ +class LinkStub extends ConstStub +{ + public function __construct($label, $line = 0, $href = null) + { + $this->value = $label; + + if (null === $href) { + $href = $label; + } + if (is_string($href)) { + if (0 === strpos($href, 'file://')) { + if ($href === $label) { + $label = substr($label, 7); + } + $href = substr($href, 7); + } elseif (false !== strpos($href, '://')) { + $this->attr['href'] = $href; + + return; + } + if (file_exists($href)) { + if ($line) { + $this->attr['line'] = $line; + } + $this->attr['file'] = realpath($href) ?: $href; + + if ($this->attr['file'] === $label && 3 < count($ellipsis = explode(DIRECTORY_SEPARATOR, $href))) { + $this->attr['ellipsis'] = 2 + strlen(implode(array_slice($ellipsis, -2))); + } + } + } + } +} diff --git a/htdocs/includes/symfony/var-dumper/Caster/PdoCaster.php b/htdocs/includes/symfony/var-dumper/Caster/PdoCaster.php index e60b9275fd8..782101a90a7 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/PdoCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/PdoCaster.php @@ -20,95 +20,101 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class PdoCaster { - private static $pdoAttributes = array( - 'CASE' => array( - \PDO::CASE_LOWER => 'LOWER', - \PDO::CASE_NATURAL => 'NATURAL', - \PDO::CASE_UPPER => 'UPPER', - ), - 'ERRMODE' => array( - \PDO::ERRMODE_SILENT => 'SILENT', - \PDO::ERRMODE_WARNING => 'WARNING', - \PDO::ERRMODE_EXCEPTION => 'EXCEPTION', - ), - 'TIMEOUT', - 'PREFETCH', - 'AUTOCOMMIT', - 'PERSISTENT', - 'DRIVER_NAME', - 'SERVER_INFO', - 'ORACLE_NULLS' => array( - \PDO::NULL_NATURAL => 'NATURAL', - \PDO::NULL_EMPTY_STRING => 'EMPTY_STRING', - \PDO::NULL_TO_STRING => 'TO_STRING', - ), - 'CLIENT_VERSION', - 'SERVER_VERSION', - 'STATEMENT_CLASS', - 'EMULATE_PREPARES', - 'CONNECTION_STATUS', - 'STRINGIFY_FETCHES', - 'DEFAULT_FETCH_MODE' => array( - \PDO::FETCH_ASSOC => 'ASSOC', - \PDO::FETCH_BOTH => 'BOTH', - \PDO::FETCH_LAZY => 'LAZY', - \PDO::FETCH_NUM => 'NUM', - \PDO::FETCH_OBJ => 'OBJ', - ), - ); + private static $pdoAttributes = array( + 'CASE' => array( + \PDO::CASE_LOWER => 'LOWER', + \PDO::CASE_NATURAL => 'NATURAL', + \PDO::CASE_UPPER => 'UPPER', + ), + 'ERRMODE' => array( + \PDO::ERRMODE_SILENT => 'SILENT', + \PDO::ERRMODE_WARNING => 'WARNING', + \PDO::ERRMODE_EXCEPTION => 'EXCEPTION', + ), + 'TIMEOUT', + 'PREFETCH', + 'AUTOCOMMIT', + 'PERSISTENT', + 'DRIVER_NAME', + 'SERVER_INFO', + 'ORACLE_NULLS' => array( + \PDO::NULL_NATURAL => 'NATURAL', + \PDO::NULL_EMPTY_STRING => 'EMPTY_STRING', + \PDO::NULL_TO_STRING => 'TO_STRING', + ), + 'CLIENT_VERSION', + 'SERVER_VERSION', + 'STATEMENT_CLASS', + 'EMULATE_PREPARES', + 'CONNECTION_STATUS', + 'STRINGIFY_FETCHES', + 'DEFAULT_FETCH_MODE' => array( + \PDO::FETCH_ASSOC => 'ASSOC', + \PDO::FETCH_BOTH => 'BOTH', + \PDO::FETCH_LAZY => 'LAZY', + \PDO::FETCH_NUM => 'NUM', + \PDO::FETCH_OBJ => 'OBJ', + ), + ); - public static function castPdo(\PDO $c, array $a, Stub $stub, $isNested) - { - $attr = array(); - $errmode = $c->getAttribute(\PDO::ATTR_ERRMODE); - $c->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); + public static function castPdo(\PDO $c, array $a, Stub $stub, $isNested) + { + $attr = array(); + $errmode = $c->getAttribute(\PDO::ATTR_ERRMODE); + $c->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); - foreach (self::$pdoAttributes as $k => $v) { - if (!isset($k[0])) { - $k = $v; - $v = array(); - } + foreach (self::$pdoAttributes as $k => $v) { + if (!isset($k[0])) { + $k = $v; + $v = array(); + } - try { - $attr[$k] = 'ERRMODE' === $k ? $errmode : $c->getAttribute(constant('PDO::ATTR_'.$k)); - if ($v && isset($v[$attr[$k]])) { - $attr[$k] = new ConstStub($v[$attr[$k]], $attr[$k]); - } - } catch (\Exception $e) { - } - } + try { + $attr[$k] = 'ERRMODE' === $k ? $errmode : $c->getAttribute(constant('PDO::ATTR_'.$k)); + if ($v && isset($v[$attr[$k]])) { + $attr[$k] = new ConstStub($v[$attr[$k]], $attr[$k]); + } + } catch (\Exception $e) { + } + } + if (isset($attr[$k = 'STATEMENT_CLASS'][1])) { + if ($attr[$k][1]) { + $attr[$k][1] = new ArgsStub($attr[$k][1], '__construct', $attr[$k][0]); + } + $attr[$k][0] = new ClassStub($attr[$k][0]); + } - $prefix = Caster::PREFIX_VIRTUAL; - $a += array( - $prefix.'inTransaction' => method_exists($c, 'inTransaction'), - $prefix.'errorInfo' => $c->errorInfo(), - $prefix.'attributes' => new EnumStub($attr), - ); + $prefix = Caster::PREFIX_VIRTUAL; + $a += array( + $prefix.'inTransaction' => method_exists($c, 'inTransaction'), + $prefix.'errorInfo' => $c->errorInfo(), + $prefix.'attributes' => new EnumStub($attr), + ); - if ($a[$prefix.'inTransaction']) { - $a[$prefix.'inTransaction'] = $c->inTransaction(); - } else { - unset($a[$prefix.'inTransaction']); - } + if ($a[$prefix.'inTransaction']) { + $a[$prefix.'inTransaction'] = $c->inTransaction(); + } else { + unset($a[$prefix.'inTransaction']); + } - if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) { - unset($a[$prefix.'errorInfo']); - } + if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) { + unset($a[$prefix.'errorInfo']); + } - $c->setAttribute(\PDO::ATTR_ERRMODE, $errmode); + $c->setAttribute(\PDO::ATTR_ERRMODE, $errmode); - return $a; - } + return $a; + } - public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $a[$prefix.'errorInfo'] = $c->errorInfo(); + public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + $a[$prefix.'errorInfo'] = $c->errorInfo(); - if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) { - unset($a[$prefix.'errorInfo']); - } + if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) { + unset($a[$prefix.'errorInfo']); + } - return $a; - } + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/RedisCaster.php b/htdocs/includes/symfony/var-dumper/Caster/RedisCaster.php new file mode 100644 index 00000000000..b0e567fcf96 --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Caster/RedisCaster.php @@ -0,0 +1,77 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +use Symfony\Component\VarDumper\Cloner\Stub; + +/** + * Casts Redis class from ext-redis to array representation. + * + * @author Nicolas Grekas + */ +class RedisCaster +{ + private static $serializer = array( + \Redis::SERIALIZER_NONE => 'NONE', + \Redis::SERIALIZER_PHP => 'PHP', + 2 => 'IGBINARY', // Optional Redis::SERIALIZER_IGBINARY + ); + + public static function castRedis(\Redis $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + + if (defined('HHVM_VERSION_ID')) { + if (isset($a[Caster::PREFIX_PROTECTED.'serializer'])) { + $ser = $a[Caster::PREFIX_PROTECTED.'serializer']; + $a[Caster::PREFIX_PROTECTED.'serializer'] = isset(self::$serializer[$ser]) ? new ConstStub(self::$serializer[$ser], $ser) : $ser; + } + + return $a; + } + + if (!$connected = $c->isConnected()) { + return $a + array( + $prefix.'isConnected' => $connected, + ); + } + + $ser = $c->getOption(\Redis::OPT_SERIALIZER); + $retry = defined('Redis::OPT_SCAN') ? $c->getOption(\Redis::OPT_SCAN) : 0; + + return $a + array( + $prefix.'isConnected' => $connected, + $prefix.'host' => $c->getHost(), + $prefix.'port' => $c->getPort(), + $prefix.'auth' => $c->getAuth(), + $prefix.'dbNum' => $c->getDbNum(), + $prefix.'timeout' => $c->getTimeout(), + $prefix.'persistentId' => $c->getPersistentID(), + $prefix.'options' => new EnumStub(array( + 'READ_TIMEOUT' => $c->getOption(\Redis::OPT_READ_TIMEOUT), + 'SERIALIZER' => isset(self::$serializer[$ser]) ? new ConstStub(self::$serializer[$ser], $ser) : $ser, + 'PREFIX' => $c->getOption(\Redis::OPT_PREFIX), + 'SCAN' => new ConstStub($retry ? 'RETRY' : 'NORETRY', $retry), + )), + ); + } + + public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + + return $a + array( + $prefix.'hosts' => $c->_hosts(), + $prefix.'function' => ClassStub::wrapCallable($c->_function()), + ); + } +} diff --git a/htdocs/includes/symfony/var-dumper/Caster/ReflectionCaster.php b/htdocs/includes/symfony/var-dumper/Caster/ReflectionCaster.php index 936e11982ee..6a53bd2b61b 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/ReflectionCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/ReflectionCaster.php @@ -20,291 +20,313 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class ReflectionCaster { - private static $extraMap = array( - 'docComment' => 'getDocComment', - 'extension' => 'getExtensionName', - 'isDisabled' => 'isDisabled', - 'isDeprecated' => 'isDeprecated', - 'isInternal' => 'isInternal', - 'isUserDefined' => 'isUserDefined', - 'isGenerator' => 'isGenerator', - 'isVariadic' => 'isVariadic', - ); + private static $extraMap = array( + 'docComment' => 'getDocComment', + 'extension' => 'getExtensionName', + 'isDisabled' => 'isDisabled', + 'isDeprecated' => 'isDeprecated', + 'isInternal' => 'isInternal', + 'isUserDefined' => 'isUserDefined', + 'isGenerator' => 'isGenerator', + 'isVariadic' => 'isVariadic', + ); - public static function castClosure(\Closure $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $c = new \ReflectionFunction($c); + public static function castClosure(\Closure $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + $c = new \ReflectionFunction($c); - $stub->class = 'Closure'; // HHVM generates unique class names for closures - $a = static::castFunctionAbstract($c, $a, $stub, $isNested); + $stub->class = 'Closure'; // HHVM generates unique class names for closures + $a = static::castFunctionAbstract($c, $a, $stub, $isNested); - if (isset($a[$prefix.'parameters'])) { - foreach ($a[$prefix.'parameters']->value as &$v) { - $param = $v; - $v = new EnumStub(array()); - foreach (static::castParameter($param, array(), $stub, true) as $k => $param) { - if ("\0" === $k[0]) { - $v->value[substr($k, 3)] = $param; - } - } - unset($v->value['position'], $v->value['isVariadic'], $v->value['byReference'], $v); - } - } + if (isset($a[$prefix.'parameters'])) { + foreach ($a[$prefix.'parameters']->value as &$v) { + $param = $v; + $v = new EnumStub(array()); + foreach (static::castParameter($param, array(), $stub, true) as $k => $param) { + if ("\0" === $k[0]) { + $v->value[substr($k, 3)] = $param; + } + } + unset($v->value['position'], $v->value['isVariadic'], $v->value['byReference'], $v); + } + } - if ($f = $c->getFileName()) { - $a[$prefix.'file'] = $f; - $a[$prefix.'line'] = $c->getStartLine().' to '.$c->getEndLine(); - } + if ($f = $c->getFileName()) { + $a[$prefix.'file'] = new LinkStub($f, $c->getStartLine()); + $a[$prefix.'line'] = $c->getStartLine().' to '.$c->getEndLine(); + } - $prefix = Caster::PREFIX_DYNAMIC; - unset($a['name'], $a[$prefix.'0'], $a[$prefix.'this'], $a[$prefix.'parameter'], $a[Caster::PREFIX_VIRTUAL.'extra']); + $prefix = Caster::PREFIX_DYNAMIC; + unset($a['name'], $a[$prefix.'this'], $a[$prefix.'parameter'], $a[Caster::PREFIX_VIRTUAL.'extra']); - return $a; - } + return $a; + } - public static function castGenerator(\Generator $c, array $a, Stub $stub, $isNested) - { - return class_exists('ReflectionGenerator', false) ? self::castReflectionGenerator(new \ReflectionGenerator($c), $a, $stub, $isNested) : $a; - } + public static function castGenerator(\Generator $c, array $a, Stub $stub, $isNested) + { + if (!class_exists('ReflectionGenerator', false)) { + return $a; + } - public static function castType(\ReflectionType $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + // Cannot create ReflectionGenerator based on a terminated Generator + try { + $reflectionGenerator = new \ReflectionGenerator($c); + } catch (\Exception $e) { + $a[Caster::PREFIX_VIRTUAL.'closed'] = true; - $a += array( - $prefix.'type' => $c->__toString(), - $prefix.'allowsNull' => $c->allowsNull(), - $prefix.'isBuiltin' => $c->isBuiltin(), - ); + return $a; + } - return $a; - } + return self::castReflectionGenerator($reflectionGenerator, $a, $stub, $isNested); + } - public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + public static function castType(\ReflectionType $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - if ($c->getThis()) { - $a[$prefix.'this'] = new CutStub($c->getThis()); - } - $x = $c->getFunction(); - $frame = array( - 'class' => isset($x->class) ? $x->class : null, - 'type' => isset($x->class) ? ($x->isStatic() ? '::' : '->') : null, - 'function' => $x->name, - 'file' => $c->getExecutingFile(), - 'line' => $c->getExecutingLine(), - ); - if ($trace = $c->getTrace(DEBUG_BACKTRACE_IGNORE_ARGS)) { - $x = new \ReflectionGenerator($c->getExecutingGenerator()); - array_unshift($trace, array( - 'function' => 'yield', - 'file' => $x->getExecutingFile(), - 'line' => $x->getExecutingLine() - 1, - )); - $trace[] = $frame; - $a[$prefix.'trace'] = new TraceStub($trace, false, 0, -1, -1); - } else { - $x = new FrameStub($frame, false, true); - $x = ExceptionCaster::castFrameStub($x, array(), $x, true); - $a[$prefix.'executing'] = new EnumStub(array( - $frame['class'].$frame['type'].$frame['function'].'()' => $x[$prefix.'src'], - )); - } + $a += array( + $prefix.'name' => $c instanceof \ReflectionNamedType ? $c->getName() : $c->__toString(), + $prefix.'allowsNull' => $c->allowsNull(), + $prefix.'isBuiltin' => $c->isBuiltin(), + ); - return $a; - } + return $a; + } - public static function castClass(\ReflectionClass $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; + public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - if ($n = \Reflection::getModifierNames($c->getModifiers())) { - $a[$prefix.'modifiers'] = implode(' ', $n); - } + if ($c->getThis()) { + $a[$prefix.'this'] = new CutStub($c->getThis()); + } + $function = $c->getFunction(); + $frame = array( + 'class' => isset($function->class) ? $function->class : null, + 'type' => isset($function->class) ? ($function->isStatic() ? '::' : '->') : null, + 'function' => $function->name, + 'file' => $c->getExecutingFile(), + 'line' => $c->getExecutingLine(), + ); + if ($trace = $c->getTrace(DEBUG_BACKTRACE_IGNORE_ARGS)) { + $function = new \ReflectionGenerator($c->getExecutingGenerator()); + array_unshift($trace, array( + 'function' => 'yield', + 'file' => $function->getExecutingFile(), + 'line' => $function->getExecutingLine() - 1, + )); + $trace[] = $frame; + $a[$prefix.'trace'] = new TraceStub($trace, false, 0, -1, -1); + } else { + $function = new FrameStub($frame, false, true); + $function = ExceptionCaster::castFrameStub($function, array(), $function, true); + $a[$prefix.'executing'] = new EnumStub(array( + $frame['class'].$frame['type'].$frame['function'].'()' => $function[$prefix.'src'], + )); + } - self::addMap($a, $c, array( - 'extends' => 'getParentClass', - 'implements' => 'getInterfaceNames', - 'constants' => 'getConstants', - )); + $a[Caster::PREFIX_VIRTUAL.'closed'] = false; - foreach ($c->getProperties() as $n) { - $a[$prefix.'properties'][$n->name] = $n; - } + return $a; + } - foreach ($c->getMethods() as $n) { - $a[$prefix.'methods'][$n->name] = $n; - } + public static function castClass(\ReflectionClass $c, array $a, Stub $stub, $isNested, $filter = 0) + { + $prefix = Caster::PREFIX_VIRTUAL; - if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) { - self::addExtra($a, $c); - } + if ($n = \Reflection::getModifierNames($c->getModifiers())) { + $a[$prefix.'modifiers'] = implode(' ', $n); + } - return $a; - } + self::addMap($a, $c, array( + 'extends' => 'getParentClass', + 'implements' => 'getInterfaceNames', + 'constants' => 'getConstants', + )); - public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; + foreach ($c->getProperties() as $n) { + $a[$prefix.'properties'][$n->name] = $n; + } - self::addMap($a, $c, array( - 'returnsReference' => 'returnsReference', - 'returnType' => 'getReturnType', - 'class' => 'getClosureScopeClass', - 'this' => 'getClosureThis', - )); + foreach ($c->getMethods() as $n) { + $a[$prefix.'methods'][$n->name] = $n; + } - if (isset($a[$prefix.'returnType'])) { - $a[$prefix.'returnType'] = (string) $a[$prefix.'returnType']; - } - if (isset($a[$prefix.'this'])) { - $a[$prefix.'this'] = new CutStub($a[$prefix.'this']); - } + if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) { + self::addExtra($a, $c); + } - foreach ($c->getParameters() as $v) { - $k = '$'.$v->name; - if ($v->isPassedByReference()) { - $k = '&'.$k; - } - if (method_exists($v, 'isVariadic') && $v->isVariadic()) { - $k = '...'.$k; - } - $a[$prefix.'parameters'][$k] = $v; - } - if (isset($a[$prefix.'parameters'])) { - $a[$prefix.'parameters'] = new EnumStub($a[$prefix.'parameters']); - } + return $a; + } - if ($v = $c->getStaticVariables()) { - foreach ($v as $k => &$v) { - $a[$prefix.'use']['$'.$k] = &$v; - } - unset($v); - $a[$prefix.'use'] = new EnumStub($a[$prefix.'use']); - } + public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, $isNested, $filter = 0) + { + $prefix = Caster::PREFIX_VIRTUAL; - if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) { - self::addExtra($a, $c); - } + self::addMap($a, $c, array( + 'returnsReference' => 'returnsReference', + 'returnType' => 'getReturnType', + 'class' => 'getClosureScopeClass', + 'this' => 'getClosureThis', + )); - // Added by HHVM - unset($a[Caster::PREFIX_DYNAMIC.'static']); + if (isset($a[$prefix.'returnType'])) { + $v = $a[$prefix.'returnType']; + $v = $v instanceof \ReflectionNamedType ? $v->getName() : $v->__toString(); + $a[$prefix.'returnType'] = new ClassStub($a[$prefix.'returnType']->allowsNull() ? '?'.$v : $v, array(class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '')); + } + if (isset($a[$prefix.'class'])) { + $a[$prefix.'class'] = new ClassStub($a[$prefix.'class']); + } + if (isset($a[$prefix.'this'])) { + $a[$prefix.'this'] = new CutStub($a[$prefix.'this']); + } - return $a; - } + foreach ($c->getParameters() as $v) { + $k = '$'.$v->name; + if (method_exists($v, 'isVariadic') && $v->isVariadic()) { + $k = '...'.$k; + } + if ($v->isPassedByReference()) { + $k = '&'.$k; + } + $a[$prefix.'parameters'][$k] = $v; + } + if (isset($a[$prefix.'parameters'])) { + $a[$prefix.'parameters'] = new EnumStub($a[$prefix.'parameters']); + } - public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); + if ($v = $c->getStaticVariables()) { + foreach ($v as $k => &$v) { + $a[$prefix.'use']['$'.$k] = &$v; + } + unset($v); + $a[$prefix.'use'] = new EnumStub($a[$prefix.'use']); + } - return $a; - } + if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) { + self::addExtra($a, $c); + } - public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; + // Added by HHVM + unset($a[Caster::PREFIX_DYNAMIC.'static']); - // Added by HHVM - unset($a['info']); + return $a; + } - self::addMap($a, $c, array( - 'position' => 'getPosition', - 'isVariadic' => 'isVariadic', - 'byReference' => 'isPassedByReference', - )); + public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, $isNested) + { + $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); - try { - if (method_exists($c, 'hasType')) { - if ($c->hasType()) { - $a[$prefix.'typeHint'] = $c->getType()->__toString(); - } - } elseif ($c->isArray()) { - $a[$prefix.'typeHint'] = 'array'; - } elseif (method_exists($c, 'isCallable') && $c->isCallable()) { - $a[$prefix.'typeHint'] = 'callable'; - } elseif ($v = $c->getClass()) { - $a[$prefix.'typeHint'] = $v->name; - } - } catch (\ReflectionException $e) { - if (preg_match('/^Class ([^ ]++) does not exist$/', $e->getMessage(), $m)) { - $a[$prefix.'typeHint'] = $m[1]; - } - } + return $a; + } - try { - $a[$prefix.'default'] = $v = $c->getDefaultValue(); - if (method_exists($c, 'isDefaultValueConstant') && $c->isDefaultValueConstant()) { - $a[$prefix.'default'] = new ConstStub($c->getDefaultValueConstantName(), $v); - } - } catch (\ReflectionException $e) { - if (isset($a[$prefix.'typeHint']) && $c->allowsNull()) { - $a[$prefix.'default'] = null; - } - } + public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; - return $a; - } + // Added by HHVM + unset($a['info']); - public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); - self::addExtra($a, $c); + self::addMap($a, $c, array( + 'position' => 'getPosition', + 'isVariadic' => 'isVariadic', + 'byReference' => 'isPassedByReference', + 'allowsNull' => 'allowsNull', + )); - return $a; - } + if (method_exists($c, 'getType')) { + if ($v = $c->getType()) { + $a[$prefix.'typeHint'] = $v instanceof \ReflectionNamedType ? $v->getName() : $v->__toString(); + } + } elseif (preg_match('/^(?:[^ ]++ ){4}([a-zA-Z_\x7F-\xFF][^ ]++)/', $c, $v)) { + $a[$prefix.'typeHint'] = $v[1]; + } - public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, $isNested) - { - self::addMap($a, $c, array( - 'version' => 'getVersion', - 'dependencies' => 'getDependencies', - 'iniEntries' => 'getIniEntries', - 'isPersistent' => 'isPersistent', - 'isTemporary' => 'isTemporary', - 'constants' => 'getConstants', - 'functions' => 'getFunctions', - 'classes' => 'getClasses', - )); + if (isset($a[$prefix.'typeHint'])) { + $v = $a[$prefix.'typeHint']; + $a[$prefix.'typeHint'] = new ClassStub($v, array(class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '')); + } else { + unset($a[$prefix.'allowsNull']); + } - return $a; - } + try { + $a[$prefix.'default'] = $v = $c->getDefaultValue(); + if (method_exists($c, 'isDefaultValueConstant') && $c->isDefaultValueConstant()) { + $a[$prefix.'default'] = new ConstStub($c->getDefaultValueConstantName(), $v); + } + if (null === $v) { + unset($a[$prefix.'allowsNull']); + } + } catch (\ReflectionException $e) { + if (isset($a[$prefix.'typeHint']) && $c->allowsNull() && !class_exists('ReflectionNamedType', false)) { + $a[$prefix.'default'] = null; + unset($a[$prefix.'allowsNull']); + } + } - public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, $isNested) - { - self::addMap($a, $c, array( - 'version' => 'getVersion', - 'author' => 'getAuthor', - 'copyright' => 'getCopyright', - 'url' => 'getURL', - )); + return $a; + } - return $a; - } + public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, $isNested) + { + $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); + self::addExtra($a, $c); - private static function addExtra(&$a, \Reflector $c) - { - $x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : array(); + return $a; + } - if (method_exists($c, 'getFileName') && $m = $c->getFileName()) { - $x['file'] = $m; - $x['line'] = $c->getStartLine().' to '.$c->getEndLine(); - } + public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, $isNested) + { + self::addMap($a, $c, array( + 'version' => 'getVersion', + 'dependencies' => 'getDependencies', + 'iniEntries' => 'getIniEntries', + 'isPersistent' => 'isPersistent', + 'isTemporary' => 'isTemporary', + 'constants' => 'getConstants', + 'functions' => 'getFunctions', + 'classes' => 'getClasses', + )); - self::addMap($x, $c, self::$extraMap, ''); + return $a; + } - if ($x) { - $a[Caster::PREFIX_VIRTUAL.'extra'] = new EnumStub($x); - } - } + public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, $isNested) + { + self::addMap($a, $c, array( + 'version' => 'getVersion', + 'author' => 'getAuthor', + 'copyright' => 'getCopyright', + 'url' => 'getURL', + )); - private static function addMap(&$a, \Reflector $c, $map, $prefix = Caster::PREFIX_VIRTUAL) - { - foreach ($map as $k => $m) { - if (method_exists($c, $m) && false !== ($m = $c->$m()) && null !== $m) { - $a[$prefix.$k] = $m instanceof \Reflector ? $m->name : $m; - } - } - } + return $a; + } + + private static function addExtra(&$a, \Reflector $c) + { + $x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : array(); + + if (method_exists($c, 'getFileName') && $m = $c->getFileName()) { + $x['file'] = new LinkStub($m, $c->getStartLine()); + $x['line'] = $c->getStartLine().' to '.$c->getEndLine(); + } + + self::addMap($x, $c, self::$extraMap, ''); + + if ($x) { + $a[Caster::PREFIX_VIRTUAL.'extra'] = new EnumStub($x); + } + } + + private static function addMap(&$a, \Reflector $c, $map, $prefix = Caster::PREFIX_VIRTUAL) + { + foreach ($map as $k => $m) { + if (method_exists($c, $m) && false !== ($m = $c->$m()) && null !== $m) { + $a[$prefix.$k] = $m instanceof \Reflector ? $m->name : $m; + } + } + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/ResourceCaster.php b/htdocs/includes/symfony/var-dumper/Caster/ResourceCaster.php index 903641f69c6..0b189d4d9b5 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/ResourceCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/ResourceCaster.php @@ -20,48 +20,53 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class ResourceCaster { - public static function castCurl($h, array $a, Stub $stub, $isNested) - { - return curl_getinfo($h); - } + public static function castCurl($h, array $a, Stub $stub, $isNested) + { + return curl_getinfo($h); + } - public static function castDba($dba, array $a, Stub $stub, $isNested) - { - $list = dba_list(); - $a['file'] = $list[(int) $dba]; + public static function castDba($dba, array $a, Stub $stub, $isNested) + { + $list = dba_list(); + $a['file'] = $list[(int) $dba]; - return $a; - } + return $a; + } - public static function castProcess($process, array $a, Stub $stub, $isNested) - { - return proc_get_status($process); - } + public static function castProcess($process, array $a, Stub $stub, $isNested) + { + return proc_get_status($process); + } - public static function castStream($stream, array $a, Stub $stub, $isNested) - { - return stream_get_meta_data($stream) + static::castStreamContext($stream, $a, $stub, $isNested); - } + public static function castStream($stream, array $a, Stub $stub, $isNested) + { + $a = stream_get_meta_data($stream) + static::castStreamContext($stream, $a, $stub, $isNested); + if (isset($a['uri'])) { + $a['uri'] = new LinkStub($a['uri']); + } - public static function castStreamContext($stream, array $a, Stub $stub, $isNested) - { - return stream_context_get_params($stream); - } + return $a; + } - public static function castGd($gd, array $a, Stub $stub, $isNested) - { - $a['size'] = imagesx($gd).'x'.imagesy($gd); - $a['trueColor'] = imageistruecolor($gd); + public static function castStreamContext($stream, array $a, Stub $stub, $isNested) + { + return @stream_context_get_params($stream) ?: $a; + } - return $a; - } + public static function castGd($gd, array $a, Stub $stub, $isNested) + { + $a['size'] = imagesx($gd).'x'.imagesy($gd); + $a['trueColor'] = imageistruecolor($gd); - public static function castMysqlLink($h, array $a, Stub $stub, $isNested) - { - $a['host'] = mysql_get_host_info($h); - $a['protocol'] = mysql_get_proto_info($h); - $a['server'] = mysql_get_server_info($h); + return $a; + } - return $a; - } + public static function castMysqlLink($h, array $a, Stub $stub, $isNested) + { + $a['host'] = mysql_get_host_info($h); + $a['protocol'] = mysql_get_proto_info($h); + $a['server'] = mysql_get_server_info($h); + + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/SplCaster.php b/htdocs/includes/symfony/var-dumper/Caster/SplCaster.php index 97f21463821..176e7f2ae48 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/SplCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/SplCaster.php @@ -20,184 +20,188 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class SplCaster { - private static $splFileObjectFlags = array( - \SplFileObject::DROP_NEW_LINE => 'DROP_NEW_LINE', - \SplFileObject::READ_AHEAD => 'READ_AHEAD', - \SplFileObject::SKIP_EMPTY => 'SKIP_EMPTY', - \SplFileObject::READ_CSV => 'READ_CSV', - ); + private static $splFileObjectFlags = array( + \SplFileObject::DROP_NEW_LINE => 'DROP_NEW_LINE', + \SplFileObject::READ_AHEAD => 'READ_AHEAD', + \SplFileObject::SKIP_EMPTY => 'SKIP_EMPTY', + \SplFileObject::READ_CSV => 'READ_CSV', + ); - public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $class = $stub->class; - $flags = $c->getFlags(); + public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + $class = $stub->class; + $flags = $c->getFlags(); - $b = array( - $prefix.'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST), - $prefix.'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS), - $prefix.'iteratorClass' => $c->getIteratorClass(), - $prefix.'storage' => $c->getArrayCopy(), - ); + $b = array( + $prefix.'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST), + $prefix.'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS), + $prefix.'iteratorClass' => new ClassStub($c->getIteratorClass()), + $prefix.'storage' => $c->getArrayCopy(), + ); - if ($class === 'ArrayObject') { - $a = $b; - } else { - if (!($flags & \ArrayObject::STD_PROP_LIST)) { - $c->setFlags(\ArrayObject::STD_PROP_LIST); - $a = Caster::castObject($c, new \ReflectionClass($class)); - $c->setFlags($flags); - } + if ($class === 'ArrayObject') { + $a = $b; + } else { + if (!($flags & \ArrayObject::STD_PROP_LIST)) { + $c->setFlags(\ArrayObject::STD_PROP_LIST); + $a = Caster::castObject($c, new \ReflectionClass($class)); + $c->setFlags($flags); + } - $a += $b; - } + $a += $b; + } - return $a; - } + return $a; + } - public static function castHeap(\Iterator $c, array $a, Stub $stub, $isNested) - { - $a += array( - Caster::PREFIX_VIRTUAL.'heap' => iterator_to_array(clone $c), - ); + public static function castHeap(\Iterator $c, array $a, Stub $stub, $isNested) + { + $a += array( + Caster::PREFIX_VIRTUAL.'heap' => iterator_to_array(clone $c), + ); - return $a; - } + return $a; + } - public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $mode = $c->getIteratorMode(); - $c->setIteratorMode(\SplDoublyLinkedList::IT_MODE_KEEP | $mode & ~\SplDoublyLinkedList::IT_MODE_DELETE); + public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + $mode = $c->getIteratorMode(); + $c->setIteratorMode(\SplDoublyLinkedList::IT_MODE_KEEP | $mode & ~\SplDoublyLinkedList::IT_MODE_DELETE); - $a += array( - $prefix.'mode' => new ConstStub((($mode & \SplDoublyLinkedList::IT_MODE_LIFO) ? 'IT_MODE_LIFO' : 'IT_MODE_FIFO').' | '.(($mode & \SplDoublyLinkedList::IT_MODE_KEEP) ? 'IT_MODE_KEEP' : 'IT_MODE_DELETE'), $mode), - $prefix.'dllist' => iterator_to_array($c), - ); - $c->setIteratorMode($mode); + $a += array( + $prefix.'mode' => new ConstStub((($mode & \SplDoublyLinkedList::IT_MODE_LIFO) ? 'IT_MODE_LIFO' : 'IT_MODE_FIFO').' | '.(($mode & \SplDoublyLinkedList::IT_MODE_DELETE) ? 'IT_MODE_DELETE' : 'IT_MODE_KEEP'), $mode), + $prefix.'dllist' => iterator_to_array($c), + ); + $c->setIteratorMode($mode); - return $a; - } + return $a; + } - public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, $isNested) - { - static $map = array( - 'path' => 'getPath', - 'filename' => 'getFilename', - 'basename' => 'getBasename', - 'pathname' => 'getPathname', - 'extension' => 'getExtension', - 'realPath' => 'getRealPath', - 'aTime' => 'getATime', - 'mTime' => 'getMTime', - 'cTime' => 'getCTime', - 'inode' => 'getInode', - 'size' => 'getSize', - 'perms' => 'getPerms', - 'owner' => 'getOwner', - 'group' => 'getGroup', - 'type' => 'getType', - 'writable' => 'isWritable', - 'readable' => 'isReadable', - 'executable' => 'isExecutable', - 'file' => 'isFile', - 'dir' => 'isDir', - 'link' => 'isLink', - 'linkTarget' => 'getLinkTarget', - ); + public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, $isNested) + { + static $map = array( + 'path' => 'getPath', + 'filename' => 'getFilename', + 'basename' => 'getBasename', + 'pathname' => 'getPathname', + 'extension' => 'getExtension', + 'realPath' => 'getRealPath', + 'aTime' => 'getATime', + 'mTime' => 'getMTime', + 'cTime' => 'getCTime', + 'inode' => 'getInode', + 'size' => 'getSize', + 'perms' => 'getPerms', + 'owner' => 'getOwner', + 'group' => 'getGroup', + 'type' => 'getType', + 'writable' => 'isWritable', + 'readable' => 'isReadable', + 'executable' => 'isExecutable', + 'file' => 'isFile', + 'dir' => 'isDir', + 'link' => 'isLink', + 'linkTarget' => 'getLinkTarget', + ); - $prefix = Caster::PREFIX_VIRTUAL; + $prefix = Caster::PREFIX_VIRTUAL; - foreach ($map as $key => $accessor) { - try { - $a[$prefix.$key] = $c->$accessor(); - } catch (\Exception $e) { - } - } + foreach ($map as $key => $accessor) { + try { + $a[$prefix.$key] = $c->$accessor(); + } catch (\Exception $e) { + } + } - if (isset($a[$prefix.'perms'])) { - $a[$prefix.'perms'] = new ConstStub(sprintf('0%o', $a[$prefix.'perms']), $a[$prefix.'perms']); - } + if (isset($a[$prefix.'realPath'])) { + $a[$prefix.'realPath'] = new LinkStub($a[$prefix.'realPath']); + } - static $mapDate = array('aTime', 'mTime', 'cTime'); - foreach ($mapDate as $key) { - if (isset($a[$prefix.$key])) { - $a[$prefix.$key] = new ConstStub(date('Y-m-d H:i:s', $a[$prefix.$key]), $a[$prefix.$key]); - } - } + if (isset($a[$prefix.'perms'])) { + $a[$prefix.'perms'] = new ConstStub(sprintf('0%o', $a[$prefix.'perms']), $a[$prefix.'perms']); + } - return $a; - } + static $mapDate = array('aTime', 'mTime', 'cTime'); + foreach ($mapDate as $key) { + if (isset($a[$prefix.$key])) { + $a[$prefix.$key] = new ConstStub(date('Y-m-d H:i:s', $a[$prefix.$key]), $a[$prefix.$key]); + } + } - public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, $isNested) - { - static $map = array( - 'csvControl' => 'getCsvControl', - 'flags' => 'getFlags', - 'maxLineLen' => 'getMaxLineLen', - 'fstat' => 'fstat', - 'eof' => 'eof', - 'key' => 'key', - ); + return $a; + } - $prefix = Caster::PREFIX_VIRTUAL; + public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, $isNested) + { + static $map = array( + 'csvControl' => 'getCsvControl', + 'flags' => 'getFlags', + 'maxLineLen' => 'getMaxLineLen', + 'fstat' => 'fstat', + 'eof' => 'eof', + 'key' => 'key', + ); - foreach ($map as $key => $accessor) { - try { - $a[$prefix.$key] = $c->$accessor(); - } catch (\Exception $e) { - } - } + $prefix = Caster::PREFIX_VIRTUAL; - if (isset($a[$prefix.'flags'])) { - $flagsArray = array(); - foreach (self::$splFileObjectFlags as $value => $name) { - if ($a[$prefix.'flags'] & $value) { - $flagsArray[] = $name; - } - } - $a[$prefix.'flags'] = new ConstStub(implode('|', $flagsArray), $a[$prefix.'flags']); - } + foreach ($map as $key => $accessor) { + try { + $a[$prefix.$key] = $c->$accessor(); + } catch (\Exception $e) { + } + } - if (isset($a[$prefix.'fstat'])) { - $a[$prefix.'fstat'] = new CutArrayStub($a[$prefix.'fstat'], array('dev', 'ino', 'nlink', 'rdev', 'blksize', 'blocks')); - } + if (isset($a[$prefix.'flags'])) { + $flagsArray = array(); + foreach (self::$splFileObjectFlags as $value => $name) { + if ($a[$prefix.'flags'] & $value) { + $flagsArray[] = $name; + } + } + $a[$prefix.'flags'] = new ConstStub(implode('|', $flagsArray), $a[$prefix.'flags']); + } - return $a; - } + if (isset($a[$prefix.'fstat'])) { + $a[$prefix.'fstat'] = new CutArrayStub($a[$prefix.'fstat'], array('dev', 'ino', 'nlink', 'rdev', 'blksize', 'blocks')); + } - public static function castFixedArray(\SplFixedArray $c, array $a, Stub $stub, $isNested) - { - $a += array( - Caster::PREFIX_VIRTUAL.'storage' => $c->toArray(), - ); + return $a; + } - return $a; - } + public static function castFixedArray(\SplFixedArray $c, array $a, Stub $stub, $isNested) + { + $a += array( + Caster::PREFIX_VIRTUAL.'storage' => $c->toArray(), + ); - public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, $isNested) - { - $storage = array(); - unset($a[Caster::PREFIX_DYNAMIC."\0gcdata"]); // Don't hit https://bugs.php.net/65967 + return $a; + } - foreach ($c as $obj) { - $storage[spl_object_hash($obj)] = array( - 'object' => $obj, - 'info' => $c->getInfo(), - ); - } + public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, $isNested) + { + $storage = array(); + unset($a[Caster::PREFIX_DYNAMIC."\0gcdata"]); // Don't hit https://bugs.php.net/65967 - $a += array( - Caster::PREFIX_VIRTUAL.'storage' => $storage, - ); + foreach (clone $c as $obj) { + $storage[spl_object_hash($obj)] = array( + 'object' => $obj, + 'info' => $c->getInfo(), + ); + } - return $a; - } + $a += array( + Caster::PREFIX_VIRTUAL.'storage' => $storage, + ); - public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'innerIterator'] = $c->getInnerIterator(); + return $a; + } - return $a; - } + public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, $isNested) + { + $a[Caster::PREFIX_VIRTUAL.'innerIterator'] = $c->getInnerIterator(); + + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/StubCaster.php b/htdocs/includes/symfony/var-dumper/Caster/StubCaster.php index ebad5ba9844..83fde9eba3c 100644 --- a/htdocs/includes/symfony/var-dumper/Caster/StubCaster.php +++ b/htdocs/includes/symfony/var-dumper/Caster/StubCaster.php @@ -20,53 +20,63 @@ use Symfony\Component\VarDumper\Cloner\Stub; */ class StubCaster { - public static function castStub(Stub $c, array $a, Stub $stub, $isNested) - { - if ($isNested) { - $stub->type = $c->type; - $stub->class = $c->class; - $stub->value = $c->value; - $stub->handle = $c->handle; - $stub->cut = $c->cut; + public static function castStub(Stub $c, array $a, Stub $stub, $isNested) + { + if ($isNested) { + $stub->type = $c->type; + $stub->class = $c->class; + $stub->value = $c->value; + $stub->handle = $c->handle; + $stub->cut = $c->cut; + $stub->attr = $c->attr; - return array(); - } - } + if (Stub::TYPE_REF === $c->type && !$c->class && is_string($c->value) && !preg_match('//u', $c->value)) { + $stub->type = Stub::TYPE_STRING; + $stub->class = Stub::STRING_BINARY; + } - public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, $isNested) - { - return $isNested ? $c->preservedSubset : $a; - } + $a = array(); + } - public static function cutInternals($obj, array $a, Stub $stub, $isNested) - { - if ($isNested) { - $stub->cut += count($a); + return $a; + } - return array(); - } + public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, $isNested) + { + return $isNested ? $c->preservedSubset : $a; + } - return $a; - } + public static function cutInternals($obj, array $a, Stub $stub, $isNested) + { + if ($isNested) { + $stub->cut += count($a); - public static function castEnum(EnumStub $c, array $a, Stub $stub, $isNested) - { - if ($isNested) { - $stub->class = ''; - $stub->handle = 0; - $stub->value = null; + return array(); + } - $a = array(); + return $a; + } - if ($c->value) { - foreach (array_keys($c->value) as $k) { - $keys[] = Caster::PREFIX_VIRTUAL.$k; - } - // Preserve references with array_combine() - $a = array_combine($keys, $c->value); - } - } + public static function castEnum(EnumStub $c, array $a, Stub $stub, $isNested) + { + if ($isNested) { + $stub->class = $c->dumpKeys ? '' : null; + $stub->handle = 0; + $stub->value = null; + $stub->cut = $c->cut; + $stub->attr = $c->attr; - return $a; - } + $a = array(); + + if ($c->value) { + foreach (array_keys($c->value) as $k) { + $keys[] = !isset($k[0]) || "\0" !== $k[0] ? Caster::PREFIX_VIRTUAL.$k : $k; + } + // Preserve references with array_combine() + $a = array_combine($keys, $c->value); + } + } + + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Caster/XmlReaderCaster.php b/htdocs/includes/symfony/var-dumper/Caster/XmlReaderCaster.php new file mode 100644 index 00000000000..bbd4645c8e5 --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Caster/XmlReaderCaster.php @@ -0,0 +1,77 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +use Symfony\Component\VarDumper\Cloner\Stub; + +/** + * Casts XmlReader class to array representation. + * + * @author Baptiste Clavié + */ +class XmlReaderCaster +{ + private static $nodeTypes = array( + \XmlReader::NONE => 'NONE', + \XmlReader::ELEMENT => 'ELEMENT', + \XmlReader::ATTRIBUTE => 'ATTRIBUTE', + \XmlReader::TEXT => 'TEXT', + \XmlReader::CDATA => 'CDATA', + \XmlReader::ENTITY_REF => 'ENTITY_REF', + \XmlReader::ENTITY => 'ENTITY', + \XmlReader::PI => 'PI (Processing Instruction)', + \XmlReader::COMMENT => 'COMMENT', + \XmlReader::DOC => 'DOC', + \XmlReader::DOC_TYPE => 'DOC_TYPE', + \XmlReader::DOC_FRAGMENT => 'DOC_FRAGMENT', + \XmlReader::NOTATION => 'NOTATION', + \XmlReader::WHITESPACE => 'WHITESPACE', + \XmlReader::SIGNIFICANT_WHITESPACE => 'SIGNIFICANT_WHITESPACE', + \XmlReader::END_ELEMENT => 'END_ELEMENT', + \XmlReader::END_ENTITY => 'END_ENTITY', + \XmlReader::XML_DECLARATION => 'XML_DECLARATION', + ); + + public static function castXmlReader(\XmlReader $reader, array $a, Stub $stub, $isNested) + { + $props = Caster::PREFIX_VIRTUAL.'parserProperties'; + $info = array( + 'localName' => $reader->localName, + 'prefix' => $reader->prefix, + 'nodeType' => new ConstStub(self::$nodeTypes[$reader->nodeType], $reader->nodeType), + 'depth' => $reader->depth, + 'isDefault' => $reader->isDefault, + 'isEmptyElement' => \XmlReader::NONE === $reader->nodeType ? null : $reader->isEmptyElement, + 'xmlLang' => $reader->xmlLang, + 'attributeCount' => $reader->attributeCount, + 'value' => $reader->value, + 'namespaceURI' => $reader->namespaceURI, + 'baseURI' => $reader->baseURI ? new LinkStub($reader->baseURI) : $reader->baseURI, + $props => array( + 'LOADDTD' => $reader->getParserProperty(\XmlReader::LOADDTD), + 'DEFAULTATTRS' => $reader->getParserProperty(\XmlReader::DEFAULTATTRS), + 'VALIDATE' => $reader->getParserProperty(\XmlReader::VALIDATE), + 'SUBST_ENTITIES' => $reader->getParserProperty(\XmlReader::SUBST_ENTITIES), + ), + ); + + if ($info[$props] = Caster::filter($info[$props], Caster::EXCLUDE_EMPTY, array(), $count)) { + $info[$props] = new EnumStub($info[$props]); + $info[$props]->cut = $count; + } + + $info = Caster::filter($info, Caster::EXCLUDE_EMPTY, array(), $count); + // +2 because hasValue and hasAttributes are always filtered + $stub->cut += $count + 2; + + return $a + $info; + } +} diff --git a/htdocs/includes/symfony/var-dumper/Cloner/AbstractCloner.php b/htdocs/includes/symfony/var-dumper/Cloner/AbstractCloner.php index 2807ceb935b..27bc47870ae 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/AbstractCloner.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/AbstractCloner.php @@ -21,293 +21,302 @@ use Symfony\Component\VarDumper\Exception\ThrowingCasterException; */ abstract class AbstractCloner implements ClonerInterface { - public static $defaultCasters = array( - 'Symfony\Component\VarDumper\Caster\CutStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castStub', - 'Symfony\Component\VarDumper\Caster\CutArrayStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castCutArray', - 'Symfony\Component\VarDumper\Caster\ConstStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castStub', - 'Symfony\Component\VarDumper\Caster\EnumStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castEnum', + public static $defaultCasters = array( + '__PHP_Incomplete_Class' => 'Symfony\Component\VarDumper\Caster\Caster::castPhpIncompleteClass', - 'Closure' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castClosure', - 'Generator' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castGenerator', - 'ReflectionType' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castType', - 'ReflectionGenerator' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castReflectionGenerator', - 'ReflectionClass' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castClass', - 'ReflectionFunctionAbstract' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castFunctionAbstract', - 'ReflectionMethod' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castMethod', - 'ReflectionParameter' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castParameter', - 'ReflectionProperty' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castProperty', - 'ReflectionExtension' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castExtension', - 'ReflectionZendExtension' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castZendExtension', + 'Symfony\Component\VarDumper\Caster\CutStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castStub', + 'Symfony\Component\VarDumper\Caster\CutArrayStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castCutArray', + 'Symfony\Component\VarDumper\Caster\ConstStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castStub', + 'Symfony\Component\VarDumper\Caster\EnumStub' => 'Symfony\Component\VarDumper\Caster\StubCaster::castEnum', - 'Doctrine\Common\Persistence\ObjectManager' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', - 'Doctrine\Common\Proxy\Proxy' => 'Symfony\Component\VarDumper\Caster\DoctrineCaster::castCommonProxy', - 'Doctrine\ORM\Proxy\Proxy' => 'Symfony\Component\VarDumper\Caster\DoctrineCaster::castOrmProxy', - 'Doctrine\ORM\PersistentCollection' => 'Symfony\Component\VarDumper\Caster\DoctrineCaster::castPersistentCollection', + 'Closure' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castClosure', + 'Generator' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castGenerator', + 'ReflectionType' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castType', + 'ReflectionGenerator' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castReflectionGenerator', + 'ReflectionClass' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castClass', + 'ReflectionFunctionAbstract' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castFunctionAbstract', + 'ReflectionMethod' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castMethod', + 'ReflectionParameter' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castParameter', + 'ReflectionProperty' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castProperty', + 'ReflectionExtension' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castExtension', + 'ReflectionZendExtension' => 'Symfony\Component\VarDumper\Caster\ReflectionCaster::castZendExtension', - 'DOMException' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castException', - 'DOMStringList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', - 'DOMNameList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', - 'DOMImplementation' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castImplementation', - 'DOMImplementationList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', - 'DOMNode' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castNode', - 'DOMNameSpaceNode' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castNameSpaceNode', - 'DOMDocument' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castDocument', - 'DOMNodeList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', - 'DOMNamedNodeMap' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', - 'DOMCharacterData' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castCharacterData', - 'DOMAttr' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castAttr', - 'DOMElement' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castElement', - 'DOMText' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castText', - 'DOMTypeinfo' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castTypeinfo', - 'DOMDomError' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castDomError', - 'DOMLocator' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLocator', - 'DOMDocumentType' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castDocumentType', - 'DOMNotation' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castNotation', - 'DOMEntity' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castEntity', - 'DOMProcessingInstruction' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castProcessingInstruction', - 'DOMXPath' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castXPath', + 'Doctrine\Common\Persistence\ObjectManager' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', + 'Doctrine\Common\Proxy\Proxy' => 'Symfony\Component\VarDumper\Caster\DoctrineCaster::castCommonProxy', + 'Doctrine\ORM\Proxy\Proxy' => 'Symfony\Component\VarDumper\Caster\DoctrineCaster::castOrmProxy', + 'Doctrine\ORM\PersistentCollection' => 'Symfony\Component\VarDumper\Caster\DoctrineCaster::castPersistentCollection', - 'ErrorException' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castErrorException', - 'Exception' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castException', - 'Error' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castError', - 'Symfony\Component\DependencyInjection\ContainerInterface' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', - 'Symfony\Component\VarDumper\Exception\ThrowingCasterException' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castThrowingCasterException', - 'Symfony\Component\VarDumper\Caster\TraceStub' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castTraceStub', - 'Symfony\Component\VarDumper\Caster\FrameStub' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castFrameStub', + 'DOMException' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castException', + 'DOMStringList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', + 'DOMNameList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', + 'DOMImplementation' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castImplementation', + 'DOMImplementationList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', + 'DOMNode' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castNode', + 'DOMNameSpaceNode' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castNameSpaceNode', + 'DOMDocument' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castDocument', + 'DOMNodeList' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', + 'DOMNamedNodeMap' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLength', + 'DOMCharacterData' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castCharacterData', + 'DOMAttr' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castAttr', + 'DOMElement' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castElement', + 'DOMText' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castText', + 'DOMTypeinfo' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castTypeinfo', + 'DOMDomError' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castDomError', + 'DOMLocator' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castLocator', + 'DOMDocumentType' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castDocumentType', + 'DOMNotation' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castNotation', + 'DOMEntity' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castEntity', + 'DOMProcessingInstruction' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castProcessingInstruction', + 'DOMXPath' => 'Symfony\Component\VarDumper\Caster\DOMCaster::castXPath', - 'PHPUnit_Framework_MockObject_MockObject' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', - 'Prophecy\Prophecy\ProphecySubjectInterface' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', - 'Mockery\MockInterface' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', + 'XmlReader' => 'Symfony\Component\VarDumper\Caster\XmlReaderCaster::castXmlReader', - 'PDO' => 'Symfony\Component\VarDumper\Caster\PdoCaster::castPdo', - 'PDOStatement' => 'Symfony\Component\VarDumper\Caster\PdoCaster::castPdoStatement', + 'ErrorException' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castErrorException', + 'Exception' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castException', + 'Error' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castError', + 'Symfony\Component\DependencyInjection\ContainerInterface' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', + 'Symfony\Component\VarDumper\Exception\ThrowingCasterException' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castThrowingCasterException', + 'Symfony\Component\VarDumper\Caster\TraceStub' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castTraceStub', + 'Symfony\Component\VarDumper\Caster\FrameStub' => 'Symfony\Component\VarDumper\Caster\ExceptionCaster::castFrameStub', - 'AMQPConnection' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castConnection', - 'AMQPChannel' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castChannel', - 'AMQPQueue' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castQueue', - 'AMQPExchange' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castExchange', - 'AMQPEnvelope' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castEnvelope', + 'PHPUnit_Framework_MockObject_MockObject' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', + 'Prophecy\Prophecy\ProphecySubjectInterface' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', + 'Mockery\MockInterface' => 'Symfony\Component\VarDumper\Caster\StubCaster::cutInternals', - 'ArrayObject' => 'Symfony\Component\VarDumper\Caster\SplCaster::castArrayObject', - 'SplDoublyLinkedList' => 'Symfony\Component\VarDumper\Caster\SplCaster::castDoublyLinkedList', - 'SplFileInfo' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFileInfo', - 'SplFileObject' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFileObject', - 'SplFixedArray' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFixedArray', - 'SplHeap' => 'Symfony\Component\VarDumper\Caster\SplCaster::castHeap', - 'SplObjectStorage' => 'Symfony\Component\VarDumper\Caster\SplCaster::castObjectStorage', - 'SplPriorityQueue' => 'Symfony\Component\VarDumper\Caster\SplCaster::castHeap', - 'OuterIterator' => 'Symfony\Component\VarDumper\Caster\SplCaster::castOuterIterator', + 'PDO' => 'Symfony\Component\VarDumper\Caster\PdoCaster::castPdo', + 'PDOStatement' => 'Symfony\Component\VarDumper\Caster\PdoCaster::castPdoStatement', - 'MongoCursorInterface' => 'Symfony\Component\VarDumper\Caster\MongoCaster::castCursor', + 'AMQPConnection' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castConnection', + 'AMQPChannel' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castChannel', + 'AMQPQueue' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castQueue', + 'AMQPExchange' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castExchange', + 'AMQPEnvelope' => 'Symfony\Component\VarDumper\Caster\AmqpCaster::castEnvelope', - ':curl' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castCurl', - ':dba' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castDba', - ':dba persistent' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castDba', - ':gd' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castGd', - ':mysql link' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castMysqlLink', - ':pgsql large object' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castLargeObject', - ':pgsql link' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castLink', - ':pgsql link persistent' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castLink', - ':pgsql result' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castResult', - ':process' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castProcess', - ':stream' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castStream', - ':stream-context' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castStreamContext', - ':xml' => 'Symfony\Component\VarDumper\Caster\XmlResourceCaster::castXml', - ); + 'ArrayObject' => 'Symfony\Component\VarDumper\Caster\SplCaster::castArrayObject', + 'SplDoublyLinkedList' => 'Symfony\Component\VarDumper\Caster\SplCaster::castDoublyLinkedList', + 'SplFileInfo' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFileInfo', + 'SplFileObject' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFileObject', + 'SplFixedArray' => 'Symfony\Component\VarDumper\Caster\SplCaster::castFixedArray', + 'SplHeap' => 'Symfony\Component\VarDumper\Caster\SplCaster::castHeap', + 'SplObjectStorage' => 'Symfony\Component\VarDumper\Caster\SplCaster::castObjectStorage', + 'SplPriorityQueue' => 'Symfony\Component\VarDumper\Caster\SplCaster::castHeap', + 'OuterIterator' => 'Symfony\Component\VarDumper\Caster\SplCaster::castOuterIterator', - protected $maxItems = 2500; - protected $maxString = -1; - protected $useExt; + 'MongoCursorInterface' => 'Symfony\Component\VarDumper\Caster\MongoCaster::castCursor', - private $casters = array(); - private $prevErrorHandler; - private $classInfo = array(); - private $filter = 0; + 'Redis' => 'Symfony\Component\VarDumper\Caster\RedisCaster::castRedis', + 'RedisArray' => 'Symfony\Component\VarDumper\Caster\RedisCaster::castRedisArray', - /** - * @param callable[]|null $casters A map of casters. - * - * @see addCasters - */ - public function __construct(array $casters = null) - { - if (null === $casters) { - $casters = static::$defaultCasters; - } - $this->addCasters($casters); - $this->useExt = extension_loaded('symfony_debug'); - } + ':curl' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castCurl', + ':dba' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castDba', + ':dba persistent' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castDba', + ':gd' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castGd', + ':mysql link' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castMysqlLink', + ':pgsql large object' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castLargeObject', + ':pgsql link' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castLink', + ':pgsql link persistent' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castLink', + ':pgsql result' => 'Symfony\Component\VarDumper\Caster\PgSqlCaster::castResult', + ':process' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castProcess', + ':stream' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castStream', + ':persistent stream' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castStream', + ':stream-context' => 'Symfony\Component\VarDumper\Caster\ResourceCaster::castStreamContext', + ':xml' => 'Symfony\Component\VarDumper\Caster\XmlResourceCaster::castXml', + ); - /** - * Adds casters for resources and objects. - * - * Maps resources or objects types to a callback. - * Types are in the key, with a callable caster for value. - * Resource types are to be prefixed with a `:`, - * see e.g. static::$defaultCasters. - * - * @param callable[] $casters A map of casters. - */ - public function addCasters(array $casters) - { - foreach ($casters as $type => $callback) { - $this->casters[strtolower($type)][] = $callback; - } - } + protected $maxItems = 2500; + protected $maxString = -1; + protected $useExt; - /** - * Sets the maximum number of items to clone past the first level in nested structures. - * - * @param int $maxItems - */ - public function setMaxItems($maxItems) - { - $this->maxItems = (int) $maxItems; - } + private $casters = array(); + private $prevErrorHandler; + private $classInfo = array(); + private $filter = 0; - /** - * Sets the maximum cloned length for strings. - * - * @param int $maxString - */ - public function setMaxString($maxString) - { - $this->maxString = (int) $maxString; - } + /** + * @param callable[]|null $casters A map of casters + * + * @see addCasters + */ + public function __construct(array $casters = null) + { + if (null === $casters) { + $casters = static::$defaultCasters; + } + $this->addCasters($casters); + $this->useExt = extension_loaded('symfony_debug'); + } - /** - * Clones a PHP variable. - * - * @param mixed $var Any PHP variable. - * @param int $filter A bit field of Caster::EXCLUDE_* constants. - * - * @return Data The cloned variable represented by a Data object. - */ - public function cloneVar($var, $filter = 0) - { - $this->prevErrorHandler = set_error_handler(function ($type, $msg, $file, $line, $context) { - if (E_RECOVERABLE_ERROR === $type || E_USER_ERROR === $type) { - // Cloner never dies - throw new \ErrorException($msg, 0, $type, $file, $line); - } + /** + * Adds casters for resources and objects. + * + * Maps resources or objects types to a callback. + * Types are in the key, with a callable caster for value. + * Resource types are to be prefixed with a `:`, + * see e.g. static::$defaultCasters. + * + * @param callable[] $casters A map of casters + */ + public function addCasters(array $casters) + { + foreach ($casters as $type => $callback) { + $this->casters[strtolower($type)][] = $callback; + } + } - if ($this->prevErrorHandler) { - return call_user_func($this->prevErrorHandler, $type, $msg, $file, $line, $context); - } + /** + * Sets the maximum number of items to clone past the first level in nested structures. + * + * @param int $maxItems + */ + public function setMaxItems($maxItems) + { + $this->maxItems = (int) $maxItems; + } - return false; - }); - $this->filter = $filter; + /** + * Sets the maximum cloned length for strings. + * + * @param int $maxString + */ + public function setMaxString($maxString) + { + $this->maxString = (int) $maxString; + } - try { - $data = $this->doClone($var); - } catch (\Exception $e) { - } - restore_error_handler(); - $this->prevErrorHandler = null; + /** + * Clones a PHP variable. + * + * @param mixed $var Any PHP variable + * @param int $filter A bit field of Caster::EXCLUDE_* constants + * + * @return Data The cloned variable represented by a Data object + */ + public function cloneVar($var, $filter = 0) + { + $this->prevErrorHandler = set_error_handler(function ($type, $msg, $file, $line, $context) { + if (E_RECOVERABLE_ERROR === $type || E_USER_ERROR === $type) { + // Cloner never dies + throw new \ErrorException($msg, 0, $type, $file, $line); + } - if (isset($e)) { - throw $e; - } + if ($this->prevErrorHandler) { + return call_user_func($this->prevErrorHandler, $type, $msg, $file, $line, $context); + } - return new Data($data); - } + return false; + }); + $this->filter = $filter; - /** - * Effectively clones the PHP variable. - * - * @param mixed $var Any PHP variable. - * - * @return array The cloned variable represented in an array. - */ - abstract protected function doClone($var); + try { + $data = $this->doClone($var); + } catch (\Exception $e) { + } + restore_error_handler(); + $this->prevErrorHandler = null; - /** - * Casts an object to an array representation. - * - * @param Stub $stub The Stub for the casted object. - * @param bool $isNested True if the object is nested in the dumped structure. - * - * @return array The object casted as array. - */ - protected function castObject(Stub $stub, $isNested) - { - $obj = $stub->value; - $class = $stub->class; + if (isset($e)) { + throw $e; + } - if (isset($class[15]) && "\0" === $class[15] && 0 === strpos($class, "class@anonymous\x00")) { - $stub->class = get_parent_class($class).'@anonymous'; - } - if (isset($this->classInfo[$class])) { - $classInfo = $this->classInfo[$class]; - } else { - $classInfo = array( - new \ReflectionClass($class), - array_reverse(array($class => $class) + class_parents($class) + class_implements($class) + array('*' => '*')), - ); + return new Data($data); + } - $this->classInfo[$class] = $classInfo; - } + /** + * Effectively clones the PHP variable. + * + * @param mixed $var Any PHP variable + * + * @return array The cloned variable represented in an array + */ + abstract protected function doClone($var); - $a = $this->callCaster('Symfony\Component\VarDumper\Caster\Caster::castObject', $obj, $classInfo[0], null, $isNested); + /** + * Casts an object to an array representation. + * + * @param Stub $stub The Stub for the casted object + * @param bool $isNested True if the object is nested in the dumped structure + * + * @return array The object casted as array + */ + protected function castObject(Stub $stub, $isNested) + { + $obj = $stub->value; + $class = $stub->class; - foreach ($classInfo[1] as $p) { - if (!empty($this->casters[$p = strtolower($p)])) { - foreach ($this->casters[$p] as $p) { - $a = $this->callCaster($p, $obj, $a, $stub, $isNested); - } - } - } + if (isset($class[15]) && "\0" === $class[15] && 0 === strpos($class, "class@anonymous\x00")) { + $stub->class = get_parent_class($class).'@anonymous'; + } + if (isset($this->classInfo[$class])) { + $classInfo = $this->classInfo[$class]; + } else { + $classInfo = array( + new \ReflectionClass($class), + array_reverse(array($class => $class) + class_parents($class) + class_implements($class) + array('*' => '*')), + ); + $classInfo[1] = array_map('strtolower', $classInfo[1]); - return $a; - } + $this->classInfo[$class] = $classInfo; + } - /** - * Casts a resource to an array representation. - * - * @param Stub $stub The Stub for the casted resource. - * @param bool $isNested True if the object is nested in the dumped structure. - * - * @return array The resource casted as array. - */ - protected function castResource(Stub $stub, $isNested) - { - $a = array(); - $res = $stub->value; - $type = $stub->class; + $a = Caster::castObject($obj, $classInfo[0]); - if (!empty($this->casters[':'.$type])) { - foreach ($this->casters[':'.$type] as $c) { - $a = $this->callCaster($c, $res, $a, $stub, $isNested); - } - } + foreach ($classInfo[1] as $p) { + if (!empty($this->casters[$p])) { + foreach ($this->casters[$p] as $p) { + $a = $this->callCaster($p, $obj, $a, $stub, $isNested); + } + } + } - return $a; - } + return $a; + } - /** - * Calls a custom caster. - * - * @param callable $callback The caster. - * @param object|resource $obj The object/resource being casted. - * @param array $a The result of the previous cast for chained casters. - * @param Stub $stub The Stub for the casted object/resource. - * @param bool $isNested True if $obj is nested in the dumped structure. - * - * @return array The casted object/resource. - */ - private function callCaster($callback, $obj, $a, $stub, $isNested) - { - try { - $cast = call_user_func($callback, $obj, $a, $stub, $isNested, $this->filter); + /** + * Casts a resource to an array representation. + * + * @param Stub $stub The Stub for the casted resource + * @param bool $isNested True if the object is nested in the dumped structure + * + * @return array The resource casted as array + */ + protected function castResource(Stub $stub, $isNested) + { + $a = array(); + $res = $stub->value; + $type = $stub->class; - if (is_array($cast)) { - $a = $cast; - } - } catch (\Exception $e) { - $a[(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠'] = new ThrowingCasterException($e); - } + if (!empty($this->casters[':'.$type])) { + foreach ($this->casters[':'.$type] as $c) { + $a = $this->callCaster($c, $res, $a, $stub, $isNested); + } + } - return $a; - } + return $a; + } + + /** + * Calls a custom caster. + * + * @param callable $callback The caster + * @param object|resource $obj The object/resource being casted + * @param array $a The result of the previous cast for chained casters + * @param Stub $stub The Stub for the casted object/resource + * @param bool $isNested True if $obj is nested in the dumped structure + * + * @return array The casted object/resource + */ + private function callCaster($callback, $obj, $a, $stub, $isNested) + { + try { + $cast = call_user_func($callback, $obj, $a, $stub, $isNested, $this->filter); + + if (is_array($cast)) { + $a = $cast; + } + } catch (\Exception $e) { + $a = array((Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠' => new ThrowingCasterException($e)) + $a; + } + + return $a; + } } diff --git a/htdocs/includes/symfony/var-dumper/Cloner/ClonerInterface.php b/htdocs/includes/symfony/var-dumper/Cloner/ClonerInterface.php index c1df5933dbf..09d863e8e6f 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/ClonerInterface.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/ClonerInterface.php @@ -16,12 +16,12 @@ namespace Symfony\Component\VarDumper\Cloner; */ interface ClonerInterface { - /** - * Clones a PHP variable. - * - * @param mixed $var Any PHP variable. - * - * @return Data The cloned variable represented by a Data object. - */ - public function cloneVar($var); + /** + * Clones a PHP variable. + * + * @param mixed $var Any PHP variable + * + * @return Data The cloned variable represented by a Data object + */ + public function cloneVar($var); } diff --git a/htdocs/includes/symfony/var-dumper/Cloner/Cursor.php b/htdocs/includes/symfony/var-dumper/Cloner/Cursor.php index 162f3293cf2..23fe80977c6 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/Cursor.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/Cursor.php @@ -18,24 +18,25 @@ namespace Symfony\Component\VarDumper\Cloner; */ class Cursor { - const HASH_INDEXED = Stub::ARRAY_INDEXED; - const HASH_ASSOC = Stub::ARRAY_ASSOC; - const HASH_OBJECT = Stub::TYPE_OBJECT; - const HASH_RESOURCE = Stub::TYPE_RESOURCE; + const HASH_INDEXED = Stub::ARRAY_INDEXED; + const HASH_ASSOC = Stub::ARRAY_ASSOC; + const HASH_OBJECT = Stub::TYPE_OBJECT; + const HASH_RESOURCE = Stub::TYPE_RESOURCE; - public $depth = 0; - public $refIndex = 0; - public $softRefTo = 0; - public $softRefCount = 0; - public $softRefHandle = 0; - public $hardRefTo = 0; - public $hardRefCount = 0; - public $hardRefHandle = 0; - public $hashType; - public $hashKey; - public $hashKeyIsBinary; - public $hashIndex = 0; - public $hashLength = 0; - public $hashCut = 0; - public $stop = false; + public $depth = 0; + public $refIndex = 0; + public $softRefTo = 0; + public $softRefCount = 0; + public $softRefHandle = 0; + public $hardRefTo = 0; + public $hardRefCount = 0; + public $hardRefHandle = 0; + public $hashType; + public $hashKey; + public $hashKeyIsBinary; + public $hashIndex = 0; + public $hashLength = 0; + public $hashCut = 0; + public $stop = false; + public $attr = array(); } diff --git a/htdocs/includes/symfony/var-dumper/Cloner/Data.php b/htdocs/includes/symfony/var-dumper/Cloner/Data.php index 43a7b67971e..c770f06a928 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/Data.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/Data.php @@ -11,208 +11,260 @@ namespace Symfony\Component\VarDumper\Cloner; +use Symfony\Component\VarDumper\Caster\Caster; + /** * @author Nicolas Grekas */ class Data { - private $data; - private $maxDepth = 20; - private $maxItemsPerDepth = -1; - private $useRefHandles = -1; + private $data; + private $position = 0; + private $key = 0; + private $maxDepth = 20; + private $maxItemsPerDepth = -1; + private $useRefHandles = -1; - /** - * @param array $data A array as returned by ClonerInterface::cloneVar(). - */ - public function __construct(array $data) - { - $this->data = $data; - } + /** + * @param array $data A array as returned by ClonerInterface::cloneVar() + */ + public function __construct(array $data) + { + $this->data = $data; + } - /** - * @return array The raw data structure. - */ - public function getRawData() - { - return $this->data; - } + /** + * @return array The raw data structure + */ + public function getRawData() + { + return $this->data; + } - /** - * Returns a depth limited clone of $this. - * - * @param int $maxDepth The max dumped depth level. - * - * @return self A clone of $this. - */ - public function withMaxDepth($maxDepth) - { - $data = clone $this; - $data->maxDepth = (int) $maxDepth; + /** + * Returns a depth limited clone of $this. + * + * @param int $maxDepth The max dumped depth level + * + * @return self A clone of $this + */ + public function withMaxDepth($maxDepth) + { + $data = clone $this; + $data->maxDepth = (int) $maxDepth; - return $data; - } + return $data; + } - /** - * Limits the numbers of elements per depth level. - * - * @param int $maxItemsPerDepth The max number of items dumped per depth level. - * - * @return self A clone of $this. - */ - public function withMaxItemsPerDepth($maxItemsPerDepth) - { - $data = clone $this; - $data->maxItemsPerDepth = (int) $maxItemsPerDepth; + /** + * Limits the number of elements per depth level. + * + * @param int $maxItemsPerDepth The max number of items dumped per depth level + * + * @return self A clone of $this + */ + public function withMaxItemsPerDepth($maxItemsPerDepth) + { + $data = clone $this; + $data->maxItemsPerDepth = (int) $maxItemsPerDepth; - return $data; - } + return $data; + } - /** - * Enables/disables objects' identifiers tracking. - * - * @param bool $useRefHandles False to hide global ref. handles. - * - * @return self A clone of $this. - */ - public function withRefHandles($useRefHandles) - { - $data = clone $this; - $data->useRefHandles = $useRefHandles ? -1 : 0; + /** + * Enables/disables objects' identifiers tracking. + * + * @param bool $useRefHandles False to hide global ref. handles + * + * @return self A clone of $this + */ + public function withRefHandles($useRefHandles) + { + $data = clone $this; + $data->useRefHandles = $useRefHandles ? -1 : 0; - return $data; - } + return $data; + } - /** - * Dumps data with a DumperInterface dumper. - */ - public function dump(DumperInterface $dumper) - { - $refs = array(0); - $this->dumpItem($dumper, new Cursor(), $refs, $this->data[0][0]); - } + /** + * Seeks to a specific key in nested data structures. + * + * @param string|int $key The key to seek to + * + * @return self|null A clone of $this of null if the key is not set + */ + public function seek($key) + { + $item = $this->data[$this->position][$this->key]; - /** - * Depth-first dumping of items. - * - * @param DumperInterface $dumper The dumper being used for dumping. - * @param Cursor $cursor A cursor used for tracking dumper state position. - * @param array &$refs A map of all references discovered while dumping. - * @param mixed $item A Stub object or the original value being dumped. - */ - private function dumpItem($dumper, $cursor, &$refs, $item) - { - $cursor->refIndex = 0; - $cursor->softRefTo = $cursor->softRefHandle = $cursor->softRefCount = 0; - $cursor->hardRefTo = $cursor->hardRefHandle = $cursor->hardRefCount = 0; - $firstSeen = true; + if (!$item instanceof Stub || !$item->position) { + return; + } + $keys = array($key); - if (!$item instanceof Stub) { - $type = gettype($item); - } elseif (Stub::TYPE_REF === $item->type) { - if ($item->handle) { - if (!isset($refs[$r = $item->handle - (PHP_INT_MAX >> 1)])) { - $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0]; - } else { - $firstSeen = false; - } - $cursor->hardRefTo = $refs[$r]; - $cursor->hardRefHandle = $this->useRefHandles & $item->handle; - $cursor->hardRefCount = $item->refCount; - } - $type = $item->class ?: gettype($item->value); - $item = $item->value; - } - if ($item instanceof Stub) { - if ($item->refCount) { - if (!isset($refs[$r = $item->handle])) { - $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0]; - } else { - $firstSeen = false; - } - $cursor->softRefTo = $refs[$r]; - } - $cursor->softRefHandle = $this->useRefHandles & $item->handle; - $cursor->softRefCount = $item->refCount; - $cut = $item->cut; + switch ($item->type) { + case Stub::TYPE_OBJECT: + $keys[] = Caster::PREFIX_DYNAMIC.$key; + $keys[] = Caster::PREFIX_PROTECTED.$key; + $keys[] = Caster::PREFIX_VIRTUAL.$key; + $keys[] = "\0$item->class\0$key"; + case Stub::TYPE_ARRAY: + case Stub::TYPE_RESOURCE: + break; + default: + return; + } - if ($item->position && $firstSeen) { - $children = $this->data[$item->position]; + $data = null; + $children = $this->data[$item->position]; - if ($cursor->stop) { - if ($cut >= 0) { - $cut += count($children); - } - $children = array(); - } - } else { - $children = array(); - } - switch ($item->type) { - case Stub::TYPE_STRING: - $dumper->dumpString($cursor, $item->value, Stub::STRING_BINARY === $item->class, $cut); - break; + foreach ($keys as $key) { + if (isset($children[$key]) || array_key_exists($key, $children)) { + $data = clone $this; + $data->key = $key; + $data->position = $item->position; + break; + } + } - case Stub::TYPE_ARRAY: - $item = clone $item; - $item->type = $item->class; - $item->class = $item->value; - // No break; - case Stub::TYPE_OBJECT: - case Stub::TYPE_RESOURCE: - $withChildren = $children && $cursor->depth !== $this->maxDepth && $this->maxItemsPerDepth; - $dumper->enterHash($cursor, $item->type, $item->class, $withChildren); - if ($withChildren) { - $cut = $this->dumpChildren($dumper, $cursor, $refs, $children, $cut, $item->type); - } elseif ($children && 0 <= $cut) { - $cut += count($children); - } - $dumper->leaveHash($cursor, $item->type, $item->class, $withChildren, $cut); - break; + return $data; + } - default: - throw new \RuntimeException(sprintf('Unexpected Stub type: %s', $item->type)); - } - } elseif ('array' === $type) { - $dumper->enterHash($cursor, Cursor::HASH_INDEXED, 0, false); - $dumper->leaveHash($cursor, Cursor::HASH_INDEXED, 0, false, 0); - } elseif ('string' === $type) { - $dumper->dumpString($cursor, $item, false, 0); - } else { - $dumper->dumpScalar($cursor, $type, $item); - } - } + /** + * Dumps data with a DumperInterface dumper. + */ + public function dump(DumperInterface $dumper) + { + $refs = array(0); + $this->dumpItem($dumper, new Cursor(), $refs, $this->data[$this->position][$this->key]); + } - /** - * Dumps children of hash structures. - * - * @param DumperInterface $dumper - * @param Cursor $parentCursor The cursor of the parent hash. - * @param array &$refs A map of all references discovered while dumping. - * @param array $children The children to dump. - * @param int $hashCut The number of items removed from the original hash. - * @param string $hashType A Cursor::HASH_* const. - * - * @return int The final number of removed items. - */ - private function dumpChildren($dumper, $parentCursor, &$refs, $children, $hashCut, $hashType) - { - $cursor = clone $parentCursor; - ++$cursor->depth; - $cursor->hashType = $hashType; - $cursor->hashIndex = 0; - $cursor->hashLength = count($children); - $cursor->hashCut = $hashCut; - foreach ($children as $key => $child) { - $cursor->hashKeyIsBinary = isset($key[0]) && !preg_match('//u', $key); - $cursor->hashKey = $key; - $this->dumpItem($dumper, $cursor, $refs, $child); - if (++$cursor->hashIndex === $this->maxItemsPerDepth || $cursor->stop) { - $parentCursor->stop = true; + /** + * Depth-first dumping of items. + * + * @param DumperInterface $dumper The dumper being used for dumping + * @param Cursor $cursor A cursor used for tracking dumper state position + * @param array &$refs A map of all references discovered while dumping + * @param mixed $item A Stub object or the original value being dumped + */ + private function dumpItem($dumper, $cursor, &$refs, $item) + { + $cursor->refIndex = 0; + $cursor->softRefTo = $cursor->softRefHandle = $cursor->softRefCount = 0; + $cursor->hardRefTo = $cursor->hardRefHandle = $cursor->hardRefCount = 0; + $firstSeen = true; - return $hashCut >= 0 ? $hashCut + $cursor->hashLength - $cursor->hashIndex : $hashCut; - } - } + if (!$item instanceof Stub) { + $cursor->attr = array(); + $type = gettype($item); + } elseif (Stub::TYPE_REF === $item->type) { + if ($item->handle) { + if (!isset($refs[$r = $item->handle - (PHP_INT_MAX >> 1)])) { + $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0]; + } else { + $firstSeen = false; + } + $cursor->hardRefTo = $refs[$r]; + $cursor->hardRefHandle = $this->useRefHandles & $item->handle; + $cursor->hardRefCount = $item->refCount; + } + $cursor->attr = $item->attr; + $type = $item->class ?: gettype($item->value); + $item = $item->value; + } + if ($item instanceof Stub) { + if ($item->refCount) { + if (!isset($refs[$r = $item->handle])) { + $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0]; + } else { + $firstSeen = false; + } + $cursor->softRefTo = $refs[$r]; + } + $cursor->softRefHandle = $this->useRefHandles & $item->handle; + $cursor->softRefCount = $item->refCount; + $cursor->attr = $item->attr; + $cut = $item->cut; - return $hashCut; - } + if ($item->position && $firstSeen) { + $children = $this->data[$item->position]; + + if ($cursor->stop) { + if ($cut >= 0) { + $cut += count($children); + } + $children = array(); + } + } else { + $children = array(); + } + switch ($item->type) { + case Stub::TYPE_STRING: + $dumper->dumpString($cursor, $item->value, Stub::STRING_BINARY === $item->class, $cut); + break; + + case Stub::TYPE_ARRAY: + $item = clone $item; + $item->type = $item->class; + $item->class = $item->value; + // No break; + case Stub::TYPE_OBJECT: + case Stub::TYPE_RESOURCE: + $withChildren = $children && $cursor->depth !== $this->maxDepth && $this->maxItemsPerDepth; + $dumper->enterHash($cursor, $item->type, $item->class, $withChildren); + if ($withChildren) { + $cut = $this->dumpChildren($dumper, $cursor, $refs, $children, $cut, $item->type, null !== $item->class); + } elseif ($children && 0 <= $cut) { + $cut += count($children); + } + $dumper->leaveHash($cursor, $item->type, $item->class, $withChildren, $cut); + break; + + default: + throw new \RuntimeException(sprintf('Unexpected Stub type: %s', $item->type)); + } + } elseif ('array' === $type) { + $dumper->enterHash($cursor, Cursor::HASH_INDEXED, 0, false); + $dumper->leaveHash($cursor, Cursor::HASH_INDEXED, 0, false, 0); + } elseif ('string' === $type) { + $dumper->dumpString($cursor, $item, false, 0); + } else { + $dumper->dumpScalar($cursor, $type, $item); + } + } + + /** + * Dumps children of hash structures. + * + * @param DumperInterface $dumper + * @param Cursor $parentCursor The cursor of the parent hash + * @param array &$refs A map of all references discovered while dumping + * @param array $children The children to dump + * @param int $hashCut The number of items removed from the original hash + * @param string $hashType A Cursor::HASH_* const + * @param bool $dumpKeys Whether keys should be dumped or not + * + * @return int The final number of removed items + */ + private function dumpChildren($dumper, $parentCursor, &$refs, $children, $hashCut, $hashType, $dumpKeys) + { + $cursor = clone $parentCursor; + ++$cursor->depth; + $cursor->hashType = $hashType; + $cursor->hashIndex = 0; + $cursor->hashLength = count($children); + $cursor->hashCut = $hashCut; + foreach ($children as $key => $child) { + $cursor->hashKeyIsBinary = isset($key[0]) && !preg_match('//u', $key); + $cursor->hashKey = $dumpKeys ? $key : null; + $this->dumpItem($dumper, $cursor, $refs, $child); + if (++$cursor->hashIndex === $this->maxItemsPerDepth || $cursor->stop) { + $parentCursor->stop = true; + + return $hashCut >= 0 ? $hashCut + $cursor->hashLength - $cursor->hashIndex : $hashCut; + } + } + + return $hashCut; + } } diff --git a/htdocs/includes/symfony/var-dumper/Cloner/DumperInterface.php b/htdocs/includes/symfony/var-dumper/Cloner/DumperInterface.php index eba23d42297..8f647a7e5a7 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/DumperInterface.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/DumperInterface.php @@ -18,43 +18,43 @@ namespace Symfony\Component\VarDumper\Cloner; */ interface DumperInterface { - /** - * Dumps a scalar value. - * - * @param Cursor $cursor The Cursor position in the dump. - * @param string $type The PHP type of the value being dumped. - * @param scalar $value The scalar value being dumped. - */ - public function dumpScalar(Cursor $cursor, $type, $value); + /** + * Dumps a scalar value. + * + * @param Cursor $cursor The Cursor position in the dump + * @param string $type The PHP type of the value being dumped + * @param scalar $value The scalar value being dumped + */ + public function dumpScalar(Cursor $cursor, $type, $value); - /** - * Dumps a string. - * - * @param Cursor $cursor The Cursor position in the dump. - * @param string $str The string being dumped. - * @param bool $bin Whether $str is UTF-8 or binary encoded. - * @param int $cut The number of characters $str has been cut by. - */ - public function dumpString(Cursor $cursor, $str, $bin, $cut); + /** + * Dumps a string. + * + * @param Cursor $cursor The Cursor position in the dump + * @param string $str The string being dumped + * @param bool $bin Whether $str is UTF-8 or binary encoded + * @param int $cut The number of characters $str has been cut by + */ + public function dumpString(Cursor $cursor, $str, $bin, $cut); - /** - * Dumps while entering an hash. - * - * @param Cursor $cursor The Cursor position in the dump. - * @param int $type A Cursor::HASH_* const for the type of hash. - * @param string $class The object class, resource type or array count. - * @param bool $hasChild When the dump of the hash has child item. - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild); + /** + * Dumps while entering an hash. + * + * @param Cursor $cursor The Cursor position in the dump + * @param int $type A Cursor::HASH_* const for the type of hash + * @param string $class The object class, resource type or array count + * @param bool $hasChild When the dump of the hash has child item + */ + public function enterHash(Cursor $cursor, $type, $class, $hasChild); - /** - * Dumps while leaving an hash. - * - * @param Cursor $cursor The Cursor position in the dump. - * @param int $type A Cursor::HASH_* const for the type of hash. - * @param string $class The object class, resource type or array count. - * @param bool $hasChild When the dump of the hash has child item. - * @param int $cut The number of items the hash has been cut by. - */ - public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut); + /** + * Dumps while leaving an hash. + * + * @param Cursor $cursor The Cursor position in the dump + * @param int $type A Cursor::HASH_* const for the type of hash + * @param string $class The object class, resource type or array count + * @param bool $hasChild When the dump of the hash has child item + * @param int $cut The number of items the hash has been cut by + */ + public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut); } diff --git a/htdocs/includes/symfony/var-dumper/Cloner/Stub.php b/htdocs/includes/symfony/var-dumper/Cloner/Stub.php index f58a57a7276..8ee0f23b75e 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/Stub.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/Stub.php @@ -18,23 +18,24 @@ namespace Symfony\Component\VarDumper\Cloner; */ class Stub { - const TYPE_REF = 'ref'; - const TYPE_STRING = 'string'; - const TYPE_ARRAY = 'array'; - const TYPE_OBJECT = 'object'; - const TYPE_RESOURCE = 'resource'; + const TYPE_REF = 'ref'; + const TYPE_STRING = 'string'; + const TYPE_ARRAY = 'array'; + const TYPE_OBJECT = 'object'; + const TYPE_RESOURCE = 'resource'; - const STRING_BINARY = 'bin'; - const STRING_UTF8 = 'utf8'; + const STRING_BINARY = 'bin'; + const STRING_UTF8 = 'utf8'; - const ARRAY_ASSOC = 'assoc'; - const ARRAY_INDEXED = 'indexed'; + const ARRAY_ASSOC = 'assoc'; + const ARRAY_INDEXED = 'indexed'; - public $type = self::TYPE_REF; - public $class = ''; - public $value; - public $cut = 0; - public $handle = 0; - public $refCount = 0; - public $position = 0; + public $type = self::TYPE_REF; + public $class = ''; + public $value; + public $cut = 0; + public $handle = 0; + public $refCount = 0; + public $position = 0; + public $attr = array(); } diff --git a/htdocs/includes/symfony/var-dumper/Cloner/VarCloner.php b/htdocs/includes/symfony/var-dumper/Cloner/VarCloner.php index 98d6e9e51c1..caadfe05e7d 100644 --- a/htdocs/includes/symfony/var-dumper/Cloner/VarCloner.php +++ b/htdocs/includes/symfony/var-dumper/Cloner/VarCloner.php @@ -16,285 +16,311 @@ namespace Symfony\Component\VarDumper\Cloner; */ class VarCloner extends AbstractCloner { - private static $hashMask = 0; - private static $hashOffset = 0; + private static $hashMask = 0; + private static $hashOffset = 0; - /** - * {@inheritdoc} - */ - protected function doClone($var) - { - $useExt = $this->useExt; - $i = 0; // Current iteration position in $queue - $len = 1; // Length of $queue - $pos = 0; // Number of cloned items past the first level - $refs = 0; // Hard references counter - $queue = array(array($var)); // This breadth-first queue is the return value - $arrayRefs = array(); // Map of queue indexes to stub array objects - $hardRefs = array(); // Map of original zval hashes to stub objects - $objRefs = array(); // Map of original object handles to their stub object couterpart - $resRefs = array(); // Map of original resource handles to their stub object couterpart - $values = array(); // Map of stub objects' hashes to original values - $maxItems = $this->maxItems; - $maxString = $this->maxString; - $cookie = (object) array(); // Unique object used to detect hard references - $gid = uniqid(mt_rand(), true); // Unique string used to detect the special $GLOBALS variable - $a = null; // Array cast for nested structures - $stub = null; // Stub capturing the main properties of an original item value - // or null if the original value is used directly - $zval = array( // Main properties of the current value - 'type' => null, - 'zval_isref' => null, - 'zval_hash' => null, - 'array_count' => null, - 'object_class' => null, - 'object_handle' => null, - 'resource_type' => null, - ); - if (!self::$hashMask) { - self::initHashMask(); - } - $hashMask = self::$hashMask; - $hashOffset = self::$hashOffset; + /** + * {@inheritdoc} + */ + protected function doClone($var) + { + $useExt = $this->useExt; + $len = 1; // Length of $queue + $pos = 0; // Number of cloned items past the first level + $refsCounter = 0; // Hard references counter + $queue = array(array($var)); // This breadth-first queue is the return value + $arrayRefs = array(); // Map of queue indexes to stub array objects + $hardRefs = array(); // Map of original zval hashes to stub objects + $objRefs = array(); // Map of original object handles to their stub object couterpart + $resRefs = array(); // Map of original resource handles to their stub object couterpart + $values = array(); // Map of stub objects' hashes to original values + $maxItems = $this->maxItems; + $maxString = $this->maxString; + $cookie = (object) array(); // Unique object used to detect hard references + $gid = uniqid(mt_rand(), true); // Unique string used to detect the special $GLOBALS variable + $a = null; // Array cast for nested structures + $stub = null; // Stub capturing the main properties of an original item value + // or null if the original value is used directly + $zval = array( // Main properties of the current value + 'type' => null, + 'zval_isref' => null, + 'zval_hash' => null, + 'array_count' => null, + 'object_class' => null, + 'object_handle' => null, + 'resource_type' => null, + ); + if (!self::$hashMask) { + self::initHashMask(); + } + $hashMask = self::$hashMask; + $hashOffset = self::$hashOffset; - for ($i = 0; $i < $len; ++$i) { - $indexed = true; // Whether the currently iterated array is numerically indexed or not - $j = -1; // Position in the currently iterated array - $step = $queue[$i]; // Copy of the currently iterated array used for hard references detection - foreach ($step as $k => $v) { - // $k is the original key - // $v is the original value or a stub object in case of hard references - if ($indexed && $k !== ++$j) { - $indexed = false; - } - if ($useExt) { - $zval = symfony_zval_info($k, $step); - } else { - $step[$k] = $cookie; - if ($zval['zval_isref'] = $queue[$i][$k] === $cookie) { - $zval['zval_hash'] = $v instanceof Stub ? spl_object_hash($v) : null; - } - $zval['type'] = gettype($v); - } - if ($zval['zval_isref']) { - $queue[$i][$k] = &$stub; // Break hard references to make $queue completely - unset($stub); // independent from the original structure - if (isset($hardRefs[$zval['zval_hash']])) { - $queue[$i][$k] = $useExt ? ($v = $hardRefs[$zval['zval_hash']]) : ($step[$k] = $v); - if ($v->value instanceof Stub && (Stub::TYPE_OBJECT === $v->value->type || Stub::TYPE_RESOURCE === $v->value->type)) { - ++$v->value->refCount; - } - ++$v->refCount; - continue; - } - } - // Create $stub when the original value $v can not be used directly - // If $v is a nested structure, put that structure in array $a - switch ($zval['type']) { - case 'string': - if (isset($v[0]) && !preg_match('//u', $v)) { - $stub = new Stub(); - $stub->type = Stub::TYPE_STRING; - $stub->class = Stub::STRING_BINARY; - if (0 <= $maxString && 0 < $cut = strlen($v) - $maxString) { - $stub->cut = $cut; - $stub->value = substr($v, 0, -$cut); - } else { - $stub->value = $v; - } - } elseif (0 <= $maxString && isset($v[1 + ($maxString >> 2)]) && 0 < $cut = iconv_strlen($v, 'UTF-8') - $maxString) { - $stub = new Stub(); - $stub->type = Stub::TYPE_STRING; - $stub->class = Stub::STRING_UTF8; - $stub->cut = $cut; - $stub->value = iconv_substr($v, 0, $maxString, 'UTF-8'); - } - break; + for ($i = 0; $i < $len; ++$i) { + $indexed = true; // Whether the currently iterated array is numerically indexed or not + $j = -1; // Position in the currently iterated array + $fromObjCast = array_keys($queue[$i]); + $fromObjCast = array_keys(array_flip($fromObjCast)) !== $fromObjCast; + $refs = $vals = $fromObjCast ? array_values($queue[$i]) : $queue[$i]; + foreach ($queue[$i] as $k => $v) { + // $k is the original key + // $v is the original value or a stub object in case of hard references + if ($k !== ++$j) { + $indexed = false; + } + if ($fromObjCast) { + $k = $j; + } + if ($useExt) { + $zval = symfony_zval_info($k, $refs); + } else { + $refs[$k] = $cookie; + if ($zval['zval_isref'] = $vals[$k] === $cookie) { + $zval['zval_hash'] = $v instanceof Stub ? spl_object_hash($v) : null; + } + $zval['type'] = gettype($v); + } + if ($zval['zval_isref']) { + $vals[$k] = &$stub; // Break hard references to make $queue completely + unset($stub); // independent from the original structure + if (isset($hardRefs[$zval['zval_hash']])) { + $vals[$k] = $useExt ? ($v = $hardRefs[$zval['zval_hash']]) : ($refs[$k] = $v); + if ($v->value instanceof Stub && (Stub::TYPE_OBJECT === $v->value->type || Stub::TYPE_RESOURCE === $v->value->type)) { + ++$v->value->refCount; + } + ++$v->refCount; + continue; + } + } + // Create $stub when the original value $v can not be used directly + // If $v is a nested structure, put that structure in array $a + switch ($zval['type']) { + case 'string': + if (isset($v[0]) && !preg_match('//u', $v)) { + $stub = new Stub(); + $stub->type = Stub::TYPE_STRING; + $stub->class = Stub::STRING_BINARY; + if (0 <= $maxString && 0 < $cut = strlen($v) - $maxString) { + $stub->cut = $cut; + $stub->value = substr($v, 0, -$cut); + } else { + $stub->value = $v; + } + } elseif (0 <= $maxString && isset($v[1 + ($maxString >> 2)]) && 0 < $cut = mb_strlen($v, 'UTF-8') - $maxString) { + $stub = new Stub(); + $stub->type = Stub::TYPE_STRING; + $stub->class = Stub::STRING_UTF8; + $stub->cut = $cut; + $stub->value = mb_substr($v, 0, $maxString, 'UTF-8'); + } + break; - case 'integer': - break; + case 'integer': + break; - case 'array': - if ($v) { - $stub = $arrayRefs[$len] = new Stub(); - $stub->type = Stub::TYPE_ARRAY; - $stub->class = Stub::ARRAY_ASSOC; + case 'array': + if ($v) { + $stub = $arrayRefs[$len] = new Stub(); + $stub->type = Stub::TYPE_ARRAY; + $stub->class = Stub::ARRAY_ASSOC; - // Copies of $GLOBALS have very strange behavior, - // let's detect them with some black magic - $a = $v; - $a[$gid] = true; + // Copies of $GLOBALS have very strange behavior, + // let's detect them with some black magic + $a = $v; + $a[$gid] = true; - // Happens with copies of $GLOBALS - if (isset($v[$gid])) { - unset($v[$gid]); - $a = array(); - foreach ($v as $gk => &$gv) { - $a[$gk] = &$gv; - } - } else { - $a = $v; - } + // Happens with copies of $GLOBALS + if (isset($v[$gid])) { + unset($v[$gid]); + $a = array(); + foreach ($v as $gk => &$gv) { + $a[$gk] = &$gv; + } + } else { + $a = $v; + } - $stub->value = $zval['array_count'] ?: count($a); - } - break; + $stub->value = $zval['array_count'] ?: count($a); + } + break; - case 'object': - if (empty($objRefs[$h = $zval['object_handle'] ?: ($hashMask ^ hexdec(substr(spl_object_hash($v), $hashOffset, PHP_INT_SIZE)))])) { - $stub = new Stub(); - $stub->type = Stub::TYPE_OBJECT; - $stub->class = $zval['object_class'] ?: get_class($v); - $stub->value = $v; - $stub->handle = $h; - $a = $this->castObject($stub, 0 < $i); - if ($v !== $stub->value) { - if (Stub::TYPE_OBJECT !== $stub->type || null === $stub->value) { - break; - } - if ($useExt) { - $zval['type'] = $stub->value; - $zval = symfony_zval_info('type', $zval); - $h = $zval['object_handle']; - } else { - $h = $hashMask ^ hexdec(substr(spl_object_hash($stub->value), $hashOffset, PHP_INT_SIZE)); - } - $stub->handle = $h; - } - $stub->value = null; - if (0 <= $maxItems && $maxItems <= $pos) { - $stub->cut = count($a); - $a = null; - } - } - if (empty($objRefs[$h])) { - $objRefs[$h] = $stub; - } else { - $stub = $objRefs[$h]; - ++$stub->refCount; - $a = null; - } - break; + case 'object': + if (empty($objRefs[$h = $zval['object_handle'] ?: ($hashMask ^ hexdec(substr(spl_object_hash($v), $hashOffset, PHP_INT_SIZE)))])) { + $stub = new Stub(); + $stub->type = Stub::TYPE_OBJECT; + $stub->class = $zval['object_class'] ?: get_class($v); + $stub->value = $v; + $stub->handle = $h; + $a = $this->castObject($stub, 0 < $i); + if ($v !== $stub->value) { + if (Stub::TYPE_OBJECT !== $stub->type || null === $stub->value) { + break; + } + if ($useExt) { + $zval['type'] = $stub->value; + $zval = symfony_zval_info('type', $zval); + $h = $zval['object_handle']; + } else { + $h = $hashMask ^ hexdec(substr(spl_object_hash($stub->value), $hashOffset, PHP_INT_SIZE)); + } + $stub->handle = $h; + } + $stub->value = null; + if (0 <= $maxItems && $maxItems <= $pos) { + $stub->cut = count($a); + $a = null; + } + } + if (empty($objRefs[$h])) { + $objRefs[$h] = $stub; + } else { + $stub = $objRefs[$h]; + ++$stub->refCount; + $a = null; + } + break; - case 'resource': - case 'unknown type': - if (empty($resRefs[$h = (int) $v])) { - $stub = new Stub(); - $stub->type = Stub::TYPE_RESOURCE; - $stub->class = $zval['resource_type'] ?: get_resource_type($v); - $stub->value = $v; - $stub->handle = $h; - $a = $this->castResource($stub, 0 < $i); - $stub->value = null; - if (0 <= $maxItems && $maxItems <= $pos) { - $stub->cut = count($a); - $a = null; - } - } - if (empty($resRefs[$h])) { - $resRefs[$h] = $stub; - } else { - $stub = $resRefs[$h]; - ++$stub->refCount; - $a = null; - } - break; - } + case 'resource': + case 'unknown type': + case 'resource (closed)': + if (empty($resRefs[$h = (int) $v])) { + $stub = new Stub(); + $stub->type = Stub::TYPE_RESOURCE; + if ('Unknown' === $stub->class = $zval['resource_type'] ?: @get_resource_type($v)) { + $stub->class = 'Closed'; + } + $stub->value = $v; + $stub->handle = $h; + $a = $this->castResource($stub, 0 < $i); + $stub->value = null; + if (0 <= $maxItems && $maxItems <= $pos) { + $stub->cut = count($a); + $a = null; + } + } + if (empty($resRefs[$h])) { + $resRefs[$h] = $stub; + } else { + $stub = $resRefs[$h]; + ++$stub->refCount; + $a = null; + } + break; + } - if (isset($stub)) { - if ($zval['zval_isref']) { - if ($useExt) { - $queue[$i][$k] = $hardRefs[$zval['zval_hash']] = $v = new Stub(); - $v->value = $stub; - } else { - $step[$k] = new Stub(); - $step[$k]->value = $stub; - $h = spl_object_hash($step[$k]); - $queue[$i][$k] = $hardRefs[$h] = &$step[$k]; - $values[$h] = $v; - } - $queue[$i][$k]->handle = ++$refs; - } else { - $queue[$i][$k] = $stub; - } + if (isset($stub)) { + if ($zval['zval_isref']) { + if ($useExt) { + $vals[$k] = $hardRefs[$zval['zval_hash']] = $v = new Stub(); + $v->value = $stub; + } else { + $refs[$k] = new Stub(); + $refs[$k]->value = $stub; + $h = spl_object_hash($refs[$k]); + $vals[$k] = $hardRefs[$h] = &$refs[$k]; + $values[$h] = $v; + } + $vals[$k]->handle = ++$refsCounter; + } else { + $vals[$k] = $stub; + } - if ($a) { - if ($i && 0 <= $maxItems) { - $k = count($a); - if ($pos < $maxItems) { - if ($maxItems < $pos += $k) { - $a = array_slice($a, 0, $maxItems - $pos); - if ($stub->cut >= 0) { - $stub->cut += $pos - $maxItems; - } - } - } else { - if ($stub->cut >= 0) { - $stub->cut += $k; - } - $stub = $a = null; - unset($arrayRefs[$len]); - continue; - } - } - $queue[$len] = $a; - $stub->position = $len++; - } - $stub = $a = null; - } elseif ($zval['zval_isref']) { - if ($useExt) { - $queue[$i][$k] = $hardRefs[$zval['zval_hash']] = new Stub(); - $queue[$i][$k]->value = $v; - } else { - $step[$k] = $queue[$i][$k] = new Stub(); - $step[$k]->value = $v; - $h = spl_object_hash($step[$k]); - $hardRefs[$h] = &$step[$k]; - $values[$h] = $v; - } - $queue[$i][$k]->handle = ++$refs; - } - } + if ($a) { + if ($i && 0 <= $maxItems) { + $k = count($a); + if ($pos < $maxItems) { + if ($maxItems < $pos += $k) { + $a = array_slice($a, 0, $maxItems - $pos); + if ($stub->cut >= 0) { + $stub->cut += $pos - $maxItems; + } + } + } else { + if ($stub->cut >= 0) { + $stub->cut += $k; + } + $stub = $a = null; + unset($arrayRefs[$len]); + continue; + } + } + $queue[$len] = $a; + $stub->position = $len++; + } + $stub = $a = null; + } elseif ($zval['zval_isref']) { + if ($useExt) { + $vals[$k] = $hardRefs[$zval['zval_hash']] = new Stub(); + $vals[$k]->value = $v; + } else { + $refs[$k] = $vals[$k] = new Stub(); + $refs[$k]->value = $v; + $h = spl_object_hash($refs[$k]); + $hardRefs[$h] = &$refs[$k]; + $values[$h] = $v; + } + $vals[$k]->handle = ++$refsCounter; + } + } - if (isset($arrayRefs[$i])) { - if ($indexed) { - $arrayRefs[$i]->class = Stub::ARRAY_INDEXED; - } - unset($arrayRefs[$i]); - } - } + if ($fromObjCast) { + $refs = $vals; + $vals = array(); + $j = -1; + foreach ($queue[$i] as $k => $v) { + foreach (array($k => $v) as $a => $v) { + } + if ($a !== $k) { + $vals = (object) $vals; + $vals->{$k} = $refs[++$j]; + $vals = (array) $vals; + } else { + $vals[$k] = $refs[++$j]; + } + } + } - foreach ($values as $h => $v) { - $hardRefs[$h] = $v; - } + $queue[$i] = $vals; - return $queue; - } + if (isset($arrayRefs[$i])) { + if ($indexed) { + $arrayRefs[$i]->class = Stub::ARRAY_INDEXED; + } + unset($arrayRefs[$i]); + } + } - private static function initHashMask() - { - $obj = (object) array(); - self::$hashOffset = 16 - PHP_INT_SIZE; - self::$hashMask = -1; + foreach ($values as $h => $v) { + $hardRefs[$h] = $v; + } - if (defined('HHVM_VERSION')) { - self::$hashOffset += 16; - } else { - // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below - $obFuncs = array('ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush'); - foreach (debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) as $frame) { - if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && in_array($frame['function'], $obFuncs)) { - $frame['line'] = 0; - break; - } - } - if (!empty($frame['line'])) { - ob_start(); - debug_zval_dump($obj); - self::$hashMask = substr(ob_get_clean(), 17); - } - } + return $queue; + } - self::$hashMask ^= hexdec(substr(spl_object_hash($obj), self::$hashOffset, PHP_INT_SIZE)); - } + private static function initHashMask() + { + $obj = (object) array(); + self::$hashOffset = 16 - PHP_INT_SIZE; + self::$hashMask = -1; + + if (defined('HHVM_VERSION')) { + self::$hashOffset += 16; + } else { + // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below + $obFuncs = array('ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush'); + foreach (debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) as $frame) { + if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && in_array($frame['function'], $obFuncs)) { + $frame['line'] = 0; + break; + } + } + if (!empty($frame['line'])) { + ob_start(); + debug_zval_dump($obj); + self::$hashMask = (int) substr(ob_get_clean(), 17); + } + } + + self::$hashMask ^= hexdec(substr(spl_object_hash($obj), self::$hashOffset, PHP_INT_SIZE)); + } } diff --git a/htdocs/includes/symfony/var-dumper/Dumper/AbstractDumper.php b/htdocs/includes/symfony/var-dumper/Dumper/AbstractDumper.php index f8b9c107779..fb68a8908c4 100644 --- a/htdocs/includes/symfony/var-dumper/Dumper/AbstractDumper.php +++ b/htdocs/includes/symfony/var-dumper/Dumper/AbstractDumper.php @@ -21,156 +21,181 @@ use Symfony\Component\VarDumper\Cloner\DumperInterface; */ abstract class AbstractDumper implements DataDumperInterface, DumperInterface { - public static $defaultOutput = 'php://output'; + const DUMP_LIGHT_ARRAY = 1; + const DUMP_STRING_LENGTH = 2; - protected $line = ''; - protected $lineDumper; - protected $outputStream; - protected $decimalPoint; // This is locale dependent - protected $indentPad = ' '; + public static $defaultOutput = 'php://output'; - private $charset; + protected $line = ''; + protected $lineDumper; + protected $outputStream; + protected $decimalPoint; // This is locale dependent + protected $indentPad = ' '; + protected $flags; - /** - * @param callable|resource|string|null $output A line dumper callable, an opened stream or an output path, defaults to static::$defaultOutput. - * @param string $charset The default character encoding to use for non-UTF8 strings. - */ - public function __construct($output = null, $charset = null) - { - $this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'); - $this->decimalPoint = (string) 0.5; - $this->decimalPoint = $this->decimalPoint[1]; - $this->setOutput($output ?: static::$defaultOutput); - if (!$output && is_string(static::$defaultOutput)) { - static::$defaultOutput = $this->outputStream; - } - } + private $charset; - /** - * Sets the output destination of the dumps. - * - * @param callable|resource|string $output A line dumper callable, an opened stream or an output path. - * - * @return callable|resource|string The previous output destination. - */ - public function setOutput($output) - { - $prev = null !== $this->outputStream ? $this->outputStream : $this->lineDumper; + /** + * @param callable|resource|string|null $output A line dumper callable, an opened stream or an output path, defaults to static::$defaultOutput + * @param string $charset The default character encoding to use for non-UTF8 strings + * @param int $flags A bit field of static::DUMP_* constants to fine tune dumps representation + */ + public function __construct($output = null, $charset = null, $flags = 0) + { + $this->flags = (int) $flags; + $this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'); + $this->decimalPoint = localeconv(); + $this->decimalPoint = $this->decimalPoint['decimal_point']; + $this->setOutput($output ?: static::$defaultOutput); + if (!$output && is_string(static::$defaultOutput)) { + static::$defaultOutput = $this->outputStream; + } + } - if (is_callable($output)) { - $this->outputStream = null; - $this->lineDumper = $output; - } else { - if (is_string($output)) { - $output = fopen($output, 'wb'); - } - $this->outputStream = $output; - $this->lineDumper = array($this, 'echoLine'); - } + /** + * Sets the output destination of the dumps. + * + * @param callable|resource|string $output A line dumper callable, an opened stream or an output path + * + * @return callable|resource|string The previous output destination + */ + public function setOutput($output) + { + $prev = null !== $this->outputStream ? $this->outputStream : $this->lineDumper; - return $prev; - } + if (is_callable($output)) { + $this->outputStream = null; + $this->lineDumper = $output; + } else { + if (is_string($output)) { + $output = fopen($output, 'wb'); + } + $this->outputStream = $output; + $this->lineDumper = array($this, 'echoLine'); + } - /** - * Sets the default character encoding to use for non-UTF8 strings. - * - * @param string $charset The default character encoding to use for non-UTF8 strings. - * - * @return string The previous charset. - */ - public function setCharset($charset) - { - $prev = $this->charset; + return $prev; + } - $charset = strtoupper($charset); - $charset = null === $charset || 'UTF-8' === $charset || 'UTF8' === $charset ? 'CP1252' : $charset; + /** + * Sets the default character encoding to use for non-UTF8 strings. + * + * @param string $charset The default character encoding to use for non-UTF8 strings + * + * @return string The previous charset + */ + public function setCharset($charset) + { + $prev = $this->charset; - $this->charset = $charset; + $charset = strtoupper($charset); + $charset = null === $charset || 'UTF-8' === $charset || 'UTF8' === $charset ? 'CP1252' : $charset; - return $prev; - } + $this->charset = $charset; - /** - * Sets the indentation pad string. - * - * @param string $pad A string the will be prepended to dumped lines, repeated by nesting level. - * - * @return string The indent pad. - */ - public function setIndentPad($pad) - { - $prev = $this->indentPad; - $this->indentPad = $pad; + return $prev; + } - return $prev; - } + /** + * Sets the indentation pad string. + * + * @param string $pad A string the will be prepended to dumped lines, repeated by nesting level + * + * @return string The indent pad + */ + public function setIndentPad($pad) + { + $prev = $this->indentPad; + $this->indentPad = $pad; - /** - * Dumps a Data object. - * - * @param Data $data A Data object. - * @param callable|resource|string|null $output A line dumper callable, an opened stream or an output path. - */ - public function dump(Data $data, $output = null) - { - $exception = null; - if ($output) { - $prevOutput = $this->setOutput($output); - } - try { - $data->dump($this); - $this->dumpLine(-1); - } catch (\Exception $exception) { - // Re-thrown below - } - if ($output) { - $this->setOutput($prevOutput); - } - if (null !== $exception) { - throw $exception; - } - } + return $prev; + } - /** - * Dumps the current line. - * - * @param int $depth The recursive depth in the dumped structure for the line being dumped. - */ - protected function dumpLine($depth) - { - call_user_func($this->lineDumper, $this->line, $depth, $this->indentPad); - $this->line = ''; - } + /** + * Dumps a Data object. + * + * @param Data $data A Data object + * @param callable|resource|string|true|null $output A line dumper callable, an opened stream, an output path or true to return the dump + * + * @return string|null The dump as string when $output is true + */ + public function dump(Data $data, $output = null) + { + $this->decimalPoint = localeconv(); + $this->decimalPoint = $this->decimalPoint['decimal_point']; - /** - * Generic line dumper callback. - * - * @param string $line The line to write. - * @param int $depth The recursive depth in the dumped structure. - */ - protected function echoLine($line, $depth, $indentPad) - { - if (-1 !== $depth) { - fwrite($this->outputStream, str_repeat($indentPad, $depth).$line."\n"); - } - } + if ($returnDump = true === $output) { + $output = fopen('php://memory', 'r+b'); + } + if ($output) { + $prevOutput = $this->setOutput($output); + } + try { + $data->dump($this); + $this->dumpLine(-1); - /** - * Converts a non-UTF-8 string to UTF-8. - * - * @param string $s The non-UTF-8 string to convert. - * - * @return string The string converted to UTF-8. - */ - protected function utf8Encode($s) - { - if (false !== $c = @iconv($this->charset, 'UTF-8', $s)) { - return $c; - } - if ('CP1252' !== $this->charset && false !== $c = @iconv('CP1252', 'UTF-8', $s)) { - return $c; - } + if ($returnDump) { + $result = stream_get_contents($output, -1, 0); + fclose($output); - return iconv('CP850', 'UTF-8', $s); - } + return $result; + } + } finally { + if ($output) { + $this->setOutput($prevOutput); + } + } + } + + /** + * Dumps the current line. + * + * @param int $depth The recursive depth in the dumped structure for the line being dumped + */ + protected function dumpLine($depth) + { + call_user_func($this->lineDumper, $this->line, $depth, $this->indentPad); + $this->line = ''; + } + + /** + * Generic line dumper callback. + * + * @param string $line The line to write + * @param int $depth The recursive depth in the dumped structure + * @param string $indentPad The line indent pad + */ + protected function echoLine($line, $depth, $indentPad) + { + if (-1 !== $depth) { + fwrite($this->outputStream, str_repeat($indentPad, $depth).$line."\n"); + } + } + + /** + * Converts a non-UTF-8 string to UTF-8. + * + * @param string $s The non-UTF-8 string to convert + * + * @return string The string converted to UTF-8 + */ + protected function utf8Encode($s) + { + if (preg_match('//u', $s)) { + return $s; + } + + if (!function_exists('iconv')) { + throw new \RuntimeException('Unable to convert a non-UTF-8 string to UTF-8: required function iconv() does not exist. You should install ext-iconv or symfony/polyfill-iconv.'); + } + + if (false !== $c = @iconv($this->charset, 'UTF-8', $s)) { + return $c; + } + if ('CP1252' !== $this->charset && false !== $c = @iconv('CP1252', 'UTF-8', $s)) { + return $c; + } + + return iconv('CP850', 'UTF-8', $s); + } } diff --git a/htdocs/includes/symfony/var-dumper/Dumper/CliDumper.php b/htdocs/includes/symfony/var-dumper/Dumper/CliDumper.php index bca2abcb3d0..95304b92817 100644 --- a/htdocs/includes/symfony/var-dumper/Dumper/CliDumper.php +++ b/htdocs/includes/symfony/var-dumper/Dumper/CliDumper.php @@ -20,452 +20,470 @@ use Symfony\Component\VarDumper\Cloner\Cursor; */ class CliDumper extends AbstractDumper { - public static $defaultColors; - public static $defaultOutput = 'php://stdout'; + public static $defaultColors; + public static $defaultOutput = 'php://stdout'; - protected $colors; - protected $maxStringWidth = 0; - protected $styles = array( - // See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics - 'default' => '38;5;208', - 'num' => '1;38;5;38', - 'const' => '1;38;5;208', - 'str' => '1;38;5;113', - 'note' => '38;5;38', - 'ref' => '38;5;247', - 'public' => '', - 'protected' => '', - 'private' => '', - 'meta' => '38;5;170', - 'key' => '38;5;113', - 'index' => '38;5;38', - ); + protected $colors; + protected $maxStringWidth = 0; + protected $styles = array( + // See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics + 'default' => '38;5;208', + 'num' => '1;38;5;38', + 'const' => '1;38;5;208', + 'str' => '1;38;5;113', + 'note' => '38;5;38', + 'ref' => '38;5;247', + 'public' => '', + 'protected' => '', + 'private' => '', + 'meta' => '38;5;170', + 'key' => '38;5;113', + 'index' => '38;5;38', + ); - protected static $controlCharsRx = '/[\x00-\x1F\x7F]+/'; - protected static $controlCharsMap = array( - "\t" => '\t', - "\n" => '\n', - "\v" => '\v', - "\f" => '\f', - "\r" => '\r', - "\033" => '\e', - ); + protected static $controlCharsRx = '/[\x00-\x1F\x7F]+/'; + protected static $controlCharsMap = array( + "\t" => '\t', + "\n" => '\n', + "\v" => '\v', + "\f" => '\f', + "\r" => '\r', + "\033" => '\e', + ); - /** - * {@inheritdoc} - */ - public function __construct($output = null, $charset = null) - { - parent::__construct($output, $charset); + /** + * {@inheritdoc} + */ + public function __construct($output = null, $charset = null, $flags = 0) + { + parent::__construct($output, $charset, $flags); - if ('\\' === DIRECTORY_SEPARATOR && false !== @getenv('ANSICON')) { - // Use only the base 16 xterm colors when using ANSICON - $this->setStyles(array( - 'default' => '31', - 'num' => '1;34', - 'const' => '1;31', - 'str' => '1;32', - 'note' => '34', - 'ref' => '1;30', - 'meta' => '35', - 'key' => '32', - 'index' => '34', - )); - } - } + if ('\\' === DIRECTORY_SEPARATOR && 'ON' !== @getenv('ConEmuANSI') && 'xterm' !== @getenv('TERM')) { + // Use only the base 16 xterm colors when using ANSICON or standard Windows 10 CLI + $this->setStyles(array( + 'default' => '31', + 'num' => '1;34', + 'const' => '1;31', + 'str' => '1;32', + 'note' => '34', + 'ref' => '1;30', + 'meta' => '35', + 'key' => '32', + 'index' => '34', + )); + } + } - /** - * Enables/disables colored output. - * - * @param bool $colors - */ - public function setColors($colors) - { - $this->colors = (bool) $colors; - } + /** + * Enables/disables colored output. + * + * @param bool $colors + */ + public function setColors($colors) + { + $this->colors = (bool) $colors; + } - /** - * Sets the maximum number of characters per line for dumped strings. - * - * @param int $maxStringWidth - */ - public function setMaxStringWidth($maxStringWidth) - { - $this->maxStringWidth = (int) $maxStringWidth; - } + /** + * Sets the maximum number of characters per line for dumped strings. + * + * @param int $maxStringWidth + */ + public function setMaxStringWidth($maxStringWidth) + { + $this->maxStringWidth = (int) $maxStringWidth; + } - /** - * Configures styles. - * - * @param array $styles A map of style names to style definitions. - */ - public function setStyles(array $styles) - { - $this->styles = $styles + $this->styles; - } + /** + * Configures styles. + * + * @param array $styles A map of style names to style definitions + */ + public function setStyles(array $styles) + { + $this->styles = $styles + $this->styles; + } - /** - * {@inheritdoc} - */ - public function dumpScalar(Cursor $cursor, $type, $value) - { - $this->dumpKey($cursor); + /** + * {@inheritdoc} + */ + public function dumpScalar(Cursor $cursor, $type, $value) + { + $this->dumpKey($cursor); - $style = 'const'; - $attr = array(); + $style = 'const'; + $attr = $cursor->attr; - switch ($type) { - case 'integer': - $style = 'num'; - break; + switch ($type) { + case 'default': + $style = 'default'; + break; - case 'double': - $style = 'num'; + case 'integer': + $style = 'num'; + break; - switch (true) { - case INF === $value: $value = 'INF'; break; - case -INF === $value: $value = '-INF'; break; - case is_nan($value): $value = 'NAN'; break; - default: - $value = (string) $value; - if (false === strpos($value, $this->decimalPoint)) { - $value .= $this->decimalPoint.'0'; - } - break; - } - break; + case 'double': + $style = 'num'; - case 'NULL': - $value = 'null'; - break; + switch (true) { + case INF === $value: $value = 'INF'; break; + case -INF === $value: $value = '-INF'; break; + case is_nan($value): $value = 'NAN'; break; + default: + $value = (string) $value; + if (false === strpos($value, $this->decimalPoint)) { + $value .= $this->decimalPoint.'0'; + } + break; + } + break; - case 'boolean': - $value = $value ? 'true' : 'false'; - break; + case 'NULL': + $value = 'null'; + break; - default: - $attr['value'] = isset($value[0]) && !preg_match('//u', $value) ? $this->utf8Encode($value) : $value; - $value = isset($type[0]) && !preg_match('//u', $type) ? $this->utf8Encode($type) : $type; - break; - } + case 'boolean': + $value = $value ? 'true' : 'false'; + break; - $this->line .= $this->style($style, $value, $attr); + default: + $attr += array('value' => $this->utf8Encode($value)); + $value = $this->utf8Encode($type); + break; + } - $this->dumpLine($cursor->depth, true); - } + $this->line .= $this->style($style, $value, $attr); - /** - * {@inheritdoc} - */ - public function dumpString(Cursor $cursor, $str, $bin, $cut) - { - $this->dumpKey($cursor); + $this->dumpLine($cursor->depth, true); + } - if ($bin) { - $str = $this->utf8Encode($str); - } - if ('' === $str) { - $this->line .= '""'; - $this->dumpLine($cursor->depth, true); - } else { - $attr = array( - 'length' => 0 <= $cut ? iconv_strlen($str, 'UTF-8') + $cut : 0, - 'binary' => $bin, - ); - $str = explode("\n", $str); - if (isset($str[1]) && !isset($str[2]) && !isset($str[1][0])) { - unset($str[1]); - $str[0] .= "\n"; - } - $m = count($str) - 1; - $i = $lineCut = 0; + /** + * {@inheritdoc} + */ + public function dumpString(Cursor $cursor, $str, $bin, $cut) + { + $this->dumpKey($cursor); + $attr = $cursor->attr; - if ($bin) { - $this->line .= 'b'; - } + if ($bin) { + $str = $this->utf8Encode($str); + } + if ('' === $str) { + $this->line .= '""'; + $this->dumpLine($cursor->depth, true); + } else { + $attr += array( + 'length' => 0 <= $cut ? mb_strlen($str, 'UTF-8') + $cut : 0, + 'binary' => $bin, + ); + $str = explode("\n", $str); + if (isset($str[1]) && !isset($str[2]) && !isset($str[1][0])) { + unset($str[1]); + $str[0] .= "\n"; + } + $m = count($str) - 1; + $i = $lineCut = 0; - if ($m) { - $this->line .= '"""'; - $this->dumpLine($cursor->depth); - } else { - $this->line .= '"'; - } + if (self::DUMP_STRING_LENGTH & $this->flags) { + $this->line .= '('.$attr['length'].') '; + } + if ($bin) { + $this->line .= 'b'; + } - foreach ($str as $str) { - if ($i < $m) { - $str .= "\n"; - } - if (0 < $this->maxStringWidth && $this->maxStringWidth < $len = iconv_strlen($str, 'UTF-8')) { - $str = iconv_substr($str, 0, $this->maxStringWidth, 'UTF-8'); - $lineCut = $len - $this->maxStringWidth; - } - if ($m && 0 < $cursor->depth) { - $this->line .= $this->indentPad; - } - if ('' !== $str) { - $this->line .= $this->style('str', $str, $attr); - } - if ($i++ == $m) { - if ($m) { - if ('' !== $str) { - $this->dumpLine($cursor->depth); - if (0 < $cursor->depth) { - $this->line .= $this->indentPad; - } - } - $this->line .= '"""'; - } else { - $this->line .= '"'; - } - if ($cut < 0) { - $this->line .= '…'; - $lineCut = 0; - } elseif ($cut) { - $lineCut += $cut; - } - } - if ($lineCut) { - $this->line .= '…'.$lineCut; - $lineCut = 0; - } + if ($m) { + $this->line .= '"""'; + $this->dumpLine($cursor->depth); + } else { + $this->line .= '"'; + } - $this->dumpLine($cursor->depth, $i > $m); - } - } - } + foreach ($str as $str) { + if ($i < $m) { + $str .= "\n"; + } + if (0 < $this->maxStringWidth && $this->maxStringWidth < $len = mb_strlen($str, 'UTF-8')) { + $str = mb_substr($str, 0, $this->maxStringWidth, 'UTF-8'); + $lineCut = $len - $this->maxStringWidth; + } + if ($m && 0 < $cursor->depth) { + $this->line .= $this->indentPad; + } + if ('' !== $str) { + $this->line .= $this->style('str', $str, $attr); + } + if ($i++ == $m) { + if ($m) { + if ('' !== $str) { + $this->dumpLine($cursor->depth); + if (0 < $cursor->depth) { + $this->line .= $this->indentPad; + } + } + $this->line .= '"""'; + } else { + $this->line .= '"'; + } + if ($cut < 0) { + $this->line .= '…'; + $lineCut = 0; + } elseif ($cut) { + $lineCut += $cut; + } + } + if ($lineCut) { + $this->line .= '…'.$lineCut; + $lineCut = 0; + } - /** - * {@inheritdoc} - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild) - { - $this->dumpKey($cursor); + $this->dumpLine($cursor->depth, $i > $m); + } + } + } - if (!preg_match('//u', $class)) { - $class = $this->utf8Encode($class); - } - if (Cursor::HASH_OBJECT === $type) { - $prefix = $class && 'stdClass' !== $class ? $this->style('note', $class).' {' : '{'; - } elseif (Cursor::HASH_RESOURCE === $type) { - $prefix = $this->style('note', $class.' resource').($hasChild ? ' {' : ' '); - } else { - $prefix = $class ? $this->style('note', 'array:'.$class).' [' : '['; - } + /** + * {@inheritdoc} + */ + public function enterHash(Cursor $cursor, $type, $class, $hasChild) + { + $this->dumpKey($cursor); - if ($cursor->softRefCount || 0 < $cursor->softRefHandle) { - $prefix .= $this->style('ref', (Cursor::HASH_RESOURCE === $type ? '@' : '#').(0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->softRefTo), array('count' => $cursor->softRefCount)); - } elseif ($cursor->hardRefTo && !$cursor->refIndex && $class) { - $prefix .= $this->style('ref', '&'.$cursor->hardRefTo, array('count' => $cursor->hardRefCount)); - } elseif (!$hasChild && Cursor::HASH_RESOURCE === $type) { - $prefix = substr($prefix, 0, -1); - } + $class = $this->utf8Encode($class); + if (Cursor::HASH_OBJECT === $type) { + $prefix = $class && 'stdClass' !== $class ? $this->style('note', $class).' {' : '{'; + } elseif (Cursor::HASH_RESOURCE === $type) { + $prefix = $this->style('note', $class.' resource').($hasChild ? ' {' : ' '); + } else { + $prefix = $class && !(self::DUMP_LIGHT_ARRAY & $this->flags) ? $this->style('note', 'array:'.$class).' [' : '['; + } - $this->line .= $prefix; + if ($cursor->softRefCount || 0 < $cursor->softRefHandle) { + $prefix .= $this->style('ref', (Cursor::HASH_RESOURCE === $type ? '@' : '#').(0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->softRefTo), array('count' => $cursor->softRefCount)); + } elseif ($cursor->hardRefTo && !$cursor->refIndex && $class) { + $prefix .= $this->style('ref', '&'.$cursor->hardRefTo, array('count' => $cursor->hardRefCount)); + } elseif (!$hasChild && Cursor::HASH_RESOURCE === $type) { + $prefix = substr($prefix, 0, -1); + } - if ($hasChild) { - $this->dumpLine($cursor->depth); - } - } + $this->line .= $prefix; - /** - * {@inheritdoc} - */ - public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut) - { - $this->dumpEllipsis($cursor, $hasChild, $cut); - $this->line .= Cursor::HASH_OBJECT === $type ? '}' : (Cursor::HASH_RESOURCE !== $type ? ']' : ($hasChild ? '}' : '')); - $this->dumpLine($cursor->depth, true); - } + if ($hasChild) { + $this->dumpLine($cursor->depth); + } + } - /** - * Dumps an ellipsis for cut children. - * - * @param Cursor $cursor The Cursor position in the dump. - * @param bool $hasChild When the dump of the hash has child item. - * @param int $cut The number of items the hash has been cut by. - */ - protected function dumpEllipsis(Cursor $cursor, $hasChild, $cut) - { - if ($cut) { - $this->line .= ' …'; - if (0 < $cut) { - $this->line .= $cut; - } - if ($hasChild) { - $this->dumpLine($cursor->depth + 1); - } - } - } + /** + * {@inheritdoc} + */ + public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut) + { + $this->dumpEllipsis($cursor, $hasChild, $cut); + $this->line .= Cursor::HASH_OBJECT === $type ? '}' : (Cursor::HASH_RESOURCE !== $type ? ']' : ($hasChild ? '}' : '')); + $this->dumpLine($cursor->depth, true); + } - /** - * Dumps a key in a hash structure. - * - * @param Cursor $cursor The Cursor position in the dump. - */ - protected function dumpKey(Cursor $cursor) - { - if (null !== $key = $cursor->hashKey) { - if ($cursor->hashKeyIsBinary) { - $key = $this->utf8Encode($key); - } - $attr = array('binary' => $cursor->hashKeyIsBinary); - $bin = $cursor->hashKeyIsBinary ? 'b' : ''; - $style = 'key'; - switch ($cursor->hashType) { - default: - case Cursor::HASH_INDEXED: - $style = 'index'; - case Cursor::HASH_ASSOC: - if (is_int($key)) { - $this->line .= $this->style($style, $key).' => '; - } else { - $this->line .= $bin.'"'.$this->style($style, $key).'" => '; - } - break; + /** + * Dumps an ellipsis for cut children. + * + * @param Cursor $cursor The Cursor position in the dump + * @param bool $hasChild When the dump of the hash has child item + * @param int $cut The number of items the hash has been cut by + */ + protected function dumpEllipsis(Cursor $cursor, $hasChild, $cut) + { + if ($cut) { + $this->line .= ' …'; + if (0 < $cut) { + $this->line .= $cut; + } + if ($hasChild) { + $this->dumpLine($cursor->depth + 1); + } + } + } - case Cursor::HASH_RESOURCE: - $key = "\0~\0".$key; - // No break; - case Cursor::HASH_OBJECT: - if (!isset($key[0]) || "\0" !== $key[0]) { - $this->line .= '+'.$bin.$this->style('public', $key).': '; - } elseif (0 < strpos($key, "\0", 1)) { - $key = explode("\0", substr($key, 1), 2); + /** + * Dumps a key in a hash structure. + * + * @param Cursor $cursor The Cursor position in the dump + */ + protected function dumpKey(Cursor $cursor) + { + if (null !== $key = $cursor->hashKey) { + if ($cursor->hashKeyIsBinary) { + $key = $this->utf8Encode($key); + } + $attr = array('binary' => $cursor->hashKeyIsBinary); + $bin = $cursor->hashKeyIsBinary ? 'b' : ''; + $style = 'key'; + switch ($cursor->hashType) { + default: + case Cursor::HASH_INDEXED: + if (self::DUMP_LIGHT_ARRAY & $this->flags) { + break; + } + $style = 'index'; + case Cursor::HASH_ASSOC: + if (is_int($key)) { + $this->line .= $this->style($style, $key).' => '; + } else { + $this->line .= $bin.'"'.$this->style($style, $key).'" => '; + } + break; - switch ($key[0]) { - case '+': // User inserted keys - $attr['dynamic'] = true; - $this->line .= '+'.$bin.'"'.$this->style('public', $key[1], $attr).'": '; - break 2; - case '~': - $style = 'meta'; - break; - case '*': - $style = 'protected'; - $bin = '#'.$bin; - break; - default: - $attr['class'] = $key[0]; - $style = 'private'; - $bin = '-'.$bin; - break; - } + case Cursor::HASH_RESOURCE: + $key = "\0~\0".$key; + // No break; + case Cursor::HASH_OBJECT: + if (!isset($key[0]) || "\0" !== $key[0]) { + $this->line .= '+'.$bin.$this->style('public', $key).': '; + } elseif (0 < strpos($key, "\0", 1)) { + $key = explode("\0", substr($key, 1), 2); - $this->line .= $bin.$this->style($style, $key[1], $attr).': '; - } else { - // This case should not happen - $this->line .= '-'.$bin.'"'.$this->style('private', $key, array('class' => '')).'": '; - } - break; - } + switch ($key[0][0]) { + case '+': // User inserted keys + $attr['dynamic'] = true; + $this->line .= '+'.$bin.'"'.$this->style('public', $key[1], $attr).'": '; + break 2; + case '~': + $style = 'meta'; + if (isset($key[0][1])) { + parse_str(substr($key[0], 1), $attr); + $attr += array('binary' => $cursor->hashKeyIsBinary); + } + break; + case '*': + $style = 'protected'; + $bin = '#'.$bin; + break; + default: + $attr['class'] = $key[0]; + $style = 'private'; + $bin = '-'.$bin; + break; + } - if ($cursor->hardRefTo) { - $this->line .= $this->style('ref', '&'.($cursor->hardRefCount ? $cursor->hardRefTo : ''), array('count' => $cursor->hardRefCount)).' '; - } - } - } + $this->line .= $bin.$this->style($style, $key[1], $attr).': '; + } else { + // This case should not happen + $this->line .= '-'.$bin.'"'.$this->style('private', $key, array('class' => '')).'": '; + } + break; + } - /** - * Decorates a value with some style. - * - * @param string $style The type of style being applied. - * @param string $value The value being styled. - * @param array $attr Optional context information. - * - * @return string The value with style decoration. - */ - protected function style($style, $value, $attr = array()) - { - if (null === $this->colors) { - $this->colors = $this->supportsColors(); - } + if ($cursor->hardRefTo) { + $this->line .= $this->style('ref', '&'.($cursor->hardRefCount ? $cursor->hardRefTo : ''), array('count' => $cursor->hardRefCount)).' '; + } + } + } - $style = $this->styles[$style]; + /** + * Decorates a value with some style. + * + * @param string $style The type of style being applied + * @param string $value The value being styled + * @param array $attr Optional context information + * + * @return string The value with style decoration + */ + protected function style($style, $value, $attr = array()) + { + if (null === $this->colors) { + $this->colors = $this->supportsColors(); + } - $map = static::$controlCharsMap; - $startCchr = $this->colors ? "\033[m\033[{$this->styles['default']}m" : ''; - $endCchr = $this->colors ? "\033[m\033[{$style}m" : ''; - $value = preg_replace_callback(static::$controlCharsRx, function ($c) use ($map, $startCchr, $endCchr) { - $s = $startCchr; - $c = $c[$i = 0]; - do { - $s .= isset($map[$c[$i]]) ? $map[$c[$i]] : sprintf('\x%02X', ord($c[$i])); - } while (isset($c[++$i])); + $style = $this->styles[$style]; - return $s.$endCchr; - }, $value, -1, $cchrCount); + $map = static::$controlCharsMap; + $startCchr = $this->colors ? "\033[m\033[{$this->styles['default']}m" : ''; + $endCchr = $this->colors ? "\033[m\033[{$style}m" : ''; + $value = preg_replace_callback(static::$controlCharsRx, function ($c) use ($map, $startCchr, $endCchr) { + $s = $startCchr; + $c = $c[$i = 0]; + do { + $s .= isset($map[$c[$i]]) ? $map[$c[$i]] : sprintf('\x%02X', ord($c[$i])); + } while (isset($c[++$i])); - if ($this->colors) { - if ($cchrCount && "\033" === $value[0]) { - $value = substr($value, strlen($startCchr)); - } else { - $value = "\033[{$style}m".$value; - } - if ($cchrCount && $endCchr === substr($value, -strlen($endCchr))) { - $value = substr($value, 0, -strlen($endCchr)); - } else { - $value .= "\033[{$this->styles['default']}m"; - } - } + return $s.$endCchr; + }, $value, -1, $cchrCount); - return $value; - } + if ($this->colors) { + if ($cchrCount && "\033" === $value[0]) { + $value = substr($value, strlen($startCchr)); + } else { + $value = "\033[{$style}m".$value; + } + if ($cchrCount && $endCchr === substr($value, -strlen($endCchr))) { + $value = substr($value, 0, -strlen($endCchr)); + } else { + $value .= "\033[{$this->styles['default']}m"; + } + } - /** - * @return bool Tells if the current output stream supports ANSI colors or not. - */ - protected function supportsColors() - { - if ($this->outputStream !== static::$defaultOutput) { - return @(is_resource($this->outputStream) && function_exists('posix_isatty') && posix_isatty($this->outputStream)); - } - if (null !== static::$defaultColors) { - return static::$defaultColors; - } - if (isset($_SERVER['argv'][1])) { - $colors = $_SERVER['argv']; - $i = count($colors); - while (--$i > 0) { - if (isset($colors[$i][5])) { - switch ($colors[$i]) { - case '--ansi': - case '--color': - case '--color=yes': - case '--color=force': - case '--color=always': - return static::$defaultColors = true; + return $value; + } - case '--no-ansi': - case '--color=no': - case '--color=none': - case '--color=never': - return static::$defaultColors = false; - } - } - } - } + /** + * @return bool Tells if the current output stream supports ANSI colors or not + */ + protected function supportsColors() + { + if ($this->outputStream !== static::$defaultOutput) { + return @(is_resource($this->outputStream) && function_exists('posix_isatty') && posix_isatty($this->outputStream)); + } + if (null !== static::$defaultColors) { + return static::$defaultColors; + } + if (isset($_SERVER['argv'][1])) { + $colors = $_SERVER['argv']; + $i = count($colors); + while (--$i > 0) { + if (isset($colors[$i][5])) { + switch ($colors[$i]) { + case '--ansi': + case '--color': + case '--color=yes': + case '--color=force': + case '--color=always': + return static::$defaultColors = true; - if ('\\' === DIRECTORY_SEPARATOR) { - static::$defaultColors = @(false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI') || 'xterm' === getenv('TERM')); - } elseif (function_exists('posix_isatty')) { - $h = stream_get_meta_data($this->outputStream) + array('wrapper_type' => null); - $h = 'Output' === $h['stream_type'] && 'PHP' === $h['wrapper_type'] ? fopen('php://stdout', 'wb') : $this->outputStream; - static::$defaultColors = @posix_isatty($h); - } else { - static::$defaultColors = false; - } + case '--no-ansi': + case '--color=no': + case '--color=none': + case '--color=never': + return static::$defaultColors = false; + } + } + } + } - return static::$defaultColors; - } + if ('\\' === DIRECTORY_SEPARATOR) { + static::$defaultColors = @( + '10.0.10586' === PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD + || false !== getenv('ANSICON') + || 'ON' === getenv('ConEmuANSI') + || 'xterm' === getenv('TERM') + ); + } elseif (function_exists('posix_isatty')) { + $h = stream_get_meta_data($this->outputStream) + array('wrapper_type' => null); + $h = 'Output' === $h['stream_type'] && 'PHP' === $h['wrapper_type'] ? fopen('php://stdout', 'wb') : $this->outputStream; + static::$defaultColors = @posix_isatty($h); + } else { + static::$defaultColors = false; + } - /** - * {@inheritdoc} - */ - protected function dumpLine($depth, $endOfValue = false) - { - if ($this->colors) { - $this->line = sprintf("\033[%sm%s\033[m", $this->styles['default'], $this->line); - } - parent::dumpLine($depth); - } + return static::$defaultColors; + } + + /** + * {@inheritdoc} + */ + protected function dumpLine($depth, $endOfValue = false) + { + if ($this->colors) { + $this->line = sprintf("\033[%sm%s\033[m", $this->styles['default'], $this->line); + } + parent::dumpLine($depth); + } } diff --git a/htdocs/includes/symfony/var-dumper/Dumper/DataDumperInterface.php b/htdocs/includes/symfony/var-dumper/Dumper/DataDumperInterface.php index ee6060cebf6..abaa85c19bd 100644 --- a/htdocs/includes/symfony/var-dumper/Dumper/DataDumperInterface.php +++ b/htdocs/includes/symfony/var-dumper/Dumper/DataDumperInterface.php @@ -20,10 +20,10 @@ use Symfony\Component\VarDumper\Cloner\Data; */ interface DataDumperInterface { - /** - * Dumps a Data object. - * - * @param Data $data A Data object. - */ - public function dump(Data $data); + /** + * Dumps a Data object. + * + * @param Data $data A Data object + */ + public function dump(Data $data); } diff --git a/htdocs/includes/symfony/var-dumper/Dumper/HtmlDumper.php b/htdocs/includes/symfony/var-dumper/Dumper/HtmlDumper.php index 28af8e4cb22..10a3ffa41c0 100644 --- a/htdocs/includes/symfony/var-dumper/Dumper/HtmlDumper.php +++ b/htdocs/includes/symfony/var-dumper/Dumper/HtmlDumper.php @@ -21,103 +21,114 @@ use Symfony\Component\VarDumper\Cloner\Data; */ class HtmlDumper extends CliDumper { - public static $defaultOutput = 'php://output'; + public static $defaultOutput = 'php://output'; - protected $dumpHeader; - protected $dumpPrefix = '
    ';
    -    protected $dumpSuffix = '
    '; - protected $dumpId = 'sf-dump'; - protected $colors = true; - protected $headerIsDumped = false; - protected $lastDepth = -1; - protected $styles = array( - 'default' => 'background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:100000; word-break: normal', - 'num' => 'font-weight:bold; color:#1299DA', - 'const' => 'font-weight:bold', - 'str' => 'font-weight:bold; color:#56DB3A', - 'note' => 'color:#1299DA', - 'ref' => 'color:#A0A0A0', - 'public' => 'color:#FFFFFF', - 'protected' => 'color:#FFFFFF', - 'private' => 'color:#FFFFFF', - 'meta' => 'color:#B729D9', - 'key' => 'color:#56DB3A', - 'index' => 'color:#1299DA', - ); + protected $dumpHeader; + protected $dumpPrefix = '
    ';
    +	protected $dumpSuffix = '
    '; + protected $dumpId = 'sf-dump'; + protected $colors = true; + protected $headerIsDumped = false; + protected $lastDepth = -1; + protected $styles = array( + 'default' => 'background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: normal', + 'num' => 'font-weight:bold; color:#1299DA', + 'const' => 'font-weight:bold', + 'str' => 'font-weight:bold; color:#56DB3A', + 'note' => 'color:#1299DA', + 'ref' => 'color:#A0A0A0', + 'public' => 'color:#FFFFFF', + 'protected' => 'color:#FFFFFF', + 'private' => 'color:#FFFFFF', + 'meta' => 'color:#B729D9', + 'key' => 'color:#56DB3A', + 'index' => 'color:#1299DA', + 'ellipsis' => 'color:#FF8400', + ); - /** - * {@inheritdoc} - */ - public function __construct($output = null, $charset = null) - { - AbstractDumper::__construct($output, $charset); - $this->dumpId = 'sf-dump-'.mt_rand(); - } + private $displayOptions = array( + 'maxDepth' => 1, + 'maxStringLength' => 160, + 'fileLinkFormat' => null, + ); + private $extraDisplayOptions = array(); - /** - * {@inheritdoc} - */ - public function setOutput($output) - { - if ($output !== $prev = parent::setOutput($output)) { - $this->headerIsDumped = false; - } + /** + * {@inheritdoc} + */ + public function __construct($output = null, $charset = null, $flags = 0) + { + AbstractDumper::__construct($output, $charset, $flags); + $this->dumpId = 'sf-dump-'.mt_rand(); + $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); + } - return $prev; - } + /** + * {@inheritdoc} + */ + public function setStyles(array $styles) + { + $this->headerIsDumped = false; + $this->styles = $styles + $this->styles; + } - /** - * {@inheritdoc} - */ - public function setStyles(array $styles) - { - $this->headerIsDumped = false; - $this->styles = $styles + $this->styles; - } + /** + * Configures display options. + * + * @param array $displayOptions A map of display options to customize the behavior + */ + public function setDisplayOptions(array $displayOptions) + { + $this->headerIsDumped = false; + $this->displayOptions = $displayOptions + $this->displayOptions; + } - /** - * Sets an HTML header that will be dumped once in the output stream. - * - * @param string $header An HTML string. - */ - public function setDumpHeader($header) - { - $this->dumpHeader = $header; - } + /** + * Sets an HTML header that will be dumped once in the output stream. + * + * @param string $header An HTML string + */ + public function setDumpHeader($header) + { + $this->dumpHeader = $header; + } - /** - * Sets an HTML prefix and suffix that will encapse every single dump. - * - * @param string $prefix The prepended HTML string. - * @param string $suffix The appended HTML string. - */ - public function setDumpBoundaries($prefix, $suffix) - { - $this->dumpPrefix = $prefix; - $this->dumpSuffix = $suffix; - } + /** + * Sets an HTML prefix and suffix that will encapse every single dump. + * + * @param string $prefix The prepended HTML string + * @param string $suffix The appended HTML string + */ + public function setDumpBoundaries($prefix, $suffix) + { + $this->dumpPrefix = $prefix; + $this->dumpSuffix = $suffix; + } - /** - * {@inheritdoc} - */ - public function dump(Data $data, $output = null) - { - parent::dump($data, $output); - $this->dumpId = 'sf-dump-'.mt_rand(); - } + /** + * {@inheritdoc} + */ + public function dump(Data $data, $output = null, array $extraDisplayOptions = array()) + { + $this->extraDisplayOptions = $extraDisplayOptions; + $result = parent::dump($data, $output); + $this->dumpId = 'sf-dump-'.mt_rand(); - /** - * Dumps the HTML header. - */ - protected function getDumpHeader() - { - $this->headerIsDumped = true; + return $result; + } - if (null !== $this->dumpHeader) { - return $this->dumpHeader; - } + /** + * Dumps the HTML header. + */ + protected function getDumpHeader() + { + $this->headerIsDumped = null !== $this->outputStream ? $this->outputStream : $this->lineDumper; - $line = <<<'EOHTML' + if (null !== $this->dumpHeader) { + return $this->dumpHeader; + } + + $line = str_replace('{$options}', json_encode($this->displayOptions, JSON_FORCE_OBJECT), <<<'EOHTML' -'.$this->dumpHeader; - } - - /** - * {@inheritdoc} - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild) - { - parent::enterHash($cursor, $type, $class, false); - - if ($hasChild) { - if ($cursor->refIndex) { - $r = Cursor::HASH_OBJECT !== $type ? 1 - (Cursor::HASH_RESOURCE !== $type) : 2; - $r .= $r && 0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->refIndex; - - $this->line .= sprintf('', $this->dumpId, $r); - } else { - $this->line .= ''; - } - $this->dumpLine($cursor->depth); - } - } - - /** - * {@inheritdoc} - */ - public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut) - { - $this->dumpEllipsis($cursor, $hasChild, $cut); - if ($hasChild) { - $this->line .= ''; - } - parent::leaveHash($cursor, $type, $class, $hasChild, 0); - } - - /** - * {@inheritdoc} - */ - protected function style($style, $value, $attr = array()) - { - if ('' === $value) { - return ''; - } - - $v = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); - - if ('ref' === $style) { - if (empty($attr['count'])) { - return sprintf('%s', $v); - } - $r = ('#' !== $v[0] ? 1 - ('@' !== $v[0]) : 2).substr($value, 1); - - return sprintf('%s', $this->dumpId, $r, 1 + $attr['count'], $v); - } - - if ('const' === $style && array_key_exists('value', $attr)) { - $style .= sprintf(' title="%s"', htmlspecialchars(json_encode($attr['value']), ENT_QUOTES, 'UTF-8')); - } elseif ('public' === $style) { - $style .= sprintf(' title="%s"', empty($attr['dynamic']) ? 'Public property' : 'Runtime added dynamic property'); - } elseif ('str' === $style && 1 < $attr['length']) { - $style .= sprintf(' title="%s%s characters"', $attr['length'], $attr['binary'] ? ' binary or non-UTF-8' : ''); - } elseif ('note' === $style && false !== $c = strrpos($v, '\\')) { - return sprintf('%s', $v, $style, substr($v, $c + 1)); - } elseif ('protected' === $style) { - $style .= ' title="Protected property"'; - } elseif ('private' === $style) { - $style .= sprintf(' title="Private property defined in class: `%s`"', $attr['class']); - } - - $map = static::$controlCharsMap; - $style = ""; - $v = preg_replace_callback(static::$controlCharsRx, function ($c) use ($map, $style) { - $s = ''; - $c = $c[$i = 0]; - do { - $s .= isset($map[$c[$i]]) ? $map[$c[$i]] : sprintf('\x%02X', ord($c[$i])); - } while (isset($c[++$i])); - - return $s.$style; - }, $v, -1, $cchrCount); - - if ($cchrCount && '<' === $v[0]) { - $v = substr($v, 7); - } else { - $v = $style.$v; - } - if ($cchrCount && '>' === substr($v, -1)) { - $v = substr($v, 0, -strlen($style)); - } else { - $v .= ''; - } - - return $v; - } - - /** - * {@inheritdoc} - */ - protected function dumpLine($depth, $endOfValue = false) - { - if (-1 === $this->lastDepth) { - $this->line = sprintf($this->dumpPrefix, $this->dumpId, $this->indentPad).$this->line; - } - if (!$this->headerIsDumped) { - $this->line = $this->getDumpHeader().$this->line; - } - - if (-1 === $depth) { - $this->line .= sprintf($this->dumpSuffix, $this->dumpId); - } - $this->lastDepth = $depth; - - $this->line = mb_convert_encoding($this->line, 'HTML-ENTITIES', 'UTF-8'); - - if (-1 === $depth) { - AbstractDumper::dumpLine(0); - } - AbstractDumper::dumpLine($depth); - } +pre.sf-dump .sf-dump-ellipsis { + display: inline-block; + overflow: visible; + text-overflow: ellipsis; + max-width: 5em; + white-space: nowrap; + overflow: hidden; + vertical-align: top; +} +pre.sf-dump code { + display:inline; + padding:0; + background:none; +} +.sf-dump-str-collapse .sf-dump-str-collapse { + display: none; +} +.sf-dump-str-expand .sf-dump-str-expand { + display: none; +} +EOHTML + ); + + foreach ($this->styles as $class => $style) { + $line .= 'pre.sf-dump'.('default' === $class ? ', pre.sf-dump' : '').' .sf-dump-'.$class.'{'.$style.'}'; + } + + return $this->dumpHeader = preg_replace('/\s+/', ' ', $line).''.$this->dumpHeader; + } + + /** + * {@inheritdoc} + */ + public function enterHash(Cursor $cursor, $type, $class, $hasChild) + { + parent::enterHash($cursor, $type, $class, false); + + if ($hasChild) { + if ($cursor->refIndex) { + $r = Cursor::HASH_OBJECT !== $type ? 1 - (Cursor::HASH_RESOURCE !== $type) : 2; + $r .= $r && 0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->refIndex; + + $this->line .= sprintf('', $this->dumpId, $r); + } else { + $this->line .= ''; + } + $this->dumpLine($cursor->depth); + } + } + + /** + * {@inheritdoc} + */ + public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut) + { + $this->dumpEllipsis($cursor, $hasChild, $cut); + if ($hasChild) { + $this->line .= ''; + } + parent::leaveHash($cursor, $type, $class, $hasChild, 0); + } + + /** + * {@inheritdoc} + */ + protected function style($style, $value, $attr = array()) + { + if ('' === $value) { + return ''; + } + + $v = esc($value); + + if ('ref' === $style) { + if (empty($attr['count'])) { + return sprintf('%s', $v); + } + $r = ('#' !== $v[0] ? 1 - ('@' !== $v[0]) : 2).substr($value, 1); + + return sprintf('%s', $this->dumpId, $r, 1 + $attr['count'], $v); + } + + if ('const' === $style && isset($attr['value'])) { + $style .= sprintf(' title="%s"', esc(is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value']))); + } elseif ('public' === $style) { + $style .= sprintf(' title="%s"', empty($attr['dynamic']) ? 'Public property' : 'Runtime added dynamic property'); + } elseif ('str' === $style && 1 < $attr['length']) { + $style .= sprintf(' title="%d%s characters"', $attr['length'], $attr['binary'] ? ' binary or non-UTF-8' : ''); + } elseif ('note' === $style && false !== $c = strrpos($v, '\\')) { + return sprintf('%s', $v, $style, substr($v, $c + 1)); + } elseif ('protected' === $style) { + $style .= ' title="Protected property"'; + } elseif ('meta' === $style && isset($attr['title'])) { + $style .= sprintf(' title="%s"', esc($this->utf8Encode($attr['title']))); + } elseif ('private' === $style) { + $style .= sprintf(' title="Private property defined in class: `%s`"', esc($this->utf8Encode($attr['class']))); + } + $map = static::$controlCharsMap; + + if (isset($attr['ellipsis'])) { + $label = esc(substr($value, -$attr['ellipsis'])); + $style = str_replace(' title="', " title=\"$v\n", $style); + $v = sprintf('%s%s', substr($v, 0, -strlen($label)), $label); + } + + $v = "".preg_replace_callback(static::$controlCharsRx, function ($c) use ($map) { + $s = ''; + $c = $c[$i = 0]; + do { + $s .= isset($map[$c[$i]]) ? $map[$c[$i]] : sprintf('\x%02X', ord($c[$i])); + } while (isset($c[++$i])); + + return $s.''; + }, $v).''; + + if (isset($attr['file']) && $href = $this->getSourceLink($attr['file'], isset($attr['line']) ? $attr['line'] : 0)) { + $attr['href'] = $href; + } + if (isset($attr['href'])) { + $v = sprintf('%s', esc($this->utf8Encode($attr['href'])), $v); + } + if (isset($attr['lang'])) { + $v = sprintf('%s', esc($attr['lang']), $v); + } + + return $v; + } + + /** + * {@inheritdoc} + */ + protected function dumpLine($depth, $endOfValue = false) + { + if (-1 === $this->lastDepth) { + $this->line = sprintf($this->dumpPrefix, $this->dumpId, $this->indentPad).$this->line; + } + if ($this->headerIsDumped !== (null !== $this->outputStream ? $this->outputStream : $this->lineDumper)) { + $this->line = $this->getDumpHeader().$this->line; + } + + if (-1 === $depth) { + $args = array('"'.$this->dumpId.'"'); + if ($this->extraDisplayOptions) { + $args[] = json_encode($this->extraDisplayOptions, JSON_FORCE_OBJECT); + } + // Replace is for BC + $this->line .= sprintf(str_replace('"%s"', '%s', $this->dumpSuffix), implode(', ', $args)); + } + $this->lastDepth = $depth; + + $this->line = mb_convert_encoding($this->line, 'HTML-ENTITIES', 'UTF-8'); + + if (-1 === $depth) { + AbstractDumper::dumpLine(0); + } + AbstractDumper::dumpLine($depth); + } + + private function getSourceLink($file, $line) + { + $options = $this->extraDisplayOptions + $this->displayOptions; + + if ($fmt = $options['fileLinkFormat']) { + return is_string($fmt) ? strtr($fmt, array('%f' => $file, '%l' => $line)) : $fmt->format($file, $line); + } + + return false; + } +} + +function esc($str) +{ + return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); } diff --git a/htdocs/includes/symfony/var-dumper/LICENSE b/htdocs/includes/symfony/var-dumper/LICENSE index ef1cde91a61..207646a052d 100644 --- a/htdocs/includes/symfony/var-dumper/LICENSE +++ b/htdocs/includes/symfony/var-dumper/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2014-2015 Fabien Potencier +Copyright (c) 2014-2017 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/htdocs/includes/symfony/var-dumper/README.md b/htdocs/includes/symfony/var-dumper/README.md index 71bff335a70..3b5d55f5f5b 100644 --- a/htdocs/includes/symfony/var-dumper/README.md +++ b/htdocs/includes/symfony/var-dumper/README.md @@ -1,14 +1,15 @@ -Symfony mechanism for exploring and dumping PHP variables -========================================================= +VarDumper Component +=================== -This component provides a mechanism that allows exploring then dumping -any PHP variable. +The VarDumper component provides mechanisms for walking through any arbitrary +PHP variable. Built on top, it provides a better `dump()` function that you +can use instead of `var_dump`. -It handles scalars, objects and resources properly, taking hard and soft -references into account. More than being immune to infinite recursion -problems, it allows dumping where references link to each other. -It explores recursive structures using a breadth-first algorithm. +Resources +--------- -The component exposes all the parts involved in the different steps of -cloning then dumping a PHP variable, while applying size limits and having -specialized output formats and methods. + * [Documentation](https://symfony.com/doc/current/components/var_dumper/introduction.html) + * [Contributing](https://symfony.com/doc/current/contributing/index.html) + * [Report issues](https://github.com/symfony/symfony/issues) and + [send Pull Requests](https://github.com/symfony/symfony/pulls) + in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/htdocs/includes/symfony/var-dumper/Test/VarDumperTestTrait.php b/htdocs/includes/symfony/var-dumper/Test/VarDumperTestTrait.php index e5f6bf5b98e..b05e272d23b 100644 --- a/htdocs/includes/symfony/var-dumper/Test/VarDumperTestTrait.php +++ b/htdocs/includes/symfony/var-dumper/Test/VarDumperTestTrait.php @@ -19,27 +19,30 @@ use Symfony\Component\VarDumper\Dumper\CliDumper; */ trait VarDumperTestTrait { - public function assertDumpEquals($dump, $data, $message = '') - { - $this->assertSame(rtrim($dump), $this->getDump($data), $message); - } + public function assertDumpEquals($dump, $data, $message = '') + { + $this->assertSame(rtrim($dump), $this->getDump($data), $message); + } - public function assertDumpMatchesFormat($dump, $data, $message = '') - { - $this->assertStringMatchesFormat(rtrim($dump), $this->getDump($data), $message); - } + public function assertDumpMatchesFormat($dump, $data, $message = '') + { + $this->assertStringMatchesFormat(rtrim($dump), $this->getDump($data), $message); + } - protected function getDump($data) - { - $h = fopen('php://memory', 'r+b'); - $cloner = new VarCloner(); - $cloner->setMaxItems(-1); - $dumper = new CliDumper($h); - $dumper->setColors(false); - $dumper->dump($cloner->cloneVar($data)->withRefHandles(false)); - $data = stream_get_contents($h, -1, 0); - fclose($h); + protected function getDump($data, $key = null) + { + $flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0; + $flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0; - return rtrim($data); - } + $cloner = new VarCloner(); + $cloner->setMaxItems(-1); + $dumper = new CliDumper(null, null, $flags); + $dumper->setColors(false); + $data = $cloner->cloneVar($data)->withRefHandles(false); + if (null !== $key && null === $data = $data->seek($key)) { + return; + } + + return rtrim($dumper->dump($data, true)); + } } diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/CasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/CasterTest.php index 43d389ce1c0..d1f09841ea3 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/Caster/CasterTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/CasterTest.php @@ -11,170 +11,171 @@ namespace Symfony\Component\VarDumper\Tests\Caster; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Caster\Caster; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; /** * @author Nicolas Grekas */ -class CasterTest extends \PHPUnit_Framework_TestCase +class CasterTest extends TestCase { - use VarDumperTestTrait; + use VarDumperTestTrait; - private $referenceArray = array( - 'null' => null, - 'empty' => false, - 'public' => 'pub', - "\0~\0virtual" => 'virt', - "\0+\0dynamic" => 'dyn', - "\0*\0protected" => 'prot', - "\0Foo\0private" => 'priv', - ); + private $referenceArray = array( + 'null' => null, + 'empty' => false, + 'public' => 'pub', + "\0~\0virtual" => 'virt', + "\0+\0dynamic" => 'dyn', + "\0*\0protected" => 'prot', + "\0Foo\0private" => 'priv', + ); - /** - * @dataProvider provideFilter - */ - public function testFilter($filter, $expectedDiff, $listedProperties = null) - { - if (null === $listedProperties) { - $filteredArray = Caster::filter($this->referenceArray, $filter); - } else { - $filteredArray = Caster::filter($this->referenceArray, $filter, $listedProperties); - } + /** + * @dataProvider provideFilter + */ + public function testFilter($filter, $expectedDiff, $listedProperties = null) + { + if (null === $listedProperties) { + $filteredArray = Caster::filter($this->referenceArray, $filter); + } else { + $filteredArray = Caster::filter($this->referenceArray, $filter, $listedProperties); + } - $this->assertSame($expectedDiff, array_diff_assoc($this->referenceArray, $filteredArray)); - } + $this->assertSame($expectedDiff, array_diff_assoc($this->referenceArray, $filteredArray)); + } - public function provideFilter() - { - return array( - array( - 0, - array(), - ), - array( - Caster::EXCLUDE_PUBLIC, - array( - 'null' => null, - 'empty' => false, - 'public' => 'pub', - ), - ), - array( - Caster::EXCLUDE_NULL, - array( - 'null' => null, - ), - ), - array( - Caster::EXCLUDE_EMPTY, - array( - 'null' => null, - 'empty' => false, - ), - ), - array( - Caster::EXCLUDE_VIRTUAL, - array( - "\0~\0virtual" => 'virt', - ), - ), - array( - Caster::EXCLUDE_DYNAMIC, - array( - "\0+\0dynamic" => 'dyn', - ), - ), - array( - Caster::EXCLUDE_PROTECTED, - array( - "\0*\0protected" => 'prot', - ), - ), - array( - Caster::EXCLUDE_PRIVATE, - array( - "\0Foo\0private" => 'priv', - ), - ), - array( - Caster::EXCLUDE_VERBOSE, - array( - 'public' => 'pub', - "\0*\0protected" => 'prot', - ), - array('public', "\0*\0protected"), - ), - array( - Caster::EXCLUDE_NOT_IMPORTANT, - array( - 'null' => null, - 'empty' => false, - "\0~\0virtual" => 'virt', - "\0+\0dynamic" => 'dyn', - "\0Foo\0private" => 'priv', - ), - array('public', "\0*\0protected"), - ), - array( - Caster::EXCLUDE_VIRTUAL | Caster::EXCLUDE_DYNAMIC, - array( - "\0~\0virtual" => 'virt', - "\0+\0dynamic" => 'dyn', - ), - ), - array( - Caster::EXCLUDE_NOT_IMPORTANT | Caster::EXCLUDE_VERBOSE, - $this->referenceArray, - array('public', "\0*\0protected"), - ), - array( - Caster::EXCLUDE_NOT_IMPORTANT | Caster::EXCLUDE_EMPTY, - array( - 'null' => null, - 'empty' => false, - "\0~\0virtual" => 'virt', - "\0+\0dynamic" => 'dyn', - "\0*\0protected" => 'prot', - "\0Foo\0private" => 'priv', - ), - array('public', 'empty'), - ), - array( - Caster::EXCLUDE_VERBOSE | Caster::EXCLUDE_EMPTY | Caster::EXCLUDE_STRICT, - array( - 'empty' => false, - ), - array('public', 'empty'), - ), - ); - } + public function provideFilter() + { + return array( + array( + 0, + array(), + ), + array( + Caster::EXCLUDE_PUBLIC, + array( + 'null' => null, + 'empty' => false, + 'public' => 'pub', + ), + ), + array( + Caster::EXCLUDE_NULL, + array( + 'null' => null, + ), + ), + array( + Caster::EXCLUDE_EMPTY, + array( + 'null' => null, + 'empty' => false, + ), + ), + array( + Caster::EXCLUDE_VIRTUAL, + array( + "\0~\0virtual" => 'virt', + ), + ), + array( + Caster::EXCLUDE_DYNAMIC, + array( + "\0+\0dynamic" => 'dyn', + ), + ), + array( + Caster::EXCLUDE_PROTECTED, + array( + "\0*\0protected" => 'prot', + ), + ), + array( + Caster::EXCLUDE_PRIVATE, + array( + "\0Foo\0private" => 'priv', + ), + ), + array( + Caster::EXCLUDE_VERBOSE, + array( + 'public' => 'pub', + "\0*\0protected" => 'prot', + ), + array('public', "\0*\0protected"), + ), + array( + Caster::EXCLUDE_NOT_IMPORTANT, + array( + 'null' => null, + 'empty' => false, + "\0~\0virtual" => 'virt', + "\0+\0dynamic" => 'dyn', + "\0Foo\0private" => 'priv', + ), + array('public', "\0*\0protected"), + ), + array( + Caster::EXCLUDE_VIRTUAL | Caster::EXCLUDE_DYNAMIC, + array( + "\0~\0virtual" => 'virt', + "\0+\0dynamic" => 'dyn', + ), + ), + array( + Caster::EXCLUDE_NOT_IMPORTANT | Caster::EXCLUDE_VERBOSE, + $this->referenceArray, + array('public', "\0*\0protected"), + ), + array( + Caster::EXCLUDE_NOT_IMPORTANT | Caster::EXCLUDE_EMPTY, + array( + 'null' => null, + 'empty' => false, + "\0~\0virtual" => 'virt', + "\0+\0dynamic" => 'dyn', + "\0*\0protected" => 'prot', + "\0Foo\0private" => 'priv', + ), + array('public', 'empty'), + ), + array( + Caster::EXCLUDE_VERBOSE | Caster::EXCLUDE_EMPTY | Caster::EXCLUDE_STRICT, + array( + 'empty' => false, + ), + array('public', 'empty'), + ), + ); + } - /** - * @requires PHP 7.0 - */ - public function testAnonymousClass() - { - $c = eval('return new class extends stdClass { private $foo = "foo"; };'); + /** + * @requires PHP 7.0 + */ + public function testAnonymousClass() + { + $c = eval('return new class extends stdClass { private $foo = "foo"; };'); - $this->assertDumpMatchesFormat( - <<<'EOTXT' + $this->assertDumpMatchesFormat( + <<<'EOTXT' stdClass@anonymous { -foo: "foo" } EOTXT - , $c - ); + , $c + ); - $c = eval('return new class { private $foo = "foo"; };'); + $c = eval('return new class { private $foo = "foo"; };'); - $this->assertDumpMatchesFormat( - <<<'EOTXT' + $this->assertDumpMatchesFormat( + <<<'EOTXT' @anonymous { -foo: "foo" } EOTXT - , $c - ); - } + , $c + ); + } } diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php new file mode 100644 index 00000000000..2e348040f31 --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php @@ -0,0 +1,225 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Caster; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Caster\ExceptionCaster; +use Symfony\Component\VarDumper\Caster\FrameStub; +use Symfony\Component\VarDumper\Cloner\VarCloner; +use Symfony\Component\VarDumper\Dumper\HtmlDumper; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; + +class ExceptionCasterTest extends TestCase +{ + use VarDumperTestTrait; + + private function getTestException($msg, &$ref = null) + { + return new \Exception(''.$msg); + } + + protected function tearDown() + { + ExceptionCaster::$srcContext = 1; + ExceptionCaster::$traceArgs = true; + } + + public function testDefaultSettings() + { + $ref = array('foo'); + $e = $this->getTestException('foo', $ref); + + $expectedDump = <<<'EODUMP' +Exception { + #message: "foo" + #code: 0 + #file: "%sExceptionCasterTest.php" + #line: 27 + -trace: { + %sExceptionCasterTest.php:27: { + : { + : return new \Exception(''.$msg); + : } + } + %sExceptionCasterTest.php:%d: { + : $ref = array('foo'); + : $e = $this->getTestException('foo', $ref); + : + arguments: { + $msg: "foo" + &$ref: array:1 [ …1] + } + } +%A +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $e); + $this->assertSame(array('foo'), $ref); + } + + public function testSeek() + { + $e = $this->getTestException(2); + + $expectedDump = <<<'EODUMP' +{ + %sExceptionCasterTest.php:27: { + : { + : return new \Exception(''.$msg); + : } + } + %sExceptionCasterTest.php:%d: { + : { + : $e = $this->getTestException(2); + : + arguments: { + $msg: 2 + } + } +%A +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $this->getDump($e, 'trace')); + } + + public function testNoArgs() + { + $e = $this->getTestException(1); + ExceptionCaster::$traceArgs = false; + + $expectedDump = <<<'EODUMP' +Exception { + #message: "1" + #code: 0 + #file: "%sExceptionCasterTest.php" + #line: 27 + -trace: { + %sExceptionCasterTest.php:27: { + : { + : return new \Exception(''.$msg); + : } + } + %sExceptionCasterTest.php:%d: { + : { + : $e = $this->getTestException(1); + : ExceptionCaster::$traceArgs = false; + } +%A +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $e); + } + + public function testNoSrcContext() + { + $e = $this->getTestException(1); + ExceptionCaster::$srcContext = -1; + + $expectedDump = <<<'EODUMP' +Exception { + #message: "1" + #code: 0 + #file: "%sExceptionCasterTest.php" + #line: 27 + -trace: { + %sExceptionCasterTest.php: 27 + %sExceptionCasterTest.php: %d +%A +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $e); + } + + public function testHtmlDump() + { + $e = $this->getTestException(1); + ExceptionCaster::$srcContext = -1; + + $cloner = new VarCloner(); + $cloner->setMaxItems(1); + $dumper = new HtmlDumper(); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $dump = $dumper->dump($cloner->cloneVar($e)->withRefHandles(false), true); + + $expectedDump = <<<'EODUMP' +Exception { + #message: "1" + #code: 0 + #file: "%sTests%eCaster%eExceptionCasterTest.php" + #line: 27 + -trace: { + %sVarDumper%eTests%eCaster%eExceptionCasterTest.php: 27 + …%d + } +} + +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $dump); + } + + /** + * @requires function Twig\Template::getSourceContext + */ + public function testFrameWithTwig() + { + require_once dirname(__DIR__).'/Fixtures/Twig.php'; + + $f = array( + new FrameStub(array( + 'file' => dirname(__DIR__).'/Fixtures/Twig.php', + 'line' => 20, + 'class' => '__TwigTemplate_VarDumperFixture_u75a09', + )), + new FrameStub(array( + 'file' => dirname(__DIR__).'/Fixtures/Twig.php', + 'line' => 21, + 'class' => '__TwigTemplate_VarDumperFixture_u75a09', + 'object' => new \__TwigTemplate_VarDumperFixture_u75a09(null, __FILE__), + )), + ); + + $expectedDump = <<<'EODUMP' +array:2 [ + 0 => { + class: "__TwigTemplate_VarDumperFixture_u75a09" + src: { + %sTwig.php:1: { + : + : foo bar + : twig source + } + } + } + 1 => { + class: "__TwigTemplate_VarDumperFixture_u75a09" + object: __TwigTemplate_VarDumperFixture_u75a09 { + %A + } + src: { + %sExceptionCasterTest.php:2: { + : foo bar + : twig source + : + } + } + } +] + +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $f); + } +} diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/PdoCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/PdoCasterTest.php index faa65341170..31bfac7e2da 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/Caster/PdoCasterTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/PdoCasterTest.php @@ -11,47 +11,54 @@ namespace Symfony\Component\VarDumper\Tests\Caster; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Caster\PdoCaster; use Symfony\Component\VarDumper\Cloner\Stub; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; /** * @author Nicolas Grekas */ -class PdoCasterTest extends \PHPUnit_Framework_TestCase +class PdoCasterTest extends TestCase { - /** - * @requires extension pdo_sqlite - */ - public function testCastPdo() - { - $pdo = new \PDO('sqlite::memory:'); - $pdo->setAttribute(\PDO::ATTR_STATEMENT_CLASS, array('PDOStatement', array($pdo))); + use VarDumperTestTrait; - $cast = PdoCaster::castPdo($pdo, array(), new Stub(), false); + /** + * @requires extension pdo_sqlite + */ + public function testCastPdo() + { + $pdo = new \PDO('sqlite::memory:'); + $pdo->setAttribute(\PDO::ATTR_STATEMENT_CLASS, array('PDOStatement', array($pdo))); - $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\EnumStub', $cast["\0~\0attributes"]); + $cast = PdoCaster::castPdo($pdo, array(), new Stub(), false); - $attr = $cast["\0~\0attributes"] = $cast["\0~\0attributes"]->value; - $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\ConstStub', $attr['CASE']); - $this->assertSame('NATURAL', $attr['CASE']->class); - $this->assertSame('BOTH', $attr['DEFAULT_FETCH_MODE']->class); + $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\EnumStub', $cast["\0~\0attributes"]); - $xCast = array( - "\0~\0inTransaction" => $pdo->inTransaction(), - "\0~\0attributes" => array( - 'CASE' => $attr['CASE'], - 'ERRMODE' => $attr['ERRMODE'], - 'PERSISTENT' => false, - 'DRIVER_NAME' => 'sqlite', - 'ORACLE_NULLS' => $attr['ORACLE_NULLS'], - 'CLIENT_VERSION' => $pdo->getAttribute(\PDO::ATTR_CLIENT_VERSION), - 'SERVER_VERSION' => $pdo->getAttribute(\PDO::ATTR_SERVER_VERSION), - 'STATEMENT_CLASS' => array('PDOStatement'), - 'DEFAULT_FETCH_MODE' => $attr['DEFAULT_FETCH_MODE'], - ), - ); - unset($cast["\0~\0attributes"]['STATEMENT_CLASS'][1]); + $attr = $cast["\0~\0attributes"] = $cast["\0~\0attributes"]->value; + $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\ConstStub', $attr['CASE']); + $this->assertSame('NATURAL', $attr['CASE']->class); + $this->assertSame('BOTH', $attr['DEFAULT_FETCH_MODE']->class); - $this->assertSame($xCast, $cast); - } + $xDump = <<<'EODUMP' +array:2 [ + "\x00~\x00inTransaction" => false + "\x00~\x00attributes" => array:9 [ + "CASE" => NATURAL + "ERRMODE" => SILENT + "PERSISTENT" => false + "DRIVER_NAME" => "sqlite" + "ORACLE_NULLS" => NATURAL + "CLIENT_VERSION" => "%s" + "SERVER_VERSION" => "%s" + "STATEMENT_CLASS" => array:%d [ + 0 => "PDOStatement"%A + ] + "DEFAULT_FETCH_MODE" => BOTH + ] +] +EODUMP; + + $this->assertDumpMatchesFormat($xDump, $cast); + } } diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/RedisCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/RedisCasterTest.php new file mode 100644 index 00000000000..b096dfe7b6f --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/RedisCasterTest.php @@ -0,0 +1,85 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Caster; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; + +/** + * @author Nicolas Grekas + * @requires extension redis + */ +class RedisCasterTest extends TestCase +{ + use VarDumperTestTrait; + + public function testNotConnected() + { + $redis = new \Redis(); + + if (defined('HHVM_VERSION_ID')) { + $xCast = <<<'EODUMP' +Redis { + #host: "" +%A +} +EODUMP; + } else { + $xCast = <<<'EODUMP' +Redis { + isConnected: false +} +EODUMP; + } + + $this->assertDumpMatchesFormat($xCast, $redis); + } + + public function testConnected() + { + $redis = new \Redis(); + if (!@$redis->connect('127.0.0.1')) { + $e = error_get_last(); + self::markTestSkipped($e['message']); + } + + if (defined('HHVM_VERSION_ID')) { + $xCast = <<<'EODUMP' +Redis { + #host: "127.0.0.1" +%A +} +EODUMP; + } else { + $xCast = <<<'EODUMP' +Redis { + +"socket": Redis Socket Buffer resource + isConnected: true + host: "127.0.0.1" + port: 6379 + auth: null + dbNum: 0 + timeout: 0.0 + persistentId: null + options: { + READ_TIMEOUT: 0.0 + SERIALIZER: NONE + PREFIX: null + SCAN: NORETRY + } +} +EODUMP; + } + + $this->assertDumpMatchesFormat($xCast, $redis); + } +} diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php index 0d7147fbcd2..63500b9ef4d 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php @@ -11,22 +11,24 @@ namespace Symfony\Component\VarDumper\Tests\Caster; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; use Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo; +use Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass; /** * @author Nicolas Grekas */ -class ReflectionCasterTest extends \PHPUnit_Framework_TestCase +class ReflectionCasterTest extends TestCase { - use VarDumperTestTrait; + use VarDumperTestTrait; - public function testReflectionCaster() - { - $var = new \ReflectionClass('ReflectionClass'); + public function testReflectionCaster() + { + $var = new \ReflectionClass('ReflectionClass'); - $this->assertDumpMatchesFormat( - <<<'EOTXT' + $this->assertDumpMatchesFormat( + <<<'EOTXT' ReflectionClass { +name: "ReflectionClass" %Aimplements: array:%d [ @@ -49,23 +51,23 @@ ReflectionClass { "export" => ReflectionMethod { +name: "export" +class: "ReflectionClass" - parameters: { +%A parameters: { $%s: ReflectionParameter { %A position: 0 %A } EOTXT - , $var - ); - } + , $var + ); + } - public function testClosureCaster() - { - $a = $b = 123; - $var = function ($x) use ($a, &$b) {}; + public function testClosureCaster() + { + $a = $b = 123; + $var = function ($x) use ($a, &$b) {}; - $this->assertDumpMatchesFormat( - <<assertDumpMatchesFormat( + <<assertDumpMatchesFormat( - <<<'EOTXT' + $this->assertDumpMatchesFormat( + <<<'EOTXT' ReflectionParameter { +name: "arg1" position: 0 - typeHint: "Symfony\Component\VarDumper\Tests\Caster\NotExistingClass" + typeHint: "Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass" default: null } EOTXT - , $var - ); - } + , $var + ); + } - /** - * @requires PHP 7.0 - */ - public function testReflectionParameterScalar() - { - $f = eval('return function (int $a) {};'); - $var = new \ReflectionParameter($f, 0); + /** + * @requires PHP 7.0 + */ + public function testReflectionParameterScalar() + { + $f = eval('return function (int $a) {};'); + $var = new \ReflectionParameter($f, 0); - $this->assertDumpMatchesFormat( - <<<'EOTXT' + $this->assertDumpMatchesFormat( + <<<'EOTXT' ReflectionParameter { +name: "a" position: 0 typeHint: "int" } EOTXT - , $var - ); - } + , $var + ); + } - /** - * @requires PHP 7.0 - */ - public function testReturnType() - { - $f = eval('return function ():int {};'); - $line = __LINE__ - 1; + /** + * @requires PHP 7.0 + */ + public function testReturnType() + { + $f = eval('return function ():int {};'); + $line = __LINE__ - 1; - $this->assertDumpMatchesFormat( - <<assertDumpMatchesFormat( + <<baz(); - $r = new \ReflectionGenerator($g); + /** + * @requires PHP 7.0 + */ + public function testGenerator() + { + if (extension_loaded('xdebug')) { + $this->markTestSkipped('xdebug is active'); + } - $xDump = <<<'EODUMP' + $generator = new GeneratorDemo(); + $generator = $generator->baz(); + + $expectedDump = <<<'EODUMP' Generator { this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { …} executing: { Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo->baz(): { - %sGeneratorDemo.php:14: """ - {\n - yield from bar();\n - }\n - """ + %sGeneratorDemo.php:14: { + : { + : yield from bar(); + : } + } } } + closed: false } EODUMP; - $this->assertDumpMatchesFormat($xDump, $g); + $this->assertDumpMatchesFormat($expectedDump, $generator); - foreach ($g as $v) { - break; - } + foreach ($generator as $v) { + break; + } - $xDump = <<<'EODUMP' + $expectedDump = <<<'EODUMP' array:2 [ 0 => ReflectionGenerator { this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { …} trace: { - 3. Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo() ==> yield(): { - src: { - %sGeneratorDemo.php:9: """ - {\n - yield 1;\n - }\n - """ - } + %sGeneratorDemo.php:9: { + : { + : yield 1; + : } } - 2. Symfony\Component\VarDumper\Tests\Fixtures\bar() ==> Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo(): { - src: { - %sGeneratorDemo.php:20: """ - {\n - yield from GeneratorDemo::foo();\n - }\n - """ - } + %sGeneratorDemo.php:20: { + : { + : yield from GeneratorDemo::foo(); + : } } - 1. Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo->baz() ==> Symfony\Component\VarDumper\Tests\Fixtures\bar(): { - src: { - %sGeneratorDemo.php:14: """ - {\n - yield from bar();\n - }\n - """ - } + %sGeneratorDemo.php:14: { + : { + : yield from bar(); + : } } } + closed: false } 1 => Generator { executing: { Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo(): { - %sGeneratorDemo.php:10: """ - yield 1;\n - }\n - \n - """ + %sGeneratorDemo.php:10: { + : yield 1; + : } + : + } } } + closed: false } ] EODUMP; - $this->assertDumpMatchesFormat($xDump, array($r, $r->getExecutingGenerator())); - } + $r = new \ReflectionGenerator($generator); + $this->assertDumpMatchesFormat($expectedDump, array($r, $r->getExecutingGenerator())); + + foreach ($generator as $v) { + } + + $expectedDump = <<<'EODUMP' +Generator { + closed: true +} +EODUMP; + $this->assertDumpMatchesFormat($expectedDump, $generator); + } } -function reflectionParameterFixture(NotExistingClass $arg1 = null, $arg2) +function reflectionParameterFixture(NotLoadableClass $arg1 = null, $arg2) { } diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/SplCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/SplCasterTest.php index 5d71e8d379d..04044f68100 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/Caster/SplCasterTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/SplCasterTest.php @@ -11,19 +11,20 @@ namespace Symfony\Component\VarDumper\Tests\Caster; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; /** * @author Grégoire Pineau */ -class SplCasterTest extends \PHPUnit_Framework_TestCase +class SplCasterTest extends TestCase { - use VarDumperTestTrait; + use VarDumperTestTrait; - public function getCastFileInfoTests() - { - return array( - array(__FILE__, <<<'EOTXT' + public function getCastFileInfoTests() + { + return array( + array(__FILE__, <<<'EOTXT' SplFileInfo { %Apath: "%sCaster" filename: "SplCasterTest.php" @@ -48,8 +49,8 @@ SplFileInfo { link: false %A} EOTXT - ), - array('https://google.com/about', <<<'EOTXT' + ), + array('https://google.com/about', <<<'EOTXT' SplFileInfo { %Apath: "https://google.com" filename: "about" @@ -57,29 +58,23 @@ SplFileInfo { pathname: "https://google.com/about" extension: "" realPath: false - writable: false - readable: false - executable: false - file: false - dir: false - link: false %A} EOTXT - ), - ); - } + ), + ); + } - /** @dataProvider getCastFileInfoTests */ - public function testCastFileInfo($file, $dump) - { - $this->assertDumpMatchesFormat($dump, new \SplFileInfo($file)); - } + /** @dataProvider getCastFileInfoTests */ + public function testCastFileInfo($file, $dump) + { + $this->assertDumpMatchesFormat($dump, new \SplFileInfo($file)); + } - public function testCastFileObject() - { - $var = new \SplFileObject(__FILE__); - $var->setFlags(\SplFileObject::DROP_NEW_LINE | \SplFileObject::SKIP_EMPTY); - $dump = <<<'EOTXT' + public function testCastFileObject() + { + $var = new \SplFileObject(__FILE__); + $var->setFlags(\SplFileObject::DROP_NEW_LINE | \SplFileObject::SKIP_EMPTY); + $dump = <<<'EOTXT' SplFileObject { %Apath: "%sCaster" filename: "SplCasterTest.php" @@ -102,10 +97,10 @@ SplFileObject { file: true dir: false link: false -%AcsvControl: array:2 [ +%AcsvControl: array:%d [ 0 => "," 1 => """ - ] +%A] flags: DROP_NEW_LINE|SKIP_EMPTY maxLineLen: 0 fstat: array:26 [ @@ -121,6 +116,32 @@ SplFileObject { key: 0 } EOTXT; - $this->assertDumpMatchesFormat($dump, $var); - } + $this->assertDumpMatchesFormat($dump, $var); + } + + /** + * @dataProvider provideCastSplDoublyLinkedList + */ + public function testCastSplDoublyLinkedList($modeValue, $modeDump) + { + $var = new \SplDoublyLinkedList(); + $var->setIteratorMode($modeValue); + $dump = <<assertDumpMatchesFormat($dump, $var); + } + + public function provideCastSplDoublyLinkedList() + { + return array( + array(\SplDoublyLinkedList::IT_MODE_FIFO, 'IT_MODE_FIFO | IT_MODE_KEEP'), + array(\SplDoublyLinkedList::IT_MODE_LIFO, 'IT_MODE_LIFO | IT_MODE_KEEP'), + array(\SplDoublyLinkedList::IT_MODE_FIFO | \SplDoublyLinkedList::IT_MODE_DELETE, 'IT_MODE_FIFO | IT_MODE_DELETE'), + array(\SplDoublyLinkedList::IT_MODE_LIFO | \SplDoublyLinkedList::IT_MODE_DELETE, 'IT_MODE_LIFO | IT_MODE_DELETE'), + ); + } } diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/StubCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/StubCasterTest.php new file mode 100644 index 00000000000..887d3d82a4f --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/StubCasterTest.php @@ -0,0 +1,171 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Caster; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Caster\ArgsStub; +use Symfony\Component\VarDumper\Caster\ClassStub; +use Symfony\Component\VarDumper\Caster\LinkStub; +use Symfony\Component\VarDumper\Cloner\VarCloner; +use Symfony\Component\VarDumper\Dumper\HtmlDumper; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; +use Symfony\Component\VarDumper\Tests\Fixtures\FooInterface; + +class StubCasterTest extends TestCase +{ + use VarDumperTestTrait; + + public function testArgsStubWithDefaults($foo = 234, $bar = 456) + { + $args = array(new ArgsStub(array(123), __FUNCTION__, __CLASS__)); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => { + $foo: 123 + } +] +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $args); + } + + public function testArgsStubWithExtraArgs($foo = 234) + { + $args = array(new ArgsStub(array(123, 456), __FUNCTION__, __CLASS__)); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => { + $foo: 123 + ...: { + 456 + } + } +] +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $args); + } + + public function testArgsStubNoParamWithExtraArgs() + { + $args = array(new ArgsStub(array(123), __FUNCTION__, __CLASS__)); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => { + 123 + } +] +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $args); + } + + public function testArgsStubWithClosure() + { + $args = array(new ArgsStub(array(123), '{closure}', null)); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => { + 123 + } +] +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $args); + } + + public function testLinkStub() + { + $var = array(new LinkStub(__CLASS__, 0, __FILE__)); + + $cloner = new VarCloner(); + $dumper = new HtmlDumper(); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $dumper->setDisplayOptions(array('fileLinkFormat' => '%f:%l')); + $dump = $dumper->dump($cloner->cloneVar($var), true); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => "Symfony\Component\VarDumper\Tests\Caster\StubCasterTest" +] + +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $dump); + } + + public function testClassStub() + { + $var = array(new ClassStub('hello', array(FooInterface::class, 'foo'))); + + $cloner = new VarCloner(); + $dumper = new HtmlDumper(); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $dump = $dumper->dump($cloner->cloneVar($var), true, array('fileLinkFormat' => '%f:%l')); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => "hello" +] + +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $dump); + } + + public function testClassStubWithNotExistingClass() + { + $var = array(new ClassStub(NotExisting::class)); + + $cloner = new VarCloner(); + $dumper = new HtmlDumper(); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $dump = $dumper->dump($cloner->cloneVar($var), true); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => "Symfony\Component\VarDumper\Tests\Caster\NotExisting" +] + +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $dump); + } + + public function testClassStubWithNotExistingMethod() + { + $var = array(new ClassStub('hello', array(FooInterface::class, 'missing'))); + + $cloner = new VarCloner(); + $dumper = new HtmlDumper(); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $dump = $dumper->dump($cloner->cloneVar($var), true, array('fileLinkFormat' => '%f:%l')); + + $expectedDump = <<<'EODUMP' +array:1 [ + 0 => "hello" +] + +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $dump); + } +} diff --git a/htdocs/includes/symfony/var-dumper/Tests/Caster/XmlReaderCasterTest.php b/htdocs/includes/symfony/var-dumper/Tests/Caster/XmlReaderCasterTest.php new file mode 100644 index 00000000000..b324d1db9ef --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Tests/Caster/XmlReaderCasterTest.php @@ -0,0 +1,248 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Caster; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; + +/** + * @author Baptiste Clavié + */ +class XmlReaderCasterTest extends TestCase +{ + use VarDumperTestTrait; + + /** @var \XmlReader */ + private $reader; + + protected function setUp() + { + $this->reader = new \XmlReader(); + $this->reader->open(__DIR__.'/../Fixtures/xml_reader.xml'); + } + + protected function tearDown() + { + $this->reader->close(); + } + + public function testParserProperty() + { + $this->reader->setParserProperty(\XMLReader::SUBST_ENTITIES, true); + + $expectedDump = <<<'EODUMP' +XMLReader { + +nodeType: NONE + parserProperties: { + SUBST_ENTITIES: true + …3 + } + …12 +} +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $this->reader); + } + + /** + * @dataProvider provideNodes + */ + public function testNodes($seek, $expectedDump) + { + while ($seek--) { + $this->reader->read(); + } + $this->assertDumpMatchesFormat($expectedDump, $this->reader); + } + + public function provideNodes() + { + return array( + array(0, <<<'EODUMP' +XMLReader { + +nodeType: NONE + …13 +} +EODUMP + ), + array(1, <<<'EODUMP' +XMLReader { + +localName: "foo" + +nodeType: ELEMENT + +baseURI: "%sxml_reader.xml" + …11 +} +EODUMP + ), + array(2, <<<'EODUMP' +XMLReader { + +localName: "#text" + +nodeType: SIGNIFICANT_WHITESPACE + +depth: 1 + +value: """ + \n + + """ + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(3, <<<'EODUMP' +XMLReader { + +localName: "bar" + +nodeType: ELEMENT + +depth: 1 + +baseURI: "%sxml_reader.xml" + …10 +} +EODUMP + ), + array(4, <<<'EODUMP' +XMLReader { + +localName: "bar" + +nodeType: END_ELEMENT + +depth: 1 + +baseURI: "%sxml_reader.xml" + …10 +} +EODUMP + ), + array(6, <<<'EODUMP' +XMLReader { + +localName: "bar" + +nodeType: ELEMENT + +depth: 1 + +isEmptyElement: true + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(9, <<<'EODUMP' +XMLReader { + +localName: "#text" + +nodeType: TEXT + +depth: 2 + +value: "With text" + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(12, <<<'EODUMP' +XMLReader { + +localName: "bar" + +nodeType: ELEMENT + +depth: 1 + +attributeCount: 2 + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(13, <<<'EODUMP' +XMLReader { + +localName: "bar" + +nodeType: END_ELEMENT + +depth: 1 + +baseURI: "%sxml_reader.xml" + …10 +} +EODUMP + ), + array(15, <<<'EODUMP' +XMLReader { + +localName: "bar" + +nodeType: ELEMENT + +depth: 1 + +attributeCount: 1 + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(16, <<<'EODUMP' +XMLReader { + +localName: "#text" + +nodeType: SIGNIFICANT_WHITESPACE + +depth: 2 + +value: """ + \n + + """ + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(17, <<<'EODUMP' +XMLReader { + +localName: "baz" + +prefix: "baz" + +nodeType: ELEMENT + +depth: 2 + +namespaceURI: "http://symfony.com" + +baseURI: "%sxml_reader.xml" + …8 +} +EODUMP + ), + array(18, <<<'EODUMP' +XMLReader { + +localName: "baz" + +prefix: "baz" + +nodeType: END_ELEMENT + +depth: 2 + +namespaceURI: "http://symfony.com" + +baseURI: "%sxml_reader.xml" + …8 +} +EODUMP + ), + array(19, <<<'EODUMP' +XMLReader { + +localName: "#text" + +nodeType: SIGNIFICANT_WHITESPACE + +depth: 2 + +value: """ + \n + + """ + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(21, <<<'EODUMP' +XMLReader { + +localName: "#text" + +nodeType: SIGNIFICANT_WHITESPACE + +depth: 1 + +value: "\n" + +baseURI: "%sxml_reader.xml" + …9 +} +EODUMP + ), + array(22, <<<'EODUMP' +XMLReader { + +localName: "foo" + +nodeType: END_ELEMENT + +baseURI: "%sxml_reader.xml" + …11 +} +EODUMP + ), + ); + } +} diff --git a/htdocs/includes/symfony/var-dumper/Tests/CliDumperTest.php b/htdocs/includes/symfony/var-dumper/Tests/CliDumperTest.php index cd6d64d1c03..9a7404cea05 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/CliDumperTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/CliDumperTest.php @@ -11,43 +11,46 @@ namespace Symfony\Component\VarDumper\Tests; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Cloner\VarCloner; use Symfony\Component\VarDumper\Dumper\CliDumper; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; +use Twig\Environment; +use Twig\Loader\FilesystemLoader; /** * @author Nicolas Grekas */ -class CliDumperTest extends \PHPUnit_Framework_TestCase +class CliDumperTest extends TestCase { - use VarDumperTestTrait; + use VarDumperTestTrait; - public function testGet() - { - require __DIR__.'/Fixtures/dumb-var.php'; + public function testGet() + { + require __DIR__.'/Fixtures/dumb-var.php'; - $dumper = new CliDumper('php://output'); - $dumper->setColors(false); - $cloner = new VarCloner(); - $cloner->addCasters(array( - ':stream' => function ($res, $a) { - unset($a['uri'], $a['wrapper_data']); + $dumper = new CliDumper('php://output'); + $dumper->setColors(false); + $cloner = new VarCloner(); + $cloner->addCasters(array( + ':stream' => function ($res, $a) { + unset($a['uri'], $a['wrapper_data']); - return $a; - }, - )); - $data = $cloner->cloneVar($var); + return $a; + }, + )); + $data = $cloner->cloneVar($var); - ob_start(); - $dumper->dump($data); - $out = ob_get_clean(); - $out = preg_replace('/[ \t]+$/m', '', $out); - $intMax = PHP_INT_MAX; - $res = (int) $var['res']; + ob_start(); + $dumper->dump($data); + $out = ob_get_clean(); + $out = preg_replace('/[ \t]+$/m', '', $out); + $intMax = PHP_INT_MAX; + $res = (int) $var['res']; - $r = defined('HHVM_VERSION') ? '' : '#%d'; - $this->assertStringMatchesFormat( - <<assertStringMatchesFormat( + << 1 0 => &1 null @@ -62,15 +65,12 @@ array:24 [ 7 => b"é\\x00" "[]" => [] "res" => stream resource {@{$res} - wrapper_type: "plainfile" +%A wrapper_type: "plainfile" stream_type: "STDIO" mode: "r" unread_bytes: 0 seekable: true - timed_out: false - blocked: true - eof: false - options: [] +%A options: [] } "obj" => Symfony\Component\VarDumper\Tests\Fixture\DumbFoo {#%d +foo: "foo" @@ -105,20 +105,20 @@ array:24 [ ] EOTXT - , - $out - ); - } + , + $out + ); + } - /** - * @requires extension xml - */ - public function testXmlResource() - { - $var = xml_parser_create(); + /** + * @requires extension xml + */ + public function testXmlResource() + { + $var = xml_parser_create(); - $this->assertDumpMatchesFormat( - <<assertDumpMatchesFormat( + <<<'EOTXT' xml resource { current_byte_index: %i current_column_number: %i @@ -126,199 +126,257 @@ xml resource { error_code: XML_ERROR_NONE } EOTXT - , - $var - ); - } + , + $var + ); + } - public function testClosedResource() - { - if (defined('HHVM_VERSION') && HHVM_VERSION_ID < 30600) { - $this->markTestSkipped(); - } + public function testJsonCast() + { + $var = (array) json_decode('{"0":{},"1":null}'); + foreach ($var as &$v) { + } + $var[] = &$v; + $var[''] = 2; - $var = fopen(__FILE__, 'r'); - fclose($var); + if (\PHP_VERSION_ID >= 70200) { + $this->assertDumpMatchesFormat( + <<<'EOTXT' +array:4 [ + 0 => {} + 1 => &1 null + 2 => &1 null + "" => 2 +] +EOTXT + , + $var + ); + } else { + $this->assertDumpMatchesFormat( + <<<'EOTXT' +array:4 [ + "0" => {} + "1" => &1 null + 0 => &1 null + "" => 2 +] +EOTXT + , + $var + ); + } + } - $dumper = new CliDumper('php://output'); - $dumper->setColors(false); - $cloner = new VarCloner(); - $data = $cloner->cloneVar($var); + public function testObjectCast() + { + $var = (object) array(1 => 1); + $var->{1} = 2; - ob_start(); - $dumper->dump($data); - $out = ob_get_clean(); - $res = (int) $var; + if (\PHP_VERSION_ID >= 70200) { + $this->assertDumpMatchesFormat( + <<<'EOTXT' +{ + +"1": 2 +} +EOTXT + , + $var + ); + } else { + $this->assertDumpMatchesFormat( + <<<'EOTXT' +{ + +1: 1 + +"1": 2 +} +EOTXT + , + $var + ); + } + } - $this->assertStringMatchesFormat( - <<markTestSkipped(); + } + + $var = fopen(__FILE__, 'r'); + fclose($var); + + $dumper = new CliDumper('php://output'); + $dumper->setColors(false); + $cloner = new VarCloner(); + $data = $cloner->cloneVar($var); + + ob_start(); + $dumper->dump($data); + $out = ob_get_clean(); + $res = (int) $var; + + $this->assertStringMatchesFormat( + << 'bar'), + ); - $dumper = new CliDumper(); - $dumper->setColors(false); - $cloner = new VarCloner(); - $cloner->addCasters(array( - ':stream' => function ($res, $a) { - unset($a['wrapper_data']); + $this->assertDumpEquals( + << (3) "foo" + 2 => (3) "bar" + ] +] +EOTXT + , + $var + ); - return $a; - }, - )); - $cloner->addCasters(array( - ':stream' => eval('return function () use ($twig) { + putenv('DUMP_LIGHT_ARRAY='); + putenv('DUMP_STRING_LENGTH='); + } + + /** + * @requires function Twig\Template::getSourceContext + */ + public function testThrowingCaster() + { + $out = fopen('php://memory', 'r+b'); + + require_once __DIR__.'/Fixtures/Twig.php'; + $twig = new \__TwigTemplate_VarDumperFixture_u75a09(new Environment(new FilesystemLoader())); + + $dumper = new CliDumper(); + $dumper->setColors(false); + $cloner = new VarCloner(); + $cloner->addCasters(array( + ':stream' => function ($res, $a) { + unset($a['wrapper_data']); + + return $a; + }, + )); + $cloner->addCasters(array( + ':stream' => eval('return function () use ($twig) { try { $twig->render(array()); - } catch (\Twig_Error_Runtime $e) { + } catch (\Twig\Error\RuntimeError $e) { throw $e->getPrevious(); } };'), - )); - $line = __LINE__ - 2; - $ref = (int) $out; + )); + $ref = (int) $out; - $data = $cloner->cloneVar($out); - $dumper->dump($data, $out); - rewind($out); - $out = stream_get_contents($out); + $data = $cloner->cloneVar($out); + $dumper->dump($data, $out); + $out = stream_get_contents($out, -1, 0); - if (method_exists($twig, 'getSource')) { - $twig = <<assertStringMatchesFormat( - <<assertStringMatchesFormat( + <<doDisplay(\$context, \$blocks); + : } catch (Twig%sError \$e) { + } + %sTemplate.php:%d: { + : { + : \$this->displayWithErrorHandling(\$this->env->mergeGlobals(\$context), array_merge(\$this->blocks, \$blocks)); + : } + } + %sTemplate.php:%d: { + : try { + : \$this->display(\$context); + : } catch (%s \$e) { + } + %sCliDumperTest.php:%d: { +%A + } + } + } +%Awrapper_type: "PHP" stream_type: "MEMORY" mode: "%s+b" unread_bytes: 0 seekable: true uri: "php://memory" - timed_out: false - blocked: true - eof: false - options: [] - ⚠: Symfony\Component\VarDumper\Exception\ThrowingCasterException {{$r} - #message: "Unexpected Exception thrown from a caster: Foobar" - -trace: { - %d. __TwigTemplate_VarDumperFixture_u75a09->doDisplay() ==> new Exception(): { - src: { - %sTwig.php:19: """ - // line 2\\n - throw new \Exception('Foobar');\\n - }\\n - """ -{$twig} } - } - %d. Twig_Template->displayWithErrorHandling() ==> __TwigTemplate_VarDumperFixture_u75a09->doDisplay(): { - src: { - %sTemplate.php:%d: """ - try {\\n - \$this->doDisplay(\$context, \$blocks);\\n - } catch (Twig_Error \$e) {\\n - """ - } - } - %d. Twig_Template->display() ==> Twig_Template->displayWithErrorHandling(): { - src: { - %sTemplate.php:%d: """ - {\\n - \$this->displayWithErrorHandling(\$this->env->mergeGlobals(\$context), array_merge(\$this->blocks, \$blocks));\\n - }\\n - """ - } - } - %d. Twig_Template->render() ==> Twig_Template->display(): { - src: { - %sTemplate.php:%d: """ - try {\\n - \$this->display(\$context);\\n - } catch (Exception \$e) {\\n - """ - } - } - %d. %slosure%s() ==> Twig_Template->render(): { - src: { - %sCliDumperTest.php:{$line}: """ - }\\n - };'),\\n - ));\\n - """ - } - } - } - } +%Aoptions: [] } EOTXT - , - $out - ); - } + , + $out + ); + } - public function testRefsInProperties() - { - $var = (object) array('foo' => 'foo'); - $var->bar = &$var->foo; + public function testRefsInProperties() + { + $var = (object) array('foo' => 'foo'); + $var->bar = &$var->foo; - $dumper = new CliDumper(); - $dumper->setColors(false); - $cloner = new VarCloner(); + $dumper = new CliDumper(); + $dumper->setColors(false); + $cloner = new VarCloner(); - $out = fopen('php://memory', 'r+b'); - $data = $cloner->cloneVar($var); - $dumper->dump($data, $out); - rewind($out); - $out = stream_get_contents($out); + $data = $cloner->cloneVar($var); + $out = $dumper->dump($data, true); - $r = defined('HHVM_VERSION') ? '' : '#%d'; - $this->assertStringMatchesFormat( - <<assertStringMatchesFormat( + <<getSpecialVars(); + /** + * @runInSeparateProcess + * @preserveGlobalState disabled + * @requires PHP 5.6 + */ + public function testSpecialVars56() + { + $var = $this->getSpecialVars(); - $this->assertDumpEquals( - <<assertDumpEquals( + <<<'EOTXT' array:3 [ 0 => array:1 [ 0 => &1 array:1 [ @@ -333,38 +391,38 @@ array:3 [ 2 => &2 array:1 [&2] ] EOTXT - , - $var - ); - } + , + $var + ); + } - /** - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testGlobalsNoExt() - { - $var = $this->getSpecialVars(); - unset($var[0]); - $out = ''; + /** + * @runInSeparateProcess + * @preserveGlobalState disabled + */ + public function testGlobalsNoExt() + { + $var = $this->getSpecialVars(); + unset($var[0]); + $out = ''; - $dumper = new CliDumper(function ($line, $depth) use (&$out) { - if ($depth >= 0) { - $out .= str_repeat(' ', $depth).$line."\n"; - } - }); - $dumper->setColors(false); - $cloner = new VarCloner(); + $dumper = new CliDumper(function ($line, $depth) use (&$out) { + if ($depth >= 0) { + $out .= str_repeat(' ', $depth).$line."\n"; + } + }); + $dumper->setColors(false); + $cloner = new VarCloner(); - $refl = new \ReflectionProperty($cloner, 'useExt'); - $refl->setAccessible(true); - $refl->setValue($cloner, false); + $refl = new \ReflectionProperty($cloner, 'useExt'); + $refl->setAccessible(true); + $refl->setValue($cloner, false); - $data = $cloner->cloneVar($var); - $dumper->dump($data); + $data = $cloner->cloneVar($var); + $dumper->dump($data); - $this->assertSame( - <<assertSame( + <<<'EOTXT' array:2 [ 1 => array:1 [ "GLOBALS" => &1 array:1 [ @@ -375,38 +433,38 @@ array:2 [ ] EOTXT - , - $out - ); - } + , + $out + ); + } - /** - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testBuggyRefs() - { - if (PHP_VERSION_ID >= 50600) { - $this->markTestSkipped('PHP 5.6 fixed refs counting'); - } + /** + * @runInSeparateProcess + * @preserveGlobalState disabled + */ + public function testBuggyRefs() + { + if (\PHP_VERSION_ID >= 50600) { + $this->markTestSkipped('PHP 5.6 fixed refs counting'); + } - $var = $this->getSpecialVars(); - $var = $var[0]; + $var = $this->getSpecialVars(); + $var = $var[0]; - $dumper = new CliDumper(); - $dumper->setColors(false); - $cloner = new VarCloner(); + $dumper = new CliDumper(); + $dumper->setColors(false); + $cloner = new VarCloner(); - $data = $cloner->cloneVar($var)->withMaxDepth(3); - $out = ''; - $dumper->dump($data, function ($line, $depth) use (&$out) { - if ($depth >= 0) { - $out .= str_repeat(' ', $depth).$line."\n"; - } - }); + $data = $cloner->cloneVar($var)->withMaxDepth(3); + $out = ''; + $dumper->dump($data, function ($line, $depth) use (&$out) { + if ($depth >= 0) { + $out .= str_repeat(' ', $depth).$line."\n"; + } + }); - $this->assertSame( - <<assertSame( + <<<'EOTXT' array:1 [ 0 => array:1 [ 0 => array:1 [ @@ -416,26 +474,41 @@ array:1 [ ] EOTXT - , - $out - ); - } + , + $out + ); + } - private function getSpecialVars() - { - foreach (array_keys($GLOBALS) as $var) { - if ('GLOBALS' !== $var) { - unset($GLOBALS[$var]); - } - } + public function testIncompleteClass() + { + $unserializeCallbackHandler = ini_set('unserialize_callback_func', null); + $var = unserialize('O:8:"Foo\Buzz":0:{}'); + ini_set('unserialize_callback_func', $unserializeCallbackHandler); - $var = function &() { - $var = array(); - $var[] = &$var; + $this->assertDumpMatchesFormat( + <<parent = false; + public function __construct(Twig\Environment $env = null, $path = null) + { + if (null !== $env) { + parent::__construct($env); + } + $this->parent = false; + $this->blocks = array(); + $this->path = $path; + } - $this->blocks = array( - ); - } + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + throw new \Exception('Foobar'); + } - protected function doDisplay(array $context, array $blocks = array()) - { - // line 2 - throw new \Exception('Foobar'); - } + public function getTemplateName() + { + return 'foo.twig'; + } - public function getTemplateName() - { - return 'foo.twig'; - } + public function getDebugInfo() + { + return array(20 => 1, 21 => 2); + } - public function getDebugInfo() - { - return array (19 => 2); - } + public function getSourceContext() + { + return new Twig\Source(" foo bar\n twig source\n\n", 'foo.twig', $this->path ?: __FILE__); + } } -/* foo bar*/ -/* twig source*/ -/* */ diff --git a/htdocs/includes/symfony/var-dumper/Tests/Fixtures/xml_reader.xml b/htdocs/includes/symfony/var-dumper/Tests/Fixtures/xml_reader.xml new file mode 100644 index 00000000000..740c399fc44 --- /dev/null +++ b/htdocs/includes/symfony/var-dumper/Tests/Fixtures/xml_reader.xml @@ -0,0 +1,10 @@ + + + + + With text + + + + + diff --git a/htdocs/includes/symfony/var-dumper/Tests/HtmlDumperTest.php b/htdocs/includes/symfony/var-dumper/Tests/HtmlDumperTest.php index 3090435c5d4..96fcbac5b49 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/HtmlDumperTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/HtmlDumperTest.php @@ -11,44 +11,45 @@ namespace Symfony\Component\VarDumper\Tests; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Cloner\VarCloner; use Symfony\Component\VarDumper\Dumper\HtmlDumper; /** * @author Nicolas Grekas */ -class HtmlDumperTest extends \PHPUnit_Framework_TestCase +class HtmlDumperTest extends TestCase { - public function testGet() - { - require __DIR__.'/Fixtures/dumb-var.php'; + public function testGet() + { + require __DIR__.'/Fixtures/dumb-var.php'; - $dumper = new HtmlDumper('php://output'); - $dumper->setDumpHeader(''); - $dumper->setDumpBoundaries('', ''); - $cloner = new VarCloner(); - $cloner->addCasters(array( - ':stream' => function ($res, $a) { - unset($a['uri'], $a['wrapper_data']); + $dumper = new HtmlDumper('php://output'); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $cloner = new VarCloner(); + $cloner->addCasters(array( + ':stream' => function ($res, $a) { + unset($a['uri'], $a['wrapper_data']); - return $a; - }, - )); - $data = $cloner->cloneVar($var); + return $a; + }, + )); + $data = $cloner->cloneVar($var); - ob_start(); - $dumper->dump($data); - $out = ob_get_clean(); - $out = preg_replace('/[ \t]+$/m', '', $out); - $var['file'] = htmlspecialchars($var['file'], ENT_QUOTES, 'UTF-8'); - $intMax = PHP_INT_MAX; - preg_match('/sf-dump-\d+/', $out, $dumpId); - $dumpId = $dumpId[0]; - $res = (int) $var['res']; + ob_start(); + $dumper->dump($data); + $out = ob_get_clean(); + $out = preg_replace('/[ \t]+$/m', '', $out); + $var['file'] = htmlspecialchars($var['file'], ENT_QUOTES, 'UTF-8'); + $intMax = PHP_INT_MAX; + preg_match('/sf-dump-\d+/', $out, $dumpId); + $dumpId = $dumpId[0]; + $res = (int) $var['res']; - $r = defined('HHVM_VERSION') ? '' : '#%d'; - $this->assertStringMatchesFormat( - <<#%d'; + $this->assertStringMatchesFormat( + <<array:24 [ "number" => 1 0 => &1 null @@ -59,26 +60,24 @@ class HtmlDumperTest extends \PHPUnit_Framework_TestCase 4 => INF 5 => -INF 6 => {$intMax} - "str" => "d&%s;j&%s;\\n" - 7 => b"&%s;\\x00" + "str" => "d&%s;j&%s;\\n" + 7 => b"&%s;\\x00" "[]" => [] "res" => stream resource @{$res} - wrapper_type: "plainfile" +%A wrapper_type: "plainfile" stream_type: "STDIO" mode: "r" unread_bytes: 0 seekable: true - timed_out: false - blocked: true - eof: false - options: [] +%A options: [] } "obj" => DumbFoo {#%d +foo: "foo" +"bar": "bar" } "closure" => Closure {{$r} - class: "Symfony\Component\VarDumper\Tests\HtmlDumperTest" + class: "Symfony\Component\VarDumper\Tests\HtmlDumperTest" this: HtmlDumperTest {{$r} &%s;} parameters: { \$a: {} @@ -87,7 +86,8 @@ class HtmlDumperTest extends \PHPUnit_Framework_TestCase default: null } } - file: "{$var['file']}" + file: "%sTests%eFixtures%edumb-var.php" line: "{$var['line']} to {$var['line']}" } "line" => {$var['line']} @@ -107,36 +107,57 @@ class HtmlDumperTest extends \PHPUnit_Framework_TestCase EOTXT - , + , + $out + ); + } - $out - ); - } + public function testCharset() + { + $var = mb_convert_encoding('Словарь', 'CP1251', 'UTF-8'); - public function testCharset() - { - $var = mb_convert_encoding('Словарь', 'CP1251', 'UTF-8'); + $dumper = new HtmlDumper('php://output', 'CP1251'); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $cloner = new VarCloner(); - $dumper = new HtmlDumper('php://output', 'CP1251'); - $dumper->setDumpHeader(''); - $dumper->setDumpBoundaries('', ''); - $cloner = new VarCloner(); + $data = $cloner->cloneVar($var); + $out = $dumper->dump($data, true); - $data = $cloner->cloneVar($var); - $out = fopen('php://memory', 'r+b'); - $dumper->dump($data, $out); - rewind($out); - $out = stream_get_contents($out); - - $this->assertStringMatchesFormat( - <<assertStringMatchesFormat( + <<<'EOTXT' b"Словарь" EOTXT - , + , + $out + ); + } - $out - ); - } + public function testAppend() + { + $out = fopen('php://memory', 'r+b'); + + $dumper = new HtmlDumper(); + $dumper->setDumpHeader(''); + $dumper->setDumpBoundaries('', ''); + $cloner = new VarCloner(); + + $dumper->dump($cloner->cloneVar(123), $out); + $dumper->dump($cloner->cloneVar(456), $out); + + $out = stream_get_contents($out, -1, 0); + + $this->assertSame(<<<'EOTXT' +123 + +456 + + +EOTXT + , + $out + ); + } } diff --git a/htdocs/includes/symfony/var-dumper/Tests/Test/VarDumperTestTraitTest.php b/htdocs/includes/symfony/var-dumper/Tests/Test/VarDumperTestTraitTest.php index 3295797179c..c76f6be4144 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/Test/VarDumperTestTraitTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/Test/VarDumperTestTraitTest.php @@ -11,20 +11,21 @@ namespace Symfony\Component\VarDumper\Tests\Test; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; -class VarDumperTestTraitTest extends \PHPUnit_Framework_TestCase +class VarDumperTestTraitTest extends TestCase { - use VarDumperTestTrait; + use VarDumperTestTrait; - public function testItComparesLargeData() - { - $howMany = 700; - $data = array_fill_keys(range(0, $howMany), array('a', 'b', 'c', 'd')); + public function testItComparesLargeData() + { + $howMany = 700; + $data = array_fill_keys(range(0, $howMany), array('a', 'b', 'c', 'd')); - $expected = sprintf("array:%d [\n", $howMany + 1); - for ($i = 0; $i <= $howMany; ++$i) { - $expected .= << array:4 [ 0 => "a" 1 => "b" @@ -32,9 +33,9 @@ class VarDumperTestTraitTest extends \PHPUnit_Framework_TestCase 3 => "d" ]\n EODUMP; - } - $expected .= "]\n"; + } + $expected .= "]\n"; - $this->assertDumpEquals($expected, $data); - } + $this->assertDumpEquals($expected, $data); + } } diff --git a/htdocs/includes/symfony/var-dumper/Tests/VarClonerTest.php b/htdocs/includes/symfony/var-dumper/Tests/VarClonerTest.php index 31e3a40ae04..2234ba6902d 100644 --- a/htdocs/includes/symfony/var-dumper/Tests/VarClonerTest.php +++ b/htdocs/includes/symfony/var-dumper/Tests/VarClonerTest.php @@ -11,21 +11,22 @@ namespace Symfony\Component\VarDumper\Tests; +use PHPUnit\Framework\TestCase; use Symfony\Component\VarDumper\Cloner\VarCloner; /** * @author Nicolas Grekas */ -class VarClonerTest extends \PHPUnit_Framework_TestCase +class VarClonerTest extends TestCase { - public function testMaxIntBoundary() - { - $data = array(PHP_INT_MAX => 123); + public function testMaxIntBoundary() + { + $data = array(PHP_INT_MAX => 123); - $cloner = new VarCloner(); - $clone = $cloner->cloneVar($data); + $cloner = new VarCloner(); + $clone = $cloner->cloneVar($data); - $expected = << Array @@ -41,6 +42,10 @@ Symfony\Component\VarDumper\Cloner\Data Object [handle] => 0 [refCount] => 0 [position] => 1 + [attr] => Array + ( + ) + ) ) @@ -52,23 +57,25 @@ Symfony\Component\VarDumper\Cloner\Data Object ) + [position:Symfony\Component\VarDumper\Cloner\Data:private] => 0 + [key:Symfony\Component\VarDumper\Cloner\Data:private] => 0 [maxDepth:Symfony\Component\VarDumper\Cloner\Data:private] => 20 [maxItemsPerDepth:Symfony\Component\VarDumper\Cloner\Data:private] => -1 [useRefHandles:Symfony\Component\VarDumper\Cloner\Data:private] => -1 ) EOTXT; - $this->assertSame(sprintf($expected, PHP_INT_MAX), print_r($clone, true)); - } + $this->assertSame(sprintf($expected, PHP_INT_MAX), print_r($clone, true)); + } - public function testClone() - { - $json = json_decode('{"1":{"var":"val"},"2":{"var":"val"}}'); + public function testClone() + { + $json = json_decode('{"1":{"var":"val"},"2":{"var":"val"}}'); - $cloner = new VarCloner(); - $clone = $cloner->cloneVar($json); + $cloner = new VarCloner(); + $clone = $cloner->cloneVar($json); - $expected = << Array @@ -84,6 +91,10 @@ Symfony\Component\VarDumper\Cloner\Data Object [handle] => %i [refCount] => 0 [position] => 1 + [attr] => Array + ( + ) + ) ) @@ -99,6 +110,10 @@ Symfony\Component\VarDumper\Cloner\Data Object [handle] => %i [refCount] => 0 [position] => 2 + [attr] => Array + ( + ) + ) [\000+\0002] => Symfony\Component\VarDumper\Cloner\Stub Object @@ -110,6 +125,10 @@ Symfony\Component\VarDumper\Cloner\Data Object [handle] => %i [refCount] => 0 [position] => 3 + [attr] => Array + ( + ) + ) ) @@ -126,30 +145,112 @@ Symfony\Component\VarDumper\Cloner\Data Object ) + [position:Symfony\Component\VarDumper\Cloner\Data:private] => 0 + [key:Symfony\Component\VarDumper\Cloner\Data:private] => 0 [maxDepth:Symfony\Component\VarDumper\Cloner\Data:private] => 20 [maxItemsPerDepth:Symfony\Component\VarDumper\Cloner\Data:private] => -1 [useRefHandles:Symfony\Component\VarDumper\Cloner\Data:private] => -1 ) EOTXT; - $this->assertStringMatchesFormat($expected, print_r($clone, true)); + $this->assertStringMatchesFormat($expected, print_r($clone, true)); + } + + public function testJsonCast() + { + if (ini_get('xdebug.overload_var_dump') == 2) { + $this->markTestSkipped('xdebug is active'); + } + + $data = (array) json_decode('{"1":{}}'); + + $cloner = new VarCloner(); + $clone = $cloner->cloneVar($data); + + $expected = <<<'EOTXT' +object(Symfony\Component\VarDumper\Cloner\Data)#%i (6) { + ["data":"Symfony\Component\VarDumper\Cloner\Data":private]=> + array(2) { + [0]=> + array(1) { + [0]=> + object(Symfony\Component\VarDumper\Cloner\Stub)#%i (8) { + ["type"]=> + string(5) "array" + ["class"]=> + string(5) "assoc" + ["value"]=> + int(1) + ["cut"]=> + int(0) + ["handle"]=> + int(0) + ["refCount"]=> + int(0) + ["position"]=> + int(1) + ["attr"]=> + array(0) { + } + } } + [1]=> + array(1) { + ["1"]=> + object(Symfony\Component\VarDumper\Cloner\Stub)#%i (8) { + ["type"]=> + string(6) "object" + ["class"]=> + string(8) "stdClass" + ["value"]=> + NULL + ["cut"]=> + int(0) + ["handle"]=> + int(%i) + ["refCount"]=> + int(0) + ["position"]=> + int(0) + ["attr"]=> + array(0) { + } + } + } + } + ["position":"Symfony\Component\VarDumper\Cloner\Data":private]=> + int(0) + ["key":"Symfony\Component\VarDumper\Cloner\Data":private]=> + int(0) + ["maxDepth":"Symfony\Component\VarDumper\Cloner\Data":private]=> + int(20) + ["maxItemsPerDepth":"Symfony\Component\VarDumper\Cloner\Data":private]=> + int(-1) + ["useRefHandles":"Symfony\Component\VarDumper\Cloner\Data":private]=> + int(-1) +} - public function testCaster() - { - $cloner = new VarCloner(array( - '*' => function ($obj, $array) { - return array('foo' => 123); - }, - __CLASS__ => function ($obj, $array) { - ++$array['foo']; +EOTXT; + ob_start(); + var_dump($clone); + $this->assertStringMatchesFormat(\PHP_VERSION_ID >= 70200 ? str_replace('"1"', '1', $expected) : $expected, ob_get_clean()); + } - return $array; - }, - )); - $clone = $cloner->cloneVar($this); + public function testCaster() + { + $cloner = new VarCloner(array( + '*' => function ($obj, $array) { + return array('foo' => 123); + }, + __CLASS__ => function ($obj, $array) { + ++$array['foo']; - $expected = <<cloneVar($this); + + $expected = << Array @@ -165,6 +266,10 @@ Symfony\Component\VarDumper\Cloner\Data Object [handle] => %i [refCount] => 0 [position] => 1 + [attr] => Array + ( + ) + ) ) @@ -176,12 +281,14 @@ Symfony\Component\VarDumper\Cloner\Data Object ) + [position:Symfony\Component\VarDumper\Cloner\Data:private] => 0 + [key:Symfony\Component\VarDumper\Cloner\Data:private] => 0 [maxDepth:Symfony\Component\VarDumper\Cloner\Data:private] => 20 [maxItemsPerDepth:Symfony\Component\VarDumper\Cloner\Data:private] => -1 [useRefHandles:Symfony\Component\VarDumper\Cloner\Data:private] => -1 ) EOTXT; - $this->assertStringMatchesFormat($expected, print_r($clone, true)); - } + $this->assertStringMatchesFormat($expected, print_r($clone, true)); + } } diff --git a/htdocs/includes/symfony/var-dumper/composer.json b/htdocs/includes/symfony/var-dumper/composer.json index 05955f69430..44dbdebcce2 100644 --- a/htdocs/includes/symfony/var-dumper/composer.json +++ b/htdocs/includes/symfony/var-dumper/composer.json @@ -20,9 +20,14 @@ "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "twig/twig": "~1.20|~2.0" + "ext-iconv": "*", + "twig/twig": "~1.34|~2.4" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" }, "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", "ext-symfony_debug": "" }, "autoload": { @@ -35,7 +40,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.2-dev" } } } diff --git a/htdocs/includes/symfony/var-dumper/phpunit.xml.dist b/htdocs/includes/symfony/var-dumper/phpunit.xml.dist index bb16a3a4ec0..4a25f42db82 100644 --- a/htdocs/includes/symfony/var-dumper/phpunit.xml.dist +++ b/htdocs/includes/symfony/var-dumper/phpunit.xml.dist @@ -5,9 +5,13 @@ backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" + failOnRisky="true" + failOnWarning="true" > + + diff --git a/htdocs/includes/tcpdi/tcpdi.php b/htdocs/includes/tcpdi/tcpdi.php index f4c0bd00391..aaa1d70c095 100644 --- a/htdocs/includes/tcpdi/tcpdi.php +++ b/htdocs/includes/tcpdi/tcpdi.php @@ -483,7 +483,7 @@ class TCPDI extends FPDF_TPL { reset ($value[1]); - while (list($k, $v) = each($value[1])) { + foreach ($value[1] as $k => $v) { $this->_straightOut($k . ' '); $this->pdf_write_value($v); } diff --git a/htdocs/index.php b/htdocs/index.php index 7eaf517b321..8c1433c79cb 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2015 Marcos García + * Copyright (C) 2021 Frédéric France * * 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 @@ -101,7 +102,36 @@ if (!empty($conf->global->MAIN_MOTD)) { } } +/* + * Show security warnings + */ +// Security warning repertoire install existe (si utilisateur admin) +if ($user->admin && empty($conf->global->MAIN_REMOVE_INSTALL_WARNING)) { + $message = ''; + + // Check if install lock file is present + $lockfile = DOL_DATA_ROOT.'/install.lock'; + if (!empty($lockfile) && !file_exists($lockfile) && is_dir(DOL_DOCUMENT_ROOT."/install")) { + $langs->load("errors"); + //if (! empty($message)) $message.='
    '; + $message .= info_admin($langs->trans("WarningLockFileDoesNotExists", DOL_DATA_ROOT).' '.$langs->trans("WarningUntilDirRemoved", DOL_DOCUMENT_ROOT."/install"), 0, 0, '1', 'clearboth'); + } + + // Conf files must be in read only mode + if (is_writable($conffile)) { + $langs->load("errors"); + //$langs->load("other"); + //if (! empty($message)) $message.='
    '; + $message .= info_admin($langs->transnoentities("WarningConfFileMustBeReadOnly").' '.$langs->trans("WarningUntilDirRemoved", DOL_DOCUMENT_ROOT."/install"), 0, 0, '1', 'clearboth'); + } + + if ($message) { + print $message; + //$message.='
    '; + //print info_admin($langs->trans("WarningUntilDirRemoved",DOL_DOCUMENT_ROOT."/install")); + } +} /* * Dashboard Dolibarr states (statistics) @@ -126,28 +156,28 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { require_once DOL_DOCUMENT_ROOT.'/core/class/workboardresponse.class.php'; // Number of actions to do (late) - if (!empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read) { + if (!empty($conf->agenda->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_AGENDA) && $user->rights->agenda->myactions->read) { include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; $board = new ActionComm($db); $dashboardlines[$board->element] = $board->load_board($user); } // Number of project opened - if (!empty($conf->projet->enabled) && $user->rights->projet->lire) { + if (!empty($conf->projet->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_PROJECT) && $user->rights->projet->lire) { include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $board = new Project($db); $dashboardlines[$board->element] = $board->load_board($user); } // Number of tasks to do (late) - if (!empty($conf->projet->enabled) && empty($conf->global->PROJECT_HIDE_TASKS) && $user->rights->projet->lire) { + if (!empty($conf->projet->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_PROJECT) && empty($conf->global->PROJECT_HIDE_TASKS) && $user->rights->projet->lire) { include_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; $board = new Task($db); $dashboardlines[$board->element] = $board->load_board($user); } - // Number of commercial proposals open (expired) - if (!empty($conf->propal->enabled) && $user->rights->propale->lire) { + // Number of commercial customer proposals open (expired) + if (!empty($conf->propal->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_CUSTOMER) && $user->rights->propale->lire) { include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; $board = new Propal($db); $dashboardlines[$board->element.'_opened'] = $board->load_board($user, "opened"); @@ -155,8 +185,9 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { $dashboardlines[$board->element.'_signed'] = $board->load_board($user, "signed"); } - // Number of commercial proposals open (expired) - if (!empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposal->lire) { + // Number of supplier proposals open (expired) + if (!empty($conf->supplier_proposal->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_SUPPLIER) && $user->rights->supplier_proposal->lire) { + $langs->load("supplier_proposal"); include_once DOL_DOCUMENT_ROOT.'/supplier_proposal/class/supplier_proposal.class.php'; $board = new SupplierProposal($db); $dashboardlines[$board->element.'_opened'] = $board->load_board($user, "opened"); @@ -165,14 +196,14 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } // Number of customer orders a deal - if (!empty($conf->commande->enabled) && $user->rights->commande->lire) { + if (!empty($conf->commande->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_CUSTOMER) && $user->rights->commande->lire) { include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; $board = new Commande($db); $dashboardlines[$board->element] = $board->load_board($user); } // Number of suppliers orders a deal - if (!empty($conf->supplier_order->enabled) && $user->rights->fournisseur->commande->lire) { + if (!empty($conf->supplier_order->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_SUPPLIER) && $user->rights->fournisseur->commande->lire) { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; $board = new CommandeFournisseur($db); $dashboardlines[$board->element.'_opened'] = $board->load_board($user, "opened"); @@ -180,7 +211,7 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } // Number of contract / services enabled (delayed) - if (!empty($conf->contrat->enabled) && $user->rights->contrat->lire) { + if (!empty($conf->contrat->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_CONTRACT) && $user->rights->contrat->lire) { include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; $board = new Contrat($db); $dashboardlines[$board->element.'_inactive'] = $board->load_board($user, "inactive"); @@ -189,7 +220,7 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } // Number of tickets open - if (!empty($conf->ticket->enabled) && $user->rights->ticket->read) { + if (!empty($conf->ticket->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_TICKET) && $user->rights->ticket->read) { include_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; $board = new Ticket($db); $dashboardlines[$board->element.'_opened'] = $board->load_board($user, "opened"); @@ -198,21 +229,21 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } // Number of invoices customers (paid) - if (!empty($conf->facture->enabled) && $user->rights->facture->lire) { + if (!empty($conf->facture->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_CUSTOMER) && $user->rights->facture->lire) { include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $board = new Facture($db); $dashboardlines[$board->element] = $board->load_board($user); } // Number of supplier invoices (paid) - if (!empty($conf->supplier_invoice->enabled) && !empty($user->rights->fournisseur->facture->lire)) { + if (!empty($conf->supplier_invoice->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_SUPPLIER) && !empty($user->rights->fournisseur->facture->lire)) { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $board = new FactureFournisseur($db); $dashboardlines[$board->element] = $board->load_board($user); } // Number of transactions to conciliate - if (!empty($conf->banque->enabled) && $user->rights->banque->lire && !$user->socid) { + if (!empty($conf->banque->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_BANK) && $user->rights->banque->lire && !$user->socid) { include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $board = new Account($db); $nb = $board->countAccountToReconcile(); // Get nb of account to reconciliate @@ -222,14 +253,14 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } // Number of cheque to send - if (!empty($conf->banque->enabled) && $user->rights->banque->lire && !$user->socid && empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT)) { + if (!empty($conf->banque->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_BANK) && $user->rights->banque->lire && !$user->socid && empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT)) { include_once DOL_DOCUMENT_ROOT.'/compta/paiement/cheque/class/remisecheque.class.php'; $board = new RemiseCheque($db); $dashboardlines[$board->element] = $board->load_board($user); } // Number of foundation members - if (!empty($conf->adherent->enabled) && $user->rights->adherent->lire && !$user->socid) { + if (!empty($conf->adherent->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_ADHERENT) && $user->rights->adherent->lire && !$user->socid) { include_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $board = new Adherent($db); $dashboardlines[$board->element.'_shift'] = $board->load_board($user, 'shift'); @@ -237,21 +268,21 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } // Number of expense reports to approve - if (!empty($conf->expensereport->enabled) && $user->rights->expensereport->approve) { + if (!empty($conf->expensereport->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_EXPENSEREPORT) && $user->rights->expensereport->approve) { include_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; $board = new ExpenseReport($db); $dashboardlines[$board->element.'_toapprove'] = $board->load_board($user, 'toapprove'); } // Number of expense reports to pay - if (!empty($conf->expensereport->enabled) && $user->rights->expensereport->to_paid) { + if (!empty($conf->expensereport->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_EXPENSEREPORT) && $user->rights->expensereport->to_paid) { include_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; $board = new ExpenseReport($db); $dashboardlines[$board->element.'_topay'] = $board->load_board($user, 'topay'); } // Number of holidays to approve - if (!empty($conf->holiday->enabled) && $user->rights->holiday->approve) { + if (!empty($conf->holiday->enabled) && empty($conf->global->MAIN_DISABLE_BLOCK_HOLIDAY) && $user->rights->holiday->approve) { include_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php'; $board = new Holiday($db); $dashboardlines[$board->element] = $board->load_board($user); @@ -306,6 +337,7 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { ), 'supplier_proposal' => array( + 'lang' => 'supplier_proposal', 'groupName' => 'SupplierProposals', 'globalStatsKey' => 'askprice', 'stats' => @@ -455,6 +487,9 @@ if (empty($conf->global->MAIN_DISABLE_GLOBAL_WORKBOARD)) { } if (!empty($boards)) { + if (!empty($groupElement['lang'])) { + $langs->load($groupElement['lang']); + } $groupName = $langs->trans($groupElement['groupName']); $groupKeyLowerCase = strtolower($groupKey); $nbTotalForGroup = 0; @@ -722,38 +757,6 @@ print $boxlist; print '
    '; - -/* - * Show security warnings - */ - -// Security warning repertoire install existe (si utilisateur admin) -if ($user->admin && empty($conf->global->MAIN_REMOVE_INSTALL_WARNING)) { - $message = ''; - - // Check if install lock file is present - $lockfile = DOL_DATA_ROOT.'/install.lock'; - if (!empty($lockfile) && !file_exists($lockfile) && is_dir(DOL_DOCUMENT_ROOT."/install")) { - $langs->load("errors"); - //if (! empty($message)) $message.='
    '; - $message .= info_admin($langs->trans("WarningLockFileDoesNotExists", DOL_DATA_ROOT).' '.$langs->trans("WarningUntilDirRemoved", DOL_DOCUMENT_ROOT."/install"), 0, 0, '1', 'clearboth'); - } - - // Conf files must be in read only mode - if (is_writable($conffile)) { - $langs->load("errors"); - //$langs->load("other"); - //if (! empty($message)) $message.='
    '; - $message .= info_admin($langs->transnoentities("WarningConfFileMustBeReadOnly").' '.$langs->trans("WarningUntilDirRemoved", DOL_DOCUMENT_ROOT."/install"), 0, 0, '1', 'clearboth'); - } - - if ($message) { - print $message; - //$message.='
    '; - //print info_admin($langs->trans("WarningUntilDirRemoved",DOL_DOCUMENT_ROOT."/install")); - } -} - //print 'mem='.memory_get_usage().' - '.memory_get_peak_usage(); // End of page diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 35efe1f36b2..c138dc42fdb 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -26,6 +26,7 @@ * \ingroup install * \brief Test if file conf can be modified and if does not exists, test if install process can create it */ + include_once 'inc.php'; global $langs; @@ -74,7 +75,7 @@ if (!empty($useragent)) { $browserversion = $tmp['browserversion']; $browsername = $tmp['browsername']; if ($browsername == 'ie' && $browserversion < 7) { - print 'Error '.$langs->trans("WarningBrowserTooOld")."
    \n"; + print 'Error '.$langs->trans("WarningBrowserTooOld")."
    \n"; } } @@ -83,13 +84,13 @@ if (!empty($useragent)) { $arrayphpminversionerror = array(5, 5, 0); $arrayphpminversionwarning = array(5, 6, 0); if (versioncompare(versionphparray(), $arrayphpminversionerror) < 0) { // Minimum to use (error if lower) - print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror)); + print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror)); $checksok = 0; // 0=error, 1=warning } elseif (versioncompare(versionphparray(), $arrayphpminversionwarning) < 0) { // Minimum supported (warning if lower) - print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionwarning)); + print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionwarning)); $checksok = 0; // 0=error, 1=warning } else { - print 'Ok '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray()); + print 'Ok '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray()); } if (empty($force_install_nophpinfo)) { print ' ('.$langs->trans("MoreInformation").')'; @@ -99,58 +100,58 @@ print "
    \n"; // Check PHP support for $_GET and $_POST if (!isset($_GET["testget"]) && !isset($_POST["testpost"])) { // We must keep $_GET and $_POST here - print 'Warning '.$langs->trans("PHPSupportPOSTGETKo"); - print ' ('.$langs->trans("Recheck").')'; + print 'Warning '.$langs->trans("PHPSupportPOSTGETKo"); + print ' ('.$langs->trans("Recheck").')'; print "
    \n"; $checksok = 0; } else { - print 'Ok '.$langs->trans("PHPSupportPOSTGETOk")."
    \n"; + print 'Ok '.$langs->trans("PHPSupportPOSTGETOk")."
    \n"; } // Check if session_id is enabled if (!function_exists("session_id")) { - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportSessions")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportSessions")."
    \n"; $checksok = 0; } else { - print 'Ok '.$langs->trans("PHPSupportSessions")."
    \n"; + print 'Ok '.$langs->trans("PHPSupportSessions")."
    \n"; } // Check if GD is supported (we need GD for image conversion) if (!function_exists("imagecreate")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportGD")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportGD")."
    \n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "GD")."
    \n"; + print 'Ok '.$langs->trans("PHPSupport", "GD")."
    \n"; } // Check if Curl is supported if (!function_exists("curl_init")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCurl")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCurl")."
    \n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "Curl")."
    \n"; + print 'Ok '.$langs->trans("PHPSupport", "Curl")."
    \n"; } // Check if PHP calendar extension is available if (!function_exists("easter_date")) { - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCalendar")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCalendar")."
    \n"; } else { - print 'Ok '.$langs->trans("PHPSupport", "Calendar")."
    \n"; + print 'Ok '.$langs->trans("PHPSupport", "Calendar")."
    \n"; } // Check if UTF8 is supported if (!function_exists("utf8_encode")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportUTF8")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportUTF8")."
    \n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "UTF8")."
    \n"; + print 'Ok '.$langs->trans("PHPSupport", "UTF8")."
    \n"; } @@ -158,19 +159,19 @@ if (!function_exists("utf8_encode")) { if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@localhost') { if (!function_exists("locale_get_primary_language") || !function_exists("locale_get_region")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportIntl")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportIntl")."
    \n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "Intl")."
    \n"; + print 'Ok '.$langs->trans("PHPSupport", "Intl")."
    \n"; } } if (!class_exists('ZipArchive')) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupport", "ZIP")."
    \n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupport", "ZIP")."
    \n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "ZIP")."
    \n"; + print 'Ok '.$langs->trans("PHPSupport", "ZIP")."
    \n"; } // Check memory @@ -192,9 +193,9 @@ if ($memmaxorig != '') { } } if ($memmax >= $memrequired || $memmax == -1) { - print 'Ok '.$langs->trans("PHPMemoryOK", $memmaxorig, $memrequiredorig)."
    \n"; + print 'Ok '.$langs->trans("PHPMemoryOK", $memmaxorig, $memrequiredorig)."
    \n"; } else { - print 'Warning '.$langs->trans("PHPMemoryTooLow", $memmaxorig, $memrequiredorig)."
    \n"; + print 'Warning '.$langs->trans("PHPMemoryTooLow", $memmaxorig, $memrequiredorig)."
    \n"; } } @@ -244,12 +245,12 @@ if (is_readable($conffile) && filesize($conffile) > 8) { // File is missing and cannot be created if (!file_exists($conffile)) { - print 'Error '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated", $conffiletoshow); - print "

    "; + print 'Error '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated", $conffiletoshow); + print '

    '; print $langs->trans("YouMustCreateWithPermission", $conffiletoshow); - print "

    "; + print '


    '."\n"; - print $langs->trans("CorrectProblemAndReloadPage", $_SERVER['PHP_SELF'].'?testget=ok'); + print ''.$langs->trans("CorrectProblemAndReloadPage", $_SERVER['PHP_SELF'].'?testget=ok').''; $err++; } else { if (dol_is_dir($conffile)) { @@ -380,7 +381,7 @@ if (!file_exists($conffile)) { $choice .= '
    '; //print $langs->trans("InstallChoiceRecommanded",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE); $choice .= '
    '.$langs->trans("InstallChoiceSuggested").'
    '; - // Ok '; + // Ok '; } $choice .= ''; @@ -411,26 +412,28 @@ if (!file_exists($conffile)) { if (GETPOST('allowupgrade')) { $allowupgrade = true; } - $migrationscript = array(array('from'=>'3.0.0', 'to'=>'3.1.0'), - array('from'=>'3.1.0', 'to'=>'3.2.0'), - array('from'=>'3.2.0', 'to'=>'3.3.0'), - array('from'=>'3.3.0', 'to'=>'3.4.0'), - array('from'=>'3.4.0', 'to'=>'3.5.0'), - array('from'=>'3.5.0', 'to'=>'3.6.0'), - array('from'=>'3.6.0', 'to'=>'3.7.0'), - array('from'=>'3.7.0', 'to'=>'3.8.0'), - array('from'=>'3.8.0', 'to'=>'3.9.0'), - array('from'=>'3.9.0', 'to'=>'4.0.0'), - array('from'=>'4.0.0', 'to'=>'5.0.0'), - array('from'=>'5.0.0', 'to'=>'6.0.0'), - array('from'=>'6.0.0', 'to'=>'7.0.0'), - array('from'=>'7.0.0', 'to'=>'8.0.0'), - array('from'=>'8.0.0', 'to'=>'9.0.0'), - array('from'=>'9.0.0', 'to'=>'10.0.0'), - array('from'=>'10.0.0', 'to'=>'11.0.0'), - array('from'=>'11.0.0', 'to'=>'12.0.0'), - array('from'=>'12.0.0', 'to'=>'13.0.0'), - array('from'=>'13.0.0', 'to'=>'14.0.0') + $migrationscript = array( + array('from'=>'3.0.0', 'to'=>'3.1.0'), + array('from'=>'3.1.0', 'to'=>'3.2.0'), + array('from'=>'3.2.0', 'to'=>'3.3.0'), + array('from'=>'3.3.0', 'to'=>'3.4.0'), + array('from'=>'3.4.0', 'to'=>'3.5.0'), + array('from'=>'3.5.0', 'to'=>'3.6.0'), + array('from'=>'3.6.0', 'to'=>'3.7.0'), + array('from'=>'3.7.0', 'to'=>'3.8.0'), + array('from'=>'3.8.0', 'to'=>'3.9.0'), + array('from'=>'3.9.0', 'to'=>'4.0.0'), + array('from'=>'4.0.0', 'to'=>'5.0.0'), + array('from'=>'5.0.0', 'to'=>'6.0.0'), + array('from'=>'6.0.0', 'to'=>'7.0.0'), + array('from'=>'7.0.0', 'to'=>'8.0.0'), + array('from'=>'8.0.0', 'to'=>'9.0.0'), + array('from'=>'9.0.0', 'to'=>'10.0.0'), + array('from'=>'10.0.0', 'to'=>'11.0.0'), + array('from'=>'11.0.0', 'to'=>'12.0.0'), + array('from'=>'12.0.0', 'to'=>'13.0.0'), + array('from'=>'13.0.0', 'to'=>'14.0.0'), + array('from'=>'14.0.0', 'to'=>'15.0.0'), ); $count = 0; diff --git a/htdocs/install/default.css b/htdocs/install/default.css index fe85649844d..da5a19a63dc 100644 --- a/htdocs/install/default.css +++ b/htdocs/install/default.css @@ -16,10 +16,22 @@ */ +.center { + text-align: center; +} + +.centpercent { + width: 100%; +} + .paddingright { padding-right: 4px; } +.valignmiddle { + vertical-align: middle; +} + .opacitymedium { opacity: 0.5; } @@ -28,6 +40,10 @@ display: inline-block; } +.small { + font-size: 0.9em; +} + body { font-size:14px; font-family: roboto,arial,tahoma,verdana,helvetica; @@ -36,17 +52,19 @@ body { } table.main-inside { - padding-left: 10px; - padding-right: 10px; + /*padding-left: 10px; + padding-right: 10px;*/ padding-bottom: 10px; margin-bottom: 10px; margin-top: 10px; color: #000000; border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; line-height: 22px; } - +table.main-inside-borderbottom { + border-bottom: 1px solid #ccc; +} + table.main { padding-left: 6px; padding-right: 6px; @@ -80,6 +98,10 @@ div.soustitre { text-align: right; } +.wordbreak { + word-break: break-word; +} + .minwidth100 { min-width: 100px; } .minwidth200 { min-width: 200px; } .minwidth300 { min-width: 300px; } @@ -391,7 +413,7 @@ a.button:hover { /* background-color: rgba(70, 3, 62, 0.3); */ padding: 2px 4px; border-radius: 4px; - white-space: nowrap; + /* white-space: nowrap; */ } .choiceselected { background-color: #f4f6f4; @@ -411,3 +433,47 @@ a.button:hover { vertical-align: text-bottom; } +.text-security { + -webkit-text-security: disc; +} + + + +/* For support section */ + +.tablesupport { + padding: 6px; + width: 500px; +} + +table.login.tablesupport .title { + background: #eee !important; +} + +.blocksupport { + padding: 12px; + /* width: 90%; */ +} + +table.tablesupport { + min-height: 250px; + border: 1px solid #E0E0E0; + background: #FFF; +} + + +/* Force values for small screen 570 */ +@media only screen and (max-width: 570px) +{ + .blocksupport { + width: calc(100% - 4px); + padding: 4px; + } + + .tablesupport { + padding: 6px; + width: 100%; + } +} + +} diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php index 42c8d3459fe..42ea5e423af 100644 --- a/htdocs/install/fileconf.php +++ b/htdocs/install/fileconf.php @@ -476,13 +476,13 @@ if (!empty($force_install_noedit)) { - 0 && !empty($force_install_databaserootlogin)) { print ' disabled'; } ?> @@ -556,10 +556,10 @@ if (!empty($force_install_noedit)) { autocomplete="off" id="db_pass_root" name="db_pass_root" - class="needroot" + class="needroot text-security" value="query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -87,8 +87,8 @@ function checkLinkedElements($sourcetype, $targettype) $out = $langs->trans('SourceType').': '.$sourcetype.' => '.$langs->trans('TargetType').': '.$targettype.' '; - $sql = 'SELECT rowid, fk_source, fk_target FROM '.MAIN_DB_PREFIX.'element_element'; - $sql .= ' WHERE sourcetype="'.$sourcetype.'" AND targettype="'.$targettype.'"'; + $sql = "SELECT rowid, fk_source, fk_target FROM ".MAIN_DB_PREFIX."element_element"; + $sql .= " WHERE sourcetype = '".$db->escape($sourcetype)."' AND targettype = '".$db->escape($targettype)."'"; $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -106,7 +106,7 @@ function checkLinkedElements($sourcetype, $targettype) foreach ($elements as $key => $element) { if (!checkElementExist($element[$sourcetype], $sourcetable) || !checkElementExist($element[$targettype], $targettable)) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'element_element'; - $sql .= ' WHERE rowid = '.((int) $key); + $sql .= " WHERE rowid = ".((int) $key); $resql = $db->query($sql); $deleted++; } diff --git a/htdocs/install/mysql/data/llx_00_c_country.sql b/htdocs/install/mysql/data/llx_00_c_country.sql index ac8eba73a28..7217fda7d09 100644 --- a/htdocs/install/mysql/data/llx_00_c_country.sql +++ b/htdocs/install/mysql/data/llx_00_c_country.sql @@ -57,19 +57,19 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (25 INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (26,'SA','SAU','Saudi Arabia',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (27,'MC','MCO','Monaco',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (28,'AU','AUS','Australia',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (29,'SG','SGP','Singapour',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (29,'SG','SGP','Singapore',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (30,'AF','AFG','Afghanistan',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (31,'AX','ALA','Iles Aland',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (31,'AX','ALA','Åland Island',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (32,'AL','ALB','Albania',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (33,'AS','ASM','Samoa américaines',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (33,'AS','ASM','American Samoa',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (34,'AD','AND','Andorra',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (35,'AO','AGO','Angola',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (36,'AI','AIA','Anguilla',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (37,'AQ','ATA','Antarctique',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (38,'AG','ATG','Antigua-et-Barbuda',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (37,'AQ','ATA','Antarctica',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (38,'AG','ATG','Antigua and Barbuda',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (39,'AM','ARM','Armenia',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (41,'AT','AUT','Austria',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (42,'AZ','AZE','Azerbaïdjan',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (42,'AZ','AZE','Azerbaijan',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (43,'BS','BHS','Bahamas',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (44,'BH','BHR','Bahreïn',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (45,'BD','BGD','Bangladesh',1,0); @@ -279,5 +279,5 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (24 -- Set field eec -UPDATE llx_c_country SET eec = 1 WHERE code IN ('AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR','GR','HR','NL','HU','IE','IM','IT','LT','LU','LV','MC','MT','PL','PT','RO','SE','SK','SI'); +UPDATE llx_c_country SET eec = 1 WHERE code IN ('AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR','GR','HR','NL','HU','IE','IT','LT','LU','LV','MC','MT','PL','PT','RO','SE','SK','SI'); diff --git a/htdocs/install/mysql/data/llx_20_c_departements.sql b/htdocs/install/mysql/data/llx_20_c_departements.sql index 27a9f8dd1f5..fecaf87befe 100644 --- a/htdocs/install/mysql/data/llx_20_c_departements.sql +++ b/htdocs/install/mysql/data/llx_20_c_departements.sql @@ -766,16 +766,16 @@ INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc -- Panama - 10 Provinces (id country=178) -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-1', 17801, '', 0, '', 'Bocas del Toro'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-2', 17801, '', 0, '', 'Coclé'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-3', 17801, '', 0, '', 'Colón'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-4', 17801, '', 0, '', 'Chiriquí'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-5', 17801, '', 0, '', 'Darién'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-6', 17801, '', 0, '', 'Herrera'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-7', 17801, '', 0, '', 'Los Santos'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-8', 17801, '', 0, '', 'Panamá'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-9', 17801, '', 0, '', 'Veraguas'); -INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom) VALUES ('PA-13', 17801, '', 0, '', 'Panamá Oeste'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-1', '', 0, '', 'Bocas del Toro'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-2', '', 0, '', 'Coclé'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-3', '', 0, '', 'Colón'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-4', '', 0, '', 'Chiriquí'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-5', '', 0, '', 'Darién'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-6', '', 0, '', 'Herrera'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-7', '', 0, '', 'Los Santos'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-8', '', 0, '', 'Panamá'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-9', '', 0, '', 'Veraguas'); +INSERT INTO llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) VALUES (17801, 'PA-13', '', 0, '', 'Panamá Oeste'); -- Provinces Peru (id country=181) diff --git a/htdocs/install/mysql/data/llx_c_action_trigger.sql b/htdocs/install/mysql/data/llx_c_action_trigger.sql index 45503449492..12eb3d7e6b3 100644 --- a/htdocs/install/mysql/data/llx_c_action_trigger.sql +++ b/htdocs/install/mysql/data/llx_c_action_trigger.sql @@ -67,6 +67,7 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_SUBMIT','Supplier order request submited','Executed when a supplier order is approved','order_supplier',13); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_RECEIVE','Supplier order request received','Executed when a supplier order is received','order_supplier',13); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_REFUSE','Supplier order request refused','Executed when a supplier order is refused','order_supplier',13); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_CANCEL','Supplier order request canceled','Executed when a supplier order is canceled','order_supplier',13); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',14); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_CLASSIFY_BILLED','Supplier order set billed','Executed when a supplier order is set as billed','order_supplier',14); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_DELETE','Supplier order deleted','Executed when a supplier order is deleted','order_supplier',14); @@ -91,6 +92,7 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_SUBSCRIPTION_DELETE','Member subscribtion deleted','Executed when a member subscribtion is deleted','member',24); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',25); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',26); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_EXCLUDE','Member excluded','Executed when a member is excluded','member',27); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',30); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_CLASSIFY_BILLED','Intervention set billed','Executed when a intervention is set to billed (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',32); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_CLASSIFY_UNBILLED','Intervention set unbilled','Executed when a intervention is set to unbilled (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',33); diff --git a/htdocs/install/mysql/data/llx_c_actioncomm.sql b/htdocs/install/mysql/data/llx_c_actioncomm.sql index 47197af644d..38f09ba23d0 100644 --- a/htdocs/install/mysql/data/llx_c_actioncomm.sql +++ b/htdocs/install/mysql/data/llx_c_actioncomm.sql @@ -5,6 +5,8 @@ -- Copyright (C) 2004 Guillaume Delecourt -- Copyright (C) 2005-2011 Regis Houssin -- Copyright (C) 2007 Patrick Raguin +-- Copyright (C) 2021 Udo Tamm +-- -- -- 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 @@ -21,6 +23,9 @@ -- -- +-- +-- Do not put a comment at the end of the line, this file is parsed during the +-- install and all '--' symbols are removed. -- -- Ne pas placer de commentaire en fin de ligne, ce fichier est parsé lors -- de l'install et tous les sigles '--' sont supprimés. @@ -31,25 +36,29 @@ -- delete from llx_c_actioncomm where id in (1,2,3,4,5,6,8,9,10,11,30,31,40,50); --- Code used from 3.3+ when type of event is used -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 1,'AC_TEL','system','Phone call',NULL, 1, 2); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 2,'AC_FAX','system','Send Fax',NULL, 1, 3); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 4,'AC_EMAIL','system','Send Email',NULL, 1, 4); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 5,'AC_RDV','system','Rendez-vous',NULL, 1, 1); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 6,'AC_EMAIL_IN','system','reception Email',NULL, 1, 4); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values (11,'AC_INT','system','Intervention on site',NULL, 1, 4); --- Code kept for backward compatibility < 3.3 ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 3,'AC_PROP','systemauto', 'Send commercial proposal by email','propal',0,10); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 8,'AC_COM','systemauto','Send customer order by email','order', 0,8); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 9,'AC_FAC','systemauto', 'Send customer invoice by email','invoice',0,6); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 10,'AC_SHIP','systemauto', 'Send shipping by email','shipping',0,11); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 30,'AC_SUP_ORD','systemauto','Send supplier order by email','order_supplier',0,9); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 31,'AC_SUP_INV','systemauto','Send supplier invoice by email','invoice_supplier',0,7); --- Code used from 3.3+ when type of event is not used -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 40,'AC_OTH_AUTO','systemauto','Other (automatically inserted events)',NULL, 1, 20); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 50,'AC_OTH','system','Other (manually inserted events)',NULL, 1, 5); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 60,'AC_EO_ONLINECONF','module','Online/Virtual conference','conference@eventorganization', 1, 60); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 61,'AC_EO_INDOORCONF','module','Indoor conference','conference@eventorganization', 1, 61); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 62,'AC_EO_ONLINEBOOTH','module','Online/Virtual booth','booth@eventorganization', 1, 62); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 63,'AC_EO_INDOORBOOTH','module','Indoor booth','booth@eventorganization', 1, 63); +-- Code used from 3.3+ when type of event is used +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 1, 'AC_TEL', 'Phone call', 'system', NULL, 1, 2); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 2, 'AC_FAX', 'Send Fax', 'system', NULL, 1, 3); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 4, 'AC_EMAIL', 'Send Email', 'system', NULL, 1, 4); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 5, 'AC_RDV', 'Rendez-vous', 'system', NULL, 1, 1); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 6, 'AC_EMAIL_IN', 'reception Email', 'system', NULL, 1, 4); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 11, 'AC_INT', 'Intervention on site', 'system', NULL, 1, 4); + +-- Code kept for backward compatibility < 3.3 +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 3, 'AC_PROP', 'Send commercial proposal by email', 'systemauto', 'propal', 0, 10); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 8, 'AC_COM', 'Send customer order by email', 'systemauto', 'order', 0, 8); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 9, 'AC_FAC', 'Send customer invoice by email', 'systemauto', 'invoice', 0, 6); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 10, 'AC_SHIP', 'Send shipping by email', 'systemauto', 'shipping', 0, 11); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 30, 'AC_SUP_ORD', 'Send supplier order by email', 'systemauto', 'order_supplier', 0, 9); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 31, 'AC_SUP_INV', 'Send supplier invoice by email', 'systemauto', 'invoice_supplier', 0, 7); + +-- Code used from 3.3+ when type of event is not used + +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 40, 'AC_OTH_AUTO', 'Other (automatically inserted events)', 'systemauto', NULL, 1, 20); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 50, 'AC_OTH', 'Other (manually inserted events)', 'systemauto', NULL, 1, 5); + +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 60, 'AC_EO_ONLINECONF', 'Online/Virtual conference', 'module', 'conference@eventorganization', 1, 60); +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 61, 'AC_EO_INDOORCONF', 'Indoor conference', 'module', 'conference@eventorganization', 1, 61); +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 62, 'AC_EO_ONLINEBOOTH', 'Online/Virtual booth', 'module', 'booth@eventorganization', 1, 62); +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 63, 'AC_EO_INDOORBOOTH', 'Indoor booth', 'module', 'booth@eventorganization', 1, 63); diff --git a/htdocs/install/mysql/data/llx_c_currencies.sql b/htdocs/install/mysql/data/llx_c_currencies.sql index 478c263af4c..df887d68be7 100644 --- a/htdocs/install/mysql/data/llx_c_currencies.sql +++ b/htdocs/install/mysql/data/llx_c_currencies.sql @@ -7,6 +7,7 @@ -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011 Juanjo Menent -- Copyright (C) 2020 Udo Tamm +-- Copyright (C) 2021 Lenin Rivas -- -- 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 @@ -50,7 +51,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BDT' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BYR', '[112,46]', 1, 'Belarus Ruble'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BZD', '[66,90,36]', 1, 'Belize Dollar'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BMD', '[36]', 1, 'Bermuda Dollar'); -INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BOB', '[36,98]', 1, 'Bolivia Boliviano'); +INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BOB', '[66,115]', 1, 'Bolivia Boliviano'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BAM', '[75,77]', 1, 'Bosnia and Herzegovina Convertible Marka'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BWP', '[80]', 1, 'Botswana Pula'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BGN', '[1083,1074]', 1, 'Bulgaria Lev'); @@ -70,6 +71,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CZK' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DKK', '[107,114]', 1, 'Denmark Krone'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DOP', '[82,68,36]', 1, 'Dominican Republic Peso'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XCD', '[36]', 1, 'East Caribbean Dollar'); +INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ECS', '[83,47,46]', 1, 'Ecuador Sucre'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EGP', '[163]', 1, 'Egypt Pound'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SVC', '[36]', 1, 'El Salvador Colon'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EEK', '[107,114]', 1, 'Estonia Kroon'); @@ -126,7 +128,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'OMR' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PKR', '[8360]', 1, 'Pakistan Rupee'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PAB', '[66,47,46]', 1, 'Panama Balboa'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PYG', '[71,115]', 1, 'Paraguay Guarani'); -INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PEN', '[83,47,46]', 1, 'Peru Nuevo Sol'); +INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PEN', '[83,47]', 1, 'Perú Sol'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PHP', '[8369]', 1, 'Philippines Peso'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PLN', '[122,322]', 1, 'Poland Zloty'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'QAR', '[65020]', 1, 'Qatar Riyal'); diff --git a/htdocs/install/mysql/data/llx_c_email_templates.sql b/htdocs/install/mysql/data/llx_c_email_templates.sql index acc09bad008..bce46a70e49 100644 --- a/htdocs/install/mysql/data/llx_c_email_templates.sql +++ b/htdocs/install/mysql/data/llx_c_email_templates.sql @@ -21,23 +21,30 @@ -- -- Bank Thirdparty -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines) VALUES (0,'banque','thirdparty','',0,null,null,'(YourSEPAMandate)',1,'$conf->societe->enabled && $conf->banque->enabled && $conf->prelevement->enabled',0,'__(YourSEPAMandate)__','__(Hello)__,

    \n\n__(FindYourSEPAMandate)__ :
    \n__MYCOMPANY_NAME__
    \n__MYCOMPANY_FULLADDRESS__

    \n__(Sincerely)__
    \n__USER_SIGNATURE__',null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'banque','thirdparty','',0,null,null,'(YourSEPAMandate)',1,'$conf->societe->enabled && $conf->banque->enabled && $conf->prelevement->enabled',0,'__(YourSEPAMandate)__','__(Hello)__,

    \n\n__(FindYourSEPAMandate)__ :
    \n__MYCOMPANY_NAME__
    \n__MYCOMPANY_FULLADDRESS__

    \n__(Sincerely)__
    \n__USER_SIGNATURE__',null, 0); -- Members -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnAutoSubscription)' ,10,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipRequestWasReceived)__','__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfYourMembershipRequestWasReceived)__
    \n
    __ONLINE_PAYMENT_TEXT_AND_URL__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnMemberValidation)' ,20,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasValidated)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfYourMembershipWasValidated)__
    __(FirstName)__ : __MEMBER_FIRSTNAME__
    __(LastName)__ : __MEMBER_LASTNAME__
    __(ID)__ : __MEMBER_ID__
    \n
    __ONLINE_PAYMENT_TEXT_AND_URL__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnNewSubscription)' ,30,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__
    \n\n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 1); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingReminderForExpiredSubscription)',40,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfSubscriptionReminderEmail)__
    \n
    __ONLINE_PAYMENT_TEXT_AND_URL__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnCancelation)' ,50,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(YourMembershipWasCanceled)__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingAnEMailToMember)' ,60,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(CardContent)__', '__(Hello)__,

    \n\n__(ThisIsContentOfYourCard)__
    \n__(ID)__ : __ID__
    \n__(Civiliyty)__ : __MEMBER_CIVILITY__
    \n__(Firstname)__ : __MEMBER_FIRSTNAME__
    \n__(Lastname)__ : __MEMBER_LASTNAME__
    \n__(Fullname)__ : __MEMBER_FULLNAME__
    \n__(Company)__ : __MEMBER_COMPANY__
    \n__(Address)__ : __MEMBER_ADDRESS__
    \n__(Zip)__ : __MEMBER_ZIP__
    \n__(Town)__ : __MEMBER_TOWN__
    \n__(Country)__ : __MEMBER_COUNTRY__
    \n__(Email)__ : __MEMBER_EMAIL__
    \n__(Birthday)__ : __MEMBER_BIRTH__
    \n__(Photo)__ : __MEMBER_PHOTO__
    \n__(Login)__ : __MEMBER_LOGIN__
    \n__(Password)__ : __MEMBER_PASSWORD__
    \n__(Phone)__ : __MEMBER_PHONE__
    \n__(PhonePerso)__ : __MEMBER_PHONEPRO__
    \n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnAutoSubscription)' ,10,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipRequestWasReceived)__','__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfYourMembershipRequestWasReceived)__
    \n
    __ONLINE_PAYMENT_TEXT_AND_URL__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnMemberValidation)' ,20,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasValidated)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfYourMembershipWasValidated)__
    __(FirstName)__ : __MEMBER_FIRSTNAME__
    __(LastName)__ : __MEMBER_LASTNAME__
    __(ID)__ : __MEMBER_ID__
    \n
    __ONLINE_PAYMENT_TEXT_AND_URL__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnNewSubscription)' ,30,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__
    \n\n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 1); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingReminderForExpiredSubscription)',40,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(ThisIsContentOfSubscriptionReminderEmail)__
    \n
    __ONLINE_PAYMENT_TEXT_AND_URL__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingEmailOnCancelation)' ,50,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__', '__(Hello)__ __MEMBER_FULLNAME__,

    \n\n__(YourMembershipWasCanceled)__
    \n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'adherent','member','',0,null,null,'(SendingAnEMailToMember)' ,60,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(CardContent)__', '__(Hello)__,

    \n\n__(ThisIsContentOfYourCard)__
    \n__(ID)__ : __ID__
    \n__(Civility)__ : __MEMBER_CIVILITY__
    \n__(Firstname)__ : __MEMBER_FIRSTNAME__
    \n__(Lastname)__ : __MEMBER_LASTNAME__
    \n__(Fullname)__ : __MEMBER_FULLNAME__
    \n__(Company)__ : __MEMBER_COMPANY__
    \n__(Address)__ : __MEMBER_ADDRESS__
    \n__(Zip)__ : __MEMBER_ZIP__
    \n__(Town)__ : __MEMBER_TOWN__
    \n__(Country)__ : __MEMBER_COUNTRY__
    \n__(Email)__ : __MEMBER_EMAIL__
    \n__(Birthday)__ : __MEMBER_BIRTH__
    \n__(Photo)__ : __MEMBER_PHOTO__
    \n__(Login)__ : __MEMBER_LOGIN__
    \n__(Phone)__ : __MEMBER_PHONE__
    \n__(PhonePerso)__ : __MEMBER_PHONEPRO__
    \n__(PhoneMobile)__ : __MEMBER_PHONEMOBILE__

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); -- Recruiting -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0,'recruitment','recruitmentcandidature_send','',0,null,null,'(AnswerCandidature)' ,100,'$conf->recruitment->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourCandidature)__', '__(Hello)__ __CANDIDATE_FULLNAME__,

    \n\n__(YourCandidatureAnswerMessage)__
    __ONLINE_INTERVIEW_SCHEDULER_TEXT_AND_URL__\n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines, joinfiles) VALUES (0, 'recruitment','recruitmentcandidature_send','',0,null,null,'(AnswerCandidature)' ,100,'$conf->recruitment->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourCandidature)__', '__(Hello)__ __CANDIDATE_FULLNAME__,

    \n\n__(YourCandidatureAnswerMessage)__
    __ONLINE_INTERVIEW_SCHEDULER_TEXT_AND_URL__\n

    \n__(Sincerely)__
    __USER_SIGNATURE__',null, 0); -- Event organization -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, 'EventOrganizationEmailAskConf', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

    __ONLINE_PAYMENT_TEXT_AND_URL__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, 'EventOrganizationEmailAskBooth', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

    __ONLINE_PAYMENT_TEXT_AND_URL__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, 'EventOrganizationEmailSubsBooth', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

    __ONLINE_PAYMENT_TEXT_AND_URL__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, 'EventOrganizationEmailSubsEvent', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsEvent)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

    __(Sincerely)__

    __MYCOMPANY_NAME__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, 'EventOrganizationMassEmailAttendees', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, 'EventOrganizationMassEmailSpeakers', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskConf)', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__,

    __(OrganizationEventConfRequestWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskBooth)', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__,

    __(OrganizationEventBoothRequestWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +-- TODO Add message for registration only to event __ONLINE_PAYMENT_TEXT_AND_URL__ +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsBooth)', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailBoothPayment)__', '__(Hello)__,

    __(OrganizationEventPaymentOfBoothWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsEvent)', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailRegistrationPayment)__', '__(Hello)__,

    __(OrganizationEventPaymentOfRegistrationWasReceived)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailAttendees)', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__,

    __(OrganizationEventBulkMailToAttendees)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailSpeakers)', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__,

    __(OrganizationEventBulkMailToSpeakers)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); + +-- Partnership +INSERT INTO llx_c_email_templates (entity, module, type_template, label, lang, position, topic, joinfiles, content) VALUES (0, 'partnership', 'partnership_send', '(SendingEmailOnPartnershipWillSoonBeCanceled)', '', 100, '[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipWillSoonBeCanceledTopic)__', 0, '\n

    __(Hello)__,

    \n__(YourPartnershipWillSoonBeCanceledContent)__

    \n
    \n\n
    \n\n __(Sincerely)__
    \n __[MAIN_INFO_SOCIETE_NOM]__
    \n \n'); +INSERT INTO llx_c_email_templates (entity, module, type_template, label, lang, position, topic, joinfiles, content) VALUES (0, 'partnership', 'partnership_send', '(SendingEmailOnPartnershipCanceled)', '', 100, '[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipCanceledTopic)__', 0, '\n

    __(Hello)__,

    \n__(YourPartnershipCanceledContent)__

    \n
    \n\n
    \n\n __(Sincerely)__
    \n __[MAIN_INFO_SOCIETE_NOM]__
    \n \n'); +INSERT INTO llx_c_email_templates (entity, module, type_template, label, lang, position, topic, joinfiles, content) VALUES (0, 'partnership', 'partnership_send', '(SendingEmailOnPartnershipRefused)', '', 100, '[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipRefusedTopic)__', 0, '\n

    __(Hello)__,

    \n__(YourPartnershipRefusedContent)__

    \n
    \n\n
    \n\n __(Sincerely)__
    \n __[MAIN_INFO_SOCIETE_NOM]__
    \n \n'); +INSERT INTO llx_c_email_templates (entity, module, type_template, label, lang, position, topic, joinfiles, content) VALUES (0, 'partnership', 'partnership_send', '(SendingEmailOnPartnershipAccepted)', '', 100, '[__[MAIN_INFO_SOCIETE_NOM]__] - __(YourPartnershipAcceptedTopic)__', 0, '\n

    __(Hello)__,

    \n__(YourPartnershipAcceptedContent)__

    \n
    \n\n
    \n\n __(Sincerely)__
    \n __[MAIN_INFO_SOCIETE_NOM]__
    \n \n'); diff --git a/htdocs/install/mysql/data/llx_c_forme_juridique.sql b/htdocs/install/mysql/data/llx_c_forme_juridique.sql index 07a09724ed2..7af5d28df8c 100644 --- a/htdocs/install/mysql/data/llx_c_forme_juridique.sql +++ b/htdocs/install/mysql/data/llx_c_forme_juridique.sql @@ -356,3 +356,16 @@ insert into llx_c_forme_juridique (fk_pays, code, libelle) values (13, '1306','S insert into llx_c_forme_juridique (fk_pays, code, libelle) values (13, '1307','Société en participation'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (13, '1308','Groupe de sociétés'); +-- Sweden (id country=20) +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2001', 'Aktiebolag'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2002', 'Publikt aktiebolag (AB publ)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2003', 'Ekonomisk förening (ek. för.)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2004', 'Bostadsrättsförening (BRF)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2005', 'Hyresrättsförening (HRF)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2006', 'Kooperativ'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2007', 'Enskild firma (EF)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2008', 'Handelsbolag (HB)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2009', 'Kommanditbolag (KB)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2010', 'Enkelt bolag'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2011', 'Ideell förening'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2012', 'Stiftelse'); diff --git a/htdocs/install/mysql/data/llx_c_holiday_type.sql b/htdocs/install/mysql/data/llx_c_holiday_type.sql index addd7f9942e..65f9a51b037 100644 --- a/htdocs/install/mysql/data/llx_c_holiday_type.sql +++ b/htdocs/install/mysql/data/llx_c_holiday_type.sql @@ -25,12 +25,12 @@ -- -- Generic to all countries -insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country, active) values ('LEAVE_SICK', 'Sick leave', 0, 0, 0, NULL, 1); -insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country, active) values ('LEAVE_OTHER', 'Other leave', 0, 0, 0, NULL, 1); +insert into llx_c_holiday_types(code, label, affect, delay, newbymonth, fk_country, active) values ('LEAVE_SICK', 'Sick leave', 0, 0, 0, NULL, 1); +insert into llx_c_holiday_types(code, label, affect, delay, newbymonth, fk_country, active) values ('LEAVE_OTHER', 'Other leave', 0, 0, 0, NULL, 1); -- Not enabled by default, we prefer to have an entrey dedicated to country -insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country, active) values ('LEAVE_PAID', 'Paid vacation', 1, 7, 0, NULL, 0); +insert into llx_c_holiday_types(code, label, affect, delay, newbymonth, fk_country, active) values ('LEAVE_PAID', 'Paid vacation', 1, 7, 0, NULL, 0); -- Leaves specific to France -insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country, active) values ('LEAVE_RTT_FR', 'RTT' , 1, 7, 0.83, 1, 1); -insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country, active) values ('LEAVE_PAID_FR', 'Paid vacation', 1, 30, 2.08334, 1, 1); +insert into llx_c_holiday_types(code, label, affect, delay, newbymonth, fk_country, active) values ('LEAVE_RTT_FR', 'RTT' , 1, 7, 0.83, 1, 1); +insert into llx_c_holiday_types(code, label, affect, delay, newbymonth, fk_country, active) values ('LEAVE_PAID_FR', 'Paid vacation', 1, 30, 2.08334, 1, 1); diff --git a/htdocs/install/mysql/data/llx_c_ticket_type.sql b/htdocs/install/mysql/data/llx_c_ticket_type.sql index 660f1444b43..3b6fda322ad 100644 --- a/htdocs/install/mysql/data/llx_c_ticket_type.sql +++ b/htdocs/install/mysql/data/llx_c_ticket_type.sql @@ -19,7 +19,8 @@ INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('COM', '10', 'Commercial question', 1, 0, NULL); INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('HELP', '15', 'Request for functionnal help', 1, 0, NULL); -INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('ISSUE', '20', 'Issue or problem', 1, 0, NULL); +INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('ISSUE', '20', 'Issue or bug', 1, 0, NULL); +INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('PROBLEM', '22', 'Problem', 0, 0, NULL); INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('REQUEST', '25', 'Change or enhancement request', 1, 0, NULL); INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('PROJECT', '30', 'Project', 0, 0, NULL); INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('OTHER', '40', 'Other', 1, 0, NULL); diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql index 72746ac99ea..12b0b92a13e 100644 --- a/htdocs/install/mysql/data/llx_c_tva.sql +++ b/htdocs/install/mysql/data/llx_c_tva.sql @@ -47,9 +47,9 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 1 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 133, 13, '19','0','TVA 19%', 1); -- ANGOLA (id country=35) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 351, 35, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 352, 35, '7','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 353, 35, '14','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 351, 35, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 352, 35, '7','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 353, 35, '14','0','VAT rate - standard',1); -- ARGENTINA (id country=23) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (231, 23, '0','0','IVA Rate 0', 1); @@ -57,31 +57,31 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (23 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (233, 23, '21','0','IVA standard rate',1); -- AUSTRALIA (id country=28) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (281, 28, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (282, 28, '10','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (281, 28, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (282, 28, '10','0','VAT rate - standard',1); -- AUSTRIA (id country=41) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (411, 41, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (412, 41, '10','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (413, 41, '20','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (411, 41, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (412, 41, '10','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (413, 41, '20','0','VAT rate - standard',1); -- BRASIL (id country=56) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (561, 56, '0','0','VAT reduced rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (561, 56, '0','0','VAT rate - reduced',1); -- BULGARIA (id country=59) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (591, 59, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (592, 59, '7','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (593, 59, '20','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (591, 59, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (592, 59, '7','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (593, 59, '20','0','VAT rate - standard',1); -- BELGIUM (id country=2) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 21, 2, '0','0','VAT Rate 0 ou non applicable',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 22, 2, '6','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 23, 2, '21','0','VAT standard rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 24, 2, '12','0','VAT reduced rate', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 21, 2, '0','0','VAT rate 0 ou non applicable',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 22, 2, '6','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 23, 2, '21','0','VAT rate - standard',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 24, 2, '12','0','VAT rate - reduced', 1); -- CANADA (id country=14) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (141, 14, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (142, 14, '7','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (141, 14, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (142, 14, '7','0','VAT rate - standard',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Province',1); --insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (143, 14,'5','0','9.975','1','GST/TPS and PST/TVQ rate for Quebec',1); --insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (144, 14,'5','0','7','1','GST/TPS and PST/TVQ rate for British Columbia',1); @@ -89,43 +89,43 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_typ -- CAMEROUN (id country=24) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (241, 24, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (242, 24, '19.25','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (241, 24, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (242, 24, '19.25','0','VAT rate - standard',1); -- CHILE (id country=67) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (671, 67, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (672, 67, '19','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (671, 67, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (672, 67, '19','0','VAT rate - standard',1); -- CHINA (id country=9) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 91, 9, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 92, 9, '13','0','VAT reduced rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 93, 9, '3','0','VAT super reduced rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 94, 9, '17','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 91, 9, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 92, 9, '13','0','VAT rate - reduced 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 93, 9, '3','0','VAT rate - super-reduced 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 94, 9, '17','0','VAT rate - standard',1); -- CONGO = REPUBLIQUE DU CONGO (id country=72) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (721, 72, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (722, 72, '18','0', '0.9', '1', 'VAT Rate 18+0.9', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (721, 72, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,note,active) values (722, 72, '18','0', '0.9', '1', 'VAT rate 18+0.9', 1); -- CYPRUS (id country=78) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (781, 78, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (782, 78, '9','0','VAT Rate 9',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (783, 78, '5','0','VAT Rate 5',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (784, 78, '19','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (781, 78, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (782, 78, '9','0','VAT rate 9',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (783, 78, '5','0','VAT rate 5',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (784, 78, '19','0','VAT rate - standard',1); -- DANMERK (id country=80) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (801, 80, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (802, 80, '25','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (801, 80, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (802, 80, '25','0','VAT rate - standard',1); -- FRANCE (id country=1) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 11, 1, '0','0','VAT Rate 0 ou non applicable',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 12, 1, '20','0','VAT standard rate (France hors DOM-TOM)',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 13, 1, '10','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 14, 1, '5.5','0','VAT reduced rate (France hors DOM-TOM)',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 15, 1, '2.1','0','VAT super-reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (16, 1, '8.5', '85', '0', 'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0); -insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (17, 1, '8.5', '85NPR', '1', 'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0); -insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,note,active) values (18, 1, '8.5', '85NPROM', '1', 2, 3, 'VAT standard rate (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer',0); -insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (19, 1, '8.5', '85NPROMOMR', '1', 2, 3, 2.5, 3, 'VAT standard rate (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer et Octroi de Mer Regional',0); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 11, 1, '0','0','VAT rate 0 ou non applicable',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 12, 1, '20','0','VAT rate - standard (France hors DOM-TOM)',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 13, 1, '10','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 14, 1, '5.5','0','VAT rate - reduced (France hors DOM-TOM)',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 15, 1, '2.1','0','VAT rate - super-reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (16, 1, '8.5', '85', '0', 'VAT rate - standard (DOM sauf Guyane et Saint-Martin)',0); +insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,note,active) values (17, 1, '8.5', '85NPR', '1', 'VAT rate - standard (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0); +insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,note,active) values (18, 1, '8.5', '85NPROM', '1', 2, 3, 'VAT rate - standard (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer',0); +insert into llx_c_tva(rowid,fk_pays,taux,code,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values (19, 1, '8.5', '85NPROMOMR', '1', 2, 3, 2.5, 3, 'VAT rate - standard (DOM sauf Guyane et Saint-Martin), NPR, Octroi de Mer et Octroi de Mer Regional',0); -- GERMANY (id country=5) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 51, 5, '0','0','No VAT', 1); @@ -147,11 +147,11 @@ insert into llx_c_tva(rowid,fk_pays,taux,localtax1,localtax1_type,localtax2,loca -- ICELAND (id country=116) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1161, 116, '0','0','VAT rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1163, 116,'25.5','0','VAT standard 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,'25.5','0','VAT rate - standard',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1162, 116, '7','0','VAT rate - reduced',1); -- 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); insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1172, 117, 'C+S-5' , 0, 2.5, '1', 2.5, '1', 0, 'CGST+SGST - Same state sales', 1); insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1173, 117, 'I-5' , 5, 0, '0', 0, '0', 0, 'IGST', 1); @@ -163,54 +163,58 @@ insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2 insert into llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1179, 117, 'I-28' , 28, 0, '0', 0, '0', 0, 'IGST', 1); -- IRELAND (id country=8) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 81, 8, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 82, 8, '23','0','VAT standard rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 83, 8, '13.5','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 ( 81, 8, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 82, 8, '23','0','VAT rate - standard',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 83, 8, '13.5','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 84, 8, '9','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 85, 8, '4.8','0','VAT rate - reduced',1); -- ITALY (id country=3) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 31, 3, '0','0','VAT Rate 0',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, '22','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 31, 3, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 32, 3, '10','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 33, 3, '4','0','VAT rate - super-reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 34, 3, '22','0','VAT rate - standard',1); -- 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 (212, 21, '18','0',7.5,2,0,0,'IVA standard rate',1); -- JAPAN (id country=123) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1231, 123, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1232, 123, '5','0','VAT Rate 5',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1231, 123, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1232, 123, '5','0','VAT rate 5',1); -- LUXEMBOURG (id country=140) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1401, 140, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1402, 140, '14','0','VAT intermediary rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1403, 140, '8','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1404, 140, '3','0','VAT super-reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1405, 140, '17','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1401, 140, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1402, 140, '14','0','VAT rate - intermediary',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1403, 140, '8','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1404, 140, '3','0','VAT rate - super-reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1405, 140, '17','0','VAT rate - standard',1); + +-- MALI (id country=147) +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1471, 147, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1471, 147, '18','0','VAT rate - standard', 1); -- MONACO (id country=27) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 271, 27, '0','0','VAT Rate 0 ou non applicable',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 272, 27, '8.5','0','VAT standard rate (DOM sauf Guyane et Saint-Martin)',0); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 273, 27, '8.5','1','VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 274, 27, '5.5','0','VAT reduced rate (France hors DOM-TOM)',0); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 275, 27,'19.6','0','VAT standard rate (France hors DOM-TOM)',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 276, 27, '2.1','0','VAT super-reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 277, 27, '7','0','VAT reduced rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 271, 27, '0','0','VAT rate 0 ou non applicable',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 272, 27, '8.5','0','VAT rate - standard (DOM sauf Guyane et Saint-Martin)',0); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 273, 27, '8.5','1','VAT rate - standard (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 274, 27, '5.5','0','VAT rate - reduced (France hors DOM-TOM)',0); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 275, 27,'19.6','0','VAT rate - standard (France hors DOM-TOM)',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 276, 27, '2.1','0','VAT rate - super-reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 277, 27, '7','0','VAT rate - reduced',1); -- MAROCO (id country=12) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 121, 12, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 122, 12, '14','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 123, 12, '10','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 124, 12, '7','0','VAT super-reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 125, 12, '20','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 121, 12, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 122, 12, '14','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 123, 12, '10','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 124, 12, '7','0','VAT rate - super-reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 125, 12, '20','0','VAT rate - standard',1); -- MALTA (id country=148) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1481, 148, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1482, 148, '7','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1483, 148, '5','0','VAT super-reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1484, 148, '18','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1481, 148, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1482, 148, '7','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1483, 148, '5','0','VAT rate - super-reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1484, 148, '18','0','VAT rate - standard',1); -- NEDERLAND (id country=17) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 171, 17, '0','0','0 BTW tarief', 1); @@ -219,96 +223,96 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 1 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 174, 17, '21','0','Algemeen BTW tarief (vanaf 1 oktober 2012)',0); -- NEW CALEDONIA (id country=165) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1651, 165, '0','0','VAT Rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1651, 165, '0','0','VAT rate 0', 1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1652, 165, '3','0','VAT standard 3', 1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1653, 165, '6','0','VAT standard 6', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1654, 165, '11','0','VAT standard rate', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1654, 165, '11','0','VAT rate - standard', 1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1655, 165, '22','0','VAT standard high', 1); -- NEW ZEALAND (id country=166) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1661, 166, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1662, 166, '15','0','VAT standard rate', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1661, 166, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1662, 166, '15','0','VAT rate - standard', 1); -- NIGERIA (id country=169) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1691, 169, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1692, 169, '5','0','VAT standard rate', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1691, 169, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1692, 169, '5','0','VAT rate - standard', 1); -- NORWAY (id country=173) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1731, 173, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1732, 173, '14','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1733, 173, '8','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '25','0','VAT standard rate', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1731, 173, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1732, 173, '14','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1733, 173, '8','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '25','0','VAT rate - standard', 1); -- PANAMA (id country=178) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1781, 178, '0','0','ITBMS Rate 0',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1782, 178, '7','0','ITBMS standard rate',1); -- PERU (id country=181) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1818, 181, '18','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1818, 181, '18','0','VAT rate - standard',1); -- POLAND (id country=184) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 184, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1842, 184, '8','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1843, 184, '3','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1844, 184, '23','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 184, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1842, 184, '8','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1843, 184, '3','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1844, 184, '23','0','VAT rate - standard',1); -- PORTUGAL (id country=25) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 251, 25, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 252, 25, '13','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 253, 25, '23','0','VAT standard rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 254, 25, '6','0','VAT reduced rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 251, 25, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 252, 25, '13','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 253, 25, '23','0','VAT rate - standard',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 254, 25, '6','0','VAT rate - reduced',1); -- ROMANIA (id country=188) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1881, 188, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1882, 188, '9','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1883, 188, '19','0','VAT standard rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1884, 188, '5','0','VAT reduced rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1881, 188, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1882, 188, '9','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1883, 188, '19','0','VAT rate - standard',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1884, 188, '5','0','VAT rate - reduced',1); -- SAUDI ARABIA (id country=26) -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 261, 26, '0', '0', 'VAT Rate 0', 1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 262, 26, '5', '0', 'VAT Rate 5', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 261, 26, '0', '0', 'VAT rate 0', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 262, 26, '5', '0', 'VAT rate 5', 1); -- SAN SALVADOR (id country=86) INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 861, 86, '0', '0', 'SIN IVA', 1); INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 862, 86, '13', '0', 'IVA 13', 1); -- SENEGAL (id country=22) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 221, 22, '0', '0', 'VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 222, 22, '10', '0', 'VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 223, 22, '18', '0', 'VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 221, 22, '0', '0', 'VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 222, 22, '10', '0', 'VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 223, 22, '18', '0', 'VAT rate - standard',1); -- SLOVAKIA (id country=201) -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2011, 201, '0', '0', 'VAT Rate 0', 1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2012, 201, '10', '0', 'VAT reduced rate', 1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2013, 201, '19', '0', 'VAT standard rate', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2011, 201, '0', '0', 'VAT rate 0', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2012, 201, '10', '0', 'VAT rate - reduced', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2013, 201, '19', '0', 'VAT rate - standard', 1); -- SLOVENIA (id country=202) -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2021, 202, '0', '0', 'VAT Rate 0', 1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2022, 202,'9.5', '0', 'VAT reduced rate', 1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2023, 202, '22', '0', 'VAT standard rate', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2021, 202, '0', '0', 'VAT rate 0', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2022, 202,'9.5', '0', 'VAT rate - reduced', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2023, 202, '22', '0', 'VAT rate - standard', 1); -- SOUTH AFRICA (id country=205) -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2051, 205, '0', '0', 'VAT Rate 0', 1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2052, 205, '15', '0', 'VAT standard rate', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2051, 205, '0', '0', 'VAT rate 0', 1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2052, 205, '15', '0', 'VAT rate - standard', 1); -- SPAIN (id country=4) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 41, 4, '0','0', '0','3','-19:-15:-9','5','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 42, 4,'10','0','1.4','3','-19:-15:-9','5','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 43, 4, '4','0','0.5','3','-19:-15:-9','5','VAT super-reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 44, 4,'21','0','5.2','3','-19:-15:-9','5','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 41, 4, '0','0', '0','3','-19:-15:-9','5','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 42, 4,'10','0','1.4','3','-19:-15:-9','5','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 43, 4, '4','0','0.5','3','-19:-15:-9','5','VAT rate - super-reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 44, 4,'21','0','5.2','3','-19:-15:-9','5','VAT rate - standard',1); -- SWEDEN (id country=20) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 201, 20, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 202, 20, '12','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 203, 20, '6','0','VAT super-reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 204, 20, '25','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 201, 20, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 202, 20, '12','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 203, 20, '6','0','VAT rate - super-reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 204, 20, '25','0','VAT rate - standard',1); -- SWITZERLAND (id country=6) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 61, 6, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 62, 6, '3.7','0','VAT reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 63, 6, '2.5','0','VAT super-reduced rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 64, 6, '7.7','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 61, 6, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 62, 6, '3.7','0','VAT rate - reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 63, 6, '2.5','0','VAT rate - super-reduced',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 64, 6, '7.7','0','VAT rate - standard',1); -- SRI LANKA (id country=207) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2071, 207, '0','0','VAT 0', 1); @@ -319,24 +323,24 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (21 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2132, 213, '5','0','VAT 5%',1); -- TUNISIA (id country=10) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (101,10, '0','0','VAT Rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (101,10, '0','0','VAT rate 0',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (102,10, '12','0','VAT 12%',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (103,10, '18','0','VAT 18%',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (104,10, '7.5','0','VAT 6% Majoré à 25% (7.5%)',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (105,10, '15','0','VAT 12% Majoré à 25% (15%)',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (106,10, '22.5','0','VAT 18% Majoré à 25% (22.5%)',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (107,10, '6','0','VAT 6%', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (107,10,'18.18','0','VAT 18%+FODEC', 1, 1, '4', 0, 0); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (108,10,'18.18','0','VAT 18%+FODEC', 1, 1, '4', 0, 0); -- UKRAINE (id country=226) -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2261,226, '0','0','VAT Rate 0',1); +INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2261,226, '0','0','VAT rate 0',1); INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2262,226, '20','0','VAT standart rate',1); -- UNITED OF KINGDOM (id country=7) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 71, 7, '0','0','VAT Rate 0', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 72, 7, '17.5','0','VAT standard rate before 2011',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 73, 7, '5','0','VAT reduced rate', 1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 74, 7, '20','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 71, 7, '0','0','VAT rate 0', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 72, 7, '17.5','0','VAT rate - standard before 2011',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 73, 7, '5','0','VAT rate - reduced', 1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 74, 7, '20','0','VAT rate - standard',1); -- UNITED STATES (id country=11) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (111,11, '0','0','No Sales Tax',1); @@ -350,16 +354,16 @@ 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 (1931,193, '0','0','No VAT in SPM',1); -- SAINT MARTIN (id country=24) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2461,246, '0','0','VAT Rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2461,246, '0','0','VAT rate 0',1); -- MAURITANIA (id country=151) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1511,151, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1512,151, '14','0','VAT Rate 14',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1511,151, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1512,151, '14','0','VAT rate 14',1); -- MAURITIUS (id country=152) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1521,152, '0','0','VAT Rate 0',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1522,152, '15','0','VAT Rate 15',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1521,152, '0','0','VAT rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1522,152, '15','0','VAT rate 15',1); -- HONDURAS (id country=114) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1141,114, '0','0','No ISV',1); @@ -375,16 +379,12 @@ INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 4 INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 462, 46, '15','0','VAT 15%',1); INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 463, 46, '7.5','0','VAT 7.5%',1); --- SOUTH AFRICA (id country=205) -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2051,205, '0','0','No VAT',1); -INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2052,205, '14','0','VAT 14%',1); - -- VENEZUELA (id country=232) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2321,232, '0','0','No VAT',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2322,232, '12','0','VAT 12%',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (2323,232, '8','0','VAT 8%',1); --- Example of code to insert a vat rate 0 for each country +-- Example of code to insert a VAT rate 0 for each country --delete from llx_c_tva where rowid = 1181; -- to delete a record that does not follow rules for rowid (fk_pays+'1') --insert into llx_c_tva(rowid, fk_pays, taux, recuperableonly, note, active) SELECT CONCAT(c.rowid, '1'), c.rowid, 0, 0, 'No VAT', 1 from llx_c_country as c where c.rowid not in (select fk_pays from llx_c_tva); diff --git a/htdocs/install/mysql/data/llx_const.sql b/htdocs/install/mysql/data/llx_const.sql index ed5449c0bd3..d7193d87a49 100644 --- a/htdocs/install/mysql/data/llx_const.sql +++ b/htdocs/install/mysql/data/llx_const.sql @@ -85,8 +85,8 @@ insert into llx_const (name, value, type, note, visible) values ('MAIN_DELAY_EXP -- -- Mail Mailing -- -insert into llx_const (name, value, type, note, visible) values ('MAIN_FIX_FOR_BUGGED_MTA','1','chaine','Set constant to fix email ending from PHP with some linux ike system',1); -insert into llx_const (name, value, type, note, visible) values ('MAILING_EMAIL_FROM','dolibarr@domain.com','chaine','EMail emmetteur pour les envois d emailings',0); +--insert into llx_const (name, value, type, note, visible) values ('MAIN_FIX_FOR_BUGGED_MTA','1','chaine','Set constant to fix email ending from PHP with some linux like system',1); +insert into llx_const (name, value, type, note, visible) values ('MAILING_EMAIL_FROM','no-reply@mydomain.com','chaine','EMail emmetteur pour les envois d emailings',0); -- @@ -103,3 +103,9 @@ insert into llx_const (name, value, type, visible, entity) VALUES ('USER_ADDON_P -- INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('PRODUCT_PRICE_BASE_TYPE', 0, 'HT', 'string', 0); + +-- +-- Membership +-- +INSERT INTO llx_const (name, entity, value, type, visible) VALUES ('ADHERENT_LOGIN_NOT_REQUIRED', 0, '1', 'string', 0); + diff --git a/htdocs/install/mysql/migration/11.0.0-12.0.0.sql b/htdocs/install/mysql/migration/11.0.0-12.0.0.sql index f11fa826fac..fa8cb0197cc 100644 --- a/htdocs/install/mysql/migration/11.0.0-12.0.0.sql +++ b/htdocs/install/mysql/migration/11.0.0-12.0.0.sql @@ -353,3 +353,6 @@ INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (14,'MAINFREIGHT', 'Mainfreight', NULL, 'https://www.mainfreight.com/track?{TRACKID}', 0); +UPDATE llx_menu SET perms = '$user->rights->societe->creer' WHERE titre = 'MenuNewThirdParty' AND url = '/societe/card.php?mainmenu=companies&action=create'; +UPDATE llx_menu SET url = '/societe/list.php?mainmenu=companies&leftmenu=thirdparties' WHERE titre = 'List' AND url = '/societe/list.php?mainmenu=companies&action=create'; + diff --git a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql index 5dfeac1d222..a9f1a669e52 100644 --- a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql +++ b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql @@ -37,6 +37,7 @@ ALTER TABLE llx_prelevement_bons ADD COLUMN type varchar(16) DEFAULT 'debit-orde ALTER TABLE llx_prelevement_facture CHANGE COLUMN fk_facture_foun fk_facture_fourn integer NULL; +ALTER TABLE llx_prelevement_facture_demande ADD COLUMN fk_facture_fourn INTEGER NULL; ALTER TABLE llx_prelevement_facture_demande ADD INDEX idx_prelevement_facture_demande_fk_facture (fk_facture); ALTER TABLE llx_prelevement_facture_demande ADD INDEX idx_prelevement_facture_demande_fk_facture_fourn (fk_facture_fourn); @@ -367,7 +368,7 @@ ALTER TABLE llx_actioncomm_reminder ADD UNIQUE uk_actioncomm_reminder_unique (fk ALTER TABLE llx_actioncomm_reminder ADD INDEX idx_actioncomm_reminder_status (status); - +ALTER TABLE llx_inventorydet ADD COLUMN fk_warehouse integer DEFAULT 0; ALTER TABLE llx_inventorydet ADD UNIQUE uk_inventorydet(fk_inventory, fk_warehouse, fk_product, batch); ALTER TABLE llx_commandedet ADD COLUMN ref_ext varchar(255) AFTER label; @@ -580,6 +581,11 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value -- Removed no more used function -- VPGSQL8.2 DROP FUNCTION IF EXISTS update_modified_column_date_m() CASCADE; +-- VPGSQL8.2 DROP TRIGGER update_customer_modtime ON llx_ecm_directories; +-- VPGSQL8.2 DROP TRIGGER update_customer_modtime ON llx_ecm_files; +-- VPGSQL8.2 CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); +-- VPGSQL8.2 CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_files FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); + insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 6,'AC_EMAIL_IN','system','reception Email',NULL, 1, 4); diff --git a/htdocs/install/mysql/migration/13.0.0-14.0.0.sql b/htdocs/install/mysql/migration/13.0.0-14.0.0.sql index 8caf6e9a401..d6e21f17aeb 100644 --- a/htdocs/install/mysql/migration/13.0.0-14.0.0.sql +++ b/htdocs/install/mysql/migration/13.0.0-14.0.0.sql @@ -12,8 +12,8 @@ -- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60); -- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name; -- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field); --- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table --- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex +-- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table; +-- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex; -- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; -- To make pk to be auto increment (postgres): -- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid; @@ -37,6 +37,11 @@ -- VMYSQL4.1 SET sql_mode = 'NO_ZERO_DATE'; -- VMYSQL4.1 update llx_propal set tms = null where DATE(STR_TO_DATE(tms, '%Y-%m-%d')) IS NULL; +-- VPGSQL8.2 DROP TRIGGER update_customer_modtime ON llx_ecm_directories; +-- VPGSQL8.2 DROP TRIGGER update_customer_modtime ON llx_ecm_files; +-- VPGSQL8.2 CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); +-- VPGSQL8.2 CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_files FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); + ALTER TABLE llx_ecm_files ADD COLUMN note_private text AFTER fk_user_m; ALTER TABLE llx_ecm_files ADD COLUMN note_public text AFTER note_private; @@ -71,6 +76,7 @@ INSERT INTO llx_accounting_system (fk_country, pcg_version, label, active) VALUE INSERT INTO llx_accounting_system (fk_country, pcg_version, label, active) VALUES ( 14, 'CA-ENG-BASE', 'Canadian basic chart of accounts - English', 1); INSERT INTO llx_accounting_system (fk_country, pcg_version, label, active) VALUES ( 154, 'SAT/24-2019', 'Catalogo y codigo agrupador fiscal del 2019', 1); +UPDATE llx_accounting_system SET fk_country = 1 WHERE fk_country IS NULL; UPDATE llx_const set value = __ENCRYPT('eldy')__ WHERE __DECRYPT('value')__ = 'auguria'; UPDATE llx_const set value = __ENCRYPT('eldy')__ WHERE __DECRYPT('value')__ = 'bureau2crea'; @@ -81,6 +87,9 @@ DELETE FROM llx_user_param where param = 'MAIN_THEME' and value in ('auguria', ' -- For v14 +UPDATE llx_c_ticket_type set label = 'Issue or bug' WHERE code = 'ISSUE'; +INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('PROBLEM', '22', 'Problem', 0, 0, NULL); + ALTER TABLE llx_import_model MODIFY COLUMN type varchar(64); ALTER TABLE llx_export_model MODIFY COLUMN type varchar(64); @@ -259,12 +268,14 @@ INSERT INTO llx_payment_vat (rowid, fk_tva, datec, datep, amount, fk_typepaiemen ALTER TABLE llx_tva ALTER COLUMN paye SET DEFAULT 0; -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailAskConf', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

    __ONLINE_PAYMENT_TEXT_AND_URL__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailAskBooth', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

    __ONLINE_PAYMENT_TEXT_AND_URL__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailSubsBooth', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsBooth)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

    __ONLINE_PAYMENT_TEXT_AND_URL__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationEmailSubsEvent', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailSubsEvent)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

    __(Sincerely)__

    __MYCOMPANY_NAME__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationMassEmailAttendees', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, tms, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'eventorganization_send', '', 0, null, null, '2021-02-14 14:42:41', 'EventOrganizationMassEmailSpeakers', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__ __THIRDPARTY_NAME__,

    __(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +-- Event organization +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskConf)', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__,

    __(OrganizationEventConfRequestWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskBooth)', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__,

    __(OrganizationEventBoothRequestWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +-- TODO Add message for registration only to event __ONLINE_PAYMENT_TEXT_AND_URL__ +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsBooth)', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailBoothPayment)__', '__(Hello)__,

    __(OrganizationEventPaymentOfBoothWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsEvent)', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailRegistrationPayment)__', '__(Hello)__,

    __(OrganizationEventPaymentOfRegistrationWasReceived)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailAttendees)', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__,

    __(OrganizationEventBulkMailToAttendees)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailSpeakers)', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__,

    __(OrganizationEventBulkMailToSpeakers)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); ALTER TABLE llx_projet ADD COLUMN accept_conference_suggestions integer DEFAULT 0; ALTER TABLE llx_projet ADD COLUMN accept_booth_suggestions integer DEFAULT 0; @@ -341,6 +352,13 @@ UPDATE llx_payment_salary SET ref = rowid WHERE ref IS NULL; ALTER TABLE llx_salary ALTER COLUMN paye set default 0; +UPDATE llx_extrafields SET elementtype = 'salary' WHERE elementtype = 'payment_salary'; +ALTER TABLE llx_payment_salary_extrafields RENAME TO llx_salary_extrafields; +-- VMYSQL4.1 DROP INDEX idx_payment_salary_extrafields on llx_salary_extrafields; +-- VPGSQL8.2 DROP INDEX idx_payment_salary_extrafields; +ALTER TABLE llx_salary_extrafields ADD INDEX idx_salary_extrafields (fk_object); + + DELETE FROM llx_boxes WHERE box_id IN (SELECT rowid FROM llx_boxes_def WHERE file IN ('box_graph_ticket_by_severity', 'box_ticket_by_severity.php', 'box_nb_ticket_last_x_days.php', 'box_nb_tickets_type.php', 'box_new_vs_close_ticket.php')); DELETE FROM llx_boxes_def WHERE file IN ('box_graph_ticket_by_severity', 'box_ticket_by_severity.php', 'box_nb_ticket_last_x_days.php', 'box_nb_tickets_type.php', 'box_new_vs_close_ticket.php'); @@ -384,7 +402,9 @@ CREATE TABLE llx_eventorganization_conferenceorboothattendee( rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, ref varchar(128) NOT NULL, fk_soc integer, - fk_actioncomm integer NOT NULL, + fk_actioncomm integer, + fk_project integer NOT NULL, + fk_invoice integer NULL, email varchar(100), date_subscription datetime, amount double DEFAULT NULL, @@ -400,14 +420,28 @@ CREATE TABLE llx_eventorganization_conferenceorboothattendee( status smallint NOT NULL ) ENGINE=innodb; +-- VMYSQL4.3 ALTER TABLE llx_eventorganization_conferenceorboothattendee MODIFY COLUMN fk_actioncomm integer NULL; +-- VPGSQL8.2 ALTER TABLE llx_eventorganization_conferenceorboothattendee ALTER COLUMN fk_actioncomm DROP NOT NULL; + +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD COLUMN fk_project integer NOT NULL; +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD COLUMN fk_invoice integer NULL; + +ALTER TABLE llx_eventorganization_conferenceorboothattendee DROP FOREIGN KEY fx_eventorganization_conferenceorboothattendee_fk_soc; +ALTER TABLE llx_eventorganization_conferenceorboothattendee DROP FOREIGN KEY fx_eventorganization_conferenceorboothattendee_fk_actioncomm; +ALTER TABLE llx_eventorganization_conferenceorboothattendee DROP FOREIGN KEY fx_eventorganization_conferenceorboothattendee_fk_project; + ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_rowid (rowid); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_ref (ref); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_soc (fk_soc); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_actioncomm (fk_actioncomm); -ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_actioncomm FOREIGN KEY (fk_actioncomm) REFERENCES llx_actioncomm(id); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_email (email); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_status (status); -ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_soc, fk_actioncomm, email); + +-- VMYSQL4.1 DROP INDEX uk_eventorganization_conferenceorboothattendee on llx_eventorganization_conferenceorboothattendee; +-- VPGSQL8.2 DROP INDEX uk_eventorganization_conferenceorboothattendee; + +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_project, email, fk_actioncomm); + create table llx_eventorganization_conferenceorboothattendee_extrafields ( @@ -420,6 +454,10 @@ create table llx_eventorganization_conferenceorboothattendee_extrafields ALTER TABLE llx_eventorganization_conferenceorboothattendee_extrafields ADD INDEX idx_conferenceorboothattendee_fk_object(fk_object); ALTER TABLE llx_c_ticket_category ADD COLUMN public integer DEFAULT 0; + +-- VPGSQL8.2 ALTER TABLE llx_c_ticket_category ALTER COLUMN pos TYPE INTEGER USING pos::INTEGER; +-- VPGSQL8.2 ALTER TABLE llx_c_ticket_category ALTER COLUMN pos SET NOT NULL; +-- VPGSQL8.2 ALTER TABLE llx_c_ticket_category ALTER COLUMN pos SET DEFAULT 0; ALTER TABLE llx_c_ticket_category MODIFY COLUMN pos integer DEFAULT 0 NOT NULL; @@ -447,7 +485,7 @@ CREATE TABLE llx_partnership( fk_soc integer, fk_member integer, date_partnership_start date NOT NULL, - date_partnership_end date NOT NULL, + date_partnership_end date NULL, entity integer DEFAULT 1 NOT NULL, -- multi company id, 0 = all reason_decline_or_cancel text NULL, date_creation datetime NOT NULL, @@ -557,3 +595,35 @@ create table llx_c_partnership_type )ENGINE=innodb; DELETE FROM llx_rights_def WHERE module = 'hrm' AND perms = 'employee'; + + +CREATE TABLE llx_ecm_directories_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +DROP TABLE llx_categorie_association; +DROP TABLE llx_cond_reglement; +DROP TABLE llx_zapier_hook_extrafields; + +CREATE TABLE llx_onlinesignature +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + object_type varchar(32) NOT NULL, + object_id integer NOT NULL, + datec datetime NOT NULL, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + name varchar(255) NOT NULL, + ip varchar(128), + pathoffile varchar(255) +)ENGINE=innodb; + +-- VMYSQL4.3 ALTER TABLE llx_partnership MODIFY COLUMN date_partnership_end date NULL; +-- VPGSQL8.2 ALTER TABLE llx_partnership ALTER COLUMN date_partnership_end DROP NOT NULL; + +ALTER TABLE llx_facture_fourn CHANGE COLUMN fk_mode_transport fk_transport_mode integer; + diff --git a/htdocs/install/mysql/migration/14.0.0-15.0.0.sql b/htdocs/install/mysql/migration/14.0.0-15.0.0.sql new file mode 100644 index 00000000000..44f7d08bab1 --- /dev/null +++ b/htdocs/install/mysql/migration/14.0.0-15.0.0.sql @@ -0,0 +1,378 @@ +-- +-- Be carefull to requests order. +-- This file must be loaded by calling /install/index.php page +-- when current version is 14.0.0 or higher. +-- +-- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y +-- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y +-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new; +-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol; +-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60); +-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname; +-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60); +-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name; +-- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field); +-- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table; +-- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex; +-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; +-- To make pk to be auto increment (postgres): +-- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid; +-- -- VPGSQL8.2 ALTER TABLE llx_table ADD PRIMARY KEY (rowid); +-- -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN rowid SET DEFAULT nextval('llx_table_rowid_seq'); +-- -- VPGSQL8.2 SELECT setval('llx_table_rowid_seq', MAX(rowid)) FROM llx_table; +-- To set a field as NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NULL; +-- To set a field as NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL; +-- To set a field as NOT NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NOT NULL; +-- To set a field as NOT NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET NOT NULL; +-- To set a field as default NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL; +-- Note: fields with type BLOB/TEXT can't have default value. +-- To rebuild sequence for postgresql after insert by forcing id autoincrement fields: +-- -- VPGSQL8.2 SELECT dol_util_rebuild_sequences(); + + +-- Missing in v14 or lower + +-- VMYSQL4.3 ALTER TABLE llx_partnership MODIFY COLUMN date_partnership_end date NULL; +-- VPGSQL8.2 ALTER TABLE llx_partnership ALTER COLUMN date_partnership_end DROP NOT NULL; + + +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD COLUMN fk_project integer NOT NULL; +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD COLUMN fk_invoice integer NULL; + +ALTER TABLE llx_eventorganization_conferenceorboothattendee DROP FOREIGN KEY fx_eventorganization_conferenceorboothattendee_fk_soc; +ALTER TABLE llx_eventorganization_conferenceorboothattendee DROP FOREIGN KEY fx_eventorganization_conferenceorboothattendee_fk_actioncomm; +ALTER TABLE llx_eventorganization_conferenceorboothattendee DROP FOREIGN KEY fx_eventorganization_conferenceorboothattendee_fk_project; + +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_rowid (rowid); +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_ref (ref); +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_soc (fk_soc); +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_actioncomm (fk_actioncomm); +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_email (email); +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_status (status); + +-- VMYSQL4.1 DROP INDEX uk_eventorganization_conferenceorboothattendee on llx_eventorganization_conferenceorboothattendee; +-- VPGSQL8.2 DROP INDEX uk_eventorganization_conferenceorboothattendee; + +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_project, email, fk_actioncomm); + + +-- VMYSQL4.3 ALTER TABLE llx_eventorganization_conferenceorboothattendee MODIFY COLUMN fk_actioncomm integer NULL; +-- VPGSQL8.2 ALTER TABLE llx_eventorganization_conferenceorboothattendee ALTER COLUMN fk_actioncomm DROP NOT NULL; + + + +UPDATE llx_extrafields SET elementtype = 'salary' WHERE elementtype = 'payment_salary'; +ALTER TABLE llx_payment_salary_extrafields RENAME TO llx_salary_extrafields; +-- VMYSQL4.1 DROP INDEX idx_payment_salary_extrafields on llx_salary_extrafields; +-- VPGSQL8.2 DROP INDEX idx_payment_salary_extrafields; +ALTER TABLE llx_salary_extrafields ADD INDEX idx_salary_extrafields (fk_object); + + +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskConf)', 10, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskConf)__', '__(Hello)__,

    __(OrganizationEventConfRequestWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailAskBooth)', 20, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailAskBooth)__', '__(Hello)__,

    __(OrganizationEventBoothRequestWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +-- TODO Add message for registration only to event __ONLINE_PAYMENT_TEXT_AND_URL__ +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsBooth)', 30, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailBoothPayment)__', '__(Hello)__,

    __(OrganizationEventPaymentOfBoothWasReceived)__


    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationEmailSubsEvent)', 40, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationEmailRegistrationPayment)__', '__(Hello)__,

    __(OrganizationEventPaymentOfRegistrationWasReceived)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailAttendees)', 50, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailAttendees)__', '__(Hello)__,

    __(OrganizationEventBulkMailToAttendees)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); +INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, active, topic, content, content_lines, enabled, joinfiles) values (0, '', 'conferenceorbooth', '', 0, null, null, '(EventOrganizationMassEmailSpeakers)', 60, 1, '[__[MAIN_INFO_SOCIETE_NOM]__] __(EventOrganizationMassEmailSpeakers)__', '__(Hello)__,

    __(OrganizationEventBulkMailToSpeakers)__

    __(Sincerely)__
    __USER_SIGNATURE__', null, '1', null); + + +-- v15 + +ALTER TABLE llx_c_holiday_types CHANGE COLUMN newByMonth newbymonth double(8,5) DEFAULT 0 NOT NULL; + +ALTER TABLE llx_product ADD COLUMN mandatory_period tinyint NULL DEFAULT 0; + +ALTER TABLE llx_holiday ADD COLUMN date_approve DATETIME DEFAULT NULL; +ALTER TABLE llx_holiday ADD COLUMN fk_user_approve integer DEFAULT NULL; + +ALTER TABLE llx_emailcollector_emailcollectoraction MODIFY COLUMN actionparam TEXT; + +ALTER TABLE llx_knowledgemanagement_knowledgerecord ADD COLUMN lang varchar(6); +ALTER TABLE llx_knowledgemanagement_knowledgerecord ADD COLUMN entity integer DEFAULT 1; + +CREATE TABLE llx_categorie_ticket +( + fk_categorie integer NOT NULL, + fk_ticket integer NOT NULL, + import_key varchar(14) +) ENGINE=innodb; + +ALTER TABLE llx_categorie_ticket ADD PRIMARY KEY pk_categorie_ticket (fk_categorie, fk_ticket); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_ticket (fk_ticket); + +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_ticket_rowid FOREIGN KEY (fk_ticket) REFERENCES llx_ticket (rowid); +ALTER TABLE llx_product_fournisseur_price MODIFY COLUMN ref_fourn varchar(128); +ALTER TABLE llx_product_customer_price MODIFY COLUMN ref_customer varchar(128); +ALTER TABLE llx_product_association ADD COLUMN rang integer DEFAULT 0; + +-- -- add action trigger +INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) VALUES ('ORDER_SUPPLIER_CANCEL','Supplier order request canceled','Executed when a supplier order is canceled','order_supplier',13); + +ALTER TABLE llx_product ADD COLUMN fk_default_bom integer DEFAULT NULL; + +ALTER TABLE llx_mrp_mo ADD COLUMN mrptype integer DEFAULT 0; + +DELETE FROM llx_menu WHERE type = 'top' AND module = 'cashdesk' AND mainmenu = 'cashdesk'; + +INSERT INTO llx_c_action_trigger (code, label, description, elementtype, rang) values ('MEMBER_EXCLUDE', 'Member excluded', 'Executed when a member is excluded', 'member', 27); + +CREATE TABLE llx_categorie_knowledgemanagement +( + fk_categorie integer NOT NULL, + fk_knowledgemanagement integer NOT NULL, + import_key varchar(14) +)ENGINE=innodb; + +ALTER TABLE llx_categorie_knowledgemanagement ADD PRIMARY KEY pk_categorie_knowledgemanagement (fk_categorie, fk_knowledgemanagement); +ALTER TABLE llx_categorie_knowledgemanagement ADD INDEX idx_categorie_knowledgemanagement_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_knowledgemanagement ADD INDEX idx_categorie_knowledgemanagement_fk_knowledgemanagement (fk_knowledgemanagement); + +ALTER TABLE llx_categorie_knowledgemanagement ADD CONSTRAINT fk_categorie_knowledgemanagement_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_knowledgemanagement ADD CONSTRAINT fk_categorie_knowledgemanagement_knowledgemanagement_rowid FOREIGN KEY (fk_knowledgemanagement) REFERENCES llx_knowledgemanagement_knowledgerecord (rowid); + +ALTER TABLE llx_product_lot ADD COLUMN barcode varchar(180) DEFAULT NULL; +ALTER TABLE llx_product_lot ADD COLUMN fk_barcode_type integer DEFAULT NULL; + +ALTER TABLE llx_projet ADD COLUMN max_attendees integer DEFAULT 0; + +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN cost_price double(24,8) DEFAULT 0; + +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2001', 'Aktiebolag'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2002', 'Publikt aktiebolag (AB publ)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2003', 'Ekonomisk förening (ek. för.)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2004', 'Bostadsrättsförening (BRF)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2005', 'Hyresrättsförening (HRF)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2006', 'Kooperativ'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2007', 'Enskild firma (EF)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2008', 'Handelsbolag (HB)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2009', 'Kommanditbolag (KB)'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2010', 'Enkelt bolag'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2011', 'Ideell förening'); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle) VALUES (20, '2012', 'Stiftelse'); + +-- START GRH/HRM MODULE + + +CREATE TABLE llx_hrm_evaluation( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + ref varchar(128) DEFAULT '(PROV)' NOT NULL, + label varchar(255), + description text, + note_public text, + note_private text, + date_creation datetime NOT NULL, + tms timestamp, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + import_key varchar(14), + status smallint NOT NULL, + date_eval date, + fk_user integer NOT NULL, + fk_job integer NOT NULL + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; +ALTER TABLE llx_hrm_evaluation ADD INDEX idx_hrm_evaluation_rowid (rowid); +ALTER TABLE llx_hrm_evaluation ADD INDEX idx_hrm_evaluation_ref (ref); +ALTER TABLE llx_hrm_evaluation ADD CONSTRAINT llx_hrm_evaluation_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_hrm_evaluation ADD INDEX idx_hrm_evaluation_status (status); + + +create table llx_hrm_evaluation_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_hrm_evaluation_extrafields ADD INDEX idx_evaluation_fk_object(fk_object); + + +CREATE TABLE llx_hrm_evaluationdet( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + date_creation datetime NOT NULL, + tms timestamp, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + fk_skill integer NOT NULL, + fk_evaluation integer NOT NULL, + rank integer NOT NULL, + required_rank integer NOT NULL, + import_key varchar(14) + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; + +ALTER TABLE llx_hrm_evaluationdet ADD INDEX idx_hrm_evaluationdet_rowid (rowid); +ALTER TABLE llx_hrm_evaluationdet ADD CONSTRAINT llx_hrm_evaluationdet_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_hrm_evaluationdet ADD INDEX idx_hrm_evaluationdet_fk_skill (fk_skill); +ALTER TABLE llx_hrm_evaluationdet ADD INDEX idx_hrm_evaluationdet_fk_evaluation (fk_evaluation); + + +create table llx_hrm_evaluationdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_hrm_evaluationdet_extrafields ADD INDEX idx_evaluationdet_fk_object(fk_object); + + + + +CREATE TABLE llx_hrm_job( + + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + label varchar(255) NOT NULL, + description text, + date_creation datetime NOT NULL, + tms timestamp, + deplacement varchar(255), + note_public text, + note_private text, + fk_user_creat integer, + fk_user_modif integer + +) ENGINE=innodb; + +ALTER TABLE llx_hrm_job ADD INDEX idx_hrm_job_rowid (rowid); +ALTER TABLE llx_hrm_job ADD INDEX idx_hrm_job_label (label); + + +create table llx_hrm_job_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_hrm_job_extrafields ADD INDEX idx_job_fk_object(fk_object); + + + +CREATE TABLE llx_hrm_job_user( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + -- ref varchar(128) NOT NULL, + description text, + date_creation datetime NOT NULL, + tms timestamp, + fk_contrat integer, + fk_user integer NOT NULL, + fk_job integer NOT NULL, + date_start date, + date_end date, + commentaire_abandon varchar(255), + note_public text, + note_private text, + fk_user_creat integer, + fk_user_modif integer + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; + +ALTER TABLE llx_hrm_job_user ADD INDEX idx_hrm_job_user_rowid (rowid); +-- ALTER TABLE llx_hrm_job_user ADD INDEX idx_hrm_job_user_ref (ref); + + +create table llx_hrm_job_user_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_hrm_job_user_extrafields ADD INDEX idx_position_fk_object(fk_object); + + + +CREATE TABLE llx_hrm_skill( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + label varchar(255), + description text, + date_creation datetime NOT NULL, + tms timestamp, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + required_level integer NOT NULL, + date_validite integer NOT NULL, + temps_theorique double(24,8) NOT NULL, + skill_type integer NOT NULL, + note_public text, + note_private text + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; + +ALTER TABLE llx_hrm_skill ADD INDEX idx_hrm_skill_rowid (rowid); +ALTER TABLE llx_hrm_skill ADD CONSTRAINT llx_hrm_skill_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_hrm_skill ADD INDEX idx_hrm_skill_skill_type (skill_type); + +create table llx_hrm_skill_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_hrm_skill_extrafields ADD INDEX idx_skill_fk_object(fk_object); + + +CREATE TABLE llx_hrm_skilldet( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + description text, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + fk_skill integer NOT NULL, + rank integer + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; + +ALTER TABLE llx_hrm_skilldet ADD INDEX idx_hrm_skilldet_rowid (rowid); +ALTER TABLE llx_hrm_skilldet ADD CONSTRAINT llx_hrm_skilldet_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); + +create table llx_hrm_skilldet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_hrm_skilldet_extrafields ADD INDEX idx_skilldet_fk_object(fk_object); + + +CREATE TABLE llx_hrm_skillrank( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + fk_skill integer NOT NULL, + rank integer NOT NULL, + fk_object integer NOT NULL, + date_creation datetime NOT NULL, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + objecttype varchar(128) NOT NULL + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; + +ALTER TABLE llx_hrm_skillrank ADD INDEX idx_hrm_skillrank_rowid (rowid); +ALTER TABLE llx_hrm_skillrank ADD INDEX idx_hrm_skillrank_fk_skill (fk_skill); +ALTER TABLE llx_hrm_skillrank ADD CONSTRAINT llx_hrm_skillrank_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); + +--END GRH/HRM MODULE + +-- Manage accountancy auxiliary account for thirdparties per entity +ALTER TABLE llx_societe_perentity ADD COLUMN accountancy_code_customer varchar(24) AFTER entity; -- equivalent to code_compta in llx_societe +ALTER TABLE llx_societe_perentity ADD COLUMN accountancy_code_supplier varchar(24) AFTER accountancy_code_customer; -- equivalent to code_compta_supplier in llx_societe + +ALTER TABLE llx_projet_task ADD COLUMN budget_amount double(24,8) AFTER priority; diff --git a/htdocs/install/mysql/tables/llx_actioncomm.sql b/htdocs/install/mysql/tables/llx_actioncomm.sql index 9012f6b3a66..2f3f7660698 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.sql @@ -55,7 +55,7 @@ create table llx_actioncomm durationp real, -- planed duration label varchar(255) NOT NULL, -- label/title of event or topic of email - note text, -- note of event or content of email + note text, -- private note of event or content of email calling_duration integer, -- when event is a phone call, duration of phone call diff --git a/htdocs/install/mysql/tables/llx_adherent.sql b/htdocs/install/mysql/tables/llx_adherent.sql index 787a2b15bd7..1d3a784dd74 100644 --- a/htdocs/install/mysql/tables/llx_adherent.sql +++ b/htdocs/install/mysql/tables/llx_adherent.sql @@ -48,6 +48,7 @@ create table llx_adherent state_id integer, country integer, email varchar(255), + url varchar(255) NULL, socialnetworks text DEFAULT NULL, -- json with socialnetworks skype varchar(255), -- deprecated diff --git a/htdocs/install/mysql/tables/llx_c_holiday_types.sql b/htdocs/install/mysql/tables/llx_c_holiday_types.sql index 9c09d486bec..b602ee1d330 100644 --- a/htdocs/install/mysql/tables/llx_c_holiday_types.sql +++ b/htdocs/install/mysql/tables/llx_c_holiday_types.sql @@ -22,7 +22,7 @@ CREATE TABLE llx_c_holiday_types ( label varchar(255) NOT NULL, affect integer NOT NULL, -- a request will change sold or not delay integer NOT NULL, -- Minimum delay to be allowed to make request - newByMonth double(8,5) DEFAULT 0 NOT NULL, -- Amount of new days for each user each month + newbymonth double(8,5) DEFAULT 0 NOT NULL, -- Amount of new days for each user each month fk_country integer DEFAULT NULL, -- This type is dedicated to a country active integer DEFAULT 1 ) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_categorie_knowledgemanagement.key.sql b/htdocs/install/mysql/tables/llx_categorie_knowledgemanagement.key.sql new file mode 100644 index 00000000000..47769643bd5 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_categorie_knowledgemanagement.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 EOXIA +-- +-- 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 https://www.gnu.org/licenses/. + +ALTER TABLE llx_categorie_knowledgemanagement ADD PRIMARY KEY pk_categorie_knowledgemanagement (fk_categorie, fk_knowledgemanagement); +ALTER TABLE llx_categorie_knowledgemanagement ADD INDEX idx_categorie_knowledgemanagement_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_knowledgemanagement ADD INDEX idx_categorie_knowledgemanagement_fk_knowledgemanagement (fk_knowledgemanagement); + +ALTER TABLE llx_categorie_knowledgemanagement ADD CONSTRAINT fk_categorie_knowledgemanagement_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_knowledgemanagement ADD CONSTRAINT fk_categorie_knowledgemanagement_knowledgemanagement_rowid FOREIGN KEY (fk_knowledgemanagement) REFERENCES llx_knowledgemanagement (rowid); diff --git a/htdocs/install/mysql/tables/llx_categorie_knowledgemanagement.sql b/htdocs/install/mysql/tables/llx_categorie_knowledgemanagement.sql new file mode 100644 index 00000000000..a693fb19c41 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_categorie_knowledgemanagement.sql @@ -0,0 +1,20 @@ +-- Copyright (C) 2021 EOXIA +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_categorie_knowledgemanagement( + fk_categorie integer NOT NULL, + fk_knowledgemanagement integer NOT NULL, + import_key varchar(14) +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_categorie_ticket.key.sql b/htdocs/install/mysql/tables/llx_categorie_ticket.key.sql new file mode 100644 index 00000000000..012b9a9eadc --- /dev/null +++ b/htdocs/install/mysql/tables/llx_categorie_ticket.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 EOXIA +-- +-- 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 https://www.gnu.org/licenses/. + +ALTER TABLE llx_categorie_ticket ADD PRIMARY KEY pk_categorie_ticket (fk_categorie, fk_ticket); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_ticket (fk_ticket); + +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_ticket_rowid FOREIGN KEY (fk_ticket) REFERENCES llx_ticket (rowid); diff --git a/htdocs/install/mysql/tables/llx_categorie_ticket.sql b/htdocs/install/mysql/tables/llx_categorie_ticket.sql new file mode 100644 index 00000000000..16ab92522c6 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_categorie_ticket.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 EOXIA +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_categorie_ticket +( + fk_categorie integer NOT NULL, + fk_ticket integer NOT NULL, + import_key varchar(14) +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql index b5f85fea250..974e10c09ff 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql @@ -36,5 +36,6 @@ create table llx_commande_fournisseur_dispatch sellby date DEFAULT NULL, status integer, datec datetime, - tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + cost_price double(24,8) DEFAULT 0 )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql index c7a7f8ecf7f..b780d24f1e2 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql @@ -29,10 +29,10 @@ create table llx_commande_fournisseurdet label varchar(255), -- product label description text, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3) DEFAULT 0, -- taux tva - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4) DEFAULT 0, -- taux tva + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type qty real, -- quantity remise_percent real DEFAULT 0, -- pourcentage de remise diff --git a/htdocs/install/mysql/tables/llx_commandedet.sql b/htdocs/install/mysql/tables/llx_commandedet.sql index c7b94a46add..caff1ce7028 100644 --- a/htdocs/install/mysql/tables/llx_commandedet.sql +++ b/htdocs/install/mysql/tables/llx_commandedet.sql @@ -29,10 +29,10 @@ create table llx_commandedet label varchar(255) DEFAULT NULL, description text, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3), -- Vat rate - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4), -- Vat rate + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type qty real, -- quantity remise_percent real DEFAULT 0, -- pourcentage de remise diff --git a/htdocs/install/mysql/tables/llx_contratdet.sql b/htdocs/install/mysql/tables/llx_contratdet.sql index bbe19955e33..e9be3c4ad0c 100644 --- a/htdocs/install/mysql/tables/llx_contratdet.sql +++ b/htdocs/install/mysql/tables/llx_contratdet.sql @@ -38,10 +38,10 @@ create table llx_contratdet date_cloture datetime, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3) DEFAULT 0, -- taux tva - localtax1_tx double(6,3) DEFAULT 0, -- local tax 1 rate + tva_tx double(7,4) DEFAULT 0, -- taux tva + localtax1_tx double(7,4) DEFAULT 0, -- local tax 1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- local tax 2 rate + localtax2_tx double(7,4) DEFAULT 0, -- local tax 2 rate localtax2_type varchar(10) NULL, -- localtax2 type qty real NOT NULL, -- quantity remise_percent real DEFAULT 0, -- pourcentage de remise diff --git a/htdocs/install/mysql/tables/llx_ecm_directories_extrafileds.sql b/htdocs/install/mysql/tables/llx_ecm_directories_extrafields.sql similarity index 100% rename from htdocs/install/mysql/tables/llx_ecm_directories_extrafileds.sql rename to htdocs/install/mysql/tables/llx_ecm_directories_extrafields.sql diff --git a/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql b/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql index c45a3dcd1c4..deda90cbdcd 100644 --- a/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql +++ b/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql @@ -19,7 +19,7 @@ CREATE TABLE llx_emailcollector_emailcollectoraction( rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, fk_emailcollector INTEGER NOT NULL, type varchar(128) NOT NULL, - actionparam varchar(255) NULL, + actionparam text NULL, date_creation datetime NOT NULL, tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_user_creat integer NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.key.sql b/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.key.sql index 3b9cc52e68f..9e1bbcde191 100644 --- a/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.key.sql +++ b/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.key.sql @@ -18,13 +18,11 @@ ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_rowid (rowid); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_ref (ref); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_soc (fk_soc); -ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe(rowid); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_actioncomm (fk_actioncomm); -ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD CONSTRAINT fx_eventorganization_conferenceorboothattendee_fk_actioncomm FOREIGN KEY (fk_actioncomm) REFERENCES llx_actioncomm(id); +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_fk_project (fk_project); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_email (email); ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD INDEX idx_eventorganization_conferenceorboothattendee_status (status); -- END MODULEBUILDER INDEXES -ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_soc, fk_actioncomm, email); - +ALTER TABLE llx_eventorganization_conferenceorboothattendee ADD UNIQUE INDEX uk_eventorganization_conferenceorboothattendee(fk_project, email, fk_actioncomm); diff --git a/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.sql b/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.sql index 026295627d0..b505f8f6a31 100644 --- a/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.sql +++ b/htdocs/install/mysql/tables/llx_eventorganization_conferenceorboothattendee.sql @@ -19,7 +19,9 @@ CREATE TABLE llx_eventorganization_conferenceorboothattendee( rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, ref varchar(128) NOT NULL, fk_soc integer, - fk_actioncomm integer NOT NULL, + fk_actioncomm integer, + fk_project integer NOT NULL, + fk_invoice integer NULL, email varchar(100), date_subscription datetime, amount double DEFAULT NULL, diff --git a/htdocs/install/mysql/tables/llx_expensereport_det.sql b/htdocs/install/mysql/tables/llx_expensereport_det.sql index bd97600e2c8..e6304f64c7f 100644 --- a/htdocs/install/mysql/tables/llx_expensereport_det.sql +++ b/htdocs/install/mysql/tables/llx_expensereport_det.sql @@ -31,10 +31,10 @@ CREATE TABLE llx_expensereport_det value_unit double(24,8) NOT NULL, -- P.U. TTC (example 120) remise_percent real, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3), -- Vat rate - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4), -- Vat rate + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type total_ht double(24,8) DEFAULT 0 NOT NULL, total_tva double(24,8) DEFAULT 0 NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_facture.sql b/htdocs/install/mysql/tables/llx_facture.sql index acb43444ad2..562d29efe97 100644 --- a/htdocs/install/mysql/tables/llx_facture.sql +++ b/htdocs/install/mysql/tables/llx_facture.sql @@ -42,7 +42,7 @@ create table llx_facture tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- last modification date date_closing datetime, -- date de cloture paye smallint DEFAULT 0 NOT NULL, - --amount double(24,8) DEFAULT 0 NOT NULL, + remise_percent real DEFAULT 0, -- remise relative remise_absolue real DEFAULT 0, -- remise absolue remise real DEFAULT 0, -- remise totale calculee @@ -86,7 +86,7 @@ create table llx_facture fk_incoterms integer, -- for incoterms location_incoterms varchar(255), -- for incoterms - fk_mode_transport integer, -- for intracomm report + fk_transport_mode integer, -- for intracomm report situation_cycle_ref smallint, -- situation cycle reference situation_counter smallint, -- situation counter diff --git a/htdocs/install/mysql/tables/llx_facture_fourn.sql b/htdocs/install/mysql/tables/llx_facture_fourn.sql index e5e78f87028..1b7401898ab 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn.sql @@ -74,7 +74,7 @@ create table llx_facture_fourn fk_incoterms integer, -- for incoterms location_incoterms varchar(255), -- for incoterms - fk_mode_transport integer, -- for intracomm report + fk_transport_mode integer, -- for intracomm report model_pdf varchar(255), last_main_doc varchar(255), -- relative filepath+filename of last main generated document diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det.sql index 40b613d4ac5..4012fb7087d 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn_det.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det.sql @@ -33,10 +33,10 @@ create table llx_facture_fourn_det remise_percent real DEFAULT 0, -- % de la remise ligne (exemple 20%) fk_remise_except integer NULL, -- Lien vers table des remises fixes vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3), -- TVA taux product/service - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4), -- TVA taux product/service + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type total_ht double(24,8), -- Total line price of product excluding tax tva double(24,8), -- Total TVA of line diff --git a/htdocs/install/mysql/tables/llx_facturedet.sql b/htdocs/install/mysql/tables/llx_facturedet.sql index 3b1ea86cc0e..5e48b16be09 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.sql @@ -31,10 +31,10 @@ create table llx_facturedet label varchar(255) DEFAULT NULL, description text, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3), -- Vat rate (example 20%) - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4), -- Vat rate (example 20%) + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type qty real, -- Quantity (exemple 2). Note: for credit note, the price is negative, not the quantity. Like for discount, price is negative, not quantity. remise_percent real DEFAULT 0, -- % de la remise ligne (exemple 20%) diff --git a/htdocs/install/mysql/tables/llx_facturedet_rec.sql b/htdocs/install/mysql/tables/llx_facturedet_rec.sql index a66d7ccb0c3..f515276c442 100644 --- a/htdocs/install/mysql/tables/llx_facturedet_rec.sql +++ b/htdocs/install/mysql/tables/llx_facturedet_rec.sql @@ -30,10 +30,10 @@ create table llx_facturedet_rec label varchar(255) DEFAULT NULL, description text, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3), -- taux tva - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4), -- taux tva + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type qty real, -- quantity remise_percent real DEFAULT 0, -- pourcentage de remise diff --git a/htdocs/install/mysql/tables/llx_holiday.sql b/htdocs/install/mysql/tables/llx_holiday.sql index 3cd5727d867..992f9502394 100644 --- a/htdocs/install/mysql/tables/llx_holiday.sql +++ b/htdocs/install/mysql/tables/llx_holiday.sql @@ -33,8 +33,10 @@ date_fin DATE NOT NULL, halfday integer DEFAULT 0, -- 0=start morning and end afternoon, -1=start afternoon end afternoon, 1=start morning and end morning, 2=start afternoon and end morning statut integer NOT NULL DEFAULT '1', fk_validator integer NOT NULL, -- who should approve -date_valid DATETIME DEFAULT NULL, -- date approval -fk_user_valid integer DEFAULT NULL, -- user approval +date_valid DATETIME DEFAULT NULL, -- date approval (both date valid and date_approval) +fk_user_valid integer DEFAULT NULL, -- user approval (both user valid and user that approved) +date_approve DATETIME DEFAULT NULL, -- date approval (not used yet) +fk_user_approve integer DEFAULT NULL, -- user approval (not used yet) date_refuse DATETIME DEFAULT NULL, fk_user_refuse integer DEFAULT NULL, date_cancel DATETIME DEFAULT NULL, diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluation.key.sql b/htdocs/install/mysql/tables/llx_hrm_evaluation.key.sql new file mode 100644 index 00000000000..804bc6b4803 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluation.key.sql @@ -0,0 +1,29 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_evaluation ADD INDEX idx_hrm_evaluation_rowid (rowid); +ALTER TABLE llx_hrm_evaluation ADD INDEX idx_hrm_evaluation_ref (ref); +ALTER TABLE llx_hrm_evaluation ADD CONSTRAINT llx_hrm_evaluation_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_hrm_evaluation ADD INDEX idx_hrm_evaluation_status (status); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_evaluation ADD UNIQUE INDEX uk_hrm_evaluation_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_evaluation ADD CONSTRAINT llx_hrm_evaluation_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluation.sql b/htdocs/install/mysql/tables/llx_hrm_evaluation.sql new file mode 100644 index 00000000000..bc9b7a1effc --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluation.sql @@ -0,0 +1,37 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +CREATE TABLE llx_hrm_evaluation( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + ref varchar(128) DEFAULT '(PROV)' NOT NULL, + label varchar(255), + description text, + note_public text, + note_private text, + date_creation datetime NOT NULL, + tms timestamp, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + import_key varchar(14), + status smallint NOT NULL, + date_eval date, + fk_user integer NOT NULL, + fk_job integer NOT NULL + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluation_extrafields.key.sql b/htdocs/install/mysql/tables/llx_hrm_evaluation_extrafields.key.sql new file mode 100644 index 00000000000..ff9ba9d6cb6 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluation_extrafields.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_evaluation_extrafields ADD INDEX idx_evaluation_fk_object(fk_object); +-- END MODULEBUILDER INDEXES diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluation_extrafields.sql b/htdocs/install/mysql/tables/llx_hrm_evaluation_extrafields.sql new file mode 100644 index 00000000000..da00cc3c333 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluation_extrafields.sql @@ -0,0 +1,25 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_hrm_evaluation_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluationdet.key.sql b/htdocs/install/mysql/tables/llx_hrm_evaluationdet.key.sql new file mode 100644 index 00000000000..05309ce57e2 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluationdet.key.sql @@ -0,0 +1,29 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_evaluationdet ADD INDEX idx_hrm_evaluationdet_rowid (rowid); +ALTER TABLE llx_hrm_evaluationdet ADD CONSTRAINT llx_hrm_evaluationdet_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_hrm_evaluationdet ADD INDEX idx_hrm_evaluationdet_fk_skill (fk_skill); +ALTER TABLE llx_hrm_evaluationdet ADD INDEX idx_hrm_evaluationdet_fk_evaluation (fk_evaluation); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_evaluationdet ADD UNIQUE INDEX uk_hrm_evaluationdet_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_evaluationdet ADD CONSTRAINT llx_hrm_evaluationdet_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluationdet.sql b/htdocs/install/mysql/tables/llx_hrm_evaluationdet.sql new file mode 100644 index 00000000000..0509cc80146 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluationdet.sql @@ -0,0 +1,32 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +CREATE TABLE llx_hrm_evaluationdet( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + date_creation datetime NOT NULL, + tms timestamp, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + fk_skill integer NOT NULL, + fk_evaluation integer NOT NULL, + rank integer NOT NULL, + required_rank integer NOT NULL, + import_key varchar(14) + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluationdet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_hrm_evaluationdet_extrafields.key.sql new file mode 100644 index 00000000000..5072e2eb67b --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluationdet_extrafields.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_evaluationdet_extrafields ADD INDEX idx_evaluationdet_fk_object(fk_object); +-- END MODULEBUILDER INDEXES diff --git a/htdocs/install/mysql/tables/llx_hrm_evaluationdet_extrafields.sql b/htdocs/install/mysql/tables/llx_hrm_evaluationdet_extrafields.sql new file mode 100644 index 00000000000..4d4031ba228 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_evaluationdet_extrafields.sql @@ -0,0 +1,24 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_hrm_evaluationdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_job.key.sql b/htdocs/install/mysql/tables/llx_hrm_job.key.sql new file mode 100644 index 00000000000..6fe7da6016e --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job.key.sql @@ -0,0 +1,27 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_job ADD INDEX idx_hrm_job_rowid (rowid); +ALTER TABLE llx_hrm_job ADD INDEX idx_hrm_job_label (label); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_job ADD UNIQUE INDEX uk_hrm_job_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_job ADD CONSTRAINT llx_hrm_job_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_job.sql b/htdocs/install/mysql/tables/llx_hrm_job.sql new file mode 100644 index 00000000000..51f472af377 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job.sql @@ -0,0 +1,32 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +CREATE TABLE llx_hrm_job( + + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + label varchar(255) NOT NULL, + description text, + date_creation datetime NOT NULL, + tms timestamp, + deplacement varchar(255), + note_public text, + note_private text, + fk_user_creat integer, + fk_user_modif integer + +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_job_extrafields.key.sql b/htdocs/install/mysql/tables/llx_hrm_job_extrafields.key.sql new file mode 100644 index 00000000000..b5226dc4c38 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job_extrafields.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_job_extrafields ADD INDEX idx_job_fk_object(fk_object); +-- END MODULEBUILDER INDEXES diff --git a/htdocs/install/mysql/tables/llx_hrm_job_extrafields.sql b/htdocs/install/mysql/tables/llx_hrm_job_extrafields.sql new file mode 100644 index 00000000000..10cccf1c36f --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job_extrafields.sql @@ -0,0 +1,25 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_hrm_job_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_hrm_job_user.key.sql b/htdocs/install/mysql/tables/llx_hrm_job_user.key.sql new file mode 100644 index 00000000000..ead2f7f3b18 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job_user.key.sql @@ -0,0 +1,27 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_job_user ADD INDEX idx_hrm_job_user_rowid (rowid); +-- ALTER TABLE llx_hrm_job_user ADD INDEX idx_hrm_job_user_ref (ref); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_job_user ADD UNIQUE INDEX uk_hrm_job_user_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_job_user ADD CONSTRAINT llx_hrm_job_user_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_job_user.sql b/htdocs/install/mysql/tables/llx_hrm_job_user.sql new file mode 100644 index 00000000000..ce9620623dd --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job_user.sql @@ -0,0 +1,36 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + +CREATE TABLE llx_hrm_job_user( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + -- ref varchar(128) NOT NULL, + description text, + date_creation datetime NOT NULL, + tms timestamp, + fk_contrat integer, + fk_user integer NOT NULL, + fk_job integer NOT NULL, + date_start datetime, + date_end datetime, + commentaire_abandon varchar(255), + note_public text, + note_private text, + fk_user_creat integer, + fk_user_modif integer + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_job_user_extrafields.key.sql b/htdocs/install/mysql/tables/llx_hrm_job_user_extrafields.key.sql new file mode 100644 index 00000000000..99ed1f4c1bc --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job_user_extrafields.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_job_user_extrafields ADD INDEX idx_position_fk_object(fk_object); +-- END MODULEBUILDER INDEXES diff --git a/htdocs/install/mysql/tables/llx_hrm_job_user_extrafields.sql b/htdocs/install/mysql/tables/llx_hrm_job_user_extrafields.sql new file mode 100644 index 00000000000..7495563f68d --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_job_user_extrafields.sql @@ -0,0 +1,25 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_hrm_job_user_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_hrm_skill.key.sql b/htdocs/install/mysql/tables/llx_hrm_skill.key.sql new file mode 100644 index 00000000000..b3196bf8522 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skill.key.sql @@ -0,0 +1,28 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_skill ADD INDEX idx_hrm_skill_rowid (rowid); +ALTER TABLE llx_hrm_skill ADD CONSTRAINT llx_hrm_skill_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_hrm_skill ADD INDEX idx_hrm_skill_skill_type (skill_type); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_skill ADD UNIQUE INDEX uk_hrm_skill_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_skill ADD CONSTRAINT llx_hrm_skill_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_skill.sql b/htdocs/install/mysql/tables/llx_hrm_skill.sql new file mode 100644 index 00000000000..96a31be588a --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skill.sql @@ -0,0 +1,35 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +CREATE TABLE llx_hrm_skill( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + label varchar(255), + description text, + date_creation datetime NOT NULL, + tms timestamp, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + required_level integer NOT NULL, + date_validite integer NOT NULL, + temps_theorique double(24,8) NOT NULL, + skill_type integer NOT NULL, + note_public text, + note_private text + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_skill_extrafields.key.sql b/htdocs/install/mysql/tables/llx_hrm_skill_extrafields.key.sql new file mode 100644 index 00000000000..a4ae591731e --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skill_extrafields.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_skill_extrafields ADD INDEX idx_skill_fk_object(fk_object); +-- END MODULEBUILDER INDEXES diff --git a/htdocs/install/mysql/tables/llx_hrm_skill_extrafields.sql b/htdocs/install/mysql/tables/llx_hrm_skill_extrafields.sql new file mode 100644 index 00000000000..d47657e34f8 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skill_extrafields.sql @@ -0,0 +1,25 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + +create table llx_hrm_skill_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_hrm_skilldet.key.sql b/htdocs/install/mysql/tables/llx_hrm_skilldet.key.sql new file mode 100644 index 00000000000..289276e07b5 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skilldet.key.sql @@ -0,0 +1,27 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_skilldet ADD INDEX idx_hrm_skilldet_rowid (rowid); +ALTER TABLE llx_hrm_skilldet ADD CONSTRAINT llx_hrm_skilldet_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_skilldet ADD UNIQUE INDEX uk_hrm_skilldet_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_skilldet ADD CONSTRAINT llx_hrm_skilldet_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_skilldet.sql b/htdocs/install/mysql/tables/llx_hrm_skilldet.sql new file mode 100644 index 00000000000..fba82645915 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skilldet.sql @@ -0,0 +1,28 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +CREATE TABLE llx_hrm_skilldet( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + description text, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + fk_skill integer NOT NULL, + rank integer + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_hrm_skilldet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_hrm_skilldet_extrafields.key.sql new file mode 100644 index 00000000000..319eb193a18 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skilldet_extrafields.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_skilldet_extrafields ADD INDEX idx_skilldet_fk_object(fk_object); +-- END MODULEBUILDER INDEXES diff --git a/htdocs/install/mysql/tables/llx_hrm_skilldet_extrafields.sql b/htdocs/install/mysql/tables/llx_hrm_skilldet_extrafields.sql new file mode 100644 index 00000000000..a6e14f476c0 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skilldet_extrafields.sql @@ -0,0 +1,24 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- 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 https://www.gnu.org/licenses/. + +create table llx_hrm_skilldet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_hrm_skillrank.key.sql b/htdocs/install/mysql/tables/llx_hrm_skillrank.key.sql new file mode 100644 index 00000000000..11d89b0187c --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skillrank.key.sql @@ -0,0 +1,27 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- 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 https://www.gnu.org/licenses/. + + +-- BEGIN MODULEBUILDER INDEXES +ALTER TABLE llx_hrm_skillrank ADD INDEX idx_hrm_skillrank_rowid (rowid); +ALTER TABLE llx_hrm_skillrank ADD INDEX idx_hrm_skillrank_fk_skill (fk_skill); +ALTER TABLE llx_hrm_skillrank ADD CONSTRAINT llx_hrm_skillrank_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +-- END MODULEBUILDER INDEXES + +--ALTER TABLE llx_hrm_skillrank ADD UNIQUE INDEX uk_hrm_skillrank_fieldxy(fieldx, fieldy); + +--ALTER TABLE llx_hrm_skillrank ADD CONSTRAINT llx_hrm_skillrank_fk_field FOREIGN KEY (fk_field) REFERENCES llx_hrm_myotherobject(rowid); + diff --git a/htdocs/install/mysql/tables/llx_hrm_skillrank.sql b/htdocs/install/mysql/tables/llx_hrm_skillrank.sql new file mode 100644 index 00000000000..5c4deb95938 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_hrm_skillrank.sql @@ -0,0 +1,30 @@ +-- Copyright (C) 2021 Gauthier VERDOL +-- Copyright (C) 2021 Greg Rastklan +-- Copyright (C) 2021 Jean-Pascal BOUDET +-- 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 https://www.gnu.org/licenses/. + + +CREATE TABLE llx_hrm_skillrank( + -- BEGIN MODULEBUILDER FIELDS + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + fk_skill integer NOT NULL, + rank integer NOT NULL, + fk_object integer NOT NULL, + date_creation datetime NOT NULL, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + fk_user_creat integer NOT NULL, + fk_user_modif integer, + objecttype varchar(128) NOT NULL + -- END MODULEBUILDER FIELDS +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_knowledgemanagement_knowledgerecord.sql b/htdocs/install/mysql/tables/llx_knowledgemanagement_knowledgerecord.sql index 65c8add25c4..384725056ab 100644 --- a/htdocs/install/mysql/tables/llx_knowledgemanagement_knowledgerecord.sql +++ b/htdocs/install/mysql/tables/llx_knowledgemanagement_knowledgerecord.sql @@ -16,11 +16,13 @@ CREATE TABLE llx_knowledgemanagement_knowledgerecord( -- BEGIN MODULEBUILDER FIELDS - rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id ref varchar(128) NOT NULL, date_creation datetime NOT NULL, tms timestamp, last_main_doc varchar(255), + lang varchar(6), fk_user_creat integer NOT NULL, fk_user_modif integer, fk_user_valid integer, diff --git a/htdocs/install/mysql/tables/llx_mrp_mo.sql b/htdocs/install/mysql/tables/llx_mrp_mo.sql index de1933ccfed..185ea1583c9 100644 --- a/htdocs/install/mysql/tables/llx_mrp_mo.sql +++ b/htdocs/install/mysql/tables/llx_mrp_mo.sql @@ -17,8 +17,9 @@ CREATE TABLE llx_mrp_mo( -- BEGIN MODULEBUILDER FIELDS rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, - ref varchar(128) DEFAULT '(PROV)' NOT NULL, entity integer DEFAULT 1 NOT NULL, + ref varchar(128) DEFAULT '(PROV)' NOT NULL, + mrptype integer DEFAULT 0, -- 0 for a manufacture MO, 1 for a dismantle MO label varchar(255), qty real NOT NULL, fk_warehouse integer, diff --git a/htdocs/install/mysql/tables/llx_oauth_token.sql b/htdocs/install/mysql/tables/llx_oauth_token.sql index 7674f7f3455..62542d13401 100644 --- a/htdocs/install/mysql/tables/llx_oauth_token.sql +++ b/htdocs/install/mysql/tables/llx_oauth_token.sql @@ -18,8 +18,8 @@ CREATE TABLE llx_oauth_token ( rowid integer AUTO_INCREMENT PRIMARY KEY, service varchar(36), -- What king of key or token: 'Google', 'Stripe', 'auth-public-key', ... - token text, -- token in serialize() format, of an object StdOAuth2Token of library phpoauth2 - tokenstring text, -- token in text or json format. Value depends on 'service'. For example for an OAUTH service: '{"access_token": "sk_test_cccc", "refresh_token": "rt_aaa", "token_type": "bearer", ..., "scope": "read_write"} + token text, -- token in serialize format, of an object StdOAuth2Token of library phpoauth2. Deprecated, use tokenstring instead. + tokenstring text, -- token in json or text format. Value depends on 'service'. For example for an OAUTH service: '{"access_token": "sk_test_cccc", "refresh_token": "rt_aaa", "token_type": "bearer", ..., "scope": "read_write"} fk_soc integer, -- Id of thirdparty in llx_societe fk_user integer, -- Id of user in llx_user fk_adherent integer, -- Id of member in llx_adherent diff --git a/htdocs/install/mysql/tables/llx_object_lang.sql b/htdocs/install/mysql/tables/llx_object_lang.sql index cc4352f3acc..01b70b208ff 100644 --- a/htdocs/install/mysql/tables/llx_object_lang.sql +++ b/htdocs/install/mysql/tables/llx_object_lang.sql @@ -25,7 +25,7 @@ create table llx_object_lang fk_object integer DEFAULT 0 NOT NULL, type_object varchar(32) NOT NULL, -- value found into $object->element: 'thirdparty', 'contact', '...' property varchar(32) NOT NULL, -- name of property - lang varchar(5) DEFAULT 0 NOT NULL, + lang varchar(5) DEFAULT '' NOT NULL, value text, import_key varchar(14) DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_onlinesignature.sql b/htdocs/install/mysql/tables/llx_onlinesignature.sql new file mode 100644 index 00000000000..0c81669c467 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_onlinesignature.sql @@ -0,0 +1,31 @@ +-- =================================================================== +-- Copyright (C) 2021 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- Table of with online signatures +-- =================================================================== + +create table llx_onlinesignature +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + object_type varchar(32) NOT NULL, + object_id integer NOT NULL, + datec datetime NOT NULL, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + name varchar(255) NOT NULL, + ip varchar(128), + pathoffile varchar(255) +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_partnership.key.sql b/htdocs/install/mysql/tables/llx_partnership.key.sql new file mode 100644 index 00000000000..7d09cdddda8 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_partnership.key.sql @@ -0,0 +1,21 @@ +-- =================================================================== +-- Copyright (C) 2012 Laurent Destailleur +-- Copyright (C) 2016 Regis Houssin +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +ALTER TABLE llx_partnership ADD INDEX idx_partnership_entity (entity); +ALTER TABLE llx_partnership ADD UNIQUE INDEX uk_partnership_ref (ref, entity); diff --git a/htdocs/install/mysql/tables/llx_partnership.sql b/htdocs/install/mysql/tables/llx_partnership.sql new file mode 100644 index 00000000000..6ab312f8875 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_partnership.sql @@ -0,0 +1,40 @@ +-- =================================================================== +-- Copyright (C) 2004 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +CREATE TABLE llx_partnership( + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + ref varchar(128) DEFAULT '(PROV)' NOT NULL, + status smallint NOT NULL DEFAULT '0', + fk_soc integer, + fk_member integer, + date_partnership_start date NOT NULL, + date_partnership_end date NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id, 0 = all + reason_decline_or_cancel text NULL, + date_creation datetime NOT NULL, + fk_user_creat integer NOT NULL, + tms timestamp, + fk_user_modif integer, + note_private text, + note_public text, + last_main_doc varchar(255), + count_last_url_check_error integer DEFAULT '0', + last_check_backlink datetime NULL, + import_key varchar(14), + model_pdf varchar(255) +) ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql b/htdocs/install/mysql/tables/llx_partnership_extrafields.key.sql similarity index 89% rename from htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql rename to htdocs/install/mysql/tables/llx_partnership_extrafields.key.sql index 9231351a749..a6554ebacf6 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_partnership_extrafields.key.sql @@ -17,4 +17,4 @@ -- =================================================================== -ALTER TABLE llx_payment_salary_extrafields ADD INDEX idx_payment_salary_extrafields (fk_object); +ALTER TABLE llx_partnership_extrafields ADD INDEX idx_partnership_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql b/htdocs/install/mysql/tables/llx_partnership_extrafields.sql similarity index 96% rename from htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql rename to htdocs/install/mysql/tables/llx_partnership_extrafields.sql index 5f15918ef18..ebb2eba8c6a 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_partnership_extrafields.sql @@ -16,7 +16,7 @@ -- -- =================================================================== -create table llx_payment_salary_extrafields +create table llx_partnership_extrafields ( rowid integer AUTO_INCREMENT PRIMARY KEY, tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, diff --git a/htdocs/install/mysql/tables/llx_product.sql b/htdocs/install/mysql/tables/llx_product.sql index 4aad3393137..80e3f90b828 100644 --- a/htdocs/install/mysql/tables/llx_product.sql +++ b/htdocs/install/mysql/tables/llx_product.sql @@ -47,11 +47,11 @@ create table llx_product price_base_type varchar(3) DEFAULT 'HT', cost_price double(24,8) DEFAULT NULL, -- Cost price without tax. Can be used for margin calculation. default_vat_code varchar(10), -- Same code than into table llx_c_tva (but no constraints). Should be used in priority to find default vat, npr, localtaxes for product. - tva_tx double(6,3), -- Default VAT rate of product + tva_tx double(7,4), -- Default VAT rate of product recuperableonly integer NOT NULL DEFAULT '0', -- French NPR VAT - localtax1_tx double(6,3) DEFAULT 0, + localtax1_tx double(7,4) DEFAULT 0, localtax1_type varchar(10) NOT NULL DEFAULT '0', - localtax2_tx double(6,3) DEFAULT 0, + localtax2_tx double(7,4) DEFAULT 0, localtax2_type varchar(10) NOT NULL DEFAULT '0', fk_user_author integer DEFAULT NULL, -- user making creation fk_user_modif integer, -- user making last change @@ -103,5 +103,8 @@ create table llx_product desiredstock float DEFAULT 0, fk_unit integer DEFAULT NULL, price_autogen tinyint DEFAULT 0, - fk_project integer DEFAULT NULL -- Used when product was generated by a project or is specifif to a project + fk_project integer DEFAULT NULL, -- Used when product was generated by a project or is specifif to a project + mandatory_period tinyint DEFAULT 0, -- is used to signal to the user that the start and end dates are mandatory for this type of product the fk_product_type == 1 (service) (non-blocking action) + + fk_default_bom integer DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product_association.sql b/htdocs/install/mysql/tables/llx_product_association.sql index 91cc14882f1..f97e2aa6a0b 100644 --- a/htdocs/install/mysql/tables/llx_product_association.sql +++ b/htdocs/install/mysql/tables/llx_product_association.sql @@ -23,6 +23,7 @@ create table llx_product_association fk_product_pere integer NOT NULL DEFAULT 0, -- id du produit maitre fk_product_fils integer NOT NULL DEFAULT 0, -- id du sous-produit qty double NULL, - incdec integer DEFAULT 1 -- when set to 1 changing stock of product will change stock of linked product too + incdec integer DEFAULT 1, -- when set to 1 changing stock of product will change stock of linked product too + rang integer DEFAULT 0 )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product_customer_price.sql b/htdocs/install/mysql/tables/llx_product_customer_price.sql index f0d5edf9c2f..7f843a8784e 100644 --- a/htdocs/install/mysql/tables/llx_product_customer_price.sql +++ b/htdocs/install/mysql/tables/llx_product_customer_price.sql @@ -28,18 +28,18 @@ create table llx_product_customer_price tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_product integer NOT NULL, fk_soc integer NOT NULL, - ref_customer varchar(30), + ref_customer varchar(128), price double(24,8) DEFAULT 0, price_ttc double(24,8) DEFAULT 0, price_min double(24,8) DEFAULT 0, price_min_ttc double(24,8) DEFAULT 0, price_base_type varchar(3) DEFAULT 'HT', default_vat_code varchar(10), -- Same code than into table llx_c_tva (but no constraints). Should be used in priority to find default vat, npr, localtaxes for product. - tva_tx double(6,3), + tva_tx double(7,4), recuperableonly integer NOT NULL DEFAULT '0', -- Other NPR VAT - localtax1_tx double(6,3) DEFAULT 0, -- Other local VAT 1 + localtax1_tx double(7,4) DEFAULT 0, -- Other local VAT 1 localtax1_type varchar(10) NOT NULL DEFAULT '0', - localtax2_tx double(6,3) DEFAULT 0, -- Other local VAT 2 + localtax2_tx double(7,4) DEFAULT 0, -- Other local VAT 2 localtax2_type varchar(10) NOT NULL DEFAULT '0', fk_user integer, import_key varchar(14) -- Import key diff --git a/htdocs/install/mysql/tables/llx_product_customer_price_log.sql b/htdocs/install/mysql/tables/llx_product_customer_price_log.sql index 29906fe7ff2..cd591b41099 100644 --- a/htdocs/install/mysql/tables/llx_product_customer_price_log.sql +++ b/htdocs/install/mysql/tables/llx_product_customer_price_log.sql @@ -34,11 +34,11 @@ create table llx_product_customer_price_log price_min_ttc double(24,8) DEFAULT 0, price_base_type varchar(3) DEFAULT 'HT', default_vat_code varchar(10), -- Same code than into table llx_c_tva (but no constraints). Should be used in priority to find default vat, npr, localtaxes for product. - tva_tx double(6,3), + tva_tx double(7,4), recuperableonly integer NOT NULL DEFAULT '0', -- Other NPR VAT - localtax1_tx double(6,3) DEFAULT 0, -- Other local VAT 1 + localtax1_tx double(7,4) DEFAULT 0, -- Other local VAT 1 localtax1_type varchar(10) NOT NULL DEFAULT '0', - localtax2_tx double(6,3) DEFAULT 0, -- Other local VAT 2 + localtax2_tx double(7,4) DEFAULT 0, -- Other local VAT 2 localtax2_type varchar(10) NOT NULL DEFAULT '0', fk_user integer, import_key varchar(14) -- Import key diff --git a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql index 4e1d75dd1dd..51b691e8ae2 100644 --- a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql +++ b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql @@ -27,7 +27,7 @@ create table llx_product_fournisseur_price tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_product integer, fk_soc integer, - ref_fourn varchar(30), + ref_fourn varchar(128), desc_fourn text, fk_availability integer, price double(24,8) DEFAULT 0, -- price without tax for quantity @@ -39,10 +39,10 @@ create table llx_product_fournisseur_price default_vat_code varchar(10), barcode varchar(180) DEFAULT NULL, -- barcode fk_barcode_type integer DEFAULT NULL, -- barcode type - tva_tx double(6,3) NOT NULL, - localtax1_tx double(6,3) DEFAULT 0, + tva_tx double(7,4) NOT NULL, + localtax1_tx double(7,4) DEFAULT 0, localtax1_type varchar(10) NOT NULL DEFAULT '0', - localtax2_tx double(6,3) DEFAULT 0, + localtax2_tx double(7,4) DEFAULT 0, localtax2_type varchar(10) NOT NULL DEFAULT '0', info_bits integer NOT NULL DEFAULT 0, fk_user integer, diff --git a/htdocs/install/mysql/tables/llx_product_lot.sql b/htdocs/install/mysql/tables/llx_product_lot.sql index f8d02f19ccb..162f1c6c122 100644 --- a/htdocs/install/mysql/tables/llx_product_lot.sql +++ b/htdocs/install/mysql/tables/llx_product_lot.sql @@ -25,8 +25,10 @@ CREATE TABLE llx_product_lot ( eatby date DEFAULT NULL, -- Eatby date sellby date DEFAULT NULL, -- Sellby date eol_date datetime NULL, - manufacturing_date datetime NULL, - scrapping_date datetime NULL, + manufacturing_date datetime NULL, -- date when first manufacturing of this lot has started + scrapping_date datetime NULL, -- date when we decided to scrap all products of this lot + barcode varchar(180) DEFAULT NULL, -- barcode + fk_barcode_type integer DEFAULT NULL, -- barcode type datec datetime, tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_user_creat integer, diff --git a/htdocs/install/mysql/tables/llx_product_price.sql b/htdocs/install/mysql/tables/llx_product_price.sql index ff862e427e0..9ebbeed9f96 100644 --- a/htdocs/install/mysql/tables/llx_product_price.sql +++ b/htdocs/install/mysql/tables/llx_product_price.sql @@ -35,11 +35,11 @@ create table llx_product_price price_min_ttc double(24,8) default NULL, price_base_type varchar(3) DEFAULT 'HT', default_vat_code varchar(10), -- Same code than into table llx_c_tva (but no constraints). Should be used in priority to find default vat, npr, localtaxes for product. - tva_tx double(6,3) DEFAULT 0 NOT NULL, -- Used only when option PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL is on (not supported) + tva_tx double(7,4) DEFAULT 0 NOT NULL, -- Used only when option PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL is on (not supported) recuperableonly integer NOT NULL DEFAULT '0', - localtax1_tx double(6,3) DEFAULT 0, + localtax1_tx double(7,4) DEFAULT 0, localtax1_type varchar(10) NOT NULL DEFAULT '0', - localtax2_tx double(6,3) DEFAULT 0, + localtax2_tx double(7,4) DEFAULT 0, localtax2_type varchar(10) NOT NULL DEFAULT '0', fk_user_author integer, tosell tinyint DEFAULT 1, diff --git a/htdocs/install/mysql/tables/llx_projet.sql b/htdocs/install/mysql/tables/llx_projet.sql index 97acc8d3411..197a92ac2be 100644 --- a/htdocs/install/mysql/tables/llx_projet.sql +++ b/htdocs/install/mysql/tables/llx_projet.sql @@ -47,9 +47,10 @@ create table llx_projet usage_opportunity integer DEFAULT 0, -- Set to 1 if project is used to follow an opportunity usage_task integer DEFAULT 1, -- Set to 1 if project is used to manage tasks and/or record timesheet usage_bill_time integer DEFAULT 0, -- Set to 1 if time spent must be converted into invoices - usage_organize_event integer DEFAULT 0, -- Set to 1 if you want to use project to organize an event, receive attendees subscription + usage_organize_event integer DEFAULT 0, -- Set to 1 if you want to use project to organize an event or receive attendees registration accept_conference_suggestions integer DEFAULT 0, -- Set to 1 if you want to allow unknown people to suggest conferences accept_booth_suggestions integer DEFAULT 0, -- Set to 1 if you want to Allow unknown people to suggest booth + max_attendees integer DEFAULT 0, price_registration double(24,8), price_booth double(24,8), model_pdf varchar(255), diff --git a/htdocs/install/mysql/tables/llx_projet_task.sql b/htdocs/install/mysql/tables/llx_projet_task.sql index 01edb857738..721dbf8355f 100644 --- a/htdocs/install/mysql/tables/llx_projet_task.sql +++ b/htdocs/install/mysql/tables/llx_projet_task.sql @@ -35,6 +35,7 @@ create table llx_projet_task planned_workload real DEFAULT 0, progress integer DEFAULT 0, -- percentage increase priority integer DEFAULT 0, -- priority + budget_amount double(24,8), fk_user_creat integer, -- user who created the task fk_user_modif integer, -- user who modify the task fk_user_valid integer, -- user who validated the task diff --git a/htdocs/install/mysql/tables/llx_propaldet.sql b/htdocs/install/mysql/tables/llx_propaldet.sql index 7156d90af2f..4dc9d570838 100644 --- a/htdocs/install/mysql/tables/llx_propaldet.sql +++ b/htdocs/install/mysql/tables/llx_propaldet.sql @@ -29,10 +29,10 @@ create table llx_propaldet description text, fk_remise_except integer NULL, -- Lien vers table des remises fixes vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3) DEFAULT 0, -- Vat rate - localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + tva_tx double(7,4) DEFAULT 0, -- Vat rate + localtax1_tx double(7,4) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type - localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_tx double(7,4) DEFAULT 0, -- localtax2 rate localtax2_type varchar(10) NULL, -- localtax2 type qty real, -- quantity remise_percent real DEFAULT 0, -- pourcentage de remise diff --git a/htdocs/install/mysql/tables/llx_salary_extrafields.key.sql b/htdocs/install/mysql/tables/llx_salary_extrafields.key.sql new file mode 100644 index 00000000000..9c6e047d9ee --- /dev/null +++ b/htdocs/install/mysql/tables/llx_salary_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2019 Alexandre Spangaro +-- +-- 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 . +-- +-- =================================================================== + + +ALTER TABLE llx_salary_extrafields ADD INDEX idx_salary_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_salary_extrafields.sql b/htdocs/install/mysql/tables/llx_salary_extrafields.sql new file mode 100644 index 00000000000..bedab6757b4 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_salary_extrafields.sql @@ -0,0 +1,25 @@ +-- =================================================================== +-- Copyright (C) 2019 Alexandre Spangaro +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +create table llx_salary_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + fk_object integer NOT NULL, -- salary id + import_key varchar(14) -- import key +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_societe.sql b/htdocs/install/mysql/tables/llx_societe.sql index c40a42ee0bd..011c82b65f7 100644 --- a/htdocs/install/mysql/tables/llx_societe.sql +++ b/htdocs/install/mysql/tables/llx_societe.sql @@ -37,9 +37,9 @@ create table llx_societe status tinyint DEFAULT 1, -- cessation d'activité ( 1 -- en activité, 0 -- cessation d'activité) code_client varchar(24), -- code client - code_fournisseur varchar(24), -- code founisseur - code_compta varchar(24), -- code compta client - code_compta_fournisseur varchar(24), -- code compta founisseur + code_fournisseur varchar(24), -- code fournisseur + code_compta varchar(24), -- customer accountancy auxiliary account + code_compta_fournisseur varchar(24), -- supplier accountancy auxiliary account address varchar(255), -- company address zip varchar(25), -- zipcode town varchar(50), -- town @@ -99,9 +99,9 @@ create table llx_societe fk_shipping_method integer, -- preferred shipping method id tva_assuj tinyint DEFAULT 1, -- assujeti ou non a la TVA localtax1_assuj tinyint DEFAULT 0, -- assujeti ou non a local tax 1 - localtax1_value double(6,3), + localtax1_value double(7,4), localtax2_assuj tinyint DEFAULT 0, -- assujeti ou non a local tax 2 - localtax2_value double(6,3), + localtax2_value double(7,4), barcode varchar(180), -- barcode fk_barcode_type integer NULL DEFAULT 0, -- barcode type price_level integer NULL, -- level of price for multiprices diff --git a/htdocs/install/mysql/tables/llx_societe_perentity.sql b/htdocs/install/mysql/tables/llx_societe_perentity.sql index 408169476d9..800d4a10679 100644 --- a/htdocs/install/mysql/tables/llx_societe_perentity.sql +++ b/htdocs/install/mysql/tables/llx_societe_perentity.sql @@ -21,8 +21,8 @@ create table llx_societe_perentity rowid integer AUTO_INCREMENT PRIMARY KEY, fk_soc integer, entity integer DEFAULT 1 NOT NULL, -- multi company id --- code_compta varchar(24), -- code compta client --- code_compta_fournisseur varchar(24), -- code compta founisseur + accountancy_code_customer varchar(24), -- customer accountancy auxiliary account + accountancy_code_supplier varchar(24), -- supplier accountancy auxiliary account accountancy_code_sell varchar(32), -- Selling accountancy code accountancy_code_buy varchar(32) -- Buying accountancy code )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_societe_remise.sql b/htdocs/install/mysql/tables/llx_societe_remise.sql index 2d4e3a9c258..37746051b0b 100644 --- a/htdocs/install/mysql/tables/llx_societe_remise.sql +++ b/htdocs/install/mysql/tables/llx_societe_remise.sql @@ -27,7 +27,7 @@ create table llx_societe_remise tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, datec datetime, -- creation date fk_user_author integer, -- creation user - remise_client double(6,3) DEFAULT 0 NOT NULL, -- discount + remise_client double(7,4) DEFAULT 0 NOT NULL, -- discount note text )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_societe_remise_except.sql b/htdocs/install/mysql/tables/llx_societe_remise_except.sql index 63762f8ad32..8fed65fe5f0 100644 --- a/htdocs/install/mysql/tables/llx_societe_remise_except.sql +++ b/htdocs/install/mysql/tables/llx_societe_remise_except.sql @@ -29,7 +29,7 @@ create table llx_societe_remise_except amount_ht double(24,8) NOT NULL, amount_tva double(24,8) DEFAULT 0 NOT NULL, amount_ttc double(24,8) DEFAULT 0 NOT NULL, - tva_tx double(6,3) DEFAULT 0 NOT NULL, + tva_tx double(7,4) DEFAULT 0 NOT NULL, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. fk_user integer NOT NULL, fk_facture_line integer, diff --git a/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql b/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql index d6dfdc20d9d..85ba8e9b7ff 100644 --- a/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql +++ b/htdocs/install/mysql/tables/llx_societe_remise_supplier.sql @@ -27,7 +27,7 @@ create table llx_societe_remise_supplier tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, datec datetime, -- creation date fk_user_author integer, -- creation user - remise_supplier double(6,3) DEFAULT 0 NOT NULL, -- discount + remise_supplier double(7,4) DEFAULT 0 NOT NULL, -- discount note text )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_supplier_proposaldet.sql b/htdocs/install/mysql/tables/llx_supplier_proposaldet.sql index 6990bf334e5..4e3d8bd13f9 100644 --- a/htdocs/install/mysql/tables/llx_supplier_proposaldet.sql +++ b/htdocs/install/mysql/tables/llx_supplier_proposaldet.sql @@ -24,10 +24,10 @@ CREATE TABLE llx_supplier_proposaldet ( description text, fk_remise_except integer DEFAULT NULL, vat_src_code varchar(10) DEFAULT '', -- Vat code used as source of vat fields. Not strict foreign key here. - tva_tx double(6,3) DEFAULT 0, -- Vat rate - localtax1_tx double(6,3) DEFAULT 0, + tva_tx double(7,4) DEFAULT 0, -- Vat rate + localtax1_tx double(7,4) DEFAULT 0, localtax1_type varchar(10) DEFAULT NULL, - localtax2_tx double(6,3) DEFAULT 0, + localtax2_tx double(7,4) DEFAULT 0, localtax2_type varchar(10) DEFAULT NULL, qty double DEFAULT NULL, remise_percent double DEFAULT '0', diff --git a/htdocs/install/mysql/tables/llx_workstation_workstation_user_group.sql b/htdocs/install/mysql/tables/llx_workstation_workstation_usergroup.sql similarity index 100% rename from htdocs/install/mysql/tables/llx_workstation_workstation_user_group.sql rename to htdocs/install/mysql/tables/llx_workstation_workstation_usergroup.sql diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index ed4fb8dab13..3bc37960bf3 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -366,20 +366,20 @@ if ($ok && GETPOST('standard', 'alpha')) { $sql2 = "SELECT COUNT(*) as nb"; $sql2 .= " FROM ".MAIN_DB_PREFIX."const as c"; $sql2 .= " WHERE name = 'MAIN_MODULE_".$name."'"; - $sql2 .= " AND entity = ".$obj->entity; + $sql2 .= " AND entity = ".((int) $obj->entity); $resql2 = $db->query($sql2); if ($resql2) { $obj2 = $db->fetch_object($resql2); if ($obj2 && $obj2->nb == 0) { // Module not found, so we can remove entry - $sqldelete = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$db->escape($obj->name)."' AND entity = ".$obj->entity; + $sqldelete = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$db->escape($obj->name)."' AND entity = ".((int) $obj->entity); if (GETPOST('standard', 'alpha') == 'confirmed') { $db->query($sqldelete); - print 'Widget '.$obj->name.' set in entity '.$obj->entity.' with value '.$obj->value.' -> Module '.$name.' not enabled in entity '.$obj->entity.', we delete record'; + print 'Widget '.$obj->name.' set in entity '.$obj->entity.' with value '.$obj->value.' -> Module '.$name.' not enabled in entity '.((int) $obj->entity).', we delete record'; } else { - print 'Widget '.$obj->name.' set in entity '.$obj->entity.' with value '.$obj->value.' -> Module '.$name.' not enabled in entity '.$obj->entity.', we should delete record (not done, mode test)'; + print 'Widget '.$obj->name.' set in entity '.$obj->entity.' with value '.$obj->value.' -> Module '.$name.' not enabled in entity '.((int) $obj->entity).', we should delete record (not done, mode test)'; } } else { //print 'Constant '.$obj->name.' set in entity '.$obj->entity.' with value '.$obj->value.' -> Module found in entity '.$obj->entity.', we keep record'; @@ -424,23 +424,23 @@ if ($ok && GETPOST('standard', 'alpha')) { $sql2 = "SELECT COUNT(*) as nb"; $sql2 .= " FROM ".MAIN_DB_PREFIX."const as c"; $sql2 .= " WHERE name = 'MAIN_MODULE_".strtoupper($module)."'"; - $sql2 .= " AND entity = ".$obj->entity; + $sql2 .= " AND entity = ".((int) $obj->entity); $sql2 .= " AND value <> 0"; $resql2 = $db->query($sql2); if ($resql2) { $obj2 = $db->fetch_object($resql2); if ($obj2 && $obj2->nb == 0) { // Module not found, so we canremove entry - $sqldeletea = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE entity = ".$obj->entity." AND box_id IN (SELECT rowid FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$db->escape($obj->file)."' AND entity = ".$obj->entity.")"; - $sqldeleteb = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$db->escape($obj->file)."' AND entity = ".$obj->entity; + $sqldeletea = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE entity = ".((int) $obj->entity)." AND box_id IN (SELECT rowid FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$db->escape($obj->file)."' AND entity = ".((int) $obj->entity).")"; + $sqldeleteb = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$db->escape($obj->file)."' AND entity = ".((int) $obj->entity); if (GETPOST('standard', 'alpha') == 'confirmed') { $db->query($sqldeletea); $db->query($sqldeleteb); - print 'Constant '.$obj->file.' set in boxes_def for entity '.$obj->entity.' but MAIN_MODULE_'.strtoupper($module).' not defined in entity '.$obj->entity.', we delete record'; + print 'Constant '.$obj->file.' set in boxes_def for entity '.$obj->entity.' but MAIN_MODULE_'.strtoupper($module).' not defined in entity '.((int) $obj->entity).', we delete record'; } else { - print 'Constant '.$obj->file.' set in boxes_def for entity '.$obj->entity.' but MAIN_MODULE_'.strtoupper($module).' not defined in entity '.$obj->entity.', we should delete record (not done, mode test)'; + print 'Constant '.$obj->file.' set in boxes_def for entity '.$obj->entity.' but MAIN_MODULE_'.strtoupper($module).' not defined in entity '.((int) $obj->entity).', we should delete record (not done, mode test)'; } } else { //print 'Constant '.$obj->name.' set in entity '.$obj->entity.' with value '.$obj->value.' -> Module found in entity '.$obj->entity.', we keep record'; @@ -929,7 +929,7 @@ if ($ok && GETPOST('clean_product_stock_batch', 'alpha')) { // TODO If it fails, we must make update //$sql2 ="UPDATE ".MAIN_DB_PREFIX."product_batch"; //$sql2.=" SET ".$obj->psrowid.", '000000', ".($obj->reel - $obj->reelbatch).")"; - //$sql2.=" WHERE fk_product_stock = ".$obj->psrowid" + //$sql2.=" WHERE fk_product_stock = ".((int) $obj->psrowid) } } } @@ -1180,7 +1180,7 @@ if ($ok && GETPOST('clean_perm_table', 'alpha')) { foreach ($conf->modules as $key => $val) { $listofmods .= ($listofmods ? ',' : '')."'".$val."'"; } - $sql = 'SELECT id, libelle as label, module from '.MAIN_DB_PREFIX.'rights_def WHERE module NOT IN ('.$db->sanitize($listofmods).') AND id > 100000'; + $sql = "SELECT id, libelle as label, module from ".MAIN_DB_PREFIX."rights_def WHERE module NOT IN (".$db->sanitize($listofmods).") AND id > 100000"; $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -1191,7 +1191,7 @@ if ($ok && GETPOST('clean_perm_table', 'alpha')) { if ($obj->id > 0) { print 'Found line with id '.$obj->id.', label "'.$obj->label.'" of module "'.$obj->module.'" to delete'; if (GETPOST('clean_perm_table', 'alpha') == 'confirmed') { - $sqldelete = 'DELETE FROM '.MAIN_DB_PREFIX.'rights_def WHERE id = '.$obj->id; + $sqldelete = "DELETE FROM ".MAIN_DB_PREFIX."rights_def WHERE id = ".((int) $obj->id); $resqldelete = $db->query($sqldelete); if (!$resqldelete) { dol_print_error($db); @@ -1236,7 +1236,7 @@ if ($ok && GETPOST('force_utf8_on_tables', 'alpha')) { print ''; print $table; - $sql = 'ALTER TABLE '.$table.' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci'; + $sql = "ALTER TABLE ".$table." CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci"; print ''; if ($force_utf8_on_tables == 'confirmed') { $resql = $db->query($sql); @@ -1282,8 +1282,8 @@ if ($ok && GETPOST('force_utf8mb4_on_tables', 'alpha')) { print ''; print $table; - $sql1 = 'ALTER TABLE '.$table.' ROW_FORMAT=dynamic;'; - $sql2 = 'ALTER TABLE '.$table.' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci'; + $sql1 = "ALTER TABLE ".$table." ROW_FORMAT=dynamic"; + $sql2 = "ALTER TABLE ".$table." CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"; print ''; print ''; if ($force_utf8mb4_on_tables == 'confirmed') { @@ -1407,25 +1407,25 @@ if ($ok && GETPOST('repair_link_dispatch_lines_supplier_order_lines')) { $first_iteration = false; } else { $sql_attach_values = array( - $obj_dispatch->fk_commande, - $obj_dispatch->fk_product, - $obj_line->rowid, - $qty_for_line, - $obj_dispatch->fk_entrepot, - $obj_dispatch->fk_user, - $obj_dispatch->datec ? '"'.$db->escape($obj_dispatch->datec).'"' : 'NULL', - $obj_dispatch->comment ? '"'.$db->escape($obj_dispatch->comment).'"' : 'NULL', - $obj_dispatch->status ?: 'NULL', - $obj_dispatch->tms ? '"'.$db->escape($obj_dispatch->tms).'"' : 'NULL', - $obj_dispatch->batch ?: 'NULL', - $obj_dispatch->eatby ? '"'.$db->escape($obj_dispatch->eatby).'"' : 'NULL', - $obj_dispatch->sellby ? '"'.$db->escape($obj_dispatch->sellby).'"' : 'NULL' + ((int) $obj_dispatch->fk_commande), + ((int) $obj_dispatch->fk_product), + ((int) $obj_line->rowid), + ((float) $qty_for_line), + ((int) $obj_dispatch->fk_entrepot), + ((int) $obj_dispatch->fk_user), + $obj_dispatch->datec ? "'".$db->idate($db->jdate($obj_dispatch->datec))."'" : 'NULL', + $obj_dispatch->comment ? "'".$db->escape($obj_dispatch->comment)."'" : 'NULL', + $obj_dispatch->status ? ((int) $obj_dispatch->status) : 'NULL', + $obj_dispatch->tms ? "'".$db->idate($db->jdate($obj_dispatch->tms))."'" : 'NULL', + $obj_dispatch->batch ? "'".$db->escape($obj_dispatch->batch)."'" : 'NULL', + $obj_dispatch->eatby ? "'".$db->escape($obj_dispatch->eatby)."'" : 'NULL', + $obj_dispatch->sellby ? "'".$db->escape($obj_dispatch->sellby)."'" : 'NULL' ); $sql_attach_values = join(', ', $sql_attach_values); $sql_attach = 'INSERT INTO '.MAIN_DB_PREFIX.'commande_fournisseur_dispatch'; $sql_attach .= ' (fk_commande, fk_product, fk_commandefourndet, qty, fk_entrepot, fk_user, datec, comment, status, tms, batch, eatby, sellby)'; - $sql_attach .= ' VALUES ('.$sql_attach_values.')'; + $sql_attach .= " VALUES (".$sql_attach_values.")"; } if ($repair_link_dispatch_lines_supplier_order_lines == 'confirmed') { diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php index a8bd9a4d3b6..63b8d66539b 100644 --- a/htdocs/install/step1.php +++ b/htdocs/install/step1.php @@ -531,39 +531,48 @@ if (!$error && $db->connected && $action == "set") { if ($db->connected) { $resultbis = 1; - // Create user - $result = $db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); - - // Create user bis - if ($databasefortest == 'mysql') { - if (!in_array($dolibarr_main_db_host, array('127.0.0.1', '::1', 'localhost', 'localhost.local'))) { - $resultbis = $db->DDLCreateUser('%', $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); - } - } - - if ($result > 0 && $resultbis > 0) { + if (empty($dolibarr_main_db_pass)) { + dolibarr_install_syslog("step1: failed to create user, password is empty", LOG_ERR); print ''; print $langs->trans("UserCreation").' : '; print $dolibarr_main_db_user; print ''; - print 'Ok'; + print ''.$langs->trans("Error").": A password for database user is mandatory."; } else { - if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS' - || $db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' - || $db->errno() == 'DB_ERROR_USER_ALREADY_EXISTS') { - dolibarr_install_syslog("step1: user already exists"); + // Create user + $result = $db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); + + // Create user bis + if ($databasefortest == 'mysql') { + if (!in_array($dolibarr_main_db_host, array('127.0.0.1', '::1', 'localhost', 'localhost.local'))) { + $resultbis = $db->DDLCreateUser('%', $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); + } + } + + if ($result > 0 && $resultbis > 0) { print ''; print $langs->trans("UserCreation").' : '; print $dolibarr_main_db_user; print ''; - print ''.$langs->trans("LoginAlreadyExists").''; + print 'Ok'; } else { - dolibarr_install_syslog("step1: failed to create user", LOG_ERR); - print ''; - print $langs->trans("UserCreation").' : '; - print $dolibarr_main_db_user; - print ''; - print ''.$langs->trans("Error").': '.$db->errno().' '.$db->error().($db->error ? '. '.$db->error : '').""; + if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS' + || $db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' + || $db->errno() == 'DB_ERROR_USER_ALREADY_EXISTS') { + dolibarr_install_syslog("step1: user already exists"); + print ''; + print $langs->trans("UserCreation").' : '; + print $dolibarr_main_db_user; + print ''; + print ''.$langs->trans("LoginAlreadyExists").''; + } else { + dolibarr_install_syslog("step1: failed to create user", LOG_ERR); + print ''; + print $langs->trans("UserCreation").' : '; + print $dolibarr_main_db_user; + print ''; + print ''.$langs->trans("Error").': '.$db->errno().' '.$db->error().($db->error ? '. '.$db->error : '').""; + } } } diff --git a/htdocs/install/step2.php b/htdocs/install/step2.php index f95cb218561..1835c87f759 100644 --- a/htdocs/install/step2.php +++ b/htdocs/install/step2.php @@ -141,7 +141,7 @@ if ($action == "set") { $requestnb = 0; // To disable some code, so you can call step2 with url like - // http://localhost/dolibarrnew/install/step2.php?action=set&createtables=0&createkeys=0&createfunctions=0&createdata=llx_20_c_departements + // http://localhost/dolibarrnew/install/step2.php?action=set&token='.newToken().'&createtables=0&createkeys=0&createfunctions=0&createdata=llx_20_c_departements $createtables = isset($_GET['createtables']) ?GETPOST('createtables') : 1; $createkeys = isset($_GET['createkeys']) ?GETPOST('createkeys') : 1; $createfunctions = isset($_GET['createfunctions']) ?GETPOST('createfunction') : 1; diff --git a/htdocs/install/step5.php b/htdocs/install/step5.php index b841edb12ac..f9424f51a32 100644 --- a/htdocs/install/step5.php +++ b/htdocs/install/step5.php @@ -114,7 +114,7 @@ if ($action == "set") { $morehtml = ''; -pHeader($langs->trans("SetupEnd"), "step5"); +pHeader($langs->trans("SetupEnd"), "step5", 'set', '', '', 'main-inside main-inside-borderbottom'); print '
    '; // Test if we can run a first install process @@ -234,7 +234,7 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i', $action)) { // Insert MAIN_VERSION_FIRST_INSTALL in a dedicated transaction. So if it fails (when first install was already done), we can do other following requests. $db->begin(); dolibarr_install_syslog('step5: set MAIN_VERSION_FIRST_INSTALL const to '.$targetversion, LOG_DEBUG); - $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) values(".$db->encrypt('MAIN_VERSION_FIRST_INSTALL', 1).",".$db->encrypt($targetversion, 1).",'chaine',0,'Dolibarr version when first install',0)"); + $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name, value, type, visible, note, entity) values(".$db->encrypt('MAIN_VERSION_FIRST_INSTALL').", ".$db->encrypt($targetversion).", 'chaine', 0, 'Dolibarr version when first install', 0)"); if ($resql) { $conf->global->MAIN_VERSION_FIRST_INSTALL = $targetversion; $db->commit(); @@ -246,11 +246,11 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i', $action)) { $db->begin(); dolibarr_install_syslog('step5: set MAIN_VERSION_LAST_INSTALL const to '.$targetversion, LOG_DEBUG); - $resql = $db->query("DELETE FROM ".MAIN_DB_PREFIX."const WHERE ".$db->decrypt('name')."='MAIN_VERSION_LAST_INSTALL'"); + $resql = $db->query("DELETE FROM ".MAIN_DB_PREFIX."const WHERE ".$db->decrypt('name')." = 'MAIN_VERSION_LAST_INSTALL'"); if (!$resql) { dol_print_error($db, 'Error in setup program'); } - $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) values(".$db->encrypt('MAIN_VERSION_LAST_INSTALL', 1).",".$db->encrypt($targetversion, 1).",'chaine',0,'Dolibarr version when last install',0)"); + $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) values(".$db->encrypt('MAIN_VERSION_LAST_INSTALL').", ".$db->encrypt($targetversion).", 'chaine', 0, 'Dolibarr version when last install', 0)"); if (!$resql) { dol_print_error($db, 'Error in setup program'); } @@ -258,11 +258,11 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i', $action)) { if ($useforcedwizard) { dolibarr_install_syslog('step5: set MAIN_REMOVE_INSTALL_WARNING const to 1', LOG_DEBUG); - $resql = $db->query("DELETE FROM ".MAIN_DB_PREFIX."const WHERE ".$db->decrypt('name')."='MAIN_REMOVE_INSTALL_WARNING'"); + $resql = $db->query("DELETE FROM ".MAIN_DB_PREFIX."const WHERE ".$db->decrypt('name')." = 'MAIN_REMOVE_INSTALL_WARNING'"); if (!$resql) { dol_print_error($db, 'Error in setup program'); } - $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) values(".$db->encrypt('MAIN_REMOVE_INSTALL_WARNING', 1).",".$db->encrypt(1, 1).",'chaine',1,'Disable install warnings',0)"); + $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) values(".$db->encrypt('MAIN_REMOVE_INSTALL_WARNING').", ".$db->encrypt(1).", 'chaine', 1, 'Disable install warnings', 0)"); if (!$resql) { dol_print_error($db, 'Error in setup program'); } @@ -326,11 +326,11 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i', $action)) { if ($tagdatabase) { dolibarr_install_syslog('step5: set MAIN_VERSION_LAST_UPGRADE const to value '.$targetversion); - $resql = $db->query("DELETE FROM ".MAIN_DB_PREFIX."const WHERE ".$db->decrypt('name')."='MAIN_VERSION_LAST_UPGRADE'"); + $resql = $db->query("DELETE FROM ".MAIN_DB_PREFIX."const WHERE ".$db->decrypt('name')." = 'MAIN_VERSION_LAST_UPGRADE'"); if (!$resql) { dol_print_error($db, 'Error in setup program'); } - $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) VALUES (".$db->encrypt('MAIN_VERSION_LAST_UPGRADE', 1).",".$db->encrypt($targetversion, 1).",'chaine',0,'Dolibarr version for last upgrade',0)"); + $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name, value, type, visible, note, entity) VALUES (".$db->encrypt('MAIN_VERSION_LAST_UPGRADE').", ".$db->encrypt($targetversion).", 'chaine', 0, 'Dolibarr version for last upgrade', 0)"); if (!$resql) { dol_print_error($db, 'Error in setup program'); } @@ -346,7 +346,7 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i', $action)) { } // May fail if parameter already defined - $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) VALUES (".$db->encrypt('MAIN_LANG_DEFAULT', 1).",".$db->encrypt($setuplang, 1).",'chaine',0,'Default language',1)"); + $resql = $db->query("INSERT INTO ".MAIN_DB_PREFIX."const(name,value,type,visible,note,entity) VALUES (".$db->encrypt('MAIN_LANG_DEFAULT').", ".$db->encrypt($setuplang).", 'chaine', 0, 'Default language', 1)"); //if (! $resql) dol_print_error($db,'Error in setup program'); $db->close(); diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 70257bba79e..b36914ad36b 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -102,7 +102,7 @@ if (!$versionfrom && !$versionto) { } -pHeader('', "upgrade2", GETPOST('action', 'aZ09'), 'versionfrom='.$versionfrom.'&versionto='.$versionto); +pHeader('', "upgrade2", GETPOST('action', 'aZ09'), 'versionfrom='.$versionfrom.'&versionto='.$versionto, '', 'main-inside main-inside-borderbottom'); $actiondone = 0; @@ -270,6 +270,7 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ $values = $db->fetch_array($resql); $i = 0; $createsql = $values[1]; + $reg = array(); while (preg_match('/CONSTRAINT `(0_[0-9a-zA-Z]+|[_0-9a-zA-Z]+_ibfk_[0-9]+)`/i', $createsql, $reg) && $i < 100) { $sqldrop = "ALTER TABLE ".$val." DROP FOREIGN KEY ".$reg[1]; $resqldrop = $db->query($sqldrop); @@ -282,7 +283,7 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ $db->free($resql); } else { if ($db->lasterrno() != 'DB_ERROR_NOSUCHTABLE') { - print ''.$sql.' : '.$db->lasterror()."
    \n"; + print ''.dol_escape_htmltag($sql).' : '.dol_escape_htmltag($db->lasterror())."\n"; } } } @@ -348,9 +349,10 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ print ''.$langs->trans("ChoosedMigrateScript").''.$file.''."\n"; // Run sql script - $ok = run_sql($dir.$file, 0, '', 1); + $ok = run_sql($dir.$file, 0, '', 1, '', 'default', 32768, 0, 0, 2); $listoffileprocessed[$dir.$file] = $dir.$file; + // Scan if there is migration scripts that depends of Dolibarr version // for modules htdocs/module/sql or htdocs/custom/module/sql (files called "dolibarr_x.y.z-a.b.c.sql") $modulesfile = array(); @@ -369,17 +371,20 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ } } - foreach ($modulesfile as $modulefilelong => $modulefileshort) { - if (in_array($modulefilelong, $listoffileprocessed)) { - continue; + if (count($modulesfile)) { + print '
    '; + + foreach ($modulesfile as $modulefilelong => $modulefileshort) { + if (in_array($modulefilelong, $listoffileprocessed)) { + continue; + } + + print ''.$langs->trans("ChoosedMigrateScript").' (external modules)'.$modulefileshort.''."\n"; + + // Run sql script + $okmodule = run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not. + $listoffileprocessed[$modulefilelong] = $modulefilelong; } - - print '
    '; - print ''.$langs->trans("ChoosedMigrateScript").' (external modules)'.$modulefileshort.''."\n"; - - // Run sql script - $okmodule = run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not. - $listoffileprocessed[$modulefilelong] = $modulefilelong; } } } diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 824f05bc059..27d34e2aa51 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -113,7 +113,7 @@ if ((!$versionfrom || preg_match('/version/', $versionfrom)) && (!$versionto || exit; } -pHeader('', 'step5', GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'upgrade', 'versionfrom='.$versionfrom.'&versionto='.$versionto); +pHeader('', 'step5', GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'upgrade', 'versionfrom='.$versionfrom.'&versionto='.$versionto, '', 'main-inside main-inside-borderbottom'); if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ09'))) { @@ -144,11 +144,6 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ $db = getDoliDBInstance($conf->db->type, $conf->db->host, $conf->db->user, $conf->db->pass, $conf->db->name, $conf->db->port); - // Create the global $hookmanager object - include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; - $hookmanager = new HookManager($db); - $hookmanager->initHooks(array('upgrade')); - if (!$db->connected) { print ''.$langs->trans("ErrorFailedToConnectToDatabase", $conf->db->name).''.$langs->trans('Error').''; dolibarr_install_syslog('upgrade2: failed to connect to database :'.$conf->db->name.' on '.$conf->db->host.' for user '.$conf->db->user, LOG_ERR); @@ -182,6 +177,11 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ $conf->global->MAIN_ENABLE_LOG_TO_HTML = 1; } + // Create the global $hookmanager object + include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; + $hookmanager = new HookManager($db); + $hookmanager->initHooks(array('upgrade')); + /*************************************************************************************** * @@ -448,8 +448,17 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ migrate_contacts_socialnetworks(); migrate_thirdparties_socialnetworks(); } + + // Scripts for 14.0 + $afterversionarray = explode('.', '13.0.9'); + $beforeversionarray = explode('.', '14.0.9'); + if (versioncompare($versiontoarray, $afterversionarray) >= 0 && versioncompare($versiontoarray, $beforeversionarray) <= 0) { + migrate_export_import_profiles('export'); + migrate_export_import_profiles('import'); + } } + // Code executed only if migration is LAST ONE. Must always be done. if (versioncompare($versiontoarray, $versionranarray) >= 0 || versioncompare($versiontoarray, $versionranarray) <= -3) { // Reload modules (this must be always done and only into last targeted version, because code to reload module may need table structure of last version) @@ -489,10 +498,16 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ 'MAIN_MODULE_VARIANTS'=>'newboxdefonly', 'MAIN_MODULE_WEBSITE'=>'newboxdefonly', ); - migrate_reload_modules($db, $langs, $conf, $listofmodule); + $result = migrate_reload_modules($db, $langs, $conf, $listofmodule); + if ($result < 0) { + $error++; + } // Reload menus (this must be always and only into last targeted version) - migrate_reload_menu($db, $langs, $conf); + $result = migrate_reload_menu($db, $langs, $conf); + if ($result < 0) { + $error++; + } } // Can force activation of some module during migration with parameter 'enablemodules=MAIN_MODULE_XXX,MAIN_MODULE_YYY,...' @@ -545,10 +560,11 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ print ''; - // Set constant to ask to remake a new ping to inform about upgrade (if first ping was done and OK) - $sql = 'UPDATE '.MAIN_DB_PREFIX."const SET VALUE = 'torefresh' WHERE name = 'MAIN_FIRST_PING_OK_ID'"; - $db->query($sql, 1); - + if (!$error) { + // Set constant to ask to remake a new ping to inform about upgrade (if first ping was done and OK) + $sql = 'UPDATE '.MAIN_DB_PREFIX."const SET VALUE = 'torefresh' WHERE name = 'MAIN_FIRST_PING_OK_ID'"; + $db->query($sql, 1); + } // We always commit. // Process is designed so we can run it several times whatever is situation. @@ -676,7 +692,7 @@ function migrate_paiements($db, $langs, $conf) $num = count($row); for ($i = 0; $i < $num; $i++) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."paiement_facture (fk_facture, fk_paiement, amount)"; - $sql .= " VALUES (".$row[$i][1].",".$row[$i][0].",".$row[$i][2].")"; + $sql .= " VALUES (".((int) $row[$i][1]).",".((int) $row[$i][0]).",".((float) $row[$i][2]).")"; $res += $db->query($sql); @@ -774,7 +790,7 @@ function migrate_paiements_orphelins_1($db, $langs, $conf) // On cherche facture sans lien paiement et du meme montant et pour meme societe. $sql = " SELECT distinct f.rowid from ".MAIN_DB_PREFIX."facture as f"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture"; - $sql .= " WHERE f.fk_statut in (2,3) AND fk_soc = ".$row[$i]['socid']." AND total_ttc = ".$row[$i]['pamount']; + $sql .= " WHERE f.fk_statut in (2,3) AND fk_soc = ".((int) $row[$i]['socid'])." AND total_ttc = ".((float) $row[$i]['pamount']); $sql .= " AND pf.fk_facture IS NULL"; $sql .= " ORDER BY f.fk_statut"; //print $sql.'
    '; @@ -787,7 +803,7 @@ function migrate_paiements_orphelins_1($db, $langs, $conf) $facid = $obj->rowid; $sql = "INSERT INTO ".MAIN_DB_PREFIX."paiement_facture (fk_facture, fk_paiement, amount)"; - $sql .= " VALUES (".$facid.",".$row[$i]['paymentid'].",".$row[$i]['pamount'].")"; + $sql .= " VALUES (".((int) $facid).",".((int) $row[$i]['paymentid']).", ".((float) $row[$i]['pamount']).")"; $res += $db->query($sql); @@ -879,13 +895,13 @@ function migrate_paiements_orphelins_2($db, $langs, $conf) $res = 0; for ($i = 0; $i < $num; $i++) { if ($conf->global->MAIN_FEATURES_LEVEL == 2) { - print '* '.$row[$i]['datec'].' paymentid='.$row[$i]['paymentid'].' '.$row[$i]['pamount'].' fk_bank='.$row[$i]['fk_bank'].' '.$row[$i]['bamount'].' socid='.$row[$i]['socid'].'
    '; + print '* '.$row[$i]['datec'].' paymentid='.$row[$i]['paymentid'].' pamount='.$row[$i]['pamount'].' fk_bank='.$row[$i]['fk_bank'].' '.$row[$i]['bamount'].' socid='.$row[$i]['socid'].'
    '; } // On cherche facture sans lien paiement et du meme montant et pour meme societe. $sql = " SELECT distinct f.rowid from ".MAIN_DB_PREFIX."facture as f"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture"; - $sql .= " WHERE f.fk_statut in (2,3) AND fk_soc = ".$row[$i]['socid']." AND total_ttc = ".$row[$i]['pamount']; + $sql .= " WHERE f.fk_statut in (2,3) AND fk_soc = ".((int) $row[$i]['socid'])." AND total_ttc = ".((float) $row[$i]['pamount']); $sql .= " AND pf.fk_facture IS NULL"; $sql .= " ORDER BY f.fk_statut"; //print $sql.'
    '; @@ -898,7 +914,8 @@ function migrate_paiements_orphelins_2($db, $langs, $conf) $facid = $obj->rowid; $sql = "INSERT INTO ".MAIN_DB_PREFIX."paiement_facture (fk_facture, fk_paiement, amount)"; - $sql .= " VALUES (".$facid.",".$row[$i]['paymentid'].",".$row[$i]['pamount'].")"; + $sql .= " VALUES (".((int) $facid).",".((int) $row[$i]['paymentid']).", ".((float) $row[$i]['pamount']).")"; + $res += $db->query($sql); print $langs->trans('MigrationProcessPaymentUpdate', 'facid='.$facid.'-paymentid='.$row[$i]['paymentid'].'-amount='.$row[$i]['pamount'])."
    \n"; @@ -985,14 +1002,14 @@ function migrate_contracts_det($db, $langs, $conf) $sql .= "date_ouverture_prevue, date_ouverture, date_fin_validite, tva_tx, qty,"; $sql .= "subprice, price_ht, fk_user_author, fk_user_ouverture)"; $sql .= " VALUES ("; - $sql .= $obj->cref.", ".($obj->fk_product ? $obj->fk_product : 0).", "; + $sql .= ((int) $obj->cref).", ".($obj->fk_product ? ((int) $obj->fk_product) : 0).", "; $sql .= "0, "; $sql .= "'".$db->escape($obj->label)."', null, "; - $sql .= ($obj->date_contrat ? "'".$db->escape($obj->date_contrat)."'" : "null").", "; + $sql .= ($obj->date_contrat ? "'".$db->idate($db->jdate($obj->date_contrat))."'" : "null").", "; $sql .= "null, "; $sql .= "null, "; - $sql .= "'".$db->escape($obj->tva_tx)."' , 1, "; - $sql .= "'".$db->escape($obj->price)."', '".$db->escape($obj->price)."', ".$obj->fk_user_author.","; + $sql .= ((float) $obj->tva_tx).", 1, "; + $sql .= ((float) $obj->price).", ".((float) $obj->price).", ".((int) $obj->fk_user_author).","; $sql .= "null"; $sql .= ")"; @@ -1070,7 +1087,7 @@ function migrate_links_transfert($db, $langs, $conf) $sql .= $obj->barowid.",".$obj->bbrowid.", '/compta/bank/line.php?rowid=', '(banktransfert)', 'banktransfert'"; $sql .= ")"; - print $sql.'
    '; + //print $sql.'
    '; dolibarr_install_syslog("migrate_links_transfert"); if (!$db->query($sql)) { @@ -2003,7 +2020,7 @@ function migrate_commande_expedition($db, $langs, $conf) $obj = $db->fetch_object($resql); $sql = "INSERT INTO ".MAIN_DB_PREFIX."co_exp (fk_expedition,fk_commande)"; - $sql .= " VALUES (".$obj->rowid.",".$obj->fk_commande.")"; + $sql .= " VALUES (".((int) $obj->rowid).", ".((int) $obj->fk_commande).")"; $resql2 = $db->query($sql); if (!$resql2) { @@ -2071,16 +2088,16 @@ function migrate_commande_livraison($db, $langs, $conf) $obj = $db->fetch_object($resql); $sql = "INSERT INTO ".MAIN_DB_PREFIX."co_liv (fk_livraison,fk_commande)"; - $sql .= " VALUES (".$obj->rowid.",".$obj->fk_commande.")"; + $sql .= " VALUES (".((int) $obj->rowid).", ".((int) $obj->fk_commande).")"; $resql2 = $db->query($sql); if ($resql2) { $delivery_date = $db->jdate($obj->delivery_date); $sqlu = "UPDATE ".MAIN_DB_PREFIX."livraison SET"; - $sqlu .= " ref_client='".$db->escape($obj->ref_client)."'"; - $sqlu .= ", date_livraison='".$db->idate($delivery_date)."'"; - $sqlu .= " WHERE rowid = ".$obj->rowid; + $sqlu .= " ref_client = '".$db->escape($obj->ref_client)."'"; + $sqlu .= ", date_livraison = '".$db->idate($delivery_date)."'"; + $sqlu .= " WHERE rowid = ".((int) $obj->rowid); $resql3 = $db->query($sqlu); if (!$resql3) { $error++; @@ -2153,11 +2170,11 @@ function migrate_detail_livraison($db, $langs, $conf) $obj = $db->fetch_object($resql); $sql = "UPDATE ".MAIN_DB_PREFIX."livraisondet SET"; - $sql .= " fk_product=".$obj->fk_product; - $sql .= ",description='".$db->escape($obj->description)."'"; - $sql .= ",subprice='".$db->escape($obj->subprice)."'"; - $sql .= ",total_ht='".$db->escape($obj->total_ht)."'"; - $sql .= " WHERE fk_commande_ligne = ".$obj->rowid; + $sql .= " fk_product = ".((int) $obj->fk_product); + $sql .= ",description = '".$db->escape($obj->description)."'"; + $sql .= ",subprice = ".price2num($obj->subprice); + $sql .= ",total_ht = ".price2num($obj->total_ht); + $sql .= " WHERE fk_commande_ligne = ".((int) $obj->rowid); $resql2 = $db->query($sql); if ($resql2) { @@ -2171,8 +2188,8 @@ function migrate_detail_livraison($db, $langs, $conf) $total_ht = $obju->total_ht + $obj->total_ht; $sqlu = "UPDATE ".MAIN_DB_PREFIX."livraison SET"; - $sqlu .= " total_ht='".$db->escape($total_ht)."'"; - $sqlu .= " WHERE rowid=".$obj->fk_livraison; + $sqlu .= " total_ht = ".price2num($total_ht, 'MT'); + $sqlu .= " WHERE rowid = ".((int) $obj->fk_livraison); $resql4 = $db->query($sqlu); if (!$resql4) { $error++; @@ -2249,8 +2266,8 @@ function migrate_stocks($db, $langs, $conf) $obj = $db->fetch_object($resql); $sql = "UPDATE ".MAIN_DB_PREFIX."product SET"; - $sql .= " stock = '".$db->escape($obj->total)."'"; - $sql .= " WHERE rowid=".$obj->fk_product; + $sql .= " stock = ".price2num($obj->total, 'MS'); + $sql .= " WHERE rowid = ".((int) $obj->fk_product); $resql2 = $db->query($sql); if ($resql2) { @@ -2313,7 +2330,7 @@ function migrate_menus($db, $langs, $conf) $sql = "UPDATE ".MAIN_DB_PREFIX."menu SET"; $sql .= " enabled = '".$db->escape($obj->action)."'"; - $sql .= " WHERE rowid=".$obj->rowid; + $sql .= " WHERE rowid = ".((int) $obj->rowid); $sql .= " AND enabled = '1'"; $resql2 = $db->query($sql); @@ -2383,7 +2400,7 @@ function migrate_commande_deliveryaddress($db, $langs, $conf) $sql = "UPDATE ".MAIN_DB_PREFIX."expedition SET"; $sql .= " fk_adresse_livraison = '".$db->escape($obj->fk_adresse_livraison)."'"; - $sql .= " WHERE rowid=".$obj->fk_expedition; + $sql .= " WHERE rowid = ".((int) $obj->fk_expedition); $resql2 = $db->query($sql); if (!$resql2) { @@ -3032,7 +3049,7 @@ function migrate_shipping_delivery($db, $langs, $conf) $result = $db->query($sqlInsert); if ($result) { $sqlUpdate = "UPDATE ".MAIN_DB_PREFIX."livraison SET fk_expedition = NULL"; - $sqlUpdate .= " WHERE rowid = ".$obj->rowid; + $sqlUpdate .= " WHERE rowid = ".((int) $obj->rowid); $result = $db->query($sqlUpdate); if (!$result) { @@ -3120,7 +3137,7 @@ function migrate_shipping_delivery2($db, $langs, $conf) $sqlUpdate = "UPDATE ".MAIN_DB_PREFIX."livraison SET"; $sqlUpdate .= " ref_customer = '".$db->escape($obj->ref_customer)."',"; $sqlUpdate .= " date_delivery = ".($obj->date_delivery ? "'".$db->escape($obj->date_delivery)."'" : 'null'); - $sqlUpdate .= " WHERE rowid = ".$obj->delivery_id; + $sqlUpdate .= " WHERE rowid = ".((int) $obj->delivery_id); $result = $db->query($sqlUpdate); if (!$result) { @@ -3344,7 +3361,7 @@ function migrate_clean_association($db, $langs, $conf) // And we insert only each record once foreach ($couples as $key => $val) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."categorie_association(fk_categorie_mere,fk_categorie_fille)"; - $sql .= " VALUES(".$val['mere'].", ".$val['fille'].")"; + $sql .= " VALUES(".((int) $val['mere']).", ".((int) $val['fille']).")"; dolibarr_install_syslog("upgrade: insert association"); $resqli = $db->query($sql); if (!$resqli) { @@ -3423,19 +3440,6 @@ function migrate_categorie_association($db, $langs, $conf) } if (!$error) { - // TODO DROP table in the next release - /* - $sqlDrop = "DROP TABLE ".MAIN_DB_PREFIX."categorie_association"; - if ($db->query($sqlDrop)) - { - $db->commit(); - } - else - { - $db->rollback(); - } - */ - $db->commit(); } else { $db->rollback(); @@ -3489,7 +3493,7 @@ function migrate_event_assignement($db, $langs, $conf) $obj = $db->fetch_object($resql); $sqlUpdate = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm_resources(fk_actioncomm, element_type, fk_element) "; - $sqlUpdate .= "VALUES(".$obj->id.", 'user', ".$obj->fk_user_action.")"; + $sqlUpdate .= "VALUES(".((int) $obj->id).", 'user', ".((int) $obj->fk_user_action).")"; $result = $db->query($sqlUpdate); if (!$result) { @@ -3555,7 +3559,7 @@ function migrate_event_assignement_contact($db, $langs, $conf) $obj = $db->fetch_object($resql); $sqlUpdate = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm_resources(fk_actioncomm, element_type, fk_element) "; - $sqlUpdate .= "VALUES(".$obj->id.", 'socpeople', ".$obj->fk_contact.")"; + $sqlUpdate .= "VALUES(".((int) $obj->id).", 'socpeople', ".((int) $obj->fk_contact).")"; $result = $db->query($sqlUpdate); if (!$result) { @@ -3625,7 +3629,7 @@ function migrate_reset_blocked_log($db, $langs, $conf) print 'Process entity '.$obj->entity; - $sqlSearch = "SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."blockedlog WHERE action = 'MODULE_SET' and entity = ".$obj->entity; + $sqlSearch = "SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."blockedlog WHERE action = 'MODULE_SET' and entity = ".((int) $obj->entity); $resqlSearch = $db->query($sqlSearch); if ($resqlSearch) { $objSearch = $db->fetch_object($resqlSearch); @@ -3634,7 +3638,7 @@ function migrate_reset_blocked_log($db, $langs, $conf) print ' - Record for entity must be reset...'; $sqlUpdate = "DELETE FROM ".MAIN_DB_PREFIX."blockedlog"; - $sqlUpdate .= " WHERE entity = ".$obj->entity; + $sqlUpdate .= " WHERE entity = ".((int) $obj->entity); $resqlUpdate = $db->query($sqlUpdate); if (!$resqlUpdate) { $error++; @@ -3721,7 +3725,7 @@ function migrate_remise_entity($db, $langs, $conf) $sqlUpdate = "UPDATE ".MAIN_DB_PREFIX."societe_remise SET"; $sqlUpdate .= " entity = ".$obj->entity; - $sqlUpdate .= " WHERE rowid = ".$obj->rowid; + $sqlUpdate .= " WHERE rowid = ".((int) $obj->rowid); $result = $db->query($sqlUpdate); if (!$result) { @@ -3806,8 +3810,8 @@ function migrate_remise_except_entity($db, $langs, $conf) $obj2 = $db->fetch_object($resql2); $sqlUpdate = "UPDATE ".MAIN_DB_PREFIX."societe_remise_except SET"; - $sqlUpdate .= " entity = ".$obj2->entity; - $sqlUpdate .= " WHERE rowid = ".$obj->rowid; + $sqlUpdate .= " entity = ".((int) $obj2->entity); + $sqlUpdate .= " WHERE rowid = ".((int) $obj->rowid); $result = $db->query($sqlUpdate); if (!$result) { @@ -3876,8 +3880,8 @@ function migrate_user_rights_entity($db, $langs, $conf) $obj = $db->fetch_object($resql); $sqlUpdate = "UPDATE ".MAIN_DB_PREFIX."user_rights SET"; - $sqlUpdate .= " entity = ".$obj->entity; - $sqlUpdate .= " WHERE fk_user = ".$obj->rowid; + $sqlUpdate .= " entity = ".((int) $obj->entity); + $sqlUpdate .= " WHERE fk_user = ".((int) $obj->rowid); $result = $db->query($sqlUpdate); if (!$result) { @@ -3941,8 +3945,8 @@ function migrate_usergroup_rights_entity($db, $langs, $conf) $obj = $db->fetch_object($resql); $sqlUpdate = "UPDATE ".MAIN_DB_PREFIX."usergroup_rights SET"; - $sqlUpdate .= " entity = ".$obj->entity; - $sqlUpdate .= " WHERE fk_usergroup = ".$obj->rowid; + $sqlUpdate .= " entity = ".((int) $obj->entity); + $sqlUpdate .= " WHERE fk_usergroup = ".((int) $obj->rowid); $result = $db->query($sqlUpdate); if (!$result) { @@ -4282,6 +4286,22 @@ function migrate_reload_modules($db, $langs, $conf, $listofmodule = array(), $fo $mod->remove('noboxes'); // We need to remove because a permission id has been removed $mod->init($reloadmode); } + } elseif ($moduletoreload == 'MAIN_MODULE_KNOWLEDGEMANAGEMENT') { // Permission has changed into 3.0 and 3.1 + dolibarr_install_syslog("upgrade2::migrate_reload_modules Knowledge Management"); + $res = @include_once DOL_DOCUMENT_ROOT.'/core/modules/modKnowledgeManagement.class.php'; + if ($res) { + $mod = new modKnowledgeManagement($db); + $mod->remove('noboxes'); // We need to remove because a permission id has been removed + $mod->init($reloadmode); + } + } elseif ($moduletoreload == 'MAIN_MODULE_EVENTORGANIZATION') { // Permission has changed into 3.0 and 3.1 + dolibarr_install_syslog("upgrade2::migrate_reload_modules EventOrganization"); + $res = @include_once DOL_DOCUMENT_ROOT.'/core/modules/modEventOrganization.class.php'; + if ($res) { + $mod = new modEventOrganization($db); + $mod->remove('noboxes'); // We need to remove because a permission id has been removed + $mod->init($reloadmode); + } } elseif ($moduletoreload == 'MAIN_MODULE_PAYBOX') { // Permission has changed into 3.0 dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate Paybox module"); $res = @include_once DOL_DOCUMENT_ROOT.'/core/modules/modPaybox.class.php'; @@ -4585,7 +4605,7 @@ function migrate_users_socialnetworks() $sqlupd .= ', googleplus=null'; $sqlupd .= ', youtube=null'; $sqlupd .= ', whatsapp=null'; - $sqlupd .= ' WHERE rowid='.$obj->rowid; + $sqlupd .= ' WHERE rowid = '.((int) $obj->rowid); //print $sqlupd."
    "; $resqlupd = $db->query($sqlupd); if (!$resqlupd) { @@ -4676,7 +4696,7 @@ function migrate_members_socialnetworks() $sqlupd .= ', googleplus=null'; $sqlupd .= ', youtube=null'; $sqlupd .= ', whatsapp=null'; - $sqlupd .= ' WHERE rowid='.$obj->rowid; + $sqlupd .= ' WHERE rowid = '.((int) $obj->rowid); //print $sqlupd."
    "; $resqlupd = $db->query($sqlupd); if (!$resqlupd) { @@ -4771,7 +4791,7 @@ function migrate_contacts_socialnetworks() $sqlupd .= ', googleplus=null'; $sqlupd .= ', youtube=null'; $sqlupd .= ', whatsapp=null'; - $sqlupd .= ' WHERE rowid='.$obj->rowid; + $sqlupd .= ' WHERE rowid = '.((int) $obj->rowid); //print $sqlupd."
    "; $resqlupd = $db->query($sqlupd); if (!$resqlupd) { @@ -4861,7 +4881,7 @@ function migrate_thirdparties_socialnetworks() $sqlupd .= ', googleplus=null'; $sqlupd .= ', youtube=null'; $sqlupd .= ', whatsapp=null'; - $sqlupd .= ' WHERE rowid='.$obj->rowid; + $sqlupd .= ' WHERE rowid = '.((int) $obj->rowid); //print $sqlupd."
    "; $resqlupd = $db->query($sqlupd); if (!$resqlupd) { @@ -4881,3 +4901,74 @@ function migrate_thirdparties_socialnetworks() print ''.$langs->trans('MigrationFieldsSocialNetworks', 'Thirdparties')."
    \n"; print ''; } + + +/** + * Migrate export and import profiles to fix field name that was renamed + * + * @param string $mode 'export' or 'import' + * @return void + */ +function migrate_export_import_profiles($mode = 'export') +{ + global $db, $langs; + + $error = 0; + $resultstring = ''; + + $db->begin(); + + print ''; + $sql = 'SELECT rowid, field'; + if ($mode == 'export') { + $sql .= ', filter'; + } + $sql .= ' FROM '.MAIN_DB_PREFIX.$mode.'_model WHERE'; + $sql .= " type LIKE 'propale_%' OR type LIKE 'commande_%' OR type LIKE 'facture_%'"; + //print $sql; + $resql = $db->query($sql); + if ($resql) { + while ($obj = $db->fetch_object($resql)) { + $oldfield = $obj->field; + $newfield = str_replace(array(',f.facnumber', 'f.facnumber,', 'f.total,', 'f.tva,'), array(',f.ref', 'f.ref,', 'f.total_ht,', 'f.total_tva,'), $oldfield); + + if ($mode == 'export') { + $oldfilter = $obj->filter; + $newfilter = str_replace(array('f.facnumber=', 'f.total=', 'f.tva='), array('f.ref=', 'f.total_ht=', 'f.total_tva='), $oldfilter); + } else { + $oldfilter = ''; + $newfilter = ''; + } + + if ($oldfield != $newfield || $oldfilter != $newfilter) { + $sqlupd = 'UPDATE '.MAIN_DB_PREFIX.$mode."_model SET field = '".$db->escape($newfield)."'"; + if ($mode == 'export') { + $sqlupd .= ", filter = '".$db->escape($newfilter)."'"; + } + $sqlupd .= ' WHERE rowid = '.((int) $obj->rowid); + $resultstring .= ''.$sqlupd."\n"; + $resqlupd = $db->query($sqlupd); + if (!$resqlupd) { + dol_print_error($db); + $error++; + } + } + } + } else { + $error++; + } + if (!$error) { + $db->commit(); + } else { + dol_print_error($db); + $db->rollback(); + } + print ''.$langs->trans('MigrationImportOrExportProfiles', $mode)."
    \n"; + print ''; + + if ($resultstring) { + print $resultstring; + } else { + print ''.$langs->trans("NothingToDo")."\n"; + } +} diff --git a/htdocs/intracommreport/card.php b/htdocs/intracommreport/card.php index 24b8797a670..4dfc3250014 100644 --- a/htdocs/intracommreport/card.php +++ b/htdocs/intracommreport/card.php @@ -166,9 +166,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print '     '; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } diff --git a/htdocs/intracommreport/class/intracommreport.class.php b/htdocs/intracommreport/class/intracommreport.class.php index 9675d1f3860..d3f34fc149b 100644 --- a/htdocs/intracommreport/class/intracommreport.class.php +++ b/htdocs/intracommreport/class/intracommreport.class.php @@ -437,7 +437,7 @@ class IntracommReport extends CommonObject */ public function getNextDeclarationNumber() { - $resql = $this->db->query('SELECT MAX(numero_declaration) as max_declaration_number FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE exporttype="'.$this->exporttype.'"'); + $resql = $this->db->query('SELECT MAX(numero_declaration) as max_declaration_number FROM '.MAIN_DB_PREFIX.$this->table_element." WHERE exporttype='".$this->db->escape($this->exporttype)."'"); if ($resql) { $res = $this->db->fetch_object($resql); } diff --git a/htdocs/intracommreport/list.php b/htdocs/intracommreport/list.php index 686bd16d5de..a4fed4def2d 100644 --- a/htdocs/intracommreport/list.php +++ b/htdocs/intracommreport/list.php @@ -207,7 +207,7 @@ $sql = 'SELECT DISTINCT i.rowid, i.type_declaration, i.type_export, i.periods, i /* // Add fields from extrafields if (! empty($extrafields->attributes[$object->table_element]['label'])) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } */ // Add fields from hooks diff --git a/htdocs/knowledgemanagement/README.md b/htdocs/knowledgemanagement/README.md new file mode 100644 index 00000000000..406e9032154 --- /dev/null +++ b/htdocs/knowledgemanagement/README.md @@ -0,0 +1,9 @@ +Knowledge Management base +========================= + + +A complete knowledge database inside your application. +Store, search and retreive any article to keep your knowledge into a database. It can be used to manage a list of FAQ, or a database +of process, or solutions of common problems. + +If you are using the Ticket module, you can also link each article of your knowledge management database to the main diff --git a/htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php b/htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php new file mode 100644 index 00000000000..16429060a17 --- /dev/null +++ b/htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php @@ -0,0 +1,393 @@ + + * Copyright (C) 2021 SuperAdmin + * + * 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 . + */ + +use Luracast\Restler\RestException; + +dol_include_once('/knowledgemanagement/class/knowledgerecord.class.php'); + + + +/** + * \file knowledgemanagement/class/api_knowledgemanagement.class.php + * \ingroup knowledgemanagement + * \brief File for API management of knowledgerecord. + */ + +/** + * API class for knowledgemanagement knowledgerecord + * + * @access protected + * @class DolibarrApiAccess {@requires user,external} + */ +class KnowledgeManagement extends DolibarrApi +{ + /** + * @var KnowledgeRecord $knowledgerecord {@type KnowledgeRecord} + */ + public $knowledgerecord; + + /** + * Constructor + * + * @url GET / + * + */ + public function __construct() + { + global $db, $conf; + $this->db = $db; + $this->knowledgerecord = new KnowledgeRecord($this->db); + } + + /** + * Get properties of a knowledgerecord object + * + * Return an array with knowledgerecord informations + * + * @param int $id ID of knowledgerecord + * @return array|mixed data without useless information + * + * @url GET knowledgerecords/{id} + * + * @throws RestException 401 Not allowed + * @throws RestException 404 Not found + */ + public function get($id) + { + if (!DolibarrApiAccess::$user->rights->knowledgemanagement->knowledgerecord->read) { + throw new RestException(401); + } + + $result = $this->knowledgerecord->fetch($id); + if (!$result) { + throw new RestException(404, 'KnowledgeRecord not found'); + } + + if (!DolibarrApi::_checkAccessToResource('knowledgerecord', $this->knowledgerecord->id, 'knowledgemanagement_knowledgerecord')) { + throw new RestException(401, 'Access to instance id='.$this->knowledgerecord->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->knowledgerecord); + } + + + /** + * List knowledgerecords + * + * Get a list of knowledgerecords + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')" + * @return array Array of order objects + * + * @throws RestException + * + * @url GET /knowledgerecords/ + */ + public function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '') + { + global $db, $conf; + + $obj_ret = array(); + $tmpobject = new KnowledgeRecord($this->db); + + if (!DolibarrApiAccess::$user->rights->knowledgemanagement->knowledgerecord->read) { + throw new RestException(401); + } + + $socid = DolibarrApiAccess::$user->socid ? DolibarrApiAccess::$user->socid : ''; + + $restrictonsocid = 0; // Set to 1 if there is a field socid in table of object + + // If the internal user must only see his customers, force searching by him + $search_sale = 0; + if ($restrictonsocid && !DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) { + $search_sale = DolibarrApiAccess::$user->id; + } + + $sql = "SELECT t.rowid"; + if ($restrictonsocid && (!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) + } + $sql .= " FROM ".MAIN_DB_PREFIX.$tmpobject->table_element." as t"; + + if ($restrictonsocid && (!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 + } + $sql .= " WHERE 1 = 1"; + + // Example of use $mode + //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; + //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; + + if ($tmpobject->ismultientitymanaged) { + $sql .= ' AND t.entity IN ('.getEntity($tmpobject->element).')'; + } + if ($restrictonsocid && (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) { + $sql .= " AND t.fk_soc = sc.fk_soc"; + } + if ($restrictonsocid && $socid) { + $sql .= " AND t.fk_soc = ".((int) $socid); + } + if ($restrictonsocid && $search_sale > 0) { + $sql .= " AND t.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + } + // Insert sale filter + if ($restrictonsocid && $search_sale > 0) { + $sql .= " AND sc.fk_user = ".((int) $search_sale); + } + if ($sqlfilters) { + if (!DolibarrApi::_checkFilters($sqlfilters)) { + throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters); + } + $regexstring = '\(([^:\'\(\)]+:[^:\'\(\)]+:[^\(\)]+)\)'; + $sql .= " AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")"; + } + + $sql .= $this->db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) { + $page = 0; + } + $offset = $limit * $page; + + $sql .= $this->db->plimit($limit + 1, $offset); + } + + $result = $this->db->query($sql); + $i = 0; + if ($result) { + $num = $this->db->num_rows($result); + while ($i < $num) { + $obj = $this->db->fetch_object($result); + $tmp_object = new KnowledgeRecord($this->db); + if ($tmp_object->fetch($obj->rowid)) { + $obj_ret[] = $this->_cleanObjectDatas($tmp_object); + } + $i++; + } + } else { + throw new RestException(503, 'Error when retrieving knowledgerecord list: '.$this->db->lasterror()); + } + if (!count($obj_ret)) { + throw new RestException(404, 'No knowledgerecord found'); + } + return $obj_ret; + } + + /** + * Create knowledgerecord object + * + * @param array $request_data Request datas + * @return int ID of knowledgerecord + * + * @throws RestException + * + * @url POST knowledgerecords/ + */ + public function post($request_data = null) + { + if (!DolibarrApiAccess::$user->rights->knowledgemanagement->knowledgerecord->write) { + throw new RestException(401); + } + + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach ($request_data as $field => $value) { + $this->knowledgerecord->$field = $this->_checkValForAPI($field, $value, $this->knowledgerecord); + } + + // Clean data + // $this->knowledgerecord->abc = checkVal($this->knowledgerecord->abc, 'alphanohtml'); + + if ($this->knowledgerecord->create(DolibarrApiAccess::$user)<0) { + throw new RestException(500, "Error creating KnowledgeRecord", array_merge(array($this->knowledgerecord->error), $this->knowledgerecord->errors)); + } + return $this->knowledgerecord->id; + } + + /** + * Update knowledgerecord + * + * @param int $id Id of knowledgerecord to update + * @param array $request_data Datas + * @return int + * + * @throws RestException + * + * @url PUT knowledgerecords/{id} + */ + public function put($id, $request_data = null) + { + if (!DolibarrApiAccess::$user->rights->knowledgemanagement->knowledgerecord->write) { + throw new RestException(401); + } + + $result = $this->knowledgerecord->fetch($id); + if (!$result) { + throw new RestException(404, 'KnowledgeRecord not found'); + } + + if (!DolibarrApi::_checkAccessToResource('knowledgerecord', $this->knowledgerecord->id, 'knowledgemanagement_knowledgerecord')) { + throw new RestException(401, 'Access to instance id='.$this->knowledgerecord->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach ($request_data as $field => $value) { + if ($field == 'id') { + continue; + } + $this->knowledgerecord->$field = $this->_checkValForAPI($field, $value, $this->knowledgerecord); + } + + // Clean data + // $this->knowledgerecord->abc = checkVal($this->knowledgerecord->abc, 'alphanohtml'); + + if ($this->knowledgerecord->update(DolibarrApiAccess::$user, false) > 0) { + return $this->get($id); + } else { + throw new RestException(500, $this->knowledgerecord->error); + } + } + + /** + * Delete knowledgerecord + * + * @param int $id KnowledgeRecord ID + * @return array + * + * @throws RestException + * + * @url DELETE knowledgerecords/{id} + */ + public function delete($id) + { + if (!DolibarrApiAccess::$user->rights->knowledgemanagement->knowledgerecord->delete) { + throw new RestException(401); + } + $result = $this->knowledgerecord->fetch($id); + if (!$result) { + throw new RestException(404, 'KnowledgeRecord not found'); + } + + if (!DolibarrApi::_checkAccessToResource('knowledgerecord', $this->knowledgerecord->id, 'knowledgemanagement_knowledgerecord')) { + throw new RestException(401, 'Access to instance id='.$this->knowledgerecord->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); + } + + if (!$this->knowledgerecord->delete(DolibarrApiAccess::$user)) { + throw new RestException(500, 'Error when deleting KnowledgeRecord : '.$this->knowledgerecord->error); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'KnowledgeRecord deleted' + ) + ); + } + + + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore + /** + * Clean sensible object datas + * + * @param Object $object Object to clean + * @return Object Object with cleaned properties + */ + protected function _cleanObjectDatas($object) + { + // phpcs:enable + $object = parent::_cleanObjectDatas($object); + + unset($object->rowid); + unset($object->canvas); + + /*unset($object->name); + unset($object->lastname); + unset($object->firstname); + unset($object->civility_id); + unset($object->statut); + unset($object->state); + unset($object->state_id); + unset($object->state_code); + unset($object->region); + unset($object->region_code); + unset($object->country); + unset($object->country_id); + unset($object->country_code); + unset($object->barcode_type); + unset($object->barcode_type_code); + unset($object->barcode_type_label); + unset($object->barcode_type_coder); + unset($object->total_ht); + unset($object->total_tva); + unset($object->total_localtax1); + unset($object->total_localtax2); + unset($object->total_ttc); + unset($object->fk_account); + unset($object->comments); + unset($object->note); + unset($object->mode_reglement_id); + unset($object->cond_reglement_id); + unset($object->cond_reglement); + unset($object->shipping_method_id); + unset($object->fk_incoterms); + unset($object->label_incoterms); + unset($object->location_incoterms); + */ + + // If object has lines, remove $db property + if (isset($object->lines) && is_array($object->lines) && count($object->lines) > 0) { + $nboflines = count($object->lines); + for ($i = 0; $i < $nboflines; $i++) { + $this->_cleanObjectDatas($object->lines[$i]); + + unset($object->lines[$i]->lines); + unset($object->lines[$i]->note); + } + } + + return $object; + } + + /** + * Validate fields before create or update object + * + * @param array $data Array of data to validate + * @return array + * + * @throws RestException + */ + private function _validate($data) + { + $knowledgerecord = array(); + foreach ($this->knowledgerecord->fields as $field => $propfield) { + if (in_array($field, array('rowid', 'entity', 'date_creation', 'tms', 'fk_user_creat')) || $propfield['notnull'] != 1) { + continue; // Not a mandatory field + } + if (!isset($data[$field])) { + throw new RestException(400, "$field field missing"); + } + $knowledgerecord[$field] = $data[$field]; + } + return $knowledgerecord; + } +} diff --git a/htdocs/knowledgemanagement/class/knowledgerecord.class.php b/htdocs/knowledgemanagement/class/knowledgerecord.class.php index 872c5289c61..a152a693343 100644 --- a/htdocs/knowledgemanagement/class/knowledgerecord.class.php +++ b/htdocs/knowledgemanagement/class/knowledgerecord.class.php @@ -1,6 +1,5 @@ - * Copyright (C) ---Put here your own copyright and developer email--- * * 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 @@ -51,7 +50,7 @@ class KnowledgeRecord extends CommonObject * @var int Does this object support multicompany module ? * 0=No test on entity, 1=Test with field entity, 'field@table'=Test with link by field@table */ - public $ismultientitymanaged = 0; + public $ismultientitymanaged = 1; /** * @var int Does object support extrafields ? 0=No, 1=Yes @@ -70,7 +69,7 @@ class KnowledgeRecord extends CommonObject /** - * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:SortField]]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" * 'label' the translation key. * 'picto' is code of a picto to show before value in forms @@ -91,6 +90,7 @@ class KnowledgeRecord extends CommonObject * 'arraykeyval' to set list of value if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel") * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * 'copytoclipboard' is 1 or 2 to allow to add a picto to copy value into clipboard (1=picto after label, 2=picto after value) * * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. */ @@ -101,23 +101,26 @@ class KnowledgeRecord extends CommonObject */ public $fields=array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), - 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>5, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object"), + 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'default'=>'(PROV)', 'visible'=>5, 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object", "showoncombobox"=>1), + 'entity' =>array('type'=>'integer', 'label'=>'Entity', 'default'=>1, 'enabled'=>1, 'visible'=>0, 'notnull'=>1, 'position'=>20, 'index'=>1), + 'question' => array('type'=>'text', 'label'=>'Question', 'enabled'=>'1', 'position'=>30, 'notnull'=>1, 'visible'=>1, 'csslist'=>'tdoverflowmax300', 'copytoclipboard'=>1, 'tdcss'=>'titlefieldcreate nowraponall'), + 'lang' => array('type'=>'varchar(6)', 'label'=>'Language', 'enabled'=>'1', 'position'=>40, 'notnull'=>0, 'visible'=>1, 'tdcss'=>'titlefieldcreate nowraponall'), + 'answer' => array('type'=>'html', 'label'=>'Solution', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>3, 'csslist'=>'tdoverflowmax300', 'copytoclipboard'=>1, 'tdcss'=>'titlefieldcreate nowraponall'), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), - 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>2,), 'last_main_doc' => array('type'=>'varchar(255)', 'label'=>'LastMainDoc', 'enabled'=>'1', 'position'=>600, 'notnull'=>0, 'visible'=>0,), 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserCreation', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'enabled'=>'1', 'position'=>512, 'notnull'=>0, 'visible'=>-2,), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,), 'model_pdf' => array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>'1', 'position'=>1010, 'notnull'=>-1, 'visible'=>0,), - 'question' => array('type'=>'text', 'label'=>'Question', 'enabled'=>'1', 'position'=>30, 'notnull'=>1, 'visible'=>1, 'csslist'=>'tdoverflow300'), - 'answer' => array('type'=>'html', 'label'=>'Solution', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>3, 'csslist'=>'tdoverflow300'), //'url' => array('type'=>'varchar(255)', 'label'=>'URL', 'enabled'=>'1', 'position'=>55, 'notnull'=>0, 'visible'=>-1, 'csslist'=>'tdoverflow200', 'help'=>'UrlForInfoPage'), - 'fk_c_ticket_category' => array('type'=>'integer:CTicketCategory:ticket/class/cticketcategory.class.php', 'label'=>'TicketGroup', 'enabled'=>'$conf->ticket->enabled', 'position'=>512, 'notnull'=>0, 'visible'=>-1, 'help'=>'YouCanLinkArticleToATicketCategory'), - 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'visible'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Valid'),), + 'fk_c_ticket_category' => array('type'=>'integer:CTicketCategory:ticket/class/cticketcategory.class.php:0::pos', 'label'=>'SuggestedForTicketsInGroup', 'enabled'=>'$conf->ticket->enabled', 'position'=>512, 'notnull'=>0, 'visible'=>-1, 'help'=>'YouCanLinkArticleToATicketCategory', 'csslist'=>'minwidth200 tdoverflowmax250'), + 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'visible'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated'),), ); public $rowid; public $ref; + public $entity; public $date_creation; public $tms; public $last_main_doc; @@ -130,6 +133,7 @@ class KnowledgeRecord extends CommonObject public $answer; public $url; public $status; + public $lang; // END MODULEBUILDER PROPERTIES @@ -385,27 +389,27 @@ class KnowledgeRecord extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } elseif (strpos($value, '%') === false) { $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' AND ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); @@ -454,6 +458,15 @@ class KnowledgeRecord extends CommonObject */ public function delete(User $user, $notrigger = false) { + $error = 0; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_member WHERE fk_member = ".((int) $this->rowid); + dol_syslog(get_class($this)."::delete", LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) { + $error++; + $this->error .= $this->db->lasterror(); + $errorflag = -1; + } return $this->deleteCommon($user, $notrigger); //return $this->deleteCommon($user, $notrigger, 1); } @@ -814,12 +827,12 @@ class KnowledgeRecord extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("knowledgemanagement"); - $this->labelStatus[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('Validated'); - $this->labelStatus[self::STATUS_CANCELED] = $langs->trans('Disabled'); - $this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->trans('Validated'); - $this->labelStatusShort[self::STATUS_CANCELED] = $langs->trans('Disabled'); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); } $statusType = 'status'.$status; @@ -899,7 +912,7 @@ class KnowledgeRecord extends CommonObject $this->lines = array(); $objectline = new KnowledgeRecordLine($this->db); - $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_knowledgerecord = '.$this->id)); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_knowledgerecord = '.((int) $this->id))); if (is_numeric($result)) { $this->error = $this->error; @@ -1034,6 +1047,22 @@ class KnowledgeRecord extends CommonObject return $error; } + + /** + * Sets object to supplied categories. + * + * Deletes object from existing categories not supplied. + * Adds it to non existing supplied categories. + * Existing categories are left untouch. + * + * @param int[]|int $categories Category or categories IDs + * @return void + */ + public function setCategories($categories) + { + require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + return parent::setCategoriesCommon($categories, Categorie::TYPE_KNOWLEDGEMANAGEMENT); + } } diff --git a/htdocs/knowledgemanagement/core/modules/knowledgemanagement/mod_knowledgerecord_advanced.php b/htdocs/knowledgemanagement/core/modules/knowledgemanagement/mod_knowledgerecord_advanced.php index 48efbfbc8eb..70cda7254c8 100644 --- a/htdocs/knowledgemanagement/core/modules/knowledgemanagement/mod_knowledgerecord_advanced.php +++ b/htdocs/knowledgemanagement/core/modules/knowledgemanagement/mod_knowledgerecord_advanced.php @@ -81,7 +81,7 @@ class mod_knowledgerecord_advanced extends ModeleNumRefKnowledgeRecord $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/knowledgemanagement/knowledgemanagementindex.php b/htdocs/knowledgemanagement/knowledgemanagementindex.php index adb7052316f..d9b1f07e6e0 100644 --- a/htdocs/knowledgemanagement/knowledgemanagementindex.php +++ b/htdocs/knowledgemanagement/knowledgemanagementindex.php @@ -84,7 +84,7 @@ if (! empty($conf->knowledgemanagement->enabled) && $user->rights->knowledgemana $sql.= " WHERE c.fk_soc = s.rowid"; $sql.= " AND c.fk_statut = 0"; $sql.= " AND c.entity IN (".getEntity('commande').")"; - if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); if ($socid) $sql.= " AND c.fk_soc = ".((int) $socid); $resql = $db->query($sql); @@ -158,7 +158,7 @@ if (! empty($conf->knowledgemanagement->enabled) && $user->rights->knowledgemana $sql.= " FROM ".MAIN_DB_PREFIX."knowledgemanagement_myobject as s"; //if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.entity IN (".getEntity($myobjectstatic->element).")"; - //if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); //if ($socid) $sql.= " AND s.rowid = $socid"; $sql .= " ORDER BY s.tms DESC"; $sql .= $db->plimit($max, 0); diff --git a/htdocs/knowledgemanagement/knowledgerecord_agenda.php b/htdocs/knowledgemanagement/knowledgerecord_agenda.php index 7853aa7e2ff..2779fca570a 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_agenda.php +++ b/htdocs/knowledgemanagement/knowledgerecord_agenda.php @@ -154,7 +154,7 @@ if ($object->id > 0) { $morehtmlref.='
    '.$langs->trans('Project') . ' '; if ($permissiontoadd) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; } $morehtmlref.=' : '; if ($action == 'classify') { diff --git a/htdocs/knowledgemanagement/knowledgerecord_card.php b/htdocs/knowledgemanagement/knowledgerecord_card.php index c96319eb022..8af0431f361 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_card.php +++ b/htdocs/knowledgemanagement/knowledgerecord_card.php @@ -28,11 +28,13 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php'; require_once DOL_DOCUMENT_ROOT.'/knowledgemanagement/class/knowledgerecord.class.php'; require_once DOL_DOCUMENT_ROOT.'/knowledgemanagement/lib/knowledgemanagement_knowledgerecord.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; // Load translation files required by the page -$langs->loadLangs(array("knowledgemanagement", "other")); +$langs->loadLangs(array("knowledgemanagement", "ticket", "other")); // Get parameters $id = GETPOST('id', 'int'); @@ -103,20 +105,25 @@ if ($reshook < 0) { if (empty($reshook)) { $error = 0; - $backurlforlist = dol_buildpath('/knowledgemanagement/knowledgerecord_list.php', 1); + $backurlforlist = DOL_URL_ROOT.'/knowledgemanagement/knowledgerecord_list.php'; if (empty($backtopage) || ($cancel && empty($id))) { if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { $backtopage = $backurlforlist; } else { - $backtopage = dol_buildpath('/knowledgemanagement/knowledgerecord_card.php', 1).'?id='.($id > 0 ? $id : '__ID__'); + $backtopage = DOL_URL_ROOT.'/knowledgemanagement/knowledgerecord_card.php?id='.($id > 0 ? $id : '__ID__'); } } } $triggermodname = 'KNOWLEDGEMANAGEMENT_KNOWLEDGERECORD_MODIFY'; // Name of trigger action code to execute when we modify record + // Upadate / add for lang + if (($action == 'update' || $action == 'add') && !empty($permissiontoadd)) { + $object->lang = (GETPOSTISSET('langkm') ? GETPOST('langkm', 'aZ09') : $object->lang); + } + // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; @@ -156,6 +163,7 @@ if ($action == 'confirm_validate') { $form = new Form($db); $formfile = new FormFile($db); $formproject = new FormProjets($db); +$formadmin = new FormAdmin($db); $title = $langs->trans("KnowledgeRecord"); $help_url = ''; @@ -185,6 +193,17 @@ if ($action == 'create') { // Common attributes include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_add.tpl.php'; + if ($conf->categorie->enabled) { + $cate_arbo = $form->select_all_categories(Categorie::TYPE_KNOWLEDGEMANAGEMENT, '', 'parent', 64, 0, 1); + + if (count($cate_arbo)) { + // Categories + print ''.$langs->trans("Categories").''; + print img_picto('', 'category').$form->multiselectarray('categories', $cate_arbo, GETPOST('categories', 'array'), '', 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0); + print ""; + } + } + // Other attributes include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_add.tpl.php'; @@ -192,11 +211,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '  '; - print ''; // Cancel for create does not post form if we don't know the backtopage - print '
    '; + print $form->buttonsSaveCancel('Create'); print ''; @@ -225,6 +240,25 @@ if (($id || $ref) && $action == 'edit') { // Common attributes include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_edit.tpl.php'; + if ($conf->categorie->enabled) { + $cate_arbo = $form->select_all_categories(Categorie::TYPE_KNOWLEDGEMANAGEMENT, '', 'parent', 64, 0, 1); + + if (count($cate_arbo)) { + // Categories + print ''.$langs->trans("Categories").''; + $c = new Categorie($db); + $cats = $c->containing($object->id, Categorie::TYPE_KNOWLEDGEMANAGEMENT); + $arrayselected = array(); + if (is_array($cats)) { + foreach ($cats as $cat) { + $arrayselected[] = $cat->id; + } + } + print $form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0); + print ""; + } + } + // Other attributes include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_edit.tpl.php'; @@ -232,9 +266,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print '   '; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } @@ -278,7 +310,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Object card // ------------------------------------------------------------ - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref = '
    '; /* @@ -292,7 +324,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $langs->load("projects"); $morehtmlref .= '
    '.$langs->trans('Project') . ' '; if ($permissiontoadd) { - //if ($action != 'classify') $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' '; + //if ($action != 'classify') $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' '; $morehtmlref .= ' : '; if ($action == 'classify') { //$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -332,6 +364,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea //unset($object->fields['fk_soc']); // Hide field already shown in banner include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php'; + // Categories + if ($conf->categorie->enabled) { + print ''.$langs->trans("Categories").''; + print $form->showCategories($object->id, Categorie::TYPE_KNOWLEDGEMANAGEMENT, 1); + print ""; + } + // Other attributes. Fields from hook formObjectOptions and Extrafields. include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; @@ -364,13 +403,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if ($object->status == $object::STATUS_VALIDATED) { print dolGetButtonAction($langs->trans('SetToDraft'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=confirm_setdraft&confirm=yes', '', $permissiontoadd); } - if ($object->status == $object::STATUS_VALIDATED && $permissiontovalidate) { - print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit', '', $permissiontoadd); + if (($object->status == $object::STATUS_DRAFT || $object->status == $object::STATUS_VALIDATED) && $permissiontovalidate) { + print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken(), '', $permissiontoadd); } // Validate if ($object->status == $object::STATUS_DRAFT) { if ((empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) && $permissiontovalidate) { - print dolGetButtonAction($langs->trans('ValidateReply'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_validate&confirm=yes', '', $permissiontoadd); + print dolGetButtonAction($langs->trans('Validate'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_validate&token='.newToken().'&confirm=yes', '', $permissiontoadd); } else { $langs->load("errors"); //print dolGetButtonAction($langs->trans('Validate'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_validate&confirm=yes', '', 0); @@ -379,7 +418,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } // Clone - print dolGetButtonAction($langs->trans('ToClone'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$object->socid.'&action=clone&object=scrumsprint', '', $permissiontoadd); + print dolGetButtonAction($langs->trans('ToClone'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&socid='.$object->socid.'&action=clone&token='.newToken().'&object=scrumsprint', '', $permissiontoadd); /* if ($permissiontoadd) { @@ -399,7 +438,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea */ // Delete (need delete permission, or if draft, just need create/modify permission) - print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=delete', '', $permissiontodelete || ($object->status == $object::STATUS_DRAFT && $permissiontoadd)); + print dolGetButtonAction($langs->trans('Delete'), '', 'delete', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=delete&token='.newToken(), '', $permissiontodelete || ($object->status == $object::STATUS_DRAFT && $permissiontoadd)); } print '
    '."\n"; } @@ -436,7 +475,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $MAXEVENT = 10; - $morehtmlright = ''; + $morehtmlright = ''; $morehtmlright .= $langs->trans("SeeAll"); $morehtmlright .= ''; diff --git a/htdocs/knowledgemanagement/knowledgerecord_contact.php b/htdocs/knowledgemanagement/knowledgerecord_contact.php index 1eb80efafa1..c338653b840 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_contact.php +++ b/htdocs/knowledgemanagement/knowledgerecord_contact.php @@ -139,7 +139,7 @@ if ($object->id) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/knowledgemanagement/knowledgerecord_document.php b/htdocs/knowledgemanagement/knowledgerecord_document.php index 4a572ee22bb..f3d23fba4bd 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_document.php +++ b/htdocs/knowledgemanagement/knowledgerecord_document.php @@ -137,7 +137,7 @@ if ($object->id) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/knowledgemanagement/knowledgerecord_list.php b/htdocs/knowledgemanagement/knowledgerecord_list.php index 87be91f51f6..d4a702f26b8 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_list.php +++ b/htdocs/knowledgemanagement/knowledgerecord_list.php @@ -26,6 +26,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -88,7 +89,11 @@ $search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alph $search = array(); foreach ($object->fields as $key => $val) { if (GETPOST('search_'.$key, 'alpha') !== '') { - $search[$key] = GETPOST('search_'.$key, 'alpha'); + if ($key == "lang") { + $search[$key] = GETPOST('search_'.$key, 'alpha')!='0' ? GETPOST('search_'.$key, 'alpha') : ''; + } else { + $search[$key] = GETPOST('search_'.$key, 'alpha'); + } } if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); @@ -115,7 +120,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -196,12 +201,14 @@ if (empty($reshook)) { */ $form = new Form($db); +$user_temp = new User($db); +$formadmin = new FormAdmin($db); $now = dol_now(); //$help_url="EN:Module_KnowledgeRecord|FR:Module_KnowledgeRecord_FR|ES:Módulo_KnowledgeRecord"; $help_url = ''; -$title = $langs->trans('ListOfArticles'); +$title = $langs->trans('ListKnowledgeRecord'); $morejs = array(); $morecss = array(); @@ -213,13 +220,13 @@ $sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ",ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ",ef.".$key." as options_".$key.', ' : ''); } } // Add fields from hooks $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook -$sql .= preg_replace('/^,/', '', $hookmanager->resPrint); +$sql .= preg_replace('/^,/', ',', $hookmanager->resPrint); $sql = preg_replace('/,\s*$/', '', $sql); $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { @@ -240,8 +247,8 @@ foreach ($search as $key => $val) { continue; } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0)) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -251,10 +258,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; @@ -277,7 +284,7 @@ $sql .= $hookmanager->resPrint; /* If a group by is required $sql.= " GROUP BY "; foreach($object->fields as $key => $val) { - $sql.='t.'.$key.', '; + $sql .= "t.".$key.", "; } // Add fields from extrafields if (! empty($extrafields->attributes[$object->table_element]['label'])) { @@ -364,13 +371,13 @@ $param .= $hookmanager->resPrint; // List of mass actions available $arrayofmassactions = array( - //'validate'=>$langs->trans("Validate"), - //'generate_doc'=>$langs->trans("ReGeneratePDF"), - //'builddoc'=>$langs->trans("PDFMerge"), - //'presend'=>$langs->trans("SendByMail"), + 'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), + //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), ); if ($permissiontodelete) { - $arrayofmassactions['predelete'] = ''.$langs->trans("Delete"); + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); } if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { $arrayofmassactions = array(); @@ -449,12 +456,11 @@ foreach ($object->fields as $key => $val) { } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; + if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:')=== 0)) { print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth125', 1); - } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { - print ''; } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { print '
    '; print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); @@ -462,6 +468,10 @@ foreach ($object->fields as $key => $val) { print '
    '; print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); print '
    '; + } elseif ($key == 'lang') { + print $formadmin->select_language($search[$key], 'search_lang', 0, null, 1, 0, 0, 'minwidth150 maxwidth200', 2); + } else { + print ''; } print ''; } @@ -554,11 +564,47 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; - if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'fk_user_creat') { + if ($object->fk_user_creat > 0) { + if (isset($conf->cache['user'][$object->fk_user_creat])) { + $user_temp = $conf->cache['user'][$object->fk_user_creat]; + } else { + $user_temp = new User($db); + $user_temp->fetch($object->fk_user_creat); + $conf->cache['user'][$object->fk_user_creat] = $user_temp; + } + print $user_temp->getNomUrl(-1); + } + } elseif ($key == 'fk_user_modif') { + if ($object->fk_user_modif > 0) { + if (isset($conf->cache['user'][$object->fk_user_modif])) { + $user_temp = $conf->cache['user'][$object->fk_user_modif]; + } else { + $user_temp = new User($db); + $user_temp->fetch($object->fk_user_modif); + $conf->cache['user'][$object->fk_user_modif] = $user_temp; + } + print $user_temp->getNomUrl(-1); + } + } elseif ($key == 'fk_user_valid') { + if ($object->fk_user_valid > 0) { + if (isset($conf->cache['user'][$object->fk_user_valid])) { + $user_temp = $conf->cache['user'][$object->fk_user_valid]; + } else { + $user_temp = new User($db); + $user_temp->fetch($object->fk_user_valid); + $conf->cache['user'][$object->fk_user_valid] = $user_temp; + } + print $user_temp->getNomUrl(-1); + } + } elseif ($key == 'lang') { + $labellang = ($object->lang ? $langs->trans('Language_'.$object->lang) : ''); + print picto_from_langcode($object->lang, 'class="paddingrightonly saturatemedium opacitylow"'); + print $labellang; } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -566,7 +612,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/knowledgemanagement/knowledgerecord_note.php b/htdocs/knowledgemanagement/knowledgerecord_note.php index a6a9974a9c8..2e58480adec 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_note.php +++ b/htdocs/knowledgemanagement/knowledgerecord_note.php @@ -66,7 +66,13 @@ $permissiontoadd = $user->rights->knowledgemanagement->knowledgerecord->write; / * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -105,7 +111,7 @@ if ($id > 0 || !empty($ref)) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/langs/am_ET/accountancy.lang b/htdocs/langs/am_ET/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/am_ET/accountancy.lang +++ b/htdocs/langs/am_ET/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/am_ET/admin.lang b/htdocs/langs/am_ET/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/am_ET/admin.lang +++ b/htdocs/langs/am_ET/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/am_ET/agenda.lang b/htdocs/langs/am_ET/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/am_ET/agenda.lang +++ b/htdocs/langs/am_ET/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/am_ET/banks.lang b/htdocs/langs/am_ET/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/am_ET/banks.lang +++ b/htdocs/langs/am_ET/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/am_ET/bills.lang b/htdocs/langs/am_ET/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/am_ET/bills.lang +++ b/htdocs/langs/am_ET/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/am_ET/boxes.lang b/htdocs/langs/am_ET/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/am_ET/boxes.lang +++ b/htdocs/langs/am_ET/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/am_ET/cashdesk.lang b/htdocs/langs/am_ET/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/am_ET/cashdesk.lang +++ b/htdocs/langs/am_ET/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/am_ET/compta.lang b/htdocs/langs/am_ET/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/am_ET/compta.lang +++ b/htdocs/langs/am_ET/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/am_ET/cron.lang b/htdocs/langs/am_ET/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/am_ET/cron.lang +++ b/htdocs/langs/am_ET/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/am_ET/deliveries.lang b/htdocs/langs/am_ET/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/am_ET/deliveries.lang +++ b/htdocs/langs/am_ET/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/am_ET/errors.lang b/htdocs/langs/am_ET/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/am_ET/errors.lang +++ b/htdocs/langs/am_ET/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/am_ET/eventorganization.lang b/htdocs/langs/am_ET/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/am_ET/eventorganization.lang +++ b/htdocs/langs/am_ET/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/am_ET/exports.lang b/htdocs/langs/am_ET/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/am_ET/exports.lang +++ b/htdocs/langs/am_ET/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/am_ET/holiday.lang b/htdocs/langs/am_ET/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/am_ET/holiday.lang +++ b/htdocs/langs/am_ET/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/am_ET/hrm.lang b/htdocs/langs/am_ET/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/am_ET/hrm.lang +++ b/htdocs/langs/am_ET/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/am_ET/install.lang b/htdocs/langs/am_ET/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/am_ET/install.lang +++ b/htdocs/langs/am_ET/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/am_ET/interventions.lang b/htdocs/langs/am_ET/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/am_ET/interventions.lang +++ b/htdocs/langs/am_ET/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/am_ET/knowledgemanagement.lang b/htdocs/langs/am_ET/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/am_ET/knowledgemanagement.lang +++ b/htdocs/langs/am_ET/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/am_ET/languages.lang b/htdocs/langs/am_ET/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/am_ET/languages.lang +++ b/htdocs/langs/am_ET/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/am_ET/mails.lang b/htdocs/langs/am_ET/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/am_ET/mails.lang +++ b/htdocs/langs/am_ET/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/am_ET/main.lang b/htdocs/langs/am_ET/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/am_ET/main.lang +++ b/htdocs/langs/am_ET/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/am_ET/members.lang b/htdocs/langs/am_ET/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/am_ET/members.lang +++ b/htdocs/langs/am_ET/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/am_ET/modulebuilder.lang b/htdocs/langs/am_ET/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/am_ET/modulebuilder.lang +++ b/htdocs/langs/am_ET/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/am_ET/mrp.lang b/htdocs/langs/am_ET/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/am_ET/mrp.lang +++ b/htdocs/langs/am_ET/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/am_ET/orders.lang b/htdocs/langs/am_ET/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/am_ET/orders.lang +++ b/htdocs/langs/am_ET/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/am_ET/other.lang b/htdocs/langs/am_ET/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/am_ET/other.lang +++ b/htdocs/langs/am_ET/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/am_ET/partnership.lang b/htdocs/langs/am_ET/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/am_ET/partnership.lang +++ b/htdocs/langs/am_ET/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/am_ET/productbatch.lang b/htdocs/langs/am_ET/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/am_ET/productbatch.lang +++ b/htdocs/langs/am_ET/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/am_ET/products.lang b/htdocs/langs/am_ET/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/am_ET/products.lang +++ b/htdocs/langs/am_ET/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/am_ET/projects.lang b/htdocs/langs/am_ET/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/am_ET/projects.lang +++ b/htdocs/langs/am_ET/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/am_ET/receptions.lang b/htdocs/langs/am_ET/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/am_ET/receptions.lang +++ b/htdocs/langs/am_ET/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/am_ET/salaries.lang b/htdocs/langs/am_ET/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/am_ET/salaries.lang +++ b/htdocs/langs/am_ET/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/am_ET/stocks.lang b/htdocs/langs/am_ET/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/am_ET/stocks.lang +++ b/htdocs/langs/am_ET/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/am_ET/ticket.lang b/htdocs/langs/am_ET/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/am_ET/ticket.lang +++ b/htdocs/langs/am_ET/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/am_ET/trips.lang b/htdocs/langs/am_ET/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/am_ET/trips.lang +++ b/htdocs/langs/am_ET/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/am_ET/users.lang b/htdocs/langs/am_ET/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/am_ET/users.lang +++ b/htdocs/langs/am_ET/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/am_ET/website.lang b/htdocs/langs/am_ET/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/am_ET/website.lang +++ b/htdocs/langs/am_ET/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/am_ET/withdrawals.lang b/htdocs/langs/am_ET/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/am_ET/withdrawals.lang +++ b/htdocs/langs/am_ET/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/am_ET/workflow.lang b/htdocs/langs/am_ET/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/am_ET/workflow.lang +++ b/htdocs/langs/am_ET/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/ar_EG/accountancy.lang b/htdocs/langs/ar_EG/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/ar_EG/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/ar_EG/admin.lang b/htdocs/langs/ar_EG/admin.lang index f426e787f85..46608a162b0 100644 --- a/htdocs/langs/ar_EG/admin.lang +++ b/htdocs/langs/ar_EG/admin.lang @@ -49,3 +49,4 @@ Permission81=قراءة أوامر الشراء MailToSendInvoice=فواتير العميل MailToSendSupplierOrder=أوامر الشراء MailToSendSupplierInvoice=فواتير المورد +Recommended=موصى به diff --git a/htdocs/langs/ar_EG/cron.lang b/htdocs/langs/ar_EG/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/ar_EG/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/ar_EG/main.lang b/htdocs/langs/ar_EG/main.lang index 44cf90cc973..e83f01bc8a1 100644 --- a/htdocs/langs/ar_EG/main.lang +++ b/htdocs/langs/ar_EG/main.lang @@ -19,6 +19,7 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +Closed=مقفول Closed2=مقفول CloseAs=اضبط الحالة على RefSupplier=المرجع. مورد diff --git a/htdocs/langs/ar_EG/orders.lang b/htdocs/langs/ar_EG/orders.lang index 7f814594ec4..a239c4b27a6 100644 --- a/htdocs/langs/ar_EG/orders.lang +++ b/htdocs/langs/ar_EG/orders.lang @@ -8,6 +8,7 @@ Orders=الطلبات OrderDateShort=تاريخ الأمر OrderToProcess=طلب تحت التشغيل NewOrder=أمر جديد +NewSupplierOrderShort=أمر جديد ToOrder=إصدار أمر MakeOrder=إصدار أمر SuppliersOrders=أوامر الشراء diff --git a/htdocs/langs/ar_EG/partnership.lang b/htdocs/langs/ar_EG/partnership.lang index b617038bda4..3088f385a77 100644 --- a/htdocs/langs/ar_EG/partnership.lang +++ b/htdocs/langs/ar_EG/partnership.lang @@ -1,4 +1,4 @@ # Dolibarr language file - Source file is en_US - partnership -PartnershipDraft =مسودة -PartnershipAccepted =مقبول -PartnershipRefused =مرفوض +PartnershipDraft=مسودة +PartnershipAccepted=مقبول +PartnershipRefused=مرفوض diff --git a/htdocs/langs/ar_EG/ticket.lang b/htdocs/langs/ar_EG/ticket.lang index 9aadaa6918b..efabefc1d94 100644 --- a/htdocs/langs/ar_EG/ticket.lang +++ b/htdocs/langs/ar_EG/ticket.lang @@ -1,3 +1,2 @@ # Dolibarr language file - Source file is en_US - ticket -Closed=مقفول TicketSettings=الإعدادات diff --git a/htdocs/langs/ar_IQ/accountancy.lang b/htdocs/langs/ar_IQ/accountancy.lang index 354cddb62c2..3bb3fbfab17 100644 --- a/htdocs/langs/ar_IQ/accountancy.lang +++ b/htdocs/langs/ar_IQ/accountancy.lang @@ -1,430 +1,3 @@ -# Dolibarr language file - en_US - Accountancy (Double entries) -Accountancy=Accountancy -Accounting=Accounting -ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file -ACCOUNTING_EXPORT_DATE=Date format for export file -ACCOUNTING_EXPORT_PIECE=Export the number of piece -ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account -ACCOUNTING_EXPORT_LABEL=Export label -ACCOUNTING_EXPORT_AMOUNT=Export amount -ACCOUNTING_EXPORT_DEVISE=Export currency -Selectformat=Select the format for the file -ACCOUNTING_EXPORT_FORMAT=Select the format for the file -ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type -ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name -ThisService=This service -ThisProduct=This product -DefaultForService=Default for service -DefaultForProduct=Default for product -ProductForThisThirdparty=Product for this thirdparty -ServiceForThisThirdparty=Service for this thirdparty -CantSuggest=Can't suggest -AccountancySetupDoneFromAccountancyMenu=Most setup of the accountancy is done from the menu %s -ConfigAccountingExpert=Configuration of the module accounting (double entry) -Journalization=Journalization -Journals=Journals -JournalFinancial=Financial journals -BackToChartofaccounts=Return chart of accounts -Chartofaccounts=Chart of accounts -ChartOfSubaccounts=Chart of individual accounts -ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger -CurrentDedicatedAccountingAccount=Current dedicated account -AssignDedicatedAccountingAccount=New account to assign -InvoiceLabel=Invoice label -OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to an accounting account -OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to an accounting account -OtherInfo=Other information -DeleteCptCategory=Remove accounting account from group -ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? -JournalizationInLedgerStatus=Status of journalization +# Dolibarr language file - Source file is en_US - accountancy AlreadyInGeneralLedger=Already transferred in accounting journals and ledger NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger -GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group -DetailByAccount=Show detail by account -AccountWithNonZeroValues=Accounts with non-zero values -ListOfAccounts=List of accounts -CountriesInEEC=Countries in EEC -CountriesNotInEEC=Countries not in EEC -CountriesInEECExceptMe=Countries in EEC except %s -CountriesExceptMe=All countries except %s -AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. -VueByAccountAccounting=View by accounting account -VueBySubAccountAccounting=View by accounting subaccount - -MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup -MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup -MainAccountForUsersNotDefined=Main accounting account for users not defined in setup -MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup -MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup - -AccountancyArea=Accounting area -AccountancyAreaDescIntro=Usage of the accountancy module is done in several step: -AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year... -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) -AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies... - -AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s -AccountancyAreaDescChartModel=STEP %s: Check that a model of chart of account exists or create one from menu %s -AccountancyAreaDescChart=STEP %s: Select and|or complete your chart of account from menu %s - -AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s. -AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. -AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s. -AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s. -AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expenses (miscellaneous taxes). For this, use the menu entry %s. -AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s. -AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. -AccountancyAreaDescMisc=STEP %s: Define mandatory default account and default accounting accounts for miscellaneous transactions. For this, use the menu entry %s. -AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s. -AccountancyAreaDescBank=STEP %s: Define accounting accounts and journal code for each bank and financial accounts. For this, use the menu entry %s. -AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %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. -AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu %s, and click into button %s. -AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports. - -AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future. - -TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) -Selectchartofaccounts=Select active chart of accounts -ChangeAndLoad=Change and load -Addanaccount=Add an accounting account -AccountAccounting=Accounting account -AccountAccountingShort=Account -SubledgerAccount=Subledger account -SubledgerAccountLabel=Subledger account label -ShowAccountingAccount=Show accounting account -ShowAccountingJournal=Show accounting journal -ShowAccountingAccountInLedger=Show accounting account in ledger -ShowAccountingAccountInJournals=Show accounting account in journals -AccountAccountingSuggest=Accounting account suggested -MenuDefaultAccounts=Default accounts -MenuBankAccounts=Bank accounts -MenuVatAccounts=Vat accounts -MenuTaxAccounts=Tax accounts -MenuExpenseReportAccounts=Expense report accounts -MenuLoanAccounts=Loan accounts -MenuProductsAccounts=Product accounts -MenuClosureAccounts=Closure accounts -MenuAccountancyClosure=Closure -MenuAccountancyValidationMovements=Validate movements -ProductsBinding=Products accounts -TransferInAccounting=Transfer in accounting -RegistrationInAccounting=Registration in accounting -Binding=Binding to accounts -CustomersVentilation=Customer invoice binding -SuppliersVentilation=Vendor invoice binding -ExpenseReportsVentilation=Expense report binding -CreateMvts=Create new transaction -UpdateMvts=Modification of a transaction -ValidTransaction=Validate transaction -WriteBookKeeping=Register transactions in accounting -Bookkeeping=Ledger -BookkeepingSubAccount=Subledger -AccountBalance=Account balance -ObjectsRef=Source object ref -CAHTF=Total purchase vendor before tax -TotalExpenseReport=Total expense report -InvoiceLines=Lines of invoices to bind -InvoiceLinesDone=Bound lines of invoices -ExpenseReportLines=Lines of expense reports to bind -ExpenseReportLinesDone=Bound lines of expense reports -IntoAccount=Bind line with the accounting account -TotalForAccount=Total accounting account - - -Ventilate=Bind -LineId=Id line -Processing=Processing -EndProcessing=Process terminated. -SelectedLines=Selected lines -Lineofinvoice=Line of invoice -LineOfExpenseReport=Line of expense report -NoAccountSelected=No accounting account selected -VentilatedinAccount=Binded successfully to the accounting account -NotVentilatedinAccount=Not bound to the accounting account -XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account -XLineFailedToBeBinded=%s products/services were not bound to any accounting account - -ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50) -ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements -ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements - -ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50) -ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 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_AACCOUNT=Length of the third-party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen) -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. -BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account -ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) -ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. -ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default - -ACCOUNTING_SELL_JOURNAL=Sell journal -ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal -ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal -ACCOUNTING_SOCIAL_JOURNAL=Social journal -ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal - -ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) -ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) -ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure - -ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer -TransitionalAccount=Transitional bank transfer account - -ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait -DONATION_ACCOUNTINGACCOUNT=Accounting account to register donations -ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions - -ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit - -ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for the bought products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) - -ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) - -Doctype=Type of document -Docdate=Date -Docref=Reference -LabelAccount=Label account -LabelOperation=Label operation -Sens=Direction -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made -LetteringCode=Lettering code -Lettering=Lettering -Codejournal=Journal -JournalLabel=Journal label -NumPiece=Piece number -TransactionNumShort=Num. transaction -AccountingCategory=Custom group -GroupByAccountAccounting=Group by general ledger account -GroupBySubAccountAccounting=Group by subledger account -AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. -ByAccounts=By accounts -ByPredefinedAccountGroups=By predefined groups -ByPersonalizedAccountGroups=By personalized groups -ByYear=By year -NotMatch=Not Set -DeleteMvt=Delete some operation lines from accounting -DelMonth=Month to delete -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all operation lines of the accounting for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. -ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all operation lines related to the same transaction will be deleted) -FinanceJournal=Finance journal -ExpenseReportsJournal=Expense reports journal -DescFinanceJournal=Finance journal including all the types of payments by bank account -DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Journals and Ledger. -VATAccountNotDefined=Account for VAT not defined -ThirdpartyAccountNotDefined=Account for third party not defined -ProductAccountNotDefined=Account for product not defined -FeeAccountNotDefined=Account for fee not defined -BankAccountNotDefined=Account for bank not defined -CustomerInvoicePayment=Payment of invoice customer -ThirdPartyAccount=Third-party account -NewAccountingMvt=New transaction -NumMvts=Numero of transaction -ListeMvts=List of movements -ErrorDebitCredit=Debit and Credit cannot have a value at the same time -AddCompteFromBK=Add accounting accounts to the group -ReportThirdParty=List third-party account -DescThirdPartyReport=Consult here the list of third-party customers and vendors and their accounting accounts -ListAccounts=List of the accounting accounts -UnknownAccountForThirdparty=Unknown third-party account. We will use %s -UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s -ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. -UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error -PaymentsNotLinkedToProduct=Payment not linked to any product / service -OpeningBalance=Opening balance -ShowOpeningBalance=Show opening balance -HideOpeningBalance=Hide opening balance -ShowSubtotalByGroup=Show subtotal by level - -Pcgtype=Group of account -PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. - -Reconcilable=Reconcilable - -TotalVente=Total turnover before tax -TotalMarge=Total sales margin - -DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account -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 "%s". 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 "%s". -DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account -DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account -ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account: -Vide=- -DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account (only record not already transfered in accountancy are visible) -DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account -DescVentilTodoExpenseReport=Bind expense report lines not already bound with a fee accounting account -DescVentilExpenseReport=Consult here the list of expense report lines bound (or not) to a fee accounting account -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 "%s". 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 "%s". -DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account - -Closure=Annual closure -DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open -OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) -AllMovementsWereRecordedAsValidated=All movements were recorded as validated -NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated -ValidateMovements=Validate movements -DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible - -ValidateHistory=Bind Automatically -AutomaticBindingDone=Automatic binding done - -ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used -MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s -Balancing=Balancing -FicheVentilation=Binding card -GeneralLedgerIsWritten=Transactions are written in the Ledger -GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized. -NoNewRecordSaved=No more record to journalize -ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account -ChangeBinding=Change the binding -Accounted=Accounted in ledger -NotYetAccounted=Not yet accounted in the ledger -ShowTutorial=Show Tutorial -NotReconciled=Not reconciled -WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view - -## Admin -BindingOptions=Binding options -ApplyMassCategories=Apply mass categories -AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group -CategoryDeleted=Category for the accounting account has been removed -AccountingJournals=Accounting journals -AccountingJournal=Accounting journal -NewAccountingJournal=New accounting journal -ShowAccountingJournal=Show accounting journal -NatureOfJournal=Nature of Journal -AccountingJournalType1=Miscellaneous operations -AccountingJournalType2=Sales -AccountingJournalType3=Purchases -AccountingJournalType4=Bank -AccountingJournalType5=Expenses report -AccountingJournalType8=Inventory -AccountingJournalType9=Has-new -ErrorAccountingJournalIsAlreadyUse=This journal is already use -AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu %s - %s -NumberOfAccountancyEntries=Number of entries -NumberOfAccountancyMovements=Number of movements -ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) - -## Export -ExportDraftJournal=Export draft journal -Modelcsv=Model of export -Selectmodelcsv=Select a model of export -Modelcsv_normal=Classic export -Modelcsv_CEGID=Export for CEGID Expert Comptabilité -Modelcsv_COALA=Export for Sage Coala -Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution -Modelcsv_quadratus=Export for Quadratus QuadraCompta -Modelcsv_ebp=Export for EBP -Modelcsv_cogilog=Export for Cogilog -Modelcsv_agiris=Export for Agiris -Modelcsv_LDCompta=Export for LD Compta (v9) (Test) -Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) -Modelcsv_openconcerto=Export for OpenConcerto (Test) -Modelcsv_configurable=Export CSV Configurable -Modelcsv_FEC=Export FEC -Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) -Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland -Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta -Modelcsv_Gestinumv3=Export for Gestinum (v3) -Modelcsv_Gestinumv5Export for Gestinum (v5) -ChartofaccountsId=Chart of accounts Id - -## Tools - Init accounting account on product / service -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. -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 used for accounting closures. -Options=Options -OptionModeProductSell=Mode sales -OptionModeProductSellIntra=Mode sales exported in EEC -OptionModeProductSellExport=Mode sales exported in other countries -OptionModeProductBuy=Mode purchases -OptionModeProductBuyIntra=Mode purchases imported in EEC -OptionModeProductBuyExport=Mode purchased imported from other countries -OptionModeProductSellDesc=Show all products with accounting account for sales. -OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. -OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. -OptionModeProductBuyDesc=Show all products with accounting account for purchases. -OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. -OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. -CleanFixHistory=Remove accounting code from lines that not exists into charts of account -CleanHistory=Reset all bindings for selected year -PredefinedGroups=Predefined groups -WithoutValidAccount=Without valid dedicated account -WithValidAccount=With valid dedicated account -ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account -AccountRemovedFromGroup=Account removed from group -SaleLocal=Local sale -SaleExport=Export sale -SaleEEC=Sale in EEC -SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. -SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. - -## Dictionary -Range=Range of accounting account -Calculated=Calculated -Formula=Formula - -## Error -SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them -ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries) -ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice %s, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. -ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. -ExportNotSupported=The export format setuped is not supported into this page -BookeppingLineAlreayExists=Lines already existing into bookkeeping -NoJournalDefined=No journal defined -Binded=Lines bound -ToBind=Lines to bind -UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually - -## Import -ImportAccountingEntries=Accounting entries -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) -FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) - -DateExport=Date export -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. -ExpenseReportJournal=Expense Report Journal -InventoryJournal=Inventory Journal - -NAccounts=%s accounts diff --git a/htdocs/langs/ar_IQ/admin.lang b/htdocs/langs/ar_IQ/admin.lang index fb4513a09b4..052a23ce875 100644 --- a/htdocs/langs/ar_IQ/admin.lang +++ b/htdocs/langs/ar_IQ/admin.lang @@ -1,2131 +1,10 @@ # Dolibarr language file - Source file is en_US - admin -Foundation=Foundation -Version=Version -Publisher=Publisher -VersionProgram=Version program -VersionLastInstall=Initial install version -VersionLastUpgrade=Latest version upgrade -VersionExperimental=Experimental -VersionDevelopment=Development -VersionUnknown=Unknown -VersionRecommanded=Recommended -FileCheck=Fileset Integrity Checks -FileCheckDesc=This tool allows you to check the integrity of files and the setup of your application, comparing each file with the official one. The value of some setup constants may also be checked. You can use this tool to determine if any files have been modified (e.g by a hacker). -FileIntegrityIsStrictlyConformedWithReference=Files integrity is strictly conformed with the reference. -FileIntegrityIsOkButFilesWereAdded=Files integrity check has passed, however some new files have been added. -FileIntegritySomeFilesWereRemovedOrModified=Files integrity check has failed. Some files were modified, removed or added. -GlobalChecksum=Global checksum -MakeIntegrityAnalysisFrom=Make integrity analysis of application files from -LocalSignature=Embedded local signature (less reliable) -RemoteSignature=Remote distant signature (more reliable) -FilesMissing=Missing Files -FilesUpdated=Updated Files -FilesModified=Modified Files -FilesAdded=Added Files -FileCheckDolibarr=Check integrity of application files -AvailableOnlyOnPackagedVersions=The local file for integrity checking is only available when the application is installed from an official package -XmlNotFound=Xml Integrity File of application not found -SessionId=Session ID -SessionSaveHandler=Handler to save sessions -SessionSavePath=Session save location -PurgeSessions=Purge of sessions -ConfirmPurgeSessions=Do you really want to purge all sessions? This will disconnect every user (except yourself). -NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow listing all running sessions. -LockNewSessions=Lock new connections -ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself? Only user %s will be able to connect after that. -UnlockNewSessions=Remove connection lock -YourSession=Your session -Sessions=Users Sessions -WebUserGroup=Web server user/group -PermissionsOnFiles=Permissions on files -PermissionsOnFilesInWebRoot=Permissions on files in web root directory -PermissionsOnFile=Permissions on file %s -NoSessionFound=Your PHP configuration seems to not allow listing of active sessions. The directory used to save sessions (%s) may be protected (for example by OS permissions or by PHP directive open_basedir). -DBStoringCharset=Database charset to store data -DBSortingCharset=Database charset to sort data -HostCharset=Host charset -ClientCharset=Client charset -ClientSortingCharset=Client collation -WarningModuleNotActive=Module %s must be enabled -WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. -DolibarrSetup=Dolibarr install or upgrade -InternalUser=Internal user -ExternalUser=External user -InternalUsers=Internal users -ExternalUsers=External users -GUISetup=Display -SetupArea=Setup -UploadNewTemplate=Upload new template(s) -FormToTestFileUploadForm=Form to test file upload (according to setup) -ModuleMustBeEnabled=The module/application %s must be enabled -ModuleIsEnabled=The module/application %s has been enabled -IfModuleEnabled=Note: yes is effective only if module %s is enabled -RemoveLock=Remove/rename file %s if it exists, to allow usage of the Update/Install tool. -RestoreLock=Restore file %s, with read permission only, to disable any further use of the Update/Install tool. -SecuritySetup=Security setup -PHPSetup=PHP setup -OSSetup=OS setup -SecurityFilesDesc=Define here options related to security about uploading files. -ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher -ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher -ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. -DictionarySetup=Dictionary setup -Dictionary=Dictionaries -ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record -ErrorCodeCantContainZero=Code can't contain value 0 -DisableJavascript=Disable JavaScript and Ajax functions DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user -UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.
    This may increase performance if you have a large number of third parties, but it is less convenient. -DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient. -NumberOfKeyToSearch=Number of characters to trigger search: %s -NumberOfBytes=Number of Bytes -SearchString=Search string -NotAvailableWhenAjaxDisabled=Not available when Ajax disabled -AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party -JavascriptDisabled=JavaScript disabled -UsePreviewTabs=Use preview tabs -ShowPreview=Show preview -ShowHideDetails=Show-Hide details -PreviewNotAvailable=Preview not available -ThemeCurrentlyActive=Theme currently active -MySQLTimeZone=TimeZone MySql (database) -TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submitted string. The timezone has effect only when using the UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). -Space=Space -Table=Table -Fields=Fields -Index=Index -Mask=Mask -NextValue=Next value -NextValueForInvoices=Next value (invoices) -NextValueForCreditNotes=Next value (credit notes) -NextValueForDeposit=Next value (down payment) -NextValueForReplacements=Next value (replacements) -MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the maximum filesize for upload to %s %s, irrespective of the value of this parameter -NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration -MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) -UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand=Full path to antivirus command -AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe -AntiVirusParam= More parameters on command line -AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -ComptaSetup=Accounting module setup -UserSetup=User management setup -MultiCurrencySetup=Multi-currency setup -MenuLimits=Limits and accuracy -MenuIdParent=Parent menu ID -DetailMenuIdParent=ID of parent menu (empty for a top menu) -DetailPosition=Sort number to define menu position -AllMenus=All -NotConfigured=Module/Application not configured -Active=Active -SetupShort=Setup -OtherOptions=Other options -OtherSetup=Other Setup -CurrentValueSeparatorDecimal=Decimal separator -CurrentValueSeparatorThousand=Thousand separator -Destination=Destination -IdModule=Module ID -IdPermissions=Permissions ID -LanguageBrowserParameter=Parameter %s -LocalisationDolibarrParameters=Localization parameters -ClientTZ=Client Time Zone (user) -ClientHour=Client time (user) -OSTZ=Server OS Time Zone -PHPTZ=PHP server Time Zone -DaylingSavingTime=Daylight saving time -CurrentHour=PHP Time (server) -CurrentSessionTimeOut=Current session timeout -YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a .htaccess file with a line like this "SetEnv TZ Europe/Paris" -HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but of the timezone of the server. -Box=Widget -Boxes=Widgets -MaxNbOfLinesForBoxes=Max. number of lines for widgets -AllWidgetsWereEnabled=All available widgets are enabled -PositionByDefault=Default order -Position=Position -MenusDesc=Menu managers set content of the two menu bars (horizontal and vertical). -MenusEditorDesc=The menu editor allows you to define custom menu entries. Use it carefully to avoid instability and permanently unreachable menu entries.
    Some modules add menu entries (in menu All mostly). If you remove some of these entries by mistake, you can restore them disabling and reenabling the module. -MenuForUsers=Menu for users -LangFile=.lang file -Language_en_US_es_MX_etc=Language (en_US, es_MX, ...) -System=System -SystemInfo=System information -SystemToolsArea=System tools area -SystemToolsAreaDesc=This area provides administration functions. Use the menu to choose the required feature. -Purge=Purge -PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server. -PurgeDeleteLogFile=Delete log files, including %s defined for Syslog module (no risk of losing data) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. -PurgeDeleteTemporaryFilesShort=Delete log and temporary files -PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: %s.
    This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files. -PurgeRunNow=Purge now -PurgeNothingToDelete=No directory or files to delete. -PurgeNDirectoriesDeleted=%s files or directories deleted. -PurgeNDirectoriesFailed=Failed to delete %s files or directories. -PurgeAuditEvents=Purge all security events -ConfirmPurgeAuditEvents=Are you sure you want to purge all security events? All security logs will be deleted, no other data will be removed. -GenerateBackup=Generate backup -Backup=Backup -Restore=Restore -RunCommandSummary=Backup has been launched with the following command -BackupResult=Backup result -BackupFileSuccessfullyCreated=Backup file successfully generated -YouCanDownloadBackupFile=The generated file can now be downloaded -NoBackupFileAvailable=No backup files available. -ExportMethod=Export method -ImportMethod=Import method -ToBuildBackupFileClickHere=To build a backup file, click here. -ImportMySqlDesc=To import a MySQL backup file, you may use phpMyAdmin via your hosting or use the mysql command from the Command line.
    For example: -ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: -ImportMySqlCommand=%s %s < mybackupfile.sql -ImportPostgreSqlCommand=%s %s mybackupfile.sql -FileNameToGenerate=Filename for backup: -Compression=Compression -CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import -CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later -ExportCompatibility=Compatibility of generated export file -ExportUseMySQLQuickParameter=Use the --quick parameter -ExportUseMySQLQuickParameterHelp=The '--quick' parameter helps limit RAM consumption for large tables. -MySqlExportParameters=MySQL export parameters -PostgreSqlExportParameters= PostgreSQL export parameters -UseTransactionnalMode=Use transactional mode -FullPathToMysqldumpCommand=Full path to mysqldump command -FullPathToPostgreSQLdumpCommand=Full path to pg_dump command -AddDropDatabase=Add DROP DATABASE command -AddDropTable=Add DROP TABLE command -ExportStructure=Structure -NameColumn=Name columns -ExtendedInsert=Extended INSERT -NoLockBeforeInsert=No lock commands around INSERT -DelayedInsert=Delayed insert -EncodeBinariesInHexa=Encode binary data in hexadecimal -IgnoreDuplicateRecords=Ignore errors of duplicate record (INSERT IGNORE) -AutoDetectLang=Autodetect (browser language) -FeatureDisabledInDemo=Feature disabled in demo -FeatureAvailableOnlyOnStable=Feature only available on official stable versions -BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. -OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. -ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... -ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. -ModulesMarketPlaces=Find external app/modules -ModulesDevelopYourModule=Develop your own app/modules -ModulesDevelopDesc=You may also develop your own module or find a partner to develop one for you. -DOLISTOREdescriptionLong=Instead of switching on www.dolistore.com web site to find an external module, you can use this embedded tool that will perform the search on the external market place for you (may be slow, need an internet access)... -NewModule=New module -FreeModule=Free -CompatibleUpTo=Compatible with version %s -NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). -CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). -SeeInMarkerPlace=See in Market place -SeeSetupOfModule=See setup of module %s -Updated=Updated -Nouveauté=Novelty -AchatTelechargement=Buy / Download -GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. -DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules -DoliPartnersDesc=List of companies providing custom-developed modules or features.
    Note: since Dolibarr is an open source application, anyone experienced in PHP programming should be able to develop a module. -WebSiteDesc=External websites for more add-on (non-core) modules... -DevelopYourModuleDesc=Some solutions to develop your own module... -URL=URL -RelativeURL=Relative URL -BoxesAvailable=Widgets available -BoxesActivated=Widgets activated -ActivateOn=Activate on -ActiveOn=Activated on -ActivatableOn=Activatable on -SourceFile=Source file -AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled -Required=Required -UsedOnlyWithTypeOption=Used by some agenda option only -Security=Security -Passwords=Passwords -DoNotStoreClearPassword=Encrypt passwords stored in database (NOT as plain-text). It is strongly recommended to activate this option. -MainDbPasswordFileConfEncrypted=Encrypt database password stored in conf.php. It is strongly recommended to activate this option. -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
    $dolibarr_main_db_pass="...";
    by
    $dolibarr_main_db_pass="crypted:%s"; -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
    $dolibarr_main_db_pass="crypted:...";
    by
    $dolibarr_main_db_pass="%s"; -ProtectAndEncryptPdfFiles=Protect generated PDF files. This is NOT recommended as it breaks bulk PDF generation. -ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working. -Feature=Feature -DolibarrLicense=License -Developpers=Developers/contributors -OfficialWebSite=Dolibarr official web site -OfficialWebSiteLocal=Local web site (%s) -OfficialWiki=Dolibarr documentation / Wiki -OfficialDemo=Dolibarr online demo -OfficialMarketPlace=Official market place for external modules/addons -OfficialWebHostingService=Referenced web hosting services (Cloud hosting) -ReferencedPreferredPartners=Preferred Partners -OtherResources=Other resources -ExternalResources=External Resources -SocialNetworks=Social Networks -SocialNetworkId=Social Network ID -ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
    take a look at the Dolibarr Wiki:
    %s -ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
    %s -HelpCenterDesc1=Here are some resources for getting help and support with Dolibarr. -HelpCenterDesc2=Some of these resources are only available in english. -CurrentMenuHandler=Current menu handler -MeasuringUnit=Measuring unit -LeftMargin=Left margin -TopMargin=Top margin -PaperSize=Paper type -Orientation=Orientation -SpaceX=Space X -SpaceY=Space Y -FontSize=Font size -Content=Content -NoticePeriod=Notice period -NewByMonth=New by month -Emails=Emails -EMailsSetup=Emails setup -EMailsDesc=This page allows you to set parameters or options for email sending. -EmailSenderProfiles=Emails sender profiles -EMailsSenderProfileDesc=You can keep this section empty. If you enter some emails here, they will be added to the list of possible senders into the combobox when your write a new email. -MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (default value in php.ini: %s) -MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (default value in php.ini: %s) -MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix-like systems) -MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix-like systems) -MAIN_MAIL_EMAIL_FROM=Sender email for automatic emails (default value in php.ini: %s) -MAIN_MAIL_ERRORS_TO=Email used for error returns emails (fields 'Errors-To' in emails sent) -MAIN_MAIL_AUTOCOPY_TO= Copy (Bcc) all sent emails to -MAIN_DISABLE_ALL_MAILS=Disable all email sending (for test purposes or demos) -MAIN_MAIL_FORCE_SENDTO=Send all emails to (instead of real recipients, for test purposes) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email -MAIN_MAIL_SENDMODE=Email sending method -MAIN_MAIL_SMTPS_ID=SMTP ID (if sending server requires authentication) -MAIN_MAIL_SMTPS_PW=SMTP Password (if sending server requires authentication) -MAIN_MAIL_EMAIL_TLS=Use TLS (SSL) encryption -MAIN_MAIL_EMAIL_STARTTLS=Use TLS (STARTTLS) encryption -MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés -MAIN_MAIL_EMAIL_DKIM_ENABLED=Use DKIM to generate email signature -MAIN_MAIL_EMAIL_DKIM_DOMAIN=Email Domain for use with dkim -MAIN_MAIL_EMAIL_DKIM_SELECTOR=Name of dkim selector -MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Private key for dkim signing -MAIN_DISABLE_ALL_SMS=Disable all SMS sending (for test purposes or demos) -MAIN_SMS_SENDMODE=Method to use to send SMS -MAIN_MAIL_SMS_FROM=Default sender phone number for SMS sending -MAIN_MAIL_DEFAULT_FROMTYPE=Default sender email for manual sending (User email or Company email) -UserEmail=User email -CompanyEmail=Company Email -FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. -FixOnTransifex=Fix the translation on the online translation platform of project -SubmitTranslation=If the translation for this language is not complete or you find errors, you can correct this by editing files in directory langs/%s and submit your change to www.transifex.com/dolibarr-association/dolibarr/ -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or, if you are a developer, with a PR on github.com/Dolibarr/dolibarr -ModuleSetup=Module setup -ModulesSetup=Modules/Application setup -ModuleFamilyBase=System -ModuleFamilyCrm=Customer Relationship Management (CRM) -ModuleFamilySrm=Vendor Relationship Management (VRM) -ModuleFamilyProducts=Product Management (PM) -ModuleFamilyHr=Human Resource Management (HR) -ModuleFamilyProjects=Projects/Collaborative work -ModuleFamilyOther=Other -ModuleFamilyTechnic=Multi-modules tools -ModuleFamilyExperimental=Experimental modules -ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) -ModuleFamilyECM=Electronic Content Management (ECM) -ModuleFamilyPortal=Websites and other frontal application -ModuleFamilyInterface=Interfaces with external systems -MenuHandlers=Menu handlers -MenuAdmin=Menu editor -DoNotUseInProduction=Do not use in production -ThisIsProcessToFollow=Upgrade procedure: -ThisIsAlternativeProcessToFollow=This is an alternative setup to process manually: -StepNb=Step %s -FindPackageFromWebSite=Find a package that provides the features you need (for example on the official web site %s). -DownloadPackageFromWebSite=Download package (for example from the official web site %s). -UnpackPackageInDolibarrRoot=Unpack/unzip the packaged files into your Dolibarr server directory: %s -UnpackPackageInModulesRoot=To deploy/install an external module, unpack/unzip the packaged files into the server directory dedicated to external modules:
    %s -SetupIsReadyForUse=Module deployment is finished. You must however enable and setup the module in your application by going to the page setup modules: %s. -NotExistsDirect=The alternative root directory is not defined to an existing directory.
    -InfDirAlt=Since version 3, it is possible to define an alternative root directory. This allows you to store, into a dedicated directory, plug-ins and custom templates.
    Just create a directory at the root of Dolibarr (eg: custom).
    -InfDirExample=
    Then declare it in the file conf.php
    $dolibarr_main_url_root_alt='/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    If these lines are commented with "#", to enable them, just uncomment by removing the "#" character. -YouCanSubmitFile=You can upload the .zip file of module package from here: -CurrentVersion=Dolibarr current version -CallUpdatePage=Browse to the page that updates the database structure and data: %s. -LastStableVersion=Latest stable version -LastActivationDate=Latest activation date -LastActivationAuthor=Latest activation author -LastActivationIP=Latest activation IP -UpdateServerOffline=Update server offline -WithCounter=Manage a counter -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    -GenericMaskCodes3=All other characters in the mask will remain intact.
    Spaces are not allowed.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    -GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany, with date 2007-01-31:
    -GenericMaskCodes4b=Example on third party created on 2007-03-01:
    -GenericMaskCodes4c=Example on product created on 2007-03-01:
    -GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
    {0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX
    IN{yy}{mm}-{0000}-{t} will give IN0701-0099-A if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI' -GenericNumRefModelDesc=Returns a customizable number according to a defined mask. -ServerAvailableOnIPOrPort=Server is available at address %s on port %s -ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s -DoTestServerAvailability=Test server connectivity -DoTestSend=Test sending -DoTestSendHTML=Test sending HTML -ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. -ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. -UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. -UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
    It must be the octal value (for example, 0666 means read and write for everyone).
    This parameter is useless on a Windows server. -SeeWikiForAllTeam=Take a look at the Wiki page for a list of contributors and their organization -UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) DisableLinkToHelpCenter=Hide link "Need help or support" on login page DisableLinkToHelp=Hide link to online help "%s" -AddCRIfTooLong=There is no automatic text wrapping, text that is too long will not display on documents. Please add carriage returns in the text area if needed. -ConfirmPurge=Are you sure you want to execute this purge?
    This will permanently delete all your data files with no way to restore them (ECM files, attached files...). -MinLength=Minimum length -LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory -LanguageFile=Language file -ExamplesWithCurrentSetup=Examples with current configuration -ListOfDirectories=List of OpenDocument templates directories -ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

    Files in those directories must end with .odt or .ods. -NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories -ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\myapp\\mydocumentdir\\mysubdir
    /home/myapp/mydocumentdir/mysubdir
    DOL_DATA_ROOT/ecm/ecmdir -FollowingSubstitutionKeysCanBeUsed=
    To know how to create your odt document templates, before storing them in those directories, read wiki documentation: -FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template -FirstnameNamePosition=Position of Name/Lastname -DescWeather=The following images will be shown on the dashboard when the number of late actions reach the following values: -KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices) -TestSubmitForm=Input test form -ThisForceAlsoTheme=Using this menu manager will also use its own theme whatever the user choice. Also this menu manager specialized for smartphones does not work on all smartphone. Use another menu manager if you experience problems with yours. -ThemeDir=Skins directory -ConnectionTimeout=Connection timeout -ResponseTimeout=Response timeout -SmsTestMessage=Test message from __PHONEFROM__ to __PHONETO__ -ModuleMustBeEnabledFirst=Module %s must be enabled first if you need this feature. -SecurityToken=Key to secure URLs -NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s -PDF=PDF -PDFDesc=Global options for PDF generation -PDFAddressForging=Rules for address section -HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT -PDFRulesForSalesTax=Rules for Sales Tax / VAT -PDFLocaltax=Rules for %s -HideLocalTaxOnPDF=Hide %s rate in column Sale Tax / VAT -HideDescOnPDF=Hide products description -HideRefOnPDF=Hide products ref. -HideDetailsOnPDF=Hide product lines details -PlaceCustomerAddressToIsoLocation=Use french standard position (La Poste) for customer address position -Library=Library -UrlGenerationParameters=Parameters to secure URLs -SecurityTokenIsUnique=Use a unique securekey parameter for each URL -EnterRefToBuildUrl=Enter reference for object %s -GetSecuredUrl=Get calculated URL -ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise) -OldVATRates=Old VAT rate -NewVATRates=New VAT rate -PriceBaseTypeToChange=Modify on prices with base reference value defined on -MassConvert=Launch bulk conversion -PriceFormatInCurrentLanguage=Price Format In Current Language -String=String -String1Line=String (1 line) -TextLong=Long text -TextLongNLines=Long text (n lines) -HtmlText=Html text -Int=Integer -Float=Float -DateAndTime=Date and hour -Unique=Unique -Boolean=Boolean (one checkbox) -ExtrafieldPhone = Phone -ExtrafieldPrice = Price -ExtrafieldMail = Email -ExtrafieldUrl = Url -ExtrafieldSelect = Select list -ExtrafieldSelectList = Select from table -ExtrafieldSeparator=Separator (not a field) -ExtrafieldPassword=Password -ExtrafieldRadio=Radio buttons (one choice only) -ExtrafieldCheckBox=Checkboxes -ExtrafieldCheckBoxFromList=Checkboxes from table -ExtrafieldLink=Link to an object -ComputedFormula=Computed field -ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

    Example of formula:
    $object->id < 10 ? round($object->id / 2, 2): ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)

    Example to reload object
    (($reloadedobj = new Societe($db)) && ($reloadedobj->fetchNoCompute($obj->id ? $obj->id: ($obj->rowid ? $obj->rowid: $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5: '-1'

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' -Computedpersistent=Store computed field -ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! -ExtrafieldParamHelpPassword=Leaving this field blank means this value will be stored without encryption (field must be only hidden with star on screen).
    Set 'auto' to use the default encryption rule to save password into database (then value read will be the hash only, no way to retrieve original value) -ExtrafieldParamHelpselect=List of values must be lines with format key,value (where key can't be '0')

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

    In order to have the list depending on another complementary attribute list:
    1,value1|options_parent_list_code:parent_key
    2,value2|options_parent_list_code:parent_key

    In order to have the list depending on another list:
    1,value1|parent_list_code:parent_key
    2,value2|parent_list_code:parent_key -ExtrafieldParamHelpcheckbox=List of values must be lines with format key,value (where key can't be '0')

    for example:
    1,value1
    2,value2
    3,value3
    ... -ExtrafieldParamHelpradio=List of values must be lines with format key,value (where key can't be '0')

    for example:
    1,value1
    2,value2
    3,value3
    ... -ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
    Syntax: ObjectName:Classpath -ExtrafieldParamHelpSeparator=Keep empty for a simple separator
    Set this to 1 for a collapsing separator (open by default for new session, then status is kept for each user session)
    Set this to 2 for a collapsing separator (collapsed by default for new session, then status is kept fore each user session) -LibraryToBuildPDF=Library used for PDF generation -LocalTaxDesc=Some countries may apply two or three taxes on each invoice line. If this is the case, choose the type for the second and third tax and its rate. Possible type are:
    1: local tax apply on products and services without vat (localtax is calculated on amount without tax)
    2: local tax apply on products and services including vat (localtax is calculated on amount + main tax)
    3: local tax apply on products without vat (localtax is calculated on amount without tax)
    4: local tax apply on products including vat (localtax is calculated on amount + main vat)
    5: local tax apply on services without vat (localtax is calculated on amount without tax)
    6: local tax apply on services including vat (localtax is calculated on amount + tax) -SMS=SMS -LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user %s -RefreshPhoneLink=Refresh link -LinkToTest=Clickable link generated for user %s (click phone number to test) -KeepEmptyToUseDefault=Keep empty to use default value -KeepThisEmptyInMostCases=In most cases, you can keep this field empy. -DefaultLink=Default link -SetAsDefault=Set as default -ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module -InstalledInto=Installed into directory %s -BarcodeInitForThirdparties=Mass barcode init for third-parties -BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services -CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. -InitEmptyBarCode=Init value for next %s empty records -EraseAllCurrentBarCode=Erase all current barcode values -ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values? -AllBarcodeReset=All barcode values have been removed -NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled in the Barcode module setup. -EnableFileCache=Enable file cache -ShowDetailsInPDFPageFoot=Add more details into footer, such as company address or manager names (in addition to professional ids, company capital and VAT number). -NoDetails=No additional details in footer -DisplayCompanyInfo=Display company address -DisplayCompanyManagers=Display manager names -DisplayCompanyInfoAndManagers=Display company address and manager names -EnableAndSetupModuleCron=If you want to have this recurring invoice generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template using the *Create* button. Note that even if you enabled automatic generation, you can still safely launch manual generation. Generation of duplicates for the same period is not possible. -ModuleCompanyCodeCustomerAquarium=%s followed by customer code for a customer accounting code -ModuleCompanyCodeSupplierAquarium=%s followed by vendor code for a vendor accounting code -ModuleCompanyCodePanicum=Return an empty accounting code. -ModuleCompanyCodeDigitaria=Returns a compound accounting code according to the name of the third party. The code consists of a prefix that can be defined in the first position followed by the number of characters defined in the third party code. -ModuleCompanyCodeCustomerDigitaria=%s followed by the truncated customer name by the number of characters: %s for the customer accounting code. -ModuleCompanyCodeSupplierDigitaria=%s followed by the truncated supplier name by the number of characters: %s for the supplier accounting code. -Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to create and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce a third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1=validation, 2=first approval and 3=second approval if amount is enough).
    Set this to empty if one approval (2 steps) is enough, set it to a very low value (0.1) if a second approval (3 steps) is always required. -UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than... -WarningPHPMail=WARNING: The setup to send emails from the application is using the default generic setup. It is often better to setup outgoing emails to use the email server of your Email Service Provider instead of the default setup for several reasons: -WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM -WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). -WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. -WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. -WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. -WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. -ClickToShowDescription=Click to show description -DependsOn=This module needs the module(s) -RequiredBy=This module is required by module(s) -TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. Technical knowledge is required to read the content of the HTML page to get the key name of a field. -PageUrlForDefaultValues=You must enter the relative path of the page URL. If you include parameters in URL, the default values will be effective if all parameters are set to same value. -PageUrlForDefaultValuesCreate=
    Example:
    For the form to create a new third party, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/", so use path like mymodule/mypage.php and not custom/mymodule/mypage.php.
    If you want default value only if url has some parameter, you can use %s -PageUrlForDefaultValuesList=
    Example:
    For the page that lists third parties, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/" so use a path like mymodule/mypagelist.php and not custom/mymodule/mypagelist.php.
    If you want default value only if url has some parameter, you can use %s -AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) -EnableDefaultValues=Enable customization of default values -EnableOverwriteTranslation=Enable usage of overwritten translation -GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code. To change this value, you must edit it from Home-Setup-translation. -WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior. -Field=Field -ProductDocumentTemplates=Document templates to generate product document -FreeLegalTextOnExpenseReports=Free legal text on expense reports -WatermarkOnDraftExpenseReports=Watermark on draft expense reports -AttachMainDocByDefault=Set this to 1 if you want to attach main document to email by default (if applicable) -FilesAttachedToEmail=Attach file -SendEmailsReminders=Send agenda reminders by emails -davDescription=Setup a WebDAV server -DAVSetup=Setup of module DAV -DAV_ALLOW_PRIVATE_DIR=Enable the generic private directory (WebDAV dedicated directory named "private" - login required) -DAV_ALLOW_PRIVATE_DIRTooltip=The generic private directory is a WebDAV directory anybody can access with its application login/pass. -DAV_ALLOW_PUBLIC_DIR=Enable the generic public directory (WebDAV dedicated directory named "public" - no login required) -DAV_ALLOW_PUBLIC_DIRTooltip=The generic public directory is a WebDAV directory anybody can access (in read and write mode), with no authorization required (login/password account). -DAV_ALLOW_ECM_DIR=Enable the DMS/ECM private directory (root directory of the DMS/ECM module - login required) -DAV_ALLOW_ECM_DIRTooltip=The root directory where all files are manually uploaded when using the DMS/ECM module. Similarly as access from the web interface, you will need a valid login/password with adecuate permissions to access it. -# Modules -Module0Name=Users & Groups -Module0Desc=Users / Employees and Groups management -Module1Name=Third Parties -Module1Desc=Companies and contacts management (customers, prospects...) -Module2Name=Commercial -Module2Desc=Commercial management -Module10Name=Accounting (simplified) -Module10Desc=Simple accounting reports (journals, turnover) based on database content. Does not use any ledger table. -Module20Name=Proposals -Module20Desc=Commercial proposal management -Module22Name=Mass Emailings -Module22Desc=Manage bulk emailing -Module23Name=Energy -Module23Desc=Monitoring the consumption of energies -Module25Name=Sales Orders -Module25Desc=Sales order management -Module30Name=Invoices -Module30Desc=Management of invoices and credit notes for customers. Management of invoices and credit notes for suppliers -Module40Name=Vendors -Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) -Module42Name=Debug Logs -Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes. -Module43Name=Debug Bar -Module43Desc=A tool for developper adding a debug bar in your browser. -Module49Name=Editors -Module49Desc=Editor management -Module50Name=Products -Module50Desc=Management of Products -Module51Name=Mass mailings -Module51Desc=Mass paper mailing management -Module52Name=Stocks -Module52Desc=Stock management -Module53Name=Services -Module53Desc=Management of Services -Module54Name=Contracts/Subscriptions -Module54Desc=Management of contracts (services or recurring subscriptions) -Module55Name=Barcodes -Module55Desc=Barcode management -Module56Name=Payment by credit transfer -Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. -Module57Name=Payments by Direct Debit -Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. -Module58Name=ClickToDial -Module58Desc=Integration of a ClickToDial system (Asterisk, ...) -Module60Name=Stickers -Module60Desc=Management of stickers -Module70Name=Interventions -Module70Desc=Intervention management -Module75Name=Expense and trip notes -Module75Desc=Expense and trip notes management -Module80Name=Shipments -Module80Desc=Shipments and delivery note management -Module85Name=Banks & Cash -Module85Desc=Management of bank or cash accounts -Module100Name=External Site -Module100Desc=Add a link to an external website as a main menu icon. Website is shown in a frame under the top menu. -Module105Name=Mailman and SPIP -Module105Desc=Mailman or SPIP interface for member module -Module200Name=LDAP -Module200Desc=LDAP directory synchronization -Module210Name=PostNuke -Module210Desc=PostNuke integration -Module240Name=Data exports -Module240Desc=Tool to export Dolibarr data (with assistance) -Module250Name=Data imports -Module250Desc=Tool to import data into Dolibarr (with assistance) -Module310Name=Members -Module310Desc=Foundation members management -Module320Name=RSS Feed -Module320Desc=Add a RSS feed to Dolibarr pages -Module330Name=Bookmarks & Shortcuts -Module330Desc=Create shortcuts, always accessible, to the internal or external pages to which you frequently access -Module400Name=Projects or Leads -Module400Desc=Management of projects, leads/opportunities and/or tasks. You can also assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. -Module410Name=Webcalendar -Module410Desc=Webcalendar integration -Module500Name=Taxes & Special Expenses -Module500Desc=Management of other expenses (sale taxes, social or fiscal taxes, dividends, ...) -Module510Name=Salaries -Module510Desc=Record and track employee payments -Module520Name=Loans -Module520Desc=Management of loans -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 -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 -Module610Desc=Creation of product variants (color, size etc.) -Module700Name=Donations -Module700Desc=Donation management -Module770Name=Expense Reports -Module770Desc=Manage expense reports claims (transportation, meal, ...) -Module1120Name=Vendor Commercial Proposals -Module1120Desc=Request vendor commercial proposal and prices -Module1200Name=Mantis -Module1200Desc=Mantis integration -Module1520Name=Document Generation -Module1520Desc=Mass email document generation -Module1780Name=Tags/Categories -Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) -Module2000Name=WYSIWYG editor -Module2000Desc=Allow text fields to be edited/formatted using CKEditor (html) -Module2200Name=Dynamic Prices -Module2200Desc=Use maths expressions for auto-generation of prices -Module2300Name=Scheduled jobs -Module2300Desc=Scheduled jobs management (alias cron or chrono table) -Module2400Name=Events/Agenda -Module2400Desc=Track events. Log automatic events for tracking purposes or record manual events or meetings. This is the principal module for good Customer or Vendor Relationship Management. -Module2500Name=DMS / ECM -Module2500Desc=Document Management System / Electronic Content Management. Automatic organization of your generated or stored documents. Share them when you need. -Module2600Name=API/Web services (SOAP server) -Module2600Desc=Enable the Dolibarr SOAP server providing API services -Module2610Name=API/Web services (REST server) -Module2610Desc=Enable the Dolibarr REST server providing API services -Module2660Name=Call WebServices (SOAP client) -Module2660Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Only Purchase orders are currently supported.) -Module2700Name=Gravatar -Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Needs Internet access -Module2800Desc=FTP Client -Module2900Name=GeoIPMaxmind -Module2900Desc=GeoIP Maxmind conversions capabilities -Module3200Name=Unalterable Archives -Module3200Desc=Enable an unalterable log of business events. Events are archived in real-time. The log is a read-only table of chained events that can be exported. This module may be mandatory for some countries. -Module3400Name=Social Networks -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). -Module4000Name=HRM -Module4000Desc=Human resources management (management of department, employee contracts and feelings) -Module5000Name=Multi-company -Module5000Desc=Allows you to manage multiple companies -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) -Module10000Name=Websites -Module10000Desc=Create websites (public) with a WYSIWYG editor. This is a webmaster or developer oriented CMS (it is better to know HTML and CSS language). Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. -Module20000Name=Leave Request Management -Module20000Desc=Define and track employee leave requests -Module39000Name=Product Lots -Module39000Desc=Lots, serial numbers, eat-by/sell-by date management for products -Module40000Name=Multicurrency -Module40000Desc=Use alternative currencies in prices and documents -Module50000Name=PayBox -Module50000Desc=Offer customers a PayBox online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) -Module50100Name=POS SimplePOS -Module50100Desc=Point of Sale module SimplePOS (simple POS). -Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). -Module50200Name=Paypal -Module50200Desc=Offer customers a PayPal online payment page (PayPal account or credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) -Module50300Name=Stripe -Module50300Desc=Offer customers a Stripe online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) -Module50400Name=Accounting (double entry) -Module50400Desc=Accounting management (double entries, support General and Subsidiary Ledgers). Export the ledger in several other accounting software formats. -Module54000Name=PrintIPP -Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installed on server). -Module55000Name=Poll, Survey or Vote -Module55000Desc=Create online polls, surveys or votes (like Doodle, Studs, RDVz etc...) -Module59000Name=Margins -Module59000Desc=Module to follow margins -Module60000Name=Commissions -Module60000Desc=Module to manage commissions -Module62000Name=Incoterms -Module62000Desc=Add features to manage Incoterms -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, rooms, ...) for allocating to events -Permission11=Read customer invoices -Permission12=Create/modify customer invoices -Permission13=Invalidate customer invoices -Permission14=Validate customer invoices -Permission15=Send customer invoices by email -Permission16=Create payments for customer invoices -Permission19=Delete customer invoices -Permission21=Read commercial proposals -Permission22=Create/modify commercial proposals -Permission24=Validate commercial proposals -Permission25=Send commercial proposals -Permission26=Close commercial proposals -Permission27=Delete commercial proposals -Permission28=Export commercial proposals -Permission31=Read products -Permission32=Create/modify products -Permission34=Delete products -Permission36=See/manage hidden products -Permission38=Export products -Permission39=Ignore minimum price -Permission41=Read projects and tasks (shared project and projects I'm contact for). Can also enter time consumed, for me or my hierarchy, on assigned tasks (Timesheet) -Permission42=Create/modify projects (shared project and projects I'm contact for). Can also create tasks and assign users to project and tasks -Permission44=Delete projects (shared project and projects I'm contact for) -Permission45=Export projects -Permission61=Read interventions -Permission62=Create/modify interventions -Permission64=Delete interventions -Permission67=Export interventions -Permission68=Send interventions by email -Permission69=Validate interventions -Permission70=Invalidate interventions -Permission71=Read members -Permission72=Create/modify members -Permission74=Delete members -Permission75=Setup types of membership -Permission76=Export data -Permission78=Read subscriptions -Permission79=Create/modify subscriptions -Permission81=Read customers orders -Permission82=Create/modify customers orders -Permission84=Validate customers orders -Permission86=Send customers orders -Permission87=Close customers orders -Permission88=Cancel customers orders -Permission89=Delete customers orders -Permission91=Read social or fiscal taxes and vat -Permission92=Create/modify social or fiscal taxes and vat -Permission93=Delete social or fiscal taxes and vat -Permission94=Export social or fiscal taxes -Permission95=Read reports -Permission101=Read sendings -Permission102=Create/modify sendings -Permission104=Validate sendings -Permission105=Send sendings by email -Permission106=Export sendings -Permission109=Delete sendings -Permission111=Read financial accounts -Permission112=Create/modify/delete and compare transactions -Permission113=Setup financial accounts (create, manage categories) -Permission114=Reconcile transactions -Permission115=Export transactions and account statements -Permission116=Transfers between accounts -Permission117=Manage checks dispatching -Permission121=Read third parties linked to user -Permission122=Create/modify third parties linked to user -Permission125=Delete third parties linked to user -Permission126=Export third parties -Permission141=Read all projects and tasks (also private projects for which I am not a contact) -Permission142=Create/modify all projects and tasks (also private projects for which I am not a contact) -Permission144=Delete all projects and tasks (also private projects i am not contact for) -Permission146=Read providers -Permission147=Read stats -Permission151=Read direct debit payment orders -Permission152=Create/modify a direct debit payment orders -Permission153=Send/Transmit direct debit payment orders -Permission154=Record Credits/Rejections of direct debit payment orders -Permission161=Read contracts/subscriptions -Permission162=Create/modify contracts/subscriptions -Permission163=Activate a service/subscription of a contract -Permission164=Disable a service/subscription of a contract -Permission165=Delete contracts/subscriptions -Permission167=Export contracts -Permission171=Read trips and expenses (yours and your subordinates) -Permission172=Create/modify trips and expenses -Permission173=Delete trips and expenses -Permission174=Read all trips and expenses -Permission178=Export trips and expenses -Permission180=Read suppliers -Permission181=Read purchase orders -Permission182=Create/modify purchase orders -Permission183=Validate purchase orders -Permission184=Approve purchase orders -Permission185=Order or cancel purchase orders -Permission186=Receive purchase orders -Permission187=Close purchase orders -Permission188=Cancel purchase orders -Permission192=Create lines -Permission193=Cancel lines -Permission194=Read the bandwidth lines -Permission202=Create ADSL connections -Permission203=Order connections orders -Permission204=Order connections -Permission205=Manage connections -Permission206=Read connections -Permission211=Read Telephony -Permission212=Order lines -Permission213=Activate line -Permission214=Setup Telephony -Permission215=Setup providers -Permission221=Read emailings -Permission222=Create/modify emailings (topic, recipients...) -Permission223=Validate emailings (allows sending) -Permission229=Delete emailings -Permission237=View recipients and info -Permission238=Manually send mailings -Permission239=Delete mailings after validation or sent -Permission241=Read categories -Permission242=Create/modify categories -Permission243=Delete categories -Permission244=See the contents of the hidden categories -Permission251=Read other users and groups -PermissionAdvanced251=Read other users -Permission252=Read permissions of other users -Permission253=Create/modify other users, groups and permissions -PermissionAdvanced253=Create/modify internal/external users and permissions -Permission254=Create/modify external users only -Permission255=Modify other users password -Permission256=Delete or disable other users -Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission271=Read CA -Permission272=Read invoices -Permission273=Issue invoices -Permission281=Read contacts -Permission282=Create/modify contacts -Permission283=Delete contacts -Permission286=Export contacts -Permission291=Read tariffs -Permission292=Set permissions on the tariffs -Permission293=Modify customer's tariffs -Permission300=Read barcodes -Permission301=Create/modify barcodes -Permission302=Delete barcodes -Permission311=Read services -Permission312=Assign service/subscription to contract -Permission331=Read bookmarks -Permission332=Create/modify bookmarks -Permission333=Delete bookmarks -Permission341=Read its own permissions -Permission342=Create/modify his own user information -Permission343=Modify his own password -Permission344=Modify its own permissions -Permission351=Read groups -Permission352=Read groups permissions -Permission353=Create/modify groups -Permission354=Delete or disable groups -Permission358=Export users -Permission401=Read discounts -Permission402=Create/modify discounts -Permission403=Validate discounts -Permission404=Delete discounts -Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody -Permission519=Export salaries -Permission520=Read Loans -Permission522=Create/modify loans -Permission524=Delete loans -Permission525=Access loan calculator -Permission527=Export loans -Permission531=Read services -Permission532=Create/modify services -Permission534=Delete services -Permission536=See/manage hidden services -Permission538=Export services -Permission561=Read payment orders by credit transfer -Permission562=Create/modify payment order by credit transfer -Permission563=Send/Transmit payment order by credit transfer -Permission564=Record Debits/Rejections of credit transfer -Permission601=Read stickers -Permission602=Create/modify stickers -Permission609=Delete stickers -Permission650=Read Bills of Materials -Permission651=Create/Update Bills of Materials -Permission652=Delete Bills of Materials -Permission660=Read Manufacturing Order (MO) -Permission661=Create/Update Manufacturing Order (MO) -Permission662=Delete Manufacturing Order (MO) -Permission701=Read donations -Permission702=Create/modify donations -Permission703=Delete donations -Permission771=Read expense reports (yours and your subordinates) -Permission772=Create/modify expense reports -Permission773=Delete expense reports -Permission774=Read all expense reports (even for user not subordinates) -Permission775=Approve expense reports -Permission776=Pay expense reports -Permission777=Read expense reports of everybody -Permission778=Create/modify expense reports of everybody -Permission779=Export expense reports -Permission1001=Read stocks -Permission1002=Create/modify warehouses -Permission1003=Delete warehouses -Permission1004=Read stock movements -Permission1005=Create/modify stock movements -Permission1101=Read delivery receipts -Permission1102=Create/modify delivery receipts -Permission1104=Validate delivery receipts -Permission1109=Delete delivery receipts -Permission1121=Read supplier proposals -Permission1122=Create/modify supplier proposals -Permission1123=Validate supplier proposals -Permission1124=Send supplier proposals -Permission1125=Delete supplier proposals -Permission1126=Close supplier price requests -Permission1181=Read suppliers -Permission1182=Read purchase orders -Permission1183=Create/modify purchase orders -Permission1184=Validate purchase orders -Permission1185=Approve purchase orders -Permission1186=Order purchase orders -Permission1187=Acknowledge receipt of purchase orders -Permission1188=Delete purchase orders -Permission1189=Check/Uncheck a purchase order reception -Permission1190=Approve (second approval) purchase orders -Permission1191=Export supplier orders and their attributes -Permission1201=Get result of an export -Permission1202=Create/Modify an export -Permission1231=Read vendor invoices -Permission1232=Create/modify vendor invoices -Permission1233=Validate vendor invoices -Permission1234=Delete vendor invoices -Permission1235=Send vendor invoices by email -Permission1236=Export vendor invoices, attributes and payments -Permission1237=Export purchase orders and their details -Permission1251=Run mass imports of external data into database (data load) -Permission1321=Export customer invoices, attributes and payments -Permission1322=Reopen a paid bill -Permission1421=Export sales orders and attributes -Permission1521=Read documents -Permission1522=Delete documents -Permission2401=Read actions (events or tasks) linked to his user account (if owner of event or just assigned to) -Permission2402=Create/modify actions (events or tasks) linked to his user account (if owner of event) -Permission2403=Delete actions (events or tasks) linked to his user account (if owner of event) -Permission2411=Read actions (events or tasks) of others -Permission2412=Create/modify actions (events or tasks) of others -Permission2413=Delete actions (events or tasks) of others -Permission2414=Export actions/tasks of others -Permission2501=Read/Download documents -Permission2502=Download documents -Permission2503=Submit or delete documents -Permission2515=Setup documents directories -Permission2801=Use FTP client in read mode (browse and download only) -Permission2802=Use FTP client in write mode (delete or upload files) -Permission3200=Read archived events and fingerprints -Permission3301=Generate new modules -Permission4001=See employees -Permission4002=Create employees -Permission4003=Delete employees -Permission4004=Export employees -Permission10001=Read website content -Permission10002=Create/modify website content (html and javascript content) -Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers. -Permission10005=Delete website content -Permission20001=Read leave requests (your leave and those of your subordinates) -Permission20002=Create/modify your leave requests (your leave and those of your subordinates) -Permission20003=Delete leave requests -Permission20004=Read all leave requests (even of user not subordinates) -Permission20005=Create/modify leave requests for everybody (even of user not subordinates) -Permission20006=Admin leave requests (setup and update balance) -Permission20007=Approve leave requests -Permission23001=Read Scheduled job -Permission23002=Create/update Scheduled job -Permission23003=Delete Scheduled job -Permission23004=Execute Scheduled job -Permission50101=Use Point of Sale (SimplePOS) -Permission50151=Use Point of Sale (TakePOS) -Permission50201=Read transactions -Permission50202=Import transactions -Permission50330=Read objects of Zapier -Permission50331=Create/Update objects of Zapier -Permission50332=Delete objects of Zapier -Permission50401=Bind products and invoices with accounting accounts -Permission50411=Read operations in ledger -Permission50412=Write/Edit operations in ledger -Permission50414=Delete operations in ledger -Permission50415=Delete all operations by year and journal in ledger -Permission50418=Export operations of the ledger -Permission50420=Report and export reports (turnover, balance, journals, ledger) -Permission50430=Define fiscal periods. Validate transactions and close fiscal periods. -Permission50440=Manage chart of accounts, setup of accountancy -Permission51001=Read assets -Permission51002=Create/Update assets -Permission51003=Delete assets -Permission51005=Setup types of asset -Permission54001=Print -Permission55001=Read polls -Permission55002=Create/modify polls -Permission59001=Read commercial margins -Permission59002=Define commercial margins -Permission59003=Read every user margin -Permission63001=Read resources -Permission63002=Create/modify resources -Permission63003=Delete resources -Permission63004=Link resources to agenda events -Permission64001=Allow direct printing -Permission67000=Allow printing of receipts -Permission68001=Read intracomm report -Permission68002=Create/modify intracomm report -Permission68004=Delete intracomm report -Permission941601=Read receipts -Permission941602=Create and modify receipts -Permission941603=Validate receipts -Permission941604=Send receipts by email -Permission941605=Export receipts -Permission941606=Delete receipts -DictionaryCompanyType=Third-party types -DictionaryCompanyJuridicalType=Third-party legal entities -DictionaryProspectLevel=Prospect potential level for companies -DictionaryProspectContactLevel=Prospect potential level for contacts -DictionaryCanton=States/Provinces -DictionaryRegion=Regions -DictionaryCountry=Countries -DictionaryCurrency=Currencies -DictionaryCivility=Honorific titles -DictionaryActions=Types of agenda events -DictionarySocialContributions=Types of social or fiscal taxes -DictionaryVAT=VAT Rates or Sales Tax Rates -DictionaryRevenueStamp=Amount of tax stamps -DictionaryPaymentConditions=Payment Terms -DictionaryPaymentModes=Payment Modes -DictionaryTypeContact=Contact/Address types -DictionaryTypeOfContainer=Website - Type of website pages/containers -DictionaryEcotaxe=Ecotax (WEEE) -DictionaryPaperFormat=Paper formats -DictionaryFormatCards=Card formats -DictionaryFees=Expense report - Types of expense report lines -DictionarySendingMethods=Shipping methods -DictionaryStaff=Number of Employees -DictionaryAvailability=Delivery delay DictionaryOrderMethods=Ordering methods -DictionarySource=Origin of proposals/orders -DictionaryAccountancyCategory=Personalized groups for reports -DictionaryAccountancysystem=Models for chart of accounts -DictionaryAccountancyJournal=Accounting journals -DictionaryEMailTemplates=Email Templates -DictionaryUnits=Units -DictionaryMeasuringUnits=Measuring Units -DictionarySocialNetworks=Social Networks -DictionaryProspectStatus=Prospect status for companies -DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave -DictionaryOpportunityStatus=Lead status for project/lead -DictionaryExpenseTaxCat=Expense report - Transportation categories -DictionaryExpenseTaxRange=Expense report - Range by transportation category -DictionaryTransportMode=Intracomm report - Transport mode -TypeOfUnit=Type of unit -SetupSaved=Setup saved -SetupNotSaved=Setup not saved -BackToModuleList=Back to Module list -BackToDictionaryList=Back to Dictionaries list -TypeOfRevenueStamp=Type of tax stamp -VATManagement=Sales Tax Management -VATIsUsedDesc=By default when creating prospects, invoices, orders etc. the Sales Tax rate follows the active standard rule:
    If the seller is not subject to Sales tax, then Sales tax defaults to 0. End of rule.
    If the (seller's country = buyer's country), then the Sales tax by default equals the Sales tax of the product in the seller's country. End of rule.
    If the seller and buyer are both in the European Community and goods are transport-related products (haulage, shipping, airline), the default VAT is 0. This rule is dependant on the seller's country - please consult with your accountant. The VAT should be paid by the buyer to the customs office in their country and not to the seller. End of rule.
    If the seller and buyer are both in the European Community and the buyer is not a company (with a registered intra-Community VAT number) then the VAT defaults to the VAT rate of the seller's country. End of rule.
    If the seller and buyer are both in the European Community and the buyer is a company (with a registered intra-Community VAT number), then the VAT is 0 by default. End of rule.
    In any other case the proposed default is Sales tax=0. End of rule. -VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for cases like associations, individuals or small companies. -VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. -VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. -##### Local Taxes ##### -TypeOfSaleTaxes=Type of sales tax -LTRate=Rate -LocalTax1IsNotUsed=Do not use second tax -LocalTax1IsUsedDesc=Use a second type of tax (other than first one) -LocalTax1IsNotUsedDesc=Do not use other type of tax (other than first one) -LocalTax1Management=Second type of tax -LocalTax1IsUsedExample= -LocalTax1IsNotUsedExample= -LocalTax2IsNotUsed=Do not use third tax -LocalTax2IsUsedDesc=Use a third type of tax (other than first one) -LocalTax2IsNotUsedDesc=Do not use other type of tax (other than first one) -LocalTax2Management=Third type of tax -LocalTax2IsUsedExample= -LocalTax2IsNotUsedExample= -LocalTax1ManagementES=RE Management -LocalTax1IsUsedDescES=The RE rate by default when creating prospects, invoices, orders etc. follow the active standard rule:
    If the buyer is not subjected to RE, RE by default=0. End of rule.
    If the buyer is subjected to RE then the RE by default. End of rule.
    -LocalTax1IsNotUsedDescES=By default the proposed RE is 0. End of rule. -LocalTax1IsUsedExampleES=In Spain they are professionals subject to some specific sections of the Spanish IAE. -LocalTax1IsNotUsedExampleES=In Spain they are professional and societies and subject to certain sections of the Spanish IAE. -LocalTax2ManagementES=IRPF Management -LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices, orders etc. follow the active standard rule:
    If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
    If the seller is subjected to IRPF then the IRPF by default. End of rule.
    -LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. -LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. -LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. -RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. -UseRevenueStamp=Use a tax stamp -UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) -CalcLocaltax=Reports on local taxes -CalcLocaltax1=Sales - Purchases -CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases -CalcLocaltax2=Purchases -CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases -CalcLocaltax3=Sales -CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales -NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax -LabelUsedByDefault=Label used by default if no translation can be found for code -LabelOnDocuments=Label on documents -LabelOrTranslationKey=Label or translation key -ValueOfConstantKey=Value of a configuration constant -ConstantIsOn=Option %s is on -NbOfDays=No. of days -AtEndOfMonth=At end of month -CurrentNext=Current/Next -Offset=Offset -AlwaysActive=Always active -Upgrade=Upgrade -MenuUpgrade=Upgrade / Extend -AddExtensionThemeModuleOrOther=Deploy/install external app/module -WebServer=Web server -DocumentRootServer=Web server's root directory -DataRootServer=Data files directory -IP=IP -Port=Port -VirtualServerName=Virtual server name -OS=OS -PhpWebLink=Web-Php link -Server=Server -Database=Database -DatabaseServer=Database host -DatabaseName=Database name -DatabasePort=Database port -DatabaseUser=Database user -DatabasePassword=Database password -Tables=Tables -TableName=Table name -NbOfRecord=No. of records -Host=Server -DriverType=Driver type -SummarySystem=System information summary -SummaryConst=List of all Dolibarr setup parameters -MenuCompanySetup=Company/Organization -DefaultMenuManager= Standard menu manager -DefaultMenuSmartphoneManager=Smartphone menu manager -Skin=Skin theme -DefaultSkin=Default skin theme -MaxSizeList=Max length for list -DefaultMaxSizeList=Default max length for lists -DefaultMaxSizeShortList=Default max length for short lists (i.e. in customer card) -MessageOfDay=Message of the day -MessageLogin=Login page message -LoginPage=Login page -BackgroundImageLogin=Background image -PermanentLeftSearchForm=Permanent search form on left menu -DefaultLanguage=Default language -EnableMultilangInterface=Enable multilanguage support for customer or vendor relationships -EnableShowLogo=Show the company logo in the menu -CompanyInfo=Company/Organization -CompanyIds=Company/Organization identities -CompanyName=Name -CompanyAddress=Address -CompanyZip=Zip -CompanyTown=Town -CompanyCountry=Country -CompanyCurrency=Main currency -CompanyObject=Object of the company -IDCountry=ID country -Logo=Logo -LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) -LogoSquarred=Logo (squarred) -LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). -DoNotSuggestPaymentMode=Do not suggest -NoActiveBankAccountDefined=No active bank account defined -OwnerOfBankAccount=Owner of bank account %s -BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') -Alerts=Alerts -DelaysOfToleranceBeforeWarning=Delay before displaying a warning alert for: -DelaysOfToleranceDesc=Set the delay before an alert icon %s is shown onscreen for the late element. -Delays_MAIN_DELAY_ACTIONS_TODO=Planned events (agenda events) not completed -Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Project not closed in time -Delays_MAIN_DELAY_TASKS_TODO=Planned task (project tasks) not completed -Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Order not processed -Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Purchase order not processed -Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Proposal not closed -Delays_MAIN_DELAY_PROPALS_TO_BILL=Proposal not billed -Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Service to activate -Delays_MAIN_DELAY_RUNNING_SERVICES=Expired service -Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Unpaid vendor invoice -Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Unpaid customer invoice -Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Pending bank reconciliation -Delays_MAIN_DELAY_MEMBERS=Delayed membership fee -Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Check deposit not done -Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve -Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve -SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. -SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. -SetupDescription5=Other Setup menu entries manage optional parameters. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit -InfoDolibarr=About Dolibarr -InfoBrowser=About Browser -InfoOS=About OS -InfoWebServer=About Web Server -InfoDatabase=About Database -InfoPHP=About PHP -InfoPerf=About Performances -InfoSecurity=About Security -BrowserName=Browser name -BrowserOS=Browser OS -ListOfSecurityEvents=List of Dolibarr security events -SecurityEventsPurged=Security events purged -LogEventDesc=Enable logging for specific security events. Administrators the log via menu %s - %s. Warning, this feature can generate a large amount of data in the database. -AreaForAdminOnly=Setup parameters can be set by administrator users only. -SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. -SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. -AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. -AccountantFileNumber=Accountant code -DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. -AvailableModules=Available app/modules -ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). -SessionTimeOut=Time out for session -SessionExplanation=This number guarantees that the session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guarantee that the session will expire after this delay. It will expire, after this delay, and when the session cleaner is run, so every %s/%s access, but only during access made by other sessions (if value is 0, it means clearing of session is done only by an external process).
    Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by an external setup, no matter what the value entered here is. -SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. -TriggersAvailable=Available triggers -TriggersDesc=Triggers are files that will modify the behavior of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realize new actions, activated on Dolibarr events (new company creation, invoice validation, ...). -TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. -TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. -TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. -TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. -GeneratedPasswordDesc=Choose the method to be used for auto-generated passwords. -DictionaryDesc=Insert all reference data. You can add your values to the default. -ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting only. -MiscellaneousDesc=All other security related parameters are defined here. -LimitsSetup=Limits/Precision setup -LimitsDesc=You can define limits, precisions and optimizations used by Dolibarr here -MAIN_MAX_DECIMALS_UNIT=Max. decimals for unit prices -MAIN_MAX_DECIMALS_TOT=Max. decimals for total prices -MAIN_MAX_DECIMALS_SHOWN=Max. decimals for prices shown on screen. Add an ellipsis ... after this parameter (e.g. "2...") if you want to see "..." suffixed to the truncated price. -MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something other than base 10. For example, put 0.05 if rounding is done by 0.05 steps) -UnitPriceOfProduct=Net unit price of a product -TotalPriceAfterRounding=Total price (excl/vat/incl tax) after rounding -ParameterActiveForNextInputOnly=Parameter effective for next input only -NoEventOrNoAuditSetup=No security event has been logged. This is normal if Audit has not been enabled in the "Setup - Security - Events" page. -NoEventFoundWithCriteria=No security event has been found for this search criteria. -SeeLocalSendMailSetup=See your local sendmail setup -BackupDesc=A complete backup of a Dolibarr installation requires two steps. -BackupDesc2=Backup the contents of the "documents" directory (%s) containing all uploaded and generated files. This will also include all the dump files generated in Step 1. This operation may last several minutes. -BackupDesc3=Backup the structure and contents of your database (%s) into a dump file. For this, you can use the following assistant. -BackupDescX=The archived directory should be stored in a secure place. -BackupDescY=The generated dump file should be stored in a secure place. -BackupPHPWarning=Backup cannot be guaranteed with this method. Previous one recommended. -RestoreDesc=To restore a Dolibarr backup, two steps are required. -RestoreDesc2=Restore the backup file (zip file for example) of the "documents" directory to a new Dolibarr installation or into this current documents directory (%s). -RestoreDesc3=Restore the database structure and data from a backup dump file into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once the restore is complete, you must use a login/password, that existed from the backup time/installation to connect again.
    To restore a backup database into this current installation, you can follow this assistant. -RestoreMySQL=MySQL import -ForcedToByAModule=This rule is forced to %s by an activated module -ValueIsForcedBySystem=This value is forced by the system. You can't change it. -PreviousDumpFiles=Existing backup files -PreviousArchiveFiles=Existing archive files -WeekStartOnDay=First day of the week -RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Program version %s differs from Database version %s) -YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. -YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP -DownloadMoreSkins=More skins to download -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses -TranslationUncomplete=Partial translation -MAIN_DISABLE_METEO=Disable meteorological view -MeteoStdMod=Standard mode -MeteoStdModEnabled=Standard mode enabled -MeteoPercentageMod=Percentage mode -MeteoPercentageModEnabled=Percentage mode enabled -MeteoUseMod=Click to use %s -TestLoginToAPI=Test login to API -ProxyDesc=Some features of Dolibarr require internet access. Define here the internet connection parameters such as access through a proxy server if necessary. -ExternalAccess=External/Internet Access -MAIN_PROXY_USE=Use a proxy server (otherwise access is direct to the internet) -MAIN_PROXY_HOST=Proxy server: Name/Address -MAIN_PROXY_PORT=Proxy server: Port -MAIN_PROXY_USER=Proxy server: Login/User -MAIN_PROXY_PASS=Proxy server: Password -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s -ExtraFields=Complementary attributes -ExtraFieldsLines=Complementary attributes (lines) -ExtraFieldsLinesRec=Complementary attributes (templates invoices lines) -ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) -ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) -ExtraFieldsThirdParties=Complementary attributes (third party) -ExtraFieldsContacts=Complementary attributes (contacts/address) -ExtraFieldsMember=Complementary attributes (member) -ExtraFieldsMemberType=Complementary attributes (member type) -ExtraFieldsCustomerInvoices=Complementary attributes (invoices) -ExtraFieldsCustomerInvoicesRec=Complementary attributes (templates invoices) -ExtraFieldsSupplierOrders=Complementary attributes (orders) -ExtraFieldsSupplierInvoices=Complementary attributes (invoices) -ExtraFieldsProject=Complementary attributes (projects) -ExtraFieldsProjectTask=Complementary attributes (tasks) -ExtraFieldsSalaries=Complementary attributes (salaries) -ExtraFieldHasWrongValue=Attribute %s has a wrong value. -AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space -SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). -PathToDocuments=Path to documents -PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might not be parsed correctly by some receiving mail servers. The result is that some mails can't be read by people hosted by those bugged platforms. This is the case for some Internet providers (Ex: Orange in France). This is not a problem with Dolibarr or PHP but with the receiving mail server. You can however add an option MAIN_FIX_FOR_BUGGED_MTA to 1 in Setup - Other to modify Dolibarr to avoid this. However, you may experience problems with other servers that strictly use the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" which has no disadvantages. -TranslationSetup=Setup of translation -TranslationKeySearch=Search a translation key or string -TranslationOverwriteKey=Overwrite a translation string -TranslationDesc=How to set the display language:
    * Default/Systemwide: menu Home -> Setup -> Display
    * Per user: Click on the username at the top of the screen and modify the User Display Setup tab on the user card. -TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the translation key string into "%s" and your new translation into "%s" -TranslationOverwriteDesc2=You can use the other tab to help you know which translation key to use -TranslationString=Translation string -CurrentTranslationString=Current translation string -WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string -NewTranslationStringToShow=New translation string to show -OriginalValueWas=The original translation is overwritten. Original value was:

    %s -TransKeyWithoutOriginalValue=You forced a new translation for the translation key '%s' that does not exist in any language files -TitleNumberOfActivatedModules=Activated modules -TotalNumberOfActivatedModules=Activated modules: %s / %s -YouMustEnableOneModule=You must at least enable 1 module -ClassNotFoundIntoPathWarning=Class %s not found in PHP path -YesInSummer=Yes in summer -OnlyFollowingModulesAreOpenedToExternalUsers=Note, only the following modules are available to external users (irrespective of the permissions of such users) and only if permissions are granted:
    -SuhosinSessionEncrypt=Session storage encrypted by Suhosin -ConditionIsCurrently=Condition is currently %s -YouUseBestDriver=You use driver %s which is the best driver currently available. -YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. -NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. -SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. -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. -PHPModuleLoaded=PHP component %s is loaded -PreloadOPCode=Preloaded OPCode is used -AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.
    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)
    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". -AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
    Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". -AskForPreferredShippingMethod=Ask for preferred shipping method for Third Parties. -FieldEdition=Edition of field %s -FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) -GetBarCode=Get barcode -NumberingModules=Numbering models -DocumentModules=Document models -##### Module password generation -PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: %s characters containing shared numbers and characters in lowercase. -PasswordGenerationNone=Do not suggest a generated password. Password must be typed in manually. -PasswordGenerationPerso=Return a password according to your personally defined configuration. -SetupPerso=According to your configuration -PasswordPatternDesc=Password pattern description -##### Users setup ##### -RuleForGeneratedPasswords=Rules to generate and validate passwords -DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page -UsersSetup=Users module setup -UserMailRequired=Email required to create a new user -UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) -UsersDocModules=Document templates for documents generated from user record -GroupsDocModules=Document templates for documents generated from a group record -##### HRM setup ##### -HRMSetup=HRM module setup -##### Company setup ##### -CompanySetup=Companies module setup -CompanyCodeChecker=Options for automatic generation of customer/vendor codes -AccountCodeManager=Options for automatic generation of customer/vendor accounting codes -NotificationsDesc=Email notifications can be sent automatically for some Dolibarr events.
    Recipients of notifications can be defined: -NotificationsDescUser=* per user, one user at a time. -NotificationsDescContact=* per third-party contacts (customers or vendors), one contact at a time. -NotificationsDescGlobal=* or by setting global email addresses in this setup page. -ModelModules=Document Templates -DocumentModelOdt=Generate documents from OpenDocument templates (.ODT / .ODS files from LibreOffice, OpenOffice, KOffice, TextEdit,...) -WatermarkOnDraft=Watermark on draft document -JSOnPaimentBill=Activate feature to autofill payment lines on payment form -CompanyIdProfChecker=Rules for Professional IDs -MustBeUnique=Must be unique? -MustBeMandatory=Mandatory to create third parties (if VAT number or type of company defined) ? -MustBeInvoiceMandatory=Mandatory to validate invoices? -TechnicalServicesProvided=Technical services provided -#####DAV ##### -WebDAVSetupDesc=This is the link to access the WebDAV directory. It contains a "public" dir open to any user knowing the URL (if public directory access allowed) and a "private" directory that needs an existing login account/password for access. -WebDavServer=Root URL of %s server: %s -##### Webcal setup ##### -WebCalUrlForVCalExport=An export link to %s format is available at following link: %s -##### Invoices ##### -BillsSetup=Invoices module setup -BillsNumberingModule=Invoices and credit notes numbering model -BillsPDFModules=Invoice documents models -BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type -PaymentsPDFModules=Payment documents models -ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice -SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account -SuggestPaymentByChequeToAddress=Suggest payment by check to -FreeLegalTextOnInvoices=Free text on invoices -WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) -PaymentsNumberingModule=Payments numbering model -SuppliersPayment=Vendor payments -SupplierPaymentSetup=Vendor payments setup -##### Proposals ##### -PropalSetup=Commercial proposals module setup -ProposalsNumberingModules=Commercial proposal numbering models -ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal -FreeLegalTextOnProposal=Free text on commercial proposals -WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) -BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal -##### SupplierProposal ##### -SupplierProposalSetup=Price requests suppliers module setup -SupplierProposalNumberingModules=Price requests suppliers numbering models -SupplierProposalPDFModules=Price requests suppliers documents models -FreeLegalTextOnSupplierProposal=Free text on price requests suppliers -WatermarkOnDraftSupplierProposal=Watermark on draft price requests suppliers (none if empty) -BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL=Ask for bank account destination of price request -WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order -##### Suppliers Orders ##### -BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order -##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order -OrdersSetup=Sales Orders management setup -OrdersNumberingModules=Orders numbering models -OrdersModelModule=Order documents models -FreeLegalTextOnOrders=Free text on orders -WatermarkOnDraftOrders=Watermark on draft orders (none if empty) -ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable -BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order -##### Interventions ##### -InterventionsSetup=Interventions module setup -FreeLegalTextOnInterventions=Free text on intervention documents -FicheinterNumberingModules=Intervention numbering models -TemplatePDFInterventions=Intervention card documents models -WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) -##### Contracts ##### -ContractsSetup=Contracts/Subscriptions module setup -ContractsNumberingModules=Contracts numbering modules -TemplatePDFContracts=Contracts documents models -FreeLegalTextOnContracts=Free text on contracts -WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) -##### Members ##### -MembersSetup=Members module setup -MemberMainOptions=Main options -AdherentLoginRequired= Manage a Login for each member -AdherentMailRequired=Email required to create a new member -MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default -VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes -MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. -MembersDocModules=Document templates for documents generated from member record -##### LDAP setup ##### -LDAPSetup=LDAP Setup -LDAPGlobalParameters=Global parameters -LDAPUsersSynchro=Users -LDAPGroupsSynchro=Groups -LDAPContactsSynchro=Contacts -LDAPMembersSynchro=Members -LDAPMembersTypesSynchro=Members types -LDAPSynchronization=LDAP synchronisation -LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP -LDAPToDolibarr=LDAP -> Dolibarr -DolibarrToLDAP=Dolibarr -> LDAP -LDAPNamingAttribute=Key in LDAP -LDAPSynchronizeUsers=Organization of users in LDAP -LDAPSynchronizeGroups=Organization of groups in LDAP -LDAPSynchronizeContacts=Organization of contacts in LDAP -LDAPSynchronizeMembers=Organization of foundation's members in LDAP -LDAPSynchronizeMembersTypes=Organization of foundation's members types in LDAP -LDAPPrimaryServer=Primary server -LDAPSecondaryServer=Secondary server -LDAPServerPort=Server port -LDAPServerPortExample=Default port: 389 -LDAPServerProtocolVersion=Protocol version -LDAPServerUseTLS=Use TLS LDAPServerUseTLSExample=Your LDAP server use TLS -LDAPServerDn=Server DN -LDAPAdminDn=Administrator DN -LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory) -LDAPPassword=Administrator password -LDAPUserDn=Users' DN -LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) -LDAPGroupDn=Groups' DN -LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) -LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) -LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) -LDAPDnSynchroActive=Users and groups synchronization -LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization -LDAPDnContactActive=Contacts' synchronization -LDAPDnContactActiveExample=Activated/Unactivated synchronization -LDAPDnMemberActive=Members' synchronization -LDAPDnMemberActiveExample=Activated/Unactivated synchronization -LDAPDnMemberTypeActive=Members types' synchronization -LDAPDnMemberTypeActiveExample=Activated/Unactivated synchronization -LDAPContactDn=Dolibarr contacts' DN -LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) -LDAPMemberDn=Dolibarr members DN -LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) -LDAPMemberObjectClassList=List of objectClass -LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) -LDAPMemberTypeDn=Dolibarr members types DN -LDAPMemberTypepDnExample=Complete DN (ex: ou=memberstypes,dc=example,dc=com) -LDAPMemberTypeObjectClassList=List of objectClass -LDAPMemberTypeObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) -LDAPUserObjectClassList=List of objectClass -LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) -LDAPGroupObjectClassList=List of objectClass -LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) -LDAPContactObjectClassList=List of objectClass -LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) -LDAPTestConnect=Test LDAP connection -LDAPTestSynchroContact=Test contacts synchronization -LDAPTestSynchroUser=Test user synchronization -LDAPTestSynchroGroup=Test group synchronization -LDAPTestSynchroMember=Test member synchronization -LDAPTestSynchroMemberType=Test member type synchronization -LDAPTestSearch= Test a LDAP search -LDAPSynchroOK=Synchronization test successful -LDAPSynchroKO=Failed synchronization test -LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that the connection to the server is correctly configured and allows LDAP updates -LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) -LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) -LDAPBindOK=Connect/Authenticate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPBindKO=Connect/Authenticate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPSetupForVersion3=LDAP server configured for version 3 -LDAPSetupForVersion2=LDAP server configured for version 2 -LDAPDolibarrMapping=Dolibarr Mapping -LDAPLdapMapping=LDAP Mapping -LDAPFieldLoginUnix=Login (unix) -LDAPFieldLoginExample=Example: uid -LDAPFilterConnection=Search filter -LDAPFilterConnectionExample=Example: &(objectClass=inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) -LDAPFieldLoginSamba=Login (samba, activedirectory) -LDAPFieldLoginSambaExample=Example: samaccountname -LDAPFieldFullname=Full name -LDAPFieldFullnameExample=Example: cn -LDAPFieldPasswordNotCrypted=Password not encrypted -LDAPFieldPasswordCrypted=Password encrypted -LDAPFieldPasswordExample=Example: userPassword -LDAPFieldCommonNameExample=Example: cn -LDAPFieldName=Name -LDAPFieldNameExample=Example: sn -LDAPFieldFirstName=First name -LDAPFieldFirstNameExample=Example: givenName -LDAPFieldMail=Email address -LDAPFieldMailExample=Example: mail -LDAPFieldPhone=Professional phone number -LDAPFieldPhoneExample=Example: telephonenumber -LDAPFieldHomePhone=Personal phone number -LDAPFieldHomePhoneExample=Example: homephone -LDAPFieldMobile=Cellular phone -LDAPFieldMobileExample=Example: mobile -LDAPFieldFax=Fax number -LDAPFieldFaxExample=Example: facsimiletelephonenumber -LDAPFieldAddress=Street -LDAPFieldAddressExample=Example: street -LDAPFieldZip=Zip -LDAPFieldZipExample=Example: postalcode -LDAPFieldTown=Town -LDAPFieldTownExample=Example: l -LDAPFieldCountry=Country -LDAPFieldDescription=Description -LDAPFieldDescriptionExample=Example: description -LDAPFieldNotePublic=Public Note -LDAPFieldNotePublicExample=Example: publicnote -LDAPFieldGroupMembers= Group members -LDAPFieldGroupMembersExample= Example: uniqueMember -LDAPFieldBirthdate=Birthdate -LDAPFieldCompany=Company -LDAPFieldCompanyExample=Example: o -LDAPFieldSid=SID -LDAPFieldSidExample=Example: objectsid -LDAPFieldEndLastSubscription=Date of subscription end -LDAPFieldTitle=Job position -LDAPFieldTitleExample=Example: title -LDAPFieldGroupid=Group id -LDAPFieldGroupidExample=Exemple : gidnumber -LDAPFieldUserid=User id -LDAPFieldUseridExample=Exemple : uidnumber -LDAPFieldHomedirectory=Home directory -LDAPFieldHomedirectoryExample=Exemple : homedirectory -LDAPFieldHomedirectoryprefix=Home directory prefix -LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) -LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. -LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. -LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. -LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. -LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. -LDAPDescMembersTypes=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members types. -LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. -ForANonAnonymousAccess=For an authenticated access (for a write access for example) -PerfDolibarr=Performance setup/optimizing report -YouMayFindPerfAdviceHere=This page provides some checks or advice related to performance. -NotInstalled=Not installed. -NotSlowedDownByThis=Not slowed down by this. -NotRiskOfLeakWithThis=Not risk of leak with this. -ApplicativeCache=Applicative cache -MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
    More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
    Note that a lot of web hosting provider does not provide such cache server. -MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. -MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. -OPCodeCache=OPCode cache -NoOPCodeCacheFound=No OPCode cache found. Maybe you are using an OPCode cache other than XCache or eAccelerator (good), or maybe you don't have OPCode cache (very bad). -HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) -FilesOfTypeCached=Files of type %s are cached by HTTP server -FilesOfTypeNotCached=Files of type %s are not cached by HTTP server -FilesOfTypeCompressed=Files of type %s are compressed by HTTP server -FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server -CacheByServer=Cache by server -CacheByServerDesc=For example using the Apache directive "ExpiresByType image/gif A2592000" -CacheByClient=Cache by browser -CompressionOfResources=Compression of HTTP responses -CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" -TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers -DefaultValuesDesc=Here you may define the default value you wish to use when creating a new record, and/or default filters or the sort order when you list records. -DefaultCreateForm=Default values (to use on forms) -DefaultSearchFilters=Default search filters -DefaultSortOrder=Default sort orders -DefaultFocus=Default focus fields -DefaultMandatory=Mandatory form fields -##### Products ##### -ProductSetup=Products module setup -ServiceSetup=Services module setup -ProductServiceSetup=Products and Services modules setup -NumberOfProductShowInSelect=Maximum number of products to show in combo select lists (0=no limit) -ViewProductDescInFormAbility=Display product descriptions in forms (otherwise shown in a tooltip popup) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents -MergePropalProductCard=Activate in product/service Attached Files tab an option to merge product PDF document to proposal PDF azur if product/service is in the proposal -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) -UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectProduct=Wait until you press a key before loading content of product combo list (This may increase performance if you have a large number of products, but it is less convenient) -SetDefaultBarcodeTypeProducts=Default barcode type to use for products -SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties -UseUnits=Define a unit of measure for Quantity during order, proposal or invoice lines edition -ProductCodeChecker= Module for product code generation and checking (product or service) -ProductOtherConf= Product / Service configuration -IsNotADir=is not a directory! -##### Syslog ##### -SyslogSetup=Logs module setup -SyslogOutput=Logs outputs -SyslogFacility=Facility -SyslogLevel=Level -SyslogFilename=File name and path -YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. -ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant -OnlyWindowsLOG_USER=On Windows, only the LOG_USER facility will be supported -CompressSyslogs=Compression and backup of debug log files (generated by module Log for debug) -SyslogFileNumberOfSaves=Number of backup logs to keep -ConfigureCleaningCronjobToSetFrequencyOfSaves=Configure cleaning scheduled job to set log backup frequency -##### Donations ##### -DonationsSetup=Donation module setup -DonationsReceiptModel=Template of donation receipt -##### Barcode ##### -BarcodeSetup=Barcode setup -PaperFormatModule=Print format module -BarcodeEncodeModule=Barcode encoding type -CodeBarGenerator=Barcode generator -ChooseABarCode=No generator defined -FormatNotSupportedByGenerator=Format not supported by this generator -BarcodeDescEAN8=Barcode of type EAN8 -BarcodeDescEAN13=Barcode of type EAN13 -BarcodeDescUPC=Barcode of type UPC -BarcodeDescISBN=Barcode of type ISBN -BarcodeDescC39=Barcode of type C39 -BarcodeDescC128=Barcode of type C128 -BarcodeDescDATAMATRIX=Barcode of type Datamatrix -BarcodeDescQRCODE=Barcode of type QR code -GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
    For example: /usr/local/bin/genbarcode -BarcodeInternalEngine=Internal engine -BarCodeNumberManager=Manager to auto define barcode numbers -##### Prelevements ##### -WithdrawalsSetup=Setup of module Direct Debit payments -##### ExternalRSS ##### -ExternalRSSSetup=External RSS imports setup -NewRSS=New RSS Feed -RSSUrl=RSS URL -RSSUrlExample=An interesting RSS feed -##### Mailing ##### -MailingSetup=EMailing module setup -MailingEMailFrom=Sender email (From) for emails sent by emailing module -MailingEMailError=Return Email (Errors-to) for emails with errors -MailingDelay=Seconds to wait after sending next message -##### Notification ##### -NotificationSetup=Email Notification module setup -NotificationEMailFrom=Sender email (From) for emails sent by the Notifications module -FixedEmailTarget=Recipient -##### Sendings ##### -SendingsSetup=Shipping module setup -SendingsReceiptModel=Sending receipt model -SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support shipping sheets for customer deliveries -NoNeedForDeliveryReceipts=In most cases, shipping sheets are used both as sheets for customer deliveries (list of products to send) and sheets that are received and signed by customer. Hence the product deliveries receipt is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shipments -##### Deliveries ##### -DeliveryOrderNumberingModules=Products deliveries receipt numbering module -DeliveryOrderModel=Products deliveries receipt model -DeliveriesOrderAbility=Support products deliveries receipts -FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts -##### FCKeditor ##### -AdvancedEditor=Advanced editor -ActivateFCKeditor=Activate advanced editor for: FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. -FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) -FCKeditorForUserSignature=WYSIWIG creation/edition of user signature -FCKeditorForMail=WYSIWIG creation/edition for all mail (except Tools->eMailing) -FCKeditorForTicket=WYSIWIG creation/edition for tickets -##### Stock ##### -StockSetup=Stock module setup -IfYouUsePointOfSaleCheckModule=If you use the Point of Sale module (POS) provided by default or an external module, this setup may be ignored by your POS module. Most POS modules are designed by default to create an invoice immediately and decrease stock irrespective of the options here. So if you need or not to have a stock decrease when registering a sale from your POS, check also your POS module setup. -##### Menu ##### -MenuDeleted=Menu deleted -Menu=Menu -Menus=Menus -TreeMenuPersonalized=Personalized menus -NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry -NewMenu=New menu -MenuHandler=Menu handler -MenuModule=Source module -HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise) -DetailId=Id menu -DetailMenuHandler=Menu handler where to show new menu -DetailMenuModule=Module name if menu entry come from a module -DetailType=Type of menu (top or left) -DetailTitre=Menu label or label code for translation -DetailUrl=URL where menu send you (Absolute URL link or external link with http://) -DetailEnabled=Condition to show or not entry -DetailRight=Condition to display unauthorized grey menus -DetailLangs=Lang file name for label code translation -DetailUser=Intern / Extern / All -Target=Target -DetailTarget=Target for links (_blank top opens a new window) -DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) -ModifMenu=Menu change -DeleteMenu=Delete menu entry -ConfirmDeleteMenu=Are you sure you want to delete menu entry %s? -FailedToInitializeMenu=Failed to initialize menu -##### Tax ##### -TaxSetup=Taxes, social or fiscal taxes and dividends module setup -OptionVatMode=VAT due -OptionVATDefault=Standard basis -OptionVATDebitOption=Accrual basis -OptionVatDefaultDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on payments for services -OptionVatDebitOptionDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on invoice (debit) for services -OptionPaymentForProductAndServices=Cash basis for products and services -OptionPaymentForProductAndServicesDesc=VAT is due:
    - on payment for goods
    - on payments for services -SummaryOfVatExigibilityUsedByDefault=Time of VAT eligibility by default according to chosen option: -OnDelivery=On delivery -OnPayment=On payment -OnInvoice=On invoice -SupposedToBePaymentDate=Payment date used -SupposedToBeInvoiceDate=Invoice date used -Buy=Buy -Sell=Sell -InvoiceDateUsed=Invoice date used -YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organization), so there is no VAT options to setup. -AccountancyCode=Accounting Code -AccountancyCodeSell=Sale account. code -AccountancyCodeBuy=Purchase account. code -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax -##### Agenda ##### -AgendaSetup=Events and agenda module setup -PasswordTogetVCalExport=Key to authorize export link -SecurityKey = Security Key -PastDelayVCalExport=Do not export event older than -AGENDA_USE_EVENT_TYPE=Use events types (managed in menu Setup -> Dictionaries -> Type of agenda events) -AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of event in event create form -AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view -AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view -AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). -AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification -AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. -AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view -##### Clicktodial ##### -ClickToDialSetup=Click To Dial module setup -ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). -ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. -ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. -##### Point Of Sale (CashDesk) ##### -CashDesk=Point of Sale -CashDeskSetup=Point of Sales module setup -CashDeskThirdPartyForSell=Default generic third party to use for sales -CashDeskBankAccountForSell=Default account to use to receive cash payments -CashDeskBankAccountForCheque=Default account to use to receive payments by check -CashDeskBankAccountForCB=Default account to use to receive payments by credit cards -CashDeskBankAccountForSumup=Default bank account to use to receive payments by SumUp -CashDeskDoNotDecreaseStock=Disable stock decrease when a sale is done from Point of Sale (if "no", stock decrease is done for each sale done from POS, irrespective of the option set in module Stock). -CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease -StockDecreaseForPointOfSaleDisabled=Stock decrease from Point of Sale disabled -StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with module Serial/Lot management (currently active) so stock decrease is disabled. -CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sale from Point of Sale. Hence a warehouse is required. -CashDeskForceDecreaseStockLabel=Stock decrease for batch products was forced. -CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dates. -CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) -##### Bookmark ##### -BookmarkSetup=Bookmark module setup -BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or external web sites on your left menu. -NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu -##### WebServices ##### -WebServicesSetup=Webservices module setup -WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. -WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here -EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at URL -##### API #### -ApiSetup=API module setup -ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. -ApiProductionMode=Enable production mode (this will activate use of a cache for services management) -ApiExporerIs=You can explore and test the APIs at URL -OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed -ApiKey=Key for API -WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it. -##### Bank ##### -BankSetupModule=Bank module setup -FreeLegalTextOnChequeReceipts=Free text on check receipts -BankOrderShow=Display order of bank accounts for countries using "detailed bank number" -BankOrderGlobal=General -BankOrderGlobalDesc=General display order -BankOrderES=Spanish -BankOrderESDesc=Spanish display order -ChequeReceiptsNumberingModule=Check Receipts Numbering Module -##### Multicompany ##### -MultiCompanySetup=Multi-company module setup -##### Suppliers ##### -SuppliersSetup=Vendor module setup -SuppliersCommandModel=Complete template of Purchase Order -SuppliersCommandModelMuscadet=Complete template of Purchase Order (old implementation of cornas template) -SuppliersInvoiceModel=Complete template of Vendor Invoice -SuppliersInvoiceNumberingModel=Vendor invoices numbering models -IfSetToYesDontForgetPermission=If set to a non null value, don't forget to provide permissions to groups or users allowed for the second approval -##### GeoIPMaxmind ##### -GeoIPMaxmindSetup=GeoIP Maxmind module setup -PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
    Examples:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb -NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). -YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. -YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. -TestGeoIPResult=Test of a conversion IP -> country -##### Projects ##### -ProjectsNumberingModules=Projects numbering module -ProjectsSetup=Project module setup -ProjectsModelModule=Project reports document model -TasksNumberingModules=Tasks numbering module -TaskModelModule=Tasks reports document model -UseSearchToSelectProject=Wait until a key is pressed before loading content of Project combo list.
    This may improve performance if you have a large number of projects, but it is less convenient. -##### ECM (GED) ##### -##### Fiscal Year ##### -AccountingPeriods=Accounting periods -AccountingPeriodCard=Accounting period -NewFiscalYear=New accounting period -OpenFiscalYear=Open accounting period -CloseFiscalYear=Close accounting period -DeleteFiscalYear=Delete accounting period -ConfirmDeleteFiscalYear=Are you sure to delete this accounting period? -ShowFiscalYear=Show accounting period -AlwaysEditable=Can always be edited -MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) -NbMajMin=Minimum number of uppercase characters -NbNumMin=Minimum number of numeric characters -NbSpeMin=Minimum number of special characters -NbIteConsecutive=Maximum number of repeating same characters -NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation -SalariesSetup=Setup of module salaries -SortOrder=Sort order -Format=Format -TypePaymentDesc=0:Customer payment type, 1:Vendor payment type, 2:Both customers and suppliers payment type -IncludePath=Include path (defined into variable %s) -ExpenseReportsSetup=Setup of module Expense Reports -TemplatePDFExpenseReports=Document templates to generate expense report document -ExpenseReportsRulesSetup=Setup of module Expense Reports - Rules -ExpenseReportNumberingModules=Expense reports numbering module -NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. -YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for email notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerUser=List of automatic notifications per user* -ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact** -ListOfFixedNotifications=List of automatic fixed notifications -GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users -GoOntoContactCardToAddMore=Go to the tab "Notifications" of a third party to add or remove notifications for contacts/addresses -Threshold=Threshold -BackupDumpWizard=Wizard to build the database dump file -BackupZipWizard=Wizard to build the archive of documents directory -SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason: -SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is a manual process only a privileged user may perform. -InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file %s to allow this feature. -ConfFileMustContainCustom=Installing or building an external module from application need to save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to add the 2 directive lines:
    $dolibarr_main_url_root_alt='/custom';
    $dolibarr_main_document_root_alt='%s/custom'; -HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over -HighlightLinesColor=Highlight color of the line when the mouse passes over (use 'ffffff' for no highlight) -HighlightLinesChecked=Highlight color of the line when it is checked (use 'ffffff' for no highlight) -TextTitleColor=Text color of Page title -LinkColor=Color of links -PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective -NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes -BackgroundColor=Background color -TopMenuBackgroundColor=Background color for Top menu -TopMenuDisableImages=Hide images in Top menu -LeftMenuBackgroundColor=Background color for Left menu -BackgroundTableTitleColor=Background color for Table title line -BackgroundTableTitleTextColor=Text color for Table title line -BackgroundTableTitleTextlinkColor=Text color for Table title link line -BackgroundTableLineOddColor=Background color for odd table lines -BackgroundTableLineEvenColor=Background color for even table lines -MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) -NbAddedAutomatically=Number of days added to counters of users (automatically) each month -EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. -Enter0or1=Enter 0 or 1 -UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For example: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364] -ColorFormat=The RGB color is in HEX format, eg: FF0000 -PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) -PositionIntoComboList=Position of line into combo lists SellTaxRate=Sale tax rate -RecuperableOnly=Yes for VAT "Not Perceived but Recoverable" dedicated for some state in France. Keep value to "No" in all other cases. -UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card. -OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100). TemplateForElement=This template record is dedicated to which element -TypeOfTemplate=Type of template -TemplateIsVisibleByOwnerOnly=Template is visible to owner only -VisibleEverywhere=Visible everywhere -VisibleNowhere=Visible nowhere -FixTZ=TimeZone fix -FillFixTZOnlyIfRequired=Example: +2 (fill only if problem experienced) -ExpectedChecksum=Expected Checksum -CurrentChecksum=Current Checksum -ExpectedSize=Expected size -CurrentSize=Current size -ForcedConstants=Required constant values -MailToSendProposal=Customer proposals -MailToSendOrder=Sales orders -MailToSendInvoice=Customer invoices -MailToSendShipment=Shipments -MailToSendIntervention=Interventions -MailToSendSupplierRequestForQuotation=Quotation request -MailToSendSupplierOrder=Purchase orders -MailToSendSupplierInvoice=Vendor invoices -MailToSendContract=Contracts -MailToSendReception=Receptions -MailToThirdparty=Third parties -MailToMember=Members -MailToUser=Users -MailToProject=Projects -MailToTicket=Tickets -ByDefaultInList=Show by default on list view -YouUseLastStableVersion=You use the latest stable version -TitleExampleForMajorRelease=Example of message you can use to announce this major release (feel free to use it on your web sites) -TitleExampleForMaintenanceRelease=Example of message you can use to announce this maintenance release (feel free to use it on your web sites) -ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s is available. Version %s is a major release with a lot of new features for both users and developers. You can download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read ChangeLog for complete list of changes. -ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Version %s is a maintenance version, so contains only bug fixes. We recommend all users to upgrade to this version. A maintenance release does not introduce new features or changes to the database. You may download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read the ChangeLog for complete list of changes. -MultiPriceRuleDesc=When option "Several levels of prices per product/service" is enabled, you can define different prices (one per price level) for each product. To save you time, here you may enter a rule to autocalculate a price for each level based on the price of the first level, so you will have to only enter a price for the first level for each product. This page is designed to save you time but is useful only if your prices for each level are relative to first level. You can ignore this page in most cases. -ModelModulesProduct=Templates for product documents -WarehouseModelModules=Templates for documents of warehouses -ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate codes automatically, you must first define a manager to auto-define the barcode number. -SeeSubstitutionVars=See * note for list of possible substitution variables -SeeChangeLog=See ChangeLog file (english only) -AllPublishers=All publishers -UnknownPublishers=Unknown publishers -AddRemoveTabs=Add or remove tabs -AddDataTables=Add object tables -AddDictionaries=Add dictionaries tables -AddData=Add objects or dictionaries data -AddBoxes=Add widgets -AddSheduledJobs=Add scheduled jobs -AddHooks=Add hooks -AddTriggers=Add triggers -AddMenus=Add menus -AddPermissions=Add permissions -AddExportProfiles=Add export profiles -AddImportProfiles=Add import profiles -AddOtherPagesOrServices=Add other pages or services -AddModels=Add document or numbering templates -AddSubstitutions=Add keys substitutions -DetectionNotPossible=Detection not possible -UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received it is saved in database user table and must be provided on each API call) -ListOfAvailableAPIs=List of available APIs -activateModuleDependNotSatisfied=Module "%s" depends on module "%s", that is missing, so module "%1$s" may not work correctly. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise -CommandIsNotInsideAllowedCommands=The command you are trying to run is not in the list of allowed commands defined in parameter $dolibarr_main_restrict_os_commands in the conf.php file. -LandingPage=Landing page -SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choice "Single price", the price will also be the same for all companies if products are shared between environments -ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary. -UserHasNoPermissions=This user has no permissions defined -TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "%s")
    Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "%s" in days)
    Use "Current/Next" to have payment term date being the first Nth of the month after delta (delta is field "%s", N is stored into field "%s") -BaseCurrency=Reference currency of the company (go into setup of company to change this) -WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016). -WarningNoteModulePOSForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated. -WarningInstallationMayBecomeNotCompliantWithLaw=You are trying to install module %s that is an external module. Activating an external module means you trust the publisher of that module and that you are sure that this module does not adversely impact the behavior of your application, and is compliant with laws of your country (%s). If the module introduces an illegal feature, you become responsible for the use of illegal software. -MAIN_PDF_MARGIN_LEFT=Left margin on PDF -MAIN_PDF_MARGIN_RIGHT=Right margin on PDF -MAIN_PDF_MARGIN_TOP=Top margin on PDF -MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF -MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF -NothingToSetup=There is no specific setup required for this module. -SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 -SeveralLangugeVariatFound=Several language variants found -RemoveSpecialChars=Remove special characters -COMPANY_AQUARIUM_CLEAN_REGEX=Regex filter to clean value (COMPANY_AQUARIUM_CLEAN_REGEX) -COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) -COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed -GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) -GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here -HelpOnTooltip=Help text to show on tooltip -HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form -YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
    %s -ChartLoaded=Chart of account loaded -SocialNetworkSetup=Setup of module Social Networks -EnableFeatureFor=Enable features for %s -VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. -EmailCollector=Email collector -EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). -NewEmailCollector=New Email Collector -EMailHost=Host of email IMAP server -MailboxSourceDirectory=Mailbox source directory -MailboxTargetDirectory=Mailbox target directory -EmailcollectorOperations=Operations to do by collector -EmailcollectorOperationsDesc=Operations are executed from top to bottom order -MaxEmailCollectPerCollect=Max number of emails collected per collect -CollectNow=Collect now -ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ? -DateLastCollectResult=Date of latest collect try -DateLastcollectResultOk=Date of latest collect success -LastResult=Latest result -EmailCollectorConfirmCollectTitle=Email collect confirmation -EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ? -NoNewEmailToProcess=No new email (matching filters) to process -NothingProcessed=Nothing done -XEmailsDoneYActionsDone=%s emails qualified, %s emails successfully processed (for %s record/actions done) -RecordEvent=Record email event -CreateLeadAndThirdParty=Create lead (and third party if necessary) -CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) -CodeLastResult=Latest result code -NbOfEmailsInInbox=Number of emails in source directory -LoadThirdPartyFromName=Load third party searching on %s (load only) -LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found) -WithDolTrackingID=Message from a conversation initiated by a first email sent from Dolibarr -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr -WithDolTrackingIDInMsgId=Message sent from Dolibarr -WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr -CreateCandidature=Create job application -FormatZip=Zip -MainMenuCode=Menu entry code (mainmenu) -ECMAutoTree=Show automatic ECM tree -OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -OpeningHours=Opening hours -OpeningHoursDesc=Enter here the regular opening hours of your company. -ResourceSetup=Configuration of Resource module -UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list). -DisabledResourceLinkUser=Disable feature to link a resource to users -DisabledResourceLinkContact=Disable feature to link a resource to contacts -EnableResourceUsedInEventCheck=Enable feature to check if a resource is in use in an event -ConfirmUnactivation=Confirm module reset -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) -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_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' -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. -RootCategoryForProductsToSell=Root category of products to sell -RootCategoryForProductsToSellDesc=If defined, only products inside this category or childs of this category will be available in the Point Of Sale -DebugBar=Debug Bar -DebugBarDesc=Toolbar that comes with a plenty of tools to simplify debugging -DebugBarSetup=DebugBar Setup -GeneralOptions=General Options -LogsLinesNumber=Number of lines to show on logs tab -UseDebugBar=Use the debug bar -DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console -WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output -ModuleActivated=Module %s is activated and slows the interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) -IfYouAreOnAProductionSetThis=If you are on a production environment, you should set this property to %s. -AntivirusEnabledOnUpload=Antivirus enabled on uploaded files -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode -EXPORTS_SHARE_MODELS=Export models are share with everybody -ExportSetup=Setup of module Export -ImportSetup=Setup of module Import -InstanceUniqueID=Unique ID of the instance -SmallerThan=Smaller than -LargerThan=Larger than -IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. -WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. -EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. -EndPointFor=End point for %s : %s -DeleteEmailCollector=Delete 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 -RESTRICT_ON_IP=Allow access to some host IP only (wildcard not allowed, use space between values). Empty means every hosts can access. -IPListExample=127.0.0.1 192.168.0.2 [::1] -BaseOnSabeDavVersion=Based on the library SabreDAV version -NotAPublicIp=Not a public IP -MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -EmailTemplate=Template for email -EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard -JumpToBoxes=Jump to Setup -> Widgets -MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" -MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. -TemplateAdded=Template added -TemplateUpdated=Template updated -TemplateDeleted=Template deleted -MailToSendEventPush=Event reminder email -SwitchThisForABetterSecurity=Switching this value to %s is recommended for more security -DictionaryProductNature= Nature of product -CountryIfSpecificToOneCountry=Country (if specific to a given country) -YouMayFindSecurityAdviceHere=You may find security advisory here -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. -CombinationsSeparator=Separator character for product combinations -SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. -AskThisIDToYourBank=Contact your bank to get this ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) diff --git a/htdocs/langs/ar_IQ/bills.lang b/htdocs/langs/ar_IQ/bills.lang index c55f483873b..a1d32f56bd5 100644 --- a/htdocs/langs/ar_IQ/bills.lang +++ b/htdocs/langs/ar_IQ/bills.lang @@ -1,591 +1,2 @@ # Dolibarr language file - Source file is en_US - bills -Bill=Invoice -Bills=Invoices -BillsCustomers=Customer invoices -BillsCustomer=Customer invoice -BillsSuppliers=Vendor invoices -BillsCustomersUnpaid=Unpaid customer invoices -BillsCustomersUnpaidForCompany=Unpaid customer invoices for %s -BillsSuppliersUnpaid=Unpaid vendor invoices -BillsSuppliersUnpaidForCompany=Unpaid vendors invoices for %s -BillsLate=Late payments -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Vendors invoices statistics -DisabledBecauseDispatchedInBookkeeping=Disabled because invoice was dispatched into bookkeeping -DisabledBecauseNotLastInvoice=Disabled because invoice is not erasable. Some invoices were recorded after this one and it will create holes in the counter. -DisabledBecauseNotErasable=Disabled because cannot be erased -InvoiceStandard=Standard invoice -InvoiceStandardAsk=Standard invoice -InvoiceStandardDesc=This kind of invoice is the common invoice. -InvoiceDeposit=Down payment invoice -InvoiceDepositAsk=Down payment invoice -InvoiceDepositDesc=This kind of invoice is done when a down payment has been received. -InvoiceProForma=Proforma invoice -InvoiceProFormaAsk=Proforma invoice -InvoiceProFormaDesc=Proforma invoice is an image of a true invoice but has no accountancy value. -InvoiceReplacement=Replacement invoice -InvoiceReplacementAsk=Replacement invoice for invoice -InvoiceReplacementDesc=Replacement invoice is used to completely replace an invoice with no payment already received.

    Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. -InvoiceAvoir=Credit note -InvoiceAvoirAsk=Credit note to correct invoice -InvoiceAvoirDesc=The credit note is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned). -invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice -invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice -invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount -ReplaceInvoice=Replace invoice %s -ReplacementInvoice=Replacement invoice -ReplacedByInvoice=Replaced by invoice %s -ReplacementByInvoice=Replaced by invoice -CorrectInvoice=Correct invoice %s -CorrectionInvoice=Correction invoice -UsedByInvoice=Used to pay invoice %s -ConsumedBy=Consumed by -NotConsumed=Not consumed -NoReplacableInvoice=No replaceable invoices -NoInvoiceToCorrect=No invoice to correct -InvoiceHasAvoir=Was source of one or several credit notes -CardBill=Invoice card -PredefinedInvoices=Predefined Invoices -Invoice=Invoice -PdfInvoiceTitle=Invoice -Invoices=Invoices -InvoiceLine=Invoice line -InvoiceCustomer=Customer invoice -CustomerInvoice=Customer invoice -CustomersInvoices=Customer invoices -SupplierInvoice=Vendor invoice -SuppliersInvoices=Vendor invoices -SupplierInvoiceLines=Vendor invoice lines -SupplierBill=Vendor invoice -SupplierBills=Vendor invoices -Payment=Payment -PaymentBack=Refund -CustomerInvoicePaymentBack=Refund -Payments=Payments -PaymentsBack=Refunds -paymentInInvoiceCurrency=in invoices currency -PaidBack=Paid back -DeletePayment=Delete payment -ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an available credit? -ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? -ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. -SupplierPayments=Vendor payments -ReceivedPayments=Received payments -ReceivedCustomersPayments=Payments received from customers -PayedSuppliersPayments=Payments paid to vendors -ReceivedCustomersPaymentsToValid=Received customers payments to validate -PaymentsReportsForYear=Payments reports for %s -PaymentsReports=Payments reports -PaymentsAlreadyDone=Payments already done -PaymentsBackAlreadyDone=Refunds already done -PaymentRule=Payment rule -PaymentMode=Payment Type -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account -PaymentTypeDC=Debit/Credit Card -PaymentTypePP=PayPal -IdPaymentMode=Payment Type (id) -CodePaymentMode=Payment Type (code) -LabelPaymentMode=Payment Type (label) -PaymentModeShort=Payment Type -PaymentTerm=Payment Term -PaymentConditions=Payment Terms -PaymentConditionsShort=Payment Terms -PaymentAmount=Payment amount -PaymentHigherThanReminderToPay=Payment higher than reminder to pay -HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
    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.
    Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. -ClassifyPaid=Classify 'Paid' -ClassifyUnPaid=Classify 'Unpaid' -ClassifyPaidPartially=Classify 'Paid partially' -ClassifyCanceled=Classify 'Abandoned' -ClassifyClosed=Classify 'Closed' -ClassifyUnBilled=Classify 'Unbilled' -CreateBill=Create Invoice -CreateCreditNote=Create credit note -AddBill=Create invoice or credit note -AddToDraftInvoices=Add to draft invoice -DeleteBill=Delete invoice -SearchACustomerInvoice=Search for a customer invoice -SearchASupplierInvoice=Search for a vendor invoice -CancelBill=Cancel an invoice -SendRemindByMail=Send reminder by email -DoPayment=Enter payment -DoPaymentBack=Enter refund -ConvertToReduc=Mark as credit available -ConvertExcessReceivedToReduc=Convert excess received into available credit -ConvertExcessPaidToReduc=Convert excess paid into available discount -EnterPaymentReceivedFromCustomer=Enter payment received from customer -EnterPaymentDueToCustomer=Make payment due to customer -DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero -PriceBase=Base price -BillStatus=Invoice status -StatusOfGeneratedInvoices=Status of generated invoices -BillStatusDraft=Draft (needs to be validated) -BillStatusPaid=Paid -BillStatusPaidBackOrConverted=Credit note refund or marked as credit available -BillStatusConverted=Paid (ready for consumption in final invoice) -BillStatusCanceled=Abandoned -BillStatusValidated=Validated (needs to be paid) -BillStatusStarted=Started -BillStatusNotPaid=Not paid -BillStatusNotRefunded=Not refunded -BillStatusClosedUnpaid=Closed (unpaid) -BillStatusClosedPaidPartially=Paid (partially) -BillShortStatusDraft=Draft -BillShortStatusPaid=Paid -BillShortStatusPaidBackOrConverted=Refunded or converted -Refunded=Refunded -BillShortStatusConverted=Paid -BillShortStatusCanceled=Abandoned -BillShortStatusValidated=Validated -BillShortStatusStarted=Started -BillShortStatusNotPaid=Not paid -BillShortStatusNotRefunded=Not refunded -BillShortStatusClosedUnpaid=Closed -BillShortStatusClosedPaidPartially=Paid (partially) -PaymentStatusToValidShort=To validate -ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined -ErrorNoPaiementModeConfigured=No default payment type defined. Go to Invoice module setup to fix this. -ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment types -ErrorBillNotFound=Invoice %s does not exist -ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. -ErrorDiscountAlreadyUsed=Error, discount already used -ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount -ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have an amount excluding tax positive (or null) -ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status -ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. -BillFrom=From -BillTo=To -ActionsOnBill=Actions on invoice -RecurringInvoiceTemplate=Template / Recurring invoice -NoQualifiedRecurringInvoiceTemplateFound=No recurring template invoice qualified for generation. -FoundXQualifiedRecurringInvoiceTemplate=Found %s recurring template invoice(s) qualified for generation. -NotARecurringInvoiceTemplate=Not a recurring template invoice -NewBill=New invoice -LastBills=Latest %s invoices -LatestTemplateInvoices=Latest %s template invoices -LatestCustomerTemplateInvoices=Latest %s customer template invoices -LatestSupplierTemplateInvoices=Latest %s vendor template invoices -LastCustomersBills=Latest %s customer invoices -LastSuppliersBills=Latest %s vendor invoices -AllBills=All invoices -AllCustomerTemplateInvoices=All template invoices -OtherBills=Other invoices -DraftBills=Draft invoices -CustomersDraftInvoices=Customer draft invoices -SuppliersDraftInvoices=Vendor draft invoices -Unpaid=Unpaid -ErrorNoPaymentDefined=Error No payment defined -ConfirmDeleteBill=Are you sure you want to delete this invoice? -ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s? -ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status? -ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid? -ConfirmCancelBill=Are you sure you want to cancel invoice %s? -ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned'? -ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid? -ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What is the reason for closing this invoice? -ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularize the VAT with a credit note. -ConfirmClassifyPaidPartiallyReasonDiscount=Remaining unpaid (%s %s) is a discount granted because payment was made before term. -ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. -ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. -ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer -ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned -ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason -ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice has been provided with suitable comments. (Example «Only the tax corresponding to the price that has been actually paid gives rights to deduction») -ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct notes. -ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit -ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuses to pay his debt. -ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned -ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all others are not suitable, for example in following situation:
    - payment not complete because some products were shipped back
    - amount claimed too important because a discount was forgotten
    In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. -ConfirmClassifyAbandonReasonOther=Other -ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. -ConfirmCustomerPayment=Do you confirm this payment input for %s %s? -ConfirmSupplierPayment=Do you confirm this payment input for %s %s? -ConfirmValidatePayment=Are you sure you want to validate this payment? No change can be made once payment is validated. -ValidateBill=Validate invoice -UnvalidateBill=Unvalidate invoice -NumberOfBills=No. of invoices -NumberOfBillsByMonth=No. of invoices per month -AmountOfBills=Amount of invoices -AmountOfBillsHT=Amount of invoices (net of tax) -AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) -UseSituationInvoices=Allow situation invoice -UseSituationInvoicesCreditNote=Allow situation invoice credit note -Retainedwarranty=Retained warranty -AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices -RetainedwarrantyDefaultPercent=Retained warranty default percent -RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices -RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation -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 -AlreadyPaid=Already paid -AlreadyPaidBack=Already paid back -AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) -Abandoned=Abandoned -RemainderToPay=Remaining unpaid -RemainderToTake=Remaining amount to take -RemainderToPayBack=Remaining amount to refund -Rest=Pending -AmountExpected=Amount claimed -ExcessReceived=Excess received -ExcessPaid=Excess paid -EscompteOffered=Discount offered (payment before term) -EscompteOfferedShort=Discount -SendBillRef=Submission of invoice %s -SendReminderBillRef=Submission of invoice %s (reminder) -NoDraftBills=No draft invoices -NoOtherDraftBills=No other draft invoices -NoDraftInvoices=No draft invoices -RefBill=Invoice ref -ToBill=To bill -RemainderToBill=Remainder to bill -SendBillByMail=Send invoice by email -SendReminderBillByMail=Send reminder by email -RelatedCommercialProposals=Related commercial proposals -RelatedRecurringCustomerInvoices=Related recurring customer invoices -MenuToValid=To valid -DateMaxPayment=Payment due on -DateInvoice=Invoice date -DatePointOfTax=Point of tax -NoInvoice=No invoice -ClassifyBill=Classify invoice -SupplierBillsToPay=Unpaid vendor invoices -CustomerBillsUnpaid=Unpaid customer invoices -NonPercuRecuperable=Non-recoverable -SetConditions=Set Payment Terms -SetMode=Set Payment Type -SetRevenuStamp=Set revenue stamp -Billed=Billed -RecurringInvoices=Recurring invoices -RepeatableInvoice=Template invoice -RepeatableInvoices=Template invoices -Repeatable=Template -Repeatables=Templates -ChangeIntoRepeatableInvoice=Convert into template invoice -CreateRepeatableInvoice=Create template invoice -CreateFromRepeatableInvoice=Create from template invoice -CustomersInvoicesAndInvoiceLines=Customer invoices and invoice details -CustomersInvoicesAndPayments=Customer invoices and payments -ExportDataset_invoice_1=Customer invoices and invoice details -ExportDataset_invoice_2=Customer invoices and payments -ProformaBill=Proforma Bill: -Reduction=Reduction -ReductionShort=Disc. -Reductions=Reductions -ReductionsShort=Disc. -Discounts=Discounts -AddDiscount=Create discount -AddRelativeDiscount=Create relative discount -EditRelativeDiscount=Edit relative discount -AddGlobalDiscount=Create absolute discount -EditGlobalDiscounts=Edit absolute discounts -AddCreditNote=Create credit note -ShowDiscount=Show discount -ShowReduc=Show the discount -ShowSourceInvoice=Show the source invoice -RelativeDiscount=Relative discount -GlobalDiscount=Global discount -CreditNote=Credit note -CreditNotes=Credit notes -CreditNotesOrExcessReceived=Credit notes or excess received -Deposit=Down payment -Deposits=Down payments -DiscountFromCreditNote=Discount from credit note %s -DiscountFromDeposit=Down payments from invoice %s -DiscountFromExcessReceived=Payments in excess of invoice %s -DiscountFromExcessPaid=Payments in excess of invoice %s -AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation -CreditNoteDepositUse=Invoice must be validated to use this kind of credits -NewGlobalDiscount=New absolute discount -NewRelativeDiscount=New relative discount -DiscountType=Discount type -NoteReason=Note/Reason -ReasonDiscount=Reason -DiscountOfferedBy=Granted by -DiscountStillRemaining=Discounts or credits available -DiscountAlreadyCounted=Discounts or credits already consumed -CustomerDiscounts=Customer discounts -SupplierDiscounts=Vendors discounts -BillAddress=Bill address -HelpEscompte=This discount is a discount granted to customer because payment was made before term. -HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loss. -HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by another for example) -IdSocialContribution=Social/fiscal tax payment id -PaymentId=Payment id -PaymentRef=Payment ref. -InvoiceId=Invoice id -InvoiceRef=Invoice ref. -InvoiceDateCreation=Invoice creation date -InvoiceStatus=Invoice status -InvoiceNote=Invoice note -InvoicePaid=Invoice paid -InvoicePaidCompletely=Paid completely -InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. -OrderBilled=Order billed -DonationPaid=Donation paid -PaymentNumber=Payment number -RemoveDiscount=Remove discount -WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) -InvoiceNotChecked=No invoice selected -ConfirmCloneInvoice=Are you sure you want to clone this invoice %s? -DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced -DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payments during the fixed year are included here. -NbOfPayments=No. of payments -SplitDiscount=Split discount in two -ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into two smaller discounts? -TypeAmountOfEachNewDiscount=Input amount for each of two parts: -TotalOfTwoDiscountMustEqualsOriginal=The total of the two new discounts must be equal to the original discount amount. -ConfirmRemoveDiscount=Are you sure you want to remove this discount? -RelatedBill=Related invoice -RelatedBills=Related invoices -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related vendor invoices -LatestRelatedBill=Latest related invoice -WarningBillExist=Warning, one or more invoices already exist -MergingPDFTool=Merging PDF tool -AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice -PaymentOnDifferentThirdBills=Allow payments on different third parties bills but same parent company -PaymentNote=Payment note -ListOfPreviousSituationInvoices=List of previous situation invoices -ListOfNextSituationInvoices=List of next situation invoices -ListOfSituationInvoices=List of situation invoices -CurrentSituationTotal=Total current situation -DisabledBecauseNotEnouthCreditNote=To remove a situation invoice from cycle, this invoice's credit note total must cover this invoice total -RemoveSituationFromCycle=Remove this invoice from cycle -ConfirmRemoveSituationFromCycle=Remove this invoice %s from cycle ? -ConfirmOuting=Confirm outing -FrequencyPer_d=Every %s days -FrequencyPer_m=Every %s months -FrequencyPer_y=Every %s years -FrequencyUnit=Frequency unit -toolTipFrequency=Examples:
    Set 7, Day: give a new invoice every 7 days
    Set 3, Month: give a new invoice every 3 month -NextDateToExecution=Date for next invoice generation -NextDateToExecutionShort=Date next gen. -DateLastGeneration=Date of latest generation -DateLastGenerationShort=Date latest gen. -MaxPeriodNumber=Max. number of invoice generation -NbOfGenerationDone=Number of invoice generation already done -NbOfGenerationOfRecordDone=Number of record generation already done -NbOfGenerationDoneShort=Number of generation done -MaxGenerationReached=Maximum number of generations reached -InvoiceAutoValidate=Validate invoices automatically -GeneratedFromRecurringInvoice=Generated from template recurring invoice %s -DateIsNotEnough=Date not reached yet -InvoiceGeneratedFromTemplate=Invoice %s generated from recurring template invoice %s -GeneratedFromTemplate=Generated from template invoice %s -WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date -WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date -ViewAvailableGlobalDiscounts=View available discounts -GroupPaymentsByModOnReports=Group payments by mode on reports -# PaymentConditions -Statut=Status -PaymentConditionShortRECEP=Due Upon Receipt -PaymentConditionRECEP=Due Upon Receipt -PaymentConditionShort30D=30 days -PaymentCondition30D=30 days -PaymentConditionShort30DENDMONTH=30 days of month-end -PaymentCondition30DENDMONTH=Within 30 days following the end of the month -PaymentConditionShort60D=60 days -PaymentCondition60D=60 days -PaymentConditionShort60DENDMONTH=60 days of month-end -PaymentCondition60DENDMONTH=Within 60 days following the end of the month -PaymentConditionShortPT_DELIVERY=Delivery -PaymentConditionPT_DELIVERY=On delivery -PaymentConditionShortPT_ORDER=Order -PaymentConditionPT_ORDER=On order -PaymentConditionShortPT_5050=50-50 -PaymentConditionPT_5050=50%% in advance, 50%% on delivery -PaymentConditionShort10D=10 days -PaymentCondition10D=10 days -PaymentConditionShort10DENDMONTH=10 days of month-end -PaymentCondition10DENDMONTH=Within 10 days following the end of the month -PaymentConditionShort14D=14 days -PaymentCondition14D=14 days -PaymentConditionShort14DENDMONTH=14 days of month-end -PaymentCondition14DENDMONTH=Within 14 days following the end of the month -FixAmount=Fixed amount - 1 line with label '%s' -VarAmount=Variable amount (%% tot.) -VarAmountOneLine=Variable amount (%% tot.) - 1 line with label '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin -# PaymentType -PaymentTypeVIR=Bank transfer -PaymentTypeShortVIR=Bank transfer -PaymentTypePRE=Direct debit payment order -PaymentTypeShortPRE=Debit payment order -PaymentTypeLIQ=Cash -PaymentTypeShortLIQ=Cash -PaymentTypeCB=Credit card -PaymentTypeShortCB=Credit card -PaymentTypeCHQ=Check -PaymentTypeShortCHQ=Check -PaymentTypeTIP=TIP (Documents against Payment) -PaymentTypeShortTIP=TIP Payment -PaymentTypeVAD=Online payment -PaymentTypeShortVAD=Online payment -PaymentTypeTRA=Bank draft -PaymentTypeShortTRA=Draft -PaymentTypeFAC=Factor -PaymentTypeShortFAC=Factor -BankDetails=Bank details -BankCode=Bank code -DeskCode=Branch code -BankAccountNumber=Account number -BankAccountNumberKey=Checksum -Residence=Address -IBANNumber=IBAN account number -IBAN=IBAN -CustomerIBAN=IBAN of customer -SupplierIBAN=IBAN of vendor -BIC=BIC/SWIFT -BICNumber=BIC/SWIFT code -ExtraInfos=Extra infos -RegulatedOn=Regulated on -ChequeNumber=Check N° -ChequeOrTransferNumber=Check/Transfer N° -ChequeBordereau=Check schedule -ChequeMaker=Check/Transfer sender -ChequeBank=Bank of Check -CheckBank=Check -NetToBePaid=Net to be paid -PhoneNumber=Tel -FullPhoneNumber=Telephone -TeleFax=Fax -PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. -IntracommunityVATNumber=Intra-Community VAT ID -PaymentByChequeOrderedTo=Check payments (including tax) are payable to %s, send to -PaymentByChequeOrderedToShort=Check payments (incl. tax) are payable to -SendTo=sent to -PaymentByTransferOnThisBankAccount=Payment by transfer to the following bank account -VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI -LawApplicationPart1=By application of the law 80.335 of 12/05/80 -LawApplicationPart2=the goods remain the property of -LawApplicationPart3=the seller until full payment of -LawApplicationPart4=their price. -LimitedLiabilityCompanyCapital=SARL with Capital of -UseLine=Apply -UseDiscount=Use discount -UseCredit=Use credit -UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit -MenuChequeDeposits=Check Deposits -MenuCheques=Checks -MenuChequesReceipts=Check receipts -NewChequeDeposit=New deposit -ChequesReceipts=Check receipts -ChequesArea=Check deposits area -ChequeDeposits=Check deposits -Cheques=Checks -DepositId=Id deposit -NbCheque=Number of checks -CreditNoteConvertedIntoDiscount=This %s has been converted into %s -UsBillingContactAsIncoiveRecipientIfExist=Use contact/address with type 'billing contact' instead of third-party address as recipient for invoices -ShowUnpaidAll=Show all unpaid invoices -ShowUnpaidLateOnly=Show late unpaid invoices only -PaymentInvoiceRef=Payment invoice %s -ValidateInvoice=Validate invoice -ValidateInvoices=Validate invoices -Cash=Cash -Reported=Delayed -DisabledBecausePayments=Not possible since there are some payments -CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid -ExpectedToPay=Expected payment -CantRemoveConciliatedPayment=Can't remove reconciled payment -PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify automatically all standard, down payment or replacement invoices as "Paid" when payment is done entirely. -ClosePaidCreditNotesAutomatically=Classify automatically all credit notes as "Paid" when refund is done entirely. -ClosePaidContributionsAutomatically=Classify automatically all social or fiscal contributions as "Paid" when payment is done entirely. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. -AllCompletelyPayedInvoiceWillBeClosed=All invoices with no remainder to pay will be automatically closed with status "Paid". -ToMakePayment=Pay -ToMakePaymentBack=Pay back -ListOfYourUnpaidInvoices=List of unpaid invoices -NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Tax stamp -YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party -YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party -YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) -PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template -PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -EarlyClosingReason=Early closing reason -EarlyClosingComment=Early closing note -##### Types de contacts ##### -TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice -TypeContact_facture_external_BILLING=Customer invoice contact -TypeContact_facture_external_SHIPPING=Customer shipping contact -TypeContact_facture_external_SERVICE=Customer service contact -TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice -TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact -TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact -TypeContact_invoice_supplier_external_SERVICE=Vendor service contact -# Situation invoices -InvoiceFirstSituationAsk=First situation invoice -InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. -InvoiceSituation=Situation invoice -PDFInvoiceSituation=Situation invoice -InvoiceSituationAsk=Invoice following the situation -InvoiceSituationDesc=Create a new situation following an already existing one -SituationAmount=Situation invoice amount(net) -SituationDeduction=Situation subtraction -ModifyAllLines=Modify all lines -CreateNextSituationInvoice=Create next situation -ErrorFindNextSituationInvoice=Error unable to find next situation cycle ref -ErrorOutingSituationInvoiceOnUpdate=Unable to outing this situation invoice. -ErrorOutingSituationInvoiceCreditNote=Unable to outing linked credit note. -NotLastInCycle=This invoice is not the latest in cycle and must not be modified. -DisabledBecauseNotLastInCycle=The next situation already exists. -DisabledBecauseFinal=This situation is final. -situationInvoiceShortcode_AS=AS -situationInvoiceShortcode_S=S -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No open situations -InvoiceSituationLast=Final and general invoice -PDFCrevetteSituationNumber=Situation N°%s -PDFCrevetteSituationInvoiceLineDecompte=Situation invoice - COUNT -PDFCrevetteSituationInvoiceTitle=Situation invoice -PDFCrevetteSituationInvoiceLine=Situation N°%s: Inv. N°%s on %s -TotalSituationInvoice=Total situation -invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line -updatePriceNextInvoiceErrorUpdateline=Error: update price on invoice line: %s -ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices. -ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu %s - %s - %s. -ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask your administrator to enable and setup module %s. Note that both methods (manual and automatic) can be used together with no risk of duplication. -DeleteRepeatableInvoice=Delete template invoice -ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice? CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order) -BillCreated=%s invoice(s) generated -BillXCreated=Invoice %s generated -StatusOfGeneratedDocuments=Status of document generation -DoNotGenerateDoc=Do not generate document file -AutogenerateDoc=Auto generate document file -AutoFillDateFrom=Set start date for service line with invoice date -AutoFillDateFromShort=Set start date -AutoFillDateTo=Set end date for service line with next invoice date -AutoFillDateToShort=Set end date -MaxNumberOfGenerationReached=Max number of gen. reached -BILL_DELETEInDolibarr=Invoice deleted -BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted -UnitPriceXQtyLessDiscount=Unit price x Qty - Discount -CustomersInvoicesArea=Customer billing area -SupplierInvoicesArea=Supplier billing area -FacParentLine=Invoice Line Parent -SituationTotalRayToRest=Remainder to pay without taxe -PDFSituationTitle=Situation n° %d -SituationTotalProgress=Total progress %d %% diff --git a/htdocs/langs/ar_IQ/companies.lang b/htdocs/langs/ar_IQ/companies.lang index fbe75f09ab0..d781b34a0f8 100644 --- a/htdocs/langs/ar_IQ/companies.lang +++ b/htdocs/langs/ar_IQ/companies.lang @@ -1,477 +1,2 @@ # Dolibarr language file - Source file is en_US - companies -ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. -ErrorSetACountryFirst=Set the country first -SelectThirdParty=Select a third party -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? -DeleteContact=Delete a contact/address -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? -MenuNewThirdParty=New Third Party -MenuNewCustomer=New Customer -MenuNewProspect=New Prospect -MenuNewSupplier=New Vendor -MenuNewPrivateIndividual=New private individual -NewCompany=New company (prospect, customer, vendor) -NewThirdParty=New Third Party (prospect, customer, vendor) -CreateDolibarrThirdPartySupplier=Create a third party (vendor) -CreateThirdPartyOnly=Create third party -CreateThirdPartyAndContact=Create a third party + a child contact -ProspectionArea=Prospection area -IdThirdParty=Id third party -IdCompany=Company Id -IdContact=Contact Id -ThirdPartyContacts=Third-party contacts -ThirdPartyContact=Third-party contact/address -Company=Company -CompanyName=Company name -AliasNames=Alias name (commercial, trademark, ...) -AliasNameShort=Alias Name -Companies=Companies -CountryIsInEEC=Country is inside the European Economic Community -PriceFormatInCurrentLanguage=Price display format in the current language and currency -ThirdPartyName=Third-party name -ThirdPartyEmail=Third-party email -ThirdParty=Third-party -ThirdParties=Third-parties -ThirdPartyProspects=Prospects -ThirdPartyProspectsStats=Prospects -ThirdPartyCustomers=Customers -ThirdPartyCustomersStats=Customers -ThirdPartyCustomersWithIdProf12=Customers with %s or %s -ThirdPartySuppliers=Vendors -ThirdPartyType=Third-party type -Individual=Private individual -ToCreateContactWithSameName=Will automatically create a contact/address with same information as the third party under the third party. In most cases, even if your third party is a physical person, creating a third party alone is enough. -ParentCompany=Parent company -Subsidiaries=Subsidiaries -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate -CivilityCode=Civility code -RegisteredOffice=Registered office -Lastname=Last name -Firstname=First name -PostOrFunction=Job position -UserTitle=Title -NatureOfThirdParty=Nature of Third party -NatureOfContact=Nature of Contact -Address=Address -State=State/Province -StateCode=State/Province code -StateShort=State -Region=Region -Region-State=Region - State -Country=Country -CountryCode=Country code -CountryId=Country id -Phone=Phone -PhoneShort=Phone -Skype=Skype -Call=Call -Chat=Chat -PhonePro=Bus. phone -PhonePerso=Pers. phone -PhoneMobile=Mobile -No_Email=Refuse bulk emailings -Fax=Fax -Zip=Zip Code -Town=City -Web=Web -Poste= Position -DefaultLang=Default language -VATIsUsed=Sales tax used VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers -VATIsNotUsed=Sales tax is not used -CopyAddressFromSoc=Copy address from third-party details -ThirdpartyNotCustomerNotSupplierSoNoRef=Third party neither customer nor vendor, no available referring objects -ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Third party neither customer nor vendor, discounts are not available -PaymentBankAccount=Payment bank account -OverAllProposals=Proposals -OverAllOrders=Orders -OverAllInvoices=Invoices -OverAllSupplierProposals=Price requests -##### Local Taxes ##### -LocalTax1IsUsed=Use second tax -LocalTax1IsUsedES= RE is used -LocalTax1IsNotUsedES= RE is not used -LocalTax2IsUsed=Use third tax -LocalTax2IsUsedES= IRPF is used -LocalTax2IsNotUsedES= IRPF is not used -WrongCustomerCode=Customer code invalid -WrongSupplierCode=Vendor code invalid -CustomerCodeModel=Customer code model -SupplierCodeModel=Vendor code model -Gencod=Barcode -##### Professional ID ##### -ProfId1Short=Prof. id 1 -ProfId2Short=Prof. id 2 -ProfId3Short=Prof. id 3 -ProfId4Short=Prof. id 4 -ProfId5Short=Prof. id 5 -ProfId6Short=Prof. id 6 -ProfId1=Professional ID 1 -ProfId2=Professional ID 2 -ProfId3=Professional ID 3 -ProfId4=Professional ID 4 -ProfId5=Professional ID 5 -ProfId6=Professional ID 6 -ProfId1AR=Prof Id 1 (CUIT/CUIL) -ProfId2AR=Prof Id 2 (Revenu brutes) -ProfId3AR=- -ProfId4AR=- -ProfId5AR=- -ProfId6AR=- -ProfId1AT=Prof Id 1 (USt.-IdNr) -ProfId2AT=Prof Id 2 (USt.-Nr) -ProfId3AT=Prof Id 3 (Handelsregister-Nr.) -ProfId4AT=- -ProfId5AT=EORI number -ProfId6AT=- -ProfId1AU=Prof Id 1 (ABN) -ProfId2AU=- -ProfId3AU=- -ProfId4AU=- -ProfId5AU=- -ProfId6AU=- -ProfId1BE=Prof Id 1 (Professional number) -ProfId2BE=- -ProfId3BE=- -ProfId4BE=- -ProfId5BE=EORI number -ProfId6BE=- -ProfId1BR=- -ProfId2BR=IE (Inscricao Estadual) -ProfId3BR=IM (Inscricao Municipal) -ProfId4BR=CPF -#ProfId5BR=CNAE -#ProfId6BR=INSS -ProfId1CH=UID-Nummer -ProfId2CH=- -ProfId3CH=Prof Id 1 (Federal number) -ProfId4CH=Prof Id 2 (Commercial Record number) -ProfId5CH=EORI number -ProfId6CH=- -ProfId1CL=Prof Id 1 (R.U.T.) -ProfId2CL=- -ProfId3CL=- -ProfId4CL=- -ProfId5CL=- -ProfId6CL=- -ProfId1CO=Prof Id 1 (R.U.T.) -ProfId2CO=- -ProfId3CO=- -ProfId4CO=- -ProfId5CO=- -ProfId6CO=- -ProfId1DE=Prof Id 1 (USt.-IdNr) -ProfId2DE=Prof Id 2 (USt.-Nr) -ProfId3DE=Prof Id 3 (Handelsregister-Nr.) -ProfId4DE=- -ProfId5DE=EORI number -ProfId6DE=- -ProfId1ES=Prof Id 1 (CIF/NIF) -ProfId2ES=Prof Id 2 (Social security number) -ProfId3ES=Prof Id 3 (CNAE) -ProfId4ES=Prof Id 4 (Collegiate number) -ProfId5ES=Prof Id 5 (EORI number) -ProfId6ES=- -ProfId1FR=Prof Id 1 (SIREN) -ProfId2FR=Prof Id 2 (SIRET) -ProfId3FR=Prof Id 3 (NAF, old APE) -ProfId4FR=Prof Id 4 (RCS/RM) -ProfId5FR=Prof Id 5 (numéro EORI) -ProfId6FR=- -ProfId1ShortFR=SIREN -ProfId2ShortFR=SIRET -ProfId3ShortFR=NAF -ProfId4ShortFR=RCS -ProfId5ShortFR=EORI -ProfId6ShortFR=- -ProfId1GB=Registration Number -ProfId2GB=- -ProfId3GB=SIC -ProfId4GB=- -ProfId5GB=- -ProfId6GB=- -ProfId1HN=Id prof. 1 (RTN) -ProfId2HN=- -ProfId3HN=- -ProfId4HN=- -ProfId5HN=- -ProfId6HN=- -ProfId1IN=Prof Id 1 (TIN) -ProfId2IN=Prof Id 2 (PAN) -ProfId3IN=Prof Id 3 (SRVC TAX) -ProfId4IN=Prof Id 4 -ProfId5IN=Prof Id 5 -ProfId6IN=- -ProfId1IT=- -ProfId2IT=- -ProfId3IT=- -ProfId4IT=- -ProfId5IT=EORI number -ProfId6IT=- -ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg) -ProfId2LU=Id. prof. 2 (Business permit) -ProfId3LU=- -ProfId4LU=- -ProfId5LU=EORI number -ProfId6LU=- -ProfId1MA=Id prof. 1 (R.C.) -ProfId2MA=Id prof. 2 (Patente) -ProfId3MA=Id prof. 3 (I.F.) -ProfId4MA=Id prof. 4 (C.N.S.S.) -ProfId5MA=Id prof. 5 (I.C.E.) -ProfId6MA=- -ProfId1MX=Prof Id 1 (R.F.C). -ProfId2MX=Prof Id 2 (R..P. IMSS) -ProfId3MX=Prof Id 3 (Profesional Charter) -ProfId4MX=- -ProfId5MX=- -ProfId6MX=- -ProfId1NL=KVK nummer -ProfId2NL=- -ProfId3NL=- -ProfId4NL=Burgerservicenummer (BSN) -ProfId5NL=EORI number -ProfId6NL=- -ProfId1PT=Prof Id 1 (NIPC) -ProfId2PT=Prof Id 2 (Social security number) -ProfId3PT=Prof Id 3 (Commercial Record number) -ProfId4PT=Prof Id 4 (Conservatory) -ProfId5PT=Prof Id 5 (EORI number) -ProfId6PT=- -ProfId1SN=RC -ProfId2SN=NINEA -ProfId3SN=- -ProfId4SN=- -ProfId5SN=- -ProfId6SN=- -ProfId1TN=Prof Id 1 (RC) -ProfId2TN=Prof Id 2 (Fiscal matricule) -ProfId3TN=Prof Id 3 (Douane code) -ProfId4TN=Prof Id 4 (BAN) -ProfId5TN=- -ProfId6TN=- -ProfId1US=Prof Id (FEIN) -ProfId2US=- -ProfId3US=- -ProfId4US=- -ProfId5US=- -ProfId6US=- -ProfId1RO=Prof Id 1 (CUI) -ProfId2RO=Prof Id 2 (Nr. Înmatriculare) -ProfId3RO=Prof Id 3 (CAEN) -ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) -ProfId6RO=- -ProfId1RU=Prof Id 1 (OGRN) -ProfId2RU=Prof Id 2 (INN) -ProfId3RU=Prof Id 3 (KPP) -ProfId4RU=Prof Id 4 (OKPO) -ProfId5RU=- -ProfId6RU=- -ProfId1DZ=RC -ProfId2DZ=Art. -ProfId3DZ=NIF -ProfId4DZ=NIS -VATIntra=VAT ID -VATIntraShort=VAT ID -VATIntraSyntaxIsValid=Syntax is valid -VATReturn=VAT return -ProspectCustomer=Prospect / Customer -Prospect=Prospect -CustomerCard=Customer Card -Customer=Customer -CustomerRelativeDiscount=Relative customer discount -SupplierRelativeDiscount=Relative vendor discount -CustomerRelativeDiscountShort=Relative discount -CustomerAbsoluteDiscountShort=Absolute discount -CompanyHasRelativeDiscount=This customer has a default discount of %s%% -CompanyHasNoRelativeDiscount=This customer has no relative discount by default -HasRelativeDiscountFromSupplier=You have a default discount of %s%% from this vendor -HasNoRelativeDiscountFromSupplier=You have no default relative discount from this vendor -CompanyHasAbsoluteDiscount=This customer has discounts available (credits notes or down payments) for %s %s -CompanyHasDownPaymentOrCommercialDiscount=This customer has discounts available (commercial, down payments) for %s %s -CompanyHasCreditNote=This customer still has credit notes for %s %s -HasNoAbsoluteDiscountFromSupplier=You have no discount credit available from this vendor -HasAbsoluteDiscountFromSupplier=You have discounts available (credits notes or down payments) for %s %s from this vendor -HasDownPaymentOrCommercialDiscountFromSupplier=You have discounts available (commercial, down payments) for %s %s from this vendor -HasCreditNoteFromSupplier=You have credit notes for %s %s from this vendor -CompanyHasNoAbsoluteDiscount=This customer has no discount credit available -CustomerAbsoluteDiscountAllUsers=Absolute customer discounts (granted by all users) -CustomerAbsoluteDiscountMy=Absolute customer discounts (granted by yourself) -SupplierAbsoluteDiscountAllUsers=Absolute vendor discounts (entered by all users) -SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) -DiscountNone=None -Vendor=Vendor -Supplier=Vendor -AddContact=Create contact -AddContactAddress=Create contact/address -EditContact=Edit contact -EditContactAddress=Edit contact/address -Contact=Contact/Address -Contacts=Contacts/Addresses -ContactId=Contact id -ContactsAddresses=Contacts/Addresses -FromContactName=Name: -NoContactDefinedForThirdParty=No contact defined for this third party -NoContactDefined=No contact defined -DefaultContact=Default contact/address -ContactByDefaultFor=Default contact/address for -AddThirdParty=Create third party -DeleteACompany=Delete a company -PersonalInformations=Personal data -AccountancyCode=Accounting account -CustomerCode=Customer Code -SupplierCode=Vendor Code -CustomerCodeShort=Customer Code -SupplierCodeShort=Vendor Code -CustomerCodeDesc=Customer Code, unique for all customers -SupplierCodeDesc=Vendor Code, unique for all vendors -RequiredIfCustomer=Required if third party is a customer or prospect -RequiredIfSupplier=Required if third party is a vendor -ValidityControledByModule=Validity controlled by the module -ThisIsModuleRules=Rules for this module -ProspectToContact=Prospect to contact -CompanyDeleted=Company "%s" deleted from database. -ListOfContacts=List of contacts/addresses -ListOfContactsAddresses=List of contacts/addresses -ListOfThirdParties=List of Third Parties -ShowCompany=Third Party -ShowContact=Contact-Address -ContactsAllShort=All (No filter) -ContactType=Contact type -ContactForOrders=Order's contact -ContactForOrdersOrShipments=Order's or shipment's contact -ContactForProposals=Proposal's contact -ContactForContracts=Contract's contact -ContactForInvoices=Invoice's contact -NoContactForAnyOrder=This contact is not a contact for any order -NoContactForAnyOrderOrShipments=This contact is not a contact for any order or shipment -NoContactForAnyProposal=This contact is not a contact for any commercial proposal -NoContactForAnyContract=This contact is not a contact for any contract -NoContactForAnyInvoice=This contact is not a contact for any invoice -NewContact=New contact -NewContactAddress=New Contact/Address -MyContacts=My contacts -Capital=Capital -CapitalOf=Capital of %s -EditCompany=Edit company -ThisUserIsNot=This user is not a prospect, customer or vendor -VATIntraCheck=Check -VATIntraCheckDesc=The VAT ID must include the country prefix. The link %s uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server. -VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do -VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commission website -VATIntraManualCheck=You can also check manually on the European Commission website %s -ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). -NorProspectNorCustomer=Not prospect, nor customer -JuridicalStatus=Business entity type -Workforce=Workforce -Staff=Employees -ProspectLevelShort=Potential -ProspectLevel=Prospect potential -ContactPrivate=Private -ContactPublic=Shared -ContactVisibility=Visibility -ContactOthers=Other -OthersNotLinkedToThirdParty=Others, not linked to a third party -ProspectStatus=Prospect status -PL_NONE=None -PL_UNKNOWN=Unknown -PL_LOW=Low -PL_MEDIUM=Medium -PL_HIGH=High -TE_UNKNOWN=- -TE_STARTUP=Startup -TE_GROUP=Large company -TE_MEDIUM=Medium company -TE_ADMIN=Governmental -TE_SMALL=Small company -TE_RETAIL=Retailer -TE_WHOLE=Wholesaler -TE_PRIVATE=Private individual -TE_OTHER=Other -StatusProspect-1=Do not contact -StatusProspect0=Never contacted -StatusProspect1=To be contacted -StatusProspect2=Contact in process -StatusProspect3=Contact done -ChangeDoNotContact=Change status to 'Do not contact' -ChangeNeverContacted=Change status to 'Never contacted' -ChangeToContact=Change status to 'To be contacted' -ChangeContactInProcess=Change status to 'Contact in process' -ChangeContactDone=Change status to 'Contact done' -ProspectsByStatus=Prospects by status -NoParentCompany=None -ExportCardToFormat=Export card to format -ContactNotLinkedToCompany=Contact not linked to any third party -DolibarrLogin=Dolibarr login -NoDolibarrAccess=No Dolibarr access -ExportDataset_company_1=Third-parties (companies/foundations/physical people) and their properties -ExportDataset_company_2=Contacts and their properties -ImportDataset_company_1=Third-parties and their properties -ImportDataset_company_2=Third-parties additional contacts/addresses and attributes -ImportDataset_company_3=Third-parties Bank accounts -ImportDataset_company_4=Third-parties Sales representatives (assign sales representatives/users to companies) -PriceLevel=Price Level -PriceLevelLabels=Price Level Labels -DeliveryAddress=Delivery address -AddAddress=Add address -SupplierCategory=Vendor category -JuridicalStatus200=Independent -DeleteFile=Delete file -ConfirmDeleteFile=Are you sure you want to delete this file? -AllocateCommercial=Assigned to sales representative -Organization=Organization -FiscalYearInformation=Fiscal Year -FiscalMonthStart=Starting month of the fiscal year -SocialNetworksInformation=Social networks -SocialNetworksFacebookURL=Facebook URL -SocialNetworksTwitterURL=Twitter URL -SocialNetworksLinkedinURL=Linkedin URL -SocialNetworksInstagramURL=Instagram URL -SocialNetworksYoutubeURL=Youtube URL -SocialNetworksGithubURL=Github URL -YouMustAssignUserMailFirst=You must create an email for this user prior to being able to add an email notification. -YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party -ListSuppliersShort=List of Vendors -ListProspectsShort=List of Prospects -ListCustomersShort=List of Customers -ThirdPartiesArea=Third Parties/Contacts -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties -InActivity=Open -ActivityCeased=Closed -ThirdPartyIsClosed=Third party is closed -ProductsIntoElements=List of products/services mapped to %s -CurrentOutstandingBill=Current outstanding bill -OutstandingBill=Max. for outstanding bill -OutstandingBillReached=Max. for outstanding bill reached -OrderMinAmount=Minimum amount for order -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. -LeopardNumRefModelDesc=The code is free. This code can be modified at any time. -ManagingDirectors=Manager(s) name (CEO, director, president...) -MergeOriginThirdparty=Duplicate third party (third party you want to delete) -MergeThirdparties=Merge third parties -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. -ThirdpartiesMergeSuccess=Third parties have been merged -SaleRepresentativeLogin=Login of sales representative -SaleRepresentativeFirstname=First name of sales representative -SaleRepresentativeLastname=Last name of sales representative -ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. -NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested -KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address -#Imports -PaymentTypeCustomer=Payment Type - Customer -PaymentTermsCustomer=Payment Terms - Customer -PaymentTypeSupplier=Payment Type - Vendor -PaymentTermsSupplier=Payment Term - Vendor -PaymentTypeBoth=Payment Type - Customer and Vendor -MulticurrencyUsed=Use Multicurrency -MulticurrencyCurrency=Currency -InEEC=Europe (EEC) -RestOfEurope=Rest of Europe (EEC) -OutOfEurope=Out of Europe (EEC) -CurrentOutstandingBillLate=Current outstanding bill late -BecarefullChangeThirdpartyBeforeAddProductToInvoice=Be carefull, depending on your product price settings, you should change thirdparty before adding product to POS. diff --git a/htdocs/langs/ar_IQ/compta.lang b/htdocs/langs/ar_IQ/compta.lang index 7cae82e6ac7..0b2ce4fa537 100644 --- a/htdocs/langs/ar_IQ/compta.lang +++ b/htdocs/langs/ar_IQ/compta.lang @@ -1,288 +1,5 @@ # Dolibarr language file - Source file is en_US - compta -MenuFinancial=Billing | Payment -TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation -TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation -OptionMode=Option for accountancy -OptionModeTrue=Option Incomes-Expenses -OptionModeVirtual=Option Claims-Debts -OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. -OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. -FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) -VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. -LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. -Param=Setup -RemainingAmountPayment=Amount payment remaining: -Account=Account -Accountparent=Parent account -Accountsparent=Parent accounts -Income=Income -Outcome=Expense -MenuReportInOut=Income / Expense -ReportInOut=Balance of income and expenses -ReportTurnover=Turnover invoiced -ReportTurnoverCollected=Turnover collected -PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party -PaymentsNotLinkedToUser=Payments not linked to any user -Profit=Profit -AccountingResult=Accounting result -BalanceBefore=Balance (before) -Balance=Balance -Debit=Debit -Credit=Credit -Piece=Accounting Doc. -AmountHTVATRealReceived=Net collected -AmountHTVATRealPaid=Net paid -VATToPay=Tax sales -VATReceived=Tax received -VATToCollect=Tax purchases -VATSummary=Tax monthly -VATBalance=Tax Balance -VATPaid=Tax paid -LT1Summary=Tax 2 summary -LT2Summary=Tax 3 summary -LT1SummaryES=RE Balance -LT2SummaryES=IRPF Balance -LT1SummaryIN=CGST Balance -LT2SummaryIN=SGST Balance -LT1Paid=Tax 2 paid -LT2Paid=Tax 3 paid -LT1PaidES=RE Paid -LT2PaidES=IRPF Paid -LT1PaidIN=CGST Paid -LT2PaidIN=SGST Paid -LT1Customer=Tax 2 sales -LT1Supplier=Tax 2 purchases -LT1CustomerES=RE sales -LT1SupplierES=RE purchases -LT1CustomerIN=CGST sales -LT1SupplierIN=CGST purchases -LT2Customer=Tax 3 sales -LT2Supplier=Tax 3 purchases -LT2CustomerES=IRPF sales -LT2SupplierES=IRPF purchases -LT2CustomerIN=SGST sales -LT2SupplierIN=SGST purchases -VATCollected=VAT collected -StatusToPay=To pay -SpecialExpensesArea=Area for all special payments -VATExpensesArea=Area for all TVA payments -SocialContribution=Social or fiscal tax -SocialContributions=Social or fiscal taxes -SocialContributionsDeductibles=Deductible social or fiscal taxes -SocialContributionsNondeductibles=Nondeductible social or fiscal taxes -DateOfSocialContribution=Date of social or fiscal tax -LabelContrib=Label contribution -TypeContrib=Type contribution -MenuSpecialExpenses=Special expenses -MenuTaxAndDividends=Taxes and dividends -MenuSocialContributions=Social/fiscal taxes -MenuNewSocialContribution=New social/fiscal tax -NewSocialContribution=New social/fiscal tax -AddSocialContribution=Add social/fiscal tax -ContributionsToPay=Social/fiscal taxes to pay -AccountancyTreasuryArea=Billing and payment area -NewPayment=New payment -PaymentCustomerInvoice=Customer invoice payment -PaymentSupplierInvoice=vendor invoice payment -PaymentSocialContribution=Social/fiscal tax payment -PaymentVat=VAT payment -AutomaticCreationPayment=Automatically record the payment -ListPayment=List of payments -ListOfCustomerPayments=List of customer payments -ListOfSupplierPayments=List of vendor payments -DateStartPeriod=Date start period -DateEndPeriod=Date end period -newLT1Payment=New tax 2 payment -newLT2Payment=New tax 3 payment -LT1Payment=Tax 2 payment -LT1Payments=Tax 2 payments -LT2Payment=Tax 3 payment -LT2Payments=Tax 3 payments -newLT1PaymentES=New RE payment -newLT2PaymentES=New IRPF payment -LT1PaymentES=RE Payment -LT1PaymentsES=RE Payments -LT2PaymentES=IRPF Payment -LT2PaymentsES=IRPF Payments -VATPayment=Sales tax payment -VATPayments=Sales tax payments -VATDeclarations=VAT declarations -VATDeclaration=VAT declaration -VATRefund=Sales tax refund -NewVATPayment=New sales tax payment -NewLocalTaxPayment=New tax %s payment -Refund=Refund -SocialContributionsPayments=Social/fiscal taxes payments -ShowVatPayment=Show VAT payment -TotalToPay=Total to pay -BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters) -CustomerAccountancyCode=Customer accounting code -SupplierAccountancyCode=Vendor accounting code -CustomerAccountancyCodeShort=Cust. account. code -SupplierAccountancyCodeShort=Sup. account. code -AccountNumber=Account number -NewAccountingAccount=New account -Turnover=Turnover invoiced -TurnoverCollected=Turnover collected -SalesTurnoverMinimum=Minimum turnover -ByExpenseIncome=By expenses & incomes -ByThirdParties=By third parties -ByUserAuthorOfInvoice=By invoice author -CheckReceipt=Check deposit -CheckReceiptShort=Check deposit -LastCheckReceiptShort=Latest %s check receipts -NewCheckReceipt=New discount -NewCheckDeposit=New check deposit -NewCheckDepositOn=Create receipt for deposit on account: %s -NoWaitingChecks=No checks awaiting deposit. -DateChequeReceived=Check receiving date -NbOfCheques=No. of checks -PaySocialContribution=Pay a social/fiscal tax -PayVAT=Pay a VAT declaration -PaySalary=Pay a salary card -ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? -ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? -DeleteSocialContribution=Delete a social or fiscal tax payment -DeleteVAT=Delete a VAT declaration -DeleteSalary=Delete a salary card -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? -ExportDataset_tax_1=Social and fiscal taxes and payments -CalcModeVATDebt=Mode %sVAT on commitment accounting%s. -CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. -CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger. -CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger. -CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table. -CalcModeLT1= Mode %sRE on customer invoices - suppliers invoices%s -CalcModeLT1Debt=Mode %sRE on customer invoices%s -CalcModeLT1Rec= Mode %sRE on suppliers invoices%s -CalcModeLT2= Mode %sIRPF on customer invoices - suppliers invoices%s -CalcModeLT2Debt=Mode %sIRPF on customer invoices%s -CalcModeLT2Rec= Mode %sIRPF on suppliers invoices%s -AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary -AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary -AnnualByCompanies=Balance of income and expenses, by predefined groups of account -AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode %sClaims-Debts%s said Commitment accounting. -AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. -SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation based on recorded payments made even if they are not yet accounted in Ledger -SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger -SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table -RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. -RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    -RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    -RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME -RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" -RulesResultBookkeepingPredefined=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" -RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting accounts grouped by personalized groups -SeePageForSetup=See menu %s for setup -DepositsAreNotIncluded=- Down payment invoices are not included -DepositsAreIncluded=- Down payment invoices are included -LT1ReportByMonth=Tax 2 report by month -LT2ReportByMonth=Tax 3 report by month -LT1ReportByCustomers=Report tax 2 by third party -LT2ReportByCustomers=Report tax 3 by third party -LT1ReportByCustomersES=Report by third party RE -LT2ReportByCustomersES=Report by third party IRPF -VATReport=Sale tax report -VATReportByPeriods=Sale tax report by period -VATReportByMonth=Sale tax report by month -VATReportByRates=Sale tax report by rates -VATReportByThirdParties=Sale tax report by third parties -VATReportByCustomers=Sale tax report by customer -VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid -VATReportByQuartersInInputOutputMode=Report by Sale tax rate of the tax collected and paid -VATReportShowByRateDetails=Show details of this rate -LT1ReportByQuarters=Report tax 2 by rate -LT2ReportByQuarters=Report tax 3 by rate -LT1ReportByQuartersES=Report by RE rate -LT2ReportByQuartersES=Report by IRPF rate SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. -RulesVATInProducts=- For material assets, the report includes the VAT received or issued on the basis of the date of payment. RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. -RulesVATDueProducts=- For material assets, the report includes the VAT invoices, based on the invoice date. -OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. -ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values -PercentOfInvoice=%%/invoice -NotUsedForGoods=Not used on goods -ProposalStats=Statistics on proposals -OrderStats=Statistics on orders -InvoiceStats=Statistics on bills -Dispatch=Dispatching -Dispatched=Dispatched -ToDispatch=To dispatch -ThirdPartyMustBeEditAsCustomer=Third party must be defined as a customer -SellsJournal=Sales Journal -PurchasesJournal=Purchases Journal -DescSellsJournal=Sales Journal -DescPurchasesJournal=Purchases Journal -CodeNotDef=Not defined -WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module. -DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. -Pcg_version=Chart of accounts models -Pcg_type=Pcg type -Pcg_subtype=Pcg subtype -InvoiceLinesToDispatch=Invoice lines to dispatch -ByProductsAndServices=By product and service -RefExt=External ref -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". -LinkedOrder=Link to order -Mode1=Method 1 -Mode2=Method 2 -CalculationRuleDesc=To calculate total VAT, there is two methods:
    Method 1 is rounding vat on each line, then summing them.
    Method 2 is summing all vat on each line, then rounding result.
    Final result may differs from few cents. Default mode is mode %s. -CalculationRuleDescSupplier=According to vendor, choose appropriate method to apply same calculation rule and get same result expected by your vendor. -TurnoverPerProductInCommitmentAccountingNotRelevant=The report of Turnover collected per product is not available. This report is only available for turnover invoiced. -TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. -CalculationMode=Calculation mode -AccountancyJournal=Accounting code journal -ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for VAT on sales (used if not defined on VAT dictionary setup) -ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for VAT on purchases (used if not defined on VAT dictionary setup) -ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT -ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties -ACCOUNTING_ACCOUNT_CUSTOMER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated customer accounting account on third party is not defined. -ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for vendor third parties -ACCOUNTING_ACCOUNT_SUPPLIER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated vendor accounting account on third party is not defined. -ConfirmCloneTax=Confirm the clone of a social/fiscal tax -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary -CloneTaxForNextMonth=Clone it for next month -SimpleReport=Simple report -AddExtraReport=Extra reports (add foreign and national customer report) -OtherCountriesCustomersReport=Foreign customers report -BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code -SameCountryCustomersWithVAT=National customers report -BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code -LinkedFichinter=Link to an intervention -ImportDataset_tax_contrib=Social/fiscal taxes -ImportDataset_tax_vat=Vat payments -ErrorBankAccountNotFound=Error: Bank account not found -FiscalPeriod=Accounting period -ListSocialContributionAssociatedProject=List of social contributions associated with the project -DeleteFromCat=Remove from accounting group -AccountingAffectation=Accounting assignment -LastDayTaxIsRelatedTo=Last day of period the tax is related to -VATDue=Sale tax claimed -ClaimedForThisPeriod=Claimed for the period -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range -ByVatRate=By sale tax rate -TurnoverbyVatrate=Turnover invoiced by sale tax rate -TurnoverCollectedbyVatrate=Turnover collected by sale tax rate -PurchasebyVatrate=Purchase by sale tax rate -LabelToShow=Short label -PurchaseTurnover=Purchase turnover -PurchaseTurnoverCollected=Purchase turnover collected -RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    -RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    -RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE -ReportPurchaseTurnover=Purchase turnover invoiced -ReportPurchaseTurnoverCollected=Purchase turnover collected -IncludeVarpaysInResults = Include various payments in reports -IncludeLoansInResults = Include loans in reports diff --git a/htdocs/langs/ar_IQ/exports.lang b/htdocs/langs/ar_IQ/exports.lang index a0eb7161ef2..4b7a62067ac 100644 --- a/htdocs/langs/ar_IQ/exports.lang +++ b/htdocs/langs/ar_IQ/exports.lang @@ -1,136 +1,2 @@ # Dolibarr language file - Source file is en_US - exports -ExportsArea=Exports -ImportArea=Import -NewExport=New Export -NewImport=New Import -ExportableDatas=Exportable dataset -ImportableDatas=Importable dataset -SelectExportDataSet=Choose dataset you want to export... -SelectImportDataSet=Choose dataset you want to import... -SelectExportFields=Choose the fields you want to export, or select a predefined export profile -SelectImportFields=Choose the source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: -NotImportedFields=Fields of source file not imported -SaveExportModel=Save your selections as an export profile/template (for reuse). -SaveImportModel=Save this import profile (for reuse) ... -ExportModelName=Export profile name -ExportModelSaved=Export profile saved as %s. -ExportableFields=Exportable fields -ExportedFields=Exported fields -ImportModelName=Import profile name -ImportModelSaved=Import profile saved as %s. -DatasetToExport=Dataset to export -DatasetToImport=Import file into dataset -ChooseFieldsOrdersAndTitle=Choose fields order... -FieldsTitle=Fields title -FieldTitle=Field title -NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... -AvailableFormats=Available Formats -LibraryShort=Library -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator -Step=Step -FormatedImport=Import Assistant -FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. -FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. -FormatedExport=Export Assistant -FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. -FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. -Sheet=Sheet -NoImportableData=No importable data (no module with definitions to allow data imports) -FileSuccessfullyBuilt=File generated -SQLUsedForExport=SQL Request used to extract data -LineId=Id of line -LineLabel=Label of line -LineDescription=Description of line -LineUnitPrice=Unit price of line -LineVATRate=VAT Rate of line -LineQty=Quantity for line -LineTotalHT=Amount excl. tax for line -LineTotalTTC=Amount with tax for line -LineTotalVAT=Amount of VAT for line -TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) -FileWithDataToImport=File with data to import -FileToImport=Source file to import -FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) -ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SourceFileFormat=Source file format -FieldsInSourceFile=Fields in source file -FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) -Field=Field -NoFields=No fields -MoveField=Move field column number %s -ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Save this import profile -ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name. -TablesTarget=Targeted tables -FieldsTarget=Targeted fields -FieldTarget=Targeted field -FieldSource=Source field -NbOfSourceLines=Number of lines in source file -NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
    Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
    No data will be changed in your database. -RunSimulateImportFile=Run Import Simulation -FieldNeedSource=This field requires data from the source file -SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file -InformationOnSourceFile=Information on source file -InformationOnTargetTables=Information on target fields -SelectAtLeastOneField=Switch at least one source field in the column of fields to export -SelectFormat=Choose this import file format -RunImportFile=Import Data -NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
    When the simulation reports no errors you may proceed to import the data into the database. -DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. -ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. -TooMuchErrors=There are still %s other source lines with errors but output has been limited. -TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. -EmptyLine=Empty line (will be discarded) -CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. -FileWasImported=File was imported with number %s. -YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. -NbOfLinesOK=Number of lines with no errors and no warnings: %s. -NbOfLinesImported=Number of lines successfully imported: %s. -DataComeFromNoWhere=Value to insert comes from nowhere in source file. -DataComeFromFileFieldNb=Value to insert comes from field number %s in source file. -DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). -DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. -DataIsInsertedInto=Data coming from source file will be inserted into the following field: -DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: -SourceRequired=Data value is mandatory -SourceExample=Example of possible data value -ExampleAnyRefFoundIntoElement=Any ref found for element %s -ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s -CSVFormatDesc=Comma Separated Value file format (.csv).
    This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. -Excel95FormatDesc=Excel file format (.xls)
    This is the native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
    This is the native Excel 2007 format (SpreadsheetML). -TsvFormatDesc=Tab Separated Value file format (.tsv)
    This is a text file format where fields are separated by a tabulator [tab]. -ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). -CsvOptions=CSV format options -Separator=Field Separator -Enclosure=String Delimiter -SpecialCode=Special code -ExportStringFilter=%% allows replacing one or more characters in the text -ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
    > YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
    < YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days -ExportNumericFilter=NNNNN filters by one value
    NNNNN+NNNNN filters over a range of values
    < NNNNN filters by lower values
    > NNNNN filters by higher values -ImportFromLine=Import starting from line number -EndAtLineNb=End at line number -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). -SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
    If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. -KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. -SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import -UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) -NoUpdateAttempt=No update attempt was performed, only insert -ImportDataset_user_1=Users (employees or not) and properties -ComputedField=Computed field -## filters -SelectFilterFields=If you want to filter on some values, just input values here. -FilteredFields=Filtered fields -FilteredFieldsValues=Value for filter -FormatControlRule=Format control rule -## imports updates -KeysToUseForUpdates=Key (column) to use for updating existing data -NbInsert=Number of inserted lines: %s -NbUpdate=Number of updated lines: %s -MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number diff --git a/htdocs/langs/ar_IQ/main.lang b/htdocs/langs/ar_IQ/main.lang index 13793aad13f..2e691473326 100644 --- a/htdocs/langs/ar_IQ/main.lang +++ b/htdocs/langs/ar_IQ/main.lang @@ -1,9 +1,5 @@ # Dolibarr language file - Source file is en_US - main DIRECTION=ltr -# Note for Chinese: -# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) -# stsongstdlight or cid0cs are for simplified Chinese -# To read Chinese pdf with Linux: sudo apt-get install poppler-data FONTFORPDF=helvetica FONTSIZEFORPDF=10 SeparatorDecimal=. @@ -23,1112 +19,3 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p -DatabaseConnection=Database connection -NoTemplateDefined=No template available for this email type -AvailableVariables=Available substitution variables -NoTranslation=No translation -Translation=Translation -CurrentTimeZone=TimeZone PHP (server) -EmptySearchString=Enter non empty search criterias -EnterADateCriteria=Enter a date criteria -NoRecordFound=No record found -NoRecordDeleted=No record deleted -NotEnoughDataYet=Not enough data -NoError=No error -Error=Error -Errors=Errors -ErrorFieldRequired=Field '%s' is required -ErrorFieldFormat=Field '%s' has a bad value -ErrorFileDoesNotExists=File %s does not exist -ErrorFailedToOpenFile=Failed to open file %s -ErrorCanNotCreateDir=Cannot create dir %s -ErrorCanNotReadDir=Cannot read dir %s -ErrorConstantNotDefined=Parameter %s not defined -ErrorUnknown=Unknown error -ErrorSQL=SQL Error -ErrorLogoFileNotFound=Logo file '%s' was not found -ErrorGoToGlobalSetup=Go to 'Company/Organization' setup to fix this -ErrorGoToModuleSetup=Go to Module setup to fix this -ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) -ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. -ErrorInternalErrorDetected=Error detected -ErrorWrongHostParameter=Wrong host parameter -ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post the form again. -ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child record. -ErrorWrongValue=Wrong value -ErrorWrongValueForParameterX=Wrong value for parameter %s -ErrorNoRequestInError=No request in error -ErrorServiceUnavailableTryLater=Service not available at the moment. Try again later. -ErrorDuplicateField=Duplicate value in a unique field -ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. Changes have been rolled back. -ErrorConfigParameterNotDefined=Parameter %s is not defined in the Dolibarr config file conf.php. -ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. -ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. -ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. -ErrorFailedToSaveFile=Error, failed to save file. -ErrorCannotAddThisParentWarehouse=You are trying to add a parent warehouse which is already a child of a existing warehouse -MaxNbOfRecordPerPage=Max. number of records per page -NotAuthorized=You are not authorized to do that. -SetDate=Set date -SelectDate=Select a date -SeeAlso=See also %s -SeeHere=See here -ClickHere=Click here -Here=Here -Apply=Apply -BackgroundColorByDefault=Default background color -FileRenamed=The file was successfully renamed -FileGenerated=The file was successfully generated -FileSaved=The file was successfully saved -FileUploaded=The file was successfully uploaded -FileTransferComplete=File(s) uploaded successfully -FilesDeleted=File(s) successfully deleted -FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. -NbOfEntries=No. of entries -GoToWikiHelpPage=Read online help (Internet access needed) -GoToHelpPage=Read help -DedicatedPageAvailable=There is a dedicated help page related to your current screen -HomePage=Home Page -RecordSaved=Record saved -RecordDeleted=Record deleted -RecordGenerated=Record generated -LevelOfFeature=Level of features -NotDefined=Not defined -DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is set to %s in configuration file conf.php.
    This means that the password database is external to Dolibarr, so changing this field may have no effect. -Administrator=Administrator -Undefined=Undefined -PasswordForgotten=Password forgotten? -NoAccount=No account? -SeeAbove=See above -HomeArea=Home -LastConnexion=Last login -PreviousConnexion=Previous login -PreviousValue=Previous value -ConnectedOnMultiCompany=Connected on environment -ConnectedSince=Connected since -AuthenticationMode=Authentication mode -RequestedUrl=Requested URL -DatabaseTypeManager=Database type manager -RequestLastAccessInError=Latest database access request error -ReturnCodeLastAccessInError=Return code for latest database access request error -InformationLastAccessInError=Information for latest database access request error -DolibarrHasDetectedError=Dolibarr has detected a technical error -YouCanSetOptionDolibarrMainProdToZero=You can read log file or set option $dolibarr_main_prod to '0' in your config file to get more information. -InformationToHelpDiagnose=This information can be useful for diagnostic purposes (you can set option $dolibarr_main_prod to '1' to remove such notices) -MoreInformation=More information -TechnicalInformation=Technical information -TechnicalID=Technical ID -LineID=Line ID -NotePublic=Note (public) -NotePrivate=Note (private) -PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. -DoTest=Test -ToFilter=Filter -NoFilter=No filter -WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance time. -yes=yes -Yes=Yes -no=no -No=No -All=All -Home=Home -Help=Help -OnlineHelp=Online help -PageWiki=Wiki page -MediaBrowser=Media browser -Always=Always -Never=Never -Under=under -Period=Period -PeriodEndDate=End date for period -SelectedPeriod=Selected period -PreviousPeriod=Previous period -Activate=Activate -Activated=Activated -Closed=Closed -Closed2=Closed -NotClosed=Not closed -Enabled=Enabled -Enable=Enable -Deprecated=Deprecated -Disable=Disable -Disabled=Disabled -Add=Add -AddLink=Add link -RemoveLink=Remove link -AddToDraft=Add to draft -Update=Update -Close=Close -CloseAs=Set status to -CloseBox=Remove widget from your dashboard -Confirm=Confirm -ConfirmSendCardByMail=Do you really want to send the content of this card by mail to %s? -Delete=Delete -Remove=Remove -Resiliate=Terminate -Cancel=Cancel -Modify=Modify -Edit=Edit -Validate=Validate -ValidateAndApprove=Validate and Approve -ToValidate=To validate -NotValidated=Not validated -Save=Save -SaveAs=Save As -SaveAndStay=Save and stay -SaveAndNew=Save and new -TestConnection=Test connection -ToClone=Clone -ConfirmCloneAsk=Are you sure you want to clone the object %s? -ConfirmClone=Choose the data you want to clone: -NoCloneOptionsSpecified=No data to clone defined. -Of=of -Go=Go -Run=Run -CopyOf=Copy of -Show=Show -Hide=Hide -ShowCardHere=Show card -Search=Search -SearchOf=Search -SearchMenuShortCut=Ctrl + shift + f -QuickAdd=Quick add -QuickAddMenuShortCut=Ctrl + shift + l -Valid=Valid -Approve=Approve -Disapprove=Disapprove -ReOpen=Re-Open -Upload=Upload -ToLink=Link -Select=Select -SelectAll=Select all -Choose=Choose -Resize=Resize -ResizeOrCrop=Resize or Crop -Recenter=Recenter -Author=Author -User=User -Users=Users -Group=Group -Groups=Groups -NoUserGroupDefined=No user group defined -Password=Password -PasswordRetype=Retype your password -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. -Name=Name -NameSlashCompany=Name / Company -Person=Person -Parameter=Parameter -Parameters=Parameters -Value=Value -PersonalValue=Personal value -NewObject=New %s -NewValue=New value -OldValue=Old value %s -CurrentValue=Current value -Code=Code -Type=Type -Language=Language -MultiLanguage=Multi-language -Note=Note -Title=Title -Label=Label -RefOrLabel=Ref. or label -Info=Log -Family=Family -Description=Description -Designation=Description -DescriptionOfLine=Description of line -DateOfLine=Date of line -DurationOfLine=Duration of line -Model=Doc template -DefaultModel=Default doc template -Action=Event -About=About -Number=Number -NumberByMonth=Total reports by month -AmountByMonth=Amount by month -Numero=Number -Limit=Limit -Limits=Limits -Logout=Logout -NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s -Connection=Login -Setup=Setup -Alert=Alert -MenuWarnings=Alerts -Previous=Previous -Next=Next -Cards=Cards -Card=Card -Now=Now -HourStart=Start hour -Deadline=Deadline -Date=Date -DateAndHour=Date and hour -DateToday=Today's date -DateReference=Reference date -DateStart=Start date -DateEnd=End date -DateCreation=Creation date -DateCreationShort=Creat. date -IPCreation=Creation IP -DateModification=Modification date -DateModificationShort=Modif. date -IPModification=Modification IP -DateLastModification=Latest modification date -DateValidation=Validation date -DateSigning=Signing date -DateClosing=Closing date -DateDue=Due date -DateValue=Value date -DateValueShort=Value date -DateOperation=Operation date -DateOperationShort=Oper. Date -DateLimit=Limit date -DateRequest=Request date -DateProcess=Process date -DateBuild=Report build date -DatePayment=Date of payment -DateApprove=Approving date -DateApprove2=Approving date (second approval) -RegistrationDate=Registration date -UserCreation=Creation user -UserModification=Modification user -UserValidation=Validation user -UserCreationShort=Creat. user -UserModificationShort=Modif. user -UserValidationShort=Valid. user -DurationYear=year -DurationMonth=month -DurationWeek=week -DurationDay=day -DurationYears=years -DurationMonths=months -DurationWeeks=weeks -DurationDays=days -Year=Year -Month=Month -Week=Week -WeekShort=Week -Day=Day -Hour=Hour -Minute=Minute -Second=Second -Years=Years -Months=Months -Days=Days -days=days -Hours=Hours -Minutes=Minutes -Seconds=Seconds -Weeks=Weeks -Today=Today -Yesterday=Yesterday -Tomorrow=Tomorrow -Morning=Morning -Afternoon=Afternoon -Quadri=Quadri -MonthOfDay=Month of the day -DaysOfWeek=Days of week -HourShort=H -MinuteShort=mn -Rate=Rate -CurrencyRate=Currency conversion rate -UseLocalTax=Include tax -Bytes=Bytes -KiloBytes=Kilobytes -MegaBytes=Megabytes -GigaBytes=Gigabytes -TeraBytes=Terabytes -UserAuthor=Ceated by -UserModif=Updated by -b=b. -Kb=Kb -Mb=Mb -Gb=Gb -Tb=Tb -Cut=Cut -Copy=Copy -Paste=Paste -Default=Default -DefaultValue=Default value -DefaultValues=Default values/filters/sorting -Price=Price -PriceCurrency=Price (currency) -UnitPrice=Unit price -UnitPriceHT=Unit price (excl.) -UnitPriceHTCurrency=Unit price (excl.) (currency) -UnitPriceTTC=Unit price -PriceU=U.P. -PriceUHT=U.P. (net) -PriceUHTCurrency=U.P (net) (currency) -PriceUTTC=U.P. (inc. tax) -Amount=Amount -AmountInvoice=Invoice amount -AmountInvoiced=Amount invoiced -AmountInvoicedHT=Amount invoiced (excl. tax) -AmountInvoicedTTC=Amount invoiced (inc. tax) -AmountPayment=Payment amount -AmountHTShort=Amount (excl.) -AmountTTCShort=Amount (inc. tax) -AmountHT=Amount (excl. tax) -AmountTTC=Amount (inc. tax) -AmountVAT=Amount tax -MulticurrencyAlreadyPaid=Already paid, original currency -MulticurrencyRemainderToPay=Remain to pay, original currency -MulticurrencyPaymentAmount=Payment amount, original currency -MulticurrencyAmountHT=Amount (excl. tax), original currency -MulticurrencyAmountTTC=Amount (inc. of tax), original currency -MulticurrencyAmountVAT=Amount tax, original currency -MulticurrencySubPrice=Amount sub price multi currency -AmountLT1=Amount tax 2 -AmountLT2=Amount tax 3 -AmountLT1ES=Amount RE -AmountLT2ES=Amount IRPF -AmountTotal=Total amount -AmountAverage=Average amount -PriceQtyMinHT=Price quantity min. (excl. tax) -PriceQtyMinHTCurrency=Price quantity min. (excl. tax) (currency) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent -Percentage=Percentage -Total=Total -SubTotal=Subtotal -TotalHTShort=Total (excl.) -TotalHT100Short=Total 100%% (excl.) -TotalHTShortCurrency=Total (excl. in currency) -TotalTTCShort=Total (inc. tax) -TotalHT=Total (excl. tax) -TotalHTforthispage=Total (excl. tax) for this page -Totalforthispage=Total for this page -TotalTTC=Total (inc. tax) -TotalTTCToYourCredit=Total (inc. tax) to your credit -TotalVAT=Total tax -TotalVATIN=Total IGST -TotalLT1=Total tax 2 -TotalLT2=Total tax 3 -TotalLT1ES=Total RE -TotalLT2ES=Total IRPF -TotalLT1IN=Total CGST -TotalLT2IN=Total SGST -HT=Excl. tax -TTC=Inc. tax -INCVATONLY=Inc. VAT -INCT=Inc. all taxes -VAT=Sales tax -VATIN=IGST -VATs=Sales taxes -VATINs=IGST taxes -LT1=Sales tax 2 -LT1Type=Sales tax 2 type -LT2=Sales tax 3 -LT2Type=Sales tax 3 type -LT1ES=RE -LT2ES=IRPF -LT1IN=CGST -LT2IN=SGST -LT1GC=Additionnal cents -VATRate=Tax Rate -VATCode=Tax Rate code -VATNPR=Tax Rate NPR -DefaultTaxRate=Default tax rate -Average=Average -Sum=Sum -Delta=Delta -StatusToPay=To pay -RemainToPay=Remain to pay -Module=Module/Application -Modules=Modules/Applications -Option=Option -Filters=Filters -List=List -FullList=Full list -FullConversation=Full conversation -Statistics=Statistics -OtherStatistics=Other statistics -Status=Status -Favorite=Favorite -ShortInfo=Info. -Ref=Ref. -ExternalRef=Ref. extern -RefSupplier=Ref. vendor -RefPayment=Ref. payment -CommercialProposalsShort=Commercial proposals -Comment=Comment -Comments=Comments -ActionsToDo=Events to do -ActionsToDoShort=To do -ActionsDoneShort=Done -ActionNotApplicable=Not applicable -ActionRunningNotStarted=To start -ActionRunningShort=In progress -ActionDoneShort=Finished -ActionUncomplete=Incomplete -LatestLinkedEvents=Latest %s linked events -CompanyFoundation=Company/Organization -Accountant=Accountant -ContactsForCompany=Contacts for this third party -ContactsAddressesForCompany=Contacts/addresses for this third party -AddressesForCompany=Addresses for this third party -ActionsOnCompany=Events for this third party -ActionsOnContact=Events for this contact/address -ActionsOnContract=Events for this contract -ActionsOnMember=Events about this member -ActionsOnProduct=Events about this product -NActionsLate=%s late -ToDo=To do -Completed=Completed -Running=In progress -RequestAlreadyDone=Request already recorded -Filter=Filter -FilterOnInto=Search criteria '%s' into fields %s -RemoveFilter=Remove filter -ChartGenerated=Chart generated -ChartNotGenerated=Chart not generated -GeneratedOn=Build on %s -Generate=Generate -Duration=Duration -TotalDuration=Total duration -Summary=Summary -DolibarrStateBoard=Database Statistics -DolibarrWorkBoard=Open Items -NoOpenedElementToProcess=No open element to process -Available=Available -NotYetAvailable=Not yet available -NotAvailable=Not available -Categories=Tags/categories -Category=Tag/category -By=By -From=From -FromDate=From -FromLocation=From -to=to -To=to -ToDate=to -ToLocation=to -at=at -and=and -or=or -Other=Other -Others=Others -OtherInformations=Other information -Quantity=Quantity -Qty=Qty -ChangedBy=Changed by -ApprovedBy=Approved by -ApprovedBy2=Approved by (second approval) -Approved=Approved -Refused=Refused -ReCalculate=Recalculate -ResultKo=Failure -Reporting=Reporting -Reportings=Reporting -Draft=Draft -Drafts=Drafts -StatusInterInvoiced=Invoiced -Validated=Validated -ValidatedToProduce=Validated (To produce) -Opened=Open -OpenAll=Open (All) -ClosedAll=Closed (All) -New=New -Discount=Discount -Unknown=Unknown -General=General -Size=Size -OriginalSize=Original size -Received=Received -Paid=Paid -Topic=Subject -ByCompanies=By third parties -ByUsers=By user -Links=Links -Link=Link -Rejects=Rejects -Preview=Preview -NextStep=Next step -Datas=Data -None=None -NoneF=None -NoneOrSeveral=None or several -Late=Late -LateDesc=An item is defined as Delayed as per the system configuration in menu Home - Setup - Alerts. -NoItemLate=No late item -Photo=Picture -Photos=Pictures -AddPhoto=Add picture -DeletePicture=Picture delete -ConfirmDeletePicture=Confirm picture deletion? -Login=Login -LoginEmail=Login (email) -LoginOrEmail=Login or Email -CurrentLogin=Current login -EnterLoginDetail=Enter login details -January=January -February=February -March=March -April=April -May=May -June=June -July=July -August=August -September=September -October=October -November=November -December=December -Month01=January -Month02=February -Month03=March -Month04=April -Month05=May -Month06=June -Month07=July -Month08=August -Month09=September -Month10=October -Month11=November -Month12=December -MonthShort01=Jan -MonthShort02=Feb -MonthShort03=Mar -MonthShort04=Apr -MonthShort05=May -MonthShort06=Jun -MonthShort07=Jul -MonthShort08=Aug -MonthShort09=Sep -MonthShort10=Oct -MonthShort11=Nov -MonthShort12=Dec -MonthVeryShort01=J -MonthVeryShort02=F -MonthVeryShort03=M -MonthVeryShort04=A -MonthVeryShort05=M -MonthVeryShort06=J -MonthVeryShort07=J -MonthVeryShort08=A -MonthVeryShort09=S -MonthVeryShort10=O -MonthVeryShort11=N -MonthVeryShort12=D -AttachedFiles=Attached files and documents -JoinMainDoc=Join main document -DateFormatYYYYMM=YYYY-MM -DateFormatYYYYMMDD=YYYY-MM-DD -DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS -ReportName=Report name -ReportPeriod=Report period -ReportDescription=Description -Report=Report -Keyword=Keyword -Origin=Origin -Legend=Legend -Fill=Fill -Reset=Reset -File=File -Files=Files -NotAllowed=Not allowed -ReadPermissionNotAllowed=Read permission not allowed -AmountInCurrency=Amount in %s currency -Example=Example -Examples=Examples -NoExample=No example -FindBug=Report a bug -NbOfThirdParties=Number of third parties -NbOfLines=Number of lines -NbOfObjects=Number of objects -NbOfObjectReferers=Number of related items -Referers=Related items -TotalQuantity=Total quantity -DateFromTo=From %s to %s -DateFrom=From %s -DateUntil=Until %s -Check=Check -Uncheck=Uncheck -Internal=Internal -External=External -Internals=Internal -Externals=External -Warning=Warning -Warnings=Warnings -BuildDoc=Build Doc -Entity=Environment -Entities=Entities -CustomerPreview=Customer preview -SupplierPreview=Vendor preview -ShowCustomerPreview=Show customer preview -ShowSupplierPreview=Show vendor preview -RefCustomer=Ref. customer -InternalRef=Internal ref. -Currency=Currency -InfoAdmin=Information for administrators -Undo=Undo -Redo=Redo -ExpandAll=Expand all -UndoExpandAll=Undo expand -SeeAll=See all -Reason=Reason -FeatureNotYetSupported=Feature not yet supported -CloseWindow=Close window -Response=Response -Priority=Priority -SendByMail=Send by email -MailSentBy=Email sent by -NotSent=Not sent -TextUsedInTheMessageBody=Email body -SendAcknowledgementByMail=Send confirmation email -SendMail=Send email -Email=Email -NoEMail=No email -AlreadyRead=Already read -NotRead=Unread -NoMobilePhone=No mobile phone -Owner=Owner -FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. -Refresh=Refresh -BackToList=Back to list -BackToTree=Back to tree -GoBack=Go back -CanBeModifiedIfOk=Can be modified if valid -CanBeModifiedIfKo=Can be modified if not valid -ValueIsValid=Value is valid -ValueIsNotValid=Value is not valid -RecordCreatedSuccessfully=Record created successfully -RecordModifiedSuccessfully=Record modified successfully -RecordsModified=%s record(s) modified -RecordsDeleted=%s record(s) deleted -RecordsGenerated=%s record(s) generated -AutomaticCode=Automatic code -FeatureDisabled=Feature disabled -MoveBox=Move widget -Offered=Offered -NotEnoughPermissions=You don't have permission for this action -SessionName=Session name -Method=Method -Receive=Receive -CompleteOrNoMoreReceptionExpected=Complete or nothing more expected -ExpectedValue=Expected Value -ExpectedQty=Expected Qty -PartialWoman=Partial -TotalWoman=Total -NeverReceived=Never received -Canceled=Canceled -YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries -YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s -YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record in module setup -Color=Color -Documents=Linked files -Documents2=Documents -UploadDisabled=Upload disabled -MenuAccountancy=Accounting -MenuECM=Documents -MenuAWStats=AWStats -MenuMembers=Members -MenuAgendaGoogle=Google agenda -MenuTaxesAndSpecialExpenses=Taxes | Special expenses -ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb -NoFileFound=No documents uploaded -CurrentUserLanguage=Current language -CurrentTheme=Current theme -CurrentMenuManager=Current menu manager -Browser=Browser -Layout=Layout -Screen=Screen -DisabledModules=Disabled modules -For=For -ForCustomer=For customer -Signature=Signature -DateOfSignature=Date of signature -HidePassword=Show command with password hidden -UnHidePassword=Show real command with clear password -Root=Root -RootOfMedias=Root of public medias (/medias) -Informations=Information -Page=Page -Notes=Notes -AddNewLine=Add new line -AddFile=Add file -FreeZone=Free-text product -FreeLineOfType=Free-text item, type: -CloneMainAttributes=Clone object with its main attributes -ReGeneratePDF=Re-generate PDF -PDFMerge=PDF Merge -Merge=Merge -DocumentModelStandardPDF=Standard PDF template -PrintContentArea=Show page to print main content area -MenuManager=Menu manager -WarningYouAreInMaintenanceMode=Warning, you are in maintenance mode: only login %s is allowed to use the application in this mode. -CoreErrorTitle=System error -CoreErrorMessage=Sorry, an error occurred. Contact your system administrator to check the logs or disable $dolibarr_main_prod=1 to get more information. -CreditCard=Credit card -ValidatePayment=Validate payment -CreditOrDebitCard=Credit or debit card -FieldsWithAreMandatory=Fields with %s are mandatory -FieldsWithIsForPublic=Fields with %s are shown in public list of members. If you don't want this, uncheck the "public" box. -AccordingToGeoIPDatabase=(according to GeoIP conversion) -Line=Line -NotSupported=Not supported -RequiredField=Required field -Result=Result -ToTest=Test -ValidateBefore=Item must be validated before using this feature -Visibility=Visibility -Totalizable=Totalizable -TotalizableDesc=This field is totalizable in list -Private=Private -Hidden=Hidden -Resources=Resources -Source=Source -Prefix=Prefix -Before=Before -After=After -IPAddress=IP address -Frequency=Frequency -IM=Instant messaging -NewAttribute=New attribute -AttributeCode=Attribute code -URLPhoto=URL of photo/logo -SetLinkToAnotherThirdParty=Link to another third party -LinkTo=Link to -LinkToProposal=Link to proposal -LinkToOrder=Link to order -LinkToInvoice=Link to invoice -LinkToTemplateInvoice=Link to template invoice -LinkToSupplierOrder=Link to purchase order -LinkToSupplierProposal=Link to vendor proposal -LinkToSupplierInvoice=Link to vendor invoice -LinkToContract=Link to contract -LinkToIntervention=Link to intervention -LinkToTicket=Link to ticket -CreateDraft=Create draft -SetToDraft=Back to draft -ClickToEdit=Click to edit -ClickToRefresh=Click to refresh -EditWithEditor=Edit with CKEditor -EditWithTextEditor=Edit with Text editor -EditHTMLSource=Edit HTML Source -ObjectDeleted=Object %s deleted -ByCountry=By country -ByTown=By town -ByDate=By date -ByMonthYear=By month/year -ByYear=By year -ByMonth=By month -ByDay=By day -BySalesRepresentative=By sales representative -LinkedToSpecificUsers=Linked to a particular user contact -NoResults=No results -AdminTools=Admin Tools -SystemTools=System tools -ModulesSystemTools=Modules tools -Test=Test -Element=Element -NoPhotoYet=No pictures available yet -Dashboard=Dashboard -MyDashboard=My Dashboard -Deductible=Deductible -from=from -toward=toward -Access=Access -SelectAction=Select action -SelectTargetUser=Select target user/employee -HelpCopyToClipboard=Use Ctrl+C to copy to clipboard -SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") -OriginFileName=Original filename -SetDemandReason=Set source -SetBankAccount=Define Bank Account -AccountCurrency=Account currency -ViewPrivateNote=View notes -XMoreLines=%s line(s) hidden -ShowMoreLines=Show more/less lines -PublicUrl=Public URL -AddBox=Add box -SelectElementAndClick=Select an element and click on %s -PrintFile=Print File %s -ShowTransaction=Show entry on bank account -ShowIntervention=Show intervention -ShowContract=Show contract -GoIntoSetupToChangeLogo=Go to Home - Setup - Company to change logo or go to Home - Setup - Display to hide. -Deny=Deny -Denied=Denied -ListOf=List of %s -ListOfTemplates=List of templates -Gender=Gender -Genderman=Male -Genderwoman=Female -Genderother=Other -ViewList=List view -ViewGantt=Gantt view -ViewKanban=Kanban view -Mandatory=Mandatory -Hello=Hello -GoodBye=GoodBye -Sincerely=Sincerely -ConfirmDeleteObject=Are you sure you want to delete this object? -DeleteLine=Delete line -ConfirmDeleteLine=Are you sure you want to delete this line? -ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. -NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record -TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records. -NoRecordSelected=No record selected -MassFilesArea=Area for files built by mass actions -ShowTempMassFilesArea=Show area of files built by mass actions -ConfirmMassDeletion=Bulk Delete confirmation -ConfirmMassDeletionQuestion=Are you sure you want to delete the %s selected record(s)? -RelatedObjects=Related Objects -ClassifyBilled=Classify billed -ClassifyUnbilled=Classify unbilled -Progress=Progress -ProgressShort=Progr. -FrontOffice=Front office -BackOffice=Back office -Submit=Submit -View=View -Export=Export -Exports=Exports -ExportFilteredList=Export filtered list -ExportList=Export list -ExportOptions=Export Options -IncludeDocsAlreadyExported=Include docs already exported -ExportOfPiecesAlreadyExportedIsEnable=Export of pieces already exported is enable -ExportOfPiecesAlreadyExportedIsDisable=Export of pieces already exported is disable -AllExportedMovementsWereRecordedAsExported=All exported movements were recorded as exported -NotAllExportedMovementsCouldBeRecordedAsExported=Not all exported movements could be recorded as exported -Miscellaneous=Miscellaneous -Calendar=Calendar -GroupBy=Group by... -ViewFlatList=View flat list -ViewAccountList=View ledger -ViewSubAccountList=View subaccount ledger -RemoveString=Remove string '%s' -SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at https://transifex.com/projects/p/dolibarr/ to add your improvements. -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file -Download=Download -DownloadDocument=Download document -ActualizeCurrency=Update currency rate -Fiscalyear=Fiscal year -ModuleBuilder=Module and Application Builder -SetMultiCurrencyCode=Set currency -BulkActions=Bulk actions -ClickToShowHelp=Click to show tooltip help -WebSite=Website -WebSites=Websites -WebSiteAccounts=Website accounts -ExpenseReport=Expense report -ExpenseReports=Expense reports -HR=HR -HRAndBank=HR and Bank -AutomaticallyCalculated=Automatically calculated -TitleSetToDraft=Go back to draft -ConfirmSetToDraft=Are you sure you want to go back to Draft status? -ImportId=Import id -Events=Events -EMailTemplates=Email templates -FileNotShared=File not shared to external public -Project=Project -Projects=Projects -LeadOrProject=Lead | Project -LeadsOrProjects=Leads | Projects -Lead=Lead -Leads=Leads -ListOpenLeads=List open leads -ListOpenProjects=List open projects -NewLeadOrProject=New lead or project -Rights=Permissions -LineNb=Line no. -IncotermLabel=Incoterms -TabLetteringCustomer=Customer lettering -TabLetteringSupplier=Vendor lettering -Monday=Monday -Tuesday=Tuesday -Wednesday=Wednesday -Thursday=Thursday -Friday=Friday -Saturday=Saturday -Sunday=Sunday -MondayMin=Mo -TuesdayMin=Tu -WednesdayMin=We -ThursdayMin=Th -FridayMin=Fr -SaturdayMin=Sa -SundayMin=Su -Day1=Monday -Day2=Tuesday -Day3=Wednesday -Day4=Thursday -Day5=Friday -Day6=Saturday -Day0=Sunday -ShortMonday=M -ShortTuesday=T -ShortWednesday=W -ShortThursday=T -ShortFriday=F -ShortSaturday=S -ShortSunday=S -one=one -two=two -three=three -four=four -five=five -six=six -seven=seven -eight=eight -nine=nine -ten=ten -eleven=eleven -twelve=twelve -thirteen=thirdteen -fourteen=fourteen -fifteen=fifteen -sixteen=sixteen -seventeen=seventeen -eighteen=eighteen -nineteen=nineteen -twenty=twenty -thirty=thirty -forty=forty -fifty=fifty -sixty=sixty -seventy=seventy -eighty=eighty -ninety=ninety -hundred=hundred -thousand=thousand -million=million -billion=billion -trillion=trillion -quadrillion=quadrillion -SelectMailModel=Select an email template -SetRef=Set ref -Select2ResultFoundUseArrows=Some results found. Use arrows to select. -Select2NotFound=No result found -Select2Enter=Enter -Select2MoreCharacter=or more character -Select2MoreCharacters=or more characters -Select2MoreCharactersMore=Search syntax:
    | OR (a|b)
    * Any character (a*b)
    ^ Start with (^ab)
    $ End with (ab$)
    -Select2LoadingMoreResults=Loading more results... -Select2SearchInProgress=Search in progress... -SearchIntoThirdparties=Third parties -SearchIntoContacts=Contacts -SearchIntoMembers=Members -SearchIntoUsers=Users -SearchIntoProductsOrServices=Products or services -SearchIntoBatch=Lots / Serials -SearchIntoProjects=Projects -SearchIntoMO=Manufacturing Orders -SearchIntoTasks=Tasks -SearchIntoCustomerInvoices=Customer invoices -SearchIntoSupplierInvoices=Vendor invoices -SearchIntoCustomerOrders=Sales orders -SearchIntoSupplierOrders=Purchase orders -SearchIntoCustomerProposals=Commercial proposals -SearchIntoSupplierProposals=Vendor proposals -SearchIntoInterventions=Interventions -SearchIntoContracts=Contracts -SearchIntoCustomerShipments=Customer shipments -SearchIntoExpenseReports=Expense reports -SearchIntoLeaves=Leave -SearchIntoTickets=Tickets -SearchIntoCustomerPayments=Customer payments -SearchIntoVendorPayments=Vendor payments -SearchIntoMiscPayments=Miscellaneous payments -CommentLink=Comments -NbComments=Number of comments -CommentPage=Comments space -CommentAdded=Comment added -CommentDeleted=Comment deleted -Everybody=Everybody -PayedBy=Paid by -PayedTo=Paid to -Monthly=Monthly -Quarterly=Quarterly -Annual=Annual -Local=Local -Remote=Remote -LocalAndRemote=Local and Remote -KeyboardShortcut=Keyboard shortcut -AssignedTo=Assigned to -Deletedraft=Delete draft -ConfirmMassDraftDeletion=Draft mass delete confirmation -FileSharedViaALink=File shared with a public link -SelectAThirdPartyFirst=Select a third party first... -YouAreCurrentlyInSandboxMode=You are currently in the %s "sandbox" mode -Inventory=Inventory -AnalyticCode=Analytic code -TMenuMRP=MRP -ShowCompanyInfos=Show company infos -ShowMoreInfos=Show More Infos -NoFilesUploadedYet=Please upload a document first -SeePrivateNote=See private note -PaymentInformation=Payment information -ValidFrom=Valid from -ValidUntil=Valid until -NoRecordedUsers=No users -ToClose=To close -ToProcess=To process -ToApprove=To approve -GlobalOpenedElemView=Global view -NoArticlesFoundForTheKeyword=No article found for the keyword '%s' -NoArticlesFoundForTheCategory=No article found for the category -ToAcceptRefuse=To accept | refuse -ContactDefault_agenda=Event -ContactDefault_commande=Order -ContactDefault_contrat=Contract -ContactDefault_facture=Invoice -ContactDefault_fichinter=Intervention -ContactDefault_invoice_supplier=Supplier Invoice -ContactDefault_order_supplier=Purchase Order -ContactDefault_project=Project -ContactDefault_project_task=Task -ContactDefault_propal=Proposal -ContactDefault_supplier_proposal=Supplier Proposal -ContactDefault_ticket=Ticket -ContactAddedAutomatically=Contact added from contact thirdparty roles -More=More -ShowDetails=Show details -CustomReports=Custom reports -StatisticsOn=Statistics on -SelectYourGraphOptionsFirst=Select your graph options to build a graph -Measures=Measures -XAxis=X-Axis -YAxis=Y-Axis -StatusOfRefMustBe=Status of %s must be %s -DeleteFileHeader=Confirm file delete -DeleteFileText=Do you really want delete this file? -ShowOtherLanguages=Show other languages -SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language -NotUsedForThisCustomer=Not used for this customer -AmountMustBePositive=Amount must be positive -ByStatus=By status -InformationMessage=Information -Used=Used -ASAP=As Soon As Possible -CREATEInDolibarr=Record %s created -MODIFYInDolibarr=Record %s modified -DELETEInDolibarr=Record %s deleted -VALIDATEInDolibarr=Record %s validated -APPROVEDInDolibarr=Record %s approved -DefaultMailModel=Default Mail Model -PublicVendorName=Public name of vendor -DateOfBirth=Date of birth -SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. -UpToDate=Up-to-date -OutOfDate=Out-of-date -EventReminder=Event Reminder -UpdateForAllLines=Update for all lines -OnHold=On hold -Civility=Civility -AffectTag=Affect Tag -ConfirmAffectTag=Bulk Tag Affect -ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? -CategTypeNotFound=No tag type found for type of records -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel diff --git a/htdocs/langs/ar_IQ/margins.lang b/htdocs/langs/ar_IQ/margins.lang index ad5406409b4..ec02ad138e3 100644 --- a/htdocs/langs/ar_IQ/margins.lang +++ b/htdocs/langs/ar_IQ/margins.lang @@ -1,45 +1,2 @@ -# Dolibarr language file - Source file is en_US - marges - -Margin=Margin -Margins=Margins -TotalMargin=Total Margin -MarginOnProducts=Margin / Products -MarginOnServices=Margin / Services -MarginRate=Margin rate -MarkRate=Mark rate -DisplayMarginRates=Display margin rates -DisplayMarkRates=Display mark rates -InputPrice=Input price -margin=Profit margins management -margesSetup=Profit margins management setup -MarginDetails=Margin details -ProductMargins=Product margins -CustomerMargins=Customer margins -SalesRepresentativeMargins=Sales representative margins -ContactOfInvoice=Contact of invoice -UserMargins=User margins -ProductService=Product or Service -AllProducts=All products and services -ChooseProduct/Service=Choose product or service -ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined +# Dolibarr language file - Source file is en_US - margins ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). -MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts -UseDiscountAsProduct=As a product -UseDiscountAsService=As a service -UseDiscountOnTotal=On subtotal -MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. -MARGIN_TYPE=Buying/Cost price suggested by default for margin calculation -MargeType1=Margin on Best vendor price -MargeType2=Margin on Weighted Average Price (WAP) -MargeType3=Margin on Cost Price -MarginTypeDesc=* Margin on best buying price = Selling price - Best vendor price defined on product card
    * Margin on Weighted Average Price (WAP) = Selling price - Product Weighted Average Price (WAP) or best vendor price if WAP not yet defined
    * Margin on Cost price = Selling price - Cost price defined on product card or WAP if cost price not defined, or best vendor price if WAP not yet defined -CostPrice=Cost price -UnitCharges=Unit charges -Charges=Charges -AgentContactType=Commercial agent contact type -AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices. -rateMustBeNumeric=Rate must be a numeric value -markRateShouldBeLesserThan100=Mark rate should be lower than 100 -ShowMarginInfos=Show margin infos -CheckMargins=Margins detail -MarginPerSaleRepresentativeWarning=The report of margin per user use the link between third parties and sale representatives to calculate the margin of each sale representative. Because some thirdparties may not have any dedicated sale representative and some third parties may be linked to several, some amounts may not be included into this report (if there is no sale representative) and some may appear on different lines (for each sale representative). diff --git a/htdocs/langs/ar_IQ/members.lang b/htdocs/langs/ar_IQ/members.lang index 042b85598c0..45f5a38babe 100644 --- a/htdocs/langs/ar_IQ/members.lang +++ b/htdocs/langs/ar_IQ/members.lang @@ -1,215 +1,25 @@ # Dolibarr language file - Source file is en_US - members -MembersArea=Members area -MemberCard=Member card -SubscriptionCard=Subscription card -Member=Member -Members=Members -ShowMember=Show member card -UserNotLinkedToMember=User not linked to a member -ThirdpartyNotLinkedToMember=Third party not linked to a member MembersTickets=Members Tickets -FundationMembers=Foundation members -ListOfValidatedPublicMembers=List of validated public members -ErrorThisMemberIsNotPublic=This member is not public -ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). -ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. -SetLinkToUser=Link to a Dolibarr user -SetLinkToThirdParty=Link to a Dolibarr third party -MembersCards=Business cards for members -MembersList=List of members -MembersListToValid=List of draft members (to be validated) -MembersListValid=List of valid members -MembersListUpToDate=List of valid members with up-to-date subscription -MembersListNotUpToDate=List of valid members with out-of-date subscription -MembersListExcluded=List of excluded members -MembersListResiliated=List of terminated members -MembersListQualified=List of qualified members -MenuMembersToValidate=Draft members -MenuMembersValidated=Validated members -MenuMembersExcluded=Excluded members -MenuMembersResiliated=Terminated members MembersWithSubscriptionToReceive=Members with subscription to receive -MembersWithSubscriptionToReceiveShort=Subscription to receive DateSubscription=Subscription date DateEndSubscription=Subscription end date -EndSubscription=Subscription Ends SubscriptionId=Subscription id -WithoutSubscription=Without subscription -MemberId=Member id -NewMember=New member -MemberType=Member type -MemberTypeId=Member type id -MemberTypeLabel=Member type label -MembersTypes=Members types -MemberStatusDraft=Draft (needs to be validated) -MemberStatusDraftShort=Draft MemberStatusActive=Validated (waiting subscription) -MemberStatusActiveShort=Validated -MemberStatusActiveLate=Subscription expired -MemberStatusActiveLateShort=Expired -MemberStatusPaid=Subscription up to date -MemberStatusPaidShort=Up to date -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded -MemberStatusResiliated=Terminated member -MemberStatusResiliatedShort=Terminated -MembersStatusToValid=Draft members -MembersStatusExcluded=Excluded members -MembersStatusResiliated=Terminated members -MemberStatusNoSubscription=Validated (no subscription needed) -MemberStatusNoSubscriptionShort=Validated -SubscriptionNotNeeded=No subscription needed -NewCotisation=New contribution -PaymentSubscription=New contribution payment -SubscriptionEndDate=Subscription's end date -MembersTypeSetup=Members type setup -MemberTypeModified=Member type modified -DeleteAMemberType=Delete a member type -ConfirmDeleteMemberType=Are you sure you want to delete this member type? -MemberTypeDeleted=Member type deleted -MemberTypeCanNotBeDeleted=Member type can not be deleted NewSubscription=New subscription -NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. Subscription=Subscription Subscriptions=Subscriptions -SubscriptionLate=Late SubscriptionNotReceived=Subscription never received ListOfSubscriptions=List of subscriptions -SendCardByMail=Send card by email -AddMember=Create member -NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" -NewMemberType=New member type -WelcomeEMail=Welcome email SubscriptionRequired=Subscription required -DeleteType=Delete -VoteAllowed=Vote allowed -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? -ResiliateMember=Terminate a member -ConfirmResiliateMember=Are you sure you want to terminate this member? -DeleteMember=Delete a member -ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? -DeleteSubscription=Delete a subscription -ConfirmDeleteSubscription=Are you sure you want to delete this subscription? -Filehtpasswd=htpasswd file -ValidateMember=Validate a member -ConfirmValidateMember=Are you sure you want to validate this member? -FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. -PublicMemberList=Public member list -BlankSubscriptionForm=Public self-subscription form -BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. -EnablePublicSubscriptionForm=Enable the public website with self-subscription form -ForceMemberType=Force the member type ExportDataset_member_1=Members and subscriptions -ImportDataset_member_1=Members -LastMembersModified=Latest %s modified members -LastSubscriptionsModified=Latest %s modified subscriptions -String=String -Text=Text -Int=Int -DateAndTime=Date and time -PublicMemberCard=Member public card -SubscriptionNotRecorded=Subscription not recorded AddSubscription=Create subscription ShowSubscription=Show subscription -# Label of email templates -SendingAnEMailToMember=Sending information email to member -SendingEmailOnAutoSubscription=Sending email on auto registration -SendingEmailOnMemberValidation=Sending email on new member validation -SendingEmailOnNewSubscription=Sending email on new subscription -SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions -SendingEmailOnCancelation=Sending email on cancelation -SendingReminderActionComm=Sending reminder for agenda event -# Topic of email templates -YourMembershipRequestWasReceived=Your membership was received. -YourMembershipWasValidated=Your membership was validated -YourSubscriptionWasRecorded=Your new subscription was recorded -SubscriptionReminderEmail=Subscription reminder -YourMembershipWasCanceled=Your membership was canceled -CardContent=Content of your member card -# Text of email templates -ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.

    -ThisIsContentOfYourMembershipWasValidated=We want to let you know that your membership was validated with the following information:

    -ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.

    -ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.

    -ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

    -DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest -DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription -DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation -DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording -DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire -DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion -DescADHERENT_MAIL_FROM=Sender Email for automatic emails -DescADHERENT_ETIQUETTE_TYPE=Format of labels page -DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets -DescADHERENT_CARD_TYPE=Format of cards page -DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards -DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) -DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) -DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards -ShowTypeCard=Show type '%s' -HTPasswordExport=htpassword file generation NoThirdPartyAssociatedToMember=No third party associated to this member -MembersAndSubscriptions= Members and Subscriptions -MoreActions=Complementary action on recording +MembersAndSubscriptions=Members and Subscriptions MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription -MoreActionBankDirect=Create a direct entry on bank account -MoreActionBankViaInvoice=Create an invoice, and a payment on bank account -MoreActionInvoiceOnly=Create an invoice with no payment -LinkToGeneratedPages=Generate visit cards -LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. -DocForAllMembersCards=Generate business cards for all members -DocForOneMemberCards=Generate business cards for a particular member -DocForLabels=Generate address sheets SubscriptionPayment=Subscription payment -LastSubscriptionDate=Date of latest subscription payment -LastSubscriptionAmount=Amount of latest subscription -LastMemberType=Last Member type -MembersStatisticsByCountries=Members statistics by country -MembersStatisticsByState=Members statistics by state/province -MembersStatisticsByTown=Members statistics by town -MembersStatisticsByRegion=Members statistics by region -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members -NoValidatedMemberYet=No validated members found -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. -MembersStatisticsDesc=Choose statistics you want to read... -MenuMembersStats=Statistics -LastMemberDate=Latest membership date -LatestSubscriptionDate=Latest subscription date -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public -NewMemberbyWeb=New member added. Awaiting approval -NewMemberForm=New member form -SubscriptionsStatistics=Subscriptions statistics NbOfSubscriptions=Number of subscriptions -AmountOfSubscriptions=Amount collected from subscriptions -TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) DefaultAmount=Default amount of subscription CanEditAmount=Visitor can choose/edit amount of its subscription -MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page -ByProperties=By nature -MembersStatisticsByProperties=Members statistics by nature VATToUseForSubscriptions=VAT rate to use for subscriptions -NoVatOnSubscription=No VAT for subscriptions ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s -NameOrCompany=Name or company -SubscriptionRecorded=Subscription recorded -NoEmailSentToMember=No email sent to member -EmailSentToMember=Email sent to member at %s -SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription -SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') -MembershipPaid=Membership paid for current period (until %s) -YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email -XMembersClosed=%s member(s) closed diff --git a/htdocs/langs/ar_IQ/orders.lang b/htdocs/langs/ar_IQ/orders.lang index 87d196eb22f..90fedaf49f7 100644 --- a/htdocs/langs/ar_IQ/orders.lang +++ b/htdocs/langs/ar_IQ/orders.lang @@ -1,191 +1,2 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Customers orders area -SuppliersOrdersArea=Purchase orders area -OrderCard=Order card -OrderId=Order Id -Order=Order -PdfOrderTitle=Order -Orders=Orders -OrderLine=Order line -OrderDate=Order date -OrderDateShort=Order date -OrderToProcess=Order to process -NewOrder=New order -NewOrderSupplier=New Purchase Order -ToOrder=Make order -MakeOrder=Make order -SupplierOrder=Purchase order -SuppliersOrders=Purchase orders SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines -SuppliersOrdersRunning=Current purchase orders -CustomerOrder=Sales Order -CustomersOrders=Sales Orders -CustomersOrdersRunning=Current sales orders -CustomersOrdersAndOrdersLines=Sales orders and order details -OrdersDeliveredToBill=Sales orders delivered to bill -OrdersToBill=Sales orders delivered -OrdersInProcess=Sales orders in process -OrdersToProcess=Sales orders to process -SuppliersOrdersToProcess=Purchase orders to process -SuppliersOrdersAwaitingReception=Purchase orders awaiting reception -AwaitingReception=Awaiting reception -StatusOrderCanceledShort=Canceled -StatusOrderDraftShort=Draft -StatusOrderValidatedShort=Validated -StatusOrderSentShort=In process -StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Ordered -StatusOrderProcessedShort=Processed -StatusOrderDelivered=Delivered -StatusOrderDeliveredShort=Delivered -StatusOrderToBillShort=Delivered -StatusOrderApprovedShort=Approved -StatusOrderRefusedShort=Refused -StatusOrderToProcessShort=To process -StatusOrderReceivedPartiallyShort=Partially received -StatusOrderReceivedAllShort=Products received -StatusOrderCanceled=Canceled -StatusOrderDraft=Draft (needs to be validated) -StatusOrderValidated=Validated -StatusOrderOnProcess=Ordered - Standby reception -StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation -StatusOrderProcessed=Processed -StatusOrderToBill=Delivered -StatusOrderApproved=Approved -StatusOrderRefused=Refused -StatusOrderReceivedPartially=Partially received -StatusOrderReceivedAll=All products received -ShippingExist=A shipment exists -QtyOrdered=Qty ordered -ProductQtyInDraft=Product quantity into draft orders -ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered -MenuOrdersToBill=Orders delivered -MenuOrdersToBill2=Billable orders -ShipProduct=Ship product -CreateOrder=Create Order -RefuseOrder=Refuse order -ApproveOrder=Approve order -Approve2Order=Approve order (second level) -ValidateOrder=Validate order -UnvalidateOrder=Unvalidate order -DeleteOrder=Delete order -CancelOrder=Cancel order -OrderReopened= Order %s re-open -AddOrder=Create order -AddPurchaseOrder=Create purchase order -AddToDraftOrders=Add to draft order -ShowOrder=Show order -OrdersOpened=Orders to process -NoDraftOrders=No draft orders -NoOrder=No order -NoSupplierOrder=No purchase order -LastOrders=Latest %s sales orders -LastCustomerOrders=Latest %s sales orders -LastSupplierOrders=Latest %s purchase orders -LastModifiedOrders=Latest %s modified orders -AllOrders=All orders -NbOfOrders=Number of orders -OrdersStatistics=Order's statistics -OrdersStatisticsSuppliers=Purchase order statistics -NumberOfOrdersByMonth=Number of orders by month -AmountOfOrdersByMonthHT=Amount of orders by month (excl. tax) -ListOfOrders=List of orders -CloseOrder=Close order -ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. -ConfirmDeleteOrder=Are you sure you want to delete this order? -ConfirmValidateOrder=Are you sure you want to validate this order under name %s? -ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status? -ConfirmCancelOrder=Are you sure you want to cancel this order? -ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s? -GenerateBill=Generate invoice -ClassifyShipped=Classify delivered -DraftOrders=Draft orders -DraftSuppliersOrders=Draft purchase orders -OnProcessOrders=In process orders -RefOrder=Ref. order -RefCustomerOrder=Ref. order for customer -RefOrderSupplier=Ref. order for vendor -RefOrderSupplierShort=Ref. order vendor -SendOrderByMail=Send order by mail -ActionsOnOrder=Events on order -NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order -OrderMode=Order method -AuthorRequest=Request author -UserWithApproveOrderGrant=Users granted with "approve orders" permission. -PaymentOrderRef=Payment of order %s -ConfirmCloneOrder=Are you sure you want to clone this order %s? -DispatchSupplierOrder=Receiving purchase order %s -FirstApprovalAlreadyDone=First approval already done -SecondApprovalAlreadyDone=Second approval already done -SupplierOrderReceivedInDolibarr=Purchase Order %s received %s -SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted -SupplierOrderClassifiedBilled=Purchase Order %s set billed -OtherOrders=Other orders -##### Types de contacts ##### -TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order -TypeContact_commande_internal_SHIPPING=Representative following-up shipping -TypeContact_commande_external_BILLING=Customer invoice contact -TypeContact_commande_external_SHIPPING=Customer shipping contact -TypeContact_commande_external_CUSTOMER=Customer contact following-up order -TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up purchase order -TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping -TypeContact_order_supplier_external_BILLING=Vendor invoice contact -TypeContact_order_supplier_external_SHIPPING=Vendor shipping contact -TypeContact_order_supplier_external_CUSTOMER=Vendor contact following-up order -Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined -Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined -Error_OrderNotChecked=No orders to invoice selected -# Order modes (how we receive order). Not the "why" are keys stored into dict.lang -OrderByMail=Mail -OrderByFax=Fax -OrderByEMail=Email -OrderByWWW=Online -OrderByPhone=Phone -# Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) -PDFEratostheneDescription=A complete order model -PDFEdisonDescription=A simple order model -PDFProformaDescription=A complete Proforma invoice template -CreateInvoiceForThisCustomer=Bill orders -CreateInvoiceForThisSupplier=Bill orders -NoOrdersToInvoice=No orders billable -CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. -OrderCreation=Order creation -Ordered=Ordered -OrderCreated=Your orders have been created -OrderFail=An error happened during your orders creation -CreateOrders=Create orders -ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". -OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. -IfValidateInvoiceIsNoOrderStayUnbilled=If invoice validation is 'No', the order will remain to status 'Unbilled' until the invoice is validated. -CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. -SetShippingMode=Set shipping mode -WithReceptionFinished=With reception finished -#### supplier orders status -StatusSupplierOrderCanceledShort=Canceled -StatusSupplierOrderDraftShort=Draft -StatusSupplierOrderValidatedShort=Validated -StatusSupplierOrderSentShort=In process -StatusSupplierOrderSent=Shipment in process -StatusSupplierOrderOnProcessShort=Ordered -StatusSupplierOrderProcessedShort=Processed -StatusSupplierOrderDelivered=Delivered -StatusSupplierOrderDeliveredShort=Delivered -StatusSupplierOrderToBillShort=Delivered -StatusSupplierOrderApprovedShort=Approved -StatusSupplierOrderRefusedShort=Refused -StatusSupplierOrderToProcessShort=To process -StatusSupplierOrderReceivedPartiallyShort=Partially received -StatusSupplierOrderReceivedAllShort=Products received -StatusSupplierOrderCanceled=Canceled -StatusSupplierOrderDraft=Draft (needs to be validated) -StatusSupplierOrderValidated=Validated -StatusSupplierOrderOnProcess=Ordered - Standby reception -StatusSupplierOrderOnProcessWithValidation=Ordered - Standby reception or validation -StatusSupplierOrderProcessed=Processed -StatusSupplierOrderToBill=Delivered -StatusSupplierOrderApproved=Approved -StatusSupplierOrderRefused=Refused -StatusSupplierOrderReceivedPartially=Partially received -StatusSupplierOrderReceivedAll=All products received diff --git a/htdocs/langs/ar_IQ/partnership.lang b/htdocs/langs/ar_IQ/partnership.lang deleted file mode 100644 index 09059995a8d..00000000000 --- a/htdocs/langs/ar_IQ/partnership.lang +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (C) 2021 NextGestion -# -# 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 . - -# -# Generic -# -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management - -# -# Menu -# -NewPartnership = New Partnership -ListOfPartnerships = List of partnership - -# -# Admin page -# -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - - -# -# Object -# -DatePartnershipStart=Start date -DatePartnershipEnd=End date - -# -# Template Mail -# - - -# -# Status -# -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - -PartnershipManagedFor=Partners are diff --git a/htdocs/langs/ar_IQ/printing.lang b/htdocs/langs/ar_IQ/printing.lang index 16494583550..55eee521013 100644 --- a/htdocs/langs/ar_IQ/printing.lang +++ b/htdocs/langs/ar_IQ/printing.lang @@ -5,50 +5,3 @@ PrintingSetup=Setup of Direct Printing System PrintingDesc=This module adds a Print button to various modules to allow documents to be printed directly to a printer without needing to open the document in another application. MenuDirectPrinting=Direct Printing jobs DirectPrint=Direct print -PrintingDriverDesc=Configuration variables for printing driver. -ListDrivers=List of drivers -PrintTestDesc=List of Printers. -FileWasSentToPrinter=File %s was sent to printer -ViaModule=via the module -NoActivePrintingModuleFound=No active driver to print document. Check setup of module %s. -PleaseSelectaDriverfromList=Please select a driver from list. -PleaseConfigureDriverfromList=Please configure the selected driver from list. -SetupDriver=Driver setup -TargetedPrinter=Targeted printer -UserConf=Setup per user -PRINTGCP_INFO=Google OAuth API setup -PRINTGCP_AUTHLINK=Authentication -PRINTGCP_TOKEN_ACCESS=Google Cloud Print OAuth Token -PrintGCPDesc=This driver allows sending documents directly to a printer using Google Cloud Print. -GCP_Name=Name -GCP_displayName=Display Name -GCP_Id=Printer Id -GCP_OwnerName=Owner Name -GCP_State=Printer State -GCP_connectionStatus=Online State -GCP_Type=Printer Type -PrintIPPDesc=This driver allows sending of documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_HOST=Print server -PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer -Printer=Printer -IPP_Uri=Printer Uri -IPP_Name=Printer Name -IPP_State=Printer State -IPP_State_reason=State reason -IPP_State_reason1=State reason1 -IPP_BW=BW -IPP_Color=Color -IPP_Device=Device -IPP_Media=Printer media -IPP_Supported=Type of media -DirectPrintingJobsDesc=This page lists printing jobs found for available printers. -GoogleAuthNotConfigured=Google OAuth has not been setup. Enable module OAuth and set a Google ID/Secret. -GoogleAuthConfigured=Google OAuth credentials were found into setup of module OAuth. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintingDriverDescprintipp=Configuration variables for printing driver Cups. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. -PrintTestDescprintipp=List of Printers for Cups. diff --git a/htdocs/langs/ar_IQ/sendings.lang b/htdocs/langs/ar_IQ/sendings.lang index b94891d79c5..47082ac4ba4 100644 --- a/htdocs/langs/ar_IQ/sendings.lang +++ b/htdocs/langs/ar_IQ/sendings.lang @@ -1,76 +1,2 @@ # Dolibarr language file - Source file is en_US - sendings -RefSending=Ref. shipment -Sending=Shipment -Sendings=Shipments -AllSendings=All Shipments -Shipment=Shipment -Shipments=Shipments -ShowSending=Show Shipments -Receivings=Delivery Receipts -SendingsArea=Shipments area -ListOfSendings=List of shipments -SendingMethod=Shipping method -LastSendings=Latest %s shipments -StatisticsOfSendings=Statistics for shipments -NbOfSendings=Number of shipments -NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipment card -NewSending=New shipment -CreateShipment=Create shipment -QtyShipped=Qty shipped -QtyShippedShort=Qty ship. -QtyPreparedOrShipped=Qty prepared or shipped -QtyToShip=Qty to ship -QtyToReceive=Qty to receive -QtyReceived=Qty received -QtyInOtherShipments=Qty in other shipments -KeepToShip=Remain to ship -KeepToShipShort=Remain -OtherSendingsForSameOrder=Other shipments for this order -SendingsAndReceivingForSameOrder=Shipments and receipts for this order -SendingsToValidate=Shipments to validate -StatusSendingCanceled=Canceled -StatusSendingCanceledShort=Canceled -StatusSendingDraft=Draft -StatusSendingValidated=Validated (products to ship or already shipped) -StatusSendingProcessed=Processed -StatusSendingDraftShort=Draft -StatusSendingValidatedShort=Validated -StatusSendingProcessedShort=Processed -SendingSheet=Shipment sheet -ConfirmDeleteSending=Are you sure you want to delete this shipment? -ConfirmValidateSending=Are you sure you want to validate this shipment with reference %s? -ConfirmCancelSending=Are you sure you want to cancel this shipment? -DocumentModelMerou=Merou A5 model -WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) -DateDeliveryPlanned=Planned date of delivery -RefDeliveryReceipt=Ref delivery receipt -StatusReceipt=Status delivery receipt -DateReceived=Date delivery received -ClassifyReception=Classify reception -SendShippingByEMail=Send shipment by email -SendShippingRef=Submission of shipment %s -ActionsOnShipping=Events on shipment -LinkToTrackYourPackage=Link to track your package ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -ShipmentLine=Shipment line -ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders -ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders -ProductQtyInShipmentAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from open purchase orders already received -NoProductToShipFoundIntoStock=No product to ship found in warehouse %s. Correct stock or go back to choose another warehouse. -WeightVolShort=Weight/Vol. -ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments. - -# Sending methods -# ModelDocument -DocumentModelTyphon=More complete document model for delivery receipts (logo...) -DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) -Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined -SumOfProductVolumes=Sum of product volumes -SumOfProductWeights=Sum of product weights - -# warehouse details -DetailWarehouseNumber= Warehouse details -DetailWarehouseFormat= W:%s (Qty: %d) diff --git a/htdocs/langs/ar_IQ/stocks.lang b/htdocs/langs/ar_IQ/stocks.lang index 9ec523427b1..a95d0f1b7cd 100644 --- a/htdocs/langs/ar_IQ/stocks.lang +++ b/htdocs/langs/ar_IQ/stocks.lang @@ -1,257 +1,4 @@ # Dolibarr language file - Source file is en_US - stocks -WarehouseCard=Warehouse card -Warehouse=Warehouse -Warehouses=Warehouses -ParentWarehouse=Parent warehouse -NewWarehouse=New warehouse / Stock Location -WarehouseEdit=Modify warehouse -MenuNewWarehouse=New warehouse -WarehouseSource=Source warehouse -WarehouseSourceNotDefined=No warehouse defined, -AddWarehouse=Create warehouse -AddOne=Add one -DefaultWarehouse=Default warehouse -WarehouseTarget=Target warehouse ValidateSending=Delete sending CancelSending=Cancel sending DeleteSending=Delete sending -Stock=Stock -Stocks=Stocks -MissingStocks=Missing stocks -StockAtDate=Stocks at date -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future -StocksByLotSerial=Stocks by lot/serial -LotSerial=Lots/Serials -LotSerialList=List of lot/serials -Movements=Movements -ErrorWarehouseRefRequired=Warehouse reference name is required -ListOfWarehouses=List of warehouses -ListOfStockMovements=List of stock movements -ListOfInventories=List of inventories -MovementId=Movement ID -StockMovementForId=Movement ID %d -ListMouvementStockProject=List of stock movements associated to project -StocksArea=Warehouses area -AllWarehouses=All warehouses -IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock -IncludeAlsoDraftOrders=Include also draft orders -Location=Location -LocationSummary=Short name of location -NumberOfDifferentProducts=Number of unique products -NumberOfProducts=Total number of products -LastMovement=Latest movement -LastMovements=Latest movements -Units=Units -Unit=Unit -StockCorrection=Stock correction -CorrectStock=Correct stock -StockTransfer=Stock transfer -TransferStock=Transfer stock -MassStockTransferShort=Mass stock transfer -StockMovement=Stock movement -StockMovements=Stock movements -NumberOfUnit=Number of units -UnitPurchaseValue=Unit purchase price -StockTooLow=Stock too low -StockLowerThanLimit=Stock lower than alert limit (%s) -EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP -EnhancedValueOfWarehouses=Warehouses value -UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user -AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product -RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals -WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders -UserDefaultWarehouse=Set a warehouse on Users -MainDefaultWarehouse=Default warehouse -MainDefaultWarehouseUser=Use a default warehouse for each user -MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. -IndependantSubProductStock=Product stock and subproduct stock are independent -QtyDispatched=Quantity dispatched -QtyDispatchedShort=Qty dispatched -QtyToDispatchShort=Qty to dispatch -OrderDispatch=Item receipts -RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated) -RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated) -DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note -DeStockOnValidateOrder=Decrease real stocks on validation of sales order -DeStockOnShipment=Decrease real stocks on shipping validation -DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed -ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note -ReStockOnValidateOrder=Increase real stocks on purchase order approval -ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods -StockOnReception=Increase real stocks on validation of reception -StockOnReceptionOnClosing=Increase real stocks when reception is set to closed -OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Explanation for difference between physical and virtual stock -NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. -DispatchVerb=Dispatch -StockLimitShort=Limit for alert -StockLimit=Stock limit for alert -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. -PhysicalStock=Physical Stock -RealStock=Real Stock -RealStockDesc=Physical/real stock is the stock currently in the warehouses. -RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module): -VirtualStock=Virtual stock -VirtualStockAtDate=Virtual stock at date -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) -AtDate=At date -IdWarehouse=Id warehouse -DescWareHouse=Description warehouse -LieuWareHouse=Localisation warehouse -WarehousesAndProducts=Warehouses and products -WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) -AverageUnitPricePMPShort=Weighted average price -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. -SellPriceMin=Selling Unit Price -EstimatedStockValueSellShort=Value for sell -EstimatedStockValueSell=Value for sell -EstimatedStockValueShort=Input stock value -EstimatedStockValue=Input stock value -DeleteAWarehouse=Delete a warehouse -ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s? -PersonalStock=Personal stock %s -ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s -SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease -SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase -NoStockAction=No stock action -DesiredStock=Desired Stock -DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. -StockToBuy=To order -Replenishment=Replenishment -ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) -UseVirtualStock=Use virtual stock -UsePhysicalStock=Use physical stock -CurentSelectionMode=Current selection mode -CurentlyUsingVirtualStock=Virtual stock -CurentlyUsingPhysicalStock=Physical stock -RuleForStockReplenishment=Rule for stocks replenishment -SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor -AlertOnly= Alerts only -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 -WarehouseForStockDecrease=The warehouse %s will be used for stock decrease -WarehouseForStockIncrease=The warehouse %s will be used for stock increase -ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference. -ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. -ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. -Replenishments=Replenishments -NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) -NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) -MassMovement=Mass movement -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". -RecordMovement=Record transfer -ReceivingForSameOrder=Receipts for this order -StockMovementRecorded=Stock movements recorded -RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever the rule for automatic stock change) -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever the rule for automatic stock change) -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever the rule for automatic stock change) -MovementLabel=Label of movement -TypeMovement=Direction of movement -DateMovement=Date of movement -InventoryCode=Movement or inventory code -IsInPackage=Contained into package -WarehouseAllowNegativeTransfer=Stock can be negative -qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse and your setup does not allow negative stocks. -qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). -ShowWarehouse=Show warehouse -MovementCorrectStock=Stock correction for product %s -MovementTransferStock=Stock transfer of product %s into another warehouse -InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order -ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions -UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception -OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated -ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created -ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated -ProductStockWarehouseDeleted=Stock limit for alert and desired optimal stock correctly deleted -AddNewProductStockWarehouse=Set new limit for alert and desired optimal stock -AddStockLocationLine=Decrease quantity then click to add another warehouse for this product -InventoryDate=Inventory date -NewInventory=New inventory -inventorySetup = Inventory Setup -inventoryCreatePermission=Create new inventory -inventoryReadPermission=View inventories -inventoryWritePermission=Update inventories -inventoryValidatePermission=Validate inventory -inventoryDeletePermission=Delete inventory -inventoryTitle=Inventory -inventoryListTitle=Inventories -inventoryListEmpty=No inventory in progress -inventoryCreateDelete=Create/Delete inventory -inventoryCreate=Create new -inventoryEdit=Edit -inventoryValidate=Validated -inventoryDraft=Running -inventorySelectWarehouse=Warehouse choice -inventoryConfirmCreate=Create -inventoryOfWarehouse=Inventory for warehouse: %s -inventoryErrorQtyAdd=Error: one quantity is less than zero -inventoryMvtStock=By inventory -inventoryWarningProductAlreadyExists=This product is already into list -SelectCategory=Category filter -SelectFournisseur=Vendor filter -inventoryOnDate=Inventory -INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) -inventoryChangePMPPermission=Allow to change PMP value for a product -ColumnNewPMP=New unit PMP -OnlyProdsInStock=Do not add product without stock -TheoricalQty=Theorique qty -TheoricalValue=Theorique qty -LastPA=Last BP -CurrentPA=Curent BP -RecordedQty=Recorded Qty -RealQty=Real Qty -RealValue=Real Value -RegulatedQty=Regulated Qty -AddInventoryProduct=Add product to inventory -AddProduct=Add -ApplyPMP=Apply PMP -FlushInventory=Flush inventory -ConfirmFlushInventory=Do you confirm this action? -InventoryFlushed=Inventory flushed -ExitEditMode=Exit edition -inventoryDeleteLine=Delete line -RegulateStock=Regulate Stock -ListInventory=List -StockSupportServices=Stock management supports Services -StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled. -ReceiveProducts=Receive items -StockIncreaseAfterCorrectTransfer=Increase by correction/transfer -StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer -StockIncrease=Stock increase -StockDecrease=Stock decrease -InventoryForASpecificWarehouse=Inventory for a specific warehouse -InventoryForASpecificProduct=Inventory for a specific product -StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use -ForceTo=Force to -AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) -StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future -CurrentStock=Current stock -InventoryRealQtyHelp=Set value to 0 to reset qty
    Keep field empty, or remove line, to keep unchanged -UpdateByScaning=Fill real qty by scaning -UpdateByScaningProductBarcode=Update by scan (product barcode) -UpdateByScaningLot=Update by scan (lot|serial barcode) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s -ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity diff --git a/htdocs/langs/ar_IQ/users.lang b/htdocs/langs/ar_IQ/users.lang index 372090ea5ad..fd9215f98df 100644 --- a/htdocs/langs/ar_IQ/users.lang +++ b/htdocs/langs/ar_IQ/users.lang @@ -1,126 +1,3 @@ # Dolibarr language file - Source file is en_US - users -HRMArea=HRM area -UserCard=User card -GroupCard=Group card -Permission=Permission -Permissions=Permissions -EditPassword=Edit password -SendNewPassword=Regenerate and send password -SendNewPasswordLink=Send link to reset password -ReinitPassword=Regenerate password -PasswordChangedTo=Password changed to: %s -SubjectNewPassword=Your new password for %s -GroupRights=Group permissions -UserRights=User permissions -Credentials=Credentials -UserGUISetup=User Display Setup -DisableUser=Disable -DisableAUser=Disable a user -DeleteUser=Delete -DeleteAUser=Delete a user -EnableAUser=Enable a user -DeleteGroup=Delete -DeleteAGroup=Delete a group -ConfirmDisableUser=Are you sure you want to disable user %s? -ConfirmDeleteUser=Are you sure you want to delete user %s? -ConfirmDeleteGroup=Are you sure you want to delete group %s? -ConfirmEnableUser=Are you sure you want to enable user %s? -ConfirmReinitPassword=Are you sure you want to generate a new password for user %s? -ConfirmSendNewPassword=Are you sure you want to generate and send new password for user %s? -NewUser=New user -CreateUser=Create user -LoginNotDefined=Login is not defined. -NameNotDefined=Name is not defined. -ListOfUsers=List of users -SuperAdministrator=Super Administrator -SuperAdministratorDesc=Global administrator -AdministratorDesc=Administrator -DefaultRights=Default Permissions -DefaultRightsDesc=Define here the default permissions that are automatically granted to a new user (to modify permissions for existing users, go to the user card). -DolibarrUsers=Dolibarr users -LastName=Last name -FirstName=First name -ListOfGroups=List of groups -NewGroup=New group -CreateGroup=Create group -RemoveFromGroup=Remove from group -PasswordChangedAndSentTo=Password changed and sent to %s. -PasswordChangeRequest=Request to change password for %s -PasswordChangeRequestSent=Request to change password for %s sent to %s. -IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. -IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. -ConfirmPasswordReset=Confirm password reset -MenuUsersAndGroups=Users & Groups -LastGroupsCreated=Latest %s groups created -LastUsersCreated=Latest %s users created -ShowGroup=Show group -ShowUser=Show user -NonAffectedUsers=Non assigned users -UserModified=User modified successfully -PhotoFile=Photo file -ListOfUsersInGroup=List of users in this group -ListOfGroupsForUser=List of groups for this user -LinkToCompanyContact=Link to third party / contact -LinkedToDolibarrMember=Link to member LinkedToDolibarrUser=Link to Dolibarr user LinkedToDolibarrThirdParty=Link to Dolibarr third party -CreateDolibarrLogin=Create a user -CreateDolibarrThirdParty=Create a third party -LoginAccountDisableInDolibarr=Account disabled in Dolibarr. -UsePersonalValue=Use personal value -InternalUser=Internal user -ExportDataset_user_1=Users and their properties -DomainUser=Domain user %s -Reactivate=Reactivate -CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. -PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. -Inherited=Inherited -UserWillBe=Created user will be -UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) -UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) -IdPhoneCaller=Id phone caller -NewUserCreated=User %s created -NewUserPassword=Password change for %s -NewPasswordValidated=Your new password have been validated and must be used now to login. -EventUserModified=User %s modified -UserDisabled=User %s disabled -UserEnabled=User %s activated -UserDeleted=User %s removed -NewGroupCreated=Group %s created -GroupModified=Group %s modified -GroupDeleted=Group %s removed -ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact? -ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member? -ConfirmCreateThirdParty=Are you sure you want to create a third party for this member? -LoginToCreate=Login to create -NameToCreate=Name of third party to create -YourRole=Your roles -YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions -DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin -HierarchicalResponsible=Supervisor -HierarchicView=Hierarchical view -UseTypeFieldToChange=Use field Type to change -OpenIDURL=OpenID URL -LoginUsingOpenID=Use OpenID to login -WeeklyHours=Hours worked (per week) -ExpectedWorkedHours=Expected hours worked per week -ColorUser=Color of the user -DisabledInMonoUserMode=Disabled in maintenance mode -UserAccountancyCode=User accounting code -UserLogoff=User logout -UserLogged=User logged -DateOfEmployment=Employment date -DateEmployment=Employment -DateEmploymentstart=Employment Start Date -DateEmploymentEnd=Employment End Date -RangeOfLoginValidity=Access validity date range -CantDisableYourself=You can't disable your own user record -ForceUserExpenseValidator=Force expense report validator -ForceUserHolidayValidator=Force leave request validator -ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. -UserPersonalEmail=Personal email -UserPersonalMobile=Personal mobile phone -WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s diff --git a/htdocs/langs/ar_SA/accountancy.lang b/htdocs/langs/ar_SA/accountancy.lang index a53fdba50a3..d1ec3a1f82d 100644 --- a/htdocs/langs/ar_SA/accountancy.lang +++ b/htdocs/langs/ar_SA/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=ليس ضمن دول الاتحاد الأوروبي CountriesInEECExceptMe=البلدان في المجموعة الاقتصادية الأوروبية باستثناء %s CountriesExceptMe=جميع الدول باستثناء %s AccountantFiles=تصدير مستندات المصدر -ExportAccountingSourceDocHelp=باستخدام هذه الأداة ، يمكنك تصدير الأحداث (القائمة وملفات PDF) التي تم استخدامها لإنشاء المحاسبة الخاصة بك. لتصدير دفاتر اليومية الخاصة بك ، استخدم إدخال القائمة %s - %s. +ExportAccountingSourceDocHelp=باستخدام هذه الأداة ، يمكنك تصدير الأحداث (في شكل قائمة او بصيغة ملفات متنقلة ) التي تم استخدامها لإنشاء قيودك المحاسبية . +ExportAccountingSourceDocHelp2=لتصدير دفاترك المحاسبية ، إستخدم القائمة %s - %s . VueByAccountAccounting=عرض حسب الحساب المحاسبي VueBySubAccountAccounting=عرض حسب الحساب المحاسبة الفرعي @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=طول حسابات الطرف الثالث المح ACCOUNTING_MANAGE_ZERO=السماح بإدارة عدد مختلف من الأصفار في نهاية الحساب المحاسبي. تحتاجه بعض الدول (مثل سويسرا). إذا تم الضبط على إيقاف (افتراضي) ، يمكنك تعيين المعاملين التاليتين لتطلب من التطبيق إضافة أصفار افتراضية. BANK_DISABLE_DIRECT_INPUT=تعطيل التسجيل المباشر للمعاملة في الحساب المصرفي ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=تفعيل تصدير المسودة الى دفتر اليومية -ACCOUNTANCY_COMBO_FOR_AUX=تمكين قائمة التحرير والسرد للحساب الفرعي (قد يكون بطيئًا إذا كان لديك الكثير من الأطراف الثالثة) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=تحديد موعد لبدء الربط والتحويل في المحاسبة. بعد هذا التاريخ ، لن يتم تحويل المعاملات إلى المحاسبة. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=في نقل المحاسبة ، حدد فترة العرض بشكل افتراضي @@ -245,9 +246,9 @@ DescThirdPartyReport=راجع هنا قائمة العملاء والموردي ListAccounts=قائمة الحسابات المحاسبية UnknownAccountForThirdparty=حساب طرف ثالث غير معروف. سوف نستخدم %s UnknownAccountForThirdpartyBlocking=حساب طرف ثالث غير معروف. خطأ في المنع -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=حساب طرف ثالث غير محدد أو طرف ثالث غير معروف. سوف نستخدم %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=طرف ثالث غير معروف ودفتر الأستاذ الفرعي غير محدد في الدفعة. سنبقي قيمة حساب دفتر الأستاذ الفرعي فارغة. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=حساب طرف ثالث غير محدد أو طرف ثالث غير معروف. خطأ في المنع. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=حساب طرف ثالث وحساب قيد الانتظار غير معرّفين. خطأ في المنع PaymentsNotLinkedToProduct=الدفع غير مرتبط بأي منتج / خدمة OpeningBalance=الرصيد الافتتاحي @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=تعطيل الربط والتحويل ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=تعطيل الربط والتحويل في المحاسبة على تقارير المصروفات (لن يتم أخذ تقارير المصروفات في الاعتبار في المحاسبة) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=تصدير مسودة دفتر اليومية Modelcsv=نموذج التصدير Selectmodelcsv=تحديد نموذج للتصدير @@ -335,7 +339,7 @@ Modelcsv_normal=تصدير كلاسيكي Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog @@ -414,8 +418,8 @@ FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) FECFormatPieceRef=Piece ref (PieceRef) FECFormatPieceDate=Piece date creation (PieceDate) FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) +FECFormatDebit=مدين (مدين) +FECFormatCredit=دائن (دائن) FECFormatReconcilableCode=Reconcilable code (EcritureLet) FECFormatReconcilableDate=Reconcilable date (DateLet) FECFormatValidateDate=Piece date validated (ValidDate) @@ -427,4 +431,4 @@ WarningReportNotReliable=تحذير ، هذا التقرير لا يستند إ ExpenseReportJournal=تقرير دفتر المصاريف InventoryJournal=دفتر الجرد -NAccounts=%s accounts +NAccounts=%s حساباً diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index a01a5a8b940..152d4d8b861 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -53,6 +53,7 @@ InternalUser=مستخدم داخلي ExternalUser=مستخدم خارجي InternalUsers=مستخدمين داخليين ExternalUsers=مستخدمين خارجيين +UserInterface=User interface GUISetup=العرض SetupArea=التثبيت UploadNewTemplate=تحميل قالب جديد @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=غير متوفر عندما يكون أجاكس معطلاً AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=الجافا سكربت معطل UsePreviewTabs=إستخدم زر المعاينة ShowPreview=آظهر المعاينة @@ -116,6 +118,7 @@ MultiCurrencySetup=إعدادات تعدد العملات MenuLimits=الحدود و الدقة MenuIdParent=رمز القائمة العليا DetailMenuIdParent=رمز القائمة العليا (فراغ للقائمة العليا) +ParentID=Parent ID DetailPosition=رتب الرقم لتعريف موقع القائمة AllMenus=الكل NotConfigured=الوحدة النمطية | التطبيق غير مهيأ @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=البريمجات هي المكونات البرمجية التي تُظهر بعض المعلومات في بعض الصفحات. يمكنك اختيار إظهار أو إخفائها بإختيار الصفحات المطلوبة و الضغط على 'تنشيط', او بالضغط على الزر الآخر لتعطيلها. OnlyActiveElementsAreShown=فقط العناصر من النماذج المفعلة سوف تظهر. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=انظر إعداد وحدة٪ الصورة +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore ، في السوق الرسمي لتخطيط موارد المؤسسات وحدات Dolibarr / خارجي إدارة علاقات العملاء @@ -399,6 +403,7 @@ SecurityToken=المفتاح لعناوين المواقع الآمنة NoSmsEngine=لايوجد مدير إرسال الرسائل النصية القصيرة . مدير إرسال الرسائل النصية القصيرة غير مثبت بصورة اولية لانه يعتمد على مورد خارجي ، لكن يمكنك ايجاد واحد هنا %s PDF=صيغة المستندات المتنقلة PDFDesc=الخيارات العامة لتوليد ملفات صيغة المستندات المتنقلة +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcodes إدارة +Module55Desc=Barcode or QR code management Module56Name=الدفع عن طريق تحويل من الرصيد Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=إنشاء / تعديل الخصومات Permission403=تحقق من الخصومات Permission404=حذف خصومات Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=رواتب التصدير Permission520=قراءة القروض Permission522=إنشاء / تعديل القروض @@ -965,6 +970,8 @@ Permission23003=حذف مهمة مجدولة Permission23004=تنفيذ مهمة مجدولة Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=قراءة المعاملات Permission50202=استيراد المعاملات Permission50330=Read objects of Zapier @@ -1039,14 +1046,15 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit -SetupSaved=الإعداد المحفوظة -SetupNotSaved=Setup not saved +SetupSaved=تم حفظ الإعدادات +SetupNotSaved=الإعدادات لم تحفظ BackToModuleList=Back to Module list BackToDictionaryList=Back to Dictionaries list TypeOfRevenueStamp=Type of tax stamp @@ -1185,9 +1193,12 @@ SetupDescription2=القسمان التاليان إلزاميان (المدخل SetupDescription3= %s -> %s

    تُستخدم المعطيات الأساسية لتخصيص السلوك الافتراضي لتطبيقك (على سبيل المثال للميزات المتعلقة بالبلد). SetupDescription4= %s -> %s

    هذا البرنامج عبارة عن مجموعة من العديد من الوحدات | التطبيقات. يجب تمكين وتكوين الوحدات النمطية التى تحتاجها. ستظهر فى القائمة بعد تمكين هذه الوحدات. SetupDescription5=قائمة الإعدادات الأخرى تقوم بإدارة المعطيات الاختيارية. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=المراجعة +Audit=Security events InfoDolibarr=حول دوليبار InfoBrowser=حول المتصفح InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=وظائف خدمة تصميم المواقع لا DownloadMoreSkins=مزيد من جلود بتحميل SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=ترجمة جزئية MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=الشرط هو حاليا %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=البحث الأمثل -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=الخيارات الرئيسية AdherentLoginRequired= إدارة تسجيل الدخول لكل عضو AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=مربع لإرسال الرسائل للأعضاء تأكيدا على افتراضي +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=انقر لإعداد وحدة الاتصال الهاتفي ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=مجرد استخدام الرابط "الهاتف:" على أرقام الهواتف -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=الهامش الايمن لملفات صيغة المست MAIN_PDF_MARGIN_TOP=الهامش العلوي لصيغة المستندات المتنقلة MAIN_PDF_MARGIN_BOTTOM=الهامش العلوي لصيغة المستندات المتنقلة MAIN_DOCUMENTS_LOGO_HEIGHT=ارتفاع الشعار على صيغة المستندات المتنقلة +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=اذا كنت ترغب في تكرار بعض النصوص بلغتين مختلفتين في ملفاتك المولدة بصيغة المستندات المتنقلة . يجب عليك ان ان تحدد اللغة الثانية هنا حتى يتسنى للملفات المولدة ان تحتوي على لغتين في نفس الصفحة . اللغة المختارة اثناء توليد المستند واللغة المختارة هنا (فقط بعض قوالب صيغة المستندات المتنقلة تدعم هذه الميزة) . ابق الخيار فارغاً للتوليد بلغة واحدة FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=ملاحظة: كل تعريف لمصدر اخبار مختصرة يوفر بريمج يجب تفعيله ليكون متاحا في لوحة المعلومات JumpToBoxes=اذهب الى الاعدادت -> البريمجات MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=موصى بها +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ar_SA/agenda.lang b/htdocs/langs/ar_SA/agenda.lang index 98168cd43b1..07477356b5f 100644 --- a/htdocs/langs/ar_SA/agenda.lang +++ b/htdocs/langs/ar_SA/agenda.lang @@ -4,7 +4,7 @@ Actions=الأحداث Agenda=جدول الأعمال TMenuAgenda=جدول الأعمال Agendas=جداول الأعمال -LocalAgenda=التقويم الداخلي +LocalAgenda=التقويم الافتراضي ActionsOwnedBy=الحدث مملوك بواسطة ActionsOwnedByShort=مالك AffectedTo=مخصص ل @@ -14,13 +14,13 @@ EventsNb=عدد الأحداث ListOfActions=قائمة الأحداث EventReports=تقارير الحدث Location=الموقع -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=حدث مخصص لأي مستخدم في المجموعة EventOnFullDay=الأحداث في كامل اليوم (أيام) MenuToDoActions=جميع الأحداث الغير مكتملة MenuDoneActions=جميع الأحداث الملغية MenuToDoMyActions=أحداثي الغير مكتملة MenuDoneMyActions=أحداثي الملغاة -ListOfEvents=قائمة الأحداث (التقويم الداخلي) +ListOfEvents=قائمة الأحداث (التقويم الافتراضي) ActionsAskedBy=أحداث تم إعداد التقرير عنها بواسطة ActionsToDoBy=أحداث عينت لـ ActionsDoneBy=أحداث تم اتمامها بواسطة @@ -33,11 +33,12 @@ ViewPerType=العرض حسب النوع AutoActions= إكمال تلقائي AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...) -AgendaExtSitesDesc=تسمح هذه الصفحة بإعلان المصادر الخارجية للتقاويم لمشاهدة أحداثها في جدول أعمال دوليبار. +AgendaExtSitesDesc=تسمح هذه الصفحة بالإعلان عن المصادر الخارجية للتقويمات لرؤية أحداثها في جدول أعمال Dolibarr. ActionsEvents=الأحداث التي سيقوم دوليبار بإنشاء أعمال في جدول الأعمال بشكل تلقائي EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=تم إنشاء الطرف الثالث %s +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=العقد%s تم التأكد من صلاحيته CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=تم حذف الطلب InvoiceDeleted=تم حذف الفاتورة DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=المنتج %s تم انشاؤه PRODUCT_MODIFYInDolibarr=المنتج %sتم تعديلة @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=نماذج المستندات للحدث DateActionStart=تاريخ البدء @@ -130,7 +133,7 @@ AgendaUrlOptions4=لوجينت =%s لتقييد الإخراج على ا AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=عرض تواريخ ميلاد جهات الإتصال +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=إخفاء تواريخ ميلاد جهات الإتصال Busy=مشغول ExportDataset_event1=قائمة الأحداث في جدول الأعمال @@ -152,6 +155,7 @@ ActionType=نوع الحدث DateActionBegin=تاريخ البدء الحدث ConfirmCloneEvent=هل انت متأكد انك ترغب في استنساخ الحدث %s ؟ RepeatEvent=تكرار الحدث +OnceOnly=Once only EveryWeek=كل اسبوع EveryMonth=كل شهر DayOfMonth=يوم من الشهر @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/ar_SA/banks.lang b/htdocs/langs/ar_SA/banks.lang index 98a3eedaaf9..0d1b849661e 100644 --- a/htdocs/langs/ar_SA/banks.lang +++ b/htdocs/langs/ar_SA/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=مدفوعات الضرائب الاجتماعية / BankTransfer=تحويل الرصيد BankTransfers=تحويلات الرصيد MenuBankInternalTransfer=حوالة داخلية -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=إستخدم التحويل الداخلي للتحويل من حساب الى اخر، سيقوم البرنامج بكتابة قيدين: قيد دائن في حساب المحول وقيد مدين في حساب المستلم. يستخدم نفس المبلغ والعنوان والتاريخ في المعاملة. TransferFrom=من TransferTo=إلى TransferFromToDone=التحويل من %sإلى %sمن %s%s قد تم تسجيلة. CheckTransmitter=مرسل ValidateCheckReceipt=تأكيد صحة الشيك المستلم؟ -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=حذف هذا الشيك ؟ ConfirmDeleteCheckReceipt=هل انت متأكد أنك تريد حذف هذا الشيك؟ BankChecks=الشيكات المصرفية @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=هل تريد بالتأكيد حذف هذه المعا ThisWillAlsoDeleteBankRecord=سيؤدي هذا أيضا إلى حذف القيد البنكي الذي تم إنشاؤه BankMovements=حركات PlannedTransactions=المعاملات المخططة -Graph=Graphs +Graph=الرسوم البيانية ExportDataset_banque_1=القيود البنكية وكشف الحساب ExportDataset_banque_2=قسيمة الإيداع TransactionOnTheOtherAccount=معاملة على الحساب الآخر @@ -142,7 +142,7 @@ AllAccounts=جميع الحسابات المصرفية والنقدية BackToAccount=عودة إلى الحساب ShowAllAccounts=عرض لجميع الحسابات FutureTransaction=الصفقة المستقبلية. غير قادر على التسوية. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=قم بتحديد / تصفية الشيكات لتضمينها في إيصال إيداع الشيك واضغط على "إنشاء". InputReceiptNumber=اختيار كشف الحساب البنكي ذات الصلة مع التسوية. استخدام قيمة رقمية للفرز: شهر سنة أو يوم شهر سنة EventualyAddCategory=في نهاية المطاف، حدد الفئة التي لتصنيف السجلات ToConciliate=للتسوية؟ @@ -174,7 +174,7 @@ YourSEPAMandate=تفويض سيبا الخاص بك FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to AutoReportLastAccountStatement=قم تلقائيًا بتعبئة الحقل "رقم كشف الحساب البنكي" برقم كشف الحساب الأخير عند إجراء التسوية CashControl=مراقبة مكتب النقدية في نقاط البيع -NewCashFence=New cash desk opening or closing +NewCashFence=إفتتاح او إغلاق جديد لصنوق النقدية BankColorizeMovement=تلوين الحركات BankColorizeMovementDesc=إذا تم تمكين هذه الوظيفة ، يمكنك اختيار لون خلفية محدد لحركات الخصم أو الائتمان BankColorizeMovementName1=لون الخلفية لحركة الخصم diff --git a/htdocs/langs/ar_SA/bills.lang b/htdocs/langs/ar_SA/bills.lang index 4f33681d88c..5159a89b80f 100644 --- a/htdocs/langs/ar_SA/bills.lang +++ b/htdocs/langs/ar_SA/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=السداد المستحق في DateInvoice=تاريخ الفاتورة DatePointOfTax=Point of tax NoInvoice=لا فاتورة +NoOpenInvoice=No open invoice ClassifyBill=صنف كفاتورة SupplierBillsToPay=فواتير المورد الغير مسددة CustomerBillsUnpaid=فواتير العملاء غير المسددة @@ -589,3 +590,4 @@ FacParentLine=أصل سطر الفاتورة SituationTotalRayToRest=ما تبقى للدفع بدون ضريبة PDFSituationTitle=Situation n° %d SituationTotalProgress=إجمالي التقدم %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/ar_SA/boxes.lang b/htdocs/langs/ar_SA/boxes.lang index bb7d024ab37..bd8f4e9266b 100644 --- a/htdocs/langs/ar_SA/boxes.lang +++ b/htdocs/langs/ar_SA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=أوامر الموردين: آخر %s تع BoxTitleLastModifiedCustomerBills=فواتير العميل: آخر %s تعديل BoxTitleLastModifiedCustomerOrders=أوامر المبيعات: آخر %s تعديل BoxTitleLastModifiedPropals=أحدث %s العروض المعدلة -BoxTitleLatestModifiedJobPositions=أحدث %s وظائف المعدلة -BoxTitleLatestModifiedCandidatures=أحدث %s الترشيحات المعدلة +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=فواتير العملاء ForCustomersOrders=أوامر العملاء ForProposals=عروض diff --git a/htdocs/langs/ar_SA/cashdesk.lang b/htdocs/langs/ar_SA/cashdesk.lang index 5a185a25ed9..06ba1491bbd 100644 --- a/htdocs/langs/ar_SA/cashdesk.lang +++ b/htdocs/langs/ar_SA/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ar_SA/commercial.lang b/htdocs/langs/ar_SA/commercial.lang index cffbca48085..e3a95602dec 100644 --- a/htdocs/langs/ar_SA/commercial.lang +++ b/htdocs/langs/ar_SA/commercial.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Commerce -CommercialArea=Commerce area +Commercial=التجارة +CommercialArea=منطقة التجارة Customer=العميل Customers=العملاء Prospect=احتمال @@ -9,72 +9,73 @@ DeleteAction=حذف حدث NewAction=حدث جديد AddAction=إنشاء الحدث AddAnAction=إنشاء حدث -AddActionRendezVous=إنشاء الحدث RENDEZ المفكرة -ConfirmDeleteAction=Are you sure you want to delete this event? -CardAction=بطاقة العمل -ActionOnCompany=Related company -ActionOnContact=Related contact -TaskRDVWith=لقاء مع ق ٪ -ShowTask=وتظهر هذه المهمة -ShowAction=وتظهر العمل -ActionsReport=تقرير الأعمال -ThirdPartiesOfSaleRepresentative=Thirdparties مع مندوب مبيعات -SaleRepresentativesOfThirdParty=Sales representatives of third party -SalesRepresentative=ممثل مبيعات +AddActionRendezVous=اضافة حدث اتماعى او اجتماع +ConfirmDeleteAction=هل أنت متأكد من حذف هذا الحدث؟ +CardAction=بطاقة الحدث +ActionOnCompany=شركة ذات صلة +ActionOnContact=جهة اتصال ذات صلة +TaskRDVWith=لقاء مع %s +ShowTask=عرض المهمة +ShowAction=عرض الحدث +ActionsReport=تقرير الأحداث +ThirdPartiesOfSaleRepresentative=أطراف ثالثة مع مندوب مبيعات +SaleRepresentativesOfThirdParty=مندوبي مبيعات الطرف الثالث +SalesRepresentative=مندوب مبيعات SalesRepresentatives=مندوبي المبيعات -SalesRepresentativeFollowUp=ممثل مبيعات (متابعة) -SalesRepresentativeSignature=ممثل مبيعات (التوقيع) -NoSalesRepresentativeAffected=أي ممثل مبيعات المتضررة -ShowCustomer=وتبين للعملاء -ShowProspect=وتظهر احتمال -ListOfProspects=قائمة التوقعات +SalesRepresentativeFollowUp=مندوب مبيعات (متابعة) +SalesRepresentativeSignature=مندوب مبيعات (توقيع) +NoSalesRepresentativeAffected=لم يتم تعيين مندوب مبيعات معين +ShowCustomer=عرض العميل +ShowProspect=عرض العميل المحتمل +ListOfProspects=قائمة العملاء المحتملين ListOfCustomers=قائمة العملاء -LastDoneTasks=Latest %s completed actions -LastActionsToDo=Oldest %s not completed actions -DoneAndToDoActions=ويتم القيام بمهام -DoneActions=إجراءات عمله -ToDoActions=عدم اكتمال الإجراءات -SendPropalRef=تقديم اقتراح التجاري٪ الصورة -SendOrderRef=تقديم النظام %s +LastDoneTasks=أحدث %s إجراءات مكتملة +LastActionsToDo=أقدم %s إجراءات غير مكتملة +DoneAndToDoActions=الأحداث المنجزة والمهام المتبقية +DoneActions=الأحداث المنجزة +ToDoActions=أحداث غير منجزة +SendPropalRef=تقديم العرض التجاري لـ %s +SendOrderRef=تقديم طلب او امر لـ %s StatusNotApplicable=لا ينطبق -StatusActionToDo=القيام -StatusActionDone=فعل -StatusActionInProcess=في العملية -TasksHistoryForThisContact=إجراءات لهذا الاتصال -LastProspectDoNotContact=لا اتصال -LastProspectNeverContacted=اتصل أبدا +StatusActionToDo=لكى يفعل +StatusActionDone=اكتمل +StatusActionInProcess=تحت الانجاز +TasksHistoryForThisContact=أحداث لجهة الاتصال هذه +LastProspectDoNotContact=لا تتصل +LastProspectNeverContacted=لا تتصل ابدا LastProspectToContact=للاتصال -LastProspectContactInProcess=في عملية الاتصال -LastProspectContactDone=الاتصال به -ActionAffectedTo=الحدث المخصصة ل -ActionDoneBy=العمل الذي قام به +LastProspectContactInProcess=الاتصال قيد الانجاز +LastProspectContactDone=تم الاتصال +ActionAffectedTo=تم تعيين الحدث لـ +ActionDoneBy=تم تنفيذ الحدث بواسطة ActionAC_TEL=اتصال هاتفي ActionAC_FAX=إرسال فاكس -ActionAC_PROP=إرسال اقتراح +ActionAC_PROP=إرسال الاقتراح بالبريد ActionAC_EMAIL=ارسال بريد الكتروني -ActionAC_EMAIL_IN=Reception of Email +ActionAC_EMAIL_IN=استقبال البريد الإلكتروني ActionAC_RDV=اجتماعات -ActionAC_INT=تدخل على الموقع -ActionAC_FAC=ارسال الفواتير -ActionAC_REL=ارسال الفواتير (للتذكير) +ActionAC_INT=تدخل في الموقع +ActionAC_FAC=إرسال فاتورة العميل بالبريد +ActionAC_REL=إرسال فاتورة العميل بالبريد (تذكير) ActionAC_CLO=إغلاق ActionAC_EMAILING=إرسال البريد الإلكتروني الجماعي -ActionAC_COM=Send sales order by mail +ActionAC_COM=إرسال أمر المبيعات بالبريد ActionAC_SHIP=إرسال الشحن عن طريق البريد -ActionAC_SUP_ORD=Send purchase order by mail -ActionAC_SUP_INV=Send vendor invoice by mail +ActionAC_SUP_ORD=إرسال أمر الشراء عن طريق البريد +ActionAC_SUP_INV=إرسال فاتورة المورد بالبريد ActionAC_OTH=آخر -ActionAC_OTH_AUTO=أحداث إدراجها تلقائيا -ActionAC_MANUAL=أحداث إدراجها يدويا -ActionAC_AUTO=أحداث إدراجها تلقائيا -ActionAC_OTH_AUTOShort=Auto +ActionAC_OTH_AUTO=Other auto +ActionAC_MANUAL=الأحداث المدرجة يدويًا +ActionAC_AUTO=الأحداث المدرجة تلقائيًا +ActionAC_OTH_AUTOShort=الآخر +ActionAC_EVENTORGANIZATION=حدث فعاليات للمنظمة Stats=إحصاءات المبيعات StatusProsp=احتمال وضع DraftPropals=صياغة مقترحات تجارية NoLimit=لا حدود -ToOfferALinkForOnlineSignature=Link for online signature -WelcomeOnOnlineSignaturePage=Welcome to the page to accept commercial proposals from %s -ThisScreenAllowsYouToSignDocFrom=This screen allow you to accept and sign, or refuse, a quote/commercial proposal -ThisIsInformationOnDocumentToSign=This is information on document to accept or refuse -SignatureProposalRef=Signature of quote/commercial proposal %s -FeatureOnlineSignDisabled=Feature for online signing disabled or document generated before the feature was enabled +ToOfferALinkForOnlineSignature=رابط للتوقيع عبر الإنترنت +WelcomeOnOnlineSignaturePage=مرحبًا بك في الصفحة لقبول العروض التجارية من %s +ThisScreenAllowsYouToSignDocFrom=تسمح لك هذه الشاشة بقبول وتوقيع أو رفض عرض أسعار / عرض تجاري +ThisIsInformationOnDocumentToSign=هذه معلومات على الوثيقة لقبولها أو رفضها +SignatureProposalRef=توقيع عرض الأسعار / العرض التجاري %s +FeatureOnlineSignDisabled=تم تعطيل ميزة التوقيع عبر الإنترنت أو تم إنشاء المستند قبل تمكين الميزة diff --git a/htdocs/langs/ar_SA/compta.lang b/htdocs/langs/ar_SA/compta.lang index ec9245b6d0e..8b8294b493d 100644 --- a/htdocs/langs/ar_SA/compta.lang +++ b/htdocs/langs/ar_SA/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/ar_SA/cron.lang b/htdocs/langs/ar_SA/cron.lang index 338d3adb957..eb03a59b91e 100644 --- a/htdocs/langs/ar_SA/cron.lang +++ b/htdocs/langs/ar_SA/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=تاريخ نهاية لا يمكن أن يكون قبل StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=يعطل -CronTaskInactive=تم تعطيل هذه الوظائف +CronTaskInactive=This job is disabled (not scheduled) CronId=هوية شخصية CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/ar_SA/deliveries.lang b/htdocs/langs/ar_SA/deliveries.lang index 93a9c9efe14..166abea9cb4 100644 --- a/htdocs/langs/ar_SA/deliveries.lang +++ b/htdocs/langs/ar_SA/deliveries.lang @@ -2,7 +2,7 @@ Delivery=توصيل DeliveryRef=معرف التسليم DeliveryCard=بطاقة استلام -DeliveryOrder=Delivery receipt +DeliveryOrder=إيصال التسليم DeliveryDate=تاريخ التسليم او الوصول CreateDeliveryOrder=إنشاء إيصال الاستلام DeliveryStateSaved=تم حفظ حالة التسليم @@ -18,14 +18,16 @@ StatusDeliveryCanceled=ألغيت StatusDeliveryDraft=مسودة StatusDeliveryValidated=تم الاستلام # merou PDF model -NameAndSignature=Name and Signature: +NameAndSignature=الاسم والتوقيع : ToAndDate=إلى ___________________________________ في ____ / _____ / __________ GoodStatusDeclaration=تلقيت البضائع أعلاه في حالة جيدة، -Deliverer=Deliverer: +Deliverer=الموصل: Sender=مرسل Recipient=مستلم ErrorStockIsNotEnough=ليس هناك مخزون كاف Shippable=قابل للشحن NonShippable=غير قابل للشحن +ShowShippableStatus=إظهار علامة قابل للشحن ShowReceiving=عرض إيصال الاستلام -NonExistentOrder=Nonexistent order +NonExistentOrder=امر غير موجود +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ar_SA/donations.lang b/htdocs/langs/ar_SA/donations.lang index 1cba54ca878..d6d05924921 100644 --- a/htdocs/langs/ar_SA/donations.lang +++ b/htdocs/langs/ar_SA/donations.lang @@ -6,7 +6,7 @@ Donor=الجهات المانحة AddDonation=إنشاء التبرع NewDonation=منحة جديدة DeleteADonation=حذف التبرع -ConfirmDeleteADonation=Are you sure you want to delete this donation? +ConfirmDeleteADonation=هل أنت متأكد أنك تريد حذف هذا التبرع؟ PublicDonation=تبرع العامة DonationsArea=التبرعات المنطقة DonationStatusPromiseNotValidated=مشروع وعد @@ -16,7 +16,7 @@ DonationStatusPromiseNotValidatedShort=مسودة DonationStatusPromiseValidatedShort=صادق DonationStatusPaidShort=وردت DonationTitle=استلام التبرع -DonationDate=Donation date +DonationDate=تاريخ التبرع DonationDatePayment=تاريخ الدفع ValidPromess=التحقق من صحة الوعد DonationReceipt=استلام التبرع @@ -31,4 +31,5 @@ DONATION_ART200=تبين المادة 200 من CGI إذا كنت تشعر بال DONATION_ART238=تبين المادة 238 من CGI إذا كنت تشعر بالقلق DONATION_ART885=تبين المادة 885 من CGI إذا كنت تشعر بالقلق DonationPayment=دفع التبرع -DonationValidated=Donation %s validated +DonationValidated=تم تأكيد التبرع %s +DonationUseThirdparties=إستخدام طرف ثالث موجود كمنسق للمتبرعين diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index fdb1bef1b89..e762b822b8b 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل. ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=لم يتم العثور على السجل. ErrorFailToCopyFile=فشل في نسخ الملف '%s' إلى '%s ". ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=فشل في قراءة الملف '%s' ErrorCantReadDir=فشل في قراءة '%s' الدليل ErrorBadLoginPassword=سيئة قيمة لتسجيل الدخول أو كلمة السر ErrorLoginDisabled=لقد تم تعطيل حسابك -ErrorFailedToRunExternalCommand=فشل لتشغيل الأوامر الخارجية. التحقق من ذلك هو متاح وrunnable من قبل خادم PHP. إذا تم تمكين PHP الوضع الآمن، والتحقق من أن الأمر داخل دليل يحددها safe_mode_exec_dir المعلمة. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=فشل في تغيير كلمة السر ErrorLoginDoesNotExists=لا يستطيع المستخدم الدخول مع %s يمكن العثور عليها. ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البريد الإلكتروني. إحباط عملية. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ar_SA/eventorganization.lang b/htdocs/langs/ar_SA/eventorganization.lang index 125a62775f9..8061d761e48 100644 --- a/htdocs/langs/ar_SA/eventorganization.lang +++ b/htdocs/langs/ar_SA/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = نوع الحدث +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/ar_SA/exports.lang b/htdocs/langs/ar_SA/exports.lang index 53ce1753324..41308469daa 100644 --- a/htdocs/langs/ar_SA/exports.lang +++ b/htdocs/langs/ar_SA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=نوع الخط (0= منت FileWithDataToImport=ملف استيراد البيانات FileToImport=مصدر لاستيراد ملف FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=مصدر تنسيق ملف diff --git a/htdocs/langs/ar_SA/externalsite.lang b/htdocs/langs/ar_SA/externalsite.lang index e1c326b4787..ac4d267c40d 100644 --- a/htdocs/langs/ar_SA/externalsite.lang +++ b/htdocs/langs/ar_SA/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite ExternalSiteSetup=إعداد رابط لموقع خارجي -ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteURL=رابط موقع خارجي لمحتوى إطار داخلي في لغة توصيف النص التشعبي ExternalSiteModuleNotComplete=لم يتم تهيئة نموذج الموقع الخارجي بصورة صحيحة. ExampleMyMenuEntry=مُدخل قائمتي diff --git a/htdocs/langs/ar_SA/holiday.lang b/htdocs/langs/ar_SA/holiday.lang index 94b2c77ee12..523ab75ec40 100644 --- a/htdocs/langs/ar_SA/holiday.lang +++ b/htdocs/langs/ar_SA/holiday.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - holiday HRM=HRM -Holidays=Leave -CPTitreMenu=Leave +Holidays=الاجازات +CPTitreMenu=الاجازات MenuReportMonth=البيان الشهري MenuAddCP=طلب إجازة جديدة NotActiveModCP=You must enable the module Leave to view this page. @@ -13,7 +13,7 @@ ToReviewCP=انتظر القبول ApprovedCP=وافق CancelCP=ألغيت RefuseCP=رفض -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=ترك الطلب LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=ترك الطلب TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=عدد أيام عطلة تستهلك -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=تحرير @@ -55,7 +55,7 @@ TitleDeleteCP=حذف طلب إجازة ConfirmDeleteCP=تأكيد حذف طلب إجازة هذا؟ ErrorCantDeleteCP=خطأ لم يكن لديك الحق في حذف طلب إجازة هذا. CantCreateCP=ليس لديك الحق في تقديم طلبات الإجازة. -InvalidValidatorCP=يجب عليك اختيار approbator لطلب الإجازة الخاصة بك. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=يجب تحديد تاريخ البدء. NoDateFin=يجب تحديد تاريخ انتهاء. ErrorDureeCP=لا يحتوي طلب إجازة الخاص يوم عمل. @@ -80,14 +80,14 @@ UserCP=مستخدم ErrorAddEventToUserCP=حدث خطأ أثناء إضافة إجازة استثنائية. AddEventToUserOkCP=تم الانتهاء من إضافة إجازة استثنائية. MenuLogCP=وبالنظر إلى سجلات التغيير -LogCP=سجل التحديثات من أيام عطلة المتاحة -ActionByCP=يؤديها -UserUpdateCP=للمستخدم +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=الرصيد السابق NewSoldeCP=توازن جديد alreadyCPexist=وقد تم بالفعل طلب إجازة في هذه الفترة. -FirstDayOfHoliday=اليوم الأول من العطلة -LastDayOfHoliday=آخر يوم عطلة +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=تحديث شهري ManualUpdate=التحديث اليدوي @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=تم التحديث بنجاح. Module27130Name= إدارة طلبات الإجازة Module27130Desc= إدارة طلبات الإجازة @@ -125,10 +125,12 @@ HolidaysCanceledBody=تم إلغاء طلب إجازة لمدة٪ s إلى٪ s. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ar_SA/hrm.lang b/htdocs/langs/ar_SA/hrm.lang index 0cfee9469dd..a8791385f0f 100644 --- a/htdocs/langs/ar_SA/hrm.lang +++ b/htdocs/langs/ar_SA/hrm.lang @@ -5,13 +5,13 @@ Establishments=مؤسسات Establishment=مؤسسة NewEstablishment=مؤسسة جديدة DeleteEstablishment=حذف المؤسسة -ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? +ConfirmDeleteEstablishment=هل انت متأكد أنك تريد حذف هذة المؤسسة ؟ OpenEtablishment=فتح المؤسسة CloseEtablishment=إغلاق المؤسسة # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=الإجازات - الإجازات عامة DictionaryDepartment=إدارة الموارد البشرية - قائمة القسم -DictionaryFunction=HRM - Job positions +DictionaryFunction=إدارة الموارد البشرية - المسميات الوظيفية # Module Employees=الموظفين Employee=الموظف diff --git a/htdocs/langs/ar_SA/install.lang b/htdocs/langs/ar_SA/install.lang index 3eadf6f4ba7..676b11d3a5d 100644 --- a/htdocs/langs/ar_SA/install.lang +++ b/htdocs/langs/ar_SA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=إعادة تحديث الوحدات %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ar_SA/interventions.lang b/htdocs/langs/ar_SA/interventions.lang index 06c3d23854e..2412062f9e9 100644 --- a/htdocs/langs/ar_SA/interventions.lang +++ b/htdocs/langs/ar_SA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=تدخل مدة خط InterLineDesc=خط وصف التدخل RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/ar_SA/knowledgemanagement.lang b/htdocs/langs/ar_SA/knowledgemanagement.lang index 1648a9582a8..c0f253ffacf 100644 --- a/htdocs/langs/ar_SA/knowledgemanagement.lang +++ b/htdocs/langs/ar_SA/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = حول KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = عنصر KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/ar_SA/languages.lang b/htdocs/langs/ar_SA/languages.lang index e239913fec6..076fa6ba1a2 100644 --- a/htdocs/langs/ar_SA/languages.lang +++ b/htdocs/langs/ar_SA/languages.lang @@ -1,11 +1,14 @@ # Dolibarr language file - Source file is en_US - languages -Language_am_ET=Ethiopian +Language_am_ET=إثيوبي Language_ar_AR=العربية -Language_ar_EG=Arabic (Egypt) +Language_ar_EG=العربية (مصر) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=العربية -Language_az_AZ=Azerbaijani +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) +Language_az_AZ=أذربيجان Language_bn_BD=بنغالي -Language_bn_IN=Bengali (India) +Language_bn_IN=البنغالية (الهند) Language_bg_BG=البلغارية Language_bs_BA=البوسنية Language_ca_ES=كاتالاني @@ -23,7 +26,7 @@ Language_en_GB=الانجليزية (المملكة المتحدة) Language_en_IN=الإنكليزية (الهند) Language_en_NZ=الإنجليزية (نيوزيلندا) Language_en_SA=الإنجليزية (المملكة العربية السعودية) -Language_en_SG=English (Singapore) +Language_en_SG=الإنجليزية (سنغافورة) Language_en_US=الإنكليزية (الولايات المتحدة) Language_en_ZA=الإنكليزية (جنوب أفريقيا) Language_es_ES=الأسبانية @@ -33,16 +36,16 @@ Language_es_CL=الإسبانية (تشيلي) Language_es_CO=الأسبانية (كولومبيا) Language_es_DO=الأسبانية (جمهورية الدومنيكان) Language_es_EC=الإسبانية (إكوادور) -Language_es_GT=Spanish (Guatemala) +Language_es_GT=الإسبانية (غواتيمالا) Language_es_HN=الأسبانية (هندوراس) Language_es_MX=الإسبانية (المكسيك) Language_es_PA=الإسبانية (بنما) Language_es_PY=الأسبانية (باراغواي) Language_es_PE=الإسبانية (بيرو) Language_es_PR=الأسبانية (بورتو ريكو) -Language_es_US=Spanish (USA) -Language_es_UY=Spanish (Uruguay) -Language_es_GT=Spanish (Guatemala) +Language_es_US=الإسبانية (الولايات المتحدة الأمريكية) +Language_es_UY=الإسبانية (أوروغواي) +Language_es_GT=الإسبانية (غواتيمالا) Language_es_VE=الإسبانية (فنزويلا) Language_et_EE=الإستونية Language_eu_ES=الباسكي @@ -51,22 +54,22 @@ Language_fi_FI=اللغة الفنلندية Language_fr_BE=الفرنسية (بلجيكا) Language_fr_CA=الفرنسية (كندا) Language_fr_CH=الفرنسية (سويسرا) -Language_fr_CI=French (Cost Ivory) -Language_fr_CM=French (Cameroun) +Language_fr_CI=الفرنسية (ساحل العاج) +Language_fr_CM=الفرنسية (الكاميرون) Language_fr_FR=الفرنسية -Language_fr_GA=French (Gabon) +Language_fr_GA=الفرنسية (الجابون) Language_fr_NC=الفرنسية (كاليدونيا الجديدة) -Language_fr_SN=French (Senegal) +Language_fr_SN=الفرنسية (السنغال) Language_fy_NL=الفريزية -Language_gl_ES=Galician +Language_gl_ES=الجاليكية Language_he_IL=اللغة العبرية -Language_hi_IN=Hindi (India) +Language_hi_IN=الهندية (الهند) Language_hr_HR=الكرواتية Language_hu_HU=المجري Language_id_ID=الأندونيسية Language_is_IS=الآيسلندي Language_it_IT=الإيطالي -Language_it_CH=Italian (Switzerland) +Language_it_CH=الإيطالية (سويسرا) Language_ja_JP=اليابانية Language_ka_GE=الجورجية Language_km_KH=الخمير @@ -78,12 +81,14 @@ Language_lv_LV=اللاتفية Language_mk_MK=المقدونية Language_mn_MN=المنغولية Language_nb_NO=النرويجية (بوكمال) -Language_ne_NP=Nepali +Language_ne_NP=النيبالية Language_nl_BE=الهولندية (بلجيكا) -Language_nl_NL=Dutch +Language_nl_NL=اللغة الهولندية Language_pl_PL=بولندي +Language_pt_AO=Portuguese (Angola) Language_pt_BR=البرتغالية (البرازيل) Language_pt_PT=البرتغالية +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=الرومانية Language_ru_RU=الروسية Language_ru_UA=الروسية (أوكرانيا) @@ -101,5 +106,5 @@ Language_uz_UZ=الأوزبكي Language_vi_VN=الفيتنامية Language_zh_CN=الصينية Language_zh_TW=الصينية (التقليدية) -Language_zh_HK=Chinese (Hong Kong) -Language_bh_MY=Malay +Language_zh_HK=الصينية (هونج كونج) +Language_bh_MY=لغة الملايو diff --git a/htdocs/langs/ar_SA/ldap.lang b/htdocs/langs/ar_SA/ldap.lang index 6b6c34bdba7..b84a13ba7a7 100644 --- a/htdocs/langs/ar_SA/ldap.lang +++ b/htdocs/langs/ar_SA/ldap.lang @@ -1,27 +1,27 @@ # Dolibarr language file - Source file is en_US - ldap YouMustChangePassNextLogon=كلمة السر للمستخدم ٪ على النطاق ق ق ٪ ويجب أن يتغير. UserMustChangePassNextLogon=يجب على المستخدم تغيير كلمة المرور على المجال ق ٪ -LDAPInformationsForThisContact=المعلومات في قاعدة البيانات LDAP لهذا الاتصال -LDAPInformationsForThisUser=المعلومات في قاعدة البيانات LDAP لهذا المستخدم -LDAPInformationsForThisGroup=المعلومات في قاعدة البيانات LDAP لهذه المجموعة -LDAPInformationsForThisMember=المعلومات في قاعدة البيانات LDAP لهذا العضو -LDAPInformationsForThisMemberType=Information in LDAP database for this member type -LDAPAttributes=LDAP الصفات -LDAPCard=بطاقة LDAP -LDAPRecordNotFound=سجل غير موجود في قاعدة البيانات LDAP -LDAPUsers=المستخدمين في قاعدة البيانات LDAP -LDAPFieldStatus=حالة -LDAPFieldFirstSubscriptionDate=أول موعد الاكتتاب -LDAPFieldFirstSubscriptionAmount=قبضة مبلغ الاشتراك -LDAPFieldLastSubscriptionDate=Latest subscription date -LDAPFieldLastSubscriptionAmount=Latest subscription amount -LDAPFieldSkype=Skype id -LDAPFieldSkypeExample=Example : skypeName -UserSynchronized=وتزامن المستخدم -GroupSynchronized=مجموعة متزامنة -MemberSynchronized=عضو متزامنة -MemberTypeSynchronized=Member type synchronized -ContactSynchronized=وتزامن الاتصال -ForceSynchronize=واكبت قوة Dolibarr --> LDAP -ErrorFailedToReadLDAP=فشل في قراءة قاعدة البيانات LDAP. LDAP وحدة التحقق من الإعداد ، وإمكانية الوصول إلى قاعدة البيانات. -PasswordOfUserInLDAP=Password of user in LDAP +LDAPInformationsForThisContact=المعلومات في قاعدة بيانات خادم الوصول الخفيف للأدلة لهذا الاتصال +LDAPInformationsForThisUser=المعلومات في قاعدة بيانات خادم الوصول الخفيف للأدلة لهذا المستخدم +LDAPInformationsForThisGroup=المعلومات في قاعدة بيانات خادم الوصول الخفيف للأدلة لهذه المجموعة +LDAPInformationsForThisMember=المعلومات في قاعدة بيانات خادم الوصول الخفيف للأدلة لهذا العضو +LDAPInformationsForThisMemberType=المعلومات في قاعدة بيانات خادم الوصول للأدلة الخفيق لنوع العضو +LDAPAttributes=خصائص خادم الوصول الخفيف للأدلة +LDAPCard=بطاقة خادم الوصول الخفيف للأدلة +LDAPRecordNotFound=سجل غير موجود في قاعدة بيانات خادم الوصول الخفيف للأدلة +LDAPUsers=المستخدمين في قاعدة بيانات خادم الوصول الخفيف للأدلة +LDAPFieldStatus=الحالة +LDAPFieldFirstSubscriptionDate=تاريخ اول إشتراك +LDAPFieldFirstSubscriptionAmount=مبلغ اول إشتراك +LDAPFieldLastSubscriptionDate=تاريخ اخر إشتراك +LDAPFieldLastSubscriptionAmount=مبلغ اخر إشتراك +LDAPFieldSkype=معرف سكايبي +LDAPFieldSkypeExample=مثال : اسم إسكايبي +UserSynchronized=تمت مزامنة المستخدم +GroupSynchronized=تمت مزامنة المجموعة +MemberSynchronized=تمت مزامنة العضو +MemberTypeSynchronized=تمت مزامنة نوع العضو +ContactSynchronized=تمت مزامنة جهة الاتصال +ForceSynchronize=إجبار التزامن بين دوليبار و خادم الوصول الخفيف للأدلة +ErrorFailedToReadLDAP=فشل في قراءة قاعدة بيانات خادم الوصول الخفيف للأدلة. راجع إعدادات وحدة خادم الوصول الخفيف للأدلة، وإمكانية الوصول إلى قاعدة البيانات. +PasswordOfUserInLDAP=كلمة سر المستخدم في خادم الوصول الخفيف للأدلة diff --git a/htdocs/langs/ar_SA/link.lang b/htdocs/langs/ar_SA/link.lang index 18b8a80fecb..2e0aa65c6f3 100644 --- a/htdocs/langs/ar_SA/link.lang +++ b/htdocs/langs/ar_SA/link.lang @@ -8,4 +8,4 @@ LinkRemoved= الرابط%sتم إزالتة ErrorFailedToDeleteLink= فشل في إزالة الرابط ' %s ' ErrorFailedToUpdateLink= فشل تحديث الرابط ' %s ' URLToLink=عنوان URL للربط -OverwriteIfExists=Overwrite file if exists +OverwriteIfExists=إستبدال محتوى الملف إذا كان موجوداً diff --git a/htdocs/langs/ar_SA/mails.lang b/htdocs/langs/ar_SA/mails.lang index d01d415c937..40b52a35c17 100644 --- a/htdocs/langs/ar_SA/mails.lang +++ b/htdocs/langs/ar_SA/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index ce51cd01c65..6af8e31a86e 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=معدل الضريبة +RateOfTaxN=Rate of tax %s VATCode=كود معدل الضريبة VATNPR=معدل ضريبة NPR DefaultTaxRate=معدل الضريبة الافتراضي @@ -729,6 +730,7 @@ MenuMembers=أعضاء MenuAgendaGoogle=أجندة غوغل MenuTaxesAndSpecialExpenses=الضرائب | مصاريف خاصة ThisLimitIsDefinedInSetup=حدود دوليبار (Menu home-setup-security): %s كيلوبايت ، حد PHP: %s كيلوبايت +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=لم يتم رفع مستند CurrentUserLanguage=اللغة الحالية CurrentTheme=الواجهة الحالية @@ -1072,6 +1074,7 @@ ValidFrom=صالح من ValidUntil=صالح حتى NoRecordedUsers=لايوجد مستخدمين ToClose=لغلق +ToRefuse=To refuse ToProcess=لعملية ToApprove=للموافقة GlobalOpenedElemView=نظرة شاملة @@ -1126,9 +1129,23 @@ UpdateForAllLines=تحديث لجميع البنود OnHold=في الانتظار Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=لا يوجد ملصق لنوع السجل CopiedToClipboard=تم النسخ الى الحافظة InformationOnLinkToContract=هذا المبلغ هو مجموع بنود العقد . دون مراعاة قيمة الزمن ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/ar_SA/margins.lang b/htdocs/langs/ar_SA/margins.lang index 964d6de11fa..24d82f7e7c9 100644 --- a/htdocs/langs/ar_SA/margins.lang +++ b/htdocs/langs/ar_SA/margins.lang @@ -16,20 +16,20 @@ MarginDetails=تفاصيل الهامش ProductMargins=هوامش المنتج CustomerMargins=هوامش العملاء SalesRepresentativeMargins=هوامش ممثل المبيعات -ContactOfInvoice=Contact of invoice +ContactOfInvoice=جهة إتصال الفاتورة UserMargins=هوامش المستخدم ProductService=المنتج أو الخدمة AllProducts=جميع المنتجات والخدمات ChooseProduct/Service=اختيار المنتج أو الخدمة ForceBuyingPriceIfNull=فرض سعر شراء / تكلفة إلى سعر البيع إذا لم يتم تحديدها -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=إذا لم يتم تحديد سعر / تكلفة الشراء عند إضافة بند جديد، وتم "تشغيل" هذا الخيار ، فإن الهامش على البند المضاف سيكون صفراَ (سعر /لتكلفة الشراء = سعر البيع). إذا تم "إيقاف" هذا الخيار(مستحسن)، فإن الهامش يساوي القيمة الاولية المقترحة (وربما تكون 100% إذا لم توجد قيمة اولية). MARGIN_METHODE_FOR_DISCOUNT=طريقة الهامش للخصومات العالمية UseDiscountAsProduct=كمنتج UseDiscountAsService=كخدمة UseDiscountOnTotal=على المجموع الفرعي MARGIN_METHODE_FOR_DISCOUNT_DETAILS=يحدد ما إذا كان يتم التعامل مع الخصم العالمي كمنتج أو خدمة أو فقط على المجموع الفرعي لحساب الهامش. MARGIN_TYPE=سعر الشراء / التكلفة المقترحة افتراضيا لحساب الهامش -MargeType1=Margin on Best vendor price +MargeType1=الهامش على سعر المورد الافضل MargeType2=الهامش على متوسط ​​السعر المرجح (واب) MargeType3=هامش على سعر التكلفة MarginTypeDesc=* Margin on best buying price = Selling price - Best vendor price defined on product card
    * Margin on Weighted Average Price (WAP) = Selling price - Product Weighted Average Price (WAP) or best vendor price if WAP not yet defined
    * Margin on Cost price = Selling price - Cost price defined on product card or WAP if cost price not defined, or best vendor price if WAP not yet defined diff --git a/htdocs/langs/ar_SA/members.lang b/htdocs/langs/ar_SA/members.lang index ecb209b3f8b..b78376133b4 100644 --- a/htdocs/langs/ar_SA/members.lang +++ b/htdocs/langs/ar_SA/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/ar_SA/modulebuilder.lang b/htdocs/langs/ar_SA/modulebuilder.lang index a430c605f45..3ff076f37fa 100644 --- a/htdocs/langs/ar_SA/modulebuilder.lang +++ b/htdocs/langs/ar_SA/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/ar_SA/mrp.lang b/htdocs/langs/ar_SA/mrp.lang index ec999a473a4..fe2c1a87769 100644 --- a/htdocs/langs/ar_SA/mrp.lang +++ b/htdocs/langs/ar_SA/mrp.lang @@ -1,4 +1,4 @@ -Mrp=Manufacturing Orders +Mrp=أوامر التصنيع MOs=Manufacturing orders ManufacturingOrder=Manufacturing Order MRPDescription=Module to manage production and Manufacturing Orders (MO). @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,16 +30,16 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? -MenuMRP=Manufacturing Orders +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? +MenuMRP=أوامر التصنيع NewMO=New Manufacturing Order QtyToProduce=Qty to produce DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=حذف NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/ar_SA/orders.lang b/htdocs/langs/ar_SA/orders.lang index 24d3349a1d3..e7f94524121 100644 --- a/htdocs/langs/ar_SA/orders.lang +++ b/htdocs/langs/ar_SA/orders.lang @@ -11,13 +11,14 @@ OrderDate=تاريخ الامر OrderDateShort=تاريخ الامر OrderToProcess=امر للعمل NewOrder=امر جديد +NewSupplierOrderShort=امر جديد NewOrderSupplier=أمر شراء جديد ToOrder=قم بالامر MakeOrder=قم بالامر SupplierOrder=أمر شراء SuppliersOrders=اوامر الشراء -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=بنود امر البيع +PurchaseOrderLines=بنود امر الشراء SuppliersOrdersRunning=أوامر الشراء الحالية CustomerOrder=امر بيع CustomersOrders=اوامر البيع @@ -73,6 +74,7 @@ DeleteOrder=حذف الامر CancelOrder=الغاء الامر OrderReopened= إعادة فتح الامر %s AddOrder=إنشاء امر +AddSupplierOrderShort=إنشاء امر AddPurchaseOrder=إنشاء أمر شراء AddToDraftOrders=أضف إلى مسودة امر ShowOrder=عرض الامر diff --git a/htdocs/langs/ar_SA/other.lang b/htdocs/langs/ar_SA/other.lang index 7d4928f2519..d2e2ca15ce6 100644 --- a/htdocs/langs/ar_SA/other.lang +++ b/htdocs/langs/ar_SA/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=تسجيل دخول المستخدم الذي أغلق FileWasRemoved=تم حذف الملف DirWasRemoved=دليل أزيل FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=عرض Height=ارتفاع @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=صادرات المنطقة @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = إغلاق diff --git a/htdocs/langs/ar_SA/partnership.lang b/htdocs/langs/ar_SA/partnership.lang index e564bce07c2..b30bc585f2a 100644 --- a/htdocs/langs/ar_SA/partnership.lang +++ b/htdocs/langs/ar_SA/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = إدارة الشراكة -PartnershipDescription = وحدة إدارة الشراكة +ModulePartnershipName=إدارة الشراكة +PartnershipDescription=وحدة إدارة الشراكة PartnershipDescriptionLong= وحدة إدارة الشراكة +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = شراكة جديدة -ListOfPartnerships = قائمة الشراكات +NewPartnership=شراكة جديدة +ListOfPartnerships=قائمة الشراكات # # Admin page # -PartnershipSetup = إعدادات الشراكة -PartnershipAbout = حول الشراكة -PartnershipAboutPage = صفحة حول الشراكة - +PartnershipSetup=إعدادات الشراكة +PartnershipAbout=حول الشراكة +PartnershipAboutPage=صفحة حول الشراكة +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=تاريخ البدء DatePartnershipEnd=تاريخ الانتهاء +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = حوالة مصرفية -PartnershipAccepted = قبلت -PartnershipRefused = رفض -PartnershipCanceled = ملغي - +PartnershipDraft=حوالة مصرفية +PartnershipAccepted=قبلت +PartnershipRefused=رفض +PartnershipCanceled=ملغي PartnershipManagedFor=الشركاء هم diff --git a/htdocs/langs/ar_SA/productbatch.lang b/htdocs/langs/ar_SA/productbatch.lang index 5c01404e42f..de1b46bd672 100644 --- a/htdocs/langs/ar_SA/productbatch.lang +++ b/htdocs/langs/ar_SA/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=استخدام الكثير / الرقم التسلسلي ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index 9632cb061db..57896db9573 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=إضافة السعر من قبل العملاء -ForceUpdateChildPriceSoc=تعيين نفس السعر على الشركات التابعة العملاء +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=سجل الأسعار العملاء السابقة MinimumPriceLimit=سعر الحد الأدنى لا يمكن أن يكون أقل ثم٪ الصورة MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=زيادة / نقصان الأسهم على التغ ComposedProduct=Child products MinSupplierPrice=الحد الأدنى من سعر الشراء MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=التكوين سعر ديناميكي DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=المتوسط المرجح لسعر +PMPValueShort=الواب diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index a2305967521..917c42793e9 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -140,6 +140,7 @@ NoTasks=أية مهام لهذا المشروع LinkedToAnotherCompany=ربط طرف ثالث آخر TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=الوقت الذي يقضيه فارغة +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=وهذا العمل أيضا حذف كافة مهام المشروع (%s المهام في الوقت الحاضر) وجميع المدخلات من الوقت الذي تستغرقه. IfNeedToUseOtherObjectKeepEmpty=إذا كانت بعض الكائنات (فاتورة، والنظام، ...)، الذين ينتمون إلى طرف ثالث آخر، يجب أن تكون مرتبطة بمشروع لإنشاء، والحفاظ على هذا فارغة لديها مشروع كونها متعددة الأطراف الثالثة. CloneTasks=استنساخ المهام @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=قضى وقتا TimeSpentForInvoice=قضى وقتا OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=فاتورة جديدة +NewInter=التدخل الجديدة OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/ar_SA/receptions.lang b/htdocs/langs/ar_SA/receptions.lang index fc1b05cf47c..9ae42683be8 100644 --- a/htdocs/langs/ar_SA/receptions.lang +++ b/htdocs/langs/ar_SA/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/ar_SA/salaries.lang b/htdocs/langs/ar_SA/salaries.lang index 5a0fcdda6bd..87dfead9a33 100644 --- a/htdocs/langs/ar_SA/salaries.lang +++ b/htdocs/langs/ar_SA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=الراتب Salaries=الرواتب -NewSalaryPayment=دفع الرواتب جديد +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=دفع الرواتب SalariesPayments=مدفوعات الرواتب +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=مشاهدة دفع الرواتب THM=Average hourly rate TJM=Average daily rate CurrentSalary=الراتب الحالي THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ar_SA/stocks.lang b/htdocs/langs/ar_SA/stocks.lang index 6b7e98f782d..b3874a3c3c2 100644 --- a/htdocs/langs/ar_SA/stocks.lang +++ b/htdocs/langs/ar_SA/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=وحدة سعر الشراء StockTooLow=الاسهم منخفضة جدا StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=القيمة -PMPValue=المتوسط المرجح لسعر -PMPValueShort=الواب EnhancedValueOfWarehouses=قيمة المستودعات UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=نقل الأسهم من الناتج٪ الصورة إل InventoryCodeShort=الجرد. / وسائل التحقق. رمز NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=هذا الكثير / الرقم التسلسلي (٪ ق) موجودة بالفعل ولكن مع eatby مختلفة أو تاريخ sellby (وجدت٪ الصورة ولكن قمت بإدخال%s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=إعادة فتح -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ar_SA/ticket.lang b/htdocs/langs/ar_SA/ticket.lang index 23feb81ae34..69c2a5b5944 100644 --- a/htdocs/langs/ar_SA/ticket.lang +++ b/htdocs/langs/ar_SA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=المشروع TicketTypeShortOTHER=الآخر @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=قرأ Assigned=Assigned InProgress=في تقدم -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=انتظار -Closed=مغلق +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=مجموعة +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=إنشاء التدخل -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/ar_SA/trips.lang b/htdocs/langs/ar_SA/trips.lang index 8d9f41b165d..2416cea40f8 100644 --- a/htdocs/langs/ar_SA/trips.lang +++ b/htdocs/langs/ar_SA/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=تقرير حساب الهوية -AnyOtherInThisListCanValidate=شخص إبلاغ عن التحقق من الصحة. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=شركة المعلومات TripNDF=المعلومات تقرير حساب PDFStandardExpenseReports=قالب قياسي لتوليد وثيقة PDF لتقرير حساب @@ -90,7 +90,6 @@ DATE_REFUS=تاريخ ينكر DATE_SAVE=تاريخ التحقق من الصحة DATE_CANCEL=تاريخ الإلغاء DATE_PAIEMENT=تاريخ الدفع -BROUILLONNER=إعادة فتح ExpenseReportRef=Ref. expense report ValidateAndSubmit=التحقق من صحة ويقدم للموافقة عليها ValidatedWaitingApproval=التحقق من صحة (في انتظار الموافقة) @@ -110,7 +109,7 @@ ExpenseReportPayment=دفع تقرير حساب ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=تقارير النفقات لدفع ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/ar_SA/users.lang b/htdocs/langs/ar_SA/users.lang index bf5dfb8c425..cf6f3cf8762 100644 --- a/htdocs/langs/ar_SA/users.lang +++ b/htdocs/langs/ar_SA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=ادخل لخلق NameToCreate=اسم طرف ثالث لخلق YourRole=الأدوار الخاص YourQuotaOfUsersIsReached=يتم التوصل إلى حصة الخاص بك من المستخدمين النشطين! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=يمكن فقط superadmin تقليله a superadmin HierarchicalResponsible=المشرف HierarchicView=الهرمي diff --git a/htdocs/langs/ar_SA/website.lang b/htdocs/langs/ar_SA/website.lang index 76471f88558..79ed8803b26 100644 --- a/htdocs/langs/ar_SA/website.lang +++ b/htdocs/langs/ar_SA/website.lang @@ -1,147 +1,147 @@ # Dolibarr language file - Source file is en_US - website -Shortname=رمز -WebsiteSetupDesc=Create here the websites you wish to use. Then go into menu Websites to edit them. -DeleteWebsite=Delete website -ConfirmDeleteWebsite=Are you sure you want to delete this web site? All its pages and content will also be removed. The files uploaded (like into the medias directory, the ECM module, ...) will remain. -WEBSITE_TYPE_CONTAINER=Type of page/container -WEBSITE_PAGE_EXAMPLE=Web page to use as example -WEBSITE_PAGENAME=Page name/alias -WEBSITE_ALIASALT=Alternative page names/aliases -WEBSITE_ALIASALTDesc=Use here list of other name/aliases so the page can also be accessed using this other names/aliases (for example the old name after renaming the alias to keep backlink on old link/name working). Syntax is:
    alternativename1, alternativename2, ... -WEBSITE_CSS_URL=URL of external CSS file -WEBSITE_CSS_INLINE=CSS file content (common to all pages) -WEBSITE_JS_INLINE=Javascript file content (common to all pages) -WEBSITE_HTML_HEADER=Addition at bottom of HTML Header (common to all pages) -WEBSITE_ROBOT=Robot file (robots.txt) -WEBSITE_HTACCESS=Website .htaccess file -WEBSITE_MANIFEST_JSON=Website manifest.json file -WEBSITE_README=README.md file -WEBSITE_KEYWORDSDesc=Use a comma to separate values -EnterHereLicenseInformation=Enter here meta data or license information to fille a README.md file. if you distribute your website as a template, the file will be included into the temptate package. -HtmlHeaderPage=HTML header (specific to this page only) -PageNameAliasHelp=Name or alias of the page.
    This alias is also used to forge a SEO URL when website is ran from a Virtual host of a Web server (like Apacke, Nginx, ...). Use the button "%s" to edit this alias. -EditTheWebSiteForACommonHeader=Note: If you want to define a personalized header for all pages, edit the header on the site level instead of on the page/container. -MediaFiles=Media library -EditCss=Edit website properties -EditMenu=Edit menu -EditMedias=Edit medias -EditPageMeta=Edit page/container properties -EditInLine=Edit inline -AddWebsite=Add website -Webpage=Web page/container -AddPage=Add page/container +Shortname=نص مرمز +WebsiteSetupDesc=قم بإنشاء الموقع الالكتروني الذي ترغب باستخدامه ثم اذهب الى القائمة المواقع الإلكترونية لتعديلها +DeleteWebsite=حذف الموقع الإلكتروني +ConfirmDeleteWebsite=هل انت متأكد من رغبتك بحذف هذا الموقع الإلكتروني ؟ سيتم حذف جميع الصفحات والمحتويات ايضا. الملفات المحملة (كما في المسار الاستديو و وحدة وإدارة المحتوى الرقمي) ستبقى دون حذف. +WEBSITE_TYPE_CONTAINER=نوع الصفحة \\ الحاوية +WEBSITE_PAGE_EXAMPLE=الصفحة التي تريد إستخدامها كمثال +WEBSITE_PAGENAME=اسم\\لقب الصفحة +WEBSITE_ALIASALT=اسم\\لقب بديل للصفحة +WEBSITE_ALIASALTDesc=إستخدم هنا قائمة من اسماء\\القاب الصفحة حتى يتم الوصول للصفحة باكثر من اسم\\لقب (على سبيل المثال اسم الصفحة القديم بعد إعادة تسميتها للمحافظة على عمل الروابط القديمة) . الطريقة هي
    الاسم ابديل1 ، الاسم البديل2، ... +WEBSITE_CSS_URL=رابط خارجي لملف المظهر +WEBSITE_CSS_INLINE=محتوى ملف مظهر (مشترك بين كل الصفحات) +WEBSITE_JS_INLINE=محتوى ملف جافاسكربت (مشترك بين كل الصفحات) +WEBSITE_HTML_HEADER=ترويسات لغة ترميز النصوص التشعبية (مشتركة بين كل الصفحات) +WEBSITE_ROBOT=محتوى ملف الروبوتات النصي +WEBSITE_HTACCESS=محتوى ملف ضبط الوصول +WEBSITE_MANIFEST_JSON=ملف قوائم جسون للموقع +WEBSITE_README=ملف إقرأني الوصفي +WEBSITE_KEYWORDSDesc=إستخدم الشولة لفصل القيم +EnterHereLicenseInformation=أدخل هنا المعلومات الوصفية او معلومات الترخيص لملئ محتوى ملف إقرأني الوصفي . إذا قمت بتوزيع موقعك كقالب ، سيتم تصمين الملف في الحزمة. +HtmlHeaderPage=ترويسات لغة ترميز النصوص التشعبية (لهذه الصفحة فقظ) +PageNameAliasHelp=اسم او لقب الصفحة.
    هذا يستخدم ايضا لانشاء رابط تسريع محركات البحث عندما يتم تشغيل الموقع عبر خادم إستضافة افتراضي (مثل اباتشي او انجنكس..) إستخدم الزر "%s" لتعديل هذا الاسم او اللقب. +EditTheWebSiteForACommonHeader=ملاحظة: اذا كنت ترغب في تعيين ترويسة لكل الصفحات إستخدم الترويسات على مستوى الموقع بدلا عن ترويسات الصفحة\\الحاوية +MediaFiles=الاستديو +EditCss=تعديل خصائص الموقع الإلكتروني +EditMenu=تعديل القائمة +EditMedias=تعديل الاستديو +EditPageMeta=تعديل خصائص الصفحة\\الحاوية +EditInLine=تعديل على السطور +AddWebsite=إضافة موقع إلكتروني +Webpage=الصفحة\\الحاوية +AddPage=إضافة صفحة\\حاوية PageContainer=صفحة -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. -RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. -SiteDeleted=Web site '%s' deleted -PageContent=Page/Contenair -PageDeleted=Page/Contenair '%s' of website %s deleted -PageAdded=Page/Contenair '%s' added -ViewSiteInNewTab=View site in new tab -ViewPageInNewTab=View page in new tab -SetAsHomePage=Set as Home page -RealURL=Real URL -ViewWebsiteInProduction=View web site using home URLs -SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s -ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: -YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s -YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org -CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +RequestedPageHasNoContentYet=الصفحة المطلوبة بالمعرف %s لاتحتوي بعد على محتوى ، او ان ملف القالب الخاص بها قد تم حذفه. قم بتعديل محتويات الصفحة لحل ذلك +SiteDeleted= الموقع "%s" تم حذهف +PageContent=الصفحة\\الحاوية +PageDeleted=الصفحة\\الحاوية "%s" من الموقع الإلكتروني %s تم حذفها +PageAdded=الصفحة\\الحاوية "%s" تم إضافتها +ViewSiteInNewTab=عرض الموقع في علامة تبويب جديدة +ViewPageInNewTab=عرض الصفحة في علامة تبويب جديدة +SetAsHomePage=إجعلها الصفحة الرئيسية +RealURL=الرابط الحقيقة +ViewWebsiteInProduction=عرض الموقع باستخدام رابط الصفحة الرئيسية +SetHereVirtualHost=بإستخدام اباتشي \\انجنكس\\...
    على خادمك (اباتشي او انجنكس..) قم بإنشاء خادم افتراضي يدعم البي اتش بي واجعل المسار الجذر له
    %s +ExampleToUseInApacheVirtualHostConfig=مثال إعدادات لاستخدامه مع خادم اباتشي افتراضي +YouCanAlsoTestWithPHPS=لاستخدام خادم بي اتش بي المضمن
    على بيئة التطوير ربما تفضل تجربة موقعك بخادم بي اتش بي المضمن (النسخة 5.5 فما فوق) عبر تشغيل
    php -S 0.0.0.0:8080 -t %s +YouCanAlsoDeployToAnotherWHP=انشر موقعك الإلكتروني مع مقدم إستضافة اخر
    إذا كنت لا تمتلك خادم مواقع مثل اباتشي او انجنكس على الأنترنت، يمكنك تصدير وإستيراد الى نظام دوليبار اخر المقدم بواسطة مقدم استضافة دوليبار والذي يوفر تكامل مكتمل مع وحدة الموقع الإلكتروني. يمكنك ايجاد قائمة من مقدمين إستضافة دوليبار على موقع إستضافات دوليبار +CheckVirtualHostPerms=ايضاً تأكد من ان مستخدم الخادم (مثلا www-data ) لديه صلاحيات %s على الملفات
    %s ReadPerm=قرأ -WritePerm=Write -TestDeployOnWeb=Test/deploy on web -PreviewSiteServedByWebServer=Preview %s in a new tab.

    The %s will be served by an external web server (like Apache, Nginx, IIS). You must install and setup this server before to point to directory:
    %s
    URL served by external server:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". -VirtualHostUrlNotDefined=URL of the virtual host served by external web server not defined -NoPageYet=No pages yet -YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template -SyntaxHelp=Help on specific syntax tips -YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor. -YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

    You can also include content of another Page/Container with the following syntax:
    <?php includeContainer('alias_of_container_to_include'); ?>

    You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):
    <?php redirectToContainer('alias_of_container_to_redirect_to'); ?>

    To add a link to another page, use the syntax:
    <a href="alias_of_page_to_link_to.php">mylink<a>

    To include a link to download a file stored into the documents directory, use the document.php wrapper:
    Example, for a file into documents/ecm (need to be logged), syntax is:
    <a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
    For a file into documents/medias (open directory for public access), syntax is:
    <a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
    For a file shared with a share link (open access using the sharing hash key of file), syntax is:
    <a href="/document.php?hashp=publicsharekeyoffile">

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
    +WritePerm=التعديل والكتابة +TestDeployOnWeb=تجربة \\نشر على الانترنت +PreviewSiteServedByWebServer=إستعراض %s في علامة تبويب جديدة.

    الرابط %s سيتم إنشائه بواسطة خادم خارجي (اباتشي او انجنكس مثلاً). لابد ان تثبت هذا الخادم بنفسك وتقوم بإعداده ليشير الى المسار :
    %s
    الرابط المخدوم بواسطة خادم خارجي هو :
    %s +PreviewSiteServedByDolibarr=إستعراض %s في علامة تبويب جديدة.

    الرابط %s سيتم إنشائه بواسطة خادم نظام دوليبار وبذالك لا يحتاج لتثبيت خادم خارجي (مثل اباتشي او انجنكس) .
    المزعج في الامر ان روابط الصفحات صعبة للمستخدمين وستحتوي على مسار نظام دوليبار.
    الرابط المخدوم بواسطة دوليبار :
    %s

    لإستخدام خادمك الخاص لتقديم موقعك الإلكتروني قم بأنشاء خادم إفتراضي (كما في اباتشي) واجعله يشير الى المسار
    %s
    ثم قم باضافة الرابط في إعدادات الموقع الإلكتروني ثم قم بالضغط على "تجربة\\نشر موقعك الإلكتروني" +VirtualHostUrlNotDefined=رابط الخادم الافتراضي المخدوم بواسطة خادم خارجي غير معرف +NoPageYet=لا يوجد صفحات بعد +YouCanCreatePageOrImportTemplate=يمكنك انشاء صفحة جديدة او إستيراد موقع إلكتروني كامل +SyntaxHelp=مساعدة ونصائح في تكريب جمل معينة +YouCanEditHtmlSourceckeditor=يمكن تحرير مصدر لغة ترميز النصوص التشعبية باستخدام زر "تحرير المصدر" في المحرر +YouCanEditHtmlSource=
    يمكنك تضمين نصوص بي اتش بي بإستخدام أوسمة >?php?<. و المتغيرات العامة التالية متاحة : $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

    يمكنك ايضا تضمين محتوى صفحة \\حاوية اخرى عن طريق تركيب الجملة التالي
    <?php includeContainer('لقب_الصفحة_المطلوبة'); ?>

    يمكنك إعادة التوجيه الى صفحة \\حاوية اخرى عن طريق تركيب الجملة التالي (ملاحظة لاتقم باي طباعة لمخرجات قبل عملية إعادة التوجهي ) :
    <?php redirectToContainer('لقب_الصفحة_المطلوبة'); ?>

    لإضافة رابط رابط صفحة اخرى يمكنك إستخدام تركيب الجملة التالي :
    <a href="لقب_الصفحة_المطلوبة.php">mylink<a>

    لتضمين رابط لتحميل ملف موجود ضمن مسار المستندات إستخدم المغلف document.php:
    على سبيل المثال لمف موجود على المسار /documents/ecm (يجب تسجيل الدخول اولاً) إستخدم تركيب الجملة التالي :
    <a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
    ولملف في المسار documents/medias (مسار مفتوح الوصول للجميع) إستخدم تركيب الجملة التالي:
    <a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
    للمفات المشاركة بواسطة رابط المشاركة (وصول مفتوح بإستخدام مفتاح رمز دالة الملف ) إستخدم تركيب الجملة التالي:
    <a href="/document.php?hashp=publicsharekeyoffile">

    لتضمين صورة مخزنة في مسار المستندات إستخدم المغلف viewimage.php:
    على سبيل المثال لتضمين صورة موجودة في المسار documents/medias (مسار مفتوح الوصول للعامة)، إستخدم تركيب الجملة التالي:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
    #YouCanEditHtmlSource2=
    To include a image shared publicaly, use the viewimage.php wrapper:
    Example with a shared key 123456789, syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSourceMore=
    More examples of HTML or dynamic code available on the wiki documentation
    . -ClonePage=Clone page/container -CloneSite=Clone site -SiteAdded=Website added -ConfirmClonePage=Please enter code/alias of new page and if it is a translation of the cloned page. -PageIsANewTranslation=The new page is a translation of the current page ? -LanguageMustNotBeSameThanClonedPage=You clone a page as a translation. The language of the new page must be different than language of source page. -ParentPageId=Parent page ID -WebsiteId=Website ID -CreateByFetchingExternalPage=Create page/container by fetching page from external URL... -OrEnterPageInfoManually=Or create page from scratch or from a page template... -FetchAndCreate=Fetch and Create -ExportSite=Export website -ImportSite=Import website template -IDOfPage=Id of page -Banner=Banner -BlogPost=Blog post -WebsiteAccount=Website account +YouCanEditHtmlSource2=لتضمين صورة مشاركة عن طريق رابط المشاركة (وصول عام باستخدام رمز دالة الملف) إستخدم تركيب الجملة التالي:
    <img src="/viewimage.php?hashp=12345679012...">
    +YouCanEditHtmlSourceMore=
    امثلة اكثر للغة ترميز النصوص التشعبية متاحة على مدونة التوثيق
    +ClonePage=نسخ الصفحة\\الحاوية +CloneSite=نسخ الموقع +SiteAdded=تم إضافة الموقع الإلكتروني +ConfirmClonePage=الرجاء ادخال الرمز\\اللقب للصفحة الجديدة او اذا كانت هذه الصفحة هي ترجمة للصفحة المنسوخة +PageIsANewTranslation=هل الصفحة الجديدة هي ترجمة للصفحة الحالية ؟ +LanguageMustNotBeSameThanClonedPage=لقد نسخت الصفحة كترجمة . لغة الصفحة الجديدة لابد ان تكون مختلفة عن الصفحة المصدر. +ParentPageId=معرف الصفحة الام +WebsiteId=معرف الموقع الإلكتروني +CreateByFetchingExternalPage=إنشاء صفحة\\حاوية عن طريق جلبها من رابط خارجي +OrEnterPageInfoManually=او انشئ صفحة من البداية او من قالب صفحة.. +FetchAndCreate=جلب و إنشاء +ExportSite=تصدير الموقع الالكتروني +ImportSite=إستيراد قالب موقع إلكتروني +IDOfPage=معرف الصفحة +Banner=لافتة +BlogPost=تدوينة +WebsiteAccount=حساب موقع إلكتروني WebsiteAccounts=حسابات الموقع -AddWebsiteAccount=Create web site account -BackToListForThirdParty=Back to list for the third-party -DisableSiteFirst=Disable website first -MyContainerTitle=My web site title -AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) -SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later... -WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table -WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party -YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. -OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site -GrabImagesInto=Grab also images found into css and page. -ImagesShouldBeSavedInto=Images should be saved into directory -WebsiteRootOfImages=Root directory for website images -SubdirOfPage=Sub-directory dedicated to page -AliasPageAlreadyExists=Alias page %s already exists -CorporateHomePage=Corporate Home page -EmptyPage=Empty page -ExternalURLMustStartWithHttp=External URL must start with http:// or https:// -ZipOfWebsitePackageToImport=Upload the Zip file of the website template package -ZipOfWebsitePackageToLoad=or Choose an available embedded website template package -ShowSubcontainers=Show dynamic content -InternalURLOfPage=Internal URL of page -ThisPageIsTranslationOf=This page/container is a translation of -ThisPageHasTranslationPages=This page/container has translation -NoWebSiteCreateOneFirst=No website has been created yet. Create one first. -GoTo=Go to -DynamicPHPCodeContainsAForbiddenInstruction=You add dynamic PHP code that contains the PHP instruction '%s' that is forbidden by default as dynamic content (see hidden options WEBSITE_PHP_ALLOW_xxx to increase list of allowed commands). -NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynamic content in websites. Ask permission or just keep code into php tags unmodified. -ReplaceWebsiteContent=Search or Replace website content -DeleteAlsoJs=Delete also all javascript files specific to this website? -DeleteAlsoMedias=Delete also all medias files specific to this website? -MyWebsitePages=My website pages -SearchReplaceInto=Search | Replace into -ReplaceString=New string -CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:

    #mycssselector, input.myclass:hover { ... }
    must be
    .bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }

    Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere. -LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page. -Dynamiccontent=Sample of a page with dynamic content -ImportSite=Import website template -EditInLineOnOff=Mode 'Edit inline' is %s -ShowSubContainersOnOff=Mode to execute 'dynamic content' is %s -GlobalCSSorJS=Global CSS/JS/Header file of web site -BackToHomePage=Back to home page... -TranslationLinks=Translation links -YouTryToAccessToAFileThatIsNotAWebsitePage=You try to access to a page that is not available.
    (ref=%s, type=%s, status=%s) -UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters -MainLanguage=Main language -OtherLanguages=Other languages -UseManifest=Provide a manifest.json file -PublicAuthorAlias=Public author alias -AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties -ReplacementDoneInXPages=Replacement done in %s pages or containers -RSSFeed=تغذية RSS -RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL -PagesRegenerated=%s page(s)/container(s) regenerated -RegenerateWebsiteContent=Regenerate web site cache files -AllowedInFrames=Allowed in Frames -DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated -ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +AddWebsiteAccount=إنشاء حساب موقع إلكتروني +BackToListForThirdParty=عودة الى قائمة الاطراف الثالثة +DisableSiteFirst=عطل الموقع الإلكتروني اولاً +MyContainerTitle=عنوان موقعي +AnotherContainer=هذه هي الطريقة لتضمين محتوى صفحة\\حاوية اخرى (ربما يظهر لك خطأ عند تمكين المحتوى المتحرك وذلك لان الحاوية الجزئية المضمنة غير موجودة!) +SorryWebsiteIsCurrentlyOffLine=للأسف، هذا الموقع غير متصل حاليا. يرجى العودة في وقت لاحق... +WEBSITE_USE_WEBSITE_ACCOUNTS=تمكين جدول الموقع الالكتروني +WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=تمكين جدول لتخزين حسابات الموقع الإلكتروني (إسم المستخدم\\كلمة السر) لكل موقع إلكتروني \\ طرف ثالث +YouMustDefineTheHomePage=لابد ان تُعرف الصفحة الرئيسية المبدئية اولاً +OnlyEditionOfSourceForGrabbedContentFuture=تحذير: إنشاء صفحة عن طريق جلبها من صفحة خارجية هي خاصية للمستخديمن المتمرسين. إعتماداً على تعقيد مصدر الصفحة ، نتيجة الجلب قد تختلف من الاصل. ايضا قد تستخدم الصفحة الاصل ملفات مظهر متعارضة او جافاسكربت تؤدي الى تعطل مظهر الصفحة او تعطل خصائص محرر صفحات الموقع الإلكتروني عند العمل على الصفحة. هذه الخاصية اسرع عند إنشاء الصفحات لكن من المستحسن إنشاء صفحة جديدة من البداية او من قالب صفحة .
    لاحظ ايضا ان التحرير على السطر قد لا يعمل بصورة صحيحة عند العمل على الصفحة المجلوبة. +OnlyEditionOfSourceForGrabbedContent=يتاح فقط مصدر لغة ترميز النصوص التشعبية عند الأستجلاب من موقع خارجي +GrabImagesInto=جلب الصور الموجودة في الصفحة او في ملف المظهر ايضاً. +ImagesShouldBeSavedInto=يجب ان تُحفظ الصور في مسار +WebsiteRootOfImages=المسار الجذر لصور الموقع الإلكتروني +SubdirOfPage=مسار فرعي مخصص للصفحة +AliasPageAlreadyExists=لقب الصفحة %s موجود مسبقاً +CorporateHomePage=الصفحة الرئيسية للمؤسسة +EmptyPage=صفحة فارغة +ExternalURLMustStartWithHttp=العنوان الخارجي لابد ان يبدأ ب http:// او https:// +ZipOfWebsitePackageToImport=قم برفع الملف المضغوط لقالب الموقع الإلكتروني +ZipOfWebsitePackageToLoad=او إختر قالب موقع إلكتروني متاحا من القوالب المضمنة +ShowSubcontainers=إظهار المحتوى المتحرك +InternalURLOfPage=العنوان الداخلي للصفحة +ThisPageIsTranslationOf=الصفخة\\الحاوية هي ترجمة لـ +ThisPageHasTranslationPages=هذه الصفحة \\الحاوية لديها ترجمة +NoWebSiteCreateOneFirst=لم يتم إنشاء موقع إلكتروني . قم بإنشاء واحد اولاً +GoTo=ذهاب الى +DynamicPHPCodeContainsAForbiddenInstruction=لقد اضفت ترميز نص بي اتش بي والذي يحتوي على التعليمة "%s" وهو ممنوع إبتداءاً في المحتوى المتحرك (راجع الخيار المخفي WEBSITE_PHP_ALLOW_xxx لزيادة قائمة التلعيمات المسموح بها). +NotAllowedToAddDynamicContent=ليس لديك إذن لإضافة او تعديل محتوى بي اتش بي متحرك في المواقع الإلكترونية. اطلب اذناً او حافظ على الترميز داخل رموز بي اتش بي بدون تعديل +ReplaceWebsiteContent=بحث او إستبدال محتوى الموقع +DeleteAlsoJs=حذف جميع ملفات الجافا سكربت الخاصة بهذا الموقع الإلكتروني ؟ +DeleteAlsoMedias=حذف محتويات الاستديو الخاصة بهذا الموقع الإلكتروني ؟ +MyWebsitePages=صفحات موقعي الإلكتروني +SearchReplaceInto=بحث|إستبدال +ReplaceString=النص البديل +CSSContentTooltipHelp=ادخل هنا محتوى نصوص المظهر المتشعبة . لتجنب اي تعارض مع ملفات مظهر لتطبيقات اخرى تأكد من إستباق جميع التعريفات بالفئة .bodywebsite . على بيل المثال :

    #mycssselector, input.myclass:hover { ... }
    لابد ان تكتب
    .bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }

    ملاحظة : إذا كان لديك ملف كبير بدون السابقة يمكنك إستخدام lessc لتحويل الملف وإضافة السابقة .bodywebsite في كل مكان. +LinkAndScriptsHereAreNotLoadedInEditor=تحذير : هذا المحتوى هو المخرجات فقط عند الوصول للموقع من جهة الخادم. وهو ليس المحتوى المستخدم في وضع التعديل لذلك اذا كنت تريد تحميل ملف جافاسكربت في وضع التعديل فقط اضف وسمك 'script src=...' للصفحة +Dynamiccontent=مثال على صفحة مع محتوى متحرك +ImportSite=إستيراد قالب موقع إلكتروني +EditInLineOnOff=وضع التعديل على السطر %s +ShowSubContainersOnOff=وضع تنفيذ المحتوى المتحرك %s +GlobalCSSorJS=ملف ترويسات المظهر\\جافاسكربت للموقع الإلكتروني +BackToHomePage=عودة الى الصفحة الرئيسية +TranslationLinks=روابط الترجمة +YouTryToAccessToAFileThatIsNotAWebsitePage=انت تحاول الوصول الى صفحة غير متاحة
    (مرجع=%s،النوع=%s،الحالة=%s) +UseTextBetween5And70Chars=لافضل إستخدام لتسريع محركات البحث، إستخدم نص ما بين 5 و 70 حرف. +MainLanguage=اللغة الرئيسية +OtherLanguages=لغات اخرى +UseManifest=تقديم ملف قائمة جسون +PublicAuthorAlias=لقب المحرر العام +AvailableLanguagesAreDefinedIntoWebsiteProperties=اللغات المتاحة معرفة في خصائص الموقع الإلكتروني +ReplacementDoneInXPages=تم الاستبدال في %s صفحة او حاوية +RSSFeed=خلاصات المقالات +RSSFeedDesc=يمكنك الحصول على خلاصات المقالات من النوع "مدونة" بإستخدام الرابط +PagesRegenerated=تم توليد %s صفحة\\حاوية +RegenerateWebsiteContent=إعادة توليد ملفات الموقع الإلكترونية المؤقتة +AllowedInFrames=مسموح بها في الإطارات +DefineListOfAltLanguagesInWebsiteProperties=عرف قائمة بكل اللغات المتاحة في خصائص الموقع +GenerateSitemaps=توليد ملف خريطة الموقع +ConfirmGenerateSitemaps=إذا اكدت ، ستقوم بحذف ملف خرطة الموقع الحالي... +ConfirmSitemapsCreation=تأكيد توليد خريطة الموقع +SitemapGenerated=تم توليد ملف خريطة الموقع %s +ImportFavicon=الايقونة +ErrorFaviconType=الأيقونة لابد ان تكون بي ان جي +ErrorFaviconSize=لابد ان يكون حجم الأيقونة 16x16 ، 32x32 او 64x64 +FaviconTooltip=رفع صورة بي ان جي (16x16،32x32 او 64x64) diff --git a/htdocs/langs/ar_SA/withdrawals.lang b/htdocs/langs/ar_SA/withdrawals.lang index de0c72a1e64..cbf62c2b2ac 100644 --- a/htdocs/langs/ar_SA/withdrawals.lang +++ b/htdocs/langs/ar_SA/withdrawals.lang @@ -1,152 +1,152 @@ # Dolibarr language file - Source file is en_US - withdrawals -CustomersStandingOrdersArea=Payments by Direct debit orders -SuppliersStandingOrdersArea=Payments by Credit transfer -StandingOrdersPayment=Direct debit payment orders -StandingOrderPayment=Direct debit payment order -NewStandingOrder=New direct debit order -NewPaymentByBankTransfer=New payment by credit transfer -StandingOrderToProcess=لعملية -PaymentByBankTransferReceipts=Credit transfer orders -PaymentByBankTransferLines=Credit transfer order lines -WithdrawalsReceipts=Direct debit orders -WithdrawalReceipt=Direct debit order -BankTransferReceipts=Credit transfer orders -BankTransferReceipt=Credit transfer order -LatestBankTransferReceipts=Latest %s credit transfer orders -LastWithdrawalReceipts=Latest %s direct debit files -WithdrawalsLine=Direct debit order line -CreditTransferLine=Credit transfer line -WithdrawalsLines=Direct debit order lines -CreditTransferLines=Credit transfer lines -RequestStandingOrderToTreat=Requests for direct debit payment order to process -RequestStandingOrderTreated=Requests for direct debit payment order processed -RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process -RequestPaymentsByBankTransferTreated=Requests for credit transfer processed -NotPossibleForThisStatusOfWithdrawReceiptORLine=لم يكن ممكنا حتى الآن. سحب يجب أن يتم تعيين الحالة إلى "الفضل" قبل أن يعلن رفض على خطوط محددة. -NbOfInvoiceToWithdraw=No. of qualified customer invoices with waiting direct debit order -NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information -NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer -SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer -InvoiceWaitingWithdraw=Invoice waiting for direct debit -InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer +CustomersStandingOrdersArea=المدفوعات بأوامر الخصم المباشر +SuppliersStandingOrdersArea=المدفوعات عن طريق تحويل الائتمان +StandingOrdersPayment=أوامر الدفع بالخصم المباشر +StandingOrderPayment=أمر دفع الخصم المباشر +NewStandingOrder=أمر خصم مباشر جديد +NewPaymentByBankTransfer=سداد جديد عن طريق تحويل الرصيد +StandingOrderToProcess=لمعالجة +PaymentByBankTransferReceipts=أوامر تحويل الرصيد +PaymentByBankTransferLines=بنود أوامر تحويل الرصيد +WithdrawalsReceipts=أوامر الخصم المباشر +WithdrawalReceipt=أمر الخصم المباشر +BankTransferReceipts=أوامر تحويل الرصيد +BankTransferReceipt=أمر تحويل رصيد +LatestBankTransferReceipts=أحدث %s أوامر تحويل الرصيد +LastWithdrawalReceipts=أحدث %s ملفات الخصم المباشر +WithdrawalsLine=بند أمر الخصم المباشر +CreditTransferLine=بند تحويل الرصيد +WithdrawalsLines=بنود أوامر الخصم المباشر +CreditTransferLines=بنود تحويل الرصيد +RequestStandingOrderToTreat=طلبات معالجة أمر الدفع بالخصم المباشر +RequestStandingOrderTreated= الطلبات الخاصة بأمر الدفع بالخصم المباشر معالجة +RequestPaymentsByBankTransferToTreat=طلبات تحويل رصيد للمعالجة +RequestPaymentsByBankTransferTreated=طلبات تحويل الرصيد معالجة +NotPossibleForThisStatusOfWithdrawReceiptORLine=ليس من الممكن بعد. يجب ضبط حالة السحب على "مدين" قبل التصريح عن الرفض في بنود معينة. +NbOfInvoiceToWithdraw=عدد فواتير العميل المؤهلة بانتظار أمر الخصم المباشر +NbOfInvoiceToWithdrawWithInfo=رقم فاتورة العميل مع أوامر الدفع بالخصم المباشر التي تحتوي على معلومات حساب مصرفي محددة +NbOfInvoiceToPayByBankTransfer=عدد فواتير الموردين المؤهلين التي تنتظر الدفع عن طريق تحويل الرصيد +SupplierInvoiceWaitingWithdraw=فاتورة المورد بانتظار الدفع عن طريق تحويل الرصيد +InvoiceWaitingWithdraw=فاتورة بانتظار الخصم المباشر +InvoiceWaitingPaymentByBankTransfer=فاتورة بانتظار تحويل الرصيد AmountToWithdraw=سحب المبلغ -NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoice card to make a request. -NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. -ResponsibleUser=User Responsible -WithdrawalsSetup=Direct debit payment setup -CreditTransferSetup=Credit transfer setup -WithdrawStatistics=Direct debit payment statistics -CreditTransferStatistics=Credit transfer statistics +NoInvoiceToWithdraw=لا توجد فاتورة مفتوحة لـ "%s" في الانتظار. انتقل إلى علامة التبويب "%s" في بطاقة الفاتورة لتقديم طلب. +NoSupplierInvoiceToWithdraw=لا توجد فاتورة مورد مع "طلبات ائتمان مباشرة" مفتوحة في انتظارك. انتقل إلى علامة التبويب "%s" في بطاقة الفاتورة لتقديم طلب. +ResponsibleUser=المستخدم المسؤول +WithdrawalsSetup=إعداد دفع الخصم المباشر +CreditTransferSetup=إعداد تحويل الرصيد +WithdrawStatistics=إحصائيات دفع الخصم المباشر +CreditTransferStatistics=إحصاءات تحويل الائتمان Rejects=ترفض -LastWithdrawalReceipt=Latest %s direct debit receipts -MakeWithdrawRequest=Make a direct debit payment request -MakeBankTransferOrder=Make a credit transfer request -WithdrawRequestsDone=%s direct debit payment requests recorded -BankTransferRequestsDone=%s credit transfer requests recorded -ThirdPartyBankCode=Third-party bank code -NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +LastWithdrawalReceipt=أحدث %s إيصالات الخصم المباشر +MakeWithdrawRequest=تقديم طلب دفع الخصم المباشر +MakeBankTransferOrder=قدم طلب تحويل رصيد +WithdrawRequestsDone=%s تم تسجيل طلبات الدفع بالخصم المباشر +BankTransferRequestsDone=%s تم تسجيل طلبات تحويل الرصيد +ThirdPartyBankCode=كود بنك الطرف الثالث +NoInvoiceCouldBeWithdrawed=لم يتم الخصم من فاتورة بنجاح. تحقق من أن الفواتير موجودة في الشركات التي لديها رقم IBAN صالح وأن IBAN يحتوي على UMR (مرجع تفويض فريد) بالوضع %s . +WithdrawalCantBeCreditedTwice=تم بالفعل تمييز إيصال السحب هذا على أنه مدين ؛ لا يمكن القيام بذلك مرتين ، حيث من المحتمل أن يؤدي ذلك إلى إنشاء مدفوعات وإدخالات بنكية مكررة. ClassCredited=تصنيف حساب -ClassCreditedConfirm=هل أنت متأكد من أن يصنف هذا الانسحاب كما تلقي على حساب حسابك المصرفي؟ +ClassCreditedConfirm=هل أنت متأكد من أنك تريد تصنيف إيصال السحب هذا على أنه مقيد في حسابك المصرفي؟ TransData=تاريخ الإرسال -TransMetod=طريقة البث +TransMetod=طريقة الإرسال Send=إرسال -Lines=خطوط -StandingOrderReject=رفض إصدار -WithdrawsRefused=Direct debit refused -WithdrawalRefused=سحب Refuseds -CreditTransfersRefused=Credit transfers refused -WithdrawalRefusedConfirm=هل أنت متأكد أنك تريد الدخول في رفض الانسحاب للمجتمع +Lines=بنود +StandingOrderReject=إصدار رفض +WithdrawsRefused=رفض الخصم المباشر +WithdrawalRefused=رفض السحب +CreditTransfersRefused=رفض تحويلات الائتمان +WithdrawalRefusedConfirm=هل أنت متأكد أنك تريد الدخول في رفض سحب المجتمع RefusedData=تاريخ الرفض RefusedReason=أسباب الرفض -RefusedInvoicing=رفض الفواتير -NoInvoiceRefused=لا تهمة الرفض -InvoiceRefused=رفضت فاتورة (اشحن الرفض للعملاء) -StatusDebitCredit=Status debit/credit +RefusedInvoicing=فوترة الرفض +NoInvoiceRefused=لا تتهم الرفض +InvoiceRefused=تم رفض الفاتورة (فرض رسوم الرفض على العميل) +StatusDebitCredit=حالة الخصم | الائتمان StatusWaiting=انتظار StatusTrans=أحال -StatusDebited=Debited -StatusCredited=الفضل -StatusPaid=دفع +StatusDebited=خصم +StatusCredited=قبد +StatusPaid=سدد StatusRefused=رفض StatusMotif0=غير محدد -StatusMotif1=توفير insuffisante -StatusMotif2=Tirage conteste -StatusMotif3=No direct debit payment order -StatusMotif4=Sales Order -StatusMotif5=الضلع inexploitable +StatusMotif1=رصيد غير كاف +StatusMotif2=طلب متنازع عليه +StatusMotif3=لا يوجد أمر دفع الخصم المباشر +StatusMotif4=امر بيع +StatusMotif5=RIB غير قابل للاستخدام StatusMotif6=حساب بدون رصيد StatusMotif7=قرار قضائي StatusMotif8=سبب آخر -CreateForSepaFRST=Create direct debit file (SEPA FRST) -CreateForSepaRCUR=Create direct debit file (SEPA RCUR) -CreateAll=Create direct debit file (all) -CreateFileForPaymentByBankTransfer=Create file for credit transfer -CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) -CreateGuichet=مكتب فقط -CreateBanque=البنك الوحيد -OrderWaiting=الانتظار لتلقي العلاج -NotifyTransmision=Record file transmission of order -NotifyCredit=Record credit of order -NumeroNationalEmetter=رقم المرسل وطنية -WithBankUsingRIB=عن الحسابات المصرفية باستخدام RIB -WithBankUsingBANBIC=عن الحسابات المصرفية باستخدام IBAN / BIC / SWIFT -BankToReceiveWithdraw=Receiving Bank Account -BankToPayCreditTransfer=Bank Account used as source of payments +CreateForSepaFRST=إنشاء ملف الخصم المباشر (SEPA FRST) +CreateForSepaRCUR=إنشاء ملف الخصم المباشر (SEPA RCUR) +CreateAll=إنشاء ملف الخصم المباشر (الكل) +CreateFileForPaymentByBankTransfer=إنشاء ملف لتحويل الرصيد +CreateSepaFileForPaymentByBankTransfer=إنشاء ملف تحويل رصيد (SEPA) +CreateGuichet=فقط المكتب +CreateBanque=فقط البنك +OrderWaiting=في انتظار المعالجة +NotifyTransmision=تسجيل ملف نقل الامر +NotifyCredit=تسجيل ائتمان الامر +NumeroNationalEmetter=رقم الارسال الوطني +WithBankUsingRIB=للحسابات المصرفية باستخدام RIB +WithBankUsingBANBIC=للحسابات المصرفية باستخدام IBAN / BIC / SWIFT +BankToReceiveWithdraw=استلام حساب مصرفي +BankToPayCreditTransfer=استخدام الحساب المصرفي كمصدر للمدفوعات CreditDate=الائتمان على -WithdrawalFileNotCapable=غير قادر على توليد ملف استلام الانسحاب لبلدكم٪ الصورة (لا يتم اعتماد البلد) -ShowWithdraw=Show Direct Debit Order -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -WithdrawalFile=Debit order file -CreditTransferFile=Credit transfer file -SetToStatusSent=تعيين إلى حالة "المرسلة ملف" -ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null -StatisticsByLineStatus=إحصاءات عن طريق وضع خطوط +WithdrawalFileNotCapable=تعذر إنشاء ملف إيصال السحب لبلدك %s (بلدك غير مدعوم) +ShowWithdraw=عرض أمر الخصم المباشر +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=ومع ذلك ، إذا كانت الفاتورة تحتوي على أمر دفع خصم مباشر واحد على الأقل لم تتم معالجته بعد ، فلن يتم تعيينها على أنها مدفوعة للسماح بإدارة السحب المسبق. +DoStandingOrdersBeforePayments=تتيح لك علامة التبويب هذه طلب أمر دفع الخصم المباشر. بمجرد الانتهاء من ذلك ، انتقل إلى القائمة بنك-> الدفع عن طريق الخصم المباشر لإنشاء أمر الخصم المباشر وإدارته. عند إغلاق أمر الخصم المباشر ، سيتم تسجيل الدفع على الفواتير تلقائيًا ، وإغلاق الفواتير إذا كان الباقي للدفع فارغًا. +DoCreditTransferBeforePayments=تتيح لك علامة التبويب هذه طلب أمر تحويل رصيد. بمجرد الانتهاء من ذلك ، انتقل إلى القائمة بنك-> الدفع عن طريق تحويل الرصيد لإنشاء أمر تحويل الرصيد وإدارته. عند إغلاق أمر تحويل الرصيد ، سيتم تسجيل الدفع على الفواتير تلقائيًا ، وإغلاق الفواتير إذا كان الباقي للدفع فارغًا. +WithdrawalFile=ملف أمر الخصم +CreditTransferFile=ملف تحويل رصيد +SetToStatusSent=تعيين إلى الحالة "ملف مرسل" +ThisWillAlsoAddPaymentOnInvoice=سيؤدي هذا أيضًا إلى تسجيل المدفوعات على الفواتير وسيصنفها على أنها "مدفوعة" إذا بقيت للدفع لاغية +StatisticsByLineStatus=الإحصائيات حسب حالة البنود RUM=UMR -DateRUM=Mandate signature date -RUMLong=Unique Mandate Reference -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) -WithdrawRequestAmount=Amount of Direct debit request: -BankTransferAmount=Amount of Credit Transfer request: -WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount. -SepaMandate=SEPA Direct Debit Mandate -SepaMandateShort=SEPA Mandate -PleaseReturnMandate=Please return this mandate form by email to %s or by mail to -SEPALegalText=By signing this mandate form, you authorize (A) %s to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from %s. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights regarding the above mandate are explained in a statement that you can obtain from your bank. -CreditorIdentifier=Creditor Identifier -CreditorName=Creditor Name -SEPAFillForm=(B) Please complete all the fields marked * -SEPAFormYourName=Your name -SEPAFormYourBAN=Your Bank Account Name (IBAN) -SEPAFormYourBIC=Your Bank Identifier Code (BIC) -SEPAFrstOrRecur=Type of payment -ModeRECUR=Recurring payment -ModeFRST=One-off payment -PleaseCheckOne=Please check one only -CreditTransferOrderCreated=Credit transfer order %s created -DirectDebitOrderCreated=Direct debit order %s created -AmountRequested=Amount requested +DateRUM=تاريخ توقيع التفويض +RUMLong=مرجع التفويض الفريد +RUMWillBeGenerated=إذا كانت فارغة ، فسيتم إنشاء UMR (مرجع التفويض الفريد) بمجرد حفظ معلومات الحساب المصرفي. +WithdrawMode=وضع الخصم المباشر (FRST أو RECUR) +WithdrawRequestAmount=مبلغ طلب الخصم المباشر: +BankTransferAmount=مبلغ طلب تحويل الرصيد: +WithdrawRequestErrorNilAmount=تعذر إنشاء طلب الخصم المباشر لمبلغ فارغ. +SepaMandate=تفويض الخصم المباشر لمنطقة الدفعات الأوروبية الموحدة (SEPA) +SepaMandateShort=تفويض SEPA +PleaseReturnMandate=يرجى إعادة نموذج التفويض هذا بالبريد الإلكتروني إلى %s أو بالبريد إلى +SEPALegalText=من خلال التوقيع على نموذج التفويض هذا ، فإنك تفوض (أ) %s لإرسال تعليمات إلى البنك الخاص بك للخصم من حسابك و (ب) البنك الذي تتعامل معه للخصم من حسابك وفقًا للتعليمات الواردة من %s. كجزء من حقوقك ، يحق لك استرداد الأموال من البنك الذي تتعامل معه بموجب شروط وأحكام اتفاقيتك مع البنك الذي تتعامل معه. يجب المطالبة باسترداد الأموال في غضون 8 أسابيع بدءًا من تاريخ الخصم من حسابك. يتم توضيح حقوقك فيما يتعلق بالولاية المذكورة أعلاه في بيان يمكنك الحصول عليه من البنك الذي تتعامل معه. +CreditorIdentifier=معرف الدائن +CreditorName=اسم الدائن +SEPAFillForm=(ب) الرجاء استكمال جميع الحقول المعلمة * +SEPAFormYourName=اسمك +SEPAFormYourBAN=اسم حسابك المصرفي (IBAN) +SEPAFormYourBIC=كود معرف البنك الخاص بك (BIC) +SEPAFrstOrRecur=طريقة السداد +ModeRECUR=السداد المتكرر +ModeFRST=السداد مرة واحدة +PleaseCheckOne=يرجى تحديد واحد فقط +CreditTransferOrderCreated=تم إنشاء %s أمر تحويل الرصيد +DirectDebitOrderCreated=تم إنشاء %s أمر الخصم المباشر +AmountRequested=المبلغ المطلوب SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST -ExecutionDate=Execution date -CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer -END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction +ExecutionDate=تاريخ التنفيذ +CreateForSepa=إنشاء ملف الخصم المباشر +ICS=Creditor Identifier - ICS +END_TO_END=علامة "EndToEndId" SEPA XML - معرف فريد يتم تعيينه لكل معاملة USTRD="Unstructured" SEPA XML tag -ADDDAYS=Add days to Execution Date -NoDefaultIBANFound=No default IBAN found for this third party +ADDDAYS=أضف أيام إلى تاريخ التنفيذ +NoDefaultIBANFound=لم يتم العثور على رقم IBAN افتراضي لهذا الطرف الثالث ### Notifications -InfoCreditSubject=Payment of direct debit payment order %s by the bank -InfoCreditMessage=The direct debit payment order %s has been paid by the bank
    Data of payment: %s -InfoTransSubject=Transmission of direct debit payment order %s to bank -InfoTransMessage=The direct debit payment order %s has been sent to bank by %s %s.

    +InfoCreditSubject=دفع البنك لأمر الدفع %s بالخصم المباشر +InfoCreditMessage=تم دفع أمر الدفع بالخصم المباشر %s من قبل البنك
    بيانات الدفع: %s +InfoTransSubject=تحويل أمر الدفع بالخصم المباشر %s إلى البنك +InfoTransMessage=تم إرسال أمر الدفع بالخصم المباشر %s إلى البنك عن طريق %s %s.

    InfoTransData=المبلغ: %s
    Metode: %s
    تاريخ: %s -InfoRejectSubject=Direct debit payment order refused -InfoRejectMessage=Hello,

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

    --
    %s -ModeWarning=لم يتم تعيين خيار الوضع الحقيقي، ونحن بعد توقف هذه المحاكاة -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +InfoRejectSubject=تم رفض أمر الدفع بالخصم المباشر +InfoRejectMessage=مرحبًا ،

    رفض البنك أمر الدفع بالخصم المباشر للفاتورة %s المتعلقة بالشركة %s ، مع مبلغ %s من قبل البنك.

    -
    %s +ModeWarning=لم يتم تعيين خيار الوضع الحقيقي ، نتوقف بعد هذه المحاكاة +ErrorCompanyHasDuplicateDefaultBAN=تمتلك الشركة ذات المعرف %s أكثر من حساب مصرفي افتراضي. لا توجد طريقة لمعرفة أي واحد يستخدم. +ErrorICSmissing=ICS مفقود في الحساب المصرفي %s +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=يختلف المبلغ الإجمالي لأمر الخصم المباشر عن مجموع البنود diff --git a/htdocs/langs/ar_SA/workflow.lang b/htdocs/langs/ar_SA/workflow.lang index d8b35f8cfe8..b20685899d3 100644 --- a/htdocs/langs/ar_SA/workflow.lang +++ b/htdocs/langs/ar_SA/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/az_AZ/accountancy.lang b/htdocs/langs/az_AZ/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/az_AZ/accountancy.lang +++ b/htdocs/langs/az_AZ/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/az_AZ/admin.lang b/htdocs/langs/az_AZ/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/az_AZ/admin.lang +++ b/htdocs/langs/az_AZ/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/az_AZ/agenda.lang b/htdocs/langs/az_AZ/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/az_AZ/agenda.lang +++ b/htdocs/langs/az_AZ/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/az_AZ/banks.lang b/htdocs/langs/az_AZ/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/az_AZ/banks.lang +++ b/htdocs/langs/az_AZ/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/az_AZ/bills.lang b/htdocs/langs/az_AZ/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/az_AZ/bills.lang +++ b/htdocs/langs/az_AZ/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/az_AZ/boxes.lang b/htdocs/langs/az_AZ/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/az_AZ/boxes.lang +++ b/htdocs/langs/az_AZ/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/az_AZ/cashdesk.lang b/htdocs/langs/az_AZ/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/az_AZ/cashdesk.lang +++ b/htdocs/langs/az_AZ/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/az_AZ/compta.lang b/htdocs/langs/az_AZ/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/az_AZ/compta.lang +++ b/htdocs/langs/az_AZ/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/az_AZ/cron.lang b/htdocs/langs/az_AZ/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/az_AZ/cron.lang +++ b/htdocs/langs/az_AZ/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/az_AZ/deliveries.lang b/htdocs/langs/az_AZ/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/az_AZ/deliveries.lang +++ b/htdocs/langs/az_AZ/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/az_AZ/errors.lang b/htdocs/langs/az_AZ/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/az_AZ/errors.lang +++ b/htdocs/langs/az_AZ/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/az_AZ/eventorganization.lang b/htdocs/langs/az_AZ/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/az_AZ/eventorganization.lang +++ b/htdocs/langs/az_AZ/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/az_AZ/exports.lang b/htdocs/langs/az_AZ/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/az_AZ/exports.lang +++ b/htdocs/langs/az_AZ/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/az_AZ/holiday.lang b/htdocs/langs/az_AZ/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/az_AZ/holiday.lang +++ b/htdocs/langs/az_AZ/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/az_AZ/hrm.lang b/htdocs/langs/az_AZ/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/az_AZ/hrm.lang +++ b/htdocs/langs/az_AZ/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/az_AZ/install.lang b/htdocs/langs/az_AZ/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/az_AZ/install.lang +++ b/htdocs/langs/az_AZ/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/az_AZ/interventions.lang b/htdocs/langs/az_AZ/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/az_AZ/interventions.lang +++ b/htdocs/langs/az_AZ/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/az_AZ/knowledgemanagement.lang b/htdocs/langs/az_AZ/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/az_AZ/knowledgemanagement.lang +++ b/htdocs/langs/az_AZ/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/az_AZ/languages.lang b/htdocs/langs/az_AZ/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/az_AZ/languages.lang +++ b/htdocs/langs/az_AZ/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/az_AZ/mails.lang b/htdocs/langs/az_AZ/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/az_AZ/mails.lang +++ b/htdocs/langs/az_AZ/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/az_AZ/main.lang b/htdocs/langs/az_AZ/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/az_AZ/main.lang +++ b/htdocs/langs/az_AZ/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/az_AZ/members.lang b/htdocs/langs/az_AZ/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/az_AZ/members.lang +++ b/htdocs/langs/az_AZ/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/az_AZ/modulebuilder.lang b/htdocs/langs/az_AZ/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/az_AZ/modulebuilder.lang +++ b/htdocs/langs/az_AZ/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/az_AZ/mrp.lang b/htdocs/langs/az_AZ/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/az_AZ/mrp.lang +++ b/htdocs/langs/az_AZ/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/az_AZ/orders.lang b/htdocs/langs/az_AZ/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/az_AZ/orders.lang +++ b/htdocs/langs/az_AZ/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/az_AZ/other.lang b/htdocs/langs/az_AZ/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/az_AZ/other.lang +++ b/htdocs/langs/az_AZ/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/az_AZ/partnership.lang b/htdocs/langs/az_AZ/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/az_AZ/partnership.lang +++ b/htdocs/langs/az_AZ/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/az_AZ/productbatch.lang b/htdocs/langs/az_AZ/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/az_AZ/productbatch.lang +++ b/htdocs/langs/az_AZ/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/az_AZ/products.lang b/htdocs/langs/az_AZ/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/az_AZ/products.lang +++ b/htdocs/langs/az_AZ/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/az_AZ/projects.lang b/htdocs/langs/az_AZ/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/az_AZ/projects.lang +++ b/htdocs/langs/az_AZ/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/az_AZ/receptions.lang b/htdocs/langs/az_AZ/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/az_AZ/receptions.lang +++ b/htdocs/langs/az_AZ/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/az_AZ/salaries.lang b/htdocs/langs/az_AZ/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/az_AZ/salaries.lang +++ b/htdocs/langs/az_AZ/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/az_AZ/stocks.lang b/htdocs/langs/az_AZ/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/az_AZ/stocks.lang +++ b/htdocs/langs/az_AZ/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/az_AZ/ticket.lang b/htdocs/langs/az_AZ/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/az_AZ/ticket.lang +++ b/htdocs/langs/az_AZ/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/az_AZ/trips.lang b/htdocs/langs/az_AZ/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/az_AZ/trips.lang +++ b/htdocs/langs/az_AZ/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/az_AZ/users.lang b/htdocs/langs/az_AZ/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/az_AZ/users.lang +++ b/htdocs/langs/az_AZ/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/az_AZ/website.lang b/htdocs/langs/az_AZ/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/az_AZ/website.lang +++ b/htdocs/langs/az_AZ/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/az_AZ/withdrawals.lang b/htdocs/langs/az_AZ/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/az_AZ/withdrawals.lang +++ b/htdocs/langs/az_AZ/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/az_AZ/workflow.lang b/htdocs/langs/az_AZ/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/az_AZ/workflow.lang +++ b/htdocs/langs/az_AZ/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/bg_BG/accountancy.lang b/htdocs/langs/bg_BG/accountancy.lang index 8d5723bf0e8..008cb7da5e5 100644 --- a/htdocs/langs/bg_BG/accountancy.lang +++ b/htdocs/langs/bg_BG/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Държави извън ЕИО CountriesInEECExceptMe=Държави в ЕИО, с изключение на %s CountriesExceptMe=Всички държави с изключение на %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Дължина на счетоводните смет ACCOUNTING_MANAGE_ZERO=Разрешава управление на различен брой нули в края на счетоводна сметка. Необходимо е в някои страни като Швейцария. Ако е изключено (по подразбиране) може да зададете следните два параметъра, за да поискате от системата да добави виртуални нули. BANK_DISABLE_DIRECT_INPUT=Деактивиране на директно добавяне на транзакция в банкова сметка ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Активиране на експортиране на журнали в състояние на чернова -ACCOUNTANCY_COMBO_FOR_AUX=Активиране на комбиниран списък за дъщерна сметка (може да създаде забавяне, ако имате много контрагенти) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Преглед на списъка с клиенти и д ListAccounts=Списък на счетоводни сметки UnknownAccountForThirdparty=Неизвестна сметна на контрагент. Ще използваме %s UnknownAccountForThirdpartyBlocking=Неизвестна сметка на контрагент. Блокираща грешка. -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Сметката на контрагента не е определена или контрагента е неизвестен. Ще използваме %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Неизвестен контрагент или недефинирана счетоводна сметка за това плащане. Ще запазим счетоводната сметка без стойност. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Сметката на контрагента не е определена или контрагента е неизвестен. Блокираща грешка. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Неизвестна сметка на контрагент и сметка за изчакване не са определени. Блокираща грешка. PaymentsNotLinkedToProduct=Плащането не е свързано с нито един продукт / услуга OpeningBalance=Начално салдо @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Експортиране на журнал в чернова Modelcsv=Модел на експортиране Selectmodelcsv=Изберете модел на експортиране @@ -335,7 +339,7 @@ Modelcsv_normal=Класическо експортиране Modelcsv_CEGID=Експортиране за CEGID Expert Comptabilité Modelcsv_COALA=Експортиране за Sage Coala Modelcsv_bob50=Експортиране за Sage BOB 50 -Modelcsv_ciel=Експортиране за Sage Ciel Compta или Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Експортиране за Quadratus QuadraCompta Modelcsv_ebp=Експортиране за EBP Modelcsv_cogilog=Експортиране за Cogilog diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index 80fdece280d..30f91c0d821 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -53,6 +53,7 @@ InternalUser=Вътрешен потребител ExternalUser=Външен потребител InternalUsers=Вътрешни потребители ExternalUsers=Външни потребители +UserInterface=User interface GUISetup=Интерфейс SetupArea=Настройки UploadNewTemplate=Качване на нов(и) шаблон(и) @@ -84,6 +85,7 @@ NumberOfBytes=Брой байтове SearchString=Низ за търсене NotAvailableWhenAjaxDisabled=Не е налице, когато Ajax е деактивиран AllowToSelectProjectFromOtherCompany=В документ на контрагент може да бъде избран проект, свързан с друг контрагент +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript е деактивиран UsePreviewTabs=Използвайте разделите за преглед ShowPreview=Показване на преглед @@ -116,6 +118,7 @@ MultiCurrencySetup=Настройки на различни валути MenuLimits=Граници и точност MenuIdParent=Идентификатор на основно меню DetailMenuIdParent=Идентификатор на основно меню (празно за главно меню) +ParentID=Parent ID DetailPosition=Номер за сортиране, за определяне на позицията на менюто AllMenus=Всички NotConfigured=Модулът / приложението не е конфигуриран(о) @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Функцията се предлага само BoxesDesc=Джаджите са компоненти, показващи информация, които може да добавите, за да персонализирате някои страници. Можете да избирате между показване на джаджата или не, като изберете целевата страница и кликнете върху 'Активиране', или като кликнете върху кошчето, за да я деактивирате. OnlyActiveElementsAreShown=Показани са само елементи от активни модули. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Може да намерите още модули за изтегляне от външни уеб сайтове в интернет... ModulesDeployDesc=Ако разрешенията във вашата файлова система го позволяват, можете да използвате този инструмент за инсталиране на външен модул. След това модулът ще се вижда в раздела %s. ModulesMarketPlaces=Намиране на външно приложение / модул @@ -221,8 +225,8 @@ NotCompatible=Този модул не изглежда съвместим с Do CompatibleAfterUpdate=Този модул изисква актуализация на вашия Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Вижте в онлайн магазина SeeSetupOfModule=Вижте настройката на модул %s +SetOptionTo=Set option %s to %s Updated=Актуализиран -Nouveauté=Новост AchatTelechargement=Купуване / Изтегляне GoModuleSetupArea=За да разположите / инсталирате нов модул, отидете в секцията за настройка на модул: %s. DoliStoreDesc=DoliStore, официалният пазар за Dolibarr ERP / CRM външни модули @@ -399,6 +403,7 @@ SecurityToken=Ключ за защитени URL адреси NoSmsEngine=Няма наличен мениджър за подател на SMS. Мениджърът на подателя на SMS не е инсталиран по подразбиране, защото зависи от външен доставчик, но можете да намерите някои от тях на адрес %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Скриване на цялата информация, свързана с данък върху продажбите / ДДС PDFRulesForSalesTax=Правила за данък върху продажбите / ДДС @@ -561,7 +566,7 @@ Module53Desc=Управление на услуги Module54Name=Договори / Абонаменти Module54Desc=Управление на договори (услуги или периодични абонаменти) Module55Name=Баркодове -Module55Desc=Управление на баркодове +Module55Desc=Barcode or QR code management Module56Name=Плащане с кредитен превод Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Създаване / променяне на отстъпки Permission403=Валидиране на отстъпки Permission404=Изтриване на отстъпки Permission430=Използване на инструменти за отстраняване на грешки -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Създаване / променяне на плащания на заплати -Permission514=Изтриване на плащания на заплати -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Експортиране на заплати Permission520=Преглед на кредити Permission522=Създаване / променяне на кредити @@ -965,6 +970,8 @@ Permission23003=Изтриване на планирани задачи Permission23004=Стартиране на планирани задачи Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Преглед на транзакции Permission50202=Импортиране на транзакции Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Измервателни единици DictionarySocialNetworks=Социални мрежи DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Видове отпуск +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Статус на възможността за проект / възможност DictionaryExpenseTaxCat=Разходен отчет - Транспортни категории DictionaryExpenseTaxRange=Разходен отчет - Обхват на транспортни категории DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Настройката е запазена SetupNotSaved=Настройката не е запазена @@ -1185,9 +1193,12 @@ SetupDescription2=Следните две секции са задължител SetupDescription3=%s -> %s

    Основни параметри, използвани за персонализиране на поведението по подразбиране на вашата система (например за функции, свързани с държавата). SetupDescription4=%s -> %s

    Този софтуер е пакет от много модули / приложения. Модулите, свързани с вашите нужди, трябва да бъдат активирани и конфигурирани. С активирането на тези модули ще се появят нови менюта. SetupDescription5=Менюто "Други настройки" управлява допълнителни параметри. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Проверка +Audit=Security events InfoDolibarr=Относно Dolibarr InfoBrowser=Относно браузър InfoOS=Относно ОС @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL функциите не са налични в DownloadMoreSkins=Изтегляне на повече теми SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Показване на идентификационни данни в полетата с адреси -ShowVATIntaInAddress=Скриване на вътрешнообщностния номер по ДДС в полетата с адреси +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Частичен превод MAIN_DISABLE_METEO=Деактивиране на метеорологичния изглед MeteoStdMod=Стандартен режим @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Понастоящем състоянието е %s YouUseBestDriver=Използвате драйвер %s, който е най-добрият драйвер в момента. YouDoNotUseBestDriver=Използвате драйвер %s, но драйвер %s е препоръчителен. NbOfObjectIsLowerThanNoPb=Имате само %s %s в базата данни. Това не изисква особена оптимизация. +ComboListOptim=Combo list loading optimization SearchOptim=Оптимизация на търсене -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=Имате %s %s в базата данни и константата %s е със стойност 1 в Начало -> Настройка -> Други настройки. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Използвате уеб браузъра %s. Този браузър е добър от гледна точка на сигурност и производителност. BrowserIsKO=Използвате уеб браузъра %s. Известно е, че този браузър е лош избор от гледна точка на сигурност, производителност и надеждност. Препоръчително е да използвате Firefox, Chrome, Opera или Safari. PHPModuleLoaded=PHP компонент %s е зареден @@ -1433,6 +1447,7 @@ MemberMainOptions=Основни параметри AdherentLoginRequired= Управление на входни данни за всеки член AdherentMailRequired=Необходим е имейл при създаване на нов член MemberSendInformationByMailByDefault=По подразбиране е активирано изпращането на потвърждение, чрез имейл до членове (валидиране или нов абонамент) +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Посетителят може да избира от наличните начини на плащане MEMBER_REMINDER_EMAIL=Активиране на автоматично напомняне, чрез имейл за изтекли абонаменти. Забележка: Модул %s трябва да е активиран и правилно настроен за изпращане на напомняния. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Активиране на звуково известяване AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Показване на свързания обект в календара ##### Clicktodial ##### ClickToDialSetup=Настройка на модула за набиране (ClickToDial) ClickToDialUrlDesc=URL, който се извиква при кликване върху телефонен номер. В URL адреса може да използвате маркери
    __PHONETO__, който ще бъде заменен с телефонния номер на лицето, на което ще се обаждате
    __PHONEFROM__, който ще бъде заменен с телефонния номер на обаждащия се (вашият)
    __LOGIN__, който ще бъде заменен с clicktodial потребителско име (дефиниран в картата на потребителя)
    __PASS__, който ще бъде заменен с clicktodial парола (дефинирана в картата на потребителя). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Просто използвайте връзката "tel:" за телефонни номера -ClickToDialUseTelLinkDesc=Използвайте този метод, ако вашите потребители имат softphone или софтуерен интерфейс, инсталиран на същия компютър заедно с браузъра и се обаждат, когато кликнете върху връзка във вашия браузър, която започва "tel:". Ако имате нужда от пълно сървърно решение (няма нужда от локална софтуерна инсталация), трябва да изберете стойност "Не" и да попълните следващото поле. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Точка за продажба CashDeskSetup=Настройка на модул Точка за продажби @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Дясна граница в PDF MAIN_PDF_MARGIN_TOP=Горна граница в PDF MAIN_PDF_MARGIN_BOTTOM=Долна граница в PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=За този модул не е необходима специфична настройка. SetToYesIfGroupIsComputationOfOtherGroups=Посочете стойност 'Да', ако тази група е съвкупност от други групи. EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=По-голям от IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=С GMail акаунт, ако сте активирали валидирането в 2 стъпки е препоръчително да създадете специална втора парола за приложението, вместо да използвате своята парола за акаунта от https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=Може да използвате това действие, за да намерите и заредите съществуващ контрагент във вашата база данни, чрез съдържанието на имейла. Намереният (или създаден) контрагент ще бъде използван при следващи действия, които се нуждаят от това. В полето на параметъра може да използвате, например 'EXTRACT:BODY:Name:\\s([^\\s]*)', ако искате да извлечете името на контрагента от низ 'Name: name to find', който е открит в съдържанието на имейла. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Крайна точка за %s: %s DeleteEmailCollector=Изтриване на имейл колекционер ConfirmDeleteEmailCollector=Сигурни ли те, че искате да изтриете този колекционер на имейли? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=Ако искате да имате някои текстове във вашия PDF файл, дублирани на 2 различни езика в един и същ генериран PDF файл, трябва да посочите тук този втори език, така че генерираният PDF файл да съдържа 2 различни езика на една и съща страница, избраният при генериране на PDF и този (само няколко PDF шаблона поддържат това). Запазете празно за един език в PDF файла. FafaIconSocialNetworksDesc=Въведете тук кода за FontAwesome икона. Ако не знаете какво е FontAwesome, може да използвате стандартната стойност fa-address book. -FeatureNotAvailableWithReceptionModule=Функцията не е налична, когато е активиран модул Приемане RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Препоръчителна +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/bg_BG/agenda.lang b/htdocs/langs/bg_BG/agenda.lang index d2fbae50f13..c107bd51412 100644 --- a/htdocs/langs/bg_BG/agenda.lang +++ b/htdocs/langs/bg_BG/agenda.lang @@ -4,7 +4,7 @@ Actions=Събития Agenda=Календар TMenuAgenda=Календар Agendas=Календари -LocalAgenda=Вътрешен календар +LocalAgenda=Default calendar ActionsOwnedBy=Събитие принадлежащо на ActionsOwnedByShort=Собственик AffectedTo=Възложено на @@ -14,13 +14,13 @@ EventsNb=Брой събития ListOfActions=Списък на събития EventReports=Справки за събития Location=Местоположение -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Целодневно събитие MenuToDoActions=Всички незавършени събития MenuDoneActions=Всички завършени събития MenuToDoMyActions=Мои незавършени събития MenuDoneMyActions=Мои завършени събития -ListOfEvents=Списък на събития (Вътрешен календар) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Събития, съобщени от ActionsToDoBy=Събития, възложени на ActionsDoneBy=Събития, извършени от @@ -38,6 +38,7 @@ ActionsEvents=Събития, за които Dolibarr ще създаде ав EventRemindersByEmailNotEnabled=Напомнянията за събития по имейл не са активирани в настройката на модул %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Контрагент %s е създаден +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Контрагент %s е изтрит ContractValidatedInDolibarr=Договор %s е валидиран CONTRACT_DELETEInDolibarr=Договор %s е изтрит @@ -87,6 +88,7 @@ OrderDeleted=Поръчката е изтрита InvoiceDeleted=Фактурата е изтрита DraftInvoiceDeleted=Черновата фактура е изтрита CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Продукт %s е създаден PRODUCT_MODIFYInDolibarr=Продукт %s е променен @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=Поръчка за производство е въ MRP_MO_PRODUCEDInDolibarr=Поръчка за производство е произведена MRP_MO_DELETEInDolibarr=Поръчка за производство е изтрита MRP_MO_CANCELInDolibarr=Поръчка за производство е анулирана +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Шаблони за събитие DateActionStart=Начална дата @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s, за да ограничи показван AgendaUrlOptionsProject=project=__PROJECT_ID__, за да ограничи показването до събития, които са свързани с проект __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto, за да изключи автоматичните събития. AgendaUrlOptionsIncludeHolidays=includeholidays=1, за да включи събитията с почивни дни. -AgendaShowBirthdayEvents=Показване на рождени дни на контакти +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Скриване на рождени дни на контакти Busy=Зает ExportDataset_event1=Списък на събития в календар @@ -152,6 +155,7 @@ ActionType=Тип събитие DateActionBegin=Начална дата на събитие ConfirmCloneEvent=Сигурни ли сте, че искате да клонирате събитие %s? RepeatEvent=Повтаряне на събитие +OnceOnly=Once only EveryWeek=Всяка седмица EveryMonth=Всеки месец DayOfMonth=Ден от месеца @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/bg_BG/banks.lang b/htdocs/langs/bg_BG/banks.lang index e6676b540bb..1aabf46415c 100644 --- a/htdocs/langs/bg_BG/banks.lang +++ b/htdocs/langs/bg_BG/banks.lang @@ -115,7 +115,7 @@ TransferTo=За TransferFromToDone=Прехвърлянето от %s към %s на %s %s беше записано. CheckTransmitter=Подател ValidateCheckReceipt=Валидиране на тази чекова разписка? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Изтриване на тази чекова разписка? ConfirmDeleteCheckReceipt=Сигурни ли сте, че искате да изтриете тази чекова разписка? BankChecks=Банкови чекове diff --git a/htdocs/langs/bg_BG/bills.lang b/htdocs/langs/bg_BG/bills.lang index 2933e5264e4..3a133fecad2 100644 --- a/htdocs/langs/bg_BG/bills.lang +++ b/htdocs/langs/bg_BG/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Краен срок за плащане DateInvoice=Дата на документ DatePointOfTax=Дата на данъчно събитие NoInvoice=Няма фактура +NoOpenInvoice=No open invoice ClassifyBill=Класифициране на фактура SupplierBillsToPay=Неплатени фактури за доставка CustomerBillsUnpaid=Неплатени фактури за продажба @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/bg_BG/boxes.lang b/htdocs/langs/bg_BG/boxes.lang index 0d3c7068949..12ab7aaafa6 100644 --- a/htdocs/langs/bg_BG/boxes.lang +++ b/htdocs/langs/bg_BG/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Поръчки за покупка: %s по BoxTitleLastModifiedCustomerBills=Фактури за продажба: %s последно променени BoxTitleLastModifiedCustomerOrders=Поръчки за продажба: %s последно променени BoxTitleLastModifiedPropals=Търговски предложения: %s последно променени -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Фактури за продажба ForCustomersOrders=Поръчки на продажба ForProposals=Предложения diff --git a/htdocs/langs/bg_BG/cashdesk.lang b/htdocs/langs/bg_BG/cashdesk.lang index 84872e797c1..3b4e6651634 100644 --- a/htdocs/langs/bg_BG/cashdesk.lang +++ b/htdocs/langs/bg_BG/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} тагът се използва з TakeposGroupSameProduct=Групиране на едни и същи продукти StartAParallelSale=Стартиране на нова паралелна продажба SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Паричен отчет MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/bg_BG/compta.lang b/htdocs/langs/bg_BG/compta.lang index fcb986aed2f..7a960bb4593 100644 --- a/htdocs/langs/bg_BG/compta.lang +++ b/htdocs/langs/bg_BG/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/bg_BG/cron.lang b/htdocs/langs/bg_BG/cron.lang index 91af655214e..797d98b0ff3 100644 --- a/htdocs/langs/bg_BG/cron.lang +++ b/htdocs/langs/bg_BG/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Крайната дата не може да бъде пр StatusAtInstall=Състояние при инсталиране на модула CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Деактивиране -CronTaskInactive=Тази задача е деактивирана +CronTaskInactive=This job is disabled (not scheduled) CronId=Идентификатор CronClassFile=Име на файл с клас CronModuleHelp=Име на Dolibarr директорията с модули (работи и с външен Dolibarr модул).
    Например, за да извикате метода на извличане от Dolibarr продуктов обект /htdocs/product/class/product.class.php, стойността за модула е
    product diff --git a/htdocs/langs/bg_BG/deliveries.lang b/htdocs/langs/bg_BG/deliveries.lang index b3ce159a9d2..f6ad8076ae9 100644 --- a/htdocs/langs/bg_BG/deliveries.lang +++ b/htdocs/langs/bg_BG/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Получател ErrorStockIsNotEnough=Няма достатъчна наличност Shippable=Годно за изпращане NonShippable=Негодно за изпращане +ShowShippableStatus=Show shippable status ShowReceiving=Показване на разписка за доставка NonExistentOrder=Несъществуваща поръчка +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index 183b517323b..019b89c1747 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Неправилна стойност за ва ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Потребител %s вече съществува. ErrorGroupAlreadyExists=Група %s вече съществува. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Записът не е намерен. ErrorFailToCopyFile=Неуспешно копиране на файл '%s' в '%s'. ErrorFailToCopyDir=Неуспешно копиране на директория '%s' в '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Не може да се прочете файла "%s&quo ErrorCantReadDir=Неуспех при четенето на "%s" директорията ErrorBadLoginPassword=Неправилна стойност за потребителско име или парола ErrorLoginDisabled=Вашият акаунт е забранено -ErrorFailedToRunExternalCommand=Не може да се работи на външна команда. Уверете се, тя е достъпна и изпълнима от PHP на вашия сървър. Ако PHP Safe Mode е активирана, тази команда е вътре в директория, определена от параметър safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Неуспешно да смените паролата ErrorLoginDoesNotExists=Потребителя %s не е намерен. ErrorLoginHasNoEmail=Този потребител няма имейл адрес. Процес прекратено. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Вашата стойност на PHP параметър upload_max_filesize (%s) е по-голяма от стойността на PHP параметър post_max_size (%s). Това не е последователна настройка. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bg_BG/eventorganization.lang b/htdocs/langs/bg_BG/eventorganization.lang index 2b711234122..5b03e2a63a1 100644 --- a/htdocs/langs/bg_BG/eventorganization.lang +++ b/htdocs/langs/bg_BG/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Тип събитие +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/bg_BG/exports.lang b/htdocs/langs/bg_BG/exports.lang index f371671587f..8abaa3d6bf5 100644 --- a/htdocs/langs/bg_BG/exports.lang +++ b/htdocs/langs/bg_BG/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Тип ред (0 = продукт, 1 = услуга) FileWithDataToImport=Файл с данни за импортиране FileToImport=Входен файл за импортиране FileMustHaveOneOfFollowingFormat=Файлът за импортиране трябва да бъде в един от следните формати -DownloadEmptyExample=Изтегляне на шаблонния файл с информация за съдържанието на полето (* са задължителни полета) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Изберете формата на файла, който да използвате като формат за импортиране, като кликнете върху иконата на %s, за да го изберете... ChooseFileToImport=Прикачете файл, след това кликнете върху иконата %s, за да изберете файла като източник при импортиране... SourceFileFormat=Формат на входния файл diff --git a/htdocs/langs/bg_BG/holiday.lang b/htdocs/langs/bg_BG/holiday.lang index c07dc764791..f1e21a78ad3 100644 --- a/htdocs/langs/bg_BG/holiday.lang +++ b/htdocs/langs/bg_BG/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Очаква одобрение ApprovedCP=Одобрена CancelCP=Анулирана RefuseCP=Отхвърлена -ValidatorCP=Одобряващ +ValidatorCP=Approver ListeCP=Списък с молби за отпуск Leave=Молба за отпуск LeaveId=Идентификатор на молба за отпуск @@ -39,11 +39,11 @@ TitreRequestCP=Молба за отпуск TypeOfLeaveId=Идентификатор за вид отпуск TypeOfLeaveCode=Код за вид отпуск TypeOfLeaveLabel=Име на вид отпуск -NbUseDaysCP=Брой дни използвани за отпуск -NbUseDaysCPHelp=Изчисляването отчита неработните дни и празниците, определени в речника. -NbUseDaysCPShort=Използвани дни -NbUseDaysCPShortInMonth=Използвани дни в месеца -DayIsANonWorkingDay=%s е неработен ден +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Начална дата в месеца DateEndInMonth=Крайна дата в месеца EditCP=Промяна @@ -55,7 +55,7 @@ TitleDeleteCP=Изтриване на молба за отпуск ConfirmDeleteCP=Сигурни ли сте, че искате да изтриете тази молба за отпуск? ErrorCantDeleteCP=Грешка: нямате необходимите права, за да изтриете тази молба за отпуск. CantCreateCP=Нямате право да създавате молби за отпуск. -InvalidValidatorCP=Трябва да изберете потребител, който да одобри вашата молба за отпуск. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Необходимо е да изберете начална дата. NoDateFin=Необходимо е да изберете крайна дата. ErrorDureeCP=Вашата молба за отпуск не съдържа работен ден. @@ -80,14 +80,14 @@ UserCP=Потребител ErrorAddEventToUserCP=Възникна грешка при добавяне на извънреден отпуск. AddEventToUserOkCP=Добавянето на извънредния отпуск е завършено. MenuLogCP=История на промените -LogCP=Списък с актуализации на наличните почивни дни -ActionByCP=Изпълнено от -UserUpdateCP=За потребител +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Предишен баланс NewSoldeCP=Нов баланс alreadyCPexist=Вече е създадена молба за отпуск в този период. -FirstDayOfHoliday=Първи ден от отпуск -LastDayOfHoliday=Последен ден от отпуск +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Молби за отпуск: %s последно променени HolidaysMonthlyUpdate=Месечна актуализация ManualUpdate=Ръчна актуализация @@ -104,8 +104,8 @@ LEAVE_SICK=Болничен отпуск LEAVE_OTHER=Друг отпуск LEAVE_PAID_FR=Платен отпуск ## Configuration du Module ## -LastUpdateCP=Последно автоматично актуализиране на разпределението на отпуските -MonthOfLastMonthlyUpdate=Месец на последната автоматична актуализация на разпределението на отпуските +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Успешно актуализирано. Module27130Name= Молби за отпуск Module27130Desc= Управление на молби за отпуск @@ -125,10 +125,12 @@ HolidaysCanceledBody=Вашата молба за отпуск от %s до %s FollowedByACounter=1: Този вид отпуск е необходимо да бъде проследяван от брояч. Броячът се увеличава ръчно или автоматично, а когато молбата за отпуск е валидирана, броячът се намалява.
    0: Не се проследява от брояч. NoLeaveWithCounterDefined=Няма дефинирани видове отпуск, които трябва да бъдат проследявани от брояч GoIntoDictionaryHolidayTypes=Отидете в Начало -> Настройки -> Речници -> Видове отпуски , за да настроите различните видове отпуски. -HolidaySetup=Настройка на модул Молби за отпуск -HolidaysNumberingModules=Модели за номериране на молби за отпуск +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=PDF шаблон за молби за отпуск FreeLegalTextOnHolidays=Свободен текст в молби за отпуск WatermarkOnDraftHolidayCards=Воден знак върху чернови молби за отпуск HolidaysToApprove=Молби за отпуск за одобрение NobodyHasPermissionToValidateHolidays=Никой няма права за валидиране на молби за отпуск +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/bg_BG/hrm.lang b/htdocs/langs/bg_BG/hrm.lang index 0279096bd62..82a0173d991 100644 --- a/htdocs/langs/bg_BG/hrm.lang +++ b/htdocs/langs/bg_BG/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Сигурни ли сте, че искате да и OpenEtablishment=Отваряне на обект CloseEtablishment=Затваряне на обект # Dictionary -DictionaryPublicHolidays=ЧР - Национални празници +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=ЧР - Списък с отдели DictionaryFunction=ЧР - Длъжности # Module diff --git a/htdocs/langs/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index d493acb7829..36b35d11a51 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Миграция на пътя до снимки на п MigrationFieldsSocialNetworks=Миграция на потребителски полета за социални мрежи (%s) MigrationReloadModule=Презареждане на модул %s MigrationResetBlockedLog=Нулиране на модула BlockedLog за алгоритъм v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Показване на недостъпни опции HideNotAvailableOptions=Скриване на недостъпни опции ErrorFoundDuringMigration=По време на процеса на миграция са докладвани грешки, така че следващата стъпка не е възможна. За да игнорирате грешките, може да кликнете тук , но приложението или някои функции може да не работят правилно, докато грешките не бъдат отстранени. diff --git a/htdocs/langs/bg_BG/interventions.lang b/htdocs/langs/bg_BG/interventions.lang index 83824a59f4e..f663bbaef23 100644 --- a/htdocs/langs/bg_BG/interventions.lang +++ b/htdocs/langs/bg_BG/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Продължителност на реда в интерве InterLineDesc=Описание на реда в интервенцията RepeatableIntervention=Шаблон на интервенция ToCreateAPredefinedIntervention=За да създадете предварително определена или повтаряща се интервенция, създайте интервенция и я превърнете в шаблон за интервенция. +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/bg_BG/knowledgemanagement.lang b/htdocs/langs/bg_BG/knowledgemanagement.lang index 9bbff8be3b4..2eadd0af48e 100644 --- a/htdocs/langs/bg_BG/knowledgemanagement.lang +++ b/htdocs/langs/bg_BG/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Относно KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Артикул KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/bg_BG/languages.lang b/htdocs/langs/bg_BG/languages.lang index 110313b194e..beedb980c6f 100644 --- a/htdocs/langs/bg_BG/languages.lang +++ b/htdocs/langs/bg_BG/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Арабски Language_ar_EG=Арабски (Египет) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Арабски +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Бенгали Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Холандски (Белгия) Language_nl_NL=Холандски Language_pl_PL=Полски +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Португалски (Бразилия) Language_pt_PT=Португалски +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Румънски Language_ru_RU=Руски Language_ru_UA=Руски (Украйна) diff --git a/htdocs/langs/bg_BG/mails.lang b/htdocs/langs/bg_BG/mails.lang index 17867c701c8..09d57ac8ac6 100644 --- a/htdocs/langs/bg_BG/mails.lang +++ b/htdocs/langs/bg_BG/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Изтриване на филтър AdvTgtSaveFilter=Съхраняване на филтър AdvTgtCreateFilter=Създаване на филтър AdvTgtOrCreateNewFilter=Име на новия филтър -NoContactWithCategoryFound=Няма намерен контакт/адрес с тази категория -NoContactLinkedToThirdpartieWithCategoryFound=Няма намерен контакт/адрес с тази категория +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index 8b8fb5c5add..9fb4f65fd47 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Допълнителни центове VATRate=Данъчна ставка +RateOfTaxN=Rate of tax %s VATCode=Код на данъчна ставка VATNPR=Данъчна ставка NPR DefaultTaxRate=Данъчна ставка по подразбиране @@ -729,6 +730,7 @@ MenuMembers=Членове MenuAgendaGoogle=Google календар MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Ограничение на системата (Меню Начало - Настройка - Сигурност): %s Kb, ограничение на PHP: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Текущ език CurrentTheme=Текуща тема @@ -1072,6 +1074,7 @@ ValidFrom=Валидно от ValidUntil=Валидно до NoRecordedUsers=Няма потребители ToClose=За приключване +ToRefuse=To refuse ToProcess=За изпълнение ToApprove=За одобрение GlobalOpenedElemView=Глобален изглед @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=На изчакване Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/bg_BG/members.lang b/htdocs/langs/bg_BG/members.lang index 8b026d2e1e0..eb55e16e8c9 100644 --- a/htdocs/langs/bg_BG/members.lang +++ b/htdocs/langs/bg_BG/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Изпращане на напомняне п MembershipPaid=Членството е платено за текущия период (до %s) YouMayFindYourInvoiceInThisEmail=Може да откриете вашата фактура, прикачена към този имейл. XMembersClosed=%s член(а) е(са) приключен(и) +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/bg_BG/modulebuilder.lang b/htdocs/langs/bg_BG/modulebuilder.lang index c9e7b270a44..8413ba0640e 100644 --- a/htdocs/langs/bg_BG/modulebuilder.lang +++ b/htdocs/langs/bg_BG/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii към HTML конвертор AsciiToPdfConverter=Ascii към PDF конвертор TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/bg_BG/mrp.lang b/htdocs/langs/bg_BG/mrp.lang index a8aea279320..933315a64d4 100644 --- a/htdocs/langs/bg_BG/mrp.lang +++ b/htdocs/langs/bg_BG/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Списъци с материали LatestBOMModified=Списъци с материали: %s последно променени LatestMOModified=Поръчки за производство: %s последно променени Bom=Списъци с материали -BillOfMaterials=Списък с материали +BillOfMaterials=Bill of Materials BOMsSetup=Настройка на модул списъци с материали ListOfBOMs=Списък на списъци с материали ListOfManufacturingOrders=Списък на поръчки за производство -NewBOM=Нов списък с материали -ProductBOMHelp=Продукт за създаване с този списък с материали.
    Забележка: Продукти с параметър 'Характер на продукта' = 'Суровина' не се виждат в този списък. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=Модули за номериране на списъци с материали BOMsModelModule=Шаблони на документи за списъци с материали MOsNumberingModules=Модули за номериране на поръчки за производство @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Свободен текст в списъци с матер WatermarkOnDraftBOMs=Воден знак върху чернови списъци с материали FreeLegalTextOnMOs=Свободен текст в поръчки за производство WatermarkOnDraftMOs=Воден знак върху чернови поръчки за производство -ConfirmCloneBillOfMaterials=Сигурни ли сте, че искате да клонирате списък с материали %s? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Сигурни ли сте, че искате да клонирате поръчката за производство %s? ManufacturingEfficiency=Производствена ефективност ConsumptionEfficiency=Потребляема ефективност @@ -30,8 +30,8 @@ ValueOfMeansLoss=Стойност 0,95 означава средно 5%% заг ValueOfMeansLossForProductProduced=Стойност 0,95 означава средно 5%% загуба от произведен продукт DeleteBillOfMaterials=Изтриване на списък с материали DeleteMo=Изтриване на поръчка за производство -ConfirmDeleteBillOfMaterials=Сигурни ли сте, че искате да изтриете този списък с материали? -ConfirmDeleteMo=Сигурни ли сте, че искате да изтриете тази поръчка за производство? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Поръчки за производство NewMO=Нова поръчка за производство QtyToProduce=Кол. за производство @@ -39,7 +39,7 @@ DateStartPlannedMo=Планирана начална дата DateEndPlannedMo=Планирана крайна дата KeepEmptyForAsap=Празно означава 'Колкото е възможно по-скоро' EstimatedDuration=Очаквана продължителност -EstimatedDurationDesc=Приблизителна продължителност за производство на този продукт, използвайки този списък с материали +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Сигурни ли сте, че искате да валидирате този списък с материали с № %s (ще може да я използвате за създаване на нови поръчки за производство)? ConfirmCloseBom=Сигурни ли сте, че искате да анулирате този списък с материали (няма да може да я използвате за създаване на нови поръчки за производство)? ConfirmReopenBom=Сигурни ли сте, че искате да отворите отново този списък с материали (ще може да я използвате за създаване на нови поръчки за производство) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Общо използвано и произведено Manufactured=Произведено TheProductXIsAlreadyTheProductToProduce=Продуктът, който добавяте, вече е продукт, който трябва да произведете. ForAQuantityOf=Количество за производство на %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Сигурни ли сте, че искате да валидирате тази поръчка за производство? ConfirmProductionDesc=С кликване върху '%s' ще потвърдите потреблението и / или производството за определените количества. Това също така ще актуализира наличностите и ще регистрира движението им. ProductionForRef=Производство на %s AutoCloseMO=Автоматично приключване на поръчка за производство при достигнати количества за потребление и производство NoStockChangeOnServices=Без променяне на наличности за услуги ProductQtyToConsumeByMO=Количество продукт, което да се използва от активна ПП -ProductQtyToProduceByMO=Количество продукт, което да се произведе за активна ПП +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Добавяне на нов ред за използване ProductsToConsume=Продукти за използване ProductsToProduce=Продукти за производство @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Изтриване NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/bg_BG/orders.lang b/htdocs/langs/bg_BG/orders.lang index e921bcb43cf..ea33f551f98 100644 --- a/htdocs/langs/bg_BG/orders.lang +++ b/htdocs/langs/bg_BG/orders.lang @@ -11,6 +11,7 @@ OrderDate=Дата на поръчка OrderDateShort=Дата на поръчка OrderToProcess=Поръчка за обработване NewOrder=Нова поръчка +NewSupplierOrderShort=Нова поръчка NewOrderSupplier=Нова поръчка за покупка ToOrder=Възлагане на поръчка MakeOrder=Възлагане на поръчка @@ -73,6 +74,7 @@ DeleteOrder=Изтриване на поръчка CancelOrder=Анулиране OrderReopened= Поръчка %s е активна отново AddOrder=Създаване на поръчка +AddSupplierOrderShort=Създаване на поръчка AddPurchaseOrder=Създаване на поръчка за покупка AddToDraftOrders=Добавяне към чернови поръчки ShowOrder=Показване на поръчка diff --git a/htdocs/langs/bg_BG/other.lang b/htdocs/langs/bg_BG/other.lang index 8085469e87c..4dbe82ac235 100644 --- a/htdocs/langs/bg_BG/other.lang +++ b/htdocs/langs/bg_BG/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Потребител, който е приключил FileWasRemoved=Файл %s е премахнат DirWasRemoved=Директория %s е премахната FeatureNotYetAvailable=Функцията все още не е налице в текущата версия +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Поддържани функции Width=Ширина Height=Височина @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Контактът / адресът е създа ProjectCreatedByEmailCollector=Проектът е създаден, чрез имейл колектор от имейл MSGID %s TicketCreatedByEmailCollector=Тикетът е създаден, чрез имейл колектор от имейл MSGID %s OpeningHoursFormatDesc=Използвайте средно тире '-' за разделяне на часовете на отваряне и затваряне.
    Използвайте интервал, за да въведете различни диапазони.
    Пример: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Секция с експортирания @@ -290,3 +291,7 @@ PopuCom=Продукти / Услуги по популярност в поръ ProductStatistics=Статистика за продукти / услуги NbOfQtyInOrders=Количество в поръчки SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Приключване diff --git a/htdocs/langs/bg_BG/partnership.lang b/htdocs/langs/bg_BG/partnership.lang index 6a9bb75cd16..b70c2d51fea 100644 --- a/htdocs/langs/bg_BG/partnership.lang +++ b/htdocs/langs/bg_BG/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Начална дата DatePartnershipEnd=Крайна дата +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Чернова -PartnershipAccepted = Прието -PartnershipRefused = Отхвърлено -PartnershipCanceled = Анулирана - +PartnershipDraft=Чернова +PartnershipAccepted=Прието +PartnershipRefused=Отхвърлено +PartnershipCanceled=Анулирана PartnershipManagedFor=Partners are diff --git a/htdocs/langs/bg_BG/productbatch.lang b/htdocs/langs/bg_BG/productbatch.lang index 1576ae17bed..c20ff568d2f 100644 --- a/htdocs/langs/bg_BG/productbatch.lang +++ b/htdocs/langs/bg_BG/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Използване на партиден / сериен № ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Да (уникалният сериен номер е задължителен) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Показване на движения за проду StockDetailPerBatch=Наличност по партида SerialNumberAlreadyInUse=Сериен номер %s е вече използван от друг продукт %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index 0c8cef17666..8c453982c80 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Различни цени за всеки клиент PriceCatalogue=Една продажна цена за продукт / услуга PricingRule=Правила за продажни цени AddCustomerPrice=Добавяне на цена за клиент -ForceUpdateChildPriceSoc=Определяне на една и съща цена за филиали на клиента +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=История на предишни цени за клиент MinimumPriceLimit=Минималната цена не може да бъде по-ниска от %s MinimumRecommendedPrice=Минималната препоръчителна цена е: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Увеличаване / намаляване на н ComposedProduct=Съставни продукти MinSupplierPrice=Минимална покупната цена MinCustomerPrice=Минимална продажна цена +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Динамична ценова конфигурация DynamicPriceDesc=Можете да дефинирате математически формули за изчисляване на клиентски или доставни цени. Тези формули могат да използват всички математически оператори, някои константи и променливи. Тук можете да определите променливите, които искате да използвате. Ако променливата се нуждае от автоматична актуализация, можете да дефинирате външен URL адрес, за да позволите на Dolibarr да актуализира стойността автоматично. AddVariable=Добавяне на променлива @@ -340,7 +341,7 @@ ProductSheet=Спецификация на продукт ServiceSheet=Спецификация на услуга PossibleValues=Възможни стойности GoOnMenuToCreateVairants=Отидете в менюто %s - %s, за да подготвите атрибутите на варианта (като цветове, размер, ...) -UseProductFournDesc=Добавяне на функция за дефиниране на описания на продуктите, определени от доставчици като допълнение към описанията за клиенти +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Описание на продукта от доставчик UseProductSupplierPackaging=Използване на пакетиране по цени на доставчик (преизчислява количествата според пакетирането, определено чрез доставната цена, когато добавяте / актуализирате ред в документите на доставчика) PackagingForThisProduct=Пакетиране @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Действието е достъпно с ProductsPricePerCustomer=Цени на продукта в зависимост от клиента ProductSupplierExtraFields=Допълнителни атрибути (цени на доставчици) DeleteLinkedProduct=Изтриване на подпродукт, свързан с комбинацията +PMPValue=Средно измерена цена +PMPValueShort=СИЦ diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index a4f9de78a00..0d23aee7dba 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -140,6 +140,7 @@ NoTasks=Няма задачи за този проект LinkedToAnotherCompany=Свързано с друг контрагент TaskIsNotAssignedToUser=Задачата не е възложена на потребителя. Използвайте бутона '%s', за да възложите задачата сега. ErrorTimeSpentIsEmpty=Отделеното време е празно +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Това действие ще изтрие всички задачи по проекта (%s задачи в момента) и всички въвеждания на отделено време. IfNeedToUseOtherObjectKeepEmpty=Ако някои обекти (фактура, поръчка, ...), принадлежащи на друг контрагент, трябва да бъдат свързани с проекта за създаване, запазете това празно, за да бъде проектът мулти-контрагентен. CloneTasks=Клониране на задачи @@ -241,6 +242,7 @@ LatestModifiedProjects=Проекти: %s последно променени OtherFilteredTasks=Други филтрирани задачи NoAssignedTasks=Не са намерени възложени задачи (възложете проект / задачи на текущия потребител от най-горното поле за избор, за да въведете времето в него) ThirdPartyRequiredToGenerateInvoice=Трябва да бъде определен контрагент по проекта, за да може да генерирате фактура. +ThirdPartyRequiredToGenerateInvoice=Трябва да бъде определен контрагент по проекта, за да може да генерирате фактура. ChooseANotYetAssignedTask=Изберете задача, която все още не ви е възложена # Comments trans AllowCommentOnTask=Разрешаване на потребителски коментари в задачите @@ -252,10 +254,12 @@ SendProjectRef=Информация за проект %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Модулът 'Заплати' трябва да бъде активиран, за да дефинирате почасова ставка на служителите, за да оценените отделеното по проекта време NewTaskRefSuggested=Номера на задачата вече се използва, изисква се нов номер. TimeSpentInvoiced=Фактурирано отделено време +TimeSpentForIntervention=Отделено време TimeSpentForInvoice=Отделено време OneLinePerUser=Един ред на потребител ServiceToUseOnLines=Услуга за използване по редовете InvoiceGeneratedFromTimeSpent=Фактура %s е генерирана въз основа на отделеното време по проекта +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Маркирайте, ако въвеждате график на задачите в проекта и планирате да генерирате фактура(и) за клиента от графика на задачите в проекта (не маркирайте, ако планирате да създадете фактура, която не се основава на въведеният график на задачите). Забележка: За да генерирате фактура, отидете в раздела "Отделено време" на проекта и изберете редовете, които да включите. ProjectFollowOpportunity=Проследяване на възможности ProjectFollowTasks=Проследяване на задачи или отделено време @@ -264,12 +268,16 @@ UsageOpportunity=Употреба: Възможност UsageTasks=Употреба: Задачи UsageBillTimeShort=Употреба: Фактуриране на време InvoiceToUse=Чернова фактура, която да използвате +InterToUse=Draft intervention to use NewInvoice=Нова фактура +NewInter=Нова интервенция OneLinePerTask=Един ред на задача OneLinePerPeriod=Един ред на период +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Съгласно главна задача № ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/bg_BG/receptions.lang b/htdocs/langs/bg_BG/receptions.lang index e3e80183b1d..6c5f1e2221d 100644 --- a/htdocs/langs/bg_BG/receptions.lang +++ b/htdocs/langs/bg_BG/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Първо трябва да валидира ReceptionsNumberingModules=Модул за номериране на стокови разписки ReceptionsReceiptModel=Шаблони на документи за стокови разписки NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/bg_BG/salaries.lang b/htdocs/langs/bg_BG/salaries.lang index 0aab1f9011c..bb767dae875 100644 --- a/htdocs/langs/bg_BG/salaries.lang +++ b/htdocs/langs/bg_BG/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Счетоводна сметка, използвана за служители на контрагенти SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Специализираната счетоводна сметка, дефинирана в картата на потребителя, ще се използва само за вторично счетоводно отчитане. Тя ще бъде използвана в регистъра на главната счетоводна книга и като стойност по подразбиране за вторично счетоводно отчитане, ако не е дефинирана специализирана потребителска счетоводна сметка за потребителя. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Счетоводна сметка по подразбиране за плащане на заплати +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Заплата Salaries=Заплати -NewSalaryPayment=Ново плащане на заплата +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Добавяне на плащане на заплата SalaryPayment=Плащане на заплата SalariesPayments=Плащания на заплати +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Показване на плащане на заплата THM=Средна почасова ставка TJM=Средна дневна ставка CurrentSalary=Текуща заплата THMDescription=Тази стойност може да се използва за изчисляване на разходите за времето, което е отделено по проект, ако модула проекти се използва. TJMDescription=Тази стойност понастоящем е информативна и не се използва за изчисления -LastSalaries=Плащания на заплати: %s последни -AllSalaries=Всички плащания на заплати +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Статистика на заплати -# Export SalariesAndPayments=Заплати и плащания +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bg_BG/stocks.lang b/htdocs/langs/bg_BG/stocks.lang index c34e94c2699..5b1348de275 100644 --- a/htdocs/langs/bg_BG/stocks.lang +++ b/htdocs/langs/bg_BG/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Единична покупна цена StockTooLow=Наличността е твърде малка StockLowerThanLimit=Наличността е по-малка от лимита за предупреждение (%s) EnhancedValue=Стойност -PMPValue=Средно измерена цена -PMPValueShort=СИЦ EnhancedValueOfWarehouses=Складова стойност UserWarehouseAutoCreate=Автоматично създаване на личен потребителски склад при създаване на потребител AllowAddLimitStockByWarehouse=Управляване също и на стойност за минимална и желана наличност за двойка (продукт - склад) в допълнение към стойността за минимална и желана наличност за продукт RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Прехвърляне на наличност за про InventoryCodeShort=Движ. / Инв. код NoPendingReceptionOnSupplierOrder=Не се очаква получаване, тъй като поръчката за покупка е активна ThisSerialAlreadyExistWithDifferentDate=Тази партида / сериен № (%s) вече съществува, но с различна дата на усвояване или дата на продажба (намерена е %s, но вие сте въвели %s). -OpenAll=Активно за всички действия -OpenInternal=Активно само за вътрешни действия +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Използване на статус на изпращане (одобряване / отхвърляне) за продуктови редове при получаване на поръчка за покупка OptionMULTIPRICESIsOn=Опцията 'Няколко цени за сегмент' е включена. Това означава, че продуктът има няколко продажни цени, така че стойността за продажба не може да бъде изчислена ProductStockWarehouseCreated=Минималното количество за предупреждение и желаните оптимални наличности са правилно създадени @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Повторно отваряне -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/bg_BG/ticket.lang b/htdocs/langs/bg_BG/ticket.lang index b777b181aae..5d243c43aca 100644 --- a/htdocs/langs/bg_BG/ticket.lang +++ b/htdocs/langs/bg_BG/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Тикет - Решения TicketTypeShortCOM=Търговски въпрос TicketTypeShortHELP=Молба за асистенция -TicketTypeShortISSUE=Въпрос, грешка или проблем +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Заявка за подобрение TicketTypeShortPROJET=Проект TicketTypeShortOTHER=Друго @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Отговорен служител TypeContact_ticket_external_SUPPORTCLI=Контакт на контрагента проследяващ тикета TypeContact_ticket_external_CONTRIBUTOR=Сътрудник от страна на контрагента -OriginEmail=Имейл източник +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Изпращане на тикет съобщението по имейл # Status Read=Прочетен Assigned=Възложен InProgress=В изпълнение -NeedMoreInformation=В очакване на подробности +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Отговорен Waiting=В изчакване -Closed=Приключен +SolvedClosed=Solved Deleted=Изтрит # Dict @@ -160,7 +162,7 @@ CreatedBy=Създаден от NewTicket=Нов тикет SubjectAnswerToTicket=Отговор на тикет TicketTypeRequest=Вид на тикета -TicketCategory=Група +TicketCategory=Ticket categorization SeeTicket=Преглед на тикет TicketMarkedAsRead=Тикетът е маркиран като прочетен TicketReadOn=Прочетен на @@ -184,9 +186,11 @@ TicketSeverity=Приоритет ShowTicket=Преглед на тикет RelatedTickets=Свързани тикети TicketAddIntervention=Създаване на интервенция -CloseTicket=Приключване на тикет -CloseATicket=Приключване на тикет +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Потвърдете приключването на тикета +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Потвърдете изтриването на тикета TicketDeletedSuccess=Тикетът е успешно изтрит TicketMarkedAsClosed=Тикетът е маркиран като приключен @@ -211,6 +215,7 @@ TicketMessageHelp=Само този текст ще бъде запазен в TicketMessageSubstitutionReplacedByGenericValues=Заместващите променливи се заменят с общи стойности. TimeElapsedSince=Изминало време TicketTimeToRead=Изминало време преди прочитане +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Контакти TicketDocumentsLinked=Документи свързани с тикета ConfirmReOpenTicket=Потвърдете повторното отваряне на този тикет? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Последно променени тикети BoxLastModifiedTicketDescription=Тикети: %s последно променени BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Няма скорошни променени тикети -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/bg_BG/trips.lang b/htdocs/langs/bg_BG/trips.lang index b8d6575eeda..1d08a0906e0 100644 --- a/htdocs/langs/bg_BG/trips.lang +++ b/htdocs/langs/bg_BG/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Разходният отчет %s е анулир ExpenseReportPaid=Разходният отчет е платен ExpenseReportPaidMessage=Разходният отчет %s е платен.
    - Потребител: %s
    - Платен от: %s
    Кликнете тук, за да видите разходният отчет: %s TripId=Разходен отчет № -AnyOtherInThisListCanValidate=Лице за информиране, което ще одобри или отхвърли разходния отчет. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Информация за фирма TripNDF=Информация за разходен отчет PDFStandardExpenseReports=Стандартен шаблон за генериране на PDF документ на разходния отчет @@ -90,7 +90,6 @@ DATE_REFUS=Дата на отхвърляне DATE_SAVE=Дата на валидиране DATE_CANCEL=Дата на анулиране DATE_PAIEMENT=Дата на плащане -BROUILLONNER=Повторно отваряне ExpenseReportRef=Разходен отчет № ValidateAndSubmit=Валидиране и изпращане за одобрение ValidatedWaitingApproval=Валидиран (очаква одобрение) @@ -110,7 +109,7 @@ ExpenseReportPayment=Плащане за разходен отчет ExpenseReportsToApprove=Разходни отчети за одобрение ExpenseReportsToPay=Разходни отчети за плащане ConfirmCloneExpenseReport=Сигурни ли сте, че искате да клонирате този разходен отчет? -ExpenseReportsIk=Индекс за отчитане на разходите +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Правила за отчитане на разходите ExpenseReportIkDesc=Може да променяте изчисляването на разхода по километри, въз основа на категория и обхват, които са определени предварително. км е разстоянието в километри. ExpenseReportRulesDesc=Може да създавате или променяте правилата за изчисляване. Тази част ще се използва, когато потребител създаде разходен отчет. @@ -145,7 +144,7 @@ nolimitbyEX_DAY=по ден (без ограничение) nolimitbyEX_MON=по месец (без ограничение) nolimitbyEX_YEA=по година (без ограничение) nolimitbyEX_EXP=по ред (без ограничение) -CarCategory=Категория на автомобил +CarCategory=Vehicle category ExpenseRangeOffset=Размер на офсета: %s RangeIk=Обхват на пробега AttachTheNewLineToTheDocument=Прикрепете реда към свързан документ diff --git a/htdocs/langs/bg_BG/users.lang b/htdocs/langs/bg_BG/users.lang index ae4e7e517ea..7a9ea0ab360 100644 --- a/htdocs/langs/bg_BG/users.lang +++ b/htdocs/langs/bg_BG/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Потребителско име NameToCreate=Име на контрагент за създаване YourRole=Вашите роли YourQuotaOfUsersIsReached=Вашата квота за активни потребители е достигната! -NbOfUsers=Брой потребители -NbOfPermissions=Брой права +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Само супер администратор може да понижи супер администратор HierarchicalResponsible=Ръководител HierarchicView=Йерархичен изглед diff --git a/htdocs/langs/bg_BG/website.lang b/htdocs/langs/bg_BG/website.lang index 2f341b2b6c9..63fc67e371d 100644 --- a/htdocs/langs/bg_BG/website.lang +++ b/htdocs/langs/bg_BG/website.lang @@ -31,7 +31,7 @@ AddWebsite=Добавяне на уебсайт Webpage=Уеб страница / контейнер AddPage=Добавяне на страница / контейнер PageContainer=Страница -PreviewOfSiteNotYetAvailable=Преглед на вашия уебсайт %s все още не е наличен. Първо трябва да 'Импортирате пълен шаблон за уебсайт' или просто да 'Добавите страница / контейнер'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Заявената страница с id %s все още няма съдържание или кеш файлът .tpl.php е бил премахнат. Редактирайте съдържанието на страницата, за да коригирате това. SiteDeleted=Уебсайта '%s' е изтрит PageContent=Страница / контейнер diff --git a/htdocs/langs/bg_BG/withdrawals.lang b/htdocs/langs/bg_BG/withdrawals.lang index 6f07b1f1877..537c3f10244 100644 --- a/htdocs/langs/bg_BG/withdrawals.lang +++ b/htdocs/langs/bg_BG/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s заявления за плащане с директе BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Банков код на контрагента NoInvoiceCouldBeWithdrawed=Няма успешно дебитирани фактури. Проверете дали фактурите са на фирми с валиден IBAN и дали този IBAN има UMR (Unique Mandate Reference) в режим %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Класифициране като 'Кредитирана' ClassCreditedConfirm=Сигурни ли сте, че искате да класифицирате тази разписка за теглене като кредитирана по вашата банкова сметка? TransData=Дата на изпращане @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Дата на изпълнение CreateForSepa=Създаване на файл с директен дебит -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END='EndToEndId' SEPA XML таг - Уникален идентификатор, присвоен на транзакция USTRD='Unstructured' SEPA XML таг ADDDAYS=Добавяне на дни към датата на изпълнение diff --git a/htdocs/langs/bg_BG/workflow.lang b/htdocs/langs/bg_BG/workflow.lang index 82e4a079ac2..3b0a44ec6d1 100644 --- a/htdocs/langs/bg_BG/workflow.lang +++ b/htdocs/langs/bg_BG/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Класифициране на св descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Класифициране на свързана клиентска поръчка - първоизточник като фактурирана след валидиране на клиентска фактура (и ако стойността на фактурата е същата като общата сума на свързаната поръчка) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Класифициране на свързана клиентска поръчка - първоизточник като фактурирана след плащане на клиентска фактура (и ако стойността на фактурата е същата като общата сума на свързаната поръчка) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Класифициране на свързана клиентска поръчка - първоизточник като изпратена след валидиране на доставка (и ако количеството, изпратено, чрез всички пратки е същото като в поръчката за актуализиране) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Класифициране на свързаното за запитване към доставчик - първоизточник като фактурираното след валидиране на доставната фактура (и ако стойността на фактурата е същата като общата сума на свързаното запитване) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Класифициране на свързаната поръчка за покупка - първоизточник като фактурирана след валидиране на доставна фактура (и ако стойността на фактурата е същата като общата сума на свързаната поръчка) diff --git a/htdocs/langs/bn_BD/accountancy.lang b/htdocs/langs/bn_BD/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/bn_BD/accountancy.lang +++ b/htdocs/langs/bn_BD/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/bn_BD/admin.lang b/htdocs/langs/bn_BD/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/bn_BD/admin.lang +++ b/htdocs/langs/bn_BD/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/bn_BD/agenda.lang b/htdocs/langs/bn_BD/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/bn_BD/agenda.lang +++ b/htdocs/langs/bn_BD/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/bn_BD/banks.lang b/htdocs/langs/bn_BD/banks.lang index 3430961c71b..f7225e6f4f5 100644 --- a/htdocs/langs/bn_BD/banks.lang +++ b/htdocs/langs/bn_BD/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/bn_BD/bills.lang b/htdocs/langs/bn_BD/bills.lang index eedbf2893ff..8dc841e564d 100644 --- a/htdocs/langs/bn_BD/bills.lang +++ b/htdocs/langs/bn_BD/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/bn_BD/boxes.lang b/htdocs/langs/bn_BD/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/bn_BD/boxes.lang +++ b/htdocs/langs/bn_BD/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/bn_BD/cashdesk.lang b/htdocs/langs/bn_BD/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/bn_BD/cashdesk.lang +++ b/htdocs/langs/bn_BD/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/bn_BD/compta.lang b/htdocs/langs/bn_BD/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/bn_BD/compta.lang +++ b/htdocs/langs/bn_BD/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/bn_BD/cron.lang b/htdocs/langs/bn_BD/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/bn_BD/cron.lang +++ b/htdocs/langs/bn_BD/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/bn_BD/deliveries.lang b/htdocs/langs/bn_BD/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/bn_BD/deliveries.lang +++ b/htdocs/langs/bn_BD/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bn_BD/errors.lang b/htdocs/langs/bn_BD/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/bn_BD/errors.lang +++ b/htdocs/langs/bn_BD/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bn_BD/eventorganization.lang b/htdocs/langs/bn_BD/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/bn_BD/eventorganization.lang +++ b/htdocs/langs/bn_BD/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/bn_BD/exports.lang b/htdocs/langs/bn_BD/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/bn_BD/exports.lang +++ b/htdocs/langs/bn_BD/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/bn_BD/holiday.lang b/htdocs/langs/bn_BD/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/bn_BD/holiday.lang +++ b/htdocs/langs/bn_BD/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/bn_BD/hrm.lang b/htdocs/langs/bn_BD/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/bn_BD/hrm.lang +++ b/htdocs/langs/bn_BD/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/bn_BD/install.lang b/htdocs/langs/bn_BD/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/bn_BD/install.lang +++ b/htdocs/langs/bn_BD/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/bn_BD/interventions.lang b/htdocs/langs/bn_BD/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/bn_BD/interventions.lang +++ b/htdocs/langs/bn_BD/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/bn_BD/knowledgemanagement.lang b/htdocs/langs/bn_BD/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/bn_BD/knowledgemanagement.lang +++ b/htdocs/langs/bn_BD/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/bn_BD/languages.lang b/htdocs/langs/bn_BD/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/bn_BD/languages.lang +++ b/htdocs/langs/bn_BD/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/bn_BD/mails.lang b/htdocs/langs/bn_BD/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/bn_BD/mails.lang +++ b/htdocs/langs/bn_BD/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/bn_BD/main.lang b/htdocs/langs/bn_BD/main.lang index 59536b0ad17..874a211ca2b 100644 --- a/htdocs/langs/bn_BD/main.lang +++ b/htdocs/langs/bn_BD/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/bn_BD/members.lang b/htdocs/langs/bn_BD/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/bn_BD/members.lang +++ b/htdocs/langs/bn_BD/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/bn_BD/modulebuilder.lang b/htdocs/langs/bn_BD/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/bn_BD/modulebuilder.lang +++ b/htdocs/langs/bn_BD/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/bn_BD/mrp.lang b/htdocs/langs/bn_BD/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/bn_BD/mrp.lang +++ b/htdocs/langs/bn_BD/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/bn_BD/orders.lang b/htdocs/langs/bn_BD/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/bn_BD/orders.lang +++ b/htdocs/langs/bn_BD/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/bn_BD/other.lang b/htdocs/langs/bn_BD/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/bn_BD/other.lang +++ b/htdocs/langs/bn_BD/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/bn_BD/partnership.lang b/htdocs/langs/bn_BD/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/bn_BD/partnership.lang +++ b/htdocs/langs/bn_BD/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/bn_BD/productbatch.lang b/htdocs/langs/bn_BD/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/bn_BD/productbatch.lang +++ b/htdocs/langs/bn_BD/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/bn_BD/products.lang b/htdocs/langs/bn_BD/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/bn_BD/products.lang +++ b/htdocs/langs/bn_BD/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/bn_BD/projects.lang b/htdocs/langs/bn_BD/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/bn_BD/projects.lang +++ b/htdocs/langs/bn_BD/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/bn_BD/receptions.lang b/htdocs/langs/bn_BD/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/bn_BD/receptions.lang +++ b/htdocs/langs/bn_BD/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/bn_BD/salaries.lang b/htdocs/langs/bn_BD/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/bn_BD/salaries.lang +++ b/htdocs/langs/bn_BD/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bn_BD/stocks.lang b/htdocs/langs/bn_BD/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/bn_BD/stocks.lang +++ b/htdocs/langs/bn_BD/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/bn_BD/ticket.lang b/htdocs/langs/bn_BD/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/bn_BD/ticket.lang +++ b/htdocs/langs/bn_BD/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/bn_BD/trips.lang b/htdocs/langs/bn_BD/trips.lang index e34078e8fc2..c9a6c792077 100644 --- a/htdocs/langs/bn_BD/trips.lang +++ b/htdocs/langs/bn_BD/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/bn_BD/users.lang b/htdocs/langs/bn_BD/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/bn_BD/users.lang +++ b/htdocs/langs/bn_BD/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/bn_BD/website.lang b/htdocs/langs/bn_BD/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/bn_BD/website.lang +++ b/htdocs/langs/bn_BD/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/bn_BD/withdrawals.lang b/htdocs/langs/bn_BD/withdrawals.lang index 0e84cc071d2..d310e53a6e0 100644 --- a/htdocs/langs/bn_BD/withdrawals.lang +++ b/htdocs/langs/bn_BD/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/bn_BD/workflow.lang b/htdocs/langs/bn_BD/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/bn_BD/workflow.lang +++ b/htdocs/langs/bn_BD/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/bn_IN/accountancy.lang b/htdocs/langs/bn_IN/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/bn_IN/accountancy.lang +++ b/htdocs/langs/bn_IN/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/bn_IN/admin.lang b/htdocs/langs/bn_IN/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/bn_IN/admin.lang +++ b/htdocs/langs/bn_IN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/bn_IN/agenda.lang b/htdocs/langs/bn_IN/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/bn_IN/agenda.lang +++ b/htdocs/langs/bn_IN/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/bn_IN/banks.lang b/htdocs/langs/bn_IN/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/bn_IN/banks.lang +++ b/htdocs/langs/bn_IN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/bn_IN/bills.lang b/htdocs/langs/bn_IN/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/bn_IN/bills.lang +++ b/htdocs/langs/bn_IN/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/bn_IN/boxes.lang b/htdocs/langs/bn_IN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/bn_IN/boxes.lang +++ b/htdocs/langs/bn_IN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/bn_IN/cashdesk.lang b/htdocs/langs/bn_IN/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/bn_IN/cashdesk.lang +++ b/htdocs/langs/bn_IN/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/bn_IN/compta.lang b/htdocs/langs/bn_IN/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/bn_IN/compta.lang +++ b/htdocs/langs/bn_IN/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/bn_IN/cron.lang b/htdocs/langs/bn_IN/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/bn_IN/cron.lang +++ b/htdocs/langs/bn_IN/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/bn_IN/deliveries.lang b/htdocs/langs/bn_IN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/bn_IN/deliveries.lang +++ b/htdocs/langs/bn_IN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bn_IN/errors.lang b/htdocs/langs/bn_IN/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/bn_IN/errors.lang +++ b/htdocs/langs/bn_IN/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bn_IN/eventorganization.lang b/htdocs/langs/bn_IN/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/bn_IN/eventorganization.lang +++ b/htdocs/langs/bn_IN/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/bn_IN/exports.lang b/htdocs/langs/bn_IN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/bn_IN/exports.lang +++ b/htdocs/langs/bn_IN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/bn_IN/holiday.lang b/htdocs/langs/bn_IN/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/bn_IN/holiday.lang +++ b/htdocs/langs/bn_IN/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/bn_IN/hrm.lang b/htdocs/langs/bn_IN/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/bn_IN/hrm.lang +++ b/htdocs/langs/bn_IN/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/bn_IN/install.lang b/htdocs/langs/bn_IN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/bn_IN/install.lang +++ b/htdocs/langs/bn_IN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/bn_IN/interventions.lang b/htdocs/langs/bn_IN/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/bn_IN/interventions.lang +++ b/htdocs/langs/bn_IN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/bn_IN/knowledgemanagement.lang b/htdocs/langs/bn_IN/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/bn_IN/knowledgemanagement.lang +++ b/htdocs/langs/bn_IN/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/bn_IN/languages.lang b/htdocs/langs/bn_IN/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/bn_IN/languages.lang +++ b/htdocs/langs/bn_IN/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/bn_IN/mails.lang b/htdocs/langs/bn_IN/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/bn_IN/mails.lang +++ b/htdocs/langs/bn_IN/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/bn_IN/main.lang b/htdocs/langs/bn_IN/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/bn_IN/main.lang +++ b/htdocs/langs/bn_IN/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/bn_IN/members.lang b/htdocs/langs/bn_IN/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/bn_IN/members.lang +++ b/htdocs/langs/bn_IN/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/bn_IN/modulebuilder.lang b/htdocs/langs/bn_IN/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/bn_IN/modulebuilder.lang +++ b/htdocs/langs/bn_IN/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/bn_IN/mrp.lang b/htdocs/langs/bn_IN/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/bn_IN/mrp.lang +++ b/htdocs/langs/bn_IN/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/bn_IN/orders.lang b/htdocs/langs/bn_IN/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/bn_IN/orders.lang +++ b/htdocs/langs/bn_IN/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/bn_IN/other.lang b/htdocs/langs/bn_IN/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/bn_IN/other.lang +++ b/htdocs/langs/bn_IN/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/bn_IN/partnership.lang b/htdocs/langs/bn_IN/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/bn_IN/partnership.lang +++ b/htdocs/langs/bn_IN/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/bn_IN/productbatch.lang b/htdocs/langs/bn_IN/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/bn_IN/productbatch.lang +++ b/htdocs/langs/bn_IN/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/bn_IN/products.lang b/htdocs/langs/bn_IN/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/bn_IN/products.lang +++ b/htdocs/langs/bn_IN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/bn_IN/projects.lang b/htdocs/langs/bn_IN/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/bn_IN/projects.lang +++ b/htdocs/langs/bn_IN/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/bn_IN/receptions.lang b/htdocs/langs/bn_IN/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/bn_IN/receptions.lang +++ b/htdocs/langs/bn_IN/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/bn_IN/salaries.lang b/htdocs/langs/bn_IN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/bn_IN/salaries.lang +++ b/htdocs/langs/bn_IN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bn_IN/stocks.lang b/htdocs/langs/bn_IN/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/bn_IN/stocks.lang +++ b/htdocs/langs/bn_IN/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/bn_IN/ticket.lang b/htdocs/langs/bn_IN/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/bn_IN/ticket.lang +++ b/htdocs/langs/bn_IN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/bn_IN/trips.lang b/htdocs/langs/bn_IN/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/bn_IN/trips.lang +++ b/htdocs/langs/bn_IN/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/bn_IN/users.lang b/htdocs/langs/bn_IN/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/bn_IN/users.lang +++ b/htdocs/langs/bn_IN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/bn_IN/website.lang b/htdocs/langs/bn_IN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/bn_IN/website.lang +++ b/htdocs/langs/bn_IN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/bn_IN/withdrawals.lang b/htdocs/langs/bn_IN/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/bn_IN/withdrawals.lang +++ b/htdocs/langs/bn_IN/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/bn_IN/workflow.lang b/htdocs/langs/bn_IN/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/bn_IN/workflow.lang +++ b/htdocs/langs/bn_IN/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/bs_BA/accountancy.lang b/htdocs/langs/bs_BA/accountancy.lang index 208b819e9a1..93806a055f7 100644 --- a/htdocs/langs/bs_BA/accountancy.lang +++ b/htdocs/langs/bs_BA/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model izvoza Selectmodelcsv=Odaberi model izvoza @@ -335,7 +339,7 @@ Modelcsv_normal=Klasični izvoz Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index 9fc633b8dd1..a1a5b1b29bd 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interni korisnik ExternalUser=Vanjski korisnik InternalUsers=Interni korisnici ExternalUsers=Vanjski korisnici +UserInterface=User interface GUISetup=Prikaz SetupArea=Postavke UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Nije moguće kada je Ajax isključen AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=Onemogućena JavaScript UsePreviewTabs=Koristi kartice pretpregleda ShowPreview=Prikaži pretpregled @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Ograničenja i preciznost MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=Sve NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Postavke snimljene SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Optimizacija pretraživanja -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Preporučeno +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/bs_BA/agenda.lang b/htdocs/langs/bs_BA/agenda.lang index e3fd4c2b551..e49ae9b3ccf 100644 --- a/htdocs/langs/bs_BA/agenda.lang +++ b/htdocs/langs/bs_BA/agenda.lang @@ -4,7 +4,7 @@ Actions=Događaji Agenda=Agenda TMenuAgenda=Agenda Agendas=Agende -LocalAgenda=Lokalni kalendar +LocalAgenda=Default calendar ActionsOwnedBy=Događaj u vlasništvu ActionsOwnedByShort=Vlasnik AffectedTo=Dodijeljeno korisniku @@ -14,13 +14,13 @@ EventsNb=Broj događaja ListOfActions=Lista događaja EventReports=Event reports Location=Lokacija -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Događaj za cijeli dan(e) MenuToDoActions=Svi nepotpuni događaji MenuDoneActions=Sve završeni događaji MenuToDoMyActions=Moji nepotpuni događaji MenuDoneMyActions=Moji završeni događaji -ListOfEvents=Spisak događaja (lokalni kalendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Događaje izvijestio/la ActionsToDoBy=Događaji dodijeljeni korisniku ActionsDoneBy=Događaji završeni od strane korisnika @@ -38,6 +38,7 @@ ActionsEvents=Događaji za koje će Dolibarr stvoriti akciju u dnevni red automa EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Kreirana treća strana %s +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Ugovor %s potvrđen CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Narudžba obrisana InvoiceDeleted=Faktura obrisana DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Datum početka @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Pokaži rođendane kontakata +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Sakrij rođendane kontakata Busy=Zauzet ExportDataset_event1=Lista događaja u agendi @@ -152,6 +155,7 @@ ActionType=Vrsta događaja DateActionBegin=Početni datum događaja ConfirmCloneEvent=Jeste li sigurni da želite duplirati događaj %s? RepeatEvent=Ponovi događaj +OnceOnly=Once only EveryWeek=Svake sedmice EveryMonth=Svakog mjeseca DayOfMonth=Dan u mjesecu @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/bs_BA/banks.lang b/htdocs/langs/bs_BA/banks.lang index 978d9be60ec..3a245ded3ed 100644 --- a/htdocs/langs/bs_BA/banks.lang +++ b/htdocs/langs/bs_BA/banks.lang @@ -115,7 +115,7 @@ TransferTo=Prema TransferFromToDone=Transfer sa %s na %s u iznosu od %s %s je zapisan. CheckTransmitter=Od ValidateCheckReceipt=Odobrite ovaj ispis čeka? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Obrišite ovaj izvod čeka? ConfirmDeleteCheckReceipt=Da li ste sigurni da želite obrisati ovaj izvod od čeka? BankChecks=Bankovni ček diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index a063f16c5e5..05c70ab4cf6 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Datum fakture DatePointOfTax=Point of tax NoInvoice=Nema fakture +NoOpenInvoice=No open invoice ClassifyBill=Označi fakturu SupplierBillsToPay=Neplaćene fakture dobavljača CustomerBillsUnpaid=Nenaplaćene fakture od kupca @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/bs_BA/boxes.lang b/htdocs/langs/bs_BA/boxes.lang index a491680b1f7..f8f76e0afed 100644 --- a/htdocs/langs/bs_BA/boxes.lang +++ b/htdocs/langs/bs_BA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Posljednjih %s izmijenjenih ponuda -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Fakture kupaca ForCustomersOrders=Narudžbe kupaca ForProposals=Prijedlozi diff --git a/htdocs/langs/bs_BA/cashdesk.lang b/htdocs/langs/bs_BA/cashdesk.lang index 6f6da52648e..da9330ffd89 100644 --- a/htdocs/langs/bs_BA/cashdesk.lang +++ b/htdocs/langs/bs_BA/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/bs_BA/compta.lang b/htdocs/langs/bs_BA/compta.lang index 1131f3f0421..4a78b3185f6 100644 --- a/htdocs/langs/bs_BA/compta.lang +++ b/htdocs/langs/bs_BA/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/bs_BA/cron.lang b/htdocs/langs/bs_BA/cron.lang index cb278ba6885..9d02c089388 100644 --- a/htdocs/langs/bs_BA/cron.lang +++ b/htdocs/langs/bs_BA/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Datum završetka ne može biti prije datuma početka StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Iskljući -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=ID CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/bs_BA/deliveries.lang b/htdocs/langs/bs_BA/deliveries.lang index 1d1cc2fba9b..4ccb70f6a24 100644 --- a/htdocs/langs/bs_BA/deliveries.lang +++ b/htdocs/langs/bs_BA/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Primalac ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index 276213d59ef..d67c63b1854 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Prijava %s već postoji. ErrorGroupAlreadyExists=Grupa %s već postoji. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Zapis nije pronađen. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bs_BA/eventorganization.lang b/htdocs/langs/bs_BA/eventorganization.lang index 3be4026e6d2..c71829ad561 100644 --- a/htdocs/langs/bs_BA/eventorganization.lang +++ b/htdocs/langs/bs_BA/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Vrsta događaja +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/bs_BA/exports.lang b/htdocs/langs/bs_BA/exports.lang index 30e7e97e5a5..c030d48d370 100644 --- a/htdocs/langs/bs_BA/exports.lang +++ b/htdocs/langs/bs_BA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/bs_BA/holiday.lang b/htdocs/langs/bs_BA/holiday.lang index cb631ad553b..ee1f7d74028 100644 --- a/htdocs/langs/bs_BA/holiday.lang +++ b/htdocs/langs/bs_BA/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Čeka na odobrenje ApprovedCP=Odobren CancelCP=Otkazan RefuseCP=Odbijen -ValidatorCP=Osoba koja odobrava +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Izmjena @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Morate odabrati datum početka. NoDateFin=Morate odabrati datum završetka. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Korisnik ErrorAddEventToUserCP=Došlo je do greške prilikom dodavanja izuzetnog odsustva. AddEventToUserOkCP=Dodavanje izuzetno odsustva je kopmletirano. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Izvršeno od strane -UserUpdateCP=Za korisnika +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Prethodno stanje NewSoldeCP=Novo stanje alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Mjesečno ažuriranje ManualUpdate=Ručno ažuriranje @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Uspješno ažuriranje. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/bs_BA/hrm.lang b/htdocs/langs/bs_BA/hrm.lang index df8b7b1b849..45cd51275f8 100644 --- a/htdocs/langs/bs_BA/hrm.lang +++ b/htdocs/langs/bs_BA/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index e8f358a7aab..8a5391734e0 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/bs_BA/interventions.lang b/htdocs/langs/bs_BA/interventions.lang index fef8e77ea6b..881e5c1e1db 100644 --- a/htdocs/langs/bs_BA/interventions.lang +++ b/htdocs/langs/bs_BA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/bs_BA/knowledgemanagement.lang b/htdocs/langs/bs_BA/knowledgemanagement.lang index 58a24a1a8cf..b7b5f217bdd 100644 --- a/htdocs/langs/bs_BA/knowledgemanagement.lang +++ b/htdocs/langs/bs_BA/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = O programu KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Proizvod KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/bs_BA/languages.lang b/htdocs/langs/bs_BA/languages.lang index 203d794aa05..6bf3b7be7e6 100644 --- a/htdocs/langs/bs_BA/languages.lang +++ b/htdocs/langs/bs_BA/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arapski Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arapski +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgija) Language_nl_NL=Dutch Language_pl_PL=Poljski +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalski (Brazil) Language_pt_PT=Portugalski +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumunski Language_ru_RU=Ruski Language_ru_UA=Ruski (Ukrajina) diff --git a/htdocs/langs/bs_BA/mails.lang b/htdocs/langs/bs_BA/mails.lang index aeb2ddc8ca3..317fac2dde8 100644 --- a/htdocs/langs/bs_BA/mails.lang +++ b/htdocs/langs/bs_BA/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index 371121cd248..9b6fc2cc457 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Stopa poreza +RateOfTaxN=Rate of tax %s VATCode=Šifra stope poreza VATNPR=NPR stopa poreza DefaultTaxRate=Pretpostavljena stopa poreza @@ -729,6 +730,7 @@ MenuMembers=Članovi MenuAgendaGoogle=Google kalendar MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr ograničenje (Meni Početna-Postavke-Sigurnost): %s Kb, PHP ograničenje: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Trenutni jezik CurrentTheme=Trenutna tema @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Za obradu ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/bs_BA/members.lang b/htdocs/langs/bs_BA/members.lang index 48d7b399068..46eeff19e4c 100644 --- a/htdocs/langs/bs_BA/members.lang +++ b/htdocs/langs/bs_BA/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/bs_BA/modulebuilder.lang b/htdocs/langs/bs_BA/modulebuilder.lang index 616bbfb2511..8f13e72ae13 100644 --- a/htdocs/langs/bs_BA/modulebuilder.lang +++ b/htdocs/langs/bs_BA/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/bs_BA/mrp.lang b/htdocs/langs/bs_BA/mrp.lang index ec999a473a4..999a6ec67b8 100644 --- a/htdocs/langs/bs_BA/mrp.lang +++ b/htdocs/langs/bs_BA/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Obriši NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/bs_BA/orders.lang b/htdocs/langs/bs_BA/orders.lang index 60192a26650..04a5fa64987 100644 --- a/htdocs/langs/bs_BA/orders.lang +++ b/htdocs/langs/bs_BA/orders.lang @@ -11,6 +11,7 @@ OrderDate=Datum narudžbe OrderDateShort=Datum narudžbe OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/bs_BA/other.lang b/htdocs/langs/bs_BA/other.lang index 2d4d2752ed8..3ac3e657cb8 100644 --- a/htdocs/langs/bs_BA/other.lang +++ b/htdocs/langs/bs_BA/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/bs_BA/partnership.lang b/htdocs/langs/bs_BA/partnership.lang index ecaff28a0d1..142dc7b33fb 100644 --- a/htdocs/langs/bs_BA/partnership.lang +++ b/htdocs/langs/bs_BA/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Datum početka DatePartnershipEnd=Datum završetka +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Nacrt -PartnershipAccepted = Accepted -PartnershipRefused = Odbijen -PartnershipCanceled = Otkazan - +PartnershipDraft=Nacrt +PartnershipAccepted=Accepted +PartnershipRefused=Odbijen +PartnershipCanceled=Otkazan PartnershipManagedFor=Partners are diff --git a/htdocs/langs/bs_BA/productbatch.lang b/htdocs/langs/bs_BA/productbatch.lang index 70b54abbca6..e283afa1e64 100644 --- a/htdocs/langs/bs_BA/productbatch.lang +++ b/htdocs/langs/bs_BA/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index 6893f9da7c4..43d76e8f125 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimalna kupovna cijena MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Ponderirana/vagana aritmetička sredina - PAS +PMPValueShort=PAS diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index ac43cefc2ea..8e0a3dc1805 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -140,6 +140,7 @@ NoTasks=Nema zadataka za ovaj projekat LinkedToAnotherCompany=U vezi sa drugim subjektom TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Vrijeme provedeno je prazno +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Ova akcija će također izbrisati sve zadatke projekta (%s zadataka u ovom trenutku) i sve unose provedenog vremena. IfNeedToUseOtherObjectKeepEmpty=Ako neki objekti (faktura, narudžbe, ...), pripadaju drugom subjektu, mora biti u vezi sa projektom za kreiranje, ostavite ovo prazno da bi imali projekat što više subjekata. CloneTasks=Kloniraj zadatke @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Vrijeme provedeno TimeSpentForInvoice=Vrijeme provedeno OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Nova faktura +NewInter=Nova intervencija OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/bs_BA/receptions.lang b/htdocs/langs/bs_BA/receptions.lang index 046136a95ab..9b2aedf7c16 100644 --- a/htdocs/langs/bs_BA/receptions.lang +++ b/htdocs/langs/bs_BA/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/bs_BA/salaries.lang b/htdocs/langs/bs_BA/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/bs_BA/salaries.lang +++ b/htdocs/langs/bs_BA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bs_BA/stocks.lang b/htdocs/langs/bs_BA/stocks.lang index 794cbcac14f..e2fb16c2d36 100644 --- a/htdocs/langs/bs_BA/stocks.lang +++ b/htdocs/langs/bs_BA/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Kupovna cijena jedinice StockTooLow=Zaliha preniska StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Vrijednost -PMPValue=Ponderirana/vagana aritmetička sredina - PAS -PMPValueShort=PAS EnhancedValueOfWarehouses=Skladišna vrijednost UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/bs_BA/ticket.lang b/htdocs/langs/bs_BA/ticket.lang index d0becaf2768..d80d951da9b 100644 --- a/htdocs/langs/bs_BA/ticket.lang +++ b/htdocs/langs/bs_BA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostalo @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Pročitaj Assigned=Assigned InProgress=U toku -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Čekanje -Closed=Zatvoren +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupa +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/bs_BA/trips.lang b/htdocs/langs/bs_BA/trips.lang index bcc9b13b1bb..5bdd5d96547 100644 --- a/htdocs/langs/bs_BA/trips.lang +++ b/htdocs/langs/bs_BA/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Datum potvrde DATE_CANCEL=Cancelation date DATE_PAIEMENT=Datum uplate -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/bs_BA/users.lang b/htdocs/langs/bs_BA/users.lang index 7b4cd013b64..f8e3310227f 100644 --- a/htdocs/langs/bs_BA/users.lang +++ b/htdocs/langs/bs_BA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Kreirati login NameToCreate=Naziv subjekta za kreiranje YourRole=Vaše uloge YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je postignuta! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin može unazaditi superadmina HierarchicalResponsible=Nadzornik HierarchicView=Hijerarhijski prikaz diff --git a/htdocs/langs/bs_BA/website.lang b/htdocs/langs/bs_BA/website.lang index 265e8e7584a..062783a4534 100644 --- a/htdocs/langs/bs_BA/website.lang +++ b/htdocs/langs/bs_BA/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Stranica -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/bs_BA/withdrawals.lang b/htdocs/langs/bs_BA/withdrawals.lang index 67fafcf5faa..1c2e604815d 100644 --- a/htdocs/langs/bs_BA/withdrawals.lang +++ b/htdocs/langs/bs_BA/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Označi na potraživanja ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Datum izvršenja CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/bs_BA/workflow.lang b/htdocs/langs/bs_BA/workflow.lang index 713199e5ec9..97c471f8c7c 100644 --- a/htdocs/langs/bs_BA/workflow.lang +++ b/htdocs/langs/bs_BA/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/ca_ES/accountancy.lang b/htdocs/langs/ca_ES/accountancy.lang index ac00e7e054f..a5c2edabc9e 100644 --- a/htdocs/langs/ca_ES/accountancy.lang +++ b/htdocs/langs/ca_ES/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Països no integrats a la CEE CountriesInEECExceptMe=Països a la CEE excepte %s CountriesExceptMe=Tots els països, excepte %s AccountantFiles=Exporta documents d'origen -ExportAccountingSourceDocHelp=Amb aquesta eina, podeu exportar els esdeveniments d'origen (llista i PDF) que es van utilitzar per a generar la vostra comptabilitat. Per a exportar els vostres diaris, utilitzeu l’entrada de menú %s - %s. +ExportAccountingSourceDocHelp=Amb aquesta eina, podeu exportar els esdeveniments d'origen (llista en format CSV i PDF) que s'han utilitzat per generar la vostra comptabilitat. +ExportAccountingSourceDocHelp2=Per exportar les vostres revistes, utilitzeu l'entrada de menú %s - %s. VueByAccountAccounting=Veure per compte comptable VueBySubAccountAccounting=Veure-ho per subcomptes comptables @@ -131,7 +132,7 @@ InvoiceLinesDone=Línies de factura comptabilitzades ExpenseReportLines=Línies d'informes de despeses a comptabilitzar ExpenseReportLinesDone=Línies comptabilitzades d'informes de despeses IntoAccount=Línia comptabilitzada amb el compte comptable -TotalForAccount=Total accounting account +TotalForAccount=Compte comptable total Ventilate=Comptabilitza @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Longitud dels subcomptes (Si s'estableix el valor a 6 ACCOUNTING_MANAGE_ZERO=Gestiona un nombre diferent de zero al final d'un compte comptable. És necessari per a alguns països (com Suïssa). Si es manté apagat (per defecte), podeu configurar els següents dos paràmetres per a demanar a l'aplicació d'afegir zeros virtuals. BANK_DISABLE_DIRECT_INPUT=Desactiva el registre directe de transaccions al compte bancari ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Habilita l'exportació d'esborrany en el diari -ACCOUNTANCY_COMBO_FOR_AUX=Activa la llista de combo per al compte subsidiari (pot ser lent si tens molts tercers) +ACCOUNTANCY_COMBO_FOR_AUX=Activa la llista combinada per a un compte subsidiari (pot ser lent si tens molts tercers, trenca la capacitat de cerca en una part del valor) ACCOUNTING_DATE_START_BINDING=Definiu una data per a començar la vinculació i transferència a la comptabilitat. Per sota d’aquesta data, les transaccions no es transferiran a la comptabilitat. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=En el cas de transferència de comptabilitat, seleccioneu el període a mostrar per defecte @@ -202,7 +203,7 @@ Docref=Referència LabelAccount=Etiqueta de compte LabelOperation=Etiqueta de l'operació Sens=Direcció -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=Per a un compte comptable d'un client, utilitzeu Crèdit per registrar un pagament que heu rebut
    Per a un compte comptable d'un proveïdor, utilitzeu Dèbit per registrar el pagament que heu fet LetteringCode=Codi de retolació Lettering=Lletres Codejournal=Diari @@ -245,9 +246,9 @@ DescThirdPartyReport=Consulteu aquí la llista dels clients i proveïdors de ter ListAccounts=Llistat dels comptes comptables UnknownAccountForThirdparty=Compte comptable de tercer desconeguda, utilitzarem %s UnknownAccountForThirdpartyBlocking=Compte comptable de tercer desconegut. Error de bloqueig -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Compte de tercers no definit o tercer desconegut. Utilitzarem %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tercer desconegut i subcompte comptable no definit al pagament. Es manté buit el valor del subcompte comptable. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Compte de tercers no definit o tercer desconegut. Error de bloqueig. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Compte de tercers desconegut i compte d'espera no definit. Error de bloqueig PaymentsNotLinkedToProduct=Pagament no vinculat a cap producte / servei OpeningBalance=Saldo d'obertura @@ -297,7 +298,7 @@ NoNewRecordSaved=No hi ha més registres pel diari ListOfProductsWithoutAccountingAccount=Llista de productes no comptabilitzats en cap compte comptable ChangeBinding=Canvia la comptabilització Accounted=Comptabilitzat en el llibre major -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Encara no es dóna compte al llibre major ShowTutorial=Mostrar Tutorial NotReconciled=No conciliat WarningRecordWithoutSubledgerAreExcluded=Advertiment: totes les operacions sense subcompte comptable definit es filtren i s'exclouen d'aquesta vista @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Desactiva la vinculació i transferènci ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Desactiva la vinculació i transferència de comptes en els informes de despeses (els informes de despeses no es tindran en compte a la comptabilitat) ## Export +NotifiedExportDate=Data d'exportació notificada (no serà possible modificar les entrades) +NotifiedValidationDate=Validació de les entrades (no serà possible la modificació o supressió de les entrades) +ConfirmExportFile=Confirmació de la generació del fitxer d'exportació comptable? ExportDraftJournal=Exporta els esborranys del llibre Modelcsv=Model d'exportació Selectmodelcsv=Selecciona un model d'exportació @@ -335,7 +339,7 @@ Modelcsv_normal=Exportació clàssica Modelcsv_CEGID=Exporta a CEGID Expert Comptabilité Modelcsv_COALA=Exporta a Sage Coala Modelcsv_bob50=Exporta a Sage BOB 50 -Modelcsv_ciel=Exporta a Sage Ciel Compta o Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Exporta a Quadratus QuadraCompta Modelcsv_ebp=Exporta a EBP Modelcsv_cogilog=Exporta a Cogilog @@ -402,29 +406,29 @@ UseMenuToSetBindindManualy=Línies encara no enllaçades, utilitzeu el menú %s si existeix, per a permetre RestoreLock=Substituir un arxiu %s, donant-li només drets de lectura a aquest arxiu per tal de prohibir noves actualitzacions. SecuritySetup=Configuració de seguretat PHPSetup=Configuració de PHP -OSSetup=OS setup +OSSetup=Configuració del sistema operatiu SecurityFilesDesc=Defineix les opcions relacionades amb la seguretat de càrrega de fitxers. ErrorModuleRequirePHPVersion=Error, aquest mòdul requereix una versió %s o superior de PHP ErrorModuleRequireDolibarrVersion=Error, aquest mòdul requereix una versió %s o superior de Dolibarr @@ -84,6 +85,7 @@ NumberOfBytes=Nombre de bytes SearchString=Cerca cadena NotAvailableWhenAjaxDisabled=No disponible quan Ajax estigui desactivat AllowToSelectProjectFromOtherCompany=En un document d'un tercer, pots triar un projecte enllaçat a un altre tercer +TimesheetPreventAfterFollowingMonths=Eviteu el temps de gravació passat el següent nombre de mesos JavascriptDisabled=Javascript desactivat UsePreviewTabs=Veure fitxes "vista prèvia" ShowPreview=Veure previsualització @@ -116,6 +118,7 @@ MultiCurrencySetup=Configuració multidivisa MenuLimits=Límits i precisió MenuIdParent=Id del menú pare DetailMenuIdParent=IDr del menú pare (buit per a un menú superior) +ParentID=ID del pare DetailPosition=Número d'ordre per a la posició del menú AllMenus=Tots NotConfigured=Mòdul/Aplicació no configurat @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funcionalitat disponible únicament en versions est BoxesDesc=Els panells són components que mostren algunes dades que poden afegir-se per a personalitzar algunes pàgines. Pots triar entre mostrar el panell o no seleccionant la pàgina de destí i fent clic a 'Activar', o fent clic en la paperera per a desactivar. OnlyActiveElementsAreShown=Només els elements de mòduls activats són mostrats ModulesDesc=Els mòduls/aplicacions determinen quines funcions estan disponibles al programari. Alguns mòduls requereixen que es concedeixin permisos als usuaris després d'activar-lo. Feu clic al botó d'encesa/apagada %s de cada mòdul per a habilitar o desactivar un mòdul/aplicació. +ModulesDesc2=Feu clic al botó de la roda %s per configurar el mòdul / aplicació. ModulesMarketPlaceDesc=A internet podeu trobar més mòduls per a descarregar en pàgines web externes... ModulesDeployDesc=Si els permisos del vostre sistema de fitxers ho permeten, podeu utilitzar aquesta eina per a desplegar un mòdul extern. El mòdul serà visible a la pestanya %s . ModulesMarketPlaces=Trobar mòduls/complements externs @@ -221,8 +225,8 @@ NotCompatible=Aquest mòdul no sembla compatible amb el vostre Dolibarr %s (Mín CompatibleAfterUpdate=Aquest mòdul requereix actualitzar el vostre Dolibarr %s (Mín. %s - Màx. %s). SeeInMarkerPlace=Veure a la tenda d'apps SeeSetupOfModule=Vegi la configuració del mòdul %s +SetOptionTo=Estableix l'opció %s a %s Updated=Actualitzat -Nouveauté=Novetat AchatTelechargement=Comprar / Descarregar GoModuleSetupArea=Per a desplegar/instal·lar un mòdul nou, aneu a l'àrea de configuració del mòdul: %s . DoliStoreDesc=DoliStore, el lloc oficial de mòduls complementaris per Dolibarr ERP / CRM @@ -351,8 +355,8 @@ LastActivationAuthor=Últim autor d'activació LastActivationIP=Última IP d'activació UpdateServerOffline=Actualitza el servidor fora de línia WithCounter=Gestiona un comptador -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes=Podeu introduir qualsevol màscara de numeració. En aquesta màscara, es poden utilitzar les etiquetes següents:
    {000000} correspon a un número que s'incrementarà a cada %s. Introduïu tants zeros com la longitud desitjada del comptador. El comptador es completarà amb zeros de l'esquerra per tal de tenir tants zeros com la màscara.
    {000000 + 000} igual que l'anterior, però s'aplica un desplaçament que correspon al número a la dreta del signe + a partir del primer %s.
    {000000 @ x} igual que l'anterior, però el comptador es restableix a zero quan s'arriba al mes x (x entre 1 i 12, o 0 per utilitzar els primers mesos de l'any fiscal definits a la vostra configuració, o 99 a restableix a zero cada mes). Si s’utilitza aquesta opció i x és 2 o superior, també és obligatòria la seqüència {yy} {mm} o {yyyy} {mm}.
    {dd} dia (de l'1 al 31).
    {mm} mes (01 a 12).
    {aa} , {aaaa} o {y} a09a4b.
    +GenericMaskCodes2= {cccc} el codi del client en n caràcters
    {cccc000} a09a4b739f17f8z. Aquest comptador dedicat al client es restableix al mateix temps que el comptador global.
    {tttt} El codi del tipus de tercers en n caràcters (vegeu el menú Inici - Configuració - Diccionari - Tipus de tercers). Si afegiu aquesta etiqueta, el comptador serà diferent per a cada tipus de tercer.
    GenericMaskCodes3=Qualsevol altre caràcter a la màscara es quedarà sense canvis.
    No es permeten espais
    GenericMaskCodes3EAN=La resta de caràcters de la màscara romandran intactes (excepte * o ? En 13a posició a EAN13).
    No es permeten espais.
    A EAN13, l'últim caràcter després de l'últim } a la 13a posició hauria de ser * o ? . Se substituirà per la clau calculada.
    GenericMaskCodes4a=Exemple en el 99 %s del tercer L'Empresa, amb data 31/01/2007:
    @@ -399,6 +403,7 @@ SecurityToken=Clau per a protegir els URL NoSmsEngine=No hi ha cap gestor d'enviament de SMS. Els gestors d'enviament de SMS no s'instal·len per defecte ja que depenen de cada proveïdor, però pot trobar-los a la plataforma %s PDF=PDF PDFDesc=Opcions globals de generació de PDF +PDFOtherDesc=Opció PDF específica per a alguns mòduls PDFAddressForging=Regles per a la secció d’adreces HideAnyVATInformationOnPDF=Amaga tota la informació relacionada amb l'IVA PDFRulesForSalesTax=Regles per l'IVA @@ -561,7 +566,7 @@ Module53Desc=Gestió de serveis Module54Name=Contractes/Subscripcions Module54Desc=Gestió de contractes (serveis o subscripcions recurrents) Module55Name=Codis de barra -Module55Desc=Gestió dels codis de barra +Module55Desc=Gestió de codis de barres o codi QR Module56Name=Pagament per transferència bancària Module56Desc=Gestió del pagament de proveïdors mitjançant comandes de transferència de crèdit. Inclou la generació de fitxers SEPA per a països europeus. Module57Name=Cobraments per domiciliació bancària @@ -591,7 +596,7 @@ Module240Desc=Eina d'exportació de dades Dolibarr (amb assistent) Module250Name=Importació de dades Module250Desc=Eina d'importació de dades Dolibarr (amb assistent) Module310Name=Socis -Module310Desc=Gestió de socis d'una entitat +Module310Desc=Gestió de persones sòcies d'una entitat Module320Name=Fils RSS Module320Desc=Afegeix un fil RSS a les pàgines de Dolibarr Module330Name=Marcadors i Dreceres @@ -848,10 +853,10 @@ Permission402=Crear/modificar havers Permission403=Valida els descomptes Permission404=Eliminar havers Permission430=Utilitzeu la barra de depuració -Permission511=Consulta els pagaments dels sous (vostres i subordinats) -Permission512=Crea/modifica el pagament dels salaris -Permission514=Elimina pagament de salaris -Permission517=Consulta els pagaments dels sous de tothom +Permission511=Llegiu els sous i els pagaments (vostres i subordinats) +Permission512=Crear / modificar salaris i pagaments +Permission514=Suprimiu els sous i els pagaments +Permission517=Llegiu tots els sous i pagaments Permission519=Exportació salaris Permission520=Consulta préstecs Permission522=Crear/modificar préstecs @@ -965,6 +970,8 @@ Permission23003=Eliminar tasques programades Permission23004=Executar tasca programada Permission50101=Utilitza el Punt de venda (SimplePOS) Permission50151=Utilitza el Punt de venda (TakePOS) +Permission50152=Editeu les línies de vendes +Permission50153=Editeu les línies de vendes ordenades Permission50201=Consultar les transaccions Permission50202=Importar les transaccions Permission50330=Consulta objectes de Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Unitats de mesura DictionarySocialNetworks=Xarxes socials DictionaryProspectStatus=Estat de perspectiva de les empreses DictionaryProspectContactStatus=Estat de perspectiva dels contactes -DictionaryHolidayTypes=Tipus de dies lliures +DictionaryHolidayTypes=Permís - Tipus de permís DictionaryOpportunityStatus=Estat d'oportunitat del projecte/oportunitat DictionaryExpenseTaxCat=Informe de despeses - Categories de transport DictionaryExpenseTaxRange=Informe de despeses - Rang per categoria de transport DictionaryTransportMode=Informe intracomm: mode de transport +DictionaryBatchStatus=Estat del control de qualitat del lot / sèrie del producte TypeOfUnit=Tipus d’unitat SetupSaved=Configuració desada SetupNotSaved=Configuració no desada @@ -1160,7 +1168,7 @@ DoNotSuggestPaymentMode=No ho suggereixis NoActiveBankAccountDefined=Cap compte bancari actiu definit OwnerOfBankAccount=Titular del compte %s BankModuleNotActive=Mòdul comptes bancaris no activat -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Definiu l'enllaç " %s " (buit per no mostrar aquest enllaç, 'github' per a l'enllaç al projecte Dolibarr o definiu directament una URL 'https: // ...') Alerts=Alertes DelaysOfToleranceBeforeWarning=Retard abans de mostrar una alerta d'advertència per a: DelaysOfToleranceDesc=Establiu el retard abans que es mostri a la pantalla una icona d'alerta %s per a l'element final. @@ -1185,9 +1193,12 @@ SetupDescription2=Les dues seccions següents són obligatòries (les dues prime SetupDescription3= %s -> %s

    Paràmetres bàsics utilitzats per a personalitzar el comportament per defecte de la vostra aplicació (per exemple, per a funcions relacionades amb el país). SetupDescription4=  %s -> %s

    Aquest programari és un conjunt de molts mòduls / aplicacions. Els mòduls relacionats amb les vostres necessitats s’han d’activar i configurar. Les entrades del menú apareixen amb l’activació d’aquests mòduls. SetupDescription5=Altres entrades del menú d'instal·lació gestionen paràmetres opcionals. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Esdeveniments de seguretat que s’auditen -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Auditoria +NoSecurityEventsAreAduited=No s’audita cap esdeveniment de seguretat. Podeu activar-les des del menú %s +Audit=Esdeveniments de seguretat InfoDolibarr=Quant al Dolibarr InfoBrowser=Quant al Navegador InfoOS=Quant al S.O. @@ -1254,10 +1265,10 @@ RunningUpdateProcessMayBeRequired=Sembla que cal executar el procés d’actuali YouMustRunCommandFromCommandLineAfterLoginToUser=Ha d'executar la comanda des d'un shell després d'haver iniciat sessió amb el compte %s. YourPHPDoesNotHaveSSLSupport=Funcions SSL no disponibles al vostre PHP DownloadMoreSkins=Més temes per a descarregar -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Mostra l'identificador professional amb adreces -ShowVATIntaInAddress=Amaga el número d'IVA intracomunitari amb adreces +SimpleNumRefModelDesc=Retorna el número de referència en el format %syymm-nnnn on yy és l'any, mm és el mes i nnnn és un número d'increment automàtic seqüencial sense restablir +SimpleNumRefNoDateModelDesc=Retorna el número de referència en el format %s-nnnn on nnnn és un número d’increment automàtic seqüencial sense restablir +ShowProfIdInAddress=Mostra el DNI professional amb adreces +ShowVATIntaInAddress=Amaga el número d’IVA intracomunitari TranslationUncomplete=Traducció parcial MAIN_DISABLE_METEO=Desactiva la visualització meteorològica MeteoStdMod=Mode estàndard @@ -1273,7 +1284,7 @@ MAIN_PROXY_HOST=Servidor proxy: nom / adreça MAIN_PROXY_PORT=Servidor proxy: port MAIN_PROXY_USER=Servidor proxy: inici de sessió / usuari MAIN_PROXY_PASS=Servidor proxy: contrasenya -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s +DefineHereComplementaryAttributes=Definiu qualsevol atribut addicional / personalitzat que cal afegir a: %s ExtraFields=Atributs complementaris ExtraFieldsLines=Atributs complementaris (línies) ExtraFieldsLinesRec=Atributs complementaris (línies de plantilles de factures) @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Actualment la condició és %s YouUseBestDriver=Utilitzeu el controlador %s, que és el millor controlador disponible actualment. YouDoNotUseBestDriver=S'utilitza el controlador %s, però es recomana utilitzar el controlador %s. NbOfObjectIsLowerThanNoPb=Només teniu %s %s a la base de dades. Això no requereix cap optimització particular. +ComboListOptim=Optimització de càrrega de llista combinada SearchOptim=Cerca optimització -YouHaveXObjectUseSearchOptim=Teniu %s %s a la base de dades. Podeu afegir la constant %s a 1 a Inici-Configuració-Altres. Limiteu la cerca al començament de les cadenes, cosa que fa possible que la base de dades utilitzi índexs i hauríeu d'obtenir una resposta immediata. -YouHaveXObjectAndSearchOptimOn=Teniu %s %s a la base de dades i %s constant es configura com a 1 a Home-Setup-Other. +YouHaveXObjectUseComboOptim=Teniu %s %s a la base de dades. Podeu entrar a la configuració del mòdul per habilitar la càrrega de la llista combinada en un esdeveniment premut amb la tecla. +YouHaveXObjectUseSearchOptim=Teniu %s %s a la base de dades. Podeu afegir la constant %s a 1 a Inici-Configuració-Altres. +YouHaveXObjectUseSearchOptimDesc=Això limita la cerca al començament de les cadenes, cosa que fa que la base de dades pugui utilitzar índexs i hauríeu d'obtenir una resposta immediata. +YouHaveXObjectAndSearchOptimOn=Teniu %s %s a la base de dades i la constant %s s'estableix en %s a Home-Setup-Other. BrowserIsOK=Esteu utilitzant el navegador web %s. Aquest navegador està bé per a la seguretat i el rendiment. BrowserIsKO=Esteu utilitzant el navegador web %s. Es considera que aquest navegador és una mala elecció per a la seguretat, el rendiment i la fiabilitat. Recomanem utilitzar Firefox, Chrome, Opera o Safari. PHPModuleLoaded=Es carrega el component PHP %s @@ -1433,6 +1447,7 @@ MemberMainOptions=Opcions principals AdherentLoginRequired= Gestiona un compte d'usuari per a cada soci AdherentMailRequired=Cal un correu electrònic per a crear un soci nou MemberSendInformationByMailByDefault=La casella de selecció per a enviar una confirmació per correu electrònic als socis (validació o nova subscripció) està activada per defecte +MemberCreateAnExternalUserForSubscriptionValidated=Creeu un usuari extern per a cada subscripció nova membre validada VisitorCanChooseItsPaymentMode=El visitant pot triar entre els modes de pagament disponibles MEMBER_REMINDER_EMAIL=Activa el recordatori automàtic per correu electrònic de les subscripcions caducades. Nota: El mòdul %s s'ha d'habilitar i configurar correctament per a enviar recordatoris. MembersDocModules=Plantilles de documents per a documents generats a partir del registre de socis @@ -1517,7 +1532,7 @@ LDAPFieldLoginUnix=Nom d'usuari (unix) LDAPFieldLoginExample=Exemple: uid LDAPFilterConnection=Filtre de cerca LDAPFilterConnectionExample=Exemple: & (objectClass = inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=Exemple: & (objectClass = groupOfUsers) LDAPFieldLoginSamba=Nom d'usuari (samba, activedirectory) LDAPFieldLoginSambaExample=Exemple: samaccountname LDAPFieldFullname=Nom complet @@ -1753,7 +1768,7 @@ CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Mantenir buida per defecte la casella “Cre ##### Agenda ##### AgendaSetup=Mòdul configuració d'accions i agenda PasswordTogetVCalExport=Clau d'autorització vCal export link -SecurityKey = Security Key +SecurityKey = Clau de seguretat PastDelayVCalExport=No exportar els esdeveniments de més de AGENDA_USE_EVENT_TYPE=Utilitzeu tipus d'esdeveniments (gestionats en el menú Configuració -> Diccionaris -> Tipus d'esdeveniments d'agenda) AGENDA_USE_EVENT_TYPE_DEFAULT=Estableix automàticament aquest valor predeterminat per al tipus d'esdeveniment en el formulari de creació de l'esdeveniment @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Quina vista voleu obrir de manera predeterminada en seleccio AGENDA_REMINDER_BROWSER=Activa el recordatori d'esdeveniments al navegador de l'usuari (Quan s'arriba a la data de recordatori, el navegador mostra una finestra emergent. Cada usuari pot desactivar aquestes notificacions des de la configuració de notificacions del navegador). AGENDA_REMINDER_BROWSER_SOUND=Habilita les notificacions sonores AGENDA_REMINDER_EMAIL=Activa el recordatori d'esdeveniments per correu electrònic (es pot definir l'opció de recordatori/retard a cada esdeveniment). -AGENDA_REMINDER_EMAIL_NOTE=Nota: La freqüència de la tasca %s ha de ser suficient per a assegurar-se que els recordatoris s’envien en el moment correcte. +AGENDA_REMINDER_EMAIL_NOTE=Nota: La freqüència del treball programat %s ha de ser suficient per assegurar-se que els recordatoris s’envien en el moment correcte. AGENDA_SHOW_LINKED_OBJECT=Mostra l'objecte vinculat a la vista d'agenda ##### Clicktodial ##### ClickToDialSetup=Configuració del mòdul Click To Dial ClickToDialUrlDesc=Es crida l'URL quan es fa un clic a la imatge miniatura de telèfon. A l'URL, pots utilitzar les etiquetes
    __PHONETO__ que serà reemplaçada pel número de telèfon de la persona a trucar
    __PHONEFROM__ que serà reemplaçada pel número de telèfon de la persona que truca (el vostre)
    __LOGIN__ que serà reemplaçada pel teu usuari d'inici de clicktodial (definit a la fitxa d'usuari)
    __PASS__ que serà reemplaçada per la contrasenya de clicktodial (definida a la fitxa d'usuari). ClickToDialDesc=Aquest mòdul canvia els números de telèfon, en utilitzar un ordinador de sobretaula, a enllaços on es pot fer clic. Un clic trucarà al número. Es pot utilitzar per a iniciar la trucada quan s'utilitza un telèfon suau a l'escriptori o, per exemple, quan s'utilitza un sistema CTI basat en el protocol SIP. Nota: Quan feu servir un telèfon intel·ligent, sempre es pot fer clic als números de telèfon. ClickToDialUseTelLink=Utilitzar sols l'enllaç "tel:" als números de telèfon -ClickToDialUseTelLinkDesc=Utilitzeu aquest mètode si els vostres usuaris tenen un softphone o una interfície de programari instal·lada a la mateixa computadora que el navegador, i us demani quan feu clic a un enllaç al vostre navegador que comença per "tel:". Si necessiteu una solució completa de servidor (no cal instal·lar programari local), heu d'establir això a "No" i omplir el camp següent. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Punt de venda CashDeskSetup=Configuració del mòdul de Punt de venda @@ -1979,9 +1994,13 @@ MAIN_PDF_MARGIN_RIGHT=Marge dret al PDF MAIN_PDF_MARGIN_TOP=Marge superior al PDF MAIN_PDF_MARGIN_BOTTOM=Marge inferior al PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Alçada del logotip en PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Afegeix una imatge a la línia de proposta +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Afegir signe electrònic en PDF NothingToSetup=No hi ha cap configuració específica necessària per a aquest mòdul. SetToYesIfGroupIsComputationOfOtherGroups=Estableixi a SÍ si aquest grup és un càlcul d'altres grups -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +EnterCalculationRuleIfPreviousFieldIsYes=Introduïu la regla de càlcul si el camp anterior s'ha definit a Sí.
    Per exemple:
    CODEGRP1 + CODEGRP2 SeveralLangugeVariatFound=S'ha trobat diverses variants d'idiomes RemoveSpecialChars=Elimina els caràcters especials COMPANY_AQUARIUM_CLEAN_REGEX=Filtre Regex per a netejar el valor (COMPANY_AQUARIUM_CLEAN_REGEX) @@ -2064,11 +2083,11 @@ UseDebugBar=Utilitzeu la barra de depuració DEBUGBAR_LOGS_LINES_NUMBER=Nombre d’últimes línies de registre que cal mantenir a la consola WarningValueHigherSlowsDramaticalyOutput=Advertència, els valors més alts frenen molt la producció ModuleActivated=El mòdul %s està activat i alenteix la interfície -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +ModuleActivatedWithTooHighLogLevel=El mòdul %s s'activa amb un nivell de registre massa alt (intenteu utilitzar un nivell inferior per obtenir millors prestacions i seguretat) +ModuleSyslogActivatedButLevelNotTooVerbose=El mòdul %s està activat i el nivell de registre (%s) és correcte (no massa detallat) IfYouAreOnAProductionSetThis=Si esteu en un entorn de producció, s'hauria d'establir aquesta propietat en %s. AntivirusEnabledOnUpload=Antivirus activat als fitxers penjats -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +SomeFilesOrDirInRootAreWritable=Alguns fitxers o directoris no estan en mode de només lectura EXPORTS_SHARE_MODELS=Els models d’exportació es comparteixen amb tothom ExportSetup=Configuració del mòdul Export ImportSetup=Configuració del mòdul Import @@ -2078,7 +2097,7 @@ LargerThan=Major que IfTrackingIDFoundEventWillBeLinked=Tingueu en compte que si es troba un identificador de seguiment d’un objecte al correu electrònic o si el correu electrònic és una resposta d’un correu electrònic que ja està recollit i enllaçat a un objecte, l’esdeveniment creat s’enllaçarà automàticament a l’objecte relacionat conegut. WithGMailYouCanCreateADedicatedPassword=Amb un compte de GMail, si heu activat la validació de dos passos, es recomana crear una segona contrasenya dedicada a l’aplicació en comptes d’utilitzar la contrasenya del vostre compte des de https://myaccount.google.com/. EmailCollectorTargetDir=Pot ser un comportament desitjat traslladar el correu electrònic a una altra etiqueta/directori quan s'ha processat correctament. Només heu de definir el nom del directori per a utilitzar aquesta funció (NO utilitzeu caràcters especials en el nom). Tingueu en compte que també heu d'utilitzar un compte d'inici de sessió de lectura/escriptura. -EmailCollectorLoadThirdPartyHelp=Podeu utilitzar aquesta acció per a utilitzar el contingut del correu electrònic per a trobar i carregar un tercer existent a la vostra base de dades. El tercer trobat (o creat) s'utilitzarà per a seguir les accions que ho necessitin. Al camp del paràmetre podeu utilitzar, per exemple, 'EXTRACT:BODY:Name:\\s([^\\s]*)' si voleu extreure el nom del tercer d'una cadena 'Name:name to find' que es troba al cos. +EmailCollectorLoadThirdPartyHelp=Podeu utilitzar aquesta acció per utilitzar el contingut del correu electrònic per trobar i carregar un tercer existent a la vostra base de dades. El tercer trobat (o creat) s'utilitzarà per seguir les accions que ho necessitin.
    Per exemple, si voleu crear un tercer amb un nom extret de la cadena "Nom: nom per trobar" al cos, utilitzeu el correu electrònic del remitent com a correu electrònic, podeu configurar el camp del paràmetre així: ^ De: (. *); Nom = EXTRACTE: COS: Nom: \\ s ([^ \\ s] *); client = SET: 2; '
    EndPointFor=Punt final per %s: %s DeleteEmailCollector=Suprimeix el recollidor de correu electrònic ConfirmDeleteEmailCollector=Esteu segur que voleu suprimir aquest recollidor de correu electrònic? @@ -2092,11 +2111,10 @@ MakeAnonymousPing=Feu un Ping anònim '+1' al servidor de la fundació Dolibarr FeatureNotAvailableWithReceptionModule=Funció no disponible quan el mòdul Recepció està habilitat EmailTemplate=Plantilla per correu electrònic EMailsWillHaveMessageID=Els correus electrònics tindran una etiqueta "Referències" que coincideix amb aquesta sintaxi -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label +PDF_SHOW_PROJECT=Mostra el projecte al document +ShowProjectLabel=Etiqueta del projecte PDF_USE_ALSO_LANGUAGE_CODE=Si voleu que alguns textos del vostre PDF es copiïn en 2 idiomes diferents en el mateix PDF generat, heu d’establir aquí aquest segon idioma perquè el PDF generat contingui 2 idiomes diferents en la mateixa pàgina, l’escollit en generar el PDF i aquesta (només poques plantilles de PDF admeten això). Mantingueu-lo buit per a 1 idioma per PDF. FafaIconSocialNetworksDesc=Introduïu aquí el codi de la icona de FontAwesome. Si no sabeu què és FontAwesome, podeu utilitzar el llibre genèric d’adreces. -FeatureNotAvailableWithReceptionModule=Funció no disponible quan el mòdul Recepció està habilitat RssNote=Nota: Cada definició del canal RSS proporciona un giny que heu d’habilitar per a tenir-lo disponible al tauler de control JumpToBoxes=Aneu a Configuració -> Ginys MeasuringUnitTypeDesc=Utilitzeu aquí un valor com "mida", "superfície", "volum", "pes", "temps" @@ -2116,16 +2134,28 @@ SeeLinkToOnlineDocumentation=Vegeu l'enllaç a la documentació en línia al men SHOW_SUBPRODUCT_REF_IN_PDF=Si s'utilitza la funció "%s" del mòdul %s , mostra els detalls dels subproductes d'un kit en el PDF. AskThisIDToYourBank=Poseu-vos en contacte amb el vostre banc per a obtenir aquesta identificació AdvancedModeOnly=El permís està disponible només en mode de permís avançat -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. +ConfFileIsReadableOrWritableByAnyUsers=Els usuaris poden llegir o escriure el fitxer conf. Doneu permís només a l'usuari i al grup del servidor web. MailToSendEventOrganization=Organització d'esdeveniments -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Estat de l'esdeveniment per defecte en crear un esdeveniment des del formulari +YouShouldDisablePHPFunctions=Hauríeu de desactivar les funcions PHP +IfCLINotRequiredYouShouldDisablePHPFunctions=Excepte si heu d'executar ordres del sistema en codi personalitzat, hauríeu de desactivar les funcions PHP +PHPFunctionsRequiredForCLI=Per al propòsit de l'intèrpret d'ordres (com fer còpies de seguretat programades o executar un programa anitivurs), heu de mantenir les funcions PHP +NoWritableFilesFoundIntoRootDir=No s'ha trobat cap fitxer ni directori d'escriptura dels programes comuns al directori arrel (Bo) +RecommendedValueIs=Recomanat: %s +Recommended=Recomanada +NotRecommended=No es recomana +ARestrictedPath=Un camí restringit +CheckForModuleUpdate=Comproveu si hi ha actualitzacions de mòduls externs +CheckForModuleUpdateHelp=Aquesta acció es connectarà als editors de mòduls externs per comprovar si hi ha disponible una nova versió. +ModuleUpdateAvailable=Hi ha disponible una actualització +NoExternalModuleWithUpdate=No s'han trobat actualitzacions per a mòduls externs +SwaggerDescriptionFile=Fitxer de descripció de l'API Swagger (per utilitzar-lo amb redoc per exemple) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Heu activat l'API WS obsoleta. Haureu d’utilitzar l’API REST. +RandomlySelectedIfSeveral=Seleccionat aleatòriament si hi ha diverses imatges disponibles +DatabasePasswordObfuscated=La contrasenya de la base de dades està ofuscada al fitxer conf +DatabasePasswordNotObfuscated=La contrasenya de la base de dades NO està ofuscada al fitxer conf +APIsAreNotEnabled=Els mòduls API no estan habilitats +YouShouldSetThisToOff=Hauríeu d'establir-lo a 0 o desactivar-lo +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ca_ES/agenda.lang b/htdocs/langs/ca_ES/agenda.lang index 7950ff65d5b..21f844fd26c 100644 --- a/htdocs/langs/ca_ES/agenda.lang +++ b/htdocs/langs/ca_ES/agenda.lang @@ -4,7 +4,7 @@ Actions=Esdeveniments Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendes -LocalAgenda=Calendari intern +LocalAgenda=Calendari per defecte ActionsOwnedBy=Esdeveniment propietat de ActionsOwnedByShort=Propietari AffectedTo=Assignada a @@ -20,7 +20,7 @@ MenuToDoActions=Tots els esdeveniments incomplets MenuDoneActions=Esdeveniments acabats MenuToDoMyActions=Els meus esdeveniments incomplets MenuDoneMyActions=Els meus esdeveniments acabats -ListOfEvents=Llista d'esdeveniments (calendari intern) +ListOfEvents=Llista d'esdeveniments (calendari predeterminat) ActionsAskedBy=Esdeveniments registrats per ActionsToDoBy=Esdeveniments assignats a ActionsDoneBy=Esdeveniments realitzats per @@ -32,12 +32,13 @@ ViewPerUser=Vista d'usuaris ViewPerType=Vista per tipus AutoActions= Inclusió automàtica a l'agenda AgendaAutoActionDesc= Aquí pots definir esdeveniments que vols que Dolibarr creï automàticament a Agenda. Si no hi ha res comprovat, només s'inclouran les accions manuals als registres i es mostraran a Agenda. El seguiment automàtic de les accions empresarials realitzades en objectes (validació, canvi d'estat) no es desarà. -AgendaSetupOtherDesc= Aquesta pàgina permet configurar algunes opcions que permeten exportar una vista de la seva agenda Dolibar a un calendari extern (thunderbird, google calendar, ...) +AgendaSetupOtherDesc= Aquesta pàgina proporciona opcions per a permetre l'exportació dels vostres esdeveniments Dolibarr a un calendari extern (Thunderbird, Google Calendar, etc.) AgendaExtSitesDesc=Aquesta pàgina permet configurar calendaris externs per a la seva visualització en l'agenda de Dolibarr. ActionsEvents=Esdeveniments pels quals Dolibarr crearà una acció a l'agenda automàticament EventRemindersByEmailNotEnabled=Els recordatoris d'esdeveniments per correu electrònic no estaven habilitats en la configuració del mòdul %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Tercer %s creat +COMPANY_MODIFYInDolibarr=Tercer modificat %s COMPANY_DELETEInDolibarr=Tercer %s suprimit ContractValidatedInDolibarr=Contracte %s validat CONTRACT_DELETEInDolibarr=Contracte %s eliminat @@ -87,6 +88,7 @@ OrderDeleted=Comanda esborrada InvoiceDeleted=Factura esborrada DraftInvoiceDeleted=S'ha suprimit l'esborrany de factura CONTACT_CREATEInDolibarr=S'ha creat el contacte %s +CONTACT_MODIFYInDolibarr=Es va modificar el contacte %s CONTACT_DELETEInDolibarr=S'ha eliminat el contacte %s PRODUCT_CREATEInDolibarr=Producte %s creat PRODUCT_MODIFYInDolibarr=Producte %s modificat @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=OF definida a l'estat d'esborrany MRP_MO_PRODUCEDInDolibarr=OF fabricada MRP_MO_DELETEInDolibarr=OF eliminada MRP_MO_CANCELInDolibarr=OF cancel·lada +PAIDInDolibarr=%s pagat ##### End agenda events ##### AgendaModelModule=Plantilles de documents per esdeveniments DateActionStart=Data d'inici @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s per a restringir la producció d'accions assi AgendaUrlOptionsProject=project=PROJECT_ID per a restringir la sortida d'accions associades al projecta PROJECT_ID. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto per excloure esdeveniments automàtics. AgendaUrlOptionsIncludeHolidays=  includeholidays = 1 per incloure esdeveniments de vacances. -AgendaShowBirthdayEvents=Mostra aniversaris dels contactes +AgendaShowBirthdayEvents=Aniversaris de contactes AgendaHideBirthdayEvents=Amaga els aniversaris dels contactes Busy=Ocupat ExportDataset_event1=Llista d'esdeveniments de l'agenda diff --git a/htdocs/langs/ca_ES/banks.lang b/htdocs/langs/ca_ES/banks.lang index 75647bece01..fb4fd80a002 100644 --- a/htdocs/langs/ca_ES/banks.lang +++ b/htdocs/langs/ca_ES/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Pagament d'impostos varis BankTransfer=Transferència bancària BankTransfers=Transferències bancàries MenuBankInternalTransfer=Transferència interna -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Utilitzeu la transferència interna per transferir d'un compte a un altre, l'aplicació escriurà dos registres: un dèbit al compte d'origen i un crèdit al compte objectiu. Es farà servir el mateix import, etiqueta i data per a aquesta transacció. TransferFrom=De TransferTo=Cap a TransferFromToDone=La transferència de %s cap a %s de %s %s s'ha creat. CheckTransmitter=Remitent ValidateCheckReceipt=Vols validar aquesta remesa de xec? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Vols suprimir aquesta remesa de xec? ConfirmDeleteCheckReceipt=Vols eliminar aquesta remesa de xec? BankChecks=Xec bancari @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Esteu segur que voleu suprimir aquest registre? ThisWillAlsoDeleteBankRecord=Açò eliminarà també els registres bancaris generats BankMovements=Moviments PlannedTransactions=Registres prevists -Graph=Graphs +Graph=Gràfics ExportDataset_banque_1=Registres bancaris i extractes ExportDataset_banque_2=Resguard TransactionOnTheOtherAccount=Transacció sobre l'altra compte @@ -142,7 +142,7 @@ AllAccounts=Tots els comptes bancaris i en efectiu BackToAccount=Tornar al compte ShowAllAccounts=Mostra per a tots els comptes FutureTransaction=Transacció futura. No és possible conciliar. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Seleccioneu / filtreu els xecs que s’inclouran al rebut del dipòsit de xecs. A continuació, feu clic a "Crea". InputReceiptNumber=Selecciona l'estat del compte bancari relacionat amb la conciliació. Utilitza un valor numèric que es pugui ordenar: AAAAMM o AAAAMMDD EventualyAddCategory=Eventualment, indiqui una categoria en la qual classificar els registres ToConciliate=A conciliar? diff --git a/htdocs/langs/ca_ES/bills.lang b/htdocs/langs/ca_ES/bills.lang index 85e701cdfa3..c1155fab9d0 100644 --- a/htdocs/langs/ca_ES/bills.lang +++ b/htdocs/langs/ca_ES/bills.lang @@ -55,7 +55,7 @@ CustomerInvoice=Factura a client CustomersInvoices=Factures a clients SupplierInvoice=Factura del proveïdor SuppliersInvoices=Factures de proveïdor -SupplierInvoiceLines=Vendor invoice lines +SupplierInvoiceLines=Línies de facturació del proveïdor SupplierBill=Factura del proveïdor SupplierBills=Factures de proveïdor Payment=Pagament @@ -82,8 +82,8 @@ PaymentsAlreadyDone=Pagaments efectuats PaymentsBackAlreadyDone=Devolucions realitzades PaymentRule=Regla de pagament PaymentMode=Forma de pagament -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=Tipus de pagament predeterminat +DefaultBankAccount=Compte bancari per defecte PaymentTypeDC=Dèbit/Crèdit Tarja PaymentTypePP=PayPal IdPaymentMode=Forma de pagament (Id) @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=Converteix l'excés pagat en descompte disponible EnterPaymentReceivedFromCustomer=Afegir cobrament rebut del client EnterPaymentDueToCustomer=Fer pagament del client DisabledBecauseRemainderToPayIsZero=Desactivar ja que la resta a pagar és 0 -PriceBase=Base price +PriceBase=Preu base BillStatus=Estat de la factura StatusOfGeneratedInvoices=Estat de factures generades BillStatusDraft=Esborrany (a validar) @@ -259,6 +259,7 @@ DateMaxPayment=Venciment de pagament DateInvoice=Data facturació DatePointOfTax=Punt d'impostos NoInvoice=Cap factura +NoOpenInvoice=No hi ha factura oberta ClassifyBill=Classifica la factura SupplierBillsToPay=Factures de proveïdors pendents de pagament CustomerBillsUnpaid=Factures de client pendents de cobrament @@ -376,7 +377,7 @@ DateLastGeneration=Data de l'última generació DateLastGenerationShort=Data última gen. MaxPeriodNumber=Màx. nombre de generació de factures NbOfGenerationDone=Nombre de generació de factura ja realitzat -NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationOfRecordDone=Nombre de generacions de discs ja realitzades NbOfGenerationDoneShort=Número de generació realitzat MaxGenerationReached=Nombre màxim de generacions assolides InvoiceAutoValidate=Valida les factures automàticament @@ -454,7 +455,7 @@ RegulatedOn=Pagar el ChequeNumber=Número de xec ChequeOrTransferNumber=Núm. de xec/transferència ChequeBordereau=Comprova horari -ChequeMaker=Check/Transfer sender +ChequeMaker=Remitent de xec / transferència ChequeBank=Banc del xec CheckBank=Xec NetToBePaid=Net a pagar @@ -499,7 +500,7 @@ Reported=Ajornat DisabledBecausePayments=No disponible ja que hi ha pagaments CantRemovePaymentWithOneInvoicePaid=Eliminació impossible quan hi ha almenys una factura classificada com a pagada. CantRemovePaymentVATPaid=No es pot eliminar el pagament ja que la declaració de l'IVA està classificada com a pagada -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +CantRemovePaymentSalaryPaid=No es pot eliminar el pagament perquè el salari està classificat com a pagat ExpectedToPay=Esperant el pagament CantRemoveConciliatedPayment=No es pot eliminar el pagament reconciliat PayedByThisPayment=Pagada per aquest pagament @@ -507,7 +508,7 @@ ClosePaidInvoicesAutomatically=Classifiqueu automàticament totes les factures e ClosePaidCreditNotesAutomatically=Classifiqueu automàticament totes les notes de crèdit com a "Pagades" quan es faci la devolució íntegra. ClosePaidContributionsAutomatically=Classifiqueu automàticament totes les contribucions socials o fiscals com a "Pagades" quan el pagament es realitzi íntegrament. ClosePaidVATAutomatically=Classifica automàticament la declaració d'IVA com a "Pagada" quan el pagament es realitzi completament. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +ClosePaidSalaryAutomatically=Classifiqueu automàticament el salari com a "Pagat" quan el pagament es faci completament. AllCompletelyPayedInvoiceWillBeClosed=Totes les factures no pendents de pagament es tancaran automàticament amb l'estat "Pagat". ToMakePayment=Pagar ToMakePaymentBack=Reemborsar @@ -520,10 +521,10 @@ YouMustCreateStandardInvoiceFirstDesc=Primer heu de crear una factura estàndard PDFCrabeDescription=Plantilla de factura PDF Crabe. Una plantilla de factura completa (implementació antiga de la plantilla Sponge) PDFSpongeDescription=Plantilla PDF de factures Sponge. Una plantilla de factura completa PDFCrevetteDescription=Plantilla Crevette per factures PDF. Una plantilla de factura completa per factures de situació. -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=Retorna el número en el format %syymm-nnnn per a les factures estàndard i %syymm-nnnn per a les notes de crèdit on aa és any, mm és mes i nnnn és un número d’increment automàtic seqüencial sense interrupció i sense retorn a 0 +MarsNumRefModelDesc1=Número de devolució en el format %syymm-nnnn per a factures estàndard, %syymm-nnnn per a factures de substitució, %syymm-nnnn per a factures d’avançament i %syymm notes i any sense descans i sense retorn a 0 TerreNumRefModelError=Ja existeix una factura que comença amb $syymm i no és compatible amb aquest model de seqüència. Elimineu-la o canvieu-li el nom per a activar aquest mòdul. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +CactusNumRefModelDesc1=Número de devolució en el format %syymm-nnnn per a les factures estàndard, %syymm-nnnn per a les notes de crèdit i %syymm-nnnn per a les factures d’avançament en què yy és any, mm és mes i nnnn és un número que no ha de retorn automàtic 0 EarlyClosingReason=Motiu de tancament anticipat EarlyClosingComment=Nota de tancament anticipat ##### Types de contacts ##### @@ -589,3 +590,4 @@ FacParentLine=Línia de factura origen SituationTotalRayToRest=Resta a pagar sense impostos PDFSituationTitle=Situació núm. %d SituationTotalProgress=Progrés total %d %% +SearchUnpaidInvoicesWithDueDate=Cerqueu factures pendents de pagament amb data de venciment = %s diff --git a/htdocs/langs/ca_ES/boxes.lang b/htdocs/langs/ca_ES/boxes.lang index 239fa73d3dd..2c696e3353a 100644 --- a/htdocs/langs/ca_ES/boxes.lang +++ b/htdocs/langs/ca_ES/boxes.lang @@ -18,13 +18,13 @@ BoxLastActions=Últimes accions BoxLastContracts=Últims contractes BoxLastContacts=Últims contactes/adreces BoxLastMembers=Últims socis -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=Darrers membres modificats +BoxLastMembersSubscriptions=Últimes subscripcions de membres BoxFicheInter=Últimes intervencions BoxCurrentAccounts=Balanç de comptes oberts BoxTitleMemberNextBirthdays=Aniversaris d'aquest mes (membres) BoxTitleMembersByType=Socis per tipus -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMembersSubscriptionsByYear=Subscripcions de membres per any BoxTitleLastRssInfos=Últimes %s notícies de %s BoxTitleLastProducts=Productes / Serveis: últims %s modificats BoxTitleProductsAlertStock=Productes: alerta d'estoc @@ -46,11 +46,11 @@ BoxMyLastBookmarks=Adreces d'interès: últims %s BoxOldestExpiredServices=Serveis antics expirats BoxLastExpiredServices=Últims %s contactes amb serveis actius expirats BoxTitleLastActionsToDo=Últimes %s accions a fer -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=Últims contractes %s que es van modificar +BoxTitleLastModifiedDonations=Últimes donacions %s que es van modificar +BoxTitleLastModifiedExpenses=Últims informes de despeses %s que es van modificar +BoxTitleLatestModifiedBoms=Últims BOMs %s que es van modificar +BoxTitleLatestModifiedMos=Últimes comandes de fabricació %s que es van modificar BoxTitleLastOutstandingBillReached=Clients que han superat el màxim pendent BoxGlobalActivity=Activitat global BoxGoodCustomers=Bons clients @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Comandes a Proveïdor: últimes %s modifica BoxTitleLastModifiedCustomerBills=Factures del client: últimes %s modificades BoxTitleLastModifiedCustomerOrders=Comandes de venda: últimes %s modificades BoxTitleLastModifiedPropals=Últims %s pressupostos modificats -BoxTitleLatestModifiedJobPositions=Els darrers %s treballs modificats -BoxTitleLatestModifiedCandidatures=Darreres candidatures modificades %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Factures a clients ForCustomersOrders=Comandes de clients ForProposals=Pressupostos @@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=Últims %s enviaments de clients NoRecordedShipments=Cap enviament de client registrat BoxCustomersOutstandingBillReached=Clients que superen el límit pendent # Pages -UsersHome=Home users and groups -MembersHome=Home Membership +UsersHome=Usuaris i grups domèstics +MembersHome=Membres a casa ThirdpartiesHome=Inici Tercers -TicketsHome=Home Tickets +TicketsHome=Entrades a casa AccountancyHome=Inici Comptabilitat ValidatedProjects=Projectes validats diff --git a/htdocs/langs/ca_ES/cashdesk.lang b/htdocs/langs/ca_ES/cashdesk.lang index c8ba9314116..a653bfaac51 100644 --- a/htdocs/langs/ca_ES/cashdesk.lang +++ b/htdocs/langs/ca_ES/cashdesk.lang @@ -41,8 +41,8 @@ Floor=Sala AddTable=Afegeix taula Place=Lloc TakeposConnectorNecesary=Es requereix el 'connector TakePOS' -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Afegiu un botó per enviar la comanda a algunes impressores donades, sense pagament (per exemple, per enviar una comanda a una cuina) +NotAvailableWithBrowserPrinter=No disponible quan la impressora per a recepció està configurada com a navegador: SearchProduct=Cerca producte Receipt=Ordre Header=Capçalera @@ -59,7 +59,7 @@ BillsCoinsPad=Pad de monedes i bitllets DolistorePosCategory=Mòduls TakePOS i altres solucions POS per a Dolibarr TakeposNeedsCategories=TakePOS necessita almenys una categoria de productes per a funcionar TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS necessita almenys una categoria a sota de la categoria %s per funcionar -OrderNotes=Can add some notes to each ordered items +OrderNotes=Pot afegir algunes notes a cada element ordenat CashDeskBankAccountFor=Compte predeterminat a utilitzar per als pagaments NoPaimementModesDefined=No hi ha cap mode de pagament definit a la configuració de TakePOS TicketVatGrouped=Agrupa IVA per tipus als tiquets|rebuts @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=La factura ja està validada NoLinesToBill=No hi ha línies a facturar CustomReceipt=Rebut personalitzat ReceiptName=Nom del rebut -ProductSupplements=Manage supplements of products +ProductSupplements=Gestionar suplements de productes SupplementCategory=Categoria de suplement ColorTheme=Color del tema Colorful=Colorit @@ -94,7 +94,7 @@ Browser=Navegador BrowserMethodDescription=Impressió de rebuts fàcil i senzilla. Només uns quants paràmetres per a configurar el rebut. Imprimeix mitjançant el navegador. TakeposConnectorMethodDescription=Mòdul extern amb funcions addicionals. Possibilitat d’imprimir des del núvol. PrintMethod=Mètode d'impressió -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=Mètode potent amb molts paràmetres. Completament personalitzable amb plantilles. El servidor que allotja l'aplicació no pot estar al núvol (ha de poder arribar a les impressores de la vostra xarxa). ByTerminal=Per terminal TakeposNumpadUsePaymentIcon=Utilitzeu la icona en lloc del text als botons de pagament del teclat numèric CashDeskRefNumberingModules=Mòdul de numeració per a vendes des del TPV (Punt de Venda) @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 = L'etiqueta
    {TN} s'utilitza per a afegir TakeposGroupSameProduct=Agrupa les mateixes línies de productes StartAParallelSale=Comenceu una venda nova paral·lela SaleStartedAt=La venda va començar a %s -ControlCashOpening=Finestra emergent de control de caixa en obrir el TPV +ControlCashOpening=Obriu la finestra emergent "Control efectiu" en obrir el TPV CloseCashFence=Tanca el control de caixa CashReport=Informe d'efectiu MainPrinterToUse=Impressora principal a utilitzar @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=La impressora de recepció del mòdul deu have AllowDelayedPayment=Permet un pagament retardat PrintPaymentMethodOnReceipts=Imprimeix el mètode de pagament en els tiquets/rebuts WeighingScale=Balança de pesatge -ShowPriceHT = Mostra el preu sense la columna d'impostos -ShowPriceHTOnReceipt = Mostra el preu sense la columna d’impostos al rebut +ShowPriceHT = Mostra la columna amb el preu sense impostos (a la pantalla) +ShowPriceHTOnReceipt = Mostra la columna amb el preu sense impostos (al rebut) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ca_ES/categories.lang b/htdocs/langs/ca_ES/categories.lang index 1e9afb3dc9d..d7ce09713e9 100644 --- a/htdocs/langs/ca_ES/categories.lang +++ b/htdocs/langs/ca_ES/categories.lang @@ -3,20 +3,20 @@ Rubrique=Etiqueta Rubriques=Etiquetes RubriquesTransactions=Etiquetes d'assentaments categories=etiquetes -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=No s'ha creat cap etiqueta / categoria d'aquest tipus In=En AddIn=Afegeix modify=Modifica Classify=Classifica CategoriesArea=Àrea d'etiquetes -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Àrea de categories / etiquetes de producte / servei +SuppliersCategoriesArea=Àrea d'etiquetes / categories de proveïdor +CustomersCategoriesArea=Àrea d'etiquetes / categories de client +MembersCategoriesArea=Àrea d'etiquetes / categories de membres +ContactsCategoriesArea=Àrea d'etiquetes / categories de contacte +AccountsCategoriesArea=Àrea d'etiquetes / categories de comptes bancaris +ProjectsCategoriesArea=Àrea d'etiquetes / categories del projecte +UsersCategoriesArea=Àrea d'etiquetes / categories d'usuari SubCats=Subcategories CatList=Llistat d'etiquetes CatListAll=Llista d'etiquetes (tots els tipus) @@ -96,4 +96,4 @@ ChooseCategory=Tria la categoria StocksCategoriesArea=Categories de magatzems ActionCommCategoriesArea=Categories d'esdeveniments WebsitePagesCategoriesArea=Categories de Pàgines/Contenidors -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=Utilitzeu l'operador "O" per a les categories diff --git a/htdocs/langs/ca_ES/companies.lang b/htdocs/langs/ca_ES/companies.lang index db2493cb144..fc3be9be348 100644 --- a/htdocs/langs/ca_ES/companies.lang +++ b/htdocs/langs/ca_ES/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=El nom de l'empresa %s ja existeix. Indica un altre. ErrorSetACountryFirst=Indica en primer lloc el país SelectThirdParty=Seleccionar un tercer -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Esteu segur que voleu eliminar aquesta empresa i tota la informació relacionada? DeleteContact=Eliminar un contacte -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Esteu segur que voleu suprimir aquest contacte i tota la informació relacionada? MenuNewThirdParty=Tercer nou MenuNewCustomer=Client nou MenuNewProspect=Client potencial nou @@ -69,7 +69,7 @@ PhoneShort=Telèfon Skype=Skype Call=Trucar Chat=Xat -PhonePro=Bus. phone +PhonePro=Autobús. telèfon PhonePerso=Tel. personal PhoneMobile=Mòbil No_Email=No enviar e-mailings massius @@ -181,7 +181,7 @@ ProfId3FR=CNAE ProfId4FR=RCS/RM ProfId5FR=Prof Id 5 (número EORI) ProfId6FR=- -ProfId1ShortFR=SIREN +ProfId1ShortFR=SIRENA ProfId2ShortFR=SIRET ProfId3ShortFR=NAF ProfId4ShortFR=RCS @@ -275,8 +275,8 @@ ProfId1DZ=RC ProfId2DZ=Art. ProfId3DZ=NIF ProfId4DZ=NIS -VATIntra=CIF/NIF -VATIntraShort=CIF/NIF +VATIntra=CIF/NIF Intracomunitari +VATIntraShort=CIF/NIF Intracomunitari VATIntraSyntaxIsValid=Sintaxi vàlida VATReturn=Devolució de l'IVA ProspectCustomer=Client potencial/Client @@ -331,7 +331,7 @@ CustomerCodeDesc=Codi client, únic per a tots els clients SupplierCodeDesc=Codi de proveïdor, únic per a tots els proveïdors RequiredIfCustomer=Requerida si el tercer és un client o client potencial RequiredIfSupplier=Obligatori si un tercer és proveïdor -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Validesa controlada pel mòdul ThisIsModuleRules=Regles per a aquest mòdul ProspectToContact=Client potencial a contactar CompanyDeleted=L'empresa "%s" ha estat eliminada @@ -439,22 +439,22 @@ ListSuppliersShort=Llistat de proveïdors ListProspectsShort=Llistat de clients potencials ListCustomersShort=Llistat de clients ThirdPartiesArea=Àrea de tercers i contactes -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Últims tercers %s que van ser modificats +UniqueThirdParties=Nombre total de tercers InActivity=Actiu ActivityCeased=Tancat ThirdPartyIsClosed=Tercer està tancat -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=Llista de productes / serveis mapats a %s CurrentOutstandingBill=Factura pendent actual OutstandingBill=Max. de factures pendents OutstandingBillReached=S'ha arribat al màx. de factures pendents OrderMinAmount=Import mínim per comanda -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=Torneu un número amb el format %syymm-nnnn per al codi de client i %syymm-nnnn per al codi del proveïdor on yy és any, mm és mes i nnnn és un número d’increment automàtic seqüencial sense interrupció i sense retorn a 0. LeopardNumRefModelDesc=El codi és lliure. Aquest codi es pot modificar en qualsevol moment. ManagingDirectors=Nom del gerent(s) (CEO, director, president ...) MergeOriginThirdparty=Duplicar tercer (tercer que vols eliminar) MergeThirdparties=Fusionar tercers -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Esteu segur que voleu combinar el tercer triat amb l'actual? Tots els objectes enllaçats (factures, comandes, ...) es mouran al tercer actual, i després se suprimirà el tercer triat. ThirdpartiesMergeSuccess=S'han fusionat els tercers SaleRepresentativeLogin=Nom d'usuari de l'agent comercial SaleRepresentativeFirstname=Nom de l'agent comercial diff --git a/htdocs/langs/ca_ES/compta.lang b/htdocs/langs/ca_ES/compta.lang index 26dfb20751e..7cd14979da8 100644 --- a/htdocs/langs/ca_ES/compta.lang +++ b/htdocs/langs/ca_ES/compta.lang @@ -135,14 +135,14 @@ NewCheckReceipt=Descompte nou NewCheckDeposit=Ingrés nou NewCheckDepositOn=Crea remesa per ingressar al compte: %s NoWaitingChecks=Sense xecs en espera de l'ingrés. -DateChequeReceived=Check receiving date +DateChequeReceived=Comproveu la data de recepció NbOfCheques=Nombre de xecs PaySocialContribution=Pagar un impost varis PayVAT=Paga una declaració d’IVA -PaySalary=Pay a salary card +PaySalary=Pagar una targeta salarial ConfirmPaySocialContribution=Esteu segur que voleu classificar aquest impost varis com a pagat? ConfirmPayVAT=Esteu segur que voleu classificar aquesta declaració d'IVA com a pagada? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? +ConfirmPaySalary=Esteu segur que voleu classificar aquesta targeta salarial com a pagada? DeleteSocialContribution=Elimina un pagament d'impost varis DeleteVAT=Suprimeix una declaració d’IVA DeleteSalary=Elimina una fitxa salarial @@ -175,7 +175,7 @@ RulesResultInOut=- Inclou els pagaments reals realitzats en les factures, les de RulesCADue=- Inclou les factures degudes al client tant si són pagades com si no.
    - Es basa en la data de facturació d'aquestes factures.
    RulesCAIn=- Inclou tots els pagaments efectius de factures rebuts dels clients.
    - Es basa en la data de pagament d'aquestes factures
    RulesCATotalSaleJournal=Inclou totes les línies de crèdit del Diari de venda. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesSalesTurnoverOfIncomeAccounts=Inclou (crèdit-dèbit) de línies per a comptes de producte del grup INGRESSOS RulesAmountOnInOutBookkeepingRecord=Inclou un registre al vostre Llibre Major amb comptes comptables que tenen el grup "DESPESA" o "INGRÉS" RulesResultBookkeepingPredefined=Inclou un registre al vostre Llibre Major amb comptes comptables que tenen el grup "DESPESA" o "INGRÉS" RulesResultBookkeepingPersonalized=Mostra un registre al vostre Llibre Major amb comptes comptables agrupats per grups personalitzats @@ -196,7 +196,7 @@ VATReportByThirdParties=Informe d'impostos sobre vendes per tercers VATReportByCustomers=Informe d'IVA sobre vendes per client VATReportByCustomersInInputOutputMode=Informe per clients d'IVA cobrat i pagat VATReportByQuartersInInputOutputMode=Taxa impositiva d'informe per vendes de l'impost recaptat i pagat -VATReportShowByRateDetails=Show details of this rate +VATReportShowByRateDetails=Mostra els detalls d'aquesta tarifa LT1ReportByQuarters=Informe impost 2 per tipus LT2ReportByQuarters=Informe impost 3 per tipus LT1ReportByQuartersES=Informe per taxa de RE @@ -231,7 +231,7 @@ Pcg_subtype=Subtipus de compte InvoiceLinesToDispatch=Línies de factures a desglossar ByProductsAndServices=Per producte i servei RefExt=Ref. externa -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +ToCreateAPredefinedInvoice=Per crear una factura de plantilla, creeu una factura estàndard i, després, sense validar-la, feu clic al botó "%s". LinkedOrder=Enllaçar a una comanda Mode1=Mètode 1 Mode2=Mètode 2 @@ -281,8 +281,14 @@ PurchaseTurnoverCollected=Volum de compres recollit RulesPurchaseTurnoverDue=- Inclou les factures pendents del proveïdor, tant si es paguen com si no.
    - Es basa en la data de factura d'aquestes factures.
    RulesPurchaseTurnoverIn=- Inclou tots els pagaments realitzats de les factures de proveïdors.
    - Es basa en la data de pagament d’aquestes factures
    RulesPurchaseTurnoverTotalPurchaseJournal=Inclou totes les línies de dèbit del diari de compra. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE +RulesPurchaseTurnoverOfExpenseAccounts=Inclou (dèbit-crèdit) de línies per a comptes de producte del grup DESPESES ReportPurchaseTurnover=Volum de compres facturat ReportPurchaseTurnoverCollected=Volum de compres recollit IncludeVarpaysInResults = Incloure varis pagaments als informes IncludeLoansInResults = Inclou préstecs en informes +InvoiceLate30Days = Factures tardanes> 30 dies +InvoiceLate15Days = Factures tardanes> 15 dies +InvoiceLateMinus15Days = Factures tardanes +InvoiceNotLate = A recollir <15 dies +InvoiceNotLate15Days = A recollir en 15 dies +InvoiceNotLate30Days = A recollir en 30 dies diff --git a/htdocs/langs/ca_ES/cron.lang b/htdocs/langs/ca_ES/cron.lang index 96066b666fe..722eadf7bed 100644 --- a/htdocs/langs/ca_ES/cron.lang +++ b/htdocs/langs/ca_ES/cron.lang @@ -7,15 +7,15 @@ Permission23103 = Elimina la tasca programada Permission23104 = Executa les tasques programades # Admin CronSetup=Pàgina de configuració del mòdul - Gestió de tasques planificades -URLToLaunchCronJobs=URL per comprovar i iniciar les tasques programades des d'un navegador -OrToLaunchASpecificJob=O per comprovar i iniciar una tasca específica des d’un navegador -KeyForCronAccess=Codi de seguretat per a la URL de llançament de tasques automàtiques +URLToLaunchCronJobs=URL per a comprovar i iniciar les tasques programades des d'un navegador +OrToLaunchASpecificJob=O per a comprovar i iniciar una tasca específica des d’un navegador +KeyForCronAccess=Clau de seguretat de l'URL per a iniciar les tasques programades FileToLaunchCronJobs=Línia d'ordres per a comprovar i iniciar les tasques cron qualificades CronExplainHowToRunUnix=A entorns Unix s'ha d'utilitzar la següent entrada crontab per executar la comanda cada 5 minuts CronExplainHowToRunWin=En l'entorn de Microsoft (tm) de Windows, podeu utilitzar les Eines de tasques programades per executar la línia de comandaments cada 5 minuts CronMethodDoesNotExists=La classe %s no conté cap mètode %s CronMethodNotAllowed=El mètode %s de la classe %s es troba a la llista negra de mètodes prohibits -CronJobDefDesc=Els perfils de tasques programades es defineixen a la fitxa del mòdul descriptor. Quan s'activa el mòdul, es carreguen i estan disponibles per poder administrar les tasques des del menú d'eines d'administració %s. +CronJobDefDesc=Els perfils de tasques programades es defineixen al fitxer descriptor del mòdul. Quan el mòdul està activat, es carreguen i estan disponibles perquè pugueu administrar les tasques des del menú d'eines d'administració %s. CronJobProfiles=Llista de perfils predefinits de tasques programades # Menu EnabledAndDisabled=Habilitat i deshabilitat @@ -60,7 +60,7 @@ CronErrEndDateStartDt=La data de fi no pot ser anterior a la d'inici StatusAtInstall=Estat a la instal·lació del mòdul CronStatusActiveBtn=Programa-ho CronStatusInactiveBtn=Desactivar -CronTaskInactive=Aquesta tasca es troba desactivada +CronTaskInactive=Aquest treball està desactivat (no programat) CronId=Id CronClassFile=Filename with class CronModuleHelp=Nom del directori del mòdul de Dolibarr (també funciona amb mòduls externs).
    Per exemple, per cridar al mètode "fetch" de l'objecte Producte de Dolibarr /htdocs/product/class/product.class.php, el valor pel mòdul és
    product @@ -78,11 +78,11 @@ CronType_method=Mètode per cridar una classe PHP CronType_command=Ordre Shell CronCannotLoadClass=Impossible carregar el fitxer de la classe %s (per a utilitzar la classe %s) CronCannotLoadObject=El "class file" %s s'ha carregat, però l'objecte %s no s'ha trobat dins d'ell -UseMenuModuleToolsToAddCronJobs=Vés al menú "Inici - Eines d'administració: treballs programats" per veure i editar les tasques programades. +UseMenuModuleToolsToAddCronJobs=Aneu al menú " Inici - Eines d'administració - Tasques programades " per a veure i editar les tasques programades. JobDisabled=Tasca desactivada MakeLocalDatabaseDumpShort=Còpia de seguretat de la base de dades local MakeLocalDatabaseDump=Crear un bolcat de la base de dades local. Els paràmetres són: compressió ('gz' o 'bz' o 'none'), tipus de còpia de seguretat ('mysql' o 'pgsql'), 1, 'auto' o nom de fitxer per a compilar, nombre de fitxers de còpia de seguretat per conservar -WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. +WarningCronDelayed=Atenció, a efectes de rendiment, sigui quina sigui la propera data d'execució de les tasques habilitades, és possible que les vostres tasques es retardin a un màxim de %s hores abans de ser executades. DATAPOLICYJob=Netejador de dades i anonimitzador JobXMustBeEnabled=La tasca %s s'ha d'activar # Cron Boxes diff --git a/htdocs/langs/ca_ES/deliveries.lang b/htdocs/langs/ca_ES/deliveries.lang index f1dd899fea4..3c59789962a 100644 --- a/htdocs/langs/ca_ES/deliveries.lang +++ b/htdocs/langs/ca_ES/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Destinatari ErrorStockIsNotEnough=No hi ha estoc suficient Shippable=Es pot enviar NonShippable=No es pot enviar +ShowShippableStatus=Mostra l'estat d'enviament ShowReceiving=Mostra el rebut d'entrega NonExistentOrder=Comanda inexistent +StockQuantitiesAlreadyAllocatedOnPreviousLines = Quantitats d’estoc ja assignades en línies anteriors diff --git a/htdocs/langs/ca_ES/donations.lang b/htdocs/langs/ca_ES/donations.lang index cd56b4d10af..5229c4a0197 100644 --- a/htdocs/langs/ca_ES/donations.lang +++ b/htdocs/langs/ca_ES/donations.lang @@ -4,7 +4,7 @@ Donations=Donacions DonationRef=Ref. donació Donor=Donant AddDonation=Crear una donació -NewDonation=Nova donació +NewDonation=Donació nova DeleteADonation=Elimina una donació ConfirmDeleteADonation=Vols eliminar aquesta donació? PublicDonation=Donació pública @@ -32,3 +32,4 @@ DONATION_ART238=Mostrar article 238 del CGI si s'està interessat DONATION_ART885=Mostra l’article 885 de CGI si us preocupa DonationPayment=Pagament de la donació DonationValidated=Donació %s validada +DonationUseThirdparties=Utilitzeu un tercer existent com a coordenades de donants diff --git a/htdocs/langs/ca_ES/ecm.lang b/htdocs/langs/ca_ES/ecm.lang index 4afe9c44f65..5051618f9ae 100644 --- a/htdocs/langs/ca_ES/ecm.lang +++ b/htdocs/langs/ca_ES/ecm.lang @@ -42,6 +42,6 @@ ExtraFieldsEcmFiles=Atributs addicionals dels fitxers ECM ExtraFieldsEcmDirectories=Atributs addicionals dels directoris ECM ECMSetup=Configuració de l'ECM GenerateImgWebp=Duplica totes les imatges amb una altra versió amb format .webp -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... +ConfirmGenerateImgWebp=Si ho confirmeu, generareu una imatge en format .webp per a totes les imatges actualment en aquesta carpeta (no s’inclouen les subcarpetes) ... ConfirmImgWebpCreation=Confirmeu la duplicació de totes les imatges SucessConvertImgWebp=Les imatges s'han duplicat correctament diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index 89922bbc91d..6bbb3360b46 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=Sense errors, és vàlid # Errors ErrorButCommitIsDone=Errors trobats, però és vàlid malgrat tot -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=El correu electrònic %s és incorrecte +ErrorBadMXDomain=El correu electrònic %s sembla incorrecte (el domini no té cap registre MX vàlid) +ErrorBadUrl=L'URL %s no és correcta ErrorBadValueForParamNotAString=Valor incorrecte del paràmetre. Acostuma a passar quan falta la traducció. ErrorRefAlreadyExists=La referència %s ja existeix. ErrorLoginAlreadyExists=El nom d'usuari %s ja existeix. ErrorGroupAlreadyExists=El grup %s ja existeix. +ErrorEmailAlreadyExists=El correu electrònic %s ja existeix. ErrorRecordNotFound=Registre no trobat ErrorFailToCopyFile=No s'ha pogut copiar el fitxer " %s " a " %s ". ErrorFailToCopyDir=No s'ha pogut copiar el directori ' %s ' a ' %s '. @@ -46,8 +47,8 @@ ErrorWrongDate=La data no és correcta. ErrorFailedToWriteInDir=No es pot escriure a la carpeta %s ErrorFoundBadEmailInFile=S'ha trobat una sintaxi incorrecta del correu electrònic per a les línies %s al fitxer (exemple de la línia %s amb email=%s) ErrorUserCannotBeDelete=No es pot eliminar l'usuari. És possible que estigui relacionat amb entitats de Dolibarr. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=Alguns camps obligatoris s'han deixat en blanc. +ErrorSubjectIsRequired=L'assumpte del correu electrònic és obligatori ErrorFailedToCreateDir=Error en la creació d'una carpeta. Comprovi que l'usuari del servidor web té drets d'escriptura en les carpetes de documents de Dolibarr. Si el paràmetre safe_mode està actiu en aquest PHP, Comproveu que els fitxers php dolibarr pertanyen a l'usuari del servidor web. ErrorNoMailDefinedForThisUser=E-Mail no definit per a aquest usuari ErrorSetupOfEmailsNotComplete=La configuració dels correus electrònics no s'ha completat @@ -117,7 +118,7 @@ ErrorCantReadFile=Error de lectura del fitxer '%s' ErrorCantReadDir=Error de lectura de la carpeta '%s' ErrorBadLoginPassword=Identificadors d'usuari o contrasenya incorrectes ErrorLoginDisabled=El seu compte està desactivat -ErrorFailedToRunExternalCommand=Error d'execució de la comanda extern. Comproveu que està disponible i executable per el seu servidor PHP. Si l'PHP Safe Mode està activat, comproveu que la comanda es troba en una carpeta definida en el paràmetre safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=No s'ha pogut executar l'ordre extern. Comproveu que estigui disponible i executable pel vostre usuari del servidor PHP. Comproveu que l'ordre no estigui protegida a nivell d'intèrpret d'ordres per una capa de seguretat com apparmor. ErrorFailedToChangePassword=Error en la modificació de la contrasenya ErrorLoginDoesNotExists=El compte d'usuari de %s no s'ha trobat. ErrorLoginHasNoEmail=Aquest usuari no té e-mail. Impossible continuar. @@ -226,7 +227,7 @@ ErrorAPageWithThisNameOrAliasAlreadyExists=La pàgina / contenidor %s < ErrorDuringChartLoad=S'ha produït un error en carregar el gràfic de comptes. Si pocs comptes no s'han carregat, podeu introduir-los manualment. ErrorBadSyntaxForParamKeyForContent=Sintaxi incorrecta per a la clau de contingut del paràmetre. Ha de tenir un valor que comenci per %s o %s ErrorVariableKeyForContentMustBeSet=Error, s’ha d’establir la constant amb el nom %s (amb el contingut de text a mostrar) o %s (amb una URL externa a mostrar). -ErrorURLMustEndWith=URL %s must end %s +ErrorURLMustEndWith=L'URL %s ha de finalitzar %s ErrorURLMustStartWithHttp=L'URL %s ha de començar amb http: // o https: // ErrorHostMustNotStartWithHttp=El nom d'amfitrió %s NO ha de començar amb http: // o https: // ErrorNewRefIsAlreadyUsed=Error, la referència nova ja s’està utilitzant @@ -261,7 +262,9 @@ ErrorAParameterIsRequiredForThisOperation=Un paràmetre és obligatori per a aqu ErrorDateIsInFuture=Error, la data no pot ser en el futur ErrorAnAmountWithoutTaxIsRequired=Error, l'import és obligatori ErrorAPercentIsRequired=Error, empleneu el percentatge correctament -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorYouMustFirstSetupYourChartOfAccount=Primer heu de configurar el vostre pla de comptes +ErrorFailedToFindEmailTemplate=No s'ha pogut trobar la plantilla amb el nom de codi %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Durada no definida al servei. No hi ha manera de calcular el preu per hora. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=El paràmetre PHP upload_max_filesize (%s) és superior al paràmetre PHP post_max_size (%s). No es tracta d’una configuració consistent. @@ -294,7 +297,9 @@ WarningFailedToAddFileIntoDatabaseIndex=Advertiment: no s'ha pogut afegir l'entr WarningTheHiddenOptionIsOn=Advertiment, l'opció oculta %s està activada. WarningCreateSubAccounts=Atenció, no podeu crear directament un subcompte, heu de crear un tercer o un usuari i assignar-los un codi comptable per a trobar-los en aquesta llista. WarningAvailableOnlyForHTTPSServers=Disponible només si s'utilitza una connexió segura HTTPS. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningModuleXDisabledSoYouMayMissEventHere=El mòdul %s no s'ha habilitat. Per tant, potser us perdeu molts esdeveniments aquí. +ErrorActionCommPropertyUserowneridNotDefined=El propietari de l'usuari és obligatori +ErrorActionCommBadType=El tipus d'esdeveniment seleccionat (identificador: %n, codi: %s) no existeix al diccionari del tipus d'esdeveniment +CheckVersionFail=Error de comprovació de versió +ErrorWrongFileName=El nom del fitxer no pot contenir __COSA__ +ErrorNotInDictionaryPaymentConditions=No es troba al Diccionari de condicions de pagament, modifiqueu-lo. diff --git a/htdocs/langs/ca_ES/eventorganization.lang b/htdocs/langs/ca_ES/eventorganization.lang index 4f0b2546196..5c100e38bae 100644 --- a/htdocs/langs/ca_ES/eventorganization.lang +++ b/htdocs/langs/ca_ES/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -17,85 +18,132 @@ # Generic # ModuleEventOrganizationName = Organització d'esdeveniments -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +EventOrganizationDescription = Organització d’esdeveniments mitjançant Projecte de mòduls +EventOrganizationDescriptionLong= Gestioneu l’organització d’esdeveniments per a conferències, assistents, ponents i assistents, amb una pàgina de subscripció pública # # Menu # EventOrganizationMenuLeft = Esdeveniments organitzats -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationConferenceOrBoothMenuLeft = Conferència o estand # # Admin page # EventOrganizationSetup = Configuració de l'organització d'esdeveniments Settings = Configuració -EventOrganizationSetupPage = Event Organization setup page +EventOrganizationSetupPage = Pàgina de configuració de l'organització d'esdeveniments EVENTORGANIZATION_TASK_LABEL = Etiqueta de tasques per a crear automàticament quan es validi el projecte -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference +EVENTORGANIZATION_TASK_LABELTooltip = Quan es valida un esdeveniment organitzat, es poden crear automàticament algunes tasques al projecte

    Per exemple:
    Enviar trucada per a conferències
    Enviar trucades per a Booth
    Rebre trucades per a conferències a034 recordatori de l'esdeveniment als altaveus
    Enviar recordatori de l'esdeveniment a l'allotjament de l'estand
    Enviar recordatori de l'esdeveniment als assistents +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Categoria per afegir a tercers creada automàticament quan algú suggereix una conferència EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Categoria per a afegir a tercers creada automàticament quan suggereixen un estand -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Plantilla de correu electrònic per enviar després de rebre un suggeriment d'una conferència. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Plantilla de correu electrònic per enviar després de rebre un suggeriment d'un estand. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Plantilla de correu electrònic per enviar després de pagar una subscripció a un estand. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Plantilla de correu electrònic per enviar després de pagar una subscripció a un esdeveniment. EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Plantilla de correu electrònic d'acció massiva als assistents EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Plantilla de correu electrònic d'acció massiva als ponents -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EVENTORGANIZATION_FILTERATTENDEES_CAT = Filtra la llista de selecció de tercers a la targeta / formulari de creació d'assistents amb categoria +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtra la llista de selecció de tercers a la targeta / formulari de creació d'assistents amb el tipus de client # # Object # -EventOrganizationConfOrBooth= Conference Or Booth +EventOrganizationConfOrBooth= Conferència o estand ManageOrganizeEvent = Gestiona l'organització d'esdeveniments -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid +ConferenceOrBooth = Conferència o estand +ConferenceOrBoothTab = Conferència o estand +AmountOfSubscriptionPaid = Import de la subscripció pagada DateSubscription = Data de subscripció -ConferenceOrBoothAttendee = Conference Or Booth Attendee +ConferenceOrBoothAttendee = Assistent a conferències o estands # # Template Mail # YourOrganizationEventConfRequestWasReceived = S'ha rebut la vostra sol·licitud de conferència -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received +YourOrganizationEventBoothRequestWasReceived = La vostra sol·licitud d’estand s’ha rebut EventOrganizationEmailAskConf = Sol·licitud de conferència -EventOrganizationEmailAskBooth = Request for booth +EventOrganizationEmailAskBooth = Sol·licitud d’estand EventOrganizationEmailSubsBooth = Subscripció a estand -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +EventOrganizationEmailSubsEvent = Subscripció a un esdeveniment +EventOrganizationMassEmailAttendees = Comunicació als assistents +EventOrganizationMassEmailSpeakers = Comunicació als altaveus # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth +AllowUnknownPeopleSuggestConf=Permetre que persones desconegudes suggereixin conferències +AllowUnknownPeopleSuggestConfHelp=Permetre que persones desconegudes suggereixin conferències +AllowUnknownPeopleSuggestBooth=Permetre que persones desconegudes suggereixin estand +AllowUnknownPeopleSuggestBoothHelp=Permetre que persones desconegudes suggereixin estand PriceOfRegistration=Preu de la inscripció PriceOfRegistrationHelp=Preu de la inscripció -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events +PriceOfBooth=Preu de la subscripció per a estand +PriceOfBoothHelp=Preu de la subscripció per a estand +EventOrganizationICSLink=Enllaç ICS per a esdeveniments ConferenceOrBoothInformation=Informació sobre conferències o estands Attendees = Assistents -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +DownloadICSLink = Descarregueu l’enllaç ICS +EVENTORGANIZATION_SECUREKEY = Clau segura de l'enllaç de registre públic a una conferència +SERVICE_BOOTH_LOCATION = Servei que s'utilitza per a la fila de factures sobre una ubicació de l'estand +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Servei que s'utilitza per a la fila de factures sobre una subscripció d'assistent a una conferència +NbVotes=Nombre de vots # # Status # EvntOrgDraft = Esborrany EvntOrgSuggested = Suggerit EvntOrgConfirmed = Confirmat -EvntOrgNotQualified = Not Qualified +EvntOrgNotQualified = No qualificat EvntOrgDone = Realitzades -EvntOrgCancelled = Cancelled +EvntOrgCancelled = Cancel·lat # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = Aquest formulari us permet registrar-vos com a nou participant a la conferència -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Pàgina de suggeriments +RegisterPage = Pàgina per a conferències o estand +EvntOrgRegistrationHelpMessage = Aquí podeu votar per un esdeveniment o suggerir una nova conferència o estand per al projecte +EvntOrgRegistrationConfHelpMessage = Aquí podeu suggerir una nova conferència per al projecte +EvntOrgRegistrationBoothHelpMessage = Aquí podeu suggerir un nou estand per al projecte +ListOfSuggestedConferences = Llista de conferències suggerides +ListOfSuggestedBooths = Llista de casetes suggerides +SuggestConference = Suggereixi una conferència nova +SuggestBooth = Suggereixi un estand +ViewAndVote = Consulteu i voteu els esdeveniments suggerits +PublicAttendeeSubscriptionPage = Enllaç públic de registre a una conferència +MissingOrBadSecureKey = Falta la clau de seguretat o no és vàlida +EvntOrgWelcomeMessage = Aquest formulari us permet registrar-vos com a nou participant a la conferència: '%s' +EvntOrgDuration = Aquesta conferència comença el dia %s i finalitza el dia %s. +ConferenceAttendeeFee = Tarifa de l'assistent a la conferència per a l'esdeveniment: "%s" que passa de %s a %s. +BoothLocationFee = Ubicació de l'estand per a l'esdeveniment: "%s" que passa de %s a %s +EventType = Tipus d'esdeveniment +LabelOfBooth=Etiqueta de l'estand +LabelOfconference=Etiqueta de conferència +ConferenceIsNotConfirmed=La subscripció no està disponible, la conferència encara no està confirmada +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Benvingut a la pàgina de suggeriments de conferències o estands. +EvntOrgRegistrationConfWelcomeMessage = Benvingut a la pàgina de suggeriments de conferències. +EvntOrgRegistrationBoothWelcomeMessage = Benvingut a la pàgina de suggeriments de l'estand. +EvntOrgVoteHelpMessage = Aquí podeu veure i votar els esdeveniments suggerits per al projecte +VoteOk = El vostre vot s’ha acceptat. +AlreadyVoted = Ja heu votat per aquest esdeveniment. +VoteError = S'ha produït un error durant la votació. Torneu-ho a provar. + +# +# SubscriptionOk page +# +SubscriptionOk = La vostra subscripció a aquesta conferència s'ha validat +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmació de la subscripció a una conferència +# +# Payment page +# +Attendee = Assistent +PaymentConferenceAttendee = Pagament dels assistents a la conferència +PaymentBoothLocation = Pagament de la ubicació de l’estand diff --git a/htdocs/langs/ca_ES/exports.lang b/htdocs/langs/ca_ES/exports.lang index f66769a30f7..31779252544 100644 --- a/htdocs/langs/ca_ES/exports.lang +++ b/htdocs/langs/ca_ES/exports.lang @@ -33,7 +33,7 @@ FormatedImport=Assistent d'importació FormatedImportDesc1=Aquest mòdul us permet actualitzar les dades existents o afegir nous objectes a la base de dades d'un fitxer sense coneixements tècnics, utilitzant un assistent. FormatedImportDesc2=El primer pas és triar el tipus de dades que voleu importar, a continuació, el format del fitxer font, a continuació, els camps que voleu importar. FormatedExport=Assistent d'exportació -FormatedExportDesc1=Aquestes eines permeten l'exportació de dades personalitzades mitjançant un assistent, per ajudar-vos en el procés sense necessitat de coneixements tècnics. +FormatedExportDesc1=Aquestes eines permeten exportar dades personalitzades mitjançant un assistent per a ajudar-vos en el procés sense necessitat de coneixements tècnics. FormatedExportDesc2=El primer pas és triar un conjunt de dades predefinit, després els camps que voleu exportar i en quin ordre. FormatedExportDesc3=Quan se seleccionen les dades per a exportar, podeu triar el format del fitxer de sortida. Sheet=Fulla @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipus de línia (0=producte, 1=servei) FileWithDataToImport=Arxiu que conté les dades a importar FileToImport=Arxiu origen a importar FileMustHaveOneOfFollowingFormat=El fitxer a importar ha de tenir un dels següents formats -DownloadEmptyExample=Baixeu un fitxer de plantilla amb informació de contingut de camp (* són camps obligatoris) +DownloadEmptyExample=Baixeu el fitxer de plantilla amb informació de contingut del camp +StarAreMandatory=* són camps obligatoris ChooseFormatOfFileToImport=Trieu el format del fitxer que voleu utilitzar com a format de fitxer d'importació fent clic a la icona %s per seleccionar-lo ... ChooseFileToImport=Pengeu un fitxer i feu clic a la icona %s per seleccionar el fitxer com a fitxer d'importació d'origen ... SourceFileFormat=Format de l'arxiu origen @@ -80,7 +81,7 @@ SelectAtLeastOneField=Bascular com a mínim un camp origen a la columna de camps SelectFormat=Seleccioneu aquest format de fitxer d'importació RunImportFile=Importa dades NowClickToRunTheImport=Comproveu els resultats de la simulació d'importació. Corregiu els errors i torneu a provar.
    Quan la simulació no informa d'errors, pot procedir a importar les dades a la base de dades. -DataLoadedWithId=Les dades importades tindran un camp addicional a cada taula de base de dades amb aquest identificador d'importació: %s , per permetre que es pugui cercar en el cas d'investigar un problema relacionat amb aquesta importació. +DataLoadedWithId=Les dades importades tindran un camp addicional a cada taula de base de dades amb aquest identificador d'importació: %s , per a permetre que es pugui cercar en el cas d'investigar un problema relacionat amb aquesta importació. ErrorMissingMandatoryValue=Les dades obligatòries estan buides al fitxer de codi font %s . TooMuchErrors=Encara hi ha 0xaek83365837f %s
    altres línies d'origen amb errors, però la producció ha estat limitada. TooMuchWarnings=Encara hi ha %s altres línies d'origen amb advertències, però la producció ha estat limitada. diff --git a/htdocs/langs/ca_ES/holiday.lang b/htdocs/langs/ca_ES/holiday.lang index de0b9e084a8..deb0f0d1c0f 100644 --- a/htdocs/langs/ca_ES/holiday.lang +++ b/htdocs/langs/ca_ES/holiday.lang @@ -40,7 +40,7 @@ TypeOfLeaveId=Tipus d'identificador de baixa TypeOfLeaveCode=Tipus de codi de baixa TypeOfLeaveLabel=Tipus d'etiqueta de baixa NbUseDaysCP=Nombre de dies de permís utilitzats -NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPHelp=El càlcul té en compte els dies inhàbils i les vacances definides al diccionari. NbUseDaysCPShort=Dies de permís NbUseDaysCPShortInMonth=Dies de permís al mes DayIsANonWorkingDay=%s és un dia no laborable @@ -105,7 +105,7 @@ LEAVE_OTHER=Altres sortides LEAVE_PAID_FR=Vacances pagades ## Configuration du Module ## LastUpdateCP=Última actualització automàtica de l'assignació de dies de permís -MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Mes de l'última actualització automàtica de l'assignació de permisos UpdateConfCPOK=Actualització efectuada correctament. Module27130Name= Gestió de dies lliures Module27130Desc= Gestió de dies lliures @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Text gratuït a PDF WatermarkOnDraftHolidayCards=Marques d'aigua sobre esborranys de sol·licituds de dies lliures HolidaysToApprove=Vacances per a aprovar NobodyHasPermissionToValidateHolidays=Ningú no té permís per a validar les vacances +HolidayBalanceMonthlyUpdate=Actualització mensual del saldo de vacances +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ca_ES/hrm.lang b/htdocs/langs/ca_ES/hrm.lang index cc584a4d291..baedb7e141b 100644 --- a/htdocs/langs/ca_ES/hrm.lang +++ b/htdocs/langs/ca_ES/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Vols eliminar aquest establiment? OpenEtablishment=Obre l'establiment CloseEtablishment=Tanca l'establiment # Dictionary -DictionaryPublicHolidays=HRM - Festius +DictionaryPublicHolidays=Permís - Dies festius DictionaryDepartment=HRM - Llistat de departament DictionaryFunction=HRM: llocs de treball # Module diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index 485ed64c1c8..d640061d928 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -15,7 +15,7 @@ PHPSupport=Aquest PHP admet les funcions %s. PHPMemoryOK=La seva memòria màxima de sessió PHP està definida a %s. Això hauria de ser suficient. PHPMemoryTooLow=La seva memòria màxima de sessió PHP està definida a %s bytes. Això és molt poc. Es recomana modificar el paràmetre memory_limit del seu arxiu php.ini a almenys %s octets. Recheck=Faci clic aquí per realitzar un test més exhaustiu -ErrorPHPDoesNotSupportSessions=La vostra instal·lació de PHP no suporta sessions. Aquesta característica és necessària per permetre que Dolibarr funcioni. Comproveu la configuració de PHP i els permisos del directori de sessions. +ErrorPHPDoesNotSupportSessions=La vostra instal·lació de PHP no admet sessions. Aquesta funció és necessària per a permetre que Dolibarr funcioni. Comproveu la configuració de PHP i els permisos del directori de sessions. ErrorPHPDoesNotSupportGD=La vostra instal·lació de PHP no és compatible amb les funcions gràfiques de GD. No hi haurà gràfics disponibles. ErrorPHPDoesNotSupportCurl=La vostra instal·lació de PHP no admet Curl. ErrorPHPDoesNotSupportCalendar=La vostra instal·lació de PHP no admet extensions de calendari php. @@ -61,7 +61,7 @@ CreateUser=Crea un compte d'usuari o concedeix el permís del compte d'usuari a DatabaseSuperUserAccess=Base de dades - Accés super usuari CheckToCreateDatabase=Marqueu la casella si la base de dades encara no existeix i cal crear-la.
    En aquest cas, també heu d'omplir el nom d'usuari i la contrasenya del compte de superusuari al final d'aquesta pàgina. CheckToCreateUser=Marqueu la casella si: el compte d'usuari de la base de dades
    encara no existeix, per la qual cosa s'ha de crear o
    si el compte d'usuari existeix, però la base de dades no existeix i els permisos s'han de concedir.
    En aquest cas, heu d'introduir el compte d'usuari i la contrasenya i també el nom del compte superusuari i la contrasenya al final d'aquesta pàgina. Si aquesta casella no està activada, el propietari i la contrasenya de la base de dades ja han d'existir. -DatabaseRootLoginDescription=Nom del compte de superusuari (per crear noves bases de dades o usuaris nous), obligatori si la base de dades o el seu propietari ja no existeixen. +DatabaseRootLoginDescription=Nom del compte del superusuari (per a crear bases de dades noves o usuaris nous), obligatori si la base de dades o el seu propietari encara no existeixen. KeepEmptyIfNoPassword=Deixeu-lo buit si el superusuari no té contrasenya (NO es recomana) SaveConfigurationFile=S'estan desant els paràmetres a ServerConnection=Connexió al servidor @@ -82,10 +82,10 @@ SystemIsInstalled=La instal·lació s'ha finalitzat. SystemIsUpgraded=S'ha actualitzat Dolibarr correctament. YouNeedToPersonalizeSetup=Ara ha de configurar Dolibarr segons les seves necessitats (Elecció de l'aparença, de les funcionalitats, etc). Per això, feu clic en el següent link: AdminLoginCreatedSuccessfuly=El codi d'usuari administrador de Dolibar '%s' s'ha creat correctament. -GoToDolibarr=Ves a Dolibarr -GoToSetupArea=Ves a Dolibarr (àrea de configuració) +GoToDolibarr=Aneu a Dolibarr +GoToSetupArea=Aneu a Dolibarr (àrea de configuració) MigrationNotFinished=La versió de la base de dades no està completament actualitzada: torneu a executar el procés d'actualització. -GoToUpgradePage=Ves de nou a la pàgina d'actualització +GoToUpgradePage=Aneu de nou a la pàgina d'actualització WithNoSlashAtTheEnd=Sense el signe "/" al final DirectoryRecommendation=  IMPORTANT : Heu d'utilitzar un directori que es troba fora de les pàgines web (no utilitzeu un subdirector del paràmetre anterior). LoginAlreadyExists=Ja existeix @@ -136,10 +136,10 @@ MigrationFinished=S'ha acabat la migració LastStepDesc= Darrer pas : definiu aquí l'inici de sessió i la contrasenya que voleu utilitzar per connectar-se a Dolibarr. No perdis això, ja que és el compte mestre per administrar tots els altres / comptes d'usuari addicionals. ActivateModule=Activació del mòdul %s ShowEditTechnicalParameters=Premi aquí per veure/editar els paràmetres tècnics (mode expert) -WarningUpgrade=Advertència:\nHas realitzat una còpia de seguretat de la base de dades primer?\nAixò és molt recomanable. La pèrdua de dades (per exemple, errors en mysql versió 5.5.40 / 41/42/43) pot ser possible durant aquest procés, per la qual cosa és essencial fer un abocament complet de la vostra base de dades abans de començar qualsevol migració.\n\nFeu clic a Accepta per iniciar el procés de migració ... +WarningUpgrade=Advertència:\nPrimer heu executat una còpia de seguretat de la base de dades?\nAixò és molt recomanable. La pèrdua de dades (a causa, per exemple, d'errors a la versió 5.5.40/41/42/43 de mysql) pot ser possible durant aquest procés, de manera que és essencial fer un buidatge complet de la vostra base de dades abans d'iniciar qualsevol migració.\n\nFeu clic a D'acord per a iniciar el procés de migració... ErrorDatabaseVersionForbiddenForMigration=La versió de la vostra base de dades és %s. Té un error crític, que fa possible la pèrdua de dades si feu canvis estructurals a la base de dades, tals com requereix el procés de migració. Per la seva raó, la migració no es permetrà fins que no actualitzeu la base de dades a una versió actualitzada (llista de versions conegudes amb errors: %s) KeepDefaultValuesWamp=Heu utilitzat l'assistent de configuració Dolibarr de DoliWamp, de manera que els valors proposats aquí ja estan optimitzats. Canvieu-los només si saps el que estàs fent. -KeepDefaultValuesDeb=Heu utilitzat l'assistent de configuració Dolibarr des d'un paquet Linux (Ubuntu, Debian, Fedora ...), de manera que els valors proposats aquí ja estan optimitzats. Només s'ha d'introduir la contrasenya del propietari de la base de dades per crear. Canvieu altres paràmetres només si saps el que estàs fent. +KeepDefaultValuesDeb=Heu utilitzat l'assistent de configuració Dolibarr des d'un paquet Linux (Ubuntu, Debian, Fedora ...), de manera que els valors proposats aquí ja estan optimitzats. Només cal introduir la contrasenya del propietari de la base de dades a crear. Canvieu altres paràmetres només si sabeu què feu. KeepDefaultValuesMamp=Heu utilitzat l'assistent de configuració Dolibarr de DoliMamp, de manera que els valors proposats aquí ja estan optimitzats. Canvieu-los només si saps el que estàs fent. KeepDefaultValuesProxmox=Heu utilitzat l'assistent de configuració de Dolibarr des d'un dispositiu virtual Proxmox, de manera que els valors proposats aquí ja estan optimitzats. Canvieu-los només si saps el que estàs fent. UpgradeExternalModule=Execució del procés d'actualització dedicat de mòdul extern @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migració de rutes per les fotos dels usuaris MigrationFieldsSocialNetworks=Migració de camps de xarxes socials d'usuaris (%s) MigrationReloadModule=Recarrega el mòdul %s MigrationResetBlockedLog=Restablir el mòdul BlockedLog per l'algoritme v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostra les opcions no disponibles HideNotAvailableOptions=Amaga les opcions no disponibles ErrorFoundDuringMigration=S'han reportat error(s) durant el procés de migració, de manera que el següent pas no està disponible. Per ignorar els errors, podeu fer clic aquí , però l'aplicació o algunes funcions no funcionen correctament fins que es resolen els errors. diff --git a/htdocs/langs/ca_ES/interventions.lang b/htdocs/langs/ca_ES/interventions.lang index 242a537dcc8..cdb63941d43 100644 --- a/htdocs/langs/ca_ES/interventions.lang +++ b/htdocs/langs/ca_ES/interventions.lang @@ -50,7 +50,7 @@ UseDateWithoutHourOnFichinter=Oculta hores i minuts del camp de dates dels regis InterventionStatistics=Estadístiques de intervencions NbOfinterventions=Nombre de fitxers d’intervenció NumberOfInterventionsByMonth=Nombre de fitxes d'intervenció per mes (data de validació) -AmountOfInteventionNotIncludedByDefault=La quantitat d'intervenció no s'inclou de manera predeterminada en els beneficis (en la majoria dels casos, els fulls de temps s'utilitzen per comptar el temps dedicat). Per incloure'ls, afegiu la opció PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT amb el valor 1 a Configuració → Varis. +AmountOfInteventionNotIncludedByDefault=La quantitat d'intervenció no s'inclou de manera predeterminada en els beneficis (en la majoria dels casos, els fulls de temps s'utilitzen per a comptar el temps dedicat). Per incloure'ls, afegiu l'opció PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT amb el valor 1 a Inici-Configuració-Altres. InterId=Id. d'intervenció InterRef=Ref. d'intervenció InterDateCreation=Data de creació de la intervenció @@ -63,6 +63,6 @@ InterLineDate=Data de la línia de intervenció InterLineDuration=Durada de la línia de la intervenció InterLineDesc=Descripció de la línia de la intervenció RepeatableIntervention=Plantilla d’intervenció -ToCreateAPredefinedIntervention=Per crear una intervenció predefinida o recurrent, creeu una intervenció comuna i convertiu-la en plantilla d'intervenció -Reopen=Reobrir +ToCreateAPredefinedIntervention=Per a crear una intervenció predefinida o recurrent, creeu una intervenció comuna i convertiu-la en plantilla d'intervenció ConfirmReopenIntervention=Esteu segur que voleu tornar a obrir la intervenció %s ? +GenerateInter=Generar intervenció diff --git a/htdocs/langs/ca_ES/knowledgemanagement.lang b/htdocs/langs/ca_ES/knowledgemanagement.lang index 29e628befcc..12bd3627d66 100644 --- a/htdocs/langs/ca_ES/knowledgemanagement.lang +++ b/htdocs/langs/ca_ES/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Sistema de gestió del coneixement # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Gestioneu una base de Gestió del Coneixement (KM) o Help-Desk # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Configuració del sistema de gestió del coneixement Settings = Configuració -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Pàgina de configuració del sistema de gestió del coneixement # # About page # About = Quant a -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = Sobre la gestió del coneixement +KnowledgeManagementAboutPage = Gestió del coneixement sobre la pàgina -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution +KnowledgeManagementArea = Gestió del coneixement +MenuKnowledgeRecord = Base de coneixements +ListKnowledgeRecord = Llista d'articles +NewKnowledgeRecord = Nou article +ValidateReply = Validar la solució KnowledgeRecords = Articles KnowledgeRecord = Article -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Camps extra per a l'article +GroupOfTicket=Grup de tiquets +YouCanLinkArticleToATicketCategory=Podeu adjuntar un article a un grup de tiquets (per tant, l'article es suggerirà durant la qualificació dels nous tiquets) diff --git a/htdocs/langs/ca_ES/languages.lang b/htdocs/langs/ca_ES/languages.lang index 9d2b881f655..e8ed960b4e3 100644 --- a/htdocs/langs/ca_ES/languages.lang +++ b/htdocs/langs/ca_ES/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etíop Language_ar_AR=Àrab Language_ar_EG=Àrab (Egipte) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Àrab +Language_ar_TN=Àrab (Tunísia) +Language_ar_IQ=Àrab (Iraq) Language_az_AZ=Azerbaidjan Language_bn_BD=Bengalí Language_bn_IN=Bengalí (Índia) @@ -82,8 +85,10 @@ Language_ne_NP=Nepalí Language_nl_BE=Neerlandès (Bèlgica) Language_nl_NL=Holandès Language_pl_PL=Polonès +Language_pt_AO=Portuguès (Angola) Language_pt_BR=Portuguès (Brasil) Language_pt_PT=Portuguès +Language_ro_MD=Romanès (Moldàvia) Language_ro_RO=Romanès Language_ru_RU=Rus Language_ru_UA=Rus (Ucraïna) diff --git a/htdocs/langs/ca_ES/mails.lang b/htdocs/langs/ca_ES/mails.lang index 20115c14e6b..63168dbd762 100644 --- a/htdocs/langs/ca_ES/mails.lang +++ b/htdocs/langs/ca_ES/mails.lang @@ -15,7 +15,7 @@ MailToUsers=A l'usuari(s) MailCC=Còpia a MailToCCUsers=Còpia l'usuari(s) MailCCC=Còpia oculta a -MailTopic=Email subject +MailTopic=Assumpte del correu electrònic MailText=Missatge MailFile=Fitxers adjunts MailMessage=Text utilitzat en el cos del missatge @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=No hi ha previstes notificacions automàtiques per cor ANotificationsWillBeSent=S'enviarà 1 notificació automàtica per correu electrònic SomeNotificationsWillBeSent=S'enviaran %s notificacions automàtiques per correu electrònic AddNewNotification=Subscriviu-vos a una nova notificació automàtica per correu electrònic (destinatari/esdeveniment) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=Llista de totes les subscripcions actives (objectius / esdeveniments) per a notificacions automàtiques per correu electrònic +ListOfNotificationsDone=Llista de totes les notificacions automàtiques enviades per correu electrònic MailSendSetupIs=La configuració de l'enviament de correu electrònic s'ha configurat a '%s'. Aquest mode no es pot utilitzar per a enviar correus electrònics massius. MailSendSetupIs2=Primer heu d’anar, amb un compte d’administrador, al menú %sInici - Configuració - Correus electrònics%s per a canviar el paràmetre '%s' per a utilitzar el mode '%s'. Amb aquest mode, podeu introduir la configuració del servidor SMTP proporcionat pel vostre proveïdor de serveis d'Internet i utilitzar la funció de correu electrònic massiu. MailSendSetupIs3=Si teniu cap pregunta sobre com configurar el servidor SMTP, podeu demanar-li a %s. @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Elimina filtre AdvTgtSaveFilter=Desa filtre AdvTgtCreateFilter=Crea filtre AdvTgtOrCreateNewFilter=Nom del filtre nou -NoContactWithCategoryFound=No s'han trobat contactes/adreces amb categoria -NoContactLinkedToThirdpartieWithCategoryFound=No s'han trobat contactes/adreces amb categoria +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Correus electrònics de sortida InGoingEmailSetup=Correus electrònics entrants OutGoingEmailSetupForEmailing=Correu electrònic de sortida (per al mòdul %s) diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index 8287e64d69d..eb207b037ea 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -180,7 +180,7 @@ SaveAndNew=Desa i nou TestConnection=Provar la connexió ToClone=Clona ConfirmCloneAsk=Esteu segur que voleu clonar l'objecte %s ? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=Trieu les dades que vulgueu clonar: NoCloneOptionsSpecified=No s'ha definit cap dada per a clonar. Of=de Go=Anar @@ -246,7 +246,7 @@ DefaultModel=Plantilla del document per defecte Action=Acció About=Quant a Number=Número -NumberByMonth=Total reports by month +NumberByMonth=Total d'informes per mes AmountByMonth=Import per mes Numero=Número Limit=Límit @@ -278,7 +278,7 @@ DateModificationShort=Data modif. IPModification=IP de modificació DateLastModification=Data de l'última modificació DateValidation=Data validació -DateSigning=Signing date +DateSigning=Data de signatura DateClosing=Data tancament DateDue=Data venciment DateValue=Data valor @@ -341,7 +341,7 @@ KiloBytes=Kilobytes MegaBytes=Megabytes GigaBytes=Gigabytes TeraBytes=Terabytes -UserAuthor=Ceated by +UserAuthor=Enganyat per UserModif=Actualitzat per b=b. Kb=Kb @@ -362,7 +362,7 @@ UnitPriceHTCurrency=Preu unitari (exclòs) (moneda) UnitPriceTTC=Preu unitari total PriceU=P.U. PriceUHT=P.U. -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=U.P (net) (moneda) PriceUTTC=Preu unitari (IVA inclòs) Amount=Import AmountInvoice=Import factura @@ -430,6 +430,7 @@ LT1IN=RE LT2IN=IRPF LT1GC=Cèntims addicionals VATRate=Taxa IVA +RateOfTaxN=Tipus d’impost %s VATCode=Codi de la taxa impositiva VATNPR=Taxa impositiva NPR DefaultTaxRate=Tipus impositiu per defecte @@ -729,6 +730,7 @@ MenuMembers=Socis MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Impostos | Despeses especials ThisLimitIsDefinedInSetup=Límit Dolibarr (Menú inici-configuració-seguretat): %s Kb, límit PHP: %s Kb +ThisLimitIsDefinedInSetupAt=Límit Dolibarr (menú %s): %s Kb, límit PHP (Param %s): %s Kb NoFileFound=No s'ha penjat cap document CurrentUserLanguage=Idioma actual CurrentTheme=Tema actual @@ -845,7 +847,7 @@ XMoreLines=%s línia(es) oculta(es) ShowMoreLines=Mostra més/menys línies PublicUrl=URL pública AddBox=Afegir quadre -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Seleccioneu un element i feu clic a %s PrintFile=%s arxius a imprimir ShowTransaction=Mostra la transacció en el compte bancari ShowIntervention=Mostrar intervenció @@ -856,8 +858,8 @@ Denied=Denegat ListOf=Llista de %s ListOfTemplates=Llistat de plantilles Gender=Sexe -Genderman=Male -Genderwoman=Female +Genderman=Home +Genderwoman=Dona Genderother=Altres ViewList=Vista llistat ViewGantt=Vista Gantt @@ -1063,7 +1065,7 @@ YouAreCurrentlyInSandboxMode=Actualment esteu en el mode %s "sandbox" Inventory=Inventari AnalyticCode=Codi analític TMenuMRP=MRP -ShowCompanyInfos=Show company infos +ShowCompanyInfos=Mostra informació de la companyia ShowMoreInfos=Mostra més informació NoFilesUploadedYet=Carregueu primer un document SeePrivateNote=Veure nota privada @@ -1072,6 +1074,7 @@ ValidFrom=Vàlid des de ValidUntil=Vàlid fins NoRecordedUsers=No hi ha usuaris ToClose=Per tancar +ToRefuse=Refusar ToProcess=A processar ToApprove=Per a aprovar GlobalOpenedElemView=Vista global @@ -1126,9 +1129,23 @@ UpdateForAllLines=Actualització per a totes les línies OnHold=Fora de servei Civility=Civilitat AffectTag=Afecta l'etiqueta +CreateExternalUser=Crea un usuari extern ConfirmAffectTag=Afecta l'etiqueta massivament ConfirmAffectTagQuestion=Esteu segur que voleu afectar les etiquetes als registres seleccionats %s? CategTypeNotFound=No s'ha trobat cap tipus d'etiqueta per al tipus de registres CopiedToClipboard=Copiat al porta-retalls -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +InformationOnLinkToContract=Aquest import només és el total de totes les línies del contracte. No es té en compte cap noció de temps. +ConfirmCancel=Esteu segur que voleu cancel·lar-la? +EmailMsgID=Envia un correu electrònic a MsgID +SetToEnabled=Estableix a activat +SetToDisabled=Estableix a desactivat +ConfirmMassEnabling=confirmació d'activació massiva +ConfirmMassEnablingQuestion=Esteu segur que voleu habilitar els registres seleccionats %s? +ConfirmMassDisabling=confirmació de desactivació massiva +ConfirmMassDisablingQuestion=Esteu segur que voleu desactivar els registres seleccionats %s? +RecordsEnabled=S'han activat els registres %s +RecordsDisabled=%s registres desactivats +RecordEnabled=S'ha activat el registre +RecordDisabled=El registre s'ha desactivat +Forthcoming=Pròxim +Currently=Currently diff --git a/htdocs/langs/ca_ES/margins.lang b/htdocs/langs/ca_ES/margins.lang index cbf1a27be62..1393b03e349 100644 --- a/htdocs/langs/ca_ES/margins.lang +++ b/htdocs/langs/ca_ES/margins.lang @@ -22,7 +22,7 @@ ProductService=Producte o servei AllProducts=Tots els productes i serveis ChooseProduct/Service=Tria el producte o servei ForceBuyingPriceIfNull=Forçar preu de cost/compra al preu de venda si no s'ha definit -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=Si no es proporciona el preu de compra / cost quan afegim una nova línia i aquesta opció està "ACTIVADA", el marge serà 0 a la nova línia (preu de compra / cost = preu de venda). Si aquesta opció està "DESACTIVADA" (recomanat), el marge serà igual al valor suggerit per defecte (i pot ser del 100% si no es pot trobar cap valor per defecte). MARGIN_METHODE_FOR_DISCOUNT=Mètode de gestió de descomptes globals UseDiscountAsProduct=Com un producte UseDiscountAsService=Com un servei diff --git a/htdocs/langs/ca_ES/members.lang b/htdocs/langs/ca_ES/members.lang index 9dc9b995352..35c58e9f008 100644 --- a/htdocs/langs/ca_ES/members.lang +++ b/htdocs/langs/ca_ES/members.lang @@ -15,7 +15,7 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Un altre soci (nom: %s, nom d' ErrorUserPermissionAllowsToLinksToItselfOnly=Per motius de seguretat, se us ha de concedir permisos per a editar tots els usuaris per a poder enllaçar un soci a un usuari que no és vostre. SetLinkToUser=Vincular a un usuari Dolibarr SetLinkToThirdParty=Vincular a un tercer Dolibarr -MembersCards=Business cards for members +MembersCards=Targetes de visita per a socis MembersList=Llistat de socis MembersListToValid=Llistat de socis esborrany (per a validar) MembersListValid=Llistat de socis validats @@ -32,7 +32,7 @@ MembersWithSubscriptionToReceive=Socis amb afiliació per rebre MembersWithSubscriptionToReceiveShort=Subscripcions per rebre DateSubscription=Data afiliació DateEndSubscription=Data final d'afiliació -EndSubscription=Subscription Ends +EndSubscription=La subscripció finalitza SubscriptionId=ID d'afiliació WithoutSubscription=Sense afiliació MemberId=ID de soci @@ -84,9 +84,9 @@ SubscriptionRequired=Subjecte a cotització DeleteType=Elimina VoteAllowed=Vot autoritzat Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable +Moral=Corporació +MorAndPhy=Corporació i Particular +Reenable=Torneu a activar-lo ExcludeMember=Exclou un soci ConfirmExcludeMember=Esteu segur que voleu excloure aquest soci? ResiliateMember=Dona de baixa un soci @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Plantilla de correu electrònic qu DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Plantilla de correu electrònic que s'utilitzarà per a enviar un correu electrònic a un soci sobre la nova gravació de la subscripció DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Plantilla de correu electrònic que cal utilitzar per a enviar un recordatori de correu electrònic quan la subscripció estigui a punt de caducar DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Plantilla de correu electrònic que s'utilitzarà per a enviar un correu electrònic a un soci en la seva cancel·lació -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Plantilla de correu electrònic que s'utilitzarà per enviar un correu electrònic a un membre en cas d'exclusió de membre DescADHERENT_MAIL_FROM=Correu electrònic del remitent per a correus electrònics automàtics DescADHERENT_ETIQUETTE_TYPE=Format pàgines etiquetes DescADHERENT_ETIQUETTE_TEXT=Text a imprimir a la direcció de les etiquetes de soci @@ -175,26 +175,26 @@ MembersStatisticsByCountries=Estadístiques de socis per país MembersStatisticsByState=Estadístiques de socis per província MembersStatisticsByTown=Estadístiques de socis per població MembersStatisticsByRegion=Estadístiques de socis per regió -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Nombre total de membres +NbOfActiveMembers=Nombre total de membres actius actuals NoValidatedMemberYet=No s'ha trobat cap soci validat -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=Aquesta pantalla mostra les estadístiques dels membres per països. Els gràfics i els gràfics depenen de la disponibilitat del servei de gràfics en línia de Google, així com de la disponibilitat d’una connexió a Internet que funcioni. +MembersByStateDesc=Aquesta pantalla us mostra les estadístiques dels membres per estat / províncies / cantó. +MembersByTownDesc=Aquesta pantalla us mostra les estadístiques dels membres per ciutat. +MembersByNature=Aquesta pantalla us mostra estadístiques dels membres per naturalesa. +MembersByRegion=Aquesta pantalla us mostra les estadístiques dels membres per regió. MembersStatisticsDesc=Tria les estadístiques que vols consultar... MenuMembersStats=Estadístiques -LastMemberDate=Latest membership date +LastMemberDate=Darrera data de subscripció LatestSubscriptionDate=Data de l'última afiliació -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=Naturalesa del membre +MembersNature=Naturalesa dels membres +Public=La informació és pública NewMemberbyWeb=S'ha afegit un soci nou. Esperant l'aprovació NewMemberForm=Formulari de soci nou -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Estadístiques de subscripcions NbOfSubscriptions=Nombre d'afiliacions -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Import recollit de les subscripcions TurnoverOrBudget=Volum de vendes (empresa) o Pressupost (associació o col.lectiu) DefaultAmount=Import per defecte cotització CanEditAmount=El visitant pot triar/modificar l'import de la seva cotització @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Envia un recordatori per correu electrònic a MembershipPaid=Membres pagats pel període actual (fins a %s) YouMayFindYourInvoiceInThisEmail=Podeu trobar la factura adjunta a aquest correu electrònic XMembersClosed=%s soci(s) tancat(s) +XExternalUserCreated=%s creats (s) usuaris externs +ForceMemberNature=Naturalesa del membre de la força (individual o corporació) diff --git a/htdocs/langs/ca_ES/modulebuilder.lang b/htdocs/langs/ca_ES/modulebuilder.lang index 4845f988a0e..c66ff74c52a 100644 --- a/htdocs/langs/ca_ES/modulebuilder.lang +++ b/htdocs/langs/ca_ES/modulebuilder.lang @@ -85,7 +85,7 @@ ListOfPermissionsDefined=Llista de permisos definits SeeExamples=Mira exemples aquí EnabledDesc=Condició per a tenir aquest camp actiu (Exemples: 1 ó $conf->global->MYMODULE_MYOPTION) VisibleDesc=És visible el camp ? (Exemples: 0=Mai visible, 1=Visible als llistats i als formularis crear/modificar/veure, 2=Visible només als llistats, 3=Visible només als formularis crear/modificar/veure (no als llistats), 4=Visible als llistats i només als formularis modificar/veure (no al de crear), 5=Visible als llistats i només al formulari de veure (però no als formularis de crear i modificar).

    Utilitzant un valor negatiu implicarà que el camp no es mostrarà per defecte als llistats però podrà ser escollit per veure's).

    pot ser una expressió, per exemple:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdfDesc=Mostra aquest camp en documents PDF compatibles, podeu gestionar la posició amb el camp "Posició".
    Actualment, els models PDF compatibles coneguts són: eratostene (comanda), espadon (enviament), esponja (factures), cian (propal / pressupost), cornas (comanda del proveïdor)

    = display
    2 = només si no està buit

    Per a les línies de documents:
    0 = no es veuen les
    1 = mostren en una columna
    = 3 = display a la columna de descripció de línia després de la descripció
    4 = display a la columna de descripció després de la descripció només si no està buida DisplayOnPdf=Visualització en PDF IsAMeasureDesc=Es pot acumular el valor del camp per a obtenir un total a la llista? (Exemples: 1 o 0) SearchAllDesc=El camp utilitzat per realitzar una cerca des de l'eina de cerca ràpida? (Exemples: 1 o 0) @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Convertidor Ascii a HTML AsciiToPdfConverter=Convertidor Ascii a PDF TableNotEmptyDropCanceled=La taula no està buida. S'ha cancel·lat l'eliminació. ModuleBuilderNotAllowed=El creador de mòduls està disponible però no permès al vostre usuari. +ImportExportProfiles=Importar i exportar perfils diff --git a/htdocs/langs/ca_ES/mrp.lang b/htdocs/langs/ca_ES/mrp.lang index fe06e690cd0..01addb034e3 100644 --- a/htdocs/langs/ca_ES/mrp.lang +++ b/htdocs/langs/ca_ES/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Llistes de material LatestBOMModified=Últimes %s llistes de materials modificades LatestMOModified=Últimes %s Ordres de Fabricació modificades Bom=Llista de materials -BillOfMaterials=Llista de material +BillOfMaterials=Llista de materials BOMsSetup=Configuració del mòdul BOM ListOfBOMs=Llista de factures de material - BOM ListOfManufacturingOrders=Llista d'ordres de fabricació -NewBOM=Llista nova de material -ProductBOMHelp=Producte a crear amb aquest BOM.
    Nota: els productes amb la propietat "Natura del producte" = "Matèria primera" no són visibles a aquesta llista. +NewBOM=Llista nova de materials +ProductBOMHelp=Producte per crear (o desmuntar) amb aquesta llista de material.
    Nota: Els productes amb la propietat 'Nature of product' = 'Matèria primera' no són visibles en aquesta llista. BOMsNumberingModules=Plantilles de numeració BOM BOMsModelModule=Plantilles de document BOM MOsNumberingModules=Models de numeració OF @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Text lliure sobre el document de BOM WatermarkOnDraftBOMs=Marca d'aigua en els esborranys BOM FreeLegalTextOnMOs=Text lliure en el document OF WatermarkOnDraftMOs=Marca d'aigua en el document OF -ConfirmCloneBillOfMaterials=Esteu segur que voleu clonar la factura del material %s? +ConfirmCloneBillOfMaterials=Esteu segur que voleu clonar la llista de materials %s? ConfirmCloneMo=Esteu segur que voleu clonar la Ordre de Fabricació %s? ManufacturingEfficiency=Eficiència en la fabricació ConsumptionEfficiency=Eficiència del consum @@ -30,8 +30,8 @@ ValueOfMeansLoss=El valor de 0,95 significa una mitjana de 5%% de pèrdues duran ValueOfMeansLossForProductProduced=Un valor de 0,95 significa una mitjana de 5%% de pèrdues de producte produït DeleteBillOfMaterials=Suprimeix la llista de materials DeleteMo=Eliminar Ordre de Fabricació -ConfirmDeleteBillOfMaterials=Estàs segur que vols suprimir aquesta llista de material? -ConfirmDeleteMo=Esteu segur que voleu suprimir aquesta factura de material? +ConfirmDeleteBillOfMaterials=Esteu segur que voleu suprimir aquesta llista de materials? +ConfirmDeleteMo=Esteu segur que voleu suprimir aquesta llista de materials? MenuMRP=Ordres de fabricació NewMO=Ordre de fabricació nova QtyToProduce=Quantitat a produir @@ -39,10 +39,10 @@ DateStartPlannedMo=Data d’inici prevista DateEndPlannedMo=Data prevista de finalització KeepEmptyForAsap=Buit significa "Tan aviat com sigui possible" EstimatedDuration=Durada estimada -EstimatedDurationDesc=Durada estimada per fabricar aquest producte mitjançant aquesta llista de material -ConfirmValidateBom=Segur que voleu validar la llista de material amb la referència %s (podreu utilitzar-lo per crear noves Ordres de Fabricació) -ConfirmCloseBom=Esteu segur que voleu cancel·lar aquesta llista de materials (ja no la podreu utilitzar per crear noves Ordres de Fabricació)? -ConfirmReopenBom=Segur que voleu tornar a obrir aquesta llista de material (podreu utilitzar-lo per crear noves Ordres de Fabricació) +EstimatedDurationDesc=Durada estimada per fabricar (o desmuntar) aquest producte mitjançant aquesta llista de material +ConfirmValidateBom=Esteu segur que voleu validar la llista de materials amb la referència %s (podreu utilitzar-la per a crear noves Ordres de fabricació) +ConfirmCloseBom=Esteu segur que voleu cancel·lar aquesta llista de materials (ja no la podreu utilitzar per a crear noves Ordres de Fabricació)? +ConfirmReopenBom=Esteu segur que voleu tornar a obrir aquesta llista de materials (podreu utilitzar-la per a crear Ordres de fabricació noves)? StatusMOProduced=Produït QtyFrozen=Qtat. congelada QuantityFrozen=Quantitat congelada @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consumir i produir tot Manufactured=Fabricat TheProductXIsAlreadyTheProductToProduce=El producte a afegir ja és el producte a produir. ForAQuantityOf=Per a produir una quantitat de %s +ForAQuantityToConsumeOf=Per desmuntar una quantitat de %s ConfirmValidateMo=Voleu validar aquesta Ordre de Fabricació? ConfirmProductionDesc=Fent clic a '%s' validareu el consum i/o la producció per a les quantitats establertes. També s’actualitzarà l'estoc i es registrarà els moviments d'estoc. ProductionForRef=Producció de %s AutoCloseMO=Tancar automàticament l’Ordre de Fabricació si s’arriba a les quantitats establertes a consumir i produir NoStockChangeOnServices=Sense canvi d’estoc en serveis ProductQtyToConsumeByMO=Quantitat de producte que encara es pot consumir amb OP obertes -ProductQtyToProduceByMO=Quantitat de producte que encara es pot produir mitjançant OP obertes +ProductQtyToProduceByMO=Quantitat de producte encara per produir per MO obert AddNewConsumeLines=Afegiu una nova línia per a consumir ProductsToConsume=Productes a consumir ProductsToProduce=Productes a produir @@ -81,24 +82,22 @@ ErrorAVirtualProductCantBeUsedIntoABomOrMo=Un kit no es pot utilitzar en una lli Workstation=Estació de treball Workstations=Estacions de treball WorkstationsDescription=Gestió d’estacions de treball -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page +WorkstationSetup = Configuració d’estacions de treball +WorkstationSetupPage = Pàgina de configuració de les estacions de treball WorkstationList=Llista d’estacions de treball WorkstationCreate=Afegeix una nova estació de treball ConfirmEnableWorkstation=Esteu segur que voleu habilitar l'estació de treball %s ? EnableAWorkstation=Activa una estació de treball ConfirmDisableWorkstation=Esteu segur que voleu desactivar l'estació de treball %s ? DisableAWorkstation=Desactiva una estació de treball -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM +DeleteWorkstation=Elimina +NbOperatorsRequired=Nombre d'operadors necessaris +THMOperatorEstimated=Operador estimat THM +THMMachineEstimated=Màquina THM estimada WorkstationType=Tipus d'estació de treball Human=Humà Machine=Màquina HumanMachine=Humà / Màquina -WorkstationArea=Workstation area +WorkstationArea=Zona d’estació de treball Machines=Màquines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +THMEstimatedHelp=Aquesta taxa permet definir un cost previst de l'article diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index 0a94644b72e..d886cf3b54e 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -11,13 +11,14 @@ OrderDate=Data comanda OrderDateShort=Data comanda OrderToProcess=Comanda a processar NewOrder=Comanda nova +NewSupplierOrderShort=Comanda nova NewOrderSupplier=Comanda de compra nova ToOrder=Realitzar comanda MakeOrder=Realitzar comanda SupplierOrder=Comanda de compra SuppliersOrders=Comandes de compra -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Línies de comandes de venda +PurchaseOrderLines=Línies de comandes compra SuppliersOrdersRunning=Comandes de compra actuals CustomerOrder=Comanda de vendes CustomersOrders=Comanda de vendes @@ -73,6 +74,7 @@ DeleteOrder=Elimina la comanda CancelOrder=Anul·lar la comanda OrderReopened= Comanda %s reoberta AddOrder=Crear comanda +AddSupplierOrderShort=Crear comanda AddPurchaseOrder=Crea una comanda de compra AddToDraftOrders=Afegir a comanda esborrany ShowOrder=Mostrar comanda diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index 19c6ee764e8..33c697f72be 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -114,7 +114,7 @@ DemoCompanyAll=Empresa amb activitats múltiples (tots els mòduls principals) CreatedBy=Creat per %s ModifiedBy=Modificat per %s ValidatedBy=Validat per %s -SignedBy=Signed by %s +SignedBy=Signat per %s ClosedBy=Tancat per %s CreatedById=ID d'usuari que ha creat ModifiedById=Id de l'usuari que ha fet l'últim canvi @@ -129,6 +129,7 @@ ClosedByLogin=Usuari que ha tancat FileWasRemoved=L'arxiu %s s'ha eliminat DirWasRemoved=La carpeta %s s'ha eliminat FeatureNotYetAvailable=Funcionalitat encara no disponible en aquesta versió +FeatureNotAvailableOnDevicesWithoutMouse=La funció no està disponible en dispositius sense ratolí FeaturesSupported=Característiques disponibles Width=llarg Height=alt @@ -183,7 +184,7 @@ EnableGDLibraryDesc=Instal·leu o activeu la biblioteca GD a la instal·lació d ProfIdShortDesc=Prof Id %s és una informació que depèn del país del tercer.
    Per exemple, per al país %s, és el codi %s. DolibarrDemo=Demo de Dolibarr ERP/CRM StatsByNumberOfUnits=Estadístiques de suma de la quantitat de productes/serveis -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Estadístiques del nombre d'entitats referents (núm. De factures o comandes ...) NumberOfProposals=Nombre de pressupostos NumberOfCustomerOrders=Nombre de comandes de venda NumberOfCustomerInvoices=Nombre de factures de client @@ -245,7 +246,7 @@ NewKeyIs=Aquesta és la nova contrasenya per a iniciar la sessió NewKeyWillBe=La contrasenya nova per a iniciar la sessió al programari serà ClickHereToGoTo=Clica aquí per anar a %s YouMustClickToChange=De totes formes, primer heu de fer clic al següent enllaç per a validar aquest canvi de contrasenya -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Confirmeu el canvi de contrasenya ForgetIfNothing=Si vostè no ha sol·licitat aquest canvi, simplement ignori aquest e-mail. Les seves credencials són guardades de forma segura IfAmountHigherThan=si l'import es major que %s SourcesRepository=Repositori de fonts @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contacte / adreça creada pel recollidor de corre ProjectCreatedByEmailCollector=Projecte creat pel recollidor de correus electrònics MSGID %s TicketCreatedByEmailCollector=Tiquet creat pel recollidor de correus electrònics MSGID %s OpeningHoursFormatDesc=Utilitzeu a - per separar l’horari d’obertura i tancament.
    Utilitzeu un espai per introduir diferents intervals.
    Exemple: 8-12 14-18 -PrefixSession=Prefix per a l'identificador de sessió +SuffixSessionName=Sufix per al nom de la sessió ##### Export ##### ExportsArea=Àrea d'exportacions @@ -289,4 +290,8 @@ PopuProp=Productes / Serveis per popularitat als pressupostos PopuCom=Productes / Serveis per popularitat a les comandes ProductStatistics=Productes / Serveis Estadístiques NbOfQtyInOrders=Quantitat en comandes -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=Seleccioneu un objecte per veure'n les estadístiques ... + +ConfirmBtnCommonContent = Esteu segur que voleu "%s"? +ConfirmBtnCommonTitle = Confirmeu la vostra acció +CloseDialog = Tancar diff --git a/htdocs/langs/ca_ES/partnership.lang b/htdocs/langs/ca_ES/partnership.lang index 6ee81ae5692..8de98fc01c4 100644 --- a/htdocs/langs/ca_ES/partnership.lang +++ b/htdocs/langs/ca_ES/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Gestió de la col·laboració +PartnershipDescription=Mòdul Gestió de la col·laboració +PartnershipDescriptionLong= Mòdul Gestió de la col·laboració + +AddPartnership=Afegiu associació +CancelPartnershipForExpiredMembers=Associació: cancel·leu l'associació de membres amb subscripcions caducades +PartnershipCheckBacklink=Associació: consulteu l'enllaç de retrocés de referència # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Nova associació +ListOfPartnerships=Llista d'associació # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Configuració de l'associació +PartnershipAbout=Quant a Partnership +PartnershipAboutPage=Associació sobre la pàgina +partnershipforthirdpartyormember=L'estat de soci s'ha de definir en un "tercer" o un "membre". +PARTNERSHIP_IS_MANAGED_FOR=Associació gestionada per +PARTNERSHIP_BACKLINKS_TO_CHECK=Enllaços enrere per comprovar +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb de dies abans de cancel·lar l'estat d'una associació quan la subscripció ha caducat +ReferingWebsiteCheck=Comprovació de referència del lloc web +ReferingWebsiteCheckDesc=Podeu habilitar una funció per comprovar que els vostres socis han afegit un enllaç de retrocés als dominis del vostre lloc web al seu propi lloc web. # # Object # +DeletePartnership=Suprimiu una associació +PartnershipDedicatedToThisThirdParty=Associació dedicada a aquest tercer +PartnershipDedicatedToThisMember=Associació dedicada a aquest membre DatePartnershipStart=Data inicial DatePartnershipEnd=Data final +ReasonDecline=Rebutjar la raó +ReasonDeclineOrCancel=Rebutjar la raó +PartnershipAlreadyExist=L’associació ja existeix +ManagePartnership=Gestioneu l'associació +BacklinkNotFoundOnPartnerWebsite=Enllaç de retrocés no trobat al lloc web associat +ConfirmClosePartnershipAsk=Esteu segur que voleu cancel·lar aquesta associació? +PartnershipType=Tipus de col·laboració # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Aviat es cancel·larà l'associació +SendingEmailOnPartnershipRefused=L'associació es va negar +SendingEmailOnPartnershipAccepted=S'ha acceptat l'associació +SendingEmailOnPartnershipCanceled=S'ha cancel·lat l'associació +YourPartnershipWillSoonBeCanceledTopic=Aviat es cancel·larà l'associació +YourPartnershipRefusedTopic=L'associació es va negar +YourPartnershipAcceptedTopic=S'ha acceptat l'associació +YourPartnershipCanceledTopic=S'ha cancel·lat l'associació + +YourPartnershipWillSoonBeCanceledContent=Us informem que la vostra associació aviat es cancel·larà (no s'ha trobat el backlink) +YourPartnershipRefusedContent=Us informem que la vostra sol·licitud de col·laboració s’ha rebutjat. +YourPartnershipAcceptedContent=Us informem que la vostra sol·licitud de col·laboració ha estat acceptada. +YourPartnershipCanceledContent=Us informem que la vostra associació s’ha cancel·lat. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Rebutjar la raó # # Status # -PartnershipDraft = Esborrany -PartnershipAccepted = Acceptat -PartnershipRefused = Rebutjat -PartnershipCanceled = Cancel·lat - -PartnershipManagedFor=Partners are +PartnershipDraft=Esborrany +PartnershipAccepted=Acceptat +PartnershipRefused=Rebutjat +PartnershipCanceled=Cancel·lat +PartnershipManagedFor=Els socis ho són diff --git a/htdocs/langs/ca_ES/productbatch.lang b/htdocs/langs/ca_ES/productbatch.lang index 2b1ea9d1a1f..7677d827ca7 100644 --- a/htdocs/langs/ca_ES/productbatch.lang +++ b/htdocs/langs/ca_ES/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Utilitza el número de lot/sèrie ProductStatusOnBatch=Sí (es requereix lot) ProductStatusOnSerial=Sí (es requereix un número de sèrie únic) @@ -24,12 +24,20 @@ ProductLotSetup=Configuració del mòdul lot/sèries ShowCurrentStockOfLot=Mostra l'estoc actual de la parella producte/lot ShowLogOfMovementIfLot=Mostra el registre de moviments de la parella producte/lot StockDetailPerBatch=Detall d’estoc per lot -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +SerialNumberAlreadyInUse=El número de sèrie %s ja s’utilitza per al producte %s +TooManyQtyForSerialNumber=Només podeu tenir un producte %s per al número de sèrie %s +ManageLotMask=Màscara personalitzada +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) +QtyToAddAfterBarcodeScan=Quantitat per afegir per a cada codi de barres / lot / sèrie escanejat +LifeTime=Vida útil (en dies) +EndOfLife=Final de la vida +ManufacturingDate=Data de fabricació +DestructionDate=Data de destrucció +FirstUseDate=Data del primer ús +QCFrequency=Freqüència de control de qualitat (en dies) + +#Traceability - qc status +OutOfOrder=No funciona +InWorkingOrder=En procés diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index 40e9267f8ad..cfcaec92e86 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=Serveis només en venda ServicesOnPurchaseOnly=Serveis només per compra ServicesNotOnSell=Serveis no a la venda i no per a la compra ServicesOnSellAndOnBuy=Serveis en venda o de compra -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Últims productes / serveis %s que es van modificar LastRecordedProducts=Últims %s productes registrats LastRecordedServices=Últims %s serveis registrats CardProduct0=Producte @@ -73,12 +73,12 @@ SellingPrice=Preu de venda SellingPriceHT=Preu de venda (sense IVA) SellingPriceTTC=PVP amb IVA SellingMinPriceTTC=Preu mínim de venda (IVA inclòs) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=Aquest camp de preus (sense impostos) es pot utilitzar per capturar l'import mitjà que aquest producte costa a la vostra empresa. Pot ser qualsevol preu que calculeu vosaltres mateixos, per exemple, a partir del preu de compra mitjà més el cost mitjà de producció i distribució. CostPriceUsage=Aquest valor pot utilitzar-se per al càlcul de marges SoldAmount=Import venut PurchasedAmount=Import comprat NewPrice=Preu nou -MinPrice=Min. selling price +MinPrice=Mín. preu de venda EditSellingPriceLabel=Edita l'etiqueta de preu de venda CantBeLessThanMinPrice=El preu de venda no pot ser inferior al mínim permès per a aquest producte (%s sense IVA). Aquest missatge també pot aparèixer si escriviu un descompte massa gran. ContractStatusClosed=Tancat @@ -157,11 +157,11 @@ ListServiceByPopularity=Llistat de serveis per popularitat Finished=Producte fabricat RowMaterial=Matèria primera ConfirmCloneProduct=Estàs segur que vols clonar el producte o servei %s? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Cloneu tota la informació principal del producte / servei ClonePricesProduct=Clonar preus -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Clona etiquetes / categories enllaçades +CloneCompositionProduct=Clona productes / serveis virtuals +CloneCombinationsProduct=Cloneu les variants del producte ProductIsUsed=Aquest producte és utilitzat NewRefForClone=Ref. del producte/servei nou SellingPrices=Preus de venda @@ -170,12 +170,12 @@ CustomerPrices=Preus de client SuppliersPrices=Preus del proveïdor SuppliersPricesOfProductsOrServices=Preus del venedor (de productes o serveis) CustomCode=Duanes | Productes bàsics | Codi HS -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=País d'origen +RegionStateOrigin=Regió d'origen +StateOrigin=Estat | Província d'origen +Nature=Naturalesa del producte (en brut / fabricat) NatureOfProductShort=Naturalesa del producte -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=Matèria primera o producte fabricat ShortLabel=Etiqueta curta Unit=Unitat p=u. @@ -277,7 +277,7 @@ PriceByCustomer=Preus diferents per cada client PriceCatalogue=Un preu de venda simple per producte/servei PricingRule=Regles per preus de venda AddCustomerPrice=Afegir preus per client -ForceUpdateChildPriceSoc=Indica el mateix preu a les filials dels clients +ForceUpdateChildPriceSoc=Fixeu el mateix preu a les filials del client PriceByCustomerLog=Registre de preus de clients anteriors MinimumPriceLimit=El preu mínim no pot ser inferior a %s MinimumRecommendedPrice=El preu mínim recomanat és: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Incrementar/Disminueix estoc en canviar el seu pare ComposedProduct=Productes Fills MinSupplierPrice=Preu mínim de compra MinCustomerPrice=Preu mínim de venda +NoDynamicPrice=Sense preu dinàmic DynamicPriceConfiguration=Configuració de preu dinàmic DynamicPriceDesc=Podeu definir fórmules matemàtiques per a calcular els preus del client o del proveïdor. Aquestes fórmules poden utilitzar tots els operadors matemàtics, algunes constants i variables. Aquí podeu definir les variables que voleu utilitzar. Si la variable necessita una actualització automàtica, podeu definir l'URL extern per a permetre que Dolibarr actualitzi el valor automàticament. AddVariable=Afegeix variable @@ -314,7 +315,7 @@ LastUpdated=Última actualització CorrectlyUpdated=Actualitzat correctament PropalMergePdfProductActualFile=Els fitxers que s’utilitzen per a afegir-se al PDF Azur són PropalMergePdfProductChooseFile=Selecciona fitxers PDF -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Incloeu productes / serveis amb etiqueta DefaultPriceRealPriceMayDependOnCustomer=Preu predeterminat, el preu real pot dependre del client WarningSelectOneDocument=Selecciona com a mínim un document DefaultUnitToShow=Unitat @@ -340,7 +341,7 @@ ProductSheet=Fulla de producte ServiceSheet=Fulla de servei PossibleValues=Valors possibles GoOnMenuToCreateVairants=Aneu al menú %s - %s per a preparar variants d’atributs (com ara colors, mida...) -UseProductFournDesc=Afegiu una funció per a definir les descripcions de productes definides pels proveïdors, a més de les descripcions per a clients +UseProductFournDesc=Afegiu una característica per definir la descripció del producte definida pels proveïdors (per a cada referència del proveïdor), a més de la descripció per als clients ProductSupplierDescription=Descripció del venedor del producte UseProductSupplierPackaging=Utilitzeu els envasos als preus del proveïdor (calcular les quantitats segons els envasos fixats al preu del proveïdor quan afegiu / actualitzeu la línia dels documents del proveïdor) PackagingForThisProduct=Embalatge @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Acció només disponible sobre la variant de ProductsPricePerCustomer=Preus dels productes per clients ProductSupplierExtraFields=Atributs addicionals (preus de proveïdors) DeleteLinkedProduct=Suprimeix el producte fill enllaçat a la combinació +PMPValue=Preu mitjà ponderat +PMPValueShort=PMP diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index 72b37f52286..63dc5e7c139 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -10,19 +10,19 @@ PrivateProject=Contactes del projecte ProjectsImContactFor=Projectes dels qui en soc explícitament un contacte AllAllowedProjects=Tots els projectes que puc llegir (meu + públic) AllProjects=Tots els projectes -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Aquesta visualització es limita als projectes als quals us contacteu ProjectsPublicDesc=Aquesta vista mostra tots els projectes en els que vostè té dret a tenir visibilitat. TasksOnProjectsPublicDesc=Aquesta vista mostra totes les tasques en projectes en els que tens permisos de lectura. ProjectsPublicTaskDesc=Aquesta vista mostra tots els projectes als que té dret a visualitzar ProjectsDesc=Aquesta vista mostra tots els projectes (les seves autoritzacions li ofereixen una visió completa). TasksOnProjectsDesc=Aquesta vista mostra totes les tasques en tots els projectes (els teus permisos d'usuari et donen dret a visualitzar-ho tot). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Aquesta visualització es limita als projectes o tasques amb què us contacteu OnlyOpenedProject=Només visibles els projectes oberts (els projectes en estat d'esborrany o tancats no són visibles) ClosedProjectsAreHidden=Els projectes tancats no són visibles. TasksPublicDesc=Aquesta vista mostra tots els projectes i tasques en els que vostè té dret a tenir visibilitat. TasksDesc=Aquesta vista presenta tots els projectes i tasques (els permisos d'usuari us concedeixen permís per veure-ho tot). AllTaskVisibleButEditIfYouAreAssigned=Totes les tasques per a projectes qualificats són visibles, però podeu ingressar només el temps per a la tasca assignada a l'usuari seleccionat. Assigneu la tasca si necessiteu introduir-hi el temps. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Només són visibles les tasques assignades. Si heu d'introduir el temps en una tasca i si la tasca no és visible aquí, heu d'assignar-la a vosaltres mateixos. ImportDatasetTasks=Tasques de projectes ProjectCategories=Etiquetes de projecte NewProject=Projecte nou @@ -89,7 +89,7 @@ TimeConsumed=Consumit ListOfTasks=Llistat de tasques GoToListOfTimeConsumed=Aneu al llistat del temps consumit GanttView=Vista de Gantt -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Llista de magatzems associats al projecte ListProposalsAssociatedProject=Llista de propostes comercials relacionades amb el projecte ListOrdersAssociatedProject=Llista de comandes de vendes relacionades amb el projecte ListInvoicesAssociatedProject=Llista de factures a clients relacionades amb el projecte @@ -140,6 +140,7 @@ NoTasks=Cap tasca per a aquest projecte LinkedToAnotherCompany=Enllaçat a una altra empresa TaskIsNotAssignedToUser=Tasca no assignada a l'usuari. Utilitza el botó '%s' per assignar una tasca ara. ErrorTimeSpentIsEmpty=El temps dedicat està buit +TimeRecordingRestrictedToNMonthsBack=La gravació del temps està restringida a %s mesos enrere ThisWillAlsoRemoveTasks=Aquesta operació també destruirà les tasques del projecte (%s tasques en aquest moment) i tots els seus temps dedicats. IfNeedToUseOtherObjectKeepEmpty=Si alguns objectes (factura, comanda...), pertanyents a un altre tercer, han d'estar vinculats al projecte a crear, manteniu-los buits perquè el projecte sigui multitercers. CloneTasks=Clonar les tasques @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=No assignat a la tasca NoUserAssignedToTheProject=No hi ha usuaris assignats a aquest projecte TimeSpentBy=Temps gastat per TasksAssignedTo=Tasques assignades a -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Assignar-me la tasca AssignTaskToUser=Assigna una tasca a %s SelectTaskToAssign=Selecciona la tasca per a assignar ... AssignTask=Assigna @@ -241,6 +242,7 @@ LatestModifiedProjects=Darrers %s projectes modificats OtherFilteredTasks=Altres tasques filtrades NoAssignedTasks=No s'ha trobat cap tasca assignada (assigneu el projecte/tasques a l'usuari actual des del quadre de selecció superior per a introduir-hi l'hora) ThirdPartyRequiredToGenerateInvoice=Cal definir un tercer en el projecte per a poder facturar-lo. +ThirdPartyRequiredToGenerateInvoice=Cal definir un tercer en el projecte per a poder facturar-lo. ChooseANotYetAssignedTask=Trieu una tasca que encara no us ha estat assignada # Comments trans AllowCommentOnTask=Permet comentaris dels usuaris a les tasques @@ -252,10 +254,12 @@ SendProjectRef=Informació del projecte %s ModuleSalaryToDefineHourlyRateMustBeEnabled=El mòdul "Salaris" ha d'estar habilitat per a definir la tarifa horària dels empleats per tal de valorar el temps dedicat NewTaskRefSuggested=Tasca ref en ús, es requereix una nova tasca ref TimeSpentInvoiced=Temps de facturació facturat +TimeSpentForIntervention=Temps dedicat TimeSpentForInvoice=Temps dedicat OneLinePerUser=Una línia per usuari ServiceToUseOnLines=Servei d'ús a les línies InvoiceGeneratedFromTimeSpent=La factura %s s'ha generat a partir del temps dedicat al projecte +InterventionGeneratedFromTimeSpent=La intervenció %s s'ha generat a partir del temps dedicat al projecte ProjectBillTimeDescription=Comproveu si heu introduït el full de temps en les tasques del projecte I teniu previst generar factures des del full de temps per a facturar al client del projecte (no comproveu si voleu crear la factura que no es basa en els fulls de temps introduïts). Nota: Per a generar la factura, aneu a la pestanya "Temps introduït" del projecte i seleccioneu les línies que cal incloure. ProjectFollowOpportunity=Segueix l’oportunitat ProjectFollowTasks=Seguir les tasques o el temps dedicat @@ -264,12 +268,16 @@ UsageOpportunity=Ús: Oportunitat UsageTasks=Ús: Tasques UsageBillTimeShort=Ús: temps de facturació InvoiceToUse=Esborrany de factura a utilitzar +InterToUse=Esborrany d’intervenció a utilitzar NewInvoice=Factura nova +NewInter=Intervenció nova OneLinePerTask=Una línia per tasca OneLinePerPeriod=Una línia per període +OneLinePerTimeSpentLine=Una línia per cada declaració dedicada RefTaskParent=Ref. Tasca pare ProfitIsCalculatedWith=El benefici es calcula utilitzant AddPersonToTask=Afegeix també a les tasques UsageOrganizeEvent=Ús: organització d'esdeveniments PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classifica un projecte com a tancat quan s'hagin completat totes les seves tasques (progrés 100%%) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Nota: els projectes existents amb totes les tasques amb un progrés del 100%% no es veuran afectats, i els haureu de tancar manualment. Així doncs, aquesta opció només afecta els projectes oberts. +SelectLinesOfTimeSpentToInvoice=Seleccioneu les línies de temps que no es facturen i, a continuació, feu una acció massiva "Genera factura" per facturar-les diff --git a/htdocs/langs/ca_ES/receptions.lang b/htdocs/langs/ca_ES/receptions.lang index ec31d8c4e8e..e9c1df155fe 100644 --- a/htdocs/langs/ca_ES/receptions.lang +++ b/htdocs/langs/ca_ES/receptions.lang @@ -15,12 +15,12 @@ StatisticsOfReceptions=Estadístiques de recepcions NbOfReceptions=Nombre de recepcions NumberOfReceptionsByMonth=Nombre de recepcions per mes ReceptionCard=Fitxa de recepció -NewReception=Nova recepció +NewReception=Recepció nova CreateReception=Crea recepció QtyInOtherReceptions=Qt. en altres recepcions OtherReceptionsForSameOrder=Altres recepcions d'aquesta comanda ReceptionsAndReceivingForSameOrder=Recepcions i rebuts d'aquesta comanda -ReceptionsToValidate=Recepcions per validar +ReceptionsToValidate=Recepcions per a validar StatusReceptionCanceled=Cancel·lat StatusReceptionDraft=Esborrany StatusReceptionValidated=Validat (productes a enviar o enviats) @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Primer has de validar la comanda abans de pode ReceptionsNumberingModules=Mòdul de numeració per a recepcions ReceptionsReceiptModel=Plantilles de documents per a recepcions NoMorePredefinedProductToDispatch=No hi ha més productes predefinits per ser enviats - +ReceptionExist=Hi ha una recepció diff --git a/htdocs/langs/ca_ES/salaries.lang b/htdocs/langs/ca_ES/salaries.lang index 50e733b564f..3934d30651c 100644 --- a/htdocs/langs/ca_ES/salaries.lang +++ b/htdocs/langs/ca_ES/salaries.lang @@ -2,7 +2,7 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Compte comptable utilitzat per usuaris tercers SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=El compte comptable dedicat definit a la fitxa d'usuari només s’utilitzarà per a la comptabilitat auxiliar. Aquest s'utilitzarà per al llibre major i com a valor per defecte de la comptabilitat auxiliar si no es defineix un compte comptable d'usuari dedicat. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Compte comptable per defecte per als pagaments salarials -CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=De manera predeterminada, deixeu buida l'opció "Crear automàticament un pagament total" quan creeu un sou Salary=Sou Salaries=Sous NewSalary=Salari nou @@ -10,15 +10,15 @@ NewSalaryPayment=Fitxa de salari nova AddSalaryPayment=Afegeix pagament de sou SalaryPayment=Pagament de sous SalariesPayments=Pagaments de sous -SalariesPaymentsOf=Salaries payments of %s +SalariesPaymentsOf=Pagaments de sous de %s ShowSalaryPayment=Veure pagament de sous THM=Tarifa per hora mitjana TJM=Tarifa mitjana diària CurrentSalary=Salari actual THMDescription=Aquest valor es pot utilitzar per a calcular el cost del temps consumit en un projecte introduït pels usuaris si s'utilitza el mòdul de projecte TJMDescription=Aquest valor només és informatiu i no s'utilitza en cap càlcul -LastSalaries=Últims %s pagaments de salari -AllSalaries=Tots els pagaments de salari +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Estadístiques de salaris -# Export SalariesAndPayments=Salaris i pagaments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ca_ES/sendings.lang b/htdocs/langs/ca_ES/sendings.lang index 29da54f2084..d7ccb0a3d06 100644 --- a/htdocs/langs/ca_ES/sendings.lang +++ b/htdocs/langs/ca_ES/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Estàs segur que vols validar aquest enviament amb refer ConfirmCancelSending=Esteu segur que voleu cancel·lar aquest enviament? DocumentModelMerou=Model Merou A5 WarningNoQtyLeftToSend=Alerta, cap producte en espera d'enviament. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Les estadístiques només són per a enviaments validats. La data utilitzada és la data de validació de l'enviament (no sempre se sap la data de lliurament prevista) DateDeliveryPlanned=Data prevista d'entrega RefDeliveryReceipt=Referència del rebut de lliurament StatusReceipt=Estat del rebut de lliurament diff --git a/htdocs/langs/ca_ES/stocks.lang b/htdocs/langs/ca_ES/stocks.lang index 8dd9b8ec46b..405727c0c77 100644 --- a/htdocs/langs/ca_ES/stocks.lang +++ b/htdocs/langs/ca_ES/stocks.lang @@ -38,7 +38,7 @@ IncludeEmptyDesiredStock=Inclou també estoc negatives amb estoc desitjat no def IncludeAlsoDraftOrders=Inclou també projectes d'ordre Location=Lloc LocationSummary=Nom curt de la ubicació -NumberOfDifferentProducts=Number of unique products +NumberOfDifferentProducts=Nombre de productes únics NumberOfProducts=Nombre total de productes LastMovement=Últim moviment LastMovements=Últims moviments @@ -56,13 +56,11 @@ UnitPurchaseValue=Preu de compra unitari StockTooLow=Estoc insuficient StockLowerThanLimit=L'estoc és menor que el límit de l'alerta (%s) EnhancedValue=Valor -PMPValue=Valor (PMP) -PMPValueShort=PMP EnhancedValueOfWarehouses=Valor d'estocs UserWarehouseAutoCreate=Crea un usuari de magatzem automàticament quan es crea un usuari AllowAddLimitStockByWarehouse=Gestioneu també valors mínims d'estoc desitjat per emparellament (producte-magatzem), a més de valors mínims d'estoc desitjat per producte RuleForWarehouse=Regles per als magatzems -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Establir un magatzem a tercers WarehouseAskWarehouseDuringPropal=Estableix un magatzem en pressupostos WarehouseAskWarehouseDuringOrder=Estableix un magatzem per a les comandes de venda UserDefaultWarehouse=Estableix un magatzem per Usuaris @@ -91,14 +89,14 @@ NoPredefinedProductToDispatch=No hi ha productes predefinits en aquest objecte. DispatchVerb=Desglossar StockLimitShort=Límit per l'alerta StockLimit=Estoc límit per les alertes -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(buit) no significa cap advertiment.
    0 es pot utilitzar per activar un advertiment tan aviat com el stock estigui buit. PhysicalStock=Estoc físic RealStock=Estoc real RealStockDesc=L'estoc físic o real és l'estoc que tens actualment als teus magatzems/emplaçaments interns. RealStockWillAutomaticallyWhen=L'estoc real es modificarà d'acord amb aquesta regla (tal com es defineix al mòdul d'accions): VirtualStock=Estoc virtual VirtualStockAtDate=Estoc virtual a la data -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished +VirtualStockAtDateDesc=Existències virtuals un cop finalitzades totes les comandes pendents que es preveu processar abans de la data escollida VirtualStockDesc=L’estoc virtual és l’estoc disponible calculat un cop tancades (comandes de compra rebudes, comandes de venda enviades, ordres de fabricació produïdes, etc.) totes les accions obertes/pendents (que afecten a les existències) AtDate=A la data IdWarehouse=Id. magatzem @@ -107,7 +105,7 @@ LieuWareHouse=Localització magatzem WarehousesAndProducts=Magatzems i productes WarehousesAndProductsBatchDetail=Magatzems i productes (amb detall per lot/sèrie) AverageUnitPricePMPShort=Preu mitjà ponderat -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=El preu unitari mitjà d’entrada que vam haver de gastar per aconseguir una unitat de producte al nostre estoc. SellPriceMin=Preu de venda unitari EstimatedStockValueSellShort=Valor per vendre EstimatedStockValueSell=Valor per vendre @@ -147,7 +145,7 @@ Replenishments=reaprovisionament NbOfProductBeforePeriod=Quantitat del producte %s en estoc abans del període seleccionat (< %s) NbOfProductAfterPeriod=Quantitat de producte %s en estoc després del període seleccionat (> %s) MassMovement=Moviments en massa -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=Seleccioneu un magatzem d'origen i un magatzem de destinació, un producte i una quantitat i feu clic a "%s". Un cop fet això per a tots els moviments necessaris, feu clic a "%s". RecordMovement=Registre de transferència ReceivingForSameOrder=Recepcions d'aquesta comanda StockMovementRecorded=Moviments d'estoc registrat @@ -169,8 +167,8 @@ MovementTransferStock=Transferència d'estoc de producte %s a un altre magatzem InventoryCodeShort=Codi Inv./Mov. NoPendingReceptionOnSupplierOrder=No hi ha cap recepció pendent deguda a l'ordre de compra obert ThisSerialAlreadyExistWithDifferentDate=Aquest número de lot/sèrie ( %s ) ja existeix però amb diferent data de caducitat o venda (s'ha trobat %s però heu introduït %s ). -OpenAll=Actiu per a totes les accions -OpenInternal=Actiu sols per accions internes +OpenAnyMovement=Obert (tot moviment) +OpenInternal=Obert (només moviment intern) UseDispatchStatus=Utilitzeu un estat d'enviament (aprovació / rebuig) per a les línies de productes en la recepció de l'ordre de compra OptionMULTIPRICESIsOn=L'opció "diversos preus per segment" està actiu. Això significa que un producte té diversos preus de venda, per tant el preu de venda no pot ser calculat ProductStockWarehouseCreated=Estoc límit per llançar una alerta i estoc òptim desitjat creats correctament @@ -238,20 +236,28 @@ StockIsRequiredToChooseWhichLotToUse=Es requereix estoc per a triar quin lot uti ForceTo=Obligar a AlwaysShowFullArbo=Mostra l'arbre complet de magatzems a la finestra emergent dels enllaços de magatzem (Advertència: pot disminuir el rendiment de manera espectacular) StockAtDatePastDesc=Aquí podeu veure l'estoc (estoc real) en una data determinada del passat -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +StockAtDateFutureDesc=Podeu veure aquí l'estoc (estoc virtual) en una data determinada en el futur CurrentStock=Estoc actual InventoryRealQtyHelp=Estableix el valor a 0 per a restablir la quantitat
    Mantén el camp buit o elimina la línia per a mantenir-la sense canvis -UpdateByScaning=Fill real qty by scaning +UpdateByScaning=Empleneu la quantitat real escanejant UpdateByScaningProductBarcode=Actualització per escaneig (codi de barres de producte) UpdateByScaningLot=Actualització per escaneig (codi de barres lot|sèrie) DisableStockChangeOfSubProduct=Desactiva el canvi d'estoc de tots els subproductes d'aquest kit durant aquest moviment. -ImportFromCSV=Import CSV list of movement +ImportFromCSV=Importa la llista de moviments CSV ChooseFileToImport=Pengeu un fitxer i feu clic a la icona %s per seleccionar el fitxer com a fitxer d'importació d'origen ... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" +SelectAStockMovementFileToImport=seleccioneu un fitxer de moviment de valors per importar +InfoTemplateImport=El fitxer carregat ha de tenir aquest format (* són camps obligatoris):
    Magatzem font * | Magatzem objectiu * | Producte * | Quantitat * | Número de lot / sèrie
    El separador de caràcters CSV ha de ser " %s " LabelOfInventoryMovemement=Inventari %s ReOpen=Reobrir -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +ConfirmFinish=Confirmeu el tancament de l'inventari? Això generarà tots els moviments de les accions per actualitzar les accions a la quantitat real que vau introduir a l'inventari. +ObjectNotFound=no s'ha trobat %s +MakeMovementsAndClose=Generar moviments i tancar +AutofillWithExpected=Ompliu la quantitat real amb la quantitat esperada +ShowAllBatchByDefault=Per defecte, mostreu els detalls del lot a la pestanya "existències" del producte +CollapseBatchDetailHelp=Podeu configurar la visualització predeterminada del detall del lot a la configuració del mòdul d'existències +FieldCannotBeNegative=El camp "%s" no pot ser negatiu +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ca_ES/ticket.lang b/htdocs/langs/ca_ES/ticket.lang index 341343b9634..a6424452f2d 100644 --- a/htdocs/langs/ca_ES/ticket.lang +++ b/htdocs/langs/ca_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Tiquet - Resolució TicketTypeShortCOM=Qüestió comercial TicketTypeShortHELP=Sol·licitud d'ajuda funcional -TicketTypeShortISSUE=Incidència, error o problema +TicketTypeShortISSUE=Incidència o error +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Sol·licitud de canvi o millora TicketTypeShortPROJET=Projecte TicketTypeShortOTHER=Altres @@ -54,24 +55,25 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuari assignat TypeContact_ticket_external_SUPPORTCLI=Contacte de clients / seguiment d'incidents TypeContact_ticket_external_CONTRIBUTOR=Col·laborador extern -OriginEmail=Origen de correu electrònic +OriginEmail=Correu electrònic del reporter Notify_TICKET_SENTBYMAIL=Envia el missatge del tiquet per correu electrònic # Status Read=Llegit Assigned=Assignat InProgress=En progrés -NeedMoreInformation=Esperant informació +NeedMoreInformation=Esperant els comentaris del informador +NeedMoreInformationShort=Esperant comentaris Answered=Respost Waiting=En espera -Closed=Tancat +SolvedClosed=Solved Deleted=Esborrat # Dict Type=Tipus Severity=Gravetat TicketGroupIsPublic=El grup és públic -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublicDesc=Si un grup de tiquets és públic, serà visible al formulari en crear un tiquet des de la interfície pública # Email templates MailToSendTicketMessage=Per a enviar correus electrònics des del missatge de tiquet @@ -116,8 +118,8 @@ TicketsShowModuleLogo=Mostra el logotip del mòdul a la interfície pública TicketsShowModuleLogoHelp=Activeu aquesta opció per a ocultar el mòdul de logotip a les pàgines de la interfície pública TicketsShowCompanyLogo=Mostra el logotip de l'empresa en la interfície pública TicketsShowCompanyLogoHelp=Activeu aquesta opció per a ocultar el logotip de l'empresa principal a les pàgines de la interfície pública -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddress=També envieu una notificació a l’adreça de correu electrònic principal +TicketsEmailAlsoSendToMainAddressHelp=Activeu aquesta opció per enviar també un correu electrònic a l'adreça definida a la configuració "%s" (vegeu la pestanya "%s") TicketsLimitViewAssignedOnly=Restringir la visualització als tiquets assignats a l'usuari actual (no és efectiu per als usuaris externs, sempre estarà limitat al tercer de qui depengui) TicketsLimitViewAssignedOnlyHelp=Només es veuran les entrades assignades a l'usuari actual. No s'aplica a un usuari amb drets de gestió de tiquets. TicketsActivatePublicInterface=Activar la interfície pública @@ -128,10 +130,10 @@ TicketNumberingModules=Mòdul de numeració de tiquets TicketsModelModule=Plantilles de document per a tiquets TicketNotifyTiersAtCreation=Notifica la creació de tercers TicketsDisableCustomerEmail=Desactiveu sempre els correus electrònics quan es crea un tiquet des de la interfície pública -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessage=Envieu correu(s) electrònic(s) quan s'afegeixi un missatge / comentari nou a una entrada TicketsPublicNotificationNewMessageHelp=Envia correus electrònics quan s'afegeixi un missatge nou des de la interfície pública (a l'usuari assignat o al correu electrònic de notificacions a (actualitzar) i/o al correu electrònic de notificacions) TicketPublicNotificationNewMessageDefaultEmail=Notificar correu electrònic cap a (actualitzar) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=Envieu un correu electrònic a aquesta adreça per a cada nova notificació de missatges si el bitllet no té assignat cap usuari o si l’usuari no té cap correu electrònic conegut. # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=Creat per NewTicket=Tiquet nou SubjectAnswerToTicket=Resposta de tiquet TicketTypeRequest=Tipus de sol·licitud -TicketCategory=Grup +TicketCategory=Categorització del tiquet SeeTicket=Consultar tiquet TicketMarkedAsRead=Tiquet ha estat marcat com llegit TicketReadOn=Segueix llegint @@ -184,9 +186,11 @@ TicketSeverity=Gravetat ShowTicket=Consultar tiquet RelatedTickets=Tiquets relacionats TicketAddIntervention=Crea intervenció -CloseTicket=Tanca el tiquet -CloseATicket=Tanca el tiquet +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirma el tancament del tiquet +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Si us plau, confirmeu l'esborrat del tiquet TicketDeletedSuccess=Tiquet esborrat amb èxit TicketMarkedAsClosed=Tiquet marcat com tancat @@ -211,6 +215,7 @@ TicketMessageHelp=Només aquest text es guardarà a la llista de missatges de la TicketMessageSubstitutionReplacedByGenericValues=Les variables de substitució es reemplacen per valors genèrics. TimeElapsedSince=Temps transcorregut des de TicketTimeToRead=Temps transcorregut abans de llegir +TicketTimeElapsedBeforeSince=Temps transcorregut abans / després TicketContacts=Tiquet de contactes TicketDocumentsLinked=Documents vinculats al tiquet ConfirmReOpenTicket=Confirmeu la reobertura d'aquest tiquet? @@ -304,13 +309,13 @@ BoxLastModifiedTicket=Últims tiquets modificats BoxLastModifiedTicketDescription=Últimes entrades modificades %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No hi ha tiquets modificats recentment -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxTicketType=Distribució dels tiquets oberts per tipus +BoxTicketSeverity=Nombre de bitllets oberts per gravetat +BoxNoTicketSeverity=No s’ha obert cap entrada +BoxTicketLastXDays=Nombre de bitllets nous per dies els darrers %s dies +BoxTicketLastXDayswidget = Nombre de bitllets nous per dies els darrers X dies +BoxNoTicketLastXDays=No hi ha entrades noves els darrers %s dies +BoxNumberOfTicketByDay=Nombre de bitllets nous per dia +BoxNewTicketVSClose=Nombre de bitllets nous d'avui en comparació amb els bitllets tancats d'avui +TicketCreatedToday=Entrada creada avui +TicketClosedToday=Entrada tancada avui diff --git a/htdocs/langs/ca_ES/trips.lang b/htdocs/langs/ca_ES/trips.lang index f8a508426a3..6684c899165 100644 --- a/htdocs/langs/ca_ES/trips.lang +++ b/htdocs/langs/ca_ES/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=L'informe de despeses %s s'ha cancel·lat.
    - U ExpenseReportPaid=S'ha pagat un informe de despeses ExpenseReportPaidMessage=L'informe de despeses %s s'ha pagat.
    - Usuari: %s
    - Pagat per: %s
    Feu clic aquí per a veure l'informe de despeses: %s TripId=Id d'informe de despeses -AnyOtherInThisListCanValidate=Persona a informar per a validar +AnyOtherInThisListCanValidate=Persona que s’ha d’informar per validar la sol·licitud. TripSociete=Informació de l'empresa TripNDF=Informacions de l'informe de despeses PDFStandardExpenseReports=Plantilla estàndard per a generar un document PDF per a l'informe de despeses @@ -90,7 +90,6 @@ DATE_REFUS=Data de denegació DATE_SAVE=Data de validació DATE_CANCEL=Data de cancel·lació DATE_PAIEMENT=Data de pagament -BROUILLONNER=Reobrir ExpenseReportRef=Ref. de l'informe de despeses ValidateAndSubmit=Validar i sotmetre a aprovació ValidatedWaitingApproval=Validat (pendent d'aprovació) diff --git a/htdocs/langs/ca_ES/users.lang b/htdocs/langs/ca_ES/users.lang index 5694fe70dbd..f1317373260 100644 --- a/htdocs/langs/ca_ES/users.lang +++ b/htdocs/langs/ca_ES/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Contrasenya modificada en: %s SubjectNewPassword=La teva nova paraula de pas per a %s GroupRights=Permisos de grup UserRights=Permisos usuari -Credentials=Credentials +Credentials=Credencials UserGUISetup=Configuració d'entorn d'usuari DisableUser=Desactiva DisableAUser=Desactiva un usuari @@ -73,7 +73,7 @@ ExportDataset_user_1=Usuaris i les seves propietats DomainUser=Usuari de domini Reactivate=Reactivar CreateInternalUserDesc=Aquest formulari us permet crear un usuari intern a la vostra empresa/organització. Per a crear un usuari extern (client, proveïdor, etc.), utilitzeu el botó "Crea l'usuari Dolibarr" de la fitxa de contacte d'aquest tercer. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=Un usuari intern és un usuari que forma part de la vostra empresa / organització o bé és un usuari soci que no pertany a la vostra organització i pot ser que hagi de veure més dades que les dades relacionades amb la seva empresa (el sistema de permisos definirà què pot o pot no ho veig ni ho faig).
    Un usuari extern és un client, proveïdor o un altre que només ha de visualitzar dades relacionades amb ell mateix (la creació d'un usuari extern per a un tercer es pot fer des del registre de contacte del tercer).

    En ambdós casos, heu de concedir permisos a les funcions que l'usuari necessiti. PermissionInheritedFromAGroup=El permís es concedeix ja que ho hereta d'un grup al qual pertany l'usuari. Inherited=Heretat UserWillBe=L'usuari creat serà @@ -97,8 +97,8 @@ LoginToCreate=Nom d'usuari a crear NameToCreate=Nom del tercer a crear YourRole=Els seus rols YourQuotaOfUsersIsReached=Ha arribat a la seva quota d'usuaris actius! -NbOfUsers=Nombre d'usuaris -NbOfPermissions=Nombre de permisos +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Només un superadmin pot degradar un superadmin HierarchicalResponsible=Supervisor HierarchicView=Vista jeràrquica @@ -106,7 +106,7 @@ UseTypeFieldToChange=Modificar el camp Tipus per canviar OpenIDURL=URL d'OpenID LoginUsingOpenID=Utilitzeu OpenID per a iniciar la sessió WeeklyHours=Hores treballades (per setmana) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Hores previstes treballades a la setmana ColorUser=Color d'usuari DisabledInMonoUserMode=Deshabilitat en mode manteniment UserAccountancyCode=Codi comptable de l'usuari @@ -116,7 +116,7 @@ DateOfEmployment=Data de treball DateEmployment=Ocupació DateEmploymentstart=Data d'inici de l'ocupació DateEmploymentEnd=Data de finalització de l'ocupació -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Accés a l'interval de dates de validesa CantDisableYourself=No podeu desactivar el vostre propi registre d'usuari ForceUserExpenseValidator=Validador de l'informe de despeses obligatori ForceUserHolidayValidator=Forçar validador de sol·licitud d'abandonament diff --git a/htdocs/langs/ca_ES/website.lang b/htdocs/langs/ca_ES/website.lang index e2a9e6dce71..77423217fc5 100644 --- a/htdocs/langs/ca_ES/website.lang +++ b/htdocs/langs/ca_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Afegir lloc web Webpage=Pàgina/contenidor web AddPage=Afegeix pàgina/contenidor PageContainer=Pàgina -PreviewOfSiteNotYetAvailable=Vista prèvia del seu lloc web %s encara no està disponible. Primer ha de 'Importar plantilla web' o sols 'Afegir pàgina/contenidor'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=La pàgina sol·licitada amb l'identificador %s encara no té contingut, o el fitxer de memòria cau .tpl.php s'ha eliminat. Edita el contingut de la pàgina per solucionar-ho. SiteDeleted=Lloc web '%s' eliminat PageContent=Pàgina/Contenidor @@ -140,8 +140,8 @@ DefineListOfAltLanguagesInWebsiteProperties=Definiu la llista de tots els idiome GenerateSitemaps=Genera un fitxer de mapa del lloc del lloc web ConfirmGenerateSitemaps=Si ho confirmeu, suprimireu el fitxer de mapa del lloc existent... ConfirmSitemapsCreation=Confirmeu la generació del mapa del lloc -SitemapGenerated=Sitemap file %s generated +SitemapGenerated=Fitxer del mapa del lloc %s generat ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +ErrorFaviconType=Favicon ha de ser png +ErrorFaviconSize=El favicon ha de tenir una mida de 16x16, 32x32 o 64x64 +FaviconTooltip=Pengeu una imatge que ha de ser PNG (16x16, 32x32 o 64x64) diff --git a/htdocs/langs/ca_ES/withdrawals.lang b/htdocs/langs/ca_ES/withdrawals.lang index d41189fe88b..0cb77002bbe 100644 --- a/htdocs/langs/ca_ES/withdrawals.lang +++ b/htdocs/langs/ca_ES/withdrawals.lang @@ -30,7 +30,7 @@ SupplierInvoiceWaitingWithdraw=Factura de venedor en espera de pagament mitjanç InvoiceWaitingWithdraw=Factura esperant per domiciliació bancària InvoiceWaitingPaymentByBankTransfer=Factura en espera de transferència bancària AmountToWithdraw=Import a domiciliar -NoInvoiceToWithdraw=No hi ha cap factura oberta per a '%s'. Vés a la fitxa "%s" de la targeta de factura per sol·licitar una sol·licitud. +NoInvoiceToWithdraw=No hi ha cap factura oberta per a '%s'. Aneu a la pestanya "%s" de la fitxa de factura per a fer una sol·licitud. NoSupplierInvoiceToWithdraw=No hi ha cap factura de proveïdor pendent amb "sol·licituds de crèdit directe" obertes. Aneu a la pestanya "%s" de la fitxa de la factura per a fer una sol·licitud. ResponsibleUser=Usuari responsable WithdrawalsSetup=Configuració del pagament mitjançant domiciliació bancària @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s domiciliacions registrades BankTransferRequestsDone=S'han registrat %s sol·licituds de transferència ThirdPartyBankCode=Codi bancari de tercers NoInvoiceCouldBeWithdrawed=Cap factura s'ha carregat amb èxit. Comproveu que els tercers de les factures tenen un IBAN vàlid i que IBAN té un RUM (Referència de mandat exclusiva) amb mode %s. +WithdrawalCantBeCreditedTwice=Aquesta domiciliació ja està marcada com a cobrada; això no es pot fer dues vegades, ja que això podria generar duplicats de pagaments i entrades bancàries. ClassCredited=Classifica com "Abonada" ClassCreditedConfirm=Esteu segur de voler classificar aquesta domiciliació com abonada al seu compte bancari? TransData=Data enviament @@ -55,7 +56,7 @@ StandingOrderReject=Emetre una devolució WithdrawsRefused=Domiciliació bancària refusada WithdrawalRefused=Devolució de domiciliació CreditTransfersRefused=Transferències bancàries rebutjades -WithdrawalRefusedConfirm=¿Està segur de voler crear una devolució de domiciliació per a l'empresa +WithdrawalRefusedConfirm=Esteu segur que voleu introduir una devolució per a l'empresa? RefusedData=Data de devolució RefusedReason=Motiu de devolució RefusedInvoicing=Facturació de la devolució @@ -66,7 +67,7 @@ StatusWaiting=En espera StatusTrans=Enviada StatusDebited=Debitat StatusCredited=Abonada -StatusPaid=Tractada +StatusPaid=Pagat StatusRefused=Tornada StatusMotif0=No especificat StatusMotif1=Provisió insuficient @@ -95,9 +96,9 @@ BankToPayCreditTransfer=Compte bancari utilitzat com a font de pagaments CreditDate=Abonada el WithdrawalFileNotCapable=No es pot generar el fitxer de rebut de domiciliació del vostre país %s (El vostre país no és compatible) ShowWithdraw=Mostra l'ordre de domiciliació -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Tanmateix, si la factura té com a mínim una ordre de pagament de domiciliació bancària que encara no ha estat processada, no es definirà com a pagament per permetre la gestió prèvia de la retirada. +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Tot i això, si la factura té com a mínim una ordre de pagament per domiciliació bancària encara no processada, no s’establirà com a pagament per a permetre la gestió prèvia de la retirada. DoStandingOrdersBeforePayments=Aquesta pestanya us permet sol·licitar una ordre de pagament per domiciliació bancària. Un cop fet això, aneu al menú Banc-> Pagament mitjançant domiciliació bancària per a generar i gestionar l’ordre de domiciliació bancària. Quan es tanca la comanda de domiciliació bancària, el pagament de les factures es registrarà automàticament i es tancaran les factures si la resta de pagament és nul·la. -DoCreditTransferBeforePayments=Aquesta pestanya et permet sol·licitar una ordre de transferència bancària. Un cop feta, ves al menú Banc->Pagament per transferència bancària per agenerar i gestionar l’ordre de transferència bancària. Quan es tanqui l’ordre de transferència bancària, es registrarà automàticament el pagament de les factures i es tancaran les factures si no queda cap pagament pendent. +DoCreditTransferBeforePayments=Aquesta pestanya us permet sol·licitar una ordre de transferència bancària. Un cop feta, aneu al menú Banc->Pagament per transferència bancària per a generar i gestionar l'ordre de transferència bancària. Quan es tanca l'ordre de transferència bancària, el pagament de les factures es registrarà automàticament i es tancaran les factures si no queda cap pagament pendent. WithdrawalFile=Fitxer de comanda de dèbit CreditTransferFile=Fitxer de transferència de crèdit SetToStatusSent=Estableix l'estat "Fitxer enviat" @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Data d'execució CreateForSepa=Crea un fitxer de domiciliació bancària -ICS=Identificador de creditor CI per domiciliació bancària -ICSTransfer=Identificador de creditor CI per transferència bancària +ICS=Creditor Identifier - ICS END_TO_END=Etiqueta XML "EndToEndId" de SEPA - Id. Única assignada per transacció USTRD=Etiqueta XML de la SEPA "no estructurada" ADDDAYS=Afegiu dies a la data d'execució @@ -149,4 +149,4 @@ InfoRejectMessage=Hola,

    el rebut domiciliat de la factura %s relacionada ModeWarning=No s'ha establert l'opció de treball en real, ens aturarem després d'aquesta simulació ErrorCompanyHasDuplicateDefaultBAN=L’empresa amb l’identificador %s té més d’un compte bancari per defecte. No hi ha manera de saber quin utilitzar. ErrorICSmissing=Falta ICS al compte bancari %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=La quantitat total de l'ordre de domiciliació bancària difereix de la suma de línies diff --git a/htdocs/langs/ca_ES/workflow.lang b/htdocs/langs/ca_ES/workflow.lang index a673ed97ca0..c1d604493ae 100644 --- a/htdocs/langs/ca_ES/workflow.lang +++ b/htdocs/langs/ca_ES/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classifica els pressupostos vinculat descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classifica les comandes de client vinculades d'origen com a facturades quan la factura del client es validi (i si l'import de la factura és igual a l'import total de les comandes vinculades) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classifica les comandes de client vinculades d'origen com a facturades quan la factura del client es posi com a pagada (i si l'import de la factura és igual a l'import total de les comandes vinculades) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classifica les comandes vinculades com a enviades quan l'expedició es validi (i si la quantitat enviada per totes les expedicions és igual que la comanda a actualitzar) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classifica el pressupost de proveïdor vinculat com facturat quan la factura de proveïdor és validada (i si l'import de la factura és igual a l'import total del pressupost vinculat) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classifica la comanda de proveïdor vinculada com facturada quan la factura de proveïdor és validada (i si l'import de la factura és igual a l'import total de la comanda vinculada) @@ -22,4 +23,4 @@ descWORKFLOW_TICKET_CLOSE_INTERVENTION=Tanca totes les intervencions vinculades AutomaticCreation=Creació automàtica AutomaticClassification=Classificació automàtica # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classifica com a tancat l'enviament d'origen enllaçat quan es validi la factura del client diff --git a/htdocs/langs/ca_ES/zapier.lang b/htdocs/langs/ca_ES/zapier.lang index c46dbb0a6d8..731820a7373 100644 --- a/htdocs/langs/ca_ES/zapier.lang +++ b/htdocs/langs/ca_ES/zapier.lang @@ -18,4 +18,4 @@ ModuleZapierForDolibarrDesc = Mòdul Zapier per a Dolibarr ZapierForDolibarrSetup=Configuració de Zapier per a Dolibarr ZapierDescription=Interfície amb Zapier ZapierAbout=Quant al mòdul Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ZapierSetupPage=No cal fer cap configuració al costat de Dolibarr per utilitzar Zapier. Tot i això, heu de generar i publicar un paquet a zapier per poder utilitzar Zapier amb Dolibarr. Consulteu la documentació aquesta pàgina wiki . diff --git a/htdocs/langs/cs_CZ/accountancy.lang b/htdocs/langs/cs_CZ/accountancy.lang index 311edecfc69..bb770c22e88 100644 --- a/htdocs/langs/cs_CZ/accountancy.lang +++ b/htdocs/langs/cs_CZ/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Země, které nejsou v EHS CountriesInEECExceptMe=Země v EHS kromě %s CountriesExceptMe=Všechny země kromě %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Délka účtů účtů subjektů (Pokud zde nastavít ACCOUNTING_MANAGE_ZERO=Umožňuje spravovat různé počty nul na konci účetního účtu. Některé země potřebují (například Švýcarsko). Pokud je vypnuto (výchozí), můžete nastavit následující dva parametry a požádat aplikaci o přidání virtuálních nul. BANK_DISABLE_DIRECT_INPUT=Zakázat přímé nahrávání transakce v bankovním účtu ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Povolit návrh exportu v žurnálu -ACCOUNTANCY_COMBO_FOR_AUX=Povolit seznam combo pro pomocný účet (může být pomalý, pokud máte spoustu třetích stran) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Zde naleznete seznam zákazníků a prodejců subjektů a j ListAccounts=Seznam účetních účtů UnknownAccountForThirdparty=Neznámý účet subjektu. Použijeme %s UnknownAccountForThirdpartyBlocking=Neznámý účet subjektu. Chyba blokování -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Účet subjektu není definován nebo subjekt je neznámý. Použijeme %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Neznámý a vedlejší účet subjektu pro platbu není definován. Hodnotu účtu vedlejších účtů ponecháme prázdnou. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Účet subjektu není definován nebo neznámý subjekt. Chyba blokování. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Neznámý účet subjektu a účet čekání není definován. Chyba blokování PaymentsNotLinkedToProduct=Platba není spojena s žádným produktem / službou OpeningBalance=Počáteční zůstatek @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Exportovat deník návrhu Modelcsv=Model exportu Selectmodelcsv=Vyberte způsob exportu @@ -335,7 +339,7 @@ Modelcsv_normal=Klasický export Modelcsv_CEGID=Export pro CEGID Expert Comptabilité Modelcsv_COALA=Export pro společnost Sage Coala Modelcsv_bob50=Export pro Sage BOB 50 -Modelcsv_ciel=Export pro Sage Ciel Compta nebo Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export pro Quadratus QuadraCompta Modelcsv_ebp=Export pro EBP Modelcsv_cogilog=Export pro Cogilog diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index c4e666b6ae5..7e16fe52072 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interní uživatel ExternalUser=Externí uživatel InternalUsers=Interní uživatelé ExternalUsers=Externí uživatelé +UserInterface=User interface GUISetup=Zobrazení SetupArea=Nastavení UploadNewTemplate=Nahrát novou šablonu(y) @@ -84,6 +85,7 @@ NumberOfBytes=Počet bytů SearchString=Vyhledávací řetězec NotAvailableWhenAjaxDisabled=Není k dispozici při vypnutém Ajaxu AllowToSelectProjectFromOtherCompany=Na dokumentu subjektu si může vybrat projekt propojený s jiným subjektem +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript zablokován UsePreviewTabs=Použijte náhled ShowPreview=Zobrazit náhled @@ -116,6 +118,7 @@ MultiCurrencySetup=Nastavení více měn MenuLimits=Limity a přesnost MenuIdParent=ID nadřazeného menu DetailMenuIdParent=ID nadřazeného menu (nechte prázdný pro top menu) +ParentID=Parent ID DetailPosition=Řadicí číslo pro nastavení pozice v menu AllMenus=Vše NotConfigured=Modul/aplikace není nakonfigurován @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funkce je k dispozici pouze v oficiálních stabiln BoxesDesc=Widgety jsou oblasti obrazovky, které ukazují krátké informace na některých stránkách. Můžete si vybrat mezi zobrazením/schováním boxu zvolením cílové stránky a kliknutím na 'Aktivovat' nebo kliknutím na popelnici ji zakázat. OnlyActiveElementsAreShown=Pouze prvky z povolených modulů jsou uvedeny. ModulesDesc=Moduly / aplikace určují, jaké funkce jsou v softwaru k dispozici. Některé moduly vyžadují oprávnění, která mají být udělena uživatelům po aktivaci modulu. Kliknutím na tlačítko zapnutí / vypnutí %s každého modulu povolíte nebo zakážete modul / aplikaci. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Více modulů naleznete ke stažení na externích webových stránkách ... ModulesDeployDesc=Pokud to umožňují oprávnění vašeho souborového systému, můžete pomocí tohoto nástroje nasadit externí modul. Modul bude potom viditelný na kartě %s . ModulesMarketPlaces=Najděte externí aplikaci / moduly @@ -221,8 +225,8 @@ NotCompatible=Tento modul se nezdá být kompatibilní s Dolibarr %s (Min %s - M CompatibleAfterUpdate=Tento modul vyžaduje aktualizaci souboru Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Podívejte se na trh SeeSetupOfModule=Viz nastavení modulu %s +SetOptionTo=Set option %s to %s Updated=Aktualizováno -Nouveauté=Novinka AchatTelechargement=Koupit / stáhnout GoModuleSetupArea=Chcete-li nasadit / nainstalovat nový modul, přejděte do oblasti nastavení modulu: %s . DoliStoreDesc=DoliStore, oficiální trh pro download externích modulů Dolibarr ERP / CRM @@ -399,6 +403,7 @@ SecurityToken=Klíč k zabezpečené URL NoSmsEngine=Není k dispozici správce odesílatelů SMS. Správce odesílatele SMS není nainstalován s výchozím rozdělením, protože závisí na externím dodavateli, ale některé můžete najít na %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Skrýt všechny informace týkající se daně z prodeje / DPH PDFRulesForSalesTax=Pravidla pro daň z prodeje / DPH @@ -561,7 +566,7 @@ Module53Desc=Řízení služeb Module54Name=Smlouvy/Objednávky Module54Desc=Správa smluv (služby nebo opakované předplatné) Module55Name=Čárové kódy -Module55Desc=Správa čárových kódů +Module55Desc=Barcode or QR code management Module56Name=Platba převodem Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Vytvářejte/upravujte slevy Permission403=Ověřte slevy Permission404=Smazat slevy Permission430=Použijte ladicí panel -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Vytvářejte/upravujte platby mezd -Permission514=Odstranit platby mezd -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export mezd Permission520=Přečtěte si půjčky Permission522=Vytvářejte/upravujte půjčky @@ -965,6 +970,8 @@ Permission23003=Smazat naplánovanou úlohu Permission23004=Provést naplánovanou úlohu Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Přečíst transakce Permission50202=Import transakcí Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Měřící jednotky DictionarySocialNetworks=Sociální sítě DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Druhy dovolené +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Stav olova pro projekt / vedoucí DictionaryExpenseTaxCat=Zpráva o výdajích - Kategorie dopravy DictionaryExpenseTaxRange=Výkaz výdajů - Rozsah podle kategorie dopravy DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Nastavení uloženo SetupNotSaved=Nastavení nebylo uloženo @@ -1185,9 +1193,12 @@ SetupDescription2=Následující dvě části jsou povinné (první dvě položk SetupDescription3= %s -> %s

    Základní parametry používané k přizpůsobení výchozího chování aplikace. (například pro funkce související se zemí) SetupDescription4=  %s -> %s

    Tento software je sada mnoha modulů / aplikací. Moduly související s vašimi potřebami musí být povoleny a nakonfigurovány. Po aktivaci těchto modulů se zobrazí položky nabídky. SetupDescription5=Ostatní položky nabídky nastavení řídí volitelné parametry. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=o Dolibarr InfoBrowser=O prohlížeči InfoOS=o OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkce není k dispozici ve vašem PHP DownloadMoreSkins=Další skiny ke stažení SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Zobrazit profesionální id s adresami -ShowVATIntaInAddress=Skrýt číslo DPH uvnitř Společenství s adresami +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Částečný překlad MAIN_DISABLE_METEO=Zakázat meteorologický pohled MeteoStdMod=Standardní režim @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Podmínkou je v současné době %s YouUseBestDriver=Používáte ovladač %s, který je v současné době nejlepší ovladač. YouDoNotUseBestDriver=Používáte ovladač %s, ale doporučuje se ovladač %s. NbOfObjectIsLowerThanNoPb=V databázi máte pouze %s %s. To nevyžaduje žádnou zvláštní optimalizaci. +ComboListOptim=Combo list loading optimization SearchOptim=Optimalizace pro vyhledávače -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=Máte %s %s v databázi a konstanta %s je nastavena na 1 v Home-Setup-Other. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Používáte webový prohlížeč %s. Tento prohlížeč je v pořádku pro zabezpečení a výkon. BrowserIsKO=Používáte webový prohlížeč %s. Tento prohlížeč je znám jako špatná volba pro zabezpečení, výkon a spolehlivost. Doporučujeme používat prohlížeče Firefox, Chrome, Opera nebo Safari. PHPModuleLoaded=Je načtena komponenta PHP %s @@ -1433,6 +1447,7 @@ MemberMainOptions=Hlavní volby AdherentLoginRequired= Správa Přihlášení pro každého člena AdherentMailRequired=K vytvoření nového člena je třeba e-mail MemberSendInformationByMailByDefault=Zaškrtávací políčko poslat mailem potvrzení členům (validace nebo nové předplatné) je ve výchozím nastavení +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Návštěvník si může vybrat z dostupných způsobů platby MEMBER_REMINDER_EMAIL=Povolit automatické připomenutí e-mailem vypršel odběr. Poznámka: Modul %s musí být povolen a správně nastaven pro odeslání připomenutí. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Povolit zvukové upozornění AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Zobrazit propojený objekt do zobrazení agendy ##### Clicktodial ##### ClickToDialSetup=Klepněte na tlačítko Nastavení vytáčení modulu ClickToDialUrlDesc=Url volal po kliknutí na telefonní pikto. V URL, můžete použít tagy
    __PHONETO__ který bude nahrazen s telefonním číslem osoby volat
    __PHONEFROM__ , které budou nahrazeny telefonní číslo volajícího (vy)
    __LOGIN__ , které budou nahrazeny clicktodial přihlášení (definováno na uživatelské kartě)
    __PASS__ , který bude nahrazen heslem pro heslo (definováno na kartě uživatele). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Na telefonních číslech použijte pouze odkaz "tel:" -ClickToDialUseTelLinkDesc=Tuto metodu použijte, pokud mají uživatelé softwarové rozhraní nebo softwarové rozhraní nainstalované ve stejném počítači jako prohlížeč a volaly po kliknutí na odkaz v prohlížeči, který začíná na "tel:". Pokud potřebujete úplné řešení serveru (není potřeba lokální instalace softwaru), musíte jej nastavit na "Ne" a vyplnit další pole. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Prodejní místa CashDeskSetup=Nastavení modulu Prodejní místo @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Pravý okraj v PDF MAIN_PDF_MARGIN_TOP=Nejvyšší okraj ve formátu PDF MAIN_PDF_MARGIN_BOTTOM=Dolní okraj v PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Pro tento modul není požadováno žádné zvláštní nastavení. SetToYesIfGroupIsComputationOfOtherGroups=Pokud je tato skupina výpočtem jiných skupin, nastavte to na ano EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Větší než IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=Pokud jste s účtem GMail povolili ověření ve 2 - dvou krocích, doporučuje se pro aplikaci vytvořit vyhrazené druhé heslo namísto použití hesla pro vlastní účet z adresy https://myaccount.google.com/. EmailCollectorTargetDir=Po úspěšném zpracování může být žádoucí chování při přesunu e-mailu do jiné značky/adresáře. Chcete-li tuto funkci použít, stačí zadat název adresáře (NEPOUŽÍVEJTE v názvu speciální znaky). Musíte také použít přihlašovací účet pro čtení a zápis. -EmailCollectorLoadThirdPartyHelp=Pomocí této akce můžete pomocí obsahu e-mailu najít a načíst existující třetí stranu ve vaší databázi. Nalezená (nebo vytvořená) třetí strana bude použita pro následující akce, které ji potřebují. V poli parametrů můžete použít například 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)', pokud chcete extrahovat jméno třetí strany z řetězce 'Name: name to find' nalezeného do tělo. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Koncový bod pro %s: %s DeleteEmailCollector=Smazat sběratele e-mailu ConfirmDeleteEmailCollector=Opravdu chcete smazat tohoto sběratele e-mailů? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=Pokud chcete mít ve svém PDF duplikované texty ve 2 různých jazycích ve stejném generovaném PDF, musíte zde nastavit tento druhý jazyk, takže vygenerovaný PDF bude obsahovat 2 různé jazyky na stejné stránce, jeden vybraný při generování PDF a tento ( Podporuje to jen několik šablon PDF). Uchovávejte prázdné po dobu 1 jazyka na PDF. FafaIconSocialNetworksDesc=Sem zadejte kód ikony FontAwesome. Pokud nevíte, co je FontAwesome, můžete použít obecnou hodnotu fa-address-book. -FeatureNotAvailableWithReceptionModule=Funkce není k dispozici, pokud je povolen příjem modulu RssNote=Poznámka: Každá definice zdroje RSS obsahuje widget, který musíte povolit, aby byl dostupný na hlavním panelu JumpToBoxes=Přejít na nastavení -> Widgety MeasuringUnitTypeDesc=Použijte zde hodnotu jako „velikost“, „povrch“, „objem“, „hmotnost“, „čas“ @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Doporučené +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/cs_CZ/agenda.lang b/htdocs/langs/cs_CZ/agenda.lang index 15134263d8e..fe052feb4c8 100644 --- a/htdocs/langs/cs_CZ/agenda.lang +++ b/htdocs/langs/cs_CZ/agenda.lang @@ -4,7 +4,7 @@ Actions=Události Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendy -LocalAgenda=Interní kalendář +LocalAgenda=Default calendar ActionsOwnedBy=Vlastnictví události ActionsOwnedByShort=Majitel AffectedTo=Přiřazeno @@ -14,13 +14,13 @@ EventsNb=Počet událostí ListOfActions=Seznam událostí EventReports=Přehledy událostí Location=Umístění -ToUserOfGroup=Událost přiřazená každému uživateli ve skupině +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Událost pro celý den (y) MenuToDoActions=Všechny neúplné události MenuDoneActions=Všechny ukončené události MenuToDoMyActions=Moje neúplné události MenuDoneMyActions=Moje ukončené události -ListOfEvents=Výpis událostí (interní kalendář) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Nahlášené události ActionsToDoBy=Přiřazené události ActionsDoneBy=Provedené události @@ -38,6 +38,7 @@ ActionsEvents=Události, pro které Dolibarr vytvoří akci v programu automatic EventRemindersByEmailNotEnabled=Připomenutí událostí e-mailem nebyla povolena do %snastavení modulu . ##### Agenda event labels ##### NewCompanyToDolibarr=Subjekt %s vytvořen +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Subjekt %s byl smazán ContractValidatedInDolibarr=Kontrakt %s ověřen CONTRACT_DELETEInDolibarr=Smlouva %s byla smazána @@ -87,6 +88,7 @@ OrderDeleted=Příkaz odstraněn InvoiceDeleted=faktura smazána DraftInvoiceDeleted=Koncept faktury byl smazán CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Produkt %s byl vytvořen PRODUCT_MODIFYInDolibarr=Produkt %s byl upraven @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO nastaveno do stavu konceptu MRP_MO_PRODUCEDInDolibarr=MO vyrobené MRP_MO_DELETEInDolibarr=MO smazáno MRP_MO_CANCELInDolibarr=MO zrušeno +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Šablony dokumentů pro události DateActionStart=Datum zahájení @@ -130,7 +133,7 @@ AgendaUrlOptions4= logint = %s omezit výstup na akce přiřazené uživa AgendaUrlOptionsProject= project = __ PROJECT_ID __ pro omezení výstupu na akce spojené s projektem __ PROJECT_ID __ . AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto pro vyloučení automatických událostí. AgendaUrlOptionsIncludeHolidays= includeholidays = 1 pro zahrnutí událostí svátků. -AgendaShowBirthdayEvents=Zobrazit narozeniny kontaktů +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Skrýt narozeniny kontaktů Busy=Zaneprázdněný ExportDataset_event1=Seznam agendy událostí @@ -152,6 +155,7 @@ ActionType=Typ události DateActionBegin=Datum zahájení události ConfirmCloneEvent=Jste si jisti, že chcete naklonovat událost %s ? RepeatEvent=Opakujte akci +OnceOnly=Once only EveryWeek=Každý týden EveryMonth=Každý měsíc DayOfMonth=Den v měsíci @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/cs_CZ/banks.lang b/htdocs/langs/cs_CZ/banks.lang index c252b7c5891..e4f8f823384 100644 --- a/htdocs/langs/cs_CZ/banks.lang +++ b/htdocs/langs/cs_CZ/banks.lang @@ -115,7 +115,7 @@ TransferTo=Na TransferFromToDone=Převod z %s na %s %s %s byl zaznamenán. CheckTransmitter=Odesílatel ValidateCheckReceipt=Ověřit potvrzení o kontrole? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Chcete smazat potvrzení o kontrole? ConfirmDeleteCheckReceipt=Opravdu chcete tuto potvrzení o potvrzení vymazat? BankChecks=Bankovní šeky diff --git a/htdocs/langs/cs_CZ/bills.lang b/htdocs/langs/cs_CZ/bills.lang index 672bea2161e..41b048f01e0 100644 --- a/htdocs/langs/cs_CZ/bills.lang +++ b/htdocs/langs/cs_CZ/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Platba splatná dne DateInvoice=Fakturační datum DatePointOfTax=Bod daně NoInvoice=Žádná faktura +NoOpenInvoice=No open invoice ClassifyBill=Klasifikovat fakturu SupplierBillsToPay=Neplacené faktury dodavatele CustomerBillsUnpaid=Nezaplacené faktury zákazníků @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/cs_CZ/boxes.lang b/htdocs/langs/cs_CZ/boxes.lang index dda43454d4b..c5606e7012a 100644 --- a/htdocs/langs/cs_CZ/boxes.lang +++ b/htdocs/langs/cs_CZ/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Objednávky dodavatele: poslední %s změn BoxTitleLastModifiedCustomerBills=Zákaznické faktury: poslední změna %s BoxTitleLastModifiedCustomerOrders=Prodejní objednávky: poslední %s změny BoxTitleLastModifiedPropals=Poslední modifikované návrhy %s -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Zákaznické faktury ForCustomersOrders=Zákaznické objednávky ForProposals=Nabídky diff --git a/htdocs/langs/cs_CZ/cashdesk.lang b/htdocs/langs/cs_CZ/cashdesk.lang index fec119b5131..72283642cc4 100644 --- a/htdocs/langs/cs_CZ/cashdesk.lang +++ b/htdocs/langs/cs_CZ/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} se používá k přidání čís TakeposGroupSameProduct=Seskupte stejné produktové řady StartAParallelSale=Zahajte nový paralelní prodej SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Hotovostní zpráva MainPrinterToUse=Hlavní tiskárna k použití @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/cs_CZ/compta.lang b/htdocs/langs/cs_CZ/compta.lang index 7f762cef9a5..e96ef61bc7c 100644 --- a/htdocs/langs/cs_CZ/compta.lang +++ b/htdocs/langs/cs_CZ/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Fakturovaný obrat z nákupu ReportPurchaseTurnoverCollected=Shromážděný obrat z nákupu IncludeVarpaysInResults = Zahrnout různé platby do přehledů IncludeLoansInResults = Zahrnout půjčky do zpráv +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/cs_CZ/cron.lang b/htdocs/langs/cs_CZ/cron.lang index 2301936582d..c80ccf3a33b 100644 --- a/htdocs/langs/cs_CZ/cron.lang +++ b/htdocs/langs/cs_CZ/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Datum ukončení nemůže být před datem zahájení StatusAtInstall=Stav při instalaci modulu CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Zakázat -CronTaskInactive=Tato úloha je zakázána +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Název souboru s třídou CronModuleHelp=Název adresáře modulu Dolibarr (také pracuje s externím modulem Dolibarr).
    Chcete-li volat například metodu načítání produktu Dolibarr Product /htdocs/product/class/product.class.php, je hodnota pro modul
    produkt diff --git a/htdocs/langs/cs_CZ/deliveries.lang b/htdocs/langs/cs_CZ/deliveries.lang index e38b668da7f..5941d685f1b 100644 --- a/htdocs/langs/cs_CZ/deliveries.lang +++ b/htdocs/langs/cs_CZ/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Příjemce ErrorStockIsNotEnough=Dostatečné množství není skladem Shippable=Doručitelné NonShippable=Nedoručitelné +ShowShippableStatus=Show shippable status ShowReceiving=Zobrazit potvrzení o doručení NonExistentOrder=Neexistující objednávka +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index c2f0a89f984..722d6b7084b 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Špatná hodnota parametru. Připojí se obecně ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Přihlášení %s již existuje. ErrorGroupAlreadyExists=Skupina %s již existuje. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Záznam není nalezen. ErrorFailToCopyFile=Nepodařilo se zkopírovat soubor ' %s' do ' %s'. ErrorFailToCopyDir=Nepodařilo se zkopírovat adresář „ %s “ do „ %s “. @@ -117,7 +118,7 @@ ErrorCantReadFile=Nepodařilo se načíst soubor '%s' ErrorCantReadDir=Nepodařilo se načíst adresář '%s' ErrorBadLoginPassword=Nesprávná hodnota nebo heslo pro přihlášení. Zkuste to znovu a lépe ... ErrorLoginDisabled=Váš účet byl zablokován -ErrorFailedToRunExternalCommand=Nepodařilo se spustit externí příkaz. Zkontrolujte, zda je k dispozici a spustítelný na serveru PHP. Pokud je zapnutý PHP Bezpečný režim , zkontrolujte, zda je příkaz uvnitř adresáře definovaného parametrem safe_mode_exec_dir . +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Nepodařilo se změnit heslo ErrorLoginDoesNotExists=Uživatel s přihlášením %s nebyl nalezen. ErrorLoginHasNoEmail=Tento uživatel nemá žádnou e-mailovou adresu. Proces přerušen. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Váš parametr PHP upload_max_filesize (%s) je vyšší než parametr PHP post_max_size (%s). Toto není konzistentní nastavení. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/cs_CZ/eventorganization.lang b/htdocs/langs/cs_CZ/eventorganization.lang index 58001532280..a9d983c8e4f 100644 --- a/htdocs/langs/cs_CZ/eventorganization.lang +++ b/htdocs/langs/cs_CZ/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Typ události +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/cs_CZ/exports.lang b/htdocs/langs/cs_CZ/exports.lang index 34c0d9b41d6..f185c884609 100644 --- a/htdocs/langs/cs_CZ/exports.lang +++ b/htdocs/langs/cs_CZ/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Použitý typ řádku (0 = produkt, 1 = služba) FileWithDataToImport=Soubor s daty pro import FileToImport=Zdrojový soubor k importu FileMustHaveOneOfFollowingFormat=Importovaný soubor musí mít jeden z následujících formátů -DownloadEmptyExample=Stáhnout soubor šablony s informacemi o obsahu pole (* jsou povinná pole) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Vyberte formát souboru, který chcete použít jako formát souboru importu klepnutím na ikonu %s pro jeho výběr ... ChooseFileToImport=Pro nahrání souboru klepněte na ikonku %s pro výběr souboru jako zdrojový soubor importu ... SourceFileFormat=Zdrojový soubor diff --git a/htdocs/langs/cs_CZ/holiday.lang b/htdocs/langs/cs_CZ/holiday.lang index 5d626140fcd..2be3bf23557 100644 --- a/htdocs/langs/cs_CZ/holiday.lang +++ b/htdocs/langs/cs_CZ/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Čeká na schválení ApprovedCP=Schválený CancelCP=Zrušený RefuseCP=Odmínutý -ValidatorCP=Schválil +ValidatorCP=Approver ListeCP=Seznam dovolených Leave=Nechat žádost LeaveId=Zanechte ID @@ -39,11 +39,11 @@ TitreRequestCP=Nechat žádost TypeOfLeaveId=Typ ID dovolené TypeOfLeaveCode=Typ kódu dovolené TypeOfLeaveLabel=Typ štítku na dovolenou -NbUseDaysCP=Počet dní vyčerpané dovolené -NbUseDaysCPHelp=Výpočet zohledňuje dny pracovního klidu a svátky definované ve slovníku. -NbUseDaysCPShort=Počet spotřebovaných dnů -NbUseDaysCPShortInMonth=Dny spotřebované v měsíci -DayIsANonWorkingDay=%s je nepracovní den +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Datum zahájení v měsíci DateEndInMonth=Datum ukončení v měsíci EditCP=Upravit @@ -55,7 +55,7 @@ TitleDeleteCP=Smazat požadavek na dovolenou ConfirmDeleteCP=Potvrďit odstranění této žádosti o dovolenou? ErrorCantDeleteCP=Chyba: Nemáte oprávnění smazat tuto žádost o dovolenou. CantCreateCP=Nemáte právo podávat žádosti o dovolenou. -InvalidValidatorCP=Musíte vybrat schvalujícího pro vaši žádost o dovolenou. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Musíte vybrat počáteční datum. NoDateFin=Musíte vybrat datum ukončení. ErrorDureeCP=Vaše žádost o dovolenou neobsahuje pracovní den. @@ -80,14 +80,14 @@ UserCP=Uživatel ErrorAddEventToUserCP=Došlo k chybě při přidávání požadavku na výjimečnou dovolenou. AddEventToUserOkCP=Přidání výjimečné dovolené bylo dokončeno. MenuLogCP=Zobrazení protokolů změn -LogCP=Log aktualizací dostupných prázdninových dnů -ActionByCP=Účinkují -UserUpdateCP=Pro uživatele +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Předchozí zůstatek NewSoldeCP=Nový zůstatek alreadyCPexist=Žádost o dovolenou pro toto období již byla provedena. -FirstDayOfHoliday=První den dovolené -LastDayOfHoliday=Poslední den dovolené +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Nejnovější %s upravené žádosti o dovolenou HolidaysMonthlyUpdate=Měsíční aktualizace ManualUpdate=Ruční aktualizace @@ -104,8 +104,8 @@ LEAVE_SICK=Nemocní dovolenka LEAVE_OTHER=Další dovolená LEAVE_PAID_FR=Placená dovolená ## Configuration du Module ## -LastUpdateCP=Poslední automatická aktualizace přidělení dovolené -MonthOfLastMonthlyUpdate=Měsíc poslední automatické aktualizace přidělení dovolené +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Aktualizováno úspěšně. Module27130Name= Správa žádostí o dovolenou Module27130Desc= Správa požadavků dovolené @@ -125,10 +125,12 @@ HolidaysCanceledBody=Vaše žádost o dovolenou pro %s na %s byla zrušena. FollowedByACounter=1: Za tímto typem dovolené musí následovat přepážka. Počítadlo se zvyšuje ručně nebo automaticky a po ověření požadavku na dovolenou se počítadlo sníží.
    0: Nesleduje počítadlo. NoLeaveWithCounterDefined=Neexistují definované typy dovolených, které musí následovat počítadlo GoIntoDictionaryHolidayTypes=Přejděte do Domovská stránka - Nastavení - Slovníky - Typ dovolené a nastavte různé typy listů. -HolidaySetup=Nastavení modulu Dovolená -HolidaysNumberingModules=Zanechat modely číslování žádostí +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Šablona pro žádosti o dovolenou PDF FreeLegalTextOnHolidays=Volný text ve formátu PDF WatermarkOnDraftHolidayCards=Vodoznaky na žádosti o povolení dovolené HolidaysToApprove=Svátky ke schválení NobodyHasPermissionToValidateHolidays=Nikdo nemá povolení k ověření svátků +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/cs_CZ/hrm.lang b/htdocs/langs/cs_CZ/hrm.lang index d0850c4a89b..ca679bf3a68 100644 --- a/htdocs/langs/cs_CZ/hrm.lang +++ b/htdocs/langs/cs_CZ/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Opravdu chcete toto zařízení smazat? OpenEtablishment=Otevřít zařízení CloseEtablishment=Zavřít zařízení # Dictionary -DictionaryPublicHolidays=HRM - státní svátky +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Seznam oddělení DictionaryFunction=HRM - Pracovní pozice # Module diff --git a/htdocs/langs/cs_CZ/install.lang b/htdocs/langs/cs_CZ/install.lang index 0c9f0d9bff9..598d086878f 100644 --- a/htdocs/langs/cs_CZ/install.lang +++ b/htdocs/langs/cs_CZ/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrace fotografických cest pro uživatele MigrationFieldsSocialNetworks=Migrace uživatelů v sociálních sítích (%s) MigrationReloadModule=Načíst modul %s MigrationResetBlockedLog=Resetovat modul BlockedLog pro algoritmus v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Zobrazit nedostupné volby HideNotAvailableOptions=Skrýt nedostupné možnosti ErrorFoundDuringMigration=Byly hlášeny chyb(a)y během procesu migrace, takže další krok není k dispozici. Chcete-li ignorovat chyby, můžete kliknout zde , ale aplikace nebo některé funkce nemusí pracovat správně, dokud nejsou chyby vyřešeny. diff --git a/htdocs/langs/cs_CZ/interventions.lang b/htdocs/langs/cs_CZ/interventions.lang index f9dc01287b0..5bebd024405 100644 --- a/htdocs/langs/cs_CZ/interventions.lang +++ b/htdocs/langs/cs_CZ/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Linka trvání intervence InterLineDesc=Linka popis intervence RepeatableIntervention=Šablona intervence ToCreateAPredefinedIntervention=Chcete-li vytvořit předdefinovaný nebo opakující se zásah, vytvořte společný zásah a převeďte jej na intervenční šablonu +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/cs_CZ/knowledgemanagement.lang b/htdocs/langs/cs_CZ/knowledgemanagement.lang index 96771480aff..c1f01de85d5 100644 --- a/htdocs/langs/cs_CZ/knowledgemanagement.lang +++ b/htdocs/langs/cs_CZ/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = O aplikaci KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Článek KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/cs_CZ/languages.lang b/htdocs/langs/cs_CZ/languages.lang index 893180a35d7..4427b892274 100644 --- a/htdocs/langs/cs_CZ/languages.lang +++ b/htdocs/langs/cs_CZ/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etiopský Language_ar_AR=Arabština Language_ar_EG=Arabština (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabština +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Ázerbájdžán Language_bn_BD=Bengálština Language_bn_IN=Bengálština (Indie) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Nizozemí (Belgie) Language_nl_NL=holandský Language_pl_PL=Polsky +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalština (Brazílie) Language_pt_PT=Portugalština +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumunština Language_ru_RU=Ruština Language_ru_UA=Ruština (Ukrajina) diff --git a/htdocs/langs/cs_CZ/mails.lang b/htdocs/langs/cs_CZ/mails.lang index f48a41b0f85..1161bcfe2b3 100644 --- a/htdocs/langs/cs_CZ/mails.lang +++ b/htdocs/langs/cs_CZ/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Odstranit filtr AdvTgtSaveFilter=Uložit filtr AdvTgtCreateFilter=Vytvořte filtr AdvTgtOrCreateNewFilter=Název nového filtru -NoContactWithCategoryFound=Žádný kontakt / adresa s nalezenou kategorií -NoContactLinkedToThirdpartieWithCategoryFound=Žádný kontakt / adresa s nalezenou kategorií +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index 3b6831ed98e..8e3ce832a9b 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Doplňkové centy VATRate=Daňová sazba +RateOfTaxN=Rate of tax %s VATCode=Daňový kód VATNPR=Daňová sazba NPR DefaultTaxRate=Výchozí daňová sazba @@ -729,6 +730,7 @@ MenuMembers=Členové MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Daně/Zvláštní výdaje ThisLimitIsDefinedInSetup=Dolibarr limit (menu Domů-nastavení-zabezpečení): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Aktuální jazyk CurrentTheme=Aktuální téma @@ -1072,6 +1074,7 @@ ValidFrom=Platnost od ValidUntil=v platnosti, dokud NoRecordedUsers=Žádní uživatelé ToClose=Zavřít +ToRefuse=To refuse ToProcess=Ve zpracování ToApprove=Schválit GlobalOpenedElemView=Globální pohled @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=Pozdržen Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/cs_CZ/members.lang b/htdocs/langs/cs_CZ/members.lang index a7ea7850e86..758b06cd59f 100644 --- a/htdocs/langs/cs_CZ/members.lang +++ b/htdocs/langs/cs_CZ/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Odeslání připomenutí e-mailem členům p MembershipPaid=Členství zaplaceno za běžné období (do %s) YouMayFindYourInvoiceInThisEmail=Vaše faktura můžete připojit k tomuto e-mailu XMembersClosed=člen %s uzavřen(i) +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/cs_CZ/modulebuilder.lang b/htdocs/langs/cs_CZ/modulebuilder.lang index cf77734a247..2766de27015 100644 --- a/htdocs/langs/cs_CZ/modulebuilder.lang +++ b/htdocs/langs/cs_CZ/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Převodník ASCII na HTML AsciiToPdfConverter=Převodník ASCII na PDF TableNotEmptyDropCanceled=Tabulka není prázdná. Odstranění tabulky bylo zrušeno. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/cs_CZ/mrp.lang b/htdocs/langs/cs_CZ/mrp.lang index e86ca5e8c48..13d519a79b7 100644 --- a/htdocs/langs/cs_CZ/mrp.lang +++ b/htdocs/langs/cs_CZ/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Kusovníky LatestBOMModified=Nejnovější %s Upravené kusovníky LatestMOModified=Poslední %s upravené výrobní příkazy Bom=Účty materiálu -BillOfMaterials=Materiál +BillOfMaterials=Bill of Materials BOMsSetup=Nastavení kusovníku modulu BOM ListOfBOMs=Seznam kusovníků - kusovník ListOfManufacturingOrders=Seznam výrobních objednávek -NewBOM=Nový kusovník -ProductBOMHelp=Produkt vytvořený pomocí tohoto kusovníku.
    Poznámka: Produkty s vlastností 'Druh produktu' = 'Surovina' nejsou v tomto seznamu viditelné. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=Šablony číslování kusovníku BOMsModelModule=Šablony dokumentu kusovníku MOsNumberingModules=MO číslovací šablony @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Volný text na dokumentu z kusovníků BOM WatermarkOnDraftBOMs=Vodoznak na návrhu kusovníku FreeLegalTextOnMOs=Volný text na dokumentu MO WatermarkOnDraftMOs=Vodoznak na návrhu MO -ConfirmCloneBillOfMaterials=Opravdu chcete klonovat kusovník %s? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Opravdu chcete klonovat výrobní objednávku %s? ManufacturingEfficiency=Účinnost výroby ConsumptionEfficiency=Účinnost spotřeby @@ -30,8 +30,8 @@ ValueOfMeansLoss=Hodnota 0,95 znamená průměrně ztrátu během výroby ve vý ValueOfMeansLossForProductProduced=Hodnota 0,95 znamená průměrně ztrátu vyrobeného produktu ve výši 5%% DeleteBillOfMaterials=Odstranit kusovník DeleteMo=Smazat výrobní zakázku -ConfirmDeleteBillOfMaterials=Opravdu chcete smazat tento kusovník? -ConfirmDeleteMo=Opravdu chcete smazat tento kusovník? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Výrobní zakázky NewMO=Nová výrobní objednávka QtyToProduce=Množství k výrobě @@ -39,7 +39,7 @@ DateStartPlannedMo=Datum zahájení je naplánováno DateEndPlannedMo=Datum ukončení je naplánováno KeepEmptyForAsap=Prázdný znamená „co nejdříve“ EstimatedDuration=Odhadovaná doba trvání -EstimatedDurationDesc=Předpokládaná doba výroby tohoto produktu pomocí tohoto kusovníku +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Opravdu chcete ověřit kusovník pomocí odkazu %s (budete jej moci použít k vytváření nových výrobních objednávek) ConfirmCloseBom=Opravdu chcete zrušit tento kusovník (už jej nebudete moci použít k vytváření nových výrobních objednávek)? ConfirmReopenBom=Opravdu chcete tento kusovník znovu otevřít (budete jej moci použít k vytváření nových výrobních objednávek) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Spotřebujte a produkujte vše Manufactured=Vyrobeno TheProductXIsAlreadyTheProductToProduce=Produkt, který chcete přidat, je již produkt, který chcete vyrobit. ForAQuantityOf=Pro množství k výrobě %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Opravdu chcete ověřit tuto výrobní objednávku? ConfirmProductionDesc=Kliknutím na '%s' potvrdíte spotřebu a / nebo výrobu pro nastavená množství. Tím se také aktualizuje pohyb zásob a zaznamenávají se pohyby zásob. ProductionForRef=Výroba %s AutoCloseMO=Pokud je dosaženo množství, které je třeba spotřebovat a vyrobit, uzavře se automaticky výrobní objednávka NoStockChangeOnServices=Žádná změna zásob u služeb ProductQtyToConsumeByMO=Množství produktu, které je třeba spotřebovat otevřeným MO -ProductQtyToProduceByMO=Množství produktu, které je stále třeba vyrábět otevřeným MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Přidejte nový řádek ke spotřebě ProductsToConsume=Výrobky ke spotřebě ProductsToProduce=Výrobky k výrobě @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Vymazat NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/cs_CZ/orders.lang b/htdocs/langs/cs_CZ/orders.lang index 35998344515..e4e173ebc0f 100644 --- a/htdocs/langs/cs_CZ/orders.lang +++ b/htdocs/langs/cs_CZ/orders.lang @@ -11,6 +11,7 @@ OrderDate=Datum objednávky OrderDateShort=Datum objednávky OrderToProcess=Objednávka ve zpracování NewOrder=Nová objednávka +NewSupplierOrderShort=Nová objednávka NewOrderSupplier=Nová objednávka ToOrder=Udělat objednávku MakeOrder=Udělat objednávku @@ -73,6 +74,7 @@ DeleteOrder=Smazat objednávku CancelOrder=Zrušení objednávky OrderReopened= Objednávka%s znovu otevřena AddOrder=Vytvořit objednávku +AddSupplierOrderShort=Vytvořit objednávku AddPurchaseOrder=Vytvořte objednávku AddToDraftOrders=Přidat k návrhu objednávky ShowOrder=Zobrazit objednávku diff --git a/htdocs/langs/cs_CZ/other.lang b/htdocs/langs/cs_CZ/other.lang index f91dbd2a103..e1a1ce8ad00 100644 --- a/htdocs/langs/cs_CZ/other.lang +++ b/htdocs/langs/cs_CZ/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Přihlášený uživatel, který uzavřel FileWasRemoved=Soubor %s byl odstraněn DirWasRemoved=Adresář %s byl odstraněn FeatureNotYetAvailable=Funkce zatím není k dispozici v aktuální verzi +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Podporované funkce Width=Šířka Height=Výška @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontakt/adresa vytvořená sběratelem e-mailů z ProjectCreatedByEmailCollector=Projekt vytvořený sběratelem e-mailů z e-mailu MSGID %s TicketCreatedByEmailCollector=Lístek vytvořený sběratelem e-mailů z e-mailu MSGID %s OpeningHoursFormatDesc=Pomocí a - oddělte otevírací a zavírací dobu.
    Pomocí mezery zadejte různé rozsahy.
    Příklad: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exportní plocha @@ -290,3 +291,7 @@ PopuCom=Produkty / služby podle oblíbenosti v objednávkách ProductStatistics=Statistika produktů / služeb NbOfQtyInOrders=Množství v objednávkách SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zavřít diff --git a/htdocs/langs/cs_CZ/partnership.lang b/htdocs/langs/cs_CZ/partnership.lang index 0ff8af34c49..df5c9705784 100644 --- a/htdocs/langs/cs_CZ/partnership.lang +++ b/htdocs/langs/cs_CZ/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Datum zahájení DatePartnershipEnd=Datum ukončení +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Návrh -PartnershipAccepted = Přijato -PartnershipRefused = Odmítnuto -PartnershipCanceled = Zrušený - +PartnershipDraft=Návrh +PartnershipAccepted=Přijato +PartnershipRefused=Odmítnuto +PartnershipCanceled=Zrušený PartnershipManagedFor=Partners are diff --git a/htdocs/langs/cs_CZ/productbatch.lang b/htdocs/langs/cs_CZ/productbatch.lang index a4586e8af00..845886c1365 100644 --- a/htdocs/langs/cs_CZ/productbatch.lang +++ b/htdocs/langs/cs_CZ/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Používat šarži/sériové číslo ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Zobrazit log pohybů šarží produktu StockDetailPerBatch=Zásoby dané šarže SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/cs_CZ/products.lang b/htdocs/langs/cs_CZ/products.lang index 839eed4f24b..9501c240076 100644 --- a/htdocs/langs/cs_CZ/products.lang +++ b/htdocs/langs/cs_CZ/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Různé ceny pro každého zákazníka PriceCatalogue=Unikátní cena pro produkt/službu PricingRule=Pravidla pro prodejní ceny AddCustomerPrice=Přidejte cenu pro zákazníka -ForceUpdateChildPriceSoc=Nastavit stejné ceny pro dceřiné společnosti zákazníka +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Protokol o cenách předchozího zákazníka MinimumPriceLimit=Minimální cena nesmí být nižší než %s MinimumRecommendedPrice=Minimální doporučená cena je: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Zvýšit/snížit zásoby na výchozí změny ComposedProduct=Subprodukt MinSupplierPrice=Minimální nákupní cena MinCustomerPrice=Minimální prodejní cena +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamická konfigurace cen DynamicPriceDesc=Můžete definovat matematické vzorce pro výpočet cen zákazníků nebo prodejců. Takové vzorce mohou používat všechny matematické operátory, některé konstanty a proměnné. Zde můžete definovat proměnné, které chcete použít. Pokud proměnná potřebuje automatickou aktualizaci, můžete definovat externí URL, aby Dolibarr umožnil automatickou aktualizaci hodnoty. AddVariable=Přidat proměnnou @@ -340,7 +341,7 @@ ProductSheet=Produktový list ServiceSheet=Servisní list PossibleValues=Možné hodnoty GoOnMenuToCreateVairants=Přejděte do nabídky %s - %s a připravte varianty atributů (například barvy, velikost, ...) -UseProductFournDesc=Přidání funkce pro definování popisů produktů definovaných dodavateli vedle popisů pro zákazníky +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Popis dodavatele produktu UseProductSupplierPackaging=Použijte obaly na dodavatelské ceny (při přidávání / aktualizaci řádku v dodavatelských dokumentech přepočítávejte množství podle balení stanoveného na dodavatelskou cenu) PackagingForThisProduct=Obal @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Akce je k dispozici pouze u varianty výrobk ProductsPricePerCustomer=Ceny produktů na zákazníky ProductSupplierExtraFields=Další atributy (dodavatelské ceny) DeleteLinkedProduct=Odstraňte podřízený produkt spojený s kombinací +PMPValue=Vážená průměrná cena +PMPValueShort=WAP diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index 77c780d4c63..854a8267e59 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -140,6 +140,7 @@ NoTasks=Žádné úkoly na tomto projektu LinkedToAnotherCompany=Připojené k jiné třetí straně TaskIsNotAssignedToUser=Úkol nebyl přiřazen uživateli. Pomocí tlačítka ' %s ' nyní přiřadíte úlohu. ErrorTimeSpentIsEmpty=Čas strávený je prázdný +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Tato akce rovněž odstraní všechny úkoly projektu (%s úkolů v tuto chvíli) a všechny strávené časy vstupující do projektu. IfNeedToUseOtherObjectKeepEmpty=Pokud je k projektu třeba připojit některé objekty jiných třetích stran (faktury, objednávky, ...), ponechte toto prázdné (projekt bude moci obsahovat více třetích stran) CloneTasks=Duplikovat úkoly @@ -241,6 +242,7 @@ LatestModifiedProjects=Nejnovější %smodifikované projekty OtherFilteredTasks=Další filtrované úkoly NoAssignedTasks=Nebyly nalezeny žádné přiřazené úkoly (přiřadit projekt / úkoly aktuálnímu uživateli z horního výběrového pole pro zadání času na něm) ThirdPartyRequiredToGenerateInvoice=Subjekt musí být definován na projektu, aby mohl fakturovat. +ThirdPartyRequiredToGenerateInvoice=Subjekt musí být definován na projektu, aby mohl fakturovat. ChooseANotYetAssignedTask=Vyberte úkol, který vám ještě nebyl přidělen # Comments trans AllowCommentOnTask=Povolení uživatelských komentářů k úkolům @@ -252,10 +254,12 @@ SendProjectRef=Informační projekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modul "Platy" musí být povolen tak, aby definoval hodinovou sazbu pro zaměstnance, aby získal čas strávený valorizací NewTaskRefSuggested=Referenční úloha již byla použita, je vyžadován nový úkol ref TimeSpentInvoiced=Čas strávený účtováním +TimeSpentForIntervention=Strávený čas TimeSpentForInvoice=Strávený čas OneLinePerUser=Jeden řádek na uživatele ServiceToUseOnLines=Služba pro použití na tratích InvoiceGeneratedFromTimeSpent=Faktura %s byla vygenerována z času stráveného na projektu +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Zkontrolujte, zda zadáváte časový rozvrh úkolů projektu A máte v úmyslu vygenerovat faktury z časového rozvrhu, abyste fakturovali zákazníkovi projektu (nekontrolujte, zda máte v úmyslu vytvořit fakturu, která není založena na zadaných časových rozvrzích). Poznámka: Chcete-li vygenerovat fakturu, přejděte na kartu „Čas strávený“ projektu a vyberte řádky, které chcete zahrnout. ProjectFollowOpportunity=Následujte příležitost ProjectFollowTasks=Sledujte úkoly nebo čas strávený @@ -264,12 +268,16 @@ UsageOpportunity=Použití: Příležitost UsageTasks=Použití: Úkoly UsageBillTimeShort=Použití: Vyúčtování času InvoiceToUse=Návrh faktury k použití +InterToUse=Draft intervention to use NewInvoice=Nová faktura +NewInter=Nová intervence OneLinePerTask=Jeden řádek na úkol OneLinePerPeriod=Jeden řádek za období +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Nadřazený úkol ProfitIsCalculatedWith=Zisk se vypočítá pomocí AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/cs_CZ/receptions.lang b/htdocs/langs/cs_CZ/receptions.lang index f5217377215..01f8844a682 100644 --- a/htdocs/langs/cs_CZ/receptions.lang +++ b/htdocs/langs/cs_CZ/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Nejprve musíte potvrdit objednávku, než bud ReceptionsNumberingModules=Modul číslování pro recepce ReceptionsReceiptModel=Šablony dokumentů pro recepce NoMorePredefinedProductToDispatch=Žádné další předdefinované produkty k odeslání - +ReceptionExist=A reception exists diff --git a/htdocs/langs/cs_CZ/salaries.lang b/htdocs/langs/cs_CZ/salaries.lang index 3e5a2453e89..1e6e5c2d90c 100644 --- a/htdocs/langs/cs_CZ/salaries.lang +++ b/htdocs/langs/cs_CZ/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Účtovací účet používaný pro třetí strany SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Účelový účet určený na uživatelské kartě bude použit pouze pro účetnictví společnosti Subledger. Ten bude použit pro hlavní knihu a jako výchozí hodnota účtování společnosti Subledger, pokud není určen uživatelský účtovací účet pro uživatele. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Účtovací účet je výchozí pro mzdové platby +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mzda Salaries=Mzdy -NewSalaryPayment=Nová platba mzdy +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Přidat platbu SalaryPayment=Platba mzdy SalariesPayments=Platby mezd +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Ukázat platbu mzdy THM=Průměrná hodinová sazba TJM=Průměrná denní sazba CurrentSalary=Současná mzda THMDescription=Tato hodnota může být použita pro výpočet nákladů na čas strávený na projektu zadaný uživateli, pokud je použit modul projektu TJMDescription=Tato hodnota je momentálně pouze informativní a nepoužívá se pro výpočet -LastSalaries=Posledních %s plateb -AllSalaries=Všechny mzdové platby +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Statistika platů -# Export SalariesAndPayments=Platy a platby +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/cs_CZ/stocks.lang b/htdocs/langs/cs_CZ/stocks.lang index 22b0bf30b75..1840a29d975 100644 --- a/htdocs/langs/cs_CZ/stocks.lang +++ b/htdocs/langs/cs_CZ/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Jednotková kupní cena StockTooLow=Stav skladu je nízký StockLowerThanLimit=Zásoby nižší než limit upozornění (%s) EnhancedValue=Hodnota -PMPValue=Vážená průměrná cena -PMPValueShort=WAP EnhancedValueOfWarehouses=Hodnota skladů UserWarehouseAutoCreate=Vytvoření uživatelského skladu automaticky při vytváření uživatele AllowAddLimitStockByWarehouse=Spravujte také hodnotu pro minimální a požadovanou zásobu na párování (produktový sklad) kromě hodnoty pro minimální a požadovanou zásobu na produkt RuleForWarehouse=Pravidlo pro sklady -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Nastavit sklad na prodejní objednávky UserDefaultWarehouse=Nastavit sklad na Uživatelé @@ -169,8 +167,8 @@ MovementTransferStock=Přenos skladových produktů %s do jiného skladiště InventoryCodeShort=Inventární/pohybový kód NoPendingReceptionOnSupplierOrder=Neexistuje nepřijatý příjem v důsledku otevřené objednávky ThisSerialAlreadyExistWithDifferentDate=Toto množství/sériové číslo (%s) už ale s odlišnou spotřebou nebo datem prodeje existuje (found %s ale zadáte %s). -OpenAll=Otevřený pro všechny akce -OpenInternal=Otevřít pouze pro vnitřní akce +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Použijte stav odesílání (schválení / odmítnutí) pro produktové řady při příjmu objednávky OptionMULTIPRICESIsOn=Možnost "několik cen za segment" je zapnutá. To znamená, že výrobek má několik prodejních cen, takže hodnota pro prodej nelze vypočítat ProductStockWarehouseCreated=Limit zásob pro výstrahu a požadovanou optimální zásobu vytvořenou správně @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Znovu otevřeno -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/cs_CZ/ticket.lang b/htdocs/langs/cs_CZ/ticket.lang index a09633b9355..535aa89c69d 100644 --- a/htdocs/langs/cs_CZ/ticket.lang +++ b/htdocs/langs/cs_CZ/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Vstupenka - rozlišení TicketTypeShortCOM=Obchodní otázka TicketTypeShortHELP=Žádost o funkční pomoc -TicketTypeShortISSUE=Problém, chyba nebo problém +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Žádost o změnu nebo vylepšení TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Jiný @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Přiřazený uživatel TypeContact_ticket_external_SUPPORTCLI=Kontakt zákazníka / sledování incidentů TypeContact_ticket_external_CONTRIBUTOR=Externí přispěvatel -OriginEmail=Zdroj e-mailu +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Odeslat e-mailem zprávu o lince # Status Read=Číst Assigned=Přidělené InProgress=probíhá -NeedMoreInformation=Čekání na informace +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Odpovězeno Waiting=Čekání -Closed=Zavřeno +SolvedClosed=Solved Deleted=Smazáno # Dict @@ -160,7 +162,7 @@ CreatedBy=Vytvořil NewTicket=Nová vstupenka SubjectAnswerToTicket=Odpověď na lístek TicketTypeRequest=Typ požadavku -TicketCategory=Skupina +TicketCategory=Ticket categorization SeeTicket=Viz lístek TicketMarkedAsRead=Lístek byl označen jako přečtený TicketReadOn=Číst dál @@ -184,9 +186,11 @@ TicketSeverity=Vážnost ShowTicket=Viz lístek RelatedTickets=Související vstupenky TicketAddIntervention=Vytvořit intervenci -CloseTicket=Zavřete lístek -CloseATicket=Zavřete lístek +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Potvrďte uzavření lístku +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Potvrďte prosím vymazání lístku TicketDeletedSuccess=Lístek byl vymazán s úspěchem TicketMarkedAsClosed=Lístek označený jako zavřený @@ -211,6 +215,7 @@ TicketMessageHelp=Pouze tento text bude uložen do seznamu zpráv na kartě lís TicketMessageSubstitutionReplacedByGenericValues=Substituční proměnné jsou nahrazeny obecnými hodnotami. TimeElapsedSince=Čas uplynul od TicketTimeToRead=Čas uplynul před čtením +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kontaktní lístek TicketDocumentsLinked=Dokumenty spojené s lístkem ConfirmReOpenTicket=Potvrďte znovutevření tento lístek? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Poslední změněné vstupenky BoxLastModifiedTicketDescription=Poslední %s změněné vstupenky BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Žádné poslední změněné vstupenky -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/cs_CZ/trips.lang b/htdocs/langs/cs_CZ/trips.lang index 8c2edad907c..a22ae7c90e7 100644 --- a/htdocs/langs/cs_CZ/trips.lang +++ b/htdocs/langs/cs_CZ/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Zpráva o výdajích %s byla zrušena.
    - Uživ ExpenseReportPaid=Zpráva o výdajích byla zaplacena ExpenseReportPaidMessage=Zpráva o výdajích %s byla zaplacena.
    - Uživatel: %s
    - Zaplaceno: %s
    Kliknutím zobrazíte zprávu o výdajích: %s TripId=ID zprávy výdajů -AnyOtherInThisListCanValidate=Informovat osobu o schválení. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Informace o firmě TripNDF=Informace o správě nákladů PDFStandardExpenseReports=Standardní šablona pro vytvoření PDF dokumentu pro zprávy o výdajích @@ -90,7 +90,6 @@ DATE_REFUS=Datum zamítnutí DATE_SAVE=Datum schválení DATE_CANCEL=Datum přerušení DATE_PAIEMENT=Datum platby -BROUILLONNER=Znovu otevřeno ExpenseReportRef=Ref. zpráva o výdajích ValidateAndSubmit=Kontrola a odeslání schválení ValidatedWaitingApproval=Ověření (čekání na schválení) @@ -110,7 +109,7 @@ ExpenseReportPayment=Platební výkaz výdajů ExpenseReportsToApprove=Zprávy o výdajích ke schválení ExpenseReportsToPay=Zprávy o výdajích placeno ConfirmCloneExpenseReport=Opravdu chcete tuto zprávu o výdajích klonovat? -ExpenseReportsIk=Zpráva o výdajích miluje index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Pravidla pro výkaz výdajů ExpenseReportIkDesc=Můžete upravit výpočet výdajů na kilometry podle kategorií a rozsahu, kteří byli dříve definováni. d je vzdálenost v kilometrech ExpenseReportRulesDesc=Můžete vytvořit nebo aktualizovat pravidla výpočtu. Tato část bude použita, když uživatel vytvoří nový výkaz výdajů @@ -145,7 +144,7 @@ nolimitbyEX_DAY=denně (bez omezení) nolimitbyEX_MON=měsíčně (bez omezení) nolimitbyEX_YEA=podle roku (bez omezení) nolimitbyEX_EXP=po řádku (bez omezení) -CarCategory=Kategorie auta +CarCategory=Vehicle category ExpenseRangeOffset=Vyvážená částka: %s RangeIk=Rozsah kilometrů AttachTheNewLineToTheDocument=Připojte řádek k nahranému dokumentu diff --git a/htdocs/langs/cs_CZ/users.lang b/htdocs/langs/cs_CZ/users.lang index 0c355b7432e..0c8f9bcfb33 100644 --- a/htdocs/langs/cs_CZ/users.lang +++ b/htdocs/langs/cs_CZ/users.lang @@ -97,8 +97,8 @@ LoginToCreate=K vytvoření je potřeba se přihlásit NameToCreate=Název třetí strany k vytvoření YourRole=Vaše role YourQuotaOfUsersIsReached=Vaše kvóta aktivních uživatelů je dosažena! -NbOfUsers=Počet uživatelů -NbOfPermissions=Počet oprávnění +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Pouze superadmin může ponížit superadmina HierarchicalResponsible=Supervizor HierarchicView=Hierarchické zobrazení diff --git a/htdocs/langs/cs_CZ/website.lang b/htdocs/langs/cs_CZ/website.lang index fdd8e7b9a79..a5c50c6b52a 100644 --- a/htdocs/langs/cs_CZ/website.lang +++ b/htdocs/langs/cs_CZ/website.lang @@ -31,7 +31,7 @@ AddWebsite=Přidat webovou stránku Webpage=Webová stránka / kontejner AddPage=Přidat stránku / kontejner PageContainer=Strana -PreviewOfSiteNotYetAvailable=Náhled vašeho webu %s zatím není k dispozici. Nejprve musíte ' Importovat celou šablonu webových stránek ' nebo jen ' Přidat stránku / kontejner '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Požadovaná stránka s ID %s nemá dosud žádný obsah nebo byl odstraněn soubor cache .tpl.php. Upravte obsah stránky pro vyřešení tohoto problému. SiteDeleted=Webová stránka '%s' byla smazána PageContent=Stránka / Contenair diff --git a/htdocs/langs/cs_CZ/withdrawals.lang b/htdocs/langs/cs_CZ/withdrawals.lang index 3e1ffcb7b3c..b2aff70562e 100644 --- a/htdocs/langs/cs_CZ/withdrawals.lang +++ b/htdocs/langs/cs_CZ/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s zaznamenané žádosti o inkaso BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Kód banky subjektu NoInvoiceCouldBeWithdrawed=Žádná faktura nebyla odepsána úspěšně. Zkontrolujte, zda jsou faktury u společností s platným IBAN a zda má IBAN UMR (Unique Mandate Reference) s režimem %s . +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Označit přidání kreditu ClassCreditedConfirm=Jste si jisti, že chcete zařadit tento výběr příjmu jako připsaný na váš bankovní účet? TransData=Datum přenosu @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Datum provedení CreateForSepa=Vytvořte soubor s inkasem -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - jedinečný identifikátor přiřazený ke každé transakci USTRD="Nestrukturovaná" značka SEPA XML ADDDAYS=Přidání dnů do data provedení diff --git a/htdocs/langs/cs_CZ/workflow.lang b/htdocs/langs/cs_CZ/workflow.lang index 748bd0e27d6..4348c679b87 100644 --- a/htdocs/langs/cs_CZ/workflow.lang +++ b/htdocs/langs/cs_CZ/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Zařadit návrh propojeného zdroje descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Zařadit propojenou prodejní objednávku jako fakturovanou při ověření faktury zákazníka (a pokud je částka faktury shodná s celkovou částkou propojené objednávky) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Zařadit propojenou prodejní objednávku jako fakturovanou, když je zákaznická faktura nastavena jako zaplacená (a pokud je částka faktury shodná s celkovou částkou propojené objednávky) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Klasifikujte propojenou prodejní objednávku dodávanou při ověření zásilky (a pokud je množství odeslané všemi zásilkami stejné jako v aktualizovaném pořadí) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Označte návrh dodavatele propojeného zdroje jako fakturovaný při validaci dodavatele (a pokud je částka faktury shodná s celkovou částkou propojeného návrhu) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Zařadit propojenou objednávku zdroje jako fakturovanou fakturaci dodavatele (a pokud je částka faktury shodná s celkovou částkou propojené objednávky) diff --git a/htdocs/langs/da_DK/accountancy.lang b/htdocs/langs/da_DK/accountancy.lang index 68b09a3cca3..4e590956f4d 100644 --- a/htdocs/langs/da_DK/accountancy.lang +++ b/htdocs/langs/da_DK/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Lande ikke i EU CountriesInEECExceptMe=Lande i EU undtagen %s CountriesExceptMe=Alle lande undtagen %s AccountantFiles=Eksporter kildedokumenter -ExportAccountingSourceDocHelp=Med dette værktøj kan du eksportere de kildehændelser (liste og PDF-filer), der blev brugt til at generere din regnskab. For at eksportere dine tidsskrifter skal du bruge menuindgangen %s - %s. +ExportAccountingSourceDocHelp=Med dette værktøj kan du eksportere de kildehændelser (liste i CSV og PDF-filer), der blev brugt til at generere din regnskab. +ExportAccountingSourceDocHelp2=For at eksportere dine tidsskrifter skal du bruge menuindgangen %s - %s. VueByAccountAccounting=Vis efter regnskabskonto VueBySubAccountAccounting=Vis efter regnskabsmæssig underkonto @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Længde på tredjeparts regnskabskonti (Hvis du indst ACCOUNTING_MANAGE_ZERO=Tillad at administrere forskellige antal nuller i slutningen af en regnskabskonto. Nødvendigt af nogle lande (som Schweiz). Hvis den er slået til (standard), kan du indstille følgende to parametre til at bede applikationen om at tilføje virtuelle nuller. BANK_DISABLE_DIRECT_INPUT=Deaktiver direkte registrering af transaktionen på bankkonto ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Aktivér udkast til eksport på Journal -ACCOUNTANCY_COMBO_FOR_AUX=Aktivér kombinationsliste for subsidiær konto (kan være langsom, hvis du har en masse tredjeparter) +ACCOUNTANCY_COMBO_FOR_AUX=Aktivér kombinationsliste for datterselskabskonto (kan være langsom, hvis du har mange tredjeparter, bryder evnen til at søge på en del af værdien) ACCOUNTING_DATE_START_BINDING=Definer en dato for start af binding og overførsel i regnskab. Under denne dato overføres transaktionerne ikke til regnskab. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Ved regnskabsoverførsel skal du vælge periode som standard @@ -245,9 +246,9 @@ DescThirdPartyReport=Se her listen over tredjepartskunder og leverandører og de ListAccounts=Liste over regnskabskonti UnknownAccountForThirdparty=Ukendt tredjepartskonto. Vi bruger %s UnknownAccountForThirdpartyBlocking=Ukendt tredjepartskonto. Blokeringsfejl -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Tredjepartskonto ikke defineret eller tredjepart ukendt. Vi bruger %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Fremlejerkonto ikke defineret eller tredjepart eller bruger ukendt. Vi vil bruge %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tredjeparts ukendt og subletger, der ikke er defineret på betalingen. Vi vil holde subledgerkontoen værdi tom. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Tredjepartskonto ikke defineret eller tredjepart ukendt. Blokeringsfejl. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Fremlejerkonto ikke defineret eller tredjepart eller bruger ukendt. Blokeringsfejl. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Ukendt tredjepartskonto og ventekonto er ikke defineret. Blokeringsfejl PaymentsNotLinkedToProduct=Betaling er ikke knyttet til noget produkt / tjeneste OpeningBalance=Åbnings balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Deaktiver binding og overførsel i regns ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Deaktiver binding og overførsel i regnskab på udgiftsrapporter (udgiftsrapporter tages ikke med i regnskabet) ## Export +NotifiedExportDate=Meddelt eksportdato (ændring af posterne er ikke mulig) +NotifiedValidationDate=Validering af posterne (ændring eller sletning af posterne er ikke mulig) +ConfirmExportFile=Bekræftelse af genereringen af den regnskabsmæssige eksportfil? ExportDraftJournal=Eksporter udkast til kladde Modelcsv=Eksportmodel Selectmodelcsv=Vælg en eksportmodel @@ -335,7 +339,7 @@ Modelcsv_normal=Klassisk eksport Modelcsv_CEGID=Eksport til CEGID Expert Comptabilité Modelcsv_COALA=Eksport til Sage Coala Modelcsv_bob50=Eksport til Sage BOB 50 -Modelcsv_ciel=Eksport til Sage Ciel Compta eller Compta Evolution +Modelcsv_ciel=Eksport til Sage50, Ciel Compta eller Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Eksport til Quadratus QuadraCompta Modelcsv_ebp=Eksport til EBP Modelcsv_cogilog=Eksport til Cogilog diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index 26e47e4ad78..a13aa73e4c8 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Intern bruger ExternalUser=Ekstern bruger InternalUsers=Interne brugere ExternalUsers=Eksterne brugere +UserInterface=brugergrænseflade GUISetup=Udseende SetupArea=Indstillinger UploadNewTemplate=Upload nye skabelon(er) @@ -84,6 +85,7 @@ NumberOfBytes=Antal byte SearchString=Søg streng NotAvailableWhenAjaxDisabled=Ikke tilgængelige, når Ajax er slået fra AllowToSelectProjectFromOtherCompany=På tredjeparts dokument kan man vælge et projekt knyttet til en anden tredjepart +TimesheetPreventAfterFollowingMonths=Undgå optagetid brugt efter det følgende antal måneder JavascriptDisabled=JavaScript slået UsePreviewTabs=Brug forhåndsvisning faner ShowPreview=Vis forhåndsvisning @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-valuta opsætning MenuLimits=Grænseværdier og nøjagtighed MenuIdParent=Moderselskab menuen ID DetailMenuIdParent=ID for moder menu (0 for en top-menuen) +ParentID=Forældres ID DetailPosition=Sorter antallet at definere menuen holdning AllMenus=Alle NotConfigured=Modul/Applikation ikke konfigureret @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funktionen er kun tilgængelig på officielle stabi BoxesDesc=Widgets er komponenter, der viser nogle oplysninger, som du kan tilføje for at tilpasse nogle sider. Du kan vælge mellem at vise widgeten eller ej ved at vælge målside og klikke på 'Aktiver' eller ved at klikke på papirkurven for at deaktivere den. OnlyActiveElementsAreShown=Kun elementer fra de aktiverede moduler er vist. ModulesDesc=Modulerne / applikationerne bestemmer, hvilke funktioner der er tilgængelige i softwaren. Nogle moduler kræver tilladelse for at blive tildelt brugere efter aktivering af modulet. Klik på tænd / sluk-knappen%s for hvert modul for at aktivere eller deaktivere et modul / program. +ModulesDesc2=Klik på hjulknappen %s for at konfigurere modulet / applikationen. ModulesMarketPlaceDesc=Du kan finde flere moduler som kan downloades på eksterne hjemmesider på internettet ... ModulesDeployDesc=Hvis tilladelser i dit filsystem tillader det, kan du bruge dette værktøj til at installere et eksternt modul. Modulet vil så være synligt på fanen %s. ModulesMarketPlaces=Finde eksterne app/moduler @@ -221,8 +225,8 @@ NotCompatible=Dette modul virker ikke kompatibelt med din Dolibarr %s (Min %s - CompatibleAfterUpdate=Dette modul kræver en opdatering til din Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på markedspladsen SeeSetupOfModule=Se opsætning af modul%s +SetOptionTo=Indstil option %s til %s Updated=Opdater -Nouveauté=Nyhed AchatTelechargement=Køb / Download GoModuleSetupArea=For at implementere / installere et nyt modul skal du gå til modulopsætningsområdet: %s . DoliStoreDesc=DoliStore den officielle markedsplads for Dolibarr ERP / CRM eksterne moduler @@ -399,6 +403,7 @@ SecurityToken=Nøglen til sikker URL'er NoSmsEngine=Ingen SMS afsender manager tilgængelig. En SMS-afsender manager er ikke installeret med standardfordelingen, fordi de afhænger af en ekstern leverandør, men du kan finde nogle på %s PDF=PDF PDFDesc=Globale muligheder for PDF generation +PDFOtherDesc=PDF-option, der er specifik for nogle moduler PDFAddressForging=Regler for adresse sektion HideAnyVATInformationOnPDF=Skjul alle oplysninger relateret til salgsafgift / moms PDFRulesForSalesTax=Regler for salgs moms @@ -561,7 +566,7 @@ Module53Desc=Forvaltning af tjenester Module54Name=Contracts/Subscriptions Module54Desc=Forvaltning af kontrakter (tjenester eller tilbagevendende abonnementer) Module55Name=Stregkoder -Module55Desc=Stregkoder administration +Module55Desc=Stregkode- eller QR-kodeadministration Module56Name=Betaling med kreditoverførsel Module56Desc=Styring af betaling af leverandører via ordrer med kreditoverførsel. Det inkluderer generering af SEPA-fil til europæiske lande. Module57Name=Betalinger med Direct Debit @@ -848,10 +853,10 @@ Permission402=Opret/rediger rabatter Permission403=Bekræft rabatter Permission404=Slet rabatter Permission430=Brug Debug Bar -Permission511=Læs lønudbetalinger (dine og underordnede) -Permission512=Opret / modificer lønudbetalinger -Permission514=Slet betaling af lønninger -Permission517=Læs alle lønninger +Permission511=Læs lønninger og betalinger (dine og underordnede) +Permission512=Opret / rediger lønninger og betalinger +Permission514=Slet lønninger og betalinger +Permission517=Læs lønninger og betalinger Alle sammen Permission519=Eksportlønninger Permission520=Læs lån Permission522=Opret / modificer lån @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Brug salgssted (SimplePOS) Permission50151=Brug salgssted (TakePOS) +Permission50152=Rediger salgslinjer +Permission50153=Rediger bestilte salgslinjer Permission50201=Læs transaktioner Permission50202=Import transaktioner Permission50330=Læs genstande fra Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Måleenheder DictionarySocialNetworks=Sociale netværk DictionaryProspectStatus=Prospektstatus for virksomheder DictionaryProspectContactStatus=Prospektstatus for kontakter -DictionaryHolidayTypes=Typer af orlov +DictionaryHolidayTypes=Permission - Typer af orlov DictionaryOpportunityStatus=Ledestatus for projekt / bly DictionaryExpenseTaxCat=Udgiftsrapport - Transportkategorier DictionaryExpenseTaxRange=Omkostningsrapport - Område efter transportkategori DictionaryTransportMode=Intracomm rapport - Transporttilstand +DictionaryBatchStatus=Produktparti / seriel kvalitetskontrolstatus TypeOfUnit=Type af enhed SetupSaved=Opsætning gemt SetupNotSaved=Opsætning er ikke gemt @@ -1185,9 +1193,12 @@ SetupDescription2=Følgende to afsnit er obligatoriske (de to første indgange i SetupDescription3=%s->%s

    Grundlæggende parametre, der bruges til at tilpasse din applikations standardopførsel (f.eks. For landrelaterede funktioner). SetupDescription4=%s->%s

    Denne software er en pakke med mange moduler / applikationer. Modulerne relateret til dine behov skal være aktiveret og konfigureret. Menuposter vises ved aktivering af disse moduler. SetupDescription5=Andre opsætningsmenuindgange styrer valgfrie parametre. +SetupDescriptionLink= %s - %s +SetupDescription3b=Grundlæggende parametre, der bruges til at tilpasse standardapparatet for din applikation (f.eks. For landrelaterede funktioner). +SetupDescription4b=Denne software er en pakke med mange moduler/applikationer. Modulerne relateret til dine behov skal være aktiveret og konfigureret. Menuposter vises med aktivering af disse moduler. AuditedSecurityEvents=Sikkerhedshændelser, der revideres NoSecurityEventsAreAduited=Ingen sikkerhedshændelser revideres. Du kan aktivere dem fra menu %s -Audit=Audit +Audit=Sikkerhedsbegivenheder InfoDolibarr=Om Dolibarr InfoBrowser=Om Browser InfoOS=Om OS @@ -1257,7 +1268,7 @@ DownloadMoreSkins=Find flere skind på Dolistore.com SimpleNumRefModelDesc=Returnerer referencenummeret i formatet %syymm-nnnn hvor yy er året, mm er måneden og nnnn er et sekventielt auto-stigende nummer uden nulstilling SimpleNumRefNoDateModelDesc=Returnerer referencenummeret i formatet %s-nnnn hvor nnnn er et sekventielt automatisk stigende nummer uden nulstilling ShowProfIdInAddress=Vis professionelt id med adresser -ShowVATIntaInAddress=Skjul momsregistreringsnummer i Fællesskabet med adresser +ShowVATIntaInAddress=Skjul momsnummer inden for Fællesskabet TranslationUncomplete=Delvis oversættelse MAIN_DISABLE_METEO=Deaktiver meteorologisk visning MeteoStdMod=Standard-tilstand aktiveret @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Tilstanden er i øjeblikket %s YouUseBestDriver=Du bruger driver %s, som er den bedste driver, der for øjeblikket er tilgængelig. YouDoNotUseBestDriver=Du bruger driveren %s, men driveren %s anbefales. NbOfObjectIsLowerThanNoPb=Du har kun %s %s i databasen. Dette kræver ingen særlig optimering. +ComboListOptim=Optimering af kombinationslisteindlæsning SearchOptim=Søg optimering -YouHaveXObjectUseSearchOptim=Du har %s %s i databasen. Du kan tilføje konstanten %s til 1 i Hjem-Setup-Andre. Begræns søgningen til begyndelsen af strenge, som gør det muligt for databasen at bruge indekser, og du skal få et øjeblikkeligt svar. -YouHaveXObjectAndSearchOptimOn=Du har %s %s i databasen, og konstant %s er indstillet til 1 i Home-Setup-Other. +YouHaveXObjectUseComboOptim=Du har %s %s i databasen. Du kan gå ind i opsætningen af modulet for at aktivere indlæsning af kombinationslisten ved en tastetrykket begivenhed. +YouHaveXObjectUseSearchOptim=Du har %s %s i databasen. Du kan tilføje konstanten %s til 1 i Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=Dette begrænser søgningen til begyndelsen af strenge, hvilket gør det muligt for databasen at bruge indekser, og du skal få et øjeblikkeligt svar. +YouHaveXObjectAndSearchOptimOn=Du har %s %s i databasen, og konstant %s er indstillet til %s i Home-Setup-Other. BrowserIsOK=Du bruger browseren %s. Denne browser er ok for sikkerhed og ydeevne. BrowserIsKO=Du bruger browseren %s. Denne browser er kendt for at være et dårligt valg for sikkerhed, ydeevne og pålidelighed. Vi anbefaler at bruge Firefox, Chrome, Opera eller Safari. PHPModuleLoaded=PHP-komponent %s indlæses @@ -1433,6 +1447,7 @@ MemberMainOptions=Standardmuligheder AdherentLoginRequired= Administrere et login for hvert medlem AdherentMailRequired=Email er påkrævet for at oprette et nyt medlem MemberSendInformationByMailByDefault=Checkbox til at sende mail bekræftelse til medlemmerne er slået til som standard +MemberCreateAnExternalUserForSubscriptionValidated=Opret et eksternt brugerlogin for hvert valideret nyt medlemsabonnement VisitorCanChooseItsPaymentMode=Besøgende kan vælge mellem tilgængelige betalingsformer MEMBER_REMINDER_EMAIL=Aktivér automatisk påmindelse via e-mail af udløbne abonnementer. Bemærk: Modul %s skal være aktiveret og korrekt konfigureret til at sende påmindelser. MembersDocModules=Dokumentskabeloner til dokumenter genereret fra medlemsregistrering @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Hvilken visning vil du åbne som standard, når du vælger m AGENDA_REMINDER_BROWSER=Aktivér påmindelse om begivenhed i brugerens browser (Når påmindelsesdato er nået, vises en popup af browseren. Hver bruger kan deaktivere sådanne underretninger fra sin browseropsætning). AGENDA_REMINDER_BROWSER_SOUND=Aktivér lydmeddelelse AGENDA_REMINDER_EMAIL=Aktiver påmindelse om begivenhed via e-mails (påmindelsesmulighed / forsinkelse kan defineres for hver begivenhed). -AGENDA_REMINDER_EMAIL_NOTE=Bemærk: Frekvensen af opgaven %s skal være tilstrækkelig til at være sikker på, at påmindelsen sendes på det rigtige tidspunkt. +AGENDA_REMINDER_EMAIL_NOTE=Bemærk: Hyppigheden af det planlagte job %s skal være tilstrækkelig til at være sikker på, at påmindelsen sendes på det rigtige tidspunkt. AGENDA_SHOW_LINKED_OBJECT=Vis linkede objekter i tidsplanvisning ##### Clicktodial ##### ClickToDialSetup=Opsætning af Klik-for-at-ringe-modulet ClickToDialUrlDesc=Url kaldes, når man klikke på telefon billed. I URL kan du bruge tags
    __ PHONETO __ , der vil blive erstattet med telefonnummeret til den person, der skal ringe
    __ PHONEFROM __ , der vil blive erstattet med telefonnummeret til opkaldet person (din)
    __ LOGIN __ , der vil blive erstattet med clicktodial login (defineret på brugerkort)
    __ PASS __ , der vil blive erstattet med clicktodial adgangskode (defineret på bruger kort). ClickToDialDesc=Dette modul ændrer telefonnumre, når du bruger en stationær computer, til klikbare links. Et klik ringer op til nummeret. Dette kan bruges til at starte telefonopkaldet, når du bruger en blød telefon på skrivebordet eller når du f.eks. Bruger et CTI-system baseret på SIP-protokol. Bemærk: Når du bruger en smartphone, er telefonnumre altid klikbare. ClickToDialUseTelLink=Brug kun et link "tel:" på telefonnumre -ClickToDialUseTelLinkDesc=Brug denne metode, hvis dine brugere har en softphone eller en software-grænseflade installeret på samme computer som browseren, og kaldes, når du klikker på et link i din browser, der starter med "tel:". Hvis du har brug for en fuld serverløsning (uden brug af lokal softwareinstallation), skal du indstille dette til "Nej" og udfylde næste felt. +ClickToDialUseTelLinkDesc=Brug denne metode, hvis dine brugere har en softphone eller en softwaregrænseflade, installeret på den samme computer som browseren og kaldes, når du klikker på et link, der starter med "tel:" i din browser. Hvis du har brug for et link, der starter med "slurk:" eller en fuld serverløsning (ikke behov for lokal softwareinstallation), skal du indstille dette til "Nej" og udfylde det næste felt. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Opsætning af Point of Sales-modul @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Højre margin på PDF MAIN_PDF_MARGIN_TOP=Top margin på PDF MAIN_PDF_MARGIN_BOTTOM=Bundmargen på PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Højde for logo på PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Tilføj billede på forslagslinjen +PROPOSAL_PDF_HIDE_PAYMENTTERM=Skjul betalingsbetingelser +PROPOSAL_PDF_HIDE_PAYMENTMODE=Skjul betalingsmetode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Tilføj elektronisk login i PDF NothingToSetup=Der kræves ingen specifik opsætning for dette modul. SetToYesIfGroupIsComputationOfOtherGroups=Indstil dette til ja, hvis denne gruppe er en beregning af andre grupper EnterCalculationRuleIfPreviousFieldIsYes=Indtast beregningsregel, hvis det forrige felt blev indstillet til Ja.
    For eksempel:
    CODEGRP1 + CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Større end IfTrackingIDFoundEventWillBeLinked=Bemærk, at hvis et sporings-id for et objekt findes i e-mailen, eller hvis e-mailen er et svar fra en e-mail-område, der er indsamlet og linket til et objekt, vil den oprettede begivenhed automatisk blive linket til det kendte relaterede objekt. WithGMailYouCanCreateADedicatedPassword=Hvis du aktiverer valideringen af 2 trin med en GMail konto, anbefales det at oprette en dedikeret anden adgangskode til applikationen i stedet for at bruge dit eget kontos kodeord fra https://myaccount.google.com/. EmailCollectorTargetDir=Det kan være en ønsket opførsel at flytte e-mailen til et andet tag/bibliotek, når den blev behandlet med succes. Angiv blot navnet på kataloget her for at bruge denne funktion (Brug IKKE specialtegn i navnet). Bemærk, at du også skal bruge en læse/skrive logind konto. -EmailCollectorLoadThirdPartyHelp=Du kan bruge denne handling til at bruge e-mail-indholdet til at finde og indlæse en eksisterende tredjepart i din database. Den fundne (eller oprettede) tredjepart bruges til følgende handlinger, der har brug for det. I parameterfeltet kan du bruge f.eks. 'UDTAGELSE: KROPP: Navn: \\ s ([^ \\ s] *)', hvis du vil udpakke navnet på tredjeparten fra en streng 'Navn: navn for at finde' fundet i legeme. +EmailCollectorLoadThirdPartyHelp=Du kan bruge denne handling til at bruge e-mail-indholdet til at finde og indlæse en eksisterende tredjepart i din database. Den fundne (eller oprettede) tredjepart vil blive brugt til at følge handlinger, der har brug for det.
    Hvis du f.eks. vil oprette en tredjepart med et navn, der er ekstraheret en streng 'Name: name to find' fundet i kroppen, skal du bruge afsender-e-mail som e-mail, kan du indstille parameterfeltet således:
    'email = HEADER: ^ Fra: (. *); Navn = UDTRÆK: KROPP: Navn: \\ s ([^ \\ s] *); klient = SET: 2; '
    EndPointFor=Slutpunkt for %s: %s DeleteEmailCollector=Slet e-mail-indsamler ConfirmDeleteEmailCollector=Er du sikker på, at du vil slette denne e-mail-indsamler? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Vis projekt på dokument ShowProjectLabel=Projektmærke PDF_USE_ALSO_LANGUAGE_CODE=Hvis du vil have nogle tekster i din PDF kopieret på 2 forskellige sprog i den samme genererede PDF, skal du indstille her dette andet sprog, så genereret PDF indeholder 2 forskellige sprog på samme side, det, der er valgt, når du genererer PDF og denne ( kun få PDF-skabeloner understøtter dette). Hold tomt i 1 sprog pr. PDF. FafaIconSocialNetworksDesc=Indtast her koden for et FontAwesome-ikon. Hvis du ikke ved, hvad der er FontAwesome, kan du bruge den generiske værdi fa-adressebog. -FeatureNotAvailableWithReceptionModule=Funktion ikke tilgængelig, når modulmodtagelse er aktiveret RssNote=Bemærk: Hver RSS-feed-definition indeholder en widget, som du skal aktivere for at have den tilgængelig i instrumentbrættet\n  JumpToBoxes=Gå til Opsætning -> Widgets MeasuringUnitTypeDesc=Brug her en værdi som "størrelse", "overflade", "volumen", "vægt", "tid" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Kontakt din bank for at få dette ID AdvancedModeOnly=Tilladelse er kun tilgængelig i udvidet tilladelsestilstand ConfFileIsReadableOrWritableByAnyUsers=Conf-filen kan læses eller skrives af alle brugere. Giv kun tilladelse til webserverbrugere og -grupper. MailToSendEventOrganization=Begivenhedsorganisation +MailToPartnership=Partnerskab AGENDA_EVENT_DEFAULT_STATUS=Standardhændelsesstatus, når du opretter en begivenhed fra formularen YouShouldDisablePHPFunctions=Du skal deaktivere PHP-funktioner -IfCLINotRequiredYouShouldDisablePHPFunctions=Bortset fra hvis du har brug for at køre systemkommandoer (for modulet Planlagt job eller for at køre den eksterne kommandolinje for eksempel Anti-virus), skal du deaktivere PHP-funktioner +IfCLINotRequiredYouShouldDisablePHPFunctions=Bortset fra hvis du har brug for at køre systemkommandoer i brugerdefineret kode, skal du deaktivere PHP-funktioner +PHPFunctionsRequiredForCLI=Til shell-formål (som planlagt jobbackup eller kørsel af et anitivurs-program) skal du beholde PHP-funktioner NoWritableFilesFoundIntoRootDir=Ingen skrivbare filer eller mapper til de almindelige programmer blev fundet i din rodkatalog (God) RecommendedValueIs=Anbefalet: %s +Recommended=Anbefalet +NotRecommended=Ikke anbefalet ARestrictedPath=En begrænset sti CheckForModuleUpdate=Se efter opdateringer til eksterne moduler CheckForModuleUpdateHelp=Denne handling opretter forbindelse til redaktører for eksterne moduler for at kontrollere, om en ny version er tilgængelig. ModuleUpdateAvailable=En opdatering er tilgængelig NoExternalModuleWithUpdate=Ingen opdateringer fundet for eksterne moduler SwaggerDescriptionFile=Swagger API beskrivelsesfil (f.eks. Til brug med redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Du aktiverede forældet WS API. Du skal bruge REST API i stedet. +RandomlySelectedIfSeveral=Valgt tilfældigt, hvis der er flere billeder tilgængelige +DatabasePasswordObfuscated=Databaseadgangskode er tilsløret i conf-fil +DatabasePasswordNotObfuscated=Databaseadgangskode er IKKE tilsløret i conf-fil +APIsAreNotEnabled=API-moduler er ikke aktiveret +YouShouldSetThisToOff=Du skal indstille dette til 0 eller fra +InstallAndUpgradeLockedBy=Installer og opgraderinger låses af filen %s +OldImplementation=Gammel implementering diff --git a/htdocs/langs/da_DK/agenda.lang b/htdocs/langs/da_DK/agenda.lang index e9673610b68..0964034b793 100644 --- a/htdocs/langs/da_DK/agenda.lang +++ b/htdocs/langs/da_DK/agenda.lang @@ -4,7 +4,7 @@ Actions=Begivenheder Agenda=Tidsplan TMenuAgenda=Tidsplan Agendas=Tidsplaner -LocalAgenda=Intern kalender +LocalAgenda=Standardkalender ActionsOwnedBy=Begivenhed ejes af ActionsOwnedByShort=Ejer AffectedTo=Tildelt til @@ -20,7 +20,7 @@ MenuToDoActions=Alle udestående MenuDoneActions=Alle gennemførte MenuToDoMyActions=Mine udestående MenuDoneMyActions=Mine gennemførte -ListOfEvents=Oversigt over begivenheder (intern kalender) +ListOfEvents=Liste over begivenheder (standardkalender) ActionsAskedBy=Begivenheder anmodet af ActionsToDoBy=Begivenheder tildelt til ActionsDoneBy=Begivenheder udført af @@ -38,6 +38,7 @@ ActionsEvents=Begivenheder, for hvilke Dolibarr vil skabe en indsats på dagsord EventRemindersByEmailNotEnabled=Hændelsesindkaldelser via e-mail blev ikke aktiveret til %s modulopsætning. ##### Agenda event labels ##### NewCompanyToDolibarr=Tredjepart %s oprettet +COMPANY_MODIFYInDolibarr=Tredjeparts %s ændret COMPANY_DELETEInDolibarr=Tredjepart %s slettet ContractValidatedInDolibarr=Kontrakt %s bekræftet CONTRACT_DELETEInDolibarr=Kontrakt %s slettet @@ -86,8 +87,9 @@ ProposalDeleted=Forslag slettet OrderDeleted=Ordre slettet InvoiceDeleted=Faktura slettet DraftInvoiceDeleted=Udkast til faktura slettet -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_DELETEInDolibarr=Contact %s deleted +CONTACT_CREATEInDolibarr=Kontakt %s oprettet +CONTACT_MODIFYInDolibarr=Kontakt %s ændret +CONTACT_DELETEInDolibarr=Kontakt %s slettet PRODUCT_CREATEInDolibarr=Vare %s oprettet PRODUCT_MODIFYInDolibarr=Vare %s ændret PRODUCT_DELETEInDolibarr=Vare %s slettet @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO indstillet til statusudkast MRP_MO_PRODUCEDInDolibarr=MO produceret MRP_MO_DELETEInDolibarr=MO slettet MRP_MO_CANCELInDolibarr=MO annulleret +PAIDInDolibarr=%s betalt ##### End agenda events ##### AgendaModelModule=Skabeloner for dokument til begivenhed DateActionStart=Startdato @@ -130,7 +133,7 @@ AgendaUrlOptions4= logind = %s for at begrænse uddata til handlinger ti AgendaUrlOptionsProject=projekt = __ PROJECT_ID __ for at begrænse output til handlinger, der er knyttet til projektet __ PROJECT_ID __ . AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto for at udelukke automatiske begivenheder. AgendaUrlOptionsIncludeHolidays=includeholidays=1 for at inkludere helligdagsbegivenheder. -AgendaShowBirthdayEvents=Vis fødselsdage på kontakter +AgendaShowBirthdayEvents=Fødselsdage for kontakter AgendaHideBirthdayEvents=Skjul fødselsdage på kontakter Busy=Travl ExportDataset_event1=Liste over begivenheder @@ -152,6 +155,7 @@ ActionType=Begivenhedstype DateActionBegin=Startdato for begivenhed ConfirmCloneEvent=Er du sikker på, du vil klone begivenheden %s? RepeatEvent=Begivenhed med gentagelse +OnceOnly=kun Én gang EveryWeek=Hver uge EveryMonth=Hver måned DayOfMonth=Dag i måneden @@ -160,9 +164,9 @@ DateStartPlusOne=Dato start + 1 time SetAllEventsToTodo=Indstil alle begivenheder til at gøre SetAllEventsToInProgress=Indstil alle begivenheder til at være i gang SetAllEventsToFinished=Indstil alle begivenheder til færdige -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +ReminderTime=Påmindelsesperiode før begivenheden +TimeType=Varighedstype +ReminderType=Tilbagekaldelsestype +AddReminder=Opret en automatisk påmindelsesmeddelelse om denne begivenhed +ErrorReminderActionCommCreation=Fejl ved oprettelse af påmindelsesmeddelelsen for denne begivenhed +BrowserPush=Browser pop op meddelelse diff --git a/htdocs/langs/da_DK/banks.lang b/htdocs/langs/da_DK/banks.lang index f40da8a80f3..0b9eb1f20bd 100644 --- a/htdocs/langs/da_DK/banks.lang +++ b/htdocs/langs/da_DK/banks.lang @@ -115,7 +115,7 @@ TransferTo=Til TransferFromToDone=En overførsel fra %s til %s af %s %s er blevet optaget. CheckTransmitter=Sender ValidateCheckReceipt=Bekræft denne kvitteringskvittering? -ConfirmValidateCheckReceipt=Er du sikker på, at du vil indsende denne checkkvittering til validering? Ingen ændringer er mulige, det er gjort. +ConfirmValidateCheckReceipt=Er du sikker på, at du vil indsende denne checkkvittering til validering? Ingen ændringer er mulige, når de er valideret. DeleteCheckReceipt=Slet denne kvittering for kvittering? ConfirmDeleteCheckReceipt=Er du sikker på, at du vil slette denne kvittering for kvittering? BankChecks=Bankcheck diff --git a/htdocs/langs/da_DK/bills.lang b/htdocs/langs/da_DK/bills.lang index e872d359fb4..2bfafeffe86 100644 --- a/htdocs/langs/da_DK/bills.lang +++ b/htdocs/langs/da_DK/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Betaling forfalder den DateInvoice=Fakturadato DatePointOfTax=Momsbetaling NoInvoice=Ingen faktura +NoOpenInvoice=Ingen åben faktura ClassifyBill=Klassificere faktura SupplierBillsToPay=Ubetalte leverandørfakturaer CustomerBillsUnpaid=Ubetalte kundefakturaer @@ -589,3 +590,4 @@ FacParentLine=Faktura Line Parent SituationTotalRayToRest=Resten til at betale uden skat PDFSituationTitle=Situation nr. %d SituationTotalProgress=Samlet fremskridt %d %% +SearchUnpaidInvoicesWithDueDate=Søg efter ubetalte fakturaer med en forfaldsdato = %s diff --git a/htdocs/langs/da_DK/boxes.lang b/htdocs/langs/da_DK/boxes.lang index 7d3af76778e..d8e1da69fce 100644 --- a/htdocs/langs/da_DK/boxes.lang +++ b/htdocs/langs/da_DK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Leverandør Ordrer: senest %s ændret BoxTitleLastModifiedCustomerBills=Kundefakturaer: sidst %s ændret BoxTitleLastModifiedCustomerOrders=Salgsordrer: sidst %s ændret BoxTitleLastModifiedPropals=Seneste %s tilrettede tilbud -BoxTitleLatestModifiedJobPositions=Seneste %s ændrede job -BoxTitleLatestModifiedCandidatures=Seneste %s ændrede kandidaturer +BoxTitleLatestModifiedJobPositions=Seneste %s ændrede jobstillinger +BoxTitleLatestModifiedCandidatures=Seneste %s ændrede jobansøgninger ForCustomersInvoices=Kundernes fakturaer ForCustomersOrders=Customers orders ForProposals=Tilbud diff --git a/htdocs/langs/da_DK/cashdesk.lang b/htdocs/langs/da_DK/cashdesk.lang index b98662769f3..73d602350e5 100644 --- a/htdocs/langs/da_DK/cashdesk.lang +++ b/htdocs/langs/da_DK/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag bruges til at tilføje terminal TakeposGroupSameProduct=Grupper sammen produktlinjer StartAParallelSale=Start et nyt parallelt salg SaleStartedAt=Salget startede den %s -ControlCashOpening=Kontroller kontant beholdning ved åbning af POS +ControlCashOpening=Åbn popup-menuen "Kontroller kontanter", når du åbner POS CloseCashFence=Luk kontrol af kasseapparatet CashReport=Kontantrapport MainPrinterToUse=Fortrukket printer til brug @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Modul kvitterings printer skal først være ak AllowDelayedPayment=Tillad forsinket betaling PrintPaymentMethodOnReceipts=Udskriv betalingsmetode på billetter | kvitteringer WeighingScale=Vægt skala -ShowPriceHT = Vis prisen ekskl. Moms kolonne -ShowPriceHTOnReceipt = Vis prisen ekskl. Moms kolonne ved modtagelse +ShowPriceHT = Vis kolonnen med prisen ekskl. Moms (på skærmen) +ShowPriceHTOnReceipt = Vis kolonnen med prisen ekskl. Moms (på kvitteringen) +CustomerDisplay=Kundevisning diff --git a/htdocs/langs/da_DK/compta.lang b/htdocs/langs/da_DK/compta.lang index 7081be57c87..2ee8df8a17f 100644 --- a/htdocs/langs/da_DK/compta.lang +++ b/htdocs/langs/da_DK/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Faktureret køb af omsætning ReportPurchaseTurnoverCollected=Køb af omsætning samlet IncludeVarpaysInResults = Medtag forskellige betalinger i rapporter IncludeLoansInResults = Inkluder lån i rapporter +InvoiceLate30Days = Fakturaer sent> 30 dage +InvoiceLate15Days = Fakturaer sent> 15 dage +InvoiceLateMinus15Days = Fakturaer sent +InvoiceNotLate = Samles <15 dage +InvoiceNotLate15Days = Samles om 15 dage +InvoiceNotLate30Days = Samles inden for 30 dage diff --git a/htdocs/langs/da_DK/cron.lang b/htdocs/langs/da_DK/cron.lang index ed3fbc88478..2be612cb99e 100644 --- a/htdocs/langs/da_DK/cron.lang +++ b/htdocs/langs/da_DK/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status ved modul installation CronStatusActiveBtn=Tidsplan CronStatusInactiveBtn=Deaktivere -CronTaskInactive=This job is disabled +CronTaskInactive=Dette job er deaktiveret (ikke planlagt) CronId=Id CronClassFile=Filename with class CronModuleHelp=Navn på Dolibarr modul bibliotek (også arbejde med ekstern Dolibarr modul).
    For eksempel for at kalde hentningsmetoden for Dolibarr Product-objektet /htdocs/product/class/product.class.php, er værdien for modulet produkt diff --git a/htdocs/langs/da_DK/deliveries.lang b/htdocs/langs/da_DK/deliveries.lang index d4ea903643c..f5bb5bc9ae1 100644 --- a/htdocs/langs/da_DK/deliveries.lang +++ b/htdocs/langs/da_DK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Modtager ErrorStockIsNotEnough=Der er ikke nok lager Shippable=Fragtvarer NonShippable=Kan ikke sendes +ShowShippableStatus=Vis status, der kan sendes ShowReceiving=Vis leverings kvittering NonExistentOrder=ikke-eksisterende ordre +StockQuantitiesAlreadyAllocatedOnPreviousLines = Lagermængder, der allerede er tildelt på tidligere linjer diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index f11082e0071..569d011f5fd 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s findes allerede. ErrorLoginAlreadyExists=Log ind %s eksisterer allerede. ErrorGroupAlreadyExists=Gruppe %s eksisterer allerede. +ErrorEmailAlreadyExists=E-mail %s findes allerede. ErrorRecordNotFound=Optag ikke fundet. ErrorFailToCopyFile=Kunne ikke kopiere filen "%s" til "%s". ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Kunne ikke læse filen ' %s' ErrorCantReadDir=Kunne ikke læse directory ' %s' ErrorBadLoginPassword=Bad værdi for brugernavn eller password ErrorLoginDisabled=Din konto er blevet deaktiveret -ErrorFailedToRunExternalCommand=Det lykkedes ikke at køre eksterne kommando. Check den er tilgængelig og runnable af din PHP server. Hvis PHP Safe Mode er aktiveret, skal du kontrollere, at kommandoen er inde i en mappe defineret ved parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Kunne ikke køre ekstern kommando. Kontroller, at den er tilgængelig og kan køres af din PHP-serverbruger. Kontroller også, at kommandoen ikke er beskyttet på shell-niveau af et sikkerhedslag som apparmor. ErrorFailedToChangePassword=Det lykkedes ikke at ændre password ErrorLoginDoesNotExists=Bruger med login %s kunne ikke findes. ErrorLoginHasNoEmail=Denne bruger har ingen e-mail-adresse. Processen afbrydes. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Fejl, datoen kan ikke være i fremtiden ErrorAnAmountWithoutTaxIsRequired=Fejl, beløb er obligatorisk ErrorAPercentIsRequired=Fejl, udfyld venligst procentdelen korrekt ErrorYouMustFirstSetupYourChartOfAccount=Du skal først konfigurere din kontoplan +ErrorFailedToFindEmailTemplate=Kunne ikke finde skabelon med kodenavn %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Varighed er ikke defineret i tjenesten. Ingen måde at beregne timeprisen på. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Din PHP-parameter upload_max_filesize (%s) er højere end PHP-parameter post_max_size (%s). Dette er ikke en ensartet opsætning. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Modul %s er ikke aktiveret. Så du g ErrorActionCommPropertyUserowneridNotDefined=Brugerens ejer kræves ErrorActionCommBadType=Den valgte hændelsestype (id: %n, kode: %s) findes ikke i begivenhedstypeordbogen CheckVersionFail=Versionskontrol mislykkedes +ErrorWrongFileName=Filens navn kan ikke indeholde __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Ikke i ordbogen om betalingsbetingelser, bedes du ændre. diff --git a/htdocs/langs/da_DK/eventorganization.lang b/htdocs/langs/da_DK/eventorganization.lang index 6ff7187c82a..ae193c48024 100644 --- a/htdocs/langs/da_DK/eventorganization.lang +++ b/htdocs/langs/da_DK/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Abonnementspris for at stå en kabine EventOrganizationICSLink=Link ICS til begivenheder ConferenceOrBoothInformation=Oplysninger om konference eller stand Attendees = Deltagere +DownloadICSLink = Download ICS-link EVENTORGANIZATION_SECUREKEY = Sikker nøgle til linket til offentlig registrering til en konference +SERVICE_BOOTH_LOCATION = Service, der bruges til fakturarække om en standplacering +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service, der bruges til fakturarække om et deltagerabonnement på en konference +NbVotes=Antal stemmer # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Annulleret # # Public page # +SuggestForm = Forslagsside +RegisterPage = Side til konferencer eller stand +EvntOrgRegistrationHelpMessage = Her kan du stemme på et arrangement eller foreslå en ny konference eller stand til projektet +EvntOrgRegistrationConfHelpMessage = Her kan du foreslå en ny konference til projektet +EvntOrgRegistrationBoothHelpMessage = Her kan du foreslå en ny stand til projektet +ListOfSuggestedConferences = Liste over foreslåede konferencer +ListOfSuggestedBooths = Liste over foreslåede stand +SuggestConference = Foreslå en ny konference +SuggestBooth = Foreslå en kabine +ViewAndVote = Se og stem på foreslåede begivenheder PublicAttendeeSubscriptionPage = Offentlig link til registrering til en konference MissingOrBadSecureKey = Sikkerhedsnøglen er ugyldig eller mangler -EvntOrgWelcomeMessage = Denne formular giver dig mulighed for at registrere dig som en ny deltager i konferencen -EvntOrgStartDuration = Denne konference starter den -EvntOrgEndDuration = og slutter på +EvntOrgWelcomeMessage = Denne formular giver dig mulighed for at registrere dig som en ny deltager til konferencen: '%s' +EvntOrgDuration = Denne konference starter på %s og slutter på %s. +ConferenceAttendeeFee = Konferencedeltagergebyr for begivenheden: '%s', der forekommer fra %s til %s. +BoothLocationFee = Standplacering for begivenheden: '%s' der forekommer fra %s til %s +EventType = Begivenhedstype +LabelOfBooth=Båsetiket +LabelOfconference=Konference label +ConferenceIsNotConfirmed=Abonnement ikke tilgængeligt, konference er endnu ikke bekræftet +DateMustBeBeforeThan=%s skal være før %s +DateMustBeAfterThan=%s skal være efter %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Velkommen til konferencesiden eller messesiden. +EvntOrgRegistrationConfWelcomeMessage = Velkommen til konferencesiden. +EvntOrgRegistrationBoothWelcomeMessage = Velkommen til siden med forslag til stand. +EvntOrgVoteHelpMessage = Her kan du se og stemme på de foreslåede begivenheder for projektet +VoteOk = Din stemme er blevet accepteret. +AlreadyVoted = Du har allerede stemt på denne begivenhed. +VoteError = Der opstod en fejl under afstemningen. Prøv igen. + +# +# SubscriptionOk page +# +SubscriptionOk = Dit abonnement på denne konference er valideret +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Bekræftelse af dit abonnement på en konference +# +# Payment page +# +Attendee = Deltager +PaymentConferenceAttendee = Konference deltager betaling +PaymentBoothLocation = Betaling af standplacering diff --git a/htdocs/langs/da_DK/exports.lang b/htdocs/langs/da_DK/exports.lang index 3b1b4072def..374aad967a5 100644 --- a/htdocs/langs/da_DK/exports.lang +++ b/htdocs/langs/da_DK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Strækningstype (0= produkt, 1= tjeneste) FileWithDataToImport=Fil med data til at importere FileToImport=Kildefilen til at importere FileMustHaveOneOfFollowingFormat=Fil, der skal importeres, skal have et af følgende formater -DownloadEmptyExample=Download skabelonfil med feltindholdsinformation (* er obligatoriske felter) +DownloadEmptyExample=Download skabelonfil med feltindholdsoplysninger +StarAreMandatory=* er obligatoriske felter ChooseFormatOfFileToImport=Vælg det filformat, der skal bruges som importfilformat, ved at klikke på ikonet %s for at vælge det ... ChooseFileToImport=Upload fil og klik derefter på ikonet %s for at vælge fil som kilde importfil ... SourceFileFormat=Kilde filformat diff --git a/htdocs/langs/da_DK/holiday.lang b/htdocs/langs/da_DK/holiday.lang index 644e44ffa7e..e8aa6f8161e 100644 --- a/htdocs/langs/da_DK/holiday.lang +++ b/htdocs/langs/da_DK/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Godkendt CancelCP=Aflyst RefuseCP=Afviste -ValidatorCP=Approbator +ValidatorCP=Godkender ListeCP=Liste over orlov Leave=Leave request LeaveId=Forlad ID @@ -39,10 +39,10 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type orlov ID TypeOfLeaveCode=Type orlovskode TypeOfLeaveLabel=Orlovsetikettype -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=Beregningen tager hensyn til den ikke arbejdsdage og helligdage, der er defineret i ordbogen. -NbUseDaysCPShort=Dage forbrugt -NbUseDaysCPShortInMonth=Dage indtages i måneden +NbUseDaysCP=Antal brugte orlovsdage +NbUseDaysCPHelp=Beregningen tager højde for ikke-arbejdsdage og helligdage defineret i ordbogen. +NbUseDaysCPShort=Feriedage +NbUseDaysCPShortInMonth=Feriedage i måned DayIsANonWorkingDay=%s er en ikke-arbejdsdag DateStartInMonth=Startdato i måned DateEndInMonth=Slutdato i måned @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=Du skal vælge godkenderen til din orlovsanmodning. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Bruger ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log over alle opdateringer til "Status af Feriedage" +ActionByCP=Opdateret af +UserUpdateCP=Opdateret til PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Begyndelsesdag for orlovsanmodning +LastDayOfHoliday=Afslutningsdag for orlovsanmodning BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sygeorlov LEAVE_OTHER=Anden orlov LEAVE_PAID_FR=Betalt ferie ## Configuration du Module ## -LastUpdateCP=Seneste automatiske opdatering af orlovallokering -MonthOfLastMonthlyUpdate=Måned for seneste automatiske opdatering af tilladelse til orlov +LastUpdateCP=Sidste automatiske opdatering af orlovstildeling +MonthOfLastMonthlyUpdate=Måned med sidste automatiske opdatering af orlovstildeling UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Gå ind i Hjem - Opsætning - Ordbøger - Typen af ​​orlov for at opsætte de forskellige typer blade. -HolidaySetup=Opsætning af modul Ferie -HolidaysNumberingModules=Efterlad anmodning om nummerering af modeller +HolidaySetup=Opsætning af modul Forlad +HolidaysNumberingModules=Nummereringsmodeller til orlovsanmodninger TemplatePDFHolidays=Skabelon til Ferie anmodninger PDF FreeLegalTextOnHolidays=Fri tekst på PDF WatermarkOnDraftHolidayCards=Vandmærker på udkast ferie anmodninger HolidaysToApprove=Ferie til at godkende NobodyHasPermissionToValidateHolidays=Ingen har tilladelse til at validere helligdage +HolidayBalanceMonthlyUpdate=Månedlig opdatering af feriesaldo +XIsAUsualNonWorkingDay=%s er sædvanligvis en IKKE arbejdsdag diff --git a/htdocs/langs/da_DK/hrm.lang b/htdocs/langs/da_DK/hrm.lang index 123e22908c8..22d7110d8ac 100644 --- a/htdocs/langs/da_DK/hrm.lang +++ b/htdocs/langs/da_DK/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Er du sikker på, at du ønsker at slette denne virks OpenEtablishment=Åbent oprettelse CloseEtablishment=Luk etablissement # Dictionary -DictionaryPublicHolidays=HRM - helligdage +DictionaryPublicHolidays=Forlad - Offentlig Helligdage DictionaryDepartment=HRM - Afdelingsliste DictionaryFunction=HRM - Job stillinger # Module diff --git a/htdocs/langs/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index 202e7f17fc7..3215d065d2f 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration af foto stier til brugere MigrationFieldsSocialNetworks=Migration af brugerfelter sociale netværk (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Nulstil modul BlockedLog for v7 algoritme +MigrationImportOrExportProfiles=Migrering af import- eller eksportprofiler (%s) ShowNotAvailableOptions=Vis utilgængelige muligheder HideNotAvailableOptions=Skjul utilgængelige muligheder ErrorFoundDuringMigration=Fejl (er) blev rapporteret under migrationsprocessen, så næste trin er ikke tilgængeligt. For at ignorere fejl kan du klikke her , men programmet eller nogle funktioner fungerer muligvis ikke korrekt, før fejlene er løst. diff --git a/htdocs/langs/da_DK/interventions.lang b/htdocs/langs/da_DK/interventions.lang index af56ebe197c..7e56e3c5bcb 100644 --- a/htdocs/langs/da_DK/interventions.lang +++ b/htdocs/langs/da_DK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Linje varighed indgreb InterLineDesc=Line beskrivelse af ingreb RepeatableIntervention=Skabelon for intervention ToCreateAPredefinedIntervention=For at oprette en foruddefineret eller tilbagevendende intervention skal du oprette en fælles intervention og konvertere den til interventionsskabelon +ConfirmReopenIntervention=Er du sikker på, at du vil åbne interventionen %s ? +GenerateInter=Generer intervention diff --git a/htdocs/langs/da_DK/knowledgemanagement.lang b/htdocs/langs/da_DK/knowledgemanagement.lang index 418c89381ce..b3035583a95 100644 --- a/htdocs/langs/da_DK/knowledgemanagement.lang +++ b/htdocs/langs/da_DK/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Om KnowledgeManagementAbout = Om Knowledge Management KnowledgeManagementAboutPage = Videnstyring om side -# -# Sample page -# KnowledgeManagementArea = Videnshåndtering - - -# -# Menu -# MenuKnowledgeRecord = Videnbase -ListOfArticles = Liste over artikler +ListKnowledgeRecord = Liste over artikler NewKnowledgeRecord = Ny artikel ValidateReply = Valider løsning KnowledgeRecords = Artikler KnowledgeRecord = Artikel KnowledgeRecordExtraFields = Ekstra felter til artikel +GroupOfTicket=Gruppe af billetter +YouCanLinkArticleToATicketCategory=Du kan linke en artikel til en billetgruppe (så artiklen vil blive foreslået under kvalificeringen af nye billetter) diff --git a/htdocs/langs/da_DK/languages.lang b/htdocs/langs/da_DK/languages.lang index e0b80a8963a..baf0f53dfec 100644 --- a/htdocs/langs/da_DK/languages.lang +++ b/htdocs/langs/da_DK/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=etiopiske Language_ar_AR=Arabisk Language_ar_EG=Arabisk (Egypten) +Language_ar_MA=Arabisk (Marokko) Language_ar_SA=Arabisk +Language_ar_TN=Arabisk (Tunesien) +Language_ar_IQ=Arabisk (Irak) Language_az_AZ=Aserbajdsjansk Language_bn_BD=Bengali Language_bn_IN=Bengali (Indien) @@ -82,8 +85,10 @@ Language_ne_NP=nepalesisk Language_nl_BE=Hollandsk (Belgien) Language_nl_NL=Hollandske Language_pl_PL=Polsk +Language_pt_AO=Portugisisk (Angola) Language_pt_BR=Portugisisk (Brasilien) Language_pt_PT=Portugisisk +Language_ro_MD=Rumænsk (Moldavien) Language_ro_RO=Rumænsk Language_ru_RU=Russisk Language_ru_UA=Russisk (Ukraine) diff --git a/htdocs/langs/da_DK/mails.lang b/htdocs/langs/da_DK/mails.lang index 3832bf3c5fd..42cc6f745a7 100644 --- a/htdocs/langs/da_DK/mails.lang +++ b/htdocs/langs/da_DK/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=Ingen kategori fundet knyttet til nogle kontakter/adresser +NoContactLinkedToThirdpartieWithCategoryFound=Ingen kategori fundet knyttet til nogle tredjeparter OutGoingEmailSetup=Udgående e-mails InGoingEmailSetup=Indgående e-mails OutGoingEmailSetupForEmailing=Udgående e-mails (for modul %s) diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 1413f52e528..4a95de86074 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Tillægscent VATRate=Momssats +RateOfTaxN=Skattesats %s VATCode=Moms kode VATNPR=Moms NPR DefaultTaxRate=Standards Moms sats @@ -729,6 +730,7 @@ MenuMembers=Medlemmer MenuAgendaGoogle=Google dagsorden MenuTaxesAndSpecialExpenses=Skatter | Særlige udgifter ThisLimitIsDefinedInSetup=Dolibarr grænse (Menu hjemme-setup-sikkerhed): %s Kb, PHP grænse: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr-begrænnings (Menu %s): %s Kb, PHP-grænse (Param %s): %s Kb NoFileFound=Ingen dokumenter uploadet CurrentUserLanguage=Valgt sprog CurrentTheme=Nuværende tema @@ -1072,6 +1074,7 @@ ValidFrom=Gældende fra ValidUntil=Gyldig indtil NoRecordedUsers=Ingen brugere ToClose=At lukke +ToRefuse=At nægte ToProcess=At behandle ToApprove=At godkende GlobalOpenedElemView=Globalt overblik @@ -1126,9 +1129,23 @@ UpdateForAllLines=Opdatering til alle linjer OnHold=I venteposition Civility=Høflighed AffectTag=Påvirke tags +CreateExternalUser=Opret ekstern bruger ConfirmAffectTag=Bulk Tags påvirker ConfirmAffectTagQuestion=Er du sikker på, at du vil påvirke tags til den %s valgte post (er)? CategTypeNotFound=Ingen tag-type fundet for typen af poster CopiedToClipboard=Kopieret til udklipsholderen InformationOnLinkToContract=Dette beløb er kun summen af alle linjer i kontrakten. Der tages ikke hensyn til tid. ConfirmCancel=Er du sikker på at du vil annullere +EmailMsgID=E-mail MsgID +SetToEnabled=Indstil til aktiveret +SetToDisabled=Indstillet til deaktiveret +ConfirmMassEnabling=masse muliggør bekræftelse +ConfirmMassEnablingQuestion=Er du sikker på, at du vil aktivere den / de valgte %s valgte poster? +ConfirmMassDisabling=masse deaktiverende bekræftelse +ConfirmMassDisablingQuestion=Er du sikker på, at du vil deaktivere den / de valgte %s valgte poster? +RecordsEnabled=%s post (er) aktiveret +RecordsDisabled=%s post (er) deaktiveret +RecordEnabled=Optagelse aktiveret +RecordDisabled=Optagelse fra valgt +Forthcoming=Kommende +Currently=I øjeblikket diff --git a/htdocs/langs/da_DK/members.lang b/htdocs/langs/da_DK/members.lang index 219ed492d1c..b2b8dbdf751 100644 --- a/htdocs/langs/da_DK/members.lang +++ b/htdocs/langs/da_DK/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send påmindelse via e-mail til medlemmer, n MembershipPaid=Medlemskab betalt for indeværende periode (indtil %s) YouMayFindYourInvoiceInThisEmail=Du kan muligvis finde din faktura knyttet til denne e-mail XMembersClosed=%s medlem(er) låst +XExternalUserCreated=%s oprettet ekstern(e) bruger(e) +ForceMemberNature=Tving medlemmernes natur (enkeltperson eller selskab) diff --git a/htdocs/langs/da_DK/modulebuilder.lang b/htdocs/langs/da_DK/modulebuilder.lang index 71377d17d5f..b22de684c63 100644 --- a/htdocs/langs/da_DK/modulebuilder.lang +++ b/htdocs/langs/da_DK/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii til HTML-konverter AsciiToPdfConverter=Ascii til PDF konverter TableNotEmptyDropCanceled=Tabellen er ikke tom. Drop er annulleret. ModuleBuilderNotAllowed=Modulbyggeren er tilgængelig, men ikke tilladt for din bruger. +ImportExportProfiles=Import og eksport af profiler diff --git a/htdocs/langs/da_DK/mrp.lang b/htdocs/langs/da_DK/mrp.lang index 22f0fc4aa08..c2deac5096e 100644 --- a/htdocs/langs/da_DK/mrp.lang +++ b/htdocs/langs/da_DK/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Stofregninger LatestBOMModified=Seneste %s Regninger med materialer ændret LatestMOModified=Seneste %s Produktionsordrer ændret Bom=Stofregninger -BillOfMaterials=Materiale regning +BillOfMaterials=regning på Stykliste BOMsSetup=Opsætning af modul BOM ListOfBOMs=Liste over regninger med materiale - BOM ListOfManufacturingOrders=Liste over produktionsordrer -NewBOM=Ny regning med materiale -ProductBOMHelp=Produkt, der skal oprettes med denne BOM.
    Bemærk: Produkter med egenskaben 'Produktets art' = 'Råmateriale' er ikke synlige på denne liste. +NewBOM=Ny regning på stykliste +ProductBOMHelp=Produkt, der skal oprettes (eller skilles ad) med denne stykliste.
    Bemærk: Produkter med egenskaben 'Produktets art' = 'Råmateriale' er ikke synlige på denne liste. BOMsNumberingModules=BOM-nummereringsskabeloner BOMsModelModule=BOM-dokumentskabeloner MOsNumberingModules=MO-nummereringsskabeloner @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Gratis tekst på dokument fra BOM WatermarkOnDraftBOMs=Vandmærke ved udkast til BOM FreeLegalTextOnMOs=Gratis tekst på MO's dokument WatermarkOnDraftMOs=Vandmærke ved udkast til MO -ConfirmCloneBillOfMaterials=Er du sikker på, at du vil klone regningen med materiale %s? +ConfirmCloneBillOfMaterials=Er du sikker på, at du vil klone styklisten %s? ConfirmCloneMo=Er du sikker på, at du vil klone produktionsordren %s? ManufacturingEfficiency=Fremstillingseffektivitet ConsumptionEfficiency=Forbrugseffektivitet @@ -30,8 +30,8 @@ ValueOfMeansLoss=Værdi på 0,95 betyder et gennemsnit på 5%% tab under produkt ValueOfMeansLossForProductProduced=Værdi på 0,95 betyder et gennemsnit på 5%% tab af produceret produkt DeleteBillOfMaterials=Slet regning af materialer DeleteMo=Slet produktionsordre -ConfirmDeleteBillOfMaterials=Er du sikker på, at du vil slette denne Bill of Material? -ConfirmDeleteMo=Er du sikker på, at du vil slette denne Bill of Material? +ConfirmDeleteBillOfMaterials=Er du sikker på, at du vil slette denne stykliste? +ConfirmDeleteMo=Er du sikker på, at du vil slette denne stykliste? MenuMRP=Fremstillingsordrer NewMO=Ny fremstillingsordre QtyToProduce=Antal at fremstille @@ -39,7 +39,7 @@ DateStartPlannedMo=Dato start planlagt DateEndPlannedMo=Dato slutning planlagt KeepEmptyForAsap=Tom betyder 'Så snart som muligt' EstimatedDuration=Estimeret varighed -EstimatedDurationDesc=Anslået varighed til fremstilling af dette produkt ved hjælp af denne BOM +EstimatedDurationDesc=Anslået varighed for at fremstille (eller adskille) dette produkt ved hjælp af denne stykliste ConfirmValidateBom=Er du sikker på, at du vil validere BOM med referencen %s (du vil være i stand til at bruge den til at oprette nye produktionsordrer) ConfirmCloseBom=Er du sikker på, at du vil annullere denne BOM (du vil ikke være i stand til at bruge den til at oprette nye produktionsordrer mere)? ConfirmReopenBom=Er du sikker på, at du vil åbne denne BOM igen (du vil kunne bruge den til at oprette nye produktionsordrer) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Forbruge og fremstille alt Manufactured=fremstillet TheProductXIsAlreadyTheProductToProduce=Produktet, der skal tilføjes, er allerede det produkt, der skal produceres. ForAQuantityOf=For en mængde til at fremstille af%s +ForAQuantityToConsumeOf=For en mængde at adskille af %s ConfirmValidateMo=Er du sikker på, at du vil validere denne produktionsordre? ConfirmProductionDesc=Ved at klikke på '%s', validerer du forbrug og / eller produktion for de angivne mængder. Dette vil også opdatere lagerbeholdningen og registrere bestandsbevægelser. ProductionForRef=Produktion af %s AutoCloseMO=Luk automatisk fabrikationsordren, hvis der er nået mængder, der skal forbruges og produceres NoStockChangeOnServices=Ingen lagerændring på tjenester ProductQtyToConsumeByMO=Produktmængde, der stadig skal forbruges af åben MO -ProductQtyToProduceByMO=Produktmængde, der stadig skal produceres af åben MO +ProductQtyToProduceByMO=Produktmængde, der stadig produceres af åben MO AddNewConsumeLines=Tilføj ny linje til at forbruge ProductsToConsume=Produkter til at forbruge ProductsToProduce=Produkter til at producere @@ -83,15 +84,13 @@ Workstations=Arbejdsstationer WorkstationsDescription=Arbejdsstationsadministration WorkstationSetup = Opsætning af arbejdsstationer WorkstationSetupPage = Opsætningsside for arbejdsstationer -WorkstationAbout = Om arbejdsstation -WorkstationAboutPage = Arbejdsstationer om side WorkstationList=Arbejdsstationsliste WorkstationCreate=Tilføj ny arbejdsstation ConfirmEnableWorkstation=Er du sikker på, at du vil aktivere arbejdsstation %s ? EnableAWorkstation=Aktivér en arbejdsstation ConfirmDisableWorkstation=Er du sikker på, at du vil deaktivere arbejdsstationen %s ? DisableAWorkstation=Deaktiver en arbejdsstation -DeleteWorkstation=Fjerne +DeleteWorkstation=Slet NbOperatorsRequired=Antal krævede operatører THMOperatorEstimated=Anslået operatør THM THMMachineEstimated=Anslået maskine THM diff --git a/htdocs/langs/da_DK/orders.lang b/htdocs/langs/da_DK/orders.lang index cfef002cb41..6b66b2342a5 100644 --- a/htdocs/langs/da_DK/orders.lang +++ b/htdocs/langs/da_DK/orders.lang @@ -11,6 +11,7 @@ OrderDate=Ordredato OrderDateShort=Bestil dato OrderToProcess=Ordre at behandle NewOrder=Ny ordre +NewSupplierOrderShort=Ny ordre NewOrderSupplier=Ny indkøbsordre ToOrder=Lav ordre MakeOrder=Lav ordre @@ -73,6 +74,7 @@ DeleteOrder=Slet orden CancelOrder=Annuller ordre OrderReopened= Bestil %s genåbne AddOrder=Opret ordre +AddSupplierOrderShort=Opret ordre AddPurchaseOrder=Opret indkøbsordre AddToDraftOrders=Tilføj til udkast til ordre ShowOrder=Vis for diff --git a/htdocs/langs/da_DK/other.lang b/htdocs/langs/da_DK/other.lang index c13324952c4..d7fb0c3fcae 100644 --- a/htdocs/langs/da_DK/other.lang +++ b/htdocs/langs/da_DK/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Bruger login som lukket FileWasRemoved=Fil blev slettet DirWasRemoved=Directory blev fjernet FeatureNotYetAvailable=Funktionen er endnu ikke tilgængelig i den aktuelle version +FeatureNotAvailableOnDevicesWithoutMouse=Funktionen er ikke tilgængelig på enheder uden mus FeaturesSupported=Understøttede funktioner Width=Bredde Height=Højde @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontakt / adresse skabt via e-mail indsamler fra ProjectCreatedByEmailCollector=Projekt skabt via e-mail indsamler fra mail MSGID %s TicketCreatedByEmailCollector=Billet skabt via e-mail indsamler fra mail MSGID %s OpeningHoursFormatDesc=Brug et - til separat åbning og lukning timer.
    brug en mellemrum"Space" til at indtaste forskellige område.
    Eksempel: 8-12 14-18 -PrefixSession=Præfiks til session-id +SuffixSessionName=Suffiks til sessionens navn ##### Export ##### ExportsArea=Eksport område @@ -290,3 +291,7 @@ PopuCom=Produkter/tjenester efter popularitet i ordrer ProductStatistics=Produkter / services statistik NbOfQtyInOrders=Antal i ordrer SelectTheTypeOfObjectToAnalyze=Vælg et objekt for at se dets statistik ... + +ConfirmBtnCommonContent = Er du sikker på, at du vil "%s"? +ConfirmBtnCommonTitle = Bekræft din handling +CloseDialog = Luk diff --git a/htdocs/langs/da_DK/partnership.lang b/htdocs/langs/da_DK/partnership.lang index 89c2f36d572..13f1309464d 100644 --- a/htdocs/langs/da_DK/partnership.lang +++ b/htdocs/langs/da_DK/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnerskabsledelse -PartnershipDescription = Ledelse af modulpartnerskab +ModulePartnershipName=Partnerskabsledelse +PartnershipDescription=Ledelse af modulpartnerskab PartnershipDescriptionLong= Ledelse af modulpartnerskab +AddPartnership=Tilføj partnerskab +CancelPartnershipForExpiredMembers=Partnerskab: Annuller partnerskab med medlemmer med udløbne abonnementer +PartnershipCheckBacklink=Partnerskab: Tjek henvisende backlink + # # Menu # -NewPartnership = Nyt partnerskab -ListOfPartnerships = Liste over partnerskab +NewPartnership=Nyt partnerskab +ListOfPartnerships=Liste over partnerskab # # Admin page # -PartnershipSetup = Partnerskabsopsætning -PartnershipAbout = Om partnerskab -PartnershipAboutPage = Partnerskab om side - +PartnershipSetup=Partnerskabsopsætning +PartnershipAbout=Om partnerskab +PartnershipAboutPage=Partnerskab om side +partnershipforthirdpartyormember=Partnerstatus skal indstilles på en 'tredjepart' eller et 'medlem' +PARTNERSHIP_IS_MANAGED_FOR=Partnerskab administreret for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks til kontrol +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Antal dage før annullering af status for et partnerskab, når et abonnement er udløbet +ReferingWebsiteCheck=Kontrol af webstedets henvisning +ReferingWebsiteCheckDesc=Du kan aktivere en funktion til at kontrollere, at dine partnere har tilføjet et backlink til dine webstedsdomæner på deres eget websted. # # Object # +DeletePartnership=Slet et partnerskab +PartnershipDedicatedToThisThirdParty=Partnerskab dedikeret til denne tredjepart +PartnershipDedicatedToThisMember=Partnerskab dedikeret til dette medlem DatePartnershipStart=Startdato DatePartnershipEnd=Slutdato +ReasonDecline=Afvis grund +ReasonDeclineOrCancel=Afvis grund +PartnershipAlreadyExist=Partnerskab eksisterer allerede +ManagePartnership=Administrer partnerskab +BacklinkNotFoundOnPartnerWebsite=Backlink ikke fundet på partnerwebstedet +ConfirmClosePartnershipAsk=Er du sikker på, at du vil annullere dette partnerskab? +PartnershipType=Partnerskabstype # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerskabet vil snart blive annulleret +SendingEmailOnPartnershipRefused=Partnerskab afvist +SendingEmailOnPartnershipAccepted=Partnerskab accepteret +SendingEmailOnPartnershipCanceled=Partnerskab annulleret +YourPartnershipWillSoonBeCanceledTopic=Partnerskabet vil snart blive annulleret +YourPartnershipRefusedTopic=Partnerskab afvist +YourPartnershipAcceptedTopic=Partnerskab accepteret +YourPartnershipCanceledTopic=Partnerskab annulleret + +YourPartnershipWillSoonBeCanceledContent=Vi informerer dig om, at dit partnerskab snart vil blive annulleret (Backlink ikke fundet) +YourPartnershipRefusedContent=Vi informerer dig om, at din partnerskabsanmodning er blevet afvist. +YourPartnershipAcceptedContent=Vi informerer dig om, at din partnerskabsanmodning er accepteret. +YourPartnershipCanceledContent=Vi informerer dig om, at dit partnerskab er annulleret. + +CountLastUrlCheckError=Antal fejl ved sidste URL -kontrol +LastCheckBacklink=Dato for sidste URL -kontrol +ReasonDeclineOrCancel=Afvis grund # # Status # -PartnershipDraft = Udkast til -PartnershipAccepted = Accepteret -PartnershipRefused = Afvist -PartnershipCanceled = Aflyst - +PartnershipDraft=Udkast til +PartnershipAccepted=Accepteret +PartnershipRefused=Afvist +PartnershipCanceled=Aflyst PartnershipManagedFor=Partnere er diff --git a/htdocs/langs/da_DK/productbatch.lang b/htdocs/langs/da_DK/productbatch.lang index 70142520648..a19d6c673b9 100644 --- a/htdocs/langs/da_DK/productbatch.lang +++ b/htdocs/langs/da_DK/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Brug parti serie / serienummer ProductStatusOnBatch=Ja (krævet parti) ProductStatusOnSerial=Ja (unikt serienummer krævet) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Vis log af bevægelser for par produkt / partiSerie StockDetailPerBatch=Lager detaljer pr. Parti Serie SerialNumberAlreadyInUse=Serienummer %s bruges allerede til produkt %s TooManyQtyForSerialNumber=Du kan kun have et produkt %s til serienummer %s -BatchLotNumberingModules=Valgmuligheder til automatisk generering af batchprodukter, der administreres af partier -BatchSerialNumberingModules=Valgmuligheder til automatisk generering af batchprodukter styret af serienumre ManageLotMask=Brugerdefineret maske -CustomMasks=Tilføjer en mulighed for at definere maske på produktkortet -LotProductTooltip=Tilføjer en mulighed på produktkortet for at definere en dedikeret batchnummermaske -SNProductTooltip=Tilføjer en mulighed på produktkortet for at definere en dedikeret serienummermaske +CustomMasks=Mulighed for at definere en anden nummereringsmaske for hvert produkt +BatchLotNumberingModules=Nummereringsregel til automatisk generering af partinummer +BatchSerialNumberingModules=Nummereringsregel til automatisk generering af serienummer (for produkter med ejendom 1 unikt parti / serienummer for hvert produkt) QtyToAddAfterBarcodeScan=Mængde, der skal tilføjes for hver stregkode / parti / seriel scannet +LifeTime=Levetid (i dage) +EndOfLife=udløbet på dato +ManufacturingDate=produktionsdato +DestructionDate=Destruktionsdato +FirstUseDate=Dato for første brug +QCFrequency=Kvalitetskontrolfrekvens (i dage) + +#Traceability - qc status +OutOfOrder=Virker ikke +InWorkingOrder=I funktionsdygtig stand diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index 03cbc45a71c..7bbb9cf0727 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Forskellige priser for hver kunde PriceCatalogue=En enkelt salgspris pr. Produkt / service PricingRule=Regler for salgspriser AddCustomerPrice=Tilføj pris ved kunde -ForceUpdateChildPriceSoc=Indstil samme pris på kundernes datterselskaber +ForceUpdateChildPriceSoc=Angiv samme pris på kundens datterselskaber PriceByCustomerLog=Log af tidligere kundepriser MinimumPriceLimit=Minimumsprisen kan ikke være lavere end %s MinimumRecommendedPrice=Minimum anbefalet pris er: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Forøg / sænk lagerbeholdning ved forældreændring ComposedProduct=Børneprodukter MinSupplierPrice=Min købskurs MinCustomerPrice=Mindste salgspris +NoDynamicPrice=Ingen dynamisk pris DynamicPriceConfiguration=Dynamisk priskonfiguration DynamicPriceDesc=Du kan definere matematiske formler til beregning af kunde- eller leverandørpriser. Sådanne formler kan bruge alle matematiske operatorer, nogle konstanter og variabler. Du kan her definere de variabler, du vil bruge. Hvis variablen har brug for en automatisk opdatering, kan du definere den eksterne URL, så Dolibarr kan opdatere værdien automatisk. AddVariable=Tilføj variabel @@ -340,7 +341,7 @@ ProductSheet=Vareside ServiceSheet=Serviceblad PossibleValues=Mulige værdier GoOnMenuToCreateVairants=Gå på menu %s - %s for at forberede attributvarianter (som farver, størrelse, ...) -UseProductFournDesc=Tilføj en funktion til at definere beskrivelser af produkter, der er defineret af leverandørerne, ud over beskrivelser til kunder +UseProductFournDesc=Tilføj en funktion for at definere produktbeskrivelsen defineret af leverandørerne (for hver leverandørreference) ud over beskrivelsen for kunder ProductSupplierDescription=Leverandørbeskrivelse for produktet UseProductSupplierPackaging=Brug emballage til leverandørpriser (genberegn mængder i henhold til emballage, der er angivet på leverandørpris, når du tilføjer / opdaterer linje i leverandørdokumenter) PackagingForThisProduct=Emballage @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Handling kun tilgængelig på variant af pro ProductsPricePerCustomer=Produktpriser pr. Kunde ProductSupplierExtraFields=Yderligere attributter (leverandørpriser) DeleteLinkedProduct=Slet det underordnede produkt, der er knyttet til kombinationen +PMPValue=Værdi +PMPValueShort=WAP diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index cb5a36ace9a..01a2e0d67f2 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -140,6 +140,7 @@ NoTasks=Ingen opgaver for dette projekt LinkedToAnotherCompany=Knyttet til tredjemand TaskIsNotAssignedToUser=Opgave ikke tildelt brugeren. Brug knappen ' %s ' for at tildele opgaven nu. ErrorTimeSpentIsEmpty=Tilbragte Tiden er tom +TimeRecordingRestrictedToNMonthsBack=Tidsregistrering er begrænset til %s måneder tilbage ThisWillAlsoRemoveTasks=Denne handling vil også slette alle opgaver i projektet (%s opgaver i øjeblikket), og alle indgange af tid. IfNeedToUseOtherObjectKeepEmpty=Hvis nogle objekter (faktura, ordre, ...), der tilhører en anden tredjepart, skal knyttet til projektet for at skabe, holde denne tomme for at få projektet er flere tredjeparter. CloneTasks=Klonopgaver @@ -241,6 +242,7 @@ LatestModifiedProjects=Seneste %s ændrede projekter OtherFilteredTasks=Andre filtrerede opgaver NoAssignedTasks=Der blev ikke fundet nogen tildelte opgaver (tildel projekt / opgaver til den aktuelle bruger fra det øverste valgfelt for at indtaste tid på det) ThirdPartyRequiredToGenerateInvoice=En tredjepart skal defineres på projektet for at kunne fakturere det. +ThirdPartyRequiredToGenerateInvoice=En tredjepart skal defineres på projektet for at kunne fakturere det. ChooseANotYetAssignedTask=Vælg en opgave, der endnu ikke er tildelt dig # Comments trans AllowCommentOnTask=Tillad brugernes kommentarer til opgaver @@ -252,10 +254,12 @@ SendProjectRef=Informationsprojekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modul 'lønninger' skal være aktiveret for at definere medarbejderens timepris for at få brugt tid valideret NewTaskRefSuggested=Task ref allerede brugt, en ny task ref kræves TimeSpentInvoiced=Faktureret tid +TimeSpentForIntervention=Tid brugt TimeSpentForInvoice=Tid brugt OneLinePerUser=En linje pr. Bruger ServiceToUseOnLines=Service til brug på linjer InvoiceGeneratedFromTimeSpent=Faktura %s er genereret fra tidsforbrug til projektet +InterventionGeneratedFromTimeSpent=Intervention %s er genereret fra tid brugt på projektet ProjectBillTimeDescription=Tjek om du indtaster timeseddel på opgaver projekt og du planlægger at generere faktura (er) fra timeseddel til regningen kunden af projektet (ikke kontrollere, hvis du planlægger at oprette faktura, der ikke er baseret på indgåede timesedler). Bemærk: For at generere faktura, gå på fanen 'Tidsforbruget' af projektet og vælg linjer til at omfatte. ProjectFollowOpportunity=Følg muligheden ProjectFollowTasks=Følg opgaver eller tidsforbrug @@ -264,12 +268,16 @@ UsageOpportunity=Anvendelse: Mulighed UsageTasks=Brug: Opgaver UsageBillTimeShort=Anvendelse: Faktureringstid InvoiceToUse=Udkast faktura til brug +InterToUse=Udkast til intervention, der skal bruges NewInvoice=Ny faktura +NewInter=Ny intervention OneLinePerTask=En linje pr. Opgave OneLinePerPeriod=En linje pr. Periode +OneLinePerTimeSpentLine=En linje for hver gang brugt erklæring RefTaskParent=Ref. Forældre Opgave ProfitIsCalculatedWith=Fortjeneste beregnes ved hjælp af AddPersonToTask=Føj også til opgaver UsageOrganizeEvent=Anvendelse: Begivenhedsorganisation PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Klassificer projektet som lukket, når alle dets opgaver er afsluttet (100%% fremskridt) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Bemærk: eksisterende projekter med alle opgaver ved 100%%-fremskridt påvirkes ikke: du bliver nødt til at lukke dem manuelt. Denne mulighed påvirker kun åbne projekter. +SelectLinesOfTimeSpentToInvoice=Vælg tidslinjer, der ikke er faktureret, og masseforanstaltning "Generer faktura" for at fakturere dem diff --git a/htdocs/langs/da_DK/receptions.lang b/htdocs/langs/da_DK/receptions.lang index afd06442445..0e6765fdc59 100644 --- a/htdocs/langs/da_DK/receptions.lang +++ b/htdocs/langs/da_DK/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Du skal først validere ordren, før du kan la ReceptionsNumberingModules=Nummerering modul til receptioner ReceptionsReceiptModel=Dokumentskabeloner til modtagelser NoMorePredefinedProductToDispatch=Ikke flere foruddefinerede produkter, der skal sendes - +ReceptionExist=Der findes en reception diff --git a/htdocs/langs/da_DK/salaries.lang b/htdocs/langs/da_DK/salaries.lang index e1a7521bd8b..a947dfee1a3 100644 --- a/htdocs/langs/da_DK/salaries.lang +++ b/htdocs/langs/da_DK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Regnskabskonto bruges til tredjepart SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Den dedikerede regnskabskonto, der er defineret på brugerkort, vil kun blive anvendt til underledere. Denne vil blive brugt til General Ledger og som standardværdi for Subledger regnskab, hvis dedikeret brugerregnskabskonto på bruger ikke er defineret. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Regnskabskonto som standard for lønudbetalinger +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Lad som standard tomt være indstillingen "Opret automatisk en samlet betaling", når du opretter en løn Salary=Løn Salaries=Løn -NewSalaryPayment=Ny lønbetaling +NewSalary=Ny løn +NewSalaryPayment=Nyt lønkort AddSalaryPayment=Tilføj lønbetaling SalaryPayment=Løn betaling SalariesPayments=Lønudbetalinger +SalariesPaymentsOf=Lønudbetalinger på %s ShowSalaryPayment=Vis lønbetaling THM=Gennemsnitlig timepris TJM=Gennemsnitlig dagspris CurrentSalary=Nuværende løn THMDescription=Denne værdi kan bruges til at beregne omkostningerne til den tid, der er forbrugt på et projekt, der er indtastet af brugere, hvis modulprojektet bruges TJMDescription=Denne værdi er i øjeblikket kun til information og bruges ikke til nogen beregning -LastSalaries=Seneste %s lønbetalinger -AllSalaries=Alle lønudbetalinger +LastSalaries=Seneste %s lønninger +AllSalaries=Alle lønninger SalariesStatistics=Lønstatistik -# Export SalariesAndPayments=Løn og betalinger +ConfirmDeleteSalaryPayment=Vil du slette denne lønudbetaling? diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index a37ee2ad5bd..f10b10bb31a 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Enhedskøbspris StockTooLow=Lager for lavt StockLowerThanLimit=Lager lavere end advarselsgrænse (%s) EnhancedValue=Værdi -PMPValue=Værdi -PMPValueShort=WAP EnhancedValueOfWarehouses=Lager værdi UserWarehouseAutoCreate=Opret et brugerlager automatisk, når du opretter en bruger AllowAddLimitStockByWarehouse=Administrer også værdi for minimum og ønsket lager pr. Parring (produktlager) ud over værdien for minimum og ønsket lager pr. Produkt RuleForWarehouse=Regel for lagre -WarehouseAskWarehouseOnThirparty=Indstil et lager på tredjepart +WarehouseAskWarehouseOnThirparty=Indstil et lager på tredjeparter WarehouseAskWarehouseDuringPropal=Sæt et lager på kommercielle forslag WarehouseAskWarehouseDuringOrder=Indstil et lager med salgsordrer UserDefaultWarehouse=Indstil et lager til brugere @@ -169,8 +167,8 @@ MovementTransferStock=Lageroverførsel af produkt %s til et andet lager InventoryCodeShort=Inv./Mov. kode NoPendingReceptionOnSupplierOrder=Ingen afventende modtagelse på grund af åben indkøbsordre ThisSerialAlreadyExistWithDifferentDate=Dette parti / serienummer ( %s ) eksisterer allerede, men med forskellige eatby eller sellby dato (fundet %s men du skrev %s ) -OpenAll=Åbn for alle handlinger -OpenInternal=Åben kun for interne handlinger +OpenAnyMovement=Åben (alle bevægelser) +OpenInternal=Åben (kun intern bevægelse) UseDispatchStatus=Brug en forsendelsesstatus (godkend / afvis) til produktlinjer ved modtagelse af indkøbsordrer OptionMULTIPRICESIsOn=Mulighed for "flere priser pr. Segment" er på. Det betyder, at et produkt har flere salgspriser, så værdien til salg ikke kan beregnes ProductStockWarehouseCreated=Lagergrænse for alarm og ønsket optimal lager korrekt oprettet @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=vælg en aktiebevægelsesfil, der skal importer InfoTemplateImport=Uploadet fil skal have dette format (* er obligatoriske felter):
    Source Warehouse * | Mållager * | Produkt * | Mængde * | Parti / serienummer
    CSV-tegnseparator skal være " %s " LabelOfInventoryMovemement=Beholdning %s ReOpen=Genåben -ConfirmFinish=Bekræfter du afslutningen af opgørelsen? Dette genererer alle lagerbevægelser for at opdatere din aktie. +ConfirmFinish=Bekræfter du afslutningen af opgørelsen? Dette genererer alle aktiebevægelser for at opdatere din aktie til det rigtige antal, du har indtastet lageret. ObjectNotFound=%s ikke fundet MakeMovementsAndClose=Generer bevægelser og luk AutofillWithExpected=Fyld den virkelige mængde med den forventede mængde +ShowAllBatchByDefault=Vis batchoplysninger som standard på produktfanen "lager" +CollapseBatchDetailHelp=Du kan indstille standardvisning af batchdetaljer i lagermodulkonfiguration +FieldCannotBeNegative=Feltet "%s" kan ikke være negativt +ErrorWrongBarcodemode=Ukendt stregkode -tilstand +ProductDoesNotExist=Produkt findes ikke +ErrorSameBatchNumber=Samme batchnummer findes på lagerlisten +ProductBatchDoesNotExist=Produkt med batch/serie findes ikke +ProductBarcodeDoesNotExist=Produkt med stregkode findes ikke diff --git a/htdocs/langs/da_DK/ticket.lang b/htdocs/langs/da_DK/ticket.lang index 5aaa861cde6..6bf044bf571 100644 --- a/htdocs/langs/da_DK/ticket.lang +++ b/htdocs/langs/da_DK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Opgave - Afsluttet TicketTypeShortCOM=Kommercielt spørgsmål TicketTypeShortHELP=Anmodning om hjælp -TicketTypeShortISSUE=Problem, fejl eller problemer +TicketTypeShortISSUE=Problem eller fejl +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Skift eller anmodning om forbedring TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Andre @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Tildelt bruger TypeContact_ticket_external_SUPPORTCLI=Kundekontakt / hændelsesporing TypeContact_ticket_external_CONTRIBUTOR=Ekstern bidragyder -OriginEmail=Email kilde +OriginEmail=Reporter-e-mail Notify_TICKET_SENTBYMAIL=Send opgaver besked via Email # Status Read=Læs Assigned=Tildelt InProgress=I gang -NeedMoreInformation=Venter på information +NeedMoreInformation=Venter på reporterfeedback +NeedMoreInformationShort=Venter på feedback Answered=Besvaret Waiting=Venter -Closed=Lukket +SolvedClosed=Løst Deleted=Slettet # Dict @@ -160,7 +162,7 @@ CreatedBy=Lavet af NewTicket=Ny opgave SubjectAnswerToTicket=Opgave svar TicketTypeRequest=Anmodningstype -TicketCategory=Gruppe +TicketCategory=Billetkategorisering SeeTicket=Se opgave TicketMarkedAsRead=Opgaven er blevet markeret som læst TicketReadOn=Læs videre @@ -184,9 +186,11 @@ TicketSeverity=Alvorlighed ShowTicket=Se opgave RelatedTickets=Relaterede opgaver TicketAddIntervention=Opret indgreb -CloseTicket=Luk opgave -CloseATicket=Luk en opgave +CloseTicket=Luk | Løs billet +AbandonTicket=Forlad billet +CloseATicket=Luk | Løs en billet ConfirmCloseAticket=Bekræft afslutningen af opgaven +ConfirmAbandonTicket=Bekræfter du lukningen af billetten til status 'Forladt' ConfirmDeleteTicket=Venligst bekræft sletning af opgaven TicketDeletedSuccess=Opgave slettet med succes TicketMarkedAsClosed=Opgaven mærket som lukket @@ -211,6 +215,7 @@ TicketMessageHelp=Kun denne tekst gemmes i meddelelseslisten på billetkort. TicketMessageSubstitutionReplacedByGenericValues=Substitutionsvariabler erstattes af generiske værdier. TimeElapsedSince=Tid forløbet siden TicketTimeToRead=Tid forløbet før læst +TicketTimeElapsedBeforeSince=Forløbet tid før / siden TicketContacts=Kontakter billet TicketDocumentsLinked=Dokumenter knyttet til opgaven ConfirmReOpenTicket=Bekræft genåbne denne opgave? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Seneste ændrede opgaver BoxLastModifiedTicketDescription=Seneste %s ændrede opgaver BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Ingen nyligt ændrede opgaver -BoxTicketType=Antal åbne opgaver efter type +BoxTicketType=Fordeling af åbne billetter efter type BoxTicketSeverity=Antal åbne opgaver efter sværhedsgrad BoxNoTicketSeverity=Ingen opgaver åbnet BoxTicketLastXDays=Antal nye opgaver efter dage de sidste %s dage diff --git a/htdocs/langs/da_DK/trips.lang b/htdocs/langs/da_DK/trips.lang index 5270587fe71..8fb4629114e 100644 --- a/htdocs/langs/da_DK/trips.lang +++ b/htdocs/langs/da_DK/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Udgiftsrapporten %s blev annulleret.
    - Bruger: ExpenseReportPaid=En udgiftsrapport blev betalt ExpenseReportPaidMessage=Udgiftsrapporten %s blev betalt.
    - Bruger: %s
    - Betalt af: %s
    Klik her for at vise udgiftsrapporten: %s TripId=Id udgiftsrapport -AnyOtherInThisListCanValidate=Person til oplysning om bekræftelse. +AnyOtherInThisListCanValidate=Person, der skal informeres om validering af anmodningen. TripSociete=Informationsselskab TripNDF=Informationsomkostningsrapport PDFStandardExpenseReports=Standard skabelon til at generere et PDF-dokument til udgiftsrapport @@ -90,7 +90,6 @@ DATE_REFUS=Nægte dato DATE_SAVE=Bekræftelsesdato DATE_CANCEL=Annulleringsdato DATE_PAIEMENT=Betalingsdato -BROUILLONNER=Åbn ExpenseReportRef=Ref. udgiftsrapport ValidateAndSubmit=Bekræft og indsend for godkendelse ValidatedWaitingApproval=Bekræftet (venter på godkendelse) @@ -110,7 +109,7 @@ ExpenseReportPayment=Udgift rapport betaling ExpenseReportsToApprove=Udgiftsrapporter til at godkende ExpenseReportsToPay=Udgifter rapporterer at betale ConfirmCloneExpenseReport=Er du sikker på, at du vil klone denne omkostningsrapport? -ExpenseReportsIk=Udgiftsrapport milles indeks +ExpenseReportsIk=Konfiguration af kilometertal ExpenseReportsRules=Regnskabsregnskabsregler ExpenseReportIkDesc=Du kan ændre beregningen af ​​kilometerudgifter efter kategori og rækkevidde, hvem de tidligere er defineret. d er afstanden i kilometer ExpenseReportRulesDesc=Du kan oprette eller opdatere nogen beregningsregler. Denne del vil blive brugt, når brugeren opretter en ny udgiftsrapport @@ -145,7 +144,7 @@ nolimitbyEX_DAY=om dagen (ingen begrænsning) nolimitbyEX_MON=efter måned (ingen begrænsning) nolimitbyEX_YEA=efter år (ingen begrænsning) nolimitbyEX_EXP=efter linie (ingen begrænsning) -CarCategory=Kategori af bil +CarCategory=Køretøjskategori ExpenseRangeOffset=Forskudsbeløb: %s RangeIk=Mileage rækkevidde AttachTheNewLineToTheDocument=Fastgør linjen til et uploadet dokument diff --git a/htdocs/langs/da_DK/website.lang b/htdocs/langs/da_DK/website.lang index 2d3cc4092de..0b117152cc5 100644 --- a/htdocs/langs/da_DK/website.lang +++ b/htdocs/langs/da_DK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Tilføj hjemmeside Webpage=Webside / container AddPage=Tilføj side / container PageContainer=Side -PreviewOfSiteNotYetAvailable=Forhåndsvisning af dit websted %s endnu ikke tilgængeligt. Du skal først Importer en fuld hjemmeside skabelon 'eller bare Tilføj en side / container '. +PreviewOfSiteNotYetAvailable=Eksempelvisningen af dit websted %s er endnu ikke tilgængelig. Du skal først ' Importere en komplet webstedsskabelon ' eller bare ' Tilføj en side / container '. RequestedPageHasNoContentYet=Den ønskede side med id %s har intet indhold endnu, eller cache-filen .tpl.php blev fjernet. Rediger indholdet på siden for at løse dette. SiteDeleted=Webstedet '%s' slettet PageContent=Side / Indhold diff --git a/htdocs/langs/da_DK/withdrawals.lang b/htdocs/langs/da_DK/withdrawals.lang index 7ddd6401d6f..50545680f48 100644 --- a/htdocs/langs/da_DK/withdrawals.lang +++ b/htdocs/langs/da_DK/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s anmodninger om direkte debitering indbetalt BankTransferRequestsDone=%s kredit overførselsanmodninger registreret ThirdPartyBankCode=Tredjeparts bankkode NoInvoiceCouldBeWithdrawed=Ingen faktura debiteres med succes. Kontroller, at fakturaer er på virksomheder med en gyldig IBAN, og at IBAN har en UMR (Unique Mandate Reference) med tilstanden %s . +WithdrawalCantBeCreditedTwice=Denne kvittering for tilbagetrækning er allerede markeret som krediteret. dette kan ikke gøres to gange, da dette potentielt kan skabe dobbeltbetalinger og bankindtastninger. ClassCredited=Klassificere krediteres ClassCreditedConfirm=Er du sikker på at du vil klassificere denne tilbagetrækning modtagelse som krediteres på din bankkonto? TransData=Dato Transmission @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Udførelsesdato CreateForSepa=Opret direkte debitering fil -ICS=Kreditor identifikator CI til direkte debitering -ICSTransfer=Kreditor identifikator CI til bankoverførsel +ICS=Kreditoridentifikator - ICS END_TO_END=SEPA XML-tag "EndToEndId" - Unikt id tildelt pr. Transaktion USTRD="Ustruktureret" SEPA XML-tag ADDDAYS=Tilføj dage til udførelsesdato diff --git a/htdocs/langs/da_DK/workflow.lang b/htdocs/langs/da_DK/workflow.lang index c129a7244fb..922b7225ae2 100644 --- a/htdocs/langs/da_DK/workflow.lang +++ b/htdocs/langs/da_DK/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Klassificer tilsluttet kildeforslag descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klassificer den tilknyttede kildes salgsordre, som faktureres, når kundefakturaen er valideret (og hvis fakturabeløbet er det samme som det samlede beløb for den tilknyttede ordre) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klassificer den tilknyttede kildes salgsordre, som faktureres, når kundefakturaen er indstillet til betalt (og hvis fakturaforholdet er det samme som det samlede beløb for den tilknyttede ordre) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Klassificer den tilknyttede kildes salgsordre, som sendes, når en forsendelse er valideret (og hvis den mængde, der er sendt af alle forsendelser, er den samme som i opdateringsordren) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Klassificer tilknyttet kildesalgsordre som afsendt, når en forsendelse lukkes (og hvis mængden, der sendes af alle forsendelser, er den samme som i ordren, der skal opdateres) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Klassificer tilsluttet kildeleverandørforslag som faktureret, når leverandørfakturaen er bekræftet (og hvis fakturaens størrelse er det samme som det samlede beløb for det linkede forslag) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Klassificer købt købsordre med kilden som faktureret, når leverandørfakturaen er bekræftet (og hvis fakturaens størrelse er den samme som det samlede beløb for den tilknyttede ordre) diff --git a/htdocs/langs/de_AT/accountancy.lang b/htdocs/langs/de_AT/accountancy.lang index 14639999065..f2d0909a71e 100644 --- a/htdocs/langs/de_AT/accountancy.lang +++ b/htdocs/langs/de_AT/accountancy.lang @@ -1,3 +1,2 @@ # Dolibarr language file - Source file is en_US - accountancy MenuBankAccounts=Kontonummern -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/de_AT/admin.lang b/htdocs/langs/de_AT/admin.lang index 34368689cf1..47bcbdba9a3 100644 --- a/htdocs/langs/de_AT/admin.lang +++ b/htdocs/langs/de_AT/admin.lang @@ -44,13 +44,11 @@ DetailPosition=Nummer sortieren, um die Menüposition zu definieren NotConfigured=Modul / Anwendung nicht konfiguriert OtherOptions=Andere Optionen OtherSetup=Andere Einstellungen -ClientTZ=Client-Zeitzone (Benutzer) ClientHour=Client-Zeit (Benutzer) DaylingSavingTime=Sommerzeit Language_en_US_es_MX_etc=Sprache (de_AT, en_UK, ...) PurgeNothingToDelete=Kein Verzeichnis oder Dateien zum Löschen. GenerateBackup=Erzeuge Datensicherung -Backup=Datensicherung RunCommandSummary=Die Sicherung wurde mit dem folgenden Befehl gestartet BackupResult=Ergebnis Datensicherung YouCanDownloadBackupFile=Die generierte Datei kann jetzt heruntergeladen werden @@ -128,6 +126,7 @@ SummaryConst=Liste aller Systemeinstellungen Skin=Oberfläche DefaultSkin=Standardoberfläche CompanyCurrency=Firmenwährung +NotificationsDescGlobal=* or by setting global email addresses in this setup page. WatermarkOnDraftInvoices=Wasserzeichen auf Rechnungsentwürfen (alle, falls leer) WatermarkOnDraftProposal=Wasserzeichen für Angebotsentwürfe (alle, falls leer) BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Fragen Sie nach dem Bestimmungsort des Bankkontos der Bestellung @@ -153,7 +152,7 @@ MailToSendIntervention=Eingriffe OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. MAIN_OPTIMIZEFORCOLORBLINDDesc=Aktiviere diese Option wenn Sie Farbenblind sind, in machen Fällen wird die Farbeinstellung geändert um den Kontrast zu erhöhen. WithGMailYouCanCreateADedicatedPassword=Wenn Sie bei einem GMail-Konto die Überprüfung in zwei Schritten aktiviert haben, wird empfohlen, ein dediziertes zweites Kennwort für die Anwendung zu erstellen, anstatt Ihr eigenes Kontokennwort von https://myaccount.google.com/ zu verwenden. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Endpunkt für %s: %s DeleteEmailCollector=E-Mail-Sammler löschen ConfirmDeleteEmailCollector=Möchten Sie diesen E-Mail-Sammler wirklich löschen? diff --git a/htdocs/langs/de_AT/agenda.lang b/htdocs/langs/de_AT/agenda.lang index 466a6f35d10..5e8fc952dd0 100644 --- a/htdocs/langs/de_AT/agenda.lang +++ b/htdocs/langs/de_AT/agenda.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - agenda Actions=Termine -LocalAgenda=interner Kalender EventsNb=Anzahl der Termine ListOfActions=Terminliste EventOnFullDay=Terminliste diff --git a/htdocs/langs/de_AT/cashdesk.lang b/htdocs/langs/de_AT/cashdesk.lang index 039571d9f7f..f94589a8423 100644 --- a/htdocs/langs/de_AT/cashdesk.lang +++ b/htdocs/langs/de_AT/cashdesk.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - cashdesk CashDeskProducts=Produkte und Services +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/de_AT/cron.lang b/htdocs/langs/de_AT/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/de_AT/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/de_AT/eventorganization.lang b/htdocs/langs/de_AT/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/de_AT/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/de_AT/main.lang b/htdocs/langs/de_AT/main.lang index b00bc342fde..14d6d3654f8 100644 --- a/htdocs/langs/de_AT/main.lang +++ b/htdocs/langs/de_AT/main.lang @@ -27,6 +27,7 @@ ErrorFailedToSendMail=Fehler beim Senden des Mails (Absender=%s, Empfänger=%s) ErrorDuplicateField=Dieser Wert muß einzigartig sein LevelOfFeature=Funktions-Level NotePublic=Notiz (öffentlich) +Closed=geschlossen Closed2=geschlossen ToClone=Klonen Of=Von diff --git a/htdocs/langs/de_AT/mrp.lang b/htdocs/langs/de_AT/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/de_AT/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/de_AT/products.lang b/htdocs/langs/de_AT/products.lang index 272a2cf3d92..b1d6d08721c 100644 --- a/htdocs/langs/de_AT/products.lang +++ b/htdocs/langs/de_AT/products.lang @@ -30,3 +30,4 @@ ListProductByPopularity=Liste der Produkte/Services nach Beliebtheit ListServiceByPopularity=Liste der Services nach Beliebtheit Finished=Eigenerzeugung NewRefForClone=Artikel Nr. des neuen Produkts/Services +PMPValue=Warenwert diff --git a/htdocs/langs/de_AT/stocks.lang b/htdocs/langs/de_AT/stocks.lang index 4ca91729c42..fdeeecd2640 100644 --- a/htdocs/langs/de_AT/stocks.lang +++ b/htdocs/langs/de_AT/stocks.lang @@ -1,4 +1,3 @@ # Dolibarr language file - Source file is en_US - stocks Location=Ort -PMPValue=Warenwert AverageUnitPricePMPShort=Warenwert diff --git a/htdocs/langs/de_AT/ticket.lang b/htdocs/langs/de_AT/ticket.lang index 05da15d6036..a2d09284492 100644 --- a/htdocs/langs/de_AT/ticket.lang +++ b/htdocs/langs/de_AT/ticket.lang @@ -1,3 +1,2 @@ # Dolibarr language file - Source file is en_US - ticket Waiting=Wartestellung -Closed=geschlossen diff --git a/htdocs/langs/de_CH/accountancy.lang b/htdocs/langs/de_CH/accountancy.lang index dabeea01078..b10e1916c46 100644 --- a/htdocs/langs/de_CH/accountancy.lang +++ b/htdocs/langs/de_CH/accountancy.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - accountancy Accountancy=Rechnungswesen -ACCOUNTING_EXPORT_SEPARATORCSV=Spaltentrennzeichen ACCOUNTING_EXPORT_DATE=Datumsformat für Exportdatei ACCOUNTING_EXPORT_PIECE=Exportiere die Anzahl Teile ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Exportiere mit Globalkonto @@ -13,8 +12,11 @@ ACCOUNTING_EXPORT_ENDLINE=Wähle das Steuerzeichen für den Wagenrücklauf (Carr ACCOUNTING_EXPORT_PREFIX_SPEC=Wähle dein Präfix für den Dateinamen DefaultForService=Standard für Leistungen DefaultForProduct=Standard für Produkte +ProductForThisThirdparty=Produkt für diesen Geschäftspartner +ServiceForThisThirdparty=Dienstleistung für diesen Geschäftspartner CantSuggest=Ich habe keinen Vorschlag AccountancySetupDoneFromAccountancyMenu=Die meisten Einstellungen der Buchhaltung setzt du im Menu %s +ConfigAccountingExpert=Einstellungen für das Modul Buchhaltung (Doppelte Buchhaltung) Journalization=Journalisierung JournalFinancial=Finanzjournal BackToChartofaccounts=Zeige Kontenrahmen @@ -34,6 +36,11 @@ CountriesInEEC=EWR - Staaten CountriesNotInEEC=Nicht EWR - Staaten CountriesInEECExceptMe=Länder im EWR ausser %s CountriesExceptMe=Alle Staaten, ausser %s +AccountantFiles=Geschäftsvorgänge exportieren +ExportAccountingSourceDocHelp=Hier kannst du die zu deinen Buchungen gehörenden Geschäftsfälle als Liste exportieren. Du hast die Wahl zwischen den Dateiformaten CSV und PDF. +ExportAccountingSourceDocHelp2=Die Journale exportierst du im Menu %s - %s. +VueByAccountAccounting=Anzeigen nach Buchhaltungskonto +VueBySubAccountAccounting=Anzeigen nach Nebenbuchkonto MainAccountForCustomersNotDefined=Es ist kein kein Buchhaltungskonto für Kunden eingerichtet. MainAccountForSuppliersNotDefined=Es ist kein kein Buchhaltungskonto für Anbieter eingerichtet. MainAccountForUsersNotDefined=Es ist kein kein Buchhaltungskonto für Kontakte eingerichtet. @@ -45,6 +52,8 @@ AccountancyAreaDescActionOnce=Folgende Aufgaben erledigst du normalerweise einma AccountancyAreaDescActionOnceBis=Die folgenden Einstellungen helfen dir, die Aufzeichnungen einfacher an Buchhaltungskonten zuzuweisen. AccountancyAreaDescActionFreq=Die Folgenden arbeiten erfolgen - je nach Unternehmensgrösse - monatlich, wöchentlich oder gar täglich. AccountancyAreaDescJournalSetup=Schritt %s: Prüfe die vorhandenen Journale im Menu %s und ergänze Sie bei Bedarf mit eigenen. +AccountancyAreaDescChartModel=Schritt %s: Stelle sicher, dass ein Kontenplan angelegt ist oder erstelle einen via Menu %s. +AccountancyAreaDescChart=Schritt %s: Wähle und / oder ergänze deinen Kontenplan via Menu %s. AccountancyAreaDescVat=Schritt %s: Hinterlege die verschiedenen MWST Sätze im Menu%s. AccountancyAreaDescDefault=STEP %s: Hinterlege weitere Standard - Buchhaltungskonten im Menu %s. AccountancyAreaDescExpenseReport=Schritt %s: Hinterlege Buchhaltungskonten für alle Arten von Ausgaben in Spesenabrechnungen im Menu %s. @@ -60,19 +69,21 @@ AccountancyAreaDescBind=Schritt %s: Prüfe die Verknüpfungen von %s mit passend AccountancyAreaDescWriteRecords=Schritt %s: Lass alle Transaktionen ins Hauptbuch übertragen. Wechsle dazu in das Menu %s, und Klicke auf %s. AccountancyAreaDescAnalyze=Schritt %s: Erzeuge oder ergänze Transaktionen für Berichte und Exporte. AccountancyAreaDescClosePeriod=Schritt %s: Schliesse eine Geschäftsperiode ab, damit Sie nicht mehr abgeändert werden kann. +TheJournalCodeIsNotDefinedOnSomeBankAccount=Eine zwingende Einstellung ist noch nicht gemacht - nicht alle Bankkonten sind einem Journal zugeordnet. Selectchartofaccounts=Wähle deinen Kontenrahmen. ChangeAndLoad=Lade und ersetze Addanaccount=Buchhaltungskonto hinzüfügen SubledgerAccountLabel=Bezeichnung Nebenbuchkonto ShowAccountingAccount=Zeige Buchhaltungskonto ShowAccountingJournal=Zeige Buchhaltungssjournal +ShowAccountingAccountInLedger=Zeige dieses Buchhaltungskonto im Hauptbuch. +ShowAccountingAccountInJournals=Zeige dieses Buchhaltungskonto in den Journalen AccountAccountingSuggest=Vorgeschlagenes Buchhaltungskonto MenuVatAccounts=MWST - Konten MenuTaxAccounts=Steuerkonten MenuExpenseReportAccounts=Spesenabrechnungskonten MenuLoanAccounts=Darlehenskonten MenuProductsAccounts=Produktkonten -MenuAccountancyClosure=Abschluss MenuAccountancyValidationMovements=Kontobewegungen freigeben TransferInAccounting=Umbuchung RegistrationInAccounting=Verbuchen @@ -83,6 +94,7 @@ ExpenseReportsVentilation=Verknüpfung für Spesenabrechnungen CreateMvts=Neue Transaktion UpdateMvts=Transaktion bearbeiten ValidTransaction=Transaktion freigeben +WriteBookKeeping=Verbuche diese Transaktionen AccountBalance=Saldo ObjectsRef=Referenz des Quellobjektes CAHTF=Einkaufsaufwand von Steuern @@ -92,6 +104,7 @@ InvoiceLinesDone=Verknüpfte Rechnungspositionen ExpenseReportLines=Spesenabrechnungspositionen zum Verknüpfen ExpenseReportLinesDone=Verknüpfte Spesenabrechnungen IntoAccount=Position mit Buchhaltungskonto verknüpfen +TotalForAccount=Total Buchhaltungskonto Ventilate=Verknüpfen LineId=Position Processing=Verarbeite... @@ -104,6 +117,7 @@ VentilatedinAccount=Erfolgreich mit dem Buchhaltungskonto verknüpft! NotVentilatedinAccount=Nicht mit einem Buchhaltungskonto verknüpft XLineSuccessfullyBinded=%s Produkte / Leistungen erfolgreich mit einem Buchhaltungskonto verknüpft. XLineFailedToBeBinded=%s Produkte / Leistungen konnten nicht mit einem Buchhaltungskonto verknüpft werden. +ACCOUNTING_LIMIT_LIST_VENTILATION=Maximale Anzahl Einträge in Listen und pro Seite (empfohlen: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Sortiere nach den neuesten zu verknüpfenden Positionen ACCOUNTING_LIST_SORT_VENTILATION_DONE=Sortiere nach den neuesten zu verknüpften Positionen ACCOUNTING_LENGTH_DESCRIPTION=Produkt- und Dienstleistungsbeschreibungen abkürzen (Wir empfehlen nach 50 Zeichen) @@ -113,7 +127,9 @@ ACCOUNTING_LENGTH_AACCOUNT=Anzahl Stellen der Partner - Kontonummern (die Konton ACCOUNTING_MANAGE_ZERO=Unterschiedliche Anzahl Stellen für Kontonummern erlauben (bei einigen Ländern nötig, zum Beispiel in der Schweiz). Wenn das aus ist, kann man unten die Stellen für Kontonummern fix vorgeben. BANK_DISABLE_DIRECT_INPUT=Direktbuchung der Transaktion auf dem Bankkonto unterbinden ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Entwurfsexport des Journales erlauben -ACCOUNTANCY_COMBO_FOR_AUX=Aufbereitete Listenansicht für Unterkonten erlauben. Bei vielen Partnern kann das lange dauern... +ACCOUNTANCY_COMBO_FOR_AUX=Kombinierte Liste für Nebenbuchkonten aktivieren (das kann bei vielen Geschäftspartnern langsam gehen. Weiter kannst du so nicht nach Teilwerten suchen. +ACCOUNTING_DATE_START_BINDING=Eröffnungsdatum der Buchhaltung festlegen. Alle Vorgänge davor werden in der Buchhaltung nicht berücksichtigt. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Standard - Zeitraum auf den Journalisierungsseiten ACCOUNTING_MISCELLANEOUS_JOURNAL=Nebenjournal ACCOUNTING_SOCIAL_JOURNAL=Personaljournal ACCOUNTING_HAS_NEW_JOURNAL=Hat neuen Journaleintrag @@ -124,11 +140,16 @@ ACCOUNTING_ACCOUNT_TRANSFER_CASH=Transferkonto Banktransaktionen TransitionalAccount=Durchlaufkonto Bank ACCOUNTING_ACCOUNT_SUSPENSE=Sperrkonto ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Buchhaltungskonto für Abonnemente +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Standardkonto für Kunden - Anzahlungen ACCOUNTING_PRODUCT_BUY_ACCOUNT=Standard - Buchhaltungskonto für gekaufte Produkte\n(Wird verwendet, wenn kein Konto in der Produktdefinition hinterlegt ist) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Standardkonto für importierte Produkte aus der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Standardkonto für importierte Produkte ausserhalb der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Standard - Buchhaltungskonto für verkaufte Produkte\n(Wird verwendet, wenn kein Konto in der Produktdefinition hinterlegt ist) ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Standard - Buchhaltungskonto für Produktverkäufe in EWR - Staaten\n(Wird verwendet, wenn kein Konto in der Produktdefinition hinterlegt ist). ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Standardkonto für Verkäufe an nicht EWR - Staaten (sofern nicht anders im Produkt hinterlegt) ACCOUNTING_SERVICE_BUY_ACCOUNT=Standard - Buchhaltungskonto für gekaufte Leistungen\n(Wird verwendet, wenn kein Konto in der Leistungsdefinition hinterlegt ist) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Standardkonto für importierte Dienstleistungen aus der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Standardkonto für importierte Dienstleistungen ausserhalb der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Standard - Buchhaltungskonto für verkaufte Leistungen\n(Wird verwendet, wenn kein Konto in der Leistungsdefinition hinterlegt ist) ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Standard - Buchhaltungskonto für verkaufte Leistungen in den EWR\n(Wird verwendet, wenn kein Konto in der Leistungsdefinition hinterlegt ist). ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Standardkonto für verkaufte Leistungen an nicht EWR - Staaten (sofern nicht anders im Produkt hinterlegt) @@ -162,9 +183,7 @@ DescThirdPartyReport=Liste der Geschäftpartner (Kunden und Lieferanten) mit der ListAccounts=Liste der Buchhaltungskonten UnknownAccountForThirdparty=Den Partner kenne ich nicht - wir nehmen %s. UnknownAccountForThirdpartyBlocking=Den Partner kenne ich nicht. Zugriffsfehler. -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Geschäftspartner-Konto nicht definiert oder Geschäftspartner unbekannt. Wir werden %s verwenden ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Der Geschäftspartner und das Nebenbuch sind unbekannt. Ich mache keinen Eintrag in das Nebenbuchkonto. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Der Partner ist nicht definiert oder unbekannt. Zugriffsfehler. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Mir fehlt der Partner und das Wartestellungskonto. Zugriffsfehler. PaymentsNotLinkedToProduct=Die Zahlung ist mit keinem Produkt oder Service verknüpft. Pcgtype=Kontengruppe @@ -217,7 +236,6 @@ Modelcsv_normal=Standard - Export Modelcsv_CEGID=CEGID - Expert kompatibler Export Modelcsv_COALA=Sage Coala kompatibler Export Modelcsv_bob50=Sage BOB 50 kompatibler Export -Modelcsv_ciel=Sage Ciel Compta & Compta Evolution - Format Modelcsv_quadratus=Quadratus QuadraCompta - Format Modelcsv_ebp=EBP - Format Modelcsv_cogilog=EBP - Format diff --git a/htdocs/langs/de_CH/admin.lang b/htdocs/langs/de_CH/admin.lang index 316e2eccb2f..eebb505613f 100644 --- a/htdocs/langs/de_CH/admin.lang +++ b/htdocs/langs/de_CH/admin.lang @@ -22,6 +22,7 @@ SessionSaveHandler=Handler für Sitzungsspeicherung ConfirmPurgeSessions=Wollen Sie wirklich alle Sessions beenden ? Dadurch werden alle Benutzer getrennt (ausser Ihnen) NoSessionListWithThisHandler=Wegen der aktuellen PHP-Konfiguration kann ich die aktuellen Sitzungen nicht anzeigen. ConfirmLockNewSessions=Bist du sicher, dass du jede neue Dolibarr - Verbindung auf dich selbst einschränken willst? Danach kann nur noch der Benutzer %s zugreifen. +WebUserGroup=WebServer Benutzer/Gruppen NoSessionFound=Die PHP - Konfiguration erlaubt wahrscheinlich die Anzeige aktiver Sitzungen nicht.\nDas Verzeichnis "%s" könnte geschützt sein - durch eingeschränkte Ordnerberechtigungen durch das Serverbetriebssystem, oder durch PHP selbst via der Direktive "open_basedir". DBSortingCharset=Zeichensatz der Datenbank-Sortierung ClientCharset=Benutzer-Zeichensatz @@ -79,6 +80,7 @@ PurgeNDirectoriesDeleted=%s Dateien oder Verzeichnisse gelöscht. PurgeNDirectoriesFailed=Löschen von %s Dateien oder Verzeichnisse fehlgeschlagen. PurgeAuditEvents=Bereinige alle Sicherheitsereignisse ConfirmPurgeAuditEvents=Möchten Sie wirklich alle Sicherheitsereignisse löschen? Alle Sicherheits-Logs werden gelöscht, aber keine anderen Daten entfernt. +Backup=Sichern YouCanDownloadBackupFile=Du kannst die erstellte Sicherungsdatei jetzt herunterladen NoBackupFileAvailable=Keine verfügbare Sicherungsdatei ExportMethod=Export-Methode @@ -261,7 +263,6 @@ Module10Name=Buchhaltung einfach Module10Desc=Einfache Buchhaltungsberichte (Journale, Umsätze) auf Basis von Datenbankinhalten. Es wird keine Hauptbuch-Tabelle verwendet. Module20Desc=Angeboteverwaltung Module22Desc=E-Mail-Kampagnenverwaltung -Module25Name=Kundenaufträge Module25Desc=Kunden - Auftragsverwaltung Module40Name=Lieferanten Module49Desc=Bearbeiterverwaltung @@ -347,8 +348,6 @@ Permission311=Leistungen einsehen Permission331=Lesezeichen einsehen Permission401=Rabatte einsehen Permission430=PHP Debug Bar verwenden -Permission512=Lohnzahlungen erstellen und bearbeiten -Permission514=Lohnzahlungen löschen Permission520=Darlehen einsehen Permission525=Darlehens-rechner Permission527=Exportiere Darlehen @@ -551,5 +550,6 @@ DisabledResourceLinkUser=Verknüpfungsmöglichkeit zwischen Ressource und Benutz DisabledResourceLinkContact=Verknüpfungsmöglichkeit zwischen Ressource und Kontakt unterbinden. ConfirmUnactivation=Bestätige das Zurücksetzen des Moduls. ExportSetup=Modul Daten-Export einrichten -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    FeatureNotAvailableWithReceptionModule=Diese Funktion ist nicht verfügbar, wenn das Modul 'Lieferungen' aktiv ist +DictionaryProductNature=Produktart diff --git a/htdocs/langs/de_CH/agenda.lang b/htdocs/langs/de_CH/agenda.lang index 69537fa3a04..6100e73fd48 100644 --- a/htdocs/langs/de_CH/agenda.lang +++ b/htdocs/langs/de_CH/agenda.lang @@ -1,6 +1,7 @@ # Dolibarr language file - Source file is en_US - agenda IdAgenda=ID Veranstaltung Agenda=Terminplanung +Agendas=Tagesordnungen EventReports=Ereignisberichte MenuDoneActions=Alle abgeschl. Termine MenuDoneMyActions=Meine abgeschl. Termine @@ -10,6 +11,7 @@ ViewPerUser=Benutzeransicht ViewPerType=Ansicht pro Typ AgendaAutoActionDesc=Gib hier an, welche Ereignisse automatisch in den Kalender eingetragen werden sollen.\nWenn du nichts anwählst, werden keine Geschäftsvorgänge, wie Freigaben oder Statusänderungen, eingetragen. AgendaSetupOtherDesc=Hier gibst Du die Exportoptionen zu externen Kalendern, wie Google Calendar oder Thunderbird an. +AgendaExtSitesDesc=Diese Seite erlaubt Ihnen externe Kalender zu konfigurieren. EventRemindersByEmailNotEnabled=Benachrichtigungen sind in den Moduleinstellungen deaktiviert (%s). NewCompanyToDolibarr=Partner %s erzeugt COMPANY_DELETEInDolibarr=Partner %s gelöscht. diff --git a/htdocs/langs/de_CH/boxes.lang b/htdocs/langs/de_CH/boxes.lang index 95018f3b6c2..21c3fbc23d8 100644 --- a/htdocs/langs/de_CH/boxes.lang +++ b/htdocs/langs/de_CH/boxes.lang @@ -23,6 +23,7 @@ BoxTitleLastModifiedSuppliers=%s zuletzt bearbeitete Lieferanten BoxTitleLastModifiedCustomers=%s zuletzt bearbeitete Kunden BoxTitleLastCustomersOrProspects=%s neueste Kunden oder Interessenten BoxTitleLastModifiedProspects=Interessenten: zuletzt %s geändert +BoxTitleLastModifiedMembers=%s neueste Mitglieder BoxTitleLastFicheInter=%s zuletzt bearbietet Eingriffe BoxTitleOldestUnpaidCustomerBills=Älteste %s offene Kundenrechnungen BoxTitleOldestUnpaidSupplierBills=Älteste %s offene Lieferantenrechnungen diff --git a/htdocs/langs/de_CH/cashdesk.lang b/htdocs/langs/de_CH/cashdesk.lang index 2c7addd512e..c75b1b42815 100644 --- a/htdocs/langs/de_CH/cashdesk.lang +++ b/htdocs/langs/de_CH/cashdesk.lang @@ -4,4 +4,5 @@ CashDeskBankCheque=Bankkonto(Scheckzahlung) TotalTicket=Gesamtanzahl Ticket BankToPay=Zahlungskonto FilterRefOrLabelOrBC=Suche (Art-Nr./Name) +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: Receipt=Beleg diff --git a/htdocs/langs/de_CH/commercial.lang b/htdocs/langs/de_CH/commercial.lang index 6fc35f57797..5b4f447d547 100644 --- a/htdocs/langs/de_CH/commercial.lang +++ b/htdocs/langs/de_CH/commercial.lang @@ -13,6 +13,9 @@ SaleRepresentativesOfThirdParty=Vertriebsmitarbeiter des Partners ShowCustomer=Zeige Kunden ShowProspect=Zeige Interessent LastDoneTasks=Die neuesten %s erledigten Aufgaben. +LastActionsToDo=%s älteste nicht erledigte Aufgaben +SendPropalRef=Einreichung der Angebote %s +SendOrderRef=Einreichung der Bestellung %s StatusActionDone=Abgeschlossen ActionAC_FAX=Fax versenden ActionAC_PROP=Angebot senden @@ -24,6 +27,8 @@ ActionAC_CLO=Schliessen ActionAC_COM=Kundenbestellung per Post verschicken ActionAC_SUP_ORD=Lieferantenbestellung per Post senden ActionAC_SUP_INV=Lieferantenrechnung per Post senden +ActionAC_OTH_AUTO=Andere (automatisch erzeugt) +ActionAC_EVENTORGANIZATION=Event organization Ereignisse Stats=Verkaufsstatistik StatusProsp=Interessenten Status NoLimit=Kein Limit diff --git a/htdocs/langs/de_CH/cron.lang b/htdocs/langs/de_CH/cron.lang index 137bb7f08e8..349dd006fdc 100644 --- a/htdocs/langs/de_CH/cron.lang +++ b/htdocs/langs/de_CH/cron.lang @@ -1,8 +1,10 @@ # Dolibarr language file - Source file is en_US - cron CronMethodDoesNotExists=Klasse %s hat keine %s Methode EnabledAndDisabled=Aktiviert und deaktiviert +CronDelete=cronjobs löschen CronDtStart=Nicht vor CronDtEnd=Nicht nach +CronPriority=Rang JobFinished=Job gestarted und beendet JobDisabled=Job deaktiviert MakeLocalDatabaseDumpShort=Lokale Datenbanksicherung diff --git a/htdocs/langs/de_CH/eventorganization.lang b/htdocs/langs/de_CH/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/de_CH/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/de_CH/holiday.lang b/htdocs/langs/de_CH/holiday.lang index 4e5aba9eb1b..15c991cf42b 100644 --- a/htdocs/langs/de_CH/holiday.lang +++ b/htdocs/langs/de_CH/holiday.lang @@ -9,7 +9,6 @@ DateDebCP=Ferienbeginn DateFinCP=Ferienende ToReviewCP=Genehmigung ausstehend CancelCP=widerrufen -ValidatorCP=Genehmiger Leave=Ferienantrag LeaveId=Ferien ID ReviewedByCP=Wird genehmigt von @@ -26,9 +25,6 @@ TitreRequestCP=Ferienantrag TypeOfLeaveId=Ferientyp ID TypeOfLeaveCode=Feriencode TypeOfLeaveLabel=Ferienbezeichnung -NbUseDaysCP=Bereits bezogene Ferien -NbUseDaysCPShort=Bezogene Ferientage -NbUseDaysCPShortInMonth=Bezogene Ferientage in Monaten DateStartInMonth=Startmonat DateEndInMonth=Endmonat DeleteCP=Löschen @@ -37,7 +33,6 @@ TitleDeleteCP=Ferienantrag löschen ConfirmDeleteCP=Wollen Sie diesen Ferienantrag wirklich löschen? ErrorCantDeleteCP=Fehler: Sie haben nicht die Berechtigung, diesen Ferienantrag zu löschen. CantCreateCP=Sie haben nicht die Berechtigung Ferien zu beantragen. -InvalidValidatorCP=Sie müssen einen Vorgesetzten wählen, der Ihre Urlaubsanfrage genehmigt. NoDateDebut=Sie müssen ein Ferienbeginn Datum wählen. NoDateFin=Sie müssen ein Ferienende Datum wählen. ErrorDureeCP=Ihr Ferienantrag enthält keine Werktage. @@ -57,10 +52,7 @@ NotTheAssignedApprover=Du bist nicht der zugewiesene Genehmiger. UserCP=Benutzer ErrorAddEventToUserCP=Ein Fehler ist beim Erstellen der Sonderferien aufgetreten. AddEventToUserOkCP=Das Hinzufügen der Sonderferien wurde abgeschlossen. -LogCP=Protokoll über Aktualisierungen von verfügbaren Ferientagen alreadyCPexist=Ein Ferienantrag wurde für diese Periode bereits erstellt. -FirstDayOfHoliday=Erster Tag des Ferien -LastDayOfHoliday=Letzter Tag des Ferien BoxTitleLastLeaveRequests=Die %s zuletzt bearbeiteten Ferienanträge HolidaysCancelation=Stornierte Ferienanträge EmployeeLastname=Nachname Mitarbeiter diff --git a/htdocs/langs/de_CH/mails.lang b/htdocs/langs/de_CH/mails.lang index 27833290138..d63fa8e39f0 100644 --- a/htdocs/langs/de_CH/mails.lang +++ b/htdocs/langs/de_CH/mails.lang @@ -37,5 +37,3 @@ AdvTgtMinVal=Minimalwert AdvTgtSearchDtHelp=Intervall verwenden um den Datumswert auszuwählen RemoveAll=Alle entfernen ItemsCount=Eintrag/Einträge -NoContactWithCategoryFound=Keine Kontakte/Adresse mit einer Kategorie gefunden -NoContactLinkedToThirdpartieWithCategoryFound=Keine verlinkte Kontakte/Adresse mit einer Kategorie gefunden diff --git a/htdocs/langs/de_CH/main.lang b/htdocs/langs/de_CH/main.lang index 38c206b7ed4..bc7e9f43d64 100644 --- a/htdocs/langs/de_CH/main.lang +++ b/htdocs/langs/de_CH/main.lang @@ -192,6 +192,7 @@ Refused=zurückgewiesen ResultKo=Fehlschlag Validated=Freigegeben Opened=Offen +OpenAll=Offen (alle Typen) ClosedAll=Geschlossen (alle Typen) Size=Grösse OriginalSize=Originalgrösse diff --git a/htdocs/langs/de_CH/mrp.lang b/htdocs/langs/de_CH/mrp.lang index 0f4ccf47087..31bf4777657 100644 --- a/htdocs/langs/de_CH/mrp.lang +++ b/htdocs/langs/de_CH/mrp.lang @@ -1,7 +1,3 @@ # Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material BOMsSetup=Einstellungen Modul Materiallisten (BOM) -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +DeleteWorkstation=Lösche Gruppe diff --git a/htdocs/langs/de_CH/orders.lang b/htdocs/langs/de_CH/orders.lang index 5455bdff8b9..e0ae97c660d 100644 --- a/htdocs/langs/de_CH/orders.lang +++ b/htdocs/langs/de_CH/orders.lang @@ -3,7 +3,6 @@ OrdersArea=Kundenauftrags-Übersicht SuppliersOrdersArea=Lieferantenbestellungen OrderCard=Bestell-Karte CustomerOrder=Kundenbestellungen -CustomersOrders=Kundenaufträge CustomersOrdersAndOrdersLines=Kundenbestellungen und Details OrdersDeliveredToBill=Zu verrechnende, gelieferte Kundenbestellungen OrdersToBill=Ausgelieferte Kundenbestellungen diff --git a/htdocs/langs/de_CH/other.lang b/htdocs/langs/de_CH/other.lang index f1244585ec1..d931c69bab6 100644 --- a/htdocs/langs/de_CH/other.lang +++ b/htdocs/langs/de_CH/other.lang @@ -28,3 +28,4 @@ WebsiteSetup=Einstellungen des Webseitenmoduls WEBSITE_PAGEURL=URL für Seite WEBSITE_TITLE=Titel WEBSITE_KEYWORDS=Stichworte +CloseDialog =Schliessen diff --git a/htdocs/langs/de_CH/partnership.lang b/htdocs/langs/de_CH/partnership.lang index 12da41cb2ac..6ad1f5ebab4 100644 --- a/htdocs/langs/de_CH/partnership.lang +++ b/htdocs/langs/de_CH/partnership.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - partnership DatePartnershipStart=Ferienbeginn DatePartnershipEnd=Ferienende -PartnershipAccepted =Akzeptiert -PartnershipCanceled =widerrufen +PartnershipAccepted=Akzeptiert +PartnershipCanceled=widerrufen diff --git a/htdocs/langs/de_CH/productbatch.lang b/htdocs/langs/de_CH/productbatch.lang index 53cdcf4be92..368b9da3a4d 100644 --- a/htdocs/langs/de_CH/productbatch.lang +++ b/htdocs/langs/de_CH/productbatch.lang @@ -1,5 +1,7 @@ # Dolibarr language file - Source file is en_US - productbatch ManageLotSerial=Verwende Lot / Seriennummer +ProductStatusOnBatch=Ja (Lot erforderlich) +ProductStatusOnSerial=Ja (eindeutige Seriennummer nötig) ProductStatusNotOnBatch=Nein (Lot / Seriennummer nicht verwendet) Batch=Lot / Seriennumer atleast1batchfield="Verbrauchen bis:" - oder "Verkaufen bis:" - Datum. Oder Lot / Seriennummer @@ -16,3 +18,15 @@ ProductLotSetup=Einstellungen Modul Lot / Seriennummer ShowCurrentStockOfLot=Zeige aktuellen Lagerbestand von Produkt / Lot Paaren ShowLogOfMovementIfLot=Zeige Lagerbewegungen von Produkt / Lot Paaren StockDetailPerBatch=Lagerdetails pro Lot +ManageLotMask=Benutzerdefiniertes Schema +CustomMasks=Option, um für jedes Produkt ein anderes Numerierungsschema zu verwenden +BatchLotNumberingModules=Numerierungsschema für automatische Lot - Nr. Vergabe +BatchSerialNumberingModules=Numerierungsschema für automatisch erzeugte Seriennummern (für Produkte mit aktivierter Option, Benutzerdefiniertes Schema) +QtyToAddAfterBarcodeScan=Einzutragende Menge pro Strichcode / Lot / Seriennummer - Scan +LifeTime=Gültigkeit (in Tagen) +EndOfLife=Betriebsende (End of life) +DestructionDate=Ablaufdatum +FirstUseDate=Erstgebrauchsdatum +QCFrequency=Qualitätsprüfungsintervall (in Tagen) +OutOfOrder=Ausser Betrieb +InWorkingOrder=In Betrieb diff --git a/htdocs/langs/de_CH/products.lang b/htdocs/langs/de_CH/products.lang index dda8a451ab4..517a1033c08 100644 --- a/htdocs/langs/de_CH/products.lang +++ b/htdocs/langs/de_CH/products.lang @@ -5,6 +5,8 @@ Reference=Referenz ProductVatMassChange=Globale MWST - Änderung ProductVatMassChangeDesc=Dieses Werkzeug ändert den MWST Satz aller Produkte und Dienstleistungen im ganzen System! ProductAccountancyBuyCode=Buchhaltungskonto (Einkauf) +ProductAccountancyBuyIntraCode=Buchhaltungskonto (Einkauf innergemeinschaftlich) +ProductAccountancyBuyExportCode=Buchhaltungskonto (Importkauf) ProductAccountancySellCode=Buchhaltungskonto (Verkauf) ProductAccountancySellIntraCode=Buchhaltungskonto (innergemeinschaftlich EU) ProductAccountancySellExportCode=Buchhaltungskonto (Verkauf Export) @@ -19,6 +21,7 @@ ServicesOnPurchase=Dienstleistungen für den Einkauf ServicesOnSaleOnly=Dienstleistungen nur für den Verkauf ServicesOnPurchaseOnly=Dienstleistungen nur für den Einkauf ServicesNotOnSell=Dienstleistungen weder für den Ein-, noch Verkauf +LastModifiedProductsAndServices=Die %s zuletzt geänderten Produkte / Dienstleistungen LastRecordedProducts=%s zuletzt erfasste Produkte LastRecordedServices=%s zuletzt erfasste Leistungen MenuStocks=Warenbestände @@ -27,8 +30,10 @@ AppliedPricesFrom=Angelegt von SellingPriceHT=Verkaufspreis (exkl. MWST) SellingPriceTTC=Verkaufspreis (inkl. MwSt.) SellingMinPriceTTC=Mindestverkaufspreis (inkl. MWST) +CostPriceDescription=In dieses Feld kannst du deinen freien Durchschnittspreis dieses Produktes eintragen.\nZum Beispiel den durchschnittlichen EP plus deine Verarbeitungs und Vertriebskosten. CostPriceUsage=Dieser Wert hilft bei der Margenbestimmung PurchasedAmount=Eingekaufte Menge +MinPrice=Mindestverkaufspreis EditSellingPriceLabel=Preisschild anpassen CantBeLessThanMinPrice=Der Verkaufspreis darf den Mindestpreis für dieses Produkt (%s ohne MwSt.) nicht unterschreiten. Diese Meldung kann auch angezeigt werden, wenn Sie einen zu hohen Rabatt geben. SupplierRef=Verkäufer SKU (Artikelnummer) @@ -36,8 +41,17 @@ ServicesArea=Leistungs-Übersicht SupplierCard=Anbieterkarte SetDefaultBarcodeType=Wählen Sie den standardmässigen Barcode-Typ MultiPricesAbility=Preisstufen pro Produkt / Dienstleistung\n(Kunden werden einem Segment zugewiesen) +DefaultPriceType=Standardpreis für neue Verkaufspreise (inkl. / exxkl. MWST) +AssociatedProductsAbility=Aktiviere Produktpakete (Kits - mehrere Produkte in einem Satz) +VariantsAbility=Aktiviere Produktvarianten (gemäss selbst definierten Kriterien, wie: Farbe, Grösse usf.) +AssociatedProducts=Pakete +AssociatedProductsNumber=Anzahl Produkte in diesem Paket ParentProducts=Übergeordnetes Produkt +IfZeroItIsNotAVirtualProduct=Wenn hier "0" steht, ist es kein Produktpaket. +IfZeroItIsNotUsedByVirtualProduct=Wenn hier "0" steht, kommt dieses Produkt in keinem Produktsatz vor. ListOfProductsServices=Liste der Produkte und Dienstleistungen +ProductAssociationList=Produkte und Diensleistungen in diesem Paket +ProductParentList=Produktsätze mit diesem Produkt darin QtyMin=Mindestmenge PriceQtyMin=Mindestmengenpreis PriceQtyMinCurrency=Mengenpreis (gem. Währung) Brutto @@ -45,19 +59,31 @@ VATRateForSupplierProduct=MWST - Satz (Anbieter / Produkt) DiscountQtyMin=Mengenrabatt NoPriceDefinedForThisSupplier=Ich habe weder Preis- noch Mengenangaben für diesen Anbiter und seine Produkte. NoSupplierPriceDefinedForThisProduct=Ich habe weder Preis- noch Mengenangaben für diesen Anbiter und seine Produkte. +PredefinedItem=Vordefinierter Artikel PredefinedProductsToSell=Vordefiniertes Verkaufsprodukt PredefinedServicesToSell=Vordefinierte Dienstleistung zum Verkauf PredefinedProductsAndServicesToSell=Vordefinierte Produkte/Leistungen für Verkauf PredefinedProductsToPurchase=Vordefinierte Einkaufs-Produkte PredefinedProductsAndServicesToPurchase=Vordefinierte Produkte / Dienstleistungen für den Einkauf +Finished=Fertigprodukt ConfirmCloneProduct=Bist du sicher, dass du diese Position %s duplizieren willst? +CloneContentProduct=Dupliziere alle Hauptinformationen dieser Position ClonePricesProduct=Übernehme alle Preise +CloneCategoriesProduct=Dupliziere Tags und Kategorien dieser Position +CloneCompositionProduct=Dupliziere virtuelle Produkte / Dienstleistungen +CloneCombinationsProduct=Dupliziere Produktvariante NewRefForClone=Artikel-Nr. des neuen Produkts/Leistungen SellingPrices=Verkaufspreise BuyingPrices=Einkaufspreise CustomerPrices=Kunden Preise SuppliersPrices=Lieferantenpreise SuppliersPricesOfProductsOrServices=Anbieterpreise +CustomCode=Zolltarifnummer (z.B. HSN) +RegionStateOrigin=Region +StateOrigin=Herkunftsland / Provinz / Kanton +Nature=Produktart (Rohmaterial / Fertigprodukt +NatureOfProductShort=Produktart +NatureOfProductDesc=Rohmaterial oder Fertigprodukt set=gesetzt se=gesetzt kilogram=Kilo @@ -71,6 +97,7 @@ unitCM3=Kubikcentimeter unitMM3=Kubikmillimeter ServiceCodeModel=Vorlage für Dienstleistungs-Referenz DisablePriceByQty=Staffelpreise sperren +MultipriceRules=Regeln für automatische Preissegmente UseMultipriceRules=Mit diesen Regeln für Preisstufen kann man automatisch von der ersten Stufe aus die Preise der folgenden Stufen ausrechnen lassen.\nDie Regeln werden im Modul - Setup hinterlegt. KeepEmptyForAutoCalculation=Für automatische Berechnung kannst du das einfach leer lassen. VariantRefExample=Zum Beispiel: Col, Gr. @@ -87,14 +114,17 @@ ResetBarcodeForAllRecords=Neuen Strichcode für alle Einträge setzten (alle ber PriceByCustomer=Unterschiedliche Preise je nach Kunde PriceCatalogue=Ein einziger Verkaufspreis pro Produkt/Leistung PricingRule=Regeln für Verkaufspreise +ForceUpdateChildPriceSoc=Übertrage diesen Preis auf die Subpartner dieses Kunden MinimumRecommendedPrice=Der hinterlegte Mindestpreis ist: %s PriceExpressionEditorHelp2=Sie können auf die ExtraFields mit Variablen wie #extrafield_myextrafieldkey# und globale Variablen mit #global_mycode# zugreifen PriceExpressionEditorHelp3=Für alle Preise (Produkte / Dienstleistungen / Anbieter) stehen diese Variablen zur Verfügung
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min#. PriceExpressionEditorHelp4=Für Produkt- / Dienstleistungspreise gibt es zusätzlich #supplier_min_price#
    Für Anbieterpreise gibt es zusätzlich #supplier_quantity# and #supplier_tva_tx# PriceMode=Preisfindungs-Methode +DefaultPriceLog=Verlauf der Standardpreise ComposedProductIncDecStock=Erhöhen/verringern Lagerbestand bei verknüpften Produkten ComposedProduct=Unterprodukt MinCustomerPrice=Mindestverkaufspreis +NoDynamicPrice=Kein variabler Preis AddUpdater=Aktualisierung hinzufügen VariableToUpdate=Zu aktualisierende Variablen NbOfQtyInProposals=Menge in Angebot diff --git a/htdocs/langs/de_CH/projects.lang b/htdocs/langs/de_CH/projects.lang index 86b76e8b882..0a2729396ab 100644 --- a/htdocs/langs/de_CH/projects.lang +++ b/htdocs/langs/de_CH/projects.lang @@ -26,4 +26,6 @@ CloneTaskFiles=Aufgabe (n) clonen beigetreten Dateien (falls Aufgabe (n) geklont ProjectModifiedInDolibarr=Projekt %s bearbeitet ProjectReferers=Verknüpfte Objekte ResourceNotAssignedToTheTask=Nicht der Aufgabe zugewiesen +TimeSpentForIntervention=Zeitaufwände TimeSpentForInvoice=Zeitaufwände +NewInter=Neuer Einsatz diff --git a/htdocs/langs/de_CH/salaries.lang b/htdocs/langs/de_CH/salaries.lang index bd6035c66c6..c749d0d0234 100644 --- a/htdocs/langs/de_CH/salaries.lang +++ b/htdocs/langs/de_CH/salaries.lang @@ -7,6 +7,5 @@ THM=Durchschnittlicher Stundenlohn TJM=Durchschnittlicher Tageslohn THMDescription=Wenn das Modul Projektmanagement aktiv ist, dient dieser Wert zum Berechnen der aktuellen Projektzeitkosten. TJMDescription=Dieser Wert ist im Moment rein informativ und fliesst in keinerlei Berechnungen ein. -LastSalaries=Die neuesten %s Lohnzahlungen SalariesStatistics=Lohnstatistik SalariesAndPayments=Löhne und Lohnzahlungen diff --git a/htdocs/langs/de_CH/stocks.lang b/htdocs/langs/de_CH/stocks.lang index 0e46de215c7..a1800db5e01 100644 --- a/htdocs/langs/de_CH/stocks.lang +++ b/htdocs/langs/de_CH/stocks.lang @@ -25,7 +25,6 @@ StockMovementRecorded=aufgezeichnete Lagerbewegungen InventoryCodeShort=Inv. / Mov. Kode NoPendingReceptionOnSupplierOrder=Keine ausstehenden Lieferungen auf dieser Lieferantenbestellung ThisSerialAlreadyExistWithDifferentDate=Diese Charge- / Seriennummer (%s) ist bereits vorhanden, jedoch mit unterschiedlichen Haltbarkeits- oder Verfallsdatum. \n(Gefunden: %s Erfasst: %s) -OpenAll=Für alle Aktionen freigeben UseDispatchStatus=Auslieferungs - Status (frei gegeben / zurückgewiesen) für Lieferantenbestellungen führen. inventoryDraft=Läuft inventoryOnDate=Inventar diff --git a/htdocs/langs/de_CH/trips.lang b/htdocs/langs/de_CH/trips.lang index ba56acdd741..33e5c61c47d 100644 --- a/htdocs/langs/de_CH/trips.lang +++ b/htdocs/langs/de_CH/trips.lang @@ -9,10 +9,10 @@ ShowTrip=Spesenreport anzeigen NewTrip=neue Reisekostenabrechnung ListTripsAndExpenses=Liste Reise- und Spesenabrechnungen ExpenseReportWaitingForApproval=Eine neue Reisekostenabrechnung ist zur Genehmigung vorgelegt worden -AnyOtherInThisListCanValidate=Zu informierende Person für die Bestätigung TripSociete=Information Firma TF_TRIP=Spedition ErrorDoubleDeclaration=Sie haben bereits eine andere Spesenabrechnung in einem ähnliche Datumsbereich erstellt. +VALIDATOR=verantwortlicher Benutzer für Genehmigung AUTHOR=gespeichert von BrouillonnerTrip=Spesenabrechnung rückgängig, auf den Status "Entwurf" ExpenseReportsToPay=Spesenabrechnungen zu entrichten diff --git a/htdocs/langs/de_CH/users.lang b/htdocs/langs/de_CH/users.lang index 02a05cfdc2c..94bc17d43e8 100644 --- a/htdocs/langs/de_CH/users.lang +++ b/htdocs/langs/de_CH/users.lang @@ -31,7 +31,6 @@ ConfirmCreateContact=Willst du wirklich ein Benutzerkonto für diesen Kontakt er ConfirmCreateLogin=Willst du wirklich ein Benutzerkonto für dieses Mitglied erstellen? ConfirmCreateThirdParty=Willst du wirklich für dieses Mitglied einen Partner erzeugen? NameToCreate=Name des neuen Geschäftspartners -NbOfUsers=Anz. Benutzer UseTypeFieldToChange=Nutzen sie das Feld "Typ" zum ändern WeeklyHours=Geleistete Stunden pro Woche DisabledInMonoUserMode=Im Wartungsmodus deaktiviert diff --git a/htdocs/langs/de_DE/accountancy.lang b/htdocs/langs/de_DE/accountancy.lang index 8ea9181e11e..9a4007d723f 100644 --- a/htdocs/langs/de_DE/accountancy.lang +++ b/htdocs/langs/de_DE/accountancy.lang @@ -5,7 +5,7 @@ ACCOUNTING_EXPORT_SEPARATORCSV=Spaltentrennzeichen für die Exportdatei ACCOUNTING_EXPORT_DATE=Datumsformat der Exportdatei ACCOUNTING_EXPORT_PIECE=Stückzahl exportieren ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Mit globalem Konto exportieren -ACCOUNTING_EXPORT_LABEL=Exportiere Bezeichnung +ACCOUNTING_EXPORT_LABEL=Exportiere Beschriftung ACCOUNTING_EXPORT_AMOUNT=Exportiere Betrag ACCOUNTING_EXPORT_DEVISE=Exportiere Währung Selectformat=Wählen Sie das Format für die Datei @@ -48,7 +48,8 @@ CountriesNotInEEC=Nicht-EU Länder CountriesInEECExceptMe=EU-Länder außer %s CountriesExceptMe=Alle Länder außer %s AccountantFiles=Belegdokumente exportieren -ExportAccountingSourceDocHelp=Mit diesem Tool können Sie die Quellereignisse (Liste und PDFs) exportieren, die zum Generieren Ihrer Buchhaltung verwendet wurden. Verwenden Sie zum Exportieren Ihrer Journale den Menüeintrag %s - %s. +ExportAccountingSourceDocHelp=Mit diesem Tool können Sie die Quellereignisse (Liste in CSV und PDFs) exportieren, die zur Erstellung Ihrer Buchhaltung verwendet wurden. +ExportAccountingSourceDocHelp2=Um Ihre Journale zu exportieren, verwenden Sie den Menüeintrag %s - %s. VueByAccountAccounting=Ansicht nach Buchhaltungskonto VueBySubAccountAccounting=Ansicht nach Buchhaltungsunterkonto @@ -107,7 +108,7 @@ MenuExpenseReportAccounts=Spesen-Konten MenuLoanAccounts=Darlehens-Konten MenuProductsAccounts=Produkterlös-Konten MenuClosureAccounts=Abschlusskonten -MenuAccountancyClosure=Schließung +MenuAccountancyClosure=Abschluss MenuAccountancyValidationMovements=Bewegungen validieren ProductsBinding=Produktkonten TransferInAccounting=Überweisung im Rechnungswesen @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Länge der Geschäftspartner-Konten in der Buchhaltun ACCOUNTING_MANAGE_ZERO=Verwalten der Null am Ende eines Buchhaltungskontos. \nIn einigen Ländern notwendig (zB. Schweiz). \nStandardmäßig deaktiviert. \nWenn ausgeschaltet, können die folgenden 2 Parameter konfigurieren werden um virtuelle Nullen anzuhängen BANK_DISABLE_DIRECT_INPUT=Deaktivieren der direkte Aufzeichnung von Transaktion auf dem Bankkonto ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Entwurfexport für Journal aktivieren -ACCOUNTANCY_COMBO_FOR_AUX=Kombinationsliste für Nebenkonto aktivieren \n(kann langsam sein, wenn Sie viele Geschäftspartner haben) +ACCOUNTANCY_COMBO_FOR_AUX=Combo-Liste für Nebenkonto aktivieren (kann langsam sein, wenn Sie viele Geschäftspartner haben; verhindert die Suche nach Teilwerten) ACCOUNTING_DATE_START_BINDING=Definieren Sie ein Datum, an dem die Bindung und Übertragung in der Buchhaltung beginnen soll. Transaktionen vor diesem Datum werden nicht in die Buchhaltung übertragen. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Bei der Übertragung der Buchhaltung standardmäßig den Zeitraum anzeigen auswählen anzeigen @@ -245,9 +246,9 @@ DescThirdPartyReport=Kontieren Sie hier die Liste der Kunden und Lieferanten zu ListAccounts=Liste der Abrechnungskonten UnknownAccountForThirdparty=Unbekanntes Geschäftspartner-Konto. Wir werden %s verwenden. UnknownAccountForThirdpartyBlocking=unbekanntes Geschäftspartner-Konto, fortfahren nicht möglich -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Geschäftspartner-Konto nicht definiert oder Partner unbekannt. \nWir werden %s verwenden. +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Nebenbuchkonto nicht definiert oder Geschäftspartner oder Benutzer unbekannt. Wir verwenden %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Geschäftspartner unbekannt und Nebenbuch nicht in der Zahlung definiert. Wir werden den Nebenbuchkontowert leer lassen. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Drittanbieter-Konto nicht definiert oder Drittanbieter unbekannt. Fehler beim Blockieren. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Nebenbuchkonto nicht definiert oder Geschäftspartner oder Benutzer unbekannt. Nicht behebbarer Fehler. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unbekanntes Drittanbieter-Konto und wartendes Konto nicht definiert. Fehler beim Blockieren PaymentsNotLinkedToProduct=Zahlung ist keinem Produkt oder Dienstleistung zugewisen OpeningBalance=Eröffnungsbilanz @@ -328,14 +329,17 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Deaktivieren Sie die Bindung und Übertr ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Deaktivieren Sie die Bindung und Übertragung in der Buchhaltung für Spesenabrechnungen (Spesenabrechnungen werden bei der Buchhaltung nicht berücksichtigt). ## Export +NotifiedExportDate=Gemeldetes Ausfuhrdatum (Änderung der Einträge ist nicht möglich) +NotifiedValidationDate=Festschreiben der Einträge (Änderung oder Löschung ist danach nicht mehr möglich) +ConfirmExportFile=Bestätigung der Generierung der Buchhaltungsexportdatei ? ExportDraftJournal=Entwurfsjournal exportieren -Modelcsv=Exportmodell -Selectmodelcsv=Wählen Sie ein Exportmodell +Modelcsv=Datenformat für den Export +Selectmodelcsv=Wählen Sie ein Datenformat für den Export Modelcsv_normal=Klassischer Export Modelcsv_CEGID=Export zu CEGID Expert Buchhaltung Modelcsv_COALA=Export zu Sage Coala Modelcsv_bob50=Export für Sage BOB 50 -Modelcsv_ciel=Export für Sage Ciel Compta oder Compta Evolution +Modelcsv_ciel=Export für Sage50, Ciel Compta oder Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export für Quadratus QuadraCompta Modelcsv_ebp=Export für EBP Modelcsv_cogilog=Export für Cogilog @@ -413,12 +417,12 @@ FECFormatSubledgerAccountNumber=Nebenbuchkontonummer (CompAuxNum) FECFormatSubledgerAccountLabel=Nebenbuchkontonummer (CompAuxLib) FECFormatPieceRef=Stück Referenz (PieceRef) FECFormatPieceDate=Stück Erstellungsdatum (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) +FECFormatLabelOperation=Etikettenoperation (EcritureLib) FECFormatDebit=Lastschrift (Lastschrift) FECFormatCredit=Kredit (Kredit) FECFormatReconcilableCode=Abgleichbarer Code (EcritureLet) FECFormatReconcilableDate=Überbrückbares Datum (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) +FECFormatValidateDate=Stückdatum validiert (ValidDate) FECFormatMulticurrencyAmount=Mehrwährungs-Betrag (Montantdevise) FECFormatMulticurrencyCode=Mehrwährungs-Code (Idevise) diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index 168773c75b9..15930b2aa7c 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -36,7 +36,7 @@ ConfirmLockNewSessions=Möchten Sie wirklich alle Sitzungen bis auf Ihre eigene UnlockNewSessions=Sperrung neuer Sitzungen aufheben YourSession=Ihre Sitzung Sessions=Benutzersitzungen -WebUserGroup=WebServer Benutzer/Gruppen +WebUserGroup=Webserver Benutzer/Gruppen PermissionsOnFiles=Berechtigungen für Dateien PermissionsOnFilesInWebRoot=Berechtigungen für Dateien im Stammverzeichnis Web PermissionsOnFile=Berechtigungen für die Datei %s @@ -53,6 +53,7 @@ InternalUser=Interner Benutzer ExternalUser=Externer Benutzer InternalUsers=Interne Benutzer ExternalUsers=Externe Benutzer +UserInterface=Benutzeroberfläche GUISetup=Benutzeroberfläche SetupArea=Einstellungen UploadNewTemplate=Neue Druckvorlage(n) hochladen @@ -84,6 +85,7 @@ NumberOfBytes=Anzahl an Bytes SearchString=Suchbegriff NotAvailableWhenAjaxDisabled=Nicht verfügbar, wenn Ajax deaktiviert AllowToSelectProjectFromOtherCompany=Bei den Elementen eines Partners, ist es möglich Projekte von anderen Partnern zu verlinken +TimesheetPreventAfterFollowingMonths=Nach der folgenden Anzahl an Monaten soll keine Erfassung von Zeitaufwänden mehr möglich sein JavascriptDisabled=JavaScript deaktiviert UsePreviewTabs=Vorschau-Tabs verwenden ShowPreview=Vorschau anzeigen @@ -116,6 +118,7 @@ MultiCurrencySetup=Modul Mehrfachwährungen - Einstellungen MenuLimits=Genauigkeit - Toleranz MenuIdParent=übergeordnete Menü-ID DetailMenuIdParent=ID des übergeordneten Menüs (0 für einen Eltern-Menü) +ParentID=Parent ID DetailPosition=Sortierungsnummer für die Position des Menüpunktes AllMenus=Alle NotConfigured=Modul/Applikation nicht konfiguriert @@ -167,7 +170,7 @@ PurgeNDirectoriesFailed=%s Datei(en) oder Verzeichnis(se) konnte(n) nicht PurgeAuditEvents=lösche alle Sicherheitsereignisse ConfirmPurgeAuditEvents=Möchten Sie wirklich alle Sicherheitsereignisse löschen ? GenerateBackup=Sicherung erzeugen -Backup=Sichern +Backup=Datensicherung Restore=Wiederherstellen RunCommandSummary=Die Sicherung wird über folgenden Befehl ausgeführt BackupResult=Sicherung Ergebnisse @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Diese Funktion steht nur in offiziellen stabilen Ve BoxesDesc=Widgets sind Komponenten, die komprimierte Informationen aus aktivierten Modulen anzeigen können. Mit deren Hilfe können individuelle Dashboards / Startseiten zusammengestellt werden.\nUm ein Widget zu aktivieren klicken sie auf "Aktivieren" im Bereich Verfügbare Widgets.\nUm ein Widget zu deaktivieren klicken sie auf den Papierkorb in der entsprechenden Widget-Zeile im Bereich Aktivierte Widgets. OnlyActiveElementsAreShown=Nur Elemente aus aktiven Module werden angezeigt. ModulesDesc=Die Module / Anwendungen bestimmen, welche Funktionen in der Software verfügbar sind. Bei einigen Modulen müssen Benutzern nach Aktivierung des Moduls Berechtigungen erteilt werden. Klicken Sie auf die Ein / Aus-Schaltfläche %s jedes Moduls, um ein Modul / eine Anwendung zu aktivieren oder zu deaktivieren. +ModulesDesc2=Klicken Sie auf die Radschaltfläche %s , um das Modul/die Anwendung zu konfigurieren. ModulesMarketPlaceDesc=Sie finden weitere Module auf externen Web-Sites... ModulesDeployDesc=DateiWenn es die Berechtigungen in Ihrem Dateisystem zulassen, können Sie mit diesem Tool ein externes Modul bereitstellen. Das Modul ist dann auf der Registerkarte %s sichtbar. ModulesMarketPlaces=Zusatzmodule / Erweiterungen @@ -221,8 +225,8 @@ NotCompatible=Dieses Modul scheint nicht mit ihrer Dolibarr Version %s kompatibe CompatibleAfterUpdate=Dieses Modul benötigt ein Upgrade ihrer Dolibarr Installation %s (Min %s - Max %s). SeeInMarkerPlace=siehe Marktplatz SeeSetupOfModule=Finden Sie im Modul-Setup %s +SetOptionTo=Setzt die Option %s auf %s Updated=Aktualisiert -Nouveauté=Neuheit AchatTelechargement=Kaufen / Herunterladen GoModuleSetupArea=Um ein neues Modul zu installieren/verteilen, gehen Sie in den Modul-Setup Bereich %s. DoliStoreDesc=DoliStore, der offizielle Marktplatz für dolibarr Module/Erweiterungen @@ -351,10 +355,10 @@ LastActivationAuthor=Benutzer der letzten Aktivierung LastActivationIP=IP der letzten Aktivierung UpdateServerOffline=Update-Server offline (nicht erreichbar) WithCounter=Zähler verwenden -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes=Sie können ein beliebiges Nummerierungsschema eingeben. Folgende Tags können verwendet werden:
    {000000} steht für eine 6-stellige Nummer, die sich bei jedem neuen %s automatisch erhöht. Wählen Sie die Anzahl der Nullen je nach gewünschter Nummernlänge. Der Zähler füllt sich automatisch bis zum linken Ende mit Nullen, um das gewünschte Format abzubilden.
    {000000+000} führt zu einem ähnlichen Ergebnis, allerdings mit einem Wertsprung in Höhe des Werts rechts des Pluszeichens, der beim ersten %s angewandt wird.
    {000000@x} wie zuvor, jedoch stellt sich der Zähler bei Erreichen des Monats x (zwischen 1 und 12) automatisch auf 0 zurück, bei setzen von 0 wird der Anfangsmonat des Fiskaljahrs für das Rücksetzen verwendet, mit dem Wert 99 erfolgt jeden Monat ein Rücksetzen auf 0. Ist die Rücksetzoption gewählt und x hat den Wert 2 oder höher, ist die Folge {mm}{yy} or {mm}{yyyy} ebenfalls erforderlich.
    {dd} Tag (01 bis 31).
    {mm} Monat (01 bis 12).
    {y}, {yy} or {yyyy} Jahreszahl 1-, 2- oder 4-stellig.
    +GenericMaskCodes2= {cccc} Kundencode mit n Zeichen
    {cccc000} Kundencode gefolgt von einer dem Kunden zugeordneten Partner ID. Dieser Zähler wird gleichzeitig mit dem globalen Zähler zurückgesetzt.
    {tttt} Der Code für die Partnerart, abgeschnitten nach n Zeichen (siehe Menü Start - Einstellungen - Stammdaten - Arten von Partnern). Wenn diese Option aktiv ist, wird für jede Partnerart ein separater Zähler geführt.
    GenericMaskCodes3=Alle anderen Zeichen in der Maske bleiben erhalten.
    \nLeerzeichen sind nicht zulässig.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    +GenericMaskCodes3EAN=Alle anderen Zeichen der Maske bleiben unberührt (außer * oder ? an 13. Stelle in EAN13).
    Leerzeichen sind nicht erlaubt.
    Für EAN13 sollte das letzte Zeichen nach der letzten } an 13. Stelle ein * oder ? sein. Dies wird durch den berechneten Wert ersetzt.
    GenericMaskCodes4a=Beispiel auf der 99. %s des Drittanbieters DieFirma, mit Datum 2007-01-31:
    GenericMaskCodes4b=Beispiel für Partner erstellt am 2018-10-27:
    GenericMaskCodes4c=Beispiel für ein Produkt erstellt am 2018-10-27:
    @@ -399,6 +403,7 @@ SecurityToken=Schlüssel um die URLs zu entschlüsseln NoSmsEngine=Kein SMS-Sendermanager verfügbar. Ein SMS-Sendermanager gehört nicht zum Standardumfang von Dolibarr, da er von einem externen Anbieter abhängig ist. Passende Module können Sie hier finden: %s PDF=PDF PDFDesc=Globale Einstellungen für die PDF-Erzeugung +PDFOtherDesc=PDF-Option spezifisch für einige Module PDFAddressForging=Regeln für die Auswahl der Adressen HideAnyVATInformationOnPDF=Alle Informationen zu Steuern und MWSt. im generierten PDF ausblenden PDFRulesForSalesTax=Regeln für Umsatzsteuer / MwSt. @@ -449,8 +454,8 @@ ExtrafieldParamHelpPassword=Wenn Sie dieses Feld leer lassen, wird dieser Wert u ExtrafieldParamHelpselect=Die Liste der Werte muss aus Zeilen mit dem Format Schlüssel, Wert bestehen (wobei Schlüssel nicht '0' sein darf)

    zum Beispiel:
    1, value1
    2, value2
    Code3, Wert3
    ...

    Damit die Liste von einer anderen ergänzenden Attributliste abhängt:
    1, value1 | options_ parent_list_code : parent_key
    2, value2 | options_ parent_list_code : parent_key

    Um die Liste von einer anderen Liste abhängig zu machen:
    1, value1 | parent_list_code : parent_key
    2, value2 | parent_list_code : parent_key ExtrafieldParamHelpcheckbox=Die Liste der Werte muss aus Zeilen mit dem Format Schlüssel, Wert bestehen (wobei Schlüssel nicht '0' sein darf)

    zum Beispiel:
    1, value1
    2, value2
    3, value3
    ... ExtrafieldParamHelpradio=Die Liste der Werte muss aus Zeilen mit dem Format Schlüssel, Wert bestehen (wobei Schlüssel nicht '0' sein darf)

    zum Beispiel:
    1, value1
    2, value2
    3, value3
    ... -ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpsellist=Die Liste der Werte stammt aus einer Tabelle
    Syntax: table_name:label_field:id_field::filtersql
    Beispiel: c_typent:libelle:id::filtersql

    - id_field ist notwendigerweise ein primärer int-Schlüssel
    - filtersql ist eine SQL-Condition. Dies kann ein einfacher Test sein (z. B. aktiv = 1), um nur den aktiven Wert anzuzeigen
    Sie können auch $ID$ in Filtern verwenden, wobei es sich um die ID des aktuellen Objekts handelt
    Verwenden Sie $SEL$, um ein SELECT im Filter durchzuführen (Vermeidung von Anti-SQL-Injection-Maßnahmen)
    Wenn Sie nach Extrafeldern filtern möchten, verwenden Sie die Syntax extra.fieldcode = ... (wobei fieldcode der Code des Extrafelds ist)

    Damit die Liste von einer anderen ergänzenden Attributliste abhängt:
    c_typent:libelle:id:options_ parent_list_code |parent_column:filter

    Um die Liste von einer anderen Liste abhängig zu machen:
    c_typent:libelle:id: parent_list_code |parent_column:filter +ExtrafieldParamHelpchkbxlst=Die Liste der Werte stammt aus einer Tabelle
    Syntax: table_name: label_field: id_field :: filter
    Beispiel: c_typent: libelle: id :: filter

    Filter kann ein einfacher Vergleich sein (z. B. aktiv = 1), um nur den aktiven Wert anzuzeigen
    Sie können $ID$ auch in Filtern verwenden, hierbei handelt es sich um die aktuelle ID des aktuellen Objekts
    Verwenden Sie $SEL$, um ein SELECT im Filter durchzuführen
    Wenn Sie nach Extrafeldern filtern möchten, verwenden Sie die Syntax extra.fieldcode = ... (wobei fieldcode der Code des Extrafelds ist)

    Damit die Liste von einer anderen ergänzenden Attributliste abhängt:
    c_typent: libelle: id: options_ parent_list_code | parent_column: filter

    Um die Liste von einer anderen Liste abhängig zu machen:
    c_typent: libelle: id: parent_list_code | parent_column: filter ExtrafieldParamHelplink=Die Parameter müssen ObjectName: Classpath
    sein. Syntax: ObjectName: Classpath ExtrafieldParamHelpSeparator=Für ein einfaches Trennzeichen leer lassen
    Setzen Sie diesen Wert für ein ausblendendes Trennzeichen auf 1 (standardmäßig für eine neue Sitzung geöffnet, der Status wird für jede Benutzersitzung beibehalten)
    Setzen Sie diesen Wert für ein ausblendendes Trennzeichen auf 2 (standardmäßig für ausgeblendet) neue Sitzung, dann bleibt der Status für jede Benutzersitzung erhalten) LibraryToBuildPDF=Bibliothek zum Erstellen von PDF-Dateien @@ -538,8 +543,8 @@ Module22Name=E-Mail-Kampagnen Module22Desc=E-Mail-Kampagnen-Verwaltung Module23Name=Energie Module23Desc=Überwachung des Energieverbrauchs -Module25Name=Verkaufsaufträge -Module25Desc=Auftrag- und Verkaufsverwaltung +Module25Name=Kundenaufträge +Module25Desc=Auftrags- und Verkaufsverwaltung Module30Name=Rechnungen Module30Desc=Verwaltung von Rechnungen und Gutschriften für Kunden. Verwaltung von Rechnungen und Gutschriften für Lieferanten Module40Name=Lieferanten/Hersteller @@ -561,7 +566,7 @@ Module53Desc=Management von Dienstleistungen Module54Name=Verträge / Abonnements Module54Desc=Verwaltung von Verträgen (Dienstleistungen oder wiederkehrende Abonnements) Module55Name=Barcodes -Module55Desc=Barcode-Verwaltung +Module55Desc=Verwaltung von Barcodes bzw. QR-Codes Module56Name=Zahlung per Überweisung Module56Desc=Verwaltung der Zahlung von Lieferanten durch Überweisungsaufträge. Es beinhaltet die Erstellung von SEPA-Dateien für europäische Länder. Module57Name=Zahlungen per Lastschrifteinzug @@ -848,10 +853,10 @@ Permission402=Rabatte erstellen/bearbeiten Permission403=Rabatte freigeben Permission404=Rabatte löschen Permission430=Debug Bar nutzen -Permission511=Zahlungen von Gehältern (Ihre und Untergebene) lesen -Permission512=Lohnzahlungen anlegen / ändern -Permission514=Lohn-/Gehaltszahlungen löschen -Permission517= Gehaltszahlungen von allen lesen +Permission511=Leseberechtigung für Gehälter und Zahlungen (eigene und von Untergebenen) +Permission512=Gehälter und Zahlungen erstellen/ändern +Permission514=Gehälter und Zahlungen löschen +Permission517=Leseberechtigung für alle Gehälter und Zahlungen Permission519=Löhne exportieren Permission520=Darlehen anzeigen Permission522=Darlehen erstellen/bearbeiten @@ -965,6 +970,8 @@ Permission23003=Geplante Aufgabe(n) löschen Permission23004=Geplante Aufgaben ausführen Permission50101=Verwenden des Kassenmoduls (SimplePOS) Permission50151=Verwenden des Kassenmoduls (TakePOS) +Permission50152=Zeilen Verkauf bearbeiten +Permission50153=Zeilen bestellte Verkäufe bearbeiten Permission50201=Transaktionen einsehen Permission50202=Transaktionen importieren Permission50330=Lesen Sie Objekte von Zapier @@ -1044,6 +1051,7 @@ DictionaryOpportunityStatus=Verkaufschancen für Projekt/Lead DictionaryExpenseTaxCat=Spesenbericht - Mobilität DictionaryExpenseTaxRange=Spesenreport - Bereich pro Transportkategorie DictionaryTransportMode=Intracomm-Bericht - Transportmodus +DictionaryBatchStatus=Status der Qualitätskontrolle für Produktcharge/Serie TypeOfUnit=Art der Einheit SetupSaved=Einstellungen gespeichert SetupNotSaved=Einstellungen nicht gespeichert @@ -1185,9 +1193,12 @@ SetupDescription2=Die folgenden zwei Punkte sind obligatorisch: SetupDescription3= %s -> %s

    Grundlegende Parameter zum Anpassen des Standardverhaltens Ihrer Anwendung (z. B. für länderbezogene Funktionen). SetupDescription4= %s -> %s

    Diese Software ist eine Suite vieler Module / Anwendungen. Die auf Ihre Bedürfnisse bezogenen Module müssen aktiviert und konfiguriert sein. Menüeinträge werden mit der Aktivierung dieser Module angezeigt. SetupDescription5=Andere Setup-Menüs verwalten optionale Parameter. +SetupDescriptionLink= %s - %s +SetupDescription3b=Grundlegende Parameter, um das Standardverhalten Ihrer Anwendung anzupassen (z. B. für länderbezogene Funktionen). +SetupDescription4b=Diese Software umfasst zahlreiche Module/Anwendungen. Die von Ihnen benötigten Module müssen aktiviert und konfiguriert werden. Bei der Aktivierung dieser Module erscheinen entsprechende Menüeinträge. AuditedSecurityEvents=Sicherheitsereignisse, die überwacht werden NoSecurityEventsAreAduited=Es werden keine Sicherheitsereignisse überwacht. Sie können sie über das Menü %s aktivieren -Audit=Protokoll +Audit=Sicherheitsrelevante Ereignisse InfoDolibarr=Über Dolibarr InfoBrowser=Über Ihren Webbrowser InfoOS=Über Ihr Betriebsystem @@ -1195,7 +1206,7 @@ InfoWebServer=Über Ihren Webserver InfoDatabase=Über Ihre Datenbank InfoPHP=Über PHP InfoPerf=Leistungs-Informationen -InfoSecurity=Über Sicherheit +InfoSecurity=Sicherheitsbericht BrowserName=Browsername BrowserOS=Betriebssystem des Browsers ListOfSecurityEvents=Liste der sicherheitsrelevanten Ereignisse @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Ihre PHP-Konfiguration unterstützt keine SSL-Versc DownloadMoreSkins=Weitere grafische Oberflächen herunterladen SimpleNumRefModelDesc=Gibt die Referenznummer im Format %syymm-nnnn zurück, wobei yy das Jahr, mm der Monat und nnnn eine fortlaufende automatisch inkrementierende Nummer ohne Zurücksetzen ist SimpleNumRefNoDateModelDesc=Gibt die Referenznummer im Format %s-nnnn zurück, wobei nnnn eine fortlaufende automatisch inkrementierende Nummer ohne Zurücksetzen ist -ShowProfIdInAddress=Erweiterte Kundendaten im Adressfeld anzeigen -ShowVATIntaInAddress=Umsatzsteuer-ID im Adressfeld ausblenden +ShowProfIdInAddress=Erweiterte Kundendaten (geschäftliche ID-Nummern) im Adressfeld anzeigen +ShowVATIntaInAddress=Umsatzsteuer-ID ausblenden TranslationUncomplete=Teilweise Übersetzung MAIN_DISABLE_METEO=Wetteransicht deaktivieren MeteoStdMod=Standart Modus @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Einstellung ist aktuell %s YouUseBestDriver=Sie verwenden den Treiber %s, dies ist derzeit der best verfügbare. YouDoNotUseBestDriver=Sie verwenden Treiber %s, aber es wird der Treiber %s empfohlen. NbOfObjectIsLowerThanNoPb=Es existieren nur %s %s in Ihrer Datenbank. Dies erfordert daher keine speziellen Optimierungsmaßnahmen. +ComboListOptim=Optimierung beim Laden von Combo-Listen SearchOptim=Such Optimierung -YouHaveXObjectUseSearchOptim=Sie haben %s %s in der Datenbank. Sie können die Konstante %s in Home-Setup-Other zu 1 hinzufügen. Beschränken Sie die Suche auf den Anfang von Zeichenfolgen, damit die Datenbank Indizes verwenden kann, und Sie sollten sofort eine Antwort erhalten. -YouHaveXObjectAndSearchOptimOn=Sie haben %s %s in der Datenbank und die Konstante %s ist in Home-Setup-Other auf 1 gesetzt. +YouHaveXObjectUseComboOptim=Sie haben %s %s in der Datenbank. Sie können im Setup des Moduls das Laden der Combo-Liste auf Tastendruck aktivieren. +YouHaveXObjectUseSearchOptim=Sie haben %s %s in der Datenbank. Sie können in Start-Einstellungen-Erweiterte Einstellungen den Wert %s auf 1 setzen. +YouHaveXObjectUseSearchOptimDesc=Beschränkung der Suche auf den Anfang von Zeichenketten. Dadurch kann die Datenbank Indizes verwenden, was die Antwortzeiten deutlich beschleunigt. +YouHaveXObjectAndSearchOptimOn=Sie haben %s %s in der Datenbank und die Konstante %s ist in Start-Einstellungen-Erweiterte Einstellungen auf %s gesetzt. BrowserIsOK=Sie verwenden %s als Webbrowser. Dieser ist hinsichtlich Sicherheit und Leistung ausreichend. BrowserIsKO=Sie verwenden %s als Webbrowser. Dieser ist bekanntlich eine schlechte Wahl wenn es um Sicherheit, Leistung und Zuverlässigkeit geht. Wir empfehlen Firefox, Chrome, Opera oder Safari zu benutzen. PHPModuleLoaded=PHP Komponente %s ist geladen @@ -1407,8 +1421,8 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Frage nach Lager für Aufträge ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Frage nach der Ziel-Bankverbindung der Lieferantenbestellung ##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Vorgeschlagener, standardmäßiger Zahlungsmodus für Verkaufsaufträge, falls nicht in der Bestellung definiert -OrdersSetup=Einstellungen für die Verwaltung von Verkaufsaufträgen +SuggestedPaymentModesIfNotDefinedInOrder=Vorgeschlagener, standardmäßiger Zahlungsmodus für Kundenaufträge, falls nicht in der Bestellung definiert +OrdersSetup=Einstellungen für die Verwaltung von Kundenaufträgen OrdersNumberingModules=Nummernvergabe für Bestellungen OrdersModelModule=Dokumentenvorlage(n) FreeLegalTextOnOrders=Freier Rechtstext auf Bestellungen @@ -1433,6 +1447,7 @@ MemberMainOptions=Haupteinstellungen AdherentLoginRequired= Verwalten Sie eine Anmeldung für jedes Mitglied AdherentMailRequired=Für das Anlegen eines neuen Mitglieds ist eine E-Mail-Adresse erforderlich MemberSendInformationByMailByDefault=Das Kontrollkästchen für den automatischen Versand einer E-Mail-Bestätigung an Mitglieder (bei Freigabe oder neuem Abonnement) ist standardmäßig aktiviert +MemberCreateAnExternalUserForSubscriptionValidated=Externes Benutzer-Login für jedes validierte neue Mitgliedsabonnement erstellen VisitorCanChooseItsPaymentMode=Der Besucher kann aus verschiedenen Zahlungsmethoden auswählen MEMBER_REMINDER_EMAIL=Aktivieren Sie die automatische Erinnerung per E-Mail an abgelaufene Abonnements. Hinweis: Das Modul %s muss aktiviert und ordnungsgemäß eingerichtet sein, damit Erinnerungen gesendet werden können. MembersDocModules=Dokumentvorlagen für Dokumente, die aus dem Mitgliedsdatensatz generiert wurden @@ -1580,7 +1595,7 @@ ForANonAnonymousAccess=Für einen authentifizierten Zugang (z.B. für Schreibzug PerfDolibarr=Leistungs-Einstellungen/Optimierungsreport YouMayFindPerfAdviceHere=Auf dieser Seite finden Sie einige Überprüfungen oder Hinweise zur Leistung. NotInstalled=Nicht installiert. -NotSlowedDownByThis=Nicht dadurch verlangsamt. +NotSlowedDownByThis=Die Leistung wird hierdurch nicht beeinträchtigt. NotRiskOfLeakWithThis=Hiermit keine Verlustgefahr. ApplicativeCache=geeigneter Cache MemcachedNotAvailable=Kein Cache Anwendung gefunden. \nSie können die Leistung durch die Installation des Cache-Server Memcached und die Aktivierung des Moduls Anwendungscache
    hier mehr Informationen http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
    \nverbessern.\nBeachten Sie, dass viele Billig-Provider keine solche Cache-Server in ihrer Infrastruktur anbieten. @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Welche Standardansicht soll geöffnet werden, wenn das Menü AGENDA_REMINDER_BROWSER=Aktiviere die Ereigniserinnerung im Browser des Benutzers. (Wenn das Erinnerungsdatum erreicht ist, wird vom Browser ein Popup angezeigt. Jeder Benutzer kann solche Benachrichtigungen in seinem Browser-Benachrichtigungs-Setup deaktivieren.) AGENDA_REMINDER_BROWSER_SOUND=Aktiviere Tonbenachrichtigung AGENDA_REMINDER_EMAIL=Aktiviere die Ereigniserinnerung per E-Mail (Erinnerungsoption / Verzögerung kann für jedes Ereignis definiert werden). -AGENDA_REMINDER_EMAIL_NOTE=Hinweis: Die Häufigkeit der Aufgabe %s muss ausreichen, um sicherzustellen, dass die Erinnerung zum richtigen Zeitpunkt gesendet wird. +AGENDA_REMINDER_EMAIL_NOTE=Hinweis: Die Häufigkeit des geplanten Jobs %s muss ausreichend sein, um sicherzustellen, dass die Erinnerung zum richtigen Zeitpunkt gesendet wird. AGENDA_SHOW_LINKED_OBJECT=Verknüpfte Objekte in Agenda anzeigen ##### Clicktodial ##### ClickToDialSetup=Click-to-Dial Moduleinstellungen ClickToDialUrlDesc=URL, die bei einem Klick auf das Telefonsymbol aufgerufen werden soll. In dieser URL können die folgenden Tags verwendet werden:
    __PHONETO__ Telefonnummer des Angerufenen
    __PHONEFROM__ Telefonnummer des Anrufers (Ihre)
    __LOGIN__ Ihren Benutzernamen für Click-to-Dial (siehe Benutzerdaten)
    __PASS__ Ihr Click-to-Dial-Passwort (siehe Benutzerdaten). ClickToDialDesc=Dieses Modul formatiert Telefonnummern als direkt anklickbare Links auf Desktop-PCs. Ein Klick wählt die Nummer. Damit kann ein Telefonanruf direkt gestartet werden, wenn Softphones oder SIP-Telefone verwendet werden. Hinweis: Auf Smartphones sind Telefonnummern immer anklickbar. ClickToDialUseTelLink=Nur einen Link "Tel:" bei Telefonnummern verwenden -ClickToDialUseTelLinkDesc=Benutzen Sie diese Methode, wenn Ihre Benutzer ein Software-Telefon oder ein Interface für ein Telefon auf demselben Computer wie der Browser installiert haben. Dieses Telefon/Interface wird aufgerufen, wenn Sie auf einen Link klicken, der mit "tel:" beginnt. Wenn Sie eine vollständige Server-Lösung nutzen wollen (ohne lokale Software-Installation), wählen Sie hier "Nein" und füllen das nächste Feld. +ClickToDialUseTelLinkDesc=Verwenden Sie diese Methode, wenn Ihre Benutzer ein Software-Telefon oder ein Interface für ein Telefon auf demselben Computer installiert haben, auf dem der Browser läuft. Dieses Telefon/Interface wird aufgerufen, wenn Sie im Browser auf einen Link klicken, der mit "tel:" beginnt. Wenn Sie einen Link verwenden wollen, der mit "sip:" beginnt, oder wenn Sie eine vollständige Serverlösung nutzen (ohne lokale Software-Installation), wählen Sie hier "Nein" und füllen das nächste Feld aus.\n ##### Point Of Sale (CashDesk) ##### CashDesk=Kasse CashDeskSetup=Kassenmoduleinstellungen @@ -1917,7 +1932,7 @@ ExpectedSize=Erwartete Größe CurrentSize=Derzeitige Größe ForcedConstants=Erforderliche Parameter Werte MailToSendProposal=Kunden Angebote -MailToSendOrder=Verkaufsaufträge +MailToSendOrder=Kundenaufträge MailToSendInvoice=Kundenrechnungen MailToSendShipment=Lieferungen MailToSendIntervention=Serviceaufträge @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Rechter Rand im PDF MAIN_PDF_MARGIN_TOP=Oberer Rand im PDF MAIN_PDF_MARGIN_BOTTOM=Unterer Rand im PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Höhe des Logos im PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Angebotszeile um Bild ergänzen +PROPOSAL_PDF_HIDE_PAYMENTTERM=Zahlungsbedingungen ausblenden +PROPOSAL_PDF_HIDE_PAYMENTMODE=Zahlungsmodus ausblenden +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Füge elektronische Signatur zu PDF hinzu NothingToSetup=Dieses Modul benötigt keine speziellen Einstellungen. SetToYesIfGroupIsComputationOfOtherGroups=Setzen Sie dieses Fehld auf Ja, wenn diese Gruppe eine Berechnung von anderen Gruppen ist EnterCalculationRuleIfPreviousFieldIsYes=Geben Sie die Berechnungsregel ein, wenn das vorherige Feld auf Ja gesetzt wurde.
    Zum Beispiel:
    CODEGRP1 + CODEGRP2 @@ -2066,7 +2085,7 @@ WarningValueHigherSlowsDramaticalyOutput=Warnung, höhere Werte verlangsamen die ModuleActivated=Modul %s is aktiviert und verlangsamt die Overfläche ModuleActivatedWithTooHighLogLevel=Das Modul %s wird mit einer zu hohen Protokollierungsstufe aktiviert (versuchen Sie, eine niedrigere Stufe für bessere Leistung und Sicherheit zu verwenden). ModuleSyslogActivatedButLevelNotTooVerbose=Das Modul %s ist aktiviert und die Protokollstufe (%s) ist korrekt (nicht zu ausführlich). -IfYouAreOnAProductionSetThis=Wenn Sie sich in einer Produktionsumgebung befinden, sollten Sie diese Eigenschaft auf %s setzen. +IfYouAreOnAProductionSetThis=Wenn Sie sich in einer Produktivumgebung befinden, sollten Sie diese Eigenschaft auf %s setzen. AntivirusEnabledOnUpload=Antivirus für hochgeladene Dateien aktiviert SomeFilesOrDirInRootAreWritable=Einige Dateien oder Verzeichnisse sind nicht schreibgeschützt EXPORTS_SHARE_MODELS=Exportmodelle sind für jeden zugänglich. @@ -2078,7 +2097,7 @@ LargerThan=Größer als IfTrackingIDFoundEventWillBeLinked=Beachten Sie, dass das erstellte Ereignis automatisch mit dem bekannten verwandten Objekt verknüpft wird, wenn eine Tracking-ID eines Objekts in einer E-Mail gefunden wird oder wenn die E-Mail eine Antwort auf eine E-Mail ist, die bereits gesammelt und mit einem Objekt verknüpft wurde. WithGMailYouCanCreateADedicatedPassword=Wenn Sie bei einem GMail-Konto die 2-stufige Validierung aktiviert haben, wird empfohlen, ein spezielles zweites Passwort für die Anwendung zu erstellen, anstatt Ihr eigenes Konto-Passwort von https://myaccount.google.com/. zu verwenden. EmailCollectorTargetDir=Es kann ein erwünscht sein, die E-Mail in ein anderes Tag / Verzeichnis zu verschieben, wenn sie erfolgreich verarbeitet wurde. Legen Sie hier einfach den Namen des Verzeichnisses fest, um diese Funktion zu verwenden (verwenden Sie KEINE Sonderzeichen im Namen). Beachten Sie, dass Sie auch ein Lese- / Schreib-Anmeldekonto verwenden müssen. -EmailCollectorLoadThirdPartyHelp=Mit dieser Aktion können Sie den E-Mail-Inhalt verwenden, um einen vorhandenen Dritten in Ihrer Datenbank zu suchen und zu laden. Der gefundene (oder erstellte) Drittanbieter wird für die folgenden erforderlichen Aktionen verwendet. Im Parameterfeld können Sie zum Beispiel 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' verwenden, wenn Sie den Namen des Drittanbieters aus einer Zeichenfolge 'Name: Name zu finden' extrahieren, und in den body einfügen möchten. +EmailCollectorLoadThirdPartyHelp=Mit dieser Aktion können Sie den E-Mail-Inhalt verwenden, um einen vorhandenen Geschäftspartner in Ihrer Datenbank zu finden und zu bearbeiten. Der gefundene (oder neu erstellte) Geschäftspartner wird durch die nachfolgenden Aktionen modifiziert.
    Wenn Sie beispielsweise aus einer empfangenen E-Mail, in der die Zeichenfolge "Name: Peter Lustig" vorkommt, einen Geschäftspartner erstellen möchten, können Sie seinen Namen und seine E-Mail-Adresse durch das entsprechende Setzen der Parameter aus der E-Mail extrahieren:
    'email=HEADER: ^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Endpunkt für %s:%s DeleteEmailCollector=Lösche eMail-Collector ConfirmDeleteEmailCollector=Sind Sie sicher, dass Sie diesen eMail-Collector löschen wollen? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Projekt im Dokument anzeigen ShowProjectLabel=Projektbezeichnung PDF_USE_ALSO_LANGUAGE_CODE=Wenn Sie möchten, dass einige Texte in Ihrem PDF in 2 verschiedenen Sprachen in demselben generierten PDF dupliziert werden, müssen Sie hier diese zweite Sprache festlegen, damit das generierte PDF zwei verschiedene Sprachen auf derselben Seite enthält, die beim Generieren von PDF ausgewählte und diese (dies wird nur von wenigen PDF-Vorlagen unterstützt). Für 1 Sprache pro PDF leer halten. FafaIconSocialNetworksDesc=Gib hier den Code für ein FontAwesome icon ein. Wenn du FontAwesome nicht kennst, kannst du den Standard 'fa-address-book' benutzen. -FeatureNotAvailableWithReceptionModule=Funtion nicht verfügbar, wenn Modul Wareneingang aktiviert ist RssNote=Hinweis: Jede RSS-Feed-Definition enthält ein Widget, das Sie aktivieren müssen, damit es im Dashboard verfügbar ist JumpToBoxes=Wechseln Sie zu Einstellungen -> Widgets MeasuringUnitTypeDesc=Verwenden Sie hier einen Wert wie "Größe", "Oberfläche", "Volumen", "Gewicht", "Zeit". @@ -2113,19 +2131,31 @@ ModuleActivatedMayExposeInformation=Diese PHP-Erweiterung kann vertrauliche Date ModuleActivatedDoNotUseInProduction=Ein für die Entwicklung entwickeltes Modul wurde aktiviert. Aktivieren Sie es nicht in einer Produktionsumgebung. CombinationsSeparator=Trennzeichen für Produktkombinationen SeeLinkToOnlineDocumentation=Beispiele finden Sie unter dem Link zur Online-Dokumentation im oberen Menü -SHOW_SUBPRODUCT_REF_IN_PDF=Wenn die Funktion "%s" des Moduls %s verwendet wird, werden Details zu Unterprodukten eines Satzes als PDF angezeigt. +SHOW_SUBPRODUCT_REF_IN_PDF=Wenn die Funktion "%s" des Moduls %s verwendet wird, werden Details zu den Unterprodukten eines Kits/Satzes im PDF ausgegeben. AskThisIDToYourBank=Wenden Sie sich an Ihre Bank, um diese ID zu erhalten AdvancedModeOnly=Berechtigung nur im erweiterten Berechtigungsmodus verfügbar ConfFileIsReadableOrWritableByAnyUsers=Die conf-Datei kann von jedem Benutzer gelesen oder beschrieben werden. Geben Sie nur dem Benutzer und der Gruppe des Webservers die Berechtigung. MailToSendEventOrganization=Organisation von Ereignissen +MailToPartnership=Partnerschaft AGENDA_EVENT_DEFAULT_STATUS=Standardereignisstatus beim Erstellen eines Ereignisses aus dem Formular YouShouldDisablePHPFunctions=Sie sollten PHP-Funktionen deaktivieren -IfCLINotRequiredYouShouldDisablePHPFunctions=Außer wenn Sie Systembefehle ausführen müssen (z.B. für das Modul "Geplanter Job" oder zum Ausführen der externen Befehlszeile "Antivirus"), sollten Sie die PHP-Funktionen deaktivieren +IfCLINotRequiredYouShouldDisablePHPFunctions=Sie sollten die PHP-Funktionen deaktivieren, falls Sie keine Systembefehle in benutzerdefiniertem Code ausführen wollen +PHPFunctionsRequiredForCLI=Für Shell-Zwecke (z.B. geplante Jobs für Sicherungen oder die Ausführung eines Antivirus-Programms) müssen Sie PHP-Funktionen beibehalten NoWritableFilesFoundIntoRootDir=In Ihrem Stammverzeichnis wurden keine beschreibbaren Dateien oder Verzeichnisse der gängigen Programme gefunden (gut). RecommendedValueIs=Empfohlen: %s +Recommended=Empfohlen +NotRecommended=Nicht empfohlen ARestrictedPath=Ein eingeschränkter Pfad CheckForModuleUpdate=Suchen Sie nach Updates für externe Module CheckForModuleUpdateHelp=Diese Aktion stellt eine Verbindung zu Editoren externer Module her, um zu überprüfen, ob eine neue Version verfügbar ist. ModuleUpdateAvailable=Eine Aktualisierung ist verfügbar NoExternalModuleWithUpdate=Für externe Module wurden keine Updates gefunden SwaggerDescriptionFile=Swagger API-Beschreibungsdatei (zum Beispiel zur Verwendung mit Redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Sie haben die veraltete WS-API aktiviert. Sie sollten stattdessen die REST-API verwenden. +RandomlySelectedIfSeveral=Zufallsauswahl, wenn mehrere Bilder vorhanden sind +DatabasePasswordObfuscated=Das Datenbankpasswort ist in der conf-Datei verschleiert +DatabasePasswordNotObfuscated=Das Datenbankpasswort ist in der conf-Datei NICHT verschleiert +APIsAreNotEnabled=Es sind keine APIs aktiviert. +YouShouldSetThisToOff=Sollte auf '0' oder 'aus' gesetzt werden +InstallAndUpgradeLockedBy=Installation und Upgrades werden durch die Datei %s gesperrt +OldImplementation=Alte Implementierung diff --git a/htdocs/langs/de_DE/agenda.lang b/htdocs/langs/de_DE/agenda.lang index ed52994e717..f636a41b96e 100644 --- a/htdocs/langs/de_DE/agenda.lang +++ b/htdocs/langs/de_DE/agenda.lang @@ -4,7 +4,7 @@ Actions=Ereignisse Agenda=Terminplan TMenuAgenda=Terminplanung Agendas=Terminpläne -LocalAgenda=interne Kalender +LocalAgenda=Standardkalender ActionsOwnedBy=Ereignis stammt von ActionsOwnedByShort=Eigentümer AffectedTo=Zugewiesen an @@ -20,7 +20,7 @@ MenuToDoActions=Alle unvollst. Termine MenuDoneActions=Alle abgeschlossenen Termine MenuToDoMyActions=Meine unvollst. Termine MenuDoneMyActions=Meine abgeschlossenen Termine -ListOfEvents=Liste Ereignisse (interner Kalender) +ListOfEvents=Liste der Ereignisse (Standardkalender) ActionsAskedBy=Ereignisse eingetragen von ActionsToDoBy=Ereignisse zugewiesen an ActionsDoneBy=Termine erledigt von @@ -38,6 +38,7 @@ ActionsEvents=Veranstaltungen zur automatischen Übernahme in die Agenda EventRemindersByEmailNotEnabled=Aufgaben-/Terminerinnerungen via E-Mail sind in den Einstellungen des Moduls %s nicht aktiviert. ##### Agenda event labels ##### NewCompanyToDolibarr=Partner %s erstellt +COMPANY_MODIFYInDolibarr=Geschäftspartner %s geändert COMPANY_DELETEInDolibarr=Geschäftspartner %s gelöscht ContractValidatedInDolibarr=Vertrag %s freigegeben CONTRACT_DELETEInDolibarr=Vertrag %s gelöscht @@ -87,6 +88,7 @@ OrderDeleted=Auftrag gelöscht InvoiceDeleted=Rechnung gelöscht DraftInvoiceDeleted=Rechnungsentwurf gelöscht CONTACT_CREATEInDolibarr=Kontakt %s erstellt +CONTACT_MODIFYInDolibarr=Kontakt %s geändert CONTACT_DELETEInDolibarr=Kontakt %s gelöscht PRODUCT_CREATEInDolibarr=Produkt %s erstellt PRODUCT_MODIFYInDolibarr=Produkt %s geändert @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=Fertigungsauftrag auf Status 'Entwurf' gesetzt MRP_MO_PRODUCEDInDolibarr=Fertigungsauftrag produziert MRP_MO_DELETEInDolibarr=Fertigungsauftrag gelöscht MRP_MO_CANCELInDolibarr=Fertigungsauftrag storniert +PAIDInDolibarr=%s bezahlt ##### End agenda events ##### AgendaModelModule=Dokumentvorlagen für Ereignisse DateActionStart=Beginnt @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s begrenzt die Ausgabe auf den Benutzer %sproject=__PROJECT_ID__ um nur Aktionen zum Projekt __PROJECT_ID__ auszugeben. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto um automatische Events auszuschliessen. AgendaUrlOptionsIncludeHolidays= includeseholidays = 1 , um Ereignisse von Feiertagen einzuschließen. -AgendaShowBirthdayEvents=Geburtstage von Kontakten anzeigen +AgendaShowBirthdayEvents=Geburtstage der Kontakte AgendaHideBirthdayEvents=Geburtstage von Kontakten nicht anzeigen Busy=Beschäftigt ExportDataset_event1=Liste Ereignisse des Kalender diff --git a/htdocs/langs/de_DE/banks.lang b/htdocs/langs/de_DE/banks.lang index efad27d2642..58e86db14a6 100644 --- a/htdocs/langs/de_DE/banks.lang +++ b/htdocs/langs/de_DE/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Zahlung von Sozialabgaben/Steuern BankTransfer=Überweisung BankTransfers=Überweisungen MenuBankInternalTransfer=interner Transfer -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Verwenden Sie die interne Überweisung, um von einem Konto auf ein anderes zu überweisen. Die Anwendung schreibt zwei Datensätze: eine Belastung auf dem Quellkonto und eine Gutschrift auf dem Zielkonto. Für diese Transaktion werden derselbe Betrag, Bezeichnung und Datum verwendet. TransferFrom=von TransferTo=bis TransferFromToDone=Eine Überweisung von %s nach %s iHv %s %s wurde verbucht. CheckTransmitter=Absenderadresse ValidateCheckReceipt=Rechnungseingang gültig? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Möchten Sie diesen Scheckbeleg wirklich zur Validierung einreichen? Nach der Validierung sind keine Änderungen mehr möglich. DeleteCheckReceipt=Wollen Sie diesen Rechnungseingang löschen? ConfirmDeleteCheckReceipt=Sind Sie sicher, dass Sie diesen Rechnungseingang löschen wollen? BankChecks=Bankschecks @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Sind Sie sicher, dass Sie diese Transaktion löschen wo ThisWillAlsoDeleteBankRecord=Dadurch werden auch erzeugte Kontoauszüge gelöscht BankMovements=Bankbewegungen PlannedTransactions=Geplante Transaktionen -Graph=Graphs +Graph=Diagramme ExportDataset_banque_1=Transaktionen und Kontoauszug ExportDataset_banque_2=Einzahlungsbeleg TransactionOnTheOtherAccount=Transaktion auf dem anderem Konto @@ -142,7 +142,7 @@ AllAccounts=Alle Finanzkonten BackToAccount=Zurück zum Konto ShowAllAccounts=Alle Finanzkonten FutureTransaction=Zukünftige Transaktion. Ausgleichen nicht möglich. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Wählen/filtern Sie die Schecks, die in den Scheckeinzahlungsbeleg aufgenommen werden sollen. Klicken Sie anschließend auf „Erstellen“. InputReceiptNumber=Wählen Sie den Kontoauszug der mit der Zahlung übereinstimmt. Verwenden Sie einen sortierbaren numerischen Wert: YYYYMM oder YYYYMMDD EventualyAddCategory=Wenn möglich Kategorie angeben, in der die Daten eingeordnet werden ToConciliate=auszugleichen ? @@ -181,4 +181,4 @@ BankColorizeMovementName1=Hintergrundfarbe für Debit-Bewegung BankColorizeMovementName2=Hintergrundfarbe für Kredit-Bewegung IfYouDontReconcileDisableProperty=Wenn Sie auf einigen Bankkonten keine Bankkontenabgleiche vornehmen, deaktivieren Sie die Eigenschaft "%s", um diese Warnung zu entfernen. NoBankAccountDefined=Kein Bankkonto definiert -NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. +NoRecordFoundIBankcAccount=Kein Datensatz im Bankkonto gefunden. Dies ist in der Regel der Fall, wenn ein Datensatz manuell aus der Transaktionsliste des Bankkontos gelöscht wurde (z. B. bei einer Abstimmung des Bankkontos). Ein weiterer Grund ist, dass die Zahlung aufgezeichnet wurde, als das Modul "%s" deaktiviert war. diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index 6e2b4dad58e..4b0c1d848f0 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Fälligkeitsdatum DateInvoice=Rechnungsdatum DatePointOfTax=Steuerort NoInvoice=Keine Rechnung +NoOpenInvoice=Keine offene Rechnung ClassifyBill=Rechnung einordnen SupplierBillsToPay=Unbezahlte Lieferantenrechnungen CustomerBillsUnpaid=Offene Kundenrechnungen @@ -521,9 +522,9 @@ PDFCrabeDescription=Rechnung PDF-Vorlage Crabe. Eine vollständige Rechnungsvorl PDFSpongeDescription=Rechnung PDF-Vorlage Sponge. Eine vollständige Rechnungsvorlage PDFCrevetteDescription=PDF Rechnungsvorlage Crevette. Vollständige Rechnungsvolage für normale Rechnungen TerreNumRefModelDesc1=Gibt eine Nummer im Format %syymm-nnnn für Standardrechnungen und %syymm-nnnn für Gutschriften zurück, wobei yy das Jahr, mm der Monat und nnnn eine sequenzielle automatisch inkrementierende Nummer ohne Unterbrechung und ohne Zurücksetzen auf 0 ist -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +MarsNumRefModelDesc1=Liefere Nummer im Format %syymm-nnnn für Standardrechnungen %syymm-nnnn für Ersatzrechnung, %syymm-nnnn für Anzahlungsrechnung und %syymm-nnnn für Gutschriften wobei yy Jahr, mm Monat und nnnn eine laufende Nummer ohne Unterbrechung und ohne Rückkehr zu 0 ist. TerreNumRefModelError=Eine Rechnung, beginnend mit $ syymm existiert bereits und ist nicht kompatibel mit diesem Modell der Reihe. Entfernen oder umbenennen, um dieses Modul. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +CactusNumRefModelDesc1=Rückgabenummer im Format %syymm-nnnn für Standard-Rechnungen, %syymm-nnnn für Gutschriften und %syymm-nnnn für Anzahlungsrechnungen, wobei yy das Jahr ist, mm der Monat und nnnn ein ansteigender, lückenloser Zähler ist EarlyClosingReason=Grund für die vorzeitige Schließung EarlyClosingComment=Notiz zur vorzeitigen Schließung ##### Types de contacts ##### @@ -589,3 +590,4 @@ FacParentLine=Übergeordnete Rechnungszeile SituationTotalRayToRest=Restbetrag zu zahlen ohne Steuern PDFSituationTitle=Situation Nr. %d SituationTotalProgress=Gesamtfortschritt %d %% +SearchUnpaidInvoicesWithDueDate=Suche unbezahlte Rechnungen mit Fälligkeitsdatum = %s diff --git a/htdocs/langs/de_DE/blockedlog.lang b/htdocs/langs/de_DE/blockedlog.lang index 65396077e9f..a9cadcb60c7 100644 --- a/htdocs/langs/de_DE/blockedlog.lang +++ b/htdocs/langs/de_DE/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Unveränderbare Logs ShowAllFingerPrintsMightBeTooLong=Unveränderbare Logs anzeigen (kann lange dauern...) ShowAllFingerPrintsErrorsMightBeTooLong=Non valid Logs anzeigen (kann lange dauern) DownloadBlockChain=Fingerprints herunterladen -KoCheckFingerprintValidity=Der archivierte Protokolleintrag ist ungültig. Dies bedeutet, dass Daten dieses Datensatzes nach der Aufzeichnung geändert wurden oder der vorherige archivierte Datensatz gelöscht wurde (überprüfen Sie, ob die Zeile mit dem vorangestellten # vorhanden ist). +KoCheckFingerprintValidity=Der archivierte Protokolleintrag ist ungültig. Das bedeutet, dass Daten dieses Datensatzes geändert wurden, nachdem er protokolliert wurde, und/oder dass der vorherige protokollierte Datensatz gelöscht wurde (prüfen Sie, dass die Zeile mit der vorhergehenden Zeilennummer existiert) und/oder dass die Prüfsumme des vorherigen Datensatzes nachträglich geändert wurde. OkCheckFingerprintValidity=Der archivierte Protokolleintrag ist gültig. Die Daten in dieser Zeile wurden nicht geändert und der Eintrag folgt dem Vorherigen. OkCheckFingerprintValidityButChainIsKo=Der archivierte Logeintrag scheint im Vergleich zum vorherigen gültig zu sein, aber die vorangehende Eintragskette wurde beschädigt. AddedByAuthority=In der Remote-Instanz gespeichert diff --git a/htdocs/langs/de_DE/boxes.lang b/htdocs/langs/de_DE/boxes.lang index 642ab786f41..79428ef6fc2 100644 --- a/htdocs/langs/de_DE/boxes.lang +++ b/htdocs/langs/de_DE/boxes.lang @@ -35,21 +35,21 @@ BoxTitleLastCustomersOrProspects=Neueste Kunden oder Interessenten (maximal %s) BoxTitleLastCustomerBills=Zuletzt bearbeitete Kundenrechnungen (maximal %s) BoxTitleLastSupplierBills=Zuletzt bearbeitete Lieferantenrechnungen (maximal %s) BoxTitleLastModifiedProspects=Zuletzt bearbeitete Interessenten (maximal %s) -BoxTitleLastModifiedMembers=%s neueste Mitglieder +BoxTitleLastModifiedMembers= Neueste Mitglieder (maximal %s) BoxTitleLastFicheInter=Zuletzt bearbeitete Serviceaufträge (maximal %s) BoxTitleOldestUnpaidCustomerBills=Älteste offene Kundenrechnungen (maximal %s) -BoxTitleOldestUnpaidSupplierBills=älteste offene Lieferantenrechnungen (maximal %s) +BoxTitleOldestUnpaidSupplierBills=Älteste offene Lieferantenrechnungen (maximal %s) BoxTitleCurrentAccounts=Salden offene Konten BoxTitleSupplierOrdersAwaitingReception=Lieferantenbestellungen warten auf Eingang BoxTitleLastModifiedContacts=Zuletzt bearbeitete Kontakte/Adressen (maximal %s) BoxMyLastBookmarks=Meine %s neuesten Lesezeichen BoxOldestExpiredServices=Die ältesten abgelaufenen aktiven Dienste -BoxLastExpiredServices=Letzte %s älteste Kontake mit aktiven abgelaufenen Diensten. +BoxLastExpiredServices=Neueste Verträge mit abgelaufenen Leistungen (maximal %s) BoxTitleLastActionsToDo=Anstehende Termine / Aufgaben (maximal %s) -BoxTitleLastContracts=Letzte %s-Verträge, die geändert wurden +BoxTitleLastContracts=Zuletzt bearbeitete Verträge (maximal %s) BoxTitleLastModifiedDonations=Letzte %s Spenden, die geändert wurden BoxTitleLastModifiedExpenses=Neueste %s Spesenabrechnungen, die geändert wurden -BoxTitleLatestModifiedBoms=Neueste %s-Stücklisten, die geändert wurden +BoxTitleLatestModifiedBoms=Neueste %s Stücklisten, die geändert wurden BoxTitleLatestModifiedMos=Neueste %s Fertigungsaufträge, die geändert wurden BoxTitleLastOutstandingBillReached=Kunden mit überschrittenen Maximal-Aussenständen BoxGlobalActivity=Globale Aktivität (Rechnungen, Angebote, Aufträge) @@ -87,12 +87,12 @@ NoTooLowStockProducts=Keine Produkte unter der Minimalgrenze BoxProductDistribution=Verteilung von Produkten/Leistungen ForObject=Auf %s BoxTitleLastModifiedSupplierBills=Zuletzt bearbeitete Lieferantenrechnungen (maximal %s) -BoxTitleLatestModifiedSupplierOrders=zuletzt bearbeitete Lieferantenbestellungen (maximal %s) +BoxTitleLatestModifiedSupplierOrders=Zuletzt bearbeitete Lieferantenbestellungen (maximal %s) BoxTitleLastModifiedCustomerBills=Zuletzt bearbeitete Kundenrechnungen (maximal %s) BoxTitleLastModifiedCustomerOrders=Zuletzt bearbeitete Kundenaufträge (maximal %s) BoxTitleLastModifiedPropals=Zuletzt bearbeitete Angebote (maximal %s) -BoxTitleLatestModifiedJobPositions=Neueste %s geänderte Jobs -BoxTitleLatestModifiedCandidatures=Neueste %s modifizierte Kandidaturen +BoxTitleLatestModifiedJobPositions=Neueste %s geänderte Stellenangebote +BoxTitleLatestModifiedCandidatures=Neueste %s geänderte Bewerbungen ForCustomersInvoices=Kundenrechnungen ForCustomersOrders=Kundenaufträge ForProposals=Angebote @@ -101,7 +101,7 @@ ChooseBoxToAdd=Widget zu Ihrer Startseite hinzufügen BoxAdded=Widget wurde zu Ihrer Startseite hinzugefügt BoxTitleUserBirthdaysOfMonth=Geburtstage in diesem Monat (Benutzer) BoxLastManualEntries=letzte Einträge in der Buchhaltung, manuell oder ohne Quelldokument eingegeben -BoxTitleLastManualEntries=%s letzter Datensatz, der manuell oder ohne Quelldokument eingegeben wurde +BoxTitleLastManualEntries=%s neueste Datensätze, die manuell oder ohne Beleg erstellt wurden NoRecordedManualEntries=In der Buchhaltung sind keine manuellen Einträge erfasst BoxSuspenseAccount=Zähle die Buchhaltungsoperation mit dem Zwischenonto BoxTitleSuspenseAccount=Anzahl nicht zugewiesener Zeilen diff --git a/htdocs/langs/de_DE/cashdesk.lang b/htdocs/langs/de_DE/cashdesk.lang index 7dce553f330..011065c558c 100644 --- a/htdocs/langs/de_DE/cashdesk.lang +++ b/htdocs/langs/de_DE/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =  Das Tag
    {TN} wird zum Hinzufügen de TakeposGroupSameProduct=Gruppieren Sie dieselben Produktlinien StartAParallelSale=Starten Sie einen neuen Parallelverkauf SaleStartedAt=Der Verkauf begann bei %s -ControlCashOpening=Kontrollieren Sie das Popup-Fenster beim Öffnen des POS +ControlCashOpening=Das "Kasse kontrollieren" Popup-Fenster anzeigen beim Öffnen des POS CloseCashFence=Schließen Sie die Kassensteuerung CashReport=Kassenbericht MainPrinterToUse=Quittungsdrucker @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Das Modul Belegdrucker muss zuerst aktiviert w AllowDelayedPayment=Verzögerte Zahlung zulassen PrintPaymentMethodOnReceipts=Zahlungsmethode auf Tickets | Quittungen drucken WeighingScale=Waage -ShowPriceHT = Zeigen Sie den Preis ohne Steuerspalte an -ShowPriceHTOnReceipt = Zeigen Sie den Preis ohne Steuerspalte auf der Quittung an +ShowPriceHT = Preisspalte ohne Steuern anzeigen (auf dem Bildschirm) +ShowPriceHTOnReceipt = Preisspalte ohne Steuern ausgeben (auf der Quittung) +CustomerDisplay=Kundendisplay diff --git a/htdocs/langs/de_DE/commercial.lang b/htdocs/langs/de_DE/commercial.lang index 98276414cc5..8b053d56150 100644 --- a/htdocs/langs/de_DE/commercial.lang +++ b/htdocs/langs/de_DE/commercial.lang @@ -64,10 +64,11 @@ ActionAC_SHIP=Lieferschein senden ActionAC_SUP_ORD=Lieferantenbestellung per E-Mail versenden ActionAC_SUP_INV=Lieferanten-Rechnung per E-Mail versenden ActionAC_OTH=Sonstiges -ActionAC_OTH_AUTO=Automatisch eingefügte Ereignisse +ActionAC_OTH_AUTO=Andere Automatisch ActionAC_MANUAL=Manuell eingefügte Ereignisse ActionAC_AUTO=Automatisch eingefügte Ereignisse -ActionAC_OTH_AUTOShort=Automatisch +ActionAC_OTH_AUTOShort=Sonstige +ActionAC_EVENTORGANIZATION=Ereignisse Veranstaltungsorganisation Stats=Verkaufsstatistiken StatusProsp=Kontaktstatus DraftPropals=Entworfene Angebote diff --git a/htdocs/langs/de_DE/companies.lang b/htdocs/langs/de_DE/companies.lang index c768096dfed..c8c60f8995b 100644 --- a/htdocs/langs/de_DE/companies.lang +++ b/htdocs/langs/de_DE/companies.lang @@ -439,7 +439,7 @@ ListSuppliersShort=Liste der Lieferanten ListProspectsShort=Liste der Interessenten ListCustomersShort=Liste der Kunden ThirdPartiesArea=Partner und Kontakte -LastModifiedThirdParties=Neueste %s Drittanbieter, die geändert wurden +LastModifiedThirdParties=Zuletzt bearbeitete Geschäftspartner (maximal %s) UniqueThirdParties=Gesamtzahl der Drittanbieter InActivity=aktiv ActivityCeased=inaktiv diff --git a/htdocs/langs/de_DE/compta.lang b/htdocs/langs/de_DE/compta.lang index eddf7ee9a60..24183763534 100644 --- a/htdocs/langs/de_DE/compta.lang +++ b/htdocs/langs/de_DE/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Kaufumsatz in Rechnung gestellt ReportPurchaseTurnoverCollected=Kaufumsatz gesammelt IncludeVarpaysInResults = Nehmen Sie verschiedene Zahlungen in Berichte auf IncludeLoansInResults = Kredite in Berichte aufnehmen +InvoiceLate30Days = Überf. Rechnungen ( > 30 Tage) +InvoiceLate15Days = Überf. Rechnungen ( > 15 Tage) +InvoiceLateMinus15Days = Überfällige Rechnungen +InvoiceNotLate = Fällig in weniger als 15 Tagen +InvoiceNotLate15Days = Fällig in 15 Tagen +InvoiceNotLate30Days = Fällig in 30 Tagen diff --git a/htdocs/langs/de_DE/cron.lang b/htdocs/langs/de_DE/cron.lang index 16b0ab2b940..ac87713d6b8 100644 --- a/htdocs/langs/de_DE/cron.lang +++ b/htdocs/langs/de_DE/cron.lang @@ -24,8 +24,8 @@ CronLastOutput=Ausgabe der letzten Ausführung CronLastResult=Letzter Resultatcode CronCommand=Befehl CronList=Geplante Aufträge -CronDelete=cronjobs löschen -CronConfirmDelete=Sind Sie sicher, dass Sie diese geplante Aufträge jetzt löschen möchten? +CronDelete=Geplante Aufgabe(n) löschen +CronConfirmDelete=Sind Sie sicher, dass Sie diese geplanten Aufträge jetzt löschen möchten? CronExecute=Geplanter Auftrag jetzt ausführen CronConfirmExecute=Sind Sie sicher, dass Sie diese geplante Aufträge jetzt ausführen möchten? CronInfo=Das Modul "Cron-Jobs" erlaubt es Aufgaben zu bestimmten Zeitpunkten auszuführen. Die Aufgaben können auch manuell gestartet werden. @@ -41,7 +41,7 @@ CronClass=Klasse CronMethod=Methode CronModule=Modul CronNoJobs=Keine Jobs eingetragen -CronPriority=Rang +CronPriority=Priorität CronLabel=Bezeichnung CronNbRun=Anzahl Starts CronMaxRun=Maximale Anzahl von Starts @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Enddatum kann nicht vor dem Startdatum liegen StatusAtInstall=Status bei der Modulinstallation CronStatusActiveBtn=Zeitplan CronStatusInactiveBtn=Deaktivieren -CronTaskInactive=Dieser Job ist deaktiviert +CronTaskInactive=Dieser Job ist deaktiviert (keine Ausführung geplant) CronId=ID CronClassFile=Dateiname mit Klasse CronModuleHelp=Name des Dolibarr Modulverzeichnisses (auch für externe Dolibarr Module).
    Um zum Beispiel die Abrufmethode eines Dolibarr Produkt-Objektes aufzurufen /htdocs/product/class/product.class.php, ist der Wert für Modul
    product diff --git a/htdocs/langs/de_DE/deliveries.lang b/htdocs/langs/de_DE/deliveries.lang index c3c906b07e4..03e12567981 100644 --- a/htdocs/langs/de_DE/deliveries.lang +++ b/htdocs/langs/de_DE/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Nicht versandfertig ShowShippableStatus=Versandstatus anzeigen ShowReceiving=Zustellbestätigung anzeigen NonExistentOrder=Auftrag existiert nicht +StockQuantitiesAlreadyAllocatedOnPreviousLines = Bestandsmengen, die bereits in den vorangegangenen Zeilen zugeteilt wurden diff --git a/htdocs/langs/de_DE/donations.lang b/htdocs/langs/de_DE/donations.lang index 026e716694c..1b8ccf1dc67 100644 --- a/htdocs/langs/de_DE/donations.lang +++ b/htdocs/langs/de_DE/donations.lang @@ -32,3 +32,4 @@ DONATION_ART238=Zeige Artikel 238 des CGI, falls Sie betroffen sind DONATION_ART885=Zeige Artikel 885 des CGI, falls Sie betroffen sind DonationPayment=Spendenzahlung DonationValidated=Spende %s validiert +DonationUseThirdparties=Verwenden Sie einen bestehenden Geschäftskontakt als Grundlage von Spenderdaten diff --git a/htdocs/langs/de_DE/ecm.lang b/htdocs/langs/de_DE/ecm.lang index 9df6d3767fd..79d642b0603 100644 --- a/htdocs/langs/de_DE/ecm.lang +++ b/htdocs/langs/de_DE/ecm.lang @@ -41,7 +41,7 @@ FileNotYetIndexedInDatabase=Datei noch nicht in Datenbank indiziert (bitte Datei ExtraFieldsEcmFiles=Extrafelder Ecm-Dateien ExtraFieldsEcmDirectories=Extrafelder Ecm-Verzeichnisse ECMSetup=DMS Einstellungen -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +GenerateImgWebp=Erstelle ein Duplikat aller Bilder im .webp-Format, sofern diese in einem anderen Dateiformat vorliegen +ConfirmGenerateImgWebp=Wenn Sie bestätigen, generieren Sie für alle Bilder, die sich derzeit in diesem Ordner befinden, ein Bild im .webp-Format (Unterordner werden nicht berücksichtigt)... +ConfirmImgWebpCreation=Bestätigen Sie die Duplizierung aller Bilder +SucessConvertImgWebp=Bilder erfolgreich dupliziert diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index d9066c6b552..cc332a7e843 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Ungültiger Wert für Ihren Parameter. Normalerw ErrorRefAlreadyExists=Die Referenz %s ist bereits vorhanden. ErrorLoginAlreadyExists=Benutzername %s existiert bereits. ErrorGroupAlreadyExists=Gruppe %s existiert bereits. +ErrorEmailAlreadyExists=E-Mail %s existiert bereits. ErrorRecordNotFound=Eintrag wurde nicht gefunden. ErrorFailToCopyFile=Konnte die Datei '%s' nicht nach '%s' kopieren. ErrorFailToCopyDir=Konnte Verzeichnis '%s' nicht nach '%s' kopieren. @@ -117,7 +118,7 @@ ErrorCantReadFile=Fehler beim Lesen der Datei '%s' ErrorCantReadDir=Fehler beim Lesen des Verzeichnisses '%s' ErrorBadLoginPassword=Benutzername oder Passwort falsch ErrorLoginDisabled=Ihr Konto wurde deaktiviert -ErrorFailedToRunExternalCommand=Fehler beim Ausführen des externen Befehls. Überprüfen Sie dessen Verfügbarkeit und Ausführbarkeit durch den PHP-Server. Sollte der PHP Safe Mode aktiviert sein, stellen Sie sicher dass der Befehl in einem der safe_mode_exec_dir-Verzeichnisse ausgeführt wird. +ErrorFailedToRunExternalCommand=Fehler beim Ausführen eines externen Befehls. Überprüfen Sie, ob er verfügbar ist und von Ihrem User des PHP-Servers ausgeführt werden kann. Überprüfen Sie auch, dass der Befehl auf Shell-Ebene nicht durch eine Sicherheitslösung wie apparmor geschützt ist. ErrorFailedToChangePassword=Passwortänderung fehlgeschlagen ErrorLoginDoesNotExists=Benutzer mit Anmeldung %s konnte nicht gefunden werden. ErrorLoginHasNoEmail=Dieser Benutzer hat keine E-Mail-Adresse. Prozess abgebrochen. @@ -220,7 +221,7 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=Sie müssen angeben ob der Artike ErrorDiscountLargerThanRemainToPaySplitItBefore=Der Rabatt den Sie anwenden wollen ist grösser als der verbleibende Rechnungsbetrag. Teilen Sie den Rabatt in zwei kleinere Rabatte auf. ErrorFileNotFoundWithSharedLink=Datei nicht gefunden. Eventuell wurde der Sharekey verändert oder die Datei wurde gelöscht. ErrorProductBarCodeAlreadyExists=Der Produktbarcode %sexistiert schon bei einer anderen Produktreferenz -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Beachte auch, dass die Verwendung von Sätzen zum automatischen Erhöhen / Verringern von Unterprodukten nicht möglich ist, wenn mindestens ein Unterprodukt (oder Unterprodukt von Unterprodukten) eine Serien- / Chargennummer benötigt. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Bei Verwendung von Kits/Sätzen ist das automatischen Erhöhen/Verringern von Unterprodukten nicht möglich, sobald eines der Unterprodukte (auch Unterprodukte von Unterprodukten) eine Serien-/Chargennummer benötigt. ErrorDescRequiredForFreeProductLines=Beschreibung ist erforderlich für freie Produkte ErrorAPageWithThisNameOrAliasAlreadyExists=Die Seite/der Container %s hat denselben Namen oder alternativen Alias, den Sie verwenden möchten ErrorDuringChartLoad=Fehler beim Laden des Kontenplans. Wenn einige Konten nicht geladen wurden, können Sie sie trotzdem manuell eingeben. @@ -231,7 +232,7 @@ ErrorURLMustStartWithHttp=Die URL %s muss mit http: // oder https: // beginnen. ErrorHostMustNotStartWithHttp=Der Hostname %s darf NICHT mit http: // oder https: // beginnen ErrorNewRefIsAlreadyUsed=Fehler, die neue Referenz ist bereits in Benutzung ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Fehler, eine zu einer bereits geschlossenen Rechnung gehörende Zahlung kann nicht gelöscht werden. -ErrorSearchCriteriaTooSmall=Suchkriterium zu klein +ErrorSearchCriteriaTooSmall=Suchbegriff zu kurz ErrorObjectMustHaveStatusActiveToBeDisabled=Objekte müssen den Status 'Aktiv' haben, um deaktiviert werden zu können ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objekte müssen den Status 'Entwurf' oder 'Deaktiviert' haben, um aktiviert werden zu können ErrorNoFieldWithAttributeShowoncombobox=Kein Feld mit der Eigenschaft 'showoncombobox' in Objektdefinition '%s'. Kann keine Combo-Box anzeigen. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Fehler, das Datum kann nicht in der Zukunft liegen ErrorAnAmountWithoutTaxIsRequired=Fehler, Betrag ist notwendig ErrorAPercentIsRequired=Fehler, bitte geben Sie den Prozentsatz korrekt ein ErrorYouMustFirstSetupYourChartOfAccount=Sie müssen zuerst Ihren Kontenplan einrichten +ErrorFailedToFindEmailTemplate=Vorlage mit Codename %s konnte nicht gefunden werden +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Die Dauer für den Service ist nicht definiert. Es besteht keine Möglichkeit, den Stundenpreis zu berechnen. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Ihr PHP Parameter upload_max_filesize (%s) ist größer als Parameter post_max_size (%s). Dies ist eine inkonsistente Einstellung. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Das Modul %s wurde nicht aktiviert. ErrorActionCommPropertyUserowneridNotDefined=Der Besitzer des Benutzers ist erforderlich ErrorActionCommBadType=Der ausgewählte Ereignistyp (ID: %n, Code: %s) ist im Wörterbuch für den Ereignistyp nicht vorhanden CheckVersionFail=Versionsprüfung fehlgeschlagen +ErrorWrongFileName=Der Dateiname darf nicht __SOMETHING__ enthalten +ErrorNotInDictionaryPaymentConditions=Nicht im Dictionary der Zahlungsbedingungen, bitte ändern. diff --git a/htdocs/langs/de_DE/eventorganization.lang b/htdocs/langs/de_DE/eventorganization.lang index 758e9e383d5..aaab6877700 100644 --- a/htdocs/langs/de_DE/eventorganization.lang +++ b/htdocs/langs/de_DE/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,9 +17,9 @@ # # Generic # -ModuleEventOrganizationName = Organisation von Ereignissen -EventOrganizationDescription = Organisatio von Ereignissenn durch Projekt-Modul -EventOrganizationDescriptionLong= Verwalten Sie die Ereignisorganisation für Konferenzen, Teilnehmer, Redner und Teilnehmer mit einer öffentlichen Abonnementseite +ModuleEventOrganizationName = Organisation von Veranstaltungen +EventOrganizationDescription = Organisation von Veranstaltungen mittels Projekt-Modul +EventOrganizationDescriptionLong= Verwalten Sie die Veranstaltungsorganisation für Konferenzen (Teilnehmer, Redner) mit einer öffentlichen Buchungsseite. # # Menu # @@ -28,11 +29,11 @@ EventOrganizationConferenceOrBoothMenuLeft = Konferenz oder Stand # # Admin page # -EventOrganizationSetup = Einstellungen der Ereignisorganisation +EventOrganizationSetup = Einstellungen für die Organisation von Veranstaltungen Settings = Einstellungen -EventOrganizationSetupPage = Einstellungs-Seite für die Ereignisorganisation +EventOrganizationSetupPage = Einstellungs-Seite für die Organisation von Veranstaltungen EVENTORGANIZATION_TASK_LABEL = Bezeichnung der Aufgaben, die automatisch erstellt werden sollen, wenn das Projekt bestätigt wird -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees +EVENTORGANIZATION_TASK_LABELTooltip = Wenn Sie eine organisierte Veranstaltung bestätigen, können einige Aufgaben automatisch im Projekt erstellt werden

    Zum Beispiel:
    Aufruf für Konferenz senden
    Aufruf für Standbuchungen senden
    Anfragen für Konferenzen empfangen
    Anfragen für Stände empfangen
    Veranstaltungsbuchung für Teilnehmer freigeben
    Veranstaltungserinnerung an Referenten senden
    Veranstaltungserinnerung an Standinhaber senden
    Veranstaltungserinnerung an Teilnehmer senden EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Kategorie, die Drittanbietern hinzugefügt werden soll, wird automatisch erstellt, wenn jemand eine Konferenz vorschlägt EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Kategorie, die Drittanbietern hinzugefügt werden soll, wird automatisch erstellt, wenn sie einen Stand vorschlagen EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Vorlage einer E-Mail, die nach Erhalt eines Konferenzvorschlags gesendet werden soll. @@ -48,7 +49,7 @@ EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtern Sie die Auswahlliste des Dritta # Object # EventOrganizationConfOrBooth= Konferenz oder Stand -ManageOrganizeEvent = Ereignis-Organisation verwalten +ManageOrganizeEvent = Organisation von Veranstaltungen verwalten ConferenceOrBooth = Konferenz oder Stand ConferenceOrBoothTab = Konferenz oder Stand AmountOfSubscriptionPaid = Betrag des bezahlten Abonnements @@ -63,7 +64,7 @@ YourOrganizationEventBoothRequestWasReceived = Ihre Anfrage für Stand wurde emp EventOrganizationEmailAskConf = Anfrage für eine Konferenz EventOrganizationEmailAskBooth = Anfrage für Stand EventOrganizationEmailSubsBooth = Abonnement für Stand -EventOrganizationEmailSubsEvent = Abonnement für eine Veranstaltung +EventOrganizationEmailSubsEvent = Buchung für eine Veranstaltung EventOrganizationMassEmailAttendees = Kommunikation mit den Teilnehmern EventOrganizationMassEmailSpeakers = Kommunikation mit den Sprechern @@ -81,7 +82,11 @@ PriceOfBoothHelp=Abonnementpreis für einen Stand EventOrganizationICSLink=Verknüpfe ICS für Ereignisse ConferenceOrBoothInformation=Konferenz- oder Standinformationen Attendees = Teilnehmer +DownloadICSLink = ICS-Link herunterladen EVENTORGANIZATION_SECUREKEY = Sicherer Schlüssel des öffentlichen Registrierungslinks zu einer Konferenz +SERVICE_BOOTH_LOCATION = Service, der für die Rechnungszeile über einen Stand verwendet wird +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service, der für die Rechnungszeile über eine Teilnahmebuchung einer Konferenz verwendet wird +NbVotes=Anzahl der Stimmen # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Abgesagt # # Public page # +SuggestForm = Vorschlagsseite +RegisterPage = Seite für Konferenzen oder Stände +EvntOrgRegistrationHelpMessage = Hier können Sie für eine Veranstaltung abstimmen, eine neue Konferenz oder einen neuen Stand für das Projekt vorschlagen +EvntOrgRegistrationConfHelpMessage = Hier können Sie eine neue Konferenz für das Projekt vorschlagen +EvntOrgRegistrationBoothHelpMessage = Hier können Sie einen neuen Stand für das Projekt vorschlagen +ListOfSuggestedConferences = Liste der vorgeschlagenen Konferenzen +ListOfSuggestedBooths = Liste der vorgeschlagenen Stände +SuggestConference = Eine neue Konferenz vorschlagen +SuggestBooth = Einen Stand vorschlagen +ViewAndVote = Vorgeschlagene Veranstaltungen ansehen und abstimmen PublicAttendeeSubscriptionPage = Öffentlicher Link zur Registrierung zu einer Konferenz MissingOrBadSecureKey = Der Sicherheitsschlüssel ist ungültig oder fehlt -EvntOrgWelcomeMessage = Mit diesem Formular können Sie sich als neuer Teilnehmer an der Konferenz registrieren -EvntOrgStartDuration = Diese Konferenz beginnt am -EvntOrgEndDuration = und endet am +EvntOrgWelcomeMessage = Mit diesem Formular können Sie sich als neuer Teilnehmer zur Konferenz anmelden: '%s' +EvntOrgDuration = Diese Konferenz beginnt am %s und endet am %s. +ConferenceAttendeeFee = Konferenzteilnehmergebühr für die Veranstaltung: '%s' vom %s bis %s. +BoothLocationFee = Stand für die Veranstaltung: '%s' vom %s bis %s +EventType = Ereignistyp +LabelOfBooth=Stand-Label +LabelOfconference=Konferenz-Label +ConferenceIsNotConfirmed=Abonnement nicht verfügbar, Konferenz ist noch nicht bestätigt +DateMustBeBeforeThan=%s muss vor %s sein +DateMustBeAfterThan=%s muss nach %s sein + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Willkommen auf der Vorschlagseite für Konferenzen und Stände. +EvntOrgRegistrationConfWelcomeMessage = Willkommen auf der Vorschlagsseite für Konferenzen. +EvntOrgRegistrationBoothWelcomeMessage = Willkommen auf der Vorschlagsseite für Stände. +EvntOrgVoteHelpMessage = Hier können Sie die vorgeschlagenen Veranstaltungen für das Projekt einsehen und für sie abstimmen +VoteOk = Ihre Stimme wurde angenommen. +AlreadyVoted = Sie haben bereits für diese Veranstaltung abgestimmt. +VoteError = Bei der Abstimmung ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut. + +# +# SubscriptionOk page +# +SubscriptionOk = Ihre Buchung für diese Konferenz wurde bestätigt +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Bestätigung Ihrer Buchung für eine Konferenz +# +# Payment page +# +Attendee = Teilnehmer +PaymentConferenceAttendee = Zahlung für Konferenzteilnehmer +PaymentBoothLocation = Zahlung für einen Stand diff --git a/htdocs/langs/de_DE/exports.lang b/htdocs/langs/de_DE/exports.lang index 911f2646c68..9b91aa0f752 100644 --- a/htdocs/langs/de_DE/exports.lang +++ b/htdocs/langs/de_DE/exports.lang @@ -30,10 +30,10 @@ ExportCsvSeparator=CSV-Trennzeichen ImportCsvSeparator=CSV-Trennzeichen Step=Schritt FormatedImport=Import-Assistent -FormatedImportDesc1=Mit diesem Modul können Sie vorhandene Daten aktualisieren oder mithilfe eines Assistenten neue Objekte aus einer Datei in die Datenbank einfügen, ohne über technische Kenntnisse zu verfügen. +FormatedImportDesc1=Dieses Modul ermöglicht den Import personalisierter Daten mithilfe eines Assistenten.\nTechnische Kenntnisse sind hierbei nicht erforderlich. FormatedImportDesc2=Zunächst müssen Sie die Art der zu importierenden Daten, dann das Format der Quelldatei und dann die zu importierenden Felder auswählen. FormatedExport=Export-Assistent -FormatedExportDesc1=Diese Tools ermöglichen den Export personalisierter Daten mithilfe eines Assistenten, um Sie dabei zu unterstützen, ohne dass technische Kenntnisse erforderlich sind. +FormatedExportDesc1=Dieses Modul ermöglicht den Export personalisierter Daten mithilfe eines Assistenten.\nTechnische Kenntnisse sind hierbei nicht erforderlich. FormatedExportDesc2=Der erste Schritt besteht darin, einen vordefinierten Datensatz auszuwählen und dann anzugeben, welche Felder in welcher Reihenfolge exportiert werden sollen. FormatedExportDesc3=Wenn zu exportierende Daten ausgewählt sind, können Sie das Format der Ausgabedatei auswählen. Sheet=Blatt @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Art der Zeile (0=Produkt, 1=Leistung) FileWithDataToImport=Datei mit zu importierenden Daten FileToImport=Quelldatei für Import FileMustHaveOneOfFollowingFormat=Die zu importierende Datei muss eines der folgenden Formate haben -DownloadEmptyExample=Vorlagendatei mit Feldinhaltsinformationen herunterladen (* sind Pflichtfelder) +DownloadEmptyExample=Vorlagendatei mit Feldinhaltsinformationen herunterladen +StarAreMandatory=* sind Pflichtfelder ChooseFormatOfFileToImport=Wählen Sie das Dateiformat aus, das als Importdateiformat verwendet werden soll, indem Sie auf das Symbol %s klicken, um es auszuwählen ... ChooseFileToImport=Datei hochladen und dann auf das Symbol %s klicken, um die Datei als Quell-Importdatei auszuwählen ... SourceFileFormat=Quelldateiformat diff --git a/htdocs/langs/de_DE/externalsite.lang b/htdocs/langs/de_DE/externalsite.lang index 26cabf1b96c..dc88e4308d0 100644 --- a/htdocs/langs/de_DE/externalsite.lang +++ b/htdocs/langs/de_DE/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite ExternalSiteSetup=Konfigurations-Link auf externe Webseite -ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteURL=URL der externen Seite zur Einbettung in einen HTML-iframe ExternalSiteModuleNotComplete=Modul ExternalSite wurde nicht richtig konfiguriert. ExampleMyMenuEntry=Mein Menü-Eintrag diff --git a/htdocs/langs/de_DE/holiday.lang b/htdocs/langs/de_DE/holiday.lang index 37ef44b5879..3dd5280322d 100644 --- a/htdocs/langs/de_DE/holiday.lang +++ b/htdocs/langs/de_DE/holiday.lang @@ -20,9 +20,9 @@ LeaveId=Urlaubs-ID ReviewedByCP=Zu genehmigen von UserID=Benutzer ID UserForApprovalID=Benutzer für die Genehmigungs-ID -UserForApprovalFirstname=Vorname des Genehmigungsbenutzers -UserForApprovalLastname=Nachname des Genehmigungsbenutzers -UserForApprovalLogin=Login des Genehmigers +UserForApprovalFirstname=Vorname des Genehmigenden +UserForApprovalLastname=Nachname des Genehmigenden +UserForApprovalLogin=Login des Genehmigenden DescCP=Beschreibung SendRequestCP=Entwurf erstellen DelayToRequestCP=Urlaubsanträge müssen mindestens %s Tage im voraus gestellt werden. @@ -40,7 +40,7 @@ TypeOfLeaveId=Art der Urlaubs-ID TypeOfLeaveCode=Art des Urlaubscodes TypeOfLeaveLabel=Art des Urlaubslabels NbUseDaysCP=Anzahl genommene Urlaubstage -NbUseDaysCPHelp=Die Berechnung berücksichtigt die arbeitsfreien Tage und Feiertage, die im Wörterbuch definiert sind. +NbUseDaysCPHelp=Die Berechnung berücksichtigt die in den Stammdaten definierten arbeitsfreien Tage und Feiertage. NbUseDaysCPShort=Urlaubstage NbUseDaysCPShortInMonth=Urlaubstage im Monat DayIsANonWorkingDay=%s ist ein arbeitsfreier Tag @@ -95,8 +95,8 @@ HolidaysCancelation=Urlaubsantrag stornieren EmployeeLastname=Mitarbeiter Nachname EmployeeFirstname=Mitarbeiter Vorname TypeWasDisabledOrRemoved=Abreise-Art (Nr %s) war deaktiviert oder entfernt -LastHolidays=%sneuste Ferienanträge -AllHolidays=Allen Ferienanträge +LastHolidays=Neuste %s Urlaubsanträge +AllHolidays=Allen Urlaubsanträge HalfDay=Halber Tag NotTheAssignedApprover=Sie sind nicht der zugeordnete Genehmiger LEAVE_PAID=bezahlter Urlaub @@ -104,8 +104,8 @@ LEAVE_SICK=Krankheit LEAVE_OTHER=Andere Gründe LEAVE_PAID_FR=bezahlter Urlaub ## Configuration du Module ## -LastUpdateCP=Last automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation +LastUpdateCP=Letzte automatische Aktualisierung der Urlaubszuordnung +MonthOfLastMonthlyUpdate=Monat der letzten automatischen Aktualisierung der Urlaubszuordnung UpdateConfCPOK=Erfolgreich bearbeitet. Module27130Name= Verwaltung von Urlaubsanträgen Module27130Desc= Verwaltung von Urlaubsanträgen @@ -125,10 +125,12 @@ HolidaysCanceledBody=Ihr Urlaubsantrag vom %s bis %s wurde storniert. FollowedByACounter=0 = Zähler nicht verwenden
    1 = Zähler verwenden (diese Art von Urlaub wird mit einem Zähler für den mitarbeiterbezogenen Urlaubsanspruch versehen. Der Zähler wird manuell oder automatisch erhöht oder verringert, wenn der Urlaubsantrag genehmigt wurde.) NoLeaveWithCounterDefined=Es sind keine Urlaubsarten definiert, die durch einen Zähler überwacht sind. GoIntoDictionaryHolidayTypes=Öffnen Sie das Menü Start - Einstellungen - Stammdaten - Urlaubsarten um die verschiedenen Urlaubsarten zu konfigurieren. -HolidaySetup=Konfiguration des Modul "Urlaubsantrags-Verwaltung" -HolidaysNumberingModules=Numbering models for leave requests +HolidaySetup=Konfiguration des Moduls "Urlaubsantrags-Verwaltung" +HolidaysNumberingModules=Nummerierungsschemata für Urlaubsanträge TemplatePDFHolidays=Vorlage für Urlaubsanträge PDF FreeLegalTextOnHolidays=Freitext als PDF WatermarkOnDraftHolidayCards=Wasserzeichen auf Urlaubsantragsentwurf (leerlassen wenn keines benötigt wird) HolidaysToApprove=Urlaubstage zu genehmigen -NobodyHasPermissionToValidateHolidays=Niemand hat die Erlaubnis, Feiertage zu bestätigen. +NobodyHasPermissionToValidateHolidays=Niemand hat die Erlaubnis, Urlaubstage zu bestätigen. +HolidayBalanceMonthlyUpdate=Monatliche Aktualisierung des Urlaubsguthabens +XIsAUsualNonWorkingDay=%s ist normalerweise KEIN Arbeitstag diff --git a/htdocs/langs/de_DE/hrm.lang b/htdocs/langs/de_DE/hrm.lang index c3bf5170ae6..7bc68990481 100644 --- a/htdocs/langs/de_DE/hrm.lang +++ b/htdocs/langs/de_DE/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Sind Sie sicher, dass Sie diese Einrichtung löschen OpenEtablishment=Einrichtung öffnen CloseEtablishment=Einrichtung schliessen # Dictionary -DictionaryPublicHolidays=PV - Öffentliche Feiertage +DictionaryPublicHolidays=Urlaub - Feiertage DictionaryDepartment=PV - Abteilungsliste DictionaryFunction=HRM - Stellenangebote # Module diff --git a/htdocs/langs/de_DE/install.lang b/htdocs/langs/de_DE/install.lang index 3c46aa0f189..b5f0ea99965 100644 --- a/htdocs/langs/de_DE/install.lang +++ b/htdocs/langs/de_DE/install.lang @@ -11,7 +11,7 @@ ConfFileReload=Parameter aus der Konfigurationsdatei neu laden. PHPSupportPOSTGETOk=Ihre PHP-Konfiguration unterstützt GET- und POST-Variablen. PHPSupportPOSTGETKo=Ihre PHP-Konfiguration scheint GET- und/oder POST-Variablen nicht zu unterstützen. Überprüfen Sie in der php.ini den Parameter variables_order. PHPSupportSessions=Ihre PHP-Konfiguration unterstützt Sessions. -PHPSupport=Dieses PHP unterstützt %s-Funktionen. +PHPSupport=Ihre PHP-Konfiguration unterstützt %s-Funktionen. PHPMemoryOK=Die Sitzungsspeicherbegrenzung ihrer PHP-Konfiguration steht auf %s. Dies sollte ausreichend sein. PHPMemoryTooLow=Der maximale PHP-Sitzungsspeicher ist auf %s Bytes gesetzt. Dieser Wert ist zu niedrig. Ändern sie den Parameter memory_limit in der php.ini auf mindestens %s Bytes! Recheck=Klicken Sie hier für einen detailierteren Test. @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration der Foto-Verzeichnispfade für Benutzer MigrationFieldsSocialNetworks=Migration von Benutzerfeldern in sozialen Netzwerken (%s) MigrationReloadModule=Neu Laden von Modul %s MigrationResetBlockedLog=Modul BlockedLog für v7 Algorithmus zurücksetzen +MigrationImportOrExportProfiles=Migration von Import- bzw. Exportprofilen (1%s) ShowNotAvailableOptions=Nicht verfügbare Optionen anzeigen HideNotAvailableOptions=Nicht verfügbare Optionen ausblenden ErrorFoundDuringMigration=Während des Migrationsprozesses wurden Fehler gemeldet. Der nächste Schritt ist nicht verfügbar. Um Fehler zu ignorieren, können Sie hier klicken , aber die Anwendung oder einige Funktionen funktionieren möglicherweise nicht richtig, bis die Fehler behoben sind. diff --git a/htdocs/langs/de_DE/interventions.lang b/htdocs/langs/de_DE/interventions.lang index 0822f3dda20..5bb4fcc450d 100644 --- a/htdocs/langs/de_DE/interventions.lang +++ b/htdocs/langs/de_DE/interventions.lang @@ -6,7 +6,7 @@ NewIntervention=Neuer Serviceauftrag AddIntervention=Serviceauftrag erstellen ChangeIntoRepeatableIntervention=Wechseln Sie zu wiederholbaren Serviceauftrag ListOfInterventions=Liste der Serviceaufträge -ActionsOnFicheInter=Aktionen zum Serviceauftrag +ActionsOnFicheInter=Ereignisse zu diesem Serviceauftrag LastInterventions=%s neueste Serviceaufträge AllInterventions=Alle Serviceaufträge CreateDraftIntervention=Entwurf erstellen @@ -64,5 +64,5 @@ InterLineDuration=Serviceauftragsposition Dauer InterLineDesc=Serviceauftragsposition Beschreibung RepeatableIntervention=Vorlage der Intervention ToCreateAPredefinedIntervention=Für eine vordefinierte oder wiederkehrende Intervention erstellen Sie zunächst eine gemeinsame Intervention und konvertieren diese dann in eine Vorlage -Reopen=entwerfen ConfirmReopenIntervention=Möchten Sie den Serviceauftrag %s wieder öffnen? +GenerateInter=Serviceauftrag erstellen diff --git a/htdocs/langs/de_DE/knowledgemanagement.lang b/htdocs/langs/de_DE/knowledgemanagement.lang index cee190153a9..a23a5ed371c 100644 --- a/htdocs/langs/de_DE/knowledgemanagement.lang +++ b/htdocs/langs/de_DE/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Über KnowledgeManagementAbout = Über Wissensmanagement KnowledgeManagementAboutPage = Über Wissensmanagement Seite -# -# Sample page -# KnowledgeManagementArea = Wissensmanagement - - -# -# Menu -# MenuKnowledgeRecord = Wissensbasis -ListOfArticles = Liste der Artikel +ListKnowledgeRecord = Liste der Artikel NewKnowledgeRecord = Neuer Artikel ValidateReply = Lösung bestätigen KnowledgeRecords = Artikel KnowledgeRecord = Artikel KnowledgeRecordExtraFields = Extrafelder für Artikel +GroupOfTicket=Ticket-Gruppe +YouCanLinkArticleToATicketCategory=Sie können einen Artikel mit einer Ticket-Gruppe verknüpfen (so wird der Artikel bei der Qualifizierung neuer Tickets vorgeschlagen) diff --git a/htdocs/langs/de_DE/languages.lang b/htdocs/langs/de_DE/languages.lang index 9a61df6591a..6ef532fafff 100644 --- a/htdocs/langs/de_DE/languages.lang +++ b/htdocs/langs/de_DE/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopisch Language_ar_AR=Arabisch Language_ar_EG=Arabisch (Ägypten) +Language_ar_MA=Arabisch (Marokko) Language_ar_SA=Arabisch +Language_ar_TN=Arabisch (Tunesien) +Language_ar_IQ=Arabisch (Irak) Language_az_AZ=Aserbaidschanisch Language_bn_BD=Bengali Language_bn_IN=Bengali (Indien) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Niederländisch (Belgien) Language_nl_NL=Niederländisch Language_pl_PL=Polnisch +Language_pt_AO=Portugiesisch (Angola) Language_pt_BR=Portugiesisch (Brasilien) Language_pt_PT=Portugiesisch (Portugal) +Language_ro_MD=Rumänisch (Moldavien) Language_ro_RO=Rumänisch Language_ru_RU=Russisch Language_ru_UA=Russisch (Ukraine) diff --git a/htdocs/langs/de_DE/mails.lang b/htdocs/langs/de_DE/mails.lang index 72eac220a72..5965b92bd02 100644 --- a/htdocs/langs/de_DE/mails.lang +++ b/htdocs/langs/de_DE/mails.lang @@ -15,7 +15,7 @@ MailToUsers=An Empfänger: MailCC=Kopie an MailToCCUsers=Kopie an Empfänger MailCCC=Blindkopie an -MailTopic=Email subject +MailTopic=E-Mail Betreff MailText=Inhalt MailFile=Angehängte Dateien MailMessage=E-Mail-Text @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=Für diesen Ereignistyp und dieses Unternehmen sind ke ANotificationsWillBeSent=1 automatische Benachrichtigung wird per E-Mail gesendet SomeNotificationsWillBeSent=%s automatische Benachrichtigungen werden per E-Mail gesendet AddNewNotification=Abonnieren Sie eine neue automatische E-Mail-Benachrichtigung -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=Liste aller aktiven Abonnements (Ziele/Ereignisse) für die automatische E-Mail-Benachrichtigung +ListOfNotificationsDone=Liste aller automatisch versendeten E-Mail-Benachrichtigungen MailSendSetupIs=Der E-Mail-Versand wurde auf '%s' konfiguriert. Dieser Modus kann nicht für E-Mail-Kampagnen verwendet werden. MailSendSetupIs2=Sie müssen zuerst mit einem Admin-Konto im Menü %sStart - Einstellungen - E-Mails%s den Parameter '%s' auf den Modus '%s' ändern. Dann können Sie die Daten des SMTP-Servers von Ihrem Internetdienstanbieter eingeben und die E-Mail-Kampagnen-Funktion nutzen. MailSendSetupIs3=Bei Fragen über die Einrichtung Ihres SMTP-Servers, können Sie %s fragen. @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Filter löschen AdvTgtSaveFilter=Filter speichern AdvTgtCreateFilter=Filter erstellen AdvTgtOrCreateNewFilter=Name des neuen Filters -NoContactWithCategoryFound=Kein Kontakt/Adresse mit einer Kategorie gefunden -NoContactLinkedToThirdpartieWithCategoryFound=Kein Kontakt/Adresse mit einer Kategorie gefunden +NoContactWithCategoryFound=Keine Kategorie gefunden, die mit Kontakten/Adressen verknüpft ist +NoContactLinkedToThirdpartieWithCategoryFound=Keine Kategorie gefunden, die mit Geschäftspartnern verknüpft ist OutGoingEmailSetup=Ausgehende E-Mails InGoingEmailSetup=Eingehende E-Mails OutGoingEmailSetupForEmailing=Ausgehende E-Mails (für Modul %s) diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index c4c49e3421a..329303ce46a 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Zusätzliche Cent VATRate=Steuersatz +RateOfTaxN=Steuersatz %s VATCode=Steuersatz VATNPR=Steuersatz DefaultTaxRate=Standardsteuersatz @@ -729,6 +730,7 @@ MenuMembers=Mitglieder MenuAgendaGoogle=Google-Agenda MenuTaxesAndSpecialExpenses=Steuern | Sonderausgaben ThisLimitIsDefinedInSetup=Gesetzte Dolibarr-Limits (Menü Start-Einstellungen-Sicherheit): %s Kb, PHP Limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr-Limit (Menü %s): %s Kb, PHP-Limit (Param %s): %s Kb NoFileFound=Keine Dokumente hochgeladen CurrentUserLanguage=Aktuelle Benutzersprache CurrentTheme=Aktuelles Design @@ -1020,7 +1022,7 @@ SearchIntoContacts=Kontakte SearchIntoMembers=Mitglieder SearchIntoUsers=Benutzer SearchIntoProductsOrServices=Produkte oder Dienstleistungen -SearchIntoBatch=Lote / Serien +SearchIntoBatch=Charge / Seriennr. SearchIntoProjects=Projekte SearchIntoMO=Fertigungsaufträge SearchIntoTasks=Aufgaben @@ -1072,6 +1074,7 @@ ValidFrom=Gültig ab ValidUntil=Gültig bis NoRecordedUsers=Keine Benutzer ToClose=Zu schließen +ToRefuse=Ablehnen ToProcess=Zu bearbeiten ToApprove=Zu genehmigen GlobalOpenedElemView=Globale Ansicht @@ -1126,9 +1129,23 @@ UpdateForAllLines=Aktualisierung für alle Zeilen OnHold=angehalten Civility=Anrede/Titel AffectTag=Schlagwort beeinflussen +CreateExternalUser=Externen Benutzer anlegen ConfirmAffectTag=Massen-Schlagwort-Affekt ConfirmAffectTagQuestion=Sind Sie sicher, dass Sie Tags für die ausgewählten Datensätze von %s beeinflussen möchten? CategTypeNotFound=Für den Datensatztyp wurde kein Tag-Typ gefunden CopiedToClipboard=In die Zwischenablage kopiert InformationOnLinkToContract=Dieser Betrag ist nur die Summe aller Vertragszeilen. Zeitbegriff wird nicht berücksichtigt. ConfirmCancel=Bist du sicher, dass du abbrechen möchtest +EmailMsgID=E-Mail MsgID +SetToEnabled=Auf aktiviert setzen +SetToDisabled=Auf deaktiviert setzen +ConfirmMassEnabling=Bestätigung, alle zu aktivieren +ConfirmMassEnablingQuestion=Möchten Sie die %s ausgewählten Datensätze wirklich aktivieren? +ConfirmMassDisabling=Bestätigung, alle zu deaktivieren +ConfirmMassDisablingQuestion=Möchten Sie die %s ausgewählten Datensätze wirklich deaktivieren? +RecordsEnabled=%s Datensatz(e) aktiviert +RecordsDisabled=%s Datensatz(e) deaktiviert +RecordEnabled=Datensatz aktiviert +RecordDisabled=Datensatz deaktiviert +Forthcoming=Bevorstehend +Currently=Zur Zeit diff --git a/htdocs/langs/de_DE/margins.lang b/htdocs/langs/de_DE/margins.lang index 38064b81c07..ea58733a879 100644 --- a/htdocs/langs/de_DE/margins.lang +++ b/htdocs/langs/de_DE/margins.lang @@ -22,7 +22,7 @@ ProductService=Produkt oder Dienstleistung AllProducts=Alle Produkte und Leistungen ChooseProduct/Service=Produkt oder Service wählen ForceBuyingPriceIfNull=Benutze EK-Preis/Herstellkosten als Verkaufspreis, wenn nicht definiert -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=Wenn beim Hinzufügen einer neuen Zeile kein Kauf-/Einstandspreis angegeben wird und diese Option „EIN“ ist, beträgt die Marge in der neuen Zeile 0 (Kauf-/Einstandspreis = Verkaufspreis). Wenn diese Option "AUS" ist (empfohlen), entspricht die Marge dem standardmäßig vorgeschlagenen Wert (und kann 100 % betragen, wenn kein Standardwert gefunden werden kann). MARGIN_METHODE_FOR_DISCOUNT=Margin-Methode für globale Rabatte UseDiscountAsProduct=als Produkt UseDiscountAsService=als Dienstleistung diff --git a/htdocs/langs/de_DE/members.lang b/htdocs/langs/de_DE/members.lang index 57b3887a7aa..fcf3a219078 100644 --- a/htdocs/langs/de_DE/members.lang +++ b/htdocs/langs/de_DE/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Erinnerungen per E-Mail an Mitglieder senden, MembershipPaid=Die Mitgliedschaft wurde für den aktuellen Zeitraum bezahlt (bis %s) YouMayFindYourInvoiceInThisEmail=Sie finden Ihre Rechnung anhängend an dieser E-Mail. XMembersClosed=%s Mitglied(er) geschlossen +XExternalUserCreated=%s externe(r) Benutzer erstellt +ForceMemberNature=Art des Mitglieds erzwingen (Einzelperson oder Unternehmen) diff --git a/htdocs/langs/de_DE/modulebuilder.lang b/htdocs/langs/de_DE/modulebuilder.lang index 8f91793c5f4..accd27f4ee6 100644 --- a/htdocs/langs/de_DE/modulebuilder.lang +++ b/htdocs/langs/de_DE/modulebuilder.lang @@ -25,7 +25,7 @@ EnterNameOfModuleToDeleteDesc=Sie können Ihr Modul löschen. WARNUNG: Alle Code EnterNameOfObjectToDeleteDesc=Sie können ein Objekt löschen. WARNUNG: Alle Codedateien (generiert oder manuell erstellt), die sich auf das Objekt beziehen, werden gelöscht! DangerZone=Gefahrenzone BuildPackage=Paket erstellen -BuildPackageDesc=Sie können ein Zip-Paket Ihrer Anwendung erstellen, um es auf Dolibarr-Installationen verteilen können. Sie können es auch vertreiben oder auf einem Marktplatz wie DoliStore.com verkaufen. +BuildPackageDesc=Sie können ein Zip-Paket Ihrer Anwendung erstellen, um es auf Dolibarr-Installationen verteilen können. Sie können es auch auf einem Marktplatz wie DoliStore.com verteilen oder verkaufen. BuildDocumentation=Dokumentation erstellen ModuleIsNotActive=Dieses Modul ist noch nicht aktiviert. Gehe zu %s zum aktivieren oder klicke hier ModuleIsLive=Dieses Modul wurde aktiviert. Jede Änderung kann aktuelle Live-Funktionen beeinträchtigen. @@ -85,7 +85,7 @@ ListOfPermissionsDefined=Liste der definierten Berechtigungen SeeExamples=Beispiele hier EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) VisibleDesc=Ist das Feld sichtbar? (Beispiele: 0 = Nie sichtbar, 1 = Auf Liste sichtbar und Formulare erstellen / aktualisieren / anzeigen, 2 = Nur auf Liste sichtbar, 3 = Nur auf Formular erstellen / aktualisieren / anzeigen (nicht Liste), 4 = Auf Liste sichtbar und nur sichtbar bei Formular aktualisieren / anzeigen (nicht erstellen), 5 = Nur im Formular für die Listenendansicht sichtbar (nicht erstellen, nicht aktualisieren).

    Wenn ein negativer Wert verwendet wird, wird das Feld standardmäßig nicht in der Liste angezeigt, kann jedoch zur Anzeige ausgewählt werden.)

    Es kann sich um einen Ausdruck handeln, z. B.:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdfDesc=Zeigt dieses Feld in kompatiblen PDF-Dokumenten an. Sie können die Anzeigeposition über das Feld "Position" beeinflussen.
    Derzeit bekannte kompatible PDF-Modelle sind: eratosthene (Bestellung), espadon (Lieferung), sponge (Rechnung), cyan (Angebot), cornas (Lieferantenauftrag)

    Für Dokument:
    0 = nicht anzeigen
    1 = anzeigen
    2 = anzeigen, wenn nicht leer

    Für Belegzeilen:
    0 = nicht anzeigen
    1 = in Spalte anzeigen
    3 = in Beschreibungszeile nach der Beschreibung anzeigen
    4 = nur falls nicht leer: in Beschreibungszeile nach der Beschreibung anzeigen DisplayOnPdf=Anzeige auf PDF IsAMeasureDesc=Kann der Wert des Feldes kumuliert werden, um eine Summe in die Liste aufzunehmen? (Beispiele: 1 oder 0) SearchAllDesc=Wird das Feld verwendet, um eine Suche über das Schnellsuchwerkzeug durchzuführen? (Beispiele: 1 oder 0) @@ -127,19 +127,20 @@ UseSpecificEditorURL = Verwenden Sie eine bestimmte Editor-URL UseSpecificFamily = Verwenden Sie eine bestimmte Familie UseSpecificAuthor = Verwenden Sie einen bestimmten Autor UseSpecificVersion = Verwenden Sie eine bestimmte Anfangsversion -IncludeRefGeneration=Die Objektreferen muss automatisch generiert werden +IncludeRefGeneration=Die Objektreferenz soll automatisch generiert werden IncludeRefGenerationHelp=Aktivieren Sie diese Option, wenn Sie Code einschließen möchten, um die Generierung der Referenz automatisch zu verwalten IncludeDocGeneration=Ich möchte einige Dokumente aus dem Objekt generieren IncludeDocGenerationHelp=Wenn Sie dies aktivieren, wird Code generiert, um dem Datensatz ein Feld "Dokument generieren" hinzuzufügen. ShowOnCombobox=Wert in der Combobox anzeigen KeyForTooltip=Schlüssel für Tooltip -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list +CSSClass=CSS zum Bearbeiten/Erstellen von Formularen (edit/create) +CSSViewClass=CSS für das Lesen von Formularen (read) +CSSListClass=CSS für Listen NotEditable=Nicht bearbeitbar -ForeignKey=Unbekannter Schlüssel +ForeignKey=Fremdschlüssel TypeOfFieldsHelp=Feldtypen:
    varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' heißt, wir ergänzen eine + Schaltfläche nach der Kombobox, um den Eintrag zu erstellen, 'filter' kann sein 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' zum Beispiel) AsciiToHtmlConverter=Ascii zu HTML Konverter AsciiToPdfConverter=Ascii zu PDF Konverter TableNotEmptyDropCanceled=Tabelle nicht leer. Löschen wurde abgebrochen. ModuleBuilderNotAllowed=Der Modul-Generator ist verfügbar, aber für Ihren Benutzer nicht zulässig. +ImportExportProfiles=Profile importieren und exportieren diff --git a/htdocs/langs/de_DE/mrp.lang b/htdocs/langs/de_DE/mrp.lang index 7d3f687b6df..323bbe74d59 100644 --- a/htdocs/langs/de_DE/mrp.lang +++ b/htdocs/langs/de_DE/mrp.lang @@ -13,7 +13,7 @@ BOMsSetup=Stücklisten Modul einrichten ListOfBOMs=Stücklisten-Übersicht ListOfManufacturingOrders=Liste der Fertigungsaufträge NewBOM=Neue Stückliste -ProductBOMHelp=Produkt, das mit dieser Stückliste erstellt werden soll.
    Hinweis: Produkte mit der Eigenschaft 'Art des Produkts' = 'Rohmaterial' sind in dieser Liste nicht sichtbar. +ProductBOMHelp=Mit dieser Stückliste zu erstellendes (oder zu zerlegendes) Produkt.
    Hinweis: Produkte mit der Eigenschaft 'Art des Produkts' = 'Rohstoff' sind in dieser Liste nicht sichtbar. BOMsNumberingModules=Vorlage für die Stücklistennummerierung BOMsModelModule=Dokumentvorlagen für Stücklisten MOsNumberingModules=Nummerierungsvorlagen für Fertigungsaufträge @@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Ein Wert von 0,95 bedeutet im Durchschnitt 5% DeleteBillOfMaterials=Stückliste löschen DeleteMo=Fertigungsauftrag löschen ConfirmDeleteBillOfMaterials=Möchten Sie diese Stückliste wirklich löschen? -ConfirmDeleteMo=Möchten Sie diese Stückliste wirklich löschen? +ConfirmDeleteMo=Möchten Sie diese Fertigungsauftrag wirklich löschen? MenuMRP=Fertigungsaufträge NewMO=Neuer Fertigungsauftrag QtyToProduce=Produktionsmenge @@ -39,7 +39,7 @@ DateStartPlannedMo=Geplantes Startdatum DateEndPlannedMo=Geplantes Enddatum KeepEmptyForAsap=Leer bedeutet 'So bald wie möglich' EstimatedDuration=geschätzte Dauer -EstimatedDurationDesc=Geschätzte Dauer für die Produktherstellung unter Verwendung dieser Stückliste +EstimatedDurationDesc=Geschätzte Dauer der Herstellung (oder Demontage) dieses Produkts unter Verwendung dieser Stückliste ConfirmValidateBom=Sicher, dass die Stückliste abgeglichen wird mit der Referenz %s (kann genutzt werden, um neue Fertigungsaufträge zu erstellen) ConfirmCloseBom=Soll diese Stückliste wirlich storniert werden (Sie kann nicht mehr zum Erstellen neuer Fertigungsaufträge verwendet werden)? ConfirmReopenBom=Soll diese Stückliste erneut geöffnet werden (Sie können damit neue Fertigungsaufträge erstellen)? @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Alles verbrauchen und produzieren Manufactured=Hergestellt TheProductXIsAlreadyTheProductToProduce=Das hinzuzufügende Produkt ist bereits das zu produzierende Produkt. ForAQuantityOf=Für eine zu produzierende Menge von %s +ForAQuantityToConsumeOf=Für eine zu zerlegende Menge von %s ConfirmValidateMo=Möchten Sie diesen Fertigungsauftrag validieren? ConfirmProductionDesc=Durch Klicken auf '%s' validieren Sie den Materialverbrauch und / oder die Produktion für die eingestellten Mengen. Dadurch werden auch Bestände aktualisiert und Bestandsbewegungen aufgezeichnet. ProductionForRef=Produktion von %s AutoCloseMO=Automatisch den Fertigungsauftrag beenden, wenn die zu verbrauchenden und zu produzierenden Mengen erreicht sind NoStockChangeOnServices=Keine Bestandsveränderung bei Dienstleistungen ProductQtyToConsumeByMO=zu verbrauchende Produktmenge von offenem Fertigungsauftrag -ProductQtyToProduceByMO=herzustellende Produktmenge von offenem Fertigungsauftrag +ProductQtyToProduceByMO=Noch herzustellende Produktmenge des offenen Fertigungsauftrags AddNewConsumeLines=Eine neue Zeile Verbrauch hinzufügen ProductsToConsume=Produkte zu verbrauchen ProductsToProduce=Produkte zu produzieren @@ -82,21 +83,21 @@ Workstation=Arbeitsplatz Workstations=Arbeitsplätze WorkstationsDescription=Arbeitsplatzverwaltung WorkstationSetup = Arbeitsplatz einrichten -WorkstationSetupPage = Workstations setup page +WorkstationSetupPage = Seite zur Einrichtung von Arbeitsstationen WorkstationList=Liste Arbeitsplätze WorkstationCreate=neuen Arbeitsplatz hinzufügen ConfirmEnableWorkstation=Möchten Sie den Arbeitsplatz %s aktivieren? EnableAWorkstation=einen Arbeitsplatz aktivieren -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? +ConfirmDisableWorkstation=Sind Sie sicher, dass Sie die Arbeitsstation %s deaktivieren möchten? DisableAWorkstation=Deaktivieren Sie eine Workstation DeleteWorkstation=Löschen NbOperatorsRequired=Anzahl der erforderlichen Bediener -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM +THMOperatorEstimated=Geschätzter Bediener THM +THMMachineEstimated=Geschätzter Maschinen THM WorkstationType=Arbeitsplatztyp Human=Mensch Machine=Maschine HumanMachine=Mensch & Maschine -WorkstationArea=Workstation area +WorkstationArea=Arbeitsstationsbereich Machines=Maschinen THMEstimatedHelp=Dieser Kurs ermöglicht es, prognostizierte Kosten des Artikels zu definieren diff --git a/htdocs/langs/de_DE/orders.lang b/htdocs/langs/de_DE/orders.lang index 221b387169f..c84c9fab0bc 100644 --- a/htdocs/langs/de_DE/orders.lang +++ b/htdocs/langs/de_DE/orders.lang @@ -3,27 +3,28 @@ OrdersArea=Übersicht Kundenaufträge SuppliersOrdersArea=Übersicht Lieferantenbestellungen OrderCard=Bestellung - Übersicht OrderId=Bestell-ID -Order=Bestellung -PdfOrderTitle=Bestellung +Order=Kundenauftrag +PdfOrderTitle=Kundenauftrag Orders=Bestellungen -OrderLine=Bestellservice +OrderLine=Auftragsposition OrderDate=Bestelldatum OrderDateShort=Bestelldatum OrderToProcess=Auftrag zur Bearbeitung -NewOrder=Neue Bestellung -NewOrderSupplier=Neue Auftragsbestätigung +NewOrder=Neuer Auftrag +NewSupplierOrderShort=Neue Bestellung +NewOrderSupplier=Neue Lieferantenbestellung ToOrder=Erzeuge Bestellung MakeOrder=Erzeuge Bestellung SupplierOrder=Lieferantenbestellung SuppliersOrders=Lieferantenbestellungen -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Positionen des Kundenauftrags +PurchaseOrderLines=Positionen der Lieferantenbestellung SuppliersOrdersRunning=Aktuelle Lieferantenbestellungen -CustomerOrder=Bestellung -CustomersOrders=Verkaufsaufträge -CustomersOrdersRunning=Aktuelle Kundenbestellungen +CustomerOrder=Kundenauftrag +CustomersOrders=Kundenaufträge +CustomersOrdersRunning=Aktuelle Kundenaufträge CustomersOrdersAndOrdersLines=Kundenaufträge und Auftragspositionen -OrdersDeliveredToBill=Gelieferte Kundenbestellungen zu verrechnen +OrdersDeliveredToBill=Gelieferte Kundenaufträge zu verrechnen OrdersToBill=Gelieferte Kundenaufträge OrdersInProcess=Kundenaufträge in Bearbeitung OrdersToProcess=Zu bearbeitende Kundenaufträge @@ -59,7 +60,7 @@ StatusOrderReceivedAll=Alle Produkte erhalten ShippingExist=Eine Lieferung ist vorhanden QtyOrdered=Bestellmenge ProductQtyInDraft=Produktmenge in Bestellentwurf -ProductQtyInDraftOrWaitingApproved=Produktmenge in Bestellentwurf oder Bestellung benötigt Genehmigung, noch nicht bestellt +ProductQtyInDraftOrWaitingApproved=Produktmenge in Bestellentwurf oder Bestellung benötigt Genehmigung, noch nicht bestellt MenuOrdersToBill=Bestellverrechnung MenuOrdersToBill2=abrechenbare Aufträge ShipProduct=Produkt versenden @@ -73,7 +74,8 @@ DeleteOrder=Bestellung löschen CancelOrder=Bestellung stornieren OrderReopened= Bestellung %s wieder geöffnet AddOrder=Bestellung erstellen -AddPurchaseOrder=Auftragsbestätigung erstellen +AddSupplierOrderShort=Bestellung erstellen +AddPurchaseOrder=Lieferantenbestellung erstellen AddToDraftOrders=Zu Bestellentwurf hinzufügen ShowOrder=Bestellung anzeigen OrdersOpened=Zu bearbeitende Bestellungen @@ -144,7 +146,7 @@ OrderByWWW=Online OrderByPhone=Telefon # Documents models PDFEinsteinDescription=Ein vollständiges Bestellmodell (alte Implementierung der Eratosthene-Vorlage) -PDFEratostheneDescription=Ein komplettes Bestellmodell +PDFEratostheneDescription=Ein komplette Bestellvorlage PDFEdisonDescription=Eine einfache Bestellvorlage PDFProformaDescription=Eine vollständige Proforma-Rechnungsvorlage CreateInvoiceForThisCustomer=Bestellung verrechnen @@ -158,7 +160,7 @@ OrderFail=Ein Fehler trat beim erstellen der Bestellungen auf CreateOrders=Erzeuge Bestellungen ToBillSeveralOrderSelectCustomer=Um eine Rechnung für verschiedene Bestellungen zu erstellen, klicken Sie erst auf Kunde und wählen Sie dann "%s". OptionToSetOrderBilledNotEnabled=Die Option aus dem Modul Workflow, Bestellung bei Validierung der Rechnung automatisch auf "Abgerechnet" zu setzen, ist nicht aktiviert. Der Status von Bestellungen nach der Rechnungserstellung muss manuell auf "Abgerechnet" gesetzt werden. -IfValidateInvoiceIsNoOrderStayUnbilled=Wenn die Rechnungsprüfung "Nein" lautet, bleibt die Bestellung bis zur Validierung der Rechnung im Status 'Nicht ausgefüllt'. +IfValidateInvoiceIsNoOrderStayUnbilled=Wenn die Rechnungsprüfung "Nein" lautet, bleibt die Bestellung bis zur Validierung der Rechnung im Status 'Nicht abgerechnet'. CloseReceivedSupplierOrdersAutomatically=Schließe Bestellungen mit dem Status "%s" automatisch, wenn alle Produkte erhalten wurden. SetShippingMode=Setze die Versandart WithReceptionFinished=Mit Empfang beendet diff --git a/htdocs/langs/de_DE/other.lang b/htdocs/langs/de_DE/other.lang index 1c52689a5fa..88406ee3155 100644 --- a/htdocs/langs/de_DE/other.lang +++ b/htdocs/langs/de_DE/other.lang @@ -114,7 +114,7 @@ DemoCompanyAll=Verwalten Sie ein kleines oder mittleres Unternehmen mit mehreren CreatedBy=Erstellt von %s ModifiedBy=Bearbeitet von %s ValidatedBy=Freigegeben von %s -SignedBy=Signed by %s +SignedBy=Unterzeichnet von %s ClosedBy=Geschlossen von %s CreatedById=Erstellt von User-ID ModifiedById=Letzte Änderung durch Benutzer-ID @@ -129,6 +129,7 @@ ClosedByLogin=geschlossen von User FileWasRemoved=Datei wurde entfernt DirWasRemoved=Verzeichnis wurde entfernt FeatureNotYetAvailable=Diese Funktion steht in dieser Version noch nicht zur Verfügung +FeatureNotAvailableOnDevicesWithoutMouse=Funktion auf Geräten ohne Maus nicht verfügbar FeaturesSupported=Unterstützte Funktionalität Width=Breite Height=Höhe @@ -183,7 +184,7 @@ EnableGDLibraryDesc=Installiere oder aktiviere die GD Bibliothek in der PHP Inst ProfIdShortDesc=Prof ID %s dient zur Speicherung landesabhängiger Partnerdaten.
    Für das Land %s ist dies beispielsweise Code %s. DolibarrDemo=Dolibarr ERP/CRM-Demo StatsByNumberOfUnits=Statistik zu den Totalstückzahlen Produkte/Dienstleistungen -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statistik über die Anzahl der verweisenden Entitäten (Anzahl der Rechnungen, Bestellungen etc.) NumberOfProposals=Anzahl Angebote NumberOfCustomerOrders=Anzahl der Kundenbestellungen NumberOfCustomerInvoices=Anzahl Kundenrechnungen @@ -245,7 +246,7 @@ NewKeyIs=Dies sind Ihre neuen Anmeldedaten NewKeyWillBe=Dies sind Ihre neuen Anmeldedaten ClickHereToGoTo=Hier klicken für %s YouMustClickToChange=Sie müssen zuerst auf den folgenden Link klicken um die Passwortänderung zu bestätigen. -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Passwortänderung bestätigen ForgetIfNothing=Wenn Sie diese Änderung nicht beantragt haben, löschen Sie einfach dieses Mail. Ihre Anmeldedaten sind sicher bei uns aufbewahrt. IfAmountHigherThan=Wenn der Betrag höher als %s SourcesRepository=Repository für Quellcodes @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontakt / Adresse durch das Modul E-Mail-Sammler ProjectCreatedByEmailCollector=Projekt durch das Modul E-Mail-Sammler aus der E-Mail erstellt. MSGID %s TicketCreatedByEmailCollector=Ticket durch das Modul E-Mail-Sammler aus der E-Mail erstellt. MSGID %s OpeningHoursFormatDesc=Benutze unterschiedliche von - bis Öffnungs- und Schließzeiten.
    Leerzeichen trennt unterschiedliche Bereiche.
    Beispiel: 8-12 14-18 -PrefixSession=Präfix für Sitzungs-ID +SuffixSessionName=Suffix für Sitzungsnamen ##### Export ##### ExportsArea=Exportübersicht @@ -289,4 +290,8 @@ PopuProp=Produkte / Dienstleistungen nach Beliebtheit in Angeboten PopuCom=Produkte / Dienstleistungen nach Beliebtheit in Bestellungen ProductStatistics=Produkt- / Dienstleistungsstatistik NbOfQtyInOrders=Menge in Bestellungen -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=Wählen Sie ein Objekt aus, um seine Statistiken anzuzeigen... + +ConfirmBtnCommonContent = Sind Sie sicher, dass Sie "%s" möchten? +ConfirmBtnCommonTitle = Aktion bestätigen +CloseDialog = schließen diff --git a/htdocs/langs/de_DE/partnership.lang b/htdocs/langs/de_DE/partnership.lang index 7af57cdfae5..19403120943 100644 --- a/htdocs/langs/de_DE/partnership.lang +++ b/htdocs/langs/de_DE/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Parnterschafts-Verwaltung +PartnershipDescription=Modul zur Parnterschafts-Verwaltung +PartnershipDescriptionLong= Modul zur Parnterschafts-Verwaltung + +AddPartnership=Partnerschaft hinzufügen +CancelPartnershipForExpiredMembers=Partnerschaft: Partnerschaft von Mitgliedern mit abgelaufenen Abonnements kündigen +PartnershipCheckBacklink=Partnerschaft: Überprüfen Sie den verweisenden Backlink # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Neue Partnerschaft +ListOfPartnerships=Liste der Partnerschaften # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnerschaft einrichten +PartnershipAbout=Über die Partschnerschaft +PartnershipAboutPage=Partnerschaft "Über uns"-Seite +partnershipforthirdpartyormember=Der Partnerstatus muss bei einem "Geschäftspartner" oder "Mitglied" gesetzt sein +PARTNERSHIP_IS_MANAGED_FOR=Partnerschaft verwaltet für +PARTNERSHIP_BACKLINKS_TO_CHECK=zu überprüfende Backlinks +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Anzahl Tage bis zur Kündigung des Status einer Partnerschaft, wenn ein Abonnement abgelaufen ist +ReferingWebsiteCheck=Überprüfung der verweisenden Website +ReferingWebsiteCheckDesc=Sie können eine Funktion aktivieren, um zu überprüfen, ob Ihre Partner auf ihrer eigenen Website einen Backlink zu Ihren Website-Domains hinzugefügt haben. # # Object # +DeletePartnership=Partnerschaft löschen +PartnershipDedicatedToThisThirdParty=Partnerschaft mit diesem Geschäftspartner +PartnershipDedicatedToThisMember=Partnerschaft mit diesem Mitglied DatePartnershipStart=Startdatum DatePartnershipEnd=Ende +ReasonDecline=Ablehnungsgrund +ReasonDeclineOrCancel=Ablehnungsgrund +PartnershipAlreadyExist=Partnerschaft besteht bereits +ManagePartnership=Partnerschaft verwalten +BacklinkNotFoundOnPartnerWebsite=Backlink auf Partner-Website nicht gefunden +ConfirmClosePartnershipAsk=Möchten Sie diese Partnerschaft wirklich beenden? +PartnershipType=Partnerschaftstyp # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerschaft wird bald beendet +SendingEmailOnPartnershipRefused=Partnerschaft abgelehnt +SendingEmailOnPartnershipAccepted=Partnerschaft akzeptiert +SendingEmailOnPartnershipCanceled=Partnerschaft beendet +YourPartnershipWillSoonBeCanceledTopic=Partnerschaft wird bald beendet +YourPartnershipRefusedTopic=Partnerschaft abgelehnt +YourPartnershipAcceptedTopic=Partnerschaft akzeptiert +YourPartnershipCanceledTopic=Partnerschaft beendet + +YourPartnershipWillSoonBeCanceledContent=Wir informieren Sie darüber, dass Ihre Partnerschaft bald beendet wird (Backlink nicht gefunden) +YourPartnershipRefusedContent=Wir informieren Sie darüber, dass Ihre Partnerschaftsanfrage abgelehnt wurde. +YourPartnershipAcceptedContent=Wir informieren Sie darüber, dass Ihre Partnerschaftsanfrage angenommen wurde. +YourPartnershipCanceledContent=Wir informieren Sie darüber, dass Ihre Partnerschaft gekündigt wurde. + +CountLastUrlCheckError=Anzahl der Fehler bei der letzten URL-Überprüfung +LastCheckBacklink=Datum der letzten URL-Überprüfung +ReasonDeclineOrCancel=Ablehnungsgrund # # Status # -PartnershipDraft = Entwurf -PartnershipAccepted = Bestätigt -PartnershipRefused = Abgelehnt -PartnershipCanceled = storniert - -PartnershipManagedFor=Partners are +PartnershipDraft=Entwurf +PartnershipAccepted=Bestätigt +PartnershipRefused=Abgelehnt +PartnershipCanceled=storniert +PartnershipManagedFor=Partner sind diff --git a/htdocs/langs/de_DE/productbatch.lang b/htdocs/langs/de_DE/productbatch.lang index 8c94e861397..019531b9be1 100644 --- a/htdocs/langs/de_DE/productbatch.lang +++ b/htdocs/langs/de_DE/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Chargen-/Serien-Nr. benutzen ProductStatusOnBatch=Ja (Charge erforderlich) ProductStatusOnSerial=Ja (einzigartige Seriennummer erforderlich) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Bewegungen für diese Chargen-/Seriennummer anzeigen StockDetailPerBatch=Lagerdetail nach Chargen SerialNumberAlreadyInUse=Die Seriennummer %s wird bereits für das Produkt %s verwendet TooManyQtyForSerialNumber=Sie können nur ein Produkt %s für die Seriennummer %s haben -BatchLotNumberingModules=Optionen für die automatische Generierung von Chargenprodukten, die über Lose verwaltet werden -BatchSerialNumberingModules=Optionen für die automatische Generierung von Chargenprodukten, die über Seriennummern verwaltet werden ManageLotMask=Benutzerdefinierte Maske -CustomMasks=Fügt eine Option zum Definieren der Maske in der Produktkarte hinzu -LotProductTooltip=Fügt der Produktkarte eine Option zum Definieren einer dedizierten Chargennummernmaske hinzu -SNProductTooltip=Fügt der Produktkarte eine Option zum Definieren einer dedizierten Seriennummernmaske hinzu +CustomMasks=Option, für jedes Produkt ein anderes Nummerierungsschema zu definieren +BatchLotNumberingModules=Nummerierungsregel zur automatischen Generierung der Chargennummer +BatchSerialNumberingModules=Nummerierungsregel zur automatischen Generierung der Seriennummer (für Produkte mit der Eigenschaft 1 eindeutiges Los/Serie für jedes Produkt) QtyToAddAfterBarcodeScan=Menge, die für jeden gescannten Barcode / jedes Los / jede Serienummer hinzugefügt werden muss +LifeTime=Lebensdauer (in Tagen) +EndOfLife=Ende der Lebensdauer +ManufacturingDate=Herstellungsdatum +DestructionDate=Datum der Vernichtung +FirstUseDate=Datum der ersten Verwendung +QCFrequency=Häufigkeit der Qualitätskontrolle (in Tagen) + +#Traceability - qc status +OutOfOrder=Außer Betrieb +InWorkingOrder=In betriebsfähigem Zustand diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index 44c45864ae2..39b0bc2dff5 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -108,7 +108,7 @@ FillWithLastServiceDates=Fülle mit Daten der letzten Servicezeile MultiPricesAbility=Mehrere Preissegmente pro Produkt / Dienstleistung (jeder Kunde befindet sich in einem Preissegment) MultiPricesNumPrices=Anzahl Preise DefaultPriceType=Basis der Standardpreise (mit versus ohne Steuern) beim Hinzufügen neuer Verkaufspreise -AssociatedProductsAbility=Aktiviere Kits (Set von mehreren Produkte) +AssociatedProductsAbility=Aktiviere Kits (Sets aus mehreren Produkten) VariantsAbility=Varianten aktivieren (Produktvarianten, z. B. Farbe, Größe) AssociatedProducts=Sätze AssociatedProductsNumber=Anzahl der Produkte, aus denen dieser Satz besteht @@ -172,7 +172,7 @@ SuppliersPricesOfProductsOrServices=Herstellerpreise (von Produkten oder Dienstl CustomCode=Zolltarifnummer CountryOrigin=Herkunftsland RegionStateOrigin=Herkunftsregion -StateOrigin=State|Province of origin +StateOrigin=Ursprungs- Staat | Provinz Nature=Art des Produkts (roh / hergestellt) NatureOfProductShort=Art des Produkts NatureOfProductDesc=Rohmaterial oder hergestelltes Produkt @@ -277,7 +277,7 @@ PriceByCustomer=unterschiedliche Preise für jeden Kunden PriceCatalogue=Ein einziger Preis pro Produkt/Leistung PricingRule=Regeln für die Verkaufspreise AddCustomerPrice=Preis je Kunde hinzufügen -ForceUpdateChildPriceSoc=Lege den gleichen Preis für Kunden-Tochtergesellschaften fest +ForceUpdateChildPriceSoc=Gleichen Preis für Tochtergesellschaften des Kunden festlegen PriceByCustomerLog=Protokoll der vorangegangenen Kundenpreise MinimumPriceLimit=Mindestpreis darf nicht kleiner als %s sein MinimumRecommendedPrice=minimal empfohlener Preis: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Erhöhen/Verringern des Lagerbestands bei verknüpfte ComposedProduct=Unterprodukte MinSupplierPrice=Minimaler Kaufpreis MinCustomerPrice=Minimaler Verkaufspreis +NoDynamicPrice=Kein dynamischer Preis DynamicPriceConfiguration=Dynamische Preis Konfiguration DynamicPriceDesc=Sie können mathematische Formeln definieren, um Kunden- oder Lieferantenpreise zu berechnen. Solche Formeln können alle mathematischen Operatoren, einige Konstanten und Variablen verwenden. Hier können Sie die Variablen definieren, die Sie verwenden möchten. Wenn die Variable automatisch aktualisiert werden muss, können Sie die externe URL definieren, damit Dolibarr den Wert automatisch aktualisiert. AddVariable=Variable hinzufügen @@ -340,7 +341,7 @@ ProductSheet=Datenblatt ServiceSheet=Wartungsblatt PossibleValues=Mögliche Werte GoOnMenuToCreateVairants=Rufen Sie das Menü %s - %s auf, um Attributvarianten (wie Farben, Größe, ...) vorzubereiten. -UseProductFournDesc=Fügen Sie eine Funktion hinzu, um die Beschreibungen der von den Anbietern definierten Produkte zusätzlich zu den Beschreibungen für Kunden zu definieren +UseProductFournDesc=Fügen Sie eine Funktion hinzu, um die von den Anbietern definierte Produktbeschreibung (für jede Anbieterreferenz) zusätzlich zur Beschreibung für Kunden zu definieren ProductSupplierDescription=Lieferantenbeschreibung für das Produkt UseProductSupplierPackaging=Berechne die Verpackung bei Lieferantenpreisen (berechnet neue Mengen / Lieferantenpreise gemäß der eingesetzten Verpackung, wenn Zeilen in den Lieferantendokumenten hinzugefügt / aktualisiert werden). PackagingForThisProduct=Verpackung @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Aktion nur für die Produktvariante verfügb ProductsPricePerCustomer=Produktpreise pro Kunde ProductSupplierExtraFields=Zusätzliche Attribute (Lieferantenpreise) DeleteLinkedProduct=Löschen Sie das mit der Kombination verknüpfte untergeordnete Produkt +PMPValue=Gewichteter Warenwert +PMPValueShort=DSWP diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index f1ffc0c7575..1b5d42a9a9f 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -10,19 +10,19 @@ PrivateProject=Projektkontakte ProjectsImContactFor=Projekte, für die ich ausdrücklich ein Ansprechpartner bin AllAllowedProjects=Alle Projekte die ich sehen kann (eigene + öffentliche) AllProjects=alle Projekte -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Diese Ansicht ist auf die Projekte beschränkt, für die Sie ein Ansprechpartner sind ProjectsPublicDesc=Diese Ansicht zeigt alle Projekte, für die Sie zum Lesen berechtigt sind. TasksOnProjectsPublicDesc=Diese Ansicht zeigt alle Aufgaben der Projekte, für die Sie zum Lesen berechtigt sind. ProjectsPublicTaskDesc=Diese Ansicht ist beschränkt auf Projekt und Aufgaben bei welchen Sie über Leserechte verfügen. ProjectsDesc=Es werden alle Projekte angezeigt (Ihre Berechtigungen berechtigt Sie alle Projekte zu sehen). TasksOnProjectsDesc=Es werden alle Aufgaben angezeigt (Ihre Berechtigungen berechtigt Sie alles zu sehen). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Diese Ansicht ist auf die Projekte oder Aufgaben beschränkt, für die Sie als Ansprechpartner benannt sind OnlyOpenedProject=Nur offene Projekte sind sichtbar. (Projekte mit dem Status Entwurf oder Geschlossen sind nicht sichtbar) ClosedProjectsAreHidden=Abgeschlossene Projekte werden nicht angezeigt. TasksPublicDesc=Diese Ansicht ist beschränkt auf Projekt und Aufgaben bei welchen Sie über Leserechte verfügen. TasksDesc=Diese Ansicht zeigt alle Projekte und Aufgaben (Ihre Benutzerberechtigungen berechtigt Sie alles zu sehen). AllTaskVisibleButEditIfYouAreAssigned=Alle Aufgaben für qualifizierte Projekte sind sichtbar, Sie können jedoch nur die Zeit für die Aufgabe eingeben, die dem ausgewählten Benutzer zugewiesen ist. Weisen Sie eine Aufgabe zu, wenn Sie Zeiten dafür eingeben müssen. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Nur Ihnen zugewiesene Aufgaben sind sichtbar. Wenn Sie Zeit für eine Aufgabe eingeben müssen und die Aufgabe hier nicht sichtbar ist, müssen Sie sich die Aufgabe selbst zuweisen. ImportDatasetTasks=Aufgaben der Projekte ProjectCategories=Projektkategorien/Tags NewProject=neues Projekt @@ -89,7 +89,7 @@ TimeConsumed=verwendet ListOfTasks=Aufgabenliste GoToListOfTimeConsumed=Liste der verwendeten Zeit aufrufen GanttView=Gantt-Diagramm -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Liste der mit dem Projekt verknüpften Lager ListProposalsAssociatedProject=Liste der projektbezogenen Angebote ListOrdersAssociatedProject=Liste der projektbezogenen Kundenaufträge ListInvoicesAssociatedProject=Liste der projektbezogenen Kundenrechnungen @@ -140,6 +140,7 @@ NoTasks=Keine Aufgaben zu diesem Projekt vorhanden. LinkedToAnotherCompany=Mit Partner verknüpft TaskIsNotAssignedToUser=Aufgabe ist keinem Benutzer zugeteilt. Verwenden Sie den Knopf '%s' um die Aufgabe jetzt zuzuweisen. ErrorTimeSpentIsEmpty=Zeitaufwand ist leer +TimeRecordingRestrictedToNMonthsBack=Rückwirkende Zeiterfassung ist auf %s Monate beschränkt ThisWillAlsoRemoveTasks=Diese Aktion löscht ebenfalls alle Aufgaben zum Projekt (%s aktuelle Aufgaben) und alle Zeitaufwände. IfNeedToUseOtherObjectKeepEmpty=Wenn einige Zuordnungen (Rechnung, Bestellung, ...), einem Dritten gehören, müssen Sie erst alle mit dem Projekt verbinden, damit das Projekt auch Dritten zugänglich ist . CloneTasks=Dupliziere Aufgaben @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=nicht der Aufgabe zugewiesen NoUserAssignedToTheProject=Diesem Projekt sind keine Benutzer zugeordnet TimeSpentBy=Zeitaufwand durch TasksAssignedTo=Aufgabe zugewiesen an -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Aufgabe mir selbst zuweisen AssignTaskToUser=Aufgabe an %s zuweisen SelectTaskToAssign=Zuzuweisende Aufgabe auswählen... AssignTask=Zuweisen @@ -241,6 +242,7 @@ LatestModifiedProjects=Zuletzt bearbeitete Projekte (maximal %s) OtherFilteredTasks=Andere gefilterte Aufgaben NoAssignedTasks=Keine zugewiesenen Aufgaben gefunden (dem aktuellen Benutzer über das obere Auswahlfeld Projekt / Aufgaben zuweisen, um die Zeit einzugeben) ThirdPartyRequiredToGenerateInvoice=Für das Projekt muss ein Drittanbieter definiert werden, um es in Rechnung stellen zu können. +ThirdPartyRequiredToGenerateInvoice=Für das Projekt muss ein Drittanbieter definiert werden, um es in Rechnung stellen zu können. ChooseANotYetAssignedTask=Wählen Sie eine Aufgabe, die Ihnen noch nicht zugewiesen ist # Comments trans AllowCommentOnTask=Alle Benutzerkommentare zur Aufgabe @@ -252,10 +254,12 @@ SendProjectRef=Informationen zu Projekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Das Modul 'Gehälter' muss aktiviert sein, um den Stundensatz des Mitarbeiters zu definieren und den Zeitaufwand zu bewerten NewTaskRefSuggested=Aufgabenreferenz bereits verwendet, eine neue Aufgabenreferenz ist erforderlich TimeSpentInvoiced=Zeitaufwand in Rechnung gestellt +TimeSpentForIntervention=Zeitaufwand TimeSpentForInvoice=Zeitaufwand OneLinePerUser=Eine Zeile pro Benutzer ServiceToUseOnLines=Service für Leitungen InvoiceGeneratedFromTimeSpent=Die Rechnung %s wurde aus der für das Projekt aufgewendeten Zeit generiert +InterventionGeneratedFromTimeSpent=Der Serviceauftrag %s wurde aus der für das Projekt aufgewendeten Zeit generiert ProjectBillTimeDescription=Prüfe, ob Arbeitszeittabellen für Projektaufgaben geführt werden UND ob Rechnungen aus dieser Arbeitszeittabelle erstellt werden sollen, um mit dem Kunden des Projekts abzurechnen (Prüfe nicht, ob Rechnungen erstellt werden sollen, die nicht auf Arbeitszeittabellen basieren). Hinweis: Um eine Rechnung zu erstellen, gehe auf die Registerkarte 'Zeitaufwand' des Projekts und wähle einzuschließende Zeilen aus. ProjectFollowOpportunity=Verkaufsmöglichkeiten nachverfolgen ProjectFollowTasks=Befolgen Sie die Aufgaben oder die aufgewendete Zeit @@ -264,12 +268,16 @@ UsageOpportunity=Anwendung: Verkaufsmöglichkeit UsageTasks=Verwendung: Aufgaben UsageBillTimeShort=Verwendung: Zeit abrechnen InvoiceToUse=Zu verwendender Rechnungsentwurf +InterToUse=Interventionsentwurf zu benutzen NewInvoice=Neue Rechnung +NewInter=Neuer Serviceauftrag OneLinePerTask=Eine Zeile pro Aufgabe OneLinePerPeriod=Eine Zeile pro Zeitraum +OneLinePerTimeSpentLine=Eine Zeile für jede Arbeitszeitdeklaration RefTaskParent=Übergeordnete Aufgabe ProfitIsCalculatedWith=Der Gewinn wird berechnet mit AddPersonToTask=Auch zu Aufgaben hinzufügen -UsageOrganizeEvent=Verwendung: Ereignisorganisation +UsageOrganizeEvent=Verwendung: Organisation von Veranstaltungen PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Klassifizieren Sie das Projekt als abgeschlossen, wenn alle seine Aufgaben abgeschlossen sind (100%% Fortschritt). PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Hinweis: Bestehende Projekte mit allen Aufgaben mit dem Fortschritt 100%% sind nicht betroffen: Sie müssen sie manuell schließen. Diese Option betrifft nur offene Projekte. +SelectLinesOfTimeSpentToInvoice=Wählen Sie Positionen mit Zeiten aus, die noch nicht in Rechnung gestellt wurden, und führen Sie dann die Massenaktion "Rechnung erstellen" aus, um sie zu berechnen diff --git a/htdocs/langs/de_DE/propal.lang b/htdocs/langs/de_DE/propal.lang index 32d5cb7ce29..93e3448451b 100644 --- a/htdocs/langs/de_DE/propal.lang +++ b/htdocs/langs/de_DE/propal.lang @@ -59,7 +59,7 @@ ConfirmClonePropal=Sind Sie sicher, dass Sie dieses Angebot %s dupliziere ConfirmReOpenProp=Sind Sie sicher, dass Sie dieses Angebot %s wieder öffnen möchten ? ProposalsAndProposalsLines=Angebote und Positionen ProposalLine=Angebotsposition -ProposalLines=Proposal lines +ProposalLines=Angebotszeilen AvailabilityPeriod=Gültig bis SetAvailability=Gültigkeitszeitraum definieren AfterOrder=nach Bestellung diff --git a/htdocs/langs/de_DE/receptions.lang b/htdocs/langs/de_DE/receptions.lang index 65e73211e22..ba8a37b0668 100644 --- a/htdocs/langs/de_DE/receptions.lang +++ b/htdocs/langs/de_DE/receptions.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - receptions -ReceptionsSetup=Produktempfang einrichten +ReceptionsSetup=Wareneingang einrichten RefReception=Wareneingangs Nummer Reception=Wareneingang Receptions=Wareneingänge @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Sie müssen zunächst die order validate valid ReceptionsNumberingModules=Nummerierungsmodul für Empfänge ReceptionsReceiptModel=Dokumentvorlagen für Empfänge NoMorePredefinedProductToDispatch=Keine vordefinierten Produkte mehr zum Versand - +ReceptionExist=Ein Wareneingang ist vorhanden diff --git a/htdocs/langs/de_DE/salaries.lang b/htdocs/langs/de_DE/salaries.lang index 412c815f3e1..3a82100a359 100644 --- a/htdocs/langs/de_DE/salaries.lang +++ b/htdocs/langs/de_DE/salaries.lang @@ -17,8 +17,8 @@ TJM=Durchschnittlicher Tagessatz CurrentSalary=aktueller Lohn THMDescription=Dieser Wert kann verwendet werden, um die Kosten für die verwendete Zeit eines Anwender zu berechnen, wenn das Modul Projektverwaltung verwendet wird, TJMDescription=Dieser Wert ist aktuell nur zu Informationszwecken und wird nicht für eine Berechnung verwendet -LastSalaries=Letzte %s Lohnzahlungen -AllSalaries=Alle Gehaltszahlungen +LastSalaries=Letzte %s Gehälter +AllSalaries=Alle Gehälter SalariesStatistics=Statistik Gehälter -# Export SalariesAndPayments=Gehälter und Gehaltszahlungen +ConfirmDeleteSalaryPayment=Möchten Sie diese Gehaltszahlung löschen? diff --git a/htdocs/langs/de_DE/sendings.lang b/htdocs/langs/de_DE/sendings.lang index 8fceea20bd4..482de9a27e7 100644 --- a/htdocs/langs/de_DE/sendings.lang +++ b/htdocs/langs/de_DE/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Möchten Sie die Lieferung mit der Referenz %s wir ConfirmCancelSending=Möchten Sie diese Auslieferung wirklich abbrechen? DocumentModelMerou=Merou A5-Modell WarningNoQtyLeftToSend=Achtung, keine weiteren Produkte für den Versand. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Versandstatistik (nur freigegebene). Das Datum ist das der Freigabe (geplantes Lieferdatum ist nicht immer bekannt). DateDeliveryPlanned=Geplanter Liefertermin RefDeliveryReceipt=Lieferschein-Nr. StatusReceipt=Der Status des Lieferschein diff --git a/htdocs/langs/de_DE/stocks.lang b/htdocs/langs/de_DE/stocks.lang index 810ce4a351d..f4cb1467ef3 100644 --- a/htdocs/langs/de_DE/stocks.lang +++ b/htdocs/langs/de_DE/stocks.lang @@ -28,7 +28,7 @@ Movements=Lagerbewegungen ErrorWarehouseRefRequired=Warenlager-Referenz erforderlich ListOfWarehouses=Liste der Warenlager ListOfStockMovements=Liste der Lagerbewegungen -ListOfInventories=Inventarliste +ListOfInventories=Liste der Inventuren MovementId=Bewegungs ID StockMovementForId=Lagerbewegung Nr. %d ListMouvementStockProject=Lagerbewegungen für Projekt @@ -56,13 +56,11 @@ UnitPurchaseValue=Einkaufspreis pro Stück StockTooLow=Mindestbestand unterschritten StockLowerThanLimit=Lagerbestand unterhalb der Mindestbestandsmenge ( %s ) EnhancedValue=Warenwert -PMPValue=Gewichteter Warenwert -PMPValueShort=DSWP EnhancedValueOfWarehouses=Lagerwert UserWarehouseAutoCreate=Automatisch ein Lager erstellen wenn ein neuer Benutzer erstellt wird AllowAddLimitStockByWarehouse=Verwalten Sie zusätzlich zum Wert für den Mindest- und den gewünschten Bestand pro Paar (Produktlager) auch den Wert für den Mindest- und den gewünschten Bestand pro Produkt RuleForWarehouse=Regel für Lager -WarehouseAskWarehouseOnThirparty=Stellen Sie ein Lager auf einem Drittanbieter ein +WarehouseAskWarehouseOnThirparty=Legen Sie ein Lager für Geschäftspartner fest WarehouseAskWarehouseDuringPropal=Ein Lager zu dem Angebot einstellen WarehouseAskWarehouseDuringOrder=Legen Sie ein Lager für Verkaufsaufträge fest UserDefaultWarehouse=Legen Sie ein Lager für Benutzer fest @@ -169,8 +167,8 @@ MovementTransferStock=Umlagerung des Produkt %s in ein anderes Lager InventoryCodeShort=Bewegungs- oder Bestandscode NoPendingReceptionOnSupplierOrder=Kein anstehender Wareneingang aufgrund offener Bestellung ThisSerialAlreadyExistWithDifferentDate=Diese Charge / Seriennummer (%s) ist bereits vorhanden, jedoch mit unterschiedlichen Haltbarkeits- oder Verfallsdatum. \n(Gefunden: %s Erfasst: %s) -OpenAll=Verfügbar für alle Aktionen -OpenInternal=Verfügbar für interne Aktionen +OpenAnyMovement=Offen (alle Bewegungen) +OpenInternal=Offen (nur interne Bewegungen) UseDispatchStatus=Verwende einen Versandstatus (genehmigen / ablehnen) für Produktzeilen beim Bestelleingang OptionMULTIPRICESIsOn=Option "Unterschiedliche Preise pro Segment" ist aktiviert. Dadurch hat ein Produkt verschiedene Verkaufspreise, weshalb der Verakufspreis nicht berechnet werden kann ProductStockWarehouseCreated=Bestandeswert für Benachrichtigung und erwünschtem optimalem Lagerbestand erstellt @@ -179,7 +177,7 @@ ProductStockWarehouseDeleted=Bestandeswert für Benachrichtigung und erwünschte AddNewProductStockWarehouse=Neuen Grenzwert für Benachrichtigung und gewünschtem Lagerbestand setzen AddStockLocationLine=Bestand buchen und danach klicken, um dieses Produkt einem weiteren Warenlager zuzuweisen InventoryDate=Inventardatum -NewInventory=Neues inventar +NewInventory=Neue Bestandsaufnahme inventorySetup = Inventar einrichten inventoryCreatePermission=Neue Inventur erstellen inventoryReadPermission=Inventar anzeigen @@ -196,7 +194,7 @@ inventoryValidate=Bestätigt inventoryDraft=In Arbeit inventorySelectWarehouse=Lager auswählen inventoryConfirmCreate=Erstelle -inventoryOfWarehouse=Inventar für Lager: %s +inventoryOfWarehouse=Inventur für Lager: %s inventoryErrorQtyAdd=Fehler: Eine Menge ist kleiner als Null inventoryMvtStock=By Inventar inventoryWarningProductAlreadyExists=Dieses Produkt ist schon in der Liste @@ -218,7 +216,7 @@ RegulatedQty=Gebuchte Menge AddInventoryProduct=Produkt zu Inventar hinzufügen AddProduct=Hinzufügen ApplyPMP=Durchschnittspreis übernehmen -FlushInventory=Inventur leeren +FlushInventory=Bestand leeren ConfirmFlushInventory=Bestätigen Sie diese Aktion? InventoryFlushed=Inventar wurde gelöscht ExitEditMode=Berarbeiten beenden @@ -232,8 +230,8 @@ StockIncreaseAfterCorrectTransfer=Bestandszunahme durch Korrektur/Transfer StockDecreaseAfterCorrectTransfer=Bestandsabnahme durch Korrektur/Transfer StockIncrease=Bestandserhöhung StockDecrease=Bestandsabnahme -InventoryForASpecificWarehouse=Inventar für ein bestimmtes Lager -InventoryForASpecificProduct=Inventar für ein bestimmtes Produkt +InventoryForASpecificWarehouse=Inventur für ein bestimmtes Lager +InventoryForASpecificProduct=Inventur für ein bestimmtes Produkt StockIsRequiredToChooseWhichLotToUse=Ein Lagerbestand ist erforderlich, um das zu verwendende Buch auszuwählen ForceTo=Erzwingen AlwaysShowFullArbo=Anzeige des vollständigen Angebots (Popup des Lager-Links). Warnung: Dies kann die Leistung erheblich beeinträchtigen. @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=Wählen Sie eine zu importierende Bestandsbeweg InfoTemplateImport=Hochgeladene Dateien müssen dieses Format haben (* sind Pflichtfelder):
    Startlager * | Ziellager * | Produkt * | Menge * | Los- / Seriennummer
    Das CSV-Zeichentrennzeichen muss " %s " sein. LabelOfInventoryMovemement=Inventar %s ReOpen=wiedereröffnen -ConfirmFinish=Bestätigen Sie den Abschluss des Inventars? Dadurch werden alle Bestandsbewegungen generiert, um Ihren Bestand zu aktualisieren. +ConfirmFinish=Abschluss der Inventur bestätigen? Dadurch werden entsprechende Lagerbewegungen generiert, um Ihren Lagerbestand auf die tatsächliche Menge zu aktualisieren, die Sie als Inventurbestand eingegeben haben. ObjectNotFound=%s nicht gefunden MakeMovementsAndClose=Bewegungen erzeugen und schließen AutofillWithExpected=Füllen Sie die reale Menge mit der erwarteten Menge +ShowAllBatchByDefault=Standardmäßig die Chargendetails auf der Registerkarte "Lager" des Produkts anzeigen +CollapseBatchDetailHelp=Sie können die Standardanzeige für Chargendetails in der Konfiguration des Bestandsmoduls festlegen +FieldCannotBeNegative=Feld "%s" darf nicht negativ sein +ErrorWrongBarcodemode=Unbekannter Barcode-Modus +ProductDoesNotExist=Produkt existiert nicht +ErrorSameBatchNumber=Gleiche Chargennummer ist bereits in der Inventurliste vorhanden +ProductBatchDoesNotExist=Produkt mit Charge/Serie existiert nicht +ProductBarcodeDoesNotExist=Produkt mit Barcode existiert nicht diff --git a/htdocs/langs/de_DE/ticket.lang b/htdocs/langs/de_DE/ticket.lang index d11fe870838..f984a0646ca 100644 --- a/htdocs/langs/de_DE/ticket.lang +++ b/htdocs/langs/de_DE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket-Auflösung TicketTypeShortCOM=Anfrage an Verkauf TicketTypeShortHELP=Erbitte funktionale Hilfestellung -TicketTypeShortISSUE=Aspekt, Fehler oder Problem +TicketTypeShortISSUE=Problem oder Fehler +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Änderungs- oder Erweiterungsanforderung TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Sonstige @@ -54,24 +55,25 @@ TypeContact_ticket_internal_SUPPORTTEC=Zugewiesener Benutzer TypeContact_ticket_external_SUPPORTCLI=Kundenkontakt / Tracking TypeContact_ticket_external_CONTRIBUTOR=Externer Mitarbeiter -OriginEmail=E-Mail Absender +OriginEmail=Ersteller E-Mail Notify_TICKET_SENTBYMAIL=Ticket Nachricht per E-Mail versenden # Status Read=Lesen Assigned=Zugewiesen InProgress=in Bearbeitung -NeedMoreInformation=Auf Information warten +NeedMoreInformation=Warten auf Feedback des Erstellers +NeedMoreInformationShort=Warten auf Feedback Answered=Beantwortet Waiting=Wartend -Closed=Geschlossen +SolvedClosed=Gelöst Deleted=Gelöscht # Dict Type=Typ Severity=Dringlichkeit TicketGroupIsPublic=Gruppe ist öffentlich -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublicDesc=Falls eine Ticket-Gruppe öffentlich ist, wird sie in der öffentlichen Oberfläche zum erstellen eines Tickets sichtbar sein # Email templates MailToSendTicketMessage=Um eine E-Mail mit der Ticketmeldung zu senden @@ -116,8 +118,8 @@ TicketsShowModuleLogo=Logo des Moduls im öffentlichen Interface anzeigen TicketsShowModuleLogoHelp=Aktiviere diese Option um das Logo des Moduls im öffentlichen Interface nicht anzuzeigen TicketsShowCompanyLogo=Unternehmenslogo im öffentlichen Interface anzeigen TicketsShowCompanyLogoHelp=Aktiviere diese Option um das Firmenlogo nicht im öffentlichen Interface anzuzeigen -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddress=Sende Benachrichtungen auch an die Hauptemailadresse +TicketsEmailAlsoSendToMainAddressHelp=Aktivieren Sie diese Option, um auch eine E-Mail an die im Setup definierte Adresse "%s" zu senden (siehe Reiter "%s") TicketsLimitViewAssignedOnly=Zeige nur dem Benutzer zugewiesene Tickets an (nicht gültig für externe Benutzer, diese sehen nur die Tickets des eigenen Partners) TicketsLimitViewAssignedOnlyHelp=Nur dem aktuellen Benutzer zugewiesene Tickets werden angezeigt. Trifft nicht auf Benutzer zu, die das Recht haben Tickets zu verwalten. TicketsActivatePublicInterface=Öffentliches Interface aktivieren @@ -128,10 +130,10 @@ TicketNumberingModules=Ticketnummerierungsmodul TicketsModelModule=Dokumentvorlagen für Tickets TicketNotifyTiersAtCreation=Partner über Ticketerstellung informieren TicketsDisableCustomerEmail=E-Mails immer deaktivieren, wenn ein Ticket über die öffentliche Oberfläche erstellt wird -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessage=Sende E-Mails, wenn neue Nachrichten oder Kommentare zum Ticket hinzugefügt wurden TicketsPublicNotificationNewMessageHelp=E-Mail (s) senden, wenn eine neue Nachricht von der öffentlichen Oberfläche hinzugefügt wird (an den zugewiesenen Benutzer oder die Benachrichtigungs-E-Mail an (Update) und / oder die Benachrichtigungs-E-Mail an) TicketPublicNotificationNewMessageDefaultEmail=Benachrichtigungen per E-Mail an (Update) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=Sende E-Mail-Benachrichtigungen über neue Nachrichten an diese Adresse, wenn dem Ticket kein Benutzer zugewiesen ist oder der Benutzer keine E-Mail hat. # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=Erstellt durch NewTicket=Ticket erstellen SubjectAnswerToTicket=Ticketantwort TicketTypeRequest=Anfrageart -TicketCategory=Gruppe +TicketCategory=Ticket-Kategorisierung SeeTicket=Ticket zeigen TicketMarkedAsRead=Ticket als gelesen markiert TicketReadOn=Gelesen um @@ -184,9 +186,11 @@ TicketSeverity=Dringlichkeit ShowTicket=Ticket zeigen RelatedTickets=Verknüpfte Tickets TicketAddIntervention=Serviceauftrag erstellen -CloseTicket=Ticket schliessen -CloseATicket=Ein Ticket schliessen +CloseTicket=Ticket als gelöst markieren | schließen +AbandonTicket=Ticket verwerfen +CloseATicket=ein Ticket als gelöst markieren | schließen ConfirmCloseAticket=Tichek schliessen bestätigen +ConfirmAbandonTicket=Bestätigen Sie das Schließen des Tickets mit dem Status 'verworfen' ConfirmDeleteTicket=Soll dieses Ticket wirklich gelöscht werden? TicketDeletedSuccess=Ticket wurde gelöscht TicketMarkedAsClosed=Ticket als geschlossen markiert @@ -211,6 +215,7 @@ TicketMessageHelp=Nur dieser Text wird in der Mitteilungsliste auf der Ticketkar TicketMessageSubstitutionReplacedByGenericValues=Ersetzungsvariablen werden durch generische Werte ersetzt. TimeElapsedSince=Seit TicketTimeToRead=Zeit bis das Ticket gelesen wurde +TicketTimeElapsedBeforeSince=Verstrichene Zeit vor / seit TicketContacts=Kontakte zum Ticket TicketDocumentsLinked=Dokumente zum Ticket ConfirmReOpenTicket=Dieses Ticket wirklich wieder öffnen? @@ -304,13 +309,13 @@ BoxLastModifiedTicket=Zuletzt bearbeitete TIckets BoxLastModifiedTicketDescription=Zuletzt bearbeitete Tickets (maximal %s) BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Keine zuletzt bearbeiteten Tickets -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity +BoxTicketType=Verteilung der offenen Tickets nach Typ +BoxTicketSeverity=Anzahl der offenen Tickets nach Schwere BoxNoTicketSeverity=Keine Tickets geöffnet -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days +BoxTicketLastXDays=Anzahl der neuen Tickets nach Tagen innerhalb der letzten %s Tage +BoxTicketLastXDayswidget = Anzahl der neuen Tickets nach Tagen innerhalb der letzten X Tage +BoxNoTicketLastXDays=Keine neuen Tickets innerhalb der letzten %s Tage BoxNumberOfTicketByDay=Anzahl neuer Tickets pro Tag -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets +BoxNewTicketVSClose=Zahl der heutigen neuen Tickets zu heute geschlossenen Tickets TicketCreatedToday=Ticket heute erstellt TicketClosedToday=Ticket heute geschlossen diff --git a/htdocs/langs/de_DE/trips.lang b/htdocs/langs/de_DE/trips.lang index 0a6ad3bad24..4abe4bbd6d7 100644 --- a/htdocs/langs/de_DE/trips.lang +++ b/htdocs/langs/de_DE/trips.lang @@ -90,7 +90,6 @@ DATE_REFUS=Datum Ablehnung DATE_SAVE=Freigabedatum DATE_CANCEL=Stornodatum DATE_PAIEMENT=Zahlungsdatum -BROUILLONNER=wiedereröffnen ExpenseReportRef=Belegnummer Spesenabrechnung ValidateAndSubmit=Validieren und zur Genehmigung einreichen ValidatedWaitingApproval=Validiert (Wartet auf Genehmigung) diff --git a/htdocs/langs/de_DE/users.lang b/htdocs/langs/de_DE/users.lang index c9f6aae0eb0..74fa4ad1292 100644 --- a/htdocs/langs/de_DE/users.lang +++ b/htdocs/langs/de_DE/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Neues Passwort: %s SubjectNewPassword=Ihr neues Passwort für %s GroupRights=Gruppenberechtigungen UserRights=Benutzerberechtigungen -Credentials=Credentials +Credentials=Zugangsdaten UserGUISetup=Konfiguration der Benutzeranzeige DisableUser=Deaktiviere Benutzer DisableAUser=Einen Benutzer deaktivieren @@ -71,9 +71,9 @@ UsePersonalValue=Eigenen Wert verwenden InternalUser=Interne Benutzer ExportDataset_user_1=Benutzer und -eigenschaften DomainUser=Domain-Benutzer %s -Reactivate=Reaktivieren +Reactivate=wieder aktivieren CreateInternalUserDesc=Dieses Formular erlaubt ihnen das Anlegen eines internen Benutzers in ihrem Unternehmen/ihrer Organisation. Zum Anlegen eines externen Benutzers (Kunden, Lieferanten, ...), verwenden sie bitte die 'Kontakt/Adresse erstellen'-Schaltfläche in der Kontaktkarte des jeweiligen Partners. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=Ein interner Benutzer ist ein Benutzer, der zu Ihrem Unternehmen/Ihrer Organisation gehört oder ein Partnerbenutzer außerhalb Ihrer Organisation ist, der möglicherweise mehr Daten als Daten zu seinem Unternehmen sehen muss (das Berechtigungssystem legt fest, was er kann oder nicht sehen oder tun kann).
    Ein externer -Benutzer ist ein Kunde, Lieferant oder ein anderer, der NUR Daten zu seiner Person anzeigen darf (das Erstellen eines externen Benutzers für einen Geschäftspartner kann über den Kontaktdatensatz des Geschäftspartner erfolgen).

    In beiden Fällen müssen Sie Berechtigungen für die Funktionen erteilen, die der Benutzer benötigt. PermissionInheritedFromAGroup=Berechtigung durch eine Gruppenzugehörigkeit geerbt. Inherited=Geerbt UserWillBe=Benutzer erstellen als @@ -95,7 +95,7 @@ ConfirmCreateLogin=Möchten Sie für dieses Mitglied wirklich ein Benutzerkonto ConfirmCreateThirdParty=Möchten Sie für dieses Mitglied wirklich einen Partner erstellen? LoginToCreate=Zu erstellende Anmeldung NameToCreate=Name des neuen Partners -YourRole=Ihre Rolle +YourRole=Ihre Rollen YourQuotaOfUsersIsReached=Ihr Kontingent aktiver Benutzer ist erreicht NbOfUsers=Anzahl Benutzer NbOfPermissions=Anzahl Berechtigungen @@ -106,7 +106,7 @@ UseTypeFieldToChange=Nutzen sie das Feld "Typ" zum Ändern OpenIDURL=OpenID URL LoginUsingOpenID=Verwende OpenID für Anmeldung WeeklyHours=Sollarbeitszeit (Stunden pro Woche) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Erwartete Wochenarbeitszeit ColorUser=Benutzerfarbe DisabledInMonoUserMode=Deaktiviert im Wartungsmodus UserAccountancyCode=Buchhaltungscode Benutzer @@ -116,7 +116,7 @@ DateOfEmployment=Anstellungsdatum DateEmployment=Mitarbeiter DateEmploymentstart=Beschäftigungsbeginn DateEmploymentEnd=Beschäftigungsende -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Datumsbereich der Zugriffsgültigkeit CantDisableYourself=Sie können nicht ihr eigenes Benutzerkonto deaktivieren ForceUserExpenseValidator=Überprüfung der Spesenabrechnung erzwingen ForceUserHolidayValidator=Gültigkeitsprüfer für Urlaubsanträge erzwingen diff --git a/htdocs/langs/de_DE/website.lang b/htdocs/langs/de_DE/website.lang index d0d0c79f4b2..a377c4b07d6 100644 --- a/htdocs/langs/de_DE/website.lang +++ b/htdocs/langs/de_DE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Website hinzufügen Webpage=Webseite / Container AddPage=Seite / Container hinzufügen PageContainer=Seite -PreviewOfSiteNotYetAvailable=Vorschau ihrer Webseite %s noch nicht verfügbar. Zuerst muss eine 'Webseiten-Vorlage importiert' oder 'Seite / Container hinzugefügt' werden. +PreviewOfSiteNotYetAvailable=Vorschau ihrer Webseite %s ist noch nicht verfügbar. Zuerst muss eine 'Webseiten-Vorlage importiert' oder 'Seite/Container hinzugefügt' werden. RequestedPageHasNoContentYet=Die Seite mit id %s hat keinen Inhalt oder die Cachedatei .tpl.php wurde gelöscht. Editieren Sie den Inhalt der Seite um das Problem zu lösen. SiteDeleted=Website '%s' gelöscht PageContent=Seite / Container @@ -51,7 +51,7 @@ ReadPerm=Lesen WritePerm=Schreiben TestDeployOnWeb=Test/Bereitstellung im Web PreviewSiteServedByWebServer=Die Vorschau %s in einem neuen Tab

    %s wird durch einen externen Webserver (Wie Apache, Nginx, IIS) ausgeliefert. Dieser Server muss installiert und eingerichtet sein, bevor Sie den Verzeichnis
    %s anzeigen können.
    URL, die von dem externen Server bereitgestellt wird:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". +PreviewSiteServedByDolibarr= Vorschau für %s in einem neuen Tab.

    %s wird vom Dolibarr-Server bereitgestellt, so dass kein zusätzlicher Webserver (wie Apache, Nginx, IIS) installiert werden muss.
    Der Nachteil ist, dass die URLs der Seiten nicht benutzerfreundlich sind und mit dem Pfad Ihrer Dolibarr-Installation beginnen.
    Von Dolibarr bereitgestellte URL:
    %s

    Um diese Website auf Ihrem eigenen Webserver zu hosten, muss dort ein virtueller Host erstellt werden, der auf das Verzeichnis
    %s
    verweist. Anschließens den Namen des virtuellen Servers in den Eigenschaften dieser Website eintragen und auf den Link "Im Web testen/bereitstellen" klicken. VirtualHostUrlNotDefined=Die URL des virtuellen Hosts, der von einem externen Webserver bereit gestellt wird, ist nicht definiert NoPageYet=Noch keine Seiten YouCanCreatePageOrImportTemplate=Sie können eine neue Seite erstellen oder eine komplette Website-Vorlage importieren diff --git a/htdocs/langs/de_DE/withdrawals.lang b/htdocs/langs/de_DE/withdrawals.lang index 7f88571f6aa..ddd0f8cf10a 100644 --- a/htdocs/langs/de_DE/withdrawals.lang +++ b/htdocs/langs/de_DE/withdrawals.lang @@ -133,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Ausführungsdatum CreateForSepa=Erstellen Sie eine Lastschriftdatei -ICS=Gläubiger-ID CI für Lastschrift -ICSTransfer=Gläubiger-ID CI für Banküberweisung +ICS=Gläubiger-Identifikationsnummer - ICS END_TO_END="Ende-zu-Ende" SEPA-XML-Tag - Eindeutige ID, die pro Transaktion zugewiesen wird USTRD="Unstrukturiertes" SEPA-XML-Tag ADDDAYS=Füge Tage zum Abbuchungsdatum hinzu diff --git a/htdocs/langs/de_DE/workflow.lang b/htdocs/langs/de_DE/workflow.lang index 33051a242ed..0b5b69e7e38 100644 --- a/htdocs/langs/de_DE/workflow.lang +++ b/htdocs/langs/de_DE/workflow.lang @@ -8,14 +8,15 @@ descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Erstellt automatisch eine Kundenrechnung, descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Erstelle automatisch eine Kundenrechnung, nachdem der Vertrag bestätigt wurde. descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Erstellt automatisch eine Kundenrechnung, nachdem eine Bestellung geschlossen wurde. Die neue Kundenrechnung lautet über den selben Betrag wie die Bestellung. # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Setzt das entsprechende Angebot auf "abgerechnet", sofern die Kundenbestellung auf "abgerechnet" gesetzt wurde und sofern der Betrag in der Bestellung gleich dem dem Betrag im Angebot ist. +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Setzt das entsprechende Angebot auf "abgerechnet", sofern der Kundenauftrag auf "abgerechnet" gesetzt wurde und sofern der Gesamtbetrag im Kundenauftrag gleich dem im Angebot ist. descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Setzt das verknüpfte Angebot auf "abgerechnet", sofern die Kundenrechnung erstellt wurde und sofern der Rechnungsbetrag identisch zur Angebotsumme ist. descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Kennzeichne die verknüpfte Kundenbestellung(en) als fakturiert ( = in Rechnung gestellt) sofern die Kundenrechnung als geprüft markiert wurde und die Beträge übereinstimmen. -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Kennzeichne die verknüpfte Kundenbestellung(en) als fakturiert ( = in Rechnung gestellt) sofern die Kundenrechnung als bezahlt markiert wurde und die Beträge übereinstimmen. +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Kennzeichne verknüpfte Kundenaufträge als fakturiert ( = in Rechnung gestellt), sofern die Kundenrechnung als bezahlt markiert wurde und die Beträge übereinstimmen. descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Kennzeichne die verknüpften Aufträge als geliefert wenn die Lieferung erfolgt ist (und die Liefermenge der Bestellmenge entspricht). +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Den zugrundeliegenden Kundenauftrag als versendet kennzeichnen, wenn eine Sendung geschlossen wird (sofern die Gesamtmengen aller zugehörigen Sendungen mit denen des Kundenauftrags übereinstimmen) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Setzt das verknüpfte Lieferantenangebot auf "abgerechnet", sofern die Lieferanrenrechnung erstellt wurde und sofern der Rechnungsbetrag identisch zur Angebotsumme ist. -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Kennzeichne die verknüpfte Einkaufsbestellung als abgerechnet wenn die Lieferantenrechnung erstellt wurde und wenn die Beträge überein stimmen. +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Kennzeichne die verknüpfte Lieferantenbestellung als abgerechnet, wenn die Lieferantenrechnung erstellt wurde und die Gesamtbeträge übereinstimmen. descWORKFLOW_BILL_ON_RECEPTION=Klassifizieren Sie Empfänge als "in Rechnung gestellt", wenn eine verknüpfte Lieferantenbestellung validiert wird # Autoclose intervention descWORKFLOW_TICKET_CLOSE_INTERVENTION=Schließen Sie alle mit dem Ticket verknüpften Interaktionen, wenn ein Ticket geschlossen wird diff --git a/htdocs/langs/de_DE/zapier.lang b/htdocs/langs/de_DE/zapier.lang index f3a7595f87e..848e52df1d4 100644 --- a/htdocs/langs/de_DE/zapier.lang +++ b/htdocs/langs/de_DE/zapier.lang @@ -18,4 +18,4 @@ ModuleZapierForDolibarrDesc = Modul: Zapier für Dolibarr ZapierForDolibarrSetup=Zapier für Dolibarr einrichten ZapierDescription=Schnittstelle mit Zapier ZapierAbout=Über das Modul Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ZapierSetupPage=Es ist kein Setup auf Dolibarr-Seite erforderlich, um Zapier zu verwenden. Sie müssen jedoch ein Paket auf Zapier generieren und veröffentlichen, um Zapier mit Dolibarr verwenden zu können. Siehe Dokumentation auf dieser Wiki-Seite . diff --git a/htdocs/langs/el_CY/accountancy.lang b/htdocs/langs/el_CY/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/el_CY/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/el_CY/admin.lang b/htdocs/langs/el_CY/admin.lang index 74ee870f906..3b73be75e16 100644 --- a/htdocs/langs/el_CY/admin.lang +++ b/htdocs/langs/el_CY/admin.lang @@ -1,2 +1,2 @@ # Dolibarr language file - Source file is en_US - admin -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +NotificationsDescGlobal=* or by setting global email addresses in this setup page. diff --git a/htdocs/langs/el_CY/cron.lang b/htdocs/langs/el_CY/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/el_CY/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/el_CY/mrp.lang b/htdocs/langs/el_CY/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/el_CY/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/el_GR/accountancy.lang b/htdocs/langs/el_GR/accountancy.lang index 169f7870426..6058cefbc2e 100644 --- a/htdocs/langs/el_GR/accountancy.lang +++ b/htdocs/langs/el_GR/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Χώρες που δεν βρίσκονται στην ΕΟΚ CountriesInEECExceptMe=Χώρες στην ΕΟΚ εκτός από το %s CountriesExceptMe=Όλες οι χώρες εκτός από το %s AccountantFiles=Εξαγωγή εγγράφων προέλευσης -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=Προβολή κατά λογιστικό λογαριασμό VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Μήκος λογαριασμών τρίτου λογ ACCOUNTING_MANAGE_ZERO=Να επιτρέπεται η διαχείριση διαφορετικού αριθμού μηδενικών στο τέλος ενός λογαριασμού λογιστικής. Απαιτείται από ορισμένες χώρες (όπως η Ελβετία). Εάν είναι απενεργοποιημένη (προεπιλογή), μπορείτε να ορίσετε τις ακόλουθες δύο παραμέτρους για να ζητήσετε από την εφαρμογή να προσθέσει εικονικά μηδενικά. BANK_DISABLE_DIRECT_INPUT=Απενεργοποιήστε την απευθείας εγγραφή συναλλαγής σε τραπεζικό λογαριασμό ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Ενεργοποιήστε το σχέδιο εξαγωγής στο περιοδικό -ACCOUNTANCY_COMBO_FOR_AUX=Ενεργοποίηση σύνθετης λίστας για επικουρικό λογαριασμό (μπορεί να είναι αργή αν έχετε πολλούς τρίτους) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Συμβουλευτείτε εδώ τη λίστα με τ ListAccounts=Λίστα των λογιστικών λογαριασμών UnknownAccountForThirdparty=Άγνωστο λογαριασμό τρίτων. Θα χρησιμοποιήσουμε %s UnknownAccountForThirdpartyBlocking=Άγνωστο λογαριασμό τρίτων. Σφάλμα αποκλεισμού -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Ο λογαριασμός τρίτου μέρους δεν έχει οριστεί ή είναι άγνωστος τρίτος. Θα χρησιμοποιήσουμε %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Άγνωστο το Tρίτο-Mέρος και λογαριασμός Καθολικού Ημερολογίου δεν έχει οριστεί για την πληρωμή. Θα διατηρήσουμε κενή την τιμή του λογαριασμού. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Ο λογαριασμός τρίτου μέρους δεν έχει οριστεί ή είναι άγνωστος τρίτος. Σφάλμα αποκλεισμού. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Ο λογαριασμός λογαριασμού τρίτου μέρους και ο λογαριασμός αναμονής δεν έχουν οριστεί. Σφάλμα αποκλεισμού PaymentsNotLinkedToProduct=Πληρωμή που δεν συνδέεται με κανένα προϊόν / υπηρεσία OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Εξαγωγή σχεδίου περιοδικού Modelcsv=Πρότυπο εξαγωγής Selectmodelcsv=Επιλέξτε ένα πρότυπο από την εξαγωγή @@ -335,7 +339,7 @@ Modelcsv_normal=Κλασική εξαγωγή Modelcsv_CEGID=Εξαγωγή για CEGID Expert Comptabilité Modelcsv_COALA=Εξαγωγή για το Sage Coala Modelcsv_bob50=Εξαγωγή για Sage BOB 50 -Modelcsv_ciel=Εξαγωγή για Sage Ciel Compta ή Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Εξαγωγή για Quadratus QuadraCompta Modelcsv_ebp=Εξαγωγή για EBP Modelcsv_cogilog=Εξαγωγή για το Cogilog diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index f8d1dab5376..2de6e534670 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Εσωτερικός χρήστης ExternalUser=Εξωτερικός χρήστης InternalUsers=Εσωτερικοί χρήστες ExternalUsers=Εξωτερικοί χρήστες +UserInterface=User interface GUISetup=Εμφάνιση SetupArea=Ρύθμιση UploadNewTemplate=Μεταφόρτωση νέου(-ων) προτύπου(-ων) @@ -84,6 +85,7 @@ NumberOfBytes=Αριθμόςαπό Bytes SearchString=Αναζήτηση συμβόλων NotAvailableWhenAjaxDisabled=Δεν είναι διαθέσιμο όταν η Ajax είναι απενεργοποιημένη AllowToSelectProjectFromOtherCompany=Σε έγγραφο τρίτου μέρους, μπορείτε να επιλέξετε ένα έργο που συνδέεται με άλλο τρίτο μέρος +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=Η JavaScript είναι απενεργοποιημένη UsePreviewTabs=Χρήση καρτελών προ επισκόπησης ShowPreview=Εμφάνιση προ επισκόπησης @@ -116,6 +118,7 @@ MultiCurrencySetup=Ρύθμιση πολλαπλών νομισμάτων MenuLimits=Όρια και ακρίβεια MenuIdParent=ID Μητρικού Μενού DetailMenuIdParent=ID του μητρικού μενού (άδειο για το μενού κορυφής) +ParentID=Parent ID DetailPosition=Αριθμός Ταξινόμησης για να καθοριστεί η θέση του μενού AllMenus=Όλα NotConfigured=Το ένθεμα/εφαρμογή δεν έχει ρυθμιστεί @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Το χαρακτηριστικό είναι δια BoxesDesc=Τα γραφικά στοιχεία είναι στοιχεία που εμφανίζουν ορισμένες πληροφορίες που μπορείτε να προσθέσετε για να προσαρμόσετε ορισμένες σελίδες. Μπορείτε να επιλέξετε μεταξύ εμφάνισης του γραφικού στοιχείου ή όχι επιλέγοντας τη σελίδα προορισμού και κάνοντας κλικ στην επιλογή 'Ενεργοποίηση' ή κάνοντας κλικ στο καλάθι απορριμάτων για να το απενεργοποιήσετε. OnlyActiveElementsAreShown=Μόνο στοιχεία από ενεργοποιημένα modules προβάλλονται. ModulesDesc=Οι ενότητες / εφαρμογές καθορίζουν ποιες δυνατότητες είναι διαθέσιμες στο λογισμικό. Ορισμένες λειτουργικές μονάδες απαιτούν να δοθούν δικαιώματα στους χρήστες μετά την ενεργοποίηση της λειτουργικής μονάδας. Κάντε κλικ στο κουμπί on / off %s κάθε μονάδας για να ενεργοποιήσετε ή να απενεργοποιήσετε μια ενότητα / εφαρμογή. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Μπορείτε να βρείτε περισσότερες ενότητες για να κατεβάσετε σε εξωτερικές ιστοσελίδες στο Internet ... ModulesDeployDesc=Εάν το επιτρέπουν τα δικαιώματα στο σύστημα αρχείων σας, μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για την ανάπτυξη εξωτερικής μονάδας. Η ενότητα θα είναι στη συνέχεια ορατή στην καρτέλα %s . ModulesMarketPlaces=Βρείτε εξωτερική εφαρμογή / ενότητες @@ -221,8 +225,8 @@ NotCompatible=Αυτή η ενότητα δεν φαίνεται συμβατή CompatibleAfterUpdate=Αυτή η ενότητα απαιτεί ενημέρωση του Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Δές στην Αγορά SeeSetupOfModule=Δείτε την ρύθμιση του module %s +SetOptionTo=Set option %s to %s Updated=Ενημερωμένο -Nouveauté=Καινοτομία AchatTelechargement=Αγόρασε / Μεταφόρτωσε GoModuleSetupArea=Για να ενεργοποιήσετε/εγκαταστήσετε ενα νέο module, πηγαίνετε στην περιοχή εγκατάστασης Modules/Applications: %s. DoliStoreDesc=Το DoliStore, είναι η επίσημη περιοχή για να βρείτε εξωτερικά modules για το Dolibarr ERP/CRM @@ -399,6 +403,7 @@ SecurityToken=Security Token NoSmsEngine=Δεν διατίθεται διαχειριστής αποστολέων SMS. Ένας διαχειριστής αποστολέα SMS δεν είναι εγκατεστημένος με την προεπιλεγμένη διανομή επειδή εξαρτάται από έναν εξωτερικό προμηθευτή, αλλά μπορείτε να βρείτε μερικούς από τους %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Απόκρυψη όλων των πληροφοριών που σχετίζονται με το φόρο επί των πωλήσεων / ΦΠΑ PDFRulesForSalesTax=Κανόνες φόρου επί των πωλήσεων / ΦΠΑ @@ -561,8 +566,8 @@ Module53Desc=Διαχείριση Υπηρεσιών Module54Name=Συμβόλαια / Συνδρομές Module54Desc=Διαχείριση συμβολαίων (υπηρεσίες ή επαναλαμβανόμενες συνδρομές) Module55Name=Barcodes -Module55Desc=Διαχείριση barcode -Module56Name=Payment by credit transfer +Module55Desc=Barcode or QR code management +Module56Name=πληρωμή μέσω μεταφοράς πιστώσεως Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. @@ -848,10 +853,10 @@ Permission402=Δημιουργία / τροποποίηση εκπτώσεων Permission403=Επικύρωση εκπτώσεων Permission404=Διαγραφή εκπτώσεων Permission430=Χρησιμοποιήστε τη γραμμή εντοπισμού σφαλμάτων -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Δημιουργία / τροποποίηση πληρωμών μισθών -Permission514=Διαγραφή πληρωμών μισθών -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Εξαγωγή μισθών Permission520=Ανάγνωση δανείων Permission522=Δημιουργία/μεταβολή δανείων @@ -965,6 +970,8 @@ Permission23003=Διαγράψτε μια προγραμματισμένη ερ Permission23004=Εκτελέστε μια προγραμματισμένη εργασία Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Διαβάστε τις συναλλαγές Permission50202=Πράξεις εισαγωγής Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Μονάδες μέτρησης DictionarySocialNetworks=Κοινωνικά Δίκτυα DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Είδη αδειών +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Κατάσταση μολύβδου για έργο / μόλυβδο DictionaryExpenseTaxCat=Έκθεση δαπανών - Κατηγορίες μεταφορών DictionaryExpenseTaxRange=Έκθεση εξόδων - Εύρος ανά κατηγορία μεταφοράς DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Οι ρυθμίσεις αποθηκεύτηκαν SetupNotSaved=Το πρόγραμμα εγκατάστασης δεν αποθηκεύτηκε @@ -1185,9 +1193,12 @@ SetupDescription2=Οι ακόλουθες δύο ενότητες είναι υ SetupDescription3=  %s -> %s

    Βασικές παράμετροι που χρησιμοποιούνται για την προσαρμογή της προεπιλεγμένης συμπεριφοράς της εφαρμογής σας (π.χ. για λειτουργίες που σχετίζονται με τη χώρα). SetupDescription4=  %s -> %s

    Αυτό το λογισμικό είναι μια σειρά από πολλές ενότητες / εφαρμογές. Οι ενότητες που σχετίζονται με τις ανάγκες σας πρέπει να ενεργοποιηθούν και να διαμορφωθούν. Οι καταχωρήσεις μενού θα εμφανιστούν με την ενεργοποίηση αυτών των ενοτήτων. SetupDescription5=Άλλες καταχωρίσεις μενού ρυθμίσεων διαχειρίζονται προαιρετικές παραμέτρ +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Ιστορικό εισόδου χρηστών +Audit=Security events InfoDolibarr=Πληροφορίες Dolibarr InfoBrowser=Πληροφορίες Φυλλομετρητή InfoOS=Πληροφορίες OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Εμφάνιση επαγγελματικής ταυτότητας με διευθύνσεις -ShowVATIntaInAddress=Απόκρυψη ενδοκοινοτικού αριθμού ΦΠΑ με διευθύνσεις +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Ημιτελής μεταγλώττιση MAIN_DISABLE_METEO=Απενεργοποιήστε τη μετεωρολογική άποψη MeteoStdMod=Τυπική λειτουργία @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Η κατάσταση είναι αυτή τη στιγμή YouUseBestDriver=Χρησιμοποιείτε τον οδηγό %s ο οποίος είναι ο καλύτερος διαθέσιμος οδηγός. YouDoNotUseBestDriver=Χρησιμοποιείτε τον οδηγό %s αλλά συνιστάται ο οδηγός %s. NbOfObjectIsLowerThanNoPb=Έχετε μόνο %s %s στη βάση δεδομένων. Αυτό δεν απαιτεί ιδιαίτερη βελτιστοποίηση. +ComboListOptim=Combo list loading optimization SearchOptim=Βελτιστοποίηση αναζήτησης -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=Έχετε %s %s στη βάση δεδομένων και σταθερή %s έχει οριστεί σε 1 στο Home-Setup-Other. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Χρησιμοποιείτε το πρόγραμμα περιήγησης web %s. Αυτό το πρόγραμμα περιήγησης είναι εντάξει για την ασφάλεια και την απόδοση. BrowserIsKO=Χρησιμοποιείτε το πρόγραμμα περιήγησης web %s. Αυτό το πρόγραμμα περιήγησης είναι γνωστό ότι αποτελεί κακή επιλογή για ασφάλεια, απόδοση και αξιοπιστία. Σας συνιστούμε να χρησιμοποιήσετε Firefox, Chrome, Opera ή Safari. PHPModuleLoaded=Το στοιχείο PHP %s έχει φορτωθεί @@ -1433,6 +1447,7 @@ MemberMainOptions=Κύριες επιλογές AdherentLoginRequired= Διαχείριση μιας Σύνδεση για κάθε μέλος AdherentMailRequired=Απαιτείται ηλεκτρονικό ταχυδρομείο για τη δημιουργία νέου μέλους MemberSendInformationByMailByDefault=Τσέκαρε το πλαίσιο ελέγχου για την αποστολή επιβεβαίωσης αλληλογραφίας στα μέλη (επικύρωση ή νέα συνδρομή) είναι ενεργοποιημένη από προεπιλογή +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Ο επισκέπτης μπορεί να επιλέξει μεταξύ των διαθέσιμων τρόπων πληρωμής MEMBER_REMINDER_EMAIL=Ενεργοποιήστε την αυτόματη υπενθύμιση μέσω ηλεκτρονικού ταχυδρομείου των συνδρομών που έχουν λήξει. Σημείωση: Η ενότητα %s πρέπει να ενεργοποιηθεί και να ρυθμιστεί σωστά για να στείλετε υπενθυμίσεις. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Ενεργοποίηση ειδοποίησης ήχου AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Εμφάνιση συνδεδεμένου αντικειμένου στην προβολή ατζέντας ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Η διεύθυνση URL ονομάζεται όταν γίνεται κλικ στο τηλέφωνο picto. Στη διεύθυνση URL, μπορείτε να χρησιμοποιήσετε ετικέτες
    __PHONETO__ που θα αντικατασταθεί με τον αριθμό τηλεφώνου του ατόμου που καλεί
    __PHONEFROM__ που θα αντικατασταθεί με τον αριθμό τηλεφώνου του καλούντος (του δικού σας)
    __LOGIN__ που θα αντικατασταθεί με σύνδεση με κλικ (καθορισμένη στην κάρτα χρήστη)
    __PASS__ που θα αντικατασταθεί με κωδικό πρόσβασης (που ορίζεται στην κάρτα χρήστη). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Χρησιμοποιήστε μόνο έναν σύνδεσμο "τηλ::" σε αριθμούς τηλεφώνου -ClickToDialUseTelLinkDesc=Χρησιμοποιήστε αυτή τη μέθοδο εάν οι χρήστες σας έχουν ένα λογισμικό softphone ή μια διασύνδεση λογισμικού που είναι εγκατεστημένος στον ίδιο υπολογιστή με το πρόγραμμα περιήγησης και καλούνται όταν κάνετε κλικ σε ένα σύνδεσμο στο πρόγραμμα περιήγησης που ξεκινάει με "tel:". Αν χρειάζεστε μια λύση πλήρους διακομιστή (δεν χρειάζεται τοπική εγκατάσταση λογισμικού), πρέπει να το ορίσετε σε "Όχι" και να συμπληρώσετε το επόμενο πεδίο. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Σημείο πώλησης CashDeskSetup=Λειτουργία μονάδας σημείου πώλησης @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Δεξί περιθώριο στο PDF MAIN_PDF_MARGIN_TOP=Κορυφή περιθώριο σε PDF MAIN_PDF_MARGIN_BOTTOM=Κάτω περιθώριο σε PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Δεν απαιτείται συγκεκριμένη ρύθμιση για αυτήν την ενότητα. SetToYesIfGroupIsComputationOfOtherGroups=Ορίστε αυτό το ναι αν αυτή η ομάδα είναι ένας υπολογισμός άλλων ομάδων EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Μεγαλύτερο από IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=Με ένα λογαριασμό GMail, εάν έχετε ενεργοποιήσει την επικύρωση 2 βημάτων, σας συνιστούμε να δημιουργήσετε έναν ειδικό δευτερεύοντα κωδικό πρόσβασης για την εφαρμογή αντί να χρησιμοποιήσετε τη δική σας passsword από https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=Μπορείτε να χρησιμοποιήσετε αυτήν την ενέργεια για να χρησιμοποιήσετε το περιεχόμενο ηλεκτρονικού ταχυδρομείου για να βρείτε και να φορτώσετε ένα υπάρχον τρίτο μέρος στη βάση δεδομένων σας. Το τρίτο μέρος που βρέθηκε (ή δημιουργήθηκε) θα χρησιμοποιηθεί για τις ακόλουθες ενέργειες που το χρειάζονται. Στο πεδίο παραμέτρων μπορείτε να χρησιμοποιήσετε για παράδειγμα το EXTRACT: BODY: Name: \\ s ([^ \\ s] *) εάν θέλετε να εξαγάγετε το όνομα του τρίτου μέρους από μια συμβολοσειρά 'Name: name to find' μέσα στο σώμα της εντολής. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Σημείο τερματισμού για %s: %s DeleteEmailCollector=Διαγραφή συλλέκτη ηλεκτρονικού ταχυδρομείου ConfirmDeleteEmailCollector=Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το συλλέκτη email; @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=Εάν θέλετε να αντιγράψετε ορισμένα κείμενα στο PDF σας σε 2 διαφορετικές γλώσσες στο ίδιο δημιουργημένο PDF, πρέπει να ορίσετε εδώ αυτήν τη δεύτερη γλώσσα, ώστε το παραγόμενο PDF να περιέχει 2 διαφορετικές γλώσσες στην ίδια σελίδα, αυτή που επιλέγεται κατά τη δημιουργία PDF και αυτή ( μόνο λίγα πρότυπα PDF το υποστηρίζουν αυτό). Κρατήστε κενό για 1 γλώσσα ανά PDF. FafaIconSocialNetworksDesc=Εισαγάγετε εδώ τον κωδικό ενός εικονιδίου FontAwesome. Εάν δεν γνωρίζετε τι είναι το FontAwesome, μπορείτε να χρησιμοποιήσετε τη γενική τιμή fa-address-book. -FeatureNotAvailableWithReceptionModule=Η λειτουργία δεν είναι διαθέσιμη όταν είναι ενεργοποιημένη η λειτουργία Υποδοχή RssNote=Σημείωση: Κάθε ορισμός τροφοδοσίας RSS παρέχει ένα widget που πρέπει να ενεργοποιήσετε για να το έχετε διαθέσιμο στον πίνακα ελέγχου JumpToBoxes=Μετάβαση στη ρύθμιση -> Widgets MeasuringUnitTypeDesc=Χρησιμοποιήστε εδώ μια τιμή όπως "μέγεθος", "επιφάνεια", "όγκος", "βάρος", "χρόνος" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Προτεινόμενη +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/el_GR/agenda.lang b/htdocs/langs/el_GR/agenda.lang index f4220eb7dc8..baa8560d638 100644 --- a/htdocs/langs/el_GR/agenda.lang +++ b/htdocs/langs/el_GR/agenda.lang @@ -4,7 +4,7 @@ Actions=Ενέργειες Agenda=Ημερολόγιο TMenuAgenda=Ημερολόγιο Agendas=Ημερολόγια -LocalAgenda=Εσωτερικό ημερολόγιο +LocalAgenda=Default calendar ActionsOwnedBy=Το γεγονός ανήκει ActionsOwnedByShort=Ιδιοκτήτης AffectedTo=Ανάθεση σε @@ -14,13 +14,13 @@ EventsNb=Αριθμός γεγονότων ListOfActions=Λίστα γεγονότων EventReports=Αναφορές συμβάντων Location=Τοποθεσία -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Ολοήμερο Γεγονός MenuToDoActions=Όλες οι ημιτελής ενέργειες MenuDoneActions=Όλες οι ολοκληρ. ενέργειες MenuToDoMyActions=Ημιτελής ενέργειες MenuDoneMyActions=Ολοκληρωμένες ενέργειες -ListOfEvents=Κατάλογος των συμβάντων (εσωτερικό ημερολόγιο) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Ενέργειες που καταχωρήθηκαν από ActionsToDoBy=Ενέργειες που ανατέθηκαν σε ActionsDoneBy=Ενέργειες που ολοκληρώθηκαν από @@ -38,6 +38,7 @@ ActionsEvents=Γεγονότα για τα οποία θα δημιουργήσ EventRemindersByEmailNotEnabled=Οι υπενθυμίσεις συμβάντων μέσω ηλεκτρονικού ταχυδρομείου δεν ενεργοποιήθηκαν στη ρύθμιση μονάδας %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Το τρίτο μέρος %s δημιουργήθηκε +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Το τρίτο μέρος %s διαγράφηκε ContractValidatedInDolibarr=Συμβόλαιο %s επικυρώθηκε CONTRACT_DELETEInDolibarr=Η σύμβαση %s διαγράφηκε @@ -87,6 +88,7 @@ OrderDeleted=Η παραγγελία διαγράφηκε InvoiceDeleted=Το τιμολόγιο διαγράφηκε DraftInvoiceDeleted=Το πρόχειρο τιμολόγιο διαγράφηκε CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Το προϊόν %s δημιουργήθηκε PRODUCT_MODIFYInDolibarr=Το προϊόν %s τροποποιήθηκε @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=Το ΜΟ παράχθηκε MRP_MO_DELETEInDolibarr=Το MO διαγράφηκε MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Πρότυπα εγγράφων για συμβάν DateActionStart=Ημερομηνία έναρξης @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint = %s για να περιορίσετε την AgendaUrlOptionsProject=project = __ PROJECT_ID__ για να περιορίσετε την έξοδο σε ενέργειες που σχετίζονται με το έργο __PROJECT_ID__ . AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto για την εξαίρεση αυτόματων συμβάντων. AgendaUrlOptionsIncludeHolidays=  includeholidays = 1 για να συμπεριλάβετε εκδηλώσεις διακοπών. -AgendaShowBirthdayEvents=Εμφάνιση γενεθλίων των επαφών +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Απόκρυψη γενεθλίων των επαφών Busy=Απασχολ. ExportDataset_event1=Κατάλογος των εκδηλώσεων @@ -152,6 +155,7 @@ ActionType=Τύπος συμβάντος DateActionBegin=Έναρξη ημερομηνίας του συμβάντος ConfirmCloneEvent=Είστε σίγουροι πως θέλετε να κλωνοποιήσετε την εκδήλωση %s; RepeatEvent=Επανάληψη συμβάντος +OnceOnly=Once only EveryWeek=Εβδομαδιαίο EveryMonth=Μηνιαίο DayOfMonth=Ημέρα του Μήνα @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/el_GR/banks.lang b/htdocs/langs/el_GR/banks.lang index 869392e158b..c86cc9b45a9 100644 --- a/htdocs/langs/el_GR/banks.lang +++ b/htdocs/langs/el_GR/banks.lang @@ -38,8 +38,8 @@ IbanNotValid=Μη έγκυρο IBAN StandingOrders=Direct debit orders StandingOrder=Παραγγελία άμεσης χρέωσης PaymentByDirectDebit=πληρωμή άμεσης χρέωσης -PaymentByBankTransfers=Payments by credit transfer -PaymentByBankTransfer=Payment by credit transfer +PaymentByBankTransfers=πληρωμές μέσω μεταφοράς πιστώσεως +PaymentByBankTransfer=πληρωμή μέσω μεταφοράς πιστώσεως AccountStatement=Κίνηση Λογαριασμού AccountStatementShort=Κίνηση AccountStatements=Κινήσεις Λογαριασμού @@ -106,8 +106,8 @@ SupplierInvoicePayment=Πληρωμή προμηθευτή SubscriptionPayment=Πληρωμή συνδρομής WithdrawalPayment=Debit payment order SocialContributionPayment=Σίγουρα θέλετε να μαρκάρετε αυτό το αξιόγραφο σαν απορριφθέν; -BankTransfer=Credit transfer -BankTransfers=Credit transfers +BankTransfer=μεταφορά πιστώσεως +BankTransfers=μεταφορές πιστώσεως MenuBankInternalTransfer=Εσωτερική μεταφορά TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. TransferFrom=Από @@ -115,7 +115,7 @@ TransferTo=Προς TransferFromToDone=Η μεταφορά από %s στον %s του %s %s έχει καταγραφεί. CheckTransmitter=Αποστολέας ValidateCheckReceipt=Επικύρωση αυτής της απόδειξης παραλαβής επιταγής; -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Διαγραφή απόδειξης παραλαβής επιταγής; ConfirmDeleteCheckReceipt=Είστε σίγουροι πως θέλετε να διαγράψετε αυτή την απόδειξη παραλαβής επιταγής; BankChecks=Τραπεζικές Επιταγές @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Είστε βέβαιοι ότι θέλετε να δι ThisWillAlsoDeleteBankRecord=Αυτό θα διαγράψει επίσης την εισερχόμενη είσοδο στην τράπεζα BankMovements=Κινήσεις PlannedTransactions=Προγραμματισμένες καταχωρήσεις -Graph=Graphs +Graph=γραφήματα ExportDataset_banque_1=Τραπεζικές εγγραφές και αποδείξεις κατάθεσης ExportDataset_banque_2=Απόδειξη κατάθεσης TransactionOnTheOtherAccount=Συναλλαγή σε άλλο λογαριασμό diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index ae038097718..85e7c88f189 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Προθεσμία Πληρωμής DateInvoice=Ημερομηνία τιμολογίου DatePointOfTax=Point of tax NoInvoice=Δεν υπάρχει τιμολόγιο +NoOpenInvoice=No open invoice ClassifyBill=Κατηγοριοποίηση Τιμολογίου SupplierBillsToPay=Μη πληρωθέντα τιμολόγια προμηθευτή CustomerBillsUnpaid=Ανεξόφλητα τιμολόγια πελάτη @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/el_GR/boxes.lang b/htdocs/langs/el_GR/boxes.lang index 500ad99dc8d..e9b326ddb64 100644 --- a/htdocs/langs/el_GR/boxes.lang +++ b/htdocs/langs/el_GR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Παραγγελίες προμηθευτή BoxTitleLastModifiedCustomerBills=Τιμολόγια πελατών: τροποποιήθηκε τελευταία %s BoxTitleLastModifiedCustomerOrders=Παραγγελίες πώλησης: τελευταία τροποποίηση %s BoxTitleLastModifiedPropals=Τελευταίες τροποποιημένες προτάσεις %s -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Τιμολόγια Πελάτη ForCustomersOrders=Παραγγελίες πελατών ForProposals=Προσφορές diff --git a/htdocs/langs/el_GR/cashdesk.lang b/htdocs/langs/el_GR/cashdesk.lang index e5887eb2a47..f2976e6c792 100644 --- a/htdocs/langs/el_GR/cashdesk.lang +++ b/htdocs/langs/el_GR/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =  
    {TN} ετικέτα χρησιμοπ TakeposGroupSameProduct=Ομαδοποιήστε τις ίδιες σειρές προϊόντων StartAParallelSale=Ξεκινήστε μια νέα παράλληλη πώληση SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Έκθεση μετρητών MainPrinterToUse=Κύριος εκτυπωτής προς χρήση @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/el_GR/categories.lang b/htdocs/langs/el_GR/categories.lang index daa6bbcad43..a7f6c36a2b6 100644 --- a/htdocs/langs/el_GR/categories.lang +++ b/htdocs/langs/el_GR/categories.lang @@ -3,19 +3,19 @@ Rubrique=Ετικέτα/Κατηγορία Rubriques=Ετικέτες/Κατηγορίες RubriquesTransactions=Ετικέτες / Κατηγορίες συναλλαγών categories=Ετικέτες/Κατηγορίες -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Δεν έχει δημιουργηθεί τέτοια ετικέτα/κατηγορία In=Μέσα AddIn=Προσθήκη σε modify=Αλλαγή Classify=Ταξινόμηση CategoriesArea=Πεδίο Ετικέτες/Κατηγορίες -ProductsCategoriesArea=Product/Service tags/categories area +ProductsCategoriesArea=Πεδίο Προϊόντα/Υπηρεσίες Ετικέτες/Κατηγορίες SuppliersCategoriesArea=Vendor tags/categories area CustomersCategoriesArea=Customer tags/categories area MembersCategoriesArea=Member tags/categories area ContactsCategoriesArea=Contact tags/categories area AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area +ProjectsCategoriesArea=Πεδίο Ετικετών/Κατηγοριών έργου UsersCategoriesArea=User tags/categories area SubCats=Υποκατηγορίες CatList=Λίστα Ετικετών/Κατηγοριών diff --git a/htdocs/langs/el_GR/compta.lang b/htdocs/langs/el_GR/compta.lang index 79ee056c5dc..3027ee20175 100644 --- a/htdocs/langs/el_GR/compta.lang +++ b/htdocs/langs/el_GR/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Τιμολόγηση κύκλου εργασιών αγο ReportPurchaseTurnoverCollected=Συλλέχθηκε ο κύκλος εργασιών αγοράς IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/el_GR/cron.lang b/htdocs/langs/el_GR/cron.lang index fcf0424f06d..31f919a9f2c 100644 --- a/htdocs/langs/el_GR/cron.lang +++ b/htdocs/langs/el_GR/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Η ημερομηνία λήξης δεν μπορεί ν StatusAtInstall=Κατάσταση κατά την εγκατάσταση της μονάδας CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Απενεργοποίηση -CronTaskInactive=Αυτή η εργασία είναι απενεργοποιημένη +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Όνομα του καταλόγου μονάδων Dolibarr (επίσης λειτουργούν με εξωτερική μονάδα Dolibarr).
    Για παράδειγμα, για να καλέσουμε τη μέθοδο fetch του προϊόντος Dolibarr Product / htdocs / product / class / product.class.php, η τιμή για την ενότητα είναι
    προϊόν diff --git a/htdocs/langs/el_GR/deliveries.lang b/htdocs/langs/el_GR/deliveries.lang index cdb0fc9be46..5ec67327cf4 100644 --- a/htdocs/langs/el_GR/deliveries.lang +++ b/htdocs/langs/el_GR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Παραλήπτης ErrorStockIsNotEnough=Δεν υπάρχει αρκετό απόθεμα Shippable=Για Αποστολή NonShippable=Δεν αποστέλλονται +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Ανύπαρκτη σειρά +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 6375725cdb3..b219780f454 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Είσοδος %s υπάρχει ήδη. ErrorGroupAlreadyExists=Ομάδα %s υπάρχει ήδη. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Εγγραφή δεν βρέθηκε. ErrorFailToCopyFile=Απέτυχε η αντιγραφή του αρχείου "%s» σε «%s». ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Αποτυχία ανάγνωσης αρχείου "%s» ErrorCantReadDir=Αποτυχία ανάγνωσης »%s» κατάλογο ErrorBadLoginPassword=Το Όνομα Χρήστη ή ο Κωδικός Χρήστη είναι λάθος ErrorLoginDisabled=Ο λογαριασμός σας έχει απενεργοποιηθεί -ErrorFailedToRunExternalCommand=Απέτυχε να τρέξει εξωτερική εντολή. Ελέγξτε ότι είναι διαθέσιμο και εκτελέσιμη από PHP server σας. Αν η PHP Safe Mode είναι ενεργοποιημένη, βεβαιωθείτε ότι η εντολή είναι μέσα σε έναν κατάλογο που ορίζεται από safe_mode_exec_dir παράμετρο. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Αποτυχία να αλλάξετε τον κωδικό πρόσβασης ErrorLoginDoesNotExists=Χρήστης με %s login δεν θα μπορούσε να βρεθεί. ErrorLoginHasNoEmail=Αυτός ο χρήστης δεν έχει τη διεύθυνση ηλεκτρονικού ταχυδρομείου. Επεξεργασία ματαιώθηκε. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Η παράμετρος PHP upload_max_filesize (%s) είναι υψηλότερη από την παράμετρο PHP post_max_size (%s). Αυτό δεν είναι μια σταθερή ρύθμιση. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/el_GR/eventorganization.lang b/htdocs/langs/el_GR/eventorganization.lang index 82e04f0830e..7308291781a 100644 --- a/htdocs/langs/el_GR/eventorganization.lang +++ b/htdocs/langs/el_GR/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Τύπος συμβάντος +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/el_GR/exports.lang b/htdocs/langs/el_GR/exports.lang index 28459f2238d..d61a2aa3779 100644 --- a/htdocs/langs/el_GR/exports.lang +++ b/htdocs/langs/el_GR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=Το αρχείο για εισαγωγή πρέπει να έχει μία από τις ακόλουθες μορφές -DownloadEmptyExample=Λήψη αρχείου προτύπου με πληροφορίες περιεχομένου πεδίου (* είναι υποχρεωτικά πεδία) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Επιλέξτε τη μορφή αρχείου που θα χρησιμοποιηθεί ως μορφή αρχείου εισαγωγής κάνοντας κλικ στο εικονίδιο %s για να το επιλέξετε ... ChooseFileToImport=Μεταφορτώστε το αρχείο και κάντε κλικ στο εικονίδιο %s για να επιλέξετε αρχείο ως αρχείο εισαγωγής πηγής ... SourceFileFormat=Source file format diff --git a/htdocs/langs/el_GR/holiday.lang b/htdocs/langs/el_GR/holiday.lang index ef576c13d5f..8f5a9ad0d82 100644 --- a/htdocs/langs/el_GR/holiday.lang +++ b/htdocs/langs/el_GR/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Εν αναμονή έγκρισης ApprovedCP=Εγκεκριμένο CancelCP=Ακυρώθηκε RefuseCP=Απόρριψη -ValidatorCP=Έγκριση +ValidatorCP=Approver ListeCP=Λίστα άδειας Leave=Αφήστε το αίτημα LeaveId=Αφήστε το αναγνωριστικό @@ -39,11 +39,11 @@ TitreRequestCP=Αφήστε το αίτημα TypeOfLeaveId=Είδος αναγνωριστικού άδειας TypeOfLeaveCode=Τύπος κωδικού άδειας TypeOfLeaveLabel=Τύπος ετικέτας άδειας -NbUseDaysCP=Αριθμός των ημερών για τις άδειες που καταναλώνεται -NbUseDaysCPHelp=Ο υπολογισμός λαμβάνει υπόψη τις μη εργάσιμες ημέρες και τις αργίες που ορίζονται στο λεξικό. -NbUseDaysCPShort=Ημέρες κατανάλωσης -NbUseDaysCPShortInMonth=Ημέρες κατανάλωσης κατά το μήνα -DayIsANonWorkingDay=Η %s είναι μη εργάσιμη μέρα +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Ημερομηνία έναρξης του μήνα DateEndInMonth=Ημερομηνία λήξης μήνα EditCP=Επεξεργασία @@ -55,7 +55,7 @@ TitleDeleteCP=Διαγράψτε την αίτηση άδειας ConfirmDeleteCP=Επιβεβαιώστε τη διαγραφή αυτήν την αίτηση άδειας; ErrorCantDeleteCP=Σφάλμα δεν έχετε το δικαίωμα να διαγράψει αυτό το αίτημα αδείας. CantCreateCP=Δεν έχετε το δικαίωμα να ζητήσετε άδεια. -InvalidValidatorCP=Μπορείτε να επιλέξετε ένα εκπρόσωπο να εγκρίνει την άδειά σας. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Πρέπει να επιλέξετε μια ημερομηνία έναρξης. NoDateFin=Πρέπει να επιλέξετε μια ημερομηνία λήξης. ErrorDureeCP=Η αίτηση άδειας δεν περιέχει εργάσιμες ημέρες @@ -80,14 +80,14 @@ UserCP=Χρήστης ErrorAddEventToUserCP=Παρουσιάστηκε σφάλμα κατά την προσθήκη τις έκτακτης άδειας. AddEventToUserOkCP=Η προσθήκη της έκτακτης άδειας έχει ολοκληρωθεί. MenuLogCP=Εμφάνιση καταγραφής αλλαγών -LogCP=Αρχείο καταγραφής για ενημέρωση των διαθέσιμων ημερών των αδειών -ActionByCP=Διενεργείται από -UserUpdateCP=Για το χρήστη +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Προηγούμενο Υπόλοιπο NewSoldeCP=Νέο υπόλοιπο alreadyCPexist=Υπάρχει ήδη αίτηση άδειας για αυτήν τη περίοδο. -FirstDayOfHoliday=Πρώτη μέρα των αδειών -LastDayOfHoliday=Τελευταία μέρα των αδειών +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Μηνιαία ενημέρωση ManualUpdate=Χειροκίνητη ενημέρωση @@ -104,8 +104,8 @@ LEAVE_SICK=Αναρρωτική άδεια LEAVE_OTHER=Άλλη άδεια LEAVE_PAID_FR=Διακοπές μετ'αποδοχών ## Configuration du Module ## -LastUpdateCP=Τελευταία αυτόματη ενημέρωση της κατανομής άδειας -MonthOfLastMonthlyUpdate=Μήνας τελευταίας αυτόματης ενημέρωσης της κατανομής άδειας +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Ενημερώθηκε με επιτυχία. Module27130Name= Διαχείριση των αιτήσεων αδειών Module27130Desc= Διαχείριση των αιτήσεων αδειών @@ -125,10 +125,12 @@ HolidaysCanceledBody=Η αίτηση αδείας σας για %s στο %s έ FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Πηγαίνετε στο σπίτι - Ρύθμιση - Λεξικά - Τύπος άδειας για τη ρύθμιση των διαφορετικών τύπων φύλλων. -HolidaySetup=Ρύθμιση της λειτουργίας διακοπών -HolidaysNumberingModules=Αφήστε τα μοντέλα αρίθμησης αιτημάτων +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Πρότυπο για αιτήσεις άδειας PDF FreeLegalTextOnHolidays=Δωρεάν κείμενο σε μορφή PDF WatermarkOnDraftHolidayCards=Υδατογραφήματα σε σχέδια αιτήσεων άδειας HolidaysToApprove=Διακοπές για έγκριση NobodyHasPermissionToValidateHolidays=Κανείς δεν έχει άδεια να επικυρώσει διακοπές +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/el_GR/hrm.lang b/htdocs/langs/el_GR/hrm.lang index 6800960626f..3cee4ab528a 100644 --- a/htdocs/langs/el_GR/hrm.lang +++ b/htdocs/langs/el_GR/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment= Είστε βέβαιοι ότι θέλετε να OpenEtablishment=Άνοιγμα εγκατάστασης CloseEtablishment=Κλείσιμο εγκατάστασης # Dictionary -DictionaryPublicHolidays=HRM-δημόσιες αργίες +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Λίστα τμημάτων DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index c08d1890daa..d9799c7d351 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Μετανάστευση φωτογραφικών δια MigrationFieldsSocialNetworks=Μετεγκατάσταση χρηστών πεδίων κοινωνικών δικτύων (%s) MigrationReloadModule=Επαναφόρτωση ενθεμάτων %s MigrationResetBlockedLog=Επαναφορά της μονάδας BlockedLog για τον αλγόριθμο v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Εμφάνιση μη διαθέσιμων επιλογών HideNotAvailableOptions=Απόκρυψη μη διαθέσιμων επιλογών ErrorFoundDuringMigration=Παρουσιάστηκε σφάλμα κατά τη διάρκεια της διαδικασίας μετάβασης, επομένως το επόμενο βήμα δεν είναι διαθέσιμο. Για να αγνοήσετε τα σφάλματα, μπορείτε να κάνετε κλικ εδώ , αλλά η εφαρμογή ή ορισμένες λειτουργίες ενδέχεται να μην λειτουργούν σωστά μέχρι να επιλυθούν τα σφάλματα. diff --git a/htdocs/langs/el_GR/interventions.lang b/htdocs/langs/el_GR/interventions.lang index f0b5807ab17..83169bc1250 100644 --- a/htdocs/langs/el_GR/interventions.lang +++ b/htdocs/langs/el_GR/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Περιοχή παρεμβάσεων DraftFichinter=Πρόχειρες παρεμβάσεις LastModifiedInterventions=Latest %s modified interventions FichinterToProcess=Interventions to process -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Σε συνέχεια επαφή με τον πελάτη -# Modele numérotation PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card PrintProductsOnFichinterDetails=παρεμβάσεις που προέρχονται από παραγγελίες UseServicesDurationOnFichinter=Use services duration for interventions generated from orders @@ -53,7 +51,6 @@ InterventionStatistics=Στατιστικά παρεμβάσεων NbOfinterventions=Αριθ. Καρτών παρέμβασης NumberOfInterventionsByMonth=Αριθμός καρτών παρέμβασης ανά μήνα (ημερομηνία επικύρωσης) AmountOfInteventionNotIncludedByDefault=Το ποσό της παρέμβασης δεν συμπεριλαμβάνεται εξ ορισμού στο κέρδος (στις περισσότερες περιπτώσεις, τα φύλλα εργασίας χρησιμοποιούνται για τον υπολογισμό του χρόνου που δαπανάται). Προσθέστε την επιλογή PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT σε 1 στο σπίτι-setup-άλλη για να τις συμπεριλάβετε. -##### Exports ##### InterId=Κωδ παρέμβασης InterRef=Αναφ παρέμβασης InterDateCreation=Ημερομηνία δημιουργίας παρέμβασης @@ -65,3 +62,7 @@ InterLineId=Κωδ γραμμής παρέμβασης InterLineDate=Ημερομηνία γραμμής παρέμβασης InterLineDuration=Διάρκεια γραμμής παρέμβασης InterLineDesc=Περιγραφή γραμμής παρέμβασης +RepeatableIntervention=Πρότυπο παρέμβασης +ToCreateAPredefinedIntervention=Για να δημιουργήσετε μια προκαθορισμένη ή επαναλαμβανόμενη παρέμβαση, δημιουργήστε μια κοινή παρέμβαση και μετατρέψτε την σε πρότυπο παρέμβασης +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/el_GR/knowledgemanagement.lang b/htdocs/langs/el_GR/knowledgemanagement.lang index 21723681aa0..abcd384905d 100644 --- a/htdocs/langs/el_GR/knowledgemanagement.lang +++ b/htdocs/langs/el_GR/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Πληροφορίες KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Πώληση KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/el_GR/languages.lang b/htdocs/langs/el_GR/languages.lang index 35076749bf2..497b1490ac5 100644 --- a/htdocs/langs/el_GR/languages.lang +++ b/htdocs/langs/el_GR/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Αραβικά Language_ar_EG=Αραβικά (Αίγυπτος) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Αραβικά +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Ολλανδικά (Βέλγιο) Language_nl_NL=Ολλανδός Language_pl_PL=Πολωνικά +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Πορτογαλικά (Βραζιλίας) Language_pt_PT=Πορτογαλικά +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Ρουμανικά Language_ru_RU=Ρωσικά Language_ru_UA=Ρωσικά (Ουκρανία) diff --git a/htdocs/langs/el_GR/mails.lang b/htdocs/langs/el_GR/mails.lang index feccce11ccf..10c23c42586 100644 --- a/htdocs/langs/el_GR/mails.lang +++ b/htdocs/langs/el_GR/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index 8b2ee02ce42..ece63f02e0b 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Επιπλέον σεντ VATRate=Συντελεστής Φ.Π.Α. +RateOfTaxN=Rate of tax %s VATCode=Κωδικός φορολογικού συντελεστή VATNPR=Φορολογικός συντελεστής NPR DefaultTaxRate=Προκαθορισμένος συντελεστής φορολογίας @@ -729,6 +730,7 @@ MenuMembers=Μέλη MenuAgendaGoogle=Ημερολόγιο Google MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Όριο Dolibarr (Μενού Ρυθμίσεις-Ασφάλεια): %s Kb, Όριο PHP: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Τρέχουσα Γλώσσα CurrentTheme=Τρέχων Θέμα @@ -1072,6 +1074,7 @@ ValidFrom=Ισχύει από ValidUntil=Εγκυρο μέχρι NoRecordedUsers=Δεν υπάρχουν χρήστες ToClose=Να κλείσω +ToRefuse=To refuse ToProcess=Για την διαδικασία ToApprove=Εγκρίνω GlobalOpenedElemView=Σφαιρική άποψη @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=Σε Αναμονή Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/el_GR/members.lang b/htdocs/langs/el_GR/members.lang index aae93b47a00..0d6b25575a1 100644 --- a/htdocs/langs/el_GR/members.lang +++ b/htdocs/langs/el_GR/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Αποστολή υπενθύμισης μέ MembershipPaid=Καταβολή συνδρομής για την τρέχουσα περίοδο (μέχρι %s) YouMayFindYourInvoiceInThisEmail=Μπορείτε να βρείτε το τιμολόγιο που επισυνάπτεται σε αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου XMembersClosed=%s μέλος (τα) έκλεισε +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/el_GR/modulebuilder.lang b/htdocs/langs/el_GR/modulebuilder.lang index 38271e678cc..4ad2081a23d 100644 --- a/htdocs/langs/el_GR/modulebuilder.lang +++ b/htdocs/langs/el_GR/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Μεταροπέας από Ascii σε HTML AsciiToPdfConverter=Μεταροπέας από Ascii σε PDF TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/el_GR/mrp.lang b/htdocs/langs/el_GR/mrp.lang index 898842cfab0..f70ffcd3117 100644 --- a/htdocs/langs/el_GR/mrp.lang +++ b/htdocs/langs/el_GR/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Λογαριασμοί υλικού LatestBOMModified=Τελευταία %s Τροποποιημένα λογαριασμοί LatestMOModified=Οι τελευταίες %s Παραγγελίες Παραγωγής τροποποιήθηκαν Bom=Λογαριασμοί υλικού -BillOfMaterials=Λογαριασμός υλικού +BillOfMaterials=Bill of Materials BOMsSetup=Ρύθμιση του BOM της μονάδας ListOfBOMs=Κατάλογος λογαριασμών υλικού - BOM ListOfManufacturingOrders=Κατάλογος παραγγελιών κατασκευής -NewBOM=Νέα αποστολή υλικού -ProductBOMHelp=Προϊόν που δημιουργείται με αυτό το BOM.
    Σημείωση: Τα προϊόντα με την ιδιότητα 'Φύση του προϊόντος' = 'Πρώτη ύλη' δεν είναι ορατά σε αυτόν τον κατάλογο. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=Πρότυπα αρίθμησης BOM BOMsModelModule=Πρότυπα εγγράφων BOM MOsNumberingModules=Μοντέλα αρίθμησης MO @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Ελεύθερο κείμενο στο έγγραφο του WatermarkOnDraftBOMs=Υδατογράφημα σε σχέδιο BOM FreeLegalTextOnMOs=Ελεύθερο κείμενο σε έγγραφο της MO WatermarkOnDraftMOs=Υδατογράφημα στο σχέδιο ΜΟ -ConfirmCloneBillOfMaterials=Είστε βέβαιοι ότι θέλετε να κλωνοποιήσετε το λογαριασμό υλικού %s; +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Είστε βέβαιοι ότι θέλετε να κλωνοποιήσετε την Παραγγελία Παραγωγής %s? ManufacturingEfficiency=Αποτελεσματικότητα κατασκευής ConsumptionEfficiency=Απόδοση κατανάλωσης @@ -30,8 +30,8 @@ ValueOfMeansLoss=Η τιμή 0,95 σημαίνει έναν μέσο όρο 5%% ValueOfMeansLossForProductProduced=Η τιμή 0,95 σημαίνει κατά μέσο όρο απώλεια παραγόμενου προϊόντος 5%% DeleteBillOfMaterials=Διαγραφή λογαριασμού υλικών DeleteMo=Διαγραφή Παραγγελίας Παραγωγής -ConfirmDeleteBillOfMaterials=Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το νομοσχέδιο; -ConfirmDeleteMo=Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το νομοσχέδιο; +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Παραγγελίες Παραγωγής NewMO=Νέα Παραγγελία Παραγωγής QtyToProduce=Ποσότητα για παραγωγή @@ -39,7 +39,7 @@ DateStartPlannedMo=Η έναρξη της προγραμματισμένης η DateEndPlannedMo=Η ημερομηνία λήξης προγραμματισμένη KeepEmptyForAsap=Άδειο σημαίνει 'όσο το δυνατόν συντομότερα' EstimatedDuration=Εκτιμώμενη Διάρκεια -EstimatedDurationDesc=Εκτιμώμενη διάρκεια κατασκευής αυτού του προϊόντος χρησιμοποιώντας αυτό το BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Είστε βέβαιοι ότι θέλετε να επικυρώσετε το BOM με την αναφορά %s (θα μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετε νέες Παραγγελίες Παραγωγής) ConfirmCloseBom=Είστε βέβαιοι ότι θέλετε να ακυρώσετε αυτό το BOM (δεν θα μπορείτε πλέον να το χρησιμοποιήσετε για να δημιουργήσετε νέες Παραγγελίες Παραγωγής); ConfirmReopenBom=Είστε βέβαιοι ότι θέλετε να ανοίξετε ξανά αυτό το BOM (θα μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετε νέες Παραγγελίες Παραγωγής) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Καταναλώστε και παράξτε όλα Manufactured=Κατασκευάστηκε TheProductXIsAlreadyTheProductToProduce=Το προϊόν που προστέθηκε είναι ήδη το προϊόν που παράγεται. ForAQuantityOf=Για ποσότητα παραγωγής %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Είστε βέβαιοι ότι θέλετε να επαληθεύσετε αυτή τη παραγγελία κατασκευής; ConfirmProductionDesc=Κάνοντας κλικ στο '%s', θα επαληθεύσετε την κατανάλωση ή / και την παραγωγή για τις καθορισμένες ποσότητες. Αυτό θα ενημερώσει επίσης τις μεταβολές αποθεμάτων και θα καταγράψει τις κινήσεις αποθεμάτων. ProductionForRef=Παραγωγή του %s AutoCloseMO=Αυτόματo κλείσιμο της Παραγγελίας Παραγωγής εάν επιτευχθούν οι ποσότητες για κατανάλωση και παραγωγή NoStockChangeOnServices=Καμία αλλαγή αποθέματος στις υπηρεσίες ProductQtyToConsumeByMO=Ποσότητα προϊόντος ακόμα για κατανάλωση από ανοικτό MO -ProductQtyToProduceByMO=Ποσότητα προϊόντος ακόμα να παραχθεί από ανοιχτό MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Προσθέστε νέα γραμμή για κατανάλωση ProductsToConsume=Προϊόντα προς κατανάλωση ProductsToProduce=Προϊόντα για παραγωγή @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Διαγραφή NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/el_GR/orders.lang b/htdocs/langs/el_GR/orders.lang index 2725ba6380b..9c9682ce483 100644 --- a/htdocs/langs/el_GR/orders.lang +++ b/htdocs/langs/el_GR/orders.lang @@ -11,6 +11,7 @@ OrderDate=Ημερομηνία παραγγελίας OrderDateShort=Ημερομηνία παραγγελίας OrderToProcess=Παραγγελία προς επεξεργασία NewOrder=Νέα παραγγελία +NewSupplierOrderShort=Νέα παραγγελία NewOrderSupplier=Νέα εντολή αγοράς ToOrder=Δημιουργία πραγγελίας MakeOrder=Δημιουργία παραγγελίας @@ -73,6 +74,7 @@ DeleteOrder=Διαγραφή παραγγελίας CancelOrder=Ακύρωση παραγγελίας OrderReopened= Παραγγελία %s Ανοίγει ξανά AddOrder=Δημιουργία παραγγελίας +AddSupplierOrderShort=Δημιουργία παραγγελίας AddPurchaseOrder=Δημιουργία εντολής αγοράς AddToDraftOrders=Προσθήκη στο σχέδιο παραγγελιας ShowOrder=Εμφάνιση παραγγελίας diff --git a/htdocs/langs/el_GR/other.lang b/htdocs/langs/el_GR/other.lang index ba4ae37fdda..85d2b4fceff 100644 --- a/htdocs/langs/el_GR/other.lang +++ b/htdocs/langs/el_GR/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Χρήστης σύνδεσης που έκλεισε FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Δεν υπάρχει ακόμα διαθέσιμη λειτουργία στην τρέχουσα έκδοση +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Υποστηριζόμενα χαρακτηριστικά Width=Πλάτος Height=Ύψος @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Επαφή / διεύθυνση που δημιο ProjectCreatedByEmailCollector=Έργο που δημιουργήθηκε από τον συλλέκτη ηλεκτρονικού ταχυδρομείου από το ηλεκτρονικό ταχυδρομείο MSGID %s TicketCreatedByEmailCollector=Εισιτήριο που δημιουργήθηκε από τον συλλέκτη ηλεκτρονικού ταχυδρομείου από το ηλεκτρονικό ταχυδρομείο MSGID %s OpeningHoursFormatDesc=Χρησιμοποιήστε το "-" για να διαχωρίσετε τις ώρες ανοίγματος και κλεισίματος.
    Χρησιμοποιήστε "κενό" για να εισάγετε διαφορετικές περιοχές.
    Παράδειγμα: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Προϊόντα / Υπηρεσίες κατά δημοτικότητα ProductStatistics=Στατιστικά Προϊόντων / Υπηρεσιών NbOfQtyInOrders=Ποσότητα σε παραγγελίες SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Κλείσιμο diff --git a/htdocs/langs/el_GR/partnership.lang b/htdocs/langs/el_GR/partnership.lang index 053c669c718..084ffd23102 100644 --- a/htdocs/langs/el_GR/partnership.lang +++ b/htdocs/langs/el_GR/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Ημερομηνία έναρξης DatePartnershipEnd=Ημερομηνία λήξης +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Πρόχειρο -PartnershipAccepted = Αποδεκτή -PartnershipRefused = Απορρίφθηκε -PartnershipCanceled = Ακυρώθηκε - +PartnershipDraft=Πρόχειρο +PartnershipAccepted=Αποδεκτή +PartnershipRefused=Απορρίφθηκε +PartnershipCanceled=Ακυρώθηκε PartnershipManagedFor=Partners are diff --git a/htdocs/langs/el_GR/productbatch.lang b/htdocs/langs/el_GR/productbatch.lang index 8a21232571c..476209b3162 100644 --- a/htdocs/langs/el_GR/productbatch.lang +++ b/htdocs/langs/el_GR/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Χρήση παρτίδας/σειριακού αριθμού ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Εμφάνιση αρχείου κινήσεων για StockDetailPerBatch=Ανάλυση αποθέματος ανά παρτίδα SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index e6d9bdc533d..f4bfe6b6a70 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Διαφορετικές τιμές για κάθε πελάτη PriceCatalogue=Μια ενιαία τιμή πώλησης ανά προϊόν / υπηρεσία PricingRule=Κανόνες για τις τιμές πώλησης AddCustomerPrice=Προσθήκη τιμής ανά πελάτη -ForceUpdateChildPriceSoc=Ορισμός ίδιας τιμής για τις θυγατρικές του πελάτη +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Καταγραφή προηγούμενων τιμών πελατών MinimumPriceLimit=Η ελάχιστη τιμή δεν μπορεί να είναι χαμηλότερη από %s MinimumRecommendedPrice=Η ελάχιστη συνιστώμενη τιμή είναι: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Αύξηση/Μείωση αποθεμάτων στη ComposedProduct=Παιδικά προϊόντα MinSupplierPrice=Ελάχιστη τιμή αγοράς MinCustomerPrice=Ελάχιστη τιμή πώλησης +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Διαμόρφωση δυναμικών τιμών DynamicPriceDesc=Μπορείτε να ορίσετε μαθηματικούς τύπους για τον υπολογισμό των τιμών των πελατών ή των προμηθευτών. Τέτοιοι τύποι μπορούν να χρησιμοποιήσουν όλους τους μαθηματικούς χειριστές, κάποιες σταθερές και μεταβλητές. Μπορείτε να ορίσετε εδώ τις μεταβλητές που θέλετε να χρησιμοποιήσετε. Αν η μεταβλητή χρειάζεται αυτόματη ενημέρωση, μπορείτε να ορίσετε την εξωτερική διεύθυνση URL ώστε να επιτρέψει στο Dolibarr να ενημερώσει αυτόματα την τιμή. AddVariable=Προσθήκη μεταβλητής @@ -340,7 +341,7 @@ ProductSheet=Φύλλο προϊόντος ServiceSheet=Φύλλο εξυπηρέτησης PossibleValues=Πιθανές τιμές GoOnMenuToCreateVairants=Πηγαίνετε στο μενού %s - %s για να προετοιμάσετε παραλλαγές χαρακτηριστικών (όπως χρώματα, μέγεθος, ...) -UseProductFournDesc=Προσθέστε μια δυνατότητα για να ορίσετε τις περιγραφές των προϊόντων που ορίζονται από τους προμηθευτές εκτός από τις περιγραφές για τους πελάτες +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Περιγραφή του πωλητή για το προϊόν UseProductSupplierPackaging=Χρησιμοποιήστε τη συσκευασία στις τιμές προμηθευτή (επανυπολογίστε τις ποσότητες σύμφωνα με τη συσκευασία που καθορίζεται στην τιμή προμηθευτή κατά την προσθήκη / ενημέρωση της γραμμής στα έγγραφα προμηθευτών) PackagingForThisProduct=Συσκευασία @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Δράση διαθέσιμη μόνο γι ProductsPricePerCustomer=Τιμές προϊόντων ανά πελάτη ProductSupplierExtraFields=Πρόσθετα χαρακτηριστικά (τιμές προμηθευτή) DeleteLinkedProduct=Διαγράψτε το θυγατρικό προϊόν που συνδέεται με τον συνδυασμό +PMPValue=Μέση σταθμική τιμή +PMPValueShort=WAP diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index eac3f4fcede..24b83b297c9 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -140,6 +140,7 @@ NoTasks=Δεν υπάρχουν εργασίες για αυτό το έργο LinkedToAnotherCompany=Συνδέεται με άλλο τρίτο μέρος TaskIsNotAssignedToUser=Εργασία δεν έχει εκχωρηθεί στο χρήστη. Χρησιμοποιήστε το κουμπί ' %s ' για να εκχωρήσετε εργασία τώρα. ErrorTimeSpentIsEmpty=Χρόνος που δαπανάται είναι άδειο +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Αυτή η ενέργεια θα διαγράψει επίσης όλα τα καθήκοντα του έργου (%s καθηκόντων προς το παρόν) και όλες οι είσοδοι του χρόνου. IfNeedToUseOtherObjectKeepEmpty=Εάν ορισμένα αντικείμενα (τιμολόγιο, προκειμένου, ...), που ανήκουν σε άλλο τρίτο μέρος, πρέπει να συνδέεται με το έργο να δημιουργήσει, διατηρήσει αυτό το κενό να έχει το έργο να είναι πολλαπλών τρίτους. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Τελευταία τροποποιημένα έργα %s OtherFilteredTasks=Άλλες φιλτραρισμένες εργασίες NoAssignedTasks=Δεν εντοπίστηκαν καθήκοντα που έχουν ανατεθεί (αναθέστε το έργο / εργασίες στον τρέχοντα χρήστη από το κορυφαίο πλαίσιο επιλογής για να εισάγετε χρόνο σε αυτό) ThirdPartyRequiredToGenerateInvoice=Ένα τρίτο μέρος πρέπει να οριστεί στο έργο για να μπορεί να το τιμολογεί. +ThirdPartyRequiredToGenerateInvoice=Ένα τρίτο μέρος πρέπει να οριστεί στο έργο για να μπορεί να το τιμολογεί. ChooseANotYetAssignedTask=Επιλέξτε μια εργασία που δεν σας έχει ανατεθεί ακόμη # Comments trans AllowCommentOnTask=Επιτρέψτε στα σχόλια των χρηστών τις εργασίες @@ -252,10 +254,12 @@ SendProjectRef=Έργο πληροφοριών %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Η ενότητα "Μισθοί" πρέπει να είναι ενεργοποιημένη για να καθορίζει την ωριαία τιμή του εργαζόμενου ώστε να έχει αξιοποιηθεί ο χρόνος που δαπανάται NewTaskRefSuggested=Η αναφορά εργασίας που έχει ήδη χρησιμοποιηθεί, απαιτείται νέα αναφορά εργασίας TimeSpentInvoiced=Χρόνος που δαπανήθηκε χρεώνεται +TimeSpentForIntervention=Ο χρόνος που δαπανάται TimeSpentForInvoice=Ο χρόνος που δαπανάται OneLinePerUser=Μια γραμμή ανά χρήστη ServiceToUseOnLines=Υπηρεσία για χρήση σε γραμμές InvoiceGeneratedFromTimeSpent=Το τιμολόγιο %s δημιουργήθηκε από το χρόνο που αφιερώσατε στο έργο +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Ελέγξτε αν εισάγετε φύλλο κατανομής για τα καθήκοντα του έργου και σχεδιάζετε να δημιουργήσετε τιμολόγιο(α) από το δελτίο χρόνου για να χρεώσετε τον πελάτη του έργου (μην ελέγξετε αν σκοπεύετε να δημιουργήσετε τιμολόγιο που δεν βασίζεται σε καταγεγραμμένα φύλλα εργασίας). Σημείωση: Για να δημιουργήσετε τιμολόγιο, μεταβείτε στην καρτέλα 'Χρόνος δαπάνης' του έργου και επιλέξτε γραμμές που θα συμπεριληφθούν. ProjectFollowOpportunity=Ακολουθήστε την ευκαιρία ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Χρήση: Ευκαιρία UsageTasks=Χρήση: Εργασίες UsageBillTimeShort=Χρήση: Χρόνος λογαριασμού InvoiceToUse=Προσχέδιο τιμολογίου προς χρήση +InterToUse=Draft intervention to use NewInvoice=Νέο τιμολόγιο +NewInter=Νέα παρέμβαση OneLinePerTask=Μια γραμμή ανά εργασία OneLinePerPeriod=Μία γραμμή ανά περίοδο +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Αναφ. Γονική εργασία ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/el_GR/receptions.lang b/htdocs/langs/el_GR/receptions.lang index 5621f6ceba1..f88bf2f5bb0 100644 --- a/htdocs/langs/el_GR/receptions.lang +++ b/htdocs/langs/el_GR/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Θα πρέπει πρώτα να επικυρ ReceptionsNumberingModules=Μονάδα αρίθμησης για δεξιώσεις ReceptionsReceiptModel=Πρότυπα εγγράφων για δεξιώσεις NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/el_GR/salaries.lang b/htdocs/langs/el_GR/salaries.lang index d9c0fcbfd87..793e68f2826 100644 --- a/htdocs/langs/el_GR/salaries.lang +++ b/htdocs/langs/el_GR/salaries.lang @@ -1,21 +1,24 @@ # Dolibarr language file - Source file is en_US - salaries -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Λογαριασμός λογιστικής που χρησιμοποιείται για τρίτους χρήστες +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Ο αποκλειστικός λογαριασμός λογιστικής που ορίζεται στην κάρτα χρήστη θα χρησιμοποιηθεί μόνο για τη λογιστική της Subledger. Αυτός θα χρησιμοποιηθεί για το γενικό βιβλίο και ως προεπιλεγμένη τιμή της λογιστικής Subledger εάν δεν έχει καθοριστεί ο λογαριασμός λογιστικής για τον χρήστη. +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Λογαριασμός λογαριασμού από προεπιλογή για πληρωμές μισθών +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mισθός Salaries=Μισθοί -NewSalaryPayment=Νέα μισθοδοσία -AddSalaryPayment=Add salary payment +NewSalary=New salary +NewSalaryPayment=New salary card +AddSalaryPayment=Προσθήκη πληρωμής μισθοδοσίας SalaryPayment=Μισθός SalariesPayments=Πληρωμές μισθών +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Εμφάνιση μισθοδοσίας -THM=Average hourly rate -TJM=Average daily rate +THM=Μέση ωριαία τιμή +TJM=Μέση ημερήσια τιμή CurrentSalary=Τρέχον μισθός -THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used -TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments -SalariesStatistics=Salary statistics -# Export -SalariesAndPayments=Salaries and payments +THMDescription=Αυτή η τιμή μπορεί να χρησιμοποιηθεί για τον υπολογισμό του κόστους του χρόνου που καταναλώνεται σε ένα έργο που εισήχθησαν από τους χρήστες, εάν χρησιμοποιείται το project module +TJMDescription=Αυτή η τιμή είναι προς ενημέρωση μόνο και δεν χρησιμοποιείται για υπολογισμό +LastSalaries=Latest %s salaries +AllSalaries=All salaries +SalariesStatistics=Στατιστικά στοιχεία μισθών +SalariesAndPayments=Μισθοί και πληρωμές +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index b8b4b99272f..c64b66dca12 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Χρηματιστήριο πολύ χαμηλή StockLowerThanLimit=Απόθεμα χαμηλότερο από το όριο συναγερμού (%s) EnhancedValue=Αξία -PMPValue=Μέση σταθμική τιμή -PMPValueShort=WAP EnhancedValueOfWarehouses=Αποθήκες αξία UserWarehouseAutoCreate=Δημιουργήστε αυτόματα μια αποθήκη χρήστη κατά τη δημιουργία ενός χρήστη AllowAddLimitStockByWarehouse=Διαχειριστείτε επίσης την τιμή για το ελάχιστο και το επιθυμητό απόθεμα ανά ζεύγος (αποθήκη προϊόντων) επιπλέον της τιμής για το ελάχιστο και το επιθυμητό απόθεμα ανά προϊόν RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Μετακίνηση του προϊόντος %s σε μ InventoryCodeShort=Inv./Mov. κώδικας NoPendingReceptionOnSupplierOrder=Δεν υπάρχει εκκρεμότητα λήψης λόγω ανοικτής εντολής αγοράς ThisSerialAlreadyExistWithDifferentDate=Αυτός ο αριθμός παρτίδας / αύξων αριθμός ( %s ) υπάρχει ήδη αλλά με διαφορετική ημερομηνία κατανάλωσης ή πώλησης (βρέθηκε %s αλλά εισάγετε %s ). -OpenAll=Ανοίξτε για όλες τις ενέργειες -OpenInternal=Ανοίξτε μόνο για εσωτερικές ενέργειες +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Χρησιμοποιήστε την κατάσταση αποστολής (έγκριση / απόρριψη) για τις σειρές προϊόντων κατά τη λήψη της παραγγελίας αγοράς OptionMULTIPRICESIsOn=Η επιλογή "διάφορες τιμές ανά τμήμα" είναι ενεργοποιημένη. Σημαίνει ότι ένα προϊόν έχει πολλές τιμές πώλησης, ώστε να μην μπορεί να υπολογιστεί η τιμή πώλησης ProductStockWarehouseCreated=Το όριο αποθεμάτων για την ειδοποίηση και το επιθυμητό βέλτιστο απόθεμα που δημιουργήθηκε σωστά @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/el_GR/ticket.lang b/htdocs/langs/el_GR/ticket.lang index 5c5c8eb9975..a88ebeb6995 100644 --- a/htdocs/langs/el_GR/ticket.lang +++ b/htdocs/langs/el_GR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Εισιτήριο - Ανάλυση TicketTypeShortCOM=Εμπορική ερώτηση TicketTypeShortHELP=Αίτημα για λειτουργική βοήθεια -TicketTypeShortISSUE=Θέμα, σφάλμα ή πρόβλημα +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Αίτημα αλλαγής ή βελτίωσης TicketTypeShortPROJET=Έργο TicketTypeShortOTHER=Άλλο @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Εκχωρημένος χρήστης TypeContact_ticket_external_SUPPORTCLI=Παρακολούθηση επαφών πελατών / συμβάντων TypeContact_ticket_external_CONTRIBUTOR=Εξωτερικός συνεργάτης -OriginEmail=Πηγή ηλεκτρονικού ταχυδρομείου +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Στείλτε μήνυμα εισιτηρίου μέσω ηλεκτρονικού ταχυδρομείου # Status Read=Ανάγνωση Assigned=Ανατεθεί InProgress=Σε εξέλιξη -NeedMoreInformation=Αναμονή για πληροφορίες +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Απαντήθηκε Waiting=Αναμονή -Closed=Έκλεισε +SolvedClosed=Solved Deleted=Διαγράφηκε # Dict @@ -160,7 +162,7 @@ CreatedBy=Δημιουργήθηκε από NewTicket=Νέο εισιτήριο SubjectAnswerToTicket=Απάντηση εισιτηρίου TicketTypeRequest=Τύπος αιτήματος -TicketCategory=Ομάδα +TicketCategory=Ticket categorization SeeTicket=Δείτε εισιτήριο TicketMarkedAsRead=Το εισιτήριο έχει επισημανθεί ως αναγνωσμένο TicketReadOn=Συνέχισε να διαβάζεις @@ -184,9 +186,11 @@ TicketSeverity=Δριμύτητα ShowTicket=Δείτε εισιτήριο RelatedTickets=Σχετικά εισιτήρια TicketAddIntervention=Δημιουργία παρέμβασης -CloseTicket=Κλείστε το εισιτήριο -CloseATicket=Κλείστε ένα εισιτήριο +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Επιβεβαιώστε το κλείσιμο εισιτηρίου +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Επιβεβαιώστε τη διαγραφή του εισιτηρίου TicketDeletedSuccess=Το εισιτήριο διαγράφηκε με επιτυχία TicketMarkedAsClosed=Το εισιτήριο επισημαίνεται ως κλειστό @@ -211,6 +215,7 @@ TicketMessageHelp=Μόνο αυτό το κείμενο θα αποθηκευτ TicketMessageSubstitutionReplacedByGenericValues=Οι μεταβλητές αντικατάστασης αντικαθίστανται από γενικές τιμές. TimeElapsedSince=Χρόνος που πέρασε από τότε TicketTimeToRead=Ο χρόνος που παρέμενε πριν διαβάσετε +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Επαφές εισιτήριο TicketDocumentsLinked=Έγγραφα που συνδέονται με το εισιτήριο ConfirmReOpenTicket=Επιβεβαιώστε ξανανοίξτε αυτό το εισιτήριο; @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Τελευταία τροποποιημένα εισιτή BoxLastModifiedTicketDescription=Τα τελευταία τροποποιημένα εισιτήρια %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Δεν υπάρχουν πρόσφατα τροποποιημένα εισιτήρια -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/el_GR/trips.lang b/htdocs/langs/el_GR/trips.lang index 30ce9189ed1..9bd3a3b6d49 100644 --- a/htdocs/langs/el_GR/trips.lang +++ b/htdocs/langs/el_GR/trips.lang @@ -7,39 +7,39 @@ TripCard=Κάρτα αναφοράς εξόδων AddTrip=Δημιουργία αναφοράς εξόδων ListOfTrips=Λίστα αναφορών εξόδων ListOfFees=Λίστα φόρων -TypeFees=Types of fees +TypeFees=Είδη αμοιβών ShowTrip=Εμφάνιση αναφοράς εξόδων NewTrip=Νέα αναφορά εξόδων -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports -CompanyVisited=Company/organization visited +LastExpenseReports=Τελευταίες αναφορές δαπανών %s +AllExpenseReports=Όλες οι αναφορές εξόδων +CompanyVisited=Εταιρεία / οργανισμός επισκέφθηκε FeesKilometersOrAmout=Σύνολο χλμ DeleteTrip=Διαγραφή αναφοράς εξόδων -ConfirmDeleteTrip=Are you sure you want to delete this expense report? +ConfirmDeleteTrip=Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την αναφορά εξόδων; ListTripsAndExpenses=Λίστα αναφορών εξόδων ListToApprove=Αναμονή έγγρισης ExpensesArea=Περιοχή αναφοράς εξόδων ClassifyRefunded=Κατηγοριοποίηση ως «επιστράφει» -ExpenseReportWaitingForApproval=A new expense report has been submitted for approval -ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval -ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportApproved=An expense report was approved -ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s -ExpenseReportRefused=An expense report was refused -ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s -ExpenseReportCanceled=An expense report was canceled -ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s -ExpenseReportPaid=An expense report was paid -ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s -TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +ExpenseReportWaitingForApproval=Μια νέα έκθεση δαπανών έχει υποβληθεί προς έγκριση +ExpenseReportWaitingForApprovalMessage=Έχει υποβληθεί νέα αναφορά δαπανών και περιμένει έγκριση.
    - Χρήστης: %s
    - Περίοδος: %s
    Κάντε κλικ εδώ για να επικυρώσετε: %s +ExpenseReportWaitingForReApproval=Έχει υποβληθεί μια έκθεση δαπανών για επανέγκριση +ExpenseReportWaitingForReApprovalMessage=Έχει υποβληθεί αναφορά δαπανών και αναμένει επανέγκριση.
    Το %s, αρνηθήκατε να εγκρίνετε την αναφορά εξόδων για το λόγο αυτό: %s.
    Έχει προταθεί μια νέα έκδοση και περιμένει την έγκρισή σας.
    - Χρήστης: %s
    - Περίοδος: %s
    Κάντε κλικ εδώ για να επικυρώσετε: %s +ExpenseReportApproved=Έχει εγκριθεί έκθεση δαπανών +ExpenseReportApprovedMessage=Η έκθεση δαπανών %s εγκρίθηκε.
    - Χρήστης: %s
    - Εγκρίθηκε από: %s
    Κάντε κλικ εδώ για να εμφανίσετε την αναφορά εξόδων: %s +ExpenseReportRefused=Η αναφορά δαπανών απορρίφθηκε +ExpenseReportRefusedMessage=Η αναφορά δαπανών %s απορρίφθηκε.
    - Χρήστης: %s
    - αρνήθηκε από: %s
    - Αιτιολόγηση απόρριψης: %s
    Κάντε κλικ εδώ για να εμφανίσετε την αναφορά εξόδων: %s +ExpenseReportCanceled=Η αναφορά εξόδων ακυρώθηκε +ExpenseReportCanceledMessage=Η αναφορά δαπανών %s ακυρώθηκε.
    - Χρήστης: %s
    - Ακυρώθηκε από: %s
    - Αιτιολόγηση για ακύρωση: %s
    Κάντε κλικ εδώ για να εμφανίσετε την αναφορά εξόδων: %s +ExpenseReportPaid=Καταγράφηκε μια αναφορά εξόδων +ExpenseReportPaidMessage=Η αναφορά δαπανών %s καταβλήθηκε.
    - Χρήστης: %s
    - Πληρωμή από: %s
    Κάντε κλικ εδώ για να εμφανίσετε την αναφορά εξόδων: %s +TripId=Αναφορά εξόδων ταυτότητας +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Πληροφορίες εταιρίας -TripNDF=Informations expense report -PDFStandardExpenseReports=Standard template to generate a PDF document for expense report -ExpenseReportLine=Expense report line +TripNDF=Αναφορά εξόδων πληροφοριών +PDFStandardExpenseReports=Πρότυπο πρότυπο για τη δημιουργία ενός εγγράφου PDF για αναφορά εξόδων +ExpenseReportLine=Γραμμή αναφοράς δαπανών TF_OTHER=Άλλο -TF_TRIP=Transportation +TF_TRIP=Μεταφορά TF_LUNCH=Γεύμα TF_METRO=Μετρό TF_TRAIN=Τρένο @@ -49,36 +49,36 @@ TF_PEAGE=Διόδια TF_ESSENCE=Καύσιμα TF_HOTEL=Ξενοδοχείο TF_TAXI=Ταξί -EX_KME=Mileage costs -EX_FUE=Fuel CV +EX_KME=Χιλιόμετρα κόστος +EX_FUE=Βιογραφικό σημείωμα καυσίμου EX_HOT=Ξενοδοχείο -EX_PAR=Parking CV +EX_PAR=Χώρος στάθμευσης αυτοκινήτου EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast +EX_TAX=Διάφοροι φόροι +EX_IND=Αποζημίωση μεταφοράς αποζημιώσεων +EX_SUM=Συντήρηση +EX_SUO=Προμήθειες γραφείου +EX_CAR=Ενοικίαση αυτοκινήτων +EX_DOC=Τεκμηρίωση +EX_CUR=Πελάτες που λαμβάνουν +EX_OTR=Άλλες λήψεις +EX_POS=Ταχυδρομικά τέλη +EX_CAM=Συντήρηση και επισκευή βιογραφικού σημειώματος +EX_EMM=Γεύμα εργαζομένων +EX_GUM=Γεύμα φιλοξενουμένων +EX_BRE=ΠΡΩΙΝΟ ΓΕΥΜΑ EX_FUE_VP=Fuel PV EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair -DefaultCategoryCar=Default transportation mode -DefaultRangeNumber=Default range number -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' -ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -AucuneLigne=There is no expense report declared yet -ModePaiement=Payment mode -VALIDATOR=User responsible for approval +EX_PAR_VP=Πάρκινγκ PV +EX_CAM_VP=PV συντήρηση και επισκευή +DefaultCategoryCar=Προεπιλεγμένη λειτουργία μεταφοράς +DefaultRangeNumber=Αριθμός προεπιλεγμένου εύρους τιμών +UploadANewFileNow=Μεταφορτώστε τώρα ένα νέο έγγραφο +Error_EXPENSEREPORT_ADDON_NotDefined=Σφάλμα, ο κανόνας για την αναφορά αριθμών αναφορών εξόδων δεν καθορίστηκε στη ρύθμιση της ενότητας 'Έκθεση δαπανών' +ErrorDoubleDeclaration=Έχετε δηλώσει μια άλλη αναφορά εξόδων σε ένα παρόμοιο εύρος ημερομηνιών. +AucuneLigne=Δεν έχει ακόμη δηλωθεί αναφορά δαπανών +ModePaiement=Τρόπος πληρωμής +VALIDATOR=Ο χρήστης είναι υπεύθυνος για την έγκριση VALIDOR=Εγκρίθηκε από AUTHOR=Αποθηκεύτηκε από AUTHORPAIEMENT=Πληρώθηκε από @@ -90,62 +90,61 @@ DATE_REFUS=Ημερομηνία απόρριψης DATE_SAVE=Ημερομηνία Επικύρωσης DATE_CANCEL=Ημερομηνία ακύρωσης DATE_PAIEMENT=Ημερομηνία πληρωμής -BROUILLONNER=Reopen -ExpenseReportRef=Ref. expense report +ExpenseReportRef=Αναφ. ΑΝΑΦΟΡΑ ΕΞΟΔΩΝ ValidateAndSubmit=Επικύρωση και υποβολή για έγκριση ValidatedWaitingApproval=Επικύρωση (αναμονή για έγκριση) -NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. -ConfirmRefuseTrip=Are you sure you want to deny this expense report? -ValideTrip=Approve expense report -ConfirmValideTrip=Are you sure you want to approve this expense report? -PaidTrip=Pay an expense report -ConfirmPaidTrip=Are you sure you want to change status of this expense report to "Paid"? -ConfirmCancelTrip=Are you sure you want to cancel this expense report? -BrouillonnerTrip=Move back expense report to status "Draft" -ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft"? +NOT_AUTHOR=Δεν είστε ο συντάκτης αυτής της έκθεσης δαπανών. Η λειτουργία ακυρώθηκε. +ConfirmRefuseTrip=Είστε βέβαιοι ότι θέλετε να αρνηθείτε αυτήν την αναφορά εξόδων; +ValideTrip=Εγκρίνετε την αναφορά εξόδων +ConfirmValideTrip=Είστε βέβαιοι ότι θέλετε να εγκρίνετε αυτή την αναφορά εξόδων; +PaidTrip=Πληρώστε μια αναφορά εξόδων +ConfirmPaidTrip=Είστε βέβαιοι ότι θέλετε να αλλάξετε την κατάσταση αυτής της αναφοράς εξόδων σε "Paid"; +ConfirmCancelTrip=Είστε βέβαιοι ότι θέλετε να ακυρώσετε αυτήν την αναφορά εξόδων; +BrouillonnerTrip=Μεταφέρετε την αναφορά δαπανών στην κατάσταση "Σχέδιο" +ConfirmBrouillonnerTrip=Είστε βέβαιοι ότι θέλετε να μετακινήσετε αυτή την αναφορά δαπανών στην κατάσταση "Σχέδιο"; SaveTrip=Επικύρωση αναφοράς εξόδων -ConfirmSaveTrip=Are you sure you want to validate this expense report? -NoTripsToExportCSV=No expense report to export for this period. -ExpenseReportPayment=Expense report payment -ExpenseReportsToApprove=Expense reports to approve -ExpenseReportsToPay=Expense reports to pay -ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index -ExpenseReportsRules=Expense report rules -ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers -ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report +ConfirmSaveTrip=Είστε βέβαιοι ότι θέλετε να επικυρώσετε αυτήν την αναφορά εξόδων; +NoTripsToExportCSV=Δεν υπάρχει αναφορά εξόδων για εξαγωγή για αυτήν την περίοδο. +ExpenseReportPayment=Πληρωμή αναφορών εξόδων +ExpenseReportsToApprove=Αναφορές εξόδων για έγκριση +ExpenseReportsToPay=Αναφορές εξόδων για πληρωμή +ConfirmCloneExpenseReport=Είστε βέβαιοι ότι θέλετε να κλωνοποιήσετε αυτήν την αναφορά εξόδων; +ExpenseReportsIk=Configuration of mileage charges +ExpenseReportsRules=Κανόνες έκθεσης δαπανών +ExpenseReportIkDesc=Μπορείτε να τροποποιήσετε τον υπολογισμό των εξόδων χιλιομέτρων ανά κατηγορία και εύρος που έχουν οριστεί προηγουμένως. d είναι η απόσταση σε χιλιόμετρα +ExpenseReportRulesDesc=Μπορείτε να δημιουργήσετε ή να ενημερώσετε τους κανόνες υπολογισμού. Αυτό το μέρος θα χρησιμοποιηθεί όταν ο χρήστης θα δημιουργήσει μια νέα αναφορά δαπανών expenseReportOffset=Απόκλιση -expenseReportCoef=Coefficient -expenseReportTotalForFive=Example with d = 5 -expenseReportRangeFromTo=from %d to %d -expenseReportRangeMoreThan=more than %d -expenseReportCoefUndefined=(value not defined) -expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary -expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay -expenseReportPrintExample=offset + (d x coef) = %s -ExpenseReportApplyTo=Apply to -ExpenseReportDomain=Domain to apply -ExpenseReportLimitOn=Limit on +expenseReportCoef=Συντελεστής +expenseReportTotalForFive=Παράδειγμα με d = 5 +expenseReportRangeFromTo=από %d σε %d +expenseReportRangeMoreThan=περισσότερο από %d +expenseReportCoefUndefined=(τιμή δεν ορίζεται) +expenseReportCatDisabled=Απενεργοποιημένη κατηγορία - δείτε το λεξικό c_exp_tax_cat +expenseReportRangeDisabled=Η εμβέλεια είναι απενεργοποιημένη - ανατρέξτε στη λέξη c_exp_tax_range +expenseReportPrintExample=αντιστάθμιση + (dx coef) = %s +ExpenseReportApplyTo=Εφαρμόζω σε +ExpenseReportDomain=Τομέας για την εφαρμογή +ExpenseReportLimitOn=Περιορίστε το ExpenseReportDateStart=Ημερομηνία Έναρξης ExpenseReportDateEnd=Ημερομηνία λήξης ExpenseReportLimitAmount=Limite amount -ExpenseReportRestrictive=Restrictive -AllExpenseReport=All type of expense report -OnExpense=Expense line -ExpenseReportRuleSave=Expense report rule saved -ExpenseReportRuleErrorOnSave=Error: %s -RangeNum=Range %d -ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s -byEX_DAY=by day (limitation to %s) -byEX_MON=by month (limitation to %s) -byEX_YEA=by year (limitation to %s) -byEX_EXP=by line (limitation to %s) -ExpenseReportConstraintViolationWarning=Constraint violation id [%s]: %s is superior to %s %s -nolimitbyEX_DAY=by day (no limitation) -nolimitbyEX_MON=by month (no limitation) -nolimitbyEX_YEA=by year (no limitation) -nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car -ExpenseRangeOffset=Offset amount: %s -RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +ExpenseReportRestrictive=Περιοριστικός +AllExpenseReport=Όλες οι εκθέσεις δαπανών +OnExpense=Γραμμή δαπανών +ExpenseReportRuleSave=Ο κανόνας αναφοράς δαπανών αποθηκεύτηκε +ExpenseReportRuleErrorOnSave=Σφάλμα: %s +RangeNum=Εύρος %d +ExpenseReportConstraintViolationError=Παράμετρος παραβίασης περιορισμού [%s]: %s είναι ανώτερη από %s %s +byEX_DAY=ανά ημέρα (περιορισμός στο %s) +byEX_MON=ανά μήνα (περιορισμός στο %s) +byEX_YEA=ανά έτος (περιορισμός στο %s) +byEX_EXP=ανά γραμμή (περιορισμός στο %s) +ExpenseReportConstraintViolationWarning=Παράμετρος παραβίασης περιορισμού [%s]: %s είναι ανώτερη από %s %s +nolimitbyEX_DAY=ανά ημέρα (χωρίς περιορισμό) +nolimitbyEX_MON=ανά μήνα (χωρίς περιορισμό) +nolimitbyEX_YEA=ανά έτος (χωρίς περιορισμό) +nolimitbyEX_EXP=κατά γραμμή (χωρίς περιορισμό) +CarCategory=Vehicle category +ExpenseRangeOffset=Ποσό αντιστάθμισης: %s +RangeIk=Εύρος χιλιομέτρων +AttachTheNewLineToTheDocument=Συνδέστε τη γραμμή σε ένα φορτωμένο έγγραφο diff --git a/htdocs/langs/el_GR/users.lang b/htdocs/langs/el_GR/users.lang index 2591f46a45a..fead1a510bb 100644 --- a/htdocs/langs/el_GR/users.lang +++ b/htdocs/langs/el_GR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=Αριθμός χρηστών -NbOfPermissions=Αριθμός αδειών +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Μόνο μια superadmin μπορεί να προβεί στην ανακατάταξη ενός superadmin HierarchicalResponsible=Επόπτης HierarchicView=Ιεραρχική προβολή diff --git a/htdocs/langs/el_GR/website.lang b/htdocs/langs/el_GR/website.lang index 616aedcc45e..ad1a84479f3 100644 --- a/htdocs/langs/el_GR/website.lang +++ b/htdocs/langs/el_GR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Προσθήκη ιστοτόπου Webpage=Ιστοσελίδα / δοχείο AddPage=Προσθήκη σελίδας / δοχείου PageContainer=Σελίδα -PreviewOfSiteNotYetAvailable=Δεν είναι ακόμα διαθέσιμη η προεπισκόπηση του ιστοτόπου σας %s . Πρέπει πρώτα να εισαγάγετε ένα πλήρες πρότυπο ιστότοπου ή απλά να προσθέσετε μια σελίδα / κοντέινερ . +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Η σελίδα που ζητήθηκε με id %s δεν έχει ακόμα περιεχόμενο, ή το αρχείο cache .tpl.php καταργήθηκε. Επεξεργαστείτε το περιεχόμενο της σελίδας για να το επιλύσετε. SiteDeleted=Ο ιστότοπος "%s" διαγράφηκε PageContent=Σελίδα / Contenair diff --git a/htdocs/langs/el_GR/withdrawals.lang b/htdocs/langs/el_GR/withdrawals.lang index 69377126e89..70c9f967220 100644 --- a/htdocs/langs/el_GR/withdrawals.lang +++ b/htdocs/langs/el_GR/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s καταγράφονται τα αιτήματα πλη BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Τραπεζικός κωδικός τρίτου μέρους NoInvoiceCouldBeWithdrawed=Κανένα τιμολόγιο δεν χρεώθηκε με επιτυχία. Βεβαιωθείτε ότι τα τιμολόγια είναι σε εταιρείες με έγκυρο αριθμό IBAN και ότι ο IBAN έχει UMR (Unique Mandate Reference) με τον τρόπο %s . +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Ταξινομήστε πιστώνεται ClassCreditedConfirm=Είστε σίγουροι ότι θέλετε να χαρακτηρίσει την παραλαβή ως απόσυρση πιστώνεται στον τραπεζικό σας λογαριασμό; TransData=Η ημερομηνία αποστολής @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Ημερομηνία εκτέλεσης CreateForSepa=Δημιουργήστε αρχείο άμεσης χρέωσης -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" Ετικέτα XML SEPA - Μοναδική ταυτότητα που αντιστοιχεί σε κάθε συναλλαγή USTRD="Μη δομημένη" ετικέτα XML SEPA ADDDAYS=Προσθήκη ημερών στην Ημερομηνία Εκτέλεσης diff --git a/htdocs/langs/el_GR/workflow.lang b/htdocs/langs/el_GR/workflow.lang index bfad87b4b66..c925cb63ab0 100644 --- a/htdocs/langs/el_GR/workflow.lang +++ b/htdocs/langs/el_GR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Ταξινόμηση της προτ descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Ταξινόμηση της εντολής πωλήσεων συνδεδεμένης πηγής ως χρεώνεται όταν έχει επικυρωθεί το τιμολόγιο πελάτη (και εάν το ποσό του τιμολογίου είναι το ίδιο με το συνολικό ποσό της συνδεδεμένης παραγγελίας) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Ταξινόμηση της εντολής πωλήσεων συνδεδεμένης πηγής ως χρεώνεται όταν το τιμολόγιο πελάτη έχει οριστεί για πληρωμή (και αν το ποσό του τιμολογίου είναι το ίδιο με το συνολικό ποσό της συνδεδεμένης παραγγελίας) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Ταξινόμηση της εντολής πωλήσεων συνδεδεμένης πηγής ως αποστολής κατά την επικύρωση μιας αποστολής (και εάν η ποσότητα που αποστέλλεται από όλες τις αποστολές είναι η ίδια με τη σειρά για την ενημέρωση) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Ταξινόμηση της πρότασης προμηθευτή συνδεδεμένης πηγής ως τιμολογίου όταν επικυρωθεί το τιμολόγιο πωλητή (και εάν το ποσό του τιμολογίου είναι το ίδιο με το συνολικό ποσό της συνδεδεμένης πρότασης) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Ταξινόμηση της εντολής αγοράς συνδεδεμένης πηγής ως χρεώνεται όταν επικυρώνεται το τιμολόγιο πωλητή (και αν το ποσό του τιμολογίου είναι το ίδιο με το συνολικό ποσό της συνδεδεμένης παραγγελίας) diff --git a/htdocs/langs/en_AU/accountancy.lang b/htdocs/langs/en_AU/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/en_AU/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/en_AU/admin.lang b/htdocs/langs/en_AU/admin.lang index 0980facb414..3f5711e8904 100644 --- a/htdocs/langs/en_AU/admin.lang +++ b/htdocs/langs/en_AU/admin.lang @@ -2,7 +2,8 @@ OldVATRates=Old GST rate NewVATRates=New GST rate DictionaryVAT=GST Rates or Sales Tax Rates +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OptionVatMode=GST due LinkColor=Colour of links OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/en_AU/cashdesk.lang b/htdocs/langs/en_AU/cashdesk.lang index adbd9cf9e57..b18e67a9ff7 100644 --- a/htdocs/langs/en_AU/cashdesk.lang +++ b/htdocs/langs/en_AU/cashdesk.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - cashdesk NoVAT=No GST for this sale +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/en_AU/cron.lang b/htdocs/langs/en_AU/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/en_AU/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/en_AU/eventorganization.lang b/htdocs/langs/en_AU/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/en_AU/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/en_AU/mrp.lang b/htdocs/langs/en_AU/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/en_AU/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/en_CA/accountancy.lang b/htdocs/langs/en_CA/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/en_CA/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/en_CA/admin.lang b/htdocs/langs/en_CA/admin.lang index 62dd510c5e0..992d58672be 100644 --- a/htdocs/langs/en_CA/admin.lang +++ b/htdocs/langs/en_CA/admin.lang @@ -1,7 +1,8 @@ # Dolibarr language file - Source file is en_US - admin LocalTax1Management=PST Management CompanyZip=Postal code +NotificationsDescGlobal=* or by setting global email addresses in this setup page. LDAPFieldZip=Postal code FormatZip=Postal code OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/en_CA/cashdesk.lang b/htdocs/langs/en_CA/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/en_CA/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/en_CA/cron.lang b/htdocs/langs/en_CA/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/en_CA/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/en_CA/eventorganization.lang b/htdocs/langs/en_CA/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/en_CA/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/en_CA/mrp.lang b/htdocs/langs/en_CA/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/en_CA/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/en_GB/accountancy.lang b/htdocs/langs/en_GB/accountancy.lang index a003a87f629..b14b4ac8f60 100644 --- a/htdocs/langs/en_GB/accountancy.lang +++ b/htdocs/langs/en_GB/accountancy.lang @@ -52,7 +52,6 @@ XLineFailedToBeBinded=%s products/services were not linked to any finance accoun ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin sorting the page "Links to do" by the most recent elements ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin sorting the page "Links done" by the most recent elements ACCOUNTING_LENGTH_GACCOUNT=Length of the General Ledger accounts (If you set value to 6 here, the account '706' will appear as '706000' on screen) -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) ACCOUNTING_SELL_JOURNAL=Sales journal ACCOUNTING_MISCELLANEOUS_JOURNAL=General journal ACCOUNTING_ACCOUNT_SUSPENSE=Suspense account diff --git a/htdocs/langs/en_GB/admin.lang b/htdocs/langs/en_GB/admin.lang index 0ed13e41f0f..33f8a88b77d 100644 --- a/htdocs/langs/en_GB/admin.lang +++ b/htdocs/langs/en_GB/admin.lang @@ -42,8 +42,9 @@ FollowingSubstitutionKeysCanBeUsed=
    To learn how to create your .odt document Module50200Name=PayPal DictionaryAccountancyJournal=Finance journals CompanyZip=Postcode +NotificationsDescGlobal=* or by setting global email addresses in this setup page. LDAPFieldZip=Postcode GenbarcodeLocation=Barcode generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
    For example: /usr/local/bin/genbarcode FormatZip=Postcode OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/en_GB/cashdesk.lang b/htdocs/langs/en_GB/cashdesk.lang index 0188074370e..0db0d2d669e 100644 --- a/htdocs/langs/en_GB/cashdesk.lang +++ b/htdocs/langs/en_GB/cashdesk.lang @@ -6,3 +6,4 @@ NewSell=New sale RestartSelling=Go back to sales NoProductFound=No product found NoArticle=No product +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/en_GB/cron.lang b/htdocs/langs/en_GB/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/en_GB/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/en_GB/eventorganization.lang b/htdocs/langs/en_GB/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/en_GB/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/en_GB/mrp.lang b/htdocs/langs/en_GB/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/en_GB/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/en_GB/partnership.lang b/htdocs/langs/en_GB/partnership.lang index 82279c36553..00199eb0b46 100644 --- a/htdocs/langs/en_GB/partnership.lang +++ b/htdocs/langs/en_GB/partnership.lang @@ -1,2 +1,2 @@ # Dolibarr language file - Source file is en_US - partnership -PartnershipCanceled =Cancelled +PartnershipCanceled=Cancelled diff --git a/htdocs/langs/en_IN/accountancy.lang b/htdocs/langs/en_IN/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/en_IN/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/en_IN/admin.lang b/htdocs/langs/en_IN/admin.lang index 4b3c42b80b1..4354b1a3b6a 100644 --- a/htdocs/langs/en_IN/admin.lang +++ b/htdocs/langs/en_IN/admin.lang @@ -8,6 +8,7 @@ Permission25=Send quotations Permission26=Close quotations Permission27=Delete quotations Permission28=Export quotations +NotificationsDescGlobal=* or by setting global email addresses in this setup page. PropalSetup=Quotation module setup ProposalsNumberingModules=Quotation numbering models ProposalsPDFModules=Quotation documents models @@ -15,4 +16,4 @@ FreeLegalTextOnProposal=Free text on quotations WatermarkOnDraftProposal=Watermark on draft quotations (none if empty) MailToSendProposal=Customer quotations OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/en_IN/cashdesk.lang b/htdocs/langs/en_IN/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/en_IN/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/en_IN/cron.lang b/htdocs/langs/en_IN/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/en_IN/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/en_IN/eventorganization.lang b/htdocs/langs/en_IN/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/en_IN/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/en_IN/mrp.lang b/htdocs/langs/en_IN/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/en_IN/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/en_SG/accountancy.lang b/htdocs/langs/en_SG/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/en_SG/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/en_SG/admin.lang b/htdocs/langs/en_SG/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/en_SG/admin.lang +++ b/htdocs/langs/en_SG/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/en_SG/cashdesk.lang b/htdocs/langs/en_SG/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/en_SG/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/en_SG/cron.lang b/htdocs/langs/en_SG/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/en_SG/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/en_SG/eventorganization.lang b/htdocs/langs/en_SG/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/en_SG/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/en_SG/mrp.lang b/htdocs/langs/en_SG/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/en_SG/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 27be673dd9c..c20e0a339f6 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -37,8 +37,8 @@ OtherInfo=Other information DeleteCptCategory=Remove accounting account from group ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? JournalizationInLedgerStatus=Status of journalization -AlreadyInGeneralLedger=Already transferred in accounting journals and ledger -NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger +AlreadyInGeneralLedger=Already transferred to accounting journals and ledger +NotYetInGeneralLedger=Not yet transferred to accouting journals and ledger GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group DetailByAccount=Show detail by account AccountWithNonZeroValues=Accounts with non-zero values @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -297,7 +298,7 @@ NoNewRecordSaved=No more record to journalize ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account ChangeBinding=Change the binding Accounted=Accounted in ledger -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Not yet transferred to accounting ShowTutorial=Show Tutorial NotReconciled=Not reconciled WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view @@ -328,8 +329,8 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +NotifiedExportDate=Flag exported lines as exported (modification of the lines will not be possible) +NotifiedValidationDate=Validate the exported entries (modification or deletion of the lines will not be possible) ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export @@ -338,11 +339,11 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog -Modelcsv_agiris=Export for Agiris +Modelcsv_agiris=Export for Agiris Isacompta Modelcsv_LDCompta=Export for LD Compta (v9) (Test) Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) Modelcsv_openconcerto=Export for OpenConcerto (Test) @@ -350,9 +351,10 @@ Modelcsv_configurable=Export CSV Configurable Modelcsv_FEC=Export FEC Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland -Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta +Modelcsv_winfic=Export for Winfic - eWinfic - WinSis Compta Modelcsv_Gestinumv3=Export for Gestinum (v3) -Modelcsv_Gestinumv5Export for Gestinum (v5) +Modelcsv_Gestinumv5=Export for Gestinum (v5) +Modelcsv_charlemagne=Export for Aplim Charlemagne ChartofaccountsId=Chart of accounts Id ## Tools - Init accounting account on product / service diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index efe674e7ca8..58ec7dd6be0 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -74,7 +75,7 @@ Dictionary=Dictionaries ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record ErrorCodeCantContainZero=Code can't contain value 0 DisableJavascript=Disable JavaScript and Ajax functions -DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user +DisableJavascriptNote=Note: For test or debug purpose only. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.
    This may increase performance if you have a large number of third parties, but it is less convenient. @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -130,7 +133,6 @@ IdModule=Module ID IdPermissions=Permissions ID LanguageBrowserParameter=Parameter %s LocalisationDolibarrParameters=Localization parameters -ClientTZ=Client Time Zone (user) ClientHour=Client time (user) OSTZ=Server OS Time Zone PHPTZ=PHP server Time Zone @@ -158,7 +160,7 @@ Purge=Purge PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server. PurgeDeleteLogFile=Delete log files, including %s defined for Syslog module (no risk of losing data) PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. -PurgeDeleteTemporaryFilesShort=Delete log and temporary files +PurgeDeleteTemporaryFilesShort=Delete log and temporary files (no risk of losing data) PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: %s.
    This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files. PurgeRunNow=Purge now PurgeNothingToDelete=No directory or files to delete. @@ -208,6 +210,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -371,8 +374,8 @@ UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
    It must be the octal value (for example, 0666 means read and write for everyone).
    This parameter is useless on a Windows server. SeeWikiForAllTeam=Take a look at the Wiki page for a list of contributors and their organization UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) -DisableLinkToHelpCenter=Hide link "Need help or support" on login page -DisableLinkToHelp=Hide link to online help "%s" +DisableLinkToHelpCenter=Hide the link "Need help or support" on the login page +DisableLinkToHelp=Hide the link to the online help "%s" AddCRIfTooLong=There is no automatic text wrapping, text that is too long will not display on documents. Please add carriage returns in the text area if needed. ConfirmPurge=Are you sure you want to execute this purge?
    This will permanently delete all your data files with no way to restore them (ECM files, attached files...). MinLength=Minimum length @@ -494,7 +497,7 @@ WarningPHPMail=WARNING: The setup to send emails from the application is using t WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. -WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. +WarningPHPMailD=Also, it is therefore recommended to change the sending method of e-mails to the value "SMTP". If you really want to keep the default "PHP" method to send emails, just ignore this warning, or remove it by setting the MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP constant to 1 in Home - Setup - Other. WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. ClickToShowDescription=Click to show description @@ -513,6 +516,9 @@ Field=Field ProductDocumentTemplates=Document templates to generate product document FreeLegalTextOnExpenseReports=Free legal text on expense reports WatermarkOnDraftExpenseReports=Watermark on draft expense reports +ProjectIsRequiredOnExpenseReports=The project is mandatory for entering an expense report +PrefillExpenseReportDatesWithCurrentMonth=Pre-fill start and end dates of new expense report with start and end dates of the current month +ForceExpenseReportsLineAmountsIncludingTaxesOnly=Force the entry of expense report amounts always in amount with taxes AttachMainDocByDefault=Set this to 1 if you want to attach main document to email by default (if applicable) FilesAttachedToEmail=Attach file SendEmailsReminders=Send agenda reminders by emails @@ -602,7 +608,7 @@ Module400Desc=Management of projects, leads/opportunities and/or tasks. You can Module410Name=Webcalendar Module410Desc=Webcalendar integration Module500Name=Taxes & Special Expenses -Module500Desc=Management of other expenses (sale taxes, social or fiscal taxes, dividends, ...) +Module500Desc=Management of other expenses (sales taxes, social or fiscal taxes, dividends, ...) Module510Name=Salaries Module510Desc=Record and track employee payments Module520Name=Loans @@ -894,6 +900,11 @@ Permission1002=Create/modify warehouses Permission1003=Delete warehouses Permission1004=Read stock movements Permission1005=Create/modify stock movements +Permission1011=View inventories +Permission1012=Create new inventory +Permission1014=Validate inventory +Permission1015=Allow to change PMP value for a product +Permission1016=Delete inventory Permission1101=Read delivery receipts Permission1102=Create/modify delivery receipts Permission1104=Validate delivery receipts @@ -1031,7 +1042,7 @@ DictionaryFees=Expense report - Types of expense report lines DictionarySendingMethods=Shipping methods DictionaryStaff=Number of Employees DictionaryAvailability=Delivery delay -DictionaryOrderMethods=Ordering methods +DictionaryOrderMethods=Order methods DictionarySource=Origin of proposals/orders DictionaryAccountancyCategory=Personalized groups for reports DictionaryAccountancysystem=Models for chart of accounts @@ -1164,7 +1175,8 @@ DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Show the link "%s" +ShowBugTrackLinkDesc=Keep empty to not display this link, use value 'github' for the link to the Dolibarr project or define directly an url 'https://...' Alerts=Alerts DelaysOfToleranceBeforeWarning=Delay before displaying a warning alert for: DelaysOfToleranceDesc=Set the delay before an alert icon %s is shown onscreen for the late element. @@ -1189,6 +1201,9 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s Audit=Security events @@ -1211,7 +1226,7 @@ SystemAreaForAdminOnly=This area is available to administrator users only. Dolib CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. AccountantFileNumber=Accountant code -DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. +DisplayDesc=Parameters affecting the look and presentation of the application can be modified here. AvailableModules=Available app/modules ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). SessionTimeOut=Time out for session @@ -1260,10 +1275,10 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation -MAIN_DISABLE_METEO=Disable meteorological view +MAIN_DISABLE_METEO=Disable weather thumb MeteoStdMod=Standard mode MeteoStdModEnabled=Standard mode enabled MeteoPercentageMod=Percentage mode @@ -1334,6 +1349,7 @@ BrowserIsKO=You are using the %s web browser. This browser is known to be a bad PHPModuleLoaded=PHP component %s is loaded PreloadOPCode=Preloaded OPCode is used AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.
    Third Parties will appear with a name format of "CC12345 - SC45678 - The Big Company corp." instead of "The Big Company corp". +AddVatInList=Display Customer/Vendor VAT number. info list (select list or combobox). AddAdressInList=Display Customer/Vendor adress info list (select list or combobox)
    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". AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
    Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". AskForPreferredShippingMethod=Ask for preferred shipping method for Third Parties. @@ -1365,7 +1381,7 @@ AccountCodeManager=Options for automatic generation of customer/vendor accountin NotificationsDesc=Email notifications can be sent automatically for some Dolibarr events.
    Recipients of notifications can be defined: NotificationsDescUser=* per user, one user at a time. NotificationsDescContact=* per third-party contacts (customers or vendors), one contact at a time. -NotificationsDescGlobal=* or by setting global email addresses in this setup page. +NotificationsDescGlobal=* or by setting global email addresses in the setup page of the module. ModelModules=Document Templates DocumentModelOdt=Generate documents from OpenDocument templates (.ODT / .ODS files from LibreOffice, OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1414,7 +1430,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order ##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sales order by default if not defined on the order OrdersSetup=Sales Orders management setup OrdersNumberingModules=Orders numbering models OrdersModelModule=Order documents models @@ -1465,10 +1481,10 @@ LDAPSynchronizeMembersTypes=Organization of foundation's members types in LDAP LDAPPrimaryServer=Primary server LDAPSecondaryServer=Secondary server LDAPServerPort=Server port -LDAPServerPortExample=Default port: 389 +LDAPServerPortExample=Standard or StartTLS: 389, LDAPs: 636 LDAPServerProtocolVersion=Protocol version LDAPServerUseTLS=Use TLS -LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerUseTLSExample=Your LDAP server use StartTLS LDAPServerDn=Server DN LDAPAdminDn=Administrator DN LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory) @@ -1618,12 +1634,11 @@ ProductSetup=Products module setup ServiceSetup=Services module setup ProductServiceSetup=Products and Services modules setup NumberOfProductShowInSelect=Maximum number of products to show in combo select lists (0=no limit) -ViewProductDescInFormAbility=Display product descriptions in forms (otherwise shown in a tooltip popup) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms +ViewProductDescInFormAbility=Display product descriptions in lines of items (otherwise show description in a tooltip popup) OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents +DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. +DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents MergePropalProductCard=Activate in product/service Attached Files tab an option to merge product PDF document to proposal PDF azur if product/service is in the proposal ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. @@ -1698,8 +1713,10 @@ FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts ##### FCKeditor ##### AdvancedEditor=Advanced editor ActivateFCKeditor=Activate advanced editor for: -FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) -FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForNotePublic=WYSIWIG creation/edition of the field public notes of elements +FCKeditorForNotePrivate=WYSIWIG creation/edition of the field private notes of elements +FCKeditorForCompany=WYSIWIG creation/edition of the field description of elements (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of the field description of products/services FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) FCKeditorForUserSignature=WYSIWIG creation/edition of user signature @@ -1778,7 +1795,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1908,11 +1925,11 @@ UnicodeCurrency=Enter here between braces, list of byte number that represent th ColorFormat=The RGB color is in HEX format, eg: FF0000 PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) PositionIntoComboList=Position of line into combo lists -SellTaxRate=Sale tax rate +SellTaxRate=Sales tax rate RecuperableOnly=Yes for VAT "Not Perceived but Recoverable" dedicated for some state in France. Keep value to "No" in all other cases. UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card. OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100). -TemplateForElement=This template record is dedicated to which element +TemplateForElement=This mail template is related to what type of object? An email template is available only when using the "Send Email" button from the related object. TypeOfTemplate=Type of template TemplateIsVisibleByOwnerOnly=Template is visible to owner only VisibleEverywhere=Visible everywhere @@ -1987,7 +2004,14 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF -MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add column for picture on proposal lines +MAIN_DOCUMENTS_WITH_PICTURE_WIDTH=Width of the column if a picture is added on lines +MAIN_PDF_NO_SENDER_FRAME=Hide borders on sender address frame +MAIN_PDF_NO_RECIPENT_FRAME=Hide borders on recipent address frame +MAIN_PDF_HIDE_CUSTOMER_CODE=Hide customer code +MAIN_PDF_HIDE_SENDER_NAME=Hide sender/company name in address block +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups @@ -2088,7 +2112,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\s([^\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\s([^\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2105,6 +2129,7 @@ EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +PDF_USE_A=Gererate PDF documents with format PDF/A instead of defaut format PDF FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets @@ -2127,14 +2152,16 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded -ARestrictedPath=A restricted path +Recommended=Recommended +NotRecommended=Not recommended +ARestrictedPath=Some restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available @@ -2144,4 +2171,29 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file -APIsAreNotEnabled=APIs modules are not enabled \ No newline at end of file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation +PDF_SHOW_LINK_TO_ONLINE_PAYMENT=If some online payment modules are enabled (Paypal, Stripe, ...), add a link on the PDF to make the online payment +DashboardDisableGlobal=Disable globally all the thumbs of open objects +BoxstatsDisableGlobal=Disable totally box statistics +DashboardDisableBlocks=Thumbs of open objects (to process or late) on main dashboard +DashboardDisableBlockAgenda=Disable the thumb for agenda +DashboardDisableBlockProject=Disable the thumb for projects +DashboardDisableBlockCustomer=Disable the thumb for customers +DashboardDisableBlockSupplier=Disable the thumb for suppliers +DashboardDisableBlockContract=Disable the thumb for contracts +DashboardDisableBlockTicket=Disable the thumb for tickets +DashboardDisableBlockBank=Disable the thumb for banks +DashboardDisableBlockAdherent=Disable the thumb for memberships +DashboardDisableBlockExpenseReport=Disable the thumb for expense reports +DashboardDisableBlockHoliday=Disable the thumb for leaves +EnabledCondition=Condition to have field enabled (if not enabled, visibility will always be off) +IfYouUseASecondTaxYouMustSetYouUseTheMainTax=If you want to use a second tax, you must enable also the first sale tax +IfYouUseAThirdTaxYouMustSetYouUseTheMainTax=If you want to use a third tax, you must enable also the first sale tax +LanguageAndPresentation=Language and presentation +SkinAndColors=Skin and colors +IfYouUseASecondTaxYouMustSetYouUseTheMainTax=If you want to use a second tax, you must enable also the first sales tax +IfYouUseAThirdTaxYouMustSetYouUseTheMainTax=If you want to use a third tax, you must enable also the first sales tax +PDF_USE_1A=Generate PDF with PDF/A-1b format diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index bab409dd036..bc9c7dab537 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -64,6 +64,7 @@ ShipmentClassifyClosedInDolibarr=Shipment %s classified billed ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status ShipmentDeletedInDolibarr=Shipment %s deleted +ShipmentCanceledInDolibarr=Shipment %s canceled ReceptionValidatedInDolibarr=Reception %s validated OrderCreatedInDolibarr=Order %s created OrderValidatedInDolibarr=Order %s validated @@ -169,4 +170,5 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Popup Notification \ No newline at end of file +BrowserPush=Browser Popup Notification +ActiveByDefault=Enabled by default diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 0c660de8e22..1bd2a9e9356 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -234,16 +234,22 @@ AlreadyPaidBack=Already paid back AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) Abandoned=Abandoned RemainderToPay=Remaining unpaid +RemainderToPayMulticurrency=Remaining unpaid, original currency RemainderToTake=Remaining amount to take +RemainderToTakeMulticurrency=Remaining amount to take, original currency RemainderToPayBack=Remaining amount to refund +RemainderToPayBackMulticurrency=Remaining amount to refund, original currency Rest=Pending AmountExpected=Amount claimed ExcessReceived=Excess received +ExcessReceivedMulticurrency=Excess received, original currency ExcessPaid=Excess paid +ExcessPaidMulticurrency=Excess paid, original currency EscompteOffered=Discount offered (payment before term) EscompteOfferedShort=Discount SendBillRef=Submission of invoice %s SendReminderBillRef=Submission of invoice %s (reminder) +SendPaymentReceipt=Submission of payment receipt %s NoDraftBills=No draft invoices NoOtherDraftBills=No other draft invoices NoDraftInvoices=No draft invoices @@ -260,6 +266,7 @@ DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice NoOpenInvoice=No open invoice +NbOfOpenInvoices=Number of open invoices ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -570,7 +577,7 @@ ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask your administrator to enable and setup module %s. Note that both methods (manual and automatic) can be used together with no risk of duplication. DeleteRepeatableInvoice=Delete template invoice ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice? -CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order) +CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per selected object) BillCreated=%s invoice(s) generated BillXCreated=Invoice %s generated StatusOfGeneratedDocuments=Status of document generation @@ -590,4 +597,6 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% -SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s \ No newline at end of file +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s +NoPaymentAvailable=No payment available for %s +PaymentRegisteredAndInvoiceSetToPaid=Payment registered and invoice %s set to paid diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/en_US/cashdesk.lang b/htdocs/langs/en_US/cashdesk.lang index aba05d67fc8..22d5afed2fc 100644 --- a/htdocs/langs/en_US/cashdesk.lang +++ b/htdocs/langs/en_US/cashdesk.lang @@ -42,7 +42,7 @@ AddTable=Add table Place=Place TakeposConnectorNecesary='TakePOS Connector' required OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser SearchProduct=Search product Receipt=Receipt Header=Header @@ -127,4 +127,9 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display +SplitSale=Split sale +PrintWithoutDetailsButton=Add "Print without details" button +PrintWithoutDetailsLabelDefault=Line label by default on printing without details +PrintWithoutDetails=Print without details diff --git a/htdocs/langs/en_US/categories.lang b/htdocs/langs/en_US/categories.lang index 29e08f66541..cf0de898bdb 100644 --- a/htdocs/langs/en_US/categories.lang +++ b/htdocs/langs/en_US/categories.lang @@ -96,4 +96,5 @@ ChooseCategory=Choose category StocksCategoriesArea=Warehouse Categories ActionCommCategoriesArea=Event Categories WebsitePagesCategoriesArea=Page-Container Categories +KnowledgemanagementsCategoriesArea=KM article Categories UseOrOperatorForCategories=Use 'OR' operator for categories diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index b52ab6131be..7deee6a9d55 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -80,7 +80,7 @@ Web=Web Poste= Position DefaultLang=Default language VATIsUsed=Sales tax used -VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers +VATIsUsedWhenSelling=This defines if this third party includes a sales tax or not when it makes an invoice to its own customers VATIsNotUsed=Sales tax is not used CopyAddressFromSoc=Copy address from third-party details ThirdpartyNotCustomerNotSupplierSoNoRef=Third party neither customer nor vendor, no available referring objects diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 8329346c163..ace3e518003 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -188,25 +188,25 @@ LT1ReportByCustomers=Report tax 2 by third party LT2ReportByCustomers=Report tax 3 by third party LT1ReportByCustomersES=Report by third party RE LT2ReportByCustomersES=Report by third party IRPF -VATReport=Sale tax report -VATReportByPeriods=Sale tax report by period -VATReportByMonth=Sale tax report by month -VATReportByRates=Sale tax report by rates -VATReportByThirdParties=Sale tax report by third parties -VATReportByCustomers=Sale tax report by customer +VATReport=Sales tax report +VATReportByPeriods=Sales tax report by period +VATReportByMonth=Sales tax report by month +VATReportByRates=Sales tax report by rate +VATReportByThirdParties=Sales tax report by third party +VATReportByCustomers=Sales tax report by customer VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid -VATReportByQuartersInInputOutputMode=Report by Sale tax rate of the tax collected and paid +VATReportByQuartersInInputOutputMode=Report by Sales tax rate of the tax collected and paid VATReportShowByRateDetails=Show details of this rate LT1ReportByQuarters=Report tax 2 by rate LT2ReportByQuarters=Report tax 3 by rate LT1ReportByQuartersES=Report by RE rate LT2ReportByQuartersES=Report by IRPF rate -SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation -SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow -RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. -RulesVATInProducts=- For material assets, the report includes the VAT received or issued on the basis of the date of payment. -RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. -RulesVATDueProducts=- For material assets, the report includes the VAT invoices, based on the invoice date. +SeeVATReportInInputOutputMode=See report %sVAT collection%s for a standard calculation +SeeVATReportInDueDebtMode=See report %sVAT on debit%s for a calculation with an option on the invoicing +RulesVATInServices=- For services, the report includes the VAT of payments actually received or paid on the basis of the date of payment. +RulesVATInProducts=- For material assets, the report includes the VAT on the basis of the date of payment. +RulesVATDueServices=- For services, the report includes VAT of due invoices, paid or not, based on the invoice date. +RulesVATDueProducts=- For material assets, the report includes the VAT of due invoices, based on the invoice date. OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values PercentOfInvoice=%%/invoice @@ -286,9 +286,12 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports -InvoiceLate30Days = Invoices late > 30 days -InvoiceLate15Days = Invoices late > 15 days -InvoiceLateMinus15Days = Invoices late -InvoiceNotLate = To be collected < 15 days -InvoiceNotLate15Days = To be collected in 15 days -InvoiceNotLate30Days = To be collected in 30 days +InvoiceLate30Days = Invoices late (> 30 days) +InvoiceLate15Days = Invoices late (15 to 30 days) +InvoiceLateMinus15Days = Invoices late (< 15 days) +InvoiceNotLate = To be collected (< 15 days) +InvoiceNotLate15Days = To be collected (15 to 30 days) +InvoiceNotLate30Days = To be collected (> 30 days) +InvoiceToPay=To pay (< 15 days) +InvoiceToPay15Days=To pay (15 to 30 days) +InvoiceToPay30Days=To pay (> 30 days) \ No newline at end of file diff --git a/htdocs/langs/en_US/contracts.lang b/htdocs/langs/en_US/contracts.lang index 49a65fdb39d..937c5a7397b 100644 --- a/htdocs/langs/en_US/contracts.lang +++ b/htdocs/langs/en_US/contracts.lang @@ -36,7 +36,7 @@ CloseAContract=Close a contract ConfirmDeleteAContract=Are you sure you want to delete this contract and all its services? ConfirmValidateContract=Are you sure you want to validate this contract under name %s? ConfirmActivateAllOnContract=This will open all services (not yet active). Are you sure you want to open all services? -ConfirmCloseContract=This will close all services (active or not). Are you sure you want to close this contract? +ConfirmCloseContract=This will close all services (expired or not). Are you sure you want to close this contract? ConfirmCloseService=Are you sure you want to close this service with date %s? ValidateAContract=Validate a contract ActivateService=Activate service diff --git a/htdocs/langs/en_US/ecm.lang b/htdocs/langs/en_US/ecm.lang index bc18bed4a29..494a6c55164 100644 --- a/htdocs/langs/en_US/ecm.lang +++ b/htdocs/langs/en_US/ecm.lang @@ -45,3 +45,5 @@ GenerateImgWebp=Duplicate all images with another version with .webp format ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... ConfirmImgWebpCreation=Confirm all images duplication SucessConvertImgWebp=Images successfully duplicated +ECMDirName=Dir name +ECMParentDirectory=Parent directory diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index c4e8a1d7226..efe5e069b60 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -83,7 +83,7 @@ ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not s ErrorRefAlreadyExists=Ref used for creation already exists. ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD) ErrorRecordHasChildren=Failed to delete record since it has some child records. -ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s +ErrorRecordHasAtLeastOneChildOfType=Object %s has at least one child of type %s ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object. ErrorModuleRequireJavascript=Javascript must not be disabled to have this feature working. To enable/disable Javascript, go to menu Home->Setup->Display. ErrorPasswordsMustMatch=Both typed passwords must match each other @@ -264,6 +264,13 @@ ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. +ErrorActionCommPropertyUserowneridNotDefined=User's owner is required +ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary +CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. +ErrorIsNotADraft=%s is not a draft # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -297,7 +304,24 @@ WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail -ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +WarningPaypalPaymentNotCompatibleWithStrict=The value 'Strict' makes the online payment features not working correctly. Use 'Lax' instead. + +# Validate +RequireValidValue = Value not valid +RequireAtLeastXString = Requires at least %s character(s) +RequireXStringMax = Requires %s character(s) max +RequireAtLeastXDigits = Requires at least %s digit(s) +RequireXDigitsMax = Requires %s digit(s) max +RequireValidEmail = Email address is not valid +RequireMaxLength = Length must be less than %s chars +RequireMinLength = Length must be more than %s char(s) +RequireValidUrl = Require valid URL +RequireValidDate = Require a valid date +RequireANotEmptyValue = Is required +RequireValidDuration = Require a valid duration +RequireValidExistingElement = Require an existing value +RequireValidBool = Require a valid boolean +BadSetupOfField = Error bad setup of field +BadSetupOfFieldClassNotFoundForValidation = Error bad setup of field : Class not found for validation +BadSetupOfFieldFileNotFound = Error bad setup of field : File not found for inclusion +BadSetupOfFieldFetchNotCallable = Error bad setup of field : Fetch not callable on class diff --git a/htdocs/langs/en_US/eventorganization.lang b/htdocs/langs/en_US/eventorganization.lang index 335c257b224..88415022bde 100644 --- a/htdocs/langs/en_US/eventorganization.lang +++ b/htdocs/langs/en_US/eventorganization.lang @@ -19,18 +19,22 @@ # ModuleEventOrganizationName = Event Organization EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +EventOrganizationDescriptionLong= Manage the organization of an event (show, conferences, attendees or speakers, with public pages for suggestion, vote or registration) # # Menu # EventOrganizationMenuLeft = Organized events EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +PaymentEvent=Payment of event + # # Admin page # -EventOrganizationSetup = Event Organization setup -Settings = Settings +NewRegistration=Registration +EventOrganizationSetup=Event Organization setup +EventOrganization=Event organization +Settings=Settings EventOrganizationSetupPage = Event Organization setup page EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees @@ -38,8 +42,8 @@ EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties autom EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a registration to a booth has been paid. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a registration to an event has been paid. EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category @@ -49,11 +53,11 @@ EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in att # Object # EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation +ManageOrganizeEvent = Manage the organization of an event ConferenceOrBooth = Conference Or Booth ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription +AmountPaid = Amount paid +DateOfRegistration = Date of registration ConferenceOrBoothAttendee = Conference Or Booth Attendee # @@ -63,29 +67,31 @@ YourOrganizationEventConfRequestWasReceived = Your request for conference was re YourOrganizationEventBoothRequestWasReceived = Your request for booth was received EventOrganizationEmailAskConf = Request for conference EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event +EventOrganizationEmailBoothPayment = Payment of your booth +EventOrganizationEmailRegistrationPayment = Registration for an event EventOrganizationMassEmailAttendees = Communication to attendees EventOrganizationMassEmailSpeakers = Communication to speakers # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth +AllowUnknownPeopleSuggestConf=Allow people to suggest conferences +AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest a conference they want to do +AllowUnknownPeopleSuggestBooth=Allow people to apply for a booth +AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to apply for a booth PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration +PriceOfRegistrationHelp=Price to pay to register or participate in the event PriceOfBooth=Subscription price to stand a booth PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees +Attendees=Attendees +ListOfAttendeesOfEvent=List of attendees of the event project DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -99,22 +105,41 @@ EvntOrgCancelled = Cancelled # Public page # SuggestForm = Suggestion page -RegisterPage = Page for conferences or booth -EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project -EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project -EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +SuggestOrVoteForConfOrBooth = Page for suggestion or vote +EvntOrgRegistrationHelpMessage = Here, you can vote for a conference or suggest a new one for the event. You can also apply to have a booth during the event. +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference to animate during the event. +EvntOrgRegistrationBoothHelpMessage = Here, you can apply to have a booth during the event. ListOfSuggestedConferences = List of suggested conferences ListOfSuggestedBooths = List of suggested booths +ListOfConferencesOrBooths=List of conferences or booths of event project SuggestConference = Suggest a new conference SuggestBooth = Suggest a booth ViewAndVote = View and vote for suggested events -PublicAttendeeSubscriptionPage = Public link of registration to a conference +PublicAttendeeSubscriptionGlobalPage = Public link for registration to the event +PublicAttendeeSubscriptionPage = Public link for registration to this event only MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the event : %s EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Registration not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +NewSubscription=Registration +OrganizationEventConfRequestWasReceived=Your suggestion for a conference has been received +OrganizationEventBoothRequestWasReceived=Your request for a booth has been received +OrganizationEventPaymentOfBoothWasReceived=Your payment for your booth has been recorded +OrganizationEventPaymentOfRegistrationWasReceived=Your payment for your event registration has been recorded +OrganizationEventBulkMailToAttendees=This is a remind about your participation in the event as an attendee +OrganizationEventBulkMailToSpeakers=This is a reminder on your participation in the event as a speaker +OrganizationEventLinkToThirdParty=Link to third party (customer, supplier or partner) + +NewSuggestionOfBooth=Application for a booth +NewSuggestionOfConference=Application for a conference # # Vote page @@ -127,17 +152,15 @@ VoteOk = Your vote has been accepted. AlreadyVoted = You have already voted for this event. VoteError = An error has occurred during the vote, please try again. -# -# SubscriptionOk page -# -SubscriptionOk = Your subscription to this conference has been validated -# -# Subscription validation mail -# -ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference -# -# Payment page -# +SubscriptionOk = Your registration has been validated +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to an event Attendee = Attendee PaymentConferenceAttendee = Conference attendee payment PaymentBoothLocation = Booth location payment +DeleteConferenceOrBoothAttendee=Remove attendee +RegistrationAndPaymentWereAlreadyRecorder=A registration and a payment were already recorded for the email %s +EmailAttendee=Attendee email +EmailCompanyForInvoice=Company email (for invoice, if different of attendee email) +ErrorSeveralCompaniesWithEmailContactUs=Several companies with this email has been found so we can't validate automaticaly your registration. Please contact us at %s for a manual validation +ErrorSeveralCompaniesWithNameContactUs=Several companies with this name has been found so we can't validate automaticaly your registration. Please contact us at %s for a manual validation +NoPublicActionsAllowedForThisEvent=No public actions are open to public for this event \ No newline at end of file diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang index a0eb7161ef2..f2f2d2cf587 100644 --- a/htdocs/langs/en_US/exports.lang +++ b/htdocs/langs/en_US/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format @@ -95,8 +96,8 @@ DataComeFromFileFieldNb=Value to insert comes from field number %s in sou DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. DataIsInsertedInto=Data coming from source file will be inserted into the following field: -DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: -DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: +DataIDSourceIsInsertedInto=The id of the parent object, that was found using the data in the source file, will be inserted into the following field: +DataCodeIDSourceIsInsertedInto=The id of the parent line, that was found from code, will be inserted into the following field: SourceRequired=Data value is mandatory SourceExample=Example of possible data value ExampleAnyRefFoundIntoElement=Any ref found for element %s diff --git a/htdocs/langs/en_US/holiday.lang b/htdocs/langs/en_US/holiday.lang index 2393a02ee50..dfbd97cdbdc 100644 --- a/htdocs/langs/en_US/holiday.lang +++ b/htdocs/langs/en_US/holiday.lang @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day \ No newline at end of file diff --git a/htdocs/langs/en_US/hrm.lang b/htdocs/langs/en_US/hrm.lang index da098e10bdb..430124cecba 100644 --- a/htdocs/langs/en_US/hrm.lang +++ b/htdocs/langs/en_US/hrm.lang @@ -1,4 +1,6 @@ # Dolibarr language file - en_US - hrm + + # Admin HRM_EMAIL_EXTERNAL_SERVICE=Email to prevent HRM external service Establishments=Establishments @@ -17,3 +19,74 @@ Employees=Employees Employee=Employee NewEmployee=New employee ListOfEmployees=List of employees +HrmSetup = Hrm setup +HrmSetupPage = Hrm setup page +HRM_MAXRANK=Maximum rank for a skill +HRM_DEFAULT_SKILL_DESCRIPTION=Default description of ranks when skill is created +HrmAbout = About Hrm +traduction_note=Translate +deplacement=Shift +DateEval=Evaluation date +JobCard=Job card +Job=Job +Jobs=Jobs +NewSkill=New Skill +SkillType=Skill type +Skilldets=List of ranks for this skill +Skilldet=Skill level +rank=Rank +ErrNoSkillSelected=No skill selected +ErrSkillAlreadyAdded=This skill is already in the list +SkillHasNoLines=This skill has no lines +skill=Skill +Skills=Skills +SkillCard=Skill card +EmployeeSkillsUpdated=Employee skills have been updated (see "Skills" tab of employee card) +Eval=Evaluation +Evals=Evaluations +NewEval=New evaluation +ValidateEvaluation=Validate evaluation +ConfirmValidateEvaluation=Are you sure you want to validate this evaluation with reference %s? +EvaluationCard=Evaluation card +RequiredRank=Required rank for this job +EmployeeRank=Employee rank for this skill +Position=Position +Positions=Positions +PositionCard=Position card +EmployeesInThisPosition=Employees in this position +group1ToCompare=Usergroup to analyze +group2ToCompare=Second usergroup for comparison +OrJobToCompare=Compare to job skills requirements +difference=Difference +CompetenceAcquiredByOneOrMore=Competence acquired by one or more users but not requested by the second comparator +MaxlevelGreaterThan=Max level greater than the one requested +MaxLevelEqualTo=Max level equal to that demand +MaxLevelLowerThan=Max level lower than that demand +MaxlevelGreaterThanShort=Employee level greater than the one requested +MaxLevelEqualToShort=Employee level equals to that demand +MaxLevelLowerThanShort=Employee level lower than that demand +SkillNotAcquired=Skill not acquired by all users and requested by the second comparator +legend=Legend +TypeSkill=Skill type +AddSkill=Add skills to job +RequiredSkills=Required skills for this job +UserRank=User Rank +SkillList=Skill list +SaveRank=Save rank +knowHow=Know how +HowToBe=How to be +knowledge=Knowledge +AbandonmentComment=Abandonment comment +DateLastEval=Date last evaluation +NoEval=No evaluation done for this employee +HowManyUserWithThisMaxNote=Number of users with this rank +HighestRank=Highest rank +SkillComparison=Skill comparison +ReadSkillJobPosition=Read skills / jobs / positions +CreateUpdateSkillJobPosition=Create / update skills / jobs / positions +DeleteSkillJobPosition=Delete skills / jobs / positions +ReadEval=Read evaluations +CreateUpdateEval=Create / update evaluations +ValidateEval=Validate evaluations +DeleteEval=Delete evaluations +SeeComparisonMenu=Access skills comparison menu diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang index 51079fca278..ef5df43e546 100644 --- a/htdocs/langs/en_US/interventions.lang +++ b/htdocs/langs/en_US/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template -Reopen=Reopen ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/en_US/knowledgemanagement.lang b/htdocs/langs/en_US/knowledgemanagement.lang index 68f5cced76c..1f5e9d3905b 100644 --- a/htdocs/langs/en_US/knowledgemanagement.lang +++ b/htdocs/langs/en_US/knowledgemanagement.lang @@ -37,15 +37,7 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article @@ -53,3 +45,6 @@ ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) +SuggestedForTicketsInGroup=Suggested for tickets when group is \ No newline at end of file diff --git a/htdocs/langs/en_US/languages.lang b/htdocs/langs/en_US/languages.lang index 598eec1fdca..d486fef0f5c 100644 --- a/htdocs/langs/en_US/languages.lang +++ b/htdocs/langs/en_US/languages.lang @@ -2,8 +2,11 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) +Language_as_IN=Assamese Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -70,6 +73,7 @@ Language_it_IT=Italian Language_it_CH=Italian (Switzerland) Language_ja_JP=Japanese Language_ka_GE=Georgian +Language_kk_KZ=Kazakh Language_km_KH=Khmer Language_kn_IN=Kannada Language_ko_KR=Korean @@ -83,12 +87,14 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) +Language_tg_TJ=Tajik Language_tr_TR=Turkish Language_sl_SI=Slovenian Language_sv_SV=Swedish diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index 24c86cc885a..033f86b63aa 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) @@ -175,5 +175,5 @@ Answered=Answered IsNotAnAnswer=Is not answer (initial email) IsAnAnswer=Is an answer of an initial email RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s -DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing +DefaultBlacklistMailingStatus=Default value for field '%s' when creating a new contact DefaultStatusEmptyMandatory=Empty but mandatory diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 863b94af564..492a20bae77 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -804,6 +804,7 @@ LinkToSupplierInvoice=Link to vendor invoice LinkToContract=Link to contract LinkToIntervention=Link to intervention LinkToTicket=Link to ticket +LinkToMo=Link to Mo CreateDraft=Create draft SetToDraft=Back to draft ClickToEdit=Click to edit @@ -1137,3 +1138,24 @@ CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently +ConfirmMassLeaveApprovalQuestion=Are you sure you want to approve the %s selected record(s)? +ConfirmMassLeaveApproval=Mass leave approval confirmation +RecordAproved=Record approved +RecordsApproved=%s Record(s) approved +Properties=Properties +hasBeenValidated=%s has been validated +ClientTZ=Client Time Zone (user) +NotClosedYet=Not yet closed +ClearSignature=Signature reset \ No newline at end of file diff --git a/htdocs/langs/en_US/margins.lang b/htdocs/langs/en_US/margins.lang index ad5406409b4..a91b139ec7b 100644 --- a/htdocs/langs/en_US/margins.lang +++ b/htdocs/langs/en_US/margins.lang @@ -22,7 +22,7 @@ ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0%% on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100%% if no default value can be found). MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts UseDiscountAsProduct=As a product UseDiscountAsService=As a service diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang index 2c4409caa88..9605e7a8df7 100644 --- a/htdocs/langs/en_US/members.lang +++ b/htdocs/langs/en_US/members.lang @@ -7,7 +7,7 @@ Members=Members ShowMember=Show member card UserNotLinkedToMember=User not linked to a member ThirdpartyNotLinkedToMember=Third party not linked to a member -MembersTickets=Members Tickets +MembersTickets=Membership address sheet FundationMembers=Foundation members ListOfValidatedPublicMembers=List of validated public members ErrorThisMemberIsNotPublic=This member is not public @@ -19,8 +19,8 @@ MembersCards=Business cards for members MembersList=List of members MembersListToValid=List of draft members (to be validated) MembersListValid=List of valid members -MembersListUpToDate=List of valid members with up-to-date subscription -MembersListNotUpToDate=List of valid members with out-of-date subscription +MembersListUpToDate=List of valid members with up-to-date contribution +MembersListNotUpToDate=List of valid members with out-of-date contribution MembersListExcluded=List of excluded members MembersListResiliated=List of terminated members MembersListQualified=List of qualified members @@ -28,13 +28,13 @@ MenuMembersToValidate=Draft members MenuMembersValidated=Validated members MenuMembersExcluded=Excluded members MenuMembersResiliated=Terminated members -MembersWithSubscriptionToReceive=Members with subscription to receive -MembersWithSubscriptionToReceiveShort=Subscription to receive -DateSubscription=Subscription date -DateEndSubscription=Subscription end date -EndSubscription=Subscription Ends -SubscriptionId=Subscription id -WithoutSubscription=Without subscription +MembersWithSubscriptionToReceive=Members with contribution to receive +MembersWithSubscriptionToReceiveShort=Contributions to receive +DateSubscription=Date of membership +DateEndSubscription=End date of membership +EndSubscription=End of membership +SubscriptionId=Contribution ID +WithoutSubscription=Without contribution MemberId=Member id NewMember=New member MemberType=Member type @@ -43,9 +43,9 @@ MemberTypeLabel=Member type label MembersTypes=Members types MemberStatusDraft=Draft (needs to be validated) MemberStatusDraftShort=Draft -MemberStatusActive=Validated (waiting subscription) +MemberStatusActive=Validated (waiting contribution) MemberStatusActiveShort=Validated -MemberStatusActiveLate=Subscription expired +MemberStatusActiveLate=Contribution expired MemberStatusActiveLateShort=Expired MemberStatusPaid=Subscription up to date MemberStatusPaidShort=Up to date @@ -56,9 +56,9 @@ MemberStatusResiliatedShort=Terminated MembersStatusToValid=Draft members MembersStatusExcluded=Excluded members MembersStatusResiliated=Terminated members -MemberStatusNoSubscription=Validated (no subscription needed) +MemberStatusNoSubscription=Validated (no contribution required) MemberStatusNoSubscriptionShort=Validated -SubscriptionNotNeeded=No subscription needed +SubscriptionNotNeeded=No contribution required NewCotisation=New contribution PaymentSubscription=New contribution payment SubscriptionEndDate=Subscription's end date @@ -68,19 +68,19 @@ DeleteAMemberType=Delete a member type ConfirmDeleteMemberType=Are you sure you want to delete this member type? MemberTypeDeleted=Member type deleted MemberTypeCanNotBeDeleted=Member type can not be deleted -NewSubscription=New subscription +NewSubscription=New contribution NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. -Subscription=Subscription -Subscriptions=Subscriptions +Subscription=Contribution +Subscriptions=Contributions SubscriptionLate=Late -SubscriptionNotReceived=Subscription never received -ListOfSubscriptions=List of subscriptions +SubscriptionNotReceived=Contribution never received +ListOfSubscriptions=List of contributions SendCardByMail=Send card by email AddMember=Create member NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" NewMemberType=New member type WelcomeEMail=Welcome email -SubscriptionRequired=Subscription required +SubscriptionRequired=Contribution required DeleteType=Delete VoteAllowed=Vote allowed Physical=Individual @@ -88,47 +88,48 @@ Moral=Corporation MorAndPhy=Corporation and Individual Reenable=Re-Enable ExcludeMember=Exclude a member +Exclude=Exclude ConfirmExcludeMember=Are you sure you want to exclude this member ? ResiliateMember=Terminate a member ConfirmResiliateMember=Are you sure you want to terminate this member? DeleteMember=Delete a member -ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? +ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his contributions)? DeleteSubscription=Delete a subscription -ConfirmDeleteSubscription=Are you sure you want to delete this subscription? +ConfirmDeleteSubscription=Are you sure you want to delete this contribution? Filehtpasswd=htpasswd file ValidateMember=Validate a member ConfirmValidateMember=Are you sure you want to validate this member? FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. PublicMemberList=Public member list -BlankSubscriptionForm=Public self-subscription form +BlankSubscriptionForm=Public self-registration form BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. EnablePublicSubscriptionForm=Enable the public website with self-subscription form ForceMemberType=Force the member type -ExportDataset_member_1=Members and subscriptions +ExportDataset_member_1=Members and contributions ImportDataset_member_1=Members LastMembersModified=Latest %s modified members -LastSubscriptionsModified=Latest %s modified subscriptions +LastSubscriptionsModified=Latest %s modified contributions String=String Text=Text Int=Int DateAndTime=Date and time PublicMemberCard=Member public card -SubscriptionNotRecorded=Subscription not recorded -AddSubscription=Create subscription -ShowSubscription=Show subscription +SubscriptionNotRecorded=Contribution not recorded +AddSubscription=Create contribution +ShowSubscription=Show contribution # Label of email templates SendingAnEMailToMember=Sending information email to member SendingEmailOnAutoSubscription=Sending email on auto registration SendingEmailOnMemberValidation=Sending email on new member validation -SendingEmailOnNewSubscription=Sending email on new subscription -SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions +SendingEmailOnNewSubscription=Sending email on new contribution +SendingReminderForExpiredSubscription=Sending reminder for expired contributions SendingEmailOnCancelation=Sending email on cancelation SendingReminderActionComm=Sending reminder for agenda event # Topic of email templates YourMembershipRequestWasReceived=Your membership was received. YourMembershipWasValidated=Your membership was validated -YourSubscriptionWasRecorded=Your new subscription was recorded -SubscriptionReminderEmail=Subscription reminder +YourSubscriptionWasRecorded=Your new contribution was recorded +SubscriptionReminderEmail=contribution reminder YourMembershipWasCanceled=Your membership was canceled CardContent=Content of your member card # Text of email templates @@ -139,10 +140,10 @@ ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subsc ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

    DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest -DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member auto-registration DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation -DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording -DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new contribution recording +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when contribution is about to expire DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion DescADHERENT_MAIL_FROM=Sender Email for automatic emails @@ -155,10 +156,10 @@ DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards ShowTypeCard=Show type '%s' HTPasswordExport=htpassword file generation -NoThirdPartyAssociatedToMember=No third party associated to this member -MembersAndSubscriptions= Members and Subscriptions +NoThirdPartyAssociatedToMember=No third party associated with this member +MembersAndSubscriptions=Members and Contributions MoreActions=Complementary action on recording -MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription +MoreActionsOnSubscription=Complementary action, suggested by default when recording a contribution MoreActionBankDirect=Create a direct entry on bank account MoreActionBankViaInvoice=Create an invoice, and a payment on bank account MoreActionInvoiceOnly=Create an invoice with no payment @@ -167,9 +168,9 @@ LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with busin DocForAllMembersCards=Generate business cards for all members DocForOneMemberCards=Generate business cards for a particular member DocForLabels=Generate address sheets -SubscriptionPayment=Subscription payment -LastSubscriptionDate=Date of latest subscription payment -LastSubscriptionAmount=Amount of latest subscription +SubscriptionPayment=Contribution payment +LastSubscriptionDate=Date of latest contribution payment +LastSubscriptionAmount=Amount of latest contribution LastMemberType=Last Member type MembersStatisticsByCountries=Members statistics by country MembersStatisticsByState=Members statistics by state/province @@ -186,32 +187,34 @@ MembersByRegion=This screen show you statistics of members by region. MembersStatisticsDesc=Choose statistics you want to read... MenuMembersStats=Statistics LastMemberDate=Latest membership date -LatestSubscriptionDate=Latest subscription date +LatestSubscriptionDate=Latest contribution date MemberNature=Nature of the member MembersNature=Nature of the members Public=Information is public NewMemberbyWeb=New member added. Awaiting approval NewMemberForm=New member form -SubscriptionsStatistics=Subscriptions statistics -NbOfSubscriptions=Number of subscriptions -AmountOfSubscriptions=Amount collected from subscriptions +SubscriptionsStatistics=Contributions statistics +NbOfSubscriptions=Number of contributions +AmountOfSubscriptions=Amount collected from contributions TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) -DefaultAmount=Default amount of subscription -CanEditAmount=Visitor can choose/edit amount of its subscription +DefaultAmount=Default amount of contribution +CanEditAmount=Visitor can choose/edit amount of its contribution MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page ByProperties=By nature MembersStatisticsByProperties=Members statistics by nature -VATToUseForSubscriptions=VAT rate to use for subscriptions -NoVatOnSubscription=No VAT for subscriptions -ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s +VATToUseForSubscriptions=VAT rate to use for contributionss +NoVatOnSubscription=No VAT for contributions +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for contribution line into invoice: %s NameOrCompany=Name or company -SubscriptionRecorded=Subscription recorded +SubscriptionRecorded=Contribution recorded NoEmailSentToMember=No email sent to member EmailSentToMember=Email sent to member at %s -SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription -SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') +SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired contributions +SendReminderForExpiredSubscription=Send reminder by email to members when contribution is about to expire (parameter is number of days before end of membership to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed XExternalUserCreated=%s external user(s) created ForceMemberNature=Force member nature (Individual or Corporation) +CreateDolibarrLoginDesc=The creation of a user login for members allows them to connect to the application. Depending on the authorizations granted, they will be able, for example, to consult or modify their file themselves. +CreateDolibarrThirdPartyDesc=A thirdparty is the legal entity that will be used on the invoice if you decide to generate invoice for each contribution. You will be able to create it later during the process of recording the contribution. diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index 7ba539d3bd4..5d6b51d5fe4 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -143,4 +143,5 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. -ImportExportProfiles=Import and export profiles \ No newline at end of file +ImportExportProfiles=Import and export profiles +ValidateModBuilderDesc=Put 1 if this field need to be validated with $this->validateField() or 0 if validation required diff --git a/htdocs/langs/en_US/mrp.lang b/htdocs/langs/en_US/mrp.lang index 2414a92cefb..10e81316ee4 100644 --- a/htdocs/langs/en_US/mrp.lang +++ b/htdocs/langs/en_US/mrp.lang @@ -9,6 +9,7 @@ LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material BillOfMaterials=Bill of Materials +BillOfMaterialsLines=Bill of Materials lines BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders @@ -31,7 +32,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -55,6 +56,7 @@ WarehouseForProduction=Warehouse for production CreateMO=Create MO ToConsume=To consume ToProduce=To produce +ToObtain=To obtain QtyAlreadyConsumed=Qty already consumed QtyAlreadyProduced=Qty already produced QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) @@ -72,6 +74,7 @@ NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume +AddNewProduceLines=Add new line to produce ProductsToConsume=Products to consume ProductsToProduce=Products to produce UnitCost=Unit cost @@ -101,3 +104,4 @@ HumanMachine=Human / Machine WorkstationArea=Workstation area Machines=Machines THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +MOAndLines=Manufacturing Orders and lines diff --git a/htdocs/langs/en_US/opensurvey.lang b/htdocs/langs/en_US/opensurvey.lang index 7d26151fa16..9fafacaf8bf 100644 --- a/htdocs/langs/en_US/opensurvey.lang +++ b/htdocs/langs/en_US/opensurvey.lang @@ -48,6 +48,8 @@ AddEndHour=Add end hour votes=vote(s) NoCommentYet=No comments have been posted for this poll yet CanComment=Voters can comment in the poll +YourVoteIsPrivate=This poll is private, nobody can see your vote. +YourVoteIsPublic=This poll is public, anybody with the link can see your vote. CanSeeOthersVote=Voters can see other people's vote SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format:
    - empty,
    - "8h", "8H" or "8:00" to give a meeting's start hour,
    - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
    - "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. BackToCurrentMonth=Back to current month diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index 5dab5b99bf1..11220633d61 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -17,7 +17,7 @@ ToOrder=Make order MakeOrder=Make order SupplierOrder=Purchase order SuppliersOrders=Purchase orders -SaleOrderLines=Sale order lines +SaleOrderLines=Sales order lines PurchaseOrderLines=Puchase order lines SuppliersOrdersRunning=Current purchase orders CustomerOrder=Sales Order @@ -124,6 +124,8 @@ SupplierOrderReceivedInDolibarr=Purchase Order %s received %s SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted SupplierOrderClassifiedBilled=Purchase Order %s set billed OtherOrders=Other orders +SupplierOrderValidatedAndApproved=Supplier order is validated and approved : %s +SupplierOrderValidated=Supplier order is validated : %s ##### Types de contacts ##### TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order TypeContact_commande_internal_SHIPPING=Representative following-up shipping @@ -151,6 +153,7 @@ PDFEdisonDescription=A simple order model PDFProformaDescription=A complete Proforma invoice template CreateInvoiceForThisCustomer=Bill orders CreateInvoiceForThisSupplier=Bill orders +CreateInvoiceForThisReceptions=Bill receptions NoOrdersToInvoice=No orders billable CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. OrderCreation=Order creation diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index bb35099ab82..ea280968ef4 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -291,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/en_US/partnership.lang b/htdocs/langs/en_US/partnership.lang index 3a653e29967..f5b9ebcde24 100644 --- a/htdocs/langs/en_US/partnership.lang +++ b/htdocs/langs/en_US/partnership.lang @@ -77,6 +77,10 @@ YourPartnershipRefusedContent=We inform you that your partnership request has be YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. YourPartnershipCanceledContent=We inform you that your partnership has been canceled. +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Reason for declining or canceling + # # Status # diff --git a/htdocs/langs/en_US/printing.lang b/htdocs/langs/en_US/printing.lang index 16494583550..bd9094f213d 100644 --- a/htdocs/langs/en_US/printing.lang +++ b/htdocs/langs/en_US/printing.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - printing -Module64000Name=Direct Printing -Module64000Desc=Enable Direct Printing System -PrintingSetup=Setup of Direct Printing System -PrintingDesc=This module adds a Print button to various modules to allow documents to be printed directly to a printer without needing to open the document in another application. -MenuDirectPrinting=Direct Printing jobs -DirectPrint=Direct print +Module64000Name=One click Printing +Module64000Desc=Enable One click Printing System +PrintingSetup=Setup of One click Printing System +PrintingDesc=This module adds a Print button to various modules to allow documents to be printed directly to a printer with no need to open the document into another application. +MenuDirectPrinting=One click Printing jobs +DirectPrint=One click Print PrintingDriverDesc=Configuration variables for printing driver. ListDrivers=List of drivers PrintTestDesc=List of Printers. diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 450d0285819..71e44e8f281 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life @@ -39,7 +37,8 @@ ManufacturingDate=Manufacturing date DestructionDate=Destruction date FirstUseDate=First use date QCFrequency=Quality control frequency (in days) - +ShowAllLots=Show all lots +HideLots=Hide lots #Traceability - qc status OutOfOrder=Out of order InWorkingOrder=In working order diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index 9638dfe5a25..205a28980a8 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -75,6 +75,7 @@ SellingPriceTTC=Selling price (inc. tax) SellingMinPriceTTC=Minimum Selling price (inc. tax) CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. CostPriceUsage=This value could be used for margin calculation. +ManufacturingPrice=Manufacturing price SoldAmount=Sold amount PurchasedAmount=Purchased amount NewPrice=New price @@ -277,7 +278,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +297,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -314,7 +316,7 @@ LastUpdated=Latest update CorrectlyUpdated=Correctly updated PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is PropalMergePdfProductChooseFile=Select PDF files -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Including products/services with the tag DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer WarningSelectOneDocument=Please select at least one document DefaultUnitToShow=Unit @@ -340,7 +342,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,5 +398,13 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +AmountUsedToUpdateWAP=Amount to use to update the Weighted Average Price PMPValue=Weighted average price PMPValueShort=WAP +mandatoryperiod=Mandatory periods +mandatoryPeriodNeedTobeSet=Attention periods not entered and mandatory +mandatoryPeriodNeedTobeSetMsgValidate=A service requires a start and end period +mandatoryHelper=Message to the user on the need to enter a start date and an end date on a service when creating / validating an invoice, commercial proposal, sales order.
    This action is not blocking in the process of confirmation +DefaultBOM=Default BOM +DefaultBOMDesc=The default BOM recommended to use to manufacture this product. This field can be set only if nature of product is '%s'. +Rank=Rank diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index 2fda7e1df0e..0b713a2197b 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to create intervention. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,14 +268,19 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period OneLinePerTimeSpentLine=One line for each time spent declaration +AddDetailDateAndDuration=With date and duration into line description RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. -SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them \ No newline at end of file +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them +ProjectTasksWithoutTimeSpent=Project tasks without time spent +FormForNewLeadDesc=Thanks to fill the following form to contact us. You can also send us an email directly to %s. \ No newline at end of file diff --git a/htdocs/langs/en_US/propal.lang b/htdocs/langs/en_US/propal.lang index edbc08236d3..7141c1d38ae 100644 --- a/htdocs/langs/en_US/propal.lang +++ b/htdocs/langs/en_US/propal.lang @@ -89,4 +89,11 @@ IdProposal=Proposal ID IdProduct=Product ID PrParentLine=Proposal Parent Line LineBuyPriceHT=Buy Price Amount net of tax for line - +SignPropal=Sign proposal +RefusePropal=Refuse proposal +Sign=Sign +PropalAlreadyRefused=Proposal already refused +PropalAlreadySigned=Proposal already signed +PropalSigned=Proposal signed +PropalRefused=Proposal refused +ConfirmRefusePropal=Are you sure you want to refuse this commercial proposal? diff --git a/htdocs/langs/en_US/receptions.lang b/htdocs/langs/en_US/receptions.lang index 338602e722e..46b2d689609 100644 --- a/htdocs/langs/en_US/receptions.lang +++ b/htdocs/langs/en_US/receptions.lang @@ -36,7 +36,7 @@ StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated SendReceptionByEMail=Send reception by email SendReceptionRef=Submission of reception %s ActionsOnReception=Events on reception -ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card. +ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the Purchase Order record. ReceptionLine=Reception line ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received @@ -45,3 +45,4 @@ ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch ReceptionExist=A reception exists +ByingPrice=Bying price diff --git a/htdocs/langs/en_US/salaries.lang b/htdocs/langs/en_US/salaries.lang index 6b4fdc94163..d4dc53f42ed 100644 --- a/htdocs/langs/en_US/salaries.lang +++ b/htdocs/langs/en_US/salaries.lang @@ -17,8 +17,9 @@ TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? +FillFieldFirst=Fill employee field first diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index b94891d79c5..8f10b1e9404 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -53,7 +53,7 @@ SendShippingByEMail=Send shipment by email SendShippingRef=Submission of shipment %s ActionsOnShipping=Events on shipment LinkToTrackYourPackage=Link to track your package -ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. +ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the Sales Order record. ShipmentLine=Shipment line ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 977aab588a2..62d9ac6cc99 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -12,9 +12,9 @@ AddWarehouse=Create warehouse AddOne=Add one DefaultWarehouse=Default warehouse WarehouseTarget=Target warehouse -ValidateSending=Delete sending -CancelSending=Cancel sending -DeleteSending=Delete sending +ValidateSending=Confirm shipment +CancelSending=Cancel shipment +DeleteSending=Delete shipment Stock=Stock Stocks=Stocks MissingStocks=Missing stocks @@ -60,9 +60,9 @@ EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals -WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders +WarehouseAskWarehouseDuringOrder=Set a warehouse on Sales Orders UserDefaultWarehouse=Set a warehouse on Users MainDefaultWarehouse=Default warehouse MainDefaultWarehouseUser=Use a default warehouse for each user @@ -167,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -255,4 +255,11 @@ MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity ShowAllBatchByDefault=By default, show batch details on product "stock" tab CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration -FieldCannotBeNegative=Field "%s" cannot be negative \ No newline at end of file +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist +WarehouseId=Warehouse ID +WarehouseRef=Warehouse Ref \ No newline at end of file diff --git a/htdocs/langs/en_US/ticket.lang b/htdocs/langs/en_US/ticket.lang index 0f87504a0a5..0134b96b935 100644 --- a/htdocs/langs/en_US/ticket.lang +++ b/htdocs/langs/en_US/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -44,6 +45,8 @@ TicketSeverityShortNORMAL=Normal TicketSeverityShortHIGH=High TicketSeverityShortBLOCKING=Critical, Blocking +TicketCategoryShortOTHER=Other + ErrorBadEmailAddress=Field '%s' incorrect MenuTicketMyAssign=My tickets MenuTicketMyAssignNonClosed=My open tickets @@ -54,17 +57,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +164,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -178,15 +182,17 @@ MessageSuccessfullyAdded=Ticket added TicketMessageSuccessfullyAdded=Message successfully added TicketMessagesList=Message list NoMsgForThisTicket=No message for this ticket -Properties=Classification +TicketProperties=Classification LatestNewTickets=Latest %s newest tickets (not read) TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +217,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -313,4 +320,5 @@ BoxNoTicketLastXDays=No new tickets the last %s days BoxNumberOfTicketByDay=Number of new tickets by day BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today \ No newline at end of file +TicketClosedToday=Ticket closed today +KMFoundForTicketGroup=We found topics and FAQs that may answers your question, thanks to check them before submitting the ticket diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang index 1f53a5737ff..c9a6c792077 100644 --- a/htdocs/langs/en_US/trips.lang +++ b/htdocs/langs/en_US/trips.lang @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang index a14db3882b0..888c9f52161 100644 --- a/htdocs/langs/en_US/users.lang +++ b/htdocs/langs/en_US/users.lang @@ -62,8 +62,8 @@ ListOfUsersInGroup=List of users in this group ListOfGroupsForUser=List of groups for this user LinkToCompanyContact=Link to third party / contact LinkedToDolibarrMember=Link to member -LinkedToDolibarrUser=Link to Dolibarr user -LinkedToDolibarrThirdParty=Link to Dolibarr third party +LinkedToDolibarrUser=Link to user +LinkedToDolibarrThirdParty=Link to third party CreateDolibarrLogin=Create a user CreateDolibarrThirdParty=Create a third party LoginAccountDisableInDolibarr=Account disabled in Dolibarr. @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/en_US/website.lang b/htdocs/langs/en_US/website.lang index bd23bd39a5c..cd1964ff383 100644 --- a/htdocs/langs/en_US/website.lang +++ b/htdocs/langs/en_US/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang index 7d5b57f7da9..a3773a427a1 100644 --- a/htdocs/langs/en_US/withdrawals.lang +++ b/htdocs/langs/en_US/withdrawals.lang @@ -133,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index 15fd8ef07c2..fafbc6e8d8a 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/es_AR/accountancy.lang b/htdocs/langs/es_AR/accountancy.lang index 1c3e22fbde4..96c58aaf400 100644 --- a/htdocs/langs/es_AR/accountancy.lang +++ b/htdocs/langs/es_AR/accountancy.lang @@ -16,4 +16,3 @@ Journals=Diarios Contables JournalFinancial=Diarios Financieros AssignDedicatedAccountingAccount=Nueva cuenta para asignar InvoiceLabel=Etiqueta de la factura -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_AR/admin.lang b/htdocs/langs/es_AR/admin.lang index 831d264dea4..f9e77952b89 100644 --- a/htdocs/langs/es_AR/admin.lang +++ b/htdocs/langs/es_AR/admin.lang @@ -91,7 +91,6 @@ Destination=Destino IdModule=ID de módulo IdPermissions=ID de permisos LanguageBrowserParameter=Parámetro %s -ClientTZ=Zona horaria del cliente (usuario) ClientHour=Tiempo del cliente (usuario) OSTZ=Zona horaria del SO del servidor PHPTZ=Zona horaria del servidor PHP @@ -351,8 +350,6 @@ RunningUpdateProcessMayBeRequired=Parece que es necesario ejecutar el proceso de YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desde la línea de comandos después de iniciar sesión en un shell con el usuario %s o debe agregar la opción -W al final de la línea de comandos para proporcionar la contraseña de %s . YourPHPDoesNotHaveSSLSupport=Funciones SSL no disponibles en tu PHP DownloadMoreSkins=Más skins para descargar -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar número de IVA intracomunitario con direcciones MeteoStdMod=Modo estandar MeteoPercentageModEnabled=Modo porcentual habilitado MeteoUseMod=Haga clic para utilizar %s @@ -611,4 +608,4 @@ DisabledResourceLinkUser=Deshabilitar la función para vincular un recurso a los DisabledResourceLinkContact=Deshabilitar función para vincular un recurso a contactos ConfirmUnactivation=Confirmar el reinicio del módulo OnMobileOnly=Solo en pantalla pequeña (teléfono inteligente) -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_AR/agenda.lang b/htdocs/langs/es_AR/agenda.lang index 553ed87208d..d8c00caa96c 100644 --- a/htdocs/langs/es_AR/agenda.lang +++ b/htdocs/langs/es_AR/agenda.lang @@ -1,6 +1,32 @@ # Dolibarr language file - Source file is en_US - agenda +IdAgenda=ID del evento +ActionsOwnedBy=Propietario del evento Event=Evento +EventsNb=Cantidad de eventos +ListOfActions=Lista de eventos +EventOnFullDay=Evento de todo(s) el(los) día(s) +MenuToDoActions=Todos los eventos incompletos +MenuDoneActions=Todos los eventos terminados +ActionsAskedBy=Eventos informados por +ActionsDoneBy=Eventos terminados por +ViewCal=Vista del mes +ViewDay=Vista del día +ViewWeek=Vista de la semana +AutoActions=Completado automático +PropalClosedSignedInDolibarr=Propuesta %s firmada +PropalClosedRefusedInDolibarr=Propuesta %s rechazada +PropalValidatedInDolibarr=Propuesta %s validada +PropalClassifiedBilledInDolibarr=Propuesta %s clasificada como facturada +InvoiceValidatedInDolibarrFromPos=Factura %s validada desde POS +InvoiceBackToDraftInDolibarr=Factura %s vuelve al estado borrador +InvoicePaidInDolibarr=Factura %s marcada como pagada +MemberResiliatedInDolibarr=Miembro %s rescindido +MemberSubscriptionAddedInDolibarr=Suscripción %s añadida para el miembro %s +MemberSubscriptionModifiedInDolibarr=Suscripción %s modificada para el miembro %s +MemberSubscriptionDeletedInDolibarr=Se eliminó la suscripción %s para el miembro %s ShipmentValidatedInDolibarr=Envío %s validado +ShipmentClassifyClosedInDolibarr=Envío %s clasificado como facturado +ShipmentBackToDraftInDolibarr=Envío %s vuelve al estado borrador ShippingSentByEMail=Detalle de entrega %s enviado por correo ShippingValidated=Envío %s validado DateActionEnd=Fecha de fin diff --git a/htdocs/langs/es_AR/cashdesk.lang b/htdocs/langs/es_AR/cashdesk.lang index b57a3cfc4d9..c978d48fa19 100644 --- a/htdocs/langs/es_AR/cashdesk.lang +++ b/htdocs/langs/es_AR/cashdesk.lang @@ -2,4 +2,5 @@ CashDeskMenu=Punto de venta CashDesk=Punto de venta CashdeskShowServices=Servicios de Venta +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: History=Historial diff --git a/htdocs/langs/es_AR/cron.lang b/htdocs/langs/es_AR/cron.lang index e9709b188f5..97375644095 100644 --- a/htdocs/langs/es_AR/cron.lang +++ b/htdocs/langs/es_AR/cron.lang @@ -36,7 +36,6 @@ CronFieldMandatory=Los campos %s son obligatorios CronErrEndDateStartDt=La fecha de finalización no puede ser anterior a la fecha de inicio StatusAtInstall=Estado de la instalación del módulo CronStatusInactiveBtn=Deshabilitar -CronTaskInactive=Esta tarea está deshabilitada CronClassFile=Nombre de archivo y clase CronModuleHelp=Nombre del directorio del módulo Dolibarr (también funciona con el módulo externo Dolibarr).
    Por ejemplo, para llamar al objeto fetch del objeto Producto Dolibarr /htdocs/product/class/product.class.php, el valor para el módulo es
    product CronClassFileHelp=La ruta relativa y el nombre del archivo a cargar (la ruta es relativa al directorio raíz del servidor web).
    Por ejemplo para llamar al método de fetch del objeto Producto Dolibarr /htdocs/product/class/ product.class.php, el valor de nombre de archivo de clase es
    product/class/product.class.php diff --git a/htdocs/langs/es_AR/eventorganization.lang b/htdocs/langs/es_AR/eventorganization.lang index e6b8e89584c..52934f125f2 100644 --- a/htdocs/langs/es_AR/eventorganization.lang +++ b/htdocs/langs/es_AR/eventorganization.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page EvntOrgDone =Hecho diff --git a/htdocs/langs/es_AR/holiday.lang b/htdocs/langs/es_AR/holiday.lang index 34bd9f81036..7cf781c4561 100644 --- a/htdocs/langs/es_AR/holiday.lang +++ b/htdocs/langs/es_AR/holiday.lang @@ -11,7 +11,6 @@ ToReviewCP=Esperando aprobación ApprovedCP=Aprobado CancelCP=Cancelado RefuseCP=Rechazado -ValidatorCP=Aprobador ListeCP=Lista de licencias Leave=Solicitud de licencia LeaveId=ID de Licencia @@ -34,8 +33,6 @@ TitreRequestCP=Solicitud de licencia TypeOfLeaveId=ID de tipo de licencia TypeOfLeaveCode=Código de tipo de licencia TypeOfLeaveLabel=Etiqueta de tipo de licencia -NbUseDaysCP=Número de días consumidos de vacaciones -NbUseDaysCPShortInMonth=Días consumidos en el mes DateStartInMonth=Fecha de inicio en elmes DateEndInMonth=Fecha de finalización en el mes EditCP=Editar diff --git a/htdocs/langs/es_AR/hrm.lang b/htdocs/langs/es_AR/hrm.lang index 118782c9edc..cd3446fed36 100644 --- a/htdocs/langs/es_AR/hrm.lang +++ b/htdocs/langs/es_AR/hrm.lang @@ -1,5 +1,4 @@ # Dolibarr language file - Source file is en_US - hrm HRM_EMAIL_EXTERNAL_SERVICE=E-mail para evitar el servicio externo de gestión de RRHH ConfirmDeleteEstablishment=¿Está seguro que quiere eliminar este establecimiento? -DictionaryPublicHolidays=Gestión de RRHH - Feriados DictionaryDepartment=Gestión de RRHH - Departamentos diff --git a/htdocs/langs/es_AR/mails.lang b/htdocs/langs/es_AR/mails.lang index 78901f8e358..33f38e2aabe 100644 --- a/htdocs/langs/es_AR/mails.lang +++ b/htdocs/langs/es_AR/mails.lang @@ -118,6 +118,4 @@ AddAll=Agregar todos RemoveAll=Quitar todos AdvTgtAddContact=Agregar correos acorde al criterio AdvTgtOrCreateNewFilter=Nombre del filtro nuevo -NoContactWithCategoryFound=No se encontraron contactos/direcciones con la categoría buscada -NoContactLinkedToThirdpartieWithCategoryFound=No se encontraron contactos/direcciones con la categoría buscada ContactsWithThirdpartyFilter=Contactos con filtro de terceros diff --git a/htdocs/langs/es_AR/mrp.lang b/htdocs/langs/es_AR/mrp.lang index 5c5780af355..33ede374dad 100644 --- a/htdocs/langs/es_AR/mrp.lang +++ b/htdocs/langs/es_AR/mrp.lang @@ -8,12 +8,7 @@ MenuBOM=Lista de materiales LatestBOMModified=Ultimas %s Lista de materiales modificada LatestMOModified=Ultimas %s Ordenes de Fabricación modificadas Bom=Listas de materiales -BillOfMaterials=Lista de materiales BOMsSetup=Configuración de módulo de BOM ListOfBOMs=Lista de Listas de materiales - BOM ListOfManufacturingOrders=Lista de Ordenes de Fabricación -NewBOM=Nueva Lista de materiales -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? MenuMRP=Ordenes de Fabricación diff --git a/htdocs/langs/es_AR/orders.lang b/htdocs/langs/es_AR/orders.lang index dbee6561f56..09e82e7d3d2 100644 --- a/htdocs/langs/es_AR/orders.lang +++ b/htdocs/langs/es_AR/orders.lang @@ -5,6 +5,7 @@ Orders=Órdenes OrderDateShort=Fecha de la Orden OrderToProcess=Orden a procesar NewOrder=Nueva Orden +NewSupplierOrderShort=Nueva Orden NewOrderSupplier=Nueva Orden de Compra SupplierOrder=Orden de compra SuppliersOrders=Ordenes de compra diff --git a/htdocs/langs/es_AR/partnership.lang b/htdocs/langs/es_AR/partnership.lang index 3909de28d26..432f8d97316 100644 --- a/htdocs/langs/es_AR/partnership.lang +++ b/htdocs/langs/es_AR/partnership.lang @@ -1,2 +1,2 @@ # Dolibarr language file - Source file is en_US - partnership -PartnershipCanceled =Cancelada +PartnershipCanceled=Cancelada diff --git a/htdocs/langs/es_AR/projects.lang b/htdocs/langs/es_AR/projects.lang index a8ae01b6bf8..b0949405e0b 100644 --- a/htdocs/langs/es_AR/projects.lang +++ b/htdocs/langs/es_AR/projects.lang @@ -5,3 +5,4 @@ ProjectLabel=Etiqueta de Proyecto ProjectsArea=Area de Proyectos SharedProject=Todos OppStatusPROPO=Propuesta +NewInter=Nueva intervención diff --git a/htdocs/langs/es_AR/salaries.lang b/htdocs/langs/es_AR/salaries.lang index 4b2e3729400..249c6815c03 100644 --- a/htdocs/langs/es_AR/salaries.lang +++ b/htdocs/langs/es_AR/salaries.lang @@ -4,7 +4,6 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta contable definida en la ficha SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta contable por defecto para pago de sueldos Salary=Sueldo Salaries=Sueldos -NewSalaryPayment=Nuevo pago de sueldo AddSalaryPayment=Agregar pago de sueldo SalaryPayment=Pago de sueldo SalariesPayments=Pagos de sueldos @@ -14,7 +13,5 @@ TJM=Valor promedio por día CurrentSalary=Sueldo actual THMDescription=Este valor podría ser usado para calcular el costo de tiempo insumido en un proyecto ingresado por los usuarios si se usa el Módulo de Proyectos TJMDescription=Este valor es sólo informativo y no será utilizado para cálculo alguno -LastSalaries=Ultimos %s pagos de sueldos -AllSalaries=Todos los pagos de sueldo SalariesStatistics=Estadísticas de sueldos SalariesAndPayments=Sueldos y pagos diff --git a/htdocs/langs/es_AR/trips.lang b/htdocs/langs/es_AR/trips.lang index 864eb785dcb..1a341df69f0 100644 --- a/htdocs/langs/es_AR/trips.lang +++ b/htdocs/langs/es_AR/trips.lang @@ -30,7 +30,6 @@ ExpenseReportCanceledMessage=El informe de gastos %s se ha cancelado.
    - Usu ExpenseReportPaid=Se ha pagado un informe de gastos ExpenseReportPaidMessage=El informe de gastos %s ha sido abonado.
    - Usuario: %s
    - Pagado por: %s
    Haga click aquí para mostrar el informe de gastos: %s TripId=ID del informe de gastos -AnyOtherInThisListCanValidate=Persona a quién reportar para validación. TripNDF=Detalles del informe de gastos PDFStandardExpenseReports=Template estándar de informe de gastos para generar un documendo PDF ExpenseReportLine=Línea de informe de gastos @@ -68,7 +67,6 @@ MOTIF_REFUS=Motivo MOTIF_CANCEL=Motivo DATE_REFUS=Fecha de rechazo DATE_CANCEL=Fecha de cancelación -BROUILLONNER=Reabierto ExpenseReportRef=Informe de gastos de referencia ValidateAndSubmit=Validar y enviar para aprobación ValidatedWaitingApproval=Validado (a la espera de aprobación) @@ -88,7 +86,6 @@ ExpenseReportPayment=Pago de informe de gastos ExpenseReportsToApprove=Informes de gastos para aprobar ExpenseReportsToPay=Informes de gastos para pagar ConfirmCloneExpenseReport=¿Estás seguro que quieres clonar este informe de gastos? -ExpenseReportsIk=Indice de kilómetros Informe de gastos ExpenseReportsRules=Reglas de informe de gastos ExpenseReportIkDesc=Puedes modificar el cálculo del gasto de kilómetros por categoría y rango que fueron definidos previamente. d es la distancia en kilómetros ExpenseReportRulesDesc=Puedes crear o actualizar cualquier regla de cálculo. Esto será utilizado cuando el usuario quiera crear un nuevo informe de gastos @@ -113,6 +110,5 @@ nolimitbyEX_DAY=por día (sin límite) nolimitbyEX_MON=por mes (sin límite) nolimitbyEX_YEA=por año (sin límite) nolimitbyEX_EXP=por línea (sin límite) -CarCategory=Tipo de auto ExpenseRangeOffset=Monto de compensación: %s AttachTheNewLineToTheDocument=Adjuntar la línea a un documento cargado diff --git a/htdocs/langs/es_AR/users.lang b/htdocs/langs/es_AR/users.lang index a558a71df39..336ae22183a 100644 --- a/htdocs/langs/es_AR/users.lang +++ b/htdocs/langs/es_AR/users.lang @@ -63,8 +63,6 @@ LoginToCreate=Usuario a crear NameToCreate=Nombre del tercero para crear YourRole=Tus roles YourQuotaOfUsersIsReached=¡Se ha alcanzado su cuota de usuarios activos! -NbOfUsers=Cantidad de usuarios -NbOfPermissions=Cantidad de permisos DontDowngradeSuperAdmin=Solo un superadministrador puede degradar a un superadministrador UseTypeFieldToChange=Use el campo Tipo para cambiar OpenIDURL=URL de OpenID diff --git a/htdocs/langs/es_BO/accountancy.lang b/htdocs/langs/es_BO/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_BO/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_BO/admin.lang b/htdocs/langs/es_BO/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/es_BO/admin.lang +++ b/htdocs/langs/es_BO/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_BO/cashdesk.lang b/htdocs/langs/es_BO/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_BO/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_BO/cron.lang b/htdocs/langs/es_BO/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_BO/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_BO/eventorganization.lang b/htdocs/langs/es_BO/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_BO/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_BO/mrp.lang b/htdocs/langs/es_BO/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_BO/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_CL/accountancy.lang b/htdocs/langs/es_CL/accountancy.lang index 31b6e07ae1a..c032fe5d36a 100644 --- a/htdocs/langs/es_CL/accountancy.lang +++ b/htdocs/langs/es_CL/accountancy.lang @@ -101,7 +101,6 @@ ACCOUNTING_LENGTH_AACCOUNT=Longitud de las cuentas contables de terceros (si est ACCOUNTING_MANAGE_ZERO=Permite administrar un número diferente de ceros al final de una cuenta contable. Necesitado por algunos países (como Suiza). Si está desactivado (predeterminado), puede configurar los dos parámetros siguientes para solicitar a la aplicación que agregue ceros virtuales. BANK_DISABLE_DIRECT_INPUT=Deshabilitar la grabación directa de transacciones en cuenta bancaria ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Habilitar exportación de borrador en diario -ACCOUNTANCY_COMBO_FOR_AUX=Habilitar la lista combinada para la cuenta subsidiaria (puede ser lenta si tiene muchos terceros) ACCOUNTING_SELL_JOURNAL=Libro de ventas ACCOUNTING_MISCELLANEOUS_JOURNAL=Diario misceláneo ACCOUNTING_EXPENSEREPORT_JOURNAL=Diario del informe de gastos @@ -148,8 +147,6 @@ DescThirdPartyReport=Consulte aquí la lista de proveedores y clientes externos ListAccounts=Lista de cuentas contables UnknownAccountForThirdparty=Cuenta de terceros desconocida. Usaremos %s UnknownAccountForThirdpartyBlocking=Cuenta de terceros desconocida. Error de bloqueo -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Cuenta de terceros no definida o tercero desconocido. Usaremos %s -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Cuenta de terceros no definida o tercero desconocido. Error de bloqueo. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Cuenta de terceros desconocida y cuenta de espera no definida. Error de bloqueo PaymentsNotLinkedToProduct=Pago no vinculado a ningún producto / servicio TotalVente=Volumen de negocios total antes de impuestos @@ -195,7 +192,6 @@ Modelcsv_normal=Exportación clasica Modelcsv_CEGID=Exportación para Comptabilité Experto CEGID Modelcsv_COALA=Exportación para Salvia Coala Modelcsv_bob50=Exportación para Sage BOB 50 -Modelcsv_ciel=Exportación para Sage Ciel Compta o Compta Evolution Modelcsv_quadratus=Exportar para Quadratus QuadraCompta Modelcsv_ebp=Exportación para EBP Modelcsv_cogilog=Exportación para Cogilog diff --git a/htdocs/langs/es_CL/admin.lang b/htdocs/langs/es_CL/admin.lang index 76c12eb049f..138d8a4b455 100644 --- a/htdocs/langs/es_CL/admin.lang +++ b/htdocs/langs/es_CL/admin.lang @@ -95,7 +95,6 @@ Destination=Destino IdModule=ID del módulo IdPermissions=ID de permisos LanguageBrowserParameter=Parámetro %s -ClientTZ=Zona horaria del cliente (usuario) ClientHour=Hora del cliente (usuario) OSTZ=Zona horaria del servidor OS PHPTZ=Servidor PHP Zona horaria @@ -405,7 +404,6 @@ Module51Name=Envíos masivos Module51Desc=Gerencia de correo de papel en masa Module52Desc=Gestion de Stocks Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes). -Module55Desc=Gestión del código de barras Module58Desc=Integración de un sistema ClickToDial (Asterisk, ...) Module70Desc=Gestión de intervención Module75Name=Notas de gastos y viaje @@ -604,8 +602,6 @@ Permission402=Crear/modificar descuentos Permission403=Validar descuentos Permission404=Eliminar descuentos Permission430=Utilice la barra de depuración -Permission512=Crear / modificar pagos de salarios. -Permission514=Eliminar pagos de salarios. Permission520=Leer préstamos Permission522=Crear/modificar préstamos Permission524=Eliminar préstamos @@ -715,7 +711,6 @@ DictionaryAccountancyJournal=Libros contables DictionaryEMailTemplates=Plantillas de correo electrónico DictionaryMeasuringUnits=Unidades de medida DictionarySocialNetworks=Redes Sociales -DictionaryHolidayTypes=Tipos de licencia DictionaryOpportunityStatus=Estado de plomo para proyecto / lider BackToModuleList=Volver a la lista de módulos BackToDictionaryList=Volver a la lista de diccionarios @@ -850,8 +845,6 @@ ForcedToByAModule=Esta regla es forzada a %s por un módulo activado RunningUpdateProcessMayBeRequired=Parece que se requiere ejecutar el proceso de actualización (la versión del programa %s difiere de la versión de la base de datos %s) YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desde la línea de comando después de iniciar sesión en un shell con el usuario %s o debe agregar la opción -W al final de la línea de comandos para proporcionar una contraseña de %s. DownloadMoreSkins=Más pieles para descargar -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar número de IVA intracomunitario con direcciones MeteoStdMod=Modo estandar MeteoUseMod=Haz clic para usar %s TestLoginToAPI=Prueba de inicio de sesión a la API @@ -900,7 +893,6 @@ ConditionIsCurrently=La condición es actualmente %s YouUseBestDriver=Utiliza el controlador %s, que es el mejor controlador disponible en la actualidad. YouDoNotUseBestDriver=Utiliza el controlador %s, pero se recomienda el controlador %s. SearchOptim=Optimización de búsqueda -YouHaveXObjectAndSearchOptimOn=Tiene %s %s en la base de datos y la constante %s se establece en 1 en Home-Setup-Other. BrowserIsOK=Está utilizando el navegador web %s. Este navegador está bien para la seguridad y el rendimiento. BrowserIsKO=Está utilizando el navegador web %s. Se sabe que este navegador es una mala elección para la seguridad, el rendimiento y la confiabilidad. Recomendamos usar Firefox, Chrome, Opera o Safari. AddRefInList=Mostrar cliente / vendedor ref. Lista de información (lista de selección o cuadro combinado) y la mayoría de los hipervínculos.
    Aparecerán terceros con un formato de nombre de "CC12345 - SC45678 - The Big Company corp". en lugar de "The Big Company corp". @@ -1209,7 +1201,6 @@ AGENDA_REMINDER_BROWSER_SOUND=Habilitar notificación de sonido AGENDA_SHOW_LINKED_OBJECT=Mostrar objeto vinculado en la vista de agenda ClickToDialUrlDesc=Se llama a Url cuando se hace clic en el picto de un teléfono. En la URL, puede usar etiquetas
    __ PHONETO __ que se reemplazarán por el número de teléfono de la persona a quien llamar
    __ PHONEFROM __ que se reemplazará por el número de teléfono de la llamada persona (suya)
    __ LOGIN __ que se reemplazará con clicktodial de inicio de sesión (definido en la tarjeta de usuario)
    __ PASS __ que se reemplazará con clicktodial contraseña (definida en usuario tarjeta). ClickToDialUseTelLink=Use solo un enlace "tel:" en los números de teléfono -ClickToDialUseTelLinkDesc=Use este método si sus usuarios tienen un softphone o una interfaz de software instalada en la misma computadora que el navegador y se le llama cuando hace clic en un enlace de su navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe configurar esto en "No" y completar el siguiente campo. CashDeskSetup=Configuración del módulo de punto de venta CashDeskThirdPartyForSell=Tercero genérico predeterminado para usar en ventas CashDeskBankAccountForSell=Cuenta predeterminada para usar para recibir pagos en efectivo @@ -1404,7 +1395,7 @@ DebugBar=Barra de debug WarningValueHigherSlowsDramaticalyOutput=Advertencia, los valores más altos ralentizan dramáticamente la salida. ModuleActivated=El módulo %s está activado y ralentiza la interfaz EXPORTS_SHARE_MODELS=Los modelos de exportación se comparten con todos. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Punto final para %s: %s DeleteEmailCollector=Eliminar el colector de correo electrónico ConfirmDeleteEmailCollector=¿Estás seguro de que deseas eliminar este recopilador de correo electrónico? @@ -1414,3 +1405,4 @@ RESTRICT_ON_IP=Permitir el acceso a alguna IP de host solamente (comodín no per MakeAnonymousPing=Realice un Ping anónimo '+1' al servidor de la base Dolibarr (hecho 1 vez solo después de la instalación) para permitir que la base cuente la cantidad de instalación de Dolibarr. FeatureNotAvailableWithReceptionModule=Función no disponible cuando la recepción del módulo está habilitada EmailTemplate=Plantila para email +Recommended=Recomendado diff --git a/htdocs/langs/es_CL/agenda.lang b/htdocs/langs/es_CL/agenda.lang index 07801879db5..fb2478c8f40 100644 --- a/htdocs/langs/es_CL/agenda.lang +++ b/htdocs/langs/es_CL/agenda.lang @@ -7,7 +7,6 @@ ListOfActions=Lista de eventos EventOnFullDay=Evento todo el día (s) MenuToDoActions=Todos los eventos incompletos MenuDoneActions=Todos los eventos terminados -ListOfEvents=Lista de eventos (calendario interno) ActionsAskedBy=Eventos reportados por ActionsDoneBy=Eventos hechos por ViewCal=Vista del mes @@ -78,7 +77,6 @@ AgendaUrlOptionsNotAdmin=logina=!%s para restringir la salida a acciones AgendaUrlOptions4=logint =%s para restringir la salida a acciones asignadas al usuario %s (propietario y otros). AgendaUrlOptionsProject= project = __ PROJECT_ID __ para restringir el resultado a acciones vinculadas al proyecto __ PROJECT_ID __ . AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto para excluir eventos automáticos. -AgendaShowBirthdayEvents=Mostrar cumpleaños de contactos AgendaHideBirthdayEvents=Ocultar cumpleaños de contactos ExportDataset_event1=Lista de eventos de la agenda DefaultWorkingDays=Rango predeterminado de días laborables en la semana (Ejemplo: 1-5, 1-6) diff --git a/htdocs/langs/es_CL/cashdesk.lang b/htdocs/langs/es_CL/cashdesk.lang index a40760cf590..789d1dbd346 100644 --- a/htdocs/langs/es_CL/cashdesk.lang +++ b/htdocs/langs/es_CL/cashdesk.lang @@ -24,6 +24,7 @@ DolibarrReceiptPrinter=Impresora de recibos Dolibarr PointOfSale=Punto de venta CloseBill=Cerrar bill TakeposConnectorNecesary=Se requiere 'conector TakePOS' +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: Receipt=Recibo Header=Encabezamiento Footer=Pie de página diff --git a/htdocs/langs/es_CL/cron.lang b/htdocs/langs/es_CL/cron.lang index cd31d44645c..ef91b6b98d5 100644 --- a/htdocs/langs/es_CL/cron.lang +++ b/htdocs/langs/es_CL/cron.lang @@ -39,7 +39,6 @@ CronSaveSucess=Guardado exitosamente CronFieldMandatory=Fields %s es obligatorio CronErrEndDateStartDt=La fecha de finalización no puede ser anterior a la fecha de inicio CronStatusInactiveBtn=Inhabilitar -CronTaskInactive=Este trabajo está deshabilitado CronId=Carné de identidad CronModuleHelp=Nombre del directorio del módulo Dolibarr (también funciona con un módulo externo Dolibarr).
    Por ejemplo, para llamar al método fetch de Dolibarr Product object / htdocs / product /class/product.class.php, el valor para el módulo es
    producto CronClassFileHelp=La ruta relativa y el nombre del archivo a cargar (la ruta es relativa al directorio raíz del servidor web).
    Por ejemplo, para llamar al método fetch del objeto del producto Dolibarr htdocs / product / class / product.class.php , el valor para el nombre del archivo de clase es
    producto / clase / producto.clase.php diff --git a/htdocs/langs/es_CL/errors.lang b/htdocs/langs/es_CL/errors.lang index 1f86aa0569b..a558bcdd773 100644 --- a/htdocs/langs/es_CL/errors.lang +++ b/htdocs/langs/es_CL/errors.lang @@ -91,7 +91,6 @@ ErrorCantReadFile=Error al leer el archivo '%s' ErrorCantReadDir=Error al leer el directorio '%s' ErrorBadLoginPassword=Mal valor para el inicio de sesión o la contraseña ErrorLoginDisabled=Su cuenta ha sido deshabilitada -ErrorFailedToRunExternalCommand=Error al ejecutar el comando externo. Verifique que esté disponible y ejecutable por su servidor PHP. Si PHP Safe Mode está habilitado, verifique que el comando esté dentro de un directorio definido por el parámetro safe_mode_exec_dir . ErrorFailedToChangePassword=Error al cambiar la contraseña ErrorLoginDoesNotExists=Usuario con inicio de sesión %s no se pudo encontrar. ErrorLoginHasNoEmail=Este usuario no tiene una dirección de correo electrónico. Proceso abortado diff --git a/htdocs/langs/es_CL/eventorganization.lang b/htdocs/langs/es_CL/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_CL/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_CL/exports.lang b/htdocs/langs/es_CL/exports.lang index d30d032606e..a419b15a966 100644 --- a/htdocs/langs/es_CL/exports.lang +++ b/htdocs/langs/es_CL/exports.lang @@ -36,7 +36,6 @@ TypeOfLineServiceOrProduct=Tipo de línea (0 = producto, 1 = servicio) FileWithDataToImport=Archivo con datos para importar FileToImport=Archivo fuente para importar FileMustHaveOneOfFollowingFormat=El archivo a importar debe tener uno de los siguientes formatos. -DownloadEmptyExample=Descargar archivo de plantilla con información de contenido de campo (* son campos obligatorios) ChooseFormatOfFileToImport=Elija el formato de archivo que se usará como formato de archivo de importación haciendo clic en el icono %s para seleccionarlo ... SourceFileFormat=Formato de archivo fuente FieldsInSourceFile=Campos en el archivo fuente diff --git a/htdocs/langs/es_CL/holiday.lang b/htdocs/langs/es_CL/holiday.lang index 80542681b19..b488a22eefe 100644 --- a/htdocs/langs/es_CL/holiday.lang +++ b/htdocs/langs/es_CL/holiday.lang @@ -10,7 +10,6 @@ ToReviewCP=Esperando aprobacion ApprovedCP=Aprobado CancelCP=Cancelado RefuseCP=Rechazado -ValidatorCP=Aprobador ListeCP=Lista de licencia LeaveId=Dejar ID ReviewedByCP=Será aprobado por @@ -30,7 +29,6 @@ TitreRequestCP=Dejar petición TypeOfLeaveId=Tipo de ID de ausencia TypeOfLeaveCode=Tipo de código de licencia TypeOfLeaveLabel=Tipo de etiqueta de permiso -NbUseDaysCP=Número de días de vacaciones consumidos EditCP=Editar DeleteCP=Borrar ActionRefuseCP=Desperdicios @@ -39,7 +37,6 @@ TitleDeleteCP=Eliminar la solicitud de licencia ConfirmDeleteCP=Confirmar la eliminación de esta solicitud de permiso ErrorCantDeleteCP=Error. No tiene derecho a eliminar esta solicitud de permiso. CantCreateCP=Usted no tiene el derecho de hacer solicitudes de ausencia. -InvalidValidatorCP=Debe elegir un moderador para su solicitud de licencia. NoDateDebut=Debe seleccionar una fecha de inicio. NoDateFin=Debe seleccionar una fecha de finalización. ErrorDureeCP=Su solicitud de ausencia no contiene día laborable. @@ -62,13 +59,9 @@ MotifCP=Razón ErrorAddEventToUserCP=Se produjo un error al agregar la licencia excepcional. AddEventToUserOkCP=La adición de la licencia excepcional se ha completado. MenuLogCP=Ver registros de cambios -LogCP=Registro de actualizaciones de días de vacaciones disponibles -ActionByCP=Interpretado por PrevSoldeCP=Balance anterior NewSoldeCP=Nuevo equilibrio alreadyCPexist=Ya se ha hecho una solicitud de licencia en este período. -FirstDayOfHoliday=Primer día de vacaciones -LastDayOfHoliday=Último día de vacaciones BoxTitleLastLeaveRequests=Las últimas %s solicitudes de permiso modificadas HolidaysCancelation=Deje la cancelación de la solicitud EmployeeLastname=Apellido del empleado @@ -78,8 +71,6 @@ AllHolidays=Todas las solicitudes de licencia LEAVE_PAID=Vacaciones pagas LEAVE_OTHER=Otra licencia LEAVE_PAID_FR=Vacaciones pagas -LastUpdateCP=Última actualización automática de la asignación de vacaciones. -MonthOfLastMonthlyUpdate=Mes de la última actualización automática de la asignación de vacaciones UpdateConfCPOK=Actualizado correctamente. Module27130Name=Gestión de solicitudes de ausencia Module27130Desc=Gestión de solicitudes de ausencia @@ -97,8 +88,6 @@ HolidaysCanceledBody=Su solicitud de licencia para %s a %s ha sido cancelada. FollowedByACounter=1: este tipo de permiso debe ir seguido de un contador. El contador se incrementa de forma manual o automática y cuando se valida una solicitud de permiso, el contador disminuye.
    0: No seguido de un contador. NoLeaveWithCounterDefined=No hay tipos de permisos definidos que deban ser seguidos por un contador GoIntoDictionaryHolidayTypes=Ir a Inicio - Configuración - Diccionarios - Tipo de permiso para configurar los diferentes tipos de hojas. -HolidaySetup=Configuración del módulo Holiday -HolidaysNumberingModules=Deja peticiones numerando modelos. TemplatePDFHolidays=Plantilla para solicitudes de permisos PDF FreeLegalTextOnHolidays=Texto libre en PDF WatermarkOnDraftHolidayCards=Marcas de agua en las solicitudes de permiso de proyecto diff --git a/htdocs/langs/es_CL/hrm.lang b/htdocs/langs/es_CL/hrm.lang index 32f70e14685..9ad29250e7f 100644 --- a/htdocs/langs/es_CL/hrm.lang +++ b/htdocs/langs/es_CL/hrm.lang @@ -2,5 +2,4 @@ HRM_EMAIL_EXTERNAL_SERVICE=Correo electrónico para evitar el servicio externo de RRHH ConfirmDeleteEstablishment=¿Estás seguro de que deseas eliminar este establecimiento? OpenEtablishment=Establecimiento abierto -DictionaryPublicHolidays=Gestión de recursos humanos: días festivos DictionaryDepartment=RRHH - Lista de departamentos diff --git a/htdocs/langs/es_CL/mails.lang b/htdocs/langs/es_CL/mails.lang index 8b67f03a848..72c8e1861d0 100644 --- a/htdocs/langs/es_CL/mails.lang +++ b/htdocs/langs/es_CL/mails.lang @@ -116,5 +116,3 @@ AdvTgtContactHelp=Úselo solo si dirige el contacto a "Tipo de correo electróni ItemsCount=Artículos) AdvTgtAddContact=Añadir emails según criterio AdvTgtLoadFilter=Filtro de carga -NoContactWithCategoryFound=Sin contacto / dirección con una categoría encontrada -NoContactLinkedToThirdpartieWithCategoryFound=Sin contacto / dirección con una categoría encontrada diff --git a/htdocs/langs/es_CL/main.lang b/htdocs/langs/es_CL/main.lang index f67ea6b4eee..80f355253ea 100644 --- a/htdocs/langs/es_CL/main.lang +++ b/htdocs/langs/es_CL/main.lang @@ -269,6 +269,7 @@ ResultKo=Fracaso Reporting=Informes Drafts=Borrador Opened=Abierto +OpenAll=Abrir todo) ClosedAll=Cerrado (todos) Size=tamaño Topic=Tema diff --git a/htdocs/langs/es_CL/mrp.lang b/htdocs/langs/es_CL/mrp.lang index f43c1d88ba9..8bce2ae683d 100644 --- a/htdocs/langs/es_CL/mrp.lang +++ b/htdocs/langs/es_CL/mrp.lang @@ -6,10 +6,8 @@ MenuBOM=Facturas de material LatestBOMModified=Últimas %s Cuentas de materiales modificadas LatestMOModified=Últimas %s Ordenes de Fabricación modificadas Bom=Factura de Materiales -BillOfMaterials=Lista de materiales ListOfBOMs=Lista de listas de materiales - BOM ListOfManufacturingOrders=Lista de pedidos de fabricación -ProductBOMHelp=Producto a crear con este BOM.
    Nota: Productos con la propiedad 'Naturaleza del producto' = 'Materia Prima' No son visibles en esta lista. BOMsNumberingModules=Plantillas de numeración de listas de materiales BOMsModelModule=Lista de Materiales-BOM plantillas de documentos MOsNumberingModules=Plantilla de numeración MO @@ -18,17 +16,13 @@ FreeLegalTextOnBOMs=Texto libre en el documento de BOM WatermarkOnDraftBOMs=Marca de agua en el borrador de la lista de materiales FreeLegalTextOnMOs=Texto Libre en el documento de MO WatermarkOnDraftMOs=Marca de agua de borrador MO -ConfirmCloneBillOfMaterials=¿Estas seguro de que deseas clonar la Factura de materiales %s ? ConfirmCloneMo=¿Estas seguro de que deseas clonar la Orden de Fabricación (MO) %s ? DeleteBillOfMaterials=Eliminar lista de materiales DeleteMo=Borrar Orden de Fabricación-MO -ConfirmDeleteBillOfMaterials=¿Estás seguro de que deseas eliminar esta lista de materiales? -ConfirmDeleteMo=¿Está seguro de que desea eliminar esta lista de materiales? QtyToProduce=Cantidad para producir DateStartPlannedMo=Fecha de inicio prevista DateEndPlannedMo=Fecha de finalización prevista KeepEmptyForAsap=Vacío significa 'Tan pronto como sea posible' -EstimatedDurationDesc=Duración estimada para fabricar este producto utilizando esta lista de materiales-BOM ConfirmValidateBom=¿Está seguro de que desea validar la lista de materiales con la referencia %s? (podrá usarlo para crear nuevos pedidos de fabricación) ConfirmCloseBom=¿Está seguro de que desea cancelar esta lista de materiales (ya no podrá usarla para crear nuevas órdenes de fabricación)? ConfirmReopenBom=¿Está seguro de que desea volver a abrir esta lista de materiales (podrá usarla para crear nuevos pedidos de fabricación) @@ -37,3 +31,4 @@ QuantityFrozen=Cantidad congelada BOMLine=Línea de BOM WarehouseForProduction=Almacén de producción CreateMO=Crear Orden de Fabricación +DeleteWorkstation=Borrar diff --git a/htdocs/langs/es_CL/orders.lang b/htdocs/langs/es_CL/orders.lang index d51b03fd8f4..855b4c6cd4d 100644 --- a/htdocs/langs/es_CL/orders.lang +++ b/htdocs/langs/es_CL/orders.lang @@ -9,6 +9,7 @@ OrderLine=Fila para ordenar OrderDateShort=Fecha de orden OrderToProcess=Orden para procesar NewOrder=Nueva orden +NewSupplierOrderShort=Nueva orden NewOrderSupplier=Nueva Orden de Compra ToOrder=Hacer orden MakeOrder=Hacer orden diff --git a/htdocs/langs/es_CL/partnership.lang b/htdocs/langs/es_CL/partnership.lang index 56902c9ba1c..5a0ee294473 100644 --- a/htdocs/langs/es_CL/partnership.lang +++ b/htdocs/langs/es_CL/partnership.lang @@ -1,4 +1,4 @@ # Dolibarr language file - Source file is en_US - partnership DatePartnershipStart=Fecha inicial DatePartnershipEnd=Fecha final -PartnershipCanceled =Cancelado +PartnershipCanceled=Cancelado diff --git a/htdocs/langs/es_CL/products.lang b/htdocs/langs/es_CL/products.lang index 7795586ce04..5b07f63f3a5 100644 --- a/htdocs/langs/es_CL/products.lang +++ b/htdocs/langs/es_CL/products.lang @@ -127,7 +127,6 @@ PriceByCustomer=Diferentes precios para cada cliente PriceCatalogue=Un único precio de venta por producto / servicio PricingRule=Reglas para los precios de venta. AddCustomerPrice=Agregar precio por cliente -ForceUpdateChildPriceSoc=Establezca el mismo precio en las subsidiarias de los clientes PriceByCustomerLog=Registro de precios anteriores de los clientes MinimumPriceLimit=El precio mínimo no puede ser inferior a %s PriceExpressionSelected=Expresión de precio seleccionado @@ -167,7 +166,6 @@ SurfaceUnits=Unidad de superficie SizeUnits=Unidad de tamaño ConfirmDeleteProductBuyPrice=¿Estás seguro de que deseas eliminar este precio de compra? SubProduct=Sub producto -UseProductFournDesc=Agregue una función para definir las descripciones de los productos definidos por los proveedores además de las descripciones para los clientes. ProductSupplierDescription=Descripción del vendedor para el producto. ProductAttributeName=Atributo de variante %s ProductAttributeDeleteDialog=¿Estás seguro de que deseas eliminar este atributo? Todos los valores serán eliminados diff --git a/htdocs/langs/es_CL/projects.lang b/htdocs/langs/es_CL/projects.lang index d456e3c3ba0..d24822b69ea 100644 --- a/htdocs/langs/es_CL/projects.lang +++ b/htdocs/langs/es_CL/projects.lang @@ -155,6 +155,7 @@ RecordsClosed=%s proyecto (s) cerrado SendProjectRef=Proyecto de información %s ModuleSalaryToDefineHourlyRateMustBeEnabled=El módulo 'Salarios' debe estar habilitado para definir la tarifa por hora de los empleados para que el tiempo empleado se valore NewTaskRefSuggested=Referencia de tarea ya utilizada, se requiere una nueva referencia de tarea +TimeSpentForIntervention=Tiempo dedicado TimeSpentForInvoice=Tiempo dedicado InvoiceGeneratedFromTimeSpent=La factura %s se ha generado desde el tiempo invertido en el proyecto UsageBillTimeShort=Uso: Bill time diff --git a/htdocs/langs/es_CL/salaries.lang b/htdocs/langs/es_CL/salaries.lang index 074abf0685a..e0d10e61542 100644 --- a/htdocs/langs/es_CL/salaries.lang +++ b/htdocs/langs/es_CL/salaries.lang @@ -2,7 +2,6 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Cuenta de contabilidad utilizada para terceros usuarios SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta de contabilidad dedicada definida en la tarjeta de usuario se usará solo para la contabilidad de Libro mayor auxiliar. Este se usará para el Libro mayor y como valor predeterminado de la contabilidad del Libro mayor auxiliar si no se define una cuenta de usuario dedicada en el usuario. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta de contabilidad por defecto para pagos de salarios -NewSalaryPayment=Nuevo pago de salario SalariesPayments=Sueldos pagos ShowSalaryPayment=Mostrar pago de sueldo THM=Promedio de tarifa por hora diff --git a/htdocs/langs/es_CL/stocks.lang b/htdocs/langs/es_CL/stocks.lang index 96a71f2b60e..b2a1784fe85 100644 --- a/htdocs/langs/es_CL/stocks.lang +++ b/htdocs/langs/es_CL/stocks.lang @@ -30,7 +30,6 @@ StockMovements=Movimientos de acciones NumberOfUnit=Número de unidades StockTooLow=Stock demasiado bajo StockLowerThanLimit=Stock inferior al límite de alerta (%s) -PMPValue=Precio promedio ponderado EnhancedValueOfWarehouses=Valor de las bodegas UserWarehouseAutoCreate=Crear un almacén de usuario automáticamente al crear un usuario AllowAddLimitStockByWarehouse=Administre también el valor del stock mínimo y deseado por emparejamiento (almacén de productos) además del valor del stock mínimo y deseado por producto @@ -104,7 +103,6 @@ MovementCorrectStock=Corrección de Stock para el producto %s InventoryCodeShort=Inv./Mov. código NoPendingReceptionOnSupplierOrder=No hay recepción pendiente debido a la orden de compra abierta. ThisSerialAlreadyExistWithDifferentDate=Este número de lote/serie (%s) ya existe pero con fecha de consumo o de vencimiento diferente (se encontró %s pero ingresó %s). -OpenInternal=Abierto solo para acciones internas UseDispatchStatus=Utilice un estado de envío (aprobar / rechazar) para las líneas de productos en la recepción de la orden de compra OptionMULTIPRICESIsOn=La opción "varios precios por segmento" está activada. Significa que un producto tiene varios precios de venta por lo que el valor de venta no se puede calcular ProductStockWarehouseCreated=Límite de stock para alerta y stock óptimo deseado correctamente creado diff --git a/htdocs/langs/es_CL/ticket.lang b/htdocs/langs/es_CL/ticket.lang index e3e937e670e..ac8f18b0d42 100644 --- a/htdocs/langs/es_CL/ticket.lang +++ b/htdocs/langs/es_CL/ticket.lang @@ -4,7 +4,6 @@ Permission56005=Ver ticket de todos los terceros (no es efectivo para usuarios e TicketDictType=Ticket - Tipos TicketDictCategory=Ticket - Grupos TicketDictSeverity=Ticket - Severidades -TicketTypeShortISSUE=Incidencia, error o problema TicketTypeShortREQUEST=Cambio o requerimiento de mejora ErrorBadEmailAddress=Campo '%s' incorrecto MenuTicketMyAssign=Mis ticket @@ -12,10 +11,8 @@ MenuTicketMyAssignNonClosed=Mis Ticket abiertos MenuListNonClosed=Ticket abiertos TypeContact_ticket_internal_CONTRIBUTOR=Colaborador TypeContact_ticket_external_SUPPORTCLI=Contacto con el cliente / seguimiento de incidentes -OriginEmail=Fuente de correo electrónico Notify_TICKET_SENTBYMAIL=Enviar mensaje de Ticket por correo electrónico Read=Leer -NeedMoreInformation=Esperando informacion Waiting=Esperando Type=Tipo MailToSendTicketMessage=Para enviar un correo electrónico desde un mensaje de ticket @@ -74,8 +71,6 @@ TicketMessagesList=Lista de mensajes NoMsgForThisTicket=No hay mensaje para este ticket LatestNewTickets=Los últimos tickets %s (no leídos) ShowTicket=Ver Ticket -CloseTicket=Ticket cerrado -CloseATicket=Cerrar un Ticket ConfirmCloseAticket=Confirmar el cierre del Ticket ConfirmDeleteTicket=Confirma la eliminación del ticket TicketDurationAutoInfos=Duración calculada automáticamente a partir de intervenciones relacionadas diff --git a/htdocs/langs/es_CL/trips.lang b/htdocs/langs/es_CL/trips.lang index 19aba371335..e2fde3b946f 100644 --- a/htdocs/langs/es_CL/trips.lang +++ b/htdocs/langs/es_CL/trips.lang @@ -30,7 +30,6 @@ ExpenseReportCanceledMessage=Se canceló el informe de gastos %s.
    - Usuario ExpenseReportPaid=Se pagó un informe de gastos ExpenseReportPaidMessage=Se pagó el informe de gastos %s.
    - Usuario: %s
    - Pagado por: %s
    Haga clic aquí para ver el informe de gastos: %s TripId=Informe de gastos Id -AnyOtherInThisListCanValidate=Persona para informar para validación. TripSociete=Empresa de información TripNDF=Informe de gastos de información PDFStandardExpenseReports=Plantilla estándar para generar un documento PDF para el informe de gastos @@ -78,7 +77,6 @@ ExpenseReportPayment=Pago del informe de gastos ExpenseReportsToApprove=Informes de gastos para aprobar ExpenseReportsToPay=Informes de gastos para pagar ConfirmCloneExpenseReport=¿Seguro que quieres clonar este informe de gastos? -ExpenseReportsIk=Informe de gastos índice milles ExpenseReportsRules=Reglas de informe de gastos ExpenseReportIkDesc=Puede modificar el cálculo de los gastos por kilómetro por categoría y rango a los que están previamente definidos. d es la distancia en kilómetros ExpenseReportRulesDesc=Puede crear o actualizar cualquier regla de cálculo. Esta parte se usará cuando el usuario cree un nuevo informe de gastos @@ -96,6 +94,5 @@ OnExpense=Línea de gasto ExpenseReportRuleSave=Regla de informe de gastos guardada ExpenseReportConstraintViolationError=Identificación de infracción de restricción [%s]: %s es superior a %s %s ExpenseReportConstraintViolationWarning=Identificación de infracción de restricción [%s]: %s es superior a %s %s -CarCategory=Categoría de automóvil ExpenseRangeOffset=Cantidad de compensación: %s AttachTheNewLineToTheDocument=Adjuntar la línea a un documento cargado diff --git a/htdocs/langs/es_CL/users.lang b/htdocs/langs/es_CL/users.lang index fcdfa4649ab..49f2284ef2f 100644 --- a/htdocs/langs/es_CL/users.lang +++ b/htdocs/langs/es_CL/users.lang @@ -68,8 +68,6 @@ LoginToCreate=Inicia sesión para crear NameToCreate=Nombre de tercero a crear YourRole=Tus roles YourQuotaOfUsersIsReached=¡Su cuota de usuarios activos se alcanza! -NbOfUsers=No. de usuarios -NbOfPermissions=No. de permisos DontDowngradeSuperAdmin=Solo una superadmina puede degradar una superadmina HierarchicView=Vista Jerárquica UseTypeFieldToChange=Use el campo Tipo para cambiar diff --git a/htdocs/langs/es_CL/website.lang b/htdocs/langs/es_CL/website.lang index 24e649063d2..796e128aba2 100644 --- a/htdocs/langs/es_CL/website.lang +++ b/htdocs/langs/es_CL/website.lang @@ -16,7 +16,6 @@ EditMedias=Editar medios EditPageMeta=Edita prop pag/contenedor Webpage=Página web / contenedor AddPage=Añadir página / contenedor -PreviewOfSiteNotYetAvailable=Vista previa de su sitio web %s aún no está disponible. Primero debe ' Importar una plantilla de sitio web completa ' o simplemente ' Agregar una página / contenedor '. RequestedPageHasNoContentYet=La página solicitada con el id. %s aún no tiene contenido o el archivo de caché .tpl.php fue eliminado. Edita el contenido de la página para resolver esto. SiteDeleted=Sitio web '%s' eliminado PageContent=Página / Contenair diff --git a/htdocs/langs/es_CO/accountancy.lang b/htdocs/langs/es_CO/accountancy.lang index 48a19b88e51..04ff5473f96 100644 --- a/htdocs/langs/es_CO/accountancy.lang +++ b/htdocs/langs/es_CO/accountancy.lang @@ -108,7 +108,6 @@ ACCOUNTING_LENGTH_AACCOUNT=Longitud de las cuentas de contabilidad de terceros ( ACCOUNTING_MANAGE_ZERO=Permitir administrar diferentes números de ceros al final de una cuenta contable. Necesitado por algunos países (como Suiza). Si está desactivado (predeterminado), puede configurar los siguientes dos parámetros para pedirle a la aplicación que agregue ceros virtuales. BANK_DISABLE_DIRECT_INPUT=Deshabilitar el registro directo de la transacción en la cuenta bancaria ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Habilitar borrador de exportación en la revista -ACCOUNTANCY_COMBO_FOR_AUX=Habilite la lista combinada para la cuenta subsidiaria (puede ser lento si tiene muchos terceros) ACCOUNTING_SELL_JOURNAL=Diario de venta ACCOUNTING_PURCHASE_JOURNAL=Diario de compra ACCOUNTING_MISCELLANEOUS_JOURNAL=Revista miscelánea @@ -168,9 +167,7 @@ DescThirdPartyReport=Consulte aquí la lista de clientes y proveedores externos ListAccounts=Listado de las cuentas contables. UnknownAccountForThirdparty=Cuenta de terceros desconocida. Usaremos %s UnknownAccountForThirdpartyBlocking=Cuenta de terceros desconocida. Error de bloqueo -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Cuenta de terceros no definida o desconocida. Usaremos %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tercero desconocido y libro auxiliar no definido en el pago. Mantendremos vacío el valor de la cuenta del libro mayor auxiliar. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Cuenta de terceros no definida o desconocida. Error de bloqueo. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Cuenta de terceros desconocida y cuenta en espera no definida. Error de bloqueo PaymentsNotLinkedToProduct=Pago no vinculado a ningún producto / servicio. OpeningBalance=Saldo de apertura @@ -227,7 +224,6 @@ Selectmodelcsv=Selecciona un modelo de exportación. Modelcsv_CEGID=Exportación para CEGID Expert Comptabilité Modelcsv_COALA=Exportación para Sage Coala Modelcsv_bob50=Exportación para Sage BOB 50 -Modelcsv_ciel=Exportación para Sage Ciel Compta o Compta Evolution Modelcsv_quadratus=Exportar para Quadratus QuadraCompta Modelcsv_ebp=Exportar para EBP Modelcsv_cogilog=Exportar para Cogilog diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang index 2646b12f477..84170023e1e 100644 --- a/htdocs/langs/es_CO/admin.lang +++ b/htdocs/langs/es_CO/admin.lang @@ -100,7 +100,6 @@ Destination=Destino IdModule=ID de módulo IdPermissions=ID de permisos LanguageBrowserParameter=Parámetro %s -ClientTZ=Zona Horaria del Cliente (usuario) ClientHour=Hora del Cliente (usuario) OSTZ=Zona Horaria del SO del Servidor PHPTZ=Zona Hora del servidor PHP @@ -429,7 +428,6 @@ Module52Name=Cepo Module52Desc=Gestión de Stocks Module54Name=Contratos / Suscripciones Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes). -Module55Desc=Gestión de códigos de barras Module56Desc=Gestión de pago de proveedores mediante Órdenes de Transferencia de Crédito. Incluye generación de archivo SEPA para países europeos. Module57Name=Pagos por Débito Automático Module57Desc=Gestión de órdenes de débito automático. Incluye generación de archivo SEPA para países europeos. @@ -654,8 +652,6 @@ Permission402=Crear / modificar descuentos. Permission403=Validar descuentos Permission404=Eliminar descuentos Permission430=Usar la barra de depuración -Permission512=Crear / modificar pagos de salarios. -Permission514=Eliminar pagos de salarios. Permission519=Salarios de exportación Permission520=Leer prestamos Permission522=Crear / modificar préstamos. @@ -800,7 +796,6 @@ DictionaryEMailTemplates=Plantillas de correo electrónico DictionaryMeasuringUnits=Unidades de medida DictionaryProspectStatus=Estado de prospectos para empresas DictionaryProspectContactStatus=Estado de cliente potencial para contactos -DictionaryHolidayTypes=Tipos de licencia DictionaryOpportunityStatus=Principal estado para proyecto / Iniciativa DictionaryExpenseTaxRange=Informe de gastos - Gama por categoría de transporte DictionaryTransportMode=Informe intracomm - modo de transporte @@ -958,8 +953,6 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desd YourPHPDoesNotHaveSSLSupport=Funciones SSL no disponibles en tu PHP DownloadMoreSkins=Más skins para descargar SimpleNumRefModelDesc=Devuelve el número de referencia en el formato %syymm-nnnn donde yy es el año, mm es el mes y nnnn es un número secuencial que se incrementa automáticamente sin reinicio. -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar el número de IVA intracomunitario con direcciones MeteoStdMod=Modo estandar MeteoPercentageModEnabled=Modo porcentual habilitado MeteoUseMod=Haga clic para utilizar %s @@ -1013,8 +1006,6 @@ ConditionIsCurrently=La condición es actualmente %s YouUseBestDriver=Utiliza el controlador %s, que es el mejor controlador disponible actualmente. YouDoNotUseBestDriver=Utiliza el controlador %s pero se recomienda el controlador %s. SearchOptim=Optimización de búsqueda -YouHaveXObjectUseSearchOptim=Tiene %s %s en la base de datos. Puede agregar la constante %s a 1 en Inicio - Configuración - Otros. Limite la búsqueda al comienzo de las cadenas, lo que hace posible que la base de datos use índices y debería obtener una respuesta inmediata. -YouHaveXObjectAndSearchOptimOn=Tiene %s %s en la base de datos y la constante %s se establece en 1 en Inicio - Configuración - Otros. BrowserIsOK=Está utilizando el navegador web %s. Este navegador está bien para la seguridad y el rendimiento. BrowserIsKO=Está utilizando el navegador web %s. Se sabe que este navegador es una mala elección para la seguridad, el rendimiento y la confiabilidad. Recomendamos el uso de Firefox, Chrome, Opera o Safari. PHPModuleLoaded=Se cargó el componente PHP %s @@ -1361,7 +1352,6 @@ ClickToDialSetup=Haga clic para configurar el módulo de marcado. ClickToDialUrlDesc=Url llamado cuando se hace un clic en el teléfono picto. En la URL, puede usar las etiquetas
    __PHONETO__ que se reemplazarán con el número de teléfono de la persona a la que llamará
    __PHONEFROM__ que se reemplazará con el número de teléfono de la llamada persona (la suya)
    __LOGIN__ que será reemplazada por el inicio de sesión de clicktodial (definido en la tarjeta de usuario)
    __PASS__ que será reemplazada por la contraseña de clicktodial (definida por el usuario tarjeta). ClickToDialDesc=Este módulo cambia los números de teléfono, cuando se usa una computadora de escritorio, en enlaces en los que se puede hacer clic. Un clic llamará al número. Esto se puede usar para iniciar la llamada telefónica cuando usa un softphone en su escritorio o cuando usa un sistema CTI basado en el protocolo SIP, por ejemplo. Nota: cuando se usa un teléfono inteligente, siempre se puede hacer clic en los números de teléfono. ClickToDialUseTelLink=Use solo un enlace "tel:" en los números de teléfono -ClickToDialUseTelLinkDesc=Use este método si sus usuarios tienen un softphone o una interfaz de software instalada en la misma computadora que el navegador y se le llama cuando hace clic en un enlace en su navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe configurar esto en "No" y completar el siguiente campo. CashDeskSetup=Configuración del módulo de punto de venta CashDeskThirdPartyForSell=Tercero genérico predeterminado para usar en ventas CashDeskBankAccountForSell=Cuenta predeterminada para usar para recibir pagos en efectivo @@ -1601,7 +1591,7 @@ ImportSetup=Configuración de la importación del módulo InstanceUniqueID=ID único de la instancia WithGMailYouCanCreateADedicatedPassword=Si habilitó la validación de 2 pasos con una cuenta de GMail, se recomienda crear una segunda contraseña dedicada para la aplicación en lugar de usar la contraseña de su propia cuenta de https://myaccount.google.com/. EmailCollectorTargetDir=Puede ser un comportamiento deseado mover el correo electrónico a otra etiqueta/directorio cuando se procesó correctamente. Simplemente configure el nombre del directorio aquí para usar esta función (NO use caracteres especiales en el nombre). Tenga en cuenta que también debe utilizar una cuenta de inicio de sesión de lectura/escritura. -EmailCollectorLoadThirdPartyHelp=Puede utilizar esta acción para utilizar el contenido del correo electrónico para buscar y cargar un tercero existente en su base de datos. El tercero encontrado (o creado) se utilizará para las siguientes acciones que lo necesiten. En el campo de parámetro, puede usar, por ejemplo, 'EXTRACT:BODY:Name:\\s([^\\s]*)' si desea extraer el nombre de la tercera parte de una cadena 'Name: name to find' que se encuentra en el cuerpo. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Punto final para %s: %s DeleteEmailCollector=Eliminar recopilador de correo electrónico ConfirmDeleteEmailCollector=¿Está seguro de que desea eliminar este recopilador de correo electrónico? @@ -1630,4 +1620,5 @@ ConfFileIsReadableOrWritableByAnyUsers=El archivo conf. puede ser leido y escrit MailToSendEventOrganization=Organización del evento YouShouldDisablePHPFunctions=Debería deshabilitar las funciones de PHP NoWritableFilesFoundIntoRootDir=No se encontraron archivos o directorios grabables de los programas comunes en su directorio raíz (Perfect!) +Recommended=Recomendado ARestrictedPath=Un camino restringido diff --git a/htdocs/langs/es_CO/banks.lang b/htdocs/langs/es_CO/banks.lang index 57fe931f374..3cbffbadf4e 100644 --- a/htdocs/langs/es_CO/banks.lang +++ b/htdocs/langs/es_CO/banks.lang @@ -79,7 +79,6 @@ TransferTo=A TransferFromToDone=La transferencia de %s a %s de %s %s ha sido grabada CheckTransmitter=Remitente ValidateCheckReceipt=¿Validar este recibo de cheque? -ConfirmValidateCheckReceipt=¿Está seguro de que desea enviar este recibo de cheque para su validación? Despues no es posible realizar cambios. DeleteCheckReceipt=¿Eliminar este recibo de cheque? ConfirmDeleteCheckReceipt=¿Está seguro de que desea eliminar este recibo de cheque? BankChecks=Cheques bancarios diff --git a/htdocs/langs/es_CO/cashdesk.lang b/htdocs/langs/es_CO/cashdesk.lang index 79c2bfe5241..915e04eacf3 100644 --- a/htdocs/langs/es_CO/cashdesk.lang +++ b/htdocs/langs/es_CO/cashdesk.lang @@ -2,3 +2,4 @@ CashDeskStock=Valores Change=Exceso recibido ShowCompany=Mostar empresa +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_CO/errors.lang b/htdocs/langs/es_CO/errors.lang index de15fc3fbda..a12bdd93750 100644 --- a/htdocs/langs/es_CO/errors.lang +++ b/htdocs/langs/es_CO/errors.lang @@ -92,7 +92,6 @@ ErrorCantReadFile=Error al leer el archivo '%s' ErrorCantReadDir=No se pudo leer el directorio '%s' ErrorBadLoginPassword=Valor incorrecto para inicio de sesión o contraseña ErrorLoginDisabled=Tu cuenta ha sido inhabilitada -ErrorFailedToRunExternalCommand=No se pudo ejecutar el comando externo. Compruebe que esté disponible y que su servidor PHP pueda ejecutar. Si PHP Safe Mode está habilitado, verifique que el comando esté dentro de un directorio definido por el parámetro safe_mode_exec_dir . ErrorFailedToChangePassword=No se pudo cambiar la contraseña ErrorLoginDoesNotExists=No se pudo encontrar el usuario con inicio de sesión %s . ErrorLoginHasNoEmail=Este usuario no tiene dirección de correo electrónico. Proceso abortado. diff --git a/htdocs/langs/es_CO/eventorganization.lang b/htdocs/langs/es_CO/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_CO/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_CO/hrm.lang b/htdocs/langs/es_CO/hrm.lang index e5230a6f0df..8ff90577604 100644 --- a/htdocs/langs/es_CO/hrm.lang +++ b/htdocs/langs/es_CO/hrm.lang @@ -3,7 +3,6 @@ HRM_EMAIL_EXTERNAL_SERVICE=Correo electrónico para evitar el servicio externo d ConfirmDeleteEstablishment=¿Estás seguro de que deseas eliminar este establecimiento? OpenEtablishment=Establecimiento abierto CloseEtablishment=Establecimiento cerrado -DictionaryPublicHolidays=HRM - Días festivos DictionaryDepartment=HRM - Lista de departamentos DictionaryFunction=HRM - Puestos de trabajo ListOfEmployees=Lista de empleados diff --git a/htdocs/langs/es_CO/main.lang b/htdocs/langs/es_CO/main.lang index 26b4e7b349c..0a9505ada84 100644 --- a/htdocs/langs/es_CO/main.lang +++ b/htdocs/langs/es_CO/main.lang @@ -155,6 +155,7 @@ NoOpenedElementToProcess=Ningún elemento abierto para procesar Categories=Etiquetas / categorías Category=Etiqueta / categoría ValidatedToProduce=Validado (Para producir) +OpenAll=Abrir (todo) ClosedAll=Cerrado (todo) Topic=Tema LateDesc=Un elemento se define como Retrasado según la configuración del sistema en el menú Inicio - Configuración - Alertas. diff --git a/htdocs/langs/es_CO/mrp.lang b/htdocs/langs/es_CO/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_CO/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_CO/partnership.lang b/htdocs/langs/es_CO/partnership.lang index bcb4f9e1365..d9c01e81c25 100644 --- a/htdocs/langs/es_CO/partnership.lang +++ b/htdocs/langs/es_CO/partnership.lang @@ -1,12 +1,12 @@ # Dolibarr language file - Source file is en_US - partnership -ModulePartnershipName =Gestión de alianzas -PartnershipDescription =Módulo de gestión de asociaciones +ModulePartnershipName=Gestión de alianzas +PartnershipDescription=Módulo de gestión de asociaciones PartnershipDescriptionLong=Módulo de gestión de asociaciones -NewPartnership =Nueva sociedad -ListOfPartnerships =Lista de asociación -PartnershipSetup =Configuración de la asociación -PartnershipAbout =Acerca de la asociación -PartnershipAboutPage =Página "acerca de" la asociación +NewPartnership=Nueva sociedad +ListOfPartnerships=Lista de asociación +PartnershipSetup=Configuración de la asociación +PartnershipAbout=Acerca de la asociación +PartnershipAboutPage=Página "acerca de" la asociación DatePartnershipEnd=Fecha final -PartnershipCanceled =Cancelado +PartnershipCanceled=Cancelado PartnershipManagedFor=Socios son diff --git a/htdocs/langs/es_CO/productbatch.lang b/htdocs/langs/es_CO/productbatch.lang index 6099d17f0a1..8efcc487e80 100644 --- a/htdocs/langs/es_CO/productbatch.lang +++ b/htdocs/langs/es_CO/productbatch.lang @@ -20,5 +20,3 @@ ShowCurrentStockOfLot=Mostrar valores actuales por pareja producto/lote ShowLogOfMovementIfLot=Mostrar registro de movimientos por pareja producto/lote StockDetailPerBatch=Valores detallados por lote SerialNumberAlreadyInUse=El número de serie %s ya se usa para el producto %s -BatchLotNumberingModules=Opciones para generación automática en masa de productos gestionados por lotes -BatchSerialNumberingModules=Opciones para generación automática en masa de productos gestionados por números de serie diff --git a/htdocs/langs/es_CO/products.lang b/htdocs/langs/es_CO/products.lang index da4a5bc3613..0947f215b3b 100644 --- a/htdocs/langs/es_CO/products.lang +++ b/htdocs/langs/es_CO/products.lang @@ -117,7 +117,6 @@ PriceByCustomer=Diferentes precios para cada cliente. PriceCatalogue=Un solo precio de venta por producto / servicio. PricingRule=Reglas para los precios de venta. AddCustomerPrice=Añadir precio por cliente -ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes. PriceByCustomerLog=Registro de precios de clientes anteriores MinimumPriceLimit=El precio mínimo no puede ser más bajo que %s PriceExpressionSelected=Expresión de precio seleccionado @@ -179,3 +178,4 @@ ConfirmCloneProductCombinations=¿Desea copiar todas las variantes del producto CloneDestinationReference=Referencia del producto destino ErrorCopyProductCombinations=Se ha producido un error al copiar las variantes del producto. ErrorDestinationProductNotFound=Producto de destino no encontrado +PMPValue=Precio promedio ponderado diff --git a/htdocs/langs/es_CO/projects.lang b/htdocs/langs/es_CO/projects.lang index ffc9126eff3..b18c33d2591 100644 --- a/htdocs/langs/es_CO/projects.lang +++ b/htdocs/langs/es_CO/projects.lang @@ -155,4 +155,5 @@ AllowCommentOnProject=Permitir comentarios de usuarios en proyectos DontHavePermissionForCloseProject=No tiene permisos para cerrar el proyecto %s RecordsClosed=%s proyecto (s) cerrado (s) SendProjectRef=Proyecto de información %s +TimeSpentForIntervention=Tiempo usado TimeSpentForInvoice=Tiempo usado diff --git a/htdocs/langs/es_CO/salaries.lang b/htdocs/langs/es_CO/salaries.lang index 32462fd0221..515c3871e58 100644 --- a/htdocs/langs/es_CO/salaries.lang +++ b/htdocs/langs/es_CO/salaries.lang @@ -1,11 +1,9 @@ # Dolibarr language file - Source file is en_US - salaries SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Cuenta contable utilizada para usuarios de terceros SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta de contabilidad dedicada definida en la tarjeta de usuario se usará solo para la contabilidad del libro auxiliar. Este se usará para el Libro mayor y como valor predeterminado de la contabilidad del libro auxiliar si la cuenta de contabilidad del usuario dedicada no está definida. -NewSalaryPayment=Nueva tarjeta de salario +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Por defecto, deje vacía la opción "Crear automáticamente un pago total" al crear un salario. AddSalaryPayment=Agregar pago de salario THM=Tarifa por hora promedio TJM=Tarifa diaria promedio THMDescription=Este valor puede usarse para calcular el costo de tiempo consumido en un proyecto ingresado por los usuarios si se usa el módulo proyecto TJMDescription=Este valor es actualmente solo para información y no se usa para ningún cálculo. -LastSalaries=Últimos pagos de salario %s -AllSalaries=Todos los pagos de salario diff --git a/htdocs/langs/es_CO/stocks.lang b/htdocs/langs/es_CO/stocks.lang index e6aa9ec27df..92856699c76 100644 --- a/htdocs/langs/es_CO/stocks.lang +++ b/htdocs/langs/es_CO/stocks.lang @@ -37,7 +37,6 @@ NumberOfUnit=Número de unidades UnitPurchaseValue=Precio unitario de compra StockTooLow=Stock demasiado bajo StockLowerThanLimit=Stock por debajo del límite de alerta (%s) -PMPValue=Precio promedio ponderado EnhancedValueOfWarehouses=Valor de los almacenes UserWarehouseAutoCreate=Cree un almacén de usuarios automáticamente al crear un usuario AllowAddLimitStockByWarehouse=Gestionar también el valor del stock mínimo y deseado por emparejamiento (producto-almacén) además del valor del stock mínimo y deseado por producto @@ -123,8 +122,6 @@ MovementCorrectStock=Corrección de stock para el producto %s MovementTransferStock=Traslado de stock del producto %s a otro almacén InventoryCodeShort=Inv./Mov. código NoPendingReceptionOnSupplierOrder=No hay recepción pendiente debido a una orden de compra abierta -OpenAll=Abierto a todas las acciones -OpenInternal=Abierto solo para acciones internas UseDispatchStatus=Utilice un estado de envío (aprobar / rechazar) para las líneas de productos en la recepción de la orden de compra OptionMULTIPRICESIsOn=La opción "varios precios por segmento" está activada. Significa que un producto tiene varios precios de venta, por lo que el valor de venta no se puede calcular. ProductStockWarehouseCreated=Límite de stock para alerta y stock óptimo deseado creado correctamente diff --git a/htdocs/langs/es_CO/ticket.lang b/htdocs/langs/es_CO/ticket.lang index 8d0457e7d49..e194d4fa18f 100644 --- a/htdocs/langs/es_CO/ticket.lang +++ b/htdocs/langs/es_CO/ticket.lang @@ -6,17 +6,14 @@ Permission56005=Ver tickets de todos los terceros (no efectivo para usuarios ext TicketDictType=Ticket - Tipos TicketDictCategory=Entrada - Groupes TicketDictSeverity=Ticket - Severidades -TicketTypeShortISSUE=Problema, error o problema MenuTicketMyAssign=Mis entradas MenuTicketMyAssignNonClosed=Mis entradas abiertas MenuListNonClosed=Entradas abiertas TypeContact_ticket_internal_CONTRIBUTOR=Contribuyente TypeContact_ticket_external_SUPPORTCLI=Contacto con el cliente / seguimiento de incidentes TypeContact_ticket_external_CONTRIBUTOR=Colaborador externo -OriginEmail=Fuente de correo electrónico Notify_TICKET_SENTBYMAIL=Enviar mensaje de ticket por correo electrónico Read=Leer -NeedMoreInformation=Esperando información Waiting=Esperando Type=Tipo MailToSendTicketMessage=Para enviar correo electrónico desde el mensaje del ticket diff --git a/htdocs/langs/es_CO/trips.lang b/htdocs/langs/es_CO/trips.lang index 7095262d44a..7a2a6f65fdb 100644 --- a/htdocs/langs/es_CO/trips.lang +++ b/htdocs/langs/es_CO/trips.lang @@ -37,4 +37,3 @@ nolimitbyEX_DAY=Por día (sin límite) nolimitbyEX_MON=Por mes (sin límite) nolimitbyEX_YEA=Por (sin límite) nolimitbyEX_EXP=Por línea (sin límite) -CarCategory=Categoría de carro: diff --git a/htdocs/langs/es_CO/withdrawals.lang b/htdocs/langs/es_CO/withdrawals.lang index c1004f1fd1a..fbd95aa2fa7 100644 --- a/htdocs/langs/es_CO/withdrawals.lang +++ b/htdocs/langs/es_CO/withdrawals.lang @@ -34,6 +34,7 @@ WithdrawRequestsDone=%s solicitudes de pago por débito automático registradas BankTransferRequestsDone=%s solicitudes de transferencia bancaria registradas ThirdPartyBankCode=Código de banco de terceros NoInvoiceCouldBeWithdrawed=Ninguna factura se debitó correctamente. Verifique que las facturas sean de compañías con un IBAN válido y que el IBAN tenga un UMR (Referencia de mandato único) con el modo %s . +WithdrawalCantBeCreditedTwice=Este recibo de retiro ya está marcado como acreditado; esto no se puede hacer dos veces, ya que esto podría generar pagos y entradas bancarias duplicadas. ClassCredited=Clasificar acreditado ClassCreditedConfirm=¿Está seguro de que desea clasificar este recibo de retiro como acreditado en su cuenta bancaria? TransData=Fecha de transmisión @@ -105,8 +106,6 @@ CreditTransferOrderCreated=Se ha creado la orden de transferencia bancaria %s DirectDebitOrderCreated=Se ha creado la orden de débito automático %s AmountRequested=Monto solicitado CreateForSepa=Crear archivo de débito automático -ICS=Identificador de acreedor (IA o CI en inglés) para débito automático -ICSTransfer=Identificador de acreedor (CI) para transferencia bancaria END_TO_END=Etiqueta XML SEPA "EndToEndId": identificación única asignada por transacción USTRD=Etiqueta XML SEPA "no estructurada" ADDDAYS=Agregar días a la fecha de ejecución diff --git a/htdocs/langs/es_DO/accountancy.lang b/htdocs/langs/es_DO/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_DO/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_DO/admin.lang b/htdocs/langs/es_DO/admin.lang index 6dbaf311a2a..5d3dcc057bd 100644 --- a/htdocs/langs/es_DO/admin.lang +++ b/htdocs/langs/es_DO/admin.lang @@ -6,6 +6,7 @@ Permission92=Crear/modificar impuestos e ITBIS Permission93=Eliminar impuestos e ITBIS DictionaryVAT=Tasa de ITBIS (Impuesto sobre ventas en EEUU) UnitPriceOfProduct=Precio unitario sin ITBIS de un producto +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OptionVatMode=Opción de carga de ITBIS OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_DO/cashdesk.lang b/htdocs/langs/es_DO/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_DO/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_DO/cron.lang b/htdocs/langs/es_DO/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_DO/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_DO/eventorganization.lang b/htdocs/langs/es_DO/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_DO/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_DO/mrp.lang b/htdocs/langs/es_DO/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_DO/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_EC/accountancy.lang b/htdocs/langs/es_EC/accountancy.lang index 5315299f9bc..4a205f7ef82 100644 --- a/htdocs/langs/es_EC/accountancy.lang +++ b/htdocs/langs/es_EC/accountancy.lang @@ -99,7 +99,6 @@ ACCOUNTING_LENGTH_AACCOUNT=Longitud de las cuentas contables de terceros (si est ACCOUNTING_MANAGE_ZERO=Permitir gestionar diferentes números de ceros al final de una cuenta contable. Necesario por algunos países (como Suiza). Si está desactivado (predeterminado), puede configurar los siguientes dos parámetros para pedirle a la aplicación que agregue ceros virtuales. BANK_DISABLE_DIRECT_INPUT=Inhabilitar la grabación directa de la transacción en una cuenta bancaria ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Habilitar la exportación del borrador en el diario -ACCOUNTANCY_COMBO_FOR_AUX=Habilite la lista combinada para la cuenta subsidiaria (puede ser lenta si tiene muchos terceros) ACCOUNTING_SELL_JOURNAL=Vender un diario ACCOUNTING_PURCHASE_JOURNAL=Diario de compra ACCOUNTING_MISCELLANEOUS_JOURNAL=Diario diverso @@ -150,9 +149,7 @@ DescThirdPartyReport=Consulte aquí la lista de clientes y proveedores de tercer ListAccounts=Lista de las cuentas contables UnknownAccountForThirdparty=Cuenta de terceros desconocida. Usaremos %s UnknownAccountForThirdpartyBlocking=Cuenta de terceros desconocida. Error de bloqueo -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Cuenta de terceros no definida o tercero desconocido. Usaremos %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Terceros desconocidos y subledger no definidos en el pago. Mantendremos vacío el valor de la cuenta auxiliar. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Cuenta de terceros no definida o tercero desconocido. Error de bloqueo UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Cuenta de terceros desconocida y cuenta en espera no definida. Error de bloqueo PaymentsNotLinkedToProduct=Pago no vinculado a ningún producto / servicio OpeningBalance=Saldo de apertura @@ -200,7 +197,6 @@ ExportDraftJournal=Exportar borrador de diario Modelcsv_CEGID=Exportación para CEGID Expert Comptabilité Modelcsv_COALA=Exportación para Sage Coala Modelcsv_bob50=Exportar para Sage BOB 50 -Modelcsv_ciel=Exportar para Sage Ciel Compta o Compta Evolution Modelcsv_quadratus=Exportar para Quadratus QuadraCompta Modelcsv_ebp=Exportar para EBP Modelcsv_cogilog=Exportar para Cogilog diff --git a/htdocs/langs/es_EC/admin.lang b/htdocs/langs/es_EC/admin.lang index d12b5c4f9ee..1a42f9095b6 100644 --- a/htdocs/langs/es_EC/admin.lang +++ b/htdocs/langs/es_EC/admin.lang @@ -90,7 +90,6 @@ Destination=Destino IdModule=Módulo de Identificación IdPermissions=ID de permisos LanguageBrowserParameter=Parámetros %s -ClientTZ=Zona horaria del cliente ClientHour=Hora del cliente OSTZ=Zona horaria del servidor PHPTZ=Zona horaria del servidor PHP @@ -408,7 +407,6 @@ Module52Name=Dispuesto Module52Desc=Gestion de Stocks Module54Name=Contratos / Suscripciones Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes). -Module55Desc=Administración de código de barras Module58Desc=Integración de un sistema ClickToDial (Asterisco, ...) Module60Name=Adhesivos Module60Desc=Manejo de adhesivos @@ -619,8 +617,6 @@ Permission402=Crear / modificar descuentos Permission403=Validar descuentos Permission404=Eliminar descuentos Permission430=Usar barra de depuración -Permission512=Crear / modificar pagos de salarios. -Permission514=Eliminar pagos de salarios. Permission520=Leer Préstamos Permission522=Crear / modificar préstamos Permission524=Eliminar préstamos @@ -735,7 +731,6 @@ DictionaryAccountancysystem=Modelos para el plan de cuentas DictionaryAccountancyJournal=Diarios / libros de contabilidad DictionaryEMailTemplates=Plantillas de correo electrónico DictionaryMeasuringUnits=Unidades de medida -DictionaryHolidayTypes=Tipos de licencia DictionaryOpportunityStatus=Estado de plomo para proyecto / lider SetupSaved=Configuración Guardada BackToModuleList=Volver a la lista de módulos @@ -831,7 +826,6 @@ SetupDescription1=Antes de comenzar a utilizar Dolibarr, se deben definir alguno SetupDescription3=  %s -> %s

    Parámetros básicos utilizados para personalizar el comportamiento predeterminado de su aplicación (por ejemplo, para los países relacionados con el comportamiento predeterminado). SetupDescription4=  %s -> %s

    Este software es un conjunto de muchos módulos/aplicaciones. Los módulos relacionados con sus necesidades deben estar habilitados y configurados. Las entradas del menú aparecerán con la activación de estos módulos. SetupDescription5=Otras entradas del menú de configuración manejan parámetros opcionales. -Audit=Auditoria InfoBrowser=Acerca del navegador InfoOS=Acerca del OS BrowserName=nombre del navegador @@ -879,8 +873,6 @@ RestoreMySQL=Importación de MySQL ForcedToByAModule= Esta regla se ha forzado a %s por un módulo activado RunningUpdateProcessMayBeRequired=Parece que es necesario ejecutar el proceso de actualización (la versión del programa %s difiere de la versión de la base de datos %s) YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desde la línea de comandos después de iniciar sesión en un shell con el usuario %s o debe agregar la opción -Al final de la línea de comandos para proporcionar la contraseña %s. -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar número de IVA intracomunitario con direcciones MeteoPercentageMod=Modo porcentual MeteoPercentageModEnabled=Modo de porcentaje habilitado MeteoUseMod=Haga clic para usar %s @@ -931,7 +923,6 @@ ConditionIsCurrently=Condición actual %s YouUseBestDriver=Utiliza el controlador %s, que es el mejor controlador actualmente disponible. YouDoNotUseBestDriver=Utiliza el controlador %s, pero se recomienda el controlador %s. SearchOptim=Optimización de la búsqueda -YouHaveXObjectAndSearchOptimOn=Tiene %s %s en la base de datos y la constante %s se establece en 1 en Home-Setup-Other. BrowserIsOK=Está utilizando el navegador web %s. Este navegador está bien para la seguridad y el rendimiento. BrowserIsKO=Está utilizando el navegador web %s. Se sabe que este navegador es una mala elección para la seguridad, el rendimiento y la confiabilidad. Recomendamos utilizar Firefox, Chrome, Opera o Safari. AddRefInList=Mostrar cliente / vendedor ref. Lista de información (lista de selección o cuadro combinado) y la mayoría del hipervínculo.
    Los terceros aparecerán con un formato de nombre de "CC12345 - SC45678 - The Big Company corp". en lugar de "The Big Company corp". @@ -1256,7 +1247,6 @@ AGENDA_SHOW_LINKED_OBJECT=Mostrar objeto relacionado en la vista de la agenda ClickToDialSetup=Configuración del módulo - Haga clic para marcar ClickToDialUrlDesc=URL llamada cuando se hace clic en el icono de teléfono. En URL, puede usar las etiquetas
    __PHONETO__ que se reemplazarán con el número de teléfono de la persona a quien llamar
    __PHONEFROM__ que será reemplazado por el número de teléfono de la persona que llama (suyo)
    __LOGIN__ que se reemplazará con el inicio de sesión de "hacer clic para marcar" (definido en la tarjeta de usuario)
    __PASS __ < / b> que se reemplazará con la contraseña de "haga clic para marcar" (definida en el usuario tarjeta). ClickToDialUseTelLink=Utilizar sólo un enlace "tel:" en los números de teléfono -ClickToDialUseTelLinkDesc=Use este método si sus usuarios tienen un softphone o una interfaz de software instalada en la misma computadora que el navegador y se le llama cuando hace clic en un enlace de su navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe configurar esto en "No" y completar el siguiente campo. CashDeskSetup=Configuración del módulo de punto de venta CashDeskThirdPartyForSell=Tercero genérico predeterminado para usar en ventas CashDeskBankAccountForSell=Cuenta predeterminada para recibir pagos en efectivo @@ -1469,7 +1459,7 @@ EXPORTS_SHARE_MODELS=Los modelos de exportación se comparten con todos ExportSetup=Configuración del módulo Exportar InstanceUniqueID=ID único de la instancia WithGMailYouCanCreateADedicatedPassword=Con una cuenta de GMail, si habilitó la validación de 2 pasos, se recomienda crear una segunda contraseña dedicada para la aplicación en lugar de usar la contraseña de su propia cuenta de https://myaccount.google.com/. -EmailCollectorLoadThirdPartyHelp=Puede usar esta acción para usar el contenido del correo electrónico para buscar y cargar un tercero existente en su base de datos. El tercero encontrado (o creado) se utilizará para las siguientes acciones que lo necesiten. En el campo de parámetros puede usar, por ejemplo, 'EXTRACT:BODY:Name:\\s([^\\s]*)' si desea extraer el nombre del cliente/proveedor de una cadena 'Nombre: nombre para encontrar' que se encuentra en el cuerpo. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Punto final para %s: %s DeleteEmailCollector=Eliminar recopilador de correo electrónico ConfirmDeleteEmailCollector=¿Estás seguro de que deseas eliminar este recopilador de correo electrónico? @@ -1481,3 +1471,4 @@ FeatureNotAvailableWithReceptionModule=Función no disponible cuando la recepci EmailTemplate=Plantilla para correo electrónico EMailsWillHaveMessageID=Los correos electrónicos tendrán una etiqueta 'Referencias' que coincida con esta sintaxis JumpToBoxes=Vaya a Configuración -> Widgets +Recommended=Recomendado diff --git a/htdocs/langs/es_EC/agenda.lang b/htdocs/langs/es_EC/agenda.lang index c7beb16acb1..5387a6ba3c1 100644 --- a/htdocs/langs/es_EC/agenda.lang +++ b/htdocs/langs/es_EC/agenda.lang @@ -5,7 +5,6 @@ ListOfActions=Lista de eventos EventOnFullDay=Evento todo el día(s) MenuToDoActions=Todos los eventos incompletos MenuDoneActions=Todos los eventos terminados -ListOfEvents=Lista de eventos (calendario interno) ActionsAskedBy=Eventos reportados por ViewCal=Vista de mes ViewDay=Vista del día diff --git a/htdocs/langs/es_EC/cashdesk.lang b/htdocs/langs/es_EC/cashdesk.lang index c519dedfc0a..adf4bb0d588 100644 --- a/htdocs/langs/es_EC/cashdesk.lang +++ b/htdocs/langs/es_EC/cashdesk.lang @@ -25,6 +25,7 @@ UserNeedPermissionToEditStockToUsePos=Solicita disminuir el stock en la creació DolibarrReceiptPrinter=Dolibarr Impresora de recibos PointOfSale=Punto de venta TakeposConnectorNecesary=Se requiere 'conector TakePOS' +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: Receipt=Recibo Header=Encabezado Footer=Pie de página diff --git a/htdocs/langs/es_EC/cron.lang b/htdocs/langs/es_EC/cron.lang index 7dbff235dc7..f55f46d6d9b 100644 --- a/htdocs/langs/es_EC/cron.lang +++ b/htdocs/langs/es_EC/cron.lang @@ -40,7 +40,6 @@ CronSaveSucess=Guardado exitosamente CronFieldMandatory=Los campos%s son obligatorios CronErrEndDateStartDt=La fecha de finalización no puede ser anterior a la fecha de inicio CronStatusInactiveBtn=En rehabilitación -CronTaskInactive=Este trabajo está deshabilitado CronId=Carné de identidad CronModuleHelp=Nombre del directorio del módulo Dolibarr (también funciona con un módulo Dolibarr externo).
    Por ejemplo, para llamar al método fetch del objeto del producto Dolibarr /htdocs/product/class/product.class.php, el valor para el módulo es
    product CronClassFileHelp=La ruta relativa y el nombre del archivo a cargar (la ruta es relativa al directorio raíz del servidor web).
    Por ejemplo, para llamar al método fetch del objeto del producto Dolibarr htdocs/product/class/ product.class.php, el valor para el nombre del archivo de clase es
    product/class/product.class.php diff --git a/htdocs/langs/es_EC/errors.lang b/htdocs/langs/es_EC/errors.lang index 07e30cff264..54e344554e0 100644 --- a/htdocs/langs/es_EC/errors.lang +++ b/htdocs/langs/es_EC/errors.lang @@ -88,7 +88,6 @@ ErrorCantReadFile=Error al leer el archivo '%s' ErrorCantReadDir=Error al leer el directorio '%s' ErrorBadLoginPassword=Valor incorrecto para el inicio de sesión o la contraseña ErrorLoginDisabled=Su cuenta ha sido deshabilitada -ErrorFailedToRunExternalCommand=Error al ejecutar el comando externo. Compruebe que está disponible y ejecutado por su servidor PHP. Si está habilitado PHP Modo a prueba de errores , compruebe que el comando esté dentro de un directorio definido por el parámetro safe_mode_exec_dir . ErrorFailedToChangePassword=Error al cambiar la contraseña ErrorLoginDoesNotExists=El usuario con acceso %s no se pudo encontrar. ErrorLoginHasNoEmail=Este usuario no tiene dirección de correo electrónico. Proceso abortado. diff --git a/htdocs/langs/es_EC/eventorganization.lang b/htdocs/langs/es_EC/eventorganization.lang index e6b8e89584c..52934f125f2 100644 --- a/htdocs/langs/es_EC/eventorganization.lang +++ b/htdocs/langs/es_EC/eventorganization.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page EvntOrgDone =Hecho diff --git a/htdocs/langs/es_EC/exports.lang b/htdocs/langs/es_EC/exports.lang index b1f9927f4d1..87bb1574d61 100644 --- a/htdocs/langs/es_EC/exports.lang +++ b/htdocs/langs/es_EC/exports.lang @@ -36,7 +36,6 @@ TypeOfLineServiceOrProduct=Tipo de línea (0 = producto, 1 = servicio) FileWithDataToImport=Archivo con datos para importar FileToImport=Archivo de origen para importar FileMustHaveOneOfFollowingFormat=El archivo a importar debe tener uno de los siguientes formatos. -DownloadEmptyExample=Descargar archivo de plantilla con información de contenido de campo (* son campos obligatorios) ChooseFormatOfFileToImport=Elija el formato de archivo para usar como formato de archivo de importación haciendo clic en el icono %s para seleccionarlo ... SourceFileFormat=Formato del archivo fuente FieldsInSourceFile=Campos del archivo de origen diff --git a/htdocs/langs/es_EC/holiday.lang b/htdocs/langs/es_EC/holiday.lang index af17dea9f3b..104119c25e1 100644 --- a/htdocs/langs/es_EC/holiday.lang +++ b/htdocs/langs/es_EC/holiday.lang @@ -31,8 +31,6 @@ TitreRequestCP=Dejar petición TypeOfLeaveId=Tipo de ID de salida TypeOfLeaveCode=Tipo de código de salida TypeOfLeaveLabel=Tipo de etiqueta de salida -NbUseDaysCP=Número de días de vacaciones consumidos -NbUseDaysCPShortInMonth=Días consumidos en el mes EditCP=Editar DeleteCP=Borrar ActionRefuseCP=Desperdicios @@ -41,7 +39,6 @@ TitleDeleteCP=Eliminar la solicitud de licencia ConfirmDeleteCP=Confirmar la eliminación de esta solicitud de licencia? ErrorCantDeleteCP=Error no tiene derecho a eliminar esta solicitud de licencia. CantCreateCP=Usted no tiene derecho a hacer solicitudes de licencia. -InvalidValidatorCP=Usted debe elegir un aprobador para su solicitud de licencia. NoDateDebut=Debe seleccionar una fecha de inicio. NoDateFin=Debe seleccionar una fecha de finalización. ErrorDureeCP=Su solicitud de permiso no contiene días hábiles. @@ -65,13 +62,9 @@ MotifCP=Razón ErrorAddEventToUserCP=Se ha producido un error al agregar la licencia excepcional. AddEventToUserOkCP=La adición de la licencia excepcional ha sido completada. MenuLogCP=Ver registros de cambios -LogCP=Registro de actualizaciones de los días de vacaciones disponibles -ActionByCP=Interpretado por PrevSoldeCP=Balance anterior NewSoldeCP=Nuevo equilibrio alreadyCPexist=Ya se ha hecho una solicitud de permiso en este período -FirstDayOfHoliday=Primer día de vacaciones -LastDayOfHoliday=Último día de vacaciones BoxTitleLastLeaveRequests=Últimas solicitudes de licencia modificadas%s HolidaysCancelation=Cancelación de la solicitud de permiso EmployeeLastname=Apellido del empleado @@ -82,8 +75,6 @@ LEAVE_PAID=Vacaciones pagas LEAVE_SICK=Permiso por enfermedad LEAVE_OTHER=Otro permiso LEAVE_PAID_FR=Vacaciones pagas -LastUpdateCP=Última actualización automática de la asignación de vacaciones -MonthOfLastMonthlyUpdate=Mes de la última actualización automática de la asignación de vacaciones UpdateConfCPOK=Actualizado correctamente. Module27130Name= Gestión de solicitudes de licencia Module27130Desc= Gestión de solicitudes de licencia @@ -101,8 +92,6 @@ HolidaysCanceledBody=Se ha cancelado la solicitud de licencia de%s a%s. FollowedByACounter=1: Este tipo de permiso debe ser seguido por un contador. El contador se incrementa manual o automáticamente y cuando se valida una solicitud de permiso, el contador se decrementa.
    0: No seguido por un contador. NoLeaveWithCounterDefined=No hay tipos de permiso definidos que necesitan ser seguidos por un contador GoIntoDictionaryHolidayTypes=Ir a Inicio - Configuración - Diccionarios - Tipo de permiso para configurar los diferentes tipos de permisos. -HolidaySetup=Configuración del módulo Vacaciones -HolidaysNumberingModules=Solicitud de licencia modelos de numeración TemplatePDFHolidays=Plantilla para solicitudes de permisos PDF FreeLegalTextOnHolidays=Texto libre en PDF WatermarkOnDraftHolidayCards=Marcas de agua en las solicitudes de permiso borrador diff --git a/htdocs/langs/es_EC/hrm.lang b/htdocs/langs/es_EC/hrm.lang index 42289516832..e98d3dd3801 100644 --- a/htdocs/langs/es_EC/hrm.lang +++ b/htdocs/langs/es_EC/hrm.lang @@ -2,5 +2,4 @@ HRM_EMAIL_EXTERNAL_SERVICE=Correo electrónico para prevenir el servicio externo de RRHH ConfirmDeleteEstablishment=¿Estás seguro de que deseas eliminar este establecimiento? OpenEtablishment=Establecimiento abierto -DictionaryPublicHolidays=HRM - Días festivos DictionaryDepartment=RRHH - Lista de departamento diff --git a/htdocs/langs/es_EC/mails.lang b/htdocs/langs/es_EC/mails.lang index 46ccbb2fdf7..81c52702ac9 100644 --- a/htdocs/langs/es_EC/mails.lang +++ b/htdocs/langs/es_EC/mails.lang @@ -113,7 +113,5 @@ AdvTgtContactHelp=Úselo sólo si segmenta el contacto en "Tipo de correo electr ItemsCount=Artículo(s) AdvTgtAddContact=Añadir emails según criterio. AdvTgtLoadFilter=Filtro de carga -NoContactWithCategoryFound=No hay contacto/dirección con una categoría encontrada -NoContactLinkedToThirdpartieWithCategoryFound=No hay contacto/dirección con una categoría encontrada ContactsWithThirdpartyFilter=Contactos con filtro de terceros Answered=Contestada diff --git a/htdocs/langs/es_EC/main.lang b/htdocs/langs/es_EC/main.lang index bf25355ae9c..66619747638 100644 --- a/htdocs/langs/es_EC/main.lang +++ b/htdocs/langs/es_EC/main.lang @@ -276,6 +276,7 @@ ResultKo=Fallo Reporting=Informes Validated=validado Opened=Abierto +OpenAll=Abrir (todo) ClosedAll=Cerrado (todos) Topic=Tema ByCompanies=Por cliente diff --git a/htdocs/langs/es_EC/mrp.lang b/htdocs/langs/es_EC/mrp.lang index c87d64ece84..902fbfe221f 100644 --- a/htdocs/langs/es_EC/mrp.lang +++ b/htdocs/langs/es_EC/mrp.lang @@ -4,10 +4,8 @@ MenuBOM=Facturas de material LatestBOMModified=Últimas listas de materiales modificados %s LatestMOModified=Últimas órdenes de fabricación %s modificadas Bom=Facturas de material -BillOfMaterials=Lista de materiales ListOfBOMs=Lista de listas de materiales - BOM ListOfManufacturingOrders=Lista de pedidos de fabricación -ProductBOMHelp=Producto para crear con esta BOM.
    Nota: Los productos con la propiedad 'Naturaleza del producto' = 'Materia prima' no son visibles en esta lista. BOMsNumberingModules=Plantillas de numeración BOM BOMsModelModule=Plantillas de documentos BOM MOsNumberingModules=Plantillas de numeración MO @@ -16,13 +14,10 @@ FreeLegalTextOnBOMs=Texto libre en el documento de BOM WatermarkOnDraftBOMs=Marca de agua en el borrador de lista de materiales FreeLegalTextOnMOs=Texto libre en el documento de MO WatermarkOnDraftMOs=Marca de agua en borrador MO -ConfirmCloneBillOfMaterials=¿Está seguro de que desea clonar la lista de materiales %s? ConfirmCloneMo=¿Está seguro de que desea clonar la orden de fabricación %s? ValueOfMeansLoss=Valor de 0.95 significa un promedio de 5%% de pérdida durante la producción DeleteBillOfMaterials=Eliminar lista de materiales DeleteMo=Eliminar orden de fabricación -ConfirmDeleteBillOfMaterials=¿Está seguro de que desea eliminar esta lista de materiales? -ConfirmDeleteMo=¿Está seguro de que desea eliminar esta lista de materiales? QtyToProduce=Cantidad para producir DateStartPlannedMo=Fecha de inicio prevista DateEndPlannedMo=Fecha de finalización prevista @@ -42,4 +37,4 @@ ConsumeOrProduce=Consumir o Producir ConfirmValidateMo=¿Está seguro de que desea validar esta orden de fabricación? ConfirmProductionDesc=Al hacer clic en '%s', validará el consumo y / o la producción de las cantidades establecidas. Esto también actualizará el stock y registrará movimientos de stock. AutoCloseMO=Cierre automáticamente la orden de fabricación si se alcanzan cantidades para consumir y producir -ProductQtyToProduceByMO=Quentidad de producto aún por producir por MO abierto +DeleteWorkstation=Borrar diff --git a/htdocs/langs/es_EC/orders.lang b/htdocs/langs/es_EC/orders.lang index d8e0030693a..bccf708457d 100644 --- a/htdocs/langs/es_EC/orders.lang +++ b/htdocs/langs/es_EC/orders.lang @@ -9,6 +9,7 @@ OrderLine=Fila para ordenar OrderDateShort=Fecha de orden OrderToProcess=Orden para procesar NewOrder=Nueva orden +NewSupplierOrderShort=Nueva orden NewOrderSupplier=Nueva orden de compra ToOrder=Hacer orden MakeOrder=Hacer orden diff --git a/htdocs/langs/es_EC/other.lang b/htdocs/langs/es_EC/other.lang index 7d8c9ca8f16..12d22ae617b 100644 --- a/htdocs/langs/es_EC/other.lang +++ b/htdocs/langs/es_EC/other.lang @@ -186,3 +186,4 @@ RequestDuration=Duración de la solicitud. PopuProp=Productos / Servicios por popularidad en Propuestas PopuCom=Productos / Servicios por popularidad en Pedidos ProductStatistics=Estadísticas de productos / servicios +CloseDialog =Cerrado diff --git a/htdocs/langs/es_EC/partnership.lang b/htdocs/langs/es_EC/partnership.lang index 0e3f1df1b9c..45f9d1b2e1b 100644 --- a/htdocs/langs/es_EC/partnership.lang +++ b/htdocs/langs/es_EC/partnership.lang @@ -1,3 +1,3 @@ # Dolibarr language file - Source file is en_US - partnership DatePartnershipEnd=Fecha final -PartnershipCanceled =Cancelado +PartnershipCanceled=Cancelado diff --git a/htdocs/langs/es_EC/products.lang b/htdocs/langs/es_EC/products.lang index e85678b9e7a..9ab59f975ea 100644 --- a/htdocs/langs/es_EC/products.lang +++ b/htdocs/langs/es_EC/products.lang @@ -135,7 +135,6 @@ PriceByCustomer=Diferentes precios para cada cliente PriceCatalogue=Un precio de venta único por producto/servicio PricingRule=Reglas para los precios de venta. AddCustomerPrice=Añadir precio por cliente -ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de clientes PriceByCustomerLog=Registro de precios anteriores del cliente MinimumPriceLimit=El precio mínimo no puede ser inferior a %s PriceExpressionEditor=Editor de expresiones de precios @@ -176,7 +175,6 @@ HeightUnits=Unidad de altura SurfaceUnits=Unidad de superficie SizeUnits=Unidad de tamaño ConfirmDeleteProductBuyPrice=¿Seguro que quieres eliminar este precio de compra? -UseProductFournDesc=Agregue una función para definir las descripciones de los productos definidos por los proveedores, además de las descripciones para los clientes. ProductSupplierDescription=Descripción del vendedor del producto VariantAttributes=Atributos variantes ProductAttributes=Atributos variantes para los productos @@ -210,3 +208,4 @@ ErrorProductCombinationNotFound=Variante del producto no encontrada ActionAvailableOnVariantProductOnly=Acción solo disponible en la variante de producto ProductsPricePerCustomer=Precios de productos por cliente ProductSupplierExtraFields=Atributos adicionales (precios de proveedor) +PMPValue=Precio medio ponderado diff --git a/htdocs/langs/es_EC/projects.lang b/htdocs/langs/es_EC/projects.lang index bf86ffc8c2f..f8bb86dc5d0 100644 --- a/htdocs/langs/es_EC/projects.lang +++ b/htdocs/langs/es_EC/projects.lang @@ -164,9 +164,11 @@ SendProjectRef=Información del proyecto %s ModuleSalaryToDefineHourlyRateMustBeEnabled=El módulo 'Salarios' debe estar habilitado para definir la tarifa por hora de los empleados para tener el tiempo gastado valorizado NewTaskRefSuggested=Referencia de tarea ya utilizada, se requiere una nueva referencia de tarea TimeSpentInvoiced=Tiempo gastado facturado +TimeSpentForIntervention=Tiempo usado TimeSpentForInvoice=Tiempo usado ServiceToUseOnLines=Servicio a utilizar en líneas InvoiceGeneratedFromTimeSpent=La factura %s se ha generado a partir del tiempo dedicado al proyecto ProjectBillTimeDescription=Verifique si ingresa la hoja de tiempo en las tareas del proyecto Y planea generar factura(s) de la hoja de tiempo para facturar al cliente del proyecto (no verifique si planea crear una factura que no se base en las hojas de tiempo ingresadas). Nota: Para generar la factura, vaya a la pestaña 'Tiempo empleado' del proyecto y seleccione las líneas para incluir. UsageBillTimeShort=Uso: Tiempo a facturar +NewInter=Nueva intervención RefTaskParent=Árbitro. Tarea principal diff --git a/htdocs/langs/es_EC/salaries.lang b/htdocs/langs/es_EC/salaries.lang index 0f639c609c2..ac9132ea254 100644 --- a/htdocs/langs/es_EC/salaries.lang +++ b/htdocs/langs/es_EC/salaries.lang @@ -4,7 +4,6 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta de contabilidad dedicada defi SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta de contabilidad por defecto para pagos de sueldos Salary=Sueldo Salaries=Sueldos -NewSalaryPayment=Nuevo pago de sueldo SalaryPayment=Pago de sueldo SalariesPayments=Pagos de sueldos ShowSalaryPayment=Mostrar pago de sueldo @@ -13,5 +12,3 @@ TJM=Tarifa diaria promedio CurrentSalary=Sueldo actual THMDescription=Este valor puede usarse para calcular el costo del tiempo consumido en un proyecto ingresado por los usuarios si se usa el proyecto del módulo TJMDescription=Actualmente, este valor es solo informativo y no se utiliza para ningún cálculo -LastSalaries=Últimos %s pagos de sueldos -AllSalaries=Todos los pagos de sueldos diff --git a/htdocs/langs/es_EC/stocks.lang b/htdocs/langs/es_EC/stocks.lang index 8c4ec56e517..ed06080a82f 100644 --- a/htdocs/langs/es_EC/stocks.lang +++ b/htdocs/langs/es_EC/stocks.lang @@ -33,7 +33,6 @@ StockMovements=Movimiento de inventario NumberOfUnit=Número de unidades StockTooLow=Inventario demasiado bajo StockLowerThanLimit=Inventario más bajo que el límite de alerta (%s) -PMPValue=Precio medio ponderado EnhancedValueOfWarehouses=Valor de almacenes UserWarehouseAutoCreate=Crear un almacén de usuario automáticamente al crear un usuario AllowAddLimitStockByWarehouse=Administre también el valor del stock mínimo y deseado por emparejamiento (almacén de productos) además del valor del stock mínimo y deseado por producto @@ -116,7 +115,6 @@ MovementTransferStock=Transferencia de inventario de producto%s a otro almacén InventoryCodeShort=Inv./Mov. Código NoPendingReceptionOnSupplierOrder=No hay recepción pendiente debido a una orden de compra abierta ThisSerialAlreadyExistWithDifferentDate=Este número de lote/número de serie (%s) ya existe pero con fecha de comer o vender diferente (%s pero escribe %s). -OpenInternal=Abrir sólo para acciones internas UseDispatchStatus=Use un estado de despacho (aprobar / rechazar) para las líneas de productos en la recepción de la orden de compra OptionMULTIPRICESIsOn=La opción "varios precios por segmento" está activada. Significa que un producto tiene varios precios de venta por lo que el valor para la venta no se puede calcular ProductStockWarehouseCreated=Límite de inventario para alerta e inventario óptimo deseado correctamente creado diff --git a/htdocs/langs/es_EC/ticket.lang b/htdocs/langs/es_EC/ticket.lang index de9e0c92141..237f6e69e58 100644 --- a/htdocs/langs/es_EC/ticket.lang +++ b/htdocs/langs/es_EC/ticket.lang @@ -4,15 +4,12 @@ Permission56005=Vea los tickets de todos los cliente/proveedor (no es efectivo p TicketDictType=Tipos - Tickets TicketDictCategory=Ticket - Grupos TicketDictSeverity=Ticket - Prioridades -TicketTypeShortISSUE=Problema o Error ErrorBadEmailAddress=Campo '%s' incorrecto MenuListNonClosed=Tikests abiertos TypeContact_ticket_internal_CONTRIBUTOR=Contribuyente TypeContact_ticket_external_SUPPORTCLI=Contacto con el cliente / seguimiento de incidentes -OriginEmail=Origen del correo electrónico Notify_TICKET_SENTBYMAIL=Enviar mensaje del ticket por correo electrónico Read=Leer -NeedMoreInformation=Esperando información Waiting=Esperando Type=Tipo MailToSendTicketMessage=Para enviar un correo electrónico desde un ticket @@ -66,7 +63,6 @@ TicketMessagesList=Lista de mensajes NoMsgForThisTicket=No hay mensaje para este ticket LatestNewTickets=Últimos tickets %s nuevos (no leídos) RelatedTickets=Tickets relacionadas -CloseTicket=Ticket cerrado ConfirmDeleteTicket=Confirma la eliminación del ticket TicketDurationAutoInfos=Duración calculada automáticamente a partir de intervenciones relacionadas SendMessageByEmail=Enviar mensaje por correo electrónico diff --git a/htdocs/langs/es_EC/trips.lang b/htdocs/langs/es_EC/trips.lang index e3976df3b1d..b1d59dbcaa0 100644 --- a/htdocs/langs/es_EC/trips.lang +++ b/htdocs/langs/es_EC/trips.lang @@ -31,7 +31,6 @@ ExpenseReportCanceledMessage=El informe de gastos %s fue cancelado.
    - Usuar ExpenseReportPaid=Se pagó un informe de gastos ExpenseReportPaidMessage=El informe de gastos %s fue pagado.
    - Usuario: %s
    - Pagado por: %s
    haga clic aquí para mostrar el informe de gastos: %s TripId=Informe de gastos de identificación -AnyOtherInThisListCanValidate=Persona a informar para la validación. TripSociete=Empresa de información TripNDF=Informaciones sobre el informe de gastos PDFStandardExpenseReports=Plantilla estándar para generar un documento PDF para el informe de gastos @@ -80,7 +79,6 @@ ExpenseReportPayment=Pago del informe de gastos ExpenseReportsToApprove=Informes de gastos para aprobar ExpenseReportsToPay=Informes de gastos a pagar ConfirmCloneExpenseReport=¿Seguro que desea copiar este informe de gastos? -ExpenseReportsIk=Índice de millaje de informes de gastos ExpenseReportIkDesc=Se puede modificar el cálculo de los kilómetros de gasto por categoría y por rango que se definen previamente. d es la distancia en kilómetros expenseReportOffset=Compensar expenseReportTotalForFive=Ejemplo con d = 5 diff --git a/htdocs/langs/es_EC/users.lang b/htdocs/langs/es_EC/users.lang index 338829dfa75..91468ade27f 100644 --- a/htdocs/langs/es_EC/users.lang +++ b/htdocs/langs/es_EC/users.lang @@ -67,8 +67,6 @@ LoginToCreate=Ingresar para crear NameToCreate=Nombre del tercero para crear YourRole=Sus funciones YourQuotaOfUsersIsReached=¡Se alcanza su cuota de usuarios activos! -NbOfUsers=No. de usuarios -NbOfPermissions=No. de permisos DontDowngradeSuperAdmin=Sólo una superadmin puede degradar una superadmin UseTypeFieldToChange=Utilice el campo Tipo para cambiar OpenIDURL=URL de OpenID diff --git a/htdocs/langs/es_EC/website.lang b/htdocs/langs/es_EC/website.lang index 6aa45d5656f..957ff56551c 100644 --- a/htdocs/langs/es_EC/website.lang +++ b/htdocs/langs/es_EC/website.lang @@ -14,7 +14,6 @@ EditCss=Editar propiedades web EditMenu=Editar menú EditPageMeta=Editar propiedades Webpage=Página web/contenedor -PreviewOfSiteNotYetAvailable=Vista previa de su sitio web %s aún no disponible. Primero debe 'Importar una plantilla de sitio web completa' o simplemente 'Agregar una página / contenedor'. RequestedPageHasNoContentYet=La página solicitada con id %s todavía no tiene contenido o el archivo de caché .tpl.php fue eliminado. Editar el contenido de la página para resolver esto. PageContent=Página/Contenair PageDeleted=Página/Contenair '%s' del sitio web %s eliminado diff --git a/htdocs/langs/es_ES/accountancy.lang b/htdocs/langs/es_ES/accountancy.lang index 93faa22f85e..bef3afe0bd2 100644 --- a/htdocs/langs/es_ES/accountancy.lang +++ b/htdocs/langs/es_ES/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Países no incluidos en la CEE CountriesInEECExceptMe=Países en la CEE excepto %s CountriesExceptMe=Todos los países excepto %s AccountantFiles=Exportar documentos de origen -ExportAccountingSourceDocHelp=Con esta herramienta, puede exportar los eventos de origen (lista y PDF) que se utilizaron para generar su contabilidad. Para exportar sus diarios, use la entrada de menú %s - %s. +ExportAccountingSourceDocHelp=Con esta herramienta, puede exportar los eventos de origen (lista en CSV y PDF) que se utilizaron para generar su contabilidad. +ExportAccountingSourceDocHelp2=Para exportar sus diarios, use la entrada de menú %s - %s. VueByAccountAccounting=Ver por cuenta contable VueBySubAccountAccounting=Ver por subcuenta contable @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Longitud de las subcuentas de terceros ( si ajusta el ACCOUNTING_MANAGE_ZERO=Gestiona el cero al final de una cuenta contable. Necesario en algunos países (como Suiza). Si se mantiene desactivada (por defecto), puede configurar los 2 parámetros siguientes para pedir que la aplicación agregue el cero virtual BANK_DISABLE_DIRECT_INPUT=Desactivar transacciones directas en cuenta bancaria ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Habilitar exportación de borradores al diario -ACCOUNTANCY_COMBO_FOR_AUX=Habilitar la lista combinada para la cuenta subsidiaria (puede ser lento si tiene muchos terceros) +ACCOUNTANCY_COMBO_FOR_AUX=Habilite la lista combinada para la cuenta subsidiaria (puede ser lento si tiene muchos terceros, rompa la capacidad de buscar en una parte del valor) ACCOUNTING_DATE_START_BINDING=Defina una fecha para comenzar a vincular y transferir en contabilidad. Por debajo de esta fecha, las transacciones no se transferirán a contabilidad. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=En la transferencia de contabilidad, seleccione el período que se muestra de forma predeterminada @@ -245,9 +246,9 @@ DescThirdPartyReport=Consulte aquí el listado de clientes y proveedores y sus c ListAccounts=Listado de cuentas contables UnknownAccountForThirdparty=Cuenta contable de tercero desconocida, usaremos %s UnknownAccountForThirdpartyBlocking=Cuenta contable de tercero desconocida. Error de bloqueo -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Cuenta de tercero no definida o tercero desconocido. Usaremos %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tercero desconocido y cuenta auxiliar no definida en el pago. Se mantendrá vacío el valor de la cuenta auxiliar. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Cuenta del tercero desconocida o tercero desconocido. Error de bloqueo +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Cuenta del tercero desconocida y cuenta de espera no definida. Error de bloqueo PaymentsNotLinkedToProduct=Pagos no vinculados a un producto/servicio OpeningBalance=Saldo inicial @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Deshabilitar la vinculación y transfere ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Desactive la vinculación y transferencia en contabilidad en informes de gastos (los informes de gastos no se tendrán en cuenta en la contabilidad) ## Export +NotifiedExportDate=Fecha de exportación notificada (no será posible modificar las entradas) +NotifiedValidationDate=Validación de las entradas (no será posible modificar o eliminar las entradas) +ConfirmExportFile=¿Confirmación de la generación del archivo de exportación contable? ExportDraftJournal=Exportar libro borrador Modelcsv=Modelo de exportación Selectmodelcsv=Seleccione un modelo de exportación @@ -335,7 +339,7 @@ Modelcsv_normal=Exportación clásica Modelcsv_CEGID=Exportar a CEGID Expert Comptabilité Modelcsv_COALA=Exportar a Sage Coala Modelcsv_bob50=Exportar a Sage BOB 50 -Modelcsv_ciel=Exportar a Sage Ciel Compta o Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Exportar a Quadratus QuadraCompta Modelcsv_ebp=Exportar a EBP Modelcsv_cogilog=Eportar a Cogilog diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index 0c5f9b62812..9298219c73f 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -53,6 +53,7 @@ InternalUser=Usuario interno ExternalUser=Usuario externo InternalUsers=Usuarios internos ExternalUsers=Usuarios externos +UserInterface=Interfaz de usuario GUISetup=Entorno SetupArea=Configuración UploadNewTemplate=Nueva(s) plantilla(s) actualizada(s) @@ -84,6 +85,7 @@ NumberOfBytes=Número de Bytes SearchString=Buscar cadena NotAvailableWhenAjaxDisabled=No disponible cuando Ajax esté desactivado AllowToSelectProjectFromOtherCompany=En un documento de un tercero, puede elegir un proyecto vinculado a otro tercero +TimesheetPreventAfterFollowingMonths=Impedir la introducción de tiempos transcurridos el siguiente número de meses JavascriptDisabled=Javascript desactivado UsePreviewTabs=Ver fichas "vista previa" ShowPreview=Ver vista previa @@ -116,6 +118,7 @@ MultiCurrencySetup=Configuración del módulo multidivisa MenuLimits=Límites y precisión MenuIdParent=Id del menú padre DetailMenuIdParent=ID del menú padre (vacío para un menú superior) +ParentID=ID Padre DetailPosition=Número de orden para la posición del menú AllMenus=Todos NotConfigured=Módulo/Aplicación no configurado @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funcionaliad disponible únicamente en versiones of BoxesDesc=Los paneles son componentes que muestran algunos datos que pueden añadirse para personalizar algunas páginas. Puede elegir entre mostrar o no el panel mediante la selección de la página de destino y haciendo clic en 'Activar', o haciendo clic en la papelera para desactivarlo. OnlyActiveElementsAreShown=Sólo los elementos de módulos activados son mostrados. ModulesDesc=Los módulos/aplicaciones definen qué funcionalidad está habilitada en el software. Algunos módulos requieren permisos que se deben conceder a los usuarios después de activar el módulo. Haga clic en el botón de on/off %sde cada módulo para habilitar o deshabilitar un módulo/aplicación. +ModulesDesc2=Haga clic en el botón %s para configurar el módulo/aplicación. ModulesMarketPlaceDesc=Puede encontrar más módulos para descargar en sitios web externos en Internet ... ModulesDeployDesc=Si los permisos en su sistema de archivos lo permiten, puede utilizar esta herramienta para instalar un módulo externo. El módulo estará entonces visible en la pestaña %s. ModulesMarketPlaces=Buscar módulos externos... @@ -221,8 +225,8 @@ NotCompatible=Este módulo no parece compatible con su Dolibarr %s (Min %s - Max CompatibleAfterUpdate=Este módulo requiere una actualización de su Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Ver en la tienda SeeSetupOfModule=Vea la configuración del módulo %s +SetOptionTo=Establezca la opción %s en %s Updated=Actualizado -Nouveauté=Novedad AchatTelechargement=Comprar/Descargar GoModuleSetupArea=Para instalar un nuevo módulo, vaya al área de configuración de módulos en %s. DoliStoreDesc=DoliStore, el sitio oficial de módulos complementarios y para Dolibarr ERP/CRM @@ -399,6 +403,7 @@ SecurityToken=Clave para encriptar urls NoSmsEngine=No hay disponible ningún gestor de envío de SMS. Los gestores de envío de SMS no se instalan por defecto ya que dependen de cada proveedor, sin embargo puede encontrarlos en la plataforma %s PDF=PDF PDFDesc=Opciones globales para la generación de PDF. +PDFOtherDesc=Opción PDF específica para algunos módulos PDFAddressForging=Reglas para las direcciones HideAnyVATInformationOnPDF=Ocultar toda la información relacionada con el Impuesto/IVA PDFRulesForSalesTax=Reglas de IVA @@ -561,7 +566,7 @@ Module53Desc=Gestión de servicios Module54Name=Contratos/Suscripciones Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes) Module55Name=Códigos de barras -Module55Desc=Gestión de los códigos de barras +Module55Desc=Gestión de códigos de barras o códigos QR Module56Name=Pago por transferencia bancaria Module56Desc=Gestión de pagos a proveedores mediante órdenes de transferencia bancaria. Incluye la generación de archivos SEPA para países europeos. Module57Name=Pagos por domiciliación bancaria @@ -848,10 +853,10 @@ Permission402=Crear/modificar haberes Permission403=Validar haberes Permission404=Eliminar haberes Permission430=Usa barra de debug -Permission511=Leer pagos de salarios (suyos y subordinados) -Permission512=Crear/modificar pagos de salarios -Permission514=Eliminar pagos de salarios -Permission517=Leer pagos de salarios de todos +Permission511=Leer salarios y pagos (suyos y subordinados) +Permission512=Crear / modificar salarios y pagos +Permission514=Eliminar salarios y pagos +Permission517=Leer sueldos y pagos de todos Permission519=Exportar salarios Permission520=Consultar Créditos Permission522=Crear/modificar Créditos @@ -965,6 +970,8 @@ Permission23003=Borrar Trabajo Programado Permission23004=Ejecutar Trabajo programado Permission50101=Usar punto de venta (TPV simple) Permission50151=Usar punto de venta (TakePOS) +Permission50152=Editar líneas de venta +Permission50153=Editar líneas de venta ordenadas Permission50201=Consultar las transacciones Permission50202=Importar las transacciones Permission50330=Consultar objetos de Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Unidades de Medida DictionarySocialNetworks=Redes sociales DictionaryProspectStatus=Estado prospección para empresas DictionaryProspectContactStatus=Estado prospección para contactos -DictionaryHolidayTypes=Tipos de vacaciones +DictionaryHolidayTypes=Permisos - Tipos de permisos DictionaryOpportunityStatus=Estado de oportunidad para el proyecto/oportunidad DictionaryExpenseTaxCat=Informe de gastos - Categorías de transporte DictionaryExpenseTaxRange=Informe de gastos - Rango por categoría de transporte DictionaryTransportMode=Informe intracomm: modo de transporte +DictionaryBatchStatus=Estado del control de calidad del lote/serie del producto TypeOfUnit=Tipo de unidad SetupSaved=Configuración guardada SetupNotSaved=Configuración no guardada @@ -1185,9 +1193,12 @@ SetupDescription2=Las siguientes dos secciones son obligatorias (las dos primera SetupDescription3=%s -> %s

    Parámetros básicos para personalizar el comportamiento por defecto de Dolibarr (por ejemplo características relacionadas con el país) SetupDescription4=%s -> %s

    Este software es una colección de varios módulos/aplicaciones. Los módulos relevantes para tus necesidades deben ser activados y configurados. Se añadirán nuevas funcionalidades a los menús por cada módulo que se active. SetupDescription5=Las otras entradas de configuración gestionan parámetros opcionales. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Eventos de seguridad que se auditan NoSecurityEventsAreAduited=No se auditan eventos de seguridad. Puede habilitarlos desde el menú %s -Audit=Auditoría +Audit=Eventos de seguridad InfoDolibarr=Acerca de Dolibarr InfoBrowser=Acerca del Navegador InfoOS=Acerca del SO @@ -1257,7 +1268,7 @@ DownloadMoreSkins=Más temas para descargar SimpleNumRefModelDesc=Devuelve el número de referencia en el formato %syymm-nnnn donde aa es el año, mm es el mes y nnnn es un número secuencial que se incrementa automáticamente sin reinicio. SimpleNumRefNoDateModelDesc=Devuelve el número de referencia en el formato %s-nnnn donde nnnn es un número secuencial que se incrementa automáticamente sin reinicio ShowProfIdInAddress=Mostrar el identificador profesional en las direcciones -ShowVATIntaInAddress=Ocultar el identificador IVA Intracomunitario en las direcciones +ShowVATIntaInAddress=Ocultar el IVA Intracomunitario en las direcciones TranslationUncomplete=Traducción parcial MAIN_DISABLE_METEO=Deshabilitar la vista meteorológica MeteoStdMod=Modo estándar @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Actualmente la condición es %s YouUseBestDriver=Está usando el driver %s, actualmente es el mejor driver disponible. YouDoNotUseBestDriver=Usa el driver %s aunque se recomienda usar el driver %s. NbOfObjectIsLowerThanNoPb=Solo tiene %s %s en la base de datos. Esto no requiere ninguna optimización particular. +ComboListOptim=Optimización de carga de lista combinada SearchOptim=Buscar optimización -YouHaveXObjectUseSearchOptim=Tiene %s %s en la base de datos. Puede agregar la constante %s a 1 en Inicio-Configuración-Otros. Limite la búsqueda al comienzo de las cadenas, lo que hace posible que la base de datos use índices y debería obtener una respuesta inmediata. -YouHaveXObjectAndSearchOptimOn=Tiene %s %s en su base de datos y la constante %s configurada como 1 en Inicio-Configuración-Varios +YouHaveXObjectUseComboOptim=Tiene %s %s en la base de datos. Puede ir a la configuración del módulo para habilitar la carga de la lista combinada en el evento de tecla presionada. +YouHaveXObjectUseSearchOptim=Tiene %s %s en la base de datos. Puede agregar la constante %s a 1 en Inicio-Configuración-Varios. +YouHaveXObjectUseSearchOptimDesc=Esto limita la búsqueda al comienzo de las cadenas, lo que hace posible que la base de datos utilice índices y debería obtener una respuesta inmediata. +YouHaveXObjectAndSearchOptimOn=Tiene %s %s en la base de datos y la constante %s se establece en %s en Inicio-Configuración-Otros. BrowserIsOK=Usa el navegador web %s. Este navegador está optimizado para la seguridad y el rendimiento. BrowserIsKO=Usa el navegador web %s. Este navegador es una mala opción para la seguridad, rendimiento y fiabilidad. Aconsejamos utilizar Firefox, Chrome, Opera o Safari. PHPModuleLoaded=El componente PHP %s está cargado @@ -1433,6 +1447,7 @@ MemberMainOptions=Opciones principales AdherentLoginRequired= Gestionar un login para cada miembro AdherentMailRequired=E-Mail obligatorio para crear un miembro nuevo MemberSendInformationByMailByDefault=Casilla de verificación para enviar el correo de confirmación (validación ó nueva cotización) a los miembros es por defecto "sí" +MemberCreateAnExternalUserForSubscriptionValidated=Cree un inicio de sesión de usuario externo para cada nueva suscripción de miembro validada VisitorCanChooseItsPaymentMode=El visitante puede elegir entre los modos de pago disponibles MEMBER_REMINDER_EMAIL=Habilitar recordatorio de eventos por e-mail de suscripciones expiradas. Nota: El módulo %s debe estar habilitado y configurado correctamente para que el recordatorio se envíe. MembersDocModules=Plantillas de documentos para documentos generados a partir de registros de miembros @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Establecer la vista por defecto al seleccionar el menú Agen AGENDA_REMINDER_BROWSER=Habilitar el recordatorio de eventos en el navegador del usuario (Cuando se alcanza la fecha de recordatorio, el navegador muestra una ventana emergente. Cada usuario puede deshabilitar dichas notificaciones desde la configuración de notificaciones del navegador). AGENDA_REMINDER_BROWSER_SOUND=Activar sonido de notificación AGENDA_REMINDER_EMAIL=Habilitar el recordatorio de eventos por correo electrónico (la opción de recordatorio/retraso se puede definir en cada evento). -AGENDA_REMINDER_EMAIL_NOTE=Nota: La frecuencia de la tarea %s debe ser suficiente para asegurarse de que los recordatorios se envíen en el momento correcto. +AGENDA_REMINDER_EMAIL_NOTE=Nota: La frecuencia del trabajo programado %s debe ser suficiente para asegurarse de que el recordatorio se envíe en el momento correcto. AGENDA_SHOW_LINKED_OBJECT=Mostrar el link en la agenda ##### Clicktodial ##### ClickToDialSetup=Configuración del módulo Click To Dial ClickToDialUrlDesc=Url llamada cuando se hace clic en el icono de teléfono. En la URL, puede usar los tags
    __PHONETO__ que se reemplazará con el número de teléfono de la persona a llamar
    __PHONEFROM__ que será reemplazado por el número de teléfono de la persona que llama (suyo)
    __LOGIN__ que se reemplazará con el login clicktodial (definido en la tarjeta de usuario)
    __PASS__ que será Sustituido por la contraseña clicktodial (definida en la ficha de usuario). ClickToDialDesc=Este módulo cambia los números de teléfono, cuando se usa una computadora de escritorio, en enlaces en los que se puede hacer clic. Un clic llamará al número. Esto se puede usar para iniciar una llamada telefónica cuando usa un softphone en su escritorio o cuando usa un sistema CTI basado en el protocolo SIP, por ejemplo. Nota: cuando se usa un teléfono inteligente, siempre se puede hacer clic en los números de teléfono. ClickToDialUseTelLink=Utilice el enlace "tel:" que aparece en los números de teléfono -ClickToDialUseTelLinkDesc=Utilice este método si los usuarios tienen un softphone o una interfaz de software instalado en mismo equipo que el navegador, y se llama al hacer clic en un enlace en el navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe establecer este en "No" y rellenar siguiente campo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=TPV CashDeskSetup=Configuración del módulo Terminal Punto de Venta @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Margen derecho en PDF MAIN_PDF_MARGIN_TOP=Margen superior en PDF MAIN_PDF_MARGIN_BOTTOM=Margen inferior en PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Altura del logo en PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Agregar imagen en la línea de propuesta +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Agregar firma electrónica en PDF NothingToSetup=No hay ninguna configuración a realizar en este módulo. SetToYesIfGroupIsComputationOfOtherGroups=Establezca esto a sí si este grupo es un cálculo de otros grupos EnterCalculationRuleIfPreviousFieldIsYes=Ingrese la regla de cálculo si el campo anterior se estableció en Sí.
    Por ejemplo:
    CODEGRP1 + CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Mayor que IfTrackingIDFoundEventWillBeLinked=Tenga en cuenta que si se encuentra un ID de seguimiento de un objeto en un correo electrónico, o si el correo electrónico es una respuesta de un correo electrónico ya recopilado y vinculado a un objeto, el evento creado se vinculará automáticamente al objeto relacionado conocido. WithGMailYouCanCreateADedicatedPassword=Con una cuenta de GMail, si habilitó la validación de 2 pasos, se recomienda crear una segunda contraseña dedicada para la aplicación en lugar de usar su propia contraseña de https://myaccount.google.com/. EmailCollectorTargetDir=Puede desear mover el e-mail a otra etiqueta/directorio cuando se procesó correctamente. Simplemente configure el nombre del directorio aquí para usar esta función (NO use caracteres especiales en el nombre). Tenga en cuenta que también debe utilizar un login de lectura/escritura. -EmailCollectorLoadThirdPartyHelp=Puede usar esta acción para usar el contenido del email para encontrar y cargar un tercero existente en su base de datos. El tercero encontrado (o creado) se utilizará para las siguientes acciones que lo necesiten. En el campo de parámetros puede usar, por ejemplo, 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' si desea extraer el nombre del tercero de una cadena 'Name: nombre a encontrar' encontrado en el body. +EmailCollectorLoadThirdPartyHelp=Puede usar esta acción para utilizar el contenido del e-mail para buscar y cargar un tercero existente en su base de datos. El tercero encontrado (o creado) se utilizará para las siguientes acciones que lo necesiten.
    Por ejemplo, si desea crear un tercero con un nombre extraído una cadena 'Nombre: nombre para encontrar' que se encuentra en el cuerpo, use el e-mail del remitente como e-mail, puede establecer el campo de esta manera:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Eliminar el recolector de e-mail ConfirmDeleteEmailCollector=¿Está seguro de que querer eliminar este recolector de e-mail? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Mostrar proyecto en documento ShowProjectLabel=Etiqueta del proyecto PDF_USE_ALSO_LANGUAGE_CODE=Si desea duplicar algunos textos en su PDF en 2 idiomas diferentes en el mismo PDF generado, debe establecer aquí este segundo idioma para que el PDF generado contenga 2 idiomas diferentes en la misma página, el elegido al generar el PDF y este ( solo unas pocas plantillas PDF lo admiten). Mantener vacío para 1 idioma por PDF. FafaIconSocialNetworksDesc=Ingrese aquí el código de un ícono FontAwesome. Si no sabe qué es FontAwesome, puede usar el valor genérico fa-address-book. -FeatureNotAvailableWithReceptionModule=Función no disponible cuando el módulo Recepción está activado RssNote=Nota: Cada definición de fuente RSS proporciona un widget que debe habilitar para que esté disponible en el tablero JumpToBoxes=Vaya a Configuración -> Módulos MeasuringUnitTypeDesc=Utilice aquí un valor como "tamaño", "superficie", "volumen", "peso", "tiempo" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Comuníquese con su banco para obtener esta identificación AdvancedModeOnly=Permiso disponible solo en el modo de permiso avanzado ConfFileIsReadableOrWritableByAnyUsers=Cualquier usuario puede leer o escribir en el archivo conf. Otorgue permiso al usuario y al grupo del servidor web únicamente. MailToSendEventOrganization=Organización de evento +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Estado de evento predeterminado al crear un evento desde el formulario YouShouldDisablePHPFunctions=Deberías deshabilitar las funciones de PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Excepto si necesita ejecutar comandos del sistema (para el módulo Trabajo programado o para ejecutar el antivirus de línea de comando externo, por ejemplo), debe deshabilitar las funciones de PHP +IfCLINotRequiredYouShouldDisablePHPFunctions=Excepto si necesita ejecutar comandos del sistema en código personalizado, debe deshabilitar las funciones PHP +PHPFunctionsRequiredForCLI=Para fines de shell (como una copia de seguridad programada de trabajos o ejecutar un programa anitivurs), debe mantener las funciones de PHP NoWritableFilesFoundIntoRootDir=No se encontraron archivos o directorios grabables de los programas comunes en su directorio raíz (Bueno) RecommendedValueIs=Recomendado: %s +Recommended=Recomendada +NotRecommended=No recomendado ARestrictedPath=Una ruta restringida CheckForModuleUpdate=Compruebe si hay actualizaciones de módulos externos CheckForModuleUpdateHelp=Esta acción se conectará a los editores de módulos externos para comprobar si hay una nueva versión disponible. ModuleUpdateAvailable=Hay una actualización disponible NoExternalModuleWithUpdate=No se encontraron actualizaciones para módulos externos SwaggerDescriptionFile=Archivo de descripción de la API de Swagger (para usar con redoc, por ejemplo) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Habilitó la API WS obsoleta. En su lugar, debería utilizar la API REST. +RandomlySelectedIfSeveral=Seleccionado aleatoriamente si hay varias imágenes disponibles +DatabasePasswordObfuscated=La contraseña de la base de datos está oculta en el archivo conf +DatabasePasswordNotObfuscated=La contraseña de la base de datos NO está oculta en el archivo conf +APIsAreNotEnabled=Los módulos de API no están habilitados +YouShouldSetThisToOff=Debe configurar a 0 o apagarlo +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/es_ES/agenda.lang b/htdocs/langs/es_ES/agenda.lang index ecf81d8bad2..950e08e111e 100644 --- a/htdocs/langs/es_ES/agenda.lang +++ b/htdocs/langs/es_ES/agenda.lang @@ -4,7 +4,7 @@ Actions=Eventos Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Calendario interno +LocalAgenda=Calendario predeterminado ActionsOwnedBy=Acontecimiento asignado a ActionsOwnedByShort=Propietario AffectedTo=Asignada a @@ -20,7 +20,7 @@ MenuToDoActions=Eventos incompletos MenuDoneActions=Eventos terminados MenuToDoMyActions=Mis eventos incompletos MenuDoneMyActions=Mis eventos terminados -ListOfEvents=Lista de acontecimientos (calendario interno) +ListOfEvents=Lista de eventos (calendario predeterminado) ActionsAskedBy=Eventos registrados por ActionsToDoBy=Eventos asignados a ActionsDoneBy=Eventos realizados por @@ -38,6 +38,7 @@ ActionsEvents=Eventos para que Dolibarr cree un evento en la agenda de forma aut EventRemindersByEmailNotEnabled=Los recordatorios de eventos por e-mail no se activaron en la configuración del módulo %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Tercero %s creado +COMPANY_MODIFYInDolibarr=Tercero %s modificado COMPANY_DELETEInDolibarr=Tercero %s eliminado ContractValidatedInDolibarr=Contrato %s validado CONTRACT_DELETEInDolibarr=Contrato %s eliminado @@ -87,6 +88,7 @@ OrderDeleted=Pedido eliminado InvoiceDeleted=Factura eliminada DraftInvoiceDeleted=Borrador de factura eliminado CONTACT_CREATEInDolibarr=Contacto %s creado +CONTACT_MODIFYInDolibarr=Contacto %s modificado CONTACT_DELETEInDolibarr=Contacto %s eliminado PRODUCT_CREATEInDolibarr=Producto %s creado PRODUCT_MODIFYInDolibarr=Producto %s modificado @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=OF establecida en estado de borrador MRP_MO_PRODUCEDInDolibarr=OF fabricada MRP_MO_DELETEInDolibarr=OF eliminada MRP_MO_CANCELInDolibarr=OF candelada +PAIDInDolibarr=%s pagado ##### End agenda events ##### AgendaModelModule=Plantillas de documentos para eventos DateActionStart=Fecha de inicio @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%spara restringir notificaciones en acciones asi AgendaUrlOptionsProject=project=__PROJECT_ID__ para restringir exportación de acciones asociadas al proyecto __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto para excluir el evento automático. AgendaUrlOptionsIncludeHolidays=  includeholidays = 1 para incluir eventos de días libres. -AgendaShowBirthdayEvents=Mostrar cumpleaños de los contactos +AgendaShowBirthdayEvents=Cumpleaños de contactos AgendaHideBirthdayEvents=Ocultar cumpleaños de los contactos Busy=Ocupado ExportDataset_event1=Listado de eventos de la agenda diff --git a/htdocs/langs/es_ES/banks.lang b/htdocs/langs/es_ES/banks.lang index 337f6d2063d..76eda5dff12 100644 --- a/htdocs/langs/es_ES/banks.lang +++ b/htdocs/langs/es_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=Hacia TransferFromToDone=La transferencia de %s hacia %s de %s %s se ha creado. CheckTransmitter=Emisor ValidateCheckReceipt=¿Validar esta remesa? -ConfirmValidateCheckReceipt=¿Está seguro de que desea enviar este recibo de cheque para su validación? No es posible realizar cambios, está hecho. +ConfirmValidateCheckReceipt=¿Está seguro de que desea enviar este recibo de cheque para su validación? No será posible realizar cambios una vez validado. DeleteCheckReceipt=¿Eliminar esta remesa? ConfirmDeleteCheckReceipt=¿Está seguro de querer eliminar esta remesa? BankChecks=Cheques diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang index 3b5e6f584d0..dc312787fb3 100644 --- a/htdocs/langs/es_ES/bills.lang +++ b/htdocs/langs/es_ES/bills.lang @@ -244,6 +244,7 @@ EscompteOffered=Descuento (Pronto pago) EscompteOfferedShort=Descuento SendBillRef=Envío de la factura %s SendReminderBillRef=Envío de la factura %s (recordatorio) +SendPaymentReceipt=Envío del recibo de pago %s NoDraftBills=Ninguna factura borrador NoOtherDraftBills=Ninguna otra factura borrador NoDraftInvoices=Sin facturas borrador @@ -259,6 +260,7 @@ DateMaxPayment=Fecha límite de pago DateInvoice=Fecha facturación DatePointOfTax=Impuestos NoInvoice=Ninguna factura +NoOpenInvoice=Sin factura abierta ClassifyBill=Clasificar la factura SupplierBillsToPay=Facturas de proveedor pendientes de pago CustomerBillsUnpaid=Facturas a cliente pendientes de cobro @@ -589,3 +591,4 @@ FacParentLine=Línea de factura principal SituationTotalRayToRest=Resto a pagar sin impuestos PDFSituationTitle=Situación n ° %d SituationTotalProgress=Progreso total %d %% +SearchUnpaidInvoicesWithDueDate=Buscar facturas impagas con una fecha de vencimiento = %s diff --git a/htdocs/langs/es_ES/boxes.lang b/htdocs/langs/es_ES/boxes.lang index fc3e239692d..f3142cb5242 100644 --- a/htdocs/langs/es_ES/boxes.lang +++ b/htdocs/langs/es_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Últimos %s pedidos de clientes modificados BoxTitleLastModifiedCustomerBills=Últimas %s facturas a clientes modificadas BoxTitleLastModifiedCustomerOrders=Últimos %s pedidos de clientes modificados BoxTitleLastModifiedPropals=Últimos %s presupuestos modificados -BoxTitleLatestModifiedJobPositions=Últimos %s trabajos modificados -BoxTitleLatestModifiedCandidatures=Últimas %s candidaturas modificadas +BoxTitleLatestModifiedJobPositions=Últimos%s puestos de trabajo modificados +BoxTitleLatestModifiedCandidatures=Últimas%s solicitudes de trabajo modificadas ForCustomersInvoices=Facturas a clientes ForCustomersOrders=Pedidos de clientes ForProposals=Presupuestos diff --git a/htdocs/langs/es_ES/cashdesk.lang b/htdocs/langs/es_ES/cashdesk.lang index 4122e27b7a3..4c53f3437b3 100644 --- a/htdocs/langs/es_ES/cashdesk.lang +++ b/htdocs/langs/es_ES/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag es usado para añadir el número TakeposGroupSameProduct=Agrupar mismas líneas de producto StartAParallelSale=Nueva venta simultánea  SaleStartedAt=Oferta comenzada en %s -ControlCashOpening=Controle la ventana emergente de efectivo al abrir POS +ControlCashOpening=Abra la ventana emergente "Controlar efectivo" al abrir el POS CloseCashFence=Control de cierre de caja CashReport=Arqueo MainPrinterToUse=Impresora principal @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Debe activarse primero el módulo de impresora AllowDelayedPayment=Permitir pago aplazado PrintPaymentMethodOnReceipts=Imprimir método de pago en tickets|recibos WeighingScale=Balanza -ShowPriceHT = Mostrar la columna de precio sin impuestos -ShowPriceHTOnReceipt = Mostrar la columna de precio sin impuestos al recibirla +ShowPriceHT = Mostrar la columna con el precio sin impuestos (en pantalla) +ShowPriceHTOnReceipt = Mostrar la columna con el precio sin impuestos (en el recibo) +CustomerDisplay=Customer display diff --git a/htdocs/langs/es_ES/compta.lang b/htdocs/langs/es_ES/compta.lang index eb1f7102c6c..94ac4a7b1c0 100644 --- a/htdocs/langs/es_ES/compta.lang +++ b/htdocs/langs/es_ES/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Volumen de compras facturado ReportPurchaseTurnoverCollected=Volumen de compras pagadas IncludeVarpaysInResults = Incluir varios pagos en informes IncludeLoansInResults = Incluir préstamos en informes +InvoiceLate30Days = Facturas atrasadas > 30 días +InvoiceLate15Days = Facturas atrasadas > 15 días +InvoiceLateMinus15Days = Facturas atrasadas +InvoiceNotLate = A recoger < 15 días +InvoiceNotLate15Days = A recoger en 15 días +InvoiceNotLate30Days = Recoger en 30 días diff --git a/htdocs/langs/es_ES/cron.lang b/htdocs/langs/es_ES/cron.lang index bc2036a769d..06a2e94309b 100644 --- a/htdocs/langs/es_ES/cron.lang +++ b/htdocs/langs/es_ES/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=La fecha de finalizacion no puede ser anterior a la fecha StatusAtInstall=Estado en la instalación del módulo CronStatusActiveBtn=Calendario CronStatusInactiveBtn=Inactivo -CronTaskInactive=Esta tarea esta inactiva +CronTaskInactive=Este trabajo está inhabilitado (no programado) CronId=Id CronClassFile=Nombre de archivo con clase CronModuleHelp=Nombre del directorio del módulo Dolibarr (también funciona con módulos externos).
    Por ejemplo, para realizar un fetch del objeto Product /htdocs/product/class/product.class.php, el valor del módulo es product diff --git a/htdocs/langs/es_ES/deliveries.lang b/htdocs/langs/es_ES/deliveries.lang index f766e2d6734..e7778831157 100644 --- a/htdocs/langs/es_ES/deliveries.lang +++ b/htdocs/langs/es_ES/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=No enviable ShowShippableStatus=Mostrar estado del envío ShowReceiving=Mostrar nota de recepción NonExistentOrder=Pedido inexistente +StockQuantitiesAlreadyAllocatedOnPreviousLines = Cantidades de stock ya asignadas en líneas anteriores diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 958e6a8096e..fbe0f965371 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Valor incorrecto para su parámetro. Generalment ErrorRefAlreadyExists=La referencia %s ya existe. ErrorLoginAlreadyExists=El login %s ya existe. ErrorGroupAlreadyExists=El grupo %s ya existe. +ErrorEmailAlreadyExists=El correo electrónico %s ya existe. ErrorRecordNotFound=Registro no encontrado ErrorFailToCopyFile=Error al copiar el archivo '%s' en '%s'. ErrorFailToCopyDir=Error al copiar el directorio '%s' en '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Error de lectura del archivo '%s' ErrorCantReadDir=Error de lectura del directorio '%s' ErrorBadLoginPassword=Identificadores de usuario o contraseña incorrectos ErrorLoginDisabled=Su cuenta está desactivada -ErrorFailedToRunExternalCommand=Error de ejecución del comando externo. Compruebe que está disponible y ejecutable por su servidor PHP. Si el PHP Safe Mode está activo, compruebe que el comando se encuentra en un directorio definido en el parámetro safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=No se pudo ejecutar el comando externo. Compruebe que esté disponible y que el usuario de su servidor PHP pueda ejecutar. Compruebe también que el comando no está protegido a nivel de shell por una capa de seguridad como apparmor. ErrorFailedToChangePassword=Error en la modificación de la contraseña ErrorLoginDoesNotExists=La cuenta de usuario de %s no se ha encontrado. ErrorLoginHasNoEmail=Este usuario no tiene e-mail. Imposible continuar. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, la fecha no puede ser futura ErrorAnAmountWithoutTaxIsRequired=Error, la cantidad es obligatoria ErrorAPercentIsRequired=Error, ingrese el porcentaje correctamente ErrorYouMustFirstSetupYourChartOfAccount=Primero debe configurar su plan de cuentas +ErrorFailedToFindEmailTemplate=No se pudo encontrar la plantilla con el nombre de código %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duración no definida en el servicio. No hay forma de calcular el precio por hora. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=El parámetro PHP upload_max_filesize (%s) es más alto que el parámetro PHP post_max_size (%s). Esta no es una configuración consistente. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=El módulo %s no se ha habilitado. A ErrorActionCommPropertyUserowneridNotDefined=Se requiere el propietario del usuario ErrorActionCommBadType=El tipo de evento seleccionado (id: %n, código: %s) no existe en el diccionario de tipo de evento CheckVersionFail=Error de verificación de versión +ErrorWrongFileName=El nombre del archivo no puede contener __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=No está en el Diccionario de términos de pago, modifíquelo. diff --git a/htdocs/langs/es_ES/eventorganization.lang b/htdocs/langs/es_ES/eventorganization.lang index 2ceb85f4861..b700d6ced23 100644 --- a/htdocs/langs/es_ES/eventorganization.lang +++ b/htdocs/langs/es_ES/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Precio de suscripción para hacer stand EventOrganizationICSLink=Enlace ICS para eventos ConferenceOrBoothInformation=Información sobre conferencias o stands Attendees = Asistentes +DownloadICSLink = Descargar enlace ICS EVENTORGANIZATION_SECUREKEY = Secure Key del enlace de registro público a una conferencia +SERVICE_BOOTH_LOCATION = Servicio utilizado para la fila de facturas sobre la ubicación de un stand +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Servicio utilizado para la fila de la factura sobre la suscripción de un asistente a una conferencia +NbVotes=Número de votos # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelado # # Public page # +SuggestForm = Página de sugerencias +RegisterPage = Página para conferencias o stand +EvntOrgRegistrationHelpMessage = Aquí, puede votar por un evento o sugerir una nueva conferencia o stand para el proyecto. +EvntOrgRegistrationConfHelpMessage = Aquí, puede sugerir una nueva conferencia para el proyecto. +EvntOrgRegistrationBoothHelpMessage = Aquí, puedes sugerir un nuevo stand para el proyecto. +ListOfSuggestedConferences = Lista de conferencias sugeridas +ListOfSuggestedBooths = Lista de cabinas sugeridas +SuggestConference = Sugerir una nueva conferencia +SuggestBooth = Sugerir un stand +ViewAndVote = Ver y votar eventos sugeridos PublicAttendeeSubscriptionPage = Enlace público de inscripción a una conferencia MissingOrBadSecureKey = La clave de seguridad no es válida o falta -EvntOrgWelcomeMessage = Este formulario le permite registrarse como nuevo participante en la conferencia. -EvntOrgStartDuration = Esta conferencia comienza el -EvntOrgEndDuration = y termina en +EvntOrgWelcomeMessage = Este formulario le permite registrarse como nuevo participante en la conferencia: '%s' +EvntOrgDuration = Esta conferencia comienza el %s y termina el %s. +ConferenceAttendeeFee = Cuota de asistente a la conferencia para el evento: '%s' que ocurre desde %s a %s. +BoothLocationFee = Ubicación del stand para el evento: '%s' que ocurre desde %s a %s +EventType = Tipo de evento +LabelOfBooth=Etiqueta de stand +LabelOfconference=Etiqueta de conferencia +ConferenceIsNotConfirmed=La suscripción no está disponible, la conferencia aún no está confirmada. +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Bienvenido a la página de sugerencias de la conferencia o stand. +EvntOrgRegistrationConfWelcomeMessage = Bienvenido a la página de sugerencias de la conferencia. +EvntOrgRegistrationBoothWelcomeMessage = Bienvenido a la página de sugerencias del stand. +EvntOrgVoteHelpMessage = Aquí puede ver y votar los eventos sugeridos para el proyecto. +VoteOk = Tu voto ha sido aceptado. +AlreadyVoted = Ya has votado por este evento. +VoteError = Se produjo un error durante la votación, inténtelo de nuevo. + +# +# SubscriptionOk page +# +SubscriptionOk = Su suscripción a esta conferencia ha sido validada +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmación de su suscripción a una conferencia +# +# Payment page +# +Attendee = Asistente +PaymentConferenceAttendee = Pago de asistentes a la conferencia +PaymentBoothLocation = Pago por ubicación de stand diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index 9a0e7decd49..9efcdbaae44 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipo de línea (0=producto, 1=servicio) FileWithDataToImport=Archivo que contiene los datos a importar FileToImport=Archivo origen a importar FileMustHaveOneOfFollowingFormat=El archivo de importación debe tener uno de los siguientes formatos -DownloadEmptyExample=Descargar una plantilla con la información de los contenidos de los campos (los marcados con * son obligatorios) +DownloadEmptyExample=Descargar archivo de plantilla con información de contenido de campo +StarAreMandatory=* son campos obligatorios ChooseFormatOfFileToImport=Elija el formato de archivo que desea importar haciendo en la imagen %s para seleccionarlo... ChooseFileToImport=Cargue el archivo y luego haga clic en el icono %s para seleccionar el archivo como archivo de importación de origen ... SourceFileFormat=Formato del archivo origen diff --git a/htdocs/langs/es_ES/holiday.lang b/htdocs/langs/es_ES/holiday.lang index 7e438f95100..1247dca5def 100644 --- a/htdocs/langs/es_ES/holiday.lang +++ b/htdocs/langs/es_ES/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=En espera de aprobación ApprovedCP=Aprobada CancelCP=Anulada RefuseCP=Rechazada -ValidatorCP=Validador +ValidatorCP=Aprobador ListeCP=Listado de días libres Leave=Ficha días libres LeaveId=ID Vacaciones @@ -39,10 +39,10 @@ TitreRequestCP=Ficha días libres TypeOfLeaveId=ID tipo de vacaciones TypeOfLeaveCode=Código tipo de vacaciones TypeOfLeaveLabel=Tipo de etiqueta de vacaciones -NbUseDaysCP=Número de días libres consumidos -NbUseDaysCPHelp=El cálculo tiene en cuenta los días no laborables y los días festivos definidos en el diccionario. -NbUseDaysCPShort=Días consumidos -NbUseDaysCPShortInMonth=Días consumidos en mes +NbUseDaysCP=Número de días de permiso utilizados +NbUseDaysCPHelp=El cálculo tiene en cuenta los días no laborables y los festivos definidos en el diccionario. +NbUseDaysCPShort=Días de permiso +NbUseDaysCPShortInMonth=Días de permiso en el mes DayIsANonWorkingDay=%s es un día no laborable DateStartInMonth=Fecha de inicio en mes DateEndInMonth=Fecha de finalización en mes @@ -55,7 +55,7 @@ TitleDeleteCP=Eliminar la petición de días libres ConfirmDeleteCP=¿Está seguro de querer eliminar esta petición de días libres? ErrorCantDeleteCP=Error, no tiene permisos para eliminar esta petición de días libres. CantCreateCP=No tiene permisos para realizar peticiones de días libres. -InvalidValidatorCP=Debe indicar un validador para su petición de días libres. +InvalidValidatorCP=Debe elegir al aprobador para su solicitud de permiso. NoDateDebut=Debe indicar una fecha de inicio. NoDateFin=Debe indicar una fecha de fin. ErrorDureeCP=Su petición de días libres no contiene ningún día hábil. @@ -80,14 +80,14 @@ UserCP=Usuario ErrorAddEventToUserCP=Se ha producido un error en la asignación del permiso excepcional. AddEventToUserOkCP=Se ha añadido el permiso excepcional. MenuLogCP=Ver registro de cambios -LogCP=Historial de actualizaciones de días libres -ActionByCP=Realizado por -UserUpdateCP=Para el usuario +LogCP=Registro de todas las actualizaciones realizadas en "Balance de Permisos" +ActionByCP=Actualizado por +UserUpdateCP=Actualizado para PrevSoldeCP=Saldo anterior NewSoldeCP=Nuevo saldo alreadyCPexist=Ya se ha efectuado una petición de días libres para este periodo. -FirstDayOfHoliday=Primer día libre -LastDayOfHoliday=Último día libre +FirstDayOfHoliday=Solicitud del primer día del permiso +LastDayOfHoliday=Solicitud de último de día de permiso BoxTitleLastLeaveRequests=Últimos %s días retribuidos HolidaysMonthlyUpdate=Actualización mensual ManualUpdate=Actualización manual @@ -104,8 +104,8 @@ LEAVE_SICK=Baja por enfermedad LEAVE_OTHER=Otra petición LEAVE_PAID_FR=Vacación ## Configuration du Module ## -LastUpdateCP=Última actualización automática de días libres -MonthOfLastMonthlyUpdate=Mes de la última actualización automática de días libres +LastUpdateCP=Última actualización automática de la asignación de vacaciones +MonthOfLastMonthlyUpdate=Mes de la última actualización automática de la asignación de vacaciones UpdateConfCPOK=Actualización efectuada correctamente. Module27130Name= Gestión de los días libres Module27130Desc= Gestión de días libres @@ -125,10 +125,12 @@ HolidaysCanceledBody=Su solicitud de días libres retribuidos desde el %s al %s FollowedByACounter=1: Este tipo de día retribuido necesita ser seguido por un contador. El contador se incrementa de forma manual o automáticamente y cuando se valida una solicitud, el contador disminuye.
    0: No es seguido por un contador. NoLeaveWithCounterDefined=No hay ningún tipo de peticiones definidas que deben ser seguidas por un contador GoIntoDictionaryHolidayTypes=Vaya a Inicio - Configuración - Diccionarios - Tipos de días libres para configurar los diferentes tipos. -HolidaySetup=Configuración del módulo Días libres -HolidaysNumberingModules=Modelos de numeración de petición de días libres +HolidaySetup=Configuración del módulo Permisos +HolidaysNumberingModules=Modelos de numeración para solicitudes de permisos TemplatePDFHolidays=Plantilla PDF para petición de días libres FreeLegalTextOnHolidays=Texto libre en el PDF WatermarkOnDraftHolidayCards=Marca de agua en las peticiones de días libres HolidaysToApprove=Vacaciones para aprobar NobodyHasPermissionToValidateHolidays=Nadie tiene permiso para validar días libres +HolidayBalanceMonthlyUpdate=Actualización mensual del saldo de vacaciones +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/es_ES/hrm.lang b/htdocs/langs/es_ES/hrm.lang index 29509408597..89ce8eec09a 100644 --- a/htdocs/langs/es_ES/hrm.lang +++ b/htdocs/langs/es_ES/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=¿Está seguro de querer eliminar este establecimient OpenEtablishment=Abrir establecimiento CloseEtablishment=Cerrar establecimiento # Dictionary -DictionaryPublicHolidays=RRHH: días festivos +DictionaryPublicHolidays=Permisos - Días festivos DictionaryDepartment=R.R.H.H. Listado departamentos DictionaryFunction=R.R.H.H. - Puestos de trabajo # Module diff --git a/htdocs/langs/es_ES/install.lang b/htdocs/langs/es_ES/install.lang index db506fac1b6..7132cd93342 100644 --- a/htdocs/langs/es_ES/install.lang +++ b/htdocs/langs/es_ES/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migración de la ruta de las fotos para los usuarios MigrationFieldsSocialNetworks=Migración de campos de redes sociales de usuarios (%s) MigrationReloadModule=Recargar módulo %s MigrationResetBlockedLog=Restablecer el módulo BlockedLog para el algoritmo v7 +MigrationImportOrExportProfiles=Migración de perfiles de importación o exportación (%s) ShowNotAvailableOptions=Mostrar opciones no disponibles HideNotAvailableOptions=Ocultar opciones no disponibles ErrorFoundDuringMigration=Se ha producido un error durante el proceso de migración, por lo que el siguiente paso no está disponible. Para ignorar errores puede hacer clic aquí, pero la aplicación a algunas funcionalidades pueden no funcionar correctamente mientras no se arregle el problema. diff --git a/htdocs/langs/es_ES/interventions.lang b/htdocs/langs/es_ES/interventions.lang index 3a655b6a95e..83471928031 100644 --- a/htdocs/langs/es_ES/interventions.lang +++ b/htdocs/langs/es_ES/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Duración línea intervención InterLineDesc=Descripción línea intervención RepeatableIntervention=Plantilla de intervención ToCreateAPredefinedIntervention=Para crear una intervención predefinida o recurrente, cree una intervención común y conviértala en plantilla de intervención -Reopen=Reabrir ConfirmReopenIntervention=¿Está seguro de querer volver a abrir la intervención %s ? +GenerateInter=Generar intervención diff --git a/htdocs/langs/es_ES/knowledgemanagement.lang b/htdocs/langs/es_ES/knowledgemanagement.lang index 4bf312a715f..9a7f688b94b 100644 --- a/htdocs/langs/es_ES/knowledgemanagement.lang +++ b/htdocs/langs/es_ES/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Acerca de KnowledgeManagementAbout = Acerca de la Gestión del Conocimiento KnowledgeManagementAboutPage = Gestión del Conocimiento sobre la página -# -# Sample page -# KnowledgeManagementArea = Gestión del Conocimiento - - -# -# Menu -# MenuKnowledgeRecord = Base de Conocimientos -ListOfArticles = Lista de articulos +ListKnowledgeRecord = Lista de articulos NewKnowledgeRecord = Articulo nuevo ValidateReply = Validar solución KnowledgeRecords = Artículos KnowledgeRecord = Artículo KnowledgeRecordExtraFields = Campos adicionales para el artículo +GroupOfTicket=Grupo de tickets +YouCanLinkArticleToATicketCategory=Puede vincular un artículo a un grupo de tickets (por lo que el artículo se sugerirá durante la calificación de nuevos tickets) diff --git a/htdocs/langs/es_ES/languages.lang b/htdocs/langs/es_ES/languages.lang index 2bfc571a284..caa82336e49 100644 --- a/htdocs/langs/es_ES/languages.lang +++ b/htdocs/langs/es_ES/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etíope Language_ar_AR=Árabe Language_ar_EG=Árabe (Egipto) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Árabe +Language_ar_TN=Árabe (Túnez) +Language_ar_IQ=Árabe (Irak) Language_az_AZ=Azerbaiyano Language_bn_BD=Bengalí Language_bn_IN=Bengalí (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepalí Language_nl_BE=Neerlandés (Bélgica) Language_nl_NL=Holandés Language_pl_PL=Polaco +Language_pt_AO=Portugués (Angola) Language_pt_BR=Portugués (Brasil) Language_pt_PT=Portugués +Language_ro_MD=Rumano (Moldavia) Language_ro_RO=Rumano Language_ru_RU=Ruso Language_ru_UA=Ruso (Ucrania) diff --git a/htdocs/langs/es_ES/mails.lang b/htdocs/langs/es_ES/mails.lang index a1db3b633f8..b5bbbccc24b 100644 --- a/htdocs/langs/es_ES/mails.lang +++ b/htdocs/langs/es_ES/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Eliminar filtro AdvTgtSaveFilter=Guardar filtro AdvTgtCreateFilter=Crear filtro AdvTgtOrCreateNewFilter=Nombre del nuevo filtro -NoContactWithCategoryFound=No se han encontrado contactos/direcciones con alguna categoría -NoContactLinkedToThirdpartieWithCategoryFound=No se han encontrado contactos/direcciones con alguna categoría +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=E-mails salientes InGoingEmailSetup=E-mails entrantes OutGoingEmailSetupForEmailing=E-mails salientes (para el módulo %s) diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index 722bdcd9d63..a7b61a9cc82 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Céntimos adicionales VATRate=Tasa IVA +RateOfTaxN=Tasa de impuesto %s VATCode=Código tasa IVA VATNPR=Tasa NPR DefaultTaxRate=Tasa de impuesto por defecto @@ -729,6 +730,7 @@ MenuMembers=Miembros MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Impuestos | Gastos especiales ThisLimitIsDefinedInSetup=Límite Dolibarr (Menú inicio-configuración-seguridad): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Límite Dolibarr (Menú %s): %s Kb, Límite PHP (Param %s): %s Kb NoFileFound=No se cargaron documentos CurrentUserLanguage=Idioma actual CurrentTheme=Tema actual @@ -1072,6 +1074,7 @@ ValidFrom=Válido desde ValidUntil=Válido hasta NoRecordedUsers=Sin usuarios ToClose=A cerrar +ToRefuse=A rechazar ToProcess=A procesar ToApprove=A aprobar GlobalOpenedElemView=Vista global @@ -1126,9 +1129,23 @@ UpdateForAllLines=Actualización para todas las líneas OnHold=En espera Civility=Civilidad AffectTag=Afectar etiqueta +CreateExternalUser=Crear usuario externo ConfirmAffectTag=Afectar etiquetas masivas ConfirmAffectTagQuestion=¿Está seguro de que desea asignar las etiquetas a los %s registros seleccionados? CategTypeNotFound=No se encontró ningún tipo de etiqueta para el tipo de registros CopiedToClipboard=Copiado al portapapeles InformationOnLinkToContract=Esta cantidad es solo el total de todas las líneas del contrato. No se toma en consideración ninguna noción de tiempo. ConfirmCancel=Estas seguro que quieres cancelar +EmailMsgID=MsgID de correo electrónico +SetToEnabled=Establecer como activado +SetToDisabled=Establecer como desactivado +ConfirmMassEnabling=confirmación de habilitación masiva +ConfirmMassEnablingQuestion=¿Está seguro de que desea activar los registros seleccionados %s? +ConfirmMassDisabling=confirmación de desactivación masiva +ConfirmMassDisablingQuestion=¿Está seguro de que desea dessactivar los registros seleccionados %s? +RecordsEnabled=%s registro(s) activado(s) +RecordsDisabled=%s registro(s) desactivado(s) +RecordEnabled=Registro activado +RecordDisabled=Registro desactivado +Forthcoming=Próximo +Currently=Currently diff --git a/htdocs/langs/es_ES/members.lang b/htdocs/langs/es_ES/members.lang index 5305d1bf4a8..0396b33f686 100644 --- a/htdocs/langs/es_ES/members.lang +++ b/htdocs/langs/es_ES/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Enviar recordatorio por e-mail a los miembros MembershipPaid=Membresía pagada por el período actual (hasta %s) YouMayFindYourInvoiceInThisEmail=Puede encontrar su factura adjunta a este e-mai XMembersClosed=%s miembro(s) cerrado(s) +XExternalUserCreated=%s usuarios externos creados +ForceMemberNature=Naturaleza del miembro de la fuerza (individual o corporativo) diff --git a/htdocs/langs/es_ES/modulebuilder.lang b/htdocs/langs/es_ES/modulebuilder.lang index 8d69573e1fb..37f1a8e77ad 100644 --- a/htdocs/langs/es_ES/modulebuilder.lang +++ b/htdocs/langs/es_ES/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Conversor de ASCII a HTML AsciiToPdfConverter=Conversor de ASCII a PDF TableNotEmptyDropCanceled=La tabla no está vacía. La eliminación ha sido cancelada. ModuleBuilderNotAllowed=El constructor de módulos está disponible pero no permitido para su usuario. +ImportExportProfiles=Importar y exportar perfiles diff --git a/htdocs/langs/es_ES/mrp.lang b/htdocs/langs/es_ES/mrp.lang index d0eb0a49644..e06cfa47a9d 100644 --- a/htdocs/langs/es_ES/mrp.lang +++ b/htdocs/langs/es_ES/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Lista de material LatestBOMModified=Últimas %s listas de materiales modificadas LatestMOModified=Últimas %s Órdenes de Producción modificadas Bom=Lista de materiales -BillOfMaterials=Lista de material +BillOfMaterials=Lista de materiales BOMsSetup=Configuración del módulo BOM ListOfBOMs=Lista de facturas de materiales - BOM ListOfManufacturingOrders=Listado de Órdenes de Fabricación NewBOM=Nueva lista de materiales -ProductBOMHelp=Producto a crear con estos materiales.
    Nota: Los productos con la 'Naturaleza del producto' = 'Materia prima' no son visibles en este listado. +ProductBOMHelp=Producto para crear (o desmontar) con esta lista de materiales.
    Nota: Los productos con la propiedad 'Naturaleza del producto' = 'Materia prima' no están visibles en esta lista. BOMsNumberingModules=Modelos de numeración BOM BOMsModelModule=Plantillas de documentos Lista de materiales MOsNumberingModules=Modelos de numeración OF @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Texto libre en el documento BOM WatermarkOnDraftBOMs=Marca de agua en el proyecto BOM FreeLegalTextOnMOs=Texto libre en el documento OF WatermarkOnDraftMOs=Marca de agua en el documento OF -ConfirmCloneBillOfMaterials=¿Está seguro de querer clonar la lista de materiales %s? +ConfirmCloneBillOfMaterials=¿Está seguro de que desea clonar la lista de materiales %s? ConfirmCloneMo=¿Esta seguro de querer clonar la Orden de Fabricación %s? ManufacturingEfficiency=Eficiencia de fabricación ConsumptionEfficiency=Eficiencia de consumo @@ -30,8 +30,8 @@ ValueOfMeansLoss=El valor de 0.95 significa un promedio de 5%% de pérdida duran ValueOfMeansLossForProductProduced=El valor de 0.95 significa un promedio de 5%% de pérdida del producto producido DeleteBillOfMaterials=Eliminar Lista de material DeleteMo=Eliminar Orden de Fabricación -ConfirmDeleteBillOfMaterials=¿Está seguro de querer eliminar esta lista de materiales? -ConfirmDeleteMo=¿Está seguro de querer eliminar esta lista de materiales? +ConfirmDeleteBillOfMaterials=¿Está seguro de que desea eliminar esta lista de materiales? +ConfirmDeleteMo=¿Está seguro de que desea eliminar esta lista de materiales? MenuMRP=Órdenes de fabricación NewMO=Nueva orden de fabricación QtyToProduce=Cant. a fabricar @@ -39,7 +39,7 @@ DateStartPlannedMo=Fecha de inicio planeada DateEndPlannedMo=Fecha de finalización planeada KeepEmptyForAsap=Vacío significa 'Tan pronto como sea posible' EstimatedDuration=Duración estimada -EstimatedDurationDesc=Duración estimada para fabricar este producto utilizando esta lista de materiales +EstimatedDurationDesc=Duración estimada para fabricar (o desmontar) este producto utilizando esta lista de materiales ConfirmValidateBom=¿Está seguro de querer validar la lista de materiales con la referencia %s (podrá usarla para crear nuevas Órdenes de Fabricación) ConfirmCloseBom=¿Está seguro de querer cancelar esta lista de materiales (ya no podrá usarla para crear nuevas Órdenes de Fabricación)? ConfirmReopenBom=¿Está seguro de querer volver a abrir esta lista de materiales (podrá usarla para crear nuevas Órdenes de Fabricación) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consumir y producir todo Manufactured=Fabricado TheProductXIsAlreadyTheProductToProduce=El producto a agregar ya es el producto a producir. ForAQuantityOf=Para una cantidad a producir de %s +ForAQuantityToConsumeOf=Por una cantidad para desmontar de %s ConfirmValidateMo=¿Está seguro de querer validar esta orden de fabricación? ConfirmProductionDesc=Al hacer clic en '%s', validará el consumo y/o la producción de las cantidades establecidas. También se actualizará el stock y registrará los movimientos de stock. ProductionForRef=Producción de %s AutoCloseMO=Cierre automáticamente la orden de fabricación si se alcanzan las cantidades para consumir y producir NoStockChangeOnServices=Sin cambio de stock en servicios ProductQtyToConsumeByMO=Cantidad de producto aún por consumir por MO abierto -ProductQtyToProduceByMO=Cantidad de producto todavía para producir por MO abierto +ProductQtyToProduceByMO=Cantidad de producto aún por producir por MO abierto AddNewConsumeLines=Agregar nueva línea para consumir ProductsToConsume=Productos para consumir ProductsToProduce=Productos para producir @@ -83,15 +84,13 @@ Workstations=Estaciones de trabajo WorkstationsDescription=Gestión de estaciones de trabajo WorkstationSetup = Configuración de estaciones de trabajo WorkstationSetupPage = Página de configuración de estaciones de trabajo -WorkstationAbout = Acerca de la estación de trabajo -WorkstationAboutPage = Estaciones de trabajo sobre la página WorkstationList=Lista de estaciones de trabajo WorkstationCreate=Agregar nueva estación de trabajo ConfirmEnableWorkstation=¿Está seguro de que desea habilitar la estación de trabajo %s ? EnableAWorkstation=Habilitar una estación de trabajo ConfirmDisableWorkstation=¿Está seguro de que desea desactivar la estación de trabajo %s ? DisableAWorkstation=Deshabilitar una estación de trabajo -DeleteWorkstation=SuprimIr +DeleteWorkstation=Eliminar NbOperatorsRequired=Número de operadores necesarios THMOperatorEstimated=THM estimado del operador THMMachineEstimated=THM estimado de la máquina diff --git a/htdocs/langs/es_ES/orders.lang b/htdocs/langs/es_ES/orders.lang index 4b7a1bf7461..8e1fc613e81 100644 --- a/htdocs/langs/es_ES/orders.lang +++ b/htdocs/langs/es_ES/orders.lang @@ -11,6 +11,7 @@ OrderDate=Fecha pedido OrderDateShort=Fecha de pedido OrderToProcess=Pedido a procesar NewOrder=Nuevo pedido +NewSupplierOrderShort=Nuevo pedido NewOrderSupplier=Nuevo pedido a proveedor ToOrder=Realizar pedido MakeOrder=Realizar pedido @@ -73,6 +74,7 @@ DeleteOrder=Eliminar el pedido CancelOrder=Anular el pedido OrderReopened= Pedido %s reabierto AddOrder=Crear pedido +AddSupplierOrderShort=Crear pedido AddPurchaseOrder=Crear pedido a proveedor AddToDraftOrders=Añadir a pedido borrador ShowOrder=Mostrar pedido diff --git a/htdocs/langs/es_ES/other.lang b/htdocs/langs/es_ES/other.lang index e3c446ad3a9..9454c1be061 100644 --- a/htdocs/langs/es_ES/other.lang +++ b/htdocs/langs/es_ES/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Login usuario que ha cerrado FileWasRemoved=El archivo %s ha sido eliminado DirWasRemoved=El directorio %s ha sido eliminado FeatureNotYetAvailable=Funcionalidad aún no disponible en esta versión +FeatureNotAvailableOnDevicesWithoutMouse=Característica no disponible en dispositivos sin mouse FeaturesSupported=Funcionalidades disponibles Width=Largo Height=Alto @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contacto/dirección creada por el recolector de e ProjectCreatedByEmailCollector=Proyecto creado por el recolector de e-mails del MSGID de e-mail %s TicketCreatedByEmailCollector=Ticket creado por el recolector de e-mails del MSGID de e-mail %s OpeningHoursFormatDesc=Use un - para separar las horas de apertura y cierre.
    Use un espacio para ingresar diferentes rangos.
    Ejemplo: 8-12 14-18 -PrefixSession=Prefijo para ID de sesión +SuffixSessionName=Sufijo para el nombre de la sesión ##### Export ##### ExportsArea=Área de exportaciones @@ -290,3 +291,7 @@ PopuCom=Productos/Servicios por popularidad en Pedidos ProductStatistics=Estadísticas de productos/servicios NbOfQtyInOrders=Cantidad en pedidos SelectTheTypeOfObjectToAnalyze=Seleccione un objeto para ver sus estadísticas ... + +ConfirmBtnCommonContent = ¿Está seguro de que desea "%s"? +ConfirmBtnCommonTitle = Confirme su acción +CloseDialog = Cerrar diff --git a/htdocs/langs/es_ES/partnership.lang b/htdocs/langs/es_ES/partnership.lang index 7237b5b330c..97ac2461121 100644 --- a/htdocs/langs/es_ES/partnership.lang +++ b/htdocs/langs/es_ES/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Gestión Asociaciones -PartnershipDescription = Gestión Módulo Asociaciones +ModulePartnershipName=Gestión Asociaciones +PartnershipDescription=Gestión Módulo Asociaciones PartnershipDescriptionLong= Gestión Módulo Asociaciones +AddPartnership=Agregar asociación +CancelPartnershipForExpiredMembers=Asociación: cancelar la asociación de miembros con suscripciones caducadas +PartnershipCheckBacklink=Asociación: compruebe el vínculo de retroceso de referencia + # # Menu # -NewPartnership = Nueva Asociación -ListOfPartnerships = Listado de Asociaciones +NewPartnership=Nueva Asociación +ListOfPartnerships=Listado de Asociaciones # # Admin page # -PartnershipSetup = Configuración Asociaciones -PartnershipAbout = About Partnership -PartnershipAboutPage = Acerca de la página de Asociaciones - +PartnershipSetup=Configuración Asociaciones +PartnershipAbout=About Partnership +PartnershipAboutPage=Acerca de la página de Asociaciones +partnershipforthirdpartyormember=El estado de socio debe establecerse en un 'tercero' o un 'miembro' +PARTNERSHIP_IS_MANAGED_FOR=Asociación gestionada para +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks para comprobar +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Número de días antes de cancelar el estado de una asociación cuando una suscripción ha expirado +ReferingWebsiteCheck=Comprobación de la referencia al sitio +ReferingWebsiteCheckDesc=Puede habilitar una función para verificar que sus socios hayan agregado un vínculo de retroceso a los dominios de su sitio web en su propio sitio web. # # Object # +DeletePartnership=Eliminar una asociación +PartnershipDedicatedToThisThirdParty=Asociación dedicada a este tercero +PartnershipDedicatedToThisMember=Asociación dedicada a este miembro DatePartnershipStart=Fecha de inicio DatePartnershipEnd=Fecha de fin +ReasonDecline=Razón de rechazo +ReasonDeclineOrCancel=Razón de rechazo +PartnershipAlreadyExist=La asociación ya existe +ManagePartnership=Gestionar la asociación +BacklinkNotFoundOnPartnerWebsite=Vínculo de retroceso no encontrado en el sitio web del socio +ConfirmClosePartnershipAsk=¿Está seguro de que desea cancelar esta asociación? +PartnershipType=Tipo de asociación # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=La asociación pronto se cancelará +SendingEmailOnPartnershipRefused=Asociación rechazada +SendingEmailOnPartnershipAccepted=Asociación aceptada +SendingEmailOnPartnershipCanceled=Asociación cancelada +YourPartnershipWillSoonBeCanceledTopic=La asociación pronto se cancelará +YourPartnershipRefusedTopic=Asociación rechazada +YourPartnershipAcceptedTopic=Asociación aceptada +YourPartnershipCanceledTopic=Asociación cancelada + +YourPartnershipWillSoonBeCanceledContent=Le informamos que su asociación se cancelará pronto (no se encontró el vínculo de retroceso) +YourPartnershipRefusedContent=Le informamos que su solicitud de asociación ha sido rechazada. +YourPartnershipAcceptedContent=Le informamos que su solicitud de asociación ha sido aceptada. +YourPartnershipCanceledContent=Le informamos que su asociación ha sido cancelada. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Razón de rechazo # # Status # -PartnershipDraft = Borrador -PartnershipAccepted = Aceptado -PartnershipRefused = Rechazado -PartnershipCanceled = Anulado - +PartnershipDraft=Borrador +PartnershipAccepted=Aceptado +PartnershipRefused=Rechazado +PartnershipCanceled=Anulado PartnershipManagedFor=Los Partners son diff --git a/htdocs/langs/es_ES/productbatch.lang b/htdocs/langs/es_ES/productbatch.lang index d1cad5faddf..dddcaf6de62 100644 --- a/htdocs/langs/es_ES/productbatch.lang +++ b/htdocs/langs/es_ES/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Usar numeración por lotes/series ProductStatusOnBatch=Si (lote requerido) ProductStatusOnSerial=Sí (se requiere un número de serie único) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Ver los movimientos de stock de este producto/lote StockDetailPerBatch=Detalle de stock por lote SerialNumberAlreadyInUse=El número de serie %s ya se utiliza para el producto %s TooManyQtyForSerialNumber=Solo puede tener un producto %s para el número de serie %s -BatchLotNumberingModules=Opciones para la generación automática de productos por lotes gestionados por lotes -BatchSerialNumberingModules=Opciones para la generación automática de productos por lotes gestionados por números de serie ManageLotMask=Máscara personalizada -CustomMasks=Agrega una opción para definir la máscara en la ficha del producto. -LotProductTooltip=Agrega una opción en la tarjeta del producto para definir una máscara de número de lote dedicada -SNProductTooltip=Agrega una opción en la tarjeta del producto para definir una máscara de número de serie dedicada +CustomMasks=Opción para definir una máscara de numeración diferente para cada producto +BatchLotNumberingModules=Regla de numeración para la generación automática de número de lote +BatchSerialNumberingModules=Regla de numeración para la generación automática de número de serie (para productos con propiedad 1 lote/serie único para cada producto) QtyToAddAfterBarcodeScan=Cantidad a agregar para cada código de barras / lote / serie escaneado +LifeTime=Vida útil (en días) +EndOfLife=Fin de vida +ManufacturingDate=Fecha de fabricación +DestructionDate=Fecha de destrucción +FirstUseDate=Fecha de primer uso +QCFrequency=Frecuencia de control de calidad (en días) + +#Traceability - qc status +OutOfOrder=Fuera de servicio +InWorkingOrder=En orden de trabajo diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang index a0007951270..9043a23bf77 100644 --- a/htdocs/langs/es_ES/products.lang +++ b/htdocs/langs/es_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Cambiar precios para cada cliente PriceCatalogue=Un precio único de venta por producto/servicio PricingRule=Reglas para precios de venta AddCustomerPrice=Añadir precio a cliente -ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes +ForceUpdateChildPriceSoc=Establecer el mismo precio en las subsidiarias del cliente PriceByCustomerLog=Historial de precios a clientes MinimumPriceLimit=El precio mínimo no puede ser menor que %s MinimumRecommendedPrice=El precio mínimo recomendado es: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Incrementar/Decrementar stock al cambiar su padre ComposedProduct=Sub-producto MinSupplierPrice=Precio mínimo de compra MinCustomerPrice=Precio de venta mínimo +NoDynamicPrice=Sin precio dinámico DynamicPriceConfiguration=Configuración de precio dinámico DynamicPriceDesc=Puede establecer funciones matemáticas para calcular los precios de cliente o proveedor. Esta función puede utilizar todos los operadores matemáticos, algunas constantes y variables. Puede definir aquí las variables que desea utilizar y si la variable necesita una actualización automática, la URL externa que debe utilizarse para pedirle a Dolibarr que actualice automáticamente el valor. AddVariable=Añadir variable @@ -340,7 +341,7 @@ ProductSheet=Hoja de producto ServiceSheet=Hoja de servicio PossibleValues=Valores posibles GoOnMenuToCreateVairants=Vaya al menú %s - %s para preparar variantes de atributos (como colores, tamaño, ...) -UseProductFournDesc=Añade una funcionalidad para definir las descripciones de los productos definidos por los proveedores además de las descripciones para los clientes +UseProductFournDesc=Añade una funcionalidad para definir la descripción del producto definida por los proveedores (para cada referencia de proveedor) además de la descripción para los clientes ProductSupplierDescription=Descripción del proveedor para el producto. UseProductSupplierPackaging=Utilice el embalaje según los precios del proveedor (recalcule las cantidades según el conjunto de envases según el precio del proveedor al agregar / actualizar la línea en los documentos del proveedor) PackagingForThisProduct=Embalaje @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Acción solo disponible en la variante del p ProductsPricePerCustomer=Precios de producto por cliente ProductSupplierExtraFields=Campos adicionales (precios de proveedor) DeleteLinkedProduct=Eliminar el producto hijo vinculado a la combinación +PMPValue=Valor (PMP) +PMPValueShort=PMP diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 7674ee768d2..851564df180 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -140,6 +140,7 @@ NoTasks=Ninguna tarea para este proyecto LinkedToAnotherCompany=Enlazado a otra empresa TaskIsNotAssignedToUser=Tarea no asignada al usuario. Use el botón '%s' para asignar la tarea. ErrorTimeSpentIsEmpty=No se ha establecido el tiempo consumido +TimeRecordingRestrictedToNMonthsBack=La introducción de tiempos está restringida a %s meses atrás ThisWillAlsoRemoveTasks=Esta operación también destruirá las tareas del proyecto (%s tareas) y sus tiempos dedicados. IfNeedToUseOtherObjectKeepEmpty=Si los elementos (factura, pedido, ...) pertenecen a un tercero que no és el seleccionado, debiendo estos estar ligados al proyecto a crear, déjelo vacío para permitir el proyecto a multi-terceros. CloneTasks=Clonar las tareas @@ -241,6 +242,7 @@ LatestModifiedProjects=Últimos %s proyectos modificados OtherFilteredTasks=Otras tareas filtradas NoAssignedTasks=Sin tareas asignadas ( Asigne proyectos/tareas al usuario actual desde el selector superior para indicar tiempos en ellas) ThirdPartyRequiredToGenerateInvoice=Se debe definir un tercero en el proyecto para poder facturarlo. +ThirdPartyRequiredToGenerateInvoice=Se debe definir un tercero en el proyecto para poder facturarlo. ChooseANotYetAssignedTask=Elige una tarea que aún no te haya sido asignada # Comments trans AllowCommentOnTask=Permitir comentarios de los usuarios sobre las tareas @@ -252,10 +254,12 @@ SendProjectRef=Acerca del proyecto %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Debe activarse el módulo 'Pago de salarios de los empleados' para poder definir el precio por hora de los empleados y poder valorar el tiempo empleado NewTaskRefSuggested=Referencia de tarea ya utilizada, se sugiere una nueva referencia de tarea TimeSpentInvoiced=Tiempo transcurrido facturado +TimeSpentForIntervention=Tiempos dedicados TimeSpentForInvoice=Tiempos dedicados OneLinePerUser=Una línea por usuario ServiceToUseOnLines=Servicio a utilizar en lineas. InvoiceGeneratedFromTimeSpent=Se ha generado la factura %s a partir del tiempo empleado en el proyecto +InterventionGeneratedFromTimeSpent=Se ha generado la intervención %s a partir del tiempo empleado en el proyecto ProjectBillTimeDescription=Verifique si ingresa la hoja de horas trabajadas en las tareas del proyecto y planea generar factura(s) a partir de la hoja para facturar al cliente del proyecto (no lo verifique si planea crear una factura que no se base en las hojas de horas trabajadas ingresadas). Nota: Para generar la factura, vaya a la pestaña 'Tiempo empleado' del proyecto y seleccione las líneas a incluir. ProjectFollowOpportunity=Seguir oportunidad ProjectFollowTasks=Siga las tareas o el tiempo dedicado @@ -264,12 +268,16 @@ UsageOpportunity=Uso: Oportunidad UsageTasks=Uso: Tareas UsageBillTimeShort=Uso: Facturar tiempo InvoiceToUse=Borrador de factura para usar +InterToUse=Intervención en borrador a usar NewInvoice=Nueva factura +NewInter=Nueva intevención OneLinePerTask=Una línea por tarea OneLinePerPeriod=Una línea por período +OneLinePerTimeSpentLine=Una línea por cada declaración de tiempo invertido RefTaskParent=Ref. Tarea principal ProfitIsCalculatedWith=El beneficio se calcula usando AddPersonToTask=Agregar también a las tareas UsageOrganizeEvent=Uso: Organización de eventos PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Clasifique el proyecto como cerrado cuando se completen todas sus tareas (progreso 100%%) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Nota: los proyectos existentes con todas las tareas en 100%% no se verán afectados: tendrás que cerrarlos manualmente. Esta opción solo afecta a proyectos abiertos. +SelectLinesOfTimeSpentToInvoice=Seleccione las líneas de tiempo invertido que no se hayan facturado y, a continuación, realice la acción masiva "Generar factura" para facturarlas. diff --git a/htdocs/langs/es_ES/receptions.lang b/htdocs/langs/es_ES/receptions.lang index 72efe825bb6..145b1a10be5 100644 --- a/htdocs/langs/es_ES/receptions.lang +++ b/htdocs/langs/es_ES/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Antes de poder realizar recepciones debe valid ReceptionsNumberingModules=Módulo de numeración para recepciones ReceptionsReceiptModel=Modelos de documentos para recepciones. NoMorePredefinedProductToDispatch=No hay más productos predefinidos para enviar - +ReceptionExist=Existe una recepción diff --git a/htdocs/langs/es_ES/salaries.lang b/htdocs/langs/es_ES/salaries.lang index 48215b71f6e..b982923e9c5 100644 --- a/htdocs/langs/es_ES/salaries.lang +++ b/htdocs/langs/es_ES/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Cuenta contable usada para los usuarios SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Se utilizará una cuenta contable dedicada definida en la ficha de usuario para el relleno del Libro Mayor, o como valor predeterminado de la contabilidad del Libro Mayor si no se define una cuenta contable en la ficha del usuario SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta contable por defecto para pagos de salarios +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=De forma predeterminada, deje vacía la opción "Crear automáticamente un pago total" al crear un Salario. Salary=Salario Salaries=Salarios -NewSalaryPayment=Nuevo pago +NewSalary=Nuevo salario +NewSalaryPayment=Nueva tarjeta de salario AddSalaryPayment=Añadir pago de salario SalaryPayment=Pago de salario SalariesPayments=Pagos de salarios +SalariesPaymentsOf=Pagos de sueldos de %s ShowSalaryPayment=Ver pago THM=Tasa media por hora TJM=Tasa media por día CurrentSalary=Salario actual THMDescription=Este valor puede ser usado para calcular los costos de tiempo consumidos en un proyecto indicados por los usuarios si se utiliza el módulo proyectos TJMDescription=Este valor actualmente es informativo y no se utiliza para realizar cualquier tipo de cálculo -LastSalaries=Últimos %s pagos salariales -AllSalaries=Todos los pagos salariales +LastSalaries=Últimos salario de %s +AllSalaries=Todos los salarios SalariesStatistics=Estadísticas salariales -# Export SalariesAndPayments=Salarios y pagos +ConfirmDeleteSalaryPayment=¿Está seguro de querer eliminar este pago de salario? diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang index 9a7b3c823da..7dfcb4dd47f 100644 --- a/htdocs/langs/es_ES/stocks.lang +++ b/htdocs/langs/es_ES/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Precio de compra unitario StockTooLow=Stock insuficiente StockLowerThanLimit=El stock es menor que el límite de la alerta (%s) EnhancedValue=Valor -PMPValue=Valor (PMP) -PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Crear automáticamente existencias/almacén propio del usuario en la creación del usuario AllowAddLimitStockByWarehouse=Administrar también el valor del stock mínimo y deseado de la cupla (producto-almacén) además del valor del stock mínimo y deseado por producto RuleForWarehouse=Regla para almacenes -WarehouseAskWarehouseOnThirparty=Establecer un almacén en un tercero +WarehouseAskWarehouseOnThirparty=Establecer un almacén en terceros WarehouseAskWarehouseDuringPropal=Establecer un almacén en presupuestos comerciales WarehouseAskWarehouseDuringOrder=Indicar un almacén en pedidos de clientes UserDefaultWarehouse=Indicar un almacén en usuarios @@ -169,8 +167,8 @@ MovementTransferStock=Transferencia de stock del producto %s a otro almacén InventoryCodeShort=Código Inv./Mov. NoPendingReceptionOnSupplierOrder=No existen recepciones pendientes ya que el pedido está abierto ThisSerialAlreadyExistWithDifferentDate=Este número de lote/serie (%s) ya existe, pero con una fecha de caducidad o venta diferente (encontrada %s pero ha introducido %s). -OpenAll=Abierto para todas las acciones -OpenInternal=Abierto para acciones internas +OpenAnyMovement=Abierto (todo movimiento) +OpenInternal=Abierto (solo movimiento interno) UseDispatchStatus=Utilice un estado (aprobar/rechazar) para las líneas de las recepciones de los pedidos a proveedor OptionMULTIPRICESIsOn=La opción "varios precios por segmento" está activada. Esto significa que un producto tiene varios precio de venta, por lo que el valor de venta no puede calcularse ProductStockWarehouseCreated=Límite stock para alertas y stock óptimo deseado creado correctamente @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=seleccione un archivo de movimiento de stock pa InfoTemplateImport=El archivo cargado debe tener este formato (* son campos obligatorios):
    Almacén de origen * | Almacén de destino * | Producto * | Cantidad * | Lote / número de serie
    El separador de caracteres CSV debe ser " %s " LabelOfInventoryMovemement=Inventario %s ReOpen=Reabrir -ConfirmFinish=¿Confirmas el cierre del inventario? Esto generará todos los movimientos de stock para actualizar su stock. +ConfirmFinish=¿Confirmas el cierre del inventario? Esto generará todos los movimientos de stock para actualizar su stock a la cantidad real que ingresó en el inventario. ObjectNotFound=%s no encontrado MakeMovementsAndClose=Generar movimientos y cerrar AutofillWithExpected=Llene la cantidad real con la cantidad esperada +ShowAllBatchByDefault=De forma predeterminada, muestra los detalles del lote en la pestaña "stock" del producto +CollapseBatchDetailHelp=Puede establecer la visualización predeterminada de los detalles del lote en la configuración del módulo de existencias +FieldCannotBeNegative=El campo "%s" no puede ser negativo +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/es_ES/ticket.lang b/htdocs/langs/es_ES/ticket.lang index 2fb5cd1f69d..52298c9db68 100644 --- a/htdocs/langs/es_ES/ticket.lang +++ b/htdocs/langs/es_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolución TicketTypeShortCOM=Pregunta comercial TicketTypeShortHELP=Solicitud de ayuda funcional -TicketTypeShortISSUE=Asunto, error o problema +TicketTypeShortISSUE=Problema o error +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Solicitud de cambio o mejora TicketTypeShortPROJET=Proyecto TicketTypeShortOTHER=Otro @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuario asignado TypeContact_ticket_external_SUPPORTCLI=Contacto cliente / seguimiento de incidentes TypeContact_ticket_external_CONTRIBUTOR=Contribuidor externo -OriginEmail=Origen E-Mail +OriginEmail=Email del emisor Notify_TICKET_SENTBYMAIL=Enviar mensaje de ticket por e-mail # Status Read=Leido Assigned=Asignado InProgress=En progreso -NeedMoreInformation=En espera de información +NeedMoreInformation=Esperando comentarios del remitente +NeedMoreInformationShort=Esperando comentarios Answered=Contestado Waiting=En espera -Closed=Cerrado +SolvedClosed=Solved Deleted=Eliminado # Dict @@ -160,7 +162,7 @@ CreatedBy=Creado por NewTicket=Nuevo ticket SubjectAnswerToTicket=Respuesta TicketTypeRequest=Tipo de solicitud -TicketCategory=Grupo +TicketCategory=Categorización de tickets SeeTicket=Ver ticket TicketMarkedAsRead=El ticket ha sido marcado como leído TicketReadOn=Leído el @@ -184,9 +186,11 @@ TicketSeverity=Gravedad ShowTicket=Ver ticket RelatedTickets=Tickets relacionados TicketAddIntervention=Crear intervención -CloseTicket=Cerrar ticket -CloseATicket=Cerrar un ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirmar el cierre del ticket +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Confirme la eliminación del ticket TicketDeletedSuccess=Ticket eliminado con éxito TicketMarkedAsClosed=Ticket marcado como cerrado @@ -211,6 +215,7 @@ TicketMessageHelp=Solo este texto se guardará en la lista de mensajes en la fic TicketMessageSubstitutionReplacedByGenericValues=Las variables de sustitución se reemplazan por valores genéricos. TimeElapsedSince=Tiempo transcurrido desde TicketTimeToRead=Tiempo transcurrido antes de leer el ticket +TicketTimeElapsedBeforeSince=Tiempo transcurrido antes / desde TicketContacts=Contactos del ticket TicketDocumentsLinked=Documentos relacionados con el ticket ConfirmReOpenTicket=¿Está seguro de querer reabrir este ticket? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Últimos tickets modificados BoxLastModifiedTicketDescription=Últimos %s tickets modificados BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No hay tickets modificados recientemente -BoxTicketType=Número de tickets abiertos por tipo +BoxTicketType=Distribución de tickets abiertos por tipo BoxTicketSeverity=Número de tickets abiertos por gravedad BoxNoTicketSeverity=No hay tickets abiertos BoxTicketLastXDays=Número de tickets nuevos por días los últimos %s días diff --git a/htdocs/langs/es_ES/trips.lang b/htdocs/langs/es_ES/trips.lang index af2e038dd94..5defbef8377 100644 --- a/htdocs/langs/es_ES/trips.lang +++ b/htdocs/langs/es_ES/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=El gasto %s ha sido cancelado.
    - Usuario: %s
    ExpenseReportPaid=Un gasto ha sido pagado ExpenseReportPaidMessage=El gasto %s ha sido pagado.
    - Usuario: %s
    - Pagado por: %s
    Haga clic aquí ver el gasto: %s TripId=Id de gasto -AnyOtherInThisListCanValidate=Persona a informar para la validación +AnyOtherInThisListCanValidate=Persona a informar para validar la solicitud. TripSociete=Información de la empresa TripNDF=Información del gasto PDFStandardExpenseReports=Plantilla estandard para generar un documento de gasto @@ -90,7 +90,6 @@ DATE_REFUS=Fecha denegación DATE_SAVE=Fecha de validación DATE_CANCEL=Fecha cancelación DATE_PAIEMENT=Fecha de pago -BROUILLONNER=Reabrir ExpenseReportRef=Ref. informe de gasto ValidateAndSubmit=Validar y enviar para aprobar ValidatedWaitingApproval=Validado (en espera de aprobación) diff --git a/htdocs/langs/es_ES/users.lang b/htdocs/langs/es_ES/users.lang index f0727893f02..37212b579a3 100644 --- a/htdocs/langs/es_ES/users.lang +++ b/htdocs/langs/es_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login a crear NameToCreate=Nombre del tercero a crear YourRole=Sus roles YourQuotaOfUsersIsReached=¡Ha llegado a su cuota de usuarios activos! -NbOfUsers=Nº de usuarios -NbOfPermissions=Nº de permisos +NbOfUsers=Número de usuarios +NbOfPermissions=Número de permisos DontDowngradeSuperAdmin=Sólo un superadmin puede degradar un superadmin HierarchicalResponsible=Supervisor HierarchicView=Vista jerárquica diff --git a/htdocs/langs/es_ES/withdrawals.lang b/htdocs/langs/es_ES/withdrawals.lang index e6f1c0de0f9..959a66192a9 100644 --- a/htdocs/langs/es_ES/withdrawals.lang +++ b/htdocs/langs/es_ES/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s domiciliaciones registradas BankTransferRequestsDone=%s solicitudes de transferencia de crédito registradas ThirdPartyBankCode=Código banco del tercero NoInvoiceCouldBeWithdrawed=No se ha podido realizar la petición de domiciliación de ninguna factura. Compruebe que los terceros de las facturas relacionadas tienen una cuenta IBAN válida y dicho IBAN tiene un RUM con modo %s. +WithdrawalCantBeCreditedTwice=Este recibo de retiro ya está marcado como acreditado; esto no se puede hacer dos veces, ya que esto podría generar pagos y entradas bancarias duplicados. ClassCredited=Clasificar como "Abonada" ClassCreditedConfirm=¿Está seguro de querer clasificar esta domiciliación como abonada en su cuenta bancaria? TransData=Fecha envío @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Fecha de ejecución CreateForSepa=Crear archivo SEPA -ICS=Identificador de acreedor CI para domiciliación bancaria -ICSTransfer=Identificador de acreedor CI para transferencia bancaria +ICS=Creditor Identifier - ICS END_TO_END=Etiqueta XML SEPA "EndToEndId" - ID única asignada por transacción USTRD=Etiqueta SEPA XML "Unstructured" ADDDAYS=Añadir días a la fecha de ejecución diff --git a/htdocs/langs/es_ES/workflow.lang b/htdocs/langs/es_ES/workflow.lang index 3a3f6b2fa6d..73bd993b60f 100644 --- a/htdocs/langs/es_ES/workflow.lang +++ b/htdocs/langs/es_ES/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Clasificar los presupuesto origen co descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Clasificar pedido de cliente origen como facturado cuando la factura a cliente se valide (y si el importe de la factura es igual al importe del pedido relacionado) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Clasificar pedido de cliente origen como facturado cuando la factura a cliente sea marcada como pagada (y si el importe de la factura es la misma que el importe del pedido relacionado) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Clasificar automáticamente el pedido origen como enviado cuando el envío se valide (y si la cantidad enviada por todos los envíos sea la misma que el pedido) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Clasificar automáticamente el presupuestos de proveedor como facturado cuando la factura se valide (y si el importe de la factura sea la misma que el total del presupuesto) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Clasificar automáticamente el pedido a proveedor como facturado cuando la factura se valide (y si el importe de la factura sea la misma que el total del pedido enlazado) diff --git a/htdocs/langs/es_GT/accountancy.lang b/htdocs/langs/es_GT/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_GT/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_GT/admin.lang b/htdocs/langs/es_GT/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/es_GT/admin.lang +++ b/htdocs/langs/es_GT/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_GT/cashdesk.lang b/htdocs/langs/es_GT/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_GT/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_GT/cron.lang b/htdocs/langs/es_GT/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_GT/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_GT/eventorganization.lang b/htdocs/langs/es_GT/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_GT/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_GT/mrp.lang b/htdocs/langs/es_GT/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_GT/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_HN/accountancy.lang b/htdocs/langs/es_HN/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_HN/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_HN/admin.lang b/htdocs/langs/es_HN/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/es_HN/admin.lang +++ b/htdocs/langs/es_HN/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_HN/cashdesk.lang b/htdocs/langs/es_HN/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_HN/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_HN/cron.lang b/htdocs/langs/es_HN/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_HN/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_HN/eventorganization.lang b/htdocs/langs/es_HN/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_HN/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_HN/mrp.lang b/htdocs/langs/es_HN/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_HN/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_MX/accountancy.lang b/htdocs/langs/es_MX/accountancy.lang index ecc278b53f1..1ae2423f16f 100644 --- a/htdocs/langs/es_MX/accountancy.lang +++ b/htdocs/langs/es_MX/accountancy.lang @@ -82,7 +82,6 @@ XLineFailedToBeBinded=%s productos / servicios no estaban vinculados a ninguna c ACCOUNTING_LIST_SORT_VENTILATION_TODO=Comience la ordenación de la página "Enlazar para hacer" por los elementos más recientes ACCOUNTING_LIST_SORT_VENTILATION_DONE=Comience la ordenación de la página "Enlace realizado" por los elementos más recientes BANK_DISABLE_DIRECT_INPUT=Deshabilitar el registro directo de la transacción en la cuenta bancaria -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) ACCOUNTING_MISCELLANEOUS_JOURNAL=Diario de varios ACCOUNTING_EXPENSEREPORT_JOURNAL=Diario de reporte de gastos ACCOUNTING_SOCIAL_JOURNAL=Diario Social @@ -111,10 +110,13 @@ NewAccountingMvt=Nueva transacción NumMvts=Número de transacción ListeMvts=Lista de movimientos ErrorDebitCredit=Débito y Crédito no pueden tener un valor al mismo tiempo +OpeningBalance=Saldo de apertura +Reconcilable=Conciliable TotalVente=Facturación total antes de impuestos TotalMarge=Margen de ventas total DescVentilExpenseReport=Consulte aquí la lista de líneas de reporte de gastos vinculadas (o no) a una cuenta de contabilidad de comisiones ErrorAccountancyCodeIsAlreadyUse=Error, no es posible eliminar ésta cuenta contable porque está siendo usada +ShowTutorial=Mostrar Tutorial AccountingJournal=Diario de contabilidad AccountingJournalType5=Informe de gastos AccountingJournalType9=Tiene nuevo @@ -123,3 +125,4 @@ ExportDraftJournal=Exportar borrador de diario SomeMandatoryStepsOfSetupWereNotDone=Algunos pasos obligatorios de la instalación no se realizaron, favor de completar ExportNotSupported=El formato de exportación configurado no se admite en esta página NoJournalDefined=Ningún diario definido +InventoryJournal=Diario de inventario diff --git a/htdocs/langs/es_MX/admin.lang b/htdocs/langs/es_MX/admin.lang index 82b028ae8c2..61a78207c66 100644 --- a/htdocs/langs/es_MX/admin.lang +++ b/htdocs/langs/es_MX/admin.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin VersionProgram=Versión del programa -VersionLastInstall=Instalar la versión inicial +VersionLastInstall=Versión inicial instalada VersionLastUpgrade=Actualizar a la versión más reciente FileCheck=Comprobación de integridad del conjunto de archivos FileCheckDesc=Esta herramienta te permite comprobar la integridad de los archivos y la configuración de tu aplicación, comparando cada archivo con el archivo oficial. El valor de algunas constantes de la configuración también podria ser comprobado. Tu puedes usar esta herramienta para determinar si cualquiera de los archivos a sido modificado (ejem. por un hacker). @@ -86,7 +86,6 @@ IdModule=ID del módulo IdPermissions=ID de permisos LanguageBrowserParameter=Parámetro %s LocalisationDolibarrParameters=Parametros de localización -ClientTZ=Zona Horaria cliente (usuario) OSTZ=Servidor OS Zona Horaria PHPTZ=Servidor PHP Zona Horaria DaylingSavingTime=Hora de verano @@ -162,6 +161,7 @@ AchatTelechargement=Comprar / Descargar GoModuleSetupArea=Para implementar/instalar un nuevo módulo, vaya al área de configuración del Módulo: %s . DoliStoreDesc=DoliStore, el lugar oficial para módulos externos Dolibarr ERP / CRM WebSiteDesc=Sitios web externos para más módulos adicionales (no básicos) ... +RelativeURL=URL relativa BoxesAvailable=Widgets disponibles BoxesActivated=Widgets activados ActivateOn=Activar @@ -199,15 +199,19 @@ MAIN_MAIL_EMAIL_TLS=Usar cifrado TLS (SSL) MAIN_DISABLE_ALL_SMS=Deshabilitar todo el envío de SMS (para fines de prueba o demostraciones) MAIN_SMS_SENDMODE=Método a utilizar para enviar SMS MAIN_MAIL_SMS_FROM=Número de teléfono predeterminado del remitente para el envío de SMS +UserEmail=Correo electrónico del usuario +CompanyEmail=Correo electrónico de la empresa FeatureNotAvailableOnLinux=Característica no disponible en sistemas similares a Unix. Prueba tu programa de envio de correo localmente. SubmitTranslation=Si la traducción de este idioma no está completa o encuentra errores, puede corregir esto editando archivos en el directorio langs / %s y envíe su cambio a www.transifex.com/dolibarr-association/dolibarr/ ModulesSetup=Configuración de Módulos/Aplicación +MenuAdmin=Editor de menú FindPackageFromWebSite=Encuentre un paquete que proporcione las funciones que necesita (por ejemplo, en el sitio web oficial %s). DownloadPackageFromWebSite=Descargue el paquete (por ejemplo, del sitio web oficial %s). SetupIsReadyForUse=La implementación del módulo ha finalizado. Sin embargo, debe habilitar y configurar el módulo en su aplicación yendo a la página de configuración de módulo: %s . NotExistsDirect=El directorio raíz alternativo no está definido en un directorio existente.
    InfDirAlt=Desde la versión 3, es posible definir un directorio raíz alternativo. Esto le permite almacenar, en un directorio dedicado, complementos y plantillas personalizadas.
    Simplemente cree un directorio en la raíz de Dolibarr (por ejemplo: personalizado).
    LastActivationIP=IP de activación más reciente +UpdateServerOffline=Actualizar servidor sin conexión GenericMaskCodes4c=Ejemplo de producto creado el 2007-03-01:
    GenericNumRefModelDesc=Devuelve un número personalizable de acuerdo con una máscara definida. ServerAvailableOnIPOrPort=El servidor está disponible en la dirección %s en el puerto %s @@ -220,21 +224,57 @@ UMaskExplanation=Este parámetro le permite definir permisos establecidos por de SeeWikiForAllTeam=Eche un vistazo a la página Wiki para obtener una lista de colaboradores y su organización. DisableLinkToHelpCenter=Ocultar enlace " Necesita ayuda o soporte " en la página de inicio de sesión DisableLinkToHelp=Ocultar enlace a ayuda en línea " %s " +MinLength=Longitud mínima +HideDescOnPDF=Ocultar descripción de productos +String=Cadena +String1Line=Cadena (1 línea) +HtmlText=Texto HTML +Int=Entero +Float=Flotante +ExtrafieldMail =Correo electrónico +ExtrafieldUrl =URL +ExtrafieldSelect =Seleccionar lista +ExtrafieldSelectList =Seleccionar de la tabla +ComputedFormula=Campo calculado +Computedpersistent=Almacenar campo calculado +SetAsDefault=Establecer como predeterminado +ClickToShowDescription=Haga clic para mostrar la descripción +DependsOn=Este módulo necesita los módulo(s) WarningSettingSortOrder=Advertencia, establecer un orden predeterminado puede resultar en un error técnico al pasar a la página de lista si "campo" es un campo desconocido. Si experimenta un error de este tipo, vuelva a esta página para eliminar el orden predeterminado y restaurar el comportamiento predeterminado. Module20Name=Propuestas Module30Name=Facturas Module40Name=Vendedores +Module610Name=Variantes de producto Module3400Name=Redes Sociales +Module10000Name=Páginas web DictionaryAccountancyJournal=Diarios de contabilidad DictionarySocialNetworks=Redes Sociales Upgrade=Actualizar +NotificationsDescGlobal=* or by setting global email addresses in this setup page. +LDAPServerPortExample=Puerto predeterminado: 389 +LDAPServerUseTLS=Usar TLS LDAPFieldFirstName=Nombre(s) +Buy=Comprar +Sell=Vender AGENDA_SHOW_LINKED_OBJECT=Mostrar objeto vinculado en la vista de agenda +ShowFiscalYear=Mostrar período contable +AlwaysEditable=Siempre se puede editar +Format=Formato ConfFileMustContainCustom=Instalar o construir un módulo externo desde la aplicación necesita guardar los archivos del módulo en el directorio %s . Para que este directorio sea procesado por Dolibarr, debe configurar su conf/conf.php para agregar las 2 líneas de directiva: $dolibarr_main_url_root_alt='/custom';
    $dolibarr_main_document_root_alt='%s/custom'; +LinkColor=Color de los enlaces +Enter0or1=Introduce 0 o 1 +TypeOfTemplate=Tipo de plantilal MailToSendProposal=Propuestas de clientes MailToSendInvoice=Facturas de clientes MailToSendSupplierOrder=Ordenes de compra MailToSendSupplierInvoice=Facturas de proveedor +AllPublishers=Todos los editores +AddMenus=Añadir menús +AddPermissions=Añadir permisos +CodeLastResult=Último código de resultado OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    +ShowProjectLabel=Etiqueta de proyecto +TemplateAdded=Plantilla agregada MailToSendEventOrganization=Organización de Eventos +ModuleUpdateAvailable=Una actualización está disponible diff --git a/htdocs/langs/es_MX/agenda.lang b/htdocs/langs/es_MX/agenda.lang index 2dda1145955..85fd4181c3c 100644 --- a/htdocs/langs/es_MX/agenda.lang +++ b/htdocs/langs/es_MX/agenda.lang @@ -1,5 +1,4 @@ # Dolibarr language file - Source file is en_US - agenda -LocalAgenda=Calendario predeterminado ActionsOwnedBy=Evento propiedad de Event=Evento ListOfActions=Lista de eventos @@ -9,7 +8,6 @@ EventOnFullDay=Evento de todo el día(s) MenuToDoActions=Todos los eventos incompletos MenuDoneActions=Todos los eventos finalizados MenuDoneMyActions=Mis eventos finalizados -ListOfEvents=Lista de eventos (calendario predeterminado) ActionsAskedBy=Eventos reportados por ActionsDoneBy=Eventos realizado por ViewCal=Vista del mes diff --git a/htdocs/langs/es_MX/cashdesk.lang b/htdocs/langs/es_MX/cashdesk.lang index 4aa0c0f3e5c..10be296e74a 100644 --- a/htdocs/langs/es_MX/cashdesk.lang +++ b/htdocs/langs/es_MX/cashdesk.lang @@ -11,3 +11,4 @@ ShoppingCart=Carrito de compras RestartSelling=Volver a vender SellFinished=Venta completa NoVAT=No hay IVA para esta venta +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_MX/cron.lang b/htdocs/langs/es_MX/cron.lang index bd7c9cb94be..68c3271a3fe 100644 --- a/htdocs/langs/es_MX/cron.lang +++ b/htdocs/langs/es_MX/cron.lang @@ -1,4 +1,5 @@ # Dolibarr language file - Source file is en_US - cron +CronLastResult=Último código de resultado CronNone=Ninguno CronMethod=Método CronModule=Módulo diff --git a/htdocs/langs/es_MX/eventorganization.lang b/htdocs/langs/es_MX/eventorganization.lang index bcb01e7daa4..49279d946ab 100644 --- a/htdocs/langs/es_MX/eventorganization.lang +++ b/htdocs/langs/es_MX/eventorganization.lang @@ -3,7 +3,6 @@ ModuleEventOrganizationName =Organización de Eventos EventOrganizationDescription =Organización de Eventos a través el Módulo de Proyectos EventOrganizationDescriptionLong=Administrar organización de evento para conferencias, participantes, presentador, y participantes, con página de suscripción pública EventOrganizationConferenceOrBoothMenuLeft =Conferencia o Puesto -EventOrganizationSetup =Configuración de Organización de Evento EventOrganizationSetupPage =Página de organización de evento EVENTORGANIZATION_TASK_LABEL =Etiqueta de tareas para crear automáticamente cuando el proyecto sea validado EVENTORGANIZATION_TASK_LABELTooltip =Cuando validas un evento organizado, algunas tareas pueden ser creadas automáticamente en el proyecto

    Por ejemplo:
    diff --git a/htdocs/langs/es_MX/exports.lang b/htdocs/langs/es_MX/exports.lang new file mode 100644 index 00000000000..e682d6951bd --- /dev/null +++ b/htdocs/langs/es_MX/exports.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - exports +ComputedField=Campo calculado diff --git a/htdocs/langs/es_MX/main.lang b/htdocs/langs/es_MX/main.lang index 8348317d53f..b9c67e57220 100644 --- a/htdocs/langs/es_MX/main.lang +++ b/htdocs/langs/es_MX/main.lang @@ -236,6 +236,7 @@ ViewList=Vista de la lista Sincerely=Sinceramente DeleteLine=Borrar línea ExportOptions=Opciónes de exportación +WebSites=Páginas web ExpenseReports=Reporte de gastos Monday=lunes Tuesday=martes diff --git a/htdocs/langs/es_MX/mrp.lang b/htdocs/langs/es_MX/mrp.lang index afe7a7f1d75..300d0969e7e 100644 --- a/htdocs/langs/es_MX/mrp.lang +++ b/htdocs/langs/es_MX/mrp.lang @@ -1,7 +1,2 @@ # Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material BOMsSetup=configuración del módulo BOM -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_MX/partnership.lang b/htdocs/langs/es_MX/partnership.lang index e5a790d439e..514fd72f0fa 100644 --- a/htdocs/langs/es_MX/partnership.lang +++ b/htdocs/langs/es_MX/partnership.lang @@ -1,3 +1,3 @@ # Dolibarr language file - Source file is en_US - partnership DatePartnershipEnd=Fecha de finalización -PartnershipCanceled =Cancelado +PartnershipCanceled=Cancelado diff --git a/htdocs/langs/es_MX/ticket.lang b/htdocs/langs/es_MX/ticket.lang index 59745fa1759..4eeb07fdf80 100644 --- a/htdocs/langs/es_MX/ticket.lang +++ b/htdocs/langs/es_MX/ticket.lang @@ -1,4 +1,3 @@ # Dolibarr language file - Source file is en_US - ticket -Closed=Cerrada TicketSettings=Configuraciónes TicketMessageMailIntroText=Hola,
    Se envió una nueva respuesta en un ticket con el que se comunicó. Aquí está el mensaje:
    diff --git a/htdocs/langs/es_MX/withdrawals.lang b/htdocs/langs/es_MX/withdrawals.lang index 98cde29ac46..c9da08be27e 100644 --- a/htdocs/langs/es_MX/withdrawals.lang +++ b/htdocs/langs/es_MX/withdrawals.lang @@ -4,4 +4,4 @@ WithdrawalReceipt=Orden de domiciliación bancaria Rejects=Rechazos StatusPaid=Pagado StatusRefused=Rechazado -StatusMotif4=Órdenes de venta +StatusMotif4=Pedidos diff --git a/htdocs/langs/es_PA/accountancy.lang b/htdocs/langs/es_PA/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_PA/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_PA/admin.lang b/htdocs/langs/es_PA/admin.lang index f0c05a924c9..987defb9fb7 100644 --- a/htdocs/langs/es_PA/admin.lang +++ b/htdocs/langs/es_PA/admin.lang @@ -1,4 +1,5 @@ # Dolibarr language file - Source file is en_US - admin VersionUnknown=Desconocido +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_PA/cashdesk.lang b/htdocs/langs/es_PA/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_PA/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_PA/cron.lang b/htdocs/langs/es_PA/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_PA/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_PA/eventorganization.lang b/htdocs/langs/es_PA/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_PA/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_PA/mrp.lang b/htdocs/langs/es_PA/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_PA/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_PE/accountancy.lang b/htdocs/langs/es_PE/accountancy.lang index f41b76f9342..cf9e532ffbf 100644 --- a/htdocs/langs/es_PE/accountancy.lang +++ b/htdocs/langs/es_PE/accountancy.lang @@ -32,7 +32,6 @@ ACCOUNTING_LIST_SORT_VENTILATION_DONE=Comienza la clasificación de la página " ACCOUNTING_LENGTH_DESCRIPTION=Truncar la descripción de los productos y servicios en los listados después de los caracteres x (mejor = 50) ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncar el formulario de descripción de la cuenta de producto y servicios en los listados después de los caracteres x (mejor = 50) ACCOUNTING_LENGTH_GACCOUNT=Longitud de las cuentas de contabilidad general (si establece el valor a 6 aquí, la cuenta '706' aparecerá como '706000' en la pantalla) -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) ACCOUNTING_SELL_JOURNAL=Diario de Venta ACCOUNTING_PURCHASE_JOURNAL=Diario de Compra ACCOUNTING_MISCELLANEOUS_JOURNAL=Diario diverso diff --git a/htdocs/langs/es_PE/admin.lang b/htdocs/langs/es_PE/admin.lang index 6ab8ad59b97..f6e96634d7b 100644 --- a/htdocs/langs/es_PE/admin.lang +++ b/htdocs/langs/es_PE/admin.lang @@ -7,7 +7,8 @@ Permission92=Crear/modificar impuestos e IGV Permission93=Eliminar impuestos e IGV DictionaryVAT=Tasa de IGV o tasa de impuesto a las ventas UnitPriceOfProduct=Precio unitario sin IGV de un producto +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OptionVatMode=IGV adeudado MailToSendInvoice=Facturas de Clientes OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_PE/cashdesk.lang b/htdocs/langs/es_PE/cashdesk.lang index 2486b6f71de..0900cf981c3 100644 --- a/htdocs/langs/es_PE/cashdesk.lang +++ b/htdocs/langs/es_PE/cashdesk.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - cashdesk CashDeskMenu=Punto de venta CashDesk=Punto de venta +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_PE/eventorganization.lang b/htdocs/langs/es_PE/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_PE/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_PE/mrp.lang b/htdocs/langs/es_PE/mrp.lang index df2c3df2e0b..3ed4ad645a9 100644 --- a/htdocs/langs/es_PE/mrp.lang +++ b/htdocs/langs/es_PE/mrp.lang @@ -8,11 +8,8 @@ MrpSetupPage=Configuración del modulo PRM MenuBOM=Lista de materiales LatestBOMModified=Últimas%s Lista de materiales modificados LatestMOModified=Últimas %s Órdenes de Fabricación modificadas -BillOfMaterials=Lista de Material ListOfBOMs=Listado de Lista De Material - BOM ListOfManufacturingOrders=Lista de Órdenes de Fabricación -NewBOM=Nueva lista de material -ProductBOMHelp=Producto para crear con este BOM.
    Nota: Productos con la propiedad 'Naturaleza del producto'= 'Materia prima' no serán visibles en esta lista. BOMsNumberingModules=Plantillas de numeración BOM BOMsModelModule=Plantillas de documento BOM MOsNumberingModules=Numeración de plantillas MO @@ -21,18 +18,14 @@ FreeLegalTextOnBOMs=Texto libre en documento BOM WatermarkOnDraftBOMs=Marca de agua en BOM borrador FreeLegalTextOnMOs=Texto libre en documento MO WatermarkOnDraftMOs=Marca de agua en borrador MO -ConfirmCloneBillOfMaterials=Está seguro de clonar esta lista de materiales %s? ConfirmCloneMo=Está seguro de clonar la Orden de Fabricación %s? ValueOfMeansLoss=Valor de 0.95 significa un promedio de 5%% pérdidas durante la producción ValueOfMeansLossForProductProduced=Valor de 0.95 significa un promedio de 5 %% de pérdidas del producto producido DeleteBillOfMaterials=Eliminar Lista De Materiales -ConfirmDeleteBillOfMaterials=Está seguro de borrar esta Lista de Materiales -ConfirmDeleteMo=Está seguro de borrar esta Lista de Materiales NewMO=Nueva Orden de Fabricación QtyToProduce=Cantidad a producir DateEndPlannedMo=Fecha de fin planeada KeepEmptyForAsap=Vacío si es 'Tan pronto como sea posible' -EstimatedDurationDesc=Duración estimada a fabricar el producto usando este BOM ConfirmValidateBom=Está seguro de validar el BOM con la referencia %s (Usted podrá usarlo para crear nuevas órdenes de fabricación) ConfirmCloseBom=Está seguro de cancelar este BOM (Ya no podrá usarlo para crear nuevas órdenes de fabricación) ConfirmReopenBom=Está seguro de re-abrir este BOM (Podrá usarlo para crear nuevas órdenes de fabricación) @@ -56,8 +49,8 @@ ConfirmProductionDesc=Al hacer click en '%s', validará el consumo y / o producc AutoCloseMO=Cerrar automáticamente la Orden de Fabricación si se completa las cantidades para consumir y producir NoStockChangeOnServices=Sin cambios de stock en servicios ProductQtyToConsumeByMO=Cantidad de producto pendiente para consumir por MO abierto. -ProductQtyToProduceByMO=Cantidad de producto pendiente para producir por MO abierto. AddNewConsumeLines=Agregar nueva linea para consumir TotalCost=Costo total BOMTotalCost=El costo a producir este BOM es basado sobre el costo de cantidad y producto a consumir (Se usa si el precio de costo está definido, de lo contario usa el precio promedio ponderado, o en todo caso el mejor precio de compra) GoOnTabProductionToProduceFirst=Debe primero empezar la producción para cerrar una orden de fabricación (Ver tab '%s'). Pero puede cancelarlo. +DeleteWorkstation=Borrar diff --git a/htdocs/langs/es_PE/projects.lang b/htdocs/langs/es_PE/projects.lang index 16f080acf7c..b4ee4dfb193 100644 --- a/htdocs/langs/es_PE/projects.lang +++ b/htdocs/langs/es_PE/projects.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - projects OppStatusPROPO=Cotización +NewInter=Nueva intervención diff --git a/htdocs/langs/es_PY/accountancy.lang b/htdocs/langs/es_PY/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_PY/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_PY/admin.lang b/htdocs/langs/es_PY/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/es_PY/admin.lang +++ b/htdocs/langs/es_PY/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_PY/cashdesk.lang b/htdocs/langs/es_PY/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_PY/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_PY/cron.lang b/htdocs/langs/es_PY/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_PY/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_PY/eventorganization.lang b/htdocs/langs/es_PY/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_PY/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_PY/mrp.lang b/htdocs/langs/es_PY/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_PY/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_US/accountancy.lang b/htdocs/langs/es_US/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_US/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_US/admin.lang b/htdocs/langs/es_US/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/es_US/admin.lang +++ b/htdocs/langs/es_US/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_US/cashdesk.lang b/htdocs/langs/es_US/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_US/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_US/cron.lang b/htdocs/langs/es_US/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_US/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_US/eventorganization.lang b/htdocs/langs/es_US/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_US/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_US/mrp.lang b/htdocs/langs/es_US/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_US/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_UY/accountancy.lang b/htdocs/langs/es_UY/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_UY/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_UY/admin.lang b/htdocs/langs/es_UY/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/es_UY/admin.lang +++ b/htdocs/langs/es_UY/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_UY/cashdesk.lang b/htdocs/langs/es_UY/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_UY/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_UY/cron.lang b/htdocs/langs/es_UY/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/es_UY/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/es_UY/eventorganization.lang b/htdocs/langs/es_UY/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/es_UY/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/es_UY/mrp.lang b/htdocs/langs/es_UY/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_UY/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_VE/accountancy.lang b/htdocs/langs/es_VE/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/es_VE/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/es_VE/admin.lang b/htdocs/langs/es_VE/admin.lang index 271cb2be3a5..728bd4f25d7 100644 --- a/htdocs/langs/es_VE/admin.lang +++ b/htdocs/langs/es_VE/admin.lang @@ -22,6 +22,7 @@ ExtraFieldsSupplierInvoices=Atributos adicionales (facturas) ExtraFieldsProject=Atributos adicionales (proyectos) ExtraFieldsProjectTask=Atributos adicionales (tareas) ExtraFieldHasWrongValue=El atributo %s tiene un valor no válido +NotificationsDescGlobal=* or by setting global email addresses in this setup page. SupplierProposalSetup=Configuración del módulo Solicitudes a proveedor SupplierProposalNumberingModules=Modelos de numeración de solicitud de precios a proveedor SupplierProposalPDFModules=Modelos de documentos de solicitud de precios a proveedores @@ -31,4 +32,4 @@ LDAPMemberObjectClassListExample=Lista de ObjectClass que definen los atributos LDAPUserObjectClassListExample=Lista de ObjectClass que definen los atributos de un registro (ej: top,inetOrgPerson o top,user for active directory) LDAPContactObjectClassListExample=Lista de objectClass que definen los atributos de un registro (ej: top,inetOrgPerson o top,user for active directory) OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/es_VE/agenda.lang b/htdocs/langs/es_VE/agenda.lang deleted file mode 100644 index 54d000526be..00000000000 --- a/htdocs/langs/es_VE/agenda.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - agenda -ListOfEvents=lista de acontecimientos (calendario interno) diff --git a/htdocs/langs/es_VE/cashdesk.lang b/htdocs/langs/es_VE/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/es_VE/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/es_VE/eventorganization.lang b/htdocs/langs/es_VE/eventorganization.lang index bde5dca9705..37458dd7475 100644 --- a/htdocs/langs/es_VE/eventorganization.lang +++ b/htdocs/langs/es_VE/eventorganization.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page EvntOrgDraft =A validar diff --git a/htdocs/langs/es_VE/mrp.lang b/htdocs/langs/es_VE/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/es_VE/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/es_VE/partnership.lang b/htdocs/langs/es_VE/partnership.lang index c1937e30555..4221d0b0c89 100644 --- a/htdocs/langs/es_VE/partnership.lang +++ b/htdocs/langs/es_VE/partnership.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - partnership DatePartnershipEnd=Fecha finalización -PartnershipDraft =A validar -PartnershipAccepted =Aceptada -PartnershipRefused =Devuelta +PartnershipDraft=A validar +PartnershipAccepted=Aceptada +PartnershipRefused=Devuelta diff --git a/htdocs/langs/es_VE/products.lang b/htdocs/langs/es_VE/products.lang index 890163bca26..1b3375e9970 100644 --- a/htdocs/langs/es_VE/products.lang +++ b/htdocs/langs/es_VE/products.lang @@ -1,4 +1,8 @@ # Dolibarr language file - Source file is en_US - products +ProductDescription=Descripción del Producto +ProductVatMassChange=Actualización global del IVA +MassBarcodeInit=Inicialización masiva de código de barra +MassBarcodeInitDesc=Esta página se puede utilizar para inicializar un código de barras en objetos que no tienen un código de barras definido. Verifique antes de que se complete la configuración del código de barras del módulo. ProductsOnSaleOnly=Productos solo a para venta ProductsOnPurchaseOnly=Productos solo para compra ProductStatusNotOnBuyShort=Fuera compra diff --git a/htdocs/langs/es_VE/salaries.lang b/htdocs/langs/es_VE/salaries.lang deleted file mode 100644 index e08b06e4b39..00000000000 --- a/htdocs/langs/es_VE/salaries.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - salaries -THMDescription=Este valor puede ser utilizado para calcular el costo de tiempo consumido en un proyecto que ponen los usuarios si se utiliza el proyecto de módulo -TJMDescription=Este valor es actualmente como única información y no se utiliza para cualquier cálculo diff --git a/htdocs/langs/es_VE/ticket.lang b/htdocs/langs/es_VE/ticket.lang index 29893df37f8..490eccfd831 100644 --- a/htdocs/langs/es_VE/ticket.lang +++ b/htdocs/langs/es_VE/ticket.lang @@ -1,4 +1,3 @@ # Dolibarr language file - Source file is en_US - ticket TicketTypeShortOTHER=Otra -Closed=Cerrada Type=Tipo diff --git a/htdocs/langs/et_EE/accountancy.lang b/htdocs/langs/et_EE/accountancy.lang index 5d28519c9ab..70948cca76e 100644 --- a/htdocs/langs/et_EE/accountancy.lang +++ b/htdocs/langs/et_EE/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Eksportimise mudel Selectmodelcsv=Vali eksportimise mudel @@ -335,7 +339,7 @@ Modelcsv_normal=Tavaline eksportimine Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index b0a402fe689..42d7c62674e 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -53,6 +53,7 @@ InternalUser=Sisemine kasutaja ExternalUser=Väline kasutaja InternalUsers=Sisemised kasutajad ExternalUsers=Välised kasutajad +UserInterface=User interface GUISetup=Kuva SetupArea=Seadistamine UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Ei ole saadaval, kui Ajax on välja lülitatud AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript on välja lülitatud UsePreviewTabs=Kasuta eelvaate sakke ShowPreview=Kuva eelvaade @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Piirangud ja täpsus MenuIdParent=Emamenüü ID DetailMenuIdParent=Emamenüü ID (juurmenüü korral tühi) +ParentID=Parent ID DetailPosition=Järjekorranumber menüü asukoha määratlemiseks AllMenus=Kõik NotConfigured=Moodul/Rakendus pole veel seadistatud @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Näidatakse ainult elemente sisse lülitatud moodulitest. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Alla laadimiseks leiad rohkem mooduleid Internetist. ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Otsi katsetuskärgus rakendusi/mooduleid @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Uuendatud -Nouveauté=Novelty AchatTelechargement=Osta / Laadi alla GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore on ametlik Dolibarr ERP/CRM moodulite müümiseks kasutatav koht @@ -399,6 +403,7 @@ SecurityToken=URLide kaitsmiseks kasutatav võti NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Peida kõik müügimaksu / käibemaksuga seotud andmed PDFRulesForSalesTax=Müügimaksu / käibemaksu reeglid @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Lepingud/Tellimused Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Vöötkoodid -Module55Desc=Vöötkoodide haldamine +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Allahindluste loomine/muutmine Permission403=Allahindluste kinnitamine Permission404=Allahindluste kustutamine Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Palkade eksportimine Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Tehingute vaatamine Permission50202=Tehingute impor Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Sotsiaalvõrgud DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Seadistused salvestatud SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Antud PHP ei võimalda SSL funktsioone DownloadMoreSkins=Veel alla laetavaid kujundusi SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Osaline tõlge MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Olek on hetkel %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Otsingu optimeerimine -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Põhilised seaded AdherentLoginRequired= Halda iga liikme kasutajanime AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Liikmetele e-kirja kinnituse saatmise (kinnitamise või uue tellimuse puhul) märkeruut on vaikimisi valitud +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial mooduli seadistamine ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Soovitatav +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/et_EE/agenda.lang b/htdocs/langs/et_EE/agenda.lang index 98053cf19ef..493e517fbfe 100644 --- a/htdocs/langs/et_EE/agenda.lang +++ b/htdocs/langs/et_EE/agenda.lang @@ -4,7 +4,7 @@ Actions=Tegevused Agenda=Päevakava TMenuAgenda=Päevakava Agendas=Päevakavad -LocalAgenda=Sisemine kalender +LocalAgenda=Default calendar ActionsOwnedBy=Sündmus kuulub ActionsOwnedByShort=Omanik AffectedTo=Mõjutatud isik @@ -14,13 +14,13 @@ EventsNb=Tegevuste arv ListOfActions=Tegevuste nimekiri EventReports=Tegevuste aruanded Location=Asukoht -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Tegevus kestab kogu/kõik päeva(d) MenuToDoActions=Kõik lõpetamata tegevused MenuDoneActions=Kõik lõpetatud tegevused MenuToDoMyActions=Minu lõpetamata tegevused MenuDoneMyActions=Minu lõpetatud tegevused -ListOfEvents=Sündmuste loend (sisemine kalender) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Tegevused, mille sisestas ActionsToDoBy=Tegevused, mis on seotud ActionsDoneBy=Tegevused, mille tegi @@ -38,6 +38,7 @@ ActionsEvents=Tegevused, mille kohta lisab Dolibarr automaatselt päevakavasse s EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Kolmasosapool %s loodud +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Kolmasosapool %s kustutatud ContractValidatedInDolibarr=Leping %s kinnitatud CONTRACT_DELETEInDolibarr=Leping %s kustutatud @@ -87,6 +88,7 @@ OrderDeleted=Tellimus kustutatud InvoiceDeleted=Arve kustutatud DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Toode %s loodud PRODUCT_MODIFYInDolibarr=Toote %s muudetud @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Alguskuupäev @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Näita kontaktide sünnipäevi +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Peida kontaktide sünnipäevad Busy=Hõivatud ExportDataset_event1=Päevakavas olevate tegevuste nimekiri @@ -152,6 +155,7 @@ ActionType=Sündmuse tüüp DateActionBegin=Sündmuse alguse kuupäev ConfirmCloneEvent=Kas soovite kindlasti sündmuse kloonida %s ? RepeatEvent=Korda sündmust +OnceOnly=Once only EveryWeek=Igal nädalal EveryMonth=Igal kuul DayOfMonth=Kuu päeval @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/et_EE/banks.lang b/htdocs/langs/et_EE/banks.lang index b3b113ab55c..81d8f592967 100644 --- a/htdocs/langs/et_EE/banks.lang +++ b/htdocs/langs/et_EE/banks.lang @@ -115,7 +115,7 @@ TransferTo=Kuhu TransferFromToDone=Kanne kontolt %s kontole %s väärtuses %s %s on registreeritud. CheckTransmitter=Saatja ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Pangatšekid diff --git a/htdocs/langs/et_EE/bills.lang b/htdocs/langs/et_EE/bills.lang index 89861b7e743..93251093515 100644 --- a/htdocs/langs/et_EE/bills.lang +++ b/htdocs/langs/et_EE/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Arve kuupäev DatePointOfTax=Point of tax NoInvoice=Ühtki arvet ei ole +NoOpenInvoice=No open invoice ClassifyBill=Liigita arve SupplierBillsToPay=Tasumata tarnija arved CustomerBillsUnpaid=Maksmata kliendiarved @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/et_EE/boxes.lang b/htdocs/langs/et_EE/boxes.lang index d86d56d95db..4e4b82aa999 100644 --- a/htdocs/langs/et_EE/boxes.lang +++ b/htdocs/langs/et_EE/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Müügiarved ForCustomersOrders=Müügiarved ForProposals=Pakkumised diff --git a/htdocs/langs/et_EE/cashdesk.lang b/htdocs/langs/et_EE/cashdesk.lang index 414b751c9d6..ccb70fbf6ad 100644 --- a/htdocs/langs/et_EE/cashdesk.lang +++ b/htdocs/langs/et_EE/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/et_EE/compta.lang b/htdocs/langs/et_EE/compta.lang index 77d6b6c4d74..363173307f3 100644 --- a/htdocs/langs/et_EE/compta.lang +++ b/htdocs/langs/et_EE/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/et_EE/cron.lang b/htdocs/langs/et_EE/cron.lang index f727eb118fc..bce6fea2e1c 100644 --- a/htdocs/langs/et_EE/cron.lang +++ b/htdocs/langs/et_EE/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Lõppkuupäev ei saa olla alguskuupäevast varasem StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Lülita välja -CronTaskInactive=See tegevus on välja lülitatud +CronTaskInactive=This job is disabled (not scheduled) CronId=ID CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/et_EE/deliveries.lang b/htdocs/langs/et_EE/deliveries.lang index c08d77986b4..69449b457ca 100644 --- a/htdocs/langs/et_EE/deliveries.lang +++ b/htdocs/langs/et_EE/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Vastuvõtja ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index 1a16bdc7807..4126fe3e797 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Kasutajanimi %s on juba olemas. ErrorGroupAlreadyExists=Grupp %s on juba olemas. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Kirjet ei leitud. ErrorFailToCopyFile=Ei suutnud kopeerida faili '%s' asukohta '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Faili '%s' lugemine ebaõnnestus ErrorCantReadDir=Kausta '%s' lugemine ebaõnnestus ErrorBadLoginPassword=Vale kasutajanimi või paroo ErrorLoginDisabled=Sinu konto on blokeeritud -ErrorFailedToRunExternalCommand=Välise käsu käivitamine ebaõnnestus. Kontrolli, et see on saadaval ja PHP serveri poolt käivitatav. Kui PHP Safe Mode on sisse lülitatud, siis kontrolli, et käsk on parameetri safe_mode_exec_dir poolt lubatud kaustas. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Parooli muutmine ebaõnnestus ErrorLoginDoesNotExists=Kasutajanime %s ei leitud. ErrorLoginHasNoEmail=Antud kasutajal ei ole e-posti aadressi. Protsess katkestatud. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/et_EE/eventorganization.lang b/htdocs/langs/et_EE/eventorganization.lang index a5d54dbe67c..448ea7bae68 100644 --- a/htdocs/langs/et_EE/eventorganization.lang +++ b/htdocs/langs/et_EE/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Sündmuse tüüp +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/et_EE/exports.lang b/htdocs/langs/et_EE/exports.lang index ed1048c18f3..d3524c6c436 100644 --- a/htdocs/langs/et_EE/exports.lang +++ b/htdocs/langs/et_EE/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Rea liik (0=toode, 1=teenus) FileWithDataToImport=Imporditavate andmetega fai FileToImport=Imporditav lähtefai FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Lähtefaili formaat diff --git a/htdocs/langs/et_EE/holiday.lang b/htdocs/langs/et_EE/holiday.lang index ade8ef616b2..4236d9bc8fa 100644 --- a/htdocs/langs/et_EE/holiday.lang +++ b/htdocs/langs/et_EE/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Ootab heakskiit ApprovedCP=Heaks kiidetud CancelCP=Tühistatud RefuseCP=Keeldutud -ValidatorCP=Heaks kiitja +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Muuda @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Pead valima alguskuupäeva. NoDateFin=Pead valima lõppkuupäeva. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Kasutaja ErrorAddEventToUserCP=Erakorralise puhkuse lisamisel tekkis viga AddEventToUserOkCP=Erakorralise puhkuse lisamine edukalt lõpetatud. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Sooritas -UserUpdateCP=Kasutajale +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Eelmine saldo NewSoldeCP=Uus saldo alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Igakuine uuendus ManualUpdate=Käsitsi uuendus @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Edukalt uuendatud. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/et_EE/hrm.lang b/htdocs/langs/et_EE/hrm.lang index ea89f34be48..60645ab49c9 100644 --- a/htdocs/langs/et_EE/hrm.lang +++ b/htdocs/langs/et_EE/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/et_EE/install.lang b/htdocs/langs/et_EE/install.lang index f89a2c5d868..05bb80c548f 100644 --- a/htdocs/langs/et_EE/install.lang +++ b/htdocs/langs/et_EE/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/et_EE/interventions.lang b/htdocs/langs/et_EE/interventions.lang index 9f2db49e62c..98372242cc4 100644 --- a/htdocs/langs/et_EE/interventions.lang +++ b/htdocs/langs/et_EE/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/et_EE/knowledgemanagement.lang b/htdocs/langs/et_EE/knowledgemanagement.lang index 2ad488984cd..a14c2e096ce 100644 --- a/htdocs/langs/et_EE/knowledgemanagement.lang +++ b/htdocs/langs/et_EE/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Dolibarri kohta KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Artikkel KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/et_EE/languages.lang b/htdocs/langs/et_EE/languages.lang index ef1fe82cda5..6503f2f3d9d 100644 --- a/htdocs/langs/et_EE/languages.lang +++ b/htdocs/langs/et_EE/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Araabia Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Araabia +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Hollandi (Belgia) Language_nl_NL=Dutch Language_pl_PL=Poola +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugali (Brasiilia) Language_pt_PT=Portugali +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumeenia Language_ru_RU=Vene Language_ru_UA=Vene (Ukraina) diff --git a/htdocs/langs/et_EE/mails.lang b/htdocs/langs/et_EE/mails.lang index 791a17b9305..14c511c7934 100644 --- a/htdocs/langs/et_EE/mails.lang +++ b/htdocs/langs/et_EE/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index 2f7fbb0902b..f010a56fd15 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Maksumäär +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Liikmed MenuAgendaGoogle=Google päevakava MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr piir (menüü Kodu->Seaded->Turvalisus): %s Kb, PHP piir: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Aktiivne keel CurrentTheme=Aktiivne teema @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Töödelda ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/et_EE/members.lang b/htdocs/langs/et_EE/members.lang index 0168761f010..a0d21e24e76 100644 --- a/htdocs/langs/et_EE/members.lang +++ b/htdocs/langs/et_EE/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/et_EE/modulebuilder.lang b/htdocs/langs/et_EE/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/et_EE/modulebuilder.lang +++ b/htdocs/langs/et_EE/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/et_EE/mrp.lang b/htdocs/langs/et_EE/mrp.lang index ec999a473a4..32e99e6e6b7 100644 --- a/htdocs/langs/et_EE/mrp.lang +++ b/htdocs/langs/et_EE/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Kustuta NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/et_EE/orders.lang b/htdocs/langs/et_EE/orders.lang index 9d6a928579c..fb795e40552 100644 --- a/htdocs/langs/et_EE/orders.lang +++ b/htdocs/langs/et_EE/orders.lang @@ -11,6 +11,7 @@ OrderDate=Telllimuse kuupäev OrderDateShort=Tellimuse kuupäev OrderToProcess=Töödeldav tellimus NewOrder=Uus tellimus +NewSupplierOrderShort=Uus tellimus NewOrderSupplier=New Purchase Order ToOrder=Telli MakeOrder=Telli @@ -73,6 +74,7 @@ DeleteOrder=Kustuta tellimus CancelOrder=Tühista tellimus OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Lisa tellimuse mustandile ShowOrder=Näita tellimust diff --git a/htdocs/langs/et_EE/other.lang b/htdocs/langs/et_EE/other.lang index 8fa1b02ba3e..833d9b97a5e 100644 --- a/htdocs/langs/et_EE/other.lang +++ b/htdocs/langs/et_EE/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=Fail %s oli eemaldatud DirWasRemoved=Kaust %s oli eemaldatud FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Laius Height=Kõrgus @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Ekspordi ala @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Sulge diff --git a/htdocs/langs/et_EE/partnership.lang b/htdocs/langs/et_EE/partnership.lang index 8e932fb6449..c27f4746f85 100644 --- a/htdocs/langs/et_EE/partnership.lang +++ b/htdocs/langs/et_EE/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Alguskuupäev DatePartnershipEnd=Lõppkuupäev +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Mustand -PartnershipAccepted = Accepted -PartnershipRefused = Keeldutud -PartnershipCanceled = Tühistatud - +PartnershipDraft=Mustand +PartnershipAccepted=Accepted +PartnershipRefused=Keeldutud +PartnershipCanceled=Tühistatud PartnershipManagedFor=Partners are diff --git a/htdocs/langs/et_EE/productbatch.lang b/htdocs/langs/et_EE/productbatch.lang index c6e4fd4eee9..6faf773f01c 100644 --- a/htdocs/langs/et_EE/productbatch.lang +++ b/htdocs/langs/et_EE/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/et_EE/products.lang b/htdocs/langs/et_EE/products.lang index cb10804e9aa..04802d20cb5 100644 --- a/htdocs/langs/et_EE/products.lang +++ b/htdocs/langs/et_EE/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimaalne ostuhind MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Kaalutud keskmine hind +PMPValueShort=KKH diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index 4d222514a55..c5761825749 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -140,6 +140,7 @@ NoTasks=Selle projektiga ei ole seotud ühtki ülesannet LinkedToAnotherCompany=Seotud muu kolmanda isikuga TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Kulutatud aeg on tüh +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=See kustutab ka kõik projekti ülesanded (hetkel %s ülesannet) ja kõik kulutatud aja sisestused. IfNeedToUseOtherObjectKeepEmpty=Kui mingid projekti loomiseks vajalikud objektid (arve, tellimus jne) kuuluvad mõnele muule kolmandale isikule, siis jäta see tühjaks, et oleks projekti võimalik siduda mitme kolmanda isikuga. CloneTasks=Klooni ülesanded @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Aega kulutatud TimeSpentForInvoice=Aega kulutatud OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Uus arve +NewInter=Uus sekkumine OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/et_EE/receptions.lang b/htdocs/langs/et_EE/receptions.lang index d04f499d1fe..ee11dcf6603 100644 --- a/htdocs/langs/et_EE/receptions.lang +++ b/htdocs/langs/et_EE/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/et_EE/salaries.lang b/htdocs/langs/et_EE/salaries.lang index d3ee991fc6e..2b0d9e69b4d 100644 --- a/htdocs/langs/et_EE/salaries.lang +++ b/htdocs/langs/et_EE/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Palk Salaries=Palgad -NewSalaryPayment=Uus palga makse +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Palga makse SalariesPayments=Palkade maksed +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Näita palga makset THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/et_EE/stocks.lang b/htdocs/langs/et_EE/stocks.lang index 51a1fe08e26..f4ade12315a 100644 --- a/htdocs/langs/et_EE/stocks.lang +++ b/htdocs/langs/et_EE/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Ühiku ostuhind StockTooLow=Laojääk on liiga madal StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Väärtus -PMPValue=Kaalutud keskmine hind -PMPValueShort=KKH EnhancedValueOfWarehouses=Ladude väärtus UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/et_EE/ticket.lang b/htdocs/langs/et_EE/ticket.lang index 6d1f9cfe586..5234ca4efca 100644 --- a/htdocs/langs/et_EE/ticket.lang +++ b/htdocs/langs/et_EE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Muu @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Loe Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Ootel -Closed=Suletud +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Rühm +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/et_EE/trips.lang b/htdocs/langs/et_EE/trips.lang index b6a59ec517d..c00651f2836 100644 --- a/htdocs/langs/et_EE/trips.lang +++ b/htdocs/langs/et_EE/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Kinnitamise kuupäev DATE_CANCEL=Cancelation date DATE_PAIEMENT=Maksekuupäev -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/et_EE/users.lang b/htdocs/langs/et_EE/users.lang index 9898bac8b6d..16e4557ac3d 100644 --- a/htdocs/langs/et_EE/users.lang +++ b/htdocs/langs/et_EE/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Loodav kasutajanimi NameToCreate=Loodava kolmanda isiku nimi YourRole=Sinu rollid YourQuotaOfUsersIsReached=Sinu aktiivsete kasutajate kvoot on täis! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Ainult superadministraator saab ära võtta superadministraatori õigusi HierarchicalResponsible=Supervisor HierarchicView=Struktuuri vaade diff --git a/htdocs/langs/et_EE/website.lang b/htdocs/langs/et_EE/website.lang index ba5d90f597c..6c4c9ab817c 100644 --- a/htdocs/langs/et_EE/website.lang +++ b/htdocs/langs/et_EE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Lehekülg -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/et_EE/withdrawals.lang b/htdocs/langs/et_EE/withdrawals.lang index fc31c53b37e..ce116c1f6fe 100644 --- a/htdocs/langs/et_EE/withdrawals.lang +++ b/htdocs/langs/et_EE/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Määra krediteerituks ClassCreditedConfirm=Kas oled kindel, et soovid selle väljamakse kviitungi liigitada pangakontole krediteerituks? TransData=Saatmise kuupäev @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/et_EE/workflow.lang b/htdocs/langs/et_EE/workflow.lang index 46396afb83e..595666c8aa7 100644 --- a/htdocs/langs/et_EE/workflow.lang +++ b/htdocs/langs/et_EE/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/eu_ES/accountancy.lang b/htdocs/langs/eu_ES/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/eu_ES/accountancy.lang +++ b/htdocs/langs/eu_ES/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index 8efd4589d74..22aa9528a35 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -53,6 +53,7 @@ InternalUser=Barneko erabiltzailea ExternalUser=Kanpoko erabiltzailea InternalUsers=Barneko erabiltzaileak ExternalUsers=Kanpoko erabiltzaileak +UserInterface=User interface GUISetup=Itxura SetupArea=Konfigurazioa UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Ajax ezgaituta dagoenean ez dago erabilgarri AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript ezgaituta UsePreviewTabs=Aurreikuspen fitxak erabili ShowPreview=Aurreikuspena aurkeztu @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limiteak eta bereizmena MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=Guztiak NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barra-kodeak -Module55Desc=Barra-kodeak kudeatzea +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Aukera nagusiak AdherentLoginRequired= Kide bakoitzarentzat Sarrera bat kudeatu AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Gomendatua +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/eu_ES/agenda.lang b/htdocs/langs/eu_ES/agenda.lang index 74d5dec55a8..c813b3e8f34 100644 --- a/htdocs/langs/eu_ES/agenda.lang +++ b/htdocs/langs/eu_ES/agenda.lang @@ -4,7 +4,7 @@ Actions=Gertaerak Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendak -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Gertaera kopurua ListOfActions=Gertaeren zerrenda EventReports=Event reports Location=Kokapena -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/eu_ES/banks.lang b/htdocs/langs/eu_ES/banks.lang index 222600a6f21..0ba2263650a 100644 --- a/htdocs/langs/eu_ES/banks.lang +++ b/htdocs/langs/eu_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/eu_ES/bills.lang b/htdocs/langs/eu_ES/bills.lang index d82411ce066..bfa74619ec8 100644 --- a/htdocs/langs/eu_ES/bills.lang +++ b/htdocs/langs/eu_ES/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/eu_ES/boxes.lang b/htdocs/langs/eu_ES/boxes.lang index 1b6d9981dcb..140d3e05df1 100644 --- a/htdocs/langs/eu_ES/boxes.lang +++ b/htdocs/langs/eu_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposamenak diff --git a/htdocs/langs/eu_ES/cashdesk.lang b/htdocs/langs/eu_ES/cashdesk.lang index 934753b0f69..c6f887bd6aa 100644 --- a/htdocs/langs/eu_ES/cashdesk.lang +++ b/htdocs/langs/eu_ES/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/eu_ES/compta.lang b/htdocs/langs/eu_ES/compta.lang index 5e4891d5aea..8a7acb87448 100644 --- a/htdocs/langs/eu_ES/compta.lang +++ b/htdocs/langs/eu_ES/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/eu_ES/cron.lang b/htdocs/langs/eu_ES/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/eu_ES/cron.lang +++ b/htdocs/langs/eu_ES/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/eu_ES/deliveries.lang b/htdocs/langs/eu_ES/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/eu_ES/deliveries.lang +++ b/htdocs/langs/eu_ES/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/eu_ES/eventorganization.lang b/htdocs/langs/eu_ES/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/eu_ES/eventorganization.lang +++ b/htdocs/langs/eu_ES/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/eu_ES/exports.lang b/htdocs/langs/eu_ES/exports.lang index bcb14df4934..15648132025 100644 --- a/htdocs/langs/eu_ES/exports.lang +++ b/htdocs/langs/eu_ES/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/eu_ES/holiday.lang b/htdocs/langs/eu_ES/holiday.lang index 472c74d7255..de3a9ced3f9 100644 --- a/htdocs/langs/eu_ES/holiday.lang +++ b/htdocs/langs/eu_ES/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Editatu @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Erabiltzailea ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/eu_ES/hrm.lang b/htdocs/langs/eu_ES/hrm.lang index 97a33211e6f..bbd55cb4ee4 100644 --- a/htdocs/langs/eu_ES/hrm.lang +++ b/htdocs/langs/eu_ES/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/eu_ES/interventions.lang b/htdocs/langs/eu_ES/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/eu_ES/interventions.lang +++ b/htdocs/langs/eu_ES/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/eu_ES/knowledgemanagement.lang b/htdocs/langs/eu_ES/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/eu_ES/knowledgemanagement.lang +++ b/htdocs/langs/eu_ES/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/eu_ES/languages.lang b/htdocs/langs/eu_ES/languages.lang index 2717b18e96e..1bad7c08f21 100644 --- a/htdocs/langs/eu_ES/languages.lang +++ b/htdocs/langs/eu_ES/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/eu_ES/mails.lang b/htdocs/langs/eu_ES/mails.lang index f7f81a91e0e..7fae207fc13 100644 --- a/htdocs/langs/eu_ES/mails.lang +++ b/htdocs/langs/eu_ES/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index cd91c1318f8..a79731b9d4d 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Kideak MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/eu_ES/members.lang b/htdocs/langs/eu_ES/members.lang index 823645abd57..270587b6f98 100644 --- a/htdocs/langs/eu_ES/members.lang +++ b/htdocs/langs/eu_ES/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/eu_ES/modulebuilder.lang b/htdocs/langs/eu_ES/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/eu_ES/modulebuilder.lang +++ b/htdocs/langs/eu_ES/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/eu_ES/mrp.lang b/htdocs/langs/eu_ES/mrp.lang index ec999a473a4..a6e57a1168a 100644 --- a/htdocs/langs/eu_ES/mrp.lang +++ b/htdocs/langs/eu_ES/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Ezabatu NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/eu_ES/orders.lang b/htdocs/langs/eu_ES/orders.lang index 8ccc334ca9d..cd69c64a454 100644 --- a/htdocs/langs/eu_ES/orders.lang +++ b/htdocs/langs/eu_ES/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/eu_ES/other.lang b/htdocs/langs/eu_ES/other.lang index eb9d25ffc25..bdae226fd5e 100644 --- a/htdocs/langs/eu_ES/other.lang +++ b/htdocs/langs/eu_ES/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Itxi diff --git a/htdocs/langs/eu_ES/partnership.lang b/htdocs/langs/eu_ES/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/eu_ES/partnership.lang +++ b/htdocs/langs/eu_ES/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/eu_ES/productbatch.lang b/htdocs/langs/eu_ES/productbatch.lang index c474b98db75..9763bc18081 100644 --- a/htdocs/langs/eu_ES/productbatch.lang +++ b/htdocs/langs/eu_ES/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index af5fe0436a5..f4247316547 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index 189df5d6821..7d27e983de2 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/eu_ES/receptions.lang b/htdocs/langs/eu_ES/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/eu_ES/receptions.lang +++ b/htdocs/langs/eu_ES/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/eu_ES/salaries.lang b/htdocs/langs/eu_ES/salaries.lang index f73ea288346..76bd89a54f6 100644 --- a/htdocs/langs/eu_ES/salaries.lang +++ b/htdocs/langs/eu_ES/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Soldata Salaries=Soldatak -NewSalaryPayment=Soldata ordainketa berria +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Soldata ordainketa SalariesPayments=Soldaten ordainketak +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Soldataren ordainketa erakutsi THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/eu_ES/stocks.lang b/htdocs/langs/eu_ES/stocks.lang index 412cca892b5..eb40775f11c 100644 --- a/htdocs/langs/eu_ES/stocks.lang +++ b/htdocs/langs/eu_ES/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Balioa -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/eu_ES/ticket.lang b/htdocs/langs/eu_ES/ticket.lang index 9ad3a4dc0ae..f6aa5f4d89f 100644 --- a/htdocs/langs/eu_ES/ticket.lang +++ b/htdocs/langs/eu_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Besteak @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Taldea +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/eu_ES/trips.lang b/htdocs/langs/eu_ES/trips.lang index 24911e2f19d..68e4d5722db 100644 --- a/htdocs/langs/eu_ES/trips.lang +++ b/htdocs/langs/eu_ES/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Ordainketa data -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/eu_ES/users.lang b/htdocs/langs/eu_ES/users.lang index c9a8003ee87..c7b66cbf637 100644 --- a/htdocs/langs/eu_ES/users.lang +++ b/htdocs/langs/eu_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/eu_ES/website.lang b/htdocs/langs/eu_ES/website.lang index 5a23a52885b..301b65b4efa 100644 --- a/htdocs/langs/eu_ES/website.lang +++ b/htdocs/langs/eu_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/eu_ES/withdrawals.lang b/htdocs/langs/eu_ES/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/eu_ES/withdrawals.lang +++ b/htdocs/langs/eu_ES/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/eu_ES/workflow.lang b/htdocs/langs/eu_ES/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/eu_ES/workflow.lang +++ b/htdocs/langs/eu_ES/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/fa_IR/accountancy.lang b/htdocs/langs/fa_IR/accountancy.lang index 214dc754086..beae281fed6 100644 --- a/htdocs/langs/fa_IR/accountancy.lang +++ b/htdocs/langs/fa_IR/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=کشورهائی که در اتحادیۀ اروپا نیست CountriesInEECExceptMe=کشورهائی که در اتحادیۀ اروپا هستند به استثناء %s CountriesExceptMe=همۀ کشورها باستثناء %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=طول حساب‌های حساب‌داری شخص ACCOUNTING_MANAGE_ZERO=امکان تغییر تعداد دیگری از صفر در انتخای حساب حساب‌داری. در برخی کشورها (مثل سوئیس) مورد احتیاج است. در صورتی که خاموش باشد (پیش‌فرض)، شما می‌توانید دو گزینۀ مقابل را تنظیم کنید تا از برنامه بخواهید صفرهای مجازی اضافه کند. BANK_DISABLE_DIRECT_INPUT=غیرفعال کردن ثبت مستقیم تراکنش در حساب بانکی ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=فعال کردن خروجی پیش‌نویس از دفتر -ACCOUNTANCY_COMBO_FOR_AUX=فعال کردن فهرست ترکیبی برای حساب وابسته(ممکن است در صورتی که شخص‌سوم‌های زیادی داشته باشید، کند باشد) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=اینجا فهرست مشتری‌ها و تامین‌ک ListAccounts=فهرست حساب‌های حسابداری UnknownAccountForThirdparty=حساب‌ شخص‌سوم ناشناخته. از %s استفاده می‌شود. UnknownAccountForThirdpartyBlocking=حساب شخص‌سوم ناشناخته. خطای انسدادی -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=حساب شخص‌سوم تعریف نشده یا شخص سوم ناشناخته است. خطای انسدادی +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=حساب شخص‌سوم ناشناخته و حساب انتظار تعریف نشده است. خطای انسدادی PaymentsNotLinkedToProduct=پرداخت به هیچ محصول/خدمتی وصل نشده است OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=صادرکردن پیش‌نویس دفتر Modelcsv=نوع صادرات Selectmodelcsv=انتخاب مدل صادرات @@ -335,7 +339,7 @@ Modelcsv_normal=صادرات سنتی Modelcsv_CEGID=صادرات بر اساس CEGID Expert Comptabilité Modelcsv_COALA=صدور برای Sage Coala Modelcsv_bob50=صدور برای Sage BOB 50 -Modelcsv_ciel=صدور برای Sage Ciel Compta یا Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=صدور برای Quadratus QuadraCompta Modelcsv_ebp=صدور برای EBP Modelcsv_cogilog=صدور برای Cogilog diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index a1448d0785c..b8cd64b417a 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -53,6 +53,7 @@ InternalUser=کاربر داخلی ExternalUser=کاربر خارجی InternalUsers=کاربران داخلی ExternalUsers=کاربران خارجی +UserInterface=User interface GUISetup=نمایش SetupArea=برپاسازی UploadNewTemplate=بارگذاری قالب‌(های) جدید @@ -84,6 +85,7 @@ NumberOfBytes=مقدار بایت‌ها SearchString=عبارت جستجو NotAvailableWhenAjaxDisabled=در هنگام غیر فعال بودن AJAX در دسترس نیست AllowToSelectProjectFromOtherCompany=بر روی اسناد مربوط به یک شخص‌سوم، امکان انتخاب یک طرح‌کاری متصل به یک شخص سوم دیگر وجود دارد +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=جاوا اسکریپت غیر فعال شده UsePreviewTabs=استفاده‌از زبانه‌های پیش‌نمایش ShowPreview=نمایش پیش‌نمایش @@ -116,6 +118,7 @@ MultiCurrencySetup=برپاسازی چندگانگی-واحدپولی MenuLimits=محدودیت‌ها و دقت MenuIdParent=شناسۀ فهرست والد DetailMenuIdParent=شناسۀ فهرست والد (اگر فهرست اصلی است، خالی بگذارید) +ParentID=Parent ID DetailPosition=عدد ترتیب برای تعیین مکان فهرست AllMenus=همه NotConfigured=واحد/برنامه پیکربندی نشده است @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=این ویژگی فقط در نسخه‌های ر BoxesDesc=وسایل یا widgets اجزائی هستند که به شما اطلاعاتی برای شخصی‌سازی برخی صفحات نمایش می‌دهند.شما می‌توانید برای نمایش یا عدم نمایش این وسیله در صفحۀ مورد نظر صفحۀ هدف را انتخاب کرده و کلید "فعال‌سازی" را فشار دهید، یا این‌که بر روی سطل‌آشغال کلیک کرده یا آن را فعال نمائید. OnlyActiveElementsAreShown=تنها عناصیر مربوط به واحد‌های فعال نمایش داده می‌شوند. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=می‌توانید واحد‌های بیشتری برای دریافت در سایت‌های موجود روی اینترنت پیدا کنید... ModulesDeployDesc=اگر مجوزهای موجود روی سرویس‌دهندۀ شما اجازه دهد، شما می‌توانید این ابزار را برای به کار گرفتن یک واحد بیرونی استفاده نمائید. این واحد در زبانۀ %s قابل نمایش خواهد بود. ModulesMarketPlaces=پیدا کردن واحد‌ها/برنامه‌های بیرونی @@ -221,8 +225,8 @@ NotCompatible=به نظر نمی‌رسد این واحد با نسخۀ %s Dolib CompatibleAfterUpdate=این واحد نیازمند روزآمدسازی Dolibarr نسخۀ %s است (حداقل %s - حداکثر %s) SeeInMarkerPlace=نمایش در بازارچه SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=روزآمد شده -Nouveauté=تازگی AchatTelechargement=خرید / بارگیری GoModuleSetupArea=برای به کاربردن یا نصب یک واحد، به محل برپاسازی واحد‌ها بروید: %s. DoliStoreDesc=DoliStore، بازارچۀ رسمی برای واحد‌های بیرونی Dolibarr ERP / CRM @@ -399,6 +403,7 @@ SecurityToken=کلیدواژۀ ایمن‌سازی نشانی‌ها NoSmsEngine=هیچ مدیر ارسال پیامکی وجود ندارد. مدیر ارسال پیامک به همراه توزیع پیش‌فرض نصب نشده است چون به تامین کنندۀ بیرونی وابسته است، اما شما می‌توانید در %s این نیاز را تامین کنید. PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=پنهان کردن همۀ اطلاعات مربوط به مالیات بر فروش و مالیات بر ارزش افزوده PDFRulesForSalesTax=قواعد مالیات‌برارزش‌افزوده و مالیات‌برفروش @@ -561,7 +566,7 @@ Module53Desc=مدیریت خدمات Module54Name=قرارداد‌ها/اشتراک‌ها Module54Desc=مدیریت قراردادها (خدمات یا اشتراک‌های تکرارشونده) Module55Name=بارکدها -Module55Desc=مدیریت بارکد +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=ساخت/ویرایش تخفیف‌ها Permission403=اعتباردهی تخفیف‌ها Permission404=حذف تخفیف‌ها Permission430=استفاده از نوار اشکال‌یابی -Permission511=Read payments of salaries (yours and subordinates) -Permission512=ساخت/ویرایش پرداخت حقوق -Permission514=حذف پرداخت حقوق -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=صادرکردن حقوق Permission520=ملاحظۀ وام‌ها Permission522=ساخت/ویرایش وام‌ها @@ -965,6 +970,8 @@ Permission23003=حذف وظایف زمان‌بندی‌شده Permission23004=اجرای وظایف زمان‌بندی‌شده Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=ملاحظۀ تراکنش‌ها Permission50202=واردکردن تراکنش‌ها Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=واحدهای محاسبه DictionarySocialNetworks=شبکه‌های اجتماعی DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=انواع مرخصی +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=وضعیت سرنخ برای طرح/سرنخ DictionaryExpenseTaxCat=گزارش هزینه - دسته‌بندی‌های حمل‌ونقل DictionaryExpenseTaxRange=گزارش هزینه - محدودۀ دسته‌بندی‌های حمل‌ونقل DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=تنظیمات برپاسازی ذخیره شد SetupNotSaved=تنظیمات برپاسازی ذخیره نشد @@ -1185,9 +1193,12 @@ SetupDescription2=دو واحد بعدی الزامی هستند (دو ورود SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=سایر عناوین فهرست برپاسازی برای مدیریت مقادیر اختیاری. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=بازرسی +Audit=Security events InfoDolibarr=دربارۀ Dolibarr InfoBrowser=دربارۀ مرورگر InfoOS=دربارۀ سیستم‌عامل @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=توابع SSL در PHP شما موجود نیست DownloadMoreSkins=پوسته‌های بیشتر برای دریافت SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=نمایش شناسۀ حرفه‌ای و نشانی -ShowVATIntaInAddress=پنهان کردن شمارۀ م‌ب‌اا داخل‌جامعه‌ای-اروپا به‌همراه نشانی‌ها +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=ترجمه جزئی MAIN_DISABLE_METEO=غیرفعال‌کردن نمای هواشناسانه MeteoStdMod=حالت استاندارد @@ -1319,9 +1330,12 @@ ConditionIsCurrently=در حال حاضر وضعیت %s است YouUseBestDriver=شما از راه‌انداز %s استفاده می‌کنید که بهترین راه‌انداز دردسترس نیست. YouDoNotUseBestDriver=شما از راه‌انداز %s استفاده می‌کنید اما پیشنهاد ما استفادهاز %s است. NbOfObjectIsLowerThanNoPb=شما در پایگاه داده فقط %s%s دارید. این الزاما نیازمند بهینه سازی نیست. +ComboListOptim=Combo list loading optimization SearchOptim=بهینه‌سازی جستجو -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=شما در پایگاه داده %s دارید و مقدار ثابت %s %sدر خانه-برپاسازی-سایر به 1 تنظیم شده است. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=شما از مرورگر وب %s استفاده می‌نمائید. این مرورگر برای کارائی و امنیت مناسب است. BrowserIsKO=شما از مرورگر وب %s استفاده می‌نمائید. این مرورگر به‌عنوان یک انتخاب بد به نسبت امنیت، کارائی و اعتمادپذیری شناخته شده است. ما به شما پیشنهاد می‌کنیم از Firefox، Chrome، Opera و Safari استفاده نمائید. PHPModuleLoaded=بخش %s در PHP بارگذاری شده است @@ -1433,6 +1447,7 @@ MemberMainOptions=گزینه‌های اصلی AdherentLoginRequired= مدیریت ورود برای هر عضو AdherentMailRequired=برای ساخت یک عضو یک رایانامه لازم است MemberSendInformationByMailByDefault=کادرتائید برای ارسال تصدیق رایانامه برای اعضا (اعتباردهی یا عضویت جدید) به شکل پیش‌فرض فعال است +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=کاربر می‌تواند از انواع روش پرداخت موجود استفاده نماید MEMBER_REMINDER_EMAIL=فعال‌کردن یادآور خودکار توسط رایانامه برای عضویت‌های منقضی‌شده. توجه: واحد %s برای ارسال صحیح یادآورها نیازمند فعال‌سازی و پیکربندی صحیح است. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=فعال‌کردن آگاهی‌رسانی صوتی AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=نمایش شیء پیوند شده به نمای جلسه ##### Clicktodial ##### ClickToDialSetup=برپاسازی واحد کلیک برای شماره‌گیری ClickToDialUrlDesc=یک نشانی‌اینترنتی در هنگام کلیک بر روی نماد تلفن فراخوان می‌شود. در نشانی‌اینترنتی شما می‌توانید از برچسب‌های
    __PHONETO__ که با شمارۀ یک شخص برای تماس است تعویض خواهد شد،
    __PHONEFROM__ که با شمارۀ شخص تماس گیرنده (شما) تعویض خواهد شد
    __LOGIN__ که با شناسۀ ورود clicktodial (تعریف شده در کارت کاربر) تعویض خواهد شد،
    __PASS__ که با گذرواژۀ clicktodial (تعریف شده در کارت کاربر) تعویض خواهد شد. ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=فقط یک عبارت "tel:" به پیوند شماره‌تلفن‌ها اضافه شود -ClickToDialUseTelLinkDesc=این گزینه را برای حالتی اضافه کنید که کاربران شما یک تلفن‌مجازی یا یک رابط نرم‌افزاری روی رایانۀ خود و یا مرورگر خود نصب دارند، این نرم‌افزارها در هنگامی فراخوان خواهند شد که پیوندی با پیشوند "tel:" کلیک شود. در صورتی که شما به یک سرور تمام عیار احتیاج دارید (که نیازی به نصب نرم افزار محلی ندارد)، شما باید گزینۀ "خیر" را انتخاب کرده و بخش بعدی را پر کنید. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=صندوق CashDeskSetup=برپاسازی واحد صندوق @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=فاصلۀحاشیۀ راست PDF MAIN_PDF_MARGIN_TOP=فاصلۀحاشیۀ بالای PDF MAIN_PDF_MARGIN_BOTTOM=فاصلۀحاشیۀ پائین PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=تنظیمات خاصی برای این واحدموردنیاز نیست SetToYesIfGroupIsComputationOfOtherGroups=در صورتی که این گروه جهت محاسبۀ سایر گروه‌هاست این گزینه را انتخاب کنید EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=بزرگتر از IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=با یک حساب GMail در صورتی که تائید 2 گامی را انتخاب کرده باشید، پیشنهاد می‌شود یک گذرواژۀ دوم برای استفادۀ برنامه به‌جای گذرواژۀ خودتان برای حساب بسازید. این کار از https://myaccount.google.com/ قابل انجام است. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=نقطۀ آخر برای %s : %s DeleteEmailCollector=حذف جمع‌آورندۀ رایانامه ConfirmDeleteEmailCollector=آیا مطمئن هستید می‌خواهید این جمع‌آورندۀ رایانامه را حذف کنید؟ @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=توصیه شده +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/fa_IR/agenda.lang b/htdocs/langs/fa_IR/agenda.lang index 9eaf43ec4df..c55601eee81 100644 --- a/htdocs/langs/fa_IR/agenda.lang +++ b/htdocs/langs/fa_IR/agenda.lang @@ -4,7 +4,7 @@ Actions=روی‌دادها Agenda=دستور کار TMenuAgenda=دستور کار Agendas=دستور کار -LocalAgenda=تقویم داخلی +LocalAgenda=Default calendar ActionsOwnedBy=مالک روی‌داد ActionsOwnedByShort=مالک AffectedTo=نسبت‌داده‌شده به @@ -14,13 +14,13 @@ EventsNb=تعداد روی‌دادها ListOfActions=فهرست‌روی‌دادها EventReports=گزارش روی‌دادها Location=محل -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=روی‌داد در تمام روز (ها) MenuToDoActions=همه روی‌دادهای ناقص MenuDoneActions=همۀ روی‌دادهای لغو شده MenuToDoMyActions=روی‌دادهای ناقص من MenuDoneMyActions=روی‌دادهای لغوشدۀ من -ListOfEvents=فهرست روی‌دادها (تقویم داخلی) +ListOfEvents=List of events (default calendar) ActionsAskedBy=روی‌دادهای گزارش‌شده توسط ActionsToDoBy=روی‌دادها اختصاص‌یافته به ActionsDoneBy=روی‌دادهای انجام شده توسط @@ -38,6 +38,7 @@ ActionsEvents=روی‌دادهائی که Dolibarr برای آن‌ها در ص EventRemindersByEmailNotEnabled=یادآورنده‌های روی‌داد توسط رایانامه در بخش برپاسازی واحد %s فعال نشده اند. ##### Agenda event labels ##### NewCompanyToDolibarr=شخص‌سوم %s ساخته شد +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=طرف‌سوم %s حذف شد ContractValidatedInDolibarr=قرارداد %s تائید شد CONTRACT_DELETEInDolibarr=قرارداد %s حذف شد @@ -87,6 +88,7 @@ OrderDeleted=سفارش حذف شد InvoiceDeleted=صورت‌حساب حذف شد DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=محصول %s ساخته شد PRODUCT_MODIFYInDolibarr=محصول %s ویرایش شد @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=قالب‌های مستند برای روی‌دادهای DateActionStart=تاریخ شروع @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s برای محدود کردن خروجی به AgendaUrlOptionsProject=project=__PROJECT_ID__ برای محدود کردن خروجی به کنش‌های مرتبط به یک طرح __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto برای مستثنی کردن روی‌دادهای خودکار. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=نمایش تاریخ‌تولد طرف‌های تماس +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=پنهان کردن تاریخ تولد طرف‌های تماس Busy=مشغول ExportDataset_event1=فهرست روی‌دادهای دستورکار @@ -152,6 +155,7 @@ ActionType=نوع روی‌دا DateActionBegin=تاریخ شروع روی‌داد ConfirmCloneEvent=آیا مطمئنید می‌خواهید از روی‌داد %s نسخه‌برداری کنید؟ RepeatEvent=تکرار روی‌داد +OnceOnly=Once only EveryWeek=هرهفته EveryMonth=هر ماه DayOfMonth=روز از ماه @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/fa_IR/banks.lang b/htdocs/langs/fa_IR/banks.lang index 29ea11ddce1..90530ed6f4d 100644 --- a/htdocs/langs/fa_IR/banks.lang +++ b/htdocs/langs/fa_IR/banks.lang @@ -115,7 +115,7 @@ TransferTo=به TransferFromToDone=یک انتقال از %s به %s مربوط به %s%s ثبت شد. CheckTransmitter=فرستنده ValidateCheckReceipt=اعتباردهی به این رسید چک؟ -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=حذف این رسید چک ConfirmDeleteCheckReceipt=آیا مطمئنید می‌خواهید این رسیدچک را حذف کنید؟ BankChecks=چک‌های بانکی diff --git a/htdocs/langs/fa_IR/bills.lang b/htdocs/langs/fa_IR/bills.lang index 93c04e5034f..269f1e5e5df 100644 --- a/htdocs/langs/fa_IR/bills.lang +++ b/htdocs/langs/fa_IR/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=موعد پرداخت در DateInvoice=تاریخ صورت‌حساب DatePointOfTax=نقطۀ مالیات NoInvoice=بدون صورت‌حساب +NoOpenInvoice=No open invoice ClassifyBill=طبقه‌بندی صورت‌حساب SupplierBillsToPay=صورت‌حساب‌های پرداخت‌نشدۀ فروشنده CustomerBillsUnpaid=صورت‌حساب‌های پرداخت‌نشدۀ مشتری @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/fa_IR/boxes.lang b/htdocs/langs/fa_IR/boxes.lang index 96776de5b0b..9d14606e660 100644 --- a/htdocs/langs/fa_IR/boxes.lang +++ b/htdocs/langs/fa_IR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=سفارشات به فروشنده: آخر BoxTitleLastModifiedCustomerBills=صورت‌حساب‌های مشتری: آخرین %s تغییریافته BoxTitleLastModifiedCustomerOrders=سفارشات فروش: آخرین %s تغییریافته BoxTitleLastModifiedPropals=آخرین %s پیشنهاد تغییریافته -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=صورت‌حساب‌های مشتریان ForCustomersOrders=سفارشات مشتریان ForProposals=پیشنهادات diff --git a/htdocs/langs/fa_IR/cashdesk.lang b/htdocs/langs/fa_IR/cashdesk.lang index fe17fae84a5..bcf8cc36d60 100644 --- a/htdocs/langs/fa_IR/cashdesk.lang +++ b/htdocs/langs/fa_IR/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/fa_IR/compta.lang b/htdocs/langs/fa_IR/compta.lang index b54f4d2e99c..10fedba808d 100644 --- a/htdocs/langs/fa_IR/compta.lang +++ b/htdocs/langs/fa_IR/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/fa_IR/cron.lang b/htdocs/langs/fa_IR/cron.lang index b88af91c016..65a628f47cb 100644 --- a/htdocs/langs/fa_IR/cron.lang +++ b/htdocs/langs/fa_IR/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=تاریخ پایان نمی‌تواند قبل از تا StatusAtInstall=وضعیت نصب واحد CronStatusActiveBtn=Schedule CronStatusInactiveBtn=غیرفعال‌کردن -CronTaskInactive=این وظیفه غیرفعال است +CronTaskInactive=This job is disabled (not scheduled) CronId=شناسه CronClassFile=نام‌فایل حاوی کلاس CronModuleHelp=نام فهرست واحدهای Dolibarr (که همچنین با یک واحد خارجی Dolibarr نیز کار می‌کند).
    برای مثال برای فراخوان متد fetch از شیء محصولات Dolibarr از /htdocs/product/class/product.class.php استفاده می‌شود، مقدار واحد برابر است با
    product diff --git a/htdocs/langs/fa_IR/deliveries.lang b/htdocs/langs/fa_IR/deliveries.lang index 9874e159bd4..212ff06390f 100644 --- a/htdocs/langs/fa_IR/deliveries.lang +++ b/htdocs/langs/fa_IR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=دریافت کننده ErrorStockIsNotEnough=این سهام به اندازه کافی وجود ندارد Shippable=حمل و نقلی NonShippable=حمل و نقلی نیست +ShowShippableStatus=Show shippable status ShowReceiving=نمایش رسید تحویل NonExistentOrder=سفارش ناقص +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index fc2504e5758..84299c4f9d2 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=برای مؤلفۀ موردنظر مقدار خ ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=نام‌کاربری %s قبلا وجود داشته است. ErrorGroupAlreadyExists=گروه %s قبلا وجود داشته است. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=ردیف موجود نیست. ErrorFailToCopyFile=نسخه‌برداری از فایل '%s' به '%s' موفق نبود. ErrorFailToCopyDir=نسخه‌برداری از پوشۀ '%s' به '%s' موفق نبود. @@ -117,7 +118,7 @@ ErrorCantReadFile=امکان خواندن فایل '%s' نبود ErrorCantReadDir=امکان خواندن پوشۀ '%s' نبود ErrorBadLoginPassword=مقدار نادرست نام‌ورود و گذرواژه ErrorLoginDisabled=حساب شما غیر فعال شده است -ErrorFailedToRunExternalCommand=اجرای دستور خارجی موفقیت‌آمیز نبود. مطمئن شوید در سرور PHP فعال و قابل اجراست. در صورتی که حالت Safe Mode در PHP فعال باشد، بررسی کنید دستور در پوشه‌ای است که توسط مؤلفۀ safe_mode_exec_dir قرار گرفته باشد. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=تغییر گذرواژه موفقیت‌آمیز نبود ErrorLoginDoesNotExists=کاربری که از نام‌ورود %s استفاده کند، پیدا نشد ErrorLoginHasNoEmail=کاربر هیچ نشانی رایانامه‌‌ای ندارد. پردازش متوقف شد. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/fa_IR/eventorganization.lang b/htdocs/langs/fa_IR/eventorganization.lang index 1439649134f..0fa5fdf1308 100644 --- a/htdocs/langs/fa_IR/eventorganization.lang +++ b/htdocs/langs/fa_IR/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = نوع روی‌دا +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/fa_IR/exports.lang b/htdocs/langs/fa_IR/exports.lang index c514c0638f1..d7f97893e3d 100644 --- a/htdocs/langs/fa_IR/exports.lang +++ b/htdocs/langs/fa_IR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=نوع سطر (0 = محصول، 1 = خدمات) FileWithDataToImport=فایل حاوی داده برای وارد کردن FileToImport=فایل منبع برای واردکردن FileMustHaveOneOfFollowingFormat=فایلی که وارد می‌شود باید یکی از انواع زیر باشد -DownloadEmptyExample=دریافت فایل قالب با اطلاعات محتوای بخش‌ها ( * بخش‌های الزامی است) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=انتخاب نوع فایل برای استفاده به‌عنوان فایل واردات با کلیک بر روی نمادک %s برای انتخاب آن ... ChooseFileToImport=فایل را بالاگذاری کرده و سپس روی نشانک %s کلیک کرده تا به‌عنوان فایل منبع واردات استفاده شود. SourceFileFormat=نوع فایل منبع diff --git a/htdocs/langs/fa_IR/holiday.lang b/htdocs/langs/fa_IR/holiday.lang index adfa65a4961..1c5cc1ebad9 100644 --- a/htdocs/langs/fa_IR/holiday.lang +++ b/htdocs/langs/fa_IR/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=در انتظار تایید ApprovedCP=تایید شده CancelCP=لغو شد RefuseCP=رد شده -ValidatorCP=متقاضی +ValidatorCP=Approver ListeCP=فهرست مرخصی Leave=درخواست مرخصی LeaveId=شناسۀ مرخصی @@ -39,11 +39,11 @@ TitreRequestCP=درخواست مرخصی TypeOfLeaveId=شناسۀ نوع درخواست مرخصی TypeOfLeaveCode=کد نوع درخواست مرخصی TypeOfLeaveLabel=برچسب نوع درخواست مرخصی -NbUseDaysCP=تعداد روزهای مصرف شدۀ مرخصی -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=جمع روزهای مصرف‌شده -NbUseDaysCPShortInMonth=جمع‌روزهای مصرف شده در ماه -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=تاریخ شروع در ماه DateEndInMonth=تاریخ پایان در ماه EditCP=ویرایش @@ -55,7 +55,7 @@ TitleDeleteCP=حذف درخواست مرخصی ConfirmDeleteCP=حذف این درخواست مرخصی را تائید می‌کنید؟ ErrorCantDeleteCP=خطا، شما حق حذف این درخواست مرخصی را ندارید. CantCreateCP=شما امکان ایجاد درخواست مرخصی را ندارید. -InvalidValidatorCP=شما باید یک متقاضی برای درخواست مرخصی تعیین کنید +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=شما باید یک تاریخ شروع انتخاب کنید. NoDateFin=شما باید تاریخ پایان را انتخاب کنید. ErrorDureeCP=درخواست مرخصی شما هیچ روزکاری در خود ندارد. @@ -80,14 +80,14 @@ UserCP=کاربر ErrorAddEventToUserCP=یک خطا در هنگام افزودن یک درخواست استثنائی رخ داد. AddEventToUserOkCP=افزودن مرخصی استثنائی کاملا انجام شد. MenuLogCP=نمایش گزارش تغییرات -LogCP=گزارش روزآمدسازی‌های روزهای مرخصی موجود -ActionByCP=انجام شده توسط -UserUpdateCP=برای کاربر +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=تعادل قبلی NewSoldeCP=تعادل جدید alreadyCPexist=یک درخواست مرخصی قبلا در همین بازه انجام شده است -FirstDayOfHoliday=روز اول مرخصی -LastDayOfHoliday=روز آخر مرخصی +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=آخرین %s درخواست مرخصی تغییریافته HolidaysMonthlyUpdate=به‌روز‌رسانی ماهانه ManualUpdate=به‌روزرسانی دستی @@ -104,8 +104,8 @@ LEAVE_SICK=مرخصی استعلاجی LEAVE_OTHER=سایر انواع مرخصی LEAVE_PAID_FR=مرخصی باحقوق ## Configuration du Module ## -LastUpdateCP=آخرین روزآمدسازی خودکار اختصاص مرخصی -MonthOfLastMonthlyUpdate=ماه آخرین روزآمدسازی خودکار اختصاص مرخصی +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=باموفقیت به‌روزرسانی شد Module27130Name= مدیریت درخواست‌های مرخصی Module27130Desc= مدیریت درخواست‌های مرخصی @@ -125,10 +125,12 @@ HolidaysCanceledBody=درخواست مرخصی شما برای %s تا %s لغو FollowedByACounter=1: این نوع درخواست مرخصی لازم است توسط یک شمارنده دنبال شود. شمارنده به صورت دستی یا خودکار افزایش خواهد یافت، و در صورتی که درخواست مرخصی تائید شد، کاهش خواهد یدفت.
    0: با یک شمارنده دنبال نمی‌شود. NoLeaveWithCounterDefined=از انواع مرخصی تعریف شده هیچکدام دنبال‌شدن با شمارنده را لازم نمی‌بینند. GoIntoDictionaryHolidayTypes=به بخش خانه - برپاسازی - واژه‌نامه‌ها - انواع مرخصی رفته تا انواع مختلف مرخصی را تعیین کنید. -HolidaySetup=برپاسازی واحد تعطیلات -HolidaysNumberingModules=روش‌های شماره‌دهی درخواست مرخصی +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=قالب PDF درخواست‌های مرخصی FreeLegalTextOnHolidays=متن دلخواه روی PDF WatermarkOnDraftHolidayCards=نوشتۀ کمرنگ روی درخواست مرخصی پیش‌نویس HolidaysToApprove=روزهای‌تعطیل مجاز NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/fa_IR/hrm.lang b/htdocs/langs/fa_IR/hrm.lang index 590bc8b6434..b62062d8db6 100644 --- a/htdocs/langs/fa_IR/hrm.lang +++ b/htdocs/langs/fa_IR/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=آیا شما مطمئن هستید که می‌خو OpenEtablishment=باز‌کردن بنگاه CloseEtablishment=بستن بنگاه # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=مدیریت منابع انسانی - فهرست بخش‌ها DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index 88f93c2c2b8..442890c4649 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=انتقال مسیرهای تصاویر مربوط به MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=بارگذاری دوبارۀ واحد %s MigrationResetBlockedLog=بازنشانی واحد BlockedLog  برای الگوریتم نسخۀ 7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=نمایش گزینه‌های خارج‌ازدسترس HideNotAvailableOptions=پنهان کردن گزینه‌های خارج از دسترس ErrorFoundDuringMigration=خطا(ها)ئی که در طول انجام انتقال گزارش می‌شوند و منجر به این می‌شوند گام بعدی فعال نباشد. برای نادیده گرفتن خطاها شما باید اینجا کلیک کنید، اما ممکن است برنامه یا برخی قابلیت‌ها تا زمانی که خطاها رفع نشود، کار نکند. diff --git a/htdocs/langs/fa_IR/interventions.lang b/htdocs/langs/fa_IR/interventions.lang index 546e61e10b5..546306f476a 100644 --- a/htdocs/langs/fa_IR/interventions.lang +++ b/htdocs/langs/fa_IR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=طول‌مدت سطر پادرمیانی InterLineDesc=توضیحات سطر پادرمیانی RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/fa_IR/knowledgemanagement.lang b/htdocs/langs/fa_IR/knowledgemanagement.lang index 6e066229e76..f95a4894d80 100644 --- a/htdocs/langs/fa_IR/knowledgemanagement.lang +++ b/htdocs/langs/fa_IR/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = درباره KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = مقاله KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/fa_IR/languages.lang b/htdocs/langs/fa_IR/languages.lang index a94c8c643c1..9f85b4e92ca 100644 --- a/htdocs/langs/fa_IR/languages.lang +++ b/htdocs/langs/fa_IR/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=عربی Language_ar_EG=عربی (مصر) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=عربی +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=بنگالی Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=آلمانی نروژی Language_nl_NL=Dutch Language_pl_PL=پلندی +Language_pt_AO=Portuguese (Angola) Language_pt_BR=پرتغالی (برزیل) Language_pt_PT=پرتغالی +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=رومانیایی Language_ru_RU=روسی Language_ru_UA=روسیه (اوکراین) diff --git a/htdocs/langs/fa_IR/mails.lang b/htdocs/langs/fa_IR/mails.lang index e6213e7d7c5..cabba88c0e5 100644 --- a/htdocs/langs/fa_IR/mails.lang +++ b/htdocs/langs/fa_IR/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index 1583dced000..654b4f55585 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=خرده‌های-cent اضافی VATRate=نرخ مالیات +RateOfTaxN=Rate of tax %s VATCode=کد نرخ مالیات VATNPR=NPR نرخ مالیات DefaultTaxRate=نرخ‌مالیات پیش‌فرض @@ -729,6 +730,7 @@ MenuMembers=اعضاء MenuAgendaGoogle=دستورکار گوگل MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=محدودیت Dolibarr (فهرست خانه-برپاسازی-امنیت): %s کیلوبایت، محدودیت PHP برابر با: %s کیلوبایت +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=زبان کنونی CurrentTheme=پوستۀ کنونی @@ -1072,6 +1074,7 @@ ValidFrom=معتبر از ValidUntil=معتبر تا NoRecordedUsers=کاربری نیست ToClose=To close +ToRefuse=To refuse ToProcess=برای پردازش ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/fa_IR/members.lang b/htdocs/langs/fa_IR/members.lang index 0d2d87c60c7..7da3f831cdf 100644 --- a/htdocs/langs/fa_IR/members.lang +++ b/htdocs/langs/fa_IR/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/fa_IR/modulebuilder.lang b/htdocs/langs/fa_IR/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/fa_IR/modulebuilder.lang +++ b/htdocs/langs/fa_IR/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/fa_IR/mrp.lang b/htdocs/langs/fa_IR/mrp.lang index 33de4aff092..d536b6b661c 100644 --- a/htdocs/langs/fa_IR/mrp.lang +++ b/htdocs/langs/fa_IR/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=صورت‌حساب‌های مواد LatestBOMModified=آخرین %s صورت‌حساب مواد تغییر یافته LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=صورت‌حساب مواد +BillOfMaterials=Bill of Materials BOMsSetup=برپاسازی واحد صورت‌حساب مواد ListOfBOMs=فهرست صورت‌حساب‌های مواد - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=یک صورت‌حساب مواد جدید -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=چگونگی عدددهی صورت‌حساب مواد BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=متن آزاد روی سند صورت‌حساب مواد WatermarkOnDraftBOMs=نوشتۀ کم‌رنگ روی پیش‌نویس صورت‌حساب موا FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=بازده تولید ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=مقدار 0.95 به معنای یک میانگین 5 %% ضرر ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=حذف‌کردن NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/fa_IR/orders.lang b/htdocs/langs/fa_IR/orders.lang index 94e00a837b7..5b3f29e1eda 100644 --- a/htdocs/langs/fa_IR/orders.lang +++ b/htdocs/langs/fa_IR/orders.lang @@ -11,6 +11,7 @@ OrderDate=تاریخ سفارش OrderDateShort=تاریخ سفارش OrderToProcess=سفارش قابل پردازش NewOrder=سفارش جدید +NewSupplierOrderShort=سفارش جدید NewOrderSupplier=New Purchase Order ToOrder=ایجاد سفارش MakeOrder=ساخت سفارش @@ -73,6 +74,7 @@ DeleteOrder=حذف سفارش CancelOrder=لغو سفارش OrderReopened= Order %s re-open AddOrder=ساخت سفارش +AddSupplierOrderShort=ساخت سفارش AddPurchaseOrder=Create purchase order AddToDraftOrders=افزودن به سفارش پیش‌نویس ShowOrder=نمایش سفارش diff --git a/htdocs/langs/fa_IR/other.lang b/htdocs/langs/fa_IR/other.lang index 70fc1ee3134..62923fa30b8 100644 --- a/htdocs/langs/fa_IR/other.lang +++ b/htdocs/langs/fa_IR/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=فایل٪ s حذف شد DirWasRemoved=شاخه٪ s حذف شد FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=عرض Height=ارتفاع @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=منطقه صادرات @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = بستن diff --git a/htdocs/langs/fa_IR/partnership.lang b/htdocs/langs/fa_IR/partnership.lang index 60baadb7d69..b0b24bfa27c 100644 --- a/htdocs/langs/fa_IR/partnership.lang +++ b/htdocs/langs/fa_IR/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=تاریخ شروع DatePartnershipEnd=تاریخ پایان +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = پیش‌نویس -PartnershipAccepted = قبول‌شده -PartnershipRefused = رد شده -PartnershipCanceled = لغو ظده - +PartnershipDraft=پیش‌نویس +PartnershipAccepted=قبول‌شده +PartnershipRefused=رد شده +PartnershipCanceled=لغو ظده PartnershipManagedFor=Partners are diff --git a/htdocs/langs/fa_IR/productbatch.lang b/htdocs/langs/fa_IR/productbatch.lang index df9e306b199..bd0b4efd04d 100644 --- a/htdocs/langs/fa_IR/productbatch.lang +++ b/htdocs/langs/fa_IR/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=استفاده از شمارۀ سری‌ساخت/سریال ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=نمایش گزارش‌کار جابجائی‌های م StockDetailPerBatch=جزئیات موجودی هر سری‌ساخت SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index c4630f85a19..a5a9044acc2 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=قیمت متفاوت برای هر مشتری PriceCatalogue=یک قیمت واحد برای هر محصول/خدمات PricingRule=مقررات قیمت‌های فروش AddCustomerPrice=افزودن قیمت برحسب مشتری -ForceUpdateChildPriceSoc=تنظیم قیمت تعیین شده برای مشتری برای زیرمجموعه‌های آن +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=ثبت‌گزارش همۀ قیمت‌های قبلی مربوط به مشتری MinimumPriceLimit=حداقل قیمت نمی‌تواند کمتر از %s باشد MinimumRecommendedPrice=حداقل قیمت پیشنهادی برابر است با: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=کم/زیاد کردن موجودی در هنگام ComposedProduct=محصولات فرزند MinSupplierPrice=حداقل قیمت خرید MinCustomerPrice=حداقل قیمت فروش +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=پیکربندی قیمت پویا DynamicPriceDesc=شما می‌توانید فرمول ریاضی برای محاسبۀ قیمت‌های مشتری یا فروشنده تعریف کنید. چنین فرمول‌هائی امکان استفاده از عمل‌گرهای ریاضی را بعلاوۀ تعداد مقدارثابت و متغیر دارند. شما می‌توانید در اینجا متغیرهائی که برای استفاده نیاز دارید تعریف کنید. در صورتی که متغیر نیازمند به‌روز‌رسانی خودکار باشد، شما باید نشانی خارجی متعلق به آن را برای به‌روز‌رسانی خودکار مقدار آن به Dolibarr بدهید AddVariable=افزودن متغیر @@ -340,7 +341,7 @@ ProductSheet=ورقۀ محصول ServiceSheet=ورقۀ خدما PossibleValues=مقادیر ممکن GoOnMenuToCreateVairants=برای آماده‌کردن ویژگی‌های چندگانه (مثل رنگ، اندازه و غیره) به فهرست %s - %s بروید -UseProductFournDesc=ایجاد یک قابلیت برای تعریف توضیحات مربوط به محصولاتی که توسط فروشندگان در ادامۀ توضیحات ارائه شده به مشتریان +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=توضیحات فروشنده برای محصول UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=این کنش تنها بر روی یک نو ProductsPricePerCustomer=قیمت محصول وابسته به مشتریان ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=قیمت میانگین متوازن +PMPValueShort=قیمت میانگین وزنی diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index 1e04ba74bf6..5a0fbe59f91 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -140,6 +140,7 @@ NoTasks=برای این طرح وظیفه‌ای نیست LinkedToAnotherCompany=پیوند شده به شخص‌سوم دیگر TaskIsNotAssignedToUser=این وظیفه به هیچ کاربری محول نشده. از کلید '%s' برای محول کردن به یک کاربر استفاده کنید ErrorTimeSpentIsEmpty=زمان صرف شده خالی است +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=این کنش همچنین باعث حذف همۀ وظایف طرح می‌شود (%s وظیفه در حال حاضر) و همۀ ورودی‌های زمان صرف شده. IfNeedToUseOtherObjectKeepEmpty=اگر برخی از اشیاء (فاکتور، سفارش، ...) که متعلق به شخص‌سوم دیگری است، لازم است به طرح دیگری که باید ساخته شود پیوند شود، این بخش را برای برخورداری از طرحی که چند شخص‌سوم دارد خالی رها کنید. CloneTasks=نسخه‌برداری از وظیفه @@ -241,6 +242,7 @@ LatestModifiedProjects=آخرین %s طرح تغییر یافته OtherFilteredTasks=سایر وظایف گُزیده شده NoAssignedTasks=هیچ وظیفه‌ای نسبت داده نشده ( طرح/وظیفه را از بالا به کاربر فعلی نسبت دهید تا زمان را روی آن وارد کنید) ThirdPartyRequiredToGenerateInvoice=یک طرف سوم باید روی طرح تعریف شود تا امکان صورت‌حساب درست کردن برای آن وجود داشته باشد +ThirdPartyRequiredToGenerateInvoice=یک طرف سوم باید روی طرح تعریف شود تا امکان صورت‌حساب درست کردن برای آن وجود داشته باشد ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=اجازۀ یادداشت نویسی کاربران روی وظایف @@ -252,10 +254,12 @@ SendProjectRef=اطلاعات طرح %s ModuleSalaryToDefineHourlyRateMustBeEnabled=واحد 'حقوق‌ها' باید فعال شود تا امکان تعریف نرخ ساعتی کارمند وجود داشته باشد تا ارزش زمان صرف شده قابل تعیت کردن باشد NewTaskRefSuggested=ارجاع وظیفه قبلا استفاده شده ات، یک ارجاع جدید وظیفه نیاز است TimeSpentInvoiced=زمان صرف شدۀ صورت‌حساب شده +TimeSpentForIntervention=زمان صرف شده TimeSpentForInvoice=زمان صرف شده OneLinePerUser=هر سطر یک کاربر ServiceToUseOnLines=خدمات برای استفاده بر سطور InvoiceGeneratedFromTimeSpent=صورت‌حساب %s بر اساس زمان صرف شده روی طرح تولید شد +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=صورت‌حساب جدید +NewInter=پادرمیانی جدید OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/fa_IR/receptions.lang b/htdocs/langs/fa_IR/receptions.lang index e0f93225d34..6332b146ee4 100644 --- a/htdocs/langs/fa_IR/receptions.lang +++ b/htdocs/langs/fa_IR/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=ابتدا باید سفارش را تائید ReceptionsNumberingModules=واحد شماره‌گذاری برای دریافت‌ها ReceptionsReceiptModel=قالب اسناد دریافت‌کالا NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/fa_IR/salaries.lang b/htdocs/langs/fa_IR/salaries.lang index 30a8abd15d1..800337b1103 100644 --- a/htdocs/langs/fa_IR/salaries.lang +++ b/htdocs/langs/fa_IR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=حقوق Salaries=حقوق -NewSalaryPayment=پرداخت حقوق و دستمزد جدید +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=پرداخت حقوق و دستمزد SalariesPayments=حقوق پرداخت +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=نمایش پرداخت حقوق و دستمزد THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/fa_IR/stocks.lang b/htdocs/langs/fa_IR/stocks.lang index b812bb6998c..38316305e66 100644 --- a/htdocs/langs/fa_IR/stocks.lang +++ b/htdocs/langs/fa_IR/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=قیمت خرید واحد StockTooLow=موجودی بسیار کم است StockLowerThanLimit=موجودی کم‌تر از حد هشدار است (%s) EnhancedValue=مقدار -PMPValue=قیمت میانگین متوازن -PMPValueShort=قیمت میانگین وزنی EnhancedValueOfWarehouses=ارزش انبار UserWarehouseAutoCreate=ساخت خودکار انبار کاربر در هنگام ساخت کاربر AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=جابجائی موجودی محصول %s به یک انب InventoryCodeShort=شمارۀ فهرست/جابجائی NoPendingReceptionOnSupplierOrder=با توجه به سفارشات خرید باز، دریافتی در انتظار نیست ThisSerialAlreadyExistWithDifferentDate=این شمارۀ سری‌ساخت/ارسال (%s) قبلا وجود داشته اما تاریخ مناسب‌برای‌فروش یا مناسب‌برای‌مصرف متفاوتی داشته است ( پیدا شده %s اما شما مقدار %s وارد کرده‌اید). -OpenAll=باز برای همۀ کنش‌ها -OpenInternal=باز منحصر به کنش‌های داخلی +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=یک وضعیت برای اعزام-ارسال برای محصولات موجود در هنگام دریافت سفارش خرید انتخاب کنید (مجاز/غیرمجاز) OptionMULTIPRICESIsOn=گزینۀ "قیمت‌های مختلف بر حسب قطعه" روشن است. این به معنای آن است که محصول قیمت‌های متفاوتی برای فروش داشته و امکان محاسبۀ مقدار فروش وجود ندارد. ProductStockWarehouseCreated=محدودیت موجودی برای هشدار و محدودیت مطلوب به دقت ساخته شد @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/fa_IR/ticket.lang b/htdocs/langs/fa_IR/ticket.lang index 7a7e7755a33..cdeb8fc3499 100644 --- a/htdocs/langs/fa_IR/ticket.lang +++ b/htdocs/langs/fa_IR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=سوال تجاری TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=طرح TicketTypeShortOTHER=سایر @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=کاربر نسبت داده شده TypeContact_ticket_external_SUPPORTCLI=طرف‌تماس‌مشتری / ره‌گیری حادثه TypeContact_ticket_external_CONTRIBUTOR=مشارکت‌کنندۀ بیرونی -OriginEmail=منبع رایانامه +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=ارسال پیام برگه با رایانامه # Status Read=خوانده‌شده Assigned=نسبت‌داده شده InProgress=در حال انجام -NeedMoreInformation=در انتظار اطلاعات +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=پاسخ داده شده Waiting=در انتظار -Closed=بسته +SolvedClosed=Solved Deleted=حذف شده # Dict @@ -160,7 +162,7 @@ CreatedBy=ساخته‌شده توسط NewTicket=برگۀ جدید SubjectAnswerToTicket=پاسخ برگه TicketTypeRequest=نوع درخواست -TicketCategory=گروه +TicketCategory=Ticket categorization SeeTicket=نمایش برگه TicketMarkedAsRead=برگه به صورت خوانده شده علامت‌گذاری شد TicketReadOn=خواندن @@ -184,9 +186,11 @@ TicketSeverity=درجۀ اهمیت ShowTicket=نمایش برگه RelatedTickets=برگه‌های مرتبط TicketAddIntervention=ایجاد پادرمیانی -CloseTicket=بستن برگه -CloseATicket=بستن یک برگۀ پشتیبانی +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=توقف پشتیبانی را تائید کنید +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=لطفا حذف برگۀ‌پشتیبانی را تائید کنید TicketDeletedSuccess=حذف برگه با موفقیت انجام شد TicketMarkedAsClosed=برگۀ‌پشتیبانی به حالت بسته درآمد @@ -211,6 +215,7 @@ TicketMessageHelp=تنها این نوشته در فهرست پیام در کا TicketMessageSubstitutionReplacedByGenericValues=متغیرهای جایگزین با مقادیر عمومی جایگزین خواهند شد TimeElapsedSince=زمان سپری شده از TicketTimeToRead=زمان سپری شد قبل از خوانده‌شدن +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=برگۀ طرف‌های تماس TicketDocumentsLinked=مستندات پیوند شده با برگۀ‌تماس ConfirmReOpenTicket=تائید بازگشائی این برگه؟ @@ -304,7 +309,7 @@ BoxLastModifiedTicket=آخرین برگه‌های ویرایش شده BoxLastModifiedTicketDescription=آخرین %s برگۀ‌پشتیبانی ویرایش شده BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=هیچ برگۀپشتیبانی ویرایش نشده شد -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/fa_IR/trips.lang b/htdocs/langs/fa_IR/trips.lang index a13c1a49ce5..462a6c4411f 100644 --- a/htdocs/langs/fa_IR/trips.lang +++ b/htdocs/langs/fa_IR/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=تاریخ اعتبار DATE_CANCEL=Cancelation date DATE_PAIEMENT=تاریخ پرداخت -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/fa_IR/users.lang b/htdocs/langs/fa_IR/users.lang index 3c3e52aaea5..cabc87573d0 100644 --- a/htdocs/langs/fa_IR/users.lang +++ b/htdocs/langs/fa_IR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=شناسۀ‌کاربری برای ایجاد NameToCreate=نام شخص‌سوم برای ایجاد YourRole=roleهای شما YourQuotaOfUsersIsReached=سهمیه شما از کاربران فعال پر شده است! -NbOfUsers=تعداد کاربران -NbOfPermissions=تعداد مجوزها +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=فقط یک مدیرکل می‌تواند یک مدیرکل‌دیگر را کاهش‌رتبه بدهد HierarchicalResponsible=سرپرست HierarchicView=نمای درختی diff --git a/htdocs/langs/fa_IR/website.lang b/htdocs/langs/fa_IR/website.lang index 373034849ee..8f29c0be3c2 100644 --- a/htdocs/langs/fa_IR/website.lang +++ b/htdocs/langs/fa_IR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=صفحه -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/fa_IR/withdrawals.lang b/htdocs/langs/fa_IR/withdrawals.lang index ec6d23c2c6b..0ffb4b05166 100644 --- a/htdocs/langs/fa_IR/withdrawals.lang +++ b/htdocs/langs/fa_IR/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=طبقه بندی اعتبار ClassCreditedConfirm=آیا مطمئن هستید که می خواهید برای طبقه بندی این دریافت و برداشت به عنوان در حساب بانکی شما اعتبار؟ TransData=تاریخ انتقال @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/fa_IR/workflow.lang b/htdocs/langs/fa_IR/workflow.lang index 83ce4b446e4..a3b9e701173 100644 --- a/htdocs/langs/fa_IR/workflow.lang +++ b/htdocs/langs/fa_IR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/fi_FI/accountancy.lang b/htdocs/langs/fi_FI/accountancy.lang index baf2006db44..18d9138f7f6 100644 --- a/htdocs/langs/fi_FI/accountancy.lang +++ b/htdocs/langs/fi_FI/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=EU: n ulkopuoliset maat CountriesInEECExceptMe=EU-alueen maat, poislukien %s CountriesExceptMe=Kaikki maat, poislukien %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Vientimalli Selectmodelcsv=Valitse vientimalli @@ -335,7 +339,7 @@ Modelcsv_normal=Klassinen vienti Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index 8d44d22a22d..0dfd4fc3e8d 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -53,6 +53,7 @@ InternalUser=Sisäinen käyttäjä ExternalUser=Ulkoinen käyttäjä InternalUsers=Sisäiset käyttäjät ExternalUsers=Ulkopuoliset käyttäjät +UserInterface=User interface GUISetup=Näyttö SetupArea=Asetukset UploadNewTemplate=Päivitä uusi pohja(t) @@ -84,6 +85,7 @@ NumberOfBytes=Tavujen lukumäärä SearchString=Haettava merkkijono NotAvailableWhenAjaxDisabled=Ei käytössä, kun Ajax poistettu käytöstä AllowToSelectProjectFromOtherCompany=Kolmannen osapuolen asiakirjalla voi valita toiseen kolmanteen osapuoleen linkitetyn projektin +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript ei käytössä UsePreviewTabs=Käytä esikatselu - välilehtiä ShowPreview=Näytä esikatselu @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-valuutta asetukset MenuLimits=Raja-arvot ja tarkkuus MenuIdParent=Ylävalikon tunnus DetailMenuIdParent=Ylävalikon tunnus (päävalikolla tyhjä) +ParentID=Parent ID DetailPosition=Lajittelunumero valikon sijainnin määrittelyyn AllMenus=Kaikki NotConfigured=Moduulia/Applikaatiota ei ole määritetty @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Ominaisuus käytettävissä vain virallisissa vakai BoxesDesc=Widgetit ovat komponentteja, jotka näyttävät joitain tietoja, jotka voit lisätä joidenkin sivujen mukauttamiseksi. Voit valita, näytetäänkö widget vai ei, valitsemalla kohdesivun ja napsauttamalla Aktivoi tai napsauttamalla roskakoria poistaaksesi sen käytöstä. OnlyActiveElementsAreShown=Vain -yhteensopivien moduulien elementit näytetään. ModulesDesc=Moduulit / sovellukset määrittävät ohjelmistossa käytettävissä olevat ominaisuudet. Jotkut moduulit edellyttävät oikeuksien myöntämistä käyttäjille moduulin aktivoinnin jälkeen. Napsauta kunkin moduulin virtapainiketta %s , jos haluat ottaa moduulin / sovelluksen käyttöön tai poistaa sen käytöstä. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Löydät lisää moduuleja ladattavaksi ulkoisilta verkkosivustoilta Internetistä ... ModulesDeployDesc=Jos tiedostojärjestelmän käyttöoikeudet sen sallivat, voit käyttää tätä työkalua ulkoisen moduulin asentamiseen. Moduuli on tämän jälkeen näkyvissä välilehdellä %s . ModulesMarketPlaces=Etsi ulkoisia sovelluksia/moduuleja @@ -221,8 +225,8 @@ NotCompatible=Moduuli ei ole yhteensopiva Dolibarr - version %s kanssa. (Min %s CompatibleAfterUpdate=Moduuli vaatii Dolibarr - version %s päivittämisen. (Min %s - Max %s) SeeInMarkerPlace=Katso kauppapaikalla SeeSetupOfModule=Katso moduulin %s asetukset +SetOptionTo=Set option %s to %s Updated=Päivitetty -Nouveauté=Uutuus AchatTelechargement=Osta / Lataa GoModuleSetupArea=Voit ottaa uuden moduulin käyttöön tai asentaa sen siirtymällä moduulin asennusalueelle: %s . DoliStoreDesc=DoliStore, virallinen markkinapaikka Dolibarr ERP / CRM lisäosille @@ -399,6 +403,7 @@ SecurityToken=Avain turvallinen URL NoSmsEngine=Ei tekstiviestien lähettäjien hallintaa. Tekstiviestien lähettäjien hallintaa ei ole asennettu oletusjakelun kanssa, koska ne riippuvat ulkoisesta toimittajasta, mutta joitain löydät osoitteesta %s PDF=PDF PDFDesc=Globaalit vaihtoehdot PDF-tiedostojen luomista varten +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Osoiteosuuden säännöt HideAnyVATInformationOnPDF=Piilota kaikki myyntiveroihin/ALViin liittyvä tieto PDFRulesForSalesTax=Myyntiveron / alv:n säännöt @@ -561,7 +566,7 @@ Module53Desc=Palvelunhallinta Module54Name=Sopimukset/Tilaukset Module54Desc=Sopimusten hallinta (palvelut tai toistuvat tilaukset) Module55Name=Viivakoodit -Module55Desc=Viivakoodien hallinta +Module55Desc=Barcode or QR code management Module56Name=Maksu tilisiirrolla Module56Desc=Toimittajien maksujen hallinta tilisiirtotilauksilla. Se sisältää SEPA-tiedoston luomisen Euroopan maille. Module57Name=Maksut suoraveloituksella @@ -848,10 +853,10 @@ Permission402=Luoda / muuttaa alennukset Permission403=Validate alennukset Permission404=Poista alennukset Permission430=Käytä virheenkorjauspalkkia -Permission511=Lue palkkamaksut (omat ja alaisten) -Permission512=Luo/Muokkaa palkanmaksuja -Permission514=Poista palkanmaksuja -Permission517=Lue kaikkien palkkamaksut +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Vie palkat Permission520=Lue Lainat Permission522=Luo/muokkaa Lainat @@ -965,6 +970,8 @@ Permission23003=Poista Ajastettu työ Permission23004=Suorita Ajastettu työ Permission50101=Käytä myyntipistettä (SimplePOS) Permission50151=Käytä myyntipistettä (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Lue liiketoimet Permission50202=Tuo liiketoimet Permission50330=Lue Zapier-kohteet @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Mittayksiköt DictionarySocialNetworks=Sosiaaliset verkostot DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Vapaan tyyppi +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Kuluraportti - Kuljetuskategoriat DictionaryExpenseTaxRange=Kuluraportti - alue kuljetusluokittain DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Yksikön tyyppi SetupSaved=Asetukset tallennettu SetupNotSaved=Asetuksia ei tallennettu @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Auditointi +Audit=Security events InfoDolibarr=Tietoja Dolibarrista InfoBrowser=Tietoja selaimesta InfoOS=Tietoja OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL toimintoja ei saatavilla PHP DownloadMoreSkins=Lisää nahat ladata SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Osittainen käännös MAIN_DISABLE_METEO=Poista meteorologinen näkymä käytöstä MeteoStdMod=Standardi tila @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Hakuoptimointi -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Käytät verkkoselainta %s. Tämä selain on turvallisuuden ja suorituskyvyn kannalta ok. BrowserIsKO=Käytät verkkoselainta %s. Tämän selaimen tiedetään olevan huono valinta turvallisuden, suorituskyvyn ja luotettavuuden kannalta. Suosittelemme Firefoxin, Chromen, Operan tai Safarin käyttöä. PHPModuleLoaded=PHP:n laajennus %sladattu @@ -1433,6 +1447,7 @@ MemberMainOptions=Päävaihtoehtoa AdherentLoginRequired= Hallitse Sisään jokaiselle jäsenelle AdherentMailRequired=Uuden jäsenen luomiseen vaaditaan sähköpostiosoite MemberSendInformationByMailByDefault=Checkbox lähettää vahvistusviestin jäsenille on oletusarvoisesti +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Vierailija voi valita käytettävissä olevista maksutavoista MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Ota käyttöön ilmoitusäänet AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup='Click To Dial'-moduulin asetukset ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Käytä vain linkkiä "tel:" puhelinnumeroihin -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Kassapääte CashDeskSetup='Kassapääte' - moduulin asetukset @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=PDF:n oikea marginaali MAIN_PDF_MARGIN_TOP=PDF:n ylämarginaali MAIN_PDF_MARGIN_BOTTOM=PDF:n alamarginaali MAIN_DOCUMENTS_LOGO_HEIGHT=Logon korkeus PDF-muodossa +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Tämä moduuli ei vaadi erityisiä määrityksiä. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Suurempi kuin IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=Jos otit käyttöön kaksivaiheisen vahvistuksen Gmail-tilillä, on suositeltavaa luoda erillinen toinen salasana sovellukselle sen sijaan, että käyttäisit omaa tilin salasanasi osoitteessa https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Poista sähköpostin kerääjä ConfirmDeleteEmailCollector=Haluatko varmasti poistaa tämän sähköpostin kerääjän? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Ominaisuus ei käytettävissä kun moduuli Vastaanotto on aktiivinen RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Siirry kohtaan Asetukset -> Widgetit MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Ota yhteyttä pankkiisi saadaksesi tämän tunnuksen AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Suositeltava +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/fi_FI/agenda.lang b/htdocs/langs/fi_FI/agenda.lang index 979cc048c3c..a86b6493e50 100644 --- a/htdocs/langs/fi_FI/agenda.lang +++ b/htdocs/langs/fi_FI/agenda.lang @@ -4,7 +4,7 @@ Actions=Toimet Agenda=Agenda TMenuAgenda=Agenda Agendas=Esityslistat -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Omistaja AffectedTo=Vaikuttaa @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=Luettelo tapahtumista EventReports=Event reports Location=Sijainti -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Tapahtuma on koko päivä MenuToDoActions=Kaikki puutteelliset toimet MenuDoneActions=Kaikki irti toimia MenuToDoMyActions=Oma puutteellisia toimia MenuDoneMyActions=Oma irtisanotaan toimia -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Toimet kirjattava ActionsToDoBy=Toimet vaikuttaa ActionsDoneBy=Toimet tehdään @@ -38,6 +38,7 @@ ActionsEvents=Tapahtumat, joista Dolibarr luo toimia esityslistan automaattisest EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Lasku poistettu DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Aloituspäivämäärä @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/fi_FI/banks.lang b/htdocs/langs/fi_FI/banks.lang index 79be56e9bb7..469aa752443 100644 --- a/htdocs/langs/fi_FI/banks.lang +++ b/htdocs/langs/fi_FI/banks.lang @@ -115,7 +115,7 @@ TransferTo=mihin TransferFromToDone=A siirtää %s %s %s% s on tallennettu. CheckTransmitter=Lähettäjä ValidateCheckReceipt=Vahvista tämä sekkikuitti? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Poista tämä shekkikuitti? ConfirmDeleteCheckReceipt=Haluatko varmasti poistaa tämän sekkikuitin? BankChecks=Pankkisekit diff --git a/htdocs/langs/fi_FI/bills.lang b/htdocs/langs/fi_FI/bills.lang index 24f5c55b2d0..14847bfbf82 100644 --- a/htdocs/langs/fi_FI/bills.lang +++ b/htdocs/langs/fi_FI/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Laskun päiväys DatePointOfTax=Point of tax NoInvoice=N: o lasku +NoOpenInvoice=No open invoice ClassifyBill=Luokittele lasku SupplierBillsToPay=Maksamattomat toimittajien laskut CustomerBillsUnpaid=Asiakkaiden maksamattomat laskut @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/fi_FI/boxes.lang b/htdocs/langs/fi_FI/boxes.lang index a42893fc247..f8b52d40e4a 100644 --- a/htdocs/langs/fi_FI/boxes.lang +++ b/htdocs/langs/fi_FI/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Viimeisimmät %s muokatut tarjoukset -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Asiakkaiden laskut ForCustomersOrders=Asiakkaiden tilaukset ForProposals=Ehdotukset diff --git a/htdocs/langs/fi_FI/cashdesk.lang b/htdocs/langs/fi_FI/cashdesk.lang index e04e7aa113f..c4ebb1ba9cd 100644 --- a/htdocs/langs/fi_FI/cashdesk.lang +++ b/htdocs/langs/fi_FI/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/fi_FI/compta.lang b/htdocs/langs/fi_FI/compta.lang index 9ea8491fb18..aec84f66a18 100644 --- a/htdocs/langs/fi_FI/compta.lang +++ b/htdocs/langs/fi_FI/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/fi_FI/cron.lang b/htdocs/langs/fi_FI/cron.lang index 289befd89cd..b4cf6d1e71d 100644 --- a/htdocs/langs/fi_FI/cron.lang +++ b/htdocs/langs/fi_FI/cron.lang @@ -21,7 +21,7 @@ CronJobProfiles=List of predefined cron job profiles EnabledAndDisabled=Enabled and disabled # Page list CronLastOutput=Latest run output -CronLastResult=Latest result code +CronLastResult=Viimeisin tuloskoodi CronCommand=Command CronList=Ajastetut työt CronDelete=Delete scheduled jobs @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Poistaa käytöstä -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/fi_FI/deliveries.lang b/htdocs/langs/fi_FI/deliveries.lang index abae1108dc9..57f53382a71 100644 --- a/htdocs/langs/fi_FI/deliveries.lang +++ b/htdocs/langs/fi_FI/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Vastaanottaja ErrorStockIsNotEnough=Varaston saldo ei riitä Shippable=Toimitettavissa NonShippable=Ei toimitettavissa +ShowShippableStatus=Show shippable status ShowReceiving=Näytä lähetyslista NonExistentOrder=Tilausta ei ole järjestelmässä +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index 1d8a26f28b0..1dcccec8408 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Kirjaudu %s on jo olemassa. ErrorGroupAlreadyExists=Ryhmän %s on jo olemassa. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Levykauppa ei löytynyt. ErrorFailToCopyFile=Epäonnistui kopioida tiedoston %s ilmaisuksi %s ". ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file ' %s' ErrorCantReadDir=Lukeminen epäonnistui directory ' %s' ErrorBadLoginPassword=Bad arvo kirjautumistunnus tai salasana ErrorLoginDisabled=Tilisi on poistettu käytöstä -ErrorFailedToRunExternalCommand=Epäonnistui suorittaa ulkoista komentoa. Tarkista se on saatavilla ja runnable teidän PHP palvelimelta. Jos PHP Vikasietotila on käytössä, tarkista, että komento on sisällä hakemiston määritelty parametri safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Ei vaihda salasana ErrorLoginDoesNotExists=Käyttäjälle sisäänkirjoittautumissivuksesi %s ei löydy. ErrorLoginHasNoEmail=Tämä käyttäjä ei ole sähköpostiosoitetta. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/fi_FI/eventorganization.lang b/htdocs/langs/fi_FI/eventorganization.lang index 7d9658f4cd8..f17c3bbaac3 100644 --- a/htdocs/langs/fi_FI/eventorganization.lang +++ b/htdocs/langs/fi_FI/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/fi_FI/exports.lang b/htdocs/langs/fi_FI/exports.lang index 446bb468010..c97b7b37722 100644 --- a/htdocs/langs/fi_FI/exports.lang +++ b/htdocs/langs/fi_FI/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0= tuotteen, 1= palvelu) FileWithDataToImport=Tiedoston tiedot tuoda FileToImport=Lähdetiedostoa tuoda FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Lähde tiedostomuoto diff --git a/htdocs/langs/fi_FI/holiday.lang b/htdocs/langs/fi_FI/holiday.lang index 960f0f94b94..5b887d1fd2e 100644 --- a/htdocs/langs/fi_FI/holiday.lang +++ b/htdocs/langs/fi_FI/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Hyväksytty CancelCP=Peruttu RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Muokkaa @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Käyttäjä ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/fi_FI/hrm.lang b/htdocs/langs/fi_FI/hrm.lang index 0dd22e38f05..d1fa2f23508 100644 --- a/htdocs/langs/fi_FI/hrm.lang +++ b/htdocs/langs/fi_FI/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Avaa laitos CloseEtablishment=Sulje laitos # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Osastolista DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index bc79f570b30..3429db56d18 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Lataa uudelleen moduuli %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/fi_FI/interventions.lang b/htdocs/langs/fi_FI/interventions.lang index d01ef905476..1dd882928dc 100644 --- a/htdocs/langs/fi_FI/interventions.lang +++ b/htdocs/langs/fi_FI/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/fi_FI/knowledgemanagement.lang b/htdocs/langs/fi_FI/knowledgemanagement.lang index 156fe17e65c..b3e331b0d4e 100644 --- a/htdocs/langs/fi_FI/knowledgemanagement.lang +++ b/htdocs/langs/fi_FI/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Yleisesti KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Artikkeli KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/fi_FI/languages.lang b/htdocs/langs/fi_FI/languages.lang index e68bff8db24..5c5cf6abbfc 100644 --- a/htdocs/langs/fi_FI/languages.lang +++ b/htdocs/langs/fi_FI/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabia Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Hollanti (Belgia) Language_nl_NL=Dutch Language_pl_PL=Puola +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugali (Brasilia) Language_pt_PT=Portugali +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanialainen Language_ru_RU=Venäläinen Language_ru_UA=Venäjä (Ukraina) diff --git a/htdocs/langs/fi_FI/mails.lang b/htdocs/langs/fi_FI/mails.lang index 9623e923f65..058fb595730 100644 --- a/htdocs/langs/fi_FI/mails.lang +++ b/htdocs/langs/fi_FI/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index 9a6f1f0a878..e337acd0e82 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Veroaste +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Oletus veroprosentti @@ -729,6 +730,7 @@ MenuMembers=Jäsenet MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr raja (Valikko koti-setup-turvallisuus): %s Kb, PHP raja: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Nykyinen kieli CurrentTheme=Nykyinen teema @@ -1072,6 +1074,7 @@ ValidFrom=Voimassa alkaen ValidUntil=Voimassa asti NoRecordedUsers=Ei käyttäjiä ToClose=Sulkeaksesi +ToRefuse=To refuse ToProcess=Jotta prosessi ToApprove=Hyväksyäksesi GlobalOpenedElemView=Globaali näkymä @@ -1126,9 +1129,23 @@ UpdateForAllLines=Päivitys kaikille riveille OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/fi_FI/members.lang b/htdocs/langs/fi_FI/members.lang index 1677ab2adab..069b25196b4 100644 --- a/htdocs/langs/fi_FI/members.lang +++ b/htdocs/langs/fi_FI/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/fi_FI/modulebuilder.lang b/htdocs/langs/fi_FI/modulebuilder.lang index 13dfee730b5..0e952b9f779 100644 --- a/htdocs/langs/fi_FI/modulebuilder.lang +++ b/htdocs/langs/fi_FI/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/fi_FI/mrp.lang b/htdocs/langs/fi_FI/mrp.lang index c6e8061c790..14f2af7e1fe 100644 --- a/htdocs/langs/fi_FI/mrp.lang +++ b/htdocs/langs/fi_FI/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Valmistustilaukset NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Poista NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/fi_FI/orders.lang b/htdocs/langs/fi_FI/orders.lang index e4c9e7599b3..48a2427a6b4 100644 --- a/htdocs/langs/fi_FI/orders.lang +++ b/htdocs/langs/fi_FI/orders.lang @@ -11,6 +11,7 @@ OrderDate=Tilauspäivämäärä OrderDateShort=Tilauspäivä OrderToProcess=Jotta prosessi NewOrder=Uusi tilaus +NewSupplierOrderShort=Uusi tilaus NewOrderSupplier=Uusi Ostotilaus ToOrder=Tee tilaus MakeOrder=Tee tilaus @@ -73,6 +74,7 @@ DeleteOrder=Poista tilaus CancelOrder=Peruuta tilaus OrderReopened= Tilaus %s uudelleenavaus AddOrder=Luo tilaus +AddSupplierOrderShort=Luo tilaus AddPurchaseOrder=Muodosta Ostotilaus AddToDraftOrders=Lisää kesken olevalle tilaukselle ShowOrder=Näytä tilaus diff --git a/htdocs/langs/fi_FI/other.lang b/htdocs/langs/fi_FI/other.lang index d5d81d8306a..9ee2a786627 100644 --- a/htdocs/langs/fi_FI/other.lang +++ b/htdocs/langs/fi_FI/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=Tiedosto on poistettu DirWasRemoved=Directory poistettiin FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Leveys Height=Korkeus @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Vienti alueen @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Sulje diff --git a/htdocs/langs/fi_FI/partnership.lang b/htdocs/langs/fi_FI/partnership.lang index 1d3a9bab390..03a95b3761c 100644 --- a/htdocs/langs/fi_FI/partnership.lang +++ b/htdocs/langs/fi_FI/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Aloituspäivämäärä DatePartnershipEnd=Lopetuspäivä +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Luonnos -PartnershipAccepted = Accepted -PartnershipRefused = Hylätty -PartnershipCanceled = Peruttu - +PartnershipDraft=Luonnos +PartnershipAccepted=Accepted +PartnershipRefused=Hylätty +PartnershipCanceled=Peruttu PartnershipManagedFor=Partners are diff --git a/htdocs/langs/fi_FI/productbatch.lang b/htdocs/langs/fi_FI/productbatch.lang index e256a46afde..ae9933f11e7 100644 --- a/htdocs/langs/fi_FI/productbatch.lang +++ b/htdocs/langs/fi_FI/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Käytä erää / sarjanumeroa ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Näytä siirto lokit pari tuotetta / erää kohti StockDetailPerBatch=Varastotiedot erää kohden SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index 78ce167092c..d04d5da6fbd 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Lisää hinta asiakaskohtaisesti -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Logi viimeisimmistä asiakashinnoista MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimi ostohinta MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Tuotekortti ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Value +PMPValueShort=WAP diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index 3697cb848f0..c80bc77bdb6 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -140,6 +140,7 @@ NoTasks=Ei tehtävät hankkeen LinkedToAnotherCompany=Liittyy muihin kolmannen osapuolen TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Käytetty aika on tyhjä +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Tämä toiminto poistaa myös kaikki tehtävät projektin (%s tehtävät tällä hetkellä) ja kaikki panokset käytetty aika. IfNeedToUseOtherObjectKeepEmpty=Jos jotkin esineet (lasku, tilaus, ...), jotka kuuluvat toiselle kolmannelle osapuolelle, on liityttävä hankkeeseen luoda, pitää tämä tyhjä saada hanke on multi kolmansille osapuolille. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Käytetty aika TimeSpentForInvoice=Käytetty aika OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Uusi lasku +NewInter=Uusi OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/fi_FI/receptions.lang b/htdocs/langs/fi_FI/receptions.lang index e220580f9e9..34cafcf7e2a 100644 --- a/htdocs/langs/fi_FI/receptions.lang +++ b/htdocs/langs/fi_FI/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/fi_FI/salaries.lang b/htdocs/langs/fi_FI/salaries.lang index b587227ee0a..7024aa1f0d1 100644 --- a/htdocs/langs/fi_FI/salaries.lang +++ b/htdocs/langs/fi_FI/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Käytetty kirjanpitotili käyttäjän sidosryhmille SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Oletus kirjanpitotili palkkamaksuille +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Palkka Salaries=Palkat -NewSalaryPayment=Uusi palkanmaksu +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Palkanmaksu SalariesPayments=Palkkojen maksut +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Näytä palkanmaksu THM=Keskimääräinen tuntipalkka TJM=Keskimääräinen päiväpalkka CurrentSalary=Nykyinen palkka THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Viimeisimmät %s palkkamaksut -AllSalaries=Kaikki Palkkamaksut +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/fi_FI/stocks.lang b/htdocs/langs/fi_FI/stocks.lang index b50200fab75..5d3fc5d789c 100644 --- a/htdocs/langs/fi_FI/stocks.lang +++ b/htdocs/langs/fi_FI/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Kanta liian alhainen StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Value -PMPValueShort=WAP EnhancedValueOfWarehouses=Varastot arvo UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Uudelleenavaa -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/fi_FI/ticket.lang b/htdocs/langs/fi_FI/ticket.lang index b184456e137..377379f19d0 100644 --- a/htdocs/langs/fi_FI/ticket.lang +++ b/htdocs/langs/fi_FI/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Kaupallinen kysymys TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Hanke TicketTypeShortOTHER=Muu @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Luettu Assigned=Assigned InProgress=Käsittelyssä -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Odotus -Closed=Suljettu +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Luonut NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Ryhmä +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Jatka lukemista @@ -184,9 +186,11 @@ TicketSeverity=Vakavuus ShowTicket=See ticket RelatedTickets=Liittyvät tiketit TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Sulje tiketti +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Lippuun liitetyt dokumentit ConfirmReOpenTicket=Vahvista tämän lipun avaaminen uudelleen? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/fi_FI/trips.lang b/htdocs/langs/fi_FI/trips.lang index 9da064acc56..6f1b3a6eb59 100644 --- a/htdocs/langs/fi_FI/trips.lang +++ b/htdocs/langs/fi_FI/trips.lang @@ -1,117 +1,116 @@ # Dolibarr language file - Source file is en_US - trips -ShowExpenseReport=Show expense report -Trips=Kuluraportit -TripsAndExpenses=Expenses reports -TripsAndExpensesStatistics=Expense reports statistics -TripCard=Expense report card -AddTrip=Create expense report -ListOfTrips=List of expense reports -ListOfFees=Luettelo palkkiot -TypeFees=Types of fees -ShowTrip=Show expense report -NewTrip=New expense report -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports -CompanyVisited=Company/organization visited -FeesKilometersOrAmout=Määrä tai kilometreinä -DeleteTrip=Delete expense report -ConfirmDeleteTrip=Are you sure you want to delete this expense report? -ListTripsAndExpenses=List of expense reports -ListToApprove=Waiting for approval -ExpensesArea=Expense reports area -ClassifyRefunded=Classify 'Refunded' -ExpenseReportWaitingForApproval=A new expense report has been submitted for approval +ShowExpenseReport=Näytä kulutosite +Trips=Kulutositteet +TripsAndExpenses=Kulutositteet +TripsAndExpensesStatistics=Kulutositteet statistiikka +TripCard=Kulutosite tapahtuma +AddTrip=Tee uusi kulutosite +ListOfTrips=Lista kulutositteista +ListOfFees=Lista kulutyypeistä +TypeFees=Kulutyypit +ShowTrip=Näytä kulutosite +NewTrip=Uusi kulutosite +LastExpenseReports=Viimeisimmät %s kulutositteet +AllExpenseReports=Kaikki kulutositteet +CompanyVisited=Kohdeyritys/organisaatio/syy +FeesKilometersOrAmout=Kilometrit (määrä) +DeleteTrip=Poista kulutosite +ConfirmDeleteTrip=Oletko varma että haluat poistaa tämän kulutositteen +ListTripsAndExpenses=Lista kulutositteista +ListToApprove=Odottaa hyväksyntää +ExpensesArea=Kulutosite alue +ClassifyRefunded=Merkitse *Maksettu" +ExpenseReportWaitingForApproval=Uusi kulutosite on lähetetty hyväksyttäväksi ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval +ExpenseReportWaitingForReApproval=Uusi kulutosite on lähetetty uudelleenhyväksyttäväksi ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportApproved=An expense report was approved +ExpenseReportApproved=Kulutosite on hyväksytty ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s -ExpenseReportRefused=An expense report was refused +ExpenseReportRefused=Kulutosite on hylätty ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s -ExpenseReportCanceled=An expense report was canceled +ExpenseReportCanceled=Kulutosite on peruutettu ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s -ExpenseReportPaid=An expense report was paid +ExpenseReportPaid=Kulutosite on maksettu ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s -TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. -TripSociete=Information company -TripNDF=Informations expense report -PDFStandardExpenseReports=Standard template to generate a PDF document for expense report -ExpenseReportLine=Expense report line +TripId=Kulutositteen ID +AnyOtherInThisListCanValidate=Person to be informed for validating the request. +TripSociete=Yritystieto +TripNDF=Kulutositteen tieto +PDFStandardExpenseReports=Muodosta PDF +ExpenseReportLine=Kulutositteen rivi TF_OTHER=Muu -TF_TRIP=Transportation +TF_TRIP=Matkustusmuoto TF_LUNCH=Lounas TF_METRO=Metro -TF_TRAIN=Train -TF_BUS=Bus -TF_CAR=Auto -TF_PEAGE=Toll -TF_ESSENCE=Fuel -TF_HOTEL=Hotel -TF_TAXI=Taxi -EX_KME=Mileage costs -EX_FUE=Fuel CV -EX_HOT=Hotel -EX_PAR=Parking CV -EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast -EX_FUE_VP=Fuel PV -EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair -DefaultCategoryCar=Default transportation mode -DefaultRangeNumber=Default range number -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' -ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -AucuneLigne=There is no expense report declared yet -ModePaiement=Payment mode -VALIDATOR=User responsible for approval -VALIDOR=Hyväksynyt -AUTHOR=Recorded by -AUTHORPAIEMENT=Paid by -REFUSEUR=Denied by -CANCEL_USER=Deleted by +TF_TRAIN=Junamaksut +TF_BUS=Linja-auto maksut +TF_CAR=Auto - oma +TF_PEAGE=Tiemaksut +TF_ESSENCE=Polttoainemaksut +TF_HOTEL=Hotellikulut +TF_TAXI=Taksimaksut +EX_KME=Kilometrikorvaukset +EX_FUE=Bensakuitti +EX_HOT=Hotellikuitti +EX_PAR=Parkkimaksutkuitti +EX_TOL=Tiemaksukuitti +EX_TAX=Useita veroja +EX_IND=Joukkoliikenne kk-kortit +EX_SUM=Huoltokulut +EX_SUO=Toimistotarvikkeet +EX_CAR=Autonvuokraus +EX_DOC=Dokumentointikulut +EX_CUR=Asiakasmuistamiset +EX_OTR=Muut kulut +EX_POS=Postikulut +EX_CAM=Huolto ja ylläpitokulut +EX_EMM=Henkilöstön ruokailu +EX_GUM=Asiakastarjoilu +EX_BRE=Aamupala +EX_FUE_VP=Polttoaine +EX_TOL_VP=Tiemaksut +EX_PAR_VP=Parkkimaksut +EX_CAM_VP=huolto ja korjaus +DefaultCategoryCar=Oletus kulkuneuvo +DefaultRangeNumber=Oletus numero +UploadANewFileNow=LATAA kuittikopio +Error_EXPENSEREPORT_ADDON_NotDefined=Virhe, sääntöä numerointiin ei ole annettu modulissa "Expense Report" +ErrorDoubleDeclaration=Olet kirjannut jo kulutositteen samalle aikajaksolle. +AucuneLigne=Ei ole kulutositteita vielä kirjattuna +ModePaiement=Maksutapa +VALIDATOR=Käytä vastuullista hyväksyntään +VALIDOR=Hyväksytty toimesta +AUTHOR=Kirjattu toimesta +AUTHORPAIEMENT=Maksettu toimesta +REFUSEUR=Hylätty toimesta +CANCEL_USER=Poistettu toimesta MOTIF_REFUS=Syy MOTIF_CANCEL=Syy -DATE_REFUS=Deny date -DATE_SAVE=Vahvistettu -DATE_CANCEL=Cancelation date +DATE_REFUS=Hylkäämisen päivämäärä +DATE_SAVE=Vahvistuspäivä +DATE_CANCEL=Peruutettu päivä DATE_PAIEMENT=Maksupäivä -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report -ValidateAndSubmit=Validate and submit for approval -ValidatedWaitingApproval=Validated (waiting for approval) -NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. -ConfirmRefuseTrip=Are you sure you want to deny this expense report? -ValideTrip=Approve expense report -ConfirmValideTrip=Are you sure you want to approve this expense report? -PaidTrip=Pay an expense report -ConfirmPaidTrip=Are you sure you want to change status of this expense report to "Paid"? -ConfirmCancelTrip=Are you sure you want to cancel this expense report? -BrouillonnerTrip=Move back expense report to status "Draft" -ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft"? -SaveTrip=Validate expense report -ConfirmSaveTrip=Are you sure you want to validate this expense report? -NoTripsToExportCSV=No expense report to export for this period. -ExpenseReportPayment=Expense report payment -ExpenseReportsToApprove=Expense reports to approve -ExpenseReportsToPay=Expense reports to pay -ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index -ExpenseReportsRules=Expense report rules +ValidateAndSubmit=Vahvista ja toimita hyväksyttäväksi +ValidatedWaitingApproval=Vahvistettu, odottaa hyväksyntää. +NOT_AUTHOR=Et ole tämän kululaskun perustaja. Ei voi jatkaa. +ConfirmRefuseTrip=Haluatko varmasti hylätä tämän kululaskun? +ValideTrip=Hyväksy kululasku +ConfirmValideTrip=Hyväksy kulutosite? +PaidTrip=Maksa kululasku +ConfirmPaidTrip=Muuta maksettu tilaan? +ConfirmCancelTrip=Peruuta kulutosite? +BrouillonnerTrip=Muuta takaisin esitäytetty tilaan +ConfirmBrouillonnerTrip=Oletko varma että haluat muokata tämän kululaskun esitäytetty tilaan. +SaveTrip=Vahvista kulutosite +ConfirmSaveTrip=Oletko varma että haluat vahvistaa kulutositeen? +NoTripsToExportCSV=Ei kulutositteita tälle kuulle +ExpenseReportPayment=Kululaskun maksatus +ExpenseReportsToApprove=Hyväksyttävät kululaskut +ExpenseReportsToPay=Maksettavat kululaskut +ConfirmCloneExpenseReport=Oletko varma että haluat kopioida tämän kulutositteen? +ExpenseReportsIk=Configuration of mileage charges +ExpenseReportsRules=Kulutositteen säännöt ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report expenseReportOffset=Offset @@ -123,7 +122,7 @@ expenseReportCoefUndefined=(value not defined) expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay expenseReportPrintExample=offset + (d x coef) = %s -ExpenseReportApplyTo=Apply to +ExpenseReportApplyTo=hyväksy ExpenseReportDomain=Domain to apply ExpenseReportLimitOn=Limit on ExpenseReportDateStart=Alkaen @@ -131,8 +130,8 @@ ExpenseReportDateEnd=Päättyen ExpenseReportLimitAmount=Limite amount ExpenseReportRestrictive=Restrictive AllExpenseReport=All type of expense report -OnExpense=Expense line -ExpenseReportRuleSave=Expense report rule saved +OnExpense=Kulutositteen rivi +ExpenseReportRuleSave=Sääntö tallennettu ExpenseReportRuleErrorOnSave=Error: %s RangeNum=Range %d ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s -RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the line to an uploaded document +RangeIk=Kilometrit +AttachTheNewLineToTheDocument=Liite rivi ladattuun dokumenttiin diff --git a/htdocs/langs/fi_FI/users.lang b/htdocs/langs/fi_FI/users.lang index 45c8c06dfb0..d6f454d7357 100644 --- a/htdocs/langs/fi_FI/users.lang +++ b/htdocs/langs/fi_FI/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Kirjaudu luoda NameToCreate=Nimi kolmannen osapuolen luoda YourRole=Omat roolit YourQuotaOfUsersIsReached=Tilakiintiösi aktiivisia käyttäjiä on saavutettu! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Vain superadmin voi downgrade superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/fi_FI/website.lang b/htdocs/langs/fi_FI/website.lang index 49d16596839..79681c98cce 100644 --- a/htdocs/langs/fi_FI/website.lang +++ b/htdocs/langs/fi_FI/website.lang @@ -31,7 +31,7 @@ AddWebsite=Lisää sivusto Webpage=Web page/container AddPage=Add page/container PageContainer=Sivu -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/fi_FI/withdrawals.lang b/htdocs/langs/fi_FI/withdrawals.lang index 66f62048c71..a3ecf66ac19 100644 --- a/htdocs/langs/fi_FI/withdrawals.lang +++ b/htdocs/langs/fi_FI/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Luokittele hyvitetyksi ClassCreditedConfirm=Oletko varma, että haluat luokitella tämän vetäytymisen vastaanottamisesta kuin hyvitetty pankkitilisi? TransData=Päivämäärä Lähetetty @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/fi_FI/workflow.lang b/htdocs/langs/fi_FI/workflow.lang index 5f7718dc168..ac6629e4cb1 100644 --- a/htdocs/langs/fi_FI/workflow.lang +++ b/htdocs/langs/fi_FI/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/fr_BE/accountancy.lang b/htdocs/langs/fr_BE/accountancy.lang index d3858cde9ce..11b91eb3db3 100644 --- a/htdocs/langs/fr_BE/accountancy.lang +++ b/htdocs/langs/fr_BE/accountancy.lang @@ -1,7 +1,6 @@ # Dolibarr language file - Source file is en_US - accountancy Processing=Exécution Lineofinvoice=Lignes de facture -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) Doctype=Type de document ErrorDebitCredit=Débit et crédit ne peuvent pas être non-nuls en même temps TotalMarge=Marge de ventes totale diff --git a/htdocs/langs/fr_BE/admin.lang b/htdocs/langs/fr_BE/admin.lang index 5d24a311ccd..4f27b0faa60 100644 --- a/htdocs/langs/fr_BE/admin.lang +++ b/htdocs/langs/fr_BE/admin.lang @@ -16,6 +16,8 @@ FormToTestFileUploadForm=Formulaire pour tester l'upload de fichiers (selon la c IfModuleEnabled=Note: oui ne fonctionne que si le module %s est activé Module20Name=Propales Module30Name=Factures +NotificationsDescGlobal=* or by setting global email addresses in this setup page. Target=Objectif OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    +Recommended=Recommandée diff --git a/htdocs/langs/fr_BE/agenda.lang b/htdocs/langs/fr_BE/agenda.lang index 0e9fcea385a..54f6b109b08 100644 --- a/htdocs/langs/fr_BE/agenda.lang +++ b/htdocs/langs/fr_BE/agenda.lang @@ -4,7 +4,6 @@ MenuToDoActions=Tous les événements incomplets MenuDoneActions=Tous les événements terminés MenuToDoMyActions=Mes événements incomplets MenuDoneMyActions=Mes événements terminés -ListOfEvents=Liste d'événements (calendrier interne) ActionsAskedBy=Événements rapportés par ActionsToDoBy=Événements assignés à ActionsDoneBy=Événements faits par diff --git a/htdocs/langs/fr_BE/cashdesk.lang b/htdocs/langs/fr_BE/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/fr_BE/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/fr_BE/cron.lang b/htdocs/langs/fr_BE/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/fr_BE/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/fr_BE/eventorganization.lang b/htdocs/langs/fr_BE/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/fr_BE/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/fr_BE/mrp.lang b/htdocs/langs/fr_BE/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/fr_BE/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/fr_CA/accountancy.lang b/htdocs/langs/fr_CA/accountancy.lang index c44802ed2f4..90a83009627 100644 --- a/htdocs/langs/fr_CA/accountancy.lang +++ b/htdocs/langs/fr_CA/accountancy.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - accountancy -Accounting=Compte -ACCOUNTING_EXPORT_SEPARATORCSV=Séparateur de colonne pour le fichier export +ACCOUNTING_EXPORT_SEPARATORCSV=Séparateur de colonne pour le fichier d'exportation ACCOUNTING_EXPORT_DATE=Format de date pour le fichier export ACCOUNTING_EXPORT_PIECE=Exporter le nombre de pièces ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Exporter avec compte global @@ -13,8 +12,11 @@ ACCOUNTING_EXPORT_ENDLINE=Sélectionner le type de retour de chariot ACCOUNTING_EXPORT_PREFIX_SPEC=Spécifiez le préfixe du nom de fichier DefaultForService=Par défaut pour le service DefaultForProduct=Défaut pour le produit +ProductForThisThirdparty=Produit pour ce tier +ServiceForThisThirdparty=Service pour ce tier CantSuggest=Ne peut pas suggérer AccountancySetupDoneFromAccountancyMenu=La plupart de la configuration de la comptabilité se fait à partir du menu %s +ConfigAccountingExpert=Configuration du module comptabilité (Partie double) CurrentDedicatedAccountingAccount=Compte dédié actuel AssignDedicatedAccountingAccount=Nouveau compte à attribuer InvoiceLabel=Etiquette de facture @@ -93,7 +95,6 @@ ACCOUNTING_LENGTH_DESCRIPTION=Tronquer la description des produits et services d ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Tronquer le formulaire de description de compte de produits et services dans les listes après x chars (Best = 50) ACCOUNTING_LENGTH_GACCOUNT=Longueur des comptes comptables généraux (Si vous définissez la valeur à 6 ici, le compte '706' apparaîtra comme '706000' à l'écran) BANK_DISABLE_DIRECT_INPUT=Désactiver l'enregistrement direct de la transaction dans le compte bancaire -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) ACCOUNTING_EXPENSEREPORT_JOURNAL=Note de frais DONATION_ACCOUNTINGACCOUNT=Compte comptable pour enregistrer des dons ACCOUNTING_SERVICE_BUY_ACCOUNT=Compte comptable par défaut pour les services achetés (utilisé si non défini dans la fiche de service) diff --git a/htdocs/langs/fr_CA/admin.lang b/htdocs/langs/fr_CA/admin.lang index 61a863bf5a2..f9e6a848671 100644 --- a/htdocs/langs/fr_CA/admin.lang +++ b/htdocs/langs/fr_CA/admin.lang @@ -2,6 +2,7 @@ Publisher=Éditeur VersionLastInstall=Version d'installation initiale VersionLastUpgrade=Version de la dernière mise à jour +FileCheckDesc=Cet outil vous permet to vérifier l'intégrité des fichiers et la configuration de votre application en comparant chaque fichier avec les fichiers officiels. La valeur de certaines constantes de configuration pourrait être vérifiée aussi. Vous pouvez utiliser cet outil pour déterminer si des fichiers ont été modifiés (ex: par un pirate informatique) FileIntegrityIsStrictlyConformedWithReference=L'intégrité des fichiers est strictement conforme à la référence. FileIntegritySomeFilesWereRemovedOrModified=La vérification de l'intégrité des fichiers a échoué. Certains fichiers ont été modifiés, supprimés ou ajoutés. GlobalChecksum=Somme de contrôle globale @@ -143,6 +144,7 @@ SearchOptim=Optimization des recherches PasswordGenerationPerso=Retour un mot de passe en fonction de votre configuration personnellement défini. PasswordPatternDesc=Description du modèle de mot de passe HRMSetup=Configuration du module de GRH +NotificationsDescGlobal=* or by setting global email addresses in this setup page. MustBeUnique=Doit être unique? MustBeInvoiceMandatory=Obligatoire de valider les factures? PaymentsPDFModules=Modèles de documents de paiement @@ -242,4 +244,4 @@ BaseCurrency=Monnaie de référence de la société (entrer dans la configuratio FormatZip=Code postal OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. UseSearchToSelectResource=Utilisez un formulaire de recherche pour choisir une ressource (plutôt qu'une liste déroulante). -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/fr_CA/agenda.lang b/htdocs/langs/fr_CA/agenda.lang index 94cf4102fab..041faaa22aa 100644 --- a/htdocs/langs/fr_CA/agenda.lang +++ b/htdocs/langs/fr_CA/agenda.lang @@ -13,7 +13,6 @@ OrderDeliveredInDolibarr=Commande %s classée Délivrée ProposalDeleted=Proposition supprimée AgendaModelModule=Modèles de document pour l'événement AgendaUrlOptions1=Vous pouvez aussi ajouter les paramètres suivants pour filtrer les réponses : -AgendaShowBirthdayEvents=Afficher les dates d'anniversaire des contacts AgendaHideBirthdayEvents=Cacher les dates d'anniversaire des contacts ExportDataset_event1=Liste évênements de l'agenda VisibleTimeRange=Plage d'heures visibles diff --git a/htdocs/langs/fr_CA/banks.lang b/htdocs/langs/fr_CA/banks.lang index 75a031fba60..f518fc82162 100644 --- a/htdocs/langs/fr_CA/banks.lang +++ b/htdocs/langs/fr_CA/banks.lang @@ -1,10 +1,17 @@ # Dolibarr language file - Source file is en_US - banks +MenuBankCash=Banques | Encaisse SwiftValid=BIC / SWIFT valide SwiftVNotalid=BIC / SWIFT non valide IbanValid=BAN valide IbanNotValid=BAN non valide StandingOrders=Ordres de débit direct StandingOrder=Ordre de débit direct +PaymentByDirectDebit=Paiement par paiement direct +AccountStatement=Relevé de compte +AccountStatements=Relevés de compte +BankAccountDomiciliation=Adresse de la banque +RIBControlError=Échec de la vérification de l'intégrité des valeurs. Cela signifie que l'information pour ce numéro de compte est incomplète ou incorrecte (vérifier pays, numéros et IBAN) +EditFinancialAccount=Modifier compte ConfirmDeleteAccount=Êtes-vous sûr de vouloir supprimer ce compte? BankTransactionByCategories=Entrées bancaires par catégories BankTransactionForCategory=Entrées bancaires pour la catégorie %s @@ -15,20 +22,26 @@ BankTransaction=Entrée de la banque ListTransactions=Entrées de la liste ListTransactionsByCategory=Liste des entrées / catégorie TransactionsToConciliate=Entrées à réconcilier +TransactionsToConciliateShort=À reconcilier +SaveStatementOnly=Enregistrer seulement le relevé ReconciliationLate=Réconciliation tardive OnlyOpenedAccount=Uniquement comptes ouverts LinkedToAConciliatedTransaction=Lié à une entrée conciliée StatusAccountOpened=Ouverte AddBankRecord=Ajouter une entrée AddBankRecordLong=Ajouter une entrée manuellement +Conciliated=Reconcilié +BankLineConciliated=Entrée reconciliée avec reçu bancaire Reconciled=Réconcilié SocialContributionPayment=Règlement charge sociale MenuBankInternalTransfer=Transfert interne +TransferTo=À CheckTransmitter=Expéditeur ValidateCheckReceipt=Validez cette facture? DeleteCheckReceipt=Supprimer ce reçu de facturation? ConfirmDeleteCheckReceipt=Êtes-vous sûr de vouloir supprimer ce justificatif? BankChecksToReceipt=Chèques en attente de dépôt +NumberOfCheques=Num. de chèque DeleteTransaction=Supprimer l'entrée ConfirmDeleteTransaction=Êtes-vous sûr de vouloir supprimer cette entrée? ThisWillAlsoDeleteBankRecord=Cela supprimera également l'entrée bancaire générée @@ -48,3 +61,4 @@ ConfirmRejectCheck=Êtes-vous sûr de vouloir marquer ce contrôle comme rejeté RejectCheckDate=Date à laquelle le chèque a été retourné CheckRejected=Chèque renvoyé DocumentModelBan=Modèle pour imprimer une page avec des informations BAN. +VariousPayments=Paiements divers diff --git a/htdocs/langs/fr_CA/cashdesk.lang b/htdocs/langs/fr_CA/cashdesk.lang index 2f3da52b1f5..19eaee5e18a 100644 --- a/htdocs/langs/fr_CA/cashdesk.lang +++ b/htdocs/langs/fr_CA/cashdesk.lang @@ -2,3 +2,4 @@ NoVAT=Pas de TVA (TAXE) pour cette vente BankToPay=Compte pour le paiement DolibarrReceiptPrinter=Imprimante de reçu Dolibarr +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/fr_CA/compta.lang b/htdocs/langs/fr_CA/compta.lang index 677933700ee..8d80cf46426 100644 --- a/htdocs/langs/fr_CA/compta.lang +++ b/htdocs/langs/fr_CA/compta.lang @@ -30,6 +30,7 @@ LT1PaymentsES=Règlements RE (TVQ) VATPayment=Paiement d'impôt sur les ventes VATPayments=Paiements d'impôt sur les ventes VATRefund=Remboursement de la taxe de vente +Refund=Rembourser SocialContributionsPayments=Règlements charges sociales ShowVatPayment=Affiche paiement TPS/TVH CustomerAccountancyCodeShort=Cust. Compte. code diff --git a/htdocs/langs/fr_CA/cron.lang b/htdocs/langs/fr_CA/cron.lang index c0ac78610c3..df16aeb6225 100644 --- a/htdocs/langs/fr_CA/cron.lang +++ b/htdocs/langs/fr_CA/cron.lang @@ -28,7 +28,6 @@ CronObject=Instance / objet à créer CronSaveSucess=Sauvegarde réussie CronFieldMandatory=Les champs %s sont obligatoires CronErrEndDateStartDt=La date de fin ne peut pas être avant la date de début -CronTaskInactive=Ce travail est désactivé CronClassFile=Nom de fichier avec classe CronCommandHelp=La ligne de commande du système à exécuter. CronCreateJob=Créer un nouvel emploi planifié diff --git a/htdocs/langs/fr_CA/errors.lang b/htdocs/langs/fr_CA/errors.lang index 809a2d2f220..86d639a66e5 100644 --- a/htdocs/langs/fr_CA/errors.lang +++ b/htdocs/langs/fr_CA/errors.lang @@ -66,7 +66,6 @@ ErrorCantReadFile=Impossible de lire le fichier '%s' ErrorCantReadDir=Impossible de lire le répertoire '%s' ErrorBadLoginPassword=Mauvaise valeur pour la connexion ou le mot de passe ErrorLoginDisabled=Votre compte a été désactivé -ErrorFailedToRunExternalCommand=Impossible d'exécuter une commande externe. Vérifiez qu'il est disponible et exécutable par votre serveur PHP. Si PHP Mode sans échec est activé, vérifiez que cette commande se trouve dans un répertoire défini par le paramètre safe_mode_exec_dir . ErrorFailedToChangePassword=Échec de la modification du mot de passe ErrorLoginDoesNotExists=L'utilisateur avec la connexion %s n'a pas été trouvé. ErrorLoginHasNoEmail=Cet utilisateur n'a pas d'adresse e-mail. Processus interrompu. diff --git a/htdocs/langs/fr_CA/eventorganization.lang b/htdocs/langs/fr_CA/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/fr_CA/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/fr_CA/holiday.lang b/htdocs/langs/fr_CA/holiday.lang index ec3c70f8030..7aa21c8a9bf 100644 --- a/htdocs/langs/fr_CA/holiday.lang +++ b/htdocs/langs/fr_CA/holiday.lang @@ -5,6 +5,7 @@ MenuAddCP=Nouvelle demande de congé AddCP=Demander un congé DateDebCP=Date de début DateFinCP=Date de fin +ToReviewCP=En attente d'approbation ApprovedCP=Approuver CancelCP=Annulé RefuseCP=Refusé @@ -17,14 +18,12 @@ ReturnCP=Retourner à la page précédente ErrorUserViewCP=Vous n'êtes pas autorisé à lire cette demande de congé. InfosWorkflowCP=Flux de travail d'information TitreRequestCP=Demande de congé -NbUseDaysCP=Nombre de jours de vacances consommés EditCP=Éditer StatutCP=État TitleDeleteCP=Supprimer la demande de congé ConfirmDeleteCP=Confirmer la suppression de cette demande de congé? ErrorCantDeleteCP=Erreur, vous n'avez pas le droit de supprimer cette demande de congé. CantCreateCP=Vous n'avez pas le droit de faire des demandes de congé. -InvalidValidatorCP=Vous devez choisir un approbateur à votre demande de congé. NoDateDebut=Vous devez sélectionner une date de début. NoDateFin=Vous devez sélectionner une date de fin. ErrorDureeCP=Votre demande de congé ne contient pas de jour ouvrable. @@ -44,13 +43,9 @@ MotifCP=Raison ErrorAddEventToUserCP=Une erreur s'est produite lors de l'ajout du congé exceptionnel. AddEventToUserOkCP=L'ajout du congé exceptionnel a été complété. MenuLogCP=Afficher les journaux de modification -LogCP=Enregistrement des mises à jour des jours de vacances disponibles -ActionByCP=Interprété par PrevSoldeCP=Solde précédent NewSoldeCP=Nouvel équilibre alreadyCPexist=Une demande de congé a déjà été faite sur cette période. -FirstDayOfHoliday=Premier jour de vacances -LastDayOfHoliday=Dernier jour de vacances BoxTitleLastLeaveRequests=Dernier %s demandes de congé modifié HolidaysCancelation=Laisser l'annulation de demande EmployeeLastname=Nom de famille de l'employé diff --git a/htdocs/langs/fr_CA/mails.lang b/htdocs/langs/fr_CA/mails.lang index cd12fe65172..d3c0c6971f2 100644 --- a/htdocs/langs/fr_CA/mails.lang +++ b/htdocs/langs/fr_CA/mails.lang @@ -96,5 +96,3 @@ ItemsCount=Articles) AdvTgtLoadFilter=Filtre de charge AdvTgtDeleteFilter=Supprimer le filtre AdvTgtCreateFilter=Créer un filtre -NoContactWithCategoryFound=Aucun contact / adresse avec une catégorie trouvée -NoContactLinkedToThirdpartieWithCategoryFound=Aucun contact / adresse avec une catégorie trouvée diff --git a/htdocs/langs/fr_CA/mrp.lang b/htdocs/langs/fr_CA/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/fr_CA/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/fr_CA/products.lang b/htdocs/langs/fr_CA/products.lang index 947742b3356..6e3f9b4042e 100644 --- a/htdocs/langs/fr_CA/products.lang +++ b/htdocs/langs/fr_CA/products.lang @@ -120,7 +120,6 @@ ResetBarcodeForAllRecords=Définissez la valeur du code-barres pour tous les enr PriceByCustomer=Différents prix pour chaque client PriceCatalogue=Un prix de vente unique par produit / service AddCustomerPrice=Ajouter un prix par client -ForceUpdateChildPriceSoc=Définir le même prix sur les filiales clientes PriceByCustomerLog=Enregistrement des prix clients précédents MinimumPriceLimit=Le prix minimum ne peut pas être inférieur à %s PriceExpressionSelected=Expression de prix choisie diff --git a/htdocs/langs/fr_CA/projects.lang b/htdocs/langs/fr_CA/projects.lang index 2dcbd564066..da20c99be8e 100644 --- a/htdocs/langs/fr_CA/projects.lang +++ b/htdocs/langs/fr_CA/projects.lang @@ -101,4 +101,5 @@ IdTaskTime=Id temps de tâche OpenedProjectsByThirdparties=Projets ouverts par des tiers OppStatusPENDING=Créance OppStatusWON=A gagné +TimeSpentForIntervention=Temps passé TimeSpentForInvoice=Temps passé diff --git a/htdocs/langs/fr_CA/salaries.lang b/htdocs/langs/fr_CA/salaries.lang index 8b380dd75f2..f7868851069 100644 --- a/htdocs/langs/fr_CA/salaries.lang +++ b/htdocs/langs/fr_CA/salaries.lang @@ -1,10 +1,7 @@ # Dolibarr language file - Source file is en_US - salaries Salary=Salaires -NewSalaryPayment=Nouveau paiement de salaire SalaryPayment=Paiement Salaire SalariesPayments=Paiements salaires ShowSalaryPayment=Afficher paiement de salaires THM=Taux horaire moyen TJM=Taux journalier moyen -THMDescription=Cette valeur peut être utilisée pour calculer le coût du temps consommé sur un projet entré par les utilisateurs si le projet de module est utilisé -TJMDescription=Cette valeur est actuellement à titre d'information seulement et ne sert pas à tout calcul diff --git a/htdocs/langs/fr_CA/stocks.lang b/htdocs/langs/fr_CA/stocks.lang index e485e3a8efd..7ae55241dd9 100644 --- a/htdocs/langs/fr_CA/stocks.lang +++ b/htdocs/langs/fr_CA/stocks.lang @@ -19,7 +19,6 @@ UnitPurchaseValue=Prix ​​unitaire d'achat StockTooLow=Stock trop bas StockLowerThanLimit=Stock inférieure à la limite d'alerte (%s) EnhancedValue=Valeur -PMPValue=Prix ​​moyen pondéré EnhancedValueOfWarehouses=Valeur des entrepôts QtyDispatched=Quantité expédiée QtyDispatchedShort=Qté expédiée @@ -68,8 +67,6 @@ IsInPackage=Contenu dans le paquet ShowWarehouse=Voir entrepôt MovementCorrectStock=Correction de stock pour le produit %s ThisSerialAlreadyExistWithDifferentDate=Ce lot / numéro de série (%s) existe déjà, mais avec différentes dates eatby ou sellby (trouvé %s mais vous entrez %s). -OpenAll=Ouvert pour toutes les actions -OpenInternal=Ouvrir uniquement pour les actions internes OptionMULTIPRICESIsOn=L'option "plusieurs prix par segment" est activée. Cela signifie qu'un produit a plusieurs prix de vente, donc la valeur à vendre ne peut être calculée ProductStockWarehouseCreated=Limite de stock pour l'alerte et le stock optimal souhaité correctement créé ProductStockWarehouseUpdated=La limite de stock pour l'alerte et le stock optimal souhaité est correctement mis à jour diff --git a/htdocs/langs/fr_CA/ticket.lang b/htdocs/langs/fr_CA/ticket.lang index 5e7204f3438..e1982d6b062 100644 --- a/htdocs/langs/fr_CA/ticket.lang +++ b/htdocs/langs/fr_CA/ticket.lang @@ -1,4 +1,3 @@ # Dolibarr language file - Source file is en_US - ticket TypeContact_ticket_internal_CONTRIBUTOR=Donateur -Closed=Fermée TicketMailExchanges=Messages courriels diff --git a/htdocs/langs/fr_CA/trips.lang b/htdocs/langs/fr_CA/trips.lang index 4f199d26b1f..4ce0d48ce0d 100644 --- a/htdocs/langs/fr_CA/trips.lang +++ b/htdocs/langs/fr_CA/trips.lang @@ -24,7 +24,6 @@ ExpenseReportRefused=Un rapport de dépenses a été refusé ExpenseReportCanceled=Un rapport de dépenses a été annulé ExpenseReportPaid=Un rapport de dépenses a été payé TripId=Rapport de dépenses -AnyOtherInThisListCanValidate=Personne à informer pour validation. TripSociete=Société d'information TripNDF=Informations rapport de dépenses PDFStandardExpenseReports=Modèle standard pour générer un document PDF pour le rapport de dépenses @@ -43,7 +42,6 @@ MOTIF_CANCEL=Raison DATE_REFUS=Déni de date DATE_CANCEL=Date d'annulation DATE_PAIEMENT=Date de règlement -BROUILLONNER=Rouvrir ExpenseReportRef=Réf. rapport de dépenses ValidateAndSubmit=Validez et soumettez pour approbation NOT_AUTHOR=Vous n'êtes pas l'auteur de ce rapport de dépenses. Fonctionnement annulé. diff --git a/htdocs/langs/fr_CH/accountancy.lang b/htdocs/langs/fr_CH/accountancy.lang index 4dbdd035d6e..5412d3bd3b4 100644 --- a/htdocs/langs/fr_CH/accountancy.lang +++ b/htdocs/langs/fr_CH/accountancy.lang @@ -1,2 +1,16 @@ # Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) +ACCOUNTING_EXPORT_SEPARATORCSV=Séparateur de colonne pour le fichier export +ACCOUNTING_EXPORT_PIECE=Exporter le nombre de pièces +Selectformat=Sélectionner le format pour le fichier +ACCOUNTING_EXPORT_FORMAT=Sélectionner le format pour le fichier +ACCOUNTING_EXPORT_ENDLINE=Sélectionner le type de retour à la ligne +ACCOUNTING_EXPORT_PREFIX_SPEC=Spécifiez le préfixe du nom de fichier +CantSuggest=Impossible de suggérer +AccountancySetupDoneFromAccountancyMenu=La plupart des réglages de la comptabilité se font à partir du menu %s +ConfigAccountingExpert=Paramétrage du module comptabilité (en partie double) +Journalization=Journalisation +CurrentDedicatedAccountingAccount=Compte dédié actuel +InvoiceLabel=Libellé de facture +OverviewOfAmountOfLinesNotBound=Aperçu du nombre de lignes non liées à un compte comptable +OverviewOfAmountOfLinesBound=Aperçu du nombre de lignes déjà liées à un compte comptable +TotalVente=Chiffre d'affaires total avant taxes diff --git a/htdocs/langs/fr_CH/admin.lang b/htdocs/langs/fr_CH/admin.lang index c1d306ec390..e07b681d55d 100644 --- a/htdocs/langs/fr_CH/admin.lang +++ b/htdocs/langs/fr_CH/admin.lang @@ -1,3 +1,8 @@ # Dolibarr language file - Source file is en_US - admin +Module310Name=Membres +NotificationsDescGlobal=* or by setting global email addresses in this setup page. +LDAPMembersSynchro=Membres +LDAPMembersTypesSynchro=Types de membres +MailToMember=Membres OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/fr_CH/bills.lang b/htdocs/langs/fr_CH/bills.lang new file mode 100644 index 00000000000..07858702535 --- /dev/null +++ b/htdocs/langs/fr_CH/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +BillShortStatusValidated=Validé +PaymentTypeShortTRA=Brouillon diff --git a/htdocs/langs/fr_CH/cashdesk.lang b/htdocs/langs/fr_CH/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/fr_CH/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/fr_CH/cron.lang b/htdocs/langs/fr_CH/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/fr_CH/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/fr_CH/donations.lang b/htdocs/langs/fr_CH/donations.lang new file mode 100644 index 00000000000..ed261a4c7b0 --- /dev/null +++ b/htdocs/langs/fr_CH/donations.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - donations +DonationStatusPromiseNotValidatedShort=Brouillon +DonationStatusPromiseValidatedShort=Validé diff --git a/htdocs/langs/fr_CH/eventorganization.lang b/htdocs/langs/fr_CH/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/fr_CH/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/fr_CH/main.lang b/htdocs/langs/fr_CH/main.lang index 2888af9c5df..ccea260191e 100644 --- a/htdocs/langs/fr_CH/main.lang +++ b/htdocs/langs/fr_CH/main.lang @@ -19,3 +19,5 @@ FormatDateHourShort=%d.%m.%Y %H:%M %p FormatDateHourSecShort=%d.%m.%Y %H:%M:%S %p FormatDateHourTextShort=%d %b %Y, %H:%M %p FormatDateHourText=%d %B %Y, %H:%M %p +MenuMembers=Membres +SearchIntoMembers=Membres diff --git a/htdocs/langs/fr_CH/members.lang b/htdocs/langs/fr_CH/members.lang new file mode 100644 index 00000000000..f05d77311e8 --- /dev/null +++ b/htdocs/langs/fr_CH/members.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - members +MembersArea=Espace membres +MemberCard=Fiche membre +Member=Membre +Members=Membres +ShowMember=Afficher la fiche membre +UserNotLinkedToMember=Utilisateur non lié à un membre +ThirdpartyNotLinkedToMember=Tiers non lié à un membre +ListOfValidatedPublicMembers=Liste des membres publics validés +ErrorThisMemberIsNotPublic=Ce membre n'est pas public +ErrorMemberIsAlreadyLinkedToThisThirdParty=Un autre membre (nom: %s, connexion: %s) est déjà lié à un tiers %s. Supprimez ce lien en premier parce qu'un tiers ne peut être lié qu'à un membre (et vice versa). +ErrorUserPermissionAllowsToLinksToItselfOnly=Pour des raisons de sécurité, vous devez être autorisé à modifier tous les utilisateurs pour pouvoir lier un membre à un utilisateur qui n'est pas le vôtre. +MembersCards=Cartes de visite pour les membres +MembersList=Liste des membres +MembersListToValid=Liste des brouillons de membres (à valider) +MembersListValid=Liste des membres validés +MembersListUpToDate=Liste des membres validés avec cotisation à jour +MembersListNotUpToDate=Liste des membres validés dont la cotisation est expirée +MembersListExcluded=Liste des membres exclus +MembersListResiliated=Liste des membres résiliés +MembersListQualified=Liste des membres qualifiés +MenuMembersToValidate=Brouillons de membres +MenuMembersValidated=Membres validés +MenuMembersExcluded=Membres exclus +MenuMembersResiliated=Membres résiliés +MembersWithSubscriptionToReceive=Membres avec cotisation à recevoir +DateSubscription=Date de cotisation +DateEndSubscription=Date de fin de cotisation +SubscriptionId=No de cotisation +WithoutSubscription=Sans cotisation +MemberId=No membres +NewMember=Nouveau membre +MemberType=Type de membre +MemberTypeId=No du type de membre +MemberTypeLabel=Libellé du type de membre +MembersTypes=Types de membres +MemberStatusActive=Validé (en attente de cotisation) +MemberStatusActiveLate=Cotisation expirée +MemberStatusActiveLateShort=Expirée +MemberStatusPaid=Cotisation à jour +MemberStatusPaidShort=À jour +MemberStatusExcluded=Membre exclu +MemberStatusResiliated=Membre résilié +MembersStatusToValid=Brouillons de membres +MembersStatusExcluded=Membres exclus +MembersStatusResiliated=Membres résiliés +MemberStatusNoSubscription=Validé (cotisation non requise) +SubscriptionNotNeeded=Cotisation non requise +NewCotisation=Nouvelle cotisation +PaymentSubscription=Nouveau paiement de cotisation +SubscriptionEndDate=Date de fin de cotisation +MembersTypeSetup=Configuration du type de membres +ImportDataset_member_1=Membres diff --git a/htdocs/langs/fr_CH/mrp.lang b/htdocs/langs/fr_CH/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/fr_CH/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/fr_CH/orders.lang b/htdocs/langs/fr_CH/orders.lang new file mode 100644 index 00000000000..cf490d0b6dc --- /dev/null +++ b/htdocs/langs/fr_CH/orders.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - orders +StatusOrderValidatedShort=Validé +StatusOrderValidated=Validé diff --git a/htdocs/langs/fr_CH/sendings.lang b/htdocs/langs/fr_CH/sendings.lang new file mode 100644 index 00000000000..3ea92045960 --- /dev/null +++ b/htdocs/langs/fr_CH/sendings.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - sendings +StatusSendingValidatedShort=Validé diff --git a/htdocs/langs/fr_CI/accountancy.lang b/htdocs/langs/fr_CI/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/fr_CI/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/fr_CI/admin.lang b/htdocs/langs/fr_CI/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/fr_CI/admin.lang +++ b/htdocs/langs/fr_CI/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/fr_CI/cashdesk.lang b/htdocs/langs/fr_CI/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/fr_CI/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/fr_CI/cron.lang b/htdocs/langs/fr_CI/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/fr_CI/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/fr_CI/eventorganization.lang b/htdocs/langs/fr_CI/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/fr_CI/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/fr_CI/mrp.lang b/htdocs/langs/fr_CI/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/fr_CI/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/fr_CM/accountancy.lang b/htdocs/langs/fr_CM/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/fr_CM/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/fr_CM/admin.lang b/htdocs/langs/fr_CM/admin.lang index c1d306ec390..a88b80ca430 100644 --- a/htdocs/langs/fr_CM/admin.lang +++ b/htdocs/langs/fr_CM/admin.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/fr_CM/cashdesk.lang b/htdocs/langs/fr_CM/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/fr_CM/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/fr_CM/cron.lang b/htdocs/langs/fr_CM/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/fr_CM/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/fr_CM/eventorganization.lang b/htdocs/langs/fr_CM/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/fr_CM/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/fr_CM/mrp.lang b/htdocs/langs/fr_CM/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/fr_CM/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index e01b49a1e37..a92660eb872 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -37,8 +37,8 @@ OtherInfo=Autre information DeleteCptCategory=Supprimer le code comptable du groupe ConfirmDeleteCptCategory=Êtes-vous sur de vouloir supprimer ce compte comptable du groupe comptable ? JournalizationInLedgerStatus=Statut de journalisation -AlreadyInGeneralLedger=Déjà transféré en comptabilité -NotYetInGeneralLedger=Pas encore transféré en comptabilité +AlreadyInGeneralLedger=Already transferred to accounting journals and ledger +NotYetInGeneralLedger=Not yet transferred to accouting journals and ledger GroupIsEmptyCheckSetup=Le groupe est vide. Vérifier la configuration du groupe personnalisé DetailByAccount=Afficher le détail par compte AccountWithNonZeroValues=Comptes avec des valeurs non nulles @@ -48,7 +48,8 @@ CountriesNotInEEC=Pays hors CEE CountriesInEECExceptMe=Pays de la CEE sauf %s CountriesExceptMe=Tous les pays sauf %s AccountantFiles=Exporter les documents sources -ExportAccountingSourceDocHelp=Avec cet outil, vous pouvez exporter les événements sources (liste et PDF) qui ont été utilisés pour générer votre comptabilité. Pour exporter vos journaux, utilisez l'entrée de menu %s - %s. +ExportAccountingSourceDocHelp=Avec cet outil, vous pouvez exporter les événements sources (liste en CSV et PDF) qui ont servi à générer votre comptabilité. +ExportAccountingSourceDocHelp2=Pour exporter vos journaux, utilisez l'entrée de menu %s - %s. VueByAccountAccounting=Vue par comptes comptables VueBySubAccountAccounting=Affichage par compte auxiliaire @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Longueur des comptes comptables de Tiers (Si vous dé ACCOUNTING_MANAGE_ZERO=Permettre de gérer un nombre différent de zéro à la fin d'un compte comptable. Nécessaire pour certains pays (comme la Suisse). Si conservé à Non (par défaut), vous pouvez définir les 2 paramètres suivants pour demander à l'application d'ajouter des zéros virtuels. BANK_DISABLE_DIRECT_INPUT=Désactiver la saisie directe de transactions en banque ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Activer l'export brouillon sur les journaux comptables -ACCOUNTANCY_COMBO_FOR_AUX=Activer la liste déroulante pour le compte auxiliaire (peut être lent si vous avez beaucoup de tiers) +ACCOUNTANCY_COMBO_FOR_AUX=Activer la liste déroulante pour les comptes auxiliaires (des lenteurs peuvent être rencontrées si vous avez de nombreux tiers) ACCOUNTING_DATE_START_BINDING=Définissez une date pour commencer la liaison et le transfert en comptabilité. En dessous de cette date, les transactions ne seront jamais transférées à la comptabilité. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Choix de la période des factures pour le transfert en comptabilité @@ -202,14 +203,14 @@ Docref=Référence LabelAccount=Libellé du compte LabelOperation=Libellé opération Sens=Sens -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=Pour le compte comptable d'un client, utilisez Crédit pour enregistrer un règlement reçu.
    Pour le compte comptable d'un fournisseur, utilisez Débit pour enregistrer un règlement reçu. LetteringCode=Code de lettrage Lettering=Lettrage Codejournal=Journal JournalLabel=Libellé journal NumPiece=Numéro de pièce TransactionNumShort=Num. transaction -AccountingCategory=Groupe personnalisé +AccountingCategory=Groupe comptable personnalisé GroupByAccountAccounting=Affichage par compte comptable GroupBySubAccountAccounting=Affichage par compte auxiliaire AccountingAccountGroupsDesc=Vous pouvez définir ici des groupes de comptes comptable. Il seront utilisés pour les reporting comptables personnalisés @@ -245,9 +246,9 @@ DescThirdPartyReport=Consultez ici la liste des tiers clients et fournisseurs et ListAccounts=Liste des comptes comptables UnknownAccountForThirdparty=Compte de tiers inconnu. %s sera utilisé UnknownAccountForThirdpartyBlocking=Compte de tiers inconnu. Erreur bloquante. -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Code comptable du tiers non défini ou tiers inconnu. On utilisera %s. +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Compte auxiliaire non défini ou tiers ou utilisateur inconnu. Nous utiliserons %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tiers inconnu et code comptable auxiliaire non défini sur le paiement. Nous conserverons la valeur du compte auxiliaire vide. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Compte tiers non défini ou inconnu. Erreur bloquante. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Compte auxiliaire non défini ou tiers ou utilisateur inconnu. Erreur blocante. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Compte tiers inconnu et compte d'attente non défini. Erreur blocante. PaymentsNotLinkedToProduct=Paiement non lié à un produit / service OpeningBalance=Solde d'ouverture @@ -297,7 +298,7 @@ NoNewRecordSaved=Plus d'enregistrements à journaliser ListOfProductsWithoutAccountingAccount=Liste des produits non liés à un compte comptable ChangeBinding=Changer les liens Accounted=En comptabilité -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Not yet transferred to accounting ShowTutorial=Afficher le tutoriel NotReconciled=Non rapproché WarningRecordWithoutSubledgerAreExcluded=Attention : toutes les opérations sans compte auxiliaire défini sont filtrées et exclues de cet écran @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Désactiver la liaison et le transfert e ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Désactiver la liaison et le transfert en comptabilité des notes de frais (les notes de frais ne seront pas prises en compte en comptabilité). ## Export +NotifiedExportDate=Flag exported lines as exported (modification of the lines will not be possible) +NotifiedValidationDate=Validate the exported entries (modification or deletion of the lines will not be possible) +ConfirmExportFile=Confirmation de la génération du fichier d'export comptable ? ExportDraftJournal=Exporter le journal brouillon Modelcsv=Modèle d'export Selectmodelcsv=Sélectionner un modèle d'export @@ -335,11 +339,11 @@ Modelcsv_normal=Export standard Modelcsv_CEGID=Export vers CEGID Expert comptabilité Modelcsv_COALA=Export vers Sage Coala Modelcsv_bob50=Export vers Sage BOB 50 -Modelcsv_ciel=Export vers Sage Ciel Compta ou Compta Evolution +Modelcsv_ciel=Export vers Sage50, Ciel Compta ou Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export vers Quadratus QuadraCompta Modelcsv_ebp=Export vers EBP Modelcsv_cogilog=Export vers Cogilog -Modelcsv_agiris=Export vers Agiris +Modelcsv_agiris=Export for Agiris Isacompta Modelcsv_LDCompta=Export pour LD Compta (v9) (Test) Modelcsv_LDCompta10=Export pour LD Compta (v10 et supérieure) Modelcsv_openconcerto=Export pour OpenConcerto (Test) @@ -347,9 +351,10 @@ Modelcsv_configurable=Export configurable Modelcsv_FEC=Export FEC Modelcsv_FEC2=Export FEC (avec dates enregistrement et document inversées) Modelcsv_Sage50_Swiss=Export pour Sage 50 Suisse -Modelcsv_winfic=Export pour Winfic - eWinfic - WinSis Compta +Modelcsv_winfic=Export for Winfic - eWinfic - WinSis Compta Modelcsv_Gestinumv3=Export vers Gestinum (v3) -Modelcsv_Gestinumv5Export Pour Gestinum (V5) +Modelcsv_Gestinumv5=Export for Gestinum (v5) +Modelcsv_charlemagne=Export for Aplim Charlemagne ChartofaccountsId=Id plan comptable ## Tools - Init accounting account on product / service @@ -409,15 +414,15 @@ FECFormatEntryNum=Numéro de la pièce (EcritureNum) FECFormatEntryDate=Date de la pièce (EcritureDate) FECFormatGeneralAccountNumber=Numéro du compte général (CompteNum) FECFormatGeneralAccountLabel=Libellé du compte général (CompteLib) -FECFormatSubledgerAccountNumber=Numéro de compte du grand livre auxiliaire (CompAuxNum) -FECFormatSubledgerAccountLabel=Libellé de compte du grand livre auxiliaire (CompAuxLib) +FECFormatSubledgerAccountNumber=Numéro du compte auxiliaire (CompAuxNum) +FECFormatSubledgerAccountLabel=Libellé du compte auxiliaire (CompAuxLib) FECFormatPieceRef=Référence de la pièce (PieceRef) FECFormatPieceDate=Date de création de la pièce (PieceDate) FECFormatLabelOperation=Libellé de l'opération (EcritureLib) FECFormatDebit=Débit (Debit) FECFormatCredit=Crédit (Credit) -FECFormatReconcilableCode=Code de réconciliation (EcritureLet) -FECFormatReconcilableDate=Date de réconciliation (DateLet) +FECFormatReconcilableCode=Code lettrage (EcritureLet) +FECFormatReconcilableDate=Date de lettrage (DateLet) FECFormatValidateDate=Date de validation de la pièce (ValidDate) FECFormatMulticurrencyAmount=Montant multidevise (Montantdevise) FECFormatMulticurrencyCode=Code multidevise (Idevise) diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index ecaa4b6e600..01498f3fce1 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utilisateur interne ExternalUser=Utilisateur externe InternalUsers=Utilisateurs internes ExternalUsers=Utilisateurs externes +UserInterface=Interface utilisateur GUISetup=Affichage SetupArea=Configuration UploadNewTemplate=Téléverser un / des nouveau(x) modèle(s) @@ -63,8 +64,8 @@ IfModuleEnabled=Rem: oui est effectif uniquement si le module %s est acti RemoveLock=Effacer le fichier %s s'il existe afin d'autoriser l'outil de mise à jour. RestoreLock=Replacer un fichier %s, en ne donnant que les droits de lecture sur ce fichier, afin d'interdire à nouveau les mises à jour. SecuritySetup=Configuration de la sécurité -PHPSetup=Configuration PHP -OSSetup=OS setup +PHPSetup=Configuration de PHP +OSSetup=Configuration du système d'exploitation SecurityFilesDesc=Définissez ici les options de sécurité des téléchargements de fichiers ErrorModuleRequirePHPVersion=Erreur, ce module requiert une version %s ou supérieure de PHP ErrorModuleRequireDolibarrVersion=Erreur, ce module requiert une version %s ou supérieure de Dolibarr @@ -74,7 +75,7 @@ Dictionary=Dictionnaires ErrorReservedTypeSystemSystemAuto=Erreur, les valeurs 'system' et 'systemauto' sont réservées. Vous pouvez utiliser la valeur 'user' pour ajouter vos propres enregistrements ErrorCodeCantContainZero=Erreur, le code ne peut contenir la valeur 0 DisableJavascript=Désactiver les fonctions Javascript et Ajax -DisableJavascriptNote=Remarque: à des fins de test ou de débogage. Pour une optimisation pour les personnes malvoyantes ou les navigateurs texte, il vaut mieux utiliser la configuration sur le profil utilisateur +DisableJavascriptNote=Note: For test or debug purpose only. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user UseSearchToSelectCompanyTooltip=Si vous avez un nombre important de tiers (>100 000), vous pourrez améliorer les performances en positionnant la constante COMPANY_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limité au début des chaines. UseSearchToSelectContactTooltip=Si vous avez un nombre important de contacts (>100 000), vous pourrez améliorer les performances en positionnant la constante CONTACT_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limité au début des chaines. DelaiedFullListToSelectCompany=Attendre que vous ayez appuyé sur une touche avant de charger le contenu de la liste déroulante des tiers.
    Cela peut augmenter les performances si vous avez un grand nombre de tiers, mais cela est moins convivial. @@ -84,6 +85,7 @@ NumberOfBytes=Nombre d'octets SearchString=Chaîne de recherche NotAvailableWhenAjaxDisabled=Non disponible quand Ajax est désactivé AllowToSelectProjectFromOtherCompany=Sur les éléments d'un tiers, autorise la sélection d'un projet lié à un autre tiers +TimesheetPreventAfterFollowingMonths=Empêcher l'enregistrement du temps consacré après le nombre de mois suivant JavascriptDisabled=Javascript désactivé UsePreviewTabs=Afficher les onglets "Aperçu" ShowPreview=Afficher aperçu @@ -116,6 +118,7 @@ MultiCurrencySetup=Configuration du module Multi-devise MenuLimits=Limites et précision MenuIdParent=Identifiant du menu parent DetailMenuIdParent=Identifiant du menu parent (vide pour un menu du haut) +ParentID=Id du parent DetailPosition=Numéro d'ordre déterminant la position du menu AllMenus=Tous NotConfigured=Module/Application non configuré @@ -130,7 +133,6 @@ IdModule=ID Module IdPermissions=ID Permissions LanguageBrowserParameter=Variable %s LocalisationDolibarrParameters=Paramètres de localisation -ClientTZ=Fuseau horaire client (utilisateur) ClientHour=Heure client (utilisateur) OSTZ=Fuseau horaire OS PHPTZ=Fuseau horaire serveur PHP @@ -158,7 +160,7 @@ Purge=Purger PurgeAreaDesc=Cette page vous permet d'effacer tous les fichiers construits ou stockés par Dolibarr (fichiers temporaires ou tous les fichiers du répertoire %s). L'utilisation de cette fonction n'est pas nécessaire. Elle est fournie pour les utilisateurs qui hébergent Dolibarr chez un hébergeur qui n'offre pas les permissions de supprimer les fichiers sauvegardés par le serveur Web. PurgeDeleteLogFile=Effacer les fichiers de traces de debug, incluant %s défini dans le module 'Journaux et traces' (pas de risque de perte de données) PurgeDeleteTemporaryFiles=Supprimer tous les fichiers journaux et temporaires (aucun risque de perte de données). Le paramètre peut être "tempfilesold", "logfiles" ou les deux "tempfilesold + logfiles". Remarque : la suppression des fichiers temporaires est effectuée uniquement si le répertoire temporaire qui le contient a été créé il y a plus de 24 heures. -PurgeDeleteTemporaryFilesShort=Effacer les fichiers de log et fichiers temporaires +PurgeDeleteTemporaryFilesShort=Delete log and temporary files (no risk of losing data) PurgeDeleteAllFilesInDocumentsDir=Effacer tous les fichiers du répertoire %s.
    Les fichiers temporaires mais aussi les fichiers «dumps» de sauvegarde de base de données, les fichiers joints aux éléments (tiers, factures, ...) ou fichiers stockés dans le module GED seront irrémédiablement effacés. PurgeRunNow=Lancer la purge maintenant PurgeNothingToDelete=Aucun dossier ou fichier à supprimer. @@ -207,7 +209,8 @@ FeatureDisabledInDemo=Fonction désactivée dans la démo FeatureAvailableOnlyOnStable=Fonction disponible uniquement sur les versions officielles stables BoxesDesc=Les widgets sont des composants montrant des informations que vous pouvez ajouter à vos pages pour les personnaliser. Vous pouvez choisir de les afficher ou non en sélectionnant la page cible et en cliquant sur "Activer" ou "Désactiver". OnlyActiveElementsAreShown=Seuls les éléments en rapport avec un module actif sont présentés. -ModulesDesc=Les modules Dolibarr définissent quelles fonctionnalités sont disponibles dans le logiciel. Certains modules / applications nécessitent, après activation, d'accorder des autorisations aux utilisateurs. Cliquez sur le bouton activé/désactivé %s pour activer un module/application. +ModulesDesc=Les modules/applications définissent quelles fonctionnalités sont disponibles dans le logiciel. Certains modules nécessitent d'accorder des permissions aux utilisateurs après leur activation. Cliquez sur le bouton Activer/Désactiver %s de chaque module pour activer ou désactiver un module/application. +ModulesDesc2=Cliquez sur l'icône de roue dentelée %s pour configurer le module/l'application. ModulesMarketPlaceDesc=D'autres modules/extensions sont disponibles en téléchargement sur des sites externes sur Internet... ModulesDeployDesc=Si les permissions de votre système de fichier le permettent , vous pouvez utiliser cet outil pour déployer un module externe. Le module sera alors visible dans l'onglet %s. ModulesMarketPlaces=Rechercher un module/application externe @@ -221,8 +224,8 @@ NotCompatible=Ce module n'est pas compatible avec votre version %s de Dolibarr ( CompatibleAfterUpdate=Ce module nécessite une mise à jour de Dolibarr %s (Version min. %s - Version max. %s). SeeInMarkerPlace=Voir dans la boutique SeeSetupOfModule=Voir la configuration du module %s +SetOptionTo=Définir l'option %s à %s Updated=Mise à jour effectuée -Nouveauté=Nouveauté AchatTelechargement=Acheter/télécharger GoModuleSetupArea=Pour déployer/installer un nouveau module, rendez vous dans la zone de configuration des modules : %s DoliStoreDesc=DoliStore, la place de marché officielle des modules et extensions complémentaires pour Dolibarr ERP/CRM @@ -371,8 +374,8 @@ UMask=Masque des nouveaux fichiers sous Unix/Linux/BSD/Mac. UMaskExplanation=Ce paramètre permet de définir les droits des fichiers créés sur le serveur par Dolibarr (lors d'envois par exemple).
    Ce doit être la valeur octale (par exemple 0666 signifie lecture/écriture pour tous).
    Ce paramètre n'a aucun effet sur un serveur Windows. SeeWikiForAllTeam=Voir le wiki pour le détail de tous les contributeurs et leur organisation UseACacheDelay= Délai de mise en cache de l'export en secondes (0 ou vide pour aucun cache) -DisableLinkToHelpCenter=Cacher le lien «Besoin d'aide ou d'assistance» sur la page de connexion -DisableLinkToHelp=Cacher le lien vers l'aide en ligne %s +DisableLinkToHelpCenter=Cacher le lien «Besoin d'aide ou assistance» sur la page de connexion +DisableLinkToHelp=Cacher le lien vers l'aide en ligne "%s" AddCRIfTooLong=Il n'y a pas de coupure de ligne automatique, aussi si votre texte est trop long sur les documents, il faudra ajouter vous même des retours chariot dans la zone de saisie du texte ConfirmPurge=Êtes-vous sûr de vouloir réaliser cette purge ?
    Ceci effacera définitivement tous vos fichiers (espace GED, pièces jointes, etc...). MinLength=Longueur minimale @@ -399,6 +402,7 @@ SecurityToken=Clé de sécurisation des URLs NoSmsEngine=Aucun gestionnaire d'envoi de SMS n'est disponible. Les gestionnaires d'envois SMS ne sont pas installés en standard, car dépendent d'un fournisseur externe, mais vous pourrez en trouver depuis la plateforme %s PDF=PDF PDFDesc=Options globales sur la génération des PDF +PDFOtherDesc=Option PDF spécifique à certains modules PDFAddressForging=Règles pour le contenu des sections Adresse HideAnyVATInformationOnPDF=Masquer toutes les informations relatives à la Taxe de vente / TVA sur les PDF générés PDFRulesForSalesTax=Règles pour la taxe de vente / TVA @@ -493,7 +497,7 @@ WarningPHPMail=AVERTISSEMENT: la configuration pour envoyer des e-mails à parti WarningPHPMailA= - L'utilisation des serveurs de prestataires de messagerie augmente le niveau confiance des e-mails, cela augmente donc les chances de délivrabilité en n'étant pas considéré comme spam. WarningPHPMailB=- Certains fournisseurs de services de messagerie (comme Yahoo) ne vous permettent pas d'envoyer un e-mail à partir d'un autre serveur que leur propre serveur. Votre configuration actuelle utilise le serveur de l'application pour envoyer des e-mails et non le serveur de votre fournisseur de messagerie, donc certains destinataires (ceux compatibles avec le protocole DMARC restrictif), demanderont à votre fournisseur de messagerie si ils peuvent accepter votre message et ce fournisseur de messagerie (comme Yahoo) peut répondre «non» parce que le serveur d'envoi n'est pas le leur, aussi une partie de vos e-mails envoyés peuvent ne pas être acceptés pour la livraison (faites également attention au quota d'envoi de votre fournisseur de messagerie). WarningPHPMailC=- Utiliser le serveur SMTP de votre propre fournisseur de services de messagerie pour envoyer des e-mails est également intéressant afin que tous les e-mails envoyés depuis l'application soient également enregistrés dans votre répertoire "Envoyés" de votre boîte aux lettres. -WarningPHPMailD=Si PHP est vraiment la méthode d'envoi des e-mails que vous avez choisi d'utiliser, supprimer cette alerte en activant à 1 la constante MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP dans Accueil - Configuration - Divers +WarningPHPMailD=Also, it is therefore recommended to change the sending method of e-mails to the value "SMTP". If you really want to keep the default "PHP" method to send emails, just ignore this warning, or remove it by setting the MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP constant to 1 in Home - Setup - Other. WarningPHPMail2=Si votre fournisseur de messagerie SMTP a besoin de restreindre le client de messagerie à certaines adresses IP (très rare), voici l'adresse IP du mail user agent (MUA) de votre application CRM ERP : %s . WarningPHPMailSPF=Si le nom de domaine de votre adresse e-mail d'expéditeur est protégé par un enregistrement SPF (demandez à votre fournisseur de nom de domaine), vous devez inclure les adresses IP suivantes dans l'enregistrement SPF du DNS de votre domaine: %s . ClickToShowDescription=Cliquer pour afficher la description @@ -512,6 +516,9 @@ Field=Champ ProductDocumentTemplates=Modèle de document pour la fiche produit FreeLegalTextOnExpenseReports=Mention complémentaire sur les notes de frais WatermarkOnDraftExpenseReports=Filigrane sur les notes de frais +ProjectIsRequiredOnExpenseReports=The project is mandatory for entering an expense report +PrefillExpenseReportDatesWithCurrentMonth=Pre-fill start and end dates of new expense report with start and end dates of the current month +ForceExpenseReportsLineAmountsIncludingTaxesOnly=Force the entry of expense report amounts always in amount with taxes AttachMainDocByDefault=Définissez cette valeur sur 1 si vous souhaitez joindre le document principal au courrier électronique par défaut (si applicable) FilesAttachedToEmail=Joindre le fichier SendEmailsReminders=Envoyer des rappels agenda par e-mails @@ -561,7 +568,7 @@ Module53Desc=Gestion des services Module54Name=Contrats/Abonnements Module54Desc=Gestion des contrats (services ou abonnements récurrents) Module55Name=Codes-barres -Module55Desc=Gestion des codes-barres +Module55Desc=Gestion de Code-barre ou QR Code Module56Name=Paiement par virement bancaire Module56Desc=Gestion des paiements de fournisseurs par virement bancaire. Est incluse la génération des fichiers SEPA pour les pays européens. Module57Name=Règlement par Prélèvement @@ -848,10 +855,10 @@ Permission402=Créer/modifier les avoirs Permission403=Valider les avoirs Permission404=Supprimer les avoirs Permission430=Utilisez la barre de débogage -Permission511=Lire ses paiements de salaires (le vôtres et ceux de vos subordonnées) -Permission512=Créer/modifier les règlements de salaires -Permission514=Supprimer les paiements de salaires -Permission517=Lire les paiements de salaires de tout le monde +Permission511=Lire les salaires et leur paiement (les vôtres et ceux de vos subordonnées) +Permission512=Créer/modifier les salaires et leur paiement +Permission514=Supprimer les salaires et leur paiement +Permission517=Lire les salaires et leur paiement de tout le monde Permission519=Exporter les salaires Permission520=Consulter les emprunts Permission522=Créer/Modifier les emprunts @@ -893,6 +900,11 @@ Permission1002=Créer/modifier entrepôts Permission1003=Supprimer entrepôts Permission1004=Consulter les mouvements de stocks Permission1005=Créer/modifier les mouvements de stocks +Permission1011=Voir les inventaires +Permission1012=Créer un nouvel inventaire +Permission1014=Valider l'inventaire +Permission1015=Autoriser à changer la valeur PMP d'un produit +Permission1016=Supprimer l'inventaire Permission1101=Lire les bons de réception Permission1102=Créer/modifier les bons de réception Permission1104=Valider les bons de réception @@ -965,6 +977,8 @@ Permission23003=Effacer travail planifié Permission23004=Exécuter travail planifié Permission50101=Utiliser le Point De Vente (SimplePOS) Permission50151=Utiliser le Point de Vente (TakePOS) +Permission50152=Modifier les lignes de vente +Permission50153=Modifier les lignes de vente commandées Permission50201=Consulter les transactions Permission50202=Importer les transactions Permission50330=Lire les objets de Zapier @@ -1028,7 +1042,7 @@ DictionaryFees=Note de frais - Types de lignes de notes de frais DictionarySendingMethods=Méthodes d'expédition DictionaryStaff=Effectifs DictionaryAvailability=Délai de livraison -DictionaryOrderMethods=Méthodes de commandes +DictionaryOrderMethods=Order methods DictionarySource=Origines des propales/commandes DictionaryAccountancyCategory=Groupes personalisés pour les rapports DictionaryAccountancysystem=Modèles de plan comptable @@ -1039,12 +1053,12 @@ DictionaryMeasuringUnits=Unités de mesure DictionarySocialNetworks=Réseaux sociaux DictionaryProspectStatus=Statut de prospection des sociétés DictionaryProspectContactStatus=Statut de prospection des contacts -DictionaryHolidayTypes=Type de congés +DictionaryHolidayTypes=Congé - Types de congé DictionaryOpportunityStatus=Statut d'opportunités pour les affaires/projets DictionaryExpenseTaxCat=Note de frais - catégories de déplacement DictionaryExpenseTaxRange=Note de frais - Tri par catégorie de déplacement DictionaryTransportMode=Déclaration d'échanges intracommunautaires - Mode de transport -DictionaryBatchStatus=État de qualité du lot/série (produits) +DictionaryBatchStatus=État du contrôle qualité du lot/série de produits TypeOfUnit=Type d'unité SetupSaved=Configuration sauvegardée SetupNotSaved=Configuration non enregistrée @@ -1161,7 +1175,8 @@ DoNotSuggestPaymentMode=Ne pas suggérer NoActiveBankAccountDefined=Aucun compte bancaire actif défini OwnerOfBankAccount=Propriétaire du compte %s BankModuleNotActive=Module comptes bancaires non activé -ShowBugTrackLink=Définir le lien "%s" (vide pour ne pas afficher ce lien, 'github' pour le lien vers le projet Dolibarr ou définir directement une url 'https:/...') +ShowBugTrackLink=Afficher le lien "%s" +ShowBugTrackLinkDesc=Keep empty to not display this link, use value 'github' for the link to the Dolibarr project or define directly an url 'https://...' Alerts=Alertes DelaysOfToleranceBeforeWarning=Délais avant affichage de l'avertissement alerte retard DelaysOfToleranceDesc=Cet écran permet de définir les délais de tolérance après lesquels une alerte sera signalée à l'écran par le pictogramme %s sur chaque élément en retard. @@ -1186,9 +1201,12 @@ SetupDescription2=Les deux étapes obligatoires sont les deux premières entrée SetupDescription3=%s -> %s

    Paramètres basiques pour personnaliser le comportement par défaut du logiciel (comportement lié au pays par exemple). SetupDescription4= %s -> %s

    Ce logiciel est un ensemble de plusieurs modules/applications. Les fonctionnalités en rapport avec vos besoins doivent être activées et configurées. Les entrées menus seront ajoutées avec l'activation de ces modules. SetupDescription5=Les autres entrées de configuration gèrent des paramètres facultatifs. +SetupDescriptionLink= %s - %s +SetupDescription3b=Paramètres de base utilisés pour personnaliser le comportement par défaut de votre application (par exemple pour les fonctionnalités liées au pays). +SetupDescription4b=Ce logiciel est une suite de nombreux modules/applications. Les modules liés à vos besoins doivent être activés et configurés. Les entrées de menu apparaîtront avec l'activation de ces modules. AuditedSecurityEvents=Événements de sécurité audités NoSecurityEventsAreAduited=Aucun événement de sécurité n'est audité. Vous pouvez les activer à partir du menu %s -Audit=Audit de sécurité +Audit=Événements de sécurité InfoDolibarr=Infos Dolibarr InfoBrowser=Infos navigateur InfoOS=Infos OS @@ -1208,7 +1226,7 @@ SystemAreaForAdminOnly=Cet espace n'est accessible qu'aux utilisateurs de type a CompanyFundationDesc=Modifiez les informations de votre société/organisation. Cliquez sur le bouton "%s" en bas de page pour sauvegarder. AccountantDesc=Si vous avez un comptable externe, vous pouvez saisir ici ses informations. AccountantFileNumber=Code comptable -DisplayDesc=Vous pouvez choisir ici tous les paramètres liés à l'apparence de Dolibarr +DisplayDesc=Les paramètres affectant l'apparence et la présentation de l'application peuvent être modifiés ici. AvailableModules=Modules/applications disponibles ToActivateModule=Pour activer des modules, aller dans l'espace Configuration (Accueil->Configuration->Modules). SessionTimeOut=Délai expiration des sessions @@ -1256,11 +1274,11 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=Vous devez exécuter la command YourPHPDoesNotHaveSSLSupport=Fonctions SSL non présentes dans votre PHP DownloadMoreSkins=Plus de thèmes à télécharger SimpleNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0. -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Afficher l'identifiant professionnel dans les adresses sur les documents -ShowVATIntaInAddress=Cacher le numéro de TVA Intracommunautaire dans les adresses sur les documents. +SimpleNumRefNoDateModelDesc=Renvoie le numéro de référence au format %s-nnnn où nnnn est un nombre séquentiel autoincrémenté sans réinitialisation +ShowProfIdInAddress=Afficher l'identifiant professionnel dans les adresses +ShowVATIntaInAddress=Masquer le numéro de TVA intracommunautaire TranslationUncomplete=Traduction partielle -MAIN_DISABLE_METEO=Désactiver la vue météo +MAIN_DISABLE_METEO=Désactiver la vignette météo MeteoStdMod=Mode standard MeteoStdModEnabled=Mode standard activé MeteoPercentageMod=Mode pourcentage @@ -1320,14 +1338,18 @@ ConditionIsCurrently=La condition est actuellement %s YouUseBestDriver=Vous utilisez le driver %s qui est le driver recommandé actuellement. YouDoNotUseBestDriver=Vous utilisez le pilote %s mais le pilote %s est recommandé. NbOfObjectIsLowerThanNoPb=Vous avez seulement %s %s dans la base de données. Cela ne nécessite aucune optimisation particulière. +ComboListOptim=Optimisation du chargement des listes déroulantes SearchOptim=Optimisation des recherches -YouHaveXObjectUseSearchOptim=Vous avez %s %s dans la base de données. Vous devez ajouter la constante %s à 1 dans Accueil-Configuration-Autre. Ceci limite la recherche au début des chaînes, ce qui permet à la base de données d'utiliser des index et vous devriez obtenir une réponse immédiate. -YouHaveXObjectAndSearchOptimOn=Vous avez %s %s dans la base de données et la constante %s est définie sur 1 dans Accueil-Configuration-Autre. +YouHaveXObjectUseComboOptim=Vous avez %s %s dans la base de données. Vous pouvez accéder à la configuration du module pour activer le chargement de la liste déroulante par une touche du clavier. +YouHaveXObjectUseSearchOptim=Vous avez %s %s dans la base de données. Vous pouvez ajouter la constante %s définie sur 1 dans Accueil-Configuration-Autre. +YouHaveXObjectUseSearchOptimDesc=Ceci limite la recherche au début des chaînes, ce qui permet à la base de données d'utiliser des index et vous devriez obtenir une réponse immédiate. +YouHaveXObjectAndSearchOptimOn=Vous avez %s %s dans la base de données et la constante %s est définie sur %s dans Accueil-Configuration-Autre. BrowserIsOK=Vous utilisez le navigateur Web %s. Ce navigateur est correct pour la sécurité et la performance. BrowserIsKO=Vous utilisez le navigateur %s. Ce navigateur est déconseillé pour des raisons de sécurité, performance et qualité des pages restituées. Nous vous recommandons d'utiliser Firefox, Chrome, Opera ou Safari. PHPModuleLoaded=Le composant PHP %s est chargé PreloadOPCode=Le code OP préchargé est utilisé AddRefInList=Afficher les références client/fournisseur dans les listes (listes déroulantes ou à autocomplétion) et les libellés des liens clicables.
    Les tiers apparaîtront alors sous la forme "CC12345 - SC45678 - La big company coorp", au lieu de "La big company coorp". +AddVatInList=Display Customer/Vendor VAT number. info list (select list or combobox). AddAdressInList=Affiche les informations sur l’adresse du client/fournisseur (liste de sélection ou liste déroulante)
    Les tiers apparaîtront avec le format de nom suivant: "The Big Company corp. - 21, rue du saut 123456 Big town - USA" au lieu de "The Big Company corp". AddEmailPhoneTownInContactList=Afficher l'adresse e-mail du contact (ou les téléphones si non définis) et la ville
    Les contacts apparaîtront avec un nom au format "Dupond Durand - dupond.durand@email.com - Paris" ou "Dupond Durand - 06 07 59 65 66 - Paris" au lieu de "Dupond Durand". AskForPreferredShippingMethod=Demander la méthode d'expédition préférée pour les Tiers @@ -1359,7 +1381,7 @@ AccountCodeManager=Options pour la génération automatique de codes comptable c NotificationsDesc=Les notifications activent l'envoi d'e-mails automatiques pour certains événements de Dolibarr. L'envoi de ces e-mails automatiques peut-être défini : NotificationsDescUser=* par utilisateur, pour chaque utilisateur NotificationsDescContact=* par contacts de tiers (clients ou fournisseur), pour chaque contact -NotificationsDescGlobal=* ou en définissant des emails cibles fixes sur la page de configuration du module. +NotificationsDescGlobal=* ou en définissant des adresses e-mail globales dans la page de configuration du module. ModelModules=Modèle de documents DocumentModelOdt=Génération depuis des modèles OpenDocument (Fichier .ODT ou .ODS LibreOffice, KOffice, TextEdit…) WatermarkOnDraft=Filigrane sur les documents brouillons @@ -1434,6 +1456,7 @@ MemberMainOptions=Options principales AdherentLoginRequired= Gérer un identifiant pour chaque adhérent AdherentMailRequired=Email obligatoire pour créer un nouvel adhérent MemberSendInformationByMailByDefault=Case à cocher pour envoyer un email de confirmation (validation ou nouvelle cotisation) aux adhérents est à oui par défaut. +MemberCreateAnExternalUserForSubscriptionValidated=Créer un utilisateur externe pour chaque nouvelle cotisation adhérent validée VisitorCanChooseItsPaymentMode=Le visiteur peut choisir parmi les modes de paiement disponibles MEMBER_REMINDER_EMAIL=Activer le rappel automatique par e-mail des adhésions expirées. Remarque: le module %s doit être activé et configuré correctement pour qu'un rappel soit envoyé. MembersDocModules=Modèle de document pour le document généré depuis la fiche d'un adhérent @@ -1458,10 +1481,10 @@ LDAPSynchronizeMembersTypes=Types d'adhérents de l'annuaire LDAP de l'associati LDAPPrimaryServer=Serveur primaire LDAPSecondaryServer=Serveur secondaire LDAPServerPort=Port du serveur -LDAPServerPortExample=Port par défaut : 389 +LDAPServerPortExample=Standard or StartTLS: 389, LDAPs: 636 LDAPServerProtocolVersion=Version du protocole LDAPServerUseTLS=Utiliser TLS -LDAPServerUseTLSExample=Votre serveur utilise le TLS +LDAPServerUseTLSExample=Your LDAP server use StartTLS LDAPServerDn=DN du serveur LDAPAdminDn=DN de l'administrateur LDAPAdminDnExample=Direction complète (exemple : cn = admin, dc = exemple, dc = com ou cn = Adminitrateur, cn = utilisateurs, dc = exemple, dc = com pour active directory) @@ -1584,7 +1607,7 @@ NotInstalled=Non installé. NotSlowedDownByThis=Non ralenti par cela. NotRiskOfLeakWithThis=Pas de risque de fuite de données avec cela. ApplicativeCache=Cache applicatif -MemcachedNotAvailable=Aucun cache applicatif trouvé. Vous pouvez accélérer les performances de Dolibarr en installant un serveur de cache Memcached et un module de cache applicatif exploitant ce serveur.
    Plus d'info ici https://wiki.dolibarr.org/index.php/Module_MemCached.
    Notez que de nombreux hébergeurs low-cost ne fournissent pas de tels serveurs de cache dans leur infrastructure. +MemcachedNotAvailable=Aucun cache applicatif trouvé. Vous pouvez accélérer les performances de Dolibarr en installant un serveur de cache Memcached et un module de cache applicatif exploitant ce serveur.
    Plus d'info icihttps://wiki.dolibarr.org/index.php/Module_MemCached.
    Notez que de nombreux hébergeurs low-cost ne fournissent pas de tels serveurs de cache dans leur infrastructure. MemcachedModuleAvailableButNotSetup=Le module memcached pour le cache applicatif a été trouvé mais la configuration de ce module n'est pas complète. MemcachedAvailableAndSetup=Le module memcached dédié à l'utilisation du serveur de cache memcached est activé. OPCodeCache=Cache OPCode @@ -1611,8 +1634,7 @@ ProductSetup=Configuration du module Produits ServiceSetup=Configuration du module Services ProductServiceSetup=Configuration des modules Produits et Services NumberOfProductShowInSelect=Nombre maximum de produits dans les listes déroulantes (0=aucune limite) -ViewProductDescInFormAbility=Afficher les descriptions de produits dans les formulaires (sinon, comme info-bulle contextuelle) -DoNotAddProductDescAtAddLines=Ne pas ajouter la description du produit (saisie sur sa fiche) à l'ajout d'un produit +ViewProductDescInFormAbility=Display product descriptions in lines of items (otherwise show description in a tooltip popup) OnProductSelectAddProductDesc=Comment utiliser la description des produits lors de l'ajout d'un produit en tant que ligne d'un document AutoFillFormFieldBeforeSubmit=Remplir automatiquement le champ description avec la description du produit DoNotAutofillButAutoConcat=Ne pas remplir automatiquement le champ de saisie avec la description du produit. La description du produit sera concaténée automatiquement avec la description saisie. @@ -1691,8 +1713,10 @@ FreeLegalTextOnDeliveryReceipts=Mention complémentaire sur les bons de récepti ##### FCKeditor ##### AdvancedEditor=Editeur avancé ActivateFCKeditor=Activer l'éditeur avancé pour : -FCKeditorForCompany=Création/édition WYSIWIG de la description et note des éléments (autre que produits/services) -FCKeditorForProduct=Création/édition WYSIWIG de la description et note des produits/services +FCKeditorForNotePublic=WYSIWIG creation/edition of the field public notes of elements +FCKeditorForNotePrivate=WYSIWIG creation/edition of the field private notes of elements +FCKeditorForCompany=WYSIWIG creation/edition of the field description of elements (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of the field description of products/services FCKeditorForProductDetails=Création/édition WYSIWYG des lignes de détails produits sur tous les éléments (commandes, propales, factures, etc...). Attention: L'utilisation pour ce cas est fortement déconseillée car peut créer des problèmes dans la gestion de caractères et mise en page des fichiers PDF générés. FCKeditorForMailing= Création/édition WYSIWIG des emailings (Outils->Emailings) FCKeditorForUserSignature=Création/édition WYSIWIG de la signature des utilisateurs @@ -1764,14 +1788,14 @@ AGENDA_DEFAULT_VIEW=Quel onglet voulez-vous voir ouvrir par défaut quand on cho AGENDA_REMINDER_BROWSER=Activer le rappel d'événement sur le navigateur de l'utilisateur (lorsque la date de l'événement est atteinte, une popup est affichée sur la navigateur. Chaque utilisateur peut désactiver de telles notification depuis la configuration des notifications de son navigateur) AGENDA_REMINDER_BROWSER_SOUND=Activer les notifications sonores. AGENDA_REMINDER_EMAIL=Activer le rappel d'événement par e-mail (l'option de rappel / délai peut être défini pour chaque événement). -AGENDA_REMINDER_EMAIL_NOTE=Note : la fréquence d'exécution de la tâche %s doit être suffisante pour être sûr que le rappel soit envoyé au bon moment.. +AGENDA_REMINDER_EMAIL_NOTE=Note : la fréquence d'exécution de la tâche %s doit être suffisante pour que le rappel soit envoyé au bon moment. AGENDA_SHOW_LINKED_OBJECT=Afficher l'objet lié dans la vue agenda ##### Clicktodial ##### ClickToDialSetup=Configuration du module Click To Dial ClickToDialUrlDesc=URL appelée quand un clic sur l'icône téléphone est fait. Dans l'URL, vous pouvez utiliser les tags
    __PHONETO__ qui sera remplacée par le numéro de téléphone de la personne à appeler
    __PHONEFROM__ qui sera remplacée par le numéro de l'appelant (vous)
    __LOGIN__ qui sera remplacée par l'identifiant d'accès de l'utilisateur à l'application d'appel (à définir sur la fiche utilisateur) et
    __PASS__ qui sera remplacée par le mot de passe d'accès de l'utilisateur à l'application d'appel (également à définir sur la fiche utilisateur). ClickToDialDesc=Ce module permet de rendre les numéros de téléphone cliquables lorsque vous utilisez l'application sur un ordinateur de bureau. Un clic sur cette icône composera le numéro de téléphone. Cela peut être utilisé pour commencer une conversation avec un soft phone sur votre bureau ou lorsque vous utilisez un système basé sur le protocole SIP par exemple. Note: Sur un smartphone, les numéros de téléphones sont toujours clicables. ClickToDialUseTelLink=Utiliser un lien "tel:" sur les numéros de téléphone -ClickToDialUseTelLinkDesc=Utilisez cette méthode si vos utilisateurs ont un softphone ou une interface de logiciel installé sur un même ordinateur que le navigateur, et a appelé lorsque vous cliquez sur un lien dans votre navigateur qui commencent par "tel:". Si vous avez besoin d'une solution de serveur complet (pas besoin d'installation locale du logiciel), vous devez définir ceci à "Non" et remplir le champ suivant. +ClickToDialUseTelLinkDesc=Utilisez cette méthode si vos utilisateurs disposent d'un softphone ou d'une interface logicielle, installés sur le même ordinateur que le navigateur, et appelés lorsque vous cliquez sur un lien commençant par "tel:" dans votre navigateur. Si vous avez besoin d'un lien commençant par "sip:" ou d'une solution via un serveur (pas besoin d'installation de logiciel local), vous devez définir ce champ sur "Non" et remplir le champ suivant. ##### Point Of Sale (CashDesk) ##### CashDesk=Point de Vente CashDeskSetup=Configuration du module Point de vente/caisse enregistreuse @@ -1905,7 +1929,7 @@ SellTaxRate=Taux de TVA RecuperableOnly=Oui pour une TVA "Non Perçue mais Récupérable" dédiée à certains pays comme la France. Gardez la valeur à "Non" dans tous les autres cas. UrlTrackingDesc=Si le fournisseur ou le service de transport offrent une page ou un site Web pour vérifier l'état de l'expédition, vous pouvez l'entrer ici. Vous pouvez utiliser la clé {TRACKID} dans les paramètres d'URL afin que le système la remplace par la valeur du numéro de suivi entré sur la fiche d'expédition. OpportunityPercent=Lorsque vous créez une opportunité, vous pouvez ďéfinir un montant estimatif de projet/affaire. Selon le statut de l'opportunité, ce montant peut être multiplié par ce taux pour évaluer le montant probable que vos opportunités sont susceptibles de générer. La valeur est un pourcentage (entre 0 et 100). -TemplateForElement=Cet enregistrement modèle est dédié à quel élément +TemplateForElement=This mail template is related to what type of object? An email template is available only when using the "Send Email" button from the related object. TypeOfTemplate=Type de modèle TemplateIsVisibleByOwnerOnly=Le modèle est visible par le propriétaire seulement VisibleEverywhere=Visible partout @@ -1980,6 +2004,14 @@ MAIN_PDF_MARGIN_RIGHT=Marge droite sur les PDF MAIN_PDF_MARGIN_TOP=Marge haute sur les PDF MAIN_PDF_MARGIN_BOTTOM=Marge bas sur les PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Hauteur du logo sur les PDFs +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Ajouter une image à la ligne de proposition +MAIN_PDF_NO_SENDER_FRAME=Masquer les bordures dans le cadre de l'adresse de l'expéditeur +MAIN_PDF_NO_RECIPENT_FRAME=Masquer les bordures dans le cadre de l'adresse du destinataire +MAIN_PDF_HIDE_CUSTOMER_CODE=Masquer le code client +MAIN_PDF_HIDE_SENDER_NAME=Masquer l'expéditeur/le nom de l'entreprise dans le bloc d'adresse +PROPOSAL_PDF_HIDE_PAYMENTTERM=Masquer les conditions de paiement +PROPOSAL_PDF_HIDE_PAYMENTMODE=Masquer le mode de paiement +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Ajouter une signature électronique au PDF NothingToSetup=Aucune configuration particulière n'est requise pour ce module. SetToYesIfGroupIsComputationOfOtherGroups=Réglez ceci sur Oui si ce groupe est un calcul d'autres groupes EnterCalculationRuleIfPreviousFieldIsYes=Entrez la règle de calcul si le champ précédent a été défini sur Oui.
    Par exemple:
    CODEGRP1 + CODEGRP2 @@ -2065,7 +2097,7 @@ UseDebugBar=Utilisez la barre de débogage DEBUGBAR_LOGS_LINES_NUMBER=Nombre de dernières lignes de logs à conserver dans la console WarningValueHigherSlowsDramaticalyOutput=Attention, les valeurs élevées ralentissent considérablement les affichages ModuleActivated=Le module %s est activé et ralentit l'interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) +ModuleActivatedWithTooHighLogLevel=Le module %s est activé avec un niveau de journalisation trop élevé (essayez d’utiliser un niveau inférieur pour de meilleures performances et sécurité) ModuleSyslogActivatedButLevelNotTooVerbose=Le module %s est activé et le niveau de journalisation (%s) est correct (pas trop verbeux) IfYouAreOnAProductionSetThis=Sur un environnement de production, vous devriez régler ce paramètre sur %s. AntivirusEnabledOnUpload=Antivirus activé sur le téléversement des fichiers @@ -2079,7 +2111,7 @@ LargerThan=Plus grand que IfTrackingIDFoundEventWillBeLinked=Notez que si un ID de suivi d'un objet est trouvé dans le courrier électronique, ou si l'email est une réponse d'un email déjà collecté et lié à un objet, l'événement sera aussi automatiquement lié à l'objet en question. WithGMailYouCanCreateADedicatedPassword=Avec un compte GMail, si vous avez activé la validation en 2 étapes, il est recommandé de créer un deuxième mot de passe dédié à l'application, au lieu d'utiliser votre propre mot de passe de compte, à partir de https://myaccount.google.com/. EmailCollectorTargetDir=Il peut être souhaitable de déplacer l'e-mail dans un autre tag/répertoire lorsqu'il a été traité avec succès. Définissez simplement une valeur ici pour utiliser cette fonction (N'utilisez PAS de caractères spéciaux dans le nom). Notez que vous devez également utiliser un compte de connexion en lecture/écriture. -EmailCollectorLoadThirdPartyHelp=Vous pouvez utiliser cette action pour utiliser le contenu de l'e-mail pour rechercher et charger un tiers existant dans votre base de données. Le tiers trouvé (ou créé) sera utilisée pour les actions suivantes qui en ont besoin. Dans le champ 'Paramètre', vous pouvez utiliser par exemple 'EXTRACT: BODY:Name:\\s([^\\s]*)' si vous souhaitez extraire le nom du tiers d'une chaîne 'Name: nom du tiers' trouvé dans le corps du message. +EmailCollectorLoadThirdPartyHelp=Vous pouvez utiliser cette action pour utiliser le contenu de l'e-mail pour rechercher et charger un tiers existant dans votre base de données. Le tiers trouvé (ou créé) sera utilisé pour les actions suivantes qui en ont besoin.
    Par exemple, si vous souhaitez créer un tiers avec un nom extrait une chaîne 'Nom : nom à trouver' trouvée dans le corps, utilisez l'e-mail de l'expéditeur comme e-mail, vous pouvez définir le champ de paramètre comme ceci :
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;' EndPointFor=Endpoint pour %s: %s DeleteEmailCollector=Supprimer le collecteur d'email ConfirmDeleteEmailCollector=Êtes-vous sûr de vouloir supprimer ce collecteur d'email ? @@ -2097,7 +2129,6 @@ PDF_SHOW_PROJECT=Afficher le projet sur le document ShowProjectLabel=Libellé du projet PDF_USE_ALSO_LANGUAGE_CODE=Si vous souhaitez que certains textes de votre PDF soient dupliqués dans 2 langues différentes dans le même PDF généré, vous devez définir ici cette deuxième langue pour que le PDF généré contienne 2 langues différentes dans la même page, celle choisie lors de la génération du PDF et celle-ci (seuls quelques modèles PDF prennent en charge cette fonction). Gardez vide pour 1 langue par PDF. FafaIconSocialNetworksDesc=Entrez ici le code d'une icône FontAwesome. Si vous ne savez pas ce qu'est FontAwesome, vous pouvez utiliser la valeur générique fa-address-book. -FeatureNotAvailableWithReceptionModule=Fonction non disponible lorsque le module Réception est activée RssNote=Remarque: Chaque définition de flux RSS fournit un widget que vous devez activer pour qu'il soit disponible dans le tableau de bord JumpToBoxes=Aller à la Configuration -> Widgets MeasuringUnitTypeDesc=Utilisez ici une valeur comme "size", "surface", "volume", "weight", "time" @@ -2119,14 +2150,48 @@ AskThisIDToYourBank=Contacter votre établissement bancaire pour obtenir ce code AdvancedModeOnly=Autorisation disponible en mode Autorisations avancées uniquement ConfFileIsReadableOrWritableByAnyUsers=Le fichier conf est lisible ou inscriptible par tous les utilisateurs. Donnez l'autorisation à l'utilisateur et au groupe du serveur Web uniquement. MailToSendEventOrganization=Organisation d'événements +MailToPartnership=Partenariat AGENDA_EVENT_DEFAULT_STATUS=État de l’événement par défaut lors de la création d’un événement à partir du formulaire YouShouldDisablePHPFunctions=Vous devriez désactiver les fonctions PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Sauf si vous avez besoin d’exécuter des commandes système (pour le module Tâche planifiée, ou pour exécuter l'Anti-virus externe en ligne de commande par exemple), vous devriez désactiver les fonctions PHP +IfCLINotRequiredYouShouldDisablePHPFunctions=Sauf si vous avez besoin de lancer des commandes système, vous devriez désactiver les fonctions PHP +PHPFunctionsRequiredForCLI=Pour un interfaçage (comme des tâches de sauvegarde planifiée ou pour lancer un programme antivirus), vous devez garder les fonctions PHP NoWritableFilesFoundIntoRootDir=Aucun fichier ou répertoire des programmes courants n’a été trouvé en écriture dans votre répertoire racine (Bon) RecommendedValueIs=Recommandé : %s -ARestrictedPath=Un chemin restreint +Recommended=Recommandé +NotRecommended=Non recommandé +ARestrictedPath=Some restricted path CheckForModuleUpdate=Vérifier les mises à jour des modules externes CheckForModuleUpdateHelp=Cette action se connecte aux éditeurs des modules externes pour vérifier si une nouvelle version est disponible. ModuleUpdateAvailable=Une mise à jour est disponible NoExternalModuleWithUpdate=Aucune mise à jour trouvée pour les modules externes SwaggerDescriptionFile=Fichier de description de l’API Swagger (à utiliser avec redoc par exemple) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Vous avez activé l'API WS qui est dépréciée. Vous devriez utiliser l'API REST à la place. +RandomlySelectedIfSeveral=Sélectionnée au hasard si plusieurs images sont disponibles +DatabasePasswordObfuscated=Le mot de passe de la base de données est masqué dans le fichier de configuration +DatabasePasswordNotObfuscated=Le mot de passe de la base de données n'est PAS masqué dans le fichier de configuration +APIsAreNotEnabled=Les modules API ne sont pas activés +YouShouldSetThisToOff=Vous devriez mettre ceci à 0 ou off +InstallAndUpgradeLockedBy=L'installation et les mises à jour sont verrouillées par le fichier %s +OldImplementation=Ancienne implémentation +PDF_SHOW_LINK_TO_ONLINE_PAYMENT=Si certains modules de paiement en ligne sont activés (Paypal, Stripe, ...), ajouter un lien sur le PDF pour effectuer le paiement en ligne +DashboardDisableGlobal=Disable globally all the thumbs of open objects +BoxstatsDisableGlobal=Disable totally box statistics +DashboardDisableBlocks=Thumbs of open objects (to process or late) on main dashboard +DashboardDisableBlockAgenda=Disable the thumb for agenda +DashboardDisableBlockProject=Disable the thumb for projects +DashboardDisableBlockCustomer=Disable the thumb for customers +DashboardDisableBlockSupplier=Disable the thumb for suppliers +DashboardDisableBlockContract=Disable the thumb for contracts +DashboardDisableBlockTicket=Disable the thumb for tickets +DashboardDisableBlockBank=Disable the thumb for banks +DashboardDisableBlockAdherent=Disable the thumb for memberships +DashboardDisableBlockExpenseReport=Disable the thumb for expense reports +DashboardDisableBlockHoliday=Disable the thumb for leaves +EnabledCondition=Condition to have field enabled (if not enabled, visibility will always be off) +IfYouUseASecondTaxYouMustSetYouUseTheMainTax=If you want to use a second tax, you must enable also the first sale tax +IfYouUseAThirdTaxYouMustSetYouUseTheMainTax=If you want to use a third tax, you must enable also the first sale tax +LanguageAndPresentation=Language and presentation +SkinAndColors=Skin and colors +IfYouUseASecondTaxYouMustSetYouUseTheMainTax=If you want to use a second tax, you must enable also the first sale tax +IfYouUseAThirdTaxYouMustSetYouUseTheMainTax=If you want to use a third tax, you must enable also the first sale tax +PDF_USE_1A=Generate PDF with PDF/A-1b format diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index 0b4afd8e06e..496059137fe 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -38,6 +38,7 @@ ActionsEvents=Événements pour lesquels Dolibarr doit insérer un évènement d EventRemindersByEmailNotEnabled=Les rappels d'événement par email n'ont pas été activés dans la configuration du module %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Tiers %s créé +COMPANY_MODIFYInDolibarr=Le tiers %s a été modifié COMPANY_DELETEInDolibarr=Tiers %s supprimé ContractValidatedInDolibarr=Contrat %s validé CONTRACT_DELETEInDolibarr=Contrat %s supprimé @@ -63,6 +64,7 @@ ShipmentClassifyClosedInDolibarr=Expédition %s classée payée ShipmentUnClassifyCloseddInDolibarr=Expédition %s réouverte ShipmentBackToDraftInDolibarr=Expédition %s remise au statut brouillon ShipmentDeletedInDolibarr=Expédition %s supprimée +ShipmentCanceledInDolibarr=Shipment %s canceled ReceptionValidatedInDolibarr=Réception %s validée OrderCreatedInDolibarr=Commande %s créée OrderValidatedInDolibarr=Commande %s validée @@ -87,6 +89,7 @@ OrderDeleted=Commande supprimée InvoiceDeleted=Facture supprimée DraftInvoiceDeleted=Facture brouillon supprimée CONTACT_CREATEInDolibarr=Contact/Adresse %s créé +CONTACT_MODIFYInDolibarr=Le contact %s a été modifié CONTACT_DELETEInDolibarr=Contact/Adresse %s supprimé PRODUCT_CREATEInDolibarr=Produit %s créé PRODUCT_MODIFYInDolibarr=Produit %s modifié @@ -168,3 +171,4 @@ ReminderType=Type de rappel AddReminder=Créer une notification de rappel automatique pour cet événement ErrorReminderActionCommCreation=Erreur lors de la création de la notification de rappel pour cet événement BrowserPush=Notification par Popup navigateur +ActiveByDefault=Activé par défaut diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index e6085517629..ab93348faaf 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Paiement de charge fiscale/sociale BankTransfer=Virement bancaire BankTransfers=Virements bancaire MenuBankInternalTransfer=Virement interne -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Utilisez le virement interne pour effectuer un transfert d'un compte à un autre, l'application écrira deux enregistrements : un débit sur le compte source et un crédit sur le compte cible. Le même montant, le même libellé et la même date seront utilisés pour cette transaction. TransferFrom=De TransferTo=Vers TransferFromToDone=Le virement depuis %s vers %s de %s %s a été créé. CheckTransmitter=Émetteur ValidateCheckReceipt=Valider ce bordereau de remise de chèques ? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Supprimer ce bordereau de remise ? ConfirmDeleteCheckReceipt=Êtes-vous sûr de vouloir supprimer ce bordereau ? BankChecks=Chèques @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Êtes-vous sûr de vouloir supprimer cette écriture ? ThisWillAlsoDeleteBankRecord=Ceci supprimera aussi les écritures bancaires générées BankMovements=Mouvements PlannedTransactions=Écritures prévues -Graph=Graphs +Graph=Graphiques ExportDataset_banque_1=Écritures bancaires et relevés ExportDataset_banque_2=Bordereaux de remises de chèques TransactionOnTheOtherAccount=Écriture sur l'autre compte @@ -142,7 +142,7 @@ AllAccounts=Tous les comptes bancaires et caisses BackToAccount=Retour au compte ShowAllAccounts=Afficher pour tous les comptes FutureTransaction=Transaction future. Pas moyen de rapprocher. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Sélectionner/filtrer les chèques à inclure dans le bordereau de remise de chèque et cliquer sur "Créer". InputReceiptNumber=Choisissez le relevé bancaire liés au rapprochement. Utilisez une valeur numérique triable: AAAAMM ou AAAAMMJJ EventualyAddCategory=Eventuellement, saisissez une catégorie dans laquelle classer les écritures ToConciliate=A rapprocher ? diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 6fd0827698c..f8735a8e417 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -60,7 +60,7 @@ SupplierBill=Facture fournisseur SupplierBills=Factures fournisseur Payment=Règlement PaymentBack=Remboursement -CustomerInvoicePaymentBack=Rembourser +CustomerInvoicePaymentBack=Remboursement Payments=Règlements PaymentsBack=Remboursements paymentInInvoiceCurrency=Dans la devise des factures @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=Convertir le trop-payé en crédit disponible EnterPaymentReceivedFromCustomer=Saisie d'un règlement reçu du client EnterPaymentDueToCustomer=Saisie d'un remboursement d'un avoir client DisabledBecauseRemainderToPayIsZero=Désactivé car reste à payer est nul -PriceBase=Base price +PriceBase=Base de prix BillStatus=État de la facture StatusOfGeneratedInvoices=Statut des factures générées BillStatusDraft=Brouillon (à valider) @@ -234,12 +234,17 @@ AlreadyPaidBack=Déjà remboursé AlreadyPaidNoCreditNotesNoDeposits=Déjà réglé (hors avoirs et acomptes) Abandoned=Abandonné RemainderToPay=Reste à payer +RemainderToPayMulticurrency=Reste impayé, devise d'origine RemainderToTake=Montant restant à percevoir +RemainderToTakeMulticurrency=Montant restant à encaisser, devise d'origine RemainderToPayBack=Montant restant à rembourser +RemainderToPayBackMulticurrency=Montant restant à rembourser, devise d'origine Rest=Créance AmountExpected=Montant réclamé ExcessReceived=Trop perçu +ExcessReceivedMulticurrency=Excédent reçu, devise d'origine ExcessPaid=Excédent payé +ExcessPaidMulticurrency=Excédent payé, devise d'origine EscompteOffered=Escompte (règl. avt échéance) EscompteOfferedShort=Escompte SendBillRef=Envoi de la facture %s @@ -259,6 +264,8 @@ DateMaxPayment=Date limite règlement DateInvoice=Date facturation DatePointOfTax=Date elligibilitée taxe NoInvoice=Aucune facture +NoOpenInvoice=Pas de facture ouverte +NbOfOpenInvoices=Number of open invoices ClassifyBill=Classer la facture SupplierBillsToPay=Factures fournisseurs impayées CustomerBillsUnpaid=Factures clients impayées @@ -454,7 +461,7 @@ RegulatedOn=Réglé le ChequeNumber=Chèque N° ChequeOrTransferNumber=Chèque/Virement N° ChequeBordereau=Vérifier -ChequeMaker=Check/Transfer sender +ChequeMaker=Émetteur du chèque/virement ChequeBank=Banque du chèque CheckBank=Chèque NetToBePaid=Net à payer @@ -569,7 +576,7 @@ ToCreateARecurringInvoiceGene=Pour générer de futures factures régulièrement ToCreateARecurringInvoiceGeneAuto=Si vous avez besoin que de telles factures soient générées automatiquement, demandez à votre administrateur d'activer et configurer le module %s. Notez que les deux méthodes de générations de factures (manuelles et automatiques) peuvent être utilisées en cohabitation sans risque de création de doublon. DeleteRepeatableInvoice=Supprimer facture modèle ConfirmDeleteRepeatableInvoice=Est-ce votre sûr de vouloir supprimer la facture modèle ? -CreateOneBillByThird=Créer une facture par tiers (sinon, une facture par commande) +CreateOneBillByThird=Créer une facture par tiers (sinon, une facture par objet sélectionné) BillCreated=%s facture(s) générée(s) BillXCreated=Facture %s générée StatusOfGeneratedDocuments=Statut de génération du document @@ -589,3 +596,6 @@ FacParentLine=Ligne de facture parente SituationTotalRayToRest=Reste à payer HT PDFSituationTitle=Situation n°%d SituationTotalProgress=Avancement total %d %% +SearchUnpaidInvoicesWithDueDate=Rechercher les factures impayées avec date d'échéance = %s +NoPaymentAvailable=Aucun paiement disponible pour %s +PaymentRegisteredAndInvoiceSetToPaid=Paiement enregistré et facture %s passée à payée diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang index a70ab75ca55..a73b8965302 100644 --- a/htdocs/langs/fr_FR/boxes.lang +++ b/htdocs/langs/fr_FR/boxes.lang @@ -46,11 +46,11 @@ BoxMyLastBookmarks=Mes %s derniers marque-pages BoxOldestExpiredServices=Plus anciens services expirés BoxLastExpiredServices=Les %s plus anciens contrats avec services actifs expirés BoxTitleLastActionsToDo=Les %s derniers événements à réaliser -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=Les %s derniers contrats modifiés +BoxTitleLastModifiedDonations=Les %s derniers dons modifiés +BoxTitleLastModifiedExpenses=Les %s dernières notes de frais modifiées +BoxTitleLatestModifiedBoms=Les %s derières BOMS modifiées +BoxTitleLatestModifiedMos=Les %s derniers ordres de fabrication modifiés BoxTitleLastOutstandingBillReached=Clients dont l'en-cours autorisé est dépassé BoxGlobalActivity=Activité globale (factures, propositions, commandes) BoxGoodCustomers=Bons clients @@ -91,7 +91,7 @@ BoxTitleLatestModifiedSupplierOrders=Les %s dernières commandes fournisseurs mo BoxTitleLastModifiedCustomerBills=Les %s dernières factures clients modifiées BoxTitleLastModifiedCustomerOrders=Les %s dernières commandes clients modifiées BoxTitleLastModifiedPropals=Les %s dernières propositions commerciales modifiées -BoxTitleLatestModifiedJobPositions=Les %s dernières offres d'emploi modifiées +BoxTitleLatestModifiedJobPositions=Les %s derniers postes modifiés BoxTitleLatestModifiedCandidatures=Les %s dernières candidatures modifiées ForCustomersInvoices=Factures clients ForCustomersOrders=Commandes clients diff --git a/htdocs/langs/fr_FR/cashdesk.lang b/htdocs/langs/fr_FR/cashdesk.lang index 93005f5a583..254d9c766cf 100644 --- a/htdocs/langs/fr_FR/cashdesk.lang +++ b/htdocs/langs/fr_FR/cashdesk.lang @@ -41,8 +41,8 @@ Floor=Etage AddTable=Ajouter une table Place=Emplacement TakeposConnectorNecesary='Connecteur TakePOS' requis -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Ajoute un bouton qui permet d'envoyer une commande sans paiement sur certaines imprimantes spécifiques (par exemple pour envoyer une commande en cuisine) +NotAvailableWithBrowserPrinter=Non disponible lorsque l'imprimante pour reçu est définie sur navigateur SearchProduct=Rechercher un produit Receipt=Reçu Header=Entête @@ -59,7 +59,7 @@ BillsCoinsPad=Pavé avec montant des Pièces et Billets DolistorePosCategory=Modules TakePOS et autres solutions de PDV pour Dolibarr TakeposNeedsCategories=TakePOS a besoin d'au moins une catégorie de produits pour fonctionner TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS a besoin d'au moins 1 catégorie de produits dans la catégorie %s pour fonctionner -OrderNotes=Can add some notes to each ordered items +OrderNotes=Il est possible d'ajouter des notes sur chacun des produits commandés CashDeskBankAccountFor=Compte par défaut à utiliser pour les paiements en NoPaimementModesDefined=Aucun mode de paiement défini dans la configuration de TakePOS TicketVatGrouped=Grouper la TVA par taux sur les tickets / reçus @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=La facture est déjà validée NoLinesToBill=Aucune ligne à facturer CustomReceipt=Reçu personnalisé ReceiptName=Nom du reçu -ProductSupplements=Manage supplements of products +ProductSupplements=Gérer les suppléments de produits SupplementCategory=Catégorie des suppléments ColorTheme=Couleur du thème Colorful=Coloré @@ -94,7 +94,7 @@ Browser=Navigateur BrowserMethodDescription=Impression simple et facile des reçus. Seuls quelques paramètres pour configurer le reçu. Impression via le navigateur. TakeposConnectorMethodDescription=Module externe avec fonctionnalités supplémentaires. Possibilité d'imprimer depuis le cloud. PrintMethod=Méthode d'impression -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=Méthode puissante avec beaucoup de paramètres. Entièrement personnalisable avec des modèles. Le serveur hébergeant l'application ne peut pas être dans le Cloud (elle doit pouvoir joindre les imprimantes de votre réseau physique). ByTerminal=Par terminal TakeposNumpadUsePaymentIcon=Utilisez un icône au lieu du texte sur les boutons de paiement du pavé numérique CashDeskRefNumberingModules=Module de numérotation pour le POS @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    La balise {TN} est utilisée pour ajout TakeposGroupSameProduct=Regrouper les mêmes lignes de produits StartAParallelSale=Lancer une nouvelle vente en parallèle SaleStartedAt=Ventes démarrées à %s -ControlCashOpening=Pop-up de contrôle de caisse à l'ouverture du POS +ControlCashOpening=Ouvre la fenêtre "Contôle de caisse" lors de l'ouverture du TPV CloseCashFence=Clôturer la caisse CashReport=Rapport de caisse MainPrinterToUse=Imprimante principale à utiliser @@ -126,5 +126,10 @@ ModuleReceiptPrinterMustBeEnabled=Le module Imprimante de reçus doit d'abord av AllowDelayedPayment=Autoriser le paiement différé PrintPaymentMethodOnReceipts=Imprimer le mode de paiement sur les tickets | reçus WeighingScale=échelle de poids -ShowPriceHT = Afficher la colonne prix hors taxes -ShowPriceHTOnReceipt = Afficher la colonne prix hors taxes à la réception +ShowPriceHT = Afficher la colonne du prix HT (à l'écran) +ShowPriceHTOnReceipt = Afficher la colonne avec le prix hors taxes (sur le ticket de caisse) +CustomerDisplay=Affichage client +SplitSale=Fractionner la vente +PrintWithoutDetailsButton=Add "Print without details" button +PrintWithoutDetailsLabelDefault=Line label by default on printing without details +PrintWithoutDetails=Print without details diff --git a/htdocs/langs/fr_FR/categories.lang b/htdocs/langs/fr_FR/categories.lang index f428f5a2aa6..cf549eb8670 100644 --- a/htdocs/langs/fr_FR/categories.lang +++ b/htdocs/langs/fr_FR/categories.lang @@ -3,20 +3,20 @@ Rubrique=Tag/Catégorie Rubriques=Tags/catégories RubriquesTransactions=Tags/catégories des transactions categories=tags/catégories -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Aucun tag/catégorie de ce type n'a été créé In=Dans AddIn=Ajouter dans modify=modifier Classify=Classer CategoriesArea=Espace tags/catégories -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Espace tags/catégories de produits/services +SuppliersCategoriesArea=Espace tags/catégories de fournisseurs +CustomersCategoriesArea=Espace tags/catégories de clients +MembersCategoriesArea=Espace tags/catégories adhérents +ContactsCategoriesArea=Espace tags/catégories de contacts +AccountsCategoriesArea=Espace des tags/categories de comptes bancaires +ProjectsCategoriesArea=Espace des tags/catégories des projets +UsersCategoriesArea=Espace des tags/catégories des utilisateurs SubCats=Sous-catégories CatList=Liste des tags/catégories CatListAll=Liste de toutes les catégories (de tous types) @@ -96,4 +96,5 @@ ChooseCategory=Choisissez une catégorie StocksCategoriesArea=Catégories d’entrepôt ActionCommCategoriesArea=Catégories d’événements WebsitePagesCategoriesArea=Catégories des pages-conteneurs -UseOrOperatorForCategories=Use 'OR' operator for categories +KnowledgemanagementsCategoriesArea=KM article Categories +UseOrOperatorForCategories=Utiliser l'opérateur 'ou' pour les catégories diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang index 97b878e59fc..906aa74db43 100644 --- a/htdocs/langs/fr_FR/companies.lang +++ b/htdocs/langs/fr_FR/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=Le nom de société %s existe déjà. Veuillez en choisir un autre. ErrorSetACountryFirst=Définissez d'abord le pays SelectThirdParty=Sélectionner un tiers -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Êtes-vous sûr de vouloir supprimer cette société et toutes les informations qui en dépendent ? DeleteContact=Supprimer un contact -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Êtes-vous sûr de vouloir supprimer ce contact et toutes les informations qui en dépendent ? MenuNewThirdParty=Nouveau tiers MenuNewCustomer=Nouveau client MenuNewProspect=Nouveau prospect @@ -69,7 +69,7 @@ PhoneShort=Tél. Skype=Skype Call=Appeler Chat=Tchat -PhonePro=Bus. phone +PhonePro=Tél pro. PhonePerso=Tél perso. PhoneMobile=Tél portable No_Email=Refuse les emailings @@ -331,7 +331,7 @@ CustomerCodeDesc=Code client unique pour chaque client SupplierCodeDesc=Code fournisseur unique pour chaque fournisseur RequiredIfCustomer=Requis si le tiers est un client ou un prospect RequiredIfSupplier=Requis si un tiers est un fournisseur -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Validité contrôlée par le module ThisIsModuleRules=Voici les règles de ce module ProspectToContact=Prospect à contacter CompanyDeleted=La société "%s" a été supprimée de la base. @@ -439,12 +439,12 @@ ListSuppliersShort=Liste des fournisseurs ListProspectsShort=Liste des prospects ListCustomersShort=Liste des clients ThirdPartiesArea=Tiers / Contacts -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Les %s derniers tiers modifiés +UniqueThirdParties=Nombre total des tiers InActivity=Ouvert ActivityCeased=Clos ThirdPartyIsClosed=Le tiers est clôturé -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=Liste des produits/services jusqu'à %s CurrentOutstandingBill=Montant encours OutstandingBill=Montant encours autorisé OutstandingBillReached=Montant encours autorisé dépassé @@ -454,7 +454,7 @@ LeopardNumRefModelDesc=Code libre sans vérification. Peut être modifié à tou ManagingDirectors=Nom du(des) gestionnaire(s) (PDG, directeur, président...) MergeOriginThirdparty=Tiers en doublon (le tiers que vous voulez supprimer) MergeThirdparties=Fusionner tiers -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Êtes-vous sur de vouloir fusionner ce tiers avec le tiers courant ? Tous ses objets liés (factures, commandes, ...) seront déplacés vers le tiers courant, après que le tiers choisi soit supprimé. ThirdpartiesMergeSuccess=Les tiers ont été fusionnés SaleRepresentativeLogin=Login du commercial SaleRepresentativeFirstname=Prénom du commercial diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 6510a520a3a..280069f5cf9 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -111,7 +111,7 @@ VATDeclaration=Déclaration de TVA VATRefund=Remboursement TVA NewVATPayment=Nouveau paiement de TVA NewLocalTaxPayment=Nouveau paiement charge %s -Refund=Rembourser +Refund=Remboursement SocialContributionsPayments=Paiements de charges fiscales/sociales ShowVatPayment=Affiche paiement TVA TotalToPay=Total à payer @@ -135,14 +135,14 @@ NewCheckReceipt=Nouvelle remise NewCheckDeposit=Nouveau dépôt NewCheckDepositOn=Créer bordereau de dépôt sur compte: %s NoWaitingChecks=Pas de chèques en attente de remise -DateChequeReceived=Check receiving date +DateChequeReceived=Date réception chèque NbOfCheques=Nb de chèques PaySocialContribution=Payer une charge sociale/fiscale PayVAT=Payer une déclaration de TVA PaySalary=Payer un salaire ConfirmPaySocialContribution=Voulez-vous vraiment classer cette taxe sociale ou fiscale comme payée? ConfirmPayVAT=Voulez-vous vraiment classer cette déclaration de TVA comme payée ? -ConfirmPaySalary=Voulez-vous vraiment classer ce salaire comme payée ? +ConfirmPaySalary=Voulez-vous vraiment classer ce salaire comme payé ? DeleteSocialContribution=Effacer une charge fiscale ou sociale DeleteVAT=Supprimer une déclaration de TVA DeleteSalary=Supprimer un salaire @@ -191,9 +191,9 @@ LT2ReportByCustomersES=Rapport par client des IRPF VATReport=Rapport TVA VATReportByPeriods=Rapport de TVA par période VATReportByMonth=Rapport de TVA par mois -VATReportByRates=Rapport TVA par taux -VATReportByThirdParties=Rapport TVA par Tiers -VATReportByCustomers=Rapport par client +VATReportByRates=Rapport de TVA par taux +VATReportByThirdParties=Rapport de TVA par tiers +VATReportByCustomers=Rapport de TVA par client VATReportByCustomersInInputOutputMode=Rapport par client des TVA collectées et payées VATReportByQuartersInInputOutputMode=Rapport par taux des TVA collectées et payées VATReportShowByRateDetails=Afficher les détails de ce taux @@ -204,9 +204,9 @@ LT2ReportByQuartersES=Rapport par taux de IRPF SeeVATReportInInputOutputMode=Cliquer sur %sTVA encaissement%s pour mode de calcul standard SeeVATReportInDueDebtMode=Cliquer sur %sTVA sur débit%s pour mode de calcul avec option sur les débits RulesVATInServices=- Pour les services, le rapport inclut les TVA des règlements effectivement reçus ou émis en se basant sur la date du règlement. -RulesVATInProducts=- Pour les biens matériels, il inclut les TVA des factures en se basant sur la date de facture. +RulesVATInProducts=- Pour les biens matériels, il inclut les TVA des règlements effectivement reçus ou émis en se basant sur la date du règlement. RulesVATDueServices=- Pour les services, le rapport inclut les TVA des factures dues, payées ou non en se basant sur la date de facture. -RulesVATDueProducts=- Pour les biens matériels, il inclut les TVA des factures en se basant sur la date de facture. +RulesVATDueProducts=- Pour les biens matériels, il inclut les TVA des factures dues, payées ou non en se basant sur la date de facture. OptionVatInfoModuleComptabilite=Remarque : Pour les biens matériels, il faudrait utiliser la date de livraison pour être plus juste. ThisIsAnEstimatedValue=Il s'agit d'un aperçu, basé sur les événements métiers et non sur la table du grand livre final, de sorte que les résultats finaux peuvent différer de ces valeurs d'aperçu. PercentOfInvoice=%%/facture @@ -286,3 +286,12 @@ ReportPurchaseTurnover=Chiffre d'affaires d'achat facturé ReportPurchaseTurnoverCollected=Chiffre d'affaires d'achat encaissé IncludeVarpaysInResults = Inclure les paiements divers dans les rapports IncludeLoansInResults = Inclure les prêts dans les rapports +InvoiceLate30Days = Factures en retard (plus de 30 jours) +InvoiceLate15Days = Factures en retard (entre 15 et 30 jours) +InvoiceLateMinus15Days = Factures en retard (de moins de 15 jours) +InvoiceNotLate = A recevoir (d'ici 15 jours) +InvoiceNotLate15Days = A recevoir (dans 15 à 30 jours) +InvoiceNotLate30Days = A recevoir (dans plus de 30 jours) +InvoiceToPay=A payer (dans moins de 15 jours) +InvoiceToPay15Days=A payer (d'ici 15 à 30 jours) +InvoiceToPay30Days=A payer (dans plus de 30 jours) diff --git a/htdocs/langs/fr_FR/cron.lang b/htdocs/langs/fr_FR/cron.lang index 5d7b0fc7462..92c4d1f7e6e 100644 --- a/htdocs/langs/fr_FR/cron.lang +++ b/htdocs/langs/fr_FR/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=La date de fin ne peux être avant la date de début StatusAtInstall=Statut lors de l'installation du module CronStatusActiveBtn=Planifier CronStatusInactiveBtn=Désactiver -CronTaskInactive=Cette tâche est désactivée +CronTaskInactive=Ce poste est désactivé (non planifié) CronId=Id CronClassFile=Nom de fichier intégrant la classe CronModuleHelp=Nom du répertoire du module Dolibarr (fonctionne également avec le module externe Dolibarr).
    Par exemple, pour appeler la méthode fetch de l'objet produit Dolibarr /htdocs/product/class/product.class.php, la valeur du module est
    produit diff --git a/htdocs/langs/fr_FR/deliveries.lang b/htdocs/langs/fr_FR/deliveries.lang index 6af98a54d4f..0837b157a9a 100644 --- a/htdocs/langs/fr_FR/deliveries.lang +++ b/htdocs/langs/fr_FR/deliveries.lang @@ -30,4 +30,4 @@ NonShippable=Non expédiable ShowShippableStatus=Afficher le statut Expédiable ShowReceiving=Afficher le bon de réception NonExistentOrder=Commande inexistante -StockQuantitiesAlreadyAllocatedOnPreviousLines = Qtés de stock déja attribuées sur une ou des lignes précédentes +StockQuantitiesAlreadyAllocatedOnPreviousLines = Quantités de stock déjà allouées sur les lignes précédentes diff --git a/htdocs/langs/fr_FR/ecm.lang b/htdocs/langs/fr_FR/ecm.lang index 23ac6fd869b..e54f1852bf4 100644 --- a/htdocs/langs/fr_FR/ecm.lang +++ b/htdocs/langs/fr_FR/ecm.lang @@ -42,6 +42,8 @@ ExtraFieldsEcmFiles=Attributs supplémentaires des fichiers de la GED ExtraFieldsEcmDirectories=Attributs supplémentaires des dossiers de la GED ECMSetup=Configuration du module de gestion de documents (GED) GenerateImgWebp=Dupliquer toutes les images avec une autre version au format .webp -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... +ConfirmGenerateImgWebp=Si vous confirmez, vous générerez une image au format .webp pour toutes les images actuellement dans ce dossier (les sous-dossiers ne sont pas inclus)... ConfirmImgWebpCreation=Confirmer la duplication de toutes les images SucessConvertImgWebp=Images dupliquées avec succès +ECMDirName=Dir name +ECMParentDirectory=Parent directory diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 598bd091ae3..ec95b85ed9d 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=Pas d'erreur, on valide # Errors ErrorButCommitIsDone=Erreurs trouvées mais on valide malgré tout -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=L'email '%s' est invalide +ErrorBadMXDomain=L'email %s semble incorrect +ErrorBadUrl=L'URL '%s' est invalide ErrorBadValueForParamNotAString=Mauvaise valeur de paramètre. Ceci arrive lors d'une tentative de traduction d'une clé non renseignée. ErrorRefAlreadyExists=Le référence %s existe déjà. ErrorLoginAlreadyExists=L'identifiant %s existe déjà. ErrorGroupAlreadyExists=Le groupe %s existe déjà. +ErrorEmailAlreadyExists=L'e-mail %s existe déjà. ErrorRecordNotFound=Enregistrement non trouvé. ErrorFailToCopyFile=Echec de la copie du fichier '%s' en '%s'. ErrorFailToCopyDir=Echec de copie du répertoire '%s' vers '%s'. @@ -46,8 +47,8 @@ ErrorWrongDate=La date est incorrecte ErrorFailedToWriteInDir=Impossible d'écrire dans le répertoire %s ErrorFoundBadEmailInFile=Syntaxe d'email incorrecte trouvée pour %s lignes dans le fichier (exemple ligne %s avec email=%s) ErrorUserCannotBeDelete=L'utilisateur ne peut pas être supprimé. Peut-être est-il associé à des éléments de Dolibarr. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=Des champs obligatoire n'ont pas été remplis. +ErrorSubjectIsRequired=L'objet de l'e-mail est obligatoire ErrorFailedToCreateDir=Echec à la création d'un répertoire. Vérifiez que le user du serveur Web ait bien les droits d'écriture dans les répertoires documents de Dolibarr. Si le paramètre safe_mode a été activé sur ce PHP, vérifiez que les fichiers php dolibarr appartiennent à l'utilisateur du serveur Web. ErrorNoMailDefinedForThisUser=Email non défini pour cet utilisateur ErrorSetupOfEmailsNotComplete=La configuration de l'envoi des e-mails n'est pas terminée @@ -82,7 +83,7 @@ ErrorCantSaveADoneUserWithZeroPercentage=Impossible de sauver une action à l'é ErrorRefAlreadyExists=Le référence %s existe déjà. ErrorPleaseTypeBankTransactionReportName=Choisissez le nom du relevé bancaire sur lequel la ligne est rapportées (Format AAAAMM ou AAAAMMJJ) ErrorRecordHasChildren=Impossible de supprimer l'enregistrement car il possède des enregistrements fils. -ErrorRecordHasAtLeastOneChildOfType=L'objet a au moins un enfant de type %s +ErrorRecordHasAtLeastOneChildOfType=Object %s has at least one child of type %s ErrorRecordIsUsedCantDelete=Ne peut effacer l'enregistrement. Ce dernier est déjà utilisé ou inclut dans un autre élément. ErrorModuleRequireJavascript=Le javascript ne doit pas être désactivé pour que cette fonctionnalité soit utilisable. Pour activer/désactiver l'utilisation de javascript, allez dans le menu Accueil->Configuration->Affichage. ErrorPasswordsMustMatch=Les 2 mots de passe saisis doivent correspondre @@ -117,7 +118,7 @@ ErrorCantReadFile=Échec de lecture du fichier '%s' ErrorCantReadDir=Échec de lecture du répertoire '%s' ErrorBadLoginPassword=Identifiant ou mot de passe incorrect ErrorLoginDisabled=Votre compte est désactivé -ErrorFailedToRunExternalCommand=Échec de l'exécution de la commande externe. Vérifiez qu'elle est disponible et exécutable par votre serveur PHP. Si le Safe Mode PHP est actif, vérifiez que la commande se trouve dans un répertoire défini dans le paramètre safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Échec de l'exécution de commande externe. Vérifiez qu'elle est disponible et exécutable par l'utilisateur de votre serveur PHP. Vérifiez également que la commande n'est pas protégée au niveau du shell par une couche de sécurité comme apparmor. ErrorFailedToChangePassword=Échec de modification du mot de passe ErrorLoginDoesNotExists=Le compte utilisateur identifié par %s n'a pu être trouvé. ErrorLoginHasNoEmail=Cet utilisateur n'a pas d'email. Impossible de continuer. @@ -262,6 +263,14 @@ ErrorDateIsInFuture=Erreur, la date ne peut pas être dans le futur. ErrorAnAmountWithoutTaxIsRequired=Erreur, le montant est obligatoire ErrorAPercentIsRequired=Erreur, le pourcentage doit être indiqué correctement. ErrorYouMustFirstSetupYourChartOfAccount=Vous devez d’abord configurer votre plan comptable. +ErrorFailedToFindEmailTemplate=Aucun gabarit trouvé avec le code %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Durée non définie sur le service. Pas moyen de calculer le prix horaire. +ErrorActionCommPropertyUserowneridNotDefined=Le propriétaire de l'utilisateur est requis +ErrorActionCommBadType=Le type d'événement sélectionné (id: %n, code: %s) n'existe pas dans le dictionnaire des types d'événement +CheckVersionFail=Échec de la vérification de version +ErrorWrongFileName=Le nom du fichier ne peut pas contenir __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Pas dans le dictionnaire des conditions de paiement, veuillez modifier. +ErrorIsNotADraft=%s is not a draft # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Votre paramètre PHP upload_max_filesize (%s) est supérieur au paramètre PHP post_max_size (%s). Ceci n'est pas une configuration cohérente. @@ -295,6 +304,24 @@ WarningTheHiddenOptionIsOn=Attention, l'option cachée %s est activée WarningCreateSubAccounts=Attention, vous ne pouvez pas créer directement un compte auxiliaire, vous devez créer un tiers ou un utilisateur et leur attribuer un code comptable pour les retrouver dans cette liste WarningAvailableOnlyForHTTPSServers=Disponible uniquement si une connexion sécurisée HTTPS est utilisée WarningModuleXDisabledSoYouMayMissEventHere=Le module %s n’a pas été activé. Par conséquent, il se peut que vous manquiez beaucoup d’événements ici. -ErrorActionCommPropertyUserowneridNotDefined=Le propriétaire de l'utilisateur est requis -ErrorActionCommBadType=Le type d'événement sélectionné (id: %n, code: %s) n'existe pas dans le dictionnaire des types d'événement -CheckVersionFail=Échec de la vérification de version +WarningPaypalPaymentNotCompatibleWithStrict=La valeur 'Strict' fait que les fonctionnalités de paiement en ligne ne fonctionnent pas correctement. Utilisez plutôt 'Lax'. + +# Validate +RequireValidValue = Valeur non valide +RequireAtLeastXString = Requires at least %s character(s) +RequireXStringMax = Requires %s character(s) max +RequireAtLeastXDigits = Requires at least %s digit(s) +RequireXDigitsMax = Requires %s digit(s) max +RequireValidEmail = L'adresse email n'est pas valide +RequireMaxLength = La longueur doit être inférieure à %s caractères +RequireMinLength = La longueur doit être supérieure à %s caractère(s) +RequireValidUrl = Une URL valide est requise +RequireValidDate = Date valide requise +RequireANotEmptyValue = Est requis +RequireValidDuration = Une durée valide est requise +RequireValidExistingElement = Une valeur existante est requise +RequireValidBool = Un booléen valide est requis +BadSetupOfField = Erreur mauvaise configuration du champ +BadSetupOfFieldClassNotFoundForValidation = Erreur mauvaise configuration du champ : Classe introuvable pour validation +BadSetupOfFieldFileNotFound = Erreur mauvaise configuration du champ : Fichier introuvable pour l'inclusion +BadSetupOfFieldFetchNotCallable = Erreur mauvaise configuration du champ : Fetch non appelable sur la classe diff --git a/htdocs/langs/fr_FR/eventorganization.lang b/htdocs/langs/fr_FR/eventorganization.lang index f311d553874..0efbbf3229e 100644 --- a/htdocs/langs/fr_FR/eventorganization.lang +++ b/htdocs/langs/fr_FR/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,18 +19,22 @@ # ModuleEventOrganizationName = Organisation d'événements EventOrganizationDescription = Organisation de l’événement par le biais du module projet -EventOrganizationDescriptionLong= Gérer l’organisation d'événements pour les conférences, les participants et les conférenciers, avec une page d'inscription publique +EventOrganizationDescriptionLong= Manage the organization of an event (show, conferences, attendees or speakers, with public pages for suggestion, vote or registration) # # Menu # EventOrganizationMenuLeft = Événements organisés EventOrganizationConferenceOrBoothMenuLeft = Conférence ou stand +PaymentEvent=Payment of event + # # Admin page # -EventOrganizationSetup = Configuration de l’organisation de l’événement -Settings = Paramètres +NewRegistration=Registration +EventOrganizationSetup=Configuration de l’organisation de l’événement +EventOrganization=Event organization +Settings=Paramètres EventOrganizationSetupPage = Page de configuration de l’organisation de l’événement EVENTORGANIZATION_TASK_LABEL = Libellé des tâches à créer automatiquement lors de la validation du projet EVENTORGANIZATION_TASK_LABELTooltip = Lorsque vous validez un événement organisé, certaines tâches peuvent être automatiquement créées dans le projet

    Par exemple :
    Envoyer un appel de conférence
    Envoyer un appel pour le stand
    Recevoir un appel de conférences
    Recevoir un appel de stand
    Ouvrir les inscriptions aux événements pour les participants
    Envoyer un rappel de l’événement aux conférenciers
    Envoyer un rappel de l’événement à l’animateur du stand
    Envoyer un rappel de l’événement aux participants @@ -37,8 +42,8 @@ EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Catégorie à ajouter à des tiers aut EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Catégorie à ajouter à des tiers automatiquement créée lorsque quelqu’un suggère un stand EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Modèle de courriel à envoyer après avoir reçu une suggestion de conférence. EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Modèle de courriel à envoyer après avoir reçu une suggestion d'un stand. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Modèle de courriel à envoyer après paiement d'une inscription à un stand. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Modèle de courriel à envoyer après paiement d'une inscription à un événement. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a registration to a booth has been paid. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a registration to an event has been paid. EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Modèle de courriel pour action de masse aux participants EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Modèle de courriel pour action de masse aux intervenants EVENTORGANIZATION_FILTERATTENDEES_CAT = Filtrer la liste de sélection des tiers dans la fiche/le formulaire de création des participants avec/selon la catégorie @@ -48,11 +53,11 @@ EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtrer la liste de sélection des tier # Object # EventOrganizationConfOrBooth= Conférence ou stand -ManageOrganizeEvent = Gestion d'organisation d'événements +ManageOrganizeEvent = Manage the organization of an event ConferenceOrBooth = Conférence ou stand ConferenceOrBoothTab = Conférence ou stand -AmountOfSubscriptionPaid = Montant de l'inscription payée -DateSubscription = Date de l'inscription +AmountPaid = Amount paid +DateOfRegistration = Date of registration ConferenceOrBoothAttendee = Participant à la conférence ou au stand # @@ -62,26 +67,31 @@ YourOrganizationEventConfRequestWasReceived = Votre demande de conférence a ét YourOrganizationEventBoothRequestWasReceived = Votre demande de stand a été transmise EventOrganizationEmailAskConf = Demande de conférence EventOrganizationEmailAskBooth = Demande de stand -EventOrganizationEmailSubsBooth = Inscription au stand -EventOrganizationEmailSubsEvent = Inscription à un événement +EventOrganizationEmailBoothPayment = Payment of your booth +EventOrganizationEmailRegistrationPayment = Registration for an event EventOrganizationMassEmailAttendees = Communication aux participants EventOrganizationMassEmailSpeakers = Communication aux conférenciers # # Event # -AllowUnknownPeopleSuggestConf=Autoriser des personnes inconnues à suggérer des conférences -AllowUnknownPeopleSuggestConfHelp=Autoriser des personnes inconnues à suggérer des conférences -AllowUnknownPeopleSuggestBooth=Autoriser des personnes inconnues à suggérer un stand -AllowUnknownPeopleSuggestBoothHelp=Autoriser des personnes inconnues à suggérer un stand +AllowUnknownPeopleSuggestConf=Allow people to suggest conferences +AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest a conference they want to do +AllowUnknownPeopleSuggestBooth=Allow people to apply for a booth +AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to apply for a booth PriceOfRegistration=Prix de l'inscription -PriceOfRegistrationHelp=Prix de l'inscription +PriceOfRegistrationHelp=Price to pay to register or participate in the event PriceOfBooth=Prix d’inscription pour un stand PriceOfBoothHelp=Prix d’inscription pour un stand EventOrganizationICSLink=Lien ICS des événements ConferenceOrBoothInformation=Renseignements sur la conférence ou le stand -Attendees = Participants +Attendees=Participants +ListOfAttendeesOfEvent=List of attendees of the event project +DownloadICSLink = Télécharger le lien ICS EVENTORGANIZATION_SECUREKEY = Clé sécurisée pour le lien d’inscription public à une conférence +SERVICE_BOOTH_LOCATION = Service utilisé pour la ligne de facture concernant l'emplacement d'un stand +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service utilisé pour la ligne de facture concernant l'abonnement d'un participant à une conférence +NbVotes=Nombre de votes # # Status # @@ -94,8 +104,62 @@ EvntOrgCancelled = Annulé # # Public page # -PublicAttendeeSubscriptionPage = Lien d’inscription public à une conférence +SuggestForm = Page de suggestions +SuggestOrVoteForConfOrBooth = Page de suggestion ou de vote +EvntOrgRegistrationHelpMessage = Here, you can vote for a conference or suggest a new one for the event. You can also apply to have a booth during the event. +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference to animate during the event. +EvntOrgRegistrationBoothHelpMessage = Here, you can apply to have a booth during the event. +ListOfSuggestedConferences = Liste des conférences suggérées +ListOfSuggestedBooths = Liste des stands suggérés +ListOfConferencesOrBooths=List of conferences or booths of event project +SuggestConference = Proposer une nouvelle conférence +SuggestBooth = Proposer un stand +ViewAndVote = Voir et voter pour les événements suggérés +PublicAttendeeSubscriptionGlobalPage = Lien public pour l'inscription à l'événement +PublicAttendeeSubscriptionPage = Lien d’inscription public à un événement MissingOrBadSecureKey = La clé de sécurité est invalide ou manquante -EvntOrgWelcomeMessage = Ce formulaire vous permet de vous enregistrer en tant que participant à la conférence -EvntOrgStartDuration = Cette conférence débute à -EvntOrgEndDuration = et se termine à +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the event : %s +EvntOrgDuration = Cette conférence commence le %s et se termine le %s. +ConferenceAttendeeFee = Frais de participation à la conférence pour l'événement : '%s' se produisant du %s au %s. +BoothLocationFee = Frais de participation à l'événement : '%s' se produisant du %s au %s. +EventType = Type événement +LabelOfBooth=Libellé du stand +LabelOfconference=Libellé de la conférence +ConferenceIsNotConfirmed=Registration not available, conference is not confirmed yet +DateMustBeBeforeThan=%s doit être avant %s +DateMustBeAfterThan=%s doit être après %s + +NewSubscription=Registration +OrganizationEventConfRequestWasReceived=Your suggestion for a conference has been received +OrganizationEventBoothRequestWasReceived=Your request for a booth has been received +OrganizationEventPaymentOfBoothWasReceived=Your payment for your booth has been recorded +OrganizationEventPaymentOfRegistrationWasReceived=Your payment for your event registration has been recorded +OrganizationEventBulkMailToAttendees=This is a remind about your participation in the event as an attendee +OrganizationEventBulkMailToSpeakers=This is a reminder on your participation in the event as a speaker +OrganizationEventLinkToThirdParty=Link to third party (customer, supplier or partner) + +NewSuggestionOfBooth=Application for a booth +NewSuggestionOfConference=Application for a conference + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Bienvenue sur la page de suggestion de conférence ou de stand. +EvntOrgRegistrationConfWelcomeMessage = Bienvenue sur la page de suggestions de conférences. +EvntOrgRegistrationBoothWelcomeMessage = Bienvenue sur la page de suggestion de stand. +EvntOrgVoteHelpMessage = Ici, vous pouvez voir et voter pour les événements suggérés pour le projet +VoteOk = Votre vote a été accepté. +AlreadyVoted = Vous avez déjà voté pour cet événement. +VoteError = Une erreur s'est produite lors du vote, veuillez réessayer. + +SubscriptionOk = Your registration has been validated +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to an event +Attendee = Participant +PaymentConferenceAttendee = Paiement de participation à la conférence +PaymentBoothLocation = Paiement de l'emplacement du stand +DeleteConferenceOrBoothAttendee=Remove attendee +RegistrationAndPaymentWereAlreadyRecorder=A registration and a payment were already recorded for the email %s +EmailAttendee=Attendee email +EmailCompanyForInvoice=Company email (for invoice, if different of attendee email) +ErrorSeveralCompaniesWithEmailContactUs=Several companies with this email has been found so we can't validate automaticaly your registration. Please contact us at %s for a manual validation +ErrorSeveralCompaniesWithNameContactUs=Several companies with this name has been found so we can't validate automaticaly your registration. Please contact us at %s for a manual validation diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index c3c426daf4e..5bed116241b 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type de ligne (0=produit, 1=service) FileWithDataToImport=Fichier contenant les données à importer FileToImport=Fichier source à importer FileMustHaveOneOfFollowingFormat=Le fichier à importer doit avoir un des formats suivants -DownloadEmptyExample=Télécharger fichier vierge exemple (* sont les champs obligatoires) +DownloadEmptyExample=Télécharger fichier vierge exemple +StarAreMandatory=* sont des champs obligatoires ChooseFormatOfFileToImport=Choisissez le format de fichier à importer en cliquant sur le pictogramme %s pour le sélectionner… ChooseFileToImport=Ajoutez le fichier à importer puis cliquez sur le pictogramme %s pour le sélectionner comme fichier source d'import… SourceFileFormat=Format du fichier source diff --git a/htdocs/langs/fr_FR/holiday.lang b/htdocs/langs/fr_FR/holiday.lang index 718123f56b0..d69623791c5 100644 --- a/htdocs/langs/fr_FR/holiday.lang +++ b/htdocs/langs/fr_FR/holiday.lang @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Texte libre sur PDF WatermarkOnDraftHolidayCards=Filigranes sur les demandes de congés brouillons HolidaysToApprove=Vacances à approuver NobodyHasPermissionToValidateHolidays=Aucun utilisateur ne dispose des permissions pour valider les demandes de congés +HolidayBalanceMonthlyUpdate=Mise à jour mensuelle du solde des congés +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/fr_FR/hrm.lang b/htdocs/langs/fr_FR/hrm.lang index 083d42df0b1..647ff720bf9 100644 --- a/htdocs/langs/fr_FR/hrm.lang +++ b/htdocs/langs/fr_FR/hrm.lang @@ -1,4 +1,6 @@ # Dolibarr language file - en_US - hrm + + # Admin HRM_EMAIL_EXTERNAL_SERVICE=Adresse email du service GRH externe à prévenir Establishments=Etablissements @@ -9,7 +11,7 @@ ConfirmDeleteEstablishment=Êtes-vous sûr de vouloir supprimer cet établisseme OpenEtablishment=Etablissement ouvert CloseEtablishment=Etablissement fermé # Dictionary -DictionaryPublicHolidays=GRH - Jours fériés +DictionaryPublicHolidays=Congés - jours fériés DictionaryDepartment=GRH - Liste des départements DictionaryFunction=GRH - Liste des fonctions # Module @@ -17,3 +19,74 @@ Employees=Salariés Employee=Salarié NewEmployee=Nouveau salarié ListOfEmployees=List des salariés +HrmSetup = Hrm setup +HrmSetupPage = Hrm setup page +HRM_MAXRANK=Maximum rank for a skill +HRM_DEFAULT_SKILL_DESCRIPTION=Default description of ranks when skill is created +HrmAbout = About Hrm +traduction_note=Translate +deplacement=Shift +DateEval=Evaluation date +JobCard=Job card +Job=Travail planifié +Jobs=Jobs +NewSkill=New Skill +SkillType=Skill type +Skilldets=List of ranks for this skill +Skilldet=Skill level +rank=Rank +ErrNoSkillSelected=No skill selected +ErrSkillAlreadyAdded=This skill is already in the list +SkillHasNoLines=This skill has no lines +skill=Skill +Skills=Skills +SkillCard=Skill card +EmployeeSkillsUpdated=Employee skills have been updated (see "Skills" tab of employee card) +Eval=Evaluation +Evals=Evaluations +NewEval=New evaluation +ValidateEvaluation=Validate evaluation +ConfirmValidateEvaluation=Are you sure you want to validate this evaluation with reference %s? +EvaluationCard=Evaluation card +RequiredRank=Required rank for this job +EmployeeRank=Employee rank for this skill +Position=Position +Positions=Positions +PositionCard=Position card +EmployeesInThisPosition=Employees in this position +group1ToCompare=Usergroup to analyze +group2ToCompare=Second usergroup for comparison +OrJobToCompare=Compare to job skills requirements +difference=Difference +CompetenceAcquiredByOneOrMore=Competence acquired by one or more users but not requested by the second comparator +MaxlevelGreaterThan=Max level greater than the one requested +MaxLevelEqualTo=Max level equal to that demand +MaxLevelLowerThan=Max level lower than that demand +MaxlevelGreaterThanShort=Employee level greater than the one requested +MaxLevelEqualToShort=Employee level equals to that demand +MaxLevelLowerThanShort=Employee level lower than that demand +SkillNotAcquired=Skill not acquired by all users and requested by the second comparator +legend=Légende +TypeSkill=Skill type +AddSkill=Add skills to job +RequiredSkills=Required skills for this job +UserRank=User Rank +SkillList=Skill list +SaveRank=Save rank +knowHow=Know how +HowToBe=How to be +knowledge=Knowledge +AbandonmentComment=Abandonment comment +DateLastEval=Date last evaluation +NoEval=No evaluation done for this employee +HowManyUserWithThisMaxNote=Number of users with this rank +HighestRank=Highest rank +SkillComparison=Skill comparison +ReadSkillJobPosition=Read skills / jobs / positions +CreateUpdateSkillJobPosition=Create / update skills / jobs / positions +DeleteSkillJobPosition=Delete skills / jobs / positions +ReadEval=Read evaluations +CreateUpdateEval=Create / update evaluations +ValidateEval=Validate evaluations +DeleteEval=Delete evaluations +SeeComparisonMenu=Access skills comparison menu diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index f696c06c241..b47e73d169a 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration des chemins de photos pour les utilisateurs MigrationFieldsSocialNetworks=Migration des champs de réseaux sociaux utilisateurs (%s) MigrationReloadModule=Rechargement du module %s MigrationResetBlockedLog=Réinitialiser le module BlockedLog pour l'algorithme v7 +MigrationImportOrExportProfiles=Migration des profils d'import ou d'export (%s) ShowNotAvailableOptions=Afficher les choix non disponibles HideNotAvailableOptions=Cacher les choix non disponibles ErrorFoundDuringMigration=Une erreur est survenu lors du processus de migration, aussi l'étape suivante ne peut pas être réalisée. Pour ignorer les erreurs, vous pouvez cliquer ici, mais l'application ou certaines fonctionnalités risquent de présenter des dysfonctionnements jusqu'à la résolution de la ou des erreurs diff --git a/htdocs/langs/fr_FR/interventions.lang b/htdocs/langs/fr_FR/interventions.lang index 43722fe2bfd..a1451cd48e2 100644 --- a/htdocs/langs/fr_FR/interventions.lang +++ b/htdocs/langs/fr_FR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Durée ligne intervention InterLineDesc=Description ligne intervention RepeatableIntervention=Modèle d'intervention ToCreateAPredefinedIntervention=Pour créer une intervention prédéfinie ou récurrente, créez une intervention standard et convertissez-la en modèle d'intervention +ConfirmReopenIntervention=Êtes-vous sur de vouloir ré-ouvrir l'intervention %s ? +GenerateInter=Générer intervention diff --git a/htdocs/langs/fr_FR/knowledgemanagement.lang b/htdocs/langs/fr_FR/knowledgemanagement.lang index f928e48432e..775d3efd01e 100644 --- a/htdocs/langs/fr_FR/knowledgemanagement.lang +++ b/htdocs/langs/fr_FR/knowledgemanagement.lang @@ -18,16 +18,16 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Gestion d'une base de connaissance # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Gérer une base de connaissance ou d'assistance (KM) # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Configuration du système de gestion des connaissances Settings = Paramètres -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Paramétrages du module de base de connaissance # @@ -37,19 +37,13 @@ About = À propos KnowledgeManagementAbout = A propos de la base de connaissances KnowledgeManagementAboutPage = A propos de la base de connaissances -# -# Sample page -# KnowledgeManagementArea = Base de connaissances - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution +MenuKnowledgeRecord = Base de connaissance +ListKnowledgeRecord = Liste des articles +NewKnowledgeRecord = Nouvel article +ValidateReply = Valider la réponse KnowledgeRecords = Articles KnowledgeRecord = Article -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Atribut supplémentaires (articles) +GroupOfTicket=Groupe de tickets +YouCanLinkArticleToATicketCategory=Vous pouvez lier un article à un groupe de tickets (ainsi l'article sera proposé lors de la qualification de nouveaux tickets) diff --git a/htdocs/langs/fr_FR/languages.lang b/htdocs/langs/fr_FR/languages.lang index 12b99eab661..46214457660 100644 --- a/htdocs/langs/fr_FR/languages.lang +++ b/htdocs/langs/fr_FR/languages.lang @@ -2,7 +2,11 @@ Language_am_ET=Ethiopien Language_ar_AR=Arabe Language_ar_EG=Arabe (Egypte) +Language_ar_MA=Arabe (Maroc) Language_ar_SA=Arabe +Language_ar_TN=Arabe (Tunisie) +Language_ar_IQ=Arabe (Irak) +Language_as_IN=Assamese Language_az_AZ=Azerbaïdjanais Language_bn_BD=Bengalais Language_bn_IN=Bengali (Inde) @@ -69,6 +73,7 @@ Language_it_IT=Italien Language_it_CH=Italien (Suisse) Language_ja_JP=Japonais Language_ka_GE=Géorgien +Language_kk_KZ=Kazakh Language_km_KH=Khmer Language_kn_IN=Kannada Language_ko_KR=Corée @@ -82,11 +87,14 @@ Language_ne_NP=Népalais Language_nl_BE=Néerlandais (Belgique) Language_nl_NL=Néerlandais Language_pl_PL=Polonais +Language_pt_AO=Portugais (Angola) Language_pt_BR=Portugais (Brésil) Language_pt_PT=Portugais +Language_ro_MD=Roumain (Moldavie) Language_ro_RO=Roumain Language_ru_RU=Russe Language_ru_UA=Russe (Ukraine) +Language_tg_TJ=Tajik Language_tr_TR=Turque Language_sl_SI=Slovène Language_sv_SV=Suédois diff --git a/htdocs/langs/fr_FR/mails.lang b/htdocs/langs/fr_FR/mails.lang index c0f5c00808e..e8e8d0071d8 100644 --- a/htdocs/langs/fr_FR/mails.lang +++ b/htdocs/langs/fr_FR/mails.lang @@ -15,7 +15,7 @@ MailToUsers=Aux utilisateurs MailCC=Copie à MailToCCUsers=Copie aux utilisateurs MailCCC=Copie cachée à -MailTopic=Email subject +MailTopic=Objet du mail MailText=Message MailFile=Fichiers joints MailMessage=Corps du message @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=Aucune notification automatique prévue pour ce type d ANotificationsWillBeSent=1 notification automatique sera envoyée par e-mail SomeNotificationsWillBeSent=%s notification(s) automatique(s) sera(seront) envoyée(s) par e-mail AddNewNotification=Souscrire à une nouvelle notification automatique (cible/évènement) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=Liste de tous les abonnements (cibles/événements) pour des notifications emails automatiques +ListOfNotificationsDone=Liste de toutes les notifications automatiques envoyées MailSendSetupIs=La configuration d'envoi d'emails a été définir sur '%s'. Ce mode ne peut pas être utilisé pour envoyer des e-mailing en masse. MailSendSetupIs2=Vous devez d'abord aller, avec un compte d'administrateur, dans le menu %sAccueil - Configuration - EMails%s pour changer le paramètre '%s' pour utiliser le mode '%s'. Avec ce mode, vous pouvez entrer le paramétrage du serveur SMTP fourni par votre fournisseur de services Internet et utiliser la fonction d'envoi d'email en masse. MailSendSetupIs3=Si vous avez des questions sur la façon de configurer votre serveur SMTP, vous pouvez demander à %s. @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Effacer le filtre AdvTgtSaveFilter=Enregistrer le filtre AdvTgtCreateFilter=Créer filtre AdvTgtOrCreateNewFilter=Nom du nouveau filtre -NoContactWithCategoryFound=Pas de contact/adresses avec cette catégorie -NoContactLinkedToThirdpartieWithCategoryFound=Pas de contact/adresses associés à un ters avec cette catégorie +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=E-mails sortants InGoingEmailSetup=E-mails entrants OutGoingEmailSetupForEmailing=E-mails sortants (module %s) diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 5bba9b2b897..da62020916d 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -180,7 +180,7 @@ SaveAndNew=Enregistrer et nouveau TestConnection=Tester la connexion ToClone=Cloner ConfirmCloneAsk=Voulez-vous vraiment cloner l'objet %s ? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=Choisissez la donnée à copier : NoCloneOptionsSpecified=Aucun option de clonage n'a été spécifiée. Of=du Go=Aller @@ -246,7 +246,7 @@ DefaultModel=Modèle de document par défaut Action=Action About=À propos Number=Nombre -NumberByMonth=Total reports by month +NumberByMonth=Nombre total par mois AmountByMonth=Montant par mois Numero=Numéro Limit=Limite @@ -341,7 +341,7 @@ KiloBytes=Kilooctets MegaBytes=Mégaoctets GigaBytes=Gigaoctets TeraBytes=Teraoctets -UserAuthor=Ceated by +UserAuthor=Créé par UserModif=Réalisée par b=o. Kb=Ko @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Centimes supplémentaires VATRate=Taux TVA +RateOfTaxN=Taux d'imposition %s VATCode=Code Taux TVA VATNPR=TVA NPR DefaultTaxRate=Taux de taxe par défaut @@ -729,6 +730,7 @@ MenuMembers=Adhérents MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Charges | Dépenses spéciales ThisLimitIsDefinedInSetup=Limite Dolibarr (Menu accueil-configuration-sécurité): %s Ko, Limite PHP: %s Ko +ThisLimitIsDefinedInSetupAt=Limite Dolibarr (Menu %s) : %s Ko, limite PHP (Param %s) : %s Ko NoFileFound=Pas de documents téléversés CurrentUserLanguage=Langue utilisateur actuelle CurrentTheme=Thème courant @@ -802,6 +804,7 @@ LinkToSupplierInvoice=Lier à une facture fournisseur LinkToContract=Lier à un contrat LinkToIntervention=Lier à une intervention LinkToTicket=Lien vers le ticket +LinkToMo=Link to Mo CreateDraft=Créer brouillon SetToDraft=Retour en brouillon ClickToEdit=Cliquer ici pour éditer @@ -845,7 +848,7 @@ XMoreLines=%s ligne(s) cachées ShowMoreLines=Afficher plus/moins de lignes PublicUrl=URL publique AddBox=Ajouter boite -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Sélectionnez un élément et cliquez %s PrintFile=Imprimer fichier %s ShowTransaction=Afficher l'écriture sur le compte bancaire ShowIntervention=Afficher intervention @@ -856,8 +859,8 @@ Denied=Refusé ListOf=Liste de %s ListOfTemplates=Liste des modèles Gender=Genre -Genderman=Male -Genderwoman=Female +Genderman=Homme +Genderwoman=Femme Genderother=Autre ViewList=Vue liste ViewGantt=Vue Gantt @@ -922,7 +925,7 @@ WebSiteAccounts=Comptes de site web ExpenseReport=Note de frais ExpenseReports=Notes de frais HR=HR -HRAndBank=Salarié +HRAndBank=RH et banque AutomaticallyCalculated=Calculé automatiquement TitleSetToDraft=Retour à l'état de brouillon ConfirmSetToDraft=Etes vous sûr de vouloir revenir à l'état Brouillon ? @@ -1072,6 +1075,7 @@ ValidFrom=Valide à partir de ValidUntil=Valide jusqu'au NoRecordedUsers=Aucun utilisateur ToClose=A fermer +ToRefuse=A refuser ToProcess=À traiter ToApprove=A approuver GlobalOpenedElemView=Vue globale @@ -1126,9 +1130,31 @@ UpdateForAllLines=Mise à jour de toutes les lignes OnHold=En attente Civility=Civilité AffectTag=Affecter un tag/catégorie +CreateExternalUser=Créer utilisateur externe ConfirmAffectTag=Affecter les tags en masse ConfirmAffectTagQuestion=Êtes-vous sur de vouloir affecter ces catégories aux %s lignes sélectionnées ? CategTypeNotFound=Aucun type de tag trouvé pour ce type d'enregistrements CopiedToClipboard=Copié dans le presse-papier InformationOnLinkToContract=Ce montant n’est que le total de toutes les lignes du contrat. Aucune notion de temps n’est prise en considération. -ConfirmCancel=Are you sure you want to cancel +ConfirmCancel=Êtes-vous sûr de vous annuler +EmailMsgID=E-mail MsgID +SetToEnabled=Définir sur activé +SetToDisabled=Définir sur désactivé +ConfirmMassEnabling=confirmation d'activation en masse +ConfirmMassEnablingQuestion=Êtes-vous sûr de vouloir activer les %s enregistrement(s) sélectionné(s) ? +ConfirmMassDisabling=confirmation de désactivation en masse +ConfirmMassDisablingQuestion=Êtes-vous sûr de vouloir désactiver les %s enregistrement(s) sélectionné(s) ? +RecordsEnabled=%s enregistrement(s) activé(s) +RecordsDisabled=%s enregistrement(s) désactivé(s) +RecordEnabled=Enregistrement activé +RecordDisabled=Enregistrement désactivé +Forthcoming=À venir +Currently=Actuellement +ConfirmMassLeaveApprovalQuestion=Êtes-vous sûr de vouloir approuver le(s) %s enregistrement(s) sélectionné(s) ? +ConfirmMassLeaveApproval=Confirmation de l'approbation en masse des congés +RecordAproved=Enregistrement approuvé +RecordsApproved=%s enregistrement(s) approuvé(s) +Properties=Properties +hasBeenValidated=%s has been validated +ClientTZ=Fuseau horaire client (utilisateur) +NotClosedYet=Not yet closed diff --git a/htdocs/langs/fr_FR/margins.lang b/htdocs/langs/fr_FR/margins.lang index fabd7851aad..dd1247311ff 100644 --- a/htdocs/langs/fr_FR/margins.lang +++ b/htdocs/langs/fr_FR/margins.lang @@ -22,7 +22,7 @@ ProductService=Produit ou Service AllProducts=Tous les produits et services ChooseProduct/Service=Choisissez le produit ou le service ForceBuyingPriceIfNull=Forcer le prix d'achat au prix de vente si non renseigné -ForceBuyingPriceIfNullDetails=Si le prix d'achat/revient n'est pas défini quand on ajouter une nouvelle ligne, et que cette option est "ON", la marge sera de 0 sur la nouvelle ligne (le prix d'achat/revient = prix de vente). Si l'option est à "OFF" (recommandé), la marge sera égale à la valeur suggérée par défaut (et peut être 100% si aucune valeur par défaut n'est trouvé). +ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0%% on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100%% if no default value can be found). MARGIN_METHODE_FOR_DISCOUNT=Méthode de gestion des remises globales UseDiscountAsProduct=Comme un produit UseDiscountAsService=Comme un service diff --git a/htdocs/langs/fr_FR/members.lang b/htdocs/langs/fr_FR/members.lang index 8cd437794d7..b848c156383 100644 --- a/htdocs/langs/fr_FR/members.lang +++ b/htdocs/langs/fr_FR/members.lang @@ -7,7 +7,7 @@ Members=Adhérents ShowMember=Afficher fiche adhérent UserNotLinkedToMember=Utilisateur non lié à un adhérent ThirdpartyNotLinkedToMember=Tiers non lié à un adhérent -MembersTickets=Étiquettes d'adhérents +MembersTickets=Étiquettes d'adresses adhérents FundationMembers=Membres de l'association ListOfValidatedPublicMembers=Liste des adhérents publics validés ErrorThisMemberIsNotPublic=Cet adhérent n'est pas public @@ -15,12 +15,12 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Un autre adhérent (nom: %s, i ErrorUserPermissionAllowsToLinksToItselfOnly=Pour des raisons de sécurité, il faut posséder les droits de modification de tous les utilisateurs pour pouvoir lier un adhérent à un utilisateur autre que vous même. SetLinkToUser=Lier à un utilisateur Dolibarr SetLinkToThirdParty=Lier à un tiers Dolibarr -MembersCards=Business cards for members +MembersCards=Carte de visite pour les adhérents MembersList=Liste des adhérents MembersListToValid=Liste des adhérents brouillons (à valider) MembersListValid=Liste des adhérents valides -MembersListUpToDate=Liste des adhérents validés avec une adhésion à jour -MembersListNotUpToDate=Liste des adhérents validés avec une adhésion expirée +MembersListUpToDate=Liste des adhérents validés avec une cotisation à jour +MembersListNotUpToDate=Liste des adhérents validés avec une cotisation expirée MembersListExcluded=Liste des adhérents exclus MembersListResiliated=Liste des adhérents résiliés MembersListQualified=Liste des adhérents qualifiés @@ -32,7 +32,7 @@ MembersWithSubscriptionToReceive=Adhérents avec cotisation à recevoir MembersWithSubscriptionToReceiveShort=Cotisations à recevoir DateSubscription=Date adhésion DateEndSubscription=Date fin adhésion -EndSubscription=Subscription Ends +EndSubscription=Fin adhésion SubscriptionId=Id adhésion WithoutSubscription=Sans adhésion MemberId=Id adhérent @@ -45,7 +45,7 @@ MemberStatusDraft=Brouillon (à valider) MemberStatusDraftShort=Brouillon MemberStatusActive=Validé (attente cotisation) MemberStatusActiveShort=Validé -MemberStatusActiveLate=Adhésion/cotisation expirée +MemberStatusActiveLate=Adhésion / cotisation expirée MemberStatusActiveLateShort=Expiré MemberStatusPaid=Adhésions à jour MemberStatusPaidShort=A jour @@ -68,10 +68,10 @@ DeleteAMemberType=Supprimer un type d'adhérent ConfirmDeleteMemberType=Êtes-vous sur de vouloir supprimer ce type d' adhérent ? MemberTypeDeleted=Type d'adhérent supprimé MemberTypeCanNotBeDeleted=Ce type d'adhérent ne peut pas être supprimé -NewSubscription=Nouvelle adhésion +NewSubscription=Nouvelle cotisation NewSubscriptionDesc=Ce formulaire permet de vous inscrire comme nouvel adhérent de l'association. Pour un renouvellement (si vous êtes déjà adhérent), contactez plutôt l'association par email %s. -Subscription=Adhésion/cotisation -Subscriptions=Adhésions/cotisations +Subscription=Adhésion / cotisation +Subscriptions=Adhésions / cotisations SubscriptionLate=En retard SubscriptionNotReceived=Cotisation non reçue ListOfSubscriptions=Liste des cotisations @@ -85,14 +85,15 @@ DeleteType=Supprimer VoteAllowed=Vote autorisé Physical=Personne physique Moral=Personne morale -MorAndPhy=Personne physique et personne morale -Reenable=Réactivé +MorAndPhy=Personnes morales et physiques +Reenable=Réactiver ExcludeMember=Exclure un adhérent +Exclude=Exclure ConfirmExcludeMember=Êtes-vous sûr de vouloir exclure cet adhérent ? ResiliateMember=Résilier un adhérent ConfirmResiliateMember=Êtes-vous sûr de vouloir résilier cet adhérent ? DeleteMember=Effacer un membre -ConfirmDeleteMember=Êtes-vous sûr de vouloir effacer ce membre (Effacer un membre efface aussi toutes ses cotisations) ? +ConfirmDeleteMember=Êtes-vous sûr de vouloir supprimer ce membre (Supprimer un membre supprime aussi toutes ses cotisations) ? DeleteSubscription=Effacer une adhésion ConfirmDeleteSubscription=Êtes-vous sûr de vouloir effacer cette adhésion ? Filehtpasswd=Fichier htpasswd @@ -104,7 +105,7 @@ BlankSubscriptionForm=Formulaire d'auto-inscription publique BlankSubscriptionFormDesc=Dolibarr peut vous fournir un URL/site web public afin de permettre aux visiteurs externes de faire une demande d'inscription à la fondation. Si un module de paiement est actif, un formulaire de paiement sera également fourni automatiquement. EnablePublicSubscriptionForm=Activer le formulaire public d'auto-inscription ForceMemberType=Forcer le type d'adhérent -ExportDataset_member_1=Adhérents et adhésions +ExportDataset_member_1=Adhérents et cotisations ImportDataset_member_1=Adhérents LastMembersModified=Les %s derniers adhérents modifiés LastSubscriptionsModified=Les %s dernières adhésions modifiées @@ -139,12 +140,12 @@ ThisIsContentOfSubscriptionReminderEmail=Nous voulons vous informer que votre ad ThisIsContentOfYourCard=Ceci est un rappel des informations que nous avons vous concernant. N'hésitez pas à nous contacter en cas d'erreur.

    DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Sujet de l'email reçu en cas d'auto-inscription d'un invité DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Email reçu en cas d'auto-inscription d'un invité -DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Modèle Email à utiliser pour envoyer un email à un adhérent sur auto-adhésion de l'adhérent +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Modèle Email à utiliser pour envoyer un email à un adhérent sur auto-inscription de l'adhérent DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Modèle d'email à utiliser pour envoyer un email à un membre sur la validation d'un membre DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Modèle d'email électronique à utiliser pour envoyer un courrier électronique à un membre lors de l'enregistrement d'une nouvelle cotisation DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Modèle d'email électronique à utiliser pour envoyer un rappel par courrier électronique lorsque l'adhésion est sur le point d'expirer DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Modèle d'email utilisé pour envoyer un email à un adhérent lors de l'annulation d'adhésion -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Modèle de courriel à utiliser pour envoyer un courriel à un adhérent en cas d’exclusion de l'adhérent +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Modèle de courriel à utiliser pour envoyer un courriel à un adhérent lors de son exclusion DescADHERENT_MAIL_FROM=Email émetteur pour les mails automatiques DescADHERENT_ETIQUETTE_TYPE=Format pages étiquettes DescADHERENT_ETIQUETTE_TEXT=Texte imprimé sur les planches d'adresses adhérent @@ -156,7 +157,7 @@ DescADHERENT_CARD_FOOTER_TEXT=Texte imprimé sur le bas des cartes d'adhérent ShowTypeCard=Voir type '%s' HTPasswordExport=Génération fichier htpassword NoThirdPartyAssociatedToMember=Pas de tiers associé à cet adhérent -MembersAndSubscriptions= Adhérents et Adhésions +MembersAndSubscriptions=Adhérents et Cotisations MoreActions=Action complémentaire à l'enregistrement MoreActionsOnSubscription=Action complémentaire proposée par défaut à l'enregistrement de l'adhésion MoreActionBankDirect=Création une écriture directe sur le compte bancaire ou caisse @@ -168,41 +169,41 @@ DocForAllMembersCards=Génération de cartes pour tous les adhérents DocForOneMemberCards=Génération de cartes pour un adhérent particulier DocForLabels=Génération d'étiquettes d'adresses SubscriptionPayment=Paiement cotisation -LastSubscriptionDate=Date de dernière adhésion +LastSubscriptionDate=Date de la dernière cotisation LastSubscriptionAmount=Montant dernière adhésion LastMemberType=Dernier type d'adhérent MembersStatisticsByCountries=Statistiques des membres par pays MembersStatisticsByState=Statistiques des membres par département/province/canton MembersStatisticsByTown=Statistiques des membres par ville MembersStatisticsByRegion=Statistiques des membres par région -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Nombre total d'adhérents +NbOfActiveMembers=Nombre total d'adhérents actifs actuellement NoValidatedMemberYet=Aucun membre validé trouvé -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=Cet écran vous présente une vue statistique du nombre d'adhérents par pays. Le graphique utilise toutefois le service en ligne de graphique de Google et n'est opérationnel uniquement que si une connexion internet est disponible. +MembersByStateDesc=Cet écran vous présente une vue statistique du nombre d'adhérents par département/province/canton. +MembersByTownDesc=Cet écran vous présente une vue statistique du nombre d'adhérents par ville. +MembersByNature=Cet écran vous montre les statistiques sur les adhérents par nature. +MembersByRegion=Cet écran vous montre les statistiques sur les adhérents par région. MembersStatisticsDesc=Choisissez les statistiques que vous désirez consulter... MenuMembersStats=Statistiques -LastMemberDate=Latest membership date -LatestSubscriptionDate=Date de dernière adhésion -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +LastMemberDate=Date dernière adhésion +LatestSubscriptionDate=Date de dernière cotisation +MemberNature=Nature de l'adhérent +MembersNature=Nature des adhérents +Public=Informations publiques NewMemberbyWeb=Nouvel adhérent ajouté. En attente de validation NewMemberForm=Nouvel Adhérent form -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Statistiques sur les cotisations NbOfSubscriptions=Nombre de cotisations -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Montant des cotisations TurnoverOrBudget=Chiffre affaire (pour société) ou Budget (asso ou collectivité) DefaultAmount=Montant par défaut de la cotisation -CanEditAmount=Le visiteur peut modifier/choisir le montant de sa cotisation +CanEditAmount=Le visiteur peut modifier / choisir le montant de sa cotisation MEMBER_NEWFORM_PAYONLINE=Rediriger sur la page intégrée de paiement en ligne ByProperties=Par nature MembersStatisticsByProperties=Statistiques des adhérents par nature -VATToUseForSubscriptions=Taux de TVA pour les adhésions -NoVatOnSubscription=Pas de TVA sur les adhésions +VATToUseForSubscriptions=Taux de TVA pour les cotisations +NoVatOnSubscription=Pas de TVA pour les cotisations ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Produit/Service utilisé pour la ligne de cotisation dans la facture: %s NameOrCompany=Nom ou société SubscriptionRecorded=Adhésion enregistré @@ -213,4 +214,7 @@ SendReminderForExpiredSubscription=Envoyer un rappel par e-mail aux membres lors MembershipPaid=Adhésion payée pour la période en cours (jusqu'au %s) YouMayFindYourInvoiceInThisEmail=Vous pouvez trouver votre facture jointe à cet email XMembersClosed=%s adhérent(s) résilié(s) -ForceMemberNature=Forcer la nature du membre (Personne physique ou personne morale) +XExternalUserCreated=%s utilisateur(s) externe(s) créé(s) +ForceMemberNature=Forcer la nature de l'adhérent (personne physique ou morale) +CreateDolibarrLoginDesc=La création d'un login utilisateur pour les membres leur permet de se connecter à l'application. En fonction des autorisations accordées, ils pourront par exemple consulter ou modifier eux-mêmes leur dossier. +CreateDolibarrThirdPartyDesc=Un tiers est l'entité juridique qui sera utilisée sur la facture si vous décidez de générer une facture pour chaque cotisation. Vous pourrez le créer plus tard au cours du processus d'enregistrement de la cotisation. diff --git a/htdocs/langs/fr_FR/modulebuilder.lang b/htdocs/langs/fr_FR/modulebuilder.lang index 1bd6f76c06f..d2b4a28902a 100644 --- a/htdocs/langs/fr_FR/modulebuilder.lang +++ b/htdocs/langs/fr_FR/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Convertisseur Ascii en HTML AsciiToPdfConverter=Convertisseur Ascii en PDF TableNotEmptyDropCanceled=La table n’est pas vide. La suppression a été annulée. ModuleBuilderNotAllowed=Le module builder est activé mais son accès n'est pas autorisé pour votre utilisateur +ImportExportProfiles=Importer et exporter des profils diff --git a/htdocs/langs/fr_FR/mrp.lang b/htdocs/langs/fr_FR/mrp.lang index 4cfa8e0035d..4aaeb4f9366 100644 --- a/htdocs/langs/fr_FR/mrp.lang +++ b/htdocs/langs/fr_FR/mrp.lang @@ -9,11 +9,12 @@ LatestBOMModified=Le %s dernières BOMs modifiées LatestMOModified=Les %s derniers Ordres de Fabrication modifiés Bom=Nomenclatures produits (BOM) BillOfMaterials=Nomenclature BOM +BillOfMaterialsLines=Lignes de nomenclature BOMsSetup=Configuration du module BOM ListOfBOMs=Liste des BOMs ListOfManufacturingOrders=Liste des Ordres de Fabrication NewBOM=Nouveau BOM -ProductBOMHelp=Produit à créer avec cette nomenclature.
    Remarque: les produits avec la propriété 'Nature of product' = 'Matière première' ne sont pas visibles dans cette liste. +ProductBOMHelp=Produit à créer (ou désassembler) avec cette nomenclature.
    Remarque: les produits avec la propriété 'Nature de produit' = 'Matière première' ne sont pas visibles dans cette liste. BOMsNumberingModules=Modèles de numérotation de BOMs BOMsModelModule=Modèles de documents de BOMs MOsNumberingModules=Modèles de numérotation d'OF @@ -31,7 +32,7 @@ ValueOfMeansLossForProductProduced=Une valeur de 0,95 signifie une moyenne de 5% DeleteBillOfMaterials=Supprimer la nomenclature DeleteMo=Supprimer l'ordre de fabrication ConfirmDeleteBillOfMaterials=Êtes-vous sûr de vouloir supprimer cette nomenclature? -ConfirmDeleteMo=Êtes-vous sûr de vouloir supprimer cette nomenclature? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Ordres de fabrication NewMO=Nouvel Ordre de fabrication QtyToProduce=Quantité à produire @@ -39,7 +40,7 @@ DateStartPlannedMo=Date de début prévue DateEndPlannedMo=Date de fin prévue KeepEmptyForAsap=Vide signifie 'Dès que possible' EstimatedDuration=Durée estimée -EstimatedDurationDesc=Durée estimée de fabrication de ce produit à l'aide de cette nomenclature (BOM) +EstimatedDurationDesc=Durée de fabrication (ou décomposition) planifiée pour ce produit avec cette BOM ConfirmValidateBom=Voulez-vous vraiment valider la nomenclature (BOM) avec la référence %s (vous pourrez l'utiliser pour créer de nouveaux Ordres de Fabrication) ConfirmCloseBom=Voulez-vous vraiment annuler cette nomenclature (vous ne pourrez plus l'utiliser pour créer de nouveaux Ordres de Fabrication)? ConfirmReopenBom=Êtes-vous sûr de vouloir rouvrir cette nomenclature (vous pourrez l'utiliser pour créer de nouveaux Ordres de Fabrication) @@ -55,6 +56,7 @@ WarehouseForProduction=Entrepôt pour la fabrication CreateMO=Créer OF ToConsume=A consommer ToProduce=Produire +ToObtain=A obtenir QtyAlreadyConsumed=Qté déjà consommée QtyAlreadyProduced=Qté déjà produite QtyRequiredIfNoLoss=Quantité requise s'il n'y a pas de perte (l'efficacité de fabrication est de 100%%) @@ -63,14 +65,16 @@ ConsumeAndProduceAll=Consommer et Produire tout Manufactured=Fabriqué TheProductXIsAlreadyTheProductToProduce=Le produit à ajouter est déjà le produit à produire. ForAQuantityOf=Pour une quantité à produire de %s +ForAQuantityToConsumeOf=Pour une quantité à désassembler de %s ConfirmValidateMo=Voulez-vous vraiment valider cet ordre de fabrication? ConfirmProductionDesc=En cliquant sur '%s', vous validerez la consommation et / ou la production pour les quantités définies. Cela mettra également à jour le stock et enregistrera les mouvements de stock. ProductionForRef=Production de %s AutoCloseMO=Fermer automatiquement l'Ordre de Fabrication si les quantités à consommer et à produire sont atteintes NoStockChangeOnServices=Aucune variation de stock sur les services ProductQtyToConsumeByMO=Quantité de produit restant à consommer par OF ouvert -ProductQtyToProduceByMO=Quantité de produits encore à produire par OF ouverte +ProductQtyToProduceByMO=Quantités restant à produire avec les OF ouverts AddNewConsumeLines=Ajouter une nouvelle ligne à consommer +AddNewProduceLines=Add new line to produce ProductsToConsume=Produits à consommer ProductsToProduce=Produits à produire UnitCost=Coût unitaire @@ -100,3 +104,4 @@ HumanMachine=Humain/machine WorkstationArea=Espace Poste de travail Machines=Machines THMEstimatedHelp=Ce taux permet de définir un coût prévisionnel de l'article +MOAndLines=Ordres de fabrication et lignes diff --git a/htdocs/langs/fr_FR/opensurvey.lang b/htdocs/langs/fr_FR/opensurvey.lang index 35a9031583f..d9538d4c3e5 100644 --- a/htdocs/langs/fr_FR/opensurvey.lang +++ b/htdocs/langs/fr_FR/opensurvey.lang @@ -48,6 +48,8 @@ AddEndHour=Ajouter heure de fin votes=vote(s) NoCommentYet=Pas de commentaires laissés pour le moment sur ce sondage CanComment=Les votants peuvent poster des commentaires +YourVoteIsPrivate=This poll is private, nobody can see your vote. +YourVoteIsPublic=This poll is public, anybody with the link can see your vote. CanSeeOthersVote=Les votants peuvent voir les votes des autres SelectDayDesc=Pour chaque jour, vous pouvez choisir, ou pas, les heures au format suivant :
    - laisser vide,
    - "8h", "8H" ou "8:00" pour définir uniquement une heure de début,
    - "8-11", "8h-11h", "8H-11H" ou "8:00-11:00" pour définir une heure de début et de fin,
    - "8h15-11h15", "8H15-11H15" ou "8:15-11:15" pour définir une heure de début et fin avec précision sur les minutes. BackToCurrentMonth=Retour au mois en cours diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index dff5915fa6b..3dedc120aa7 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Identifiant utilisateur qui a fermé FileWasRemoved=Le fichier %s a été supprimé DirWasRemoved=Le répertoire %s a été supprimé FeatureNotYetAvailable=Fonctionnalité pas encore disponible dans cette version +FeatureNotAvailableOnDevicesWithoutMouse=Fonctionnalité indisponible sur les équipements sans souris FeaturesSupported=Fonctionnalités prises en charge Width=Largeur Height=Hauteur @@ -183,7 +184,7 @@ EnableGDLibraryDesc=Vous devez activer ou installer la librairie GD avec votre P ProfIdShortDesc=Id prof. %s est une information qui dépend du pays du tiers.
    Par exemple, pour le pays %s, il s'agit du code %s. DolibarrDemo=Démonstration de Dolibarr ERP/CRM StatsByNumberOfUnits=Statistiques de quantités de produits/services -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statistiques du nombre d'entités référentes (nb de factures, ou de commandes...) NumberOfProposals=Nombre de propositions commerciales NumberOfCustomerOrders=Nombre de commandes clients NumberOfCustomerInvoices=Nombre de factures clients @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/adresse créé par le collecteur de courr ProjectCreatedByEmailCollector=Projet créé par le collecteur de courrier électronique à partir du courrier électronique MSGID %s TicketCreatedByEmailCollector=Ticket créé par le collecteur de courrier électronique à partir du courrier électronique MSGID %s OpeningHoursFormatDesc=Utilisez un - pour séparer les heures d'ouverture et de fermeture.
    Utilisez un espace pour entrer différentes plages.
    Exemple: 8-12 14-18 -PrefixSession=Préfixe pour l'ID de la session +SuffixSessionName=Suffixe pour le nom de la session ##### Export ##### ExportsArea=Espace exports @@ -289,4 +290,8 @@ PopuProp=Produits / services par popularité dans les propositions PopuCom=Produits/services par popularité dans les commandes ProductStatistics=Statistiques sur les produits / services NbOfQtyInOrders=Qté en commandes -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=Sélectionner un objet pour en voir les statistiques + +ConfirmBtnCommonContent = Êtes-vous sûr de vouloir "%s" ? +ConfirmBtnCommonTitle = Confirmer votre action +CloseDialog = Fermer diff --git a/htdocs/langs/fr_FR/partnership.lang b/htdocs/langs/fr_FR/partnership.lang index 4200ee5dfc9..ac701df0670 100644 --- a/htdocs/langs/fr_FR/partnership.lang +++ b/htdocs/langs/fr_FR/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Gestion des partenariats -PartnershipDescription = Module de gestion des partenariats +ModulePartnershipName=Gestion des partenariats +PartnershipDescription=Module de gestion des partenariats PartnershipDescriptionLong= Module de gestion des partenariats +AddPartnership=Ajouter un partenariat +CancelPartnershipForExpiredMembers=Partenariat : annuler le partenariat des adhérents dont les cotisations ont expirés +PartnershipCheckBacklink=Partenariat : Vérifiez le backlink référent + # # Menu # -NewPartnership = Nouveau partenariat -ListOfPartnerships = Listes des partenariats +NewPartnership=Nouveau partenariat +ListOfPartnerships=Listes des partenariats # # Admin page # -PartnershipSetup = Page de configuration du module Partenariat -PartnershipAbout = À propos de Partenariat -PartnershipAboutPage = Page d'informations du module Partenariat - +PartnershipSetup=Page de configuration du module Partenariat +PartnershipAbout=À propos de Partenariat +PartnershipAboutPage=Page d'informations du module Partenariat +partnershipforthirdpartyormember=Le statut Partenaire doit être défini sur un 'tiers' ou un 'adhérent' +PARTNERSHIP_IS_MANAGED_FOR=Partenariat géré pour +PARTNERSHIP_BACKLINKS_TO_CHECK=Liens de retour à vérifier +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb de jours avant l'annulation de l'état d'un partenariat lorsque la cotisation a expiré +ReferingWebsiteCheck=Vérification du site référent +ReferingWebsiteCheckDesc=Vous pouvez activer une fonctionnalité pour vérifier que vos partenaires ont ajouté un rétrolien vers les domaines de votre site Web sur leur propre site Web. # # Object # +DeletePartnership=Supprimer un partenariat +PartnershipDedicatedToThisThirdParty=Partenariat dédié à ce tiers +PartnershipDedicatedToThisMember=Partenariat dédié à cet adhérent DatePartnershipStart=Date de début DatePartnershipEnd=Date de fin +ReasonDecline=Raison du refus +ReasonDeclineOrCancel=Raison du refus +PartnershipAlreadyExist=Partenariat déjà existant +ManagePartnership=Gestion de partenariat +BacklinkNotFoundOnPartnerWebsite=Lien de retour non trouvé sur le site web partenaire +ConfirmClosePartnershipAsk=Êtes-vous sûr de vouloir annuler ce partenariat ? +PartnershipType=Type de partenariat # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Le partenariat sera bientôt annulé +SendingEmailOnPartnershipRefused=Partenariat refusé +SendingEmailOnPartnershipAccepted=Partenariat accepté +SendingEmailOnPartnershipCanceled=Partenariat annulé +YourPartnershipWillSoonBeCanceledTopic=Le partenariat sera bientôt annulé +YourPartnershipRefusedTopic=Partenariat refusé +YourPartnershipAcceptedTopic=Partenariat accepté +YourPartnershipCanceledTopic=Partenariat annulé + +YourPartnershipWillSoonBeCanceledContent=Nous vous informons que votre demande de partenariat va bientôt être annulée (lien de retour non trouvé) +YourPartnershipRefusedContent=Nous vous informons que votre demande de partenariat a été refusée. +YourPartnershipAcceptedContent=Nous vous informons que votre demande de partenariat a été acceptée. +YourPartnershipCanceledContent=Nous vous informons que votre demande de partenariat a été annulée. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Raison du refus # # Status # -PartnershipDraft = Brouillon -PartnershipAccepted = Accepté -PartnershipRefused = Refusé -PartnershipCanceled = Annulé - -PartnershipManagedFor=Partners are +PartnershipDraft=Brouillon +PartnershipAccepted=Accepté +PartnershipRefused=Refusé +PartnershipCanceled=Annulé +PartnershipManagedFor=Les partenaires sont diff --git a/htdocs/langs/fr_FR/printing.lang b/htdocs/langs/fr_FR/printing.lang index 62cad4af2c5..49ac6d2292d 100644 --- a/htdocs/langs/fr_FR/printing.lang +++ b/htdocs/langs/fr_FR/printing.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - printing -Module64000Name=Impressions Directe -Module64000Desc=Activer le système d'impression Directe -PrintingSetup=Réglages du module Impression Directe -PrintingDesc=Ce module ajoute un bouton Imprimer afin d'envoyer directement les documents à une imprimante (sans ouvrir le document dans une application). -MenuDirectPrinting=Travaux d'impressions directe -DirectPrint=Impressions Directe +Module64000Name=One click Printing +Module64000Desc=Enable One click Printing System +PrintingSetup=Setup of One click Printing System +PrintingDesc=This module adds a Print button to various modules to allow documents to be printed directly to a printer with no need to open the document into another application. +MenuDirectPrinting=One click Printing jobs +DirectPrint=One click Print PrintingDriverDesc=Paramètres de configuration pour le driver d'impression ListDrivers=Liste des drivers PrintTestDesc=Liste des imprimantes @@ -50,5 +50,5 @@ GoogleAuthNotConfigured=Configuration Google OAuth non terminé. Activer le modu GoogleAuthConfigured=Identifiants Google OAuth trouvé dans la configuration du module OAuth. PrintingDriverDescprintgcp=Paramètres de configuration des drivers Google Cloud Print pour les impressions. PrintingDriverDescprintipp=Variables de configuration pour le pilotes d'impression Cups. -PrintTestDescprintgcp=List des imprimantes Google Cloud Print. +PrintTestDescprintgcp=Liste des imprimantes Google Cloud Print. PrintTestDescprintipp=Liste des imprimantes pour Cups. diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index 337af188fe1..ccd5e43d3d7 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -26,18 +26,19 @@ ShowLogOfMovementIfLot=Afficher l'historique des mouvements de couple produit / StockDetailPerBatch=Stock détaillé par lot SerialNumberAlreadyInUse=Le numéro de série %s est déjà utilisé pour le produit %s TooManyQtyForSerialNumber=Vous ne pouvez avoir qu'un seul produit %s pour le numéro de série %s -BatchLotNumberingModules=Options pour la génération automatique de produits en lots gérés par lots -BatchSerialNumberingModules=Options pour la génération automatique de produits en lots gérés par numéros de série ManageLotMask=Masque personnalisé -CustomMasks=Ajoute une option pour définir le masque dans la fiche produit -LotProductTooltip=Crée un champ dans la fiche produit pour définir un modèle spécifique de numéro de lot -SNProductTooltip=Crée un champ dans la fiche produit pour définir un modèle spécifique de numéro de série +CustomMasks=Option pour définir un masque de numérotation différent pour chaque produit +BatchLotNumberingModules=Règle de numérotation pour la génération automatique de numéro de lot +BatchSerialNumberingModules=Règle de numérotation pour la génération automatique de numéro de série (pour les produits avec propriété 1 lot/série unique pour chaque produit) QtyToAddAfterBarcodeScan=Quantité à ajouter pour chaque code à barres/lot/série scanné LifeTime=Durée de vie (en jours) -EndOfLife=Date de fin de vie +EndOfLife=Fin d'utilisation ManufacturingDate=Date de fabrication -DestructionDate=Date de mise au rebut -FirstUseDate=Date de mise en service -QCFrequency=Periodicité de contrôle (en jours) +DestructionDate=Date de destruction +FirstUseDate=Date de première mise en service +QCFrequency=Fréquence du contrôle qualité (en jours) +ShowAllLots=Show all lots +HideLots=Hide lots +#Traceability - qc status +OutOfOrder=Hors d'usage InWorkingOrder=En état de marche -OutOfOrder=Hors d’usage diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index 9501fc6022b..be7b4a2726e 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=Services en vente uniquement ServicesOnPurchaseOnly=Services en achat uniquement ServicesNotOnSell=Services hors vente et hors achat ServicesOnSellAndOnBuy=Services en vente et en achat -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Les %s derniers produits/services modifiés LastRecordedProducts=Les %s derniers produits enregistrés LastRecordedServices=Les %s derniers services enregistrés CardProduct0=Produit @@ -73,12 +73,13 @@ SellingPrice=Prix de vente SellingPriceHT=Prix de vente HT SellingPriceTTC=Prix de vente TTC SellingMinPriceTTC=Prix de vente min. (TTC) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=Ce champ de prix (hors taxes) peut être utilisé pour saisir le montant moyen que ce produit coûte à votre société. Il peut s'agir de n'importe quel prix que vous calculez vous-même, par exemple à partir du prix d'achat moyen plus le coût moyen de production et de distribution. CostPriceUsage=Cette valeur peut être utilisée dans le calcul des marges. +ManufacturingPrice=Manufacturing price SoldAmount=Solde PurchasedAmount=Montant des achats NewPrice=Nouveau prix -MinPrice=Min. selling price +MinPrice=Prix de vente min. EditSellingPriceLabel=Modifier le libellé du prix de vente CantBeLessThanMinPrice=Le prix de vente ne doit pas être inférieur au minimum pour ce produit (%s HT). Ce message peut aussi être provoqué par une remise trop importante. ContractStatusClosed=Clôturé @@ -157,11 +158,11 @@ ListServiceByPopularity=Liste des services par popularité Finished=Produit manufacturé RowMaterial=Matière première ConfirmCloneProduct=Êtes-vous sûr de vouloir cloner le produit ou service %s ? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Cloner toutes les informations principales du produits/service ClonePricesProduct=Cloner les prix -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Cloner les tags/catégories +CloneCompositionProduct=Cloner les produits/services virtuels +CloneCombinationsProduct=Cloner les variantes du produit ProductIsUsed=Ce produit est utilisé NewRefForClone=Réf. du nouveau produit/service SellingPrices=Prix de vente @@ -170,12 +171,12 @@ CustomerPrices=Prix clients SuppliersPrices=Prix fournisseurs SuppliersPricesOfProductsOrServices=Prix fournisseurs (des produits ou services) CustomCode=Nomenclature douanière ou Code SH -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=Pays d'origine +RegionStateOrigin=Région d'origine +StateOrigin=Etat/province d'origine +Nature=Nature du produit (matière première/produit fabriqué) NatureOfProductShort=Nature de produit -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=Matière première ou produit fabriqué ShortLabel=Libellé court Unit=Unité p=u. @@ -277,7 +278,7 @@ PriceByCustomer=Prix différents pour chaque client PriceCatalogue=Un seul prix de vente par produit/service PricingRule=Règles pour les prix clients AddCustomerPrice=Ajouter prix par client -ForceUpdateChildPriceSoc=Définir le même prix sur les filiales des clients +ForceUpdateChildPriceSoc=Fixer le même prix sur les filiales du client PriceByCustomerLog=Historique des prix clients précédents MinimumPriceLimit=Le prix ​​minimum ne peut pas être inférieure à %s MinimumRecommendedPrice=Prix minimum recommandé : %s @@ -296,6 +297,7 @@ ComposedProductIncDecStock=Augmenter/Réduire le stock sur changement du stock d ComposedProduct=Produits fils MinSupplierPrice=Prix d'achat minimum MinCustomerPrice=Prix de vente minimum +NoDynamicPrice=Pas de prix dynamique DynamicPriceConfiguration=Configuration du prix dynamique DynamicPriceDesc=L'activation de ce module ajoute au fiches des produits une fonction d'enregistrement de formules de calcul des prix sur les prix de vente et d'achat. Ces formules supportent tous les opérateurs mathématiques, quelques constantes et variables. Définissez ici les variables que que vous voulez pouvoir utiliser, et si la variable nécessite d'être actualisée, l'URL externe ou Dolibarr ira chercher la nouvelle valeur AddVariable=Ajouter une Variable @@ -340,7 +342,7 @@ ProductSheet=Fiche produit ServiceSheet=Fiche service PossibleValues=Valeurs possibles GoOnMenuToCreateVairants=Allez sur le menu %s - %s pour ajouter les attributs de variantes (comme les couleurs, tailles, ...) -UseProductFournDesc=Ajouter une fonctionnalité pour définir les descriptions des produits définies par les fournisseurs en plus des descriptions pour les clients +UseProductFournDesc=Ajouter une fonctionnalité pour définir la description produit définie par les vendeurs (pour chaque référence vendeur) en plus de la description pour les clients ProductSupplierDescription=Description du fournisseur du produit UseProductSupplierPackaging=Utiliser le conditionnement/emballage sur les prix fournisseur (recalculer les quantités en fonction de l'emballage défini sur le prix fournisseur lors de l'ajout / mise à jour de la ligne dans les documents fournisseurs) PackagingForThisProduct=Emballage @@ -396,3 +398,13 @@ ActionAvailableOnVariantProductOnly=Action disponible uniquement sur la variante ProductsPricePerCustomer=Prix produit par clients ProductSupplierExtraFields=Attributs supplémentaires (Prix fournisseur) DeleteLinkedProduct=Supprimer le produit enfant lié à la combinaison +AmountUsedToUpdateWAP=Amount to use to update the Weighted Average Price +PMPValue=Prix moyen pondéré (PMP) +PMPValueShort=PMP +mandatoryperiod=Mandatory periods +mandatoryPeriodNeedTobeSet=Attention periods not entered and mandatory +mandatoryPeriodNeedTobeSetMsgValidate=A service requires a start and end period +mandatoryHelper=Message to the user on the need to enter a start date and an end date on a service when creating / validating an invoice, commercial proposal, sales order.
    This action is not blocking in the process of confirmation +DefaultBOM=Nomenclature par défaut +DefaultBOMDesc=La nomenclature par défaut qu'il est recommandé d'utiliser pour fabriquer ce produit. Ce champ ne peut être défini que si la nature du produit est '%s'. +Rank=Rank diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index d7ab95ff424..53e1e80a0e8 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -10,19 +10,19 @@ PrivateProject=Contacts projet ProjectsImContactFor=Projets dont je suis un contact explicite AllAllowedProjects=Tout projet que je peux lire (les miens + public) AllProjects=Tous les projets -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Cette vue est limitée aux projets pour lesquels vous êtres un contact affecté ProjectsPublicDesc=Cette vue présente tous les projets pour lesquels vous êtes habilité à avoir une visibilité. TasksOnProjectsPublicDesc=Cette vue affiche toutes les tâches de projets selon vos permissions utilisateur ProjectsPublicTaskDesc=Cette vue présente tous les projets et tâches pour lesquels vous êtes habilité à avoir une visibilité. ProjectsDesc=Cette vue présente tous les projets (vos habilitations vous offrant une vue exhaustive). TasksOnProjectsDesc=Cette vue présente toutes les tâches sur tous les projets (vos permissions d'utilisateur vous accordent la permission de voir tout). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Cette vue est restreinte aux projets ou tâches pour lesquels vous êtes un contact affecté. OnlyOpenedProject=Seuls les projets ouverts sont visibles (les projets à l'état brouillon ou fermé ne sont pas visibles). ClosedProjectsAreHidden=Les projets fermés ne sont pas visible. TasksPublicDesc=Cette vue présente tous les projets et tâches pour lesquels vous êtes habilité à avoir une visibilité. TasksDesc=Cette vue présente tous les projets et tâches (vos habilitations vous offrant une vue exhaustive). AllTaskVisibleButEditIfYouAreAssigned=Toutes les tâches des projets sont visibles mais il n'est possible de saisir du temps passé que sur celles assignées à l'utilisateur sélectionné.\nAssignez la tâche si elle ne l'est pas déjà pour pouvoir saisir du temps dessus. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Seules les tâches qui vous sont assignées sont visibles. Assignez vous une tâche pour la voir et saisir du temps dessus. ImportDatasetTasks=Tâches des projets ProjectCategories=Catégories/tags de projet NewProject=Nouveau projet @@ -140,6 +140,7 @@ NoTasks=Aucune tâche pour ce projet LinkedToAnotherCompany=Liés à autre société TaskIsNotAssignedToUser=Tâche non assignée à l'utilisateur. Utilisez le bouton '%s' pour assigner la tâche maintenant. ErrorTimeSpentIsEmpty=Le temps consommé n'est pas renseigné +TimeRecordingRestrictedToNMonthsBack=L'enregistrement du temps est limité à %s mois en arrière ThisWillAlsoRemoveTasks=Cette opération détruira également les tâches du projet (%s tâches actuellement) et le suivi des consommés. IfNeedToUseOtherObjectKeepEmpty=Si des objets (facture, commande, ...), appartenant à un autre tiers que celui choisi, doivent être liés au projet à créer, laisser vide afin de laisser le projet multi-tiers. CloneTasks=Cloner les tâches @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=Non assigné à la tache NoUserAssignedToTheProject=Aucun utilisateur assigné à ce projet TimeSpentBy=Temps consommé par TasksAssignedTo=Tâches assignées à -AssignTaskToMe=Assign task to myself +AssignTaskToMe=M'assigner la tâche AssignTaskToUser=Assigner tâche à %s SelectTaskToAssign=Sélectionnez la tâche à assigner AssignTask=Assigner @@ -241,6 +242,7 @@ LatestModifiedProjects=Les %s derniers projets modifiés OtherFilteredTasks=Autres tâches filtrées NoAssignedTasks=Aucune tâche assignée (assignez un projet/tâche à l'utilisateur depuis la liste déroulante utilisateur en haut pour pouvoir saisir du temps dessus) ThirdPartyRequiredToGenerateInvoice=Un tiers doit être défini sur le projet pour pouvoir le facturer. +ThirdPartyRequiredToGenerateInvoice=Un tiers doit être défini sur le projet pour pouvoir le facturer. ChooseANotYetAssignedTask=Choisissez une tâche qui ne vous est pas encore assignée # Comments trans AllowCommentOnTask=Autoriser les utilisateurs à ajouter des commentaires sur les tâches @@ -252,10 +254,12 @@ SendProjectRef=A propos du projet %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Le module 'Paiement des salaires des employés' doit être activé pour définir le taux horaire des employés afin de valoriser le temps passé NewTaskRefSuggested=Réf de tâche déjà utilisée, une nouvelle référence de tâche est requise TimeSpentInvoiced=Temps passé facturé +TimeSpentForIntervention=Temps consacré TimeSpentForInvoice=Temps consommés OneLinePerUser=Une ligne par utilisateur ServiceToUseOnLines=Service à utiliser sur les lignes InvoiceGeneratedFromTimeSpent=La facture %s a été générée à partir du temps passé sur le projet +InterventionGeneratedFromTimeSpent=L'intervention %s a été générée à partir du temps consacré au projet ProjectBillTimeDescription=Cochez si vous saisissez du temps sur les tâches du projet ET prévoyez de générer des factures à partir des temps pour facturer le client du projet (ne cochez pas si vous comptez créer une facture qui n'est pas basée sur la saisie des temps). Note: Pour générer une facture, aller sur l'onglet 'Temps consommé' du project et sélectionnez les lignes à inclure. ProjectFollowOpportunity=Suivre une opportunité ProjectFollowTasks=Suivre des tâches ou du temps passé @@ -264,12 +268,18 @@ UsageOpportunity=Utilisation: Opportunité UsageTasks=Utilisation: Tâches UsageBillTimeShort=Utilisation: Facturation du temps InvoiceToUse=Facture brouillon à utiliser +InterToUse=Intervention brouillon à utiliser NewInvoice=Nouvelle facture +NewInter=Nouvelle intervention OneLinePerTask=Une ligne par tâche OneLinePerPeriod=Une ligne par période +OneLinePerTimeSpentLine=Une ligne pour chaque déclaration de temps passé +AddDetailDateAndDuration=Avec date et durée dans la description de la ligne RefTaskParent=Réf. Tâche parent ProfitIsCalculatedWith=Le bénéfice est calculé sur la base de AddPersonToTask=Ajouter également aux tâches UsageOrganizeEvent=Utilisation: Organisation d'événements PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classer le projet comme étant clos lorsque toutes ses tâches sont terminées (progression 100%%) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Remarque : les projets existants avec toutes les tâches terminées à 100 %% ne seront pas affectés : vous devrez les fermer manuellement. Cette option n’affecte que les projets ouverts. +SelectLinesOfTimeSpentToInvoice=Sélectionnez les lignes de temps consacré non facturées, puis l'action groupée "Générer la facture" pour les facturer +ProjectTasksWithoutTimeSpent=Project tasks without time spent diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang index b019b275e6e..3728eba94d3 100644 --- a/htdocs/langs/fr_FR/propal.lang +++ b/htdocs/langs/fr_FR/propal.lang @@ -33,7 +33,7 @@ PropalStatusSigned=Signée (à facturer) PropalStatusNotSigned=Non signée (fermée) PropalStatusBilled=Facturée PropalStatusDraftShort=Brouillon -PropalStatusValidatedShort=Validé (ouvert) +PropalStatusValidatedShort=Ouvert PropalStatusClosedShort=Fermée PropalStatusSignedShort=Signée PropalStatusNotSignedShort=Non signée @@ -89,4 +89,11 @@ IdProposal=ID de la proposition commerciale IdProduct=ID produit PrParentLine=Ligne parent de proposition LineBuyPriceHT=Prix d'achat HT de la ligne - +SignPropal=Signer la proposition commerciale +RefusePropal=Refuser la proposition commerciale +Sign=Signer +PropalAlreadyRefused=Proposition commerciale déjà refusée +PropalAlreadySigned=Proposition commerciale déjà signée +PropalSigned=Proposition commerciale signée +PropalRefused=Proposition commerciale refusée +ConfirmRefusePropal=Êtes-vous sûr de vouloir refuser cette proposition commerciale ? diff --git a/htdocs/langs/fr_FR/receptions.lang b/htdocs/langs/fr_FR/receptions.lang index 498e02786cc..afdb38558ae 100644 --- a/htdocs/langs/fr_FR/receptions.lang +++ b/htdocs/langs/fr_FR/receptions.lang @@ -36,7 +36,7 @@ StatsOnReceptionsOnlyValidated=Statistiques effectuées sur les réceptionss val SendReceptionByEMail=Envoyer la réception par email SendReceptionRef=Envoi du bordereau de réception %s ActionsOnReception=Événements sur la réception -ReceptionCreationIsDoneFromOrder=Pour le moment, la création d'une nouvelle réception se fait depuis la fiche commande. +ReceptionCreationIsDoneFromOrder=Pour le moment, la création d'une nouvelle réception se fait depuis la fiche commande fournisseur. ReceptionLine=Ligne de réception ProductQtyInReceptionAlreadySent=Quantité de produit en commande ouverte déjà expédiée ProductQtyInSuppliersReceptionAlreadyRecevied=Quantité de produit déjà reçu en commandes fournisseur ouvertes @@ -44,4 +44,5 @@ ValidateOrderFirstBeforeReception=Vous devez d'abord valider la commande avant d ReceptionsNumberingModules=Module de numérotation pour les réceptions ReceptionsReceiptModel=Modèles de document pour les réceptions NoMorePredefinedProductToDispatch=Plus de produits prédéfinis à expédier - +ReceptionExist=Une réception existe +ByingPrice=Bying price diff --git a/htdocs/langs/fr_FR/salaries.lang b/htdocs/langs/fr_FR/salaries.lang index 848ec9b039d..0dcf1a6d869 100644 --- a/htdocs/langs/fr_FR/salaries.lang +++ b/htdocs/langs/fr_FR/salaries.lang @@ -17,8 +17,9 @@ TJM=Tarif journalier moyen CurrentSalary=Salaire actuel THMDescription=Cette valeur peut être utilisé pour calculer le coût horaire consommé dans un projet suivi par utilisateurs si le module projet est utilisé TJMDescription=Cette valeur est actuellement seulement une information et n'est utilisé pour aucun calcul -LastSalaries=Les %s derniers règlements de salaires -AllSalaries=Tous les règlements de salaires +LastSalaries=Les %s derniers salaires +AllSalaries=Tous les salaires SalariesStatistics=Statistiques -# Export SalariesAndPayments=Salaires et paiements +ConfirmDeleteSalaryPayment=Voulez-vous supprimer ce paiement de salaire ? +FillFieldFirst=Remplisez d'abord le champ salarié diff --git a/htdocs/langs/fr_FR/sendings.lang b/htdocs/langs/fr_FR/sendings.lang index cd4c3d1d94d..673677e19c3 100644 --- a/htdocs/langs/fr_FR/sendings.lang +++ b/htdocs/langs/fr_FR/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Êtes-vous sûr de vouloir valider cette expédition sous ConfirmCancelSending=Êtes-vous sûr de vouloir annuler cette expédition ? DocumentModelMerou=Modèle Merou A5 WarningNoQtyLeftToSend=Alerte, aucun produit en attente d'expédition. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Les statistiques ne prennent en compte que les envois validés. La date utilisée est celle qui est la date de validation de l'envoi (la date de réception prévue n'est pas nécessairement connue) DateDeliveryPlanned=Date prévue de livraison RefDeliveryReceipt=Ref bon de réception StatusReceipt=Status du bon de réception @@ -59,7 +59,7 @@ ProductQtyInCustomersOrdersRunning=Quantité de produit en commandes client ouve ProductQtyInSuppliersOrdersRunning=Quantité de produit de commandes fournisseur ouvertes ProductQtyInShipmentAlreadySent=Quantité de produit en commande ouverte déjà expédiée ProductQtyInSuppliersShipmentAlreadyRecevied=Quantité de produit déjà reçu en commandes fournisseur ouvertes -NoProductToShipFoundIntoStock=Aucun produit à expédier n'a été trouver dans l'entrepôt %s. Corrigez le stock ou choisir un autre entrepôt. +NoProductToShipFoundIntoStock=Aucun produit à expédier n'a été trouvé dans l'entrepôt %s. Corrigez le stock ou choisissez un autre entrepôt. WeightVolShort=Poids/vol. ValidateOrderFirstBeforeShipment=Vous devez d'abord valider la commande pour pouvoir créer une expédition. diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index c03fe42f01e..9244b3db53d 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -14,7 +14,7 @@ DefaultWarehouse=Entrepôt par défaut WarehouseTarget=Entrepôt destination ValidateSending=Valider expédition CancelSending=Annuler expédition -DeleteSending=Supprimer expédition +DeleteSending=Supprimer l'expédition Stock=Stock Stocks=Stocks MissingStocks=Stocks manquants @@ -37,7 +37,7 @@ AllWarehouses=Tous les entrepôts IncludeEmptyDesiredStock=Inclure aussi les stocks négatifs quand le stock désiré optimal n'est pas défini IncludeAlsoDraftOrders=Inclure également les commandes brouillons Location=Lieu -LocationSummary=Nom court du lieu +LocationSummary=Nom court de l'emplacement NumberOfDifferentProducts=Nombre de produits uniques NumberOfProducts=Nombre total de produits LastMovement=Dernier mouvement @@ -56,15 +56,13 @@ UnitPurchaseValue=Prix d'achat unitaire StockTooLow=Stock insuffisant StockLowerThanLimit=Stock inférieur au stock d'alerte (%s) EnhancedValue=Valorisation -PMPValue=Valorisation (PMP) -PMPValueShort=PMP EnhancedValueOfWarehouses=Valorisation des stocks UserWarehouseAutoCreate=Créer automatiquement un stock/entrepôt propre à l'utilisateur lors de sa création AllowAddLimitStockByWarehouse=Gérez également les valeurs des stocks minimums et souhaités par paire (produit-entrepôt) en plus des valeurs de minimums et souhaités par produit RuleForWarehouse=Règle pour les entrepôts -WarehouseAskWarehouseOnThirparty=Définir un entrepôt sur un tiers +WarehouseAskWarehouseOnThirparty=Définir un entrepôt sur les tiers WarehouseAskWarehouseDuringPropal=Définir un entrepôt sur les propositions commerciales -WarehouseAskWarehouseDuringOrder=Définir un entrepôt sur les commandes +WarehouseAskWarehouseDuringOrder=Définir un entrepôt sur les commandes clients UserDefaultWarehouse=Définir un entrepôt sur les utilisateurs MainDefaultWarehouse=Entrepôt par défaut MainDefaultWarehouseUser=Utiliser un entrepôt par défaut pour chaque utilisateur @@ -77,9 +75,9 @@ OrderDispatch=Réceptions RuleForStockManagementDecrease=Règle de gestion des décrémentations automatiques de stock (la décrémentation manuelle est toujours possible, même si une décrémentation automatique est activée) RuleForStockManagementIncrease=Règle de gestion des incrémentations de stock (l'incrémentation manuelle est toujours possible, même si une incrémentation automatique est activée) DeStockOnBill=Décrémenter les stocks physiques sur validation des factures/avoirs clients -DeStockOnValidateOrder=Décrémenterr les stocks physiques sur validation des commandes clients +DeStockOnValidateOrder=Décrémenter les stocks physiques sur validation des commandes clients DeStockOnShipment=Décrémenter les stocks physiques sur validation des expéditions -DeStockOnShipmentOnClosing=Décrémente les stocks physiques au classement "clôturée" de l'expédition +DeStockOnShipmentOnClosing=Décrémenter les stocks physiques au classement "clôturée" de l'expédition ReStockOnBill=Incrémenter les stocks physiques sur validation des factures/avoirs fournisseurs ReStockOnValidateOrder=Incrémenter les stocks physiques sur approbation des commandes fournisseurs ReStockOnDispatchOrder=Incrémenter les stocks physiques sur ventilation manuelle dans les entrepôts, après réception de la marchandise @@ -91,7 +89,7 @@ NoPredefinedProductToDispatch=Pas de produits prédéfinis dans cet objet. Aucun DispatchVerb=Ventiler StockLimitShort=Limite pour alerte StockLimit=Limite stock pour alerte -StockLimitDesc=(vide) n'affichera aucune icone d'alerte.
    0 peut être saisi pour afficher une alerte en cas de stock nul. +StockLimitDesc=(vide) signifie pas d'avertissement.
    0 peut être utilisé pour déclencher un avertissement dès que le stock est vide. PhysicalStock=Stock physique RealStock=Stock réel RealStockDesc=Le stock physique ou réel est le stock présent dans les entrepôts. @@ -169,8 +167,8 @@ MovementTransferStock=Transfert de stock du produit %s dans un autre entrepôt InventoryCodeShort=Code Inv./Mouv. NoPendingReceptionOnSupplierOrder=Pas de réception en attente consécutive à des commandes fournisseurs ThisSerialAlreadyExistWithDifferentDate=Ce lot/numéro de série (%s) existe déjà mais avec des dates de consommation ou péremption différente (trouvé %s mais vous avez entré %s). -OpenAll=Accepte tous les mouvements -OpenInternal=Limité aux mouvements internes +OpenAnyMovement=Ouvert (tous les mouvements) +OpenInternal=Ouvert (uniquement mouvement interne) UseDispatchStatus=Utiliser un statut de contrôle (approuvé / refusé) pour les lignes de produits lors de la réception de la commande OptionMULTIPRICESIsOn=L'option "plusieurs prix par tranches" est activée. Cela signifie qu'un produit à plusieurs prix de vente donc sa valeur de vente ne peut être calculée. ProductStockWarehouseCreated=Alerte de limite de stock et de stock désiré ajoutée @@ -251,9 +249,17 @@ SelectAStockMovementFileToImport=sélectionnez un fichier de mouvement de stock InfoTemplateImport=Le fichier téléchargé doit avoir ce format (* champs obligatoires):
    Entrepôt source* | Entrepôt cible* | Produit* | Quantité* | Numéro de lot/série
    Le caractère de séparation CSV doit être "%s" LabelOfInventoryMovemement=Inventaire %s ReOpen=Réouvrir -ConfirmFinish=Confirmez-vous la clôture de l’inventaire? Ceci générera tous les mouvements de stock pour mettre à jour votre stock. +ConfirmFinish=Confirmez-vous la clôture de l'inventaire ? Cela générera tous les mouvements de stock pour mettre à jour votre stock à la quantité réelle que vous avez entrée dans l'inventaire. ObjectNotFound=%s introuvable MakeMovementsAndClose=Générer les mouvements et fermer AutofillWithExpected=Remplir la quantité réelle avec la quantité prévue -ShowAllBatchByDefault=Dérouler par défaut le détail des lots dans l'onglet "stock" -CollapseBatchDetailHelp=Vous pouvez définir l'affichage par défaut du détail des lots dans la configuration du module stocks +ShowAllBatchByDefault=Par défaut, afficher les détails des lots sur l'onglet "stock" du produit +CollapseBatchDetailHelp=Vous pouvez définir l'affichage par défaut des détails du lot dans la configuration du module de stocks +FieldCannotBeNegative=Le champ "%s" ne peut pas être négatif +ErrorWrongBarcodemode=Mode code-barres inconnu +ProductDoesNotExist=Le produit n'existe pas +ErrorSameBatchNumber=Même numéro de lot trouvé dans la liste d'inventaire +ProductBatchDoesNotExist=Le produit avec ce lot/série n'existe pas +ProductBarcodeDoesNotExist=Le produit avec ce code-barres n'existe pas +WarehouseId=ID entrepôt +WarehouseRef=Réf entrepôt diff --git a/htdocs/langs/fr_FR/ticket.lang b/htdocs/langs/fr_FR/ticket.lang index 9a62c443c56..04dbafe507f 100644 --- a/htdocs/langs/fr_FR/ticket.lang +++ b/htdocs/langs/fr_FR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Résolution TicketTypeShortCOM=Question commerciale TicketTypeShortHELP=Demande d'aide fonctionnelle -TicketTypeShortISSUE=Problème ou bogue +TicketTypeShortISSUE=Question ou bug +TicketTypeShortPROBLEM=Problème TicketTypeShortREQUEST=Demande de changement ou d'amélioration TicketTypeShortPROJET=Projet TicketTypeShortOTHER=Autre @@ -44,6 +45,8 @@ TicketSeverityShortNORMAL=Normal TicketSeverityShortHIGH=Élevé TicketSeverityShortBLOCKING=Critique, bloquant +TicketCategoryShortOTHER=Autre + ErrorBadEmailAddress=Champ '%s' incorrect MenuTicketMyAssign=Mes tickets MenuTicketMyAssignNonClosed=Mes tickets ouverts @@ -54,17 +57,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Utilisateur assigné TypeContact_ticket_external_SUPPORTCLI=Contact client / suivi des tickets TypeContact_ticket_external_CONTRIBUTOR=Contributeur externe -OriginEmail=E-mail source +OriginEmail=Email demandeur Notify_TICKET_SENTBYMAIL=Envoi d'un message du ticket par e-mail # Status Read=Lu Assigned=Assigné InProgress=En cours -NeedMoreInformation=Attente d'information +NeedMoreInformation=Attente retour demandeur +NeedMoreInformationShort=En attente de retour Answered=Répondu Waiting=En attente -Closed=Fermé +SolvedClosed=Résolu Deleted=Supprimé # Dict @@ -160,7 +164,7 @@ CreatedBy=Créé par NewTicket=Nouveau ticket SubjectAnswerToTicket=Réponse ticket TicketTypeRequest=Type de demande -TicketCategory=Groupe +TicketCategory=Catégorisation du ticket SeeTicket=Voir le ticket TicketMarkedAsRead=Le ticket a été marqué comme lu TicketReadOn=Lu @@ -178,15 +182,17 @@ MessageSuccessfullyAdded=Ticket créé TicketMessageSuccessfullyAdded=Message ajouté avec succès TicketMessagesList=Liste des messages NoMsgForThisTicket=Pas de message pour ce ticket -Properties=Classification +TicketProperties=Classification LatestNewTickets=Les %s derniers tickets (non lus) TicketSeverity=Sévérité ShowTicket=Voir le ticket RelatedTickets=Tickets liés TicketAddIntervention=Créer intervention -CloseTicket=Fermer le ticket -CloseATicket=Fermer un ticket +CloseTicket=Fermer|Résoudre ticket +AbandonTicket=Abandonner le ticket +CloseATicket=Fermer|Résoudre un ticket ConfirmCloseAticket=Confirmer la fermeture du ticket +ConfirmAbandonTicket=Confirmez-vous la fermeture du ticket au statut 'Abandonné' ConfirmDeleteTicket=Confirmez la suppression du ticket TicketDeletedSuccess=Ticket supprimé avec succès TicketMarkedAsClosed=Ticket indiqué fermé @@ -211,6 +217,7 @@ TicketMessageHelp=Seul ce texte sera sauvegardé dans la liste des messages sur TicketMessageSubstitutionReplacedByGenericValues=Les variables de substitution sont remplacées par des valeurs génériques. TimeElapsedSince=Temps écoulé depuis TicketTimeToRead=Temps écoulé avant la lecture +TicketTimeElapsedBeforeSince=Temps écoulé avant / depuis TicketContacts=Contacts ticket TicketDocumentsLinked=Documents liés ConfirmReOpenTicket=Voulez-vous ré-ouvrir ce ticket ? @@ -304,7 +311,7 @@ BoxLastModifiedTicket=Derniers tickets modifiés BoxLastModifiedTicketDescription=Les %s derniers tickets modifiés BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Pas de tickets modifiés récemment -BoxTicketType=Nombre de tickets ouverts par type +BoxTicketType=Répartition des tickets ouverts par type BoxTicketSeverity=Nombre de tickets ouverts par sévérité BoxNoTicketSeverity=Aucun ticket ouvert BoxTicketLastXDays=Nombre de nouveaux tickets par jour ces %s derniers jours @@ -314,3 +321,4 @@ BoxNumberOfTicketByDay=Nombre de nouveaux tickets par jour BoxNewTicketVSClose=Nombre de nouveaux tickets aujourd’hui par rapport aux tickets fermés aujourd’hui TicketCreatedToday=Ticket créé aujourd'hui TicketClosedToday=Ticket fermé aujourd'hui +KMFoundForTicketGroup=We found topics and FAQs that may answers your question, thanks to check them before submitting the ticket diff --git a/htdocs/langs/fr_FR/trips.lang b/htdocs/langs/fr_FR/trips.lang index 25e174f28a6..083842abebd 100644 --- a/htdocs/langs/fr_FR/trips.lang +++ b/htdocs/langs/fr_FR/trips.lang @@ -90,7 +90,6 @@ DATE_REFUS=Date refus DATE_SAVE=Date validation DATE_CANCEL=Date annulation DATE_PAIEMENT=Date de paiement -BROUILLONNER=Réouvrir ExpenseReportRef=Réf. note de frais ValidateAndSubmit=Valider et envoyer pour approbation ValidatedWaitingApproval=Validé (en attente d'approbation) diff --git a/htdocs/langs/fr_FR/users.lang b/htdocs/langs/fr_FR/users.lang index d730ca167ed..baa7463f999 100644 --- a/htdocs/langs/fr_FR/users.lang +++ b/htdocs/langs/fr_FR/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Mot de passe modifié en: %s SubjectNewPassword=Votre mot de passe pour %s GroupRights=Permissions groupe UserRights=Permissions utilisateur -Credentials=Credentials +Credentials=Identifiants UserGUISetup=Interface utilisateur DisableUser=Désactiver DisableAUser=Désactiver un utilisateur @@ -106,7 +106,7 @@ UseTypeFieldToChange=Modifier le champ Type pour changer OpenIDURL=URL OpenID LoginUsingOpenID=Se connecter par OpenID WeeklyHours=Heures de travail (par semaine) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Heures de travail prévues par semaine ColorUser=Couleur de l'utilisateur DisabledInMonoUserMode=Désactivé en mode maintenance UserAccountancyCode=Code comptable de l'utilisateur @@ -116,7 +116,7 @@ DateOfEmployment=Date d'embauche DateEmployment=Emploi DateEmploymentstart=Date d'embauche DateEmploymentEnd=Date de fin d'emploi -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Période de validité de l'identifiant CantDisableYourself=Vous ne pouvez pas désactiver votre propre compte utilisateur ForceUserExpenseValidator=Forcer le valideur des notes de frais ForceUserHolidayValidator=Forcer le valideur des congés diff --git a/htdocs/langs/fr_FR/website.lang b/htdocs/langs/fr_FR/website.lang index 9704067d76c..88bfa9f53e3 100644 --- a/htdocs/langs/fr_FR/website.lang +++ b/htdocs/langs/fr_FR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Ajouter site web Webpage=Page/container Web AddPage=Ajouter une page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=La prévisualisation de votre site web %s n'est pas disponible actuellement. Vous devez d'abord 'Importer un modèle de site web complet' ou juste 'Ajouter une page/container. +PreviewOfSiteNotYetAvailable=L'aperçu de votre site web %s n'est pas encore disponible. Vous devez d'abord " Importer un modèle de site Web complet " ou simplement " Ajouter une page/un conteneur ". RequestedPageHasNoContentYet=La page demandée avec l'id=%s ne présente encore aucun contenu ou le fichier cache .tpl.php a été supprimé. Ajoutez du contenu à la page pour résoudre cela. SiteDeleted=Site Web '%s' supprimé PageContent=Page/Container @@ -140,7 +140,7 @@ DefineListOfAltLanguagesInWebsiteProperties=Définir la liste des langues dispon GenerateSitemaps=Générer un fichier de plan du site ConfirmGenerateSitemaps=Si vous confirmez, vous effacerez le fichier de plan du site existant... ConfirmSitemapsCreation=Confirmer la génération du plan du site -SitemapGenerated=Sitemap file %s generated +SitemapGenerated=Le plan du site %sa été généré ImportFavicon=Favicon ErrorFaviconType=Le Favicon doit être en png ErrorFaviconSize=Le Favicon doit être de taille 16x16, 32x32 ou 64x64 diff --git a/htdocs/langs/fr_FR/withdrawals.lang b/htdocs/langs/fr_FR/withdrawals.lang index fb3e624423c..9bbb5a4a23d 100644 --- a/htdocs/langs/fr_FR/withdrawals.lang +++ b/htdocs/langs/fr_FR/withdrawals.lang @@ -133,8 +133,7 @@ SEPARCUR=SEPA RCUR SEPAFRST=SEPA FRST ExecutionDate=Date d'éxecution CreateForSepa=Créer fichier de prélèvement automatique -ICS=Identifiant du créditeur CI du prélèvement -ICSTransfer=Identifiant créditeur CI du virement bancaire +ICS=Creditor Identifier - ICS END_TO_END=Balise XML SEPA "EndToEndId" - Identifiant unique attribué par transaction USTRD=Balise XML SEPA "Non structurée" ADDDAYS=Ajouter des jours à la date d'exécution diff --git a/htdocs/langs/fr_FR/workflow.lang b/htdocs/langs/fr_FR/workflow.lang index 2af480afa83..57940106526 100644 --- a/htdocs/langs/fr_FR/workflow.lang +++ b/htdocs/langs/fr_FR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classer la/les proposition(s) commer descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classer la/les commande(s) client(s) source(s) facturée(s) à la validation de la facture client (et si le montant de la facture est le même que le montant total des commandes liées) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classer la/les commande(s) client(s) source(s) à Facturée quand une facture client est passée à Payé (et si le montant de la facture est identique à la somme des commandes sources) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classer la commande source à expédiée à la validation d'une expédition (et si les quantités expédiées dans le bon d'expédition sont les même que dans la commande mise à jour) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classer la ou les proposition(s) commerciale(s) fournisseur sources facturées quand une facture fournisseur est validée (et si le montant de la facture est le même que le total des propositions sources liées) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classer la ou les commande(s) fournisseur(s) de source(s) à facturée(s) lorsque la facture fournisseur est validée (et si le montant de la facture est le même que le montant total des commandes liées) @@ -22,4 +23,4 @@ descWORKFLOW_TICKET_CLOSE_INTERVENTION=Fermer toutes les interventions liées au AutomaticCreation=Création automatique AutomaticClassification=Classification automatique # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classer l'expédition source liée comme fermée lorsque la facture client est validée diff --git a/htdocs/langs/fr_GA/accountancy.lang b/htdocs/langs/fr_GA/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/fr_GA/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/fr_GA/admin.lang b/htdocs/langs/fr_GA/admin.lang index 8c6135dc874..e267e411fb1 100644 --- a/htdocs/langs/fr_GA/admin.lang +++ b/htdocs/langs/fr_GA/admin.lang @@ -1,5 +1,6 @@ # Dolibarr language file - Source file is en_US - admin Module20Name=Devis Module30Name=Factures +NotificationsDescGlobal=* or by setting global email addresses in this setup page. OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/fr_GA/cashdesk.lang b/htdocs/langs/fr_GA/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/fr_GA/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/fr_GA/cron.lang b/htdocs/langs/fr_GA/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/fr_GA/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/fr_GA/eventorganization.lang b/htdocs/langs/fr_GA/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/fr_GA/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/fr_GA/mrp.lang b/htdocs/langs/fr_GA/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/fr_GA/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/gl_ES/accountancy.lang b/htdocs/langs/gl_ES/accountancy.lang index 474e593baca..baafa873590 100644 --- a/htdocs/langs/gl_ES/accountancy.lang +++ b/htdocs/langs/gl_ES/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Países non CEE CountriesInEECExceptMe=Todos os paises incluidos na CEE excepto %s CountriesExceptMe=Todos os países excepto %s AccountantFiles=Exportar documentos contables -ExportAccountingSourceDocHelp=Con esta utilidade, pode exportar os eventos de orixe (lista e PDFs) que foron empregados para xerar a súa contabilidade. Para exportar os seus diarios, use a entrada de menú% s -% s. +ExportAccountingSourceDocHelp=Con esta ferramenta, pode exportar os eventos de orixe (lista en CSV e PDF) que se empregaron para xerar a súa contabilidade. +ExportAccountingSourceDocHelp2=Para exportar as súas revistas, use a entrada de menú %s - %s VueByAccountAccounting=Ver por conta contable VueBySubAccountAccounting=Ver pos subconta contable @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Lonxitude das contas contables de terceiros (Se defin ACCOUNTING_MANAGE_ZERO=Permitir xestionar un número diferente de ceros ao final dunha conta contable. Preciso por algúns países (como Suíza). Se está desactivado (predeterminado), pode configurar os seguintes dous parámetros para solicitar á aplicación que engada ceros virtuais. BANK_DISABLE_DIRECT_INPUT=Desactivar transaccións directas en conta bancaria ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Habilitar exportación de borradores al diario -ACCOUNTANCY_COMBO_FOR_AUX=Habilita a listaxe combinada para a conta contable subsidiaria (pode ser lento se ten moitos terceiros) +ACCOUNTANCY_COMBO_FOR_AUX=Activar a listaxe combinada para a conta subsidiaria (pode ser lento se ten moitos terceiros, rompe coa capacidade de buscar unha parte do valor) ACCOUNTING_DATE_START_BINDING=Define unha data para comezar a ligar e transferir na contabilidade. Por debaixo desta data, as transaccións non se transferirán á contabilidade. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Na transferencia de contabilidade, selecciona amosar o período por defecto @@ -245,9 +246,9 @@ DescThirdPartyReport=Consulte aquí o listaxe de clientes e provedores e os seus ListAccounts=Listaxe de contas contables UnknownAccountForThirdparty=Conta contable de terceiro descoñecida, usaremos %s UnknownAccountForThirdpartyBlocking=Conta contable de terceiro descoñecida. Erro de bloqueo. -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Conta contable de terceiro non definida ou terceiro descoñecido. Usaremos a %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Terceiro descoñecido e conta vinculada non definidos no pago. Manteremos o valor da conta ligada baleiro. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Conta do terceiro descoñecida ou terceiro descoñecido. Erro de bloqueo +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Conta de terceiros descoñecida e conta de espera non definida. Erro de bloqueo PaymentsNotLinkedToProduct=Pagos non ligados a un produto/servizo OpeningBalance=Saldo de apertura @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Desactivar a ligazón e transferencia na ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Desactivar a ligazón e transferencia na contabilidade dos informes de gastos (os informes de gastos non se terán en conta na contabilidade) ## Export +NotifiedExportDate=Data de exportación notificada (non será posible modificar as entradas) +NotifiedValidationDate=Validación das entradas (non será posible modificar ou eliminar as entradas) +ConfirmExportFile=Confirmación da xeración do ficheiro de exportación contable? ExportDraftJournal=Exportar libro borrador Modelcsv=Modelo de exportación Selectmodelcsv=Seleccione un modelo de exportación @@ -335,7 +339,7 @@ Modelcsv_normal=Exportación clásica Modelcsv_CEGID=Exportar cara a CEGID Expert Comptabilité Modelcsv_COALA=Exportar cara a Sage Celoala Modelcsv_bob50=Exportar cara a Sage BOB 50 -Modelcsv_ciel=Exportar cara a Sage Ciel Compta o Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Exportar cara a Quadratus QuadraCompta Modelcsv_ebp=Exportar a EBP Modelcsv_cogilog=Exportar a Cogilog diff --git a/htdocs/langs/gl_ES/admin.lang b/htdocs/langs/gl_ES/admin.lang index 6e35ac3d197..90924d1473f 100644 --- a/htdocs/langs/gl_ES/admin.lang +++ b/htdocs/langs/gl_ES/admin.lang @@ -53,9 +53,10 @@ InternalUser=Usuario interno ExternalUser=Usuario externo InternalUsers=Usuarios internos ExternalUsers=Usuarios externos +UserInterface=Interface de usuario GUISetup=Entorno SetupArea=Configuración -UploadNewTemplate=Nova(s) prantilla(s) actualizada(s) +UploadNewTemplate=Novo(s) padrón(s) actualizado(s) FormToTestFileUploadForm=Formulario de proba de subida de ficheiro (según opcións escollidas) ModuleMustBeEnabled=O módulo/aplicación %s debe estar activado ModuleIsEnabled=O módulo/aplicación %s foi activado @@ -84,6 +85,7 @@ NumberOfBytes=Número de Bytes SearchString=Buscar cadea NotAvailableWhenAjaxDisabled=Non dispoñible cando Ajax esté desactivado AllowToSelectProjectFromOtherCompany=Nun documento dun terceiro, pode escoller un proxecto ligado a outro terceiro +TimesheetPreventAfterFollowingMonths=Evita o tempo de gravación transcorrido despois do seguinte número de meses JavascriptDisabled=Javascript desactivado UsePreviewTabs=Ver lapelas vista previa ShowPreview=Ver vista previa @@ -116,6 +118,7 @@ MultiCurrencySetup=Configuración do módulo multimoeda MenuLimits=Límites e precisión MenuIdParent=Id do menú pai DetailMenuIdParent=ID do menú pai (baleiro para un menú superior) +ParentID=ID do pai DetailPosition=Número de orde para definir a posición do menú AllMenus=Todos NotConfigured=Módulo/Aplicación non configurado @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funcionaliade dispoñible exclusivamente en versió BoxesDesc=Os paneis son compoñentes que amosan algunha información que pode engadires para persoalizar algunhas páxinas. Pode escoller entre amosar ou non o panel seleccionando a páxina de destino e facendo clic en 'Activar', ou facendo clic na papeleira para desactivalo. OnlyActiveElementsAreShown=Só os elementos de módulos activados son amosados. ModulesDesc=Os módulos/aplicacións determinan qué funcionalidade está habilitada no software. Algúns módulos requiren permisos que teñen que ser concedidos aos usuarios logo de activar o módulo. Prema no botón %s de acendido/apagado de cada módulo para habilitar ou desactivar un módulo/aplicación. +ModulesDesc2=Prema no botón da roda %s para configurar o módulo aplicación. ModulesMarketPlaceDesc=Pode atopar mais módulos para descargar en sitios web externos da Internet ... ModulesDeployDesc=Se os permisos no seu sistema de ficheiros llo permiten, pode utilizar esta ferramenta para instalar un módulo externo. O módulo estará entón visible na lapela %s. ModulesMarketPlaces=Procurar módulos externos... @@ -221,8 +225,8 @@ NotCompatible=Este módulo non parece compatible co seu Dolibarr %s (Min %s - Ma CompatibleAfterUpdate=Este módulo require unha actualización do seu Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Ver na tenda SeeSetupOfModule=Ver a configuración do módulo %s +SetOptionTo=Estableza a opción %s a %s Updated=Actualizado -Nouveauté=Novidade AchatTelechargement=Compra/Descarga GoModuleSetupArea=Para aplicar/instalar un novo módulo, ir ao área de configuración de módulos %s. DoliStoreDesc=DoliStore, o sitio oficial de módulos externos e para Dolibarr ERP/CRM @@ -340,7 +344,7 @@ UnpackPackageInDolibarrRoot=Descomprimir os ficheiros comprimidos no directorio UnpackPackageInModulesRoot=Para instalar un módulo externo, descomprima o ficheiro no directorio do servidor adicado aos módulos externos:
    %s SetupIsReadyForUse=A instalación do módulo rematou. Porén, debe habilitar e configurar o módulo na súa aplicación, indo á páxina para configurar os módulos: %s. NotExistsDirect=O directorio raíz alternativo non está configurado nun directorio existente.
    -InfDirAlt=Dende a versión 3, é posible definir un directorio raíz alternativo. Isto permítelle almacenar, nun directorio adicado, plug-ins e prantillas persoalizadas.
    Só en que crear un directorio na raíz de Dolibarr (por exemplo: custom).
    +InfDirAlt=Dende a versión 3, é posible definir un directorio raíz alternativo. Isto permítelle almacenar, nun directorio adicado, plug-ins e padróns persoalizados.
    Só en que crear un directorio na raíz de Dolibarr (por exemplo: custom).
    InfDirExample=
    Despois indíqueo no ficheiro conf.php
    $dolibarr_main_url_root_alt ='/custom'
    $dolibarr_main_document_root_alt= '/path/of/dolibarr/htdocs/custom '
    Se estas liñas atópanse comentadas con "#", para habilitalas, chega con descomentar eliminando o carácter "#". YouCanSubmitFile=Alternativamente, pode subir o módulo .zip comprimido: CurrentVersion=Versión actual de Dolibarr @@ -379,11 +383,11 @@ MinLength=Lonxitude mínima LanguageFilesCachedIntoShmopSharedMemory=ficheiros .lang en memoria compartida LanguageFile=Ficheiro de idioma ExamplesWithCurrentSetup=Exemplos coa configuración actual -ListOfDirectories=Listaxe de directorios de prantillas OpenDocument -ListOfDirectoriesForModelGenODT=Listaxe de directorios que conteñen as prantillas de ficheiros co formato OpenDocument.

    Poña aquí a ruta completa de directorios.
    Engada un retorno de carro entre cada directorio
    Para engadir un directorio de módulo GED, engada aquí DOL_DATA_ROOT/ecm/seunomededirectorio.

    Os ficheiros deses directorios deben terminar co .odt o .ods. -NumberOfModelFilesFound=Número de ficheiros de prantillas ODT/ODS atopados nestes directorios +ListOfDirectories=Listaxe de directorios de padróns OpenDocument +ListOfDirectoriesForModelGenODT=Listaxe de directorios que conteñen os padróns de ficheiros co formato OpenDocument.

    Poña aquí a ruta completa de directorios.
    Engada un retorno de carro entre cada directorio
    Para engadir un directorio de módulo GED, engada aquí DOL_DATA_ROOT/ecm/seunomededirectorio.

    Os ficheiros deses directorios deben terminar co .odt o .ods. +NumberOfModelFilesFound=Número de ficheiros de padróns ODT/ODS atopados nestes directorios ExampleOfDirectoriesForModelGen=Exemplos de sintaxe:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir -FollowingSubstitutionKeysCanBeUsed=
    Colocando as seguintes etiquetas na prantilla, obterá uhna substitución co valor persoalizado ao xerar o documento: +FollowingSubstitutionKeysCanBeUsed=
    Colocando as seguintes etiquetas no padrón, obterá uhna substitución co valor persoalizado ao xerar o documento: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template FirstnameNamePosition=Orde visualización nome/apelidos DescWeather=Os seguintes gráficos serán amosados no panel se o número de elementos chega a estes valores: @@ -399,6 +403,7 @@ SecurityToken=Chave para cifrar urls NoSmsEngine=Non hai dispoñible ningún xestor de envío de SMS. Os xestores de envío de SMS no son instalados por defecto xa que dependen de cada provedor, porén pode atopalos na plataforma %s PDF=PDF PDFDesc=Opcións globais para xerar os PDF +PDFOtherDesc=Opción PDF específica para algúns módulos PDFAddressForging=Regras de visualización de enderezos HideAnyVATInformationOnPDF=Ocultar toda a información relacionada co IVE ao xerar os PDF PDFRulesForSalesTax=Regras de IVE @@ -480,7 +485,7 @@ NoDetails=Non hai mais detalles no rodapé de páxina DisplayCompanyInfo=Amosar enderezo da empresa DisplayCompanyManagers=Amosar nomes dos xestores DisplayCompanyInfoAndManagers=Amosar enderezo da empresa e nomes dos xestores -EnableAndSetupModuleCron=Se desexa que ista factura recorrente sexa xerada automáticamente, o módulo *%s* debe estar activado e configurado correctamente. De xeito contrario, o xerar facturas ten que facerse manualmente desde esta prantilla co botón *Crear*. Teña conta que incluso se habilita xerar automáticamente, aínda pode lanzar a xeneración manual. Non é posible xerar duplicados para o mesmo período. +EnableAndSetupModuleCron=Se desexa que ista factura recorrente sexa xerada automáticamente, o módulo *%s* debe estar activado e configurado correctamente. De xeito contrario, o xerar facturas ten que facerse manualmente desde este padrón co botón *Crear*. Teña conta que incluso se habilita xerar automáticamente, aínda pode lanzar a xeneración manual. Non é posible xerar duplicados para o mesmo período. ModuleCompanyCodeCustomerAquarium=%s seguido por un código de cliente para código de contabilidade de cliente ModuleCompanyCodeSupplierAquarium=%s seguido por un código de provedor para código de contabilidade de provedor ModuleCompanyCodePanicum=Volta un código contable baleiro. @@ -509,7 +514,7 @@ EnableOverwriteTranslation=Activar o uso de traducións sobreescritas GoIntoTranslationMenuToChangeThis=Atopouse unha tradución para a clave con este código. Para cambiar este valor, debe editalo desde Inicio-Configuración-Tradución. WarningSettingSortOrder=Aviso, establecer unha orde de clasificación predeterminada pode producir un erro técnico ao entrar na páxina da listaxe se o campo é un campo descoñecido. Se experimentas tal erro, volte a esta páxina para eliminar a orde de clasificación predeterminada e restaurar o comportamento predeterminado.Field=Campo Field=Campo -ProductDocumentTemplates=Prantillas de documentos para xerar documento de produto +ProductDocumentTemplates=Padróns de documentos para xerar documento de produto FreeLegalTextOnExpenseReports=Texto libre legal nos informes de gastos WatermarkOnDraftExpenseReports=Marca de auga nos informes de gastos AttachMainDocByDefault=Establezca isto en 1 se desexa axuntar o documento principal ao e-mail de forma predeterminada (se corresponde) @@ -558,10 +563,10 @@ Module52Name=Stocks Module52Desc=Xestión de stock Module53Name=Servizos Module53Desc=Xestión de servizos -Module54Name=Contratos/Suscricións +Module54Name=Contratos/Subscricións Module54Desc=Xestión de contratos (servizos ou suscripcións recurrentes) Module55Name=Códigos de barras -Module55Desc=Xestión dos códigos de barras +Module55Desc=Xestión de códigos de barras ou de código QR Module56Name=Pagamento por transferencia bancaria Module56Desc=Xestión do pagamento de provedores mediante pedimentos de transferencia. Inclúe a xeración de ficheiros SEPA para países europeos. Module57Name=Domiciliacións bancarias @@ -762,7 +767,7 @@ Permission151=Consultar domiciliacións Permission152=Crear/modificar domiciliacións Permission153=Enviar/Trasmitir domiciliacións Permission154=Rexistrar Abonos/Devolucións de domiciliacións -Permission161=Consultar contratos/suscricións +Permission161=Consultar contratos/subscricións Permission162=Crear/modificar contratos/suscripcións Permission163=Activar un servizo/suscripción dun contrato Permission164=Desactivar un servizo/suscripcion dun contrato @@ -830,7 +835,7 @@ Permission300=Consultar códigos de barras Permission301=Crear/modificar códigos de barras Permission302=Eliminar código de barras Permission311=Consultar servizos -Permission312=Asignar servizos/suscricións a un contrato +Permission312=Asignar servizos/subscricións a un contrato Permission331=Consultar marcadores Permission332=Crear/modificar marcadores Permission333=Eliminar marcadores @@ -848,10 +853,10 @@ Permission402=Crear/modificar haberes Permission403=Validar haberes Permission404=Eliminar haberes Permission430=Usa barra de debug -Permission511=Consultar pagamentos de salarios (teus e dos subordinados) -Permission512=Crear/modificar pagamentos de salarios -Permission514=Eliminar pagamentos de salarios -Permission517=Ler pagos de salarios de todos +Permission511=Ler salarios e pagos (os seus e subordinados) +Permission512=Crear / modificar salarios e pagos +Permission514=Eliminar salarios e pagos +Permission517=Ler todos os salarios e pagos Permission519=Exportar salarios Permission520=Consultar Créditos Permission522=Crear/modificar Créditos @@ -965,6 +970,8 @@ Permission23003=Borrar. Traballo Programado Permission23004=Executar. Traballo programado Permission50101=Usar TPV Permission50151=Usar TPV (TakeTPV) +Permission50152=Editar liñas de venda +Permission50153=Editar liñas de venda ordenadas Permission50201=Consultar as transaccións Permission50202=Importar as transaccións Permission50330=Ler obxectos de Zapier @@ -1033,17 +1040,18 @@ DictionarySource=Oríxes de orzamentos/pedimentos DictionaryAccountancyCategory=Grupos persoalizados para informes DictionaryAccountancysystem=Modelos de pláns contables DictionaryAccountancyJournal=Diarios contables -DictionaryEMailTemplates=Prantillas E-Mails +DictionaryEMailTemplates=Padróns E-Mails DictionaryUnits=Unidades DictionaryMeasuringUnits=Unidades de Medida DictionarySocialNetworks=Redes sociais DictionaryProspectStatus=Estado cliente potencial DictionaryProspectContactStatus=Estado da prospección dos contactos -DictionaryHolidayTypes=Tipos de vacacións +DictionaryHolidayTypes=Vacacións - Tipos de permisos DictionaryOpportunityStatus=Estado de oportunidade para o proxecto/oportunidade DictionaryExpenseTaxCat=Informe de gastos - Categorías de transporte DictionaryExpenseTaxRange=Informe de gastos - Rango por categoría de transporte DictionaryTransportMode=Informe intracom - Modo de transporte +DictionaryBatchStatus=Lote de produto/serie estado do Control de Calidade TypeOfUnit=Tipo de unidade SetupSaved=Configuración gardada SetupNotSaved=Configuración non gardada @@ -1185,9 +1193,12 @@ SetupDescription2=As seguintes dúas seccións son obrigatorias (as dúas primei SetupDescription3=%s->%s

    Parámetros básicos usados para persoalizar o comportamento por defecto de Dolibarr (ex. características relacionadas co país) SetupDescription4=%s -> %s

    Este software é unha colección de moitos módulos/aplicacións, todos eles mais ou menos independentes. Os módulos relevantes que precisas deben ser activados e configurados. Novos elementos/opcións serán engadidos aos menús coa activación do módulo. SetupDescription5=Outras entradas do menú de configuración xestionan parámetros opcionais. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Eventos de seguridade auditados NoSecurityEventsAreAduited=Non se auditan eventos de seguridade. Pode activalos no menu %s -Audit=Auditoría +Audit=Eventos de seguridade InfoDolibarr=Sobre Dolibarr InfoBrowser=Sobre o Navegador InfoOS=Sobre o SO @@ -1231,7 +1242,7 @@ MAIN_MAX_DECIMALS_SHOWN=Decimais máximos nos prezos amosados na pantalla MAIN_ROUNDING_RULE_TOT=Salto do intervalo de redondeo (para os países onde o redondeo se fai noutra cousa que non sexa a base 10. Por exemplo, pon 0,05 se o redondeo se fai 0,05 pasos) UnitPriceOfProduct=Prezo unitario sen IVE dun produto TotalPriceAfterRounding=Prezo total (sen IVE/ incluído taxas) despois do redondeo -ParameterActiveForNextInputOnly=Parámetro efectivo só a partires das próximas sesións +ParameterActiveForNextInputOnly=Parámetro efectivo só a partir das próximas sesións NoEventOrNoAuditSetup=Non foron rexistrados eventos de seguridade aínda. Isto pode ser normal se a auditoría non foi habilitada na páxina "Configuración->Seguridade->Auditoría". NoEventFoundWithCriteria=Non atopáronse eventos de seguridade para tales criterios de búsca. SeeLocalSendMailSetup=Ver a configuración local de sendmail @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Funcións SSL non dispoñibles no seu PHP DownloadMoreSkins=Mais temas para descargar SimpleNumRefModelDesc=Devolve o número de referencia no formato %s yymm-nnnn onde yy é o ano, mm é o mes e nnnn é un número secuencial de incremento automático sen restablecer SimpleNumRefNoDateModelDesc=Devolve o número de referencia no formato %s-nnnn onde nnnn é un número con incremento automático secuencial sen restablecemento -ShowProfIdInAddress=Amosa o identificador profisional nos enderezos dos documentos -ShowVATIntaInAddress=Ocultar o CIF intracomunitario nos enderezos dos documentos +ShowProfIdInAddress=Amosar identificación profesional con enderezos +ShowVATIntaInAddress=Ocultar o número de IVE intracomunitario TranslationUncomplete=Tradución parcial MAIN_DISABLE_METEO=Deshabilitar a vista meteorolóxica MeteoStdMod=Modo estándar @@ -1276,7 +1287,7 @@ MAIN_PROXY_PASS=Contrasinal do servidor proxy DefineHereComplementaryAttributes=Defina os atributos adicionais / personalizacións que se deben engadir a: %s ExtraFields=Campos adicionais ExtraFieldsLines=Campos adicionais (liñas) -ExtraFieldsLinesRec=Campos adicionais (prantillas de liñas de facturas) +ExtraFieldsLinesRec=Campos adicionais (padróns de liñas de facturas) ExtraFieldsSupplierOrdersLines=Campos adicionais (liñas de pedimento) ExtraFieldsSupplierInvoicesLines=Campos adicionais (liñas de factura) ExtraFieldsThirdParties=Campos adicionais (terceiros) @@ -1284,7 +1295,7 @@ ExtraFieldsContacts=Campos adicionais (contactos/enderezos) ExtraFieldsMember=Campos adicionais (miembros) ExtraFieldsMemberType=Campos adicionais (tipos de miembros) ExtraFieldsCustomerInvoices=Campos adicionais (facturas a clientes) -ExtraFieldsCustomerInvoicesRec=Campos adicionais (prantillas de facturas) +ExtraFieldsCustomerInvoicesRec=Campos adicionais (padróns de facturas) ExtraFieldsSupplierOrders=Campos adicionais (pedimentos a provedores) ExtraFieldsSupplierInvoices=Campos adicionais (facturas) ExtraFieldsProject=Campos adicionais (proxectos) @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Actualmente a condición é %s YouUseBestDriver=Está usando o driver %s, actualmente é o mellor driver dispoñible. YouDoNotUseBestDriver=Usa o driver %s aínda que é recomendable usar o driver %s. NbOfObjectIsLowerThanNoPb=So ten %s %s na base de datos. Isto non require ningunha optimización particular +ComboListOptim=Optimización da carga da lista combinada SearchOptim=Buscar optimización -YouHaveXObjectUseSearchOptim=Ten %s %s na base de datos. Pode engadir a constante %s a 1 en Configuración de Inicio-Configuración-Outro. Limita a busca ao comezo das cadeas o que fai posible que a base de datos use índices e debería obter unha resposta inmediata. -YouHaveXObjectAndSearchOptimOn=Ten %s %s na base de datos e a constante %s está configurada en 1 in Inicio-Configuración-Outra Configuración. +YouHaveXObjectUseComboOptim=Ten %s %s na base de datos. Pode entrar na configuración do múdulo para activar a carga da lista combinada ao premer na tecla do evento. +YouHaveXObjectUseSearchOptim=Ten %s %s na base de datos. Pode engadir a constante %s a 1 en Inicio-Configuración-Outra Configuración. +YouHaveXObjectUseSearchOptimDesc=Isto limita a busca ao comezo das cadeas o que fai posible que a base de datos use índices e debería obter unha resposta inmediata. +YouHaveXObjectAndSearchOptimOn=Ten %s %s na base de datos e a constante %s está configurada a %s en Inicio-Configuración-Outra Configuración. BrowserIsOK=Usa o navegador web %s. Este navegador está optimizado para a seguridade e o rendemento. BrowserIsKO=Usa o navegador web %s. Este navegador é unha mala escolla para a seguridade, rendemento e fiabilidade. Aconsellamos utilizar Firefox, Chrome, Opera ou Safari. PHPModuleLoaded=%s de compoñente PHP está cargado @@ -1359,7 +1373,7 @@ NotificationsDesc=As notificacións por e-mail permitenlle enviar silenciosament NotificationsDescUser=* por usuarios, un usuario á vez. NotificationsDescContact=* por contactos de terceiros (clientes ou provedores), un contacto á vez. NotificationsDescGlobal=* ou configurando destinatarios globlalmente na configuración do módulo. -ModelModules=Prantillas de documentos +ModelModules=Padróns de documentos DocumentModelOdt=Xeración dos documentos OpenDocument (Ficheiro .ODT / .ODS de LibreOffice, OpenOffice, KOffice, TextEdit...) WatermarkOnDraft=Marca de auga nos documentos borrador JSOnPaimentBill=Activar función para autocompletar as liñas de pagamento na entrada de pagamentos @@ -1428,11 +1442,12 @@ TemplatePDFContracts=Modelos de documento de contratos FreeLegalTextOnContracts=Texto libre en contratos WatermarkOnDraftContractCards=Marca de auga en contratos (o caso de estar baleiro) ##### Members ##### -MembersSetup=Configuración do módulo Asociacóns +MembersSetup=Configuración do módulo Asociacións MemberMainOptions=Opcións principais AdherentLoginRequired= Xestionar un login para cada membro AdherentMailRequired=E-Mail obrigatorio para crear un membro novo MemberSendInformationByMailByDefault=Caixa de verificación para enviar o correo de confirmación (validación ou nova cotización) aos membros é por defecto "sí" +MemberCreateAnExternalUserForSubscriptionValidated=Crea un inicio de sesión de usuario externo para cada nova subscrición de membro validada VisitorCanChooseItsPaymentMode=O visitante pode escoller entre os modos de pagamento dispoñibles MEMBER_REMINDER_EMAIL=Habilitar recordatorio de eventos por e-mail de suscripcións expiradas. Nota: O módulo %s debe estar habilitado e configurado correctamente para que o recordatorio sexa enviado. MembersDocModules=Modelos de documentos para documentos xerados a partir do rexistro de membros @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Cal vista desexa abrir de xeito predeterminado ao selecciona AGENDA_REMINDER_BROWSER=Activar a lembranza de eventos no navegador do usuario (Cando se alcanza a data de lembranza, o navegador amosa unha ventá emerxente. Cada usuario pode desactivar estas notificacións desde a configuración de notificacións do navegador). AGENDA_REMINDER_BROWSER_SOUND=Activar a notificación de son AGENDA_REMINDER_EMAIL=Activar a lembranza de eventos por correo electrónico (a opción de lembranza/atraso pódese definir en cada evento). -AGENDA_REMINDER_EMAIL_NOTE=Nota: A frecuencia da tarefa %s debe ser suficiente para asegurarse de que as lembranzas se envían no momento correcto. +AGENDA_REMINDER_EMAIL_NOTE=Nota: A frecuencia do traballo programado %s debe ser suficiente para asegurarse de que as lembranzas se envían no momento correcto. AGENDA_SHOW_LINKED_OBJECT=Amosar o obxecto ligado á vista de axenda ##### Clicktodial ##### ClickToDialSetup=Prema para marcar a configuración do módulo ClickToDialUrlDesc=Url chamada cando se fai un clic na imaxe do teléfono. En URL, pode usar etiquetas
    __PHONETO__ que se substituirán polo número de teléfono da persoa á que chamar
    __PHONEFROM__ que se substituirá polo número de teléfono persoa (túa)
    __LOGIN__ que se substituirá por inicio de sesión clicktodial (definido na tarxeta de usuario)
    __PASS__ que se substituirá por contrasinal clicktodial (definido na tarxeta de usuario). ClickToDialDesc=Este módulo cambia os números de teléfono cando se usa un ordenador de escritorio por ligazóns onde se pode facer clic. Un clic chamará ao número. Isto pódese empregar para iniciar a chamada cando se usa un teléfono por software no seu escritorio ou cando se usa un sistema CTI baseado no protocolo SIP por exemplo. Nota: Cando se usa un teléfono intelixente, sempre se pode facer clic nos números de teléfono. ClickToDialUseTelLink=Use só unha ligazón "tel:" nos números de teléfono -ClickToDialUseTelLinkDesc=Utilice este método se os seus usuarios teñen instalado no mesmo ordenador que o do navegador un software de teléfono ou unha interface telefónica, chamando cando fan clic nunha ligazón do seu navegador que comeza con "tel:". Se precisa unha solución de servidor completa (sen necesidade de instalación de software local), debe establecer isto en "Non" e encher o seguinte campo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Terminales Punto de Venda CashDeskSetup=Configuración do módulo Punto de venda @@ -1905,8 +1920,8 @@ RecuperableOnly=Sí para o IVE "Non percibido pero recuperable" dedicado a algú UrlTrackingDesc=Se o provedor ou servizo de transporte ofrece unha páxina ou sitio web para comprobar o estado dos seus envíos, pode introducilo aquí. Podes usar a clave {TRACKID} nos parámetros de URL para que o sistema a substitúa polo número de seguimento que o usuario introduciu na tarxeta de envío. OpportunityPercent=Cando cree un cliente potencial, definirá unha cantidade estimada de proxecto/cliente potencial. Segundo o estado do cliente potencial, este importe pode multiplicarse por esta taxa para avaliar unha cantidade total que todos os clientes potenciais poden xerar. O valor é unha porcentaxe (entre 0 e 100). TemplateForElement=Este rexistro de modelo está adicado a cal elemento -TypeOfTemplate=Tipo de prantilla -TemplateIsVisibleByOwnerOnly=A prantilla é visible só polo propietario +TypeOfTemplate=Tipo de padrón +TemplateIsVisibleByOwnerOnly=O padrón é visible só polo propietario VisibleEverywhere=Visible en todas partes VisibleNowhere=Non visible FixTZ=Corrección de zona horaria @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Marxe dereito en PDF MAIN_PDF_MARGIN_TOP=Marxe superior en PDF MAIN_PDF_MARGIN_BOTTOM=Marxe inferior en PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Altura para logotipo en PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Agregar imaxe na liña do orzamento +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Axuntar sinatura electrónica no PDF NothingToSetup=Non é precisa ningunha configuración específica para este módulo. SetToYesIfGroupIsComputationOfOtherGroups=Configure isto en sí, se este grupo é un cálculo doutros grupos EnterCalculationRuleIfPreviousFieldIsYes=Introduza a regra de cálculo se o campo anterior estivo establecido en Si.
    Por exemplo:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Maior que IfTrackingIDFoundEventWillBeLinked=Teña conta que se se atopa no correo electrónico un ID de seguimento dun correo electrónico entrante é unha resposta dun correo electrónico xa recollido e ligado a un obxecto, o evento creado ligarase automaticamente co obxecto relacionado coñecido. WithGMailYouCanCreateADedicatedPassword=Cunha conta de GMail, se habilitou a validación de 2 pasos, recoméndase crear un segundo contrasinal adicado para a aplicación no lugar de usar a súa propia contrasinal de conta de https://myaccount.google.com/. EmailCollectorTargetDir=Pode ser un comportamento desexado mover o correo electrónico a outra etiqueta/directorio cando se procesou con éxito. Simplemente configure o nome do directorio aquí para usar esta función (NON use caracteres especiais no nome). Teña conta que tamén debe usar unha conta de inicio de sesión de lectura/escritura. -EmailCollectorLoadThirdPartyHelp=Pode usar esta acción para usar o contido do correo electrónico para atopar e cargar un terceiro existente na súa base de datos. O terceiro atopado (ou creada) usarase para seguir as accións que o precisen. No campo do parámetro pode usar por exemplo "EXTRACT:BODY:Name:\\s([^\\s]*)" se desexa extraer o nome do terceiro dunha cadea "Nome: nome a atopar" atopada no corpo. +EmailCollectorLoadThirdPartyHelp=Pode usar esta acción e usar o contido do correo electrónico para atopar e cargar un terceiro existente na base de datos. O terceiro atopado (ou creado) usarase para as seguintes accións que o precisan.
    Por exemplo, se desexa crear un terceiro cun nome extraído nunha cadea "Nome: nome para atopar" atopado no corpo, use o correo electrónico do remitente como correo electrónico, pode establecer o campo do parámetro como este:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Punto final de %s:%s DeleteEmailCollector=Eliminar o receptor de correo electrónico ConfirmDeleteEmailCollector=¿Está certo de que quere eliminar este receptor de correo electrónico? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Amosar proxecto no documento ShowProjectLabel=Etiqueta do proxecto PDF_USE_ALSO_LANGUAGE_CODE=Se desexa ter algúns textos no seu PDF duplicados en 2 idiomas diferentes no mesmo PDF xerado, debe configurar aquí este segundo idioma para que o PDF xerado conteña 2 idiomas diferentes na mesma páxina, o elixido ao xerar PDF e este (só algúns modelos PDF soportan isto). Mantéñase baleiro por un idioma por PDF. FafaIconSocialNetworksDesc=Introduza aquí o código dunha icona FontAwesome. Se non sabe o que é FontAwesome, pode usar o valor xenérico fa-address-book. -FeatureNotAvailableWithReceptionModule=Función non dispoñible cando a recepción do módulo está activada RssNote=Nota: Cada definición de fonte RSS proporciona un widget que debes habilitar para que estexa dispoñible no panel JumpToBoxes=Ir a Configuración -> Widgets MeasuringUnitTypeDesc=Use aquí un valor como "tamaño", "superficie", "volume", "peso", "hora" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Póñase en contacto co seu banco para obter esta identifica AdvancedModeOnly=Permiso dispoñible só en modo de permisos avanzados ConfFileIsReadableOrWritableByAnyUsers=Calquera usuario pode ler ou escribir o ficheiro conf. Dar permiso só ao usuario e ao grupo do servidor web. MailToSendEventOrganization=Organización de eventos +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Estado predeterminado do evento ao crear un evento desde o formulario YouShouldDisablePHPFunctions=Debería desactivar as funcións PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Agás se precisa executar comandos do sistema (para o módulo Traballo programado, ou executar o antivirus na liña de comandos externa por exemplo), debería ddescativar as funcións PHP +IfCLINotRequiredYouShouldDisablePHPFunctions=Agás se precisa executar comandos do sistema nun código personalizado, debería desactivar as funcións PHP +PHPFunctionsRequiredForCLI=Para o obxectico do shell (como a copia de seguridade programada do traballo ou a execución dun programa anitivurs), debe manter as funcións PHP NoWritableFilesFoundIntoRootDir=Non se atoparon ficheiros ou directorios con permisos de escritura dos programas comúns no directorio raíz (Bo) RecommendedValueIs=Recomendado %s +Recommended=Recomendada +NotRecommended=Non recomendado ARestrictedPath=Un path restrinxido CheckForModuleUpdate=Comprobar actualizacións para os módulos externos CheckForModuleUpdateHelp=Esta acción conectara cos editores de módulos externos para comprobar se hai unha nova versión dispoñible. ModuleUpdateAvailable=Unha actualización está dispoñible NoExternalModuleWithUpdate=Non foron atopadas actualizacións para módulos externos SwaggerDescriptionFile=Ficheiro de descrición da API Swagger (para uso con redoc por exemplo) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Activada a API WS obsoleta. No seu lugar debería usar a API REST. +RandomlySelectedIfSeveral=Selección aleatoria se hai varias imaxes dispoñibles +DatabasePasswordObfuscated=O contrasinal da base de datos está oculto no ficheiro conf +DatabasePasswordNotObfuscated=O contrasinal da base de datos NON está oculto no ficheiro conf +APIsAreNotEnabled=Os módulos API non están activos +YouShouldSetThisToOff=Debería axustar isto a 0 ou off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/gl_ES/agenda.lang b/htdocs/langs/gl_ES/agenda.lang index 95a0a0be7dc..9d2eb4d315e 100644 --- a/htdocs/langs/gl_ES/agenda.lang +++ b/htdocs/langs/gl_ES/agenda.lang @@ -38,6 +38,7 @@ ActionsEvents=Eventos para que Dolibarr cre unha acción na axenda automáticame EventRemindersByEmailNotEnabled=Lembranzas de eventos por correo non foron activados na configuración do módulo %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Terceiro %s creado +COMPANY_MODIFYInDolibarr=Terceiro %s modificado COMPANY_DELETEInDolibarr=Terceiro %s eliminado ContractValidatedInDolibarr=Contrato %s validado CONTRACT_DELETEInDolibarr=Contrato %s eliminado @@ -55,9 +56,9 @@ MemberValidatedInDolibarr=Membro %s validado MemberModifiedInDolibarr=Membro %s modificado MemberResiliatedInDolibarr=Membro %s rematado MemberDeletedInDolibarr=Membro %s eliminado -MemberSubscriptionAddedInDolibarr=Suscrición %s do membro %s engadida -MemberSubscriptionModifiedInDolibarr=Suscrición %s do membro %s modificada -MemberSubscriptionDeletedInDolibarr=Suscrición %s do membro %s eliminada +MemberSubscriptionAddedInDolibarr=Subscrición %s do membro %s engadida +MemberSubscriptionModifiedInDolibarr=Subscrición %s do membro %s modificada +MemberSubscriptionDeletedInDolibarr=Subscrición %s do membro %s eliminada ShipmentValidatedInDolibarr=Expedición %s validada ShipmentClassifyClosedInDolibarr=Expedición %s clasificada como pagada ShipmentUnClassifyCloseddInDolibarr=Expedición %s clasificada como aberta de novo @@ -87,6 +88,7 @@ OrderDeleted=Pedimento eliminado InvoiceDeleted=Factura eliminada DraftInvoiceDeleted=Borrador de factura eliminado CONTACT_CREATEInDolibarr=Creouse o contacto %s +CONTACT_MODIFYInDolibarr=Contacto %s modificado CONTACT_DELETEInDolibarr=Contacto %s eliminado PRODUCT_CREATEInDolibarr=Produto %s creado PRODUCT_MODIFYInDolibarr=Produto %s modificado @@ -121,7 +123,7 @@ MRP_MO_DELETEInDolibarr=OF eliminada MRP_MO_CANCELInDolibarr=OF cancelada PAIDInDolibarr=%s xa pago ##### End agenda events ##### -AgendaModelModule=Prantillas de documentos para eventos +AgendaModelModule=Padróns de documentos para eventos DateActionStart=Data de inicio DateActionEnd=Data finalización AgendaUrlOptions1=Pode tamén engadir os seguintes parámetros ao filtro de saida: @@ -167,4 +169,4 @@ TimeType=Tipo de duración ReminderType=Tipo de devolución da chamada AddReminder=Crear unha notificación de lembranza automática para este evento ErrorReminderActionCommCreation=Erro ao crear a notificación de lembranza para este evento -BrowserPush=Notiticaciñon emerxente no navegador +BrowserPush=Notificación emerxente no navegador diff --git a/htdocs/langs/gl_ES/banks.lang b/htdocs/langs/gl_ES/banks.lang index bd694fdd8a6..1cf5a9ac58d 100644 --- a/htdocs/langs/gl_ES/banks.lang +++ b/htdocs/langs/gl_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=A TransferFromToDone=A transferencia de %s hacia %s de %s %s foi rexistrada. CheckTransmitter=Orixe ValidateCheckReceipt=¿Validar este talón recibido? -ConfirmValidateCheckReceipt=Está certo de querer enviar este xustificante de talón para validalo? Non e posible cambialo despois +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=¿Eliminar esta remesa? ConfirmDeleteCheckReceipt=¿Está certo de querer eliminar esta remesa? BankChecks=Talóns bancarios @@ -159,8 +159,8 @@ RejectCheckDate=Data de rexeitamento do talón CheckRejected=Cheque rexeitado CheckRejectedAndInvoicesReopened=Cheque de volta e facturas abertas de novo BankAccountModelModule=Modelos de documentos para contas bancarias -DocumentModelSepaMandate=Prantilla de orde SEPA. Útil só para países membros da UE. -DocumentModelBan=Prantilla para imprimir unha páxina coa información IBAN. +DocumentModelSepaMandate=Padrón de orde SEPA. Útil só para países membros da UE. +DocumentModelBan=Padrón para imprimir unha páxina coa información IBAN. NewVariousPayment=Novo pagamento varios VariousPayment=Pagamento varios VariousPayments=Pagamentos varios diff --git a/htdocs/langs/gl_ES/bills.lang b/htdocs/langs/gl_ES/bills.lang index 70df765f795..3df0d7bdedf 100644 --- a/htdocs/langs/gl_ES/bills.lang +++ b/htdocs/langs/gl_ES/bills.lang @@ -166,13 +166,13 @@ FoundXQualifiedRecurringInvoiceTemplate=Atopáronse %s factura(s) de modelo reco NotARecurringInvoiceTemplate=Non é unha factura de modelo recorrente NewBill=Nova factura LastBills=Últimas %s facturas -LatestTemplateInvoices=As últimas %s prantillas de facturas -LatestCustomerTemplateInvoices=As últimas %s prantillas de facturas a cliente -LatestSupplierTemplateInvoices=As últimas %s prantillas de facturas de provedor +LatestTemplateInvoices=Os últimos %s padróns de facturas +LatestCustomerTemplateInvoices=Os últimss %s padróns de facturas a cliente +LatestSupplierTemplateInvoices=Os últimos %s padróns de facturas de provedor LastCustomersBills=Últimas %s facturas a clientes LastSuppliersBills=Últimas %s facturas de provedores AllBills=Todas as facturas -AllCustomerTemplateInvoices=Todas as prantillas de facturas +AllCustomerTemplateInvoices=Todos os padróns de facturas OtherBills=Outras facturas DraftBills=Facturas borrador CustomersDraftInvoices=Facturas a cliente borrador @@ -259,6 +259,7 @@ DateMaxPayment=Data límite de pagamento DateInvoice=Data facturación DatePointOfTax=Impostos NoInvoice=Ninguna factura +NoOpenInvoice=Non hai factura aberta ClassifyBill=Clasificar a factura SupplierBillsToPay=Facturas de provedor pendentes de pagamento CustomerBillsUnpaid=Facturas a cliente pendentes de cobro @@ -268,13 +269,13 @@ SetMode=Definir modo de pagamento SetRevenuStamp=Establecer selo fiscal Billed=Facturado RecurringInvoices=Facturas recurrentes -RepeatableInvoice=Prantilla de factura -RepeatableInvoices=Prantilla de facturas -Repeatable=Prantilla -Repeatables=Prantillas -ChangeIntoRepeatableInvoice=Convertir en prantilla -CreateRepeatableInvoice=Crear prantilla de factura -CreateFromRepeatableInvoice=Crear desde prantilla de factura +RepeatableInvoice=Padrón de factura +RepeatableInvoices=Padrón de facturas +Repeatable=Padrón +Repeatables=Padróns +ChangeIntoRepeatableInvoice=Convertir en padrón +CreateRepeatableInvoice=Crear padrón de factura +CreateFromRepeatableInvoice=Crear desde padrón de factura CustomersInvoicesAndInvoiceLines=Facturas a clientes e líñas de facturas CustomersInvoicesAndPayments=Facturas a clientes e pagamentos ExportDataset_invoice_1=Facturas a clientes e liñas de facturas @@ -380,10 +381,10 @@ NbOfGenerationOfRecordDone=Número de xeración de rexistros xa realizadas NbOfGenerationDoneShort=Número de xeracións feitas MaxGenerationReached=Máximo número de xeracións alcanzado InvoiceAutoValidate=Validar facturas automáticamente -GeneratedFromRecurringInvoice=Xerado dende a prantilla de facturas recorrentes %s +GeneratedFromRecurringInvoice=Xerado dende a padrón de facturas recorrentes %s DateIsNotEnough=Ainda non foi alcanzada a data -InvoiceGeneratedFromTemplate=Factura %s xerada dende a prantilla de factura recorrente %s -GeneratedFromTemplate=Xerado dende a prantilla de facturas concorrentes %s +InvoiceGeneratedFromTemplate=Factura %s xerada dende a padrón de factura recorrente %s +GeneratedFromTemplate=Xerado dende a padrón de facturas concorrentes %s WarningInvoiceDateInFuture=Atención: a data da factura é maior que a data actual WarningInvoiceDateTooFarInFuture=Atención: a data da factura é moi lonxana á data actual ViewAvailableGlobalDiscounts=Ver os descontos dispoñibles @@ -589,3 +590,4 @@ FacParentLine=Liña principal de factura SituationTotalRayToRest=Lembranza de pagar sen impostos PDFSituationTitle=Situación n° %d SituationTotalProgress=Progreso total %d %% +SearchUnpaidInvoicesWithDueDate=Procurar facturas pendentes de pagamento cunha data de vencemento= %s diff --git a/htdocs/langs/gl_ES/boxes.lang b/htdocs/langs/gl_ES/boxes.lang index 341c78a4a22..dae7540ab47 100644 --- a/htdocs/langs/gl_ES/boxes.lang +++ b/htdocs/langs/gl_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Pedimentos Provedor: últimos %s modificado BoxTitleLastModifiedCustomerBills=Facturas Clientes: últimas %s modificadas BoxTitleLastModifiedCustomerOrders=Pedimentos Clientes: últimos %s pedimentos modificados BoxTitleLastModifiedPropals=Últimos %s orzamentos modificados -BoxTitleLatestModifiedJobPositions=Últimos %s traballos modificados -BoxTitleLatestModifiedCandidatures=Últimas %s candidaturas modificadas +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Facturas a clientes ForCustomersOrders=Pedimentos de clientes ForProposals=Orzamentos diff --git a/htdocs/langs/gl_ES/cashdesk.lang b/htdocs/langs/gl_ES/cashdesk.lang index 22fe23ddffa..0e9af0bf7a7 100644 --- a/htdocs/langs/gl_ES/cashdesk.lang +++ b/htdocs/langs/gl_ES/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 = A etiqueta
    (TN) é usada para engadir o n TakeposGroupSameProduct=Agrupa as mesmas liñas de produtos StartAParallelSale=Comeza unha nova venda en paralelo SaleStartedAt=A venda comezou en %s -ControlCashOpening=Aviso emerxente do efectivo ao abris o TPV +ControlCashOpening=Abre a ventá emerxente "Control de efectivo" ao abrir o TPV CloseCashFence=Controlar peche de caixa CashReport=Informe de caixa MainPrinterToUse=Impresora principal a usar @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=A impresora de recibos do módulo debe estar h AllowDelayedPayment=Permitir o pago en débeda PrintPaymentMethodOnReceipts=Imprimir método de pago en tickets/recibos WeighingScale=Pesaxe -ShowPriceHT = Amosar o prezo sen a columna de impostos -ShowPriceHTOnReceipt = Amosar o prezo sen a columna de impostos no recibo +ShowPriceHT = Amosar a columna co prezo sen impostos (na pantalla) +ShowPriceHTOnReceipt = Amosar a columna co prezo sen impostos (no recibo) +CustomerDisplay=Customer display diff --git a/htdocs/langs/gl_ES/compta.lang b/htdocs/langs/gl_ES/compta.lang index bd368ec635d..23c05b994a3 100644 --- a/htdocs/langs/gl_ES/compta.lang +++ b/htdocs/langs/gl_ES/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Volume compras facturadas ReportPurchaseTurnoverCollected=Volume de compras abonadas IncludeVarpaysInResults = Inclúe varios pagos en informes IncludeLoansInResults = Inclúe prestamos en informes +InvoiceLate30Days = Facturas atrasadas > 30 días +InvoiceLate15Days = Facturas atrasadas < 15 días +InvoiceLateMinus15Days = Facturas atrasadas +InvoiceNotLate = A recoller < 15 días +InvoiceNotLate15Days = A recoller en 15 días +InvoiceNotLate30Days = A recoller en 30 días diff --git a/htdocs/langs/gl_ES/cron.lang b/htdocs/langs/gl_ES/cron.lang index b7dafdc697f..25dd993b71c 100644 --- a/htdocs/langs/gl_ES/cron.lang +++ b/htdocs/langs/gl_ES/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=A data de finalización non pode ser anterior á data de i StatusAtInstall=Estado da instalación do módulo CronStatusActiveBtn=Horario CronStatusInactiveBtn=Desactivar -CronTaskInactive=A tarefa está desactivada +CronTaskInactive=Este traballo está desactivado (non programado) CronId=Id CronClassFile=Nome do ficheiro coa clase CronModuleHelp=Nome do directorio do módulo Dolibarr (tamén funciona con módulo Dolibarr externo).
    Por exemplo, para chamar ao método fetch do obxecto Dolibarr Product /htdocs/product/class/product.class.php, o valor do módulo é
    product @@ -86,6 +86,6 @@ WarningCronDelayed=Atención, para fins de rendemento, calquera que sexa a próx DATAPOLICYJob=Limpar datos e anonimizar JobXMustBeEnabled=Tarefa %s debe ser activada # Cron Boxes -LastExecutedScheduledJob=Última tarefa programad executada +LastExecutedScheduledJob=Última tarefa programada executada NextScheduledJobExecute=Próxima tarefa programada para executar NumberScheduledJobError=Número de tarefas programadas por erro diff --git a/htdocs/langs/gl_ES/deliveries.lang b/htdocs/langs/gl_ES/deliveries.lang index 49996ef672a..60e8ca17833 100644 --- a/htdocs/langs/gl_ES/deliveries.lang +++ b/htdocs/langs/gl_ES/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Non enviable ShowShippableStatus=Amosar estado de envío ShowReceiving=Mostrar nota de recepción NonExistentOrder=Pedimento inexistente +StockQuantitiesAlreadyAllocatedOnPreviousLines = Cantidades de stock xa asignadas en liñas anteriores diff --git a/htdocs/langs/gl_ES/errors.lang b/htdocs/langs/gl_ES/errors.lang index 324b3a4bfb3..ed01ce4d1a3 100644 --- a/htdocs/langs/gl_ES/errors.lang +++ b/htdocs/langs/gl_ES/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Valor incorrecto para o seu parámetro. Xeralmen ErrorRefAlreadyExists=A referencia %s xa existe ErrorLoginAlreadyExists=O login %s xa existe. ErrorGroupAlreadyExists=O grupo %s xa existe. +ErrorEmailAlreadyExists=O correo electrónico %s xa existe ErrorRecordNotFound=Rexistro non atopado ErrorFailToCopyFile=Erro ao copiar o ficheiro '%s' en '%s'. ErrorFailToCopyDir=Erro ao copiar o directorio '%s' en '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Erro de lectura do ficheiro '%s' ErrorCantReadDir=Error de lectura do directorio '%s' ErrorBadLoginPassword=Valor incorrecto para o inicio de sesión ou o contrasinals ErrorLoginDisabled=A súa conta foi descativada -ErrorFailedToRunExternalCommand=Non se puido executar o comando externo. Comprobe que está dispoñible e executable polo seu servidor PHP. Se PHP Modo seguro1 está habilitado, comprobe que o comando está dentro dun directorio definido polo parámetro safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Fallou ao executar o comando externo. Comprobe que está dispoñible e executable polo usuario do servidor PHP. Comprobe tamén que a orde non está protexida a nivel de shell por unha capa de seguridade como apparmor. ErrorFailedToChangePassword=Erro ao cambiar o contrasinal ErrorLoginDoesNotExists=Non foi posible atopar o usuario con inicio de sesión %s. ErrorLoginHasNoEmail=Este usuario non ten enderezo de correo electrónico. Proceso abortado. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Erro, a data non pode ser no futuro ErrorAnAmountWithoutTaxIsRequired=Erro, a cantidade é obrigatoria ErrorAPercentIsRequired=Erro, prégase cubra a porcentaxe correctamente ErrorYouMustFirstSetupYourChartOfAccount=Primeiro debe configurar o seu plan de contas +ErrorFailedToFindEmailTemplate=Fallo ao atopar o modelo co nome de código %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duración non definida no servizo. Non hai forma de calcular o prezo por hora. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=O seu parámetro PHP upload_max_filesize (%s) é superior ao parámetro PHP post_max_size (%s). Esta non é unha configuración consistente. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Non foi activado o módulo %s . Pode ErrorActionCommPropertyUserowneridNotDefined=É preciso o supervisor do usuario ErrorActionCommBadType=O tipo de evento seleccionado (id: %n, código: %s) non existe no diccionario Tipo de Evento CheckVersionFail=Fallou a comprobación da versión +ErrorWrongFileName=O nome do ficheiro non pode conte __SOMETHING__ nel +ErrorNotInDictionaryPaymentConditions=Non está no Dicionario de Condicións de Pagamento. Modifíqueo. diff --git a/htdocs/langs/gl_ES/eventorganization.lang b/htdocs/langs/gl_ES/eventorganization.lang index 9e51029fd03..699f70cca6a 100644 --- a/htdocs/langs/gl_ES/eventorganization.lang +++ b/htdocs/langs/gl_ES/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Prezo da subscrición para estar nun stand EventOrganizationICSLink=Ligazón ICS para eventos ConferenceOrBoothInformation=Información sobre conferencia ou stand Attendees = Asistentes +DownloadICSLink = Descargar ligazón ICS EVENTORGANIZATION_SECUREKEY = Clave segura da ligazón de rexistro público a unha conferencia +SERVICE_BOOTH_LOCATION = Servizo empregado para a fila de facturas sobre a situación do stand +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Servizo usado para a fila de facturas sobre unha subscrición de asistente a unha conferencia +NbVotes=Número de votos # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelado # # Public page # +SuggestForm = Páxina de suxestións +RegisterPage = Páxina para conferencias ou stand +EvntOrgRegistrationHelpMessage = Aquí pode votar por un evento ou suxerir unha nova conferencia ou stand para o proxecto +EvntOrgRegistrationConfHelpMessage = Aquí pode suxerir unha nova conferencia para o proxecto +EvntOrgRegistrationBoothHelpMessage = Aquí pode suxerir un novo stand para o proxecto +ListOfSuggestedConferences = Listaxe de conferencias suxeridas +ListOfSuggestedBooths = Listaxe de stands suxeridos +SuggestConference = Suxerir unha nova conferencia +SuggestBooth = Suxerir un stand +ViewAndVote = Ver e votar por eventos suxeridos PublicAttendeeSubscriptionPage = Ligazón pública de rexistro a unha conferencia MissingOrBadSecureKey = A clave de seguridade non é válida ou inexistente -EvntOrgWelcomeMessage = Este formulario permítelle rexistrarse como novo participante na conferencia -EvntOrgStartDuration = Esta conferencia comeza en -EvntOrgEndDuration = e remata en +EvntOrgWelcomeMessage = Este formulario permítelle rexistrarse como novo participante na conferencia: '%s' +EvntOrgDuration = Esta conferencia comeza en %s e remata en %s. +ConferenceAttendeeFee = Importe de asistente á conferencia para o evento:' %s ' acontece de %s a %s +BoothLocationFee = Localización do stand para o evento: "%s" que acontece do %s ao %s +EventType = Tipo de evento +LabelOfBooth=Etiqueta de stand +LabelOfconference=Etiqueta de conferencia +ConferenceIsNotConfirmed=A subscrición non está dispoñible, a conferencia aínda non está confirmada +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Benvido á páxina de suxestións de conferencias ou stands. +EvntOrgRegistrationConfWelcomeMessage = Benvida á páxina de suxestións de conferencia +EvntOrgRegistrationBoothWelcomeMessage = Benvida á páxina de suxestións de stands +EvntOrgVoteHelpMessage = Aquí pode ver e votar os eventos suxeridos para o proxecto +VoteOk = O seu voto foi aceptado +AlreadyVoted = Xa votou para este evento +VoteError = Produciuse un erro durante a votación, ténteo de novo. + +# +# SubscriptionOk page +# +SubscriptionOk = A súa subscrición a esta conferencia foi validada +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmación da súa subscrición a unha conferencia +# +# Payment page +# +Attendee = Asistente +PaymentConferenceAttendee = Pagamento de asistente á conferencia +PaymentBoothLocation = Pagamento da localización do stand diff --git a/htdocs/langs/gl_ES/exports.lang b/htdocs/langs/gl_ES/exports.lang index aeb080ad0b7..49bed28e022 100644 --- a/htdocs/langs/gl_ES/exports.lang +++ b/htdocs/langs/gl_ES/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipo de liña (0=producto, 1=servizo) FileWithDataToImport=Ficheiro cos datos a importar FileToImport=Ficheiro orixe a importar FileMustHaveOneOfFollowingFormat=O ficheiro de importación debe conter un dos seguintes formatos -DownloadEmptyExample=Descargar ficheiro de exemplo baleiro +DownloadEmptyExample=Descargue un ficheiro de modelo con información de contido do campo +StarAreMandatory=* son campos obrigatorios ChooseFormatOfFileToImport=Escolla o formato de ficheiro que desexa importar e prema na imaxe %s para seleccionalo... ChooseFileToImport=Escolla o ficheiro de importación e faga clic na imaxe %s para seleccionalo como ficheiro orixe de importación... SourceFileFormat=Formato do ficheiro orixe diff --git a/htdocs/langs/gl_ES/holiday.lang b/htdocs/langs/gl_ES/holiday.lang index 60a0e5c8331..eda3225cde0 100644 --- a/htdocs/langs/gl_ES/holiday.lang +++ b/htdocs/langs/gl_ES/holiday.lang @@ -3,9 +3,9 @@ HRM=RRHH Holidays=Vacacións CPTitreMenu=Día libre MenuReportMonth=Estado mensual -MenuAddCP=Nova petición de vacacións +MenuAddCP=Novo pedimento de vacacións NotActiveModCP=Debe activar o módulo Días libres para ver esta páxina -AddCP=Realizar unha petición de días libres +AddCP=Realizar un pedimento de días libres DateDebCP=Data de inicio DateFinCP=Data de fin DraftCP=Borrador @@ -13,7 +13,7 @@ ToReviewCP=Agardando aprobación ApprovedCP=Aprobada CancelCP=Anulada RefuseCP=Rexeitada -ValidatorCP=Validador +ValidatorCP=Responsable da aprobación ListeCP=Listaxe de días libres Leave=Pedimento de días libres LeaveId=ID Vacacións @@ -24,26 +24,26 @@ UserForApprovalFirstname=Nome do usuario de aprobación UserForApprovalLastname=Apelido do usuario de aprobación UserForApprovalLogin=Inicio de sesión de usuario de aprobación DescCP=Descrición -SendRequestCP=Crear a petición de días libres -DelayToRequestCP=As peticións de días libres deben realizarse alo menos %s días antes. +SendRequestCP=Crear o pedimento de días libres +DelayToRequestCP=Os pedimentos de días libres deben realizarse alo menos %s días antes. MenuConfCP=Balance de días libres SoldeCPUser=O seu saldo é de %s días. ErrorEndDateCP=Debe indicar unha data de fin maior á data de inicio. ErrorSQLCreateCP=Aconteceu un erro de SQL durante a creación : ErrorIDFicheCP=Aconteceu un erro, esta solicitude non existe. ReturnCP=Voltar á páxina anterior -ErrorUserViewCP=Non está autorizado a ler esta petición de días libres. +ErrorUserViewCP=Non está autorizado a ler este pedimento de días libres. InfosWorkflowCP=Información do workflow RequestByCP=Pedido por TitreRequestCP=Pedimento de días libres TypeOfLeaveId=ID tipo de días libres TypeOfLeaveCode=Código tipo de días libres TypeOfLeaveLabel=Tipo de etiqueta de días libres -NbUseDaysCP=Número de días de vacacións consumidas -NbUseDaysCPHelp=O cálculo toma dentro da conta os días non laborais e as vacacións definidas no diccionario. -NbUseDaysCPShort=Días consumidos -NbUseDaysCPShortInMonth=Días consumidos en mes -DayIsANonWorkingDay=%s é un día non laboral +NbUseDaysCP=Número de días de vacacións utilizados +NbUseDaysCPHelp=O cálculo ten en conta os días non laborais e as vacacións definidas no dicionario. +NbUseDaysCPShort=Días de vacacións +NbUseDaysCPShortInMonth=Días de vacacións no mes +DayIsANonWorkingDay=%s non é dia laboral DateStartInMonth=Data de inicio en mes DateEndInMonth=Data de fin en mes EditCP=Editar @@ -51,24 +51,24 @@ DeleteCP=Eliminar ActionRefuseCP=Rexeitar ActionCancelCP=Cancelar StatutCP=Estado -TitleDeleteCP=Eliminar a petición de días libres -ConfirmDeleteCP=¿Está certo de querer eliminar esta petición de días libres? -ErrorCantDeleteCP=Erro, non ten permisos para eliminar esta petición de días libres. -CantCreateCP=Non ten permisos para realizar peticións de días libres. -InvalidValidatorCP=Debe escoller un validador para a súa petición de días libres. +TitleDeleteCP=Eliminar o pedimento de días libres +ConfirmDeleteCP=¿Está certo de querer eliminar este pedimento de días libres? +ErrorCantDeleteCP=Erro, non ten permisos para eliminar este pedimento de días libres. +CantCreateCP=Non ten permisos para realizar pedimentos de días libres. +InvalidValidatorCP=Debe escoller o/a responsable da aprobaciónr para a súa solicitude de vacacións. NoDateDebut=Debe indicar unha data de inicio. NoDateFin=Debe indicar unha data de fin. -ErrorDureeCP=A súa petición de días libres non contén ningún día hábil. -TitleValidCP=Aprobar a petición de días libres -ConfirmValidCP=¿Está certo de querer validar esta petición de días libres? +ErrorDureeCP=O seu pedimento de días libres non contén ningún día hábil. +TitleValidCP=Aprobar o pedimento de días libres +ConfirmValidCP=¿Está certo de querer validar este pedimento de días libres? DateValidCP=Data de aprobación -TitleToValidCP=Enviar a petición de días libres -ConfirmToValidCP=¿Está certo de querer enviar a petición de días libres? -TitleRefuseCP=Rexeitar a petición de días libres -ConfirmRefuseCP=¿Está certo de querer rexeitar a petición de días libres? -NoMotifRefuseCP=Debe seleccionar un motivo para rexeitar esta petición. -TitleCancelCP=Cancelar a petición de días libres -ConfirmCancelCP=¿Está certo de querer anular a petición de días libres? +TitleToValidCP=Enviar o pedimento de días libres +ConfirmToValidCP=¿Está certo de querer enviar o pedimento de días libres? +TitleRefuseCP=Rexeitar o pedimento de días libres +ConfirmRefuseCP=¿Está certo de querer rexeitar o pedimentode días libres? +NoMotifRefuseCP=Debe seleccionar un motivo para rexeitar este pedimento. +TitleCancelCP=Cancelar o pedimento de días libres +ConfirmCancelCP=¿Está certo de querer anular o pedimento de días libres? DetailRefusCP=Motivo do rexeitamento DateRefusCP=Data do rexeitamento DateCancelCP=Data da cancelación @@ -80,14 +80,14 @@ UserCP=Usuario ErrorAddEventToUserCP=Aconteceu un erro na asignación do permiso excepcional. AddEventToUserOkCP=Engadiuse o permiso excepcional. MenuLogCP=Ver rexistro de cambios -LogCP=Historial de actualizacións de vacacións -ActionByCP=Realizado por -UserUpdateCP=Para o usuario +LogCP=Rexistro de todas as actualizacións feitas a "Balance de vacacións" +ActionByCP=Actualizado por +UserUpdateCP=Actualizado para PrevSoldeCP=Saldo anterior NewSoldeCP=Novo saldo -alreadyCPexist=Xa foi efectuada unha petición de días libres para este período. -FirstDayOfHoliday=Primeiro día de vacacións -LastDayOfHoliday=Último día vacacións +alreadyCPexist=Xa foi efectuada un pedimento de días libres para este período. +FirstDayOfHoliday=Día de inicio da solicitude de vacacións +LastDayOfHoliday=Día de finalización da solicitude de vacacións BoxTitleLastLeaveRequests=Últimas %s solicitudes de días libres modificadas HolidaysMonthlyUpdate=Actualización mensual ManualUpdate=Actualización manual @@ -104,8 +104,8 @@ LEAVE_SICK=Baixa por enfermidade LEAVE_OTHER=Outro motivo de día libre LEAVE_PAID_FR=Vacación ## Configuration du Module ## -LastUpdateCP=Última actualización automática de días libres -MonthOfLastMonthlyUpdate=Mes da última actualización automática de días libres +LastUpdateCP=Última actualización automática da asignación de vacacións +MonthOfLastMonthlyUpdate=Mes da última actualización automática da asignación de vacacións UpdateConfCPOK=Actualización efectuada. Module27130Name= Xestión dos días libres Module27130Desc= Xestión dos días libres @@ -123,12 +123,14 @@ HolidaysRefusedBody=A súa solicitude de días libres dende o %s ao %s foi deneg HolidaysCanceled=Días libres cancelados HolidaysCanceledBody=A súa solicitude de días libres dende o %s ao %s foi cancelada. FollowedByACounter=1: Este tipo de día libre precisa ser seguido por un contador. O contador incrementase manualmente ou automáticamente e cando valídase unha solicitude, o contador disminue.
    0: Non é seguido por un contador. -NoLeaveWithCounterDefined=Non hai ningún tipo de peticións de días libres definida que precisen ser seguidas por un contador +NoLeaveWithCounterDefined=Non hai ningún tipo de pedimento de días libres definida que precisen ser seguidas por un contador GoIntoDictionaryHolidayTypes=Vaia a Inicio - Configuración - Diccionarios - Tipos de días libres para configurar os diferentes tipos de días libres. -HolidaySetup=Configuración do módulo Vacacións -HolidaysNumberingModules=Modelos de numeración de petición de días libres -TemplatePDFHolidays=Prantilla PDF para petición de días libres +HolidaySetup=Configuración do módulo Vacacións +HolidaysNumberingModules=Modelos de numeración para solicitudes de vacacións +TemplatePDFHolidays=Padrón PDF para pedimento de días libres FreeLegalTextOnHolidays=Texto libre no PDF -WatermarkOnDraftHolidayCards=Marca de auga no borrador de petición de días libres +WatermarkOnDraftHolidayCards=Marca de auga no borrador de pedimento de días libres HolidaysToApprove=Vacacións para aprobar NobodyHasPermissionToValidateHolidays=Ninguén ten permisos para validar vacacións +HolidayBalanceMonthlyUpdate=Actualización mensual do saldo de vacacións +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/gl_ES/hrm.lang b/htdocs/langs/gl_ES/hrm.lang index d5a29275c06..4ac633255fb 100644 --- a/htdocs/langs/gl_ES/hrm.lang +++ b/htdocs/langs/gl_ES/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Está certo de querer eliminar este establecemento? OpenEtablishment=Abrir establecemento CloseEtablishment=Pechar establecemento # Dictionary -DictionaryPublicHolidays=RRHH - Festivos +DictionaryPublicHolidays=Permisos- Días Festivos DictionaryDepartment=RRHH - Listaxe Departamentos DictionaryFunction=RRHH - Postos de traballo # Module diff --git a/htdocs/langs/gl_ES/install.lang b/htdocs/langs/gl_ES/install.lang index 6c5340991c7..762d483828b 100644 --- a/htdocs/langs/gl_ES/install.lang +++ b/htdocs/langs/gl_ES/install.lang @@ -149,8 +149,8 @@ NothingToDo=Nothing to do ######### # upgrade MigrationFixData=Corrección de datos desnormalizados -MigrationOrder=Migración de datos para os pedimentos a cliente -MigrationSupplierOrder=Migración de datos para os pedimentos de provedor +MigrationOrder=Migración de datos para os pedimentos de cliente +MigrationSupplierOrder=Migración de datos para os pedimentos a provedor MigrationProposal=Migración de datos para propostas comerciais MigrationInvoice=Migración de datos para as facturas do cliente MigrationContract=Migración de datos para contratos @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migración de enderezos de fotos para usuarios MigrationFieldsSocialNetworks=Migración de redes sociais dos campos dos usuarios (%s) MigrationReloadModule=Recargar o módulo %s MigrationResetBlockedLog=Restablecer o módulo BlockedLog para o algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Amosar as opcións non dispoñibles HideNotAvailableOptions=Ocultar opcións non dispoñibles ErrorFoundDuringMigration=Informáronse erros durante o proceso de migración polo que o seguinte paso non está dispoñible. Para ignorar os erros, pode facer clic aquí , pero é posible que a aplicación ou algunhas funcións non funcionen correctamente ata que non se resolvan os erros. diff --git a/htdocs/langs/gl_ES/interventions.lang b/htdocs/langs/gl_ES/interventions.lang index 54d0c50751f..122ee49ef20 100644 --- a/htdocs/langs/gl_ES/interventions.lang +++ b/htdocs/langs/gl_ES/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Duración liña intervención InterLineDesc=Descrición liña intervención RepeatableIntervention=Modelo de intervención ToCreateAPredefinedIntervention=Para crear unha intervención predefinida ou recorrente, cree unha intervención común e converta -Reopen=Abrir de novo ConfirmReopenIntervention=Estás certo de que queres abrir de novo a intervención %s? +GenerateInter=Xerar intervención diff --git a/htdocs/langs/gl_ES/knowledgemanagement.lang b/htdocs/langs/gl_ES/knowledgemanagement.lang index 3bab515906a..5bb5dbcf86a 100644 --- a/htdocs/langs/gl_ES/knowledgemanagement.lang +++ b/htdocs/langs/gl_ES/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Acerca de KnowledgeManagementAbout = Sobre a Xestión do Coñécemento KnowledgeManagementAboutPage = Páxina sobre a Xestión do Coñecemento -# -# Sample page -# KnowledgeManagementArea = Xestión do Coñecemento - - -# -# Menu -# MenuKnowledgeRecord = Base de Coñecemento -ListOfArticles = Listaxe de artígos +ListKnowledgeRecord = Listaxe de artígos NewKnowledgeRecord = Novo artigo ValidateReply = Validar a solución KnowledgeRecords = Artigos KnowledgeRecord = Artigo KnowledgeRecordExtraFields = Campos extras para Artigos +GroupOfTicket=Grupo de tickets +YouCanLinkArticleToATicketCategory=Pode ligar un artigo a un grupo de tickets (polo que o artigo suxerirase durante a cualificación de novos tickets) diff --git a/htdocs/langs/gl_ES/languages.lang b/htdocs/langs/gl_ES/languages.lang index a66520eaa71..ae071b70b70 100644 --- a/htdocs/langs/gl_ES/languages.lang +++ b/htdocs/langs/gl_ES/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etíope Language_ar_AR=Árabe Language_ar_EG=Árabe (Exipto) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Árabe +Language_ar_TN=Arabe (Tunez) +Language_ar_IQ=Árabe (Iraq) Language_az_AZ=Azerí Language_bn_BD=Bengalí Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Holandés (Bélxica) Language_nl_NL=Alemán Language_pl_PL=Polaco +Language_pt_AO=Portugués (Ángola) Language_pt_BR=Portugués (Brasil) Language_pt_PT=Portugués +Language_ro_MD=Rumano (Moldavia) Language_ro_RO=Romanés Language_ru_RU=Ruso Language_ru_UA=Ruso (Ucraína) diff --git a/htdocs/langs/gl_ES/mails.lang b/htdocs/langs/gl_ES/mails.lang index bcf8acd99eb..cb8ed8f9803 100644 --- a/htdocs/langs/gl_ES/mails.lang +++ b/htdocs/langs/gl_ES/mails.lang @@ -41,9 +41,9 @@ MailingStatusError=Erro MailingStatusNotSent=Non enviado MailSuccessfulySent=E-Mail aceptado para a entrega (de %s a %s) MailingSuccessfullyValidated=Mailing validado correctamente -MailUnsubcribe=Eliminar suscrición +MailUnsubcribe=Eliminar subscrición MailingStatusNotContact=Non contactar -MailingStatusReadAndUnsubscribe=Lido e eliminada suscrición +MailingStatusReadAndUnsubscribe=Lido e eliminada subscrición ErrorMailRecipientIsEmpty=O enderezo do destinatario está baleiro WarningNoEMailsAdded=Ningún novo Mailing a engadir á listaxe destinatarios. ConfirmValidMailing=¿Confirma a validación do Mailing? @@ -119,7 +119,7 @@ IdRecord=ID rexistro DeliveryReceipt=Acuse de recibo. YouCanUseCommaSeparatorForSeveralRecipients=Pode usar o carácter de separación coma para especificar múltiples destinatarios. TagCheckMail=Seguemento da apertura do email -TagUnsubscribe=Ligazón de baixa na suscrición +TagUnsubscribe=Ligazón de baixa na subscrición TagSignature=Sinatura do usuario que envía EMailRecipient=Mail do destinatario TagMailtoEmail=Mail do destinatario (incluindo a ligazón html "mailto:") @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Eliminar filtro AdvTgtSaveFilter=Gardar filtro AdvTgtCreateFilter=Crear filtro AdvTgtOrCreateNewFilter=Nome do novo filtro -NoContactWithCategoryFound=Non atopáronse contactos/enderezos con algunha categoría -NoContactLinkedToThirdpartieWithCategoryFound=Non atopáronse contactos/enderezos con algunha categoría +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Configuración de correos electrónicos saíntes InGoingEmailSetup=Configuración de correos electrónicos entrantes OutGoingEmailSetupForEmailing=Configuración do correos electrónicos saíntes (para o módulo %s) diff --git a/htdocs/langs/gl_ES/main.lang b/htdocs/langs/gl_ES/main.lang index 483c9c19896..1e13deb814d 100644 --- a/htdocs/langs/gl_ES/main.lang +++ b/htdocs/langs/gl_ES/main.lang @@ -4,7 +4,7 @@ DIRECTION=ltr # msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) # stsongstdlight or cid0cs are for simplified Chinese # To read Chinese pdf with Linux: sudo apt-get install poppler-data -FONTFORPDF=helvética +FONTFORPDF=helvetica FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=. @@ -24,7 +24,7 @@ FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M DatabaseConnection=Conexión á base de datos -NoTemplateDefined=Sen prantilla dispoñible para este tipo de e-mail +NoTemplateDefined=Sen padrón dispoñible para este tipo de e-mail AvailableVariables=Variables de substitución dispoñibles NoTranslation=Sen tradución Translation=Tradución @@ -241,8 +241,8 @@ Designation=Descrición DescriptionOfLine=Descrición de liña DateOfLine=Data da liña DurationOfLine=Permanecia da liña -Model=Prantilla documento -DefaultModel=Prantilla por defecto do documento +Model=Padrón de documento +DefaultModel=Padrón por defecto do documento Action=Acción About=Acerca de Number=Número @@ -263,7 +263,7 @@ Cards=Fichas Card=Ficha Now=Agora HourStart=Hora de inicio -Deadline=Deadline +Deadline=Data de fin Date=Data DateAndHour=Data e hora DateToday=Data de hoxe @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Céntimos adicionais VATRate=Taxa IVE +RateOfTaxN=Tipo de imposto %s VATCode=Código taxa IVE VATNPR=Taxa NPR DefaultTaxRate=Taxa de imposto por defecto @@ -729,6 +730,7 @@ MenuMembers=Membros MenuAgendaGoogle=Axenda Google MenuTaxesAndSpecialExpenses=Taxas | Gastos especiais ThisLimitIsDefinedInSetup=Límite Dolibarr (Menú Inicio-configuración-seguridade): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Límite Dolibarr (Menu %s): %s Kb PHP límite (Param %s): %s Kb NoFileFound=Non se cargaron documentos CurrentUserLanguage=Idioma actual CurrentTheme=Tema actual @@ -795,7 +797,7 @@ LinkTo=Ligar a LinkToProposal=Ligar a orzamento LinkToOrder=Ligar a pedimento LinkToInvoice=Ligar a factura -LinkToTemplateInvoice=Ligar a prantilla de factura +LinkToTemplateInvoice=Ligar o padrón de factura LinkToSupplierOrder=Ligar a pedimento a provedor LinkToSupplierProposal=Ligar a orzamento de provedor LinkToSupplierInvoice=Ligar a factura de provedor @@ -854,7 +856,7 @@ GoIntoSetupToChangeLogo=Vaia a Inicio->Configuración->Empresa/Organización par Deny=Denegar Denied=Denegada ListOf=Lista de %s -ListOfTemplates=Listaxe de prantillas +ListOfTemplates=Listaxe de padróns Gender=Sexo Genderman=Masculino Genderwoman=Feminino @@ -928,7 +930,7 @@ TitleSetToDraft=De volta ao borrador ConfirmSetToDraft=¿Está certo de querer voltar ao estado Borrador? ImportId=ID de importación Events=Eventos -EMailTemplates=Prantillas E-mail +EMailTemplates=Padróns de Correo Electrónico FileNotShared=Ficheiro non compartido ao público externo Project=Proxecto Projects=Proxectos @@ -1005,7 +1007,7 @@ million=millón billion=billón trillion=trillón quadrillion=quadrillón -SelectMailModel=Seleccione unha prantilla de correo +SelectMailModel=Seleccione un padrón de correo SetRef=Establecer ref Select2ResultFoundUseArrows=Algúns resultados atopados. Use as frechas para seleccionar. Select2NotFound=Non atopáronse resultados @@ -1072,6 +1074,7 @@ ValidFrom=Válido dende ValidUntil=Válido ata NoRecordedUsers=Sen usuarios ToClose=A pechar +ToRefuse=Negarse ToProcess=A procesar ToApprove=A aprobar GlobalOpenedElemView=Vista global @@ -1126,9 +1129,23 @@ UpdateForAllLines=Actualizar todas as liñas OnHold=Agardando Civility=Cortesía AffectTag=Poñer etiqueta +CreateExternalUser=Crear usuario externo ConfirmAffectTag=Poñer etiqueta masiva ConfirmAffectTagQuestion=Está certo de que quere poñer ás etiquetas dos rexistros seleccionados %s? CategTypeNotFound=Non se atopou ningún tipo de etiqueta para o tipo de rexistros CopiedToClipboard=Copiado a portapapeis InformationOnLinkToContract=Este importe é só o total de todas as liñas do contrato. Non se ten en conta ningunha noción de tempo. ConfirmCancel=Está certo de querer cancelar +EmailMsgID=Correo electónico MsgID +SetToEnabled=Establecer como activado +SetToDisabled=Establecer como desactivado +ConfirmMassEnabling=confirmación de habilitación masiva +ConfirmMassEnablingQuestion=Está certo de querer habilitar o(s) rexistro(s) %s seleccionados? +ConfirmMassDisabling=confirmación de deshabilitación masiva +ConfirmMassDisablingQuestion=Está certo de querer desactivar o(s) %s rexistro(s) seleccionado(s)? +RecordsEnabled=%s rexistro(s) activado(s) +RecordsDisabled=%s rexistro(s) desactivado(s) +RecordEnabled=Rexistro activado +RecordDisabled=\nRexistro desactivado +Forthcoming=Próximo +Currently=Currently diff --git a/htdocs/langs/gl_ES/members.lang b/htdocs/langs/gl_ES/members.lang index b788c8fa48a..49931c61293 100644 --- a/htdocs/langs/gl_ES/members.lang +++ b/htdocs/langs/gl_ES/members.lang @@ -163,7 +163,7 @@ MoreActionBankDirect=Crear un rexistro directo na conta bancaria MoreActionBankViaInvoice=Crear unha factura e un pagamento na conta bancaria MoreActionInvoiceOnly=Creación factura sen pagamento LinkToGeneratedPages=Xeración de tarxetas de presentación -LinkToGeneratedPagesDesc=Esta pantalla permitelle crear prantillas de tarxetas de presentación para os membros o para cada membro en particular. +LinkToGeneratedPagesDesc=Esta pantalla permitelle crear padróns de tarxetas de presentación para os membros o para cada membro en particular. DocForAllMembersCards=Xeración de tarxetas para todos os membros DocForOneMemberCards=Xeración de tarxetas para un membro en particular DocForLabels=Xeración de etiquetas de enderezos @@ -202,7 +202,7 @@ MEMBER_NEWFORM_PAYONLINE=Ir á páxina integrada de pagamento en liña ByProperties=Por natureza MembersStatisticsByProperties=Estatísticas dos membros por natureza VATToUseForSubscriptions=Tasa de IVE para as afiliacións -NoVatOnSubscription=Sen IVE para nas afiliacións +NoVatOnSubscription=Sen IVE para as afiliacións ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Produto usado para as afiliacións en liña nas facturas: %s NameOrCompany=Nome ou empresa SubscriptionRecorded=Afiliación gardada @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Enviar lembranza por mail aos membros cando a MembershipPaid=Membresía pagada polo período actual (ata %s) YouMayFindYourInvoiceInThisEmail=Pode atopar a súa factura axuntada a este mail XMembersClosed=%s membro(s) pechado(s) +XExternalUserCreated=%s usuarios externos creados +ForceMemberNature=Natureza do membro (física ou xurídica) diff --git a/htdocs/langs/gl_ES/modulebuilder.lang b/htdocs/langs/gl_ES/modulebuilder.lang index 4ecc68c127b..cfb8fca58ec 100644 --- a/htdocs/langs/gl_ES/modulebuilder.lang +++ b/htdocs/langs/gl_ES/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Conversor de ascii a HTML AsciiToPdfConverter=Conversor de ascii a PDF TableNotEmptyDropCanceled=A táboa non está baleira. Cancelouse a eliminación. ModuleBuilderNotAllowed=O creador de módulos está dispoñible pero non permitido ao seu usuario. +ImportExportProfiles=Importar e exportar perfís diff --git a/htdocs/langs/gl_ES/mrp.lang b/htdocs/langs/gl_ES/mrp.lang index 26bc6d491ef..f54e8a9136b 100644 --- a/htdocs/langs/gl_ES/mrp.lang +++ b/htdocs/langs/gl_ES/mrp.lang @@ -1,45 +1,45 @@ Mrp=Pedimentos de fabricación MOs=Pedimentos de fabricación ManufacturingOrder=Pedimento de fabricación -MRPDescription=Módulo para xestionar pedimentos de fabricación (MO). +MRPDescription=Módulo para xestionar produción e pedimentos de fabricación (PF). MRPArea=Área MRP MrpSetupPage=Configuración do módulo MRP -MenuBOM=Listaxe de material +MenuBOM=Listaxes de materiais LatestBOMModified=Últimas %s listaxes de materiais modificadas LatestMOModified=Últimos %s pedimentos de material modificados Bom=Listaxes de material -BillOfMaterials=Listaxe de material +BillOfMaterials=Listaxe de materiais BOMsSetup=Configuración do módulo BOM ListOfBOMs=Listaxe de facturas de materiais - BOM ListOfManufacturingOrders=Listaxe de pedimentos de fabricación NewBOM=Nova listaxe de materiais -ProductBOMHelp=Produto a crear con este BOM.
    Nota: os produtos coa propiedade 'Natureza do producto'='Materia prima' non están visibles nesta listaxe. +ProductBOMHelp=Produto para crear (ou desmontar) con esta Lista de Materiais
    Nota: Os produtos coa propiedade 'Natureza do produto' = 'Materia prima' non están visibles nesta listaxe. BOMsNumberingModules=Modelos de numeración BOM -BOMsModelModule=Prantillas de documentos BOMS -MOsNumberingModules=Modelos de numeración MO -MOsModelModule=Prantillas de documentos MO +BOMsModelModule=Padróns de documentos BOM +MOsNumberingModules=Modelos de numeración PF +MOsModelModule=Padróns de documentos PF FreeLegalTextOnBOMs=Texto libre no documento BOM -WatermarkOnDraftBOMs=Marca de auga no borrador MO -FreeLegalTextOnMOs=Texto libre no documento MO -WatermarkOnDraftMOs=Marca de auga no borrador MO -ConfirmCloneBillOfMaterials=¿Está certo de querer clonar esta listaxe de materiais %s? +WatermarkOnDraftBOMs=Marca de auga no borrador BOM +FreeLegalTextOnMOs=Texto libre no documento PF +WatermarkOnDraftMOs=Marca de auga no borrador PF +ConfirmCloneBillOfMaterials=Está certo de querer clonar a listaxe de materiais %s? ConfirmCloneMo=Está certo de querer clonar este pedimento de facturación %s? ManufacturingEfficiency=Eficiencia de fabricación ConsumptionEfficiency=Eficienci de consumo ValueOfMeansLoss=O valor de 0.95 significa un promedio de 5%% de perda durante a produción ValueOfMeansLossForProductProduced=O valor de 0,95 significa unha media do 5 %% da perda do produto producido -DeleteBillOfMaterials=Eliminar listaxe de material -DeleteMo=Borra pedimentos de manufacturación -ConfirmDeleteBillOfMaterials=¿Está certo de querer eliminar esta Listaxe de Material? -ConfirmDeleteMo=¿Está certo de querer eliminar esta Listaxe de Material? -MenuMRP=Pedimentos de manufacturación -NewMO=Novo pedimento de manufacturación +DeleteBillOfMaterials=Eliminar listaxe de materiais +DeleteMo=Borra pedimento de manufacturación +ConfirmDeleteBillOfMaterials=Está certo de querer eliminar esta Listaxe de Materiais? +ConfirmDeleteMo=Está certo de querer eliminar esta Listaxe de Materiais? +MenuMRP=Pedimentos de fabricación +NewMO=Novo pedimento de fabricación QtyToProduce=Cant. a producir DateStartPlannedMo=Data de inicio prevista DateEndPlannedMo=Date de finalización prevista KeepEmptyForAsap=Baleiro quere dicir 'Tan pronto como sexa posible' EstimatedDuration=Duración estimada -EstimatedDurationDesc=Duración estimada para manufacturar este produto usando este BOM +EstimatedDurationDesc=Duración estimada para fabricar (ou desmontar) este produto usando esta Lista de Materiais ConfirmValidateBom=Está certo de que desexa validar a listaxe de materias coa referencia %s (poderá usala para crear novos pedimentos de fabricación) ConfirmCloseBom=¿Está certo de que quere cancelar esta listaxe de materiales (xa non poderá usalo para crear novos pedimentos de fabricación)? ConfirmReopenBom=Está certo de que quere voltar a abrir esta listaxe de materiales (poderá usala para construír novos pedimentoss de fabricación) @@ -52,7 +52,7 @@ DisableStockChangeHelp=Cando se sinala esta marca, non hai cambio de stock neste BomAndBomLines=Listaxes de material e liñas BOMLine=Liña de BOM WarehouseForProduction=Almacén para produción -CreateMO=Crear MO +CreateMO=Crear PF ToConsume=A consumir ToProduce=A poducir QtyAlreadyConsumed=Cant. xa consumida @@ -63,35 +63,34 @@ ConsumeAndProduceAll=Consumir e producir todo Manufactured=Fabricado TheProductXIsAlreadyTheProductToProduce=O produto a engadir xa é o produto a fabricar. ForAQuantityOf=Para producir unha cantidade de %s +ForAQuantityToConsumeOf=Para desmontar unha cantidade de %s ConfirmValidateMo=Está certo de que desexa validar este pedimento de fabricación? ConfirmProductionDesc=Ao facer clic en '%s', validará o consumo e/ou a produción para as cantidades establecidas. Isto tamén actualizará o stock e rexistrará os movementos de stock. ProductionForRef=Produción de %s AutoCloseMO=Pecha automaticamente o pedimento de fabricación se se alcanzan cantidades a consumir e producir NoStockChangeOnServices=Non hai cambio de stock nos servizos -ProductQtyToConsumeByMO=Cantidade de produto aínda por consumir por MO aberto -ProductQtyToProduceByMO=Cantidade de produto aínda por producir por MO aberto +ProductQtyToConsumeByMO=Cantidade de produto aínda por consumir por PF aberto +ProductQtyToProduceByMO=Cantidade de produto aínda por producir en OF aberta AddNewConsumeLines=Engadir nova liña para consumir ProductsToConsume=Produtos para consumir ProductsToProduce=Produtos para fabricar UnitCost=Custo unitario TotalCost=Custo total BOMTotalCost=O custo para producir este BOM está en función do custo de cada cantidade e produto a consumir (use o prezo de custo se se define, se non o prezo medio ponderado se se define, se non o mellor prezo de compra) -GoOnTabProductionToProduceFirst=Primeiro debe iniciar a produción para pechar un pedimento de fabricación (ver a pestana '%s'). Pero pode cancelalo. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=Non se pode usar un produto composto nunha lista de materiales nin nunha MO +GoOnTabProductionToProduceFirst=Primeiro debe iniciar a produción para pechar un pedimento de fabricación (ver a lapela '%s'). Pero pode cancelalo. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Non se pode usar un produto composto nunha BOM nin nunha MO Workstation=Estación de traballo Workstations=Estacións de traballo WorkstationsDescription=Xestión de estacións de traballo WorkstationSetup = Configuración de estacións de traballo WorkstationSetupPage = Páxina de configuración de estacións de traballo -WorkstationAbout = Acerca das estacións de traballo -WorkstationAboutPage = Páxina acerca das estacións de traballo WorkstationList=Listaxe de estacións de traballo WorkstationCreate=Axuntar nova estación de traballo ConfirmEnableWorkstation=Está certo de querer activar a estación de traballo %s? EnableAWorkstation=Activar a estación de traballo ConfirmDisableWorkstation=Está certo de querer desactivar a estación de traballo %s? DisableAWorkstation=Desactivar unha estación de traballo -DeleteWorkstation=Quitar +DeleteWorkstation=Eliminar NbOperatorsRequired=Número de operadores precisos THMOperatorEstimated=THM estimada operador THMMachineEstimated=THM estimada máquina diff --git a/htdocs/langs/gl_ES/orders.lang b/htdocs/langs/gl_ES/orders.lang index 10bc3214df4..c23c0c6829a 100644 --- a/htdocs/langs/gl_ES/orders.lang +++ b/htdocs/langs/gl_ES/orders.lang @@ -11,6 +11,7 @@ OrderDate=Data pedimento OrderDateShort=Data pedimento OrderToProcess=Pedimento a procesar NewOrder=Novo pedimento +NewSupplierOrderShort=Novo pedimento NewOrderSupplier=Nova orde de compra ToOrder=Realizar pedimento MakeOrder=Realizar pedimento @@ -73,6 +74,7 @@ DeleteOrder=Eliminar o pedimento CancelOrder=Anular o pedimento OrderReopened= Pedimento %s aberto de novo AddOrder=Crear pedimento +AddSupplierOrderShort=Crear pedimento AddPurchaseOrder=Create pedimento de compra AddToDraftOrders=Engadir a pedimento borrador ShowOrder=Amosar pedimento diff --git a/htdocs/langs/gl_ES/other.lang b/htdocs/langs/gl_ES/other.lang index 37ad4e8992b..ffed0c0f91d 100644 --- a/htdocs/langs/gl_ES/other.lang +++ b/htdocs/langs/gl_ES/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Login usuario que pechou FileWasRemoved=O ficheiro %s foi eliminado DirWasRemoved=O directorio %s foi eliminado FeatureNotYetAvailable=Funcionalidade ainda non dispoñible nesta versión actual +FeatureNotAvailableOnDevicesWithoutMouse=Función non dispoñible en dispositivos sen rato FeaturesSupported=Funcionalidades dispoñibles Width=Ancho Height=Alto @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contacto/enderezo creado polo recolector de corre ProjectCreatedByEmailCollector=Proxecto creado polo recolector de correos electrónicos do MSGID de correo electrónico %s TicketCreatedByEmailCollector=Ticket creado polo recolector de correos electrónicos do MSGID de correo electrónico %s OpeningHoursFormatDesc=Use o - para separar horario de apertura e peche.
    Use o espazo para engadir diferentes rangos.
    Exemplo: 8-12 14-18 -PrefixSession=Prefixo do Id da sesión +SuffixSessionName=Sufixo para o nome da sesión ##### Export ##### ExportsArea=Área de exportación @@ -290,3 +291,7 @@ PopuCom=Produtos/Servizos por popularidade e Pedimentos ProductStatistics=Estatísticas de Produtos/Servizos NbOfQtyInOrders=Cantidade en pedimentos SelectTheTypeOfObjectToAnalyze=Seleccione un obxecto para ver as súas estatísticas ... + +ConfirmBtnCommonContent = Está certo de querer "%s"? +ConfirmBtnCommonTitle = Confirma a súa acción +CloseDialog = Peche diff --git a/htdocs/langs/gl_ES/partnership.lang b/htdocs/langs/gl_ES/partnership.lang index 7aab0c8c018..6ab54ff8b47 100644 --- a/htdocs/langs/gl_ES/partnership.lang +++ b/htdocs/langs/gl_ES/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Xestión de Asociacións -PartnershipDescription = Módulo de xestión de Asociacións +ModulePartnershipName=Xestión de Asociacións +PartnershipDescription=Módulo de xestión de Asociacións PartnershipDescriptionLong= Módulo de xestión de Asociacións +AddPartnership=Engade asociado +CancelPartnershipForExpiredMembers=Asociación: cancela a asociación de membros con subscricións caducadas +PartnershipCheckBacklink=Asociación: comprobe a ligazón de retroceso referente + # # Menu # -NewPartnership = Nova Asociación -ListOfPartnerships = Listaxe de Asociacións +NewPartnership=Nova Asociación +ListOfPartnerships=Listaxe de Asociacións # # Admin page # -PartnershipSetup = Configuración de Asociación -PartnershipAbout = Sobre Asociación -PartnershipAboutPage = Sobre a páxina de Asociación - +PartnershipSetup=Configuración de Asociacións +PartnershipAbout=Sobre Asociacións +PartnershipAboutPage=Sobre a páxina de Asociacións +partnershipforthirdpartyormember=O estado de asociado debe establecerse nun "terceiro" ou nun "membro" +PARTNERSHIP_IS_MANAGED_FOR=Xestionouse a subscrición para +PARTNERSHIP_BACKLINKS_TO_CHECK=Ligazóns de atraso para comprobar +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nº de días antes do estado cancelado dun asociado cando caducou a subscrición +ReferingWebsiteCheck=Comprobación da referencia do sitio web +ReferingWebsiteCheckDesc=Pode habilitar unha función para comprobar que os seus socios engadiron unha ligazón de retroceso aos dominios do seu sitio web no seu propio sitio web. # # Object # +DeletePartnership=Eliminar unha asociación +PartnershipDedicatedToThisThirdParty=Asociación dedicada a este terceiro +PartnershipDedicatedToThisMember=Asociación dedicada a este membro DatePartnershipStart=Data inicio DatePartnershipEnd=Data finalización +ReasonDecline=Razón para declinar +ReasonDeclineOrCancel=Razón para declinar +PartnershipAlreadyExist=A asociación xa existe +ManagePartnership=Xestionar a asociación +BacklinkNotFoundOnPartnerWebsite=Non se atopou a ligazón de atraso no sitio web do socio +ConfirmClosePartnershipAsk=Está certo de querer cancelar esta asociación? +PartnershipType=Tipo de asociación # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Subscrición será pronto cancelada +SendingEmailOnPartnershipRefused=Subscrición rexeitada +SendingEmailOnPartnershipAccepted=Subscrición aceptada +SendingEmailOnPartnershipCanceled=Subscrición cancelada +YourPartnershipWillSoonBeCanceledTopic=Subscrición será pronto cancelada +YourPartnershipRefusedTopic=Subscrición rexeitada +YourPartnershipAcceptedTopic=Subscrición aceptada +YourPartnershipCanceledTopic=Subscrición cancelada + +YourPartnershipWillSoonBeCanceledContent=Informámoslle que a súa asociación pronto se cancelará (non se atopou a ligazón de atraso) +YourPartnershipRefusedContent=Informámoslle que a súa solicitude de subscrición foi rexeitada. +YourPartnershipAcceptedContent=Informámoslle que a súa solicitude de subscrición foi aceptada. +YourPartnershipCanceledContent=Informámoslle que a súa subscrición foi cancelada. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Razón para declinar # # Status # -PartnershipDraft = Non validada -PartnershipAccepted = Aceptado -PartnershipRefused = Rexeitado -PartnershipCanceled = Anulado - +PartnershipDraft=Non validada +PartnershipAccepted=Aceptado +PartnershipRefused=Rexeitado +PartnershipCanceled=Anulado PartnershipManagedFor=Os socios son diff --git a/htdocs/langs/gl_ES/productbatch.lang b/htdocs/langs/gl_ES/productbatch.lang index a3a113330c9..03495c2d642 100644 --- a/htdocs/langs/gl_ES/productbatch.lang +++ b/htdocs/langs/gl_ES/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Usar numeración por lote/serie ProductStatusOnBatch=Sí (lote obrigatorio) ProductStatusOnSerial=Sí (é preciso un número de serie único) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Consultar os movemeentos de stock deste produto/lote StockDetailPerBatch=Detalle de stock por lote SerialNumberAlreadyInUse=O número de serie %s xa é usado para o produto %s TooManyQtyForSerialNumber=Só pode ter un produto %s para o número de serie %s -BatchLotNumberingModules=Opcións para a xeración automática de lotes de produtos xestionados por lotes -BatchSerialNumberingModules=Opcións para a xeración automática de lotes de produtos xestionados por números de serie ManageLotMask=Máscara personalizada -CustomMasks=Engada unha opción para definir a máscara na tarxeta do produto -LotProductTooltip=Engada unha opción na tarxeta do produto para definir unha máscara de número de lote dedicada -SNProductTooltip=Engada unha opción na tarxeta do produto para definir unha máscara de número de serie dedicada +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Cant. a engadir por cada código de barras/lote/serie escaneado +LifeTime=Duración da vida útil (en días) +EndOfLife=Fin da vida útil +ManufacturingDate=Data de fabricación +DestructionDate=Data de destrución +FirstUseDate=Data do primeiro uso +QCFrequency=Frecuencia do control de calidade (en días) + +#Traceability - qc status +OutOfOrder=Fora de servizo +InWorkingOrder=En funcionamento diff --git a/htdocs/langs/gl_ES/products.lang b/htdocs/langs/gl_ES/products.lang index eaad382a5cc..7271d0b9f12 100644 --- a/htdocs/langs/gl_ES/products.lang +++ b/htdocs/langs/gl_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Diferentes prezos para cada cliente PriceCatalogue=Un prezo único de venda por produto/servizo PricingRule=Regras para prezos de venda AddCustomerPrice=Configurar prezo po cliente -ForceUpdateChildPriceSoc=Establecer o mesmo prezo nas filiais dos clientes +ForceUpdateChildPriceSoc=Establece o mesmo prezo nas filiais do cliente PriceByCustomerLog=Historial de prezos previos a clientes MinimumPriceLimit=O prezo mínimo non pode ser menor que %s MinimumRecommendedPrice=O prezo mínimo recomendado é: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Incrementar/Diminuir stock ao mudar o pai ComposedProduct=Subproduto MinSupplierPrice=Prezo mínimo de compra MinCustomerPrice=Prezo mínimo de venda +NoDynamicPrice=Sen prezo dinámico DynamicPriceConfiguration=Configuración de prezo dinámico DynamicPriceDesc=Pode definir fórmulas matemáticas para calcular os prezos do cliente ou do provedor. Tales fórmulas poden empregar todos os operadores matemáticos, algunhas constantes e variables. Pode definir aquí as variables que desexa empregar. Se a variable precisa unha actualización automática, pode definir a URL externa para permitir a Dolibarr actualizar o valor automaticamente. AddVariable=Engadir variable @@ -340,7 +341,7 @@ ProductSheet=Folla de produto ServiceSheet=Folla de servizo PossibleValues=Valores posibles GoOnMenuToCreateVairants=Vaia ao menú %s - %s para preparar variables de atributos (como cores, tamaño, ...) -UseProductFournDesc=Engade unha función para definir as descricións dos produtos definidos polos provedores ademais das descricións para os clientes +UseProductFournDesc=Engade unha función para definir a descrición do produto definida polos vendedores (para cada referencia do vendedor) ademais da descrición para os clientes ProductSupplierDescription=Descrición do produto do provedor UseProductSupplierPackaging=Utilice o envase nos prezos do provedor (recalcule as cantidades segundo o prezo do empaquetado do provedor ao engadir/actualizar a liña nos documentos do provedor) PackagingForThisProduct=Empaquetado @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Acción só dispoñible na variante do produ ProductsPricePerCustomer=Prezos de produto por cliente ProductSupplierExtraFields=Atributos adicionais (Prezos Provedor) DeleteLinkedProduct=Eliminar o produto fillo ligado á combinación +PMPValue=Prezo medio ponderado +PMPValueShort=PMP diff --git a/htdocs/langs/gl_ES/projects.lang b/htdocs/langs/gl_ES/projects.lang index 46f8fe51657..ffb5ef70189 100644 --- a/htdocs/langs/gl_ES/projects.lang +++ b/htdocs/langs/gl_ES/projects.lang @@ -140,6 +140,7 @@ NoTasks=Ningunha tarefa para este proxecto LinkedToAnotherCompany=Ligado a outro terceiro TaskIsNotAssignedToUser=Tarefa non asignada ao usuario. Use o botón '%s' para asignar a tarefa agora. ErrorTimeSpentIsEmpty=O tempo consumido está baleiro +TimeRecordingRestrictedToNMonthsBack=A gravación do tempo restrinxese a %s meses atrás ThisWillAlsoRemoveTasks=Esta operación tamén eliminará todas as tarefas do proxecto (%s tarefas neste intre) e todas as entradas de tempo empregado. IfNeedToUseOtherObjectKeepEmpty=Se os obxectos (factura, pedimento, ...) pertencen a outro terceiro, debe estar ligado ao proxecto a crear, deixe isto baleiro para permitir asignar o proxecto a distintos terceiros. CloneTasks=Clonar as tarefas @@ -182,9 +183,9 @@ SelectElement=Escolla elemento AddElement=Ligar ao elemento LinkToElementShort=Ligar a # Documents models -DocumentModelBeluga=Prantilla de documento para a descrición dos obxectos ligados -DocumentModelBaleine=Prantilla de documendo do proxecto para tarefas -DocumentModelTimeSpent=Prantilla de informe de proxecto para o tempo empregado +DocumentModelBeluga=Padrón de documento para a descrición dos obxectos ligados +DocumentModelBaleine=Padrón de documendo do proxecto para tarefas +DocumentModelTimeSpent=Padrón de informe de proxecto para o tempo empregado PlannedWorkload=Carga de traballo planificada PlannedWorkloadShort=Carga de traballo ProjectReferers=Items relacionados @@ -241,6 +242,7 @@ LatestModifiedProjects=Últimos %s proxectos modificados OtherFilteredTasks=Outras tarefas filtradas NoAssignedTasks=Sen tarefas asignadas ( Asigne proxectos/tarefas ao usuario actual dende o selector superior para indicar tempos nelas) ThirdPartyRequiredToGenerateInvoice=Debe definirse un terceiro no proxecto para poder facturalo. +ThirdPartyRequiredToGenerateInvoice=Debe definirse un terceiro no proxecto para poder facturalo. ChooseANotYetAssignedTask=Escolla unha tarefa non asignada aínda a vostede # Comments trans AllowCommentOnTask=Permitir comentarios dos usuarios nas tarefas @@ -252,10 +254,12 @@ SendProjectRef=Informacións do proxecto %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Debe activarse o módulo 'Pago de salarios dos empregados' para poder definir o prezo por hora dos empregados e poder valorar o tempo empregado NewTaskRefSuggested=Referencia de tarefa xa utilizada, suxerida unha nova referencia de tarefa TimeSpentInvoiced=Tenpo empregado facturado +TimeSpentForIntervention=Tempo empregado TimeSpentForInvoice=Tempo empregado OneLinePerUser=Unha liña por usuario ServiceToUseOnLines=Servizo a usar en liñas InvoiceGeneratedFromTimeSpent=Factura %s foi xerada co tempo empregado no proxecto +InterventionGeneratedFromTimeSpent=A intervención %s xerouse a partir do tempo adicado ao proxecto ProjectBillTimeDescription=Comprobe se introduce unha folla de tempo nas tarefas do proxecto e planea xerar factura(s) a partir da folla de tempo para facturar ao cliente do proxecto (non comprobe se pensa crear unha factura que non estexa baseada nas follas de traballo introducidas). Nota: para xerar factura, vaia a pestana "Tempo empregado" do proxecto e selecciona as liñas a incluír. ProjectFollowOpportunity=Seguir oportunidade ProjectFollowTasks=Seguir tarefa @@ -264,12 +268,16 @@ UsageOpportunity=Uso: Oportunidade UsageTasks=Usage: Tarefa UsageBillTimeShort=Usage: Horas facturables InvoiceToUse=Borrador de factura a usar +InterToUse=Borrador de intervención para usar NewInvoice=Nova factura +NewInter=Nova intervención OneLinePerTask=Unha liña por tarefa OneLinePerPeriod=Unha liña por período +OneLinePerTimeSpentLine=Unha liña para cada declaración de tempo empregado RefTaskParent=Ref. Tarefa Pai ProfitIsCalculatedWith=Beneficio está calculado usando AddPersonToTask=Engadir tamén ás tarefas UsageOrganizeEvent=Uso: organización de eventos PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Clasificar o proxecto como pechado cando se completen todas as súas tarefas (100 %% progreso) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Nota: os proxectos existentes con todas as tarefas en progreso do 100 %% non se verán afectados: terá que pechalos manualmente. Esta opción só afecta a proxectos abertos. +SelectLinesOfTimeSpentToInvoice=Seleccione a liñas de tempo utilizadas que non se facturan e, de seguido, empregue unha acción masiva de "Xerar factura" para facturalas diff --git a/htdocs/langs/gl_ES/receptions.lang b/htdocs/langs/gl_ES/receptions.lang index 6c33af15572..8fae718c89e 100644 --- a/htdocs/langs/gl_ES/receptions.lang +++ b/htdocs/langs/gl_ES/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Primeiro debe validar o pedimento antes de pod ReceptionsNumberingModules=Módulo de numeración para recepcións ReceptionsReceiptModel=Modeloss de documentos para recepcións. NoMorePredefinedProductToDispatch=Non hai máis produtos predefinidos para enviar - +ReceptionExist=Xa hai unha recepción diff --git a/htdocs/langs/gl_ES/salaries.lang b/htdocs/langs/gl_ES/salaries.lang index 577ba84d964..6567eb6151d 100644 --- a/htdocs/langs/gl_ES/salaries.lang +++ b/htdocs/langs/gl_ES/salaries.lang @@ -17,8 +17,8 @@ TJM=Taxa media por día CurrentSalary=Salario actual THMDescription=Este valor pode ser utilizado para calcular os custos de tempo consumido nun proxecto indicados polos usuarios se utiliza o módulo proxectos TJMDescription=Este valor actualmente é informativo e non é utilizado para realizar calquera tipo de cálculo -LastSalaries=Últimos %s pagamentos salariais -AllSalaries=Todos os pagamentos salariais +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Estatísticas salariais -# Export SalariesAndPayments=Salarios e pagamentos +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/gl_ES/stocks.lang b/htdocs/langs/gl_ES/stocks.lang index 419b706614f..a8fe078157b 100644 --- a/htdocs/langs/gl_ES/stocks.lang +++ b/htdocs/langs/gl_ES/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Prezo de compra unitario StockTooLow=Stock insuficinte StockLowerThanLimit=O stock é menor que o límite da alerta (%s) EnhancedValue=Valor -PMPValue=Prezo medio ponderado -PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks en almacén UserWarehouseAutoCreate=Crea automáticamente un almacén de usuarios ao crear un usuario AllowAddLimitStockByWarehouse=Xestionar tamén o valor do stock mínimo e desexado por emparellamento (produto-almacén) ademais do valor do stock mínimo e stock desexado por produto RuleForWarehouse=Regras para almacén -WarehouseAskWarehouseOnThirparty=Establecer un almacén en terceiros +WarehouseAskWarehouseOnThirparty=Establecer un almacén en terceiros WarehouseAskWarehouseDuringPropal=Establecer un almacén en orzamentos a clientes WarehouseAskWarehouseDuringOrder=Establecer un almacén para pedimentos a provedor UserDefaultWarehouse=Establecer un almacén para usuarios @@ -169,8 +167,8 @@ MovementTransferStock=Transferencia de stock do produto %s a outro almacén InventoryCodeShort=Código Inv./Mov. NoPendingReceptionOnSupplierOrder=Non agárdanse recepcións do pedimento a provedor ThisSerialAlreadyExistWithDifferentDate=Este número de lote/serie (%s) xa existe, pero cunha data de caducidade ou venda distinta (atopada %s pero vostede introduce %s). -OpenAll=Aberto para todas as accións -OpenInternal=Aberto só a accións internas +OpenAnyMovement=Aberto (todo movemento) +OpenInternal=Aberto (só movementos internos) UseDispatchStatus=Use un estado de envío (aprobar/rexeitar) para as liñas de produtos na recepción do pedimento a provedor OptionMULTIPRICESIsOn=A opción "varios prezos por segmento" está activada. Significa que un produto ten varios prezos de venda polo que o valor para a venda non se pode calcular ProductStockWarehouseCreated=Límite stock para alertas e stock óptimo desxeado creado correctamente @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=Seleccionar un ficheiro a importar dos movement InfoTemplateImport=O ficheiro cargado precisa ter este formato (* son campos obrigatorios):
    Almacén orixe* | Almacén destino* | Produto* | Cantidade* | Número de Lote/Serie
    CSV debe ser " %s" LabelOfInventoryMovemement=Inventario %s ReOpen=Abrir de novo -ConfirmFinish=Confirma o peche do inventario? Isto xerará todos os movementos de stock para actualizar o seu stock +ConfirmFinish=Está certo de querer pechar o inventario? Isto xerará todos os movementos de stock para actualizar o stock á cantidade real que ingresou no inventario. ObjectNotFound=%s non foi atopado MakeMovementsAndClose=Xera movementos e pecha AutofillWithExpected=Encher a cantidade real coa cantidade agardada +ShowAllBatchByDefault=De xeito predeterminado, amosa os detalles do lote na lapela "stock" do produto +CollapseBatchDetailHelp=Pode configurar a visualización predeterminada do detalle do lote na configuración do modulo stocks +FieldCannotBeNegative=O campo "%s" non pode ser negativo +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/gl_ES/ticket.lang b/htdocs/langs/gl_ES/ticket.lang index 9d4e31f46f1..fc29e2171d0 100644 --- a/htdocs/langs/gl_ES/ticket.lang +++ b/htdocs/langs/gl_ES/ticket.lang @@ -19,7 +19,7 @@ # Module56000Name=Tickets -Module56000Desc=Sistema detickets para a xestión de emisións ou solicitudes +Module56000Desc=Sistema de tickets para a xestión de emisións ou solicitudes Permission56001=Ver tickets Permission56002=Modificar tickets @@ -34,7 +34,8 @@ TicketDictResolution=Resolución dos tickets TicketTypeShortCOM=Pregunta comercial TicketTypeShortHELP=Solicitar axuda sobre funcións -TicketTypeShortISSUE=Erro, bug ou problema +TicketTypeShortISSUE=Problema ou erro +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Solicitude de cambio ou mellora TicketTypeShortPROJET=Proxecto TicketTypeShortOTHER=Outro @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuario asignado TypeContact_ticket_external_SUPPORTCLI=Contacto seguemento cliente/incidente TypeContact_ticket_external_CONTRIBUTOR=Contribuidor externo -OriginEmail=Orixe E-Mail +OriginEmail=Correo electrónico do redactor Notify_TICKET_SENTBYMAIL=Enviar mensaxe de ticket por e-mail # Status Read=Lido Assigned=Asignado InProgress=En progreso -NeedMoreInformation=Agardando información +NeedMoreInformation=Agardando os comentarios do redactor +NeedMoreInformationShort=Agardando os comentarios Answered=Contestado Waiting=Agardando -Closed=Pechado +SolvedClosed=Solved Deleted=Eliminado # Dict @@ -160,7 +162,7 @@ CreatedBy=Creado por NewTicket=Novo ticket SubjectAnswerToTicket=Resposta TicketTypeRequest=Tipo de solicitude -TicketCategory=Grúpo +TicketCategory=Categorización de tickets SeeTicket=Ver ticket TicketMarkedAsRead=O ticket foi marcado como lido TicketReadOn=Lido o @@ -184,9 +186,11 @@ TicketSeverity=Gravidade ShowTicket=Ver ticket RelatedTickets=Tickets relacionados TicketAddIntervention=Crear intervención -CloseTicket=Pechar ticket -CloseATicket=Pechar un ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirmar o peche do ticket +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Confirme a eliminación do ticket TicketDeletedSuccess=Ticket eliminado con éxito TicketMarkedAsClosed=Ticket marcado como pechado @@ -211,6 +215,7 @@ TicketMessageHelp=Só este texto será gardado na listaxe de mensaxes na ficha d TicketMessageSubstitutionReplacedByGenericValues=As variables de substitución son reemplazadas por valores xenéricos. TimeElapsedSince=Tempo transcurrido dende TicketTimeToRead=Tempo transcurrido antes de ler o ticket +TicketTimeElapsedBeforeSince=Tempo transcorrido antes / despois TicketContacts=Contactos do ticket TicketDocumentsLinked=Documentos ligados ao ticket ConfirmReOpenTicket=¿Está certo de querer reabrir este ticket? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Últimos tickets modificados BoxLastModifiedTicketDescription=Últimos %s tickets modificados BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Non hai tickets modificados recentemente -BoxTicketType=Número de tickets abertos por tipo +BoxTicketType=Distribución de ticketss abertos por tipo BoxTicketSeverity=Número de tickets abertos por gravidade BoxNoTicketSeverity=Número de tickets abertos BoxTicketLastXDays=Número de tickets abertos por días nos últimos %s días diff --git a/htdocs/langs/gl_ES/trips.lang b/htdocs/langs/gl_ES/trips.lang index 0cc9aa1f4b9..58981bee9e6 100644 --- a/htdocs/langs/gl_ES/trips.lang +++ b/htdocs/langs/gl_ES/trips.lang @@ -55,7 +55,7 @@ EX_HOT=Hotel EX_PAR=Estacionamento EX_TOL=Peaxe EX_TAX=Impostos varios -EX_IND=Suscrición de indemnización por transporte +EX_IND=Subscrición de indemnización por transporte EX_SUM=Mantemento EX_SUO=Material de oficina EX_CAR=Aluguer de vehículos @@ -90,7 +90,6 @@ DATE_REFUS=Data de denegación DATE_SAVE=Data de validación DATE_CANCEL=Data de cancelación DATE_PAIEMENT=Data de pagamento -BROUILLONNER=Abrir de novo ExpenseReportRef=Ref. informe de gasto ValidateAndSubmit=Validar e enviar para aprobar ValidatedWaitingApproval=Validado (agardando aprobación) diff --git a/htdocs/langs/gl_ES/users.lang b/htdocs/langs/gl_ES/users.lang index e36d65af255..b101e4a9df4 100644 --- a/htdocs/langs/gl_ES/users.lang +++ b/htdocs/langs/gl_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login a crear NameToCreate=Nome do terceiro a crear YourRole=Os seus roles YourQuotaOfUsersIsReached=¡Máximo de cota de usuarios activos! -NbOfUsers=Nº de usuarios -NbOfPermissions=Nº de permisos +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Sólo un superadmin pode degradar un superadmin HierarchicalResponsible=Supervisor HierarchicView=Vista xerárquica diff --git a/htdocs/langs/gl_ES/website.lang b/htdocs/langs/gl_ES/website.lang index c93e34b7057..4f5044de2f3 100644 --- a/htdocs/langs/gl_ES/website.lang +++ b/htdocs/langs/gl_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Engadir sitio web Webpage=Páxina web/contedor AddPage=Engadir páxina/contedor PageContainer=Páxina -PreviewOfSiteNotYetAvailable=A vista previa do seu sitio web %s aínda non está dispoñible. Primeiro debe " Importar un modelo de sitio web completo " ou simplemente " Engadir unha páxina/contedor ". +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=A páxina solicitada co id %s aínda non ten contido ou a caché file.tpl.php foi eliminada. Edite o contido da páxina para solucionar isto. SiteDeleted=Eliminouse o sitio web '%s' PageContent=Páxina/Contedor @@ -73,7 +73,7 @@ CreateByFetchingExternalPage=Crear páxina/contedor recuperando páxina desde un OrEnterPageInfoManually=Ou crea a páxina desde cero ou a partir dun modelo de páxina ... FetchAndCreate=Obter e crear ExportSite=Exportar sitio web -ImportSite=Importar prantilla de sitio web +ImportSite=Importar padrón de sitio web IDOfPage=Id da páxina Banner=Banner BlogPost=Entrada no blog @@ -117,7 +117,7 @@ ReplaceString=Nova cadea CSSContentTooltipHelp=Introduza aquí contido CSS. Para evitar calquera conflito co CSS da aplicación, asegúrese de antepoñer toda a declaración coa clase .bodywebsite. Por exemplo:

    #mycssselector, input.myclass:hover {...}
    debe ser
    .bodywebsite #mycssselector,.bodywebsite input.myclass:hover {...}

    Nota: Se ten un ficheiro grande sen este prefixo, pode usar "lessc" para convertelo para engadir o prefixo .bodywebsite en todas partes. LinkAndScriptsHereAreNotLoadedInEditor=Aviso: este contido só se emite cando se accede ao sitio desde un servidor. Non se usa no modo de edición, polo que se precisa cargar ficheiros javascript tamén no modo de edición, só ten que engadir a súa etiqueta 'script src=...' á páxina. Dynamiccontent=Mostra dunha páxina con contido dinámico -ImportSite=Importar prantilla de sitio web +ImportSite=Importar padrón de sitio web EditInLineOnOff=O modo 'Editar en liña' é %s ShowSubContainersOnOff=O modo para executar "contido dinámico" é %s GlobalCSSorJS=Ficheiro global CSS/JS/Header do sitio web diff --git a/htdocs/langs/gl_ES/withdrawals.lang b/htdocs/langs/gl_ES/withdrawals.lang index 595d3694f5b..2f2c0bc9cbe 100644 --- a/htdocs/langs/gl_ES/withdrawals.lang +++ b/htdocs/langs/gl_ES/withdrawals.lang @@ -1,17 +1,17 @@ # Dolibarr language file - Source file is en_US - withdrawals CustomersStandingOrdersArea=Área domiciliacións -SuppliersStandingOrdersArea=Área domiciliacións +SuppliersStandingOrdersArea=Área transferencias StandingOrdersPayment=Domiciliacións StandingOrderPayment=Domiciliación NewStandingOrder=Nova domiciliación -NewPaymentByBankTransfer=Novo pagamenyo por transferencia +NewPaymentByBankTransfer=Novo pagamento por transferencia StandingOrderToProcess=A procesar -PaymentByBankTransferReceipts=Solicitudes de transferencia +PaymentByBankTransferReceipts=Ordes de transferencia PaymentByBankTransferLines=Liñas de ordes de transferencia WithdrawalsReceipts=Domiciliacións WithdrawalReceipt=Domiciliación -BankTransferReceipts=Solicitudes de transferencia -BankTransferReceipt=Ordes de transferencia +BankTransferReceipts=Ordes de transferencia +BankTransferReceipt=Orde de transferencia LatestBankTransferReceipts=Últimas %s ordes de transferencia LastWithdrawalReceipts=Últimos %s ficheiros de ordes de domiciliación WithdrawalsLine=Liña de orde de domiciliacións @@ -20,18 +20,18 @@ WithdrawalsLines=Liñas de ordes de domiciliación CreditTransferLines=Liñas de ordes de transferencia RequestStandingOrderToTreat=Peticións de domiciliacións a procesar RequestStandingOrderTreated=Peticións de domiciliacións procesadas -RequestPaymentsByBankTransferToTreat=Solicitudes de transferencia a tramitar -RequestPaymentsByBankTransferTreated=Solicitudes de transferencia a procesar +RequestPaymentsByBankTransferToTreat=Ordes de transferencia a tramitar +RequestPaymentsByBankTransferTreated=Ordes de transferencia a procesar NotPossibleForThisStatusOfWithdrawReceiptORLine=Aínda non é posible. O estado da domiciliación debe ser 'abonada' antes de poder realizar devolucións as súas líñas -NbOfInvoiceToWithdraw=Nº de facturas pendentes de domiciliación +NbOfInvoiceToWithdraw=Nº de facturas de cliente calificadas con domiciliación agardando NbOfInvoiceToWithdrawWithInfo=Número de facturas agardando domiciliación para clientes que teñen o seu número de conta definida -NbOfInvoiceToPayByBankTransfer=Nº de facturas de provedores agardando un pagamento mediante transferencia +NbOfInvoiceToPayByBankTransfer=Nº de facturas de provedor agardando un pagamento mediante transferencia SupplierInvoiceWaitingWithdraw=Factura de provedor agardando pagamento mediante transferencia InvoiceWaitingWithdraw=Facturas agardando domiciliación InvoiceWaitingPaymentByBankTransfer=Factura agardando transferencia -AmountToWithdraw=Cantidade a domiciliar +AmountToWithdraw=Cantidade a retirar/domiciliar NoInvoiceToWithdraw=Non hai ningunha factura aberta para '%s' agardando. Vaia á lapela '%s' da tarxeta de factura para facer unha solicitude. -NoSupplierInvoiceToWithdraw=Non hai ningunha factura do provedor con "Solicitudes de crédito" abertas. Vaia á pestana '%s' da tarxeta da factura para facer unha solicitude. +NoSupplierInvoiceToWithdraw=Non hai ningunha factura do provedor con "Solicitudes de transferencia" agardando. Vaia á lapela '%s' da tarxeta da factura para facer unha solicitude. ResponsibleUser=Usuario responsable das domiciliacións WithdrawalsSetup=Configuración das domiciliacións CreditTransferSetup=Configuración das transferencias @@ -44,7 +44,8 @@ MakeBankTransferOrder=Realizar unha petición de transferencia WithdrawRequestsDone=%s domiciliacións rexistradas BankTransferRequestsDone=%s transferencias rexistradas ThirdPartyBankCode=Código banco do terceiro -NoInvoiceCouldBeWithdrawed=Non se facturou ningunha factura correctamente. Comprobe que as facturas son de empresas con IBAN válido e que IBAN ten unha RMU (Referencia de mandato único) co modo %s1. +NoInvoiceCouldBeWithdrawed=Non foi realizada a domiciliación de ningunha factura correctamente. Comprobe que as facturas son de empresas con IBAN válido e que IBAN ten unha RMU (Referencia de mandato único) co modo %s1. +WithdrawalCantBeCreditedTwice=Este recibo de retirada xa está marcado como abonado; isto non pode facerse dúas veces, xa que isto podería crear pagamentos duplicados e entradas bancarias. ClassCredited=Clasificar como "Abonada" ClassCreditedConfirm=¿Está certo de querer clasificar esta domiciliación como abonada na súa conta bancaria? TransData=Data envío @@ -77,11 +78,11 @@ StatusMotif5=Conta inexistente StatusMotif6=Conta sen saldo StatusMotif7=Decisión xudicial StatusMotif8=Outro motivo -CreateForSepaFRST=Domiciliar (SEPA FRST) -CreateForSepaRCUR=Domiciliar (SEPA RCUR) -CreateAll=Domiciliar (todas) +CreateForSepaFRST=Crear ficheiro de domiciliación (SEPA FRST) +CreateForSepaRCUR=Crear ficheiro de domiciliación (SEPA RCUR) +CreateAll=Crear ficheiro de domiciliación (todas) CreateFileForPaymentByBankTransfer=Crear un ficheiro para a transferencia -CreateSepaFileForPaymentByBankTransfer=Crear un ficheiro de transferencia (SEPA) +CreateSepaFileForPaymentByBankTransfer=Crear ficheiro de transferencia (SEPA) CreateGuichet=Só oficina CreateBanque=Só banco OrderWaiting=Agardando proceso @@ -89,7 +90,7 @@ NotifyTransmision=Envío de domiciliación NotifyCredit=Abono de domiciliación NumeroNationalEmetter=Número Nacional do Emisor WithBankUsingRIB=Para as contas bancarias que utilizan RIB -WithBankUsingBANBIC=Para as contas bancarias que utilizan o código BAN/BIC/SWIFT +WithBankUsingBANBIC=Para as contas bancarias que utilizan IBAN/BIC/SWIFT BankToReceiveWithdraw=Conta bancaria para recibir a domiciliación BankToPayCreditTransfer=Conta bancaria empregada como fonte de pagamentos CreditDate=Abonada o @@ -106,21 +107,21 @@ StatisticsByLineStatus=Estatísticas por estado das liñas RUM=RUM DateRUM=Data da sinatura do mandato RUMLong=Referencia única do mandato -RUMWillBeGenerated=Se está baleiro, o número RUM /Referencia Única do Mandato) xérase unha vez gardada a información da conta bancaria +RUMWillBeGenerated=Se está baleiro, o número RUM (Referencia Única do Mandato) xérase unha vez gardada a información da conta bancaria WithdrawMode=Modo domiciliación (FRST o RECUR) WithdrawRequestAmount=Importe da domiciliación -BankTransferAmount=Importe da solicitude +BankTransferAmount=Importe da orde de transferencia WithdrawRequestErrorNilAmount=Non é posible crear unha domiciliación sen importe -SepaMandate=Mandato SEPA +SepaMandate=Mandato SEPA de domiciliación SepaMandateShort=Mandato SEPA PleaseReturnMandate=Envíe de volta este formulario de mandato por correo electrónico a %s ou por correo a -SEPALegalText=Ao asinar este mandato, autoriza (A) %s a enviar instruccións ao seu banco para cargar na súa conta e (B) ao seu banco para cargar na súa conta en acordo coas instruccións de %s. Como parte dos seus dereitos, ten dereito a unha devolución nos termos e condicións do seu contrato co seu banco. Unha devolución debe reclamarse dentro de 8 semanas a partires da data na que foi realizado o cargo a súa conta. Os seus dereitos con respeito ao mandato anterior explícanse nun comunicado que pode obter do seu banco. +SEPALegalText=Ao asinar este mandato, autoriza (A) %s a enviar instruccións ao seu banco para cargar na súa conta e (B) ao seu banco para cargar na súa conta en acordo coas instruccións de %s. Como parte dos seus dereitos, ten dereito a unha devolución nos termos e condicións do seu contrato co seu banco. Unha devolución debe reclamarse dentro das 8 semanas a partir da data na que foi realizado o cargo a súa conta. Os seus dereitos con respeito ao mandato anterior explícanse nun comunicado que pode obter do seu banco. CreditorIdentifier=Identificador Acredor CreditorName=Nome acredor SEPAFillForm=(B) Cubra todos os campos marcados con * SEPAFormYourName=O seu nome -SEPAFormYourBAN=IBAN da súa conta bancaria -SEPAFormYourBIC=BIC do seu banco +SEPAFormYourBAN=Número internacional da súa conta bancaria (IBAN) +SEPAFormYourBIC=Código identificador do seu banco (BIC) SEPAFrstOrRecur=Tipo de pagamento ModeRECUR=Pago recorrente ModeFRST=Pago único @@ -132,21 +133,20 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Data de execución CreateForSepa=Crear ficheiro de domiciliación bancaria -ICS=Identificador de acreedor CI -ICSTransfer=Identificador de acredor CI para transferencia bancaria +ICS=Creditor Identifier - ICS END_TO_END=Etiqueta XML SEPA "EndToEndId" - ID único asignada por transacción USTRD=Etiqueta SEPA XML "Unstructured" ADDDAYS=Engadir días á data de execución -NoDefaultIBANFound=Non atopouse o IBAN deste terceiro +NoDefaultIBANFound=Non atopouse o IBAN por defecto deste terceiro ### Notifications InfoCreditSubject=Abono de domiciliación %s polo banco -InfoCreditMessage=A orde de domiciliación %s foi abonada polo banco
    Data de abono: %s +InfoCreditMessage=A domiciliación %s foi abonada polo banco
    Data de abono: %s InfoTransSubject=Envío de domiciliación %s ao banco -InfoTransMessage=A orde de domiciliación %s foi enviada ao banco por %s %s.

    +InfoTransMessage=A domiciliación %s foi enviada ao banco por %s %s.

    InfoTransData=Importe: %s
    Método: %s
    Data: %s InfoRejectSubject=Domiciliación devolta InfoRejectMessage=Bos días:

    a domiciliación da factura %s por conta da empresa %s, cun importe de %s foi devolta polo banco.

    --
    %s ModeWarning=Non estableceuse a opción de modo real, deteremonos despois desta simulación ErrorCompanyHasDuplicateDefaultBAN=A empresa co identificador %s ten máis dunha conta bancaria predeterminada. Non hai xeito de saber cal usar. -ErrorICSmissing=Falta o ICS na conta bancaria% s +ErrorICSmissing=Falta o ICS na conta bancaria %s TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=A cantidade total da orde de domiciliación é distinta da suma das liñas diff --git a/htdocs/langs/gl_ES/workflow.lang b/htdocs/langs/gl_ES/workflow.lang index 7be56785df7..b5070033693 100644 --- a/htdocs/langs/gl_ES/workflow.lang +++ b/htdocs/langs/gl_ES/workflow.lang @@ -13,10 +13,11 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Clasificar o orzamento orixe como fa descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Clasificar pedimento de cliente orixe como facturado cando a factura ao cliente sexa validada (e se o importe da factura é igual á suma dos importes dos pedimentos ligados) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Clasificar pedimento de cliente orixe como facturado cando a factura ao cliente sexa marcada como pagada (e se o importe da factura é igual á suma dos importes dos pedimentos ligados) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Clasificar automáticamente o pedimento orixe como enviado cando o envío sexa validado (e se a cantidade enviada por todos os envíos é a mesma que o pedimento a actualizar) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Clasificar o orzamento ligado de provedor orixe como facturado cando a factura de provedor sexa validada (e se o importe da factura é igual á suma do importe dos orzamentos ligados) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Clasificar o pedimento orixe a provedor ligado como facturado cando a factura de provedor sexa validada (e se o importe da factura é igual á suma do importe dos pedimentos ligados) -descWORKFLOW_BILL_ON_RECEPTION=Clasificar recepcións a "facturado" cando sexa validado un pedimento de provedor ligado +descWORKFLOW_BILL_ON_RECEPTION=Clasificar recepcións a "facturado" cando sexa validado un pedimento a provedor ligado # Autoclose intervention descWORKFLOW_TICKET_CLOSE_INTERVENTION=Pecha todas as intervencións ligadas ao ticket cando o ticket está pechado AutomaticCreation=Creación automática diff --git a/htdocs/langs/he_IL/accountancy.lang b/htdocs/langs/he_IL/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/he_IL/accountancy.lang +++ b/htdocs/langs/he_IL/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index 35a72174d39..6c86b7fac95 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -53,6 +53,7 @@ InternalUser=פנימית המשתמש ExternalUser=משתמש חיצוני InternalUsers=משתמשים פנימיים ExternalUsers=משתמשים חיצוניים +UserInterface=User interface GUISetup=להציג SetupArea=הגדרת UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=לא זמין כאשר אייאקס נכים AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript מושבת UsePreviewTabs=השתמש בכרטיסיות תצוגה מקדימה ShowPreview=הצג תצוגה מקדימה @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=גבולות ודיוק MenuIdParent=התפריט ההורה מזהה DetailMenuIdParent=תעודת הזהות של ההורה התפריט (0 עבור התפריט העליון) +ParentID=Parent ID DetailPosition=מיין במספר להגדיר מיקום תפריט AllMenus=כל NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=האלמנטים היחידים של מודולים המאפשרים מוצגים. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, במקום השוק הרשמי של מודולים Dolibarr ERP / CRM חיצוניות @@ -399,6 +403,7 @@ SecurityToken=המפתח כתובות מאובטח NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=ברקודים -Module55Desc=ברקוד של ההנהלה +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=יצירה / שינוי הנחות Permission403=אמת הנחות Permission404=מחק את הנחות Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=לקרוא עסקאות Permission50202=ייבוא ​​עסקאות Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=הגדרת הציל SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=ביקורת +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=פונקציות שאינן זמינות ב-SSL-PHP DownloadMoreSkins=עוד סקינים להורדה SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=תרגום חלקי MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=אפשרויות עיקריות AdherentLoginRequired= ניהול התחברות לכל חבר AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=תיבת סימון לשלוח אישור בדואר לחברי (אימות או מנוי חדש) מופעלת כברירת מחדל +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=לחץ כדי לחייג ההתקנה מודול ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=מומלץ +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/he_IL/agenda.lang b/htdocs/langs/he_IL/agenda.lang index 6f55525881b..8adee693c6b 100644 --- a/htdocs/langs/he_IL/agenda.lang +++ b/htdocs/langs/he_IL/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=סדר היום TMenuAgenda=סדר היום Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/he_IL/banks.lang b/htdocs/langs/he_IL/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/he_IL/banks.lang +++ b/htdocs/langs/he_IL/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/he_IL/bills.lang b/htdocs/langs/he_IL/bills.lang index 6eda2980f9d..a77ff0d76a3 100644 --- a/htdocs/langs/he_IL/bills.lang +++ b/htdocs/langs/he_IL/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/he_IL/boxes.lang b/htdocs/langs/he_IL/boxes.lang index 2b95bd27634..8d1a73464bb 100644 --- a/htdocs/langs/he_IL/boxes.lang +++ b/htdocs/langs/he_IL/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=הצעות diff --git a/htdocs/langs/he_IL/cashdesk.lang b/htdocs/langs/he_IL/cashdesk.lang index cac3bd4a977..e57e29ec7a9 100644 --- a/htdocs/langs/he_IL/cashdesk.lang +++ b/htdocs/langs/he_IL/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/he_IL/compta.lang b/htdocs/langs/he_IL/compta.lang index e139d48ecff..5d1558f3676 100644 --- a/htdocs/langs/he_IL/compta.lang +++ b/htdocs/langs/he_IL/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/he_IL/cron.lang b/htdocs/langs/he_IL/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/he_IL/cron.lang +++ b/htdocs/langs/he_IL/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/he_IL/deliveries.lang b/htdocs/langs/he_IL/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/he_IL/deliveries.lang +++ b/htdocs/langs/he_IL/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/he_IL/eventorganization.lang b/htdocs/langs/he_IL/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/he_IL/eventorganization.lang +++ b/htdocs/langs/he_IL/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/he_IL/exports.lang b/htdocs/langs/he_IL/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/he_IL/exports.lang +++ b/htdocs/langs/he_IL/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/he_IL/holiday.lang b/htdocs/langs/he_IL/holiday.lang index 41a9c364775..cdfc715fab0 100644 --- a/htdocs/langs/he_IL/holiday.lang +++ b/htdocs/langs/he_IL/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/he_IL/hrm.lang b/htdocs/langs/he_IL/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/he_IL/hrm.lang +++ b/htdocs/langs/he_IL/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index 9c06c5e26ed..804488856d4 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/he_IL/interventions.lang b/htdocs/langs/he_IL/interventions.lang index f09d69912e1..aaa7c6466f9 100644 --- a/htdocs/langs/he_IL/interventions.lang +++ b/htdocs/langs/he_IL/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/he_IL/knowledgemanagement.lang b/htdocs/langs/he_IL/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/he_IL/knowledgemanagement.lang +++ b/htdocs/langs/he_IL/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/he_IL/languages.lang b/htdocs/langs/he_IL/languages.lang index 4e177f741af..830f4a20bc8 100644 --- a/htdocs/langs/he_IL/languages.lang +++ b/htdocs/langs/he_IL/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=ערבית Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=ערבית +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=הולנדי (בלגיה) Language_nl_NL=Dutch Language_pl_PL=פולני +Language_pt_AO=Portuguese (Angola) Language_pt_BR=פורטוגזית (ברזיל) Language_pt_PT=פורטוגזית +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=רומני Language_ru_RU=רוסי Language_ru_UA=רוסי (אוקראינה) diff --git a/htdocs/langs/he_IL/mails.lang b/htdocs/langs/he_IL/mails.lang index ae443d41524..c88523fbc47 100644 --- a/htdocs/langs/he_IL/mails.lang +++ b/htdocs/langs/he_IL/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index 059b7dff74b..2669cb07667 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=משתמשים MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/he_IL/members.lang b/htdocs/langs/he_IL/members.lang index ee6e7eb56e9..f1c0d9b3426 100644 --- a/htdocs/langs/he_IL/members.lang +++ b/htdocs/langs/he_IL/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/he_IL/modulebuilder.lang b/htdocs/langs/he_IL/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/he_IL/modulebuilder.lang +++ b/htdocs/langs/he_IL/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/he_IL/mrp.lang b/htdocs/langs/he_IL/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/he_IL/mrp.lang +++ b/htdocs/langs/he_IL/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/he_IL/orders.lang b/htdocs/langs/he_IL/orders.lang index 271fe5e3894..c3800d63d31 100644 --- a/htdocs/langs/he_IL/orders.lang +++ b/htdocs/langs/he_IL/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/he_IL/other.lang b/htdocs/langs/he_IL/other.lang index 00bb942376f..a3d4c571ce3 100644 --- a/htdocs/langs/he_IL/other.lang +++ b/htdocs/langs/he_IL/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/he_IL/partnership.lang b/htdocs/langs/he_IL/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/he_IL/partnership.lang +++ b/htdocs/langs/he_IL/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/he_IL/productbatch.lang b/htdocs/langs/he_IL/productbatch.lang index dee07e65a9f..da47bb3690d 100644 --- a/htdocs/langs/he_IL/productbatch.lang +++ b/htdocs/langs/he_IL/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index 943d53a253c..fa937ef8fba 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index d513bf8c6a8..1041e735a6c 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/he_IL/receptions.lang b/htdocs/langs/he_IL/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/he_IL/receptions.lang +++ b/htdocs/langs/he_IL/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/he_IL/salaries.lang b/htdocs/langs/he_IL/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/he_IL/salaries.lang +++ b/htdocs/langs/he_IL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/he_IL/stocks.lang b/htdocs/langs/he_IL/stocks.lang index ff391169159..a46fa353f05 100644 --- a/htdocs/langs/he_IL/stocks.lang +++ b/htdocs/langs/he_IL/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/he_IL/ticket.lang b/htdocs/langs/he_IL/ticket.lang index e9e3b33d874..d097d1999b6 100644 --- a/htdocs/langs/he_IL/ticket.lang +++ b/htdocs/langs/he_IL/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=אחר @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/he_IL/trips.lang b/htdocs/langs/he_IL/trips.lang index cc9bc5781ba..fe75140396e 100644 --- a/htdocs/langs/he_IL/trips.lang +++ b/htdocs/langs/he_IL/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/he_IL/users.lang b/htdocs/langs/he_IL/users.lang index 9507cb1b919..5fea8efa207 100644 --- a/htdocs/langs/he_IL/users.lang +++ b/htdocs/langs/he_IL/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/he_IL/website.lang b/htdocs/langs/he_IL/website.lang index 62a37b65b60..3d4c70f99e7 100644 --- a/htdocs/langs/he_IL/website.lang +++ b/htdocs/langs/he_IL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/he_IL/withdrawals.lang b/htdocs/langs/he_IL/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/he_IL/withdrawals.lang +++ b/htdocs/langs/he_IL/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/he_IL/workflow.lang b/htdocs/langs/he_IL/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/he_IL/workflow.lang +++ b/htdocs/langs/he_IL/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/hi_IN/accountancy.lang b/htdocs/langs/hi_IN/accountancy.lang index a1f495e3e97..31ebd12925b 100644 --- a/htdocs/langs/hi_IN/accountancy.lang +++ b/htdocs/langs/hi_IN/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/hi_IN/admin.lang b/htdocs/langs/hi_IN/admin.lang index 04e6488ded4..962a19c5112 100644 --- a/htdocs/langs/hi_IN/admin.lang +++ b/htdocs/langs/hi_IN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=संस्तुत +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/hi_IN/agenda.lang b/htdocs/langs/hi_IN/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/hi_IN/agenda.lang +++ b/htdocs/langs/hi_IN/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/hi_IN/banks.lang b/htdocs/langs/hi_IN/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/hi_IN/banks.lang +++ b/htdocs/langs/hi_IN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/hi_IN/bills.lang b/htdocs/langs/hi_IN/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/hi_IN/bills.lang +++ b/htdocs/langs/hi_IN/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/hi_IN/boxes.lang b/htdocs/langs/hi_IN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/hi_IN/boxes.lang +++ b/htdocs/langs/hi_IN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/hi_IN/cashdesk.lang b/htdocs/langs/hi_IN/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/hi_IN/cashdesk.lang +++ b/htdocs/langs/hi_IN/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/hi_IN/compta.lang b/htdocs/langs/hi_IN/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/hi_IN/compta.lang +++ b/htdocs/langs/hi_IN/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/hi_IN/cron.lang b/htdocs/langs/hi_IN/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/hi_IN/cron.lang +++ b/htdocs/langs/hi_IN/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/hi_IN/deliveries.lang b/htdocs/langs/hi_IN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/hi_IN/deliveries.lang +++ b/htdocs/langs/hi_IN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/hi_IN/errors.lang b/htdocs/langs/hi_IN/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/hi_IN/errors.lang +++ b/htdocs/langs/hi_IN/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/hi_IN/eventorganization.lang b/htdocs/langs/hi_IN/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/hi_IN/eventorganization.lang +++ b/htdocs/langs/hi_IN/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/hi_IN/exports.lang b/htdocs/langs/hi_IN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/hi_IN/exports.lang +++ b/htdocs/langs/hi_IN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/hi_IN/holiday.lang b/htdocs/langs/hi_IN/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/hi_IN/holiday.lang +++ b/htdocs/langs/hi_IN/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/hi_IN/hrm.lang b/htdocs/langs/hi_IN/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/hi_IN/hrm.lang +++ b/htdocs/langs/hi_IN/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/hi_IN/install.lang b/htdocs/langs/hi_IN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/hi_IN/install.lang +++ b/htdocs/langs/hi_IN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/hi_IN/interventions.lang b/htdocs/langs/hi_IN/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/hi_IN/interventions.lang +++ b/htdocs/langs/hi_IN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/hi_IN/knowledgemanagement.lang b/htdocs/langs/hi_IN/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/hi_IN/knowledgemanagement.lang +++ b/htdocs/langs/hi_IN/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/hi_IN/languages.lang b/htdocs/langs/hi_IN/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/hi_IN/languages.lang +++ b/htdocs/langs/hi_IN/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/hi_IN/mails.lang b/htdocs/langs/hi_IN/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/hi_IN/mails.lang +++ b/htdocs/langs/hi_IN/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/hi_IN/main.lang b/htdocs/langs/hi_IN/main.lang index e9de548ea2c..977f66393b5 100644 --- a/htdocs/langs/hi_IN/main.lang +++ b/htdocs/langs/hi_IN/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/hi_IN/members.lang b/htdocs/langs/hi_IN/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/hi_IN/members.lang +++ b/htdocs/langs/hi_IN/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/hi_IN/modulebuilder.lang b/htdocs/langs/hi_IN/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/hi_IN/modulebuilder.lang +++ b/htdocs/langs/hi_IN/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/hi_IN/mrp.lang b/htdocs/langs/hi_IN/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/hi_IN/mrp.lang +++ b/htdocs/langs/hi_IN/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/hi_IN/orders.lang b/htdocs/langs/hi_IN/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/hi_IN/orders.lang +++ b/htdocs/langs/hi_IN/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/hi_IN/other.lang b/htdocs/langs/hi_IN/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/hi_IN/other.lang +++ b/htdocs/langs/hi_IN/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/hi_IN/partnership.lang b/htdocs/langs/hi_IN/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/hi_IN/partnership.lang +++ b/htdocs/langs/hi_IN/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/hi_IN/productbatch.lang b/htdocs/langs/hi_IN/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/hi_IN/productbatch.lang +++ b/htdocs/langs/hi_IN/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/hi_IN/products.lang b/htdocs/langs/hi_IN/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/hi_IN/products.lang +++ b/htdocs/langs/hi_IN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/hi_IN/projects.lang b/htdocs/langs/hi_IN/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/hi_IN/projects.lang +++ b/htdocs/langs/hi_IN/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/hi_IN/receptions.lang b/htdocs/langs/hi_IN/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/hi_IN/receptions.lang +++ b/htdocs/langs/hi_IN/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/hi_IN/salaries.lang b/htdocs/langs/hi_IN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/hi_IN/salaries.lang +++ b/htdocs/langs/hi_IN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/hi_IN/stocks.lang b/htdocs/langs/hi_IN/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/hi_IN/stocks.lang +++ b/htdocs/langs/hi_IN/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/hi_IN/ticket.lang b/htdocs/langs/hi_IN/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/hi_IN/ticket.lang +++ b/htdocs/langs/hi_IN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/hi_IN/trips.lang b/htdocs/langs/hi_IN/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/hi_IN/trips.lang +++ b/htdocs/langs/hi_IN/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/hi_IN/users.lang b/htdocs/langs/hi_IN/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/hi_IN/users.lang +++ b/htdocs/langs/hi_IN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/hi_IN/website.lang b/htdocs/langs/hi_IN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/hi_IN/website.lang +++ b/htdocs/langs/hi_IN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/hi_IN/withdrawals.lang b/htdocs/langs/hi_IN/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/hi_IN/withdrawals.lang +++ b/htdocs/langs/hi_IN/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/hi_IN/workflow.lang b/htdocs/langs/hi_IN/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/hi_IN/workflow.lang +++ b/htdocs/langs/hi_IN/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/hr_HR/accountancy.lang b/htdocs/langs/hr_HR/accountancy.lang index 32e9993478e..218caec663e 100644 --- a/htdocs/langs/hr_HR/accountancy.lang +++ b/htdocs/langs/hr_HR/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -208,7 +209,7 @@ Lettering=Lettering Codejournal=Journal JournalLabel=Journal label NumPiece=Broj komada -TransactionNumShort=Num. transaction +TransactionNumShort=Broj prijenosa AccountingCategory=Custom group GroupByAccountAccounting=Group by general ledger account GroupBySubAccountAccounting=Group by subledger account @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=Popis obračunskih računa UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index 90d6cb47353..9e8243554c9 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interni korisnik ExternalUser=Vanjski korisnik InternalUsers=Interni korisnici ExternalUsers=Vanjski korisnici +UserInterface=User interface GUISetup=Prikaz SetupArea=Postavke UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Nije dostupno kada je Ajax onemogućen AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript onemogućen UsePreviewTabs=Koristi karticu pregleda ShowPreview=Prikaži pregled @@ -116,6 +118,7 @@ MultiCurrencySetup=Podešavanje više valuta MenuLimits=Limiti i točnost MenuIdParent=Matični izbornik ID DetailMenuIdParent=ID matičnog izbornika (prazno za top izbornik) +ParentID=Parent ID DetailPosition=Redni broj za definiranje pozicije izbornika AllMenus=Svi NotConfigured=Modul/Aplikacija nije konfigurirana @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Prikazani su samo elementi sa omogučenih modula ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Možete pronaći više modula za download na vanjskim internet web lokacijama ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Nađi vanjske aplikacije/module @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStorel, ovlaštena trgovina za Dolibarr ERP/CRM dodatne module @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Ugovori/pretplate Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barkodovi -Module55Desc=Upravljanje barkodovima +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Izradi/izmjeni popuste Permission403=Ovjeri popuste Permission404=Obriši popuste Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Izvoz plaća Permission520=Čitaj kredite Permission522=Izradi/izmjeni kredite @@ -965,6 +970,8 @@ Permission23003=Obriši planirani posao Permission23004=Izvrši planirani posao Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Čitaj transakcije Permission50202=Uvezi transakcije Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Postavi spremljeno SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Revizija +Audit=Security events InfoDolibarr=O Dolibarr instalaciji InfoBrowser=O pregledniku InfoOS=O OS-u @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcije nisu dostupne u vašem PHP DownloadMoreSkins=Više skinova za skinuti SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Parcijalni prijevod MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Stanje je trenutno %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Optimizacija pretrage -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Glavne opcije AdherentLoginRequired= Upravljanje prijavom svakog korisnika AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Podešavanje modula ClickToDial ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Koristi samo "tel:" kod telefona -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Preporučeno +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/hr_HR/agenda.lang b/htdocs/langs/hr_HR/agenda.lang index 493975cae73..be20b16f5a9 100644 --- a/htdocs/langs/hr_HR/agenda.lang +++ b/htdocs/langs/hr_HR/agenda.lang @@ -4,7 +4,7 @@ Actions=Događaji Agenda=Podsjetnik TMenuAgenda=Podsjetnik Agendas=Podsjetnici -LocalAgenda=Interni kalendar +LocalAgenda=Default calendar ActionsOwnedBy=Događaj u vlasništvu ActionsOwnedByShort=Vlasnik AffectedTo=Dodjeljeno korisniku @@ -14,13 +14,13 @@ EventsNb=Broj događaja ListOfActions=Lista događaja EventReports=Event reports Location=Lokacija -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Događaji za cijeli dan(e) MenuToDoActions=Svi nepotpuni događaji MenuDoneActions=Svi prekinuti događaji MenuToDoMyActions=Svi nedovršeni događaji MenuDoneMyActions=Moji prekinuti događaji -ListOfEvents=Popis događaja (Interni kalendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Događaje izvijestio/la ActionsToDoBy=Događaj dodjeljen ActionsDoneBy=Događaji završeni od strane korisnika @@ -38,6 +38,7 @@ ActionsEvents=Događaji za koje Dolibarr će kreirat akcije u podsjetnicima auto EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Narudžba obrisana InvoiceDeleted=Račun obrisan DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Datum početka @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Prikaži rođendane kontakata +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Sakrij rođendane kontakata Busy=Zauzet ExportDataset_event1=Lista podsjetnika događaja @@ -152,6 +155,7 @@ ActionType=Vrsta događaja DateActionBegin=Datum početka događaja ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Ponovi događaj +OnceOnly=Once only EveryWeek=Svaki tjedan EveryMonth=Svaki mjesec DayOfMonth=Dan u mjesecu @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/hr_HR/banks.lang b/htdocs/langs/hr_HR/banks.lang index 385eba1a7d7..908d31d1bb9 100644 --- a/htdocs/langs/hr_HR/banks.lang +++ b/htdocs/langs/hr_HR/banks.lang @@ -115,7 +115,7 @@ TransferTo=Za TransferFromToDone=Prijenos sa %s na %s od %s %s je pohranjen. CheckTransmitter=Pošiljatelj ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bankovni čekovi diff --git a/htdocs/langs/hr_HR/bills.lang b/htdocs/langs/hr_HR/bills.lang index d0d3b388678..3dd2dece572 100644 --- a/htdocs/langs/hr_HR/bills.lang +++ b/htdocs/langs/hr_HR/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Datum računa DatePointOfTax=Porezna stavka NoInvoice=Nema računa +NoOpenInvoice=No open invoice ClassifyBill=Svrstavanje računa SupplierBillsToPay=Neplaćeni ulazni računi CustomerBillsUnpaid=Neplaćeni izlazni računi @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/hr_HR/boxes.lang b/htdocs/langs/hr_HR/boxes.lang index 9f1f6135994..2ea4998e4d0 100644 --- a/htdocs/langs/hr_HR/boxes.lang +++ b/htdocs/langs/hr_HR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Narudžbenice: zadnje %s izmjene BoxTitleLastModifiedPropals=Zadnje %s izmijenjene ponude -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Izlazni računi ForCustomersOrders=Narudžbe kupaca ForProposals=Prijedlozi diff --git a/htdocs/langs/hr_HR/cashdesk.lang b/htdocs/langs/hr_HR/cashdesk.lang index d84d6f6da9b..b9efd4e109f 100644 --- a/htdocs/langs/hr_HR/cashdesk.lang +++ b/htdocs/langs/hr_HR/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/hr_HR/compta.lang b/htdocs/langs/hr_HR/compta.lang index cd27ba82fbc..b0102fd4141 100644 --- a/htdocs/langs/hr_HR/compta.lang +++ b/htdocs/langs/hr_HR/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/hr_HR/cron.lang b/htdocs/langs/hr_HR/cron.lang index 1f2d530e535..10fd9c52b35 100644 --- a/htdocs/langs/hr_HR/cron.lang +++ b/htdocs/langs/hr_HR/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Datum kraja ne može biti prije datuma početka StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Onemogući -CronTaskInactive=Ovaj posao je onemogućen +CronTaskInactive=This job is disabled (not scheduled) CronId=ID CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/hr_HR/deliveries.lang b/htdocs/langs/hr_HR/deliveries.lang index b74558fbdd7..56123a13cd5 100644 --- a/htdocs/langs/hr_HR/deliveries.lang +++ b/htdocs/langs/hr_HR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Primatelj ErrorStockIsNotEnough=Nema dovoljno robe na skladištu Shippable=Isporuka moguća NonShippable=Isporuka nije moguća +ShowShippableStatus=Show shippable status ShowReceiving=Prikaži dostavnu primku NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index 5c177ae7c46..91e259df4ec 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Vaš račun je onemogučen -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/hr_HR/eventorganization.lang b/htdocs/langs/hr_HR/eventorganization.lang index 769b3d35ca1..ffafa28c2c1 100644 --- a/htdocs/langs/hr_HR/eventorganization.lang +++ b/htdocs/langs/hr_HR/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Vrsta događaja +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/hr_HR/exports.lang b/htdocs/langs/hr_HR/exports.lang index f214e7f85dd..c9238c0cdcf 100644 --- a/htdocs/langs/hr_HR/exports.lang +++ b/htdocs/langs/hr_HR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/hr_HR/holiday.lang b/htdocs/langs/hr_HR/holiday.lang index 1571d04639a..bebfd3ec2ff 100644 --- a/htdocs/langs/hr_HR/holiday.lang +++ b/htdocs/langs/hr_HR/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Čeka odobrenje ApprovedCP=Odobreno CancelCP=Poništeno RefuseCP=Odbijeno -ValidatorCP=Odobrio +ValidatorCP=Approver ListeCP=List of leave Leave=Zahtjev za odsustvom LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Zahtjev za odsustvom TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Broj potrošenih dana godišnjeg -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Uredi @@ -55,7 +55,7 @@ TitleDeleteCP=Obriši zahtjev odsutnosti ConfirmDeleteCP=Potvrdite brisanje ovog zahtjeva ? ErrorCantDeleteCP=Greška nemate pravo za brisanje zahtjeva. CantCreateCP=Nemate pravo za kreiranje zahtjeva. -InvalidValidatorCP=Morate izabrati osobu odobravanja vašeg zahtjeva. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Morate odabrati datum početka. NoDateFin=Morate odabrati datum završetka. ErrorDureeCP=Vaš zahtjev ne sadrži radni dan. @@ -80,14 +80,14 @@ UserCP=Korisnik ErrorAddEventToUserCP=Dogodila se greška kod dodavanja specijalnog odsustva. AddEventToUserOkCP=Dodatak specijalnog odsustva je završen. MenuLogCP=Pregled dnevnika promjena -LogCP=Dnevnik promjena za dostupne slobodne dane -ActionByCP=Izvršio -UserUpdateCP=Za korisnika +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Prijašnje stanje NewSoldeCP=Novo stanje alreadyCPexist=Zahtjev je već napravljen za ovaj period. -FirstDayOfHoliday=Prvi dan godišnjeg -LastDayOfHoliday=Zadnji dan godišnjeg +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Zadnja %s izmijenjena zahtjeva za odlaskom HolidaysMonthlyUpdate=Mjesečna promjena ManualUpdate=Ručna promjena @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Uspješno promjenjeno Module27130Name= Upravljanje zahtjevima odsustva Module27130Desc= Upravljanje zahtjevima odsustva @@ -125,10 +125,12 @@ HolidaysCanceledBody=Vaš zahtjev za %s do %s je otkazan. FollowedByACounter=1: Ovaj tip odsustva mora biti pračen brojačem. Brojač se povečava ručno ili automatski, a kada je zahtjev ovjeren, brojač se smanjuje.
    0: Nije pračeno brojačem. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/hr_HR/hrm.lang b/htdocs/langs/hr_HR/hrm.lang index e5bf98f9c0f..3764345b27e 100644 --- a/htdocs/langs/hr_HR/hrm.lang +++ b/htdocs/langs/hr_HR/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Otvori ustanovu CloseEtablishment=Zatvori ustanovu # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - popis odjela DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index 78c882aec80..6378b154691 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/hr_HR/interventions.lang b/htdocs/langs/hr_HR/interventions.lang index a101f2af983..15627425503 100644 --- a/htdocs/langs/hr_HR/interventions.lang +++ b/htdocs/langs/hr_HR/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Stavka trajanja InterLineDesc=Stavka opisa RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template -Reopen=Ponovo otvori ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/hr_HR/knowledgemanagement.lang b/htdocs/langs/hr_HR/knowledgemanagement.lang index 3baf7df3c67..225a1cb0e6d 100644 --- a/htdocs/langs/hr_HR/knowledgemanagement.lang +++ b/htdocs/langs/hr_HR/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = O programu KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Stavka KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/hr_HR/languages.lang b/htdocs/langs/hr_HR/languages.lang index 91789655f61..e70a1dcbbc0 100644 --- a/htdocs/langs/hr_HR/languages.lang +++ b/htdocs/langs/hr_HR/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arapski Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arapski +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengalski Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Nizozemski (Belgija) Language_nl_NL=Dutch Language_pl_PL=Politura +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalski (Brazil) Language_pt_PT=Portugalski +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumunjski Language_ru_RU=Ruski Language_ru_UA=Ruski (Ukrajina) diff --git a/htdocs/langs/hr_HR/mails.lang b/htdocs/langs/hr_HR/mails.lang index e6639943cbd..1cf2438d99b 100644 --- a/htdocs/langs/hr_HR/mails.lang +++ b/htdocs/langs/hr_HR/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 73b652c481a..a8b2e4353bb 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -430,6 +430,7 @@ LT1IN=CGTS LT2IN=SGST LT1GC=Additionnal cents VATRate=Stopa poreza +RateOfTaxN=Rate of tax %s VATCode=Oznaka stope poreza VATNPR=Porezna stopa NPR DefaultTaxRate=Osnovna stopa poreza @@ -729,6 +730,7 @@ MenuMembers=Članovi MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Granična vrijednost Dolibarra (Mapa početna->postavke->sigurnost): %s Kb, PHP granična vrijednost: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Trenutni jezik CurrentTheme=Trenutna tema @@ -1072,6 +1074,7 @@ ValidFrom=Vrijedi od ValidUntil=Vrijedi do NoRecordedUsers=Nema korsinika ToClose=Za zatvaranje +ToRefuse=To refuse ToProcess=Za provedbu ToApprove=Za odobrenje GlobalOpenedElemView=Opći pregled @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/hr_HR/members.lang b/htdocs/langs/hr_HR/members.lang index 5d9d29bbdc4..0763a0463e5 100644 --- a/htdocs/langs/hr_HR/members.lang +++ b/htdocs/langs/hr_HR/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/hr_HR/modulebuilder.lang b/htdocs/langs/hr_HR/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/hr_HR/modulebuilder.lang +++ b/htdocs/langs/hr_HR/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/hr_HR/mrp.lang b/htdocs/langs/hr_HR/mrp.lang index d40d51ab493..00710061f2a 100644 --- a/htdocs/langs/hr_HR/mrp.lang +++ b/htdocs/langs/hr_HR/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Sastavnice -BillOfMaterials=Sastavnica +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=Lista proizvodnih naloga -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Proizvodni nalozi NewMO=Novi proizvodni nalog QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Datum početka planirani DateEndPlannedMo=Datum završetka planirani KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Procjena trajanja -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Obriši NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/hr_HR/orders.lang b/htdocs/langs/hr_HR/orders.lang index 348ac6e7afc..d89076b3c36 100644 --- a/htdocs/langs/hr_HR/orders.lang +++ b/htdocs/langs/hr_HR/orders.lang @@ -11,6 +11,7 @@ OrderDate=Datum narudžbe OrderDateShort=Datum narudžbe OrderToProcess=Obrada narudžbe NewOrder=Nova narudžba +NewSupplierOrderShort=Nova narudžba NewOrderSupplier=New Purchase Order ToOrder=Napravi narudžbu MakeOrder=Napravi narudžbu @@ -73,6 +74,7 @@ DeleteOrder=Obriši narudžbu CancelOrder=Poništi narudžbu OrderReopened= Order %s re-open AddOrder=Izradi narudžbu +AddSupplierOrderShort=Izradi narudžbu AddPurchaseOrder=Create purchase order AddToDraftOrders=Dodati u skice narudžbe ShowOrder=Prikaži narudžbu diff --git a/htdocs/langs/hr_HR/other.lang b/htdocs/langs/hr_HR/other.lang index 1c88c9f43d4..2d31dbf0edd 100644 --- a/htdocs/langs/hr_HR/other.lang +++ b/htdocs/langs/hr_HR/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Širina Height=Visina @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zatvori diff --git a/htdocs/langs/hr_HR/partnership.lang b/htdocs/langs/hr_HR/partnership.lang index 5c2f7bd82b9..5b82784eb50 100644 --- a/htdocs/langs/hr_HR/partnership.lang +++ b/htdocs/langs/hr_HR/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Datum početka DatePartnershipEnd=Datum završetka +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Skica -PartnershipAccepted = Prihvaćeno -PartnershipRefused = Odbijeno -PartnershipCanceled = Poništeno - +PartnershipDraft=Skica +PartnershipAccepted=Prihvaćeno +PartnershipRefused=Odbijeno +PartnershipCanceled=Poništeno PartnershipManagedFor=Partners are diff --git a/htdocs/langs/hr_HR/productbatch.lang b/htdocs/langs/hr_HR/productbatch.lang index a29844d360d..c71f7b3be5d 100644 --- a/htdocs/langs/hr_HR/productbatch.lang +++ b/htdocs/langs/hr_HR/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Koristi lot/serijski broj ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Prikaži dnevnik kretanja za par proizvod/serija StockDetailPerBatch=Detalji zaliha po serijama SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index 5f356fa177f..53343281a46 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Različite cijene za svakog kupca PriceCatalogue=Jedinstvena prodajna cijena po proizvodu/usluzi PricingRule=Rules for selling prices AddCustomerPrice=Dodaj cijenu po kupcu -ForceUpdateChildPriceSoc=Postavi istu cijenu za sve poslovnice kupca +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Zabilježi prijašnje cijene kupca MinimumPriceLimit=Minimalna cijena ne može biti niža od %s. MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Povečaj/smanji zalihu po promjeni matičnog proizvod ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamična konfiguracija cijene DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Dodaj varijablu @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Procjenjena prosječna cijena +PMPValueShort=PPC diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index a7555ee89e2..288c41b169b 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -140,6 +140,7 @@ NoTasks=Nema zadataka u ovom projektu LinkedToAnotherCompany=Povezano s drugim komitentom TaskIsNotAssignedToUser=Zadatak nije dodijeljen korisniku. Upotrijebite gumb '%s' da biste dodijelili zadatak. ErrorTimeSpentIsEmpty=Utrošeno vrijeme je prazno +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Ova akcija će također obrisati sve zadatke projekta (%s zadataka u ovom trenutku) i sve unose utrošenog vremena. IfNeedToUseOtherObjectKeepEmpty=Ako neki objekti (računi, narudžbe,...), pripadaju drugom komitentu, moraju biti povezani s projektom koji se kreira, ostavite prazno da bi projekt bio za više komitenata. CloneTasks=Kloniraj zadatke @@ -241,6 +242,7 @@ LatestModifiedProjects=Najnoviji %s modificirani projekti OtherFilteredTasks=Ostali filtrirani zadaci NoAssignedTasks=Nisu pronađeni zadani zadaci (dodijelite projekt / zadatke trenutnom korisniku iz gornjeg okvira za odabir da biste unijeli vrijeme u njega) ThirdPartyRequiredToGenerateInvoice=Treća strana mora biti definirana na projektu kako bi mogli fakturirati. +ThirdPartyRequiredToGenerateInvoice=Treća strana mora biti definirana na projektu kako bi mogli fakturirati. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Dopusti napomene korisnika na zadatke @@ -252,10 +254,12 @@ SendProjectRef=Informativni projekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modul 'Plaće' mora biti omogućen da definirte satnicu zaposlenika kako bi ona mogla biti obračunata NewTaskRefSuggested=Ref. zadatka je već iskorišten, potreban je novi ref. TimeSpentInvoiced=Naplaćeno utrošeno vrijeme +TimeSpentForIntervention=Vrijeme utrošeno TimeSpentForInvoice=Vrijeme utrošeno OneLinePerUser=Jedna linija po korisniku ServiceToUseOnLines=Usluga za uporabu na linijama InvoiceGeneratedFromTimeSpent=Račun %s generiran je od vremena utrišenog na projektu +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Upotreba: Prilika UsageTasks=Upotreba: Zadaci UsageBillTimeShort=Uporaba: Vrijeme obračuna InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Novi račun +NewInter=Nova intervencija OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/hr_HR/receptions.lang b/htdocs/langs/hr_HR/receptions.lang index 9601e374ad9..a6d8d56ffc8 100644 --- a/htdocs/langs/hr_HR/receptions.lang +++ b/htdocs/langs/hr_HR/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/hr_HR/salaries.lang b/htdocs/langs/hr_HR/salaries.lang index f80c2d8ace4..95eaa6fa9d7 100644 --- a/htdocs/langs/hr_HR/salaries.lang +++ b/htdocs/langs/hr_HR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Plaća Salaries=Plaće -NewSalaryPayment=Nova isplata plaće +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Isplata plaće SalariesPayments=Isplate plaća +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Prikaži isplatu plaće THM=Prosječna satnica TJM=Prosječna dnevnica CurrentSalary=Trenutna plaća THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/hr_HR/stocks.lang b/htdocs/langs/hr_HR/stocks.lang index 7ea3ed77d6b..167e3cd79b4 100644 --- a/htdocs/langs/hr_HR/stocks.lang +++ b/htdocs/langs/hr_HR/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Jed. nabavna cijena StockTooLow=Preniska zaliha StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Vrijednost -PMPValue=Procjenjena prosječna cijena -PMPValueShort=PPC EnhancedValueOfWarehouses=Vrijednost skladišta UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Prebacivanje zalihe za proizvod %s u drugo skladište InventoryCodeShort=Inv./Kret. kod NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Ovaj lot/serijski broj (%s) već postoji ali sa različitim rokom upotrbljivosti ili valjanosti ( pronađen %s a uneseno je %s). -OpenAll=Otvoreno za sve akcije -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Ponovo otvori -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/hr_HR/ticket.lang b/htdocs/langs/hr_HR/ticket.lang index 720848a5c1d..3432a6a73b9 100644 --- a/htdocs/langs/hr_HR/ticket.lang +++ b/htdocs/langs/hr_HR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostalo @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=U postupku -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Čeka -Closed=Zatvoreno +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Izradio NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupa +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Izradi intervenciju -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/hr_HR/trips.lang b/htdocs/langs/hr_HR/trips.lang index bfcc0163d43..43a0b289831 100644 --- a/htdocs/langs/hr_HR/trips.lang +++ b/htdocs/langs/hr_HR/trips.lang @@ -1,26 +1,26 @@ # Dolibarr language file - Source file is en_US - trips -ShowExpenseReport=Prikaži izvještaj troška -Trips=Izvještaji troška +ShowExpenseReport=Prikaži izvještaj troškova +Trips=Izvještaji troškova TripsAndExpenses=Izvještaji troškova -TripsAndExpensesStatistics=Statistika izvještaja troška -TripCard=Kartica izvještaja troška -AddTrip=Izradi izvještaj troška +TripsAndExpensesStatistics=Statistika izvještaja troškova +TripCard=Kartica izvještaja troškova +AddTrip=Izradi izvještaj troškova ListOfTrips=Popis izvještaja troškova ListOfFees=Popis pristojbi TypeFees=Tipovi pristojbi -ShowTrip=Prikaži izvještaj troška -NewTrip=Novi izvještaj troška +ShowTrip=Prikaži izvještaj troškova +NewTrip=Novi izvještaj troškova LastExpenseReports=Latest %s expense reports AllExpenseReports=All expense reports CompanyVisited=Company/organization visited FeesKilometersOrAmout=Iznos ili kilometri -DeleteTrip=Obriši izvještaj troška +DeleteTrip=Obriši izvještaj troškova ConfirmDeleteTrip=Are you sure you want to delete this expense report? ListTripsAndExpenses=Popis izvještaja troškova ListToApprove=Čeka na odobrenje -ExpensesArea=Sučelje izvještaja troška +ExpensesArea=Sučelje izvještaja troškova ClassifyRefunded=Označi 'Povrat' -ExpenseReportWaitingForApproval=Novi izvještaj troška je predan za odobrenje +ExpenseReportWaitingForApproval=Novi izvještaj troškova je predan za odobrenje ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s @@ -32,12 +32,12 @@ ExpenseReportCanceled=An expense report was canceled ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s -TripId=Izvještaj troška ID -AnyOtherInThisListCanValidate=Osoba za obavjest za ovjeru. +TripId=Izvještaj troškova ID +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Više o tvrtci -TripNDF=Informacije izvještaja troška +TripNDF=Informacije izvještaja troškova PDFStandardExpenseReports=Standardni predložak za generiranje PDF dokumenta za izvještaje troškova -ExpenseReportLine=Stavka izvještaja troška +ExpenseReportLine=Stavka izvještaja troškova TF_OTHER=Ostalo TF_TRIP=Prijevoz TF_LUNCH=Ručak @@ -75,8 +75,8 @@ DefaultCategoryCar=Default transportation mode DefaultRangeNumber=Default range number UploadANewFileNow=Upload a new document now Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' -ErrorDoubleDeclaration=Objavili ste još jedan izvještaj troška u sličnom razdoblju. -AucuneLigne=Još nije objavljen izvještaj troška +ErrorDoubleDeclaration=Objavili ste još jedan izvještaj troškova u sličnom razdoblju. +AucuneLigne=Još nije objavljen izvještaj troškova ModePaiement=Način isplate VALIDATOR=Odgovorna osoba za odobrenje VALIDOR=Odobrio @@ -90,27 +90,26 @@ DATE_REFUS=Datum odbijanja DATE_SAVE=Datum ovjere DATE_CANCEL=Datum odustajanja DATE_PAIEMENT=Datum isplate -BROUILLONNER=Ponovo otvori ExpenseReportRef=Ref. expense report ValidateAndSubmit=Ovjeri i predaj za odobrenje ValidatedWaitingApproval=Ovjereno (čeka odobrenje) -NOT_AUTHOR=Vi niste autor izvještaja troška. Operacija je prekinuta. +NOT_AUTHOR=Vi niste autor izvještaja troškova. Operacija je prekinuta. ConfirmRefuseTrip=Are you sure you want to deny this expense report? -ValideTrip=Odobri izvještaj troška +ValideTrip=Odobri izvještaj troškova ConfirmValideTrip=Are you sure you want to approve this expense report? PaidTrip=Isplati troškove ConfirmPaidTrip=Are you sure you want to change status of this expense report to "Paid"? ConfirmCancelTrip=Are you sure you want to cancel this expense report? -BrouillonnerTrip=Vrati izvještaj troška nazad na status "Skica" +BrouillonnerTrip=Vrati izvještaj troškova nazad na status "Skica" ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft"? SaveTrip=Ovjeri trošak ConfirmSaveTrip=Are you sure you want to validate this expense report? -NoTripsToExportCSV=Nema izvještaja troška za izvoz u ovom razdoblju. -ExpenseReportPayment=Isplata izvještaja troška +NoTripsToExportCSV=Nema izvještaja troškova za izvoz u ovom razdoblju. +ExpenseReportPayment=Isplata izvještaja troškova ExpenseReportsToApprove=Troškovi za odobrenje ExpenseReportsToPay=Troškovi za platiti ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/hr_HR/users.lang b/htdocs/langs/hr_HR/users.lang index e3922741024..d0f806c6b6a 100644 --- a/htdocs/langs/hr_HR/users.lang +++ b/htdocs/langs/hr_HR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Prijavite se za stvaranje NameToCreate=Naziv komitenta za kreiranje YourRole=Vaše uloge YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je dostignuta ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin može unazaditi superadmina HierarchicalResponsible=Nadglednik HierarchicView=Hijerarhijski prikaz diff --git a/htdocs/langs/hr_HR/website.lang b/htdocs/langs/hr_HR/website.lang index 9be434c3c81..29831210fb6 100644 --- a/htdocs/langs/hr_HR/website.lang +++ b/htdocs/langs/hr_HR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Strana -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/hr_HR/withdrawals.lang b/htdocs/langs/hr_HR/withdrawals.lang index 1ac48911293..a8fb86970a7 100644 --- a/htdocs/langs/hr_HR/withdrawals.lang +++ b/htdocs/langs/hr_HR/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Označi kao kreditirano ClassCreditedConfirm=Jeste li sigurni da želite svrstati račun za isplatu kao knjiženje na svoj bankovni račun ? TransData=Datum prijenosa @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/hr_HR/workflow.lang b/htdocs/langs/hr_HR/workflow.lang index 0e485d46ab2..5acae499b5b 100644 --- a/htdocs/langs/hr_HR/workflow.lang +++ b/htdocs/langs/hr_HR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/hu_HU/accountancy.lang b/htdocs/langs/hu_HU/accountancy.lang index acd1a8d2154..dcc023289f7 100644 --- a/htdocs/langs/hu_HU/accountancy.lang +++ b/htdocs/langs/hu_HU/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Klasszikus export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index 17c7effaee9..a9cc3090444 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -53,6 +53,7 @@ InternalUser=Belső felhasználó ExternalUser=Külső felhasználó InternalUsers=Belső felhasználók ExternalUsers=Külső felhasználók +UserInterface=User interface GUISetup=Kijelző SetupArea=Beállítás UploadNewTemplate=Új sablon(ok) feltöltése @@ -84,6 +85,7 @@ NumberOfBytes=Bájtok száma SearchString=Keresési karakterlánc NotAvailableWhenAjaxDisabled=Nem érhető el, ha az Ajax le van tiltva AllowToSelectProjectFromOtherCompany=A Partner oldalán választhat egy másik partnerrel összekapcsolt projektet +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript letiltva UsePreviewTabs=Előnézeti lapok használata ShowPreview=Előnézet megtekintése @@ -116,6 +118,7 @@ MultiCurrencySetup=Több valuta beállítása MenuLimits=Korlátok és pontosság MenuIdParent=Szülő menü ID DetailMenuIdParent=Szülő menü azonosítója (a főmenü esetében üres) +ParentID=Parent ID DetailPosition=A menü sorrendjét meghatározó szám AllMenus=Minden NotConfigured=A modul / alkalmazás nincs konfigurálva @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=A szolgáltatás csak a hivatalos stabil verziókba BoxesDesc=A modulok olyan összetevők, amelyek információkat mutatnak, s hozzáadhatóak az oldalak testreszabásához. Választhat úgy, hogy megjelenik-e a modul, vagy nem, ha kiválasztja a céloldalt és kattint az 'Aktiválás' gombra, vagy a kukára kattintva tilthatja le azt. OnlyActiveElementsAreShown=Csak a bekapcsolt modulok elemei jelennek meg. ModulesDesc=A modulok/alkalmazások határozzák meg, mely funkciók érhetők el a szoftverben. Egyes modulok engedélyek megadását igénylik a felhasználók számára a modul aktiválása után. Kattintson egy modul/alkalmazás engedélyezéséhez vagy letiltásához az egyes modulok %s be/ki gombját. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Az interneten további modulokat találhat... ModulesDeployDesc=Ha a fájlrendszer engedélyei ezt lehetővé teszik, akkor ezt az eszközt használhatja egy külső modul telepítéséhez. A modul ezután a %s fülön lesz látható. ModulesMarketPlaces=Külső alkalmazások / modulok keresése @@ -221,8 +225,8 @@ NotCompatible=Ez a modul nem tűnik kompatibilisnek a Dolibarr %s verzióval (Mi CompatibleAfterUpdate=Ehhez a modulhoz frissíteni kell a Dolibarr %s-t (Min %s - Max %s). SeeInMarkerPlace=Lásd a piactéren SeeSetupOfModule=Lásd a %s modul beállításait +SetOptionTo=Set option %s to %s Updated=Frissítve -Nouveauté=Újdonság AchatTelechargement=Vásárlás / Letöltés GoModuleSetupArea=Új modul telepítéséhez / telepítéséhez ugorjon a Modul beállítása területre: %s . DoliStoreDesc=DoliStore, a hivatalos Dolibarr ERP / CRM piactér külső modulok számára @@ -399,6 +403,7 @@ SecurityToken=Kulcs a biztonságos URL-ek NoSmsEngine=Nincs elérhető SMS küldő kezelő. Az SMS-küldő kezelőt nem telepíti az alapértelmezett disztribúcióval, mivel azok külső gyártótól függenek, de néhányat találhat az %s-on PDF=PDF PDFDesc=Globális beállítások PDF létrehozására +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=A cím szekció szabályai HideAnyVATInformationOnPDF=A forgalmi adóval / ÁFA-val kapcsolatos összes információ elrejtése PDFRulesForSalesTax=A forgalmi adó / ÁFA szabályai @@ -561,7 +566,7 @@ Module53Desc=Szolgáltatások kezelése Module54Name=Szerződések / Előfizetések Module54Desc=Szerződések kezelése (szolgáltatások vagy ismétlődő előfizetések) Module55Name=Vonalkódok -Module55Desc=Vonalkód kezelés +Module55Desc=Barcode or QR code management Module56Name=Fizetés átutalással Module56Desc=A beszállítók fizetésének kezelése átutalási megbízásokkal. Ez magában foglalja a SEPA fájl létrehozását az európai országok számára. Module57Name=Fizetés csoportos beszedési megbízással @@ -848,10 +853,10 @@ Permission402=Létrehozza / módosítja kedvezmények Permission403=Kedvezmények érvényesítése Permission404=Törlés kedvezmények Permission430=Használja a Hibakeresősávot -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Fizetése létrehozása/módosítása -Permission514=A fizetések kifizetésének törlése -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Fizetések exportálása Permission520=Hitelek megtekintése Permission522=Hitelek létrehozása/módosítása @@ -965,6 +970,8 @@ Permission23003=Ütemezett feladatok törlése Permission23004=Ütemezett feladat végrehajtása Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Olvassa tranzakciók Permission50202=Import ügyletek Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Mértékegységek DictionarySocialNetworks=Közösségi hálózatok DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Beállítás mentett SetupNotSaved=A beállítás nincs elmentve @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Az "Egyéb beállítás" menü az opcionális paramétereket tartalmazza. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Könyvvizsgálat +Audit=Security events InfoDolibarr=A Dolibarr jellemzői InfoBrowser=A böngésző jellemzői InfoOS=Az operációs rendszer jellemzői @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkció nem áll rendelkezésre a PHP DownloadMoreSkins=További bőrök letöltése SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Részleges fordítás MAIN_DISABLE_METEO=A meteorológiai nézet letiltása MeteoStdMod=Normál mód @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Az állapot jelenleg %s YouUseBestDriver=A(z) %s illesztőprogramot használja, amely a jelenleg elérhető legjobb illesztőprogram. YouDoNotUseBestDriver=A(z) %s illesztőprogramot használja, de az %s illesztőprogram használata ajánlott. NbOfObjectIsLowerThanNoPb=Csak %s %s van az adatbázisban. Ez nem igényel különösebb optimalizálást. +ComboListOptim=Combo list loading optimization SearchOptim=Keresés optimalizálása -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=%s %s van az adatbázisban, és az %s konstans értéke 1-re van állítva a Nyitólap->Beállítások->Egyéb beállítások oldalon. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=A(z) %s webböngészőt használja. Ez a böngésző rendben van a biztonság és a teljesítmény szempontjából. BrowserIsKO=Az %s webböngészőt használja. Ez a böngésző köztudottan rossz választás a biztonság, a teljesítmény és a megbízhatóság szempontjából. Javasoljuk a Firefox, a Chrome, az Opera vagy a Safari használatát. PHPModuleLoaded=Az %s PHP összetevő betöltődött @@ -1433,6 +1447,7 @@ MemberMainOptions=Fő opciók AdherentLoginRequired= Készítsen egy Login minden tagja számára AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox levelet küldeni visszaigazolást a tagok (jóváhagyás vagy új előfizetés) alapértelmezés szerint be van +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Kattintson a Tárcsázás modul beállítása ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Ajánlott +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/hu_HU/agenda.lang b/htdocs/langs/hu_HU/agenda.lang index 09e7e836d73..ed87875b778 100644 --- a/htdocs/langs/hu_HU/agenda.lang +++ b/htdocs/langs/hu_HU/agenda.lang @@ -4,7 +4,7 @@ Actions=Cselekvések Agenda=Napirend TMenuAgenda=Napirend Agendas=Napirendek -LocalAgenda=Belső naptár +LocalAgenda=Default calendar ActionsOwnedBy=Esemény gazdája ActionsOwnedByShort=Tulajdonos AffectedTo=Hozzárendelve @@ -14,13 +14,13 @@ EventsNb=Események száma ListOfActions=Események listája EventReports=Event reports Location=Helyszín -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Egész napos esemény MenuToDoActions=Minden nem teljesített cselekvés MenuDoneActions=Minden megszüntetett cselekvés MenuToDoMyActions=Nem teljesített cselekvéseim MenuDoneMyActions=Megszüntetett cselekvéseim -ListOfEvents=Események listája (belső naptár) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Cselekvéseket rögzítette ActionsToDoBy=Események hozzárendelve ActionsDoneBy=Végrehajtotta @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=%s szerződés jóváhagyva CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Indulási dátum @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Mutassa a születésnapokat a névjegyzékben +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Rejtse el a születésnapokat a névjegyzékben Busy=Elfoglalt ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/hu_HU/banks.lang b/htdocs/langs/hu_HU/banks.lang index b9ec7356a11..091018a0e25 100644 --- a/htdocs/langs/hu_HU/banks.lang +++ b/htdocs/langs/hu_HU/banks.lang @@ -115,7 +115,7 @@ TransferTo=Címzett TransferFromToDone=A transzfer %s a %s a %s %s lett felvéve. CheckTransmitter=Küldő ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Banki csekkek diff --git a/htdocs/langs/hu_HU/bills.lang b/htdocs/langs/hu_HU/bills.lang index 60a53dbffb7..7260d54c252 100644 --- a/htdocs/langs/hu_HU/bills.lang +++ b/htdocs/langs/hu_HU/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Számla dátuma DatePointOfTax=Point of tax NoInvoice=Nincs számla +NoOpenInvoice=No open invoice ClassifyBill=Számla osztályozása SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Nyiott vevőszámlák @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/hu_HU/boxes.lang b/htdocs/langs/hu_HU/boxes.lang index 3a23f75e080..e4494db996f 100644 --- a/htdocs/langs/hu_HU/boxes.lang +++ b/htdocs/langs/hu_HU/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Ügyfél számlák ForCustomersOrders=Ügyfél megrendelések ForProposals=Javaslatok diff --git a/htdocs/langs/hu_HU/cashdesk.lang b/htdocs/langs/hu_HU/cashdesk.lang index 4dc1b0d8aad..7305ad7f228 100644 --- a/htdocs/langs/hu_HU/cashdesk.lang +++ b/htdocs/langs/hu_HU/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/hu_HU/compta.lang b/htdocs/langs/hu_HU/compta.lang index 3f2846904ee..4e1f395b2a5 100644 --- a/htdocs/langs/hu_HU/compta.lang +++ b/htdocs/langs/hu_HU/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/hu_HU/cron.lang b/htdocs/langs/hu_HU/cron.lang index 88f0a731a8c..1a95e552b72 100644 --- a/htdocs/langs/hu_HU/cron.lang +++ b/htdocs/langs/hu_HU/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=A befejezés időpontja nem lehet hamarabb mint a kezdet StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Letiltás -CronTaskInactive=Ez a feladat ki van kapcsolva +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/hu_HU/deliveries.lang b/htdocs/langs/hu_HU/deliveries.lang index f7656297b0f..c907a121477 100644 --- a/htdocs/langs/hu_HU/deliveries.lang +++ b/htdocs/langs/hu_HU/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Címzett ErrorStockIsNotEnough=Nincs elég raktáron Shippable=Szállítható NonShippable=Nem szállítható +ShowShippableStatus=Show shippable status ShowReceiving=Mutassa az átvételi elismervényt NonExistentOrder=Nem létező megrendelés +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index d0a29f81991..82dd42af279 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=A %s felhasználói név már létezik. ErrorGroupAlreadyExists=A %s csoport már létezik. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=A rekord nem található ErrorFailToCopyFile=A '%s' fájl másolása sikertelen '%s' -ba. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Nem sikerült olvasni file "%s" ErrorCantReadDir=Nem sikerült olvasni könyvtár "%s" ErrorBadLoginPassword=Rossz érték be vagy jelszó ErrorLoginDisabled=A fiók le van tiltva -ErrorFailedToRunExternalCommand=Nem sikerült futtatni külső parancsot. Ellenőrizze, hogy elérhető és futtatható a PHP szerver. Ha a PHP Safe Mode be van kapcsolva, ellenőrizze, hogy a parancs belsejében egy könyvtár által meghatározott paraméter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Nem sikerült megváltoztatni a jelszót ErrorLoginDoesNotExists=Felhasználó bejelentkezési %s nem található. ErrorLoginHasNoEmail=Ennek a felhasználónak nincs e-mail címre. Folyamat megszakítva. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/hu_HU/eventorganization.lang b/htdocs/langs/hu_HU/eventorganization.lang index ec363794b35..00447114f40 100644 --- a/htdocs/langs/hu_HU/eventorganization.lang +++ b/htdocs/langs/hu_HU/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/hu_HU/exports.lang b/htdocs/langs/hu_HU/exports.lang index 207e255a0f7..c8945321c10 100644 --- a/htdocs/langs/hu_HU/exports.lang +++ b/htdocs/langs/hu_HU/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Vonal típusa (0 = a termék, 1 = szolgáltatás) FileWithDataToImport=File adatokat importálni FileToImport=Forrás fájlt importálni FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Forrás fájlformátum diff --git a/htdocs/langs/hu_HU/holiday.lang b/htdocs/langs/hu_HU/holiday.lang index 58e0869d94f..8b446f300ea 100644 --- a/htdocs/langs/hu_HU/holiday.lang +++ b/htdocs/langs/hu_HU/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Jóváhagyott CancelCP=Megszakítva RefuseCP=Megtagadta -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Szerkesztés @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Felhasználó ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/hu_HU/hrm.lang b/htdocs/langs/hu_HU/hrm.lang index 38a5e58b39c..3a2b88f92bc 100644 --- a/htdocs/langs/hu_HU/hrm.lang +++ b/htdocs/langs/hu_HU/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Biztosan törli ezt a létesítményt? OpenEtablishment=Létesítmény megnyitása CloseEtablishment=Létesítmény lezárása # Dictionary -DictionaryPublicHolidays=HRM - ünnepnapok +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Osztálylista DictionaryFunction=HRM - Munkahelyek # Module diff --git a/htdocs/langs/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index f576818e1d1..0c9cef51237 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Képek útvonalainak áttelepítése a felhasználók sz MigrationFieldsSocialNetworks=A felhasználói fiókok migrációja a közösségi hálózatokon (%s) MigrationReloadModule=Modul újratöltése %s MigrationResetBlockedLog=Alaphelyzetbe állítja a BlockedLog modult a v7 algoritmushoz +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Nem elérhető lehetőségek megjelenítése HideNotAvailableOptions=Nem elérhető lehetőségek elrejtése ErrorFoundDuringMigration=Hibá(k) fordulhattak elő a migrálási folyamat során, így a következő lépés nem érhető el. A hibák figyelmen kívül hagyásához kattintson ide, de lehet, hogy az alkalmazás vagy egyes szolgáltatások nem működnek addig helyesen, amíg a hibákat ki nem javítja (valaki). diff --git a/htdocs/langs/hu_HU/interventions.lang b/htdocs/langs/hu_HU/interventions.lang index 40f2ec4977c..31c03c3561a 100644 --- a/htdocs/langs/hu_HU/interventions.lang +++ b/htdocs/langs/hu_HU/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/hu_HU/knowledgemanagement.lang b/htdocs/langs/hu_HU/knowledgemanagement.lang index 983d7605cd6..86cb2e412c0 100644 --- a/htdocs/langs/hu_HU/knowledgemanagement.lang +++ b/htdocs/langs/hu_HU/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Névjegy KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Árucikk KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/hu_HU/languages.lang b/htdocs/langs/hu_HU/languages.lang index 1242a9d40dd..3b8460c163c 100644 --- a/htdocs/langs/hu_HU/languages.lang +++ b/htdocs/langs/hu_HU/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arab Language_ar_EG=Arab (Egyiptom) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arab +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengáli Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Holland (Belgium) Language_nl_NL=Holland Language_pl_PL=Lengyel +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugál (Brazilia) Language_pt_PT=Portugál +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Román Language_ru_RU=Orosz Language_ru_UA=Orosz (Ukrajna) diff --git a/htdocs/langs/hu_HU/mails.lang b/htdocs/langs/hu_HU/mails.lang index c9726d44b9b..41d01bbce40 100644 --- a/htdocs/langs/hu_HU/mails.lang +++ b/htdocs/langs/hu_HU/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index 53bac5b2e65..317ec96bf61 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Kiegészítő összeg VATRate=ÁFA érték +RateOfTaxN=Rate of tax %s VATCode=Adószám kód VATNPR=NPR adó mértéke DefaultTaxRate=Alapértelmezett adómérték @@ -729,6 +730,7 @@ MenuMembers=Tagok MenuAgendaGoogle=Google naptár MenuTaxesAndSpecialExpenses=Adók | Különleges kiadások ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Jelenlegi nyelv CurrentTheme=Jelenlegi téma @@ -1072,6 +1074,7 @@ ValidFrom=Érvényes (-tól) ValidUntil=Érvényes (-ig) NoRecordedUsers=Nincs felhasználó ToClose=Bezárni +ToRefuse=To refuse ToProcess=Feldolgozni ToApprove=Jóváhagyásra GlobalOpenedElemView=Globális nézet @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/hu_HU/members.lang b/htdocs/langs/hu_HU/members.lang index 3eb2d96dea9..0504ed8b229 100644 --- a/htdocs/langs/hu_HU/members.lang +++ b/htdocs/langs/hu_HU/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Küldj e-mailes emlékeztetőt a tagnak az el MembershipPaid=A tagdíj kiegyenlítve az aktuális időszakra ( 1 %s-ig ) YouMayFindYourInvoiceInThisEmail=A számlát ehhez az e-mailhez csatolva találhatja meg. XMembersClosed=1 %s tag(ok) lezárva +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/hu_HU/modulebuilder.lang b/htdocs/langs/hu_HU/modulebuilder.lang index ade65249c96..6ae09a415d3 100644 --- a/htdocs/langs/hu_HU/modulebuilder.lang +++ b/htdocs/langs/hu_HU/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/hu_HU/mrp.lang b/htdocs/langs/hu_HU/mrp.lang index 74f340cce90..0623b3a8447 100644 --- a/htdocs/langs/hu_HU/mrp.lang +++ b/htdocs/langs/hu_HU/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Gyártási rendelések NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Törlés NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/hu_HU/orders.lang b/htdocs/langs/hu_HU/orders.lang index 02ff5a44729..0711e6f1804 100644 --- a/htdocs/langs/hu_HU/orders.lang +++ b/htdocs/langs/hu_HU/orders.lang @@ -11,6 +11,7 @@ OrderDate=Megrendelés dátuma OrderDateShort=Megrendelés dátuma OrderToProcess=Feldolgozandó megrendelés NewOrder=Új megbízás +NewSupplierOrderShort=Új megbízás NewOrderSupplier=Új beszerzési megrendelés ToOrder=Rendelés készítése MakeOrder=Rendelés készítése @@ -73,6 +74,7 @@ DeleteOrder=Megrendelés törlése CancelOrder=Megrendelés visszavonása OrderReopened= %s megrendelés újbóli megnyitása AddOrder=Megrendelés készítése +AddSupplierOrderShort=Megrendelés készítése AddPurchaseOrder=Beszerzési megrendelés létrehozása AddToDraftOrders=Megrendelés tervekhez ad ShowOrder=Megrendelés mutatása diff --git a/htdocs/langs/hu_HU/other.lang b/htdocs/langs/hu_HU/other.lang index a390b96dd40..20ca1d8c75b 100644 --- a/htdocs/langs/hu_HU/other.lang +++ b/htdocs/langs/hu_HU/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Lezárta FileWasRemoved=Fájl %s eltávolították DirWasRemoved=Directory %s eltávolították FeatureNotYetAvailable=A funkció a jelenlegi verzióban még nem érhető el +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Támogatott szolgáltatások Width=Szélesség Height=Magasság @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Az elérhetőség/cím létrehozva az e-mail gyű ProjectCreatedByEmailCollector=A projektet létrehozva az e-mail gyűjtő által az MSGID %s e-mailből TicketCreatedByEmailCollector=A jegy létrehozva az e-mail gyűjtő által az MSGID %s e-mailből OpeningHoursFormatDesc=A nyitvatartási időket (-tól-ig) kötőjellel (-) válassza el.
    Használjon szóközt a különböző idősávok megadásához.
    Példa: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Az export területén @@ -290,3 +291,7 @@ PopuCom=Termékek/szolgáltatások népszerűsége a megrendelésekben ProductStatistics=Termékek/szolgáltatások statisztikája NbOfQtyInOrders=Mennyiség a megrendelésekben SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zár diff --git a/htdocs/langs/hu_HU/partnership.lang b/htdocs/langs/hu_HU/partnership.lang index e7739eb8af6..94446a15883 100644 --- a/htdocs/langs/hu_HU/partnership.lang +++ b/htdocs/langs/hu_HU/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Kezdet dátuma DatePartnershipEnd=Befejezés dátuma +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Piszkozat -PartnershipAccepted = Accepted -PartnershipRefused = Visszautasított -PartnershipCanceled = Visszavonva - +PartnershipDraft=Piszkozat +PartnershipAccepted=Accepted +PartnershipRefused=Visszautasított +PartnershipCanceled=Visszavonva PartnershipManagedFor=Partners are diff --git a/htdocs/langs/hu_HU/productbatch.lang b/htdocs/langs/hu_HU/productbatch.lang index ba6dc689fc1..848386e6c50 100644 --- a/htdocs/langs/hu_HU/productbatch.lang +++ b/htdocs/langs/hu_HU/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index e33c49faa9e..3da4517cc56 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Egyedi ár minden vevő számára PriceCatalogue=Egyetlen eladási ár termékenként/szolgáltatásonként PricingRule=Az eladási árak szabályai AddCustomerPrice=Ár hozzáadása ügyfelek szerint -ForceUpdateChildPriceSoc=Állítsa be ugyanazt az árat az ügyfél leányvállalatokra +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=A korábbi vevői árak naplója MinimumPriceLimit=A minimális ár nem lehet kisebb mint %s MinimumRecommendedPrice=Ajánlott minimális ár: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Növelje/csökkentse a készletet a szülő termék v ComposedProduct=Gyermek termékek MinSupplierPrice=Minimális vételár MinCustomerPrice=Minimális eladási ár +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamikus árkonfiguráció DynamicPriceDesc=Megadhat matematikai képleteket a vevői vagy a szállítói árak kiszámításához. Az ilyen képletek felhasználhatják az összes matematikai operátort, néhány állandót és változót. Itt meghatározhatja azokat a változókat, amelyeket használni kíván. Ha a változónak automatikus frissítésre van szüksége, megadhatja a külső URL-t, hogy a Dolibarr automatikusan frissítse az értéket. AddVariable=Változó hozzáadása @@ -340,7 +341,7 @@ ProductSheet=Terméklap ServiceSheet=Szolgáltatási lap PossibleValues=Lehetséges értékek GoOnMenuToCreateVairants=Lépjen a %s - %s menübe az attribútumváltozatok (pl. színek, méret, ...) elkészítéséhez. -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Csomagolás @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=A művelet csak a termék változatánál é ProductsPricePerCustomer=Termékárak vevőnként ProductSupplierExtraFields=További tulajdonságok (szállítói árak) DeleteLinkedProduct=Törölje a kombinációhoz kapcsolt gyermekterméket +PMPValue=Súlyozott átlagár +PMPValueShort=SÁÉ diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index d69968ffa21..cd54462f6aa 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -140,6 +140,7 @@ NoTasks=Nincs a projekthez tartozó feladat LinkedToAnotherCompany=Harmadik félhez kapcsolva TaskIsNotAssignedToUser=A feladat nincs hozzárendelve a felhasználóhoz. A feladat hozzárendeléséhez használja az ' %s ' gombot. ErrorTimeSpentIsEmpty=Töltött idő üres +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Ez a művelet is törli az összes feladatot a projekt (%s feladatokat a pillanatban), és az összes bemenet eltöltött idő. IfNeedToUseOtherObjectKeepEmpty=Ha egyes tárgyakat (számla, megrendelés, ...), amelyek egy másik harmadik félnek kell kapcsolódniuk a projekt létrehozásához, tartsa ezt az üres, hogy a projekt, hogy több harmadik fél. CloneTasks=Klónfeladatok @@ -241,6 +242,7 @@ LatestModifiedProjects=A legújabb %s módosított projektek OtherFilteredTasks=Egyéb szűrt feladatok NoAssignedTasks=Nem található hozzárendelt feladat (az aktuális felhasználóhoz rendeljen projektet / feladatokat a felső jelölőnégyzetből az idő megadásához) ThirdPartyRequiredToGenerateInvoice=A számlázáshoz meg kell határozni egy harmadik felet a projekten. +ThirdPartyRequiredToGenerateInvoice=A számlázáshoz meg kell határozni egy harmadik felet a projekten. ChooseANotYetAssignedTask=Válasszon ki egy olyan feladatot, amely még nincs hozzárendelve # Comments trans AllowCommentOnTask=Felhasználói megjegyzések engedélyezése a feladatokhoz @@ -252,10 +254,12 @@ SendProjectRef=Információs projekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=A „Fizetések” modulnak lehetővé kell tennie az alkalmazottak óradíjának meghatározását az eltöltött idő valorizálása érdekében NewTaskRefSuggested=A feladat ref már használatban van, új feladat ref szükséges TimeSpentInvoiced=Számlázással töltött idő +TimeSpentForIntervention=Eltöltött idő TimeSpentForInvoice=Eltöltött idő OneLinePerUser=Felhasználónként egy sor ServiceToUseOnLines=A vonalakon használható szolgáltatás InvoiceGeneratedFromTimeSpent=Az %s számla a projektre fordított időből származik +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Ellenőrizze, hogy beírta-e a munkaidő-nyilvántartást a projekt feladataira, ÉS azt tervezi, hogy számlákat generál az időről, hogy kiszámlázza a projekt ügyfelét (ne ellenőrizze, hogy olyan számlát kíván-e létrehozni, amely nem a beírt munkaidő-nyilvántartások alapján készül). Megjegyzés: Számla előállításához lépjen a projekt „Idő eltelt” fülére, és válassza ki a beépítendő sorokat. ProjectFollowOpportunity=Kövesse a lehetőséget ProjectFollowTasks=Kövesse a feladatokat vagy az eltöltött időt @@ -264,12 +268,16 @@ UsageOpportunity=Használat: Lehetőség UsageTasks=Használat: Feladatok UsageBillTimeShort=Használat: Számlaidő InvoiceToUse=Használandó számlatervezet +InterToUse=Draft intervention to use NewInvoice=Új számla +NewInter=Új intervenció OneLinePerTask=Feladatonként egy sor OneLinePerPeriod=Periódusonként egy sor +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Szülői feladat ProfitIsCalculatedWith=A nyereség kiszámítása AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/hu_HU/receptions.lang b/htdocs/langs/hu_HU/receptions.lang index aa70f9d1f0a..2e40ba41a47 100644 --- a/htdocs/langs/hu_HU/receptions.lang +++ b/htdocs/langs/hu_HU/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/hu_HU/salaries.lang b/htdocs/langs/hu_HU/salaries.lang index 3ab2c9f6d4d..fffafe44485 100644 --- a/htdocs/langs/hu_HU/salaries.lang +++ b/htdocs/langs/hu_HU/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Bérek -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/hu_HU/stocks.lang b/htdocs/langs/hu_HU/stocks.lang index 48d4ddc9f27..41e3f086302 100644 --- a/htdocs/langs/hu_HU/stocks.lang +++ b/htdocs/langs/hu_HU/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Vételár StockTooLow=Készlet alacsony StockLowerThanLimit=A készlet határérték alá (%s) csökkent EnhancedValue=Érték -PMPValue=Súlyozott átlagár -PMPValueShort=SÁÉ EnhancedValueOfWarehouses=Raktárak értéke UserWarehouseAutoCreate=Felhasználói raktár automatikus létrehozása felhasználó hozzáadásakor AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=A %s termék készletének mozgatása másik raktárba InventoryCodeShort=Lelt./Mozg. kód NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=A (%s) tétel/cikkszám már létezik de eltérő lejárati/eladási határidővel (jelenleg %s az imént felvitt érték ellenben %s). -OpenAll=Nyitott minden műveletre -OpenInternal=Nyitott csak belső műveletek számára +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/hu_HU/ticket.lang b/htdocs/langs/hu_HU/ticket.lang index 59c439326d2..9a479ea4add 100644 --- a/htdocs/langs/hu_HU/ticket.lang +++ b/htdocs/langs/hu_HU/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Egyéb @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Olvas Assigned=Assigned InProgress=Folyamatban -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Várakozás -Closed=Lezárt +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Csoport +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/hu_HU/trips.lang b/htdocs/langs/hu_HU/trips.lang index 8fdccdee086..526bdce8e73 100644 --- a/htdocs/langs/hu_HU/trips.lang +++ b/htdocs/langs/hu_HU/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Hitelesítés dátuma DATE_CANCEL=Cancelation date DATE_PAIEMENT=Fizetési határidő -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/hu_HU/users.lang b/htdocs/langs/hu_HU/users.lang index 1c115aac06a..f10f7b62924 100644 --- a/htdocs/langs/hu_HU/users.lang +++ b/htdocs/langs/hu_HU/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Létrehozandó bejelentkezés NameToCreate=Létrehozandó harmadik fél neve YourRole=Szerepkörei YourQuotaOfUsersIsReached=Aktív felhasználói kvóta elérve! -NbOfUsers=Felhasználók száma -NbOfPermissions=Engedélyek száma +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Csak egy superadmin lehet downgrade 1 superadmin HierarchicalResponsible=Felettes HierarchicView=Hierachia nézet diff --git a/htdocs/langs/hu_HU/website.lang b/htdocs/langs/hu_HU/website.lang index 0d0b576b87e..4f3fc5bc963 100644 --- a/htdocs/langs/hu_HU/website.lang +++ b/htdocs/langs/hu_HU/website.lang @@ -31,7 +31,7 @@ AddWebsite=Webhely hozzáadása Webpage=Weblap / tároló AddPage=Oldal / tároló hozzáadása PageContainer=Oldal -PreviewOfSiteNotYetAvailable=A weboldal előnézete %s még nem érhető el. Először ' Teljes weboldal-sablont kell importálnia ' vagy csak ' Oldal / tároló hozzáadása ' elemet . +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Az %s azonosítóval kért oldalnak még nincs tartalma, vagy a .tpl.php gyorsítótár fájlt eltávolították. Szerkessze az oldal tartalmát ennek megoldásához. SiteDeleted='%s' webhely törölve PageContent=Oldal / Konténer diff --git a/htdocs/langs/hu_HU/withdrawals.lang b/htdocs/langs/hu_HU/withdrawals.lang index 64d418be9f1..ecef7ce1f70 100644 --- a/htdocs/langs/hu_HU/withdrawals.lang +++ b/htdocs/langs/hu_HU/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Jóváírtan osztályozva ClassCreditedConfirm=Biztos, hogy jóvírtan akarja osztályozni a visszavonást a bankszámlájáról? TransData=Dátum Átviteli @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/hu_HU/workflow.lang b/htdocs/langs/hu_HU/workflow.lang index 245805b071d..3612ea32e83 100644 --- a/htdocs/langs/hu_HU/workflow.lang +++ b/htdocs/langs/hu_HU/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=A kapcsolt forrásból származó ja descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=A kapcsolt forrásból származó értékesítési megrendelést számlázottra minősíti, ha az ügyfélszámla érvényesítve lesz (és ha a számla összege megegyezik a kapcsolódó rendelés teljes összegével) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=A kapcsolt forrásból származó értékesítési megrendelést számlázottra minősíti, ha az ügyfélszámla kifizetettre van állítva (és ha a számla összege megegyezik a kapcsolódó rendelés teljes összegével) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=A kapcsolt forrásból származó értékesítési megrendelést kiszállítottként minősíti, ha a kiszállítás érvényesítve van (és ha az összes szállítmány által szállított mennyiség megegyezik a frissített megrendelésével) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=A kapcsolt forrásból származó szállítói javaslatot számlázottként minősíti, ha a szállítói számla érvényesítve lesz (és ha a számla összege megegyezik a kapcsolódó ajánlat teljes összegével) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=A kapcsolt forrásból származó megrendelést számlázottra minősíti, ha a szállítói számla érvényesítve lesz (és ha a számla összege megegyezik a kapcsolódó rendelés teljes összegével) diff --git a/htdocs/langs/id_ID/accountancy.lang b/htdocs/langs/id_ID/accountancy.lang index 5ee50624603..51427d84c66 100644 --- a/htdocs/langs/id_ID/accountancy.lang +++ b/htdocs/langs/id_ID/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Negara bukan di EEC CountriesInEECExceptMe=Negara di EEC kecuali %s CountriesExceptMe=Semua negara kecuali %s AccountantFiles=Ekspor dokumen sumber -ExportAccountingSourceDocHelp=Dengan alat ini, Anda dapat mengekspor agenda sumber (daftar dan PDF) yang digunakan untuk menghasilkan akuntansi Anda. Untuk mengekspor jurnal Anda, gunakan entri menu %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=Lihat berdasarkan akun akuntansi VueBySubAccountAccounting=Lihat menurut sub-akun akuntansi @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Panjang akun akuntansi pihak ketiga (Jika Anda meneta ACCOUNTING_MANAGE_ZERO=Izinkan untuk mengelola jumlah nol yang berbeda di akhir akun akuntansi. Dibutuhkan oleh beberapa negara (seperti Swiss). Jika diatur ke mati (standar), Anda dapat mengatur dua parameter berikut untuk meminta aplikasi menambahkan angka nol virtual. BANK_DISABLE_DIRECT_INPUT=Nonaktifkan pencatatan langsung transaksi di rekening bank ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Aktifkan konsep ekspor di jurnal -ACCOUNTANCY_COMBO_FOR_AUX=Aktifkan daftar kombo untuk akun anak perusahaan (mungkin lambat jika Anda memiliki banyak pihak ketiga) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Tentukan tanggal untuk mulai mengikat & mentransfer akuntansi. Di bawah tanggal ini, transaksi tidak akan dialihkan ke akuntansi. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Pada transfer akuntansi, pilih periode yang ditampilkan secara default @@ -245,9 +246,9 @@ DescThirdPartyReport=Konsultasikan di sini daftar pelanggan dan vendor pihak ket ListAccounts=Daftar akun-akun akunting UnknownAccountForThirdparty=Akun pihak ketiga tidak dikenal. Kami akan menggunakan %s UnknownAccountForThirdpartyBlocking=Akun pihak ketiga tidak dikenal. Kesalahan pemblokiran -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Akun pihak ketiga tidak didefinisikan atau pihak ketiga tidak dikenal. Kami akan menggunakan %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Pihak ketiga tidak dikenal dan subledger tidak didefinisikan pada pembayaran. Kami akan menyimpan nilai akun subledger kosong. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Akun pihak ketiga tidak didefinisikan atau pihak ketiga tidak dikenal. Kesalahan pemblokiran. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Akun pihak ketiga yang tidak dikenal dan akun tunggu tidak ditentukan. Kesalahan pemblokiran PaymentsNotLinkedToProduct=Pembayaran tidak terkait dengan produk / layanan apa pun OpeningBalance=Saldo awal @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Nonaktifkan pengikatan & transfer akunta ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Nonaktifkan pengikatan & transfer akuntansi pada laporan pengeluaran (laporan pengeluaran tidak akan diperhitungkan dalam akuntansi) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Ekspor draft jurnal Modelcsv=Model Ekspor Selectmodelcsv=Pilih satu model Ekspor @@ -335,7 +339,7 @@ Modelcsv_normal=Ekspor Klasik Modelcsv_CEGID=Ekspor untuk CEGID Expert Comptabilité Modelcsv_COALA=Ekspor untuk Sage Coala Modelcsv_bob50=Ekspor untuk Sage BOB 50 -Modelcsv_ciel=Ekspor untuk Sage Ciel Compta atau Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Ekspor untuk Quadratus QuadraCompta Modelcsv_ebp=Ekspor untuk EBP Modelcsv_cogilog=Ekspor untuk Cogilog diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index 299e5a8b016..2292266d973 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -53,6 +53,7 @@ InternalUser=Pengguna internal ExternalUser=Pengguna eksternal InternalUsers=Pengguna internal ExternalUsers=Pengguna eksternal +UserInterface=User interface GUISetup=Tampakan Display SetupArea=Pengaturan UploadNewTemplate=Unggah templat baru(s) @@ -84,6 +85,7 @@ NumberOfBytes=Jumlah Bytes SearchString=Cari string NotAvailableWhenAjaxDisabled=Tidak tersedia ketika Ajax dinonaktifkan AllowToSelectProjectFromOtherCompany=Pada dokumen pihak ketiga, dapat memilih proyek yang ditautkan ke pihak ketiga lainnya +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript dinonaktifkan UsePreviewTabs=Gunakan tab pratinjau ShowPreview=Tampilkan pratinjau @@ -116,6 +118,7 @@ MultiCurrencySetup=Penyiapan multi-mata uang MenuLimits=Batas dan akurasi MenuIdParent=Menu Induk ID DetailMenuIdParent=ID dari menu induk (kosong untuk menu atas) +ParentID=Parent ID DetailPosition=Urutkan nomor untuk menentukan posisi menu AllMenus=Semua NotConfigured=Modul / Aplikasi tidak dikonfigurasi @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Fitur hanya tersedia pada versi stabil resmi BoxesDesc=Widget adalah komponen yang menunjukkan beberapa informasi yang dapat Anda tambahkan untuk mempersonalisasi beberapa halaman. Anda dapat memilih antara menampilkan widget atau tidak dengan memilih halaman target dan mengklik 'Aktifkan', atau dengan mengklik trashcan untuk menonaktifkannya. OnlyActiveElementsAreShown=Hanya elemen dari modul yang diaktifkan yang ditampilkan . ModulesDesc=Modul / aplikasi menentukan fitur mana yang tersedia dalam perangkat lunak. Beberapa modul memerlukan izin untuk diberikan kepada pengguna setelah mengaktifkan modul. Klik tombol on / off %s dari setiap modul untuk mengaktifkan atau menonaktifkan modul / aplikasi. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Anda dapat menemukan lebih banyak modul untuk diunduh di situs web eksternal di Internet ... ModulesDeployDesc=Jika izin pada sistem file Anda mengizinkannya, Anda dapat menggunakan alat ini untuk menggunakan modul eksternal. Modul kemudian akan terlihat pada tab%s . ModulesMarketPlaces=Temukan aplikasi / modul eksternal @@ -221,8 +225,8 @@ NotCompatible=Modul ini tampaknya tidak kompatibel dengan %s Dolibarr Anda (Min CompatibleAfterUpdate=Modul ini membutuhkan pembaruan untuk %s Dolibarr Anda (Min %s - Maks %s). SeeInMarkerPlace=Lihat di Pasar SeeSetupOfModule=Lihat pengaturan modul %s +SetOptionTo=Set option %s to %s Updated=Diperbarui -Nouveauté=Kebaruan AchatTelechargement=Beli / Unduh GoModuleSetupArea=Untuk menggunakan / memasang modul baru, buka area pengaturan Modul: %s . DoliStoreDesc=DoliStore, pasar resmi untuk modul eksternal Dolibarr ERP / CRM @@ -399,6 +403,7 @@ SecurityToken=Kunci untuk mengamankan URL NoSmsEngine=Tidak ada manajer pengirim SMS yang tersedia. Manajer pengirim SMS tidak diinstal dengan distribusi default karena tergantung pada vendor eksternal, tetapi Anda dapat menemukannya di %s PDF=PDF PDFDesc=Pilihan / opsi global untuk pembuatan PDF +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Aturan untuk bagian dari alamat HideAnyVATInformationOnPDF=Sembunyikan semua informasi yang terkait dengan Pajak Penjualan / PPN PDFRulesForSalesTax=Aturan untuk Pajak Penjualan / PPN @@ -561,7 +566,7 @@ Module53Desc=Manajemen Layanan Module54Name=Kontrak / Langganan Module54Desc=Manajemen kontrak (layanan atau langganan berulang) Module55Name=Barcode -Module55Desc=Manajemen barcode +Module55Desc=Barcode or QR code management Module56Name=Pembayaran dengan transfer kredit Module56Desc=Manajemen pembayaran pemasok dengan pesanan Transfer Kredit. Ini termasuk pembuatan file SEPA untuk negara-negara Eropa. Module57Name=Pembayaran dengan Debit Langsung @@ -848,10 +853,10 @@ Permission402=Buat / ubah diskon Permission403=Validasi diskon Permission404=Hapus diskon Permission430=Gunakan Debug Bar -Permission511=Baca pembayaran gaji (milik Anda dan bawahan) -Permission512=Buat / ubah pembayaran gaji -Permission514=Hapus pembayaran gaji -Permission517=Baca pembayaran gaji semua orang +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Gaji ekspor Permission520=Baca Pinjaman Permission522=Buat / modifikasi pinjaman @@ -965,6 +970,8 @@ Permission23003=Hapus pekerjaan terjadwal Permission23004=Jalankan pekerjaan yang Dijadwalkan Permission50101=Gunakan Point of Sale (SimplePOS) Permission50151=Gunakan Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Membaca Data Transaksi Permission50202=Transaksi impor Permission50330=Membaca objek Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Unit Pengukur DictionarySocialNetworks=Jaringan sosial DictionaryProspectStatus=Status prospek untuk perusahaan DictionaryProspectContactStatus=Status prospek untuk kontak -DictionaryHolidayTypes=Jenis cuti +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Status memimpin untuk proyek / prospek DictionaryExpenseTaxCat=Laporan biaya - Kategori transportasi DictionaryExpenseTaxRange=Laporan biaya - Kisaran berdasarkan kategori transportasi DictionaryTransportMode=Laporan Intracomm - Mode transportasi +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Jenis unit SetupSaved=Pengaturan disimpan SetupNotSaved=Pengaturan tidak disimpan @@ -1185,9 +1193,12 @@ SetupDescription2=Dua bagian berikut ini wajib (dua entri pertama dalam menu Pen SetupDescription3= %s -> %s

    Parameter dasar yang digunakan untuk menyesuaikan perilaku default aplikasi Anda (mis. untuk fitur terkait negara). SetupDescription4= %s -> %s

    Perangkat lunak ini adalah serangkaian banyak modul / aplikasi. Modul yang terkait dengan kebutuhan Anda harus diaktifkan dan dikonfigurasi. Entri menu akan muncul dengan aktivasi modul-modul ini. SetupDescription5=Entri menu Pengaturan lainnya mengatur parameter opsional. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=Tentang Dolibarr InfoBrowser=Tentang Browser InfoOS=Tentang OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Fungsi SSL tidak tersedia di PHP Anda DownloadMoreSkins=Lebih banyak skin untuk diunduh SimpleNumRefModelDesc=Mengembalikan nomor referensi dalam format %syymm-nnnn di mana yy adalah tahun, mm adalah bulan dan nnnn adalah nomor auto-incrementing berurutan tanpa reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Tampilkan id profesional dengan alamat -ShowVATIntaInAddress=Sembunyikan nomor PPN intra-Komunitas dengan alamat +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Terjemahan sebagian MAIN_DISABLE_METEO=Nonaktifkan tampilan meteorologi MeteoStdMod=Mode standar @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Kondisi saat ini %s YouUseBestDriver=Anda menggunakan driver %s yang merupakan driver terbaik yang saat ini tersedia. YouDoNotUseBestDriver=Anda menggunakan driver %s tetapi driver %s disarankan. NbOfObjectIsLowerThanNoPb=Anda hanya memiliki %s %s dalam database. Ini tidak memerlukan optimasi tertentu. +ComboListOptim=Combo list loading optimization SearchOptim=Optimasi pencarian -YouHaveXObjectUseSearchOptim=Anda memiliki %s %s di database. Anda dapat menambahkan konstanta %s ke 1 di Home-Setup-Other. Batasi pencarian hingga awal string yang memungkinkan database menggunakan indeks dan Anda akan mendapatkan respons segera. -YouHaveXObjectAndSearchOptimOn=Anda memiliki %s %s di database dan konstanta %s diatur ke 1 di Home-Setup-Other. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Anda menggunakan browser web %s. Browser ini ok untuk keamanan dan kinerja. BrowserIsKO=Anda menggunakan browser web %s. Browser ini dikenal sebagai pilihan yang buruk untuk keamanan, kinerja, dan keandalan. Kami merekomendasikan menggunakan Firefox, Chrome, Opera atau Safari. PHPModuleLoaded=Komponen PHP %s dimuat @@ -1433,6 +1447,7 @@ MemberMainOptions=Opsi utama AdherentLoginRequired= Kelola Login untuk setiap anggota AdherentMailRequired=Diperlukan email untuk membuat anggota baru MemberSendInformationByMailByDefault=Kotak centang untuk mengirim konfirmasi email kepada anggota (validasi atau berlangganan baru) diaktifkan secara default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Pengunjung dapat memilih dari mode pembayaran yang tersedia MEMBER_REMINDER_EMAIL=Aktifkan pengingat otomatismelalui emaildari langganan yang kedaluwarsa. Catatan: Modul%s harus diaktifkan dan diatur dengan benar untuk mengirim pengingat. MembersDocModules=Templat dokumen untuk dokumen yang dihasilkan dari catatan anggota @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Tampilan mana yang ingin Anda buka secara default saat memil AGENDA_REMINDER_BROWSER=Aktifkan pengingat acara pada browser pengguna (Ketika tanggal pengingat tercapai, popup ditampilkan oleh browser. Setiap pengguna dapat menonaktifkan pemberitahuan tersebut dari pengaturan pemberitahuan browser). AGENDA_REMINDER_BROWSER_SOUND=Aktifkan pemberitahuan suara AGENDA_REMINDER_EMAIL=Aktifkan pengingat acara melalui email (opsi pengingat / penundaan dapat ditentukan pada setiap acara). -AGENDA_REMINDER_EMAIL_NOTE=Catatan: Frekuensi tugas %s harus cukup untuk memastikan bahwa pengingat dikirim pada saat yang tepat. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Tampilkan objek yang ditautkan ke tampilan agenda ##### Clicktodial ##### ClickToDialSetup=Klik Untuk Memanggil pengaturan modul ClickToDialUrlDesc=Url dipanggil ketika klik pada telepon picto dilakukan. Di URL, Anda dapat menggunakan tag
    __PHONETO__yang akan diganti dengan nomor telepon orang untuk memanggil
    __PHONEFROM__yang akan diganti dengan nomor telepon memanggil orang (Anda)
    __LOGIN__yang akan diganti dengan clicktodial login (didefinisikan pada kartu pengguna)
    __PASS__yang akan diganti dengan password clicktodial (didefinisikan pada kartu pengguna). ClickToDialDesc=Modul ini mengubah nomor telepon, saat menggunakan komputer desktop, menjadi tautan yang dapat diklik. Satu klik akan memanggil nomor tersebut. Ini dapat digunakan untuk memulai panggilan telepon saat menggunakan telepon lunak di desktop Anda atau saat menggunakan sistem CTI berdasarkan protokol SIP misalnya. Catatan: Saat menggunakan ponsel cerdas, nomor telepon selalu dapat diklik. ClickToDialUseTelLink=Gunakan hanya tautan "tel:" pada nomor telepon -ClickToDialUseTelLinkDesc=Gunakan metode ini jika pengguna Anda memiliki softphone atau antarmuka perangkat lunak yang diinstal pada komputer yang sama dengan browser, dan dipanggil ketika Anda mengklik tautan di browser Anda yang dimulai dengan "tel:". Jika Anda memerlukan solusi server lengkap (tidak perlu instalasi perangkat lunak lokal), Anda harus mengatur ini ke "Tidak" dan isi kolom selanjutnya. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Titik penjualan POS CashDeskSetup=Pengaturan modul Point of Sales @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Margin kanan pada PDF MAIN_PDF_MARGIN_TOP=Margin teratas pada PDF MAIN_PDF_MARGIN_BOTTOM=Margin bawah pada PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Tinggi untuk logo di PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Tidak diperlukan pengaturan khusus untuk modul ini. SetToYesIfGroupIsComputationOfOtherGroups=Setel ini menjadi ya jika grup ini merupakan perhitungan grup lain EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=lebih besar dari IfTrackingIDFoundEventWillBeLinked=Perhatikan bahwa Jika ID pelacakan dari suatu objek ditemukan dalam email, atau jika email adalah jawaban dari email yang sudah dikumpulkan dan ditautkan ke suatu objek, acara yang dibuat akan secara otomatis ditautkan ke objek terkait yang diketahui. WithGMailYouCanCreateADedicatedPassword=Dengan akun GMail, jika Anda mengaktifkan validasi 2 langkah, disarankan untuk membuat kata sandi khusus kedua untuk aplikasi alih-alih menggunakan kata sandi akun Anda sendiri dari https://myaccount.google.com/. EmailCollectorTargetDir=Ini mungkin merupakan perilaku yang diinginkan untuk memindahkan email ke tag / direktori lain ketika berhasil diproses. Cukup atur nama direktori di sini untuk menggunakan fitur ini (JANGAN menggunakan karakter khusus dalam nama). Perhatikan bahwa Anda juga harus menggunakan akun login baca / tulis. -EmailCollectorLoadThirdPartyHelp=Anda dapat menggunakan tindakan ini untuk menggunakan konten email untuk menemukan dan memuat pihak ketiga yang ada di database Anda. Pihak ketiga yang ditemukan (atau dibuat) akan digunakan untuk mengikuti tindakan yang membutuhkannya. Di baris parameter Anda dapat menggunakan misalnya 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' jika Anda ingin mengekstrak nama pihak ketiga dari string 'Nama: nama untuk menemukan' ditemukan di dalam tubuh. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Titik akhir untuk %s: %s DeleteEmailCollector=Hapus pengumpul email ConfirmDeleteEmailCollector=Anda yakin ingin menghapus pengumpul email ini? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=Jika Anda ingin agar beberapa teks dalam PDF Anda digandakan dalam 2 bahasa berbeda dalam PDF yang dihasilkan sama, Anda harus mengatur di sini bahasa kedua ini sehingga PDF yang dihasilkan akan berisi 2 bahasa berbeda di halaman yang sama, yang dipilih saat membuat PDF dan yang ini ( hanya beberapa templat PDF yang mendukung ini). Biarkan kosong untuk 1 bahasa per PDF. FafaIconSocialNetworksDesc=Masukkan di sini kode ikon FontAwesome. Jika Anda tidak tahu apa itu FontAwesome, Anda dapat menggunakan fa-address-book nilai umum. -FeatureNotAvailableWithReceptionModule=Fitur tidak tersedia ketika Penerimaan modul diaktifkan RssNote=Catatan: Setiap definisi umpan RSS menyediakan widget yang harus Anda aktifkan agar tersedia di dasbor JumpToBoxes=Langsung ke Pengaturan -> Widget MeasuringUnitTypeDesc=Gunakan di sini nilai seperti "ukuran", "permukaan", "volume", "berat", "waktu" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Hubungi bank Anda untuk mendapatkan ID ini AdvancedModeOnly=Izin hanya tersedia dalam mode izin Lanjutan ConfFileIsReadableOrWritableByAnyUsers=File conf dapat dibaca atau ditulis oleh semua pengguna. Berikan izin kepada pengguna dan grup server web saja. MailToSendEventOrganization=Organisasi Acara +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Status acara default saat membuat acara dari formulir YouShouldDisablePHPFunctions=Anda harus menonaktifkan fungsi PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Direkomendasikan +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/id_ID/agenda.lang b/htdocs/langs/id_ID/agenda.lang index 069d27df0b4..e19d52a60d2 100644 --- a/htdocs/langs/id_ID/agenda.lang +++ b/htdocs/langs/id_ID/agenda.lang @@ -38,6 +38,7 @@ ActionsEvents=Perihal yang Dolibarr akan membuat tindakan dalam agenda otomatis EventRemindersByEmailNotEnabled=Pengingat agenda melalui email tidak diaktifkan ke pengaturan modul %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Pihak ketiga %s dibuat +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Pihak ketiga %s dihapus ContractValidatedInDolibarr=Kontrak %s divalidasi CONTRACT_DELETEInDolibarr=Kontrak %s dihapus @@ -87,6 +88,7 @@ OrderDeleted=Pesanan dihapus InvoiceDeleted=Faktur dihapus DraftInvoiceDeleted=Faktur konsep dihapus CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Produk %s dibuat PRODUCT_MODIFYInDolibarr=Produk %s dimodifikasi diff --git a/htdocs/langs/id_ID/banks.lang b/htdocs/langs/id_ID/banks.lang index 84e3aecbc0f..07792b4e882 100644 --- a/htdocs/langs/id_ID/banks.lang +++ b/htdocs/langs/id_ID/banks.lang @@ -115,7 +115,7 @@ TransferTo=Kepada TransferFromToDone=Transfer dari %s ke %s dari %s %s telah dicatat. CheckTransmitter=Sender ValidateCheckReceipt=Validasi tanda terima cek ini? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Hapus tanda terima cek ini? ConfirmDeleteCheckReceipt=Anda yakin ingin menghapus tanda terima cek ini? BankChecks=Cek bank diff --git a/htdocs/langs/id_ID/bills.lang b/htdocs/langs/id_ID/bills.lang index 91d13c95fd0..191dd690ee6 100644 --- a/htdocs/langs/id_ID/bills.lang +++ b/htdocs/langs/id_ID/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Pembayaran jatuh tempo pada DateInvoice=Tanggal faktur DatePointOfTax=Titik pajak NoInvoice=Tidak ada faktur +NoOpenInvoice=No open invoice ClassifyBill=Klasifikasi faktur SupplierBillsToPay=Faktur vendor yang belum dibayar CustomerBillsUnpaid=Faktur pelanggan yang belum dibayar @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/id_ID/boxes.lang b/htdocs/langs/id_ID/boxes.lang index 849a43fd146..7205c7341c0 100644 --- a/htdocs/langs/id_ID/boxes.lang +++ b/htdocs/langs/id_ID/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Pesanan Vendor: %s terakhir dimodifikasi BoxTitleLastModifiedCustomerBills=Faktur Pelanggan: %s terakhir dimodifikasi BoxTitleLastModifiedCustomerOrders=Pesanan Penjualan: %s terakhir dimodifikasi BoxTitleLastModifiedPropals=Proposal dimodifikasi %s terbaru -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Tagihan pelanggan ForCustomersOrders=Pesanan pelanggan ForProposals=Proposal diff --git a/htdocs/langs/id_ID/cashdesk.lang b/htdocs/langs/id_ID/cashdesk.lang index d81264ec43d..7a22d2c477f 100644 --- a/htdocs/langs/id_ID/cashdesk.lang +++ b/htdocs/langs/id_ID/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 = tag
    {TN}digunakan untuk menambahkan nomo TakeposGroupSameProduct=Kelompokkan lini produk yang sama StartAParallelSale=Mulai penjualan paralel baru SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Laporan tunai MainPrinterToUse=Printer utama untuk digunakan @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/id_ID/compta.lang b/htdocs/langs/id_ID/compta.lang index 37c855feba5..176b5449255 100644 --- a/htdocs/langs/id_ID/compta.lang +++ b/htdocs/langs/id_ID/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Beli turnover yang ditagih ReportPurchaseTurnoverCollected=Turnover pembelian dikumpulkan IncludeVarpaysInResults = Sertakan berbagai pembayaran dalam laporan IncludeLoansInResults = Sertakan pinjaman dalam laporan +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/id_ID/cron.lang b/htdocs/langs/id_ID/cron.lang index 5b2df4ba2b8..68c5f150e15 100644 --- a/htdocs/langs/id_ID/cron.lang +++ b/htdocs/langs/id_ID/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Tanggal akhir tidak boleh sebelum tanggal mulai StatusAtInstall=Status pada pemasangan modul CronStatusActiveBtn=Susunan acara CronStatusInactiveBtn=Nonaktifkan -CronTaskInactive=Pekerjaan ini dinonaktifkan +CronTaskInactive=This job is disabled (not scheduled) CronId=Indo CronClassFile=Nama file dengan kelas CronModuleHelp=Nama direktori modul Dolibarr (juga berfungsi dengan modul Dolibarr eksternal).
    Sebagai contoh untuk memanggil metode pengambilan objek Produk Dolibarr/htdocs/ produk /class/product.class.php, nilai untuk modul adalah a0342fccfda19b00c04808 diff --git a/htdocs/langs/id_ID/deliveries.lang b/htdocs/langs/id_ID/deliveries.lang index e04f7ef16e6..ef3921e9540 100644 --- a/htdocs/langs/id_ID/deliveries.lang +++ b/htdocs/langs/id_ID/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Penerima ErrorStockIsNotEnough=Tidak ada stok yang cukup Shippable=Dapat dikirim NonShippable=Tidak Dapat Dikirim +ShowShippableStatus=Show shippable status ShowReceiving=Tampilkan tanda terima pengiriman NonExistentOrder=Pesanan tidak ada +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index f65b4dd8a4c..4d0e919ee5e 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Nilai buruk untuk parameter Anda. Biasanya ditam ErrorRefAlreadyExists=Referensi %s sudah ada. ErrorLoginAlreadyExists=Login %s sudah ada. ErrorGroupAlreadyExists=Grup %s sudah ada. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Rekaman tidak ditemukan. ErrorFailToCopyFile=Gagal menyalin file ' %s ' ke ' %s '. ErrorFailToCopyDir=Gagal menyalin direktori ' %s ' menjadi ' %s '. @@ -117,7 +118,7 @@ ErrorCantReadFile=Gagal membaca file '%s' ErrorCantReadDir=Gagal membaca direktori '%s' ErrorBadLoginPassword=Nilai buruk untuk login atau kata sandi ErrorLoginDisabled=Akun Anda telah dinonaktifkan -ErrorFailedToRunExternalCommand=Gagal menjalankan perintah eksternal. Periksa apakah tersedia dan dapat dijalankan oleh server PHP Anda. Jika PHPMode Amandiaktifkan, periksa perintah itu di dalam direktori yang ditentukan oleh parametersafe_mode_exec_dir . +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Gagal mengubah kata sandi ErrorLoginDoesNotExists=Pengguna dengan login%stidak dapat ditemukan. ErrorLoginHasNoEmail=Pengguna ini tidak memiliki alamat email. Proses dibatalkan. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Parameter PHP Anda upload_max_filesize (%s) lebih tinggi dari parameter PHP post_max_size (%s). Ini bukan pengaturan yang konsisten. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/id_ID/eventorganization.lang b/htdocs/langs/id_ID/eventorganization.lang index 743b1f59013..db6514360f5 100644 --- a/htdocs/langs/id_ID/eventorganization.lang +++ b/htdocs/langs/id_ID/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Jenis agenda +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/id_ID/exports.lang b/htdocs/langs/id_ID/exports.lang index 39cc5685c18..85901957857 100644 --- a/htdocs/langs/id_ID/exports.lang +++ b/htdocs/langs/id_ID/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Jenis garis (0 = produk, 1 = layanan) FileWithDataToImport=File dengan data untuk diimpor FileToImport=Sumber file untuk diimpor FileMustHaveOneOfFollowingFormat=File yang akan diimpor harus memiliki salah satu format berikut -DownloadEmptyExample=Unduh file template dengan informasi konten bidang (* adalah bidang wajib) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Pilih format file untuk digunakan sebagai format file impor dengan mengklik ikon %s untuk memilihnya ... ChooseFileToImport=Unggah file kemudian klik ikon %s untuk memilih file sebagai file impor sumber ... SourceFileFormat=Format file sumber diff --git a/htdocs/langs/id_ID/holiday.lang b/htdocs/langs/id_ID/holiday.lang index 2032b5791b0..50cc270eb7a 100644 --- a/htdocs/langs/id_ID/holiday.lang +++ b/htdocs/langs/id_ID/holiday.lang @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Teks gratis di PDF WatermarkOnDraftHolidayCards=Tanda air pada permintaan cuti konsep HolidaysToApprove=Liburan disetujui NobodyHasPermissionToValidateHolidays=Tidak ada yang memiliki izin untuk memvalidasi hari libur +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/id_ID/hrm.lang b/htdocs/langs/id_ID/hrm.lang index 829bb3d48e9..07e3db55ce0 100644 --- a/htdocs/langs/id_ID/hrm.lang +++ b/htdocs/langs/id_ID/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Anda yakin ingin menghapus pendirian ini? OpenEtablishment=Pembentukan terbuka CloseEtablishment=Pembentukan tertutup # Dictionary -DictionaryPublicHolidays=HRM - Hari libur nasional +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Daftar Departement DictionaryFunction=HRM - Posisi pekerjaan # Module diff --git a/htdocs/langs/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index ec85aa3eaf9..dd5406e81e4 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrasi jalur foto untuk pengguna MigrationFieldsSocialNetworks=Migrasi pengguna memasukkan jejaring sosial (%s) MigrationReloadModule=Muat ulang modul %s MigrationResetBlockedLog=Atur ulang modul BlockedLog untuk algoritma v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Tampilkan opsi yang tidak tersedia HideNotAvailableOptions=Sembunyikan opsi yang tidak tersedia ErrorFoundDuringMigration=Kesalahan dilaporkan selama proses migrasi sehingga langkah selanjutnya tidak tersedia. Untuk mengabaikan kesalahan, Anda dapat klik di sini , tetapi aplikasi atau beberapa fitur mungkin tidak berfungsi dengan benar sampai kesalahan diselesaikan. diff --git a/htdocs/langs/id_ID/interventions.lang b/htdocs/langs/id_ID/interventions.lang index a6094a79f2e..b3c3b0b95d1 100644 --- a/htdocs/langs/id_ID/interventions.lang +++ b/htdocs/langs/id_ID/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Intervensi durasi garis InterLineDesc=Intervensi deskripsi garis RepeatableIntervention=Template intervensi ToCreateAPredefinedIntervention=Untuk membuat intervensi yang telah ditetapkan atau berulang, buat intervensi umum dan ubah menjadi template intervensi +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/id_ID/knowledgemanagement.lang b/htdocs/langs/id_ID/knowledgemanagement.lang index d968e8e9fd4..6db753f97f3 100644 --- a/htdocs/langs/id_ID/knowledgemanagement.lang +++ b/htdocs/langs/id_ID/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/id_ID/languages.lang b/htdocs/langs/id_ID/languages.lang index 641ee7a5b60..5469340e238 100644 --- a/htdocs/langs/id_ID/languages.lang +++ b/htdocs/langs/id_ID/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etiopia Language_ar_AR=Arab Language_ar_EG=Arab (Mesir) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arab +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijan Language_bn_BD=Bengal Language_bn_IN=Bengal (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepal Language_nl_BE=Belanda (Belgia) Language_nl_NL=Belanda Language_pl_PL=Polandia +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugis (Brasil) Language_pt_PT=Portugis +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumania Language_ru_RU=Rusia Language_ru_UA=Rusia (Ukraina) diff --git a/htdocs/langs/id_ID/mails.lang b/htdocs/langs/id_ID/mails.lang index 2978429333e..eb256411671 100644 --- a/htdocs/langs/id_ID/mails.lang +++ b/htdocs/langs/id_ID/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Hapus filter AdvTgtSaveFilter=Simpan filter AdvTgtCreateFilter=Buat filter AdvTgtOrCreateNewFilter=Nama filter baru -NoContactWithCategoryFound=Tidak ditemukan kontak/alamat dengan kategori -NoContactLinkedToThirdpartieWithCategoryFound=Tidak ditemukan kontak/alamat dengan kategori +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index 00db3c9d24e..a7e9b44a575 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Tambahan sen VATRate=Persentase pajak +RateOfTaxN=Rate of tax %s VATCode=Kode Tarif Pajak VATNPR=NPR Tarif Pajak DefaultTaxRate=Tarif pajak standar @@ -729,6 +730,7 @@ MenuMembers=Anggota MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Pajak | Pengeluaran khusus ThisLimitIsDefinedInSetup=Batas Dolibarr (Menu home-setup-security): %s Kb, batas PHP: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=Tidak ada dokumen yang diunggah CurrentUserLanguage=Bahasa saat ini CurrentTheme=Tema saat ini @@ -1072,6 +1074,7 @@ ValidFrom=Berlaku dari ValidUntil=Berlaku hingga NoRecordedUsers=Tidak ada pengguna ToClose=Untuk menutup +ToRefuse=To refuse ToProcess=Proses ToApprove=Untuk menyetujui GlobalOpenedElemView=Pandangan global @@ -1126,9 +1129,23 @@ UpdateForAllLines=Perbarui untuk semua lini OnHold=Tertahan Civility=Kesopanan AffectTag=Mempengaruhi Tag +CreateExternalUser=Create external user ConfirmAffectTag=Pengaruh Tag Massal ConfirmAffectTagQuestion=Yakin ingin memengaruhi tag ke %s rekaman yang dipilih()? CategTypeNotFound=Tidak ada jenis tag yang ditemukan untuk jenis rekaman CopiedToClipboard=Disalin ke papan klip InformationOnLinkToContract=Jumlah ini hanyalah total dari semua garis kontrak. Tidak ada gagasan tentang waktu yang dipertimbangkan. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/id_ID/members.lang b/htdocs/langs/id_ID/members.lang index b7c15c1e19d..00c2384fb2c 100644 --- a/htdocs/langs/id_ID/members.lang +++ b/htdocs/langs/id_ID/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Kirim pengingat melalui email kepada anggota MembershipPaid=Keanggotaan dibayar untuk periode saat ini (hingga %s) YouMayFindYourInvoiceInThisEmail=Anda dapat menemukan faktur Anda terlampir pada email ini XMembersClosed=%s anggota ditutup +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/id_ID/modulebuilder.lang b/htdocs/langs/id_ID/modulebuilder.lang index 2f41574e85c..a2446daf705 100644 --- a/htdocs/langs/id_ID/modulebuilder.lang +++ b/htdocs/langs/id_ID/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Pengonversi Ascii ke HTML AsciiToPdfConverter=Pengonversi ascii ke PDF TableNotEmptyDropCanceled=Meja tidak kosong. Drop telah dibatalkan. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/id_ID/mrp.lang b/htdocs/langs/id_ID/mrp.lang index 53bc718c450..6f0d5c87b0a 100644 --- a/htdocs/langs/id_ID/mrp.lang +++ b/htdocs/langs/id_ID/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Tagihan material LatestBOMModified=%s terbaru. Tagihan bahan dimodifikasi LatestMOModified=Pesanan Manufaktur %s terbaru dimodifikasi Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Pengaturan modul BOM ListOfBOMs=Daftar tagihan bahan - BOM ListOfManufacturingOrders=Daftar Pesanan Manufaktur -NewBOM=Bill of material baru -ProductBOMHelp=Produk yang akan dibuat dengan BOM ini.
    Catatan: Produk dengan properti 'Sifat produk' = 'Bahan baku' tidak terlihat dalam daftar ini. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=Templat penomoran BOM BOMsModelModule=Templat dokumen BOM MOsNumberingModules=Templat penomoran MO @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Teks bebas pada dokumen BOM WatermarkOnDraftBOMs=Tanda air pada draft BOM FreeLegalTextOnMOs=Teks gratis pada dokumen MO WatermarkOnDraftMOs=Tanda air pada konsep MO -ConfirmCloneBillOfMaterials=Yakin ingin mengkloning daftar bahan %s? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Yakin ingin mengkloning Pesanan Manufaktur %s? ManufacturingEfficiency=Efisiensi manufaktur ConsumptionEfficiency=Efisiensi konsumsi @@ -30,8 +30,8 @@ ValueOfMeansLoss=Nilai 0,95 berarti rata-rata kerugian 5%% selama produksi ValueOfMeansLossForProductProduced=Nilai 0,95 berarti rata-rata 5%% dari kehilangan produk yang dihasilkan DeleteBillOfMaterials=Hapus Bill Of Material DeleteMo=Hapus Pesanan Pembuatan -ConfirmDeleteBillOfMaterials=Anda yakin ingin menghapus Bill Of Material ini? -ConfirmDeleteMo=Anda yakin ingin menghapus Bill Of Material ini? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Pesanan Manufaktur NewMO=Pesanan Manufaktur Baru QtyToProduce=Jumlah yang akan diproduksi @@ -39,7 +39,7 @@ DateStartPlannedMo=Tanggal mulai direncanakan DateEndPlannedMo=Tanggal akhir direncanakan KeepEmptyForAsap=Kosong berarti 'Secepat Mungkin' EstimatedDuration=Perkiraan durasi -EstimatedDurationDesc=Perkiraan durasi untuk memproduksi produk ini menggunakan BOM ini +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Anda yakin ingin memvalidasi BOM dengan referensi%s (Anda akan dapat menggunakannya untuk membuat Pesanan Manufaktur baru) ConfirmCloseBom=Yakin ingin membatalkan BOM ini (Anda tidak akan dapat menggunakannya lagi untuk membuat Pesanan Manufaktur baru)? ConfirmReopenBom=Yakin ingin membuka kembali BOM ini (Anda akan dapat menggunakannya untuk membuat Pesanan Manufaktur baru) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Konsumsi dan Hasilkan Semua Manufactured=Diproduksi TheProductXIsAlreadyTheProductToProduce=Produk yang ditambahkan sudah merupakan produk yang diproduksi. ForAQuantityOf=Untuk kuantitas untuk menghasilkan %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Apakah Anda yakin ingin memvalidasi Pesanan Manufaktur ini? ConfirmProductionDesc=Dengan mengklik '%s', Anda akan memvalidasi konsumsi dan / atau produksi untuk jumlah yang ditentukan. Ini juga akan memperbarui stok dan mencatat pergerakan stok. ProductionForRef=Produksi %s AutoCloseMO=Tutup secara otomatis Order Manufaktur jika jumlah yang dikonsumsi dan diproduksi tercapai NoStockChangeOnServices=Tidak ada perubahan stok pada layanan ProductQtyToConsumeByMO=Kuantitas produk masih dikonsumsi oleh MO terbuka -ProductQtyToProduceByMO=Jumlah produk masih diproduksi oleh MO terbuka +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Tambahkan baris baru untuk dikonsumsi ProductsToConsume=Produk untuk dikonsumsi ProductsToProduce=Produk yang akan diproduksi @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Hapus NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/id_ID/orders.lang b/htdocs/langs/id_ID/orders.lang index 7a89dad6b4e..0377212d179 100644 --- a/htdocs/langs/id_ID/orders.lang +++ b/htdocs/langs/id_ID/orders.lang @@ -11,6 +11,7 @@ OrderDate=Tanggal Pemesanan OrderDateShort=Tanggal Pemesanan OrderToProcess=Memesan untuk diproses NewOrder=Pesanan baru +NewSupplierOrderShort=New order NewOrderSupplier=Pesanan Pembelian Baru ToOrder=Buat pesanan MakeOrder=Buat pesanan @@ -73,6 +74,7 @@ DeleteOrder=Hapus pesanan CancelOrder=Batalkan pesanan OrderReopened= Pesan %s buka kembali AddOrder=Buat pesanan +AddSupplierOrderShort=Create order AddPurchaseOrder=Buat pesanan pembelian AddToDraftOrders=Tambahkan ke pesanan konsep ShowOrder=Tampilkan pesanan diff --git a/htdocs/langs/id_ID/other.lang b/htdocs/langs/id_ID/other.lang index 7b5bd50c7db..e906a99709e 100644 --- a/htdocs/langs/id_ID/other.lang +++ b/htdocs/langs/id_ID/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Login pengguna yang ditutup FileWasRemoved=File %s dihapus DirWasRemoved=Direktori %s telah dihapus FeatureNotYetAvailable=Fitur belum tersedia di versi saat ini +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Fitur yang didukung Width=Lebar Height=Tinggi @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontak / alamat yang dibuat oleh kolektor email d ProjectCreatedByEmailCollector=Proyek dibuat oleh kolektor email dari email MSGID %s TicketCreatedByEmailCollector=Tiket dibuat oleh kolektor email dari email MSGID %s OpeningHoursFormatDesc=Gunakan a - untuk memisahkan jam buka dan tutup.
    Gunakan spasi untuk memasukkan rentang yang berbeda.
    Contoh: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Area ekspor @@ -290,3 +291,7 @@ PopuCom=Produk / Layanan berdasarkan popularitas dalam Pesanan ProductStatistics=Statistik Produk / Layanan NbOfQtyInOrders=Jumlah pesanan SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/id_ID/partnership.lang b/htdocs/langs/id_ID/partnership.lang index a1e47473966..86dd55c131a 100644 --- a/htdocs/langs/id_ID/partnership.lang +++ b/htdocs/langs/id_ID/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Tanggal mulai DatePartnershipEnd=Tanggal Akhir +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Konsep -PartnershipAccepted = Accepted -PartnershipRefused = Ditolak -PartnershipCanceled = Dibatalkan - +PartnershipDraft=Konsep +PartnershipAccepted=Accepted +PartnershipRefused=Ditolak +PartnershipCanceled=Dibatalkan PartnershipManagedFor=Partners are diff --git a/htdocs/langs/id_ID/productbatch.lang b/htdocs/langs/id_ID/productbatch.lang index 2ee8f9d3c63..2940f77b782 100644 --- a/htdocs/langs/id_ID/productbatch.lang +++ b/htdocs/langs/id_ID/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Gunakan lot / nomor seri ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Tampilkan log pergerakan untuk produk / lot pasangan StockDetailPerBatch=Detail stok per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index 1c2a44525f5..e8d1b8a36e9 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Harga berbeda untuk setiap pelanggan PriceCatalogue=Harga jual tunggal per produk / layanan PricingRule=Aturan untuk harga jual AddCustomerPrice=Tambahkan harga oleh pelanggan -ForceUpdateChildPriceSoc=Tetapkan harga yang sama pada anak perusahaan pelanggan +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log harga pelanggan sebelumnya MinimumPriceLimit=Harga minimum tidak bisa lebih rendah dari %s MinimumRecommendedPrice=Harga minimum yang disarankan adalah: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Tambah / Kurangi stok karena perubahan induk ComposedProduct=Produk anak-anak MinSupplierPrice=Harga beli minimal MinCustomerPrice=Harga jual minimum +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Konfigurasi harga dinamis DynamicPriceDesc=Anda dapat menentukan rumus matematika untuk menghitung harga Pelanggan atau Vendor. Rumus tersebut dapat menggunakan semua operator matematika, beberapa konstanta dan variabel. Anda dapat mendefinisikan di sini variabel yang ingin Anda gunakan. Jika variabel memerlukan pembaruan otomatis, Anda dapat menentukan URL eksternal untuk memungkinkan Dolibarr memperbarui nilai secara otomatis. AddVariable=Tambahkan Variabel @@ -340,7 +341,7 @@ ProductSheet=Lembar produk ServiceSheet=Lembar layanan PossibleValues=Nilai yang mungkin GoOnMenuToCreateVairants=Buka menu %s - %s untuk menyiapkan varian atribut (seperti warna, ukuran, ...) -UseProductFournDesc=Tambahkan fitur untuk mendefinisikan deskripsi produk yang ditentukan oleh vendor di samping deskripsi untuk pelanggan +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Deskripsi vendor untuk produk UseProductSupplierPackaging=Gunakan kemasan pada harga pemasok (jumlah ulang sesuai dengan kemasan yang ditetapkan pada harga pemasok saat menambahkan / memperbarui baris dalam dokumen pemasok) PackagingForThisProduct=Pengemasan @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Tindakan hanya tersedia pada varian produk ProductsPricePerCustomer=Harga produk per pelanggan ProductSupplierExtraFields=Atribut Tambahan (Harga Pemasok) DeleteLinkedProduct=Hapus produk anak yang ditautkan ke kombinasi +PMPValue=Harga rata-rata yang ditimbang +PMPValueShort=WAP diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index 50729228dab..55e1605c1cd 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -140,6 +140,7 @@ NoTasks=Tidak ada tugas untuk proyek ini LinkedToAnotherCompany=Ditautkan ke pihak ketiga lainnya TaskIsNotAssignedToUser=Tugas tidak ditugaskan kepada pengguna. Gunakan tombol ' %s ' untuk menetapkan tugas sekarang. ErrorTimeSpentIsEmpty=Waktu yang dihabiskan kosong +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Tindakan ini juga akan menghapus semua tugas proyek ( %stugas saat ini) dan semua input waktu yang dihabiskan. IfNeedToUseOtherObjectKeepEmpty=Jika beberapa objek (faktur, pesanan, ...), milik pihak ketiga lain, harus ditautkan ke proyek untuk dibuat, biarkan ini kosong agar proyek menjadi multi pihak ketiga. CloneTasks=Tugas klon @@ -241,6 +242,7 @@ LatestModifiedProjects=Proyek modifikasi %s terbaru OtherFilteredTasks=Tugas yang difilter lainnya NoAssignedTasks=Tidak ada tugas yang ditugaskan ditemukan (menetapkan proyek / tugas untuk pengguna saat ini dari kotak pilih atas untuk memasukkan waktu di sana) ThirdPartyRequiredToGenerateInvoice=Pihak ketiga harus ditentukan pada proyek untuk dapat menagihnya. +ThirdPartyRequiredToGenerateInvoice=Pihak ketiga harus ditentukan pada proyek untuk dapat menagihnya. ChooseANotYetAssignedTask=Pilih tugas yang belum ditugaskan untuk Anda # Comments trans AllowCommentOnTask=Izinkan komentar pengguna tentang tugas @@ -252,10 +254,12 @@ SendProjectRef=Proyek informasi %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modul 'Gaji' harus diaktifkan untuk menentukan tarif per jam karyawan agar waktu yang dihabiskan dinilai masa lalu NewTaskRefSuggested=Tugas ref sudah digunakan, tugas ref baru diperlukan TimeSpentInvoiced=Waktu yang dihabiskan ditagih +TimeSpentForIntervention=Waktu yang dihabiskan TimeSpentForInvoice=Waktu yang dihabiskan OneLinePerUser=Satu baris per pengguna ServiceToUseOnLines=Layanan untuk digunakan secara on line InvoiceGeneratedFromTimeSpent=Faktur %s telah dihasilkan dari waktu yang dihabiskan untuk proyek +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Periksa apakah Anda memasukkan kartu absen pada tugas proyek DAN Anda berencana untuk membuat faktur dari kartu absen untuk menagih pelanggan proyek (jangan periksa apakah Anda berencana untuk membuat faktur yang tidak didasarkan pada timeshe yang dimasukkan). Catatan: Untuk membuat faktur, buka tab 'Waktu yang dihabiskan' dari proyek dan pilih baris untuk disertakan. ProjectFollowOpportunity=Ikuti peluang ProjectFollowTasks=Ikuti tugas atau waktu yang dihabiskan @@ -264,12 +268,16 @@ UsageOpportunity=Penggunaan: Peluang UsageTasks=Penggunaan: Tugas UsageBillTimeShort=Penggunaan: Waktu tagihan InvoiceToUse=Draf faktur untuk digunakan +InterToUse=Draft intervention to use NewInvoice=Tagihan baru +NewInter=New intervention OneLinePerTask=Satu baris per tugas OneLinePerPeriod=Satu baris per periode +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Tugas Induk ProfitIsCalculatedWith=Keuntungan dihitung menggunakan AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/id_ID/receptions.lang b/htdocs/langs/id_ID/receptions.lang index f70636019eb..72f1032b89a 100644 --- a/htdocs/langs/id_ID/receptions.lang +++ b/htdocs/langs/id_ID/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Anda harus terlebih dahulu memvalidasi pesanan ReceptionsNumberingModules=Modul penomoran untuk penerimaan ReceptionsReceiptModel=Templat dokumen untuk penerimaan NoMorePredefinedProductToDispatch=Tidak ada lagi produk yang telah ditentukan untuk dikirim - +ReceptionExist=A reception exists diff --git a/htdocs/langs/id_ID/salaries.lang b/htdocs/langs/id_ID/salaries.lang index 6e28aadb81e..cf4350c8e30 100644 --- a/htdocs/langs/id_ID/salaries.lang +++ b/htdocs/langs/id_ID/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Akun akuntansi digunakan untuk pihak ketiga pengguna SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Akun akuntansi khusus yang ditentukan pada kartu pengguna akan digunakan hanya untuk akuntansi Subledger. Yang ini akan digunakan untuk Buku Besar Umum dan sebagai nilai default dari akuntansi Subledger jika akun akuntansi pengguna khusus pada pengguna tidak didefinisikan. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Akun akuntansi secara default untuk pembayaran upah +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Gaji Salaries=Gaji -NewSalaryPayment=Pembayaran Gaji Baru +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Tambahkan pembayaran gaji SalaryPayment=Pembayaran Gaji SalariesPayments=Pembayaran Gaji +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Menampilkan Pembayaran Gaji THM=Tarif rata-rata per jam TJM=Tarif harian rata-rata CurrentSalary=Gaji saat ini THMDescription=Nilai ini dapat digunakan untuk menghitung biaya waktu yang dihabiskan pada proyek yang dimasukkan oleh pengguna jika proyek modul digunakan TJMDescription=Nilai ini saat ini hanya untuk informasi dan tidak digunakan untuk perhitungan apa pun -LastSalaries=Pembayaran gaji %s terbaru -AllSalaries=Semua pembayaran gaji +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Statistik gaji -# Export SalariesAndPayments=Gaji dan pembayaran +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/id_ID/stocks.lang b/htdocs/langs/id_ID/stocks.lang index 3eac8b2c158..dbb325543a4 100644 --- a/htdocs/langs/id_ID/stocks.lang +++ b/htdocs/langs/id_ID/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Harga pembelian unit StockTooLow=Stok terlalu rendah StockLowerThanLimit=Stok lebih rendah dari batas waspada (%s) EnhancedValue=Nilai -PMPValue=Harga rata-rata tertimbang -PMPValueShort=WAP EnhancedValueOfWarehouses=Nilai gudang UserWarehouseAutoCreate=Buat gudang pengguna secara otomatis saat membuat pengguna AllowAddLimitStockByWarehouse=Kelola juga nilai untuk stok minimum dan yang diinginkan per pasangan (gudang produk) selain nilai untuk stok minimum dan yang diinginkan per produk RuleForWarehouse=Aturan untuk gudang -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Atur gudang berdasarkan pesanan Penjualan UserDefaultWarehouse=Tetapkan gudang pada Pengguna @@ -169,8 +167,8 @@ MovementTransferStock=Transfer stok produk %s ke gudang lain InventoryCodeShort=Inv./Mov. kode NoPendingReceptionOnSupplierOrder=Tidak ada penerimaan yang tertunda karena pesanan pembelian terbuka ThisSerialAlreadyExistWithDifferentDate=Nomor lot/nomor seri ini (%s) sudah ada tetapi dengan tanggal pembelian dan penjualan yang berbeda (ditemukan %s tetapi Anda mencantumkan %s). -OpenAll=Terbuka untuk semua tindakan -OpenInternal=Terbuka hanya untuk tindakan internal +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Gunakan status pengiriman (menyetujui/menolak) untuk lini produk pada penerimaan pesanan pembelian OptionMULTIPRICESIsOn=Opsi "beberapa harga per segmen" aktif. Ini berarti suatu produk memiliki beberapa harga jual sehingga nilai jual tidak dapat dihitung ProductStockWarehouseCreated=Batas stok untuk peringatan dan stok optimal yang diinginkan dibuat dengan benar @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/id_ID/ticket.lang b/htdocs/langs/id_ID/ticket.lang index a27bcf47bcd..360f7dfd67e 100644 --- a/htdocs/langs/id_ID/ticket.lang +++ b/htdocs/langs/id_ID/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Tiket - Resolusi TicketTypeShortCOM=Pertanyaan komersial TicketTypeShortHELP=Permintaan bantuan fungsional -TicketTypeShortISSUE=Masalah, bug, atau masalah +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Ubah atau tingkatkan permintaan TicketTypeShortPROJET=Proyek TicketTypeShortOTHER=Lainnya @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Pengguna yang ditugaskan TypeContact_ticket_external_SUPPORTCLI=Kontak pelanggan/pelacakan kejadian TypeContact_ticket_external_CONTRIBUTOR=Kontributor eksternal -OriginEmail=Sumber email +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Kirim pesan tiket melalui email # Status Read=Baca Assigned=Ditugaskan InProgress=Sedang berlangsung -NeedMoreInformation=Menunggu informasi +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Dijawab Waiting=Menunggu -Closed=Ditutup +SolvedClosed=Solved Deleted=Dihapus # Dict @@ -160,7 +162,7 @@ CreatedBy=Dibuat oleh NewTicket=Tiket Baru SubjectAnswerToTicket=Jawaban tiket TicketTypeRequest=Jenis permintaan -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=Lihat tiket TicketMarkedAsRead=Tiket telah ditandai sebagai sudah dibaca TicketReadOn=Baca terus @@ -184,9 +186,11 @@ TicketSeverity=Kerasnya ShowTicket=Lihat tiket RelatedTickets=Tiket terkait TicketAddIntervention=Buat intervensi -CloseTicket=Tutup tiket -CloseATicket=Tutup tiket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Konfirmasikan penutupan tiket +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Harap konfirmasi penghapusan tiket TicketDeletedSuccess=Tiket dihapus dengan sukses TicketMarkedAsClosed=Tiket ditandai sebagai ditutup @@ -211,6 +215,7 @@ TicketMessageHelp=Hanya teks ini yang akan disimpan dalam daftar pesan di kartu TicketMessageSubstitutionReplacedByGenericValues=Variabel substitusi digantikan oleh nilai generik. TimeElapsedSince=Waktu berlalu sejak itu TicketTimeToRead=Waktu berlalu sebelum membaca +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Tiket kontak TicketDocumentsLinked=Dokumen terkait dengan tiket ConfirmReOpenTicket=Konfirmasikan kembali tiket ini? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Tiket modifikasi terbaru BoxLastModifiedTicketDescription=Tiket termodifikasi %s terbaru BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Tidak ada tiket yang dimodifikasi baru-baru ini -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/id_ID/trips.lang b/htdocs/langs/id_ID/trips.lang index 3652f6981e9..71ccf97621b 100644 --- a/htdocs/langs/id_ID/trips.lang +++ b/htdocs/langs/id_ID/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Laporan pengeluaran %s dibatalkan.
    - Pengguna: ExpenseReportPaid=Laporan pengeluaran telah dibayarkan ExpenseReportPaidMessage=Laporan pengeluaran %s telah dibayarkan.
    - Pengguna: %s
    - Dibayar oleh: %s
    Klik di sini untuk menampilkan laporan pengeluaran: %s TripId=Laporan pengeluaran id -AnyOtherInThisListCanValidate=Orang yang diinformasikan untuk validasi. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Perusahaan informasi TripNDF=Laporan pengeluaran informasi PDFStandardExpenseReports=Template standar untuk menghasilkan dokumen PDF untuk laporan pengeluaran @@ -90,7 +90,6 @@ DATE_REFUS=Tolak tanggal DATE_SAVE=Tanggal validasi DATE_CANCEL=Tanggal pembatalan DATE_PAIEMENT=Tanggal pembayaran -BROUILLONNER=Buka kembali ExpenseReportRef=Ref. laporan pengeluaran ValidateAndSubmit=Validasi dan kirim untuk persetujuan ValidatedWaitingApproval=Divalidasi (menunggu persetujuan) @@ -110,7 +109,7 @@ ExpenseReportPayment=Pembayaran laporan biaya ExpenseReportsToApprove=Laporan biaya untuk menyetujui ExpenseReportsToPay=Laporan biaya yang harus dibayar ConfirmCloneExpenseReport=Anda yakin ingin mengkloning laporan pengeluaran ini? -ExpenseReportsIk=Indeks biaya laporan pabrik +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Aturan laporan biaya ExpenseReportIkDesc=Anda dapat mengubah penghitungan biaya per kilometer berdasarkan kategori dan rentang yang sebelumnya ditentukan. d adalah jarak dalam kilometer ExpenseReportRulesDesc=Anda dapat membuat atau memperbarui aturan perhitungan apa pun. Bagian ini akan digunakan ketika pengguna akan membuat laporan pengeluaran baru @@ -145,7 +144,7 @@ nolimitbyEX_DAY=oleh hari (tidak ada batasan) nolimitbyEX_MON=berdasarkan bulan (tidak ada batasan) nolimitbyEX_YEA=berdasarkan tahun (tidak ada batasan) nolimitbyEX_EXP=per baris (tidak ada batasan) -CarCategory=Kategori mobil +CarCategory=Vehicle category ExpenseRangeOffset=Jumlah offset: %s RangeIk=Jarak tempuh AttachTheNewLineToTheDocument=Lampirkan baris ke dokumen yang diunggah diff --git a/htdocs/langs/id_ID/users.lang b/htdocs/langs/id_ID/users.lang index fe2487f1754..d6badd4a416 100644 --- a/htdocs/langs/id_ID/users.lang +++ b/htdocs/langs/id_ID/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login untuk membuat NameToCreate=Nama pihak ketiga yang akan dibuat YourRole=Peran Anda YourQuotaOfUsersIsReached=Kuota pengguna aktif Anda tercapai! -NbOfUsers=Jumlah pengguna -NbOfPermissions=Jumlah izin +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Hanya superadmin yang dapat menurunkan versi superadmin HierarchicalResponsible=Pengawas HierarchicView=Pandangan hierarkis diff --git a/htdocs/langs/id_ID/website.lang b/htdocs/langs/id_ID/website.lang index dc29ed1ccc1..f2bd4154b4e 100644 --- a/htdocs/langs/id_ID/website.lang +++ b/htdocs/langs/id_ID/website.lang @@ -31,7 +31,7 @@ AddWebsite=Tambahkan situs web Webpage=Halaman web / wadah AddPage=Tambahkan halaman / wadah PageContainer=Page -PreviewOfSiteNotYetAvailable=Pratinjau situs web Anda%s belum tersedia. Anda harus terlebih dahulu ' Impor template situs web lengkap ' atau hanya ' Tambahkan halaman / wadah '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Halaman yang diminta dengan id %s belum memiliki konten, atau file cache .tpl.php telah dihapus. Edit konten halaman untuk menyelesaikan ini. SiteDeleted=Situs web '%s' dihapus PageContent=Halaman / Contenair diff --git a/htdocs/langs/id_ID/withdrawals.lang b/htdocs/langs/id_ID/withdrawals.lang index 9b5daafd94b..a02abb1528c 100644 --- a/htdocs/langs/id_ID/withdrawals.lang +++ b/htdocs/langs/id_ID/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s permintaan pembayaran debit langsung dicatat BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Kode bank pihak ketiga NoInvoiceCouldBeWithdrawed=Tidak ada faktur yang berhasil didebit. Periksa apakah faktur ada pada perusahaan dengan IBAN yang valid dan bahwa IBAN memiliki UMR (Referensi Mandat Unik) dengan mode%s . +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Klasifikasi dikreditkan ClassCreditedConfirm=Apakah Anda yakin ingin mengklasifikasikan tanda terima penarikan ini sebagai yang dikreditkan ke rekening bank Anda? TransData=Tanggal transmisi @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Tanggal eksekusi CreateForSepa=Buat berkas debet langsung -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END=Tag XML SEPA "EndToEndId" - Id unik yang ditetapkan untuk setiap transaksi USTRD=Tag XML SEPA "Tidak Terstruktur" ADDDAYS=Tambahkan hari ke Tanggal Eksekusi diff --git a/htdocs/langs/id_ID/workflow.lang b/htdocs/langs/id_ID/workflow.lang index c1d6e986377..6a461b26213 100644 --- a/htdocs/langs/id_ID/workflow.lang +++ b/htdocs/langs/id_ID/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Klasifikasi sumber proposal tautan s descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klasifikasi sumber pesanan penjualan tautan sebagai tertagih saat faktur pelanggan divalidasi (dan jika jumlah faktur sama dengan jumlah total pesanan tautan) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klasifikasi sumber pesanan penjualan tautan sebagai tertagih saat faktur pelanggan ditetapkan untuk dibayar (dan jika jumlah faktur sama dengan jumlah total pesanan tautan) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Klasifikasi sumber pesanan penjualan sumber tautan sebagai terkirim saat pengiriman divalidasi (dan jika jumlah yang dikirim oleh semua pengiriman sama dengan yang ada dalam pemesanan yan diperbaharui) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Klasifikasi sumber proposal vendor tautan sebagai tertagih ketika faktur vendor divalidasi (dan jika jumlah faktur sama dengan jumlah total proposal tautan) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Klasifikasi sumber pesanan pembelian tautan sebagai tertagih saat faktur vendor divalidasi (dan jika jumlah faktur sama dengan jumlah total pesanan tautan) diff --git a/htdocs/langs/is_IS/accountancy.lang b/htdocs/langs/is_IS/accountancy.lang index 2dbde8a4dba..7010c1a66e1 100644 --- a/htdocs/langs/is_IS/accountancy.lang +++ b/htdocs/langs/is_IS/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index 57384ba959c..e0c2d00198e 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -53,6 +53,7 @@ InternalUser=Innri notandi ExternalUser=Ytri notandi InternalUsers=Innri notendur ExternalUsers=Ytri notendur +UserInterface=User interface GUISetup=Skoða SetupArea=Skipulag UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Ekki í boði þegar Ajax fatlaðra AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript fatlaðra UsePreviewTabs=Nota forsýning tabs ShowPreview=Sýna forskoðun @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Marka og nákvæmni MenuIdParent=Parent Valmynd ID DetailMenuIdParent=Auðkenni Valmynd foreldri (0 til aðalvalmynd) +ParentID=Parent ID DetailPosition=Raða númer til að tilgreina Valmynd stöðu AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Aðeins atriði frá virkt einingar eru birtar. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, opinber markaður staður fyrir Dolibarr ERP / CRM ytri mát @@ -399,6 +403,7 @@ SecurityToken=Lykill að tryggja vefslóðir NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=Skoða sem PDF skjal PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Strikamerki er stjórnun +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Búa til / breyta afsláttur Permission403=Staðfesta afsláttur Permission404=Eyða afsláttur Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Lesa viðskipti Permission50202=Flytja viðskipti Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Skipulag vistuð SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Úttekt +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL virka ekki í boði í PHP þinn DownloadMoreSkins=Fleiri skinn til að sækja SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Algjör þýðing MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Helstu möguleikar AdherentLoginRequired= Stjórna Innskráning fyrir hvern meðlim AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox að senda póst staðfestingu á meðlimum (löggilding eða nýja áskrift) er sjálfgefið +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Smelltu til að hringja mát skipulag ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Mælt +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/is_IS/agenda.lang b/htdocs/langs/is_IS/agenda.lang index 88b56616ee0..f3534578dfb 100644 --- a/htdocs/langs/is_IS/agenda.lang +++ b/htdocs/langs/is_IS/agenda.lang @@ -4,7 +4,7 @@ Actions=Actions Agenda=Dagskrá TMenuAgenda=Dagskrá Agendas=Dagskrá -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Eigandi AffectedTo=Áhrifum á @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=Listi yfir atburði EventReports=Event reports Location=Staðsetning -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Atburður á fullu dag MenuToDoActions=Allar ófullnægjandi aðgerðir MenuDoneActions=Allir ljúka aðgerðum MenuToDoMyActions=ófullnægjandi aðgerðir mínar MenuDoneMyActions=Hætta aðgerðum minn -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Actions skráð ActionsToDoBy=Actions áhrif til ActionsDoneBy=Actions gert með því að @@ -38,6 +38,7 @@ ActionsEvents=Viðburðir sem Dolibarr vilja búa til aðgerða á dagskrá sjá EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Upphafsdagur @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/is_IS/banks.lang b/htdocs/langs/is_IS/banks.lang index 90e03269443..c522a6e7362 100644 --- a/htdocs/langs/is_IS/banks.lang +++ b/htdocs/langs/is_IS/banks.lang @@ -115,7 +115,7 @@ TransferTo=Til að TransferFromToDone=A flytja úr %s í %s af %s % s hefur verið skráð. CheckTransmitter=Sendandi ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank eftirlit diff --git a/htdocs/langs/is_IS/bills.lang b/htdocs/langs/is_IS/bills.lang index 4006e0841ab..a5cf1f6131e 100644 --- a/htdocs/langs/is_IS/bills.lang +++ b/htdocs/langs/is_IS/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Dagsetningu reiknings DatePointOfTax=Point of tax NoInvoice=Nei Reikningar +NoOpenInvoice=No open invoice ClassifyBill=Flokka Reikningar SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/is_IS/boxes.lang b/htdocs/langs/is_IS/boxes.lang index 6b4abf9314a..c1f5071d2a4 100644 --- a/htdocs/langs/is_IS/boxes.lang +++ b/htdocs/langs/is_IS/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=reikninga viðskiptavinar ForCustomersOrders=Customers orders ForProposals=Tillögur diff --git a/htdocs/langs/is_IS/cashdesk.lang b/htdocs/langs/is_IS/cashdesk.lang index 08c287a11a2..8d3de774b90 100644 --- a/htdocs/langs/is_IS/cashdesk.lang +++ b/htdocs/langs/is_IS/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/is_IS/compta.lang b/htdocs/langs/is_IS/compta.lang index 8acf657f7c8..72c6c89851e 100644 --- a/htdocs/langs/is_IS/compta.lang +++ b/htdocs/langs/is_IS/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/is_IS/cron.lang b/htdocs/langs/is_IS/cron.lang index 52aaabab757..0a8cdd71b64 100644 --- a/htdocs/langs/is_IS/cron.lang +++ b/htdocs/langs/is_IS/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Slökkva -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/is_IS/deliveries.lang b/htdocs/langs/is_IS/deliveries.lang index 74a29497802..3d037b8919e 100644 --- a/htdocs/langs/is_IS/deliveries.lang +++ b/htdocs/langs/is_IS/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Viðtakandi ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index f9e154dea41..4531c52aecf 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Innskráning %s er þegar til. ErrorGroupAlreadyExists=Group %s er þegar til. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Upptaka fannst ekki. ErrorFailToCopyFile=Mistókst að afrita skrá '%s' í 'á %s ". ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Gat ekki lesið skrána ' %s ' ErrorCantReadDir=Ekki tókst að lesa skrá ' %s ' ErrorBadLoginPassword=Bad gildi fyrir tenging eða lykilorð ErrorLoginDisabled=Reikningur þinn hefur verið gerður óvirkur -ErrorFailedToRunExternalCommand=Tókst ekki að keyra ytri stjórn. Athugaðu það er í boði og runnable með PHP netþjóninn. Ef PHP Safe Mode er virkt, athuga hvort stjórn er inni í möppu skilgreind viðföng safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Ekki tókst að breyta lykilorðinu ErrorLoginDoesNotExists=Notandi með notandanafn %s fannst ekki. ErrorLoginHasNoEmail=Þessi notandi hefur ekki netfang. Aðferð aflýst. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/is_IS/eventorganization.lang b/htdocs/langs/is_IS/eventorganization.lang index 82e905537d8..ca022318f4e 100644 --- a/htdocs/langs/is_IS/eventorganization.lang +++ b/htdocs/langs/is_IS/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/is_IS/exports.lang b/htdocs/langs/is_IS/exports.lang index a9f6a31bddf..05defcccffc 100644 --- a/htdocs/langs/is_IS/exports.lang +++ b/htdocs/langs/is_IS/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tegund línu (0 = vara, 1 = þjónustu) FileWithDataToImport=Skrá með upplýsingum til að flytja inn FileToImport=Frumskrár að flytja inn FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Heimild skráarsnið diff --git a/htdocs/langs/is_IS/holiday.lang b/htdocs/langs/is_IS/holiday.lang index e0739aa9d64..4e4ce24a016 100644 --- a/htdocs/langs/is_IS/holiday.lang +++ b/htdocs/langs/is_IS/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Samþykkt CancelCP=Hætt við RefuseCP=Neitaði -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Breyta @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Notandi ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/is_IS/hrm.lang b/htdocs/langs/is_IS/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/is_IS/hrm.lang +++ b/htdocs/langs/is_IS/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index 3913cf7e458..01616ccad0f 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/is_IS/interventions.lang b/htdocs/langs/is_IS/interventions.lang index 97a9f4d2785..82096e4dda0 100644 --- a/htdocs/langs/is_IS/interventions.lang +++ b/htdocs/langs/is_IS/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/is_IS/knowledgemanagement.lang b/htdocs/langs/is_IS/knowledgemanagement.lang index 17ec9854a75..ce76a3ec035 100644 --- a/htdocs/langs/is_IS/knowledgemanagement.lang +++ b/htdocs/langs/is_IS/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Um KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Gr KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/is_IS/languages.lang b/htdocs/langs/is_IS/languages.lang index ad4840a820e..578b0f1823a 100644 --- a/htdocs/langs/is_IS/languages.lang +++ b/htdocs/langs/is_IS/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabíska +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Hollenska (Belgíu) Language_nl_NL=Dutch Language_pl_PL=Pólska +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portúgalska (Brasilía) Language_pt_PT=Portúgalska +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rúmenska Language_ru_RU=Rússneska Language_ru_UA=Rússneska (Úkraína) diff --git a/htdocs/langs/is_IS/mails.lang b/htdocs/langs/is_IS/mails.lang index 2bf24e4def1..d1507e5c4b5 100644 --- a/htdocs/langs/is_IS/mails.lang +++ b/htdocs/langs/is_IS/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index d9c69fa687c..01a6417f70d 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=VSK-hlutfall +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google dagskrá MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr takmörk (Valmynd heim-skipulag-öryggi): %s KB, PHP takmörk: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Valið tungumál CurrentTheme=Núverandi þema @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Til að ganga frá ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/is_IS/members.lang b/htdocs/langs/is_IS/members.lang index 0ebb6eab3a1..b17ec0b8686 100644 --- a/htdocs/langs/is_IS/members.lang +++ b/htdocs/langs/is_IS/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/is_IS/modulebuilder.lang b/htdocs/langs/is_IS/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/is_IS/modulebuilder.lang +++ b/htdocs/langs/is_IS/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/is_IS/mrp.lang b/htdocs/langs/is_IS/mrp.lang index ec999a473a4..ca52ce21b60 100644 --- a/htdocs/langs/is_IS/mrp.lang +++ b/htdocs/langs/is_IS/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Eyða NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/is_IS/orders.lang b/htdocs/langs/is_IS/orders.lang index 76fbd1f19ee..42767f743eb 100644 --- a/htdocs/langs/is_IS/orders.lang +++ b/htdocs/langs/is_IS/orders.lang @@ -11,6 +11,7 @@ OrderDate=Panta dagsetningu OrderDateShort=Panta dagsetningu OrderToProcess=Til að framkvæma NewOrder=New Order +NewSupplierOrderShort=New Order NewOrderSupplier=New Purchase Order ToOrder=Gera röð MakeOrder=Gera röð @@ -73,6 +74,7 @@ DeleteOrder=Eyða röð CancelOrder=Hætta við röð OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Sýna röð diff --git a/htdocs/langs/is_IS/other.lang b/htdocs/langs/is_IS/other.lang index 6c9955da615..6e65f623d5e 100644 --- a/htdocs/langs/is_IS/other.lang +++ b/htdocs/langs/is_IS/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s var eytt DirWasRemoved=Listinn %s hefur verið fjarlægt FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Breidd Height=Hæð @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Útflutningur area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Loka diff --git a/htdocs/langs/is_IS/partnership.lang b/htdocs/langs/is_IS/partnership.lang index 7601c9eef1b..74dce3222e7 100644 --- a/htdocs/langs/is_IS/partnership.lang +++ b/htdocs/langs/is_IS/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Upphafsdagur DatePartnershipEnd=Lokadagur +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Drög -PartnershipAccepted = Accepted -PartnershipRefused = Neitaði -PartnershipCanceled = Hætt við - +PartnershipDraft=Drög +PartnershipAccepted=Accepted +PartnershipRefused=Neitaði +PartnershipCanceled=Hætt við PartnershipManagedFor=Partners are diff --git a/htdocs/langs/is_IS/productbatch.lang b/htdocs/langs/is_IS/productbatch.lang index 76027ce838f..0feef294394 100644 --- a/htdocs/langs/is_IS/productbatch.lang +++ b/htdocs/langs/is_IS/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index b827b88b299..57bbdafd703 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Lágmark Kaupverð MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Vegið meðalverð +PMPValueShort=WAP diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 11e10b08977..b3b041f7bbf 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -140,6 +140,7 @@ NoTasks=Engin verkefni fyrir þetta verkefni LinkedToAnotherCompany=Tengjast öðrum þriðja aðila TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Tími er tómur +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Þessi aðgerð mun einnig eyða öllum verkefnum verkefnisins (%s verkefni í augnablikinu) og allt inntak tíma varið. IfNeedToUseOtherObjectKeepEmpty=Ef sumir hlutir (nótum röð ...), sem tilheyra öðrum þriðja aðila, verður að vera í tengslum við verkefnið til að búa til, halda þessu tóm til að hafa verkefni verði fjölnota þriðja aðila. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Tími TimeSpentForInvoice=Tími OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Nýr reikningur +NewInter=Nýrri aðferð OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/is_IS/receptions.lang b/htdocs/langs/is_IS/receptions.lang index f2bf1524084..decd06ab939 100644 --- a/htdocs/langs/is_IS/receptions.lang +++ b/htdocs/langs/is_IS/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/is_IS/salaries.lang b/htdocs/langs/is_IS/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/is_IS/salaries.lang +++ b/htdocs/langs/is_IS/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/is_IS/stocks.lang b/htdocs/langs/is_IS/stocks.lang index 101a5559a60..3c291c3a17a 100644 --- a/htdocs/langs/is_IS/stocks.lang +++ b/htdocs/langs/is_IS/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock of lágt StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Gildi -PMPValue=Vegið meðalverð -PMPValueShort=WAP EnhancedValueOfWarehouses=Vöruhús gildi UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/is_IS/ticket.lang b/htdocs/langs/is_IS/ticket.lang index 05766c00998..795eee6a58d 100644 --- a/htdocs/langs/is_IS/ticket.lang +++ b/htdocs/langs/is_IS/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Önnur @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Lesa Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Bíð -Closed=Loka +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/is_IS/trips.lang b/htdocs/langs/is_IS/trips.lang index 3e62a10082a..a0ece03dcf6 100644 --- a/htdocs/langs/is_IS/trips.lang +++ b/htdocs/langs/is_IS/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Löggilding dagur DATE_CANCEL=Cancelation date DATE_PAIEMENT=Gjalddagi -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/is_IS/users.lang b/htdocs/langs/is_IS/users.lang index ae276fcf4a9..dba252ee3ed 100644 --- a/htdocs/langs/is_IS/users.lang +++ b/htdocs/langs/is_IS/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Innskráning til að búa til NameToCreate=Nafn þriðja aðila til að stofna YourRole=hlutverk þín YourQuotaOfUsersIsReached=kvóta þinn af virkum notendum er náð! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Aðeins superadmin getur lækkunar a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/is_IS/website.lang b/htdocs/langs/is_IS/website.lang index a1dbad88c58..5d8ab14e630 100644 --- a/htdocs/langs/is_IS/website.lang +++ b/htdocs/langs/is_IS/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/is_IS/withdrawals.lang b/htdocs/langs/is_IS/withdrawals.lang index 2390a284ffe..764c69d4d03 100644 --- a/htdocs/langs/is_IS/withdrawals.lang +++ b/htdocs/langs/is_IS/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Flokka fært ClassCreditedConfirm=Ertu viss um að þú viljir að flokka þessa afturköllun berst sem lögð á bankareikning þinn? TransData=Date Sending @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/is_IS/workflow.lang b/htdocs/langs/is_IS/workflow.lang index 50064fb4035..6d4e1ed83ce 100644 --- a/htdocs/langs/is_IS/workflow.lang +++ b/htdocs/langs/is_IS/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/it_CH/accountancy.lang b/htdocs/langs/it_CH/accountancy.lang deleted file mode 100644 index 4dbdd035d6e..00000000000 --- a/htdocs/langs/it_CH/accountancy.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - accountancy -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) diff --git a/htdocs/langs/it_CH/admin.lang b/htdocs/langs/it_CH/admin.lang index c1d306ec390..45f91beee38 100644 --- a/htdocs/langs/it_CH/admin.lang +++ b/htdocs/langs/it_CH/admin.lang @@ -1,3 +1,2 @@ # Dolibarr language file - Source file is en_US - admin OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. diff --git a/htdocs/langs/it_CH/cron.lang b/htdocs/langs/it_CH/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/it_CH/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/it_CH/mrp.lang b/htdocs/langs/it_CH/mrp.lang deleted file mode 100644 index f03d631dfd4..00000000000 --- a/htdocs/langs/it_CH/mrp.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? diff --git a/htdocs/langs/it_IT/accountancy.lang b/htdocs/langs/it_IT/accountancy.lang index c7140344a32..b967a7ad02c 100644 --- a/htdocs/langs/it_IT/accountancy.lang +++ b/htdocs/langs/it_IT/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Paesi al di fuori della CEE CountriesInEECExceptMe=Paesi nella CEE eccetto %s CountriesExceptMe=Tutti i paesi eccetto %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Lunghezza della contabilità di terze parti (se impos ACCOUNTING_MANAGE_ZERO=Consentire di gestire un diverso numero di zeri alla fine di un conto contabile. Necessario in alcuni paesi (come la Svizzera). Se impostato su off (predefinito), è possibile impostare i seguenti due parametri per chiedere all'applicazione di aggiungere zeri virtuali. BANK_DISABLE_DIRECT_INPUT=Disabilita la registrazione diretta della transazione nel conto bancario ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Abilita la bozza di esportazione sul giornale -ACCOUNTANCY_COMBO_FOR_AUX=Abilita l'elenco combinato per il conto secondario (potrebbe essere lento se hai un sacco di terze parti) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consulta qui l'elenco dei clienti e fornitori di terze part ListAccounts=Lista delle voci del piano dei conti UnknownAccountForThirdparty=Conto di terze parti sconosciuto. Useremo %s UnknownAccountForThirdpartyBlocking=Conto di terze parti sconosciuto. Errore di blocco -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Conto di terzi non definito o sconosciuto. Useremo %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Terze parti sconosciuta e sottoconti non definiti nel pagamento. Manterremo vuoto il valore sottoconto dell'account. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Saldo di apertura @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Modello di esportazione Selectmodelcsv=Seleziona un modello di esportazione @@ -335,7 +339,7 @@ Modelcsv_normal=Esportazione classica Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index 6ca4c40f1ca..aad4de025de 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utente interno ExternalUser=Utente esterno InternalUsers=Utenti interni ExternalUsers=Utenti esterni +UserInterface=User interface GUISetup=Aspetto grafico e lingua SetupArea=Impostazioni UploadNewTemplate=Carica nuovi modelli @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Non disponibile quando Ajax è disabilitato AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disattivato UsePreviewTabs=Utilizza i tabs per l'anteprima ShowPreview=Vedi anteprima @@ -116,6 +118,7 @@ MultiCurrencySetup=Impostazioni multi-valuta MenuLimits=Limiti e precisione MenuIdParent=Capogruppo dal menu ID DetailMenuIdParent=ID del menu principale (0 per un menu in alto) +ParentID=Parent ID DetailPosition=Ordina per definire il numero di posizione del menu AllMenus=Tutti NotConfigured= Modulo/Applicazione non configurato @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature disponibile solo nelle versioni stabili uff BoxesDesc=I Widgets sono componenti che personalizzano le pagine aggiungendo delle informazioni.\nPuoi scegliere se mostrare il widget o meno cliccando 'Attiva' sulla la pagina di destinazione, o cliccando sul cestino per disattivarlo. OnlyActiveElementsAreShown=Vengono mostrati solo gli elementi relativi ai moduli attivi . ModulesDesc=I moduli / applicazioni determinano quali funzionalità sono disponibili nel software. Alcuni moduli richiedono autorizzazioni da concedere agli utenti dopo l'attivazione del modulo stesso. Fare clic sul pulsante on / off %s (alla fine della riga del modulo) per abilitare / disabilitare un modulo / un'applicazione. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Potete trovare altri moduli da scaricare su siti web esterni... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Trova app/moduli esterni... @@ -221,8 +225,8 @@ NotCompatible=Questo modulo non sembra essere compatibile con la tua versione di CompatibleAfterUpdate=Questo modulo richiede un aggiornamento a Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=Vedi la configurazione del modulo %s +SetOptionTo=Set option %s to %s Updated=Aggiornato -Nouveauté=Novità AchatTelechargement=Aquista / Scarica GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, il mercato ufficiale dei moduli esterni per Dolibarr ERP/CRM @@ -298,7 +302,7 @@ MAIN_MAIL_SMTPS_ID=Username SMTP (se il server richiede l'autenticazione) MAIN_MAIL_SMTPS_PW=Password SMTP (se il server richiede l'autenticazione) MAIN_MAIL_EMAIL_TLS=Usa la cifratura TLS (SSL) MAIN_MAIL_EMAIL_STARTTLS=Use TLS (STARTTLS) encryption -MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés +MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Autorizza i certificati auto-firmati MAIN_MAIL_EMAIL_DKIM_ENABLED=Use DKIM to generate email signature MAIN_MAIL_EMAIL_DKIM_DOMAIN=Email Domain for use with dkim MAIN_MAIL_EMAIL_DKIM_SELECTOR=Name of dkim selector @@ -399,6 +403,7 @@ SecurityToken=Token di sicurezza NoSmsEngine=Nessun gestore mittente SMS disponibile. Un gestore mittente SMS non è installato con la distribuzione predefinita perché dipendono da un fornitore esterno, ma puoi trovarne alcuni su %s PDF=PDF PDFDesc=Opzioni globali per la generazione di PDF +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Regole per la sezione degli indirizzi HideAnyVATInformationOnPDF=Nascondi tutte le informazioni relative all'IVA sui pdf generati. PDFRulesForSalesTax=Regole per tasse sulla vendita/IVA @@ -561,7 +566,7 @@ Module53Desc=Gestione servizi Module54Name=Contratti/Abbonamenti Module54Desc=Gestione contratti (servizi o abbonamenti) Module55Name=Codici a barre -Module55Desc=Gestione codici a barre +Module55Desc=Barcode or QR code management Module56Name=Pagamento con bonifico bancario Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Creare/modificare sconti Permission403=Convalidare sconti Permission404=Eliminare sconti Permission430=Usa la barra di debug -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Esporta stipendi Permission520=Read Loans Permission522=Crea/modifica prestiti @@ -965,6 +970,8 @@ Permission23003=Elimina lavoro pianificato Permission23004=Esegui lavoro pianificato Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Vedere transazioni Permission50202=Importare transazioni Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Unità di misura DictionarySocialNetworks=Social networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Tipi di ferie/permessi +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Stato opportunità per progetto/clienti potenziali DictionaryExpenseTaxCat=Note spesa - Categorie di trasporto DictionaryExpenseTaxRange=Note spesa: intervallo per categoria di trasporto DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Impostazioni salvate SetupNotSaved=Impostazioni non salvate @@ -1185,9 +1193,12 @@ SetupDescription2=Le 2 seguenti sezioni sono obbligatorie (le prime 2 sezioni ne SetupDescription3=  %s -> %s

    Parametri di base utilizzati per personalizzare il comportamento predefinito dell'applicazione (ad es. per le funzionalità relative al paese). SetupDescription4=  %s -> %s

    Questo software è una suite di molti moduli / applicazioni. I moduli relativi alle tue esigenze devono essere abilitati e configurati. Le voci di menu verranno visualizzate con l'attivazione di questi moduli. SetupDescription5=Altre voci di menu consentono la gestione di parametri opzionali. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=Informazioni su Dolibarr InfoBrowser=Informazioni browser InfoOS=Informazioni OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Il PHP del server non supporta SSL DownloadMoreSkins=Scarica altre skin SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Nei documenti mostra identità professionale completa di: -ShowVATIntaInAddress=Nascondi il numero di partita IVA intracomunitaria negli indirizzi +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Traduzione incompleta MAIN_DISABLE_METEO=Disabilita visualizzazione meteo MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=La condizione corrente è %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Ottimizzazione della ricerca -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Opzioni principali AdherentLoginRequired= Gestire un account di accesso per ogni membro AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox per inviare una mail di conferma per i membri (è attiva per impostazione predefinita) +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Il visitatore può scegliere tra le modalità di pagamento disponibili MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Attiva i suoni per le notifiche AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Impostazioni modulo ClickToDial (telefonate con un clic) ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=Questo modulo modifica i numeri di telefono, quando si utilizza un computer desktop, in collegamenti selezionabili. Un clic chiamerà il numero. Questo può essere usato per iniziare la telefonata quando si utilizza un softphone sul desktop o, ad esempio, quando si utilizza un sistema CTI basato sul protocollo SIP. Nota: quando si utilizza uno smartphone, i numeri di telefono sono sempre selezionabili. ClickToDialUseTelLink=Peri numeri di telefono basta usare un link di tipo "tel:" -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Margine destro sul PDF MAIN_PDF_MARGIN_TOP=Margine superiore sul PDF MAIN_PDF_MARGIN_BOTTOM=Margine inferiore su PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Altezza per logo in PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=Potrebbe essere un comportamento desiderato spostare l'e-mail in un altro tag / directory quando è stata elaborata correttamente. Basta impostare il nome della directory qui per utilizzare questa funzione (NON usare caratteri speciali nel nome). Si noti che è necessario utilizzare anche un account di accesso in lettura / scrittura. -EmailCollectorLoadThirdPartyHelp=È possibile utilizzare questa azione per utilizzare il contenuto dell'email per trovare e caricare una terza parte esistente nel database. La terza parte trovata (o creata) verrà utilizzata per le seguenti azioni che ne hanno bisogno. Nel campo del parametro è possibile utilizzare ad esempio 'EXTRACT:BODY:Name:\\s([^\\s]*)' se si desidera estrarre il nome della terza parte da una stringa 'Nome: nome da trovare' trovato nel corpo. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=Se vuoi avere alcuni testi nel tuo PDF duplicato in 2 lingue diverse nello stesso PDF generato, devi impostare qui la seconda lingua in modo che il PDF generato contenga 2 lingue diverse nella stessa pagina, quella scelta durante la generazione del PDF e questa ( solo pochi modelli PDF supportano questa opzione). Mantieni vuoto per 1 lingua per PDF. FafaIconSocialNetworksDesc=Inserisci qui il codice di un'icona FontAwesome. Se non sai cos'è FontAwesome, puoi utilizzare il valore generico fa-address-book. -FeatureNotAvailableWithReceptionModule=Funzione non disponibile quando la ricezione del modulo è abilitata RssNote=Nota: ogni definizione di feed RSS fornisce un widget che è necessario abilitare per renderlo disponibile nella dashboard JumpToBoxes=Vai a Setup -> Widget MeasuringUnitTypeDesc=Usa qui un valore come "dimensione", "superficie", "volume", "peso", "tempo" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Raccomandata +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available +ModuleUpdateAvailable=Un aggiornamento è disponibile NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/it_IT/agenda.lang b/htdocs/langs/it_IT/agenda.lang index ae83e1cee06..aee8bcf89c7 100644 --- a/htdocs/langs/it_IT/agenda.lang +++ b/htdocs/langs/it_IT/agenda.lang @@ -4,7 +4,7 @@ Actions=Eventi Agenda=Agenda TMenuAgenda=Agenda Agendas=Agende -LocalAgenda=Calendario interno +LocalAgenda=Default calendar ActionsOwnedBy=Evento amministrato da ActionsOwnedByShort=Proprietario AffectedTo=Azione assegnata a @@ -20,7 +20,7 @@ MenuToDoActions=Tutte le azioni incomplete MenuDoneActions=Tutte le azioni passate MenuToDoMyActions=I mie eventi non completati MenuDoneMyActions=I miei eventi passati -ListOfEvents=Lista di eventi (calendario interno) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Azioni richieste da ActionsToDoBy=Eventi assegnati a ActionsDoneBy=Azioni fatte da @@ -38,6 +38,7 @@ ActionsEvents=Eventi per i quali creare un'azione EventRemindersByEmailNotEnabled=I promemoria degli eventi via e-mail non sono stati abilitati nell'impostazione del modulo %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Soggetto terzo %s creato +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contratto %s convalidato CONTRACT_DELETEInDolibarr=Contratto %s cancellato @@ -86,8 +87,9 @@ ProposalDeleted=Proposta cancellata OrderDeleted=Ordine cancellato InvoiceDeleted=Fattura cancellata DraftInvoiceDeleted=Bozza di fattura eliminata -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_DELETEInDolibarr=Contact %s deleted +CONTACT_CREATEInDolibarr=Contatto %s creato +CONTACT_MODIFYInDolibarr=Contact %s modified +CONTACT_DELETEInDolibarr=Contatto %s eliminato PRODUCT_CREATEInDolibarr=Prodotto %s creato PRODUCT_MODIFYInDolibarr=Prodotto %s modificato PRODUCT_DELETEInDolibarr=Prodotto %s cancellato @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO impostato sullo stato bozza MRP_MO_PRODUCEDInDolibarr=MO prodotto MRP_MO_DELETEInDolibarr=MO eliminato MRP_MO_CANCELInDolibarr=MO annullato +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Modelli di documento per eventi DateActionStart=Data di inizio @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s per limitare l'output alle azioni assegnate a AgendaUrlOptionsProject=project= __PROJECT_ID__ per limitare l'output alle azioni collegate al progetto __PROJECT_ID__ . AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto per escludere gli eventi automatici. AgendaUrlOptionsIncludeHolidays= includeholidays = 1 per includere eventi delle festività. -AgendaShowBirthdayEvents=Visualizza i compleanni dei contatti +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Nascondi i compleanni dei contatti Busy=Occupato ExportDataset_event1=Lista degli eventi in agenda @@ -152,6 +155,7 @@ ActionType=Tipo di evento DateActionBegin=Data di inizio evento ConfirmCloneEvent=Sei sicuro che vuoi clonare l'evento %s? RepeatEvent=Ripeti evento +OnceOnly=Once only EveryWeek=Ogni settimana EveryMonth=Ogni mese DayOfMonth=Giorno del mese @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/it_IT/banks.lang b/htdocs/langs/it_IT/banks.lang index 5be72019d50..3b817e5cae8 100644 --- a/htdocs/langs/it_IT/banks.lang +++ b/htdocs/langs/it_IT/banks.lang @@ -115,7 +115,7 @@ TransferTo=A TransferFromToDone=È stato registrato un trasferimento da %s a %s di %s %s. CheckTransmitter=Mittente ValidateCheckReceipt=Convalidare questa ricevuta ? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Eliminare questa ricevuta? ConfirmDeleteCheckReceipt=Vuoi davvero eliminare questa ricevuta? BankChecks=Assegni bancari diff --git a/htdocs/langs/it_IT/bills.lang b/htdocs/langs/it_IT/bills.lang index 63f6ef3b167..b86e8fb59b4 100644 --- a/htdocs/langs/it_IT/bills.lang +++ b/htdocs/langs/it_IT/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Pagamento dovuto per DateInvoice=Data di fatturazione DatePointOfTax=Punto di imposta NoInvoice=Nessuna fattura +NoOpenInvoice=No open invoice ClassifyBill=Classificazione fattura SupplierBillsToPay=Fatture Fornitore non pagate CustomerBillsUnpaid=Fatture attive non pagate @@ -589,3 +590,4 @@ FacParentLine=Genitore riga fattura SituationTotalRayToRest=Resto da pagare senza tasse PDFSituationTitle=Situazione n ° %d SituationTotalProgress=Avanzamento totale %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/it_IT/boxes.lang b/htdocs/langs/it_IT/boxes.lang index 7ebe2e30d74..61bf843e5d0 100644 --- a/htdocs/langs/it_IT/boxes.lang +++ b/htdocs/langs/it_IT/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Ordini fornitore: ultimi %s modificati BoxTitleLastModifiedCustomerBills=Fatture attive: ultime %s modificate BoxTitleLastModifiedCustomerOrders=Ordini: ultimi %s modificati BoxTitleLastModifiedPropals=Ultime %s proposte modificate -BoxTitleLatestModifiedJobPositions=Ultimi %s jobs modificati -BoxTitleLatestModifiedCandidatures=Ultime candidature modificate %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Fatture attive ForCustomersOrders=Ordini cliente ForProposals=Proposte diff --git a/htdocs/langs/it_IT/cashdesk.lang b/htdocs/langs/it_IT/cashdesk.lang index fd00a01dd8c..31f6acff898 100644 --- a/htdocs/langs/it_IT/cashdesk.lang +++ b/htdocs/langs/it_IT/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    Il tag {TN} viene utilizzato per aggi TakeposGroupSameProduct=Raggruppa le stesse linee di prodotti StartAParallelSale=Inizia una nuova vendita parallela SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Rapporto di cassa MainPrinterToUse=Stampante principale da utilizzare @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/it_IT/compta.lang b/htdocs/langs/it_IT/compta.lang index 83a9dd57b4e..34f0e07c7b7 100644 --- a/htdocs/langs/it_IT/compta.lang +++ b/htdocs/langs/it_IT/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Fatturato di acquisto fatturato ReportPurchaseTurnoverCollected=Fatturato di acquisto raccolto IncludeVarpaysInResults = Includere vari pagamenti nei rapporti IncludeLoansInResults = Includere prestiti nei report +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/it_IT/cron.lang b/htdocs/langs/it_IT/cron.lang index 988a944ddfd..24a8a7e5516 100644 --- a/htdocs/langs/it_IT/cron.lang +++ b/htdocs/langs/it_IT/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=La data di fine non può essere precedente a quella di ini StatusAtInstall=Stato all'installazione del modulo CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disattiva -CronTaskInactive=Questo processo è disabilitato +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Nome file con classe CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For exemple to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/it_IT/deliveries.lang b/htdocs/langs/it_IT/deliveries.lang index a24bb962dac..723f46c4c0f 100644 --- a/htdocs/langs/it_IT/deliveries.lang +++ b/htdocs/langs/it_IT/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Non disponibile per spedizione ShowShippableStatus=Mostra lo stato di spedizione ShowReceiving=Mostra ricevuta di consegna NonExistentOrder=Ordine inesistente +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index af3f97876fa..d8d8596d454 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=L'utente %s esiste già. ErrorGroupAlreadyExists=Il gruppo %s esiste già +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record non trovato ErrorFailToCopyFile=Impossibile copiare il file '%s' in '%s' ErrorFailToCopyDir=Impossibile copiare la directory ' %s ' in ' %s '. @@ -46,7 +47,7 @@ ErrorWrongDate=La data non è corretta! ErrorFailedToWriteInDir=Impossibile scrivere nella directory %s ErrorFoundBadEmailInFile=Sintassi email errata nelle righe %s del file (ad esempio alla riga %s con email = %s) ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities. -ErrorFieldsRequired=Some required fields have been left blank. +ErrorFieldsRequired=Mancano alcuni campi obbligatori. ErrorSubjectIsRequired=The email subject is required ErrorFailedToCreateDir=Impossibile creare la directory. Verifica che l'utente del server Web abbia i permessi per scrivere nella directory Dolibarr. Se il parametro safe_mode è abilitato in PHP, verifica che i file php di Dolibarr appartengano all'utente o al gruppo del server web (per esempio www-data). ErrorNoMailDefinedForThisUser=Nessun indirizzo memorizzato per questo utente @@ -117,7 +118,7 @@ ErrorCantReadFile=Impossibile leggere il file %s ErrorCantReadDir=Impossibile leggere nella directory %s ErrorBadLoginPassword=Errore: Username o password non corretti ErrorLoginDisabled=L'account è stato disabilitato -ErrorFailedToRunExternalCommand=Impossibile eseguire il comando esterno. Controlla che sia disponibile ed eseguibile dal server PHP. Se la modalità safe_mode è abilitata in PHP, verificare che il comando sia all'interno di una directory ammessa dal parametro safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Impossibile cambiare la password ErrorLoginDoesNotExists=Utente con accesso %s inesistente ErrorLoginHasNoEmail=Questo utente non ha alcun indirizzo email. Processo interrotto. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -287,7 +290,7 @@ WarningYourLoginWasModifiedPleaseLogin=La tua login è stata modificata. Per rag WarningAnEntryAlreadyExistForTransKey=Esiste già una voce tradotta per la chiave di traduzione per questa lingua WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists WarningDateOfLineMustBeInExpenseReportRange=Attenzione, la data della riga non è compresa nel periodo della nota spese\n -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. +WarningProjectDraft=Il progetto è ancora in stato bozza. Non dimenticare di convalidarlo per utilizzare i compiti. WarningProjectClosed=Il progetto è chiuso. È necessario prima aprirlo nuovamente. WarningSomeBankTransactionByChequeWereRemovedAfter=Alcune transazioni bancarie sono state rimosse dopo che è stata generata la ricevuta che le includeva. Quindi il numero di assegni e il totale dello scontrino possono differire dal numero e dal totale nell'elenco. WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/it_IT/eventorganization.lang b/htdocs/langs/it_IT/eventorganization.lang index a7de633650b..7b40345d315 100644 --- a/htdocs/langs/it_IT/eventorganization.lang +++ b/htdocs/langs/it_IT/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Tipo di evento +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/it_IT/exports.lang b/htdocs/langs/it_IT/exports.lang index 5b616c68eaf..5a5e6dd1820 100644 --- a/htdocs/langs/it_IT/exports.lang +++ b/htdocs/langs/it_IT/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Linea tipo (0 = prodotto, servizio = 1) FileWithDataToImport=File con i dati da importare FileToImport=File da importare FileMustHaveOneOfFollowingFormat=File da importare deve avere uno dei seguenti formati -DownloadEmptyExample=Download esempio di fonte file vuoto +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Scegliete il formato di file da utilizzare per l'importazione cliccando sull'icona %s ChooseFileToImport=Scegli il file da importare e poi clicca sull'icona %s SourceFileFormat=Fonte formato di file diff --git a/htdocs/langs/it_IT/holiday.lang b/htdocs/langs/it_IT/holiday.lang index ab9092c4d63..6081af8f888 100644 --- a/htdocs/langs/it_IT/holiday.lang +++ b/htdocs/langs/it_IT/holiday.lang @@ -13,8 +13,8 @@ ToReviewCP=Pendente ApprovedCP=Approvato CancelCP=Cancellato RefuseCP=Rifiutato -ValidatorCP=Approvato da -ListeCP=List of leave +ValidatorCP=Approver +ListeCP=Elenco ferie e permessi Leave=Richiesta di assenza LeaveId=Leave ID ReviewedByCP=Sarà approvato da @@ -39,15 +39,15 @@ TitreRequestCP=Richiesta di assenza TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Numero di giornate di ferie già godute -NbUseDaysCPHelp=Il calcolo tiene conto dei giorni non lavorativi e delle festività definiti nel dizionario. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s non è un giorno lavorativo +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Modifica -DeleteCP=Cancella +DeleteCP=Elimina definitivamente ActionRefuseCP=Rifiuta ActionCancelCP=Annulla StatutCP=Stato @@ -55,7 +55,7 @@ TitleDeleteCP=Elimina la richiesta ConfirmDeleteCP=Vuoi davvero cancellare questa richiesta? ErrorCantDeleteCP=Errore: non hai i permessi necessari per eliminare questa richiesta. CantCreateCP=Non hai i permessi necessari per inserire richieste. -InvalidValidatorCP=Devi scegliere chi approverà la richiesta di assenza +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Bisogna selezionare una data di inizio. NoDateFin=Bisogna selezionare una data di fine. ErrorDureeCP=La tua richiesta di ferie non comprende giorni lavorativi. @@ -74,20 +74,20 @@ DateRefusCP=Data del rifiuto DateCancelCP=Data dell'annullamento DefineEventUserCP=Assegna permesso straordinario all'utente addEventToUserCP=Assegna permesso -NotTheAssignedApprover=You are not the assigned approver +NotTheAssignedApprover=Non sei l'utente che può approvare questa richiesta MotifCP=Motivo UserCP=Utente ErrorAddEventToUserCP=Si è verificato un errore nell'assegnazione del permesso straordinario. AddEventToUserOkCP=Permesso straordinario assegnato correttamente. MenuLogCP=Elenco delle modifiche -LogCP=Elenco degli aggiornamenti dei giorni ferie diponibili -ActionByCP=Eseguito da -UserUpdateCP=Per l'utente +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Saldo precedente NewSoldeCP=Nuovo saldo alreadyCPexist=C'è già una richiesta per lo stesso periodo. -FirstDayOfHoliday=Primo giorno di assenza -LastDayOfHoliday=Ultimo giorno di assenza +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Ultime %s richieste di assenza modificate HolidaysMonthlyUpdate=Aggiornamento mensile ManualUpdate=Aggiornamento manuale @@ -98,14 +98,14 @@ TypeWasDisabledOrRemoved=Permesso di tipo (ID %s) è stato disabilitato o rimoss LastHolidays=Ultime %s richieste di permesso AllHolidays=Tutte le richieste di permesso HalfDay=Mezza giornata -NotTheAssignedApprover=You are not the assigned approver -LEAVE_PAID=Paid vacation +NotTheAssignedApprover=Non sei l'utente che può approvare questa richiesta +LEAVE_PAID=Ferie pagate LEAVE_SICK=Malattia LEAVE_OTHER=Altro -LEAVE_PAID_FR=Paid vacation +LEAVE_PAID_FR=Ferie pagate ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Aggiornato con successo Module27130Name= Gestione ferie Module27130Desc= Gestione ferie @@ -125,10 +125,12 @@ HolidaysCanceledBody=La tua richiesta di ferie dal %s al %s è stata cancellata FollowedByACounter=1: questo tipo di ferie segue un contatore. Il contatore incrementa automaticamente o manualmente e quando una richiesta di ferie è validata. il contatore decrementa.
    0: non segue nessun contatore NoLeaveWithCounterDefined=Non ci sono tipi di ferie definite che devono seguire un contatore GoIntoDictionaryHolidayTypes=Vai in Home - Impostazioni - Dizionari - Tipi di ferie/permessi per impostare i diversi tipi di ferie e permessi. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Ferie da approvare NobodyHasPermissionToValidateHolidays=Nessuno ha il permesso di convalidare le vacanze +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/it_IT/hrm.lang b/htdocs/langs/it_IT/hrm.lang index acf3452f8ea..009f3212306 100644 --- a/htdocs/langs/it_IT/hrm.lang +++ b/htdocs/langs/it_IT/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Sei sicuro di voler cancellare questa azienda? OpenEtablishment=Apri azienda CloseEtablishment=Chiudi azienda # Dictionary -DictionaryPublicHolidays=HRM - Giorni festivi +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Lista dipartimenti DictionaryFunction=HRM - Posizioni di lavoro # Module diff --git a/htdocs/langs/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index eafe366a91e..2ef78f40953 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migrazione dei social network dei campi utenti (%s) MigrationReloadModule=Ricarica modulo %s MigrationResetBlockedLog=Reset del modulo BlockedLog per l'algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostra opzioni non disponibili HideNotAvailableOptions=Nascondi opzioni non disponibili ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/it_IT/interventions.lang b/htdocs/langs/it_IT/interventions.lang index ef76939f5ec..9b814bb7101 100644 --- a/htdocs/langs/it_IT/interventions.lang +++ b/htdocs/langs/it_IT/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Modello di intervento ToCreateAPredefinedIntervention=Per creare un intervento predefinito o ricorrente, creare un intervento comune e convertirlo in modello di intervento -Reopen=Riapri ConfirmReopenIntervention=Sei sicuro di voler riaprire l'intervento %s ? +GenerateInter=Generate intervention diff --git a/htdocs/langs/it_IT/knowledgemanagement.lang b/htdocs/langs/it_IT/knowledgemanagement.lang index 1f9666b329a..750a3eabb54 100644 --- a/htdocs/langs/it_IT/knowledgemanagement.lang +++ b/htdocs/langs/it_IT/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Info KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Articolo KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/it_IT/languages.lang b/htdocs/langs/it_IT/languages.lang index b950698f946..4972d3d283a 100644 --- a/htdocs/langs/it_IT/languages.lang +++ b/htdocs/langs/it_IT/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etiope Language_ar_AR=Arabo Language_ar_EG=Arabo (Egitto) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabo +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azero Language_bn_BD=Bengalese Language_bn_IN=Bengalese (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Olandese (Belgio) Language_nl_NL=Olandese (Paesi Bassi) Language_pl_PL=Polacco +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portoghese (Brasile) Language_pt_PT=Portoghese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumeno Language_ru_RU=Russo Language_ru_UA=Russo (Ucraina) diff --git a/htdocs/langs/it_IT/mails.lang b/htdocs/langs/it_IT/mails.lang index 16a6fb13e21..f324e3c17a8 100644 --- a/htdocs/langs/it_IT/mails.lang +++ b/htdocs/langs/it_IT/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Elimina filtro AdvTgtSaveFilter=Slava filtro AdvTgtCreateFilter=Crea filtro AdvTgtOrCreateNewFilter=Titolo del nuovo filtro -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Email in uscita InGoingEmailSetup=Email in entrata OutGoingEmailSetupForEmailing=Configurazione della posta elettronica in uscita (per il modulo %s) diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index c81f5fa21a9..8bf83cd0f1a 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Aliquota IVA +RateOfTaxN=Rate of tax %s VATCode=Codice aliquota VATNPR=Aliquota NPR DefaultTaxRate=Valore base tassa @@ -729,6 +730,7 @@ MenuMembers=Membri MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Tasse | Spese speciali ThisLimitIsDefinedInSetup=Limite applicazione (Menu home-impostazioni-sicurezza):%s Kb, limite PHP:%s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Lingua dell'utente CurrentTheme=Tema attuale @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=Da chiudere +ToRefuse=To refuse ToProcess=Da lavorare ToApprove=Da approvare GlobalOpenedElemView=Vista globale @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=In attesa Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/it_IT/members.lang b/htdocs/langs/it_IT/members.lang index 28779a99cf2..0c53256d30d 100644 --- a/htdocs/langs/it_IT/members.lang +++ b/htdocs/langs/it_IT/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/it_IT/modulebuilder.lang b/htdocs/langs/it_IT/modulebuilder.lang index e3d7681659e..2427de1f6b9 100644 --- a/htdocs/langs/it_IT/modulebuilder.lang +++ b/htdocs/langs/it_IT/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Convertitore da Ascii a HTML AsciiToPdfConverter=Convertitore da Ascii a PDF TableNotEmptyDropCanceled=Tabella non vuota. Il rilascio è stato annullato. ModuleBuilderNotAllowed=Il generatore di moduli è disponibile ma non è consentito all'utente. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/it_IT/mrp.lang b/htdocs/langs/it_IT/mrp.lang index d169db398be..6d54470bf3f 100644 --- a/htdocs/langs/it_IT/mrp.lang +++ b/htdocs/langs/it_IT/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Ultimi %sordini di produzione modificati Bom=Distinta base -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=Elenco degli ordini di produzione -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOMS document templates MOsNumberingModules=Modelli di numerazione degli ordini di produzione (MO) @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Testo libero sui documenti MO WatermarkOnDraftMOs=Filigrana sulla bozza degli ordini di produzione MO (se presente) -ConfirmCloneBillOfMaterials=Are you sure you want to clone this bill of material ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Vuoi davvero clonare l'ordine di produzione %s? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Efficienza dei consumi @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Il valore di 0,95 indica una media di 5%% di perdita del prodotto prodotto DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Elimina Ordine di Produzione -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Ordini di produzione NewMO=Nuovo ordine di produzione QtyToProduce=Qtà da produrre @@ -39,7 +39,7 @@ DateStartPlannedMo=Data di inizio prevista DateEndPlannedMo=Fine della data prevista KeepEmptyForAsap=Vuoto significa "Il più presto possibile" EstimatedDuration=Durata stimata -EstimatedDurationDesc=Durata prevista per la fabbricazione di questo prodotto utilizzando questa distinta base +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Vuoi convalidare la distinta base con il riferimento %s (sarai in grado di usarlo per costruire nuovi ordini di produzione) ConfirmCloseBom=Vuoi davvero eliminare questa Distinta Base (non sarà più possibile utilizzarla per creare nuovi ordini di produzione) ConfirmReopenBom=Sei sicuro di voler riaprire questa BOM (potrai usarla per creare nuovi ordini di produzione) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consuma e produci tutto Manufactured=Creato TheProductXIsAlreadyTheProductToProduce=Il prodotto da aggiungere è già il prodotto da produrre. ForAQuantityOf=Per una quantità da produrre di %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Sei sicuro di voler convalidare questo ordine di produzione? ConfirmProductionDesc=Cliccando su '%s' convaliderai il consumo e / o la produzione per le quantità impostate. Ciò aggiornerà anche le azioni e registrerà i movimenti delle scorte. ProductionForRef=Produzione di %s AutoCloseMO=Chiude automaticamente l'ordine di produzione se vengono raggiunte le quantità da consumare e da produrre NoStockChangeOnServices=Nessuna variazione di stock sui servizi ProductQtyToConsumeByMO=Quantità di prodotto ancora da consumare con MO aperto -ProductQtyToProduceByMO=Quantità di prodotto ancora da produrre con MO aperto +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Aggiungi una nuova riga da consumare ProductsToConsume=Prodotti da consumare ProductsToProduce=Prodotti da produrre @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Elimina NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/it_IT/orders.lang b/htdocs/langs/it_IT/orders.lang index 2929e323c70..4eaa89bc55c 100644 --- a/htdocs/langs/it_IT/orders.lang +++ b/htdocs/langs/it_IT/orders.lang @@ -11,6 +11,7 @@ OrderDate=Data ordine OrderDateShort=Data ordine OrderToProcess=Ordine da processare NewOrder=Nuovo ordine +NewSupplierOrderShort=Nuovo ordine NewOrderSupplier=Nuovo ordine d'acquisto ToOrder=Ordinare MakeOrder=Fare ordine @@ -73,6 +74,7 @@ DeleteOrder=Elimina ordine CancelOrder=Annulla ordine OrderReopened= Ordine %s riaperto AddOrder=Crea ordine +AddSupplierOrderShort=Crea ordine AddPurchaseOrder=Crea ordine d'acquisto AddToDraftOrders=Aggiungi ad una bozza d'ordine ShowOrder=Visualizza ordine @@ -91,8 +93,8 @@ OrdersStatisticsSuppliers=Stastistiche ordini d'acquisto NumberOfOrdersByMonth=Numero di ordini per mese AmountOfOrdersByMonthHT=Importo ordini per mese (al netto delle imposte) ListOfOrders=Elenco degli ordini -CloseOrder=Chiudi ordine -ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. +CloseOrder=Classifica ordine come Spedito +ConfirmCloseOrder=Vuoi davvero classificare come "spedito" questo ordine? Una volta che è stato impostato come "spedito" può essere fatturato. ConfirmDeleteOrder=Vuoi davvero cancellare questo ordine? ConfirmValidateOrder=Vuoi davvero convalidare questo ordine come %s? ConfirmUnvalidateOrder=Vuoi davvero riportare l'ordine %s allo stato di bozza? diff --git a/htdocs/langs/it_IT/other.lang b/htdocs/langs/it_IT/other.lang index e15078b0543..2e6d4894f8b 100644 --- a/htdocs/langs/it_IT/other.lang +++ b/htdocs/langs/it_IT/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Login utente che ha chiuso FileWasRemoved=Il file è stato eliminato DirWasRemoved=La directory è stata rimossa FeatureNotYetAvailable=Funzionalità non ancora disponibile nella versione corrente +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Caratteristiche supportate Width=Larghezza Height=Altezza @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Utilizzare - per separare gli orari di apertura e chiusura.
    Utilizzare uno spazio per inserire intervalli diversi.
    Esempio: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Area esportazioni @@ -290,3 +291,7 @@ PopuCom=Prodotti / servizi per popolarità negli ordini ProductStatistics=Statistiche sui prodotti / servizi NbOfQtyInOrders=Qtà in ordini SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Chiudere diff --git a/htdocs/langs/it_IT/partnership.lang b/htdocs/langs/it_IT/partnership.lang index a9a2846284c..c0c0d7e2234 100644 --- a/htdocs/langs/it_IT/partnership.lang +++ b/htdocs/langs/it_IT/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Data di inizio DatePartnershipEnd=Data di fine +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Assegno circolare -PartnershipAccepted = Accettata -PartnershipRefused = Rifiutato -PartnershipCanceled = Annullata - +PartnershipDraft=Assegno circolare +PartnershipAccepted=Accettata +PartnershipRefused=Rifiutato +PartnershipCanceled=Annullata PartnershipManagedFor=Partners are diff --git a/htdocs/langs/it_IT/productbatch.lang b/htdocs/langs/it_IT/productbatch.lang index cbb3183e28a..5b3ede1c57c 100644 --- a/htdocs/langs/it_IT/productbatch.lang +++ b/htdocs/langs/it_IT/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Usa lotto/numero di serie ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Mostra il log dei movimenti per la coppia prodotto/lotto StockDetailPerBatch=Dettagli magazzino per lotto SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index b65ba7eccbd..8b6c2fd397d 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Prezzi diversi in base al cliente PriceCatalogue=Prezzo singolo di vendita per prodotto/servizio PricingRule=Reogle dei prezzi di vendita AddCustomerPrice=Aggiungere prezzo dal cliente -ForceUpdateChildPriceSoc=Imposta lo stesso prezzo per i clienti sussidiari +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log di precedenti prezzi clienti MinimumPriceLimit=Prezzo minimo non può essere inferiore a % s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Aumenta e Diminuisci le scorte alla modifica del prod ComposedProduct=Sottoprodotto MinSupplierPrice=Prezzo d'acquisto minimo MinCustomerPrice=Prezzo minimo di vendita +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Configurazione dinamica dei prezzi DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Aggiungi variabile @@ -340,7 +341,7 @@ ProductSheet=Scheda prodotto ServiceSheet=Scheda di servizio PossibleValues=Valori possibili GoOnMenuToCreateVairants=Vai sul menu %s - %s per preparare le varianti degli attributi (come colori, dimensioni, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Utilizzare l'imballaggio sui prezzi del fornitore (ricalcolare le quantità in base all'imballaggio impostato sul prezzo del fornitore quando si aggiunge / aggiorna la riga nei documenti del fornitore) PackagingForThisProduct=Confezione @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Attributi aggiuntivi (prezzi dei fornitori) DeleteLinkedProduct=Elimina il prodotto figlio collegato alla combinazione +PMPValue=Media ponderata prezzo +PMPValueShort=MPP diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index 1a62a42e4b9..42e73acc7e3 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -140,6 +140,7 @@ NoTasks=Nessun compito per questo progetto LinkedToAnotherCompany=Collegato ad un altro soggetto terzo TaskIsNotAssignedToUser=Attività non assegnata all'utente. Usa il bottone '%s' per assegnare l'attività ora. ErrorTimeSpentIsEmpty=Il campo tempo lavorato è vuoto +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Questa azione eliminerà anche tutti i compiti del progetto (al momento ci sono %s compiti) e tutto il tempo lavorato già inserito. IfNeedToUseOtherObjectKeepEmpty=Se qualche elemento (fattura, ordine, ...), appartenente ad un altro soggetto terzo deve essere collegato al progetto da creare, non compilare il campo per assegnare il progetto a più di un soggetto terzo. CloneTasks=Clona compiti @@ -241,6 +242,7 @@ LatestModifiedProjects=Ultimi %s progetti modificati OtherFilteredTasks=Altre attività filtrate NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Scegli un'attività non ancora assegnata a te # Comments trans AllowCommentOnTask=Permetti agli utenti di commentare queste attività @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Rif. compito già utilizzato, è necessario un nuovo riferimento compito TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Tempo lavorato TimeSpentForInvoice=Tempo lavorato OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check se inserisci la scheda attività sulle attività del progetto E prevedi di generare fatture dalla scheda attività per fatturare al cliente il progetto (non verificare se si prevede di creare una fattura che non si basa sulle schede attività inserite). Nota: per generare una fattura, vai sulla scheda "Tempo trascorso" del progetto e seleziona le righe da includere. ProjectFollowOpportunity=Opportunità da seguire ProjectFollowTasks=Segui le attività o il tempo trascorso @@ -264,12 +268,16 @@ UsageOpportunity=Utilizzo: opportunità UsageTasks=Uso: Compiti UsageBillTimeShort=Utilizzo: tempo di fatturazione InvoiceToUse=Fattura in bozza da usare +InterToUse=Draft intervention to use NewInvoice=Nuova fattura +NewInter=Nuovo intervento OneLinePerTask=Una riga per compito OneLinePerPeriod=Una riga per periodo +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Attività genitore ProfitIsCalculatedWith=Il profitto viene calcolato utilizzando AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/it_IT/receptions.lang b/htdocs/langs/it_IT/receptions.lang index 001cfb9a3e7..e9d5bae3253 100644 --- a/htdocs/langs/it_IT/receptions.lang +++ b/htdocs/langs/it_IT/receptions.lang @@ -19,7 +19,7 @@ NewReception=New reception CreateReception=Create reception QtyInOtherReceptions=Qty in other receptions OtherReceptionsForSameOrder=Other receptions for this order -ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order +ReceptionsAndReceivingForSameOrder=Ricezioni per questo ordine ReceptionsToValidate=Receptions to validate StatusReceptionCanceled=Annullata StatusReceptionDraft=Bozza @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=Non ci sono più prodotti predefiniti da spedire - +ReceptionExist=A reception exists diff --git a/htdocs/langs/it_IT/salaries.lang b/htdocs/langs/it_IT/salaries.lang index 3edffce5b0d..7fa6558b6fd 100644 --- a/htdocs/langs/it_IT/salaries.lang +++ b/htdocs/langs/it_IT/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Piano dei conti usato per utenti di soggetti terzi SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Codice contabile predefinito per i pagamenti degli stipendi +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Stipendio Salaries=Stipendi -NewSalaryPayment=Nuovo pagamento stipendio +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Aggiungi pagamento stipendio SalaryPayment=Pagamento stipendio SalariesPayments=Pagamento stipendi +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Mostra i pagamenti stipendio THM=€/h TJM=€/g CurrentSalary=Stipendio attuale THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Ultimo %s pagamento dello stipendio -AllSalaries=Tutti i pagamenti degli stipendi +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export -SalariesAndPayments=Salaries and payments +SalariesAndPayments=Stipendi e pagamenti +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/it_IT/sendings.lang b/htdocs/langs/it_IT/sendings.lang index 4b93f8cf9dc..e25291eeaba 100644 --- a/htdocs/langs/it_IT/sendings.lang +++ b/htdocs/langs/it_IT/sendings.lang @@ -51,7 +51,7 @@ DateReceived=Data di consegna ricevuto ClassifyReception=Classifica ricevuto SendShippingByEMail=Invia spedizione via EMail SendShippingRef=Invio della spedizione %s -ActionsOnShipping=Acions sulla spedizione +ActionsOnShipping=Azioni sulla spedizione LinkToTrackYourPackage=Link a monitorare il tuo pacchetto ShipmentCreationIsDoneFromOrder=Per il momento, la creazione di una nuova spedizione viene effettuata dalla scheda dell'ordine. ShipmentLine=Filiera di spedizione diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 9a7054eef8a..fd6f8e5767d 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Prezzo unitario StockTooLow=Scorte insufficienti StockLowerThanLimit=Scorta inferiore al limite di avviso (%s) EnhancedValue=Valore -PMPValue=Media ponderata prezzo -PMPValueShort=MPP EnhancedValueOfWarehouses=Valore magazzini UserWarehouseAutoCreate=Crea anche un magazzino alla creazione di un utente AllowAddLimitStockByWarehouse=Gestisci anche i valori minimo e desiderato della scorta per abbinamento (prodotto - magazzino) oltre ai valori per prodotto RuleForWarehouse=Regola per i magazzini -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Imposta un magazzino sugli ordini di vendita UserDefaultWarehouse=Imposta un magazzino per gli utenti @@ -169,8 +167,8 @@ MovementTransferStock=Trasferisci scorte del prodotto %s in un altro magazzino InventoryCodeShort=Codice di inventario o di spostamento NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Questo lotto/numero seriale (%s) esiste già con una differente data di scadenza o di validità (trovata %s, inserita %s ) -OpenAll=Aperto per tutte le azioni -OpenInternal=Aperto per le azioni interne +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Utilizzare uno stato di spedizione (approvato / rifiutato) per le righe di prodotti alla ricezione dell'ordine di acquisto OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Riapri -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/it_IT/ticket.lang b/htdocs/langs/it_IT/ticket.lang index 84791ff6656..9dc371b4c70 100644 --- a/htdocs/langs/it_IT/ticket.lang +++ b/htdocs/langs/it_IT/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Risoluzione TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Richiesta di aiuto funzionale -TicketTypeShortISSUE=Issue, bug o problemi +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Richiesta di modifica o miglioramento TicketTypeShortPROJET=Progetto TicketTypeShortOTHER=Altro @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assegnato a TypeContact_ticket_external_SUPPORTCLI=Contatto cliente / tracciamento incidente TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Da leggere Assigned=Assegnato InProgress=Avviato -NeedMoreInformation=In attesa di informazioni +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=In attesa -Closed=Chiuso +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Creato da NewTicket=Nuovo Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Gruppo +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Gravità ShowTicket=See ticket RelatedTickets=Ticket correlati TicketAddIntervention=Crea intervento -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documenti collegati al ticket ConfirmReOpenTicket=Confermi la riapertura di questo ticket? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/it_IT/trips.lang b/htdocs/langs/it_IT/trips.lang index d328b22677d..5067d88c37d 100644 --- a/htdocs/langs/it_IT/trips.lang +++ b/htdocs/langs/it_IT/trips.lang @@ -21,19 +21,19 @@ ListToApprove=In attesa di approvazione ExpensesArea=Area note spese ClassifyRefunded=Classifica come "Rimborsata" ExpenseReportWaitingForApproval=È stata inserita una nuova nota spese da approvare -ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s +ExpenseReportWaitingForApprovalMessage=Una nuova nota spesa è stata inserita ed è in attesa di approvazione.
    - Utente: %s
    - Periodo: %s
    Clicca qui per convalidare: %s ExpenseReportWaitingForReApproval=Una nota spese è stata sottomessa per la pre-approvazione -ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s +ExpenseReportWaitingForReApprovalMessage=Una nota spese è stata inviata ed è nuovamente in attesa di approvazione. Il %s, hai rifiutato la nota spese per questa motivazione: %s.
    Una nuova versione è stata proposta e attende la tua approvazione.
    - Utente: %s
    - Periodo: %s
    Clicca qui per convalidare: %s ExpenseReportApproved=Una nota spese è stata approvata -ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s +ExpenseReportApprovedMessage=La nota spese %s è stata approvata.
    - Utente: %s
    - Approvata da: %s
    Clicca qui per visualizzare la nota spese: %s ExpenseReportRefused=Una nota spese è stata rifiutata -ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s +ExpenseReportRefusedMessage=La nota spese %s è stata rifiutata.
    - Utente: %s
    - Rifiutata da: %s
    - Motivazione del rifiuto: %s
    Clicca qui per visualizzare la nota spese: %s ExpenseReportCanceled=Una nota spese è stata cancellata -ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s +ExpenseReportCanceledMessage=La nota spese %s è stata eliminata.
    - Utente: %s
    - Eliminata da: %s
    - Motivazione eliminazione: %s
    Clicca qui per visualizzare la nota spese: %s ExpenseReportPaid=Una nota spese è stata pagata -ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s +ExpenseReportPaidMessage=La nota spese %s è stata rimborsata.
    - Utente: %s
    - Pagata da: %s
    Clicca qui per visualizzare la nota spese: %s TripId=ID nota spese -AnyOtherInThisListCanValidate=Persona da informare per la convalida +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Informazioni azienda TripNDF=Informazioni nota spese PDFStandardExpenseReports=Template standard per la generazione dei PDF delle not spese @@ -90,7 +90,6 @@ DATE_REFUS=Rifiutata in data DATE_SAVE=Convalidata in data DATE_CANCEL=Eliminata in data DATE_PAIEMENT=Liquidata in data -BROUILLONNER=Riapri ExpenseReportRef=Rif. nota spese ValidateAndSubmit=Convalida e proponi per l'approvazione ValidatedWaitingApproval=Convalidata (in attesa di approvazione) @@ -110,7 +109,7 @@ ExpenseReportPayment=Pagamento nota spese ExpenseReportsToApprove=Note spese da approvare ExpenseReportsToPay=Note spese da pagare ConfirmCloneExpenseReport=Vuoi davvero clonare questa nota spese? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configurazione del rimborso chilometrico ExpenseReportsRules=Regole note spese ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=Tu puoi creare o modificare qualsiasi regola di calcolo. Questa parte vierra usata quando l'utente vorrà creare una nuova note spese @@ -145,7 +144,7 @@ nolimitbyEX_DAY=per giorno (illimitato) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Categorie di macchine +CarCategory=Categoria veicoli ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the new line to an existing document diff --git a/htdocs/langs/it_IT/users.lang b/htdocs/langs/it_IT/users.lang index 4bf6fa34a41..903682d8a17 100644 --- a/htdocs/langs/it_IT/users.lang +++ b/htdocs/langs/it_IT/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Accedi per creare NameToCreate=Nome del soggetto terzo da creare YourRole=Il tuo ruolo YourQuotaOfUsersIsReached=Hai raggiunto la tua quota di utenti attivi! -NbOfUsers=Numero di utenti -NbOfPermissions=Numero di autorizzazioni +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Solo un superadmin può declassare un superadmin HierarchicalResponsible=Supervisore HierarchicView=Vista gerarchica diff --git a/htdocs/langs/it_IT/website.lang b/htdocs/langs/it_IT/website.lang index ac41f055411..edf226d0df8 100644 --- a/htdocs/langs/it_IT/website.lang +++ b/htdocs/langs/it_IT/website.lang @@ -31,7 +31,7 @@ AddWebsite=Aggiungi sito web Webpage=Web page/container AddPage=Aggiungi pagina/contenitore PageContainer=Pagina -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/it_IT/withdrawals.lang b/htdocs/langs/it_IT/withdrawals.lang index 0e83d48d9eb..e188ee9b039 100644 --- a/htdocs/langs/it_IT/withdrawals.lang +++ b/htdocs/langs/it_IT/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Codice bancario del Soggetto terzo NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classifica come accreditata ClassCreditedConfirm=Vuoi davvero classificare questa ricevuta di domiciliazione come accreditata sul vostro conto bancario? TransData=Data di trasmissione @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/it_IT/workflow.lang b/htdocs/langs/it_IT/workflow.lang index a662155b537..544aee9284a 100644 --- a/htdocs/langs/it_IT/workflow.lang +++ b/htdocs/langs/it_IT/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classifica "fatturate" le proposte c descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classifica "fatturato" gli ordini cliente collegati quando la fattura cliente è validata (e se l'importo della fattura è uguale all'importo totale di ordini collegati) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classifica "da fatturare" gli ordini cliente collegati quando la fattura cliente è impostata su pagamento (e se l'importo della fattura è uguale all'importo totale di ordini collegati) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classifica "da spedire" l'ordine cliente collegato quando una spedizione viene convalidata (e se la quantità spedita da tutte le spedizioni è la stessa dell'ordine da aggiornare) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal(s) to billed when vendor invoice is validated (and if amount of the invoice is same than total amount of linked proposals) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order(s) to billed when vendor invoice is validated (and if amount of the invoice is same than total amount of linked orders) diff --git a/htdocs/langs/ja_JP/accountancy.lang b/htdocs/langs/ja_JP/accountancy.lang index 027dd200717..5d70ea3da6f 100644 --- a/htdocs/langs/ja_JP/accountancy.lang +++ b/htdocs/langs/ja_JP/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=EECにない国 CountriesInEECExceptMe=%sを除くEECの国 CountriesExceptMe=%sを除くすべての国 AccountantFiles=ソースドキュメントのエクスポート -ExportAccountingSourceDocHelp=このツールを使用すると、会計処理の生成に使用されたソースイベント(リストとPDF)をエクスポートできる。仕訳をエクスポートするには、メニューエントリ%s-%sを使用する。 +ExportAccountingSourceDocHelp=このツールを使用すると、会計の生成に使用されたソースイベント(CSVおよびPDFのリスト)をエクスポートできる。 +ExportAccountingSourceDocHelp2=ジャーナルをエクスポートするには、メニューエントリ%s --%sを使用。 VueByAccountAccounting=会計科目順に表示 VueBySubAccountAccounting=アカウンティングサブアカウントで表示 @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=取引先のアカウンティング科目の長さ( ACCOUNTING_MANAGE_ZERO=会計科目の最後に異なる数のゼロを管理できるようにする。一部の国(スイスなど)で必要です。オフ(デフォルト)に設定すると、次の2つのパラメーターを設定して、アプリケーションに仮想ゼロを追加するように要求できる。 BANK_DISABLE_DIRECT_INPUT=銀行口座での取引の直接記録を無効にする ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=仕訳帳で下書きエクスポートを有効にする -ACCOUNTANCY_COMBO_FOR_AUX=子会社科目のコンボリストを有効にする(取引先が多数ある場合は遅くなる可能性がある) +ACCOUNTANCY_COMBO_FOR_AUX=子会社アカウントのコンボリストを有効にする (取引先が多数あると遅くなるだろうし、値の一部検索機能は壊れる) ACCOUNTING_DATE_START_BINDING=会計で紐付け力と移転を開始する日付を定義する。この日付を下回ると、トランザクションはアカウンティングに転送されない。 ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=会計転送では、デフォルトで期間表示を選択する @@ -202,7 +203,7 @@ Docref=参照 LabelAccount=ラベル科目 LabelOperation=ラベル操作 Sens=方向 -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=顧客の勘定科目の場合、貸方を使用して受取った支払いを記録する。
    仕入先の勘定科目の場合、借方を使用して実行した支払いを記録する。 LetteringCode=レタリングコード Lettering=レタリング Codejournal=仕訳帳 @@ -245,9 +246,9 @@ DescThirdPartyReport=取引先の顧客とベンダー、およびそれらの ListAccounts=会計科目のリスト UnknownAccountForThirdparty=不明な取引先科目。 %sを使用する UnknownAccountForThirdpartyBlocking=不明な取引先科目。ブロッキングエラー -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=取引先の科目が定義されていないか、取引先が不明です。 %sを使用する +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=補助元帳勘定が定義されていないか、取引先またはユーザが不明。 %sを使用する ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=第三者が不明で、補助元帳が支払いに定義されていない。補助元帳勘定の値は空のままにする。 -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=取引先の科目が定義されていないか、取引先が不明です。ブロッキングエラー。 +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=補助元帳勘定が定義されていないか、取引先またはユーザが不明。ブロッキングエラー。 UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=不明な取引先科目と待機中の科目が定義されていない。ブロッキングエラー PaymentsNotLinkedToProduct=支払いはどの製品/サービスにもリンクされていない OpeningBalance=期首残高 @@ -297,7 +298,7 @@ NoNewRecordSaved=仕訳帳化するレコードはもうない ListOfProductsWithoutAccountingAccount=会計科目にバインドされていない製品のリスト ChangeBinding=紐付を変更する Accounted=元帳に計上 -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=元帳にはまだ計上されていない ShowTutorial=チュートリアルを表示 NotReconciled=調整されていない WarningRecordWithoutSubledgerAreExcluded=警告、補助元帳アカウントが定義されていないすべての操作はフィルタリングされ、このビューから除外される @@ -317,7 +318,7 @@ AccountingJournalType2=販売 AccountingJournalType3=購入 AccountingJournalType4=バンク AccountingJournalType5=経費報告書 -AccountingJournalType8=在庫 +AccountingJournalType8=目録 AccountingJournalType9=持っている-新規 ErrorAccountingJournalIsAlreadyUse=この仕訳帳はすでに使用されている AccountingAccountForSalesTaxAreDefinedInto=注:消費税の会計科目は、メニュー %s -- %sに定義されている。 @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=購入時の会計における紐付け ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=経費報告書の会計における紐付け力と移転を無効にする(経費報告書は会計で考慮されない) ## Export +NotifiedExportDate=通知されたエクスポート日(エントリの変更はできない) +NotifiedValidationDate=エントリの検証(エントリの変更または削除はできない) +ConfirmExportFile=会計エクスポートファイルの生成を確定するか? ExportDraftJournal=下書き仕訳帳のエクスポート Modelcsv=エクスポートのモデル Selectmodelcsv=エクスポートのモデルを選択 @@ -335,7 +339,7 @@ Modelcsv_normal=Classic のエクスポート Modelcsv_CEGID=CEGID Expert Comptabilité のエクスポート Modelcsv_COALA=Sage Coala のエクスポート Modelcsv_bob50=Sage BOB50のエクスポート -Modelcsv_ciel=Sage CielComptaまたはComptaEvolutionのエクスポート +Modelcsv_ciel=Sage50、Ciel Compta、またはComptaEvoにエクスポートする。 (フォーマットXIMPORT) Modelcsv_quadratus=QuadratusQuadraComptaのエクスポート Modelcsv_ebp=EBPのエクスポート Modelcsv_cogilog=Cogilogのエクスポート @@ -425,6 +429,6 @@ FECFormatMulticurrencyCode=他通貨 コード (Idevise) DateExport=日付のエクスポート WarningReportNotReliable=警告、このレポートは元帳に基づいていないため、元帳で手動で変更されたトランザクションは含まれていない。仕訳帳化が最新の場合、簿記ビューはより正確です。 ExpenseReportJournal=経費報告仕訳帳 -InventoryJournal=在庫仕訳帳 +InventoryJournal=目録日記帳 NAccounts=%sアカウント diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index d2db717850b..4a54e3b1f12 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -53,6 +53,7 @@ InternalUser=内部ユーザ ExternalUser=外部ユーザ InternalUsers=内部ユーザ ExternalUsers=外部ユーザ +UserInterface=ユーザーインターフェース GUISetup=表示 SetupArea=設定 UploadNewTemplate=新規テンプレート(s)をアップロード @@ -64,7 +65,7 @@ RemoveLock=ファイル%s が存在する場合、それを削除/改名 RestoreLock=ファイル%s を読取権限のみで復元すると、これ以上の更新/インストール のツール使用が不可になる。 SecuritySetup=セキュリティの設定 PHPSetup=PHPのセットアップ -OSSetup=OS setup +OSSetup=OSのセットアップ SecurityFilesDesc=ファイルのアップロードに関するセキュリティ関連オプションをここで定義。 ErrorModuleRequirePHPVersion=エラー、このモジュールは、PHPのバージョン%s以上が必要 ErrorModuleRequireDolibarrVersion=エラー、このモジュールはDolibarrバージョン%s以上が必要 @@ -84,6 +85,7 @@ NumberOfBytes=バイト数 SearchString=検索文字列 NotAvailableWhenAjaxDisabled=Ajax無効時には使用不可 AllowToSelectProjectFromOtherCompany=取引先のドキュメントで、別の取引先にリンクされているプロジェクトを選択できる +TimesheetPreventAfterFollowingMonths=次の月数の後に費やされた時間を記録しないようにする JavascriptDisabled=JavaScript無効 UsePreviewTabs=プレビュータブを使用 ShowPreview=プレビューを表示 @@ -116,6 +118,7 @@ MultiCurrencySetup=多通貨設定 MenuLimits=限界と精度 MenuIdParent=親メニューのID DetailMenuIdParent=親メニューのID ( 上のメニューの場合は0 ) +ParentID=親ID DetailPosition=メニューの位置を定義するには、ソート番号 AllMenus=すべて NotConfigured=モジュール/アプリが未設定 @@ -140,7 +143,7 @@ CurrentSessionTimeOut=現在セッションのタイムアウト YouCanEditPHPTZ=別のPHPタイムゾーンを設定するには ( 必須ではない ) 、 "SetEnv TZ Europe/Paris" のような行を含む.htaccessファイルを追加してみること。 HoursOnThisPageAreOnServerTZ=警告、他の画面とは異なり、このページの時間はローカルタイムゾーンではなく、サーバーのタイムゾーン。 Box=ウィジェット -Boxes=ウィジェットs +Boxes=ウィジェット MaxNbOfLinesForBoxes=ウィジェットsの最大行数 AllWidgetsWereEnabled=使用可能なすべてのウィジェットsが有効 PositionByDefault=デフォルト順 @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=公式の安定版でのみ利用可能な機能 BoxesDesc=ウィジェットは、一部のページをパーソナライズするために追加できる情報を表示するコンポーネント。ターゲットページを選択して 'Activate' をクリックするか、ゴミ箱をクリックしてウィジェットを無効にすることで、ウィジェットを表示するかどうかを選択できる。 OnlyActiveElementsAreShown=から要素のみ対応のモジュールが表示される。 ModulesDesc=モジュール/アプリケーションは、ソフトウェアで使用できる機能を決定する。一部のモジュールでは、モジュールをアクティブ化した後、ユーザに権限を付与する必要がある。各モジュールのオン/オフボタン%s をクリックして、モジュール/アプリケーションを有効または無効にする。 +ModulesDesc2=ホイールボタン%s をクリックして、モジュール/アプリケーションを構成する。 ModulesMarketPlaceDesc=インターネット上の外部Webサイトでダウンロードするモジュールをさらに見つけることができる... ModulesDeployDesc=ファイルシステムのアクセス許可で許可されている場合は、このツールを使用して外部モジュールを展開できる。モジュールは、タブ %sに表示される。 ModulesMarketPlaces=外部アプリ/モジュールを探す @@ -221,8 +225,8 @@ NotCompatible=このモジュールは、Dolibarr %s ( 最小%s-最大%s ) と CompatibleAfterUpdate=このモジュールでは、Dolibarr %s ( 最小%s-最大%s ) を更新する必要がある。 SeeInMarkerPlace=マーケットプレイスで見る SeeSetupOfModule=モジュール%sの設定を参照すること +SetOptionTo=オプション %s を %s に設定 Updated=更新した -Nouveauté=ノベルティ AchatTelechargement=購入/ダウンロード GoModuleSetupArea=新規モジュールを展開/インストールするには、モジュール設定領域に移動する: %s。 DoliStoreDesc=DoliStore、Dolibarr ERP / CRM外部モジュールのための公式の市場の場所 @@ -399,16 +403,17 @@ SecurityToken=セキュリティで保護されたURLへの鍵 NoSmsEngine=利用可能なSMS送信者マネージャーはない。 SMS送信者マネージャーは、外部仕入先に依存しているため、デフォルトのディストリビューションではインストールされないが、%sで見つけることができる。 PDF=PDF PDFDesc=PDF生成のグローバルオプション +PDFOtherDesc=一部のモジュールに固有のPDFオプション PDFAddressForging=アドレスセクションのルール HideAnyVATInformationOnPDF=消費税/ VATに関連するすべての情報を非表示にする PDFRulesForSalesTax=消費税/ VATのルール PDFLocaltax=%sのルール HideLocalTaxOnPDF=列SaleTax / VATで%sレートを非表示にする -HideDescOnPDF=製品説明を非表示 -HideRefOnPDF=製品を非表示にするref。 +HideDescOnPDF=製品説明を非表示にする +HideRefOnPDF=製品のコードを非表示にする HideDetailsOnPDF=製品ラインの詳細を非表示 PlaceCustomerAddressToIsoLocation=顧客の住所の位置には、フランスの標準位置 ( La Poste ) を使用する -Library=図書館 +Library=ライブラリ UrlGenerationParameters=URLを確保するためのパラメータ SecurityTokenIsUnique=各URLごとに一意securekeyパラメータを使用して、 EnterRefToBuildUrl=オブジェクト%sの参照を入力する。 @@ -561,7 +566,7 @@ Module53Desc=サービスの管理 Module54Name=契約/サブスクリプション Module54Desc=契約の管理 ( サービスまたは定期購読 ) Module55Name=バーコード -Module55Desc=バーコードの管理 +Module55Desc=バーコードまたはQRコードの管理 Module56Name=クレジット振込によるお支払い Module56Desc=クレジット転送注文によるサプライヤーの支払いの管理。これには、ヨーロッパ諸国向けのSEPAファイルの生成が含まれる。 Module57Name=口座振替による支払い @@ -587,9 +592,9 @@ Module200Desc=LDAPディレクトリの同期 Module210Name=PostNuke Module210Desc=PostNuke統合 Module240Name=データをエクスポート -Module240Desc=Dolibarrデータをエクスポートためのツール ( 支援あり ) +Module240Desc=Dolibarrにデータをエクスポートするツール(アシスタントを利用) Module250Name=データのインポート -Module250Desc=Dolibarrにデータをインポートするためのツール ( 支援あり ) +Module250Desc=Dolibarrにデータをインポートするツール(アシスタントを利用) Module310Name=メンバー Module310Desc=財団のメンバーの管理 Module320Name=RSSフィード @@ -848,10 +853,10 @@ Permission402=割引を作成/変更 Permission403=割引を検証する Permission404=割引を削除する。 Permission430=デバッグバーを使用する -Permission511=給与の支払いを見る(自分と部下) -Permission512=給与の支払いを作成/変更する -Permission514=給与の支払いを削除する -Permission517=全員の給料支払いを見る +Permission511=給与と支払いを見る(自分と部下) +Permission512=給与と支払いを作成/変更する +Permission514=給与と支払いを削除する +Permission517=全員の給料と支払いを見る Permission519=給与をエクスポート Permission520=ローンを読む Permission522=ローンの作成/変更 @@ -965,6 +970,8 @@ Permission23003=スケジュールされたジョブを削除する Permission23004=スケジュールされたジョブを実行する Permission50101=POS ( SimplePOS ) を使用する Permission50151=POS ( TakePOS ) を使用する +Permission50152=販売ラインを編集する +Permission50153=注文済販売行を編集 Permission50201=トランザクションを読む Permission50202=輸入取引 Permission50330=Zapierのオブジェクトを読む @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=測定単位 DictionarySocialNetworks=ソーシャルネットワーク DictionaryProspectStatus=企業の見通し状況 DictionaryProspectContactStatus=連絡先の見込み客のステータス -DictionaryHolidayTypes=休暇の種類 +DictionaryHolidayTypes=休暇-休暇の種類 DictionaryOpportunityStatus=プロジェクト/引合の引合ステータス DictionaryExpenseTaxCat=経費報告書-輸送カテゴリ DictionaryExpenseTaxRange=経費報告書-輸送カテゴリ別の範囲 DictionaryTransportMode=Intracom レポート-トランスポートモード +DictionaryBatchStatus=製品ロット/シリアル品質管理ステータス TypeOfUnit=ユニットの種類 SetupSaved=設定が保存されました SetupNotSaved=設定が保存されていない @@ -1146,7 +1154,7 @@ CompanyInfo=法人/組織 CompanyIds=法人/組織のアイデンティティ CompanyName=名 CompanyAddress=アドレス -CompanyZip=ZIP +CompanyZip=郵便番号 CompanyTown=町 CompanyCountry=国 CompanyCurrency=主な通貨 @@ -1154,7 +1162,7 @@ CompanyObject=法人の目的 IDCountry=ID国 Logo=ロゴ LogoDesc=法人のメインロゴ。生成されたドキュメントに使用される ( PDF、... ) -LogoSquarred=ロゴ ( 二乗 ) +LogoSquarred=ロゴ (正方形) LogoSquarredDesc=角張ったアイコンである必要がある ( 幅=高さ ) 。このロゴは、お気に入りのアイコンまたはトップメニューバーのような他のニーズとして使用される ( ディスプレイ設定で無効にされていない場合 ) 。 DoNotSuggestPaymentMode=示唆していない NoActiveBankAccountDefined=定義された有効な銀行口座なし @@ -1185,9 +1193,12 @@ SetupDescription2=次の2つのセクションは必須 ( 【設定】メニュ SetupDescription3= %s-> %s

    アプリケーションのデフォルトの動作をカスタマイズするために使用される基本パラメーター ( 国関連の機能など ) 。 SetupDescription4= %s-> %s

    このソフトウェアは、多くのモジュール/アプリケーションのスイート。ニーズに関連するモジュールを有効にして構成する必要がある。これらのモジュールをアクティブにすると、メニューエントリが表示される。 SetupDescription5=その他の設定メニューエントリは、オプションのパラメータを管理する。 +SetupDescriptionLink= %s-%s +SetupDescription3b=アプリケーションのデフォルト動作をカスタマイズするために使用される基本的パラメータ(国に関連する機能など)。 +SetupDescription4b=このソフトウェアは、多くのモジュール/アプリケーションで編まれている。ニーズに関連するモジュールを有効にして構成する必要がある。こうしたモジュールを有効化すると、メニューエントリが表示される。 AuditedSecurityEvents=監査されるセキュリティイベント NoSecurityEventsAreAduited=セキュリティイベントは監査されない。メニュー%sから有効にできる -Audit=監査 +Audit=セキュリティ イベント InfoDolibarr=Dolibarrについて InfoBrowser=ブラウザについて InfoOS=OSについて @@ -1255,9 +1266,9 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=あなたは、ユーザ%s YourPHPDoesNotHaveSSLSupport=あなたのPHPでのSSLの機能は使用できない DownloadMoreSkins=ダウンロードするには多くのスキン SimpleNumRefModelDesc=参照番号を%syymm-nnnnの形式で返す。ここで、yyは年、mmは月、nnnnはリセットなしの順次自動インクリメント番号。 -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=住所とともにプロのIDを表示する -ShowVATIntaInAddress=コミュニティ内のVAT番号を住所で非表示にする +SimpleNumRefNoDateModelDesc=参照番号を%s-nnnnの形式で返する。nnnnはリセットなしの順次自動インクリメント番号 。 +ShowProfIdInAddress=住所付きの専門家IDを表示する +ShowVATIntaInAddress=コミュニティ内のVAT番号を非表示にする TranslationUncomplete=部分的な翻訳 MAIN_DISABLE_METEO=気象ビューを無効にする MeteoStdMod=標準モード @@ -1319,9 +1330,12 @@ ConditionIsCurrently=状態は現在%s YouUseBestDriver=現在利用可能な最高のドライバーであるドライバー%sを使用する。 YouDoNotUseBestDriver=ドライバー%sを使用するが、ドライバー%sをお勧めする。 NbOfObjectIsLowerThanNoPb=データベースには%s%sしかない。これには、特別な最適化は必要ない。 +ComboListOptim=コンボリストの読み込みの最適化 SearchOptim=検索最適化 -YouHaveXObjectUseSearchOptim=データベースに%s%sがある。 Home-Setup-Otherで定数%sを1に追加できます。検索を文字列の先頭に制限する。これにより、データベースでインデックスを使用できるようになり、すぐに応答が返される。 -YouHaveXObjectAndSearchOptimOn=データベースに%s%sがあり、Home-Setup-Otherで定数%sが1に設定されている。 +YouHaveXObjectUseComboOptim=データベースに%s%sがある。モジュールのセットアップに入ると、キーが押されたイベントでコンボリストをロードできるようになる。 +YouHaveXObjectUseSearchOptim=データベースに%s%sがある。 Home-Setup-Otherで定数%sを1に追加できる。 +YouHaveXObjectUseSearchOptimDesc=これにより、検索が文字列の先頭に制限され、データベースでインデックスを使用できるようになり、すぐに応答が得られるはず。 +YouHaveXObjectAndSearchOptimOn=データベースに%s%sがあり、Home-Setup-Otherで定数%sが%sに設定されている。 BrowserIsOK=%sWebブラウザーを使用している。このブラウザは、セキュリティとパフォーマンスに問題はない。 BrowserIsKO=%sWebブラウザーを使用している。このブラウザは、セキュリティ、パフォーマンス、信頼性の点で悪い選択であることが知られている。 Firefox、Chrome、Opera、またはSafariの使用をお勧めする。 PHPModuleLoaded=PHPコンポーネント%sがロードされる @@ -1433,6 +1447,7 @@ MemberMainOptions=主なオプション AdherentLoginRequired= 各メンバーのログインを管理する AdherentMailRequired=新規メンバーを作成するにはメールが必要 MemberSendInformationByMailByDefault=メンバー ( 検証や新規サブスクリプション ) にメールの確認を送信するチェックボックスはデフォルトでオンになっている +MemberCreateAnExternalUserForSubscriptionValidated=検証された新規メンバーサブスクリプションごとに外部ユーザーログインを作成する VisitorCanChooseItsPaymentMode=訪問者は利用可能な支払いモードから選択できる MEMBER_REMINDER_EMAIL=期限切れのサブスクリプションの電子メールによって自動リマインダーを有効にする。注:モジュール %s を有効にして、リマインダーを送信するように正しく設定する必要がある。 MembersDocModules=メンバーレコードから生成されたドキュメント用のドキュメントテンプレート @@ -1542,7 +1557,7 @@ LDAPFieldFax=ファクス番号 LDAPFieldFaxExample=例:ファクシミリ電話番号 LDAPFieldAddress=ストリート LDAPFieldAddressExample=例:通り -LDAPFieldZip=ZIP +LDAPFieldZip=郵便番号 LDAPFieldZipExample=例:郵便番号 LDAPFieldTown=町 LDAPFieldTownExample=例:l @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=メニューの議題を選択するときに、デフォル AGENDA_REMINDER_BROWSER=ユーザーのブラウザでイベントリマインダーを有効にする(リマインダーの日付に達すると、ブラウザにポップアップが表示される。各ユーザーは、ブラウザの通知設定からそのような通知を無効にできる)。 AGENDA_REMINDER_BROWSER_SOUND=音声通知を有効にする AGENDA_REMINDER_EMAIL=電子メールでイベントリマインダーを有効にする(リマインダーオプション/遅延は各イベントで定義できる)。 -AGENDA_REMINDER_EMAIL_NOTE=注:タスク%sの頻度は、リマインダーが正しいタイミングで送信されることを確認するのに十分でなければならない。 +AGENDA_REMINDER_EMAIL_NOTE=注:スケジュールされたジョブ%sの頻度は、リマインダーが正しいタイミングで送信されることを確認するのに十分であること。 AGENDA_SHOW_LINKED_OBJECT=リンクされたオブジェクトを議題ビューに表示する ##### Clicktodial ##### ClickToDialSetup=モジュールの設定をダイヤルする】をクリックする ClickToDialUrlDesc=電話のpictoをクリックすると、URLが呼び出される。 URLには、使用することができるタグ
    __PHONETO__ その
    __PHONEFROM__ clicktodialに置き換えられる人 ( あなた ) を呼び出すの電話番号
    __LOGIN__ に置き換えられるそれを呼び出すために人の電話番号に置き換えられるログイン ( ユーザカードで定義 )
    __PASS__ これはクリックダイヤルパスワード ( ユーザカードで定義 ) に置き換えられる。 ClickToDialDesc=このモジュールは、デスクトップコンピュータを使用している場合、電話番号をクリック可能なリンクに変更する。クリックするとその番号に電話がかかる。これは、デスクトップでソフトフォンを使用している場合や、SIPプロトコルに基づくCTIシステムを使用している場合などに、通話を開始するために使用できる。注:スマートフォンを使用する場合、電話番号は常にクリック可能。 ClickToDialUseTelLink=電話番号にリンク「tel:」を使用する -ClickToDialUseTelLinkDesc=ユーザがブラウザと同じコンピュータにソフトフォンまたはソフトウェアインターフェイスをインストールしていて、ブラウザで「tel:」で始まるリンクをクリックすると呼び出される場合は、この方法を使用する。完全なサーバーソリューションが必要な場合 ( ローカルソフトウェアをインストールする必要がない場合 ) 、これを「いいえ」に設定して、次のフィールドに入力する必要がある。 +ClickToDialUseTelLinkDesc=ユーザがソフトフォンまたはソフトウェアインターフェイスを使用していて、ブラウザと同じコンピュータにインストールされており、ブラウザで「tel:」で始まるリンクをクリックすると呼び出される場合は、この方法を使用する。 「sip:」で始まるリンクまたは完全なサーバーソリューション(ローカルソフトウェアのインストールは不要)が必要な場合は、これを「いいえ」に設定して、次のフィールドに入力すること。 ##### Point Of Sale (CashDesk) ##### CashDesk=POS CashDeskSetup=POSモジュールの設定 @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=PDFの右マージン MAIN_PDF_MARGIN_TOP=PDFの上部マージン MAIN_PDF_MARGIN_BOTTOM=PDFの下マージン MAIN_DOCUMENTS_LOGO_HEIGHT=PDFのロゴの高さ +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=プロポーズラインに写真を追加 +PROPOSAL_PDF_HIDE_PAYMENTTERM=支払い条件を非表示にする +PROPOSAL_PDF_HIDE_PAYMENTMODE=支払いモードを非表示にする +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=PDFで電子サインを追加する NothingToSetup=このモジュールに必要な特定の設定はない。 SetToYesIfGroupIsComputationOfOtherGroups=このグループが他のグループの計算である場合は、これをyesに設定する EnterCalculationRuleIfPreviousFieldIsYes=前のフィールドが「はい」に設定されている場合は、計算ルールを入力。
    例:
    CODEGRP1+CODEGRP2 @@ -2029,7 +2048,7 @@ WithoutDolTrackingID=Dolibarrから送信されていない最初の電子メー WithDolTrackingIDInMsgId=Dolibarrから送信されたメッセージ WithoutDolTrackingIDInMsgId=Dolibarrからメッセージが送信されていない CreateCandidature=求人応募を作成する -FormatZip=ZIP +FormatZip=郵便番号 MainMenuCode=メニュー入力コード ( メインメニュー ) ECMAutoTree=自動ECMツリーを表示する OperationParamDesc=アクションのオブジェクトに使用する値、または値を抽出する方法を定義する。例:
    objproperty1=SET:設定する値
    objproperty2=SET:__ objproperty1__を置き換えた値
    objproperty3=SETIFEMPTY:objproperty3がまだ定義されていない場合に使用される値
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:私の法人名は\\s([^\\s]*)

    プロパティを抽出または設定するための区切り文字としての 文字 ; を使う。 @@ -2064,7 +2083,7 @@ UseDebugBar=デバッグバーを使用する DEBUGBAR_LOGS_LINES_NUMBER=コンソールに保持する最後のログ行の数 WarningValueHigherSlowsDramaticalyOutput=警告、値を大きくすると出力が劇的に遅くなる ModuleActivated=モジュール%sがアクティブ化され、インターフェイスの速度が低下する -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) +ModuleActivatedWithTooHighLogLevel=モジュール%sが高すぎるロギングレベルでアクティブ化されている(パフォーマンスとセキュリティを向上させるために、より低いレベルを使用してみること) ModuleSyslogActivatedButLevelNotTooVerbose=モジュール%sがアクティブ化され、ログレベル(%s)が正しい(冗長すぎない) IfYouAreOnAProductionSetThis=実稼働環境を使用している場合は、このプロパティを%sに設定する必要がある。 AntivirusEnabledOnUpload=アップロードされたファイルでウイルス対策が有効になっている @@ -2078,7 +2097,7 @@ LargerThan=より大きい IfTrackingIDFoundEventWillBeLinked=オブジェクトの追跡IDが電子メールで見つかった場合、または電子メールがすでに収集されてオブジェクトにリンクされている電子メールの回答である場合、作成されたイベントは既知の関連オブジェクトに自動的にリンクされる。 WithGMailYouCanCreateADedicatedPassword=Gmailアカウントで、2段階検証を有効にした場合は、https://myaccount.google.com/ での自分のGoogleパスワードを使わないで、アプリケーション専用の2番目のパスワードを作成することを勧める。 EmailCollectorTargetDir=正常に処理されたときに電子メールを別のタグ/ディレクトリに移動することが望ましい動作である可能性がある。この機能を使用するには、ここでディレクトリの名前を設定するだけ ( 名前に特殊文字を使用しないこと ) 。読み取り/書き込みログインアカウントも使用する必要があることに注意すること。 -EmailCollectorLoadThirdPartyHelp=このアクションを使用すれば、メール内容を利用したデータベース内の既存の取引先の検索とロードができる。見つかった ( または作成された ) 取引先は、それを必要とする次のアクションに使用される。パラメータフィールドni\n、たとえば、'EXTRACT:BODY:Name:\\s(【^\\s】*)' と入れることで、本文の文字列 'Name: name to find' から取引先の名前を抽出するできる。 +EmailCollectorLoadThirdPartyHelp=このアクションを使用すると、メールコンテンツを使用して、データベース内の既存の取引先を検索してロードできる。見つかった(または作成された)取引先は、それを必要とする次のアクションに使用される。
    たとえば、本文にて「Name: 見尽名前」という文字列から抽出した名前を使って取引先名を登録するには、送信者メールをemailと置いて、次のようにパラメータフィールドを設定できる。
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
      EndPointFor=%sのエンドポイント:%s DeleteEmailCollector=メールコレクターを削除する ConfirmDeleteEmailCollector=このメールコレクターを削除してもよいか? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=ドキュメントにプロジェクトを表示 ShowProjectLabel=プロジェクトラベル PDF_USE_ALSO_LANGUAGE_CODE=PDF内の一部のテキストを同じ生成PDFで2つの異なる言語で複製する場合は、ここでこの2番目の言語を設定して、生成されたPDFに同じページに2つの異なる言語が含まれるようにする必要がある。1つはPDFの生成時に選択され、もう1つは ( これをサポートしているPDFテンプレートはごくわずか ) 。 PDFごとに1つの言語を空のままにする。 FafaIconSocialNetworksDesc=FontAwesomeアイコンのコードをここに入力する。 FontAwesomeとは何かわからない場合は、一般的な値fa-address-bookを使用できる。 -FeatureNotAvailableWithReceptionModule=モジュールの受信が有効になっている場合、この機能は使用できない RssNote=注:各RSSフィード定義は、ダッシュボードで使用できるようにするために有効にする必要があるウィジェットを提供する JumpToBoxes=【設定】-> 【ウィジェット】にジャンプする MeasuringUnitTypeDesc=ここでは、「サイズ」、「表面」、「体積」、「重量」、「時間」などの値を使用する @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=このIDを取得するには、銀行に問い合わせる AdvancedModeOnly=許可は、高度な許可モードでのみ使用可能 ConfFileIsReadableOrWritableByAnyUsers=confファイルは、どのユーザでも読み取りまたは書き込みが可能。 Webサーバーのユーザとグループにのみアクセス許可を与える。 MailToSendEventOrganization=イベント組織 +MailToPartnership=パートナーシップ AGENDA_EVENT_DEFAULT_STATUS=フォームからイベントを作成するときのデフォルトのイベントステータス YouShouldDisablePHPFunctions=PHP関数を無効にする必要がある -IfCLINotRequiredYouShouldDisablePHPFunctions=システムコマンドを実行する必要がある場合を除いて(たとえば、モジュールのスケジュールされたジョブの場合、または外部コマンドラインアンチウイルスを実行する場合)、PHP関数を無効にする必要がある。 +IfCLINotRequiredYouShouldDisablePHPFunctions=カスタムコードでシステムコマンドを実行する必要がある場合を除いて、PHP関数を無効にする必要がある +PHPFunctionsRequiredForCLI=シェルの目的(スケジュールされたジョブのバックアップやanitivursプログラムの実行など)では、PHP関数を保持する必要がある NoWritableFilesFoundIntoRootDir=共通プログラムの書き込み可能なファイルまたはディレクトリがルートディレクトリに見つからない(良好) RecommendedValueIs=推奨:%s +Recommended=推奨される +NotRecommended=推奨されない ARestrictedPath=制限されたパス CheckForModuleUpdate=外部モジュールの更新を確認する CheckForModuleUpdateHelp=このアクションは、外部モジュールのエディターに接続して、新しいバージョンが利用可能かどうかを確認する。 ModuleUpdateAvailable=アップデートが利用可能 NoExternalModuleWithUpdate=外部モジュールの更新が見つからない SwaggerDescriptionFile=Swagger API記述ファイル(たとえば、redocで使用するため) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=非推奨のWS APIが有効化された。それよりもREST APIを使用すべきである。 +RandomlySelectedIfSeveral=画像が複数ある場合はランダムに選択 +DatabasePasswordObfuscated=データベースのパスワードは conf ファイルで難読化されている +DatabasePasswordNotObfuscated=データベースのパスワードは conf ファイルで難読化されていない +APIsAreNotEnabled=APIモジュールが有効になっていない +YouShouldSetThisToOff=これを0またはオフに設定する必要がある +InstallAndUpgradeLockedBy=インストールとアップグレードはファイル%sによってロックされる +OldImplementation=古い実装 diff --git a/htdocs/langs/ja_JP/agenda.lang b/htdocs/langs/ja_JP/agenda.lang index 28de5134a6f..bef2a7c7234 100644 --- a/htdocs/langs/ja_JP/agenda.lang +++ b/htdocs/langs/ja_JP/agenda.lang @@ -38,6 +38,7 @@ ActionsEvents=Dolibarrが自動的に議題でアクションを作成する対 EventRemindersByEmailNotEnabled=電子メールによるイベントリマインダーは、%sモジュールセットアップで有効になっていなかった。 ##### Agenda event labels ##### NewCompanyToDolibarr=取引先%sが作成されました +COMPANY_MODIFYInDolibarr=取引先%s変更 COMPANY_DELETEInDolibarr=取引先%sが削除されました ContractValidatedInDolibarr=契約%sが承認されました CONTRACT_DELETEInDolibarr=契約%sが削除されました @@ -87,6 +88,7 @@ OrderDeleted=注文は削除済 InvoiceDeleted=請求書は削除済 DraftInvoiceDeleted=ドラフト請求書は削除済 CONTACT_CREATEInDolibarr=作成された連絡先%s +CONTACT_MODIFYInDolibarr=連絡先%s変更 CONTACT_DELETEInDolibarr=連絡先%sは削除済 PRODUCT_CREATEInDolibarr=製品%sは作成済 PRODUCT_MODIFYInDolibarr=製品%sは変更済 diff --git a/htdocs/langs/ja_JP/banks.lang b/htdocs/langs/ja_JP/banks.lang index 0030003d981..90d62c372e5 100644 --- a/htdocs/langs/ja_JP/banks.lang +++ b/htdocs/langs/ja_JP/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=社会/財政税の支払 BankTransfer=銀行口座振替 BankTransfers=クレジット転送 MenuBankInternalTransfer=内部転送 -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=内部転送を使用して、あるアカウントから別のアカウントに転送する。アプリケーションは、ソースアカウントの借方とターゲットアカウントの貸方の2つのレコードを書き込む。この取引には、同じ金額、ラベル、日付が使用される。 TransferFrom=期初 TransferTo=期末 TransferFromToDone=%s %s %sからの%sへの転送が記録されている。 CheckTransmitter=差出人 ValidateCheckReceipt=この小切手領収書を検証するか? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=検証のため、この小切手領収書を提出してよいか?検証後は変更できない。 DeleteCheckReceipt=この小切手領収書を削除か? ConfirmDeleteCheckReceipt=この小切手領収書を削除してもよいか? BankChecks=銀行小切手 @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=この入力を削除してもよいか? ThisWillAlsoDeleteBankRecord=これにより、生成された銀行入力も削除される BankMovements=動作 PlannedTransactions=予定入力 -Graph=Graphs +Graph=グラフ ExportDataset_banque_1=銀行入力と口座明細書 ExportDataset_banque_2=預金伝票 TransactionOnTheOtherAccount=他の口座でのトランザクション @@ -142,7 +142,7 @@ AllAccounts=すべての銀行口座と現金口座 BackToAccount=口座へ戻る ShowAllAccounts=すべての口座に表示 FutureTransaction=先物取引。照合できません。 -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=小切手預金の領収書に含める小切手を選択/フィルタリングする。次に、「作成」をクリックする。 InputReceiptNumber=調停に関連する銀行取引明細書を選択する。ソート可能な数値を使用する:YYYYMMまたはYYYYMMDD EventualyAddCategory=最終的に、レコードを分類するカテゴリを指定する ToConciliate=照合するには? diff --git a/htdocs/langs/ja_JP/bills.lang b/htdocs/langs/ja_JP/bills.lang index 10e553423b9..daf0b2ac808 100644 --- a/htdocs/langs/ja_JP/bills.lang +++ b/htdocs/langs/ja_JP/bills.lang @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=支払った超過分を利用可能な割引に変換 EnterPaymentReceivedFromCustomer=顧客から受け取った支払を入力。 EnterPaymentDueToCustomer=顧客ために支払をする DisabledBecauseRemainderToPayIsZero=未払残りがゼロであるため無効 -PriceBase=Base price +PriceBase=本体価格 BillStatus=請求書の状況 StatusOfGeneratedInvoices=生成された請求書のステータス BillStatusDraft=下書き(検証する必要がある) @@ -259,6 +259,7 @@ DateMaxPayment=支払期日 DateInvoice=請求書の日付 DatePointOfTax=税のポイント NoInvoice=請求書なし +NoOpenInvoice=未処理の請求書はない ClassifyBill=請求書の分類 SupplierBillsToPay=未払仕入先請求書 CustomerBillsUnpaid=未払顧客請求書 @@ -281,9 +282,9 @@ ExportDataset_invoice_1=顧客請求書と請求書の詳細 ExportDataset_invoice_2=顧客請求書と支払 ProformaBill=プロフォーマビル: Reduction=削減 -ReductionShort=ディスク。 +ReductionShort=割引率 Reductions=削減 -ReductionsShort=ディスク。 +ReductionsShort=割引率 Discounts=割引 AddDiscount=割引を作成。 AddRelativeDiscount=相対的なディスカウントを作成。 @@ -368,7 +369,7 @@ ConfirmOuting=外出を確認する FrequencyPer_d=%s日ごと FrequencyPer_m=%sか月ごと FrequencyPer_y=%s年ごと -FrequencyUnit=周波数単位 +FrequencyUnit=周期の単位 toolTipFrequency=例:
    セット7、日:7日ごとに新規請求書を発行
    セット3、月:3か月ごとに新規請求書を発行 NextDateToExecution=次の請求書生成の日付 NextDateToExecutionShort=次世代の日付。 @@ -454,7 +455,7 @@ RegulatedOn=に規制 ChequeNumber=Nを確認して° ChequeOrTransferNumber=転送チェック/ N° ChequeBordereau=スケジュールを確認する -ChequeMaker=Check/Transfer sender +ChequeMaker=送信者の確認/転送 ChequeBank=チェックの銀行 CheckBank=チェック NetToBePaid=支払われるネット @@ -589,3 +590,4 @@ FacParentLine=請求書明細の親 SituationTotalRayToRest=税抜き支払残 PDFSituationTitle=状況番号%d SituationTotalProgress=総進捗状況%d%% +SearchUnpaidInvoicesWithDueDate=期日が%sの未払請求書を検索する diff --git a/htdocs/langs/ja_JP/boxes.lang b/htdocs/langs/ja_JP/boxes.lang index 7d79722f9cf..af4211c0f62 100644 --- a/htdocs/langs/ja_JP/boxes.lang +++ b/htdocs/langs/ja_JP/boxes.lang @@ -30,27 +30,27 @@ BoxTitleLastProducts=製品/サービス:最後に変更された%s BoxTitleProductsAlertStock=製品:在庫アラート BoxTitleLastSuppliers=最新の%s記録されたサプライヤー BoxTitleLastModifiedSuppliers=仕入先:最後に変更された%s -BoxTitleLastModifiedCustomers=お客様:最後に変更された%s +BoxTitleLastModifiedCustomers=最近修正された顧客:%s件 BoxTitleLastCustomersOrProspects=最新の%sの顧客または見込み客 -BoxTitleLastCustomerBills=最新の%s変更された顧客の請求書 +BoxTitleLastCustomerBills=最近修正された請求書:%s件 BoxTitleLastSupplierBills=最新の%s変更された仕入先の請求書 BoxTitleLastModifiedProspects=見通し:最後に変更された%s BoxTitleLastModifiedMembers=最新の%sメンバー BoxTitleLastFicheInter=最新の%s修正された介入 -BoxTitleOldestUnpaidCustomerBills=顧客の請求書:最も古い%s未払い +BoxTitleOldestUnpaidCustomerBills=未入金の請求書:最古から%s件 BoxTitleOldestUnpaidSupplierBills=仕入先の請求書:最も古い%s未払い BoxTitleCurrentAccounts=開設中口座:残高 BoxTitleSupplierOrdersAwaitingReception=受付待ちのサプライヤー注文 -BoxTitleLastModifiedContacts=連絡先/アドレス:最後に変更された%s +BoxTitleLastModifiedContacts=最近修正された連絡先・アドレス:%s件 BoxMyLastBookmarks=ブックマーク:最新の%s BoxOldestExpiredServices=最も古いアクティブな期限切れのサービス BoxLastExpiredServices=アクティブな期限切れのサービスを持つ最新の%s最も古い連絡先 BoxTitleLastActionsToDo=実行する最新の%sアクション -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=変更された最新の%s契約 +BoxTitleLastModifiedDonations=変更された最新の%s寄付 +BoxTitleLastModifiedExpenses=変更された最新の%s経費報告書 +BoxTitleLatestModifiedBoms=変更された最新の%sBOM +BoxTitleLatestModifiedMos=変更された最新の%s製造オーダー BoxTitleLastOutstandingBillReached=最大未払い額を超えた顧客 BoxGlobalActivity=グローバルアクティビティ(請求書、提案、注文) BoxGoodCustomers=良い顧客 @@ -62,18 +62,18 @@ LastRefreshDate=最新の更新日 NoRecordedBookmarks=ブックマークが定義されていない。 ClickToAdd=追加するにはここをクリックしてください。 NoRecordedCustomers=記録された顧客がない -NoRecordedContacts=全く記録されたコンタクトません +NoRecordedContacts=コンタクトの記録なし NoActionsToDo=そうするアクションはない NoRecordedOrders=記録された販売注文はない -NoRecordedProposals=全く記録された提案はない -NoRecordedInvoices=顧客の請求書は記録されていない +NoRecordedProposals=提案の記録なし +NoRecordedInvoices=顧客の請求書の登録なし NoUnpaidCustomerBills=未払いの顧客請求書はない NoUnpaidSupplierBills=未払いの仕入先の請求書はない NoModifiedSupplierBills=仕入先の請求書は記録されていない NoRecordedProducts=記録された商品はない/サービスなし NoRecordedProspects=全く記録された見通しなし -NoContractedProducts=ない製品/サービスは、契約しない -NoRecordedContracts=全く記録された契約をしない +NoContractedProducts=製品/サービスの契約なし +NoRecordedContracts=契約の記録なし NoRecordedInterventions=記録された介入はない BoxLatestSupplierOrders=最新の注文書 BoxLatestSupplierOrdersAwaitingReception=最新の注文書(受付待ち) @@ -83,16 +83,16 @@ BoxSuppliersInvoicesPerMonth=1か月あたりの仕入先の請求書 BoxCustomersOrdersPerMonth=1か月あたりの販売注文 BoxSuppliersOrdersPerMonth=1か月あたりの仕入先注文 BoxProposalsPerMonth=1か月あたりの提案 -NoTooLowStockProducts=在庫の下限を下回っている製品はない -BoxProductDistribution=製品/サービスの配布 +NoTooLowStockProducts=最低在庫数以下の製品なし +BoxProductDistribution=製品/サービスの分類 ForObject=%sで BoxTitleLastModifiedSupplierBills=仕入先の請求書:最後に変更された%s BoxTitleLatestModifiedSupplierOrders=仕入先の注文:最後に変更された%s -BoxTitleLastModifiedCustomerBills=顧客の請求書:最後に変更された%s -BoxTitleLastModifiedCustomerOrders=受注:最後の%s変更 +BoxTitleLastModifiedCustomerBills=最近変更された請求書:%s件 +BoxTitleLastModifiedCustomerOrders=最近変更された受注:%s件 BoxTitleLastModifiedPropals=最新の%s変更された提案 -BoxTitleLatestModifiedJobPositions=最新の%s変更されたジョブ -BoxTitleLatestModifiedCandidatures=最新の%s修正候補 +BoxTitleLatestModifiedJobPositions=最新の%s変更された求人 +BoxTitleLatestModifiedCandidatures=最新の%s変更された求人応募 ForCustomersInvoices=顧客の請求書 ForCustomersOrders=顧客の注文 ForProposals=提案 @@ -108,12 +108,12 @@ BoxTitleSuspenseAccount=未割り当て回線の数 NumberOfLinesInSuspenseAccount=仮勘定の行数 SuspenseAccountNotDefined=一時停止アカウントが定義されていない BoxLastCustomerShipments=最後の顧客の出荷 -BoxTitleLastCustomerShipments=最新の%s顧客出荷 +BoxTitleLastCustomerShipments=最近の顧客宛出荷:%s件 NoRecordedShipments=顧客の出荷は記録されていない BoxCustomersOutstandingBillReached=上限に達した顧客 # Pages UsersHome=ユーザとグループ -MembersHome=メンバシップ +MembersHome=メンバーシップ ThirdpartiesHome=取引先 TicketsHome=チケット AccountancyHome=会計 diff --git a/htdocs/langs/ja_JP/cashdesk.lang b/htdocs/langs/ja_JP/cashdesk.lang index 51f97f98bab..fa5b9cff2bd 100644 --- a/htdocs/langs/ja_JP/cashdesk.lang +++ b/htdocs/langs/ja_JP/cashdesk.lang @@ -41,8 +41,8 @@ Floor=床 AddTable=テーブルを追加 Place=場所 TakeposConnectorNecesary=「TakePOSコネクタ」が必要 -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=支払いなしで特定のプリンターに注文を送信するためのボタンを追加する(たとえば、キッチンに注文を送信するため) +NotAvailableWithBrowserPrinter=受信用のプリンターがブラウザーに設定されている場合は使用できない。 SearchProduct=製品を検索する Receipt=領収書 Header=ヘッダ @@ -59,7 +59,7 @@ BillsCoinsPad=硬貨と紙幣パッド DolistorePosCategory=Dolibarr用のTakePOSモジュールおよびその他のPOSソリューション TakeposNeedsCategories=TakePOSが機能するには、少なくとも1つの製品カテゴリが必要 TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOSが機能するには、カテゴリ %sの下に少なくとも1つの製品カテゴリが必要。 -OrderNotes=Can add some notes to each ordered items +OrderNotes=注文した各アイテムにメモを追加できる CashDeskBankAccountFor=での支払いに使用するデフォルトのアカウント NoPaimementModesDefined=TakePOS構成で定義された支払いモードはあらない TicketVatGrouped=チケットのレートでVATをグループ化|領収書 @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=請求書はすでに検証されている NoLinesToBill=請求する行がない CustomReceipt=カスタム領収書 ReceiptName=領収書名 -ProductSupplements=Manage supplements of products +ProductSupplements=製品のサプリメントを管理する SupplementCategory=サプリメントカテゴリー ColorTheme=カラーテーマ Colorful=カラフル @@ -94,7 +94,7 @@ Browser=ブラウザ BrowserMethodDescription=シンプルで簡単なレシート印刷。レシートを構成するためのいくつかのパラメーターのみ。ブラウザ経由で印刷。 TakeposConnectorMethodDescription=追加機能を備えた外部モジュール。クラウドから印刷する可能性。 PrintMethod=印刷方法 -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=多くのパラメータを持つ強力な方法。テンプレートで完全にカスタマイズ可能。アプリケーションをホストしているサーバーをクラウドに配置することはできない(ネットワーク内のプリンターにアクセスできる必要がある)。 ByTerminal=ターミナルで TakeposNumpadUsePaymentIcon=テンキーの支払いボタンのテキストの代わりにアイコンを使用する CashDeskRefNumberingModules=POS販売用の番号付けモジュール @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} タグは端末番号を追加す TakeposGroupSameProduct=同じ製品ラインをグループ化する StartAParallelSale=新規並行販売を開始する SaleStartedAt=%sから販売開始 -ControlCashOpening=POSを開くときにキャッシュポップアップを制御する +ControlCashOpening=POSを開くときに「現金の管理」ポップアップを開く CloseCashFence=現金出納帳制御を閉じる CashReport=現金レポート MainPrinterToUse=使用するメインプリンター @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=モジュールレシートプリンターを AllowDelayedPayment=支払いの遅延を許可する PrintPaymentMethodOnReceipts=チケットに支払い方法を印刷する|領収書 WeighingScale=体重計 -ShowPriceHT = 税抜きの価格を表示する列 -ShowPriceHTOnReceipt = 領収書に税抜きの価格を表示する +ShowPriceHT = 税抜き価格の列を表示する(画面上) +ShowPriceHTOnReceipt = (領収書に)税抜き価格の列を表示する +CustomerDisplay=カスタマーディスプレイ diff --git a/htdocs/langs/ja_JP/categories.lang b/htdocs/langs/ja_JP/categories.lang index 80b2eb17656..d95c64b30e6 100644 --- a/htdocs/langs/ja_JP/categories.lang +++ b/htdocs/langs/ja_JP/categories.lang @@ -3,20 +3,20 @@ Rubrique=タグ/カテゴリ Rubriques=タグ/カテゴリ RubriquesTransactions=タグ/トランザクションのカテゴリ categories=タグ/カテゴリ -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=このタイプのタグ/カテゴリは作成されていない In=で AddIn=加える modify=修正する Classify=分類する CategoriesArea=タグ/カテゴリエリア -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=製品/サービスタグ/カテゴリ領域 +SuppliersCategoriesArea=仕入先タグ/カテゴリエリア +CustomersCategoriesArea=顧客タグ/カテゴリ領域 +MembersCategoriesArea=メンバータグ/カテゴリエリア +ContactsCategoriesArea=連絡先タグ/カテゴリ領域 +AccountsCategoriesArea=銀行口座のタグ/カテゴリ領域 +ProjectsCategoriesArea=プロジェクトタグ/カテゴリ領域 +UsersCategoriesArea=ユーザータグ/カテゴリ領域 SubCats=サブカテゴリ CatList=タグ/カテゴリのリスト CatListAll=タグ/カテゴリのリスト(すべての種別) @@ -96,4 +96,4 @@ ChooseCategory=カテゴリを選択 StocksCategoriesArea=倉庫カテゴリ ActionCommCategoriesArea=イベントカテゴリ WebsitePagesCategoriesArea=ページ-コンテナカテゴリ -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=カテゴリには「OR」演算子を使用する diff --git a/htdocs/langs/ja_JP/commercial.lang b/htdocs/langs/ja_JP/commercial.lang index 4aca0632553..bfc7516315c 100644 --- a/htdocs/langs/ja_JP/commercial.lang +++ b/htdocs/langs/ja_JP/commercial.lang @@ -2,9 +2,9 @@ Commercial=コマース CommercialArea=コマースエリア Customer=顧客 -Customers=顧客s +Customers=顧客 Prospect=見込 -Prospects=見込s +Prospects=見込 DeleteAction=イベントを削除 NewAction=新規イベント AddAction=イベントを作成 @@ -53,7 +53,7 @@ ActionAC_FAX=FAX送信 ActionAC_PROP=メールで提案を送信 ActionAC_EMAIL=電子メールを送信 ActionAC_EMAIL_IN=メールの受信 -ActionAC_RDV=打合せs +ActionAC_RDV=打ち合わせ ActionAC_INT=現場での介入 ActionAC_FAC=メールでの顧客の請求書を送信 ActionAC_REL=メール(リマインダー)が顧客の請求書を送付 @@ -64,10 +64,11 @@ ActionAC_SHIP=メールでの発送を送信 ActionAC_SUP_ORD=メールで注文書を送信 ActionAC_SUP_INV=ベンダーの請求書をメールで送信 ActionAC_OTH=その他 -ActionAC_OTH_AUTO=自動的に挿入されるイベント +ActionAC_OTH_AUTO=その他の自動車 ActionAC_MANUAL=手動で挿入されたイベント ActionAC_AUTO=自動的に挿入されるイベント -ActionAC_OTH_AUTOShort=自動 +ActionAC_OTH_AUTOShort=その他 +ActionAC_EVENTORGANIZATION=イベント主催イベント Stats=販売統計 StatusProsp=見込の状態 DraftPropals=売買契約提案書の下書き diff --git a/htdocs/langs/ja_JP/companies.lang b/htdocs/langs/ja_JP/companies.lang index 0ae62e2ebc3..4ab1a51e9ff 100644 --- a/htdocs/langs/ja_JP/companies.lang +++ b/htdocs/langs/ja_JP/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=法人名 %s は既存です。別のを選択してください。 ErrorSetACountryFirst=始めに国を設定する SelectThirdParty=取引先を選択します -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=この法人とすべての関連情報を削除してもよいか? DeleteContact=連絡先/住所を削除 -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=この連絡先とすべての関連情報を削除してもよいか? MenuNewThirdParty=新規取引先 MenuNewCustomer=新規顧客 MenuNewProspect=新規見込客 @@ -69,7 +69,7 @@ PhoneShort=電話 Skype=Skype Call=電話 Chat=チャット -PhonePro=Bus. phone +PhonePro=バス。電話 PhonePerso=個人電話 PhoneMobile=携帯電話 No_Email=大量メールを拒否 @@ -78,7 +78,7 @@ Zip=郵便番号 Town=区市町村 Web=ウェブ Poste= 位置 -DefaultLang=Default language +DefaultLang=既定の言語 VATIsUsed=消費税項目使用中 VATIsUsedWhenSelling=この定義は、取引先が顧客に請求を作る時の消費 税込/税抜 を指定するもの VATIsNotUsed=消費税項目不使用 @@ -331,7 +331,7 @@ CustomerCodeDesc=顧客コード、全顧客でユニーク SupplierCodeDesc=仕入先コード、全仕入先でユニーク RequiredIfCustomer=取引先が顧客または見込客である場合は必須 RequiredIfSupplier=取引先が仕入先である場合は必須 -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=モジュールによって制御される有効性 ThisIsModuleRules=このモジュールのルールs ProspectToContact=連絡する見込客 CompanyDeleted=法人 "%s" はデータベースから削除。 @@ -439,23 +439,23 @@ ListSuppliersShort=仕入先の一覧 ListProspectsShort=見込客の一覧 ListCustomersShort=顧客の一覧 ThirdPartiesArea=取引先s/連絡先s -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=変更された最新の%s取引先 +UniqueThirdParties=取引先の総数 InActivity=開く ActivityCeased=閉じる ThirdPartyIsClosed=閉鎖した取引先 -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=%sにマップされた製品/サービスのリスト CurrentOutstandingBill=現在の未払い勘定 OutstandingBill=未払い勘定での最大値 OutstandingBillReached=受領済未払い勘定での最大値 OrderMinAmount=注文の最小数量 MonkeyNumRefModelDesc=戻る数値の形式は、顧客コードの場合は%syymm-nnnn の形式、仕入先コードの場合は%syymm-nnnn の形式。ここで、yyは年、mmは月、nnnnは自動増加順次番号で切れ目なく0戻りしない数値。 LeopardNumRefModelDesc=顧客/サプライヤーコードは無料です。このコードは、いつでも変更することができます。 -ManagingDirectors=管理職(s)名称 (CEO, 部長, 社長...) +ManagingDirectors=管理職名称 (CEO, 部長, 社長...) MergeOriginThirdparty=重複する取引先 (削除したい取引先) -MergeThirdparties=仕入先sを集約 -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. -ThirdpartiesMergeSuccess=仕入先sは集約済 +MergeThirdparties=取引先を統合 +ConfirmMergeThirdparties=選択した取引先を現在の取引先とマージしてもよいか?リンクされたすべてのオブジェクト (請求書、注文など) は現在の取引先に移動され、その後、選択された取引先が削除される。 +ThirdpartiesMergeSuccess=取引先は統合されました SaleRepresentativeLogin=販売担当者のログイン SaleRepresentativeFirstname=販売担当者の姓名の名 SaleRepresentativeLastname=販売担当者の姓 diff --git a/htdocs/langs/ja_JP/compta.lang b/htdocs/langs/ja_JP/compta.lang index 355fa23d9d0..58216142460 100644 --- a/htdocs/langs/ja_JP/compta.lang +++ b/htdocs/langs/ja_JP/compta.lang @@ -135,7 +135,7 @@ NewCheckReceipt=新規割引 NewCheckDeposit=新規チェック預金 NewCheckDepositOn=%s:科目上で預金の領収書を作成する NoWaitingChecks=入金待ちの小切手はない。 -DateChequeReceived=Check receiving date +DateChequeReceived=受領日を確認する NbOfCheques=小切手の数 PaySocialContribution=社会税/財政税を支払う PayVAT=VAT申告を支払う @@ -286,3 +286,9 @@ ReportPurchaseTurnover=請求済購入取引高 ReportPurchaseTurnoverCollected=回収済購入取引高 IncludeVarpaysInResults = レポートにさまざまな支払を含める IncludeLoansInResults = レポートにローンを含める +InvoiceLate30Days = 30日を超える請求書 +InvoiceLate15Days = 15日以上遅れた請求書 +InvoiceLateMinus15Days = 請求書遅延 +InvoiceNotLate = 15日未満で回収される +InvoiceNotLate15Days = 15日で回収される +InvoiceNotLate30Days = 30日で回収される diff --git a/htdocs/langs/ja_JP/cron.lang b/htdocs/langs/ja_JP/cron.lang index 0a94274deb6..3b9f9a8d97a 100644 --- a/htdocs/langs/ja_JP/cron.lang +++ b/htdocs/langs/ja_JP/cron.lang @@ -14,8 +14,8 @@ FileToLaunchCronJobs=修飾されたcronジョブをチェックして起動す CronExplainHowToRunUnix=Unix環境では、次のcrontabエントリを使用して、5分ごとにコマンドラインを実行する必要がある。 CronExplainHowToRunWin=Microsoft(tm)Windows環境では、スケジュールされたタスクツールを使用して、5分ごとにコマンドラインを実行できる。 CronMethodDoesNotExists=クラス%sには、メソッド%sが含まれていない。 -CronMethodNotAllowed=クラス%sのメソッド%sは、禁止されているメソッドのブラックリストに含まれています -CronJobDefDesc=cronジョブプロファイルは、モジュール記述子ファイルに定義されています。モジュールがアクティブ化されると、それらがロードされて使用可能になるため、管理ツールメニュー%sからジョブを管理できる。 +CronMethodNotAllowed=クラス%sのメソッド%sは、禁止されているメソッドのブラックリストに含まれている +CronJobDefDesc=cronジョブプロファイルは、モジュール記述子ファイルに定義されている。モジュールがアクティブ化されると、それらがロードされて使用可能になるため、管理ツールメニュー%sからジョブを管理できる。 CronJobProfiles=事前定義されたcronジョブプロファイルのリスト # Menu EnabledAndDisabled=有効および無効 @@ -60,7 +60,7 @@ CronErrEndDateStartDt=終了日を開始日より前にすることはできな StatusAtInstall=モジュールインストール時のステータス CronStatusActiveBtn=スケジュール CronStatusInactiveBtn=無効にする -CronTaskInactive=このジョブは無効になっている +CronTaskInactive=このジョブは無効になっている(スケジュールされていない) CronId=Id CronClassFile=クラスのあるファイル名 CronModuleHelp=Dolibarrモジュールディレクトリの名前(外部Dolibarrモジュールでも機能する).
    たとえば、Dolibarr製品オブジェクト /htdocs/product/class/product.class.php のfetchメソッドを呼び出す場合、 モジュールの値は
    product diff --git a/htdocs/langs/ja_JP/deliveries.lang b/htdocs/langs/ja_JP/deliveries.lang index fd9cbcae01d..950d219d9cb 100644 --- a/htdocs/langs/ja_JP/deliveries.lang +++ b/htdocs/langs/ja_JP/deliveries.lang @@ -9,7 +9,7 @@ DeliveryStateSaved=保存された配送状態 SetDeliveryDate=出荷の日付を設定する ValidateDeliveryReceipt=配送の領収書を検証する ValidateDeliveryReceiptConfirm=この配送領収書を検証してもよいか? -DeleteDeliveryReceipt=配送済みメッセージを削除する +DeleteDeliveryReceipt=配送済メッセージを削除する DeleteDeliveryReceiptConfirm=領収書%s を削除してもよいか? DeliveryMethod=配送方法 TrackingNumber=追跡番号 @@ -27,5 +27,7 @@ Recipient=受領者 ErrorStockIsNotEnough=在庫が不足 Shippable=発送可能 NonShippable=発送不可 +ShowShippableStatus=出荷可能なステータスを表示する ShowReceiving=配送領収書を表示する NonExistentOrder=存在しない注文 +StockQuantitiesAlreadyAllocatedOnPreviousLines = 前の行にすでに割り当てられている在庫数量 diff --git a/htdocs/langs/ja_JP/ecm.lang b/htdocs/langs/ja_JP/ecm.lang index b622ef8aee2..82a2e56aec0 100644 --- a/htdocs/langs/ja_JP/ecm.lang +++ b/htdocs/langs/ja_JP/ecm.lang @@ -42,6 +42,6 @@ ExtraFieldsEcmFiles=ExtrafieldsEcmファイル ExtraFieldsEcmDirectories=ExtrafieldsEcmディレクトリ ECMSetup=ECMセットアップ GenerateImgWebp=すべての画像を.webp形式の別のバージョンで複製する -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... +ConfirmGenerateImgWebp=確認すると、現在このフォルダーにあるすべての画像に対して.webp形式の画像が生成される(サブフォルダーは含まれない)... ConfirmImgWebpCreation=すべての画像の重複を確認する SucessConvertImgWebp=画像が正常に複製された diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index 6f682279738..054e443e670 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=エラーなし、コミットする # Errors ErrorButCommitIsDone=エラーが見つかったが、これにもかかわらず検証する -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=メール%sが正しくない +ErrorBadMXDomain=メール%sが正しくないよう (ドメインに有効なMXレコードがない) +ErrorBadUrl=URL%sが正しくない ErrorBadValueForParamNotAString=パラメータ の値が正しくない。通常、翻訳が欠落している場合に追加される。 ErrorRefAlreadyExists=参照%sはすでに存在する。 ErrorLoginAlreadyExists=ログイン%sはすでに存在している。 ErrorGroupAlreadyExists=グループ%sはすでに存在している。 +ErrorEmailAlreadyExists=メール%sはすでに存在する。 ErrorRecordNotFound=レコードが見つからなかった。 ErrorFailToCopyFile="%s"にファイル"%s"をコピーに失敗した。 ErrorFailToCopyDir=ディレクトリ ' %s'を ' %s'にコピーできなかった。 @@ -46,8 +47,8 @@ ErrorWrongDate=日付が正しくない! ErrorFailedToWriteInDir=ディレクトリ%sの書き込みに失敗した ErrorFoundBadEmailInFile=ファイル内の%s線の発見誤った電子メールのシンタックス(電子メール= %sを使用したサンプルライン%s) ErrorUserCannotBeDelete=ユーザーを削除することはできない。多分それはDolibarrエンティティに関連付けられている。 -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=一部の必須フィールドは空白のままになっている。 +ErrorSubjectIsRequired=メールの件名が必要 ErrorFailedToCreateDir=ディレクトリの作成に失敗した。そのWebサーバのユーザがDolibarrのドキュメントディレクトリに書き込む権限を持って確認すること。パラメータ のsafe_modeがこのPHPが有効になっている場合、Dolibarr PHPファイルは、Webサーバーのユーザー(またはグループ)に所有していることを確認すること。 ErrorNoMailDefinedForThisUser=このユーザーに定義されたメールはない ErrorSetupOfEmailsNotComplete=メールの設定が完了していない @@ -111,13 +112,13 @@ ErrorForbidden=アクセスが拒否された。
    無効にされたモジュ ErrorForbidden2=このログインの許可は、メニュー%s - > %sからDolibarr管理者によって定義することができる。 ErrorForbidden3=そのDolibarrが認証セッションを介して使用されていないようだ。認証を(htaccessファイルは、mod_authまたは他の...)を管理する方法を知ってDolibarrセットアップドキュメントを見てみよう。 ErrorNoImagickReadimage=クラスImagickが、このPHPで発見さ​​れていない。なしプレビューは利用できない。管理者は、メニューのSetupから、このタブを無効にすることができる - 表示する。 -ErrorRecordAlreadyExists=レコードがすでに存在している +ErrorRecordAlreadyExists=すでに登録されています ErrorLabelAlreadyExists=このラベルはすでに存在する ErrorCantReadFile=ファイル"%s"を読み取ることができなかった ErrorCantReadDir=ディレクトリ"%s"を読み取ることができなかった ErrorBadLoginPassword=ログインまたはパスワードの値が正しくない ErrorLoginDisabled=あなたのアカウントは無効にされている -ErrorFailedToRunExternalCommand=外部コマンドの実行に失敗した。それはあなたのPHPサーバで利用可能と実行可能になったのを確認すること。 PHP セーフモードが有効になっている場合、コマンドは、パラメータ のsafe_mode_exec_dirのによって定義されたディレクトリ内にあることを確認すること。 +ErrorFailedToRunExternalCommand=外部コマンドの実行に失敗した。 PHPサーバーユーザーが利用可能で実行可能であることを確認すること。コマンドがapparmorのようなセキュリティレイヤーによってシェルレベルで保護されていないことも確認すること。 ErrorFailedToChangePassword=パスワードの変更に失敗した ErrorLoginDoesNotExists=ログイン%sを持つユーザーを見つけることができなかった。 ErrorLoginHasNoEmail=このユーザーは電子メールアドレスを持っていない。プロセスが中止された。 @@ -262,6 +263,8 @@ ErrorDateIsInFuture=エラー、日付を未来にすることはできない ErrorAnAmountWithoutTaxIsRequired=エラー、数量は必須 ErrorAPercentIsRequired=エラー、パーセンテージを正しく入力すること ErrorYouMustFirstSetupYourChartOfAccount=最初に勘定科目表を設定する必要がある +ErrorFailedToFindEmailTemplate=コードネーム%sのテンプレートが見つかりませんでした +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=サービスで期間が定義されていない。時給計算する方法がない。 # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHPパラメータ upload_max_filesize(%s)は、PHPパラメータ post_max_size(%s)よりも大きくなっている。これは一貫した設定ではない。 @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=モジュール%sが有効になっ ErrorActionCommPropertyUserowneridNotDefined=ユーザの所有者が必要 ErrorActionCommBadType=選択したイベント種別 (id: %n, code: %s) がイベント種別辞書に存在しない CheckVersionFail=バージョンチェックに失敗する +ErrorWrongFileName=ファイル名に__SOMETHING__を含めることはできない +ErrorNotInDictionaryPaymentConditions=支払条件辞書にないので、変更すること。 diff --git a/htdocs/langs/ja_JP/eventorganization.lang b/htdocs/langs/ja_JP/eventorganization.lang index b37d528374d..807915fc9fb 100644 --- a/htdocs/langs/ja_JP/eventorganization.lang +++ b/htdocs/langs/ja_JP/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=ブース出展用サブスクリプション価格 EventOrganizationICSLink=イベントのICSをリンクする ConferenceOrBoothInformation=会議またはブース情報 Attendees = 参加者 +DownloadICSLink = ICS リンクをダウンロード EVENTORGANIZATION_SECUREKEY = 会議への公開登録リンクのセキュアキー +SERVICE_BOOTH_LOCATION = ブースの場所に関する請求書の行に使用されるサービス +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = 会議への参加者のサブスクリプションに関する請求書の行に使用されるサービス +NbVotes=投票数 # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = キャンセル # # Public page # +SuggestForm = 提案ページ +RegisterPage = 会議やブースのページ +EvntOrgRegistrationHelpMessage = ここでは、イベントに投票したり、プロジェクトの新規会議やブースを提案したりできる。 +EvntOrgRegistrationConfHelpMessage = ここで、プロジェクトの新規会議を提案できる +EvntOrgRegistrationBoothHelpMessage = ここでは、プロジェクトの新規ブースを提案できる。 +ListOfSuggestedConferences = 提案された会議のリスト +ListOfSuggestedBooths = 提案ブース一覧 +SuggestConference = 新規会議を提案する +SuggestBooth = ブースを提案する +ViewAndVote = 提案されたイベントを表示して投票する PublicAttendeeSubscriptionPage = 会議登録への公開リンク MissingOrBadSecureKey = セキュリティキーが無効であるか欠落している -EvntOrgWelcomeMessage = このフォームを使用すると、会議の新規参加者として登録でる -EvntOrgStartDuration = この会議の開始は -EvntOrgEndDuration = で終わる +EvntOrgWelcomeMessage = このフォームを使用すると、会議: '%s' の新規参加者として登録できる +EvntOrgDuration = この会議は%sで始まり、%sで終わる。 +ConferenceAttendeeFee = イベント:「 '%s' 開催は%sから%sまで」への会議参加料金。 +BoothLocationFee = イベントのブース位置: '%s' で %s から %s まで +EventType = イベント種別 +LabelOfBooth=ブースラベル +LabelOfconference=会議ラベル +ConferenceIsNotConfirmed=サブスクリプションは利用不可、会議はまだ確定されていない +DateMustBeBeforeThan=%sは必ず%sの前 +DateMustBeAfterThan=%sは必ず%sの後 + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = 会議またはブースの提案ページへようこそ。 +EvntOrgRegistrationConfWelcomeMessage = カンファレンスの提案ページへようこそ。 +EvntOrgRegistrationBoothWelcomeMessage = ブース提案ページへようこそ。 +EvntOrgVoteHelpMessage = ここで、プロジェクトの提案されたイベントを表示して投票できる +VoteOk = あなたの投票が承認された。 +AlreadyVoted = あなたはすでにこのイベントに投票している。 +VoteError = 投票中にエラーが発生した。もう一度やり直し願う。 + +# +# SubscriptionOk page +# +SubscriptionOk = この会議へのサブスクリプションが検証された +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = 会議へのサブスクリプションの確認 +# +# Payment page +# +Attendee = 出席者 +PaymentConferenceAttendee = 会議出席者の支払い +PaymentBoothLocation = ブースの場所の支払い diff --git a/htdocs/langs/ja_JP/exports.lang b/htdocs/langs/ja_JP/exports.lang index 07f956fe22d..ae3f4eaff99 100644 --- a/htdocs/langs/ja_JP/exports.lang +++ b/htdocs/langs/ja_JP/exports.lang @@ -9,7 +9,7 @@ SelectExportDataSet=エクスポートするデータセットを選択... SelectImportDataSet=インポートしたいデータを選択... SelectExportFields=エクスポートするフィールドを選択するか、事前定義されたエクスポートプロファイルを選択する SelectImportFields=アンカー%sを使用して上下に移動することにより、インポートするソースファイルフィールドとデータベース内のそれらのターゲットフィールドを選択するか、事前定義されたインポートプロファイルを選択する。 -NotImportedFields=ソースファイルのフィールドがインポートされない +NotImportedFields=インポートされていないソースファイルのフィールド SaveExportModel=選択内容をエクスポートプロファイル/テンプレートとして保存する(再利用用)。 SaveImportModel=このインポートプロファイルを(再利用のために)保存する... ExportModelName=プロファイル名をエクスポートする @@ -25,10 +25,10 @@ FieldsTitle=フィールドのタイトル FieldTitle=フィールドのタイトル NowClickToGenerateToBuildExportFile=次に、コンボボックスでファイル形式を選択し、"生成" をクリックしてエクスポートファイルを作成する... AvailableFormats=利用可能なフォーマット -LibraryShort=図書館 +LibraryShort=ライブラリ ExportCsvSeparator=Csv文字セパレータ ImportCsvSeparator=Csv文字セパレータ -Step=手順 +Step=ステップ FormatedImport=インポートアシスタント FormatedImportDesc1=このモジュールを使用すると、アシスタントを使用して、技術的な知識がなくても、ファイルから既存のデータを更新したり、データベースに新規オブジェクトを追加したりできる。 FormatedImportDesc2=最初のステップは、インポートするデータの種類を選択し、次にソースファイルの形式を選択し、次にインポートするフィールドを選択すること 。 @@ -38,7 +38,7 @@ FormatedExportDesc2=最初のステップは、事前定義されたデータセ FormatedExportDesc3=エクスポートするデータを選択すると、出力ファイルの形式を選択できる。 Sheet=シート NoImportableData=いいえインポート可能なデータがない(データのインポートを可能にするための定義としないモジュール) -FileSuccessfullyBuilt=生成されたファイル +FileSuccessfullyBuilt=ファイルが生成されました SQLUsedForExport=データの抽出に使用されるSQLリクエスト LineId=行のid LineLabel=行のラベル @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=回線の種類(0 =製品、1 =サービス) FileWithDataToImport=インポートするデータを持つファイル FileToImport=インポートするソースファイル FileMustHaveOneOfFollowingFormat=インポートするファイルは、次のいずれかの形式である必要がある -DownloadEmptyExample=フィールドコンテンツ情報を含むテンプレートファイルをダウンロードする(*は必須フィールド ) +DownloadEmptyExample=フィールドコンテンツ情報を含むテンプレートファイルをダウンロードする +StarAreMandatory=*は必須フィールド ChooseFormatOfFileToImport=%sアイコンをクリックして選択し、インポートファイル形式として使用するファイル形式を選択する... ChooseFileToImport=ファイルをアップロードし、%sアイコンをクリックして、ソースインポートファイルとしてファイルを選択する。 SourceFileFormat=ソースファイルの形式 diff --git a/htdocs/langs/ja_JP/holiday.lang b/htdocs/langs/ja_JP/holiday.lang index 855d22d946f..7528b7a9062 100644 --- a/htdocs/langs/ja_JP/holiday.lang +++ b/htdocs/langs/ja_JP/holiday.lang @@ -39,11 +39,11 @@ TitreRequestCP=休暇願 TypeOfLeaveId=休暇IDの種類 TypeOfLeaveCode=休暇コードの種類 TypeOfLeaveLabel=休暇ラベルの種類 -NbUseDaysCP=消費された休暇の日数 -NbUseDaysCPHelp=計算では、辞書で定義されている営業日と休日が考慮される。 -NbUseDaysCPShort=消費日数 -NbUseDaysCPShortInMonth=月に消費された日数 -DayIsANonWorkingDay=%sは非営業日です +NbUseDaysCP=使用した休暇の日数 +NbUseDaysCPHelp=計算では、辞書で定義されている休業日と休日が考慮される。 +NbUseDaysCPShort=休暇の日 +NbUseDaysCPShortInMonth=月の休暇日数 +DayIsANonWorkingDay=%sは休業日 DateStartInMonth=月の開始日 DateEndInMonth=月の終了日 EditCP=編集 @@ -80,14 +80,14 @@ UserCP=ユーザ ErrorAddEventToUserCP=例外休暇の追加中にエラーが発生した。 AddEventToUserOkCP=特別休暇の追加が完了した。 MenuLogCP=変更ログを表示する -LogCP=利用可能な休暇日の更新のログ -ActionByCP=によって演奏された -UserUpdateCP=ユーザ向け +LogCP="Balance of Leave" に加えられたすべての更新ログ +ActionByCP=更新済の原因 +UserUpdateCP=更新済の対象 PrevSoldeCP=以前のバランス NewSoldeCP=ニューバランス alreadyCPexist=この期間はすでに休暇申請が行われている。 -FirstDayOfHoliday=休暇の初日 -LastDayOfHoliday=休暇の最終日 +FirstDayOfHoliday=休暇申請の開始日 +LastDayOfHoliday=休暇申請の終了日 BoxTitleLastLeaveRequests=最新の%s変更された休暇申請 HolidaysMonthlyUpdate=毎月の更新 ManualUpdate=手動更新 @@ -104,8 +104,8 @@ LEAVE_SICK=病気休暇 LEAVE_OTHER=その他の休暇 LEAVE_PAID_FR=有給休暇 ## Configuration du Module ## -LastUpdateCP=休暇割り当ての最新の自動更新 -MonthOfLastMonthlyUpdate=休暇割り当ての最新の自動更新の月 +LastUpdateCP=休暇割り当ての最後の自動更新 +MonthOfLastMonthlyUpdate=休暇割り当ての最後の自動更新の月 UpdateConfCPOK=更新成功。 Module27130Name= 休暇申請の管理 Module27130Desc= 休暇申請の管理 @@ -116,7 +116,7 @@ HolidaysToValidate=休暇申請を検証する HolidaysToValidateBody=以下は検証するための休暇申請です HolidaysToValidateDelay=この休暇申請は、%s日未満の期間内に行われる。 HolidaysToValidateAlertSolde=この休暇申請を行ったユーザには、十分な利用可能日がない。 -HolidaysValidated=検証済みの休暇申請 +HolidaysValidated=検証済の休暇申請 HolidaysValidatedBody=%sから%sへの休暇申請が検証された。 HolidaysRefused=要求は拒否された HolidaysRefusedBody=%sから%sへの休暇申請は、次の理由で拒否された。 @@ -125,10 +125,12 @@ HolidaysCanceledBody=%sから%sへの休暇申請はキャンセルされた。 FollowedByACounter=1:このタイプの休暇にはカウンタの追随が必要。カウンタは手動または自動でインクリメントされ、休暇要求が検証されると、カウンタはデクリメントされる。
    0:カウンタに追随していない。 NoLeaveWithCounterDefined=カウンタが続く必要がある定義された休暇タイプはない GoIntoDictionaryHolidayTypes=ホーム-設定-辞書-休暇の種類に移動して、さまざまな種類の葉を設定する。 -HolidaySetup=モジュールHolidayのセットアップ -HolidaysNumberingModules=モデルに番号を付けるリクエストを残す +HolidaySetup=モジュールLeaveのセットアップ +HolidaysNumberingModules=休暇申請の番号付けモデル TemplatePDFHolidays=休暇申請用テンプレートPDF FreeLegalTextOnHolidays=PDFのフリーテキスト WatermarkOnDraftHolidayCards=ドラフト休暇リクエストの透かし HolidaysToApprove=承認する休日 NobodyHasPermissionToValidateHolidays=休日の検証権限を持つ者がいない +HolidayBalanceMonthlyUpdate=休日残の月次更新 +XIsAUsualNonWorkingDay=%sは、通常、非稼働日。 diff --git a/htdocs/langs/ja_JP/hrm.lang b/htdocs/langs/ja_JP/hrm.lang index a7be093eebe..493cba6a5db 100644 --- a/htdocs/langs/ja_JP/hrm.lang +++ b/htdocs/langs/ja_JP/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=この事業所を削除したいのね、いいよ OpenEtablishment=事業所を開く CloseEtablishment=事業所を閉じる # Dictionary -DictionaryPublicHolidays=HRM - 祝祭日 +DictionaryPublicHolidays=休暇-祝日 DictionaryDepartment=HRM - 部門一覧 DictionaryFunction=HRM - 職位 # Module diff --git a/htdocs/langs/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index 99f3b9e23c4..abf87a2f880 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=ユーザの写真パスの移行 MigrationFieldsSocialNetworks=ユーザフィールドソーシャルネットワークの移行(%s) MigrationReloadModule=モジュール %s を再読み込み MigrationResetBlockedLog=v7アルゴリズムのモジュールBlockedLogをリセット +MigrationImportOrExportProfiles=インポートまたはエクスポートプロファイルの移行(%s) ShowNotAvailableOptions=利用できないオプションを表示する HideNotAvailableOptions=利用できないオプションを非表示にする ErrorFoundDuringMigration=移行プロセス中にエラーが報告されたため、次のステップは利用できない。エラーを無視するには、ここをクリックできるが、エラーが解決されるまで、アプリケーションまたは一部の機能が正しく動作しない場合がある。 diff --git a/htdocs/langs/ja_JP/interventions.lang b/htdocs/langs/ja_JP/interventions.lang index 07cf1cb44c7..cc33484227e 100644 --- a/htdocs/langs/ja_JP/interventions.lang +++ b/htdocs/langs/ja_JP/interventions.lang @@ -33,7 +33,7 @@ SendInterventionByMail=電子メールで出張を送信 InterventionCreatedInDolibarr=出張%sが作成された InterventionValidatedInDolibarr=出張%sは、検証 InterventionModifiedInDolibarr=出張%sが変更された -InterventionClassifiedBilledInDolibarr=請求済みとして設定された出張%s +InterventionClassifiedBilledInDolibarr=請求済として設定された出張%s InterventionClassifiedUnbilledInDolibarr=出張%sが未請求として設定 InterventionSentByEMail=電子メールで送信された出張%s InterventionDeletedInDolibarr=出張%sが削除された @@ -64,5 +64,5 @@ InterLineDuration=ライン持続時間出張 InterLineDesc=行記述の出張 RepeatableIntervention=出張のテンプレート ToCreateAPredefinedIntervention=事前定義された出張または定期的な出張を作成 には、共通の出張を作成し、それを出張テンプレートに変換 -Reopen=再開 ConfirmReopenIntervention=出張 %s を開いてよいか? +GenerateInter=出張を生成する diff --git a/htdocs/langs/ja_JP/knowledgemanagement.lang b/htdocs/langs/ja_JP/knowledgemanagement.lang index 888ec8903a0..db45e5e7daa 100644 --- a/htdocs/langs/ja_JP/knowledgemanagement.lang +++ b/htdocs/langs/ja_JP/knowledgemanagement.lang @@ -18,16 +18,16 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = 知識管理システム # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=ナレッジマネジメント(KM)またはヘルプデスクベースを管理する # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = ナレッジマネジメントシステムのセットアップ Settings = 設定 -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = ナレッジマネジメントシステムのセットアップページ # @@ -37,19 +37,13 @@ About = 約 KnowledgeManagementAbout = 知識管理について KnowledgeManagementAboutPage = 知識管理に関するページ -# -# Sample page -# KnowledgeManagementArea = 知識管理 - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +MenuKnowledgeRecord = 知識ベース +ListKnowledgeRecord = 記事一覧 +NewKnowledgeRecord = 新しい記事 +ValidateReply = ソリューションを検証する +KnowledgeRecords = 記事 KnowledgeRecord = 記事 -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = 記事のエクストラフィールド +GroupOfTicket=チケットのグループ +YouCanLinkArticleToATicketCategory=記事をチケットグループにリンクできる(新規チケット認定時に記事が提案されるようになる) diff --git a/htdocs/langs/ja_JP/languages.lang b/htdocs/langs/ja_JP/languages.lang index a5503951b7a..97eb6846865 100644 --- a/htdocs/langs/ja_JP/languages.lang +++ b/htdocs/langs/ja_JP/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=エチオピア語 Language_ar_AR=アラビア語 Language_ar_EG=アラビア語(エジプト) +Language_ar_MA=アラビア語(モロッコ) Language_ar_SA=アラビア語 +Language_ar_TN=アラビア語 (チュニジア) +Language_ar_IQ=アラビア語(イラク) Language_az_AZ=アゼルバイジャン語 Language_bn_BD=ベンガル語 Language_bn_IN=ベンガル語(インド) @@ -82,8 +85,10 @@ Language_ne_NP=ネパール語 Language_nl_BE=オランダ語 (ベルギー) Language_nl_NL=オランダ語 Language_pl_PL=ポーランド語 +Language_pt_AO=ポルトガル語(アンゴラ) Language_pt_BR=ポルトガル語 (ブラジル) Language_pt_PT=ポルトガル語 +Language_ro_MD=ルーマニア語 (モルダビア) Language_ro_RO=ルーマニア語 Language_ru_RU=ロシア語 Language_ru_UA=ロシア語(ウクライナ) diff --git a/htdocs/langs/ja_JP/mails.lang b/htdocs/langs/ja_JP/mails.lang index d3122d4a20e..86d67e3a47a 100644 --- a/htdocs/langs/ja_JP/mails.lang +++ b/htdocs/langs/ja_JP/mails.lang @@ -15,7 +15,7 @@ MailToUsers=ユーザ(s)へ MailCC=にコピー MailToCCUsers=ユーザs(s)にコピーする MailCCC=にキャッシュされたコピー -MailTopic=Email subject +MailTopic=メールの件名 MailText=メッセージ MailFile=添付ファイル MailMessage=電子メールの本文 @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=このイベントタイプと法人では、自動電 ANotificationsWillBeSent=1つの自動通知が電子メールで送信される SomeNotificationsWillBeSent=%s自動通知は電子メールで送信される AddNewNotification=新規自動電子メール通知を購読する(ターゲット/イベント) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=自動電子メール通知のすべてのアクティブなサブスクリプション(ターゲット/イベント)のリスト +ListOfNotificationsDone=送信されたすべての自動電子メール通知のリスト MailSendSetupIs=電子メール送信の構成は「%s」に設定されている。このモードは、大量の電子メールを送信するために使用することはできない。 MailSendSetupIs2=モード'%s'を使うには、まず、管理者アカウントを使用して、メニュー%sホーム - 設定 - メール %sに移動し、パラメーター'%s 'を変更する。このモードでは、インターネットサービスプロバイダーが提供するSMTPサーバーの設定に入り、大量電子メールの機能を使用できる。 MailSendSetupIs3=SMTPサーバーの設定方法について質問がある場合は、%sに問い合わせることができる。 @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=フィルタを削除する AdvTgtSaveFilter=フィルタを保存 AdvTgtCreateFilter=フィルタを作成する AdvTgtOrCreateNewFilter=新規フィルタの名前 -NoContactWithCategoryFound=カテゴリの連絡先/住所が見つからない -NoContactLinkedToThirdpartieWithCategoryFound=カテゴリの連絡先/住所が見つからない +NoContactWithCategoryFound=一部の連絡先/アドレスにリンクされているカテゴリが見つからない +NoContactLinkedToThirdpartieWithCategoryFound=一部の取引先にリンクされているカテゴリが見つからない OutGoingEmailSetup=送信メール InGoingEmailSetup=受信メール OutGoingEmailSetupForEmailing=送信メール(モジュール%sの場合) diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index 0cb3870bce3..b74cb992eb7 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -31,8 +31,8 @@ Translation=翻訳 CurrentTimeZone=PHP(サーバー)のタイムゾーン EmptySearchString=空文字以外の検索候補を入力 EnterADateCriteria=日付基準を入力する -NoRecordFound=発見レコードは無し -NoRecordDeleted=削除レコードは無し +NoRecordFound=レコードが見つかりませんでした +NoRecordDeleted=削除されたレコードはありません NotEnoughDataYet=データが不十分 NoError=エラーなし Error=エラー @@ -97,8 +97,8 @@ NotDefined=未定義 DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr認証モードは、構成ファイル conf.php%sに設定されている。
    これは、パスワードデータベースがDolibarrの外部にあるため、このフィールドを変更しても効果がない可能性があることを意味します。 Administrator=管理者 Undefined=未定義 -PasswordForgotten=パスワード忘れたの? -NoAccount=科目なし? +PasswordForgotten=パスワードをお忘れですか? +NoAccount=アカウントをお持ちでないですか? SeeAbove=上記参照 HomeArea=ホーム LastConnexion=最新ログイン @@ -180,7 +180,7 @@ SaveAndNew=保存して新規 TestConnection=試験用接続 ToClone=クローン ConfirmCloneAsk=オブジェクト%s のクローンを作成してもよろしいですか? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=クローンを作成するデータを選択する。 NoCloneOptionsSpecified=定義されているクローンを作成するデータがありません。 Of=の Go=行く @@ -246,7 +246,7 @@ DefaultModel=デフォルトのドキュメントテンプレート Action=イベント About=約 Number=数 -NumberByMonth=Total reports by month +NumberByMonth=月ごとの合計レポート AmountByMonth=月別量 Numero=数 Limit=制限 @@ -341,7 +341,7 @@ KiloBytes=キロバイト MegaBytes=メガバイト GigaBytes=ギガバイト TeraBytes=テラバイト -UserAuthor=Ceated by +UserAuthor=によってCeated UserModif=更新済の原因 b=B。 Kb=KB @@ -360,10 +360,10 @@ UnitPrice=単価 UnitPriceHT=単価(除く) UnitPriceHTCurrency=単価(除く)(通貨) UnitPriceTTC=単価 -PriceU=UP +PriceU=単価 PriceUHT=UP(純額) PriceUHTCurrency=U.P (正味) (通貨) -PriceUTTC=アップ。 (税込) +PriceUTTC=単価(税込) Amount=量 AmountInvoice=請求額 AmountInvoiced=請求額 @@ -395,16 +395,16 @@ AmountOrPercent=数量またはパーセント Percentage=割合 Total=合計 SubTotal=小計 -TotalHTShort=合計(除く) +TotalHTShort=小計(税抜) TotalHT100Short=合計100%%(除く) TotalHTShortCurrency=合計(通貨を除く) TotalTTCShort=合計(税込) -TotalHT=合計(税込) +TotalHT=小計(税抜) TotalHTforthispage=このページの合計(税抜き) Totalforthispage=このページの合計 TotalTTC=合計(税込) TotalTTCToYourCredit=あなたのクレジットの合計(税込) -TotalVAT=合計税 +TotalVAT=税額合計 TotalVATIN=合計IGST TotalLT1=総税2 TotalLT2=総税3 @@ -412,10 +412,10 @@ TotalLT1ES=合計RE TotalLT2ES=合計IRPF TotalLT1IN=合計CGST TotalLT2IN=合計SGST -HT=除く税金 +HT=税抜 TTC=税込 INCVATONLY=Inc. VAT -INCT=Inc.すべての税金 +INCT=全ての税額を含む VAT=売上税 VATIN=IGST VATs=売上税 @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=追加のセント VATRate=税率 +RateOfTaxN=税率%s VATCode=税率コード VATNPR=税率NPR DefaultTaxRate=デフォルトの税率 @@ -559,7 +560,7 @@ Photo=画像 Photos=画像s AddPhoto=画像追加 DeletePicture=画像削除 -ConfirmDeletePicture=画像削除、いいよね? +ConfirmDeletePicture=画像を削除してもよろしいですか? Login=ログイン LoginEmail=ログイン (メール) LoginOrEmail=ログインまたはメール @@ -729,6 +730,7 @@ MenuMembers=メンバー MenuAgendaGoogle=Googleの議題 MenuTaxesAndSpecialExpenses=税金|特別経費 ThisLimitIsDefinedInSetup=Dolibarr制限(メニューホームセットアップ·セキュリティ):%s KB、PHP制限:%s KB +ThisLimitIsDefinedInSetupAt=Dolibarr制限(メニュー%s):%s Kb、PHP制限(Param %s):%s Kb NoFileFound=ドキュメントがアップロードされていない CurrentUserLanguage=現在の言語 CurrentTheme=現在のテーマ @@ -785,7 +787,7 @@ Prefix=接頭辞 Before=前 After=後の IPAddress=IPアドレス -Frequency=周波数 +Frequency=周期 IM=インスタントメッセージ NewAttribute=新規属性 AttributeCode=属性コード @@ -845,7 +847,7 @@ XMoreLines=%s行が非表示 ShowMoreLines=より多くの/より少ない行を表示する PublicUrl=パブリックURL AddBox=ボックスを追加 -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=要素を選択し、%sをクリックする PrintFile=印刷ファイル%s ShowTransaction=銀行口座にエントリを表示する ShowIntervention=介入を示す @@ -856,8 +858,8 @@ Denied=拒否されました ListOf=%sのリスト ListOfTemplates=テンプレートのリスト Gender=性別 -Genderman=Male -Genderwoman=Female +Genderman=男性 +Genderwoman=女性 Genderother=その他 ViewList=リストビュー ViewGantt=ガントビュー @@ -951,13 +953,13 @@ Thursday=木曜日 Friday=金曜日 Saturday=土曜日 Sunday=日曜日 -MondayMin=モー -TuesdayMin=TU -WednesdayMin=我々 -ThursdayMin=番目の -FridayMin=金曜日 -SaturdayMin=SA -SundayMin=蘇 +MondayMin=月 +TuesdayMin=火 +WednesdayMin=水 +ThursdayMin=木 +FridayMin=金 +SaturdayMin=土 +SundayMin=日 Day1=月曜日 Day2=火曜日 Day3=水曜日 @@ -965,26 +967,26 @@ Day4=木曜日 Day5=金曜日 Day6=土曜日 Day0=日曜日 -ShortMonday=M -ShortTuesday=T -ShortWednesday=W -ShortThursday=T -ShortFriday=F -ShortSaturday=S -ShortSunday=S +ShortMonday=月 +ShortTuesday=火 +ShortWednesday=水 +ShortThursday=木 +ShortFriday=金 +ShortSaturday=土 +ShortSunday=日 one=1 -two=二 -three=三 -four=四 -five=五 +two=2 +three=3 +four=4 +five=5 six=6 -seven=セブン +seven=7 eight=8 -nine=ナイン -ten=十 -eleven=十一 +nine=9 +ten=10 +eleven=11 twelve=12 -thirteen=サードティーン +thirteen=13 fourteen=14 fifteen=15 sixteen=16 @@ -997,14 +999,14 @@ forty=40 fifty=50 sixty=60 seventy=70 -eighty=80人 +eighty=80 ninety=90 hundred=百 thousand=千 million=百万 billion=十億 trillion=兆 -quadrillion=四兆 +quadrillion=千兆 SelectMailModel=メールテンプレートを選択する SetRef=参照を設定 Select2ResultFoundUseArrows=いくつかの結果が見つかりました。矢印を使用して選択します。 @@ -1060,7 +1062,7 @@ ConfirmMassDraftDeletion=下書き大量削除確 FileSharedViaALink=パブリックリンクと共有されているファイル SelectAThirdPartyFirst=最初にサードパーティを選択してください... YouAreCurrentlyInSandboxMode=現在、%s「サンドボックス」モードになっている -Inventory=在庫 +Inventory=目録 AnalyticCode=分析コード TMenuMRP=MRP ShowCompanyInfos=法人情報を表示する @@ -1072,6 +1074,7 @@ ValidFrom=から有効 ValidUntil=まで有効 NoRecordedUsers=ユーザーなし ToClose=閉じるには +ToRefuse=拒む ToProcess=処理するには ToApprove=承認するために GlobalOpenedElemView=グローバルビュー @@ -1126,9 +1129,23 @@ UpdateForAllLines=すべての行を更新 OnHold=保留 Civility=敬称 AffectTag=タグに影響を与える +CreateExternalUser=外部ユーザーを作成する ConfirmAffectTag=バルクタグの影響 ConfirmAffectTagQuestion=選択した%sレコード(s)のタグに影響を与えてもよいか? CategTypeNotFound=レコードのタイプのタグタイプが見つからない CopiedToClipboard=クリップボードにコピー InformationOnLinkToContract=この金額は、契約のすべての行の合計にすぎません。時間の概念は考慮されていない。 -ConfirmCancel=Are you sure you want to cancel +ConfirmCancel=本当にキャンセルしたいか +EmailMsgID=メールMsgID +SetToEnabled=有効に設定 +SetToDisabled=無効に設定 +ConfirmMassEnabling=一括有効化の確認 +ConfirmMassEnablingQuestion=選択した%sレコード(s)を有効にするか? +ConfirmMassDisabling=一括無効化の確認 +ConfirmMassDisablingQuestion=選択した%sレコード(s)を無効にしてもよいか? +RecordsEnabled=%sレコード(s)が有効 +RecordsDisabled=%sレコード(s)が無効 +RecordEnabled=記録が有効 +RecordDisabled=記録が無効 +Forthcoming=今後の予定 +Currently=現在 diff --git a/htdocs/langs/ja_JP/members.lang b/htdocs/langs/ja_JP/members.lang index 3da10a79543..3240c534cb1 100644 --- a/htdocs/langs/ja_JP/members.lang +++ b/htdocs/langs/ja_JP/members.lang @@ -15,7 +15,7 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=別のメンバー(名前:%s注:プロパティ「製品の性質」=「原材料」を持つ製品はこのリストに非表示。 +ProductBOMHelp=このBOMで作成(または分解)する製品。
    注:プロパティ「製品の性質」=「原材料」を持つ製品はこのリストに表示されない。 BOMsNumberingModules=BOM番号付けテンプレート BOMsModelModule=BOMドキュメントテンプレート MOsNumberingModules=MOナンバリングテンプレート @@ -30,8 +30,8 @@ ValueOfMeansLoss=0.95の値は、生産中の平均5%%の損失を意味する ValueOfMeansLossForProductProduced=0.95の値は、生産された製品の損失の平均5%%を意味する DeleteBillOfMaterials=部品表を削除 DeleteMo=製造指図を削除 -ConfirmDeleteBillOfMaterials=この部品表を削除してよいか? -ConfirmDeleteMo=この部品表を削除してよいか? +ConfirmDeleteBillOfMaterials=この部品表を削除してもよいか? +ConfirmDeleteMo=この部品表を削除してもよいか? MenuMRP=製造指図 NewMO=新規製造注文 QtyToProduce=生産する数量 @@ -39,7 +39,7 @@ DateStartPlannedMo=開始予定日 DateEndPlannedMo=終了予定日 KeepEmptyForAsap=空は「できるだけ早く」を意味する EstimatedDuration=推定所要時間 -EstimatedDurationDesc=このBOMを使用してこの製品を製造するための推定期間 +EstimatedDurationDesc=このBOMを使用してこの製品を製造(または分解)するための推定期間 ConfirmValidateBom=参照%s を使用してBOMを検証してよいか(これを使用して新規製造指図を作成できる) ConfirmCloseBom=このBOMをキャンセルしてよいか(これを使用して新規製造指図を作成することはできなくなる)。 ConfirmReopenBom=このBOMを再度開いてもよいか(これを使用して新規製造指図を作成できる) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=すべてを消費して生産する Manufactured=製造完了 TheProductXIsAlreadyTheProductToProduce=追加する製品は、すでに生産する製品。 ForAQuantityOf=%sの生産数量について +ForAQuantityToConsumeOf=%sを分解する数量に対して ConfirmValidateMo=この製造指図を検証してよいか? ConfirmProductionDesc='%s'をクリックすると、設定された数量の消費および/または生産を検証する。これにより、在庫が更新され、在庫の動きが記録される。 ProductionForRef=%sの生産 AutoCloseMO=消費および生産する数量に達した場合、製造指図を自動的に閉じます NoStockChangeOnServices=サービスの在庫変更はない ProductQtyToConsumeByMO=オープンMOで今後も消費する製品数量 -ProductQtyToProduceByMO=オープンMOで今後も生産する製品数量 +ProductQtyToProduceByMO=オープンMOでまだ生産されていない製品数量 AddNewConsumeLines=消費する新規行を追加 ProductsToConsume=消費する製品 ProductsToProduce=生産する製品 @@ -83,15 +84,13 @@ Workstations=ワークステーション WorkstationsDescription=ワークステーション管理 WorkstationSetup = ワークステーションのセットアップ WorkstationSetupPage = ワークステーションのセットアップページ -WorkstationAbout = ワークステーションについて -WorkstationAboutPage = ページについてのワークステーション WorkstationList=ワークステーションリスト WorkstationCreate=新しいワークステーションを追加する ConfirmEnableWorkstation=ワークステーション%s を有効にするか? EnableAWorkstation=ワークステーションを有効にする ConfirmDisableWorkstation=ワークステーション%s を無効にしてもよいか? DisableAWorkstation=ワークステーションを無効にする -DeleteWorkstation=Supprimer +DeleteWorkstation=削除 NbOperatorsRequired=必要なオペレーターの数 THMOperatorEstimated=推定オペレーターTHM THMMachineEstimated=推定マシンTHM diff --git a/htdocs/langs/ja_JP/orders.lang b/htdocs/langs/ja_JP/orders.lang index 8a44ed499bb..edc3f5dc731 100644 --- a/htdocs/langs/ja_JP/orders.lang +++ b/htdocs/langs/ja_JP/orders.lang @@ -11,6 +11,7 @@ OrderDate=注文日 OrderDateShort=注文日 OrderToProcess=プロセスの順序 NewOrder=新規注文 +NewSupplierOrderShort=新規注文 NewOrderSupplier=新規注文書 ToOrder=順序を作る MakeOrder=順序を作る @@ -73,6 +74,7 @@ DeleteOrder=順序を削除する CancelOrder=注文を取り消す OrderReopened= %sを再度開くように注文する AddOrder=注文を作成する +AddSupplierOrderShort=注文を作成する AddPurchaseOrder=注文書を作成する AddToDraftOrders=下書き注文に追加 ShowOrder=順序を示す diff --git a/htdocs/langs/ja_JP/other.lang b/htdocs/langs/ja_JP/other.lang index 2ff627924ac..763a080c8ae 100644 --- a/htdocs/langs/ja_JP/other.lang +++ b/htdocs/langs/ja_JP/other.lang @@ -53,7 +53,7 @@ Notify_COMPANY_SENTBYMAIL=サードパーティのカードから送信された Notify_BILL_VALIDATE=顧客への請求書が検証さ Notify_BILL_UNVALIDATE=顧客の請求書は未検証 Notify_BILL_PAYED=顧客の請求書は支払済 -Notify_BILL_CANCEL=顧客への請求書が取り消さ +Notify_BILL_CANCEL=顧客への請求書が取り消されました Notify_BILL_SENTBYMAIL=メールで送信された顧客への請求書 Notify_BILL_SUPPLIER_VALIDATE=ベンダーの請求書が検証された Notify_BILL_SUPPLIER_PAYED=支払われたベンダーの請求書 @@ -69,7 +69,7 @@ Notify_MEMBER_VALIDATE=メンバー検証 Notify_MEMBER_MODIFY=メンバーが変更された Notify_MEMBER_SUBSCRIPTION=メンバー購読 Notify_MEMBER_RESILIATE=メンバーが終了した -Notify_MEMBER_DELETE=メンバーが削除さ +Notify_MEMBER_DELETE=メンバーが削除されました Notify_PROJECT_CREATE=プロジェクトの作成 Notify_TASK_CREATE=作成されたタスク Notify_TASK_MODIFY=タスクが変更された @@ -111,9 +111,9 @@ DemoCompanyShopWithCashDesk=現金デスクでお店を管理する DemoCompanyProductAndStocks=POSで製品を販売するショップ DemoCompanyManufacturing=製品を製造する法人 DemoCompanyAll=複数の活動を行う法人(すべてのメインモジュール) -CreatedBy=%sによって作成された -ModifiedBy=%sによって変更された -ValidatedBy=%sによって検証 +CreatedBy=作成者:%s +ModifiedBy=変更者:%s +ValidatedBy=確認者:%s SignedBy=%sによる署名 ClosedBy=%sによって閉じ CreatedById=作成したユーザーID @@ -129,18 +129,19 @@ ClosedByLogin=閉じたユーザーログイン FileWasRemoved=ファイルの%sは削除された DirWasRemoved=ディレクトリの%sは削除された FeatureNotYetAvailable=現在のバージョンではまだ利用できない機能 +FeatureNotAvailableOnDevicesWithoutMouse=マウスのないデバイスでは機能を利用できない FeaturesSupported=サポートされている機能 Width=幅 Height=高さ Depth=深さ -Top=トップ -Bottom=ボトム +Top=上 +Bottom=下 Left=左 Right=右 -CalculatedWeight=計算された重み -CalculatedVolume=計算されたボリューム +CalculatedWeight=算出された重量 +CalculatedVolume=算出された体積 Weight=重さ -WeightUnitton=トン +WeightUnitton=メートルトン WeightUnitkg=kg WeightUnitg=g WeightUnitmg=mg @@ -151,14 +152,14 @@ LengthUnitm=m LengthUnitdm=dm LengthUnitcm=cm LengthUnitmm=mm -Surface=エリア +Surface=表面積 SurfaceUnitm2=m² SurfaceUnitdm2=dm² SurfaceUnitcm2=cm² SurfaceUnitmm2=mm² SurfaceUnitfoot2=ft² SurfaceUnitinch2=in² -Volume=ボリューム +Volume=体積 VolumeUnitm3=m³ VolumeUnitdm3=dm³ (L) VolumeUnitcm3=cm³ (ml) @@ -178,12 +179,12 @@ SizeUnitpoint=ポイント BugTracker=バグトラッカー SendNewPasswordDesc=このフォームでは、新規パスワードをリクエストできる。それはあなたのメールアドレスに送られる。
    メール内の確認リンクをクリックすると、変更が有効になる。
    受信トレイを確認すること。 BackToLoginPage=ログインページに戻る -AuthenticationDoesNotAllowSendNewPassword=認証モードは%s
    このモードでは、Dolibarrは知ってもパスワードを変更することはできません。
    あなたのパスワードを変更する場合は、システム管理者に問い合わせてください。 +AuthenticationDoesNotAllowSendNewPassword=認証モードは%s です。
    このモードではDolibarr上でパスワードの表示も変更もできません。
    パスワードを変更したい場合はシステム管理者に連絡して下さい。 EnableGDLibraryDesc=このオプションを使用するには、PHPインストールでGDライブラリをインストールまたは有効にする。 ProfIdShortDesc=教授イド%sは、サードパーティの国に応じて情報 。
    たとえば、国%sのために、それはコード%s 。 DolibarrDemo=Dolibarr ERP / CRMデモ StatsByNumberOfUnits=製品/サービスの数量の合計の統計 -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=参照エンティティの数の統計(請求書または注文の数...) NumberOfProposals=提案数 NumberOfCustomerOrders=受注数 NumberOfCustomerInvoices=顧客の請求書の数 @@ -236,11 +237,11 @@ SelectAColor=色を選択すること AddFiles=ファイルを追加 StartUpload=アップロード開始 CancelUpload=アップロードをキャンセル -FileIsTooBig=ファイルが大きすぎる +FileIsTooBig=ファイルが大きすぎます PleaseBePatient=しばらくお待ちください... NewPassword=新規パスワード ResetPassword=パスワードを再設定する -RequestToResetPasswordReceived=パスワードの変更リクエストを受け取りた。 +RequestToResetPasswordReceived=パスワードの変更申請を受け付けました。 NewKeyIs=これはログインするための新規キー NewKeyWillBe=ソフトウェアにログインするための新規キーは次のようになる ClickHereToGoTo=%sに移動するには、ここをクリックすること @@ -257,13 +258,13 @@ YourPasswordMustHaveAtLeastXChars=パスワードには、少なくともスペースを使用してさまざまな範囲を入力する。
    例:8-12 14-18 -PrefixSession=セッションIDのプレフィックス +SuffixSessionName=セッション名のサフィックス ##### Export ##### ExportsArea=輸出地域 @@ -289,4 +290,8 @@ PopuProp=提案の人気による製品/サービス PopuCom=注文の人気別の製品/サービス ProductStatistics=製品/サービス統計 NbOfQtyInOrders=注文数量 -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=オブジェクトを選択してその統計を表示する... + +ConfirmBtnCommonContent = 「%s」を実行してもよいか? +ConfirmBtnCommonTitle = アクションを確認する +CloseDialog = 閉じる diff --git a/htdocs/langs/ja_JP/partnership.lang b/htdocs/langs/ja_JP/partnership.lang index 7f747dd3139..e9614d5f2d3 100644 --- a/htdocs/langs/ja_JP/partnership.lang +++ b/htdocs/langs/ja_JP/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = パートナーシップ管理 -PartnershipDescription = モジュールパートナーシップ管理 +ModulePartnershipName=パートナーシップ管理 +PartnershipDescription=モジュールパートナーシップ管理 PartnershipDescriptionLong= モジュールパートナーシップ管理 +AddPartnership=パートナーシップを追加 +CancelPartnershipForExpiredMembers=パートナーシップ: サブスクリプションの有効期限が切れた会員のパートナーシップをキャンセル +PartnershipCheckBacklink=パートナーシップ: 参照元のバックリンクを確認する + # # Menu # -NewPartnership = 新規パートナーシップ -ListOfPartnerships = パートナーシップのリスト +NewPartnership=新規パートナーシップ +ListOfPartnerships=パートナーシップのリスト # # Admin page # -PartnershipSetup = パートナーシップの設定 -PartnershipAbout = パートナーシップについて -PartnershipAboutPage = ページについてのパートナーシップ - +PartnershipSetup=パートナーシップの設定 +PartnershipAbout=パートナーシップについて +PartnershipAboutPage=ページについてのパートナーシップ +partnershipforthirdpartyormember=パートナー ステータスは「取引先」または「会員」に設定する必要がある +PARTNERSHIP_IS_MANAGED_FOR=パートナーシップ管理は +PARTNERSHIP_BACKLINKS_TO_CHECK=チェックするバックリンク +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=サブスクリプションの有効期限が切れた場合にパートナーシップのステータスをキャンセルするまでの日数 +ReferingWebsiteCheck=参考ウェブサイトの確認 +ReferingWebsiteCheckDesc=パートナーが独自の ウェブサイトに ウェブサイト ドメインへのバックリンクを追加したことを確認する機能を有効にできる。 # # Object # +DeletePartnership=パートナーシップを削除する +PartnershipDedicatedToThisThirdParty=この取引先専用のパートナーシップ +PartnershipDedicatedToThisMember=このメンバー専用のパートナーシップ DatePartnershipStart=開始日 DatePartnershipEnd=終了日 +ReasonDecline=拒絶理由 +ReasonDeclineOrCancel=断りの理由 +PartnershipAlreadyExist=パートナーシップはすでに存在する +ManagePartnership=パートナーシップを管理する +BacklinkNotFoundOnPartnerWebsite=パートナーのウェブサイトにバックリンクが見つからない +ConfirmClosePartnershipAsk=このパートナーシップをキャンセルしてもよいか? +PartnershipType=パートナーシップの種類 # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=パートナーシップはまもなくキャンセルされる +SendingEmailOnPartnershipRefused=パートナーシップは拒否された +SendingEmailOnPartnershipAccepted=パートナーシップ受諾済 +SendingEmailOnPartnershipCanceled=パートナーシップがキャンセルされた +YourPartnershipWillSoonBeCanceledTopic=パートナーシップはまもなくキャンセルされる +YourPartnershipRefusedTopic=パートナーシップは拒否された +YourPartnershipAcceptedTopic=パートナーシップが受け入れられた +YourPartnershipCanceledTopic=パートナーシップがキャンセルされた + +YourPartnershipWillSoonBeCanceledContent=パートナーシップはまもなくキャンセルされる(バックリンクが見つからない) +YourPartnershipRefusedContent=パートナーシップのリクエストが拒否されたことをお知らせする。 +YourPartnershipAcceptedContent=パートナーシップのリクエストが受理されたことをお知らせする。 +YourPartnershipCanceledContent=パートナーシップがキャンセルされたことをお知らせする。 + +CountLastUrlCheckError=最後のURLチェックのエラー数 +LastCheckBacklink=最後のURLチェックの日付 +ReasonDeclineOrCancel=断りの理由 # # Status # -PartnershipDraft = 下書き -PartnershipAccepted = 承認済 -PartnershipRefused = 拒否 -PartnershipCanceled = キャンセル - -PartnershipManagedFor=Partners are +PartnershipDraft=下書き +PartnershipAccepted=承認済 +PartnershipRefused=拒否 +PartnershipCanceled=キャンセル +PartnershipManagedFor=パートナーは diff --git a/htdocs/langs/ja_JP/productbatch.lang b/htdocs/langs/ja_JP/productbatch.lang index 8dc3de69bbc..63a64a36040 100644 --- a/htdocs/langs/ja_JP/productbatch.lang +++ b/htdocs/langs/ja_JP/productbatch.lang @@ -1,11 +1,11 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=ロット/シリアル 番号を使用 ProductStatusOnBatch=はい(ロットが必要) ProductStatusOnSerial=はい(一意のシリアル番号が必要) -ProductStatusNotOnBatch=いえ (ロット/シリアル 不要) +ProductStatusNotOnBatch=いいえ (ロット/シリアル 不要) ProductStatusOnBatchShort=ロット ProductStatusOnSerialShort=シリアル -ProductStatusNotOnBatchShort=いえ +ProductStatusNotOnBatchShort=いいえ Batch=ロット/シリアル atleast1batchfield=賞味期限、消費期限、ロット/シリアル 番号 batch_number=ロット/シリアル 番号 @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=組合せ 製品/ロットの移動ログを表示 StockDetailPerBatch=ロットごとの在庫詳細 SerialNumberAlreadyInUse=シリアル番号%sはすでに製品%sに使用されている TooManyQtyForSerialNumber=シリアル番号%sに対して使用できる製品%sは1つだけ。 -BatchLotNumberingModules=ロット管理のバッチ製品の自動生成のオプション -BatchSerialNumberingModules=シリアル番号で管理されるバッチ製品の自動生成のオプション ManageLotMask=カスタムマスク -CustomMasks=製品カードにマスクを定義するオプションを追加する -LotProductTooltip=製品カードにオプションを追加して、専用のバッチ番号マスクを定義する -SNProductTooltip=製品カードに専用のシリアル番号マスクを定義するオプションを追加する +CustomMasks=製品ごとに異なるナンバリングマスクを定義するオプション +BatchLotNumberingModules=ロット番号の自動生成のための附番規則 +BatchSerialNumberingModules=シリアル番号の自動生成の附番規則(製品が製品毎に一意のロット/シリアルを1個だけ持つ性質の場合) QtyToAddAfterBarcodeScan=スキャンされたバーコード/ロット/シリアルごとに追加する数量 +LifeTime=寿命(日数) +EndOfLife=製品寿命 +ManufacturingDate=製造日付 +DestructionDate=破壊日 +FirstUseDate=初回使用日 +QCFrequency=品質管理頻度(日数) + +#Traceability - qc status +OutOfOrder=故障中 +InWorkingOrder=正常動作中 diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index 36b6f07b785..d1e7b178863 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -13,10 +13,10 @@ Services=サービス Product=製品 Service=サービス ProductId=製品/サービスID -Create=作る +Create=作成 Reference=リファレンス -NewProduct=新製品 -NewService=新サービス +NewProduct=製品の新規登録 +NewService=サービスの新規登録 ProductVatMassChange=グローバルVATアップデート ProductVatMassChangeDesc=このツールは、 ALL 製品およびサービスで定義されているVAT率を更新。 MassBarcodeInit=大量バーコード初期化 @@ -43,7 +43,7 @@ ServicesOnSaleOnly=販売のみのサービス ServicesOnPurchaseOnly=購入のみのサービス ServicesNotOnSell=非売品および非購入のサービス ServicesOnSellAndOnBuy=販売および購入のためのサービス -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=変更された最新の%s製品/サービス LastRecordedProducts=最新の%s記録された製品 LastRecordedServices=最新の%s記録されたサービス CardProduct0=製品 @@ -62,23 +62,23 @@ ProductStatusNotOnSell=非売品 ProductStatusOnSellShort=販売用 ProductStatusNotOnSellShort=非売品 ProductStatusOnBuy=購入用 -ProductStatusNotOnBuy=非購入品 +ProductStatusNotOnBuy=購入不可 ProductStatusOnBuyShort=購入用 -ProductStatusNotOnBuyShort=非購入品 +ProductStatusNotOnBuyShort=購入不可 UpdateVAT=バットを更新する UpdateDefaultPrice=デフォルト価格を更新する UpdateLevelPrices=各レベルの価格を更新する AppliedPricesFrom=から適用 SellingPrice=販売価格 -SellingPriceHT=販売価格(税込) +SellingPriceHT=販売価格 (税抜) SellingPriceTTC=販売価格(税込) SellingMinPriceTTC=最低販売価格(税込) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=この価格フィールド (税抜き) を使用して、自法人にかかる製品コストの平均金額を補足できる。その値は自分で計算した任意の価格、例えば、平均購入価格に平均の生産・流通コストを加えたものなど、にすることができる。 CostPriceUsage=この値は、マージンの計算に使用できる。 SoldAmount=販売額 PurchasedAmount=購入金額 NewPrice=新価格 -MinPrice=Min. selling price +MinPrice=最小販売価格 EditSellingPriceLabel=販売価格ラベルを編集する CantBeLessThanMinPrice=販売価格は、本製品(税抜き%s)に許可される最小値より小さくなることはない。あなたはあまりにも重要な割引を入力した場合にも、このメッセージが表示される。 ContractStatusClosed=閉じた @@ -102,7 +102,7 @@ BarCode=バーコード BarcodeType=バーコードの種別 SetDefaultBarcodeType=バーコードの種別を設定。 BarcodeValue=バーコードの値 -NoteNotVisibleOnBill=注意すること(請求書、提案...上に表示されない) +NoteNotVisibleOnBill=備考(請求書や提案書などには表示されません) ServiceLimitedDuration=製品は、限られた期間を持つサービスの場合: FillWithLastServiceDates=最後のサービスラインの日付を入力 MultiPricesAbility=製品/サービスごとに複数の価格セグメント(各顧客は1つの価格セグメントに含まれる) @@ -125,14 +125,14 @@ ProductAssociationList=このキットのコンポーネント(s)である製品 ProductParentList=この製品をコンポーネントとして含むキットのリスト ErrorAssociationIsFatherOfThis=選択した製品の一つは、現在の製品を持つ親です。 DeleteProduct=製品/サービスを削除。 -ConfirmDeleteProduct=この製品/サービスを削除してもよいか? -ProductDeleted=データベースから削除された製品/サービス " %s " 。 +ConfirmDeleteProduct=この製品/サービスを削除してもよろしいですか? +ProductDeleted=製品/サービス「%s 」がデータベースから削除されました。 ExportDataset_produit_1=製品 ExportDataset_service_1=サービス ImportDataset_produit_1=製品 ImportDataset_service_1=サービス -DeleteProductLine=製品ラインを削除。 -ConfirmDeleteProductLine=この製品ラインを削除してもよいか? +DeleteProductLine=製品の行を削除 +ConfirmDeleteProductLine=この商品の行を削除してもよろしいですか? ProductSpecial=特別な QtyMin=最小購入数量 PriceQtyMin=価格数量最小 @@ -149,7 +149,7 @@ PredefinedProductsToPurchase=購入する事前定義された製品 PredefinedServicesToPurchase=購入する事前定義されたサービス PredefinedProductsAndServicesToPurchase=購入する事前定義された製品/サービス NotPredefinedProducts=事前定義されていない製品/サービス -GenerateThumb=親指を生成。 +GenerateThumb=サムネイルを生成 ServiceNb=サービス#%s ListProductServiceByPopularity=人気による製品/サービスのリスト ListProductByPopularity=人気順製品のリスト @@ -157,11 +157,11 @@ ListServiceByPopularity=人気によるサービスのリスト Finished=工業製品 RowMaterial=最初の材料 ConfirmCloneProduct=製品またはサービスの複製を作成してもよいか%s ? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=製品/サービスのすべての主要な情報を複製する ClonePricesProduct=価格の複製 -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=リンクされたタグ/カテゴリのクローンを作成する +CloneCompositionProduct=仮想製品/サービスのクローンを作成する +CloneCombinationsProduct=製品バリアントのクローンを作成する ProductIsUsed=本製品が使用される NewRefForClone=REF。新製品/サービスの SellingPrices=販売価格 @@ -170,23 +170,23 @@ CustomerPrices=顧客価格 SuppliersPrices=仕入先価格 SuppliersPricesOfProductsOrServices=(製品またはサービスの)仕入先価格 CustomCode=税関|商品| HSコード -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=原産国 +RegionStateOrigin=原産地 +StateOrigin=州|原産地 +Nature=製品の性質(生/製造) NatureOfProductShort=製品の性質 -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=原材料または製造製品 ShortLabel=短縮ラベル Unit=単位 p=u. set=セット se=セット second=秒 -s=s +s=秒 hour=時間 -h=h +h=時 day=日 -d=d +d=日 kilogram=キログラム kg=Kg gram=グラム @@ -277,7 +277,7 @@ PriceByCustomer=顧客ごとに異なる価格 PriceCatalogue=製品/サービスごとの単一の販売価格 PricingRule=販売価格のルール AddCustomerPrice=顧客ごとに価格を追加 -ForceUpdateChildPriceSoc=顧客子会社に同じ価格を設定する +ForceUpdateChildPriceSoc=顧客の子会社に同じ価格を設定する PriceByCustomerLog=以前の顧客価格のログ MinimumPriceLimit=最低価格は%sより低くすることはできない MinimumRecommendedPrice=最小推奨価格は次のとおり:%s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=親の変更時に在庫を増減する ComposedProduct=子供向け製品 MinSupplierPrice=最小購入価格 MinCustomerPrice=最低販売価格 +NoDynamicPrice=動的価格でない DynamicPriceConfiguration=動的な価格構成 DynamicPriceDesc=数式を定義して、顧客または仕入先の価格を計算できる。このような数式では、すべての数学演算子、一部の定数および変数を使用できる。ここで、使用する変数を定義できる。変数に自動更新が必要な場合は、外部URLを定義して、Dolibarrが値を自動的に更新できるようにすることができる。 AddVariable=変数を追加 @@ -340,7 +341,7 @@ ProductSheet=製品シート ServiceSheet=サービスシート PossibleValues=可能な値 GoOnMenuToCreateVairants=メニュー%s-%sに移動して、属性バリアント(色、サイズなど)を準備。 -UseProductFournDesc=顧客向けの説明に加えて、仕入先によって定義された製品の説明を定義する機能を追加する +UseProductFournDesc=顧客に関する説明に加え、(仕入先参照ごとに)仕入先によって定義された製品説明を定義する機能を追加 ProductSupplierDescription=製品の仕入先の説明 UseProductSupplierPackaging=サプライヤ価格のパッケージを使用する(サプライヤドキュメントの行を追加/更新するときに、サプライヤ価格に設定されたパッケージに従って数量を再計算する) PackagingForThisProduct=包装 @@ -357,7 +358,7 @@ ProductAttributeValueDeleteDialog=この属性の「%s」を参照して値「%s ProductCombinationDeleteDialog=製品「%s」のバリアントを削除してもよいか? ProductCombinationAlreadyUsed=バリアントの削除中にエラーが発生した。どのオブジェクトにも使用されていないことを確認すること ProductCombinations=バリアント -PropagateVariant=バリアントの伝播 +PropagateVariant=バリエーションのコピー HideProductCombinations=製品セレクタで製品バリアントを非表示にする ProductCombination=バリアント NewProductCombination=新規バリアント @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=製品のバリアントでのみ使用可 ProductsPricePerCustomer=顧客あたりの製品価格 ProductSupplierExtraFields=追加属性(サプライヤー価格) DeleteLinkedProduct=組み合わせにリンクされている子製品を削除 +PMPValue=加重平均価格 +PMPValueShort=WAP diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index e9b62cee0ab..09408ea9a67 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -10,19 +10,19 @@ PrivateProject=プロジェクトの連絡先 ProjectsImContactFor=私が明示的に連絡を取っているプロジェクト AllAllowedProjects=私が読むことができるすべてのプロジェクト(私の+公開) AllProjects=すべてのプロジェクト -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=このビューは、連絡先のプロジェクトに限定されている ProjectsPublicDesc=このビューには、読み取りを許可されているすべてのプロジェクトを紹介します。 TasksOnProjectsPublicDesc=このビューには、読み取りが許可されているプロジェクトのすべてのタスクが表示される。 ProjectsPublicTaskDesc=このビューには、読み取りを許可されているすべてのプロジェクトやタスクを示します。 ProjectsDesc=このビューはすべてのプロジェクトを(あなたのユーザー権限はあなたに全てを表示する権限を付与)を提示します。 TasksOnProjectsDesc=このビューには、すべてのプロジェクトのすべてのタスクが表示される(ユーザー権限により、すべてを表示する権限が付与される)。 -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=このビューは、連絡先のプロジェクトまたはタスクに限定されている OnlyOpenedProject=開いているプロジェクトのみが表示される(ドラフトまたはクローズステータスのプロジェクトは表示されない)。 ClosedProjectsAreHidden=閉じたプロジェクトは表示されない。 TasksPublicDesc=このビューには、読み取りを許可されているすべてのプロジェクトやタスクを示します。 TasksDesc=このビューは、すべてのプロジェクトとタスク(あなたのユーザー権限はあなたに全てを表示する権限を付与)を提示します。 AllTaskVisibleButEditIfYouAreAssigned=資格のあるプロジェクトのすべてのタスクが表示されるが、選択したユーザーに割り当てられたタスクの時間のみを入力できる。時間を入力する必要がある場合は、タスクを割り当てる。 -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=自分に割り当てられたタスクのみが表示される。タスクの時間を入力する必要があり、タスクがここに表示されていない場合は、タスクを自分に割り当てる必要がある。 ImportDatasetTasks=プロジェクトのタスク ProjectCategories=プロジェクトタグ/カテゴリ NewProject=新規プロジェクト @@ -50,8 +50,8 @@ RefTask=タスク参照符号 LabelTask=タスクラベル TaskTimeSpent=タスクに費やした時間 TaskTimeUser=ユーザー -TaskTimeNote=注意 -TaskTimeDate=Date +TaskTimeNote=備考 +TaskTimeDate=日付 TasksOnOpenedProject=開いているプロジェクトのタスク WorkloadNotDefined=ワークロードが定義されていない NewTimeSpent=に費や​​された時間は @@ -118,7 +118,7 @@ TaskHasChild=タスクには子がある NotOwnerOfProject=この民間プロジェクトの所有者でない AffectedTo=に割り当てられた CantRemoveProject=このプロジェクトは、他のオブジェクト(請求書、注文など)によって参照されているため、削除できません。タブ「%s」を参照すること。 -ValidateProject=挙を検証する +ValidateProject=プロジェクトを承認する ConfirmValidateProject=このプロジェクトを検証してもよいか? CloseAProject=プロジェクトを閉じる ConfirmCloseAProject=このプロジェクトを終了してもよいか? @@ -140,11 +140,12 @@ NoTasks=このプロジェクトのための作業をしない LinkedToAnotherCompany=他の第三者へのリンク TaskIsNotAssignedToUser=タスクがユーザーに割り当てられていない。ボタン ' %s 'を使用して、今すぐタスクを割り当てる。 ErrorTimeSpentIsEmpty=費やした時間は空です +TimeRecordingRestrictedToNMonthsBack=時間の記録は、%sか月前に制限されている ThisWillAlsoRemoveTasks=このアクションは、プロジェクトのすべてのタスク(現時点では%sタスク)と過ごした時間のすべての入力を削除します。 IfNeedToUseOtherObjectKeepEmpty=いくつかのオブジェクト(請求書、注文、...)、別の第三者に属するが、作成するプロジェクトにリンクする必要がある場合は、複数の取引先中のプロジェクトを持っているこの空を保持します。 CloneTasks=クローンタスク CloneContacts=連絡先のクローン -CloneNotes=クローンノート +CloneNotes=備考を複製する CloneProjectFiles=プロジェクトに参加したファイルのクローンを作成する CloneTaskFiles=ファイルを結合したタスク(s)をクローンする(タスク(s)がクローンされた場合) CloneMoveDate=今からプロジェクト/タスクの日付を更新するか? @@ -187,7 +188,7 @@ DocumentModelBaleine=タスクのプロジェクトドキュメントテンプ DocumentModelTimeSpent=費やした時間のプロジェクトレポートテンプレート PlannedWorkload=計画されたワークロード PlannedWorkloadShort=ワークロード -ProjectReferers=関連項目s +ProjectReferers=関連項目 ProjectMustBeValidatedFirst=プロジェクトを最初に検証する必要がある FirstAddRessourceToAllocateTime=プロジェクトの連絡先としてユーザーリソースを割り当て、時間を割り当てる InputPerDay=1日あたりの入力 @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=タスクに割り当てられていない NoUserAssignedToTheProject=このプロジェクトに割り当てられているユーザーはない TimeSpentBy=によって費やされた時間 TasksAssignedTo=に割り当てられたタスク -AssignTaskToMe=Assign task to myself +AssignTaskToMe=自分にタスクを割り当てる AssignTaskToUser=タスクを%sに割り当てる SelectTaskToAssign=割り当てるタスクを選択すること... AssignTask=割当 @@ -241,6 +242,7 @@ LatestModifiedProjects=最新の%s変更プロジェクト OtherFilteredTasks=その他のフィルタリングされたタスク NoAssignedTasks=割り当てられたタスクが見つかりません(上部の選択ボックスから現在のユーザーにプロジェクト/タスクを割り当てて、時間を入力する) ThirdPartyRequiredToGenerateInvoice=プロジェクトに請求できるようにするには、プロジェクトで取引先を定義する必要がある。 +ThirdPartyRequiredToGenerateInvoice=プロジェクトに請求できるようにするには、プロジェクトで取引先を定義する必要がある。 ChooseANotYetAssignedTask=まだ割り当てられていないタスクを選択すること # Comments trans AllowCommentOnTask=タスクへのユーザーコメントを許可する @@ -252,10 +254,12 @@ SendProjectRef=情報プロジェクト%s ModuleSalaryToDefineHourlyRateMustBeEnabled=モジュール「給与」を有効にして、時間を評価するために従業員の時給を定義する必要がある NewTaskRefSuggested=タスク参照はすでに使用される。新規タスク参照が必要です TimeSpentInvoiced=請求に費やされた時間 +TimeSpentForIntervention=に費や​​された時間は TimeSpentForInvoice=に費や​​された時間は OneLinePerUser=ユーザーごとに1行 ServiceToUseOnLines=回線で利用するサービス InvoiceGeneratedFromTimeSpent=請求書%sは、プロジェクトに費やされた時間から生成された +InterventionGeneratedFromTimeSpent=出張%sは、プロジェクトに費やされた時間から生成された ProjectBillTimeDescription=プロジェクトのタスクにタイムシートを入力し、タイムシートから請求書(s)を生成してプロジェクトの顧客に請求する予定があるかどうかを確認する(入力したタイムシートに基づかない請求書を作成する予定があるかどうかは確認しないこと)。注:請求書を生成するには、プロジェクトの"費やした時間"タブに移動し、含める行を選択する。 ProjectFollowOpportunity=機会を追う ProjectFollowTasks=タスクまたは費やした時間をフォローする @@ -264,12 +268,16 @@ UsageOpportunity=使用法:機会 UsageTasks=使用法:タスク UsageBillTimeShort=使用法:請求時間 InvoiceToUse=使用する請求書のドラフト +InterToUse=使用する出張案 NewInvoice=新規請求書 +NewInter=新規出張 OneLinePerTask=タスクごとに1行 OneLinePerPeriod=期間ごとに1行 +OneLinePerTimeSpentLine=宣言に費やされた時間ごとに1行 RefTaskParent=参照符号親タスク ProfitIsCalculatedWith=利益は以下を使用して計算される AddPersonToTask=タスクにも追加 UsageOrganizeEvent=使用法:イベント組織 PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=すべてのタスクが完了したら、プロジェクトをクローズとして分類する(100%%の進行状況) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=注:100%%の進行状況にあるすべてのタスクを持つ既存のプロジェクトは影響を受けない。手動で閉じる必要があります。このオプションは、開いているプロジェクトにのみ影響する。 +SelectLinesOfTimeSpentToInvoice=請求されていない時間の行を選択し、「請求書の生成」を一括して請求する diff --git a/htdocs/langs/ja_JP/receptions.lang b/htdocs/langs/ja_JP/receptions.lang index e4fdf3eb37a..3e38aec2743 100644 --- a/htdocs/langs/ja_JP/receptions.lang +++ b/htdocs/langs/ja_JP/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=受付を行う前に、まず注文を確認 ReceptionsNumberingModules=受付のナンバリングモジュール ReceptionsReceiptModel=受付のドキュメントテンプレート NoMorePredefinedProductToDispatch=ディスパッチする事前定義された製品はもうない - +ReceptionExist=レセプションがある diff --git a/htdocs/langs/ja_JP/salaries.lang b/htdocs/langs/ja_JP/salaries.lang index 0ae2ac35e9f..1dde2055628 100644 --- a/htdocs/langs/ja_JP/salaries.lang +++ b/htdocs/langs/ja_JP/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=ユーザの取引先に使用される会計科目 SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=ユーザカードで定義された専用の会計科目は、補助元帳の会計にのみ使用される。これは総勘定元帳に使用され、ユーザの専用ユーザ会計勘定が定義されていない場合は補助元帳会計のデフォルト値として使用される。 SALARIES_ACCOUNTING_ACCOUNT_CHARGE=賃金支払いのデフォルトの会計科目 +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=デフォルトでは、給与を作成するときに ”支払合計を自動的に作成" オプションを空のままにする Salary=給料 Salaries=給与 -NewSalaryPayment=新規給与の支払い +NewSalary=新規給与 +NewSalaryPayment=新規給与カード AddSalaryPayment=給与支払いを追加する SalaryPayment=給与の支払い SalariesPayments=給与の支払い +SalariesPaymentsOf=%sの給与支払 ShowSalaryPayment=給与の支払いを表示する THM=平均時給 TJM=1日あたりの平均料金 CurrentSalary=現在の給与 THMDescription=この値は、プロジェクトモジュールが使用されている場合に、ユーザが入力したプロジェクトで消費された時間のコストを計算するために使用できる。 TJMDescription=この値は現在情報提供のみを目的としており、計算には使用されない。 -LastSalaries=最新の%s給与支払い -AllSalaries=すべての給与支払い +LastSalaries=最新%s給与 +AllSalaries=全給与 SalariesStatistics=給与統計 -# Export SalariesAndPayments=給与と支払い +ConfirmDeleteSalaryPayment=この給与支払いを削除するか? diff --git a/htdocs/langs/ja_JP/sendings.lang b/htdocs/langs/ja_JP/sendings.lang index 310d3eff816..692812cfd6e 100644 --- a/htdocs/langs/ja_JP/sendings.lang +++ b/htdocs/langs/ja_JP/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=この出荷を参照%s で検査してもよい ConfirmCancelSending=この出荷をキャンセルしてもよいか? DocumentModelMerou=メロウA5モデル WarningNoQtyLeftToSend=警告、出荷待ちの製品はない。 -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=統計は、検証済みの出荷のみを対象としている。使用日は出荷の検証日(配達予定日は常にわかっているわけではない) DateDeliveryPlanned=配達予定日 RefDeliveryReceipt=参照納品書 StatusReceipt=ステータス納品書 diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index 5c123dda1c0..d60092fe3ac 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=購入単価 StockTooLow=低すぎる在庫 StockLowerThanLimit=在庫がアラート制限を下回っている(%s) EnhancedValue=値 -PMPValue=加重平均価格 -PMPValueShort=WAP EnhancedValueOfWarehouses=倉庫の値 UserWarehouseAutoCreate=ユーザーの作成時にユーザー倉庫を自動的に作成する AllowAddLimitStockByWarehouse=製品ごとの最小在庫と希望在庫の値に加えて、ペアリングごとの最小在庫と希望在庫の値(製品倉庫)も管理する。 RuleForWarehouse=倉庫のルール -WarehouseAskWarehouseOnThirparty=取引先に倉庫を設定する +WarehouseAskWarehouseOnThirparty=取引先に倉庫を設置する WarehouseAskWarehouseDuringPropal=商業提案に倉庫を設定する WarehouseAskWarehouseDuringOrder=販売注文に倉庫を設定する UserDefaultWarehouse=ユーザーに倉庫を設定する @@ -91,7 +89,7 @@ NoPredefinedProductToDispatch=このオブジェクト用に事前定義され DispatchVerb=派遣 StockLimitShort=アラートの制限 StockLimit=アラートの在庫制限 -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(空)は警告がないことを意味する。
    0を使用すると、在庫が空になるとすぐに警告をトリガーできる。 PhysicalStock=現物在庫 RealStock=実在庫 RealStockDesc=現物/実在庫は、現在倉庫にある在庫 。 @@ -158,7 +156,7 @@ StockMustBeEnoughForShipment= 在庫レベルは、製品/サービスを出荷 MovementLabel=動きのラベル TypeMovement=移動方向 DateMovement=移動日 -InventoryCode=移動または在庫コード +InventoryCode=移動または目録コード IsInPackage=パッケージに含まれている WarehouseAllowNegativeTransfer=在庫はマイナスになる可能性がある qtyToTranferIsNotEnough=ソース倉庫からの十分な在庫がなく、セットアップで負の在庫が許可されていない。 @@ -169,8 +167,8 @@ MovementTransferStock=製品%sの別の倉庫への在庫移転 InventoryCodeShort=Inv./Mov。コード NoPendingReceptionOnSupplierOrder=注文書が開いているため、保留中の受付はない ThisSerialAlreadyExistWithDifferentDate=ロット/シリアル 番号 (%s) は異なる賞味期限または販売期限で ( %s が見つかったが、入力したのは %s). -OpenAll=すべてのアクションに対して開く -OpenInternal=内部アクションのためにのみ開く +OpenAnyMovement=開く(全移動) +OpenInternal=オープン(内部移動のみ) UseDispatchStatus=発注書受付の製品ラインにディスパッチステータス(承認/拒否)を使用する OptionMULTIPRICESIsOn=オプション「セグメントごとのいくつかの価格」がオンになっている。これは、製品に複数の販売価格があるため、販売価値を計算できないことを意味する ProductStockWarehouseCreated=アラートの在庫制限と希望する最適在庫が正しく作成された @@ -178,32 +176,32 @@ ProductStockWarehouseUpdated=アラートの在庫制限と希望する最適在 ProductStockWarehouseDeleted=アラートの在庫制限と希望する最適在庫が正しく削除された AddNewProductStockWarehouse=アラートと望ましい最適在庫の新規制限を設定する AddStockLocationLine=数量を減らしてから、クリックしてこの製品の別の倉庫を追加する -InventoryDate=在庫日 -NewInventory=新規在庫 -inventorySetup = 在庫設定 -inventoryCreatePermission=新規在庫を作成する +InventoryDate=目録日付 +NewInventory=新規目録 +inventorySetup = 目録設定 +inventoryCreatePermission=新規目録を作成する inventoryReadPermission=在庫を見る inventoryWritePermission=在庫を更新する -inventoryValidatePermission=在庫を検証する -inventoryDeletePermission=在庫目録を削除 -inventoryTitle=在庫 +inventoryValidatePermission=目録を検証する +inventoryDeletePermission=目録を削除 +inventoryTitle=目録 inventoryListTitle=在庫 -inventoryListEmpty=進行中の在庫はない -inventoryCreateDelete=インベントリの作成/削除 +inventoryListEmpty=進行中の目録はない +inventoryCreateDelete=目録の作成/削除 inventoryCreate=新規作成 inventoryEdit=編集 inventoryValidate=検証 inventoryDraft=ランニング inventorySelectWarehouse=倉庫の選択 inventoryConfirmCreate=作成 -inventoryOfWarehouse=倉庫の在庫:%s +inventoryOfWarehouse=倉庫の目録:%s inventoryErrorQtyAdd=エラー:1つの数量がゼロ未満 -inventoryMvtStock=在庫別 +inventoryMvtStock=目録別 inventoryWarningProductAlreadyExists=この製品はすでにリストに含まれている SelectCategory=カテゴリフィルタ SelectFournisseur=仕入先フィルタ -inventoryOnDate=在庫 -INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=在庫移動には、(在庫検証の日付ではなく)在庫の日付がある。 +inventoryOnDate=目録 +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=在庫移動には、(目録検証の日付ではなく) 目録の日付を付ける。 inventoryChangePMPPermission=製品のPMP値の変更を許可する ColumnNewPMP=新規ユニットPMP OnlyProdsInStock=在庫のない製品は追加しないこと @@ -215,12 +213,12 @@ RecordedQty=記録された数量 RealQty=実数量 RealValue=真の価値 RegulatedQty=規制数量 -AddInventoryProduct=製品を在庫に追加する +AddInventoryProduct=製品を目録に追加する AddProduct=加える ApplyPMP=PMPを適用する -FlushInventory=在庫をフラッシュする +FlushInventory=目録をフラッシュする ConfirmFlushInventory=このアクションを確認するか? -InventoryFlushed=在庫がフラッシュされた +InventoryFlushed=目録がフラッシュされた ExitEditMode=終了版 inventoryDeleteLine=行を削除する RegulateStock=在庫を調整する @@ -232,8 +230,8 @@ StockIncreaseAfterCorrectTransfer=修正/移転による増加 StockDecreaseAfterCorrectTransfer=修正/移転による減少 StockIncrease=在庫増加 StockDecrease=在庫減少 -InventoryForASpecificWarehouse=特定の倉庫の在庫 -InventoryForASpecificProduct=特定の製品の在庫 +InventoryForASpecificWarehouse=特定の倉庫の目録 +InventoryForASpecificProduct=特定の製品の目録 StockIsRequiredToChooseWhichLotToUse=使用するロットを選択するには在庫が必要 ForceTo=強制する AlwaysShowFullArbo=倉庫リンクのポップアップに倉庫の完全なツリーを表示する(警告:これによりパフォーマンスが大幅に低下する可能性がある) @@ -249,9 +247,17 @@ ImportFromCSV=移動のCSVリストをインポート ChooseFileToImport=ファイルをアップロードし、%sアイコンをクリックして、ソースインポートファイルとしてファイルを選択する。 SelectAStockMovementFileToImport=インポートする在庫品移動ファイルを選択 InfoTemplateImport=アップロードされたファイルは次の形式が必要 (*は必須フィールド):
    元倉庫* | 先倉庫* | 製品* | 数量* | ロット/シリアル番号
    CSV文字区切は「%s」であること -LabelOfInventoryMovemement=在庫目録%s +LabelOfInventoryMovemement=目録%s ReOpen=再開 -ConfirmFinish=在庫の閉鎖を確認するか?これにより、在庫を更新するためのすべての在庫移動が生成される。 +ConfirmFinish=目録の閉鎖を確定するか?これにより、すべての在庫移動が生成され、目録に入力した実数量で在庫が更新される。 ObjectNotFound=%sが見つからない MakeMovementsAndClose=移動を生成して閉じる AutofillWithExpected=実際の数量を予想数量で埋める +ShowAllBatchByDefault=デフォルトでは、製品の「在庫」タブにバッチの詳細を表示する +CollapseBatchDetailHelp=在庫モジュール構成でバッチ詳細のデフォルト表示を設定できる +FieldCannotBeNegative=フィールド "%s" は負の値にはできない +ErrorWrongBarcodemode=不明なバーコードモード +ProductDoesNotExist=製品が存在しない +ErrorSameBatchNumber=在庫リストに同じバッチ番号が見つかった +ProductBatchDoesNotExist=バッチ/シリアルの製品は存在しない +ProductBarcodeDoesNotExist=バーコード付き製品は存在しない diff --git a/htdocs/langs/ja_JP/ticket.lang b/htdocs/langs/ja_JP/ticket.lang index 1730e1d0e0e..7b4c4324408 100644 --- a/htdocs/langs/ja_JP/ticket.lang +++ b/htdocs/langs/ja_JP/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=チケット-解決策 TicketTypeShortCOM=商業的な質問 TicketTypeShortHELP=機能的なヘルプのリクエスト -TicketTypeShortISSUE=問題、バグまたは問題 +TicketTypeShortISSUE=問題またはバグ +TicketTypeShortPROBLEM=問題 TicketTypeShortREQUEST=変更または拡張リクエスト TicketTypeShortPROJET=プロジェクト TicketTypeShortOTHER=その他 @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=割り当てられたユーザー TypeContact_ticket_external_SUPPORTCLI=顧客連絡/インシデント追跡 TypeContact_ticket_external_CONTRIBUTOR=外部寄稿者 -OriginEmail=メールソース +OriginEmail=レポーターのメール Notify_TICKET_SENTBYMAIL=メールでチケットメッセージを送信する # Status Read=読む Assigned=割り当て済 InProgress=進行中 -NeedMoreInformation=情報を待っている +NeedMoreInformation=記者のフィードバック待機中 +NeedMoreInformationShort=フィードバック待機中 Answered=答えた Waiting=待っている -Closed=閉じた +SolvedClosed=解決した Deleted=削除 # Dict @@ -160,7 +162,7 @@ CreatedBy=によって作成された NewTicket=新規チケット SubjectAnswerToTicket=チケットの回答 TicketTypeRequest=リクエストの種類 -TicketCategory=グループ +TicketCategory=チケット分類 SeeTicket=チケットを見る TicketMarkedAsRead=チケットは既読としてマークされている TicketReadOn=読む @@ -184,9 +186,11 @@ TicketSeverity=重大度 ShowTicket=チケットを見る RelatedTickets=関連チケット TicketAddIntervention=介入を作成する -CloseTicket=チケットを閉じる -CloseATicket=チケットを閉じる +CloseTicket=チケットを 閉じる|解決 する +AbandonTicket=チケットを放棄する +CloseATicket=チケット1つを 閉じる|解決 する ConfirmCloseAticket=チケットの終了を確認する +ConfirmAbandonTicket=チケットを終了し、ステータスを「放棄」に確定するか ConfirmDeleteTicket=チケットの削除を確認すること TicketDeletedSuccess=チケットは正常に削除された TicketMarkedAsClosed=チケットはクローズとしてマークされている @@ -211,6 +215,7 @@ TicketMessageHelp=このテキストのみがチケットカードのメッセ TicketMessageSubstitutionReplacedByGenericValues=置換変数は一般的な値に置き換えられます。 TimeElapsedSince=からの経過時間 TicketTimeToRead=読み取るまでの経過時間 +TicketTimeElapsedBeforeSince=前後の経過時間 TicketContacts=連絡先チケット TicketDocumentsLinked=チケットにリンクされているドキュメント ConfirmReOpenTicket=このチケットを再度開くことを確認するか? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=最新の変更されたチケット BoxLastModifiedTicketDescription=最新の%s変更チケット BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=最近変更されたチケットはない -BoxTicketType=タイプ別のオープンチケットの数 +BoxTicketType=オープンチケットの種類別分布 BoxTicketSeverity=重大度別のオープンチケットの数 BoxNoTicketSeverity=開いているチケットなし BoxTicketLastXDays=過去%s日ごとの新規チケットの数 diff --git a/htdocs/langs/ja_JP/trips.lang b/htdocs/langs/ja_JP/trips.lang index aa7bffd91bd..bb763da4fbb 100644 --- a/htdocs/langs/ja_JP/trips.lang +++ b/htdocs/langs/ja_JP/trips.lang @@ -19,7 +19,7 @@ ConfirmDeleteTrip=この経費報告書を削除してもよいか? ListTripsAndExpenses=経費報告書のリスト ListToApprove=承認待ち ExpensesArea=経費報告エリア -ClassifyRefunded=分類「返金済み」 +ClassifyRefunded=分類「返金済」 ExpenseReportWaitingForApproval=新規経費報告書が承認のために提出された ExpenseReportWaitingForApprovalMessage=新規経費報告書が提出され、承認を待っている。
    -ユーザ:%s
    -期間:%s
    検証するにはここをクリック:%s ExpenseReportWaitingForReApproval=再承認のために経費報告書が提出された @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=経費報告書%sはキャンセルされた。
    -ユーザ:%s
    -支払い者:%s
    ここをクリックして経費報告書を表示する:%s TripId=ID経費レポート -AnyOtherInThisListCanValidate=検証のために通知する人。 +AnyOtherInThisListCanValidate=リクエストを検証するために通知される人。 TripSociete=情報法人 TripNDF=情報経費報告書 PDFStandardExpenseReports=経費報告書のPDFドキュメントを生成するための標準テンプレート @@ -90,16 +90,15 @@ DATE_REFUS=拒否日 DATE_SAVE=検証日 DATE_CANCEL=キャンセル日 DATE_PAIEMENT=支払期日 -BROUILLONNER=再開 ExpenseReportRef=参照。経費報告書 ValidateAndSubmit=検証して承認のために送信 -ValidatedWaitingApproval=検証済み(承認待ち) +ValidatedWaitingApproval=検証済(承認待ち) NOT_AUTHOR=あなたはこの経費報告書の作成者ではない。操作はキャンセルされた。 ConfirmRefuseTrip=この経費報告書を拒否してもよいか? ValideTrip=経費報告書を承認する ConfirmValideTrip=この経費報告書を承認してもよいか? PaidTrip=経費報告書を支払う -ConfirmPaidTrip=この経費報告書のステータスを「支払い済み」に変更してもよいか? +ConfirmPaidTrip=この経費報告書のステータスを「支払い済」に変更してもよいか? ConfirmCancelTrip=この経費報告書をキャンセルしてもよいか? BrouillonnerTrip=経費報告書をステータス「ドラフト」に戻する ConfirmBrouillonnerTrip=この経費報告書をステータス「ドラフト」に移動してもよいか? diff --git a/htdocs/langs/ja_JP/users.lang b/htdocs/langs/ja_JP/users.lang index 9df51f63327..41f2ff6d36e 100644 --- a/htdocs/langs/ja_JP/users.lang +++ b/htdocs/langs/ja_JP/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=%s:パスワードに変更 SubjectNewPassword=%sの新規パスワード GroupRights=グループのパーミッション UserRights=ユーザ権限 -Credentials=Credentials +Credentials=資格情報 UserGUISetup=ユーザディスプレイの設定 DisableUser=無効にする DisableAUser=ユーザを無効にする @@ -98,7 +98,7 @@ NameToCreate=作成するには、取引先の名前 YourRole=あなたの役割 YourQuotaOfUsersIsReached=アクティブなユーザのあなたのクォータに達している! NbOfUsers=ユーザ数 -NbOfPermissions=権限の数 +NbOfPermissions=許可数 DontDowngradeSuperAdmin=唯一superadminはダウングレードは、superAdminできる HierarchicalResponsible=スーパーバイザー HierarchicView=階層ビュー @@ -106,7 +106,7 @@ UseTypeFieldToChange=フィールドタイプを使用して変更 OpenIDURL=OpenID URL LoginUsingOpenID=OpenIDを使用してログインする WeeklyHours=労働時間(週あたり) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=週あたりの予想労働時間 ColorUser=ユーザの色 DisabledInMonoUserMode=メンテナンスモードでは無効 UserAccountancyCode=ユーザアカウンティングコード @@ -116,7 +116,7 @@ DateOfEmployment=雇用日 DateEmployment=雇用 DateEmploymentstart=雇用開始日 DateEmploymentEnd=雇用終了日 -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=アクセス有効期間 CantDisableYourself=自分のユーザレコードを無効にすることはできません ForceUserExpenseValidator=経費報告書検証ツールを強制する ForceUserHolidayValidator=強制休暇リクエストバリデーター diff --git a/htdocs/langs/ja_JP/website.lang b/htdocs/langs/ja_JP/website.lang index 27a0ef7bef6..184bf4f6dbb 100644 --- a/htdocs/langs/ja_JP/website.lang +++ b/htdocs/langs/ja_JP/website.lang @@ -31,7 +31,7 @@ AddWebsite=ウェブサイトを追加 Webpage=Webページ/コンテナ AddPage=ページ/コンテナを追加 PageContainer=ページ -PreviewOfSiteNotYetAvailable=あなたのウェブサイトのプレビュー%sはまだ利用できません。最初に「完全なWebサイトテンプレート」をインポートするか、「ページ/コンテナ」を追加する必要がある。 +PreviewOfSiteNotYetAvailable=あなたのウェブサイト%sのプレビューはまだ利用不可。最初に「完全なウェブサイトテンプレート」をインポートするか、単に「ページ/コンテナ」を追加する必要がある。 RequestedPageHasNoContentYet=ID %sの要求されたページにまだコンテンツがないか、キャッシュファイル.tpl.phpが削除された。これを解決するには、ページのコンテンツを編集すること。 SiteDeleted=Webサイト '%s'が削除された PageContent=ページ/コンテネア @@ -140,7 +140,7 @@ DefineListOfAltLanguagesInWebsiteProperties=使用可能なすべての言語の GenerateSitemaps=ウェブサイトサイトマップファイルを生成する ConfirmGenerateSitemaps=確定すると、既存のサイトマップファイルが消去される... ConfirmSitemapsCreation=サイトマップの生成を確認する -SitemapGenerated=Sitemap file %s generated +SitemapGenerated=サイトマップファイル%sが生成された ImportFavicon=ファビコン ErrorFaviconType=ファビコンはpngを必要とする ErrorFaviconSize=ファビコンのサイズは16x16、32x32、または64x64であること diff --git a/htdocs/langs/ja_JP/withdrawals.lang b/htdocs/langs/ja_JP/withdrawals.lang index 96b9b5e37e1..21e1d83c91c 100644 --- a/htdocs/langs/ja_JP/withdrawals.lang +++ b/htdocs/langs/ja_JP/withdrawals.lang @@ -22,7 +22,7 @@ RequestStandingOrderToTreat=処理する口座振替の注文のリクエスト RequestStandingOrderTreated=口座振替の支払注文のリクエストが処理された RequestPaymentsByBankTransferToTreat=処理するクレジット転送のリクエスト RequestPaymentsByBankTransferTreated=処理されたクレジット転送のリクエスト -NotPossibleForThisStatusOfWithdrawReceiptORLine=まだ不可能。特定の行で拒否を宣言する前に、撤回ステータスを「クレジット済み」に設定する必要がある。 +NotPossibleForThisStatusOfWithdrawReceiptORLine=まだ不可能。特定の行で拒否を宣言する前に、撤回ステータスを「クレジット済」に設定する必要がある。 NbOfInvoiceToWithdraw=口座振替の注文を待っている適格な顧客の請求書の数 NbOfInvoiceToWithdrawWithInfo=銀行口座情報が定義された口座振替の注文を含む顧客の請求書の数 NbOfInvoiceToPayByBankTransfer=クレジット振込による支払を待っている適格なサプライヤー請求書の数 @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s口座振替の支払要求が記録された BankTransferRequestsDone=%sクレジット転送リクエストが記録済 ThirdPartyBankCode=サードパーティの銀行コード NoInvoiceCouldBeWithdrawed=正常に引き落とされた請求書はない。請求書が有効なIBANを持つ会社のものであり、IBANにモード %s のUMR(一意の委任参照)があることを確認すること。 +WithdrawalCantBeCreditedTwice=この出金票はすでに貸方でマークされている。これは、重複した支払いと銀行エントリを作成する可能性があるため、2回実行することは不可。 ClassCredited=入金分類 ClassCreditedConfirm=あなたの銀行口座に入金、この引落しの領収書を分類してもよいか? TransData=日付伝送 @@ -95,13 +96,13 @@ BankToPayCreditTransfer=支払元として使用される銀行口座 CreditDate=クレジットで WithdrawalFileNotCapable=お住まいの国の引き出しレシートファイルを生成できない%s(お住まいの国はサポートされていない) ShowWithdraw=口座振替の注文を表示 -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=ただし、請求書にまだ処理されていない口座振替の支払注文が少なくとも1つある場合、事前の引き出し管理を可能にするために支払済みとして設定されない。 +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=ただし、請求書にまだ処理されていない口座振替の支払注文が少なくとも1つある場合、事前の引き出し管理を可能にするために支払済として設定されない。 DoStandingOrdersBeforePayments=このタブでは、口座振替の支払注文をリクエストできる。完了したら、メニューの 銀行 -> 口座振替による支払 に移動して、口座振替の注文を生成および管理する。口座振替の注文が締め切られると、請求書の支払は自動的に記録され、残りの支払がゼロの場合は請求書が締め切られる。 DoCreditTransferBeforePayments=このタブでは、クレジット振込の注文をリクエストできる。完了したら、メニュー 銀行 -> クレジット転送による支払 に移動して、クレジット転送オーダーを生成および管理する。クレジット振込注文がクローズされると、請求書の支払が自動的に記録され、残りの支払がゼロの場合、請求書はクローズされる。 WithdrawalFile=デビット注文ファイル CreditTransferFile=クレジット転送ファイル -SetToStatusSent=ステータス「ファイル送信済み」に設定 -ThisWillAlsoAddPaymentOnInvoice=これはまた、請求書に支払を記録し、支払の残りがnullの場合、それらを「支払済み」として分類する +SetToStatusSent=ステータス「ファイル送信済」に設定 +ThisWillAlsoAddPaymentOnInvoice=これはまた、請求書に支払を記録し、支払の残りがnullの場合、それらを「支払済」として分類する StatisticsByLineStatus=回線のステータスによる統計 RUM=UMR DateRUM=署名日を委任する @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=実行日 CreateForSepa=口座振替ファイルを作成する -ICS=口座振替の貸方識別子 CI -ICSTransfer=銀行振込の貸方識別子 CI +ICS=債権者識別子-ICS END_TO_END=「EndToEndId」SEPAXMLタグ-トランザクションごとに割り当てられた一意のID USTRD=「非構造化」SEPAXMLタグ ADDDAYS=実行日に日数を追加 diff --git a/htdocs/langs/ja_JP/workflow.lang b/htdocs/langs/ja_JP/workflow.lang index cf1f12eb09f..e7fc1b8b56a 100644 --- a/htdocs/langs/ja_JP/workflow.lang +++ b/htdocs/langs/ja_JP/workflow.lang @@ -8,15 +8,16 @@ descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=売買契約提案書書に署名した descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=契約が検証された後、顧客の請求書を自動的に作成する descWORKFLOW_ORDER_AUTOCREATE_INVOICE=受注がクローズされた後、顧客の請求書を自動的に作成する(新規請求書は注文と同じ金額になる) # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=販売注文が請求済みに設定されている場合(および注文の金額が署名されたリンクされた提案の合計金額と同じ場合)、リンクされたソース提案を請求済みとして分類する。 -descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=リンクされたソースプロポーザルを、顧客の請求書が検証されたときに請求済みとして分類する(また、請求書の金額が署名されたリンクされたプロポーザルの合計金額と同じである場合) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=顧客の請求書が検証されたときに請求済みとしてリンクされたソース販売注文を分類する(請求書の金額がリンクされた注文の合計金額と同じである場合) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=顧客の請求書が支払い済みに設定されている場合(および請求書の金額がリンクされた注文の合計金額と同じである場合)、リンクされたソース販売注文を請求済みとして分類する。 +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=販売注文が請求済に設定されている場合(および注文の金額が署名されたリンクされた提案の合計金額と同じ場合)、リンクされたソース提案を請求済として分類する。 +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=リンクされたソースプロポーザルを、顧客の請求書が検証されたときに請求済として分類する(また、請求書の金額が署名されたリンクされたプロポーザルの合計金額と同じである場合) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=顧客の請求書が検証されたときに請求済としてリンクされたソース販売注文を分類する(請求書の金額がリンクされた注文の合計金額と同じである場合) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=顧客の請求書が支払い済に設定されている場合(および請求書の金額がリンクされた注文の合計金額と同じである場合)、リンクされたソース販売注文を請求済として分類する。 descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=リンクされたソース販売注文を、出荷が検証されたときに出荷されたものとして分類する(また、すべての出荷によって出荷された数量が更新する注文と同じである場合) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=リンクされたソース販売注文を、出荷がクローズされた(かつ、すべての出荷によって出荷された数量が更新する注文と同じである)場合に出荷されたものとして分類する # Autoclassify purchase order -descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=リンクされたソースベンダーの提案を、ベンダーの請求書が検証されたときに請求済みとして分類する(また、請求書の金額がリンクされた提案の合計金額と同じである場合)。 -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=ベンダーの請求書が検証されたときに請求済みとしてリンクされたソース発注書を分類する(請求書の金額がリンクされた注文の合計金額と同じである場合) -descWORKFLOW_BILL_ON_RECEPTION=リンクされたサプライヤの注文が検証されたときに、受信を「請求済み」に分類する +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=リンクされたソースベンダーの提案を、ベンダーの請求書が検証されたときに請求済として分類する(また、請求書の金額がリンクされた提案の合計金額と同じである場合)。 +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=ベンダーの請求書が検証されたときに請求済としてリンクされたソース発注書を分類する(請求書の金額がリンクされた注文の合計金額と同じである場合) +descWORKFLOW_BILL_ON_RECEPTION=リンクされたサプライヤの注文が検証されたときに、受信を「請求済」に分類する # Autoclose intervention descWORKFLOW_TICKET_CLOSE_INTERVENTION=チケットが閉じられたら、チケットにリンクされているすべての介入を閉じる AutomaticCreation=自動作成 diff --git a/htdocs/langs/ka_GE/accountancy.lang b/htdocs/langs/ka_GE/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/ka_GE/accountancy.lang +++ b/htdocs/langs/ka_GE/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/ka_GE/admin.lang +++ b/htdocs/langs/ka_GE/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ka_GE/agenda.lang b/htdocs/langs/ka_GE/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/ka_GE/agenda.lang +++ b/htdocs/langs/ka_GE/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/ka_GE/banks.lang b/htdocs/langs/ka_GE/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/ka_GE/banks.lang +++ b/htdocs/langs/ka_GE/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ka_GE/bills.lang b/htdocs/langs/ka_GE/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/ka_GE/bills.lang +++ b/htdocs/langs/ka_GE/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/ka_GE/boxes.lang b/htdocs/langs/ka_GE/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/ka_GE/boxes.lang +++ b/htdocs/langs/ka_GE/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/ka_GE/cashdesk.lang b/htdocs/langs/ka_GE/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/ka_GE/cashdesk.lang +++ b/htdocs/langs/ka_GE/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ka_GE/compta.lang b/htdocs/langs/ka_GE/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/ka_GE/compta.lang +++ b/htdocs/langs/ka_GE/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/ka_GE/cron.lang b/htdocs/langs/ka_GE/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/ka_GE/cron.lang +++ b/htdocs/langs/ka_GE/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/ka_GE/deliveries.lang b/htdocs/langs/ka_GE/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/ka_GE/deliveries.lang +++ b/htdocs/langs/ka_GE/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/ka_GE/errors.lang +++ b/htdocs/langs/ka_GE/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ka_GE/eventorganization.lang b/htdocs/langs/ka_GE/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/ka_GE/eventorganization.lang +++ b/htdocs/langs/ka_GE/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/ka_GE/exports.lang b/htdocs/langs/ka_GE/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/ka_GE/exports.lang +++ b/htdocs/langs/ka_GE/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ka_GE/holiday.lang b/htdocs/langs/ka_GE/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/ka_GE/holiday.lang +++ b/htdocs/langs/ka_GE/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ka_GE/hrm.lang b/htdocs/langs/ka_GE/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/ka_GE/hrm.lang +++ b/htdocs/langs/ka_GE/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/ka_GE/install.lang +++ b/htdocs/langs/ka_GE/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ka_GE/interventions.lang b/htdocs/langs/ka_GE/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/ka_GE/interventions.lang +++ b/htdocs/langs/ka_GE/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/ka_GE/knowledgemanagement.lang b/htdocs/langs/ka_GE/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/ka_GE/knowledgemanagement.lang +++ b/htdocs/langs/ka_GE/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/ka_GE/languages.lang b/htdocs/langs/ka_GE/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/ka_GE/languages.lang +++ b/htdocs/langs/ka_GE/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/ka_GE/mails.lang b/htdocs/langs/ka_GE/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/ka_GE/mails.lang +++ b/htdocs/langs/ka_GE/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/ka_GE/main.lang b/htdocs/langs/ka_GE/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/ka_GE/main.lang +++ b/htdocs/langs/ka_GE/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/ka_GE/members.lang b/htdocs/langs/ka_GE/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/ka_GE/members.lang +++ b/htdocs/langs/ka_GE/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/ka_GE/modulebuilder.lang b/htdocs/langs/ka_GE/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/ka_GE/modulebuilder.lang +++ b/htdocs/langs/ka_GE/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/ka_GE/mrp.lang b/htdocs/langs/ka_GE/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/ka_GE/mrp.lang +++ b/htdocs/langs/ka_GE/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/ka_GE/orders.lang b/htdocs/langs/ka_GE/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/ka_GE/orders.lang +++ b/htdocs/langs/ka_GE/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/ka_GE/other.lang b/htdocs/langs/ka_GE/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/ka_GE/other.lang +++ b/htdocs/langs/ka_GE/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/ka_GE/partnership.lang b/htdocs/langs/ka_GE/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/ka_GE/partnership.lang +++ b/htdocs/langs/ka_GE/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/ka_GE/productbatch.lang b/htdocs/langs/ka_GE/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/ka_GE/productbatch.lang +++ b/htdocs/langs/ka_GE/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/ka_GE/products.lang b/htdocs/langs/ka_GE/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/ka_GE/products.lang +++ b/htdocs/langs/ka_GE/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/ka_GE/projects.lang b/htdocs/langs/ka_GE/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/ka_GE/projects.lang +++ b/htdocs/langs/ka_GE/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/ka_GE/receptions.lang b/htdocs/langs/ka_GE/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/ka_GE/receptions.lang +++ b/htdocs/langs/ka_GE/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/ka_GE/salaries.lang b/htdocs/langs/ka_GE/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/ka_GE/salaries.lang +++ b/htdocs/langs/ka_GE/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ka_GE/stocks.lang b/htdocs/langs/ka_GE/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/ka_GE/stocks.lang +++ b/htdocs/langs/ka_GE/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ka_GE/ticket.lang b/htdocs/langs/ka_GE/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/ka_GE/ticket.lang +++ b/htdocs/langs/ka_GE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/ka_GE/trips.lang b/htdocs/langs/ka_GE/trips.lang index e34078e8fc2..c9a6c792077 100644 --- a/htdocs/langs/ka_GE/trips.lang +++ b/htdocs/langs/ka_GE/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/ka_GE/users.lang b/htdocs/langs/ka_GE/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/ka_GE/users.lang +++ b/htdocs/langs/ka_GE/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ka_GE/website.lang b/htdocs/langs/ka_GE/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/ka_GE/website.lang +++ b/htdocs/langs/ka_GE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ka_GE/withdrawals.lang b/htdocs/langs/ka_GE/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/ka_GE/withdrawals.lang +++ b/htdocs/langs/ka_GE/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/ka_GE/workflow.lang b/htdocs/langs/ka_GE/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/ka_GE/workflow.lang +++ b/htdocs/langs/ka_GE/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/kk_KZ/accountancy.lang b/htdocs/langs/kk_KZ/accountancy.lang new file mode 100644 index 00000000000..771f0a83e7b --- /dev/null +++ b/htdocs/langs/kk_KZ/accountancy.lang @@ -0,0 +1,434 @@ +# Dolibarr language file - en_US - Accountancy (Double entries) +Accountancy=Accountancy +Accounting=Accounting +ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file +ACCOUNTING_EXPORT_DATE=Date format for export file +ACCOUNTING_EXPORT_PIECE=Export the number of piece +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account +ACCOUNTING_EXPORT_LABEL=Export label +ACCOUNTING_EXPORT_AMOUNT=Export amount +ACCOUNTING_EXPORT_DEVISE=Export currency +Selectformat=Select the format for the file +ACCOUNTING_EXPORT_FORMAT=Select the format for the file +ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type +ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name +ThisService=This service +ThisProduct=This product +DefaultForService=Default for service +DefaultForProduct=Default for product +ProductForThisThirdparty=Product for this thirdparty +ServiceForThisThirdparty=Service for this thirdparty +CantSuggest=Can't suggest +AccountancySetupDoneFromAccountancyMenu=Most setup of the accountancy is done from the menu %s +ConfigAccountingExpert=Configuration of the module accounting (double entry) +Journalization=Journalization +Journals=Journals +JournalFinancial=Financial journals +BackToChartofaccounts=Return chart of accounts +Chartofaccounts=Chart of accounts +ChartOfSubaccounts=Chart of individual accounts +ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger +CurrentDedicatedAccountingAccount=Current dedicated account +AssignDedicatedAccountingAccount=New account to assign +InvoiceLabel=Invoice label +OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to an accounting account +OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to an accounting account +OtherInfo=Other information +DeleteCptCategory=Remove accounting account from group +ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? +JournalizationInLedgerStatus=Status of journalization +AlreadyInGeneralLedger=Already transferred in accounting journals and ledger +NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger +GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group +DetailByAccount=Show detail by account +AccountWithNonZeroValues=Accounts with non-zero values +ListOfAccounts=List of accounts +CountriesInEEC=Countries in EEC +CountriesNotInEEC=Countries not in EEC +CountriesInEECExceptMe=Countries in EEC except %s +CountriesExceptMe=All countries except %s +AccountantFiles=Export source documents +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. +VueByAccountAccounting=View by accounting account +VueBySubAccountAccounting=View by accounting subaccount + +MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup +MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup +MainAccountForUsersNotDefined=Main accounting account for users not defined in setup +MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup +MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup + +AccountancyArea=Accounting area +AccountancyAreaDescIntro=Usage of the accountancy module is done in several step: +AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year... +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) +AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies... + +AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s +AccountancyAreaDescChartModel=STEP %s: Check that a model of chart of account exists or create one from menu %s +AccountancyAreaDescChart=STEP %s: Select and|or complete your chart of account from menu %s + +AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s. +AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. +AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s. +AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s. +AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expenses (miscellaneous taxes). For this, use the menu entry %s. +AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s. +AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. +AccountancyAreaDescMisc=STEP %s: Define mandatory default account and default accounting accounts for miscellaneous transactions. For this, use the menu entry %s. +AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s. +AccountancyAreaDescBank=STEP %s: Define accounting accounts and journal code for each bank and financial accounts. For this, use the menu entry %s. +AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %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. +AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu %s, and click into button %s. +AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports. + +AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future. + +TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) +Selectchartofaccounts=Select active chart of accounts +ChangeAndLoad=Change and load +Addanaccount=Add an accounting account +AccountAccounting=Accounting account +AccountAccountingShort=Account +SubledgerAccount=Subledger account +SubledgerAccountLabel=Subledger account label +ShowAccountingAccount=Show accounting account +ShowAccountingJournal=Show accounting journal +ShowAccountingAccountInLedger=Show accounting account in ledger +ShowAccountingAccountInJournals=Show accounting account in journals +AccountAccountingSuggest=Accounting account suggested +MenuDefaultAccounts=Default accounts +MenuBankAccounts=Bank accounts +MenuVatAccounts=Vat accounts +MenuTaxAccounts=Tax accounts +MenuExpenseReportAccounts=Expense report accounts +MenuLoanAccounts=Loan accounts +MenuProductsAccounts=Product accounts +MenuClosureAccounts=Closure accounts +MenuAccountancyClosure=Closure +MenuAccountancyValidationMovements=Validate movements +ProductsBinding=Products accounts +TransferInAccounting=Transfer in accounting +RegistrationInAccounting=Registration in accounting +Binding=Binding to accounts +CustomersVentilation=Customer invoice binding +SuppliersVentilation=Vendor invoice binding +ExpenseReportsVentilation=Expense report binding +CreateMvts=Create new transaction +UpdateMvts=Modification of a transaction +ValidTransaction=Validate transaction +WriteBookKeeping=Register transactions in accounting +Bookkeeping=Ledger +BookkeepingSubAccount=Subledger +AccountBalance=Account balance +ObjectsRef=Source object ref +CAHTF=Total purchase vendor before tax +TotalExpenseReport=Total expense report +InvoiceLines=Lines of invoices to bind +InvoiceLinesDone=Bound lines of invoices +ExpenseReportLines=Lines of expense reports to bind +ExpenseReportLinesDone=Bound lines of expense reports +IntoAccount=Bind line with the accounting account +TotalForAccount=Total accounting account + + +Ventilate=Bind +LineId=Id line +Processing=Processing +EndProcessing=Process terminated. +SelectedLines=Selected lines +Lineofinvoice=Line of invoice +LineOfExpenseReport=Line of expense report +NoAccountSelected=No accounting account selected +VentilatedinAccount=Binded successfully to the accounting account +NotVentilatedinAccount=Not bound to the accounting account +XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account +XLineFailedToBeBinded=%s products/services were not bound to any accounting account + +ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements +ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements + +ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50) +ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 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_AACCOUNT=Length of the third-party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen) +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. +BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account +ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) +ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default + +ACCOUNTING_SELL_JOURNAL=Sell journal +ACCOUNTING_PURCHASE_JOURNAL=Purchase journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal +ACCOUNTING_SOCIAL_JOURNAL=Social journal +ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal + +ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) +ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) +ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure + +ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer +TransitionalAccount=Transitional bank transfer account + +ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait +DONATION_ACCOUNTINGACCOUNT=Accounting account to register donations +ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions + +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit + +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for the bought products (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) + +ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) + +Doctype=Type of document +Docdate=Date +Docref=Reference +LabelAccount=Label account +LabelOperation=Label operation +Sens=Direction +AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +LetteringCode=Lettering code +Lettering=Lettering +Codejournal=Journal +JournalLabel=Journal label +NumPiece=Piece number +TransactionNumShort=Num. transaction +AccountingCategory=Custom group +GroupByAccountAccounting=Group by general ledger account +GroupBySubAccountAccounting=Group by subledger account +AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. +ByAccounts=By accounts +ByPredefinedAccountGroups=By predefined groups +ByPersonalizedAccountGroups=By personalized groups +ByYear=By year +NotMatch=Not Set +DeleteMvt=Delete some operation lines from accounting +DelMonth=Month to delete +DelYear=Year to delete +DelJournal=Journal to delete +ConfirmDeleteMvt=This will delete all operation lines of the accounting for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. +ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all operation lines related to the same transaction will be deleted) +FinanceJournal=Finance journal +ExpenseReportsJournal=Expense reports journal +DescFinanceJournal=Finance journal including all the types of payments by bank account +DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Journals and Ledger. +VATAccountNotDefined=Account for VAT not defined +ThirdpartyAccountNotDefined=Account for third party not defined +ProductAccountNotDefined=Account for product not defined +FeeAccountNotDefined=Account for fee not defined +BankAccountNotDefined=Account for bank not defined +CustomerInvoicePayment=Payment of invoice customer +ThirdPartyAccount=Third-party account +NewAccountingMvt=New transaction +NumMvts=Numero of transaction +ListeMvts=List of movements +ErrorDebitCredit=Debit and Credit cannot have a value at the same time +AddCompteFromBK=Add accounting accounts to the group +ReportThirdParty=List third-party account +DescThirdPartyReport=Consult here the list of third-party customers and vendors and their accounting accounts +ListAccounts=List of the accounting accounts +UnknownAccountForThirdparty=Unknown third-party account. We will use %s +UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. +UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error +PaymentsNotLinkedToProduct=Payment not linked to any product / service +OpeningBalance=Opening balance +ShowOpeningBalance=Show opening balance +HideOpeningBalance=Hide opening balance +ShowSubtotalByGroup=Show subtotal by level + +Pcgtype=Group of account +PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. + +Reconcilable=Reconcilable + +TotalVente=Total turnover before tax +TotalMarge=Total sales margin + +DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account +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 "%s". 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 "%s". +DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account +DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account +ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account: +Vide=- +DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account (only record not already transfered in accountancy are visible) +DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account +DescVentilTodoExpenseReport=Bind expense report lines not already bound with a fee accounting account +DescVentilExpenseReport=Consult here the list of expense report lines bound (or not) to a fee accounting account +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 "%s". 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 "%s". +DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account + +Closure=Annual closure +DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open +OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) +AllMovementsWereRecordedAsValidated=All movements were recorded as validated +NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated +ValidateMovements=Validate movements +DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible + +ValidateHistory=Bind Automatically +AutomaticBindingDone=Automatic binding done + +ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used +MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s +Balancing=Balancing +FicheVentilation=Binding card +GeneralLedgerIsWritten=Transactions are written in the Ledger +GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized. +NoNewRecordSaved=No more record to journalize +ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account +ChangeBinding=Change the binding +Accounted=Accounted in ledger +NotYetAccounted=Not yet accounted in the ledger +ShowTutorial=Show Tutorial +NotReconciled=Not reconciled +WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view + +## Admin +BindingOptions=Binding options +ApplyMassCategories=Apply mass categories +AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group +CategoryDeleted=Category for the accounting account has been removed +AccountingJournals=Accounting journals +AccountingJournal=Accounting journal +NewAccountingJournal=New accounting journal +ShowAccountingJournal=Show accounting journal +NatureOfJournal=Nature of Journal +AccountingJournalType1=Miscellaneous operations +AccountingJournalType2=Sales +AccountingJournalType3=Purchases +AccountingJournalType4=Bank +AccountingJournalType5=Expenses report +AccountingJournalType8=Inventory +AccountingJournalType9=Has-new +ErrorAccountingJournalIsAlreadyUse=This journal is already use +AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu %s - %s +NumberOfAccountancyEntries=Number of entries +NumberOfAccountancyMovements=Number of movements +ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) +ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) +ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) + +## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? +ExportDraftJournal=Export draft journal +Modelcsv=Model of export +Selectmodelcsv=Select a model of export +Modelcsv_normal=Classic export +Modelcsv_CEGID=Export for CEGID Expert Comptabilité +Modelcsv_COALA=Export for Sage Coala +Modelcsv_bob50=Export for Sage BOB 50 +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) +Modelcsv_quadratus=Export for Quadratus QuadraCompta +Modelcsv_ebp=Export for EBP +Modelcsv_cogilog=Export for Cogilog +Modelcsv_agiris=Export for Agiris +Modelcsv_LDCompta=Export for LD Compta (v9) (Test) +Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) +Modelcsv_openconcerto=Export for OpenConcerto (Test) +Modelcsv_configurable=Export CSV Configurable +Modelcsv_FEC=Export FEC +Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) +Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland +Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta +Modelcsv_Gestinumv3=Export for Gestinum (v3) +Modelcsv_Gestinumv5Export for Gestinum (v5) +ChartofaccountsId=Chart of accounts Id + +## Tools - Init accounting account on product / service +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. +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 used for accounting closures. +Options=Options +OptionModeProductSell=Mode sales +OptionModeProductSellIntra=Mode sales exported in EEC +OptionModeProductSellExport=Mode sales exported in other countries +OptionModeProductBuy=Mode purchases +OptionModeProductBuyIntra=Mode purchases imported in EEC +OptionModeProductBuyExport=Mode purchased imported from other countries +OptionModeProductSellDesc=Show all products with accounting account for sales. +OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. +OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. +OptionModeProductBuyDesc=Show all products with accounting account for purchases. +OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. +OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. +CleanFixHistory=Remove accounting code from lines that not exists into charts of account +CleanHistory=Reset all bindings for selected year +PredefinedGroups=Predefined groups +WithoutValidAccount=Without valid dedicated account +WithValidAccount=With valid dedicated account +ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account +AccountRemovedFromGroup=Account removed from group +SaleLocal=Local sale +SaleExport=Export sale +SaleEEC=Sale in EEC +SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. +SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. + +## Dictionary +Range=Range of accounting account +Calculated=Calculated +Formula=Formula + +## Error +SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them +ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries) +ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice %s, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. +ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. +ExportNotSupported=The export format setuped is not supported into this page +BookeppingLineAlreayExists=Lines already existing into bookkeeping +NoJournalDefined=No journal defined +Binded=Lines bound +ToBind=Lines to bind +UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually + +## Import +ImportAccountingEntries=Accounting entries +ImportAccountingEntriesFECFormat=Accounting entries - FEC format +FECFormatJournalCode=Code journal (JournalCode) +FECFormatJournalLabel=Label journal (JournalLib) +FECFormatEntryNum=Piece number (EcritureNum) +FECFormatEntryDate=Piece date (EcritureDate) +FECFormatGeneralAccountNumber=General account number (CompteNum) +FECFormatGeneralAccountLabel=General account label (CompteLib) +FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) +FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) +FECFormatPieceRef=Piece ref (PieceRef) +FECFormatPieceDate=Piece date creation (PieceDate) +FECFormatLabelOperation=Label operation (EcritureLib) +FECFormatDebit=Debit (Debit) +FECFormatCredit=Credit (Credit) +FECFormatReconcilableCode=Reconcilable code (EcritureLet) +FECFormatReconcilableDate=Reconcilable date (DateLet) +FECFormatValidateDate=Piece date validated (ValidDate) +FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) +FECFormatMulticurrencyCode=Multicurrency code (Idevise) + +DateExport=Date export +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. +ExpenseReportJournal=Expense Report Journal +InventoryJournal=Inventory Journal + +NAccounts=%s accounts diff --git a/htdocs/langs/kk_KZ/admin.lang b/htdocs/langs/kk_KZ/admin.lang new file mode 100644 index 00000000000..f52c28a9da3 --- /dev/null +++ b/htdocs/langs/kk_KZ/admin.lang @@ -0,0 +1,2161 @@ +# Dolibarr language file - Source file is en_US - admin +Foundation=Foundation +Version=Version +Publisher=Publisher +VersionProgram=Version program +VersionLastInstall=Initial install version +VersionLastUpgrade=Latest version upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Fileset Integrity Checks +FileCheckDesc=This tool allows you to check the integrity of files and the setup of your application, comparing each file with the official one. The value of some setup constants may also be checked. You can use this tool to determine if any files have been modified (e.g by a hacker). +FileIntegrityIsStrictlyConformedWithReference=Files integrity is strictly conformed with the reference. +FileIntegrityIsOkButFilesWereAdded=Files integrity check has passed, however some new files have been added. +FileIntegritySomeFilesWereRemovedOrModified=Files integrity check has failed. Some files were modified, removed or added. +GlobalChecksum=Global checksum +MakeIntegrityAnalysisFrom=Make integrity analysis of application files from +LocalSignature=Embedded local signature (less reliable) +RemoteSignature=Remote distant signature (more reliable) +FilesMissing=Missing Files +FilesUpdated=Updated Files +FilesModified=Modified Files +FilesAdded=Added Files +FileCheckDolibarr=Check integrity of application files +AvailableOnlyOnPackagedVersions=The local file for integrity checking is only available when the application is installed from an official package +XmlNotFound=Xml Integrity File of application not found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Session save location +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow listing all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself? Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users Sessions +WebUserGroup=Web server user/group +PermissionsOnFiles=Permissions on files +PermissionsOnFilesInWebRoot=Permissions on files in web root directory +PermissionsOnFile=Permissions on file %s +NoSessionFound=Your PHP configuration seems to not allow listing of active sessions. The directory used to save sessions (%s) may be protected (for example by OS permissions or by PHP directive open_basedir). +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +HostCharset=Host charset +ClientCharset=Client charset +ClientSortingCharset=Client collation +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +UserInterface=User interface +GUISetup=Display +SetupArea=Setup +UploadNewTemplate=Upload new template(s) +FormToTestFileUploadForm=Form to test file upload (according to setup) +ModuleMustBeEnabled=The module/application %s must be enabled +ModuleIsEnabled=The module/application %s has been enabled +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove/rename file %s if it exists, to allow usage of the Update/Install tool. +RestoreLock=Restore file %s, with read permission only, to disable any further use of the Update/Install tool. +SecuritySetup=Security setup +PHPSetup=PHP setup +OSSetup=OS setup +SecurityFilesDesc=Define here options related to security about uploading files. +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions +DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.
    This may increase performance if you have a large number of third parties, but it is less convenient. +DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient. +NumberOfKeyToSearch=Number of characters to trigger search: %s +NumberOfBytes=Number of Bytes +SearchString=Search string +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months +JavascriptDisabled=JavaScript disabled +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +ShowHideDetails=Show-Hide details +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submitted string. The timezone has effect only when using the UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (down payment) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the maximum filesize for upload to %s %s, irrespective of the value of this parameter +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +AntiVirusCommand=Full path to antivirus command +AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusParam= More parameters on command line +AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MultiCurrencySetup=Multi-currency setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID +DetailPosition=Sort number to define menu position +AllMenus=All +NotConfigured=Module/Application not configured +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other Setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localization parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a .htaccess file with a line like this "SetEnv TZ Europe/Paris" +HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but of the timezone of the server. +Box=Widget +Boxes=Widgets +MaxNbOfLinesForBoxes=Max. number of lines for widgets +AllWidgetsWereEnabled=All available widgets are enabled +PositionByDefault=Default order +Position=Position +MenusDesc=Menu managers set content of the two menu bars (horizontal and vertical). +MenusEditorDesc=The menu editor allows you to define custom menu entries. Use it carefully to avoid instability and permanently unreachable menu entries.
    Some modules add menu entries (in menu All mostly). If you remove some of these entries by mistake, you can restore them disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +Language_en_US_es_MX_etc=Language (en_US, es_MX, ...) +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration functions. Use the menu to choose the required feature. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server. +PurgeDeleteLogFile=Delete log files, including %s defined for Syslog module (no risk of losing data) +PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. +PurgeDeleteTemporaryFilesShort=Delete log and temporary files +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: %s.
    This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or files to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeNDirectoriesFailed=Failed to delete %s files or directories. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events? All security logs will be deleted, no other data will be removed. +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=The generated file can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a MySQL backup file, you may use phpMyAdmin via your hosting or use the mysql command from the Command line.
    For example: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=Filename for backup: +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +ExportUseMySQLQuickParameter=Use the --quick parameter +ExportUseMySQLQuickParameterHelp=The '--quick' parameter helps limit RAM consumption for large tables. +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate record (INSERT IGNORE) +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +FeatureAvailableOnlyOnStable=Feature only available on official stable versions +BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. +ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... +ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. +ModulesMarketPlaces=Find external app/modules +ModulesDevelopYourModule=Develop your own app/modules +ModulesDevelopDesc=You may also develop your own module or find a partner to develop one for you. +DOLISTOREdescriptionLong=Instead of switching on www.dolistore.com web site to find an external module, you can use this embedded tool that will perform the search on the external market place for you (may be slow, need an internet access)... +NewModule=New module +FreeModule=Free +CompatibleUpTo=Compatible with version %s +NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). +CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). +SeeInMarkerPlace=See in Market place +SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s +Updated=Updated +AchatTelechargement=Buy / Download +GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List of companies providing custom-developed modules or features.
    Note: since Dolibarr is an open source application, anyone experienced in PHP programming should be able to develop a module. +WebSiteDesc=External websites for more add-on (non-core) modules... +DevelopYourModuleDesc=Some solutions to develop your own module... +URL=URL +RelativeURL=Relative URL +BoxesAvailable=Widgets available +BoxesActivated=Widgets activated +ActivateOn=Activate on +ActiveOn=Activated on +ActivatableOn=Activatable on +SourceFile=Source file +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Encrypt passwords stored in database (NOT as plain-text). It is strongly recommended to activate this option. +MainDbPasswordFileConfEncrypted=Encrypt database password stored in conf.php. It is strongly recommended to activate this option. +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
    $dolibarr_main_db_pass="...";
    by
    $dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
    $dolibarr_main_db_pass="crypted:...";
    by
    $dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protect generated PDF files. This is NOT recommended as it breaks bulk PDF generation. +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working. +Feature=Feature +DolibarrLicense=License +Developpers=Developers/contributors +OfficialWebSite=Dolibarr official web site +OfficialWebSiteLocal=Local web site (%s) +OfficialWiki=Dolibarr documentation / Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Other resources +ExternalResources=External Resources +SocialNetworks=Social Networks +SocialNetworkId=Social Network ID +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
    take a look at the Dolibarr Wiki:
    %s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
    %s +HelpCenterDesc1=Here are some resources for getting help and support with Dolibarr. +HelpCenterDesc2=Some of these resources are only available in english. +CurrentMenuHandler=Current menu handler +MeasuringUnit=Measuring unit +LeftMargin=Left margin +TopMargin=Top margin +PaperSize=Paper type +Orientation=Orientation +SpaceX=Space X +SpaceY=Space Y +FontSize=Font size +Content=Content +NoticePeriod=Notice period +NewByMonth=New by month +Emails=Emails +EMailsSetup=Emails setup +EMailsDesc=This page allows you to set parameters or options for email sending. +EmailSenderProfiles=Emails sender profiles +EMailsSenderProfileDesc=You can keep this section empty. If you enter some emails here, they will be added to the list of possible senders into the combobox when your write a new email. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (default value in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (default value in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix-like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix-like systems) +MAIN_MAIL_EMAIL_FROM=Sender email for automatic emails (default value in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Email used for error returns emails (fields 'Errors-To' in emails sent) +MAIN_MAIL_AUTOCOPY_TO= Copy (Bcc) all sent emails to +MAIN_DISABLE_ALL_MAILS=Disable all email sending (for test purposes or demos) +MAIN_MAIL_FORCE_SENDTO=Send all emails to (instead of real recipients, for test purposes) +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email +MAIN_MAIL_SENDMODE=Email sending method +MAIN_MAIL_SMTPS_ID=SMTP ID (if sending server requires authentication) +MAIN_MAIL_SMTPS_PW=SMTP Password (if sending server requires authentication) +MAIN_MAIL_EMAIL_TLS=Use TLS (SSL) encryption +MAIN_MAIL_EMAIL_STARTTLS=Use TLS (STARTTLS) encryption +MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés +MAIN_MAIL_EMAIL_DKIM_ENABLED=Use DKIM to generate email signature +MAIN_MAIL_EMAIL_DKIM_DOMAIN=Email Domain for use with dkim +MAIN_MAIL_EMAIL_DKIM_SELECTOR=Name of dkim selector +MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Private key for dkim signing +MAIN_DISABLE_ALL_SMS=Disable all SMS sending (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for SMS sending +MAIN_MAIL_DEFAULT_FROMTYPE=Default sender email for manual sending (User email or Company email) +UserEmail=User email +CompanyEmail=Company Email +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +FixOnTransifex=Fix the translation on the online translation platform of project +SubmitTranslation=If the translation for this language is not complete or you find errors, you can correct this by editing files in directory langs/%s and submit your change to www.transifex.com/dolibarr-association/dolibarr/ +SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or, if you are a developer, with a PR on github.com/Dolibarr/dolibarr +ModuleSetup=Module setup +ModulesSetup=Modules/Application setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relationship Management (CRM) +ModuleFamilySrm=Vendor Relationship Management (VRM) +ModuleFamilyProducts=Product Management (PM) +ModuleFamilyHr=Human Resource Management (HR) +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +ModuleFamilyPortal=Websites and other frontal application +ModuleFamilyInterface=Interfaces with external systems +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=Upgrade procedure: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process manually: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides the features you need (for example on the official web site %s). +DownloadPackageFromWebSite=Download package (for example from the official web site %s). +UnpackPackageInDolibarrRoot=Unpack/unzip the packaged files into your Dolibarr server directory: %s +UnpackPackageInModulesRoot=To deploy/install an external module, unpack/unzip the packaged files into the server directory dedicated to external modules:
    %s +SetupIsReadyForUse=Module deployment is finished. You must however enable and setup the module in your application by going to the page setup modules: %s. +NotExistsDirect=The alternative root directory is not defined to an existing directory.
    +InfDirAlt=Since version 3, it is possible to define an alternative root directory. This allows you to store, into a dedicated directory, plug-ins and custom templates.
    Just create a directory at the root of Dolibarr (eg: custom).
    +InfDirExample=
    Then declare it in the file conf.php
    $dolibarr_main_url_root_alt='/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    If these lines are commented with "#", to enable them, just uncomment by removing the "#" character. +YouCanSubmitFile=You can upload the .zip file of module package from here: +CurrentVersion=Dolibarr current version +CallUpdatePage=Browse to the page that updates the database structure and data: %s. +LastStableVersion=Latest stable version +LastActivationDate=Latest activation date +LastActivationAuthor=Latest activation author +LastActivationIP=Latest activation IP +UpdateServerOffline=Update server offline +WithCounter=Manage a counter +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    +GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes3=All other characters in the mask will remain intact.
    Spaces are not allowed.
    +GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    +GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany, with date 2007-01-31:
    +GenericMaskCodes4b=Example on third party created on 2007-03-01:
    +GenericMaskCodes4c=Example on product created on 2007-03-01:
    +GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
    {0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX
    IN{yy}{mm}-{0000}-{t} will give IN0701-0099-A if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI' +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
    It must be the octal value (for example, 0666 means read and write for everyone).
    This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the Wiki page for a list of contributors and their organization +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link to online help "%s" +AddCRIfTooLong=There is no automatic text wrapping, text that is too long will not display on documents. Please add carriage returns in the text area if needed. +ConfirmPurge=Are you sure you want to execute this purge?
    This will permanently delete all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +LanguageFile=Language file +ExamplesWithCurrentSetup=Examples with current configuration +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

    Files in those directories must end with .odt or .ods. +NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories +ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\myapp\\mydocumentdir\\mysubdir
    /home/myapp/mydocumentdir/mysubdir
    DOL_DATA_ROOT/ecm/ecmdir +FollowingSubstitutionKeysCanBeUsed=
    To know how to create your odt document templates, before storing them in those directories, read wiki documentation: +FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template +FirstnameNamePosition=Position of Name/Lastname +DescWeather=The following images will be shown on the dashboard when the number of late actions reach the following values: +KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices) +TestSubmitForm=Input test form +ThisForceAlsoTheme=Using this menu manager will also use its own theme whatever the user choice. Also this menu manager specialized for smartphones does not work on all smartphone. Use another menu manager if you experience problems with yours. +ThemeDir=Skins directory +ConnectionTimeout=Connection timeout +ResponseTimeout=Response timeout +SmsTestMessage=Test message from __PHONEFROM__ to __PHONETO__ +ModuleMustBeEnabledFirst=Module %s must be enabled first if you need this feature. +SecurityToken=Key to secure URLs +NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s +PDF=PDF +PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules +PDFAddressForging=Rules for address section +HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT +PDFRulesForSalesTax=Rules for Sales Tax / VAT +PDFLocaltax=Rules for %s +HideLocalTaxOnPDF=Hide %s rate in column Sale Tax / VAT +HideDescOnPDF=Hide products description +HideRefOnPDF=Hide products ref. +HideDetailsOnPDF=Hide product lines details +PlaceCustomerAddressToIsoLocation=Use french standard position (La Poste) for customer address position +Library=Library +UrlGenerationParameters=Parameters to secure URLs +SecurityTokenIsUnique=Use a unique securekey parameter for each URL +EnterRefToBuildUrl=Enter reference for object %s +GetSecuredUrl=Get calculated URL +ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise) +OldVATRates=Old VAT rate +NewVATRates=New VAT rate +PriceBaseTypeToChange=Modify on prices with base reference value defined on +MassConvert=Launch bulk conversion +PriceFormatInCurrentLanguage=Price Format In Current Language +String=String +String1Line=String (1 line) +TextLong=Long text +TextLongNLines=Long text (n lines) +HtmlText=Html text +Int=Integer +Float=Float +DateAndTime=Date and hour +Unique=Unique +Boolean=Boolean (one checkbox) +ExtrafieldPhone = Phone +ExtrafieldPrice = Price +ExtrafieldMail = Email +ExtrafieldUrl = Url +ExtrafieldSelect = Select list +ExtrafieldSelectList = Select from table +ExtrafieldSeparator=Separator (not a field) +ExtrafieldPassword=Password +ExtrafieldRadio=Radio buttons (one choice only) +ExtrafieldCheckBox=Checkboxes +ExtrafieldCheckBoxFromList=Checkboxes from table +ExtrafieldLink=Link to an object +ComputedFormula=Computed field +ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

    Example of formula:
    $object->id < 10 ? round($object->id / 2, 2): ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)

    Example to reload object
    (($reloadedobj = new Societe($db)) && ($reloadedobj->fetchNoCompute($obj->id ? $obj->id: ($obj->rowid ? $obj->rowid: $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5: '-1'

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' +Computedpersistent=Store computed field +ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! +ExtrafieldParamHelpPassword=Leaving this field blank means this value will be stored without encryption (field must be only hidden with star on screen).
    Set 'auto' to use the default encryption rule to save password into database (then value read will be the hash only, no way to retrieve original value) +ExtrafieldParamHelpselect=List of values must be lines with format key,value (where key can't be '0')

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

    In order to have the list depending on another complementary attribute list:
    1,value1|options_parent_list_code:parent_key
    2,value2|options_parent_list_code:parent_key

    In order to have the list depending on another list:
    1,value1|parent_list_code:parent_key
    2,value2|parent_list_code:parent_key +ExtrafieldParamHelpcheckbox=List of values must be lines with format key,value (where key can't be '0')

    for example:
    1,value1
    2,value2
    3,value3
    ... +ExtrafieldParamHelpradio=List of values must be lines with format key,value (where key can't be '0')

    for example:
    1,value1
    2,value2
    3,value3
    ... +ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
    Syntax: ObjectName:Classpath +ExtrafieldParamHelpSeparator=Keep empty for a simple separator
    Set this to 1 for a collapsing separator (open by default for new session, then status is kept for each user session)
    Set this to 2 for a collapsing separator (collapsed by default for new session, then status is kept fore each user session) +LibraryToBuildPDF=Library used for PDF generation +LocalTaxDesc=Some countries may apply two or three taxes on each invoice line. If this is the case, choose the type for the second and third tax and its rate. Possible type are:
    1: local tax apply on products and services without vat (localtax is calculated on amount without tax)
    2: local tax apply on products and services including vat (localtax is calculated on amount + main tax)
    3: local tax apply on products without vat (localtax is calculated on amount without tax)
    4: local tax apply on products including vat (localtax is calculated on amount + main vat)
    5: local tax apply on services without vat (localtax is calculated on amount without tax)
    6: local tax apply on services including vat (localtax is calculated on amount + tax) +SMS=SMS +LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user %s +RefreshPhoneLink=Refresh link +LinkToTest=Clickable link generated for user %s (click phone number to test) +KeepEmptyToUseDefault=Keep empty to use default value +KeepThisEmptyInMostCases=In most cases, you can keep this field empy. +DefaultLink=Default link +SetAsDefault=Set as default +ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) +ExternalModule=External module +InstalledInto=Installed into directory %s +BarcodeInitForThirdparties=Mass barcode init for third-parties +BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. +InitEmptyBarCode=Init value for next %s empty records +EraseAllCurrentBarCode=Erase all current barcode values +ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values? +AllBarcodeReset=All barcode values have been removed +NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled in the Barcode module setup. +EnableFileCache=Enable file cache +ShowDetailsInPDFPageFoot=Add more details into footer, such as company address or manager names (in addition to professional ids, company capital and VAT number). +NoDetails=No additional details in footer +DisplayCompanyInfo=Display company address +DisplayCompanyManagers=Display manager names +DisplayCompanyInfoAndManagers=Display company address and manager names +EnableAndSetupModuleCron=If you want to have this recurring invoice generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template using the *Create* button. Note that even if you enabled automatic generation, you can still safely launch manual generation. Generation of duplicates for the same period is not possible. +ModuleCompanyCodeCustomerAquarium=%s followed by customer code for a customer accounting code +ModuleCompanyCodeSupplierAquarium=%s followed by vendor code for a vendor accounting code +ModuleCompanyCodePanicum=Return an empty accounting code. +ModuleCompanyCodeDigitaria=Returns a compound accounting code according to the name of the third party. The code consists of a prefix that can be defined in the first position followed by the number of characters defined in the third party code. +ModuleCompanyCodeCustomerDigitaria=%s followed by the truncated customer name by the number of characters: %s for the customer accounting code. +ModuleCompanyCodeSupplierDigitaria=%s followed by the truncated supplier name by the number of characters: %s for the supplier accounting code. +Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to create and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce a third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1=validation, 2=first approval and 3=second approval if amount is enough).
    Set this to empty if one approval (2 steps) is enough, set it to a very low value (0.1) if a second approval (3 steps) is always required. +UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than... +WarningPHPMail=WARNING: The setup to send emails from the application is using the default generic setup. It is often better to setup outgoing emails to use the email server of your Email Service Provider instead of the default setup for several reasons: +WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM +WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). +WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. +WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. +WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. +WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. +ClickToShowDescription=Click to show description +DependsOn=This module needs the module(s) +RequiredBy=This module is required by module(s) +TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. Technical knowledge is required to read the content of the HTML page to get the key name of a field. +PageUrlForDefaultValues=You must enter the relative path of the page URL. If you include parameters in URL, the default values will be effective if all parameters are set to same value. +PageUrlForDefaultValuesCreate=
    Example:
    For the form to create a new third party, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/", so use path like mymodule/mypage.php and not custom/mymodule/mypage.php.
    If you want default value only if url has some parameter, you can use %s +PageUrlForDefaultValuesList=
    Example:
    For the page that lists third parties, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/" so use a path like mymodule/mypagelist.php and not custom/mymodule/mypagelist.php.
    If you want default value only if url has some parameter, you can use %s +AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) +EnableDefaultValues=Enable customization of default values +EnableOverwriteTranslation=Enable usage of overwritten translation +GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code. To change this value, you must edit it from Home-Setup-translation. +WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior. +Field=Field +ProductDocumentTemplates=Document templates to generate product document +FreeLegalTextOnExpenseReports=Free legal text on expense reports +WatermarkOnDraftExpenseReports=Watermark on draft expense reports +AttachMainDocByDefault=Set this to 1 if you want to attach main document to email by default (if applicable) +FilesAttachedToEmail=Attach file +SendEmailsReminders=Send agenda reminders by emails +davDescription=Setup a WebDAV server +DAVSetup=Setup of module DAV +DAV_ALLOW_PRIVATE_DIR=Enable the generic private directory (WebDAV dedicated directory named "private" - login required) +DAV_ALLOW_PRIVATE_DIRTooltip=The generic private directory is a WebDAV directory anybody can access with its application login/pass. +DAV_ALLOW_PUBLIC_DIR=Enable the generic public directory (WebDAV dedicated directory named "public" - no login required) +DAV_ALLOW_PUBLIC_DIRTooltip=The generic public directory is a WebDAV directory anybody can access (in read and write mode), with no authorization required (login/password account). +DAV_ALLOW_ECM_DIR=Enable the DMS/ECM private directory (root directory of the DMS/ECM module - login required) +DAV_ALLOW_ECM_DIRTooltip=The root directory where all files are manually uploaded when using the DMS/ECM module. Similarly as access from the web interface, you will need a valid login/password with adecuate permissions to access it. +# Modules +Module0Name=Users & Groups +Module0Desc=Users / Employees and Groups management +Module1Name=Third Parties +Module1Desc=Companies and contacts management (customers, prospects...) +Module2Name=Commercial +Module2Desc=Commercial management +Module10Name=Accounting (simplified) +Module10Desc=Simple accounting reports (journals, turnover) based on database content. Does not use any ledger table. +Module20Name=Proposals +Module20Desc=Commercial proposal management +Module22Name=Mass Emailings +Module22Desc=Manage bulk emailing +Module23Name=Energy +Module23Desc=Monitoring the consumption of energies +Module25Name=Sales Orders +Module25Desc=Sales order management +Module30Name=Invoices +Module30Desc=Management of invoices and credit notes for customers. Management of invoices and credit notes for suppliers +Module40Name=Vendors +Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) +Module42Name=Debug Logs +Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes. +Module43Name=Debug Bar +Module43Desc=A tool for developper adding a debug bar in your browser. +Module49Name=Editors +Module49Desc=Editor management +Module50Name=Products +Module50Desc=Management of Products +Module51Name=Mass mailings +Module51Desc=Mass paper mailing management +Module52Name=Stocks +Module52Desc=Stock management +Module53Name=Services +Module53Desc=Management of Services +Module54Name=Contracts/Subscriptions +Module54Desc=Management of contracts (services or recurring subscriptions) +Module55Name=Barcodes +Module55Desc=Barcode or QR code management +Module56Name=Payment by credit transfer +Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. +Module57Name=Payments by Direct Debit +Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. +Module58Name=ClickToDial +Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module60Name=Stickers +Module60Desc=Management of stickers +Module70Name=Interventions +Module70Desc=Intervention management +Module75Name=Expense and trip notes +Module75Desc=Expense and trip notes management +Module80Name=Shipments +Module80Desc=Shipments and delivery note management +Module85Name=Banks & Cash +Module85Desc=Management of bank or cash accounts +Module100Name=External Site +Module100Desc=Add a link to an external website as a main menu icon. Website is shown in a frame under the top menu. +Module105Name=Mailman and SPIP +Module105Desc=Mailman or SPIP interface for member module +Module200Name=LDAP +Module200Desc=LDAP directory synchronization +Module210Name=PostNuke +Module210Desc=PostNuke integration +Module240Name=Data exports +Module240Desc=Tool to export Dolibarr data (with assistance) +Module250Name=Data imports +Module250Desc=Tool to import data into Dolibarr (with assistance) +Module310Name=Members +Module310Desc=Foundation members management +Module320Name=RSS Feed +Module320Desc=Add a RSS feed to Dolibarr pages +Module330Name=Bookmarks & Shortcuts +Module330Desc=Create shortcuts, always accessible, to the internal or external pages to which you frequently access +Module400Name=Projects or Leads +Module400Desc=Management of projects, leads/opportunities and/or tasks. You can also assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module410Name=Webcalendar +Module410Desc=Webcalendar integration +Module500Name=Taxes & Special Expenses +Module500Desc=Management of other expenses (sale taxes, social or fiscal taxes, dividends, ...) +Module510Name=Salaries +Module510Desc=Record and track employee payments +Module520Name=Loans +Module520Desc=Management of loans +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 +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 +Module610Desc=Creation of product variants (color, size etc.) +Module700Name=Donations +Module700Desc=Donation management +Module770Name=Expense Reports +Module770Desc=Manage expense reports claims (transportation, meal, ...) +Module1120Name=Vendor Commercial Proposals +Module1120Desc=Request vendor commercial proposal and prices +Module1200Name=Mantis +Module1200Desc=Mantis integration +Module1520Name=Document Generation +Module1520Desc=Mass email document generation +Module1780Name=Tags/Categories +Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) +Module2000Name=WYSIWYG editor +Module2000Desc=Allow text fields to be edited/formatted using CKEditor (html) +Module2200Name=Dynamic Prices +Module2200Desc=Use maths expressions for auto-generation of prices +Module2300Name=Scheduled jobs +Module2300Desc=Scheduled jobs management (alias cron or chrono table) +Module2400Name=Events/Agenda +Module2400Desc=Track events. Log automatic events for tracking purposes or record manual events or meetings. This is the principal module for good Customer or Vendor Relationship Management. +Module2500Name=DMS / ECM +Module2500Desc=Document Management System / Electronic Content Management. Automatic organization of your generated or stored documents. Share them when you need. +Module2600Name=API/Web services (SOAP server) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API/Web services (REST server) +Module2610Desc=Enable the Dolibarr REST server providing API services +Module2660Name=Call WebServices (SOAP client) +Module2660Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Only Purchase orders are currently supported.) +Module2700Name=Gravatar +Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Needs Internet access +Module2800Desc=FTP Client +Module2900Name=GeoIPMaxmind +Module2900Desc=GeoIP Maxmind conversions capabilities +Module3200Name=Unalterable Archives +Module3200Desc=Enable an unalterable log of business events. Events are archived in real-time. The log is a read-only table of chained events that can be exported. This module may be mandatory for some countries. +Module3400Name=Social Networks +Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module4000Name=HRM +Module4000Desc=Human resources management (management of department, employee contracts and feelings) +Module5000Name=Multi-company +Module5000Desc=Allows you to manage multiple companies +Module6000Name=Inter-modules Workflow +Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module10000Name=Websites +Module10000Desc=Create websites (public) with a WYSIWYG editor. This is a webmaster or developer oriented CMS (it is better to know HTML and CSS language). Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. +Module20000Name=Leave Request Management +Module20000Desc=Define and track employee leave requests +Module39000Name=Product Lots +Module39000Desc=Lots, serial numbers, eat-by/sell-by date management for products +Module40000Name=Multicurrency +Module40000Desc=Use alternative currencies in prices and documents +Module50000Name=PayBox +Module50000Desc=Offer customers a PayBox online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) +Module50100Name=POS SimplePOS +Module50100Desc=Point of Sale module SimplePOS (simple POS). +Module50150Name=POS TakePOS +Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50200Name=Paypal +Module50200Desc=Offer customers a PayPal online payment page (PayPal account or credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) +Module50300Name=Stripe +Module50300Desc=Offer customers a Stripe online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) +Module50400Name=Accounting (double entry) +Module50400Desc=Accounting management (double entries, support General and Subsidiary Ledgers). Export the ledger in several other accounting software formats. +Module54000Name=PrintIPP +Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installed on server). +Module55000Name=Poll, Survey or Vote +Module55000Desc=Create online polls, surveys or votes (like Doodle, Studs, RDVz etc...) +Module59000Name=Margins +Module59000Desc=Module to follow margins +Module60000Name=Commissions +Module60000Desc=Module to manage commissions +Module62000Name=Incoterms +Module62000Desc=Add features to manage Incoterms +Module63000Name=Resources +Module63000Desc=Manage resources (printers, cars, rooms, ...) for allocating to events +Permission11=Read customer invoices +Permission12=Create/modify customer invoices +Permission13=Invalidate customer invoices +Permission14=Validate customer invoices +Permission15=Send customer invoices by email +Permission16=Create payments for customer invoices +Permission19=Delete customer invoices +Permission21=Read commercial proposals +Permission22=Create/modify commercial proposals +Permission24=Validate commercial proposals +Permission25=Send commercial proposals +Permission26=Close commercial proposals +Permission27=Delete commercial proposals +Permission28=Export commercial proposals +Permission31=Read products +Permission32=Create/modify products +Permission34=Delete products +Permission36=See/manage hidden products +Permission38=Export products +Permission39=Ignore minimum price +Permission41=Read projects and tasks (shared project and projects I'm contact for). Can also enter time consumed, for me or my hierarchy, on assigned tasks (Timesheet) +Permission42=Create/modify projects (shared project and projects I'm contact for). Can also create tasks and assign users to project and tasks +Permission44=Delete projects (shared project and projects I'm contact for) +Permission45=Export projects +Permission61=Read interventions +Permission62=Create/modify interventions +Permission64=Delete interventions +Permission67=Export interventions +Permission68=Send interventions by email +Permission69=Validate interventions +Permission70=Invalidate interventions +Permission71=Read members +Permission72=Create/modify members +Permission74=Delete members +Permission75=Setup types of membership +Permission76=Export data +Permission78=Read subscriptions +Permission79=Create/modify subscriptions +Permission81=Read customers orders +Permission82=Create/modify customers orders +Permission84=Validate customers orders +Permission86=Send customers orders +Permission87=Close customers orders +Permission88=Cancel customers orders +Permission89=Delete customers orders +Permission91=Read social or fiscal taxes and vat +Permission92=Create/modify social or fiscal taxes and vat +Permission93=Delete social or fiscal taxes and vat +Permission94=Export social or fiscal taxes +Permission95=Read reports +Permission101=Read sendings +Permission102=Create/modify sendings +Permission104=Validate sendings +Permission105=Send sendings by email +Permission106=Export sendings +Permission109=Delete sendings +Permission111=Read financial accounts +Permission112=Create/modify/delete and compare transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconcile transactions +Permission115=Export transactions and account statements +Permission116=Transfers between accounts +Permission117=Manage checks dispatching +Permission121=Read third parties linked to user +Permission122=Create/modify third parties linked to user +Permission125=Delete third parties linked to user +Permission126=Export third parties +Permission141=Read all projects and tasks (also private projects for which I am not a contact) +Permission142=Create/modify all projects and tasks (also private projects for which I am not a contact) +Permission144=Delete all projects and tasks (also private projects i am not contact for) +Permission146=Read providers +Permission147=Read stats +Permission151=Read direct debit payment orders +Permission152=Create/modify a direct debit payment orders +Permission153=Send/Transmit direct debit payment orders +Permission154=Record Credits/Rejections of direct debit payment orders +Permission161=Read contracts/subscriptions +Permission162=Create/modify contracts/subscriptions +Permission163=Activate a service/subscription of a contract +Permission164=Disable a service/subscription of a contract +Permission165=Delete contracts/subscriptions +Permission167=Export contracts +Permission171=Read trips and expenses (yours and your subordinates) +Permission172=Create/modify trips and expenses +Permission173=Delete trips and expenses +Permission174=Read all trips and expenses +Permission178=Export trips and expenses +Permission180=Read suppliers +Permission181=Read purchase orders +Permission182=Create/modify purchase orders +Permission183=Validate purchase orders +Permission184=Approve purchase orders +Permission185=Order or cancel purchase orders +Permission186=Receive purchase orders +Permission187=Close purchase orders +Permission188=Cancel purchase orders +Permission192=Create lines +Permission193=Cancel lines +Permission194=Read the bandwidth lines +Permission202=Create ADSL connections +Permission203=Order connections orders +Permission204=Order connections +Permission205=Manage connections +Permission206=Read connections +Permission211=Read Telephony +Permission212=Order lines +Permission213=Activate line +Permission214=Setup Telephony +Permission215=Setup providers +Permission221=Read emailings +Permission222=Create/modify emailings (topic, recipients...) +Permission223=Validate emailings (allows sending) +Permission229=Delete emailings +Permission237=View recipients and info +Permission238=Manually send mailings +Permission239=Delete mailings after validation or sent +Permission241=Read categories +Permission242=Create/modify categories +Permission243=Delete categories +Permission244=See the contents of the hidden categories +Permission251=Read other users and groups +PermissionAdvanced251=Read other users +Permission252=Read permissions of other users +Permission253=Create/modify other users, groups and permissions +PermissionAdvanced253=Create/modify internal/external users and permissions +Permission254=Create/modify external users only +Permission255=Modify other users password +Permission256=Delete or disable other users +Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission271=Read CA +Permission272=Read invoices +Permission273=Issue invoices +Permission281=Read contacts +Permission282=Create/modify contacts +Permission283=Delete contacts +Permission286=Export contacts +Permission291=Read tariffs +Permission292=Set permissions on the tariffs +Permission293=Modify customer's tariffs +Permission300=Read barcodes +Permission301=Create/modify barcodes +Permission302=Delete barcodes +Permission311=Read services +Permission312=Assign service/subscription to contract +Permission331=Read bookmarks +Permission332=Create/modify bookmarks +Permission333=Delete bookmarks +Permission341=Read its own permissions +Permission342=Create/modify his own user information +Permission343=Modify his own password +Permission344=Modify its own permissions +Permission351=Read groups +Permission352=Read groups permissions +Permission353=Create/modify groups +Permission354=Delete or disable groups +Permission358=Export users +Permission401=Read discounts +Permission402=Create/modify discounts +Permission403=Validate discounts +Permission404=Delete discounts +Permission430=Use Debug Bar +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody +Permission519=Export salaries +Permission520=Read Loans +Permission522=Create/modify loans +Permission524=Delete loans +Permission525=Access loan calculator +Permission527=Export loans +Permission531=Read services +Permission532=Create/modify services +Permission534=Delete services +Permission536=See/manage hidden services +Permission538=Export services +Permission561=Read payment orders by credit transfer +Permission562=Create/modify payment order by credit transfer +Permission563=Send/Transmit payment order by credit transfer +Permission564=Record Debits/Rejections of credit transfer +Permission601=Read stickers +Permission602=Create/modify stickers +Permission609=Delete stickers +Permission650=Read Bills of Materials +Permission651=Create/Update Bills of Materials +Permission652=Delete Bills of Materials +Permission660=Read Manufacturing Order (MO) +Permission661=Create/Update Manufacturing Order (MO) +Permission662=Delete Manufacturing Order (MO) +Permission701=Read donations +Permission702=Create/modify donations +Permission703=Delete donations +Permission771=Read expense reports (yours and your subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission777=Read expense reports of everybody +Permission778=Create/modify expense reports of everybody +Permission779=Export expense reports +Permission1001=Read stocks +Permission1002=Create/modify warehouses +Permission1003=Delete warehouses +Permission1004=Read stock movements +Permission1005=Create/modify stock movements +Permission1101=Read delivery receipts +Permission1102=Create/modify delivery receipts +Permission1104=Validate delivery receipts +Permission1109=Delete delivery receipts +Permission1121=Read supplier proposals +Permission1122=Create/modify supplier proposals +Permission1123=Validate supplier proposals +Permission1124=Send supplier proposals +Permission1125=Delete supplier proposals +Permission1126=Close supplier price requests +Permission1181=Read suppliers +Permission1182=Read purchase orders +Permission1183=Create/modify purchase orders +Permission1184=Validate purchase orders +Permission1185=Approve purchase orders +Permission1186=Order purchase orders +Permission1187=Acknowledge receipt of purchase orders +Permission1188=Delete purchase orders +Permission1189=Check/Uncheck a purchase order reception +Permission1190=Approve (second approval) purchase orders +Permission1191=Export supplier orders and their attributes +Permission1201=Get result of an export +Permission1202=Create/Modify an export +Permission1231=Read vendor invoices +Permission1232=Create/modify vendor invoices +Permission1233=Validate vendor invoices +Permission1234=Delete vendor invoices +Permission1235=Send vendor invoices by email +Permission1236=Export vendor invoices, attributes and payments +Permission1237=Export purchase orders and their details +Permission1251=Run mass imports of external data into database (data load) +Permission1321=Export customer invoices, attributes and payments +Permission1322=Reopen a paid bill +Permission1421=Export sales orders and attributes +Permission1521=Read documents +Permission1522=Delete documents +Permission2401=Read actions (events or tasks) linked to his user account (if owner of event or just assigned to) +Permission2402=Create/modify actions (events or tasks) linked to his user account (if owner of event) +Permission2403=Delete actions (events or tasks) linked to his user account (if owner of event) +Permission2411=Read actions (events or tasks) of others +Permission2412=Create/modify actions (events or tasks) of others +Permission2413=Delete actions (events or tasks) of others +Permission2414=Export actions/tasks of others +Permission2501=Read/Download documents +Permission2502=Download documents +Permission2503=Submit or delete documents +Permission2515=Setup documents directories +Permission2801=Use FTP client in read mode (browse and download only) +Permission2802=Use FTP client in write mode (delete or upload files) +Permission3200=Read archived events and fingerprints +Permission3301=Generate new modules +Permission4001=See employees +Permission4002=Create employees +Permission4003=Delete employees +Permission4004=Export employees +Permission10001=Read website content +Permission10002=Create/modify website content (html and javascript content) +Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers. +Permission10005=Delete website content +Permission20001=Read leave requests (your leave and those of your subordinates) +Permission20002=Create/modify your leave requests (your leave and those of your subordinates) +Permission20003=Delete leave requests +Permission20004=Read all leave requests (even of user not subordinates) +Permission20005=Create/modify leave requests for everybody (even of user not subordinates) +Permission20006=Admin leave requests (setup and update balance) +Permission20007=Approve leave requests +Permission23001=Read Scheduled job +Permission23002=Create/update Scheduled job +Permission23003=Delete Scheduled job +Permission23004=Execute Scheduled job +Permission50101=Use Point of Sale (SimplePOS) +Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines +Permission50201=Read transactions +Permission50202=Import transactions +Permission50330=Read objects of Zapier +Permission50331=Create/Update objects of Zapier +Permission50332=Delete objects of Zapier +Permission50401=Bind products and invoices with accounting accounts +Permission50411=Read operations in ledger +Permission50412=Write/Edit operations in ledger +Permission50414=Delete operations in ledger +Permission50415=Delete all operations by year and journal in ledger +Permission50418=Export operations of the ledger +Permission50420=Report and export reports (turnover, balance, journals, ledger) +Permission50430=Define fiscal periods. Validate transactions and close fiscal periods. +Permission50440=Manage chart of accounts, setup of accountancy +Permission51001=Read assets +Permission51002=Create/Update assets +Permission51003=Delete assets +Permission51005=Setup types of asset +Permission54001=Print +Permission55001=Read polls +Permission55002=Create/modify polls +Permission59001=Read commercial margins +Permission59002=Define commercial margins +Permission59003=Read every user margin +Permission63001=Read resources +Permission63002=Create/modify resources +Permission63003=Delete resources +Permission63004=Link resources to agenda events +Permission64001=Allow direct printing +Permission67000=Allow printing of receipts +Permission68001=Read intracomm report +Permission68002=Create/modify intracomm report +Permission68004=Delete intracomm report +Permission941601=Read receipts +Permission941602=Create and modify receipts +Permission941603=Validate receipts +Permission941604=Send receipts by email +Permission941605=Export receipts +Permission941606=Delete receipts +DictionaryCompanyType=Third-party types +DictionaryCompanyJuridicalType=Third-party legal entities +DictionaryProspectLevel=Prospect potential level for companies +DictionaryProspectContactLevel=Prospect potential level for contacts +DictionaryCanton=States/Provinces +DictionaryRegion=Regions +DictionaryCountry=Countries +DictionaryCurrency=Currencies +DictionaryCivility=Honorific titles +DictionaryActions=Types of agenda events +DictionarySocialContributions=Types of social or fiscal taxes +DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryRevenueStamp=Amount of tax stamps +DictionaryPaymentConditions=Payment Terms +DictionaryPaymentModes=Payment Modes +DictionaryTypeContact=Contact/Address types +DictionaryTypeOfContainer=Website - Type of website pages/containers +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Paper formats +DictionaryFormatCards=Card formats +DictionaryFees=Expense report - Types of expense report lines +DictionarySendingMethods=Shipping methods +DictionaryStaff=Number of Employees +DictionaryAvailability=Delivery delay +DictionaryOrderMethods=Ordering methods +DictionarySource=Origin of proposals/orders +DictionaryAccountancyCategory=Personalized groups for reports +DictionaryAccountancysystem=Models for chart of accounts +DictionaryAccountancyJournal=Accounting journals +DictionaryEMailTemplates=Email Templates +DictionaryUnits=Units +DictionaryMeasuringUnits=Measuring Units +DictionarySocialNetworks=Social Networks +DictionaryProspectStatus=Prospect status for companies +DictionaryProspectContactStatus=Prospect status for contacts +DictionaryHolidayTypes=Leave - Types of leave +DictionaryOpportunityStatus=Lead status for project/lead +DictionaryExpenseTaxCat=Expense report - Transportation categories +DictionaryExpenseTaxRange=Expense report - Range by transportation category +DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status +TypeOfUnit=Type of unit +SetupSaved=Setup saved +SetupNotSaved=Setup not saved +BackToModuleList=Back to Module list +BackToDictionaryList=Back to Dictionaries list +TypeOfRevenueStamp=Type of tax stamp +VATManagement=Sales Tax Management +VATIsUsedDesc=By default when creating prospects, invoices, orders etc. the Sales Tax rate follows the active standard rule:
    If the seller is not subject to Sales tax, then Sales tax defaults to 0. End of rule.
    If the (seller's country = buyer's country), then the Sales tax by default equals the Sales tax of the product in the seller's country. End of rule.
    If the seller and buyer are both in the European Community and goods are transport-related products (haulage, shipping, airline), the default VAT is 0. This rule is dependant on the seller's country - please consult with your accountant. The VAT should be paid by the buyer to the customs office in their country and not to the seller. End of rule.
    If the seller and buyer are both in the European Community and the buyer is not a company (with a registered intra-Community VAT number) then the VAT defaults to the VAT rate of the seller's country. End of rule.
    If the seller and buyer are both in the European Community and the buyer is a company (with a registered intra-Community VAT number), then the VAT is 0 by default. End of rule.
    In any other case the proposed default is Sales tax=0. End of rule. +VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for cases like associations, individuals or small companies. +VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. +VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. +##### Local Taxes ##### +TypeOfSaleTaxes=Type of sales tax +LTRate=Rate +LocalTax1IsNotUsed=Do not use second tax +LocalTax1IsUsedDesc=Use a second type of tax (other than first one) +LocalTax1IsNotUsedDesc=Do not use other type of tax (other than first one) +LocalTax1Management=Second type of tax +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= +LocalTax2IsNotUsed=Do not use third tax +LocalTax2IsUsedDesc=Use a third type of tax (other than first one) +LocalTax2IsNotUsedDesc=Do not use other type of tax (other than first one) +LocalTax2Management=Third type of tax +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES=RE Management +LocalTax1IsUsedDescES=The RE rate by default when creating prospects, invoices, orders etc. follow the active standard rule:
    If the buyer is not subjected to RE, RE by default=0. End of rule.
    If the buyer is subjected to RE then the RE by default. End of rule.
    +LocalTax1IsNotUsedDescES=By default the proposed RE is 0. End of rule. +LocalTax1IsUsedExampleES=In Spain they are professionals subject to some specific sections of the Spanish IAE. +LocalTax1IsNotUsedExampleES=In Spain they are professional and societies and subject to certain sections of the Spanish IAE. +LocalTax2ManagementES=IRPF Management +LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices, orders etc. follow the active standard rule:
    If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
    If the seller is subjected to IRPF then the IRPF by default. End of rule.
    +LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. +LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. +LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. +RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. +UseRevenueStamp=Use a tax stamp +UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) +CalcLocaltax=Reports on local taxes +CalcLocaltax1=Sales - Purchases +CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases +CalcLocaltax2=Purchases +CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases +CalcLocaltax3=Sales +CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales +NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax +LabelUsedByDefault=Label used by default if no translation can be found for code +LabelOnDocuments=Label on documents +LabelOrTranslationKey=Label or translation key +ValueOfConstantKey=Value of a configuration constant +ConstantIsOn=Option %s is on +NbOfDays=No. of days +AtEndOfMonth=At end of month +CurrentNext=Current/Next +Offset=Offset +AlwaysActive=Always active +Upgrade=Upgrade +MenuUpgrade=Upgrade / Extend +AddExtensionThemeModuleOrOther=Deploy/install external app/module +WebServer=Web server +DocumentRootServer=Web server's root directory +DataRootServer=Data files directory +IP=IP +Port=Port +VirtualServerName=Virtual server name +OS=OS +PhpWebLink=Web-Php link +Server=Server +Database=Database +DatabaseServer=Database host +DatabaseName=Database name +DatabasePort=Database port +DatabaseUser=Database user +DatabasePassword=Database password +Tables=Tables +TableName=Table name +NbOfRecord=No. of records +Host=Server +DriverType=Driver type +SummarySystem=System information summary +SummaryConst=List of all Dolibarr setup parameters +MenuCompanySetup=Company/Organization +DefaultMenuManager= Standard menu manager +DefaultMenuSmartphoneManager=Smartphone menu manager +Skin=Skin theme +DefaultSkin=Default skin theme +MaxSizeList=Max length for list +DefaultMaxSizeList=Default max length for lists +DefaultMaxSizeShortList=Default max length for short lists (i.e. in customer card) +MessageOfDay=Message of the day +MessageLogin=Login page message +LoginPage=Login page +BackgroundImageLogin=Background image +PermanentLeftSearchForm=Permanent search form on left menu +DefaultLanguage=Default language +EnableMultilangInterface=Enable multilanguage support for customer or vendor relationships +EnableShowLogo=Show the company logo in the menu +CompanyInfo=Company/Organization +CompanyIds=Company/Organization identities +CompanyName=Name +CompanyAddress=Address +CompanyZip=Zip +CompanyTown=Town +CompanyCountry=Country +CompanyCurrency=Main currency +CompanyObject=Object of the company +IDCountry=ID country +Logo=Logo +LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) +LogoSquarred=Logo (squarred) +LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). +DoNotSuggestPaymentMode=Do not suggest +NoActiveBankAccountDefined=No active bank account defined +OwnerOfBankAccount=Owner of bank account %s +BankModuleNotActive=Bank accounts module not enabled +ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +Alerts=Alerts +DelaysOfToleranceBeforeWarning=Delay before displaying a warning alert for: +DelaysOfToleranceDesc=Set the delay before an alert icon %s is shown onscreen for the late element. +Delays_MAIN_DELAY_ACTIONS_TODO=Planned events (agenda events) not completed +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Project not closed in time +Delays_MAIN_DELAY_TASKS_TODO=Planned task (project tasks) not completed +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Order not processed +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Purchase order not processed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Proposal not closed +Delays_MAIN_DELAY_PROPALS_TO_BILL=Proposal not billed +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Service to activate +Delays_MAIN_DELAY_RUNNING_SERVICES=Expired service +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Unpaid vendor invoice +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Unpaid customer invoice +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Pending bank reconciliation +Delays_MAIN_DELAY_MEMBERS=Delayed membership fee +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Check deposit not done +Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve +Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve +SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. +SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): +SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=Security events that are audited +NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s +Audit=Security events +InfoDolibarr=About Dolibarr +InfoBrowser=About Browser +InfoOS=About OS +InfoWebServer=About Web Server +InfoDatabase=About Database +InfoPHP=About PHP +InfoPerf=About Performances +InfoSecurity=About Security +BrowserName=Browser name +BrowserOS=Browser OS +ListOfSecurityEvents=List of Dolibarr security events +SecurityEventsPurged=Security events purged +LogEventDesc=Enable logging for specific security events. Administrators the log via menu %s - %s. Warning, this feature can generate a large amount of data in the database. +AreaForAdminOnly=Setup parameters can be set by administrator users only. +SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. +SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. +CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. +AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. +AccountantFileNumber=Accountant code +DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. +AvailableModules=Available app/modules +ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). +SessionTimeOut=Time out for session +SessionExplanation=This number guarantees that the session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guarantee that the session will expire after this delay. It will expire, after this delay, and when the session cleaner is run, so every %s/%s access, but only during access made by other sessions (if value is 0, it means clearing of session is done only by an external process).
    Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by an external setup, no matter what the value entered here is. +SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. +TriggersAvailable=Available triggers +TriggersDesc=Triggers are files that will modify the behavior of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realize new actions, activated on Dolibarr events (new company creation, invoice validation, ...). +TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. +TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. +TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. +TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. +GeneratedPasswordDesc=Choose the method to be used for auto-generated passwords. +DictionaryDesc=Insert all reference data. You can add your values to the default. +ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting only. +MiscellaneousDesc=All other security related parameters are defined here. +LimitsSetup=Limits/Precision setup +LimitsDesc=You can define limits, precisions and optimizations used by Dolibarr here +MAIN_MAX_DECIMALS_UNIT=Max. decimals for unit prices +MAIN_MAX_DECIMALS_TOT=Max. decimals for total prices +MAIN_MAX_DECIMALS_SHOWN=Max. decimals for prices shown on screen. Add an ellipsis ... after this parameter (e.g. "2...") if you want to see "..." suffixed to the truncated price. +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something other than base 10. For example, put 0.05 if rounding is done by 0.05 steps) +UnitPriceOfProduct=Net unit price of a product +TotalPriceAfterRounding=Total price (excl/vat/incl tax) after rounding +ParameterActiveForNextInputOnly=Parameter effective for next input only +NoEventOrNoAuditSetup=No security event has been logged. This is normal if Audit has not been enabled in the "Setup - Security - Events" page. +NoEventFoundWithCriteria=No security event has been found for this search criteria. +SeeLocalSendMailSetup=See your local sendmail setup +BackupDesc=A complete backup of a Dolibarr installation requires two steps. +BackupDesc2=Backup the contents of the "documents" directory (%s) containing all uploaded and generated files. This will also include all the dump files generated in Step 1. This operation may last several minutes. +BackupDesc3=Backup the structure and contents of your database (%s) into a dump file. For this, you can use the following assistant. +BackupDescX=The archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. +BackupPHPWarning=Backup cannot be guaranteed with this method. Previous one recommended. +RestoreDesc=To restore a Dolibarr backup, two steps are required. +RestoreDesc2=Restore the backup file (zip file for example) of the "documents" directory to a new Dolibarr installation or into this current documents directory (%s). +RestoreDesc3=Restore the database structure and data from a backup dump file into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once the restore is complete, you must use a login/password, that existed from the backup time/installation to connect again.
    To restore a backup database into this current installation, you can follow this assistant. +RestoreMySQL=MySQL import +ForcedToByAModule=This rule is forced to %s by an activated module +ValueIsForcedBySystem=This value is forced by the system. You can't change it. +PreviousDumpFiles=Existing backup files +PreviousArchiveFiles=Existing archive files +WeekStartOnDay=First day of the week +RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Program version %s differs from Database version %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. +YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP +DownloadMoreSkins=More skins to download +SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset +SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number +TranslationUncomplete=Partial translation +MAIN_DISABLE_METEO=Disable meteorological view +MeteoStdMod=Standard mode +MeteoStdModEnabled=Standard mode enabled +MeteoPercentageMod=Percentage mode +MeteoPercentageModEnabled=Percentage mode enabled +MeteoUseMod=Click to use %s +TestLoginToAPI=Test login to API +ProxyDesc=Some features of Dolibarr require internet access. Define here the internet connection parameters such as access through a proxy server if necessary. +ExternalAccess=External/Internet Access +MAIN_PROXY_USE=Use a proxy server (otherwise access is direct to the internet) +MAIN_PROXY_HOST=Proxy server: Name/Address +MAIN_PROXY_PORT=Proxy server: Port +MAIN_PROXY_USER=Proxy server: Login/User +MAIN_PROXY_PASS=Proxy server: Password +DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s +ExtraFields=Complementary attributes +ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsLinesRec=Complementary attributes (templates invoices lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) +ExtraFieldsThirdParties=Complementary attributes (third party) +ExtraFieldsContacts=Complementary attributes (contacts/address) +ExtraFieldsMember=Complementary attributes (member) +ExtraFieldsMemberType=Complementary attributes (member type) +ExtraFieldsCustomerInvoices=Complementary attributes (invoices) +ExtraFieldsCustomerInvoicesRec=Complementary attributes (templates invoices) +ExtraFieldsSupplierOrders=Complementary attributes (orders) +ExtraFieldsSupplierInvoices=Complementary attributes (invoices) +ExtraFieldsProject=Complementary attributes (projects) +ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldsSalaries=Complementary attributes (salaries) +ExtraFieldHasWrongValue=Attribute %s has a wrong value. +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). +PathToDocuments=Path to documents +PathDirectory=Directory +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might not be parsed correctly by some receiving mail servers. The result is that some mails can't be read by people hosted by those bugged platforms. This is the case for some Internet providers (Ex: Orange in France). This is not a problem with Dolibarr or PHP but with the receiving mail server. You can however add an option MAIN_FIX_FOR_BUGGED_MTA to 1 in Setup - Other to modify Dolibarr to avoid this. However, you may experience problems with other servers that strictly use the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" which has no disadvantages. +TranslationSetup=Setup of translation +TranslationKeySearch=Search a translation key or string +TranslationOverwriteKey=Overwrite a translation string +TranslationDesc=How to set the display language:
    * Default/Systemwide: menu Home -> Setup -> Display
    * Per user: Click on the username at the top of the screen and modify the User Display Setup tab on the user card. +TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the translation key string into "%s" and your new translation into "%s" +TranslationOverwriteDesc2=You can use the other tab to help you know which translation key to use +TranslationString=Translation string +CurrentTranslationString=Current translation string +WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string +NewTranslationStringToShow=New translation string to show +OriginalValueWas=The original translation is overwritten. Original value was:

    %s +TransKeyWithoutOriginalValue=You forced a new translation for the translation key '%s' that does not exist in any language files +TitleNumberOfActivatedModules=Activated modules +TotalNumberOfActivatedModules=Activated modules: %s / %s +YouMustEnableOneModule=You must at least enable 1 module +ClassNotFoundIntoPathWarning=Class %s not found in PHP path +YesInSummer=Yes in summer +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only the following modules are available to external users (irrespective of the permissions of such users) and only if permissions are granted:
    +SuhosinSessionEncrypt=Session storage encrypted by Suhosin +ConditionIsCurrently=Condition is currently %s +YouUseBestDriver=You use driver %s which is the best driver currently available. +YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. +NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization +SearchOptim=Search optimization +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. +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. +PHPModuleLoaded=PHP component %s is loaded +PreloadOPCode=Preloaded OPCode is used +AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.
    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)
    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". +AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
    Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". +AskForPreferredShippingMethod=Ask for preferred shipping method for Third Parties. +FieldEdition=Edition of field %s +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) +GetBarCode=Get barcode +NumberingModules=Numbering models +DocumentModules=Document models +##### Module password generation +PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: %s characters containing shared numbers and characters in lowercase. +PasswordGenerationNone=Do not suggest a generated password. Password must be typed in manually. +PasswordGenerationPerso=Return a password according to your personally defined configuration. +SetupPerso=According to your configuration +PasswordPatternDesc=Password pattern description +##### Users setup ##### +RuleForGeneratedPasswords=Rules to generate and validate passwords +DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page +UsersSetup=Users module setup +UserMailRequired=Email required to create a new user +UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) +UsersDocModules=Document templates for documents generated from user record +GroupsDocModules=Document templates for documents generated from a group record +##### HRM setup ##### +HRMSetup=HRM module setup +##### Company setup ##### +CompanySetup=Companies module setup +CompanyCodeChecker=Options for automatic generation of customer/vendor codes +AccountCodeManager=Options for automatic generation of customer/vendor accounting codes +NotificationsDesc=Email notifications can be sent automatically for some Dolibarr events.
    Recipients of notifications can be defined: +NotificationsDescUser=* per user, one user at a time. +NotificationsDescContact=* per third-party contacts (customers or vendors), one contact at a time. +NotificationsDescGlobal=* or by setting global email addresses in this setup page. +ModelModules=Document Templates +DocumentModelOdt=Generate documents from OpenDocument templates (.ODT / .ODS files from LibreOffice, OpenOffice, KOffice, TextEdit,...) +WatermarkOnDraft=Watermark on draft document +JSOnPaimentBill=Activate feature to autofill payment lines on payment form +CompanyIdProfChecker=Rules for Professional IDs +MustBeUnique=Must be unique? +MustBeMandatory=Mandatory to create third parties (if VAT number or type of company defined) ? +MustBeInvoiceMandatory=Mandatory to validate invoices? +TechnicalServicesProvided=Technical services provided +#####DAV ##### +WebDAVSetupDesc=This is the link to access the WebDAV directory. It contains a "public" dir open to any user knowing the URL (if public directory access allowed) and a "private" directory that needs an existing login account/password for access. +WebDavServer=Root URL of %s server: %s +##### Webcal setup ##### +WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +##### Invoices ##### +BillsSetup=Invoices module setup +BillsNumberingModule=Invoices and credit notes numbering model +BillsPDFModules=Invoice documents models +BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type +PaymentsPDFModules=Payment documents models +ForceInvoiceDate=Force invoice date to validation date +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice +SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account +SuggestPaymentByChequeToAddress=Suggest payment by check to +FreeLegalTextOnInvoices=Free text on invoices +WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +PaymentsNumberingModule=Payments numbering model +SuppliersPayment=Vendor payments +SupplierPaymentSetup=Vendor payments setup +##### Proposals ##### +PropalSetup=Commercial proposals module setup +ProposalsNumberingModules=Commercial proposal numbering models +ProposalsPDFModules=Commercial proposal documents models +SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal +FreeLegalTextOnProposal=Free text on commercial proposals +WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +##### SupplierProposal ##### +SupplierProposalSetup=Price requests suppliers module setup +SupplierProposalNumberingModules=Price requests suppliers numbering models +SupplierProposalPDFModules=Price requests suppliers documents models +FreeLegalTextOnSupplierProposal=Free text on price requests suppliers +WatermarkOnDraftSupplierProposal=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL=Ask for bank account destination of price request +WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order +##### Suppliers Orders ##### +BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order +##### Orders ##### +SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order +OrdersSetup=Sales Orders management setup +OrdersNumberingModules=Orders numbering models +OrdersModelModule=Order documents models +FreeLegalTextOnOrders=Free text on orders +WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +##### Interventions ##### +InterventionsSetup=Interventions module setup +FreeLegalTextOnInterventions=Free text on intervention documents +FicheinterNumberingModules=Intervention numbering models +TemplatePDFInterventions=Intervention card documents models +WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +##### Contracts ##### +ContractsSetup=Contracts/Subscriptions module setup +ContractsNumberingModules=Contracts numbering modules +TemplatePDFContracts=Contracts documents models +FreeLegalTextOnContracts=Free text on contracts +WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +##### Members ##### +MembersSetup=Members module setup +MemberMainOptions=Main options +AdherentLoginRequired= Manage a Login for each member +AdherentMailRequired=Email required to create a new member +MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated +VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes +MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. +MembersDocModules=Document templates for documents generated from member record +##### LDAP setup ##### +LDAPSetup=LDAP Setup +LDAPGlobalParameters=Global parameters +LDAPUsersSynchro=Users +LDAPGroupsSynchro=Groups +LDAPContactsSynchro=Contacts +LDAPMembersSynchro=Members +LDAPMembersTypesSynchro=Members types +LDAPSynchronization=LDAP synchronisation +LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Key in LDAP +LDAPSynchronizeUsers=Organization of users in LDAP +LDAPSynchronizeGroups=Organization of groups in LDAP +LDAPSynchronizeContacts=Organization of contacts in LDAP +LDAPSynchronizeMembers=Organization of foundation's members in LDAP +LDAPSynchronizeMembersTypes=Organization of foundation's members types in LDAP +LDAPPrimaryServer=Primary server +LDAPSecondaryServer=Secondary server +LDAPServerPort=Server port +LDAPServerPortExample=Default port: 389 +LDAPServerProtocolVersion=Protocol version +LDAPServerUseTLS=Use TLS +LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerDn=Server DN +LDAPAdminDn=Administrator DN +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory) +LDAPPassword=Administrator password +LDAPUserDn=Users' DN +LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) +LDAPGroupDn=Groups' DN +LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) +LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) +LDAPDnSynchroActive=Users and groups synchronization +LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization +LDAPDnContactActive=Contacts' synchronization +LDAPDnContactActiveExample=Activated/Unactivated synchronization +LDAPDnMemberActive=Members' synchronization +LDAPDnMemberActiveExample=Activated/Unactivated synchronization +LDAPDnMemberTypeActive=Members types' synchronization +LDAPDnMemberTypeActiveExample=Activated/Unactivated synchronization +LDAPContactDn=Dolibarr contacts' DN +LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) +LDAPMemberDn=Dolibarr members DN +LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) +LDAPMemberObjectClassList=List of objectClass +LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPMemberTypeDn=Dolibarr members types DN +LDAPMemberTypepDnExample=Complete DN (ex: ou=memberstypes,dc=example,dc=com) +LDAPMemberTypeObjectClassList=List of objectClass +LDAPMemberTypeObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPUserObjectClassList=List of objectClass +LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPGroupObjectClassList=List of objectClass +LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPContactObjectClassList=List of objectClass +LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPTestConnect=Test LDAP connection +LDAPTestSynchroContact=Test contacts synchronization +LDAPTestSynchroUser=Test user synchronization +LDAPTestSynchroGroup=Test group synchronization +LDAPTestSynchroMember=Test member synchronization +LDAPTestSynchroMemberType=Test member type synchronization +LDAPTestSearch= Test a LDAP search +LDAPSynchroOK=Synchronization test successful +LDAPSynchroKO=Failed synchronization test +LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that the connection to the server is correctly configured and allows LDAP updates +LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) +LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) +LDAPBindOK=Connect/Authenticate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindKO=Connect/Authenticate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPSetupForVersion3=LDAP server configured for version 3 +LDAPSetupForVersion2=LDAP server configured for version 2 +LDAPDolibarrMapping=Dolibarr Mapping +LDAPLdapMapping=LDAP Mapping +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Example: uid +LDAPFilterConnection=Search filter +LDAPFilterConnectionExample=Example: &(objectClass=inetOrgPerson) +LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPFieldLoginSamba=Login (samba, activedirectory) +LDAPFieldLoginSambaExample=Example: samaccountname +LDAPFieldFullname=Full name +LDAPFieldFullnameExample=Example: cn +LDAPFieldPasswordNotCrypted=Password not encrypted +LDAPFieldPasswordCrypted=Password encrypted +LDAPFieldPasswordExample=Example: userPassword +LDAPFieldCommonNameExample=Example: cn +LDAPFieldName=Name +LDAPFieldNameExample=Example: sn +LDAPFieldFirstName=First name +LDAPFieldFirstNameExample=Example: givenName +LDAPFieldMail=Email address +LDAPFieldMailExample=Example: mail +LDAPFieldPhone=Professional phone number +LDAPFieldPhoneExample=Example: telephonenumber +LDAPFieldHomePhone=Personal phone number +LDAPFieldHomePhoneExample=Example: homephone +LDAPFieldMobile=Cellular phone +LDAPFieldMobileExample=Example: mobile +LDAPFieldFax=Fax number +LDAPFieldFaxExample=Example: facsimiletelephonenumber +LDAPFieldAddress=Street +LDAPFieldAddressExample=Example: street +LDAPFieldZip=Zip +LDAPFieldZipExample=Example: postalcode +LDAPFieldTown=Town +LDAPFieldTownExample=Example: l +LDAPFieldCountry=Country +LDAPFieldDescription=Description +LDAPFieldDescriptionExample=Example: description +LDAPFieldNotePublic=Public Note +LDAPFieldNotePublicExample=Example: publicnote +LDAPFieldGroupMembers= Group members +LDAPFieldGroupMembersExample= Example: uniqueMember +LDAPFieldBirthdate=Birthdate +LDAPFieldCompany=Company +LDAPFieldCompanyExample=Example: o +LDAPFieldSid=SID +LDAPFieldSidExample=Example: objectsid +LDAPFieldEndLastSubscription=Date of subscription end +LDAPFieldTitle=Job position +LDAPFieldTitleExample=Example: title +LDAPFieldGroupid=Group id +LDAPFieldGroupidExample=Exemple : gidnumber +LDAPFieldUserid=User id +LDAPFieldUseridExample=Exemple : uidnumber +LDAPFieldHomedirectory=Home directory +LDAPFieldHomedirectoryExample=Exemple : homedirectory +LDAPFieldHomedirectoryprefix=Home directory prefix +LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. +LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. +LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. +LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. +LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. +LDAPDescMembersTypes=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members types. +LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. +ForANonAnonymousAccess=For an authenticated access (for a write access for example) +PerfDolibarr=Performance setup/optimizing report +YouMayFindPerfAdviceHere=This page provides some checks or advice related to performance. +NotInstalled=Not installed. +NotSlowedDownByThis=Not slowed down by this. +NotRiskOfLeakWithThis=Not risk of leak with this. +ApplicativeCache=Applicative cache +MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
    More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
    Note that a lot of web hosting provider does not provide such cache server. +MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. +MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. +OPCodeCache=OPCode cache +NoOPCodeCacheFound=No OPCode cache found. Maybe you are using an OPCode cache other than XCache or eAccelerator (good), or maybe you don't have OPCode cache (very bad). +HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) +FilesOfTypeCached=Files of type %s are cached by HTTP server +FilesOfTypeNotCached=Files of type %s are not cached by HTTP server +FilesOfTypeCompressed=Files of type %s are compressed by HTTP server +FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server +CacheByServer=Cache by server +CacheByServerDesc=For example using the Apache directive "ExpiresByType image/gif A2592000" +CacheByClient=Cache by browser +CompressionOfResources=Compression of HTTP responses +CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" +TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +DefaultValuesDesc=Here you may define the default value you wish to use when creating a new record, and/or default filters or the sort order when you list records. +DefaultCreateForm=Default values (to use on forms) +DefaultSearchFilters=Default search filters +DefaultSortOrder=Default sort orders +DefaultFocus=Default focus fields +DefaultMandatory=Mandatory form fields +##### Products ##### +ProductSetup=Products module setup +ServiceSetup=Services module setup +ProductServiceSetup=Products and Services modules setup +NumberOfProductShowInSelect=Maximum number of products to show in combo select lists (0=no limit) +ViewProductDescInFormAbility=Display product descriptions in forms (otherwise shown in a tooltip popup) +DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms +OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document +AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product +DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. +DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents +MergePropalProductCard=Activate in product/service Attached Files tab an option to merge product PDF document to proposal PDF azur if product/service is in the proposal +ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) +UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProduct=Wait until you press a key before loading content of product combo list (This may increase performance if you have a large number of products, but it is less convenient) +SetDefaultBarcodeTypeProducts=Default barcode type to use for products +SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Define a unit of measure for Quantity during order, proposal or invoice lines edition +ProductCodeChecker= Module for product code generation and checking (product or service) +ProductOtherConf= Product / Service configuration +IsNotADir=is not a directory! +##### Syslog ##### +SyslogSetup=Logs module setup +SyslogOutput=Logs outputs +SyslogFacility=Facility +SyslogLevel=Level +SyslogFilename=File name and path +YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. +ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant +OnlyWindowsLOG_USER=On Windows, only the LOG_USER facility will be supported +CompressSyslogs=Compression and backup of debug log files (generated by module Log for debug) +SyslogFileNumberOfSaves=Number of backup logs to keep +ConfigureCleaningCronjobToSetFrequencyOfSaves=Configure cleaning scheduled job to set log backup frequency +##### Donations ##### +DonationsSetup=Donation module setup +DonationsReceiptModel=Template of donation receipt +##### Barcode ##### +BarcodeSetup=Barcode setup +PaperFormatModule=Print format module +BarcodeEncodeModule=Barcode encoding type +CodeBarGenerator=Barcode generator +ChooseABarCode=No generator defined +FormatNotSupportedByGenerator=Format not supported by this generator +BarcodeDescEAN8=Barcode of type EAN8 +BarcodeDescEAN13=Barcode of type EAN13 +BarcodeDescUPC=Barcode of type UPC +BarcodeDescISBN=Barcode of type ISBN +BarcodeDescC39=Barcode of type C39 +BarcodeDescC128=Barcode of type C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code +GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
    For example: /usr/local/bin/genbarcode +BarcodeInternalEngine=Internal engine +BarCodeNumberManager=Manager to auto define barcode numbers +##### Prelevements ##### +WithdrawalsSetup=Setup of module Direct Debit payments +##### ExternalRSS ##### +ExternalRSSSetup=External RSS imports setup +NewRSS=New RSS Feed +RSSUrl=RSS URL +RSSUrlExample=An interesting RSS feed +##### Mailing ##### +MailingSetup=EMailing module setup +MailingEMailFrom=Sender email (From) for emails sent by emailing module +MailingEMailError=Return Email (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message +##### Notification ##### +NotificationSetup=Email Notification module setup +NotificationEMailFrom=Sender email (From) for emails sent by the Notifications module +FixedEmailTarget=Recipient +##### Sendings ##### +SendingsSetup=Shipping module setup +SendingsReceiptModel=Sending receipt model +SendingsNumberingModules=Sendings numbering modules +SendingsAbility=Support shipping sheets for customer deliveries +NoNeedForDeliveryReceipts=In most cases, shipping sheets are used both as sheets for customer deliveries (list of products to send) and sheets that are received and signed by customer. Hence the product deliveries receipt is a duplicated feature and is rarely activated. +FreeLegalTextOnShippings=Free text on shipments +##### Deliveries ##### +DeliveryOrderNumberingModules=Products deliveries receipt numbering module +DeliveryOrderModel=Products deliveries receipt model +DeliveriesOrderAbility=Support products deliveries receipts +FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +##### FCKeditor ##### +AdvancedEditor=Advanced editor +ActivateFCKeditor=Activate advanced editor for: +FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. +FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) +FCKeditorForUserSignature=WYSIWIG creation/edition of user signature +FCKeditorForMail=WYSIWIG creation/edition for all mail (except Tools->eMailing) +FCKeditorForTicket=WYSIWIG creation/edition for tickets +##### Stock ##### +StockSetup=Stock module setup +IfYouUsePointOfSaleCheckModule=If you use the Point of Sale module (POS) provided by default or an external module, this setup may be ignored by your POS module. Most POS modules are designed by default to create an invoice immediately and decrease stock irrespective of the options here. So if you need or not to have a stock decrease when registering a sale from your POS, check also your POS module setup. +##### Menu ##### +MenuDeleted=Menu deleted +Menu=Menu +Menus=Menus +TreeMenuPersonalized=Personalized menus +NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry +NewMenu=New menu +MenuHandler=Menu handler +MenuModule=Source module +HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise) +DetailId=Id menu +DetailMenuHandler=Menu handler where to show new menu +DetailMenuModule=Module name if menu entry come from a module +DetailType=Type of menu (top or left) +DetailTitre=Menu label or label code for translation +DetailUrl=URL where menu send you (Absolute URL link or external link with http://) +DetailEnabled=Condition to show or not entry +DetailRight=Condition to display unauthorized grey menus +DetailLangs=Lang file name for label code translation +DetailUser=Intern / Extern / All +Target=Target +DetailTarget=Target for links (_blank top opens a new window) +DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) +ModifMenu=Menu change +DeleteMenu=Delete menu entry +ConfirmDeleteMenu=Are you sure you want to delete menu entry %s? +FailedToInitializeMenu=Failed to initialize menu +##### Tax ##### +TaxSetup=Taxes, social or fiscal taxes and dividends module setup +OptionVatMode=VAT due +OptionVATDefault=Standard basis +OptionVATDebitOption=Accrual basis +OptionVatDefaultDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on payments for services +OptionVatDebitOptionDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on invoice (debit) for services +OptionPaymentForProductAndServices=Cash basis for products and services +OptionPaymentForProductAndServicesDesc=VAT is due:
    - on payment for goods
    - on payments for services +SummaryOfVatExigibilityUsedByDefault=Time of VAT eligibility by default according to chosen option: +OnDelivery=On delivery +OnPayment=On payment +OnInvoice=On invoice +SupposedToBePaymentDate=Payment date used +SupposedToBeInvoiceDate=Invoice date used +Buy=Buy +Sell=Sell +InvoiceDateUsed=Invoice date used +YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organization), so there is no VAT options to setup. +AccountancyCode=Accounting Code +AccountancyCodeSell=Sale account. code +AccountancyCodeBuy=Purchase account. code +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +##### Agenda ##### +AgendaSetup=Events and agenda module setup +PasswordTogetVCalExport=Key to authorize export link +SecurityKey = Security Key +PastDelayVCalExport=Do not export event older than +AGENDA_USE_EVENT_TYPE=Use events types (managed in menu Setup -> Dictionaries -> Type of agenda events) +AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of event in event create form +AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view +AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view +AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda +AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). +AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification +AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view +##### Clicktodial ##### +ClickToDialSetup=Click To Dial module setup +ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). +ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. +ClickToDialUseTelLink=Use just a link "tel:" on phone numbers +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. +##### Point Of Sale (CashDesk) ##### +CashDesk=Point of Sale +CashDeskSetup=Point of Sales module setup +CashDeskThirdPartyForSell=Default generic third party to use for sales +CashDeskBankAccountForSell=Default account to use to receive cash payments +CashDeskBankAccountForCheque=Default account to use to receive payments by check +CashDeskBankAccountForCB=Default account to use to receive payments by credit cards +CashDeskBankAccountForSumup=Default bank account to use to receive payments by SumUp +CashDeskDoNotDecreaseStock=Disable stock decrease when a sale is done from Point of Sale (if "no", stock decrease is done for each sale done from POS, irrespective of the option set in module Stock). +CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point of Sale disabled +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with module Serial/Lot management (currently active) so stock decrease is disabled. +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sale from Point of Sale. Hence a warehouse is required. +CashDeskForceDecreaseStockLabel=Stock decrease for batch products was forced. +CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dates. +CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) +##### Bookmark ##### +BookmarkSetup=Bookmark module setup +BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or external web sites on your left menu. +NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +##### WebServices ##### +WebServicesSetup=Webservices module setup +WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. +WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here +EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at URL +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +ApiProductionMode=Enable production mode (this will activate use of a cache for services management) +ApiExporerIs=You can explore and test the APIs at URL +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed +ApiKey=Key for API +WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it. +##### Bank ##### +BankSetupModule=Bank module setup +FreeLegalTextOnChequeReceipts=Free text on check receipts +BankOrderShow=Display order of bank accounts for countries using "detailed bank number" +BankOrderGlobal=General +BankOrderGlobalDesc=General display order +BankOrderES=Spanish +BankOrderESDesc=Spanish display order +ChequeReceiptsNumberingModule=Check Receipts Numbering Module +##### Multicompany ##### +MultiCompanySetup=Multi-company module setup +##### Suppliers ##### +SuppliersSetup=Vendor module setup +SuppliersCommandModel=Complete template of Purchase Order +SuppliersCommandModelMuscadet=Complete template of Purchase Order (old implementation of cornas template) +SuppliersInvoiceModel=Complete template of Vendor Invoice +SuppliersInvoiceNumberingModel=Vendor invoices numbering models +IfSetToYesDontForgetPermission=If set to a non null value, don't forget to provide permissions to groups or users allowed for the second approval +##### GeoIPMaxmind ##### +GeoIPMaxmindSetup=GeoIP Maxmind module setup +PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
    Examples:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb +NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). +YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. +YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. +TestGeoIPResult=Test of a conversion IP -> country +##### Projects ##### +ProjectsNumberingModules=Projects numbering module +ProjectsSetup=Project module setup +ProjectsModelModule=Project reports document model +TasksNumberingModules=Tasks numbering module +TaskModelModule=Tasks reports document model +UseSearchToSelectProject=Wait until a key is pressed before loading content of Project combo list.
    This may improve performance if you have a large number of projects, but it is less convenient. +##### ECM (GED) ##### +##### Fiscal Year ##### +AccountingPeriods=Accounting periods +AccountingPeriodCard=Accounting period +NewFiscalYear=New accounting period +OpenFiscalYear=Open accounting period +CloseFiscalYear=Close accounting period +DeleteFiscalYear=Delete accounting period +ConfirmDeleteFiscalYear=Are you sure to delete this accounting period? +ShowFiscalYear=Show accounting period +AlwaysEditable=Can always be edited +MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +NbMajMin=Minimum number of uppercase characters +NbNumMin=Minimum number of numeric characters +NbSpeMin=Minimum number of special characters +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Setup of module salaries +SortOrder=Sort order +Format=Format +TypePaymentDesc=0:Customer payment type, 1:Vendor payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document +ExpenseReportsRulesSetup=Setup of module Expense Reports - Rules +ExpenseReportNumberingModules=Expense reports numbering module +NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. +YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for email notifications by enabling and configuring the module "Notification". +ListOfNotificationsPerUser=List of automatic notifications per user* +ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact** +ListOfFixedNotifications=List of automatic fixed notifications +GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users +GoOntoContactCardToAddMore=Go to the tab "Notifications" of a third party to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Wizard to build the database dump file +BackupZipWizard=Wizard to build the archive of documents directory +SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason: +SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is a manual process only a privileged user may perform. +InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file %s to allow this feature. +ConfFileMustContainCustom=Installing or building an external module from application need to save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to add the 2 directive lines:
    $dolibarr_main_url_root_alt='/custom';
    $dolibarr_main_document_root_alt='%s/custom'; +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +HighlightLinesColor=Highlight color of the line when the mouse passes over (use 'ffffff' for no highlight) +HighlightLinesChecked=Highlight color of the line when it is checked (use 'ffffff' for no highlight) +TextTitleColor=Text color of Page title +LinkColor=Color of links +PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective +NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes +BackgroundColor=Background color +TopMenuBackgroundColor=Background color for Top menu +TopMenuDisableImages=Hide images in Top menu +LeftMenuBackgroundColor=Background color for Left menu +BackgroundTableTitleColor=Background color for Table title line +BackgroundTableTitleTextColor=Text color for Table title line +BackgroundTableTitleTextlinkColor=Text color for Table title link line +BackgroundTableLineOddColor=Background color for odd table lines +BackgroundTableLineEvenColor=Background color for even table lines +MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) +NbAddedAutomatically=Number of days added to counters of users (automatically) each month +EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. +Enter0or1=Enter 0 or 1 +UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For example: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364] +ColorFormat=The RGB color is in HEX format, eg: FF0000 +PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) +PositionIntoComboList=Position of line into combo lists +SellTaxRate=Sale tax rate +RecuperableOnly=Yes for VAT "Not Perceived but Recoverable" dedicated for some state in France. Keep value to "No" in all other cases. +UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card. +OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100). +TemplateForElement=This template record is dedicated to which element +TypeOfTemplate=Type of template +TemplateIsVisibleByOwnerOnly=Template is visible to owner only +VisibleEverywhere=Visible everywhere +VisibleNowhere=Visible nowhere +FixTZ=TimeZone fix +FillFixTZOnlyIfRequired=Example: +2 (fill only if problem experienced) +ExpectedChecksum=Expected Checksum +CurrentChecksum=Current Checksum +ExpectedSize=Expected size +CurrentSize=Current size +ForcedConstants=Required constant values +MailToSendProposal=Customer proposals +MailToSendOrder=Sales orders +MailToSendInvoice=Customer invoices +MailToSendShipment=Shipments +MailToSendIntervention=Interventions +MailToSendSupplierRequestForQuotation=Quotation request +MailToSendSupplierOrder=Purchase orders +MailToSendSupplierInvoice=Vendor invoices +MailToSendContract=Contracts +MailToSendReception=Receptions +MailToThirdparty=Third parties +MailToMember=Members +MailToUser=Users +MailToProject=Projects +MailToTicket=Tickets +ByDefaultInList=Show by default on list view +YouUseLastStableVersion=You use the latest stable version +TitleExampleForMajorRelease=Example of message you can use to announce this major release (feel free to use it on your web sites) +TitleExampleForMaintenanceRelease=Example of message you can use to announce this maintenance release (feel free to use it on your web sites) +ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s is available. Version %s is a major release with a lot of new features for both users and developers. You can download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read ChangeLog for complete list of changes. +ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Version %s is a maintenance version, so contains only bug fixes. We recommend all users to upgrade to this version. A maintenance release does not introduce new features or changes to the database. You may download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read the ChangeLog for complete list of changes. +MultiPriceRuleDesc=When option "Several levels of prices per product/service" is enabled, you can define different prices (one per price level) for each product. To save you time, here you may enter a rule to autocalculate a price for each level based on the price of the first level, so you will have to only enter a price for the first level for each product. This page is designed to save you time but is useful only if your prices for each level are relative to first level. You can ignore this page in most cases. +ModelModulesProduct=Templates for product documents +WarehouseModelModules=Templates for documents of warehouses +ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate codes automatically, you must first define a manager to auto-define the barcode number. +SeeSubstitutionVars=See * note for list of possible substitution variables +SeeChangeLog=See ChangeLog file (english only) +AllPublishers=All publishers +UnknownPublishers=Unknown publishers +AddRemoveTabs=Add or remove tabs +AddDataTables=Add object tables +AddDictionaries=Add dictionaries tables +AddData=Add objects or dictionaries data +AddBoxes=Add widgets +AddSheduledJobs=Add scheduled jobs +AddHooks=Add hooks +AddTriggers=Add triggers +AddMenus=Add menus +AddPermissions=Add permissions +AddExportProfiles=Add export profiles +AddImportProfiles=Add import profiles +AddOtherPagesOrServices=Add other pages or services +AddModels=Add document or numbering templates +AddSubstitutions=Add keys substitutions +DetectionNotPossible=Detection not possible +UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received it is saved in database user table and must be provided on each API call) +ListOfAvailableAPIs=List of available APIs +activateModuleDependNotSatisfied=Module "%s" depends on module "%s", that is missing, so module "%1$s" may not work correctly. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise +CommandIsNotInsideAllowedCommands=The command you are trying to run is not in the list of allowed commands defined in parameter $dolibarr_main_restrict_os_commands in the conf.php file. +LandingPage=Landing page +SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choice "Single price", the price will also be the same for all companies if products are shared between environments +ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary. +UserHasNoPermissions=This user has no permissions defined +TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "%s")
    Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "%s" in days)
    Use "Current/Next" to have payment term date being the first Nth of the month after delta (delta is field "%s", N is stored into field "%s") +BaseCurrency=Reference currency of the company (go into setup of company to change this) +WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016). +WarningNoteModulePOSForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated. +WarningInstallationMayBecomeNotCompliantWithLaw=You are trying to install module %s that is an external module. Activating an external module means you trust the publisher of that module and that you are sure that this module does not adversely impact the behavior of your application, and is compliant with laws of your country (%s). If the module introduces an illegal feature, you become responsible for the use of illegal software. +MAIN_PDF_MARGIN_LEFT=Left margin on PDF +MAIN_PDF_MARGIN_RIGHT=Right margin on PDF +MAIN_PDF_MARGIN_TOP=Top margin on PDF +MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF +MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF +NothingToSetup=There is no specific setup required for this module. +SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups +EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +SeveralLangugeVariatFound=Several language variants found +RemoveSpecialChars=Remove special characters +COMPANY_AQUARIUM_CLEAN_REGEX=Regex filter to clean value (COMPANY_AQUARIUM_CLEAN_REGEX) +COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) +COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed +GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) +GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here +HelpOnTooltip=Help text to show on tooltip +HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form +YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
    %s +ChartLoaded=Chart of account loaded +SocialNetworkSetup=Setup of module Social Networks +EnableFeatureFor=Enable features for %s +VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales. +SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents +FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. +EmailCollector=Email collector +EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). +NewEmailCollector=New Email Collector +EMailHost=Host of email IMAP server +MailboxSourceDirectory=Mailbox source directory +MailboxTargetDirectory=Mailbox target directory +EmailcollectorOperations=Operations to do by collector +EmailcollectorOperationsDesc=Operations are executed from top to bottom order +MaxEmailCollectPerCollect=Max number of emails collected per collect +CollectNow=Collect now +ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ? +DateLastCollectResult=Date of latest collect try +DateLastcollectResultOk=Date of latest collect success +LastResult=Latest result +EmailCollectorConfirmCollectTitle=Email collect confirmation +EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ? +NoNewEmailToProcess=No new email (matching filters) to process +NothingProcessed=Nothing done +XEmailsDoneYActionsDone=%s emails qualified, %s emails successfully processed (for %s record/actions done) +RecordEvent=Record email event +CreateLeadAndThirdParty=Create lead (and third party if necessary) +CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) +CodeLastResult=Latest result code +NbOfEmailsInInbox=Number of emails in source directory +LoadThirdPartyFromName=Load third party searching on %s (load only) +LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found) +WithDolTrackingID=Message from a conversation initiated by a first email sent from Dolibarr +WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr +WithDolTrackingIDInMsgId=Message sent from Dolibarr +WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr +CreateCandidature=Create job application +FormatZip=Zip +MainMenuCode=Menu entry code (mainmenu) +ECMAutoTree=Show automatic ECM tree +OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. +OpeningHours=Opening hours +OpeningHoursDesc=Enter here the regular opening hours of your company. +ResourceSetup=Configuration of Resource module +UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list). +DisabledResourceLinkUser=Disable feature to link a resource to users +DisabledResourceLinkContact=Disable feature to link a resource to contacts +EnableResourceUsedInEventCheck=Enable feature to check if a resource is in use in an event +ConfirmUnactivation=Confirm module reset +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) +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_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' +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. +RootCategoryForProductsToSell=Root category of products to sell +RootCategoryForProductsToSellDesc=If defined, only products inside this category or childs of this category will be available in the Point Of Sale +DebugBar=Debug Bar +DebugBarDesc=Toolbar that comes with a plenty of tools to simplify debugging +DebugBarSetup=DebugBar Setup +GeneralOptions=General Options +LogsLinesNumber=Number of lines to show on logs tab +UseDebugBar=Use the debug bar +DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console +WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output +ModuleActivated=Module %s is activated and slows the interface +ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) +ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +IfYouAreOnAProductionSetThis=If you are on a production environment, you should set this property to %s. +AntivirusEnabledOnUpload=Antivirus enabled on uploaded files +SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +EXPORTS_SHARE_MODELS=Export models are share with everybody +ExportSetup=Setup of module Export +ImportSetup=Setup of module Import +InstanceUniqueID=Unique ID of the instance +SmallerThan=Smaller than +LargerThan=Larger than +IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. +WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. +EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    +EndPointFor=End point for %s : %s +DeleteEmailCollector=Delete 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 +RESTRICT_ON_IP=Allow access to some host IP only (wildcard not allowed, use space between values). Empty means every hosts can access. +IPListExample=127.0.0.1 192.168.0.2 [::1] +BaseOnSabeDavVersion=Based on the library SabreDAV version +NotAPublicIp=Not a public IP +MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation. +FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled +EmailTemplate=Template for email +EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax +PDF_SHOW_PROJECT=Show project on document +ShowProjectLabel=Project Label +PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. +FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. +RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard +JumpToBoxes=Jump to Setup -> Widgets +MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" +MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. +TemplateAdded=Template added +TemplateUpdated=Template updated +TemplateDeleted=Template deleted +MailToSendEventPush=Event reminder email +SwitchThisForABetterSecurity=Switching this value to %s is recommended for more security +DictionaryProductNature= Nature of product +CountryIfSpecificToOneCountry=Country (if specific to a given country) +YouMayFindSecurityAdviceHere=You may find security advisory here +ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. +ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. +CombinationsSeparator=Separator character for product combinations +SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples +SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. +AskThisIDToYourBank=Contact your bank to get this ID +AdvancedModeOnly=Permision available in Advanced permission mode only +ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. +MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form +YouShouldDisablePHPFunctions=You should disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions +NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) +RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended +ARestrictedPath=A restricted path +CheckForModuleUpdate=Check for external modules updates +CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. +ModuleUpdateAvailable=An update is available +NoExternalModuleWithUpdate=No updates found for external modules +SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ar_IQ/agenda.lang b/htdocs/langs/kk_KZ/agenda.lang similarity index 98% rename from htdocs/langs/ar_IQ/agenda.lang rename to htdocs/langs/kk_KZ/agenda.lang index ca614595a65..a1183841b00 100644 --- a/htdocs/langs/ar_IQ/agenda.lang +++ b/htdocs/langs/kk_KZ/agenda.lang @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified diff --git a/htdocs/langs/ar_IQ/assets.lang b/htdocs/langs/kk_KZ/assets.lang similarity index 100% rename from htdocs/langs/ar_IQ/assets.lang rename to htdocs/langs/kk_KZ/assets.lang diff --git a/htdocs/langs/ar_IQ/banks.lang b/htdocs/langs/kk_KZ/banks.lang similarity index 99% rename from htdocs/langs/ar_IQ/banks.lang rename to htdocs/langs/kk_KZ/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/ar_IQ/banks.lang +++ b/htdocs/langs/kk_KZ/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/kk_KZ/bills.lang b/htdocs/langs/kk_KZ/bills.lang new file mode 100644 index 00000000000..7b8c997d2e6 --- /dev/null +++ b/htdocs/langs/kk_KZ/bills.lang @@ -0,0 +1,593 @@ +# Dolibarr language file - Source file is en_US - bills +Bill=Invoice +Bills=Invoices +BillsCustomers=Customer invoices +BillsCustomer=Customer invoice +BillsSuppliers=Vendor invoices +BillsCustomersUnpaid=Unpaid customer invoices +BillsCustomersUnpaidForCompany=Unpaid customer invoices for %s +BillsSuppliersUnpaid=Unpaid vendor invoices +BillsSuppliersUnpaidForCompany=Unpaid vendors invoices for %s +BillsLate=Late payments +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Vendors invoices statistics +DisabledBecauseDispatchedInBookkeeping=Disabled because invoice was dispatched into bookkeeping +DisabledBecauseNotLastInvoice=Disabled because invoice is not erasable. Some invoices were recorded after this one and it will create holes in the counter. +DisabledBecauseNotErasable=Disabled because cannot be erased +InvoiceStandard=Standard invoice +InvoiceStandardAsk=Standard invoice +InvoiceStandardDesc=This kind of invoice is the common invoice. +InvoiceDeposit=Down payment invoice +InvoiceDepositAsk=Down payment invoice +InvoiceDepositDesc=This kind of invoice is done when a down payment has been received. +InvoiceProForma=Proforma invoice +InvoiceProFormaAsk=Proforma invoice +InvoiceProFormaDesc=Proforma invoice is an image of a true invoice but has no accountancy value. +InvoiceReplacement=Replacement invoice +InvoiceReplacementAsk=Replacement invoice for invoice +InvoiceReplacementDesc=Replacement invoice is used to completely replace an invoice with no payment already received.

    Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceAvoir=Credit note +InvoiceAvoirAsk=Credit note to correct invoice +InvoiceAvoirDesc=The credit note is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned). +invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice +invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice +invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount +ReplaceInvoice=Replace invoice %s +ReplacementInvoice=Replacement invoice +ReplacedByInvoice=Replaced by invoice %s +ReplacementByInvoice=Replaced by invoice +CorrectInvoice=Correct invoice %s +CorrectionInvoice=Correction invoice +UsedByInvoice=Used to pay invoice %s +ConsumedBy=Consumed by +NotConsumed=Not consumed +NoReplacableInvoice=No replaceable invoices +NoInvoiceToCorrect=No invoice to correct +InvoiceHasAvoir=Was source of one or several credit notes +CardBill=Invoice card +PredefinedInvoices=Predefined Invoices +Invoice=Invoice +PdfInvoiceTitle=Invoice +Invoices=Invoices +InvoiceLine=Invoice line +InvoiceCustomer=Customer invoice +CustomerInvoice=Customer invoice +CustomersInvoices=Customer invoices +SupplierInvoice=Vendor invoice +SuppliersInvoices=Vendor invoices +SupplierInvoiceLines=Vendor invoice lines +SupplierBill=Vendor invoice +SupplierBills=Vendor invoices +Payment=Payment +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund +Payments=Payments +PaymentsBack=Refunds +paymentInInvoiceCurrency=in invoices currency +PaidBack=Paid back +DeletePayment=Delete payment +ConfirmDeletePayment=Are you sure you want to delete this payment? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. +SupplierPayments=Vendor payments +ReceivedPayments=Received payments +ReceivedCustomersPayments=Payments received from customers +PayedSuppliersPayments=Payments paid to vendors +ReceivedCustomersPaymentsToValid=Received customers payments to validate +PaymentsReportsForYear=Payments reports for %s +PaymentsReports=Payments reports +PaymentsAlreadyDone=Payments already done +PaymentsBackAlreadyDone=Refunds already done +PaymentRule=Payment rule +PaymentMode=Payment Type +DefaultPaymentMode=Default Payment Type +DefaultBankAccount=Default Bank Account +PaymentTypeDC=Debit/Credit Card +PaymentTypePP=PayPal +IdPaymentMode=Payment Type (id) +CodePaymentMode=Payment Type (code) +LabelPaymentMode=Payment Type (label) +PaymentModeShort=Payment Type +PaymentTerm=Payment Term +PaymentConditions=Payment Terms +PaymentConditionsShort=Payment Terms +PaymentAmount=Payment amount +PaymentHigherThanReminderToPay=Payment higher than reminder to pay +HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
    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.
    Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. +ClassifyPaid=Classify 'Paid' +ClassifyUnPaid=Classify 'Unpaid' +ClassifyPaidPartially=Classify 'Paid partially' +ClassifyCanceled=Classify 'Abandoned' +ClassifyClosed=Classify 'Closed' +ClassifyUnBilled=Classify 'Unbilled' +CreateBill=Create Invoice +CreateCreditNote=Create credit note +AddBill=Create invoice or credit note +AddToDraftInvoices=Add to draft invoice +DeleteBill=Delete invoice +SearchACustomerInvoice=Search for a customer invoice +SearchASupplierInvoice=Search for a vendor invoice +CancelBill=Cancel an invoice +SendRemindByMail=Send reminder by email +DoPayment=Enter payment +DoPaymentBack=Enter refund +ConvertToReduc=Mark as credit available +ConvertExcessReceivedToReduc=Convert excess received into available credit +ConvertExcessPaidToReduc=Convert excess paid into available discount +EnterPaymentReceivedFromCustomer=Enter payment received from customer +EnterPaymentDueToCustomer=Make payment due to customer +DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero +PriceBase=Base price +BillStatus=Invoice status +StatusOfGeneratedInvoices=Status of generated invoices +BillStatusDraft=Draft (needs to be validated) +BillStatusPaid=Paid +BillStatusPaidBackOrConverted=Credit note refund or marked as credit available +BillStatusConverted=Paid (ready for consumption in final invoice) +BillStatusCanceled=Abandoned +BillStatusValidated=Validated (needs to be paid) +BillStatusStarted=Started +BillStatusNotPaid=Not paid +BillStatusNotRefunded=Not refunded +BillStatusClosedUnpaid=Closed (unpaid) +BillStatusClosedPaidPartially=Paid (partially) +BillShortStatusDraft=Draft +BillShortStatusPaid=Paid +BillShortStatusPaidBackOrConverted=Refunded or converted +Refunded=Refunded +BillShortStatusConverted=Paid +BillShortStatusCanceled=Abandoned +BillShortStatusValidated=Validated +BillShortStatusStarted=Started +BillShortStatusNotPaid=Not paid +BillShortStatusNotRefunded=Not refunded +BillShortStatusClosedUnpaid=Closed +BillShortStatusClosedPaidPartially=Paid (partially) +PaymentStatusToValidShort=To validate +ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined +ErrorNoPaiementModeConfigured=No default payment type defined. Go to Invoice module setup to fix this. +ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment types +ErrorBillNotFound=Invoice %s does not exist +ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. +ErrorDiscountAlreadyUsed=Error, discount already used +ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount +ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have an amount excluding tax positive (or null) +ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. +BillFrom=From +BillTo=To +ActionsOnBill=Actions on invoice +RecurringInvoiceTemplate=Template / Recurring invoice +NoQualifiedRecurringInvoiceTemplateFound=No recurring template invoice qualified for generation. +FoundXQualifiedRecurringInvoiceTemplate=Found %s recurring template invoice(s) qualified for generation. +NotARecurringInvoiceTemplate=Not a recurring template invoice +NewBill=New invoice +LastBills=Latest %s invoices +LatestTemplateInvoices=Latest %s template invoices +LatestCustomerTemplateInvoices=Latest %s customer template invoices +LatestSupplierTemplateInvoices=Latest %s vendor template invoices +LastCustomersBills=Latest %s customer invoices +LastSuppliersBills=Latest %s vendor invoices +AllBills=All invoices +AllCustomerTemplateInvoices=All template invoices +OtherBills=Other invoices +DraftBills=Draft invoices +CustomersDraftInvoices=Customer draft invoices +SuppliersDraftInvoices=Vendor draft invoices +Unpaid=Unpaid +ErrorNoPaymentDefined=Error No payment defined +ConfirmDeleteBill=Are you sure you want to delete this invoice? +ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s? +ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status? +ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid? +ConfirmCancelBill=Are you sure you want to cancel invoice %s? +ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned'? +ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid? +ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What is the reason for closing this invoice? +ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularize the VAT with a credit note. +ConfirmClassifyPaidPartiallyReasonDiscount=Remaining unpaid (%s %s) is a discount granted because payment was made before term. +ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. +ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. +ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer +ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned +ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice has been provided with suitable comments. (Example «Only the tax corresponding to the price that has been actually paid gives rights to deduction») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct notes. +ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuses to pay his debt. +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned +ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all others are not suitable, for example in following situation:
    - payment not complete because some products were shipped back
    - amount claimed too important because a discount was forgotten
    In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. +ConfirmClassifyAbandonReasonOther=Other +ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. +ConfirmCustomerPayment=Do you confirm this payment input for %s %s? +ConfirmSupplierPayment=Do you confirm this payment input for %s %s? +ConfirmValidatePayment=Are you sure you want to validate this payment? No change can be made once payment is validated. +ValidateBill=Validate invoice +UnvalidateBill=Unvalidate invoice +NumberOfBills=No. of invoices +NumberOfBillsByMonth=No. of invoices per month +AmountOfBills=Amount of invoices +AmountOfBillsHT=Amount of invoices (net of tax) +AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) +UseSituationInvoices=Allow situation invoice +UseSituationInvoicesCreditNote=Allow situation invoice credit note +Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices +RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation +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 +AlreadyPaid=Already paid +AlreadyPaidBack=Already paid back +AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) +Abandoned=Abandoned +RemainderToPay=Remaining unpaid +RemainderToTake=Remaining amount to take +RemainderToPayBack=Remaining amount to refund +Rest=Pending +AmountExpected=Amount claimed +ExcessReceived=Excess received +ExcessPaid=Excess paid +EscompteOffered=Discount offered (payment before term) +EscompteOfferedShort=Discount +SendBillRef=Submission of invoice %s +SendReminderBillRef=Submission of invoice %s (reminder) +NoDraftBills=No draft invoices +NoOtherDraftBills=No other draft invoices +NoDraftInvoices=No draft invoices +RefBill=Invoice ref +ToBill=To bill +RemainderToBill=Remainder to bill +SendBillByMail=Send invoice by email +SendReminderBillByMail=Send reminder by email +RelatedCommercialProposals=Related commercial proposals +RelatedRecurringCustomerInvoices=Related recurring customer invoices +MenuToValid=To valid +DateMaxPayment=Payment due on +DateInvoice=Invoice date +DatePointOfTax=Point of tax +NoInvoice=No invoice +NoOpenInvoice=No open invoice +ClassifyBill=Classify invoice +SupplierBillsToPay=Unpaid vendor invoices +CustomerBillsUnpaid=Unpaid customer invoices +NonPercuRecuperable=Non-recoverable +SetConditions=Set Payment Terms +SetMode=Set Payment Type +SetRevenuStamp=Set revenue stamp +Billed=Billed +RecurringInvoices=Recurring invoices +RepeatableInvoice=Template invoice +RepeatableInvoices=Template invoices +Repeatable=Template +Repeatables=Templates +ChangeIntoRepeatableInvoice=Convert into template invoice +CreateRepeatableInvoice=Create template invoice +CreateFromRepeatableInvoice=Create from template invoice +CustomersInvoicesAndInvoiceLines=Customer invoices and invoice details +CustomersInvoicesAndPayments=Customer invoices and payments +ExportDataset_invoice_1=Customer invoices and invoice details +ExportDataset_invoice_2=Customer invoices and payments +ProformaBill=Proforma Bill: +Reduction=Reduction +ReductionShort=Disc. +Reductions=Reductions +ReductionsShort=Disc. +Discounts=Discounts +AddDiscount=Create discount +AddRelativeDiscount=Create relative discount +EditRelativeDiscount=Edit relative discount +AddGlobalDiscount=Create absolute discount +EditGlobalDiscounts=Edit absolute discounts +AddCreditNote=Create credit note +ShowDiscount=Show discount +ShowReduc=Show the discount +ShowSourceInvoice=Show the source invoice +RelativeDiscount=Relative discount +GlobalDiscount=Global discount +CreditNote=Credit note +CreditNotes=Credit notes +CreditNotesOrExcessReceived=Credit notes or excess received +Deposit=Down payment +Deposits=Down payments +DiscountFromCreditNote=Discount from credit note %s +DiscountFromDeposit=Down payments from invoice %s +DiscountFromExcessReceived=Payments in excess of invoice %s +DiscountFromExcessPaid=Payments in excess of invoice %s +AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation +CreditNoteDepositUse=Invoice must be validated to use this kind of credits +NewGlobalDiscount=New absolute discount +NewRelativeDiscount=New relative discount +DiscountType=Discount type +NoteReason=Note/Reason +ReasonDiscount=Reason +DiscountOfferedBy=Granted by +DiscountStillRemaining=Discounts or credits available +DiscountAlreadyCounted=Discounts or credits already consumed +CustomerDiscounts=Customer discounts +SupplierDiscounts=Vendors discounts +BillAddress=Bill address +HelpEscompte=This discount is a discount granted to customer because payment was made before term. +HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loss. +HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by another for example) +IdSocialContribution=Social/fiscal tax payment id +PaymentId=Payment id +PaymentRef=Payment ref. +InvoiceId=Invoice id +InvoiceRef=Invoice ref. +InvoiceDateCreation=Invoice creation date +InvoiceStatus=Invoice status +InvoiceNote=Invoice note +InvoicePaid=Invoice paid +InvoicePaidCompletely=Paid completely +InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. +OrderBilled=Order billed +DonationPaid=Donation paid +PaymentNumber=Payment number +RemoveDiscount=Remove discount +WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) +InvoiceNotChecked=No invoice selected +ConfirmCloneInvoice=Are you sure you want to clone this invoice %s? +DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced +DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payments during the fixed year are included here. +NbOfPayments=No. of payments +SplitDiscount=Split discount in two +ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into two smaller discounts? +TypeAmountOfEachNewDiscount=Input amount for each of two parts: +TotalOfTwoDiscountMustEqualsOriginal=The total of the two new discounts must be equal to the original discount amount. +ConfirmRemoveDiscount=Are you sure you want to remove this discount? +RelatedBill=Related invoice +RelatedBills=Related invoices +RelatedCustomerInvoices=Related customer invoices +RelatedSupplierInvoices=Related vendor invoices +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoices already exist +MergingPDFTool=Merging PDF tool +AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different third parties bills but same parent company +PaymentNote=Payment note +ListOfPreviousSituationInvoices=List of previous situation invoices +ListOfNextSituationInvoices=List of next situation invoices +ListOfSituationInvoices=List of situation invoices +CurrentSituationTotal=Total current situation +DisabledBecauseNotEnouthCreditNote=To remove a situation invoice from cycle, this invoice's credit note total must cover this invoice total +RemoveSituationFromCycle=Remove this invoice from cycle +ConfirmRemoveSituationFromCycle=Remove this invoice %s from cycle ? +ConfirmOuting=Confirm outing +FrequencyPer_d=Every %s days +FrequencyPer_m=Every %s months +FrequencyPer_y=Every %s years +FrequencyUnit=Frequency unit +toolTipFrequency=Examples:
    Set 7, Day: give a new invoice every 7 days
    Set 3, Month: give a new invoice every 3 month +NextDateToExecution=Date for next invoice generation +NextDateToExecutionShort=Date next gen. +DateLastGeneration=Date of latest generation +DateLastGenerationShort=Date latest gen. +MaxPeriodNumber=Max. number of invoice generation +NbOfGenerationDone=Number of invoice generation already done +NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationDoneShort=Number of generation done +MaxGenerationReached=Maximum number of generations reached +InvoiceAutoValidate=Validate invoices automatically +GeneratedFromRecurringInvoice=Generated from template recurring invoice %s +DateIsNotEnough=Date not reached yet +InvoiceGeneratedFromTemplate=Invoice %s generated from recurring template invoice %s +GeneratedFromTemplate=Generated from template invoice %s +WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date +WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date +ViewAvailableGlobalDiscounts=View available discounts +GroupPaymentsByModOnReports=Group payments by mode on reports +# PaymentConditions +Statut=Status +PaymentConditionShortRECEP=Due Upon Receipt +PaymentConditionRECEP=Due Upon Receipt +PaymentConditionShort30D=30 days +PaymentCondition30D=30 days +PaymentConditionShort30DENDMONTH=30 days of month-end +PaymentCondition30DENDMONTH=Within 30 days following the end of the month +PaymentConditionShort60D=60 days +PaymentCondition60D=60 days +PaymentConditionShort60DENDMONTH=60 days of month-end +PaymentCondition60DENDMONTH=Within 60 days following the end of the month +PaymentConditionShortPT_DELIVERY=Delivery +PaymentConditionPT_DELIVERY=On delivery +PaymentConditionShortPT_ORDER=Order +PaymentConditionPT_ORDER=On order +PaymentConditionShortPT_5050=50-50 +PaymentConditionPT_5050=50%% in advance, 50%% on delivery +PaymentConditionShort10D=10 days +PaymentCondition10D=10 days +PaymentConditionShort10DENDMONTH=10 days of month-end +PaymentCondition10DENDMONTH=Within 10 days following the end of the month +PaymentConditionShort14D=14 days +PaymentCondition14D=14 days +PaymentConditionShort14DENDMONTH=14 days of month-end +PaymentCondition14DENDMONTH=Within 14 days following the end of the month +FixAmount=Fixed amount - 1 line with label '%s' +VarAmount=Variable amount (%% tot.) +VarAmountOneLine=Variable amount (%% tot.) - 1 line with label '%s' +VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +# PaymentType +PaymentTypeVIR=Bank transfer +PaymentTypeShortVIR=Bank transfer +PaymentTypePRE=Direct debit payment order +PaymentTypeShortPRE=Debit payment order +PaymentTypeLIQ=Cash +PaymentTypeShortLIQ=Cash +PaymentTypeCB=Credit card +PaymentTypeShortCB=Credit card +PaymentTypeCHQ=Check +PaymentTypeShortCHQ=Check +PaymentTypeTIP=TIP (Documents against Payment) +PaymentTypeShortTIP=TIP Payment +PaymentTypeVAD=Online payment +PaymentTypeShortVAD=Online payment +PaymentTypeTRA=Bank draft +PaymentTypeShortTRA=Draft +PaymentTypeFAC=Factor +PaymentTypeShortFAC=Factor +BankDetails=Bank details +BankCode=Bank code +DeskCode=Branch code +BankAccountNumber=Account number +BankAccountNumberKey=Checksum +Residence=Address +IBANNumber=IBAN account number +IBAN=IBAN +CustomerIBAN=IBAN of customer +SupplierIBAN=IBAN of vendor +BIC=BIC/SWIFT +BICNumber=BIC/SWIFT code +ExtraInfos=Extra infos +RegulatedOn=Regulated on +ChequeNumber=Check N° +ChequeOrTransferNumber=Check/Transfer N° +ChequeBordereau=Check schedule +ChequeMaker=Check/Transfer sender +ChequeBank=Bank of Check +CheckBank=Check +NetToBePaid=Net to be paid +PhoneNumber=Tel +FullPhoneNumber=Telephone +TeleFax=Fax +PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. +IntracommunityVATNumber=Intra-Community VAT ID +PaymentByChequeOrderedTo=Check payments (including tax) are payable to %s, send to +PaymentByChequeOrderedToShort=Check payments (incl. tax) are payable to +SendTo=sent to +PaymentByTransferOnThisBankAccount=Payment by transfer to the following bank account +VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI +LawApplicationPart1=By application of the law 80.335 of 12/05/80 +LawApplicationPart2=the goods remain the property of +LawApplicationPart3=the seller until full payment of +LawApplicationPart4=their price. +LimitedLiabilityCompanyCapital=SARL with Capital of +UseLine=Apply +UseDiscount=Use discount +UseCredit=Use credit +UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit +MenuChequeDeposits=Check Deposits +MenuCheques=Checks +MenuChequesReceipts=Check receipts +NewChequeDeposit=New deposit +ChequesReceipts=Check receipts +ChequesArea=Check deposits area +ChequeDeposits=Check deposits +Cheques=Checks +DepositId=Id deposit +NbCheque=Number of checks +CreditNoteConvertedIntoDiscount=This %s has been converted into %s +UsBillingContactAsIncoiveRecipientIfExist=Use contact/address with type 'billing contact' instead of third-party address as recipient for invoices +ShowUnpaidAll=Show all unpaid invoices +ShowUnpaidLateOnly=Show late unpaid invoices only +PaymentInvoiceRef=Payment invoice %s +ValidateInvoice=Validate invoice +ValidateInvoices=Validate invoices +Cash=Cash +Reported=Delayed +DisabledBecausePayments=Not possible since there are some payments +CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid +CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid +CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +ExpectedToPay=Expected payment +CantRemoveConciliatedPayment=Can't remove reconciled payment +PayedByThisPayment=Paid by this payment +ClosePaidInvoicesAutomatically=Classify automatically all standard, down payment or replacement invoices as "Paid" when payment is done entirely. +ClosePaidCreditNotesAutomatically=Classify automatically all credit notes as "Paid" when refund is done entirely. +ClosePaidContributionsAutomatically=Classify automatically all social or fiscal contributions as "Paid" when payment is done entirely. +ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. +ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +AllCompletelyPayedInvoiceWillBeClosed=All invoices with no remainder to pay will be automatically closed with status "Paid". +ToMakePayment=Pay +ToMakePaymentBack=Pay back +ListOfYourUnpaidInvoices=List of unpaid invoices +NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. +RevenueStamp=Tax stamp +YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party +YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party +YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template +PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices +TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. +CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +EarlyClosingReason=Early closing reason +EarlyClosingComment=Early closing note +##### Types de contacts ##### +TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice +TypeContact_facture_external_BILLING=Customer invoice contact +TypeContact_facture_external_SHIPPING=Customer shipping contact +TypeContact_facture_external_SERVICE=Customer service contact +TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice +TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact +TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact +TypeContact_invoice_supplier_external_SERVICE=Vendor service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +PDFInvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +ErrorFindNextSituationInvoice=Error unable to find next situation cycle ref +ErrorOutingSituationInvoiceOnUpdate=Unable to outing this situation invoice. +ErrorOutingSituationInvoiceCreditNote=Unable to outing linked credit note. +NotLastInCycle=This invoice is not the latest in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +situationInvoiceShortcode_AS=AS +situationInvoiceShortcode_S=S +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No open situations +InvoiceSituationLast=Final and general invoice +PDFCrevetteSituationNumber=Situation N°%s +PDFCrevetteSituationInvoiceLineDecompte=Situation invoice - COUNT +PDFCrevetteSituationInvoiceTitle=Situation invoice +PDFCrevetteSituationInvoiceLine=Situation N°%s: Inv. N°%s on %s +TotalSituationInvoice=Total situation +invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line +updatePriceNextInvoiceErrorUpdateline=Error: update price on invoice line: %s +ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices. +ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu %s - %s - %s. +ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask your administrator to enable and setup module %s. Note that both methods (manual and automatic) can be used together with no risk of duplication. +DeleteRepeatableInvoice=Delete template invoice +ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice? +CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order) +BillCreated=%s invoice(s) generated +BillXCreated=Invoice %s generated +StatusOfGeneratedDocuments=Status of document generation +DoNotGenerateDoc=Do not generate document file +AutogenerateDoc=Auto generate document file +AutoFillDateFrom=Set start date for service line with invoice date +AutoFillDateFromShort=Set start date +AutoFillDateTo=Set end date for service line with next invoice date +AutoFillDateToShort=Set end date +MaxNumberOfGenerationReached=Max number of gen. reached +BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted +UnitPriceXQtyLessDiscount=Unit price x Qty - Discount +CustomersInvoicesArea=Customer billing area +SupplierInvoicesArea=Supplier billing area +FacParentLine=Invoice Line Parent +SituationTotalRayToRest=Remainder to pay without taxe +PDFSituationTitle=Situation n° %d +SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/ar_IQ/blockedlog.lang b/htdocs/langs/kk_KZ/blockedlog.lang similarity index 100% rename from htdocs/langs/ar_IQ/blockedlog.lang rename to htdocs/langs/kk_KZ/blockedlog.lang diff --git a/htdocs/langs/ar_IQ/bookmarks.lang b/htdocs/langs/kk_KZ/bookmarks.lang similarity index 100% rename from htdocs/langs/ar_IQ/bookmarks.lang rename to htdocs/langs/kk_KZ/bookmarks.lang diff --git a/htdocs/langs/ar_IQ/boxes.lang b/htdocs/langs/kk_KZ/boxes.lang similarity index 97% rename from htdocs/langs/ar_IQ/boxes.lang rename to htdocs/langs/kk_KZ/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/ar_IQ/boxes.lang +++ b/htdocs/langs/kk_KZ/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/ar_IQ/cashdesk.lang b/htdocs/langs/kk_KZ/cashdesk.lang similarity index 95% rename from htdocs/langs/ar_IQ/cashdesk.lang rename to htdocs/langs/kk_KZ/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/ar_IQ/cashdesk.lang +++ b/htdocs/langs/kk_KZ/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ar_IQ/categories.lang b/htdocs/langs/kk_KZ/categories.lang similarity index 100% rename from htdocs/langs/ar_IQ/categories.lang rename to htdocs/langs/kk_KZ/categories.lang diff --git a/htdocs/langs/ar_IQ/commercial.lang b/htdocs/langs/kk_KZ/commercial.lang similarity index 100% rename from htdocs/langs/ar_IQ/commercial.lang rename to htdocs/langs/kk_KZ/commercial.lang diff --git a/htdocs/langs/kk_KZ/companies.lang b/htdocs/langs/kk_KZ/companies.lang new file mode 100644 index 00000000000..fbe75f09ab0 --- /dev/null +++ b/htdocs/langs/kk_KZ/companies.lang @@ -0,0 +1,477 @@ +# Dolibarr language file - Source file is en_US - companies +ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. +ErrorSetACountryFirst=Set the country first +SelectThirdParty=Select a third party +ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +DeleteContact=Delete a contact/address +ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +MenuNewThirdParty=New Third Party +MenuNewCustomer=New Customer +MenuNewProspect=New Prospect +MenuNewSupplier=New Vendor +MenuNewPrivateIndividual=New private individual +NewCompany=New company (prospect, customer, vendor) +NewThirdParty=New Third Party (prospect, customer, vendor) +CreateDolibarrThirdPartySupplier=Create a third party (vendor) +CreateThirdPartyOnly=Create third party +CreateThirdPartyAndContact=Create a third party + a child contact +ProspectionArea=Prospection area +IdThirdParty=Id third party +IdCompany=Company Id +IdContact=Contact Id +ThirdPartyContacts=Third-party contacts +ThirdPartyContact=Third-party contact/address +Company=Company +CompanyName=Company name +AliasNames=Alias name (commercial, trademark, ...) +AliasNameShort=Alias Name +Companies=Companies +CountryIsInEEC=Country is inside the European Economic Community +PriceFormatInCurrentLanguage=Price display format in the current language and currency +ThirdPartyName=Third-party name +ThirdPartyEmail=Third-party email +ThirdParty=Third-party +ThirdParties=Third-parties +ThirdPartyProspects=Prospects +ThirdPartyProspectsStats=Prospects +ThirdPartyCustomers=Customers +ThirdPartyCustomersStats=Customers +ThirdPartyCustomersWithIdProf12=Customers with %s or %s +ThirdPartySuppliers=Vendors +ThirdPartyType=Third-party type +Individual=Private individual +ToCreateContactWithSameName=Will automatically create a contact/address with same information as the third party under the third party. In most cases, even if your third party is a physical person, creating a third party alone is enough. +ParentCompany=Parent company +Subsidiaries=Subsidiaries +ReportByMonth=Report per month +ReportByCustomers=Report per customer +ReportByThirdparties=Report per thirdparty +ReportByQuarter=Report per rate +CivilityCode=Civility code +RegisteredOffice=Registered office +Lastname=Last name +Firstname=First name +PostOrFunction=Job position +UserTitle=Title +NatureOfThirdParty=Nature of Third party +NatureOfContact=Nature of Contact +Address=Address +State=State/Province +StateCode=State/Province code +StateShort=State +Region=Region +Region-State=Region - State +Country=Country +CountryCode=Country code +CountryId=Country id +Phone=Phone +PhoneShort=Phone +Skype=Skype +Call=Call +Chat=Chat +PhonePro=Bus. phone +PhonePerso=Pers. phone +PhoneMobile=Mobile +No_Email=Refuse bulk emailings +Fax=Fax +Zip=Zip Code +Town=City +Web=Web +Poste= Position +DefaultLang=Default language +VATIsUsed=Sales tax used +VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers +VATIsNotUsed=Sales tax is not used +CopyAddressFromSoc=Copy address from third-party details +ThirdpartyNotCustomerNotSupplierSoNoRef=Third party neither customer nor vendor, no available referring objects +ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Third party neither customer nor vendor, discounts are not available +PaymentBankAccount=Payment bank account +OverAllProposals=Proposals +OverAllOrders=Orders +OverAllInvoices=Invoices +OverAllSupplierProposals=Price requests +##### Local Taxes ##### +LocalTax1IsUsed=Use second tax +LocalTax1IsUsedES= RE is used +LocalTax1IsNotUsedES= RE is not used +LocalTax2IsUsed=Use third tax +LocalTax2IsUsedES= IRPF is used +LocalTax2IsNotUsedES= IRPF is not used +WrongCustomerCode=Customer code invalid +WrongSupplierCode=Vendor code invalid +CustomerCodeModel=Customer code model +SupplierCodeModel=Vendor code model +Gencod=Barcode +##### Professional ID ##### +ProfId1Short=Prof. id 1 +ProfId2Short=Prof. id 2 +ProfId3Short=Prof. id 3 +ProfId4Short=Prof. id 4 +ProfId5Short=Prof. id 5 +ProfId6Short=Prof. id 6 +ProfId1=Professional ID 1 +ProfId2=Professional ID 2 +ProfId3=Professional ID 3 +ProfId4=Professional ID 4 +ProfId5=Professional ID 5 +ProfId6=Professional ID 6 +ProfId1AR=Prof Id 1 (CUIT/CUIL) +ProfId2AR=Prof Id 2 (Revenu brutes) +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AT=Prof Id 1 (USt.-IdNr) +ProfId2AT=Prof Id 2 (USt.-Nr) +ProfId3AT=Prof Id 3 (Handelsregister-Nr.) +ProfId4AT=- +ProfId5AT=EORI number +ProfId6AT=- +ProfId1AU=Prof Id 1 (ABN) +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- +ProfId1BE=Prof Id 1 (Professional number) +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=EORI number +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF +#ProfId5BR=CNAE +#ProfId6BR=INSS +ProfId1CH=UID-Nummer +ProfId2CH=- +ProfId3CH=Prof Id 1 (Federal number) +ProfId4CH=Prof Id 2 (Commercial Record number) +ProfId5CH=EORI number +ProfId6CH=- +ProfId1CL=Prof Id 1 (R.U.T.) +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- +ProfId1CO=Prof Id 1 (R.U.T.) +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- +ProfId1DE=Prof Id 1 (USt.-IdNr) +ProfId2DE=Prof Id 2 (USt.-Nr) +ProfId3DE=Prof Id 3 (Handelsregister-Nr.) +ProfId4DE=- +ProfId5DE=EORI number +ProfId6DE=- +ProfId1ES=Prof Id 1 (CIF/NIF) +ProfId2ES=Prof Id 2 (Social security number) +ProfId3ES=Prof Id 3 (CNAE) +ProfId4ES=Prof Id 4 (Collegiate number) +ProfId5ES=Prof Id 5 (EORI number) +ProfId6ES=- +ProfId1FR=Prof Id 1 (SIREN) +ProfId2FR=Prof Id 2 (SIRET) +ProfId3FR=Prof Id 3 (NAF, old APE) +ProfId4FR=Prof Id 4 (RCS/RM) +ProfId5FR=Prof Id 5 (numéro EORI) +ProfId6FR=- +ProfId1ShortFR=SIREN +ProfId2ShortFR=SIRET +ProfId3ShortFR=NAF +ProfId4ShortFR=RCS +ProfId5ShortFR=EORI +ProfId6ShortFR=- +ProfId1GB=Registration Number +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- +ProfId1HN=Id prof. 1 (RTN) +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- +ProfId1IN=Prof Id 1 (TIN) +ProfId2IN=Prof Id 2 (PAN) +ProfId3IN=Prof Id 3 (SRVC TAX) +ProfId4IN=Prof Id 4 +ProfId5IN=Prof Id 5 +ProfId6IN=- +ProfId1IT=- +ProfId2IT=- +ProfId3IT=- +ProfId4IT=- +ProfId5IT=EORI number +ProfId6IT=- +ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg) +ProfId2LU=Id. prof. 2 (Business permit) +ProfId3LU=- +ProfId4LU=- +ProfId5LU=EORI number +ProfId6LU=- +ProfId1MA=Id prof. 1 (R.C.) +ProfId2MA=Id prof. 2 (Patente) +ProfId3MA=Id prof. 3 (I.F.) +ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId5MA=Id prof. 5 (I.C.E.) +ProfId6MA=- +ProfId1MX=Prof Id 1 (R.F.C). +ProfId2MX=Prof Id 2 (R..P. IMSS) +ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- +ProfId1NL=KVK nummer +ProfId2NL=- +ProfId3NL=- +ProfId4NL=Burgerservicenummer (BSN) +ProfId5NL=EORI number +ProfId6NL=- +ProfId1PT=Prof Id 1 (NIPC) +ProfId2PT=Prof Id 2 (Social security number) +ProfId3PT=Prof Id 3 (Commercial Record number) +ProfId4PT=Prof Id 4 (Conservatory) +ProfId5PT=Prof Id 5 (EORI number) +ProfId6PT=- +ProfId1SN=RC +ProfId2SN=NINEA +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- +ProfId1TN=Prof Id 1 (RC) +ProfId2TN=Prof Id 2 (Fiscal matricule) +ProfId3TN=Prof Id 3 (Douane code) +ProfId4TN=Prof Id 4 (BAN) +ProfId5TN=- +ProfId6TN=- +ProfId1US=Prof Id (FEIN) +ProfId2US=- +ProfId3US=- +ProfId4US=- +ProfId5US=- +ProfId6US=- +ProfId1RO=Prof Id 1 (CUI) +ProfId2RO=Prof Id 2 (Nr. Înmatriculare) +ProfId3RO=Prof Id 3 (CAEN) +ProfId4RO=Prof Id 5 (EUID) +ProfId5RO=Prof Id 5 (EORI number) +ProfId6RO=- +ProfId1RU=Prof Id 1 (OGRN) +ProfId2RU=Prof Id 2 (INN) +ProfId3RU=Prof Id 3 (KPP) +ProfId4RU=Prof Id 4 (OKPO) +ProfId5RU=- +ProfId6RU=- +ProfId1DZ=RC +ProfId2DZ=Art. +ProfId3DZ=NIF +ProfId4DZ=NIS +VATIntra=VAT ID +VATIntraShort=VAT ID +VATIntraSyntaxIsValid=Syntax is valid +VATReturn=VAT return +ProspectCustomer=Prospect / Customer +Prospect=Prospect +CustomerCard=Customer Card +Customer=Customer +CustomerRelativeDiscount=Relative customer discount +SupplierRelativeDiscount=Relative vendor discount +CustomerRelativeDiscountShort=Relative discount +CustomerAbsoluteDiscountShort=Absolute discount +CompanyHasRelativeDiscount=This customer has a default discount of %s%% +CompanyHasNoRelativeDiscount=This customer has no relative discount by default +HasRelativeDiscountFromSupplier=You have a default discount of %s%% from this vendor +HasNoRelativeDiscountFromSupplier=You have no default relative discount from this vendor +CompanyHasAbsoluteDiscount=This customer has discounts available (credits notes or down payments) for %s %s +CompanyHasDownPaymentOrCommercialDiscount=This customer has discounts available (commercial, down payments) for %s %s +CompanyHasCreditNote=This customer still has credit notes for %s %s +HasNoAbsoluteDiscountFromSupplier=You have no discount credit available from this vendor +HasAbsoluteDiscountFromSupplier=You have discounts available (credits notes or down payments) for %s %s from this vendor +HasDownPaymentOrCommercialDiscountFromSupplier=You have discounts available (commercial, down payments) for %s %s from this vendor +HasCreditNoteFromSupplier=You have credit notes for %s %s from this vendor +CompanyHasNoAbsoluteDiscount=This customer has no discount credit available +CustomerAbsoluteDiscountAllUsers=Absolute customer discounts (granted by all users) +CustomerAbsoluteDiscountMy=Absolute customer discounts (granted by yourself) +SupplierAbsoluteDiscountAllUsers=Absolute vendor discounts (entered by all users) +SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) +DiscountNone=None +Vendor=Vendor +Supplier=Vendor +AddContact=Create contact +AddContactAddress=Create contact/address +EditContact=Edit contact +EditContactAddress=Edit contact/address +Contact=Contact/Address +Contacts=Contacts/Addresses +ContactId=Contact id +ContactsAddresses=Contacts/Addresses +FromContactName=Name: +NoContactDefinedForThirdParty=No contact defined for this third party +NoContactDefined=No contact defined +DefaultContact=Default contact/address +ContactByDefaultFor=Default contact/address for +AddThirdParty=Create third party +DeleteACompany=Delete a company +PersonalInformations=Personal data +AccountancyCode=Accounting account +CustomerCode=Customer Code +SupplierCode=Vendor Code +CustomerCodeShort=Customer Code +SupplierCodeShort=Vendor Code +CustomerCodeDesc=Customer Code, unique for all customers +SupplierCodeDesc=Vendor Code, unique for all vendors +RequiredIfCustomer=Required if third party is a customer or prospect +RequiredIfSupplier=Required if third party is a vendor +ValidityControledByModule=Validity controlled by the module +ThisIsModuleRules=Rules for this module +ProspectToContact=Prospect to contact +CompanyDeleted=Company "%s" deleted from database. +ListOfContacts=List of contacts/addresses +ListOfContactsAddresses=List of contacts/addresses +ListOfThirdParties=List of Third Parties +ShowCompany=Third Party +ShowContact=Contact-Address +ContactsAllShort=All (No filter) +ContactType=Contact type +ContactForOrders=Order's contact +ContactForOrdersOrShipments=Order's or shipment's contact +ContactForProposals=Proposal's contact +ContactForContracts=Contract's contact +ContactForInvoices=Invoice's contact +NoContactForAnyOrder=This contact is not a contact for any order +NoContactForAnyOrderOrShipments=This contact is not a contact for any order or shipment +NoContactForAnyProposal=This contact is not a contact for any commercial proposal +NoContactForAnyContract=This contact is not a contact for any contract +NoContactForAnyInvoice=This contact is not a contact for any invoice +NewContact=New contact +NewContactAddress=New Contact/Address +MyContacts=My contacts +Capital=Capital +CapitalOf=Capital of %s +EditCompany=Edit company +ThisUserIsNot=This user is not a prospect, customer or vendor +VATIntraCheck=Check +VATIntraCheckDesc=The VAT ID must include the country prefix. The link %s uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server. +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do +VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commission website +VATIntraManualCheck=You can also check manually on the European Commission website %s +ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). +NorProspectNorCustomer=Not prospect, nor customer +JuridicalStatus=Business entity type +Workforce=Workforce +Staff=Employees +ProspectLevelShort=Potential +ProspectLevel=Prospect potential +ContactPrivate=Private +ContactPublic=Shared +ContactVisibility=Visibility +ContactOthers=Other +OthersNotLinkedToThirdParty=Others, not linked to a third party +ProspectStatus=Prospect status +PL_NONE=None +PL_UNKNOWN=Unknown +PL_LOW=Low +PL_MEDIUM=Medium +PL_HIGH=High +TE_UNKNOWN=- +TE_STARTUP=Startup +TE_GROUP=Large company +TE_MEDIUM=Medium company +TE_ADMIN=Governmental +TE_SMALL=Small company +TE_RETAIL=Retailer +TE_WHOLE=Wholesaler +TE_PRIVATE=Private individual +TE_OTHER=Other +StatusProspect-1=Do not contact +StatusProspect0=Never contacted +StatusProspect1=To be contacted +StatusProspect2=Contact in process +StatusProspect3=Contact done +ChangeDoNotContact=Change status to 'Do not contact' +ChangeNeverContacted=Change status to 'Never contacted' +ChangeToContact=Change status to 'To be contacted' +ChangeContactInProcess=Change status to 'Contact in process' +ChangeContactDone=Change status to 'Contact done' +ProspectsByStatus=Prospects by status +NoParentCompany=None +ExportCardToFormat=Export card to format +ContactNotLinkedToCompany=Contact not linked to any third party +DolibarrLogin=Dolibarr login +NoDolibarrAccess=No Dolibarr access +ExportDataset_company_1=Third-parties (companies/foundations/physical people) and their properties +ExportDataset_company_2=Contacts and their properties +ImportDataset_company_1=Third-parties and their properties +ImportDataset_company_2=Third-parties additional contacts/addresses and attributes +ImportDataset_company_3=Third-parties Bank accounts +ImportDataset_company_4=Third-parties Sales representatives (assign sales representatives/users to companies) +PriceLevel=Price Level +PriceLevelLabels=Price Level Labels +DeliveryAddress=Delivery address +AddAddress=Add address +SupplierCategory=Vendor category +JuridicalStatus200=Independent +DeleteFile=Delete file +ConfirmDeleteFile=Are you sure you want to delete this file? +AllocateCommercial=Assigned to sales representative +Organization=Organization +FiscalYearInformation=Fiscal Year +FiscalMonthStart=Starting month of the fiscal year +SocialNetworksInformation=Social networks +SocialNetworksFacebookURL=Facebook URL +SocialNetworksTwitterURL=Twitter URL +SocialNetworksLinkedinURL=Linkedin URL +SocialNetworksInstagramURL=Instagram URL +SocialNetworksYoutubeURL=Youtube URL +SocialNetworksGithubURL=Github URL +YouMustAssignUserMailFirst=You must create an email for this user prior to being able to add an email notification. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party +ListSuppliersShort=List of Vendors +ListProspectsShort=List of Prospects +ListCustomersShort=List of Customers +ThirdPartiesArea=Third Parties/Contacts +LastModifiedThirdParties=Latest %s Third Parties which were modified +UniqueThirdParties=Total number of Third Parties +InActivity=Open +ActivityCeased=Closed +ThirdPartyIsClosed=Third party is closed +ProductsIntoElements=List of products/services mapped to %s +CurrentOutstandingBill=Current outstanding bill +OutstandingBill=Max. for outstanding bill +OutstandingBillReached=Max. for outstanding bill reached +OrderMinAmount=Minimum amount for order +MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +LeopardNumRefModelDesc=The code is free. This code can be modified at any time. +ManagingDirectors=Manager(s) name (CEO, director, president...) +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ThirdpartiesMergeSuccess=Third parties have been merged +SaleRepresentativeLogin=Login of sales representative +SaleRepresentativeFirstname=First name of sales representative +SaleRepresentativeLastname=Last name of sales representative +ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. +NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address +#Imports +PaymentTypeCustomer=Payment Type - Customer +PaymentTermsCustomer=Payment Terms - Customer +PaymentTypeSupplier=Payment Type - Vendor +PaymentTermsSupplier=Payment Term - Vendor +PaymentTypeBoth=Payment Type - Customer and Vendor +MulticurrencyUsed=Use Multicurrency +MulticurrencyCurrency=Currency +InEEC=Europe (EEC) +RestOfEurope=Rest of Europe (EEC) +OutOfEurope=Out of Europe (EEC) +CurrentOutstandingBillLate=Current outstanding bill late +BecarefullChangeThirdpartyBeforeAddProductToInvoice=Be carefull, depending on your product price settings, you should change thirdparty before adding product to POS. diff --git a/htdocs/langs/kk_KZ/compta.lang b/htdocs/langs/kk_KZ/compta.lang new file mode 100644 index 00000000000..8329346c163 --- /dev/null +++ b/htdocs/langs/kk_KZ/compta.lang @@ -0,0 +1,294 @@ +# Dolibarr language file - Source file is en_US - compta +MenuFinancial=Billing | Payment +TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation +TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation +OptionMode=Option for accountancy +OptionModeTrue=Option Incomes-Expenses +OptionModeVirtual=Option Claims-Debts +OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. +OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. +FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) +VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. +LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. +Param=Setup +RemainingAmountPayment=Amount payment remaining: +Account=Account +Accountparent=Parent account +Accountsparent=Parent accounts +Income=Income +Outcome=Expense +MenuReportInOut=Income / Expense +ReportInOut=Balance of income and expenses +ReportTurnover=Turnover invoiced +ReportTurnoverCollected=Turnover collected +PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party +PaymentsNotLinkedToUser=Payments not linked to any user +Profit=Profit +AccountingResult=Accounting result +BalanceBefore=Balance (before) +Balance=Balance +Debit=Debit +Credit=Credit +Piece=Accounting Doc. +AmountHTVATRealReceived=Net collected +AmountHTVATRealPaid=Net paid +VATToPay=Tax sales +VATReceived=Tax received +VATToCollect=Tax purchases +VATSummary=Tax monthly +VATBalance=Tax Balance +VATPaid=Tax paid +LT1Summary=Tax 2 summary +LT2Summary=Tax 3 summary +LT1SummaryES=RE Balance +LT2SummaryES=IRPF Balance +LT1SummaryIN=CGST Balance +LT2SummaryIN=SGST Balance +LT1Paid=Tax 2 paid +LT2Paid=Tax 3 paid +LT1PaidES=RE Paid +LT2PaidES=IRPF Paid +LT1PaidIN=CGST Paid +LT2PaidIN=SGST Paid +LT1Customer=Tax 2 sales +LT1Supplier=Tax 2 purchases +LT1CustomerES=RE sales +LT1SupplierES=RE purchases +LT1CustomerIN=CGST sales +LT1SupplierIN=CGST purchases +LT2Customer=Tax 3 sales +LT2Supplier=Tax 3 purchases +LT2CustomerES=IRPF sales +LT2SupplierES=IRPF purchases +LT2CustomerIN=SGST sales +LT2SupplierIN=SGST purchases +VATCollected=VAT collected +StatusToPay=To pay +SpecialExpensesArea=Area for all special payments +VATExpensesArea=Area for all TVA payments +SocialContribution=Social or fiscal tax +SocialContributions=Social or fiscal taxes +SocialContributionsDeductibles=Deductible social or fiscal taxes +SocialContributionsNondeductibles=Nondeductible social or fiscal taxes +DateOfSocialContribution=Date of social or fiscal tax +LabelContrib=Label contribution +TypeContrib=Type contribution +MenuSpecialExpenses=Special expenses +MenuTaxAndDividends=Taxes and dividends +MenuSocialContributions=Social/fiscal taxes +MenuNewSocialContribution=New social/fiscal tax +NewSocialContribution=New social/fiscal tax +AddSocialContribution=Add social/fiscal tax +ContributionsToPay=Social/fiscal taxes to pay +AccountancyTreasuryArea=Billing and payment area +NewPayment=New payment +PaymentCustomerInvoice=Customer invoice payment +PaymentSupplierInvoice=vendor invoice payment +PaymentSocialContribution=Social/fiscal tax payment +PaymentVat=VAT payment +AutomaticCreationPayment=Automatically record the payment +ListPayment=List of payments +ListOfCustomerPayments=List of customer payments +ListOfSupplierPayments=List of vendor payments +DateStartPeriod=Date start period +DateEndPeriod=Date end period +newLT1Payment=New tax 2 payment +newLT2Payment=New tax 3 payment +LT1Payment=Tax 2 payment +LT1Payments=Tax 2 payments +LT2Payment=Tax 3 payment +LT2Payments=Tax 3 payments +newLT1PaymentES=New RE payment +newLT2PaymentES=New IRPF payment +LT1PaymentES=RE Payment +LT1PaymentsES=RE Payments +LT2PaymentES=IRPF Payment +LT2PaymentsES=IRPF Payments +VATPayment=Sales tax payment +VATPayments=Sales tax payments +VATDeclarations=VAT declarations +VATDeclaration=VAT declaration +VATRefund=Sales tax refund +NewVATPayment=New sales tax payment +NewLocalTaxPayment=New tax %s payment +Refund=Refund +SocialContributionsPayments=Social/fiscal taxes payments +ShowVatPayment=Show VAT payment +TotalToPay=Total to pay +BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters) +CustomerAccountancyCode=Customer accounting code +SupplierAccountancyCode=Vendor accounting code +CustomerAccountancyCodeShort=Cust. account. code +SupplierAccountancyCodeShort=Sup. account. code +AccountNumber=Account number +NewAccountingAccount=New account +Turnover=Turnover invoiced +TurnoverCollected=Turnover collected +SalesTurnoverMinimum=Minimum turnover +ByExpenseIncome=By expenses & incomes +ByThirdParties=By third parties +ByUserAuthorOfInvoice=By invoice author +CheckReceipt=Check deposit +CheckReceiptShort=Check deposit +LastCheckReceiptShort=Latest %s check receipts +NewCheckReceipt=New discount +NewCheckDeposit=New check deposit +NewCheckDepositOn=Create receipt for deposit on account: %s +NoWaitingChecks=No checks awaiting deposit. +DateChequeReceived=Check receiving date +NbOfCheques=No. of checks +PaySocialContribution=Pay a social/fiscal tax +PayVAT=Pay a VAT declaration +PaySalary=Pay a salary card +ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? +ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? +ConfirmPaySalary=Are you sure you want to classify this salary card as paid? +DeleteSocialContribution=Delete a social or fiscal tax payment +DeleteVAT=Delete a VAT declaration +DeleteSalary=Delete a salary card +ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? +ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? +ConfirmDeleteSalary=Are you sure you want to delete this salary? +ExportDataset_tax_1=Social and fiscal taxes and payments +CalcModeVATDebt=Mode %sVAT on commitment accounting%s. +CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. +CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger. +CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger. +CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table. +CalcModeLT1= Mode %sRE on customer invoices - suppliers invoices%s +CalcModeLT1Debt=Mode %sRE on customer invoices%s +CalcModeLT1Rec= Mode %sRE on suppliers invoices%s +CalcModeLT2= Mode %sIRPF on customer invoices - suppliers invoices%s +CalcModeLT2Debt=Mode %sIRPF on customer invoices%s +CalcModeLT2Rec= Mode %sIRPF on suppliers invoices%s +AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary +AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary +AnnualByCompanies=Balance of income and expenses, by predefined groups of account +AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode %sClaims-Debts%s said Commitment accounting. +AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. +SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation based on recorded payments made even if they are not yet accounted in Ledger +SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger +SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table +RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. +RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    +RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    +RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. +RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" +RulesResultBookkeepingPredefined=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" +RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting accounts grouped by personalized groups +SeePageForSetup=See menu %s for setup +DepositsAreNotIncluded=- Down payment invoices are not included +DepositsAreIncluded=- Down payment invoices are included +LT1ReportByMonth=Tax 2 report by month +LT2ReportByMonth=Tax 3 report by month +LT1ReportByCustomers=Report tax 2 by third party +LT2ReportByCustomers=Report tax 3 by third party +LT1ReportByCustomersES=Report by third party RE +LT2ReportByCustomersES=Report by third party IRPF +VATReport=Sale tax report +VATReportByPeriods=Sale tax report by period +VATReportByMonth=Sale tax report by month +VATReportByRates=Sale tax report by rates +VATReportByThirdParties=Sale tax report by third parties +VATReportByCustomers=Sale tax report by customer +VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid +VATReportByQuartersInInputOutputMode=Report by Sale tax rate of the tax collected and paid +VATReportShowByRateDetails=Show details of this rate +LT1ReportByQuarters=Report tax 2 by rate +LT2ReportByQuarters=Report tax 3 by rate +LT1ReportByQuartersES=Report by RE rate +LT2ReportByQuartersES=Report by IRPF rate +SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation +SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow +RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. +RulesVATInProducts=- For material assets, the report includes the VAT received or issued on the basis of the date of payment. +RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. +RulesVATDueProducts=- For material assets, the report includes the VAT invoices, based on the invoice date. +OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. +ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values +PercentOfInvoice=%%/invoice +NotUsedForGoods=Not used on goods +ProposalStats=Statistics on proposals +OrderStats=Statistics on orders +InvoiceStats=Statistics on bills +Dispatch=Dispatching +Dispatched=Dispatched +ToDispatch=To dispatch +ThirdPartyMustBeEditAsCustomer=Third party must be defined as a customer +SellsJournal=Sales Journal +PurchasesJournal=Purchases Journal +DescSellsJournal=Sales Journal +DescPurchasesJournal=Purchases Journal +CodeNotDef=Not defined +WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module. +DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. +Pcg_version=Chart of accounts models +Pcg_type=Pcg type +Pcg_subtype=Pcg subtype +InvoiceLinesToDispatch=Invoice lines to dispatch +ByProductsAndServices=By product and service +RefExt=External ref +ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +LinkedOrder=Link to order +Mode1=Method 1 +Mode2=Method 2 +CalculationRuleDesc=To calculate total VAT, there is two methods:
    Method 1 is rounding vat on each line, then summing them.
    Method 2 is summing all vat on each line, then rounding result.
    Final result may differs from few cents. Default mode is mode %s. +CalculationRuleDescSupplier=According to vendor, choose appropriate method to apply same calculation rule and get same result expected by your vendor. +TurnoverPerProductInCommitmentAccountingNotRelevant=The report of Turnover collected per product is not available. This report is only available for turnover invoiced. +TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. +CalculationMode=Calculation mode +AccountancyJournal=Accounting code journal +ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for VAT on sales (used if not defined on VAT dictionary setup) +ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for VAT on purchases (used if not defined on VAT dictionary setup) +ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT +ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties +ACCOUNTING_ACCOUNT_CUSTOMER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated customer accounting account on third party is not defined. +ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for vendor third parties +ACCOUNTING_ACCOUNT_SUPPLIER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated vendor accounting account on third party is not defined. +ConfirmCloneTax=Confirm the clone of a social/fiscal tax +ConfirmCloneVAT=Confirm the clone of a VAT declaration +ConfirmCloneSalary=Confirm the clone of a salary +CloneTaxForNextMonth=Clone it for next month +SimpleReport=Simple report +AddExtraReport=Extra reports (add foreign and national customer report) +OtherCountriesCustomersReport=Foreign customers report +BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code +SameCountryCustomersWithVAT=National customers report +BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code +LinkedFichinter=Link to an intervention +ImportDataset_tax_contrib=Social/fiscal taxes +ImportDataset_tax_vat=Vat payments +ErrorBankAccountNotFound=Error: Bank account not found +FiscalPeriod=Accounting period +ListSocialContributionAssociatedProject=List of social contributions associated with the project +DeleteFromCat=Remove from accounting group +AccountingAffectation=Accounting assignment +LastDayTaxIsRelatedTo=Last day of period the tax is related to +VATDue=Sale tax claimed +ClaimedForThisPeriod=Claimed for the period +PaidDuringThisPeriod=Paid for this period +PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range +ByVatRate=By sale tax rate +TurnoverbyVatrate=Turnover invoiced by sale tax rate +TurnoverCollectedbyVatrate=Turnover collected by sale tax rate +PurchasebyVatrate=Purchase by sale tax rate +LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected +IncludeVarpaysInResults = Include various payments in reports +IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/ar_IQ/contracts.lang b/htdocs/langs/kk_KZ/contracts.lang similarity index 100% rename from htdocs/langs/ar_IQ/contracts.lang rename to htdocs/langs/kk_KZ/contracts.lang diff --git a/htdocs/langs/ar_IQ/cron.lang b/htdocs/langs/kk_KZ/cron.lang similarity index 98% rename from htdocs/langs/ar_IQ/cron.lang rename to htdocs/langs/kk_KZ/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/ar_IQ/cron.lang +++ b/htdocs/langs/kk_KZ/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/ar_IQ/deliveries.lang b/htdocs/langs/kk_KZ/deliveries.lang similarity index 92% rename from htdocs/langs/ar_IQ/deliveries.lang rename to htdocs/langs/kk_KZ/deliveries.lang index fdfd6404a8a..cd8a36e6c70 100644 --- a/htdocs/langs/ar_IQ/deliveries.lang +++ b/htdocs/langs/kk_KZ/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Not Shippable ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ar_IQ/dict.lang b/htdocs/langs/kk_KZ/dict.lang similarity index 100% rename from htdocs/langs/ar_IQ/dict.lang rename to htdocs/langs/kk_KZ/dict.lang diff --git a/htdocs/langs/ar_IQ/donations.lang b/htdocs/langs/kk_KZ/donations.lang similarity index 100% rename from htdocs/langs/ar_IQ/donations.lang rename to htdocs/langs/kk_KZ/donations.lang diff --git a/htdocs/langs/ar_IQ/ecm.lang b/htdocs/langs/kk_KZ/ecm.lang similarity index 100% rename from htdocs/langs/ar_IQ/ecm.lang rename to htdocs/langs/kk_KZ/ecm.lang diff --git a/htdocs/langs/ar_IQ/errors.lang b/htdocs/langs/kk_KZ/errors.lang similarity index 98% rename from htdocs/langs/ar_IQ/errors.lang rename to htdocs/langs/kk_KZ/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/ar_IQ/errors.lang +++ b/htdocs/langs/kk_KZ/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ar_IQ/eventorganization.lang b/htdocs/langs/kk_KZ/eventorganization.lang similarity index 67% rename from htdocs/langs/ar_IQ/eventorganization.lang rename to htdocs/langs/kk_KZ/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/ar_IQ/eventorganization.lang +++ b/htdocs/langs/kk_KZ/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/kk_KZ/exports.lang b/htdocs/langs/kk_KZ/exports.lang new file mode 100644 index 00000000000..cb652229825 --- /dev/null +++ b/htdocs/langs/kk_KZ/exports.lang @@ -0,0 +1,137 @@ +# Dolibarr language file - Source file is en_US - exports +ExportsArea=Exports +ImportArea=Import +NewExport=New Export +NewImport=New Import +ExportableDatas=Exportable dataset +ImportableDatas=Importable dataset +SelectExportDataSet=Choose dataset you want to export... +SelectImportDataSet=Choose dataset you want to import... +SelectExportFields=Choose the fields you want to export, or select a predefined export profile +SelectImportFields=Choose the source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: +NotImportedFields=Fields of source file not imported +SaveExportModel=Save your selections as an export profile/template (for reuse). +SaveImportModel=Save this import profile (for reuse) ... +ExportModelName=Export profile name +ExportModelSaved=Export profile saved as %s. +ExportableFields=Exportable fields +ExportedFields=Exported fields +ImportModelName=Import profile name +ImportModelSaved=Import profile saved as %s. +DatasetToExport=Dataset to export +DatasetToImport=Import file into dataset +ChooseFieldsOrdersAndTitle=Choose fields order... +FieldsTitle=Fields title +FieldTitle=Field title +NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... +AvailableFormats=Available Formats +LibraryShort=Library +ExportCsvSeparator=Csv caracter separator +ImportCsvSeparator=Csv caracter separator +Step=Step +FormatedImport=Import Assistant +FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. +FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. +FormatedExport=Export Assistant +FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. +FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. +FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. +Sheet=Sheet +NoImportableData=No importable data (no module with definitions to allow data imports) +FileSuccessfullyBuilt=File generated +SQLUsedForExport=SQL Request used to extract data +LineId=Id of line +LineLabel=Label of line +LineDescription=Description of line +LineUnitPrice=Unit price of line +LineVATRate=VAT Rate of line +LineQty=Quantity for line +LineTotalHT=Amount excl. tax for line +LineTotalTTC=Amount with tax for line +LineTotalVAT=Amount of VAT for line +TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) +FileWithDataToImport=File with data to import +FileToImport=Source file to import +FileMustHaveOneOfFollowingFormat=File to import must have one of following formats +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields +ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... +ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +SourceFileFormat=Source file format +FieldsInSourceFile=Fields in source file +FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) +Field=Field +NoFields=No fields +MoveField=Move field column number %s +ExampleOfImportFile=Example_of_import_file +SaveImportProfile=Save this import profile +ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name. +TablesTarget=Targeted tables +FieldsTarget=Targeted fields +FieldTarget=Targeted field +FieldSource=Source field +NbOfSourceLines=Number of lines in source file +NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
    Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
    No data will be changed in your database. +RunSimulateImportFile=Run Import Simulation +FieldNeedSource=This field requires data from the source file +SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file +InformationOnSourceFile=Information on source file +InformationOnTargetTables=Information on target fields +SelectAtLeastOneField=Switch at least one source field in the column of fields to export +SelectFormat=Choose this import file format +RunImportFile=Import Data +NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
    When the simulation reports no errors you may proceed to import the data into the database. +DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. +ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. +TooMuchErrors=There are still %s other source lines with errors but output has been limited. +TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. +EmptyLine=Empty line (will be discarded) +CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. +FileWasImported=File was imported with number %s. +YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. +NbOfLinesOK=Number of lines with no errors and no warnings: %s. +NbOfLinesImported=Number of lines successfully imported: %s. +DataComeFromNoWhere=Value to insert comes from nowhere in source file. +DataComeFromFileFieldNb=Value to insert comes from field number %s in source file. +DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). +DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. +DataIsInsertedInto=Data coming from source file will be inserted into the following field: +DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: +DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: +SourceRequired=Data value is mandatory +SourceExample=Example of possible data value +ExampleAnyRefFoundIntoElement=Any ref found for element %s +ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +CSVFormatDesc=Comma Separated Value file format (.csv).
    This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. +Excel95FormatDesc=Excel file format (.xls)
    This is the native Excel 95 format (BIFF5). +Excel2007FormatDesc=Excel file format (.xlsx)
    This is the native Excel 2007 format (SpreadsheetML). +TsvFormatDesc=Tab Separated Value file format (.tsv)
    This is a text file format where fields are separated by a tabulator [tab]. +ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). +CsvOptions=CSV format options +Separator=Field Separator +Enclosure=String Delimiter +SpecialCode=Special code +ExportStringFilter=%% allows replacing one or more characters in the text +ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
    > YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
    < YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days +ExportNumericFilter=NNNNN filters by one value
    NNNNN+NNNNN filters over a range of values
    < NNNNN filters by lower values
    > NNNNN filters by higher values +ImportFromLine=Import starting from line number +EndAtLineNb=End at line number +ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). +SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
    If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. +KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. +SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import +UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) +NoUpdateAttempt=No update attempt was performed, only insert +ImportDataset_user_1=Users (employees or not) and properties +ComputedField=Computed field +## filters +SelectFilterFields=If you want to filter on some values, just input values here. +FilteredFields=Filtered fields +FilteredFieldsValues=Value for filter +FormatControlRule=Format control rule +## imports updates +KeysToUseForUpdates=Key (column) to use for updating existing data +NbInsert=Number of inserted lines: %s +NbUpdate=Number of updated lines: %s +MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s +StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number diff --git a/htdocs/langs/ar_IQ/externalsite.lang b/htdocs/langs/kk_KZ/externalsite.lang similarity index 100% rename from htdocs/langs/ar_IQ/externalsite.lang rename to htdocs/langs/kk_KZ/externalsite.lang diff --git a/htdocs/langs/ar_IQ/ftp.lang b/htdocs/langs/kk_KZ/ftp.lang similarity index 100% rename from htdocs/langs/ar_IQ/ftp.lang rename to htdocs/langs/kk_KZ/ftp.lang diff --git a/htdocs/langs/ar_IQ/help.lang b/htdocs/langs/kk_KZ/help.lang similarity index 100% rename from htdocs/langs/ar_IQ/help.lang rename to htdocs/langs/kk_KZ/help.lang diff --git a/htdocs/langs/ar_IQ/holiday.lang b/htdocs/langs/kk_KZ/holiday.lang similarity index 98% rename from htdocs/langs/ar_IQ/holiday.lang rename to htdocs/langs/kk_KZ/holiday.lang index 2393a02ee50..0527f4c0788 100644 --- a/htdocs/langs/ar_IQ/holiday.lang +++ b/htdocs/langs/kk_KZ/holiday.lang @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ar_IQ/hrm.lang b/htdocs/langs/kk_KZ/hrm.lang similarity index 92% rename from htdocs/langs/ar_IQ/hrm.lang rename to htdocs/langs/kk_KZ/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/ar_IQ/hrm.lang +++ b/htdocs/langs/kk_KZ/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/ar_IQ/install.lang b/htdocs/langs/kk_KZ/install.lang similarity index 99% rename from htdocs/langs/ar_IQ/install.lang rename to htdocs/langs/kk_KZ/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/ar_IQ/install.lang +++ b/htdocs/langs/kk_KZ/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ar_IQ/interventions.lang b/htdocs/langs/kk_KZ/interventions.lang similarity index 99% rename from htdocs/langs/ar_IQ/interventions.lang rename to htdocs/langs/kk_KZ/interventions.lang index 51079fca278..ef5df43e546 100644 --- a/htdocs/langs/ar_IQ/interventions.lang +++ b/htdocs/langs/kk_KZ/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template -Reopen=Reopen ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/ar_IQ/intracommreport.lang b/htdocs/langs/kk_KZ/intracommreport.lang similarity index 100% rename from htdocs/langs/ar_IQ/intracommreport.lang rename to htdocs/langs/kk_KZ/intracommreport.lang diff --git a/htdocs/langs/ar_IQ/knowledgemanagement.lang b/htdocs/langs/kk_KZ/knowledgemanagement.lang similarity index 87% rename from htdocs/langs/ar_IQ/knowledgemanagement.lang rename to htdocs/langs/kk_KZ/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/ar_IQ/knowledgemanagement.lang +++ b/htdocs/langs/kk_KZ/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/ar_IQ/languages.lang b/htdocs/langs/kk_KZ/languages.lang similarity index 94% rename from htdocs/langs/ar_IQ/languages.lang rename to htdocs/langs/kk_KZ/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/ar_IQ/languages.lang +++ b/htdocs/langs/kk_KZ/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/ar_IQ/ldap.lang b/htdocs/langs/kk_KZ/ldap.lang similarity index 100% rename from htdocs/langs/ar_IQ/ldap.lang rename to htdocs/langs/kk_KZ/ldap.lang diff --git a/htdocs/langs/ar_IQ/link.lang b/htdocs/langs/kk_KZ/link.lang similarity index 100% rename from htdocs/langs/ar_IQ/link.lang rename to htdocs/langs/kk_KZ/link.lang diff --git a/htdocs/langs/ar_IQ/loan.lang b/htdocs/langs/kk_KZ/loan.lang similarity index 100% rename from htdocs/langs/ar_IQ/loan.lang rename to htdocs/langs/kk_KZ/loan.lang diff --git a/htdocs/langs/ar_IQ/mailmanspip.lang b/htdocs/langs/kk_KZ/mailmanspip.lang similarity index 100% rename from htdocs/langs/ar_IQ/mailmanspip.lang rename to htdocs/langs/kk_KZ/mailmanspip.lang diff --git a/htdocs/langs/ar_IQ/mails.lang b/htdocs/langs/kk_KZ/mails.lang similarity index 98% rename from htdocs/langs/ar_IQ/mails.lang rename to htdocs/langs/kk_KZ/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/ar_IQ/mails.lang +++ b/htdocs/langs/kk_KZ/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/kk_KZ/main.lang b/htdocs/langs/kk_KZ/main.lang new file mode 100644 index 00000000000..6c1ef6aa659 --- /dev/null +++ b/htdocs/langs/kk_KZ/main.lang @@ -0,0 +1,1151 @@ +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +# Note for Chinese: +# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) +# stsongstdlight or cid0cs are for simplified Chinese +# To read Chinese pdf with Linux: sudo apt-get install poppler-data +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 +SeparatorDecimal=. +SeparatorThousand=, +FormatDateShort=%m/%d/%Y +FormatDateShortInput=%m/%d/%Y +FormatDateShortJava=MM/dd/yyyy +FormatDateShortJavaInput=MM/dd/yyyy +FormatDateShortJQuery=mm/dd/yy +FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%I:%M %p +FormatHourShortDuration=%H:%M +FormatDateTextShort=%b %d, %Y +FormatDateText=%B %d, %Y +FormatDateHourShort=%m/%d/%Y %I:%M %p +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p +FormatDateHourTextShort=%b %d, %Y, %I:%M %p +FormatDateHourText=%B %d, %Y, %I:%M %p +DatabaseConnection=Database connection +NoTemplateDefined=No template available for this email type +AvailableVariables=Available substitution variables +NoTranslation=No translation +Translation=Translation +CurrentTimeZone=TimeZone PHP (server) +EmptySearchString=Enter non empty search criterias +EnterADateCriteria=Enter a date criteria +NoRecordFound=No record found +NoRecordDeleted=No record deleted +NotEnoughDataYet=Not enough data +NoError=No error +Error=Error +Errors=Errors +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Cannot create dir %s +ErrorCanNotReadDir=Cannot read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Organization' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post the form again. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child record. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available at the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. Changes have been rolled back. +ErrorConfigParameterNotDefined=Parameter %s is not defined in the Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +ErrorCannotAddThisParentWarehouse=You are trying to add a parent warehouse which is already a child of a existing warehouse +MaxNbOfRecordPerPage=Max. number of records per page +NotAuthorized=You are not authorized to do that. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +ClickHere=Click here +Here=Here +Apply=Apply +BackgroundColorByDefault=Default background color +FileRenamed=The file was successfully renamed +FileGenerated=The file was successfully generated +FileSaved=The file was successfully saved +FileUploaded=The file was successfully uploaded +FileTransferComplete=File(s) uploaded successfully +FilesDeleted=File(s) successfully deleted +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=No. of entries +GoToWikiHelpPage=Read online help (Internet access needed) +GoToHelpPage=Read help +DedicatedPageAvailable=There is a dedicated help page related to your current screen +HomePage=Home Page +RecordSaved=Record saved +RecordDeleted=Record deleted +RecordGenerated=Record generated +LevelOfFeature=Level of features +NotDefined=Not defined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is set to %s in configuration file conf.php.
    This means that the password database is external to Dolibarr, so changing this field may have no effect. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten? +NoAccount=No account? +SeeAbove=See above +HomeArea=Home +LastConnexion=Last login +PreviousConnexion=Previous login +PreviousValue=Previous value +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentication mode +RequestedUrl=Requested URL +DatabaseTypeManager=Database type manager +RequestLastAccessInError=Latest database access request error +ReturnCodeLastAccessInError=Return code for latest database access request error +InformationLastAccessInError=Information for latest database access request error +DolibarrHasDetectedError=Dolibarr has detected a technical error +YouCanSetOptionDolibarrMainProdToZero=You can read log file or set option $dolibarr_main_prod to '0' in your config file to get more information. +InformationToHelpDiagnose=This information can be useful for diagnostic purposes (you can set option $dolibarr_main_prod to '1' to remove such notices) +MoreInformation=More information +TechnicalInformation=Technical information +TechnicalID=Technical ID +LineID=Line ID +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +NoFilter=No filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance time. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +MediaBrowser=Media browser +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +SelectedPeriod=Selected period +PreviousPeriod=Previous period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +NotClosed=Not closed +Enabled=Enabled +Enable=Enable +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +RemoveLink=Remove link +AddToDraft=Add to draft +Update=Update +Close=Close +CloseAs=Set status to +CloseBox=Remove widget from your dashboard +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send the content of this card by mail to %s? +Delete=Delete +Remove=Remove +Resiliate=Terminate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ValidateAndApprove=Validate and Approve +ToValidate=To validate +NotValidated=Not validated +Save=Save +SaveAs=Save As +SaveAndStay=Save and stay +SaveAndNew=Save and new +TestConnection=Test connection +ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? +ConfirmClone=Choose the data you want to clone: +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +Hide=Hide +ShowCardHere=Show card +Search=Search +SearchOf=Search +SearchMenuShortCut=Ctrl + shift + f +QuickAdd=Quick add +QuickAddMenuShortCut=Ctrl + shift + l +Valid=Valid +Approve=Approve +Disapprove=Disapprove +ReOpen=Re-Open +Upload=Upload +ToLink=Link +Select=Select +SelectAll=Select all +Choose=Choose +Resize=Resize +ResizeOrCrop=Resize or Crop +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +NameSlashCompany=Name / Company +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +PersonalValue=Personal value +NewObject=New %s +NewValue=New value +OldValue=Old value %s +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +DescriptionOfLine=Description of line +DateOfLine=Date of line +DurationOfLine=Duration of line +Model=Doc template +DefaultModel=Default doc template +Action=Event +About=About +Number=Number +NumberByMonth=Total reports by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Login +Setup=Setup +Alert=Alert +MenuWarnings=Alerts +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +HourStart=Start hour +Deadline=Deadline +Date=Date +DateAndHour=Date and hour +DateToday=Today's date +DateReference=Reference date +DateStart=Start date +DateEnd=End date +DateCreation=Creation date +DateCreationShort=Creat. date +IPCreation=Creation IP +DateModification=Modification date +DateModificationShort=Modif. date +IPModification=Modification IP +DateLastModification=Latest modification date +DateValidation=Validation date +DateSigning=Signing date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DateBuild=Report build date +DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) +RegistrationDate=Registration date +UserCreation=Creation user +UserModification=Modification user +UserValidation=Validation user +UserCreationShort=Creat. user +UserModificationShort=Modif. user +UserValidationShort=Valid. user +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +WeekShort=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +DaysOfWeek=Days of week +HourShort=H +MinuteShort=mn +Rate=Rate +CurrencyRate=Currency conversion rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +UserAuthor=Ceated by +UserModif=Updated by +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultValues=Default values/filters/sorting +Price=Price +PriceCurrency=Price (currency) +UnitPrice=Unit price +UnitPriceHT=Unit price (excl.) +UnitPriceHTCurrency=Unit price (excl.) (currency) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +PriceUHTCurrency=U.P (net) (currency) +PriceUTTC=U.P. (inc. tax) +Amount=Amount +AmountInvoice=Invoice amount +AmountInvoiced=Amount invoiced +AmountInvoicedHT=Amount invoiced (excl. tax) +AmountInvoicedTTC=Amount invoiced (inc. tax) +AmountPayment=Payment amount +AmountHTShort=Amount (excl.) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (excl. tax) +AmountTTC=Amount (inc. tax) +AmountVAT=Amount tax +MulticurrencyAlreadyPaid=Already paid, original currency +MulticurrencyRemainderToPay=Remain to pay, original currency +MulticurrencyPaymentAmount=Payment amount, original currency +MulticurrencyAmountHT=Amount (excl. tax), original currency +MulticurrencyAmountTTC=Amount (inc. of tax), original currency +MulticurrencyAmountVAT=Amount tax, original currency +MulticurrencySubPrice=Amount sub price multi currency +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyMinHT=Price quantity min. (excl. tax) +PriceQtyMinHTCurrency=Price quantity min. (excl. tax) (currency) +PercentOfOriginalObject=Percent of original object +AmountOrPercent=Amount or percent +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (excl.) +TotalHT100Short=Total 100%% (excl.) +TotalHTShortCurrency=Total (excl. in currency) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (excl. tax) +TotalHTforthispage=Total (excl. tax) for this page +Totalforthispage=Total for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit +TotalVAT=Total tax +TotalVATIN=Total IGST +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +TotalLT1IN=Total CGST +TotalLT2IN=Total SGST +HT=Excl. tax +TTC=Inc. tax +INCVATONLY=Inc. VAT +INCT=Inc. all taxes +VAT=Sales tax +VATIN=IGST +VATs=Sales taxes +VATINs=IGST taxes +LT1=Sales tax 2 +LT1Type=Sales tax 2 type +LT2=Sales tax 3 +LT2Type=Sales tax 3 type +LT1ES=RE +LT2ES=IRPF +LT1IN=CGST +LT2IN=SGST +LT1GC=Additionnal cents +VATRate=Tax Rate +RateOfTaxN=Rate of tax %s +VATCode=Tax Rate code +VATNPR=Tax Rate NPR +DefaultTaxRate=Default tax rate +Average=Average +Sum=Sum +Delta=Delta +StatusToPay=To pay +RemainToPay=Remain to pay +Module=Module/Application +Modules=Modules/Applications +Option=Option +Filters=Filters +List=List +FullList=Full list +FullConversation=Full conversation +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. vendor +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsToDoShort=To do +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=In progress +ActionDoneShort=Finished +ActionUncomplete=Incomplete +LatestLinkedEvents=Latest %s linked events +CompanyFoundation=Company/Organization +Accountant=Accountant +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events for this third party +ActionsOnContact=Events for this contact/address +ActionsOnContract=Events for this contract +ActionsOnMember=Events about this member +ActionsOnProduct=Events about this product +NActionsLate=%s late +ToDo=To do +Completed=Completed +Running=In progress +RequestAlreadyDone=Request already recorded +Filter=Filter +FilterOnInto=Search criteria '%s' into fields %s +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +DolibarrStateBoard=Database Statistics +DolibarrWorkBoard=Open Items +NoOpenedElementToProcess=No open element to process +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Categories=Tags/categories +Category=Tag/category +By=By +From=From +FromDate=From +FromLocation=From +to=to +To=to +ToDate=to +ToLocation=to +at=at +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other information +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalculate +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +StatusInterInvoiced=Invoiced +Validated=Validated +ValidatedToProduce=Validated (To produce) +Opened=Open +OpenAll=Open (All) +ClosedAll=Closed (All) +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +OriginalSize=Original size +Received=Received +Paid=Paid +Topic=Subject +ByCompanies=By third parties +ByUsers=By user +Links=Links +Link=Link +Rejects=Rejects +Preview=Preview +NextStep=Next step +Datas=Data +None=None +NoneF=None +NoneOrSeveral=None or several +Late=Late +LateDesc=An item is defined as Delayed as per the system configuration in menu Home - Setup - Alerts. +NoItemLate=No late item +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +Login=Login +LoginEmail=Login (email) +LoginOrEmail=Login or Email +CurrentLogin=Current login +EnterLoginDetail=Enter login details +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +MonthVeryShort01=J +MonthVeryShort02=F +MonthVeryShort03=M +MonthVeryShort04=A +MonthVeryShort05=M +MonthVeryShort06=J +MonthVeryShort07=J +MonthVeryShort08=A +MonthVeryShort09=S +MonthVeryShort10=O +MonthVeryShort11=N +MonthVeryShort12=D +AttachedFiles=Attached files and documents +JoinMainDoc=Join main document +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Keyword +Origin=Origin +Legend=Legend +Fill=Fill +Reset=Reset +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfObjectReferers=Number of related items +Referers=Related items +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Uncheck=Uncheck +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildDoc=Build Doc +Entity=Environment +Entities=Entities +CustomerPreview=Customer preview +SupplierPreview=Vendor preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show vendor preview +RefCustomer=Ref. customer +InternalRef=Internal ref. +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +SeeAll=See all +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Response=Response +Priority=Priority +SendByMail=Send by email +MailSentBy=Email sent by +NotSent=Not sent +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send confirmation email +SendMail=Send email +Email=Email +NoEMail=No email +AlreadyRead=Already read +NotRead=Unread +NoMobilePhone=No mobile phone +Owner=Owner +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +BackToTree=Back to tree +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +ValueIsValid=Value is valid +ValueIsNotValid=Value is not valid +RecordCreatedSuccessfully=Record created successfully +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s record(s) modified +RecordsDeleted=%s record(s) deleted +RecordsGenerated=%s record(s) generated +AutomaticCode=Automatic code +FeatureDisabled=Feature disabled +MoveBox=Move widget +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +CompleteOrNoMoreReceptionExpected=Complete or nothing more expected +ExpectedValue=Expected Value +ExpectedQty=Expected Qty +PartialWoman=Partial +TotalWoman=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries +YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s +YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record in module setup +Color=Color +Documents=Linked files +Documents2=Documents +UploadDisabled=Upload disabled +MenuAccountancy=Accounting +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +MenuTaxesAndSpecialExpenses=Taxes | Special expenses +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +NoFileFound=No documents uploaded +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +Browser=Browser +Layout=Layout +Screen=Screen +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +DateOfSignature=Date of signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +RootOfMedias=Root of public medias (/medias) +Informations=Information +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +FreeZone=Free-text product +FreeLineOfType=Free-text item, type: +CloneMainAttributes=Clone object with its main attributes +ReGeneratePDF=Re-generate PDF +PDFMerge=PDF Merge +Merge=Merge +DocumentModelStandardPDF=Standard PDF template +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +WarningYouAreInMaintenanceMode=Warning, you are in maintenance mode: only login %s is allowed to use the application in this mode. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Contact your system administrator to check the logs or disable $dolibarr_main_prod=1 to get more information. +CreditCard=Credit card +ValidatePayment=Validate payment +CreditOrDebitCard=Credit or debit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown in public list of members. If you don't want this, uncheck the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP conversion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Item must be validated before using this feature +Visibility=Visibility +Totalizable=Totalizable +TotalizableDesc=This field is totalizable in list +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +URLPhoto=URL of photo/logo +SetLinkToAnotherThirdParty=Link to another third party +LinkTo=Link to +LinkToProposal=Link to proposal +LinkToOrder=Link to order +LinkToInvoice=Link to invoice +LinkToTemplateInvoice=Link to template invoice +LinkToSupplierOrder=Link to purchase order +LinkToSupplierProposal=Link to vendor proposal +LinkToSupplierInvoice=Link to vendor invoice +LinkToContract=Link to contract +LinkToIntervention=Link to intervention +LinkToTicket=Link to ticket +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ClickToRefresh=Click to refresh +EditWithEditor=Edit with CKEditor +EditWithTextEditor=Edit with Text editor +EditHTMLSource=Edit HTML Source +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +NoResults=No results +AdminTools=Admin Tools +SystemTools=System tools +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +Dashboard=Dashboard +MyDashboard=My Dashboard +Deductible=Deductible +from=from +toward=toward +Access=Access +SelectAction=Select action +SelectTargetUser=Select target user/employee +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +ShowMoreLines=Show more/less lines +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClick=Select an element and click on %s +PrintFile=Print File %s +ShowTransaction=Show entry on bank account +ShowIntervention=Show intervention +ShowContract=Show contract +GoIntoSetupToChangeLogo=Go to Home - Setup - Company to change logo or go to Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOf=List of %s +ListOfTemplates=List of templates +Gender=Gender +Genderman=Male +Genderwoman=Female +Genderother=Other +ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view +Mandatory=Mandatory +Hello=Hello +GoodBye=GoodBye +Sincerely=Sincerely +ConfirmDeleteObject=Are you sure you want to delete this object? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line? +ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. +NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record +TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records. +NoRecordSelected=No record selected +MassFilesArea=Area for files built by mass actions +ShowTempMassFilesArea=Show area of files built by mass actions +ConfirmMassDeletion=Bulk Delete confirmation +ConfirmMassDeletionQuestion=Are you sure you want to delete the %s selected record(s)? +RelatedObjects=Related Objects +ClassifyBilled=Classify billed +ClassifyUnbilled=Classify unbilled +Progress=Progress +ProgressShort=Progr. +FrontOffice=Front office +BackOffice=Back office +Submit=Submit +View=View +Export=Export +Exports=Exports +ExportFilteredList=Export filtered list +ExportList=Export list +ExportOptions=Export Options +IncludeDocsAlreadyExported=Include docs already exported +ExportOfPiecesAlreadyExportedIsEnable=Export of pieces already exported is enable +ExportOfPiecesAlreadyExportedIsDisable=Export of pieces already exported is disable +AllExportedMovementsWereRecordedAsExported=All exported movements were recorded as exported +NotAllExportedMovementsCouldBeRecordedAsExported=Not all exported movements could be recorded as exported +Miscellaneous=Miscellaneous +Calendar=Calendar +GroupBy=Group by... +ViewFlatList=View flat list +ViewAccountList=View ledger +ViewSubAccountList=View subaccount ledger +RemoveString=Remove string '%s' +SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at https://transifex.com/projects/p/dolibarr/ to add your improvements. +DirectDownloadLink=Public download link +PublicDownloadLinkDesc=Only the link is required to download the file +DirectDownloadInternalLink=Private download link +PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +Download=Download +DownloadDocument=Download document +ActualizeCurrency=Update currency rate +Fiscalyear=Fiscal year +ModuleBuilder=Module and Application Builder +SetMultiCurrencyCode=Set currency +BulkActions=Bulk actions +ClickToShowHelp=Click to show tooltip help +WebSite=Website +WebSites=Websites +WebSiteAccounts=Website accounts +ExpenseReport=Expense report +ExpenseReports=Expense reports +HR=HR +HRAndBank=HR and Bank +AutomaticallyCalculated=Automatically calculated +TitleSetToDraft=Go back to draft +ConfirmSetToDraft=Are you sure you want to go back to Draft status? +ImportId=Import id +Events=Events +EMailTemplates=Email templates +FileNotShared=File not shared to external public +Project=Project +Projects=Projects +LeadOrProject=Lead | Project +LeadsOrProjects=Leads | Projects +Lead=Lead +Leads=Leads +ListOpenLeads=List open leads +ListOpenProjects=List open projects +NewLeadOrProject=New lead or project +Rights=Permissions +LineNb=Line no. +IncotermLabel=Incoterms +TabLetteringCustomer=Customer lettering +TabLetteringSupplier=Vendor lettering +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S +one=one +two=two +three=three +four=four +five=five +six=six +seven=seven +eight=eight +nine=nine +ten=ten +eleven=eleven +twelve=twelve +thirteen=thirdteen +fourteen=fourteen +fifteen=fifteen +sixteen=sixteen +seventeen=seventeen +eighteen=eighteen +nineteen=nineteen +twenty=twenty +thirty=thirty +forty=forty +fifty=fifty +sixty=sixty +seventy=seventy +eighty=eighty +ninety=ninety +hundred=hundred +thousand=thousand +million=million +billion=billion +trillion=trillion +quadrillion=quadrillion +SelectMailModel=Select an email template +SetRef=Set ref +Select2ResultFoundUseArrows=Some results found. Use arrows to select. +Select2NotFound=No result found +Select2Enter=Enter +Select2MoreCharacter=or more character +Select2MoreCharacters=or more characters +Select2MoreCharactersMore=Search syntax:
    | OR (a|b)
    * Any character (a*b)
    ^ Start with (^ab)
    $ End with (ab$)
    +Select2LoadingMoreResults=Loading more results... +Select2SearchInProgress=Search in progress... +SearchIntoThirdparties=Third parties +SearchIntoContacts=Contacts +SearchIntoMembers=Members +SearchIntoUsers=Users +SearchIntoProductsOrServices=Products or services +SearchIntoBatch=Lots / Serials +SearchIntoProjects=Projects +SearchIntoMO=Manufacturing Orders +SearchIntoTasks=Tasks +SearchIntoCustomerInvoices=Customer invoices +SearchIntoSupplierInvoices=Vendor invoices +SearchIntoCustomerOrders=Sales orders +SearchIntoSupplierOrders=Purchase orders +SearchIntoCustomerProposals=Commercial proposals +SearchIntoSupplierProposals=Vendor proposals +SearchIntoInterventions=Interventions +SearchIntoContracts=Contracts +SearchIntoCustomerShipments=Customer shipments +SearchIntoExpenseReports=Expense reports +SearchIntoLeaves=Leave +SearchIntoTickets=Tickets +SearchIntoCustomerPayments=Customer payments +SearchIntoVendorPayments=Vendor payments +SearchIntoMiscPayments=Miscellaneous payments +CommentLink=Comments +NbComments=Number of comments +CommentPage=Comments space +CommentAdded=Comment added +CommentDeleted=Comment deleted +Everybody=Everybody +PayedBy=Paid by +PayedTo=Paid to +Monthly=Monthly +Quarterly=Quarterly +Annual=Annual +Local=Local +Remote=Remote +LocalAndRemote=Local and Remote +KeyboardShortcut=Keyboard shortcut +AssignedTo=Assigned to +Deletedraft=Delete draft +ConfirmMassDraftDeletion=Draft mass delete confirmation +FileSharedViaALink=File shared with a public link +SelectAThirdPartyFirst=Select a third party first... +YouAreCurrentlyInSandboxMode=You are currently in the %s "sandbox" mode +Inventory=Inventory +AnalyticCode=Analytic code +TMenuMRP=MRP +ShowCompanyInfos=Show company infos +ShowMoreInfos=Show More Infos +NoFilesUploadedYet=Please upload a document first +SeePrivateNote=See private note +PaymentInformation=Payment information +ValidFrom=Valid from +ValidUntil=Valid until +NoRecordedUsers=No users +ToClose=To close +ToRefuse=To refuse +ToProcess=To process +ToApprove=To approve +GlobalOpenedElemView=Global view +NoArticlesFoundForTheKeyword=No article found for the keyword '%s' +NoArticlesFoundForTheCategory=No article found for the category +ToAcceptRefuse=To accept | refuse +ContactDefault_agenda=Event +ContactDefault_commande=Order +ContactDefault_contrat=Contract +ContactDefault_facture=Invoice +ContactDefault_fichinter=Intervention +ContactDefault_invoice_supplier=Supplier Invoice +ContactDefault_order_supplier=Purchase Order +ContactDefault_project=Project +ContactDefault_project_task=Task +ContactDefault_propal=Proposal +ContactDefault_supplier_proposal=Supplier Proposal +ContactDefault_ticket=Ticket +ContactAddedAutomatically=Contact added from contact thirdparty roles +More=More +ShowDetails=Show details +CustomReports=Custom reports +StatisticsOn=Statistics on +SelectYourGraphOptionsFirst=Select your graph options to build a graph +Measures=Measures +XAxis=X-Axis +YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? +ShowOtherLanguages=Show other languages +SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language +NotUsedForThisCustomer=Not used for this customer +AmountMustBePositive=Amount must be positive +ByStatus=By status +InformationMessage=Information +Used=Used +ASAP=As Soon As Possible +CREATEInDolibarr=Record %s created +MODIFYInDolibarr=Record %s modified +DELETEInDolibarr=Record %s deleted +VALIDATEInDolibarr=Record %s validated +APPROVEDInDolibarr=Record %s approved +DefaultMailModel=Default Mail Model +PublicVendorName=Public name of vendor +DateOfBirth=Date of birth +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. +UpToDate=Up-to-date +OutOfDate=Out-of-date +EventReminder=Event Reminder +UpdateForAllLines=Update for all lines +OnHold=On hold +Civility=Civility +AffectTag=Affect Tag +CreateExternalUser=Create external user +ConfirmAffectTag=Bulk Tag Affect +ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? +CategTypeNotFound=No tag type found for type of records +CopiedToClipboard=Copied to clipboard +InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. +ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/kk_KZ/margins.lang b/htdocs/langs/kk_KZ/margins.lang new file mode 100644 index 00000000000..ad5406409b4 --- /dev/null +++ b/htdocs/langs/kk_KZ/margins.lang @@ -0,0 +1,45 @@ +# Dolibarr language file - Source file is en_US - marges + +Margin=Margin +Margins=Margins +TotalMargin=Total Margin +MarginOnProducts=Margin / Products +MarginOnServices=Margin / Services +MarginRate=Margin rate +MarkRate=Mark rate +DisplayMarginRates=Display margin rates +DisplayMarkRates=Display mark rates +InputPrice=Input price +margin=Profit margins management +margesSetup=Profit margins management setup +MarginDetails=Margin details +ProductMargins=Product margins +CustomerMargins=Customer margins +SalesRepresentativeMargins=Sales representative margins +ContactOfInvoice=Contact of invoice +UserMargins=User margins +ProductService=Product or Service +AllProducts=All products and services +ChooseProduct/Service=Choose product or service +ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined +ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts +UseDiscountAsProduct=As a product +UseDiscountAsService=As a service +UseDiscountOnTotal=On subtotal +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. +MARGIN_TYPE=Buying/Cost price suggested by default for margin calculation +MargeType1=Margin on Best vendor price +MargeType2=Margin on Weighted Average Price (WAP) +MargeType3=Margin on Cost Price +MarginTypeDesc=* Margin on best buying price = Selling price - Best vendor price defined on product card
    * Margin on Weighted Average Price (WAP) = Selling price - Product Weighted Average Price (WAP) or best vendor price if WAP not yet defined
    * Margin on Cost price = Selling price - Cost price defined on product card or WAP if cost price not defined, or best vendor price if WAP not yet defined +CostPrice=Cost price +UnitCharges=Unit charges +Charges=Charges +AgentContactType=Commercial agent contact type +AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices. +rateMustBeNumeric=Rate must be a numeric value +markRateShouldBeLesserThan100=Mark rate should be lower than 100 +ShowMarginInfos=Show margin infos +CheckMargins=Margins detail +MarginPerSaleRepresentativeWarning=The report of margin per user use the link between third parties and sale representatives to calculate the margin of each sale representative. Because some thirdparties may not have any dedicated sale representative and some third parties may be linked to several, some amounts may not be included into this report (if there is no sale representative) and some may appear on different lines (for each sale representative). diff --git a/htdocs/langs/kk_KZ/members.lang b/htdocs/langs/kk_KZ/members.lang new file mode 100644 index 00000000000..d8b9c2f59f3 --- /dev/null +++ b/htdocs/langs/kk_KZ/members.lang @@ -0,0 +1,217 @@ +# Dolibarr language file - Source file is en_US - members +MembersArea=Members area +MemberCard=Member card +SubscriptionCard=Subscription card +Member=Member +Members=Members +ShowMember=Show member card +UserNotLinkedToMember=User not linked to a member +ThirdpartyNotLinkedToMember=Third party not linked to a member +MembersTickets=Members Tickets +FundationMembers=Foundation members +ListOfValidatedPublicMembers=List of validated public members +ErrorThisMemberIsNotPublic=This member is not public +ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). +ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. +SetLinkToUser=Link to a Dolibarr user +SetLinkToThirdParty=Link to a Dolibarr third party +MembersCards=Business cards for members +MembersList=List of members +MembersListToValid=List of draft members (to be validated) +MembersListValid=List of valid members +MembersListUpToDate=List of valid members with up-to-date subscription +MembersListNotUpToDate=List of valid members with out-of-date subscription +MembersListExcluded=List of excluded members +MembersListResiliated=List of terminated members +MembersListQualified=List of qualified members +MenuMembersToValidate=Draft members +MenuMembersValidated=Validated members +MenuMembersExcluded=Excluded members +MenuMembersResiliated=Terminated members +MembersWithSubscriptionToReceive=Members with subscription to receive +MembersWithSubscriptionToReceiveShort=Subscription to receive +DateSubscription=Subscription date +DateEndSubscription=Subscription end date +EndSubscription=Subscription Ends +SubscriptionId=Subscription id +WithoutSubscription=Without subscription +MemberId=Member id +NewMember=New member +MemberType=Member type +MemberTypeId=Member type id +MemberTypeLabel=Member type label +MembersTypes=Members types +MemberStatusDraft=Draft (needs to be validated) +MemberStatusDraftShort=Draft +MemberStatusActive=Validated (waiting subscription) +MemberStatusActiveShort=Validated +MemberStatusActiveLate=Subscription expired +MemberStatusActiveLateShort=Expired +MemberStatusPaid=Subscription up to date +MemberStatusPaidShort=Up to date +MemberStatusExcluded=Excluded member +MemberStatusExcludedShort=Excluded +MemberStatusResiliated=Terminated member +MemberStatusResiliatedShort=Terminated +MembersStatusToValid=Draft members +MembersStatusExcluded=Excluded members +MembersStatusResiliated=Terminated members +MemberStatusNoSubscription=Validated (no subscription needed) +MemberStatusNoSubscriptionShort=Validated +SubscriptionNotNeeded=No subscription needed +NewCotisation=New contribution +PaymentSubscription=New contribution payment +SubscriptionEndDate=Subscription's end date +MembersTypeSetup=Members type setup +MemberTypeModified=Member type modified +DeleteAMemberType=Delete a member type +ConfirmDeleteMemberType=Are you sure you want to delete this member type? +MemberTypeDeleted=Member type deleted +MemberTypeCanNotBeDeleted=Member type can not be deleted +NewSubscription=New subscription +NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. +Subscription=Subscription +Subscriptions=Subscriptions +SubscriptionLate=Late +SubscriptionNotReceived=Subscription never received +ListOfSubscriptions=List of subscriptions +SendCardByMail=Send card by email +AddMember=Create member +NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" +NewMemberType=New member type +WelcomeEMail=Welcome email +SubscriptionRequired=Subscription required +DeleteType=Delete +VoteAllowed=Vote allowed +Physical=Individual +Moral=Corporation +MorAndPhy=Corporation and Individual +Reenable=Re-Enable +ExcludeMember=Exclude a member +ConfirmExcludeMember=Are you sure you want to exclude this member ? +ResiliateMember=Terminate a member +ConfirmResiliateMember=Are you sure you want to terminate this member? +DeleteMember=Delete a member +ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? +DeleteSubscription=Delete a subscription +ConfirmDeleteSubscription=Are you sure you want to delete this subscription? +Filehtpasswd=htpasswd file +ValidateMember=Validate a member +ConfirmValidateMember=Are you sure you want to validate this member? +FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. +PublicMemberList=Public member list +BlankSubscriptionForm=Public self-subscription form +BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. +EnablePublicSubscriptionForm=Enable the public website with self-subscription form +ForceMemberType=Force the member type +ExportDataset_member_1=Members and subscriptions +ImportDataset_member_1=Members +LastMembersModified=Latest %s modified members +LastSubscriptionsModified=Latest %s modified subscriptions +String=String +Text=Text +Int=Int +DateAndTime=Date and time +PublicMemberCard=Member public card +SubscriptionNotRecorded=Subscription not recorded +AddSubscription=Create subscription +ShowSubscription=Show subscription +# Label of email templates +SendingAnEMailToMember=Sending information email to member +SendingEmailOnAutoSubscription=Sending email on auto registration +SendingEmailOnMemberValidation=Sending email on new member validation +SendingEmailOnNewSubscription=Sending email on new subscription +SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions +SendingEmailOnCancelation=Sending email on cancelation +SendingReminderActionComm=Sending reminder for agenda event +# Topic of email templates +YourMembershipRequestWasReceived=Your membership was received. +YourMembershipWasValidated=Your membership was validated +YourSubscriptionWasRecorded=Your new subscription was recorded +SubscriptionReminderEmail=Subscription reminder +YourMembershipWasCanceled=Your membership was canceled +CardContent=Content of your member card +# Text of email templates +ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.

    +ThisIsContentOfYourMembershipWasValidated=We want to let you know that your membership was validated with the following information:

    +ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.

    +ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.

    +ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

    +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription +DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire +DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_MAIL_FROM=Sender Email for automatic emails +DescADHERENT_ETIQUETTE_TYPE=Format of labels page +DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets +DescADHERENT_CARD_TYPE=Format of cards page +DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards +DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) +DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) +DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards +ShowTypeCard=Show type '%s' +HTPasswordExport=htpassword file generation +NoThirdPartyAssociatedToMember=No third party associated to this member +MembersAndSubscriptions= Members and Subscriptions +MoreActions=Complementary action on recording +MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription +MoreActionBankDirect=Create a direct entry on bank account +MoreActionBankViaInvoice=Create an invoice, and a payment on bank account +MoreActionInvoiceOnly=Create an invoice with no payment +LinkToGeneratedPages=Generate visit cards +LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. +DocForAllMembersCards=Generate business cards for all members +DocForOneMemberCards=Generate business cards for a particular member +DocForLabels=Generate address sheets +SubscriptionPayment=Subscription payment +LastSubscriptionDate=Date of latest subscription payment +LastSubscriptionAmount=Amount of latest subscription +LastMemberType=Last Member type +MembersStatisticsByCountries=Members statistics by country +MembersStatisticsByState=Members statistics by state/province +MembersStatisticsByTown=Members statistics by town +MembersStatisticsByRegion=Members statistics by region +NbOfMembers=Total number of members +NbOfActiveMembers=Total number of current active members +NoValidatedMemberYet=No validated members found +MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. +MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. +MembersByTownDesc=This screen show you statistics of members by town. +MembersByNature=This screen show you statistics of members by nature. +MembersByRegion=This screen show you statistics of members by region. +MembersStatisticsDesc=Choose statistics you want to read... +MenuMembersStats=Statistics +LastMemberDate=Latest membership date +LatestSubscriptionDate=Latest subscription date +MemberNature=Nature of the member +MembersNature=Nature of the members +Public=Information is public +NewMemberbyWeb=New member added. Awaiting approval +NewMemberForm=New member form +SubscriptionsStatistics=Subscriptions statistics +NbOfSubscriptions=Number of subscriptions +AmountOfSubscriptions=Amount collected from subscriptions +TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) +DefaultAmount=Default amount of subscription +CanEditAmount=Visitor can choose/edit amount of its subscription +MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page +ByProperties=By nature +MembersStatisticsByProperties=Members statistics by nature +VATToUseForSubscriptions=VAT rate to use for subscriptions +NoVatOnSubscription=No VAT for subscriptions +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s +NameOrCompany=Name or company +SubscriptionRecorded=Subscription recorded +NoEmailSentToMember=No email sent to member +EmailSentToMember=Email sent to member at %s +SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription +SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') +MembershipPaid=Membership paid for current period (until %s) +YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email +XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/ar_IQ/modulebuilder.lang b/htdocs/langs/kk_KZ/modulebuilder.lang similarity index 99% rename from htdocs/langs/ar_IQ/modulebuilder.lang rename to htdocs/langs/kk_KZ/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/ar_IQ/modulebuilder.lang +++ b/htdocs/langs/kk_KZ/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/ar_IQ/mrp.lang b/htdocs/langs/kk_KZ/mrp.lang similarity index 91% rename from htdocs/langs/ar_IQ/mrp.lang rename to htdocs/langs/kk_KZ/mrp.lang index fceeb1a15f1..5d226c0f77b 100644 --- a/htdocs/langs/ar_IQ/mrp.lang +++ b/htdocs/langs/kk_KZ/mrp.lang @@ -13,7 +13,7 @@ BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders NewBOM=New bill of materials -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce diff --git a/htdocs/langs/ar_IQ/multicurrency.lang b/htdocs/langs/kk_KZ/multicurrency.lang similarity index 100% rename from htdocs/langs/ar_IQ/multicurrency.lang rename to htdocs/langs/kk_KZ/multicurrency.lang diff --git a/htdocs/langs/ar_IQ/oauth.lang b/htdocs/langs/kk_KZ/oauth.lang similarity index 100% rename from htdocs/langs/ar_IQ/oauth.lang rename to htdocs/langs/kk_KZ/oauth.lang diff --git a/htdocs/langs/ar_IQ/opensurvey.lang b/htdocs/langs/kk_KZ/opensurvey.lang similarity index 100% rename from htdocs/langs/ar_IQ/opensurvey.lang rename to htdocs/langs/kk_KZ/opensurvey.lang diff --git a/htdocs/langs/kk_KZ/orders.lang b/htdocs/langs/kk_KZ/orders.lang new file mode 100644 index 00000000000..5dab5b99bf1 --- /dev/null +++ b/htdocs/langs/kk_KZ/orders.lang @@ -0,0 +1,193 @@ +# Dolibarr language file - Source file is en_US - orders +OrdersArea=Customers orders area +SuppliersOrdersArea=Purchase orders area +OrderCard=Order card +OrderId=Order Id +Order=Order +PdfOrderTitle=Order +Orders=Orders +OrderLine=Order line +OrderDate=Order date +OrderDateShort=Order date +OrderToProcess=Order to process +NewOrder=New order +NewSupplierOrderShort=New order +NewOrderSupplier=New Purchase Order +ToOrder=Make order +MakeOrder=Make order +SupplierOrder=Purchase order +SuppliersOrders=Purchase orders +SaleOrderLines=Sale order lines +PurchaseOrderLines=Puchase order lines +SuppliersOrdersRunning=Current purchase orders +CustomerOrder=Sales Order +CustomersOrders=Sales Orders +CustomersOrdersRunning=Current sales orders +CustomersOrdersAndOrdersLines=Sales orders and order details +OrdersDeliveredToBill=Sales orders delivered to bill +OrdersToBill=Sales orders delivered +OrdersInProcess=Sales orders in process +OrdersToProcess=Sales orders to process +SuppliersOrdersToProcess=Purchase orders to process +SuppliersOrdersAwaitingReception=Purchase orders awaiting reception +AwaitingReception=Awaiting reception +StatusOrderCanceledShort=Canceled +StatusOrderDraftShort=Draft +StatusOrderValidatedShort=Validated +StatusOrderSentShort=In process +StatusOrderSent=Shipment in process +StatusOrderOnProcessShort=Ordered +StatusOrderProcessedShort=Processed +StatusOrderDelivered=Delivered +StatusOrderDeliveredShort=Delivered +StatusOrderToBillShort=Delivered +StatusOrderApprovedShort=Approved +StatusOrderRefusedShort=Refused +StatusOrderToProcessShort=To process +StatusOrderReceivedPartiallyShort=Partially received +StatusOrderReceivedAllShort=Products received +StatusOrderCanceled=Canceled +StatusOrderDraft=Draft (needs to be validated) +StatusOrderValidated=Validated +StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusOrderProcessed=Processed +StatusOrderToBill=Delivered +StatusOrderApproved=Approved +StatusOrderRefused=Refused +StatusOrderReceivedPartially=Partially received +StatusOrderReceivedAll=All products received +ShippingExist=A shipment exists +QtyOrdered=Qty ordered +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +MenuOrdersToBill=Orders delivered +MenuOrdersToBill2=Billable orders +ShipProduct=Ship product +CreateOrder=Create Order +RefuseOrder=Refuse order +ApproveOrder=Approve order +Approve2Order=Approve order (second level) +ValidateOrder=Validate order +UnvalidateOrder=Unvalidate order +DeleteOrder=Delete order +CancelOrder=Cancel order +OrderReopened= Order %s re-open +AddOrder=Create order +AddSupplierOrderShort=Create order +AddPurchaseOrder=Create purchase order +AddToDraftOrders=Add to draft order +ShowOrder=Show order +OrdersOpened=Orders to process +NoDraftOrders=No draft orders +NoOrder=No order +NoSupplierOrder=No purchase order +LastOrders=Latest %s sales orders +LastCustomerOrders=Latest %s sales orders +LastSupplierOrders=Latest %s purchase orders +LastModifiedOrders=Latest %s modified orders +AllOrders=All orders +NbOfOrders=Number of orders +OrdersStatistics=Order's statistics +OrdersStatisticsSuppliers=Purchase order statistics +NumberOfOrdersByMonth=Number of orders by month +AmountOfOrdersByMonthHT=Amount of orders by month (excl. tax) +ListOfOrders=List of orders +CloseOrder=Close order +ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. +ConfirmDeleteOrder=Are you sure you want to delete this order? +ConfirmValidateOrder=Are you sure you want to validate this order under name %s? +ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status? +ConfirmCancelOrder=Are you sure you want to cancel this order? +ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s? +GenerateBill=Generate invoice +ClassifyShipped=Classify delivered +DraftOrders=Draft orders +DraftSuppliersOrders=Draft purchase orders +OnProcessOrders=In process orders +RefOrder=Ref. order +RefCustomerOrder=Ref. order for customer +RefOrderSupplier=Ref. order for vendor +RefOrderSupplierShort=Ref. order vendor +SendOrderByMail=Send order by mail +ActionsOnOrder=Events on order +NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order +OrderMode=Order method +AuthorRequest=Request author +UserWithApproveOrderGrant=Users granted with "approve orders" permission. +PaymentOrderRef=Payment of order %s +ConfirmCloneOrder=Are you sure you want to clone this order %s? +DispatchSupplierOrder=Receiving purchase order %s +FirstApprovalAlreadyDone=First approval already done +SecondApprovalAlreadyDone=Second approval already done +SupplierOrderReceivedInDolibarr=Purchase Order %s received %s +SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted +SupplierOrderClassifiedBilled=Purchase Order %s set billed +OtherOrders=Other orders +##### Types de contacts ##### +TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order +TypeContact_commande_internal_SHIPPING=Representative following-up shipping +TypeContact_commande_external_BILLING=Customer invoice contact +TypeContact_commande_external_SHIPPING=Customer shipping contact +TypeContact_commande_external_CUSTOMER=Customer contact following-up order +TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up purchase order +TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping +TypeContact_order_supplier_external_BILLING=Vendor invoice contact +TypeContact_order_supplier_external_SHIPPING=Vendor shipping contact +TypeContact_order_supplier_external_CUSTOMER=Vendor contact following-up order +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined +Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined +Error_OrderNotChecked=No orders to invoice selected +# Order modes (how we receive order). Not the "why" are keys stored into dict.lang +OrderByMail=Mail +OrderByFax=Fax +OrderByEMail=Email +OrderByWWW=Online +OrderByPhone=Phone +# Documents models +PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) +PDFEratostheneDescription=A complete order model +PDFEdisonDescription=A simple order model +PDFProformaDescription=A complete Proforma invoice template +CreateInvoiceForThisCustomer=Bill orders +CreateInvoiceForThisSupplier=Bill orders +NoOrdersToInvoice=No orders billable +CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. +OrderCreation=Order creation +Ordered=Ordered +OrderCreated=Your orders have been created +OrderFail=An error happened during your orders creation +CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". +OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. +IfValidateInvoiceIsNoOrderStayUnbilled=If invoice validation is 'No', the order will remain to status 'Unbilled' until the invoice is validated. +CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. +SetShippingMode=Set shipping mode +WithReceptionFinished=With reception finished +#### supplier orders status +StatusSupplierOrderCanceledShort=Canceled +StatusSupplierOrderDraftShort=Draft +StatusSupplierOrderValidatedShort=Validated +StatusSupplierOrderSentShort=In process +StatusSupplierOrderSent=Shipment in process +StatusSupplierOrderOnProcessShort=Ordered +StatusSupplierOrderProcessedShort=Processed +StatusSupplierOrderDelivered=Delivered +StatusSupplierOrderDeliveredShort=Delivered +StatusSupplierOrderToBillShort=Delivered +StatusSupplierOrderApprovedShort=Approved +StatusSupplierOrderRefusedShort=Refused +StatusSupplierOrderToProcessShort=To process +StatusSupplierOrderReceivedPartiallyShort=Partially received +StatusSupplierOrderReceivedAllShort=Products received +StatusSupplierOrderCanceled=Canceled +StatusSupplierOrderDraft=Draft (needs to be validated) +StatusSupplierOrderValidated=Validated +StatusSupplierOrderOnProcess=Ordered - Standby reception +StatusSupplierOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusSupplierOrderProcessed=Processed +StatusSupplierOrderToBill=Delivered +StatusSupplierOrderApproved=Approved +StatusSupplierOrderRefused=Refused +StatusSupplierOrderReceivedPartially=Partially received +StatusSupplierOrderReceivedAll=All products received diff --git a/htdocs/langs/ar_IQ/other.lang b/htdocs/langs/kk_KZ/other.lang similarity index 98% rename from htdocs/langs/ar_IQ/other.lang rename to htdocs/langs/kk_KZ/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/ar_IQ/other.lang +++ b/htdocs/langs/kk_KZ/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/kk_KZ/partnership.lang b/htdocs/langs/kk_KZ/partnership.lang new file mode 100644 index 00000000000..606c3a0df3b --- /dev/null +++ b/htdocs/langs/kk_KZ/partnership.lang @@ -0,0 +1,91 @@ +# Copyright (C) 2021 NextGestion +# +# 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 . + +# +# Generic +# +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management +PartnershipDescriptionLong= Module Partnership management + +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + +# +# Menu +# +NewPartnership=New Partnership +ListOfPartnerships=List of partnership + +# +# Admin page +# +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. + +# +# Object +# +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member +DatePartnershipStart=Start date +DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type + +# +# Template Mail +# +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled + +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason + +# +# Status +# +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled +PartnershipManagedFor=Partners are diff --git a/htdocs/langs/ar_IQ/paybox.lang b/htdocs/langs/kk_KZ/paybox.lang similarity index 100% rename from htdocs/langs/ar_IQ/paybox.lang rename to htdocs/langs/kk_KZ/paybox.lang diff --git a/htdocs/langs/ar_IQ/paypal.lang b/htdocs/langs/kk_KZ/paypal.lang similarity index 100% rename from htdocs/langs/ar_IQ/paypal.lang rename to htdocs/langs/kk_KZ/paypal.lang diff --git a/htdocs/langs/kk_KZ/printing.lang b/htdocs/langs/kk_KZ/printing.lang new file mode 100644 index 00000000000..16494583550 --- /dev/null +++ b/htdocs/langs/kk_KZ/printing.lang @@ -0,0 +1,54 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Setup of Direct Printing System +PrintingDesc=This module adds a Print button to various modules to allow documents to be printed directly to a printer without needing to open the document in another application. +MenuDirectPrinting=Direct Printing jobs +DirectPrint=Direct print +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +ViaModule=via the module +NoActivePrintingModuleFound=No active driver to print document. Check setup of module %s. +PleaseSelectaDriverfromList=Please select a driver from list. +PleaseConfigureDriverfromList=Please configure the selected driver from list. +SetupDriver=Driver setup +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP_INFO=Google OAuth API setup +PRINTGCP_AUTHLINK=Authentication +PRINTGCP_TOKEN_ACCESS=Google Cloud Print OAuth Token +PrintGCPDesc=This driver allows sending documents directly to a printer using Google Cloud Print. +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PrintIPPDesc=This driver allows sending of documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +DirectPrintingJobsDesc=This page lists printing jobs found for available printers. +GoogleAuthNotConfigured=Google OAuth has not been setup. Enable module OAuth and set a Google ID/Secret. +GoogleAuthConfigured=Google OAuth credentials were found into setup of module OAuth. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintingDriverDescprintipp=Configuration variables for printing driver Cups. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PrintTestDescprintipp=List of Printers for Cups. diff --git a/htdocs/langs/ar_IQ/productbatch.lang b/htdocs/langs/kk_KZ/productbatch.lang similarity index 69% rename from htdocs/langs/ar_IQ/productbatch.lang rename to htdocs/langs/kk_KZ/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/ar_IQ/productbatch.lang +++ b/htdocs/langs/kk_KZ/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/ar_IQ/products.lang b/htdocs/langs/kk_KZ/products.lang similarity index 98% rename from htdocs/langs/ar_IQ/products.lang rename to htdocs/langs/kk_KZ/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/ar_IQ/products.lang +++ b/htdocs/langs/kk_KZ/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/ar_IQ/projects.lang b/htdocs/langs/kk_KZ/projects.lang similarity index 96% rename from htdocs/langs/ar_IQ/projects.lang rename to htdocs/langs/kk_KZ/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/ar_IQ/projects.lang +++ b/htdocs/langs/kk_KZ/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/ar_IQ/propal.lang b/htdocs/langs/kk_KZ/propal.lang similarity index 100% rename from htdocs/langs/ar_IQ/propal.lang rename to htdocs/langs/kk_KZ/propal.lang diff --git a/htdocs/langs/ar_IQ/receiptprinter.lang b/htdocs/langs/kk_KZ/receiptprinter.lang similarity index 100% rename from htdocs/langs/ar_IQ/receiptprinter.lang rename to htdocs/langs/kk_KZ/receiptprinter.lang diff --git a/htdocs/langs/ar_IQ/receptions.lang b/htdocs/langs/kk_KZ/receptions.lang similarity index 98% rename from htdocs/langs/ar_IQ/receptions.lang rename to htdocs/langs/kk_KZ/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/ar_IQ/receptions.lang +++ b/htdocs/langs/kk_KZ/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/ar_IQ/recruitment.lang b/htdocs/langs/kk_KZ/recruitment.lang similarity index 100% rename from htdocs/langs/ar_IQ/recruitment.lang rename to htdocs/langs/kk_KZ/recruitment.lang diff --git a/htdocs/langs/ar_IQ/resource.lang b/htdocs/langs/kk_KZ/resource.lang similarity index 100% rename from htdocs/langs/ar_IQ/resource.lang rename to htdocs/langs/kk_KZ/resource.lang diff --git a/htdocs/langs/ar_IQ/salaries.lang b/htdocs/langs/kk_KZ/salaries.lang similarity index 91% rename from htdocs/langs/ar_IQ/salaries.lang rename to htdocs/langs/kk_KZ/salaries.lang index 6b4fdc94163..12905040b1a 100644 --- a/htdocs/langs/ar_IQ/salaries.lang +++ b/htdocs/langs/kk_KZ/salaries.lang @@ -17,8 +17,8 @@ TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/kk_KZ/sendings.lang b/htdocs/langs/kk_KZ/sendings.lang new file mode 100644 index 00000000000..b94891d79c5 --- /dev/null +++ b/htdocs/langs/kk_KZ/sendings.lang @@ -0,0 +1,76 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=Shipments +AllSendings=All Shipments +Shipment=Shipment +Shipments=Shipments +ShowSending=Show Shipments +Receivings=Delivery Receipts +SendingsArea=Shipments area +ListOfSendings=List of shipments +SendingMethod=Shipping method +LastSendings=Latest %s shipments +StatisticsOfSendings=Statistics for shipments +NbOfSendings=Number of shipments +NumberOfShipmentsByMonth=Number of shipments by month +SendingCard=Shipment card +NewSending=New shipment +CreateShipment=Create shipment +QtyShipped=Qty shipped +QtyShippedShort=Qty ship. +QtyPreparedOrShipped=Qty prepared or shipped +QtyToShip=Qty to ship +QtyToReceive=Qty to receive +QtyReceived=Qty received +QtyInOtherShipments=Qty in other shipments +KeepToShip=Remain to ship +KeepToShipShort=Remain +OtherSendingsForSameOrder=Other shipments for this order +SendingsAndReceivingForSameOrder=Shipments and receipts for this order +SendingsToValidate=Shipments to validate +StatusSendingCanceled=Canceled +StatusSendingCanceledShort=Canceled +StatusSendingDraft=Draft +StatusSendingValidated=Validated (products to ship or already shipped) +StatusSendingProcessed=Processed +StatusSendingDraftShort=Draft +StatusSendingValidatedShort=Validated +StatusSendingProcessedShort=Processed +SendingSheet=Shipment sheet +ConfirmDeleteSending=Are you sure you want to delete this shipment? +ConfirmValidateSending=Are you sure you want to validate this shipment with reference %s? +ConfirmCancelSending=Are you sure you want to cancel this shipment? +DocumentModelMerou=Merou A5 model +WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. +StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +DateDeliveryPlanned=Planned date of delivery +RefDeliveryReceipt=Ref delivery receipt +StatusReceipt=Status delivery receipt +DateReceived=Date delivery received +ClassifyReception=Classify reception +SendShippingByEMail=Send shipment by email +SendShippingRef=Submission of shipment %s +ActionsOnShipping=Events on shipment +LinkToTrackYourPackage=Link to track your package +ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. +ShipmentLine=Shipment line +ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders +ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders +ProductQtyInShipmentAlreadySent=Product quantity from open sales order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from open purchase orders already received +NoProductToShipFoundIntoStock=No product to ship found in warehouse %s. Correct stock or go back to choose another warehouse. +WeightVolShort=Weight/Vol. +ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments. + +# Sending methods +# ModelDocument +DocumentModelTyphon=More complete document model for delivery receipts (logo...) +DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) +Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined +SumOfProductVolumes=Sum of product volumes +SumOfProductWeights=Sum of product weights + +# warehouse details +DetailWarehouseNumber= Warehouse details +DetailWarehouseFormat= W:%s (Qty: %d) diff --git a/htdocs/langs/ar_IQ/sms.lang b/htdocs/langs/kk_KZ/sms.lang similarity index 100% rename from htdocs/langs/ar_IQ/sms.lang rename to htdocs/langs/kk_KZ/sms.lang diff --git a/htdocs/langs/kk_KZ/stocks.lang b/htdocs/langs/kk_KZ/stocks.lang new file mode 100644 index 00000000000..c1f0abc43a8 --- /dev/null +++ b/htdocs/langs/kk_KZ/stocks.lang @@ -0,0 +1,263 @@ +# Dolibarr language file - Source file is en_US - stocks +WarehouseCard=Warehouse card +Warehouse=Warehouse +Warehouses=Warehouses +ParentWarehouse=Parent warehouse +NewWarehouse=New warehouse / Stock Location +WarehouseEdit=Modify warehouse +MenuNewWarehouse=New warehouse +WarehouseSource=Source warehouse +WarehouseSourceNotDefined=No warehouse defined, +AddWarehouse=Create warehouse +AddOne=Add one +DefaultWarehouse=Default warehouse +WarehouseTarget=Target warehouse +ValidateSending=Delete sending +CancelSending=Cancel sending +DeleteSending=Delete sending +Stock=Stock +Stocks=Stocks +MissingStocks=Missing stocks +StockAtDate=Stocks at date +StockAtDateInPast=Date in the past +StockAtDateInFuture=Date in the future +StocksByLotSerial=Stocks by lot/serial +LotSerial=Lots/Serials +LotSerialList=List of lot/serials +Movements=Movements +ErrorWarehouseRefRequired=Warehouse reference name is required +ListOfWarehouses=List of warehouses +ListOfStockMovements=List of stock movements +ListOfInventories=List of inventories +MovementId=Movement ID +StockMovementForId=Movement ID %d +ListMouvementStockProject=List of stock movements associated to project +StocksArea=Warehouses area +AllWarehouses=All warehouses +IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock +IncludeAlsoDraftOrders=Include also draft orders +Location=Location +LocationSummary=Short name of location +NumberOfDifferentProducts=Number of unique products +NumberOfProducts=Total number of products +LastMovement=Latest movement +LastMovements=Latest movements +Units=Units +Unit=Unit +StockCorrection=Stock correction +CorrectStock=Correct stock +StockTransfer=Stock transfer +TransferStock=Transfer stock +MassStockTransferShort=Mass stock transfer +StockMovement=Stock movement +StockMovements=Stock movements +NumberOfUnit=Number of units +UnitPurchaseValue=Unit purchase price +StockTooLow=Stock too low +StockLowerThanLimit=Stock lower than alert limit (%s) +EnhancedValue=Value +EnhancedValueOfWarehouses=Warehouses value +UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user +AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product +RuleForWarehouse=Rule for warehouses +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties +WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals +WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders +UserDefaultWarehouse=Set a warehouse on Users +MainDefaultWarehouse=Default warehouse +MainDefaultWarehouseUser=Use a default warehouse for each user +MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. +IndependantSubProductStock=Product stock and subproduct stock are independent +QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch +OrderDispatch=Item receipts +RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated) +RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated) +DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note +DeStockOnValidateOrder=Decrease real stocks on validation of sales order +DeStockOnShipment=Decrease real stocks on shipping validation +DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed +ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note +ReStockOnValidateOrder=Increase real stocks on purchase order approval +ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods +StockOnReception=Increase real stocks on validation of reception +StockOnReceptionOnClosing=Increase real stocks when reception is set to closed +OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. +StockDiffPhysicTeoric=Explanation for difference between physical and virtual stock +NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. +DispatchVerb=Dispatch +StockLimitShort=Limit for alert +StockLimit=Stock limit for alert +StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +PhysicalStock=Physical Stock +RealStock=Real Stock +RealStockDesc=Physical/real stock is the stock currently in the warehouses. +RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module): +VirtualStock=Virtual stock +VirtualStockAtDate=Virtual stock at date +VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished +VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) +AtDate=At date +IdWarehouse=Id warehouse +DescWareHouse=Description warehouse +LieuWareHouse=Localisation warehouse +WarehousesAndProducts=Warehouses and products +WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +AverageUnitPricePMPShort=Weighted average price +AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +SellPriceMin=Selling Unit Price +EstimatedStockValueSellShort=Value for sell +EstimatedStockValueSell=Value for sell +EstimatedStockValueShort=Input stock value +EstimatedStockValue=Input stock value +DeleteAWarehouse=Delete a warehouse +ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s? +PersonalStock=Personal stock %s +ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s +SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease +SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase +NoStockAction=No stock action +DesiredStock=Desired Stock +DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. +StockToBuy=To order +Replenishment=Replenishment +ReplenishmentOrders=Replenishment orders +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ +UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature +ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +UseVirtualStock=Use virtual stock +UsePhysicalStock=Use physical stock +CurentSelectionMode=Current selection mode +CurentlyUsingVirtualStock=Virtual stock +CurentlyUsingPhysicalStock=Physical stock +RuleForStockReplenishment=Rule for stocks replenishment +SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor +AlertOnly= Alerts only +IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +WarehouseForStockDecrease=The warehouse %s will be used for stock decrease +WarehouseForStockIncrease=The warehouse %s will be used for stock increase +ForThisWarehouse=For this warehouse +ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference. +ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. +ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. +Replenishments=Replenishments +NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) +NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) +MassMovement=Mass movement +SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +RecordMovement=Record transfer +ReceivingForSameOrder=Receipts for this order +StockMovementRecorded=Stock movements recorded +RuleForStockAvailability=Rules on stock requirements +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever the rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever the rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever the rule for automatic stock change) +MovementLabel=Label of movement +TypeMovement=Direction of movement +DateMovement=Date of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse and your setup does not allow negative stocks. +qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse +InventoryCodeShort=Inv./Mov. code +NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) +UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception +OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated +ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created +ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated +ProductStockWarehouseDeleted=Stock limit for alert and desired optimal stock correctly deleted +AddNewProductStockWarehouse=Set new limit for alert and desired optimal stock +AddStockLocationLine=Decrease quantity then click to add another warehouse for this product +InventoryDate=Inventory date +NewInventory=New inventory +inventorySetup = Inventory Setup +inventoryCreatePermission=Create new inventory +inventoryReadPermission=View inventories +inventoryWritePermission=Update inventories +inventoryValidatePermission=Validate inventory +inventoryDeletePermission=Delete inventory +inventoryTitle=Inventory +inventoryListTitle=Inventories +inventoryListEmpty=No inventory in progress +inventoryCreateDelete=Create/Delete inventory +inventoryCreate=Create new +inventoryEdit=Edit +inventoryValidate=Validated +inventoryDraft=Running +inventorySelectWarehouse=Warehouse choice +inventoryConfirmCreate=Create +inventoryOfWarehouse=Inventory for warehouse: %s +inventoryErrorQtyAdd=Error: one quantity is less than zero +inventoryMvtStock=By inventory +inventoryWarningProductAlreadyExists=This product is already into list +SelectCategory=Category filter +SelectFournisseur=Vendor filter +inventoryOnDate=Inventory +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) +inventoryChangePMPPermission=Allow to change PMP value for a product +ColumnNewPMP=New unit PMP +OnlyProdsInStock=Do not add product without stock +TheoricalQty=Theorique qty +TheoricalValue=Theorique qty +LastPA=Last BP +CurrentPA=Curent BP +RecordedQty=Recorded Qty +RealQty=Real Qty +RealValue=Real Value +RegulatedQty=Regulated Qty +AddInventoryProduct=Add product to inventory +AddProduct=Add +ApplyPMP=Apply PMP +FlushInventory=Flush inventory +ConfirmFlushInventory=Do you confirm this action? +InventoryFlushed=Inventory flushed +ExitEditMode=Exit edition +inventoryDeleteLine=Delete line +RegulateStock=Regulate Stock +ListInventory=List +StockSupportServices=Stock management supports Services +StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled. +ReceiveProducts=Receive items +StockIncreaseAfterCorrectTransfer=Increase by correction/transfer +StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer +StockIncrease=Stock increase +StockDecrease=Stock decrease +InventoryForASpecificWarehouse=Inventory for a specific warehouse +InventoryForASpecificProduct=Inventory for a specific product +StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use +ForceTo=Force to +AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) +StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past +StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +CurrentStock=Current stock +InventoryRealQtyHelp=Set value to 0 to reset qty
    Keep field empty, or remove line, to keep unchanged +UpdateByScaning=Fill real qty by scaning +UpdateByScaningProductBarcode=Update by scan (product barcode) +UpdateByScaningLot=Update by scan (lot|serial barcode) +DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. +ImportFromCSV=Import CSV list of movement +ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +SelectAStockMovementFileToImport=select a stock movement file to import +InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" +LabelOfInventoryMovemement=Inventory %s +ReOpen=Reopen +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. +ObjectNotFound=%s not found +MakeMovementsAndClose=Generate movements and close +AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ar_IQ/stripe.lang b/htdocs/langs/kk_KZ/stripe.lang similarity index 100% rename from htdocs/langs/ar_IQ/stripe.lang rename to htdocs/langs/kk_KZ/stripe.lang diff --git a/htdocs/langs/ar_IQ/supplier_proposal.lang b/htdocs/langs/kk_KZ/supplier_proposal.lang similarity index 100% rename from htdocs/langs/ar_IQ/supplier_proposal.lang rename to htdocs/langs/kk_KZ/supplier_proposal.lang diff --git a/htdocs/langs/ar_IQ/suppliers.lang b/htdocs/langs/kk_KZ/suppliers.lang similarity index 100% rename from htdocs/langs/ar_IQ/suppliers.lang rename to htdocs/langs/kk_KZ/suppliers.lang diff --git a/htdocs/langs/ar_IQ/ticket.lang b/htdocs/langs/kk_KZ/ticket.lang similarity index 96% rename from htdocs/langs/ar_IQ/ticket.lang rename to htdocs/langs/kk_KZ/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/ar_IQ/ticket.lang +++ b/htdocs/langs/kk_KZ/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/ar_IQ/trips.lang b/htdocs/langs/kk_KZ/trips.lang similarity index 99% rename from htdocs/langs/ar_IQ/trips.lang rename to htdocs/langs/kk_KZ/trips.lang index 1f53a5737ff..c9a6c792077 100644 --- a/htdocs/langs/ar_IQ/trips.lang +++ b/htdocs/langs/kk_KZ/trips.lang @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) diff --git a/htdocs/langs/kk_KZ/users.lang b/htdocs/langs/kk_KZ/users.lang new file mode 100644 index 00000000000..6aeaf128838 --- /dev/null +++ b/htdocs/langs/kk_KZ/users.lang @@ -0,0 +1,126 @@ +# Dolibarr language file - Source file is en_US - users +HRMArea=HRM area +UserCard=User card +GroupCard=Group card +Permission=Permission +Permissions=Permissions +EditPassword=Edit password +SendNewPassword=Regenerate and send password +SendNewPasswordLink=Send link to reset password +ReinitPassword=Regenerate password +PasswordChangedTo=Password changed to: %s +SubjectNewPassword=Your new password for %s +GroupRights=Group permissions +UserRights=User permissions +Credentials=Credentials +UserGUISetup=User Display Setup +DisableUser=Disable +DisableAUser=Disable a user +DeleteUser=Delete +DeleteAUser=Delete a user +EnableAUser=Enable a user +DeleteGroup=Delete +DeleteAGroup=Delete a group +ConfirmDisableUser=Are you sure you want to disable user %s? +ConfirmDeleteUser=Are you sure you want to delete user %s? +ConfirmDeleteGroup=Are you sure you want to delete group %s? +ConfirmEnableUser=Are you sure you want to enable user %s? +ConfirmReinitPassword=Are you sure you want to generate a new password for user %s? +ConfirmSendNewPassword=Are you sure you want to generate and send new password for user %s? +NewUser=New user +CreateUser=Create user +LoginNotDefined=Login is not defined. +NameNotDefined=Name is not defined. +ListOfUsers=List of users +SuperAdministrator=Super Administrator +SuperAdministratorDesc=Global administrator +AdministratorDesc=Administrator +DefaultRights=Default Permissions +DefaultRightsDesc=Define here the default permissions that are automatically granted to a new user (to modify permissions for existing users, go to the user card). +DolibarrUsers=Dolibarr users +LastName=Last name +FirstName=First name +ListOfGroups=List of groups +NewGroup=New group +CreateGroup=Create group +RemoveFromGroup=Remove from group +PasswordChangedAndSentTo=Password changed and sent to %s. +PasswordChangeRequest=Request to change password for %s +PasswordChangeRequestSent=Request to change password for %s sent to %s. +IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. +IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. +ConfirmPasswordReset=Confirm password reset +MenuUsersAndGroups=Users & Groups +LastGroupsCreated=Latest %s groups created +LastUsersCreated=Latest %s users created +ShowGroup=Show group +ShowUser=Show user +NonAffectedUsers=Non assigned users +UserModified=User modified successfully +PhotoFile=Photo file +ListOfUsersInGroup=List of users in this group +ListOfGroupsForUser=List of groups for this user +LinkToCompanyContact=Link to third party / contact +LinkedToDolibarrMember=Link to member +LinkedToDolibarrUser=Link to Dolibarr user +LinkedToDolibarrThirdParty=Link to Dolibarr third party +CreateDolibarrLogin=Create a user +CreateDolibarrThirdParty=Create a third party +LoginAccountDisableInDolibarr=Account disabled in Dolibarr. +UsePersonalValue=Use personal value +InternalUser=Internal user +ExportDataset_user_1=Users and their properties +DomainUser=Domain user %s +Reactivate=Reactivate +CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. +InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. +Inherited=Inherited +UserWillBe=Created user will be +UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) +UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) +IdPhoneCaller=Id phone caller +NewUserCreated=User %s created +NewUserPassword=Password change for %s +NewPasswordValidated=Your new password have been validated and must be used now to login. +EventUserModified=User %s modified +UserDisabled=User %s disabled +UserEnabled=User %s activated +UserDeleted=User %s removed +NewGroupCreated=Group %s created +GroupModified=Group %s modified +GroupDeleted=Group %s removed +ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact? +ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member? +ConfirmCreateThirdParty=Are you sure you want to create a third party for this member? +LoginToCreate=Login to create +NameToCreate=Name of third party to create +YourRole=Your roles +YourQuotaOfUsersIsReached=Your quota of active users is reached ! +NbOfUsers=Number of users +NbOfPermissions=Number of permissions +DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin +HierarchicalResponsible=Supervisor +HierarchicView=Hierarchical view +UseTypeFieldToChange=Use field Type to change +OpenIDURL=OpenID URL +LoginUsingOpenID=Use OpenID to login +WeeklyHours=Hours worked (per week) +ExpectedWorkedHours=Expected hours worked per week +ColorUser=Color of the user +DisabledInMonoUserMode=Disabled in maintenance mode +UserAccountancyCode=User accounting code +UserLogoff=User logout +UserLogged=User logged +DateOfEmployment=Employment date +DateEmployment=Employment +DateEmploymentstart=Employment Start Date +DateEmploymentEnd=Employment End Date +RangeOfLoginValidity=Access validity date range +CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone +WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s diff --git a/htdocs/langs/ar_IQ/website.lang b/htdocs/langs/kk_KZ/website.lang similarity index 98% rename from htdocs/langs/ar_IQ/website.lang rename to htdocs/langs/kk_KZ/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/ar_IQ/website.lang +++ b/htdocs/langs/kk_KZ/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ar_IQ/withdrawals.lang b/htdocs/langs/kk_KZ/withdrawals.lang similarity index 98% rename from htdocs/langs/ar_IQ/withdrawals.lang rename to htdocs/langs/kk_KZ/withdrawals.lang index 7d5b57f7da9..a3773a427a1 100644 --- a/htdocs/langs/ar_IQ/withdrawals.lang +++ b/htdocs/langs/kk_KZ/withdrawals.lang @@ -133,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/ar_IQ/workflow.lang b/htdocs/langs/kk_KZ/workflow.lang similarity index 93% rename from htdocs/langs/ar_IQ/workflow.lang rename to htdocs/langs/kk_KZ/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/ar_IQ/workflow.lang +++ b/htdocs/langs/kk_KZ/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/ar_IQ/zapier.lang b/htdocs/langs/kk_KZ/zapier.lang similarity index 100% rename from htdocs/langs/ar_IQ/zapier.lang rename to htdocs/langs/kk_KZ/zapier.lang diff --git a/htdocs/langs/km_KH/accountancy.lang b/htdocs/langs/km_KH/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/km_KH/accountancy.lang +++ b/htdocs/langs/km_KH/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/km_KH/admin.lang b/htdocs/langs/km_KH/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/km_KH/admin.lang +++ b/htdocs/langs/km_KH/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/km_KH/agenda.lang b/htdocs/langs/km_KH/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/km_KH/agenda.lang +++ b/htdocs/langs/km_KH/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/km_KH/banks.lang b/htdocs/langs/km_KH/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/km_KH/banks.lang +++ b/htdocs/langs/km_KH/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/km_KH/bills.lang b/htdocs/langs/km_KH/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/km_KH/bills.lang +++ b/htdocs/langs/km_KH/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/km_KH/boxes.lang b/htdocs/langs/km_KH/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/km_KH/boxes.lang +++ b/htdocs/langs/km_KH/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/km_KH/cashdesk.lang b/htdocs/langs/km_KH/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/km_KH/cashdesk.lang +++ b/htdocs/langs/km_KH/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/km_KH/compta.lang b/htdocs/langs/km_KH/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/km_KH/compta.lang +++ b/htdocs/langs/km_KH/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/km_KH/cron.lang b/htdocs/langs/km_KH/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/km_KH/cron.lang +++ b/htdocs/langs/km_KH/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/km_KH/deliveries.lang b/htdocs/langs/km_KH/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/km_KH/deliveries.lang +++ b/htdocs/langs/km_KH/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/km_KH/errors.lang b/htdocs/langs/km_KH/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/km_KH/errors.lang +++ b/htdocs/langs/km_KH/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/km_KH/eventorganization.lang b/htdocs/langs/km_KH/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/km_KH/eventorganization.lang +++ b/htdocs/langs/km_KH/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/km_KH/exports.lang b/htdocs/langs/km_KH/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/km_KH/exports.lang +++ b/htdocs/langs/km_KH/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/km_KH/holiday.lang b/htdocs/langs/km_KH/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/km_KH/holiday.lang +++ b/htdocs/langs/km_KH/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/km_KH/hrm.lang b/htdocs/langs/km_KH/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/km_KH/hrm.lang +++ b/htdocs/langs/km_KH/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/km_KH/install.lang b/htdocs/langs/km_KH/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/km_KH/install.lang +++ b/htdocs/langs/km_KH/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/km_KH/interventions.lang b/htdocs/langs/km_KH/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/km_KH/interventions.lang +++ b/htdocs/langs/km_KH/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/km_KH/knowledgemanagement.lang b/htdocs/langs/km_KH/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/km_KH/knowledgemanagement.lang +++ b/htdocs/langs/km_KH/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/km_KH/languages.lang b/htdocs/langs/km_KH/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/km_KH/languages.lang +++ b/htdocs/langs/km_KH/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/km_KH/mails.lang b/htdocs/langs/km_KH/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/km_KH/mails.lang +++ b/htdocs/langs/km_KH/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/km_KH/main.lang b/htdocs/langs/km_KH/main.lang index 8732bfe917c..f00b229e59f 100644 --- a/htdocs/langs/km_KH/main.lang +++ b/htdocs/langs/km_KH/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/km_KH/members.lang b/htdocs/langs/km_KH/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/km_KH/members.lang +++ b/htdocs/langs/km_KH/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/km_KH/modulebuilder.lang b/htdocs/langs/km_KH/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/km_KH/modulebuilder.lang +++ b/htdocs/langs/km_KH/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/km_KH/mrp.lang b/htdocs/langs/km_KH/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/km_KH/mrp.lang +++ b/htdocs/langs/km_KH/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/km_KH/orders.lang b/htdocs/langs/km_KH/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/km_KH/orders.lang +++ b/htdocs/langs/km_KH/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/km_KH/other.lang b/htdocs/langs/km_KH/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/km_KH/other.lang +++ b/htdocs/langs/km_KH/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/km_KH/partnership.lang b/htdocs/langs/km_KH/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/km_KH/partnership.lang +++ b/htdocs/langs/km_KH/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/km_KH/productbatch.lang b/htdocs/langs/km_KH/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/km_KH/productbatch.lang +++ b/htdocs/langs/km_KH/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/km_KH/products.lang b/htdocs/langs/km_KH/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/km_KH/products.lang +++ b/htdocs/langs/km_KH/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/km_KH/projects.lang b/htdocs/langs/km_KH/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/km_KH/projects.lang +++ b/htdocs/langs/km_KH/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/km_KH/receptions.lang b/htdocs/langs/km_KH/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/km_KH/receptions.lang +++ b/htdocs/langs/km_KH/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/km_KH/salaries.lang b/htdocs/langs/km_KH/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/km_KH/salaries.lang +++ b/htdocs/langs/km_KH/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/km_KH/stocks.lang b/htdocs/langs/km_KH/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/km_KH/stocks.lang +++ b/htdocs/langs/km_KH/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/km_KH/ticket.lang b/htdocs/langs/km_KH/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/km_KH/ticket.lang +++ b/htdocs/langs/km_KH/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/km_KH/trips.lang b/htdocs/langs/km_KH/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/km_KH/trips.lang +++ b/htdocs/langs/km_KH/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/km_KH/users.lang b/htdocs/langs/km_KH/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/km_KH/users.lang +++ b/htdocs/langs/km_KH/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/km_KH/website.lang b/htdocs/langs/km_KH/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/km_KH/website.lang +++ b/htdocs/langs/km_KH/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/km_KH/withdrawals.lang b/htdocs/langs/km_KH/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/km_KH/withdrawals.lang +++ b/htdocs/langs/km_KH/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/km_KH/workflow.lang b/htdocs/langs/km_KH/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/km_KH/workflow.lang +++ b/htdocs/langs/km_KH/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/kn_IN/accountancy.lang b/htdocs/langs/kn_IN/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/kn_IN/accountancy.lang +++ b/htdocs/langs/kn_IN/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/kn_IN/admin.lang b/htdocs/langs/kn_IN/admin.lang index 0c10c3d755f..3071b511b36 100644 --- a/htdocs/langs/kn_IN/admin.lang +++ b/htdocs/langs/kn_IN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/kn_IN/agenda.lang b/htdocs/langs/kn_IN/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/kn_IN/agenda.lang +++ b/htdocs/langs/kn_IN/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/kn_IN/banks.lang b/htdocs/langs/kn_IN/banks.lang index 26a8b041e45..2e211c58a17 100644 --- a/htdocs/langs/kn_IN/banks.lang +++ b/htdocs/langs/kn_IN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/kn_IN/bills.lang b/htdocs/langs/kn_IN/bills.lang index 2477701eef5..2eb5d99fb74 100644 --- a/htdocs/langs/kn_IN/bills.lang +++ b/htdocs/langs/kn_IN/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/kn_IN/boxes.lang b/htdocs/langs/kn_IN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/kn_IN/boxes.lang +++ b/htdocs/langs/kn_IN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/kn_IN/cashdesk.lang b/htdocs/langs/kn_IN/cashdesk.lang index 1553c32c5a6..2e0c193fd94 100644 --- a/htdocs/langs/kn_IN/cashdesk.lang +++ b/htdocs/langs/kn_IN/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/kn_IN/compta.lang b/htdocs/langs/kn_IN/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/kn_IN/compta.lang +++ b/htdocs/langs/kn_IN/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/kn_IN/cron.lang b/htdocs/langs/kn_IN/cron.lang index 4b73818c3aa..575b325e11d 100644 --- a/htdocs/langs/kn_IN/cron.lang +++ b/htdocs/langs/kn_IN/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/kn_IN/deliveries.lang b/htdocs/langs/kn_IN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/kn_IN/deliveries.lang +++ b/htdocs/langs/kn_IN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/kn_IN/errors.lang b/htdocs/langs/kn_IN/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/kn_IN/errors.lang +++ b/htdocs/langs/kn_IN/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/kn_IN/eventorganization.lang b/htdocs/langs/kn_IN/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/kn_IN/eventorganization.lang +++ b/htdocs/langs/kn_IN/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/kn_IN/exports.lang b/htdocs/langs/kn_IN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/kn_IN/exports.lang +++ b/htdocs/langs/kn_IN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/kn_IN/holiday.lang b/htdocs/langs/kn_IN/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/kn_IN/holiday.lang +++ b/htdocs/langs/kn_IN/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/kn_IN/hrm.lang b/htdocs/langs/kn_IN/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/kn_IN/hrm.lang +++ b/htdocs/langs/kn_IN/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/kn_IN/install.lang b/htdocs/langs/kn_IN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/kn_IN/install.lang +++ b/htdocs/langs/kn_IN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/kn_IN/interventions.lang b/htdocs/langs/kn_IN/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/kn_IN/interventions.lang +++ b/htdocs/langs/kn_IN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/kn_IN/knowledgemanagement.lang b/htdocs/langs/kn_IN/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/kn_IN/knowledgemanagement.lang +++ b/htdocs/langs/kn_IN/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/kn_IN/languages.lang b/htdocs/langs/kn_IN/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/kn_IN/languages.lang +++ b/htdocs/langs/kn_IN/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/kn_IN/mails.lang b/htdocs/langs/kn_IN/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/kn_IN/mails.lang +++ b/htdocs/langs/kn_IN/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/kn_IN/main.lang b/htdocs/langs/kn_IN/main.lang index bdd823a6664..d66254bd4b4 100644 --- a/htdocs/langs/kn_IN/main.lang +++ b/htdocs/langs/kn_IN/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/kn_IN/members.lang b/htdocs/langs/kn_IN/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/kn_IN/members.lang +++ b/htdocs/langs/kn_IN/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/kn_IN/modulebuilder.lang b/htdocs/langs/kn_IN/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/kn_IN/modulebuilder.lang +++ b/htdocs/langs/kn_IN/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/kn_IN/mrp.lang b/htdocs/langs/kn_IN/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/kn_IN/mrp.lang +++ b/htdocs/langs/kn_IN/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/kn_IN/orders.lang b/htdocs/langs/kn_IN/orders.lang index 8ae27a2c870..a60327dec7d 100644 --- a/htdocs/langs/kn_IN/orders.lang +++ b/htdocs/langs/kn_IN/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/kn_IN/other.lang b/htdocs/langs/kn_IN/other.lang index a4e928da2d2..9d9f59410a8 100644 --- a/htdocs/langs/kn_IN/other.lang +++ b/htdocs/langs/kn_IN/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/kn_IN/partnership.lang b/htdocs/langs/kn_IN/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/kn_IN/partnership.lang +++ b/htdocs/langs/kn_IN/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/kn_IN/productbatch.lang b/htdocs/langs/kn_IN/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/kn_IN/productbatch.lang +++ b/htdocs/langs/kn_IN/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/kn_IN/products.lang b/htdocs/langs/kn_IN/products.lang index a84efa5fa7c..46d3a21e296 100644 --- a/htdocs/langs/kn_IN/products.lang +++ b/htdocs/langs/kn_IN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/kn_IN/projects.lang b/htdocs/langs/kn_IN/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/kn_IN/projects.lang +++ b/htdocs/langs/kn_IN/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/kn_IN/receptions.lang b/htdocs/langs/kn_IN/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/kn_IN/receptions.lang +++ b/htdocs/langs/kn_IN/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/kn_IN/salaries.lang b/htdocs/langs/kn_IN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/kn_IN/salaries.lang +++ b/htdocs/langs/kn_IN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/kn_IN/stocks.lang b/htdocs/langs/kn_IN/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/kn_IN/stocks.lang +++ b/htdocs/langs/kn_IN/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/kn_IN/ticket.lang b/htdocs/langs/kn_IN/ticket.lang index 852cabefb2b..04a4d6e89ab 100644 --- a/htdocs/langs/kn_IN/ticket.lang +++ b/htdocs/langs/kn_IN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=ಇತರ @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=ಮುಚ್ಚಲಾಗಿದೆ +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/kn_IN/trips.lang b/htdocs/langs/kn_IN/trips.lang index 18d9c82cd01..cd7bd76f557 100644 --- a/htdocs/langs/kn_IN/trips.lang +++ b/htdocs/langs/kn_IN/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/kn_IN/users.lang b/htdocs/langs/kn_IN/users.lang index effac97d337..8bedecb9218 100644 --- a/htdocs/langs/kn_IN/users.lang +++ b/htdocs/langs/kn_IN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/kn_IN/website.lang b/htdocs/langs/kn_IN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/kn_IN/website.lang +++ b/htdocs/langs/kn_IN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/kn_IN/withdrawals.lang b/htdocs/langs/kn_IN/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/kn_IN/withdrawals.lang +++ b/htdocs/langs/kn_IN/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/kn_IN/workflow.lang b/htdocs/langs/kn_IN/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/kn_IN/workflow.lang +++ b/htdocs/langs/kn_IN/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/ko_KR/accountancy.lang b/htdocs/langs/ko_KR/accountancy.lang index 53aeba6a47d..1aaa49aa273 100644 --- a/htdocs/langs/ko_KR/accountancy.lang +++ b/htdocs/langs/ko_KR/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index 1a54ad1c182..4410c3f2831 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=외부사용자 InternalUsers=내부사용자\n ExternalUsers=외부사용자 +UserInterface=User interface GUISetup=화면 SetupArea=설정 UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=모든 NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=권장 +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ko_KR/agenda.lang b/htdocs/langs/ko_KR/agenda.lang index fbdadd09422..1e4c3dd631b 100644 --- a/htdocs/langs/ko_KR/agenda.lang +++ b/htdocs/langs/ko_KR/agenda.lang @@ -4,7 +4,7 @@ Actions=이벤트 Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=소유자 AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=이벤트 목록 EventReports=Event reports Location=위치 -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=시작일 @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/ko_KR/banks.lang b/htdocs/langs/ko_KR/banks.lang index 76102f7a731..d10df617541 100644 --- a/htdocs/langs/ko_KR/banks.lang +++ b/htdocs/langs/ko_KR/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ko_KR/bills.lang b/htdocs/langs/ko_KR/bills.lang index 4eee15767e7..53fa779a594 100644 --- a/htdocs/langs/ko_KR/bills.lang +++ b/htdocs/langs/ko_KR/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/ko_KR/boxes.lang b/htdocs/langs/ko_KR/boxes.lang index a65fcc0e16b..1f786818946 100644 --- a/htdocs/langs/ko_KR/boxes.lang +++ b/htdocs/langs/ko_KR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=고객 송장 ForCustomersOrders=고객 주문 ForProposals=제안 diff --git a/htdocs/langs/ko_KR/cashdesk.lang b/htdocs/langs/ko_KR/cashdesk.lang index ccf4c12504b..9a75915369c 100644 --- a/htdocs/langs/ko_KR/cashdesk.lang +++ b/htdocs/langs/ko_KR/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ko_KR/compta.lang b/htdocs/langs/ko_KR/compta.lang index 91bceb5e350..8a9f8b8c2b2 100644 --- a/htdocs/langs/ko_KR/compta.lang +++ b/htdocs/langs/ko_KR/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/ko_KR/cron.lang b/htdocs/langs/ko_KR/cron.lang index bbf04428a8c..f34354543bf 100644 --- a/htdocs/langs/ko_KR/cron.lang +++ b/htdocs/langs/ko_KR/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=사용 안함 -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/ko_KR/deliveries.lang b/htdocs/langs/ko_KR/deliveries.lang index 19a2ebe4d02..b3a63cc4e78 100644 --- a/htdocs/langs/ko_KR/deliveries.lang +++ b/htdocs/langs/ko_KR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ko_KR/eventorganization.lang b/htdocs/langs/ko_KR/eventorganization.lang index 159c452242a..670254924e8 100644 --- a/htdocs/langs/ko_KR/eventorganization.lang +++ b/htdocs/langs/ko_KR/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/ko_KR/exports.lang b/htdocs/langs/ko_KR/exports.lang index fda64411c9f..445f09b42a4 100644 --- a/htdocs/langs/ko_KR/exports.lang +++ b/htdocs/langs/ko_KR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ko_KR/holiday.lang b/htdocs/langs/ko_KR/holiday.lang index 5245d12037b..6ea824810d2 100644 --- a/htdocs/langs/ko_KR/holiday.lang +++ b/htdocs/langs/ko_KR/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=승인됨 CancelCP=취소 된 RefuseCP=거절됨 -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=편집하다 @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=사용자 ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ko_KR/hrm.lang b/htdocs/langs/ko_KR/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/ko_KR/hrm.lang +++ b/htdocs/langs/ko_KR/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index b528753cdc6..37c88031d49 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ko_KR/interventions.lang b/htdocs/langs/ko_KR/interventions.lang index 3be481c3ddf..be6808b4ea2 100644 --- a/htdocs/langs/ko_KR/interventions.lang +++ b/htdocs/langs/ko_KR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/ko_KR/knowledgemanagement.lang b/htdocs/langs/ko_KR/knowledgemanagement.lang index bf81f127258..b22e15d533e 100644 --- a/htdocs/langs/ko_KR/knowledgemanagement.lang +++ b/htdocs/langs/ko_KR/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = 개략 KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/ko_KR/languages.lang b/htdocs/langs/ko_KR/languages.lang index f81f3e8d03d..10d9736bf9d 100644 --- a/htdocs/langs/ko_KR/languages.lang +++ b/htdocs/langs/ko_KR/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=아랍어 Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=아랍어 +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=벵골어 Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=네덜란드어 (벨기에) Language_nl_NL=Dutch Language_pl_PL=폴란드어 +Language_pt_AO=Portuguese (Angola) Language_pt_BR=포르투갈어 (브라질) Language_pt_PT=포르투갈어 +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=루마니아어 Language_ru_RU=러시아어 Language_ru_UA=러시아어 (우크라이나) diff --git a/htdocs/langs/ko_KR/mails.lang b/htdocs/langs/ko_KR/mails.lang index d4a00dd719e..0dffdf1ba49 100644 --- a/htdocs/langs/ko_KR/mails.lang +++ b/htdocs/langs/ko_KR/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index 3e4f76343ab..4866f431c83 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -4,7 +4,7 @@ DIRECTION=ltr # msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) # stsongstdlight or cid0cs are for simplified Chinese # To read Chinese pdf with Linux: sudo apt-get install poppler-data -FONTFORPDF=헬 베티 카 +FONTFORPDF=cid0kr FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=None @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=세율 +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=회원 MenuAgendaGoogle=구글 의제 MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr한계 (메뉴 홈-설정-보안): %s Kb, PHP 한계: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=현재 언어 CurrentTheme=현재 테마 @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/ko_KR/members.lang b/htdocs/langs/ko_KR/members.lang index f1eda130c94..b61d253a6a8 100644 --- a/htdocs/langs/ko_KR/members.lang +++ b/htdocs/langs/ko_KR/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/ko_KR/modulebuilder.lang b/htdocs/langs/ko_KR/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/ko_KR/modulebuilder.lang +++ b/htdocs/langs/ko_KR/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/ko_KR/mrp.lang b/htdocs/langs/ko_KR/mrp.lang index ec999a473a4..9ea63ea0c0c 100644 --- a/htdocs/langs/ko_KR/mrp.lang +++ b/htdocs/langs/ko_KR/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=삭제 NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/ko_KR/orders.lang b/htdocs/langs/ko_KR/orders.lang index 15ea1253bc4..c695af8fb73 100644 --- a/htdocs/langs/ko_KR/orders.lang +++ b/htdocs/langs/ko_KR/orders.lang @@ -11,6 +11,7 @@ OrderDate=주문일 OrderDateShort=주문일 OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/ko_KR/other.lang b/htdocs/langs/ko_KR/other.lang index 479d5c3915e..88296fd968a 100644 --- a/htdocs/langs/ko_KR/other.lang +++ b/htdocs/langs/ko_KR/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = 닫기 diff --git a/htdocs/langs/ko_KR/partnership.lang b/htdocs/langs/ko_KR/partnership.lang index 76f29213307..11874c6ad1a 100644 --- a/htdocs/langs/ko_KR/partnership.lang +++ b/htdocs/langs/ko_KR/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=시작날짜 DatePartnershipEnd=종료날짜 +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = 작성 -PartnershipAccepted = Accepted -PartnershipRefused = 거절됨 -PartnershipCanceled = 취소 됨 - +PartnershipDraft=작성 +PartnershipAccepted=Accepted +PartnershipRefused=거절됨 +PartnershipCanceled=취소 됨 PartnershipManagedFor=Partners are diff --git a/htdocs/langs/ko_KR/productbatch.lang b/htdocs/langs/ko_KR/productbatch.lang index 54e34241620..94f4785c348 100644 --- a/htdocs/langs/ko_KR/productbatch.lang +++ b/htdocs/langs/ko_KR/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=생산일련번호 사용 ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=묶음제품 또는 일련번호별제품 이동기록 StockDetailPerBatch=일련번호별 재고내역 SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index 7d3974c3ce1..a19db7fe2b1 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index f96d108ce0a..c82dd8bdb3a 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/ko_KR/receptions.lang b/htdocs/langs/ko_KR/receptions.lang index 7ddcf5a2cf0..e5afa8f5927 100644 --- a/htdocs/langs/ko_KR/receptions.lang +++ b/htdocs/langs/ko_KR/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/ko_KR/salaries.lang b/htdocs/langs/ko_KR/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/ko_KR/salaries.lang +++ b/htdocs/langs/ko_KR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ko_KR/stocks.lang b/htdocs/langs/ko_KR/stocks.lang index 062257db139..cc11e17e7b2 100644 --- a/htdocs/langs/ko_KR/stocks.lang +++ b/htdocs/langs/ko_KR/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=값 -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ko_KR/ticket.lang b/htdocs/langs/ko_KR/ticket.lang index 211a1bd4526..e0202df67d8 100644 --- a/htdocs/langs/ko_KR/ticket.lang +++ b/htdocs/langs/ko_KR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=기타 @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=닫혔음 +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/ko_KR/trips.lang b/htdocs/langs/ko_KR/trips.lang index ba2ea84d565..9d79cec178b 100644 --- a/htdocs/langs/ko_KR/trips.lang +++ b/htdocs/langs/ko_KR/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=유효성 확인 일 DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/ko_KR/users.lang b/htdocs/langs/ko_KR/users.lang index 34e93843c41..14ca6524035 100644 --- a/htdocs/langs/ko_KR/users.lang +++ b/htdocs/langs/ko_KR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ko_KR/website.lang b/htdocs/langs/ko_KR/website.lang index c5fbd107065..0045ce25f8f 100644 --- a/htdocs/langs/ko_KR/website.lang +++ b/htdocs/langs/ko_KR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ko_KR/withdrawals.lang b/htdocs/langs/ko_KR/withdrawals.lang index eef5a3b1a94..bf64c651cf9 100644 --- a/htdocs/langs/ko_KR/withdrawals.lang +++ b/htdocs/langs/ko_KR/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/ko_KR/workflow.lang b/htdocs/langs/ko_KR/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/ko_KR/workflow.lang +++ b/htdocs/langs/ko_KR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/lo_LA/accountancy.lang b/htdocs/langs/lo_LA/accountancy.lang index 31b3bae5003..5f9da2aa0fd 100644 --- a/htdocs/langs/lo_LA/accountancy.lang +++ b/htdocs/langs/lo_LA/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/lo_LA/admin.lang b/htdocs/langs/lo_LA/admin.lang index 74c124e3051..7895f1cbe34 100644 --- a/htdocs/langs/lo_LA/admin.lang +++ b/htdocs/langs/lo_LA/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/lo_LA/agenda.lang b/htdocs/langs/lo_LA/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/lo_LA/agenda.lang +++ b/htdocs/langs/lo_LA/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/lo_LA/banks.lang b/htdocs/langs/lo_LA/banks.lang index 3884496ab64..83763cb7e8d 100644 --- a/htdocs/langs/lo_LA/banks.lang +++ b/htdocs/langs/lo_LA/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/lo_LA/bills.lang b/htdocs/langs/lo_LA/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/lo_LA/bills.lang +++ b/htdocs/langs/lo_LA/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/lo_LA/boxes.lang b/htdocs/langs/lo_LA/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/lo_LA/boxes.lang +++ b/htdocs/langs/lo_LA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/lo_LA/cashdesk.lang b/htdocs/langs/lo_LA/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/lo_LA/cashdesk.lang +++ b/htdocs/langs/lo_LA/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/lo_LA/compta.lang b/htdocs/langs/lo_LA/compta.lang index 1f9c7124db6..88d80559f16 100644 --- a/htdocs/langs/lo_LA/compta.lang +++ b/htdocs/langs/lo_LA/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/lo_LA/cron.lang b/htdocs/langs/lo_LA/cron.lang index 86ecd876e5a..11cc35ea080 100644 --- a/htdocs/langs/lo_LA/cron.lang +++ b/htdocs/langs/lo_LA/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=ປິດການນຳໃຊ້ -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/lo_LA/deliveries.lang b/htdocs/langs/lo_LA/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/lo_LA/deliveries.lang +++ b/htdocs/langs/lo_LA/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/lo_LA/errors.lang b/htdocs/langs/lo_LA/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/lo_LA/errors.lang +++ b/htdocs/langs/lo_LA/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/lo_LA/eventorganization.lang b/htdocs/langs/lo_LA/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/lo_LA/eventorganization.lang +++ b/htdocs/langs/lo_LA/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/lo_LA/exports.lang b/htdocs/langs/lo_LA/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/lo_LA/exports.lang +++ b/htdocs/langs/lo_LA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/lo_LA/holiday.lang b/htdocs/langs/lo_LA/holiday.lang index 63e88e7045a..192047cb39f 100644 --- a/htdocs/langs/lo_LA/holiday.lang +++ b/htdocs/langs/lo_LA/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/lo_LA/hrm.lang b/htdocs/langs/lo_LA/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/lo_LA/hrm.lang +++ b/htdocs/langs/lo_LA/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/lo_LA/install.lang b/htdocs/langs/lo_LA/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/lo_LA/install.lang +++ b/htdocs/langs/lo_LA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/lo_LA/interventions.lang b/htdocs/langs/lo_LA/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/lo_LA/interventions.lang +++ b/htdocs/langs/lo_LA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/lo_LA/knowledgemanagement.lang b/htdocs/langs/lo_LA/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/lo_LA/knowledgemanagement.lang +++ b/htdocs/langs/lo_LA/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/lo_LA/languages.lang b/htdocs/langs/lo_LA/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/lo_LA/languages.lang +++ b/htdocs/langs/lo_LA/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/lo_LA/mails.lang b/htdocs/langs/lo_LA/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/lo_LA/mails.lang +++ b/htdocs/langs/lo_LA/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/lo_LA/main.lang b/htdocs/langs/lo_LA/main.lang index 85f622e4796..0484ecd4efa 100644 --- a/htdocs/langs/lo_LA/main.lang +++ b/htdocs/langs/lo_LA/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/lo_LA/members.lang b/htdocs/langs/lo_LA/members.lang index 304c76e63aa..7f9ef8c2392 100644 --- a/htdocs/langs/lo_LA/members.lang +++ b/htdocs/langs/lo_LA/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/lo_LA/modulebuilder.lang b/htdocs/langs/lo_LA/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/lo_LA/modulebuilder.lang +++ b/htdocs/langs/lo_LA/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/lo_LA/mrp.lang b/htdocs/langs/lo_LA/mrp.lang index ec999a473a4..daffab535ba 100644 --- a/htdocs/langs/lo_LA/mrp.lang +++ b/htdocs/langs/lo_LA/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=ລຶບ NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/lo_LA/orders.lang b/htdocs/langs/lo_LA/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/lo_LA/orders.lang +++ b/htdocs/langs/lo_LA/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/lo_LA/other.lang b/htdocs/langs/lo_LA/other.lang index adb85986033..84b8c9cf4cd 100644 --- a/htdocs/langs/lo_LA/other.lang +++ b/htdocs/langs/lo_LA/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/lo_LA/partnership.lang b/htdocs/langs/lo_LA/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/lo_LA/partnership.lang +++ b/htdocs/langs/lo_LA/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/lo_LA/productbatch.lang b/htdocs/langs/lo_LA/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/lo_LA/productbatch.lang +++ b/htdocs/langs/lo_LA/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/lo_LA/products.lang b/htdocs/langs/lo_LA/products.lang index da4cf4d7302..69dbbe00b07 100644 --- a/htdocs/langs/lo_LA/products.lang +++ b/htdocs/langs/lo_LA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/lo_LA/projects.lang b/htdocs/langs/lo_LA/projects.lang index 50e0af1b278..84dc98e06da 100644 --- a/htdocs/langs/lo_LA/projects.lang +++ b/htdocs/langs/lo_LA/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/lo_LA/receptions.lang b/htdocs/langs/lo_LA/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/lo_LA/receptions.lang +++ b/htdocs/langs/lo_LA/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/lo_LA/salaries.lang b/htdocs/langs/lo_LA/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/lo_LA/salaries.lang +++ b/htdocs/langs/lo_LA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/lo_LA/stocks.lang b/htdocs/langs/lo_LA/stocks.lang index ebc2fc967da..4cdac199b62 100644 --- a/htdocs/langs/lo_LA/stocks.lang +++ b/htdocs/langs/lo_LA/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/lo_LA/ticket.lang b/htdocs/langs/lo_LA/ticket.lang index f8eede2eb93..46a4bffb4ca 100644 --- a/htdocs/langs/lo_LA/ticket.lang +++ b/htdocs/langs/lo_LA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/lo_LA/trips.lang b/htdocs/langs/lo_LA/trips.lang index e34078e8fc2..c9a6c792077 100644 --- a/htdocs/langs/lo_LA/trips.lang +++ b/htdocs/langs/lo_LA/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/lo_LA/users.lang b/htdocs/langs/lo_LA/users.lang index dd400e54715..7be0f7488c5 100644 --- a/htdocs/langs/lo_LA/users.lang +++ b/htdocs/langs/lo_LA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/lo_LA/website.lang b/htdocs/langs/lo_LA/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/lo_LA/website.lang +++ b/htdocs/langs/lo_LA/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/lo_LA/withdrawals.lang b/htdocs/langs/lo_LA/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/lo_LA/withdrawals.lang +++ b/htdocs/langs/lo_LA/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/lo_LA/workflow.lang b/htdocs/langs/lo_LA/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/lo_LA/workflow.lang +++ b/htdocs/langs/lo_LA/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/lt_LT/accountancy.lang b/htdocs/langs/lt_LT/accountancy.lang index 2fc1172e648..c85c1feb71e 100644 --- a/htdocs/langs/lt_LT/accountancy.lang +++ b/htdocs/langs/lt_LT/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Išjungti tiesioginį sandorio įrašymą banko sąskaitoje ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Įgalinti eksporto projektą žurnale -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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=Apskaitos sąskaitų sąrašas UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Eksportuoti žurnalo projektą Modelcsv=Eksporto modelis Selectmodelcsv=Pasirinkite eksporto modelį @@ -335,7 +339,7 @@ Modelcsv_normal=Klasikinis eksportas Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 605cfb3ab80..f48f55b9828 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -53,6 +53,7 @@ InternalUser=Vidinis naudotojas ExternalUser=Išorinis naudotojas InternalUsers=Vidiniai naudotojai ExternalUsers=Išoriniai naudotojai +UserInterface=User interface GUISetup=Atvaizdavimas SetupArea=Nustatymai UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Neprieinamas, Ajax esant išjungtam AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript išjungtas UsePreviewTabs=Nautdoti apžiūros korteles ShowPreview=Rodyti apžiūrą @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Apribojimai ir tikslumas MenuIdParent=Pagrindinio meniu ID DetailMenuIdParent=Pagrindinio meniu ID (tuščias aukščiausiam meniu lygiui) +ParentID=Parent ID DetailPosition=Meniu pozicijos eilės numeris AllMenus=Visi NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Rodomi tik elementai iš leidžiami moduliai. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, oficiali Dolibarr ERP / CRM išorinių modulių parduotuvė @@ -399,6 +403,7 @@ SecurityToken=URL apsaugos raktai NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Sutartys / Abonentai Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Brūkšniniai kodai -Module55Desc=Brūkšninių kodų valdymas +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Sukurti/keisti nuolaidas Permission403=Patvirtinti nuolaidas Permission404=Ištrinti nuolaidas Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Eksportuoti atlyginimus Permission520=Skaityti Paskolas Permission522=Sukurti / redaguoti paskolas @@ -965,6 +970,8 @@ Permission23003=Panaikinti planinį darbą Permission23004=Vykdyti planinį darbą Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Skaityti sandorius/transakcijas Permission50202=Importuoti sandorius/transakcijas Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Nustatymai išsaugoti SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Auditas +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcijos negalimos Jūsų PHP DownloadMoreSkins=Parsisiųsti daugiau grafinių vaizdų (skins) SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Dalinis vertimas MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Dabartinė būklė yra %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Paieškos optimizavimas -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Pagrindinės opcijos AdherentLoginRequired= Valdyti kiekvieno nario Prisijungimą AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Patvirtinimas paukščiuku žymimame langelyje pašto siuntimui nariams (patvirtinimas arba nauja įmoka) yra pagal nutylėjimą +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial modulio nuostatos ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Rekomenduojamas +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/lt_LT/agenda.lang b/htdocs/langs/lt_LT/agenda.lang index 4190286b778..1bfb8ce9b75 100644 --- a/htdocs/langs/lt_LT/agenda.lang +++ b/htdocs/langs/lt_LT/agenda.lang @@ -4,7 +4,7 @@ Actions=Įvykiai Agenda=Operacijų sąrašas TMenuAgenda=Operacijų sąrašas Agendas=Operacijų sąrašai -LocalAgenda=Vidinis kalendorius +LocalAgenda=Default calendar ActionsOwnedBy=Įvykio savininkas ActionsOwnedByShort=Savininkas AffectedTo=Priskirtas @@ -14,13 +14,13 @@ EventsNb=Įvykių skaičius ListOfActions=Įvykių sąrašas EventReports=Event reports Location=Vieta -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Visos (-ų) dienos (-ų) įvykis MenuToDoActions=Visi neužbaigti įvykiai MenuDoneActions=Visi užbaigti/nutraukti įvykiai MenuToDoMyActions=Mano neužbaigti įvykiai MenuDoneMyActions=Mano užbaigti/nutraukti įvykiai -ListOfEvents=Įvykių sąrašas (vidinis kalendorius) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Įvykiai, apie kuriuos pranešė ActionsToDoBy=Įvykiai priskirti ActionsDoneBy=Įvykiai atlikti @@ -38,6 +38,7 @@ ActionsEvents=Įvykiai, kuriems Dolibarr sukurs veiksmą operacijų sąraše aut EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Pradžios data @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Užimtas ExportDataset_event1=Operacijos įvykių sąrašas @@ -152,6 +155,7 @@ ActionType=Įvykio tipas DateActionBegin=Pradėti įvykio datą ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/lt_LT/banks.lang b/htdocs/langs/lt_LT/banks.lang index a48924c160f..4f2d3b13a4d 100644 --- a/htdocs/langs/lt_LT/banks.lang +++ b/htdocs/langs/lt_LT/banks.lang @@ -115,7 +115,7 @@ TransferTo=Į TransferFromToDone=Pervedimas %s%s į %s užregistruotas. CheckTransmitter=Siuntėjas ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Banko čekiai diff --git a/htdocs/langs/lt_LT/bills.lang b/htdocs/langs/lt_LT/bills.lang index 441d539ec70..6e691b6d95d 100644 --- a/htdocs/langs/lt_LT/bills.lang +++ b/htdocs/langs/lt_LT/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Numatytas apmokėjimo terminas DateInvoice=Sąskaitos-faktūros data DatePointOfTax=Point of tax NoInvoice=Nėra sąskaitos-faktūros +NoOpenInvoice=No open invoice ClassifyBill=Priskirti sąskaitą-faktūrą SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Neapmokėtos kliento sąskaitos @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/lt_LT/boxes.lang b/htdocs/langs/lt_LT/boxes.lang index eba996dc6ec..b56b86ef602 100644 --- a/htdocs/langs/lt_LT/boxes.lang +++ b/htdocs/langs/lt_LT/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Klientų sąskaitos-faktūros ForCustomersOrders=Klientų užsakymai ForProposals=Pasiūlymai diff --git a/htdocs/langs/lt_LT/cashdesk.lang b/htdocs/langs/lt_LT/cashdesk.lang index e01655aeb97..868d63f2fd8 100644 --- a/htdocs/langs/lt_LT/cashdesk.lang +++ b/htdocs/langs/lt_LT/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/lt_LT/compta.lang b/htdocs/langs/lt_LT/compta.lang index f818e3cec01..8c7a570eaff 100644 --- a/htdocs/langs/lt_LT/compta.lang +++ b/htdocs/langs/lt_LT/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/lt_LT/cron.lang b/htdocs/langs/lt_LT/cron.lang index 2433b64aa50..5f3737e48b4 100644 --- a/htdocs/langs/lt_LT/cron.lang +++ b/htdocs/langs/lt_LT/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Pabaigos data negali būti ankstesnė už pradžios datą StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Išjungti -CronTaskInactive=Šis darbas yra išjungtas +CronTaskInactive=This job is disabled (not scheduled) CronId=ID CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/lt_LT/deliveries.lang b/htdocs/langs/lt_LT/deliveries.lang index ea5c1f3265a..0c394aef77d 100644 --- a/htdocs/langs/lt_LT/deliveries.lang +++ b/htdocs/langs/lt_LT/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Gavėjas ErrorStockIsNotEnough=Nėra pakankamai atsargų Shippable=Pristatomas NonShippable=Nepristatomas +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index 964c82e93f7..7f293e70092 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Prisijungimas %s jau egzistuoja ErrorGroupAlreadyExists=Grupė %s jau egzistuoja +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Įrašo nerasta ErrorFailToCopyFile=Nepavyko nukopijuoti failo '%s' į '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Nepavyko perskaityti failo '%s' ErrorCantReadDir=Nepavyko perskaityti aplanko '%s' ErrorBadLoginPassword=Bloga Prijungimo ar slaptažodžio reikšmė ErrorLoginDisabled=Jūsų sąskaita buvo išjungta -ErrorFailedToRunExternalCommand=Nepavyko paleisti išorinės komandos. Patikrinkite, ar ji prieinama ir galima Jūsų PHP serveryje. Jei PHP Safe Mode yra įjungta, patikrinkite, ar komanda viduje aplanko yra apibrėžta parametru safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Nepavyko pakeisti slaptažodžio ErrorLoginDoesNotExists=Vartotojas su prisijungimu %s nerastas ErrorLoginHasNoEmail=Šis vartotojas neturi e-pašto adreso. Procesas nutrauktas. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/lt_LT/eventorganization.lang b/htdocs/langs/lt_LT/eventorganization.lang index e6caa842e88..1fe6fc39c0e 100644 --- a/htdocs/langs/lt_LT/eventorganization.lang +++ b/htdocs/langs/lt_LT/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Įvykio tipas +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/lt_LT/exports.lang b/htdocs/langs/lt_LT/exports.lang index b42cd43974d..6e8e3929002 100644 --- a/htdocs/langs/lt_LT/exports.lang +++ b/htdocs/langs/lt_LT/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Eilutės tipas (0 = produktas, 1 = paslaugos) FileWithDataToImport=Failas su duomenimis importui FileToImport=Šaltinio failas importui FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Šaltinio failo formatas diff --git a/htdocs/langs/lt_LT/holiday.lang b/htdocs/langs/lt_LT/holiday.lang index 23bb1b01b9a..c108fc38db9 100644 --- a/htdocs/langs/lt_LT/holiday.lang +++ b/htdocs/langs/lt_LT/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Laukiama patvirtinimo ApprovedCP=Patvirtinta CancelCP=Atšauktas RefuseCP=Atmestas -ValidatorCP=Tvirtintojas/aprobatorius +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Redaguoti @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Turite pasirinkti pradžios datą. NoDateFin=Turite pasirinkti pabaigos datą. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Vartotojas ErrorAddEventToUserCP=Pridedant išimtines atostogas įvyko klaida. AddEventToUserOkCP=Išimtinių atostogų pridėjimas baigtas. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Atlieka -UserUpdateCP=Vartotojui +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Ankstesnis balansas NewSoldeCP=Naujas balansas alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Mėnesio atnaujinimas ManualUpdate=Rankinis atnaujinimas @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Sėkmingai atnaujinta Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/lt_LT/hrm.lang b/htdocs/langs/lt_LT/hrm.lang index 76db8a5dc5a..3900129cf52 100644 --- a/htdocs/langs/lt_LT/hrm.lang +++ b/htdocs/langs/lt_LT/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index fd22666afd2..ce06a09c488 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Perkrauti modulį %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/lt_LT/interventions.lang b/htdocs/langs/lt_LT/interventions.lang index 12016151c84..268371b2da1 100644 --- a/htdocs/langs/lt_LT/interventions.lang +++ b/htdocs/langs/lt_LT/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/lt_LT/knowledgemanagement.lang b/htdocs/langs/lt_LT/knowledgemanagement.lang index 6463a204d54..8bc50b35886 100644 --- a/htdocs/langs/lt_LT/knowledgemanagement.lang +++ b/htdocs/langs/lt_LT/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Apie KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Prekė KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/lt_LT/languages.lang b/htdocs/langs/lt_LT/languages.lang index 571c2ed6e1b..f3d10cb5ec4 100644 --- a/htdocs/langs/lt_LT/languages.lang +++ b/htdocs/langs/lt_LT/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabų Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabų +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Olandų (Belgija) Language_nl_NL=Dutch Language_pl_PL=Lenkijos +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalų (Brazilija) Language_pt_PT=Portugalų +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumunų Language_ru_RU=Rusijos Language_ru_UA=Rusijos "(Ukraina) diff --git a/htdocs/langs/lt_LT/mails.lang b/htdocs/langs/lt_LT/mails.lang index c8e8a40977f..4c35590a725 100644 --- a/htdocs/langs/lt_LT/mails.lang +++ b/htdocs/langs/lt_LT/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index 45ab0a48f14..b3cced66b41 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Mokesčio tarifas +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Nariai MenuAgendaGoogle=Google operacijos MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr apribojimas (Meniu Pagrindinis-Nustatymai-Saugumas): %s kb, PHP apribojimas: %s kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Dabartinė vartojama kalba CurrentTheme=Dabartinė tema @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Apdoroti ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=Laikomas Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/lt_LT/members.lang b/htdocs/langs/lt_LT/members.lang index 914e30a27e4..9011261b6dc 100644 --- a/htdocs/langs/lt_LT/members.lang +++ b/htdocs/langs/lt_LT/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/lt_LT/modulebuilder.lang b/htdocs/langs/lt_LT/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/lt_LT/modulebuilder.lang +++ b/htdocs/langs/lt_LT/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/lt_LT/mrp.lang b/htdocs/langs/lt_LT/mrp.lang index ec999a473a4..a88ffc2687d 100644 --- a/htdocs/langs/lt_LT/mrp.lang +++ b/htdocs/langs/lt_LT/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Ištrinti NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/lt_LT/orders.lang b/htdocs/langs/lt_LT/orders.lang index a287e8f6dd8..967d4eeb53b 100644 --- a/htdocs/langs/lt_LT/orders.lang +++ b/htdocs/langs/lt_LT/orders.lang @@ -11,6 +11,7 @@ OrderDate=Užsakymo data OrderDateShort=Užsakymo data OrderToProcess=Užsakymo procesas NewOrder=Naujas užsakymas +NewSupplierOrderShort=Naujas užsakymas NewOrderSupplier=New Purchase Order ToOrder=Sudaryti užsakymą MakeOrder=Sudaryti užsakymą @@ -73,6 +74,7 @@ DeleteOrder=Ištrinti užsakymą CancelOrder=Atšaukti užsakymą OrderReopened= Order %s re-open AddOrder=Sukurti užsakymą +AddSupplierOrderShort=Sukurti užsakymą AddPurchaseOrder=Create purchase order AddToDraftOrders=Pridėti į užsakymo projektą ShowOrder=Rodyti užsakymą diff --git a/htdocs/langs/lt_LT/other.lang b/htdocs/langs/lt_LT/other.lang index b49798b53f9..afad504f154 100644 --- a/htdocs/langs/lt_LT/other.lang +++ b/htdocs/langs/lt_LT/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=Failas %s buvo pašalintas DirWasRemoved=Katalogas %s buvo pašalintas FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Plotis Height=Aukštis @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Eksporto sritis @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Uždaryti diff --git a/htdocs/langs/lt_LT/partnership.lang b/htdocs/langs/lt_LT/partnership.lang index 5b782eae4fc..856455ff1f8 100644 --- a/htdocs/langs/lt_LT/partnership.lang +++ b/htdocs/langs/lt_LT/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Pradžios data DatePartnershipEnd=Pabaigos data +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Projektas -PartnershipAccepted = Accepted -PartnershipRefused = Atmestas -PartnershipCanceled = Atšauktas - +PartnershipDraft=Projektas +PartnershipAccepted=Accepted +PartnershipRefused=Atmestas +PartnershipCanceled=Atšauktas PartnershipManagedFor=Partners are diff --git a/htdocs/langs/lt_LT/productbatch.lang b/htdocs/langs/lt_LT/productbatch.lang index 45c0d71128d..732ece731e1 100644 --- a/htdocs/langs/lt_LT/productbatch.lang +++ b/htdocs/langs/lt_LT/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Naudoti partiją / serijos numerį ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index 8a2fa3cca66..0734d7da53d 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Nustatykite tą pačią kainą ir kliento dukterinėms įmonėms +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimali pirkimo kaina MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Vidutinė svertinė kaina +PMPValueShort=WAP diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index e6617ff3b88..c28426757a5 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -140,6 +140,7 @@ NoTasks=Nėra uždavinių šiam projektui LinkedToAnotherCompany=Susijęs su kita trečiąja šalimi TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Praleistas laikas yra tuščias +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Šis veiksmas taip pat ištrins visas projekto užduotis (%s užduotis šiuo metu) ir visus praleisto laiko įvestus duomenis. IfNeedToUseOtherObjectKeepEmpty=Jei kai kurie objektai (sąskaitos-faktūros, užsakymai, ...), priklausantys kitai trečiąjai šaliai, turi būti susiję su kuriamu projektu, laikykite šitą tuščią, kad projektas būtų kelių trečiųjų šalių (multi). CloneTasks=Klonuoti užduotis @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Praleistas laikas TimeSpentForInvoice=Praleistas laikas OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Nauja sąskaita-faktūra +NewInter=Nauja intervencija OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/lt_LT/receptions.lang b/htdocs/langs/lt_LT/receptions.lang index 139d15f89a5..aca302d2550 100644 --- a/htdocs/langs/lt_LT/receptions.lang +++ b/htdocs/langs/lt_LT/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/lt_LT/salaries.lang b/htdocs/langs/lt_LT/salaries.lang index 3d689e4bc7c..c217f2f6b0b 100644 --- a/htdocs/langs/lt_LT/salaries.lang +++ b/htdocs/langs/lt_LT/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Atlyginimas Salaries=Atlyginimai -NewSalaryPayment=Naujas atlyginimo mokėjimas +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Atlyginimo mokėjimas SalariesPayments=Atlyginimų mokėjimai +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Rodyti atlyginimo mokėjimą THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/lt_LT/stocks.lang b/htdocs/langs/lt_LT/stocks.lang index 23397cfe047..6a96e6a5653 100644 --- a/htdocs/langs/lt_LT/stocks.lang +++ b/htdocs/langs/lt_LT/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Vieneto įsigijimo kaina StockTooLow=Atsargų per mažai StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Reikšmė -PMPValue=Vidutinė svertinė kaina -PMPValueShort=WAP EnhancedValueOfWarehouses=Sandėlių vertė UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Atidaryti iš naujo -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/lt_LT/ticket.lang b/htdocs/langs/lt_LT/ticket.lang index d6841d70ed6..4ee79139f39 100644 --- a/htdocs/langs/lt_LT/ticket.lang +++ b/htdocs/langs/lt_LT/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projektas TicketTypeShortOTHER=Kiti @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Skaityti Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Laukiama -Closed=Uždaryta +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupė +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/lt_LT/trips.lang b/htdocs/langs/lt_LT/trips.lang index d1f320da32a..d75459214d4 100644 --- a/htdocs/langs/lt_LT/trips.lang +++ b/htdocs/langs/lt_LT/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Išlaidų ataskaitos ID -AnyOtherInThisListCanValidate=Asmuo informuojamas patvirtinimui. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Informacijos įmonė TripNDF=Informacijos išlaidų ataskaiata PDFStandardExpenseReports=Standartinis šablonas PDF dokumento išlaidų ataskaitoje generavimui @@ -90,7 +90,6 @@ DATE_REFUS=Atmetimo data DATE_SAVE=Patvirtinimo data DATE_CANCEL=Nutraukimo data DATE_PAIEMENT=Mokėjimo data -BROUILLONNER=Atidaryti iš naujo ExpenseReportRef=Ref. expense report ValidateAndSubmit=Įvertinti ir pateikti tvirtinimui ValidatedWaitingApproval=Pripažintas (laukia patvirtinimo) @@ -110,7 +109,7 @@ ExpenseReportPayment=Išlaidų apmokėjimų ataskaita ExpenseReportsToApprove=Išlaidų ataskaitos patvirtinimui ExpenseReportsToPay=Apmokėti išlaidų ataskaitą ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/lt_LT/users.lang b/htdocs/langs/lt_LT/users.lang index 3365d6e7c05..00b696fd3a2 100644 --- a/htdocs/langs/lt_LT/users.lang +++ b/htdocs/langs/lt_LT/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Prisijunkite, kad galėtumet sukurti NameToCreate=Pavadinimas kuriamai trečiąjai šaliai YourRole=Jūsų vaidmenys YourQuotaOfUsersIsReached=Jūsų aktyvių vartotojų kvota išnaudota ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Tik superadministratorius gali sumažinti kito superadministratoriaus teises HierarchicalResponsible=Prižiūrėtojas HierarchicView=Hierarchinis vaizdas diff --git a/htdocs/langs/lt_LT/website.lang b/htdocs/langs/lt_LT/website.lang index 6b8c389ace1..0e627d937b9 100644 --- a/htdocs/langs/lt_LT/website.lang +++ b/htdocs/langs/lt_LT/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Puslapis -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/lt_LT/withdrawals.lang b/htdocs/langs/lt_LT/withdrawals.lang index a81864a269e..b8270a3fcff 100644 --- a/htdocs/langs/lt_LT/withdrawals.lang +++ b/htdocs/langs/lt_LT/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Priskirti įskaitytas (credited) ClassCreditedConfirm=Ar tikrai norite priskirti šias išėmimo įplaukas kaip įskaitytas (credited) į Jūsų banko sąskaitą ? TransData=Perdavimo data @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/lt_LT/workflow.lang b/htdocs/langs/lt_LT/workflow.lang index dfb6dc3193f..d880a2b135e 100644 --- a/htdocs/langs/lt_LT/workflow.lang +++ b/htdocs/langs/lt_LT/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/lv_LV/accountancy.lang b/htdocs/langs/lv_LV/accountancy.lang index 3202d3c02c7..f0620394bff 100644 --- a/htdocs/langs/lv_LV/accountancy.lang +++ b/htdocs/langs/lv_LV/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Valstis, kas nav EEK valstīs CountriesInEECExceptMe=Valstis EEK, izņemot %s CountriesExceptMe=Visas valstis, izņemot %s AccountantFiles=Eksportēt pirmdokumentus -ExportAccountingSourceDocHelp=Izmantojot šo rīku, varat eksportēt avota notikumus (sarakstu un PDF failus), kas tika izmantoti grāmatvedības ģenerēšanai. Lai eksportētu žurnālus, izmantojiet izvēlnes ierakstu %s - %s. +ExportAccountingSourceDocHelp=Izmantojot šo rīku, varat eksportēt avota notikumus (sarakstu CSV un PDF formātā), kas tika izmantoti grāmatvedības ģenerēšanai. +ExportAccountingSourceDocHelp2=Lai eksportētu žurnālus, izmantojiet izvēlnes ierakstu %s - %s. VueByAccountAccounting=Skatīt pēc grāmatvedības konta VueBySubAccountAccounting=Skatīt pēc grāmatvedības apakškonta @@ -131,7 +132,7 @@ InvoiceLinesDone=Iesaistīto rēķinu līnijas ExpenseReportLines=Izdevumu atskaites līnijas, kas saistītas ExpenseReportLinesDone=Saistītās izdevumu pārskatu līnijas IntoAccount=Bind line ar grāmatvedības kontu -TotalForAccount=Total accounting account +TotalForAccount=Kopējais grāmatvedības konts Ventilate=Saistīt @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Trešo pušu grāmatvedības kontu garums (ja iestat ACCOUNTING_MANAGE_ZERO=Atļaujiet pārvaldīt atšķirīgu skaitu nulles grāmatvedības konta beigās. Nepieciešamas dažas valstis (piemēram, Šveice). Ja iestatījums ir izslēgts (noklusējums), varat iestatīt šādus divus parametrus, lai pieprasītu lietojumprogrammai pievienot virtuālās nulles. BANK_DISABLE_DIRECT_INPUT=Atspējot tiešu darījumu reģistrāciju bankas kontā ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Iespējot eksporta projektu žurnālā -ACCOUNTANCY_COMBO_FOR_AUX=Iespējot kombinēto sarakstu papildu kontam (var būt lēni, ja jums ir daudz trešo personu) +ACCOUNTANCY_COMBO_FOR_AUX=Iespējot kombinēto sarakstu meitas kontam (tas var būt lēns, ja jums ir daudz trešo pušu, pārtraukt iespēju meklēt daļu vērtības) ACCOUNTING_DATE_START_BINDING=Definējiet datumu, lai sāktu iesiešanu un pārskaitīšanu grāmatvedībā. Zem šī datuma darījumi netiks pārnesti uz grāmatvedību. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Pārsūtot grāmatvedību, pēc noklusējuma atlasiet periodu @@ -202,14 +203,14 @@ Docref=Atsauce LabelAccount=Konta nosaukums LabelOperation=Etiķetes darbība Sens=Virziens -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=Klienta grāmatvedības kontā izmantojiet kredītu, lai reģistrētu saņemto maksājumu
    Piegādātāja grāmatvedības kontā izmantojiet Debets, lai reģistrētu veikto maksājumu LetteringCode=Burtu kods Lettering=Burti Codejournal=Žurnāls JournalLabel=Žurnāla etiķete NumPiece=Gabala numurs TransactionNumShort=Num. darījums -AccountingCategory=Custom group +AccountingCategory=Pielāgota grupa GroupByAccountAccounting=Grupēt pēc galvenās grāmatas konta GroupBySubAccountAccounting=Grupēt pēc apakšzinēja konta AccountingAccountGroupsDesc=Šeit jūs varat definēt dažas grāmatvedības kontu grupas. Tie tiks izmantoti personificētiem grāmatvedības pārskatiem. @@ -245,9 +246,9 @@ DescThirdPartyReport=Konsultējieties ar trešo pušu klientu un pārdevēju sar ListAccounts=Grāmatvedības kontu saraksts UnknownAccountForThirdparty=Nezināmas trešās puses konts. Mēs izmantosim %s UnknownAccountForThirdpartyBlocking=Nezināms trešās puses konts. Bloķēšanas kļūda -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Trešās puses konts nav definēts vai trešā persona nav zināma. Mēs izmantosim %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Trešā puse nav zināma un subleger nav definēts maksājumā. Mēs saglabāsim tukšu subleger konta vērtību. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Trešās puses konts nav definēts vai trešā persona nav zināma. Bloķēšanas kļūda. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Nav noteikts nezināms trešās puses konts un gaidīšanas konts. Bloķēšanas kļūda PaymentsNotLinkedToProduct=Maksājums nav saistīts ar kādu produktu / pakalpojumu OpeningBalance=Sākuma bilance @@ -297,7 +298,7 @@ NoNewRecordSaved=Neviens ieraksts žurnālistikai nav ListOfProductsWithoutAccountingAccount=Produktu saraksts, uz kuriem nav saistīta kāds grāmatvedības konts ChangeBinding=Mainiet saites Accounted=Uzskaitīts virsgrāmatā -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Vēl nav uzskaitīti virsgrāmatā ShowTutorial=Rādīt apmācību NotReconciled=Nesaskaņots WarningRecordWithoutSubledgerAreExcluded=Brīdinājums: visas darbības, kurās nav definēts apakškārtas konts, tiek filtrētas un izslēgtas no šī skata @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Atspējot saistīšanu un pārsūtīšan ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Atspējojiet grāmatvedībā iesiešanu un pārskaitīšanu izdevumu pārskatos (grāmatvedībā netiks ņemti vērā izdevumu pārskati) ## Export +NotifiedExportDate=Paziņots eksporta datums (ierakstus nevarēs modificēt) +NotifiedValidationDate=Ierakstu validācija (modificēt vai dzēst ierakstus nebūs iespējams) +ConfirmExportFile=Apstiprinājums par grāmatvedības eksporta faila ģenerēšanu? ExportDraftJournal=Eksporta žurnāla projekts Modelcsv=Eksporta modulis Selectmodelcsv=Atlasiet eksporta modeli @@ -335,7 +339,7 @@ Modelcsv_normal=Klasiskais eksports Modelcsv_CEGID=Eksports uz CEGID ekspertu kompāniju Modelcsv_COALA=Eksportēt Sage Coala Modelcsv_bob50=Eksportēt Sage BOB 50 -Modelcsv_ciel=Eksportēt Sage Ciel Compta vai Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Eksportēt Quadratus QuadraCompta Modelcsv_ebp=Eksportēt uz EBP Modelcsv_cogilog=Eksportēt uz Cogilog @@ -402,29 +406,29 @@ UseMenuToSetBindindManualy=Līnijas, kas vēl nav saistītas, izmantojiet izvēl ## Import ImportAccountingEntries=Grāmatvedības ieraksti -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) +ImportAccountingEntriesFECFormat=Grāmatvedības ieraksti - FEC formāts +FECFormatJournalCode=Kodu žurnāls (JournalCode) +FECFormatJournalLabel=Iezīmju žurnāls (JournalLib) +FECFormatEntryNum=Gabala numurs (EcritureNum) +FECFormatEntryDate=Gabala datums (EcritureDate) +FECFormatGeneralAccountNumber=Vispārējais konta numurs (CompteNum) +FECFormatGeneralAccountLabel=Vispārīga konta iezīme (CompteLib) +FECFormatSubledgerAccountNumber=Zemesgrāmatas konta numurs (CompAuxNum) +FECFormatSubledgerAccountLabel=Zemesgrāmatas konta numurs (CompAuxLib) FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) +FECFormatPieceDate=Gabala datuma izveide (PieceDate) +FECFormatLabelOperation=Etiķetes darbība (EcritureLib) +FECFormatDebit=Debets (debets) +FECFormatCredit=Kredīts (kredīts) +FECFormatReconcilableCode=Saskaņojams kods (EcritureLet) +FECFormatReconcilableDate=Samierināms datums (DateLet) +FECFormatValidateDate=Gabala datums ir validēts (ValidDate) +FECFormatMulticurrencyAmount=Daudzvalūtu summa (Montantdevise) +FECFormatMulticurrencyCode=Daudzvalūtu kods (Idevise) DateExport=Eksporta datums WarningReportNotReliable=Brīdinājums. Šis pārskats nav balstīts uz grāmatvedi, tādēļ tajā nav darījumu, kas Manuāli ir manuāli modificēts. Ja žurnāls ir atjaunināts, grāmatvedības skats ir precīzāks. ExpenseReportJournal=Izdevumu atskaites žurnāls InventoryJournal=Inventāra žurnāls -NAccounts=%s accounts +NAccounts=%s konti diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 33f82b742af..fad5c128a26 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -37,7 +37,7 @@ UnlockNewSessions=Noņemt savienojuma bloķēšanu YourSession=Jūsu sesija Sessions=Lietotāju sesijas WebUserGroup=Web servera lietotājs/grupa -PermissionsOnFiles=Permissions on files +PermissionsOnFiles=Atļaujas failiem PermissionsOnFilesInWebRoot=Atļaujas failiem tīmekļa saknes direktorijā PermissionsOnFile=Atļaujas failā %s NoSessionFound=Šķiet, ka jūsu PHP konfigurācija neļauj iekļaut aktīvās sesijas. Direktorija, kuru izmanto sesiju saglabāšanai (%s), var būt aizsargāta (piemēram, ar OS atļaujām vai PHP direktīvu open_basedir). @@ -53,6 +53,7 @@ InternalUser=Iekšējais lietotājs ExternalUser=Ārējais lietotājs InternalUsers=Iekšējie lietotāji ExternalUsers=Ārējie lietotāji +UserInterface=Lietotāja interfeiss GUISetup=Attēlojums SetupArea=Iestatījumi UploadNewTemplate=Augšupielādēt jaunu veidni (-es) @@ -63,8 +64,8 @@ IfModuleEnabled=Piezīme: jā, ir efektīva tikai tad, ja modulis %s ir i RemoveLock=Ja ir, noņemiet/pārdēvējiet failu %s, lai varētu izmantot atjaunināšanas/instalēšanas rīku. RestoreLock=Atjaunojiet failu %s tikai ar lasīšanas atļauju, lai atspējotu jebkādu turpmāku atjaunināšanas/instalēšanas rīka izmantošanu. SecuritySetup=Drošības iestatījumi -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=PHP iestatīšana +OSSetup=OS iestatīšana SecurityFilesDesc=Šeit definējiet ar drošību saistītās iespējas failu augšupielādei. ErrorModuleRequirePHPVersion=Kļūda, šim modulim ir nepieciešama PHP versija %s vai augstāka ErrorModuleRequireDolibarrVersion=Kļūda, šim modulim nepieciešama Dolibarr versija %s vai augstāka @@ -84,6 +85,7 @@ NumberOfBytes=Bitu skaits SearchString=Meklēšanas virkne NotAvailableWhenAjaxDisabled=Nav pieejama, kad Ajax ir bloķēts AllowToSelectProjectFromOtherCompany=Trešās puses dokumentā var izvēlēties projektu, kas ir saistīts ar citu trešo personu +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript bloķēts UsePreviewTabs=Izmantot priekšskatījuma cilnes ShowPreview=Rādīt priekšskatījumu @@ -116,6 +118,7 @@ MultiCurrencySetup=Daudzvalūtu iestatījumi MenuLimits=Robežas un precizitāte MenuIdParent=Galvenās izvēlnes ID DetailMenuIdParent=ID vecāku izvēlnē (tukšs top izvēlnē) +ParentID=Parent ID DetailPosition=Secības numurs, lai definēt izvēlnes novietojumu AllMenus=Viss NotConfigured=Modulis / aplikācija nav konfigurēta @@ -157,7 +160,7 @@ SystemToolsAreaDesc=Šī sadaļa nodrošina administrēšanas funkcijas. Izmanto Purge=Tīrīt PurgeAreaDesc=Šī lapa ļauj izdzēst visus Dolibarr ģenerētos vai glabātos failus (pagaidu faili vai visi faili %s direktorijā). Šīs funkcijas izmantošana parasti nav nepieciešama. Tas tiek nodrošināts kā risinājums lietotājiem, kuru Dolibarr uztur pakalpojumu sniedzējs, kas nepiedāvā atļaujas, lai dzēstu tīmekļa servera ģenerētos failus. PurgeDeleteLogFile=Dzēsiet žurnāla failus, tostarp %s, kas definēti Syslog modulim (nav datu pazaudēšanas riska). -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. +PurgeDeleteTemporaryFiles=Izdzēsiet visus žurnāla un pagaidu failus (nav datu zaudēšanas riska). Parametrs var būt “tempfilesold”, “logfiles” vai abi “tempfilesold + logfiles”. Piezīme. Pagaidu failu dzēšana tiek veikta tikai tad, ja temp direktorija tika izveidota vairāk nekā pirms 24 stundām. PurgeDeleteTemporaryFilesShort=Dzēst žurnālu un pagaidu failus PurgeDeleteAllFilesInDocumentsDir=Dzēsiet visus failus direktorijā: %s .
    Tas izdzēsīs visus radītos dokumentus, kas saistīti ar elementiem (trešajām personām, rēķiniem utt.), ECM modulī augšupielādētiem failiem, datu bāzes rezerves izgāztuvēm un pagaidu failus. PurgeRunNow=Tīrīt tagad @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funkcija ir pieejama tikai oficiālajā stabilā ve BoxesDesc=Logrīki ir sastāvdaļas, kas parāda informāciju, kuru varat pievienot, lai personalizētu dažas lapas. Varat izvēlēties starp widget parādīšanu, izvēloties mērķa lapu un noklikšķinot uz Aktivizēt, vai noklikšķinot uz atkritnes, lai to atspējotu. OnlyActiveElementsAreShown=Tikai elementi no iespējotiem moduļiem tiek rādīti. ModulesDesc=Moduļi / lietojumprogrammas nosaka, kuras funkcijas ir pieejamas programmatūrā. Dažiem moduļiem pēc moduļa aktivizēšanas lietotājiem ir jāpiešķir atļaujas. Lai ieslēgtu vai deaktivizētu moduli / lietojumprogrammu, noklikšķiniet uz ieslēgšanas / izslēgšanas pogas %s . +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Jūs varat atrast vairāk moduļu, lai lejupielādētu ārējās tīmekļa vietnēs internetā ... ModulesDeployDesc=Ja atļaujas jūsu failu sistēmā to atļauj, varat izmantot šo rīku, lai izvietotu ārēju moduli. Tad modulis būs redzams cilnē %s . ModulesMarketPlaces=Atrastt ārējo lietotni / moduļus @@ -221,8 +225,8 @@ NotCompatible=Šis modulis, šķiet, nav savietojams ar jūsu Dolibarr %s (Min % CompatibleAfterUpdate=Šis modulis prasa atjaunināt Dolibarr %s (Min %s - Maks %s). SeeInMarkerPlace=Skatiet Marketplace SeeSetupOfModule=See setup of module %s +SetOptionTo=Iestatiet opciju %s uz %s Updated=Atjaunots -Nouveauté=Jaunums AchatTelechargement=Pirkt / lejupielādēt GoModuleSetupArea=Lai izvietotu / instalētu jaunu moduli, dodieties uz moduļa iestatīšanas apgabalu: %s . DoliStoreDesc=DoliStore ir oficiālā mājaslapa Dolibarr ERP / CRM papildus moduļiem @@ -235,7 +239,7 @@ BoxesAvailable=Pieejamie logrīki BoxesActivated=Logrīki aktivizēti ActivateOn=Aktivizēt ActiveOn=Aktivizēts -ActivatableOn=Activatable on +ActivatableOn=Aktivizējams SourceFile=Avota fails AvailableOnlyIfJavascriptAndAjaxNotDisabled=Pieejams tikai tad, ja JavaScript nav atslēgts Required=Nepieciešams @@ -351,10 +355,10 @@ LastActivationAuthor=Jaunākais aktivizētāja autors LastActivationIP=Jaunākā aktivizācijas IP adrese UpdateServerOffline=Atjaunināšanas serveris bezsaistē WithCounter=Pārvaldīt skaitītāju -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes=Jūs varat ievadīt jebkuru numerācijas masku. Šajā maskā var izmantot šādus tagus:
    {000000} atbilst skaitlim, kas tiks palielināts katrā %s. Ievadiet tik daudz nulles, cik vēlamais skaitītāja garums. Skaitītāju aizpildīs ar nulli no kreisās puses, lai tajā būtu tikpat daudz nulles kā maskā.
    {000000 + 000} tāds pats kā iepriekšējais, bet nobīde, kas atbilst skaitlim pa labi no zīmes +, tiek piemērota, sākot ar pirmo %s.
    {000000 @ x} tāds pats kā iepriekšējais, bet skaitītājs tiek atiestatīts uz nulli, kad ir sasniegts mēnesis x (x no 1 līdz 12, vai 0, lai izmantotu jūsu konfigurācijā definētos fiskālā gada sākuma mēnešus, vai no 99 līdz katru mēnesi atiestatīt uz nulli). Ja tiek izmantota šī opcija un x ir 2 vai lielāks, ir nepieciešama arī secība {yy} {mm} vai {gggg} {mm}.
    {dd} diena (no 01 līdz 31).
    {mm} mēnesis (no 01 līdz 12).
    {yy} , {yyyy} vai {y} a09a4b
    +GenericMaskCodes2= {cccc} klienta kods uz n rakstzīmēm
    {cccc000} a09a4b739f17fz Šis klientam veltītais skaitītājs tiek atiestatīts vienlaikus ar globālo skaitītāju.
    {tttt} Trešās puses tipa kods uz n rakstzīmēm (skatiet izvēlni Sākums - Iestatīšana - Vārdnīca - Trešo personu veidi). Ja pievienosit šo tagu, katram trešās puses tipam skaitītājs būs atšķirīgs.
    GenericMaskCodes3=Visas citas rakstzīmes masku paliks neskartas.
    Atstarpes nav atļautas.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    +GenericMaskCodes3EAN=Visas pārējās maskas rakstzīmes paliks neskartas (izņemot * vai? EAN13 13. pozīcijā).
    Atstarpes nav atļautas.
    EAN13, pēdējam rakstzīmei pēc pēdējā} 13. pozīcijā jābūt * vai? . To aizstās aprēķinātā atslēga.
    GenericMaskCodes4a=Piemērs 99. %s no trešās personas TheCompany, ar datumu 2007-01-31:
    GenericMaskCodes4b=Piemērs trešā persona veidota 2007-03-01:
    GenericMaskCodes4c=Piemērs produkts veidots 2007-03-01:
    @@ -399,6 +403,7 @@ SecurityToken=Atslēga uz drošu saiti NoSmsEngine=Nav pieejams neviens SMS sūtītāja pārvaldnieks. SMS sūtītāja pārvaldnieks nav instalēts ar noklusējuma izplatīšanu, jo tie ir atkarīgi no ārēja piegādātāja, bet jūs varat atrast kādu no %s PDF=PDF PDFDesc=Globālās iespējas PDF ģenerēšanai +PDFOtherDesc=PDF opcija, kas raksturīga dažiem moduļiem PDFAddressForging=Noteikumi par adreses sadaļu HideAnyVATInformationOnPDF=Slēpt visu informāciju, kas saistīta ar pārdošanas nodokli / PVN PDFRulesForSalesTax=Pārdošanas nodokļa / PVN noteikumi @@ -449,8 +454,8 @@ ExtrafieldParamHelpPassword=Atstājot šo lauku tukšu, tas nozīmē, ka šī v ExtrafieldParamHelpselect=Vērtību sarakstam jābūt rindām ar formāta atslēgu, vērtība (kur atslēga nevar būt '0')

    , piemēram,: 1, vērtība1
    2, vērtība2
    kods3, vērtība3 < br> ...

    Lai saraksts būtu atkarīgs no cita papildinošā atribūtu saraksta:
    1, vērtība1 | opcijas_ vecāku_līmeņa kods : vecāku_skava
    2, vērtība2 | opcijas_ vecāku saraksts_code : parent_key

    Lai saraksts būtu atkarīgs no cita saraksta:
    1, vērtība1 | vecāku saraksts_code : vecāku_skava
    2, vērtība2 | vecāku saraksts_code : vecāku_poga ExtrafieldParamHelpcheckbox=Vērtību sarakstam jābūt rindām ar formāta atslēgu, vērtība (kur atslēga nevar būt '0')

    , piemēram,: 1, vērtība1
    2, vērtība2
    3, vērtība3 < br> ... ExtrafieldParamHelpradio=Vērtību sarakstam jābūt rindām ar formāta atslēgu, vērtība (kur atslēga nevar būt '0')

    , piemēram,: 1, vērtība1
    2, vērtība2
    3, vērtība3 < br> ... -ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpsellist=Vērtību saraksts tiek iegūts no tabulas
    Sintakse: table_name: label_field: id_field :: filtersql
    Piemērs: c_typent: libelle: id :: filtersql

    - id_f0 af2 ir a2_fails ir obligāts. Tas var būt vienkāršs tests (piemēram, aktīvs = 1), lai parādītu tikai aktīvo vērtību
    . Filtrā var izmantot arī $ ID $, kas ir pašreizējā objekta
    ID. Lai filtrā izmantotu SELECT, izmantojiet atslēgvārdu $ SEL $ apiet pretinjekcijas aizsardzību.
    , ja vēlaties filtrēt ekstrefieldos, izmantojiet sintaksi extra.fieldcode = ... (kur lauka kods ir extrafield kods)

    Lai saraksts būtu atkarīgs no cita papildu atribūtu saraksta:
    :
    parent_list_code | parent_column: filter

    Lai saraksts būtu atkarīgs no cita saraksta:
    c_typent: libelle: ID: a04927 +ExtrafieldParamHelpchkbxlst=Vērtību saraksts nāk no tabulas
    Sintakse: table_name: label_field: id_field :: filtersql
    Piemērs: c_typent: libelle: id :: filtersql

    tikai aktīvs displejs var izmantot arī $ ID $ filtrā. ragana ir pašreizējā objekta
    ID. Lai atlasītu filtru, izmantojiet $ SEL $
    , ja vēlaties filtrēt ekstra laukos, izmantojiet sintaksi extra.fieldcode = ... (kur lauka kods ir kods extrafield)

    lai būtu sarakstu atkarībā citā papildu atribūtu saraksta:
    c_typent: Libelle: id: options_ parent_list_code | parent_column: filtrs

    lai iegūtu sarakstu, atkarībā no citu sarakstā:
    c_typent: libelle: id: parent_list_code | parent_column: filtrs ExtrafieldParamHelplink=Parametriem jābūt ObjectName: Classpath
    Sintakse: ObjectName: Classpath ExtrafieldParamHelpSeparator=Vienkārša atdalītāja atstāšana tukša
    Iestatiet to uz 1 sabrūkošajam atdalītājam (pēc noklusējuma atveriet jaunu sesiju, pēc tam katras lietotāja sesijai tiek saglabāts statuss)
    Iestatiet to uz 2 sabrukušajam atdalītājam (jaunajai sesijai pēc noklusējuma sabrūk, pēc tam katras lietotāja sesijas laikā tiek saglabāts statuss) LibraryToBuildPDF=Bibliotēka, ko izmanto PDF veidošanai @@ -547,7 +552,7 @@ Module40Desc=Pārdevēju un pirkumu vadība (pirkumu pasūtījumi un rēķini pa Module42Name=Atkļūdošanas žurnāli Module42Desc=Žurnalēšana (fails, syslog, ...). Šādi žurnāli ir paredzēti tehniskiem / atkļūdošanas nolūkiem. Module43Name=Atkļūdošanas josla -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Desc=Izstrādātāja rīks, kas pārlūkprogrammā pievieno atkļūdošanas joslu. Module49Name=Redaktors Module49Desc=Redaktora vadība Module50Name=Produkti @@ -561,7 +566,7 @@ Module53Desc=Pakalpojumu pārvaldība Module54Name=Līgumi / Abonementi Module54Desc=Līgumu (pakalpojumu vai regulāru abonēšanas) vadība Module55Name=Svītrkodi -Module55Desc=Svītrkodu vadība +Module55Desc=Svītrkodu vai QR kodu pārvaldība Module56Name=Maksājums ar pārskaitījumu Module56Desc=Piegādātāju norēķinu vadīšana ar kredīta pārveduma rīkojumiem. Tas ietver SEPA faila ģenerēšanu Eiropas valstīm. Module57Name=Maksājumi ar tiešo debetu @@ -647,13 +652,13 @@ Module2900Desc=GeoIP MaxMind pārveidošanu iespējas Module3200Name=Nemainīgi arhīvi Module3200Desc=Iespējojiet nemainīgu biznesa notikumu žurnālu. Notikumi tiek arhivēti reāllaikā. Žurnāls ir tikai lasāmu tabulu ķēdes notikumus, kurus var eksportēt. Šis modulis dažās valstīs var būt obligāts. Module3400Name=Sociālie tīkli -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3400Desc=Iespējojiet sociālo tīklu laukus trešajām pusēm un adresēm (skype, twitter, facebook, ...). Module4000Name=HRM Module4000Desc=Cilvēkresursu vadība (departamenta vadība, darbinieku līgumi un jūtas) Module5000Name=Multi-kompānija Module5000Desc=Ļauj jums pārvaldīt vairākus uzņēmumus -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module6000Name=Starpmoduļu darbplūsma +Module6000Desc=Darbplūsmas pārvaldība starp dažādiem moduļiem (automātiska objekta izveidošana un / vai automātiska statusa maiņa) Module10000Name=Mājas lapas Module10000Desc=Izveidojiet vietnes (publiskas) ar WYSIWYG redaktoru. Šī ir tīmekļa pārziņa vai izstrādātāja orientēta CMS (labāk ir zināt HTML un CSS valodu). Vienkārši iestatiet savu tīmekļa serveri (Apache, Nginx, ...), lai norādītu uz atvēlēto Dolibarr direktoriju, lai tas būtu tiešsaistē internetā ar savu domēna vārdu. Module20000Name=Atvaļinājumu pieprasījumu pārvaldība @@ -814,8 +819,8 @@ PermissionAdvanced253=Izveidot/mainīt iekšējoss/ārējos lietotājus un atļa Permission254=Izveidot/mainīt ārējos lietotājus tikai Permission255=Mainīt citu lietotāju paroli Permission256=Izdzēst vai bloķēt citus lietotājus -Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission262=Paplašiniet piekļuvi visām trešajām personām UN viņu objektiem (ne tikai trešajām pusēm, kuru lietotājs ir pārdošanas pārstāvis).
    Nav efektīvs ārējiem lietotājiem (vienmēr tikai un vienīgi attiecībā uz priekšlikumiem, pasūtījumiem, rēķiniem, līgumiem utt.)
    Nav spēkā projektiem (tikai noteikumi par projekta atļaujām, redzamību un piešķiršanas jautājumiem). +Permission263=Paplašiniet piekļuvi visām trešajām pusēm BEZ viņu objektiem (ne tikai trešajām personām, kuru lietotājs ir pārdošanas pārstāvis).
    Nav efektīvs ārējiem lietotājiem (vienmēr tikai un vienīgi attiecībā uz priekšlikumiem, pasūtījumiem, rēķiniem, līgumiem utt.)
    Nav spēkā projektiem (tikai noteikumi par projekta atļaujām, redzamību un piešķiršanas jautājumiem). Permission271=Lasīt CA Permission272=Lasīt rēķinus Permission273=Izrakstīt rēķinus @@ -848,10 +853,10 @@ Permission402=Izveidot/mainīt atlaides Permission403=Apstiprināt atlaides Permission404=Dzēst atlaides Permission430=Izmantot Debug Bar -Permission511=Lasīt algu maksājumus (jūsu un padoto) -Permission512=Izveidojiet / modificējiet algu maksājumus -Permission514=Dzēst algu maksājumus -Permission517=Izlasiet visiem algu maksājumus +Permission511=Lasiet algas un maksājumus (jūsu un padoto) +Permission512=Izveidojiet / modificējiet algas un maksājumus +Permission514=Dzēst algas un maksājumus +Permission517=Lasiet algas un maksājumus visiem Permission519=Eksportēt algas Permission520=Lasīt aizdevumus Permission522=Izveidot / labot aizdevumus @@ -880,7 +885,7 @@ Permission701=Lasīt ziedojumus Permission702=Izveidot/mainīt ziedojumus Permission703=Dzēst ziedojumus Permission771=Read expense reports (yours and your subordinates) -Permission772=Create/modify expense reports +Permission772=Izveidojiet/labojiet izdevumu pārskatus Permission773=Dzēst izdevumu pārskatus Permission774=Read all expense reports (even for user not subordinates) Permission775=Apstiprināt izdevumu pārskatus @@ -965,6 +970,8 @@ Permission23003=Dzēst ieplānoto uzdevumu Permission23004=Izpildīt ieplānoto uzdevumu Permission50101=Izmantot tirdzniecības vietu (SimplePOS) Permission50151=Izmantot tirdzniecības vietu (TakePOS) +Permission50152=Rediģēt pārdošanas rindas +Permission50153=Rediģēt pasūtītās pārdošanas līnijas Permission50201=Lasīt darījumus Permission50202=Importēt darījumus Permission50330=Lasīt Zapier objektus @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Mērvienības DictionarySocialNetworks=Sociālie tīkli DictionaryProspectStatus=Prospekta statuss uzņēmumiem DictionaryProspectContactStatus=Prospekta statuss kontaktiem -DictionaryHolidayTypes=Atvaļinājumu veidi +DictionaryHolidayTypes=Atvaļinājums - atvaļinājuma veidi DictionaryOpportunityStatus=Vadošais statuss projektu / vadībai DictionaryExpenseTaxCat=Izdevumu pārskats - transporta kategorijas DictionaryExpenseTaxRange=Izdevumu pārskats - diapazons pēc transporta kategorijas DictionaryTransportMode=Intracomm pārskats - transporta veids +DictionaryBatchStatus=Produkta partijas / sērijas kvalitātes kontroles statuss TypeOfUnit=Vienības veids SetupSaved=Iestatījumi saglabāti SetupNotSaved=Iestatīšana nav saglabāta @@ -1160,7 +1168,7 @@ DoNotSuggestPaymentMode=Neieteikt NoActiveBankAccountDefined=Nav definēts aktīvs bankas konts OwnerOfBankAccount=Bankas konta īpašnieks %s BankModuleNotActive=Bankas kontu modulis nav ieslēgts -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Definējiet saiti " %s " (tukša, lai nerādītu šo saiti, 'github' saitei uz Dolibarr projektu vai tieši definējiet URL 'https: // ...') Alerts=Brīdinājumi DelaysOfToleranceBeforeWarning=Kavēšanās, pirms tiek parādīts brīdinājuma brīdinājums par: DelaysOfToleranceDesc=Iestatiet aizkavi pirms brīdinājuma ikonas %s parādīšanas ekrānā par novēloto elementu. @@ -1185,9 +1193,12 @@ SetupDescription2=Šīs divas sadaļas ir obligātas (divi pirmie ieraksti iesta SetupDescription3=  %s -> %s

    Pamata parametri, ko izmanto, lai pielāgotu ar jūsu lietojumprogrammu saistīto noklusējuma uzvedību (piemēram, valstij). SetupDescription4=  %s -> %s

    Šī programmatūra ir daudzu moduļu / lietojumprogrammu komplekts. Ar jūsu vajadzībām saistītajiem moduļiem jābūt iespējotiem un konfigurētiem. Parādīsies izvēlnes ieraksti, aktivizējot šos moduļus. SetupDescription5=Citi iestatījumu izvēlnes ieraksti pārvalda izvēles parametrus. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audits +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=Drošības pasākumi, kas tiek pārbaudīti +NoSecurityEventsAreAduited=Netiek pārbaudīti nekādi drošības notikumi. Tos var iespējot no izvēlnes %s +Audit=Drošības notikumi InfoDolibarr=Par Dolibarr InfoBrowser=Pārlūkprogrammas info InfoOS=Par OS @@ -1254,10 +1265,10 @@ RunningUpdateProcessMayBeRequired=Šķiet, ka nepieciešams veikt atjaunināšan YouMustRunCommandFromCommandLineAfterLoginToUser=Jums ir palaist šo komandu no komandrindas pēc pieteikšanās uz apvalks ar lietotāju %s, vai jums ir pievienot-W iespēju beigās komandrindas, lai sniegtu %s paroli. YourPHPDoesNotHaveSSLSupport=SSL funkcijas, kas nav pieejama jūsu PHP DownloadMoreSkins=Vairāki izskati lejupielādei -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Rādīt profesionālo ID ar adresēm -ShowVATIntaInAddress=Slēpt Kopienas iekšējo PVN numuru ar adresēm +SimpleNumRefModelDesc=Atgriež atsauces numuru formātā %syymm-nnnn, kur yy ir gads, mm ir mēnesis un nnnn ir secīgs automātiski palielināms skaitlis bez atiestatīšanas +SimpleNumRefNoDateModelDesc=Atgriež atsauces numuru formātā %s-nnnn, kur nnnn ir secīgs automātiski pieaugošs skaitlis bez atiestatīšanas +ShowProfIdInAddress=Parādīt profesionālo ID ar adresēm +ShowVATIntaInAddress=Paslēpt Kopienas iekšējo PVN numuru TranslationUncomplete=Daļējs tulkojums MAIN_DISABLE_METEO=Atspējot meteoroloģisko skatu MeteoStdMod=Standarta režīms @@ -1273,7 +1284,7 @@ MAIN_PROXY_HOST=Starpniekserveris: nosaukums/adrese MAIN_PROXY_PORT=Starpniekserveris: ports MAIN_PROXY_USER=Starpniekserveris: pieteikšanās/lietotājs MAIN_PROXY_PASS=Starpniekserveris: parole -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s +DefineHereComplementaryAttributes=Definējiet visus papildu / pielāgotos atribūtus, kas jāpievieno: %s ExtraFields=Papildus atribūti ExtraFieldsLines=Papildinošas atribūti (līnijas) ExtraFieldsLinesRec=Papildu atribūti (veidņu rēķinu līnijas) @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Stāvoklis šobrīd ir %s YouUseBestDriver=Jūs izmantojat draiveri %s, kas ir labākais šobrīd pieejams draiveris. YouDoNotUseBestDriver=Jūs izmantojat draiveri %s, bet ieteicams ir %s. NbOfObjectIsLowerThanNoPb=Jums datu bāzē ir tikai %s %s. Tam nav nepieciešama īpaša optimizācija. +ComboListOptim=Kombinētā saraksta ielādes optimizācija SearchOptim=Meklēšanas optimizācija -YouHaveXObjectUseSearchOptim=Jums datu bāzē ir %s %s. Pastāvīgo %s var pievienot vienumam 1 sadaļā Mājas iestatīšana - Cits. Ierobežojiet meklēšanu tikai virkņu sākumā, kas ļauj datu bāzei izmantot indeksus, un jums nekavējoties jāsaņem atbilde. -YouHaveXObjectAndSearchOptimOn=Jums datu bāzē ir %s %s, un konstante %s mapē Mājas iestatīšana ir iestatīta uz 1. +YouHaveXObjectUseComboOptim=Jums datu bāzē ir %s %s. Jūs varat pāriet uz moduļa iestatīšanu, lai iespējotu kombinēto sarakstu ielādēšanu uz taustiņa nospiešanas notikuma. +YouHaveXObjectUseSearchOptim=Jums datu bāzē ir %s %s. Pastāvīgo %s var pievienot vienumam 1 sadaļā Mājas iestatīšana - Cits. +YouHaveXObjectUseSearchOptimDesc=Tas ierobežo meklēšanu tikai virkņu sākumā, kas ļauj datu bāzei izmantot indeksus, un jums nekavējoties jāsaņem atbilde. +YouHaveXObjectAndSearchOptimOn=Jums datu bāzē ir %s %s, un konstante %s ir iestatīta uz %s sadaļā Home-Setup-Other. BrowserIsOK=Jūs izmantojat tīmekļa pārlūku %s. Šī pārlūkprogramma ir droša un ātrdarbīgs. BrowserIsKO=Jūs izmantojat tīmekļa pārlūku %s. Šī pārlūka informācija ir slikta izvēle drošībai, veiktspējai un uzticamībai. Mēs iesakām izmantot Firefox, Chrome, Opera vai Safari. PHPModuleLoaded=Tiek ielādēts PHP komponents %s @@ -1433,6 +1447,7 @@ MemberMainOptions=Galvenās iespējas AdherentLoginRequired= Pārvaldīt Pieteikšanos katram dalībniekam AdherentMailRequired=Lai izveidotu jaunu dalībnieku, nepieciešams e-pasts MemberSendInformationByMailByDefault=Rūtiņu, lai nosūtītu pasta apstiprinājums locekļiem (validāciju vai jauns abonements) ir ieslēgts pēc noklusējuma +MemberCreateAnExternalUserForSubscriptionValidated=Katram apstiprinātam jaunam dalībnieka abonementam izveidojiet ārēju lietotāja pieteikuminformāciju VisitorCanChooseItsPaymentMode=Apmeklētājs var izvēlēties no pieejamiem maksājumu veidiem MEMBER_REMINDER_EMAIL=Iespējot automātisku atgādinājumu pa e-pastu par beidzies abonementi. Piezīme. Modulim %s jābūt iespējotai un pareizi iestatītai, lai nosūtītu atgādinājumus. MembersDocModules=Dokumentu veidnes dokumentiem, kas ģenerēti no dalībnieku ieraksta @@ -1517,7 +1532,7 @@ LDAPFieldLoginUnix=Lietotājs (Unix) LDAPFieldLoginExample=Piemērs: uid LDAPFilterConnection=Meklēšanas filtrs LDAPFilterConnectionExample=Piemērs: & (objectClass = inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=Piemērs: & (objectClass = groupOfUsers) LDAPFieldLoginSamba=Lietotāja vārds (samba, Aktīvā direktorija) LDAPFieldLoginSambaExample=Piemērs: kāds konta nosaukums LDAPFieldFullname=Vārds un uzvārds @@ -1579,10 +1594,10 @@ LDAPDescValues=Piemērs vērtības ir paredzētas OpenLDAP ar šādām ie ForANonAnonymousAccess=Par apstiprinātu piekļuvi (par rakstīšanas piekļuvi piemēram) PerfDolibarr=Performance uzstādīšana / optimizēt ziņojums YouMayFindPerfAdviceHere=Šajā lapā ir sniegtas dažas pārbaudes vai ieteikumi saistībā ar veiktspēju. -NotInstalled=Nav ieinstalets. +NotInstalled=Nav instalēts. NotSlowedDownByThis=Tas nav palēnināts. NotRiskOfLeakWithThis=Ar to nav noplūdes riska. -ApplicativeCache=Applicative kešatmiņa +ApplicativeCache=Piemērojamā kešatmiņa MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
    More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
    Note that a lot of web hosting provider does not provide such cache server. MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. @@ -1749,11 +1764,11 @@ YourCompanyDoesNotUseVAT=Jūsu uzņēmumam ir noteikts, ka PVN netiek izmantots AccountancyCode=Grāmatvedības kods AccountancyCodeSell=Tirdzniecība kontu. kods AccountancyCodeBuy=Iegādes konta. kods -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Veidojot jaunu nodokli, pēc noklusējuma turiet izvēles rūtiņu “Automātiski izveidot maksājumu” tukšu ##### Agenda ##### AgendaSetup=Notikumi un kārtības modulis uzstādīšana PasswordTogetVCalExport=Galvenais atļaut eksporta saiti -SecurityKey = Security Key +SecurityKey = Drošības atslēga PastDelayVCalExport=Neeksportē notikums, kuri vecāki par AGENDA_USE_EVENT_TYPE=Izmantojiet notikumu tipus (tiek pārvaldīti izvēlnē Iestatīšana -> Vārdnīcas -> Darba kārtības notikumu veids). AGENDA_USE_EVENT_TYPE_DEFAULT=Veidojot notikuma veidlapu, automātiski iestatiet šo noklusējuma vērtību @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Kuru skatu vēlaties atvērt pēc noklusējuma, izvēloties AGENDA_REMINDER_BROWSER=Iespējojiet notikuma atgādinājumu lietotāja pārlūkprogrammā (Kad ir atgādinājuma datums, pārlūkprogramma parāda uznirstošo logu. Katrs lietotājs var atspējot šādus paziņojumus pārlūka paziņojumu iestatījumos). AGENDA_REMINDER_BROWSER_SOUND=Iespējot skaņas paziņojumu AGENDA_REMINDER_EMAIL=Iespējojiet notikuma atgādinājumu , nosūtot e-pastus (katram notikumam var noteikt atgādinājuma opciju / aizkavi). -AGENDA_REMINDER_EMAIL_NOTE=Piezīme. Uzdevuma %s biežumam jābūt pietiekamam, lai pārliecinātos, ka atgādinājums tiek nosūtīts pareizajā brīdī. +AGENDA_REMINDER_EMAIL_NOTE=Piezīme: Plānotā darba %s biežumam jābūt pietiekamam, lai pārliecinātos, ka atgādinājums tiek nosūtīts pareizajā brīdī. AGENDA_SHOW_LINKED_OBJECT=Parādīt saistīto objektu darba kārtībā ##### Clicktodial ##### ClickToDialSetup=Klikšķiniet lai Dial moduļa uzstādīšanas ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=Šis modulis maina tālruņu numurus, izmantojot galddatoru, uz noklikšķināmām saitēm. Klikšķis piezvanīs uz numuru. To var izmantot, lai sāktu tālruņa zvanu, kad, izmantojot darbvirsmu, izmantojat mīksto tālruni vai, piemēram, izmantojot CTI sistēmu, kuras pamatā ir SIP protokols. Piezīme. Izmantojot viedtālruni, uz tālruņu numuriem vienmēr var noklikšķināt. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Izmantojiet šo metodi, ja jūsu lietotājiem ir programmatūras tālrunis vai programmatūras interfeiss, kas uzstādīts uz tā paša datora kā pārlūks, un tiek izsaukts, kad jūs noklikšķināt uz savas pārlūkprogrammas saites, kas sākas ar "tel:". Ja jums ir nepieciešams pilnīgs servera risinājums (nav nepieciešama lokālā programmatūras instalēšana), jums tas jādara, lai tas būtu "nē" un aizpildītu nākamo lauku. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Tirdzniecības vieta CashDeskSetup=Tirdzniecības moduļa punkts @@ -1894,7 +1909,7 @@ BackgroundTableLineOddColor=Background color for odd table lines BackgroundTableLineEvenColor=Background color for even table lines MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) NbAddedAutomatically=Number of days added to counters of users (automatically) each month -EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. +EnterAnyCode=Šajā laukā ir norāde, lai identificētu līniju. Ievadiet jebkuru izvēlēto vērtību, bet bez īpašām rakstzīmēm. Enter0or1=Ievadiet 0 vai 1 UnicodeCurrency=Ievadiet šeit starp aplikācijām, baitu skaitļu sarakstu, kas attēlo valūtas simbolu. Piemēram: attiecībā uz $ ievadiet [36] - Brazīlijas reālajam R $ [82,36] - par € ievadiet [8364] ColorFormat=RGB krāsa ir HEX formātā, piemēram: FF0000 @@ -1979,9 +1994,13 @@ MAIN_PDF_MARGIN_RIGHT=Labā puse PDF failā MAIN_PDF_MARGIN_TOP=Galvene PDF failā MAIN_PDF_MARGIN_BOTTOM=Kājene PDF failā MAIN_DOCUMENTS_LOGO_HEIGHT=Logotipa augstums PDF formātā +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Pievienojiet attēlu uz piedāvājuma līnijas +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Pievienojiet elektronisko pierakstu PDF formātā NothingToSetup=Šim modulim nav nepieciešama īpaša iestatīšana. SetToYesIfGroupIsComputationOfOtherGroups=Iestatiet to uz "jā", ja šī grupa ir citu grupu aprēķins -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +EnterCalculationRuleIfPreviousFieldIsYes=Ievadiet aprēķina kārtulu, ja iepriekšējais lauks bija iestatīts uz Jā.
    Piemēram:
    CODEGRP1 + CODEGRP2 SeveralLangugeVariatFound=Atrasti vairāki valodu varianti RemoveSpecialChars=Noņemt īpašās rakstzīmes COMPANY_AQUARIUM_CLEAN_REGEX=Regex filtrs tīrajai vērtībai (COMPANY_AQUARIUM_CLEAN_REGEX) @@ -1997,7 +2016,7 @@ SocialNetworkSetup=Moduļa Sociālo tīklu iestatīšana EnableFeatureFor=Iespējot funkcijas %s VATIsUsedIsOff=Piezīme. Izvēlnē %s - %s izvēlētā pārdošanas nodokļa vai PVN izmantošana ir iestatīta uz Izslēgts , tāpēc pārdošanas nodoklis vai izmantotais PVN vienmēr būs 0 pārdošanai. SwapSenderAndRecipientOnPDF=Pārsūtīt sūtītāja un adresāta adreses pozīciju PDF dokumentos -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. +FeatureSupportedOnTextFieldsOnly=Brīdinājums, funkcija tiek atbalstīta tikai teksta laukos un kombinētajos sarakstos. Lai aktivizētu šo funkciju, ir jāiestata arī URL parametrs action = create vai action = edit. VAI lapas nosaukumam jābeidzas ar “new.php”. EmailCollector=E-pasta savācējs EmailCollectorDescription=Pievienojiet ieplānoto darbu un iestatīšanas lapu, lai regulāri skenētu e-pasta kastes (izmantojot IMAP protokolu) un ierakstītu savā pieteikumā saņemtos e-pasta ziņojumus pareizajā vietā un / vai automātiski izveidotu ierakstus (piemēram, vadus). NewEmailCollector=Jauns e-pasta savācējs @@ -2064,11 +2083,11 @@ UseDebugBar=Izmantojiet atkļūdošanas joslu DEBUGBAR_LOGS_LINES_NUMBER=Pēdējo žurnālu rindu skaits, kas jāsaglabā konsolē WarningValueHigherSlowsDramaticalyOutput=Brīdinājums, augstākas vērtības palēnina dramatisko izeju ModuleActivated=Modulis %s ir aktivizēts un palēnina saskarni -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +ModuleActivatedWithTooHighLogLevel=Modulis %s tiek aktivizēts ar pārāk augstu mežizstrādes līmeni (labākai veiktspējai un drošībai mēģiniet izmantot zemāku līmeni) +ModuleSyslogActivatedButLevelNotTooVerbose=Modulis %s ir aktivizēts un žurnāla līmenis (%s) ir pareizs (ne pārāk daudzbalsīgs) IfYouAreOnAProductionSetThis=Ja izmantojat ražošanas vidi, šim rekvizītam ir jāiestata kā %s. AntivirusEnabledOnUpload=Augšupielādētajos failos ir iespējota antivīruss -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +SomeFilesOrDirInRootAreWritable=Daži faili vai direktoriji nav tikai lasīšanas režīmā EXPORTS_SHARE_MODELS=Eksporta modeļi ir kopīgi ar visiem ExportSetup=Moduļa Eksportēšana iestatīšana ImportSetup=Moduļa importēšanas iestatīšana @@ -2078,7 +2097,7 @@ LargerThan=Lielāks nekā IfTrackingIDFoundEventWillBeLinked=Ņemiet vērā: ja objekta izsekošanas ID tiek atrasts e-pastā vai ja e-pasts ir atbilde uz e-pastu, kas ir savākts un saistīts ar objektu, izveidotais notikums tiks automātiski saistīts ar zināmo saistīto objektu. WithGMailYouCanCreateADedicatedPassword=Izmantojot GMail kontu, ja esat iespējojis 2 soļu validāciju, ieteicams izveidot īpašu lietojumprogrammas otro paroli, nevis izmantot sava konta caurlaides paroli no https://myaccount.google.com/. EmailCollectorTargetDir=Vēlama rīcība var būt e-pasta pārvietošana citā tagā / direktorijā, kad tas tika veiksmīgi apstrādāts. Vienkārši šeit iestatiet direktorijas nosaukumu, lai izmantotu šo funkciju (nelietojiet nosaukumā īpašās rakstzīmes). Ņemiet vērā, ka jāizmanto arī lasīšanas / rakstīšanas pieteikšanās konts. -EmailCollectorLoadThirdPartyHelp=Varat izmantot šo darbību, lai izmantotu e-pasta saturu, lai atrastu un ielādētu esošu trešo personu savā datu bāzē. Atrasta (vai izveidota) trešā puse tiks izmantota sekojošām darbībām, kurām tā nepieciešama. Parametru laukā varat izmantot, piemēram, 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)', ja vēlaties iegūt trešās puses vārdu no atrastās virknes 'Name: name to find'. ķermenis. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Beigu punkts %s: %s DeleteEmailCollector=Dzēst e-pasta kolekcionāru ConfirmDeleteEmailCollector=Vai tiešām vēlaties dzēst šo e-pasta kolekcionāru? @@ -2092,11 +2111,10 @@ MakeAnonymousPing=Izveidojiet anonīmu Ping '+1' Dolibarr pamata serverim (to ve FeatureNotAvailableWithReceptionModule=Funkcija nav pieejama, ja ir iespējota moduļa uztveršana EmailTemplate=E-pasta veidne EMailsWillHaveMessageID=E-pastam būs tags “Atsauces”, kas atbilst šai sintaksei -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label +PDF_SHOW_PROJECT=Parādīt projektu dokumentā +ShowProjectLabel=Projekta etiķete PDF_USE_ALSO_LANGUAGE_CODE=Ja vēlaties, lai daži PDF faili tiktu dublēti 2 dažādās valodās tajā pašā ģenerētajā PDF failā, jums šeit ir jāiestata šī otrā valoda, lai ģenerētais PDF saturētu vienā un tajā pašā lappusē 2 dažādas valodas, vienu izvēloties, ģenerējot PDF, un šo ( tikai dažas PDF veidnes to atbalsta). Vienā PDF formātā atstājiet tukšumu 1 valodā. FafaIconSocialNetworksDesc=Šeit ievadiet FontAwesome ikonas kodu. Ja jūs nezināt, kas ir FontAwesome, varat izmantot vispārīgo vērtību fa-adrešu grāmata. -FeatureNotAvailableWithReceptionModule=Funkcija nav pieejama, ja ir iespējota moduļa uztveršana RssNote=Piezīme. Katra RSS plūsmas definīcija nodrošina logrīku, kas jums jāiespējo, lai tas būtu pieejams informācijas panelī JumpToBoxes=Pāriet uz Iestatīšana -> logrīki MeasuringUnitTypeDesc=Šeit izmantojiet tādas vērtības kā "lielums", "virsma", "tilpums", "svars", "laiks" @@ -2109,23 +2127,35 @@ SwitchThisForABetterSecurity=Lai nodrošinātu lielāku drošību, ieteicams šo DictionaryProductNature= Produkta veids CountryIfSpecificToOneCountry=Valsts (ja tā ir konkrēta valsts) YouMayFindSecurityAdviceHere=Šeit varat atrast drošības konsultācijas -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. +ModuleActivatedMayExposeInformation=Šis PHP paplašinājums var atklāt konfidenciālus datus. Ja jums tas nav nepieciešams, atspējojiet to. ModuleActivatedDoNotUseInProduction=Izstrādei paredzētais modulis ir iespējots. Neiespējojiet to ražošanas vidē. CombinationsSeparator=Atdalītāja raksturs produktu kombinācijām SeeLinkToOnlineDocumentation=Piemēru skatiet saiti uz tiešsaistes dokumentēšanu augšējā izvēlnē SHOW_SUBPRODUCT_REF_IN_PDF=Ja tiek izmantots moduļa %s līdzeklis "%s", parādiet sīkāku informāciju par komplekta apakšproduktiem PDF formātā. AskThisIDToYourBank=Lai iegūtu šo ID, sazinieties ar savu banku -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +AdvancedModeOnly=Atļauja ir pieejama tikai papildu atļauju režīmā +ConfFileIsReadableOrWritableByAnyUsers=Conf fails ir lasāms vai rakstāms visiem lietotājiem. Piešķirt atļauju tikai tīmekļa servera lietotājam un grupai. +MailToSendEventOrganization=Pasākuma organizēšana +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Noklusējuma notikuma statuss, veidojot notikumu no formas +YouShouldDisablePHPFunctions=Jums vajadzētu atspējot PHP funkcijas +IfCLINotRequiredYouShouldDisablePHPFunctions=PHP funkcijas ir jāatspējo, izņemot gadījumus, kad sistēmas komandas ir jāpalaiž pielāgotā kodā +PHPFunctionsRequiredForCLI=Apvalka vajadzībām (piemēram, ieplānota darba dublēšana vai anitivurs programmas palaišana) jums ir jāsaglabā PHP funkcijas +NoWritableFilesFoundIntoRootDir=Jūsu saknes direktorijā netika atrasti ierasto failu vai direktoriju kopējās programmas (labi) +RecommendedValueIs=Ieteicams: %s +Recommended=Ieteicams +NotRecommended=Nav ieteicams +ARestrictedPath=Ierobežots ceļš +CheckForModuleUpdate=Pārbaudiet, vai nav atjaunināti ārējie moduļi +CheckForModuleUpdateHelp=Šī darbība izveidos savienojumu ar ārējo moduļu redaktoriem, lai pārbaudītu, vai ir pieejama jauna versija. +ModuleUpdateAvailable=Ir pieejams atjauninājums +NoExternalModuleWithUpdate=Ārējiem moduļiem nav atrasti atjauninājumi +SwaggerDescriptionFile=Swagger API apraksta fails (piemēram, lietošanai ar pārorientēšanu) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Jūs iespējojāt novecojušu WS API. Tā vietā jums vajadzētu izmantot REST API. +RandomlySelectedIfSeveral=Nejauši izvēlēts, ja ir pieejami vairāki attēli +DatabasePasswordObfuscated=Datu bāzes parole ir neskaidra konf failā +DatabasePasswordNotObfuscated=Datu bāzes parole NAV apmulsināta conf failā +APIsAreNotEnabled=API moduļi nav iespējoti +YouShouldSetThisToOff=Jums to vajadzētu iestatīt uz 0 vai izslēgtu +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/lv_LV/agenda.lang b/htdocs/langs/lv_LV/agenda.lang index 43e497ee2d1..d2525186222 100644 --- a/htdocs/langs/lv_LV/agenda.lang +++ b/htdocs/langs/lv_LV/agenda.lang @@ -4,7 +4,7 @@ Actions=Notikumi Agenda=Darba kārtība TMenuAgenda=Darba kārtība Agendas=Darba kārtības -LocalAgenda=Iekšējais kalendārs +LocalAgenda=Noklusējuma kalendārs ActionsOwnedBy=Notikums pieder ActionsOwnedByShort=Īpašnieks AffectedTo=Piešķirts @@ -20,7 +20,7 @@ MenuToDoActions=Visi nepabeigtie pasākumi MenuDoneActions=Visi izbeigtie notikumi MenuToDoMyActions=Mani nepabeigtie notikumi MenuDoneMyActions=Mani izbeigtie notikumi -ListOfEvents=Notikumi (iekšējais kalendārs) +ListOfEvents=Notikumu saraksts (noklusējuma kalendārs) ActionsAskedBy=Notikumu ziņoja ActionsToDoBy=Pasākums piešķirts ActionsDoneBy=Pasākumi, ko veikuši @@ -38,6 +38,7 @@ ActionsEvents=Pasākumi, par kuriem Dolibarr radīs prasību kārtībā automāt EventRemindersByEmailNotEnabled=Pasākumu atgādinājumi pa e-pastu netika iespējoti %s moduļa iestatījumos. ##### Agenda event labels ##### NewCompanyToDolibarr=Trešā puse izveidota %s +COMPANY_MODIFYInDolibarr=Trešā puse %s modificēta COMPANY_DELETEInDolibarr=Izdzēsta trešā persona %s ContractValidatedInDolibarr=Līgumi %s apstiprināti CONTRACT_DELETEInDolibarr=Līgums %s svītrots @@ -87,6 +88,7 @@ OrderDeleted=Pasūtījums dzēsts InvoiceDeleted=Rēķins dzēsts DraftInvoiceDeleted=Rēķina melnraksts ir izdzēsts CONTACT_CREATEInDolibarr=Kontaktpersona %s ir izveidota +CONTACT_MODIFYInDolibarr=Saziņa %s ir modificēta CONTACT_DELETEInDolibarr=Kontaktpersona %s ir izdzēsta PRODUCT_CREATEInDolibarr=Produkts %s ir izveidots PRODUCT_MODIFYInDolibarr=Produkts %s ir labots @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO iestatīts uz melnraksta statusu MRP_MO_PRODUCEDInDolibarr=MO ražots MRP_MO_DELETEInDolibarr=MO ir izdzēsts MRP_MO_CANCELInDolibarr=MO atcelts +PAIDInDolibarr=%s samaksāts ##### End agenda events ##### AgendaModelModule=Dokumentu veidnes notikumam DateActionStart=Sākuma datums @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject= project = __ PROJECT_ID __ , lai ierobežotu izlaidi darbībām, kas saistītas ar projektu __ PROJECT_ID __ . AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto , lai izslēgtu automātiskus notikumus. AgendaUrlOptionsIncludeHolidays=  includeholidays = 1 , lai iekļautu svētku pasākumus. -AgendaShowBirthdayEvents=Rādīt kontaktu dzimšanas dienas +AgendaShowBirthdayEvents=Kontaktu dzimšanas dienas AgendaHideBirthdayEvents=Slēpt kontaktu dzimšanas dienas Busy=Aizņemts ExportDataset_event1=Notikumu saraksts @@ -152,6 +155,7 @@ ActionType=Pasākuma veids DateActionBegin=Sākuma datums notikumam ConfirmCloneEvent=Vai tiešām vēlaties klonēt notikumu %s ? RepeatEvent=Atkārtot notikumu +OnceOnly=Vienreiz EveryWeek=Katru nedēļu EveryMonth=Katru mēnesi DayOfMonth=Mēneša diena @@ -160,9 +164,9 @@ DateStartPlusOne=S'akuma datums + 1 stunda SetAllEventsToTodo=Iestatiet, lai visi notikumi tiek uzlikti SetAllEventsToInProgress=Iestatiet visus notiekošos pasākumus SetAllEventsToFinished=Iestatiet, lai visi notikumi būtu pabeigti -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +ReminderTime=Atgādinājuma periods pirms pasākuma +TimeType=Ilguma tips +ReminderType=Atzvanīšanas tips +AddReminder=Izveidojiet automātisku atgādinājumu par šo notikumu +ErrorReminderActionCommCreation=Izveidojot atgādinājumu par šo notikumu, radās kļūda +BrowserPush=Paziņojums par pārlūkprogrammas uznirstošo logu diff --git a/htdocs/langs/lv_LV/assets.lang b/htdocs/langs/lv_LV/assets.lang index 7779c6b5ec0..29583351333 100644 --- a/htdocs/langs/lv_LV/assets.lang +++ b/htdocs/langs/lv_LV/assets.lang @@ -22,7 +22,7 @@ AccountancyCodeAsset = Grāmatvedības kods (aktīvs) AccountancyCodeDepreciationAsset = Grāmatvedības kods (nolietojuma aktīvu konts) AccountancyCodeDepreciationExpense = Grāmatvedības kods (nolietojuma izmaksu konts) NewAssetType=Jauns aktīvu veids -AssetsTypeSetup=Aktīvu veidu iestatīšana +AssetsTypeSetup=Aktīvu veida iestatīšana AssetTypeModified=Pamatlīdzekļu veids pārveidots AssetType=Aktīva veids AssetsLines=Aktīvi @@ -42,7 +42,7 @@ ModuleAssetsDesc = Aktīvu apraksts AssetsSetup = Aktīvu uzstādīšana Settings = Iestatījumi AssetsSetupPage = Aktīvu iestatīšanas lapa -ExtraFieldsAssetsType = Papildu atribūti (Assets type) +ExtraFieldsAssetsType = Papildu atribūti (aktīvu veids) AssetsType=Aktīva veids AssetsTypeId=Aktīva veida id AssetsTypeLabel=Aktīva veida nosaukums @@ -55,5 +55,13 @@ MenuAssets = Aktīvi MenuNewAsset = Jauns aktīvs MenuTypeAssets = Ierakstiet aktīvus MenuListAssets = Saraksts -MenuNewTypeAssets = Jauns veids +MenuNewTypeAssets = Jauns MenuListTypeAssets = Saraksts + +# +# Module +# +Asset=Aktīvs +NewAssetType=Jauns aktīvu veids +NewAsset=Jauns aktīvs +ConfirmDeleteAsset=Vai tiešām vēlaties dzēst šo īpašumu? diff --git a/htdocs/langs/lv_LV/banks.lang b/htdocs/langs/lv_LV/banks.lang index 7fefb3ed206..8478c1b7d92 100644 --- a/htdocs/langs/lv_LV/banks.lang +++ b/htdocs/langs/lv_LV/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Sociālā/fiskālā nodokļa samaksa BankTransfer=Kredīta pārvedums BankTransfers=Kredīta pārvedumi MenuBankInternalTransfer=Iekšējā pārsūtīšana -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Izmantojiet iekšējo pārskaitījumu, lai pārsūtītu no viena konta uz citu, lietojumprogramma ierakstīs divus ierakstus: debets avota kontā un kredīts mērķa kontā. Šim darījumam tiks izmantota tā pati summa, etiķete un datums. TransferFrom=No TransferTo=Kam TransferFromToDone=No %s nodošana %s par %s %s ir ierakstīta. CheckTransmitter=Nosūtītājs ValidateCheckReceipt=Vai apstiprināt šo čeku? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Vai tiešām vēlaties iesniegt šo čeku apstiprināšanai? Pēc apstiprināšanas izmaiņas nebūs iespējamas. DeleteCheckReceipt=Dzēst šo čeku? ConfirmDeleteCheckReceipt=Vai tiešām vēlaties dzēst šo čeka kvīti? BankChecks=Bankas čeki @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Vai tiešām vēlaties dzēst šo ierakstu? ThisWillAlsoDeleteBankRecord=Tas arī izdzēš izveidotos bankas darījumus BankMovements=Kustība PlannedTransactions=Plānotie darījumi -Graph=Graphs +Graph=Grafiki ExportDataset_banque_1=Banku darījumi un konta izraksts ExportDataset_banque_2=Depozīta kvīts TransactionOnTheOtherAccount=Pārskaitījums uz otru kontu @@ -142,7 +142,7 @@ AllAccounts=Visi bankas un naudas konti BackToAccount=Atpakaļ uz kontu ShowAllAccounts=Parādīt visiem kontiem FutureTransaction=Nākotnes darījums. Nevar saskaņot. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Atlasiet / filtrējiet čekus, kas jāiekļauj čeku depozīta kvītī. Pēc tam noklikšķiniet uz "Izveidot". InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Galu galā, norādiet kategoriju, kurā klasificēt ierakstus ToConciliate=Saskaņot? @@ -174,11 +174,11 @@ YourSEPAMandate=Jūsu SEPA mandāts FindYourSEPAMandate=Tas ir jūsu SEPA mandāts, lai pilnvarotu mūsu uzņēmumu veikt tiešā debeta pasūtījumu savai bankai. Atgriezt to parakstu (skenēt parakstīto dokumentu) vai nosūtīt pa pastu uz AutoReportLastAccountStatement=Veicot saskaņošanu, automātiski aizpildiet lauka “bankas izraksta numurs” ar pēdējo izraksta numuru CashControl=POS kases kontrole -NewCashFence=New cash desk opening or closing +NewCashFence=Jaunas kases atvēršana vai aizvēršana BankColorizeMovement=Krāsojiet kustības BankColorizeMovementDesc=Ja šī funkcija ir iespējota, jūs varat izvēlēties īpašu fona krāsu debeta vai kredīta pārvietošanai BankColorizeMovementName1=Debeta kustības fona krāsa BankColorizeMovementName2=Kredīta aprites fona krāsa IfYouDontReconcileDisableProperty=Ja dažos bankas kontos neveicat bankas saskaņošanu, atspējojiet rekvizītu "%s", lai noņemtu šo brīdinājumu. NoBankAccountDefined=Nav noteikts bankas konts -NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. +NoRecordFoundIBankcAccount=Bankas kontā nav atrasts neviens ieraksts. Parasti tas notiek, ja ieraksts ir manuāli izdzēsts no bankas konta darījumu saraksta (piemēram, bankas konta saskaņošanas laikā). Vēl viens iemesls ir tas, ka maksājums tika reģistrēts, kad tika atspējots modulis "%s". diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index d814b040d56..014417b451d 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -29,8 +29,8 @@ InvoiceReplacementDesc=Rezerves rēķinu izmanto, lai pilnībā aizstātu InvoiceAvoir=Kredīta piezīme InvoiceAvoirAsk=Kredīta piezīme, lai koriģētu rēķinu InvoiceAvoirDesc= Kredīta piezīme ir negatīvs rēķins, ko izmanto, lai izlabotu faktu, ka rēķinā parādīta summa, kas atšķiras no faktiski samaksātās summas (piemēram, klients kļūdaini samaksājis pārāk daudz vai nemaksās pilno summu kopš daži produkti tika atgriezti). -invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice -invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice +invoiceAvoirWithLines=Izveidojiet kredītzīmi ar rindiņām no rēķina +invoiceAvoirWithPaymentRestAmount=Izveidojiet kredītzīmi ar atlikušo neapmaksāto rēķinu invoiceAvoirLineWithPaymentRestAmount=Kredīta piezīme par atlikušo neapmaksāto summu ReplaceInvoice=Aizstāt rēķinu %s ReplacementInvoice=Nomaiņas rēķins @@ -55,7 +55,7 @@ CustomerInvoice=Klienta rēķins CustomersInvoices=Klienta rēķini SupplierInvoice=Piegādātāja rēķins SuppliersInvoices=Piegādātāja rēķini -SupplierInvoiceLines=Vendor invoice lines +SupplierInvoiceLines=Pārdevēja rēķina rindas SupplierBill=Piegādātāja rēķins SupplierBills=Piegādātāja rēķini Payment=Maksājums @@ -82,8 +82,8 @@ PaymentsAlreadyDone=Jau samaksāts PaymentsBackAlreadyDone=Jau veiktas atmaksas PaymentRule=Maksājuma noteikums PaymentMode=Maksājuma veids -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=Noklusējuma maksājuma veids +DefaultBankAccount=Noklusējuma bankas konts PaymentTypeDC=Debet karte/ kredīt karte PaymentTypePP=PayPal IdPaymentMode=Maksājuma veids (id) @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=Konvertēt pārsniegto summu par atlaidi EnterPaymentReceivedFromCustomer=Ievadiet no klienta saņemto naudas summu EnterPaymentDueToCustomer=Veikt maksājumu dēļ klientam DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero -PriceBase=Base price +PriceBase=Bāzes cena BillStatus=Rēķina statuss StatusOfGeneratedInvoices=Izveidoto rēķinu statuss BillStatusDraft=Melnraksts (jāapstiprina) @@ -259,6 +259,7 @@ DateMaxPayment=Jāapmaksā līdz DateInvoice=Rēķina datums DatePointOfTax=Nodokļu punkts NoInvoice=Nav rēķinu +NoOpenInvoice=Nav atvērta rēķina ClassifyBill=Klasificēt rēķinu SupplierBillsToPay=Neapmaksāti pārdevēja rēķini CustomerBillsUnpaid=Neapmaksātie klienta rēķini @@ -376,7 +377,7 @@ DateLastGeneration=Jaunākais veidošanas datums DateLastGenerationShort=Datuma pēdējais gen. MaxPeriodNumber=Maks. rēķinu veidošanas skaits NbOfGenerationDone=Rēķina paaudzes skaits jau ir pabeigts -NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationOfRecordDone=Jau veikto ierakstu ģenerēšanas skaits NbOfGenerationDoneShort=Veicamās paaudzes skaits MaxGenerationReached=Maksimālais sasniegto paaudžu skaits InvoiceAutoValidate=Rēķinus automātiski apstiprināt @@ -417,7 +418,7 @@ PaymentCondition14DENDMONTH=14 dienu laikā pēc mēneša beigām FixAmount=Fiksēta summa - 1 rinda ar etiķeti '%s' VarAmount=Mainīgais apjoms (%% kop.) VarAmountOneLine=Mainīgā summa (%% kopā) - 1 rinda ar etiķeti '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +VarAmountAllLines=Mainīga summa (%% tot.) - visas līnijas no sākuma # PaymentType PaymentTypeVIR=Bankas pārskaitījums PaymentTypeShortVIR=Bankas pārskaitījums @@ -454,7 +455,7 @@ RegulatedOn=Regulēta uz ChequeNumber=Pārbaudiet N ° ChequeOrTransferNumber=Pārbaudiet / Transfer N ° ChequeBordereau=Pārbaudīt grafiku -ChequeMaker=Check/Transfer sender +ChequeMaker=Pārbaudīt / pārsūtīt sūtītāju ChequeBank=Čeka izsniegšanas banka CheckBank=Čeks NetToBePaid=Neto jāmaksā @@ -498,16 +499,16 @@ Cash=Skaidra nauda Reported=Kavējas DisabledBecausePayments=Nav iespējams, kopš šeit ir daži no maksājumiem CantRemovePaymentWithOneInvoicePaid=Nevar dzēst maksājumu, jo eksistē kaut viens rēķins, kas klasificēts kā samaksāts -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +CantRemovePaymentVATPaid=Nevar noņemt maksājumu, jo PVN deklarācija ir klasificēta kā apmaksāta +CantRemovePaymentSalaryPaid=Nevar noņemt maksājumu, jo alga ir klasificēta kā samaksāta ExpectedToPay=Gaidāmais maksājums CantRemoveConciliatedPayment=Nevar noņemt saskaņoto maksājumu PayedByThisPayment=Samaksāts ar šo maksājumu ClosePaidInvoicesAutomatically=Automātiski klasificējiet visus standarta, priekšapmaksas vai rezerves rēķinus kā “Apmaksāts”, ja maksājums ir pilnībā veikts. ClosePaidCreditNotesAutomatically=Automātiski klasificējiet visas kredītzīmes kā "Apmaksātu", kad atmaksa tiek veikta pilnībā. ClosePaidContributionsAutomatically=Automātiski klasificējiet visas sociālās vai fiskālās iemaksas kā "Apmaksātās", ja maksājums tiek veikts pilnībā. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +ClosePaidVATAutomatically=Ja maksājums tiek veikts pilnībā, automātiski klasificējiet PVN deklarāciju kā “Apmaksāts”. +ClosePaidSalaryAutomatically=Ja maksājums tiek veikts pilnībā, klasificējiet algu automātiski kā “Maksātu”. AllCompletelyPayedInvoiceWillBeClosed=Visi rēķini, kuriem nav jāmaksā, tiks automātiski aizvērti ar statusu "Paid". ToMakePayment=Maksāt ToMakePaymentBack=Atmaksāt @@ -520,10 +521,10 @@ YouMustCreateStandardInvoiceFirstDesc=Vispirms vispirms jāizveido standarta rē PDFCrabeDescription=Rēķina PDF veidne Krabis. Pilna rēķina veidne (vecā Sponge veidnes ieviešana) PDFSpongeDescription=Rēķina PDF veidne Sponge. Pilnīga rēķina veidne PDFCrevetteDescription=Rēķina PDF veidne Crevette. Pabeigta rēķina veidne situāciju rēķiniem -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=Atgriešanās numurs formātā %syymm-nnnn standarta rēķiniem un %syymm-nnnn kredītzīmēm, kur yy ir gads, mm ir mēnesis, un nnnn ir secīgs automātiski palielināms skaitlis bez pārtraukuma un bez atgriešanās pie 0 +MarsNumRefModelDesc1=Atgriešanas numurs formātā %syymm-nnnn standarta rēķiniem, %syymm-nnnn aizstājējrēķiniem, %syymm-nnnn priekšapmaksas rēķiniem un %syymn-nnnn ir bez pārtraukuma un bez atgriešanās pie 0 TerreNumRefModelError=Rēķinu sākot ar syymm $ jau pastāv un nav saderīgs ar šo modeli secību. Noņemt to vai pārdēvēt to aktivizētu šo moduli. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +CactusNumRefModelDesc1=Atgriešanās numurs formātā %syymm-nnnn standarta rēķiniem, %syymm-nnnn kredītzīmēm un %syymm-nnnn priekšapmaksas rēķiniem, kur yy ir gads, mm ir mēnesis, un nnnn nav secīgs automātiskais pārtraukums. 0 EarlyClosingReason=Priekšlaicīgas slēgšanas iemesls EarlyClosingComment=Priekšlaicīgās slēgšanas piezīme ##### Types de contacts ##### @@ -589,3 +590,4 @@ FacParentLine=Rēķinu rindas vecāks SituationTotalRayToRest=Atlikušais maksājums bez nodokļa PDFSituationTitle=Situācija Nr. %d SituationTotalProgress=Kopējais progress %d %% +SearchUnpaidInvoicesWithDueDate=Meklēt neapmaksātos rēķinos ar termiņu = %s diff --git a/htdocs/langs/lv_LV/blockedlog.lang b/htdocs/langs/lv_LV/blockedlog.lang index 3318d1d334c..79ac073bbad 100644 --- a/htdocs/langs/lv_LV/blockedlog.lang +++ b/htdocs/langs/lv_LV/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Nepārveidojami žurnāli ShowAllFingerPrintsMightBeTooLong=Rādīt visus arhivētos žurnālus (var būt daudz) ShowAllFingerPrintsErrorsMightBeTooLong=Rādīt visus nederīgos arhīva žurnālus (var būt garš) DownloadBlockChain=Lejupielādējiet pirkstu nospiedumus -KoCheckFingerprintValidity=Arhivēts žurnāla ieraksts nav derīgs. Tas nozīmē, ka kāds (hakeris?) Ir mainījis dažus šī ieraksta datus pēc tā ierakstīšanas vai ir izdzēsis iepriekšējo arhivēto ierakstu (pārbaudiet, vai pastāv līnija ar iepriekšējo #). +KoCheckFingerprintValidity=Arhivētais žurnāla ieraksts nav derīgs. Tas nozīmē, ka kāds (hakeris?) Ir pārveidojis dažus šī ieraksta datus pēc to ierakstīšanas, vai ir izdzēsis iepriekšējo arhivēto ierakstu (pārbaudiet, vai pastāv rinda ar iepriekšējo #) vai ir mainījusi iepriekšējā ieraksta kontrolsummu. OkCheckFingerprintValidity=Arhivēts žurnāla ieraksts ir derīgs. Dati par šo līniju netika mainīti un ieraksts seko iepriekšējam. OkCheckFingerprintValidityButChainIsKo=Arhivētais žurnāls šķiet derīgs salīdzinājumā ar iepriekšējo, bet ķēde agrāk tika bojāta. AddedByAuthority=Uzglabāti tālvadības iestādē @@ -35,7 +35,7 @@ logDON_DELETE=Ziedojuma loģiska dzēšana logMEMBER_SUBSCRIPTION_CREATE=Dalībnieka abonements izveidots logMEMBER_SUBSCRIPTION_MODIFY=Dalībnieku abonēšana ir labota logMEMBER_SUBSCRIPTION_DELETE=Locekļu abonēšanas loģiskā dzēšana -logCASHCONTROL_VALIDATE=Cash desk closing recording +logCASHCONTROL_VALIDATE=Kases slēgšanas ieraksts BlockedLogBillDownload=Klientu rēķinu lejupielāde BlockedLogBillPreview=Klienta rēķina priekšskatījums BlockedlogInfoDialog=Žurnāla detaļas diff --git a/htdocs/langs/lv_LV/boxes.lang b/htdocs/langs/lv_LV/boxes.lang index e861854a92e..2615d12ce7b 100644 --- a/htdocs/langs/lv_LV/boxes.lang +++ b/htdocs/langs/lv_LV/boxes.lang @@ -18,13 +18,13 @@ BoxLastActions=Jaunākās darbības BoxLastContracts=Jaunākie līgumi BoxLastContacts=Jaunākie kontakti/adreses BoxLastMembers=Jaunākie dalībnieki -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=Jaunākie modificētie dalībnieki +BoxLastMembersSubscriptions=Jaunākie dalībnieku abonementi BoxFicheInter=Jaunākās intervences BoxCurrentAccounts=Atvērto kontu atlikums BoxTitleMemberNextBirthdays=Šī mēneša dzimšanas dienas (dalībnieki) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMembersByType=Locekļi pēc veida +BoxTitleMembersSubscriptionsByYear=Dalībnieku abonēšana pēc gada BoxTitleLastRssInfos=Jaunākās %s ziņas no %s BoxTitleLastProducts=Produkti / Pakalpojumi: pēdējais %s modificēts BoxTitleProductsAlertStock=Produkti: krājumu brīdinājums @@ -46,11 +46,11 @@ BoxMyLastBookmarks=Grāmatzīmes: jaunākās %s BoxOldestExpiredServices=Vecākais aktīvais beidzies pakalpojums BoxLastExpiredServices=Jaunākie %s vecākie kontakti ar aktīviem derīguma termiņa beigām BoxTitleLastActionsToDo=Jaunākās %s darbības, ko darīt -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=Jaunākie %s līgumi, kas tika mainīti +BoxTitleLastModifiedDonations=Jaunākie %s ziedojumi, kas tika mainīti +BoxTitleLastModifiedExpenses=Jaunākie %s izdevumu pārskati, kas tika mainīti +BoxTitleLatestModifiedBoms=Jaunākās %s moduļi +BoxTitleLatestModifiedMos=Jaunākie %s ražošanas pasūtījumi, kas tika mainīti BoxTitleLastOutstandingBillReached=Pārsniegti klienti ar maksimālo nesamaksāto summu BoxGlobalActivity=Global darbība (pavadzīmes, priekšlikumi, rīkojumi) BoxGoodCustomers=Labi klienti @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Pārdevēja pasūtījumi: pēdējais %s mod BoxTitleLastModifiedCustomerBills=Klienta rēķini: pēdējie %s modificēti BoxTitleLastModifiedCustomerOrders=Pārdošanas pasūtījumi: pēdējais %s modificēts BoxTitleLastModifiedPropals=Pēdējie %s labotie priekšlikumi -BoxTitleLatestModifiedJobPositions=Jaunākie %s pārveidotie darbi -BoxTitleLatestModifiedCandidatures=Jaunākās %s modificētās kandidatūras +BoxTitleLatestModifiedJobPositions=Jaunākās %s modificētās amata vietas +BoxTitleLatestModifiedCandidatures=Jaunākās %s modificētās darba lietojumprogrammas ForCustomersInvoices=Klientu rēķini ForCustomersOrders=Klientu pasūtījumi ForProposals=Priekšlikumi @@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=Jaunākie %s klientu sūtījumi NoRecordedShipments=Nav reģistrēts klienta sūtījums BoxCustomersOutstandingBillReached=Ir sasniegti klienti ar ierobežojumu # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy +UsersHome=Mājas lietotāji un grupas +MembersHome=Dalība mājās +ThirdpartiesHome=Mājas trešās puses +TicketsHome=Mājas biļetes +AccountancyHome=Mājas grāmatvedība ValidatedProjects=Apstiprināti projekti diff --git a/htdocs/langs/lv_LV/cashdesk.lang b/htdocs/langs/lv_LV/cashdesk.lang index ea9c84562e2..28d50d2fd03 100644 --- a/htdocs/langs/lv_LV/cashdesk.lang +++ b/htdocs/langs/lv_LV/cashdesk.lang @@ -41,8 +41,8 @@ Floor=Stāvs AddTable=Pievienot tabulu Place=Vieta TakeposConnectorNecesary=Ir nepieciešams "TakePOS Connector" -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Pievienojiet pogu, lai pasūtījumu nosūtītu dažiem norādītajiem printeriem bez maksas (piemēram, lai nosūtītu pasūtījumu uz virtuvi) +NotAvailableWithBrowserPrinter=Nav pieejams, ja printeris saņemšanai ir iestatīts uz pārlūku: SearchProduct=Meklēt produktu Receipt=Saņemšana Header=Galvene @@ -57,9 +57,9 @@ Paymentnumpad=Padeves veids maksājuma ievadīšanai Numberspad=Numbers Pad BillsCoinsPad=Monētas un banknotes DolistorePosCategory=TakePOS moduļi un citi POS risinājumi Dolibarr -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items +TakeposNeedsCategories=Lai darbotos, TakePOS ir nepieciešama vismaz viena produktu kategorija +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=Lai darbotos, TakePOS nepieciešama vismaz viena produktu kategorija kategorijā %s +OrderNotes=Var pievienot dažas piezīmes katram pasūtītajam priekšmetam CashDeskBankAccountFor=Noklusējuma konts, ko izmantot maksājumiem NoPaimementModesDefined=TakePOS konfigurācijā nav definēts paiment režīms TicketVatGrouped=Grupējiet PVN pēc likmes biļetēs | kvītis @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=Rēķins jau ir apstiprināts NoLinesToBill=Nav rēķinu CustomReceipt=Pielāgota kvīts ReceiptName=Kvīts nosaukums -ProductSupplements=Manage supplements of products +ProductSupplements=Pārvaldiet produktu papildinājumus SupplementCategory=Papildinājuma kategorija ColorTheme=Krāsu tēma Colorful=Krāsains @@ -94,7 +94,7 @@ Browser=Pārlūkprogramma BrowserMethodDescription=Vienkārša un ērta kvīts drukāšana. Tikai daži parametri, lai konfigurētu kvīti. Drukājiet, izmantojot pārlūku. TakeposConnectorMethodDescription=Ārējs modulis ar papildu funkcijām. Iespēja drukāt no mākoņa. PrintMethod=Drukas metode -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=Jaudīga metode ar daudziem parametriem. Pilnībā pielāgojams ar veidnēm. Serveris, kurā mitinās lietojumprogramma, nevar atrasties mākonī (tam jāspēj sasniegt jūsu tīkla printerus). ByTerminal=Ar termināli TakeposNumpadUsePaymentIcon=Izmantojiet ikonu, nevis tekstu uz numpad numura maksāšanas pogām CashDeskRefNumberingModules=Numerācijas modulis tirdzniecības vietu tirdzniecībai @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =  
    {TN} tagu izmanto, lai pievienotu te TakeposGroupSameProduct=Grupējiet tās pašas produktu līnijas StartAParallelSale=Sāciet jaunu paralēlu izpārdošanu SaleStartedAt=Pārdošana sākās vietnē %s -ControlCashOpening=Kontrolējiet naudas uznirstošo punktu, atverot POS +ControlCashOpening=Atverot POS, atveriet uznirstošo logu “Kontrolēt skaidru naudu” CloseCashFence=Aizveriet kases kontroli CashReport=Skaidras naudas pārskats MainPrinterToUse=Galvenais izmantojamais printeris @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Vispirms jābūt iespējotam moduļa saņemša AllowDelayedPayment=Atļaut kavētu maksājumu PrintPaymentMethodOnReceipts=Izdrukājiet maksājuma veidu uz biļetēm | WeighingScale=Svari -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Parādīt kolonnu ar cenu bez nodokļiem (ekrānā) +ShowPriceHTOnReceipt = Parādīt kolonnu ar cenu bez nodokļa (kvītī) +CustomerDisplay=Customer display diff --git a/htdocs/langs/lv_LV/categories.lang b/htdocs/langs/lv_LV/categories.lang index 9be0e84b700..fe13651cb91 100644 --- a/htdocs/langs/lv_LV/categories.lang +++ b/htdocs/langs/lv_LV/categories.lang @@ -3,20 +3,20 @@ Rubrique=Etiķete/Sadaļa Rubriques=Etiķetes/Sadaļas RubriquesTransactions=Tags/Categories of transactions categories=etiķetes/sadaļas -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Šāda veida tags / kategorija nav izveidota In=Uz AddIn=Pievienot modify=modificēt Classify=Klasificēt CategoriesArea=Etiķešu/Sadaļu sadaļa -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Produktu / pakalpojumu tagu / kategoriju apgabals +SuppliersCategoriesArea=Pārdevēja tagu / kategoriju apgabals +CustomersCategoriesArea=Klientu tagu / kategoriju apgabals +MembersCategoriesArea=Dalībnieku tagu / kategoriju apgabals +ContactsCategoriesArea=Kontaktu tagu / kategoriju apgabals +AccountsCategoriesArea=Bankas kontu tagi / kategoriju apgabals +ProjectsCategoriesArea=Projekta tagu / kategoriju apgabals +UsersCategoriesArea=Lietotāju tagu / kategoriju apgabals SubCats=Apakšsadaļas CatList=Atslēgvārdu/sadaļu saraksts CatListAll=Tagu / kategoriju saraksts (visi veidi) @@ -37,7 +37,7 @@ CompanyIsInSuppliersCategories=Šī trešā persona ir saistīta ar šādiem pā MemberIsInCategories=This member is linked to following members tags/categories ContactIsInCategories=This contact is linked to following contacts tags/categories ProductHasNoCategory=Šī prece/pakalpijums nav nevienā sadaļā -CompanyHasNoCategory=This third party is not in any tags/categories +CompanyHasNoCategory=Šī trešā puse nav nevienā tagā / kategorijā MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=Šī kontaktpersona nav nevienā tagā /sadaļā ProjectHasNoCategory=Šis projekts nav nevienā tagā / kategorijā @@ -83,7 +83,7 @@ CatMembersLinks=Links between members and tags/categories CatProjectsLinks=Saikne starp projektiem un tagiem / kategorijām CatUsersLinks=Saites starp lietotājiem un tagiem / kategorijām DeleteFromCat=Noņemt no tagiem / kategorijas -ExtraFieldsCategories=Complementary attributes +ExtraFieldsCategories=Papildus atribūti CategoriesSetup=Tagu / kategoriju iestatīšana CategorieRecursiv=Link with parent tag/category automatically CategorieRecursivHelp=Ja opcija ir ieslēgta, pievienojot produktu apakškategorijai, produkts tiks pievienots arī vecākajai kategorijai. @@ -93,7 +93,7 @@ AddSupplierIntoCategory=Piešķirt kategoriju piegādātājam ShowCategory=Show tag/category ByDefaultInList=By default in list ChooseCategory=Izvēlies sadaļu -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories +StocksCategoriesArea=Noliktavas kategorijas +ActionCommCategoriesArea=Pasākumu kategorijas WebsitePagesCategoriesArea=Lapu konteineru kategorijas -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=Kategorijām izmantojiet operatoru “OR” diff --git a/htdocs/langs/lv_LV/commercial.lang b/htdocs/langs/lv_LV/commercial.lang index 294d6b7c321..2a5b51abed4 100644 --- a/htdocs/langs/lv_LV/commercial.lang +++ b/htdocs/langs/lv_LV/commercial.lang @@ -64,10 +64,11 @@ ActionAC_SHIP=Nosūtīt piegādi pa pastu ActionAC_SUP_ORD=Nosūtiet pirkumu pa pastu ActionAC_SUP_INV=Nosūtiet pārdevēju rēķinu pa pastu ActionAC_OTH=Cits -ActionAC_OTH_AUTO=Automātiski ievietoti notikumi +ActionAC_OTH_AUTO=Cits auto ActionAC_MANUAL=Manuāli ievietoti notikumi ActionAC_AUTO=Automātiski ievietoti notikumi -ActionAC_OTH_AUTOShort=Auto +ActionAC_OTH_AUTOShort=Cits +ActionAC_EVENTORGANIZATION=Pasākumu organizēšanas pasākumi Stats=Tirdzniecības statistika StatusProsp=Prospekta statuss DraftPropals=Izstrādā komerciālos priekšlikumus diff --git a/htdocs/langs/lv_LV/companies.lang b/htdocs/langs/lv_LV/companies.lang index f9471964586..d0f7317eb2d 100644 --- a/htdocs/langs/lv_LV/companies.lang +++ b/htdocs/langs/lv_LV/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=Uzņēmuma nosaukums %s jau pastāv. Izvēlieties citu. ErrorSetACountryFirst=Izvēlieties vispirms valsti SelectThirdParty=Izvēlieties trešo pusi -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Vai tiešām vēlaties dzēst šo uzņēmumu un visu saistīto informāciju? DeleteContact=Izdzēst kontaktu / adresi -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Vai tiešām vēlaties dzēst šo kontaktpersonu un visu saistīto informāciju? MenuNewThirdParty=Jauna trešā persona MenuNewCustomer=Jauns klients MenuNewProspect=Jauns prospekts @@ -43,10 +43,10 @@ Individual=Privātpersona ToCreateContactWithSameName=Automātiski izveidos kontaktu / adresi ar tādu pašu informāciju kā trešā persona trešās puses ietvaros. Vairumā gadījumu pat tad, ja jūsu trešā persona ir fiziska persona, pietiek ar trešās personas izveidošanu vien. ParentCompany=Mātes uzņēmums Subsidiaries=Filiāles -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate +ReportByMonth=Pārskats mēnesī +ReportByCustomers=Pārskats par katru klientu +ReportByThirdparties=Ziņojums par katru trešo personu +ReportByQuarter=Ziņot par likmi CivilityCode=Pieklājība kods RegisteredOffice=Juridiskā adrese Lastname=Uzvārds @@ -69,7 +69,7 @@ PhoneShort=Telefons Skype=Skype Call=Zvanīt Chat=Čats -PhonePro=Bus. phone +PhonePro=Autobuss. tālruni PhonePerso=Pers. telefons PhoneMobile=Mobilais No_Email=Atteikties no lielapjoma pasta sūtījumiem @@ -173,17 +173,17 @@ ProfId1ES=Prof ID 1 (CIF / NIF) ProfId2ES=Prof Id 2 (Sociālās apdrošināšanas numurs) ProfId3ES=Prof Id 3 (CNAE) ProfId4ES=Prof Id 4 (Collegiate numurs) -ProfId5ES=Prof Id 5 (EORI number) +ProfId5ES=Prof Id 5 (EORI numurs) ProfId6ES=- ProfId1FR=Prof ID 1 (Sirēnas) ProfId2FR=Prof Id 2 (SIRET) ProfId3FR=Prof Id 3 (NBS, vecais APE) ProfId4FR=Prof Id 4 (RCS / RM) -ProfId5FR=Prof Id 5 (numéro EORI) +ProfId5FR=Prof Id 5 (numoro EORI) ProfId6FR=- ProfId1ShortFR=SIREN ProfId2ShortFR=SIRET -ProfId3ShortFR=NAF +ProfId3ShortFR=NBS ProfId4ShortFR=RCS ProfId5ShortFR=EORI ProfId6ShortFR=- @@ -239,7 +239,7 @@ ProfId1PT=Prof ID 1 (NIPC) ProfId2PT=Prof Id 2 (Sociālās apdrošināšanas numurs) ProfId3PT=Prof Id 3 (Tirdzniecības Ieraksta numurs) ProfId4PT=Prof Id 4 (konservatorija) -ProfId5PT=Prof Id 5 (EORI number) +ProfId5PT=Prof Id 5 (EORI numurs) ProfId6PT=- ProfId1SN=RC ProfId2SN=NINEA @@ -263,7 +263,7 @@ ProfId1RO=1. prof. ID (CUI) ProfId2RO=Prof Id 2 (Nr. Manmatriculare) ProfId3RO=3. profils (CAEN) ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId5RO=Prof Id 5 (EORI numurs) ProfId6RO=- ProfId1RU=Prof ID 1 (BIN) ProfId2RU=Prof Id 2 (INN) @@ -331,7 +331,7 @@ CustomerCodeDesc=Klienta kods, unikāls visiem klientiem SupplierCodeDesc=Pārdevēja kods, unikāls visiem pārdevējiem RequiredIfCustomer=Nepieciešams, ja trešā puse ir klients vai perspektīva RequiredIfSupplier=Nepieciešams, ja trešā puse ir pārdevējs -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Derīgumu kontrolē modulis ThisIsModuleRules=Noteikumi šim modulim ProspectToContact=Perspektīva ar ko sazināties CompanyDeleted=Kompānija "%s" dzēsta no datubāzes. @@ -439,22 +439,22 @@ ListSuppliersShort=Pārdevēju saraksts ListProspectsShort=Perspektīvu saraksts ListCustomersShort=Klientu saraksts ThirdPartiesArea=Trešās puses/Kontakti -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Jaunākās %s Trešās puses, kas tika modificētas +UniqueThirdParties=Kopējais trešo personu skaits InActivity=Atvērts ActivityCeased=Slēgts ThirdPartyIsClosed=Trešā persona ir slēgta -ProductsIntoElements=List of products/services mapped to %s -CurrentOutstandingBill=Current outstanding bill +ProductsIntoElements=Produktu / pakalpojumu saraksts, kas kartēti ar %s +CurrentOutstandingBill=Pašreizējais nesamaksātais rēķins OutstandingBill=Maks. par izcilu rēķinu OutstandingBillReached=Maks. par izcilu rēķinu OrderMinAmount=Minimālā pasūtījuma summa -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=Klienta kodam atgrieziet skaitli formātā %syymm-nnnn un pārdevēja kodam %syymm-nnnn, kur yy ir gads, mm ir mēnesis, un nnnn ir secīgs automātiskās pieauguma skaitlis bez pārtraukuma un bez atgriešanās uz 0. LeopardNumRefModelDesc=Kods ir bez maksas. Šo kodu var mainīt jebkurā laikā. ManagingDirectors=Menedžera(u) vārds (CEO, direktors, prezidents...) MergeOriginThirdparty=Duplicate third party (third party you want to delete) MergeThirdparties=Apvienot trešās puses -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Vai tiešām vēlaties apvienot izvēlēto trešo pusi ar pašreizējo? Visi saistītie objekti (rēķini, pasūtījumi, ...) tiks pārvietoti uz pašreizējo trešo pusi, pēc tam izvēlētā trešā puse tiks izdzēsta. ThirdpartiesMergeSuccess=Trešās puses ir apvienotas SaleRepresentativeLogin=Tirdzniecības pārstāvja pieteikšanās SaleRepresentativeFirstname=Tirdzniecības pārstāvja vārds diff --git a/htdocs/langs/lv_LV/compta.lang b/htdocs/langs/lv_LV/compta.lang index f3413c399d7..d99b893f240 100644 --- a/htdocs/langs/lv_LV/compta.lang +++ b/htdocs/langs/lv_LV/compta.lang @@ -24,7 +24,7 @@ ReportTurnoverCollected=Savākto apgrozījumu PaymentsNotLinkedToInvoice=Maksājumi, kas nav saistīti ar kādu rēķinu, tāpēc nav saistīts ar trešajām personām PaymentsNotLinkedToUser=Maksājumi, kas nav saistīti ar jebkuru lietotāju Profit=Peļņa -AccountingResult=Accounting result +AccountingResult=Grāmatvedības rezultāts BalanceBefore=Bilance (pirms) Balance=Bilance Debit=Debets @@ -65,7 +65,7 @@ LT2SupplierIN=SGST pirkumi VATCollected=Iekasētais PVN StatusToPay=Jāsamaksā SpecialExpensesArea=Sadaļa visiem īpašajiem maksājumiem -VATExpensesArea=Area for all TVA payments +VATExpensesArea=Platība visiem TVA maksājumiem SocialContribution=Sociālais vai fiskālais nodoklis SocialContributions=Sociālie vai fiskālie nodokļi SocialContributionsDeductibles=Atskaitāmi sociālie vai fiskālie nodokļi @@ -86,7 +86,7 @@ PaymentCustomerInvoice=Klienta rēķina apmaksa PaymentSupplierInvoice=pārdevēja rēķina apmaksa PaymentSocialContribution=Social/fiscal tax payment PaymentVat=PVN maksājumi -AutomaticCreationPayment=Automatically record the payment +AutomaticCreationPayment=Automātiski reģistrēt maksājumu ListPayment=Maksājumu saraksts ListOfCustomerPayments=Klientu maksājumu saraksts ListOfSupplierPayments=Pārdevēja maksājumu saraksts @@ -106,8 +106,8 @@ LT2PaymentES=IRPF Maksājumu LT2PaymentsES=IRPF Maksājumi VATPayment=Tirdzniecības nodokļa samaksa VATPayments=Tirdzniecības nodokļa maksājumi -VATDeclarations=VAT declarations -VATDeclaration=VAT declaration +VATDeclarations=PVN deklarācijas +VATDeclaration=PVN deklarācija VATRefund=PVN atmaksa NewVATPayment=Jauns apgrozījuma nodokļa maksājums NewLocalTaxPayment=Jauns nodokļa %s maksājums @@ -135,20 +135,20 @@ NewCheckReceipt=Jauna atlaide NewCheckDeposit=Jauns pārbaude depozīts NewCheckDepositOn=Izveidot kvīti par depozīta kontā: %s NoWaitingChecks=No checks awaiting deposit. -DateChequeReceived=Check receiving date +DateChequeReceived=Pārbaudiet saņemšanas datumu NbOfCheques=Pārbaužu skaits PaySocialContribution=Maksāt sociālo/fiskālo nodokli -PayVAT=Pay a VAT declaration -PaySalary=Pay a salary card -ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? -ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? +PayVAT=Samaksājiet PVN deklarāciju +PaySalary=Samaksājiet algas karti +ConfirmPaySocialContribution=Vai tiešām vēlaties klasificēt šo sociālo vai fiskālo nodokli kā samaksātu? +ConfirmPayVAT=Vai tiešām vēlaties klasificēt šo PVN deklarāciju kā apmaksātu? +ConfirmPaySalary=Vai tiešām vēlaties klasificēt šo algas karti kā apmaksātu? DeleteSocialContribution=Dzēst sociālo vai fiskālo nodokļu maksājumu -DeleteVAT=Delete a VAT declaration -DeleteSalary=Delete a salary card -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? +DeleteVAT=Dzēst PVN deklarāciju +DeleteSalary=Dzēst algas karti +ConfirmDeleteSocialContribution=Vai tiešām vēlaties dzēst šo sociālā / fiskālā nodokļa maksājumu? +ConfirmDeleteVAT=Vai tiešām vēlaties dzēst šo PVN deklarāciju? +ConfirmDeleteSalary=Vai tiešām vēlaties dzēst šo algu? ExportDataset_tax_1=Sociālie un fiskālie nodokļi un maksājumi CalcModeVATDebt=Mode %sVAT par saistību accounting%s. CalcModeVATEngagement=Mode %sVAT par ienākumu-expense%sS. @@ -175,7 +175,7 @@ RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT RulesCADue=- Tajā ir iekļauti klienta rēķini, par kuriem ir samaksāts.
    - tas ir balstīts uz šo rēķinu apmaksas datumu.
    RulesCAIn=- Tas ietver visus no klientiem saņemto rēķinu faktiskos maksājumus.
    - Tas ir balstīts uz šo rēķinu apmaksas datumu RulesCATotalSaleJournal=Tas ietver visas kredītlīnijas no pārdošanas žurnāla. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesSalesTurnoverOfIncomeAccounts=Tas ietver (kredīts - debets) rindas produktu kontiem IENĀKUMS RulesAmountOnInOutBookkeepingRecord=Tas ietver jūsu Ledger ierakstu ar grāmatvedības kontiem, kuriem ir grupa "IZDEVUMS" vai "IENĀKUMS" RulesResultBookkeepingPredefined=Tas ietver jūsu Ledger ierakstu ar grāmatvedības kontiem, kuriem ir grupa "IZDEVUMS" vai "IENĀKUMS" RulesResultBookkeepingPersonalized=Tas rāda jūsu grāmatvedībā ierakstu ar grāmatvedības kontiem grupējot pēc personalizētām grupām @@ -196,7 +196,7 @@ VATReportByThirdParties=Trešo personu pārdošanas nodokļa pārskats VATReportByCustomers=Pārdošanas nodokļa pārskats pēc klienta VATReportByCustomersInInputOutputMode=Ziņojums klientu PVN iekasē un izmaksā VATReportByQuartersInInputOutputMode=Ienākuma nodokļa likmes aprēķins par iekasēto un samaksāto nodokli -VATReportShowByRateDetails=Show details of this rate +VATReportShowByRateDetails=Parādīt detalizētu informāciju par šo likmi LT1ReportByQuarters=Ziņot par nodokli 2 pēc likmes LT2ReportByQuarters=Ziņojiet par nodokli 3 pēc likmes LT1ReportByQuartersES=Report by RE rate @@ -231,7 +231,7 @@ Pcg_subtype=PCG apakštipu InvoiceLinesToDispatch=Rēķina līnijas nosūtīšanas ByProductsAndServices=Pēc produkta un pakalpojuma RefExt=Ārējā ref -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +ToCreateAPredefinedInvoice=Lai izveidotu rēķina veidni, izveidojiet standarta rēķinu, pēc tam, to neapstiprinot, noklikšķiniet uz pogas "%s". LinkedOrder=Saite uz pasūtījumu Mode1=Metode 1 Mode2=Metode 2 @@ -249,8 +249,8 @@ ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Īpašais grāmatvedības konts, kas noteikts t ACCOUNTING_ACCOUNT_SUPPLIER=Pārdevēja trešo personu grāmatvedības konts ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Trešās puses kartē noteiktais īpašais grāmatvedības konts tiks izmantots tikai Subledger grāmatvedībai. Tas tiks izmantots galvenajai grāmatai un Subledger grāmatvedības noklusējuma vērtība, ja nav definēts īpašs pārdevēja grāmatvedības konts trešajā pusē. ConfirmCloneTax=Apstipriniet sociālā / fiskālā nodokļa klonu -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary +ConfirmCloneVAT=Apstipriniet PVN deklarācijas klonu +ConfirmCloneSalary=Apstipriniet algas klonu CloneTaxForNextMonth=Klonēt nākošam mēnesim SimpleReport=Vienkāršs pārskats AddExtraReport=Papildu pārskati (pievienojiet ārvalstu un valsts klientu pārskatu) @@ -269,8 +269,8 @@ AccountingAffectation=Grāmatvedības uzskaite LastDayTaxIsRelatedTo=Nodokļa pēdējā diena ir saistīta ar VATDue=Pieprasītais pārdošanas nodoklis ClaimedForThisPeriod=Pretendē uz periodu -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range +PaidDuringThisPeriod=Samaksāts par šo periodu +PaidDuringThisPeriodDesc=Šī ir visu to maksājumu summa, kas saistīti ar PVN deklarācijām un kuru izvēlētajā datumu diapazonā ir perioda beigu datums ByVatRate=Ar pārdošanas nodokļa likmi TurnoverbyVatrate=Apgrozījums, par kuru tiek aprēķināta pārdošanas nodokļa likme TurnoverCollectedbyVatrate=Apgrozījums, kas iegūts, pārdodot nodokli @@ -281,8 +281,14 @@ PurchaseTurnoverCollected=Apkopots pirkumu apgrozījums RulesPurchaseTurnoverDue=- Tajā ir iekļauti piegādātāja rēķini par samaksu neatkarīgi no tā, vai tie ir samaksāti.
    - tas ir balstīts uz šo rēķinu izrakstīšanas datumu.
    RulesPurchaseTurnoverIn=- Tas ietver visus faktiskos rēķinu maksājumus, kas veikti piegādātājiem.
    - tas ir balstīts uz šo rēķinu apmaksas datumu
    RulesPurchaseTurnoverTotalPurchaseJournal=Tas ietver visas pirkuma žurnāla debeta līnijas. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE +RulesPurchaseTurnoverOfExpenseAccounts=Tas ietver (debets - kredīts) līnijas produktu kontiem grupā EXPENSE ReportPurchaseTurnover=Par pirkuma apgrozījumu izrakstīts rēķins ReportPurchaseTurnoverCollected=Apkopots pirkumu apgrozījums IncludeVarpaysInResults = Pārskatos iekļaujiet dažādus maksājumus IncludeLoansInResults = Iekļaujiet pārskatos aizdevumus +InvoiceLate30Days = Rēķini nokavēti> 30 dienas +InvoiceLate15Days = Rēķini nokavēti> 15 dienas +InvoiceLateMinus15Days = Kavēti rēķini +InvoiceNotLate = Jāsavāc <15 dienas +InvoiceNotLate15Days = Tiek savākts 15 dienu laikā +InvoiceNotLate30Days = Tiek savākts 30 dienu laikā diff --git a/htdocs/langs/lv_LV/contracts.lang b/htdocs/langs/lv_LV/contracts.lang index df3f4b80956..099de7d45cb 100644 --- a/htdocs/langs/lv_LV/contracts.lang +++ b/htdocs/langs/lv_LV/contracts.lang @@ -17,7 +17,7 @@ ServiceStatusClosed=Slēgts ShowContractOfService=Rādīt pakalpojuma līgumu Contracts=Līgumi ContractsSubscriptions=Contracts/Subscriptions -ContractsAndLine=Contracts and line of contracts +ContractsAndLine=Līgumi un līgumu līnija Contract=Līgums ContractLine=Līguma līnija Closing=Slēgšana diff --git a/htdocs/langs/lv_LV/cron.lang b/htdocs/langs/lv_LV/cron.lang index 864165259f3..062d5230372 100644 --- a/htdocs/langs/lv_LV/cron.lang +++ b/htdocs/langs/lv_LV/cron.lang @@ -7,8 +7,8 @@ Permission23103 = Dzēst plānoto darbu Permission23104 = Izpildīt plānoto darbu # Admin CronSetup=Plānoto darbu iestatīšana -URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser -OrToLaunchASpecificJob=Or to check and launch a specific job from a browser +URLToLaunchCronJobs=URL, lai pārbaudītu un palaistu kvalificētus cron darbus no pārlūkprogrammas +OrToLaunchASpecificJob=Vai arī pārbaudīt un palaist konkrētu darbu no pārlūkprogrammas KeyForCronAccess=Drošības atslēga URL uzsākt cron darbavietas FileToLaunchCronJobs=Command line to check and launch qualified cron jobs CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Beigu datums nevar būt pirms sākuma datuma StatusAtInstall=Statuss moduļa instalācijā CronStatusActiveBtn=Grafiks CronStatusInactiveBtn=Izslēgt -CronTaskInactive=Šis darbs ir izslēgts +CronTaskInactive=Šis darbs ir atspējots (nav ieplānots) CronId=Id CronClassFile=Faila nosaukums ar klasi CronModuleHelp=Dolibarr moduļu direktorijas nosaukums (arī darbojas ar ārēju Dolibarr moduli).
    Piemēram, lai izsauktu Dolibarr produkta objektu /htdocs/product/class/product.class.php iegūšanas metodi, moduļa vērtība ir
    produkts @@ -84,8 +84,8 @@ MakeLocalDatabaseDumpShort=Lokālās datu bāzes dublēšana MakeLocalDatabaseDump=Izveidojiet vietējo datubāzes dump. Parametri ir: kompresija ("gz" vai "bz" vai "neviens"), dublēšanas veids ("mysql", "pgsql", "auto"), 1, "auto" vai faila nosaukums, WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. DATAPOLICYJob=Datu tīrītājs un anonimizators -JobXMustBeEnabled=Job %s must be enabled +JobXMustBeEnabled=Darbam %s jābūt iespējotam # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Pēdējais izpildītais plānotais darbs +NextScheduledJobExecute=Nākamais ieplānotais izpildāmais darbs +NumberScheduledJobError=Ieplānoto darbu skaits kļūdaini diff --git a/htdocs/langs/lv_LV/deliveries.lang b/htdocs/langs/lv_LV/deliveries.lang index fa28f02fb09..cfe026979d6 100644 --- a/htdocs/langs/lv_LV/deliveries.lang +++ b/htdocs/langs/lv_LV/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Saņēmējs ErrorStockIsNotEnough=Nav pietiekami daudz krājumu Shippable=Shippable NonShippable=Nav nosūtāms +ShowShippableStatus=Rādīt pārsūtāmo statusu ShowReceiving=Rādīt piegādes kvīti NonExistentOrder=Neeksistējošs pasūtījums +StockQuantitiesAlreadyAllocatedOnPreviousLines = Krājumu daudzumi, kas jau piešķirti iepriekšējās rindās diff --git a/htdocs/langs/lv_LV/dict.lang b/htdocs/langs/lv_LV/dict.lang index a56b6837c4a..1b232c953ca 100644 --- a/htdocs/langs/lv_LV/dict.lang +++ b/htdocs/langs/lv_LV/dict.lang @@ -290,7 +290,7 @@ CurrencyXOF=CFA franki BCEAO CurrencySingXOF=CFA Franc BCEAO CurrencyXPF=KZP franki CurrencySingXPF=CFP Franc -CurrencyCentEUR=centiem +CurrencyCentEUR=centi CurrencyCentSingEUR=cents CurrencyCentINR=paisa CurrencyCentSingINR=paise diff --git a/htdocs/langs/lv_LV/donations.lang b/htdocs/langs/lv_LV/donations.lang index e9ae4ae5464..26019bfad78 100644 --- a/htdocs/langs/lv_LV/donations.lang +++ b/htdocs/langs/lv_LV/donations.lang @@ -7,7 +7,6 @@ AddDonation=Izveidot ziedojumu NewDonation=Jauns ziedojums DeleteADonation=Dzēst ziedojumu ConfirmDeleteADonation=Vai tiešām vēlaties dzēst šo ziedojumu? -ShowDonation=Rādīt ziedojumu PublicDonation=Sabiedrības ziedojums DonationsArea=Ziedojumu sadaļa DonationStatusPromiseNotValidated=Sagataves solījums @@ -33,3 +32,4 @@ DONATION_ART238=Show article 238 from CGI if you are concerned DONATION_ART885=Show article 885 from CGI if you are concerned DonationPayment=Ziedojuma maksājums DonationValidated=Ziedojums %s apstiprināts +DonationUseThirdparties=Izmantojiet esošo donoru kā donoru koordinātas diff --git a/htdocs/langs/lv_LV/ecm.lang b/htdocs/langs/lv_LV/ecm.lang index 459119bffcd..d3549d4d369 100644 --- a/htdocs/langs/lv_LV/ecm.lang +++ b/htdocs/langs/lv_LV/ecm.lang @@ -41,7 +41,7 @@ FileNotYetIndexedInDatabase=Fails vēl nav indeksēts datu bāzē (mēģiniet to ExtraFieldsEcmFiles=Extrafields Ecm failus ExtraFieldsEcmDirectories=Extrafields Ecm direktoriji ECMSetup=ECM iestatīšana -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +GenerateImgWebp=Dublējiet visus attēlus ar citu versiju ar .webp formātu +ConfirmGenerateImgWebp=Ja apstiprināsit, visiem šajā mapē esošajiem attēliem tiks ģenerēts attēls .webp formātā (apakšmapes nav iekļautas) ... +ConfirmImgWebpCreation=Apstipriniet visu attēlu dublēšanos +SucessConvertImgWebp=Attēli ir veiksmīgi dublēti diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index 08d6f347a7c..43ef7736375 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=Nav kļūda, mēs apstiprinam # Errors ErrorButCommitIsDone=Kļūdas atrasta, bet mēs apstiprinājām neskatoties uz to -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=E-pasts %s nav pareizs +ErrorBadMXDomain=E-pasts %s šķiet nepareizs (domēnam nav derīga MX ieraksta) +ErrorBadUrl=URL %s nav pareizs ErrorBadValueForParamNotAString=Jūsu parametra nepareiza vērtība. Tas parasti parādās, ja trūkst tulkojuma. ErrorRefAlreadyExists=Atsauce %s jau pastāv. ErrorLoginAlreadyExists=Lietotājs %s jau pastāv. ErrorGroupAlreadyExists=Grupa %s jau pastāv. +ErrorEmailAlreadyExists=E-pasts %s jau pastāv. ErrorRecordNotFound=Ierakstīt nav atrasts. ErrorFailToCopyFile=Neizdevās nokopēt failu '%s' uz '%s'. ErrorFailToCopyDir=Neizdevās kopēt direktoriju '%s' uz ' %s'. @@ -46,8 +47,8 @@ ErrorWrongDate=Datums nav pareizs ErrorFailedToWriteInDir=Neizdevās ierakstīt direktorijā %s ErrorFoundBadEmailInFile=Atrasts nepareiza e-pasta sintakse %s līnijām failā (piemērs line %s ar e-pasta = %s) ErrorUserCannotBeDelete=Lietotāju nevar izdzēst. Varbūt tas ir saistīts ar Dolibarr vienībām. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=Daži obligāti aizpildāmie lauki ir atstāti tukši. +ErrorSubjectIsRequired=Nepieciešama e-pasta tēma ErrorFailedToCreateDir=Neizdevās izveidot direktoriju. Pārbaudiet, vai Web servera lietotājam ir tiesības rakstīt uz Dolibarr dokumentus direktorijā. Ja parametrs safe_mode ir iespējots uz šo PHP, pārbaudiet, Dolibarr php faili pieder web servera lietotājam (vai grupa). ErrorNoMailDefinedForThisUser=Nav definēts e-pasts šim lietotājam ErrorSetupOfEmailsNotComplete=E-pastu iestatīšana nav pabeigta @@ -59,7 +60,7 @@ ErrorDirNotFound=Directory %s nav atrasts (Bad ceļš, aplamas tiesības ErrorFunctionNotAvailableInPHP=Funkcija %s ir nepieciešama šī funkcija, bet nav pieejams šajā versijā / uzstādīšanas PHP. ErrorDirAlreadyExists=Direrktorija ar šādu nosaukumu jau pastāv. ErrorFileAlreadyExists=Fails ar šādu nosaukumu jau eksistē. -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists=Jau pastāv cits fails ar nosaukumu %s . ErrorPartialFile=Serveris failu nav saņemis pilnīgi. ErrorNoTmpDir=Pagaidu direktorija %s neeksistē. ErrorUploadBlockedByAddon=Augšupielāde bloķēja ar PHP/Apache spraudni. @@ -117,7 +118,7 @@ ErrorCantReadFile=Neizdevās nolasīt failu '%s' ErrorCantReadDir=Neizdevās nolasīt katalogu '%s' ErrorBadLoginPassword=Nepareiza vērtība lietotājvārdam vai parolei ErrorLoginDisabled=Jūsu konts ir bloķēts -ErrorFailedToRunExternalCommand=Neizdevās palaist ārēju komandu. Pārbaudiet, tas ir pieejams, un skrienams ar savu PHP servera. Ja PHP Safe Mode ir iespējots, pārbaudiet, vai komanda ir iekšā direktorijā noteiktajā parametru safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Neizdevās palaist ārējo komandu. Pārbaudiet, vai tas ir pieejams un darbojas jūsu PHP servera lietotājam. Pārbaudiet arī, vai komandu čaulas līmenī neaizsargā tāds drošības slānis kā apparmor. ErrorFailedToChangePassword=Neizdevās nomainīt paroli ErrorLoginDoesNotExists=Lietotāju ar pieteikšanos %s nevar atrast. ErrorLoginHasNoEmail=Šim lietotājam nav e-pasta adrese. Process atcelts. @@ -158,9 +159,9 @@ ErrorPriceExpression4=Neatļauts simbols '%s' ErrorPriceExpression5=Negaidīts '%s' ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) ErrorPriceExpression8=Unexpected operator '%s' -ErrorPriceExpression9=An unexpected error occured +ErrorPriceExpression9=Radās neparedzēta kļūda ErrorPriceExpression10=Operatoram '%s' nav operandes -ErrorPriceExpression11=Expecting '%s' +ErrorPriceExpression11=Gaidāms '%s' ErrorPriceExpression14=Dalīts ar nulli ErrorPriceExpression17=Nedefinēta vērtība '%s' ErrorPriceExpression19=Izteiksme nav atrasta @@ -171,7 +172,7 @@ ErrorPriceExpression23=Nezināms vai nenoteikts mainīgais "%s" %s ErrorPriceExpression24=Mainīgais '%s' pastāv, bet tam nav vērtības ErrorPriceExpressionInternal=Iekšēja kļūda '%s' ErrorPriceExpressionUnknown=Nezināma kļūda '%s' -ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorSrcAndTargetWarehouseMustDiffers=Avota un mērķa noliktavām jābūt atšķirīgām ErrorTryToMakeMoveOnProductRequiringBatchData=Kļūda, cenšoties veikt krājumu kustību bez partijas / sērijas informācijas, produktam '%s', kas prasa daudz / sērijas informāciju ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified (approved or denied) before being allowed to do this action ErrorCantSetReceptionToTotalDoneWithReceptionDenied=All recorded receptions must first be verified (approved) before being allowed to do this action @@ -226,9 +227,9 @@ ErrorAPageWithThisNameOrAliasAlreadyExists=Lapā / konteinerā %s %s
    ir ieslēgta. WarningCreateSubAccounts=Brīdinājums: jūs nevarat izveidot tieši apakškontu, jums ir jāizveido trešā puse vai lietotājs un jāpiešķir viņiem grāmatvedības kods, lai tos atrastu šajā sarakstā WarningAvailableOnlyForHTTPSServers=Pieejams tikai tad, ja tiek izmantots HTTPS drošais savienojums. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningModuleXDisabledSoYouMayMissEventHere=Modulis %s nav iespējots. Tāpēc jūs varat izlaist daudz notikumu šeit. +ErrorActionCommPropertyUserowneridNotDefined=Nepieciešams lietotāja īpašnieks +ErrorActionCommBadType=Atlasītais notikuma veids (id: %n, kods: %s) nepastāv notikuma veida vārdnīcā +CheckVersionFail=Versijas pārbaude neizdevās +ErrorWrongFileName=Faila nosaukumā nedrīkst būt __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Nav Maksājumu nosacījumu vārdnīcā, lūdzu, modificējiet. diff --git a/htdocs/langs/lv_LV/eventorganization.lang b/htdocs/langs/lv_LV/eventorganization.lang index b70d65eb304..eef8eb428bd 100644 --- a/htdocs/langs/lv_LV/eventorganization.lang +++ b/htdocs/langs/lv_LV/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,86 +17,133 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Pasākuma organizēšana +EventOrganizationDescription = Pasākuma organizēšana, izmantojot moduļu projektu +EventOrganizationDescriptionLong= Pārvaldiet konferences, dalībnieku, runātāju un dalībnieku pasākuma organizēšanu ar publisku abonēšanas lapu # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Organizēja pasākumus +EventOrganizationConferenceOrBoothMenuLeft = Konference vai stends # # Admin page # -EventOrganizationSetup = Event Organization setup +EventOrganizationSetup = Pasākuma organizācijas iestatīšana Settings = Iestatījumi -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference -EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EventOrganizationSetupPage = Pasākuma organizācijas iestatīšanas lapa +EVENTORGANIZATION_TASK_LABEL = Uzdevumu iezīme, kas jāizveido automātiski, kad projekts ir apstiprināts +EVENTORGANIZATION_TASK_LABELTooltip = Apstiprinot organizētu notikumu, dažus uzdevumus var automātiski izveidot projektā

    Piemēram:
    Sūtīt konferences zvanu
    Sūtīt zvanu stendam
    A032fccfz19bz0 A032fccfz19bz002 Saņemt konferences zvanu03 atgādināt par notikumu runātājiem
    Nosūtīt atgādinājumu par notikumu Booth hoster
    Nosūtīt atgādinājumu par pasākumu dalībniekiem +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Kategorija, ko pievienot trešajām pusēm, tiek automātiski izveidota, kad kāds iesaka konferenci +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Kategorija, ko pievienot trešajām pusēm, tiek automātiski izveidota, kad viņi iesaka stendu +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = E-pasta ziņojuma veidne, kas jānosūta pēc konferences ieteikuma saņemšanas. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = E-pasta ziņojuma veidne, kas jānosūta pēc stenda ieteikuma saņemšanas. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = E-pasta ziņojuma veidne, kas jānosūta pēc tam, kad ir samaksāts abonēšanas stends. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = E-pasta ziņojuma veidne, kas jānosūta pēc pasākuma abonēšanas apmaksas. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Masveida dalībnieku e-pasta veidne +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Masu sarunu e-pasta ziņojuma veidne +EVENTORGANIZATION_FILTERATTENDEES_CAT = Filtrējiet trešās puses atlasīto sarakstu dalībnieku izveides kartītē / veidlapā ar kategoriju +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtrējiet trešās puses atlasīto sarakstu dalībnieku izveidošanas kartītē / veidlapā ar klienta tipu # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +EventOrganizationConfOrBooth= Konference vai stends +ManageOrganizeEvent = Pārvaldīt pasākumu organizēšanu +ConferenceOrBooth = Konference vai stends +ConferenceOrBoothTab = Konference vai stends +AmountOfSubscriptionPaid = Apmaksātā abonēšanas summa +DateSubscription = Abonēšanas datums +ConferenceOrBoothAttendee = Konferences vai stenda apmeklētājs # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Jūsu konferences pieprasījums tika saņemts +YourOrganizationEventBoothRequestWasReceived = Jūsu pieprasījums pēc stenda tika saņemts +EventOrganizationEmailAskConf = Pieprasījums pēc konferences +EventOrganizationEmailAskBooth = Pieprasījums pēc stenda +EventOrganizationEmailSubsBooth = Stenda abonēšana +EventOrganizationEmailSubsEvent = Pasākuma abonēšana +EventOrganizationMassEmailAttendees = Saziņa ar apmeklētājiem +EventOrganizationMassEmailSpeakers = Saziņa ar runātājiem # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +AllowUnknownPeopleSuggestConf=Ļaujiet nezināmiem cilvēkiem ieteikt konferences +AllowUnknownPeopleSuggestConfHelp=Ļaujiet nezināmiem cilvēkiem ieteikt konferences +AllowUnknownPeopleSuggestBooth=Ļaujiet nezināmiem cilvēkiem ieteikt kabīni +AllowUnknownPeopleSuggestBoothHelp=Ļaujiet nezināmiem cilvēkiem ieteikt kabīni +PriceOfRegistration=Reģistrācijas cena +PriceOfRegistrationHelp=Reģistrācijas cena +PriceOfBooth=Abonēšanas cena, lai stāvētu kabīnē +PriceOfBoothHelp=Abonēšanas cena, lai stāvētu kabīnē +EventOrganizationICSLink=Saistiet notikumu ICS +ConferenceOrBoothInformation=Konferences vai stenda informācija +Attendees = Dalībnieki +DownloadICSLink = Lejupielādēt ICS saiti +EVENTORGANIZATION_SECUREKEY = Konferences publiskās reģistrācijas saites drošā atslēga +SERVICE_BOOTH_LOCATION = Pakalpojums, kas izmantots rēķinu rindai par kabīnes atrašanās vietu +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Pakalpojums, kas tiek izmantots rēķina rindā par konferences dalībnieka abonementu +NbVotes=Balsu skaits # # Status # EvntOrgDraft = Melnraksts -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified +EvntOrgSuggested = Ieteikts +EvntOrgConfirmed = Apstiprināts +EvntOrgNotQualified = Nav kvalificēts EvntOrgDone = Darīts -EvntOrgCancelled = Cancelled +EvntOrgCancelled = Atcelts # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Ieteikumu lapa +RegisterPage = Konferenču vai stenda lapa +EvntOrgRegistrationHelpMessage = Šeit jūs varat balsot par pasākumu vai ieteikt jaunu konferenci vai stendu projektam +EvntOrgRegistrationConfHelpMessage = Šeit jūs varat ieteikt jaunu projekta konferenci +EvntOrgRegistrationBoothHelpMessage = Šeit jūs varat ieteikt jaunu stendu projektam +ListOfSuggestedConferences = Ieteicamo konferenču saraksts +ListOfSuggestedBooths = Ieteicamo kabīņu saraksts +SuggestConference = Ieteikt jaunu konferenci +SuggestBooth = Ieteikt stendu +ViewAndVote = Skatiet ierosinātos pasākumus un balsojiet par tiem +PublicAttendeeSubscriptionPage = Publiska reģistrācijas saite ar konferenci +MissingOrBadSecureKey = Drošības atslēga nav derīga vai tās nav +EvntOrgWelcomeMessage = Šī veidlapa ļauj reģistrēties kā jaunam konferences dalībniekam: '%s' +EvntOrgDuration = Šī konference sākas ar %s un beidzas ar %s. +ConferenceAttendeeFee = Konferences dalībnieka maksa par pasākumu: '%s', kas notiek no %s līdz %s. +BoothLocationFee = Pasākuma stenda atrašanās vieta: '%s', kas notiek no %s līdz %s +EventType = Pasākuma veids +LabelOfBooth=Kabīnes etiķete +LabelOfconference=Konferences etiķete +ConferenceIsNotConfirmed=Abonements nav pieejams, konference vēl nav apstiprināta +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Laipni lūdzam konferences vai stenda ieteikumu lapā. +EvntOrgRegistrationConfWelcomeMessage = Laipni lūdzam konferences ieteikumu lapā. +EvntOrgRegistrationBoothWelcomeMessage = Laipni lūdzam stenda ieteikumu lapā. +EvntOrgVoteHelpMessage = Šeit jūs varat apskatīt ierosinātos projekta pasākumus un balsot par tiem +VoteOk = Jūsu balsojums ir pieņemts. +AlreadyVoted = Jūs jau esat balsojis par šo notikumu. +VoteError = Balsojuma laikā radās kļūda. Lūdzu, mēģiniet vēlreiz. + +# +# SubscriptionOk page +# +SubscriptionOk = Jūsu abonements šai konferencei ir apstiprināts +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Konferences abonēšanas apstiprinājums +# +# Payment page +# +Attendee = Dalībnieks +PaymentConferenceAttendee = Konferences dalībnieka samaksa +PaymentBoothLocation = Kabīnes atrašanās vietas maksājums diff --git a/htdocs/langs/lv_LV/exports.lang b/htdocs/langs/lv_LV/exports.lang index c7732d16a4b..62971ec4f46 100644 --- a/htdocs/langs/lv_LV/exports.lang +++ b/htdocs/langs/lv_LV/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Veids (0=produkts, 1=pakalpojums) FileWithDataToImport=Fails ar datiem, lai importētu FileToImport=Avota fails, kas jāimportē FileMustHaveOneOfFollowingFormat=Importa failam ir jābūt šādam formātam -DownloadEmptyExample=Lejupielādēt veidlapas failu ar lauka satura informāciju (* ir obligāti aizpildāmie lauki) +DownloadEmptyExample=Lejupielādējiet veidnes failu ar lauka satura informāciju +StarAreMandatory=* ir obligāti aizpildāmi lauki ChooseFormatOfFileToImport=Izvēlieties faila formātu, ko izmantot kā importa faila formātu, noklikšķinot uz %s ikonas, lai to atlasītu ... ChooseFileToImport=Augšupielādējiet failu, pēc tam noklikšķiniet uz %s ikonas, lai atlasītu failu kā avota importa failu ... SourceFileFormat=Avota faila formāts @@ -133,4 +134,4 @@ KeysToUseForUpdates=Atslēga (sleja), ko izmantot esošo datu atjaunināšan NbInsert=Ievietoto līniju skaits: %s NbUpdate=Atjaunināto līniju skaits: %s MultipleRecordFoundWithTheseFilters=Ar šiem filtriem tika atrasti vairāki ieraksti: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number +StocksWithBatch=Produktu krājumi un atrašanās vieta (noliktava) ar partijas / sērijas numuru diff --git a/htdocs/langs/lv_LV/externalsite.lang b/htdocs/langs/lv_LV/externalsite.lang index 925c1286ec8..23725bd616a 100644 --- a/htdocs/langs/lv_LV/externalsite.lang +++ b/htdocs/langs/lv_LV/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite ExternalSiteSetup=Ārējo vietņu iestatīšana -ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteURL=HTML iframe satura ārējās vietnes URL ExternalSiteModuleNotComplete=Modulis ExternalSite nav pareizi konfigurēts. ExampleMyMenuEntry=Manas izvēlnes ieraksti diff --git a/htdocs/langs/lv_LV/holiday.lang b/htdocs/langs/lv_LV/holiday.lang index 79611027bf4..cbb2ff411be 100644 --- a/htdocs/langs/lv_LV/holiday.lang +++ b/htdocs/langs/lv_LV/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Gaida apstiprināšanu ApprovedCP=Apstiprināts CancelCP=Atcelts RefuseCP=Atteikts -ValidatorCP=Asistents +ValidatorCP=Apstiprinātājs ListeCP=Atvaļinājuma saraksts Leave=Atstāt pieprasījumu LeaveId=Atvaļinājuma ID @@ -39,11 +39,11 @@ TitreRequestCP=Atstāt pieprasījumu TypeOfLeaveId=Atvaļinājuma ID veids TypeOfLeaveCode=Atvaļinājuma kods TypeOfLeaveLabel=Atvaļinājuma veids -NbUseDaysCP=Patērēto atvaļinājuma dienu skaits -NbUseDaysCPHelp=Aprēķinā tiek ņemtas vērā vārdnīcā noteiktās brīvās dienas un brīvdienas. -NbUseDaysCPShort=Patērētās dienas -NbUseDaysCPShortInMonth=Mēneša laikā patērētās dienas -DayIsANonWorkingDay=%s nav darba diena +NbUseDaysCP=Izmantoto atvaļinājumu dienu skaits +NbUseDaysCPHelp=Aprēķinā tiek ņemtas vērā vārdnīcā noteiktās brīvdienas un brīvdienas. +NbUseDaysCPShort=Atvaļinājuma dienas +NbUseDaysCPShortInMonth=Atvaļinājuma dienas mēnesī +DayIsANonWorkingDay=%s ir darba diena DateStartInMonth=Sākuma datums mēnesī DateEndInMonth=Mēneša beigu datums EditCP=Rediģēt @@ -55,7 +55,7 @@ TitleDeleteCP=Dzēst atvaļinājuma pieprasījumu ConfirmDeleteCP=Apstiprināt šī atvaļinājuma pieprasījuma dzēšanu? ErrorCantDeleteCP=Kļūda, Jums nav tiesību izdzēst šo atvaļinājuma pieprasījumu. CantCreateCP=Jums nav tiesību veikt atvaļinājumu pieprasījumus. -InvalidValidatorCP=Jūsu atvaļinājuma pieprasījumam jāizvēlas apstiprinātājs. +InvalidValidatorCP=Atvaļinājuma pieprasījumam jums jāizvēlas apstiprinātājs. NoDateDebut=Jums ir jāizvēlas sākuma datums. NoDateFin=Jums ir jāizvēlas beigu datums. ErrorDureeCP=Jūsu atvaļinājuma pieprasījumā nav darba dienas. @@ -80,14 +80,14 @@ UserCP=Lietotājs ErrorAddEventToUserCP=Pievienojot ārpuskārtas atvaļinājumu, radās kļūda. AddEventToUserOkCP=Par ārkārtas atvaļinājumu papildinājums ir pabeigta. MenuLogCP=Skatīt izmaiņu žurnālus -LogCP=Pieejamo atvaļinājumu dienu atjauninājumu žurnāls -ActionByCP=Veic -UserUpdateCP=Lietotājam +LogCP=Visu atjauninājumu žurnāls “Atvaļinājuma atlikums” +ActionByCP=Atjaunināja +UserUpdateCP=Atjaunināts PrevSoldeCP=Iepriekšējā bilance NewSoldeCP=Jana Bilance alreadyCPexist=Šajā periodā atvaļinājuma pieprasījums jau ir veikts. -FirstDayOfHoliday=Pirmā atvaļinājuma diena -LastDayOfHoliday=Pēdēja atvaļinājuma diena +FirstDayOfHoliday=Atvaļinājuma sākuma diena +LastDayOfHoliday=Atvaļinājuma beigu diena BoxTitleLastLeaveRequests=Jaunākie %s labotie atvaļinājumu pieprasījumi HolidaysMonthlyUpdate=Ikmēneša atjauninājums ManualUpdate=Manuāla aktualizēšana @@ -104,8 +104,8 @@ LEAVE_SICK=Slimības lapa LEAVE_OTHER=Cits atvaļinājums LEAVE_PAID_FR=Apmaksāts atvaļinājums ## Configuration du Module ## -LastUpdateCP=Jaunākais atvaļinājumu piešķiršanas atjauninājums -MonthOfLastMonthlyUpdate=Pēdējā automātiskā atvaļinājuma piešķiršanas mēneša pēdējā mēneša laikā +LastUpdateCP=Pēdējā automātiskā atvaļinājumu piešķiršanas atjaunināšana +MonthOfLastMonthlyUpdate=Atvaļinājumu sadalījuma pēdējās automātiskās atjaunināšanas mēnesis UpdateConfCPOK=Veiksmīgi atjaunināta. Module27130Name= Atvaļinājuma pieprasījumu pārvaldība Module27130Desc= Atvaļinājumu pieprasījumu vadīšana @@ -125,10 +125,12 @@ HolidaysCanceledBody=Jūsu atvaļinājuma pieprasījums no %s līdz %s ir atcelt FollowedByACounter=1: Šāda veida atvaļinājumam jāievēro skaitītājs. Skaitījtājs tiek palielināts manuāli vai automātiski, un, ja atvaļinājuma pieprasījums ir apstiprināts, skaitītājs tiek samazināts.
    0: neseko skaitītājs. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Iet uz Sākums - Iestatīšana - Vārdnīcas - Atvaļinājuma veids , lai iestatītu dažādu veidu lapas. -HolidaySetup=Moduļa brīvdienas uzstādīšana -HolidaysNumberingModules=Atvaļinājuma pieprasījumu numerācijas modeļi +HolidaySetup=Moduļa atvaļinājums iestatīšana +HolidaysNumberingModules=Numerācijas modeļi atvaļinājumu pieprasījumiem TemplatePDFHolidays=PDF veidne atvaļinājumu pieprasīšanai FreeLegalTextOnHolidays=Brīvs teksts PDF WatermarkOnDraftHolidayCards=Ūdenszīmes uz atvaļinājuma pieprasījumiem HolidaysToApprove=Brīvdienas, kas jāapstiprina NobodyHasPermissionToValidateHolidays=Nevienam nav atļaujas apstiprināt brīvdienas +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/lv_LV/hrm.lang b/htdocs/langs/lv_LV/hrm.lang index 20a92e2c4c7..4a22ad40b4e 100644 --- a/htdocs/langs/lv_LV/hrm.lang +++ b/htdocs/langs/lv_LV/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Vai tiešām vēlaties dzēst šo uzņēmumu? OpenEtablishment=Atvērts uzņēmums CloseEtablishment=Aizvērt uzņēmumu # Dictionary -DictionaryPublicHolidays=HRM - svētku dienas +DictionaryPublicHolidays=Atvaļinājums - svētku dienas DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - darba vietas # Module diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index 67c9a428d18..0c1a618b7b3 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Lietotāju fotoattēlu migrēšana MigrationFieldsSocialNetworks=Lietotāju lauku migrācija sociālajos tīklos (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Atjaunot moduli BlockedLog par v7 algoritmu +MigrationImportOrExportProfiles=Importa vai eksporta profilu migrēšana (%s) ShowNotAvailableOptions=Parādīt nepieejamās iespējas HideNotAvailableOptions=Slēpt nepieejamās iespējas ErrorFoundDuringMigration=Migrēšanas laikā tika ziņots par kļūdu (-ēm), tāpēc nākamais solis nav pieejams. Lai ignorētu kļūdas, varat noklikšķināt šeit , bet lietojumprogramma vai dažas funkcijas var nedarboties pareizi, līdz kļūdas nav atrisinātas. diff --git a/htdocs/langs/lv_LV/interventions.lang b/htdocs/langs/lv_LV/interventions.lang index d58806a19e5..7cc3629e094 100644 --- a/htdocs/langs/lv_LV/interventions.lang +++ b/htdocs/langs/lv_LV/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Intervences paraugs ToCreateAPredefinedIntervention=Lai izveidotu iepriekš noteiktu vai atkārtotu intervenci, izveidojiet kopēju intervenci un pārveidojiet to par intervences veidni +ConfirmReopenIntervention=Vai tiešām vēlaties atvērt iejaukšanos %s ? +GenerateInter=Generate intervention diff --git a/htdocs/langs/lv_LV/knowledgemanagement.lang b/htdocs/langs/lv_LV/knowledgemanagement.lang index 28f420cebd5..bb146a13017 100644 --- a/htdocs/langs/lv_LV/knowledgemanagement.lang +++ b/htdocs/langs/lv_LV/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Zināšanu pārvaldības sistēma # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Pārvaldiet zināšanu pārvaldības (KM) vai palīdzības dienesta bāzi # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Zināšanu pārvaldības sistēmas iestatīšana Settings = Iestatījumi -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Zināšanu pārvaldības sistēmas iestatīšanas lapa # # About page # About = Par -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = Par zināšanu pārvaldību +KnowledgeManagementAboutPage = Zināšanu pārvaldība par lapu -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +KnowledgeManagementArea = Zināšanu pārvaldība +MenuKnowledgeRecord = Zināšanu bāze +ListKnowledgeRecord = Rakstu saraksts +NewKnowledgeRecord = Jauns raksts +ValidateReply = Apstipriniet šķīdumu +KnowledgeRecords = Raksti KnowledgeRecord = Raksts -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Raksta paplašinājumi +GroupOfTicket=Biļešu grupa +YouCanLinkArticleToATicketCategory=Rakstu var saistīt ar biļešu grupu (tāpēc raksts tiks ieteikts jauno biļešu kvalifikācijas iegūšanas laikā) diff --git a/htdocs/langs/lv_LV/languages.lang b/htdocs/langs/lv_LV/languages.lang index 849292e69c4..e31adb57e63 100644 --- a/htdocs/langs/lv_LV/languages.lang +++ b/htdocs/langs/lv_LV/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etiopietis Language_ar_AR=Arābu Language_ar_EG=Arābu (Ēģipte) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arābu +Language_ar_TN=Arābu (Tunisija) +Language_ar_IQ=Arābu (Irāka) Language_az_AZ=Azerbaidžāņi Language_bn_BD=Bengali Language_bn_IN=Bengāļu (Indija) @@ -40,7 +43,7 @@ Language_es_PA=Spāņu (Panama) Language_es_PY=Spāņu (Paragvaja) Language_es_PE=Spāņu (Peru) Language_es_PR=Spāņu (Puertoriko) -Language_es_US=Spanish (USA) +Language_es_US=Spāņu (ASV) Language_es_UY=Spāņu (Urugvaja) Language_es_GT=Spāņu (Gvatemala) Language_es_VE=Spāņu (Venecuēla) @@ -82,8 +85,10 @@ Language_ne_NP=Nepālietis Language_nl_BE=Holandiešu (Beļģijas) Language_nl_NL=Holandiešu Language_pl_PL=Poļu +Language_pt_AO=Portugāļu (Angola) Language_pt_BR=Portugāļu (Brazīlija) Language_pt_PT=Portugāļu +Language_ro_MD=Rumāņu (Moldāvija) Language_ro_RO=Rumāņu Language_ru_RU=Krievu Language_ru_UA=Krievu (Ukraina) diff --git a/htdocs/langs/lv_LV/mails.lang b/htdocs/langs/lv_LV/mails.lang index a959d345f2b..e6cab508767 100644 --- a/htdocs/langs/lv_LV/mails.lang +++ b/htdocs/langs/lv_LV/mails.lang @@ -15,7 +15,7 @@ MailToUsers=Lietotājam (-iem) MailCC=Kopēt MailToCCUsers=Kopēt lietotājiem (-iem) MailCCC=Kešatmiņas kopija -MailTopic=Email subject +MailTopic=E-pasta tēma MailText=Ziņa MailFile=Pievienotie faili MailMessage=E-pasta saturs @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=Šim notikuma veidam un uzņēmumam nav plānoti autom ANotificationsWillBeSent=1 automātisks paziņojums tiks nosūtīts pa e-pastu SomeNotificationsWillBeSent=%s automātiskie paziņojumi tiks nosūtīti pa e-pastu AddNewNotification=Abonējiet jaunu automātisku e-pasta paziņojumu (mērķis / notikums) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=Visu aktīvo abonementu (mērķu / notikumu) saraksts automātiskai e-pasta paziņošanai +ListOfNotificationsDone=Visu nosūtīto automātisko e-pasta paziņojumu saraksts MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Dzēst filtru AdvTgtSaveFilter=Saglabāt filtru AdvTgtCreateFilter=Izveidot filtru AdvTgtOrCreateNewFilter=Jauna filtra nosaukums -NoContactWithCategoryFound=Nav kontaktpersonas / adreses ar atrastu kategoriju -NoContactLinkedToThirdpartieWithCategoryFound=Nav kontaktpersonas / adreses ar atrastu kategoriju +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Izejošie e-pasti InGoingEmailSetup=Ienākošie e-pasti OutGoingEmailSetupForEmailing=Izejošie e-pasti (modulim %s) diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index 4a9ca45aefb..9f0539dac39 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -4,7 +4,7 @@ DIRECTION=ltr # msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) # stsongstdlight or cid0cs are for simplified Chinese # To read Chinese pdf with Linux: sudo apt-get install poppler-data -FONTFORPDF=Helvetica +FONTFORPDF=helvetica FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=None @@ -180,7 +180,7 @@ SaveAndNew=Saglabāt un jaunu TestConnection=Savienojuma pārbaude ToClone=Klonēt ConfirmCloneAsk=Vai tiešām vēlaties klonēt objektu %s ? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=Izvēlieties datus, kurus vēlaties klonēt: NoCloneOptionsSpecified=Nav datu klons noteikts. Of=no Go=Iet @@ -246,7 +246,7 @@ DefaultModel=Noklusējuma doc veidne Action=Notikums About=Par Number=Numurs -NumberByMonth=Total reports by month +NumberByMonth=Kopējais pārskatu skaits mēnesī AmountByMonth=Summa šķirota pēc mēneša nosaukuma Numero=Numurs Limit=Ierobežot @@ -278,7 +278,7 @@ DateModificationShort=Modif. datums IPModification=Modifikācijas IP DateLastModification=Jaunākais labošanas datums DateValidation=Apstiprināšanas datums -DateSigning=Signing date +DateSigning=Parakstīšanas datums DateClosing=Beigu datums DateDue=Izpildes datums DateValue=Valutēšanas datums @@ -341,8 +341,8 @@ KiloBytes=Kilobaiti MegaBytes=Megabaiti GigaBytes=Gigabaiti TeraBytes=Terabaiti -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=Apkrāpts ar +UserModif=Atjaunināja b=b. Kb=Kb Mb=Mb @@ -362,7 +362,7 @@ UnitPriceHTCurrency=Vienības cena (izņemot) (valūta) UnitPriceTTC=Vienības cena PriceU=UP PriceUHT=UP (neto) -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=ASV (neto) (valūta) PriceUTTC=U.P. (inc. tax) Amount=Summa AmountInvoice=Rēķina summa @@ -390,8 +390,8 @@ AmountTotal=Kopējā summa AmountAverage=Vidējā summa PriceQtyMinHT=Cenu daudzums min. (bez nodokļiem) PriceQtyMinHTCurrency=Cenu daudzums min. (bez nodokļa) (valūta) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PercentOfOriginalObject=Oriģinālā objekta procenti +AmountOrPercent=Summa vai procenti Percentage=Procentuālā attiecība Total=Kopsumma SubTotal=Starpsumma @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Papildu centi VATRate=Nodokļa likme +RateOfTaxN=Nodokļa likme %s VATCode=Nodokļu likmes kods VATNPR=Nodokļa likme NPR DefaultTaxRate=Noklusētā nodokļa likme @@ -729,7 +730,8 @@ MenuMembers=Dalībnieki MenuAgendaGoogle=Google darba kārtība MenuTaxesAndSpecialExpenses=Nodokļi | Īpašie izdevumi ThisLimitIsDefinedInSetup=Dolibarr robeža (Menu mājas uzstādīšana-drošība): %s Kb, PHP robeža: %s Kb -NoFileFound=No documents uploaded +ThisLimitIsDefinedInSetupAt=Dolibarr limits (izvēlne %s): %s Kb, PHP ierobežojums (Param %s): %s Kb +NoFileFound=Nav augšupielādēts neviens dokuments CurrentUserLanguage=Pašreizējā valoda CurrentTheme=Pašreizējā tēma CurrentMenuManager=Pašreizējais izvēlnes pārvaldnieks @@ -845,7 +847,7 @@ XMoreLines=%s līnija(as) slēptas ShowMoreLines=Parādīt vairāk / mazāk rindas PublicUrl=Publiskā saite AddBox=Pievienot info logu -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Atlasiet elementu un noklikšķiniet uz %s PrintFile=Drukāt failu %s ShowTransaction=Rādīt ierakstu bankas kontā ShowIntervention=Rādīt iejaukšanās @@ -856,8 +858,8 @@ Denied=Aizliegts ListOf=%s saraksts ListOfTemplates=Saraksts ar veidnēm Gender=Dzimums -Genderman=Male -Genderwoman=Female +Genderman=Vīrietis +Genderwoman=Sieviete Genderother=Cits ViewList=Saraksta skats ViewGantt=Ganta skats @@ -904,10 +906,10 @@ ViewAccountList=Skatīt virsgrāmatu ViewSubAccountList=Skatīt apakškonta virsgrāmatu RemoveString=Noņemt virkni '%s' SomeTranslationAreUncomplete=Dažas piedāvātās valodas var būt tikai daļēji tulkotas vai var saturēt kļūdas. Lūdzu, palīdziet labot savu valodu, reģistrējoties https://transifex.com/projects/p/dolibarr/ , lai pievienotu savus uzlabojumus. -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +DirectDownloadLink=Publiska lejupielādes saite +PublicDownloadLinkDesc=Lai lejupielādētu failu, nepieciešama tikai saite +DirectDownloadInternalLink=Privāta lejupielādes saite +PrivateDownloadLinkDesc=Lai skatītu vai lejupielādētu failu, jums ir jāpiesakās un jums ir vajadzīgas atļaujas Download=Lejupielādēt DownloadDocument=Lejupielādēt dokumentu ActualizeCurrency=Atjaunināt valūtas kursu @@ -1020,7 +1022,7 @@ SearchIntoContacts=Kontakti SearchIntoMembers=Dalībnieki SearchIntoUsers=Lietotāji SearchIntoProductsOrServices=Preces un pakalpojumi -SearchIntoBatch=Lots / Serials +SearchIntoBatch=Daudz / sērijas SearchIntoProjects=Projekti SearchIntoMO=Ražošanas pasūtījumi SearchIntoTasks=Uzdevumi @@ -1057,13 +1059,13 @@ KeyboardShortcut=Tastatūras saīsne AssignedTo=Piešķirts Deletedraft=Dzēst melnrakstu ConfirmMassDraftDeletion=Projekta masveida dzēšanas apstiprinājums -FileSharedViaALink=File shared with a public link +FileSharedViaALink=Fails ir kopīgots ar publisku saiti SelectAThirdPartyFirst=Vispirms izvēlieties trešo pusi ... YouAreCurrentlyInSandboxMode=Pašlaik esat %s "smilšu kastes" režīmā Inventory=Inventārs AnalyticCode=Analītiskais kods TMenuMRP=MRP -ShowCompanyInfos=Show company infos +ShowCompanyInfos=Rādīt uzņēmuma informāciju ShowMoreInfos=Rādīt vairāk informācijas NoFilesUploadedYet=Lūdzu, vispirms augšupielādējiet dokumentu SeePrivateNote=Skatīt privāto piezīmi @@ -1072,6 +1074,7 @@ ValidFrom=Derīgs no ValidUntil=Derīgs līdz NoRecordedUsers=Nav lietotāju ToClose=Aizvērt +ToRefuse=Atteikties ToProcess=Jāapstrādā ToApprove=Apstiprināt GlobalOpenedElemView=Globālais izskats @@ -1126,9 +1129,23 @@ UpdateForAllLines=Atjauninājums visām līnijām OnHold=On hold Civility=Laipnība AffectTag=Ietekmēt tagu +CreateExternalUser=Izveidot ārēju lietotāju ConfirmAffectTag=Masveida tagu ietekme ConfirmAffectTagQuestion=Vai tiešām vēlaties ietekmēt atlasītā (-o) ieraksta (-u) %s tagus? CategTypeNotFound=Ierakstu veidam nav atrasts neviens tagu tips -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +CopiedToClipboard=Kopēts starpliktuvē +InformationOnLinkToContract=Šī summa ir tikai visu līguma rindu kopsumma. Laika jēdziens netiek ņemts vērā. +ConfirmCancel=Vai tiešām vēlaties atcelt +EmailMsgID=Nosūtīt e-pastu MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/lv_LV/margins.lang b/htdocs/langs/lv_LV/margins.lang index 92c24a82dc9..6a5520e8680 100644 --- a/htdocs/langs/lv_LV/margins.lang +++ b/htdocs/langs/lv_LV/margins.lang @@ -22,7 +22,7 @@ ProductService=Produkts vai pakalpojums AllProducts=Visi produkti un pakalpojumi ChooseProduct/Service=Izvēlies preci vai pakalpojumu ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=Ja pirkšanas / pašizmaksa nav norādīta, kad pievienojam jaunu rindu, un šī opcija ir “IESLĒGTS”, jaunajā rindā starpība būs 0 (pirkšanas / pašizmaksa = pārdošanas cena). Ja šī opcija ir "OFF" (ieteicams), starpība būs vienāda ar noklusējuma ieteikto vērtību (un, ja noklusējuma vērtību nevar atrast, tā var būt 100%). MARGIN_METHODE_FOR_DISCOUNT=Maržinālā metode pasaules atlaides UseDiscountAsProduct=Kā produktu UseDiscountAsService=Kā pakalpojums diff --git a/htdocs/langs/lv_LV/members.lang b/htdocs/langs/lv_LV/members.lang index 32f15a94dec..966a410adef 100644 --- a/htdocs/langs/lv_LV/members.lang +++ b/htdocs/langs/lv_LV/members.lang @@ -15,24 +15,24 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Vēl viens dalībnieks (nosaukums: globāla-> MYMODULE_MYOPTION) VisibleDesc=Vai lauks ir redzams? (Piemēri: 0 = nekad nav redzams, 1 = redzams sarakstā un izveidojiet / atjauniniet / skatiet veidlapas, 2 = ir redzams tikai sarakstā, 3 = ir redzams tikai izveides / atjaunināšanas / skata formā (nav sarakstā), 4 = ir redzams sarakstā un tikai atjaunināt / skatīt formu (neveidot), 5 = redzama tikai saraksta beigu skata formā (neveidot, ne atjaunināt).

    Negatīvas vērtības līdzekļu izmantošana lauka pēc noklusējuma netiek parādīta, bet to var atlasīt apskatei).

    Tas var būt izteiciens, piemēram:
    preg_match ('/ public /', $ _SERVER ['PHP_SELF'])? 0: 1
    ($ user-> rights-> rights- -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdfDesc=Parādiet šo lauku saderīgos PDF dokumentos, pozīciju var pārvaldīt, izmantojot lauku “Pozīcija”.
    Pašlaik zināmie saderīgie PDF modeļi ir: eratosthene (pasūtījums), espadon (kuģis), sūklis (rēķini), ciāns (propāls / citāts), radzenes (piegādātāja pasūtījums) = displejs
    2 = parādīt tikai tad, ja nav iztukšot

    dokumentu līnijas:
    0 = nav redzama
    1 = parādīti kolonnā
    3 = displeja līnija apraksta slejā pēc apraksta
    4 = displeja apraksta ailē pēc tam, kad apraksts tikai tad, ja tas nav tukšs DisplayOnPdf=Displejs PDF formātā IsAMeasureDesc=Vai lauka vērtību var uzkrāties, lai kopsumma tiktu iekļauta sarakstā? (Piemēri: 1 vai 0) SearchAllDesc=Vai laukums tiek izmantots, lai veiktu meklēšanu no ātrās meklēšanas rīka? (Piemēri: 1 vai 0) @@ -133,9 +133,9 @@ IncludeDocGeneration=Es gribu no objekta ģenerēt dažus dokumentus IncludeDocGenerationHelp=Ja to atzīmēsit, tiks izveidots kāds kods, lai ierakstam pievienotu rūtiņu “Ģenerēt dokumentu”. ShowOnCombobox=Rādīt vērtību kombinētajā lodziņā KeyForTooltip=Rīka padoma atslēga -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list +CSSClass=CSS rediģēšanas / izveides veidlapai +CSSViewClass=CSS lasāmai formai +CSSListClass=CSS sarakstam NotEditable=Nav rediģējams ForeignKey=Sveša atslēga TypeOfFieldsHelp=Lauku tips:
    varchar (99), double (24,8), real, text, html, datetime, timestamp, integer, integer: ClassName: reliapath / to / classfile.class.php [: 1 [: filter]] ('1' nozīmē mēs pievienojam pogu + pēc kombināta, lai izveidotu ierakstu; “filtrs” var būt “status = 1 UN fk_user = __USER_ID UN entītija (piemēram, __SHARED_ENTITIES__)”. @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii uz HTML pārveidotāju AsciiToPdfConverter=Ascii uz PDF pārveidotāju TableNotEmptyDropCanceled=Tabula nav tukša. Dzēšana tika atcelta. ModuleBuilderNotAllowed=Moduļu veidotājs ir pieejams, bet nav atļauts jūsu lietotājam. +ImportExportProfiles=Importēt un eksportēt profilus diff --git a/htdocs/langs/lv_LV/mrp.lang b/htdocs/langs/lv_LV/mrp.lang index e56abf7d542..25d867bbd20 100644 --- a/htdocs/langs/lv_LV/mrp.lang +++ b/htdocs/langs/lv_LV/mrp.lang @@ -12,8 +12,8 @@ BillOfMaterials=Materiālu rēķins BOMsSetup=Moduļa BOM iestatīšana ListOfBOMs=Materiālu rēķinu saraksts - BOM ListOfManufacturingOrders=Ražošanas pasūtījumu saraksts -NewBOM=Jauns rēķins par materiālu -ProductBOMHelp=Produkts, ko izveidot ar šo BOM.
    Piezīme. Šajā sarakstā nav redzami produkti ar īpašību “Produkta veids” = “Izejviela”. +NewBOM=Jauns materiālu saraksts +ProductBOMHelp=Produkts, kuru izveidot (vai izjaukt) ar šo BOM.
    Piezīme: Produkti ar īpašību 'Produkta veids' = 'Izejvielas' šajā sarakstā nav redzami. BOMsNumberingModules=BOM numerācijas veidnes BOMsModelModule=BOM dokumentu veidnes MOsNumberingModules=MO numerācijas veidnes @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Brīvs teksts BOM dokumentā WatermarkOnDraftBOMs=Ūdenszīme BOM projektā FreeLegalTextOnMOs=Brīvs teksts uz MO dokumenta WatermarkOnDraftMOs=Ūdenszīme uz MO iegrimes -ConfirmCloneBillOfMaterials=Vai tiešām vēlaties klonēt materiāla rēķinu %s? +ConfirmCloneBillOfMaterials=Vai tiešām vēlaties klonēt materiālu rēķinu %s? ConfirmCloneMo=Vai tiešām vēlaties klonēt ražošanas pasūtījumu %s? ManufacturingEfficiency=Ražošanas efektivitāte ConsumptionEfficiency=Patēriņa efektivitāte @@ -30,8 +30,8 @@ ValueOfMeansLoss=0,95 vērtība nozīmē vidējo 5%% zudumu ražošanas laikā ValueOfMeansLossForProductProduced=Vērtība 0,95 nozīmē saražotā produkta zaudējumu vidējo vērtību 5%% DeleteBillOfMaterials=Dzēst materiālus DeleteMo=Dzēst ražošanas pasūtījumu -ConfirmDeleteBillOfMaterials=Vai tiešām vēlaties dzēst šo materiālu? -ConfirmDeleteMo=Vai tiešām vēlaties dzēst šo materiālu pavadzīmi? +ConfirmDeleteBillOfMaterials=Vai tiešām vēlaties dzēst šo materiālu sarakstu? +ConfirmDeleteMo=Vai tiešām vēlaties dzēst šo materiālu sarakstu? MenuMRP=Ražošanas pasūtījumi NewMO=Jauns ražošanas pasūtījums QtyToProduce=Daudzums kas jāsaražo @@ -39,7 +39,7 @@ DateStartPlannedMo=Plānots sākuma datums DateEndPlannedMo=Plānots datuma beigas KeepEmptyForAsap=Tukša nozīmē “cik drīz vien iespējams” EstimatedDuration=Paredzamais ilgums -EstimatedDurationDesc=Paredzamais šī produkta ražošanas ilgums, izmantojot šo BOM +EstimatedDurationDesc=Paredzamais šī produkta izgatavošanas (vai demontāžas) ilgums, izmantojot šo BOM ConfirmValidateBom=Vai tiešām vēlaties apstiprināt BOM ar atsauci %s (jūs to varēsit izmantot, lai izveidotu jaunus ražošanas pasūtījumus) ConfirmCloseBom=Vai tiešām vēlaties atcelt šo BOM (jūs to vairs nevarēsit izmantot, lai izveidotu jaunus ražošanas pasūtījumus)? ConfirmReopenBom=Vai tiešām vēlaties atkārtoti atvērt šo BOM (jūs to varēsit izmantot, lai izveidotu jaunus ražošanas pasūtījumus) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Patērēt un ražot visu Manufactured=Izgatavots TheProductXIsAlreadyTheProductToProduce=Pievienojamais produkts jau ir produkts, ko ražot. ForAQuantityOf=Par saražoto daudzumu %s +ForAQuantityToConsumeOf=Lai izjauktu daudzumu %s ConfirmValidateMo=Vai tiešām vēlaties apstiprināt šo ražošanas pasūtījumu? ConfirmProductionDesc=Noklikšķinot uz “%s”, jūs apstiprināsit noteikto daudzumu patēriņu un / vai ražošanu. Tas arī atjauninās krājumus un reģistrēs krājumu kustību. ProductionForRef=%s ražošana AutoCloseMO=Automātiski aizveriet ražošanas pasūtījumu, ja ir sasniegti patērējamie un saražotie daudzumi NoStockChangeOnServices=Pakalpojumu krājumi nemainās ProductQtyToConsumeByMO=Produkta daudzums, ko vēl vajadzētu patērēt atvērtā MO -ProductQtyToProduceByMO=Izstrādājumu daudzums vēl jāražo, izmantojot atvērto MO +ProductQtyToProduceByMO=Produkta daudzums, kas vēl jāražo ar atvērtu MO AddNewConsumeLines=Pievienojiet jaunu rindu patērēšanai ProductsToConsume=Produkti, kurus patērēt ProductsToProduce=Izgatavojamie produkti @@ -77,28 +78,26 @@ UnitCost=Vienības cena TotalCost=Kopējās izmaksas BOMTotalCost=Šīs BOM izgatavošanas izmaksas, pamatojoties uz katra patērētā daudzuma un produkta izmaksām (izmantojiet pašizmaksu, ja tā ir noteikta, cita - vidējā svērtā cena, ja ir noteikta, citur - labākā pirkuma cena). GoOnTabProductionToProduceFirst=Vispirms jums ir jāsāk ražošana, lai aizvērtu ražošanas pasūtījumu (sk. Cilni '%s'). Bet jūs varat to atcelt. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Komplektu nevar izmantot BOM vai MO +Workstation=Darbstacija +Workstations=Darbstacijas +WorkstationsDescription=Darbstaciju vadība +WorkstationSetup = Darbstaciju iestatīšana +WorkstationSetupPage = Darbstaciju iestatīšanas lapa +WorkstationList=Darbstaciju saraksts +WorkstationCreate=Pievienojiet jaunu darbstaciju +ConfirmEnableWorkstation=Vai tiešām vēlaties iespējot darbstaciju %s ? +EnableAWorkstation=Iespējot darbstaciju +ConfirmDisableWorkstation=Vai tiešām vēlaties atspējot darbstaciju %s ? +DisableAWorkstation=Atspējojiet darbstaciju +DeleteWorkstation=Dzēst +NbOperatorsRequired=Nepieciešamo operatoru skaits +THMOperatorEstimated=Paredzamais operators THM +THMMachineEstimated=Paredzētā mašīna THM +WorkstationType=Darbstacijas tips +Human=Cilvēks +Machine=Mašīna +HumanMachine=Cilvēks / Mašīna +WorkstationArea=Darbstacijas zona +Machines=Mašīnas +THMEstimatedHelp=Šī likme ļauj noteikt objekta prognozētās izmaksas diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index e7e3c67ade4..1f8d5768509 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -11,13 +11,14 @@ OrderDate=Pasūtīt datumu OrderDateShort=Pasūtījuma datums OrderToProcess=Pasūtījums, kas jāapstrādā NewOrder=Jauns pasūtījums +NewSupplierOrderShort=Jauns pasūtījums NewOrderSupplier=Jauns pirkuma pasūtījums ToOrder=Veicot pasūtījumu MakeOrder=Veicot pasūtījumu SupplierOrder=Pirkuma pasūtījums SuppliersOrders=Pirkuma pasūtījumi -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Izpārdošanas pasūtījumu līnijas +PurchaseOrderLines=Puchase pasūtījuma līnijas SuppliersOrdersRunning=Pašreizējie pirkumu pasūtījumi CustomerOrder=Pārdošanas pasūtījums CustomersOrders=Pārdošanas pasūtījumi @@ -73,6 +74,7 @@ DeleteOrder=Dzēst pasūtījumu CancelOrder=Atcelt pasūtījumu OrderReopened= Pasūtīt %s no jauna atvērt AddOrder=Jauns pasūtījums +AddSupplierOrderShort=Jauns pasūtījums AddPurchaseOrder=Izveidojiet pirkuma pasūtījumu AddToDraftOrders=Pievienot rīkojuma projektu ShowOrder=Rādīt pasūtījumu diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index 95b3dae7746..bfdc41dbf05 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -114,7 +114,7 @@ DemoCompanyAll=Uzņēmums ar vairākām darbībām (visi galvenie moduļi) CreatedBy=Izveidoja %s ModifiedBy=Laboja %s ValidatedBy=Apstiprināja %s -SignedBy=Signed by %s +SignedBy=Parakstījis %s ClosedBy=Slēdza %s CreatedById=Lietotāja id kurš izveidojis ModifiedById=Lietotāja id kurš veica pēdējās izmaiņas @@ -129,6 +129,7 @@ ClosedByLogin=Lietotājs, kurš slēdzis FileWasRemoved=Fails %s tika dzēsts DirWasRemoved=Katalogs %s tika dzēsts FeatureNotYetAvailable=Funkcija pašreizējā versijā vēl nav pieejama +FeatureNotAvailableOnDevicesWithoutMouse=Funkcija nav pieejama ierīcēs bez peles FeaturesSupported=Atbalstītās funkcijas Width=Platums Height=Augstums @@ -183,7 +184,7 @@ EnableGDLibraryDesc=Instalējiet vai iespējojiet GD bibliotēku savā PHP insta ProfIdShortDesc=Prof ID %s ir informācija, atkarībā no trešās puses valstīm.
    Piemēram, attiecībā uz valstu %s, tas ir kods %s. DolibarrDemo=Dolibarr ERP/CRM demo StatsByNumberOfUnits=Statistics for sum of qty of products/services -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statistika par nosūtītāju skaitu (rēķinu vai pasūtījumu skaits ...) NumberOfProposals=Priekšlikumu skaits NumberOfCustomerOrders=Pārdošanas pasūtījumu skaits NumberOfCustomerInvoices=Klientu rēķinu skaits @@ -194,7 +195,7 @@ NumberOfContracts=Līgumu skaits NumberOfMos=Ražošanas pasūtījumu skaits NumberOfUnitsProposals=Vienību skaits priekšlikumos NumberOfUnitsCustomerOrders=Vienību skaits pārdošanas pasūtījumos -NumberOfUnitsCustomerInvoices=Number of units on customer invoices +NumberOfUnitsCustomerInvoices=Vienību skaits klienta rēķinos NumberOfUnitsSupplierProposals=Vienību skaits pārdevēja priekšlikumos NumberOfUnitsSupplierOrders=Vienību skaits pirkuma pasūtījumos NumberOfUnitsSupplierInvoices=Vienību skaits pārdevēja rēķinos @@ -245,7 +246,7 @@ NewKeyIs=Tas ir jūsu jaunās atslēgas, lai pieteiktos NewKeyWillBe=Jūsu jaunais galvenais, lai pieteiktos uz programmatūru, būs ClickHereToGoTo=Klikšķiniet šeit, lai dotos uz %s YouMustClickToChange=Jums ir Taču vispirms noklikšķiniet uz šīs saites, lai apstiprinātu šo paroles maiņa -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Apstipriniet paroles maiņu ForgetIfNothing=Ja Jums nav lūgt šīs izmaiņas, vienkārši aizmirst šo e-pastu. Jūsu akreditācijas dati tiek glabāti drošībā. IfAmountHigherThan=Ja summa pārsniedz %s SourcesRepository=Repository for sources @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontaktpersona / adrese, ko izveidojis e-pasta ko ProjectCreatedByEmailCollector=Projekts, ko izveidojis e-pasta savācējs no e-pasta MSGID %s TicketCreatedByEmailCollector=Biļete, ko izveidojis e-pasta kolekcionārs no e-pasta MSGID %s OpeningHoursFormatDesc=Izmantojiet taustiņu -, lai nodalītu darba un aizvēršanas stundas.
    Izmantojiet atstarpi, lai ievadītu dažādus diapazonus.
    Piemērs: 8.-12 -PrefixSession=Sesijas ID prefikss +SuffixSessionName=Sesijas nosaukuma sufikss ##### Export ##### ExportsArea=Eksportēšanas sadaļa @@ -289,4 +290,8 @@ PopuProp=Produkti / pakalpojumi pēc popularitātes priekšlikumos PopuCom=Produkti / pakalpojumi pēc popularitātes pasūtījumos ProductStatistics=Produktu/pakalpojumu statistika NbOfQtyInOrders=Daudzums pasūtījumos -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=Atlasiet objektu, lai skatītu tā statistiku ... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Aizvērt diff --git a/htdocs/langs/lv_LV/partnership.lang b/htdocs/langs/lv_LV/partnership.lang index 69fb543a784..bfdf0c1d2f0 100644 --- a/htdocs/langs/lv_LV/partnership.lang +++ b/htdocs/langs/lv_LV/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Partnerības vadība +PartnershipDescription=Partnerības vadības modulis +PartnershipDescriptionLong= Partnerības vadības modulis + +AddPartnership=Pievienojiet partnerību +CancelPartnershipForExpiredMembers=Partnerība: atceļ partnerību ar abonementiem, kuriem beidzies derīguma termiņš +PartnershipCheckBacklink=Partnerība: pārbaudiet atsauces saiti # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Jauna partnerība +ListOfPartnerships=Partnerības saraksts # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnerības iestatīšana +PartnershipAbout=Par partnerību +PartnershipAboutPage=Partnerība par lapu +partnershipforthirdpartyormember=Partnera statusam jābūt iestatītam “trešajai pusei” vai “dalībniekam” +PARTNERSHIP_IS_MANAGED_FOR=Partnerattiecības pārvaldītas +PARTNERSHIP_BACKLINKS_TO_CHECK=Atpakaļsaites, lai pārbaudītu +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb dienas pirms partnerības statusa atcelšanas, kad abonements ir beidzies +ReferingWebsiteCheck=Vietnes atsauces pārbaude +ReferingWebsiteCheckDesc=Varat iespējot funkciju, lai pārbaudītu, vai jūsu partneri ir pievienojuši atpakaļsaišu jūsu vietnes domēniem savā vietnē. # # Object # +DeletePartnership=Dzēst partnerību +PartnershipDedicatedToThisThirdParty=Partnerība, kas veltīta šai trešajai pusei +PartnershipDedicatedToThisMember=Šim dalībniekam veltīta partnerība DatePartnershipStart=Sākuma datums DatePartnershipEnd=Beigu datums +ReasonDecline=Noraidīt iemeslu +ReasonDeclineOrCancel=Noraidīt iemeslu +PartnershipAlreadyExist=Partnerattiecības jau pastāv +ManagePartnership=Pārvaldiet partnerību +BacklinkNotFoundOnPartnerWebsite=Atpakaļsaite nav atrasta partnera vietnē +ConfirmClosePartnershipAsk=Vai tiešām vēlaties atcelt šo partnerību? +PartnershipType=Partnerības veids # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerība drīz tiks atcelta +SendingEmailOnPartnershipRefused=Partnerība atteikta +SendingEmailOnPartnershipAccepted=Partnerība pieņemta +SendingEmailOnPartnershipCanceled=Partnerattiecības atceltas +YourPartnershipWillSoonBeCanceledTopic=Partnerība drīz tiks atcelta +YourPartnershipRefusedTopic=Partnerība atteikta +YourPartnershipAcceptedTopic=Partnerība pieņemta +YourPartnershipCanceledTopic=Partnerattiecības atceltas + +YourPartnershipWillSoonBeCanceledContent=Mēs jūs informējam, ka jūsu partnerība drīz tiks atcelta (atpakaļsaite nav atrasta) +YourPartnershipRefusedContent=Mēs jūs informējam, ka jūsu partnerības pieprasījums ir noraidīts. +YourPartnershipAcceptedContent=Mēs jūs informējam, ka jūsu partnerības pieprasījums ir pieņemts. +YourPartnershipCanceledContent=Mēs jūs informējam, ka jūsu partnerattiecības ir atceltas. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Noraidīt iemeslu # # Status # -PartnershipDraft = Melnraksts -PartnershipAccepted = Pieņemts -PartnershipRefused = Atteikts -PartnershipCanceled = Atcelts - -PartnershipManagedFor=Partners are +PartnershipDraft=Melnraksts +PartnershipAccepted=Pieņemts +PartnershipRefused=Atteikts +PartnershipCanceled=Atcelts +PartnershipManagedFor=Partneri ir diff --git a/htdocs/langs/lv_LV/printing.lang b/htdocs/langs/lv_LV/printing.lang index ca4b5a4eda7..11a53f656fe 100644 --- a/htdocs/langs/lv_LV/printing.lang +++ b/htdocs/langs/lv_LV/printing.lang @@ -5,12 +5,12 @@ PrintingSetup=Tiešās drukāšanas sistēmas iestatīšana PrintingDesc=Šis modulis pievieno pogai Print (Drukāt) dažādiem moduļiem, lai ļautu dokumentus iespiest tieši uz printeri, neizmantojot dokumentu citā lietojumprogrammā. MenuDirectPrinting=Tiešās drukāšanas darbi DirectPrint=Tiešā druka -PrintingDriverDesc=Configuration variables for printing driver. +PrintingDriverDesc=Konfigurācijas mainīgie drukāšanas draiverim. ListDrivers=Draiveru saraksts PrintTestDesc=Printeru saraksts. FileWasSentToPrinter=Fails %s nosūtīts uz printeri ViaModule=izmantojot moduli -NoActivePrintingModuleFound=No active driver to print document. Check setup of module %s. +NoActivePrintingModuleFound=Nav aktīva draivera, lai drukātu dokumentu. Pārbaudiet moduļa %s iestatīšanu. PleaseSelectaDriverfromList=Lūdzu izvēlies draiveri no saraksta. PleaseConfigureDriverfromList=Please configure the selected driver from list. SetupDriver=Draivera iestatījumi diff --git a/htdocs/langs/lv_LV/productbatch.lang b/htdocs/langs/lv_LV/productbatch.lang index 996bdaa8249..e6c6bc8e730 100644 --- a/htdocs/langs/lv_LV/productbatch.lang +++ b/htdocs/langs/lv_LV/productbatch.lang @@ -1,10 +1,10 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Izmantot partijas / sērijas numuru -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnBatch=Jā (nepieciešama partija) +ProductStatusOnSerial=Jā (nepieciešams unikāls sērijas numurs) ProductStatusNotOnBatch=Nav (partija / sērijas numurs netiek izmantots) -ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnBatchShort=Daudz +ProductStatusOnSerialShort=Seriāls ProductStatusNotOnBatchShort=Nē Batch=Lot/seriāls atleast1batchfield=Eat-by date or Sell-by date or Lot/Serial number @@ -19,17 +19,25 @@ printSellby=Pārdeva: %s printQty=Daudz.: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching WhenProductBatchModuleOnOptionAreForced=Kad modulis Lot / Serial ir ieslēgts, automātiskais krājumu samazinājums ir spiests "Samazināt reālo krājumus kuģošanas apstiprinājumā", un automātiskais palielināšanas režīms ir spiests "Palielināt reālos krājumus, manuāli nosūtīt uz noliktavām" un tos nevar rediģēt. Citas iespējas var definēt pēc vajadzības. -ProductDoesNotUseBatchSerial=This product does not use lot/serial number +ProductDoesNotUseBatchSerial=Šis produkts neizmanto partijas/sērijas numuru ProductLotSetup=Moduļu partijas / sērijas uzstādīšana ShowCurrentStockOfLot=Parādīt pašreizējo krājumu par pāris produktu / partiju ShowLogOfMovementIfLot=Rādīt žurnālu par kustību pāriem produktam / partijai StockDetailPerBatch=Krājumu dati par partiju -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +SerialNumberAlreadyInUse=Sērijas numurs %s jau tiek izmantots produktam %s +TooManyQtyForSerialNumber=Jums var būt tikai viens produkts %s sērijas numuram %s +ManageLotMask=Pielāgota maska +CustomMasks=Iespēja katram produktam noteikt atšķirīgu numerācijas masku +BatchLotNumberingModules=Numerācijas noteikums partijas numura automātiskai ģenerēšanai +BatchSerialNumberingModules=Numerācijas noteikums automātiskai sērijas numura ģenerēšanai (produktiem ar īpašību 1 unikāla partija / sērija katram produktam) +QtyToAddAfterBarcodeScan=Katram skenētajam svītrkodam / partijai / sērijai jāpievieno daudzums +LifeTime=Mūža ilgums (dienās) +EndOfLife=Dzīves beigas +ManufacturingDate=Ražošanas datums +DestructionDate=Iznīcināšanas datums +FirstUseDate=Pirmās lietošanas datums +QCFrequency=Kvalitātes kontroles biežums (dienās) + +#Traceability - qc status +OutOfOrder=Nedarbojas +InWorkingOrder=Darba kārtībā diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index 2b525b5760b..91c50b231c2 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=Pakalpojumi pārdošanai ServicesOnPurchaseOnly=Pakalpojumi tikai pirkšanai ServicesNotOnSell=Pakalpojumi, kas nav paredzēti pārdošanai un nav paredzēti pirkšanai ServicesOnSellAndOnBuy=Services for sale and for purchase -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Jaunākie %s produkti / pakalpojumi, kas tika modificēti LastRecordedProducts=Jaunākie ieraksti %s LastRecordedServices=Jaunākie %s reģistrētie pakalpojumi CardProduct0=Produkts @@ -73,12 +73,12 @@ SellingPrice=Pārdošanas cena SellingPriceHT=Pārdošanas cena (bez nodokļa) SellingPriceTTC=Pārdošanas cena (ar PVN) SellingMinPriceTTC=Minimālā pārdošanas cena (ieskaitot nodokli) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=Šo cenu lauku (bez nodokļiem) var izmantot, lai attēlotu vidējo summu, ko šis produkts izmaksā jūsu uzņēmumam. Tā var būt jebkura cena, kuru pats aprēķināt, piemēram, no vidējās pirkšanas cenas plus vidējās ražošanas un izplatīšanas izmaksas. CostPriceUsage=Šo vērtību var izmantot, lai aprēķinātu peļņu. SoldAmount=Pārdošanas apjoms PurchasedAmount=Iegādātā summa NewPrice=Jaunā cena -MinPrice=Min. selling price +MinPrice=Min. pārdošanas cena EditSellingPriceLabel=Labot pārdošanas cenas nosaukumu CantBeLessThanMinPrice=Pārdošanas cena nevar būt zemāka par minimālo pieļaujamo šī produkta (%s bez PVN). Šis ziņojums var būt arī parādās, ja esat ievadījis pārāk lielu atlaidi. ContractStatusClosed=Slēgts @@ -141,7 +141,7 @@ VATRateForSupplierProduct=PVN likme (šim pārdevējam / produktam) DiscountQtyMin=Atlaide šim daudzumam. NoPriceDefinedForThisSupplier=Šim pārdevējam / produktam nav noteikta cena / daudzums NoSupplierPriceDefinedForThisProduct=Šim produktam nav noteikta pārdevēja cena / daudzums -PredefinedItem=Predefined item +PredefinedItem=Iepriekš definēts vienums PredefinedProductsToSell=Iepriekš definēts produkts PredefinedServicesToSell=Iepriekš definēts pakalpojums PredefinedProductsAndServicesToSell=Iepriekš definēti produkti/pakalpojumi, kurus pārdot @@ -157,11 +157,11 @@ ListServiceByPopularity=Pakalpojumu saraksts pēc pārdošanas popularitātes Finished=Ražota prece RowMaterial=Izejviela ConfirmCloneProduct=Vai jūs tiešām vēlaties klonēt šo produktu vai pakalpojumu %s? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Klonējiet visu galveno informāciju par produktu / pakalpojumu ClonePricesProduct=Klonēt cenas -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Klonējiet saistītos tagus / kategorijas +CloneCompositionProduct=Klonējiet virtuālos produktus / pakalpojumus +CloneCombinationsProduct=Klonējiet produktu variantus ProductIsUsed=Šis produkts tiek izmantots NewRefForClone=Ref. jaunu produktu / pakalpojumu SellingPrices=Pārdošanas cenas @@ -170,12 +170,12 @@ CustomerPrices=Klienta cenas SuppliersPrices=Pārdevēja cenas SuppliersPricesOfProductsOrServices=Pārdevēja cenas (produktiem vai pakalpojumiem) CustomCode=Muita | prece | HS kods -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=Izcelsmes valsts +RegionStateOrigin=Izcelsmes reģions +StateOrigin=Valsts | Izcelsmes province +Nature=Produkta veids (neapstrādāts / ražots) NatureOfProductShort=Produkta veids -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=Izejviela vai ražots produkts ShortLabel=Īsais nosaukums Unit=Vienība p=u. @@ -277,8 +277,8 @@ PriceByCustomer=Dažādas cenas katram klientam PriceCatalogue=Viena produkta/pakalpojuma pārdošanas cena PricingRule=Noteikumi par pārdošanas cenām AddCustomerPrice=Pievienot cenu katram klientam -ForceUpdateChildPriceSoc=Iestatiet to pašu cenu klientu meitasuzņēmumiem -PriceByCustomerLog=Log of previous customer prices +ForceUpdateChildPriceSoc=Nosakiet to pašu cenu klienta meitasuzņēmumiem +PriceByCustomerLog=Iepriekšējo klientu cenu žurnāls MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimālā ieteicamā cena ir: %s PriceExpressionEditor=Cenas izteiksmes redaktors @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Apakš produkti MinSupplierPrice=Minimālā iepirkuma cena MinCustomerPrice=Minimālā pārdošanas cena +NoDynamicPrice=Nav dinamiskas cenas DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=Jūs varat noteikt matemātiskās formulas, lai aprēķinātu Klienta vai pārdevēja cenas. Šādas formulas var izmantot visus matemātiskos operatorus, dažas konstantes un mainīgos. Šeit varat definēt mainīgos, kurus vēlaties izmantot. Ja mainīgajam nepieciešams automātisks atjauninājums, varat definēt ārējo URL, lai Dolibarr varētu automātiski atjaunināt vērtību. AddVariable=Pievienot mainīgo @@ -314,7 +315,7 @@ LastUpdated=Pēdējo reizi atjaunots CorrectlyUpdated=Pareizi atjaunināts PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is PropalMergePdfProductChooseFile=Izvēlieties PDF failus -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Iekļaujiet produktus / pakalpojumus ar tagu DefaultPriceRealPriceMayDependOnCustomer=Noklusējuma cena, reālā cena var būt atkarīga no klienta WarningSelectOneDocument=Please select at least one document DefaultUnitToShow=Vienība @@ -340,7 +341,7 @@ ProductSheet=Produkta lapa ServiceSheet=Servisa lapa PossibleValues=Iespējamās vērtības GoOnMenuToCreateVairants=Iet uz izvēlni %s - %s, lai sagatavotu atribūtu variantus (piemēram, krāsas, izmērs, ...) -UseProductFournDesc=Pievienojiet funkciju, lai definētu pārdevēju definētos produktu aprakstus papildus aprakstiem klientiem +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Produkta pārdevēja apraksts UseProductSupplierPackaging=Izmantojiet iepakojumu uz piegādātāju cenām (pārrēķiniet daudzumus atbilstoši iepakojumam, kas noteikts pēc piegādātāja cenas, pievienojot / atjauninot rindiņu piegādātāja dokumentos) PackagingForThisProduct=Iepakojums @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Darbība pieejama tikai produkta variantam ProductsPricePerCustomer=Produktu cenas uz vienu klientu ProductSupplierExtraFields=Papildu atribūti (piegādātāju cenas) DeleteLinkedProduct=Izdzēsiet kombinēto produktu, kas saistīts ar to +PMPValue=Vidējā svērtā cena +PMPValueShort=VSC diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index b2be4c78ce4..d81937e8127 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -10,19 +10,19 @@ PrivateProject=Projekta kontakti ProjectsImContactFor=Projekti, par kuriem tieši esmu kontaktpersona AllAllowedProjects=All project I can read (mine + public) AllProjects=Visi projekti -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Šis skats attiecas tikai uz projektiem, ar kuriem esat kontaktpersona ProjectsPublicDesc=Šo viedokli iepazīstina visus projektus jums ir atļauts lasīt. TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Šo viedokli iepazīstina visus projektus (jūsu lietotāja atļaujas piešķirt jums atļauju skatīt visu). TasksOnProjectsDesc=Šis skats atspoguļo visus uzdevumus visos projektos (jūsu lietotāja atļaujas piešķir jums atļauju apskatī visu). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Šis skats attiecas tikai uz projektiem vai uzdevumiem, ar kuriem esat kontaktpersona OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Slēgtie projekti nav redzami. TasksPublicDesc=Šo viedokli iepazīstina visus projektus un uzdevumus, jums ir atļauts lasīt. TasksDesc=Šo viedokli iepazīstina visus projektus un uzdevumus (jūsu lietotāja atļaujas piešķirt jums atļauju skatīt visu). AllTaskVisibleButEditIfYouAreAssigned=Visi uzdevumi kvalificētiem projektiem ir redzami, taču jūs varat ievadīt laiku tikai tam uzdevumam, kas piešķirts izvēlētajam lietotājam. Piešķirt uzdevumu, ja uz to ir jāievada laiks. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Ir redzami tikai jums piešķirtie uzdevumi. Ja jums jāievada uzdevuma izpildes laiks un ja uzdevums šeit nav redzams, jums tas jāpiešķir sev. ImportDatasetTasks=Projektu uzdevumi ProjectCategories=Projekta tagi / sadaļas NewProject=Jauns projekts @@ -89,7 +89,7 @@ TimeConsumed=Patērēts ListOfTasks=Uzdevumu saraksts GoToListOfTimeConsumed=Pāriet uz patērētā laika sarakstu GanttView=Ganta skats -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Ar projektu saistīto noliktavu saraksts ListProposalsAssociatedProject=Ar projektu saistīto komerciālo priekšlikumu saraksts ListOrdersAssociatedProject=Ar projektu saistīto pārdošanas pasūtījumu saraksts ListInvoicesAssociatedProject=Saraksts ar klienta rēķiniem, kas saistīti ar projektu @@ -140,6 +140,7 @@ NoTasks=Nav uzdevumu šajā projektā LinkedToAnotherCompany=Saistīts ar citām trešajām personām TaskIsNotAssignedToUser=Uzdevums nav piešķirts lietotājam. Izmantojiet pogu "%s", lai uzdevumu piešķirtu. ErrorTimeSpentIsEmpty=Pavadīts laiks ir tukšs +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Šī darbība arī izdzēst visus uzdevumus projekta (%s uzdevumi brīdī) un visu laiku ieguldījumiem pavadīts. IfNeedToUseOtherObjectKeepEmpty=Ja daži objekti (rēķinu, pasūtījumu, ...), kas pieder citai trešai personai, ir saistītas ar projektu, lai izveidotu, saglabāt šo tukšo, lai būtu projektam, multi trešajām personām. CloneTasks=Klonēt uzdevumus @@ -197,12 +198,12 @@ InputDetail=Ievades dati TimeAlreadyRecorded=Šis laiks ir jau ierakstīts šim uzdevumam / dienā un lietotājam %s ProjectsWithThisUserAsContact=Projects with this user as contact TasksWithThisUserAsContact=Tasks assigned to this user -ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToProject=Nav piešķirts projektam ResourceNotAssignedToTheTask=Uzdevumam nav piešķirts NoUserAssignedToTheProject=Neviens lietotājs nav piešķirts šim projektam TimeSpentBy=Pavadītais laiks TasksAssignedTo=Uzdevumi, kas piešķirti -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Piešķiriet sev uzdevumu AssignTaskToUser=Piešķirt uzdevumu %s SelectTaskToAssign=Atlasiet uzdevumu, lai piešķirtu ... AssignTask=Piešķirt @@ -241,6 +242,7 @@ LatestModifiedProjects=Jaunākie %s labotie projekti OtherFilteredTasks=Citi filtrētie uzdevumi NoAssignedTasks=Nekādi piešķirtie uzdevumi nav atrasti (piešķiriet projektu / uzdevumus pašreizējam lietotājam no augšējā atlases lodziņa, lai ievadītu laiku tajā) ThirdPartyRequiredToGenerateInvoice=Lai varētu to izrēķināt, projektā ir jādefinē trešā persona. +ThirdPartyRequiredToGenerateInvoice=Lai varētu to izrēķināt, projektā ir jādefinē trešā persona. ChooseANotYetAssignedTask=Izvēlieties uzdevumu, kas jums vēl nav uzticēts # Comments trans AllowCommentOnTask=Atļaut lietotāju komentārus par uzdevumiem @@ -252,10 +254,12 @@ SendProjectRef=Informācijas projekts %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modulam „Algas” ir jābūt iespējai noteikt darbinieku stundas likmi, lai varētu izmantot laiku NewTaskRefSuggested=Jau izmantotais uzdevums ir nepieciešams jauns uzdevums TimeSpentInvoiced=Norēķinātais laiks +TimeSpentForIntervention=Laiks, kas patērēts TimeSpentForInvoice=Laiks, kas patērēts OneLinePerUser=Viena līnija katram lietotājam ServiceToUseOnLines=Pakalpojums, ko izmantot līnijās InvoiceGeneratedFromTimeSpent=Rēķins %s ir radīts no projekta pavadīta laika +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Pārbaudiet, vai projekta uzdevumos ievadāt laika kontrolsarakstu UN Plānojat no laika kontrolsaraksta ģenerēt rēķinu (rēķinus), lai projekta klientam izrakstītu rēķinu (nepārbaudiet, vai plānojat izveidot rēķinu, kas nav balstīts uz ievadītajām laika kontrollapām). Piezīme. Lai ģenerētu rēķinu, dodieties uz projekta cilni “Pavadītais laiks” un atlasiet iekļaujamās līnijas. ProjectFollowOpportunity=Izmantojiet iespēju ProjectFollowTasks=Izpildiet uzdevumus vai pavadīto laiku @@ -264,12 +268,16 @@ UsageOpportunity=Lietošana: Iespēja UsageTasks=Lietošana: uzdevumi UsageBillTimeShort=Lietošana: rēķina laiks InvoiceToUse=Izmantojamais rēķina projekts +InterToUse=Draft intervention to use NewInvoice=Jauns rēķins +NewInter=Jauna iejaukšanās OneLinePerTask=Viena rinda katram uzdevumam OneLinePerPeriod=Viena rindiņa vienam periodam +OneLinePerTimeSpentLine=Viena rinda par katru pavadīto deklarāciju RefTaskParent=Ref. Vecāku uzdevums ProfitIsCalculatedWith=Peļņa tiek aprēķināta, izmantojot -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +AddPersonToTask=Pievienojiet arī uzdevumiem +UsageOrganizeEvent=Lietošana: Pasākumu organizēšana +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Klasificējiet projektu kā slēgtu, kad visi tā uzdevumi ir izpildīti (progress 100%%) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Piezīme: esošie projekti ar visiem 100%% uzdevumiem netiks ietekmēti: tie būs jāaizver manuāli. Šī opcija ietekmē tikai atvērtos projektus. +SelectLinesOfTimeSpentToInvoice=Atlasiet pavadītās laika rindas, kas nav izrakstītas, un pēc tam veiciet lielapjoma darbību “Ģenerēt rēķinu”, lai par tām izrakstītu rēķinus diff --git a/htdocs/langs/lv_LV/propal.lang b/htdocs/langs/lv_LV/propal.lang index 868562cdf15..ae0c9ace708 100644 --- a/htdocs/langs/lv_LV/propal.lang +++ b/htdocs/langs/lv_LV/propal.lang @@ -59,7 +59,7 @@ ConfirmClonePropal=Vai tiešām vēlaties klonēt komerciālo priekšlikumu ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s? ProposalsAndProposalsLines=Commercial priekšlikumu un līnijas ProposalLine=Priekšlikuma līnija -ProposalLines=Proposal lines +ProposalLines=Priekšlikuma rindas AvailabilityPeriod=Pieejamība kavēšanās SetAvailability=Uzstādīt pieejamību kavēšanos AfterOrder=pēc pasūtījuma diff --git a/htdocs/langs/lv_LV/receptions.lang b/htdocs/langs/lv_LV/receptions.lang index 16a25594972..42d3e64e35a 100644 --- a/htdocs/langs/lv_LV/receptions.lang +++ b/htdocs/langs/lv_LV/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Vispirms jums ir jāapstiprina pasūtījums, l ReceptionsNumberingModules=Pieņemšanas numurēšanas modulis ReceptionsReceiptModel=Pieņemšanas dokumentu veidnes NoMorePredefinedProductToDispatch=Vairs nav iepriekš nosūtītu produktu - +ReceptionExist=Reģistratūra pastāv diff --git a/htdocs/langs/lv_LV/recruitment.lang b/htdocs/langs/lv_LV/recruitment.lang index 40957c1b2df..d85ea93e206 100644 --- a/htdocs/langs/lv_LV/recruitment.lang +++ b/htdocs/langs/lv_LV/recruitment.lang @@ -72,5 +72,5 @@ YourCandidatureAnswerMessage=Paldies par jūsu pieteikumu.
    ... JobClosedTextCandidateFound=Darba vieta ir slēgta. Amats ir aizpildīts. JobClosedTextCanceled=Darba vieta ir slēgta. ExtrafieldsJobPosition=Papildu atribūti (amata vietas) -ExtrafieldsApplication=Complementary attributes (job applications) +ExtrafieldsApplication=Papildu atribūti (darba pieteikumi) MakeOffer=Uztaisīt piedāvājumu diff --git a/htdocs/langs/lv_LV/salaries.lang b/htdocs/langs/lv_LV/salaries.lang index 816227ad4cb..a3dba2545d9 100644 --- a/htdocs/langs/lv_LV/salaries.lang +++ b/htdocs/langs/lv_LV/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Grāmatvedības konts, ko izmanto trešām pusēm SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Lietotāja kartē norādītais grāmatvedības konts tiks izmantots tikai pakārtotajam grāmatvedim. Šis viens tiks izmantots General Ledger un noklusējuma vērtība Subledged grāmatvedībai, ja lietotāja definēts lietotāju grāmatvedības konts nav definēts. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Grāmatvedības konts pēc noklusējuma algu maksājumiem +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Pēc noklusējuma, veidojot algu, atstājiet tukšu opciju "Automātiski izveidot kopējo maksājumu" Salary=Alga Salaries=Algas -NewSalaryPayment=Jauna algas izmaksa +NewSalary=Jauna alga +NewSalaryPayment=Jauna algas karte AddSalaryPayment=Pievienot algas maksājumu SalaryPayment=Algas maksājums SalariesPayments=Algu maksājumi +SalariesPaymentsOf=Algas maksājumi %s ShowSalaryPayment=Rādīt algu maksājumus THM=Vidējā stundas cena TJM=Vidējā dienas likme CurrentSalary=Pašreizējā alga THMDescription=Šo vērtību var izmantot, lai aprēķinātu laiku, kas patērēts projektā, ko ievadījuši lietotāji, ja tiek izmantots modulis projekts TJMDescription=Šī vērtībai ir tikai informatīva un netiek izmantota aprēķiniem -LastSalaries=Jaunākie %s algu maksājumi -AllSalaries=Visi algu maksājumi +LastSalaries=Jaunākās %s algas +AllSalaries=Visas algas SalariesStatistics=Algas statistika -# Export SalariesAndPayments=Algas un maksājumi +ConfirmDeleteSalaryPayment=Vai vēlaties dzēst šo algas maksājumu? diff --git a/htdocs/langs/lv_LV/sendings.lang b/htdocs/langs/lv_LV/sendings.lang index ae1c4042f5d..af79dcd83ee 100644 --- a/htdocs/langs/lv_LV/sendings.lang +++ b/htdocs/langs/lv_LV/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Vai jūs tiešām vēlaties apstiprināt šo sūtījumu a ConfirmCancelSending=Vai esat pārliecināts, ka vēlaties atcelt šo sūtījumu? DocumentModelMerou=Merou A5 modelis WarningNoQtyLeftToSend=Uzmanību, nav produktu kuri gaida nosūtīšanu. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Statistika attiecas tikai uz apstiprinātiem sūtījumiem. Izmantotais datums ir sūtījuma apstiprināšanas datums (plānotais piegādes datums ne vienmēr ir zināms) DateDeliveryPlanned=Plānotais piegādes datums RefDeliveryReceipt=Ref piegādes kvīts StatusReceipt=Piegādes kvīts statuss diff --git a/htdocs/langs/lv_LV/stocks.lang b/htdocs/langs/lv_LV/stocks.lang index 2b3f5058ec2..ccb7f3b289d 100644 --- a/htdocs/langs/lv_LV/stocks.lang +++ b/htdocs/langs/lv_LV/stocks.lang @@ -19,8 +19,8 @@ Stock=Krājums Stocks=Krājumi MissingStocks=Trūkst krājumu StockAtDate=Krājumi datumā -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future +StockAtDateInPast=Datums pagātnē +StockAtDateInFuture=Datums nākotnē StocksByLotSerial=Krājumi pēc partijas/sērijas LotSerial=Daudz / sērijas nr LotSerialList=Partijas saraksts / sērijas nr @@ -37,8 +37,8 @@ AllWarehouses=Visas noliktavas IncludeEmptyDesiredStock=Iekļaujiet arī negatīvo krājumu ar nenoteiktu vēlamo krājumu IncludeAlsoDraftOrders=Iekļaujiet arī pasūtījumu projektus Location=Vieta -LocationSummary=Short name of location -NumberOfDifferentProducts=Number of unique products +LocationSummary=Īss atrašanās vietas nosaukums +NumberOfDifferentProducts=Unikālo produktu skaits NumberOfProducts=Kopējais produktu skaits LastMovement=Pēdējā pārvietošana LastMovements=Pēdējās pārvietošanas @@ -56,14 +56,12 @@ UnitPurchaseValue=Vienības iepirkuma cena StockTooLow=Krājumi pārāk maz StockLowerThanLimit=Krājumi mazāki par atļauto apjomu (%s) EnhancedValue=Vērtība -PMPValue=Vidējā svērtā cena -PMPValueShort=VSC EnhancedValueOfWarehouses=Noliktavas vērtība UserWarehouseAutoCreate=Lietotāja noliktavas izveide, izveidojot lietotāju AllowAddLimitStockByWarehouse=Pārvaldiet arī minimālā un vēlamā krājuma vērtību pārī (produkta noliktava), papildus minimālā un vēlamā krājuma vērtībai vienam produktam RuleForWarehouse=Noteikumi noliktavām -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals +WarehouseAskWarehouseOnThirparty=Iestatiet noliktavu trešajām pusēm +WarehouseAskWarehouseDuringPropal=Iestatiet komerciālu priekšlikumu noliktavu WarehouseAskWarehouseDuringOrder=Iestatiet noliktavu pārdošanas pasūtījumiem UserDefaultWarehouse=Iestatiet noliktavu lietotājiem MainDefaultWarehouse=Noklusētā noliktava @@ -91,23 +89,23 @@ NoPredefinedProductToDispatch=Nav iepriekš produktu šo objektu. Līdz ar to na DispatchVerb=Nosūtīšana StockLimitShort=Brīdinājuma limits StockLimit=Krājumu brīdinājuma limits -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(tukšs) nozīmē, ka nav brīdinājuma.
    0 var izmantot, lai aktivizētu brīdinājumu, tiklīdz krājums ir tukšs. PhysicalStock=Fiziskais krājums RealStock=Rālie krājumi RealStockDesc=Fiziskā / reālā krājumi ir krājumi, kas pašlaik atrodas noliktavās. RealStockWillAutomaticallyWhen=Reālais krājums tiks mainīts saskaņā ar šo noteikumu (kā noteikts Stock modulī): VirtualStock=Virtuālie krājumi VirtualStockAtDate=Virtuālais krājums datumā -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished +VirtualStockAtDateDesc=Virtuālais krājums, kad tiks pabeigti visi neapstiprinātie pasūtījumi, kurus plānots apstrādāt pirms izvēlētā datuma VirtualStockDesc=Virtuālais krājums ir aprēķinātais krājums, kas pieejams, kad visas atvērtās / neapstiprinātās darbības (kas ietekmē krājumus) ir aizvērtas (saņemti pirkumu pasūtījumi, nosūtīti pārdošanas pasūtījumi, saražoti ražošanas pasūtījumi utt.) -AtDate=At date +AtDate=Datumā IdWarehouse=Id noliktava DescWareHouse=Apraksts noliktava LieuWareHouse=Lokālā noliktava WarehousesAndProducts=Noliktavas un produkti WarehousesAndProductsBatchDetail=Noliktavas un produkti (ar informāciju par partiju/sēriju) AverageUnitPricePMPShort=Vidējā svērtā cena -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=Ievadītā vidējā vienības cena, kas mums bija jātērē, lai iegūtu 1 produkta vienību mūsu krājumos. SellPriceMin=Pārdošanas Vienības cena EstimatedStockValueSellShort=Pārdošanas cena EstimatedStockValueSell=Pārdošanas cena @@ -147,7 +145,7 @@ Replenishments=Papildinājumus NbOfProductBeforePeriod=Produktu daudzums %s noliktavā pirms izvēlētā perioda (< %s) NbOfProductAfterPeriod=Produktu daudzums %s krājumā pēc izvēlētā perioda (>%s) MassMovement=Masveida pārvietošana -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=Atlasiet avota noliktavu un mērķa noliktavu, produktu un daudzumu, pēc tam noklikšķiniet uz "%s". Kad tas ir izdarīts visām nepieciešamajām kustībām, noklikšķiniet uz "%s". RecordMovement=Ierakstīt pārvietošanu ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Krājumu pārvietošana saglabāta @@ -156,7 +154,7 @@ StockMustBeEnoughForInvoice=Krājumu līmenim ir jābūt pietiekamam, lai produk StockMustBeEnoughForOrder=Krājuma līmenim ir jābūt pietiekamam, lai produktu / pakalpojumu pasūtītam pēc pasūtījuma (pārbaudiet, vai pašreizējā reālā krājumā tiek pievienota rinda, lai kāds būtu noteikums automātiskai krājumu maiņai). StockMustBeEnoughForShipment= Krājumu līmenim ir jābūt pietiekamam, lai produktu / pakalpojumu nosūtītu sūtījumam (pārbaudiet pašreizējo reālo krājumu, pievienojot līniju sūtījumā neatkarīgi no automātiskās krājumu maiņas) MovementLabel=Kustības marķējums -TypeMovement=Direction of movement +TypeMovement=Kustības virziens DateMovement=Pārvietošanas datums InventoryCode=Movement or inventory code IsInPackage=Contained into package @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=Nav atvērta saņemšanas, jo atvērts pirkuma pasūtījums ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Atvērt visām darbībām -OpenInternal=Atveras tikai iekšējām darbībām +OpenAnyMovement=Atvērt (visas kustības) +OpenInternal=Atvērta (tikai iekšēja kustība) UseDispatchStatus=Izmantojiet nosūtīšanas statusu (apstipriniet / noraidiet) produktu līnijām pirkuma pasūtījuma saņemšanā OptionMULTIPRICESIsOn=Ir ieslēgta opcija "vairākas cenas par segmentu". Tas nozīmē, ka produktam ir vairākas pārdošanas cenas, tāpēc pārdošanas vērtību nevar aprēķināt ProductStockWarehouseCreated=Brīdinājuma krājuma limits un pareizi izveidots vēlamais optimālais krājums @@ -185,7 +183,7 @@ inventoryCreatePermission=Izveidot jaunu inventāru inventoryReadPermission=Skatīt krājumus inventoryWritePermission=Atjaunināt krājumus inventoryValidatePermission=Pārbaudīt inventāru -inventoryDeletePermission=Delete inventory +inventoryDeletePermission=Dzēst krājumus inventoryTitle=Inventārs inventoryListTitle=Inventāri inventoryListEmpty=Netiek veikta neviena inventarizācija @@ -238,20 +236,28 @@ StockIsRequiredToChooseWhichLotToUse=Lai izvēlētos izmantojamo partiju, ir nep ForceTo=Piespiest līdz AlwaysShowFullArbo=Parādiet pilnu noliktavas koku uznirstošajās noliktavu saitēs (Brīdinājums: tas var dramatiski samazināt veiktspēju) StockAtDatePastDesc=Šeit varat apskatīt krājumus (reālos krājumus) noteiktā datumā pagātnē -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +StockAtDateFutureDesc=Šeit varat apskatīt akcijas (virtuālās akcijas) noteiktā datumā nākotnē CurrentStock=Pašreizējais krājums InventoryRealQtyHelp=Iestatiet vērtību 0, lai atiestatītu daudzumu
    . Saglabājiet lauku tukšu vai noņemiet līniju, lai paliktu nemainīgs -UpdateByScaning=Fill real qty by scaning +UpdateByScaning=Aizpildiet reālo daudzumu, skenējot UpdateByScaningProductBarcode=Atjaunināšana, skenējot (produkta svītrkods) UpdateByScaningLot=Atjaunināt, skenējot (partija | sērijas svītrkods) DisableStockChangeOfSubProduct=Deaktivizējiet krājumu maiņu visiem šī komplekta apakšproduktiem šīs kustības laikā. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s +ImportFromCSV=Importēt CSV kustību sarakstu +ChooseFileToImport=Augšupielādējiet failu, pēc tam noklikšķiniet uz ikonas %s, lai atlasītu failu kā avota importēšanas failu ... +SelectAStockMovementFileToImport=atlasiet importējamo krājumu kustības failu +InfoTemplateImport=Augšupielādētajam failam ir jābūt šādam formātam (* ir obligāti aizpildāmi lauki):
    Avota noliktava * | Mērķa noliktava * | Produkts * | Daudzums * | Partijas / sērijas numuram
    CSV rakstzīmju atdalītājam jābūt " %s " +LabelOfInventoryMovemement=Inventārs %s ReOpen=Atvērt pa jaunu -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +ConfirmFinish=Vai jūs apstiprināt inventāra slēgšanu? Tas ģenerēs visas krājumu kustības, lai atjauninātu krājumus līdz reālajam daudzumam, kuru ievadījāt krājumā. +ObjectNotFound=%s nav atrasts +MakeMovementsAndClose=Ģenerējiet kustības un aizveriet +AutofillWithExpected=Aizpildiet reālo daudzumu ar paredzamo daudzumu +ShowAllBatchByDefault=Pēc noklusējuma parādīt partijas informāciju cilnē “Akciju” +CollapseBatchDetailHelp=Krājumu moduļa konfigurācijā varat iestatīt partijas detaļu noklusējuma attēlojumu +FieldCannotBeNegative=Lauks "%s" nevar būt negatīvs +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/lv_LV/supplier_proposal.lang b/htdocs/langs/lv_LV/supplier_proposal.lang index a092448a3fc..3c0f48cf394 100644 --- a/htdocs/langs/lv_LV/supplier_proposal.lang +++ b/htdocs/langs/lv_LV/supplier_proposal.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - supplier_proposal SupplierProposal=Pārdevēja komerciālie priekšlikumi -supplier_proposalDESC=Manage price requests to suppliers +supplier_proposalDESC=Pārvaldiet cenu pieprasījumus piegādātājiem SupplierProposalNew=Jauns cenas pieprasījums CommRequest=Cenas pieprasījums CommRequests=Cenas pieprasījumi @@ -13,6 +13,7 @@ SupplierProposalArea=Pārdevēju piedāvājumu apgabals SupplierProposalShort=Pārdevēja piedāvājums SupplierProposals=Pārdevēja priekšlikumi SupplierProposalsShort=Pārdevēja priekšlikumi +AskPrice=Cenas pieprasījums NewAskPrice=Jauns cenas pieprasījums ShowSupplierProposal=Rādīt cenas pieprasījumu AddSupplierProposal=Izveidot cenas pieprasījumu @@ -52,3 +53,6 @@ SupplierProposalsToClose=Pārdevēja priekšlikumi slēgt SupplierProposalsToProcess=Pārdevēja priekšlikumi apstrādāt LastSupplierProposals=Jaunākie %s cenu pieprasījumi AllPriceRequests=Visi pieprasījumi +TypeContact_supplier_proposal_external_SHIPPING=Piegādes gadījumā sazinieties ar pārdevēja kontaktu +TypeContact_supplier_proposal_external_BILLING=Pārdevēja kontaktpersona norēķinu veikšanai +TypeContact_supplier_proposal_external_SERVICE=Pārstāvis turpinot darboties priekšlikums diff --git a/htdocs/langs/lv_LV/suppliers.lang b/htdocs/langs/lv_LV/suppliers.lang index e4a2d1ba3df..1282d01fc9a 100644 --- a/htdocs/langs/lv_LV/suppliers.lang +++ b/htdocs/langs/lv_LV/suppliers.lang @@ -36,7 +36,7 @@ ListOfSupplierProductForSupplier=Pārdevējs %s produktu un cenu saraks SentToSuppliers=Nosūtīts pārdevējiem ListOfSupplierOrders=Pirkumu pasūtījumu saraksts MenuOrdersSupplierToBill=Pirkuma pasūtījumi rēķinam -NbDaysToDelivery=Piegādes termiņš (dienas) +NbDaysToDelivery=Piegādes kavēšanās (dienas) DescNbDaysToDelivery=Šī pasūtījuma produktu ilgākais piegādes termiņš SupplierReputation=Pārdevēja reputācija ReferenceReputation=Atsauces reputācija diff --git a/htdocs/langs/lv_LV/ticket.lang b/htdocs/langs/lv_LV/ticket.lang index 1b104899e32..2c828fbb9ef 100644 --- a/htdocs/langs/lv_LV/ticket.lang +++ b/htdocs/langs/lv_LV/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Biļete - izšķirtspēja TicketTypeShortCOM=Tirdzniecības jautājums TicketTypeShortHELP=Funkcionālās palīdzības pieprasījums -TicketTypeShortISSUE=Izdošana, kļūda vai problēma +TicketTypeShortISSUE=Izdevums vai kļūda +TicketTypeShortPROBLEM=Problēma TicketTypeShortREQUEST=Mainīt vai uzlabot pieprasījumu TicketTypeShortPROJET=Projekts TicketTypeShortOTHER=Cits @@ -54,24 +55,25 @@ TypeContact_ticket_internal_SUPPORTTEC=Piešķirtais lietotājs TypeContact_ticket_external_SUPPORTCLI=Klientu kontaktu / incidentu izsekošana TypeContact_ticket_external_CONTRIBUTOR=Ārējais ieguldītājs -OriginEmail=E-pasta avots +OriginEmail=Reportiera e-pasts Notify_TICKET_SENTBYMAIL=Sūtīt biļeti pa e-pastu # Status Read=Lasīt Assigned=Piešķirts InProgress=Procesā -NeedMoreInformation=Gaida informāciju +NeedMoreInformation=Gaida reportiera atsauksmes +NeedMoreInformationShort=Gaida atsauksmes Answered=Atbildēts Waiting=Gaida -Closed=Slēgts +SolvedClosed=Solved Deleted=Dzēsts # Dict Type=Veids Severity=Smagums -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublic=Grupa ir publiska +TicketGroupIsPublicDesc=Ja biļešu grupa ir publiska, tā būs redzama formā, veidojot biļeti no publiskās saskarnes # Email templates MailToSendTicketMessage=Lai nosūtītu e-pastu no pieteikuma @@ -116,8 +118,8 @@ TicketsShowModuleLogo=Parādiet moduļa logotipi publiskajā saskarnē TicketsShowModuleLogoHelp=Iespējojiet šo opciju, lai slēptu logotipa moduli publiskās saskarnes lapās TicketsShowCompanyLogo=Parādīt uzņēmuma logotipi publiskā saskarnē TicketsShowCompanyLogoHelp=Iespējojiet šo opciju, lai slēptu galvenā uzņēmuma logotipi publiskās saskarnes lapās -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddress=Nosūtiet arī paziņojumu uz galveno e-pasta adresi +TicketsEmailAlsoSendToMainAddressHelp=Iespējojiet šo opciju, lai nosūtītu e-pastu arī uz adresi, kas definēta iestatījumā "%s" (skatiet cilni "%s"). TicketsLimitViewAssignedOnly=Ierobežot displeju līdz pašreizējam lietotājam piešķirtajām biļetēm (nav efektīvs ārējiem lietotājiem, vienmēr ierobežojiet to ar trešo personu, kurai tie ir atkarīgi) TicketsLimitViewAssignedOnlyHelp=Tiks redzamas tikai pašreizējam lietotājam piešķirtās biļetes. Neattiecas uz lietotāju ar biļešu pārvaldīšanas tiesībām. TicketsActivatePublicInterface=Aktivizēt publisko saskarni @@ -128,10 +130,10 @@ TicketNumberingModules=Čeku numerācijas modulis TicketsModelModule=Biļešu dokumentu veidnes TicketNotifyTiersAtCreation=Paziņot trešajai pusei radīšanas laikā TicketsDisableCustomerEmail=Vienmēr atspējojiet e-pasta ziņojumus, ja biļete tiek veidota no publiskās saskarnes -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessage=Sūtīt e-pastu (-us), kad biļetei tiek pievienots jauns ziņojums / komentārs TicketsPublicNotificationNewMessageHelp=Sūtiet e-pastu (s), kad no publiskās saskarnes tiek pievienots jauns ziņojums (piešķirtajam lietotājam vai paziņojumu e-pastu uz (atjaunināt) un / vai paziņojumu e-pastu uz) TicketPublicNotificationNewMessageDefaultEmail=Paziņojumu e-pasts adresātam (atjaunināt) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=Nosūtiet e-pastu uz šo adresi par katru jaunu ziņojumu paziņojumu, ja biļetei nav piešķirts lietotājs vai ja lietotājam nav zināms e-pasts. # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=Izveidojis NewTicket=Jauns notikums SubjectAnswerToTicket=Pieteikuma atbilde TicketTypeRequest=Pieprasījuma veids -TicketCategory=Grupa +TicketCategory=Biļešu kategorizēšana SeeTicket=Apskatīt pieteikumu TicketMarkedAsRead=Pieteikums ir atzīmēts kā lasīts TicketReadOn=Izlasīts @@ -184,9 +186,11 @@ TicketSeverity=Svarīgums ShowTicket=Apskatīt pieteikumu RelatedTickets=Saistītie pieteikumi TicketAddIntervention=Izveidojiet iejaukšanos -CloseTicket=Slēgts pieteikums -CloseATicket=Aizvērt pieteikumu +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Apstiprināt pieteikuma aizvēršanu +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Lūdzu, apstipriniet pieteikuma dzēšanu TicketDeletedSuccess=Pieteikums ir dzēsts veiksmīgi TicketMarkedAsClosed=Pieteikums ir atzīmēta kā slēgts @@ -211,6 +215,7 @@ TicketMessageHelp=Tikai šis teksts tiks saglabāts ziņojumu sarakstā uz biļe TicketMessageSubstitutionReplacedByGenericValues=Mainīšanas mainīgos aizstāj ar vispārējām vērtībām. TimeElapsedSince=Laiks pagājis kopš TicketTimeToRead=Laiks, kas pagājis pirms izlasīšanas +TicketTimeElapsedBeforeSince=Laiks, kas pagājis pirms / kopš TicketContacts=Kontakti biļete TicketDocumentsLinked=Ar biļeti saistītie dokumenti ConfirmReOpenTicket=Vai apstiprināt atkārtotu pieteikuma atvēršanu ? @@ -304,13 +309,13 @@ BoxLastModifiedTicket=Jaunākie labotie pieteikumi BoxLastModifiedTicketDescription=Jaunākās %s lanbotās biļetes BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Nav nesen labotu pieteikumu -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxTicketType=Atvērto biļešu sadalījums pa veidiem +BoxTicketSeverity=Atvērto biļešu skaits pēc smaguma pakāpes +BoxNoTicketSeverity=Netika atvērta neviena biļete +BoxTicketLastXDays=Jauno biļešu skaits pa dienām pēdējās %s dienās +BoxTicketLastXDayswidget = Jauno biļešu skaits pa dienām pēdējās X dienās +BoxNoTicketLastXDays=Pēdējās %s dienās nav jaunu biļešu +BoxNumberOfTicketByDay=Jauno biļešu skaits dienā +BoxNewTicketVSClose=Šodienas jauno biļešu skaits pret šodienas slēgtajām biļetēm +TicketCreatedToday=Biļete izveidota šodien +TicketClosedToday=Biļete šodien ir slēgta diff --git a/htdocs/langs/lv_LV/trips.lang b/htdocs/langs/lv_LV/trips.lang index 39090aec17a..dee2d6f81ee 100644 --- a/htdocs/langs/lv_LV/trips.lang +++ b/htdocs/langs/lv_LV/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Izdevumu pārskats %s tika atcelts.
    - Lietotā ExpenseReportPaid=Izdevumu pārskats tika samaksāts ExpenseReportPaidMessage=Izmaksu pārskats %s tika samaksāts.
    - Lietotājs: %s
    - Maksā: %s
    Uzklikšķināt šeit, lai parādītu izdevumu pārskatu: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Persona, kas jāinformē par pieprasījuma apstiprināšanu. TripSociete=Uzņēmuma informācija TripNDF=Informācijas izdevumu pārskats PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Aizliegšanas datums DATE_SAVE=Apstiprināšanas datums DATE_CANCEL=Atcelšanas datums DATE_PAIEMENT=Maksājuma datums -BROUILLONNER=Atvērt pa jaunu ExpenseReportRef=Atsauces izdevumu pārskats ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Apstiprināts (gaida apstiprinājumu) @@ -103,14 +102,14 @@ ConfirmPaidTrip=Vai tiešām vēlaties mainīt šī izdevumu pārskata statusu u ConfirmCancelTrip=Vai tiešām vēlaties atcelt šo izdevumu pārskatu? BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Vai tiešām vēlaties pārvietot šo izdevumu pārskatu uz statusu "Melnraksts"? -SaveTrip=Validate expense report +SaveTrip=Apstiprināt izdevumu pārskatu ConfirmSaveTrip=Vai tiešām vēlaties apstiprināt šo izdevumu pārskatu? NoTripsToExportCSV=No expense report to export for this period. -ExpenseReportPayment=Expense report payment +ExpenseReportPayment=Izdevumu pārskata maksājums ExpenseReportsToApprove=Izdevumu ziņojumi jāapstiprina ExpenseReportsToPay=Izdevumu pārskati kas jāsamaksā ConfirmCloneExpenseReport=Vai tiešām vēlaties klonēt šo izdevumu pārskatu? -ExpenseReportsIk=Izdevumu pārskats, kurā ir indekss +ExpenseReportsIk=Nobraukuma maksu konfigurēšana ExpenseReportsRules=Izdevumu pārskatu noteikumi ExpenseReportIkDesc=Varat mainīt kilometru izdevumu aprēķinu pa kategorijām un diapazoniem, kurus tie iepriekš ir definējuši. d ir attālums kilometros ExpenseReportRulesDesc=Jūs varat izveidot vai atjaunināt visus aprēķina noteikumus. Šī daļa tiks izmantota, ja lietotājs izveidos jaunu izdevumu pārskatu @@ -145,7 +144,7 @@ nolimitbyEX_DAY=pēc dienas (bez ierobežojuma) nolimitbyEX_MON=pa mēnešiem (bez ierobežojumiem) nolimitbyEX_YEA=pa gadiem (bez ierobežojumiem) nolimitbyEX_EXP=pēc rindas (bez ierobežojuma) -CarCategory=Automašīnu sadaļa +CarCategory=Transportlīdzekļa kategorija ExpenseRangeOffset=Kompensācijas summa: %s RangeIk=Nobraukums AttachTheNewLineToTheDocument=Pievienojiet rindu augšupielādētajam dokumentam diff --git a/htdocs/langs/lv_LV/users.lang b/htdocs/langs/lv_LV/users.lang index 9a902874c9c..8f0731e79c4 100644 --- a/htdocs/langs/lv_LV/users.lang +++ b/htdocs/langs/lv_LV/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Parole mainīts: %s SubjectNewPassword=Jūsu jaunā parole %s GroupRights=Grupas atļaujas UserRights=Lietotāja atļaujas -Credentials=Credentials +Credentials=Akreditācijas dati UserGUISetup=Lietotāja displeja iestatīšana DisableUser=Bloķēt DisableAUser=Bloķēt lietotāju @@ -73,7 +73,7 @@ ExportDataset_user_1=Lietotāji un to īpašības DomainUser=Domēna lietotājs %s Reactivate=Aktivizēt CreateInternalUserDesc=Šī veidlapa ļauj izveidot iekšējo lietotāju savā uzņēmumā/organizācijā. Lai izveidotu ārēju lietotāju (klientu, pārdevēju utt.), Izmantojiet trešās puses kontakta kartītes pogu “Izveidot Dolibarr lietotāju”. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=Iekšējais lietotājs ir lietotājs, kas ir jūsu uzņēmuma / organizācijas daļa vai ir partnera lietotājs ārpus jūsu organizācijas un kuram, iespējams, būs jāredz vairāk datu nekā ar viņa uzņēmumu saistīto datu (atļauju sistēma noteiks, ko viņš var vai var neredzu un neredzu).
    Ārējs lietotājs ir klients, pārdevējs vai cits lietotājs, kuram ir jāskata TIKAI ar sevi saistītie dati (Ārēja lietotāja izveidošanu trešajai pusei var veikt no trešās puses kontaktu ieraksta).

    Abos gadījumos jums jāpiešķir atļaujas lietotājam nepieciešamajām funkcijām. PermissionInheritedFromAGroup=Atļauja piešķirta, jo mantojis no viena lietotāja grupai. Inherited=Iedzimta UserWillBe=Izveidotais lietotājs būs @@ -106,7 +106,7 @@ UseTypeFieldToChange=Izmantojiet lauka veids, lai mainītu OpenIDURL=OpenID URL LoginUsingOpenID=Izmantojiet OpenID, lai pieteiktos WeeklyHours=Nostrādātais laiks (nedēļā) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Paredzamās nostrādātās stundas nedēļā ColorUser=Lietotāja krāsa DisabledInMonoUserMode=Atspējots uzturēšanas režīmā UserAccountancyCode=Lietotāja grāmatvedības kods @@ -116,7 +116,7 @@ DateOfEmployment=Nodarbināšanas datums DateEmployment=Nodarbinātība DateEmploymentstart=Nodarbinātības sākuma datums DateEmploymentEnd=Nodarbinātības beigu datums -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Piekļuves derīguma datumu diapazons CantDisableYourself=Jūs nevarat atspējot savu lietotāja ierakstu ForceUserExpenseValidator=Spēka izdevumu pārskata apstiprinātājs ForceUserHolidayValidator=Piespiedu atvaļinājuma pieprasījuma validētājs diff --git a/htdocs/langs/lv_LV/website.lang b/htdocs/langs/lv_LV/website.lang index 6fe5bbf285a..d6dafec86f5 100644 --- a/htdocs/langs/lv_LV/website.lang +++ b/htdocs/langs/lv_LV/website.lang @@ -31,7 +31,7 @@ AddWebsite=Pievienot vietni Webpage=Web lapa / konteiners AddPage=Pievienot lapu / konteineru PageContainer=Lappuse -PreviewOfSiteNotYetAvailable=Jūsu vietnes %s priekšskatījums vēl nav pieejams. Vispirms jums ir Jāimportē pilnu vietnes veidni vai vienkārši Pievienot lapu/konteineru". +PreviewOfSiteNotYetAvailable=Jūsu vietnes priekšskatījums %s vēl nav pieejams. Vispirms jums ir jāimportē ' pilna vietnes veidne ' vai vienkārši '. Pievienojiet lapu / konteineru '. RequestedPageHasNoContentYet=Pieprasītā lapa ar id %s vēl nav ievietota, vai kešatmiņas fails .tpl.php tika noņemts. Rediģējiet lapas saturu, lai to atrisinātu. SiteDeleted=Tīmekļa vietne '%s' dzēsta PageContent=Lapa / Konteiners @@ -51,7 +51,7 @@ ReadPerm=Lasīt WritePerm=Rakstīt TestDeployOnWeb=Pārbaudiet / izvietojiet tīmeklī PreviewSiteServedByWebServer=Preview %s in a new tab.

    The %s will be served by an external web server (like Apache, Nginx, IIS). You must install and setup this server before to point to directory:
    %s
    URL served by external server:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". +PreviewSiteServedByDolibarr= Priekšskatīt %s jaunā cilnē.

    %s apkalpos Dolibarr serveris, tāpēc tam nav nepieciešams instalēt papildu tīmekļa serveri (piemēram, Apache, Nginx, IIS).
    Neērti ir tas, ka lapu vietrāži URL nav lietotājam draudzīgi un sākas ar jūsu Dolibarr ceļu.
    URL apkalpo Dolibarr:
    %s

    Lai izmantotu savu ārējo web serveri, lai kalpotu šo tīmekļa vietni, izveidot virtuālo uzņēmējas jūsu tīmekļa serverī, kas norāda uz direktoriju
    %s
    tad ievadiet nosaukumu šī virtuālā servera šīs vietnes rekvizītos un noklikšķiniet uz saites "Pārbaudīt / izvietot tīmeklī". VirtualHostUrlNotDefined=Virtuālā resursdatora adrese, kuru apkalpo ārējs tīmekļa serveris, nav definēts NoPageYet=Vēl nav nevienas lapas YouCanCreatePageOrImportTemplate=Jūs varat izveidot jaunu lapu vai importēt pilnu vietnes veidni @@ -137,11 +137,11 @@ PagesRegenerated=reģenerēta %s lapa (s) / konteiners (-i) RegenerateWebsiteContent=Atjaunojiet tīmekļa vietnes kešatmiņas failus AllowedInFrames=Atļauts rāmjos DefineListOfAltLanguagesInWebsiteProperties=Vietņu rekvizītos definējiet visu pieejamo valodu sarakstu. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated +GenerateSitemaps=Ģenerēt vietnes vietnes kartes failu +ConfirmGenerateSitemaps=Ja apstiprināsit, jūs izdzēsīsit esošo vietnes kartes failu ... +ConfirmSitemapsCreation=Apstipriniet vietnes kartes ģenerēšanu +SitemapGenerated=Vietnes kartes fails %s ģenerēts ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +ErrorFaviconType=Favicon jābūt png +ErrorFaviconSize=Favicon izmēram jābūt 16x16, 32x32 vai 64x64 +FaviconTooltip=Augšupielādējiet attēlu, kuram jābūt png (16x16, 32x32 vai 64x64) diff --git a/htdocs/langs/lv_LV/withdrawals.lang b/htdocs/langs/lv_LV/withdrawals.lang index f547e315cce..711381d6c48 100644 --- a/htdocs/langs/lv_LV/withdrawals.lang +++ b/htdocs/langs/lv_LV/withdrawals.lang @@ -42,9 +42,10 @@ LastWithdrawalReceipt=Jaunākie %s tiešā debeta ieņēmumi MakeWithdrawRequest=Izveidojiet tiešā debeta maksājumu pieprasījumu MakeBankTransferOrder=Veiciet kredīta pārveduma pieprasījumu WithdrawRequestsDone=%s reģistrēti tiešā debeta maksājumu pieprasījumi -BankTransferRequestsDone=%s credit transfer requests recorded +BankTransferRequestsDone=%s reģistrēti kredīta pārveduma pieprasījumi ThirdPartyBankCode=Trešās puses bankas kods NoInvoiceCouldBeWithdrawed=Netika veiksmīgi norakstīts rēķins. Pārbaudiet, vai rēķini ir norādīti uzĦēmumiem ar derīgu IBAN un IBAN ir UMR (unikālas pilnvaras atsauce) ar režīmu %s . +WithdrawalCantBeCreditedTwice=Šī izņemšanas kvīts jau ir atzīmēta kā ieskaitīta; to nevar izdarīt divreiz, jo tas potenciāli radītu maksājumu un bankas ierakstu dublikātus. ClassCredited=Klasificēt kreditēts ClassCreditedConfirm=Vai tiešām vēlaties klasificēt šo atsaukuma kvīti kā kredītu jūsu bankas kontā? TransData=Darījuma datums @@ -102,7 +103,7 @@ WithdrawalFile=Debeta pasūtījuma fails CreditTransferFile=Kredīta pārveduma fails SetToStatusSent=Nomainīt uz statusu "Fails nosūtīts" ThisWillAlsoAddPaymentOnInvoice=Tas arī reģistrēs maksājumus rēķinos un klasificēs tos kā “Apmaksāts”, ja atlikušais maksājums būs spēkā neesošs -StatisticsByLineStatus=Statistics by status of lines +StatisticsByLineStatus=Statistika pēc līniju statusa RUM=RUM DateRUM=Pilnvaras parakstīšanas datums RUMLong=Unikāla pilnvaru atsauce @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA vispirms ExecutionDate=Izpildes datums CreateForSepa=Izveidojiet tiešā debeta failu -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - katram darījumam piešķirts unikāls ID USTRD="Nestrukturēts" SEPA XML tag ADDDAYS=Pievienojiet dienas izpildes datumam @@ -148,5 +148,5 @@ InfoRejectSubject=Tiešais debeta maksājuma uzdevums ir noraidīts InfoRejectMessage=Labdien,

    banka noraidījusi rēķina %s tiešā debeta maksājuma uzdevumu saistībā ar uzņēmumu %s ar summu %s.

    -
    %s ModeWarning=Iespēja reālā režīmā nav noteikts, mēs pārtraucam pēc šīs simulācijas ErrorCompanyHasDuplicateDefaultBAN=Uzņēmumam ar ID %s ir vairāk nekā viens noklusējuma bankas konts. Nevar uzzināt, kuru izmantot. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorICSmissing=Bankas kontā %s trūkst ICS +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Tiešā debeta rīkojuma kopējā summa atšķiras no rindu summas diff --git a/htdocs/langs/lv_LV/workflow.lang b/htdocs/langs/lv_LV/workflow.lang index 460cdffc0d3..bad04abf530 100644 --- a/htdocs/langs/lv_LV/workflow.lang +++ b/htdocs/langs/lv_LV/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Klasificēt saistīto avota priekšl descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klasificējiet saistītā avota pārdošanas pasūtījumu kā rēķinu, kad klients rēķins ir apstiprināts (un ja rēķina summa ir vienāda ar kopējo piesaistītā pasūtījuma summu) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klasificējiet saistītā avota pārdošanas pasūtījumu kā rēķinu, kad klienta rēķins ir apmaksāts (un ja rēķina summa ir vienāda ar saistītā pasūtījuma kopējo summu) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Klasificējiet saistīto avota pārdošanas pasūtījumu, kas nosūtīts, kad sūtījums ir apstiprināts (un ja visu sūtījumu sūtītais daudzums ir tāds pats kā atjaunināšanas rīkojumā) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Saistīto avotu pārdevēju priekšlikuma klasifikācija tiek apmaksāta, kad tiek apstiprināts piegādātāja rēķins (un ja rēķina summa ir tāda pati kā saistītā piedāvājuma kopējā summa) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Klasificēt saistīto avotu pirkuma pasūtījumu, par kuru jāmaksā, kad tiek apstiprināts piegādātāja rēķins (un ja rēķina summa ir tāda pati kā saistītā pasūtījuma summa) @@ -22,4 +23,4 @@ descWORKFLOW_TICKET_CLOSE_INTERVENTION=Kad biļete ir slēgta, aizveriet visas a AutomaticCreation=Automātiska veidošana AutomaticClassification=Automātiskā klasifikācija # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Klasificējiet saistītā avota sūtījumu kā slēgtu, kad tiek apstiprināts klienta rēķins diff --git a/htdocs/langs/lv_LV/zapier.lang b/htdocs/langs/lv_LV/zapier.lang index c524a9afb6f..48a4287c4ee 100644 --- a/htdocs/langs/lv_LV/zapier.lang +++ b/htdocs/langs/lv_LV/zapier.lang @@ -17,5 +17,5 @@ ModuleZapierForDolibarrName = Zapier priekš Dolibarr ModuleZapierForDolibarrDesc = Par zapier Dolibarr moduli ZapierForDolibarrSetup=Zapier iestatīšana Dolibarr ZapierDescription=Saskarne ar Zapier -ZapierAbout=About the module Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ZapierAbout=Par moduli Zapier +ZapierSetupPage=Lai izmantotu Zapier, Dolibarr pusē nav nepieciešama iestatīšana. Tomēr, lai varētu izmantot Zapier ar Dolibarr, jums ir jāizveido un jāpublicē pakete zapier. Skatiet šīs wiki lapas dokumentāciju . diff --git a/htdocs/langs/mk_MK/accountancy.lang b/htdocs/langs/mk_MK/accountancy.lang index 68a261785cc..1b9d3f74f36 100644 --- a/htdocs/langs/mk_MK/accountancy.lang +++ b/htdocs/langs/mk_MK/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Земји што не се во Европска економ CountriesInEECExceptMe=Земји во Европската економска заедница освен %s CountriesExceptMe=Сите земји освен %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index 7c03add0eaf..205bb65ef0b 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Договори / Претплати Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Препорачано +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/mk_MK/agenda.lang b/htdocs/langs/mk_MK/agenda.lang index 30c0db6cc9f..b775791182a 100644 --- a/htdocs/langs/mk_MK/agenda.lang +++ b/htdocs/langs/mk_MK/agenda.lang @@ -4,7 +4,7 @@ Actions=Настани Agenda=Агенда TMenuAgenda=Агенда Agendas=Агенди -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Настан во сопственост на ActionsOwnedByShort=Сопственик AffectedTo=Доделен на @@ -14,13 +14,13 @@ EventsNb=Број на настани ListOfActions=Листа на настани EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/mk_MK/banks.lang b/htdocs/langs/mk_MK/banks.lang index 6fafa0aeeb0..958aba13a6c 100644 --- a/htdocs/langs/mk_MK/banks.lang +++ b/htdocs/langs/mk_MK/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/mk_MK/bills.lang b/htdocs/langs/mk_MK/bills.lang index fec7bfce851..31f09ab1ec7 100644 --- a/htdocs/langs/mk_MK/bills.lang +++ b/htdocs/langs/mk_MK/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Неплатени фактури на добавувачи CustomerBillsUnpaid=Неплатени фактури од клиенти @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/mk_MK/boxes.lang b/htdocs/langs/mk_MK/boxes.lang index e409bf6180a..a07e2f22528 100644 --- a/htdocs/langs/mk_MK/boxes.lang +++ b/htdocs/langs/mk_MK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Нарачки на добавувачи: BoxTitleLastModifiedCustomerBills=Фактури на клиенти: најнови %s измени BoxTitleLastModifiedCustomerOrders=Нарачки за продажба: најнови %s изменети BoxTitleLastModifiedPropals=Најнови %sизменети понуди -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Фактури на клиенти ForCustomersOrders=Нарачки на клиенти ForProposals=Понуди diff --git a/htdocs/langs/mk_MK/cashdesk.lang b/htdocs/langs/mk_MK/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/mk_MK/cashdesk.lang +++ b/htdocs/langs/mk_MK/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/mk_MK/compta.lang b/htdocs/langs/mk_MK/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/mk_MK/compta.lang +++ b/htdocs/langs/mk_MK/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/mk_MK/cron.lang b/htdocs/langs/mk_MK/cron.lang index 016dca81e7a..2e379333f80 100644 --- a/htdocs/langs/mk_MK/cron.lang +++ b/htdocs/langs/mk_MK/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/mk_MK/deliveries.lang b/htdocs/langs/mk_MK/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/mk_MK/deliveries.lang +++ b/htdocs/langs/mk_MK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/mk_MK/eventorganization.lang b/htdocs/langs/mk_MK/eventorganization.lang index 1c27dd55a21..8a14e1ed2e3 100644 --- a/htdocs/langs/mk_MK/eventorganization.lang +++ b/htdocs/langs/mk_MK/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/mk_MK/exports.lang b/htdocs/langs/mk_MK/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/mk_MK/exports.lang +++ b/htdocs/langs/mk_MK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/mk_MK/holiday.lang b/htdocs/langs/mk_MK/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/mk_MK/holiday.lang +++ b/htdocs/langs/mk_MK/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/mk_MK/hrm.lang b/htdocs/langs/mk_MK/hrm.lang index 9f7475466fa..b9040fddcd2 100644 --- a/htdocs/langs/mk_MK/hrm.lang +++ b/htdocs/langs/mk_MK/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Дали сте сигурни дека саката OpenEtablishment=Отвори компанија CloseEtablishment=Затвори компанија # Dictionary -DictionaryPublicHolidays=HRM - државни празници +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Список на оддели DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index 3cd58c00c22..03a34b0fbca 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/mk_MK/interventions.lang b/htdocs/langs/mk_MK/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/mk_MK/interventions.lang +++ b/htdocs/langs/mk_MK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/mk_MK/knowledgemanagement.lang b/htdocs/langs/mk_MK/knowledgemanagement.lang index 5267df31200..c1cf2bc402a 100644 --- a/htdocs/langs/mk_MK/knowledgemanagement.lang +++ b/htdocs/langs/mk_MK/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/mk_MK/languages.lang b/htdocs/langs/mk_MK/languages.lang index a25efb26d67..87a1148e019 100644 --- a/htdocs/langs/mk_MK/languages.lang +++ b/htdocs/langs/mk_MK/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Арапски Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Арапски +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Холанѓаните (Белгија) Language_nl_NL=Dutch Language_pl_PL=Полскиот +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Португалски (во Бразил) Language_pt_PT=Португалски +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Романски Language_ru_RU=Рускиот Language_ru_UA=Руски (Украина) diff --git a/htdocs/langs/mk_MK/mails.lang b/htdocs/langs/mk_MK/mails.lang index 170e41b5384..802dcf58db3 100644 --- a/htdocs/langs/mk_MK/mails.lang +++ b/htdocs/langs/mk_MK/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index cfa487979f0..4a3ca802a63 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Корисници MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/mk_MK/members.lang b/htdocs/langs/mk_MK/members.lang index 20f18a2cf0d..34c05c99361 100644 --- a/htdocs/langs/mk_MK/members.lang +++ b/htdocs/langs/mk_MK/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/mk_MK/modulebuilder.lang b/htdocs/langs/mk_MK/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/mk_MK/modulebuilder.lang +++ b/htdocs/langs/mk_MK/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/mk_MK/mrp.lang b/htdocs/langs/mk_MK/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/mk_MK/mrp.lang +++ b/htdocs/langs/mk_MK/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/mk_MK/orders.lang b/htdocs/langs/mk_MK/orders.lang index 6486bfe423d..f772f037d5d 100644 --- a/htdocs/langs/mk_MK/orders.lang +++ b/htdocs/langs/mk_MK/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/mk_MK/other.lang b/htdocs/langs/mk_MK/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/mk_MK/other.lang +++ b/htdocs/langs/mk_MK/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/mk_MK/partnership.lang b/htdocs/langs/mk_MK/partnership.lang index 79ef0961c57..df8686f8258 100644 --- a/htdocs/langs/mk_MK/partnership.lang +++ b/htdocs/langs/mk_MK/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Почетен датум DatePartnershipEnd=Краен датум +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Нацрт -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Нацрт +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/mk_MK/productbatch.lang b/htdocs/langs/mk_MK/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/mk_MK/productbatch.lang +++ b/htdocs/langs/mk_MK/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index b8be8edd70b..dd9e6ee893b 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/mk_MK/receptions.lang b/htdocs/langs/mk_MK/receptions.lang index 552f716bf69..4b4ed6b1146 100644 --- a/htdocs/langs/mk_MK/receptions.lang +++ b/htdocs/langs/mk_MK/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/mk_MK/salaries.lang b/htdocs/langs/mk_MK/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/mk_MK/salaries.lang +++ b/htdocs/langs/mk_MK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/mk_MK/stocks.lang b/htdocs/langs/mk_MK/stocks.lang index 00619fd3310..5fba3835563 100644 --- a/htdocs/langs/mk_MK/stocks.lang +++ b/htdocs/langs/mk_MK/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/mk_MK/ticket.lang b/htdocs/langs/mk_MK/ticket.lang index 5b6dab8eefd..770d199adc2 100644 --- a/htdocs/langs/mk_MK/ticket.lang +++ b/htdocs/langs/mk_MK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Затворено +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/mk_MK/trips.lang b/htdocs/langs/mk_MK/trips.lang index e34078e8fc2..c9a6c792077 100644 --- a/htdocs/langs/mk_MK/trips.lang +++ b/htdocs/langs/mk_MK/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/mk_MK/users.lang b/htdocs/langs/mk_MK/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/mk_MK/users.lang +++ b/htdocs/langs/mk_MK/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/mk_MK/website.lang b/htdocs/langs/mk_MK/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/mk_MK/website.lang +++ b/htdocs/langs/mk_MK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/mk_MK/withdrawals.lang b/htdocs/langs/mk_MK/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/mk_MK/withdrawals.lang +++ b/htdocs/langs/mk_MK/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/mk_MK/workflow.lang b/htdocs/langs/mk_MK/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/mk_MK/workflow.lang +++ b/htdocs/langs/mk_MK/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/mn_MN/accountancy.lang b/htdocs/langs/mn_MN/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/mn_MN/accountancy.lang +++ b/htdocs/langs/mn_MN/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/mn_MN/admin.lang b/htdocs/langs/mn_MN/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/mn_MN/admin.lang +++ b/htdocs/langs/mn_MN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/mn_MN/agenda.lang b/htdocs/langs/mn_MN/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/mn_MN/agenda.lang +++ b/htdocs/langs/mn_MN/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/mn_MN/banks.lang b/htdocs/langs/mn_MN/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/mn_MN/banks.lang +++ b/htdocs/langs/mn_MN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/mn_MN/bills.lang b/htdocs/langs/mn_MN/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/mn_MN/bills.lang +++ b/htdocs/langs/mn_MN/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/mn_MN/boxes.lang b/htdocs/langs/mn_MN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/mn_MN/boxes.lang +++ b/htdocs/langs/mn_MN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/mn_MN/cashdesk.lang b/htdocs/langs/mn_MN/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/mn_MN/cashdesk.lang +++ b/htdocs/langs/mn_MN/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/mn_MN/compta.lang b/htdocs/langs/mn_MN/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/mn_MN/compta.lang +++ b/htdocs/langs/mn_MN/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/mn_MN/cron.lang b/htdocs/langs/mn_MN/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/mn_MN/cron.lang +++ b/htdocs/langs/mn_MN/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/mn_MN/deliveries.lang b/htdocs/langs/mn_MN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/mn_MN/deliveries.lang +++ b/htdocs/langs/mn_MN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/mn_MN/errors.lang b/htdocs/langs/mn_MN/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/mn_MN/errors.lang +++ b/htdocs/langs/mn_MN/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/mn_MN/eventorganization.lang b/htdocs/langs/mn_MN/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/mn_MN/eventorganization.lang +++ b/htdocs/langs/mn_MN/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/mn_MN/exports.lang b/htdocs/langs/mn_MN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/mn_MN/exports.lang +++ b/htdocs/langs/mn_MN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/mn_MN/holiday.lang b/htdocs/langs/mn_MN/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/mn_MN/holiday.lang +++ b/htdocs/langs/mn_MN/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/mn_MN/hrm.lang b/htdocs/langs/mn_MN/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/mn_MN/hrm.lang +++ b/htdocs/langs/mn_MN/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/mn_MN/install.lang b/htdocs/langs/mn_MN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/mn_MN/install.lang +++ b/htdocs/langs/mn_MN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/mn_MN/interventions.lang b/htdocs/langs/mn_MN/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/mn_MN/interventions.lang +++ b/htdocs/langs/mn_MN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/mn_MN/knowledgemanagement.lang b/htdocs/langs/mn_MN/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/mn_MN/knowledgemanagement.lang +++ b/htdocs/langs/mn_MN/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/mn_MN/languages.lang b/htdocs/langs/mn_MN/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/mn_MN/languages.lang +++ b/htdocs/langs/mn_MN/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/mn_MN/mails.lang b/htdocs/langs/mn_MN/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/mn_MN/mails.lang +++ b/htdocs/langs/mn_MN/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/mn_MN/main.lang b/htdocs/langs/mn_MN/main.lang index 02d765a15e5..d91037ac224 100644 --- a/htdocs/langs/mn_MN/main.lang +++ b/htdocs/langs/mn_MN/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/mn_MN/members.lang b/htdocs/langs/mn_MN/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/mn_MN/members.lang +++ b/htdocs/langs/mn_MN/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/mn_MN/modulebuilder.lang b/htdocs/langs/mn_MN/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/mn_MN/modulebuilder.lang +++ b/htdocs/langs/mn_MN/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/mn_MN/mrp.lang b/htdocs/langs/mn_MN/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/mn_MN/mrp.lang +++ b/htdocs/langs/mn_MN/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/mn_MN/orders.lang b/htdocs/langs/mn_MN/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/mn_MN/orders.lang +++ b/htdocs/langs/mn_MN/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/mn_MN/other.lang b/htdocs/langs/mn_MN/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/mn_MN/other.lang +++ b/htdocs/langs/mn_MN/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/mn_MN/partnership.lang b/htdocs/langs/mn_MN/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/mn_MN/partnership.lang +++ b/htdocs/langs/mn_MN/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/mn_MN/productbatch.lang b/htdocs/langs/mn_MN/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/mn_MN/productbatch.lang +++ b/htdocs/langs/mn_MN/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/mn_MN/products.lang b/htdocs/langs/mn_MN/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/mn_MN/products.lang +++ b/htdocs/langs/mn_MN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/mn_MN/projects.lang b/htdocs/langs/mn_MN/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/mn_MN/projects.lang +++ b/htdocs/langs/mn_MN/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/mn_MN/receptions.lang b/htdocs/langs/mn_MN/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/mn_MN/receptions.lang +++ b/htdocs/langs/mn_MN/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/mn_MN/salaries.lang b/htdocs/langs/mn_MN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/mn_MN/salaries.lang +++ b/htdocs/langs/mn_MN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/mn_MN/stocks.lang b/htdocs/langs/mn_MN/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/mn_MN/stocks.lang +++ b/htdocs/langs/mn_MN/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/mn_MN/ticket.lang b/htdocs/langs/mn_MN/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/mn_MN/ticket.lang +++ b/htdocs/langs/mn_MN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/mn_MN/trips.lang b/htdocs/langs/mn_MN/trips.lang index e34078e8fc2..c9a6c792077 100644 --- a/htdocs/langs/mn_MN/trips.lang +++ b/htdocs/langs/mn_MN/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/mn_MN/users.lang b/htdocs/langs/mn_MN/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/mn_MN/users.lang +++ b/htdocs/langs/mn_MN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/mn_MN/website.lang b/htdocs/langs/mn_MN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/mn_MN/website.lang +++ b/htdocs/langs/mn_MN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/mn_MN/withdrawals.lang b/htdocs/langs/mn_MN/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/mn_MN/withdrawals.lang +++ b/htdocs/langs/mn_MN/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/mn_MN/workflow.lang b/htdocs/langs/mn_MN/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/mn_MN/workflow.lang +++ b/htdocs/langs/mn_MN/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/nb_NO/accountancy.lang b/htdocs/langs/nb_NO/accountancy.lang index 59889975fdb..4ff43e59d30 100644 --- a/htdocs/langs/nb_NO/accountancy.lang +++ b/htdocs/langs/nb_NO/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Land ikke i EEC CountriesInEECExceptMe=Land i EEC unntatt %s CountriesExceptMe=Alle land unntatt %s AccountantFiles=Eksporter kildedokumenter -ExportAccountingSourceDocHelp=Med dette verktøyet kan du eksportere kildehendelsene (liste og PDF-filer) som ble brukt til å generere regnskapet. For å eksportere journalene, bruk menyoppføringen %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=Vis etter regnskapskonto VueBySubAccountAccounting=Vis etter regnskaps-subkonto @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Lengden på tredjeparts regnskapskontoer (Hvis du ang ACCOUNTING_MANAGE_ZERO=Tillat å administrere forskjellig antall nuller på slutten av en regnskapskonto. Nødvendig for enkelte land (som Sveits). Hvis du holder den av (standard), kan du angi de 2 følgende parametrene for å be om å legge til virtuell null. BANK_DISABLE_DIRECT_INPUT=Deaktiver direkteregistrering av transaksjoner på bankkonto ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Aktiver eksportutkast i journal -ACCOUNTANCY_COMBO_FOR_AUX=Aktiver kombinasjonsliste for datterkonto (kan være treg hvis du har mange tredjeparter) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Definer en dato for å starte binding og overføring i regnskap. Etter denne datoen vil ikke transaksjonene bli overført til regnskap. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Velg regnskapsvisning som standard ved overføring av regnskap @@ -209,7 +210,7 @@ Codejournal=Journal JournalLabel=Journaletikett NumPiece=Del nummer TransactionNumShort=Transaksjonsnummer -AccountingCategory=Custom group +AccountingCategory=Egendefinert gruppe GroupByAccountAccounting=Gruppere etter hovedbokskonto GroupBySubAccountAccounting=Gruppere etter sub-hovedbokskonto AccountingAccountGroupsDesc=Her kan du definere noen grupper regnskapskonti. De vil bli brukt til personlige regnskapsrapporter. @@ -245,9 +246,9 @@ DescThirdPartyReport=Liste over tredjeparts kunder og leverandører og deres reg ListAccounts=Liste over regnskapskontoer UnknownAccountForThirdparty=Ukjent tredjepartskonto. Vi vil bruke %s UnknownAccountForThirdpartyBlocking=Ukjent tredjepartskonto. Blokkeringsfeil -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Tredjepartskonto ikke definert eller tredjepart ukjent. Vi bruker %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tredjepart ukjent og regnskapsbok ikke definert på betalingen. Vi vil holde kontoen tom. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Tredjepartskonto ikke definert eller tredjepart ukjent. Blokkeringsfeil. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Ukjent tredjepartskonto og ventekonto ikke definert. Blokkeringsfeil PaymentsNotLinkedToProduct=Betaling ikke knyttet til noen vare/tjeneste OpeningBalance=Inngående balanse @@ -297,7 +298,7 @@ NoNewRecordSaved=Ingen flere poster å journalisere ListOfProductsWithoutAccountingAccount=Liste over varer som ikke bundet til en regnskapskonto ChangeBinding=Endre bindingen Accounted=Regnskapsført i hovedbok -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Foreløpig ikke regnskapsført i hovedboken ShowTutorial=Vis veiledning NotReconciled=Ikke sammenslått WarningRecordWithoutSubledgerAreExcluded=Advarsel, alle operasjoner uten definert sub-hovedbokskonto er filtrert og ekskludert fra denne visningen @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Deaktiver binding og overføring til reg ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Deaktiver binding og overføring til regnskap på utgiftsrapporter (utgiftsrapporter blir ikke tatt med i regnskapet) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Eksporter utkastjournal Modelcsv=Eksportmodell Selectmodelcsv=Velg eksportmodell @@ -335,7 +339,7 @@ Modelcsv_normal=Klassisk eksport Modelcsv_CEGID=Eksport til CEGID Expert Comptabilité Modelcsv_COALA=Eksport til Saga Coala Modelcsv_bob50=Eksport til Sage BOB 50 -Modelcsv_ciel=Eksport til Sage Ciel Compta eller Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Eksport til Quadratus QuadraCompta Modelcsv_ebp=Eksport tilEBP Modelcsv_cogilog=Eksport til Cogilog @@ -405,10 +409,10 @@ ImportAccountingEntries=Regnskapsposter ImportAccountingEntriesFECFormat=Regnskapsoppføringer - FEC-format FECFormatJournalCode=Kodejournal (JournalCode) FECFormatJournalLabel=Etikettjournal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) +FECFormatEntryNum=Delenummer (EcritureNum) +FECFormatEntryDate=Del dato (EcritureDate) FECFormatGeneralAccountNumber=Generelt kontonummer (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) +FECFormatGeneralAccountLabel=Generell kontoetikett (CompteLib) FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) FECFormatPieceRef=Piece ref (PieceRef) diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index 1e2103f89f8..3eb2a511ba2 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -53,6 +53,7 @@ InternalUser=Intern bruker ExternalUser=Ekstern bruker InternalUsers=Interne brukere ExternalUsers=Eksterne brukere +UserInterface=User interface GUISetup=Visning SetupArea=Oppsett UploadNewTemplate=Last opp ny mal(er) @@ -84,6 +85,7 @@ NumberOfBytes=Antall bytes SearchString=Søkestreng NotAvailableWhenAjaxDisabled=Ikke tilgjengelig når Ajax er slått av AllowToSelectProjectFromOtherCompany=På elementer av en tredjepart, kan du velge et prosjekt knyttet til en annen tredjepart +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript er deaktivert UsePreviewTabs=Bruk faner for forhåndsvisning ShowPreview=Forhåndsvisning @@ -116,6 +118,7 @@ MultiCurrencySetup=Oppsett av fler-valuta MenuLimits=Grenser og presisjon MenuIdParent=ID foreldremeny DetailMenuIdParent=ID foreldremeny (tom for toppmeny) +ParentID=Parent ID DetailPosition=Sorteringsnummer i meny AllMenus=Alle NotConfigured=Modul/applikasjon ikke konfigurert @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Egenskapen er kun tilgjengelig på offisielle, stab BoxesDesc=Widgets er komponenter som viser litt informasjon du kan legge til for å tilpasse noen sider. Du kan velge mellom å vise widgeten eller ikke ved å velge målside og klikke på "Aktiver", eller ved å klikke på papirkurven for å deaktivere den. OnlyActiveElementsAreShown=Bare elementer fra aktiverte moduler vises. ModulesDesc=Modulene/applikasjonene bestemmer hvilke funksjoner som er tilgjengelige i programvaren. Noen moduler krever at tillatelse gis til brukere etter at modulen er aktivert. Klikk på/av-knappen%s for hver modul for å aktivere eller deaktivere en modul/applikasjon. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Du kan finne flere moduler for nedlasting på eksterne nettsteder. ModulesDeployDesc=Hvis tillatelser for filsystemet tillater det, kan du bruke dette verktøyet til å distribuere en ekstern modul. Modulen vil da være synlig under fanen %s. ModulesMarketPlaces=Finn eksterne apper/moduler @@ -221,8 +225,8 @@ NotCompatible=Denne modulenser ikke ut til å være kompatibel med Dolibarr %s ( CompatibleAfterUpdate=Denne modulen krever en oppdatering av Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på Markedsplass SeeSetupOfModule=Se oppsett av modul %s +SetOptionTo=Set option %s to %s Updated=Oppdatert -Nouveauté=Nyhet AchatTelechargement=Kjøp/Last ned GoModuleSetupArea=For å distribuere/installere en ny modul, gå til området for Moduloppsett på %s. DoliStoreDesc=DoliStore, den offisielle markedsplassen for eksterne moduler til Dolibarr ERP/CRM @@ -399,6 +403,7 @@ SecurityToken=Nøkkel til sikre nettadresser NoSmsEngine=Ingen SMS avsender tilgjengelig. SMS-håndterer er ikke installert med standardinstallasjon (fordi de er avhengig av en ekstern leverandør), men du kan finne noen på %s PDF=PDF PDFDesc=Globale alternativer for generering av PDF +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Regler for adresseseksjonen HideAnyVATInformationOnPDF=Skjul all informasjon relatert til skatt/MVA på generert PDF PDFRulesForSalesTax=Regler for salgsskatt/mva @@ -561,7 +566,7 @@ Module53Desc=Administrasjon av tjenester Module54Name=Kontrakter/abonnement Module54Desc=Forvaltning av kontrakter (tjenester eller tilbakevendende abonnementer) Module55Name=Strekkoder -Module55Desc=Behandling av strekkoder +Module55Desc=Barcode or QR code management Module56Name=Betaling med kredittoverføring Module56Desc=Håndtering av betaling til leverandører ved Credit Transfer-ordrer. Den inkluderer generering av SEPA-filer for europeiske land. Module57Name=Betalinger med dirketedebet @@ -848,10 +853,10 @@ Permission402=Opprett/endre rabatter Permission403=Valider rabatter Permission404=Slett rabatter Permission430=Bruk Debug Bar -Permission511=Les lønnsutbetalinger (dine og underordnedes) -Permission512=Opprett/endre betaling av lønn -Permission514=Slett utbetalinger av lønn -Permission517=Les alles lønnsutbetalinger +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Eksporter lønn Permission520=Les lån Permission522=Opprett/endre lån @@ -965,6 +970,8 @@ Permission23003=Slett planlagt oppgave Permission23004=Utfør planlagt oppgave Permission50101=Bruk salgssted (SimplePOS) Permission50151=Bruk salgssted (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Les transaksjoner Permission50202=Importer transaksjoner Permission50330=Les Zapier-objekter @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Måleenheter DictionarySocialNetworks=Sosiale nettverk DictionaryProspectStatus=Prospektstatus for selskaper DictionaryProspectContactStatus=Prospektstatus for kontakter -DictionaryHolidayTypes=Typer permisjon +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for prosjekt/lead DictionaryExpenseTaxCat=Utgiftsrapport - Transportkategorier DictionaryExpenseTaxRange=Utgiftsrapport - Rangert etter transportkategori DictionaryTransportMode=Intracomm rapport - Transportmodus +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type enhet SetupSaved=Innstillinger lagret SetupNotSaved=Oppsettet er ikke lagret @@ -1185,9 +1193,12 @@ SetupDescription2=Følgende to seksjoner er obligatoriske (de to første oppfør SetupDescription3= %s -> %s

    Grunnleggende parametere som brukes til å tilpasse standardoppførselen til applikasjonen din (for eksempel landrelaterte funksjoner). SetupDescription4=%s -> %s

    Denne programvaren er en serie med mange moduler/applikasjoner. Modulene relatert til dine behov må være aktivert og konfigurert. Menyoppføringer vises ved aktivering av disse modulene. SetupDescription5=Annet oppsett menyoppføringer styrer valgfrie parametere. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Sikkerhetshendelser som blir revidert NoSecurityEventsAreAduited=Ingen sikkerhetshendelser blir revidert. Du kan aktivere dem fra meny %s -Audit=Revisjon +Audit=Security events InfoDolibarr=Om Dolibarr InfoBrowser=Om nettleser InfoOS=Om OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funksjoner ikke tilgjengelige i din PHP DownloadMoreSkins=Flere skins å laste ned SimpleNumRefModelDesc=Returnerer referansenummeret i formatet %syymm-nnnn der yy er året, mm er måneden og nnnn er et sekvensielt automatisk økende nummer uten nullstilling SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Vis Profesjonell ID med adresser -ShowVATIntaInAddress=Skjul intra-Community MVA-numre med adresse +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Delvis oversettelse MAIN_DISABLE_METEO=Deaktiver meteorologisk visning MeteoStdMod=Standardmodus @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Tilstand er for øyeblikket %s YouUseBestDriver=Du bruker driver %s som er den beste driveren som er tilgjengelig for øyeblikket. YouDoNotUseBestDriver=Du bruker driveren %s. Driver %s anbefales. NbOfObjectIsLowerThanNoPb=Du har bare %s %s i databasen. Dette krever ingen spesiell optimalisering. +ComboListOptim=Combo list loading optimization SearchOptim=Forbedre søket -YouHaveXObjectUseSearchOptim=Du har %s %s i databasen. Du kan legge til konstanten %s til 1 i Hjem-Oppsett-Annet. Begrens søket til begynnelsen av strenger, slik at det blir lettere for databasen å bruke indekser, og du får raskere svar. -YouHaveXObjectAndSearchOptimOn=Du har %s %s i databasen og konstant %s er satt til 1 i Hjem-Oppsett-Annet. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Du bruker nettleseren %s. Denne nettleseren er ok for sikkerhet og ytelse. BrowserIsKO=Du bruker nettleseren %s. Denne nettleseren er kjent for å være et dårlig valg for sikkerhet, ytelse og pålitelighet. Vi anbefaler deg å bruke Firefox, Chrome, Opera eller Safari. PHPModuleLoaded=PHP-komponent %s lastet @@ -1433,6 +1447,7 @@ MemberMainOptions=Hovedinnstillinger AdherentLoginRequired= Opprett innlogging for hvert medlem AdherentMailRequired=E-post kreves for å lage et nytt medlem MemberSendInformationByMailByDefault=Valg for å sende e-postbekreftelse til medlemmer (validering eller nytt abonnement) er krysset av som standard +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Besøkende kan velge blant tilgjengelige betalingsmåter MEMBER_REMINDER_EMAIL=Aktiver automatisk påminnelse via e-post av utløpte abonnementer. Merk: Modul %s må være aktivert og riktig oppsatt for å sende påminnelser. MembersDocModules=Dokumentmaler for dokumenter generert fra medlemsregister @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Hvilken visning vil du åpne som standard når du velger men AGENDA_REMINDER_BROWSER=Aktiver påminnelse om hendelse i brukerens nettleser (Når påminnelsesdato er nådd, vises en popup i nettleseren. Hver bruker kan deaktivere slike varsler i nettleseren). AGENDA_REMINDER_BROWSER_SOUND=Aktiver lydvarsler AGENDA_REMINDER_EMAIL=Aktiver påminnelse om hendelse via epost (påminnelsesalternativ/forsinkelse kan defineres for hver hendelse). -AGENDA_REMINDER_EMAIL_NOTE=Merk: Frekvensen av oppgaven %s må være nok til å være sikker på at påminnelsen sendes i riktig øyeblikk. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Vis koblet objekt i agendavisning ##### Clicktodial ##### ClickToDialSetup='Click To Dial' modul ClickToDialUrlDesc=Url som kalles når man klikker på telefonpiktogrammet. I URL kan du bruke koder
    __ PHONETO __ som blir erstattet med telefonnummeret til personen som skal ringes
    __ PHONEFROM __ som blir erstattet med telefonnummeret til den som ringer(din)
    __ LOGIN __ som vil bli erstattet med clicktodial login (definert på brukerkort)
    __ PASS __ som vil bli erstattet med clicktodial passord (definert på brukerkort). ClickToDialDesc=Denne modulen endrer telefonnumre, når du bruker en datamaskin, til klikkbare lenker. Et klikk vil ringe nummeret. Dette kan brukes til å starte telefonsamtalen når du har en telefon på skrivebordet eller når du for eksempel bruker et CTI-system basert på SIP-protokoll. Merk: Når du bruker en smarttelefon, er telefonnumre alltid klikkbare. ClickToDialUseTelLink=Bruk kun en lenke "tlf:" for telefonnumre -ClickToDialUseTelLinkDesc=Bruk denne metoden hvis brukerne har en softphone eller et programvaregrensesnitt installert på samme datamaskin som nettleseren, og kalles når du klikker på en link i nettleseren din som starter med "tel:". Hvis du trenger en full server-løsning (uten behov for lokal installasjon av programvare), må du sette denne på "Nei" og fylle neste felt. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Utsalgssted CashDeskSetup=Oppsett av modulen Salgssted @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Høyremarg på PDF MAIN_PDF_MARGIN_TOP=Toppmarg på PDF MAIN_PDF_MARGIN_BOTTOM=Bunnmarg på PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Høyde for logo på PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Det er ikke noe spesifikt oppsett som kreves for denne modulen. SetToYesIfGroupIsComputationOfOtherGroups=Sett til ja hvis denne gruppen er en beregning av andre grupper EnterCalculationRuleIfPreviousFieldIsYes=Angi beregningsregelen hvis forrige felt ble satt til Ja.
    For eksempel:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Større enn IfTrackingIDFoundEventWillBeLinked=Merk at hvis en sporings-ID for et objekt blir funnet i epost, eller hvis eposten er et svar på en epostadresse som er samlet og koblet til et objekt, blir den opprettede hendelsen automatisk knyttet til det kjente relaterte objektet. WithGMailYouCanCreateADedicatedPassword=Med en Gmail-konto, hvis du aktiverte 2-trinns validering, anbefales det å opprette et dedikert annet passord for applikasjonen, i stedet for å bruke ditt eget kontopassord fra https://myaccount.google.com/. EmailCollectorTargetDir=Det kan være en ønsket oppførsel å flytte eposten til en annet merke/katalog når den er behandlet. Bare sett navnet på katalogen her for å bruke denne funksjonen (IKKE bruk spesialtegn i navnet). Vær oppmerksom på at du også må bruke en konto med lese-/skrivetillatelse . -EmailCollectorLoadThirdPartyHelp=Du kan bruke denne handlingen til å bruke e-postinnholdet til å finne og laste inn en eksisterende tredjepart i databasen din. Den funnet (eller opprettede) tredjeparten vil bli brukt til å følge handlinger som trenger det. I parameterfeltet kan du bruke for eksempel 'EXTRACT:BODY:Name:\\s([^\\s]*)' hvis du vil trekke ut navnet på tredjeparten fra en streng 'Name: name to find' funnet i teksten. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Sluttpunkt for %s: %s DeleteEmailCollector=Slett e-postsamler ConfirmDeleteEmailCollector=Er du sikker på at du vil slette denne e-postsamleren? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Prosjektetikett PDF_USE_ALSO_LANGUAGE_CODE=Hvis du vil at tekst i PDF-en din skal dupliseres på 2 forskjellige språk i samme genererte PDF, må du angi dette andre språket, slik at generert PDF vil inneholde 2 forskjellige språk på samme side, det som er valgt når du genererer PDF og dette ( bare få PDF-maler støtter dette). Hold tom for ett språk per PDF. FafaIconSocialNetworksDesc=Skriv inn koden til et FontAwesome-ikon. Hvis du ikke vet hva som er FontAwesome, kan du bruke den generelle verdien fa-adresseboken. -FeatureNotAvailableWithReceptionModule=Funksjonen er ikke tilgjengelig når modulen Mottak er aktivert RssNote=Merk: Hver definisjon av RSS-feed gir en widget som du må aktivere for å ha den tilgjengelig i dashbordet JumpToBoxes=Gå til Setup -> Widgets MeasuringUnitTypeDesc=Bruk en verdi som "størrelse", "overflate", "volum", "vekt", "tid" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Kontakt banken din for å få denne ID-en AdvancedModeOnly=Tillatelse bare tilgjengelig i avansert tillatelsesmodus ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Hendelse organisasjon +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=Du bør deaktivere PHP-funksjoner -IfCLINotRequiredYouShouldDisablePHPFunctions=Bortsett fra hvis du trenger å kjøre systemkommandoer (for modulen Planlagt jobb, eller for å kjøre den eksterne kommandolinjen Anti-virus for eksempel), må du deaktivere PHP-funksjoner +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=Ingen skrivbare filer eller kataloger for de vanlige programmene ble funnet i rotkatalogen din (Bra) RecommendedValueIs=Anbefalt: %s +Recommended=Anbefalt +NotRecommended=Not recommended ARestrictedPath=En begrenset sti CheckForModuleUpdate=Se etter oppdateringer for eksterne moduler CheckForModuleUpdateHelp=Denne handlingen kobles til editorer for eksterne moduler for å sjekke om en ny versjon er tilgjengelig. ModuleUpdateAvailable=En oppdatering er tilgjengelig NoExternalModuleWithUpdate=Ingen oppdateringer funnet for eksterne moduler SwaggerDescriptionFile=Swagger API-beskrivelsesfil (for bruk med f.eks redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/nb_NO/agenda.lang b/htdocs/langs/nb_NO/agenda.lang index 6cbce1b00b5..2e14b10d8ae 100644 --- a/htdocs/langs/nb_NO/agenda.lang +++ b/htdocs/langs/nb_NO/agenda.lang @@ -4,7 +4,7 @@ Actions=Handlinger Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendaer -LocalAgenda=Intern kalender +LocalAgenda=Standard kalender ActionsOwnedBy=Hendelse tilhører ActionsOwnedByShort=Eier AffectedTo=Tildelt @@ -20,7 +20,7 @@ MenuToDoActions=Alle åpne handlinger MenuDoneActions=Alle avsluttede handlinger MenuToDoMyActions=Mine åpne handlinger MenuDoneMyActions=Mine avsluttede handlinger -ListOfEvents=Hendelsesliste (intern kalender) +ListOfEvents=Liste over hendelser (standardkalender) ActionsAskedBy=Handlinger registrert av ActionsToDoBy=Handlinger tildelt ActionsDoneBy=Handlinger utført av @@ -38,6 +38,7 @@ ActionsEvents=Handlinger som Dolibarr automatisk registrerer i agendaen EventRemindersByEmailNotEnabled=Hendelsespåminnelser via e-post ble ikke aktivert i %s moduloppsett. ##### Agenda event labels ##### NewCompanyToDolibarr=Tredjepart %s opprettet +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Tredjepart %s slettet ContractValidatedInDolibarr=Kontrakt %s validert CONTRACT_DELETEInDolibarr=Kontrakt %s slettet @@ -87,6 +88,7 @@ OrderDeleted=Ordre slettet InvoiceDeleted=Faktura slettet DraftInvoiceDeleted=Fakturautkast slettet CONTACT_CREATEInDolibarr=Kontakt %s opprettet +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Kontakt %s slettet PRODUCT_CREATEInDolibarr=Vare%s opprettet PRODUCT_MODIFYInDolibarr=Vare %s endret @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO satt til status Utkast MRP_MO_PRODUCEDInDolibarr=MO produsert MRP_MO_DELETEInDolibarr=MO slettet MRP_MO_CANCELInDolibarr=MO kansellert +PAIDInDolibarr=%s betalt ##### End agenda events ##### AgendaModelModule=Dokumentmaler for hendelse DateActionStart=Startdato @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s for å begrense utdata til handlinger som er AgendaUrlOptionsProject=project=__ PROJECT_ID__ for å begrense resultat til handlinger knyttet til prosjektet __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent= notactiontype=systemauto for å ekskludere automatiske hendelser. AgendaUrlOptionsIncludeHolidays=  includeholidays=1 for å inkludere hendelser i ferie. -AgendaShowBirthdayEvents=Vis kontakters fødselsdager +AgendaShowBirthdayEvents=Kontakters fødselsdag AgendaHideBirthdayEvents=Skjul kontakters fødselsdager Busy=Opptatt ExportDataset_event1=Liste over hendelser i agendaen diff --git a/htdocs/langs/nb_NO/banks.lang b/htdocs/langs/nb_NO/banks.lang index 029b2ec2c07..418ae40856b 100644 --- a/htdocs/langs/nb_NO/banks.lang +++ b/htdocs/langs/nb_NO/banks.lang @@ -115,7 +115,7 @@ TransferTo=Til TransferFromToDone=En overføring fra %s til %s%s %s er registrert. CheckTransmitter=Avsender ValidateCheckReceipt=Valider sjekkvittering? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Slett denne sjekkvitteringen? ConfirmDeleteCheckReceipt=Er du sikker på at du vil slette denne sjekkvitteringen? BankChecks=Banksjekker diff --git a/htdocs/langs/nb_NO/bills.lang b/htdocs/langs/nb_NO/bills.lang index 4d412179aa1..96887fb1ac7 100644 --- a/htdocs/langs/nb_NO/bills.lang +++ b/htdocs/langs/nb_NO/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Betaling forfaller DateInvoice=Fakturadato DatePointOfTax=Skattepunkt NoInvoice=Ingen faktura +NoOpenInvoice=No open invoice ClassifyBill=Klassifiser faktura SupplierBillsToPay=Ubetalte leverandørfakturaer CustomerBillsUnpaid=Ubetalte kundefakturaer @@ -589,3 +590,4 @@ FacParentLine=Faktura forelderlinje SituationTotalRayToRest=Rest å betale eks. mva PDFSituationTitle=Delfaktura nr. %d SituationTotalProgress=Total progresjon%d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/nb_NO/boxes.lang b/htdocs/langs/nb_NO/boxes.lang index 603a4696a2a..7e5fcadac57 100644 --- a/htdocs/langs/nb_NO/boxes.lang +++ b/htdocs/langs/nb_NO/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Leverandørordre: siste %s endret BoxTitleLastModifiedCustomerBills=Kundefakturaer: siste %s endret BoxTitleLastModifiedCustomerOrders=Salgsordre: siste %s endret BoxTitleLastModifiedPropals=Siste %s endrede tilbud -BoxTitleLatestModifiedJobPositions=Siste %s endrede jobber -BoxTitleLatestModifiedCandidatures=Siste %s endrede kandidaturer +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Kundefakturaer ForCustomersOrders=Kundeordrer ForProposals=Tilbud diff --git a/htdocs/langs/nb_NO/cashdesk.lang b/htdocs/langs/nb_NO/cashdesk.lang index ec22d834076..1ce59f3e02b 100644 --- a/htdocs/langs/nb_NO/cashdesk.lang +++ b/htdocs/langs/nb_NO/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN}-tag brukes til å legge til terminal TakeposGroupSameProduct=Grupper samme produktlinjer StartAParallelSale=Start et nytt parallellsalg SaleStartedAt=Salget startet %s -ControlCashOpening=Kassekontroll popup når du åpner POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Lukk kassekontroll CashReport=Kontantrapport MainPrinterToUse=Hovedskriver som skal brukes @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Modulen Kvitteringsskriver må ha blitt aktive AllowDelayedPayment=Tillat forsinket betaling PrintPaymentMethodOnReceipts=Skriv ut betalingsmåte på billetter/kvitteringer WeighingScale=Vektskala -ShowPriceHT = Vis prisen uten avgiftskolonne -ShowPriceHTOnReceipt = Vis prisen uten avgiftskolonne på kvittering +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/nb_NO/commercial.lang b/htdocs/langs/nb_NO/commercial.lang index 724731d6cca..9914a8c11a4 100644 --- a/htdocs/langs/nb_NO/commercial.lang +++ b/htdocs/langs/nb_NO/commercial.lang @@ -64,10 +64,11 @@ ActionAC_SHIP=Send levering i posten ActionAC_SUP_ORD=Send bestillingsordre via epost ActionAC_SUP_INV=Send leverandørfaktura via epost ActionAC_OTH=Andre -ActionAC_OTH_AUTO=Automatisk satte hendelser +ActionAC_OTH_AUTO=Annet auto ActionAC_MANUAL=Manuelt satte hendelser ActionAC_AUTO=Automatisk satte hendelser -ActionAC_OTH_AUTOShort=Auto +ActionAC_OTH_AUTOShort=Annet +ActionAC_EVENTORGANIZATION=Arrangementorganisering Stats=Salgsstatistikk StatusProsp=Prospect status DraftPropals=Utkast kommersielle tilbud diff --git a/htdocs/langs/nb_NO/compta.lang b/htdocs/langs/nb_NO/compta.lang index 378bd42cc51..c873f1f4663 100644 --- a/htdocs/langs/nb_NO/compta.lang +++ b/htdocs/langs/nb_NO/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Kjøpsomsetning fakturert ReportPurchaseTurnoverCollected=Kjøpsomsetning mottatt IncludeVarpaysInResults = Inkluder forskjellige betalinger i rapportene IncludeLoansInResults = Inkluder lån i rapporter +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/nb_NO/cron.lang b/htdocs/langs/nb_NO/cron.lang index 74ea3057151..ed4116f8a74 100644 --- a/htdocs/langs/nb_NO/cron.lang +++ b/htdocs/langs/nb_NO/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Sluttdato kan ikke være før startdato StatusAtInstall=Status for modulinstallasjon CronStatusActiveBtn=Tidsplan CronStatusInactiveBtn=Deaktiver -CronTaskInactive=Denne jobben er deaktivert +CronTaskInactive=Denne jobben er deaktivert (ikke planlagt) CronId=ID CronClassFile=Filnavn med klasse CronModuleHelp=Navn på Dolibarr-modulkatalog (også arbeid med ekstern Dolibarr-modul).
    For eksempel å kalle hentmetoden for Dolibarr Produkt objektet /htdocs/product/class/product.class.php, er verdien for modulen
    produkt diff --git a/htdocs/langs/nb_NO/deliveries.lang b/htdocs/langs/nb_NO/deliveries.lang index 97f8ad9cdac..31485f7bafa 100644 --- a/htdocs/langs/nb_NO/deliveries.lang +++ b/htdocs/langs/nb_NO/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Kan ikke sendes ShowShippableStatus=Vis status sendingsklar ShowReceiving=Vis leveringskvittering NonExistentOrder=Ikkeeksisterende ordre +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/nb_NO/donations.lang b/htdocs/langs/nb_NO/donations.lang index fbab0db6074..1e64e285b35 100644 --- a/htdocs/langs/nb_NO/donations.lang +++ b/htdocs/langs/nb_NO/donations.lang @@ -7,7 +7,6 @@ AddDonation=Opprett donasjon NewDonation=Ny donasjon DeleteADonation=Slett en donasjon ConfirmDeleteADonation=Er du sikker på at du vil slette denne donasjonen? -ShowDonation=Vis Donasjon PublicDonation=Offentlig donasjon DonationsArea=Donasjonsområde DonationStatusPromiseNotValidated=Donasjons-kladd @@ -33,3 +32,4 @@ DONATION_ART238=Vis artikkel 238 fra CGI hvis du er bekymret DONATION_ART885=Vis artikkel 885 fra CGI hvis du er bekymret DonationPayment=Donasjonsbetaling DonationValidated=Donasjon %s validert +DonationUseThirdparties=Bruk en eksisterende tredjepart som koordinator for givere diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 5127205840e..be530625c6d 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Feil parameterverdi. Dette skjer vanligvis når ErrorRefAlreadyExists=Referanse %s eksisterer allerede. ErrorLoginAlreadyExists=brukernavnet %s eksisterer allerede. ErrorGroupAlreadyExists=Gruppen %s eksisterer allerede. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Posten ble ikke funnet. ErrorFailToCopyFile=Klarte ikke å kopiere filen '«%s' til '%s'. ErrorFailToCopyDir=Klarte ikke å kopiere katalogen '%s' til '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Kunne ikke lese filen '%s' ErrorCantReadDir=Kunne ikke lese mappen '%s' ErrorBadLoginPassword=Feil verdi for brukernavn eller passord ErrorLoginDisabled=Kontoen din har blitt deaktivert -ErrorFailedToRunExternalCommand=Kunne ikke kjøre ekstern kommando. Sjekk om det er tilgjengelig og kjørbart av din PHP server. Hvis PHP Safe Mode er aktivert, må du kontrollere at kommandoen er inne i en mappe som er definert av parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Kunne ikke endre passord ErrorLoginDoesNotExists=Bruker med loginn %s kunne ikke bli funnet. ErrorLoginHasNoEmail=Denne brukeren har ingen e-postadresse. Prosess avbrutt. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Feil, datoen kan ikke settes frem i tid ErrorAnAmountWithoutTaxIsRequired=Feil, beløp er obligatorisk ErrorAPercentIsRequired=Feil, fyll ut prosentandelen riktig ErrorYouMustFirstSetupYourChartOfAccount=Du må først konfigurere kontoplanen din +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHP-parameteren upload_max_filesize (%s) er høyere enn PHP-parameteren post_max_size (%s). Dette er ikke et konsistent oppsett. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Modul %s er ikke aktivert, så du ka ErrorActionCommPropertyUserowneridNotDefined=Brukerens eier kreves ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Versjonskontroll mislyktes +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/nb_NO/eventorganization.lang b/htdocs/langs/nb_NO/eventorganization.lang index fb6677b6739..477953ad017 100644 --- a/htdocs/langs/nb_NO/eventorganization.lang +++ b/htdocs/langs/nb_NO/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Hendelsestype +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/nb_NO/exports.lang b/htdocs/langs/nb_NO/exports.lang index e4e5740d9ee..666dc723afa 100644 --- a/htdocs/langs/nb_NO/exports.lang +++ b/htdocs/langs/nb_NO/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Linjetype (0=vare, 1=tjeneste) FileWithDataToImport=Fil med data som skal importeres FileToImport=Kildefilen du vil importere FileMustHaveOneOfFollowingFormat=Fil som skal importeres må ha ett av følgende formater -DownloadEmptyExample=Last ned malfil med feltinnholdsinformasjon (* er obligatoriske felt) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Velg filformatet som skal brukes som importfilformat ved å klikke på %s-ikonet for å velge det ... ChooseFileToImport=Last opp fil og klikk deretter på %s ikonet for å velge fil som kilde-importfil ... SourceFileFormat=Kildefil-format diff --git a/htdocs/langs/nb_NO/holiday.lang b/htdocs/langs/nb_NO/holiday.lang index 47fbcaca76e..9f9b022f217 100644 --- a/htdocs/langs/nb_NO/holiday.lang +++ b/htdocs/langs/nb_NO/holiday.lang @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Fritekst på PDF WatermarkOnDraftHolidayCards=Vannmerke på permisjonsutkast  HolidaysToApprove=Ferier til godkjenning NobodyHasPermissionToValidateHolidays=Ingen har tillatelse til å validere ferier +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/nb_NO/hrm.lang b/htdocs/langs/nb_NO/hrm.lang index bc2d3906005..e7f7dad110c 100644 --- a/htdocs/langs/nb_NO/hrm.lang +++ b/htdocs/langs/nb_NO/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Er du sikker på at du vil slette dette etablissement OpenEtablishment=Åpne firma CloseEtablishment=Lukk firma # Dictionary -DictionaryPublicHolidays=HRM - Helligdager +DictionaryPublicHolidays=Permisjon - helligdager DictionaryDepartment=HRM - Departementliste DictionaryFunction=HRM - Jobbstillinger # Module diff --git a/htdocs/langs/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index d47d9658a94..ac378cd1115 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrering av foto-stier for brukere MigrationFieldsSocialNetworks=Migrering av felt med brukeres sosiale nettverk (%s) MigrationReloadModule=Last inn modulen %s på nytt MigrationResetBlockedLog=Tilbakestill modul BlockedLog for v7 algoritme +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Vis utilgjengelige alternativer HideNotAvailableOptions=Skjul utilgjengelige alternativer ErrorFoundDuringMigration=Feil ble rapportert under migreringsprosessen, slik at neste trinn ikke er tilgjengelig. For å ignorere feil kan du klikke her , men programmet eller noen funksjoner fungerer kanskje ikke riktig før feilene er løst. diff --git a/htdocs/langs/nb_NO/interventions.lang b/htdocs/langs/nb_NO/interventions.lang index 58aea37b932..820444dedae 100644 --- a/htdocs/langs/nb_NO/interventions.lang +++ b/htdocs/langs/nb_NO/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Område for intervensjoner DraftFichinter=Intervensjonskladder LastModifiedInterventions=Siste %s endrede intervensjoner FichinterToProcess=Intervensjoner å prosessere -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Ansvarlig for kundeoppfølging -# Modele numérotation PrintProductsOnFichinter=Skriv også ut linjer med type "produkt" (ikke bare tjenester) på intervensjonskort PrintProductsOnFichinterDetails=intervensjoner generert fra ordre UseServicesDurationOnFichinter=Bruk tjenestevarighet for intervensjoner som genereres fra bestillinger @@ -53,7 +51,6 @@ InterventionStatistics=Statistikk over intervensjoner NbOfinterventions=Antall intervensjonskort NumberOfInterventionsByMonth=Antall intervensjonskort etter måned (dato for validering) AmountOfInteventionNotIncludedByDefault=Beløp fra intervensjoner er ikke inkludert som standard i overskudd (i de fleste tilfeller er tidsplaner brukt til å regne tid brukt). Legg til alternativ PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT til 1 i hjem-oppsett-andre for å inkludere dem. -##### Exports ##### InterId=Intervensjons-ID InterRef=Intervensjonsref. InterDateCreation=Dato for opprettelse av intervensjon @@ -65,3 +62,7 @@ InterLineId=Intervensjon Linje-ID InterLineDate=Intervensjonsdato-linje InterLineDuration=Intervensjonsvarighet-linje InterLineDesc=Intervensjonsbeskrivelse-linje +RepeatableIntervention=Intervensjon-mal +ToCreateAPredefinedIntervention=Hvis du vil lage et forhåndsdefinert eller tilbakevendende intervensjon, oppretter du en vanlig intervensjon og konverterer den til intervensjonsmal +ConfirmReopenIntervention=Er du sikker på at du vil gjenåpne intervensjonen %s ? +GenerateInter=Generate intervention diff --git a/htdocs/langs/nb_NO/knowledgemanagement.lang b/htdocs/langs/nb_NO/knowledgemanagement.lang index 5d0f27b32f4..c414df35177 100644 --- a/htdocs/langs/nb_NO/knowledgemanagement.lang +++ b/htdocs/langs/nb_NO/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Kunnskapsstyringssystem # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Administrer en Knowledge Management (KM) eller Help-Desk-base # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Oppsett av Kunnskapsstyringssystem Settings = Innstillinger -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Kunnskapsstyringssystemets oppsettside # # About page # About = Om -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = Om kunnskapsadministrasjon +KnowledgeManagementAboutPage = Om Kunnskapsadministrasjon side -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +KnowledgeManagementArea = Kunnskapsadministrasjon +MenuKnowledgeRecord = Kunnskapsbase +ListKnowledgeRecord = Liste over artikler +NewKnowledgeRecord = Ny artikkel +ValidateReply = Valider løsningen +KnowledgeRecords = Artikler KnowledgeRecord = Artikkel -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Ekstra felt for artikkel +GroupOfTicket=Billettgrupper +YouCanLinkArticleToATicketCategory=Du kan koble en artikkel til en billettgruppe (artikkelen vil bli foreslått under kvalifisering av nye billetter) diff --git a/htdocs/langs/nb_NO/languages.lang b/htdocs/langs/nb_NO/languages.lang index 9abffa71b5b..c1ba57737b8 100644 --- a/htdocs/langs/nb_NO/languages.lang +++ b/htdocs/langs/nb_NO/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Etiopisk Language_ar_AR=Arabisk Language_ar_EG=Arabisk (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabisk +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Aserbajdsjansk Language_bn_BD=Bengalsk Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepalsk Language_nl_BE=Nederlandsk (Belgia) Language_nl_NL=Nederlandsk Language_pl_PL=Polsk +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugisisk (Brasil) Language_pt_PT=Portugisisk +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumensk Language_ru_RU=Russisk Language_ru_UA=Russisk (Ukraina) diff --git a/htdocs/langs/nb_NO/mails.lang b/htdocs/langs/nb_NO/mails.lang index 2b55b8f39ed..523ccd2bbb4 100644 --- a/htdocs/langs/nb_NO/mails.lang +++ b/htdocs/langs/nb_NO/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Slett filter AdvTgtSaveFilter=Lagre filter AdvTgtCreateFilter=Opprett filter AdvTgtOrCreateNewFilter=Navn på nytt filter -NoContactWithCategoryFound=Ingen kontakter/adresser med kategori funnet -NoContactLinkedToThirdpartieWithCategoryFound=Ingen kontakter/adresser med kategori funnet +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Utgående e-post InGoingEmailSetup=Innkommende e-post OutGoingEmailSetupForEmailing=Utgående e-post (for modul %s) diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index 840f8895d37..a567b13cf9f 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Ekstra cents VATRate=MVA-sats +RateOfTaxN=Rate of tax %s VATCode=Avgiftsats-kode VATNPR=Avgiftsats NPR DefaultTaxRate=Standard avgiftssats @@ -729,6 +730,7 @@ MenuMembers=Medlemmer MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Avgifter | Spesielle utgifter ThisLimitIsDefinedInSetup=Dolibarr grense (Menu home-setup-security): %s Kb, PHP grense: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=Ingen dokumenter lastet opp CurrentUserLanguage=Gjeldende språk CurrentTheme=Gjeldende tema @@ -1072,6 +1074,7 @@ ValidFrom=Gyldig fra ValidUntil=Gyldig til NoRecordedUsers=Ingen brukere ToClose=Å lukke +ToRefuse=To refuse ToProcess=Til behandling ToApprove=Å godkjenne GlobalOpenedElemView=Global visning @@ -1126,9 +1129,23 @@ UpdateForAllLines=Oppdatering for alle linjer OnHold=Venter Civility=Tiltale AffectTag=Påvirk merke +CreateExternalUser=Create external user ConfirmAffectTag=Påvirk bulkmerke ConfirmAffectTagQuestion=Er du sikker på at du vil påvirke merker til valgte %s post(er)? CategTypeNotFound=Ingen merketype funnet for denne post-typen CopiedToClipboard=Kopiert til utklippstavlen InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/nb_NO/members.lang b/htdocs/langs/nb_NO/members.lang index d204c4ebd56..87f9ba9090c 100644 --- a/htdocs/langs/nb_NO/members.lang +++ b/htdocs/langs/nb_NO/members.lang @@ -15,7 +15,7 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Et annet medlem (navn: %s, inn ErrorUserPermissionAllowsToLinksToItselfOnly=Av sikkerhetsgrunner må du ha tilgang til å redigere alle brukere for å kunne knytte et medlem til en bruker som ikke er ditt. SetLinkToUser=Lenke til en Dolibarr bruker SetLinkToThirdParty=Lenke til en Dolibarr tredjepart -MembersCards=Business cards for members +MembersCards=Visittkort for medlemmer MembersList=Liste over medlemmer MembersListToValid=Liste over medlems-utkast (må valideres) MembersListValid=Liste over gyldige medlemmer @@ -32,7 +32,7 @@ MembersWithSubscriptionToReceive=Medlemmer som venter på abonnement MembersWithSubscriptionToReceiveShort=Abonnement på å motta DateSubscription=Abonnement dato DateEndSubscription=Abonnement sluttdato -EndSubscription=Subscription Ends +EndSubscription=Abonnementet slutter SubscriptionId=Abonnement-ID WithoutSubscription=Uten abonnement MemberId=Medlems-ID @@ -83,10 +83,10 @@ WelcomeEMail=Velkomst e-post SubscriptionRequired=Abonnement kreves DeleteType=Slett VoteAllowed=Stemming tillatt -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable +Physical=Individuell +Moral=Selskap +MorAndPhy=Selskap og individ +Reenable=Aktiver på nytt ExcludeMember=Ekskluder et medlem ConfirmExcludeMember=Er du sikker på at du vil ekskludere dette medlemmet? ResiliateMember=Terminer et medlem @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=E-postmal til bruk for å sende e- DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=E-postmal til bruk for å sende e-post til et medlem på nytt abonnementsopptak DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=E-postmal som brukes til å sende epostpåminnelse når abonnementet er i ferd med å utløpe DescADHERENT_EMAIL_TEMPLATE_CANCELATION=E-postmal til bruk for å sende e-post til et medlem ved kansellering av medlemskap -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=E-postmal som skal brukes til å sende e-post om ekskludering av medlemmer DescADHERENT_MAIL_FROM=Avsenderadresse for automatisk e-post DescADHERENT_ETIQUETTE_TYPE=Side for etikettformat DescADHERENT_ETIQUETTE_TEXT=Tekst trykt på medlemsadresse ark @@ -170,31 +170,31 @@ DocForLabels=Generer adresseark SubscriptionPayment=Abonnementsbetaling LastSubscriptionDate=Dato for siste abonnementsbetaling LastSubscriptionAmount=Beløp på siste abonnement -LastMemberType=Last Member type +LastMemberType=Siste medlemstype MembersStatisticsByCountries=Medlemsstatistikk etter land MembersStatisticsByState=Medlemsstatistikk etter delstat/provins MembersStatisticsByTown=Medlemsstatistikk etter by MembersStatisticsByRegion=Medlem statistikk etter region -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Totalt antall medlemmer +NbOfActiveMembers=Totalt antall nåværende aktive medlemmer NoValidatedMemberYet=Ingen validerte medlemmer funnet -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=Dette skjermbildet viser statistikk over medlemmer etter land. Grafer og diagrammer avhenger av tilgjengeligheten til Googles online graftjeneste, samt av en fungerende internettforbindelse. +MembersByStateDesc=Dette skjermbildet viser deg statistikk over medlemmer etter stat/provinser/kantoner. +MembersByTownDesc=Dette skjermbildet viser statistikk over medlemmer etter by. +MembersByNature=Dette skjermbildet viser statistikk over medlemmene etter natur. +MembersByRegion=Dette skjermbildet viser deg statistikk over medlemmer etter region. MembersStatisticsDesc=Velg statistikk du ønsker å lese ... MenuMembersStats=Statistikk -LastMemberDate=Latest membership date +LastMemberDate=Siste medlemskapsdato LatestSubscriptionDate=Siste abonnementsdato -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=Medlemmets art +MembersNature=Medlemmenes art +Public=Informasjonen er offentlig NewMemberbyWeb=Nytt medlem lagt til. Venter på godkjenning NewMemberForm=Skjema for nytt medlem -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Abonnementsstatistikk NbOfSubscriptions=Antall abonnement -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Beløpet tjent fra abonnementene TurnoverOrBudget=Omsetning (for et selskap) eller Budsjett (for en organisasjon) DefaultAmount=Standardbeløp for abonnement CanEditAmount=Besøkende kan velge/endre beløpet på abonnementet sitt @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send påminnelse via e-post til medlemmer nå MembershipPaid=Medlemskap betalt for gjeldende periode (til %s) YouMayFindYourInvoiceInThisEmail=Du kan finne fakturaen din vedlagt denne e-posten XMembersClosed=%s medlem(mer) lukket +XExternalUserCreated=%s ekstern(e) bruker(e) opprettet +ForceMemberNature=Tving medlemmets natur (enkeltperson eller selskap) diff --git a/htdocs/langs/nb_NO/modulebuilder.lang b/htdocs/langs/nb_NO/modulebuilder.lang index cdad609a939..4e9e7e6ad9e 100644 --- a/htdocs/langs/nb_NO/modulebuilder.lang +++ b/htdocs/langs/nb_NO/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii til HTML konverter AsciiToPdfConverter=Ascii til PDF konverter TableNotEmptyDropCanceled=Tabellen er ikke tom. Drop har blitt kansellert. ModuleBuilderNotAllowed=Modulbyggeren er tilgjengelig, men ikke tillatt for brukeren din. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/nb_NO/mrp.lang b/htdocs/langs/nb_NO/mrp.lang index befe91b18d4..706e5882cb0 100644 --- a/htdocs/langs/nb_NO/mrp.lang +++ b/htdocs/langs/nb_NO/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Materialkostnader LatestBOMModified=Siste %s endrede materialkostnader LatestMOModified=Siste %s endrede produksjonsordre Bom=Materialkostnader (BOM) -BillOfMaterials=Materialkostnader +BillOfMaterials=Materialkostnader (BOM) BOMsSetup=Oppsett av BOM-modulen  ListOfBOMs=Liste over Materialkostnader - BOM ListOfManufacturingOrders=Liste over produksjonsordre -NewBOM=Ny materialkostnad -ProductBOMHelp=Produkt som lages med denne BOM.
    Merk: Varer med egenskapen 'Varens art' = 'Råstoff' er ikke synlige i denne listen. +NewBOM=Ny BOM +ProductBOMHelp=Vare å produsere (eller demontere) med denne stykklisten.
    Merk: Produkter med egenskapen 'Varensart' = 'Råvarer' er ikke synlige i denne listen. BOMsNumberingModules=BOM nummereringsmaler BOMsModelModule=BOM-dokumentmaler MOsNumberingModules=MO-nummereringsmaler @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Fritekst på BOM-dokumentet WatermarkOnDraftBOMs=Vannmerke på BOM-utkast  FreeLegalTextOnMOs=Fritekst på dokumentet til MO WatermarkOnDraftMOs=Vannmerke på utkast til MO -ConfirmCloneBillOfMaterials=Er du sikker på at du vil klone BOM %s? +ConfirmCloneBillOfMaterials=Er du sikker på at du vil klone BOM%s? ConfirmCloneMo=Er du sikker på at du vil klone produksjonsordren %s? ManufacturingEfficiency=Produksjonseffektivitet ConsumptionEfficiency=Forbrukseffektivitet @@ -30,8 +30,8 @@ ValueOfMeansLoss=Verdien på 0,95 betyr et gjennomsnitt på 5%% tap under produk ValueOfMeansLossForProductProduced=Verdi på 0,95 betyr et gjennomsnitt på 5%% tap av produsert produkt DeleteBillOfMaterials=Slett BOM DeleteMo=Slett produksjonsordre -ConfirmDeleteBillOfMaterials=Er du sikker på at du vil slette denne BOM? -ConfirmDeleteMo=Er du sikker på at du vil slette denne BOM? +ConfirmDeleteBillOfMaterials=Er du sikker på at du vil slette BOM? +ConfirmDeleteMo=Er du sikker på at du vil slette BOM? MenuMRP=Produksjonsordrer NewMO=Ny produksjonsordre QtyToProduce=Antall å produsere @@ -39,7 +39,7 @@ DateStartPlannedMo=Planlagt startdato DateEndPlannedMo=Planlagt sluttdato KeepEmptyForAsap=Tom betyr "Så snart som mulig" EstimatedDuration=Antatt varighet -EstimatedDurationDesc=Estimert varighet for å produsere denne varen ved bruk av denne BOM +EstimatedDurationDesc=Anslått varighet for å produsere (eller demontere) dette produktet ved hjelp av denne stykklisten ConfirmValidateBom=Er du sikker på at du vil validere BOM med referansen %s (du vil kunne bruke den til å lage nye produksjonsordre) ConfirmCloseBom=Er du sikker på at du vil kansellere denne BOM-en (du vil ikke kunne bruke den til å bygge nye produksjonsordrer lenger)? ConfirmReopenBom=Er du sikker på at du vil åpne denne BOM-en på nytt (du vil kunne bruke den til å lage nye produksjonsordrer) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Forbruk og produser alt Manufactured=Produsert TheProductXIsAlreadyTheProductToProduce=Varen du vil legge til er allerede varen du vil produsere. ForAQuantityOf=For en produksjonsmengde på %s +ForAQuantityToConsumeOf=For en mengde å demontere av %s ConfirmValidateMo=Er du sikker på at du vil validere denne produksjonsordren? ConfirmProductionDesc=Ved å klikke på '%s', vil du validere forbruket og/eller produksjonen for angitte mengder. Dette vil også oppdatere lagermengde og registrere lagerebevegelser. ProductionForRef=Produksjon av %s AutoCloseMO=Lukk produksjonsordren automatisk hvis mengder som skal konsumeres og produseres oppnås NoStockChangeOnServices=Ingen lagerendring på tjenester ProductQtyToConsumeByMO=Produktmengde som fremdeles skal forbrukes av åpen MO -ProductQtyToProduceByMO=Produktmengde som fremdeles skal produseres for åpen MO +ProductQtyToProduceByMO=Varemengde som fremdeles skal produseres av åpen MO AddNewConsumeLines=Legg til en ny linje for konsum ProductsToConsume=Vare å konsumere ProductsToProduce=Varer å produsere @@ -83,8 +84,6 @@ Workstations=Arbeidsstasjoner WorkstationsDescription=Håndtering av arbeidsstasjoner WorkstationSetup = Oppsett av arbeidsstasjoner WorkstationSetupPage = Oppsettside for arbeidsstasjoner -WorkstationAbout = Om arbeidsstasjon -WorkstationAboutPage = Side om arbeidsstasjoner WorkstationList=Arbeidsstasjonsliste WorkstationCreate=Legg til ny arbeidsstasjon ConfirmEnableWorkstation=Er du sikker på at du vil aktivere arbeidsstasjonen %s ? diff --git a/htdocs/langs/nb_NO/orders.lang b/htdocs/langs/nb_NO/orders.lang index 0731675c368..bd7d4a3dd9b 100644 --- a/htdocs/langs/nb_NO/orders.lang +++ b/htdocs/langs/nb_NO/orders.lang @@ -11,13 +11,14 @@ OrderDate=Ordredato OrderDateShort=Ordredato OrderToProcess=Ordre til behandling NewOrder=Ny ordre +NewSupplierOrderShort=Ny ordre NewOrderSupplier=Ny innkjøpsordre ToOrder=Lag ordre MakeOrder=Opprett ordre SupplierOrder=Innkjøpsordre SuppliersOrders=Innkjøpsordre -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Salgsordrelinjer +PurchaseOrderLines=Innkjøpsordrelinjer SuppliersOrdersRunning=Nåværende innkjøpsordre CustomerOrder=Salgsordre CustomersOrders=Salgsordre @@ -73,6 +74,7 @@ DeleteOrder=Slett ordre CancelOrder=Avbryt ordre OrderReopened= Ordre%s gjenåpnet AddOrder=Opprett ordre +AddSupplierOrderShort=Opprett ordre AddPurchaseOrder=Opprett innkjøpsordre AddToDraftOrders=Legg til ordreutkast ShowOrder=Vis ordre diff --git a/htdocs/langs/nb_NO/other.lang b/htdocs/langs/nb_NO/other.lang index b18c25e644b..4c107f51a02 100644 --- a/htdocs/langs/nb_NO/other.lang +++ b/htdocs/langs/nb_NO/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Bruker-login som lukket FileWasRemoved=Filen ble slettet DirWasRemoved=Mappen ble slettet FeatureNotYetAvailable=Funksjonen er ikke tilgjengelig i gjeldende versjon +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Støttede funksjoner Width=Bredde Height=Høyde @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontakt/adresse opprettet av e-post samler fra e- ProjectCreatedByEmailCollector=Prosjekt opprettet av e-post samler fra e-post MSGID %s TicketCreatedByEmailCollector=Supportseddel opprettet av e-post samler fra e-post MSGID %s OpeningHoursFormatDesc=Bruk en bindestrek for å skille åpning og stengetid.
    Bruk et mellomrom for å angi forskjellige områder.
    Eksempel: 8-12 14-18 -PrefixSession=Prefiks for økt-ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Eksportområde @@ -290,3 +291,7 @@ PopuCom=Varer/tjenester etter popularitet i ordre ProductStatistics=Varer/Tjenestestatistikk NbOfQtyInOrders=Antall i ordre SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Lukk diff --git a/htdocs/langs/nb_NO/partnership.lang b/htdocs/langs/nb_NO/partnership.lang index 06ee242e61a..096ebff4984 100644 --- a/htdocs/langs/nb_NO/partnership.lang +++ b/htdocs/langs/nb_NO/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Håndtering av partnerskap +PartnershipDescription=Modul for Partnerskapshåndtering +PartnershipDescriptionLong= Modul for Partnerskapshåndtering + +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Nytt partnerskap +ListOfPartnerships=Liste over partnerskap # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Oppsett av partnerskap +PartnershipAbout=Om partnerskap +PartnershipAboutPage=Om Partnerskap-side +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnerskap administrert for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks å sjekke +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Slett et partnerskap +PartnershipDedicatedToThisThirdParty=Partnerskap dedikert til denne tredjeparten +PartnershipDedicatedToThisMember=Partnerskap dedikert til dette medlemmet DatePartnershipStart=Startdato DatePartnershipEnd=Sluttdato +ReasonDecline=Årsak til avslag +ReasonDeclineOrCancel=Avvis grunn +PartnershipAlreadyExist=Partnerskap eksisterer allerede +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink ble ikke funnet på partnerens nettsted +ConfirmClosePartnershipAsk=Er du sikker på at du vil avbryte dette partnerskapet? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerskap vil snart bli kansellert +SendingEmailOnPartnershipRefused=Partnerskap nektet +SendingEmailOnPartnershipAccepted=Partnerskap akseptert +SendingEmailOnPartnershipCanceled=Partnerskapet kansellert +YourPartnershipWillSoonBeCanceledTopic=Partnerskap vil snart bli kansellert +YourPartnershipRefusedTopic=Partnerskap nektet +YourPartnershipAcceptedTopic=Partnerskap akseptert +YourPartnershipCanceledTopic=Partnerskapet kansellert + +YourPartnershipWillSoonBeCanceledContent=Vi informerer deg om at partnerskapet ditt snart vil bli kansellert (tilbakekobling ikke funnet) +YourPartnershipRefusedContent=Vi informerer deg om at partnerskapsforespørselen din har blitt avslått. +YourPartnershipAcceptedContent=Vi informerer deg om at din forespørsel om partnerskap er godtatt. +YourPartnershipCanceledContent=Vi informerer deg om at partnerskapet ditt er kansellert. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Avvis grunn # # Status # -PartnershipDraft = Kladd -PartnershipAccepted = Akseptert -PartnershipRefused = Avvist -PartnershipCanceled = Kansellert - -PartnershipManagedFor=Partners are +PartnershipDraft=Kladd +PartnershipAccepted=Akseptert +PartnershipRefused=Avvist +PartnershipCanceled=Kansellert +PartnershipManagedFor=Partnere er diff --git a/htdocs/langs/nb_NO/productbatch.lang b/htdocs/langs/nb_NO/productbatch.lang index a2741e7f58e..df65b288a00 100644 --- a/htdocs/langs/nb_NO/productbatch.lang +++ b/htdocs/langs/nb_NO/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Bruk lot/serienummer ProductStatusOnBatch=Ja (LOT påkrevd) ProductStatusOnSerial=Ja (unikt serienummer kreves) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Vis logg over bevegelser for vare/lot StockDetailPerBatch=Varedetaljer pr. lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index ffcd988e7ce..b29143489c1 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Ulike priser for hver kunde PriceCatalogue=En enkelt salgspris for hver vare/tjeneste PricingRule=Regler for utsalgspriser AddCustomerPrice=Legg til pris for kunde -ForceUpdateChildPriceSoc=Sett samme pris for kundens datterselskaper +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Logg over tidligere kundepriser MinimumPriceLimit=Minstepris kan ikke være lavere enn %s MinimumRecommendedPrice=Minimum anbefalt pris er: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Øk/minsk beholdning ved overordnet endring ComposedProduct=Sub-varer MinSupplierPrice=Laveste innkjøpspris MinCustomerPrice=Minste salgspris +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamisk pris-konfigurering DynamicPriceDesc=Du kan definere matematiske formler for å beregne kunde- eller leverandørpriser. Slike formler kan bruke alle matematiske operatører, noen konstanter og variabler. Du kan definere variablene du vil bruke. Hvis variabelen trenger en automatisk oppdatering, kan du definere den eksterne nettadressen for å tillate Dolibarr å oppdatere verdien automatisk. AddVariable=Legg til variabel @@ -340,7 +341,7 @@ ProductSheet=Produktark ServiceSheet=Serviceark PossibleValues=Mulige verdier GoOnMenuToCreateVairants=Gå tilmenyen %s - %s for å forberede attributtvarianter (som farger, størrelse, ...) -UseProductFournDesc=Legg til en funksjon for å definere beskrivelser av varer som er definert av leverandørene, i tillegg til beskrivelser for kunder +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Leverandørs beskrivelse av produktet UseProductSupplierPackaging=Bruk emballasje på leverandørpriser (beregne mengder på nytt i henhold til emballasje som er angitt på leverandørpris når du legger til/oppdaterer linje i leverandørdokumenter) PackagingForThisProduct=Emballasje @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Handling kun tilgjengelig på varianter av v ProductsPricePerCustomer=Varepriser per kunde ProductSupplierExtraFields=Ekstra attributter (leverandørpriser) DeleteLinkedProduct=Slett sub-produktet som er knyttet til kombinasjonen +PMPValue=Vektet gjennomsnittspris +PMPValueShort=WAP diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 206488d41bc..d8a6260a69d 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -140,6 +140,7 @@ NoTasks=Ingen oppgaver for dette prosjektet LinkedToAnotherCompany=Knyttet opp til annen tredjepart TaskIsNotAssignedToUser=Oppgave ikke tildelt bruker. Bruk knappen ' %s' for å tilordne oppgaven nå. ErrorTimeSpentIsEmpty=Tidsbruk er tom +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Denne handlingen vil også slette alle oppgaver i prosjektet (%s oppgaver for øyeblikket), og all tidsregistrering slettes IfNeedToUseOtherObjectKeepEmpty=Dersom noen objekter (faktura, ordre, ...), tilhørende en annen tredjepart, må tilknyttes prosjektet, behold denne tom. Prosjektet kan da knyttes til flere tredjeparter. CloneTasks=Klon oppgaver @@ -241,6 +242,7 @@ LatestModifiedProjects=Siste %s endrede prosjekter OtherFilteredTasks=Andre filtrerte oppgaver NoAssignedTasks=Ingen tildelte oppgaver funnet (tilordne prosjekt/oppgaver til den nåværende brukeren fra den øverste valgboksen for å legge inn tid på den) ThirdPartyRequiredToGenerateInvoice=En tredjepart må defineres på prosjektet for å kunne fakturere det. +ThirdPartyRequiredToGenerateInvoice=En tredjepart må defineres på prosjektet for å kunne fakturere det. ChooseANotYetAssignedTask=Velg en oppgave som du ennå ikke er tildelt # Comments trans AllowCommentOnTask=Tillat brukerkommentarer på oppgaver @@ -252,10 +254,12 @@ SendProjectRef=Informasjon prosjekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modul 'Lønn' må være aktivert for å definere ansattes timepris for å få tidsbruk verdsatt NewTaskRefSuggested=Oppgavereferanse allerede brukt, en ny oppgavereferanse er nødvendig TimeSpentInvoiced=Tidsbruk fakturert +TimeSpentForIntervention=Tid brukt TimeSpentForInvoice=Tid brukt OneLinePerUser=Én linje per bruker ServiceToUseOnLines=Tjeneste for bruk på linjer InvoiceGeneratedFromTimeSpent=Faktura %s er generert fra tid brukt på prosjekt +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Sjekk om du legger inn timeliste på prosjektoppgaver, OG planlegger å generere faktura (er) fra timelisten for å fakturere kunden til prosjektet (ikke kryss av om du planlegger å opprette faktura som ikke er basert på innlagte timelister). Merk: For å generere faktura, gå til fanen 'Tidsbruk' av prosjektet og velg linjer du vil inkludere. ProjectFollowOpportunity=Følg mulighet ProjectFollowTasks=Følg oppgaver eller tidsbruk @@ -264,12 +268,16 @@ UsageOpportunity=Bruk: Mulighet UsageTasks=Bruk: Oppgaver UsageBillTimeShort=Bruk: Fakturer tid InvoiceToUse=Fakturamal som skal brukes +InterToUse=Draft intervention to use NewInvoice=Ny faktura +NewInter=Ny intervensjon OneLinePerTask=Én linje per oppgave OneLinePerPeriod=Én linje per periode +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. forelderoppgave ProfitIsCalculatedWith=Fortjenesten beregnes ved å bruke AddPersonToTask=Legg også til i oppgaver UsageOrganizeEvent=Bruk: Hendelse Organisasjon PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Klassifiser prosjektet som lukket når alle oppgavene er fullført (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Merk: eksisterende prosjekter med alle oppgaver på 100%%-fremdrift blir ikke berørt: du må lukke dem manuelt. Dette alternativet påvirker bare åpne prosjekter. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/nb_NO/receptions.lang b/htdocs/langs/nb_NO/receptions.lang index 12d5426888f..a567f132824 100644 --- a/htdocs/langs/nb_NO/receptions.lang +++ b/htdocs/langs/nb_NO/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Du må først validere ordren før du kan gjø ReceptionsNumberingModules=Nummereringsmodul for mottak ReceptionsReceiptModel=Dokumentmaler for mottak NoMorePredefinedProductToDispatch=Ingen flere forhåndsdefinerte varer som skal sendes - +ReceptionExist=Et mottak finnes diff --git a/htdocs/langs/nb_NO/salaries.lang b/htdocs/langs/nb_NO/salaries.lang index 3a41649eaa7..aac94b25cf6 100644 --- a/htdocs/langs/nb_NO/salaries.lang +++ b/htdocs/langs/nb_NO/salaries.lang @@ -2,7 +2,7 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Regnskapskonto brukt til tredjepartsbrukere SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Regnskapskontoen som er definert på brukerkort, vil kun bli brukt til bruk av Subledger regnskap. Denne vil bli brukt til hovedboken og som standardverdi for Subledger-regnskap hvis dedikert bruker-regnskapskonto ikke er definert. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Regnskapskonto som standard for lønnsutbetalinger -CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=La som standard alternativet "Opprett automatisk en total betaling" være tomt når du oppretter lønn Salary=Lønn Salaries=Lønn NewSalary=Ny lønn @@ -17,8 +17,8 @@ TJM=Gjennomsnittlig dagspris CurrentSalary=Nåværende lønn THMDescription=Denne verdien kan brukes til å kalkulere tidsforbruket på et prosjekt hvis prosjekt-modulen er i bruk TJMDescription=Dene verdien er foreløpig brukt til informasjon, og er ikke brukt i noen kalkulasjoner -LastSalaries=Siste %s lønnsutbetalinger -AllSalaries=Alle lønnsutbetalinger +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Lønnsstatistikk -# Export SalariesAndPayments=Lønn og utbetalinger +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/nb_NO/sendings.lang b/htdocs/langs/nb_NO/sendings.lang index 50bc021e293..aaaec3f2732 100644 --- a/htdocs/langs/nb_NO/sendings.lang +++ b/htdocs/langs/nb_NO/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Er du sikker på at du vil validere denne forsendelsen me ConfirmCancelSending=Er du sikker på at du vil kansellere denne forsendelsen? DocumentModelMerou=Merou A5 modell WarningNoQtyLeftToSend=Advarsel, ingen varer venter på å sendes. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Statistikk er bare for validerte forsendelser. Datoen som brukes er datoen for validering av forsendelsen (planlagt leveringsdato er ikke alltid kjent) DateDeliveryPlanned=Planlagt leveringsdato RefDeliveryReceipt=Ref. leveringskvittering StatusReceipt=Status leveringskvittering diff --git a/htdocs/langs/nb_NO/stocks.lang b/htdocs/langs/nb_NO/stocks.lang index e9398f1528d..d77e7c44f74 100644 --- a/htdocs/langs/nb_NO/stocks.lang +++ b/htdocs/langs/nb_NO/stocks.lang @@ -37,7 +37,7 @@ AllWarehouses=Alle lager IncludeEmptyDesiredStock=Inkluder også negativ beholdning med udefinert ønsket beholdning IncludeAlsoDraftOrders=Inkluder også ordrekladd Location=Lokasjon -LocationSummary=Short name of location +LocationSummary=Kort navn på lokasjonen NumberOfDifferentProducts=Antall unike produkter NumberOfProducts=Totalt antall varer LastMovement=Siste bevegelse @@ -56,13 +56,11 @@ UnitPurchaseValue=Enhets innkjøpspris StockTooLow=For lav beholdning StockLowerThanLimit=Lager lavere enn varslingsgrense (%s) EnhancedValue=Verdi -PMPValue=Vektet gjennomsnittspris -PMPValueShort=WAP EnhancedValueOfWarehouses=Lagerverdi UserWarehouseAutoCreate=Opprett et brukerlager automatisk når du oppretter en bruker AllowAddLimitStockByWarehouse=Administrer verdi for minimum og ønsket lager per sammenkobling (varelager) i tillegg til verdien for minimum og ønsket lager pr. vare RuleForWarehouse=Regel for lagre -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Sett varehus på tilbud WarehouseAskWarehouseDuringOrder=Sett et lager på salgsordrer UserDefaultWarehouse=Sett et lager på brukere @@ -169,8 +167,8 @@ MovementTransferStock=Lageroverførsel av vare %s til annet lager InventoryCodeShort=Lag./bev.-kode NoPendingReceptionOnSupplierOrder=Ingen ventende mottak på grunn av åpen innkjøpsordre ThisSerialAlreadyExistWithDifferentDate=Dette lot/serienummeret (%s) finnes allerede, men med ulik "best før" og "siste forbruksdag" (funnet %s , men tastet inn %s). -OpenAll=Åpen for alle handlinger -OpenInternal=Kun åpen for interne hendelser +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Bruk en utsendelses-status (godkjenn/avslå) for varelinjer på innkjøpsordre ved varemottak OptionMULTIPRICESIsOn=Opsjonen "Flere priser pr. segment" er slått på. Det betyr at en vare har flere utsalgspriser og salgsverdi ikke kan kalkuleres ProductStockWarehouseCreated=Varsel for nedre og ønsket varebeholdning opprettet @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Gjenåpne -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/nb_NO/ticket.lang b/htdocs/langs/nb_NO/ticket.lang index 5a72cb11605..7c5faa89644 100644 --- a/htdocs/langs/nb_NO/ticket.lang +++ b/htdocs/langs/nb_NO/ticket.lang @@ -35,6 +35,7 @@ TicketDictResolution=Billett - Løsning TicketTypeShortCOM=Prisforespørsel TicketTypeShortHELP=Be om funksjonell hjelp TicketTypeShortISSUE=Problem eller feil +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Endring- eller forbedringsforespørsel TicketTypeShortPROJET=Prosjekt TicketTypeShortOTHER=Annet @@ -54,24 +55,25 @@ TypeContact_ticket_internal_SUPPORTTEC=Tilordnet bruker TypeContact_ticket_external_SUPPORTCLI=Kundekontakt / hendelsessporing TypeContact_ticket_external_CONTRIBUTOR=Ekstern bidragsyter -OriginEmail=Epostkilde +OriginEmail=Rapport-epost Notify_TICKET_SENTBYMAIL=Send billettmelding via e-post # Status Read=Les Assigned=Tildelt InProgress=Pågår -NeedMoreInformation=Venter på informasjon +NeedMoreInformation=Venter på tilbakemelding på rapporten +NeedMoreInformationShort=Venter på tilbakemelding Answered=Besvarte Waiting=Venter -Closed=Lukket +SolvedClosed=Solved Deleted=Slettede # Dict Type=Type Severity=Alvorlighetsgrad TicketGroupIsPublic=Gruppen er offentlig -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublicDesc=Hvis en billettgruppe er offentlig, vil den være synlig i skjemaet når du oppretter en billett fra det offentlige grensesnittet # Email templates MailToSendTicketMessage=Å sende epost fra supportseddel-melding @@ -116,8 +118,8 @@ TicketsShowModuleLogo=Vis modulens logo i det offentlige grensesnittet TicketsShowModuleLogoHelp=Aktiver dette alternativet for å skjule modullogoen på sidene i det offentlige grensesnittet TicketsShowCompanyLogo=Vis logoen til firmaet i det offentlige grensesnittet TicketsShowCompanyLogoHelp=Aktiver dette alternativet for å skjule logoen til hovedselskapet på sidene i det offentlige grensesnittet -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddress=Send også et varsel til hoved-epostadressen +TicketsEmailAlsoSendToMainAddressHelp=Aktiver dette alternativet for også å sende en epost til adressen som er definert i oppsettet "%s" (se fanen "%s") TicketsLimitViewAssignedOnly=Begrens visningen til supportsedler tildelt den nåværende brukeren (ikke effektiv for eksterne brukere, alltid begrenset til den tredjepart de er avhengige av) TicketsLimitViewAssignedOnlyHelp=Bare supportsedler som er tildelt den nåværende brukeren, vil være synlige. Gjelder ikke for en bruker med administrasjonsrettigheter. TicketsActivatePublicInterface=Aktiver det offentlige grensesnittet @@ -128,10 +130,10 @@ TicketNumberingModules=Supportseddel nummereringsmodul TicketsModelModule=Dokumentmaler for billetter TicketNotifyTiersAtCreation=Varsle tredjepart ved opprettelse TicketsDisableCustomerEmail=Slå alltid av e-post når en billett er opprettet fra det offentlige grensesnittet -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessage=Send e-post (e) når en ny melding/kommentar legges til en billett TicketsPublicNotificationNewMessageHelp=Send epost(er) når en ny melding legges til fra det offentlige grensesnittet (til tildelt bruker eller varslings-eposten til (oppdatering) og/eller varslings-eposten til) TicketPublicNotificationNewMessageDefaultEmail=E-postvarsler til (oppdatere) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=Send en e-post til denne adressen for hver nye meldingsvarsling hvis billetten ikke har en bruker tildelt den, eller hvis brukeren ikke har noen kjent e-post. # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=Laget av NewTicket=Ny supportseddel SubjectAnswerToTicket=Supportseddel-svar TicketTypeRequest=Forespørselstype -TicketCategory=Gruppe +TicketCategory=Billettkategorisering SeeTicket=Se supportseddel TicketMarkedAsRead=Supportseddel merket som lest TicketReadOn=Les videre @@ -184,9 +186,11 @@ TicketSeverity=Alvorlighetsgrad ShowTicket=Se supportseddel RelatedTickets=Relaterte supportsedler TicketAddIntervention=Opprett intervensjon -CloseTicket=Lukk supportseddel -CloseATicket=Lukk en supportseddel +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Bekreft lukking av supportseddel +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Vennligst bekreft fjerning av supportseddel TicketDeletedSuccess=Supportseddel slettet TicketMarkedAsClosed=Supportseddel merket som lukket @@ -211,6 +215,7 @@ TicketMessageHelp=Kun denne teksten blir lagret i meldingslisten på supportsedd TicketMessageSubstitutionReplacedByGenericValues=Substitusjonsvariabler erstattes av generiske verdier. TimeElapsedSince=Tid forløpt siden TicketTimeToRead=Tid forløpt før lesing +TicketTimeElapsedBeforeSince=Tid som har gått før/siden TicketContacts=Kontakter supportseddel TicketDocumentsLinked=Dokumenter knyttet til supportseddel ConfirmReOpenTicket=Bekreft gjenåpning av denne supportseddelen? @@ -304,13 +309,13 @@ BoxLastModifiedTicket=Siste endrede supportsedler BoxLastModifiedTicketDescription=Siste %s endrede supportsedler BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Ingen nylig endrede supportsedler -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets +BoxTicketType=Fordeling av åpne billetter etter type +BoxTicketSeverity=Antall åpne billetter etter alvorlighetsgrad +BoxNoTicketSeverity=Ingen billetter åpnet +BoxTicketLastXDays=Antall nye billetter etter dager de siste %s dagene +BoxTicketLastXDayswidget = Antall nye billetter etter dager de siste X dagene +BoxNoTicketLastXDays=Ingen nye billetter de siste %s dagene +BoxNumberOfTicketByDay=Antall nye billetter etter dag +BoxNewTicketVSClose=Antall dagens nye billetter kontra dagens lukkede billetter TicketCreatedToday=Billett opprettet i dag -TicketClosedToday=Ticket closed today +TicketClosedToday=Billetter lukket i dag diff --git a/htdocs/langs/nb_NO/trips.lang b/htdocs/langs/nb_NO/trips.lang index aa790649667..66afc693039 100644 --- a/htdocs/langs/nb_NO/trips.lang +++ b/htdocs/langs/nb_NO/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Utgiftsrapporten %s ble kansellert.
    - Bruker: ExpenseReportPaid=En utgiftsrapport ble betalt ExpenseReportPaidMessage=Utgiftsrapporten %s er betalt.
    - Bruker: %s
    - Betalt av: %s
    Klikk her for å vise utgiftsrapporten: %s TripId=Reiseregnings - ID -AnyOtherInThisListCanValidate=Person som skal informeres for godkjenning +AnyOtherInThisListCanValidate=Person som skal informeres for validering av forespørselen. TripSociete=Firmainformasjon TripNDF=Informasjon om reiseregning PDFStandardExpenseReports=Standardmal for å generere PDF av reiseregning @@ -90,7 +90,6 @@ DATE_REFUS=Avvist dato DATE_SAVE=Godkjennelsesdato DATE_CANCEL=Kansellert dato DATE_PAIEMENT=Betalt dato -BROUILLONNER=Gjenåpne ExpenseReportRef=Ref. utgiftsrapport ValidateAndSubmit=Valider og send til godkjenning ValidatedWaitingApproval=Validert (venter på godkjenning) @@ -110,7 +109,7 @@ ExpenseReportPayment=Betaling av utgiftsrapport ExpenseReportsToApprove=Utgiftsrapporter for godkjenning ExpenseReportsToPay=Utgiftsrapport å betale ConfirmCloneExpenseReport=Er du sikker på at du vil klone denne utgiftsrapporten? -ExpenseReportsIk=Utgiftsrapport kilometerindeks +ExpenseReportsIk=Konfigurasjon av kjøregodtgjørelser ExpenseReportsRules=Utgifts-rapportregler ExpenseReportIkDesc=Du kan endre beregningen av kilometerkostnad etter kategori og rekkevidde etter slik de tidligere er definert. d er avstanden i kilometer ExpenseReportRulesDesc=Du kan opprette eller oppdatere regler for beregning. Denne delen vil bli brukt når brukeren skal opprette en ny kostnadsrapport @@ -145,7 +144,7 @@ nolimitbyEX_DAY=etter dag (ingen begrensning) nolimitbyEX_MON=etter måned (ingen begrensning) nolimitbyEX_YEA=etter år (ingen begrensning) nolimitbyEX_EXP=etter linje (ingen begrensning) -CarCategory=Bilkategori +CarCategory=Kjøretøyskategori ExpenseRangeOffset=Offset-beløp: %s RangeIk=Kilometerstand AttachTheNewLineToTheDocument=Fest linjen til et opplastet dokument diff --git a/htdocs/langs/nb_NO/users.lang b/htdocs/langs/nb_NO/users.lang index 8ecf4d171cc..228e1b15c28 100644 --- a/htdocs/langs/nb_NO/users.lang +++ b/htdocs/langs/nb_NO/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Brukernavn å opprette NameToCreate=Navn på tredjepart til å lage YourRole=Dine roller YourQuotaOfUsersIsReached=Din kvote på aktive brukere er nådd! -NbOfUsers=Antall brukere -NbOfPermissions=Antall tillatelser +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Bare en superadmin kan nedgradere en superadmin HierarchicalResponsible=Veileder HierarchicView=Hierarkisk visning diff --git a/htdocs/langs/nb_NO/website.lang b/htdocs/langs/nb_NO/website.lang index ab69847b14d..4003a18b648 100644 --- a/htdocs/langs/nb_NO/website.lang +++ b/htdocs/langs/nb_NO/website.lang @@ -31,7 +31,7 @@ AddWebsite=Legg til nettside Webpage=Nettsted/container AddPage=Legg til side/container PageContainer=Side -PreviewOfSiteNotYetAvailable=Forhåndsvisning av nettstedet ditt %s ennå ikke tilgjengelig. Du må først ' Importer en full nettsidemal ' eller bare ' Legg til en side/container '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Forespurt side med id %s har ikke noe innhold enda, eller cachefilen .tpl.php ble fjernet. Rediger innhold på siden for å løse dette. SiteDeleted=Nettstedet '%s' slettet PageContent=Side/Container diff --git a/htdocs/langs/nb_NO/withdrawals.lang b/htdocs/langs/nb_NO/withdrawals.lang index a0e78bf86e7..43b071728d1 100644 --- a/htdocs/langs/nb_NO/withdrawals.lang +++ b/htdocs/langs/nb_NO/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direktedebet-betalingforespørsler registrert BankTransferRequestsDone=%s forespørsler om kreditoverføring registrert ThirdPartyBankCode=Tredjeparts bankkode NoInvoiceCouldBeWithdrawed=Ingen faktura debitert. Kontroller at fakturaer mot selskaper med gyldig standard BAN, og at BAN har en RUM-modus %s . +WithdrawalCantBeCreditedTwice=Denne uttakskvitteringen er allerede merket som kreditert; dette kan ikke gjøres to ganger, da dette potensielt kan skape dupliserte betalinger og bankoppføringer. ClassCredited=Klassifiser som kreditert ClassCreditedConfirm=Er du sikker på at du vil klassifisere tilbakekallingen som kreditert din bankkonto? TransData=Dato for overføring @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Utførelsesdato CreateForSepa=Lag direkte debitfil -ICS=Kreditoridentifikator CI for direkte belastning -ICSTransfer=Kreditoridentifikator CI for bankoverføring +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML-tag - Unik ID tildelt per transaksjon USTRD="Ustrukturert" SEPA XML-tag ADDDAYS=Legg til dager til utførelsesdato diff --git a/htdocs/langs/nb_NO/workflow.lang b/htdocs/langs/nb_NO/workflow.lang index 92fa39bdda2..b26bf9bcfc7 100644 --- a/htdocs/langs/nb_NO/workflow.lang +++ b/htdocs/langs/nb_NO/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Klassifiser koblede kilde-tilbud som descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klassifiser koblede kilde-kundeordre som fakturert(t) når faktura er validert (og hvis fakturabeløpet er det samme som totalbeløpet av koblede ordrer) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klassifiser koblede kilde-kundeordre som fakturert(t) når faktura er satt til betalt (og hvis fakturabeløpet er det samme som totalbeløpet av koblede ordrer) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Klassifiser koblet kilde-kundeordre til sendt når en forsendelse er validert (og hvis kvantitet som sendes av alle forsendelser, er det samme som i bestillingen som skal oppdateres) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Klassifiser tilsluttede kildeleverandørtilbud som fakturert når leverandørfaktura er validert (og hvis fakturabeløp er det samme som totalbeløp på koblede tilbud) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Klassifiser kildekjøpsordre (kjøpsordre) som fakturert når leverandørfakturaen er validert (og hvis fakturabeløp er det samme som totalbeløp på koblede ordre) diff --git a/htdocs/langs/ne_NP/accountancy.lang b/htdocs/langs/ne_NP/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/ne_NP/accountancy.lang +++ b/htdocs/langs/ne_NP/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/ne_NP/admin.lang b/htdocs/langs/ne_NP/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/ne_NP/admin.lang +++ b/htdocs/langs/ne_NP/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ne_NP/agenda.lang b/htdocs/langs/ne_NP/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/ne_NP/agenda.lang +++ b/htdocs/langs/ne_NP/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/ne_NP/banks.lang b/htdocs/langs/ne_NP/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/ne_NP/banks.lang +++ b/htdocs/langs/ne_NP/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ne_NP/bills.lang b/htdocs/langs/ne_NP/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/ne_NP/bills.lang +++ b/htdocs/langs/ne_NP/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/ne_NP/boxes.lang b/htdocs/langs/ne_NP/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/ne_NP/boxes.lang +++ b/htdocs/langs/ne_NP/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/ne_NP/cashdesk.lang b/htdocs/langs/ne_NP/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/ne_NP/cashdesk.lang +++ b/htdocs/langs/ne_NP/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ne_NP/compta.lang b/htdocs/langs/ne_NP/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/ne_NP/compta.lang +++ b/htdocs/langs/ne_NP/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/ne_NP/cron.lang b/htdocs/langs/ne_NP/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/ne_NP/cron.lang +++ b/htdocs/langs/ne_NP/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/ne_NP/deliveries.lang b/htdocs/langs/ne_NP/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/ne_NP/deliveries.lang +++ b/htdocs/langs/ne_NP/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ne_NP/errors.lang b/htdocs/langs/ne_NP/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/ne_NP/errors.lang +++ b/htdocs/langs/ne_NP/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ne_NP/eventorganization.lang b/htdocs/langs/ne_NP/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/ne_NP/eventorganization.lang +++ b/htdocs/langs/ne_NP/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/ne_NP/exports.lang b/htdocs/langs/ne_NP/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/ne_NP/exports.lang +++ b/htdocs/langs/ne_NP/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ne_NP/holiday.lang b/htdocs/langs/ne_NP/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/ne_NP/holiday.lang +++ b/htdocs/langs/ne_NP/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ne_NP/hrm.lang b/htdocs/langs/ne_NP/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/ne_NP/hrm.lang +++ b/htdocs/langs/ne_NP/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/ne_NP/install.lang b/htdocs/langs/ne_NP/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/ne_NP/install.lang +++ b/htdocs/langs/ne_NP/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ne_NP/interventions.lang b/htdocs/langs/ne_NP/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/ne_NP/interventions.lang +++ b/htdocs/langs/ne_NP/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/ne_NP/knowledgemanagement.lang b/htdocs/langs/ne_NP/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/ne_NP/knowledgemanagement.lang +++ b/htdocs/langs/ne_NP/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/ne_NP/languages.lang b/htdocs/langs/ne_NP/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/ne_NP/languages.lang +++ b/htdocs/langs/ne_NP/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/ne_NP/mails.lang b/htdocs/langs/ne_NP/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/ne_NP/mails.lang +++ b/htdocs/langs/ne_NP/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/ne_NP/main.lang b/htdocs/langs/ne_NP/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/ne_NP/main.lang +++ b/htdocs/langs/ne_NP/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/ne_NP/members.lang b/htdocs/langs/ne_NP/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/ne_NP/members.lang +++ b/htdocs/langs/ne_NP/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/ne_NP/modulebuilder.lang b/htdocs/langs/ne_NP/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/ne_NP/modulebuilder.lang +++ b/htdocs/langs/ne_NP/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/ne_NP/mrp.lang b/htdocs/langs/ne_NP/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/ne_NP/mrp.lang +++ b/htdocs/langs/ne_NP/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/ne_NP/orders.lang b/htdocs/langs/ne_NP/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/ne_NP/orders.lang +++ b/htdocs/langs/ne_NP/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/ne_NP/other.lang b/htdocs/langs/ne_NP/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/ne_NP/other.lang +++ b/htdocs/langs/ne_NP/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/ne_NP/partnership.lang b/htdocs/langs/ne_NP/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/ne_NP/partnership.lang +++ b/htdocs/langs/ne_NP/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/ne_NP/productbatch.lang b/htdocs/langs/ne_NP/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/ne_NP/productbatch.lang +++ b/htdocs/langs/ne_NP/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/ne_NP/products.lang b/htdocs/langs/ne_NP/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/ne_NP/products.lang +++ b/htdocs/langs/ne_NP/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/ne_NP/projects.lang b/htdocs/langs/ne_NP/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/ne_NP/projects.lang +++ b/htdocs/langs/ne_NP/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/ne_NP/receptions.lang b/htdocs/langs/ne_NP/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/ne_NP/receptions.lang +++ b/htdocs/langs/ne_NP/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/ne_NP/salaries.lang b/htdocs/langs/ne_NP/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/ne_NP/salaries.lang +++ b/htdocs/langs/ne_NP/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ne_NP/stocks.lang b/htdocs/langs/ne_NP/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/ne_NP/stocks.lang +++ b/htdocs/langs/ne_NP/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ne_NP/ticket.lang b/htdocs/langs/ne_NP/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/ne_NP/ticket.lang +++ b/htdocs/langs/ne_NP/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/ne_NP/trips.lang b/htdocs/langs/ne_NP/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/ne_NP/trips.lang +++ b/htdocs/langs/ne_NP/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/ne_NP/users.lang b/htdocs/langs/ne_NP/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/ne_NP/users.lang +++ b/htdocs/langs/ne_NP/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ne_NP/website.lang b/htdocs/langs/ne_NP/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/ne_NP/website.lang +++ b/htdocs/langs/ne_NP/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ne_NP/withdrawals.lang b/htdocs/langs/ne_NP/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/ne_NP/withdrawals.lang +++ b/htdocs/langs/ne_NP/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/ne_NP/workflow.lang b/htdocs/langs/ne_NP/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/ne_NP/workflow.lang +++ b/htdocs/langs/ne_NP/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/nl_BE/accountancy.lang b/htdocs/langs/nl_BE/accountancy.lang index f3c0725063f..080da3b8334 100644 --- a/htdocs/langs/nl_BE/accountancy.lang +++ b/htdocs/langs/nl_BE/accountancy.lang @@ -20,7 +20,6 @@ UpdateMvts=Wijzigen van een transactie Processing=Verwerken EndProcessing=Verwerking beëindigd Lineofinvoice=Factuur lijn -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) Docdate=Datum Docref=Artikelcode TotalVente=Totaal omzet voor belastingen diff --git a/htdocs/langs/nl_BE/admin.lang b/htdocs/langs/nl_BE/admin.lang index d13852849fd..8484cbcff71 100644 --- a/htdocs/langs/nl_BE/admin.lang +++ b/htdocs/langs/nl_BE/admin.lang @@ -48,7 +48,6 @@ NotConfigured=Module/Applicatie is niet geconfigureerd OtherSetup=Overige instellingen CurrentValueSeparatorThousand=Duizend scheidingsteken LocalisationDolibarrParameters=Lokalisatieparameters -ClientTZ=Tijdzone van de klant (gebruiker) ClientHour=Tijd bij de klant (gebruiker) PHPTZ=Tijdzone binnen de PHP server DaylingSavingTime=Zomertijd (gebruiker) @@ -231,6 +230,7 @@ AccountantFileNumber=Code voor boekhouder AvailableModules=Beschikbare app / modules ParameterActiveForNextInputOnly=De instelling word pas actief voor de volgende invoer YouMustEnableOneModule=Je moet minstens 1 module aktiveren +NotificationsDescGlobal=* or by setting global email addresses in this setup page. BillsPDFModules=Factuur documentsjablonen LDAPGlobalParameters=Globale instellingen LDAPPassword=Beheerderswachtwoord @@ -243,4 +243,4 @@ AddBoxes=Widgets toevoegen OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. GeneralOptions=Algemene opties ExportSetup=Installatie van module Exporteren -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/nl_BE/agenda.lang b/htdocs/langs/nl_BE/agenda.lang index 264f28e932a..9dba2d1d3f8 100644 --- a/htdocs/langs/nl_BE/agenda.lang +++ b/htdocs/langs/nl_BE/agenda.lang @@ -38,6 +38,5 @@ AgendaUrlOptionsNotAdmin=logina=!%s om de uitvoer van acties te beperken AgendaUrlOptions4=logint=%s om de uitvoer van acties te beperken die aan de gebruiker %s is toegewezen. (eigenaar en anderen). AgendaUrlOptionsProject=project=__PROJECT_ID__ om de uitvoer te beperken tot acties die zijn gekoppeld aan project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto om automatische gebeurtenis uit te sluiten. -AgendaShowBirthdayEvents=Toon verjaardagen van contacten AgendaHideBirthdayEvents=Verberg verjaardagen van contacten ConfirmCloneEvent=Weet u zeker als u event %s wilt klonen? diff --git a/htdocs/langs/nl_BE/cashdesk.lang b/htdocs/langs/nl_BE/cashdesk.lang index 9019947e4b7..5f86d4d3762 100644 --- a/htdocs/langs/nl_BE/cashdesk.lang +++ b/htdocs/langs/nl_BE/cashdesk.lang @@ -1,4 +1,5 @@ # Dolibarr language file - Source file is en_US - cashdesk +CashDeskBankCash=Bankrekening (cash) CashDeskBankCheque=Bankrekening (cheque) CashdeskShowServices=Verkoop van diensten SellFinished=Verkoop afgerond @@ -7,4 +8,5 @@ BankToPay=Betalingsaccount ShowCompany=Toon bedrijf ShowStock=Toon magazijn DolibarrReceiptPrinter=Dolibarr Ontvangsten Printer +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: Receipt=Ontvangst diff --git a/htdocs/langs/nl_BE/eventorganization.lang b/htdocs/langs/nl_BE/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/nl_BE/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/nl_BE/help.lang b/htdocs/langs/nl_BE/help.lang new file mode 100644 index 00000000000..6388b30f4d9 --- /dev/null +++ b/htdocs/langs/nl_BE/help.lang @@ -0,0 +1,10 @@ +# Dolibarr language file - Source file is en_US - help +CommunitySupport=Forum en Wiki ondersteuning +EMailSupport=E-mailondersteuning +ToSeeListOfAvailableRessources=Om contact op te nemen zie de beschikbare bronnen: +TypeSupportCommercial=Commercieel (betaald) +TypeOfHelp=Soort +Efficiency=Efficiëntie +TypeHelpOnly=Alleen Hulp +TypeHelpDev=Hulp & Ontwikkeling +SeeOfficalSupport=Voor officiële Dolibarr ondersteuning in uw taal:
    %s diff --git a/htdocs/langs/nl_BE/interventions.lang b/htdocs/langs/nl_BE/interventions.lang index e1ec9e29b85..5a614f96b76 100644 --- a/htdocs/langs/nl_BE/interventions.lang +++ b/htdocs/langs/nl_BE/interventions.lang @@ -1,8 +1,16 @@ # Dolibarr language file - Source file is en_US - interventions +InterventionCard=Interventiedetails +AddIntervention=Nieuwe interventie +InterventionContact=Interventiecontactpersoon +ValidateIntervention=Inteverntie valideren +DocumentModelStandard=Standaard modeldocument voor interventies +InterventionCardsAndInterventionLines=Inteventiebladen en -regels +SendInterventionRef=Indiening van de interventie %s InterventionSentByEMail=Interventie %s per e-mail verzonden InterventionsArea=Interventieruimte DraftFichinter=Concept interventie LastModifiedInterventions=Laatste %s gemodificeerde interventies +TypeContact_fichinter_external_CUSTOMER=Nabehandeling afnemerscontact InterventionStatistics=Statistieken van de interventies InterId=Interventie id InterDateCreation=Datum aanmaak interventie diff --git a/htdocs/langs/nl_BE/mrp.lang b/htdocs/langs/nl_BE/mrp.lang deleted file mode 100644 index a8ff138755b..00000000000 --- a/htdocs/langs/nl_BE/mrp.lang +++ /dev/null @@ -1,6 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/nl_BE/orders.lang b/htdocs/langs/nl_BE/orders.lang index 29099451dfa..044a058f178 100644 --- a/htdocs/langs/nl_BE/orders.lang +++ b/htdocs/langs/nl_BE/orders.lang @@ -1,6 +1,7 @@ # Dolibarr language file - Source file is en_US - orders OrderToProcess=Te verwerken bestelling NewOrder=Nieuwe bestelling +NewSupplierOrderShort=Nieuwe bestelling MakeOrder=Bestelling ingeven StatusOrderDraftShort=Ontwerp bestelling StatusOrderSentShort=In uitvoering diff --git a/htdocs/langs/nl_BE/other.lang b/htdocs/langs/nl_BE/other.lang index 1ffbb0bb385..6c09e24041b 100644 --- a/htdocs/langs/nl_BE/other.lang +++ b/htdocs/langs/nl_BE/other.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - other +Tools=Gereedschap +TMenuTools=Gereedschap Notify_COMPANY_CREATE=Third party aangemaakt FileIsTooBig=Bestanden zijn te groot WebsiteSetup=Setup van de module website diff --git a/htdocs/langs/nl_BE/paybox.lang b/htdocs/langs/nl_BE/paybox.lang new file mode 100644 index 00000000000..01c383c1c23 --- /dev/null +++ b/htdocs/langs/nl_BE/paybox.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - paybox +YouWillBeRedirectedOnPayBox=U wordt doorverwezen naar een beveiligde Paybox pagina om uw credit card informatie in te voeren diff --git a/htdocs/langs/nl_BE/products.lang b/htdocs/langs/nl_BE/products.lang index 5448b609364..5a8ab4c5bbe 100644 --- a/htdocs/langs/nl_BE/products.lang +++ b/htdocs/langs/nl_BE/products.lang @@ -1,10 +1,16 @@ # Dolibarr language file - Source file is en_US - products Reference=Artikelcode +ProductVatMassChange=Algemene BTW update +ProductVatMassChangeDesc=Deze tool update de BTW-tarieven op ALLE producten en diensten! +ProductAccountancyBuyExportCode=Boekhoudcode (inkoop importeren) +ServicesOnSale=Diensten voor verkoop +ServicesOnPurchase=Diensten voor inkoop OnSell=Te koop OnBuy=Te koop NotOnSell=Niet meer beschikbaar ProductStatusNotOnSell=Niet meer verkrijgbaar ProductStatusOnSellShort=Te koop +SupplierRef=Leverancier ref ListOfStockMovements=Voorradenlijst ProductSellByQuarterHT=Bruto omzetcijfer per trimester ServiceSellByQuarterHT=Bruto omzetcijfer per trimester diff --git a/htdocs/langs/nl_BE/salaries.lang b/htdocs/langs/nl_BE/salaries.lang index 722cad7b40d..ed5f4c7cb01 100644 --- a/htdocs/langs/nl_BE/salaries.lang +++ b/htdocs/langs/nl_BE/salaries.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - salaries +SalariesPayments=Salarissen betalingen THM=Gemiddelde uurprijs TJM=Gemiddelde dagprijs diff --git a/htdocs/langs/nl_BE/ticket.lang b/htdocs/langs/nl_BE/ticket.lang index f1e3f473db3..e5b9bc2a353 100644 --- a/htdocs/langs/nl_BE/ticket.lang +++ b/htdocs/langs/nl_BE/ticket.lang @@ -5,7 +5,6 @@ Permission56003=Tickets verwijderen Permission56005=Bekijk tickets van alle externe partijen (niet effectief voor externe gebruikers, altijd beperkt tot de derde partij waarvan ze afhankelijk zijn) TicketDictCategory=Ticket - Groepen TicketDictSeverity=Ticket - Gradaties -TicketTypeShortISSUE=Probleem, bug of probleem TicketTypeShortREQUEST=Verander- of verbeteringsverzoek TicketTypeShortOTHER=Ander ErrorBadEmailAddress=Veld '%s' onjuist @@ -15,7 +14,6 @@ TypeContact_ticket_external_CONTRIBUTOR=Externe bijdrager Read=Lezen Assigned=Toegewezen InProgress=Bezig -Closed=Afgesloten Severity=Strengheid TicketSetup=Installatie van ticketmodule TicketPublicAccess=Een openbare interface die geen identificatie vereist, is beschikbaar op de volgende URL diff --git a/htdocs/langs/nl_BE/users.lang b/htdocs/langs/nl_BE/users.lang index 161657b3cc9..cee6a39dbbc 100644 --- a/htdocs/langs/nl_BE/users.lang +++ b/htdocs/langs/nl_BE/users.lang @@ -14,7 +14,6 @@ CreateDolibarrThirdParty=Maak Derden CreateInternalUserDesc=Met dit formulier kunt u een interne gebruiker in uw bedrijf / organisatie maken. Om een externe gebruiker (klant, leverancier enz.) Aan te maken, gebruikt u de knop 'Maak Dolibarr Gebruiker aan' van de contactkaart van die partij. ConfirmCreateContact=Weet u zeker dat u een Dolibarr account wilt maken voor deze contactpersoon? ConfirmCreateThirdParty=Weet u zeker dat u een 'derde' wilt maken voor dit lid? -NbOfPermissions=Aantal toestemmingen UserAccountancyCode=Gebruikers boekhoudingscode UserLogoff=Gebruiker logout DateEmploymentEnd=Einddatum tewerkstelling diff --git a/htdocs/langs/nl_BE/workflow.lang b/htdocs/langs/nl_BE/workflow.lang index c8f4db30713..bca19a325e4 100644 --- a/htdocs/langs/nl_BE/workflow.lang +++ b/htdocs/langs/nl_BE/workflow.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - workflow +WorkflowDesc=Deze module bevat enkele automatische acties. Standaard, de workflow is vrij (u kan dingen doen in de volgorde die u wenst) maar hier kan u enkele automatische acties activeren +ThereIsNoWorkflowToModify=Er is geen workflow wijziging beschikbaar met de geactiveerde modules. descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Maak automatisch een klantenfactuur na validatie van een contract AutomaticCreation=Automatische aanmaak AutomaticClassification=Automatische classificatie diff --git a/htdocs/langs/nl_NL/accountancy.lang b/htdocs/langs/nl_NL/accountancy.lang index ca264b10109..d6540d17650 100644 --- a/htdocs/langs/nl_NL/accountancy.lang +++ b/htdocs/langs/nl_NL/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Landen buiten de EU CountriesInEECExceptMe=EU landen behalve %s CountriesExceptMe=Alle landen behalve %s AccountantFiles=Bron-documenten exporteren -ExportAccountingSourceDocHelp=Met deze tool kunt u de lijsten en pdf bestanden exporteren die werden gebruikt om uw boekhouding te genereren. Gebruik het menu-item %s - %s om uw dagboeken te exporteren. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=Overzicht per grootboekrekening VueBySubAccountAccounting=Overzicht op volgorde subrekening @@ -131,7 +132,7 @@ InvoiceLinesDone=Gekoppelde factuurregels ExpenseReportLines=Te koppelen kostenboekingen ExpenseReportLinesDone=Gekoppelde kostenboekingen IntoAccount=Koppel regel aan grootboekrekening -TotalForAccount=Total accounting account +TotalForAccount=Totaal grootboekrekening Ventilate=Koppelen @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Lengte van de grootboekrekeningen van derden (als u h ACCOUNTING_MANAGE_ZERO=Sta toe om een verschillend aantal nullen aan het einde van een account te beheren. Nodig door sommige landen (zoals Zwitserland). Indien uitgeschakeld (standaard), kunt u de volgende twee parameters instellen om de toepassing te vragen virtuele nullen toe te voegen. BANK_DISABLE_DIRECT_INPUT=Rechtstreeks boeken van transactie in bankboek uitzetten ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Schakel concept export van het journaal in -ACCOUNTANCY_COMBO_FOR_AUX=Combo-lijst inschakelen voor dochteronderneming-account (kan traag zijn als u veel externe partijen hebt) +ACCOUNTANCY_COMBO_FOR_AUX=Schakel combolijst in voor dochteronderneming-account (kan traag zijn als je veel derden hebt, verbreek de mogelijkheid om op een deel van de waarde te zoeken) ACCOUNTING_DATE_START_BINDING=Definieer een startdatum voor het koppelen en doorboeken naar de boekhouding. Transacties voor deze datum worden niet doorgeboekt naar de boekhouding. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Selecteer bij boekhoudkundige overdracht standaard periodeweergave @@ -202,14 +203,14 @@ Docref=Reference LabelAccount=Label account LabelOperation=Werking label Sens=Richting -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=Voor een boekhoudkundige rekening van een klant gebruikt u Credit om een betaling te registreren die u hebt ontvangen
    Gebruik voor een boekhoudkundige rekening van een leverancier Debet om een door u gedane betaling te registreren LetteringCode=Aflettercode Lettering=Afletteren Codejournal=Journaal JournalLabel=Journaal label NumPiece=Boekingstuk TransactionNumShort=Transactienummer -AccountingCategory=Custom group +AccountingCategory=Aangepaste groep GroupByAccountAccounting=Groeperen op grootboekrekening GroupBySubAccountAccounting=Groepeer op subgrootboekrekening AccountingAccountGroupsDesc=Hier kunt u enkele grootboekrekening-groepen definiëren. Deze worden gebruikt voor gepersonaliseerde boekhoudrapporten. @@ -245,9 +246,9 @@ DescThirdPartyReport=Raadpleeg hier de lijst met externe klanten en leveranciers ListAccounts=Grootboekrekeningen UnknownAccountForThirdparty=Onbekende relatie-rekening. Gebruikt wordt 1%s UnknownAccountForThirdpartyBlocking=Blokkeringsfout. Onbekende relatierekening. -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Derdenaccount niet gedefinieerd of derde partij onbekend. We zullen %s gebruiken +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Onbekende relatie en sub-administrator niet gedefinieerd op de betaling. Er zal geen waarde worden weggeschreven in de sub-administratierekening. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Tegenrekening relatie niet gedefinieerd of relatie onbekend. Blokkeringsfout. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Onbekend account van derden en wachtaccount niet gedefinieerd. Blokkeerfout PaymentsNotLinkedToProduct=Betaling niet gekoppeld aan een product / dienst OpeningBalance=Beginbalans @@ -297,7 +298,7 @@ NoNewRecordSaved=Geen posten door te boeken ListOfProductsWithoutAccountingAccount=Overzicht van producten welke nog niet zijn gekoppeld aan een grootboekrekening ChangeBinding=Wijzig koppeling Accounted=Geboekt in grootboek -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Nog niet doorgeboekt in het grootboek ShowTutorial=Handleiding weergeven NotReconciled=Niet afgestemd WarningRecordWithoutSubledgerAreExcluded=Pas op, alle bewerkingen zonder gedefinieerde subgrootboekrekening worden gefilterd en uitgesloten van deze weergave @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Schakel het koppelen en doorboeken naar ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Schakel het koppelen en doorboeken naar de boekhouding van onkostendeclaraties uit (met onkostendeclaraties wordt geen rekening gehouden in de boekhouding) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Journaal exporteren Modelcsv=Export model Selectmodelcsv=Selecteer een export model @@ -335,7 +339,7 @@ Modelcsv_normal=Klassieke export Modelcsv_CEGID=Exporteren naar CEGID Expert Comptabilité Modelcsv_COALA=Exporteren naar Sage Coala Modelcsv_bob50=Exporteren naar Sage BOB 50 -Modelcsv_ciel=Exporteren naar Sage Ciel Compta of Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Exporteren naar Quadratus QuadraCompta Modelcsv_ebp=Exporteren naar EBP Modelcsv_cogilog=Exporteren naar Cogilog @@ -402,25 +406,25 @@ UseMenuToSetBindindManualy=Regels die nog niet zijn gebonden, gebruik het menu < ## Import ImportAccountingEntries=Boekingen -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) -FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) +ImportAccountingEntriesFECFormat=Boekhoudkundige gegevens - FEC-formaat +FECFormatJournalCode=Journaalcode (JournalCode) +FECFormatJournalLabel=Journaal naam (JournalLib) +FECFormatEntryNum=Stuknummer (EcritureNum) +FECFormatEntryDate=Stukdatum (EcritureDate) +FECFormatGeneralAccountNumber=Algemeen rekeningnummer (CompteNum) +FECFormatGeneralAccountLabel=Algemeen accountlabel (CompteLib) +FECFormatSubledgerAccountNumber=Subgrootboek-rekeningnummer (CompAuxNum) +FECFormatSubledgerAccountLabel=Subgrootboek-rekeningnummer (CompAuxLib) +FECFormatPieceRef=Stukreferentie (PieceRef) +FECFormatPieceDate=Aanmaak van stukdatum (PieceDate) +FECFormatLabelOperation=Labelbewerking (EcritureLib) +FECFormatDebit=Debet (Debet) +FECFormatCredit=Krediet (Krediet) +FECFormatReconcilableCode=Aflettercode (EcritureLet) +FECFormatReconcilableDate=Afletterdatum (DateLet) +FECFormatValidateDate=Stukdatum gevalideerd (ValidDate) +FECFormatMulticurrencyAmount=Bedrag in meerdere valuta (Montantdevise) +FECFormatMulticurrencyCode=Multivalutacode (Idevise) DateExport=Exportdatum WarningReportNotReliable=Waarschuwing, dit rapport is niet gebaseerd op het grootboek, dus bevat het niet de transactie die handmatig in het grootboek is gewijzigd. Als uw journalisatie up-to-date is, is de weergave van de boekhouding nauwkeuriger. diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index bce871a5a72..aa33d9302ca 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -12,7 +12,7 @@ VersionRecommanded=Aanbevolen FileCheck=Bestandsintegriteit controles FileCheckDesc=Met deze tool kunt u de integriteit van bestanden en de installatie van uw applicatie controleren door elk bestand met het officiële bestand te vergelijken. De waarde van sommige set-up constanten kan ook worden gecontroleerd. U kunt deze tool gebruiken om te bepalen of bestanden zijn gewijzigd (bijvoorbeeld door een hacker). FileIntegrityIsStrictlyConformedWithReference=De integriteit van bestanden is strikt in overeenstemming met de referentie. -FileIntegrityIsOkButFilesWereAdded=Integriteitscontrole is geslaagd, er zijn echter nieuwe bestanden toegevoegd. +FileIntegrityIsOkButFilesWereAdded=Integriteitscontrole van bestanden is geslaagd, er zijn echter nieuwe bestanden toegevoegd. FileIntegritySomeFilesWereRemovedOrModified=Controle op integriteit van de bestanden is mislukt. Sommige bestanden zijn gewijzigd, verwijderd of toegevoegd. GlobalChecksum=Globaal controlegetal MakeIntegrityAnalysisFrom=Maak integriteitsanalyse van toepassingsbestanden van @@ -37,7 +37,7 @@ UnlockNewSessions=Verwijder sessieblokkering YourSession=Uw sessie Sessions=Gebruikerssessies WebUserGroup=Webserver gebruiker / groep -PermissionsOnFiles=Permissions on files +PermissionsOnFiles=Machtigingen voor bestanden PermissionsOnFilesInWebRoot=Machtigingen voor bestanden in de hoofdmap van het web PermissionsOnFile=Rechten op bestand %s NoSessionFound=Uw PHP-configuratie lijkt geen lijst van actieve sessies toe te staan. De map die wordt gebruikt om sessies op te slaan ( %s ) kan worden beschermd (bijvoorbeeld door OS machtigingen of door PHP richtlijn open_basedir). @@ -53,6 +53,7 @@ InternalUser=Interne gebruiker ExternalUser=Externe gebruiker InternalUsers=Interne gebruikers ExternalUsers=Externe gebruikers +UserInterface=Gebruikersomgeving GUISetup=Weergave SetupArea=Instellingen UploadNewTemplate=Nieuwe template(s) uploaden @@ -63,8 +64,8 @@ IfModuleEnabled=Opmerking: Ja, is alleen effectief als module %s is geact RemoveLock=Verwijder / hernoem het bestand %s als het bestaat, om het gebruik van de update / installatie-tool toe te staan. RestoreLock=Herstel het bestand %s , met alleen leesrechten, om verder gebruik van de update / installatie-tool uit te schakelen. SecuritySetup=Beveiligingsinstellingen -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=PHP-configuratie +OSSetup=OS instellen SecurityFilesDesc=Definieer hier de opties met betrekking tot beveiliging bij het uploaden van bestanden. ErrorModuleRequirePHPVersion=Fout, deze module vereist PHP versie %s of hoger. ErrorModuleRequireDolibarrVersion=Fout, deze module vereist Dolibarr versie %s of hoger. @@ -84,6 +85,7 @@ NumberOfBytes=Aantal bytes SearchString=Zoekreeks NotAvailableWhenAjaxDisabled=Niet beschikbaar wanneer AJAX functionaliteit is uitgeschakeld AllowToSelectProjectFromOtherCompany=Bij een document van een relatie, kan een project worden gekozen dat gekoppeld is aan een andere relatie +TimesheetPreventAfterFollowingMonths=Voorkom opnameduur na het volgende aantal maanden JavascriptDisabled=JavaScript uitgeschakeld UsePreviewTabs=Gebruik voorbeeldtabbladen ShowPreview=Toon voorbeeldweergave @@ -116,6 +118,7 @@ MultiCurrencySetup=Set-up meerdere valuta's MenuLimits=Limieten en nauwkeurigheid MenuIdParent=ID van het bovenliggende menu DetailMenuIdParent=ID van het bovenliggend menu (0 voor een hoogste menu) +ParentID=Ouder ID DetailPosition=Sorteer nummer dat de volgorde van menupositie bepaalt AllMenus=Alles NotConfigured=Module/applicatie niet geconfigureerd @@ -157,7 +160,7 @@ SystemToolsAreaDesc=Dit gebied biedt beheerfuncties. Gebruik het menu om de gewe Purge=Leegmaken PurgeAreaDesc=Op deze pagina kunt u alle bestanden verwijderen die zijn gegenereerd of opgeslagen door Dolibarr (tijdelijke bestanden of alle bestanden in de map %s ). Het gebruik van deze functie is normaal gesproken niet nodig. Het wordt aangeboden als een oplossing voor gebruikers van wie Dolibarr wordt gehost door een provider die geen machtigingen biedt voor het verwijderen van bestanden die zijn gegenereerd door de webserver. PurgeDeleteLogFile=Verwijder logbestanden %s aangemaakt door de Syslog module (Geen risico op verlies van gegevens) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. +PurgeDeleteTemporaryFiles=Verwijder alle logbestanden en tijdelijke bestanden (geen risico op gegevensverlies). Parameter kan 'tempfilesold', 'logfiles' of beide 'tempfilesold+logfiles' zijn. Opmerking: tijdelijke bestanden worden alleen verwijderd als de tijdelijke map meer dan 24 uur geleden is gemaakt. PurgeDeleteTemporaryFilesShort=Verwijder logboek en tijdelijke bestanden PurgeDeleteAllFilesInDocumentsDir=Verwijder alle bestanden in de map: %s .
    Hiermee worden alle gegenereerde documenten met betrekking tot elementen (relaties, facturen, enz ...), bestanden die zijn geüpload naar de ECM module, database back-up dumps en tijdelijke bestanden verwijderd. PurgeRunNow=Nu opschonen @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Functie alleen beschikbaar bij officiële stabiele BoxesDesc=Widgets zijn componenten die informatie tonen die u kunt toevoegen om sommige pagina's te personaliseren. U kunt kiezen of u de widget wilt weergeven of niet door de doelpagina te selecteren en op 'Activeren' te klikken of door op de prullenbak te klikken om deze uit te schakelen. OnlyActiveElementsAreShown=Alleen elementen van ingeschakelde modules worden getoond. ModulesDesc=De modules / applicaties bepalen welke features beschikbaar zijn in de software. Voor sommige modules moet toestemming worden verleend aan gebruikers na het activeren van de module. Klik op de aan / uitknop %s van elke module om een module / applicatie in of uit te schakelen. +ModulesDesc2=Klik op de wielknop %s om de module/toepassing te configureren. ModulesMarketPlaceDesc=U kunt meer modules downloaden van externe websites op het internet... ModulesDeployDesc=Als machtigingen op uw bestandssysteem dit toestaan, kunt u dit hulpprogramma gebruiken om een externe module te implementeren. De module is dan zichtbaar op het tabblad %s . ModulesMarketPlaces=Vind externe apps of modules @@ -221,8 +225,8 @@ NotCompatible=Deze module lijkt niet compatibel met uw Dolibarr %s (Min %s - Max CompatibleAfterUpdate=Deze module vereist een update van uw Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Bekijk in winkel SeeSetupOfModule=Zie setup van module%s +SetOptionTo=Stel optie %s in op %s Updated=Bijgewerkt -Nouveauté=Nieuwigheid AchatTelechargement=Kopen / Downloaden GoModuleSetupArea=Ga naar het gedeelte Module-instellingen om een nieuwe module te implementeren/installeren: %s . DoliStoreDesc=DoliStore, de officiële markt voor externe Dolibarr ERP / CRM modules. @@ -235,7 +239,7 @@ BoxesAvailable=Beschikbare widgets BoxesActivated=Widgets geactiveerd ActivateOn=Activeren op ActiveOn=Geactiveerd op -ActivatableOn=Activatable on +ActivatableOn=Activeerbaar per SourceFile=Bronbestand AvailableOnlyIfJavascriptAndAjaxNotDisabled=Alleen beschikbaar als JavaScript en AJAX niet zijn uitgeschakeld Required=Verplicht @@ -351,10 +355,10 @@ LastActivationAuthor=Laatste activeringsauteur LastActivationIP=Laatste activering IP-adres UpdateServerOffline=Updateserver offline WithCounter=Beheer een teller -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes=U kunt elk nummeringsmasker invoeren. In dit masker kunnen de volgende tags worden gebruikt:
    {000000} komt overeen met een nummer dat op elke %s wordt verhoogd. Voer zoveel nullen in als de gewenste lengte van de teller. De teller wordt aangevuld met nullen van links om evenveel nullen te hebben als het masker.
    {000000+000} hetzelfde als de vorige, maar een offset die overeenkomt met het nummer rechts van het + teken wordt toegepast vanaf de eerste %s.
    {000000@x} hetzelfde als de vorige, maar de teller wordt op nul gezet wanneer maand x is bereikt (x tussen 1 en 12, of 0 om de eerste maanden van het fiscale jaar te gebruiken die in uw configuratie zijn gedefinieerd, of 99 tot elke maand op nul worden gezet). Als deze optie wordt gebruikt en x is 2 of hoger, dan is ook de reeks {yy}{mm} of {yyyy}{mm} vereist.
    {dd} dag (01 tot 31).
    {mm} maand (01 tot 12).
    {yy} , {yyyy} of {y} 217f 4b739f.
    +GenericMaskCodes2= {cccc} de klantcode op n tekens
    {cccc000} de klant wordt gevolgd door een teller. Deze teller voor de klant wordt tegelijk met de globale teller gereset.
    {tttt} De code van derde partij type op n karakters (zie menu Home - Instellingen - Woordenboek - Soorten derde partijen). Als u deze tag toevoegt, is de teller voor elk type derde partij anders.
    GenericMaskCodes3=Alle andere karakters in het masker zullen intact blijven.
    Spaties zijn niet toegestaan.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    +GenericMaskCodes3EAN=Alle andere tekens in het masker blijven intact (behalve * of ? op de 13e positie in EAN13).
    Spaties zijn niet toegestaan.
    In EAN13 moet het laatste teken na de laatste } op de 13e positie * of ? . Deze wordt vervangen door de berekende sleutel.
    GenericMaskCodes4a=Voorbeeld op de 99e %s van relaties TheCompany, met datum 2007-01-31:
    GenericMaskCodes4b=Voorbeeld van een Klant gecreëerd op 2007-03-01:
    GenericMaskCodes4c=Voorbeeld op product gemaakt op 2007-03-01:
    @@ -399,6 +403,7 @@ SecurityToken=Sleutel tot URL beveiligen NoSmsEngine=Geen SMS afzender beheerder beschikbaar. Een SMS afzender beheerder is niet geïnstalleerd met de standaarddistributie omdat deze afhankelijk zijn van een externe leverancier, maar u kunt er enkele vinden op %s PDF=PDF PDFDesc=Algemene opties voor het genereren van PDF's +PDFOtherDesc=PDF-optie specifiek voor sommige modules PDFAddressForging=Regels voor adres sectie HideAnyVATInformationOnPDF=Verberg alle informatie met betrekking tot omzetbelasting / Btw PDFRulesForSalesTax=Regels voor omzet-belasting/Btw @@ -449,8 +454,8 @@ ExtrafieldParamHelpPassword=Dit veld leeg laten betekent dat deze waarde zonder ExtrafieldParamHelpselect=Lijst met waarden moeten regels zijn met opmaaksleutel, waarde (waar sleutel niet '0' kan zijn)

    bijvoorbeeld:
    1, waarde1
    2, value2
    code3, waarde3
    ...

    Om de lijst afhankelijk van een andere aanvullende attributenlijst te krijgen:
    1, waarde1 | options_ parent_list_code : parent_key
    2, value2 | options_ parent_list_code : parent_key

    Om de lijst afhankelijk van een andere lijst te krijgen:
    1, waarde1 | parent_list_code : parent_key
    2, waarde2 | parent_list_code : parent_key ExtrafieldParamHelpcheckbox=Lijst met waarden moeten regels zijn met opmaaksleutel, waarde (waar sleutel niet '0' kan zijn)

    bijvoorbeeld:
    1, waarde1
    2, value2
    3, waarde3
    ... ExtrafieldParamHelpradio=Lijst met waarden moeten regels zijn met opmaaksleutel, waarde (waar sleutel niet '0' kan zijn)

    bijvoorbeeld:
    1, waarde1
    2, value2
    3, waarde3
    ... -ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldParamHelpsellist=Lijst met waarden komt uit een tabel
    Syntaxis: table_name:label_field:id_field::filtersql
    Voorbeeld: c_typent:libelle:id::filtersql

    - id sarly19 a primary is int neces Het kan een eenvoudige test zijn (bijv. active=1) om alleen de actieve waarde
    weer te geven. U kunt ook $ID$ gebruiken in het filter, wat de huidige id is van het huidige object
    Om een SELECT in het filter te gebruiken, gebruikt u het trefwoord $SEL$ om bypass anti-injectie bescherming.
    als u op extravelden wilt filteren, gebruik dan de syntaxis extra.fieldcode=... (waarbij veldcode de code van extrafield is)

    Om de lijst te laten afhangen van een andere complementaire attributenlijst:
    c_typent:libelle_:id:options_ parent_list_code |parent_column:filter

    Om ervoor te zorgen dat de lijst afhankelijk is van een andere lijst:
    c_typent:libelle_id: a049271e8364_parent | +ExtrafieldParamHelpchkbxlst=Lijst met waarden komt uit een tabel
    Syntaxis: table_name:label_field:id_field::filtersql
    Voorbeeld: c_typent:libelle:id::filtersql


    filter kan een eenvoudige actieve waarde zijn kan ook $ID$ in filter gebruiken, wat de huidige id van huidig object is
    Om een SELECT in filter uit te voeren, gebruik $SEL$
    als u op extravelden wilt filteren, gebruik dan de syntaxis extra.fieldcode=... (waarbij veldcode de code of extrafield)

    Om de lijst te laten afhangen van een andere complementaire attributenlijst:
    c_typent:libelle:id:options_ parent_list_code | libelle:id: parent_list_code |parent_column:filter ExtrafieldParamHelplink=Parameters moeten Objectnaam: Classpath
    Syntax: ObjectName:Classpath ExtrafieldParamHelpSeparator=Blijf leeg voor een eenvoudig scheidingsteken
    Stel dit in op 1 voor een samenvouwend scheidingsteken (standaard geopend voor nieuwe sessie, dan wordt de status behouden voor elke gebruikerssessie)
    Stel dit in op 2 voor een samenvouwend scheidingsteken (standaard samengevouwen voor nieuwe sessie, dan wordt de status behouden voor elke gebruikerssessie) LibraryToBuildPDF=Gebruikte library voor generen PDF @@ -547,7 +552,7 @@ Module40Desc=Leveranciers en inkoopbeheer (inkooporders en facturering van lever Module42Name=Debug logs Module42Desc=Mogelijkheden voor een log (file,syslog, ...). Deze log-files zijn voor technische/debug ondersteuning. Module43Name=Foutopsporingsbalk -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Desc=Een hulpmiddel voor ontwikkelaars die een foutopsporingsbalk in uw browser toevoegen. Module49Name=Editors Module49Desc=Editorbeheer Module50Name=Producten @@ -561,7 +566,7 @@ Module53Desc=Dienstenbeheer Module54Name=Contracten/Abonnementen Module54Desc=Beheer van contracten (diensten of terugkerende abonnementen) Module55Name=Streepjescodes -Module55Desc=Streepjescodesbeheer +Module55Desc=Beheer van Bar- of QR-codes Module56Name=Betaling via overschrijving Module56Desc=Beheer van de betaling van leveranciers door middel van overboekingsopdrachten. Het omvat het genereren van SEPA-bestanden voor Europese landen. Module57Name=Betalingen via automatische incasso @@ -647,13 +652,13 @@ Module2900Desc=Capaciteitconversie GeoIP Maxmind Module3200Name=Niet aanpasbare archieven Module3200Desc=Schakel een niet aanpasbaar logboek van zakelijke evenementen in. Evenementen worden in realtime gearchiveerd. Het logboek is een alleen-lezen tabel met gekoppelde gebeurtenissen die kunnen worden geëxporteerd. Deze module kan voor sommige landen verplicht zijn. Module3400Name=Sociale netwerken -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3400Desc=Schakel Social Network-velden in voor derden en adressen (skype, twitter, facebook, ...). Module4000Name=HRM Module4000Desc=Human resources management (afdelingsbeheer, werknemerscontracten en sentiment) Module5000Name=Multi-bedrijf Module5000Desc=Hiermee kunt meerdere bedrijven beheren in Dolibarr -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module6000Name=Workflow tussen modules +Module6000Desc=Workflowbeheer tussen verschillende modules (automatisch aanmaken van object en/of automatische statuswijziging) Module10000Name=Websites Module10000Desc=Maak websites (openbaar) met een WYSIWYG-editor. Dit is een webmaster of ontwikkelaar gericht CMS (kennis van HTML- en CSS-taal is gewenst). Stel uw webserver (Apache, Nginx, ...) in zodat deze naar de speciale Dolibarr-directory verwijst om deze online op internet te hebben met uw eigen domeinnaam. Module20000Name=Verlof aanvraagbeheer @@ -814,8 +819,8 @@ PermissionAdvanced253=Creëer / wijzig de rechten van internet / externe gebruik Permission254=Verwijderen of uitschakelen van andere gebruikers Permission255=Wachtwoord andere gebruikers wijzigen Permission256=Andere gebruikers verwijderen of uitschakelen -Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission262=Verleng de toegang tot alle derden EN hun objecten (niet alleen derden waarvoor de gebruiker een verkoopvertegenwoordiger is).
    Niet effectief voor externe gebruikers (altijd beperkt tot zichzelf voor voorstellen, bestellingen, facturen, contracten, enz.).
    Niet effectief voor projecten (alleen regels voor projectmachtigingen, zichtbaarheid en toewijzingskwesties). +Permission263=Verleng de toegang tot alle derden ZONDER hun objecten (niet alleen derden waarvoor de gebruiker een verkoopvertegenwoordiger is).
    Niet effectief voor externe gebruikers (altijd beperkt tot zichzelf voor voorstellen, bestellingen, facturen, contracten, enz.).
    Niet effectief voor projecten (alleen regels voor projectmachtigingen, zichtbaarheid en toewijzingskwesties). Permission271=Lees CA Permission272=Facturen inzien Permission273=Facturen uitgeven @@ -848,10 +853,10 @@ Permission402=Creëren / wijzigen kortingen Permission403=Kortingen valideren Permission404=Kortingen verwijderen Permission430=Gebruik foutopsporingsbalk -Permission511=Inlezen betalingen van salarissen (van jou en ondergeschikten) -Permission512=Creëer / wijzig betalingen van salarissen -Permission514=Betalingen van salarissen verwijderen -Permission517=Inlezen betalingen van salarissen van iedereen +Permission511=Salarissen en betalingen lezen (van u en ondergeschikten) +Permission512=Salarissen en betalingen aanmaken/wijzigen +Permission514=Salarissen en betalingen verwijderen +Permission517=Lees salarissen en betalingen iedereen Permission519=Export salarissen Permission520=Lees Leningen Permission522=Creëer/wijzigen leningen @@ -965,6 +970,8 @@ Permission23003=Verwijder geplande taak Permission23004=Voer geplande taak uit Permission50101=Gebruik kassaonderdeel (SimplePOS) Permission50151=Gebruik verkooppunt (TakePOS) +Permission50152=Verkoopregels bewerken +Permission50153=Bestelde verkoopregels bewerken Permission50201=Lees transacties Permission50202=Importeer transacties Permission50330=Lees objecten van Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Meeteenheden DictionarySocialNetworks=Sociale netwerken DictionaryProspectStatus=Prospectstatus van bedrijven DictionaryProspectContactStatus=Prospect-status voor contacten -DictionaryHolidayTypes=Soorten verlof +DictionaryHolidayTypes=Verlof - Soorten verlof DictionaryOpportunityStatus=Leadstatus voor project / lead DictionaryExpenseTaxCat=Onkostenoverzicht - Vervoerscategorieën DictionaryExpenseTaxRange=Onkostenoverzicht - bereik per transportcategorie DictionaryTransportMode=Intracomm rapport - Transportmodus +DictionaryBatchStatus=Status product partij/serie kwaliteitscontrole TypeOfUnit=Type eenheid SetupSaved=Instellingen opgeslagen SetupNotSaved=Installatie niet opgeslagen @@ -1160,7 +1168,7 @@ DoNotSuggestPaymentMode=Geen betalingswijze voorstellen NoActiveBankAccountDefined=Geen actieve bankrekening ingesteld OwnerOfBankAccount=Eigenaar van bankrekening %s BankModuleNotActive=Bankrekeningen module niet ingeschakeld -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Definieer de link " %s " (leeg om deze link niet weer te geven, 'github' voor de link naar het Dolibarr-project of definieer direct een url 'https://...') Alerts=Kennisgevingen DelaysOfToleranceBeforeWarning=Vertraging voordat een waarschuwing wordt weergegeven voor: DelaysOfToleranceDesc=Stel de vertraging in voordat een waarschuwingspictogram %s op het scherm wordt weergegeven voor het late element. @@ -1185,9 +1193,12 @@ SetupDescription2=De volgende twee secties zijn verplicht (de twee eerste vermel SetupDescription3=  %s -> %s

    Basisparameters die worden gebruikt om het standaardgedrag van uw toepassing aan te passen (bijvoorbeeld voor landgerelateerde functies). SetupDescription4=  %s -> %s

    Dit programma is een samenstelling van vele modules / applicaties. De modules die betrekking hebben op uw behoeften moeten worden ingeschakeld en geconfigureerd. Menu-items verschijnen met de activering van deze modules. SetupDescription5=Andere items in het Setup-menu beheren optionele parameters. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=Beveiligingsgebeurtenissen die worden gecontroleerd +NoSecurityEventsAreAduited=Er worden geen beveiligingsgebeurtenissen gecontroleerd. U kunt ze inschakelen via menu %s +Audit=Beveiligingsgebeurtenissen InfoDolibarr=Over Dolibarr InfoBrowser=Over Browser InfoOS=Over OS @@ -1254,10 +1265,10 @@ RunningUpdateProcessMayBeRequired=Het uitvoeren van het upgradeproces lijkt vere YouMustRunCommandFromCommandLineAfterLoginToUser=U dient dit commando vanaf de opdrachtregel uit te voeren, na ingelogd te zijn als gebruiker %s. Of u dient het commando uit te breiden door de -W optie mee te geven zodat u het wachtwoord kunt opgeven. YourPHPDoesNotHaveSSLSupport=SSL functies niet beschikbaar in uw PHP installatie DownloadMoreSkins=Meer uiterlijkthema's om te downloaden -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Toon professionele id met adressen -ShowVATIntaInAddress=Verberg intracommunautair btw-nummer met adressen +SimpleNumRefModelDesc=Retourneert het referentienummer in de notatie %syymm-nnnn waarbij yy het jaar is, mm de maand en nnnn een opeenvolgend automatisch oplopend getal is zonder reset +SimpleNumRefNoDateModelDesc=Retourneert het referentienummer in de notatie %s-nnnn waarbij nnnn een opeenvolgend automatisch oplopend getal is zonder reset +ShowProfIdInAddress=Toon professionele ID met adressen +ShowVATIntaInAddress=Verberg intracommunautair btw-nummer TranslationUncomplete=Onvolledige vertaling MAIN_DISABLE_METEO=Schakel meteorologische weergave uit MeteoStdMod=Standaard mode @@ -1273,7 +1284,7 @@ MAIN_PROXY_HOST=Proxyserver: naam/adres MAIN_PROXY_PORT=Proxyserver: poort MAIN_PROXY_USER=Proxyserver: Inloggen/Gebruiker MAIN_PROXY_PASS=Proxy-server: wachtwoord -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s +DefineHereComplementaryAttributes=Definieer eventuele aanvullende / aangepaste kenmerken die moeten worden toegevoegd aan: %s ExtraFields=Aanvullende attributen ExtraFieldsLines=Aanvullende kenmerken (lijnen) ExtraFieldsLinesRec=Aanvullende attributen (sjablonen factuurregels) @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Voorwaarde is momenteel %s YouUseBestDriver=U gebruikt stuurprogramma %s, het beste stuurprogramma dat momenteel beschikbaar is. YouDoNotUseBestDriver=U gebruikt stuurprogramma %s maar stuurprogramma %s wordt aanbevolen. NbOfObjectIsLowerThanNoPb=U hebt alleen %s %s in de database. Dit vereist geen specifieke optimalisatie. +ComboListOptim=Optimalisatie voor laden van combinatielijsten SearchOptim=Zoekmachine optimalisatie -YouHaveXObjectUseSearchOptim=U hebt %s %s in de database. U kunt de constante %s toevoegen aan 1 in Home-Instellingen-Andere instellingen. Beperk de zoekopdracht tot het begin van strings, waardoor de database indexen kan gebruiken en u onmiddellijk antwoord zou moeten krijgen. -YouHaveXObjectAndSearchOptimOn=U hebt %s %s in de database en constante %s is ingesteld op 1 in Home-Setup-Other. +YouHaveXObjectUseComboOptim=U heeft %s %s in de database. U kunt naar de configuratie van de module gaan om het laden van de combolijst bij een ingedrukte toets te activeren. +YouHaveXObjectUseSearchOptim=U heeft %s %s in de database. U kunt de constante %s toevoegen aan 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=Dit beperkt het zoeken tot het begin van strings, wat het voor de database mogelijk maakt om indexen te gebruiken en u zou onmiddellijk een antwoord moeten krijgen. +YouHaveXObjectAndSearchOptimOn=Je hebt %s %s in de database en constante %s is ingesteld op %s in Home-Setup-Other. BrowserIsOK=U gebruikt de webbrowser %s. Deze browser is geschikt voor beveiliging en prestaties. BrowserIsKO=U gebruikt de webbrowser %s. Deze browser staat bekend als een slechte keuze voor beveiliging, prestaties en betrouwbaarheid. We raden aan om Firefox, Chrome, Opera of Safari te gebruiken. PHPModuleLoaded=PHP component %s is geladen @@ -1433,6 +1447,7 @@ MemberMainOptions=Hoofdopties AdherentLoginRequired= Beheren van een login voor elk lid AdherentMailRequired=E-mail vereist om een nieuw lid te maken MemberSendInformationByMailByDefault=Vinkvakje om een bevestigingse-mail te sturen naar leden (validatie van nieuwe abonnementen). Staat standaard aan. +MemberCreateAnExternalUserForSubscriptionValidated=Maak een externe gebruikerslogin aan voor elk gevalideerd nieuw lidmaatschap VisitorCanChooseItsPaymentMode=Bezoeker kan kiezen uit beschikbare betalingsmodi MEMBER_REMINDER_EMAIL=Automatische herinnering per e-mail inschakelen voor verlopen abonnementen. Opmerking: Module %s moet zijn ingeschakeld en correct zijn ingesteld om herinneringen te verzenden. MembersDocModules=Documentsjablonen voor documenten die zijn gegenereerd op basis van een ledenrecord @@ -1517,7 +1532,7 @@ LDAPFieldLoginUnix=Gebruikersnaam (Unix) LDAPFieldLoginExample=Voorbeeld: uid LDAPFilterConnection=Zoekfilter LDAPFilterConnectionExample=Voorbeeld: & (objectClass = inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=Voorbeeld: &(objectClass=groupOfUsers) LDAPFieldLoginSamba=Gebruikersnaam (samba, activedirectory) LDAPFieldLoginSambaExample=Voorbeeld: samaccountname LDAPFieldFullname=Voornaam Achternaam @@ -1611,13 +1626,13 @@ ServiceSetup=Services module setup ProductServiceSetup=Producten en Diensten modules setup NumberOfProductShowInSelect=Maximaal aantal producten om weer te geven in keuzelijsten met combo's (0 = geen limiet) ViewProductDescInFormAbility=Productbeschrijvingen weergeven in formulieren (anders weergegeven in een pop-up met knopinfo) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents +DoNotAddProductDescAtAddLines=Voeg geen productbeschrijving (van productkaart) toe bij het indienen van regels voor het toevoegen van formulieren +OnProductSelectAddProductDesc=Hoe de beschrijving van de producten te gebruiken bij het toevoegen van een product als een regel van een document? +AutoFillFormFieldBeforeSubmit=Vul het invoerveld voor de beschrijving automatisch in met de beschrijving van het product +DoNotAutofillButAutoConcat=Vul het invoerveld niet automatisch in met de beschrijving van het product. Beschrijving van het product wordt automatisch aan de ingevoerde beschrijving gekoppeld. +DoNotUseDescriptionOfProdut=Beschrijving van het product zal nooit worden opgenomen in de beschrijving van regels met documenten MergePropalProductCard=Activeer op het tabblad Bijgevoegde bestanden product / dienst een optie om product PDF-document samen te voegen met voorstel PDF azur als product / dienst in het voorstel staat -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) +ViewProductDescInThirdpartyLanguageAbility=Productbeschrijvingen weergeven in formulieren in de taal van de derde partij (anders in de taal van de gebruiker) UseSearchToSelectProductTooltip=Als u een groot aantal producten (>100.000) hebt, kunt u de snelheid verhogen door constant PRODUCT_DONOTSEARCH_ANYWHERE in te stellen op 1 in Setup-> Other. Het zoeken is dan beperkt tot het begin van de reeks. UseSearchToSelectProduct=Wacht tot je op een toets drukt voordat je de inhoud van de productcombo-lijst laadt (dit kan de prestaties verbeteren als je een groot aantal producten hebt, maar het is minder handig) SetDefaultBarcodeTypeProducts=Standaard streepjescodetype voor produkten @@ -1749,11 +1764,11 @@ YourCompanyDoesNotUseVAT=Uw bedrijf is ingesteld als zijnde vrijgesteld van BTW AccountancyCode=Grootboekrekening AccountancyCodeSell=Boekhoudkundige afnemerscode AccountancyCodeBuy=Boekhoudkundige leverancierscode -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Houd de checkbox “Automatisch de betaling aanmaken” standaard leeg bij het aanmaken van een nieuwe belasting ##### Agenda ##### AgendaSetup=Acties- en agendamoduleinstellingen PasswordTogetVCalExport=autorisatiecode van de exportlink -SecurityKey = Security Key +SecurityKey = Veiligheidssleutel PastDelayVCalExport=Exporteer geen gebeurtenissen ouder dan AGENDA_USE_EVENT_TYPE=Gebruik gebeurtenistypen (beheerd in menu Setup -> Woordenboeken -> Type agenda-evenementen) AGENDA_USE_EVENT_TYPE_DEFAULT=Stel deze standaardwaarde automatisch in voor het type evenement in het formulier voor het maken van een evenement @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Welke weergave wil je standaard openen als je menu Agenda se AGENDA_REMINDER_BROWSER=Schakel gebeurtenisherinnering in de browser van de gebruiker in (wanneer de herinneringsdatum wordt bereikt, wordt een pop-up weergegeven door de browser. Elke gebruiker kan dergelijke meldingen uitschakelen via de instellingen van de browser). AGENDA_REMINDER_BROWSER_SOUND=Schakel geluidsmelding in AGENDA_REMINDER_EMAIL=Schakel gebeurtenisherinnering per e-mail in (herinneringsoptie / vertraging kan voor elke gebeurtenis worden gedefinieerd). -AGENDA_REMINDER_EMAIL_NOTE=Opmerking: De frequentie van de taak %s moet voldoende zijn om er zeker van te zijn dat de herinnering op het juiste moment wordt verzonden. +AGENDA_REMINDER_EMAIL_NOTE=Opmerking: de frequentie van de geplande taak %s moet voldoende zijn om er zeker van te zijn dat de herinnering op het juiste moment wordt verzonden. AGENDA_SHOW_LINKED_OBJECT=Gekoppeld object weergeven in agendaweergave ##### Clicktodial ##### ClickToDialSetup='Click-To-Dial' moduleinstellingen ClickToDialUrlDesc=URL gebeld wanneer een klik op het telefoonpictogram is voltooid. In URL kunt u tags gebruiken
    __PHONETO__ die wordt vervangen door het telefoonnummer van de persoon die moet worden gebeld
    __PHONEFROM__ die wordt vervangen door het telefoonnummer van de bellende persoon (die van u)
    __LOGIN__ die wordt vervangen door clicktodial login (gedefinieerd op gebruikerskaart)
    __PASS__ die wordt vervangen door clicktodial wachtwoord (gedefinieerd op gebruikerskaart). ClickToDialDesc=Deze module verandert telefoonnummers bij gebruik van een desktopcomputer in klikbare links. Bij een klik zal het nummer gebeld worden. Dit kan worden gebruikt om het telefoongesprek te starten wanneer u een softphone op uw bureaublad gebruikt of wanneer u bijvoorbeeld een CTI-systeem op basis van het SIP-protocol gebruikt. Let op: Bij het gebruik van een smartphone zijn telefoonnummers altijd klikbaar. ClickToDialUseTelLink=Gebruik alleen de link "tel:" bij telefoonnummers -ClickToDialUseTelLinkDesc=Gebruik deze methode als uw gebruikers een softphone of een software-interface op dezelfde computer als de browser hebben geïnstalleerd en deze oproepen wanneer u op een link in uw browser klikt die begint met "tel:". Als u een volledige serveroplossing nodig hebt (geen lokale software-installatie vereist), moet u dit instellen op "Nee" en het volgende veld invullen. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Verkooppunt CashDeskSetup=Instelling verkooppuntmodule @@ -1894,7 +1909,7 @@ BackgroundTableLineOddColor=Achtergrondkleur voor oneven tabellijnen BackgroundTableLineEvenColor=Achtergrondkleur voor gelijkmatige tabellijnen MinimumNoticePeriod=Minimale opzegtermijn (uw verlofaanvraag moet vóór deze vertraging worden gedaan) NbAddedAutomatically=Aantal dagen toegevoegd aan tellers van gebruikers (automatisch) elke maand -EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. +EnterAnyCode=Dit veld bevat een verwijzing om de lijn te identificeren. Voer een waarde naar keuze in, maar zonder speciale tekens. Enter0or1=Voer 0 of 1 in UnicodeCurrency=Voer hier tussen accolades in, lijst met byte-nummers die het valutasymbool vertegenwoordigen. Bijvoorbeeld: voer voor $ [36] in - voor Brazilië real R $ [82,36] - voer voor € [8364] in ColorFormat=De RGB-kleur heeft het HEX-formaat, bijvoorbeeld: FF0000 @@ -1979,9 +1994,13 @@ MAIN_PDF_MARGIN_RIGHT=Rechter marge op PDF MAIN_PDF_MARGIN_TOP=Bovenmarge op PDF MAIN_PDF_MARGIN_BOTTOM=Onder-marge op PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Hoogte voor logo op PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Voeg afbeelding toe op voorstelregel +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Elektronisch ondertekenen toevoegen aan PDF NothingToSetup=Er is geen specifieke installatie vereist voor deze module. SetToYesIfGroupIsComputationOfOtherGroups=Stel dit in op Ja als deze groep een berekening van andere groepen is -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +EnterCalculationRuleIfPreviousFieldIsYes=Voer de rekenregel in als het vorige veld was ingesteld op Ja.
    Bijvoorbeeld:
    CODEGRP1+CODEGRP2 SeveralLangugeVariatFound=Verschillende taalvarianten gevonden RemoveSpecialChars=Verwijder speciale tekens COMPANY_AQUARIUM_CLEAN_REGEX=Regex-filter om waarde te reinigen (COMPANY_AQUARIUM_CLEAN_REGEX) @@ -1997,7 +2016,7 @@ SocialNetworkSetup=Installatie van module Sociale netwerken EnableFeatureFor=Functies inschakelen voor %s VATIsUsedIsOff=Opmerking: De optie om omzetbelasting of btw te gebruiken is ingesteld op Uit in het menu %s - %s, dus gebruikte omzetbelasting of btw is altijd 0 voor verkoop. SwapSenderAndRecipientOnPDF=Wissel afzender- en ontvangeradrespositie op PDF-documenten in -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. +FeatureSupportedOnTextFieldsOnly=Waarschuwing, functie wordt alleen ondersteund op tekstvelden en combolijsten. Er moet ook een URL-parameter action=create of action=edit worden ingesteld OF de paginanaam moet eindigen op 'new.php' om deze functie te activeren. EmailCollector=Email verzamelaar EmailCollectorDescription=Voeg een geplande taak en een installatiepagina toe om regelmatig e-mailboxen te scannen (met het IMAP-protocol) en ontvangen e-mails op te nemen in uw toepassing, op de juiste plaats en / of maak automatisch enkele records aan (zoals leads). NewEmailCollector=Nieuwe e-mailverzamelaar @@ -2064,11 +2083,11 @@ UseDebugBar=Gebruik de foutopsporingsbalk DEBUGBAR_LOGS_LINES_NUMBER=Aantal laatste logboekregels dat in de console moet worden bewaard WarningValueHigherSlowsDramaticalyOutput=Waarschuwing, hogere waarden vertragen de uitvoer dramatisch ModuleActivated=Module %s is geactiveerd en vertraagt de interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +ModuleActivatedWithTooHighLogLevel=Module %s is geactiveerd met een te hoog logniveau (probeer een lager niveau te gebruiken voor betere prestaties en veiligheid) +ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is geactiveerd en logniveau (%s) is correct (niet te uitgebreid) IfYouAreOnAProductionSetThis=Als u zich in een productieomgeving bevindt, moet u deze eigenschap instellen op %s. AntivirusEnabledOnUpload=Antivirus ingeschakeld op geüploade bestanden -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +SomeFilesOrDirInRootAreWritable=Sommige bestanden of mappen bevinden zich niet in de modus alleen-lezen EXPORTS_SHARE_MODELS=Exportmodellen zijn met iedereen te delen ExportSetup=Installatie van exportmodule ImportSetup=Instellen van module Import @@ -2078,7 +2097,7 @@ LargerThan=Groter dan IfTrackingIDFoundEventWillBeLinked=Houd er rekening mee dat als een tracking-ID van een object in e-mail wordt gevonden, of als de e-mail een antwoord is van een e-mail die al is verzameld en aan een object is gekoppeld, de gemaakte gebeurtenis automatisch wordt gekoppeld aan het bekende gerelateerde object. WithGMailYouCanCreateADedicatedPassword=Als u bij een GMail-account de validatie in 2 stappen hebt ingeschakeld, wordt aanbevolen om een speciaal tweede wachtwoord voor de toepassing te maken in plaats van uw eigen wachtwoord van https://myaccount.google.com/. EmailCollectorTargetDir=Het kan een gewenst gedrag zijn om de e-mail naar een andere tag / directory te verplaatsen wanneer deze met succes is verwerkt. Stel hier gewoon de naam van de map in om deze functie te gebruiken (gebruik GEEN speciale tekens in de naam). Houd er rekening mee dat u ook een inlogaccount voor lezen / schrijven moet gebruiken. -EmailCollectorLoadThirdPartyHelp=U kunt deze actie gebruiken om de e-mailinhoud te gebruiken om een bestaande relatie in uw database te zoeken en te laden. De gevonden (of gecreëerde) relatie zal worden gebruikt voor het volgen van acties die het nodig hebben. In het parameterveld kunt u bijvoorbeeld 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' gebruiken als u de naam van de relatie wilt extraheren uit een string 'Name: name to find' gevonden in de bron. +EmailCollectorLoadThirdPartyHelp=U kunt deze actie gebruiken om de e-mailinhoud te gebruiken om een bestaande derde partij in uw database te zoeken en te laden. De gevonden (of aangemaakte) derde partij wordt gebruikt voor de volgende acties die dit nodig hebben.
    Als u bijvoorbeeld een derde partij wilt maken met een naam geëxtraheerd een tekenreeks 'Naam: naam te vinden' gevonden in de body, gebruik afzender e-mail als e-mail, u kunt het parameterveld als volgt instellen:
    'email=HEADER: ^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Eindpunt voor %s: %s DeleteEmailCollector=E-mailverzamelaar verwijderen ConfirmDeleteEmailCollector=Weet je zeker dat je deze e-mailverzamelaar wilt verwijderen? @@ -2092,11 +2111,10 @@ MakeAnonymousPing=Maak een anonieme ping '+1' naar de Dolibarr-fundering FeatureNotAvailableWithReceptionModule=Functie niet beschikbaar wanneer module-ontvangst is ingeschakeld EmailTemplate=Sjabloon voor e-mail EMailsWillHaveMessageID=E-mails hebben een tag 'Verwijzingen' die overeenkomen met deze syntaxis -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label +PDF_SHOW_PROJECT=Toon project op document +ShowProjectLabel=Projectlabel PDF_USE_ALSO_LANGUAGE_CODE=Als u wilt dat sommige teksten in uw PDF worden gedupliceerd in 2 verschillende talen in dezelfde gegenereerde PDF, moet u hier deze tweede taal instellen, zodat de gegenereerde PDF 2 verschillende talen op dezelfde pagina bevat, degene die is gekozen bij het genereren van PDF en deze ( slechts enkele PDF-sjablonen ondersteunen dit). Voor 1 taal per pdf leeg houden. FafaIconSocialNetworksDesc=Voer hier de code van een FontAwesome-pictogram in. Als je niet weet wat FontAwesome is, kun je het generieke waarde fa-adresboek gebruiken. -FeatureNotAvailableWithReceptionModule=Functie niet beschikbaar wanneer module-ontvangst is ingeschakeld RssNote=Opmerking: elke RSS-feeddefinitie biedt een widget die u moet inschakelen om deze beschikbaar te hebben in het dashboard JumpToBoxes=Ga naar Setup -> Widgets MeasuringUnitTypeDesc=Gebruik hier een waarde als "grootte", "oppervlakte", "volume", "gewicht", "tijd" @@ -2109,23 +2127,35 @@ SwitchThisForABetterSecurity=Het wijzigen van deze waarde naar %s wordt aanbevol DictionaryProductNature= Aard van het product CountryIfSpecificToOneCountry=Land (indien specifiek voor een bepaald land) YouMayFindSecurityAdviceHere=Mogelijk vindt u hier beveiligingsadvies -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. +ModuleActivatedMayExposeInformation=Deze PHP-extensie kan gevoelige gegevens blootleggen. Als je het niet nodig hebt, schakel het dan uit. ModuleActivatedDoNotUseInProduction=Een module ontworpen voor de ontwikkeling is ingeschakeld. Schakel het niet in bij een productieomgeving. CombinationsSeparator=Scheidingsteken voor productcombinaties SeeLinkToOnlineDocumentation=Zie link naar online documentatie in het bovenste menu voor voorbeelden SHOW_SUBPRODUCT_REF_IN_PDF=Als de functie "%s" van module %s wordt gebruikt, toon dan de details van subproducten van een kit op PDF. AskThisIDToYourBank=Neem contact op met uw bank om deze ID te krijgen -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +AdvancedModeOnly=Toestemming alleen beschikbaar in geavanceerde toestemmingsmodus +ConfFileIsReadableOrWritableByAnyUsers=Het conf-bestand is leesbaar of beschrijfbaar door alle gebruikers. Geef alleen toestemming aan webservergebruiker en -groep. +MailToSendEventOrganization=Evenementenorganisatie +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Standaard gebeurtenisstatus bij het maken van een gebeurtenis vanuit het formulier +YouShouldDisablePHPFunctions=U moet PHP-functies uitschakelen +IfCLINotRequiredYouShouldDisablePHPFunctions=Behalve als u systeemopdrachten in aangepaste code moet uitvoeren, moet u PHP-functies uitschakelen +PHPFunctionsRequiredForCLI=Voor shell-doeleinden (zoals geplande back-up van taken of het uitvoeren van een anitivurs-programma), moet u PHP-functies behouden +NoWritableFilesFoundIntoRootDir=Er zijn geen beschrijfbare bestanden of mappen van de gebruikelijke programma's gevonden in uw hoofdmap (Goed) +RecommendedValueIs=Aanbevolen: %s +Recommended=Aanbevolen +NotRecommended=Niet aangeraden +ARestrictedPath=Een beperkt pad +CheckForModuleUpdate=Controleren op updates van externe modules +CheckForModuleUpdateHelp=Deze actie maakt verbinding met editors van externe modules om te controleren of er een nieuwe versie beschikbaar is. +ModuleUpdateAvailable=Een update is beschikbaar +NoExternalModuleWithUpdate=Geen updates gevonden voor externe modules +SwaggerDescriptionFile=Swagger API-beschrijvingsbestand (voor gebruik met bijvoorbeeld redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=U hebt de verouderde WS API ingeschakeld. U moet in plaats daarvan REST API gebruiken. +RandomlySelectedIfSeveral=Willekeurig geselecteerd als er meerdere foto's beschikbaar zijn +DatabasePasswordObfuscated=Databasewachtwoord is versleuteld in conf-bestand +DatabasePasswordNotObfuscated=Databasewachtwoord is NIET versleuteld in conf-bestand +APIsAreNotEnabled=API-modules zijn niet ingeschakeld +YouShouldSetThisToOff=U moet dit op 0 of uit zetten +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/nl_NL/agenda.lang b/htdocs/langs/nl_NL/agenda.lang index 4c6bbdab045..f3b14bc00ce 100644 --- a/htdocs/langs/nl_NL/agenda.lang +++ b/htdocs/langs/nl_NL/agenda.lang @@ -4,7 +4,7 @@ Actions=Acties Agenda=Agenda TMenuAgenda=Agenda Agendas=Agenda's -LocalAgenda=Interne kalender +LocalAgenda=Standaard kalender ActionsOwnedBy=Actie gevraagd door ActionsOwnedByShort=Eigenaar AffectedTo=Geaffecteerden @@ -20,7 +20,7 @@ MenuToDoActions=Alle openstaande acties MenuDoneActions=Alle beëindigde acties MenuToDoMyActions=Mijn openstaande acties MenuDoneMyActions=Mijn beëindigde acties -ListOfEvents=Lijst van evenement (interne kalender) +ListOfEvents=Lijst met evenementen (standaard kalender) ActionsAskedBy=Acties geregistreerd door ActionsToDoBy=Acties toegewezen aan ActionsDoneBy=Acties gedaan door @@ -38,6 +38,7 @@ ActionsEvents=Gebeurtenissen waarvoor Dolibarr automatisch een item zal maken in EventRemindersByEmailNotEnabled=Gebeurtenisherinneringen per e-mail zijn niet ingeschakeld in %s-module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Relatie %s aangemaakt +COMPANY_MODIFYInDolibarr=Relatie %s gewijzigd COMPANY_DELETEInDolibarr=Relatie %s verwijderd ContractValidatedInDolibarr=Contract %s gevalideerd CONTRACT_DELETEInDolibarr=Contract %s verwijderd @@ -87,6 +88,7 @@ OrderDeleted=Bestelling verwijderd InvoiceDeleted=Factuur verwijderd DraftInvoiceDeleted=Conceptfactuur verwijderd CONTACT_CREATEInDolibarr=Contact %s gemaakt +CONTACT_MODIFYInDolibarr=Contactpersoon%s gewijzigd CONTACT_DELETEInDolibarr=Contact %s verwijderd PRODUCT_CREATEInDolibarr=Product %s aangemaakt PRODUCT_MODIFYInDolibarr=Product %s aangepast @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO ingesteld op conceptstatus MRP_MO_PRODUCEDInDolibarr=MO geproduceerd MRP_MO_DELETEInDolibarr=MO verwijderd MRP_MO_CANCELInDolibarr=MO geannuleerd +PAIDInDolibarr=%s betaald ##### End agenda events ##### AgendaModelModule=Document sjablonen voor evenement DateActionStart=Startdatum @@ -130,7 +133,7 @@ AgendaUrlOptions4= logint = %s om de uitvoer te beperken tot acties die z AgendaUrlOptionsProject=project=PROJECT_ID om uitvoer van acties gekoppeld aan projectPROJECT_ID te beperken. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto om automatische gebeurtenissen uit te sluiten. AgendaUrlOptionsIncludeHolidays=  includeholidays = 1 om vakanties op te nemen. -AgendaShowBirthdayEvents=Verjaardagen van contacten weergeven +AgendaShowBirthdayEvents=Verjaardagen van contacten AgendaHideBirthdayEvents=Verjaardagen van contacten verbergen Busy=Bezig ExportDataset_event1=Lijst van agenda-gebeurtenissen diff --git a/htdocs/langs/nl_NL/assets.lang b/htdocs/langs/nl_NL/assets.lang index bef6a3b9594..3ce022bac55 100644 --- a/htdocs/langs/nl_NL/assets.lang +++ b/htdocs/langs/nl_NL/assets.lang @@ -61,5 +61,7 @@ MenuListTypeAssets = Lijstoverzicht # # Module # +Asset=Bezit NewAssetType=Nieuw soort bezittingen NewAsset=Nieuw bezit +ConfirmDeleteAsset=Weet u zeker dat u dit item wilt verwijderen? diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang index a3d751c5dab..bad59082531 100644 --- a/htdocs/langs/nl_NL/banks.lang +++ b/htdocs/langs/nl_NL/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Sociale/fiscale belastingbetaling BankTransfer=Overschrijving BankTransfers=Overschrijvingen MenuBankInternalTransfer=Interne overboeking -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Gebruik interne overboeking om van de ene rekening naar de andere over te schrijven, de toepassing schrijft twee records: een debet op de bronrekening en een tegoed op de doelrekening. Voor deze transactie wordt hetzelfde bedrag, label en datum gebruikt. TransferFrom=Van TransferTo=T/m TransferFromToDone=Een overboeking van %s naar %s van %s is geregistreerd. CheckTransmitter=Verzender ValidateCheckReceipt=Betaling met cheque goedkeuren? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Deze cheque ontvangst verwijderen? ConfirmDeleteCheckReceipt=Weet u zeker dat u deze betaling via cheque wilt verwijderen? BankChecks=Bankcheque @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Weet u zeker dat u deze boeking wilt verwijderen? ThisWillAlsoDeleteBankRecord=Hiermee wordt ook de boeking in de bank verwijderd BankMovements=Mutaties PlannedTransactions=Nog te verwerken -Graph=Graphs +Graph=grafieken ExportDataset_banque_1=Bankboekingen en rekeningafschriften ExportDataset_banque_2=Stortingsbewijs TransactionOnTheOtherAccount=Overboeking op de andere rekening @@ -142,7 +142,7 @@ AllAccounts=Alle kas- en bankrekeningen BackToAccount=Terug naar rekening ShowAllAccounts=Toon alle rekeningen FutureTransaction=Toekomstige transactie. Nog niet mogelijk af te stemmen -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Selecteer/filter de cheques die in het chequebewijs moeten worden opgenomen. Klik vervolgens op "Maken". InputReceiptNumber=Kies het bankafschrift in verband met de bemiddeling. Gebruik een sorteerbare numerieke waarde: YYYYMM of YYYYMMDD EventualyAddCategory=Geef tenslotte een categorie op waarin de gegevens bewaard kunnen worden ToConciliate=Afstemmen? @@ -174,7 +174,7 @@ YourSEPAMandate=Uw SEPA mandaat FindYourSEPAMandate=Met deze SEPA machtiging geeft u ons bedrijf toestemming een opdracht ter incasso te sturen naar uw bank. Retourneer het ondertekend (scan van het ondertekende document) of stuur het per e-mail naar AutoReportLastAccountStatement=Vul bij het automatisch afstemmen het veld 'aantal bankafschriften' in met het laatste afschrift nummer. CashControl=POS kassa controle -NewCashFence=New cash desk opening or closing +NewCashFence=Nieuwe kassa openen of sluiten BankColorizeMovement=Inkleuren mutaties BankColorizeMovementDesc=Als deze functie is ingeschakeld, kunt u een specifieke achtergrondkleur kiezen voor debet- of creditmutaties BankColorizeMovementName1=Achtergrondkleur voor debetmutatie diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index 9c40fd8f317..9f561eb7068 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -55,7 +55,7 @@ CustomerInvoice=Afnemersfactuur CustomersInvoices=Klantenfactuur SupplierInvoice=Factuur leverancier SuppliersInvoices=Inkoopfacturen -SupplierInvoiceLines=Vendor invoice lines +SupplierInvoiceLines=Factuurregels leverancier SupplierBill=Factuur leverancier SupplierBills=Inkoopfacturen Payment=Betaling @@ -82,8 +82,8 @@ PaymentsAlreadyDone=Betalingen gedaan PaymentsBackAlreadyDone=Al betaalde restitutie PaymentRule=Betalingsvoorwaarde PaymentMode=Betaalwijze -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=Standaard betalingstype +DefaultBankAccount=Standaard bankrekening PaymentTypeDC=Debet / Kredietkaart PaymentTypePP=PayPal IdPaymentMode=Betaalwijze (id) @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=Omzetten teveel betaald in beschikbare korting EnterPaymentReceivedFromCustomer=Voer een ontvangen betaling van afnemer in EnterPaymentDueToCustomer=Voer een betaling te doen aan afnemer in DisabledBecauseRemainderToPayIsZero=Uitgeschakeld omdat restant te betalen gelijk is aan nul -PriceBase=Base price +PriceBase=Basisprijs BillStatus=Factuurstatus StatusOfGeneratedInvoices=Status van gegenereerde facturen BillStatusDraft=Concept (moet worden gevalideerd) @@ -259,6 +259,7 @@ DateMaxPayment=Betaling vóór DateInvoice=Factuurdatum DatePointOfTax=Belastingpunt NoInvoice=Geen factuur +NoOpenInvoice=Geen openstaande factuur ClassifyBill=Classifiseer factuur SupplierBillsToPay=Onbetaalde leveranciersfacturen CustomerBillsUnpaid=Onbetaalde klant facturen @@ -376,7 +377,7 @@ DateLastGeneration=Aanmaakdatum laatste factuur DateLastGenerationShort=Datum laatste aanmaak MaxPeriodNumber=Max. aantal factuurgeneratie NbOfGenerationDone=Aantal reeds aangemaakte facturen -NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationOfRecordDone=Aantal reeds uitgevoerde recordgeneratie NbOfGenerationDoneShort=Aantal malen gegenereerd MaxGenerationReached=Maximum aantal aanmaken bereikt InvoiceAutoValidate=Valideer facturen automatisch @@ -417,7 +418,7 @@ PaymentCondition14DENDMONTH=Binnen 14 dagen na het einde van de maand FixAmount=Vast bedrag - 1 regel met label '%s' VarAmount=Variabel bedrag (%% tot.) VarAmountOneLine=Variabel aantal (%% tot.) - 1 regel met label '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +VarAmountAllLines=Variabel bedrag (%% tot.) - alle regels van oorsprong # PaymentType PaymentTypeVIR=Bankoverboeking PaymentTypeShortVIR=Bankoverboeking @@ -454,7 +455,7 @@ RegulatedOn=Geregeld op ChequeNumber=Chequenummer ChequeOrTransferNumber=Cheque / Transfernummer ChequeBordereau=Controleer rooster -ChequeMaker=Check/Transfer sender +ChequeMaker=Afzender controleren/overdragen ChequeBank=Bank van cheque CheckBank=Controleer NetToBePaid=Netto te betalen @@ -498,16 +499,16 @@ Cash=Contant Reported=Uitgestelde DisabledBecausePayments=Niet beschikbaar omdat er betalingen bestaan CantRemovePaymentWithOneInvoicePaid=Verwijder onmogelijk wanneer er minstens een factuur betaald is ingedeeld. -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +CantRemovePaymentVATPaid=Kan betaling niet verwijderen omdat btw-aangifte is geclassificeerd als betaald +CantRemovePaymentSalaryPaid=Kan betaling niet verwijderen omdat salaris is geclassificeerd als betaald ExpectedToPay=Verwachte betaling CantRemoveConciliatedPayment=Kan de afgestemde betaling niet verwijderen PayedByThisPayment=Betaald door deze betaling ClosePaidInvoicesAutomatically=Classificeer automatisch alle standaard, aanbetaling of vervangende facturen als "Betaald" wanneer de betaling volledig is uitgevoerd. ClosePaidCreditNotesAutomatically=Classificeer automatisch alle creditnota's als "Betaald" wanneer de terugbetaling volledig is gedaan. ClosePaidContributionsAutomatically=Classificeer automatisch alle sociale of fiscale bijdragen als "Betaald" bij volledige betaling. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +ClosePaidVATAutomatically=Classificeer automatisch btw-aangifte als "Betaald" wanneer de betaling volledig is gedaan. +ClosePaidSalaryAutomatically=Classificeer automatisch salaris als "Betaald" wanneer de betaling volledig is gedaan. AllCompletelyPayedInvoiceWillBeClosed=Alle volledig betaalde facturen worden automatisch afgesloten met de status "Betaald". ToMakePayment=Betaal ToMakePaymentBack=Terugbetalen @@ -520,10 +521,10 @@ YouMustCreateStandardInvoiceFirstDesc=Maak eerst een standaard factuur en conver PDFCrabeDescription=Factuur PDF-sjabloon Crabe. Een volledig factuursjabloon (oude implementatie van Sponge-sjabloon) PDFSpongeDescription=Factuur PDF-sjabloon Sponge. Een complete sjabloon voor een factuur PDFCrevetteDescription=Factuur PDF-sjabloon 'Crevette'. Een compleet sjabloon voor facturen -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=Retournummer in het formaat %syymm-nnnn voor standaardfacturen en %syymm-nnnn voor creditnota's waarbij yy het jaar is, mm de maand en nnnn een automatisch oplopend nummer is zonder onderbreking en zonder terugkeer naar 0 +MarsNumRefModelDesc1=Retournummer in het formaat %syymm-nnnn voor standaardfacturen, %syymm-nnnn voor vervangende facturen, %syymm-nnnn voor vooruitbetalingsfacturen en %syymm-nnny is voor jaarnota's waarbij mm nnnn is voor jaarnota's zonder pauze en geen terugkeer naar 0 TerreNumRefModelError=Een wetsvoorstel te beginnen met $ syymm bestaat al en is niet compatibel met dit model van de reeks. Verwijderen of hernoemen naar deze module te activeren. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +CactusNumRefModelDesc1=Retournummer in de notatie %syymm-nnnn voor standaardfacturen, %syymm-nnnn voor creditnota's en %syymm-nnnn voor vooruitbetalingsfacturen waarbij yy het jaar is, mm de maand en nnnn een opeenvolgend nummer is zonder automatisch ophogen 0 EarlyClosingReason=Vroege afsluiting reden EarlyClosingComment=Vroege afsluiting opmerking ##### Types de contacts ##### @@ -570,8 +571,8 @@ ToCreateARecurringInvoiceGeneAuto=Als u dergelijke facturen automatisch wilt lat DeleteRepeatableInvoice=Verwijder tijdelijke factuur ConfirmDeleteRepeatableInvoice=Weet u zeker dat u dit sjabloon factuur wilt verwijderen? CreateOneBillByThird=Orders samentrekken tot één factuur aan per relatie (anders voor elke bestelling één factuur) -BillCreated=%s invoice(s) generated -BillXCreated=Invoice %s generated +BillCreated=%s factuur(en) gegenereerd +BillXCreated=Factuur %s gegenereerd StatusOfGeneratedDocuments=Status aanmaken document DoNotGenerateDoc=Maak documentbestand niet aan AutogenerateDoc=Automatisch aanmaken documentbestand @@ -589,3 +590,4 @@ FacParentLine=Hoofd factuurregel SituationTotalRayToRest=Netto restant te betalen PDFSituationTitle=Situatie n ° %d SituationTotalProgress=Totale voortgang %d %% +SearchUnpaidInvoicesWithDueDate=Zoek onbetaalde facturen met een vervaldatum = %s diff --git a/htdocs/langs/nl_NL/blockedlog.lang b/htdocs/langs/nl_NL/blockedlog.lang index 1507f2b3991..620d908d54c 100644 --- a/htdocs/langs/nl_NL/blockedlog.lang +++ b/htdocs/langs/nl_NL/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=Niet aanpasbare logboeken ShowAllFingerPrintsMightBeTooLong=Toon alle gearchiveerde logs (kunnen lang zijn) ShowAllFingerPrintsErrorsMightBeTooLong=Toon alle ongeldige archieflogboeken (kunnen lang zijn) DownloadBlockChain=Vingerafdrukken downloaden -KoCheckFingerprintValidity=Gearchiveerde logboekinvoer is niet geldig. Het betekent dat iemand (een hacker?) Sommige gegevens van dit record heeft gewijzigd nadat het is opgenomen of het vorige gearchiveerde record heeft gewist (controleer of die regel met het vorige # bestaat). +KoCheckFingerprintValidity=Gearchiveerde logboekinvoer is niet geldig. Het betekent dat iemand (een hacker?) enkele gegevens van dit record heeft gewijzigd nadat het was opgenomen, of het vorige gearchiveerde record heeft gewist (controleer of de regel met het vorige # bestaat) of de controlesom van het vorige record heeft gewijzigd. OkCheckFingerprintValidity=Gearchiveerde logboekrecord is geldig. De gegevens op deze regel zijn niet gewijzigd en de invoer volgt op de vorige. OkCheckFingerprintValidityButChainIsKo=Gearchiveerd log lijkt geldig in vergelijking met de vorige, maar de ketting was eerder beschadigd. AddedByAuthority=Opgeslagen in autoriteit op afstand diff --git a/htdocs/langs/nl_NL/boxes.lang b/htdocs/langs/nl_NL/boxes.lang index c7e50655b47..305adbe841c 100644 --- a/htdocs/langs/nl_NL/boxes.lang +++ b/htdocs/langs/nl_NL/boxes.lang @@ -18,13 +18,13 @@ BoxLastActions=Laatste acties BoxLastContracts=Laatste contracten BoxLastContacts=Laatste contactpersonen- / adressenlijst BoxLastMembers=Laatste leden -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=Laatste gewijzigde leden +BoxLastMembersSubscriptions=Laatste lidmaatschappen BoxFicheInter=Laatste interventies BoxCurrentAccounts=Saldo van de geopende rekening BoxTitleMemberNextBirthdays=Verjaardagen van deze maand (leden) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMembersByType=Leden per type +BoxTitleMembersSubscriptionsByYear=Ledenabonnementen per jaar BoxTitleLastRssInfos=Laatste %s nieuws van %s BoxTitleLastProducts=Producten / Diensten: laatste %s bewerkt BoxTitleProductsAlertStock=Producten: voorraadalarm @@ -46,11 +46,11 @@ BoxMyLastBookmarks=Bladwijzers: laatste %s BoxOldestExpiredServices=Oudste actief verlopen diensten BoxLastExpiredServices=Laatste %s oudste contactpersonen met actieve verlopen diensten BoxTitleLastActionsToDo=Laatste %s acties om uit te voeren -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=Laatste %s contracten die zijn gewijzigd +BoxTitleLastModifiedDonations=Laatste %s donaties die zijn gewijzigd +BoxTitleLastModifiedExpenses=Laatste %s onkostendeclaraties die zijn gewijzigd +BoxTitleLatestModifiedBoms=Laatste %s stuklijsten die zijn gewijzigd +BoxTitleLatestModifiedMos=Laatste %s Productieorders die zijn gewijzigd BoxTitleLastOutstandingBillReached=Klanten met meer dan maximaal toegestaan krediet BoxGlobalActivity=Globale activiteit (facturen, offertes, bestellingen) BoxGoodCustomers=Goede klanten @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Orders van leveranciers: laatste %s gewijzi BoxTitleLastModifiedCustomerBills=Klantfacturen: laatste %s gewijzigd BoxTitleLastModifiedCustomerOrders=Klantorders: laatste %s gewijzigd BoxTitleLastModifiedPropals=Laatste %s aangepaste offertes -BoxTitleLatestModifiedJobPositions=Laatste %s gewijzigde taken -BoxTitleLatestModifiedCandidatures=Laatste %s gewijzigde kandidaturen +BoxTitleLatestModifiedJobPositions=laatste 1%s gewijzigde vacatures +BoxTitleLatestModifiedCandidatures=Laatste 1%s gewijzigde sollicitaties ForCustomersInvoices=Afnemersfacturen ForCustomersOrders=Klantenbestellingen ForProposals=Zakelijke voorstellen / Offertes @@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=Laatste %s klantverzendingen NoRecordedShipments=Geen geregistreerde klantverzending BoxCustomersOutstandingBillReached=Klanten met bereikt limiet # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy +UsersHome=Thuisgebruikers en groepen +MembersHome=Thuis lidmaatschap +ThirdpartiesHome=Home Derden +TicketsHome=Thuistickets +AccountancyHome=Home Boekhouding ValidatedProjects=Gevalideerde projecten diff --git a/htdocs/langs/nl_NL/cashdesk.lang b/htdocs/langs/nl_NL/cashdesk.lang index 614fc1431dc..b40df127c40 100644 --- a/htdocs/langs/nl_NL/cashdesk.lang +++ b/htdocs/langs/nl_NL/cashdesk.lang @@ -1,7 +1,7 @@ # Language file - Source file is en_US - cashdesk CashDeskMenu=Point of sale CashDesk=Point of sale -CashDeskBankCash=Bankrekening (cash) +CashDeskBankCash=Bankrekening (kas) CashDeskBankCB=Bankrekening (kaart) CashDeskBankCheque=Bankrekening (check) CashDeskWarehouse=Magazijn @@ -41,8 +41,8 @@ Floor=Vloer AddTable=Tafel toevoegen Place=Plaats TakeposConnectorNecesary='TakePOS Connector' vereist -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Voeg een knop toe om de bestelling zonder betaling naar bepaalde printers te sturen (bijvoorbeeld om een bestelling naar een keuken te sturen) +NotAvailableWithBrowserPrinter=Niet beschikbaar wanneer printer voor bon is ingesteld op browser: SearchProduct=Zoek product Receipt=Bon Header=Hoofd @@ -57,9 +57,9 @@ Paymentnumpad=Soort betaling om de betaling in te voeren Numberspad=Cijferblok BillsCoinsPad=Munten en bankbiljetten blok DolistorePosCategory=TakePOS-modules en andere POS-oplossingen voor Dolibarr -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items +TakeposNeedsCategories=TakePOS heeft ten minste één productcategorie nodig om te werken +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS heeft minimaal 1 productcategorie onder de categorie %s nodig om te werken +OrderNotes=Kan enkele notities toevoegen aan elk besteld item CashDeskBankAccountFor=Standaardrekening voor betalingen NoPaimementModesDefined=Geen betaalmethode gedefinieerd in TakePOS-configuratie TicketVatGrouped=Groep BTW op tarief in tickets | kwitanties @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=Factuur is al gevalideerd NoLinesToBill=Geen regels om te factureren CustomReceipt=Aangepaste kwitantie ReceiptName=Naam ontvangstbewijs -ProductSupplements=Manage supplements of products +ProductSupplements=Beheer supplementen van producten SupplementCategory=Toevoeging categorie ColorTheme=Kleur thema Colorful=Kleurrijk @@ -94,7 +94,7 @@ Browser=Browser BrowserMethodDescription=Eenvoudig en gemakkelijk afdrukken van bonnen. Slechts een paar parameters om de bon te configureren. Afdrukken via browser. TakeposConnectorMethodDescription=Externe module met extra functies. Mogelijkheid om vanuit de cloud af te drukken. PrintMethod=Afdrukmethode -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=Krachtige methode met veel parameters. Volledig aanpasbaar met sjablonen. De server die de applicatie host, mag niet in de cloud staan (moet de printers in uw netwerk kunnen bereiken). ByTerminal=Per terminal TakeposNumpadUsePaymentIcon=Gebruik pictogram in plaats van tekst op betalingsknoppen van numpad CashDeskRefNumberingModules=Nummeringsmodule voor POS-verkoop @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =  
    {TN} tag wordt gebruikt om het terminal TakeposGroupSameProduct=Groepeer dezelfde productlijnen StartAParallelSale=Start een nieuwe parallelle verkoop SaleStartedAt=Verkoop begon op %s -ControlCashOpening=Controle contant geld pop-up bij het openen van POS +ControlCashOpening=Open de pop-up "Kassa beheren" bij het openen van de kassa CloseCashFence=Sluit de kassa-bediening CashReport=Kassa verslag MainPrinterToUse=Hoofdprinter om te gebruiken @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Bonprinter moet eerst zijn ingeschakeld AllowDelayedPayment=Laat uitgestelde betaling toe PrintPaymentMethodOnReceipts=Betaalmethode afdrukken op tickets | bonnen WeighingScale=Weegschaal -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Toon de kolom met de prijs exclusief btw (op het scherm) +ShowPriceHTOnReceipt = Toon kolom met prijs exclusief btw (bon) +CustomerDisplay=Customer display diff --git a/htdocs/langs/nl_NL/categories.lang b/htdocs/langs/nl_NL/categories.lang index 31bb7f2c0ed..5873c27d68f 100644 --- a/htdocs/langs/nl_NL/categories.lang +++ b/htdocs/langs/nl_NL/categories.lang @@ -3,20 +3,20 @@ Rubrique=Label/Categorie Rubriques=Kenmerken / Categorieën RubriquesTransactions=Labels/categorieën transacties categories=kenmerken / categorieën -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Er is geen tag/categorie van dit type aangemaakt In=In AddIn=Invoegen in categorie modify=wijzigen Classify=Classificeren CategoriesArea=Kenmerk / Categorieën omgeving -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Gebied met product-/servicelabels/categorieën +SuppliersCategoriesArea=Gebied met leverancierslabels/categorieën +CustomersCategoriesArea=Gebied met klantlabels/categorieën +MembersCategoriesArea=Leden labels/categorieën gebiedcategorie +ContactsCategoriesArea=Contactlabels/categorieën gebied +AccountsCategoriesArea=Gebied met bankrekeningtags/categorieën +ProjectsCategoriesArea=Gebied met projectlabels/categorieën +UsersCategoriesArea=Gebied met gebruikerslabels/categorieën SubCats=Sub-categorieën CatList=Lijst van kenmerken/categorieën CatListAll=Lijst met groepen /categorieën (alle typen) @@ -93,7 +93,7 @@ AddSupplierIntoCategory=Wijs categorie toe aan leverancier ShowCategory=Toon label/categorie ByDefaultInList=Standaard in de lijst ChooseCategory=Kies categorie -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories +StocksCategoriesArea=Magazijncategorieën +ActionCommCategoriesArea=Evenementcategorieën WebsitePagesCategoriesArea= Categorieën voor Page-Container -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=Gebruik de 'OF'-operator voor categorieën diff --git a/htdocs/langs/nl_NL/commercial.lang b/htdocs/langs/nl_NL/commercial.lang index 0f1b0dc9296..634c78c3313 100644 --- a/htdocs/langs/nl_NL/commercial.lang +++ b/htdocs/langs/nl_NL/commercial.lang @@ -64,10 +64,11 @@ ActionAC_SHIP=Stuur verzending per post ActionAC_SUP_ORD=Verzend bestelling per e-mail ActionAC_SUP_INV=Stuur leveranciers-factuur per e-mail ActionAC_OTH=Ander -ActionAC_OTH_AUTO=Automatisch ingevoegde gebeurtenissen +ActionAC_OTH_AUTO=Overig autom. ActionAC_MANUAL=Handmatig ingevoerde gebeurtenissen ActionAC_AUTO=Automatisch ingevoegde gebeurtenissen -ActionAC_OTH_AUTOShort=Automatisch +ActionAC_OTH_AUTOShort=Overig +ActionAC_EVENTORGANIZATION=Evenementenorganisatie gebeurtenissen Stats=Verkoopstatistieken StatusProsp=Prospect-status DraftPropals=Ontwerp van commerciële voorstellen diff --git a/htdocs/langs/nl_NL/companies.lang b/htdocs/langs/nl_NL/companies.lang index 896e5bf9e83..d993a1d4397 100644 --- a/htdocs/langs/nl_NL/companies.lang +++ b/htdocs/langs/nl_NL/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=De bedrijfsnaam %s bestaat al. kies een andere. ErrorSetACountryFirst=Stel eerst het land in SelectThirdParty=Selecteer een derde -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Weet u zeker dat u dit bedrijf en alle gerelateerde informatie wilt verwijderen? DeleteContact=Contactpersoon verwijderen -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Weet je zeker dat je dit contact en alle gerelateerde informatie wilt verwijderen? MenuNewThirdParty=Nieuwe relatie MenuNewCustomer=Nieuwe klant MenuNewProspect=Nieuwe prospect @@ -43,10 +43,10 @@ Individual=Particulier ToCreateContactWithSameName=Maakt automatisch een contact / adres met dezelfde informatie als de derde partij onder de derde partij. In de meeste gevallen, zelfs als uw derde partij een fysiek persoon is, is het voldoende om alleen een derde partij te maken. ParentCompany=Moedermaatschappij Subsidiaries=Dochterondernemingen -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate +ReportByMonth=Rapport per maand +ReportByCustomers=Rapport per klant +ReportByThirdparties=Rapportage per derde partij +ReportByQuarter=Rapporteren per tarief CivilityCode=Aanspreekvorm RegisteredOffice=Statutaire zetel Lastname=Achternaam @@ -69,7 +69,7 @@ PhoneShort=Telefoon Skype=Skype Call=Bel Chat=Chat -PhonePro=Bus. phone +PhonePro=Zakel. telefoon PhonePerso=Telefoonnummer privé PhoneMobile=Telefoonnummer mobiel No_Email=Weigeren bulk e-mailings @@ -78,7 +78,7 @@ Zip=Postcode Town=Plaats Web=Internetadres Poste= Functie -DefaultLang=Default language +DefaultLang=Standaard taal VATIsUsed=Gebruikte BTW VATIsUsedWhenSelling=Dit bepaalt of deze derde een verkoopbelasting omvat of niet wanneer hij een factuur aan zijn eigen klanten maakt VATIsNotUsed=BTW wordt niet gebruikt @@ -173,7 +173,7 @@ ProfId1ES=Prof Id 1 (CIF/NIF) ProfId2ES=Prof Id 2 (Social security number) ProfId3ES=Prof Id 3 (CNAE) ProfId4ES=Prof Id 4 (Collegiate number) -ProfId5ES=Prof Id 5 (EORI number) +ProfId5ES=Prof Id 5 (EORI-nummer) ProfId6ES=- ProfId1FR=Prof. id 1 (SIREN) ProfId2FR=Prof. id 2 (SIRET) @@ -181,7 +181,7 @@ ProfId3FR=Prof. Id 3 (NAF, oude APE) ProfId4FR=Prof. id 4 (RCS / RM) ProfId5FR=Prof Id 5 (numéro EORI) ProfId6FR=- -ProfId1ShortFR=SIREN +ProfId1ShortFR=SIRENE ProfId2ShortFR=SIRET ProfId3ShortFR=NAF ProfId4ShortFR=RCS @@ -239,7 +239,7 @@ ProfId1PT=Prof. id 1 (NIPC) ProfId2PT=Prof. id 2 (Social security number) ProfId3PT=Prof. Id 3 (Commercial Record aantal) ProfId4PT=Prof. id 4 (Conservatorium) -ProfId5PT=Prof Id 5 (EORI number) +ProfId5PT=Prof Id 5 (EORI-nummer) ProfId6PT=- ProfId1SN=RC ProfId2SN=NINEA @@ -263,7 +263,7 @@ ProfId1RO=Prof Id 1 (CUI) ProfId2RO=Prof Id 2 (Nr. Înmatriculare) ProfId3RO=Prof Id 3 (CAEN) ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId5RO=Prof Id 5 (EORI-nummer) ProfId6RO=- ProfId1RU=Prof Id 1 (OGRN) ProfId2RU=Prof Id 2 (INN) @@ -331,7 +331,7 @@ CustomerCodeDesc=Klant code, uniek voor alle klanten SupplierCodeDesc=Leverancierscode, uniek voor alle leveranciers RequiredIfCustomer=Vereist als relatie een afnemer of prospect is RequiredIfSupplier=Vereist als relatie een leverancier is -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Geldigheid gecontroleerd door de module ThisIsModuleRules=Regels voor deze module ProspectToContact=Prospect om contact mee op te nemen CompanyDeleted=Bedrijf '%s' verwijderd uit de database. @@ -439,22 +439,22 @@ ListSuppliersShort=Leverancierslijst ListProspectsShort=Prospectslijst ListCustomersShort=Klantenlijst ThirdPartiesArea=Relaties/Contacten -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Laatste %s Derden die zijn gewijzigd +UniqueThirdParties=Totaal aantal derden InActivity=Open ActivityCeased=Gesloten ThirdPartyIsClosed=Relatie is gesloten -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=Lijst met producten/diensten toegewezen aan %s CurrentOutstandingBill=Huidige openstaande rekening OutstandingBill=Max. voor openstaande rekening OutstandingBillReached=Max. krediet voor openstaande facturen is bereikt OrderMinAmount=Minimum orderbedrag -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=Retourneer een getal in de notatie %syymm-nnnn voor de klantcode en %syymm-nnnn voor de leverancierscode waarbij yy het jaar is, mm de maand en nnnn een automatisch oplopend volgnummer is zonder onderbreking en zonder terugkeer naar 0. LeopardNumRefModelDesc=Afnemers- / leverancierscode is vrij. Deze code kan te allen tijde worden gewijzigd. ManagingDirectors=Manager(s) Naam (CEO, directeur, voorzitter ...) MergeOriginThirdparty=Dupliceren third party (third party die u wilt verwijderen) MergeThirdparties=Samenvoegen third parties -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Weet u zeker dat u de gekozen derde partij wilt samenvoegen met de huidige? Alle gekoppelde objecten (facturen, bestellingen, ...) worden verplaatst naar de huidige derde partij, waarna de gekozen derde partij wordt verwijderd. ThirdpartiesMergeSuccess=Relaties zijn samengevoegd SaleRepresentativeLogin=Login vertegenwoordiger SaleRepresentativeFirstname=Vertegenwoordiger voornaam diff --git a/htdocs/langs/nl_NL/compta.lang b/htdocs/langs/nl_NL/compta.lang index f93194796fe..1f0bbb22212 100644 --- a/htdocs/langs/nl_NL/compta.lang +++ b/htdocs/langs/nl_NL/compta.lang @@ -65,7 +65,7 @@ LT2SupplierIN=SGST-aankopen VATCollected=Geïnde BTW StatusToPay=Te betalen SpecialExpensesArea=Ruimte voor alle bijzondere betalingen -VATExpensesArea=Area for all TVA payments +VATExpensesArea=Ruimte voor alle TVA-betalingen SocialContribution=Sociale of fiscale heffingen/belasting SocialContributions=Sociale of fiscale heffingen/belastingen SocialContributionsDeductibles=Aftrekbare sociale/fiscale lasten/belastingen @@ -86,7 +86,7 @@ PaymentCustomerInvoice=Afnemersfactuur betaling PaymentSupplierInvoice=Betaling leverancier PaymentSocialContribution=Sociale/fiscale belastingbetaling PaymentVat=BTW betaling -AutomaticCreationPayment=Automatically record the payment +AutomaticCreationPayment=Automatisch de betaling registreren ListPayment=Betalingenlijst ListOfCustomerPayments=Afnemersbetalingenlijst ListOfSupplierPayments=Lijst met leveranciersbetalingen @@ -106,8 +106,8 @@ LT2PaymentES=IRPF betaling LT2PaymentsES=IRPF Betalingen VATPayment=Betaling verkoop-belasting VATPayments=Betalingen verkoop-belasting -VATDeclarations=VAT declarations -VATDeclaration=VAT declaration +VATDeclarations=BTW-aangiften +VATDeclaration=btw-aangifte VATRefund=BTW Terugbetaling NewVATPayment=Nieuwe betaling BTW NewLocalTaxPayment=Nieuwe belasting %s betaling @@ -135,20 +135,20 @@ NewCheckReceipt=Nieuwe korting NewCheckDeposit=Nieuwe chequestorting NewCheckDepositOn=Creeer een kwitantie voor de storting op rekening: %s NoWaitingChecks=Geen cheques om af te storten. -DateChequeReceived=Check receiving date +DateChequeReceived=Controleer ontvangstdatum NbOfCheques=Aantal cheques PaySocialContribution=Betaal een sociale/fiscale vordering -PayVAT=Pay a VAT declaration -PaySalary=Pay a salary card -ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? -ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? +PayVAT=Btw-aangifte betalen +PaySalary=Betaal een salariskaart +ConfirmPaySocialContribution=Weet u zeker dat u deze sociale of fiscale belasting als betaald wilt aanmerken? +ConfirmPayVAT=Weet u zeker dat u deze btw-aangifte als betaald wilt classificeren? +ConfirmPaySalary=Weet u zeker dat u deze salariskaart als betaald wilt aanmerken? DeleteSocialContribution=Verwijder een sociale/fiscale betaling -DeleteVAT=Delete a VAT declaration -DeleteSalary=Delete a salary card -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? +DeleteVAT=Een btw-aangifte verwijderen +DeleteSalary=Een salariskaart verwijderen +ConfirmDeleteSocialContribution=Weet u zeker dat u deze sociale/fiscale belastingbetaling wilt verwijderen? +ConfirmDeleteVAT=Weet u zeker dat u deze btw-aangifte wilt verwijderen? +ConfirmDeleteSalary=Weet je zeker dat je dit salaris wilt verwijderen? ExportDataset_tax_1=Sociale- en fiscale belastingen en betalingen CalcModeVATDebt=Mode %sBTW op verbintenissenboekhouding %s. CalcModeVATEngagement=Mode %sBTW op de inkomens-uitgaven %s. @@ -165,7 +165,7 @@ AnnualSummaryDueDebtMode=Balans van inkomsten en uitgaven, jaarlijks overzicht AnnualSummaryInputOutputMode=Balans van inkomsten en uitgaven, jaarlijks overzicht AnnualByCompanies=Saldo van baten en lasten, per vooraf gedefinieerde rekeninggroepen AnnualByCompaniesDueDebtMode=Evenwicht tussen baten en lasten, gedetailleerd per vooraf gedefinieerde groepen, modus %sClaims-Debts%s zei Commitment accounting . -AnnualByCompaniesInputOutputMode=Saldo van baten en lasten, detail door vooraf gedefinieerde groepen, mode %sIncomes-Expenses%s zei cash accounting. +AnnualByCompaniesInputOutputMode=Saldo van baten en lasten, detail door vooraf gedefinieerde groepen, mode %sbaten-lasten%s bij kas boekhouding. SeeReportInInputOutputMode=Zie %s analyse van betalingen%s voor een berekening op basis vangeregistreerde betalingengedaan, zelfs als ze nog niet het grootboek zijn opgenomen SeeReportInDueDebtMode=Zie %s analyse van geregistreerde documenten%s voor een berekening op basis van bekende geregistreerde documenten zelfs als ze nog niet zijn geboekt SeeReportInBookkeepingMode=Zie %s analyse van de boekhoudtabel %s voor een rapport gebaseerd opBoekhoudkundige grootboektabel @@ -175,7 +175,7 @@ RulesResultInOut=- Het omvat de echte betalingen op facturen, uitgaven, btw en s RulesCADue=- Het omvat de verschuldigde facturen van de klant, of ze nu zijn betaald of niet.
    - Het is gebaseerd op de factureringsdatum van deze facturen.
    RulesCAIn=- Het omvat alle effectieve betalingen van facturen ontvangen van klanten.
    - Het is gebaseerd op de betaaldatum van deze facturen
    RulesCATotalSaleJournal=Het omvat alle kredietlijnen uit het verkoopdagboek. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesSalesTurnoverOfIncomeAccounts=Het omvat (credit - debet) regels voor productrekeningen in groep INKOMEN RulesAmountOnInOutBookkeepingRecord=Het bevat een record in uw grootboek met boekhoudrekeningen met de groep "KOSTEN" of "INKOMSTEN" RulesResultBookkeepingPredefined=Het bevat een record in uw grootboek met boekhoudrekeningen met de groep "KOSTEN" of "INKOMSTEN" RulesResultBookkeepingPersonalized=Het toont record in uw grootboek met boekhoudrekeningen gegroepeerd op gepersonaliseerde groepen @@ -196,7 +196,7 @@ VATReportByThirdParties=Verkoopbelastingrapport door relatie VATReportByCustomers=BTW-overzicht per klant VATReportByCustomersInInputOutputMode=Bevestigd door de klant btw geïnd en betaald VATReportByQuartersInInputOutputMode=Rapportage per belasting tarief van belasting geïnd en betaald -VATReportShowByRateDetails=Show details of this rate +VATReportShowByRateDetails=Details van dit tarief weergeven LT1ReportByQuarters=Rapporteer belasting 2 per tarief LT2ReportByQuarters=Belastingaangifte 3 per tarief LT1ReportByQuartersES=Rapport per RE-tarief @@ -231,7 +231,7 @@ Pcg_subtype=Boekhouding ondersoort InvoiceLinesToDispatch=Factuurregels te verzenden ByProductsAndServices=Op product en service RefExt=Externe ref -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +ToCreateAPredefinedInvoice=Om een sjabloonfactuur aan te maken, maakt u een standaardfactuur aan en klikt u vervolgens, zonder deze te valideren, op de knop "%s". LinkedOrder=gekoppeld aan bestelling Mode1=Methode 1 Mode2=Methode 2 @@ -249,8 +249,8 @@ ACCOUNTING_ACCOUNT_CUSTOMER_Desc=De speciale account die is gedefinieerd op de k ACCOUNTING_ACCOUNT_SUPPLIER=Grootboekrekening crediteuren ACCOUNTING_ACCOUNT_SUPPLIER_Desc=De speciale boekhoudrekening die op een kaart van een derde is gedefinieerd, wordt alleen voor boekhouding van Subledger gebruikt. Deze wordt gebruikt voor het grootboek en als standaardwaarde voor de boekhouding van de subadministratie als er geen accountadministratie voor leveranciers bij derden is gedefinieerd. ConfirmCloneTax=Bevestig de kloon van een sociale / fiscale belasting -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary +ConfirmCloneVAT=Bevestig de kloon van een btw-aangifte +ConfirmCloneSalary=Bevestig de kloon van een salaris CloneTaxForNextMonth=Kloon het voor volgende maand SimpleReport=Eenvoudig rapport AddExtraReport=Extra rapportages (voeg een rapport van binnen- en buitenlandse relaties toe) @@ -269,8 +269,8 @@ AccountingAffectation=Boekhoudopdracht LastDayTaxIsRelatedTo=Laatste dag van de periode waarop de belasting betrekking heeft VATDue=Verkoopbelasting geclaimd ClaimedForThisPeriod=Geclaimd voor de periode -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range +PaidDuringThisPeriod=Betaald voor deze periode +PaidDuringThisPeriodDesc=Dit is de som van alle betalingen gekoppeld aan btw-aangiften met een einde-periodedatum in het geselecteerde datumbereik ByVatRate=Per verkoop belastingtarief TurnoverbyVatrate=Omzet gefactureerd per omzetbelasting-tarief TurnoverCollectedbyVatrate=Omzet per BTW tarief @@ -281,8 +281,14 @@ PurchaseTurnoverCollected=Verzamelde inkoop-omzet RulesPurchaseTurnoverDue=- Het bevat de verschuldigde facturen van de leverancier, of ze nu zijn betaald of niet.
    - Het is gebaseerd op de factuurdatum van deze facturen.
    RulesPurchaseTurnoverIn=- Het omvat alle effectieve betalingen van facturen aan leveranciers.
    - Het is gebaseerd op de betalingsdatum van deze facturen
    RulesPurchaseTurnoverTotalPurchaseJournal=Het bevat alle debetregels uit het inkoopdagboek. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE +RulesPurchaseTurnoverOfExpenseAccounts=Het omvat (debet - credit) van regels voor productrekeningen in groep UITGAVEN ReportPurchaseTurnover=Inkoopbedrag gefactureerd ReportPurchaseTurnoverCollected=Verzamelde inkoop-omzet IncludeVarpaysInResults = Neem verschillende betalingen op in rapporten IncludeLoansInResults = Leningen opnemen in rapporten +InvoiceLate30Days = Facturen te laat > 30 dagen +InvoiceLate15Days = Facturen te laat > 15 dagen +InvoiceLateMinus15Days = Facturen te laat +InvoiceNotLate = Op te halen < 15 dagen +InvoiceNotLate15Days = Binnen 15 dagen af te halen +InvoiceNotLate30Days = Binnen 30 dagen af te halen diff --git a/htdocs/langs/nl_NL/cron.lang b/htdocs/langs/nl_NL/cron.lang index a44efab9516..cc37ade9fce 100644 --- a/htdocs/langs/nl_NL/cron.lang +++ b/htdocs/langs/nl_NL/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Einddatum kan niet vóór startdatum liggen StatusAtInstall=Status bij module-installatie CronStatusActiveBtn=Schema CronStatusInactiveBtn=Deactiveren -CronTaskInactive=Deze taak is uitgeschakeld +CronTaskInactive=Deze taak is uitgeschakeld (niet gepland) CronId=Id CronClassFile=Bestandsnaam met class CronModuleHelp=Naam van Dolibarr-modulemap (werkt ook met externe Dolibarr-module).
    Als u bijvoorbeeld de ophaalmethode van Dolibarr Product-object / htdocs / product /class/product.class.php wilt aanroepen, is de waarde voor module
    Product diff --git a/htdocs/langs/nl_NL/deliveries.lang b/htdocs/langs/nl_NL/deliveries.lang index 329c2b74ad0..40e66d6134e 100644 --- a/htdocs/langs/nl_NL/deliveries.lang +++ b/htdocs/langs/nl_NL/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Niet verzendbaar ShowShippableStatus=Toon verzendstatus ShowReceiving=Toon afleverbon NonExistentOrder=Niet bestaande order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Hoeveelheid al toegekend in vorige regels diff --git a/htdocs/langs/nl_NL/donations.lang b/htdocs/langs/nl_NL/donations.lang index e0fe9dcf72e..a2919229bdc 100644 --- a/htdocs/langs/nl_NL/donations.lang +++ b/htdocs/langs/nl_NL/donations.lang @@ -7,7 +7,6 @@ AddDonation=Nieuwe donatie NewDonation=Nieuwe donatie DeleteADonation=Verwijder een donatie ConfirmDeleteADonation=Weet u zeker dat u deze donatie wilt verwijderen? -ShowDonation=Toon donatie PublicDonation=Openbare donatie DonationsArea=Donatiesoverzicht DonationStatusPromiseNotValidated=Voorlopige toezegging @@ -33,3 +32,4 @@ DONATION_ART238=Toon artikel 238 als u bezorgt bent DONATION_ART885=Toon artikel 885 als u bezorgt bent DonationPayment=Donatie betaling DonationValidated=Donatie %s is gevalideerd +DonationUseThirdparties=Gebruik een bestaande relatie als coördinaten van donateurs diff --git a/htdocs/langs/nl_NL/ecm.lang b/htdocs/langs/nl_NL/ecm.lang index 70f70db9a55..93d216ffff3 100644 --- a/htdocs/langs/nl_NL/ecm.lang +++ b/htdocs/langs/nl_NL/ecm.lang @@ -41,7 +41,7 @@ FileNotYetIndexedInDatabase=Bestand nog niet geïndexeerd in database (probeer d ExtraFieldsEcmFiles=Extrafields Ecm-bestanden ExtraFieldsEcmDirectories=Extrafields Ecm-mappen ECMSetup=ECM-instellingen -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +GenerateImgWebp=Dupliceer alle afbeeldingen met een andere versie met .webp-indeling +ConfirmGenerateImgWebp=Als u bevestigt, genereert u een afbeelding in .webp-indeling voor alle afbeeldingen die zich momenteel in deze map bevinden (submappen zijn niet inbegrepen)... +ConfirmImgWebpCreation=Bevestig alle afbeeldingen duplicatie +SucessConvertImgWebp=Afbeeldingen succesvol gedupliceerd diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index 027c4fed658..9471b49e64e 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=Geen fout, wij bevestigen # Errors ErrorButCommitIsDone=Fouten gevonden maar we valideren toch -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=E-mail %s is onjuist +ErrorBadMXDomain=E-mail %s lijkt onjuist (domein heeft geen geldig MX-record) +ErrorBadUrl=URL %s is onjuist ErrorBadValueForParamNotAString=Slechte parameterwaarde. Wordt over het algemeen gegenereerd als de vertaling ontbreekt. ErrorRefAlreadyExists=Referentie %s bestaat al. ErrorLoginAlreadyExists=Inlog %s bestaat reeds. ErrorGroupAlreadyExists=Groep %s bestaat reeds. +ErrorEmailAlreadyExists=email 1%s bestaat al ErrorRecordNotFound=Tabelregel niet gevonden. ErrorFailToCopyFile=Kan bestand '%s' in '%s' te kopiëren. ErrorFailToCopyDir=Kan map '%s' niet kopiëren naar '%s'. @@ -46,8 +47,8 @@ ErrorWrongDate=Datum is niet correct! ErrorFailedToWriteInDir=Schrijven in de map %s mislukt ErrorFoundBadEmailInFile=Onjuist e-mail syntax gevonden voor %s regels in het bestand (bijvoorbeeld regel %s met email=%s) ErrorUserCannotBeDelete=Gebruiker kan niet worden verwijderd. Misschien is het geassocieerd met Dolibarr-entiteiten. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=Sommige verplichte velden zijn leeg gelaten. +ErrorSubjectIsRequired=Het e-mailonderwerp is verplicht ErrorFailedToCreateDir=Creëren van een map mislukt. Controleer of de Webservergebruiker toestemming heeft om te schrijven in Dolibarr documentenmap. Wanneer de parameter safe_mode is ingeschakeld in PHP, controleer dan dat de Dolibarr php bestanden eigendom zijn van de de webserve gebruiker (of groep). ErrorNoMailDefinedForThisUser=Geen e-mailadres ingesteld voor deze gebruiker ErrorSetupOfEmailsNotComplete=Het instellen van e-mails is niet voltooid @@ -59,7 +60,7 @@ ErrorDirNotFound=Map %s niet gevonden (Verkeerd pad, te weinig rechten of ErrorFunctionNotAvailableInPHP=Functie %s is vereist voor deze functionaliteit, maar is niet beschikbaar in deze versie / installatie van PHP. ErrorDirAlreadyExists=Er bestaat al een map met deze naam. ErrorFileAlreadyExists=Er bestaat al een bestand met deze naam. -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists=Er bestaat al een ander bestand met de naam %s . ErrorPartialFile=Het bestand is niet volledig ontvangen door de server. ErrorNoTmpDir=Tijdelijke map %s bestaat niet. ErrorUploadBlockedByAddon=Upload geblokkeerd door een PHP- en / of Apache-plugin. @@ -117,7 +118,7 @@ ErrorCantReadFile=Fout bij lezen bestand '%s' ErrorCantReadDir=Fout bij lezen van de map '%s' ErrorBadLoginPassword=Onjuiste waarde voor gebruikersnaam of wachtwoord ErrorLoginDisabled=Uw gebruikersaccount is uitgeschakeld -ErrorFailedToRunExternalCommand=Uitvoeren van het externe commando mislukt. Controleer of deze beschikbaar is en uitvoerbaar is op uw server. Als PHP Safe mode is ingeschakeld, controleert u dan of het commando in de map staat die door de instelling safe_mode_exec_dir. wordt aangegeven. +ErrorFailedToRunExternalCommand=Kan externe opdracht niet uitvoeren. Controleer of het beschikbaar is en kan worden uitgevoerd door uw PHP-servergebruiker. Controleer ook of de opdracht niet op shell-niveau wordt beschermd door een beveiligingslaag zoals apparmor. ErrorFailedToChangePassword=Het wijzigen van het wachtwoord is mislukt. ErrorLoginDoesNotExists=Gebruiker met gebruikersnaam %s kon niet worden gevonden. ErrorLoginHasNoEmail=Deze gebruiker heeft geen e-mail adres. Proces afgebroken. @@ -226,9 +227,9 @@ ErrorAPageWithThisNameOrAliasAlreadyExists=De pagina / container %s%s
    is ingeschakeld. WarningCreateSubAccounts=Waarschuwing, u kunt niet rechtstreeks een subaccount aanmaken, u moet een derde partij of een gebruiker aanmaken en hen een boekhoudcode toewijzen om ze in deze lijst te vinden WarningAvailableOnlyForHTTPSServers=Alleen beschikbaar als u een beveiligde HTTPS-verbinding gebruikt. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningModuleXDisabledSoYouMayMissEventHere=Module %s is niet ingeschakeld. Je kunt hier dus veel evenementen missen. +ErrorActionCommPropertyUserowneridNotDefined=Eigenaar van gebruiker is vereist +ErrorActionCommBadType=Het geselecteerde gebeurtenistype (id: %n, code: %s) bestaat niet in het woordenboek voor gebeurtenistypes +CheckVersionFail=Versiecontrole mislukt +ErrorWrongFileName=De naam van het bestand mag niet __SOMETHING__ bevatten +ErrorNotInDictionaryPaymentConditions=Niet bekend in de gedefinieerde betaalregelingen, graag wijzigen diff --git a/htdocs/langs/nl_NL/eventorganization.lang b/htdocs/langs/nl_NL/eventorganization.lang index 7dce772b270..8227e5a966d 100644 --- a/htdocs/langs/nl_NL/eventorganization.lang +++ b/htdocs/langs/nl_NL/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,86 +17,133 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Evenementenorganisatie +EventOrganizationDescription = Evenementenorganisatie via moduleproject +EventOrganizationDescriptionLong= Beheer evenementorganisatie voor conferentie, aanwezigen, spreker en aanwezigen, met openbare abonnementspagina # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Georganiseerde evenementen +EventOrganizationConferenceOrBoothMenuLeft = Conferentie of stand # # Admin page # -EventOrganizationSetup = Event Organization setup +EventOrganizationSetup = Evenementorganisatie instellen Settings = Instellingen -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference -EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EventOrganizationSetupPage = Instellingenpagina voor evenementorganisatie +EVENTORGANIZATION_TASK_LABEL = Label van taken om automatisch te maken wanneer het project is gevalideerd +EVENTORGANIZATION_TASK_LABELTooltip = Wanneer u een georganiseerd evenement valideert, kunnen sommige taken automatisch worden aangemaakt in het project

    Bijvoorbeeld:
    Send Call for Conference
    Send Call for Booth
    Send call for conferences a0342fcc Receive call for aanwezigen herinner aan evenement naar sprekers
    Stuur herinnering aan evenement naar standhoster
    Stuur herinnering aan evenement naar aanwezigen +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Categorie om toe te voegen aan derden, automatisch aangemaakt wanneer iemand een conferentie voorstelt +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Categorie om toe te voegen aan derden, automatisch aangemaakt wanneer ze een stand voorstellen +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Sjabloon van e-mail om te verzenden na ontvangst van een suggestie van een conferentie. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Sjabloon van e-mail om te verzenden na ontvangst van een suggestie van een stand. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Sjabloon van e-mail om te verzenden nadat een abonnement op een stand is betaald. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Sjabloon van e-mail om te verzenden nadat een abonnement op een evenement is betaald. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Sjabloon van e-mail van massage aan aanwezigen +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Sjabloon van e-mail van massage aan sprekers +EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter de selectielijst van derden in de kaart/formulier voor het maken van deelnemers met categorie +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter de selectielijst van derden in de kaart/formulier voor het maken van deelnemers met het klanttype # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription +EventOrganizationConfOrBooth= Conferentie of stand +ManageOrganizeEvent = Evenementenorganisatie beheren +ConferenceOrBooth = Conferentie of stand +ConferenceOrBoothTab = Conferentie of stand +AmountOfSubscriptionPaid = Bedrag betaald abonnement +DateSubscription = Datum van inschrijving ConferenceOrBoothAttendee = Conference Or Booth Attendee # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Uw verzoek voor een conferentie is ontvangen +YourOrganizationEventBoothRequestWasReceived = Uw aanvraag voor een stand is ontvangen +EventOrganizationEmailAskConf = Verzoek om conferentie +EventOrganizationEmailAskBooth = Aanvraag voor stand +EventOrganizationEmailSubsBooth = Abonnement op stand +EventOrganizationEmailSubsEvent = Abonnement voor een evenement +EventOrganizationMassEmailAttendees = Communicatie naar deelnemers +EventOrganizationMassEmailSpeakers = Communicatie naar sprekers # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +AllowUnknownPeopleSuggestConf=Onbekenden toestaan om conferenties voor te stellen +AllowUnknownPeopleSuggestConfHelp=Onbekenden toestaan om conferenties voor te stellen +AllowUnknownPeopleSuggestBooth=Laat onbekenden een stand voorstellen +AllowUnknownPeopleSuggestBoothHelp=Laat onbekenden een stand voorstellen +PriceOfRegistration=Prijs van registratie +PriceOfRegistrationHelp=Prijs van registratie +PriceOfBooth=Abonnementsprijs om een stand te staan +PriceOfBoothHelp=Abonnementsprijs om een stand te staan +EventOrganizationICSLink=Link ICS voor evenementen +ConferenceOrBoothInformation=Informatie over conferentie of stand Or +Attendees = deelnemers +DownloadICSLink = ICS-link downloaden +EVENTORGANIZATION_SECUREKEY = Beveiligde sleutel van de openbare registratielink naar een conferentie +SERVICE_BOOTH_LOCATION = Service gebruikt voor de factuurregel over een standlocatie +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service die wordt gebruikt voor de factuurrij over een deelnemersabonnement op een conferentie +NbVotes=Aantal stemmen # # Status # EvntOrgDraft = Ontwerp -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified +EvntOrgSuggested = Suggereerde +EvntOrgConfirmed = bevestigd +EvntOrgNotQualified = Niet gekwalificeerd EvntOrgDone = Uitgevoerd -EvntOrgCancelled = Cancelled +EvntOrgCancelled = Geannuleerd # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Suggestie pagina +RegisterPage = Pagina voor conferenties of stand +EvntOrgRegistrationHelpMessage = Hier kunt u stemmen op een evenement of een nieuwe conferentie of stand voorstellen voor het project +EvntOrgRegistrationConfHelpMessage = Hier kunt u een nieuwe conferentie voor het project voorstellen +EvntOrgRegistrationBoothHelpMessage = Hier kunt u een nieuwe stand voor het project voorstellen +ListOfSuggestedConferences = Lijst met voorgestelde conferenties +ListOfSuggestedBooths = Lijst met voorgestelde stands +SuggestConference = Een nieuwe conferentie voorstellen +SuggestBooth = Stel een stand voor +ViewAndVote = Bekijk en stem op voorgestelde evenementen +PublicAttendeeSubscriptionPage = Openbare link van registratie voor een conferentie +MissingOrBadSecureKey = De beveiligingssleutel is ongeldig of ontbreekt +EvntOrgWelcomeMessage = Met dit formulier kunt u zich als nieuwe deelnemer aan de conferentie registreren: '%s' +EvntOrgDuration = Deze conferentie begint op %s en eindigt op %s. +ConferenceAttendeeFee = Conferentiebezoekerstarief voor het evenement: '%s' variërend van %s tot %s. +BoothLocationFee = Standplaats voor het evenement : '%s' van %s tot %s +EventType = Taak type +LabelOfBooth=Booth label +LabelOfconference=Conferentie label +ConferenceIsNotConfirmed=Abonnement niet beschikbaar, de bijeenkomst is nog niet bevestigd +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welkom op de congres- of standsuggestiepagina. +EvntOrgRegistrationConfWelcomeMessage = Welkom op de pagina met congressuggesties. +EvntOrgRegistrationBoothWelcomeMessage = Welkom op de stand suggestie pagina. +EvntOrgVoteHelpMessage = Hier kunt u de voorgestelde evenementen voor het project bekijken en erop stemmen +VoteOk = Uw stem is geaccepteerd. +AlreadyVoted = Je hebt al op dit evenement gestemd. +VoteError = Er is een fout opgetreden tijdens het stemmen, probeer het opnieuw. + +# +# SubscriptionOk page +# +SubscriptionOk = Uw abonnement op deze conferentie is gevalideerd +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Bevestiging van uw abonnement op een conferentie +# +# Payment page +# +Attendee = deelnemer +PaymentConferenceAttendee = Conferentie deelnemer betaling +PaymentBoothLocation = Standplaats betaling diff --git a/htdocs/langs/nl_NL/exports.lang b/htdocs/langs/nl_NL/exports.lang index 5ea7b305541..0947aad05c8 100644 --- a/htdocs/langs/nl_NL/exports.lang +++ b/htdocs/langs/nl_NL/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type van de regel (0=product, 1=dienst) FileWithDataToImport=Bestand met te importeren gegevens FileToImport=Te importeren bronbestand FileMustHaveOneOfFollowingFormat=Het te importeren bestand moet een van de volgende indelingen hebben -DownloadEmptyExample=Sjabloonbestand downloaden met veldinhoudsinformatie (* zijn verplichte velden) +DownloadEmptyExample=Download de template file met informatie over de velden +StarAreMandatory=* zijn verplichte velden ChooseFormatOfFileToImport=Kies de bestandsindeling die u als importbestandsindeling wilt gebruiken door op het pictogram %s te klikken om deze te selecteren ... ChooseFileToImport=Upload het bestand en klik vervolgens op het pictogram %s om het bestand te selecteren als bronimportbestand ... SourceFileFormat=Bestandsformaat van het bronbestand diff --git a/htdocs/langs/nl_NL/externalsite.lang b/htdocs/langs/nl_NL/externalsite.lang index 1685de63461..a5de68679db 100644 --- a/htdocs/langs/nl_NL/externalsite.lang +++ b/htdocs/langs/nl_NL/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite ExternalSiteSetup=Instellingen voor de link naar een externe website -ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteURL=Externe site-URL van HTML-iframe-inhoud ExternalSiteModuleNotComplete=Module Externe Site werd niet correct geconfigureerd. ExampleMyMenuEntry=Mijn menu-item diff --git a/htdocs/langs/nl_NL/help.lang b/htdocs/langs/nl_NL/help.lang index 386e07c3007..2274f1bd640 100644 --- a/htdocs/langs/nl_NL/help.lang +++ b/htdocs/langs/nl_NL/help.lang @@ -1,23 +1,23 @@ # Dolibarr language file - Source file is en_US - help -CommunitySupport=Forum en Wiki ondersteuning -EMailSupport=E-mailondersteuning -RemoteControlSupport=Online realtime / externe ondersteuning +CommunitySupport=Forum/Wiki-ondersteuning +EMailSupport=Ondersteuning voor e-mails +RemoteControlSupport=Online realtime / ondersteuning op afstand OtherSupport=Andere ondersteuning -ToSeeListOfAvailableRessources=Om contact op te nemen zie de beschikbare bronnen: +ToSeeListOfAvailableRessources=Om contact op te nemen/beschikbare bronnen te bekijken: HelpCenter=Helpcentrum -DolibarrHelpCenter=Help- en ondersteuningscentrum van Dolibarr -ToGoBackToDolibarr=Anders klikt u hier om Dolibarr te blijven gebruiken . -TypeOfSupport=Soort ondersteuning +DolibarrHelpCenter=Dolibarr Help- en ondersteuningscentrum +ToGoBackToDolibarr=Anders klik hier om Dolibarr te blijven gebruiken . +TypeOfSupport=Type ondersteuning TypeSupportCommunauty=Gemeenschap (gratis) -TypeSupportCommercial=Commercieel (betaald) -TypeOfHelp=Soort -NeedHelpCenter=Hulp of support nodig? -Efficiency=Efficiëntie -TypeHelpOnly=Alleen Hulp -TypeHelpDev=Hulp & Ontwikkeling -TypeHelpDevForm=Help + Ontwikkeling + Training -BackToHelpCenter=Ga anders terug naar de startpagina van het Helpcentrum . -LinkToGoldMember=U kunt een van de door Dolibarr geselecteerde trainers voor uw taal (%s) bellen door op hun Widget te klikken (status en maximumprijs worden automatisch bijgewerkt): +TypeSupportCommercial=Reclame +TypeOfHelp=Type +NeedHelpCenter=Hulp of ondersteuning nodig? +Efficiency=efficiëntie +TypeHelpOnly=Alleen hulp +TypeHelpDev=Help+Ontwikkeling +TypeHelpDevForm=Help+Ontwikkeling+Training +BackToHelpCenter=Ga anders terug naar de startpagina van het Helpcentrum . +LinkToGoldMember=U kunt een van de door Dolibarr voor uw taal geselecteerde trainers bellen (%s) door op hun Widget te klikken (status en maximumprijs worden automatisch bijgewerkt): PossibleLanguages=Ondersteunde talen -SubscribeToFoundation=Help het Dolibarr-project, abonneer u op de stichting -SeeOfficalSupport=Voor officiële Dolibarr ondersteuning in uw taal:
    %s +SubscribeToFoundation=Help het Dolibarr-project, abonneer je op de stichting +SeeOfficalSupport=Voor officiële Dolibarr-ondersteuning in uw taal:
    %s diff --git a/htdocs/langs/nl_NL/holiday.lang b/htdocs/langs/nl_NL/holiday.lang index c85ba9f9f1d..2f9bc8bff0e 100644 --- a/htdocs/langs/nl_NL/holiday.lang +++ b/htdocs/langs/nl_NL/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Wachten op goedkeuring ApprovedCP=Goedgekeurd CancelCP=Geannuleerd RefuseCP=Geweigerd -ValidatorCP=Gevolmachtigde voor goedkeuring +ValidatorCP=Goedkeurder ListeCP=Lijst van verlof Leave=Verlof aanvraag LeaveId=Laat ID achter @@ -39,10 +39,10 @@ TitreRequestCP=Verlof aanvraag TypeOfLeaveId=Type verlof-ID TypeOfLeaveCode=Type verlofcode TypeOfLeaveLabel=Soort verloflabel -NbUseDaysCP=Aantal verbruikte verlofdagen -NbUseDaysCPHelp=De berekening houdt rekening met de niet-werkdagen en de feestdagen gedefinieerd in het woordenboek. -NbUseDaysCPShort=Dagen verbruikt -NbUseDaysCPShortInMonth=Dagen verbruikt in maand +NbUseDaysCP=Aantal gebruikte verlofdagen +NbUseDaysCPHelp=De berekening houdt rekening met de niet-werkdagen en de feestdagen die in het woordenboek zijn gedefinieerd. +NbUseDaysCPShort=Verlofdagen +NbUseDaysCPShortInMonth=Verlofdagen in maand DayIsANonWorkingDay=%s is een niet-werkdag DateStartInMonth=Startdatum in maand DateEndInMonth=Einddatum in maand @@ -55,7 +55,7 @@ TitleDeleteCP=Verwijderen verlofverzoek ConfirmDeleteCP=Akkoord met het verwijderen van het verlofverzoek? ErrorCantDeleteCP=Fout. U heeft geen rechten dit verzoek te verwijderen. CantCreateCP=U heeft geen rechten voor het aanmaken van uw verlofverzoek -InvalidValidatorCP=U moet een iemand kiezen voor het goedkeuren van het verlofverzoek +InvalidValidatorCP=U moet een persoon voor goedkeuring kiezen voor uw verlofaanvraag. NoDateDebut=U moet een startdatum ingeven. NoDateFin=U moet een einddatum ingeven. ErrorDureeCP=Uw verzoek betreft geen werkdag. @@ -80,14 +80,14 @@ UserCP=Gebruiker ErrorAddEventToUserCP=Er is een fout ontstaan bij het toekennen van het uitzonderlijk verlof. AddEventToUserOkCP=Het uitzonderlijk verlof is toegevoegd. MenuLogCP=Raadplegen log van wijzigingen -LogCP=Overzicht aanpassingen van beschikbare vakantiedagen -ActionByCP=Gedaan door -UserUpdateCP=Voor gebruiker +LogCP=Logboek van alle updates van "Verlofsaldo" +ActionByCP=Bijgewerkt door +UserUpdateCP=Bijgewerkt voor PrevSoldeCP=Vorig saldo NewSoldeCP=Nieuw saldo alreadyCPexist=U heeft een verlofverzoek aangemaakt welke reeds bestaat voor deze periode. -FirstDayOfHoliday=Eerste vakantiedag -LastDayOfHoliday=Laatste vakantiedag +FirstDayOfHoliday=Begin dag verlofaanvraag +LastDayOfHoliday=Einde verlofdag aanvraag BoxTitleLastLeaveRequests=Laatste %s aangepaste verlofverzoeken HolidaysMonthlyUpdate=Maandelijkse update ManualUpdate=Handmatige update @@ -104,8 +104,8 @@ LEAVE_SICK=Ziekteverlof LEAVE_OTHER=Overig verlof LEAVE_PAID_FR=Betaalde vakantie ## Configuration du Module ## -LastUpdateCP=Laatste automatische update van verloftoewijzing -MonthOfLastMonthlyUpdate=Maand van laatste automatische update van verloftoewijzing +LastUpdateCP=Laatste automatische update verloftoewijzing +MonthOfLastMonthlyUpdate=Maand van de laatste automatische update van verloftoewijzing UpdateConfCPOK=Bijgewerkt. Module27130Name= Beheer verlofverzoeken Module27130Desc= Beheer verlofverzoeken @@ -125,10 +125,12 @@ HolidaysCanceledBody=Uw verlofverzoek van%s tot %s is geannuleerd. FollowedByACounter=1: Dit soort verlof moet worden vervolgd met een teller. Deze zal handmatig of automatisch worden opgehoogd en wanneer verlofverzoek is goedgekeurd, zal deze automatisch aftellen.
    0: Niet worden vervolgd met teller NoLeaveWithCounterDefined=Er zijn geen soorten verlof waarbij een teller nodig is. GoIntoDictionaryHolidayTypes=Ga naar Home - Instellingen - Woordenboeken - Soort verlof om de verschillende soorten bladeren in te stellen. -HolidaySetup=Installatie van module Vakantie -HolidaysNumberingModules=Verlaat nummeringsmodellen +HolidaySetup=Opstelling van module Verlof +HolidaysNumberingModules=Nummeringsmodellen voor verlofaanvragen TemplatePDFHolidays=Sjabloon voor verlofaanvragen PDF FreeLegalTextOnHolidays=Vrije tekst op PDF WatermarkOnDraftHolidayCards=Watermerken op ontwerp verlofaanvragen HolidaysToApprove=Vakanties goed te keuren NobodyHasPermissionToValidateHolidays=Niemand heeft toestemming om vakanties te valideren +HolidayBalanceMonthlyUpdate=Maandelijkse update van de vrije dagen +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/nl_NL/hrm.lang b/htdocs/langs/nl_NL/hrm.lang index 479157a79aa..f1c5d57fef4 100644 --- a/htdocs/langs/nl_NL/hrm.lang +++ b/htdocs/langs/nl_NL/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Weet u zeker dat u deze vestiging wilt verwijderen? OpenEtablishment=Open vestiging CloseEtablishment=Sluit vestiging # Dictionary -DictionaryPublicHolidays=HRM - Feestdagen +DictionaryPublicHolidays=Verlof - Feestdagen DictionaryDepartment=HRM - Afdelingslijst DictionaryFunction=HRM - Vacatures # Module diff --git a/htdocs/langs/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index a14f8833530..5f1eb91c66a 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migratie van fotopaden voor gebruikers MigrationFieldsSocialNetworks=Migratie van gebruikersvelden sociale netwerken (%s) MigrationReloadModule=Herlaad module %s MigrationResetBlockedLog=Reset BlockedLog module voor v7 algoritme +MigrationImportOrExportProfiles=Migratie van de import of export profielen (1%s) ShowNotAvailableOptions=Toon niet beschikbare opties HideNotAvailableOptions=Niet-beschikbare opties verbergen ErrorFoundDuringMigration=Er zijn fouten gemeld tijdens het migratieproces, dus de volgende stap is niet beschikbaar. Om fouten te negeren, kunt u hier klikken , maar de toepassing of sommige functies werken mogelijk niet correct totdat de fouten zijn opgelost. diff --git a/htdocs/langs/nl_NL/interventions.lang b/htdocs/langs/nl_NL/interventions.lang index b984fa9206f..431c1208a5e 100644 --- a/htdocs/langs/nl_NL/interventions.lang +++ b/htdocs/langs/nl_NL/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Duur regel interventie InterLineDesc=Opmerking regel interventie RepeatableIntervention=Sjabloon voor interventie ToCreateAPredefinedIntervention=Als u een vooraf gedefinieerde of terugkerende interventie wilt maken, maakt u een gemeenschappelijke interventie en converteert u deze naar een interventiesjabloon -Reopen=Heropenen ConfirmReopenIntervention=Weet u zeker dat u de interventie %s weer wilt openen? +GenerateInter=Genereer interventie diff --git a/htdocs/langs/nl_NL/knowledgemanagement.lang b/htdocs/langs/nl_NL/knowledgemanagement.lang index 21c29de7faf..9e60dff9eea 100644 --- a/htdocs/langs/nl_NL/knowledgemanagement.lang +++ b/htdocs/langs/nl_NL/knowledgemanagement.lang @@ -18,16 +18,16 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Kennisbeheersysteem # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Beheer een Knowledge Management (KM) of helpdeskbasis # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Kennisbeheersysteem instellen Settings = Instellingen -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Kennisbeheersysteem opstartpagina # @@ -37,19 +37,13 @@ About = Over KnowledgeManagementAbout = Over Kennis Management KnowledgeManagementAboutPage = Over Kennis Management pagina -# -# Sample page -# KnowledgeManagementArea = Kennis Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +MenuKnowledgeRecord = Kennis basis +ListKnowledgeRecord = Lijst met artikelen +NewKnowledgeRecord = Nieuw artikel +ValidateReply = Valideer oplossing +KnowledgeRecords = Lidwoord KnowledgeRecord = Artikel -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Extravelden voor Artikel +GroupOfTicket=Groep van tickets +YouCanLinkArticleToATicketCategory=Je kunt een artikel linken naar een ticket groep (dan wordt dit artikel als suggestie gegeven bij een nieuwe ticket) diff --git a/htdocs/langs/nl_NL/languages.lang b/htdocs/langs/nl_NL/languages.lang index 4d1ee5150ff..b3e4d580177 100644 --- a/htdocs/langs/nl_NL/languages.lang +++ b/htdocs/langs/nl_NL/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopisch Language_ar_AR=Arabisch Language_ar_EG=Arabisch (Egyptisch) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabisch +Language_ar_TN=Arabisch (Tunesië) +Language_ar_IQ=Arabisch (Irakees) Language_az_AZ=Azerbeidzjaans Language_bn_BD=Bengaals Language_bn_IN=Bengaals (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepalees Language_nl_BE=Nederlands (België) Language_nl_NL=Nederlands Language_pl_PL=Pools +Language_pt_AO=Portugees (Angola) Language_pt_BR=Portugees (Brazilië) Language_pt_PT=Portugees +Language_ro_MD=Roemeens (Moldavië) Language_ro_RO=Roemeens Language_ru_RU=Russisch Language_ru_UA=Russisch (Oekraïne) diff --git a/htdocs/langs/nl_NL/mails.lang b/htdocs/langs/nl_NL/mails.lang index 0e423abdd91..52e3c118af5 100644 --- a/htdocs/langs/nl_NL/mails.lang +++ b/htdocs/langs/nl_NL/mails.lang @@ -15,7 +15,7 @@ MailToUsers=Aan gebruiker(s) MailCC=Kopieën aan (cc) MailToCCUsers=Kopiëren naar gebruiker(s) MailCCC=Blinde kopie aan (bcc) -MailTopic=Email subject +MailTopic=E-mail onderwerp MailText=Bericht MailFile=Bijgevoegde bestanden MailMessage=E-mail inhoud @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=Er staan geen e-mail kennisgevingen gepland voor dit t ANotificationsWillBeSent=1 automatische notificatie zal worden verstuurd per e-mail SomeNotificationsWillBeSent=%s automatische notificatie zal per e-mail worden verstuurd AddNewNotification=Abonneer u op een nieuwe automatische e-mailmelding (doel/gebeurtenis) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=Lijst met alle actieve abonnementen (doelen/evenementen) voor automatische e-mailmelding +ListOfNotificationsDone=Lijst met alle automatisch verzonden e-mailmeldingen MailSendSetupIs=Configuratie van e-mailverzending is ingesteld op '%s'. Deze modus kan niet worden gebruikt om bulk e-mails te verzenden. MailSendSetupIs2=Ga eerst met een beheerdersaccount naar menu %s Home - Set-up - E-mails%s om de parameter '%s' te wijzigen om de modus '%s' te gebruiken. Met deze modus kunt u de installatie van de SMTP-server van uw internetprovider openen en de functie Bulk e-mails gebruiken. MailSendSetupIs3=Indien u vragen heeft inzake de SMTP server, went u zich dan tot %s. @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Verwijder filter AdvTgtSaveFilter=Bewaar filter AdvTgtCreateFilter=Creëer filter AdvTgtOrCreateNewFilter=Naam nieuwe filter -NoContactWithCategoryFound=Geen contact / adres met een categorie gevonden -NoContactLinkedToThirdpartieWithCategoryFound=Geen contact / adres met een categorie gevonden +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Uitgaande e-mail InGoingEmailSetup=Inkomende e-mail OutGoingEmailSetupForEmailing=Uitgaande e-mailinstellingen (voor module %s) @@ -175,5 +175,5 @@ Answered=Beantwoord IsNotAnAnswer=Is geen antwoord (initiële e-mail) IsAnAnswer=Is een antwoord van een initiële e-mail RecordCreatedByEmailCollector=Record aangemaakt door de E-mail Collector %s van e-mail %s -DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing -DefaultStatusEmptyMandatory=Empty but mandatory +DefaultBlacklistMailingStatus=Standaard contactstatus voor bulkmailing weigeren +DefaultStatusEmptyMandatory=Leeg maar verplicht diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 0a42f7f79c5..b73bbc9d7e0 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -15,21 +15,21 @@ FormatDateShortJavaInput=dd-MM-yyyy FormatDateShortJQuery=dd-mm-yy FormatDateShortJQueryInput=dd-mm-yy FormatHourShortJQuery=HH:MI -FormatHourShort=%H:%M %p +FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M -FormatDateTextShort=%d %b %Y -FormatDateText=%d %B %Y -FormatDateHourShort=%d-%m-%Y %H:%M -FormatDateHourSecShort=%d/%m/%Y %I:%M:%S %p -FormatDateHourTextShort=%d %b %Y %H:%M -FormatDateHourText=%d %B %Y %H:%M +FormatDateTextShort=%d %b, %Y +FormatDateText=%d %B, %Y +FormatDateHourShort=%d-%m-%Y %I:%M %p +FormatDateHourSecShort=%d-%m-%Y %I:%M:%S %p +FormatDateHourTextShort=%d %m, %Y, %I:%M %p +FormatDateHourText=%d %B, %Y, %I:%M %p DatabaseConnection=Databaseverbinding NoTemplateDefined=Geen sjabloon beschikbaar voor dit e-mailtype AvailableVariables=Beschikbare substitutievariabelen NoTranslation=Geen vertaling Translation=Vertaling -CurrentTimeZone=Huidige tijdzone (server) -EmptySearchString=Voer geen lege zoekcriteria in +CurrentTimeZone=TimeZone PHP (server) +EmptySearchString=Voer niet-lege zoekcriteria in EnterADateCriteria=Voer een datumcriterium in NoRecordFound=Geen item gevonden NoRecordDeleted=Geen record verwijderd @@ -180,7 +180,7 @@ SaveAndNew=Opslaan en nieuw TestConnection=Test verbinding ToClone=Klonen ConfirmCloneAsk=Weet u zeker dat u het object %s wilt klonen? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=Kies de gegevens die u wilt klonen: NoCloneOptionsSpecified=Geen gegevens om te klonen gedefinieerd. Of=van Go=Ga @@ -224,7 +224,7 @@ Value=Waarde PersonalValue=Persoonlijke waarde NewObject=Nieuw %s NewValue=Nieuwe waarde -OldValue=Old value %s +OldValue=Oude waarde %s CurrentValue=Huidige waarde Code=Code Type=Type @@ -246,7 +246,7 @@ DefaultModel=Standaard document sjabloon Action=Actie About=Over Number=Aantal -NumberByMonth=Total reports by month +NumberByMonth=Totaal aantal rapporten per maand AmountByMonth=Bedrag per maand Numero=Nummer Limit=Limiet @@ -278,7 +278,7 @@ DateModificationShort=Wijzigingsdatum IPModification=Wijziging IP DateLastModification=Laatste wijzigingsdatum DateValidation=Validatiedatum -DateSigning=Signing date +DateSigning=Ondertekeningsdatum DateClosing=Sluitingsdatum DateDue=Vervaldatum DateValue=Valutadatum @@ -341,8 +341,8 @@ KiloBytes=KiloBytes MegaBytes=MegaBytes GigaBytes=GigaBytes TeraBytes=Terabytes -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=opgemaakt door +UserModif=Bijgewerkt door b=b Kb=Kb Mb=Mb @@ -362,7 +362,7 @@ UnitPriceHTCurrency=Eenheidsprijs (excl.) (Valuta) UnitPriceTTC=Eenheidsprijs (bruto) PriceU=E.P. PriceUHT=EP (netto) -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=U.P (netto) (valuta) PriceUTTC=U.P. (inc. belasting) Amount=Bedrag AmountInvoice=Factuurbedrag @@ -390,8 +390,8 @@ AmountTotal=Totaal bedrag AmountAverage=Gemiddeld bedrag PriceQtyMinHT=Prijs hoeveelheid min. (excl. belasting) PriceQtyMinHTCurrency=Prijs hoeveelheid min. (excl. belasting) (valuta) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PercentOfOriginalObject=Percentage van origineel object +AmountOrPercent=Bedrag of percentage Percentage=Percentage Total=Totaal SubTotal=Subtotaal @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Bijkomende centen VATRate=BTW-tarief +RateOfTaxN=Belastingtarief %s VATCode=Belastingtariefcode VATNPR=NPR belastingtarief DefaultTaxRate=BTW tarief @@ -661,7 +662,7 @@ SupplierPreview=Voorbeeld van leverancier ShowCustomerPreview=Toon afnemersvoorbeeldweergave ShowSupplierPreview=Laat voorbeeld leverancier zien RefCustomer=Referentie afnemer -InternalRef=Internal ref. +InternalRef=Interne ref. Currency=Valuta InfoAdmin=Informatie voor beheerders Undo=Ongedaan maken @@ -729,7 +730,8 @@ MenuMembers=Leden MenuAgendaGoogle=Google-agenda MenuTaxesAndSpecialExpenses=Belastingen | Bijzondere kosten ThisLimitIsDefinedInSetup=Dolibarr limiet (Menu Home-Instellingen-Beveiliging): %s Kb, PHP grens: %s Kb -NoFileFound=No documents uploaded +ThisLimitIsDefinedInSetupAt=Dolibarr limiet (Menu %s): %s Kb, PHP limiet (Param %s): %s Kb +NoFileFound=Geen documenten geüpload CurrentUserLanguage=Huidige taal CurrentTheme=Actuele thema CurrentMenuManager=Huidige menu manager @@ -845,7 +847,7 @@ XMoreLines=%s regel(s) verborgen ShowMoreLines=Laat meer/minder regels zien PublicUrl=Openbare URL AddBox=Box toevoegen -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Selecteer een element en klik op %s PrintFile=Bestand afdrukken %s ShowTransaction=Toon bankmutatie ShowIntervention=Tonen tussenkomst @@ -856,8 +858,8 @@ Denied=Gewijgerd ListOf=Lijst van %s ListOfTemplates=Lijst van templates Gender=Geslacht -Genderman=Male -Genderwoman=Female +Genderman=Mannetje +Genderwoman=Vrouw Genderother=Overig ViewList=Bekijk lijst ViewGantt=Gantt-weergave @@ -904,10 +906,10 @@ ViewAccountList=Grootboek bekijken ViewSubAccountList=Bekijk het grootboek van de subrekening RemoveString='%s' string verwijderen SomeTranslationAreUncomplete=Sommige aangeboden talen zijn mogelijk slechts gedeeltelijk vertaald of kunnen fouten bevatten. Help ons om uw taal te corrigeren door u te registreren op https://transifex.com/projects/p/dolibarr/ om uw verbeteringen toe te voegen. -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +DirectDownloadLink=Openbare downloadlink +PublicDownloadLinkDesc=Alleen de link is vereist om het bestand te downloaden +DirectDownloadInternalLink=Privé downloadlink +PrivateDownloadLinkDesc=Je moet ingelogd zijn en je hebt rechten nodig om het bestand te bekijken of te downloaden Download=Downloaden DownloadDocument=Download document ActualizeCurrency=Bijwerken valutakoers @@ -1020,7 +1022,7 @@ SearchIntoContacts=Contacten SearchIntoMembers=Leden SearchIntoUsers=Gebruikers SearchIntoProductsOrServices=Diensten of Producten -SearchIntoBatch=Lots / Serials +SearchIntoBatch=Loten/series SearchIntoProjects=Projecten SearchIntoMO=Productieorders SearchIntoTasks=Taken @@ -1057,13 +1059,13 @@ KeyboardShortcut=Sneltoets AssignedTo=Geaffecteerden Deletedraft=Concept verwijderen ConfirmMassDraftDeletion=Bevestiging van de massa-verwijdering -FileSharedViaALink=File shared with a public link +FileSharedViaALink=Bestand gedeeld met een openbare link SelectAThirdPartyFirst=Selecteer eerst een derde ... YouAreCurrentlyInSandboxMode=U bent momenteel in de %s "sandbox" -modus Inventory=Inventarisering AnalyticCode=Analisten code TMenuMRP=MRP -ShowCompanyInfos=Show company infos +ShowCompanyInfos=Toon bedrijfsinfo ShowMoreInfos=Meer info weergeven NoFilesUploadedYet=Upload eerst een document SeePrivateNote=Zie privébrief @@ -1072,6 +1074,7 @@ ValidFrom=Geldig vanaf ValidUntil=Geldig tot NoRecordedUsers=Geen gebruikers ToClose=Sluiten +ToRefuse=Weigeren ToProcess=Te verwerken ToApprove=Goed te keuren GlobalOpenedElemView=Globale weergave @@ -1124,11 +1127,25 @@ OutOfDate=Verouderd EventReminder=Herinnering voor evenement UpdateForAllLines=Update voor alle lijnen OnHold=In de wacht -Civility=Civility +Civility=Beleefdheid AffectTag=Heeft invloed op de tag +CreateExternalUser=Externe gebruiker aanmaken ConfirmAffectTag=invloed op bulk-tag ConfirmAffectTagQuestion=Weet u zeker dat u tags wilt beïnvloeden voor de %s geselecteerde record (s)? CategTypeNotFound=Geen tag-soort gevonden voor type records -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +CopiedToClipboard=Gekopieerd naar het klembord +InformationOnLinkToContract=Dit bedrag is alleen het totaal van alle regels van het contract. Er wordt geen rekening gehouden met tijd. +ConfirmCancel=Weet je zeker dat je dit wilt annuleren +EmailMsgID=E-mail MsgID +SetToEnabled=Zet aan. +SetToDisabled=Zet uit. +ConfirmMassEnabling=Bevestig het aanzetten +ConfirmMassEnablingQuestion=Weet u zeker dat u de %s geselecteerde record (s) wilt aanzetten? +ConfirmMassDisabling=Bevestig het uitzetten +ConfirmMassDisablingQuestion=Weet u zeker dat u de %s geselecteerde record (s) wilt uitzetten? +RecordsEnabled=1%s record(s) aangezet +RecordsDisabled=1%s record(s) uitgezet. +RecordEnabled=Record aangezet +RecordDisabled=Record uitgezet +Forthcoming=In de toekomst +Currently=Currently diff --git a/htdocs/langs/nl_NL/margins.lang b/htdocs/langs/nl_NL/margins.lang index dae8b70553b..e41996c0acb 100644 --- a/htdocs/langs/nl_NL/margins.lang +++ b/htdocs/langs/nl_NL/margins.lang @@ -22,7 +22,7 @@ ProductService=Trainning of Dienst AllProducts=Alle Trainingen en Diensten ChooseProduct/Service=Kies Training of Dienst ForceBuyingPriceIfNull=Forceren inkoop/kostprijs naar verkoopprijs als dit niet is gedefinieerd -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=Als er bij het toevoegen van een nieuwe regel geen koop-/kostprijs wordt opgegeven, en deze optie is "AAN", dan is de marge 0 op de nieuwe regel (koop-/kostprijs = verkoopprijs). Als deze optie "UIT" is (aanbevolen), is de marge gelijk aan de standaard voorgestelde waarde (en kan 100% zijn als er geen standaardwaarde kan worden gevonden). MARGIN_METHODE_FOR_DISCOUNT=Marge methode voor globale discounts UseDiscountAsProduct=Als een training UseDiscountAsService=Als een dienst diff --git a/htdocs/langs/nl_NL/members.lang b/htdocs/langs/nl_NL/members.lang index 5260e6da794..75063377dde 100644 --- a/htdocs/langs/nl_NL/members.lang +++ b/htdocs/langs/nl_NL/members.lang @@ -15,24 +15,24 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Een ander lid (naam: %s, login: %s ErrorUserPermissionAllowsToLinksToItselfOnly=Om veiligheidsredenen, moeten aan u rechten worden verleend voor het bewerken van alle gebruikers om in staat te zijn een lid te koppelen aan een gebruiker die niet van u is. SetLinkToUser=Link naar een Dolibarr gebruiker SetLinkToThirdParty=Link naar een derde partij in Dolibarr -MembersCards=Business cards for members +MembersCards=Visitekaartjes voor leden MembersList=Ledenlijst MembersListToValid=Lijst van conceptleden (te valideren) MembersListValid=Lijst van geldige leden MembersListUpToDate=Geldige leden met een up-to-date abonnement MembersListNotUpToDate=Geldige leden met een verouderd abonnement -MembersListExcluded=List of excluded members +MembersListExcluded=Lijst met uitgesloten leden MembersListResiliated=Lijst verwijderde leden MembersListQualified=Lijst van gekwalificeerde leden MenuMembersToValidate=Conceptleden MenuMembersValidated=Gevalideerde leden -MenuMembersExcluded=Excluded members +MenuMembersExcluded=uitgesloten leden MenuMembersResiliated=Verwijderde leden MembersWithSubscriptionToReceive=Leden die abonnement moeten ontvangen MembersWithSubscriptionToReceiveShort=Abonnement ontvangen DateSubscription=Inschrijvingsdatum DateEndSubscription=Einddatum abonnement -EndSubscription=Subscription Ends +EndSubscription=Abonnement loopt af SubscriptionId=Inschrijvings-ID WithoutSubscription=Zonder abonnement MemberId=Lid ID @@ -49,12 +49,12 @@ MemberStatusActiveLate=Abonnement verlopen MemberStatusActiveLateShort=Verlopen MemberStatusPaid=Abonnement bijgewerkt MemberStatusPaidShort=Bijgewerkt -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded +MemberStatusExcluded=uitgesloten lid +MemberStatusExcludedShort=uitgesloten MemberStatusResiliated=Verwijderd lid MemberStatusResiliatedShort=Verwijderd MembersStatusToValid=Conceptleden -MembersStatusExcluded=Excluded members +MembersStatusExcluded=uitgesloten leden MembersStatusResiliated=Verwijderde leden MemberStatusNoSubscription=Gevalideerd (geen abonnement vereist) MemberStatusNoSubscriptionShort=Gevalideerd @@ -83,12 +83,12 @@ WelcomeEMail=Welkomst e-mail SubscriptionRequired=Abonnement vereist DeleteType=Verwijderen VoteAllowed=Stemming toegestaan -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? +Physical=Individueel +Moral=bedrijf +MorAndPhy=Bedrijf en individu +Reenable=Opnieuw inschakelen +ExcludeMember=Een lid uitsluiten +ConfirmExcludeMember=Weet u zeker dat u dit lid wilt uitsluiten? ResiliateMember=Verwijder een lid ConfirmResiliateMember=Weet je zeker dat je dit lidmaatschap wilt beëindigen? DeleteMember=Lid verwijderen @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=E-mailsjabloon om te gebruiken om DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=E-mailsjabloon om te gebruiken om e-mail naar een lid te sturen bij nieuwe abonnementopname DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=E-mailsjabloon om te gebruiken om e-mailherinnering te verzenden wanneer het abonnement afloopt DescADHERENT_EMAIL_TEMPLATE_CANCELATION=E-mailsjabloon om te gebruiken om e-mail naar een lid te verzenden bij annulering van een lid -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=E-mailsjabloon om te gebruiken om e-mail te sturen naar een lid met uitsluiting van leden DescADHERENT_MAIL_FROM=E-mail afzender voor automatische e-mails DescADHERENT_ETIQUETTE_TYPE=Etikettenformaat DescADHERENT_ETIQUETTE_TEXT=Tekst op leden adres-blad @@ -170,31 +170,31 @@ DocForLabels=Genereer adresvellen (formaat voor de uitvoer zoals ingesteld: % SubscriptionPayment=Betaling van abonnement LastSubscriptionDate=Datum van laatste abonnementbetaling LastSubscriptionAmount=Bedrag van het laatste abonnement -LastMemberType=Last Member type +LastMemberType=Type laatste lid MembersStatisticsByCountries=Leden statistieken per land MembersStatisticsByState=Leden statistieken per staat / provincie MembersStatisticsByTown=Leden van de statistieken per gemeente MembersStatisticsByRegion=Leden statistieken per regio -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Totaal aantal leden +NbOfActiveMembers=Totaal aantal huidige actieve leden NoValidatedMemberYet=Geen gevalideerde leden gevonden -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=Dit scherm toont u de statistieken van leden per land. Grafieken en grafieken zijn afhankelijk van de beschikbaarheid van de online grafiekenservice van Google en van de beschikbaarheid van een werkende internetverbinding. +MembersByStateDesc=Dit scherm toont u statistieken van leden per staat/provincies/kanton. +MembersByTownDesc=Dit scherm toont u statistieken van leden per stad. +MembersByNature=Dit scherm toont u statistieken van leden van nature. +MembersByRegion=Dit scherm toont u statistieken van leden per regio. MembersStatisticsDesc=Kies de statistieken die u wilt lezen ... MenuMembersStats=Statistiek -LastMemberDate=Latest membership date +LastMemberDate=Laatste lidmaatschapsdatum LatestSubscriptionDate=Laatste abonnementsdatum -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=Aard van het lid +MembersNature=Aard van de leden +Public=Informatie is openbaar NewMemberbyWeb=Nieuw lid toegevoegd. In afwachting van goedkeuring NewMemberForm=Nieuw lid formulier -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Abonnementsstatistieken NbOfSubscriptions=Aantal abonnementen -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Bedrag geïnd via abonnementen TurnoverOrBudget=Omzet (voor een bedrijf) of Budget (voor een stichting) DefaultAmount=Standaard hoeveelheid van het abonnement CanEditAmount=Bezoeker kan kiezen / wijzigen bedrag van zijn inschrijving @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Stuur een herinnering per e-mail naar leden w MembershipPaid=Lidmaatschap betaald voor huidige periode (tot %s) YouMayFindYourInvoiceInThisEmail=Mogelijk vindt u uw factuur bij deze e-mail XMembersClosed=%s lid (leden) gesloten +XExternalUserCreated=%s externe gebruiker(s) aangemaakt +ForceMemberNature=Forceer de aard van het lid (individueel of corporatie) diff --git a/htdocs/langs/nl_NL/modulebuilder.lang b/htdocs/langs/nl_NL/modulebuilder.lang index b70329e7b48..e853fc339a6 100644 --- a/htdocs/langs/nl_NL/modulebuilder.lang +++ b/htdocs/langs/nl_NL/modulebuilder.lang @@ -85,7 +85,7 @@ ListOfPermissionsDefined=Lijst met gedefinieerde machtigingen SeeExamples=Zie hier voorbeelden EnabledDesc=Voorwaarde om dit veld actief te hebben (voorbeelden: 1 of $ conf-> global-> MYMODULE_MYOPTION) VisibleDesc=Is het veld zichtbaar? (Voorbeelden: 0 = nooit zichtbaar, 1 = zichtbaar op lijst en formulieren maken / bijwerken / bekijken, 2 = alleen zichtbaar op lijst, 3 = alleen zichtbaar op formulier maken / bijwerken / bekijken (geen lijst), 4 = zichtbaar op lijst en update / view form only (not create), 5 = Alleen zichtbaar op lijst eindweergave formulier (niet create, not update).

    Het gebruik van een negatieve waarde betekent dat het veld niet standaard wordt weergegeven op de lijst, maar kan worden geselecteerd voor weergave).

    Het kan een uitdrukking zijn, bijvoorbeeld:
    preg_match ('/ public /', $ _SERVER ['PHP_SELF'])? 0: 1
    ($ user-> rechten-> vakantie-> vakantie-> vakantie-> vakantie->) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdfDesc=Geef dit veld weer op compatibele PDF-documenten, u kunt de positie beheren met het veld "Positie".
    Momenteel bekende compatibele PDF-modellen zijn: eratosthene (bestelling), espadon (schip), spons (facturen), cyaan (propal/offerte), cornas (bestelling leverancier)

    65 Voor document = weergave
    2 = weergave alleen indien niet leeg

    Voor documentregels:
    0 = niet weergegeven beschrijving
    ccbeschrijving = in kolom beschrijving alleen indien niet leeg DisplayOnPdf=Weergeven in PDF IsAMeasureDesc=Kan de waarde van het veld worden gecumuleerd om een totaal in de lijst te krijgen? (Voorbeelden: 1 of 0) SearchAllDesc=Wordt het veld gebruikt om een zoekopdracht uit het snelzoekprogramma te doen? (Voorbeelden: 1 of 0) @@ -133,9 +133,9 @@ IncludeDocGeneration=Ik wil enkele documenten genereren van het object IncludeDocGenerationHelp=Als u dit aanvinkt, wordt er een code gegenereerd om een vak "Document genereren" aan de record toe te voegen. ShowOnCombobox=Waarde weergeven in combobox KeyForTooltip=Sleutel voor knopinfo -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list +CSSClass=CSS voor het bewerken/aanmaken van formulier +CSSViewClass=CSS voor leesformulier +CSSListClass=CSS voor lijst NotEditable=Niet bewerkbaar ForeignKey=Vreemde sleutel TypeOfFieldsHelp=Type velden:
    varchar (99), dubbel (24,8), real, tekst, html, datetime, timestamp, integer, integer: ClassName: relativepath / to / classfile.class.php [: 1 [: filter]] ('1' betekent we voegen een + -knop toe na de combo om het record te maken, 'filter' kan 'status = 1 EN fk_user = __USER_ID EN entiteit IN (bijvoorbeeld __SHARED_ENTITIES__)' zijn) @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii naar HTML converter AsciiToPdfConverter=Ascii naar PDF converter TableNotEmptyDropCanceled=Tabel is niet leeg. Drop is geannuleerd. ModuleBuilderNotAllowed=De modulebouwer is beschikbaar maar niet toegestaan voor uw gebruiker. +ImportExportProfiles=Profielen importeren en exporteren diff --git a/htdocs/langs/nl_NL/mrp.lang b/htdocs/langs/nl_NL/mrp.lang index ec0e4244c19..143e3cb4d55 100644 --- a/htdocs/langs/nl_NL/mrp.lang +++ b/htdocs/langs/nl_NL/mrp.lang @@ -13,7 +13,7 @@ BOMsSetup=Instellingen Stuklijsten ListOfBOMs=Lijst met stuklijsten - stuklijst ListOfManufacturingOrders=Lijst met productieorders NewBOM=Nieuwe stuklijst -ProductBOMHelp=Product om te maken met deze stuklijst.
    Opmerking: producten met de eigenschap 'Aard van product' = 'Grondstof' zijn niet zichtbaar in deze lijst. +ProductBOMHelp=Product om te maken (of te demonteren) met deze stuklijst.
    Let op: Producten met de eigenschap 'Aard van product' = 'Grondstof' zijn niet zichtbaar in deze lijst. BOMsNumberingModules=BOM nummeringsjablonen BOMsModelModule=Stuklijst-documentsjablonen MOsNumberingModules=MO-nummeringssjablonen @@ -30,8 +30,8 @@ ValueOfMeansLoss=Waarde van 0,95 betekent een gemiddelde van 5%% verlies tijdens ValueOfMeansLossForProductProduced=Waarde van 0,95 betekent een gemiddelde van 5%% verlies van geproduceerd product DeleteBillOfMaterials=Stuklijst verwijderen DeleteMo=Productieorder verwijderen -ConfirmDeleteBillOfMaterials=Weet je zeker dat je deze stuklijst wilt verwijderen? -ConfirmDeleteMo=Weet je zeker dat je deze stuklijst wilt verwijderen? +ConfirmDeleteBillOfMaterials=Weet u zeker dat u deze stuklijst wilt verwijderen? +ConfirmDeleteMo=Weet u zeker dat u deze Productieorder wilt verwijderen? MenuMRP=Productieorders NewMO=Nieuwe productieorder QtyToProduce=Te produceren aantal @@ -39,7 +39,7 @@ DateStartPlannedMo=Datum start gepland DateEndPlannedMo=Einddatum gepland KeepEmptyForAsap=Leeg betekent 'zo snel mogelijk' EstimatedDuration=Geschatte duur -EstimatedDurationDesc=Geschatte duur om dit product met deze stuklijst te produceren +EstimatedDurationDesc=Geschatte duur om dit product te vervaardigen (of te demonteren) met behulp van deze stuklijst ConfirmValidateBom=Weet u zeker dat u de stuklijst wilt valideren met de referentie %s (u kunt deze gebruiken om nieuwe productieorders te maken) ConfirmCloseBom=Weet u zeker dat u deze stuklijst wilt annuleren (u kunt deze niet meer gebruiken om nieuwe productieorders te bouwen)? ConfirmReopenBom=Weet u zeker dat u deze stuklijst opnieuw wilt openen (u kunt deze gebruiken om nieuwe productieorders te bouwen) @@ -63,6 +63,7 @@ ConsumeAndProduceAll=Alles consumeren en produceren Manufactured=geproduceerd TheProductXIsAlreadyTheProductToProduce=Het toe te voegen product is al het te produceren product. ForAQuantityOf=Voor een te produceren hoeveelheid van %s +ForAQuantityToConsumeOf=Voor een te demonteren hoeveelheid %s ConfirmValidateMo=Weet u zeker dat u deze productieorder wilt valideren? ConfirmProductionDesc=Door op '1%s' te klikken, valideert u het verbruik en / of de productie voor de ingestelde hoeveelheden. Hiermee worden ook de voorraad- en recordbewegingen bijgewerkt. ProductionForRef=Productie van %s @@ -78,27 +79,25 @@ TotalCost=Totale prijs BOMTotalCost=De kosten voor het produceren van deze stuklijst op basis van de kosten van elke hoeveelheid en elk te consumeren product (gebruik kostprijs indien gedefinieerd, anders gemiddelde gewogen prijs indien gedefinieerd, anders de beste aankoopprijs) GoOnTabProductionToProduceFirst=U moet eerst de productie hebben gestart om een Productieorder te sluiten (zie tabblad '%s'). Maar u kunt het annuleren. ErrorAVirtualProductCantBeUsedIntoABomOrMo=Een kit kan niet worden gebruikt in een stuklijst of een MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human +Workstation=Werkstation +Workstations=Werkstations +WorkstationsDescription=Beheer van werkstations +WorkstationSetup = Werkstations instellen +WorkstationSetupPage = Instellingenpagina werkstations +WorkstationList=Werkstation lijst +WorkstationCreate=Nieuw werkstation toevoegen +ConfirmEnableWorkstation=Weet u zeker dat u werkstation %s wilt inschakelen? +EnableAWorkstation=Een werkstation inschakelen +ConfirmDisableWorkstation=Weet u zeker dat u werkstation %s wilt uitschakelen? +DisableAWorkstation=Een werkstation uitschakelen +DeleteWorkstation=Verwijderen +NbOperatorsRequired=Aantal benodigde operators +THMOperatorEstimated=Geschatte operator THM +THMMachineEstimated=Geschatte machine THM +WorkstationType=Type werkstation +Human=Menselijk Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area +HumanMachine=Mens / Machine +WorkstationArea=Werkstationgebied Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +THMEstimatedHelp=Dit tarief maakt het mogelijk om een prognose van de kosten van het artikel te definiëren diff --git a/htdocs/langs/nl_NL/orders.lang b/htdocs/langs/nl_NL/orders.lang index ca02737b418..13425ee7708 100644 --- a/htdocs/langs/nl_NL/orders.lang +++ b/htdocs/langs/nl_NL/orders.lang @@ -11,13 +11,14 @@ OrderDate=Opdrachtdatum OrderDateShort=Besteldatum OrderToProcess=Te verwerken opdracht NewOrder=Nieuwe opdracht +NewSupplierOrderShort=Nieuwe opdracht NewOrderSupplier=Nieuwe bestelling ToOrder=Te bestellen MakeOrder=Opdracht indienen SupplierOrder=Bestelling SuppliersOrders=Inkooporders -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Verkooporderregels +PurchaseOrderLines=Inkooporderregels SuppliersOrdersRunning=Huidige inkooporders CustomerOrder=Klantorder CustomersOrders=Verkooporders @@ -73,6 +74,7 @@ DeleteOrder=Verwijder opdracht CancelOrder=Annuleer opdracht OrderReopened= Order %s opnieuw openen AddOrder=Nieuwe bestelling +AddSupplierOrderShort=Nieuwe bestelling AddPurchaseOrder=Maak inkooporder AddToDraftOrders=Voeg toe aan order in aanmaak ShowOrder=Toon opdracht diff --git a/htdocs/langs/nl_NL/other.lang b/htdocs/langs/nl_NL/other.lang index be3a21b260a..2c6bd07e00b 100644 --- a/htdocs/langs/nl_NL/other.lang +++ b/htdocs/langs/nl_NL/other.lang @@ -1,9 +1,9 @@ # Dolibarr language file - Source file is en_US - other SecurityCode=Beveiligingscode -NumberingShort=N ° -Tools=Gereedschap -TMenuTools=Gereedschap -ToolsDesc=Alle tools die niet in andere menu-items zijn opgenomen, zijn hier gegroepeerd.
    Alle tools zijn toegankelijk via het linkermenu. +NumberingShort=N° +Tools=Hulpmiddelen +TMenuTools=Hulpmiddelen +ToolsDesc=Alle tools die niet zijn opgenomen in andere menu-items zijn hier gegroepeerd.
    Alle tools zijn toegankelijk via het linkermenu. Birthday=Verjaardag BirthdayAlertOn=Verjaardagskennisgeving actief BirthdayAlertOff=Verjaardagskennisgeving inactief @@ -78,7 +78,7 @@ Notify_EXPENSE_REPORT_VALIDATE=Onkosten rapport gevalideerd (goedkeuring vereist Notify_EXPENSE_REPORT_APPROVE=Onkosten rapport goedgekeurd Notify_HOLIDAY_VALIDATE=Verlofaanvraag gevalideerd (goedkeuring vereist) Notify_HOLIDAY_APPROVE=Verzoek goedgekeurd laten -Notify_ACTION_CREATE=Added action to Agenda +Notify_ACTION_CREATE=Activiteit toegevoegd aan Agenda SeeModuleSetup=Zie setup van module %s NbOfAttachedFiles=Aantal bijgevoegde bestanden / documenten TotalSizeOfAttachedFiles=Totale omvang van de bijgevoegde bestanden / documenten @@ -114,7 +114,7 @@ DemoCompanyAll=Bedrijf met meerdere activiteiten (alle hoofdmodules) CreatedBy=Gecreëerd door %s ModifiedBy=Gewijzigd door %s ValidatedBy=Gevalideerd door %s -SignedBy=Signed by %s +SignedBy=Ondertekend door %s ClosedBy=Gesloten door %s CreatedById=Aangemaakt door gebruiker ID ModifiedById=Gebruikers-ID van diegene die de laatste wijziging heeft aangebracht @@ -129,6 +129,7 @@ ClosedByLogin=Gebruikerslogin die is gesloten FileWasRemoved=Bestand %s is verwijderd DirWasRemoved=Map %s is verwijderd FeatureNotYetAvailable=Onderdeel nog niet beschikbaar in huidige versie +FeatureNotAvailableOnDevicesWithoutMouse=Functie niet beschikbaar op apparaten zonder muis FeaturesSupported=Ondersteunde functies Width=Breedte Height=Hoogte @@ -183,7 +184,7 @@ EnableGDLibraryDesc=Installeer of schakel GD-bibliotheek op uw PHP-installatie i ProfIdShortDesc=Prof. id %s is een gegeven afhankelijk van het land.
    Voor land %s, is de code bijvoorbeeld %s. DolibarrDemo=Dolibarr ERP / CRM demonstratie StatsByNumberOfUnits=Statistieken voor som van aantal producten / diensten -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statistieken voor het aantal verwijzende entiteiten (aantal facturen of bestellingen...) NumberOfProposals=Aantal voorstellen NumberOfCustomerOrders=Aantal verkooporders NumberOfCustomerInvoices=Aantal klant facturen @@ -217,7 +218,7 @@ EMailTextExpenseReportValidated=Onkostendeclaratie %s is gevalideerd. EMailTextExpenseReportApproved=Onkostendeclaratie %s is goedgekeurd. EMailTextHolidayValidated=Verlofaanvraag %s is gevalideerd. EMailTextHolidayApproved=Verlofaanvraag %s is goedgekeurd. -EMailTextActionAdded=The action %s has been added to the Agenda. +EMailTextActionAdded=Activiteit %s is toegevoegd aan de Agenda. ImportedWithSet=Invoer dataset DolibarrNotification=Automatische kennisgeving ResizeDesc=Voer een nieuwe breedte of nieuwe hoogte in. Verhoudingen zullen intact blijven tijdens het schalen @@ -245,7 +246,7 @@ NewKeyIs=Dit is uw nieuwe sleutel om in te loggen NewKeyWillBe=Uw nieuwe sleutel in te loggen zal zijn ClickHereToGoTo=Klik hier om naar %s YouMustClickToChange=Je moet echter wel eerst klikken op de volgende link om de wachtwoord wijziging te valideren -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Wachtwoord wijzigen bevestigen ForgetIfNothing=Als u deze wijziging niet heeft aangevraagd, negeer deze e-mail. Uw referenties blijven veilig bewaard. IfAmountHigherThan=Indien bedrag hoger dan %s SourcesRepository=Repository voor bronnen @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact / adres gecreëerd door e-mailverzamelaar ProjectCreatedByEmailCollector=Project gemaakt door e-mailverzamelaar uit e-mail MSGID %s TicketCreatedByEmailCollector=Ticket gemaakt door e-mailverzamelaar vanuit e-mail MSGID %s OpeningHoursFormatDesc=Gebruik a - om de openings- en sluitingsuren te scheiden.
    Gebruik een spatie om verschillende bereiken in te voeren.
    Voorbeeld: 8-12 14-18 -PrefixSession=Voorloper sessie-ID +SuffixSessionName=Achtervoegsel voor sessienaam ##### Export ##### ExportsArea=Uitvoeroverzicht @@ -289,4 +290,8 @@ PopuProp=Producten / diensten op populariteit in voorstellen PopuCom=Producten / services op populariteit in Orders ProductStatistics=Producten / diensten Statistieken NbOfQtyInOrders=Aantal in bestellingen -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=Selecteer een object om de statistieken te bekijken... + +ConfirmBtnCommonContent = Weet je zeker dat je "1%s"? +ConfirmBtnCommonTitle = Bevestig +CloseDialog = Sluiten diff --git a/htdocs/langs/nl_NL/partnership.lang b/htdocs/langs/nl_NL/partnership.lang index e50519a767c..92f4f98832e 100644 --- a/htdocs/langs/nl_NL/partnership.lang +++ b/htdocs/langs/nl_NL/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnerschap beheer -PartnershipDescription = Module Partnerschap beheer +ModulePartnershipName=Partnerschap beheer +PartnershipDescription=Module Partnerschap beheer PartnershipDescriptionLong= Module Partnerschap beheer +AddPartnership=Partnerschap toevoegen +CancelPartnershipForExpiredMembers=Partnerschap: annuleer partnerschap van leden met verlopen abonnementen +PartnershipCheckBacklink=Partnerschap: controleer verwijzende backlink + # # Menu # -NewPartnership = Nieuw partnerschap -ListOfPartnerships = Overzicht van partnerschappen +NewPartnership=Nieuw partnerschap +ListOfPartnerships=Overzicht van partnerschappen # # Admin page # -PartnershipSetup = Partnerschap instellingen -PartnershipAbout = Over module partnerschap -PartnershipAboutPage = Over module Partnerschap page - +PartnershipSetup=Partnerschap instellingen +PartnershipAbout=Over module partnerschap +PartnershipAboutPage=Over module Partnerschap page +partnershipforthirdpartyormember=Partnerstatus moet zijn ingesteld op een 'relatie' of een 'lid' +PARTNERSHIP_IS_MANAGED_FOR=Partnerschap beheerd voor +PARTNERSHIP_BACKLINKS_TO_CHECK=Te controleren backlinks +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Aantal dagen voordat de status van een partnerschap wordt opgezegd wanneer een abonnement is verlopen +ReferingWebsiteCheck=Controle van de website die verwijst +ReferingWebsiteCheckDesc=U kunt een functie inschakelen om te controleren of uw partners een backlink hebben toegevoegd aan uw websitedomeinen op hun eigen website. # # Object # +DeletePartnership=Verwijder een partnerschap +PartnershipDedicatedToThisThirdParty=Partnerschap gewijd aan deze derde partij +PartnershipDedicatedToThisMember=Partnerschap opgedragen aan dit lid DatePartnershipStart=Begindatum DatePartnershipEnd=Einddatum +ReasonDecline=Reden afwijzing +ReasonDeclineOrCancel=Reden afwijzing +PartnershipAlreadyExist=Partnerschap bestaat reeds +ManagePartnership=Partnerschap beheren +BacklinkNotFoundOnPartnerWebsite=Backlink niet gevonden op partnerwebsite +ConfirmClosePartnershipAsk=Weet u zeker dat u deze partnerschap wilt opzeggen? +PartnershipType=Partnerschapstype # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerschap wordt binnenkort opgezegd +SendingEmailOnPartnershipRefused=Partnerschap geweigerd +SendingEmailOnPartnershipAccepted=Partnerschap geaccepteerd +SendingEmailOnPartnershipCanceled=Partnerschap geannuleerd +YourPartnershipWillSoonBeCanceledTopic=Partnerschap wordt binnenkort opgezegd +YourPartnershipRefusedTopic=Partnerschap geweigerd +YourPartnershipAcceptedTopic=Partnerschap geaccepteerd +YourPartnershipCanceledTopic=Partnerschap geannuleerd + +YourPartnershipWillSoonBeCanceledContent=Wij informeren u dat uw partnerschap binnenkort wordt geannuleerd (Backlink niet gevonden) +YourPartnershipRefusedContent=Wij informeren u dat uw partnerschapsverzoek is afgewezen. +YourPartnershipAcceptedContent=Wij informeren u dat uw partnerschapsverzoek is geaccepteerd. +YourPartnershipCanceledContent=Wij informeren u dat uw partnerschap is beëindigd. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Reden afwijzing # # Status # -PartnershipDraft = Ontwerp -PartnershipAccepted = Geaccepteerd -PartnershipRefused = Geweigerd -PartnershipCanceled = Geannuleerd - -PartnershipManagedFor=Partners are +PartnershipDraft=Ontwerp +PartnershipAccepted=Geaccepteerd +PartnershipRefused=Geweigerd +PartnershipCanceled=Geannuleerd +PartnershipManagedFor=Partners zijn diff --git a/htdocs/langs/nl_NL/paybox.lang b/htdocs/langs/nl_NL/paybox.lang index ca7cec78f75..e7fa7457f5e 100644 --- a/htdocs/langs/nl_NL/paybox.lang +++ b/htdocs/langs/nl_NL/paybox.lang @@ -11,7 +11,7 @@ YourEMail=E-mail om betalingsbevestiging te ontvangen Creditor=Crediteur PaymentCode=Betalingscode PayBoxDoPayment=Betalen met Paybox -YouWillBeRedirectedOnPayBox=U wordt doorverwezen naar een beveiligde Paybox pagina om uw credit card informatie in te voeren +YouWillBeRedirectedOnPayBox=U wordt doorverwezen naar een beveiligde Paybox pagina om uw creditcard informatie in te voeren Continue=Volgende SetupPayBoxToHavePaymentCreatedAutomatically=Stel uw Paybox in met url %s om de betaling automatisch te laten aanmaken na validatie door Paybox. YourPaymentHasBeenRecorded=Deze pagina bevestigd dat uw betaling succesvol in geregistreerd. Dank u. @@ -20,7 +20,6 @@ AccountParameter=Accountwaarden UsageParameter=Met gebruik van de waarden InformationToFindParameters=Hulp om uw %s accountinformatie te vinden PAYBOX_CGI_URL_V2=URL van de Paybox CGI module voor betalingen -VendorName=Verkopersnaam CSSUrlForPaymentForm=URL van het CSS-stijlbestand voor het betalingsformulier NewPayboxPaymentReceived=Betaling met Paybox ontvangen NewPayboxPaymentFailed=Poging te betalen met Paybox mislukt diff --git a/htdocs/langs/nl_NL/productbatch.lang b/htdocs/langs/nl_NL/productbatch.lang index a5f8646b2cc..668e1d202aa 100644 --- a/htdocs/langs/nl_NL/productbatch.lang +++ b/htdocs/langs/nl_NL/productbatch.lang @@ -1,10 +1,10 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Gebruik lot / serienummer -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnBatch=Ja (lot vereist) +ProductStatusOnSerial=Ja (uniek serienummer vereist) ProductStatusNotOnBatch=Nee (lot / serial niet gebruikt) ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnSerialShort=Serienummer ProductStatusNotOnBatchShort=Nee Batch=Lot / Serienummer atleast1batchfield=Vervaldatum of uiterste verkoopdatum of Lot / Serienummer @@ -24,12 +24,20 @@ ProductLotSetup=Module instellingen voor lot/serial ShowCurrentStockOfLot=Toon huidige voorraad voor product/lot paar ShowLogOfMovementIfLot=Toon bewegingslogboek voor product/lot paar StockDetailPerBatch=Voorraad details per lot -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +SerialNumberAlreadyInUse=Serienummer %s wordt al gebruikt voor product %s +TooManyQtyForSerialNumber=U kunt slechts één product %s hebben voor serienummer %s +ManageLotMask=Aangepast masker +CustomMasks=Optie om voor elk product een ander soort nummer te gebruiken +BatchLotNumberingModules=Regel voor automatische generatie van het lot nummer +BatchSerialNumberingModules=Regel voor de automatische generatie van het serienummer (alleen voor producten met een uniek serienummer per product) +QtyToAddAfterBarcodeScan=Aantal toe te voegen voor elke gescande barcode/lot/serie +LifeTime=Levensduur (in dagen) +EndOfLife=Einde van het leven +ManufacturingDate=Fabricage datum +DestructionDate=Vernietigingsdatum: +FirstUseDate=Datum eerste gebruik +QCFrequency=Frequentie kwaliteitscontrole (in dagen) + +#Traceability - qc status +OutOfOrder=Buiten gebruik +InWorkingOrder=In werkende staat diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index 339c112b36a..2516a77fffd 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=Diensten alleen voor verkoop ServicesOnPurchaseOnly=Diensten alleen voor aankoop ServicesNotOnSell=Diensten niet voor aan- en verkoop ServicesOnSellAndOnBuy=Diensten voor verkoop en aankoop -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Laatste %s producten/diensten die zijn gewijzigd LastRecordedProducts=Laatste %s geregistreerde producten LastRecordedServices=Laatste %s geregistreerde diensten CardProduct0=Product @@ -73,12 +73,12 @@ SellingPrice=Verkoopprijs SellingPriceHT=Verkoopprijs (excl. BTW) SellingPriceTTC=Verkoopprijs (inclusief belastingen) SellingMinPriceTTC=Minimale verkoopprijs (incl. BTW) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=Dit prijsveld (excl. btw) kan worden gebruikt om het gemiddelde bedrag dat dit product voor uw bedrijf kost vast te leggen. Het kan elke prijs zijn die u zelf berekent, bijvoorbeeld uit de gemiddelde inkoopprijs plus de gemiddelde productie- en distributiekosten. CostPriceUsage=Deze waarde kan worden gebruik voor marge berekening. SoldAmount=Aantal verkocht PurchasedAmount=Aantal ingekocht NewPrice=Nieuwe prijs -MinPrice=Min. selling price +MinPrice=Min. verkoopprijs EditSellingPriceLabel=Bewerk het label met de verkoopprijs CantBeLessThanMinPrice=De verkoopprijs kan niet lager zijn dan de minimumprijs voor dit product ( %s zonder belasting) ContractStatusClosed=Gesloten @@ -108,7 +108,7 @@ FillWithLastServiceDates=Vul de data van de laatste servicelijn in MultiPricesAbility=Meerdere prijssegmenten per product / dienst (elke klant bevindt zich in één prijssegment) MultiPricesNumPrices=Aantal prijzen DefaultPriceType=Basisprijzen per standaard (met versus zonder belasting) bij het toevoegen van nieuwe verkoopprijzen -AssociatedProductsAbility=Enable Kits (set of several products) +AssociatedProductsAbility=Activeer Kits (set van meerdere producten) VariantsAbility=Varianten inschakelen (variaties van producten, bijvoorbeeld kleur, maat) AssociatedProducts=Kits AssociatedProductsNumber=Aantal producten waaruit deze kit bestaat @@ -141,7 +141,7 @@ VATRateForSupplierProduct=BTW-tarief (voor deze leverancier / dit product) DiscountQtyMin=Korting bij dit aantal NoPriceDefinedForThisSupplier=Geen prijs / aantal gedefinieerd voor deze leverancier / product NoSupplierPriceDefinedForThisProduct=Geen leveranciersprijs / aantal gedefinieerd voor dit product -PredefinedItem=Predefined item +PredefinedItem=Vooraf gedefinieerd item PredefinedProductsToSell=Voorgedefinieerd product PredefinedServicesToSell=Vooraf gedefinieerde service PredefinedProductsAndServicesToSell=Voorgedefinieerde producten/diensten voor koop @@ -157,11 +157,11 @@ ListServiceByPopularity=Lijst met diensten naar populariteit Finished=Gereed product RowMaterial=Ruw materiaal ConfirmCloneProduct=Weet u zeker dat u dit product of deze dienst %s wilt klonen? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Kloon alle hoofdinformatie van het product/de dienst ClonePricesProduct=Prijzen klonen -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Gelinkte labels/categorieën klonen +CloneCompositionProduct=Virtuele producten/diensten klonen +CloneCombinationsProduct=Kloon de productvarianten ProductIsUsed=Dit product wordt gebruikt NewRefForClone=Referentie naar nieuw produkt / dienst SellingPrices=Verkoop prijzen @@ -170,12 +170,12 @@ CustomerPrices=Consumenten prijzen SuppliersPrices=Prijzen van leveranciers SuppliersPricesOfProductsOrServices=Leverancierprijzen (van producten of services) CustomCode=Douane | Goederen | HS-code -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=Land van oorsprong +RegionStateOrigin=Regio van Oorsprong +StateOrigin=Staat|Provincie van herkomst +Nature=Aard van het product (ruw/gefabriceerd) NatureOfProductShort=Aard van het product -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=Grondstof of vervaardigd product ShortLabel=Kort label Unit=Eenheid p=u. @@ -277,7 +277,7 @@ PriceByCustomer=Verschillende prijzen voor elke klant PriceCatalogue=Enkele verkoopprijs per product/dienst PricingRule=Regels voor verkoopprijzen AddCustomerPrice=Koppel verkoopprijs aan klant -ForceUpdateChildPriceSoc=Stel dezelfde prijs in dochterondernemingen klant +ForceUpdateChildPriceSoc=Stel dezelfde prijs in op de dochterondernemingen van de klant PriceByCustomerLog=Prijshistorie klant MinimumPriceLimit=Minimumprijs kan niet onder %s MinimumRecommendedPrice=Aanbevolen minimumprijs is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Verhogen/verlagen voorraad bij de ouder verandering ComposedProduct=Producten voor kinderen MinSupplierPrice=Minimum aankoopprijs MinCustomerPrice=Minimum verkoopprijs +NoDynamicPrice=Geen dynamische prijs DynamicPriceConfiguration=Dynamische prijs configuratie DynamicPriceDesc=U kunt wiskundige formules definiëren om klant- of leveranciersprijzen te berekenen. Dergelijke formules kunnen alle wiskundige operatoren, sommige constanten en variabelen gebruiken. U kunt hier de variabelen definiëren die u wilt gebruiken. Als de variabele een automatische update nodig heeft, kunt u de externe URL definiëren zodat Dolibarr de waarde automatisch kan bijwerken. AddVariable=Variabele toevoegen @@ -314,7 +315,7 @@ LastUpdated=Laatst bijgewerkt CorrectlyUpdated=Correct bijgewerkt PropalMergePdfProductActualFile=Gebruikte bestanden om toe te voegen aan PDF Azur zijn/is PropalMergePdfProductChooseFile=Selecteer PDF bestanden -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Producten/diensten opnemen met label DefaultPriceRealPriceMayDependOnCustomer=Standaard verkoopprijs, echte verkoopprijs kan bij klant zijn vastgelegd WarningSelectOneDocument=Selecteer tenminste één document DefaultUnitToShow=Eenheid @@ -340,7 +341,7 @@ ProductSheet=Productblad ServiceSheet=Service blad PossibleValues=Mogelijke waarden GoOnMenuToCreateVairants=Ga naar menu %s-%s om attributenvarianten voor te bereiden (zoals kleuren, grootte, ...) -UseProductFournDesc=Voeg een functie toe om de beschrijvingen van producten te definiëren die door de leveranciers zijn gedefinieerd, naast beschrijvingen voor klanten +UseProductFournDesc=Voeg een functie toe om de productbeschrijving te definiëren die is gedefinieerd door de leveranciers (voor elke leveranciersreferentie) naast de beschrijving voor klanten ProductSupplierDescription=Leveranciersbeschrijving voor het product UseProductSupplierPackaging=Gebruik verpakkingen op leveranciersprijzen (herbereken hoeveelheden volgens verpakking ingesteld op leveranciersprijs bij toevoegen / bijwerken van regel in leveranciersdocumenten) PackagingForThisProduct=Verpakking @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Actie alleen beschikbaar op de variant van h ProductsPricePerCustomer=Productprijzen per klant ProductSupplierExtraFields=Aanvullende attributen (leveranciersprijzen) DeleteLinkedProduct=Verwijder het onderliggende product dat aan de combinatie is gekoppeld +PMPValue=Waardering (PMP) +PMPValueShort=Waarde diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index e6dc26a72c0..c26413ca77f 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - projects -RefProject=Ref. project +RefProject=Project ref. ProjectRef=Project ref. ProjectId=Project Id ProjectLabel=Projectlabel @@ -10,19 +10,19 @@ PrivateProject=Projectcontacten ProjectsImContactFor=Projecten waarvoor ik expliciet contactpersoon ben AllAllowedProjects=Alle projecten die ik kan lezen (mine + public) AllProjects=Alle projecten -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Deze weergave is beperkt tot de projecten waarvoor u contactpersoon bent ProjectsPublicDesc=Deze weergave toont alle projecten waarvoor u gerechtigd bent deze in te zien. TasksOnProjectsPublicDesc=Dit overzicht laat alle taken zien van projecten waarvoor u gemachtigd bent. ProjectsPublicTaskDesc=Deze weergave toont alle projecten en taken die je mag lezen. ProjectsDesc=Deze weergave toont alle projecten (Uw gebruikersrechten staan het u toe alles in te zien). TasksOnProjectsDesc=Dit overzicht laat alle projecten en alle taken zien (uw gebruikers-rechten geven u hiervoor toestemming). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Deze weergave is beperkt tot de projecten of taken waarvoor u een contactpersoon bent OnlyOpenedProject=Alleen projecten in bewerking zijn zichtbaar (projecten in concept of gesloten status zijn niet zichtbaar). ClosedProjectsAreHidden=Gesloten projecten zijn niet zichtbaar. TasksPublicDesc=Deze weergave toont alle projecten en taken die u mag inzien. TasksDesc=Deze weergave toont alle projecten en taken (Uw gebruikersrechten staan het u toe alles in te zien). AllTaskVisibleButEditIfYouAreAssigned=Alle taken voor gekwalificeerde projecten zijn zichtbaar, maar u kunt alleen tijd invoeren voor de taak die aan de geselecteerde gebruiker is toegewezen. Wijs een taak toe als u er tijd op wilt invoeren. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Alleen taken die aan u zijn toegewezen, zijn zichtbaar. Als je tijd moet invoeren voor een taak en als de taak hier niet zichtbaar is, dan moet je de taak aan jezelf toewijzen. ImportDatasetTasks=Taken bij projecten ProjectCategories=Labels/categorieën projecten NewProject=Nieuw project @@ -85,11 +85,11 @@ ProgressCalculated=Vooruitgang in consumptie WhichIamLinkedTo=waaraan ik gekoppeld ben WhichIamLinkedToProject=die ik ben gekoppeld aan het project Time=Tijd -TimeConsumed=Consumed +TimeConsumed=verbruikt ListOfTasks=Lijst met taken GoToListOfTimeConsumed=Ga naar de lijst met tijd die is verbruikt GanttView=Gantt-weergave -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Magazijnen welke aan het project zijn gekoppeld ListProposalsAssociatedProject=Lijst van de commerciële voorstellen met betrekking tot het project ListOrdersAssociatedProject=Lijst met verkooporders gerelateerd aan het project ListInvoicesAssociatedProject=Lijst met klantfacturen gerelateerd aan het project @@ -140,6 +140,7 @@ NoTasks=Geen taken voor dit project LinkedToAnotherCompany=Gekoppeld aan een andere derde partij TaskIsNotAssignedToUser=Taak niet toegewezen aan gebruiker. Gebruik knop ' %s ' om nu een taak toe te wijzen. ErrorTimeSpentIsEmpty=Gespendeerde tijd is leeg +TimeRecordingRestrictedToNMonthsBack=Tijdregistratie is beperkt tot %s maanden terug ThisWillAlsoRemoveTasks=Deze actie zal ook alle taken van het project (%s taken op het moment) en alle ingangen van de tijd doorgebracht. IfNeedToUseOtherObjectKeepEmpty=Als sommige objecten (factuur, order, ...), die behoren tot een andere derde, moet worden gekoppeld aan het project te maken, houden deze leeg naar het project dat met meerdere derden. CloneTasks=Kloon taken @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=Niet toegewezen aan de taak NoUserAssignedToTheProject=Geen gebruikers toegewezen aan dit project TimeSpentBy=Tijd doorgebracht door TasksAssignedTo=Taken toegekend aan -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Taak aan mezelf toewijzen AssignTaskToUser=Ken taak toe aan %s SelectTaskToAssign=Selecteer taak om toe te wijzen ... AssignTask=Toewijzen @@ -241,6 +242,7 @@ LatestModifiedProjects=Laatste %s aangepaste projecten OtherFilteredTasks=Andere gefilterde taken NoAssignedTasks=Geen toegewezen taken gevonden (wijs project / taken toe aan de huidige gebruiker uit het bovenste selectievak om de tijd in te voeren) ThirdPartyRequiredToGenerateInvoice=Er moet een derde partij in het project worden gedefinieerd om het te kunnen factureren. +ThirdPartyRequiredToGenerateInvoice=Er moet een derde partij in het project worden gedefinieerd om het te kunnen factureren. ChooseANotYetAssignedTask=Kies een taak die nog niet aan jou is toegewezen # Comments trans AllowCommentOnTask=Reacties van gebruikers op taken toestaan @@ -252,10 +254,12 @@ SendProjectRef=Informatieproject %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salarissen' moet worden ingeschakeld om het uurtarief van de medewerker te definiëren om de tijd die wordt besteed te valoriseren NewTaskRefSuggested=Taakreferentie al gebruikt, een nieuwe taakreferentie is vereist TimeSpentInvoiced=Tijd besteed gefactureerd +TimeSpentForIntervention=Bestede tijd TimeSpentForInvoice=Bestede tijd OneLinePerUser=Eén regel per gebruiker ServiceToUseOnLines=Service voor gebruik op lijnen InvoiceGeneratedFromTimeSpent=Factuur %s is gegenereerd op basis van de tijd besteed aan het project +InterventionGeneratedFromTimeSpent=Interventie %s is gegenereerd op basis van tijd besteed aan project ProjectBillTimeDescription=Controleer of u urenstaat invoert voor taken van het project EN u van plan bent om facturen uit de urenstaat te genereren om de klant van het project te factureren (controleer niet of u een factuur wilt creëren die niet is gebaseerd op ingevoerde urenstaten). Opmerking: Om de factuur te genereren, gaat u naar het tabblad 'Bestede tijd' van het project en selecteert u de regels die u wilt opnemen. ProjectFollowOpportunity=Volg gelegenheid ProjectFollowTasks=Volg taken of bestede tijd @@ -264,12 +268,16 @@ UsageOpportunity=Gebruik: Kans UsageTasks=Gebruik: Taken UsageBillTimeShort=Gebruik: Factuurtijd InvoiceToUse=Te gebruiken factuur +InterToUse=Te gebruiken conceptinterventie NewInvoice=Nieuwe factuur +NewInter=Nieuwe interventie OneLinePerTask=Eén regel per taak OneLinePerPeriod=Eén regel per periode +OneLinePerTimeSpentLine=Eén regel voor elke tijdsbestedingsdeclaratie RefTaskParent=Ref. Bovenliggende taak ProfitIsCalculatedWith=Winst wordt berekend met -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +AddPersonToTask=Voeg ook toe aan taken +UsageOrganizeEvent=Gebruik: Evenementenorganisatie +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classificeer project als gesloten wanneer alle taken zijn voltooid (100%% voortgang) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Opmerking: de voortgang van bestaande projecten met alle taken op 100%% wordt niet beïnvloed: u zult ze handmatig moeten sluiten. Deze optie is alleen van invloed op open projecten. +SelectLinesOfTimeSpentToInvoice=Selecteer tijdsregels die niet zijn gefactureerd en vervolgens de bulkactie "Factuur genereren" om ze te factureren diff --git a/htdocs/langs/nl_NL/propal.lang b/htdocs/langs/nl_NL/propal.lang index cecfecdff60..2c323d364d1 100644 --- a/htdocs/langs/nl_NL/propal.lang +++ b/htdocs/langs/nl_NL/propal.lang @@ -59,7 +59,7 @@ ConfirmClonePropal=Weet u zeker dat u offerte %s wilt kopiëren? ConfirmReOpenProp=Weet u zeker dat u offerte %s opnieuw wilt openen? ProposalsAndProposalsLines=Offertes en offerteregels ProposalLine=Offerteregel -ProposalLines=Proposal lines +ProposalLines=Voorstelregels AvailabilityPeriod=Leveringstermijn SetAvailability=Bepaal leveringstermijn AfterOrder=na bestelling diff --git a/htdocs/langs/nl_NL/receptions.lang b/htdocs/langs/nl_NL/receptions.lang index 427d9a84bf5..8938ac8ac49 100644 --- a/htdocs/langs/nl_NL/receptions.lang +++ b/htdocs/langs/nl_NL/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Je moet eerst de bestelling valideren voordat ReceptionsNumberingModules=Nummeringsmodule voor ontvangsten ReceptionsReceiptModel=Documentsjablonen voor ontvangsten NoMorePredefinedProductToDispatch=Geen voorgedefinieerde producten meer om te verzenden - +ReceptionExist=Ontvangst bestaat reeds diff --git a/htdocs/langs/nl_NL/salaries.lang b/htdocs/langs/nl_NL/salaries.lang index 5f91fe4db8b..9d626387493 100644 --- a/htdocs/langs/nl_NL/salaries.lang +++ b/htdocs/langs/nl_NL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Grootboekrekening voor medewerker derde partij SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=De boekhoudrekening die in het gebruikersbestand is gedefinieerd, wordt alleen gebruikt voor aanvullende boekhouding. Deze wordt gebruikt voor het grootboek en als standaardwaarde voor aanvullende boekhouding als de speciale rekening van de gebruiker niet is gedefinieerd. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Standaard grootboekrekening voor salaris betalingen +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Laat standaard de optie "Automatisch een totale betaling aanmaken" leeg bij het aanmaken van een Salaris Salary=Salaris Salaries=Salarissen -NewSalaryPayment=Nieuwe salarisbetaling +NewSalary=Nieuw salaris +NewSalaryPayment=Nieuwe salariskaart AddSalaryPayment=Salarisbetaling toevoegen SalaryPayment=Salarisbetaling SalariesPayments=Salarisbetalingen +SalariesPaymentsOf=Salarisbetalingen van %s ShowSalaryPayment=Toon salarisbetaling THM=Gemiddeld uurtarief TJM=Gemiddeld dagtarief CurrentSalary=Huidig salaris THMDescription=Deze waarde kan worden gebruikt om de kosten te berekenen van de tijd die wordt besteed aan een project dat door gebruikers is ingevoerd als de module Project wordt gebruikt TJMDescription=Deze waarde is momenteel alleen ter informatie en wordt niet gebruikt voor enige berekening -LastSalaries=Laatste %s salarisbetalingen -AllSalaries=Alle salarisbetalingen +LastSalaries=Laatste %s-salarissen +AllSalaries=Alle salarissen SalariesStatistics=Salaris statistieken -# Export SalariesAndPayments=Salarissen en betalingen +ConfirmDeleteSalaryPayment=Wilt u deze salarisbetaling verwijderen? diff --git a/htdocs/langs/nl_NL/sendings.lang b/htdocs/langs/nl_NL/sendings.lang index ec3734cae7b..280b0ca839e 100644 --- a/htdocs/langs/nl_NL/sendings.lang +++ b/htdocs/langs/nl_NL/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Weet u zeker dat u deze zending wilt valideren met als re ConfirmCancelSending=Weet u zeker dat u deze verzending wilt annuleren? DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Waarschuwing, geen producten die op verzending wachten. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Statistieken zijn alleen voor gevalideerde zendingen. Gebruikte datum is de datum van validatie van verzending (geplande leverdatum is niet altijd bekend) DateDeliveryPlanned=Verwachte leverdatum RefDeliveryReceipt=Ref-ontvangstbewijs StatusReceipt=Status ontvangstbevestiging diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang index 5ff151d9fd7..3147f7a6665 100644 --- a/htdocs/langs/nl_NL/stocks.lang +++ b/htdocs/langs/nl_NL/stocks.lang @@ -19,8 +19,8 @@ Stock=Voorraad Stocks=Voorraden MissingStocks=Ontbrekende voorraad StockAtDate=Voorraden op datum -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future +StockAtDateInPast=Datum in het verleden +StockAtDateInFuture=Datum in de toekomst StocksByLotSerial=Voorraad volgorde op lot/serienummer LotSerial=Partij/Serienummer LotSerialList=Overzicht van partij/serienummers @@ -37,8 +37,8 @@ AllWarehouses=Alle magazijnen IncludeEmptyDesiredStock=Voeg ook een negatieve voorraad toe met een ongedefinieerde gewenste voorraad IncludeAlsoDraftOrders=Neem ook conceptorders op Location=Locatie -LocationSummary=Short name of location -NumberOfDifferentProducts=Number of unique products +LocationSummary=Korte naam van de locatie +NumberOfDifferentProducts=Aantal unieke producten NumberOfProducts=Totaal aantal producten LastMovement=Laatste verplaatsing LastMovements=Laatste mutaties @@ -56,14 +56,12 @@ UnitPurchaseValue=Eenheidsprijs StockTooLow=Voorraad te laag StockLowerThanLimit=Voorraad lager dan alarmlimiet (%s) EnhancedValue=Waardering -PMPValue=Waardering (PMP) -PMPValueShort=Waarde EnhancedValueOfWarehouses=Voorraadwaardering UserWarehouseAutoCreate=Creëer automatisch een gebruikersmagazijn wanneer u een gebruiker aanmaakt AllowAddLimitStockByWarehouse=Beheer ook de waarde voor minimale en gewenste voorraad per paar (productmagazijn) naast de waarde voor minimale en gewenste voorraad per product RuleForWarehouse=Voorwaarden magazijnen -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals +WarehouseAskWarehouseOnThirparty=Stel een magazijn in op Derden +WarehouseAskWarehouseDuringPropal=Stel een magazijn in op offertes WarehouseAskWarehouseDuringOrder=Stel een magazijn in op Verkooporders UserDefaultWarehouse=Stel een magazijn in op gebruikers MainDefaultWarehouse=Standaardmagazijn @@ -91,23 +89,23 @@ NoPredefinedProductToDispatch=Geen vooraf ingestelde producten voor dit object. DispatchVerb=Verzending StockLimitShort=Alarm limiet StockLimit=Alarm voorraadlimiet -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(leeg) betekent geen waarschuwing.
    0 kan worden gebruikt om een waarschuwing te activeren zodra de voorraad op is. PhysicalStock=Fysieke voorraad RealStock=Werkelijke voorraad RealStockDesc=Fysieke/echte voorraad is de voorraad die momenteel in de magazijnen aanwezig is. RealStockWillAutomaticallyWhen=De werkelijke voorraad wordt aangepast volgens deze regel (zoals gedefinieerd in de module Voorraad): VirtualStock=Virtuele voorraad VirtualStockAtDate=Virtuele voorraad op datum -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished +VirtualStockAtDateDesc=Virtuele voorraad zodra alle lopende bestellingen die gepland zijn om vóór de gekozen datum te worden verwerkt, zijn voltooid VirtualStockDesc=Virtuele voorraad is de berekende voorraad die beschikbaar is zodra alle openstaande / lopende acties (die van invloed zijn op voorraden) zijn gesloten (inkooporders ontvangen, verkooporders verzonden, productieorders geproduceerd, enz.) -AtDate=At date +AtDate=op datum IdWarehouse=Magazijn-ID DescWareHouse=Beschrijving magazijn LieuWareHouse=Localisatie magazijn WarehousesAndProducts=Magazijn en producten WarehousesAndProductsBatchDetail=Magazijnen en producten (met detail per lot/serieenummer) AverageUnitPricePMPShort=Waardering (PMP) -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=De gemiddelde invoerprijs per eenheid die we moesten maken om 1 eenheid product in onze voorraad te krijgen. SellPriceMin=Verkopen Prijs per Eenheid EstimatedStockValueSellShort=Verkoopwaarde EstimatedStockValueSell=Verkoopwaarde @@ -147,7 +145,7 @@ Replenishments=Bevoorradingen NbOfProductBeforePeriod=Aantal op voorraad van product %s voor de gekozen periode (<%s) NbOfProductAfterPeriod=Aantal op voorraad van product %s na de gekozen periode (<%s) MassMovement=Volledige verplaatsing -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=Selecteer een bronmagazijn en een doelmagazijn, een product en een hoeveelheid en klik vervolgens op "%s". Zodra dit voor alle vereiste bewegingen is gedaan, klikt u op "%s". RecordMovement=Vastleggen verplaatsing ReceivingForSameOrder=Ontvangsten voor deze bestelling StockMovementRecorded=Geregistreerde voorraadbewegingen @@ -156,7 +154,7 @@ StockMustBeEnoughForInvoice=Het voorraadniveau moet voldoende zijn om het produc StockMustBeEnoughForOrder=Het voorraadniveau moet voldoende zijn om product / dienst aan de bestelling toe te voegen (controle wordt uitgevoerd op de huidige reële voorraad wanneer een regel wordt toegevoegd, ongeacht de regel voor automatische voorraadwijziging) StockMustBeEnoughForShipment= Voorraadniveau moet voldoende zijn om product / dienst aan verzending toe te voegen (controle wordt uitgevoerd op huidige reële voorraad bij het toevoegen van een regel aan verzending, ongeacht de regel voor automatische voorraadwijziging) MovementLabel=Label van de verplaatsing -TypeMovement=Direction of movement +TypeMovement=Richting van beweging DateMovement=Datum van verplaatsing InventoryCode=Verplaatsing of inventaris code IsInPackage=Vervat in pakket @@ -169,8 +167,8 @@ MovementTransferStock=Voorraad overdracht van het product %s in een ander magazi InventoryCodeShort=Inv./Verpl. code NoPendingReceptionOnSupplierOrder=Geen openstaande ontvangst vanwege openstaande inkooporder ThisSerialAlreadyExistWithDifferentDate=Deze lot/serienummer (%s) bestaat al, maar met verschillende verval of verkoopen voor datum (gevonden %s maar u gaf in%s). -OpenAll=Alle bewerkingen toegestaan -OpenInternal=Alleen interne bewerkingen toegestaan +OpenAnyMovement=Open (alle verplaatsingen) +OpenInternal=Open (alleen interne verplaatsing) UseDispatchStatus=Gebruik een verzendstatus (goedkeuren/weigeren) voor productregels bij ontvangst van inkooporders OptionMULTIPRICESIsOn=De optie "verschillende prijzen per segment" is ingeschakeld. Dit betekent dat een product verschillende verkoopprijzen heeft. De verkoopwaarde kan dus niet worden berekend. ProductStockWarehouseCreated=Voorraad alarm en gewenste optimale voorraad correct gecreëerd @@ -185,7 +183,7 @@ inventoryCreatePermission=Aanmaken nieuwe inventarisatie inventoryReadPermission=Bekijk inventarisaties inventoryWritePermission=Bijwerken inventarisaties inventoryValidatePermission=Inventarisatie goedkeuren -inventoryDeletePermission=Delete inventory +inventoryDeletePermission=Voorraad verwijderen inventoryTitle=Inventarisering inventoryListTitle=Inventariseringen inventoryListEmpty=Geen inventarisering in opbouw @@ -238,20 +236,28 @@ StockIsRequiredToChooseWhichLotToUse=Voorraad is vereist om te kiezen welk lot t ForceTo=Toevoegen aan AlwaysShowFullArbo=Volledige boomstructuur van magazijn weergeven op pop-up van magazijnkoppelingen (Waarschuwing: dit kan de prestaties drastisch verminderen) StockAtDatePastDesc=U kunt hier de echte voorraad op een bepaalde datum in het verleden bekijken -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +StockAtDateFutureDesc=U kunt hier de voorraad (virtuele voorraad) op een bepaalde datum in de toekomst bekijken CurrentStock=Huidige voorraad InventoryRealQtyHelp=Stel de waarde in op 0 om het aantal te resetten
    Veld leeg laten of regel verwijderen om ongewijzigd te houden -UpdateByScaning=Fill real qty by scaning +UpdateByScaning=Vul het werkelijke aantal door te scannen UpdateByScaningProductBarcode=Update door scan (product barcode) UpdateByScaningLot=Update door scan (partij/serie barcode) DisableStockChangeOfSubProduct=De-activeer tijdens deze bewerking de voorraad voor alle subproducten van deze kit. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s +ImportFromCSV=Importeer CSV-lijst met verplaatsingen +ChooseFileToImport=Upload bestand en klik vervolgens op het %s-pictogram om het bestand als bronimportbestand te selecteren... +SelectAStockMovementFileToImport=selecteer een voorraadbewegingsbestand om te importeren +InfoTemplateImport=Het geüploade bestand moet deze indeling hebben (* zijn verplichte velden):
    Bron Warehouse* | Doelmagazijn* | Artikel* | Aantal* | Lot-/serienummer
    CSV-tekenscheidingsteken moet " %s " zijn +LabelOfInventoryMovemement=Voorraad %s ReOpen=Heropenen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +ConfirmFinish=Bevestigt u de sluiting van de inventarisatie? Hiermee worden alle voorraadbewegingen gegenereerd om uw voorraad bij te werken naar de werkelijke hoeveelheid die u in de inventarisatie hebt ingevoerd. +ObjectNotFound=%s niet gevonden +MakeMovementsAndClose=Bewegingen genereren en sluiten +AutofillWithExpected=Vul de werkelijke hoeveelheid in met de verwachte hoeveelheid +ShowAllBatchByDefault=Toon standaard batchgegevens op het tabblad "voorraad" van het product +CollapseBatchDetailHelp=U kunt de standaardweergave van batchdetails instellen in de configuratie van de voorraadmodule +FieldCannotBeNegative=Veld "%s" mag niet negatief zijn +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/nl_NL/supplier_proposal.lang b/htdocs/langs/nl_NL/supplier_proposal.lang index 20d7bfd5e78..6d255fdb3cf 100644 --- a/htdocs/langs/nl_NL/supplier_proposal.lang +++ b/htdocs/langs/nl_NL/supplier_proposal.lang @@ -13,6 +13,7 @@ SupplierProposalArea=Omgeving leveranciersvoorstellen SupplierProposalShort=Leveranciersvoorstel SupplierProposals=Leveranciersvoorstellen SupplierProposalsShort=Leveranciersvoorstellen +AskPrice=Prijs aanvraag NewAskPrice=Opvragen prijs ShowSupplierProposal=Toon prijsaanvraag AddSupplierProposal=Maak een prijsaanvraag @@ -52,3 +53,6 @@ SupplierProposalsToClose=Leveranciersvoorstellen om te sluiten SupplierProposalsToProcess=Leveranciersvoorstellen om te verwerken LastSupplierProposals=Laatste %s prijsaanvragen AllPriceRequests=Alle verzoeken +TypeContact_supplier_proposal_external_SHIPPING=Contactpersoon leverancier voor levering +TypeContact_supplier_proposal_external_BILLING=Contactpersoon leverancier voor facturering +TypeContact_supplier_proposal_external_SERVICE=Vertegenwoordiger die de follow-up van de offerte doet diff --git a/htdocs/langs/nl_NL/ticket.lang b/htdocs/langs/nl_NL/ticket.lang index bcfe4a2f113..c963701de27 100644 --- a/htdocs/langs/nl_NL/ticket.lang +++ b/htdocs/langs/nl_NL/ticket.lang @@ -35,6 +35,7 @@ TicketDictResolution=Ticket - resolutie TicketTypeShortCOM=Commerciële vraag TicketTypeShortHELP=Verzoek om functionele hulp TicketTypeShortISSUE=Probleem of bug +TicketTypeShortPROBLEM=Probleem TicketTypeShortREQUEST=Verander- of verbeteringsverzoek TicketTypeShortPROJET=Project TicketTypeShortOTHER=Overig @@ -54,24 +55,25 @@ TypeContact_ticket_internal_SUPPORTTEC=Toegewezen gebruiker TypeContact_ticket_external_SUPPORTCLI=Klanten contact / opvolging TypeContact_ticket_external_CONTRIBUTOR=Externe bijdrage -OriginEmail=E-mail bron +OriginEmail=E-mail van de verslaggever Notify_TICKET_SENTBYMAIL=Verzend ticketbericht per e-mail # Status Read=Gelezen Assigned=Toegekend InProgress=Reeds bezig -NeedMoreInformation=Wachten op informatie +NeedMoreInformation=Wachten op feedback van verslaggevers +NeedMoreInformationShort=Wachten op feedback Answered=Beantwoord Waiting=Wachtend -Closed=Gesloten +SolvedClosed=Solved Deleted=Verwijderd # Dict Type=Type Severity=Prioriteit -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublic=Groep is openbaar +TicketGroupIsPublicDesc=Als een ticketgroep openbaar is, is deze zichtbaar in het formulier bij het maken van een ticket vanuit de openbare interface # Email templates MailToSendTicketMessage=Om e-mail van ticket bericht te verzenden @@ -116,8 +118,8 @@ TicketsShowModuleLogo=Toon het logo van de module in de openbare interface TicketsShowModuleLogoHelp=Schakel deze optie in om het logo op de pagina's van de openbare interface te verbergen TicketsShowCompanyLogo=Toon het logo van het bedrijf in de openbare interface TicketsShowCompanyLogoHelp=Schakel deze optie in om het logo van het bedrijf op de pagina's van de openbare interface te verbergen -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddress=Stuur ook een melding naar het hoofd-e-mailadres +TicketsEmailAlsoSendToMainAddressHelp=Schakel deze optie in om ook een e-mail te sturen naar het adres gedefinieerd in setup "%s" (zie tabblad "%s") TicketsLimitViewAssignedOnly=Beperk de weergave tot tickets die zijn toegewezen aan de huidige gebruiker (niet effectief voor externe gebruikers, altijd beperkt tot de derde partij waarvan ze afhankelijk zijn) TicketsLimitViewAssignedOnlyHelp=Alleen tickets die zijn toegewezen aan de huidige gebruiker zijn zichtbaar. Is niet van toepassing op een gebruiker met toegangsrechten voor tickets. TicketsActivatePublicInterface=Publieke interface activeren @@ -128,10 +130,10 @@ TicketNumberingModules=Nummering module voor tickets TicketsModelModule=Documentsjablonen voor tickets TicketNotifyTiersAtCreation=Breng relatie op de hoogte bij het aanmaken TicketsDisableCustomerEmail=Schakel e-mails altijd uit wanneer een ticket wordt gemaakt vanuit de openbare interface -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessage=Stuur e-mail(s) wanneer een nieuw bericht/opmerking wordt toegevoegd aan een ticket TicketsPublicNotificationNewMessageHelp=Stuur e-mail (s) wanneer een nieuw bericht is toegevoegd vanuit de openbare interface (naar de toegewezen gebruiker of de e-mail met meldingen naar (update) en / of de e-mail met meldingen naar) TicketPublicNotificationNewMessageDefaultEmail=E-mailmeldingen voor (update) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=Stuur een e-mail naar dit adres voor elk nieuw berichtmelding als er geen gebruiker aan het ticket is toegewezen of als de gebruiker geen bekend e-mailadres heeft. # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=Aangemaakt door NewTicket=Nieuw Ticket SubjectAnswerToTicket=Ticket antwoord TicketTypeRequest=Aanvraag type -TicketCategory=Groep +TicketCategory=Ticketcategorisatie SeeTicket=Bekijk ticket TicketMarkedAsRead=Ticket is gemarkeerd als gelezen TicketReadOn=Lees verder @@ -184,9 +186,11 @@ TicketSeverity=Prioriteit ShowTicket=Bekijk ticket RelatedTickets=Gerelateerde tickets TicketAddIntervention=Nieuwe interventie -CloseTicket=Sluit ticket -CloseATicket=Sluit een ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Bevestig sluiten ticket +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Bevestig het verwijderen van het ticket TicketDeletedSuccess=Ticket succesvol verwijderd TicketMarkedAsClosed=Ticket gemarkeerd als gesloten @@ -211,6 +215,7 @@ TicketMessageHelp=Alleen deze tekst zal worden bewaard in de berichtenlijst op d TicketMessageSubstitutionReplacedByGenericValues=Vervangingsvariabelen worden vervangen door generieke waarden. TimeElapsedSince=Verstreken tijd sinds TicketTimeToRead=Tijd verstreken voordat gelezen +TicketTimeElapsedBeforeSince=Verstreken tijd voor / sinds TicketContacts=Contact ticket TicketDocumentsLinked=Documenten gekoppeld aan ticket ConfirmReOpenTicket=Ticket heropenen? @@ -304,13 +309,13 @@ BoxLastModifiedTicket=Laatst gewijzigde tickets BoxLastModifiedTicketDescription=Laatste %s gewijzigde tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Geen recent gewijzigde tickets -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxTicketType=Verdeling van openstaande tickets per type +BoxTicketSeverity=Aantal openstaande tickets op volgorde belangrijkheid +BoxNoTicketSeverity=Geen tickets geopend +BoxTicketLastXDays=Aantal nieuwe tickets per dagen de laatste %s dagen +BoxTicketLastXDayswidget = Aantal nieuwe tickets per dag van de afgelopen X dagen +BoxNoTicketLastXDays=Geen nieuwe tickets de laatste %s dagen +BoxNumberOfTicketByDay=Aantal nieuwe tickets per dag +BoxNewTicketVSClose=Aantal nieuwe tickets van vandaag versus gesloten tickets van vandaag +TicketCreatedToday=Ticket vandaag aangemaakt +TicketClosedToday=Ticket vandaag gesloten diff --git a/htdocs/langs/nl_NL/trips.lang b/htdocs/langs/nl_NL/trips.lang index 8d07d7709ad..e025c7ba5a2 100644 --- a/htdocs/langs/nl_NL/trips.lang +++ b/htdocs/langs/nl_NL/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Het onkostenrapport %s is geannuleerd.
    - Gebru ExpenseReportPaid=Een onkostendeclaratie is betaald ExpenseReportPaidMessage=Het onkostenverslag %s is betaald.
    - Gebruiker: %s
    - Betaald door: %s
    Klik hier om het onkostenoverzicht weer te geven: %s TripId=Id onkostenoverzicht -AnyOtherInThisListCanValidate=Persoon die ter validatie moet informeren. +AnyOtherInThisListCanValidate=Persoon die moet worden geïnformeerd voor het valideren van het verzoek. TripSociete=Informatie bedrijf TripNDF=Informatie onkostennota PDFStandardExpenseReports=Standaardsjabloon om een PDF-document te genereren voor onkostennota @@ -90,7 +90,6 @@ DATE_REFUS=Weiger datum DATE_SAVE=Validatiedatum DATE_CANCEL=Annuleringsdatum DATE_PAIEMENT=Betaaldatum -BROUILLONNER=Heropenen ExpenseReportRef=Ref. onkostennota ValidateAndSubmit=Valideren en indienen voor goedkeuring ValidatedWaitingApproval=Gevalideerd (wachten op goedkeuring) diff --git a/htdocs/langs/nl_NL/users.lang b/htdocs/langs/nl_NL/users.lang index 4dbce720f65..8e96f57b7dd 100644 --- a/htdocs/langs/nl_NL/users.lang +++ b/htdocs/langs/nl_NL/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Wachtwoord gewijzigd in: %s SubjectNewPassword=Uw nieuw wachtwoord voor %s GroupRights=Groepsrechten UserRights=Gebruikersrechten -Credentials=Credentials +Credentials=Inloggegevens UserGUISetup=Gebruikersweergave instellen DisableUser=Uitschakelen DisableAUser=Schakel de gebruikertoegang uit @@ -73,7 +73,7 @@ ExportDataset_user_1=Gebruikers en hun eigenschappen DomainUser=Domeingebruikersaccount %s Reactivate=Reactiveren CreateInternalUserDesc=Met dit formulier kunt u een interne gebruiker in uw bedrijf / organisatie maken. Om een externe gebruiker (klant, leverancier etc. ..) aan te maken, gebruikt u de knop "Aanmaken Dolibarr gebruiker" van de contactkaart van die relatie. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=Een interne gebruiker is een gebruiker die deel uitmaakt van uw bedrijf/organisatie, of een partnergebruiker buiten uw organisatie is die mogelijk meer gegevens moet zien dan gegevens met betrekking tot zijn bedrijf (het toestemmingssysteem bepaalt wat hij kan of kan niet zien of doen).
    Een externe gebruiker is een klant, leverancier of ander die ALLEEN gegevens met betrekking tot hemzelf moet bekijken (Het aanmaken van een externe gebruiker voor een derde kan vanuit het contactrecord van de derde partij).

    In beide gevallen moet u machtigingen verlenen voor de functies die de gebruiker nodig heeft. PermissionInheritedFromAGroup=Toestemming verleend, omdat geërfd van een bepaalde gebruikersgroep. Inherited=Overgeërfd UserWillBe=De aangemaakte gebruiker zal zijn @@ -97,8 +97,8 @@ LoginToCreate=Te creëren gebruikersnaam NameToCreate=Naam van derden maken YourRole=Uw rollen YourQuotaOfUsersIsReached=Uw quotum van actieve gebruikers is bereikt! -NbOfUsers=Aantal gebruikers -NbOfPermissions=Aantal rechten +NbOfUsers=aantal gebruikers +NbOfPermissions=Aantal machtigingen DontDowngradeSuperAdmin=Alleen een superadmin kan downgrade een superadmin HierarchicalResponsible=Opzichter HierarchicView=Hiërarchisch schema @@ -106,7 +106,7 @@ UseTypeFieldToChange=Gebruik het veld Type om te veranderen OpenIDURL=OpenID URL LoginUsingOpenID=Gebruik OpenID om in te loggen WeeklyHours=Gewerkte uren (per week) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Verwachte gewerkte uren per week ColorUser=Kleur van de gebruiker DisabledInMonoUserMode=Uitgeschakeld in onderhoudsmodus UserAccountancyCode=Gebruiker accounting code @@ -116,7 +116,7 @@ DateOfEmployment=Datum indiensttreding DateEmployment=Werkgelegenheid DateEmploymentstart=Startdatum dienstverband DateEmploymentEnd=Einddatum dienstverband -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Toegang geldigheidsdatumbereik CantDisableYourself=U kunt uw eigen gebruikersrecord niet uitschakelen ForceUserExpenseValidator=Validatierapport valideren ForceUserHolidayValidator=Forceer verlofaanvraag validator diff --git a/htdocs/langs/nl_NL/website.lang b/htdocs/langs/nl_NL/website.lang index f75e622fc9b..05cae74f98d 100644 --- a/htdocs/langs/nl_NL/website.lang +++ b/htdocs/langs/nl_NL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Website toevoegen Webpage=Webpagina/container AddPage=Voeg pagina/container toe PageContainer=Pagina -PreviewOfSiteNotYetAvailable=Voorbeeld van uw website %s is nog niet beschikbaar. U moet eerst 'Een volledige websitesjabloon importeren' of alleen 'Een pagina / container toevoegen'. +PreviewOfSiteNotYetAvailable=De preview van uw website %s is nog niet beschikbaar. U moet eerst ' Een volledige websitesjabloon importeren ' of gewoon ' Een pagina/container toevoegen '. RequestedPageHasNoContentYet=Gevraagde pagina met id %s heeft nog geen inhoud of cachebestand .tpl.php is verwijderd. Bewerk de inhoud van de pagina om dit op te lossen. SiteDeleted=Website '%s' verwijderd PageContent=Pagina/Container @@ -46,12 +46,12 @@ SetHereVirtualHost= Gebruik met Apache / NGinx / ...
    Creëer op uw ExampleToUseInApacheVirtualHostConfig=Voorbeeld om te gebruiken in Apache virtual host setup: YouCanAlsoTestWithPHPS=Gebruik met PHP embedded server
    In een ontwikkelomgeving kunt u de site het liefst testen met de ingebouwde PHP-webserver (PHP 5.5 vereist)
    php -S 0.0.0.0:8080 -t %s YouCanAlsoDeployToAnotherWHP=Beheer uw website met een andere Dolibarr Hosting-provider
    Als u geen webserver zoals Apache of NGinx beschikbaar heeft op internet, kunt u uw website exporteren en importeren in een ander Dolibarr-exemplaar van een andere Dolibarr-hostingprovider die volledige integratie met de websitemodule biedt. U kunt een lijst met sommige Dolibarr-hostingproviders vinden op https://saas.dolibarr.org -CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s +CheckVirtualHostPerms=Controleer ook of de virtuele hostgebruiker (bijvoorbeeld www-data) %s permissies heeft voor bestanden in
    %s ReadPerm=Lezen WritePerm=Schrijven TestDeployOnWeb=Testen / implementeren op internet PreviewSiteServedByWebServer=Voorbeeld %s op een nieuw tabblad.

    De %s wordt bediend door een externe webserver (zoals Apache, Nginx, IIS). U moet deze server installeren en instellen voordat u naar de map verwijst:
    %s
    URL aangeboden door externe server:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". +PreviewSiteServedByDolibarr= Bekijk een voorbeeld van %s op een nieuw tabblad.

    De %s wordt bediend door de Dolibarr-server, dus er is geen extra webserver (zoals Apache, Nginx, IIS) nodig om te worden geïnstalleerd.
    Het vervelende is dat de URL's van pagina's niet gebruiksvriendelijk zijn en beginnen met het pad van uw Dolibarr.
    URL geserveerd door Dolibarr:
    %s

    Om uw eigen externe webserver gebruiken om deze website te dienen, maakt u een virtuele host op uw webserver die punten op directory
    %s
    voer vervolgens de naam van deze virtuele server in de eigenschappen van deze website en klik op de link "Test/Deploy on the web". VirtualHostUrlNotDefined=URL van de virtuele host bediend door externe webserver niet gedefinieerd NoPageYet=Nog geen pagina's YouCanCreatePageOrImportTemplate=U kunt een nieuwe pagina maken of een volledige websitesjabloon importeren @@ -137,11 +137,11 @@ PagesRegenerated=%s pagina ('s) / container (s) her-aangemaakt RegenerateWebsiteContent=Genereer cachebestanden van websites opnieuw AllowedInFrames=Toegestaan in frames DefineListOfAltLanguagesInWebsiteProperties=Definieer een lijst van alle beschikbare talen in website-eigenschappen. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated +GenerateSitemaps=Website-site mapbestand genereren map +ConfirmGenerateSitemaps=Als u bevestigt, wist u het bestaande site mapbestand... +ConfirmSitemapsCreation=Generatie van sitemap bevestigen +SitemapGenerated=Sitemap bestand %s gegenereerd ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +ErrorFaviconType=Favicon moet png zijn +ErrorFaviconSize=Favicon moet de afmetingen 16x16, 32x32 of 64x64 . hebben +FaviconTooltip=Upload een afbeelding die een png moet zijn (16x16, 32x32 of 64x64) diff --git a/htdocs/langs/nl_NL/withdrawals.lang b/htdocs/langs/nl_NL/withdrawals.lang index d2aabfb1334..6d0b0e17261 100644 --- a/htdocs/langs/nl_NL/withdrawals.lang +++ b/htdocs/langs/nl_NL/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s Betalingsverzoeken voor automatische incasso geregistree BankTransferRequestsDone=%s overboekingsverzoeken geregistreerd ThirdPartyBankCode=Bankcode van derden NoInvoiceCouldBeWithdrawed=Geen factuur afgeschreven. Controleer of de facturen betrekking hebben op bedrijven met een geldige IBAN en dat IBAN een UMR (Unique Mandate Reference) met modus %s heeft . +WithdrawalCantBeCreditedTwice=Dit opnamebewijs is al gemarkeerd als gecrediteerd; dit kan niet twee keer worden gedaan, omdat dit mogelijk dubbele betalingen en bankboekingen zou veroorzaken. ClassCredited=Classificeer creditering ClassCreditedConfirm=Weet u zeker dat u deze intrekkingsontvangst als bijgeschreven op uw bankrekening wilt classificeren? TransData=Datum transmissie @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Uitvoeringsdatum CreateForSepa=Aanmaken incassobestand -ICS=Crediteur Identifier CI voor automatische incasso -ICSTransfer=Crediteur Identifier CI voor bankoverschrijving +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML-tag - Uniek ID toegewezen per transactie USTRD="Ongestructureerde" SEPA XML-tag ADDDAYS=Dagen toevoegen aan uitvoeringsdatum @@ -149,4 +149,4 @@ InfoRejectMessage=M,

    de incasso van factuur %s voor bedrijf %s, met een b ModeWarning=Optie voor echte modus was niet ingesteld, we stoppen na deze simulatie ErrorCompanyHasDuplicateDefaultBAN=Bedrijf met id %s heeft meer dan één standaard bankrekening. Er is geen manier aanwezig om te weten welke u moet gebruiken. ErrorICSmissing=ICS ontbreekt op bankrekening %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Totaal bedrag incasso-opdracht verschilt van som van regels diff --git a/htdocs/langs/nl_NL/workflow.lang b/htdocs/langs/nl_NL/workflow.lang index d5d7ffe6155..499a1ce0242 100644 --- a/htdocs/langs/nl_NL/workflow.lang +++ b/htdocs/langs/nl_NL/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classificeer het gekoppelde bronvoor descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classificeer gekoppelde bronverkooporder als gefactureerd wanneer klantfactuur is gevalideerd (en als het factuurbedrag gelijk is aan het totale bedrag van de gekoppelde bestelling) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classificeer gekoppelde bronverkooporder als gefactureerd wanneer klantfactuur is ingesteld op betaald (en als het factuurbedrag gelijk is aan het totale bedrag van de gekoppelde bestelling) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classificeer gekoppelde bronverkooporder als verzonden wanneer een zending is gevalideerd (en als de hoeveelheid die door alle zendingen is verzonden dezelfde is als in de te updaten bestelling) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classificeer het gekoppelde bronvoorstel als gefactureerd wanneer de leveranciersfactuur is gevalideerd (en als het factuurbedrag gelijk is aan het totale bedrag van het gekoppelde voorstel) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classificeer gekoppelde inkooporder als gefactureerd wanneer leveranciersfactuur is gevalideerd (en als het factuurbedrag gelijk is aan het totale bedrag van de gekoppelde order) diff --git a/htdocs/langs/pl_PL/accountancy.lang b/htdocs/langs/pl_PL/accountancy.lang index be7022e275e..7ba7d208aba 100644 --- a/htdocs/langs/pl_PL/accountancy.lang +++ b/htdocs/langs/pl_PL/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Kraje spoza UE CountriesInEECExceptMe=Kraje UE oprócz %s CountriesExceptMe=Wszystkie kraje oprócz %s AccountantFiles=Eksportuj dokumenty źródłowe -ExportAccountingSourceDocHelp=Za pomocą tego narzędzia możesz wyeksportować zdarzenia źródłowe (listy i pliki PDF), które zostały użyte do wygenerowania Twojej księgowości. Aby wyeksportować swoje dzienniki, użyj pozycji menu %s - %s. +ExportAccountingSourceDocHelp=Za pomocą tego narzędzia możesz wyeksportować zdarzenia źródłowe (listę w formacie CSV i PDF), które zostały użyte do wygenerowania Twojej księgowości. +ExportAccountingSourceDocHelp2=Aby wyeksportować swoje dzienniki, użyj pozycji menu %s - %s. VueByAccountAccounting=Wyświetl według konta księgowego VueBySubAccountAccounting=Wyświetl według subkonta księgowego @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Długość kont księgowych innych firm (jeśli ustaw ACCOUNTING_MANAGE_ZERO=Pozwól zarządzać różną liczbą zer na końcu konta księgowego. Potrzebne w niektórych krajach (np. W Szwajcarii). Jeśli opcja jest wyłączona (domyślnie), możesz ustawić następujące dwa parametry, aby poprosić aplikację o dodanie wirtualnych zer. BANK_DISABLE_DIRECT_INPUT=Wyłącz bezpośrednią rejestrację transakcji na koncie bankowym ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Włącz eksport wersji roboczej w dzienniku -ACCOUNTANCY_COMBO_FOR_AUX=Włącz listę kombi dla konta pomocniczego (może działać wolno, jeśli masz wiele stron trzecich) +ACCOUNTANCY_COMBO_FOR_AUX=Włącz listę kombi dla konta pomocniczego (może działać wolno, jeśli masz dużo stron trzecich, przerywa możliwość wyszukiwania części wartości) ACCOUNTING_DATE_START_BINDING=Określ datę rozpoczęcia wiązania i przeniesienia w księgowości. Poniżej tej daty transakcje nie zostaną przeniesione do księgowości. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=W przypadku przelewu księgowego wybierz domyślnie pokazany okres @@ -202,14 +203,14 @@ Docref=Odniesienie LabelAccount=Etykieta konta LabelOperation=Operacja na etykiecie Sens=Kierunek -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=W przypadku konta księgowego klienta użyj opcji Kredyt, aby zarejestrować otrzymaną płatność
    W przypadku konta księgowego dostawcy użyj polecenia Debet, aby zarejestrować dokonaną płatność LetteringCode=Kod literowy Lettering=Literowanie Codejournal=Dziennik JournalLabel=Etykieta czasopisma NumPiece=ilość sztuk TransactionNumShort=Numer transakcji -AccountingCategory=Custom group +AccountingCategory=Grupa niestandardowa GroupByAccountAccounting=Grupuj według konta księgi głównej GroupBySubAccountAccounting=Grupuj według konta księgi podrzędnej AccountingAccountGroupsDesc=Możesz tutaj zdefiniować kilka grup rachunków księgowych. Będą wykorzystywane do tworzenia spersonalizowanych raportów księgowych. @@ -245,9 +246,9 @@ DescThirdPartyReport=Zapoznaj się z listą klientów i dostawców zewnętrznych ListAccounts=Lista kont księgowych UnknownAccountForThirdparty=Nieznane konto innej firmy. Użyjemy %s UnknownAccountForThirdpartyBlocking=Nieznane konto innej firmy. Błąd blokowania -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Konto innej firmy nie zostało zdefiniowane lub firma trzecia nieznana. Użyjemy %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Nieznany podmiot zewnętrzny i księga podrzędna nie została zdefiniowana w płatności. Wartość konta księgi podrzędnej pozostanie pusta. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Konto innej firmy nie zostało zdefiniowane lub firma trzecia nieznana. Błąd blokowania. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Nieznane konto innej firmy i konto oczekujące nie zostały zdefiniowane. Błąd blokowania PaymentsNotLinkedToProduct=Płatność nie jest powiązana z żadnym produktem / usługą OpeningBalance=Bilans otwarcia @@ -297,7 +298,7 @@ NoNewRecordSaved=Koniec z zapisem do dziennika ListOfProductsWithoutAccountingAccount=Lista produktów nie dowiązanych do żadnego konta księgowego ChangeBinding=Zmień dowiązanie Accounted=Rozliczone w księdze -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Jeszcze nie uwzględnione w księdze ShowTutorial=Pokaż Poradnik NotReconciled=Nie pogodzono się WarningRecordWithoutSubledgerAreExcluded=Ostrzeżenie, wszystkie operacje bez zdefiniowanego konta księgi podrzędnej są filtrowane i wykluczane z tego widoku @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Wyłącz powiązanie i przeniesienie w k ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Wyłącz powiązanie i przeniesienie w księgowości na zestawieniach wydatków (zestawienia wydatków nie będą brane pod uwagę w księgowości) ## Export +NotifiedExportDate=Zgłoszona data eksportu (modyfikacja wpisów nie będzie możliwa) +NotifiedValidationDate=Walidacja wpisów (modyfikacja lub usunięcie wpisów nie będzie możliwe) +ConfirmExportFile=Potwierdzenie wygenerowania pliku eksportu księgowości ? ExportDraftJournal=Export dziennika projektu Modelcsv=Model eksportu Selectmodelcsv=Wybierz model eksportu @@ -335,7 +339,7 @@ Modelcsv_normal=Standardowy eksport Modelcsv_CEGID=Eksport dla CEGID Expert Comptabilité Modelcsv_COALA=Eksport dla Sage Coala Modelcsv_bob50=Eksport dla Sage BOB 50 -Modelcsv_ciel=Eksport dla Sage Ciel Compta lub Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Eksport do Quadratus QuadraCompta Modelcsv_ebp=Eksport do EBP Modelcsv_cogilog=Eksport do Cogilog @@ -427,4 +431,4 @@ WarningReportNotReliable=Ostrzeżenie, ten raport nie jest oparty na księdze, w ExpenseReportJournal=Dziennik wydatków InventoryJournal=Dziennik zapasów -NAccounts=%s accounts +NAccounts=%s kont diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index 3a5510ec118..0d6fb15f422 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -53,6 +53,7 @@ InternalUser=Wewnętrzny użytkownik ExternalUser=Zewnętrzny użytkownik InternalUsers=Wewnętrzni użytkownicy ExternalUsers=Zewnetrzni użytkownicy +UserInterface=Interfejs użytkownika GUISetup=Wyświetlanie SetupArea=Konfiguracja UploadNewTemplate=Załaduj nowy szablon(y) @@ -64,7 +65,7 @@ RemoveLock=Usuń/zmień nazwę pliku %s o ile istnieje, aby umożliwić k RestoreLock=Przywróć plik %s o uprawnieniach tylko do odczytu, aby wyłączyć dalsze korzystanie z narzędzia Aktualizuj/Instaluj. SecuritySetup=Ustawienia bezpieczeństwa PHPSetup=Ustawienia PHP -OSSetup=OS setup +OSSetup=Konfiguracja systemu operacyjnego SecurityFilesDesc=Zdefiniuj tutaj opcje związane z bezpieczeństwem przesyłania plików. ErrorModuleRequirePHPVersion=Błąd ten moduł wymaga PHP w wersji %s lub większej ErrorModuleRequireDolibarrVersion=Błąd ten moduł wymaga Dolibarr wersji %s lub większej @@ -84,6 +85,7 @@ NumberOfBytes=Liczba Bajtów SearchString=Szukana fraza NotAvailableWhenAjaxDisabled=Niedostępne kiedy Ajax nie działa AllowToSelectProjectFromOtherCompany=Na dokumencie kontrahenta można wybrać projekt powiązany z innym kontrahentem +TimesheetPreventAfterFollowingMonths=Zapobiegaj rejestrowaniu czasu spędzonego po upływie kolejnej liczby miesięcy JavascriptDisabled=JavaScript wyłączony UsePreviewTabs=Użyj podgląd karty ShowPreview=Pokaż podgląd @@ -116,6 +118,7 @@ MultiCurrencySetup=Konfiguracja multi-walut MenuLimits=Granice i dokładność MenuIdParent=ID Rodzica menu DetailMenuIdParent=ID menu rodzica (pusty dla górnego menu) +ParentID=ID rodzica DetailPosition=Sortuj numer do zdefiniowania pozycji menu AllMenus=Wszyscy NotConfigured=Moduł/Aplikacja nie skonfigurowana @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funkcjonalność dostępna tylko w oficjalnej stabi BoxesDesc=Widżety to składniki pokazujące pewne informacje, które można dodać w celu spersonalizowania niektórych stron. Możesz wybrać wyświetlanie widżetu lub nie, wybierając stronę docelową i klikając „Aktywuj” lub klikając kosz, aby go wyłączyć. OnlyActiveElementsAreShown=Tylko elementy z aktywnych modułów są widoczne. ModulesDesc=Moduły/aplikacje określają, które funkcje są dostępne w oprogramowaniu. Niektóre moduły wymagają przyznania uprawnień użytkownikom po aktywacji modułu. Kliknij przycisk Włącz/Wyłącz %s każdego modułu, aby włączyć lub wyłączyć moduł/aplikację. +ModulesDesc2=Kliknij przycisk kółka %s , aby skonfigurować moduł/aplikację. ModulesMarketPlaceDesc=Możesz znaleźć więcej modułów do pobrania na zewnętrznych stronach internetowych... ModulesDeployDesc=Jeśli uprawnienia w Twym systemie plików na to pozwalają, możesz użyć tego narzędzia do wdrożenia modułu zewnętrznego. Moduł będzie wtedy widoczny na zakładce %s. ModulesMarketPlaces=Znajdź dodatkowe aplikacje / moduły @@ -221,8 +225,8 @@ NotCompatible=ten moduł nie jest kompatybilny z twoją wersją Dolibarr %s (Min CompatibleAfterUpdate=Ten moduł wymaga aktualizacji Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Zobacz w miejscu zakupów SeeSetupOfModule=Zobacz konfigurację modułu %s +SetOptionTo=Ustaw opcję %s na %s Updated=Zaktualizowane -Nouveauté=Nowość AchatTelechargement=Kup / Pobierz GoModuleSetupArea=Aby wdrożyć/zainstalować nowy moduł, przejdź do obszaru konfiguracji modułów: %s. DoliStoreDesc=DoliStore, oficjalny kanał dystrybucji zewnętrznych modułów Dolibarr ERP / CRM @@ -399,6 +403,7 @@ SecurityToken=Klucz do bezpiecznego URL NoSmsEngine=Brak dostępnego menedżera nadawców SMS-ów. Menedżer nadawców SMS nie jest instalowany z domyślną dystrybucją, ponieważ zależy od zewnętrznego dostawcy, ale można go znaleźć na %s PDF=PDF PDFDesc=Globalne opcje generowania plików PDF +PDFOtherDesc=Opcja PDF specyficzna dla niektórych modułów PDFAddressForging=Zasady dotyczące sekcji adresowej HideAnyVATInformationOnPDF=Ukryj wszystkie informacje związane z podatkiem od sprzedaży/VAT PDFRulesForSalesTax=Zasady dotyczące podatku od sprzedaży/VAT @@ -561,7 +566,7 @@ Module53Desc=Zarządzanie usługami Module54Name=Kontrakty/Subskrypcje Module54Desc=Zarządzanie umowami (usługi lub cykliczne subskrypcje) Module55Name=Kody kreskowe -Module55Desc=Kody kreskowe zarządzania +Module55Desc=Zarządzanie kodami kreskowymi lub kodami QR Module56Name=Płatność przelewem Module56Desc=Zarządzanie płatnościami dostawców za pomocą poleceń przelewu. Obejmuje generowanie pliku SEPA dla krajów europejskich. Module57Name=Płatności poleceniem zapłaty @@ -848,10 +853,10 @@ Permission402=Tworzenie / modyfikacja zniżek Permission403=Walidacja zniżek Permission404=Usuwanie zniżek Permission430=Użyj paska debugowania -Permission511=Czytaj wypłaty wynagrodzeń (twoich i podwładnych) -Permission512=Twórz/modyfikuj wypłaty wynagrodzeń -Permission514=Usuń wypłaty wynagrodzeń -Permission517=Przeczytaj wypłaty wynagrodzeń wszystkich +Permission511=Przeczytaj pensje i płatności (swoje i podwładni) +Permission512=Twórz/modyfikuj pensje i płatności +Permission514=Usuń pensje i płatności +Permission517=Przeczytaj wszystkim pensje i płatności Permission519=Wynagrodzenia eksport Permission520=Czytaj Kredyty Permission522=Tworzenie / modyfikacja kredytów @@ -965,6 +970,8 @@ Permission23003=Usuwanie Zaplanowanego zadania Permission23004=Wykonanie Zaplanowanego zadania Permission50101=Użyj punktu sprzedaży (SimplePOS) Permission50151=Użyj punktu sprzedaży (TakePOS) +Permission50152=Edytuj wiersze sprzedaży +Permission50153=Edytuj zamówione linie sprzedaży Permission50201=Czytaj transakcje Permission50202=Import transakcji Permission50330=Przeczytaj obiekty Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Jednostki pomiarowe DictionarySocialNetworks=Sieci społecznościowe DictionaryProspectStatus=Status perspektywiczny dla firm DictionaryProspectContactStatus=Status potencjalnych kontaktów -DictionaryHolidayTypes=Rodzaje urlopów +DictionaryHolidayTypes=Urlop - Rodzaje urlopu DictionaryOpportunityStatus=Status potencjalnego klienta dla projektu/potencjalnego klienta DictionaryExpenseTaxCat=Raport wydatków - Kategorie transportu DictionaryExpenseTaxRange=Raport z wydatków - zakres według kategorii transportu DictionaryTransportMode=Raport Intracomm - tryb transportowy +DictionaryBatchStatus=Status kontroli jakości partii/serii produktu TypeOfUnit=Rodzaj jednostki SetupSaved=Konfiguracja zapisana SetupNotSaved=Ustawienia nie zapisane @@ -1160,7 +1168,7 @@ DoNotSuggestPaymentMode=Nie proponuj NoActiveBankAccountDefined=Brak zdefiniowanego aktywnego konta bankowego OwnerOfBankAccount=Właściciel konta bankowego %s BankModuleNotActive=Moduł Rachunków bankowych jest nie aktywny -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Zdefiniuj odsyłacz "%s" (brak definicji wskazuje, by go nie wyświetlać, 'github' wskazuje na projekt Dolibarr, 'https://...' wskazuje na podany adres URL) Alerts=Alarmy DelaysOfToleranceBeforeWarning=Opóźnienie przed wyświetleniem ostrzeżenia dotyczącego: DelaysOfToleranceDesc=Ustaw opóźnienie, zanim ikona alertu %s zostanie wyświetlona na ekranie dla późnego elementu. @@ -1185,9 +1193,12 @@ SetupDescription2=Poniższe dwie sekcje są obowiązkowe (dwie pierwsze pozycje SetupDescription3= %s -> %s

    Podstawowe parametry używane do dostosowania domyślnego zachowania aplikacji (np. funkcji związanych z krajem). SetupDescription4= %s -> %s

    To oprogramowanie jest zestawem wielu modułów/aplikacji. Moduły związane z Twoimi potrzebami muszą być włączone i skonfigurowane. Pozycje menu pojawią się po aktywacji tych modułów. SetupDescription5=Pozycje w menu Inne Ustawienia zarządzają parametrami opcjonalnymi. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audyt +SetupDescriptionLink= %s - %s +SetupDescription3b=Podstawowe parametry używane do dostosowania domyślnego zachowania Twojej aplikacji (np. w przypadku funkcji związanych z krajem). +SetupDescription4b=To oprogramowanie to zestaw wielu modułów/aplikacji. Moduły związane z Twoimi potrzebami muszą być włączone i skonfigurowane. Wpisy menu pojawią się wraz z aktywacją tych modułów. +AuditedSecurityEvents=Zdarzenia dotyczące bezpieczeństwa poddawane inspekcji +NoSecurityEventsAreAduited=Żadne zdarzenia dotyczące bezpieczeństwa nie są poddawane inspekcji. Możesz je włączyć z menu %s +Audit=Wydarzenia związane z bezpieczeństwem InfoDolibarr=O Dolibarr InfoBrowser=O przeglądarce InfoOS=O systemie @@ -1255,9 +1266,9 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=Należy uruchomić to polecenie YourPHPDoesNotHaveSSLSupport=funkcji SSL nie są dostępne w PHP DownloadMoreSkins=Więcej skórek do pobrania SimpleNumRefModelDesc=Zwraca numer referencyjny w formacie %syymm-nnnn, gdzie rr to rok, mm to miesiąc, a nnnn to sekwencyjna liczba automatycznie zwiększająca się bez resetowania -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Pokaż identyfikator zawodowy z adresami -ShowVATIntaInAddress=Ukryj wewnątrzwspólnotowy numer VAT wraz z adresami +SimpleNumRefNoDateModelDesc=Zwraca numer referencyjny w formacie %s-nnnn, gdzie nnnn jest sekwencyjną liczbą, automatycznie zwiększającą się bez resetowania +ShowProfIdInAddress=Pokaż profesjonalny identyfikator z adresami +ShowVATIntaInAddress=Ukryj wewnątrzwspólnotowy numer VAT TranslationUncomplete=Częściowe tłumaczenie MAIN_DISABLE_METEO=Wyłącz widok meteorologiczny MeteoStdMod=Tryb standardowy @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Stan jest obecnie% s YouUseBestDriver=Używasz sterownika %s, który jest obecnie najlepszym dostępnym sterownikiem. YouDoNotUseBestDriver=Używasz sterownika %s, ale zalecany jest sterownik %s. NbOfObjectIsLowerThanNoPb=W bazie danych masz tylko %s %s. Nie wymaga to żadnej szczególnej optymalizacji. +ComboListOptim=Optymalizacja ładowania listy combo SearchOptim=Pozycjonowanie -YouHaveXObjectUseSearchOptim=Masz w bazie danych %s %s. Możesz dodać stałą %s do 1 w Strona Główna-Ustawienia-Inne. Ogranicz wyszukiwanie do początku ciągów, dzięki czemu baza danych będzie mogła używać indeksów i powinieneś otrzymać natychmiastową odpowiedź. -YouHaveXObjectAndSearchOptimOn=Masz %s %s w bazie danych, a stała %s jest ustawiona na 1 w Strona Główna-Ustawienia-Inne. +YouHaveXObjectUseComboOptim=Masz %s %s w bazie danych. Możesz przejść do ustawień modułu, aby umożliwić wczytanie listy combo przy zdarzeniu naciśnięcia klawisza. +YouHaveXObjectUseSearchOptim=Masz %s %s w bazie danych. Możesz dodać stałą %s do 1 w Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=Ogranicza to wyszukiwanie do początku napisów, dzięki czemu baza danych może korzystać z indeksów i powinieneś otrzymać natychmiastową odpowiedź. +YouHaveXObjectAndSearchOptimOn=Masz %s %s w bazie danych, a stała %s jest ustawiona na %s w Home-Setup-Other. BrowserIsOK=Używasz przeglądarki internetowej %s. Ta przeglądarka jest dobra pod względem bezpieczeństwa i wydajności. BrowserIsKO=Używasz przeglądarki internetowej %s. Wiadomo, że ta przeglądarka jest złym wyborem pod względem bezpieczeństwa, wydajności i niezawodności. Zalecamy używanie przeglądarki Firefox, Chrome, Opera lub Safari. PHPModuleLoaded=Ładowany jest komponent PHP %s @@ -1433,6 +1447,7 @@ MemberMainOptions=Główne opcje AdherentLoginRequired= Zarządzanie logowania dla każdego członka AdherentMailRequired=Adres e-mail wymagany do utworzenia nowego członka MemberSendInformationByMailByDefault=Checkbox wysłać mail z potwierdzeniem do członków jest domyślnie +MemberCreateAnExternalUserForSubscriptionValidated=Utwórz zewnętrzny login użytkownika dla każdej zweryfikowanej subskrypcji nowego członka VisitorCanChooseItsPaymentMode=Odwiedzający może wybierać spośród dostępnych sposobów płatności MEMBER_REMINDER_EMAIL=Włącz automatyczne przypominanie przez e-mail o wygasłych subskrypcjach. Uwaga: Moduł %s musi być włączony i poprawnie skonfigurowany, aby wysyłać przypomnienia. MembersDocModules=Szablony dokumentów dla dokumentów wygenerowanych na podstawie rekordu członka @@ -1753,7 +1768,7 @@ CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Podczas tworzenia nowego podatku pozostaw do ##### Agenda ##### AgendaSetup=Działania i porządku konfiguracji modułu PasswordTogetVCalExport=Klucz do wywozu zezwolić na link -SecurityKey = Security Key +SecurityKey = Klucz bezpieczeństwa PastDelayVCalExport=Nie starsze niż eksport przypadku AGENDA_USE_EVENT_TYPE=Użyj typów wydarzeń (zarządzanych w menu Ustawienia -> Słowniki -> Typ wydarzeń w programie) AGENDA_USE_EVENT_TYPE_DEFAULT=Automatycznie ustaw tę domyślną wartość dla typu zdarzenia w formularzu tworzenia wydarzenia @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Który widok chcesz otworzyć domyślnie po wybraniu menu Pl AGENDA_REMINDER_BROWSER=Włącz przypomnienie o zdarzeniu w przeglądarce użytkownika (Kiedy nadejdzie data przypomnienia, przeglądarka wyświetli wyskakujące okienko. Każdy użytkownik może wyłączyć takie powiadomienia w ustawieniach powiadomień przeglądarki). AGENDA_REMINDER_BROWSER_SOUND=Włącz powiadomienia dźwiękowe AGENDA_REMINDER_EMAIL=Włącz przypomnienie o wydarzeniu przez e-mail (opcję przypomnienia / opóźnienie można zdefiniować dla każdego zdarzenia). -AGENDA_REMINDER_EMAIL_NOTE=Uwaga: częstotliwość zadania %s musi być wystarczająca, aby mieć pewność, że przypomnienie zostanie wysłane w odpowiednim momencie. +AGENDA_REMINDER_EMAIL_NOTE=Uwaga: Częstotliwość zaplanowanego zadania %s musi być wystarczająca, aby przypomnienie zostało wysłane we właściwym momencie. AGENDA_SHOW_LINKED_OBJECT=Pokaż połączony obiekt w widoku planu zajęć ##### Clicktodial ##### ClickToDialSetup=Kliknij, aby Dial konfiguracji modułu ClickToDialUrlDesc=Adres URL wywoływany po wykonaniu kliknięcia na picto telefonu. W adresie URL, można użyć znaczników
    __PHONETO__ który zostanie zastąpiony numerem telefonu osoby zadzwonić
    __PHONEFROM__ który zostanie zastąpiony numerem telefonu dzwoniąc osobę (swoje)
    __LOGIN__ które zostaną zastąpione clicktodial login (zdefiniowany na karcie użytkownika)
    __PASS__ , który zostanie zastąpiony hasłem clicktodial (zdefiniowanym na karcie użytkownika). ClickToDialDesc=Ten moduł zamienia numery telefonów, gdy używasz komputera stacjonarnego, w klikalne linki. Kliknięcie wywoła numer. Można to wykorzystać do nawiązania połączenia telefonicznego podczas korzystania z telefonu programowego na pulpicie lub podczas korzystania na przykład z systemu CTI opartego na protokole SIP. Uwaga: podczas korzystania ze smartfona numery telefonów są zawsze klikalne. ClickToDialUseTelLink=Używaj tylko łącza "tel:" na numery telefonów -ClickToDialUseTelLinkDesc=Użyj tej metody, jeśli Twoi użytkownicy mają telefon programowy lub interfejs oprogramowania zainstalowany na tym samym komputerze co przeglądarka i wywoływany po kliknięciu łącza w przeglądarce zaczynającego się od „tel:”. Jeśli potrzebujesz pełnego rozwiązania serwerowego (nie ma potrzeby lokalnej instalacji oprogramowania), musisz ustawić to na „Nie” i wypełnić następne pole. +ClickToDialUseTelLinkDesc=Użyj tej metody, jeśli Twoi użytkownicy mają telefon programowy lub interfejs oprogramowania zainstalowany na tym samym komputerze co przeglądarka i wywoływany po kliknięciu łącza zaczynającego się od „tel:” w przeglądarce. Jeśli potrzebujesz łącza zaczynającego się od „sip:” lub pełnego rozwiązania serwerowego (nie ma potrzeby instalowania lokalnego oprogramowania), musisz ustawić to na „Nie” i wypełnić następne pole. ##### Point Of Sale (CashDesk) ##### CashDesk=Punkt sprzedaży CashDeskSetup=Konfiguracja modułu Point of Sales @@ -1979,9 +1994,13 @@ MAIN_PDF_MARGIN_RIGHT=Prawy margines w pliku PDF MAIN_PDF_MARGIN_TOP=Górny margines w pliku PDF MAIN_PDF_MARGIN_BOTTOM=Dolny margines w pliku PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Wysokość logo na dokumencie PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Dodaj zdjęcie w wierszu propozycji +PROPOSAL_PDF_HIDE_PAYMENTTERM=Ukryj warunki płatności +PROPOSAL_PDF_HIDE_PAYMENTMODE=Ukryj tryb płatności +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Dodaj podpis elektroniczny w PDF NothingToSetup=Dla tego modułu nie jest wymagana żadna konkretna konfiguracja. SetToYesIfGroupIsComputationOfOtherGroups=Ustaw na Tak, jeśli grupa ta pochodzi z przetworzenia innych grup -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +EnterCalculationRuleIfPreviousFieldIsYes=Wprowadź regułę obliczeniową, jeśli poprzednie pole ustawiono na Tak.
    Na przykład:
    CODEGRP1+CODEGRP2 SeveralLangugeVariatFound=Znaleziono kilka wariantów językowych RemoveSpecialChars=Usuń znaki specjalne COMPANY_AQUARIUM_CLEAN_REGEX=Filtr Regex do czyszczenia wartości (COMPANY_AQUARIUM_CLEAN_REGEX) @@ -2064,11 +2083,11 @@ UseDebugBar=Użyj paska debugowania DEBUGBAR_LOGS_LINES_NUMBER=Liczba ostatnich wierszy dziennika do zachowania w konsoli WarningValueHigherSlowsDramaticalyOutput=Ostrzeżenie, wyższe wartości dramatycznie spowalniają produkcję ModuleActivated=Moduł %s jest aktywowany i spowalnia interfejs -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +ModuleActivatedWithTooHighLogLevel=Moduł %s jest aktywowany ze zbyt wysokim poziomem logowania (spróbuj użyć niższego poziomu, aby uzyskać lepszą wydajność i bezpieczeństwo) +ModuleSyslogActivatedButLevelNotTooVerbose=Moduł %s został aktywowany, a poziom dziennika (%s) jest poprawny (niezbyt szczegółowy) IfYouAreOnAProductionSetThis=W środowisku produkcyjnym należy ustawić tę właściwość na %s. AntivirusEnabledOnUpload=Antywirus włączony na przesyłanych plikach -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +SomeFilesOrDirInRootAreWritable=Niektóre pliki lub katalogi nie są w trybie tylko do odczytu EXPORTS_SHARE_MODELS=Modele eksportowe są udostępniane wszystkim ExportSetup=Konfiguracja eksportu modułu ImportSetup=Konfiguracja importu modułu @@ -2078,7 +2097,7 @@ LargerThan=Większy niż IfTrackingIDFoundEventWillBeLinked=Zwróć uwagę, że jeśli identyfikator śledzenia obiektu zostanie znaleziony w wiadomości e-mail lub jeśli wiadomość e-mail jest odpowiedzią na wiadomość e-mail, która jest już zebrana i powiązana z obiektem, utworzone zdarzenie zostanie automatycznie połączone ze znanym powiązanym obiektem. WithGMailYouCanCreateADedicatedPassword=W przypadku konta Gmail, jeśli włączyłeś weryfikację dwuetapową, zaleca się utworzenie dedykowanego drugiego hasła dla aplikacji zamiast używania własnego hasła do konta ze strony https://myaccount.google.com/. EmailCollectorTargetDir=Przeniesienie wiadomości e-mail do innego tagu / katalogu po pomyślnym przetworzeniu może być pożądanym zachowaniem. Po prostu ustaw tutaj nazwę katalogu, aby skorzystać z tej funkcji (NIE używaj znaków specjalnych w nazwie). Pamiętaj, że musisz również użyć konta logowania do odczytu / zapisu. -EmailCollectorLoadThirdPartyHelp=Możesz użyć tej akcji, aby użyć treści wiadomości e-mail do znalezienia i załadowania istniejącej strony trzeciej do bazy danych. Znaleziona (lub utworzona) osoba trzecia zostanie wykorzystana do następujących działań, które tego wymagają. W polu parametrów możesz użyć na przykład „EXTRACT: BODY: Name: \\ s ([^ \\ s] *)”, jeśli chcesz wyodrębnić nazwę osoby trzeciej z ciągu „Name: name to find” znajdującego się w ciało. +EmailCollectorLoadThirdPartyHelp=Możesz użyć tej akcji, aby użyć treści wiadomości e-mail do znalezienia i załadowania istniejącej strony trzeciej w bazie danych. Znaleziona (lub utworzona) strona trzecia będzie używana do wykonywania czynności, które tego wymagają.
    Na przykład, jeśli chcesz utworzyć osobę trzecią z nazwą wyodrębnioną w treści ciągu „Nazwa: nazwa do znalezienia”, użyj adresu e-mail nadawcy jako adresu e-mail, możesz ustawić pole parametru w następujący sposób:
    'email=NAGŁÓWEK: ^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Punkt końcowy dla %s: %s DeleteEmailCollector=Usuń moduł zbierający e-maile ConfirmDeleteEmailCollector=Czy na pewno chcesz usunąć tego kolektora e-maili? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Pokaż projekt w dokumencie ShowProjectLabel=Etykieta projektu PDF_USE_ALSO_LANGUAGE_CODE=Jeśli chcesz, aby niektóre teksty w pliku PDF zostały skopiowane w 2 różnych językach w tym samym wygenerowanym pliku PDF, musisz ustawić tutaj ten drugi język, aby wygenerowany plik PDF zawierał 2 różne języki na tej samej stronie, ten wybrany podczas generowania pliku PDF i ten ( tylko kilka szablonów PDF to obsługuje). Pozostaw puste dla 1 języka na plik PDF. FafaIconSocialNetworksDesc=Wpisz tutaj kod ikony FontAwesome. Jeśli nie wiesz, co to jest FontAwesome, możesz użyć ogólnej wartości fa-address-book. -FeatureNotAvailableWithReceptionModule=Funkcja niedostępna, gdy włączony jest moduł Odbiór RssNote=Uwaga: każda definicja źródła danych RSS zawiera widżet, który należy włączyć, aby był dostępny na pulpicie nawigacyjnym JumpToBoxes=Przejdź do Ustawienia -> Widżety MeasuringUnitTypeDesc=Użyj tu wartości takich jak „rozmiar”, „powierzchnia”, „objętość”, „waga”, „czas” @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Skontaktuj się ze swoim bankiem, aby uzyskać ten identyfik AdvancedModeOnly=Zezwolenie dostępne tylko w trybie uprawnień Zaawansowanych ConfFileIsReadableOrWritableByAnyUsers=Plik conf jest czytelny lub zapisywalny dla każdego użytkownika. Udziel pozwolenia tylko użytkownikowi i grupie serwera WWW. MailToSendEventOrganization=Organizacja imprez +MailToPartnership=Współpraca AGENDA_EVENT_DEFAULT_STATUS=Domyślny status zdarzenia podczas tworzenia zdarzenia z formularza YouShouldDisablePHPFunctions=Powinieneś wyłączyć funkcje PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +IfCLINotRequiredYouShouldDisablePHPFunctions=Z wyjątkiem sytuacji, gdy musisz uruchamiać polecenia systemowe w niestandardowym kodzie, powinieneś wyłączyć funkcje PHP +PHPFunctionsRequiredForCLI=Do celów powłoki (takich jak zaplanowane tworzenie kopii zapasowych zadań lub uruchamianie programu anitivurs), musisz zachować funkcje PHP +NoWritableFilesFoundIntoRootDir=W katalogu głównym nie znaleziono zapisywalnych plików ani katalogów dla powszechnych programów (Dobrze) +RecommendedValueIs=Zalecane: %s +Recommended=Zalecana +NotRecommended=Niepolecane +ARestrictedPath=Ograniczona ścieżka +CheckForModuleUpdate=Sprawdź aktualizacje modułów zewnętrznych +CheckForModuleUpdateHelp=Ta akcja połączy się z edytorami zewnętrznych modułów, by sprawdzić dostępność ich nowych wersji. +ModuleUpdateAvailable=Aktualizacja jest dostępna +NoExternalModuleWithUpdate=Nie znaleziono aktualizacji dla modułów zewnętrznych +SwaggerDescriptionFile=Plik opisu Swagger API (na przykład, do użytku z redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Włączono przestarzały interfejs API WS. Zamiast tego powinieneś użyć REST API. +RandomlySelectedIfSeveral=Wybierane losowo, jeśli dostępnych jest kilka zdjęć +DatabasePasswordObfuscated=Hasło do bazy danych jest zaciemnione w pliku konfiguracyjnym +DatabasePasswordNotObfuscated=Hasło do bazy danych NIE jest zaciemnione w pliku konfiguracyjnym +APIsAreNotEnabled=Moduły API nie są włączone +YouShouldSetThisToOff=Powinieneś ustawić to na 0 lub wyłączone +InstallAndUpgradeLockedBy=Instalacja i aktualizacje są zablokowane przez plik %s +OldImplementation=Stara realizacja diff --git a/htdocs/langs/pl_PL/agenda.lang b/htdocs/langs/pl_PL/agenda.lang index 308e26c0b51..7b05a736cbe 100644 --- a/htdocs/langs/pl_PL/agenda.lang +++ b/htdocs/langs/pl_PL/agenda.lang @@ -4,7 +4,7 @@ Actions=Wydarzenia Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendy -LocalAgenda=Kalendarz wewnętrzny +LocalAgenda=Kalendarz domyślny ActionsOwnedBy=Wydarzenie własnością ActionsOwnedByShort=Właściciel AffectedTo=Przypisany do @@ -14,13 +14,13 @@ EventsNb=Ilość zdarzeń ListOfActions=Lista zdarzeń EventReports=Raport zdarzeń Location=Lokalizacja -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Wydarzenie przypisane do dowolnego użytkownika w grupie EventOnFullDay=Wydarzenia całodniowe MenuToDoActions=Wszystkie zdarzenia niekompletne MenuDoneActions=Wszystkie zdarzenia zakończone MenuToDoMyActions=Moje działania niekompletne MenuDoneMyActions=Moje zdarzenia zakończone -ListOfEvents=Lista zdarzeń (wewnętrzny kalendarz) +ListOfEvents=Lista wydarzeń (domyślny kalendarz) ActionsAskedBy=Wydarzenia zarejestrowane przez ActionsToDoBy=Zdarzenia przypisane do ActionsDoneBy=Zdarzenia wykonane przez @@ -31,14 +31,15 @@ ViewWeek=Pokaż tydzień ViewPerUser=Za wglądem użytkownika ViewPerType=Wyświetl po typie AutoActions= Automatyczne wypełnianie -AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. -AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...) +AgendaAutoActionDesc= Tutaj możesz zdefiniować wydarzenia, które Dolibarr ma automatycznie tworzyć w Agendzie. Jeśli nic nie jest zaznaczone, tylko ręczne działania zostaną uwzględnione w dziennikach i wyświetlone w Agendzie. Automatyczne śledzenie działań biznesowych wykonywanych na obiektach (walidacja, zmiana statusu) nie zostanie zapisane. +AgendaSetupOtherDesc= Ta strona zawiera opcje umożliwiające eksport wydarzeń Dolibarr do zewnętrznego kalendarza (Thunderbird, Google Calendar itp.) AgendaExtSitesDesc=Ta strona pozwala zdefiniować zewnętrzne źródła kalendarzy, aby zobaczyć uwzględnić zapisane tam zdarzenia w agendzie Dolibarr'a. ActionsEvents=Zdarzenia, dla których Dolibarr stworzy automatycznie zadania w agendzie -EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. +EventRemindersByEmailNotEnabled=Przypomnienia o wydarzeniach przez e-mail nie zostały włączone w konfiguracji modułu %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Kontrahent %s utworzony -COMPANY_DELETEInDolibarr=Third party %s deleted +COMPANY_MODIFYInDolibarr=Zmodyfikowano %s innej firmy +COMPANY_DELETEInDolibarr=Usunięto stronę trzecią %s ContractValidatedInDolibarr=Umowa %s potwierdzona CONTRACT_DELETEInDolibarr=Kontrakt %s usunięty PropalClosedSignedInDolibarr=Propozycja %s podpisana @@ -60,10 +61,10 @@ MemberSubscriptionModifiedInDolibarr=Subskrypcja %s dla członka %s zmodyfikowan MemberSubscriptionDeletedInDolibarr=Subskrypcja %s dla członka %s usunięta ShipmentValidatedInDolibarr=Przesyłka %s potwierdzona ShipmentClassifyClosedInDolibarr=Wysyłka %s sklasyfikowana jako rozliczona -ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open -ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status +ShipmentUnClassifyCloseddInDolibarr=Przesyłka %s sklasyfikowana ponownie otwarta +ShipmentBackToDraftInDolibarr=Przesyłka %s wróć do statusu wersji roboczej ShipmentDeletedInDolibarr=Przesyłka %s usunięta -ReceptionValidatedInDolibarr=Reception %s validated +ReceptionValidatedInDolibarr=Odbiór %s został zweryfikowany OrderCreatedInDolibarr=Zamówienie %s utworzone OrderValidatedInDolibarr=Zatwierdzenie zamówienia %s OrderDeliveredInDolibarr=Zamówienie %s sklasyfikowanych dostarczonych. @@ -72,30 +73,31 @@ OrderBilledInDolibarr=Zamówienie %s sklasyfikowanego obciążonego OrderApprovedInDolibarr=Akceptacja zamówienia %s OrderRefusedInDolibarr=Zamówienie %s odmówione OrderBackToDraftInDolibarr=Zmiana statusu zamówienia %s na draft -ProposalSentByEMail=Commercial proposal %s sent by email -ContractSentByEMail=Contract %s sent by email -OrderSentByEMail=Sales order %s sent by email -InvoiceSentByEMail=Customer invoice %s sent by email -SupplierOrderSentByEMail=Purchase order %s sent by email -ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted -SupplierInvoiceSentByEMail=Vendor invoice %s sent by email -ShippingSentByEMail=Shipment %s sent by email +ProposalSentByEMail=Oferta handlowa %s wysłana pocztą elektroniczną +ContractSentByEMail=Umowa %s wysłana pocztą elektroniczną +OrderSentByEMail=Zamówienie sprzedaży %s wysłane pocztą elektroniczną +InvoiceSentByEMail=Faktura dla klienta %s wysłana pocztą elektroniczną +SupplierOrderSentByEMail=Zamówienie %s wysłane pocztą elektroniczną +ORDER_SUPPLIER_DELETEInDolibarr=Zamówienie zakupu %s zostało usunięte +SupplierInvoiceSentByEMail=Faktura dostawcy %s wysłana pocztą elektroniczną +ShippingSentByEMail=Przesyłka %s wysłana pocztą elektroniczną ShippingValidated= Przesyłka %s potwierdzona -InterventionSentByEMail=Intervention %s sent by email +InterventionSentByEMail=Interwencja %s wysłana pocztą elektroniczną ProposalDeleted=Oferta usunięta OrderDeleted=Zamówienie usunięte InvoiceDeleted=Faktura usunięta -DraftInvoiceDeleted=Draft invoice deleted -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_DELETEInDolibarr=Contact %s deleted +DraftInvoiceDeleted=Wersja robocza faktury została usunięta +CONTACT_CREATEInDolibarr=Kontakt %s został utworzony +CONTACT_MODIFYInDolibarr=Skontaktuj się z %s zmodyfikowany +CONTACT_DELETEInDolibarr=Kontakt %s został usunięty PRODUCT_CREATEInDolibarr=Produkt %s utworzony PRODUCT_MODIFYInDolibarr=Produkt %s zmodyfikowany PRODUCT_DELETEInDolibarr=Produkt %s usunięty -HOLIDAY_CREATEInDolibarr=Request for leave %s created -HOLIDAY_MODIFYInDolibarr=Request for leave %s modified -HOLIDAY_APPROVEInDolibarr=Request for leave %s approved -HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated -HOLIDAY_DELETEInDolibarr=Request for leave %s deleted +HOLIDAY_CREATEInDolibarr=Utworzono wniosek o urlop %s +HOLIDAY_MODIFYInDolibarr=Wniosek o urlop %s zmodyfikowany +HOLIDAY_APPROVEInDolibarr=Wniosek o urlop %s został zatwierdzony +HOLIDAY_VALIDATEInDolibarr=Wniosek o urlop %s został zatwierdzony +HOLIDAY_DELETEInDolibarr=Wniosek o urlop %s został usunięty EXPENSE_REPORT_CREATEInDolibarr=Raport kosztów %s utworzony EXPENSE_REPORT_VALIDATEInDolibarr=Raport kosztów %s zatwierdzony EXPENSE_REPORT_APPROVEInDolibarr=Raport kosztów %s zaakceptowany @@ -104,33 +106,34 @@ EXPENSE_REPORT_REFUSEDInDolibarr=Raport kosztów %s odrzucony PROJECT_CREATEInDolibarr=Projekt %s utworzony PROJECT_MODIFYInDolibarr=Projekt %s zmodyfikowany PROJECT_DELETEInDolibarr=Projekt %s usunięty -TICKET_CREATEInDolibarr=Ticket %s created -TICKET_MODIFYInDolibarr=Ticket %s modified -TICKET_ASSIGNEDInDolibarr=Ticket %s assigned -TICKET_CLOSEInDolibarr=Ticket %s closed -TICKET_DELETEInDolibarr=Ticket %s deleted -BOM_VALIDATEInDolibarr=BOM validated -BOM_UNVALIDATEInDolibarr=BOM unvalidated -BOM_CLOSEInDolibarr=BOM disabled -BOM_REOPENInDolibarr=BOM reopen -BOM_DELETEInDolibarr=BOM deleted -MRP_MO_VALIDATEInDolibarr=MO validated -MRP_MO_UNVALIDATEInDolibarr=MO set to draft status -MRP_MO_PRODUCEDInDolibarr=MO produced -MRP_MO_DELETEInDolibarr=MO deleted -MRP_MO_CANCELInDolibarr=MO canceled +TICKET_CREATEInDolibarr=Bilet %s został utworzony +TICKET_MODIFYInDolibarr=Bilet %s zmodyfikowany +TICKET_ASSIGNEDInDolibarr=Bilet %s został przypisany +TICKET_CLOSEInDolibarr=Bilet %s zamknięty +TICKET_DELETEInDolibarr=Bilet %s został usunięty +BOM_VALIDATEInDolibarr=Zatwierdzone BOM +BOM_UNVALIDATEInDolibarr=Niezwalidowany zestawienie komponentów +BOM_CLOSEInDolibarr=Zestawienie komponentów wyłączone +BOM_REOPENInDolibarr=Ponownie otwórz zestawienie komponentów +BOM_DELETEInDolibarr=Usunięto zestawienie komponentów +MRP_MO_VALIDATEInDolibarr=Zatwierdzone przez MO +MRP_MO_UNVALIDATEInDolibarr=MO ustawiony na status wersji roboczej +MRP_MO_PRODUCEDInDolibarr=MO produkowane +MRP_MO_DELETEInDolibarr=MO zostało usunięte +MRP_MO_CANCELInDolibarr=MO anulowane +PAIDInDolibarr=%s zapłacono ##### End agenda events ##### AgendaModelModule=Szablon dokumentu dla zdarzenia DateActionStart=Data rozpoczęcia DateActionEnd=Data zakończenia AgendaUrlOptions1=Możesz także dodać następujące parametry do filtr wyjściowy: AgendaUrlOptions3=logina =%s, aby ograniczyć wyjścia do działań będących własnością użytkownika %s. -AgendaUrlOptionsNotAdmin=logina=!%s to restrict output to actions not owned by user %s. -AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s (owner and others). -AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. -AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. -AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Wyświetlaj urodziny kontaktów +AgendaUrlOptionsNotAdmin= logina =! %s , aby ograniczyć dane wyjściowe do działań nienależących do użytkownika %s . +AgendaUrlOptions4= logint = %s , aby ograniczyć wyjście do działań przypisanych do użytkownika %s (właściciel i inni). +AgendaUrlOptionsProject= project = __ PROJECT_ID__ , aby ograniczyć dane wyjściowe do działań powiązanych z projektem __PROJECT_ID__ . +AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto , aby wykluczyć zdarzenia automatyczne. +AgendaUrlOptionsIncludeHolidays= includeeholidays = 1 , aby uwzględnić wydarzenia związane z wakacjami. +AgendaShowBirthdayEvents=Urodziny kontaktów AgendaHideBirthdayEvents=Ukryj urodziny kontaktów Busy=Zajęty ExportDataset_event1=Lista zdarzeń w agendzie @@ -139,7 +142,7 @@ DefaultWorkingHours=Domyślnie zakres godzin pracy w dniu (przykład: 9-18) # External Sites ical ExportCal=Eksport kalendarza ExtSites=Import zewnętrznych kalendarzy -ExtSitesEnableThisTool=Show external calendars (defined in global setup) in Agenda. Does not affect external calendars defined by users. +ExtSitesEnableThisTool=Pokaż kalendarze zewnętrzne (zdefiniowane w ustawieniach globalnych) w Agendzie. Nie wpływa na kalendarze zewnętrzne zdefiniowane przez użytkowników. ExtSitesNbOfAgenda=Ilość kalendarzy AgendaExtNb=Kalendarz nr %s ExtSiteUrlAgenda=URL dostępu do pliku .ical @@ -152,17 +155,18 @@ ActionType=Typ wydarzenia DateActionBegin=Data startu wydarzenia ConfirmCloneEvent=Czy jesteś pewien, że chcesz powielić zdarzenie %s? RepeatEvent=Powtórz wydarzenie +OnceOnly=Tylko raz EveryWeek=Każdego tygodnia EveryMonth=Każdego miesiąca DayOfMonth=Dzień miesiąca DayOfWeek=Dzień tygodnia DateStartPlusOne=Data rozpoczęcia + 1 godzina -SetAllEventsToTodo=Set all events to todo -SetAllEventsToInProgress=Set all events to in progress -SetAllEventsToFinished=Set all events to finished -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +SetAllEventsToTodo=Ustaw wszystkie wydarzenia do wykonania +SetAllEventsToInProgress=Ustaw wszystkie wydarzenia na w toku +SetAllEventsToFinished=Ustaw wszystkie wydarzenia na zakończone +ReminderTime=Okres przypomnienia przed wydarzeniem +TimeType=Typ czasu trwania +ReminderType=Typ oddzwaniania +AddReminder=Utwórz automatyczne przypomnienie o tym wydarzeniu +ErrorReminderActionCommCreation=Błąd podczas tworzenia przypomnienia o tym wydarzeniu +BrowserPush=Powiadomienie o wyskakującym okienku przeglądarki diff --git a/htdocs/langs/pl_PL/banks.lang b/htdocs/langs/pl_PL/banks.lang index 033e4f2f9e5..114629ac798 100644 --- a/htdocs/langs/pl_PL/banks.lang +++ b/htdocs/langs/pl_PL/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Płatność za ZUS/podatek BankTransfer=Transfer kredytowy BankTransfers=Polecenia przelewu MenuBankInternalTransfer=Przelew wewnętrzny -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Użyj przelewu wewnętrznego by przelać z jednego konta na inne, aplikacja zapisze dwa rekordy: obciążenie na rachunku źródłowym i uznanie na rachunku docelowym. Ta sama kwota, tytuł i data zostaną użyte do tej transakcji. TransferFrom=Od TransferTo=Do TransferFromToDone=Transfer z %s do %s %s %s został zapisany. CheckTransmitter=Nadawca ValidateCheckReceipt=Potwierdzić potwierdzenie tego czeku? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Czy na pewno chcesz przesłać to pokwitowanie czeku do weryfikacji? Żadne zmiany nie będą możliwe po zatwierdzeniu. DeleteCheckReceipt=Usunąć to pokwitowanie czeku? ConfirmDeleteCheckReceipt=Czy na pewno chcesz usunąć to pokwitowanie czeku? BankChecks=Czeki bankowe @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Czy jesteś pewien, że chcesz usunąć te wpis? ThisWillAlsoDeleteBankRecord=To usunie wygenerowany wpis bankowy BankMovements=Ruchy PlannedTransactions=Zaplanowane wpisy -Graph=Graphs +Graph=Wykresy ExportDataset_banque_1=Wpisy bankowe i stan konta ExportDataset_banque_2=Odcinek wpłaty TransactionOnTheOtherAccount=Transakcja na inne konta @@ -142,7 +142,7 @@ AllAccounts=Wszystkie rachunki bankowe i gotówkowe BackToAccount=Powrót do konta ShowAllAccounts=Pokaż wszystkie konta FutureTransaction=Przyszła transakcja. Nie można się pogodzić. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Wybierz/przefiltruj czeki, które mają znaleźć się na potwierdzeniu wpłaty czeku. Następnie kliknij „Utwórz”. InputReceiptNumber=Wybierz wyciąg bankowy związany z postępowania pojednawczego. Użyj schematu: RRRRMM lub RRRRMMDD EventualyAddCategory=Ostatecznie, określić kategorię, w której sklasyfikować rekordy ToConciliate=Do zaksięgowania? diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index 8929f1a8b29..c7915bc6a13 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=Zamień zapłaconą nadwyżkę na dostępny rabat EnterPaymentReceivedFromCustomer=Wprowadź płatność otrzymaną od klienta EnterPaymentDueToCustomer=Dokonaj płatności dla klienta DisabledBecauseRemainderToPayIsZero=Nieaktywne, ponieważ upływająca nieopłacona kwota wynosi zero -PriceBase=Base price +PriceBase=Cena podstawowa BillStatus=Status faktury StatusOfGeneratedInvoices=Status generowanych faktur BillStatusDraft=Projekt (musi zostać zatwierdzone) @@ -259,6 +259,7 @@ DateMaxPayment=Termin płatności: DateInvoice=Daty wystawienia faktury DatePointOfTax=Punkt podatkowy NoInvoice=Nr faktury +NoOpenInvoice=Brak otwartej faktury ClassifyBill=Klasyfikacja faktury SupplierBillsToPay=Niezapłacone faktury od dostawcy CustomerBillsUnpaid=Niezapłacone faktury klienta @@ -454,7 +455,7 @@ RegulatedOn=Regulowane ChequeNumber=Czek N ChequeOrTransferNumber=Cheque / Transferu N ChequeBordereau=Sprawdź harmonogram -ChequeMaker=Check/Transfer sender +ChequeMaker=Nadawca czeku/przelewu ChequeBank=Bank czek CheckBank=Sprawdź NetToBePaid=Netto do wypłaty @@ -520,10 +521,10 @@ YouMustCreateStandardInvoiceFirstDesc=Najpierw musisz utworzyć standardową fak PDFCrabeDescription=Szablon faktury PDF Crabe. Kompletny szablon faktury (stara implementacja szablonu Sponge) PDFSpongeDescription=Szablon faktury PDF Gąbka. Kompletny szablon faktury PDFCrevetteDescription=Szablon faktury PDF Crevette. Kompletny szablon faktury dla faktur sytuacyjnych -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=Zwróć numer w formacie %srrmm-nnnn dla faktur standardowych i %srrmm-nnnn dla not kredytowych, gdzie rr to rok, mm to miesiąc, a nnnn to sekwencyjna liczba zwiększana automatycznie, bez przerw i bez powrotu do 0 +MarsNumRefModelDesc1=Zwróć numer w formacie %srrmm-nnnn dla faktur standardowych, %srrmm-nnnn dla faktur korygujących, %srrmm-nnnn dla faktur zaliczkowych i %srrmm-nnnn dla not kredytowych, gdzie rr to rok, mm to miesiąc a nnnn to sekwencyjna liczba zwiększana automatycznie, bez przerw i bez powrotu do 0 TerreNumRefModelError=Rachunek zaczynające się od $ syymm już istnieje i nie jest kompatybilne z tym modelem sekwencji. Usuń go lub zmienić jego nazwę, aby włączyć ten moduł. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +CactusNumRefModelDesc1=Zwróć numer w formacie %srrmm-nnnn dla faktur standardowych, %srrmm-nnnn dla not kredytowych i %srrmm-nnnn dla faktur zaliczkowych, gdzie rr to rok, mm to miesiąc, a nnnn to sekwencyjna liczba zwiększana automatycznie, bez przerw i bez powrotu do 0 EarlyClosingReason=Powód wcześniejszego zamknięcia EarlyClosingComment=Uwaga dotycząca wczesnego zamknięcia ##### Types de contacts ##### @@ -589,3 +590,4 @@ FacParentLine=Element nadrzędny linii faktury SituationTotalRayToRest=Pozostała kwota do zapłaty bez podatku PDFSituationTitle=Sytuacja nr %d SituationTotalProgress=Całkowity postęp %d %% +SearchUnpaidInvoicesWithDueDate=Wyszukaj niezapłacone faktury z terminem płatności = %s diff --git a/htdocs/langs/pl_PL/boxes.lang b/htdocs/langs/pl_PL/boxes.lang index 890e5e1e4b3..67c02de532c 100644 --- a/htdocs/langs/pl_PL/boxes.lang +++ b/htdocs/langs/pl_PL/boxes.lang @@ -46,11 +46,11 @@ BoxMyLastBookmarks=Zakładki: najnowsze %s BoxOldestExpiredServices=Najstarsze aktywne przeterminowane usługi BoxLastExpiredServices=Ostanich %s najstarszych kontaktów z aktywnymi upływającymi usługami BoxTitleLastActionsToDo=Ostatnich %s zadań do zrobienia -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=Najnowsze %s kontrakty, które zostały zmodyfikowane +BoxTitleLastModifiedDonations=Najnowsze %s darowizny, które zostały zmodyfikowane +BoxTitleLastModifiedExpenses=Najnowsze %s rozliczenia wydatków, które zostały zmodyfikowane +BoxTitleLatestModifiedBoms=Najnowsze %s zestawienia materiałów, które zostały zmodyfikowane +BoxTitleLatestModifiedMos=Najnowsze %s Zamówienia produkcyjne, które zostały zmodyfikowane BoxTitleLastOutstandingBillReached=Klienci z maksymalną zaległością przekroczeni BoxGlobalActivity=Globalna aktywność (faktury, wnioski, zamówienia) BoxGoodCustomers=Dobrzy klienci @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Zamówienia dostawców: ostatnio zmodyfikow BoxTitleLastModifiedCustomerBills=Faktury klienta: ostatnio zmodyfikowano %s BoxTitleLastModifiedCustomerOrders=Zamówienia sprzedaży: ostatnio zmodyfikowano %s BoxTitleLastModifiedPropals=Ostatnie %s zmodyfikowane oferty -BoxTitleLatestModifiedJobPositions=Najnowsze zmodyfikowane oferty pracy %s -BoxTitleLatestModifiedCandidatures=Najnowsze zmodyfikowane kandydatury %s +BoxTitleLatestModifiedJobPositions=Najnowsze %s zmodyfikowane stanowiska pracy +BoxTitleLatestModifiedCandidatures=Najnowsze %s zmodyfikowane podania o pracę ForCustomersInvoices=Faktury Klientów ForCustomersOrders=Zamówienia klientów ForProposals=Oferty diff --git a/htdocs/langs/pl_PL/cashdesk.lang b/htdocs/langs/pl_PL/cashdesk.lang index 6cbc7926e15..bbf83100c35 100644 --- a/htdocs/langs/pl_PL/cashdesk.lang +++ b/htdocs/langs/pl_PL/cashdesk.lang @@ -41,8 +41,8 @@ Floor=Podłoga AddTable=Dodaj tabelę Place=Miejsce TakeposConnectorNecesary=Wymagane jest „złącze TakePOS” -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Dodaj przycisk, aby wysłać zamówienie do wybranych drukarek, z pominięciem drukarki opłat (np. aby wysłać zamówienie do kuchni) +NotAvailableWithBrowserPrinter=Niedostępne, gdy drukarka do pokwitowań jest przestawiona w tryb przeglądarki: SearchProduct=Wyszukaj produkt Receipt=Odbiór Header=nagłówek @@ -59,7 +59,7 @@ BillsCoinsPad=Monety i banknoty Pad DolistorePosCategory=Moduły TakePOS i inne rozwiązania POS dla Dolibarr TakeposNeedsCategories=TakePOS potrzebuje co najmniej jednej kategorii produktów do działania TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS potrzebuje co najmniej 1 kategorii produktów z kategorii %s do działania -OrderNotes=Can add some notes to each ordered items +OrderNotes=Można dodawać notatki do każdej zamówionej pozycji CashDeskBankAccountFor=Domyślne konto używane do płatności w NoPaimementModesDefined=W konfiguracji TakePOS nie zdefiniowano trybu płatności TicketVatGrouped=Grupowy podatek VAT według stawki w biletach | paragonach @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=Faktura jest już zweryfikowana NoLinesToBill=Brak linii do rozliczenia CustomReceipt=Odbiór niestandardowy ReceiptName=Nazwa paragonu -ProductSupplements=Manage supplements of products +ProductSupplements=Zarządzaj zamiennikami produktów SupplementCategory=Kategoria suplementu ColorTheme=Motyw kolorystyczny Colorful=Kolorowy @@ -94,7 +94,7 @@ Browser=Przeglądarka BrowserMethodDescription=Proste i łatwe drukowanie paragonów. Tylko kilka parametrów do skonfigurowania paragonu. Drukuj przez przeglądarkę. TakeposConnectorMethodDescription=Moduł zewnętrzny z dodatkowymi funkcjami. Możliwość drukowania z chmury. PrintMethod=Metoda drukowania -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=Wydajna metoda z wieloma parametrami. W pełni konfigurowalna za pomocą szablonów. Serwer obsługujący aplikację nie może znajdować się w chmurze (musi mieć dostęp do drukarek w Twojej lokalnej sieci). ByTerminal=Terminalem TakeposNumpadUsePaymentIcon=Użyj ikony zamiast tekstu na przyciskach płatności na klawiaturze numerycznej CashDeskRefNumberingModules=Moduł numeracji dla sprzedaży POS @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} służy do dodania numeru termin TakeposGroupSameProduct=Grupuj te same linie produktów StartAParallelSale=Rozpocznij nową sprzedaż równoległą SaleStartedAt=Sprzedaż rozpoczęła się od %s -ControlCashOpening=Kontroluj wyskakujące okienko gotówki przy otwieraniu punktu sprzedaży +ControlCashOpening=Otwórz wyskakujące okienko „Kontroluj gotówkę” podczas otwierania POS CloseCashFence=Zamknij kontrolę kasową CashReport=Raport kasowy MainPrinterToUse=Główna drukarka do użycia @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Najpierw musi być włączona drukarka pokwito AllowDelayedPayment=Zezwalaj na opóźnioną płatność PrintPaymentMethodOnReceipts=Wydrukuj metodę płatności na biletach | paragonach WeighingScale=Skalę ważenia -ShowPriceHT = Wyświetl cenę bez podatku -ShowPriceHTOnReceipt = Wyświetl cenę bez podatku na paragonie +ShowPriceHT = Wyświetl kolumnę z ceną bez podatku (na ekranie) +ShowPriceHTOnReceipt = Wyświetl kolumnę z ceną bez podatku (na paragonie) +CustomerDisplay=Customer display diff --git a/htdocs/langs/pl_PL/categories.lang b/htdocs/langs/pl_PL/categories.lang index c81bbd8dd60..91b5ab3dca9 100644 --- a/htdocs/langs/pl_PL/categories.lang +++ b/htdocs/langs/pl_PL/categories.lang @@ -3,20 +3,20 @@ Rubrique=Tag / Kategoria Rubriques=Tagi / Kategorie RubriquesTransactions=Tagi / kategorie transakcji categories=tagi/kategorie -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Nie utworzono żadnego znacznika/kategorii tego typu In=W AddIn=Dodaj w modify=modyfikować Classify=Klasyfikacja CategoriesArea=Tagi / obszar Kategorie -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Obszar tagów/kategorii dla produktów/usług +SuppliersCategoriesArea=Obszar tagów/kategorii dostawców +CustomersCategoriesArea=Obszar tagów/kategorii klientów +MembersCategoriesArea=Obszar znaczników/kategorii członków +ContactsCategoriesArea=Obszar tagów/kategorii kontaktów +AccountsCategoriesArea=Obszar tagów/kategorii kont bankowych +ProjectsCategoriesArea=Obszar tagów/kategorii projektów +UsersCategoriesArea=Obszar tagów/kategorii użytkowników SubCats=Podkategorie CatList=Lista tagów / kategorii CatListAll=Lista tagów / kategorii (wszystkie typy) @@ -93,7 +93,7 @@ AddSupplierIntoCategory=Przypisz kategorię do dostawcy ShowCategory=Pokaż tag / kategoria ByDefaultInList=Domyśłnie na liście ChooseCategory=Wybrane kategorie -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories +StocksCategoriesArea=Kategorie magazynów +ActionCommCategoriesArea=Kategorie zdarzeń WebsitePagesCategoriesArea=Kategorie kontenerów stron -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=Użyj operatora „OR” dla kategorii diff --git a/htdocs/langs/pl_PL/commercial.lang b/htdocs/langs/pl_PL/commercial.lang index 2fc11d17cff..f77528ca035 100644 --- a/htdocs/langs/pl_PL/commercial.lang +++ b/htdocs/langs/pl_PL/commercial.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Commerce -CommercialArea=Commerce area +Commercial=Handel +CommercialArea=Strefa handlu Customer=Klient Customers=Klienci Prospect=Widok @@ -52,29 +52,30 @@ ActionAC_TEL=Telefon ActionAC_FAX=Wyślij faks ActionAC_PROP=Wyślij propozycję pocztą ActionAC_EMAIL=Wyślij e-mail -ActionAC_EMAIL_IN=Reception of Email +ActionAC_EMAIL_IN=Odbiór wiadomości e-mail ActionAC_RDV=Spotkania ActionAC_INT=Interwencja na stronie ActionAC_FAC=Wyślij fakturę/rozliczenie pocztą ActionAC_REL=Wyślij fakturę/rozliczenie pocztą (ponaglenie) ActionAC_CLO=Blisko ActionAC_EMAILING=Wyślij mass maila -ActionAC_COM=Send sales order by mail +ActionAC_COM=Wyślij zamówienie pocztą ActionAC_SHIP=Wyślij wysyłki za pośrednictwem poczty -ActionAC_SUP_ORD=Send purchase order by mail -ActionAC_SUP_INV=Send vendor invoice by mail +ActionAC_SUP_ORD=Wyślij zamówienie pocztą +ActionAC_SUP_INV=Wyślij fakturę dostawcy pocztą ActionAC_OTH=Inny -ActionAC_OTH_AUTO=Automatycznie wstawione wydarzenia +ActionAC_OTH_AUTO=Inne auto ActionAC_MANUAL=Ręcznie wstawione wydarzenia ActionAC_AUTO=Automatycznie wstawione wydarzenia -ActionAC_OTH_AUTOShort=Auto +ActionAC_OTH_AUTOShort=Inne +ActionAC_EVENTORGANIZATION=Wydarzenia związane z organizacją imprez Stats=Statystyka sprzedaży StatusProsp=Stan oferty DraftPropals=Szkic oferty handlowej NoLimit=Bez limitu ToOfferALinkForOnlineSignature=Link dla podpisu online -WelcomeOnOnlineSignaturePage=Welcome to the page to accept commercial proposals from %s -ThisScreenAllowsYouToSignDocFrom=This screen allow you to accept and sign, or refuse, a quote/commercial proposal -ThisIsInformationOnDocumentToSign=This is information on document to accept or refuse -SignatureProposalRef=Signature of quote/commercial proposal %s +WelcomeOnOnlineSignaturePage=Witamy na stronie do przyjmowania ofert handlowych od %s +ThisScreenAllowsYouToSignDocFrom=Ten ekran umożliwia zaakceptowanie i podpisanie lub odrzucenie oferty / oferty handlowej +ThisIsInformationOnDocumentToSign=To jest informacja na dokumencie do zaakceptowania lub odrzucenia +SignatureProposalRef=Podpis oferty / oferty handlowej %s FeatureOnlineSignDisabled=Funkcjonalność podpisu online wyłączona lub dokument wygenerowano przed włączeniem tej funkcji diff --git a/htdocs/langs/pl_PL/companies.lang b/htdocs/langs/pl_PL/companies.lang index 230a3becdd6..aa5a283db23 100644 --- a/htdocs/langs/pl_PL/companies.lang +++ b/htdocs/langs/pl_PL/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=Nazwa firmy %s już istnieje. Wybierz inną. ErrorSetACountryFirst=Najpierw wybierz kraj SelectThirdParty=Wybierz kontrahenta -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Czy na pewno chcesz usunąć tę firmę i wszystkie powiązane z nią informacje? DeleteContact=Usuń kontakt/adres -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Czy na pewno chcesz usunąć ten kontakt i wszystkie powiązane z nim informacje? MenuNewThirdParty=Nowy kontrahent MenuNewCustomer=Nowy klient MenuNewProspect=New Prospect @@ -69,7 +69,7 @@ PhoneShort=Telefon Skype=Skype Call=Zadzwoń Chat=Czat -PhonePro=Bus. phone +PhonePro=Autobus. telefon PhonePerso=Telefon prywatny PhoneMobile=Telefon komórkowy No_Email=Odrzuć masowe wysyłanie e-maili @@ -331,7 +331,7 @@ CustomerCodeDesc=Kod klienta, unikalny dla wszystkich klientów SupplierCodeDesc=Kod dostawcy, unikalny dla wszystkich dostawców RequiredIfCustomer=Wymagane, jeżeli Kontrahent jest klientem lub potencjalnym klientem RequiredIfSupplier=Wymagane jeżeli kontrahent jest dostawcą -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Ważność kontrolowana przez moduł ThisIsModuleRules=Zasady dla tego modułu ProspectToContact=Potencjalny Klient do kontaktu CompanyDeleted=Firma " %s" usunięta z bazy danych. @@ -439,22 +439,22 @@ ListSuppliersShort=Lista sprzedawców ListProspectsShort=Lista perspektyw ListCustomersShort=Lista klientów ThirdPartiesArea=Osoby trzecie / kontakty -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Najnowsi %s kontrahenci, którzy zostali zmodyfikowani +UniqueThirdParties=Łączna liczba kontrahentów InActivity=Otwarte ActivityCeased=Zamknięte ThirdPartyIsClosed=Kontrahent jest zamknięty -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=Lista produktów/usług zmapowanych na %s CurrentOutstandingBill=Biężący, niezapłacony rachunek OutstandingBill=Maksymalna kwota niezapłaconego rachunku OutstandingBillReached=Maksymalna kwota dla niespłaconych rachunków osiągnięta OrderMinAmount=Minimalna kwota dla zamówienia -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=Zwróć liczbę w formacie %srrmm-nnnn dla kodu klienta i %srrmm-nnnn dla kodu dostawcy, gdzie rr to rok, mm to miesiąc, a nnnn to sekwencyjna liczba, zwiększana automatycznie, bez przerwy i bez powrotu do 0. LeopardNumRefModelDesc=Dowolny kod Klienta / Dostawcy. Ten kod może być modyfikowany w dowolnym momencie. ManagingDirectors=Funkcja(e) managera (prezes, dyrektor generalny...) MergeOriginThirdparty=Duplikuj kontrahenta (kontrahenta, którego chcesz usunąć) MergeThirdparties=Scal kontrahentów -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Czy na pewno chcesz scalić wybranego kontrahenta z kontrahentem bieżącym? Wszystkie obiekty (faktury, zamówienia, ...) wybranego kontrahenta zostaną przeniesione do kontrahenta bieżącego, po czym wybrany kontrahent zostanie usunięty. ThirdpartiesMergeSuccess=Strony trzecie zostały połączone SaleRepresentativeLogin=Login przedstawiciela handlowego SaleRepresentativeFirstname=Imię przedstawiciela handlowego diff --git a/htdocs/langs/pl_PL/compta.lang b/htdocs/langs/pl_PL/compta.lang index bd6d36178ed..d98c13ebbb4 100644 --- a/htdocs/langs/pl_PL/compta.lang +++ b/htdocs/langs/pl_PL/compta.lang @@ -135,7 +135,7 @@ NewCheckReceipt=Nowe zniżki NewCheckDeposit=Nowe sprawdzić depozytu NewCheckDepositOn=Nowe sprawdzić depozytu na konto: %s NoWaitingChecks=Brak czeków oczekujących na wpłatę. -DateChequeReceived=Check receiving date +DateChequeReceived=Sprawdź datę odbioru NbOfCheques=Liczba czeków PaySocialContribution=Zapłać ZUS/podatek PayVAT=Zapłać deklarację VAT @@ -231,7 +231,7 @@ Pcg_subtype=PCG podtyp InvoiceLinesToDispatch=Linie do wysyłki faktury ByProductsAndServices=Według produktów i usług RefExt=Ref Zewnętrzne -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +ToCreateAPredefinedInvoice=Aby utworzyć szablon faktury, utwórz fakturę standardową, a następnie, bez jej walidacji, kliknij przycisk "%s”. LinkedOrder=Link do zamówienia Mode1=Metoda 1 Mode2=Metoda 2 @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Zafakturowany obrót zakupowy ReportPurchaseTurnoverCollected=Zebrany obrót zakupowy IncludeVarpaysInResults = Uwzględnij różne płatności w raportach IncludeLoansInResults = Uwzględnij pożyczki w raportach +InvoiceLate30Days = Faktury opóźnione > 30 dni +InvoiceLate15Days = Faktury opóźnione > 15 dni +InvoiceLateMinus15Days = Faktury spóźnione +InvoiceNotLate = Do odbioru < 15 dni +InvoiceNotLate15Days = Do odbioru za 15 dni +InvoiceNotLate30Days = Do odbioru za 30 dni diff --git a/htdocs/langs/pl_PL/cron.lang b/htdocs/langs/pl_PL/cron.lang index 68a5f84d9e3..bf21fca7c08 100644 --- a/htdocs/langs/pl_PL/cron.lang +++ b/htdocs/langs/pl_PL/cron.lang @@ -7,28 +7,28 @@ Permission23103 = Usuń zaplanowane zadanie Permission23104 = Wykonaj zaplanowane zadanie # Admin CronSetup=Konfiguracja zarządzania zaplanowanymi zadaniami -URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser -OrToLaunchASpecificJob=Or to check and launch a specific job from a browser +URLToLaunchCronJobs=Adres URL do sprawdzania i uruchamiania kwalifikowanych zadań cron z przeglądarki +OrToLaunchASpecificJob=Lub sprawdzić i uruchomić określone zadanie z przeglądarki KeyForCronAccess=Klucz zabezpieczeń dla URL, aby uruchomić cron -FileToLaunchCronJobs=Command line to check and launch qualified cron jobs +FileToLaunchCronJobs=Wiersz poleceń do sprawdzania i uruchamiania kwalifikowanych zadań cron CronExplainHowToRunUnix=W środowisku Unix należy użyć następującego wpisu crontab, aby uruchomić wiersz poleceń co 5 minut -CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes +CronExplainHowToRunWin=W środowisku Microsoft (tm) Windows można używać narzędzi do zaplanowanych zadań, aby uruchamiać wiersz poleceń co 5 minut CronMethodDoesNotExists=Klasa %s nie zawiera żadnej metody %s -CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods -CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s. -CronJobProfiles=List of predefined cron job profiles +CronMethodNotAllowed=Metoda %s klasy %s znajduje się na czarnej liście zabronionych metod +CronJobDefDesc=Profile zadań Cron są zdefiniowane w pliku deskryptora modułu. Gdy moduł jest aktywowany, są one ładowane i dostępne, dzięki czemu można administrować zadaniami z menu narzędzi administracyjnych %s. +CronJobProfiles=Lista predefiniowanych profili zawodowych Cron # Menu EnabledAndDisabled=Włączone i wyłączone # Page list -CronLastOutput=Latest run output -CronLastResult=Latest result code +CronLastOutput=Wynik ostatniego uruchomienia +CronLastResult=Kod najnowszego wyniku CronCommand=Komenda CronList=Zaplanowane zadania CronDelete=Usuwanie zaplanowanych zadań CronConfirmDelete=Czy jesteś pewien, że chcesz usunąć te zaplanowane zadania? CronExecute=Uruchom zaplanowane zadania CronConfirmExecute=Jesteś pewien, że chcesz wykonać te zaplanowane zadania teraz? -CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually. +CronInfo=Moduł zaplanowanych zadań umożliwia planowanie zadań w celu ich automatycznego wykonania. Zadania można również uruchamiać ręcznie. CronTask=Zadanie CronNone=Żaden CronDtStart=Nie przed @@ -43,11 +43,11 @@ CronModule=Moduł CronNoJobs=Brak zarejestrowanych zadań CronPriority=Priorytet CronLabel=Etykieta -CronNbRun=Number of launches -CronMaxRun=Maximum number of launches +CronNbRun=Liczba uruchomień +CronMaxRun=Maksymalna liczba uruchomień CronEach=Każdy JobFinished=Zadania uruchomione i zakończone -Scheduled=Scheduled +Scheduled=Planowy #Page card CronAdd= Dodaj zadanie CronEvery=Wykonaj każde zadanie @@ -57,35 +57,35 @@ CronSaveSucess=Zapisano pomyślnie CronNote=Komentarz CronFieldMandatory=Pole %s jest obowiązkowe CronErrEndDateStartDt=Data zakończenia nie może być wcześniejsza niż data rozpoczęcia -StatusAtInstall=Status at module installation -CronStatusActiveBtn=Schedule +StatusAtInstall=Stan w momencie instalacji modułu +CronStatusActiveBtn=Harmonogram CronStatusInactiveBtn=Wyłączone -CronTaskInactive=To zadanie jest wyłączone +CronTaskInactive=To zadanie jest wyłączone (nie zaplanowano) CronId=ID -CronClassFile=Filename with class -CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product -CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory).
    For example to call the fetch method of Dolibarr Product object htdocs/product/class/product.class.php, the value for class file name is
    product/class/product.class.php -CronObjectHelp=The object name to load.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is
    Product -CronMethodHelp=The object method to launch.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is
    fetch -CronArgsHelp=The method arguments.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be
    0, ProductRef +CronClassFile=Nazwa pliku z klasą +CronModuleHelp=Nazwa katalogu modułu Dolibarr (działa również z zewnętrznym modułem Dolibarr).
    Na przykład, aby wywołać metodę pobierania obiektu Dolibarr Product / htdocs / /class/product.class.php, wartość modułu to
    a049271e8bz0 a049271e8bz0 +CronClassFileHelp=Względna ścieżka i nazwa pliku do załadowania (ścieżka jest względna w stosunku do katalogu głównego serwera WWW).
    Na przykład, aby wywołać metodę pobierania obiektu Dolibarr Product htdocs / product / class / product.class.php , wartość dla nazwy pliku klasy to
    a049271e818cz0 klasa / produkt. +CronObjectHelp=Nazwa obiektu do załadowania.
    Na przykład, aby wywołać metodę pobierania obiektu Dolibarr Product /htdocs/product/class/product.class.php, wartość nazwy pliku klasy to
    Produkt +CronMethodHelp=Metoda obiektu do uruchomienia.
    Na przykład, aby wywołać metodę pobierania obiektu Dolibarr Product /htdocs/product/class/product.class.php, wartość metody to
    fetch +CronArgsHelp=Argumenty metody.
    Na przykład, aby wywołać metodę pobierania obiektu Dolibarr Product /htdocs/product/class/product.class.php, parametr może mieć wartość
    0, ProductRef CronCommandHelp=System linii poleceń do wykonania. CronCreateJob=Utwórz nowe zaplanowane zadanie CronFrom=Z # Info # Common CronType=Typ zadania -CronType_method=Call method of a PHP Class +CronType_method=Metoda wywołania klasy PHP CronType_command=Polecenie powłoki -CronCannotLoadClass=Cannot load class file %s (to use class %s) -CronCannotLoadObject=Class file %s was loaded, but object %s was not found into it -UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs. +CronCannotLoadClass=Nie można załadować pliku klasy %s (aby użyć klasy %s) +CronCannotLoadObject=Załadowano plik klasy %s, ale nie znaleziono w nim obiektu %s +UseMenuModuleToolsToAddCronJobs=Przejdź do menu " Strona główna - Narzędzia administracyjne - Zaplanowane zadania ", aby wyświetlić i edytować zaplanowane zadania. JobDisabled=Zadanie wyłączone MakeLocalDatabaseDumpShort=Backup lokalnej bazy danych -MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep -WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. -DATAPOLICYJob=Data cleaner and anonymizer -JobXMustBeEnabled=Job %s must be enabled +MakeLocalDatabaseDump=Utwórz zrzut lokalnej bazy danych. Parametry to: kompresja („gz” lub „bz” lub „none”), typ kopii zapasowej („mysql”, „pgsql”, „auto”), 1, „auto” lub nazwa pliku do zbudowania, liczba plików kopii zapasowych do zachowania +WarningCronDelayed=Uwaga, ze względu na wydajność, niezależnie od następnej daty wykonania włączonych zadań, Twoje zadania mogą zostać opóźnione maksymalnie o %s godzin, zanim zostaną uruchomione. +DATAPOLICYJob=Narzędzie do czyszczenia danych i anonimizator +JobXMustBeEnabled=Zadanie %s musi być włączone # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Ostatnio wykonane zaplanowane zadanie +NextScheduledJobExecute=Następne zaplanowane zadanie do wykonania +NumberScheduledJobError=Liczba błędnie zaplanowanych zadań diff --git a/htdocs/langs/pl_PL/deliveries.lang b/htdocs/langs/pl_PL/deliveries.lang index 336a696e731..a4bd16123c3 100644 --- a/htdocs/langs/pl_PL/deliveries.lang +++ b/htdocs/langs/pl_PL/deliveries.lang @@ -2,7 +2,7 @@ Delivery=Dostawa DeliveryRef=Numer referencyjny dostawy DeliveryCard=Karta przyjęcia -DeliveryOrder=Delivery receipt +DeliveryOrder=Kwit dostawy DeliveryDate=Data dostawy CreateDeliveryOrder=Generuj przyjęcie dostawy DeliveryStateSaved=Stan dostawy zapisany @@ -18,14 +18,16 @@ StatusDeliveryCanceled=Anulowano StatusDeliveryDraft=Projekt StatusDeliveryValidated=Przyjęto # merou PDF model -NameAndSignature=Name and Signature: +NameAndSignature=Imię i nazwisko oraz podpis: ToAndDate=To___________________________________ na ____ / _____ / __________ GoodStatusDeclaration=Otrzymano towary w dobrym stanie, -Deliverer=Deliverer: +Deliverer=Dostawca: Sender=Nadawca Recipient=Odbiorca ErrorStockIsNotEnough=Brak wystarczającego zapasu w magazynie Shippable=Możliwa wysyłka NonShippable=Nie do wysyłki +ShowShippableStatus=Pokaż status do wysyłki ShowReceiving=Pokaż przyjęte dostawy -NonExistentOrder=Nonexistent order +NonExistentOrder=Nieistniejący porządek +StockQuantitiesAlreadyAllocatedOnPreviousLines = Ilości magazynowe już przydzielone na poprzednich liniach diff --git a/htdocs/langs/pl_PL/ecm.lang b/htdocs/langs/pl_PL/ecm.lang index d82c3efa109..b68d5d9b952 100644 --- a/htdocs/langs/pl_PL/ecm.lang +++ b/htdocs/langs/pl_PL/ecm.lang @@ -41,7 +41,7 @@ FileNotYetIndexedInDatabase=Plik nie został jeszcze zindeksowany w bazie danych ExtraFieldsEcmFiles=Pliki Extrafields Ecm ExtraFieldsEcmDirectories=Extrafields Ecm Directories ECMSetup=Konfiguracja ECM -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +GenerateImgWebp=Wszystkie obrazy o innej wersji powiel w formacie .webp +ConfirmGenerateImgWebp=Jeśli potwierdzisz, wygenerujesz obraz w formacie .webp dla wszystkich obrazów obecnie znajdujących się w tym folderze (podfoldery nie zostaną uwzględniane)... +ConfirmImgWebpCreation=Potwierdź powielenie wszystkich obrazów +SucessConvertImgWebp=Obrazy zostały pomyślnie zduplikowane diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index 5f372102c73..8dfb36e390c 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=Nie ma błędu, zobowiązujemy # Errors ErrorButCommitIsDone=Znalezione błędy, ale mimo to możemy potwierdzić -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=E-mail %s jest nieprawidłowy +ErrorBadMXDomain=E-mail %s wydaje się nieprawidłowy (nie odnaleziono prawidłowego rekordu MX dla domeny) +ErrorBadUrl=Adres URL %s jest nieprawidłowy ErrorBadValueForParamNotAString=Zła wartość parametru. Zazwyczaj dołącza się, gdy brakuje tłumaczenia. ErrorRefAlreadyExists=Odniesienie %s już istnieje. ErrorLoginAlreadyExists=Zaloguj %s już istnieje. ErrorGroupAlreadyExists=Grupa %s już istnieje. +ErrorEmailAlreadyExists=E-mail %s już istnieje. ErrorRecordNotFound=Rekord nie został znaleziony. ErrorFailToCopyFile=Nie udało się skopiować pliku '%s' do '%s'. ErrorFailToCopyDir=Nie udało się skopiować katalogu „ %s ” do „ %s ”. @@ -46,8 +47,8 @@ ErrorWrongDate=Data nie jest poprawna! ErrorFailedToWriteInDir=Nie można zapisać w katalogu %s ErrorFoundBadEmailInFile=Znaleziono nieprawidłową składnię adresu email dla %s linii w pliku (przykładowo linia %s z adresem email %s) ErrorUserCannotBeDelete=Nie można usunąć użytkownika. Może jest to związane z podmiotami Dolibarr. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=Niektóre wymagane pola zostały puste. +ErrorSubjectIsRequired=Temat wiadomości e-mail jest wymagany ErrorFailedToCreateDir=Nie można utworzyć katalogu. Sprawdź, czy serwer WWW użytkownik ma uprawnienia do zapisu do katalogu dokumentów Dolibarr. Jeśli parametr safe_mode jest włączona w tym PHP, czy posiada Dolibarr php pliki do serwera internetowego użytkownika (lub grupy). ErrorNoMailDefinedForThisUser=Nie określono adresu email dla tego użytkownika ErrorSetupOfEmailsNotComplete=Konfiguracja e-maili nie została zakończona @@ -117,7 +118,7 @@ ErrorCantReadFile=Nie można odczytać pliku '%s' ErrorCantReadDir=Nie można odczytać katalogu '%s' ErrorBadLoginPassword=Błędne hasło lub login ErrorLoginDisabled=Twoje konto zostało wyłączone -ErrorFailedToRunExternalCommand=Nie można uruchomić polecenia zewnętrznych. Zameldowanie jest ona dostępna i runnable przez serwer PHP. Jeśli PHP safe mode jest włączony, czy polecenie wewnątrz katalogu określonym przez parametr safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Nie udało się uruchomić polecenia zewnętrznego. Sprawdź, czy jest dostępny i uruchamiany przez użytkownika serwera PHP. Sprawdź również, że polecenie nie jest chronione na poziomie powłoki przez warstwę bezpieczeństwa, taką jak apparmor. ErrorFailedToChangePassword=Nie można zmienić hasła ErrorLoginDoesNotExists=Użytkownik %s nie został znaleziony. ErrorLoginHasNoEmail=Ten użytkownik nie ma adresu e-mail. Proces przerwany. @@ -226,7 +227,7 @@ ErrorAPageWithThisNameOrAliasAlreadyExists=Strona/kontener %s ErrorDuringChartLoad=Błąd podczas ładowania planu kont. Jeśli kilka kont nie zostało załadowanych, nadal możesz wprowadzić je ręcznie. ErrorBadSyntaxForParamKeyForContent=Zła składnia parametru keyforcontent. Musi mieć wartość zaczynającą się od %s lub %s ErrorVariableKeyForContentMustBeSet=Błąd, należy ustawić stałą o nazwie %s (z treścią tekstową do wyświetlenia) lub %s (z zewnętrznym adresem URL do wyświetlenia). -ErrorURLMustEndWith=URL %s must end %s +ErrorURLMustEndWith=Adres URL %s musi kończyć się %s ErrorURLMustStartWithHttp=URL %s musi zaczynać się od http: // lub https: // ErrorHostMustNotStartWithHttp=Nazwa hosta %s NIE może zaczynać się od http: // lub https: // ErrorNewRefIsAlreadyUsed=Błąd, nowe odniesienie jest już używane @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Błąd, data nie może przypadać w przyszłości ErrorAnAmountWithoutTaxIsRequired=Błąd, kwota jest obowiązkowa ErrorAPercentIsRequired=Błąd, proszę poprawnie wpisać wartość procentową ErrorYouMustFirstSetupYourChartOfAccount=Najpierw musisz ustawić swój plan kont +ErrorFailedToFindEmailTemplate=Nie udało się znaleźć szablonu o nazwie kodowej %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Twój parametr PHP upload_max_filesize (%s) jest wyższy niż parametr PHP post_max_size (%s). To nie jest spójna konfiguracja. @@ -297,4 +300,6 @@ WarningAvailableOnlyForHTTPSServers=Dostępne tylko w przypadku korzystania z be WarningModuleXDisabledSoYouMayMissEventHere=Moduł %s nie został włączony. Możesz więc przegapić wiele wydarzeń tutaj. ErrorActionCommPropertyUserowneridNotDefined=Właściciel użytkownika jest wymagany ErrorActionCommBadType=Wybrany typ zdarzenia (id: %n, kod: %s) nie istnieje w słowniku typów zdarzeń -CheckVersionFail=Version check fail +CheckVersionFail=Sprawdzanie wersji nie powiodło się +ErrorWrongFileName=Nazwa pliku nie może zawierać __COŚ__ +ErrorNotInDictionaryPaymentConditions=Nie w Słowniku terminów płatności, zmień. diff --git a/htdocs/langs/pl_PL/eventorganization.lang b/htdocs/langs/pl_PL/eventorganization.lang index 0f40e7ef18c..84d69543b6c 100644 --- a/htdocs/langs/pl_PL/eventorganization.lang +++ b/htdocs/langs/pl_PL/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,86 +17,133 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Impreza organizacyjna +EventOrganizationDescription = Impreza organizacyjna za pomocą modułu Projekty +EventOrganizationDescriptionLong= Zarządzaj imprezą organizacyjną dla konferencji, prelegentów, uczestników za pomocą publicznej strony subskrypcji # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Imprezy zorganizowane +EventOrganizationConferenceOrBoothMenuLeft = Konferencja lub stoisko # # Admin page # -EventOrganizationSetup = Event Organization setup +EventOrganizationSetup = Konfiguracja imprezy organizacyjnej Settings = Ustawienia -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference -EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EventOrganizationSetupPage = Strona konfiguracji imprezy organizacyjnej +EVENTORGANIZATION_TASK_LABEL = Etykiety zadań automatycznie tworzonych po zatwierdzeniu projektu +EVENTORGANIZATION_TASK_LABELTooltip = Podczas walidacji zorganizowanego wydarzenia niektóre zadania mogą być tworzone automatycznie w projekcie

    Na przykład:
    Wyślij wezwanie na konferencję
    Wyślij wezwanie do stoiska
    Odbierz wezwanie na konferencję
    Odbierz wezwanie na konferencję
    Odbierz wezwanie do stoiska
    Wyślij prelegentom przypomnienie o imprezie
    Wyślij gospodarzom stoiska przypomnienie o imprezie
    Wyślij uczestnikom przypomnienie o imprezie +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Kategoria dodawana do kontrahentów, tworzona automatycznie po otrzymaniu sugestii zorganizowania konferencji. +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Kategoria dodawana do kontrahentów, tworzona automatycznie po otrzymaniu sugestii zorganizowania stoiska. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Szablon wiadomości e-mail wysyłany po otrzymaniu sugestii zorganizowania konferencji. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Szablon wiadomości e-mail wysyłany po otrzymaniu sugestii zorganizowania stoiska. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Szablon e-mail wysyłany po opłaceniu stoiska. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Szablon wiadomości e-mail wysyłany po opłaceniu imprezy. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Szablon wiadomości e-mail do wszystkich uczestników +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Szablon wiadomości e-mail do wszystkich prelegentów +EVENTORGANIZATION_FILTERATTENDEES_CAT = Zastosuj kategorię do filtrowania listy wyboru kontrahenta na karcie/formularzu tworzenia uczestników +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Zastosuj typ klienta do filtrowania listy wyboru kontrahenta na karcie/formularzu tworzenia uczestników # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +EventOrganizationConfOrBooth= Konferencja lub stoisko +ManageOrganizeEvent = Zarządzaj imprezą organizacyjną +ConferenceOrBooth = Konferencja lub stoisko +ConferenceOrBoothTab = Konferencja lub stoisko +AmountOfSubscriptionPaid = Kwota opłaconej subskrypcji +DateSubscription = Data subskrypcji +ConferenceOrBoothAttendee = Uczestnik konferencji lub stoiska # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Twoje żądanie o konferencję zostało odebrane +YourOrganizationEventBoothRequestWasReceived = Twoje żądanie o stoisko zostało odebrane +EventOrganizationEmailAskConf = Żądanie o konferencję +EventOrganizationEmailAskBooth = Żądanie o stoisko +EventOrganizationEmailSubsBooth = Abonament za stoisko +EventOrganizationEmailSubsEvent = Abonament za imprezę +EventOrganizationMassEmailAttendees = Komunikacja z uczestnikami +EventOrganizationMassEmailSpeakers = Komunikacja z prelegentami # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +AllowUnknownPeopleSuggestConf=Pozwól nieznanym osobom sugerować konferencje +AllowUnknownPeopleSuggestConfHelp=Pozwól nieznanym osobom sugerować konferencje +AllowUnknownPeopleSuggestBooth=Pozwól nieznanym osobom sugerować stoisko +AllowUnknownPeopleSuggestBoothHelp=Pozwól nieznanym osobom sugerować stoisko +PriceOfRegistration=Cena rejestracji +PriceOfRegistrationHelp=Cena rejestracji +PriceOfBooth=Cena abonamentu za stoisko +PriceOfBoothHelp=Cena abonamentu za stoisko +EventOrganizationICSLink=Łącze ICS dla zdarzeń +ConferenceOrBoothInformation=Informacje o konferencji lub stoisku +Attendees = Uczestnicy +DownloadICSLink = Pobierz link do ICS +EVENTORGANIZATION_SECUREKEY = Klucz bezpieczeństwa dla publicznego łącza do rejestracji na konferencję +SERVICE_BOOTH_LOCATION = Usługa używana do wiersza faktury o lokalizacji stoiska +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Usługa używana w wierszu faktury za subskrypcję uczestnika na konferencję +NbVotes=Liczba głosów # # Status # EvntOrgDraft = Szkic -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified +EvntOrgSuggested = Zasugerowane +EvntOrgConfirmed = Potwierdzone +EvntOrgNotQualified = Brak kwalifikacji EvntOrgDone = Zrobione -EvntOrgCancelled = Cancelled +EvntOrgCancelled = Anulowane # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Strona sugestii +RegisterPage = Strona na konferencje lub stoisko +EvntOrgRegistrationHelpMessage = Tutaj możesz zagłosować na wydarzenie lub zaproponować nową konferencję lub stoisko dla projektu +EvntOrgRegistrationConfHelpMessage = Tutaj możesz zaproponować nową konferencję do projektu +EvntOrgRegistrationBoothHelpMessage = Tutaj możesz zaproponować nowe stoisko do projektu +ListOfSuggestedConferences = Lista proponowanych konferencji +ListOfSuggestedBooths = Lista sugerowanych stoisk +SuggestConference = Zaproponuj nową konferencję +SuggestBooth = Zaproponuj stoisko +ViewAndVote = Zobacz i zagłosuj na sugerowane wydarzenia +PublicAttendeeSubscriptionPage = Publiczne łącze do rejestracji na konferencję +MissingOrBadSecureKey = Klucz bezpieczeństwa jest nieprawidłowy lub go brakuje +EvntOrgWelcomeMessage = Ten formularz umożliwia zarejestrowanie się jako nowy uczestnik konferencji: '%s' +EvntOrgDuration = Ta konferencja zaczyna się %s i kończy się %s. +ConferenceAttendeeFee = Opłata uczestnika konferencji za wydarzenie: '%s' występujące od %s do %s. +BoothLocationFee = Lokalizacja stoiska dla wydarzenia: „%s” występujące od %s do %s +EventType = Typ wydarzenia +LabelOfBooth=Etykieta stoiska +LabelOfconference=Etykieta konferencji +ConferenceIsNotConfirmed=Subskrypcja niedostępna, konferencja nie została jeszcze potwierdzona +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Witamy na stronie z propozycjami konferencji lub stoisk. +EvntOrgRegistrationConfWelcomeMessage = Witamy na stronie propozycji konferencji. +EvntOrgRegistrationBoothWelcomeMessage = Witamy na stronie propozycji stoisk. +EvntOrgVoteHelpMessage = Tutaj możesz przeglądać i głosować na sugerowane wydarzenia dla projektu +VoteOk = Twój głos został zaakceptowany. +AlreadyVoted = Już zagłosowałeś na to wydarzenie. +VoteError = Podczas głosowania wystąpił błąd, spróbuj ponownie. + +# +# SubscriptionOk page +# +SubscriptionOk = Twoja subskrypcja na tę konferencję została potwierdzona +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Potwierdzenie subskrypcji na konferencję +# +# Payment page +# +Attendee = Uczestnik +PaymentConferenceAttendee = Opłata za uczestnika konferencji +PaymentBoothLocation = Płatność za miejsce na stoisku diff --git a/htdocs/langs/pl_PL/exports.lang b/htdocs/langs/pl_PL/exports.lang index 4a291b908d4..10f8a70cba4 100644 --- a/htdocs/langs/pl_PL/exports.lang +++ b/htdocs/langs/pl_PL/exports.lang @@ -1,61 +1,62 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Eksporty ImportArea=Import -NewExport=New Export -NewImport=New Import +NewExport=Nowy eksport +NewImport=Nowy import ExportableDatas=Eksportowalny zbiór danych ImportableDatas=Importowalny zbiór danych SelectExportDataSet=Wybierz zbiór danych, który chcesz wyeksportować... SelectImportDataSet=Wybierz zbiór danych, który chcesz zaimportować... -SelectExportFields=Choose the fields you want to export, or select a predefined export profile -SelectImportFields=Choose the 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: +SelectExportFields=Wybierz pola, które chcesz wyeksportować, lub wybierz predefiniowany profil eksportu +SelectImportFields=Wybierz pola pliku źródłowego, które chcesz zaimportować, i ich pole docelowe w bazie danych, przesuwając je w górę iw dół za pomocą kotwicy %s lub wybierz wstępnie zdefiniowany profil importu: NotImportedFields=Obszary plik przywożonych źródła nie -SaveExportModel=Save your selections as an export profile/template (for reuse). -SaveImportModel=Save this import profile (for reuse) ... +SaveExportModel=Zapisz swoje wybory jako profil / szablon eksportu (do ponownego wykorzystania). +SaveImportModel=Zapisz ten profil importu (do ponownego wykorzystania) ... ExportModelName=Nazwa profilu eksportowego -ExportModelSaved=Export profile saved as %s. +ExportModelSaved=Profil eksportu zapisany jako %s . ExportableFields=Wywóz pola ExportedFields=Eksportowane pola ImportModelName=Importuj nazwę profilu -ImportModelSaved=Import profile saved as %s. +ImportModelSaved=Importuj profil zapisany jako %s . DatasetToExport=Zbiór danych do eksportu DatasetToImport=Dataset importować ChooseFieldsOrdersAndTitle=Wybierz kolejność pól... FieldsTitle=Obszary tytuł FieldTitle=pole tytuł -NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... -AvailableFormats=Available Formats +NowClickToGenerateToBuildExportFile=Teraz wybierz format pliku w polu kombi i kliknij „Generuj”, aby zbudować plik eksportu ... +AvailableFormats=Dostępne formaty LibraryShort=Biblioteka -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator +ExportCsvSeparator=Separator znaków CSV +ImportCsvSeparator=Separator znaków CSV Step=Krok -FormatedImport=Import Assistant -FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. -FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. -FormatedExport=Export Assistant -FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. -FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. +FormatedImport=Asystent importu +FormatedImportDesc1=Moduł ten umożliwia aktualizację istniejących danych lub dodawanie nowych obiektów do bazy danych z pliku bez wiedzy technicznej, przy pomocy asystenta. +FormatedImportDesc2=Pierwszym krokiem jest wybór rodzaju danych, które chcesz zaimportować, następnie format pliku źródłowego, a następnie pola, które chcesz zaimportować. +FormatedExport=Asystent Eksportu +FormatedExportDesc1=Narzędzia te pozwalają na eksport spersonalizowanych danych za pomocą asystenta, aby pomóc Ci w procesie bez konieczności posiadania wiedzy technicznej. +FormatedExportDesc2=Pierwszym krokiem jest wybranie predefiniowanego zbioru danych, a następnie pól, które chcesz wyeksportować, oraz w jakiej kolejności. +FormatedExportDesc3=Po wybraniu danych do wyeksportowania można wybrać format pliku wyjściowego. Sheet=Arkusz NoImportableData=Nr przywozowe danych (bez modułu z definicji pozwalają na import danych) FileSuccessfullyBuilt=Wygenerowano plik -SQLUsedForExport=SQL Request used to extract data +SQLUsedForExport=Żądanie SQL używane do wyodrębniania danych LineId=Identyfikator linii LineLabel=Etykieta linii LineDescription=Opis pozycji LineUnitPrice=Cena jednostkowa pozycji LineVATRate=Stawka VAT pozycji LineQty=Ilość dla pozycji -LineTotalHT=Amount excl. tax for line +LineTotalHT=Kwota bez podatek za linię LineTotalTTC=Kwota z podatkiem dla pozycji LineTotalVAT=Kwota podatku VAT dla pozycji TypeOfLineServiceOrProduct=Rodzaj pozycji (0=produkt, 1=usługa) FileWithDataToImport=Plik z danymi do importu FileToImport=Plik źródłowy do zaimportowania -FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) -ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +FileMustHaveOneOfFollowingFormat=Plik do zaimportowania musi mieć jeden z następujących formatów +DownloadEmptyExample=Pobierz plik szablonu z informacjami o zawartości pola +StarAreMandatory=* są polami obowiązkowymi +ChooseFormatOfFileToImport=Wybierz format pliku, który ma być używany jako format pliku importu, klikając ikonę %s, aby go wybrać ... +ChooseFileToImport=Prześlij plik, a następnie kliknij ikonę %s, aby wybrać plik jako źródłowy plik importu ... SourceFileFormat=Format pliku źródłowego FieldsInSourceFile=Pola w pliku źródłowym FieldsInTargetDatabase=Pola docelowe w bazie danych Dolibarr (wytłuszczenie = obowiązkowe) @@ -70,57 +71,57 @@ FieldsTarget=Pola docelowe FieldTarget=Pole docelowe FieldSource=Pole źródłowe NbOfSourceLines=Liczba linii w pliku źródłowym -NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
    Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
    No data will be changed in your database. -RunSimulateImportFile=Run Import Simulation +NowClickToTestTheImport=Sprawdź, czy format pliku (ograniczniki pól i ciągów znaków) w Twoim pliku jest zgodny z przedstawionymi opcjami i czy pominięto wiersz nagłówka, w przeciwnym razie zostaną one oflagowane jako błędy w następnej symulacji.
    Kliknij przycisk „ %s ”, aby sprawdzić strukturę / zawartość pliku i zasymulować proces importu.
    Żadne dane w Twojej bazie danych nie zostaną zmienione . +RunSimulateImportFile=Uruchom symulację importu FieldNeedSource=To pole wymaga danych z pliku źródłowego SomeMandatoryFieldHaveNoSource=Niektóre z pól obowiązkowych nie ma źródła danych z pliku InformationOnSourceFile=Informacje o pliku źródłowego InformationOnTargetTables=Informacji na temat docelowego pola SelectAtLeastOneField=Switch co najmniej jednego źródła pola w kolumnie pól do wywozu SelectFormat=Wybierz ten format pliku importu -RunImportFile=Import Data -NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
    When the simulation reports no errors you may proceed to import the data into the database. -DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. -ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. -TooMuchErrors=There are still %s other source lines with errors but output has been limited. -TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. +RunImportFile=Zaimportować dane +NowClickToRunTheImport=Sprawdź wyniki symulacji importu. Popraw wszystkie błędy i przeprowadź ponownie test.
    Gdy symulacja nie wykaże żadnych błędów, możesz przystąpić do importu danych do bazy danych. +DataLoadedWithId=Zaimportowane dane będą miały dodatkowe pole w każdej tabeli bazy danych o tym identyfikatorze importu: %s , aby umożliwić ich przeszukiwanie w przypadku badania problemu związanego z tym importem. +ErrorMissingMandatoryValue=Obowiązkowe dane są puste w pliku źródłowym dla pola %s . +TooMuchErrors=Nadal istnieją %s innych wierszy źródłowych z błędami, ale dane wyjściowe są ograniczone. +TooMuchWarnings=Nadal istnieją %s inne wiersze źródłowe z ostrzeżeniami, ale dane wyjściowe są ograniczone. EmptyLine=Pusty wiersz (zostanie odrzucona) -CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. +CorrectErrorBeforeRunningImport=Musisz poprawić wszystkie błędy przed uruchomieniem ostatecznego importu. FileWasImported=Plik został przywieziony z %s numerycznych. -YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. +YouCanUseImportIdToFindRecord=Możesz znaleźć wszystkie zaimportowane rekordy w swojej bazie danych, filtrując według pola import_key = '%s' . NbOfLinesOK=Liczba linii bez błędów i żadnych ostrzeżeń: %s. NbOfLinesImported=Liczba linii zaimportowany: %s. DataComeFromNoWhere=Wartości, aby dodać pochodzi z nigdzie w pliku źródłowym. DataComeFromFileFieldNb=Wartość do dodania pochodzi z pola numer %s w pliku źródłowym. -DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). -DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. +DataComeFromIdFoundFromRef=Wartość pochodząca z pola o numerze %s pliku źródłowego zostanie użyta do znalezienia identyfikatora obiektu nadrzędnego do użycia (więc obiekt %s a09a4b739f17f8 musi istnieć w pliku źródłowym. +DataComeFromIdFoundFromCodeId=Kod pochodzący z pola o numerze %s pliku źródłowego zostanie użyty do znalezienia identyfikatora obiektu nadrzędnego do użycia (więc kod z pliku źródłowego musi istnieć w słowniku %s39f17f). Zauważ, że jeśli znasz identyfikator, możesz go również użyć w pliku źródłowym zamiast w kodzie. Import powinien działać w obu przypadkach. DataIsInsertedInto=Dane pochodzące z pliku źródłowego zostaną wstawione w następujące pola: -DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: +DataIDSourceIsInsertedInto=Identyfikator obiektu nadrzędnego został znaleziony przy użyciu danych w pliku źródłowym, zostanie wstawiony w następujące pole: DataCodeIDSourceIsInsertedInto=Id linii macierzystej znaleźć z kodem, zostaną włączone do następnego pola: SourceRequired=Wartość danych jest obowiązkowe SourceExample=Przykład możliwych wartości danych ExampleAnyRefFoundIntoElement=Wszelkie ref dla %s elementów ExampleAnyCodeOrIdFoundIntoDictionary=Każdy kod (lub identyfikator) znajduje się w słowniku% s -CSVFormatDesc=Comma Separated Value file format (.csv).
    This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. -Excel95FormatDesc=Excel file format (.xls)
    This is the native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
    This is the native Excel 2007 format (SpreadsheetML). +CSVFormatDesc= Wartość oddzielona przecinkami Format pliku (.csv).
    Jest to format pliku tekstowego, w którym pola są oddzielone separatorem [%s]. Jeśli separator znajduje się w treści pola, pole jest zaokrąglane okrągłym znakiem [%s]. Znak ucieczki do rundy ucieczki to [%s]. +Excel95FormatDesc= Format pliku programu Excel (.xls)
    Jest to natywny format programu Excel 95 (BIFF5). +Excel2007FormatDesc= Format pliku programu Excel (.xlsx)
    Jest to natywny format programu Excel 2007 (SpreadsheetML). TsvFormatDesc=Tab separacji format Wartość (.tsv)
    Jest to format pliku tekstowego, gdzie pola są oddzielone tabulator [TAB]. -ExportFieldAutomaticallyAdded=Field %s 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). -CsvOptions=CSV format options -Separator=Field Separator -Enclosure=String Delimiter +ExportFieldAutomaticallyAdded=Pole %s zostało dodane automatycznie. Pozwoli to uniknąć sytuacji, w których podobne wiersze będą traktowane jako zduplikowany rekord (po dodaniu tego pola wszystkie wiersze będą miały własny identyfikator i będą się różnić). +CsvOptions=Opcje formatu CSV +Separator=Separator pól +Enclosure=Separator ciągów SpecialCode=Specjalny kod ExportStringFilter=%% Umożliwia zastąpienie jednego lub więcej znaków w tekście -ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
    > YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
    < YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days -ExportNumericFilter=NNNNN filters by one value
    NNNNN+NNNNN filters over a range of values
    < NNNNN filters by lower values
    > NNNNN filters by higher values +ExportDateFilter=RRRR, RRRRMM, RRRRMMDD: filtry według jednego roku / miesiąca / dnia
    RRRR + RRRR, RRRRMM + RRRRMM, RRRRMMDD + RRRRMMDD: filtry w zakresie lat / miesięcy / dni / dni: RRRR / m / dni kolejne lata / miesiące / dni
    NNNNN + NNNNN filtruje w zakresie wartości

    > NNNNN filtruje według wyższych wartości ImportFromLine=Import rozpocznij od linii numer EndAtLineNb=Zakończ na linii numer -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). -SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
    If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. -KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. -SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import -UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) -NoUpdateAttempt=No update attempt was performed, only insert +ImportFromToLine=Zakres graniczny (od - do). Na przykład. pominąć linię (y) nagłówka. +SetThisValueTo2ToExcludeFirstLine=Na przykład ustaw tę wartość na 3, aby wykluczyć 2 pierwsze wiersze.
    Jeśli wiersze nagłówka NIE zostaną pominięte, spowoduje to wiele błędów w symulacji importu. +KeepEmptyToGoToEndOfFile=Pozostaw to pole puste, aby przetworzyć wszystkie wiersze do końca pliku. +SelectPrimaryColumnsForUpdateAttempt=Wybierz kolumny, które będą używane jako klucz podstawowy do importu UPDATE +UpdateNotYetSupportedForThisImport=Aktualizacja nie jest obsługiwana dla tego typu importu (tylko wstaw) +NoUpdateAttempt=Nie podjęto próby aktualizacji, tylko włóż ImportDataset_user_1=Użytkownicy (pracownicy lub nie) i ustawienia ComputedField=Obliczone pole ## filters @@ -129,8 +130,8 @@ FilteredFields=Filtrowane pola FilteredFieldsValues=Wartość dla filtra FormatControlRule=Zasada kontroli formatu ## imports updates -KeysToUseForUpdates=Key (column) to use for updating existing data +KeysToUseForUpdates=Klucz (kolumna) do użycia dla aktualizacji istniejących danych NbInsert=ilość wprowadzonych linii: %s NbUpdate=Ilość zaktualizowanych linii: %s -MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number +MultipleRecordFoundWithTheseFilters=Znaleziono wiele rekordów z tymi filtrami: %s +StocksWithBatch=Stany i lokalizacja (magazyn) produktów z numerem partii / serii diff --git a/htdocs/langs/pl_PL/holiday.lang b/htdocs/langs/pl_PL/holiday.lang index 666f19716f1..b0140ba5660 100644 --- a/htdocs/langs/pl_PL/holiday.lang +++ b/htdocs/langs/pl_PL/holiday.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - holiday HRM=HRM -Holidays=Leave -CPTitreMenu=Leave +Holidays=Pozostawiać +CPTitreMenu=Pozostawiać MenuReportMonth=Miesięczne zestawienie MenuAddCP=Nowy wniosek urlopowy -NotActiveModCP=You must enable the module Leave to view this page. +NotActiveModCP=Aby wyświetlić tę stronę, musisz włączyć moduł Wyjdź. AddCP=Stwórz wniosek urlopowy DateDebCP=Data rozpoczęcia DateFinCP=Data zakończenia @@ -13,21 +13,21 @@ ToReviewCP=Oczekuje na zatwierdzenie ApprovedCP=Zatwierdzony CancelCP=Odwołany RefuseCP=Odrzucony -ValidatorCP=Akceptujący -ListeCP=List of leave +ValidatorCP=Zatwierdzający +ListeCP=Lista urlopów Leave=Wniosek urlopowy -LeaveId=Leave ID +LeaveId=Zostaw ID ReviewedByCP=Będzie zatwierdzony przez -UserID=User ID -UserForApprovalID=User for approval ID -UserForApprovalFirstname=First name of approval user -UserForApprovalLastname=Last name of approval user -UserForApprovalLogin=Login of approval user +UserID=Identyfikator użytkownika +UserForApprovalID=Identyfikator użytkownika do zatwierdzenia +UserForApprovalFirstname=Imię użytkownika zatwierdzającego +UserForApprovalLastname=Nazwisko zatwierdzającego użytkownika +UserForApprovalLogin=Logowanie użytkownika zatwierdzającego DescCP=Opis SendRequestCP=Tworzenie wniosku urlopowego DelayToRequestCP=Wniosek urlopowy musi być stworzony przynajmniej %s dzień (i) przed jego rozpoczęciem. -MenuConfCP=Balance of leave -SoldeCPUser=Leave balance is %s days. +MenuConfCP=Bilans urlopu +SoldeCPUser=Saldo urlopów wynosi %s dni. ErrorEndDateCP=Musisz wybrać datę zakończenia większą niż data rozpoczęcia. ErrorSQLCreateCP=Wystąpił błąd SQL podczas tworzenia: ErrorIDFicheCP=Wystąpił błąd, wniosek urlopowy nie istnieje. @@ -36,16 +36,16 @@ ErrorUserViewCP=Nie masz uprawnień do przeglądania tego wniosku urlopowego InfosWorkflowCP=Informacje Workflow RequestByCP=Wniosek TitreRequestCP=Wniosek urlopowy -TypeOfLeaveId=Type of leave ID -TypeOfLeaveCode=Type of leave code -TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Liczba dni urlopu spożywane -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day -DateStartInMonth=Start date in month -DateEndInMonth=End date in month +TypeOfLeaveId=Identyfikator rodzaju urlopu +TypeOfLeaveCode=Kod rodzaju urlopu +TypeOfLeaveLabel=Rodzaj etykiety urlopu +NbUseDaysCP=Liczba wykorzystanych dni urlopu +NbUseDaysCPHelp=Kalkulacja uwzględnia dni wolne od pracy i święta zdefiniowane w słowniku. +NbUseDaysCPShort=Dni urlopu +NbUseDaysCPShortInMonth=Dni urlopu w miesiącu +DayIsANonWorkingDay=%s to dzień wolny od pracy +DateStartInMonth=Data rozpoczęcia w miesiącu +DateEndInMonth=Data zakończenia w miesiącu EditCP=Edytuj DeleteCP=Usunąć ActionRefuseCP=Odrzuć @@ -55,7 +55,7 @@ TitleDeleteCP=Usuń wniosek urlopowy ConfirmDeleteCP=Potwierdzić usunięcie tego wniosku urlopowego? ErrorCantDeleteCP=Błąd. Nie masz uprawnień do kasowania tego wniosku urlopowego. CantCreateCP=Nie masz uprawnień do tworzenia wniosku urlopowego. -InvalidValidatorCP=Musisz wybrać zatwierdzającego dla twojego wniosku urlopowego. +InvalidValidatorCP=Musisz wybrać osobę zatwierdzającą swoją prośbę o urlop. NoDateDebut=Musisz wybrać datę rozpoczęcia. NoDateFin=Musisz wybrać datę zakończenia. ErrorDureeCP=Twój wniosek urlopowy nie zawiera dni roboczych. @@ -74,20 +74,20 @@ DateRefusCP=Data odmowy DateCancelCP=Data odwołania DefineEventUserCP=Przypisywanie wyjątkowy urlop dla użytkownika addEventToUserCP=Przypisywanie urlopu -NotTheAssignedApprover=You are not the assigned approver +NotTheAssignedApprover=Nie jesteś przypisaną osobą zatwierdzającą MotifCP=Powód UserCP=Użytkownik ErrorAddEventToUserCP=Wystąpił błąd podczas dodawania wyjątkowy urlop. AddEventToUserOkCP=Dodanie wyjątkowe prawo zostało zakończone. MenuLogCP=Pokaż log zmian -LogCP=Zaloguj o aktualizacjach dostępnych dni urlopu -ActionByCP=Przygotowany przez -UserUpdateCP=Dla użytkownika +LogCP=Dziennik wszystkich aktualizacji dotyczących „Bilansu urlopów” +ActionByCP=aktualizowany przez +UserUpdateCP=Zaktualizowano dla PrevSoldeCP=Poprzedni Saldo NewSoldeCP=New Balance alreadyCPexist=Wniosek urlopowy na ten okres czasu został już zrobiony. -FirstDayOfHoliday=Pierwszy dzień wakacji -LastDayOfHoliday=Ostatni dzień wakacji +FirstDayOfHoliday=Początek wniosku o urlop +LastDayOfHoliday=Końcowy dzień wniosku o urlop BoxTitleLastLeaveRequests=Ostatnie %s modyfikowanych wniosków urlopowych HolidaysMonthlyUpdate=Miesięczna aktualizacja ManualUpdate=Ręczna aktualizacja @@ -97,15 +97,15 @@ EmployeeFirstname=Imię pracownika TypeWasDisabledOrRemoved=Typ urlopu (id %s) został wyłączony lub usunięty LastHolidays=Ostatnie %s wnioski urlopowe AllHolidays=Wszystkie wnioski urlopowe -HalfDay=Half day -NotTheAssignedApprover=You are not the assigned approver -LEAVE_PAID=Paid vacation -LEAVE_SICK=Sick leave -LEAVE_OTHER=Other leave -LEAVE_PAID_FR=Paid vacation +HalfDay=Połowa dnia +NotTheAssignedApprover=Nie jesteś przypisaną osobą zatwierdzającą +LEAVE_PAID=Opłacone wakacje +LEAVE_SICK=Zwolnienie lekarskie +LEAVE_OTHER=Inny urlop +LEAVE_PAID_FR=Opłacone wakacje ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Ostatnia automatyczna aktualizacja przydziału urlopów +MonthOfLastMonthlyUpdate=Miesiąc ostatniej automatycznej aktualizacji przydziału urlopów UpdateConfCPOK=Zaktualizowane. Module27130Name= Zarządzanie wnioskami urlopowymi Module27130Desc= Zarządzanie wnioskami urlopowymi @@ -115,20 +115,22 @@ NoticePeriod=Okres wypowiedzenia HolidaysToValidate=Zatwierdź wnioski urlopowe HolidaysToValidateBody=Poniżej jest wniosek o dopuszczenie do sprawdzenia HolidaysToValidateDelay=Wniosek ten urlop odbędzie się w ciągu mniej niż% s dni. -HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. +HolidaysToValidateAlertSolde=Użytkownik, który złożył tę prośbę o urlop, nie ma wystarczającej liczby dostępnych dni. HolidaysValidated=Zatwierdzone wnioski urlopowe HolidaysValidatedBody=Twój wniosek urlopowy od %s do %s został zatwierdzony. HolidaysRefused=Zapytanie zaprzeczył -HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason: +HolidaysRefusedBody=Twoja prośba o urlop od %s do %s została odrzucona z następującego powodu: HolidaysCanceled=Anulowane wniosku urlopowego HolidaysCanceledBody=Twój wniosek urlopowy od %s do %s został anulowany. FollowedByACounter=1: Ten typ urlopu musi być prześledzony przez licznik. Licznik jest zwiększany ręcznie lub automatycznie, a po zwolnieniu żądania urlopu, licznik jest zmniejszany.
    0: Nie śłedzone przez licznik. NoLeaveWithCounterDefined=Nie ma żadnych zdefiniowanych typów urlopu które muszą być prześledzone przez licznik -GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models -TemplatePDFHolidays=Template for leave requests PDF -FreeLegalTextOnHolidays=Free text on PDF -WatermarkOnDraftHolidayCards=Watermarks on draft leave requests -HolidaysToApprove=Holidays to approve -NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +GoIntoDictionaryHolidayTypes=Przejdź do Strona główna - Ustawienia - Słowniki - Rodzaj urlopu , aby ustawić różne typy liści. +HolidaySetup=Konfiguracja modułu Leave +HolidaysNumberingModules=Modele numeracji wniosków urlopowych +TemplatePDFHolidays=Szablon wniosków urlopowych PDF +FreeLegalTextOnHolidays=Dowolny tekst w formacie PDF +WatermarkOnDraftHolidayCards=Znaki wodne na projektach wniosków urlopowych +HolidaysToApprove=Wakacje do zatwierdzenia +NobodyHasPermissionToValidateHolidays=Nikt nie ma pozwolenia na zatwierdzanie wakacji +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/pl_PL/hrm.lang b/htdocs/langs/pl_PL/hrm.lang index d6f087e0817..e10a89b2e2b 100644 --- a/htdocs/langs/pl_PL/hrm.lang +++ b/htdocs/langs/pl_PL/hrm.lang @@ -9,9 +9,9 @@ ConfirmDeleteEstablishment=Jesteś pewien, że chcesz usunąć to przedsiębiors OpenEtablishment=Otwórz kierownictwo CloseEtablishment=Zakończ kierownictwo # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Urlop - święta państwowe DictionaryDepartment=HR - Lisa departamentów -DictionaryFunction=HRM - Job positions +DictionaryFunction=Zarządzanie personelem - stanowiska pracy # Module Employees=Zatrudnionych Employee=Pracownik diff --git a/htdocs/langs/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 985c7543b7e..9fa0c4aad9b 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -2,39 +2,39 @@ InstallEasy=Postępuj według instrukcji krok po kroku. MiscellaneousChecks=Sprawdzenie wymagań ConfFileExists=Plik konfiguracyjny %s istnieje. -ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created! +ConfFileDoesNotExistsAndCouldNotBeCreated=Plik konfiguracyjny %s nie istnieje i nie można go utworzyć! ConfFileCouldBeCreated=Plik konfiguracyjny %s został lub mógł zostać utworzony. -ConfFileIsNotWritable=Configuration file %s 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=Plik konfiguracyjny %s nie jest zapisywalny. Sprawdź uprawnienia. Podczas pierwszej instalacji serwer WWW musi mieć możliwość zapisu do tego pliku podczas procesu konfiguracji (na przykład „chmod 666” w systemie operacyjnym Unix). ConfFileIsWritable=Plik konfiguracyjny %s ma uprawnienia do zapisu. -ConfFileMustBeAFileNotADir=Configuration file %s must be a file, not a directory. -ConfFileReload=Reloading parameters from configuration file. +ConfFileMustBeAFileNotADir=Plik konfiguracyjny %s musi być plikiem, a nie katalogiem. +ConfFileReload=Ponowne ładowanie parametrów z pliku konfiguracyjnego. PHPSupportPOSTGETOk=PHP obsługuje zmienne POST i GET. -PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter variables_order in php.ini. +PHPSupportPOSTGETKo=Możliwe, że Twoja konfiguracja PHP nie obsługuje zmiennych POST i / lub GET. Sprawdź parametr variable_order w php.ini. PHPSupportSessions=PHP obsługuje sesje. -PHPSupport=This PHP supports %s functions. +PHPSupport=To PHP obsługuje funkcje %s. PHPMemoryOK=Maksymalna ilość pamięci sesji PHP ustawiona jest na %s. Powinno wystarczyć. -PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. -Recheck=Click here for a more detailed test -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. -ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. +PHPMemoryTooLow=Twoja maksymalna pamięć sesji PHP jest ustawiona na %s bajtów. To jest za niskie. Zmień parametr php.ini , aby ustawić memory_limit na co najmniej %s a09a4b739 bajtów. +Recheck=Kliknij tutaj, aby uzyskać bardziej szczegółowy test +ErrorPHPDoesNotSupportSessions=Twoja instalacja PHP nie obsługuje sesji. Ta funkcja jest wymagana, aby umożliwić działanie Dolibarr. Sprawdź ustawienia PHP i uprawnienia do katalogu sesji. +ErrorPHPDoesNotSupportGD=Twoja instalacja PHP nie obsługuje funkcji graficznych GD. Żadne wykresy nie będą dostępne. ErrorPHPDoesNotSupportCurl=Twoja instalacja PHP nie wspiera Curl. -ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. -ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. -ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. -ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. -ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. +ErrorPHPDoesNotSupportCalendar=Twoja instalacja PHP nie obsługuje rozszerzeń kalendarza php. +ErrorPHPDoesNotSupportUTF8=Twoja instalacja PHP nie obsługuje funkcji UTF8. Dolibarr nie działa poprawnie. Rozwiąż ten problem przed zainstalowaniem Dolibarr. +ErrorPHPDoesNotSupportIntl=Twoja instalacja PHP nie obsługuje funkcji Intl. +ErrorPHPDoesNotSupportxDebug=Twoja instalacja PHP nie obsługuje rozszerzonych funkcji debugowania. +ErrorPHPDoesNotSupport=Twoja instalacja PHP nie obsługuje funkcji %s. ErrorDirDoesNotExists=Katalog %s nie istnieje. -ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. +ErrorGoBackAndCorrectParameters=Wróć i sprawdź / popraw parametry. ErrorWrongValueForParameter=Możliwe, że wprowadzono nieprawidłową wartość dla parametru '%s'. ErrorFailedToCreateDatabase=Utworzenie bazy danych '%s' nie powiodło się. ErrorFailedToConnectToDatabase=Połączenie z bazą danych '%s' nie powiodło się. ErrorDatabaseVersionTooLow=Wersja (%s) bazy danych jest zbyt stara. Wymagana jest wersja %s lub wyższa. ErrorPHPVersionTooLow=Wersja PHP zbyt stara. Wymagana wersja to przynajmniej %s. -ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. +ErrorConnectedButDatabaseNotFound=Połączenie z serwerem powiodło się, ale nie znaleziono bazy danych „%s”. ErrorDatabaseAlreadyExists=Baza danych '%s' już istnieje. -IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". +IfDatabaseNotExistsGoBackAndUncheckCreate=Jeśli baza danych nie istnieje, wróć i zaznacz opcję „Utwórz bazę danych”. IfDatabaseExistsGoBackAndCheckCreate=Jeśli baza danych istnieje, w poprzednim kroku odznacz opcję "Utwórz bazę danych". -WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. +WarningBrowserTooOld=Wersja przeglądarki jest zbyt stara. Zdecydowanie zalecamy uaktualnienie przeglądarki do najnowszej wersji Firefox, Chrome lub Opera. PHPVersion=Wersja PHP License=Użyta licencja ConfigurationFile=Plik konfiguracyjny @@ -47,23 +47,23 @@ DolibarrDatabase=Baza danych Dolibarr'a DatabaseType=Rodzaj bazy danych DriverType=Rodzaj sterownika Server=Serwer -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=Nazwa lub adres IP serwera bazy danych. Zwykle „localhost”, gdy serwer bazy danych znajduje się na tym samym serwerze co serwer WWW. ServerPortDescription=Port serwera baz danych. Zostaw puste jeśli nie znasz. DatabaseServer=Serwer baz danych DatabaseName=Nazwa bazy danych -DatabasePrefix=Database table prefix -DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. -AdminLogin=User account for the Dolibarr database owner. -PasswordAgain=Retype password confirmation +DatabasePrefix=Prefiks tabeli bazy danych +DatabasePrefixDescription=Prefiks tabeli bazy danych. Jeśli pusty, domyślnie llx_. +AdminLogin=Konto użytkownika właściciela bazy danych Dolibarr. +PasswordAgain=Potwierdź hasło ponownie AdminPassword=Hasło do bazy danych CreateDatabase=Utwórz bazę danych -CreateUser=Create user account or grant user account permission on the Dolibarr database +CreateUser=Utwórz konto użytkownika lub przyznaj uprawnienia kontu użytkownika w bazie danych Dolibarr DatabaseSuperUserAccess=Baza danych z dostępem na prawach superużytkownika -CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.
    In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. -CheckToCreateUser=Check the box if:
    the database user account does not yet exist and so must be created, or
    if the user account exists but the database does not exist and permissions must be granted.
    In this case, you must enter the user account and password and also the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. -DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. -KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) -SaveConfigurationFile=Saving parameters to +CheckToCreateDatabase=Zaznacz to pole, jeśli baza danych jeszcze nie istnieje i dlatego musi zostać utworzona.
    W takim przypadku musisz również podać nazwę użytkownika i hasło do konta superużytkownika na dole tej strony. +CheckToCreateUser=Zaznacz to pole, jeśli:
    konto użytkownika bazy danych jeszcze nie istnieje i dlatego musi zostać utworzone, lub
    , jeśli konto użytkownika istnieje, ale baza danych nie istnieje i należy nadać uprawnienia.
    W takim przypadku należy wprowadzić konto użytkownika i hasło oraz również nazwę konta administratora i hasło na dole tej strony. Jeśli to pole nie jest zaznaczone, właściciel bazy danych i hasło muszą już istnieć. +DatabaseRootLoginDescription=Nazwa konta superużytkownika (do tworzenia nowych baz danych lub nowych użytkowników), obowiązkowa, jeśli baza danych lub jej właściciel jeszcze nie istnieje. +KeepEmptyIfNoPassword=Pozostaw puste, jeśli superużytkownik nie ma hasła (NIE zalecane) +SaveConfigurationFile=Zapisywanie parametrów do ServerConnection=Połączenie z serwerem DatabaseCreation=Utworzenie bazy danych CreateDatabaseObjects=Tworzenie obiektów w bazie danych @@ -74,9 +74,9 @@ CreateOtherKeysForTable=Tworzenie kluczy obcych oraz indeksów dla tabeli %s OtherKeysCreation=Tworzenie kluczy obcych oraz indeksów FunctionsCreation=Tworzenie funkcji AdminAccountCreation=Tworzenie użytkownika -PleaseTypePassword=Please type a password, empty passwords are not allowed! -PleaseTypeALogin=Please type a login! -PasswordsMismatch=Passwords differs, please try again! +PleaseTypePassword=Wpisz hasło, puste hasła są niedozwolone! +PleaseTypeALogin=Wpisz login! +PasswordsMismatch=Hasła się różnią, spróbuj ponownie! SetupEnd=Koniec ustawień SystemIsInstalled=Instalacja zakończona. SystemIsUpgraded=Dolibarr został zaktualizowany pomyślnie. @@ -84,65 +84,65 @@ YouNeedToPersonalizeSetup=Teraz należy ustawić Dolibarra tak by spełniał Two AdminLoginCreatedSuccessfuly=Login administratora Dolibarr '%s' utworzony pomyślnie. GoToDolibarr=Idź do Dolibarr'a GoToSetupArea=Przejdź do ustawień Dolibarra -MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. +MigrationNotFinished=Wersja bazy danych nie jest w pełni aktualna: ponownie uruchom proces aktualizacji. GoToUpgradePage=Wejdź na stronę aktualizacji ponownie WithNoSlashAtTheEnd=Bez znaku ukośnika "/" na końcu -DirectoryRecommendation=IMPORTANT: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). +DirectoryRecommendation= WAŻNE : Musisz użyć katalogu, który znajduje się poza stronami internetowymi (więc nie używaj podkatalogu poprzedniego parametru). LoginAlreadyExists=Już istnieje DolibarrAdminLogin=Użytkownik administracyjny Dolibarra -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back if you want to create another one. +AdminLoginAlreadyExists=Konto administratora Dolibarr „ %s ” już istnieje. Wróć, jeśli chcesz utworzyć kolejny. FailedToCreateAdminLogin=Utworzenie konta administratora Dolibarr nie powiodło się. -WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called install.lock into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. -FunctionNotAvailableInThisPHP=Not available in this PHP +WarningRemoveInstallDir=Ostrzeżenie, ze względów bezpieczeństwa, po zakończeniu instalacji lub aktualizacji należy dodać plik o nazwie install.lock do katalogu dokumentów Dolibarr, aby zapobiec przypadkowemu / złośliwemu użyciu narzędzi instalacyjnych. +FunctionNotAvailableInThisPHP=Niedostępne w tym PHP ChoosedMigrateScript=Wybierz skrypt migracyjny DataMigration=Migracja bazy danych (dane) DatabaseMigration=Migracja bazy danych (struktura i niektóre dane) ProcessMigrateScript=Przetwarzanie skryptów ChooseYourSetupMode=Wybierz tryb instalacji i potwierdź przyciskiem "Start"... FreshInstall=Nowa instalacja -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=Użyj tego trybu, jeśli jest to Twoja pierwsza instalacja. Jeśli nie, ten tryb może naprawić niekompletną poprzednią instalację. Jeśli chcesz zaktualizować swoją wersję, wybierz tryb „Uaktualnij”. Upgrade=Aktualizacja UpgradeDesc=Użyj tego trybu jeśli podmieniono stare pliki Dolibarra plikami z nowszej wersji. Ten tryb uaktualni bazę danych i poprzednie dane. Start=Start InstallNotAllowed=Ustawienie niedostępne przez uprawnienia conf.php YouMustCreateWithPermission=Musisz utworzyć plik %s i ustawić mu prawa zapisu dla serwera WWW podczas procesu instalacyjnego. -CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. +CorrectProblemAndReloadPage=Rozwiąż problem i naciśnij klawisz F5, aby ponownie załadować stronę. AlreadyDone=Migracja już przeprowadzona. DatabaseVersion=Wersja bazy danych ServerVersion=Wersja serwera baz danych YouMustCreateItAndAllowServerToWrite=Musisz utworzyć ten katalog i zezwolić serwerowi WWW na zapis w nim. DBSortingCollation=Sposób sortowania znaków -YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. +YouAskDatabaseCreationSoDolibarrNeedToConnect=Wybrałeś tworzenie bazy danych %s , ale w tym celu Dolibarr musi połączyć się z serwerem %s z superprawami użytkownika %suprawnieniami. +YouAskLoginCreationSoDolibarrNeedToConnect=Wybrałeś opcję tworzenia użytkownika bazy danych %s , ale w tym celu Dolibarr musi połączyć się z serwerem %s z uprawnieniami użytkownika %suprawnieniami. +BecauseConnectionFailedParametersMayBeWrong=Połączenie z bazą danych nie powiodło się: parametry hosta lub superużytkownika muszą być nieprawidłowe. OrphelinsPaymentsDetectedByMethod=Osierocona płatność wykryta przez metodę %s RemoveItManuallyAndPressF5ToContinue=Usuń go ręcznie i odśwież stronę (domyślnie F5) by kontynuować. FieldRenamed=Nazwa pola zmieniona -IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" -ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or the PHP client version may be too old compared to the database version. +IfLoginDoesNotExistsCheckCreateUser=Jeśli użytkownik jeszcze nie istnieje, należy zaznaczyć opcję „Utwórz użytkownika” +ErrorConnection=Serwer " %s ", nazwa bazy danych " %s ", login" %s lub hasło do bazy danych może być nieprawidłowe lub wersja klienta PHP może być zbyt stara w porównaniu z wersją bazy danych. InstallChoiceRecommanded=Zalecany wybór: zainstalować wersję %s od aktualnej wersji %s InstallChoiceSuggested=Wybór sugerowany przez instalator. -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. -CheckThatDatabasenameIsCorrect=Check that the database name "%s" is correct. +MigrateIsDoneStepByStep=Wersja docelowa (%s) ma lukę w kilku wersjach. Kreator instalacji powróci, aby zasugerować dalszą migrację po jej zakończeniu. +CheckThatDatabasenameIsCorrect=Sprawdź, czy nazwa bazy danych „ %s ” jest poprawna. IfAlreadyExistsCheckOption=Jeśli ta nazwa jest poprawna i baza danych jeszcze nie istnieje, sprawdz opcję "utwórz bazę danych" OpenBaseDir=PHP parametr otwarcia katalogu bazy danych -YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). -YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). -NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. -MigrationCustomerOrderShipping=Migrate shipping for sales orders storage +YouAskToCreateDatabaseSoRootRequired=Zaznaczono pole „Utwórz bazę danych”. W tym celu musisz podać login / hasło superużytkownika (na dole formularza). +YouAskToCreateDatabaseUserSoRootRequired=Zaznaczono pole „Utwórz właściciela bazy danych”. W tym celu musisz podać login / hasło superużytkownika (na dole formularza). +NextStepMightLastALongTime=Bieżący krok może zająć kilka minut. Przed kontynuowaniem poczekaj, aż następny ekran zostanie wyświetlony w całości. +MigrationCustomerOrderShipping=Przenieś wysyłkę w celu przechowywania zamówień sprzedaży MigrationShippingDelivery=Aktualizacja stanu do wysyłki MigrationShippingDelivery2=Aktualizacja stanu do wysyłki 2 MigrationFinished=Migracja zakończona -LastStepDesc=Last step: Define here the login and password you wish to use to connect to Dolibarr. Do not lose this as it is the master account to administer all other/additional user accounts. +LastStepDesc= Ostatni krok : Określ tutaj login i hasło, których chcesz używać do łączenia się z Dolibarr. Nie trać tego, ponieważ jest to konto główne do administrowania wszystkimi innymi / dodatkowymi kontami użytkowników. ActivateModule=Aktywuj moduł %s ShowEditTechnicalParameters=Kliknij tutaj, aby pokazać / edytować zaawansowane parametry (tryb ekspert) -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... -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) -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. -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. -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. -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. -UpgradeExternalModule=Run dedicated upgrade process of external module +WarningUpgrade=Ostrzeżenie:\nCzy najpierw wykonałeś kopię zapasową bazy danych?\nJest to wysoce zalecane. Utrata danych (np. Z powodu błędów w mysql w wersji 5.5.40 / 41/42/43) może być możliwa podczas tego procesu, dlatego przed rozpoczęciem migracji konieczne jest wykonanie pełnego zrzutu bazy danych.\n\nKliknij OK, aby rozpocząć proces migracji ... +ErrorDatabaseVersionForbiddenForMigration=Twoja wersja bazy danych to %s. Zawiera krytyczny błąd, który umożliwia utratę danych w przypadku wprowadzenia zmian strukturalnych w bazie danych, takich jak wymagane przez proces migracji. Z tego powodu migracja nie będzie dozwolona, dopóki nie zaktualizujesz bazy danych do wersji warstwowej (poprawionej) (lista znanych błędnych wersji: %s) +KeepDefaultValuesWamp=Użyłeś kreatora instalacji Dolibarr firmy DoliWamp, więc proponowane tutaj wartości są już zoptymalizowane. Zmień je tylko wtedy, gdy wiesz, co robisz. +KeepDefaultValuesDeb=Użyłeś kreatora instalacji Dolibarr z pakietu Linux (Ubuntu, Debian, Fedora ...), więc proponowane tutaj wartości są już zoptymalizowane. Należy wprowadzić tylko hasło właściciela bazy danych, który ma zostać utworzony. Zmień inne parametry tylko wtedy, gdy wiesz, co robisz. +KeepDefaultValuesMamp=Użyłeś kreatora instalacji Dolibarr firmy DoliMamp, więc proponowane tutaj wartości są już zoptymalizowane. Zmień je tylko wtedy, gdy wiesz, co robisz. +KeepDefaultValuesProxmox=Użyłeś kreatora instalacji Dolibarr z urządzenia wirtualnego Proxmox, więc proponowane tutaj wartości są już zoptymalizowane. Zmień je tylko wtedy, gdy wiesz, co robisz. +UpgradeExternalModule=Uruchom dedykowany proces aktualizacji modułu zewnętrznego SetAtLeastOneOptionAsUrlParameter=Ustaw przynajmniej jedną opcję jako parametr w adresie URL. Na przykład: '...repair.php?standard=confirmed' NothingToDelete=Nic do wyczyszczenia/usunięcia NothingToDo=Nic do zrobienia @@ -166,9 +166,9 @@ MigrationContractsUpdate=Korekta danych kontraktowych MigrationContractsNumberToUpdate=%s kontraktów do zaktualizowania MigrationContractsLineCreation=Utwórz linię kontraktową dla kontraktu %s MigrationContractsNothingToUpdate=Nic więcej do zrobienia -MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. +MigrationContractsFieldDontExist=Pole fk_facture już nie istnieje. Nic do roboty. MigrationContractsEmptyDatesUpdate=Korekta pustych dat kontraktów -MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully +MigrationContractsEmptyDatesUpdateSuccess=Korekta daty pustej umowy została wykonana pomyślnie MigrationContractsEmptyDatesNothingToUpdate=Brak pustych dat kontraktów do korekty MigrationContractsEmptyCreationDatesNothingToUpdate=Brak dat utworzenia kontraktów do korekty MigrationContractsInvalidDatesUpdate=Nieprawidłowa wartość przy korekcie daty kontraktu @@ -190,28 +190,29 @@ MigrationDeliveryDetail=Aktualizacja dostawy MigrationStockDetail=Aktualizacja wartości zapasów produktów MigrationMenusDetail=Aktualizacja dynamicznego meni tabeli MigrationDeliveryAddress=Aktualizacja adresu dostarczenia przesyłki -MigrationProjectTaskActors=Data migration for table llx_projet_task_actors +MigrationProjectTaskActors=Migracja danych dla tabeli llx_projet_task_actors MigrationProjectUserResp=Migracja danych pola fk_user_resp z llx_projet do llx_element_contact MigrationProjectTaskTime=Pokonany czas uaktualnienia w sekundach MigrationActioncommElement=Aktualizacja danych na temat działań -MigrationPaymentMode=Data migration for payment type +MigrationPaymentMode=Migracja danych dla rodzaju płatności MigrationCategorieAssociation=Migracja kategorii -MigrationEvents=Migration of events to add event owner into assignment table -MigrationEventsContact=Migration of events to add event contact into assignment table +MigrationEvents=Migracja wydarzeń w celu dodania właściciela wydarzenia do tabeli przydziałów +MigrationEventsContact=Migracja wydarzeń w celu dodania kontaktu związanego z wydarzeniem do tabeli przydziałów MigrationRemiseEntity=Zaktualizuj wartość pola podmiotu llx_societe_remise MigrationRemiseExceptEntity=Zaktualizuj wartość pola podmiotu llx_societe_remise_except -MigrationUserRightsEntity=Update entity field value of llx_user_rights -MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights -MigrationUserPhotoPath=Migration of photo paths for users -MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) +MigrationUserRightsEntity=Zaktualizuj wartość pola encji llx_user_rights +MigrationUserGroupRightsEntity=Zaktualizuj wartość pola encji llx_usergroup_rights +MigrationUserPhotoPath=Migracja ścieżek do zdjęć dla użytkowników +MigrationFieldsSocialNetworks=Migracja pól użytkowników sieci społecznościowe (%s) MigrationReloadModule=Odśwież moduł %s MigrationResetBlockedLog=Zresetuj moduł BlockedLog dla algorytmu v7 -ShowNotAvailableOptions=Show unavailable options -HideNotAvailableOptions=Hide unavailable options -ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. -YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
    -YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    -ClickHereToGoToApp=Click here to go to your application -ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. -Loaded=Loaded -FunctionTest=Function test +MigrationImportOrExportProfiles=Migracja profili importu lub eksportu (%s) +ShowNotAvailableOptions=Pokaż niedostępne opcje +HideNotAvailableOptions=Ukryj niedostępne opcje +ErrorFoundDuringMigration=Błędy zostały zgłoszone podczas procesu migracji, więc następny krok nie jest dostępny. Aby zignorować błędy, możesz kliknąć tutaj , ale aplikacja lub niektóre funkcje mogą nie działać poprawnie, dopóki błędy nie zostaną rozwiązane. +YouTryInstallDisabledByDirLock=Aplikacja próbowała przeprowadzić samodzielną aktualizację, ale strony instalacji / aktualizacji zostały wyłączone ze względów bezpieczeństwa (nazwa katalogu została zmieniona z przyrostkiem .lock).
    +YouTryInstallDisabledByFileLock=Aplikacja próbowała przeprowadzić samodzielną aktualizację, ale strony instalacji / aktualizacji zostały wyłączone ze względów bezpieczeństwa (ze względu na istnienie pliku blokady install.lock w katalogu dokumentów dolibarr).
    +ClickHereToGoToApp=Kliknij tutaj, aby przejść do swojej aplikacji +ClickOnLinkOrRemoveManualy=Jeśli trwa aktualizacja, poczekaj. Jeśli nie, kliknij poniższe łącze. Jeśli zawsze widzisz tę samą stronę, musisz usunąć / zmienić nazwę pliku install.lock w katalogu dokumentów. +Loaded=Załadowany +FunctionTest=Test działania diff --git a/htdocs/langs/pl_PL/interventions.lang b/htdocs/langs/pl_PL/interventions.lang index 130ddc8c964..7ff04e7ab29 100644 --- a/htdocs/langs/pl_PL/interventions.lang +++ b/htdocs/langs/pl_PL/interventions.lang @@ -4,7 +4,7 @@ Interventions=Interwencje InterventionCard=Karta interwencji NewIntervention=Nowa interwencja AddIntervention=Tworzenie interwencji -ChangeIntoRepeatableIntervention=Change to repeatable intervention +ChangeIntoRepeatableIntervention=Zmień na powtarzalną interwencję ListOfInterventions=Wykaz interwencji ActionsOnFicheInter=Działania w zakresie interwencji LastInterventions=Ostatnie %s interwencje @@ -20,8 +20,8 @@ ConfirmValidateIntervention=Jesteś pewien, że chcesz potwierdzić tę interwen ConfirmModifyIntervention=Jesteś pewien, że chcesz zmodyfikować tę interwencję? ConfirmDeleteInterventionLine=Jesteś pewien, że chcesz usunąć tę linię interwencji? ConfirmCloneIntervention=Jesteś pewien, że chcesz zduplikować tę interwencję? -NameAndSignatureOfInternalContact=Name and signature of intervening: -NameAndSignatureOfExternalContact=Name and signature of customer: +NameAndSignatureOfInternalContact=Nazwisko i podpis interwenienta: +NameAndSignatureOfExternalContact=Imię i nazwisko oraz podpis klienta: DocumentModelStandard=Standardowy model dokumentu dla interwencji InterventionCardsAndInterventionLines=Interwencje i kierunki interwencji InterventionClassifyBilled=Sklasyfikować "Rozlicz" @@ -29,13 +29,13 @@ InterventionClassifyUnBilled=Sklasyfikować "Unbilled" InterventionClassifyDone=Sklasyfikuj "Gotowe" StatusInterInvoiced=Zapowiadane SendInterventionRef=Złożenie interwencyjnego% s -SendInterventionByMail=Send intervention by email +SendInterventionByMail=Wyślij interwencję e-mailem InterventionCreatedInDolibarr=Interwencja %s stworzona InterventionValidatedInDolibarr=Interwencja %s zatwierdzona InterventionModifiedInDolibarr=Interwencja %s zmodyfikowana InterventionClassifiedBilledInDolibarr=% Interwencyjnej s zestaw jako rozliczane InterventionClassifiedUnbilledInDolibarr=% Interwencyjnej s zestaw jako weryfikowane -InterventionSentByEMail=Intervention %s sent by email +InterventionSentByEMail=Interwencja %s wysłana pocztą elektroniczną InterventionDeletedInDolibarr=Interwencja %s usunięta InterventionsArea=Obszar interwencji DraftFichinter=Szkic interwencji @@ -57,10 +57,12 @@ InterDateCreation=Data stworzenia interwencji InterDuration=Czas trwania interwencji InterStatus=Status interwencji InterNote=Nota interwencji -InterLine=Line of intervention +InterLine=Linia interwencji InterLineId=Linia ID interwencji InterLineDate=Linia daty interwencji InterLineDuration=Linia czasu trwania interwencji InterLineDesc=Lini aopisu interwencji -RepeatableIntervention=Template of intervention -ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +RepeatableIntervention=Szablon interwencji +ToCreateAPredefinedIntervention=Aby utworzyć predefiniowaną lub powtarzającą się interwencję, utwórz wspólną interwencję i przekształć ją w szablon interwencji +ConfirmReopenIntervention=Czy na pewno chcesz ponownie otworzyć interwencję %s ? +GenerateInter=Generate intervention diff --git a/htdocs/langs/pl_PL/knowledgemanagement.lang b/htdocs/langs/pl_PL/knowledgemanagement.lang index 00220dab02a..ab699718169 100644 --- a/htdocs/langs/pl_PL/knowledgemanagement.lang +++ b/htdocs/langs/pl_PL/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = System Zarządzania wiedzą # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Zarządzaj Zarządzaniem wiedzą lub Obsługą klienta # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Konfiguracja systemu Zarządzania wiedzą Settings = Ustawienia -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Strona konfiguracji systemu Zarządzania wiedzą # # About page # About = O -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = O Zarządzaniu wiedzą +KnowledgeManagementAboutPage = Strona informacyjna Zarządzania wiedzą -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +KnowledgeManagementArea = Zarządzanie wiedzą +MenuKnowledgeRecord = Baza wiedzy +ListKnowledgeRecord = Lista artykułów +NewKnowledgeRecord = Nowy artykuł +ValidateReply = Sprawdź poprawność rozwiązania +KnowledgeRecords = Artykuły KnowledgeRecord = Artykuł -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Extrapola dla artykułu +GroupOfTicket=Grupa biletów +YouCanLinkArticleToATicketCategory=Możesz powiązać artykuł z grupą biletów (aby artykuł był sugerowany podczas kwalifikacji nowych biletów) diff --git a/htdocs/langs/pl_PL/languages.lang b/htdocs/langs/pl_PL/languages.lang index 946fc017a49..666d8a198ae 100644 --- a/htdocs/langs/pl_PL/languages.lang +++ b/htdocs/langs/pl_PL/languages.lang @@ -1,11 +1,14 @@ # Dolibarr language file - Source file is en_US - languages -Language_am_ET=Ethiopian +Language_am_ET=Etiopski Language_ar_AR=Arabski Language_ar_EG=Arabski (Egipt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabski -Language_az_AZ=Azerbaijani +Language_ar_TN=arabski (Tunezja) +Language_ar_IQ=arabski (Irak) +Language_az_AZ=Azerbejdżański Language_bn_BD=Bengalski -Language_bn_IN=Bengali (India) +Language_bn_IN=Bengalski (Indie) Language_bg_BG=Bułgarski Language_bs_BA=Bośniacki Language_ca_ES=Kataloński @@ -23,7 +26,7 @@ Language_en_GB=Angielski (Zjednoczone Królestwo) Language_en_IN=Angielski (Indie) Language_en_NZ=Angielski (Nowa Zelandia) Language_en_SA=Angielski (Arabia Saudyjska) -Language_en_SG=English (Singapore) +Language_en_SG=Angielski (Singapur) Language_en_US=Angielski (Stany Zjednoczone) Language_en_ZA=Angielski (Republika Południowej Afryki) Language_es_ES=Hiszpański @@ -33,16 +36,16 @@ Language_es_CL=Hiszpański (Chile) Language_es_CO=Hiszpański (Kolumbia) Language_es_DO=Hiszpański (Dominikana) Language_es_EC=Hiszpański (Ewkador) -Language_es_GT=Spanish (Guatemala) +Language_es_GT=Hiszpański (Gwatemala) Language_es_HN=Hiszpański (Honduras) Language_es_MX=Hiszpański (Meksyk) Language_es_PA=Hiszpański (Panama) Language_es_PY=Hiszpański (Paragwaj) Language_es_PE=Hiszpański (Peru) Language_es_PR=Hiszpański (Portoryko) -Language_es_US=Spanish (USA) +Language_es_US=Hiszpański (USA) Language_es_UY=Hiszpański (Urugwaj) -Language_es_GT=Spanish (Guatemala) +Language_es_GT=Hiszpański (Gwatemala) Language_es_VE=Hiszpański (Wenezuela) Language_et_EE=Estoński Language_eu_ES=Baskijski @@ -51,22 +54,22 @@ Language_fi_FI=Fiński Language_fr_BE=Francuski (Belgia) Language_fr_CA=Francuski (Kanada) Language_fr_CH=Francuski (Szwajcaria) -Language_fr_CI=French (Cost Ivory) -Language_fr_CM=French (Cameroun) +Language_fr_CI=Francuski (koszt Ivory) +Language_fr_CM=Francuski (Cameroun) Language_fr_FR=Francuski -Language_fr_GA=French (Gabon) +Language_fr_GA=Francuski (Gabon) Language_fr_NC=Francuski (Nowa Kaledonia) -Language_fr_SN=French (Senegal) +Language_fr_SN=Francuski (Senegal) Language_fy_NL=Fryzyjski -Language_gl_ES=Galician +Language_gl_ES=Galicyjski Language_he_IL=Hebrajski -Language_hi_IN=Hindi (India) +Language_hi_IN=Hindi (Indie) Language_hr_HR=Chorwacki Language_hu_HU=Węgierski Language_id_ID=Indonezyjski Language_is_IS=Islandzki Language_it_IT=Włoski -Language_it_CH=Italian (Switzerland) +Language_it_CH=Włoski (Szwajcaria) Language_ja_JP=Japoński Language_ka_GE=Gruziński Language_km_KH=Khmerski @@ -78,12 +81,14 @@ Language_lv_LV=Łotewski Language_mk_MK=Macedoński Language_mn_MN=Mongolski Language_nb_NO=Norweski (Bokmål) -Language_ne_NP=Nepali +Language_ne_NP=Nepalski Language_nl_BE=Holenderski (Belgia) -Language_nl_NL=Dutch +Language_nl_NL=Holenderski Language_pl_PL=Polski +Language_pt_AO=portugalski (Angola) Language_pt_BR=Portugalski (Brazylia) Language_pt_PT=Portugalski +Language_ro_MD=rumuński (Mołdawia) Language_ro_RO=Rumuński Language_ru_RU=Rosyjski Language_ru_UA=Rosyjski (Ukraina) @@ -101,5 +106,5 @@ Language_uz_UZ=Uzbek Language_vi_VN=Wietnamski Language_zh_CN=Chiński Language_zh_TW=Chiński (tradycyjny) -Language_zh_HK=Chinese (Hong Kong) +Language_zh_HK=Chiński (Hongkong) Language_bh_MY=Malajski diff --git a/htdocs/langs/pl_PL/mails.lang b/htdocs/langs/pl_PL/mails.lang index 2185ec0745c..70e0ef600a4 100644 --- a/htdocs/langs/pl_PL/mails.lang +++ b/htdocs/langs/pl_PL/mails.lang @@ -15,7 +15,7 @@ MailToUsers=Do użytkownika (ów) MailCC=Kopiuj do MailToCCUsers=Kopiuj dla użytkowników MailCCC=Kopi w pamięci do -MailTopic=Email subject +MailTopic=Temat wiadomości e-mail MailText=Wiadomość MailFile=Dołączone pliki MailMessage=Zawartość emaila @@ -131,8 +131,8 @@ NoNotificationsWillBeSent=Dla tego typu wydarzeń i firmy nie są planowane żad ANotificationsWillBeSent=1 automatyczne powiadomienie zostanie wysłane e-mailem SomeNotificationsWillBeSent=%s automatyczne powiadomienia będą wysyłane pocztą elektroniczną AddNewNotification=Zasubskrybuj nowe automatyczne powiadomienie e-mail (cel / wydarzenie) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +ListOfActiveNotifications=Lista wszystkich aktywnych subskrypcji (celów/wydarzeń) do automatycznego powiadamiania za pomocą e-mail +ListOfNotificationsDone=Lista wszystkich wysłanych automatycznych powiadomień e-mail MailSendSetupIs=Konfiguracja poczty e-mail wysyłającego musi być połączone z '% s'. Tryb ten może być wykorzystywany do wysyłania masowego wysyłania. MailSendSetupIs2=Najpierw trzeba przejść, z konta administratora, w menu% sHome - Ustawienia - e-maile% s, aby zmienić parametr '% s' na tryb '% s' używać. W tym trybie można wprowadzić ustawienia serwera SMTP dostarczonych przez usługodawcę internetowego i używać funkcji e-maila Mszę św. MailSendSetupIs3=Jeśli masz jakieś pytania na temat konfiguracji serwera SMTP, możesz zapytać %s. @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Usuń filtr AdvTgtSaveFilter=Zapisz filtr AdvTgtCreateFilter=Utwórz filtr AdvTgtOrCreateNewFilter=Nazwa nowego filtra -NoContactWithCategoryFound=Nie znaleziono kontaktu / adresu z kategorią -NoContactLinkedToThirdpartieWithCategoryFound=Nie znaleziono kontaktu / adresu z kategorią +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Wychodzące e-maile InGoingEmailSetup=Przychodzące e-maile OutGoingEmailSetupForEmailing=Wychodzące wiadomości e-mail (dla modułu %s) diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index 703c144addc..8e8ed01d6d7 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -180,7 +180,7 @@ SaveAndNew=Zapisz i nowe TestConnection=Test połączenia ToClone=Duplikuj ConfirmCloneAsk=Czy jesteś pewny, chcesz sklonować objekt%s? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=Wybierz dane, które chcesz powielić: NoCloneOptionsSpecified=Brak zdefiniowanych danych do zduplikowania. Of=z Go=Idź @@ -246,7 +246,7 @@ DefaultModel=Domyślny szablon dokumentu Action=Działanie About=O Number=Liczba -NumberByMonth=Total reports by month +NumberByMonth=Łączna liczba raportów według miesiąca AmountByMonth=Kwota na miesiąc Numero=Numer Limit=Limit @@ -341,8 +341,8 @@ KiloBytes=Kilobajtów MegaBytes=MB GigaBytes=GB TeraBytes=Terabajtów -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=Utworzony przez +UserModif=Poprawiony przez b=b. Kb=Kb Mb=Mb @@ -430,6 +430,7 @@ LT1IN=Centralny podatek od towarów i usług LT2IN=Stanowy podatek od towarów i usług LT1GC=Dodatkowe centy VATRate=Stawka VAT +RateOfTaxN=Stawka podatku %s VATCode=Kod stawki podatkowej VATNPR=Stawka podatku NPR DefaultTaxRate=Domyślna stawka podatku @@ -729,6 +730,7 @@ MenuMembers=Członkowie MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Podatki | Wydatki specjalne ThisLimitIsDefinedInSetup=Limit Dollibara (Menu główne-setup-bezpieczeństwo): %s KB, PHP, limit: %s KB +ThisLimitIsDefinedInSetupAt=Limit Dolibarra (Menu %s): %s Kb, limit PHP (Param %s): %s Kb NoFileFound=Brak wgranych dokumentów CurrentUserLanguage=Język bieżący CurrentTheme=Aktualny temat @@ -845,7 +847,7 @@ XMoreLines=%s lini(e) ukryte ShowMoreLines=Pokaż więcej / mniej linii PublicUrl=Publiczny URL AddBox=Dodaj skrzynke -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Wybierz element i kliknij %s PrintFile=Wydrukuj plik %s ShowTransaction=Pokaż wpisy na koncie bankowym ShowIntervention=Pokaż interwencję @@ -856,8 +858,8 @@ Denied=Zabroniony ListOf=Lista %s ListOfTemplates=Lista szablonów Gender=Płeć -Genderman=Male -Genderwoman=Female +Genderman=Męski +Genderwoman=Żeński Genderother=Inne ViewList=Widok listy ViewGantt=Widok Gantta @@ -1072,6 +1074,7 @@ ValidFrom=Ważne od ValidUntil=Ważne do NoRecordedUsers=Brak użytkowników ToClose=Do zamknięcia +ToRefuse=Odmówić ToProcess=Do przetworzenia ToApprove=Do zatwierdzenia GlobalOpenedElemView=Widok globalny @@ -1126,9 +1129,23 @@ UpdateForAllLines=Aktualizacja dla wszystkich linii OnHold=Wstrzymany Civility=Grzeczność AffectTag=Wpływ na Tag +CreateExternalUser=Utwórz użytkownika zewnętrznego ConfirmAffectTag=Wpływ tagu zbiorczego ConfirmAffectTagQuestion=Czy na pewno chcesz wpłynąć na tagi %s wybranych rekordów? CategTypeNotFound=Nie znaleziono typu tagu dla typu rekordów CopiedToClipboard=Skopiowane do schowka InformationOnLinkToContract=Kwota ta to tylko suma wszystkich pozycji zamówienia. Nie bierze się pod uwagę żadnego pojęcia czasu. -ConfirmCancel=Are you sure you want to cancel +ConfirmCancel=Czy na pewno chcesz zrezygnować +EmailMsgID=E-mail MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/pl_PL/members.lang b/htdocs/langs/pl_PL/members.lang index 017167beee0..6bbcc0c2448 100644 --- a/htdocs/langs/pl_PL/members.lang +++ b/htdocs/langs/pl_PL/members.lang @@ -15,7 +15,7 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Inny członek (nazwa: %s, zalo ErrorUserPermissionAllowsToLinksToItselfOnly=Ze względów bezpieczeństwa, musisz być przyznane uprawnienia do edycji wszystkich użytkowników, aby można było powiązać członka do użytkownika, który nie jest twoje. SetLinkToUser=Link do użytkownika Dolibarr SetLinkToThirdParty=Link do Dolibarr trzeciej -MembersCards=Business cards for members +MembersCards=Wizytówki dla członków MembersList=Lista członków MembersListToValid=Lista szkiców członków (do zatwierdzenia) MembersListValid=Wykaz ważnych członków @@ -32,7 +32,7 @@ MembersWithSubscriptionToReceive=Użytkownicy z subskrypcji otrzymują MembersWithSubscriptionToReceiveShort=Subskrypcja do odbioru DateSubscription=Data subskrypcji DateEndSubscription=Data końca subskrypcji -EndSubscription=Subscription Ends +EndSubscription=Subskrypcja kończy się SubscriptionId=ID subskrypcji WithoutSubscription=Bez abonamentu MemberId=ID członka @@ -83,10 +83,10 @@ WelcomeEMail=Powitalny e-mail SubscriptionRequired=Subskrypcja wymagana DeleteType=Usuń VoteAllowed=Głosowanie dozwolone -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable +Physical=Osoba fizyczna +Moral=Korporacja +MorAndPhy=Korporacja i osoba fizyczna +Reenable=Włącz ponownie ExcludeMember=Wyklucz członka ConfirmExcludeMember=Czy na pewno chcesz wykluczyć tego członka? ResiliateMember=Zakończ członka @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Szablon wiadomości e-mail używan DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Szablon wiadomości e-mail używany do wysyłania wiadomości e-mail do członka w sprawie nowego nagrania subskrypcji DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Szablon wiadomości e-mail służący do wysyłania przypomnień e-mail o zbliżającym się wygaśnięciu subskrypcji DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Szablon wiadomości e-mail używany do wysyłania wiadomości e-mail do członka w przypadku anulowania członka -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Szablon wiadomości e-mail wysyłanej do członka w przypadku jego wykluczenia DescADHERENT_MAIL_FROM=Adres e-mail nadawcy dla automatycznych e-maili DescADHERENT_ETIQUETTE_TYPE=Etykiety formacie DescADHERENT_ETIQUETTE_TEXT=Tekst drukowany na arkuszach adresowych członkiem @@ -170,31 +170,31 @@ DocForLabels=Generowanie arkuszy adres (Format wyjściowy rzeczywiście setup: < SubscriptionPayment=Zaplanowana płatność LastSubscriptionDate=Data ostatniej płatności abonamentowej LastSubscriptionAmount=Ilość ostatniej subskrypcji -LastMemberType=Last Member type +LastMemberType=Typ ostatniego członka MembersStatisticsByCountries=Użytkownicy statystyki według kraju MembersStatisticsByState=Użytkownicy statystyki na State / Province MembersStatisticsByTown=Użytkownicy statystyki na miasto MembersStatisticsByRegion=Użytkownicy statystyki regionu -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Całkowita liczba członków +NbOfActiveMembers=Całkowita liczba obecnych aktywnych członków NoValidatedMemberYet=Żadna potwierdzona znaleziono użytkowników -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=Statystyki członków według krajów. Wykresy zależą od dostępności usługi wykresów online Google, a także od dostępności działającego połączenia internetowego. +MembersByStateDesc=Statystyki członków według podziału terytorialnego. +MembersByTownDesc=Statystyki członków według miast. +MembersByNature=Statystyki członków według charakteru. +MembersByRegion=Statystyki członków według regionów. MembersStatisticsDesc=Wybierz statystyki chcesz czytać ... MenuMembersStats=Statystyka -LastMemberDate=Latest membership date +LastMemberDate=Ostatnia data członkostwa LatestSubscriptionDate=Data ostatniej subskrypcji -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=Charakter członka +MembersNature=Charakter członków +Public=Informacje są jawne NewMemberbyWeb=Nowy członek dodaje. Oczekuje na zatwierdzenie NewMemberForm=Nowa forma członkiem -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Statystyki subskrypcji NbOfSubscriptions=Liczba abonamentów -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Kwota pobrana z subskrypcji TurnoverOrBudget=Obrót (dla firmy) lub Budżet (na fundamencie) DefaultAmount=Domyślną kwotę abonamentu CanEditAmount=Użytkownik może wybrać / edytować kwotę swojej subskrypcji @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Wyślij przypomnienie e-mailem do członków, MembershipPaid=Członkostwo opłacone za bieżący okres (do %s) YouMayFindYourInvoiceInThisEmail=Możesz znaleźć fakturę w załączniku do tej wiadomości e-mail XMembersClosed=%s członków zamkniętych +XExternalUserCreated=%s utworzono użytkowników zewnętrznych +ForceMemberNature=Charakter członka siły (osoba fizyczna lub korporacja) diff --git a/htdocs/langs/pl_PL/modulebuilder.lang b/htdocs/langs/pl_PL/modulebuilder.lang index 70b1bea9bee..157929d44fe 100644 --- a/htdocs/langs/pl_PL/modulebuilder.lang +++ b/htdocs/langs/pl_PL/modulebuilder.lang @@ -85,7 +85,7 @@ ListOfPermissionsDefined=Lista zdefiniowanych uprawnień SeeExamples=Zobacz przykłady tutaj EnabledDesc=Warunek, aby to pole było aktywne (Przykłady: 1 lub $conf->global->MYMODULE_MYOPTION) VisibleDesc=Czy pole jest widoczne? (Przykłady: 0 = niewidoczne, 1 = widoczne na liście i utwórz / zaktualizuj / wyświetl formularze, 2 = widoczne tylko na liście, 3 = widoczne tylko w formularzu tworzenia / aktualizacji / przeglądania (nie na liście), 4 = widoczne na liście i tylko aktualizuj / wyświetl formularz (nie twórz), 5 = widoczne tylko w formularzu widoku końca listy (nie tworzy, nie aktualizuje).

    Użycie wartości ujemnej oznacza, że pole nie jest domyślnie wyświetlane na liście, ale można je wybrać do przeglądania).

    Może to być wyrażenie, na przykład:
    preg_match ('/ public /', $ _SERVER ['PHP_SELF'])? 0: 1
    ($ user- 1 holiday? -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdfDesc=Wyświetlając to pole w kompatybilnych dokumentach PDF możesz zarządzać jego pozycją za pomocą pola "Pozycja".
    Obecnie znane kompatybilne modele PDF to: eratosthene (zamówienie), espadon (dostawa), sponge (faktury), cyan (propozycja/oferta), cornas (zamówienie dostawcy)

    Dla dokumentu:
    0 = nie wyświetlaj
    1 = wyświetlaj
    2 = wyświetlaj tylko, gdy nie puste

    Dla linii dokumentu:
    0 = nie wyświetlaj
    1 = wyświetlaj w kolumnie
    3 = wyświetlaj w linii kolumny opisowej po opisie
    4 = wyświetlaj w kolumnie opisowej po opisie, tylko gdy nie pusty DisplayOnPdf=Wyświetl na dokumencie PDF IsAMeasureDesc=Czy wartość pola można skumulować, aby uzyskać sumę na liście? (Przykłady: 1 lub 0) SearchAllDesc=Czy to pole jest używane do wyszukiwania za pomocą narzędzia szybkiego wyszukiwania? (Przykłady: 1 lub 0) @@ -133,9 +133,9 @@ IncludeDocGeneration=Chcę wygenerować dokumenty z obiektu IncludeDocGenerationHelp=Jeśli to zaznaczysz, zostanie wygenerowany kod w celu dodania pola „Generuj dokument” do rekordu. ShowOnCombobox=Pokaż wartość w combobox KeyForTooltip=Klucz do podpowiedzi -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list +CSSClass=CSS do formularza edycji/tworzenia +CSSViewClass=CSS do formularza odczytu +CSSListClass=CSS dla listy NotEditable=Nie można edytować ForeignKey=Klucz obcy TypeOfFieldsHelp=Typ pól:
    varchar (99), double (24,8), real, text, html, datetime, timestamp, integer, integer: ClassName: względna ścieżka / do / classfile.class.php [: 1 [: filter]] („1” oznacza, że dodajemy przycisk + po kombinacji w celu utworzenia rekordu, „filter” może mieć wartość „status = 1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)” na przykład) @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Konwerter Ascii na HTML AsciiToPdfConverter=Konwerter ASCII na PDF TableNotEmptyDropCanceled=Tabela nie jest pusta. Upuszczenie zostało anulowane. ModuleBuilderNotAllowed=Kreator modułów jest dostępny, ale nie jest dozwolony dla użytkownika. +ImportExportProfiles=Importuj i eksportuj profile diff --git a/htdocs/langs/pl_PL/mrp.lang b/htdocs/langs/pl_PL/mrp.lang index ec999a473a4..2cea0e79db8 100644 --- a/htdocs/langs/pl_PL/mrp.lang +++ b/htdocs/langs/pl_PL/mrp.lang @@ -1,104 +1,103 @@ -Mrp=Manufacturing Orders -MOs=Manufacturing orders -ManufacturingOrder=Manufacturing Order -MRPDescription=Module to manage production and Manufacturing Orders (MO). -MRPArea=MRP Area -MrpSetupPage=Setup of module MRP -MenuBOM=Bills of material -LatestBOMModified=Latest %s Bills of materials modified -LatestMOModified=Latest %s Manufacturing Orders modified -Bom=Bills of Material -BillOfMaterials=Bill of Material -BOMsSetup=Setup of module BOM -ListOfBOMs=List of bills of material - BOM -ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. -BOMsNumberingModules=BOM numbering templates -BOMsModelModule=BOM document templates -MOsNumberingModules=MO numbering templates -MOsModelModule=MO document templates -FreeLegalTextOnBOMs=Free text on document of BOM -WatermarkOnDraftBOMs=Watermark on draft BOM -FreeLegalTextOnMOs=Free text on document of MO -WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? -ManufacturingEfficiency=Manufacturing efficiency -ConsumptionEfficiency=Consumption efficiency -ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production -ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product -DeleteBillOfMaterials=Delete Bill Of Materials -DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? -MenuMRP=Manufacturing Orders -NewMO=New Manufacturing Order -QtyToProduce=Qty to produce -DateStartPlannedMo=Date start planned -DateEndPlannedMo=Date end planned -KeepEmptyForAsap=Empty means 'As Soon As Possible' -EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM -ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) -ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? -ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) -StatusMOProduced=Produced +Mrp=Zamówienia produkcyjne +MOs=Zlecenia produkcyjne +ManufacturingOrder=Zamówienie produkcyjne +MRPDescription=Moduł do zarządzania produkcją i zleceniami produkcyjnymi (MO). +MRPArea=Strefa MRP +MrpSetupPage=Konfiguracja modułu MRP +MenuBOM=Zestawienia materiałów +LatestBOMModified=Najnowsze %s Zmodyfikowane listy materiałów +LatestMOModified=Ostatnie %s Zmodyfikowano zamówienia produkcyjne +Bom=Zestawienia materiałów +BillOfMaterials=Zestawienie materiałów +BOMsSetup=Konfiguracja BOM modułu +ListOfBOMs=Lista zestawień materiałowych - BOM +ListOfManufacturingOrders=Lista zleceń produkcyjnych +NewBOM=Nowa lista materiałów +ProductBOMHelp=Produkt do utworzenia (lub demontażu) za pomocą tego BOM.
    Uwaga: Produkty z właściwością „Rodzaj produktu” = „Surowiec” nie są widoczne na tej liście. +BOMsNumberingModules=Szablony numeracji BOM +BOMsModelModule=Szablony dokumentów BOM +MOsNumberingModules=Szablony numeracji MO +MOsModelModule=Szablony dokumentów MO +FreeLegalTextOnBOMs=Dowolny tekst na dokumencie BOM +WatermarkOnDraftBOMs=Znak wodny na wersji roboczej zestawienia komponentów +FreeLegalTextOnMOs=Dowolny tekst na dokumencie MO +WatermarkOnDraftMOs=Znak wodny na wersji roboczej MO +ConfirmCloneBillOfMaterials=Czy na pewno chcesz sklonować zestawienie komponentów %s? +ConfirmCloneMo=Czy na pewno chcesz sklonować zamówienie produkcyjne %s? +ManufacturingEfficiency=Wydajność produkcji +ConsumptionEfficiency=Efektywność zużycia +ValueOfMeansLoss=Wartość 0,95 oznacza średnio 5%% straty podczas produkcji +ValueOfMeansLossForProductProduced=Wartość 0,95 oznacza średnio 5%% straty wytworzonego produktu +DeleteBillOfMaterials=Usuń listę materiałów +DeleteMo=Usuń zlecenie produkcyjne +ConfirmDeleteBillOfMaterials=Czy na pewno chcesz usunąć ten wykaz materiałów? +ConfirmDeleteMo=Czy na pewno chcesz usunąć ten wykaz materiałów? +MenuMRP=Zamówienia produkcyjne +NewMO=Nowe zamówienie produkcyjne +QtyToProduce=Ilość do wyprodukowania +DateStartPlannedMo=Planowana data rozpoczęcia +DateEndPlannedMo=Planowany termin zakończenia +KeepEmptyForAsap=Puste oznacza „tak szybko, jak to możliwe” +EstimatedDuration=Przewidywany czas +EstimatedDurationDesc=Szacowany czas produkcji (lub demontażu) tego produktu przy użyciu tego BOM +ConfirmValidateBom=Czy na pewno chcesz zweryfikować BOM z odniesieniem %s (będziesz mógł go użyć do tworzenia nowych zamówień produkcyjnych) +ConfirmCloseBom=Czy na pewno chcesz anulować ten BOM (nie będziesz już mógł go używać do tworzenia nowych zamówień produkcyjnych)? +ConfirmReopenBom=Czy na pewno chcesz ponownie otworzyć ten BOM (będziesz mógł go użyć do tworzenia nowych zamówień produkcyjnych) +StatusMOProduced=Wytworzony QtyFrozen=Frozen Qty -QuantityFrozen=Frozen Quantity -QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. -DisableStockChange=Stock change disabled -DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed -BomAndBomLines=Bills Of Material and lines -BOMLine=Line of BOM -WarehouseForProduction=Warehouse for production -CreateMO=Create MO -ToConsume=To consume -ToProduce=To produce -QtyAlreadyConsumed=Qty already consumed -QtyAlreadyProduced=Qty already produced -QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) -ConsumeOrProduce=Consume or Produce -ConsumeAndProduceAll=Consume and Produce All -Manufactured=Manufactured -TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. -ForAQuantityOf=For a quantity to produce of %s -ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? -ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. -ProductionForRef=Production of %s -AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached -NoStockChangeOnServices=No stock change on services -ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO -AddNewConsumeLines=Add new line to consume -ProductsToConsume=Products to consume -ProductsToProduce=Products to produce -UnitCost=Unit cost -TotalCost=Total cost -BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price) -GoOnTabProductionToProduceFirst=You must first have started the production to close a Manufacturing Order (See tab '%s'). But you can Cancel it. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +QuantityFrozen=Ilość mrożona +QuantityConsumedInvariable=Gdy ta flaga jest ustawiona, zużyta ilość jest zawsze wartością zdefiniowaną i nie jest zależna od wyprodukowanej ilości. +DisableStockChange=Zmiana zapasów wyłączona +DisableStockChangeHelp=Gdy ta flaga jest ustawiona, nie ma zmiany stanu zapasów tego produktu, niezależnie od zużytej ilości +BomAndBomLines=Listy materiałów i wiersze +BOMLine=Linia BOM +WarehouseForProduction=Magazyn do produkcji +CreateMO=Utwórz MO +ToConsume=Konsumować +ToProduce=Produkować +QtyAlreadyConsumed=Ilość już zużyta +QtyAlreadyProduced=Ilość już wyprodukowana +QtyRequiredIfNoLoss=Ilość wymagana, jeśli nie ma strat (wydajność produkcji to 100%%) +ConsumeOrProduce=Zużyj lub wyprodukuj +ConsumeAndProduceAll=Konsumuj i produkuj wszystko +Manufactured=Zrobiony fabrycznie +TheProductXIsAlreadyTheProductToProduce=Produkt do dodania jest już produktem do wyprodukowania. +ForAQuantityOf=Dla ilości do wyprodukowania %s +ForAQuantityToConsumeOf=Dla ilości do demontażu %s +ConfirmValidateMo=Czy na pewno chcesz zweryfikować to zamówienie produkcyjne? +ConfirmProductionDesc=Klikając „%s”, potwierdzisz zużycie i / lub produkcję dla ustalonych ilości. Spowoduje to również zaktualizowanie zapasów i rejestrowanie ruchów zapasów. +ProductionForRef=Produkcja %s +AutoCloseMO=Zamykaj automatycznie zlecenie produkcyjne, jeśli osiągnięte zostaną ilości do spożycia i produkcji +NoStockChangeOnServices=Brak zmian w magazynie usług +ProductQtyToConsumeByMO=Ilość produktu do spożycia w ramach otwartego zamówienia +ProductQtyToProduceByMO=Ilość produktu jeszcze do wyprodukowania przez otwarte MO +AddNewConsumeLines=Dodaj nową linię do konsumpcji +ProductsToConsume=Produkty do spożycia +ProductsToProduce=Produkty do produkcji +UnitCost=Cena jednostkowa +TotalCost=Całkowity koszt +BOMTotalCost=Koszt wytworzenia tego BOM na podstawie kosztu każdej ilości i produktu do konsumpcji (użyj ceny kosztu, jeśli została zdefiniowana, w innym przypadku średniej ceny ważonej, jeśli została zdefiniowana, w przeciwnym razie najlepszej ceny zakupu) +GoOnTabProductionToProduceFirst=Aby zamknąć zlecenie produkcyjne, musisz najpierw rozpocząć produkcję (patrz zakładka „%s”). Ale możesz to anulować. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Zestaw nie może być użyty w BOM lub MO +Workstation=Stacja robocza +Workstations=Stacje robocze +WorkstationsDescription=Zarządzanie stacjami roboczymi +WorkstationSetup = Konfiguracja stacji roboczych +WorkstationSetupPage = Strona konfiguracji stacji roboczych +WorkstationList=Lista stacji roboczych +WorkstationCreate=Dodaj nową stację roboczą +ConfirmEnableWorkstation=Czy na pewno chcesz włączyć stację roboczą %s ? +EnableAWorkstation=Włącz stację roboczą +ConfirmDisableWorkstation=Czy na pewno chcesz wyłączyć stację roboczą %s ? +DisableAWorkstation=Wyłącz stację roboczą +DeleteWorkstation=Usuń +NbOperatorsRequired=Wymagana liczba operatorów +THMOperatorEstimated=Szacowany operator THM +THMMachineEstimated=Szacunkowa maszyna THM +WorkstationType=Typ stacji roboczej +Human=Człowiek +Machine=Maszyna +HumanMachine=Człowiek / Maszyna +WorkstationArea=Obszar stacji roboczej +Machines=Maszyny +THMEstimatedHelp=Stawka ta umożliwia zdefiniowanie prognozowanego kosztu towaru diff --git a/htdocs/langs/pl_PL/orders.lang b/htdocs/langs/pl_PL/orders.lang index b67799df5fb..ef5fea6a55e 100644 --- a/htdocs/langs/pl_PL/orders.lang +++ b/htdocs/langs/pl_PL/orders.lang @@ -11,6 +11,7 @@ OrderDate=Data zamówienia OrderDateShort=Data zamówienia OrderToProcess=Zamówienia do przetworzenia NewOrder=Nowe zamówienie +NewSupplierOrderShort=Nowe zamówienie NewOrderSupplier=Nowe zamówienie ToOrder=Stwórz zamówienie MakeOrder=Stwórz zamówienie @@ -73,6 +74,7 @@ DeleteOrder=Usuń zamówienie CancelOrder=Anuluj zamówienie OrderReopened= Zamów ponownie %s AddOrder=Stwórz zamówienie +AddSupplierOrderShort=Stwórz zamówienie AddPurchaseOrder=Utwórz zamówienie zakupu AddToDraftOrders=Dodaj do szkicu zamówienia ShowOrder=Pokaż zamówienie diff --git a/htdocs/langs/pl_PL/other.lang b/htdocs/langs/pl_PL/other.lang index bb578a28841..cbcfe3763e7 100644 --- a/htdocs/langs/pl_PL/other.lang +++ b/htdocs/langs/pl_PL/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Nazwa użytkownika który zamknął FileWasRemoved=Plik %s został usunięty DirWasRemoved=Katalog %s został usunięty FeatureNotYetAvailable=Funkcjonalność jeszcze niedostępna w aktualnej wersji +FeatureNotAvailableOnDevicesWithoutMouse=Funkcja niedostępna na urządzeniach bez myszy FeaturesSupported=Wspierane funkcjonalności Width=Szerokość Height=Wysokość @@ -183,7 +184,7 @@ EnableGDLibraryDesc=Zainstaluj lub włącz bibliotekę GD w instalacji PHP, aby ProfIdShortDesc=Prof ID %s jest informacji w zależności od trzeciej kraju.
    Na przykład, dla kraju, %s, jest to kod %s. DolibarrDemo=Demo Dolibarr ERP/CRM StatsByNumberOfUnits=Statystyki dla sum ilości produktów / usług -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statystyki wybranego obiektu (np. liczba faktur, liczba zamówień, ...) NumberOfProposals=Liczba propozycji NumberOfCustomerOrders=Liczba zamówień sprzedaży NumberOfCustomerInvoices=Ilość faktur klientów @@ -245,7 +246,7 @@ NewKeyIs=To są twoje nowe klucze do logowania NewKeyWillBe=Twój nowy klucz, aby zalogować się do programu będzie ClickHereToGoTo=Kliknij tutaj, aby przejść do %s YouMustClickToChange=Trzeba jednak najpierw kliknąć na poniższy link, aby potwierdzić tę zmianę hasła -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Potwierdź zmianę hasła ForgetIfNothing=Jeśli nie zwrócić tę zmianę, po prostu zapomnieć ten e-mail. Twoje dane są przechowywane w sposób bezpieczny. IfAmountHigherThan=Jeśli kwota wyższa niż %s SourcesRepository=Źródła dla repozytorium @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Kontakt / adres utworzony przez kolektora poczty ProjectCreatedByEmailCollector=Projekt utworzony przez kolektor poczty e-mail z wiadomości e-mail MSGID %s TicketCreatedByEmailCollector=Bilet utworzony przez zbierającego wiadomości e-mail z wiadomości e-mail MSGID %s OpeningHoursFormatDesc=Użyj - aby oddzielić godziny otwarcia i zamknięcia.
    Użyj spacji, aby wprowadzić różne zakresy.
    Przykład: 8-12 14-18 -PrefixSession=Prefiks identyfikatora sesji +SuffixSessionName=Sufiks nazwy sesji ##### Export ##### ExportsArea=Wywóz obszarze @@ -289,4 +290,8 @@ PopuProp=Produkty / usługi według popularności w propozycjach PopuCom=Produkty / usługi według popularności w Zamówieniach ProductStatistics=Statystyki produktów / usług NbOfQtyInOrders=Ilość w zamówieniach -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=Wybierz obiekt, aby wyświetlić jego statystyki... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zamknij diff --git a/htdocs/langs/pl_PL/partnership.lang b/htdocs/langs/pl_PL/partnership.lang index 6b35205dbda..0a4799ae316 100644 --- a/htdocs/langs/pl_PL/partnership.lang +++ b/htdocs/langs/pl_PL/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Zarządzanie partnerstwem +PartnershipDescription=Moduł Zarządzania partnerstwem +PartnershipDescriptionLong= Moduł Zarządzania partnerstwem + +AddPartnership=Dodaj partnerstwo +CancelPartnershipForExpiredMembers=Partnerstwo: Anuluj partnerstwo członków z wygasłymi subskrypcjami +PartnershipCheckBacklink=Partnerstwo: Sprawdź odsyłający link zwrotny # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Nowe partnerstwo +ListOfPartnerships=Lista partnerstw # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Konfiguracja partnerstwa +PartnershipAbout=O partnerstwie +PartnershipAboutPage=Strona informacyjna o partnerstwie +partnershipforthirdpartyormember=Status partnera musi być ustawiony na „osobę trzecią” lub „członek” +PARTNERSHIP_IS_MANAGED_FOR=Partnerstwo zarządzane przez +PARTNERSHIP_BACKLINKS_TO_CHECK=Linki wsteczne do sprawdzenia +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Liczba dni przed anulowaniem statusu partnerstwa po wygaśnięciu subskrypcji +ReferingWebsiteCheck=Sprawdzenie odsyłającej strony internetowej +ReferingWebsiteCheckDesc=Możesz włączyć funkcję, aby sprawdzić, czy Twoi partnerzy dodali link zwrotny do domen Twojej witryny we własnej witrynie. # # Object # +DeletePartnership=Usuń partnerstwo +PartnershipDedicatedToThisThirdParty=Partnerstwo dedykowane tej stronie trzeciej +PartnershipDedicatedToThisMember=Partnerstwo dedykowane temu członkowi DatePartnershipStart=Data rozpoczęcia DatePartnershipEnd=Data zakończenia +ReasonDecline=Odrzuć powód +ReasonDeclineOrCancel=Odrzuć powód +PartnershipAlreadyExist=Partnerstwo już istnieje +ManagePartnership=Zarządzaj partnerstwem +BacklinkNotFoundOnPartnerWebsite=Nie znaleziono linku zwrotnego w witrynie partnera +ConfirmClosePartnershipAsk=Czy na pewno chcesz anulować to partnerstwo? +PartnershipType=Rodzaj partnerstwa # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerstwo zostanie wkrótce anulowane +SendingEmailOnPartnershipRefused=Partnerstwo odrzucone +SendingEmailOnPartnershipAccepted=Partnerstwo zaakceptowane +SendingEmailOnPartnershipCanceled=Partnerstwo anulowane +YourPartnershipWillSoonBeCanceledTopic=Partnerstwo zostanie wkrótce anulowane +YourPartnershipRefusedTopic=Partnerstwo odrzucone +YourPartnershipAcceptedTopic=Partnerstwo zaakceptowane +YourPartnershipCanceledTopic=Partnerstwo anulowane + +YourPartnershipWillSoonBeCanceledContent=Informujemy, że Twoje partnerstwo zostanie wkrótce anulowane (nie znaleziono linku zwrotnego) +YourPartnershipRefusedContent=Informujemy, że Twoja prośba o partnerstwo została odrzucona. +YourPartnershipAcceptedContent=Informujemy, że Twoja prośba o partnerstwo została zaakceptowana. +YourPartnershipCanceledContent=Informujemy, że Twoje partnerstwo zostało anulowane. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Odrzuć powód # # Status # -PartnershipDraft = Szkic -PartnershipAccepted = Zaakceptowane -PartnershipRefused = Odrzucony -PartnershipCanceled = Anulowany - -PartnershipManagedFor=Partners are +PartnershipDraft=Szkic +PartnershipAccepted=Zaakceptowane +PartnershipRefused=Odrzucony +PartnershipCanceled=Anulowany +PartnershipManagedFor=Partnerami są diff --git a/htdocs/langs/pl_PL/productbatch.lang b/htdocs/langs/pl_PL/productbatch.lang index 710b09cf60b..a5aa101d7d5 100644 --- a/htdocs/langs/pl_PL/productbatch.lang +++ b/htdocs/langs/pl_PL/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Użyj lot / numer seryjny ProductStatusOnBatch=Tak (wymagana partia) ProductStatusOnSerial=Tak (wymagany unikalny numer seryjny) @@ -25,11 +25,19 @@ ShowCurrentStockOfLot=Pokaż aktualny zapas dla pasy produkt/lot ShowLogOfMovementIfLot=Pokaż historię przesunięć dla pary produkt/lot StockDetailPerBatch=Szczegóły zapasu po locie SerialNumberAlreadyInUse=Numer seryjny %s jest już używany dla produktu %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Opcje automatycznego generowania produktów wsadowych zarządzanych partiami -BatchSerialNumberingModules=Opcje automatycznego generowania produktów wsadowych zarządzanych według numerów seryjnych -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +TooManyQtyForSerialNumber=Możesz mieć tylko jeden produkt %s dla numeru seryjnego %s +ManageLotMask=Maska niestandardowa +CustomMasks=Możliwość zdefiniowania innej maski numeracji dla każdego produktu +BatchLotNumberingModules=Reguła numeracji do automatycznego generowania numeru partii +BatchSerialNumberingModules=Reguła numeracji do automatycznego generowania numeru seryjnego (dla produktów o właściwości 1 unikalna partia/seria dla każdego produktu) +QtyToAddAfterBarcodeScan=Ilość do dodania dla każdego zeskanowanego kodu kreskowego/partii/numeru seryjnego +LifeTime=Żywotność (w dniach) +EndOfLife=Koniec życia +ManufacturingDate=Data produkcji +DestructionDate=Data zniszczenia +FirstUseDate=Data pierwszego użycia +QCFrequency=Częstotliwość kontroli jakości (w dniach) + +#Traceability - qc status +OutOfOrder=Niesprawny +InWorkingOrder=Sprawny diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index b6a183b57f2..099e185905a 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=Usługi tylko na sprzedaż ServicesOnPurchaseOnly=Usługi tylko do zakupu ServicesNotOnSell=Usługi nie na sprzedaż i nie do zakupu ServicesOnSellAndOnBuy=Usługi na sprzedaż i do zakupu -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Najnowsze %sprodukty/usługi, które zostały zmodyfikowane LastRecordedProducts=Ostatnie %s zarejestrowanych produktów LastRecordedServices=Ostatnie %s zarejestrowanych usług CardProduct0=Produkt @@ -73,12 +73,12 @@ SellingPrice=Cena sprzedaży SellingPriceHT=Cena sprzedaży (Bez VAT) SellingPriceTTC=Cena sprzedaży (z podatkiem) SellingMinPriceTTC=Minimalna cena sprzedaży (z podatkiem) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=To pole ceny (bez podatku) może służyć do przechwytywania średniej kwoty, jaką ten produkt kosztuje dla Twojej firmy. Może to być każda cena, którą sam obliczysz, na przykład ze średniej ceny zakupu plus średni koszt produkcji i dystrybucji. CostPriceUsage=Wartość tę można wykorzystać do obliczenia depozytu zabezpieczającego. SoldAmount=Sprzedana ilość PurchasedAmount=Zakupiona ilość NewPrice=Nowa cena -MinPrice=Min. selling price +MinPrice=Min. cena sprzedaży EditSellingPriceLabel=Edytuj etykietę ceny sprzedaży CantBeLessThanMinPrice=Cena sprzedaży nie może być niższa niż minimalna dopuszczalna dla tego produktu (%s bez podatku). Ten komunikat może się również pojawić po wpisaniu zbyt wysokiego rabatu. ContractStatusClosed=Zamknięte @@ -157,11 +157,11 @@ ListServiceByPopularity=Wykaz usług ze względu na popularność Finished=Produkty wytwarzane RowMaterial=Surowiec ConfirmCloneProduct=Czy na pewno chcesz powielić produkt lub usługę %s? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Powiel wszystkie główne informacje o produkcie/usłudze ClonePricesProduct=Powiel ceny -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Powiel połączone tagi/kategorie +CloneCompositionProduct=Powiel wirtualne produkty/usługi +CloneCombinationsProduct=Powiel warianty produktu ProductIsUsed=Ten produkt jest używany NewRefForClone=Referencja nowego produktu/usługi SellingPrices=Cena sprzedaży @@ -170,12 +170,12 @@ CustomerPrices=Ceny klienta SuppliersPrices=Ceny dostawców SuppliersPricesOfProductsOrServices=Ceny dostawców (produktów lub usług) CustomCode=Cła | Towar | Kod HS -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=Kraj pochodzenia +RegionStateOrigin=Region pochodzenia +StateOrigin=Stan/prowincja pochodzenia +Nature=Typ produktu (surowy/wyprodukowany) NatureOfProductShort=Charakter produktu -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=Surowiec lub wytworzony produkt ShortLabel=Krótka etykieta Unit=Jednostka p=jedn. @@ -277,7 +277,7 @@ PriceByCustomer=Różne ceny dla każdego klienta PriceCatalogue=Pojedyncza cena sprzedaży za produkt / usługę PricingRule=Zasady dotyczące cen sprzedaży AddCustomerPrice=Dodaj cenę dla klienta -ForceUpdateChildPriceSoc=Ustaw sama cena na zależnych klientów +ForceUpdateChildPriceSoc=Ustaw tę samą cenę w spółkach zależnych klienta PriceByCustomerLog=Stwórz log z wcześniejszymi cenami dla klienta MinimumPriceLimit=Cena minimalna nie może być niższa niż %s MinimumRecommendedPrice=Minimalna zalecana cena to: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Wzrost / spadek akcji na zmiany dominującej ComposedProduct=Produkty dla dzieci MinSupplierPrice=Minimalna cena zakupu MinCustomerPrice=Minimalna cena sprzedaży +NoDynamicPrice=Brak ceny dynamicznej DynamicPriceConfiguration=Konfiguracja dynamicznych cen DynamicPriceDesc=Możesz zdefiniować formuły matematyczne do obliczania cen klientów lub dostawców. Takie formuły mogą wykorzystywać wszystkie operatory matematyczne, niektóre stałe i zmienne. Możesz tutaj zdefiniować zmienne, których chcesz użyć. Jeśli zmienna wymaga automatycznej aktualizacji, możesz zdefiniować zewnętrzny adres URL, aby umożliwić firmie Dolibarr automatyczną aktualizację wartości. AddVariable=Dodaj zmienną @@ -314,7 +315,7 @@ LastUpdated=Ostatnia aktualizacja CorrectlyUpdated=Poprawnie zaktualizowane PropalMergePdfProductActualFile=Pliki użyć, aby dodać do PDF Azur są / jest PropalMergePdfProductChooseFile=Wybież plik PDF -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Uwzględnij produkty/usługi z tagiem DefaultPriceRealPriceMayDependOnCustomer=Domyślna cena, realna cena może zależeć od klienta WarningSelectOneDocument=Proszę zaznaczyć co najmniej jeden dokument DefaultUnitToShow=Jednostka @@ -340,7 +341,7 @@ ProductSheet=Arkusz produktu ServiceSheet=Arkusz usługi PossibleValues=Możliwa wartość GoOnMenuToCreateVairants=Przejdź do menu %s - %s, aby przygotować warianty atrybutów (takie jak kolory, rozmiar, ...) -UseProductFournDesc=Dodaj funkcję definiowania opisów produktów zdefiniowanych przez dostawców oprócz opisów dla klientów +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Opis dostawcy produktu UseProductSupplierPackaging=Użyj opakowania w cenach dostawcy (przelicz ilości zgodnie z opakowaniem ustawionym na cenie dostawcy podczas dodawania / aktualizowania linii w dokumentach dostawcy) PackagingForThisProduct=Opakowanie @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Akcja dostępna tylko w wariancie produktu ProductsPricePerCustomer=Ceny produktów na klientów ProductSupplierExtraFields=Dodatkowe atrybuty (ceny dostawców) DeleteLinkedProduct=Usuń produkt podrzędny powiązany z kombinacją +PMPValue=Średnia ważona ceny +PMPValueShort=WAP diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index 35a50d977a1..e8c0ba3b123 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -10,19 +10,19 @@ PrivateProject=Kontakty projektu ProjectsImContactFor=Projekty, dla których jestem jawnym kontaktem AllAllowedProjects=Cały projekt, który mogę przeczytać (mój + publiczny) AllProjects=Wszystkie projekty -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Ten widok jest ograniczony do projektów, dla których jesteś osobą kontaktową ProjectsPublicDesc=Ten widok przedstawia wszystkie projekty, które możesz przeczytać. TasksOnProjectsPublicDesc=Ten widok przedstawia wszystkie zadania w projektach, które możesz czytać. ProjectsPublicTaskDesc=Ten widok przedstawia wszystkie projekty i zadania, które są dozwolone do czytania. ProjectsDesc=Ten widok przedstawia wszystkie projekty (twoje uprawnienia użytkownika pozwalają wyświetlać wszystko). TasksOnProjectsDesc=Ten widok przedstawia wszystkie zadania we wszystkich projektach (Twoje uprawnienia użytkownika dają Ci uprawnienia do przeglądania wszystkiego). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Ten widok jest ograniczony do projektów lub zadań dla których jesteś osobą kontaktową OnlyOpenedProject=Tylko otwarte projekty są widoczne (szkice projektów lub zamknięte projekty są niewidoczne) ClosedProjectsAreHidden=Zamknięte projekty nie są widoczne. TasksPublicDesc=Ten widok przedstawia wszystkie projekty i zadania, które możesz przeczytać. TasksDesc=Ten widok przedstawia wszystkie projekty i zadania (twoje uprawnienia mają dostępu do wglądu we wszystko). AllTaskVisibleButEditIfYouAreAssigned=Wszystkie zadania dla zakwalifikowanych projektów są widoczne, ale możesz wprowadzić czas tylko dla zadania przypisanego do wybranego użytkownika. Przypisz zadanie, jeśli chcesz wprowadzić na nim czas. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Widoczne są tylko zadania przypisane do Ciebie. Jeśli potrzebujesz wprowadzić czas w zadaniu a ono nie jest tutaj widoczne, to musisz przypisać to zadanie sobie. ImportDatasetTasks=Zadania projektów ProjectCategories=Tagi / kategorie projektów NewProject=Nowy projekt @@ -89,7 +89,7 @@ TimeConsumed=Strawiony ListOfTasks=Lista zadań GoToListOfTimeConsumed=Przejdź do listy czasochłonnych GanttView=Widok Gantta -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Lista magazynów powiązanych z projektem ListProposalsAssociatedProject=Lista ofert handlowych związanych z projektem ListOrdersAssociatedProject=Lista zamówień sprzedaży związanych z projektem ListInvoicesAssociatedProject=Lista faktur klientów związanych z projektem @@ -140,6 +140,7 @@ NoTasks=Brak zadań dla tego projektu LinkedToAnotherCompany=Powiązane z innymą częścią trzecią TaskIsNotAssignedToUser=Zadanie nie zostało przypisane do użytkownika. Użyj przycisku „ %s ”, aby przypisać zadanie teraz. ErrorTimeSpentIsEmpty=Czas spędzony jest pusty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=To działanie także usunie wszystkie zadania projektu (%s zadania w tej chwili) i wszystkie dane wejścia czasu spędzonego. IfNeedToUseOtherObjectKeepEmpty=Jeżeli pewne obiekty (faktura, zamówienie, ...), należące do innej części trzeciej, muszą być związane z projektem tworzenia, zachowaj to puste by projekt był wielowątkowy -(wiele części trzecich). CloneTasks=Sklonuj zadania @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=Nie dopisane do zadania NoUserAssignedToTheProject=Brak użytkowników przypisanych do tego projektu TimeSpentBy=Czas spędzony przez TasksAssignedTo=Zadania przypisane do -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Przypisz sobie to zadanie AssignTaskToUser=Przypisz zadanie do %s SelectTaskToAssign=Wybierz zadanie do przypisania ... AssignTask=Przydzielać @@ -241,6 +242,7 @@ LatestModifiedProjects=Najnowsze zmodyfikowane projekty %s OtherFilteredTasks=Inne filtrowane zadania NoAssignedTasks=Nie znaleziono przypisanych zadań (przypisz projekt / zadania do bieżącego użytkownika z górnego pola wyboru, aby wprowadzić czas) ThirdPartyRequiredToGenerateInvoice=Aby móc wystawić fakturę, w projekcie musi być zdefiniowana osoba trzecia. +ThirdPartyRequiredToGenerateInvoice=Aby móc wystawić fakturę, w projekcie musi być zdefiniowana osoba trzecia. ChooseANotYetAssignedTask=Wybierz zadanie, które nie zostało Ci jeszcze przydzielone # Comments trans AllowCommentOnTask=Zezwalaj na komentarze użytkowników do zadań @@ -252,10 +254,12 @@ SendProjectRef=Projekt informacyjny %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Moduł „Wynagrodzenia” musi być włączony, aby zdefiniować stawkę godzinową pracownika w celu waloryzacji spędzonego czasu NewTaskRefSuggested=Numer referencyjny jest już używany, wymagany jest nowy numer referencyjny TimeSpentInvoiced=Rozliczony czas spędzony +TimeSpentForIntervention=Czas spędzony TimeSpentForInvoice=Czas spędzony OneLinePerUser=Jedna linia na użytkownika ServiceToUseOnLines=Usługa do wykorzystania na liniach InvoiceGeneratedFromTimeSpent=Faktura %s została wygenerowana na podstawie czasu spędzonego nad projektem +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Sprawdź, czy wprowadzasz grafik dla zadań projektu ORAZ planujesz wygenerować fakturę (y) z grafiku, aby wystawić fakturę klientowi projektu (nie sprawdzaj, czy planujesz utworzyć fakturę, która nie jest oparta na wprowadzonych grafikach). Uwaga: Aby wygenerować fakturę, przejdź do zakładki „Czas spędzony” projektu i wybierz wiersze do uwzględnienia. ProjectFollowOpportunity=Skorzystaj z okazji ProjectFollowTasks=Śledź zadania lub spędzony czas @@ -264,12 +268,16 @@ UsageOpportunity=Sposób użycia: okazja UsageTasks=Sposób użycia: zadania UsageBillTimeShort=Użycie: Bill czas InvoiceToUse=Projekt faktury do wykorzystania +InterToUse=Draft intervention to use NewInvoice=Nowa faktura +NewInter=Nowa interwencja OneLinePerTask=Jedna linia na zadanie OneLinePerPeriod=Jedna linia na okres +OneLinePerTimeSpentLine=Jedna linijka za każdą spędzoną deklarację RefTaskParent=Nr ref. Zadanie rodzica ProfitIsCalculatedWith=Zysk jest obliczany za pomocą AddPersonToTask=Dodaj także do zadań UsageOrganizeEvent=Użycie: Organizacja wydarzeń PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Zaklasyfikuj projekt jako zamknięty po wykonaniu wszystkich jego zadań (postęp 100%%) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Uwaga: nie będzie to miało wpływu na istniejące projekty ze wszystkimi zadaniami o postępie 100%%: będziesz musiał je zamknąć ręcznie. Ta opcja dotyczy tylko otwartych projektów. +SelectLinesOfTimeSpentToInvoice=Wybierz wiersze spędzonego czasu, które nie zostały rozliczone, a następnie wykonaj zbiorcze działanie „Wygeneruj fakturę”, aby je rozliczyć diff --git a/htdocs/langs/pl_PL/receptions.lang b/htdocs/langs/pl_PL/receptions.lang index 653fd411d63..69db63abc94 100644 --- a/htdocs/langs/pl_PL/receptions.lang +++ b/htdocs/langs/pl_PL/receptions.lang @@ -1,26 +1,26 @@ # Dolibarr language file - Source file is en_US - receptions -ReceptionsSetup=Product Reception setup -RefReception=Ref. reception +ReceptionsSetup=Konfiguracja odbioru produktu +RefReception=Nr ref. Przyjęcie Reception=Na proces -Receptions=Receptions -AllReceptions=All Receptions +Receptions=Przyjęcia +AllReceptions=Wszystkie przyjęcia Reception=Na proces -Receptions=Receptions -ShowReception=Show Receptions -ReceptionsArea=Receptions area -ListOfReceptions=List of receptions -ReceptionMethod=Reception method -LastReceptions=Latest %s receptions -StatisticsOfReceptions=Statistics for receptions -NbOfReceptions=Number of receptions -NumberOfReceptionsByMonth=Number of receptions by month -ReceptionCard=Reception card -NewReception=New reception -CreateReception=Create reception -QtyInOtherReceptions=Qty in other receptions -OtherReceptionsForSameOrder=Other receptions for this order -ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order -ReceptionsToValidate=Receptions to validate +Receptions=Przyjęcia +ShowReception=Pokaż przyjęcia +ReceptionsArea=Strefa przyjęć +ListOfReceptions=Lista przyjęć +ReceptionMethod=Sposób odbioru +LastReceptions=Najnowsze przyjęcia %s +StatisticsOfReceptions=Statystyki przyjęć +NbOfReceptions=Liczba przyjęć +NumberOfReceptionsByMonth=Liczba przyjęć według miesiąca +ReceptionCard=Karta odbioru +NewReception=Nowa recepcja +CreateReception=Utwórz recepcję +QtyInOtherReceptions=Ilość w innych przyjęciach +OtherReceptionsForSameOrder=Inne przyjęcia na to zamówienie +ReceptionsAndReceivingForSameOrder=Przyjęcia i pokwitowania za to zamówienie +ReceptionsToValidate=Przyjęcia do weryfikacji StatusReceptionCanceled=Anulowany StatusReceptionDraft=Szkic StatusReceptionValidated=Zatwierdzone (produkty do wysyłki lub już wysłane) @@ -28,20 +28,20 @@ StatusReceptionProcessed=Przetwarzany StatusReceptionDraftShort=Szkic StatusReceptionValidatedShort=Zatwierdzony StatusReceptionProcessedShort=Przetwarzany -ReceptionSheet=Reception sheet -ConfirmDeleteReception=Are you sure you want to delete this reception? -ConfirmValidateReception=Are you sure you want to validate this reception with reference %s? -ConfirmCancelReception=Are you sure you want to cancel this reception? -StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known). -SendReceptionByEMail=Send reception by email -SendReceptionRef=Submission of reception %s -ActionsOnReception=Events on reception -ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card. -ReceptionLine=Reception line -ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received -ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions. -ReceptionsNumberingModules=Numbering module for receptions -ReceptionsReceiptModel=Document templates for receptions -NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionSheet=Arkusz odbioru +ConfirmDeleteReception=Czy na pewno chcesz usunąć ten odbiór? +ConfirmValidateReception=Czy na pewno chcesz zweryfikować ten odbiór za pomocą numeru referencyjnego %s ? +ConfirmCancelReception=Czy na pewno chcesz anulować to przyjęcie? +StatsOnReceptionsOnlyValidated=Statystyki przeprowadzone tylko na przyjęciach zostały potwierdzone. Użyta data to data potwierdzenia odbioru (nie zawsze znana jest planowana data dostawy). +SendReceptionByEMail=Wyślij odbiór e-mailem +SendReceptionRef=Przesłanie odbioru %s +ActionsOnReception=Wydarzenia w recepcji +ReceptionCreationIsDoneFromOrder=Na razie tworzenie nowego odbioru odbywa się z karty zamówienia. +ReceptionLine=Linia odbioru +ProductQtyInReceptionAlreadySent=Ilość produktu z otwartego zamówienia sprzedaży już wysłanego +ProductQtyInSuppliersReceptionAlreadyRecevied=Ilość produktu z otwartego zamówienia dostawcy już otrzymana +ValidateOrderFirstBeforeReception=Musisz najpierw potwierdzić zamówienie, zanim będziesz mógł robić przyjęcia. +ReceptionsNumberingModules=Moduł numeracji przyjęć +ReceptionsReceiptModel=Wzory dokumentów do przyjęć +NoMorePredefinedProductToDispatch=Nigdy więcej gotowych produktów do wysyłki +ReceptionExist=Recepcja istnieje diff --git a/htdocs/langs/pl_PL/recruitment.lang b/htdocs/langs/pl_PL/recruitment.lang index 3dedf38eb1d..1c25f2f2a98 100644 --- a/htdocs/langs/pl_PL/recruitment.lang +++ b/htdocs/langs/pl_PL/recruitment.lang @@ -72,5 +72,5 @@ YourCandidatureAnswerMessage=Dziękuję za zgłoszenie.
    ... JobClosedTextCandidateFound=Stanowisko jest zamknięte. Stanowisko zostało obsadzone. JobClosedTextCanceled=Stanowisko jest zamknięte. ExtrafieldsJobPosition=Atrybuty uzupełniające (stanowiska pracy) -ExtrafieldsApplication=Complementary attributes (job applications) +ExtrafieldsApplication=Atrybuty uzupełniające (np. podania o pracę) MakeOffer=Złożyć ofertę diff --git a/htdocs/langs/pl_PL/salaries.lang b/htdocs/langs/pl_PL/salaries.lang index 977baae0642..fe9b8e54360 100644 --- a/htdocs/langs/pl_PL/salaries.lang +++ b/htdocs/langs/pl_PL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Konto rachunkowe użyte dla użytkownika kontrahentów SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Dedykowane konto księgowe zdefiniowane na karcie użytkownika będzie używane wyłącznie do księgowania Subledger. Ten zostanie użyty w General Ledger i jako wartość domyślna księgowania Subledger, jeśli dedykowane konto rachunkowe użytkownika dla użytkownika nie zostanie zdefiniowane. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Domyślne konto rachunkowe dla płatności wynagrodzenia +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Domyślnie pozostaw pustą opcję „Automatycznie utwórz całkowitą płatność” podczas tworzenia wynagrodzenia Salary=Wypłata Salaries=Wypłaty -NewSalaryPayment=Nowa wypłata +NewSalary=Nowa pensja +NewSalaryPayment=Nowa karta wynagrodzeń AddSalaryPayment=Dodaj płatność wynagrodzenia SalaryPayment=Wypłata wynagrodzenia SalariesPayments=Wypłaty wynagordzeń +SalariesPaymentsOf=Wypłaty wynagrodzeń w wysokości %s ShowSalaryPayment=Pokaż wypłaty wynagrodzeń THM=Średnia stawka godzinowa TJM=Średnia stawka dzienna CurrentSalary=Aktualne wynagrodzenie -THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used -TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Ostatnie %s płatności wynagrodzeń -AllSalaries=Wszystkie płatności wynagrodzeń +THMDescription=Wartość ta może służyć do obliczenia kosztu czasu poświęconego na projekt wprowadzony przez użytkowników, jeśli używany jest projekt modułu +TJMDescription=Ta wartość ma obecnie charakter wyłącznie informacyjny i nie jest używana do żadnych obliczeń +LastSalaries=Najnowsze pensje %s +AllSalaries=Wszystkie pensje SalariesStatistics=Statystyki wynagrodzeń -# Export -SalariesAndPayments=Salaries and payments +SalariesAndPayments=Wynagrodzenia i płatności +ConfirmDeleteSalaryPayment=Czy chcesz usunąć tę wypłatę wynagrodzenia? diff --git a/htdocs/langs/pl_PL/sendings.lang b/htdocs/langs/pl_PL/sendings.lang index 0b019a76f32..c0bcde0f398 100644 --- a/htdocs/langs/pl_PL/sendings.lang +++ b/htdocs/langs/pl_PL/sendings.lang @@ -43,7 +43,7 @@ ConfirmValidateSending=Czy potwierdzić tą wysyłkę z numerem referencyjnym 0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(pusty) oznacza brak ostrzeżenia.
    0 można użyć do wywołania ostrzeżenia tylko, gdy zapasy są puste. PhysicalStock=Zapas fizyczny RealStock=Realny magazyn RealStockDesc=Fizyczne / rzeczywiste zapasy to stany znajdujące się obecnie w magazynach. RealStockWillAutomaticallyWhen=Rzeczywisty stan magazynowy zostanie zmodyfikowany zgodnie z tą zasadą (zdefiniowaną w module Magazyn): VirtualStock=Wirtualny zapas VirtualStockAtDate=Wirtualne zapasy na dzień -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished +VirtualStockAtDateDesc=Wirtualne zapasy dla sytuacji, gdy wszystkie oczekujące zamówienia, które mają zostać zrealizowane przed wybraną datą, zostaną zakończone VirtualStockDesc=Zapasy wirtualne to obliczone zapasy dostępne po zamknięciu wszystkich otwartych / oczekujących akcji (mających wpływ na zapasy) (otrzymane zamówienia zakupu, wysłane zamówienia sprzedaży, wyprodukowane zlecenia produkcyjne itp.) AtDate=W dniu IdWarehouse=Identyfikator magazynu @@ -147,7 +145,7 @@ Replenishments=Uzupełnienie NbOfProductBeforePeriod=Ilość produktów w magazynie% s przed wybrany okres (<% s) NbOfProductAfterPeriod=Ilość produktów w magazynie% s po wybraniu okres (>% s) MassMovement=Masowe przesunięcie -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=Wybierz magazyny źródłowy i docelowy, produkt i ilość, a następnie kliknij "%s". Po wykonaniu wszystkiego co wymagane kliknij ”%s”. RecordMovement=Transfer rekordu ReceivingForSameOrder=Wpływy do tego celu StockMovementRecorded=Przesunięcia zapasu zarejestrowane @@ -169,8 +167,8 @@ MovementTransferStock=Transferuj zapas artykułu %s do innego magazynu InventoryCodeShort=Kod Fv/ Przesunięcia NoPendingReceptionOnSupplierOrder=Brak oczekującego odbioru z powodu otwartego zamówienia ThisSerialAlreadyExistWithDifferentDate=Ten lot/numer seryjny (%s) już istnieje ale z inna data do wykorzystania lub sprzedania (znaleziono %s a wszedłeś w %s) -OpenAll=Otwórz dla wszystkich działań -OpenInternal=Otwórz tylko dla wewnętrznych działań +OpenAnyMovement=Otwarte (cały ruch) +OpenInternal=Otwarty (tylko ruch wewnętrzny) UseDispatchStatus=Użyj statusu wysyłki (Zatwierdź / Odrzuć) dla linii produktów podczas przyjmowania zamówienia OptionMULTIPRICESIsOn=Włączona jest opcja „kilka cen za segment”. Oznacza to, że produkt ma kilka cen sprzedaży, więc nie można obliczyć wartości sprzedaży ProductStockWarehouseCreated=Limit zapasu dla ostrzeżenia i pożądany optymalny zapas prawidłowo utworzony @@ -238,10 +236,10 @@ StockIsRequiredToChooseWhichLotToUse=Zapas jest wymagany, aby wybrać partię do ForceTo=Zmusić do AlwaysShowFullArbo=Wyświetlaj pełne drzewo magazynu w wyskakującym okienku linków do magazynu (Ostrzeżenie: może to znacznie zmniejszyć wydajność) StockAtDatePastDesc=Możesz tutaj zobaczyć stan zapasów (stan rzeczywisty) w danym dniu w przeszłości -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +StockAtDateFutureDesc=Tutaj możesz zobaczyć stan (wirtualnych) zapasów na dany dzień w przyszłości CurrentStock=Aktualny stan InventoryRealQtyHelp=Ustaw wartość na 0, aby zresetować ilość
    Pozostaw pole puste lub usuń wiersz, aby zachować niezmienione -UpdateByScaning=Fill real qty by scaning +UpdateByScaning=Wypełnij prawdziwą ilość skanując UpdateByScaningProductBarcode=Zaktualizuj przez skanowanie (kod kreskowy produktu) UpdateByScaningLot=Aktualizacja przez skanowanie (lot | seryjny kod kreskowy) DisableStockChangeOfSubProduct=Dezaktywuj zmianę zapasów dla wszystkich podproduktów tego zestawu podczas tego ruchu. @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=wybierz plik ruchu zapasów do zaimportowania InfoTemplateImport=Przesłany plik musi mieć ten format (* pola obowiązkowe):
    Magazyn źródłowy * | Magazyn docelowy * | Produkt * | Ilość * | Numer partii / seryjny
    Separator znaków CSV musi mieć postać „ %s ” LabelOfInventoryMovemement=Zapasy %s ReOpen=Otworzyć na nowo -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +ConfirmFinish=Czy potwierdzasz zamknięcie inwentaryzacji? Spowoduje to wygenerowanie wszystkich ruchów zapasów, aby zaktualizować stan zapasów do rzeczywistej ilości wprowadzonej do zapasów. +ObjectNotFound=Nie znaleziono %s +MakeMovementsAndClose=Zainicjuj przemieszczenia zapasów i zamknij +AutofillWithExpected=Wypełnij rzeczywistą ilość ilością oczekiwaną +ShowAllBatchByDefault=Domyślnie wyświetlaj szczegóły partii na karcie „magazyn” produktu +CollapseBatchDetailHelp=Możesz ustawić domyślne wyświetlanie szczegółów partii w konfiguracji modułu zapasów +FieldCannotBeNegative=Pole „%s” nie może być ujemne +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/pl_PL/ticket.lang b/htdocs/langs/pl_PL/ticket.lang index 7d704f01740..ac569050603 100644 --- a/htdocs/langs/pl_PL/ticket.lang +++ b/htdocs/langs/pl_PL/ticket.lang @@ -34,15 +34,16 @@ TicketDictResolution=Bilet - rozwiązanie TicketTypeShortCOM=Pytanie handlowe TicketTypeShortHELP=Prośba o pomoc funkcjonalną -TicketTypeShortISSUE=Problem, błąd lub problem +TicketTypeShortISSUE=Problem lub błąd +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Prośba o zmianę lub ulepszenie TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Inne TicketSeverityShortLOW=Niski -TicketSeverityShortNORMAL=Normalna +TicketSeverityShortNORMAL=Normalny TicketSeverityShortHIGH=Wysoki -TicketSeverityShortBLOCKING=Krytyczne, blokujące +TicketSeverityShortBLOCKING=Krytyczny, blokujący ErrorBadEmailAddress=Pole „%s” jest nieprawidłowe MenuTicketMyAssign=Moje bilety @@ -54,22 +55,23 @@ TypeContact_ticket_internal_SUPPORTTEC=Przypisany użytkownik TypeContact_ticket_external_SUPPORTCLI=Kontakt z klientem / śledzenie incydentów TypeContact_ticket_external_CONTRIBUTOR=Współpracownik zewnętrzny -OriginEmail=Źródło wiadomości e-mail +OriginEmail=E-mail reportera Notify_TICKET_SENTBYMAIL=Wyślij wiadomość e-mail z biletem # Status Read=Czytać Assigned=Przydzielony InProgress=W trakcie -NeedMoreInformation=Czekam na informacje +NeedMoreInformation=Czekam na opinię reportera +NeedMoreInformationShort=Czekam na informację zwrotną Answered=Odpowiedział Waiting=Czekanie -Closed=Zamknięte +SolvedClosed=Solved Deleted=Usunięto # Dict Type=Typ -Severity=Surowość +Severity=Priorytet TicketGroupIsPublic=Grupa jest publiczna TicketGroupIsPublicDesc=Jeśli grupa biletów jest publiczna, będzie widoczna w formularzu podczas tworzenia biletu z poziomu interfejsu publicznego @@ -160,7 +162,7 @@ CreatedBy=Stworzone przez NewTicket=Nowy bilet SubjectAnswerToTicket=Odpowiedź na bilet TicketTypeRequest=Rodzaj żądania -TicketCategory=Grupa +TicketCategory=Kategoryzacja biletów SeeTicket=Zobacz bilet TicketMarkedAsRead=Bilet został oznaczony jako przeczytany TicketReadOn=Czytaj @@ -180,13 +182,15 @@ TicketMessagesList=Lista wiadomości NoMsgForThisTicket=Brak wiadomości dla tego biletu Properties=Klasyfikacja LatestNewTickets=Najnowsze %s Najnowsze bilety (nieprzeczytane) -TicketSeverity=Surowość +TicketSeverity=Priorytet ShowTicket=Zobacz bilet RelatedTickets=Powiązane bilety TicketAddIntervention=Tworzenie interwencji -CloseTicket=Zamknij bilet -CloseATicket=Zamknij bilet +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Potwierdź zamknięcie biletu +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Potwierdź usunięcie biletu TicketDeletedSuccess=Bilet został usunięty z powodzeniem TicketMarkedAsClosed=Bilet oznaczony jako zamknięty @@ -211,6 +215,7 @@ TicketMessageHelp=Tylko ten tekst zostanie zapisany na liście wiadomości na ka TicketMessageSubstitutionReplacedByGenericValues=Zmienne podstawienia są zastępowane wartościami ogólnymi. TimeElapsedSince=Czas, który upłynął od TicketTimeToRead=Upłynął czas przed przeczytaniem +TicketTimeElapsedBeforeSince=Czas, jaki upłynął przed / od TicketContacts=Bilet kontaktów TicketDocumentsLinked=Dokumenty powiązane z biletem ConfirmReOpenTicket=Potwierdzić ponowne otwarcie tego biletu? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Najnowsze zmodyfikowane bilety BoxLastModifiedTicketDescription=Najnowsze zmodyfikowane bilety %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Brak ostatnio zmodyfikowanych biletów -BoxTicketType=Liczba otwartych biletów według rodzaju +BoxTicketType=Dystrybucja biletów otwartych według rodzaju BoxTicketSeverity=Liczba otwartych zgłoszeń według ważności BoxNoTicketSeverity=Nie otwarto żadnych biletów BoxTicketLastXDays=Liczba nowych biletów według dni w ostatnich dniach %s diff --git a/htdocs/langs/pl_PL/trips.lang b/htdocs/langs/pl_PL/trips.lang index 99ed0e3b3eb..66796edb217 100644 --- a/htdocs/langs/pl_PL/trips.lang +++ b/htdocs/langs/pl_PL/trips.lang @@ -10,9 +10,9 @@ ListOfFees=Wykaz opłat TypeFees=Rodzaje opłat ShowTrip=Pokaż raport kosztowy NewTrip=Nowy raport kosztów -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports -CompanyVisited=Company/organization visited +LastExpenseReports=Najnowsze raporty wydatków %s +AllExpenseReports=Wszystkie raporty wydatków +CompanyVisited=Odwiedzona firma / organizacja FeesKilometersOrAmout=Kwota lub kilometry DeleteTrip=Usuń raport kosztów ConfirmDeleteTrip=Czy usunąć ten raport kosztów? @@ -21,19 +21,19 @@ ListToApprove=Czeka na zaakceptowanie ExpensesArea=Obszar raportów kosztowych ClassifyRefunded=Zakfalifikowano do refundacji. ExpenseReportWaitingForApproval=Nowy raport kosztów został wysłany do zakaceptowania -ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval -ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportApproved=An expense report was approved -ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s -ExpenseReportRefused=An expense report was refused -ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s -ExpenseReportCanceled=An expense report was canceled +ExpenseReportWaitingForApprovalMessage=Nowy raport z wydatków został przesłany i oczekuje na zatwierdzenie.
    - Użytkownik: %s
    - Okres: %s
    Kliknij tutaj, aby zweryfikować: %s +ExpenseReportWaitingForReApproval=Raport z wydatków został przesłany do ponownego zatwierdzenia +ExpenseReportWaitingForReApprovalMessage=Raport z wydatków został przesłany i oczekuje na ponowne zatwierdzenie.
    %s, odmówiłeś zatwierdzenia raportu z wydatków z tego powodu: %s.
    Zaproponowano nową wersję, która czeka na Twoją zgodę.
    - Użytkownik: %s
    - Okres: %s
    Kliknij tutaj, aby zweryfikować: %s +ExpenseReportApproved=Zatwierdzono raport wydatków +ExpenseReportApprovedMessage=Raport z wydatków %s został zatwierdzony.
    - Użytkownik: %s
    - Zatwierdzony przez: %s
    Kliknij tutaj, aby wyświetlić raport z wydatków: %s +ExpenseReportRefused=Odmówiono sporządzenia raportu z wydatków +ExpenseReportRefusedMessage=Raport z wydatków %s został odrzucony.
    - Użytkownik: %s
    - Odrzucony przez: %s
    - Motyw odmowy: %s
    Kliknij tutaj, aby wyświetlić raport z wydatków: %s +ExpenseReportCanceled=Raport wydatków został anulowany ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s -ExpenseReportPaid=An expense report was paid -ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s +ExpenseReportPaid=Zapłacono raport wydatków +ExpenseReportPaidMessage=Raport z wydatków %s został opłacony.
    - Użytkownik: %s
    - Płatne przez: %s
    Kliknij tutaj, aby wyświetlić raport z wydatków: %s TripId=ID raportu kosztowego -AnyOtherInThisListCanValidate=Osoba do informowania o jej potwierdzenie. +AnyOtherInThisListCanValidate=Osoba, która ma zostać poinformowana o zatwierdzeniu wniosku. TripSociete=Informacje o firmie TripNDF=Informacje raport z wydatków PDFStandardExpenseReports=Standardowy szablon do generowania dokumentu PDF dla raportu kosztowego @@ -49,32 +49,32 @@ TF_PEAGE=Myto TF_ESSENCE=Paliwo TF_HOTEL=Hotel TF_TAXI=Taxi -EX_KME=Mileage costs -EX_FUE=Fuel CV +EX_KME=Koszty przebiegu +EX_FUE=Paliwo CV EX_HOT=Hotel EX_PAR=Parking CV -EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast -EX_FUE_VP=Fuel PV +EX_TOL=Płatne CV +EX_TAX=Różne podatki +EX_IND=Subskrypcja odszkodowania za transport +EX_SUM=Zaopatrzenie w konserwację +EX_SUO=Artykuły biurowe +EX_CAR=Wypożyczalnia samochodów +EX_DOC=Dokumentacja +EX_CUR=Klienci otrzymujący +EX_OTR=Inne odbieranie +EX_POS=Opłata pocztowa +EX_CAM=Konserwacja i naprawa CV +EX_EMM=Posiłek dla pracowników +EX_GUM=Posiłek gości +EX_BRE=Śniadanie +EX_FUE_VP=Paliwo PV EX_TOL_VP=Toll PV EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair -DefaultCategoryCar=Default transportation mode -DefaultRangeNumber=Default range number -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' +EX_CAM_VP=Konserwacja i naprawa PV +DefaultCategoryCar=Domyślny środek transportu +DefaultRangeNumber=Domyślny numer zakresu +UploadANewFileNow=Prześlij teraz nowy dokument +Error_EXPENSEREPORT_ADDON_NotDefined=Błąd, reguła numeracji raportu z wydatków nie została zdefiniowana w konfiguracji modułu „Raport z wydatków” ErrorDoubleDeclaration=Masz oświadczył kolejny raport wydatków do podobnego zakresu dat. AucuneLigne=Nie ma jeszcze raportu wydatki deklarowane ModePaiement=Sposób płatności @@ -90,8 +90,7 @@ DATE_REFUS=Data odmowy DATE_SAVE=Data zatwierdzenia DATE_CANCEL=Data anulowania DATE_PAIEMENT=Data płatności -BROUILLONNER=Otworzyć na nowo -ExpenseReportRef=Ref. expense report +ExpenseReportRef=Nr ref. raport z wydatków ValidateAndSubmit=Zatwierdź i wyślij do zaakceptowania ValidatedWaitingApproval=Zatwierdzony (czeka na zaakceptowanie) NOT_AUTHOR=Nie jesteś autorem tego raportu kosztowego. Operacja anulowana. @@ -109,43 +108,43 @@ NoTripsToExportCSV=Brak raportu kosztowego to eksportowania za ten okres czasu. ExpenseReportPayment=Płatność Raport wydatek ExpenseReportsToApprove=Raporty kosztów do zaakceptowania ExpenseReportsToPay=Raporty kosztowe do zapłaty -ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index -ExpenseReportsRules=Expense report rules -ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers -ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report +ConfirmCloneExpenseReport=Czy na pewno chcesz sklonować ten raport z wydatków? +ExpenseReportsIk=Konfiguracja opłat za przebieg +ExpenseReportsRules=Zasady raportowania wydatków +ExpenseReportIkDesc=Możesz modyfikować obliczanie wydatków na kilometry według kategorii i zasięgu, które zostały wcześniej zdefiniowane. d to odległość w kilometrach +ExpenseReportRulesDesc=Możesz tworzyć lub aktualizować dowolne reguły obliczeń. Ta część będzie używana, gdy użytkownik utworzy nowy raport z wydatków expenseReportOffset=Offset -expenseReportCoef=Coefficient -expenseReportTotalForFive=Example with d = 5 -expenseReportRangeFromTo=from %d to %d -expenseReportRangeMoreThan=more than %d -expenseReportCoefUndefined=(value not defined) -expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary -expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay +expenseReportCoef=Współczynnik +expenseReportTotalForFive=Przykład z d = 5 +expenseReportRangeFromTo=od %d do %d +expenseReportRangeMoreThan=więcej niż %d +expenseReportCoefUndefined=(wartość nie została zdefiniowana) +expenseReportCatDisabled=Kategoria wyłączona - zobacz słownik c_exp_tax_cat +expenseReportRangeDisabled=Zakres wyłączony - zobacz słownictwo c_exp_tax_range expenseReportPrintExample=offset + (d x coef) = %s -ExpenseReportApplyTo=Apply to -ExpenseReportDomain=Domain to apply -ExpenseReportLimitOn=Limit on +ExpenseReportApplyTo=Zastosuj do +ExpenseReportDomain=Domena do zastosowania +ExpenseReportLimitOn=Limit na ExpenseReportDateStart=Data rozpoczęcia ExpenseReportDateEnd=Data zakończenia -ExpenseReportLimitAmount=Limite amount -ExpenseReportRestrictive=Restrictive -AllExpenseReport=All type of expense report -OnExpense=Expense line -ExpenseReportRuleSave=Expense report rule saved -ExpenseReportRuleErrorOnSave=Error: %s -RangeNum=Range %d -ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s -byEX_DAY=by day (limitation to %s) -byEX_MON=by month (limitation to %s) -byEX_YEA=by year (limitation to %s) -byEX_EXP=by line (limitation to %s) -ExpenseReportConstraintViolationWarning=Constraint violation id [%s]: %s is superior to %s %s -nolimitbyEX_DAY=by day (no limitation) -nolimitbyEX_MON=by month (no limitation) -nolimitbyEX_YEA=by year (no limitation) -nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car -ExpenseRangeOffset=Offset amount: %s -RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +ExpenseReportLimitAmount=Ograniczona kwota +ExpenseReportRestrictive=Ograniczający +AllExpenseReport=Wszystkie rodzaje raportów z wydatków +OnExpense=Linia wydatków +ExpenseReportRuleSave=Zapisano regułę raportu z wydatków +ExpenseReportRuleErrorOnSave=Błąd: %s +RangeNum=Zakres %d +ExpenseReportConstraintViolationError=Identyfikator naruszenia ograniczenia [%s]: %s jest lepszy od %s %s +byEX_DAY=według dnia (ograniczenie do %s) +byEX_MON=według miesiąca (ograniczenie do %s) +byEX_YEA=według roku (ograniczenie do %s) +byEX_EXP=według linii (ograniczenie do %s) +ExpenseReportConstraintViolationWarning=Identyfikator naruszenia ograniczenia [%s]: %s jest lepszy od %s %s +nolimitbyEX_DAY=w dzień (bez ograniczeń) +nolimitbyEX_MON=według miesiąca (bez ograniczeń) +nolimitbyEX_YEA=według roku (bez ograniczeń) +nolimitbyEX_EXP=według linii (bez ograniczeń) +CarCategory=Kategoria pojazdu +ExpenseRangeOffset=Kwota kompensacji: %s +RangeIk=Zakres przebiegu +AttachTheNewLineToTheDocument=Dołącz wiersz do przesłanego dokumentu diff --git a/htdocs/langs/pl_PL/users.lang b/htdocs/langs/pl_PL/users.lang index 680bd38b03e..1b279bb0802 100644 --- a/htdocs/langs/pl_PL/users.lang +++ b/htdocs/langs/pl_PL/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Hasło zmieniono na: %s SubjectNewPassword=Twoje nowe hasło dla %s GroupRights=Uprawnienia grupy UserRights=Uprawnienia użytkownika -Credentials=Credentials +Credentials=Poświadczenia UserGUISetup=Ustawienia Wyświetlacza Użytkownika DisableUser=Wyłączone DisableAUser=Wyłącz użytkownika @@ -97,7 +97,7 @@ LoginToCreate=Login do utworzenia NameToCreate=Nazwa kontrahenta do utworzenia YourRole=Twoje role YourQuotaOfUsersIsReached=Limitu aktywnych użytkowników został osiągnięty! -NbOfUsers=Ilość użytkowników +NbOfUsers=Liczba użytkowników NbOfPermissions=Liczba uprawnień DontDowngradeSuperAdmin=Tylko superadmin niższej wersji superadmin HierarchicalResponsible=Kierownik @@ -106,7 +106,7 @@ UseTypeFieldToChange=Użyj pola do zmiany Rodzaj OpenIDURL=Adres URL OpenID LoginUsingOpenID=Użyj do logowania OpenID WeeklyHours=Przepracowane godziny (w tygodniu) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Oczekiwana liczba godzin pracy w tygodniu ColorUser=Kolor użytkownika DisabledInMonoUserMode=Wyłączone w trybie konserwacji UserAccountancyCode=Kod księgowy użytkownika @@ -116,7 +116,7 @@ DateOfEmployment=Data zatrudnienia DateEmployment=Zatrudnienie DateEmploymentstart=Data rozpoczęcia zatrudnienia DateEmploymentEnd=Data zakończenia zatrudnienia -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Dostęp do zakresu dat ważności CantDisableYourself=Nie możesz wyłączyć własnego rekordu użytkownika ForceUserExpenseValidator=Wymuś walidator raportu z wydatków ForceUserHolidayValidator=Wymuś walidator prośby o opuszczenie diff --git a/htdocs/langs/pl_PL/website.lang b/htdocs/langs/pl_PL/website.lang index 7548613224f..e2741fb1e0b 100644 --- a/htdocs/langs/pl_PL/website.lang +++ b/htdocs/langs/pl_PL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Dodaj witrynę Webpage=Strona/pojemnik AddPage=Dodaj stronę PageContainer=Strona -PreviewOfSiteNotYetAvailable=Podgląd Twej witryny %s nie jest jeszcze dostępny. Użyj wpierw 'Załaduj szablon witryny' lub 'Dodaj stronę/pojemnik'. +PreviewOfSiteNotYetAvailable=Podgląd Twojej witryny %s nie jest jeszcze dostępny. Musisz najpierw ' Zaimportuj pełny szablon witryny ' lub po prostu ' Dodaj stronę/kontener '. RequestedPageHasNoContentYet=Żądana strona o identyfikatorze %s nie ma jeszcze treści lub plik pamięci podręcznej .tpl.php został usunięty. Edytuj zawartość strony, aby to rozwiązać. SiteDeleted=Witryna '%s' usunięta PageContent=Strona/pojemnik @@ -140,8 +140,8 @@ DefineListOfAltLanguagesInWebsiteProperties=Zdefiniuj listę wszystkich dostępn GenerateSitemaps=Wygeneruj plik mapy witryny internetowej ConfirmGenerateSitemaps=Jeśli potwierdzisz, usuniesz istniejący plik mapy witryny ... ConfirmSitemapsCreation=Potwierdź wygenerowanie mapy witryny -SitemapGenerated=Sitemap file %s generated +SitemapGenerated=Wygenerowano plik mapy witryny %s ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +ErrorFaviconType=Favicon musi być w formacie PNG +ErrorFaviconSize=Favicon musi mieć rozmiar 16x16, 32x32 lub 64x64 +FaviconTooltip=Prześlij obraz, który musi być w formacie PNG (16x16, 32x32 lub 64x64) diff --git a/htdocs/langs/pl_PL/withdrawals.lang b/htdocs/langs/pl_PL/withdrawals.lang index 4d30e8d9c2e..061fa901fa4 100644 --- a/htdocs/langs/pl_PL/withdrawals.lang +++ b/htdocs/langs/pl_PL/withdrawals.lang @@ -1,50 +1,51 @@ # Dolibarr language file - Source file is en_US - withdrawals -CustomersStandingOrdersArea=Payments by Direct debit orders -SuppliersStandingOrdersArea=Payments by Credit transfer -StandingOrdersPayment=Direct debit payment orders -StandingOrderPayment=Direct debit payment order -NewStandingOrder=New direct debit order -NewPaymentByBankTransfer=New payment by credit transfer +CustomersStandingOrdersArea=Płatności poleceniami zapłaty +SuppliersStandingOrdersArea=Płatności przelewem +StandingOrdersPayment=Polecenia zapłaty +StandingOrderPayment=Polecenie zapłaty +NewStandingOrder=Nowe polecenie zapłaty +NewPaymentByBankTransfer=Nowa płatność przelewem StandingOrderToProcess=Do procesu -PaymentByBankTransferReceipts=Credit transfer orders -PaymentByBankTransferLines=Credit transfer order lines -WithdrawalsReceipts=Direct debit orders +PaymentByBankTransferReceipts=Polecenia przelewu +PaymentByBankTransferLines=Wiersze polecenia przelewu +WithdrawalsReceipts=Polecenia zapłaty WithdrawalReceipt=Zamówienie polecenia zapłaty -BankTransferReceipts=Credit transfer orders -BankTransferReceipt=Credit transfer order -LatestBankTransferReceipts=Latest %s credit transfer orders -LastWithdrawalReceipts=Latest %s direct debit files -WithdrawalsLine=Direct debit order line -CreditTransferLine=Credit transfer line -WithdrawalsLines=Direct debit order lines -CreditTransferLines=Credit transfer lines -RequestStandingOrderToTreat=Requests for direct debit payment order to process -RequestStandingOrderTreated=Requests for direct debit payment order processed -RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process -RequestPaymentsByBankTransferTreated=Requests for credit transfer processed +BankTransferReceipts=Polecenia przelewu +BankTransferReceipt=Polecenie przelewu +LatestBankTransferReceipts=Najnowsze polecenia przelewu %s +LastWithdrawalReceipts=Najnowsze pliki poleceń zapłaty %s +WithdrawalsLine=Wiersz polecenia zapłaty +CreditTransferLine=Linia polecenia przelewu +WithdrawalsLines=Wiersze polecenia zapłaty +CreditTransferLines=Linie polecenia przelewu +RequestStandingOrderToTreat=Żądania zapłaty polecenia zapłaty do przetworzenia +RequestStandingOrderTreated=Przetworzono wnioski o polecenie zapłaty za polecenie zapłaty +RequestPaymentsByBankTransferToTreat=Żądania polecenia przelewu do przetworzenia +RequestPaymentsByBankTransferTreated=Przetworzono wnioski o polecenie przelewu NotPossibleForThisStatusOfWithdrawReceiptORLine=Jeszcze nie możliwe. Wycofaj stan musi być ustawiony na "dobro", zanim uzna odrzucić na konkretnych liniach. -NbOfInvoiceToWithdraw=No. of qualified customer invoices with waiting direct debit order -NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information -NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer -SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer -InvoiceWaitingWithdraw=Invoice waiting for direct debit -InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer +NbOfInvoiceToWithdraw=Liczba kwalifikujących się faktur dla klientów z oczekującym poleceniem zapłaty +NbOfInvoiceToWithdrawWithInfo=Liczba faktur klienta z poleceniami zapłaty za pomocą polecenia zapłaty, które zawierają zdefiniowane informacje o koncie bankowym +NbOfInvoiceToPayByBankTransfer=Liczba zakwalifikowanych faktur dostawcy oczekujących na płatność poleceniem przelewu +SupplierInvoiceWaitingWithdraw=Faktura dostawcy czeka na płatność przelewem +InvoiceWaitingWithdraw=Faktura oczekująca na polecenie zapłaty +InvoiceWaitingPaymentByBankTransfer=Faktura oczekująca na przelew AmountToWithdraw=Kwota do wycofania -NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoice card to make a request. -NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. -ResponsibleUser=User Responsible -WithdrawalsSetup=Direct debit payment setup -CreditTransferSetup=Credit transfer setup -WithdrawStatistics=Direct debit payment statistics -CreditTransferStatistics=Credit transfer statistics +NoInvoiceToWithdraw=Brak otwartej faktury dla „%s” nie oczekuje. Przejdź do zakładki „%s” na karcie faktury, aby złożyć wniosek. +NoSupplierInvoiceToWithdraw=Żadna faktura dostawcy z otwartymi „Bezpośrednimi wnioskami o kredyt” nie oczekuje. Przejdź do zakładki „%s” na karcie faktury, aby złożyć wniosek. +ResponsibleUser=Odpowiedzialność użytkownika +WithdrawalsSetup=Konfiguracja płatności poleceniem zapłaty +CreditTransferSetup=Konfiguracja polecenia przelewu +WithdrawStatistics=Statystyki płatności poleceniem zapłaty +CreditTransferStatistics=Statystyka poleceń przelewu Rejects=Odrzucone -LastWithdrawalReceipt=Latest %s direct debit receipts -MakeWithdrawRequest=Make a direct debit payment request -MakeBankTransferOrder=Make a credit transfer request -WithdrawRequestsDone=%s direct debit payment requests recorded -BankTransferRequestsDone=%s credit transfer requests recorded -ThirdPartyBankCode=Third-party bank code -NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +LastWithdrawalReceipt=Najnowsze potwierdzenia %s polecenia zapłaty +MakeWithdrawRequest=Złóż wniosek o płatność za pomocą polecenia zapłaty +MakeBankTransferOrder=Złóż wniosek o przelew +WithdrawRequestsDone=Zarejestrowano %s polecenia zapłaty za polecenie zapłaty +BankTransferRequestsDone=%s odnotowano żądania przelewu +ThirdPartyBankCode=Kod banku zewnętrznego +NoInvoiceCouldBeWithdrawed=Żadna faktura nie została pobrana pomyślnie. Sprawdź, czy faktury dotyczą firm z prawidłowym IBAN i czy IBAN ma UMR (Unique Mandate Reference) w trybie %s . +WithdrawalCantBeCreditedTwice=To potwierdzenie wypłaty jest już oznaczone jako zaksięgowane; nie można tego zrobić dwa razy, ponieważ mogłoby to potencjalnie spowodować zduplikowane płatności i wpisy bankowe. ClassCredited=Klasyfikacja zapisane ClassCreditedConfirm=Czy na pewno chcesz to wycofanie otrzymania sklasyfikowania jako wpłacone na konto bankowe? TransData=Data Transmission @@ -52,101 +53,100 @@ TransMetod=Tryb transmisji Send=Wysłać Lines=Linie StandingOrderReject=Problem odrzucenia -WithdrawsRefused=Direct debit refused +WithdrawsRefused=Odmowa polecenia zapłaty WithdrawalRefused=Wypłaty Refuseds -CreditTransfersRefused=Credit transfers refused +CreditTransfersRefused=Polecenia przelewu odrzucone WithdrawalRefusedConfirm=Czy na pewno chcesz wprowadzić odrzucenie wycofania dla społeczeństwa RefusedData=Od odrzucenia RefusedReason=Powodem odrzucenia RefusedInvoicing=Rozliczeniowych odrzucenia NoInvoiceRefused=Nie za odrzucenie InvoiceRefused=Faktura odmówił (Naładuj odrzucenie do klienta) -StatusDebitCredit=Status debit/credit +StatusDebitCredit=Status debetowy / kredytowy StatusWaiting=Czekanie StatusTrans=Przekazywane -StatusDebited=Debited +StatusDebited=Obciążony StatusCredited=Dobro StatusPaid=Płatność StatusRefused=Odmówił StatusMotif0=Nieokreślone StatusMotif1=Przepis insuffisante StatusMotif2=conteste liqueur -StatusMotif3=No direct debit payment order -StatusMotif4=Sales Order +StatusMotif3=Brak polecenia zapłaty za pomocą polecenia zapłaty +StatusMotif4=Zamówienie StatusMotif5=RIB inexploitable StatusMotif6=Salda rachunku bez StatusMotif7=Orzeczenia sądowego StatusMotif8=Inny powód -CreateForSepaFRST=Create direct debit file (SEPA FRST) -CreateForSepaRCUR=Create direct debit file (SEPA RCUR) -CreateAll=Create direct debit file (all) -CreateFileForPaymentByBankTransfer=Create file for credit transfer -CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) +CreateForSepaFRST=Utwórz plik polecenia zapłaty (SEPA FRST) +CreateForSepaRCUR=Utwórz plik polecenia zapłaty (SEPA RCUR) +CreateAll=Utwórz plik polecenia zapłaty (wszystkie) +CreateFileForPaymentByBankTransfer=Utwórz plik do przelewu +CreateSepaFileForPaymentByBankTransfer=Utwórz plik polecenia przelewu (SEPA) CreateGuichet=Tylko biuro CreateBanque=Tylko bank OrderWaiting=Oczekiwania na leczenie -NotifyTransmision=Record file transmission of order -NotifyCredit=Record credit of order +NotifyTransmision=Nagraj transmisję pliku zamówienia +NotifyCredit=Rekord zamówienia NumeroNationalEmetter=Krajowy numer nadajnika WithBankUsingRIB=Na rachunkach bankowych z wykorzystaniem RIB WithBankUsingBANBIC=Na rachunkach bankowych z wykorzystaniem IBAN / BIC / SWIFT -BankToReceiveWithdraw=Receiving Bank Account -BankToPayCreditTransfer=Bank Account used as source of payments +BankToReceiveWithdraw=Otrzymywanie konta bankowego +BankToPayCreditTransfer=Konto bankowe używane jako źródło płatności CreditDate=Kredyt na WithdrawalFileNotCapable=Nie można wygenerować plik paragon wycofania dla danego kraju:% s (Twój kraj nie jest obsługiwany) -ShowWithdraw=Show Direct Debit Order -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -WithdrawalFile=Debit order file -CreditTransferFile=Credit transfer file +ShowWithdraw=Pokaż polecenie zapłaty +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Jeśli jednak faktura zawiera co najmniej jedno polecenie zapłaty, które nie zostało jeszcze przetworzone, nie zostanie ono ustawione jako zapłacone, aby umożliwić wcześniejsze zarządzanie wypłatą. +DoStandingOrdersBeforePayments=Ta zakładka umożliwia zażądanie polecenia zapłaty za polecenie zapłaty. Po zakończeniu przejdź do menu Bank-> Płatność poleceniem zapłaty, aby wygenerować polecenie zapłaty i zarządzać nim. Kiedy polecenie zapłaty zostanie zamknięte, płatność za faktury zostanie automatycznie zarejestrowana, a faktury zostaną zamknięte, jeśli pozostała do zapłaty kwota jest zerowa. +DoCreditTransferBeforePayments=Ta zakładka umożliwia złożenie wniosku o polecenie przelewu. Po zakończeniu przejdź do menu Bank-> Płatność przelewem, aby wygenerować i zarządzać poleceniem przelewu. Kiedy polecenie przelewu zostanie zamknięte, płatność za faktury zostanie automatycznie zarejestrowana, a faktury zostaną zamknięte, jeśli pozostała do zapłaty kwota jest zerowa. +WithdrawalFile=Plik polecenia zapłaty +CreditTransferFile=Plik polecenia przelewu SetToStatusSent=Ustaw status "Plik Wysłane" -ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null +ThisWillAlsoAddPaymentOnInvoice=Spowoduje to również odnotowanie płatności na fakturach i zaklasyfikowanie ich jako „Zapłacone”, jeśli pozostały do zapłaty jest zerowy StatisticsByLineStatus=Statystyki według stanu linii RUM=RUM -DateRUM=Mandate signature date -RUMLong=Unique Mandate Reference -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) -WithdrawRequestAmount=Amount of Direct debit request: -BankTransferAmount=Amount of Credit Transfer request: -WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount. -SepaMandate=SEPA Direct Debit Mandate -SepaMandateShort=SEPA Mandate -PleaseReturnMandate=Please return this mandate form by email to %s or by mail to -SEPALegalText=By signing this mandate form, you authorize (A) %s to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from %s. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights regarding the above mandate are explained in a statement that you can obtain from your bank. -CreditorIdentifier=Creditor Identifier -CreditorName=Creditor Name -SEPAFillForm=(B) Please complete all the fields marked * +DateRUM=Data podpisania mandatu +RUMLong=Unikalne odniesienie do upoważnienia +RUMWillBeGenerated=Jeśli puste, UMR (unikalny numer mandatu) zostanie wygenerowany po zapisaniu informacji o koncie bankowym. +WithdrawMode=Tryb polecenia zapłaty (FRST lub RECUR) +WithdrawRequestAmount=Kwota polecenia zapłaty: +BankTransferAmount=Kwota polecenia przelewu: +WithdrawRequestErrorNilAmount=Nie można utworzyć polecenia zapłaty dla pustej kwoty. +SepaMandate=Upoważnienie do polecenia zapłaty SEPA +SepaMandateShort=Mandat SEPA +PleaseReturnMandate=Prosimy o przesłanie tego formularza upoważnienia pocztą elektroniczną na adres %s lub pocztą na adres +SEPALegalText=Podpisując ten formularz upoważnienia, upoważniasz (A) %s do wysyłania instrukcji do Twojego banku w celu obciążenia Twojego rachunku oraz (B) do Twojego banku do obciążania Twojego rachunku zgodnie z instrukcjami podanymi w %s. W ramach swoich praw masz prawo do zwrotu pieniędzy z banku zgodnie z warunkami umowy z bankiem. O zwrot kosztów należy ubiegać się w ciągu 8 tygodni od daty obciążenia konta. Twoje prawa związane z powyższym upoważnieniem są wyjaśnione w oświadczeniu, które możesz uzyskać od swojego banku. +CreditorIdentifier=Identyfikator wierzyciela +CreditorName=Nazwa wierzyciela +SEPAFillForm=(B) Proszę wypełnić wszystkie pola zaznaczone * SEPAFormYourName=Twoje imię -SEPAFormYourBAN=Your Bank Account Name (IBAN) -SEPAFormYourBIC=Your Bank Identifier Code (BIC) +SEPAFormYourBAN=Nazwa Twojego konta bankowego (IBAN) +SEPAFormYourBIC=Twój kod identyfikacyjny banku (BIC) SEPAFrstOrRecur=Rodzaj płatności -ModeRECUR=Recurring payment -ModeFRST=One-off payment +ModeRECUR=Powtarzające się płatności +ModeFRST=Płatność jednorazowa PleaseCheckOne=Proszę wybierz tylko jedną -CreditTransferOrderCreated=Credit transfer order %s created -DirectDebitOrderCreated=Direct debit order %s created +CreditTransferOrderCreated=Utworzono polecenie przelewu %s +DirectDebitOrderCreated=Utworzono polecenie zapłaty %s AmountRequested=Żądana kwota SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST -ExecutionDate=Execution date -CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer -END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction -USTRD="Unstructured" SEPA XML tag -ADDDAYS=Add days to Execution Date -NoDefaultIBANFound=No default IBAN found for this third party +ExecutionDate=Data wykonania +CreateForSepa=Utwórz plik polecenia zapłaty +ICS=Creditor Identifier - ICS +END_TO_END=Znacznik XML SEPA „EndToEndId” - Unikalny identyfikator przypisany do każdej transakcji +USTRD=„Niestrukturalny” tag XML SEPA +ADDDAYS=Dodaj dni do daty wykonania +NoDefaultIBANFound=Nie znaleziono domyślnego numeru IBAN dla tej strony trzeciej ### Notifications -InfoCreditSubject=Payment of direct debit payment order %s by the bank -InfoCreditMessage=The direct debit payment order %s has been paid by the bank
    Data of payment: %s -InfoTransSubject=Transmission of direct debit payment order %s to bank -InfoTransMessage=The direct debit payment order %s has been sent to bank by %s %s.

    +InfoCreditSubject=Wypłata polecenia zapłaty %s przez bank +InfoCreditMessage=Polecenie zapłaty %s zostało opłacone przez bank
    Dane do płatności: %s +InfoTransSubject=Przekazanie polecenia zapłaty %s do banku +InfoTransMessage=Polecenie zapłaty %s zostało wysłane do banku przez %s %s.

    InfoTransData=Kwota: %s
    Metode: %s
    Data: %s -InfoRejectSubject=Direct debit payment order refused -InfoRejectMessage=Hello,

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

    --
    %s +InfoRejectSubject=Polecenie zapłaty odrzucone +InfoRejectMessage=Witam,

    polecenie zapłaty za polecenie zapłaty faktury %s związanej z firmą %s, na kwotę %s zostało odrzucone przez bank.

    -
    %s ModeWarning=Opcja dla trybu rzeczywistego nie był ustawiony, zatrzymujemy po tej symulacji -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorCompanyHasDuplicateDefaultBAN=Firma o identyfikatorze %s ma więcej niż jedno domyślne konto bankowe. Nie ma sposobu, aby wiedzieć, którego użyć. +ErrorICSmissing=Brak ICS na koncie bankowym %s +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Całkowita kwota polecenia zapłaty różni się od sumy wierszy diff --git a/htdocs/langs/pl_PL/workflow.lang b/htdocs/langs/pl_PL/workflow.lang index 2fe7a50b80e..7345b3c336f 100644 --- a/htdocs/langs/pl_PL/workflow.lang +++ b/htdocs/langs/pl_PL/workflow.lang @@ -1,25 +1,26 @@ # Dolibarr language file - Source file is en_US - workflow WorkflowSetup=Konfiguracja modułu przepływu pracy -WorkflowDesc=This module provides some automatic actions. By default, the workflow is open (you can do things in the order you want) but here you can activate some automatic actions. +WorkflowDesc=Ten moduł zapewnia pewne automatyczne akcje. Domyślnie przepływ pracy jest otwarty (możesz robić rzeczy w dowolnej kolejności), ale tutaj możesz aktywować niektóre automatyczne akcje. ThereIsNoWorkflowToModify=Nie ma zmiany workflow dostępne z aktywnych modułów. # Autocreate -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a sales order after a commercial proposal is signed (the new order will have same amount as the proposal) -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatically create a customer invoice after a commercial proposal is signed (the new invoice will have same amount as the proposal) +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatyczne tworzenie zamówienia sprzedaży po podpisaniu oferty handlowej (nowe zamówienie będzie miało taką samą kwotę jak oferta) +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatycznie twórz fakturę dla klienta po podpisaniu oferty handlowej (nowa faktura będzie miała taką samą kwotę jak oferta) descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Automatycznie stwórz fakturę dla klienta po zatwierdzeniu kontraktu -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice after a sales order is closed (the new invoice will have same amount as the order) +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatycznie twórz fakturę dla klienta po zamknięciu zamówienia sprzedaży (nowa faktura będzie miała taką samą kwotę jak zamówienie) # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when sales order is set to billed (and if the amount of the order is the same as the total amount of the signed linked proposal) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the signed linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Sklasyfikuj połączoną ofertę źródłową jako rozliczoną, gdy zamówienie sprzedaży jest ustawione na fakturowane (i jeśli kwota zamówienia jest taka sama, jak łączna kwota podpisanej połączonej oferty pakietowej) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Sklasyfikuj połączoną ofertę źródłową jako rozliczoną, gdy faktura odbiorcy zostanie zweryfikowana (i jeśli kwota faktury jest taka sama, jak łączna kwota podpisanej połączonej oferty) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Sklasyfikuj połączone zamówienie sprzedaży jako fakturowane, gdy faktura odbiorcy zostanie zweryfikowana (i jeśli kwota faktury jest taka sama, jak łączna kwota połączonego zamówienia) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Sklasyfikuj połączone źródłowe zamówienie sprzedaży jako fakturowane, gdy faktura odbiorcy jest ustawiona na zapłaconą (i jeśli kwota faktury jest taka sama, jak całkowita kwota połączonego zamówienia) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Sklasyfikuj zamówienie sprzedaży z połączonego źródła jako wysłane, gdy przesyłka zostanie zweryfikowana (i jeśli ilość wysłana we wszystkich wysyłkach jest taka sama, jak w zamówieniu do aktualizacji) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order -descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_BILL_ON_RECEPTION=Classify receptions to "billed" when a linked supplier order is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Klasyfikuj ofertę dostawcy połączonego źródła jako fakturowaną, gdy faktura od dostawcy jest weryfikowana (i jeśli kwota faktury jest taka sama, jak łączna kwota połączonej oferty) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Sklasyfikuj zamówienie zakupu z połączonego źródła jako fakturowane, gdy faktura dostawcy zostanie zweryfikowana (i jeśli kwota faktury jest taka sama, jak całkowita kwota połączonego zamówienia) +descWORKFLOW_BILL_ON_RECEPTION=Klasyfikuj przyjęcia jako „zafakturowane” po zweryfikowaniu zamówienia połączonego dostawcy # Autoclose intervention -descWORKFLOW_TICKET_CLOSE_INTERVENTION=Close all interventions linked to the ticket when a ticket is closed +descWORKFLOW_TICKET_CLOSE_INTERVENTION=Zamknij wszystkie interwencje związane z biletem, gdy bilet jest zamknięty AutomaticCreation=Automatyczne utworzenie AutomaticClassification=Automatyczne zaklasyfikowanie # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Sklasyfikuj przesyłkę połączonego źródła jako zamkniętą, gdy faktura odbiorcy jest weryfikowana diff --git a/htdocs/langs/pt_AO/cron.lang b/htdocs/langs/pt_AO/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/pt_AO/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/pt_AO/mrp.lang b/htdocs/langs/pt_AO/mrp.lang deleted file mode 100644 index e65383ffd8f..00000000000 --- a/htdocs/langs/pt_AO/mrp.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -NewBOM=New bill of material diff --git a/htdocs/langs/pt_BR/accountancy.lang b/htdocs/langs/pt_BR/accountancy.lang index 27f15f2e164..09c91be99de 100644 --- a/htdocs/langs/pt_BR/accountancy.lang +++ b/htdocs/langs/pt_BR/accountancy.lang @@ -100,7 +100,6 @@ ACCOUNTING_LENGTH_GACCOUNT=Comprimento das contas de contabilidade geral (se o v ACCOUNTING_LENGTH_AACCOUNT=Comprimento das contas de contabilidade de terceiros (se você definir o valor para 6 aqui, a conta "401" aparecerá como '401000' na tela) ACCOUNTING_MANAGE_ZERO=Permitir gerenciar diferentes números de zeros no final de uma conta contábil. Necessário para alguns países (como a Suíça). Se definido como desativado (padrão), você pode definir os dois parâmetros a seguir para solicitar que o aplicativo adicione zeros virtuais. BANK_DISABLE_DIRECT_INPUT=Desabilitar o registro direto da transação na conta bancária -ACCOUNTANCY_COMBO_FOR_AUX=Ativar lista de combinação para conta subsidiária (pode ser lenta se você tiver muitos terceiros) ACCOUNTING_SELL_JOURNAL=Diário de Vendas ACCOUNTING_PURCHASE_JOURNAL=Diário de Compras ACCOUNTING_MISCELLANEOUS_JOURNAL=Diário diversos @@ -148,9 +147,7 @@ DescThirdPartyReport=Consulte aqui a lista de clientes e fornecedores de terceir ListAccounts=Lista das contas contábeis UnknownAccountForThirdparty=Conta de terceiros desconhecida. Nós usaremos %s UnknownAccountForThirdpartyBlocking=Conta de terceiros desconhecida. Erro de bloqueio -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Conta de terceiro não definida ou terceiro desconhecido. Nós vamos usar %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Terceiros desconhecido e subconta não definida no pagamento. Manteremos o valor da conta do subconjunto vazio. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Conta de terceiros não definida ou desconhecida de terceiros. Erro de bloqueio. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Conta de terceiros desconhecida e conta em espera não definida. Erro de bloqueio OpeningBalance=Saldo inicial ShowOpeningBalance=Mostrar saldo inicial @@ -161,6 +158,7 @@ Reconcilable=Reconciliável TotalVente=Volume total negociado sem Impostos TotalMarge=Margem de vendas totais DescVentilCustomer=Consulte aqui a lista linhas de pedidos de clientes vinculadas (ou não) a uma conta contábil de produto +DescVentilMore=Na maioria dos casos, se você usar produtos ou serviços predefinidos e definir o número da conta no cartão de produto / serviço, o aplicativo poderá fazer toda a ligação entre suas linhas de fatura e a conta contábil de seu plano de contas, apenas em um clique com o botão "%s" . Se a conta não foi definida em cartões de produtos / serviços ou se você ainda tiver algumas linhas não vinculadas a uma conta, será necessário fazer uma ligação manual no menu " %s ". DescVentilDoneCustomer=Consulte aqui a lista com as linhas das faturas dos clientes e a conta da Contabilidade dos seus produtos DescVentilTodoCustomer=Linhas da fatura ainda não vinculadas à conta da Contabilidade do produto ChangeAccount=Mudar a conta da Contabilidade do produto/serviço para as linhas selecionadas com a seguinte conta da Contabilidade @@ -168,6 +166,7 @@ DescVentilSupplier=Consulte aqui a lista de linhas de fatura de fornecedor vincu DescVentilDoneSupplier=Consulte aqui a lista das linhas de faturas de fornecedores e sua conta contábil DescVentilTodoExpenseReport=Relatórios de linhas de despesas de ligação já não estão vinculadas com uma conta contábil com taxa DescVentilExpenseReport=Consulte aqui a lista de relatório de linhas de despesas vinculadas (ou não) a uma conta contábil com taxa +DescVentilExpenseReportMore=Se você configurar uma conta contábil no tipo de linhas de relatório de despesas, o aplicativo poderá fazer toda a ligação entre suas linhas de relatório de despesas e a conta contábil do seu plano de contas, em apenas um clique com o botão "%s" . Se a conta não foi definida no dicionário de taxas ou se você ainda tiver algumas linhas não vinculadas a nenhuma conta, será necessário fazer uma ligação manual no menu " %s ". DescVentilDoneExpenseReport=Consulte aqui a lista dos relatórios de linha de despesas e sua conta contábil de taxas DescClosure=Consulte aqui o número de movimentos por mês que não são validados e os exercícios já abertos OverviewOfMovementsNotValidated=Etapa 1 / Visão geral dos movimentos não validados. (Necessário para fechar um ano fiscal) @@ -198,7 +197,6 @@ Selectmodelcsv=Escolha um modelo de exportação Modelcsv_CEGID=Exportar para CEGID Expert Comptable Modelcsv_COALA=Exportação para Sage Coala Modelcsv_bob50=Exportação para Sage BOB 50 -Modelcsv_ciel=Exportação para Sage Ciel Compta ou Compta Evolution Modelcsv_quadratus=Exportação para Quadratus QuadraCompta Modelcsv_ebp=Exportar para EBP Modelcsv_cogilog=Exportar para Cogilog diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 90187accd2c..5278c86bced 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -70,7 +70,6 @@ DisableJavascriptNote=Obs.: Para propósitos de teste ou depuração. Para otimi UseSearchToSelectCompanyTooltip=Além disso, se você tem um grande número de terceiros (> 100 000), você pode aumentar a velocidade, definindo COMPANY_DONOTSEARCH_ANYWHERE constante a 1 em Setup-> Outro. Busca, então, ser limitada até o início da string. UseSearchToSelectContactTooltip=Além disso, se você tem um grande número de terceiros (> 100 000), você pode aumentar a velocidade, definindo CONTACT_DONOTSEARCH_ANYWHERE constante a 1 em Setup-> Outro. Busca, então, ser limitada até o início da string. DelaiedFullListToSelectContact=Aguarde até que uma tecla seja pressionada antes de carregar o conteúdo da lista de combinação de contatos.
    Isso pode aumentar o desempenho se você tiver um grande número de contatos, mas é menos conveniente. -NumberOfBytes=Número de Bytes SearchString=Seqüência de pesquisa NotAvailableWhenAjaxDisabled=Indisponível quando o Ajax esta desativado AllowToSelectProjectFromOtherCompany=No documento de um terceiro, pode-se escolher um projeto conectado a outro terceiro @@ -108,7 +107,6 @@ CurrentValueSeparatorThousand=Separador de milhar IdModule=Módulo ID IdPermissions=Permissão ID LanguageBrowserParameter=Parâmetro de Linguagem %s -ClientTZ=Fuso Horário do cliente (usuário) ClientHour=Horário do Cliente (usuário) OSTZ=Fuso Horário do OS do Servidor PHPTZ=Fuso Horário do servidor PHP @@ -172,8 +170,11 @@ FeatureAvailableOnlyOnStable=Funcionalidade somente disponível em versões est OnlyActiveElementsAreShown=Somente elementos de módulos ativos são mostrado. ModulesDesc=Os módulos / aplicativos determinam quais recursos estão disponíveis no software. Alguns módulos exigem permissões a serem concedidas aos usuários após a ativação do módulo. Clique no botão liga / desliga %s de cada módulo para ativar ou desativar um módulo / aplicativo. ModulesMarketPlaceDesc=Você pode encontrar mais módulos para download em sites externos na Internet ... +ModulesDeployDesc=Se as permissões em seu sistema de arquivos permitirem, você poderá usar essa ferramenta para implantar um módulo externo. O módulo ficará visível na aba %s . ModulesMarketPlaces=Encontrar app/módulos externos ModulesDevelopYourModule=Desenvolver seus próprios app/módulos +ModulesDevelopDesc=Você também pode desenvolver seu próprio módulo ou encontrar um parceiro para desenvolver um para você. +DOLISTOREdescriptionLong=Em vez de ligar o site www.dolistore.com para encontrar um módulo externo, você pode usar essa ferramenta incorporada que fará a pesquisa no mercado externo para você (pode ser lento, precisa de um acesso à internet) ... FreeModule=Grátis NotCompatible=Este módulo não parece ser compatível com o seu Dolibarr %s (Mín %s - Máx %s). CompatibleAfterUpdate=Este módulo exige uma atualização do seu Dolibarr %s (Mín %s - Máx %s). @@ -194,6 +195,7 @@ AvailableOnlyIfJavascriptAndAjaxNotDisabled=Disponível somente se Javascript n UsedOnlyWithTypeOption=Usado por alguns opção agenda única Passwords=Senhas DoNotStoreClearPassword=Criptografar senhas armazenadas no banco de dados (NÃO como texto simples). É altamente recomendável ativar esta opção. +MainDbPasswordFileConfEncrypted=Criptografe a senha do banco de dados armazenada em conf.php. É altamente recomendável ativar esta opção. InstrucToEncodePass=Para ter a senha codificada no arquivo conf.php, substitua a linha
    $dolibarr_main_db_pass="..."
    por
    $dolibarr_main_db_pass="crypted:%s" InstrucToClearPass=Para ter a senha não codificada(limpa) no arquivo conf.php, substitua a linha
    $dolibarr_main_db_pass="crypted:..."
    por
    $dolibarr_main_db_pass="%s" ProtectAndEncryptPdfFilesDesc=Proteção de um documento PDF mantém ele disponível para ler e imprimir com qualquer navegador PDF. No entanto, edição e cópia não é possível. Observe que a utilização deste recurso faz com que a construção de um PDF global mesclado não funcione. @@ -412,7 +414,6 @@ Module52Name=Estoques Module52Desc=Gestão de estoque Module54Name=Contratos/Assinaturas Module55Name=Códigos de Barra -Module55Desc=Gestor de Códigos de Barra Module56Desc=Gestão do pagamento de fornecedores por ordens de Transferência a Crédito. Inclui a geração de arquivo SEPA para países europeus. Module58Name=CliqueParaDiscarl Module58Desc=Integração do Sistema CliqueParaDiscar (Asterisk, etc.) @@ -640,8 +641,6 @@ Permission402=Criar/Modificar Descontos Permission403=Validar Descontos Permission404=Excluir Descontos Permission430=Use a barra de depuração -Permission511=Ler pagamentos de salários (seus e subordinados) -Permission517=Ler pagamentos de salários de todos Permission519=Salários de exportação Permission520=Leia Empréstimos Permission522=Criar / modificar empréstimos @@ -907,7 +906,6 @@ SetupDescription2=As duas seções a seguir são obrigatórias (as duas primeira SetupDescription5=Outras entradas do menu de configuração gerenciam parâmetros opcionais. AuditedSecurityEvents=Eventos de segurança que são auditados NoSecurityEventsAreAduited=Nenhum evento de segurança é auditado. Você pode habilitá-los no menu %s -Audit=Auditoría InfoOS=Sobre o SO InfoDatabase=Sobre o banco de dados InfoPerf=Sobre Desempenhos @@ -959,8 +957,6 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=Você deve rodar esse comando n YourPHPDoesNotHaveSSLSupport=Função SSL functions não está disponível no seu PHP DownloadMoreSkins=Mais skins para baixar SimpleNumRefModelDesc=Retorna o número de referência no formato %s yymm-nnnn onde yy é o ano, mm é o mês e nnnn é um número de incremento automático sequencial sem redefinição -ShowProfIdInAddress=Mostrar ID profissional com endereços -ShowVATIntaInAddress=Ocultar o número de IVA intracomunitário com endereços MeteoStdModEnabled=Modo padrão habilitado MeteoPercentageMod=Modo porcentagem MeteoPercentageModEnabled=Modo de porcentagem habilitado @@ -1002,8 +998,6 @@ ConditionIsCurrently=Condição é atualmente %s YouUseBestDriver=Você usa o driver %s, que é o melhor driver atualmente disponível. NbOfObjectIsLowerThanNoPb=Você tem apenas %s %s no banco de dados. Isso não requer nenhuma otimização específica. SearchOptim=Procurar Otimização -YouHaveXObjectUseSearchOptim=Você tem %s %s no banco de dados. Você pode adicionar a constante %s a 1 em Home-Setup-Other. Limite a pesquisa ao início de strings, o que possibilita que o banco de dados use índices, e você deve obter uma resposta imediata. -YouHaveXObjectAndSearchOptimOn=Você tem %s %s no banco de dados e a constante %s é definida como 1 em Home - Setup - Other PHPModuleLoaded=O componente PHP 1 %s está carregado PreloadOPCode=O OPCode pré-carregado está em uso AddRefInList=Mostrar ref. Cliente / fornecedor lista de informações (lista de seleção ou caixa de combinação) e a maior parte do hiperlink.
    Terceiros aparecerão com um formato de nome "CC12345 - SC45678 - Empresa X." em vez de "Empresa X.". @@ -1201,7 +1195,6 @@ ServiceSetup=Configurações do módulo de serviços ProductServiceSetup=Configurações dos módulos de produtos e serviços NumberOfProductShowInSelect=Número máximo de produtos para mostrar em listas de seleção de combinação (0 = sem limite) ViewProductDescInFormAbility=Exibir descrições de produtos em formulários (mostrados de outra forma em um pop-up de dicas de ferramentas) -DoNotAddProductDescAtAddLines=Não adicionar descrição do produto (do cartão do produto) no envio, adicione linhas nos formulários OnProductSelectAddProductDesc=Como usar a descrição dos produtos ao adicionar um produto como uma linha de um documento AutoFillFormFieldBeforeSubmit=Preencher automaticamente o campo de entrada da descrição com a descrição do produto DoNotAutofillButAutoConcat=Não preencha automaticamente o campo de entrada com a descrição do produto. A descrição do produto será concatenada com a descrição inserida automaticamente. @@ -1307,7 +1300,6 @@ AGENDA_DEFAULT_VIEW=Qual visualização você deseja abrir por padrão ao seleci AGENDA_REMINDER_BROWSER=Habilitar o lembrete de evento no navegador do usuário (quando a data do lembrete é atingida, um pop-up é mostrado pelo navegador. Cada usuário pode desabilitar tais notificações na configuração de notificação do navegador). AGENDA_REMINDER_BROWSER_SOUND=Habilitar a notificação sonora AGENDA_REMINDER_EMAIL=Habilitar lembrete de evento por e-mail (opção de lembrete / atraso pode ser definido em cada evento) -AGENDA_REMINDER_EMAIL_NOTE=Nota: A frequência da tarefa %s deve ser suficiente para garantir que o lembrete seja enviado no momento correto. AGENDA_SHOW_LINKED_OBJECT=Exibir objeto conectado na visualização da agenda ClickToDialSetup=Configurações do módulo clique para discar ClickToDialUrlDesc=URL chamada quando clica-se no ícone do telefone. Na URL, você pode usar as tags
    __PHONETO__ que será substituída pelo número do telefone da pessoa a chamar
    __PHONEFROM__ que será substituída pelo telefone da pessoa que está chamando (o seu)
    __LOGIN__ que será substituída pelo login clicktodial (definido no cartão do usuário)
    __PASS__ que será substituída pela senha clicktodial (definida no cartão do usuário). @@ -1539,7 +1531,6 @@ LargerThan=Maior que IfTrackingIDFoundEventWillBeLinked=Observe que se um ID de rastreamento de um objeto for encontrado no email, ou se o email for uma resposta de um email já coletado e vinculado a um objeto, o evento criado será automaticamente vinculado ao objeto relacionado conhecido. WithGMailYouCanCreateADedicatedPassword=Com uma conta do GMail, se você ativou a validação de 2 etapas, é recomendável criar uma segunda senha dedicada para o aplicativo, em vez de usar sua própria senha da conta em https://myaccount.google.com/. EmailCollectorTargetDir=Pode ser um comportamento desejado mover o email para outra tag / diretório quando ele foi processado com êxito. Basta definir o nome do diretório aqui para usar este recurso (NÃO use caracteres especiais no nome). Observe que você também deve usar uma conta de logon de leitura / gravação. -EmailCollectorLoadThirdPartyHelp=Você pode usar esta ação para usar o conteúdo de email para localizar e carregar uma terceira parte existente em seu banco de dados. A terceira parte encontrada (ou criada) será usada para seguir as ações que precisam dela. No campo de parâmetro, você pode usar, por exemplo, 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' se desejar extrair o nome da terceira parte de uma cadeia de caracteres 'Name: name to find' encontrada na corpo. EndPointFor=Ponto final para %s : %s DeleteEmailCollector=Excluir coletor de e-mail ConfirmDeleteEmailCollector=Tem certeza de que deseja excluir este coletor de e-mail? @@ -1580,9 +1571,9 @@ ConfFileIsReadableOrWritableByAnyUsers=O arquivo conf pode ser lido ou gravado p MailToSendEventOrganization=Organização do Evento AGENDA_EVENT_DEFAULT_STATUS=Status de evento padrão ao criar um evento a partir do formulário YouShouldDisablePHPFunctions=Você deve desabilitar funções PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Exceto se você precisar executar comandos do sistema (para o módulo Trabalho agendado ou para executar o antivírus da linha de comando externa, por exemplo), você deve desabilitar as funções do PHP NoWritableFilesFoundIntoRootDir=Nenhum arquivo gravável ou diretório de programas comuns foi encontrado em seu diretório raiz (bom) RecommendedValueIs=Recomendado: %s +Recommended=Versão Recomendada ARestrictedPath=Caminho restrito CheckForModuleUpdate=Verificar se há atualizações para módulos externos CheckForModuleUpdateHelp=Esta ação se conectará a editores de módulos externos para verificar se uma nova versão está disponível. diff --git a/htdocs/langs/pt_BR/agenda.lang b/htdocs/langs/pt_BR/agenda.lang index 2aec949c9ab..2ea49d184a0 100644 --- a/htdocs/langs/pt_BR/agenda.lang +++ b/htdocs/langs/pt_BR/agenda.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - agenda IdAgenda=ID do evento -LocalAgenda=Calendário local +LocalAgenda=Calendário padrão ActionsOwnedBy=Evento de propriedade do ListOfActions=Lista de eventos EventReports=Relatório de eventos -ToUserOfGroup=Evento atribuído a qualquer usuário no grupo +ToUserOfGroup=Evento atribuído a qualquer usuário do grupo EventOnFullDay=Evento no(s) dia(s) todo MenuToDoMyActions=Meus eventos incompletos MenuDoneMyActions=Meus eventos terminados -ListOfEvents=Lista de eventos Dolibarr +ListOfEvents=Lista de eventos (calendário padrão) ActionsAskedBy=Eventos relatados pelo ActionsDoneBy=Eventos feito por ViewCal=Ver Mês @@ -65,6 +65,8 @@ ProposalDeleted=Proposta excluída OrderDeleted=Pedido excluído InvoiceDeleted=Fatura excluída DraftInvoiceDeleted=Rascunho da fatura excluído +CONTACT_CREATEInDolibarr=Contato %s criado +CONTACT_DELETEInDolibarr=Contato %s excluído PRODUCT_CREATEInDolibarr=Produto %s criado PRODUCT_MODIFYInDolibarr=Produto %s modificado PRODUCT_DELETEInDolibarr=Produto%s exluído @@ -95,6 +97,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO definido para o status de rascunho MRP_MO_PRODUCEDInDolibarr=MO produzido MRP_MO_DELETEInDolibarr=MO excluído MRP_MO_CANCELInDolibarr=MO cancelado +PAIDInDolibarr=%s pago AgendaModelModule=Modelos de documentos para o evento DateActionEnd=Data de término AgendaUrlOptions1=Você também pode adicionar os seguintes parâmetros nos filtros de saída: @@ -103,7 +106,7 @@ AgendaUrlOptionsNotAdmin=logina=!%s para restringir a saída das ações AgendaUrlOptions4=logint=%s para restringir a saída às ações atribuídas ao usuário %s (proprietário e outros). AgendaUrlOptionsProject=projeto=__PROJECT_ID__ para restringir a saída para ações ligadas ao __PROJECT_ID__. AgendaUrlOptionsIncludeHolidays=includeholidays = 1 para incluir eventos de licenças. -AgendaShowBirthdayEvents=Mostrar datas de nascimento dos contatos +AgendaShowBirthdayEvents=Aniversários de contatos AgendaHideBirthdayEvents=Ocultar datas de nascimento dos contatos ExportDataset_event1=Lista dos eventos da agenda DefaultWorkingDays=Padrão dias úteis por semana (Exemplo: 1-5, 1-6) @@ -116,9 +119,16 @@ MyAvailability=Minha disponibilidade DateActionBegin=Iniciar a data do evento ConfirmCloneEvent=Tem certeza que deseja clonar o evento %s? RepeatEvent=Repita evento +OnceOnly=Apenas uma vez EveryWeek=Toda semana EveryMonth=Todo mês DateStartPlusOne=Data de início + 1 hora SetAllEventsToTodo=Defina todos os eventos para todo SetAllEventsToInProgress=Defina todos os eventos como em andamento SetAllEventsToFinished=Definir todos os eventos como concluídos +ReminderTime=Período de lembrete antes do evento +TimeType=Tipo de duração +ReminderType=Tipo de retorno de chamada +AddReminder=Criar uma notificação de lembrete automática para este evento +ErrorReminderActionCommCreation=Erro ao criar a notificação de lembrete para este evento +BrowserPush=Notificação de pop-up do navegador diff --git a/htdocs/langs/pt_BR/boxes.lang b/htdocs/langs/pt_BR/boxes.lang index 754400bc9cb..c885132ee70 100644 --- a/htdocs/langs/pt_BR/boxes.lang +++ b/htdocs/langs/pt_BR/boxes.lang @@ -67,8 +67,6 @@ BoxTitleLatestModifiedSupplierOrders=Ordens do Vendedor: último %s modificado BoxTitleLastModifiedCustomerBills=Faturas do cliente: último %s modificado BoxTitleLastModifiedCustomerOrders=Pedidos de Vendas: último %s modificado BoxTitleLastModifiedPropals=Últimas %s propostas modificadas -BoxTitleLatestModifiedJobPositions=Últimos %s trabalhos alterados -BoxTitleLatestModifiedCandidatures=Últimas %s candidaturas alteradas ForCustomersInvoices=Faturas de clientes ForCustomersOrders=Pedidos de clientes LastXMonthRolling=Ultima %s mensal diff --git a/htdocs/langs/pt_BR/cashdesk.lang b/htdocs/langs/pt_BR/cashdesk.lang index 7acdecd580a..d50ab31d7ab 100644 --- a/htdocs/langs/pt_BR/cashdesk.lang +++ b/htdocs/langs/pt_BR/cashdesk.lang @@ -71,7 +71,6 @@ CashDeskGenericMaskCodes6 =
    A tag {TN} é usada para adicionar o número do t TakeposGroupSameProduct=Agrupe as mesmas linhas de produtos StartAParallelSale=Iniciar uma nova venda paralela SaleStartedAt=Venda iniciada às %s -ControlCashOpening=Controle da caixa pop-up na abertura do PDV CloseCashFence=Fechar controle de caixa CashReport=Relatório de caixa MainPrinterToUse=Impressora principal a ser usada @@ -94,5 +93,3 @@ ModuleReceiptPrinterMustBeEnabled=A impressora de recibos do módulo deve ter si AllowDelayedPayment=Permitir pagamento atrasado PrintPaymentMethodOnReceipts=Imprimir forma de pagamento em tickets | recibos WeighingScale=Balança -ShowPriceHT =Exibir coluna de preço sem impostos -ShowPriceHTOnReceipt =Exibir coluna de preço sem impostos no recibo diff --git a/htdocs/langs/pt_BR/cron.lang b/htdocs/langs/pt_BR/cron.lang index eed6598232e..e62f94c3a2b 100644 --- a/htdocs/langs/pt_BR/cron.lang +++ b/htdocs/langs/pt_BR/cron.lang @@ -32,7 +32,6 @@ CronSaveSucess=Salvo com sucesso CronFieldMandatory=O campo %s é obrigatório CronErrEndDateStartDt=A data final não pode ser anterior a data de início StatusAtInstall=Status na instalação do módulo -CronTaskInactive=Está tarefa está desativada CronClassFile=Nome de arquivo com classe CronModuleHelp=Nome do diretório do módulo Dolibarr (também trabalhe com o módulo Dolibarr externo).
    Por exemplo, para chamar o método fetch do objeto do produto Dolibarr /htdocs/product/class/product.class.php, o valor para module é o product CronClassFileHelp=O caminho relativo e o nome do arquivo a ser carregado (o caminho é relativo ao diretório-raiz do servidor da web).
    Por exemplo, para chamar o método fetch do objeto Product do Dolibarr htdocs / product / class / product.class.php , o valor para o nome do arquivo de classe é product / class / product.class.php diff --git a/htdocs/langs/pt_BR/deliveries.lang b/htdocs/langs/pt_BR/deliveries.lang index 7c5fec6ed99..ad1c983b4a0 100644 --- a/htdocs/langs/pt_BR/deliveries.lang +++ b/htdocs/langs/pt_BR/deliveries.lang @@ -19,5 +19,6 @@ Sender=Remetente ErrorStockIsNotEnough=Não existe estoque suficiente Shippable=Disponivel para envio NonShippable=Não disponivel para envio +ShowShippableStatus=Mostrar status entregável ShowReceiving=Mostrar recibo de entrega NonExistentOrder=Pedido inexistente diff --git a/htdocs/langs/pt_BR/errors.lang b/htdocs/langs/pt_BR/errors.lang index 83748da8ee5..ba505ad8dc0 100644 --- a/htdocs/langs/pt_BR/errors.lang +++ b/htdocs/langs/pt_BR/errors.lang @@ -86,7 +86,6 @@ ErrorCantReadFile=Houve uma falha ao ler o arquivo '%s' ErrorCantReadDir=Houve uma falha ao ler o diretório '%s' ErrorBadLoginPassword=Identificadores de usuário o senha incorretos ErrorLoginDisabled=A sua conta foi desativada -ErrorFailedToRunExternalCommand=Error ao tentar o comando externo. verifique que está disponível e ejecutable por a sua servidor PHP. sim o PHP Safe Mode está ativo, verifique que o comando encontra-se em uma pasta definida ao parâmetro safe_mode_exec_dir. ErrorFailedToChangePassword=Error na modificação da senha ErrorLoginDoesNotExists=Não existe um usuário com login %s. ErrorLoginHasNoEmail=Este usuário não tem endereço de e-mail. Processo abortado. diff --git a/htdocs/langs/pt_BR/eventorganization.lang b/htdocs/langs/pt_BR/eventorganization.lang index 1046596e57e..ad883105022 100644 --- a/htdocs/langs/pt_BR/eventorganization.lang +++ b/htdocs/langs/pt_BR/eventorganization.lang @@ -2,6 +2,5 @@ ModuleEventOrganizationName =Organização do Evento EventOrganizationDescription =Organização do Evento atraves do modulo Projetos EventOrganizationMenuLeft =Eventos organizados -EventOrganizationSetup =Configuracao de Organização do Evento EventOrganizationSetupPage =Organização do Eventos pagina de configuracao EvntOrgDraft =Minuta diff --git a/htdocs/langs/pt_BR/exports.lang b/htdocs/langs/pt_BR/exports.lang index 4475adb3a39..2e11c55f5aa 100644 --- a/htdocs/langs/pt_BR/exports.lang +++ b/htdocs/langs/pt_BR/exports.lang @@ -68,3 +68,4 @@ ComputedField=Campo computado SelectFilterFields=Se você deseja filtrar alguns valores, apenas os valores de entrada aqui. FilteredFieldsValues=Valor para o filtro MultipleRecordFoundWithTheseFilters=Múltiplos registros foram encontrados com esses filtros: %s +StocksWithBatch=Estoques e localização (armazém) de produtos com lote / número de série diff --git a/htdocs/langs/pt_BR/holiday.lang b/htdocs/langs/pt_BR/holiday.lang index 2150c104b6e..65a576c32e8 100644 --- a/htdocs/langs/pt_BR/holiday.lang +++ b/htdocs/langs/pt_BR/holiday.lang @@ -25,15 +25,11 @@ RequestByCP=Solicitada por TitreRequestCP=Solicitação de licença TypeOfLeaveCode=Tipo de licença TypeOfLeaveLabel=Tipo de etiqueta de licença -NbUseDaysCP=Número de dias de folga consumidos -NbUseDaysCPHelp=O cálculo leva em consideração os dias não úteis e os feriados definidos no dicionário. -DayIsANonWorkingDay=%s é um dia não útil DeleteCP=Excluir TitleDeleteCP=Excluir a solicitação de licença ConfirmDeleteCP=Confirmar a eliminação da solicitação de licença? ErrorCantDeleteCP=Erro: você não tem o direito de excluir esta solicitação de licença. CantCreateCP=Você não tem o direito de fazer solicitações de licença. -InvalidValidatorCP=Você deve escolher um aprovador ao seu pedido de licença. NoDateDebut=Você deve selecionar uma data de início. NoDateFin=Você deve selecionar uma data de término. ErrorDureeCP=O seu pedido de licença não contém dia de trabalho. @@ -54,14 +50,9 @@ UserCP=Usuário ErrorAddEventToUserCP=Ocorreu um erro ao adicionar a licença excepcional. AddEventToUserOkCP=A adição da licença excepcional foi completada. MenuLogCP=Ver logs de alterações -LogCP=Log de atualizações de dias de férias disponíveis -ActionByCP=Interpretada por -UserUpdateCP=Para o usuário PrevSoldeCP=Saldo anterior NewSoldeCP=Novo saldo alreadyCPexist=Um pedido de licença já foi feito sobre este período. -FirstDayOfHoliday=Primeiro dia de folga -LastDayOfHoliday=Último dia de folga BoxTitleLastLeaveRequests=Últimas %s solicitações de licença modificadas HolidaysCancelation=Cancelamento da solicitação de licença EmployeeLastname=Sobrenome do empregado diff --git a/htdocs/langs/pt_BR/hrm.lang b/htdocs/langs/pt_BR/hrm.lang index e86f7afe095..c7e24c6b4ea 100644 --- a/htdocs/langs/pt_BR/hrm.lang +++ b/htdocs/langs/pt_BR/hrm.lang @@ -3,6 +3,5 @@ HRM_EMAIL_EXTERNAL_SERVICE=E-mail para evitar HRM serviço externo Establishments=Estabelecimentos DeleteEstablishment=Excluir estabelecimento ConfirmDeleteEstablishment=Tem certeza de que deseja excluir este estabelecimento? -DictionaryPublicHolidays=RH - Licenças DictionaryDepartment=RH - Lista de departamentos DictionaryFunction=RH - Cargos diff --git a/htdocs/langs/pt_BR/interventions.lang b/htdocs/langs/pt_BR/interventions.lang index 278d3168e9e..b9ec79fa37e 100644 --- a/htdocs/langs/pt_BR/interventions.lang +++ b/htdocs/langs/pt_BR/interventions.lang @@ -43,7 +43,11 @@ InterRef=Intervenção ref. InterDateCreation=Intervenção data de criação InterDuration=Duração intervenção InterStatus=Status de intervenção +InterLine=Linha de intervenção InterLineId=Linha id de intervenção InterLineDate=Linha da data de intervenção InterLineDuration=Linha de duração de intervenção InterLineDesc=Linha de descrição de intervenção +RepeatableIntervention=Modelo de intervenção +ToCreateAPredefinedIntervention=Para criar uma intervenção predefinida ou recorrente, crie uma intervenção comum e converta-a em modelo de intervenção +ConfirmReopenIntervention=Deseja abrir novamente a intervenção %s ? diff --git a/htdocs/langs/pt_BR/mails.lang b/htdocs/langs/pt_BR/mails.lang index 2059a57d9fb..75b154134c2 100644 --- a/htdocs/langs/pt_BR/mails.lang +++ b/htdocs/langs/pt_BR/mails.lang @@ -95,8 +95,6 @@ ItemsCount=Item(ns) AdvTgtNameTemplate=Filtrar nome AdvTgtDeleteFilter=Excluir filtro AdvTgtSaveFilter=Salvar filtro -NoContactWithCategoryFound=Nenhum foi encontrado nenhum contato/endereço com uma categoria -NoContactLinkedToThirdpartieWithCategoryFound=Nenhum foi encontrado nenhum contato/endereço com uma categoria OutGoingEmailSetup=Emails de saída InGoingEmailSetup=Recebendo e-mails OutGoingEmailSetupForEmailing=Emails de saída (para o módulo %s) diff --git a/htdocs/langs/pt_BR/main.lang b/htdocs/langs/pt_BR/main.lang index be491366987..077058ae28a 100644 --- a/htdocs/langs/pt_BR/main.lang +++ b/htdocs/langs/pt_BR/main.lang @@ -96,6 +96,7 @@ MediaBrowser=Navegador de mídia PeriodEndDate=Data final periodo Activate=Ativar Activated=Ativado +Closed=Encerrado Closed2=Encerrado Enabled=Ativado Disable=Desativar @@ -279,6 +280,7 @@ ToDate=para ToLocation=para OtherInformations=Outra informação ApprovedBy2=Aprovado pelo (segunda aprovação) +OpenAll=Abertos(todos) ClosedAll=Fechados(Todos) ByUsers=Pelo usuário LateDesc=Um item é definido como atrasado de acordo com a configuração do sistema no menu Início - Configuração - Alertas. diff --git a/htdocs/langs/pt_BR/mrp.lang b/htdocs/langs/pt_BR/mrp.lang index b35d3cbd228..cad0abff710 100644 --- a/htdocs/langs/pt_BR/mrp.lang +++ b/htdocs/langs/pt_BR/mrp.lang @@ -7,12 +7,9 @@ MenuBOM=Lista de materiais LatestBOMModified=Última BOM modificada %s LatestMOModified=%s pedidos de manufatura mais recentes modificados Bom=Contas de material -BillOfMaterials=Lista de materiais BOMsSetup=Configuração do módulo BOM ListOfBOMs=Lista de BOMs ListOfManufacturingOrders=Lista de ordens de fabricação -NewBOM=Nova Lista de Materiais -ProductBOMHelp=Produto a ser criado com esta lista técnica. Nota: Os produtos com propriedade \n'Natureza do produto' = 'Matéria-prima' não estão visíveis nesta lista. BOMsNumberingModules=Modelos de numeração para BOM BOMsModelModule=Modelos de documentos lista técnica MOsNumberingModules=Modelos de numeração MO @@ -21,22 +18,18 @@ FreeLegalTextOnBOMs=Texto livre para documentação da BOM WatermarkOnDraftBOMs=Marca d'agua no rascunho da BOM FreeLegalTextOnMOs=Texto livre no documento do MO WatermarkOnDraftMOs=Marca d'água no rascunho MO -ConfirmCloneBillOfMaterials=Tem certeza de que deseja clonar a lista de materiais %s? ConfirmCloneMo=Tem certeza de que deseja clonar a ordem de fabricação %s? ManufacturingEfficiency=Eficiência de fabricação ValueOfMeansLoss=Valor de 0,95 significa uma média de 5 %% de perda durante a produção ValueOfMeansLossForProductProduced=Valor de 0,95 significa uma média de 5 %% de perda na produção do produto DeleteBillOfMaterials=Excluir lista de materiais DeleteMo=Excluir ordem de fabricação -ConfirmDeleteBillOfMaterials=Tem certeza de que deseja excluir esta lista de materiais? -ConfirmDeleteMo=Tem certeza de que deseja excluir esta lista de materiais? MenuMRP=Ordens de fabricação NewMO=Nova ordem de fabricação QtyToProduce=Qtd. para produzir DateStartPlannedMo=Data início planejada DateEndPlannedMo=Data final planejada KeepEmptyForAsap=Vazio significa "o mais breve possível" -EstimatedDurationDesc=Duração estimada para fabricar este produto usando esta lista técnica ConfirmValidateBom=Tem certeza que deseja validar a lista técnica com a referência %s (você poderá usá-la para criar novas ordens de fabricação) ConfirmCloseBom=Tem certeza de que deseja cancelar esta lista técnica (você não poderá mais usá-la para criar novas ordens de fabricação)? ConfirmReopenBom=Tem certeza de que deseja reabrir esta lista técnica (você poderá usá-la para criar novas ordens de fabricação) @@ -64,7 +57,7 @@ ProductionForRef=Produção de %s AutoCloseMO=Fechar automaticamente a ordem de fabricação se forem atingidas quantidades para consumir e produzir NoStockChangeOnServices=Nenhuma alteração de estoque em serviços ProductQtyToConsumeByMO=Quantidade do produto a ser consumida por MO aberto -ProductQtyToProduceByMO=Quantidade do produto ser produzida por MO aberto AddNewConsumeLines=Adicione nova linha para consumir ProductsToConsume=Produtos para consumir BOMTotalCost=O custo para produzir essa lista técnica com base no custo de cada quantidade e produto a consumir (use o preço de custo, se definido, ou o preço médio ponderado, se definido, ou o melhor preço de compra) +DeleteWorkstation=Excluir diff --git a/htdocs/langs/pt_BR/orders.lang b/htdocs/langs/pt_BR/orders.lang index fcfe59e46b1..6c2b2ed90f3 100644 --- a/htdocs/langs/pt_BR/orders.lang +++ b/htdocs/langs/pt_BR/orders.lang @@ -10,6 +10,7 @@ OrderLine=Linha de Comando OrderDateShort=Data do pedido OrderToProcess=Pedido a processar NewOrder=Novo Pedido +NewSupplierOrderShort=Novo Pedido NewOrderSupplier=Novo Pedido de Compra ToOrder=Realizar Pedido MakeOrder=Realizar Pedido @@ -55,6 +56,7 @@ DeleteOrder=Eliminar o pedido CancelOrder=Anular o Pedido OrderReopened=Pedido %s reaberto AddOrder=Criar ordem +AddSupplierOrderShort=Criar ordem AddPurchaseOrder=Criar pedido AddToDraftOrders=Adicionar a projeto de pedido ShowOrder=Mostrar Pedido diff --git a/htdocs/langs/pt_BR/partnership.lang b/htdocs/langs/pt_BR/partnership.lang index f7f9aa53929..b31b80f8919 100644 --- a/htdocs/langs/pt_BR/partnership.lang +++ b/htdocs/langs/pt_BR/partnership.lang @@ -1,14 +1,11 @@ # Dolibarr language file - Source file is en_US - partnership -ModulePartnershipName =Configuracoes de Parcerias -PartnershipDescription =Módulo gerenciamento de parcerias +ModulePartnershipName=Configuracoes de Parcerias +PartnershipDescription=Módulo gerenciamento de parcerias PartnershipDescriptionLong=Módulo gerenciamento de parcerias -NewPartnership =Nova parceria -ListOfPartnerships =Lista de parcerias -PartnershipSetup =Configuracao de parcerias -PartnershipAbout =Sobre parcerias -PartnershipAboutPage =Pagina sobre parcerias -DatePartnershipStart=Data de início +NewPartnership=Nova parceria +PartnershipSetup=Configuracao de parcerias +PartnershipAbout=Sobre parcerias +PartnershipAboutPage=Pagina sobre parcerias DatePartnershipEnd=Data de término -PartnershipDraft =Rascunho -PartnershipAccepted =Aceita -PartnershipCanceled =Cancelada +PartnershipDraft=Rascunho +PartnershipAccepted=Aceita diff --git a/htdocs/langs/pt_BR/productbatch.lang b/htdocs/langs/pt_BR/productbatch.lang index 45766536b7e..de94cb1f0cf 100644 --- a/htdocs/langs/pt_BR/productbatch.lang +++ b/htdocs/langs/pt_BR/productbatch.lang @@ -22,10 +22,5 @@ ShowCurrentStockOfLot=Exibir o estoque atual para o produto/lote ShowLogOfMovementIfLot=Exibir o registro de movimentações para o produto/lote SerialNumberAlreadyInUse=O número de série %s já é usado para o produto %s TooManyQtyForSerialNumber=Você só pode ter um produto %s para o número de série %s -BatchLotNumberingModules=Opções para geração automática de produtos em lote gerenciados por lotes -BatchSerialNumberingModules=Opções para geração automática de produtos em lote gerenciados por números de série ManageLotMask=Máscara personalizada -CustomMasks=Adiciona uma opção para definir máscara no cartão do produto -LotProductTooltip=Adiciona opção ao cartão do produto para definir uma máscara de número de lote dedicado -SNProductTooltip=Adiciona opção ao cartão do produto para definir uma máscara de número de série dedicada QtyToAddAfterBarcodeScan=Quantidade a adicionar para cada código de barras / lote / série digitalizada diff --git a/htdocs/langs/pt_BR/products.lang b/htdocs/langs/pt_BR/products.lang index ae31027f0ab..cf82f0eb6f7 100644 --- a/htdocs/langs/pt_BR/products.lang +++ b/htdocs/langs/pt_BR/products.lang @@ -133,7 +133,6 @@ ResetBarcodeForAllRecords=Definir o valor do código de barras para todos os reg PriceByCustomer=Preços diferenteas para cada cliente PriceCatalogue=Um único preço de venda por produto/serviço AddCustomerPrice=Adicionar preço por cliente -ForceUpdateChildPriceSoc=Situado mesmo preço em outros pedidos dos clientes PriceByCustomerLog=Registros de preços de cliente anteriores MinimumPriceLimit=Preço mínimo não pode ser inferior, em seguida %s MinimumRecommendedPrice=Preço minimo recomendado é : %s @@ -174,7 +173,6 @@ SizeUnits=Unidade de Tamanho DeleteProductBuyPrice=Apagar preço de Compra ConfirmDeleteProductBuyPrice=Tem certeza que que deseja excluir este preço de compra? ServiceSheet=Ficha do serviço -UseProductFournDesc=Adicione uma característica para definir a descrição do produto definida pelo fornecedor em complemento a descrição para os clientes ProductSupplierDescription=Descrição do fornecedor do produto UseProductSupplierPackaging=Usar embalagem nos preços do fornecedor (recalcular as quantidades de acordo com a embalagem definida no preço do fornecedor ao adicionar / atualizar a linha nos documentos do fornecedor) PackagingForThisProduct=Embalagem diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index cee7bda314e..7f84515f64c 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -137,6 +137,7 @@ DontHaveTheValidateStatus=O projeto %s deve estar aberto para ser fechado ModuleSalaryToDefineHourlyRateMustBeEnabled=Módulo 'Salário' deve estar habilitado para def. taxas hh, para ter o tempo gasto valorizado NewTaskRefSuggested=Tarefa ref. já usada, uma nova tarefa ref. é necessária TimeSpentInvoiced=Tempo gasto faturado +TimeSpentForIntervention=Dispêndio de tempo TimeSpentForInvoice=Dispêndio de tempo OneLinePerUser=Uma linha por usuário ServiceToUseOnLines=Serviço para usar em linhas @@ -149,6 +150,7 @@ UsageOpportunity=Uso: Oportunidade UsageTasks=Uso: Tarefas UsageBillTimeShort=Uso: tempo da conta InvoiceToUse=Rascunho de fatura a ser usada +NewInter=Nova Intervenção OneLinePerTask=Uma linha por tarefa OneLinePerPeriod=Uma linha por período RefTaskParent=Ref. Tarefa principal diff --git a/htdocs/langs/pt_BR/receptions.lang b/htdocs/langs/pt_BR/receptions.lang index 1b8395d5bf5..488b6ca213b 100644 --- a/htdocs/langs/pt_BR/receptions.lang +++ b/htdocs/langs/pt_BR/receptions.lang @@ -32,3 +32,4 @@ ProductQtyInSuppliersReceptionAlreadyRecevied=Quantidade de produtos do pedido d ValidateOrderFirstBeforeReception=Você deve primeiro validar o pedido antes de poder fazer recepções. ReceptionsNumberingModules=Módulo de numeração para recepções ReceptionsReceiptModel=Modelos de documentos para recepções +NoMorePredefinedProductToDispatch=Não há mais produtos predefinidos para enviar diff --git a/htdocs/langs/pt_BR/salaries.lang b/htdocs/langs/pt_BR/salaries.lang index 28c7dfdb337..0ac1be4f306 100644 --- a/htdocs/langs/pt_BR/salaries.lang +++ b/htdocs/langs/pt_BR/salaries.lang @@ -2,14 +2,16 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Conta contábil usada para terceiros usuários SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=A conta contábil dedicada definida no cartão de usuário será usada somente para a contabilidade da Subconta. Este será usado para Contabilidade Geral e como valor padrão da contabilidade do Contador, se a conta contábil do usuário dedicada no usuário não estiver definida. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Conta da Contabilidade padrão para pagamentos de salário +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Por padrão, deixe em branco a opção "Criar automaticamente um pagamento total" ao criar um Salário +NewSalary=Novo salário NewSalaryPayment=Novo cartão de salário AddSalaryPayment=Adicionar pagamento de salário SalaryPayment=Pagamento de salário SalariesPayments=Pagamentos de salários +SalariesPaymentsOf=Pagamentos de salários de %s THM=Taxa média horária TJM=Taxa média diária THMDescription=Este valor pode ser usado para calcular o custo de tempo consumido em um projeto entrado pelos usuários se o módulo projeto for usado TJMDescription=Este valor é usado apenas como informação e não será usado em nenhum cálculo -LastSalaries=Últimos pagamentos de salário %s SalariesStatistics=Estatísticas salariais SalariesAndPayments=Salários e pagamentos diff --git a/htdocs/langs/pt_BR/stocks.lang b/htdocs/langs/pt_BR/stocks.lang index 3848837d4e1..533892c1a5e 100644 --- a/htdocs/langs/pt_BR/stocks.lang +++ b/htdocs/langs/pt_BR/stocks.lang @@ -37,7 +37,6 @@ StockTooLow=Estoque muito baixo EnhancedValueOfWarehouses=Valor de estoques AllowAddLimitStockByWarehouse=Gerenciar também o valor do estoque mínimo e desejado por emparelhamento (armazém de produtos), além do valor do estoque mínimo e desejado por produto RuleForWarehouse=Regra para armazéns -WarehouseAskWarehouseOnThirparty=Inserir estoque no terceiro WarehouseAskWarehouseDuringPropal=Definir um armazém em propostas comerciais WarehouseAskWarehouseDuringOrder=Definir um armazém em Pedidos de venda UserDefaultWarehouse=Definir um armazém em Usuários @@ -55,7 +54,7 @@ ReStockOnBill=Aumentar os estoques reais na validação da fatura/nota de crédi ReStockOnDispatchOrder=Aumentar os estoques reais no despacho manual para o depósito, após o recebimento do pedido de compra de mercadorias StockOnReception=Aumentar estoques reais na validação da recepção StockOnReceptionOnClosing=Aumentar estoques reais quando a recepção estiver definida como fechada -OrderStatusNotReadyToDispatch=Não tem ordem ainda não ou nato tem um status que permite envio de produtos em para armazenamento. +OrderStatusNotReadyToDispatch=O pedido ainda não possui ou não possui mais um status que permita o envio de produtos nos armazéns. NoPredefinedProductToDispatch=Não há produtos pré-definidos para este objeto. Portanto, não envio em estoque é necessária. DispatchVerb=Despachar PhysicalStock=Estoque físico diff --git a/htdocs/langs/pt_BR/ticket.lang b/htdocs/langs/pt_BR/ticket.lang index b88555bee7f..18367ee91ed 100644 --- a/htdocs/langs/pt_BR/ticket.lang +++ b/htdocs/langs/pt_BR/ticket.lang @@ -8,7 +8,8 @@ TicketDictCategory=Tickets - Grupos TicketDictSeverity=Tickets - Gravidades TicketDictResolution=Ticket - Resolução TicketTypeShortHELP=Pedido de ajuda funcional -TicketTypeShortISSUE=Questão, bug ou problema +TicketTypeShortISSUE=Problema ou erro +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Solicitação de alteração ou aprimoramento TicketTypeShortOTHER=Outros TicketSeverityShortLOW=Baixa @@ -18,9 +19,10 @@ MenuTicketMyAssignNonClosed=Meus tickets abertos MenuListNonClosed=Tickets abertos TypeContact_ticket_external_CONTRIBUTOR=Contribuidor externo Notify_TICKET_SENTBYMAIL=Envio do ticket por e-mail -NeedMoreInformation=Aguardando informação +NeedMoreInformationShort=Aguardando feedback Waiting=Aguardando Severity=Gravidade +TicketGroupIsPublic=Grupo é público MailToSendTicketMessage=Para enviar e-mail da mensagem do ticket TicketSetup=Configuração do módulo de ticket TicketSettings=Configurações @@ -36,6 +38,7 @@ TicketUrlPublicInterfaceHelpAdmin=É possivel definir um alias para o servidor W TicketsDisableEmail=Não envie e-mails para criação de bilhetes ou gravação de mensagens TicketsDisableEmailHelp=Por padrão, os e-mails são enviados quando novos bilhetes ou mensagens são criados. Ative esta opção para desativar * todas as notificações por e-mail TicketsLogEnableEmail=Ativar log por e-mail +TicketsEmailAlsoSendToMainAddress=Adicionalmente, envie uma notificação ao endereço principal de email TicketsLimitViewAssignedOnly=Restringir a exibição aos tiquetes atribuídos ao usuário atual (não efetivo para usuários externos, sempre limitado à terceira parte da qual eles dependem) TicketsLimitViewAssignedOnlyHelp=Somente bilhetes atribuídos ao usuário atual ficarão visíveis. Não se aplica a um usuário com direitos de gerenciamento de bilhetes. TicketsActivatePublicInterfaceHelp=A interface pública permite que qualquer visitante crie bilhetes. @@ -71,7 +74,6 @@ TicketSeverity=Gravidade ShowTicket=Veja o ingresso RelatedTickets=Bilhetes relacionados TicketAddIntervention=Criar Intervenção -CloseTicket=Fechar bilhete ConfirmCloseAticket=Confirme o fechamento do ticket ConfirmDeleteTicket=Por favor confirme a exclusão de ingresso TicketDeletedSuccess=Bilhete excluído com sucesso @@ -82,6 +84,7 @@ ErrorMailRecipientIsEmptyForSendTicketMessage=O destinatário está vazio. Nenhu TicketMessageMailIntroHelp=Este texto é adicionado apenas no início do e-mail e não será salvo. TicketMessageMailSignatureHelp=Este texto é adicionado somente no final do e-mail e não será salvo. TicketMessageMailSignatureLabelAdmin=Assinatura do e-mail de resposta +TicketTimeElapsedBeforeSince=Tempo decorrido antes / desde TicketContacts=Bilhete de contatos TicketDocumentsLinked=Documentos vinculados ao ticket ConfirmReOpenTicket=Confirmar reabrir este ticket? diff --git a/htdocs/langs/pt_BR/trips.lang b/htdocs/langs/pt_BR/trips.lang index bc636713f41..96888442df9 100644 --- a/htdocs/langs/pt_BR/trips.lang +++ b/htdocs/langs/pt_BR/trips.lang @@ -85,7 +85,6 @@ ExpenseReportPayment=Despesa de pagamento de relatório ExpenseReportsToApprove=Relatórios de despesas a confirmar ExpenseReportsToPay=Relatórios de despesas a pagar ConfirmCloneExpenseReport=Tem certeza de que deseja clonar este relatório de despesas? -ExpenseReportsIk=Relatório de despesas índice quilômetros ExpenseReportsRules=Regras do relatório de despesas ExpenseReportIkDesc=Você pode modificar o cálculo da despesa de quilômetros por categoria e alcance de quem eles foram previamente definidos. d é a distância em quilômetros ExpenseReportRulesDesc=Você pode criar ou atualizar quaisquer regras de cálculo. Esta parte será usada quando o usuário criará um novo relatório de despesas @@ -119,7 +118,6 @@ nolimitbyEX_DAY=por dia (sem limitação) nolimitbyEX_MON=por mês (sem limitação) nolimitbyEX_YEA=por ano (sem limitação) nolimitbyEX_EXP=por linha (sem limitação) -CarCategory=Categoria de carro ExpenseRangeOffset=Quantidade de deslocamento: %s RangeIk=Alcance de quilometragem AttachTheNewLineToTheDocument=Adicionar uma linha para um documento enviado diff --git a/htdocs/langs/pt_BR/users.lang b/htdocs/langs/pt_BR/users.lang index 2c5afbce683..bdf5802dfe9 100644 --- a/htdocs/langs/pt_BR/users.lang +++ b/htdocs/langs/pt_BR/users.lang @@ -80,8 +80,6 @@ LoginToCreate=Login a Criar NameToCreate=Nome do Fornecedor a Criar YourRole=Suas funções YourQuotaOfUsersIsReached=Sua cota de usuarios ativos atingida ! -NbOfUsers=N°. de usuários -NbOfPermissions=N°. de permissões DontDowngradeSuperAdmin=Somente um Super Administrador pode rebaixar um Super Administrador HierarchicView=Visão hierárquica UseTypeFieldToChange=Use campo Tipo para mudar diff --git a/htdocs/langs/pt_BR/website.lang b/htdocs/langs/pt_BR/website.lang index b7439263c5b..a5781ea5a75 100644 --- a/htdocs/langs/pt_BR/website.lang +++ b/htdocs/langs/pt_BR/website.lang @@ -18,7 +18,6 @@ MediaFiles=Biblioteca de mídias AddWebsite=Adicionar site Webpage=Página WEB / container AddPage=Adicionar página / recipiente -PreviewOfSiteNotYetAvailable=Pré-visualização do seu site %s ainda não estão disponíveis. Você deve primeiro Importar um modelo de site completo ou apenas Adicionar uma página / contêiner RequestedPageHasNoContentYet=A página solicitada com id %s ainda não possui conteúdo ou o arquivo de cache .tpl.php foi removido. Edite o conteúdo da página para resolver isso. PageContent=Página / Contenair PageDeleted=Página / Contenair '%s' do site %s excluído diff --git a/htdocs/langs/pt_PT/accountancy.lang b/htdocs/langs/pt_PT/accountancy.lang index ee7e7a6310f..f2b34dea821 100644 --- a/htdocs/langs/pt_PT/accountancy.lang +++ b/htdocs/langs/pt_PT/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Países não na CEE CountriesInEECExceptMe=Países na CEE, exceto %s CountriesExceptMe=Todos os países, exceto %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Desactivar a gravação direta de transação na conta bancária ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Ativar exportação de rascunho em diário -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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -239,15 +240,15 @@ NewAccountingMvt=Nova transação NumMvts=Número da transação ListeMvts=Lista de movimentos ErrorDebitCredit=Débito e crédito não pode ter um valor, ao mesmo tempo -AddCompteFromBK=Adicionar contas contabilisticas ao grupo +AddCompteFromBK=Adicionar contas contabilísticas ao grupo ReportThirdParty=List third-party account DescThirdPartyReport=Consult here the list of third-party customers and vendors and their accounting accounts ListAccounts=Lista de contas contabilísticas UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Pagamento não vinculado a nenhum produto / serviço OpeningBalance=Opening balance @@ -264,7 +265,7 @@ TotalVente=Total de volume de negócios sem impostos TotalMarge=Margem total de vendas DescVentilCustomer=Consulte aqui a lista de linhas de faturas a clientes associados (ou não) a uma conta contabilística de produto -DescVentilMore=Na maioria dos casos, se você usar produtos ou serviços predefinidos e definir o número da conta no cartão de produto / serviço, o aplicativo poderá fazer toda a ligação entre suas linhas de fatura e a conta contábil de seu plano de contas, apenas em um clique com o botão "%s" . Se a conta não foi definida em cartões de produtos / serviços ou se você ainda tiver algumas linhas não vinculadas a uma conta, será necessário fazer uma ligação manual no menu " %s ". +DescVentilMore=Na maioria dos casos, se você usar produtos ou serviços predefinidos e definir o número da conta no cartão de produto / serviço, o aplicativo poderá fazer toda a ligação entre as suas linhas de fatura e a conta contábil do seu plano de contas, apenas em um clique com o botão "%s" . Se a conta não foi definida em cartões de produtos / serviços ou se você ainda tiver algumas linhas não vinculadas a uma conta, será necessário fazer uma ligação manual no menu " %s ". DescVentilDoneCustomer=Consulte aqui a lista das linhas de faturas a clientes e as suas contas de contabilísticas de produto DescVentilTodoCustomer=Vincular linhas da fatura que não estejam vinculadas a uma conta contabilística de produto ChangeAccount=Alterar a conta contabilística de produto/serviço para as linhas selecionadas com a seguinte conta contabilística: @@ -273,7 +274,7 @@ DescVentilSupplier=Consult here the list of vendor invoice lines bound or not ye DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account DescVentilTodoExpenseReport=Vincule as linhas do relatórios de despesas de não vinculados a um honorário de uma conta de contabilística DescVentilExpenseReport=Consulte aqui a lista de linhas do relatório de despesas vinculadas (ou não) a um honorário da conta contabilística -DescVentilExpenseReportMore=Se você configurar uma conta contábil no tipo de linhas de relatório de despesas, o aplicativo poderá fazer toda a ligação entre suas linhas de relatório de despesas e a conta contábil do seu plano de contas, em apenas um clique com o botão "%s" . Se a conta não foi definida no dicionário de taxas ou se você ainda tiver algumas linhas não vinculadas a nenhuma conta, será necessário fazer uma ligação manual no menu " %s ". +DescVentilExpenseReportMore=Se você configurar uma conta contábil no tipo de linhas de relatório de despesas, o aplicativo poderá fazer toda a ligação entre as suas linhas de relatório de despesas e a conta contábil do seu plano de contas, em apenas um clique com o botão "%s" . Se a conta não foi definida no dicionário de taxas ou se você ainda tiver algumas linhas não vinculadas a nenhuma conta, será necessário fazer uma ligação manual no menu " %s ". DescVentilDoneExpenseReport=Consulte aqui a lista das linhas de relatórios de despesas e os seus honorários da conta contabilística Closure=Annual closure @@ -293,7 +294,7 @@ Balancing=Balanceamento FicheVentilation=Cartão de vinculação GeneralLedgerIsWritten=As transações são escritas no Livro Razão GeneralLedgerSomeRecordWasNotRecorded=Algumas das transações não puderam ser revistas. Se não houver outra mensagem de erro, provavelmente é porque já foram promovidas. -NoNewRecordSaved=Não há mais registros para journalize +NoNewRecordSaved=Não há mais registos para journalize ListOfProductsWithoutAccountingAccount=Lista de produtos não vinculados a qualquer conta contabilística ChangeBinding=Alterar vinculação Accounted=Contabilizado no ledger @@ -307,9 +308,9 @@ BindingOptions=Binding options ApplyMassCategories=Aplicar categorias em massa AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group CategoryDeleted=Categoria para a conta contabilística foi removida -AccountingJournals=Diários contabilisticos -AccountingJournal=Diário contabilistico -NewAccountingJournal=Novo diário contabilistico +AccountingJournals=Diários contabilísticos +AccountingJournal=Diário contabilístico +NewAccountingJournal=Novo diário contabilístico ShowAccountingJournal=Mostrar diário contabilistico NatureOfJournal=Nature of Journal AccountingJournalType1=Operações diversas @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Exportar o diário rascunho Modelcsv=Modelo de exportação Selectmodelcsv=Selecione um modelo de exportação @@ -335,7 +339,7 @@ Modelcsv_normal=Exportação clássica Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index 42b4c51e694..10db9be2035 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -10,7 +10,7 @@ VersionDevelopment=Desenvolvimento VersionUnknown=Desconhecida VersionRecommanded=Recomendada FileCheck=Verificações de integridade do conjunto de ficheiros -FileCheckDesc=This tool allows you to check the integrity of files and the setup of your application, comparing each file with the official one. The value of some setup constants may also be checked. You can use this tool to determine if any files have been modified (e.g by a hacker). +FileCheckDesc=Esta ferramenta permite verificar a integridade dos ficheiros e a configuração da sua aplicação, comparando cada ficheiro com o oficial. O valor de algumas constantes de configuração também pode ser verificado. Pode usar esta ferramenta para determinar se algum ficheiro foi modificado (por exemplo, por um hacker). FileIntegrityIsStrictlyConformedWithReference=A integridade dos ficheiros é ajustada rigorosamente conforme a referência. FileIntegrityIsOkButFilesWereAdded=A verificação de integridade dos arquivos passou, no entanto, alguns novos arquivos foram adicionados. FileIntegritySomeFilesWereRemovedOrModified=A verificação da integridade dos ficheiros falhou. Alguns ficheiros foram modificados, removidos ou adicionados. @@ -21,9 +21,9 @@ RemoteSignature=Assinatura remota (mais segura) FilesMissing=Ficheiros em falta FilesUpdated=Ficheiros atualizados FilesModified=Ficheiros modificados -FilesAdded=Ficheiros adiocionados -FileCheckDolibarr=Verficar a integridade dos ficheiros de aplicação -AvailableOnlyOnPackagedVersions=The local file for integrity checking is only available when the application is installed from an official package +FilesAdded=Ficheiros adicionados +FileCheckDolibarr=Verificar a integridade dos ficheiros de aplicação +AvailableOnlyOnPackagedVersions=O ficheiro local para verificação de integridade só está disponível quando o aplicativo é instalado a partir de um pacote oficial XmlNotFound=Ficheiro XML de integridade da aplicação não encontrado SessionId=Id. da Sessão SessionSaveHandler=Utilizador para guardar as sessões @@ -40,31 +40,32 @@ WebUserGroup=Utilizador/grupo do servidor da Web PermissionsOnFiles=Permissões em ficheiros PermissionsOnFilesInWebRoot=Permissões em ficheiros na pasta web principal PermissionsOnFile=Permissões em ficheiros %s -NoSessionFound=Sua configuração de PHP parece não permitir a listagem de sessões ativas. O diretório usado para salvar as sessões ( %s ) pode ser protegido (por exemplo, pelas permissões do sistema operacional ou pela diretiva open_basedir do PHP). +NoSessionFound=A sua configuração de PHP parece não permitir a listagem de sessões ativas. O diretório usado para salvar as sessões ( %s ) pode ser protegido (por exemplo, pelas permissões do sistema operacional ou pela diretiva open_basedir do PHP). DBStoringCharset=Conjunto de carateres da base de dados para guardar os dados DBSortingCharset=Conjunto de carateres da base de dados para ordenar os dados -HostCharset=Host charset +HostCharset=Conjunto de caracteres do anfitrião ClientCharset=Jogo de caráter Cliente ClientSortingCharset=Colação de clientes WarningModuleNotActive=O módulo %s deve estar ativado -WarningOnlyPermissionOfActivatedModules=Só são mostradas aqui as permissões relacionadas com os módulos ativados. Pode ativar outros módulos na página de Início-> Configuração-> Módulos. +WarningOnlyPermissionOfActivatedModules=Só são mostradas aqui as permissões relacionadas com os módulos ativos. Pode ativar outros módulos na página de Início-> Configuração-> Módulos. DolibarrSetup=Instalar ou atualizar o Dolibarr InternalUser=Utilizador interno ExternalUser=Utilizador externo InternalUsers=Utilizadores internos ExternalUsers=Utilizadores externos +UserInterface=Interface do utilizador GUISetup=Aparência SetupArea=Configuração UploadNewTemplate=Carregar novo(s) modelo(s) FormToTestFileUploadForm=Formulário para testar o envio de ficheiro (de acordo com a configuração) -ModuleMustBeEnabled=The module/application %s must be enabled -ModuleIsEnabled=The module/application %s has been enabled -IfModuleEnabled=Nota: sim, só é eficaz se o módulo %s estiver ativado +ModuleMustBeEnabled=O módulo/aplicação %s deve estar ativo +ModuleIsEnabled=O módulo/aplicação %s foi ativado +IfModuleEnabled=Nota: sim, só é eficaz se o módulo %s estiver ativo RemoveLock=Remova / renomeie o arquivo %s se existir, para permitir o uso da ferramenta Atualizar / Instalar. RestoreLock=Restaure o arquivo %s , apenas com permissão de leitura, para desativar qualquer uso posterior da ferramenta Atualizar / Instalar. SecuritySetup=Configuração de segurança -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=Configurar PHP +OSSetup=Configurar SO SecurityFilesDesc=Defina aqui opções relacionadas com a segurança de ficheiros carregados. ErrorModuleRequirePHPVersion=Erro, este módulo requer a versão %s ou superior do PHP ErrorModuleRequireDolibarrVersion=Erro, este módulo requer a versão %s ou superior do Dolibarr @@ -74,20 +75,21 @@ Dictionary=Dicionários ErrorReservedTypeSystemSystemAuto=O valor 'system' e 'systemauto', para o tipo está reservado. Pode utilizar 'user' como valor para adicionar o seu próprio registo ErrorCodeCantContainZero=O código não pode conter o valor 0 DisableJavascript=Desativar as funções Javascript e Ajax -DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user +DisableJavascriptNote=Nota: Para fins de teste ou depuração. Para otimização para cegos ou navegadores de texto, você pode preferir usar a configuração no perfil do usuário UseSearchToSelectCompanyTooltip=Se tiver um grande número de terceiros (> 100 000), pode aumentar a velocidade, configurando a constante COMPANY_DONOTSEARCH_ANYWHERE para 1 em Configuração->Outros. A procura depois será limitada para o início da sequência de carateres. UseSearchToSelectContactTooltip=Se você tiver grande número de contactos (> 100 000), você pode aumentar a velocidade, definindo a constante CONTACT_DONOTSEARCH_ANYWHERE para 1 em Configuração -> Outros. A pesquisa será então limitada ao início da sequência de caracteres. DelaiedFullListToSelectCompany=Aguarde até que uma tecla seja pressionada antes de carregar o conteúdo da lista de combinação de terceiros.
    Isso pode aumentar o desempenho se você tiver um grande número de terceiros, mas é menos conveniente. -DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient. +DelaiedFullListToSelectContact=Aguarde até que uma tecla seja pressionada antes de carregar o conteúdo da lista de combinação de contactos.
    Isso pode aumentar o desempenho se tiver um grande número de contactos, mas é menos conveniente. NumberOfKeyToSearch=Número de caracteres para acionar a pesquisa: %s -NumberOfBytes=Number of Bytes -SearchString=Search string +NumberOfBytes=Número de Bytes +SearchString=Sequência de pesquisa NotAvailableWhenAjaxDisabled=Não está disponível quando o Ajax está desativado AllowToSelectProjectFromOtherCompany=No documento de um terceiro, pode escolher um projeto associado a outro terceiro +TimesheetPreventAfterFollowingMonths=Impedir o tempo de gravação gasto após o número seguinte de meses JavascriptDisabled=JavaScript desativado UsePreviewTabs=Utilizar separadores de pré-visualização ShowPreview=Mostrar pré-visualização -ShowHideDetails=Show-Hide details +ShowHideDetails=Mostrar-Ocultar detalhes PreviewNotAvailable=Pré-visualização não disponível ThemeCurrentlyActive=Tema atualmente ativo MySQLTimeZone=Fuso Horário MySQL (base de dados) @@ -102,7 +104,7 @@ NextValueForInvoices=Valor seguinte (faturas) NextValueForCreditNotes=Valor seguinte (notas de crédito) NextValueForDeposit=Valor seguinte (entrada inicial) NextValueForReplacements=Valor seguinte (restituições) -MustBeLowerThanPHPLimit=Nota: sua configuração de PHP atualmente limita o tamanho máximo do arquivo para upload para %s %s, independentemente do valor deste parâmetro +MustBeLowerThanPHPLimit=Nota: a sua configuração de PHP atualmente limita o tamanho máximo do arquivo para upload para %s %s, independentemente do valor deste parâmetro NoMaxSizeByPHPLimit=Nota: não está definido nenhum limite na sua configuração do PHP MaxSizeForUploadedFiles=Tamanho máximo para os ficheiros enviados (0 para rejeitar qualquer envio) UseCaptchaCode=Utilizar código gráfico (CAPTCHA) na página de iniciar a sessão @@ -116,6 +118,7 @@ MultiCurrencySetup=Configuração da utilização de várias moedas MenuLimits=Limites e precisão MenuIdParent=Id. do menu origem DetailMenuIdParent=Id. do menu origem (vazio para um menu superior) +ParentID=Parent ID DetailPosition=Número de ordenação para definir a posição no menu AllMenus=Todos NotConfigured=Módulo/Aplicação não configurados @@ -149,7 +152,7 @@ MenusDesc=Os gestores de menu definem o conteúdo das duas barras de menu (horiz MenusEditorDesc=O editor de menu permite-lhe definir as entradas de menu personalizadas. Utilize com cuidado para evitar instabilidade e entradas de menu inválidas.
    Alguns módulos adicionam entradas de menu (principalmente no menu Todos). Se remover algumas destas entradas por engano, poderá restaurá-las, desativando e reativando o módulo. MenuForUsers=Menu para os utilizadores LangFile=Ficheiro .lang -Language_en_US_es_MX_etc=Language (en_US, es_MX, ...) +Language_en_US_es_MX_etc=Idioma (en_US, es_MX, pt-PT...) System=Sistema SystemInfo=Informação do Sistema SystemToolsArea=Área de ferramentas do sistema @@ -157,8 +160,8 @@ SystemToolsAreaDesc=Esta área fornece funções de administração. Use o menu Purge=Limpar PurgeAreaDesc=Esta página permite excluir todos os arquivos gerados ou armazenados pelo Dolibarr (arquivos temporários ou todos os arquivos no diretório %s ). Usar esse recurso normalmente não é necessário. Ele é fornecido como uma solução alternativa para usuários cujo Dolibarr é hospedado por um provedor que não oferece permissões para excluir arquivos gerados pelo servidor da web. PurgeDeleteLogFile=Eliminar os ficheiros de registo, incluindo %s definido para o módulo Syslog (não existe risco de perda de dados) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. -PurgeDeleteTemporaryFilesShort=Delete log and temporary files +PurgeDeleteTemporaryFiles=Excluir todos os ficheiros de log e temporários (sem risco de perda de dados). O parâmetro pode ser 'tempfilesold', 'logfiles' ou ambos 'tempfilesold + logfiles'. Nota: A exclusão de ficheiros temporários é feita apenas se o diretório temporário foi criado há mais de 24 horas. +PurgeDeleteTemporaryFilesShort=Eliminar registo e ficheiros temporários PurgeDeleteAllFilesInDocumentsDir=Exclua todos os arquivos do diretório: %s .
    Isso excluirá todos os documentos gerados relacionados aos elementos (terceiros, faturas etc ...), arquivos carregados no módulo ECM, despejos de backup de banco de dados e arquivos temporários. PurgeRunNow=Limpar agora PurgeNothingToDelete=Nenhuma diretoria ou ficheiros para eliminar. @@ -171,13 +174,13 @@ Backup=Cópia de segurança Restore=Restaurar RunCommandSummary=A cópia de segurança foi iniciada com o seguinte comando BackupResult=Resultado da cópia de segurança -BackupFileSuccessfullyCreated=Ficheiro de cópia de segurança gerado correctamente +BackupFileSuccessfullyCreated=Ficheiro de cópia de segurança gerado corretamente YouCanDownloadBackupFile=O arquivo gerado agora pode ser baixado NoBackupFileAvailable=Sem ficheiros de cópias de segurança disponíveis ExportMethod=Método de exportação ImportMethod=Método de importação ToBuildBackupFileClickHere=Para criar um ficheiro de cópia de segurança, clique aqui. -ImportMySqlDesc=Para importar um arquivo de backup do MySQL, você pode usar phpMyAdmin através de sua hospedagem ou usar o comando mysql da linha de comando.
    Por exemplo: +ImportMySqlDesc=Para importar um arquivo de backup do MySQL, você pode usar o phpMyAdmin através da sua hospedagem ou usar o comando mysql da linha de comando.
    Por exemplo: ImportPostgreSqlDesc=Para importar um ficheiro de cópia de segurança, deve utilizar o comando pg_restore a partir da linha de comandos: ImportMySqlCommand=%s %s < ficheiro_copia_seguranca.sql ImportPostgreSqlCommand=%s %s ficheiro_copia_seguranca.sql @@ -186,7 +189,7 @@ Compression=Compressão CommandsToDisableForeignKeysForImport=Comando para desactivar a chave exclusiva para a importação CommandsToDisableForeignKeysForImportWarning=Obrigatório, se pretender restaurar mais tarde o ficheiro dump de SQL ExportCompatibility=Compatibilidade do ficheiro de exportação gerado -ExportUseMySQLQuickParameter=Use the --quick parameter +ExportUseMySQLQuickParameter=Utilize o parâmetro --quick ExportUseMySQLQuickParameterHelp=The '--quick' parameter helps limit RAM consumption for large tables. MySqlExportParameters=Parâmetros da exportação MySQL PostgreSqlExportParameters= Parâmetros de exportação PostgreSQL @@ -208,12 +211,13 @@ FeatureAvailableOnlyOnStable=Funcionalidade apenas disponível em versões está BoxesDesc=Widgets são componentes que mostram algumas informações que você pode adicionar para personalizar algumas páginas. Você pode escolher entre mostrar o widget ou não selecionando a página de destino e clicando em "Ativar" ou clicando na lixeira para desativá-la. OnlyActiveElementsAreShown=Só são mostrados os elementos de módulos ativos. ModulesDesc=Os módulos / aplicativos determinam quais recursos estão disponíveis no software. Alguns módulos exigem que as permissões sejam concedidas aos usuários após a ativação do módulo. Clique no botão liga / desliga %s de cada módulo para habilitar ou desabilitar um módulo / aplicativo. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Pode encontrar mais módulos para descarregar noutros sites da internet... -ModulesDeployDesc=Se as permissões em seu sistema de arquivos permitirem, você poderá usar essa ferramenta para implantar um módulo externo. O módulo ficará visível na aba %s . +ModulesDeployDesc=Se as permissões do seu sistema de arquivos permitirem, você poderá usar esta ferramenta para implantar um módulo externo. O módulo ficará visível na aba %s . ModulesMarketPlaces=Procurar aplicações/módulos externos ModulesDevelopYourModule=Desenvolva as suas próprias aplicações/módulos -ModulesDevelopDesc=Você também pode desenvolver seu próprio módulo ou encontrar um parceiro para desenvolver um para você. -DOLISTOREdescriptionLong=Em vez de ligar o site www.dolistore.com para encontrar um módulo externo, você pode usar essa ferramenta incorporada que fará a pesquisa no mercado externo para você (pode ser lento, precisa de um acesso à internet) ... +ModulesDevelopDesc=Você também pode desenvolver o seu próprio módulo ou encontrar um parceiro para desenvolver um para você. +DOLISTOREdescriptionLong=Em vez de ligar o site www.dolistore.com para encontrar um módulo externo, você pode usar esta ferramenta incorporada que fará a pesquisa no mercado externo para você (pode ser lento, precisa de um acesso à internet) ... NewModule=Novo módulo FreeModule=Livre CompatibleUpTo=Compatível com a versão %s @@ -221,14 +225,14 @@ NotCompatible=Este módulo não parece compatível com o seu Dolibarr %s (Min%s CompatibleAfterUpdate=Este módulo requer uma atualização para o seu Dolibarr %s(Min%s-Max%s). SeeInMarkerPlace=Veja no mercado de modulos SeeSetupOfModule=Veja a configuração do módulo %s +SetOptionTo=Set option %s to %s Updated=Atualizado -Nouveauté=Novidade AchatTelechargement=Comprar / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, o mercado oficial para módulos externos Dolibarr ERP/CRM DoliPartnersDesc=List of companies providing custom-developed modules or features.
    Note: since Dolibarr is an open source application, anyone experienced in PHP programming should be able to develop a module. WebSiteDesc=Sites externos para módulos adicionais (não principais) ... -DevelopYourModuleDesc=Algumas soluções para desenvolver seu próprio módulo ... +DevelopYourModuleDesc=Algumas soluções para desenvolver o seu próprio módulo ... URL=URL RelativeURL=Relative URL BoxesAvailable=Aplicativos disponíveis @@ -242,8 +246,8 @@ Required=Requerido UsedOnlyWithTypeOption=Utilizado apenas por algumas opções da agenda Security=Segurança Passwords=Palavras-passe -DoNotStoreClearPassword=Criptografe as senhas armazenadas no banco de dados (NÃO como texto simples). É altamente recomendável ativar esta opção. -MainDbPasswordFileConfEncrypted=Criptografe a senha do banco de dados armazenada em conf.php. É altamente recomendável ativar esta opção. +DoNotStoreClearPassword=Criptografe as palavras-passe armazenadas na sua base de dados (NÃO como texto simples). É altamente recomendável ativar esta opção. +MainDbPasswordFileConfEncrypted=Criptografe a palavra-passe da base de dados armazenada em conf.php. É altamente recomendável ativar esta opção. InstrucToEncodePass=Para que a palavra passe seja codificada no ficheiro conf.php, substitua a linha
    $dolibarr_main_db_pass="...";
    por
    $dolibarr_main_db_pass="crypted:%s"; InstrucToClearPass=Para que a palavra passe seja descodificada no ficheiro conf.php, substitua a linha
    $dolibarr_main_db_pass="crypted:...";
    por
    $dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Proteja arquivos PDF gerados. Isso NÃO é recomendado, pois interrompe a geração de PDF em massa. @@ -259,9 +263,9 @@ OfficialMarketPlace=Mercado externo oficial para os módulos/addons OfficialWebHostingService=Serviços de hospedagem na Web referenciados (hospedagem na Nuvem) ReferencedPreferredPartners=Parceiros preferidos OtherResources=Outros recursos -ExternalResources=External Resources +ExternalResources=Recursos Externos SocialNetworks=Redes sociais -SocialNetworkId=Social Network ID +SocialNetworkId=Id. da Rede Social ForDocumentationSeeWiki=Para a documentação de utilizador, programador ou Perguntas Frequentes (FAQ), consulte o wiki do Dolibarr
    %s ForAnswersSeeForum=Para outras questões, como efectuar as consultas, pode utilizar o forum do Dolibarr:
    %s HelpCenterDesc1=Aqui estão alguns recursos para obter ajuda e suporte com o Dolibarr. @@ -308,15 +312,15 @@ MAIN_SMS_SENDMODE=Método a usar para enviar SMS MAIN_MAIL_SMS_FROM=Número de telefone do remetente padrão para envio de SMS MAIN_MAIL_DEFAULT_FROMTYPE=E-mail do remetente padrão para envio manual (e-mail do usuário ou e-mail da empresa) UserEmail=Email do utilizador -CompanyEmail=Company Email -FeatureNotAvailableOnLinux=Funcionalidade não disponivel em sistemas Unix. Teste parâmetros sendmail localmente. +CompanyEmail=E-mail da Empresa +FeatureNotAvailableOnLinux=Funcionalidade não disponivel em sistemas Unix. Teste parâmetros sendmail localmente. FixOnTransifex=Fix the translation on the online translation platform of project -SubmitTranslation=Se a tradução para este idioma não estiver completa ou você encontrar erros, pode corrigir isso editando os arquivos no diretório langs / %s e enviar sua alteração para www.transifex.com/dolibarr-association/dolibarr/ +SubmitTranslation=Se a tradução para este idioma não estiver completa ou você encontrar erros, pode corrigir editando os arquivos no diretório langs / %s e enviar a sua alteração para www.transifex.com/dolibarr-association/dolibarr/ SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or, if you are a developer, with a PR on github.com/Dolibarr/dolibarr ModuleSetup=Configuração do módulo ModulesSetup=Módulos/Aplicação - Configuração ModuleFamilyBase=Sistema -ModuleFamilyCrm=Gerenciamento de relacionamento com o cliente (CRM) +ModuleFamilyCrm=Gestão de relacionamento com o cliente (CRM) ModuleFamilySrm=Vendor Relationship Management (VRM) ModuleFamilyProducts=Gestão de Produto (PM) ModuleFamilyHr=Gestão de Recursos Humanos (HR) @@ -399,6 +403,7 @@ SecurityToken=A chave para URLs seguras NoSmsEngine=Nenhum gerenciador de remetente de SMS disponível. Um gerenciador de remetente de SMS não é instalado com a distribuição padrão porque eles dependem de um fornecedor externo, mas você pode encontrar alguns em %s PDF=PDF PDFDesc=Opções globais para geração de PDF +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Regras para seção de endereço HideAnyVATInformationOnPDF=Oculte todas as informações relacionadas ao imposto sobre vendas / IVA PDFRulesForSalesTax=Regras para Imposto sobre Vendas / IVA @@ -561,7 +566,7 @@ Module53Desc=Gestão de Serviços Module54Name=Contractos/Subscrições Module54Desc=Gestão de contratos (serviços ou assinaturas recorrentes) Module55Name=Códigos de barras -Module55Desc=Gestão dos códigos de barras +Module55Desc=Barcode or QR code management Module56Name=Pagamento por transferência de crédito Module56Desc=Gestão de pagamentos de fornecedores por ordens de Transferência a Crédito. Inclui a geração de arquivo SEPA para países europeus. Module57Name=Pagamentos por Débito Direto @@ -848,10 +853,10 @@ Permission402=Criar/modificar descontos Permission403=Validar descontos Permission404=Eliminar descontos Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Criar / modificar pagamentos de salários -Permission514=Excluir pagamentos de salários -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Exportar salários Permission520=Consultar empréstimos Permission522=Criar/modificar empréstimos @@ -965,6 +970,8 @@ Permission23003=Eliminar trabalho agendado Permission23004=Executar trabalho agendado Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Consultar transações Permission50202=Importar transações Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Redes sociais DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Tipos de licença +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Status de lead para projeto / lead DictionaryExpenseTaxCat=Relatório de despesas - categorias de transporte DictionaryExpenseTaxRange=Relatório de despesas - Escala por categoria de transporte DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Configuração guardada SetupNotSaved=A configuração não foi guardada @@ -1185,9 +1193,12 @@ SetupDescription2=As duas seções a seguir são obrigatórias (as duas primeira SetupDescription3= %s -> %s

    Parâmetros básicos usados para personalizar o comportamento padrão de seu aplicativo (por exemplo, para recursos relacionados ao país). SetupDescription4= %s -> %s

    Este software é um conjunto de vários módulos / aplicativos. Os módulos relacionados às suas necessidades devem ser habilitados e configurados. As entradas do menu aparecerão com a ativação desses módulos. SetupDescription5=Outras entradas do menu Setup gerenciam parâmetros opcionais. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Auditoria +Audit=Security events InfoDolibarr=Sobre o Dolibarr InfoBrowser=Sobre o navegador InfoOS=Sobre o sistema operativo @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Funções SSL não estão disponíveis no seu PHP DownloadMoreSkins=Mais temas para descarregar SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Mostrar id profissional com endereços -ShowVATIntaInAddress=Ocultar número de IVA intracomunitário com endereços +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Tradução parcial MAIN_DISABLE_METEO=Desativar vista meteorológica MeteoStdMod=Modo padrão @@ -1319,9 +1330,12 @@ ConditionIsCurrently=A condição está atualmente %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=Você usa o driver %s, mas o driver %s é recomendado. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Optimização da pesquisa -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Você está usando o navegador da web %s. Este navegador está ok para segurança e desempenho. BrowserIsKO=Você está usando o navegador da web %s. Este navegador é conhecido por ser uma má escolha para segurança, desempenho e confiabilidade. Recomendamos o uso do Firefox, Chrome, Opera ou Safari. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Opções principais AdherentLoginRequired= Gerir um login para cada membro AdherentMailRequired=Email necessário para criar um novo membro MemberSendInformationByMailByDefault=Selecione para enviar email de confirmação aos membros (validação ou nova subscrição), está ativada por defeito +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Ativar notificação sonora AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Mostrar o objeto associado na vista de agenda ##### Clicktodial ##### ClickToDialSetup=Configuração do módulo "Click To Dial" ClickToDialUrlDesc=Uma chamada é efetuada quando o icon é clicado. No URL pode usar as tags:
    __PHONETO__ que será substituída pelo número do destinatário
    __PHONEFROM__ que será substituída pelo número do remetente
    __LOGIN__ que será substituída pelo nome de utilizador da sua conta ClickToDial (definido no seu cartão de utilizador)
    __PASS__ que será substituída pela palavra-passe da sua conta ClickToDial (definida no seu cartão de utilizador). ClickToDialDesc=Este módulo altera os números de telefone, ao usar um computador desktop, em links clicáveis. Um clique ligará para o número. Isso pode ser usado para iniciar a chamada telefônica ao usar um softphone em sua área de trabalho ou ao usar um sistema CTI baseado no protocolo SIP, por exemplo. Nota: Ao usar um smartphone, os números de telefone são sempre clicáveis. ClickToDialUseTelLink=Usar apenas um link "tel:" em números de telefone -ClickToDialUseTelLinkDesc=Use esse método se os usuários tiverem um softphone ou uma interface de software instalada no mesmo computador que o navegador e chamados quando você clicar em um link em seu navegador que comece com "tel:". Se você precisar de uma solução de servidor completa (sem necessidade de instalação de software local), deverá definir isso como "Não" e preencher o próximo campo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Ponto de venda CashDeskSetup=Configuração do módulo de ponto de vendas @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Margem direita do PDF MAIN_PDF_MARGIN_TOP=Margem superior do PDF MAIN_PDF_MARGIN_BOTTOM=Margem inferior do PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Defina isto como "sim" se este grupo for uma computação de outros grupos EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recomendada +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/pt_PT/agenda.lang b/htdocs/langs/pt_PT/agenda.lang index 0a545f07030..9fa9179074f 100644 --- a/htdocs/langs/pt_PT/agenda.lang +++ b/htdocs/langs/pt_PT/agenda.lang @@ -38,6 +38,7 @@ ActionsEvents=Eventos em que o Dolibarr criará uma acção em agenda automátic EventRemindersByEmailNotEnabled=Os lembretes de eventos por email não foram ativados na configuração do módulo %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Terceiro %s, criado +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contrato %s, validado CONTRACT_DELETEInDolibarr=Contrato %s excluído @@ -87,6 +88,7 @@ OrderDeleted=Encomenda eliminada InvoiceDeleted=Fatura eliminada DraftInvoiceDeleted=Factura rascunho apagada CONTACT_CREATEInDolibarr=Contacto %s criado +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contacto %s apagado PRODUCT_CREATEInDolibarr=O produto %s foi criado PRODUCT_MODIFYInDolibarr=O produto %s foi modificado diff --git a/htdocs/langs/pt_PT/banks.lang b/htdocs/langs/pt_PT/banks.lang index 85603fd0468..1d0e8eb31e6 100644 --- a/htdocs/langs/pt_PT/banks.lang +++ b/htdocs/langs/pt_PT/banks.lang @@ -115,7 +115,7 @@ TransferTo=Para TransferFromToDone=A transferência de %s para %s de %s %s foi criado. CheckTransmitter=Remetente ValidateCheckReceipt=Validar este recibo do cheque? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Eliminar este recibo do cheque? ConfirmDeleteCheckReceipt=Tem a certeza que deseja eliminar este recibo do cheque? BankChecks=Cheques diff --git a/htdocs/langs/pt_PT/bills.lang b/htdocs/langs/pt_PT/bills.lang index a439d38632e..2f37a50298a 100644 --- a/htdocs/langs/pt_PT/bills.lang +++ b/htdocs/langs/pt_PT/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Pagamento devido em DateInvoice=Data da fatura DatePointOfTax=Ponto de imposto NoInvoice=Nenhuma fatura +NoOpenInvoice=No open invoice ClassifyBill=Classificar a fatura SupplierBillsToPay=Faturas de fornecedores não pagas CustomerBillsUnpaid=Faturas a receber de clientes @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/pt_PT/boxes.lang b/htdocs/langs/pt_PT/boxes.lang index ee2cd22129a..853020046bd 100644 --- a/htdocs/langs/pt_PT/boxes.lang +++ b/htdocs/langs/pt_PT/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Últimos %s orçamentos modificados -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Faturas a clientes ForCustomersOrders=Encomendas de clientes ForProposals=Orçamentos diff --git a/htdocs/langs/pt_PT/cashdesk.lang b/htdocs/langs/pt_PT/cashdesk.lang index cf648b5eb8a..d5fe9e9ef60 100644 --- a/htdocs/langs/pt_PT/cashdesk.lang +++ b/htdocs/langs/pt_PT/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/pt_PT/compta.lang b/htdocs/langs/pt_PT/compta.lang index 089e1acc3fc..c82bbd456fb 100644 --- a/htdocs/langs/pt_PT/compta.lang +++ b/htdocs/langs/pt_PT/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/pt_PT/cron.lang b/htdocs/langs/pt_PT/cron.lang index d6f7062e193..6b0bc412afc 100644 --- a/htdocs/langs/pt_PT/cron.lang +++ b/htdocs/langs/pt_PT/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=A data de fim não pode ser anterior à data de início StatusAtInstall=Estado da instalação do módulo CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Desativar -CronTaskInactive=Esta tarefa está desativada +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/pt_PT/deliveries.lang b/htdocs/langs/pt_PT/deliveries.lang index 35cad55eb41..c8777e9fdf1 100644 --- a/htdocs/langs/pt_PT/deliveries.lang +++ b/htdocs/langs/pt_PT/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Destinatário ErrorStockIsNotEnough=Não existe stock suficiente Shippable= Transportável NonShippable=Não Transportável +ShowShippableStatus=Show shippable status ShowReceiving=Mostrar recibo da entrega NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index f483a6abc58..3bc18372672 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Valor ruim para o seu parâmetro. Acrescenta ger ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=O login %s já existe. ErrorGroupAlreadyExists=O grupo %s já existe. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Registo não foi encontrado. ErrorFailToCopyFile=Ocorreu um erro ao copiar o ficheiro '%s' para '%s'. ErrorFailToCopyDir=A cópia da diretoria '%s' para '%s' falhou. @@ -117,7 +118,7 @@ ErrorCantReadFile=Erro na leitura do ficheiro '&s' ErrorCantReadDir=Erro na leitura da pasta '%s' ErrorBadLoginPassword=Utilizador ou palavra-passe incorretos ErrorLoginDisabled=A sua conta está desactivada -ErrorFailedToRunExternalCommand=Erro ao tentar o comando externo. verifique que está disponivel e executavel pelo seu servidor PHP. sim o PHP Safe Mode está activo, verifique que o comando encontra-se numa pasta definida ao parâmetro safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Erro na modificação da palavra-passe ErrorLoginDoesNotExists=a conta de utilizador de %s não foi encontrado. ErrorLoginHasNoEmail=Este utilizador não tem e-mail. impossivel continuar. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/pt_PT/eventorganization.lang b/htdocs/langs/pt_PT/eventorganization.lang index b15ebc7ff3f..1d10ed65fce 100644 --- a/htdocs/langs/pt_PT/eventorganization.lang +++ b/htdocs/langs/pt_PT/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Tipo de evento +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/pt_PT/exports.lang b/htdocs/langs/pt_PT/exports.lang index 083e48f5527..49f2eee70c0 100644 --- a/htdocs/langs/pt_PT/exports.lang +++ b/htdocs/langs/pt_PT/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipo de linha (0= produto, serviço de 1=) FileWithDataToImport=Arquivo com os dados de importação FileToImport=Fonte ficheiro a importar FileMustHaveOneOfFollowingFormat=O arquivo a ser importado deve ter um dos seguintes formatos -DownloadEmptyExample=Faça o download do arquivo de modelo com informações sobre o conteúdo do campo (* são campos obrigatórios) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Escolha o formato de arquivo para usar como formato de arquivo de importação clicando no ícone %s para selecioná-lo ... ChooseFileToImport=Carregar arquivo, em seguida, clique no ícone %s para selecionar o arquivo como arquivo de importação de origem ... SourceFileFormat=Formato de arquivo de origem diff --git a/htdocs/langs/pt_PT/holiday.lang b/htdocs/langs/pt_PT/holiday.lang index 21f0c7aac70..a17cf87e2f0 100644 --- a/htdocs/langs/pt_PT/holiday.lang +++ b/htdocs/langs/pt_PT/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Aguarda aprovação ApprovedCP=Aprovado CancelCP=Cancelado RefuseCP=Recusou -ValidatorCP=Aprovador +ValidatorCP=Approver ListeCP=Lista de licença Leave=Pedido de licença LeaveId=ID da licença @@ -39,11 +39,11 @@ TitreRequestCP=Pedido de licença TypeOfLeaveId=Tipo de ID de licença TypeOfLeaveCode=Tipo de licença (código) TypeOfLeaveLabel=Tipo de licença (nome) -NbUseDaysCP=Número de dias de férias consumidos -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Dias consumidos -NbUseDaysCPShortInMonth=Dias consumidos no mês -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Data de início no mês DateEndInMonth=Data final no mês EditCP=Editar @@ -55,7 +55,7 @@ TitleDeleteCP=Eliminar o pedido de licença ConfirmDeleteCP=Tem a certeza que deseja eliminar este pedido de licença? ErrorCantDeleteCP=Erro, você não tem permissão para eliminar este pedido de licença. CantCreateCP=Você não tem permissão para fazer pedidos de licença. -InvalidValidatorCP=Deve escolher um aprovador para os seus pedidos de licença +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Deve escolher uma data de início. NoDateFin=Deve escolher uma data de fim. ErrorDureeCP=O seu pedido de licença não contém dias úteis. @@ -80,14 +80,14 @@ UserCP=Utilizador ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=Ver os registos de alteração -LogCP=Registo de actualizações de dias disponíveis -ActionByCP=Realizado por -UserUpdateCP=Para o utilizador +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Balanço prévio NewSoldeCP=Novo Balanço alreadyCPexist=Um pedido de licença já foi feito para esse período. -FirstDayOfHoliday=Primeiro dia de férias -LastDayOfHoliday=Último dia de férias +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Últimos %s pedidos de licença modificados HolidaysMonthlyUpdate=Atualização mensal ManualUpdate=Atualização manual @@ -104,8 +104,8 @@ LEAVE_SICK=Baixa médica LEAVE_OTHER=Outra tipo de licença LEAVE_PAID_FR=Férias pagas ## Configuration du Module ## -LastUpdateCP=Atualização automática mais recente da alocação de licenças -MonthOfLastMonthlyUpdate=Mês da última atualização automática de alocação de licenças +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Atualizado com sucesso. Module27130Name= Gestão de pedidos de licença Module27130Desc= Gestão de pedidos de licença @@ -125,10 +125,12 @@ HolidaysCanceledBody=O seu pedido de licença para o período de %s a %s foi can FollowedByACounter=1: Este tipo de licença precisa ser seguido por um contador. O contador é incrementado manualmente ou automaticamente, quando um pedido de licença é validado o contador é diminuído.
    0: Não seguido por um contador. NoLeaveWithCounterDefined=Não há tipos de licença definidos que precisam ser seguidos por um contador GoIntoDictionaryHolidayTypes=Vá para Home - Configuração - Dicionários - Tipo de licença para configurar os diferentes tipos de folhas. -HolidaySetup=Configuração do módulo Holiday -HolidaysNumberingModules=Deixar modelos de numeração de pedidos +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Modelo para solicitações de licenças PDF FreeLegalTextOnHolidays=Texto livre em PDF WatermarkOnDraftHolidayCards=Marcas d'água em pedidos de licença de rascunho HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/pt_PT/hrm.lang b/htdocs/langs/pt_PT/hrm.lang index dd249f092a0..8ad03679dba 100644 --- a/htdocs/langs/pt_PT/hrm.lang +++ b/htdocs/langs/pt_PT/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Abrir estabelecimento CloseEtablishment=Fechar estabelecimento # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=GRH - Lista departamentos DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index af06712e5be..5d2e091ca1b 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Recarregar módulo %s MigrationResetBlockedLog=Restabelecer o módulo BlockedLog para o algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostrar opções indisponíveis HideNotAvailableOptions=Ocultar opções indisponíveis ErrorFoundDuringMigration=Erro (s) foram relatados durante o processo de migração, portanto, a próxima etapa não está disponível. Para ignorar erros, você pode clicar aqui , mas o aplicativo ou alguns recursos podem não funcionar corretamente até que os erros sejam resolvidos. diff --git a/htdocs/langs/pt_PT/interventions.lang b/htdocs/langs/pt_PT/interventions.lang index 969f798f133..6e007f30c96 100644 --- a/htdocs/langs/pt_PT/interventions.lang +++ b/htdocs/langs/pt_PT/interventions.lang @@ -64,5 +64,5 @@ InterLineDuration=Duração da intervenção na linha InterLineDesc=Descrição da intervenção na linha RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template -Reopen=Reabrir ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/pt_PT/knowledgemanagement.lang b/htdocs/langs/pt_PT/knowledgemanagement.lang index d73f86f5340..18fca0b42f3 100644 --- a/htdocs/langs/pt_PT/knowledgemanagement.lang +++ b/htdocs/langs/pt_PT/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Sistema de Gestão de Conhecimento # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Gerir uma «Gestão de Conhecimento» (KM) ou base do «Centro de Ajuda» # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Configurar Sistema de Gestão de Conhecimento Settings = Definições -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Página de configuração do Sistema de Gestão de Conhecimento # # About page # About = Sobre -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = Sobre Gestão de Conhecimento +KnowledgeManagementAboutPage = Página de sobre a Gestão de Conhecimento -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +KnowledgeManagementArea = Gestão de Conhecimento +MenuKnowledgeRecord = Base conhecimento +ListKnowledgeRecord = Lista de artigos +NewKnowledgeRecord = Novo artigo +ValidateReply = Validar solução +KnowledgeRecords = Artigos KnowledgeRecord = Artigo -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Campos extra para o Artigo +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/pt_PT/languages.lang b/htdocs/langs/pt_PT/languages.lang index b84561e4f84..a76048efed8 100644 --- a/htdocs/langs/pt_PT/languages.lang +++ b/htdocs/langs/pt_PT/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Amárico (Etiópia) Language_ar_AR=Árabe Language_ar_EG=Árabe (Egito) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Árabe +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijão Language_bn_BD=Bengali Language_bn_IN=Bengali (Índia) @@ -82,8 +85,10 @@ Language_ne_NP=Nepalês Language_nl_BE=Holandês (Bélgica) Language_nl_NL=Holandês Language_pl_PL=Polaco +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Português (Brasil) Language_pt_PT=Português +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romeno Language_ru_RU=Russo Language_ru_UA=Russo (Ucrânia) diff --git a/htdocs/langs/pt_PT/mails.lang b/htdocs/langs/pt_PT/mails.lang index ab74458e321..9ba00dd1dd7 100644 --- a/htdocs/langs/pt_PT/mails.lang +++ b/htdocs/langs/pt_PT/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Eliminar filtro AdvTgtSaveFilter=Guardar filtro AdvTgtCreateFilter=Criar filtro AdvTgtOrCreateNewFilter=Nome do novo filtro -NoContactWithCategoryFound=Nenhum contato / endereço com uma categoria encontrada -NoContactLinkedToThirdpartieWithCategoryFound=Nenhum contato / endereço com uma categoria encontrada +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 64814d5926e..3dcd5363427 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -430,6 +430,7 @@ LT1IN=ICBS LT2IN=IBSE LT1GC=Centavos adicionais VATRate=Taxa IVA +RateOfTaxN=Rate of tax %s VATCode=Código da taxa de imposto VATNPR=Taxa de imposto NPR DefaultTaxRate=Taxa de imposto predefinida @@ -729,6 +730,7 @@ MenuMembers=Membros MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Taxas | Despesas Especiais ThisLimitIsDefinedInSetup=Límite Dolibarr (Menu inicio->configuração->segurança): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Idioma atual CurrentTheme=Tema Actual @@ -932,13 +934,13 @@ EMailTemplates=Modelos de e-mail FileNotShared=Ficheiro não partilhado para o público exterior. Project=Projeto Projects=Projetos -LeadOrProject=Pista | Projecto -LeadsOrProjects=Pistas | Projectos +LeadOrProject=Oportunidade | Projecto +LeadsOrProjects=Oportunidades | Projectos Lead=Pista Leads=Pistas -ListOpenLeads=Listar pistas em aberto +ListOpenLeads=Listar Oportunidade(s) aberta(s) ListOpenProjects=Listar projectos em aberto -NewLeadOrProject=Nova pista ou projecto +NewLeadOrProject=Nova(o) Oportunidade ou projecto Rights=Permissões LineNb=Linha número IncotermLabel=Incoterms @@ -1072,6 +1074,7 @@ ValidFrom=Válido desde ValidUntil=Válido até NoRecordedUsers=Sem utilizadores ToClose=Para fechar +ToRefuse=To refuse ToProcess=Por processar ToApprove=Para aprovar GlobalOpenedElemView=Vista global @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/pt_PT/members.lang b/htdocs/langs/pt_PT/members.lang index 6bbaed3730c..ef70c09980b 100644 --- a/htdocs/langs/pt_PT/members.lang +++ b/htdocs/langs/pt_PT/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Enviar lembrete por e-mail aos membros quando MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/pt_PT/modulebuilder.lang b/htdocs/langs/pt_PT/modulebuilder.lang index 9d3997269fb..1dabb8aef31 100644 --- a/htdocs/langs/pt_PT/modulebuilder.lang +++ b/htdocs/langs/pt_PT/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/pt_PT/mrp.lang b/htdocs/langs/pt_PT/mrp.lang index 9e4293a072e..39982e5bd35 100644 --- a/htdocs/langs/pt_PT/mrp.lang +++ b/htdocs/langs/pt_PT/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Faturas do material LatestBOMModified=Últimas %s Faturas do material modificadas LatestMOModified=Últimas %s Encomendas de Manufatura modificadas Bom=Faturas do Material -BillOfMaterials=Fatura do Material +BillOfMaterials=Bill of Materials BOMsSetup=Configuração do módulo de FM ListOfBOMs=Lista das faturas do material - FM ListOfManufacturingOrders=Lista das Encomendas de Manufaturação -NewBOM=Nova fatura de material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=Modelos de numeração de FM BOMsModelModule=Modelos de documento de FM MOsNumberingModules=Modelos de numeração de EM @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Texto livre no documento de FM WatermarkOnDraftBOMs=Marca de água no rascunho de FM FreeLegalTextOnMOs=Texto livre no documento de EM WatermarkOnDraftMOs=Marca de água no rascunho de EM -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Eficiência de manufaturação ConsumptionEfficiency=Eficiência de consumo @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Eliminar Faturas de Materiais DeleteMo=Eliminar Encomenda de Manufaturação -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Encomendas de Manufatura NewMO=Nova Encomenda de Manufatura QtyToProduce=Qt. a produzir @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Duração estimada -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consumir e Produzir Tudo Manufactured=Manufaturado TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=Nenhuma alteração de ''stock'' nos serviços ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Adicionar nova linha para consumir ProductsToConsume=Produtos para produzir ProductsToProduce=Produtos para produzir @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Eliminar NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/pt_PT/orders.lang b/htdocs/langs/pt_PT/orders.lang index 923d1cfc45a..671b06f6a75 100644 --- a/htdocs/langs/pt_PT/orders.lang +++ b/htdocs/langs/pt_PT/orders.lang @@ -11,6 +11,7 @@ OrderDate=Data da encomenda OrderDateShort=Data de encomenda OrderToProcess=Encomenda a processar NewOrder=Nova encomenda +NewSupplierOrderShort=Nova encomenda NewOrderSupplier=New Purchase Order ToOrder=Efetuar encomenda MakeOrder=Efetuar encomenda @@ -73,6 +74,7 @@ DeleteOrder=Eliminar encomenda CancelOrder=Cancelar encomenda OrderReopened= Order %s re-open AddOrder=Criar encomenda +AddSupplierOrderShort=Criar encomenda AddPurchaseOrder=Create purchase order AddToDraftOrders=Adicionar à encomenda rascunho ShowOrder=Mostrar encomenda diff --git a/htdocs/langs/pt_PT/other.lang b/htdocs/langs/pt_PT/other.lang index 19ea1b73c8c..7b1207f8e96 100644 --- a/htdocs/langs/pt_PT/other.lang +++ b/htdocs/langs/pt_PT/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Utilizador que fechou FileWasRemoved=o Ficheiro foi eliminado DirWasRemoved=A pasta foi eliminada FeatureNotYetAvailable=O funcionalidade ainda não se encontra disponível na versão atual +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Funcionalidades suportadas Width=Largura Height=Altura @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Área de Exportações @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Fechar diff --git a/htdocs/langs/pt_PT/partnership.lang b/htdocs/langs/pt_PT/partnership.lang index b2bfd88cccb..4d521e28537 100644 --- a/htdocs/langs/pt_PT/partnership.lang +++ b/htdocs/langs/pt_PT/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Gestão de parceria +PartnershipDescription=Módulo de gestão de parceria +PartnershipDescriptionLong= Módulo de gestão de parceria + +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Nova Parceria +ListOfPartnerships=Lista de parcerias # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Configurar parceria +PartnershipAbout=Sobre Parceria +PartnershipAboutPage=Página de sobre Parcerias +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # -DatePartnershipStart=Data de inicio +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member +DatePartnershipStart=Data de início DatePartnershipEnd=Data de finalização +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Esboço, projeto -PartnershipAccepted = Aceite -PartnershipRefused = Recusada -PartnershipCanceled = Cancelado - -PartnershipManagedFor=Partners are +PartnershipDraft=Minuta +PartnershipAccepted=Aceite +PartnershipRefused=Recusada +PartnershipCanceled=Cancelada +PartnershipManagedFor=Os parceiros são diff --git a/htdocs/langs/pt_PT/printing.lang b/htdocs/langs/pt_PT/printing.lang index ecba9f72f72..ffd3cd0bf20 100644 --- a/htdocs/langs/pt_PT/printing.lang +++ b/htdocs/langs/pt_PT/printing.lang @@ -46,7 +46,7 @@ IPP_Device=Dispositivo IPP_Media=Média da impressora IPP_Supported=Tipo de média DirectPrintingJobsDesc=Esta página lista as tarefas de impressão encontradas para as impressoras disponíveis. -GoogleAuthNotConfigured=A configuração do Google OAuth não foi efetuada. Ative o módulo OAuth e defina um ID/Segredo do Google. +GoogleAuthNotConfigured=O Google OAuth não foi configurado. Hailite o módulo OAuth e defina um ID/Acesso do Google. GoogleAuthConfigured=As credenciais do Google OAuth foram encontradas na configuração do módulo OAuth. PrintingDriverDescprintgcp=Variáveis ​​de configuração para o driver de impressão do Google Cloud Print. PrintingDriverDescprintipp=Variáveis ​​de configuração para o driver de impressão. diff --git a/htdocs/langs/pt_PT/productbatch.lang b/htdocs/langs/pt_PT/productbatch.lang index 93a0b6c782d..660b82a8081 100644 --- a/htdocs/langs/pt_PT/productbatch.lang +++ b/htdocs/langs/pt_PT/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Utilizar lote/número de série ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Mostrar registo de movimentos para cada par produto/lote StockDetailPerBatch=Detalhes do estoque por lote SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index 90df059d129..b738923553a 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Preços diferentes para cada cliente PriceCatalogue=Um único preço de venda por produto / serviço PricingRule=Regras para preços de venda AddCustomerPrice=Adicionar preço por produto -ForceUpdateChildPriceSoc=Definir o mesmo preço em subsidiárias de clientes +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log dos preços anteriores do cliente MinimumPriceLimit=O preço mínimo não pode ser menor que %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Aumentar / Diminuir o estoque na mudança pai ComposedProduct=Child products MinSupplierPrice=Preço de compra mínimo MinCustomerPrice=Preço mínimo de venda +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Configuração dinâmica de preços DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Adicionar Variável @@ -340,7 +341,7 @@ ProductSheet=Ficha do Produto ServiceSheet=Folha de serviço PossibleValues=Valores possíveis GoOnMenuToCreateVairants=Vá no menu %s - %s para preparar variantes de atributos (como cores, tamanho, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Valor (PMP) +PMPValueShort=PMP diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index b94c97c4627..f945d5cfd4e 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -140,6 +140,7 @@ NoTasks=Não existem tarefas para este projeto LinkedToAnotherCompany=Vinculado a Terceiros TaskIsNotAssignedToUser=Tarefa não atribuída ao usuário. Use o botão ' %s ' para atribuir tarefa agora. ErrorTimeSpentIsEmpty=Tempo dispensado está vazio +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Esta ação também vai excluir todas as tarefas do projeto (%s tarefas no momento) e todas as entradas de tempo dispensadas. IfNeedToUseOtherObjectKeepEmpty=Caso alguns objetos (fatura, encomenda, ...), pertencentes a um terceiro, deve estar vinculado ao projeto para criar, manter este vazio para ter o projeto sendo multi-terceiros. CloneTasks=Clonar tarefas @@ -241,6 +242,7 @@ LatestModifiedProjects=Últimos %s projetos modificados OtherFilteredTasks=Outras tarefas filtradas NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Permitir comentários de usuários sobre tarefas @@ -252,10 +254,12 @@ SendProjectRef=Projeto de informação %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Tempos Dispendidos TimeSpentForInvoice=Tempos Dispendidos OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Nova fatura +NewInter=Nova intervenção OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/pt_PT/receptions.lang b/htdocs/langs/pt_PT/receptions.lang index f6a08b9543d..095d1bd940f 100644 --- a/htdocs/langs/pt_PT/receptions.lang +++ b/htdocs/langs/pt_PT/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Você deve primeiro validar a encomenda antes ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/pt_PT/salaries.lang b/htdocs/langs/pt_PT/salaries.lang index 317b98ad927..a3830a5441d 100644 --- a/htdocs/langs/pt_PT/salaries.lang +++ b/htdocs/langs/pt_PT/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Conta contabilística utilizada para utilizadores de terceiros SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Conta contabilística usada por defeito para pagamentos de salários +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salário Salaries=Salários -NewSalaryPayment=Novo Pagamento de Salário +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Pagamento de Salário SalariesPayments=Pagamentos de Salários +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Mostrar pagamento de salário THM=Taxa horária média TJM=Taxa diária média CurrentSalary=Salário atual THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Últimos %s pagamentos salariais -AllSalaries=Todos os pagamentos salariais +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/pt_PT/stocks.lang b/htdocs/langs/pt_PT/stocks.lang index 3d43ddfc367..67fca8517a7 100644 --- a/htdocs/langs/pt_PT/stocks.lang +++ b/htdocs/langs/pt_PT/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Preço de compra Unitário StockTooLow=Stock insuficiente StockLowerThanLimit=Estoque inferior ao limite de alerta (%s) EnhancedValue=Valor -PMPValue=Valor (PMP) -PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Crie um armazém de usuários automaticamente ao criar um usuário AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Transferência de estoque do produto %s para outro depósi InventoryCodeShort=Inv./Mov. código NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Este lote / número de série ( %s ) já existe, mas com data diferente de eatby ou sellby (encontrado %s , mas você insere %s ). -OpenAll=Aberto para todas as ações -OpenInternal=Aberto somente para ações internas +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=A opção "vários preços por segmento" está ativada. Isso significa que um produto tem vários preços de venda, portanto, o valor para venda não pode ser calculado ProductStockWarehouseCreated=Limite de estoque para estoque ideal de alerta e desejado criado corretamente @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reabrir -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/pt_PT/ticket.lang b/htdocs/langs/pt_PT/ticket.lang index 73f6964c767..69c8f954627 100644 --- a/htdocs/langs/pt_PT/ticket.lang +++ b/htdocs/langs/pt_PT/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Questão comercial TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projeto TicketTypeShortOTHER=Outro @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuário atribuído TypeContact_ticket_external_SUPPORTCLI=Contato com o cliente / acompanhamento de incidentes TypeContact_ticket_external_CONTRIBUTOR=Colaborador externo -OriginEmail=Fonte de e-mail +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Ler Assigned=Atribuído InProgress=Em progresso -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Respondidas Waiting=Em espera -Closed=Fechado +SolvedClosed=Solved Deleted=Excluído # Dict @@ -160,7 +162,7 @@ CreatedBy=Criado por NewTicket=Novo ticket SubjectAnswerToTicket=Bilhete de resposta TicketTypeRequest=Tipo de solicitação -TicketCategory=Grupo +TicketCategory=Ticket categorization SeeTicket=Ver ticket TicketMarkedAsRead=O ticket foi marcado como lido TicketReadOn=Lido a @@ -184,9 +186,11 @@ TicketSeverity=Severidade ShowTicket=Ver ticket RelatedTickets=Tickets relacionados TicketAddIntervention=Criar intervenção -CloseTicket=Fechar ticket -CloseATicket=Fechar um ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirmar o fecho do ticket +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Por favor confirme a eliminação do ticket TicketDeletedSuccess=Ticket eliminado com sucesso TicketMarkedAsClosed=Ticket marcado como fechado @@ -211,6 +215,7 @@ TicketMessageHelp=Apenas este texto será salvo na lista de mensagens no cartão TicketMessageSubstitutionReplacedByGenericValues=As variáveis ​​de substituição são substituídas por valores genéricos. TimeElapsedSince=Tempo decorrido desde TicketTimeToRead=Tempo decorrido antes de ler +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Ticket dos contactos TicketDocumentsLinked=Documentos ligados ao ticket ConfirmReOpenTicket=Confirmar reabertura deste ticket? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Últimos tickets modificados BoxLastModifiedTicketDescription=Últimos %s tickets modificados BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Nenhum ticket modificado recentemente -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/pt_PT/trips.lang b/htdocs/langs/pt_PT/trips.lang index b7273df0d74..b13340d5daf 100644 --- a/htdocs/langs/pt_PT/trips.lang +++ b/htdocs/langs/pt_PT/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=Um relatório de despesas foi pago ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Pessoa para informar para validação. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Informação da Empresa TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Negada em DATE_SAVE=Data da validação DATE_CANCEL=Data do cancelamento DATE_PAIEMENT=Data de pagamento -BROUILLONNER=Reabrir ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validar e submeter para aprovação ValidatedWaitingApproval=Validado (aguarda aprovação) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/pt_PT/users.lang b/htdocs/langs/pt_PT/users.lang index 89ff0bb9258..e3e157a101c 100644 --- a/htdocs/langs/pt_PT/users.lang +++ b/htdocs/langs/pt_PT/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Iniciar a sessão para criar NameToCreate=Nome do Terceiro a Criar YourRole=As suas funções YourQuotaOfUsersIsReached=A sua quota de utilizadores ativos foi atingida! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Apenas um superadmin pode desclassificar um superadmin HierarchicalResponsible=Supervisor HierarchicView=Visualização Hierárquica diff --git a/htdocs/langs/pt_PT/website.lang b/htdocs/langs/pt_PT/website.lang index 9666ec3700a..8b21f3f8ce4 100644 --- a/htdocs/langs/pt_PT/website.lang +++ b/htdocs/langs/pt_PT/website.lang @@ -31,7 +31,7 @@ AddWebsite=Adicionar site da Web Webpage=Página/recipiente da Web AddPage=Adicionar página/recipiente PageContainer=Página -PreviewOfSiteNotYetAvailable=Pré-visualização do seu site %s ainda não disponível. Você deve primeiro ' Importar um modelo de site completo ' ou apenas ' Adicionar uma página / contêiner '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Página solicitada com o ID %s ainda não tem conteúdo, ou o arquivo de cache .tpl.php foi removido. Edite o conteúdo da página para resolver isso. SiteDeleted=Web site '%s' excluído PageContent=Página / Recipiente diff --git a/htdocs/langs/pt_PT/withdrawals.lang b/htdocs/langs/pt_PT/withdrawals.lang index fba7a0e8227..426e2cb39e6 100644 --- a/htdocs/langs/pt_PT/withdrawals.lang +++ b/htdocs/langs/pt_PT/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=Pedidos de pagamento por débito direto %s registrados BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=Nenhuma fatura debitada com sucesso. Verifique se as faturas estão em empresas com um IBAN válido e se o IBAN tem uma UMR (Unique Mandate Reference) com o modo %s . +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classificar como creditado ClassCreditedConfirm=Tem a certeza que quer classificar este débito direto como creditado na sua conta bancária? TransData=Data de Envio @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Data de execução CreateForSepa=Criar ficheiro de débito direto -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/pt_PT/workflow.lang b/htdocs/langs/pt_PT/workflow.lang index 15b30e7f6ac..ee96292d3a9 100644 --- a/htdocs/langs/pt_PT/workflow.lang +++ b/htdocs/langs/pt_PT/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classificar a proposta de origem vin descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classificar a proposta do fornecedor de origem vinculada como faturada quando a fatura do fornecedor é validada (e se o valor da fatura é o mesmo que o valor total da proposta vinculada) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classificar o pedido de compra de origem vinculado como faturado quando a fatura do fornecedor é validada (e se o valor da fatura é o mesmo que o valor total do pedido vinculado) diff --git a/htdocs/langs/ro_RO/accountancy.lang b/htdocs/langs/ro_RO/accountancy.lang index cd32c4486e2..f8a4beffca1 100644 --- a/htdocs/langs/ro_RO/accountancy.lang +++ b/htdocs/langs/ro_RO/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Țări care nu se află în CEE CountriesInEECExceptMe=Țările din CEE, cu excepția celor din %s CountriesExceptMe=Toate țările, cu excepția %s AccountantFiles=Export documente sursă -ExportAccountingSourceDocHelp=Cu acest instrument, puteți exporta evenimentele sursă (listă și PDF-uri) care au fost utilizate pentru a vă genera înregistrările contabile. Pentru a vă exporta jurnalele, utilizați intrarea din meniu %s-%s. +ExportAccountingSourceDocHelp=Cu acest instrument, poți exporta evenimentele sursă (listă CSV și PDF) care au fost utilizate pentru generarea înregistrărilor contabile. +ExportAccountingSourceDocHelp2=Pentru export jurnale, foloseşte meniul %s - %s. VueByAccountAccounting=Vizualizare după contul contabil VueBySubAccountAccounting=Vizualizați după subcont contabil @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Lungimea contului contabil pentru terţ (Dacă setaț ACCOUNTING_MANAGE_ZERO=Permite gestionarea unui număr diferit de zerouri la sfârșitul unui cont contabil. Cerut de unele țări (precum Elveția). Dacă este setat la oprit (implicit), puteți seta următorii doi parametri pentru a cere aplicației să adauge zerouri virtuale. BANK_DISABLE_DIRECT_INPUT=Dezactivează înregistrarea directă a tranzacției în contul bancar ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Activați schița de export în jurnal -ACCOUNTANCY_COMBO_FOR_AUX=Activați lista combo pentru cont auxiliar (poate fi lentă dacă aveți o mulțime de terți) +ACCOUNTANCY_COMBO_FOR_AUX=Activare listă combinată pentru contul subsidiar (poate fi lent dacă aveți o mulțime de terți, întrerupe capacitatea de a căuta după o valoare parţială) ACCOUNTING_DATE_START_BINDING=Definiți o dată pentru a începe legarea și transferul în contabilitate. Înainte de această dată, tranzacțiile nu vor fi transferate în contabilitate. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=La transferul contabil, selectați perioada în mod implicit @@ -245,9 +246,9 @@ DescThirdPartyReport=Consultă aici lista terţilor clienților și furnizori ș ListAccounts=Lista conturilor contabile UnknownAccountForThirdparty=Cont terț necunoscut. Vom folosi %s UnknownAccountForThirdpartyBlocking=Cont terț necunoscut. Eroare blocantă -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Cont analitic de terţ nedefinit sau terţ necunoscut. Se va folosi%s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Contul contabil analitic nedefinit sau terț sau utilizator necunoscut. Se va folosi %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Terț necunoscut și/sau cont analitic alocat nedefinit la plată. Se va menține valoarea contului analitic ca necompletat. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Contul terț nu este definit sau este necunoscut. Eroare blocantă. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Contul contabil analitic nedefinit sau terț sau utilizator necunoscut. Eroare blocantă. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Cont contabil de terți necunoscut și cont de avans nedefinit. Eroare blocantă PaymentsNotLinkedToProduct=Plata nu este legată de vreun produs/serviciu OpeningBalance=Sold iniţial de deschidere @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Dezactivați legarea și transferul în ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Dezactivați legarea și transferul în contabilitate pentru rapoartele de cheltuieli (rapoartele de cheltuieli nu vor fi luate în considerare în contabilitate) ## Export +NotifiedExportDate=Dată notificare export (modificarea înregistrărilor nu va fi posibilă) +NotifiedValidationDate=Validare intrări (modificarea sau ștergerea intrărilor nu va fi posibilă) +ConfirmExportFile=Confirmare generare fișier de export contabil? ExportDraftJournal=Export jurnal schiţă Modelcsv=Model export Selectmodelcsv=Selectează un model de export @@ -335,7 +339,7 @@ Modelcsv_normal=Export clasic Modelcsv_CEGID=Export pentru expert contabil CEGID Modelcsv_COALA=Export pentru Sage Coala Modelcsv_bob50=Export pentru Sage BOB 50 -Modelcsv_ciel=Exportați pentru Sage Ciel Compta sau Compta Evolution +Modelcsv_ciel=Export pentru Sage50, Ciel Compta sau Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export pentru Quadratus QuadraCompta Modelcsv_ebp=Export pentru EBP Modelcsv_cogilog=Export pentru Cogilog diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index 18f013674a6..73fcbc08307 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utilizator intern ExternalUser=Utilizator extern InternalUsers=Utilizatori interni ExternalUsers=Utilizatori externi +UserInterface=Interfaţă utilizator GUISetup=Afişare SetupArea=Setări UploadNewTemplate=Încărcați șabloan(e) noi @@ -84,6 +85,7 @@ NumberOfBytes=Număr de octeți SearchString=Șir de căutare NotAvailableWhenAjaxDisabled=Nu este disponibil, atunci când Ajax este dezactivat AllowToSelectProjectFromOtherCompany=Pe documentul unui terț, puteți alege un proiect legat de un alt terț +TimesheetPreventAfterFollowingMonths=Limitează înregistrarea timpului consumat la următorul număr de luni JavascriptDisabled=JavaScript dezactivat UsePreviewTabs=Utilizaţi taburile de previzualizare ShowPreview=Arată previzualizare @@ -116,10 +118,11 @@ MultiCurrencySetup=Configurare multi-monedă MenuLimits=Limite şi precizii MenuIdParent=ID Meniu părinte DetailMenuIdParent=ID-ul meniului părinte (0 pentru meniu top) +ParentID=ID părinte DetailPosition=Număr de ordine pentru a defini poziţia în meniu AllMenus=Toate NotConfigured=Modulul/aplicația nu a fost configurată -Active=Activ +Active=Active SetupShort=Setări OtherOptions=Alte opţiuni OtherSetup=Alte setări @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Funcționalitate disponibilă numai pe versiuni ofi BoxesDesc=Widget-urile sunt componente care prezintă unele informații pe care le puteți adăuga pentru a personaliza unele pagini. Puteți alege între afișarea sau neafișarea widget-ului, selectând pagina țintă și dând clic pe 'Activare' sau făcând clic pe coșul de gunoi pentru dezactivare. OnlyActiveElementsAreShown=Numai elementele din module activate sunt afişate. ModulesDesc=Modulele/aplicațiile determină ce caracteristici sunt disponibile în software. Unele module necesită acordarea de permisiuni utilizatorilor după activare. Faceți clic pe butonul on/off%s din fiecare modul pentru a activa sau dezactiva un modulul/aplicația. +ModulesDesc2=Fă clic pe rotiţa mouse-ului %s pentru a configura modulul/aplicația. ModulesMarketPlaceDesc=Puteți descărca mai multe module de pe site-uri externe de pe Internet ... ModulesDeployDesc=Dacă permisiunile sistemului de fișiere permit acest lucru, puteți utiliza acest instrument pentru a implementa un modul extern. Modulul va fi apoi vizibil în fişa %s. ModulesMarketPlaces=Găsiți aplicații/module externe @@ -221,8 +225,8 @@ NotCompatible=Acest modul nu pare compatibil cu Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Acest modul necesită o actualizare la Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Consultați pe Market place SeeSetupOfModule=Vezi setările modului %s +SetOptionTo=Setează opţiunea %s la %s Updated=Updatat -Nouveauté=Noutate AchatTelechargement=Cumpărați / Descărcați GoModuleSetupArea=Pentru a implementa/instala un nou modul, accesați zona de configurare a modulelor: %s. DoliStoreDesc=DoliStore, marketplace oficial pentru module externe Dolibarr ERP/CRM @@ -399,6 +403,7 @@ SecurityToken=Cheia pentru URL-uri securizate NoSmsEngine=Nu este disponibil niciun manager de expediere SMS-uri. Un manager de expediere SMS-uri nu este instalat cu distribuția implicită deoarece acesta depinde de un furnizor extern, dar puteți găsi unul pe %s PDF=PDF PDFDesc=Opţiuni globale pentru generarea PDF +PDFOtherDesc=Opţiune PDF specifică anumitor module PDFAddressForging=Reguli pentru secţiunea adresă HideAnyVATInformationOnPDF=Ascundeți toate informațiile referitoare la taxa pe vânzări / TVA PDFRulesForSalesTax=Reguli pentru taxa pe vânzări / TVA @@ -561,8 +566,8 @@ Module53Desc=Gestiunea serviciilor Module54Name=Contracte/Abonamente Module54Desc=Gestionarea contractelor (servicii sau abonamente periodice) Module55Name=Coduri de bare -Module55Desc=Managementul codurilor de bare -Module56Name=Plată prin transfer credit +Module55Desc=Management coduri de bare şi coduri QR +Module56Name=Plăţi transfer credit Module56Desc=Gestionarea plății furnizorilor efectuate prin ordine de transfer de credit. Acesta include generarea de fișiere SEPA pentru țările europene. Module57Name=Plăţi prin direct debit Module57Desc=Gestionarea ordinelor de direct debit. Acesta include generarea de fișiere SEPA pentru țările europene. @@ -848,10 +853,10 @@ Permission402=Creare/modificare discount-uri Permission403=Validare discount-uri Permission404=Şterge discount-uri Permission430=Utilizare bară de depanare -Permission511=Vizualizare plăți salarii (ale tale și ale subordonaților) -Permission512=Creare/modificare plăţi salarii -Permission514=Şterge plăţi salarii -Permission517=Vizualizare plăţilor salariilor tuturor +Permission511=Citeşte salarii și plăți (ale sale și ale subordonaților) +Permission512=Crează/modifică salarii şi plăţi +Permission514=Şterge salarii şi plăţi +Permission517=Citeşte toate salariile și plățile Permission519=Export salarii Permission520=Citeşte credite împrumuturi Permission522=Creare/modificare credite împrumuturi @@ -965,6 +970,8 @@ Permission23003=Şterge Joburi programate Permission23004=Execută Joburi programate Permission50101=Utilizează Punct de vânzare POS (SimplePOS) Permission50151=Utilizează Punct de vânzare POS (TakePOS) +Permission50152=Editează linii de vânzare +Permission50153=Editează linii comenzi de vânzare Permission50201=Citeşte tranzacţii Permission50202=Import tranzacţii Permission50330=Citeşte obiecte Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Unități de măsură DictionarySocialNetworks=Reţele sociale DictionaryProspectStatus=Status prospect pentru companii DictionaryProspectContactStatus=Status prospect pentru contacte -DictionaryHolidayTypes=Tipuri de concediu +DictionaryHolidayTypes=Concediu - Tipuri de concediu DictionaryOpportunityStatus=Stare lead-uri pentru proiect/oportunitate DictionaryExpenseTaxCat=Raport de cheltuieli - Categorii de transport DictionaryExpenseTaxRange=Raport de cheltuieli - Gama de categorii de transport DictionaryTransportMode=Raportare intracomunitară - Mod transport +DictionaryBatchStatus=Status control calitate lot/serie produs TypeOfUnit=Tip de unitate SetupSaved=Setări salvate SetupNotSaved=Setarea nu a fost salvată @@ -1185,9 +1193,12 @@ SetupDescription2=Următoarele două secțiuni sunt obligatorii (primele două i SetupDescription3=%s->%s

    Parametri de bază folosiți pentru a personaliza comportamentul implicit al aplicației (de exemplu, pentru funcțiile legate de țară). SetupDescription4=%s->%s

    Acest software este o suită de mai multe module/aplicații. Modulele necesare trebuie să fie activate și configurate. Intrările din meniu vor apărea odată cu activarea acestor module. SetupDescription5=Meniul Alte setări gestionează parametrii opționali. +SetupDescriptionLink=%s - %s +SetupDescription3b=Parametrii de bază utilizați pentru a personaliza comportamentul implicit al aplicației (de exemplu, pentru funcționalităţile legate de țară). +SetupDescription4b=Acest software este o suită de mai multe module/aplicații. Modulele care vă sunt necesare trebuie să fie activate și configurate. Intrările din meniu vor apărea odată cu activarea acestor module. AuditedSecurityEvents=Evenimentele de securitate care sunt auditate NoSecurityEventsAreAduited=Niciun eveniment de securitate nu este auditat. Le poţi activa din meniul %s -Audit=Audit +Audit=Evenimente securitate InfoDolibarr=Despre sistem InfoBrowser=Despre browser InfoOS=Despre sistemul de operare @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Funcţiile SSL funcţii nu sunt disponibile în PHP DownloadMoreSkins=Mai multe teme de descărcat SimpleNumRefModelDesc=Returnează numărul de referință în formatul %s yymm-nnnn unde yy este anul, mm este luna și nnnn este un număr secvențial cu incrementare automată fără resetare SimpleNumRefNoDateModelDesc=Returnează numărul de referință în formatul %s-nnnn unde nnnn este un număr de incrementare automată secvențial fără resetare -ShowProfIdInAddress=Afișare id profesional cu adrese -ShowVATIntaInAddress=Ascunde cota de TVA intracomunitar cu adrese +ShowProfIdInAddress=Afişează Id-ul profesional cu adresele +ShowVATIntaInAddress=Ascunde codul de TVA intracomunitar TranslationUncomplete=Traducere parţială MAIN_DISABLE_METEO=Dezactivare vizualizarea meteorologică MeteoStdMod=Mod standard @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condiția este momentan %s YouUseBestDriver=Utilizați driverul %s, care este cel mai bun driver disponibil în prezent. YouDoNotUseBestDriver=Utilizați driverul %s dar driverul %s este recomandat. NbOfObjectIsLowerThanNoPb=Aveţi doar %s%s în baza de date. Aceasta nu necesită nicio optimizare specială. +ComboListOptim=Optimizarea încărcării listei combinate SearchOptim=Optimizare căutare -YouHaveXObjectUseSearchOptim=Aveți %s %s în baza de date. Puteți adăuga constanta %s la 1 în Acasă-Configurare-Altele. Limitați căutarea la începutul șirurilor, ceea ce face posibilă utilizarea indecşilor în baza de date și ar trebui să primiți un răspuns mai rapid. -YouHaveXObjectAndSearchOptimOn=Aveţi %s%s în baza de date şi constanta %s este setată la valoarea 1 în Acasă-Setup-Altele. +YouHaveXObjectUseComboOptim=Ai %s %s în baza de date. Poți intra în configurarea modulului pentru a activa încărcarea listei combinate la evenimentul apăsare tastă.  +YouHaveXObjectUseSearchOptim=Ai %s %s în baza de date. Poți adăuga constanta %s cu valoarea 1 în Acasă-Setări-Alte setări. +YouHaveXObjectUseSearchOptimDesc=Acest lucru limitează căutarea la începutul șirurilor, ceea ce face posibilă utilizarea idecşilor bazei de date și ar trebui să obții un răspuns imediat. +YouHaveXObjectAndSearchOptimOn=Ai %s %s în baza de date și constanta %s este setată la %s în Acasă-Setări-Alte setări. BrowserIsOK=Utilizați browserul web %s. Acest browser este ok pentru securitate și performanţă. BrowserIsKO=Utilizați browserul web %s. Acest browser este cunoscut ca fiind o alegere proastă pentru securitate, fiabilitate și performanță. Vă recomandăm să utilizați Firefox, Chrome, Opera sau Safari. PHPModuleLoaded=Componenta PHP %seste încărcată @@ -1433,6 +1447,7 @@ MemberMainOptions=Opţiuni principale AdherentLoginRequired= Gestionează autentificarea pentru fiecare membru AdherentMailRequired=Emailul este necesar pentru a crea un nou membru MemberSendInformationByMailByDefault=Opţiunea de a trimite email de confirmare a membrilor(validare sau confirmare adeziune) este activă în mod implicit +MemberCreateAnExternalUserForSubscriptionValidated=Creare cont de utilizator extern pentru fiecare adeziune de membru nou validat VisitorCanChooseItsPaymentMode=Vizitatorul poate alege din modurile disponibile de plată MEMBER_REMINDER_EMAIL=Activați reminder automat prin email pentru adeziunile expirate. Notă: Modul %s trebuie să fie activat and setat corect pentru a trimite remindere. MembersDocModules=Șabloane documente pentru documentele generate din înregistrarea membrilor @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Ce vizualizare doriți să deschideți implicit atunci când AGENDA_REMINDER_BROWSER=Activați memento-uri evenimente în browserul utilizatorului (Când este atinsă data de reamintire, browserul afișează un popup. Fiecare utilizator poate dezactiva astfel de notificări din configurarea sa de notificări browser). AGENDA_REMINDER_BROWSER_SOUND=Activați notificarea sonoră AGENDA_REMINDER_EMAIL=Activați memento evenimente prin email (opțiunea de reamintire/întârziere poate fi definită pentru fiecare eveniment). -AGENDA_REMINDER_EMAIL_NOTE= Notă: Frecvența task-ului %s trebuie să fie suficientă pentru a vă asigura că reamintirea este trimisă la momentul corect. +AGENDA_REMINDER_EMAIL_NOTE=Notă: Frecvența jobului programat %s trebuie să fie suficientă pentru a vă asigura că reminder-ul este trimis la momentul corect. AGENDA_SHOW_LINKED_OBJECT=Afișați un obiect asociat în vizualizarea agendei ##### Clicktodial ##### ClickToDialSetup=Configurare modul Click To Dial ClickToDialUrlDesc=URL-ul se apelează când se face clic pe pictograma telefon. În URL, poţi utiliza etichete
    __PHONETO__ care vor fi înlocuite cu numărul de telefon al persoanei de apelat
    __PHONEFROM__ care va fi înlocuit cu numărul de telefon al apelantului (al tău)
    __LOGIN__ , care va fi înlocuit cu numele de autentificare clicktodial (definită pe fişa utilizator)
    __PASS__ care va fi înlocuit cu parola clicktodial (definită pe fişa utilizator). ClickToDialDesc=Acest modul schimbă numerele de telefon, atunci când utilizați un computer desktop, în linkuri cu clic. Un clic va apela numărul. Acest lucru poate fi folosit pentru a porni apelul telefonic atunci când utilizați un telefon smart sau când utilizați un sistem CTI bazat pe protocolul SIP, de exemplu. Notă: Când utilizați un smartphone, numerele de telefon sunt întotdeauna făcute clic. ClickToDialUseTelLink=Utilizează doar link "tel:" pe numerele de telefon -ClickToDialUseTelLinkDesc=Utilizați această metodă dacă utilizatorii dvs. au un smartphone sau o interfață software instalată pe același computer ca browserul și poţi apela când faci clic pe un link din browser care începe cu "tel:". Dacă aveți nevoie de o soluție completă de server (fără instalarea software locală), trebuie să setați această opțiune la "Nu" și să completați câmpul următor. +ClickToDialUseTelLinkDesc=Utilizați această metodă dacă utilizatorii dvs. au un smartphone sau o interfață software, instalat pe același computer cu browserul și se poate apela când faceți clic pe un link care începe cu "tel:". Dacă aveți nevoie de un link care începe cu „sip:” sau o soluție completă de server (nu este nevoie de instalarea software-ului local), trebuie să setați acest lucru la „Nu” și să completați câmpul următor. ##### Point Of Sale (CashDesk) ##### CashDesk=POS CashDeskSetup=Configurare modul POS @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Marginea dreaptă a PDF-ului MAIN_PDF_MARGIN_TOP=Marginea superioară a PDF-ului MAIN_PDF_MARGIN_BOTTOM=Marginea inferioară a PDF-ului MAIN_DOCUMENTS_LOGO_HEIGHT=Înălţime logo în PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Adăugare poză pe linia de ofertă +PROPOSAL_PDF_HIDE_PAYMENTTERM=Ascundere termeni de plată +PROPOSAL_PDF_HIDE_PAYMENTMODE=Ascundere mod de plată +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Adăugare semnare electronică în PDF NothingToSetup=Nu există o configurație specifică necesară pentru acest modul. SetToYesIfGroupIsComputationOfOtherGroups=Setați la da dacă acest grup este calculat din alte grupuri EnterCalculationRuleIfPreviousFieldIsYes=Introdu regula de calcul dacă câmpul anterior a fost setat la Da.
    De exemplu:
    CODEGRP1 + CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Mai mare decât IfTrackingIDFoundEventWillBeLinked=Rețineți că, dacă un identificator de urmărire al unui obiect este găsit în e-mail sau dacă e-mailul este un răspuns al unui e-mail colectat și legat de un obiect, evenimentul creat va fi legat automat de obiectul cunoscut. WithGMailYouCanCreateADedicatedPassword=Cu un cont GMail, dacă ați activat validarea cu 2 factori, este recomandat să creați o a doua parolă dedicată pentru aplicație, în loc să utilizați propria parolă de la https://myaccount.google.com/. EmailCollectorTargetDir=Poate fi de dorit să mutați email-ul într-o altă etichetă/director atunci când a fost procesat cu succes. Trebuie doar să setați numele directorului aici pentru a utiliza această caracteristică (NU folosiți caractere speciale în nume). Rețineți că, de asemenea, trebuie să utilizați un cont de autentificare pentru citire/scriere. -EmailCollectorLoadThirdPartyHelp=Puteți utiliza această acțiune pentru a folosi conținutul de e-mail la căutarea și încărcarea unui terț existent în baza de date. Terţul găsit (sau creat) va fi folosit pentru acțiunile în care este necesar. În câmpul parametru puteți folosi, de exemplu, 'EXTRACT: BODY: Name:\\s([^\\s]*)' dacă doriți să extrageți numele terțului dintr-un șir 'Nume: nume căutat' găsit în corpul email-ului. +EmailCollectorLoadThirdPartyHelp=Puteți utiliza această acțiune pentru a folosi conținutul emailului pentru a găsi și încărca un terț în baza de date. Terțul găsit (sau creat) va fi utilizat pentru următoarele acțiuni necesare.
    De exemplu, dacă doreşti să creezi un terț cu un nume extras dintr-un șir 'Nume: nume căutat' găsit în conţinut, utilizează email-ul expeditorului ca email, poți seta câmpul parametru astfel:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point pentru %s:%s DeleteEmailCollector=Şterge colectorul de email-uri ConfirmDeleteEmailCollector=Eşti sigur că vrei să ştergi acest colector de email-uri? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Afişează proiectul în document ShowProjectLabel=Etichetă proiect PDF_USE_ALSO_LANGUAGE_CODE=Dacă doriți să aveți unele texte duplicate în PDF-ul în 2 limbi diferite în același PDF generat, trebuie să setați aici această a doua limbă, astfel încât PDF-ul generat va conține 2 limbi diferite în aceeași pagină, cea aleasă la generarea PDF-ului și aceasta ( doar câteva șabloane PDF acceptă acest lucru). Păstrați gol pentru 1 limbă pentru fiecare PDF. FafaIconSocialNetworksDesc=Introduceți aici codul unei pictograme FontAwesome. Dacă nu știți ce este FontAwesome, puteți utiliza valoarea generică fa-address-book. -FeatureNotAvailableWithReceptionModule=Funcţionalitatea nu este disponibilă când modulul Recepţie este activat RssNote=Notă: Fiecare definiție de flux RSS oferă un widget pe care trebuie să îl activați pentru a-l avea disponibil în tabloul de bord JumpToBoxes=Mergi la Setări -> Widget-uri MeasuringUnitTypeDesc=Foloseşte aici valori ca "mărime", "suprafaţă", "volum", "greutate", "durată" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contactați banca pentru a obține acest ID AdvancedModeOnly=Permisiunea este disponibilă numai în modul Permisiuni avansate ConfFileIsReadableOrWritableByAnyUsers=Fișierul conf poate fi citit sau scris de orice utilizator. Acordă permisiunea doar utilizatorului și grupului serverului web. MailToSendEventOrganization=Organizarea evenimentelor +MailToPartnership=Parteneriat AGENDA_EVENT_DEFAULT_STATUS=Starea implicită a evenimentului când creaţi un eveniment din formular YouShouldDisablePHPFunctions=Ar trebui să dezactivezi funcțiile PHP -IfCLINotRequiredYouShouldDisablePHPFunctions=Cu excepția cazului în care trebuie să rulezi comenzi de sistem (pentru modulul Joburi programate sau pentru a rula linia de comandă externă Antivirus, de exemplu), trebuie să dezactivezi funcțiile PHP +IfCLINotRequiredYouShouldDisablePHPFunctions=Cu excepția cazului în care trebuie să rulați comenzi de sistem în cod personalizat, trebuie să dezactivați funcțiile PHP +PHPFunctionsRequiredForCLI=Pentru shell (cum ar fi jobul programat de backup sau rularea unui program antivirus), trebuie să păstrați funcțiile PHP  NoWritableFilesFoundIntoRootDir=Nu au fost găsite în directorul rădăcină fișiere sau directoare scriptibile ale programelor comune (OK)  RecommendedValueIs=Recomandat: %s +Recommended=Recomandat +NotRecommended=Nerecomandat ARestrictedPath=O cale restricţionată CheckForModuleUpdate=Verificare actualizări module externe CheckForModuleUpdateHelp=Această acțiune se va conecta la editori de module externe pentru a verifica dacă este disponibilă o nouă versiune. ModuleUpdateAvailable=O actualizare este disponibilă NoExternalModuleWithUpdate=Nu au fost găsite actualizări pentru modulele externe SwaggerDescriptionFile=Fişier descriptor Swagger API (pentru utilizare redoc de exemplu) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Ai activat WS API care este învechit. Ar trebui să foloseşti REST API. +RandomlySelectedIfSeveral=Selectat aleatoriu dacă sunt disponibile mai multe imagini +DatabasePasswordObfuscated=Parola bazei de date este eclipsată în fişierul conf +DatabasePasswordNotObfuscated=Parola bazei de date NU este eclipsată în fişierul conf +APIsAreNotEnabled=Modulele API nu sunt activate +YouShouldSetThisToOff=Ar trebui să setezi la 0 sau dezactivat +InstallAndUpgradeLockedBy=Instalarea și actualizările sunt blocate de fișierul %s +OldImplementation=Implementare veche diff --git a/htdocs/langs/ro_RO/agenda.lang b/htdocs/langs/ro_RO/agenda.lang index 98ea4c798e3..b3b9190d787 100644 --- a/htdocs/langs/ro_RO/agenda.lang +++ b/htdocs/langs/ro_RO/agenda.lang @@ -1,26 +1,26 @@ # Dolibarr language file - Source file is en_US - agenda IdAgenda=ID eveniment Actions=Evenimente -Agenda=Agenda -TMenuAgenda=Agenda +Agenda=Agendă +TMenuAgenda=Agendă Agendas=Agende -LocalAgenda=Calendar intern +LocalAgenda=Calendar implicit ActionsOwnedBy=Evenimentul lui ActionsOwnedByShort=Proprietar AffectedTo=Atribuit lui Event=Eveniment Events=Evenimente EventsNb=Număr evenimente -ListOfActions=Lista evenimente +ListOfActions=Listă evenimente EventReports=Rapoarte Eveniment Location=Locație -ToUserOfGroup=Eveniment atribuit unui utilizator din grup +ToUserOfGroup=Eveniment atribuit oricărui utilizator din grup EventOnFullDay=Eveniment pe toat(ă)e zilele MenuToDoActions=Toate ev. neterminate MenuDoneActions=Toate ev. terminate MenuToDoMyActions=Ev. mele neterminate MenuDoneMyActions=Ev. mele terminate -ListOfEvents=Listă evenimente (calendar intern) +ListOfEvents=Listă evenimente (calendar implicit) ActionsAskedBy=Ev. înregistrate de ActionsToDoBy=Ev. atribuite lui ActionsDoneBy=Ev. efectuate de @@ -35,79 +35,81 @@ AgendaAutoActionDesc= Aici puteți defini evenimentele pe care doriți ca Doliba AgendaSetupOtherDesc= Această pagină oferă opțiuni pentru a permite exportul evenimentelor Dolibarr într-un calendar extern (Thunderbird, Google Calendar etc.) AgendaExtSitesDesc=Această pagină vă permite să declaraţi sursele externe de calendare pentru a vedea evenimentele lor în agenda Dolibarr. ActionsEvents=Evenimente pentru care Dolibarr va crea o acţiune în agendă în mod automat -EventRemindersByEmailNotEnabled=Evenimentul pentru mementouri prin e-mail nu a fost activat în configurarea modulului %s. +EventRemindersByEmailNotEnabled=Evenimentul pentru reminder-e pe email nu a fost activat în configurarea modulului %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Terțul %s a fost creat -COMPANY_DELETEInDolibarr=Terţ %s şters -ContractValidatedInDolibarr=Contract %s validat +COMPANY_MODIFYInDolibarr=Terţul %s a fost modificat +COMPANY_DELETEInDolibarr=Terţul %s a fost şters +ContractValidatedInDolibarr=Contractul %s a fost validat CONTRACT_DELETEInDolibarr=Contractul %s a fost șters -PropalClosedSignedInDolibarr=Oferta %s semnată -PropalClosedRefusedInDolibarr=Oferta %s refuzată -PropalValidatedInDolibarr=Oferta %s validată -PropalClassifiedBilledInDolibarr=Oferta %s clasificată facturată -InvoiceValidatedInDolibarr=Factura %s validată -InvoiceValidatedInDolibarrFromPos=Factura %s validată din POS -InvoiceBackToDraftInDolibarr=Factura %s revenită de statutul schiţă -InvoiceDeleteDolibarr=Factura %s ştearsă -InvoicePaidInDolibarr=Factura %s schimbată la plată -InvoiceCanceledInDolibarr=Factura %s anulată -MemberValidatedInDolibarr=Membru %s validat -MemberModifiedInDolibarr=Membrul %s modificat -MemberResiliatedInDolibarr=Membru %s terminat -MemberDeletedInDolibarr=Membru %s şters -MemberSubscriptionAddedInDolibarr=Abonament %s pentru membru %s a fost adăugat -MemberSubscriptionModifiedInDolibarr=Abonamentul %s pentru membrul %s a fost modificat -MemberSubscriptionDeletedInDolibarr=Abonamentul %s pentru membrul %s a fost eliminat -ShipmentValidatedInDolibarr=Livrarea %s validată -ShipmentClassifyClosedInDolibarr=Expediere %s clasificată ca facturată -ShipmentUnClassifyCloseddInDolibarr=Livrarea%s clasificată ca re-deschisă -ShipmentBackToDraftInDolibarr=Expedierea %s revine la starea de proiect -ShipmentDeletedInDolibarr=Livrare %s ştearsă -ReceptionValidatedInDolibarr=Recepţie %s validată +PropalClosedSignedInDolibarr=Oferta comercială %s a fost semnată +PropalClosedRefusedInDolibarr=Oferta comercială %s a fost refuzată +PropalValidatedInDolibarr=Oferta comercială %s a fost validată +PropalClassifiedBilledInDolibarr=Oferta comercială %s a fost clasificată ca facturată +InvoiceValidatedInDolibarr=Factura %s a fost validată +InvoiceValidatedInDolibarrFromPos=Factura %s a fost validată din POS +InvoiceBackToDraftInDolibarr=Factura %s a fost readusă la stadiul de schiţă +InvoiceDeleteDolibarr=Factura %s a fost ştearsă +InvoicePaidInDolibarr=Factura %s a fost clasificată ca plătită +InvoiceCanceledInDolibarr=Factura %s a fost anulată +MemberValidatedInDolibarr=Membrul %s a fost validat +MemberModifiedInDolibarr=Membrul %s a fost modificat +MemberResiliatedInDolibarr=Membrul %s a fost reziliat +MemberDeletedInDolibarr=Membrul %s a fost şters +MemberSubscriptionAddedInDolibarr=Cotizaţia %s pentru membrul %s a fost adăugată +MemberSubscriptionModifiedInDolibarr=Cotizaţia %s pentru membrul %s a fost modificată +MemberSubscriptionDeletedInDolibarr=Cotizaţia %s pentru membrul %s a fost ştearsă +ShipmentValidatedInDolibarr=Livrarea %s a fost validată +ShipmentClassifyClosedInDolibarr=Livrarea %s a fost clasificată ca facturată +ShipmentUnClassifyCloseddInDolibarr=Livrarea%s a fost clasificată ca re-deschisă +ShipmentBackToDraftInDolibarr=Livrarea %s revine la starea de schiţă +ShipmentDeletedInDolibarr=Livrarea %s a fost ştearsă +ReceptionValidatedInDolibarr=Recepţia %s a fost validată OrderCreatedInDolibarr=Comanda %s a fost creată -OrderValidatedInDolibarr=Comanda %s validată -OrderDeliveredInDolibarr=Comanda livrată %s clasificată -OrderCanceledInDolibarr=Comanda %s anulată -OrderBilledInDolibarr=Comanda livrată %s facturată -OrderApprovedInDolibarr=Comanda %s aprobată -OrderRefusedInDolibarr=Comanda %s refuzată -OrderBackToDraftInDolibarr=Comanda %s revenită la starea de schiţă -ProposalSentByEMail=Propunerea comercială %s a fost trimisă prin e-mail -ContractSentByEMail=Contractul %s a fost trimis prin e-mail -OrderSentByEMail=Comanda vânzări %s a fost trimisă prin e-mail -InvoiceSentByEMail=Factura clientului %s a fost trimisă prin e-mail -SupplierOrderSentByEMail=Comanda de aprovizionare %s a fost trimisă prin e-mail -ORDER_SUPPLIER_DELETEInDolibarr=Comanda de achiziţie%s ştearsă -SupplierInvoiceSentByEMail=Factura furnizorului%s a fost trimisă prin e-mail -ShippingSentByEMail=Expedierea %s trimisă prin e-mail -ShippingValidated= Livrarea %s validată -InterventionSentByEMail=Intervenția %s trimisă prin e-mail +OrderValidatedInDolibarr=Comanda %s a fost validată +OrderDeliveredInDolibarr=Comanda %s a fost clasificată ca livrată +OrderCanceledInDolibarr=Comanda %s a fost anulată +OrderBilledInDolibarr=Comanda %s a fost clasificată ca facturată +OrderApprovedInDolibarr=Comanda %s a fost aprobată +OrderRefusedInDolibarr=Comanda %s a fost refuzată +OrderBackToDraftInDolibarr=Comanda %s a fost readusă la starea de schiţă +ProposalSentByEMail=Oferta comercială %s a fost trimisă pe email +ContractSentByEMail=Contractul %s a fost trimis pe email +OrderSentByEMail=Comanda de vânzare %s a fost trimisă pe email +InvoiceSentByEMail=Factura client %s a fost trimisă pe email +SupplierOrderSentByEMail=Comanda de achiziţie %s a fost trimisă pe email +ORDER_SUPPLIER_DELETEInDolibarr=Comanda de achiziţie %s a fost ştearsă +SupplierInvoiceSentByEMail=Factura furnizor %s a fost trimisă pe email +ShippingSentByEMail=Livrarea %s a fost trimisă pe email +ShippingValidated= Livrarea %s a fost validată +InterventionSentByEMail=Intervenția %s a fost trimisă pe email ProposalDeleted=Ofertă ştearsă OrderDeleted=Comandă ştearsă InvoiceDeleted=Factură ştearsă DraftInvoiceDeleted=Factura schiţă a fost ştearsă CONTACT_CREATEInDolibarr=Contactul %s a fost creat +CONTACT_MODIFYInDolibarr=Contactul %s a fost modificat CONTACT_DELETEInDolibarr=Contactul %s a fost şters -PRODUCT_CREATEInDolibarr=Produs%s creat -PRODUCT_MODIFYInDolibarr=Produs %s modificat -PRODUCT_DELETEInDolibarr=Produs %s şters -HOLIDAY_CREATEInDolibarr=Cererea de concediu %screată -HOLIDAY_MODIFYInDolibarr=Cererea de concediu %smodificată -HOLIDAY_APPROVEInDolibarr=Cererea de concediu %saprobată -HOLIDAY_VALIDATEInDolibarr=Cererea de concediu %s validată -HOLIDAY_DELETEInDolibarr=Cererea de concediu %sştearsă -EXPENSE_REPORT_CREATEInDolibarr=Raport cheltuieli %s creat -EXPENSE_REPORT_VALIDATEInDolibarr=Raport cheltuieli %s validat -EXPENSE_REPORT_APPROVEInDolibarr=Raport cheltuieli %s aprobat -EXPENSE_REPORT_DELETEInDolibarr=Raport cheltuieli %s şters -EXPENSE_REPORT_REFUSEDInDolibarr=Raport cheltuieli %s refuzat -PROJECT_CREATEInDolibarr=Proiect %s creat -PROJECT_MODIFYInDolibarr=Proiect %s modificat -PROJECT_DELETEInDolibarr=Proiect %s şters +PRODUCT_CREATEInDolibarr=Produsul %s a fost creat +PRODUCT_MODIFYInDolibarr=Produsul %s a fost modificat +PRODUCT_DELETEInDolibarr=Produsul %s a fost şters +HOLIDAY_CREATEInDolibarr=Cererea de concediu %s a fost creată +HOLIDAY_MODIFYInDolibarr=Cererea de concediu %s a fost modificată +HOLIDAY_APPROVEInDolibarr=Cererea de concediu %s a fost aprobată +HOLIDAY_VALIDATEInDolibarr=Cererea de concediu %s a fost validată +HOLIDAY_DELETEInDolibarr=Cererea de concediu %s a fost ştearsă +EXPENSE_REPORT_CREATEInDolibarr=Raportul de cheltuieli %s a fost creat +EXPENSE_REPORT_VALIDATEInDolibarr=Raportul de cheltuieli %s a fost validat +EXPENSE_REPORT_APPROVEInDolibarr=Raportul de cheltuieli %s a fost aprobat +EXPENSE_REPORT_DELETEInDolibarr=Raportul de cheltuieli %s a fost şters +EXPENSE_REPORT_REFUSEDInDolibarr=Raportul de cheltuieli %s a fost repins +PROJECT_CREATEInDolibarr=Proiectul %s a fost creat +PROJECT_MODIFYInDolibarr=Proiectul %s a fost modificat +PROJECT_DELETEInDolibarr=Proiectul %s a fost şters TICKET_CREATEInDolibarr=Tichetul %s a fost creat TICKET_MODIFYInDolibarr=Tichetul %s a fost modificat TICKET_ASSIGNEDInDolibarr=Tichetul %s a fost atribuit -TICKET_CLOSEInDolibarr=Tichetul%s a fost închis +TICKET_CLOSEInDolibarr=Tichetul %s a fost închis TICKET_DELETEInDolibarr=Tichetul %s a fost șters BOM_VALIDATEInDolibarr=Bon de consum validat BOM_UNVALIDATEInDolibarr=Bon de consum invalidat @@ -119,30 +121,31 @@ MRP_MO_UNVALIDATEInDolibarr=Comanda de fabricaţie setată la schiţă MRP_MO_PRODUCEDInDolibarr=Comanda de fabricaţie executată MRP_MO_DELETEInDolibarr=Comanda de fabricaţie ştearsă MRP_MO_CANCELInDolibarr=Comanda de fabricaţie anulată +PAIDInDolibarr=%s plătit ##### End agenda events ##### AgendaModelModule=Șabloane de documente pentru eveniment DateActionStart=Data începerii DateActionEnd=Data terminării AgendaUrlOptions1=Puteţi, de asemenea, să adăugaţi următorii parametri pentru filtrarea rezultatelor: -AgendaUrlOptions3=logind=%s ​​pentru a limita exportul de acțiuni deţinute de utilizatorul %s -AgendaUrlOptionsNotAdmin=logina=!%s ​​pentru a limita exportul de acțiuni deţinute de utilizatorul %s. -AgendaUrlOptions4=logint=%s ​​pentru a limita exportul de acțiuni atribuite utilizatorului %s( proprietari sau altii). -AgendaUrlOptionsProject= project = __ PROJECT_ID __ pentru a restricționa ieșirea la acțiunile legate de proiectul __ PROJECT_ID __ . -AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto pentru a exclude evenimentele automate. +AgendaUrlOptions3=logina=%s ​​pentru a limita afişarea de acțiuni efectuate de utilizatorul %s +AgendaUrlOptionsNotAdmin=logina=!%s ​​pentru a limita afişarea de acțiuni neefectuate de utilizatorul %s. +AgendaUrlOptions4=logint=%s ​​pentru a limita exportul de acțiuni atribuite utilizatorului %s( proprietari sau alţii). +AgendaUrlOptionsProject=project=__PROJECT_ID__ pentru a restricționa afişarea la acțiunile legate de proiectul __PROJECT_ID__. +AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto pentru a exclude evenimentele automate. AgendaUrlOptionsIncludeHolidays=includeholidays=1 pentru a include evenimentele din zilele libere. -AgendaShowBirthdayEvents=Afişează ziua de naştere a contactelor +AgendaShowBirthdayEvents=Zilele de naştere ale contactelor AgendaHideBirthdayEvents=Ascunde ziua de naştere a contactelor Busy=Ocupat -ExportDataset_event1=Lista ev. din agendă -DefaultWorkingDays=Rangul zilelor lucrătoare predefinite in săptămână (Exemplu:1-5, 1-6) -DefaultWorkingHours=Orele lucrătoare predefinite ale zilei (Examplu: 9-18) +ExportDataset_event1=Lista evenimentelor din agendă +DefaultWorkingDays=Intervalul zilelor lucrătoare predefinite în săptămână (Exemplu:1-5, 1-6) +DefaultWorkingHours=Orele lucrătoare implicite ale zilei (Exemplu: 9-18) # External Sites ical ExportCal=Export calendar ExtSites=Import calendare externe ExtSitesEnableThisTool=Afișați calendarele externe (definite în configurația globală) din Agendă. Nu afectează calendarele externe definite de utilizatori. ExtSitesNbOfAgenda=Număr calendare AgendaExtNb=Calendar nr. %s -ExtSiteUrlAgenda=URL-ul pentru a accesa fişierul . ical +ExtSiteUrlAgenda=URL acces fişier .ical ExtSiteNoLabel=Nicio descriere VisibleTimeRange=Interval de timp vizibil VisibleDaysRange=Interval zile vizibil @@ -150,8 +153,9 @@ AddEvent=Creare eveniment MyAvailability=Disponibilitatea mea ActionType=Tip eveniment DateActionBegin=Dată începere eveniment -ConfirmCloneEvent=Sigur doriți să clonați evenimentul %s? +ConfirmCloneEvent=Sigur doriți să clonați evenimentul %s? RepeatEvent=Repeta eveniment +OnceOnly=Doar o dată EveryWeek=Fiecare săptămână EveryMonth=Fiecare lună DayOfMonth=Zi a lunii @@ -160,9 +164,9 @@ DateStartPlusOne=Dată început + 1 ora SetAllEventsToTodo=Setează toate evenimentele la De făcut SetAllEventsToInProgress=Setează toate evenimentele la În desfăşurare SetAllEventsToFinished=Setează toate evenimentele la Finalizat -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +ReminderTime=Perioada de reamintire înainte de eveniment +TimeType=Tip durată +ReminderType=Tip callback +AddReminder=Creați o notificare automată de reminder pentru acest eveniment +ErrorReminderActionCommCreation=Eroare la crearea notificării de reminder pentru acest eveniment +BrowserPush=Notificări popup browser diff --git a/htdocs/langs/ro_RO/assets.lang b/htdocs/langs/ro_RO/assets.lang index ba06524ae10..c65786f8371 100644 --- a/htdocs/langs/ro_RO/assets.lang +++ b/htdocs/langs/ro_RO/assets.lang @@ -29,7 +29,7 @@ AssetsLines=Active DeleteType=Şterge DeleteAnAssetType=Ștergeți un tip de activ ConfirmDeleteAssetType=Sigur doriți să ștergeți acest tip de activ? -ShowTypeCard=Arată tipul ' %s' +ShowTypeCard=Arată tipul '%s' # Module label 'ModuleAssetsName' ModuleAssetsName = Active @@ -42,24 +42,26 @@ ModuleAssetsDesc = Descrierea activelor AssetsSetup = Configurarea activelor Settings = Configurări AssetsSetupPage = Pagină de configurare a activelor -ExtraFieldsAssetsType = Atribute complementare (tipul de activ) +ExtraFieldsAssetsType = Atribute complementare (tip de activ) AssetsType=Tipul activului -AssetsTypeId=ID de tip activ -AssetsTypeLabel=Eticheta de tip activ +AssetsTypeId=ID tip de activ +AssetsTypeLabel=Etichetă tip de activ AssetsTypes=Tipuri de active # # Menu # -MenuAssets = Bunuri +MenuAssets = Active MenuNewAsset = Activ nou -MenuTypeAssets = Tip activ -MenuListAssets = Lista +MenuTypeAssets = Tip active +MenuListAssets = Listă MenuNewTypeAssets = Nou -MenuListTypeAssets = Lista +MenuListTypeAssets = Listă # # Module # +Asset=Activ NewAssetType=Tip de activ nou NewAsset=Activ nou +ConfirmDeleteAsset=Sigur doriți să ștergeți acest activ? diff --git a/htdocs/langs/ro_RO/banks.lang b/htdocs/langs/ro_RO/banks.lang index ff671586d88..f5f697dc0d3 100644 --- a/htdocs/langs/ro_RO/banks.lang +++ b/htdocs/langs/ro_RO/banks.lang @@ -37,9 +37,9 @@ IbanValid=IBAN valid IbanNotValid=IBAN invalid StandingOrders=Ordine de debit direct StandingOrder=Ordin de plată debit direct -PaymentByDirectDebit=Plată prin direct debit +PaymentByDirectDebit=Plăţi direct debit PaymentByBankTransfers=Plăţi prin transfer de credit -PaymentByBankTransfer=Plată prin transfer credit +PaymentByBankTransfer=Plăţi transfer credit AccountStatement=Extras cont AccountStatementShort=Extras AccountStatements=Extrase Cont @@ -115,7 +115,7 @@ TransferTo=La TransferFromToDone=Un transfer de la %s la %s de%s %s a fost înregistrat. CheckTransmitter=Expeditor ValidateCheckReceipt=Validați această chitanță cec? -ConfirmValidateCheckReceipt=Sigur vrei să trimiteți spre validare această filă cec? Nu sunt posibile modificări ulterioare. +ConfirmValidateCheckReceipt=Sigur vrei să trimiți această filă cec pentru validare? Nu vor fi posibile modificări după validare. DeleteCheckReceipt=Ștergeți această chitanță cec? ConfirmDeleteCheckReceipt=Sigur stergeți această chitanță cec? BankChecks=Cecuri bancare diff --git a/htdocs/langs/ro_RO/bills.lang b/htdocs/langs/ro_RO/bills.lang index f8bc43cf61c..1890efcba24 100644 --- a/htdocs/langs/ro_RO/bills.lang +++ b/htdocs/langs/ro_RO/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Dată scadenţă la DateInvoice=Data facturării DatePointOfTax=Impozitare taxare NoInvoice=Nicio factură +NoOpenInvoice=Nicio factură deschisă ClassifyBill=Clasează factura SupplierBillsToPay=Facturi furnizor neplătite CustomerBillsUnpaid=Facturi clienţi neîncasate @@ -589,3 +590,4 @@ FacParentLine=Linie de facturare părinte SituationTotalRayToRest=Rest de plată fără taxe PDFSituationTitle=Situaţia nr. %d SituationTotalProgress=Progres total %d %% +SearchUnpaidInvoicesWithDueDate=Căutare facturi neplătite cu o dată scadentă = %s diff --git a/htdocs/langs/ro_RO/boxes.lang b/htdocs/langs/ro_RO/boxes.lang index b487e847d65..c88b68e89db 100644 --- a/htdocs/langs/ro_RO/boxes.lang +++ b/htdocs/langs/ro_RO/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Comenzi furnizor: ultimele %s modificate BoxTitleLastModifiedCustomerBills=Facturi clienți: ultimele %s modificate BoxTitleLastModifiedCustomerOrders=Comenzi de vânzări: ultimele %s modificate BoxTitleLastModifiedPropals=Ultimele %s oferte modificate -BoxTitleLatestModifiedJobPositions=Ultimile %s joburi modificate -BoxTitleLatestModifiedCandidatures=Ultimile %s candidaturi job modificate +BoxTitleLatestModifiedJobPositions=Ultimele %s joburi modificate +BoxTitleLatestModifiedCandidatures=Ultimele %s aplicări la joburi modificate ForCustomersInvoices=Facturi clienţi ForCustomersOrders=Comenzi clienți ForProposals=Oferte diff --git a/htdocs/langs/ro_RO/cashdesk.lang b/htdocs/langs/ro_RO/cashdesk.lang index ca9d3d6a26f..fec98e7146f 100644 --- a/htdocs/langs/ro_RO/cashdesk.lang +++ b/htdocs/langs/ro_RO/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 = Tag-ul
    {TN} este utilizat pentru adăugar TakeposGroupSameProduct=Grupează liniile cu produse identice StartAParallelSale=Iniţiază o vânzare paralelă SaleStartedAt=Vânzarea a început la %s -ControlCashOpening=Controlați sertarul de numerar la deschiderea POS +ControlCashOpening=Deschide popup-ul "Control numerar" când se deschide POS-ul CloseCashFence= Închideți controlul casieriei CashReport=Raport numerar MainPrinterToUse=Imprimantă principală de utilizat @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Modulul Imprimanta bonuri trebuie să fi fost AllowDelayedPayment= Permite plata cu întârziere PrintPaymentMethodOnReceipts=Tipăriți metoda de plată pe bonuri|chitanțe WeighingScale=Cântar -ShowPriceHT = Afișați coloana de preț fără taxe -ShowPriceHTOnReceipt = Afișați coloana de preţ fără taxe pe bon/chitanţă +ShowPriceHT = Afișare coloană preț fără taxe (pe ecran) +ShowPriceHTOnReceipt = Afișare coloană cu prețul fără taxe (pe chitanță/bon)  +CustomerDisplay=Afişaj client diff --git a/htdocs/langs/ro_RO/companies.lang b/htdocs/langs/ro_RO/companies.lang index 6a2b8632bec..33a076ecc0d 100644 --- a/htdocs/langs/ro_RO/companies.lang +++ b/htdocs/langs/ro_RO/companies.lang @@ -30,7 +30,7 @@ CountryIsInEEC=Țara se află în interiorul Comunității Economice Europene PriceFormatInCurrentLanguage=Afişează formatul preţului în limba şi moneda curentă ThirdPartyName=Nume terț ThirdPartyEmail=Email terț -ThirdParty=Terț +ThirdParty=Terți ThirdParties=Terți ThirdPartyProspects=Prospecţi ThirdPartyProspectsStats=Prospecţi @@ -338,7 +338,7 @@ CompanyDeleted=Societatea "%s" a fost ştearsă din baza de date. ListOfContacts=Listă contacte/adrese ListOfContactsAddresses=Listă contacte/adrese ListOfThirdParties=Listă terți -ShowCompany=Terţ +ShowCompany=Terţi ShowContact=Contact-Adresă ContactsAllShort=Toate (fără filtru) ContactType=Tip contact diff --git a/htdocs/langs/ro_RO/compta.lang b/htdocs/langs/ro_RO/compta.lang index 774cbbf85d4..10e806c71fc 100644 --- a/htdocs/langs/ro_RO/compta.lang +++ b/htdocs/langs/ro_RO/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Cifra de afaceri pe achiziţii facturate ReportPurchaseTurnoverCollected=Cifra de afaceri colectată din achiziţii IncludeVarpaysInResults = Include plăţile diverse în rapoarte IncludeLoansInResults = Includeți creditele - împrumuturile în rapoarte +InvoiceLate30Days = Facturi întârziate > 30 zile +InvoiceLate15Days = Facturi întârziate > 15 zile +InvoiceLateMinus15Days = Facturi întârziate +InvoiceNotLate = De încasat < 15 zile +InvoiceNotLate15Days = De încasat în 15 zile +InvoiceNotLate30Days = De încasat în 30 zile diff --git a/htdocs/langs/ro_RO/cron.lang b/htdocs/langs/ro_RO/cron.lang index fbfafaf8424..6e4f16734f7 100644 --- a/htdocs/langs/ro_RO/cron.lang +++ b/htdocs/langs/ro_RO/cron.lang @@ -1,22 +1,22 @@ # Dolibarr language file - Source file is en_US - cron # About page # Right -Permission23101 = Citeste Job programat -Permission23102 = Creare/Modificare job programat -Permission23103 = Şterge Job programat -Permission23104 = Execută Job programat +Permission23101 = Citeşte Job programat +Permission23102 = Creare/modificare job programat +Permission23103 = Şterge job programat +Permission23104 = Execută job programat # Admin -CronSetup=Setare Managementul joburilor programate -URLToLaunchCronJobs=Adresă URL pentru a verifica și lansa joburi cron calificate din browser -OrToLaunchASpecificJob=Sau pentru a verifica și lansa un anumit task dintr-un browser -KeyForCronAccess=Cheie de securitate pentru URL de lansare a joburilor cron -FileToLaunchCronJobs=Linie de comanda pentru a verifica și a lansa sarcini cron calificate -CronExplainHowToRunUnix=Pe mediul Unix veţi utiliza instrumentul crontab pentru a rula urmatoarea linia de comanda la fiecare 5 minute -CronExplainHowToRunWin=În mediul Microsoft (tm) Windows, puteți utiliza instrumentele programate pentru a executa linia de comandă la fiecare 5 minute +CronSetup=Configurare Joburi programate +URLToLaunchCronJobs=Adresă URL pentru verificare și lansare joburi cron calificate din browser +OrToLaunchASpecificJob=Sau pentru verificarea și lansarea unui anumit task din browser +KeyForCronAccess=Cheie de securitate pentru URL-ul de lansare a joburilor cron +FileToLaunchCronJobs=Linie de comanda pentru a verifica și a lansa joburi cron calificate +CronExplainHowToRunUnix=Pe mediul Unix veţi utiliza instrumentul crontab pentru a rula urmatoarea linia de comanda la fiecare 5 minute +CronExplainHowToRunWin=În mediul Microsoft (tm) Windows, puteți utiliza instrumentele Scheduled Task pentru a executa linia de comandă la fiecare 5 minute CronMethodDoesNotExists= Clasa %s nu conține metoda %s CronMethodNotAllowed=Metoda %s clasei %seste în lista neagră a metodelor interzise -CronJobDefDesc=Profilele sarcinilor Cron sunt definite în fișierul descriptor de module. Când modulul este activat, acestea sunt încărcate și disponibile, astfel încât să puteți administra lucrările din meniul instrumentelor de administrare%s. -CronJobProfiles=Lista profilurilor sarcinilor cron predefinite +CronJobDefDesc=Profilele joburilor cron sunt definite în fișierul descriptor al modulului. Când modulul este activat, acestea sunt încărcate și sunt disponibile, astfel încât să puteți administra joburile din meniul Instrumente de administrare%s. +CronJobProfiles=Lista profilurilor de job cron predefinite # Menu EnabledAndDisabled=Activat și dezactivat # Page list @@ -24,51 +24,51 @@ CronLastOutput=Ultimul rezultat CronLastResult=Ultimul cod rezultat CronCommand=Comandă CronList=Joburi programate -CronDelete=Şterge Joburi programate -CronConfirmDelete=Sigur doriți să ștergeți aceste lucrări programate? -CronExecute=Lansați lucrările programate? -CronConfirmExecute=Sunteți sigur că doriți să executați aceste lucrări programate acum? -CronInfo=Modulul de lucrări programate permite programarea lucrărilor pentru a le executa automat. Lucrările pot fi pornite și manual. +CronDelete=Şterge joburi programate +CronConfirmDelete=Sigur doriți să ștergeți aceste joburi programate? +CronExecute=Lansați joburile programate? +CronConfirmExecute=Sunteți sigur că doriți să executați aceste joburi programate acum? +CronInfo=Modulul Joburi programate permite programarea lucrărilor de sistem pentru execuţia automată. Joburile pot fi pornite și manual. CronTask=Job CronNone=Niciunul CronDtStart=Dată începere CronDtEnd=Data de final -CronDtNextLaunch=Urmatoarea execuţie +CronDtNextLaunch=Următoarea execuţie CronDtLastLaunch=Ultima rulare CronDtLastResult=Data ultimei rulări CronFrequency=Frecvenţă -CronClass=Clasa -CronMethod=Metoda -CronModule=Modulul +CronClass=Clasă +CronMethod=Metodă +CronModule=Modul CronNoJobs=Niciun job înregistrat CronPriority=Prioritate CronLabel=Etichetă CronNbRun=Numărul de lansări CronMaxRun=Număr maxim de lansări CronEach=Fiecare -JobFinished=Job lansat şi terminat +JobFinished=Job lansat şi finalizat Scheduled=Programat #Page card CronAdd= Adaugă joburi -CronEvery=Executa fiecare job +CronEvery=Execută fiecare job CronObject=Instanţă/Obiect de creat CronArgs=Parametri CronSaveSucess=Salvare cu succes -CronNote=Comenteaza +CronNote=Comentariu CronFieldMandatory=Câmpurile %s sunt obligatorii CronErrEndDateStartDt=Data de sfârşit nu poate fi înaintea datei de început StatusAtInstall=Stare la instalarea modulului CronStatusActiveBtn=Programare CronStatusInactiveBtn=Dezactivare -CronTaskInactive=Acest post este dezactivat +CronTaskInactive=Acest job este dezactivat (ne-programat) CronId=Id CronClassFile=Nume fișier cu clasă -CronModuleHelp=Numele directorului modulului Dolibarr (lucrați și cu modul Dolibarr extern).
    De exemplu, pentru a apela metoda de fetch Dolibarr Produs obiect/htdocs / produs /class/product.class.php, valoarea pentru modul este
    produs -CronClassFileHelp=Calea relativă și numele fișierului de încărcat (calea este relativă la directorul rădăcină web).
    De exemplu, pentru a apela metoda fetch a obiectului produsului Dolibarr htdocs / produs / clasa / product.class.php , valoarea pentru numele fişierului clasei este
    produs/ clasa / product.class.php -CronObjectHelp=Numele obiectului de încărcat .
    De exemplu, pentru a apela metoda fetch a produsului Dolibarr obiect/htdocs / produs / clasa / product.class.php, valoarea pentru numele fişierului clasei este
    Produs -CronMethodHelp=Metoda obiect pentru lansare.
    De exemplu, pentru a apela metoda fetch a produsului Dolibarr obiect/htdocs/product/class/product.class.php, valoarea metodei este
    preluare +CronModuleHelp=Numele directorului modulului Dolibarr (lucrați și cu modul Dolibarr extern).
    De exemplu, pentru a apela metoda de fetch a obiectului Produs Dolibarr /htdocs/ product/class/product.class.php, valoarea pentru modul este
    product +CronClassFileHelp=Calea relativă și numele fișierului de încărcat (calea este relativă la directorul rădăcină web).
    De exemplu, pentru a apela metoda fetch a obiectului produs Dolibarr htdocs/product/class/product.class.php, valoarea pentru numele fişierului clasei este
    product/class/product.class.php +CronObjectHelp=Numele obiectului de încărcat .
    De exemplu, pentru a apela metoda fetch a produsului Dolibarr obiect/htdocs/product/class/product.class.php, valoarea pentru numele fişierului clasei este
    Product +CronMethodHelp=Metoda obiectului pentru lansare.
    De exemplu, pentru a apela metoda fetch a produsului Dolibarr obiect/htdocs/product/class/product.class.php, valoarea metodei este
    fetch CronArgsHelp=Argumentele metodei.
    De exemplu, pentru a apela metoda de preluare a produsului Dolibarr object /htdocs/product/class/product.class.php, valoarea parametrilor poate fi
    0, ProductRef -CronCommandHelp=Linia de comandă de sistem pentru a executa. +CronCommandHelp=Linia de comandă de sistem pentru execuţie. CronCreateJob=Creare job programat CronFrom=De la # Info @@ -77,15 +77,15 @@ CronType=Tip job CronType_method=Metoda de apel a unei clase PHP CronType_command=Comandă shell CronCannotLoadClass=Nu se poate încărca fișierul de clasă %s (pentru a folosi clasa %s) -CronCannotLoadObject=Fișier de clasă %s a fost încărcat, dar obiectul %s nu a fost găsit în el -UseMenuModuleToolsToAddCronJobs=Mergi în meniu "Acasă - Instrumente administrare - Joburi programate" pentru a vedea şi edita joburile programate. +CronCannotLoadObject=Fișierul de clasă %s a fost încărcat, dar obiectul %s nu a fost găsit în el +UseMenuModuleToolsToAddCronJobs=Mergi în meniul "Acasă - Instrumente administrare - Joburi programate" pentru a vedea şi a edita joburile programate. JobDisabled=Job dezactivat MakeLocalDatabaseDumpShort=Backup local baza de date -MakeLocalDatabaseDump=Creați o bază de date locală. Parametrii sunt: ​​compresie ("gz" sau "bz" sau "none"), tipul de backup (mysql, pgsql, auto) 1, "auto" sau nume de fișier de construit, număr de fișiere de rezervă de păstrat -WarningCronDelayed=Atenție, în scopul performanței, indiferent de data următoare a executării activităţilor activate, este posibil ca activităţile dvs. să fie întârziate la maximum %s ore înainte de a rula +MakeLocalDatabaseDump=Creați un dump de bază de date locală. Parametrii sunt: ​​compresie ("gz" sau "bz" sau "none"), tipul de backup (mysql, pgsql, auto) 1, "auto" sau nume de fișier construit, număr de fișiere de rezervă care vor fi păstrate +WarningCronDelayed=Atenție, din motive de performanță, indiferent de data următoare a executării joburilor activate, este posibil ca activităţile tale să fie întârziate la maximum %s ore înainte de a rula DATAPOLICYJob=Curățător de date și anonimizator JobXMustBeEnabled=Jobul %s trebuie să fie activat # Cron Boxes -LastExecutedScheduledJob=Ultima execuţie a jobului programat  +LastExecutedScheduledJob=Ultima execuţie a jobului programat NextScheduledJobExecute=Următoarea execuţie a jobului programat NumberScheduledJobError=Numărul de joburi programate cu eroare diff --git a/htdocs/langs/ro_RO/deliveries.lang b/htdocs/langs/ro_RO/deliveries.lang index 53e4e7d825b..7537953cb21 100644 --- a/htdocs/langs/ro_RO/deliveries.lang +++ b/htdocs/langs/ro_RO/deliveries.lang @@ -1,31 +1,33 @@ # Dolibarr language file - Source file is en_US - deliveries Delivery=Livrare DeliveryRef=Ref Livrare -DeliveryCard=Chitanta card +DeliveryCard=Notă de livrare DeliveryOrder=Bon de livrare -DeliveryDate=Data de livrare -CreateDeliveryOrder=Generați chitanța de livrare -DeliveryStateSaved=Stare livrare salvata +DeliveryDate=Dată de livrare +CreateDeliveryOrder=Generați nota de livrare +DeliveryStateSaved=Stare livrare salvată SetDeliveryDate=Setaţi data de expediere -ValidateDeliveryReceipt=Validare recepţie livrare -ValidateDeliveryReceiptConfirm=Sigur doriți să validați această chitanță de livrare? -DeleteDeliveryReceipt=Ştergeţi recepţie livrare -DeleteDeliveryReceiptConfirm=Sigur doriți să ștergeți chitanța de livrare %s ? -DeliveryMethod=Metoda de livrare -TrackingNumber=Număr de urmărire -DeliveryNotValidated=Livrare nevalidată -StatusDeliveryCanceled=Anulata -StatusDeliveryDraft=Draft +ValidateDeliveryReceipt=Validare notă de livrare +ValidateDeliveryReceiptConfirm=Sigur doriți să validați această notă de livrare? +DeleteDeliveryReceipt=Ştergere notă de livrare +DeleteDeliveryReceiptConfirm=Sigur doriți să ștergeți nota de livrare %s? +DeliveryMethod=Metodă de livrare +TrackingNumber=Număr de urmărire AWB +DeliveryNotValidated=Livrare nevalidată +StatusDeliveryCanceled=Anulată +StatusDeliveryDraft=Schiţă StatusDeliveryValidated=Primit # merou PDF model NameAndSignature=Numele și semnătura: -ToAndDate=To___________________________________ pe ____ / _____ / __________ -GoodStatusDeclaration=Au primit bunurile în bună stare de mai sus, -Deliverer=Expeditor: +ToAndDate=Către___________________________________ pe data de ____ / _____ / __________ +GoodStatusDeclaration=Au primit bunurile de mai sus, în stare bună, +Deliverer=Livrator: Sender=Expeditor -Recipient=Recipient +Recipient=Destinatar ErrorStockIsNotEnough=Nu există stoc suficient Shippable=Livrabil NonShippable=Nelivrabil +ShowShippableStatus=Afișare status de expediere ShowReceiving= Afișare notă de recepție -NonExistentOrder=Ordin inexistent +NonExistentOrder=Comandă inexistentă +StockQuantitiesAlreadyAllocatedOnPreviousLines = Cantități de stoc deja alocate pe liniile anterioare diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index 19900e6c931..4daf0ff25d9 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Valoare greșită pentru parametru. Se adaugă, ErrorRefAlreadyExists=Referinţa %s există deja. ErrorLoginAlreadyExists=Login-ul %s există deja. ErrorGroupAlreadyExists=Grupul %s există deja. +ErrorEmailAlreadyExists=Email-ul %s există deja. ErrorRecordNotFound=Înregistrarea nu a fost găsită. ErrorFailToCopyFile=Eşec la copierea fişierului %s în %s. ErrorFailToCopyDir=Eşec la copierea directorului '%s' în '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Eşec la citirea fişierului '%s' ErrorCantReadDir=Eşec la citirea directorului ' %s' ErrorBadLoginPassword=Autentificare sau parolă eronată ErrorLoginDisabled=Contul tău a fost dezactivat -ErrorFailedToRunExternalCommand=Eşec la rularea comenzii externe. Verifică aceasta este disponibilă şi rulabilă în PHP pe server. Dacă PHP Safe Mode este activat, verifică dacă comanda este în interiorul unui director definit de parametrul safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Nu s-a executat comanda externă. Verificați dacă este disponibilă și rulabilă de către utilizatorul serverului PHP. Verificați, de asemenea, dacă comanda nu este protejată la nivel de shell de un strat de securitate, cum ar fi apparmor. ErrorFailedToChangePassword=Eşec la schimbarea parolei ErrorLoginDoesNotExists=Contul de utilizator %s nu a putut fi găsit. ErrorLoginHasNoEmail=Acest utilizator nu are nici o adresa de email. Procesul a fost anulat. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Eroare, data nu poate fi în viitor ErrorAnAmountWithoutTaxIsRequired=Eroare, suma este obligatorie ErrorAPercentIsRequired=Eroare, completați procentajul corect ErrorYouMustFirstSetupYourChartOfAccount=Trebuie să setezi mai întâi planul de conturi +ErrorFailedToFindEmailTemplate=Nu s-a găsit șablonul cu numele de cod %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Durata nu este definită pentru serviciu. Nicio modalitate de a calcula prețul pe oră. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Parametrul tău PHP upload_max_filesize (%s) este mai mare decât paramentrul PHP post_max_size (%s). Aceasta nu este o configuraţie consistentă. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Modulul %s nu a fost activat. Este p ErrorActionCommPropertyUserowneridNotDefined=Utilizatorul deţinător este obligatoriu ErrorActionCommBadType=Tipul evenimentului selectat (id: %n, cod: %s) nu există în dicţionarul Tipuri evenimente CheckVersionFail=Verificarea versiunii a eşuat +ErrorWrongFileName=Numele fișierului nu poate să conțină _SOMETHING_ în el +ErrorNotInDictionaryPaymentConditions=Nu se află în dicționarul Condiții de plată, vă rugăm să modificați. diff --git a/htdocs/langs/ro_RO/eventorganization.lang b/htdocs/langs/ro_RO/eventorganization.lang index f1306c2da54..83386948b34 100644 --- a/htdocs/langs/ro_RO/eventorganization.lang +++ b/htdocs/langs/ro_RO/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -22,8 +23,8 @@ EventOrganizationDescriptionLong= Gestionare organizare de evenimente conferinț # # Menu # -EventOrganizationMenuLeft = Evenimente organizate -EventOrganizationConferenceOrBoothMenuLeft = Conferinţă sau Stand +EventOrganizationMenuLeft = Organizare evenimente +EventOrganizationConferenceOrBoothMenuLeft = Conferinţe sau Stand-uri # # Admin page @@ -47,10 +48,10 @@ EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtrează lista de selecție a terțil # # Object # -EventOrganizationConfOrBooth= Conferinţă sau Stand +EventOrganizationConfOrBooth= Conferinţe sau Stand-uri ManageOrganizeEvent = Management organizare evenimente -ConferenceOrBooth = Conferinţă sau Stand -ConferenceOrBoothTab = Conferinţă sau Stand +ConferenceOrBooth = Conferinţe sau Stand-uri +ConferenceOrBoothTab = Conferinţe sau Stand-uri AmountOfSubscriptionPaid = Valoare abonament plătită DateSubscription = Dată înscriere ConferenceOrBoothAttendee = Participant la Conferinţă sau Stand @@ -81,7 +82,11 @@ PriceOfBoothHelp=Preț înscriere pentru stand EventOrganizationICSLink=Asociere calendar ICS pentru evenimente ConferenceOrBoothInformation=Informaţii Conferinţă sau Stand Attendees = Participanți +DownloadICSLink = Link descărcare ICS EVENTORGANIZATION_SECUREKEY = Cheie securizată link public de înregistrare la o conferință +SERVICE_BOOTH_LOCATION = Serviciu utilizat pentru linia de facturare privind locaţia standului +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Serviciu utilizat pentru linia de facturare pentru o taxă de participare la o conferință +NbVotes=Număr de voturi # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Anulat # # Public page # +SuggestForm = Pagină de propuneri +RegisterPage = Pagină pentru conferinţă sau stand +EvntOrgRegistrationHelpMessage = Aici, puteți vota pentru un eveniment sau puteți propune o nouă conferință sau stand pentru proiect +EvntOrgRegistrationConfHelpMessage = Aici puteți propune o nouă conferință pentru proiect +EvntOrgRegistrationBoothHelpMessage = Aici puteți propune un nou stand pentru proiect +ListOfSuggestedConferences = Listă conferinţe propuse +ListOfSuggestedBooths = Listă stand-uri propuse +SuggestConference = Propune o nouă conferinţă +SuggestBooth = Propune un stand +ViewAndVote = Vizualizează și votează pentru evenimentele propuse PublicAttendeeSubscriptionPage = Link public de înscriere la conferinţă MissingOrBadSecureKey = Cheia de securitate lipseşte sau este invalidă -EvntOrgWelcomeMessage = Acest formular îţi permite să te înregistrezi ca nou participant la conferință  -EvntOrgStartDuration = Această conferinţă începe la -EvntOrgEndDuration = şi se termină la +EvntOrgWelcomeMessage = Acest formular vă permite să vă înregistrați ca nou participant la conferința: '%s' +EvntOrgDuration = Această conferinţă începe pe %s şi se termină pe %s. +ConferenceAttendeeFee = Taxă de participare la conferință pentru evenimentul: '%s' care are loc de pe %s până la %s. +BoothLocationFee = Locaţie stand pentru evenimentul: '%s' care se desfăşoară între %s şi %s +EventType = Tip eveniment +LabelOfBooth=Etichetă stand +LabelOfconference=Etichetă conferinţă +ConferenceIsNotConfirmed=Înscrierea nu este disponibilă, conferinţa nu este confirmată încă +DateMustBeBeforeThan=%s trebuie să fie înainte de %s +DateMustBeAfterThan=%s trebuie să fie după %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Bine ați venit pe pagina de propuneri conferință sau stand. +EvntOrgRegistrationConfWelcomeMessage = Bine ai venit pe pagina de propuneri a conferinței. +EvntOrgRegistrationBoothWelcomeMessage = Bine ai venit pe pagina de propuneri stand. +EvntOrgVoteHelpMessage = Aici poți vizualiza și vota evenimentele propuse pentru proiect +VoteOk = Votul tău a fost acceptat. +AlreadyVoted = Ai votat deja pentru acest eveniment. +VoteError = A apărut o eroare în timpul votului, vă rugăm să încercați din nou. + +# +# SubscriptionOk page +# +SubscriptionOk = Abonamentul tău la această conferință a fost validat  +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmarea participării la o conferință +# +# Payment page +# +Attendee = Participant +PaymentConferenceAttendee = Plată participant conferinţă +PaymentBoothLocation = Plată locaţie stand diff --git a/htdocs/langs/ro_RO/exports.lang b/htdocs/langs/ro_RO/exports.lang index 08f9a64d27e..28c2266d9f6 100644 --- a/htdocs/langs/ro_RO/exports.lang +++ b/htdocs/langs/ro_RO/exports.lang @@ -1,136 +1,137 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Exporturi ImportArea=Import -NewExport=Exportul nou -NewImport=Importul nou -ExportableDatas=Exportabil de date -ImportableDatas=Importable de date -SelectExportDataSet=Alegeţi de date pe care doriţi să le export ... -SelectImportDataSet=Alegeţi de date pe care doriţi să o import ... +NewExport=Export nou +NewImport=Import nou +ExportableDatas=Set de date exportabil +ImportableDatas=Set de date importabil +SelectExportDataSet=Alege setul de date pe care doreşti să-l exporţi... +SelectImportDataSet=Alege setul de date pe care doreşti să-l imporţi... SelectExportFields=Alegeți câmpurile pe care doriți să le exportați sau selectați un profil de export predefinit -SelectImportFields=Alegeți câmpurile sursă de fișier pe care doriți să le importați și câmpul țintă în baza de date deplasându-le în sus și în jos cu ancora %s sau selectând un profil predefinit de import: -NotImportedFields=Câmpurile fişierului sursă nu importate +SelectImportFields=Alege câmpurile din fișierul sursă pe care doreşti să le imporți și câmpurile țintă din baza de date deplasându-te în sus și în jos cu ancora %s sau selectând un profil predefinit de import: +NotImportedFields=Câmpurile fişierului sursă nu au fost importate SaveExportModel=Salvați selecțiile ca profil de export/șablon (pentru reutilizare). SaveImportModel=Salvați acest profil de import (pentru reutilizare) ... -ExportModelName=Export profil nume -ExportModelSaved=Exportați profilul salvat ca %s . +ExportModelName=Nume profil export date +ExportModelSaved=Exportați profilul salvat ca %s. ExportableFields=Câmpuri exportabile ExportedFields=Câmpuri exportate -ImportModelName=Import profil nume -ImportModelSaved=Profilul de import a fost salvat ca %s . -DatasetToExport=De date la export -DatasetToImport=De date pentru a importa -ChooseFieldsOrdersAndTitle=Alegeţi câmpurile pentru ... -FieldsTitle=Câmpuri titlu -FieldTitle=Domeniul titlu +ImportModelName=Nume profil import date +ImportModelSaved=Profilul de import a fost salvat ca %s. +DatasetToExport=Set de date de exportat +DatasetToImport=Import fişier în set de date +ChooseFieldsOrdersAndTitle=Alegeţi ordinea câmpurilor... +FieldsTitle=Câmpuri titlu +FieldTitle=Titlu câmp NowClickToGenerateToBuildExportFile=Acum, selectați formatul de fișier în caseta combo și faceți clic pe "Generare" pentru a construi fișierul de export ... AvailableFormats=Formate disponibile -LibraryShort=Biblioteca +LibraryShort=Bibliotecă ExportCsvSeparator=Separator caractere CSV ImportCsvSeparator=Separator caractere CSV -Step=Pasul +Step=Pas FormatedImport=Asistent import FormatedImportDesc1=Acest modul vă permite să actualizați datele existente sau să adăugați obiecte noi în baza de date dintr-un fișier fără cunoștințe tehnice, utilizând un asistent. -FormatedImportDesc2=Primul pas este să alegeți tipul de date pe care doriți să îl importați, apoi formatul fișierului sursă, apoi câmpurile pe care doriți să le importați. +FormatedImportDesc2=Primul pas este să alegi tipul de date pe care doreşti să-l imporți, apoi formatul fișierului sursă, apoi câmpurile pe care vrei să le imporți. FormatedExport=Asistent export -FormatedExportDesc1=Aceste instrumente permit exportul de date personalizate folosind un asistent, pentru a vă ajuta în acest proces fără a necesita cunoștințe tehnice. +FormatedExportDesc1=Aceste instrumente permit exportul de date personalizate folosind un asistent, pentru a te ajuta în acest proces fără a necesita cunoștințe tehnice. FormatedExportDesc2=Primul pas este să alegeți un set de date predefinit, apoi câmpurile pe care doriți să le exportați și în ce ordine. FormatedExportDesc3=Când sunt selectate datele de export, puteți alege formatul fișierului de ieșire. Sheet=Foaie -NoImportableData=Nu importable de date (nu cu modul de definiţii, pentru a permite importul de date) +NoImportableData=Date neimportabile (niciun modul cu definiţii care să permită importul) FileSuccessfullyBuilt=Fișierul generat SQLUsedForExport=Interogare SQL utilizată pentru extragerea datelor -LineId=Id-ul de linie -LineLabel=Eticheta linie -LineDescription=Descriere de linie -LineUnitPrice=Preţul unitar de linie -LineVATRate=TVA de linie -LineQty=Cantitate de linie -LineTotalHT=Cantitate excl. taxa pentru linie -LineTotalTTC=Suma cu taxa de linie -LineTotalVAT=Suma TVA pentru linia +LineId=Id linie +LineLabel=Etichetă linie +LineDescription=Descriere linie +LineUnitPrice=Preţul unitar pentru linie +LineVATRate=Cota TVA pentru linie +LineQty=Cantitate pentru linie +LineTotalHT=Valoarea fără taxe pentru linie +LineTotalTTC=Valoarea cu taxe pentru linie +LineTotalVAT=Valoare TVA pentru linie TypeOfLineServiceOrProduct=Tip de linie (0= produs, 1= serviciu) FileWithDataToImport=Fişiere cu date de import FileToImport=Fişierul sursă de import FileMustHaveOneOfFollowingFormat=Fișierul de import trebuie să aibă unul din următoarele formate -DownloadEmptyExample=Descărcați fișierul șablon cu informații despre conținutul câmpului (* sunt câmpuri obligatorii) -ChooseFormatOfFileToImport=Alegeți formatul de fișier pentru a fi utilizat ca format de fișier de import făcând clic pe pictograma %s pentru a o selecta ... -ChooseFileToImport=Încărcați fișierul, apoi dați clic pe pictograma %s pentru a selecta fișierul ca fișier de import al sursei ... -SourceFileFormat=Sursa Format fişier -FieldsInSourceFile=Câmpuri in fişierul sursă -FieldsInTargetDatabase=Câmpuri-țintă în baza de date Dolibarr (bold = obligatoriu) +DownloadEmptyExample=Descărcare fișier șablon cu informații despre conținutul câmpului +StarAreMandatory=* sunt câmpuri obligatorii +ChooseFormatOfFileToImport=Alegeți formatul de fișier care va fi utilizat ca format de fișier de import făcând clic pe pictograma %s pentru selecţie... +ChooseFileToImport=Încărcați fișierul, apoi dați clic pe pictograma %s pentru a selecta fișierul ca sursă de import... +SourceFileFormat=Format fişier sursă +FieldsInSourceFile=Câmpuri în fişierul sursă +FieldsInTargetDatabase=Câmpuri-țintă în baza de date a sistemului (bold = obligatoriu) Field=Câmp NoFields=Niciun câmp -MoveField=Mutare coloana %s domeniul număr +MoveField=Mută câmpul coloană cu numărul %s ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Salvaţi acest profil de import -ErrorImportDuplicateProfil=Nu am putut salva acest profil de import cu acest nume. Un profil existent deja cu acest nume. +SaveImportProfile=Salvează acest profil de import +ErrorImportDuplicateProfil=Nu am putut salva profilul de import cu acest nume. Un profil există deja cu acest nume. TablesTarget=Tabelele vizate FieldsTarget=Câmpuri vizate FieldTarget=Câmp vizat -FieldSource=Sursa de câmp +FieldSource=Câmp sursă NbOfSourceLines=Numărul de linii în fişierul sursă -NowClickToTestTheImport=Verificați dacă formatul fișierului (câmpurile și delimitatorii de șir) al fișierului dvs. corespunde opțiunilor afișate și că ați omis linia antetului sau acestea vor fi semnalate ca erori în următoarea simulare.
    Faceți clic pe butonul " %s " pentru a rula o verificare a structurii / conținutului fișierelor și a simula procesul de importare.
    Nu se vor schimba date în baza dumneavoastră de date . +NowClickToTestTheImport=Verifică dacă formatul fișierului (câmpurile și delimitatorii de șir) din fișierul tău corespunde opțiunilor afișate și că ai omis linia antetului; acestea vor fi semnalate ca erori în următoarea simulare.
    Faceți clic pe butonul " %s " pentru a rula o verificare a structurii/conținutului fișierelor și a simula procesul de importare.
    Nu se vor modifica informaţii din baza de date . RunSimulateImportFile=Rulați simularea de import FieldNeedSource=Acest câmp cere date din fişierul sursă -SomeMandatoryFieldHaveNoSource=Unele câmpuri obligatorii nu au nicio sursă de date de la dosar -InformationOnSourceFile=Informaţii privind fişier sursă +SomeMandatoryFieldHaveNoSource=Unele câmpuri obligatorii nu au nicio sursă de date din fişier +InformationOnSourceFile=Informaţii privind fişierul sursă InformationOnTargetTables=Informaţii privind câmpurile ţintă SelectAtLeastOneField=Comută cel puțin un câmp sursă în coloana de câmpuri de exportat -SelectFormat=Alegeţi acest fişier format de import -RunImportFile=Importați date -NowClickToRunTheImport=Verificați rezultatele simulării de import. Corectați orice eroare și retestați.
    Când simularea nu raportează erori, puteți continua să importați datele în baza de date. +SelectFormat=Alege acest format de fişier de import +RunImportFile=Import date +NowClickToRunTheImport=Verifică rezultatele simulării de import. Corectează orice eroare și re-testează.
    Când simularea nu mai raportează erori, poţi importa datele în baza de date. DataLoadedWithId=Datele importate vor avea un câmp suplimentar în fiecare tabelă de bază de date cu acest id de import: %s , pentru a permite ca acesta să poată fi căutat în cazul investigării unei probleme legate de acest import. -ErrorMissingMandatoryValue=Datele obligatorii sunt goale în fișierul sursă pentru câmpul %s . -TooMuchErrors=Există încă %s alte linii sursă cu erori, dar ieșirea a fost limitată. -TooMuchWarnings=Există încă %s alte linii sursă cu avertismente, dar ieșirea a fost limitată. -EmptyLine=linie goală (vor fi aruncate) -CorrectErrorBeforeRunningImport=Trebuie să trebuie să corectaţi toate erorile înainte ca să ruleze importul definitiv. -FileWasImported=Dosarul a fost importat cu %s număr. -YouCanUseImportIdToFindRecord=Puteți găsi toate înregistrările importate în baza dvs. de date prin filtrarea pe câmpul import_key = '%s' . -NbOfLinesOK=Numărul de linii fără erori şi fără avertismente: %s. -NbOfLinesImported=Numărul de linii cu succes importate: %s. -DataComeFromNoWhere=Valoare pentru a introduce vine de nicăieri în fişierul sursă. -DataComeFromFileFieldNb=Valoare pentru a introduce %s vine de la numărul de câmp în fişierul sursă. -DataComeFromIdFoundFromRef=Valoarea care vine de la numărul câmpului %s din fișierul sursă va fi utilizată pentru a găsi id-ul obiectului parental de folosit (astfel încât obiectul %s care are ref. din fișierul sursă trebuie să existe în baza de date). -DataComeFromIdFoundFromCodeId=Codul care vine de la numărul de câmp %s din fișierul sursă va fi folosit pentru a găsi id-ul obiectului parental de folosit (astfel încât codul din fișierul sursă trebuie să existe în dicționar %s ). Rețineți că, dacă cunoașteți idul, îl puteți utiliza și în fișierul sursă în locul codului. Importul ar trebui să funcționeze în ambele cazuri. -DataIsInsertedInto=Datele provin din fişierul sursă va fi inserat în câmpul de următoarele: -DataIDSourceIsInsertedInto=ID-ul obiectului părinte a fost găsit utilizând datele din fișierul sursă, va fi introdus în câmpul următor: -DataCodeIDSourceIsInsertedInto=ID-ul de linie de la mamă găsit codul, va fi introdus în câmpul următorul text: -SourceRequired=valoarea datelor este obligatorie -SourceExample=Exemplu de valoare posibilă de date -ExampleAnyRefFoundIntoElement=Orice Ref gasit pentru %s element +ErrorMissingMandatoryValue=Date obligatorii sunt necompletate în fișierul sursă pentru câmpul %s. +TooMuchErrors=Există încă %s alte linii sursă cu erori, dar afişarea a fost limitată. +TooMuchWarnings=Există încă %s alte linii sursă cu avertismente, dar afişarea a fost limitată. +EmptyLine=Linie goală (va fi ignorată) +CorrectErrorBeforeRunningImport=Trebuie să corectezi toate erorile înainte de a rula importul definitiv. +FileWasImported=Fişierul a fost importat cu numărul %s. +YouCanUseImportIdToFindRecord=Găsiţi toate înregistrările importate în baza de date filtrând pe câmpul import_key = '%s'. +NbOfLinesOK=Număr de linii fără erori şi fără avertismente: %s. +NbOfLinesImported=Număr de linii importate cu succes: %s. +DataComeFromNoWhere=Valoarea de inserare necunoscută în fişierul sursă. +DataComeFromFileFieldNb=Valoarea de introdus vine din câmpul cu numărul %s din fişierul sursă. +DataComeFromIdFoundFromRef=Valoarea care provine din câmpul cu numărul %s din fișierul sursă va fi utilizată pentru a găsi id-ul obiectului părinte care se va folosi (astfel încât obiectul %s care are referinţa din fișierul sursă trebuie să existe în baza de date). +DataComeFromIdFoundFromCodeId=Codul care provine din câmpul cu numărul %s din fișierul sursă va fi folosit pentru a găsi id-ul obiectului părinte utilizat (deci codul din fișierul sursă trebuie să existe în dicționarul %s). Reține că, dacă cunoști id-ul, îl poți utiliza și în fișierul sursă în locul codului. Importul ar trebui să funcționeze în ambele cazuri. +DataIsInsertedInto=Datele care provin din fişierul sursă vor fi inserate în următorul câmp: +DataIDSourceIsInsertedInto=ID-ul obiectului părinte a fost găsit utilizând datele din fișierul sursă, va fi introdus în următorul câmp: +DataCodeIDSourceIsInsertedInto=ID-ul liniei părinte găsit în cod, va fi introdus în următorul câmp: +SourceRequired=Valoarea de tip dată este obligatorie +SourceExample=Exemplu de valoare posibilă +ExampleAnyRefFoundIntoElement=Orice referinţă gasită pentru elementul %s ExampleAnyCodeOrIdFoundIntoDictionary=Orice cod (sau id) găsit în dicţionarul %s -CSVFormatDesc= Valoarea separată prin virgulă formatul de fișier (.csv).
    Acesta este un format de fișier text în care câmpurile sunt separate printr-un separator [%s]. Dacă separatorul se găsește într-un conținut de câmp, câmpul este rotunjit de caracterul rotund [%s]. Caracterul ESC pentru a scăpa de caracterul rotund este [%s]. -Excel95FormatDesc= Excel format (.xls)
    Acesta este formatul nativ Excel 95 (BIFF5). -Excel2007FormatDesc= Excel format fișier (.xlsx)
    Acesta este formatul nativ Excel 2007 (SpreadsheetML). -TsvFormatDesc= Tab Separat Valoare format de fișier (.tsv)
    Acesta este un format de fișier text în care câmpurile sunt separate printr-un tabulator [tab]. -ExportFieldAutomaticallyAdded=Câmpul %s a fost adăugat automat. Va evita să aveți linii similare pentru a fi tratate ca înregistrări duplicate (cu acest câmp adăugat, toate liniile vor avea propriul id și vor diferi). -CsvOptions=Optiuni de format CSV +CSVFormatDesc=Formatul de fişier (.csv) Valoare separată prin virgulă .
    Acesta este un format de fișier text în care câmpurile sunt separate printr-un separator [%s]. Dacă separatorul se găsește într-un câmp de conţinut, câmpul este trunchiat de caracterul [%s]. Caracterul de evadare este [%s]. +Excel95FormatDesc=Formatul de fişier Excel (.xls)
    Acesta este formatul nativ Excel 95 (BIFF5). +Excel2007FormatDesc=Formatul de fişier Excel (.xlsx)
    Acesta este formatul nativ Excel 2007 (SpreadsheetML). +TsvFormatDesc=Formatul de fişier (.tsv) Valori separate prin Tab
    Acesta este un format de fișier text în care câmpurile sunt separate printr-un tabulator [tab]. +ExportFieldAutomaticallyAdded=Câmpul %s a fost adăugat automat. Se va evita introducerea de linii similare considerate ca înregistrări duplicate (cu acest câmp adăugat, toate liniile vor avea propriul id și vor diferi). +CsvOptions=Opţiuni format CSV Separator=Separator de câmp Enclosure=Delimitator de şir SpecialCode=Cod special -ExportStringFilter=%% permite înlocuirea unuia sau mai multor caractere in text -ExportDateFilter=AAAA, AAAALL, AAAALLZZ: filtre pe un an / lună / zi
    AAAA + AAAA, AAAALL + AAAALL, AAAALLZZ + AAAALLZZ: filtre pe o perioadă de ani / luni / zile
    > AAAA, > AAAALL, > AAAALLZZ: filtre pentru toți anii / lunile / zilele urmatori
    NNNNN + NNNNN filtrează peste un interval de valori
    Filtre NNNNN prin valori mai mici
    > Filtre NNNNN prin valori mai mari -ImportFromLine=Importul pornind de la linia numărul +ExportStringFilter=%% permite înlocuirea unuia sau mai multor caractere în text +ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filtre după an/lună/zi
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filtre pe o perioadă de ani/luni/zile
    > YYYY, > YYYYMM, > YYYYMMDD: filtre pentru toţi anii/lunile/zilele următoare
    < YYYY, < YYYYMM, < YYYYMMDD: filtre pentru toți anii/lunile/zilele anterioare +ExportNumericFilter=NNNNN filtrează după o valoare
    NNNNN + NNNNN filtrează după un interval de valori
    < NNNNN filtrează după valori mai mici
    > NNNNN după valori mai mari +ImportFromLine=Importă începând cu linia numărul EndAtLineNb=Sfârșit la linia numărul ImportFromToLine=Interval limită (De la - Până la). Ex. pentru a omite linia(ile) de cap de tabel. -SetThisValueTo2ToExcludeFirstLine=De exemplu, setați această valoare la 3 pentru a exclude primele 2 linii.
    Dacă liniile de antet NU sunt omise, aceasta va duce la mai multe erori în simularea importului. +SetThisValueTo2ToExcludeFirstLine=De exemplu, setează această valoare la 3 pentru a exclude primele 2 linii.
    Dacă liniile de antet NU sunt omise, aceasta va duce la mai multe erori în simularea importului. KeepEmptyToGoToEndOfFile=Păstrați acest câmp gol pentru a procesa toate liniile până la sfârșitul fișierului. -SelectPrimaryColumnsForUpdateAttempt=Selectați coloana (coloanele) de utilizat ca cheie primară pentru o importare UPDATE -UpdateNotYetSupportedForThisImport=Actualizarea nu este acceptată pentru acest tip de import (inserați numai) -NoUpdateAttempt=Nu a fost efectuată nicio încercare de actualizare, se introduce numai +SelectPrimaryColumnsForUpdateAttempt=Selectează coloana(coloanele) de utilizat ca cheie primară pentru un import cu actualizare UPDATE +UpdateNotYetSupportedForThisImport=Actualizarea nu este acceptată pentru acest tip de import (doar inserare) +NoUpdateAttempt=Nu a fost efectuată nicio încercare de actualizare, doar se inserează ImportDataset_user_1=Utilizatori (angajați sau nu) și proprietăți -ComputedField=Câmpul calculat +ComputedField=Câmp calculat ## filters SelectFilterFields=Dacă doriți să filtrați pe anumite valori, doar introduceţi valorile aici. FilteredFields=Câmpuri filtrate FilteredFieldsValues=Valoare pentru filtru FormatControlRule=Regula de control a formatelor ## imports updates -KeysToUseForUpdates=Tastă (coloană) de utilizat pentru actualizarea datelor -NbInsert=Numărul liniilor inserate: %s -NbUpdate=Numărul liniilor actualizate: %s +KeysToUseForUpdates=Cheie (coloană) de utilizat pentru actualizarea datelor existente +NbInsert=Număr linii inserate: %s +NbUpdate=Număr linii actualizate: %s MultipleRecordFoundWithTheseFilters=Au fost găsite mai multe înregistrări cu ajutorul acestor filtre: %s StocksWithBatch=Stocuri și locație (depozit) a produselor cu număr de lot/serie diff --git a/htdocs/langs/ro_RO/holiday.lang b/htdocs/langs/ro_RO/holiday.lang index cbbb43ab7c1..f6b4f2eb31d 100644 --- a/htdocs/langs/ro_RO/holiday.lang +++ b/htdocs/langs/ro_RO/holiday.lang @@ -1,48 +1,48 @@ # Dolibarr language file - Source file is en_US - holiday HRM=HRM -Holidays=Concediu -CPTitreMenu=Concediu +Holidays=Concedii +CPTitreMenu=Concedii MenuReportMonth=Situaţia lunară -MenuAddCP=Cerere de concediu noua -NotActiveModCP=Trebuie să activați modulul Concediu pentru a vedea această pagină. +MenuAddCP=Cerere de concediu nouă +NotActiveModCP=Trebuie să activați modulul Concedii pentru a vedea această pagină. AddCP=Crează o cerere de concediu DateDebCP=Dată început DateFinCP=Dată sfărşit -DraftCP=Ciornă +DraftCP=Schiţă ToReviewCP=În aşteptarea aprobării ApprovedCP=Aprobat CancelCP=Şters RefuseCP=Refuzat -ValidatorCP=Aprobator +ValidatorCP=Responsabil aprobare ListeCP=Lista concediilor -Leave=Cereri de concedii -LeaveId=Lăsați ID-ul +Leave=Cerere de concediu +LeaveId=ID concediu ReviewedByCP=Va fi aprobat de către UserID=ID utilizator -UserForApprovalID=Utilizator pentru ID de aprobare -UserForApprovalFirstname=Prenumele utilizatorului de aprobare -UserForApprovalLastname=Numele utilizatorului de aprobare -UserForApprovalLogin=Conectarea utilizatorului de aprobare +UserForApprovalID=ID utilizator aprobare +UserForApprovalFirstname=Prenumele utilizatorului care aprobă +UserForApprovalLastname=Numele utilizatorului care aprobă +UserForApprovalLogin=Nume de autentificare utilizator care aprobă DescCP=Descriere SendRequestCP=Crează o cerere de concediu DelayToRequestCP=Cererile pentru concediu trebuiesc făcute cu cel puţin %s zi(le) înainte. MenuConfCP=Restul concediului -SoldeCPUser=Restul concediului este de %s zile. +SoldeCPUser=Restul concediului este de %s zile. ErrorEndDateCP=Trebuie să selectaţi data de sfârşit mai mare decât data de început. -ErrorSQLCreateCP=O eroare SQL întâlnită în timpul creării: -ErrorIDFicheCP=O eroare a intervenit, cererea de concediu nu exista +ErrorSQLCreateCP=A apărut o eroare SQL în timpul creării: +ErrorIDFicheCP=A apărut o eroare, cererea de concediu nu există. ReturnCP=Înapoi la pagina precedentă -ErrorUserViewCP=Dvs nu aveti dreptul de a citi aceata cerere de concediu. -InfosWorkflowCP=Flux de lucru Informatii +ErrorUserViewCP=Nu ai dreptul de a citi această cerere de concediu. +InfosWorkflowCP=Info flux de lucru RequestByCP=Solicitat de -TitreRequestCP=Cereri de concedii -TypeOfLeaveId=Tipul de ID de concediu -TypeOfLeaveCode=Tipul codului de concediu -TypeOfLeaveLabel=Tipul tabelului de concediu -NbUseDaysCP=Numărul de zile de concediu consumate -NbUseDaysCPHelp= Calculul ține cont de zilele nelucrătoare și de sărbătorile definite în dicționar. -NbUseDaysCPShort=Zile consumate -NbUseDaysCPShortInMonth=Zilele consumate în lună +TitreRequestCP=Cereri de concediu +TypeOfLeaveId=ID tip concediu +TypeOfLeaveCode=Cod tip concediu +TypeOfLeaveLabel=Etichetă tip concediu +NbUseDaysCP=Număr de zile de concediu utilizate +NbUseDaysCPHelp=Calculaţia ia în considerare zilele nelucrătoare și sărbătorile legale definite în dicționar. +NbUseDaysCPShort=Zile de concediu +NbUseDaysCPShortInMonth=Zile de concediu pe lună DayIsANonWorkingDay=%s este o zi nelucrătoare DateStartInMonth=Data de începere în lună DateEndInMonth=Data de încheiere în lună @@ -53,14 +53,14 @@ ActionCancelCP=Anulare StatutCP=Status TitleDeleteCP=Şterge cerere de concediu ConfirmDeleteCP=Confirmaţi ştergerea acestei cereri de concediu? -ErrorCantDeleteCP=Eroare, dvs nu aveti drepturi de stergere acestei cereri de concediu. -CantCreateCP=Nu aveţi drepturile de a face cereri de concediu -InvalidValidatorCP=Dvs trebuie sa alegeti un aprobator pentru cererea dvs de concediu. -NoDateDebut=Trebuie să selectaţi data de debut. +ErrorCantDeleteCP=Eroare, nu ai dreptul de a şterge această cerere de concediu. +CantCreateCP=Nu ai dreptul de a face cereri de concediu. +InvalidValidatorCP=Trebuie să alegi responsabilul cu abrobarea pentru cererea ta de concediu. +NoDateDebut=Trebuie să selectaţi data de început. NoDateFin=Trebuie să selectaţi data de sfârşit. -ErrorDureeCP=Cererea dvs pentru concediu nu conţine zile lucrătoare. +ErrorDureeCP=Cererea ta de concediu nu conţine zile lucrătoare. TitleValidCP=Aprobă cererea de concediu -ConfirmValidCP=Sunteţi sigur că doriţi să aprobaţi această cerere de concediu ? +ConfirmValidCP=Sunteţi sigur că doriţi să aprobaţi această cerere de concediu ? DateValidCP=Data aprobării TitleToValidCP=Trimite cererea de concediu ConfirmToValidCP=Sunteţi sigur că doriţi să trimiteţi această cerere de concediu? @@ -74,21 +74,21 @@ DateRefusCP=Data refuzului DateCancelCP=Data anulării DefineEventUserCP=Atribuie un concediu excepţional pentru un utilizator addEventToUserCP=Atribuie concediu -NotTheAssignedApprover=Nu sunteți persoana desemnată pentru aprobare +NotTheAssignedApprover=Nu eşti persoana responsabilă cu aprobarea MotifCP=Motiv UserCP=Utilizator -ErrorAddEventToUserCP=O eroare a survenit in timpul adaugarii de concediu exceptional. -AddEventToUserOkCP=Adaugarea de concediu exceptional a fost efectuat -MenuLogCP=Vezi modificari cereri -LogCP=Loguri al actualizărilor zilelor de concediu -ActionByCP=Realizat de -UserUpdateCP=Pentru utilizatorul -PrevSoldeCP=Soldul precedent -NewSoldeCP=Soldul nou +ErrorAddEventToUserCP=O eroare a survenit in timpul adăugării de concediu excepţional. +AddEventToUserOkCP=Adăugarea de concediu excepţional a fost efectuată +MenuLogCP=Vezi modificări cereri +LogCP=Jurnalul tuturor actualizărilor făcute la "Calculul zilelor de concediu" +ActionByCP=Actualizat de +UserUpdateCP=Actualizat pentru +PrevSoldeCP=Sold precedent +NewSoldeCP=Sold nou alreadyCPexist=O cerere de concediu a fost deja făcută pe această perioadă. -FirstDayOfHoliday=Prima zi a concediului -LastDayOfHoliday=Ultima zi a concediului -BoxTitleLastLeaveRequests=Ultimele %s cereri de modificare a concediului +FirstDayOfHoliday=Prima zi de pe cererea de concediu +LastDayOfHoliday=Ultima zi de pe cererea de concediu +BoxTitleLastLeaveRequests=Ultimele %s cereri de concediu modificate HolidaysMonthlyUpdate=Actualizare lunară ManualUpdate=Actualizare manuală HolidaysCancelation=Anulare cerere concediu @@ -98,37 +98,39 @@ TypeWasDisabledOrRemoved=Tipul de concediu (id %s) a fost dezactivat sau elimina LastHolidays=Ultimele %s cereri de concediu AllHolidays=Toate cererile de concediu HalfDay=Jumătate de zi -NotTheAssignedApprover=Nu sunteți persoana desemnată pentru aprobare -LEAVE_PAID=Vacanţă platită +NotTheAssignedApprover=Nu eşti persoana responsabilă cu aprobarea +LEAVE_PAID=Concediu plătit LEAVE_SICK=Concediu medical LEAVE_OTHER=Alte concedii -LEAVE_PAID_FR=Vacanţă plătită +LEAVE_PAID_FR=Concediu plătit ## Configuration du Module ## LastUpdateCP=Ultima actualizare automată a alocării concediilor MonthOfLastMonthlyUpdate=Luna ultimei actualizări automate a alocării concediilor UpdateConfCPOK=Actualizare realizată. -Module27130Name= Managementul cererilor de concedii -Module27130Desc= Managementul cererilor de concedii -ErrorMailNotSend=O eroare a intervenit la trimiterea mailului : -NoticePeriod=Perioadă notita +Module27130Name= Concedii +Module27130Desc= Concedii +ErrorMailNotSend=O eroare a intervenit la trimiterea emailului : +NoticePeriod=Perioadă de notificare #Messages -HolidaysToValidate=Validează cereri concedii +HolidaysToValidate=Validează cereri de concedii HolidaysToValidateBody=Mai jos este o cerere de concediu de validat -HolidaysToValidateDelay=Această cerere de concediuva avea loc intr-o perioadă de mai puţin de %s zile. +HolidaysToValidateDelay=Această cerere de concediu va avea loc într-o perioadă de mai puţin de %s zile. HolidaysToValidateAlertSolde=Utilizatorul care a făcut această solicitare de concediu nu are suficiente zile disponibile. HolidaysValidated=Cereri de concedii validate -HolidaysValidatedBody=Cererea dvs pentru concediu pentru %s la %s a fost validată. +HolidaysValidatedBody=Cererea ta de concediu de la %s pînă %s a fost validată. HolidaysRefused=Cerere respinsă -HolidaysRefusedBody=Solicitarea dvs. de concediu pentru %s la %s a fost respinsă din următorul motiv: -HolidaysCanceled=Cereri Concedii anulate -HolidaysCanceledBody=Cererea dvs pentru concediu pentru %s la %s a fost anulată. -FollowedByACounter=1: Acest tip de concediu trebuie urmat de un contor. Counter-ul este incrementat manual sau automat și atunci când o solicitare de concediu este validată, contorul este diminuat.
    0: Nu este urmat de un contor. +HolidaysRefusedBody=Cererea ta de concediu de la %s până la %s a fost respinsă din următorul motiv: +HolidaysCanceled=Cereri de concedii anulate +HolidaysCanceledBody=Cererea ta de concediu de la %s până la %s a fost anulată. +FollowedByACounter=1: Acest tip de concediu trebuie urmat de un contor. Contorul este incrementat manual sau automat și atunci când o cerere de concediu este validată, contorul este diminuat.
    0: Nu este urmat de un contor. NoLeaveWithCounterDefined=Nu sunt definite tipuri de concediu care trebuie urmate de un contor -GoIntoDictionaryHolidayTypes=Mergi la Acasă - Configurare - Dicționare - Tip de concediu pentru a configura diferitele tipuri de concedii. -HolidaySetup=Configurarea modulului Vacanță -HolidaysNumberingModules=Modelele de numerotare a cererilor de concediu +GoIntoDictionaryHolidayTypes=Mergi la Acasă - Setări - Dicționare - Tip de concediu pentru a configura diferite tipuri de concedii. +HolidaySetup=Configurare modul Concedii +HolidaysNumberingModules=Modele de numerotare pentru cererile de concediu TemplatePDFHolidays=Șablon pentru cererile de concediu PDF -FreeLegalTextOnHolidays=Text gratuit pe PDF -WatermarkOnDraftHolidayCards=Bază de fundal privind cererile de permis de concediu +FreeLegalTextOnHolidays=Text liber pe PDF +WatermarkOnDraftHolidayCards=Watermark-uri pe cererile de concediu schiţă HolidaysToApprove=Concedii de aprobat NobodyHasPermissionToValidateHolidays=Nimeni nu are permisiunea de a valida concedii +HolidayBalanceMonthlyUpdate=Actualizare lunară a evidenţei concediilor +XIsAUsualNonWorkingDay=%s este de obicei o zi NElucrătoare diff --git a/htdocs/langs/ro_RO/hrm.lang b/htdocs/langs/ro_RO/hrm.lang index 3a232f187ab..f320d957266 100644 --- a/htdocs/langs/ro_RO/hrm.lang +++ b/htdocs/langs/ro_RO/hrm.lang @@ -1,19 +1,19 @@ # Dolibarr language file - en_US - hrm # Admin -HRM_EMAIL_EXTERNAL_SERVICE=E-mail pentru a preveni serviciu extern HRM +HRM_EMAIL_EXTERNAL_SERVICE=Adresă email HRM serviciu externalizat Establishments=Sedii Establishment=Sediu NewEstablishment=Sediu nou -DeleteEstablishment=Sterge Sediu -ConfirmDeleteEstablishment=Sigur doriți să ștergeți această unitate? -OpenEtablishment=Deschide Sediu -CloseEtablishment=Inchide Sediu +DeleteEstablishment=Şterge sediu +ConfirmDeleteEstablishment=Sigur doriți să ștergeți acest sediu? +OpenEtablishment=Deschide sediu +CloseEtablishment=Închide sediu # Dictionary -DictionaryPublicHolidays=Managementul resurselor umane - Sarbatori oficiale -DictionaryDepartment=HRM - Lista Departamente +DictionaryPublicHolidays=Concediu - Sărbători legale +DictionaryDepartment=HRM - Listă departamente DictionaryFunction=HRM - Joburi disponibile # Module -Employees=Angajati +Employees=Angajaţi Employee=Angajat NewEmployee=Angajat nou -ListOfEmployees=Lista angajati +ListOfEmployees=Lista angajaţilor diff --git a/htdocs/langs/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index 9393f0ff547..88073532227 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -1,217 +1,218 @@ # Dolibarr language file - Source file is en_US - install InstallEasy=Doar urmaţi instrucţiunile pas cu pas. -MiscellaneousChecks=Verificare Cerinţe preliminare -ConfFileExists=%s fişierul de configurare există. -ConfFileDoesNotExistsAndCouldNotBeCreated=Fișierul de configurare %s nu există și nu a putut fi creat! -ConfFileCouldBeCreated=Fişier de configurare %s ar putea fi creat. -ConfFileIsNotWritable=Fișierul de configurare %s nu poate fi scris. Verificați permisiunile. Pentru prima instalare, serverul dvs. web trebuie să poată scrie în acest fișier în timpul procesului de configurare ("chmod 666", de exemplu, pe un sistem de operare Unix). -ConfFileIsWritable=%s fişier de configurare este de scriere. -ConfFileMustBeAFileNotADir=Fișierul de configurare %s trebuie să fie un fișier, nu un director. +MiscellaneousChecks=Verificare cerinţe preliminare +ConfFileExists=Fişierul de configurare %s există. +ConfFileDoesNotExistsAndCouldNotBeCreated=Fișierul de configurare %s nu există și nu a putut fi creat! +ConfFileCouldBeCreated=Fişierul de configurare %s ar putea fi creat. +ConfFileIsNotWritable=Fișierul de configurare %s nu poate fi scris. Verificați permisiunile. Pentru prima instalare, serverul tău web trebuie să poată scrie în acest fișier în timpul procesului de configurare ("chmod 666", de exemplu, pe un sistem de operare Unix). +ConfFileIsWritable=Fişierul de configurare %s se poate scrie. +ConfFileMustBeAFileNotADir=Fișierul de configurare %s trebuie să fie un fișier, nu un director. ConfFileReload=Reîncărcarea parametrilor din fișierul de configurare. -PHPSupportPOSTGETOk=Acest PHP suportă variabile POST si GET. -PHPSupportPOSTGETKo=Este posibil ca configurarea dvs. PHP să nu accepte variabilele POST și/sau GET. Verificați parametrul variables_order în php.ini. +PHPSupportPOSTGETOk=Acest PHP suportă variabile POST şi GET. +PHPSupportPOSTGETKo=Este posibil ca configurarea PHP să nu accepte variabilele POST și/sau GET. Verificați parametrul variables_order în php.ini. PHPSupportSessions=Acest PHP susţine sesiuni. PHPSupport=Această versiune de PHP suportă funcţii %s. -PHPMemoryOK=PHP max memorie sesiune este setată la %s. Acest lucru ar trebui să fie suficient. -PHPMemoryTooLow=Memoria sesiunii PHP max este setată la %s octeți. Această valoare este prea mică. Schimbați-vă php.ini pentru a seta parametrul memory_limit la cel puțin %s octeți. +PHPMemoryOK=Memoria max de sesiune din PHP este setată la %s. Acest lucru ar trebui să fie suficient. +PHPMemoryTooLow=Memoria maximă a sesiunii PHP este setată la %s octeți. Această valoare este prea mică. Schimbați în php.ini pentru a seta parametrul memory_limit la cel puțin %s octeți. Recheck=Faceți clic aici pentru un test mai detaliat -ErrorPHPDoesNotSupportSessions=Instalarea dvs. de PHP nu acceptă sesiuni. Această caracteristică este necesară pentru a permite Dolibarr să funcționeze. Verificați configurarea PHP și permisiunile directorului sesiunilor. -ErrorPHPDoesNotSupportGD=Instalarea dvs. PHP nu suportă funcții grafice GD. Nu vor fi disponibile grafice. -ErrorPHPDoesNotSupportCurl=Instalarea dvs. PHP nu suportă Curl. +ErrorPHPDoesNotSupportSessions=Instalarea ta PHP nu acceptă sesiuni. Această caracteristică este necesară pentru a permite sistemului să funcționeze. Verificați configurarea PHP și permisiunile directorului sesiunilor. +ErrorPHPDoesNotSupportGD=Instalarea PHP nu suportă funcții grafice GD. Nu vor fi disponibile grafice. +ErrorPHPDoesNotSupportCurl=Instalarea ta PHP nu suportă Curl. ErrorPHPDoesNotSupportCalendar=Versiunea ta de PHP nu suportă extensii calendar. -ErrorPHPDoesNotSupportUTF8=Instalarea dvs. de PHP nu suportă funcții UTF8. Dolibarr nu poate funcționa corect. Rezolvați acest lucru înainte de a instala Dolibarr. +ErrorPHPDoesNotSupportUTF8=Instalarea ta PHP nu suportă funcții UTF8. Sistemul nu poate funcționa corect. Rezolvați acest lucru înainte de a instala. ErrorPHPDoesNotSupportIntl=Versiunea ta de PHP nu suportă funcţii Intl. ErrorPHPDoesNotSupportxDebug=Versiunea ta de PHP nu suportă funcţii de depanare extinse. ErrorPHPDoesNotSupport=Versiunea ta de PHP nu suportă funcţii %s. -ErrorDirDoesNotExists=Directorul %s nu există. +ErrorDirDoesNotExists=Directorul %s nu există. ErrorGoBackAndCorrectParameters=Întoarceți-vă și verificați/corectați parametrii. -ErrorWrongValueForParameter=Este posibil să fi tastat greşit o valoare pentru parametrul "%s". +ErrorWrongValueForParameter=Este posibil să fi tastat greşit o valoare pentru parametrul '%s'. ErrorFailedToCreateDatabase=Eşec la crearea bazei de date '%s'. ErrorFailedToConnectToDatabase=Eşec la conectarea la baza de date '%s'. -ErrorDatabaseVersionTooLow=Versiunea bazei de date (%s) prea veche. Versiunea %s este necesară. -ErrorPHPVersionTooLow=PHP versiune prea veche. %s versiune este necesar. -ErrorConnectedButDatabaseNotFound=Conectarea la server a reușit, dar baza de date "%s" nu a fost găsită. +ErrorDatabaseVersionTooLow=Versiunea bazei de date (%s) este prea veche. Versiunea %s sau mai mare este necesară. +ErrorPHPVersionTooLow=Versiune PHP prea veche. Versiunea %s este necesară. +ErrorConnectedButDatabaseNotFound=Conectarea la server a reușit, dar baza de date '%s' nu a fost găsită. ErrorDatabaseAlreadyExists=Baza de date '%s' există deja. IfDatabaseNotExistsGoBackAndUncheckCreate=Dacă baza de date nu există, reveniți și bifați opțiunea "Creare bază de date". -IfDatabaseExistsGoBackAndCheckCreate=Dacă baza de date există deja, du-te înapoi şi debifaţi "Crearea bazei de date" opţiune. +IfDatabaseExistsGoBackAndCheckCreate=Dacă baza de date există deja, du-te înapoi şi debifează opţiunea "Creare bază de date". WarningBrowserTooOld=Versiunea browserului este prea veche. Este recomandat să vă actualizați browserul la o versiune recentă de Firefox, Chrome sau Opera. PHPVersion=Versiunea PHP License=Utilizarea de licenţă ConfigurationFile=Fişier de configurare -WebPagesDirectory=Director în cazul în care paginile web sunt stocate -DocumentsDirectory=Director pentru a stoca documentele încărcate şi a generat +WebPagesDirectory=Directorul în care paginile web sunt stocate +DocumentsDirectory=Director de stocare documente încărcate şi documente generate URLRoot=URL Rădăcină -ForceHttps=Forţarea conexiuni securizate (HTTPS) +ForceHttps=Forţează conexiuni securizate (HTTPS) CheckToForceHttps=Bifaţi această opţiune pentru a forţa conexiuni securizate (HTTPS).
    Acest lucru presupune faptul că serverul de web este configurat cu un certificat SSL. -DolibarrDatabase=Baza de date Dolibarr -DatabaseType=Tip Baza de date +DolibarrDatabase=Baza de date +DatabaseType=Tip bază de date DriverType=Tip driver Server=Server ServerAddressDescription=Nume sau adresă IP pentru serverul de bază de date. De obicei, "localhost" când serverul bazei de date este găzduit pe același server ca serverul web. -ServerPortDescription=Port-ul serverului de baze de date. Păstraţi gol, dacă necunoscut. -DatabaseServer=Server baze de date +ServerPortDescription=Port-ul serverului de baze de date. Păstraţi gol, dacă este necunoscut. +DatabaseServer=Server baze de date DatabaseName=Nume bază de date -DatabasePrefix=Prefixul tabelului de bibliotecă -DatabasePrefixDescription=Prefixul tabelului de bibliotecă. Dacă este gol, implicit este llx_. -AdminLogin=Cont utilizator pentru proprietarul bazei de date Dolibarr. +DatabasePrefix=Prefixul tabel bază de date +DatabasePrefixDescription=Prefixul tabelului din baza de date. Dacă este gol, implicit este llx_. +AdminLogin=Cont utilizator pentru proprietarul bazei de date a sistemului. PasswordAgain=Rescrieți confirmarea parolei -AdminPassword=Parola pentru proprietarul bazei de date Dolibarr. -CreateDatabase=Crearea bazei de date -CreateUser=Creați un cont de utilizator sau acordați permisiunea unui cont de utilizator în baza de date Dolibarr -DatabaseSuperUserAccess=Serverul de baze de date - superuser de acces -CheckToCreateDatabase=Bifați caseta dacă baza de date nu există încă și trebuie să fie creată.
    În acest caz, trebuie să completați și numele de utilizator și parola pentru contul superuser din partea de jos a acestei pagini. -CheckToCreateUser=Bifați caseta dacă:
    contul de utilizator al bazei de date nu există încă și astfel trebuie să fie creat sau
    dacă există un cont de utilizator, dar baza de date nu există și permisiunile trebuie să fie acordate.
    În acest caz, trebuie să introduceți contul de utilizator și parola și și numele și parola contului de superuser în partea de jos a acestei pagini. Dacă această casetă nu este bifată, proprietarul bazei de date și parola trebuie să existe deja. -DatabaseRootLoginDescription=Nume de cont Superuser (pentru a crea noi baze de date sau noi utilizatori), obligatorie dacă baza de date sau proprietarul acesteia nu există deja. +AdminPassword=Parola pentru proprietarul bazei de date a sistemului. +CreateDatabase=Creare bază de date +CreateUser=Creați un cont de utilizator sau acordați permisiunea unui cont de utilizator în baza de date a sistemului +DatabaseSuperUserAccess=Server baze de date - Acces Superuser +CheckToCreateDatabase=Bifează caseta dacă baza de date nu există încă și trebuie să fie creată.
    În acest caz, trebuie să completați și numele de utilizator și parola pentru contul superuser din partea de jos a acestei pagini. +CheckToCreateUser=Bifați dacă:
    contul de utilizator al bazei de date nu există încă și astfel trebuie să fie creat sau
    dacă există un cont de utilizator, dar baza de date nu există și permisiunile trebuie să fie acordate.
    În acest caz, trebuie să introduceți contul de utilizator și parola și și numele și parola contului de superuser în partea de jos a acestei pagini. Dacă această casetă nu este bifată, proprietarul bazei de date și parola trebuie să existe deja. +DatabaseRootLoginDescription=Nume de cont Superuser (pentru a crea noi baze de date sau noi utilizatori), obligatoriu dacă baza de date sau proprietarul acesteia nu există deja. KeepEmptyIfNoPassword=Lăsați gol dacă superuserul nu are parolă (NU se recomandă) SaveConfigurationFile=Salvează parametri la ServerConnection=Conexiune server -DatabaseCreation=Baza de date crearea de -CreateDatabaseObjects=Baza de date crearea de obiecte -ReferenceDataLoading=Date de referinta de încărcare -TablesAndPrimaryKeysCreation=Mese si primar cheile de creare +DatabaseCreation=Creare bază de date +CreateDatabaseObjects=Creare obiecte bază de date +ReferenceDataLoading=Datele de referinţă se încarcă +TablesAndPrimaryKeysCreation=Creare tabele şi chei primare CreateTableAndPrimaryKey=Creare tabel %s -CreateOtherKeysForTable=Crearea cheile străine şi indicii pentru %s de masă -OtherKeysCreation=Cheile străine şi crearea de indici -FunctionsCreation=Creare Funcţii -AdminAccountCreation=Administrator crearea de autentificare +CreateOtherKeysForTable=Creare chei străine şi indecşi pentru tabelul %s +OtherKeysCreation=Creare chei străine şi indecşi +FunctionsCreation=Creare funcţii +AdminAccountCreation=Creare autentificare Administrator PleaseTypePassword=Introduceți o parolă, parolele goale nu sunt permise! PleaseTypeALogin=Introduceți un nume de utilizator! PasswordsMismatch=Parolele diferă, încercați din nou! -SetupEnd=Sfârşitul de configurare -SystemIsInstalled=Această instalare este completă. -SystemIsUpgraded=Dolibarr a fost actualizat cu succes. -YouNeedToPersonalizeSetup=Trebuie să vă configuraţi Dolibarr pentru a se potrivi nevoilor dumneavoastră (aspect, caracteristici, ...). Pentru a face acest lucru, va rugam sa urmati link-ul de mai jos: -AdminLoginCreatedSuccessfuly=Cont Dolibarr administrator ' %s ' creat cu succes. -GoToDolibarr=Du-te la Dolibarr -GoToSetupArea=Du-te la Dolibarr (zona de configurare) +SetupEnd=Configurare finalizată +SystemIsInstalled=Această instalare este finalizată. +SystemIsUpgraded=Sistemul a fost actualizat cu succes. +YouNeedToPersonalizeSetup=Trebuie să vă configuraţi sistemul pentru a se potrivi nevoilor dumneavoastră (aspect, caracteristici, ...). Pentru a face acest lucru, urmaţi link-ul de mai jos: +AdminLoginCreatedSuccessfuly=Cont administrator sistem '%s' creat cu succes. +GoToDolibarr=Du-te la sistem +GoToSetupArea=Du-te în sistem (zona de configurare) MigrationNotFinished=Versiunea bazei de date nu este complet actualizată: executați din nou procesul de actualizare. -GoToUpgradePage=Du-te la pagina din nou upgrade -WithNoSlashAtTheEnd=Fără a slash "/" de la sfârşitul +GoToUpgradePage=Mergi la pagina de upgrade din nou +WithNoSlashAtTheEnd=Fără slash "/" la sfârşit DirectoryRecommendation=IMPORTANT:Trebuie să utilizați un director care se află în afara paginilor web (deci nu folosiți un subdirector al parametrului anterior). LoginAlreadyExists=Există deja -DolibarrAdminLogin=Dolibarr admin autentificare -AdminLoginAlreadyExists=Contul de administrator Dolibarr " %s " există deja. Întoarce-te dacă vrei să creezi altul. -FailedToCreateAdminLogin=Nu ați reușit să creați contul de administrator Dolibarr. -WarningRemoveInstallDir=Avertisment, din motive de securitate, odată ce instalarea sau actualizarea este completă, trebuie să adăugați un fișier numit install.lock în directorul de documente Dolibarr pentru a preveni utilizarea accidentală / rău intenționată a instrumentelor de instalare din nou . +DolibarrAdminLogin=Sistem admin autentificare +AdminLoginAlreadyExists=Contul de administrator sistem '%s' există deja. Întoarce-te dacă vrei să creezi altul. +FailedToCreateAdminLogin=Eşec la crearea contului de administrator sistem. +WarningRemoveInstallDir=Avertisment, din motive de securitate, odată ce instalarea sau actualizarea este completă, trebuie să adăugați un fișier numit install.lock în directorul de documente sistem pentru a preveni utilizarea accidentală/rău intenționată a instrumentelor de instalare din nou . FunctionNotAvailableInThisPHP=Nu este disponibil în acest PHP ChoosedMigrateScript=Alegeţi script-ul de migraţie DataMigration=Migrarea bazei de date (date) -DatabaseMigration=Migrarea bazei de date (structura + unele date) -ProcessMigrateScript=Script de prelucrare -ChooseYourSetupMode=Alegeţi modul de configurare şi faceţi clic pe "Start" ... +DatabaseMigration=Migrarea bazei de date (structură + unele date) +ProcessMigrateScript=Scriptul procesează +ChooseYourSetupMode=Alegeţi modul de configurare şi faceţi clic pe "Start"... FreshInstall=Instalare proaspătă -FreshInstallDesc=Utilizați acest mod dacă aceasta este prima instalare. Dacă nu, acest mod poate repara o instalare anterioară incompletă. Dacă doriți să actualizați versiunea dvs., alegeți modul "Actualizare". -Upgrade=Uaktualnij -UpgradeDesc=Utilizaţi acest mod, dacă aţi înlocuit fişierele vechi Dolibarr cu fişiere dintr-o versiune mai nouă. Acest lucru se va actualiza baza de date şi de date. +FreshInstallDesc=Utilizați acest mod dacă aceasta este prima instalare. Dacă nu, acest mod poate repara o instalare anterioară incompletă. Dacă doreşti să actualizezi versiunea ta, alege modul "Actualizare". +Upgrade=Actualizare +UpgradeDesc=Utilizaţi acest mod, dacă aţi înlocuit fişierele vechi Dolibarr cu fişiere dintr-o versiune mai nouă. Acest lucru va actualiza baza de date şi datele. Start=Începe -InstallNotAllowed=Setup nu este permis de permisiuni conf.php -YouMustCreateWithPermission=Trebuie să creaţi %s de fişiere şi setaţi permisiuni de scriere pe el pentru serverul de web în timpul procesului de instalare. +InstallNotAllowed=Configurarea nu este permisă de permisiunile din conf.php +YouMustCreateWithPermission=Trebuie să creaţi %s de fişiere şi setaţi permisiuni de scriere pe ele în timpul procesului de instalare. CorrectProblemAndReloadPage=Remediați problema și apăsați F5 pentru a reîncărca pagina. AlreadyDone=Migrat deja DatabaseVersion=Versiunea bazei de date -ServerVersion=Baza de date server de versiune -YouMustCreateItAndAllowServerToWrite=Trebuie să creaţi acest director şi pentru a permite serverului de web pentru a scrie în ea. -DBSortingCollation=Caracter de sortare pentru -YouAskDatabaseCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date %s , dar pentru aceasta, Dolibarr trebuie să se conecteze la serverul %s cu permisiunile %s super-utilizatorului. -YouAskLoginCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date utilizator %s , dar pentru aceasta, Dolibarr trebuie să se conecteze la server %s cu permisiunile %s super-utilizatorului. -BecauseConnectionFailedParametersMayBeWrong=Conectarea la baza de date a eșuat: parametrii gazdă sau ai super-utilizatorului trebuie să fie greșiți. -OrphelinsPaymentsDetectedByMethod=Plata orfani detectat de %s metoda +ServerVersion=Versiune bază de date server +YouMustCreateItAndAllowServerToWrite=Trebuie să creaţi acest director şi să permite serverului web să scrie în el. +DBSortingCollation=Ordine sortare caractere +YouAskDatabaseCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date %s , dar pentru aceasta, sistemul trebuie să se conecteze la serverul %s cu permisiunile %s de superutilizator. +YouAskLoginCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date utilizator %s, dar pentru aceasta, sistemul trebuie să se conecteze la server%s cu permisiunile %s de super-utilizator. +BecauseConnectionFailedParametersMayBeWrong=Conectarea la baza de date a eșuat: parametrii gazdă sau ai super-utilizatorului ar putea să fie greșiți. +OrphelinsPaymentsDetectedByMethod=Plăţi orfane au fost detectate de metoda %s RemoveItManuallyAndPressF5ToContinue=Scoateţi-l manual şi apăsaţi F5 pentru a continua. FieldRenamed=Câmp redenumit IfLoginDoesNotExistsCheckCreateUser=Dacă utilizatorul nu există încă, trebuie să bifați opțiunea "Creare utilizator" -ErrorConnection=Server " %s ", numele de bază de date " %s ", conectați " %s " sau parola bazei de date poate fi greșită sau versiunea client PHP poate fi prea veche în comparație cu versiunea bazei de date. -InstallChoiceRecommanded=Alegerea recomandate pentru a instala versiunea din %s %s versiunea sistemului de operare actuale -InstallChoiceSuggested=Instalaţi alegere sugerat de instalator. +ErrorConnection=Server "%s", nume bază de date "%s ", cont autentificare "%s" sau parola poate fi greșită sau versiunea client PHP poate fi prea veche în comparație cu versiunea bazei de date. +InstallChoiceRecommanded=Alegerea recomandată este pentru a instala versiunea %spentru versiunea curentă %s +InstallChoiceSuggested=Instalează versiunea recomandată de installer. MigrateIsDoneStepByStep=Versiunea vizată (%s) are un decalaj de mai multe versiuni. Expertul de instalare va reveni pentru a sugera o migrare ulterioară odată ce aceasta este completă. -CheckThatDatabasenameIsCorrect=Verificați dacă numele de bază de date " %s " este corect. -IfAlreadyExistsCheckOption=În cazul în care acest nume este corectă şi că baza de date nu există încă, trebuie să verificaţi opţiunea "Creare bază de date". -OpenBaseDir= Parametru openbasedir PHP -YouAskToCreateDatabaseSoRootRequired=Ați bifat caseta "Creare bază de date". Pentru aceasta, trebuie să furnizați login-ul/parola super-utilizatorului (partea de jos a formularului). -YouAskToCreateDatabaseUserSoRootRequired=Ați bifat caseta "Crearea proprietarului bazei de date". Pentru aceasta, trebuie să furnizați login-ul / parola super-utilizatorului (partea de jos a formularului). +CheckThatDatabasenameIsCorrect=Verificăi dacă numele de bază de date "%s" este corect. +IfAlreadyExistsCheckOption=În cazul în care acest nume este corectă şi baza de date nu există încă, trebuie să bifaţi opţiunea "Creare bază de date". +OpenBaseDir= Parametru PHP openbasedir +YouAskToCreateDatabaseSoRootRequired=Ați bifat caseta "Creare bază de date". Pentru aceasta, trebuie să furnizați nume utilizator/parola super-utilizatorului (partea de jos a formularului). +YouAskToCreateDatabaseUserSoRootRequired=Ați bifat caseta "Creare proprietar bază de date". Pentru aceasta, trebuie să furnizați login/ parola super-utilizator (partea de jos a formularului). NextStepMightLastALongTime=Pasul curent poate dura câteva minute. Așteptați până când următorul ecran este afișat complet înainte de a continua. -MigrationCustomerOrderShipping=Migrați transportul maritim pentru stocarea comenzilor de vânzări -MigrationShippingDelivery=Upgrade de depozitare de transport maritim -MigrationShippingDelivery2=Upgrade de depozitare de transport 2 -MigrationFinished=Migraţia terminată -LastStepDesc= Ultimul pas : Definiți aici datele de autentificare și parola pe care doriți să le utilizați pentru a vă conecta la Dolibarr. Nu pierdeți acest lucru deoarece este contul principal pentru a administra toate celelalte / conturi de utilizator suplimentare. -ActivateModule=Activaţi modul %s -ShowEditTechnicalParameters=Click aici pentru a vedea / edita parametrii avansaţi (mod expert) -WarningUpgrade=Avertizare:\nAți executat mai întâi o copie de siguranță a bazei de date?\nAcest lucru este foarte recomandat. Pierderea de date (datorată, de exemplu, erorilor din versiunea mysql 5.5.40 / 41/42/43) poate fi posibilă în timpul acestui proces, deci este esențial să faceți o descărcare completă a bazei de date înainte de a începe orice migrare.\n\nFaceți clic pe OK pentru a începe procesul de migrare ... -ErrorDatabaseVersionForbiddenForMigration=Versiunea bazei de date este %s. Are o eroare critică, ceea ce face posibilă pierderea datelor dacă efectuați modificări structurale în baza de date, cum este cazul procesului de migrare. Din acest motiv, migrarea nu va fi permisă până când nu actualizați baza de date la o versiune cu strat (patched) (lista versiunilor buggy cunoscute: %s) +MigrationCustomerOrderShipping=Migrare livrări din comenzile de vânzare stocate +MigrationShippingDelivery=Actualizare depozit de livrare +MigrationShippingDelivery2=Actualizare depozit de livrare 2 +MigrationFinished=Migrarea a fost finalizată +LastStepDesc=Ultimul pas: Definiți aici datele de autentificare și parola pe care doriți să le utilizați pentru a vă conecta la sistem. Nu pierdeți aceste credenţiale deoarece este contul principal pentru a administra toate celelalte conturi de utilizator suplimentare. +ActivateModule=Activare modul %s +ShowEditTechnicalParameters=Click aici pentru a vedea/edita parametrii avansaţi (mod expert) +WarningUpgrade=Atenţie:\nAți executat mai întâi o copie de siguranță a bazei de date?\nAcest lucru este foarte recomandat. Pierderea de date (datorată, de exemplu, erorilor din versiunea mysql 5.5.40 / 41/42/43) poate fi posibilă în timpul acestui proces, deci este esențial să faceți un backup complet al bazei de date înainte de a începe orice migrare.\n\nClic pe OK pentru a începe procesul de migrare... +ErrorDatabaseVersionForbiddenForMigration=Versiunea bazei de date este %s. Are o eroare critică, ceea ce face posibilă pierderea datelor dacă efectuați modificări structurale în baza de date, cum este cazul procesului de migrare. Din acest motiv, migrarea nu va fi permisă până când nu actualizați baza de date la o versiune cu strat (patched) (lista versiunilor defectuoase cunoscute: %s) KeepDefaultValuesWamp=Ați folosit expertul de configurare Dolibarr de la DoliWamp, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. KeepDefaultValuesDeb=Ați folosit expertul de configurare Dolibarr dintr-un pachet Linux (Ubuntu, Debian, Fedora ...), deci valorile propuse aici sunt deja optimizate. Este necesar să introduceți numai parola proprietarului bazei de date. Modificați alți parametri numai dacă știți ce faceți. KeepDefaultValuesMamp=Ați folosit expertul de configurare Dolibarr de la DoliMamp, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. -KeepDefaultValuesProxmox=Ați folosit expertul de configurare Dolibarr de la un dispozitiv virtual Proxmox, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. +KeepDefaultValuesProxmox=Ați folosit expertul de configurare Dolibarr pentru o maşină virtuală Proxmox, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. UpgradeExternalModule=Rulați procesul de actualizare specializat al modulului extern -SetAtLeastOneOptionAsUrlParameter=Setați cel puțin o opțiune ca parametru în adresa URL. De exemplu: "... repair.php? Standard = confirmat" +SetAtLeastOneOptionAsUrlParameter=Setează cel puțin o opțiune ca parametru în adresa URL. De exemplu: "...repair.php?standard=confirmed" NothingToDelete=Nimic de curățat/șters NothingToDo=Nimic de făcut ######### # upgrade -MigrationFixData=Fix pentru date denormalized -MigrationOrder=Migrare a datelor pentru comenzile clienţilor -MigrationSupplierOrder=Migrarea datelor pentru comenzile vânzătorului +MigrationFixData=Reparare date denormalizate +MigrationOrder=Migrarea datelor pentru comenzile clienţilor +MigrationSupplierOrder=Migrarea datelor pentru comenzile furnizor MigrationProposal=Migrare de date pentru oferte comerciale -MigrationInvoice=Migrare de date pentru facturile clienţilor +MigrationInvoice=Migrarea datelor pentru facturi clienţi MigrationContract=Migrarea datelor pentru contracte -MigrationSuccessfullUpdate=Upgrade de succes +MigrationSuccessfullUpdate=Actualizare cu succes MigrationUpdateFailed=Procesul de actualizare a eşuat -MigrationRelationshipTables=Migrare a datelor pentru tabelele relaţie (%s) +MigrationRelationshipTables=Migrarea datelor pentru tabelele de relaţie (%s) MigrationPaymentsUpdate=Corecţie dată de plată -MigrationPaymentsNumberToUpdate=De plată %s (e) pentru a actualiza -MigrationProcessPaymentUpdate=Actualizaţi plată (e) %s -MigrationPaymentsNothingToUpdate=Nu există mai multe lucruri de făcut -MigrationPaymentsNothingUpdatable=Nu mai multe plăţi, care pot fi corectate -MigrationContractsUpdate=Contract de date de corecţie -MigrationContractsNumberToUpdate=Contract de %s (e) pentru a actualiza -MigrationContractsLineCreation=Creeze o linie contract pentru %s ref contract -MigrationContractsNothingToUpdate=Nu există mai multe lucruri de făcut -MigrationContractsFieldDontExist=Domeniul fk_facture nu mai există. Nimic de făcut. -MigrationContractsEmptyDatesUpdate=Corecţie contract de gol data -MigrationContractsEmptyDatesUpdateSuccess=Golirea datei goale a contractului a fost efectuată cu succes -MigrationContractsEmptyDatesNothingToUpdate=Nici data contractului gol pentru a corecta -MigrationContractsEmptyCreationDatesNothingToUpdate=Nici o creaţie data contractului pentru a corecta -MigrationContractsInvalidDatesUpdate=Bad data valoarea contractului de corecţie -MigrationContractsInvalidDateFix=%s incorect contractului (data contractului = %s, Incepand cu data de serviciu min = %s) -MigrationContractsInvalidDatesNumber=Contracte de %s modificate -MigrationContractsInvalidDatesNothingToUpdate=Nici o data cu valoarea rău pentru a corecta -MigrationContractsIncoherentCreationDateUpdate=Bad contract de crearea de valoare data de corecţie -MigrationContractsIncoherentCreationDateUpdateSuccess=Realizarea corecției datei de creare a contractelor cu valoarea greşită a reușit -MigrationContractsIncoherentCreationDateNothingToUpdate=Nici o valoare rău pentru data de creare contractului pentru a corecta -MigrationReopeningContracts=Contract de deschis închis de eroare -MigrationReopenThisContract=Redeschide contract %s -MigrationReopenedContractsNumber=%s Contracte modificate -MigrationReopeningContractsNothingToUpdate=Nici un contract închis pentru a deschide -MigrationBankTransfertsUpdate=Actualizați legăturile dintre înregistrarea bancară și un transfer bancar -MigrationBankTransfertsNothingToUpdate=Toate link-uri sunt de până la zi -MigrationShipmentOrderMatching=Trimiteri la data primirii de actualizare -MigrationDeliveryOrderMatching=Livrare la primirea de actualizare +MigrationPaymentsNumberToUpdate=%s plată(ţi) de actualizat +MigrationProcessPaymentUpdate=Actualizare plată(ţi) %s +MigrationPaymentsNothingToUpdate=Nu mai există nimic de făcut +MigrationPaymentsNothingUpdatable=Nu mai sunt plăţi care pot fi corectate +MigrationContractsUpdate=Corecţie date contract +MigrationContractsNumberToUpdate= %s contract(e) de actualizat +MigrationContractsLineCreation=Crează o linie de contract pentru contractul cu ref %s +MigrationContractsNothingToUpdate=Nu mai există nimic de făcut +MigrationContractsFieldDontExist=Câmpul fk_facture nu mai există. Nimic de făcut. +MigrationContractsEmptyDatesUpdate=Corecţie dată necompletată contract +MigrationContractsEmptyDatesUpdateSuccess=Corectarea contractului cu dată necompletată a fost efectuată cu succes +MigrationContractsEmptyDatesNothingToUpdate=Niciun contract cu dată necompletată de corectat +MigrationContractsEmptyCreationDatesNothingToUpdate=Nicio dată de creare a contractului de corectat +MigrationContractsInvalidDatesUpdate=Valoarea eronată a contractului de corecţie +MigrationContractsInvalidDateFix=Corecţie contract %s (data contractului = %s, data de începere a prestării serviciului min = %s) +MigrationContractsInvalidDatesNumber=%s contracte modificate +MigrationContractsInvalidDatesNothingToUpdate=Nicio dată cu valoare eronată de corectat +MigrationContractsIncoherentCreationDateUpdate=Valoare eronată la corecţia datei contractului +MigrationContractsIncoherentCreationDateUpdateSuccess=Corecţia datei de creare eronate a contractelor a fost efectuată cu succes +MigrationContractsIncoherentCreationDateNothingToUpdate=Nicio valoare eronată pentru corecţia datei de creare a contractului +MigrationReopeningContracts=Contract deschis dar închis din greşeală +MigrationReopenThisContract=Redeschide contractul %s +MigrationReopenedContractsNumber=%s contracte modificate +MigrationReopeningContractsNothingToUpdate=Niciun contract închis pentru deschidere +MigrationBankTransfertsUpdate=Actualizare legături dintre înregistrarea bancară și un transfer bancar +MigrationBankTransfertsNothingToUpdate=Toate legăturile sunt actualizate +MigrationShipmentOrderMatching=Actualizare note livrări +MigrationDeliveryOrderMatching=Actualizare notă de recepţie MigrationDeliveryDetail=Actualizare Livrare -MigrationStockDetail=Actualizarea valoarea stocului de produse -MigrationMenusDetail=Actualizaţi tabelele de meniuri dinamice -MigrationDeliveryAddress=Actualizaţi adresa de livrare în transporturi +MigrationStockDetail=Actualizare valoare stoc produse +MigrationMenusDetail=Actualizare tabele meniuri dinamice +MigrationDeliveryAddress=Actualizare adresă în livrări MigrationProjectTaskActors=Migrarea datelor pentru tabelul llx_projet_task_actors -MigrationProjectUserResp=Migrarea datelor domeniul fk_user_resp de llx_projet la llx_element_contact -MigrationProjectTaskTime=Actualizare de timp petrecut în secunde +MigrationProjectUserResp=Migrarea datelor pentru câmpul fk_user_resp din llx_projet către llx_element_contact +MigrationProjectTaskTime=Durata actualizării în secunde MigrationActioncommElement=Actualizare date pe acţiuni MigrationPaymentMode=Migrarea datelor pentru tipul de plată MigrationCategorieAssociation=Migrarea categoriilor -MigrationEvents=Migrarea evenimentelor pentru a adăuga proprietarul evenimentului în tabelul de atribuire -MigrationEventsContact=Migrarea evenimentelor pentru a adăuga contactul evenimentului în tabelul de atribuire -MigrationRemiseEntity=Actualizați valoarea câmpului entității din llx_societe_remise -MigrationRemiseExceptEntity=Actualizați valoarea câmpului entității din llx_societe_remise_except -MigrationUserRightsEntity=Actualizați valoarea câmpului entității pentru llx_user_rights -MigrationUserGroupRightsEntity=Actualizați valoarea câmpului entității din llx_usergroup_rights +MigrationEvents=Migrare evenimente pentru adăugare deţinător eveniment în tabela de atribuire +MigrationEventsContact=Migrare evenimente pentru adăugare contact eveniment în tabela de atribuire +MigrationRemiseEntity=Actualizare valoare câmp entitate în llx_societe_remise +MigrationRemiseExceptEntity=Actualizare valoare câmp entitate în llx_societe_remise_except +MigrationUserRightsEntity=Actualizare valoare câmp entitate în llx_user_rights +MigrationUserGroupRightsEntity=Actualizare valoare câmp entitate în llx_usergroup_rights MigrationUserPhotoPath=Migrarea căilor foto pentru utilizatori MigrationFieldsSocialNetworks=Migrarea câmpurilor de reţele sociale ale utilizatorilor(%s) -MigrationReloadModule=Reîncarcă modul %s -MigrationResetBlockedLog=Resetați modulul BlockedLog pentru algoritmul v7 -ShowNotAvailableOptions=Afișați opțiunile nedisponibile -HideNotAvailableOptions=Ascundeți opțiunile nedisponibile -ErrorFoundDuringMigration=Eroarea (erorile) au fost raportate în timpul procesului de migrare, astfel încât următorul pas nu este disponibil. Pentru a ignora erorile, puteți apăsa aici , dar este posibil ca aplicația sau unele caracteristici să nu funcționeze corect până când erorile nu sunt rezolvate. -YouTryInstallDisabledByDirLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare/upgrade au fost dezactivate pentru securitate (directorul redenumit cu sufixul .lock).
    -YouTryInstallDisabledByFileLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare / upgrade au fost dezactivate pentru securitate (prin existența unui fișier de blocare install.lock în directorul de documente Dolibarr).
    -ClickHereToGoToApp=Faceți clic aici pentru a merge la aplicația dvs. +MigrationReloadModule=Reîncărcare modul %s +MigrationResetBlockedLog=Resetare modul BlockedLog pentru algoritmul v7 +MigrationImportOrExportProfiles=Migrarea profilelor de import sau export (%s) +ShowNotAvailableOptions=Afișează opțiunile indisponibile +HideNotAvailableOptions=Ascunde opțiunile indisponibile +ErrorFoundDuringMigration=Au fost raportate eroare(ri) în timpul procesului de migrare, astfel încât următorul pas nu este disponibil. Pentru a ignora erorile, puteți apăsa aici, dar este posibil ca aplicația sau unele caracteristici să nu funcționeze corect până când erorile nu sunt rezolvate. +YouTryInstallDisabledByDirLock=Sistemul a încercat să se autoactualizeze, însă paginile de instalare/upgrade au fost dezactivate din motive de securitate (directorul este redenumit cu sufixul .lock).
    +YouTryInstallDisabledByFileLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare/upgrade au fost dezactivate din motive de securitate (există un fișier de blocare install.lock în directorul de documente al sistemului).
    +ClickHereToGoToApp=Faceți clic aici pentru a merge la aplicația ta. ClickOnLinkOrRemoveManualy=Dacă o actualizare este în curs, așteptați. Dacă nu, faceți clic pe următorul link. Dacă vedeți întotdeauna aceeași pagină, trebuie să eliminați/să redenumiți fișierul install.lock din directorul documentelor. -Loaded=Incărcat +Loaded=Încărcat FunctionTest=Test de funcţionare diff --git a/htdocs/langs/ro_RO/interventions.lang b/htdocs/langs/ro_RO/interventions.lang index 60dec3c350e..04476dcfd4e 100644 --- a/htdocs/langs/ro_RO/interventions.lang +++ b/htdocs/langs/ro_RO/interventions.lang @@ -4,63 +4,65 @@ Interventions=Intervenţii InterventionCard=Fişă intervenţie NewIntervention=Intervenţie nouă AddIntervention=Crează intervenţie -ChangeIntoRepeatableIntervention=Schimbați la intervenția repetabilă -ListOfInterventions=Lista intervenţii -ActionsOnFicheInter=Acţiuni privind intervenţia +ChangeIntoRepeatableIntervention=Schimbați în intervenție repetabilă +ListOfInterventions=Listă intervenţii +ActionsOnFicheInter=Acţiuni pe intervenţie LastInterventions=Ultimele %s intervenţii AllInterventions=Toate intervenţiile -CreateDraftIntervention=Crează schiţă +CreateDraftIntervention=Creare schiţă InterventionContact=Contact Intervenţie DeleteIntervention=Şterge intervenţie -ValidateIntervention=Validează intervenţie +ValidateIntervention=Validează intervenţie ModifyIntervention=Modifică intervenţie DeleteInterventionLine=Şterge intervenţie ConfirmDeleteIntervention=Sigur doriți să ștergeți această intervenție? -ConfirmValidateIntervention=Sigur doriți să validați această intervenție sub numele %s ? +ConfirmValidateIntervention=Sigur doriți să validați această intervenție sub numele %s? ConfirmModifyIntervention=Sigur doriți să modificați această intervenție? ConfirmDeleteInterventionLine=Sigur doriți să ștergeți această linie de intervenție? ConfirmCloneIntervention=Sigur doriți să clonați această intervenție? NameAndSignatureOfInternalContact=Numele și semnătura persoanei care a intervenit: NameAndSignatureOfExternalContact=Numele și semnătura clientului: -DocumentModelStandard=Model standard document de intervenţii +DocumentModelStandard=Şablon standard document de intervenţii InterventionCardsAndInterventionLines=Intervenţii şi linii ale intervenţiilor InterventionClassifyBilled=Clasează Facturat InterventionClassifyUnBilled=Clasează Nefacturat -InterventionClassifyDone=Clasificați "Efectuat" +InterventionClassifyDone=Clasează "Finalizat" StatusInterInvoiced=Facturat -SendInterventionRef=Trimiterea intervenţiei %s -SendInterventionByMail=Trimiteți intervenția prin e-mail -InterventionCreatedInDolibarr=Intervenţia %s creată -InterventionValidatedInDolibarr=Intervenţia %s validată -InterventionModifiedInDolibarr=Intervenţia %s modificată -InterventionClassifiedBilledInDolibarr=Intervenţia %s setată ca facturată -InterventionClassifiedUnbilledInDolibarr=Intervenţia %s setată ca nefacturată -InterventionSentByEMail=Intervenția %s trimisă prin e-mail -InterventionDeletedInDolibarr=Intervenţia %s ştearsă +SendInterventionRef=Ref. intervenţie %s +SendInterventionByMail=Trimite intervenția pe email +InterventionCreatedInDolibarr=Intervenţia %s a fost creată +InterventionValidatedInDolibarr=Intervenţia %s a fost validată +InterventionModifiedInDolibarr=Intervenţia %s a fost modificată +InterventionClassifiedBilledInDolibarr=Intervenţia %s a fost setată ca facturată +InterventionClassifiedUnbilledInDolibarr=Intervenţia %s a fost setată ca nefacturată +InterventionSentByEMail=Intervenția %s a fost trimisă pe email +InterventionDeletedInDolibarr=Intervenţia %s a fost ştearsă InterventionsArea=Intervenţii -DraftFichinter=Intervenții schita +DraftFichinter=Intervenții schiţă LastModifiedInterventions=Ultimele %s intervenţii modificate -FichinterToProcess=Intervenții la proces +FichinterToProcess=Intervenții de procesat TypeContact_fichinter_external_CUSTOMER=Contact client urmărire intervenţie -PrintProductsOnFichinter=Printează si liniile de tip ''produs''( nu numai serviciile) pe fişa intervenţiei +PrintProductsOnFichinter=Printează şi liniile de tip ''produs''( nu numai serviciile) pe fişa intervenţiei PrintProductsOnFichinterDetails=intervenții generate din comenzi UseServicesDurationOnFichinter=Utilizați durata serviciilor pentru intervențiile generate din comenzi UseDurationOnFichinter=Ascunde câmpul durată pentru înregistrările de intervenție -UseDateWithoutHourOnFichinter=Ascunde orele și minutele din câmpul de date pentru înregistrările de intervenție +UseDateWithoutHourOnFichinter=Ascunde orele și minutele din câmpul de dată pentru înregistrările de intervenție InterventionStatistics=Statistici intervenţii -NbOfinterventions=Numărul cardurilor de intervenție -NumberOfInterventionsByMonth=Numărul cardurilor de intervenție pe lună (data validării) -AmountOfInteventionNotIncludedByDefault=Suma de intervenție nu este inclusă implicit în profit (în majoritatea cazurilor, foile de pontaj sunt utilizate pentru a calcula timpul petrecut). Adăugați opțiunea PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT la 1 în acasa-gestionare-altul pentru a-l include. -InterId=Id Intervenţie -InterRef=Ref. Intervenţie -InterDateCreation=Data crearea Intervenție -InterDuration=Durată Intervenție -InterStatus=Status Intervenție -InterNote=Nota interventie +NbOfinterventions=Număr intervenții +NumberOfInterventionsByMonth=Nr. intervenții pe lună (după data de validare) +AmountOfInteventionNotIncludedByDefault=Suma de intervenție nu este inclusă implicit în profit (în majoritatea cazurilor, foile de pontaj sunt utilizate pentru a calcula timpul consumat). Adăugați opțiunea PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT la 1 în Acasă-Setări-Alte setări pentru a-l include. +InterId=ID intervenţie +InterRef=Ref. intervenţie +InterDateCreation=Dată creare intervenție +InterDuration=Durată intervenție +InterStatus=Status intervenție +InterNote=Notă intervenţie InterLine=Linie intervenţie -InterLineId=Id linie Intervenţie -InterLineDate=Data linie interventie -InterLineDuration=Durată linie Intervenție -InterLineDesc=Descriere linie Intervenţie +InterLineId=ID linie intervenţie +InterLineDate=Dată linie intervenţie +InterLineDuration=Durată linie intervenție +InterLineDesc=Descriere linie intervenţie RepeatableIntervention=Şablon intervenţie ToCreateAPredefinedIntervention=Pentru a crea o intervenţie predefinită sau recurentă, creează o intervenţie obişnuită şi converteşte-o într-un şablon +ConfirmReopenIntervention=Eşti sigur că vrei să re-deschizi intervenţia %s? +GenerateInter=Generare intervenţie diff --git a/htdocs/langs/ro_RO/knowledgemanagement.lang b/htdocs/langs/ro_RO/knowledgemanagement.lang index d5329400c6c..e31ae7f0935 100644 --- a/htdocs/langs/ro_RO/knowledgemanagement.lang +++ b/htdocs/langs/ro_RO/knowledgemanagement.lang @@ -18,7 +18,7 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Sistem de management al bazei de cunoştinţe +ModuleKnowledgeManagementName = Bază de cunoştinţe # Module description 'ModuleKnowledgeManagementDesc' ModuleKnowledgeManagementDesc=Gestiunea unei Baze de cunoştinţe(KB) sau a unei baze de suport Help-Desk @@ -37,19 +37,13 @@ About = Despre KnowledgeManagementAbout = Despre modulul Bază de cunoştinţe KnowledgeManagementAboutPage = Pagină despre Managementul bazei de cunoştinţe -# -# Sample page -# -KnowledgeManagementArea = Managementul bazei de cunoştinţe - - -# -# Menu -# +KnowledgeManagementArea = Bază de cunoştinţe MenuKnowledgeRecord = Bază de cunoştinţe -ListOfArticles = Listă articole +ListKnowledgeRecord = Listă articole NewKnowledgeRecord = Articol nou ValidateReply = Validare soluţie KnowledgeRecords = Articole KnowledgeRecord = Articol KnowledgeRecordExtraFields = Extracâmpuri articole +GroupOfTicket=Grup de tichete +YouCanLinkArticleToATicketCategory=Poți conecta un articol la un grup de tichete (astfel încât articolul să fie sugerat în timpul clasificării tichetelor noi) diff --git a/htdocs/langs/ro_RO/languages.lang b/htdocs/langs/ro_RO/languages.lang index d591539297b..2d2a41fc193 100644 --- a/htdocs/langs/ro_RO/languages.lang +++ b/htdocs/langs/ro_RO/languages.lang @@ -2,12 +2,15 @@ Language_am_ET=Etiopiană Language_ar_AR=Arabă Language_ar_EG=Arabă (Egipt) +Language_ar_MA=Arabă (Maroc) Language_ar_SA=Arabă (Arabia Saudită) +Language_ar_TN=Arabă (Tunisia) +Language_ar_IQ=Arabă (Irak) Language_az_AZ=Azerbaijană -Language_bn_BD=Bengaleza +Language_bn_BD=Bengaleză Language_bn_IN=Bengală (India) Language_bg_BG=Bulgară -Language_bs_BA=Bosniac +Language_bs_BA=Bosniacă Language_ca_ES=Catalană Language_cs_CZ=Cehă Language_da_DA=Daneză @@ -45,7 +48,7 @@ Language_es_UY=Spaniolă (Uruguay) Language_es_GT=Spaniolă (Guatemala) Language_es_VE=Spaniolă (Venezuela) Language_et_EE=Estoniană -Language_eu_ES=Basc +Language_eu_ES=Bască Language_fa_IR=Persană Language_fi_FI=Finlandeză Language_fr_BE=Franceză (Belgia) @@ -57,33 +60,35 @@ Language_fr_FR=Franceză Language_fr_GA=Franceză (Gabon) Language_fr_NC=Franceză (Noua Caledonie) Language_fr_SN=Franceză (Senegal) -Language_fy_NL=Finlandeza +Language_fy_NL=Frisiană Language_gl_ES=Galeză Language_he_IL=Ebraică Language_hi_IN=Hindi (India) -Language_hr_HR=Croat +Language_hr_HR=Croată Language_hu_HU=Maghiară Language_id_ID=Indoneziană Language_is_IS=Islandeză Language_it_IT=Italiană Language_it_CH=Italiană (Elveţia) Language_ja_JP=Japoneză -Language_ka_GE=Georgiana -Language_km_KH=khmeră +Language_ka_GE=Georgiană +Language_km_KH=Khmeră Language_kn_IN=Kannada Language_ko_KR=Coreeană Language_lo_LA=Laoţiană -Language_lt_LT=Lituanian +Language_lt_LT=Lituaniană Language_lv_LV=Letonă -Language_mk_MK=Macedonean -Language_mn_MN=mongoleză +Language_mk_MK=Macedoneană +Language_mn_MN=Mongolă Language_nb_NO=Norvegiană (Bokmål) Language_ne_NP=Nepaleză Language_nl_BE=Olandeză (Belgia) Language_nl_NL=Olandeză Language_pl_PL=Poloneză +Language_pt_AO=Portugheză (Angola) Language_pt_BR=Portugheză (Brazilia) Language_pt_PT=Portugheză +Language_ro_MD=Română (Moldova) Language_ro_RO=Română Language_ru_RU=Rusă Language_ru_UA=Rusă (Ucraina) @@ -93,10 +98,10 @@ Language_sv_SV=Suedeză Language_sv_SE=Suedeză Language_sq_AL=Albaneză Language_sk_SK=Slovacă -Language_sr_RS=Sarba +Language_sr_RS=Sârbă Language_sw_SW=Swahili -Language_th_TH=Tailandez -Language_uk_UA=Ucrainean +Language_th_TH=Tailandeză +Language_uk_UA=Ucraineană Language_uz_UZ=Uzbecă Language_vi_VN=Vietnameză Language_zh_CN=Chineză diff --git a/htdocs/langs/ro_RO/mails.lang b/htdocs/langs/ro_RO/mails.lang index a7d226c0e36..e7aaf718fd4 100644 --- a/htdocs/langs/ro_RO/mails.lang +++ b/htdocs/langs/ro_RO/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Ştergere filtru AdvTgtSaveFilter=Salvare filtru AdvTgtCreateFilter=Creare filtru AdvTgtOrCreateNewFilter=Numele noului filtru -NoContactWithCategoryFound=Nu s-a găsit niciun contact/adresă cu o categorie -NoContactLinkedToThirdpartieWithCategoryFound=Nu s-a găsit niciun contact/adresă cu categorie +NoContactWithCategoryFound=Nu s-a găsit nicio categorie asociată la contacte/adrese +NoContactLinkedToThirdpartieWithCategoryFound=Nu s-a găsit nicio categorie asociată la terţi OutGoingEmailSetup= Emailuri trimise InGoingEmailSetup=Emailuri primite OutGoingEmailSetupForEmailing=Email-uri trimise (pentru modulul %s) diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index 30cb1f67a0c..83c1f8b8abd 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Procente adiţionale VATRate=Cota TVA +RateOfTaxN=Cota taxei %s VATCode=Cod cotă TVA VATNPR=Cotă taxă NPR DefaultTaxRate=Cotă taxă implicită @@ -729,6 +730,7 @@ MenuMembers=Membri MenuAgendaGoogle=Agendă Google MenuTaxesAndSpecialExpenses=Taxe | Cheltuieli speciale ThisLimitIsDefinedInSetup=Limită Dolibarr (Menu Home-setup-securitate): %s Kb, PHP limita: %s Kb +ThisLimitIsDefinedInSetupAt=Limită Dolibarr (Meniu %s): %s Kb, limită PHP (Parametru %s): %s Kb NoFileFound=Niciun document încărcat CurrentUserLanguage=Limba curentă CurrentTheme=Tema curentă @@ -1072,6 +1074,7 @@ ValidFrom=Valid de la ValidUntil=Valid până la NoRecordedUsers=Nici un utilizator ToClose=De închis +ToRefuse=De refuzat ToProcess=De procesat ToApprove=De aprobat GlobalOpenedElemView=Vedere globală @@ -1126,9 +1129,23 @@ UpdateForAllLines=Actualizare pentru toate liniile OnHold=În aşteptare Civility=Formulă de adresare AffectTag=Afectează eticheta +CreateExternalUser=Creare utilizator extern ConfirmAffectTag=Afectare multiplă etichete ConfirmAffectTagQuestion=Sigur doriți să afectați etichetele înregistrărilor %s selectat(e)? CategTypeNotFound=Nu s-a găsit niciun tip de etichetă pentru tipul de înregistrări CopiedToClipboard=Copiat în clipboard InformationOnLinkToContract=Această sumă este doar totalul tuturor liniilor contractului. Nici o noțiune de timp nu este luată în considerare. ConfirmCancel=Eşti sigur că vrei să anulezi +EmailMsgID=MsgID email +SetToEnabled=Setat ca activată +SetToDisabled=Setat ca dezactivat +ConfirmMassEnabling=confirmare activare în masă +ConfirmMassEnablingQuestion=Eşti sigur că vrei să activezi %s înregistrăr(i) selectate? +ConfirmMassDisabling=confirmare dezactivare în masă +ConfirmMassDisablingQuestion=Eşti sigur că vrei să dezactivezi %s înregistrăr(i) selectate? +RecordsEnabled=%s înregistrare(i) activate +RecordsDisabled=%s înregistrare(i) dezactivate +RecordEnabled=Înregistrare activată +RecordDisabled=Înregistrare dezactivată +Forthcoming=Următorul +Currently=În prezent diff --git a/htdocs/langs/ro_RO/members.lang b/htdocs/langs/ro_RO/members.lang index 74a686f0539..fbc0417a6d4 100644 --- a/htdocs/langs/ro_RO/members.lang +++ b/htdocs/langs/ro_RO/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Trimite un remainder pe email membrilor când MembershipPaid=Adeziune plătită pentru perioada curentă (până la %s) YouMayFindYourInvoiceInThisEmail=Găseşti factura ta atașată acestui email XMembersClosed=%s membru(i) închis +XExternalUserCreated=%s utilizator(i) externi creaţi +ForceMemberNature=Impune natura membrului (Persoană fizică sau Presoană juridică) diff --git a/htdocs/langs/ro_RO/modulebuilder.lang b/htdocs/langs/ro_RO/modulebuilder.lang index a9a43243114..cbcfd1e97f0 100644 --- a/htdocs/langs/ro_RO/modulebuilder.lang +++ b/htdocs/langs/ro_RO/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Convertor ASCII la HTML AsciiToPdfConverter=Convertor ASCII la PDF TableNotEmptyDropCanceled=Tabelul nu este gol. Operaţiunea de drop a fost anulată. ModuleBuilderNotAllowed=Generatorul de module este disponibil, dar nu-ţi este permis să-l utilizezi. +ImportExportProfiles=Profile import şi export diff --git a/htdocs/langs/ro_RO/mrp.lang b/htdocs/langs/ro_RO/mrp.lang index 7e8c774e52d..07382ca99c9 100644 --- a/htdocs/langs/ro_RO/mrp.lang +++ b/htdocs/langs/ro_RO/mrp.lang @@ -6,32 +6,32 @@ MRPArea=Producţie MrpSetupPage=Configurare modul MRP MenuBOM=Bonuri de consum LatestBOMModified=Ultimele %s bonuri de consum modificate -LatestMOModified=Ultimele %s Comenzi de producţie modificate +LatestMOModified=Ultimele %s comenzi de producţie modificate Bom=Bonuri de consum BillOfMaterials=Bon de consum BOMsSetup=Configurarea modulului BOM ListOfBOMs=Listă bonuri de consum - BOM ListOfManufacturingOrders=Listă comenzi de producţie NewBOM=Bon de consum nou -ProductBOMHelp=Produs de fabricat cu acest bon de consum.
    Notă: Produsele cu proprietatea 'Natură produs' = 'Materie primă' nu sunt vizibile în această listă. +ProductBOMHelp=Produs de creat (sau dezasamblat) cu această listă de materiale.
    Notă: Produsele cu proprietatea 'Natură produs' = 'Materie primă' nu sunt vizibile în această listă. BOMsNumberingModules=Şabloane numerotare BOM BOMsModelModule=Şabloane documente BOM MOsNumberingModules=Şabloane numerotare Comenzi de producţie MOsModelModule=Şabloane document Comandă de producţie FreeLegalTextOnBOMs=Text liber pe documentul Bon de consum -WatermarkOnDraftBOMs=Marcare schiţă Bon de consum BOM +WatermarkOnDraftBOMs=Watermark pe schiţă Bon de consum BOM FreeLegalTextOnMOs=Text liber pe documentul Comandă de producţie -WatermarkOnDraftMOs=Macaj pe schiţă Comandă de producţie -ConfirmCloneBillOfMaterials=Eşti sigur că vrei să clonezi bonul de consum %s ? +WatermarkOnDraftMOs=Watermark pe schiţă Comandă de producţie +ConfirmCloneBillOfMaterials=Eşti sigur că vrei să clonezi bonul de consum %s? ConfirmCloneMo=Eşti sigur că vrei să clonezi Comanda de producţie %s ? ManufacturingEfficiency=Eficienţa producţiei ConsumptionEfficiency=Eficienţa consumului ValueOfMeansLoss=Valoarea de 0,95 înseamnă o medie de 5 %% pierderi în timpul producției ValueOfMeansLossForProductProduced= Valoarea de 0,95 înseamnă o medie de 5 %% pierdere din produsul fabricat -DeleteBillOfMaterials=Şterge Bonuri de consum -DeleteMo=Şterge comanda de producţie -ConfirmDeleteBillOfMaterials=Eşti sigur că vrei să ştergi acest Bon de consum? -ConfirmDeleteMo=Eşti sigur că vrei să ştergi acest Bon de consum? +DeleteBillOfMaterials=Şterge bonuri de consum +DeleteMo=Şterge comandă de producţie +ConfirmDeleteBillOfMaterials=Eşti sigur că vrei să ştergi acest bon de consum? +ConfirmDeleteMo=Eşti sigur că vrei să ştergi acest bon de consum? MenuMRP=Comenzi de producţie NewMO=Comandă de producţie nouă QtyToProduce=Cantitate de fabricat @@ -39,7 +39,7 @@ DateStartPlannedMo=Data de începere planificată DateEndPlannedMo=Dată de finalizare planificată KeepEmptyForAsap=Necompletat înseamnă 'Cât mai repede posibil' EstimatedDuration=Durată estimată -EstimatedDurationDesc=Durata estimată de fabricație a acestui produs pe baza acestui Bon de consum +EstimatedDurationDesc=Durata estimată pentru fabricarea (sau dezasamblarea) acestui produs utilizând acest bon de consum ConfirmValidateBom=Sunteți sigur că doriți să validați Bonul de consum cu referința %s (îl veți putea folosi pentru a genera noi Comenzi de fabricație) ConfirmCloseBom=Sunteți sigur că doriți să anulați acest Bon de consum (nu îl veți mai putea folosi pentru a genera noi Comenzi de fabricație) ? ConfirmReopenBom=Sunteți sigur că doriți să redeschideți acest Bon de consum (îl veți putea folosi pentru a genera noi Comenzi de fabricație) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consumă sau Produce tot Manufactured=Fabricat TheProductXIsAlreadyTheProductToProduce= Produsul de adăugat este deja produsul de fabricat. ForAQuantityOf=Pentru o cantitate de fabricat din %s +ForAQuantityToConsumeOf=Pentru o cantitate de dezasamblat din %s ConfirmValidateMo=Eşti sigur că vrei să validezi această Comandă de producţie? ConfirmProductionDesc=Făcând clic pe '%s', veți valida consumul și/sau producția pentru cantitățile stabilite. Acest lucru va actualiza, de asemenea, stocurile și vor înregistra mișcările de stoc. ProductionForRef=Producţia a %s AutoCloseMO=Închidere automată Comandă de fabricație dacă se ating cantitățile de consumat și de fabricat NoStockChangeOnServices=Fără modificări de stoc pentru servicii ProductQtyToConsumeByMO=Cantitatea de produs rămasă de consumat pe Comanda de fabricaţie deschisă -ProductQtyToProduceByMO=cantitatea de produs rămasă de fabricat pe Comanda de fabricaţie +ProductQtyToProduceByMO=Cantitatea de produs de fabricat din comenzile de producţie deschise AddNewConsumeLines=Adaugă o linie de consum ProductsToConsume=Produse de consumat ProductsToProduce=Produse de fabricat @@ -83,22 +84,20 @@ Workstations=Staţii de lucru WorkstationsDescription=Management staţii de lucru WorkstationSetup = Configurare staţii de lucru WorkstationSetupPage = Pagină setup Staţii de lucru -WorkstationAbout = Despre Staţie de lucru -WorkstationAboutPage = Pagină Despre Staţii de lucru WorkstationList=Listă staţii de lucru WorkstationCreate=Adăugare staţie de lucru nouă ConfirmEnableWorkstation=Eşti sigur că vrei să activezi staţia de lucru %s ? EnableAWorkstation=Activare staţie de lucru ConfirmDisableWorkstation=Eşti sigur că vrei să dezactivezi staţia de lucru %s ? DisableAWorkstation=Dezactivare staţie de lucru -DeleteWorkstation=Ştergere +DeleteWorkstation=Şterge NbOperatorsRequired=Nr. de operatori necesar THMOperatorEstimated=Total ore minute estimat per operator THMMachineEstimated=Total ore minute estimat per maşină WorkstationType=Tip staţie de lucru -Human=Uman +Human=Personal uman Machine=Maşină -HumanMachine=Uman / Maşină +HumanMachine=Personal / Maşină WorkstationArea=Staţii de lucru Machines=Maşini THMEstimatedHelp=Această rată face posibilă definirea unui cost prognozat al articolului diff --git a/htdocs/langs/ro_RO/opensurvey.lang b/htdocs/langs/ro_RO/opensurvey.lang index 25a9479092e..135ac15f7ff 100644 --- a/htdocs/langs/ro_RO/opensurvey.lang +++ b/htdocs/langs/ro_RO/opensurvey.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - opensurvey -Survey=Sondaj +Survey=Sondaje Surveys=Sondaje -OrganizeYourMeetingEasily=Organizați-vă ușor întâlnirile și chestionarele. Mai întâi selectați tipul de sondaj... +OrganizeYourMeetingEasily=Organizați-vă mai ușor întâlnirile și dezbaterile prin sondaje. Mai întâi selectați tipul de sondaj... NewSurvey=Sondaj nou OpenSurveyArea=Sondaje AddACommentForPoll=Puteţi adăuga un comentariu în sondaj... @@ -11,51 +11,51 @@ PollTitle=Titlu sondaj ToReceiveEMailForEachVote=Primeşte unui email pentru fiecare vot TypeDate=Tip dată TypeClassic=Tip standard -OpenSurveyStep2=Selectați datele dvs. printre zilele libere (gri). Zilele selectate sunt verzi. Puteți să deselectați o zi selectată anterior făcând clic din nou pe ea +OpenSurveyStep2=Selectați datele printre zilele libere (gri). Zilele selectate sunt verzi. Puteți să deselectați o zi selectată anterior făcând un nou clic pe ea RemoveAllDays=Elimină toate zilele -CopyHoursOfFirstDay=Copiază orelele ale primei zile +CopyHoursOfFirstDay=Copiază orelele primei zile RemoveAllHours=Elimină toate orele SelectedDays=Zile selectate -TheBestChoice=CEa mai bună alegere curentă este -TheBestChoices=Cea mai bună alegere curentă are +TheBestChoice=Cea mai bună alegere până acum este +TheBestChoices=Cea mai bună alegere până acum are with=cu -OpenSurveyHowTo=Dacă sunteți de acord să votaţi în acest sondaj, va trebui să vă dați numele, să alegeți valorile ce se potrivesc cel mai bine pentru dvs și să validați cu butonul plus, de la capătul liniei. -CommentsOfVoters=Comentariul voturilor -ConfirmRemovalOfPoll=Sunteţi sigur că doriţi să înlăturaţi acest sondaj ( şi toate voturile) +OpenSurveyHowTo=Dacă sunteți de acord să votaţi în acest sondaj, va trebui să vă dați numele, să alegeți valorile ce se potrivesc cel mai bine și să validați cu butonul plus, de la capătul liniei. +CommentsOfVoters=Comentariile votanţilor +ConfirmRemovalOfPoll=Sunteţi sigur că doriţi să înlăturaţi acest sondaj (şi toate voturile) RemovePoll=Înlătură sondajul -UrlForSurvey=URL-ul pentru comunicare să obțină acces direct la sondaj -PollOnChoice=Dvs. creaţi un sondaj pentru a face un sondaj multi-alegere . Introduceți mai întâi toate opțiunile posibile pentru sondajul dvs: -CreateSurveyDate=Creare sondaj date +UrlForSurvey=URL-ul care trebuie comunicat pentru accesul direct la sondaj +PollOnChoice=Creezi un sondaj multi-opţiune. Introdu mai întâi toate opțiunile posibile pentru sondajul tău: +CreateSurveyDate=Creare sondaj date CreateSurveyStandard=Creare sondaj standard -CheckBox=Simplu checkbox +CheckBox=Checkbox simplu YesNoList=Listă (goală/da/nu) PourContreList=Listă (goală/pentru/impotrivă) AddNewColumn=Adaugă coloană nouă -TitleChoice=Etichetă Alegere -ExportSpreadsheet=Exportă rezultatul în foaie de calcul +TitleChoice=Etichetă opţiune +ExportSpreadsheet=Exportă rezultatul într-o foaie de calcul ExpireDate=Data limită -NbOfSurveys=Numărul sondajelor -NbOfVoters=Numărul de alegători +NbOfSurveys=Număr sondaje +NbOfVoters=Numărul de votanţi SurveyResults=Rezultate -PollAdminDesc=Vi se permite să schimbaţi toate liniile de vot ale acestui sondaj cu butonul "Editează". Puteți, de asemenea, elimina o coloană sau o linie cu %s. Puteți adăuga, de asemenea, o nouă coloană cu %s. -5MoreChoices=Mai mult de 5 alegeri +PollAdminDesc=Vi se permite să schimbaţi toate voturile ale acestui sondaj cu butonul "Editează". Puteți, de asemenea, elimina o coloană sau o linie cu %s. Puteți adăuga, de asemenea, o nouă coloană cu %s. +5MoreChoices=Mai mult de 5 opţiuni Against=Împotrivă -YouAreInivitedToVote=Sunteţi invitaţi să votaţi acest sondaj -VoteNameAlreadyExists=Acest nume a fost deasemenea folosit pentru acest sondaj +YouAreInivitedToVote=Eşti invitat să votezi acest sondaj +VoteNameAlreadyExists=Acest nume a fost de asemenea folosit pentru acest sondaj AddADate=Adaugă o dată AddStartHour=Adaugă o oră de start AddEndHour=Adaugă o oră de final -votes=vot( uri) -NoCommentYet=Niciun comentariu nu a fost postat încă pentru acest sondaj +votes=vot(uri) +NoCommentYet=Niciun comentariu nu a fost postat încă pe acest sondaj CanComment=Votanţii pot comenta in sondaj CanSeeOthersVote=Votanţii pot vedea votul celorlarţi -SelectDayDesc=Pentru fiecare zi selectată puteți alege sau nu orele de întâlnire în următorul format:
    - gol,
    - "8h", "8H" sau "8:00" pentru a da ora de începere a întâlnirii,
    - "8-11", "8h-11h", "8H-11H" sau "8:00-11:00", pentru a da o īncepere și o oră de īntālnire,
    - "8h15-11h15", "8H15-11H15" or "8:15-11:15" pentru același lucru, dar cu minute. +SelectDayDesc=Pentru fiecare zi selectată puteți alege sau nu, orele de întâlnire în următorul format:
    - gol,
    - "8h", "8H" sau "8:00" pentru a da ora de începere a întâlnirii,
    - "8-11", "8h-11h", "8H-11H" sau "8:00-11:00", pentru a da o īncepere și o oră de īntālnire,
    - "8h15-11h15", "8H15-11H15" sau "8:15-11:15" pentru același lucru, dar cu minute. BackToCurrentMonth=Înapoi la luna curentă -ErrorOpenSurveyFillFirstSection=Nu ati completat prima secțiune a creării sondaj -ErrorOpenSurveyOneChoice=Introduceţi cel puţin o alegere -ErrorInsertingComment=Era o eroare când se insera comentariul dvs. +ErrorOpenSurveyFillFirstSection=Nu aţi completat prima secțiune de creare a sondajului +ErrorOpenSurveyOneChoice=Introdu cel puţin o opţiune +ErrorInsertingComment=A apărut o eroare la salvarea comentariului tău. MoreChoices=Introdu mai multe opţiuni pentru votanţi -SurveyExpiredInfo=Sondaj de opinie închis sau termen pentru vot expirat. -EmailSomeoneVoted=%sa completat o linie.\nPuteţi găsi sondajul dvs. la linkul: \n%s +SurveyExpiredInfo=Sondaj de opinie închis sau termen pentru votare expirat. +EmailSomeoneVoted=%s a votat.\nPoţi accesa sondajul tău la linkul: \n%s ShowSurvey=Afișați sondajul -UserMustBeSameThanUserUsedToVote=Trebuie să fi votat și să utilizați același nume de utilizator ca cel folosit pentru votare, pentru a posta un comentariu +UserMustBeSameThanUserUsedToVote=Trebuie să fi votat și să foloseşti același nume de utilizator ca cel folosit pentru votare, pentru a posta un comentariu diff --git a/htdocs/langs/ro_RO/orders.lang b/htdocs/langs/ro_RO/orders.lang index 70f60db5b53..bc344e4bc56 100644 --- a/htdocs/langs/ro_RO/orders.lang +++ b/htdocs/langs/ro_RO/orders.lang @@ -11,6 +11,7 @@ OrderDate=Dată comandă OrderDateShort=Data comandă OrderToProcess=Comandă de procesat NewOrder=Comandă nouă +NewSupplierOrderShort=Comandă nouă NewOrderSupplier=Comandă de achiziţie nouă ToOrder=Plasează comanda MakeOrder=Plasează comanda @@ -73,6 +74,7 @@ DeleteOrder=Ştergere comadă CancelOrder=Anulare comandă OrderReopened= Comanda %s a fost redeschisă AddOrder=Creare comandă +AddSupplierOrderShort=Creare comandă AddPurchaseOrder=Creare comandă de achiziţie AddToDraftOrders=Adaugă la comanda schiţă ShowOrder=Afişare comandă diff --git a/htdocs/langs/ro_RO/other.lang b/htdocs/langs/ro_RO/other.lang index 0db2335cdb0..6c04f8c2461 100644 --- a/htdocs/langs/ro_RO/other.lang +++ b/htdocs/langs/ro_RO/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Utilizatorul care a închis FileWasRemoved=Fişier %s a fost şters DirWasRemoved=Directorul %s a fost şters FeatureNotYetAvailable=Caracteristică care nu este încă disponibilă în versiunea curentă +FeatureNotAvailableOnDevicesWithoutMouse=Caracteristică indisponibilă pe dispozitivele fără mouse FeaturesSupported=Caracteristici disponibile Width=Lăţime Height=Înălţime @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/adresă creată de colectorul de email-ur ProjectCreatedByEmailCollector=Proiect creat de colectorul de email-uri din email-ul cu MSGID %s TicketCreatedByEmailCollector=Tichet creat de colectorul de email-uri din email-ul cu MSGID %s OpeningHoursFormatDesc=Foloseşte un - pentru a separa orele de lucru.
    Foloseşte un spaţiu pentru a introduce intervale oarare diferite.
    Exemplu: 8-12 14-18 -PrefixSession=Prefix pentru ID-ul sesiunii +SuffixSessionName=Sufix pentru numele sesiunii ##### Export ##### ExportsArea=Export date @@ -290,3 +291,7 @@ PopuCom=Produse/servicii după popularitate pe comenzile de vânzare ProductStatistics=Statistici produse/servicii NbOfQtyInOrders=Cantitate în comenzi SelectTheTypeOfObjectToAnalyze=Selectează un obiect pentru a-i vedea statisticile... + +ConfirmBtnCommonContent = Eşti sigur că vrei să "%s" ? +ConfirmBtnCommonTitle = Confirmare acţiune +CloseDialog = Închide diff --git a/htdocs/langs/ro_RO/partnership.lang b/htdocs/langs/ro_RO/partnership.lang index 8431c0344e3..52efc6da6aa 100644 --- a/htdocs/langs/ro_RO/partnership.lang +++ b/htdocs/langs/ro_RO/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Managementul parteneriatelor -PartnershipDescription = Modul Management parteneriate +ModulePartnershipName=Parteneriate +PartnershipDescription=Modul Management parteneriate PartnershipDescriptionLong= Modul Management parteneriate +AddPartnership=Adăugare parteneriat +CancelPartnershipForExpiredMembers=Parteneriat: Anulează parteneriatul membrilor cu adeziuni expirate +PartnershipCheckBacklink=Parteneriat: Verificare backlink de referinţă + # # Menu # -NewPartnership = Parteneriat nou -ListOfPartnerships = Listă parteneriate +NewPartnership=Parteneriat nou +ListOfPartnerships=Listă parteneriate # # Admin page # -PartnershipSetup = Setare parteneriat -PartnershipAbout = Despre modulul Parteneriate -PartnershipAboutPage = Pagină despre modulul Parteneriate - +PartnershipSetup=Setare parteneriat +PartnershipAbout=Despre modulul Parteneriate +PartnershipAboutPage=Pagină despre modulul Parteneriate +partnershipforthirdpartyormember=Status-ul de partener trebuie setat pe un 'terţ' sau un 'membru' +PARTNERSHIP_IS_MANAGED_FOR=Parteneriat gestionat pentru +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlink-uri de verificat +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nr de zile înainte de anularea unui parteneriat când un abonament a expirat  +ReferingWebsiteCheck=Verificare referinţă website +ReferingWebsiteCheckDesc=Poți activa o funcție pentru a verifica dacă partenerii tăi au adăugat un backlink către site-ul tău pe website-urile lor.\n  # # Object # +DeletePartnership=Şterge parteneriat +PartnershipDedicatedToThisThirdParty=Parteneriat alocat acestui terț +PartnershipDedicatedToThisMember=Parteneriat alocat acestui membru DatePartnershipStart=Dată începere DatePartnershipEnd=Dată încetare +ReasonDecline=Motiv respingere +ReasonDeclineOrCancel=Motiv respingere +PartnershipAlreadyExist=Parteneriatul există deja +ManagePartnership=Administrare parteneriat +BacklinkNotFoundOnPartnerWebsite=Backlink-ul nu a fost găsit pe site-ul partenerului +ConfirmClosePartnershipAsk=Sigur vrei să anulezi acest parteneriat? +PartnershipType=Tip parteneriat # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Parteneriatul va fi anulat în curând +SendingEmailOnPartnershipRefused=Parteneriat refuzat +SendingEmailOnPartnershipAccepted=Parteneriat acceptat +SendingEmailOnPartnershipCanceled=Parteneriat anulat +YourPartnershipWillSoonBeCanceledTopic=Parteneriatul va fi anulat în curând +YourPartnershipRefusedTopic=Parteneriat refuzat +YourPartnershipAcceptedTopic=Parteneriat acceptat +YourPartnershipCanceledTopic=Parteneriat anulat + +YourPartnershipWillSoonBeCanceledContent=Vă informăm că parteneriatul dvs. va fi anulat în curând (Backlink-ul nu a fost găsit) +YourPartnershipRefusedContent=Vă informăm că solicitarea dvs. de parteneriat a fost respinsă. +YourPartnershipAcceptedContent=Vă informăm că parteneriatul a fost acceptat. +YourPartnershipCanceledContent=Vă informăm că parteneriatul dvs. a fost anulat. + +CountLastUrlCheckError=Număr de erori pentru ultima verficare URL +LastCheckBacklink=Data ultimei verificări URL +ReasonDeclineOrCancel=Motiv respingere # # Status # -PartnershipDraft = Schiţă -PartnershipAccepted = Acceptat -PartnershipRefused = Refuzat -PartnershipCanceled = Anulat - +PartnershipDraft=Schiţă +PartnershipAccepted=Acceptat +PartnershipRefused=Refuzat +PartnershipCanceled=Anulat PartnershipManagedFor=Partenerii sunt diff --git a/htdocs/langs/ro_RO/productbatch.lang b/htdocs/langs/ro_RO/productbatch.lang index 9492b27ef33..2beed3a3a93 100644 --- a/htdocs/langs/ro_RO/productbatch.lang +++ b/htdocs/langs/ro_RO/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Foloseşte lot / număr de serie ProductStatusOnBatch=Da (lot necesar) ProductStatusOnSerial=Da (este necesar un număr de serie unic) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Afișați jurnalul mișcărilor pentru cuplu de produs/lo StockDetailPerBatch=Detaliu stoc pe lot SerialNumberAlreadyInUse=Seria %s este deja utilizată pentru produsul %s TooManyQtyForSerialNumber=Poți avea un singur produs %s pentru numărul de serie %s -BatchLotNumberingModules=Opțiuni pentru generarea automată de produse lot gestionate pe loturi -BatchSerialNumberingModules=Opțiuni pentru generarea automată de produse lot gestionate prin numere de serie ManageLotMask=Mască personalizată -CustomMasks=Adaugă o opţiune pentru definire mască în fişa produsului -LotProductTooltip=Adaugă o opțiune în fişa de produs pentru a defini o mască dedicată numărului de lot -SNProductTooltip=Adaugă o opțiune în fişa de produs pentru a defini o mască dedicată numărului de serie +CustomMasks=Opţiunea de definire a unei măşti de numerotare diferite pentru fiecare produs +BatchLotNumberingModules=Regulă de numerotare pentru generarea automată a numărului de lot +BatchSerialNumberingModules=Regula de numerotare pentru generarea automată a numărului de serie (pentru produsele cu proprietatea 1 lot/serie unică pentru fiecare produs) QtyToAddAfterBarcodeScan=Cantitate de adăugat pentru fiecare cod de bare/lot/serie scanată +LifeTime=Durata de viață (în zile) +EndOfLife=Sfârşitul duratei de viaţă +ManufacturingDate=Data de producţie +DestructionDate=Data distrugerii +FirstUseDate=Data primei utilizări +QCFrequency=Frecvenţa controlului de calitate (în zile) + +#Traceability - qc status +OutOfOrder=Indisponibil +InWorkingOrder=În stare de funcționare diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index 7623c896304..ebf6b6dd861 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Prețuri diferite pentru fiecare client PriceCatalogue=Un singur preț de vânzare pentru fiecare produs/serviciu PricingRule=Reguli privind prețurile de vânzare AddCustomerPrice=Adaugă preţ pe client -ForceUpdateChildPriceSoc=Setează acelasi preţ pe subsidiarele clientului +ForceUpdateChildPriceSoc=Setare același preț pentru filialele clientului PriceByCustomerLog=Jurnalul prețurilor anterioare ale clienților MinimumPriceLimit=Prețul minim nu poate fi mai mic decât %s MinimumRecommendedPrice=Prețul minim recomandat este: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Mărire/micșorare de stoc la modificarea produselor ComposedProduct=Produse copil MinSupplierPrice=Preţ minim de achiziţie MinCustomerPrice=Preț minim de vânzare +NoDynamicPrice=Fără preț dinamic DynamicPriceConfiguration=Setarea dinamică a prețului DynamicPriceDesc=Puteți defini formule matematice pentru a calcula prețurile clienților sau furnizorilor. Astfel de formule pot folosi toți operatorii matematici, unele constante și variabile. Puteți defini aici variabilele pe care doriți să le utilizați. Dacă variabila are nevoie de o actualizare automată, puteți defini adresa URL externă pentru a permite Dolibarr să actualizeze automat valoarea. AddVariable=Adăugare variabilă @@ -340,7 +341,7 @@ ProductSheet=Fișă produs ServiceSheet=Fişă serviciu PossibleValues=Valori posibile GoOnMenuToCreateVairants=Mergeți în meniul %s - %s pentru a pregăti atributele variantelor de produs (cum ar fi culorile, mărimea, ...) -UseProductFournDesc=Adăugați o caracteristică pentru a defini descrierile produselor definite de furnizori, pe lângă descrierile pentru clienți +UseProductFournDesc=Adăugați o caracteristică pentru a defini descrierea produsului definită de furnizori (pentru fiecare referință furnizor) în plus față de descrierea pentru clienți ProductSupplierDescription=Descrierea furnizorului pentru produs UseProductSupplierPackaging=Utilizați împachetările la prețurile furnizor (recalculați cantitățile în funcție de împachetările stabilite la prețurile de furnizor atunci când adăugați/actualizați linia în documentele furnizorului) PackagingForThisProduct=Împachetare @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Acțiune disponibilă numai pentru varianta ProductsPricePerCustomer=Preţuri produs per clienţi ProductSupplierExtraFields=Atribute suplimentare (Preţuri furnizor) DeleteLinkedProduct=Ștergeți produsul copil asociat la combinație +PMPValue=PMP +PMPValueShort=PMP diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index b0e5d46b2c6..6af63e7085d 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -140,6 +140,7 @@ NoTasks=Niciun task pe acest proiect LinkedToAnotherCompany=Asociat la un alt terţ TaskIsNotAssignedToUser=Task nealocat utilizatorului. Foloseşte butonul '%s' pentru a atribui task-ul acum. ErrorTimeSpentIsEmpty=Timpul consumat nu este completat +TimeRecordingRestrictedToNMonthsBack=Înregistrarea timpului consumat este limitată la %s luni în urmă ThisWillAlsoRemoveTasks=Această acţiune va şterge, de asemenea, toate task-urile proiectului (%s task-uri la acest moment) şi toţi timpii consumaţi. IfNeedToUseOtherObjectKeepEmpty=Dacă unele obiecte (facturi, comenzi, ...), care aparţin altui terţ, trebuie să fie asociate la proiect pentru creare, menţine gol pentru a avea un proiect multi-terţi. CloneTasks=Clonează task-uri @@ -241,6 +242,7 @@ LatestModifiedProjects=Ultimele %s proiecte modificate OtherFilteredTasks=Alte task-uri filtrate NoAssignedTasks=Nu au fost găsite task-uri atribuite (atribuiți proiectul/task-urile utilizatorului curent din caseta de selectare superioară pentru a introduce timp pe acesta) ThirdPartyRequiredToGenerateInvoice=Un terț trebuie definit pe proiect pentru a putea să fie facturat. +ThirdPartyRequiredToGenerateInvoice=Un terț trebuie definit pe proiect pentru a putea să fie facturat. ChooseANotYetAssignedTask=Alege un task care nu îţi este atribuit # Comments trans AllowCommentOnTask=Permiteți comentarii de la utilizatori pe task-uri @@ -252,10 +254,12 @@ SendProjectRef=Info proiect %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modulul 'Salarii' trebuie să fie activat pentru a defini tariful orar al angajatului pentru valorificarea timpului consumat NewTaskRefSuggested=Taskul de referinţă este deja utilizat, este necesară un nou task TimeSpentInvoiced=Timp consumat facturat +TimeSpentForIntervention=Timp consumat TimeSpentForInvoice=Timpi consumaţi OneLinePerUser=O linie per utilizator ServiceToUseOnLines=Serviciu de utilizat pe linii InvoiceGeneratedFromTimeSpent=Factura %s a fost generată cu timpul consumat pe proiect +InterventionGeneratedFromTimeSpent=Intervenția %s a fost generată din timpul consumat pe proiect ProjectBillTimeDescription=Bifați dacă introduceți un timeline în task-urile proiectului ȘI intenționați să generați factură(i) din foaia de timp pentru a factura proiectul clientului (nu bifați dacă intenționați să creați o factură care nu se bazează pe foile de timp introduse). Notă: Pentru a genera factură, accesați fila "Timp consumat" a proiectului și selectați liniile pe care să le includeți. ProjectFollowOpportunity=Urmăreşte lead-ul ProjectFollowTasks=Urmăreşte task-urile sau timpul consumat @@ -264,12 +268,16 @@ UsageOpportunity=Utilizare: Oportunitate UsageTasks=Utilizare: Task-uri UsageBillTimeShort=Utilizare: Timp facturat InvoiceToUse=Şablon factură de utilizat +InterToUse=Schiţă intervenţie de utilizat NewInvoice=Factură nouă +NewInter=Intervenţie nouă OneLinePerTask=O linie per task OneLinePerPeriod=O linie per perioadă +OneLinePerTimeSpentLine=O linie pentru fiecare timp consumat RefTaskParent=Ref. Task Părinte ProfitIsCalculatedWith=Profitul este calculat utilizând AddPersonToTask=Adaugă și la task-uri UsageOrganizeEvent=Utilizare: Organizare eveniment PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Clasificați proiectul ca închis când toate task-urile sale sunt finalizate (100%% progres) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Notă: proiectele existente cu toate task-urile la 100 %% progres nu vor fi afectate: va trebui să le închideți manual. Această opțiune afectează doar proiectele deschise. +SelectLinesOfTimeSpentToInvoice=Selectează linii de timp consumat care nu sunt facturate, apoi iniţiază acțiunea în bloc "Generare factură" pentru a le factura diff --git a/htdocs/langs/ro_RO/receptions.lang b/htdocs/langs/ro_RO/receptions.lang index 0f3ec29be18..53140cc9beb 100644 --- a/htdocs/langs/ro_RO/receptions.lang +++ b/htdocs/langs/ro_RO/receptions.lang @@ -2,46 +2,46 @@ ReceptionsSetup=Setare Recepţie produse RefReception=Ref. recepţie Reception=Recepţie -Receptions=Receptii +Receptions=Recepţii AllReceptions=Toate recepțiile Reception=Recepţie -Receptions=Receptii -ShowReception=Afișați recepțiile +Receptions=Recepţii +ShowReception=Afișare recepții ReceptionsArea=Zona de recepție -ListOfReceptions=Lista de recepții -ReceptionMethod=Metoda recepției -LastReceptions=Ultimele %srecepții +ListOfReceptions=Listă de recepții +ReceptionMethod=Metoda de recepție +LastReceptions=Ultimele %s recepții StatisticsOfReceptions=Statistici pentru recepții -NbOfReceptions=Numărul de recepții -NumberOfReceptionsByMonth=Numărul de recepții pe lună -ReceptionCard=Carte de recepție +NbOfReceptions=Număr de recepții +NumberOfReceptionsByMonth=Număr de recepții pe lună +ReceptionCard=Fişă recepție NewReception=Recepție nouă -CreateReception=Creați recepția +CreateReception=Creare recepție QtyInOtherReceptions=Cantitate în alte recepții OtherReceptionsForSameOrder=Alte recepții pentru această comandă -ReceptionsAndReceivingForSameOrder=Recepții și chitanțe pentru această comandă -ReceptionsToValidate=Recepții pentru validare -StatusReceptionCanceled=Anulata -StatusReceptionDraft=Draft -StatusReceptionValidated=Validată (produse de livrat sau deja livrate) +ReceptionsAndReceivingForSameOrder=Recepții și avize pentru această comandă +ReceptionsToValidate=Recepții de validat +StatusReceptionCanceled=Anulată +StatusReceptionDraft=Schiţă +StatusReceptionValidated=Validată (produse de livrat sau deja livrate) StatusReceptionProcessed=Procesate -StatusReceptionDraftShort=Draft +StatusReceptionDraftShort=Schiţă StatusReceptionValidatedShort=Validată StatusReceptionProcessedShort=Procesate -ReceptionSheet=Foaie de recepție +ReceptionSheet=Notă de recepție ConfirmDeleteReception=Sigur doriți să ștergeți această recepție? -ConfirmValidateReception=Sigur doriți să validați această recepție cu referința %s ? +ConfirmValidateReception=Sigur doriți să validați această recepție cu referința %s? ConfirmCancelReception=Sigur doriți să anulați această recepție? -StatsOnReceptionsOnlyValidated=Statisticile efectuate pe recepții doar validate. Data folosită este data validării recepției (data livrării planificată nu este întotdeauna cunoscută). +StatsOnReceptionsOnlyValidated=Statisticile sunt efectuate doar pe recepțiile validate. Data folosită este data validării recepției (data planificată de livrare nu este întotdeauna cunoscută). SendReceptionByEMail=Trimiteți recepția prin email SendReceptionRef=Predarea recepției %s ActionsOnReception=Evenimente la recepție -ReceptionCreationIsDoneFromOrder=Pentru moment, crearea unei noi recepții se face din cardul de comandă. -ReceptionLine=Linia de recepție -ProductQtyInReceptionAlreadySent=Cantitatea de produse din comanda deschisă deja trimisă -ProductQtyInSuppliersReceptionAlreadyRecevied=Cantitatea de produse din comanda furnizor deschisă deja primită -ValidateOrderFirstBeforeReception=Mai întâi trebuie să validezi comanda înainte de a putea face recepții. +ReceptionCreationIsDoneFromOrder=Pentru moment, crearea unei noi recepții se face din fişa de comandă. +ReceptionLine=Linie de recepție +ProductQtyInReceptionAlreadySent=Cantitatea de produse din comanda deschisă este deja trimisă +ProductQtyInSuppliersReceptionAlreadyRecevied=Cantitatea de produse din comanda de achiziţie deschisă a fost deja primită +ValidateOrderFirstBeforeReception=Mai întâi trebuie să validezi comanda de achiziţie înainte de a putea face recepții. ReceptionsNumberingModules=Mod de numerotare pentru recepţii ReceptionsReceiptModel=Şabloane documente pentru recepţii NoMorePredefinedProductToDispatch=Nu mai sunt produse predefinite pentru expediere - +ReceptionExist=O recepţie există diff --git a/htdocs/langs/ro_RO/salaries.lang b/htdocs/langs/ro_RO/salaries.lang index 84d4c512aed..e3730147523 100644 --- a/htdocs/langs/ro_RO/salaries.lang +++ b/htdocs/langs/ro_RO/salaries.lang @@ -1,21 +1,24 @@ # Dolibarr language file - Source file is en_US - salaries -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Contul contabil utilizat pentru terț utilizator +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Contul contabil folosit pentru terți utilizatori SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Contul contabil dedicat definit pe cardul de utilizator va fi utilizat doar pentru contabilitatea subregistru. Aceasta va fi utilizată pentru Registrul general și ca valoare implicită a contabilității suregistru dacă nu este definită contul de contabilitate dedicat pentru utilizatori. -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Contul de contabilitate implicit pentru plata salariilor +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Contul contabil implicit pentru plata salariilor +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=În mod implicit, lăsați necompletată opțiunea "Creați automat o plată totală” la crearea unui salariu  Salary=Salariu Salaries=Salarii -NewSalaryPayment=Plata noua salariu -AddSalaryPayment=Adăugați plata salarială -SalaryPayment=Plata salariu -SalariesPayments=Plati salarii -ShowSalaryPayment=Arata plata salariu -THM=Rata orară medie -TJM=Rata medie zilnică +NewSalary=Salariu nou +NewSalaryPayment=Card de salariu nou +AddSalaryPayment=Adăugare plată salariu +SalaryPayment=Plată salariu +SalariesPayments=Plăţi salarii +SalariesPaymentsOf=Plăţi salarii pentru %s +ShowSalaryPayment=Arată plată salariu +THM=Tarif orar mediu +TJM=Tarif zilnic mediu CurrentSalary=Salariu curent -THMDescription=Această valoare poate fi utilizată pentru a calcula costul timpului consumat pe un proiect introdus de utilizatori dacă se utilizează un proiect de modul +THMDescription=Această valoare poate fi utilizată pentru a calcula costul timpului consumat pe un proiect introdus de utilizatori dacă se utilizează modulul Proiecte TJMDescription=Această valoare este în prezent doar informativă și nu este utilizată pentru niciun calcul -LastSalaries=Cele mai recente %splăți salariale -AllSalaries=Toate plățile salariale +LastSalaries=Ultimele %s salarii +AllSalaries=Toate salariile SalariesStatistics=Statistici salariale -# Export SalariesAndPayments=Salarii și plăți +ConfirmDeleteSalaryPayment=Vrei să ştergi această plată salarială ? diff --git a/htdocs/langs/ro_RO/stocks.lang b/htdocs/langs/ro_RO/stocks.lang index 66edf3c4761..e171f072104 100644 --- a/htdocs/langs/ro_RO/stocks.lang +++ b/htdocs/langs/ro_RO/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Preţ de achiziţie unitar StockTooLow=Stoc insuficient StockLowerThanLimit=Stoc mai mic decât limita de alertă (%s) EnhancedValue=Valoare -PMPValue=PMP -PMPValueShort=WAP EnhancedValueOfWarehouses=Stoc valoric UserWarehouseAutoCreate=Creați automat un depozit utilizator atunci când creați un utilizator AllowAddLimitStockByWarehouse=Gestionează, de asemenea, valoarea pentru stocul minim și cel dorit pe perechi (produs-depozit), pe lângă valoarea pentru stocul minim și stoc dorit pe produs RuleForWarehouse=Reguli pentru depozite -WarehouseAskWarehouseOnThirparty=Setează un depozit pe terţ +WarehouseAskWarehouseOnThirparty=Setează un depozit pe terţi WarehouseAskWarehouseDuringPropal=Setează un depozit pe ofertele comerciale WarehouseAskWarehouseDuringOrder=Setează un depozit pe comenzile de vânzare UserDefaultWarehouse=Setează un depozit pe utilizatori @@ -169,8 +167,8 @@ MovementTransferStock=Transfer de stoc pentru produsul %s în alt depozit InventoryCodeShort=Cod de facturare/mișcare NoPendingReceptionOnSupplierOrder=Nu există recepție în așteptare din cauza comenzii de achiziție deschise ThisSerialAlreadyExistWithDifferentDate=Acest număr de lot/serie ( %s ) există deja, dar cu o dată diferită de consum sau de vânzare (găsit ca %s dar poţi introduce %s). -OpenAll=Deschis pentru toate acțiunile -OpenInternal=Deschis numai pentru acțiuni interne +OpenAnyMovement=Deschis (toate mișcările) +OpenInternal=Deschis (doar pentru mişcări interne) UseDispatchStatus=Utilizați un stadiu de expediere (aprobați/refuzați) pentru linii de produse la recepția comenzii de achiziție OptionMULTIPRICESIsOn=Opțiunea "mai multe prețuri pe segment" este activată. Înseamnă că un produs are mai multe prețuri de vânzare, astfel încât valoarea preţului de vânzare nu poate fi calculată ProductStockWarehouseCreated=Limită de stoc pentru alertă și stocul optim dorit au fost create corect. @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=selectează un fişier cu mişcări de stoc pen InfoTemplateImport=Fișierul încărcat trebuie să aibă acest format (* sunt câmpuri obligatorii):
    Depozit sursă* | Depozit țintă* | Produs* | Cantitate* | Număr lot/serie
    Separatorul de caractere CSV trebuie să fie "%s" LabelOfInventoryMovemement=Inventar %s ReOpen=Redeschide -ConfirmFinish=Confirmi închiderea inventarului? Aceasta va genera toate mișcările stocului pentru actualizare. +ConfirmFinish=Confirmați închiderea inventarului? Aceasta va genera toate mișcările stocului pentru a vă actualiza stocul la cantitatea reală pe care ați introdus-o în inventar. ObjectNotFound=%s nu a fost găsit MakeMovementsAndClose=Generează mişcări şi închide AutofillWithExpected=Completează cantitatea reală cu cantitatea așteptată +ShowAllBatchByDefault=În mod prestabilit, afișează detaliile lotului în fila "stoc" a produsului +CollapseBatchDetailHelp=Poţi seta afișarea implicită a detaliilor lotului în configurația modulului stocuri +FieldCannotBeNegative=Câmpul "%s" nu poate fi negativ +ErrorWrongBarcodemode=Mod cod de bare necunoscut +ProductDoesNotExist=Produsul nu există +ErrorSameBatchNumber=Acelaşi număr de lot a fost găsit în lista de inventar +ProductBatchDoesNotExist=Produsul cu lotul/seria nu există +ProductBarcodeDoesNotExist=Produsul cu codul de bare nu există diff --git a/htdocs/langs/ro_RO/ticket.lang b/htdocs/langs/ro_RO/ticket.lang index ba08e876e88..f7db8159043 100644 --- a/htdocs/langs/ro_RO/ticket.lang +++ b/htdocs/langs/ro_RO/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Tichet - Rezoluție TicketTypeShortCOM=Întrebare comercială TicketTypeShortHELP=Solicitare funcţionalitate -TicketTypeShortISSUE=Solicitare, eroare sau problemă +TicketTypeShortISSUE=Problemă sau bug +TicketTypeShortPROBLEM=Problemă TicketTypeShortREQUEST=Solicitare de modificare sau îmbunătăţire TicketTypeShortPROJET=Proiect TicketTypeShortOTHER=Altele @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Utilizator atribuit TypeContact_ticket_external_SUPPORTCLI=Contact client urmărire incidente TypeContact_ticket_external_CONTRIBUTOR=Contributor extern -OriginEmail=Email sursă +OriginEmail=Email raportor Notify_TICKET_SENTBYMAIL=Trimite mesaj tichet pe email # Status Read=Citit Assigned=Atribuit InProgress=În curs -NeedMoreInformation=În aşteptarea de informaţii +NeedMoreInformation=În aşteptare feedback de la raportor +NeedMoreInformationShort=În aşteptare feedback Answered=S-a răspuns Waiting=În aşteptare -Closed=Închis +SolvedClosed=Rezolvat Deleted=Șters # Dict @@ -151,7 +153,7 @@ MessageListViewType=Afişare listă ca tabel # # Ticket card # -Ticket=Tichet +Ticket=Tichete TicketCard=Fişă tichet CreateTicket=Creare tichet EditTicket=Editare tichet @@ -160,7 +162,7 @@ CreatedBy=Creat de NewTicket=Tichet nou SubjectAnswerToTicket=Răspuns la tichet TicketTypeRequest=Tip de solicitare -TicketCategory=Grup +TicketCategory=Categorizare tichet SeeTicket=Vezi tichetul TicketMarkedAsRead=Tichetul a fost marcat ca citit TicketReadOn=Citește mai departe @@ -184,9 +186,11 @@ TicketSeverity=Gravitate ShowTicket=Vedeți tichetul RelatedTickets=Tichete conexe TicketAddIntervention=Crează intervenţie -CloseTicket=Închide tichet -CloseATicket=Închide un tichet +CloseTicket=Închidere/Rezolvare tichet +AbandonTicket=Abandonare tichet +CloseATicket=Închidere/Rezolvare un tichet ConfirmCloseAticket=Confirmați închiderea tichetului +ConfirmAbandonTicket=Confirmați închiderea tichetului cu statusul 'Abandonat' ConfirmDeleteTicket=Confirmați ștergerea tichetului TicketDeletedSuccess=Tichet a fost șters cu succes TicketMarkedAsClosed=Tichet marcat ca închis @@ -211,6 +215,7 @@ TicketMessageHelp=Numai acest text va fi salvat în lista de mesaje de pe fişa TicketMessageSubstitutionReplacedByGenericValues=Variabilele de substituție sunt înlocuite cu valori generice. TimeElapsedSince=Timpul trecut de atunci TicketTimeToRead=Timpul trecut înainte de citire +TicketTimeElapsedBeforeSince=Timpul scurs înainte de / de atunci TicketContacts=Contacte tichet TicketDocumentsLinked=Documente legate de tichet ConfirmReOpenTicket=Confirmați redeschiderea acestui tichet? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Ultimele tichete modificate BoxLastModifiedTicketDescription=Ultimele %s tichet modificate BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Nu există tichete modificate recent -BoxTicketType=Număr tichete deschise după tip +BoxTicketType=Distribuţia tichetelor deschise după tip BoxTicketSeverity=Număr tichete deschise după severitate BoxNoTicketSeverity=Nr. tichete deschise BoxTicketLastXDays=Numărul de tichete noi după zile din ultimele %s zile diff --git a/htdocs/langs/ro_RO/trips.lang b/htdocs/langs/ro_RO/trips.lang index b0024168f4b..87d27ff248b 100644 --- a/htdocs/langs/ro_RO/trips.lang +++ b/htdocs/langs/ro_RO/trips.lang @@ -90,7 +90,6 @@ DATE_REFUS=Dată respingere DATE_SAVE=Dată validare DATE_CANCEL=Dată anulare DATE_PAIEMENT=Data plăţii -BROUILLONNER=Redeschide ExpenseReportRef=Ref. raport de cheltuieli ValidateAndSubmit=Validează și trimite pentru aprobare ValidatedWaitingApproval=Validat(în așteptarea aprobării) diff --git a/htdocs/langs/ro_RO/users.lang b/htdocs/langs/ro_RO/users.lang index de16abf5ceb..fa6a4c5d83e 100644 --- a/htdocs/langs/ro_RO/users.lang +++ b/htdocs/langs/ro_RO/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Nume de utilizator de creat NameToCreate=Nume terţ de creat YourRole=Rolurile tale YourQuotaOfUsersIsReached=Cota ta de utilizatori activi a fost atinsă ! -NbOfUsers=Nr. de utilizatori -NbOfPermissions=Nr. de permisiuni +NbOfUsers=Număr de utilizatori +NbOfPermissions=Număr de permisiuni DontDowngradeSuperAdmin=Numai un superadmin poate declasa un superadmin HierarchicalResponsible=Supervizor HierarchicView=Vedere ierarhică diff --git a/htdocs/langs/ro_RO/website.lang b/htdocs/langs/ro_RO/website.lang index e90a63aee32..0dbac3d2d34 100644 --- a/htdocs/langs/ro_RO/website.lang +++ b/htdocs/langs/ro_RO/website.lang @@ -31,7 +31,7 @@ AddWebsite=Adaugă site web Webpage=Pagină/container web AddPage=Adaugă o pagină/container PageContainer=Pagina -PreviewOfSiteNotYetAvailable=Previzualizarea site-ului dvs. web %s nu este încă disponibilă. Mai întâi trebuie să ' Importați un șablon complet de site ' sau doar să 'Adăugați o pagină/container '. +PreviewOfSiteNotYetAvailable=Previzualizarea site-ului web %s nu este încă disponibilă. Mai întâi trebuie să 'Importați un șablon de site web complet' sau doar să 'Adăugați o pagină/container'. RequestedPageHasNoContentYet=Pagina solicitată cu id %s nu are încă conținut, sau fișierul cache .tpl.php a fost eliminat. Editați conținutul paginii pentru a rezolva această problemă. SiteDeleted=Site-ul web "%s" a fost șters PageContent=Pagină/Container diff --git a/htdocs/langs/ro_RO/withdrawals.lang b/htdocs/langs/ro_RO/withdrawals.lang index 27cce1a4c2e..1700ceff151 100644 --- a/htdocs/langs/ro_RO/withdrawals.lang +++ b/htdocs/langs/ro_RO/withdrawals.lang @@ -2,19 +2,19 @@ CustomersStandingOrdersArea= Plăți prin Ordine de debit direct SuppliersStandingOrdersArea=Plăți prin Transfer de credit StandingOrdersPayment=Ordine de plată prin debitare directă -StandingOrderPayment=Ordin de plata prin debit direct +StandingOrderPayment=Ordin de plată prin debit direct NewStandingOrder=Ordin nou de debitare directă NewPaymentByBankTransfer=Plată nouă prin Transfer de credit StandingOrderToProcess=De procesat PaymentByBankTransferReceipts=Ordine de transfer de credit -PaymentByBankTransferLines=Linii ordine transfer de credit +PaymentByBankTransferLines=Linii ordin transfer de credit WithdrawalsReceipts=Comenzi debit direct -WithdrawalReceipt=Ordin de plată direct +WithdrawalReceipt=Ordin de plată direct debit BankTransferReceipts=Ordine de transfer de credit BankTransferReceipt=Ordin de transfer de credit LatestBankTransferReceipts=Ultimile %s ordine de transfer de credit -LastWithdrawalReceipts=Ultimele fișiere de debit direct %s -WithdrawalsLine=Linie ordin de Direct debit +LastWithdrawalReceipts=Ultimele%s fișiere de debit direct +WithdrawalsLine=Linie ordin de direct debit CreditTransferLine=Linie transfer de credit WithdrawalsLines=Linii de ordine de debitare directă CreditTransferLines=Linii transfer de credit @@ -22,78 +22,79 @@ RequestStandingOrderToTreat= Solicitări de plată prin debitare directă de pro RequestStandingOrderTreated= Solicitări de plată prin debitare directă procesate RequestPaymentsByBankTransferToTreat=Solicitări de transfer de credit de procesat RequestPaymentsByBankTransferTreated=Solicitări de transfer de credit procesate -NotPossibleForThisStatusOfWithdrawReceiptORLine=Nu a fost încă posibil. Statutul Withdraw trebuie să fie setat la "creditat" înaintea declarării respinge pe liniile specifice. +NotPossibleForThisStatusOfWithdrawReceiptORLine=Nu este încă posibil. Statusul retragerii trebuie să fie setat la "Creditat" înaintea de al declara respins pe liniile specifice. NbOfInvoiceToWithdraw=Număr de facturi calificate ale clienților cu comandă de debit direct în așteptare NbOfInvoiceToWithdrawWithInfo=Nr. de factură client cu ordin de plată prin debit direct având informații despre contul bancar NbOfInvoiceToPayByBankTransfer=Număr facturi de achiziţie calificate cu transfer de credit în așteptare SupplierInvoiceWaitingWithdraw=Factura de achiziţie cu plata prin transfer de credit în aşteptare -InvoiceWaitingWithdraw=Factura în așteptare pentru debitul direct +InvoiceWaitingWithdraw=Factură în așteptarea debitului direct InvoiceWaitingPaymentByBankTransfer=Factură cu transfer de credit în aşteptare -AmountToWithdraw=Suma de a se retrage +AmountToWithdraw=Suma de retras NoInvoiceToWithdraw=Nici o factură deschisă pentru '%s' în aşteptare. Accesați fila '%s' de pe fişa de factură pentru a face o solicitare. NoSupplierInvoiceToWithdraw=Nu este în așteptare nici o factură de de achiziţie cu 'Solicitare de direct credit'. Accesați fila '%s' de pe cardul de factură pentru a face o solicitare. ResponsibleUser=Utilizator responsabil -WithdrawalsSetup=Setarea plății prin debit direct +WithdrawalsSetup=Configurare plată prin debit direct CreditTransferSetup=Configurare Transfer de credit -WithdrawStatistics=Rapoarte de plată prin debit direct +WithdrawStatistics=Rapoarte plăţi prin debit direct CreditTransferStatistics=Statistici transferuri de credit -Rejects=Respinge -LastWithdrawalReceipt=Ultimele încasări de debit direct %s +Rejects=Respingeri +LastWithdrawalReceipt=Ultimele %s încasări prin debit direct MakeWithdrawRequest=Efectuați o solicitare de plată cu debit direct MakeBankTransferOrder=Solicitare transfer de credit -WithdrawRequestsDone=%s au fost înregistrate cererile de debitare directă +WithdrawRequestsDone=%s solicitări de plată prin debitare directă au fost înregistrate BankTransferRequestsDone=%s solicitări de transfer de credit înregistrate -ThirdPartyBankCode=Codul bancar al terțului +ThirdPartyBankCode=Cod bancar terț NoInvoiceCouldBeWithdrawed=Nici o factură nu a fost debitată cu succes. Verificați dacă facturile sunt pe companiile cu un IBAN valabil și că IBAN are un UMR (referință unică de mandat) cu modul %s . -ClassCredited=Clasifica creditat -ClassCreditedConfirm=Sunteţi sigur că doriţi sa clasificaţi această retragere ca creditată pe contul bancar? +WithdrawalCantBeCreditedTwice=Această chitanță de retragere este deja marcată ca fiind creditată; acest lucru nu se poate face de două ori, deoarece acest lucru ar putea crea plăți și înregistrări bancare duplicate. +ClassCredited=Clasifică creditat +ClassCreditedConfirm=Sunteţi sigur că doriţi sa clasificaţi această retragere ca creditată în contul tău bancar? TransData=Data transmiterii -TransMetod=Metoda transmitere +TransMetod=Metodă de transmitere Send=Trimite Lines=Linii -StandingOrderReject=Emite o respinge +StandingOrderReject=Emite o respingere WithdrawsRefused=Debitul direct a fost refuzat -WithdrawalRefused=Retragere refuzată +WithdrawalRefused=Retragerea a fost refuzată CreditTransfersRefused=Transferuri de credit refuzate -WithdrawalRefusedConfirm=Sunteţi sigur că doriţi să introduceţi un respingere de retragere pentru societate +WithdrawalRefusedConfirm=Sunteţi sigur că doriţi să respingeţi o retragere bancară pentru societatea RefusedData=Data respingerii RefusedReason=Motivul respingerii -RefusedInvoicing=Facturare respingerea -NoInvoiceRefused=Nu încărcaţi respingerea -InvoiceRefused=Factura refuzată (Încărcați refuzul la client) -StatusDebitCredit=Stare debit/credit -StatusWaiting=Aşteptare +RefusedInvoicing=Facturare respingere +NoInvoiceRefused=Nu încărca respingerea +InvoiceRefused=Factură refuzată (Încărcă refuzul la client) +StatusDebitCredit=Status debit/credit +StatusWaiting=În aşteptare StatusTrans=Trimis StatusDebited=Debitat -StatusCredited=Creditate +StatusCredited=Creditat StatusPaid=Plătite StatusRefused=Refuzat StatusMotif0=Nespecificat StatusMotif1=Fonduri insuficiente -StatusMotif2=Cerere contestată +StatusMotif2=Solicitare contestată StatusMotif3=Nu există ordin de plată prin debitare directă StatusMotif4=Comandă de vânzări StatusMotif5=RIB inutilizabil StatusMotif6=Cont fără sold StatusMotif7=Hotărâre judecătorească StatusMotif8=Alte motive -CreateForSepaFRST=Crearea unui fișier de debit direct (SEPA FRST) -CreateForSepaRCUR=Creați un fișier de debit direct (SEPA RCUR) -CreateAll=Creați un fișier de debit direct (toate) -CreateFileForPaymentByBankTransfer=Creați fișier pentru transfer de credit -CreateSepaFileForPaymentByBankTransfer=Creați fișier de transfer de credit (SEPA) -CreateGuichet=Numai de birou -CreateBanque=Numai banca -OrderWaiting=De aşteptare pentru tratament +CreateForSepaFRST=Creare fișier de debit direct (SEPA FRST) +CreateForSepaRCUR=Creare fișier de debit direct (SEPA RCUR) +CreateAll=Creare fișier de debit direct (toate) +CreateFileForPaymentByBankTransfer=Creare fișier pentru transfer de credit +CreateSepaFileForPaymentByBankTransfer=Creare fișier de transfer de credit (SEPA) +CreateGuichet=Doar la caserie +CreateBanque=Doar la bancă +OrderWaiting=Ordin în aşteptare NotifyTransmision=Înregistrați transmiterea fișierului de comandă NotifyCredit= Înregistrați creditul comenzii -NumeroNationalEmetter=Numărul naţional transmiţător +NumeroNationalEmetter=Numărul naţional de emitent WithBankUsingRIB=Pentru conturile bancare folosind RIB -WithBankUsingBANBIC=Pentru conturile bancare folosind codul IBAN / BIC / SWIFT -BankToReceiveWithdraw=Primirea contului bancar +WithBankUsingBANBIC=Pentru conturile bancare folosind codul IBAN/BIC/ SWIFT +BankToReceiveWithdraw=Contul bancar care primeşte retragerea BankToPayCreditTransfer=Cont bancar utilizat ca sursă de plăți CreditDate=Credit pe -WithdrawalFileNotCapable=Imposibil de a genera fișierul chitanţă de retragere pentru țara dvs %s (Țara dvs. nu este acceptată) +WithdrawalFileNotCapable=Imposibil de generat fișierul chitanţă de retragere pentru țara ta %s (Țara ta nu este acceptată) ShowWithdraw=Afișează Comanda de debit direct IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Cu toate acestea, dacă factura are cel puțin o comandă de plată prin debit direct, care încă nu a fost procesată, aceasta nu va fi setată ca plătită pentru a permite gestionarea prealabilă a retragerii. DoStandingOrdersBeforePayments=Această filă vă permite să solicitați o comandă de plată cu debit direct. Odată terminat, accesați meniul Bancă-> Plată prin debit direct pentru a genera și gestiona comanda de debit direct. La închiderea ordinului de debit direct, plata facturii va fi înregistrată automat, iar facturile vor fi închise dacă restul de plată este nul. @@ -102,38 +103,37 @@ WithdrawalFile=Fişier debit order CreditTransferFile=Fişier transfer credit SetToStatusSent=Setează statusul "Fişier Trimis" ThisWillAlsoAddPaymentOnInvoice=Acest lucru va înregistra, de asemenea, plățile pe facturi și le va clasifica drept „Plătit” dacă suma rămasă de plată este nulă -StatisticsByLineStatus=Statistici după starea liniilor +StatisticsByLineStatus=Statistici după starea liniilor RUM=RMU DateRUM=Data semnării mandatului RUMLong=Referință de mandat unic -RUMWillBeGenerated=Dacă este gol, se va genera un RMU (referință unică de mandat) odată ce informațiile despre contul bancar vor fi salvate. -WithdrawMode=Modul debit direct (FRST sau RECUR) -WithdrawRequestAmount=Suma solicitării de debitare directă: +RUMWillBeGenerated=Dacă este gol, se va genera un RMU (referință unică de mandat) o dată ce informațiile despre contul bancar vor fi salvate. +WithdrawMode=Mod debit direct (FRST sau RECUR) +WithdrawRequestAmount=Suma solicitată prin debit direct: BankTransferAmount=Valoarea cererii de transfer de credit: -WithdrawRequestErrorNilAmount=Nu se poate crea o solicitare de debitare directă pentru suma goală. -SepaMandate=Mandatul SEPA Direct Debit +WithdrawRequestErrorNilAmount=Nu se poate crea o solicitare de debit direct pentru suma goală. +SepaMandate=Mandat SEPA Direct Debit SepaMandateShort=Mandat SEPA PleaseReturnMandate=Vă rugăm să returnați acest formular de mandat prin email la %s sau prin poștă la -SEPALegalText=Prin semnarea acestui formular de mandat, autorizați (A) %s să trimiteți instrucțiuni băncii dvs. pentru a debita contul dvs. și (B) banca dvs. să vă debiteze contul în conformitate cu instrucțiunile de la %s. Ca parte a drepturilor dvs., aveți dreptul la o rambursare de la bancă în termenii și condițiile acordului dvs. cu banca dvs. O rambursare trebuie solicitată în termen de 8 săptămâni, începând cu data la care a fost debitat contul dvs. Drepturile dvs. cu privire la mandatul de mai sus sunt explicate într-o declarație pe care o puteți obține de la banca dvs. -CreditorIdentifier=Identificatorul creditorului +SEPALegalText=Prin semnarea acestui formular de mandat, autorizați pe (A) %s să trimită instrucțiuni băncii tale pentru a debita contul tău și (B) banca ta să îţi debiteze contul în conformitate cu instrucțiunile primite de la %s. Ca parte, ai dreptul la o rambursare de la bancă în termenii și condițiile acordului tău cu banca. O rambursare trebuie solicitată în termen de 8 săptămâni, începând cu data la care a fost debitat contul tău. Drepturile tale cu privire la mandatul de mai sus sunt explicate într-o declarație pe care o poţi obține de la bancă. +CreditorIdentifier=Identificator creditor CreditorName=Numele creditorului SEPAFillForm=(B) Completați toate câmpurile marcate cu * SEPAFormYourName=Numele dvs. -SEPAFormYourBAN=Numele contului bancar (IBAN) +SEPAFormYourBAN=Codul contului bancar (IBAN) SEPAFormYourBIC=Codul dvs. de identificare a băncii (BIC) -SEPAFrstOrRecur=Tip de plata +SEPAFrstOrRecur=Tip de plată ModeRECUR=Plată recurentă -ModeFRST=Plata unică +ModeFRST=Plată unică PleaseCheckOne=Verificați doar una -CreditTransferOrderCreated=Ordin transfer credit %s creat -DirectDebitOrderCreated=Comanda de debit direct %s a fost creată -AmountRequested=Cantitatea cerută +CreditTransferOrderCreated=Ordinul de transfer credit %s a fost creat +DirectDebitOrderCreated=Ordinul de debit direct %s a fost creat +AmountRequested=Suma solicitată SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Data executării CreateForSepa=Creați un fișier de debit direct -ICS=Identificator creditor CI pentru debit direct -ICSTransfer=Identificator creditor CI pentru transfer bancar +ICS=Identificator Creditor - ICS END_TO_END=Eticheta "EndToEndId" SEPA XML - Id unic atribuit pentru fiecare tranzacție USTRD=Eticheta XML "nestructurată" SEPA ADDDAYS=Adăugați zile la data de executare @@ -142,11 +142,11 @@ NoDefaultIBANFound=Nu a fost găsit un IBAN implicit pentru acest terț InfoCreditSubject=Plata ordinului de plată prin debit direct %s de către bancă InfoCreditMessage=Ordinul de plată prin debit direct %s a fost plătit de către bancă
    Datele de plată: %s InfoTransSubject=Transmiterea ordinului de plată prin debit direct %s către bancă -InfoTransMessage=Comanda de plată prin debit direct %s a fost trimisă la bancă prin %s %s.

    +InfoTransMessage=Ordinul de plată prin debit direct %s a fost trimisă la bancă prin %s %s.

    InfoTransData=Suma: %s
    Metoda: %s
    Data: %s InfoRejectSubject=Comanda de debitare directă a fost refuzată InfoRejectMessage=Bună ziua,

    ordinul de plată prin debit direct al facturii %s aferente companiei %s, cu o sumă de %s a fost refuzată de bancă.

    -
    %s -ModeWarning=Opţiunea pentru modul real, nu a fost stabilit, ne oprim după această simulare +ModeWarning=Opţiunea pentru modul real, nu a fost setată, ne oprim după această simulare ErrorCompanyHasDuplicateDefaultBAN=Compania cu id %s are mai multe conturi bancare implicite. Nu se poate determina cel care se doreşte a fi utilizat. ErrorICSmissing=ICS lipsă în contul bancar %s TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Suma totală a ordinului de debitare directă diferă de suma liniilor diff --git a/htdocs/langs/ro_RO/workflow.lang b/htdocs/langs/ro_RO/workflow.lang index de679361c0f..df82b033501 100644 --- a/htdocs/langs/ro_RO/workflow.lang +++ b/htdocs/langs/ro_RO/workflow.lang @@ -1,18 +1,19 @@ # Dolibarr language file - Source file is en_US - workflow -WorkflowSetup=Configurare Modul Flux de Lucru +WorkflowSetup=Configurare modul Fluxuri de lucru WorkflowDesc=Acest module oferă câteva acțiuni automate. Implicit, fluxul de lucru este deschis (puteți face lucrurile în ordinea pe care o doriți), dar aici puteți activa unele acțiuni automate. -ThereIsNoWorkflowToModify=Nu există nicio modificare workflow diponibila pentru modulele activate. +ThereIsNoWorkflowToModify=Nu există modificări de flux disponibile pentru modulele activate. # Autocreate -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=În mod automat se crează o comandă de vânzări după ce se semnează o propunere comercială (noua comandă va avea aceeași valoare ca propunerea) -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=În mod automat se crează o factură pentru client după ce se semnează o propunere comercială (noua factură va avea aceeași valoare ca propunerea) -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Crează o factură client automat, după ce un contract este validat +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crează în mod automat o comandă de vânzări după ce se semnează o ofertă comercială (noua comandă va avea aceeași valoare ca oferta) +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crează în mod automat o factură pentru client după ce se semnează o propunere comercială (noua factură va avea aceeași valoare ca oferta) +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Crează automat o factură client după ce un contract este validat descWORKFLOW_ORDER_AUTOCREATE_INVOICE=În mod automat se crează o factură client după ce se închide o comandă de vânzări (noua factură va avea aceeași valoare ca comanda) # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Clasificați propunerea sursă asociată ca facturată atunci când comanda de vânzări este setată la facturare (și dacă valoarea comenzii este aceeași cu valoarea totală a propunerii asociate semnate) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Clasificați propunerea sursă asociată ca facturată atunci când factura clientului este validată (și dacă valoarea facturii este aceeași cu valoarea totală a propunerii asociate semnate) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Clasificați comanda de vânzări sursă asociată ca facturată atunci când factura clientului este validată (și dacă valoarea facturii este aceeași cu valoarea totală a ordinii de vânzări asociate) +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Clasificați oferta comercială sursă asociată ca facturată atunci când comanda de vânzări este setată ca facturată (și dacă valoarea comenzii este aceeași cu valoarea totală a ofertei asociate semnate) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Clasificați oferta comercială sursă asociată ca facturată atunci când factura clientului este validată (și dacă valoarea facturii este aceeași cu valoarea totală a ofertei asociate semnate) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Clasificați comanda de vânzări sursă asociată ca facturată atunci când factura clientului este validată (și dacă valoarea facturii este aceeași cu valoarea totală a comenzii de vânzare asociate) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Clasificați comanda de vânzări sursă asociată ca fiind facturată atunci când factura clientului este setată la plată (și dacă valoarea facturii este aceeași cu suma totală a comenzii asociate) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Clasificați comanda de vânzări sursă asociată ca livrată atunci când o livrare este validată (și dacă cantitatea livrată de toate expedițiile este aceeași ca în ordinea de actualizare) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Clasificați comanda de vânzare sursă legată ca fiind expediată atunci când o expediere este închisă (și dacă cantitatea expediată din toate livrările este aceeași ca în comanda actualizată) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Clasificați propunerea furnizorului sursă asociată ca fiind facturată atunci când factura furnizorului este validată (și dacă valoarea facturii este aceeași cu valoarea totală a propunerii asociate) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Clasificați comanda de vânzări sursă asociată ca fiind facturată atunci când factura furnizorului este validată (și dacă valoarea facturii este aceeași cu valoarea totală a comenzii asociate) @@ -22,4 +23,4 @@ descWORKFLOW_TICKET_CLOSE_INTERVENTION=Închideți toate intervențiile legate d AutomaticCreation=Creare automată AutomaticClassification=Clasificare automată # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE= Clasificați livrarea asociată ca închisă atunci când factura clientului este validată +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Clasificați livrarea asociată ca închisă atunci când factura clientului este validată diff --git a/htdocs/langs/ru_RU/accountancy.lang b/htdocs/langs/ru_RU/accountancy.lang index bd4f1b960cd..2fdd9fa8140 100644 --- a/htdocs/langs/ru_RU/accountancy.lang +++ b/htdocs/langs/ru_RU/accountancy.lang @@ -10,421 +10,425 @@ ACCOUNTING_EXPORT_AMOUNT=Объем экспорта ACCOUNTING_EXPORT_DEVISE=Валюта экспорта Selectformat=Выберите формат для файла ACCOUNTING_EXPORT_FORMAT=Select the format for the file -ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type +ACCOUNTING_EXPORT_ENDLINE=Выберите тип возврата каретки ACCOUNTING_EXPORT_PREFIX_SPEC=Укажите префикс для имени файла ThisService=Эта услуга ThisProduct=Этот продукт DefaultForService=По умолчанию для услуги DefaultForProduct=По умолчанию для товара -ProductForThisThirdparty=Product for this thirdparty -ServiceForThisThirdparty=Service for this thirdparty -CantSuggest=Can't suggest +ProductForThisThirdparty=Продукт для этой третьей стороны +ServiceForThisThirdparty=Сервис для этой третьей стороны +CantSuggest=Не могу предложить AccountancySetupDoneFromAccountancyMenu=Больше настроек бухгалтерии выполняется из меню %s -ConfigAccountingExpert=Configuration of the module accounting (double entry) +ConfigAccountingExpert=Настройка модуля учета (двойная запись) Journalization=Журналирование Journals=Журналы JournalFinancial=Финансовые журналы BackToChartofaccounts=Получаемый график счетов Chartofaccounts=Схема учётных записей -ChartOfSubaccounts=Chart of individual accounts -ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger -CurrentDedicatedAccountingAccount=Current dedicated account -AssignDedicatedAccountingAccount=New account to assign -InvoiceLabel=Invoice label +ChartOfSubaccounts=План индивидуальных счетов +ChartOfIndividualAccountsOfSubsidiaryLedger=План индивидуальных счетов вспомогательной книги +CurrentDedicatedAccountingAccount=Текущий выделенный аккаунт +AssignDedicatedAccountingAccount=Новая учетная запись для назначения +InvoiceLabel=Наклейка счета OverviewOfAmountOfLinesNotBound=Обзор количества строк, не привязанных к учётному счёту OverviewOfAmountOfLinesBound=Обзор количества строк, привязанных к учётному счёту OtherInfo=Дополнительная информация DeleteCptCategory=Удалить учётный счёт из группы ConfirmDeleteCptCategory=Вы действительно хотите удалить этот учетный счет из группы бухгалтерских счетов? -JournalizationInLedgerStatus=Status of journalization -AlreadyInGeneralLedger=Already transferred in accounting journals and ledger -NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger -GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group +JournalizationInLedgerStatus=Статус журнализации +AlreadyInGeneralLedger=Уже перенесено в бухгалтерские журналы и книгу +NotYetInGeneralLedger=Еще не перенесено в бухгалтерские журналы и бухгалтерскую книгу +GroupIsEmptyCheckSetup=Группа пуста, проверьте настройку персонализированной учетной группы DetailByAccount=Показать детали счета AccountWithNonZeroValues=Счета с ненулевыми значениями ListOfAccounts=Список счетов -CountriesInEEC=Countries in EEC -CountriesNotInEEC=Countries not in EEC -CountriesInEECExceptMe=Countries in EEC except %s -CountriesExceptMe=All countries except %s -AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. -VueByAccountAccounting=View by accounting account -VueBySubAccountAccounting=View by accounting subaccount +CountriesInEEC=Страны ЕЭС +CountriesNotInEEC=Страны, не входящие в ЕЭС +CountriesInEECExceptMe=Страны ЕЭС, кроме %s +CountriesExceptMe=Все страны кроме %s +AccountantFiles=Экспорт исходных документов +ExportAccountingSourceDocHelp=С помощью этого инструмента вы можете экспортировать исходные события (список в CSV и PDF), которые использовались для создания вашей бухгалтерской отчетности. +ExportAccountingSourceDocHelp2=Чтобы экспортировать журналы, используйте пункт меню %s - %s. +VueByAccountAccounting=Просмотр по учетной записи +VueBySubAccountAccounting=Просмотр по субсчету бухгалтерского учета -MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup -MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup -MainAccountForUsersNotDefined=Main accounting account for users not defined in setup -MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup -MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup +MainAccountForCustomersNotDefined=Главный бухгалтерский счет для клиентов, не определенных в настройке +MainAccountForSuppliersNotDefined=Главный бухгалтерский счет для поставщиков, не определенных в настройке +MainAccountForUsersNotDefined=Основная учетная запись для пользователей, не определенных в настройке +MainAccountForVatPaymentNotDefined=Главный бухгалтерский счет для уплаты НДС не определен в настройке +MainAccountForSubscriptionPaymentNotDefined=Основной бухгалтерский счет для оплаты подписки не определен в настройке -AccountancyArea=Accounting area -AccountancyAreaDescIntro=Usage of the accountancy module is done in several step: -AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year... -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) -AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies... +AccountancyArea=Область бухгалтерского учета +AccountancyAreaDescIntro=Использование модуля бухгалтерского учета осуществляется в несколько этапов: +AccountancyAreaDescActionOnce=Следующие действия обычно выполняются один раз или один раз в год ... +AccountancyAreaDescActionOnceBis=Следующие шаги должны быть выполнены, чтобы сэкономить ваше время в будущем, предлагая вам правильную учетную запись по умолчанию при ведении журнала (запись записи в журналах и главной книге) +AccountancyAreaDescActionFreq=Следующие действия обычно выполняются каждый месяц, неделю или день для очень крупных компаний ... -AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s -AccountancyAreaDescChartModel=STEP %s: Check that a model of chart of account exists or create one from menu %s -AccountancyAreaDescChart=STEP %s: Select and|or complete your chart of account from menu %s +AccountancyAreaDescJournalSetup=ШАГ %s: Создайте или проверьте содержимое вашего списка журналов из меню %s +AccountancyAreaDescChartModel=ШАГ %s: Убедитесь, что модель плана счетов существует, или создайте ее из меню %s +AccountancyAreaDescChart=ШАГ %s: Выберите и | или заполните свой план счетов в меню %s -AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s. -AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. -AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s. -AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s. -AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expenses (miscellaneous taxes). For this, use the menu entry %s. -AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s. -AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. -AccountancyAreaDescMisc=STEP %s: Define mandatory default account and default accounting accounts for miscellaneous transactions. For this, use the menu entry %s. -AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s. -AccountancyAreaDescBank=STEP %s: Define accounting accounts and journal code for each bank and financial accounts. For this, use the menu entry %s. -AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s. +AccountancyAreaDescVat=ШАГ %s: Определите бухгалтерские счета для каждой ставки НДС. Для этого используйте пункт меню %s. +AccountancyAreaDescDefault=ШАГ %s: Определите учетные записи по умолчанию. Для этого используйте пункт меню %s. +AccountancyAreaDescExpenseReport=ШАГ %s: Определите учетные записи по умолчанию для каждого типа отчета о расходах. Для этого используйте пункт меню %s. +AccountancyAreaDescSal=ШАГ %s: Определите учетные записи по умолчанию для выплаты заработной платы. Для этого используйте пункт меню %s. +AccountancyAreaDescContrib=ШАГ %s: Определите счета учета по умолчанию для особых расходов (разных налогов). Для этого используйте пункт меню %s. +AccountancyAreaDescDonation=ШАГ %s: Определите учетные записи по умолчанию для пожертвований. Для этого используйте пункт меню %s. +AccountancyAreaDescSubscription=ШАГ %s: Определите учетные записи по умолчанию для подписки участников. Для этого используйте пункт меню %s. +AccountancyAreaDescMisc=ШАГ %s: Определите обязательную учетную запись по умолчанию и учетные записи по умолчанию для разных транзакций. Для этого используйте пункт меню %s. +AccountancyAreaDescLoan=ШАГ %s: Определите счета учета по умолчанию для ссуд. Для этого используйте пункт меню %s. +AccountancyAreaDescBank=ШАГ %s: Определите учетные счета и код журнала для каждого банковского и финансового счетов. Для этого используйте пункт меню %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. -AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu %s, and click into button %s. -AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports. +AccountancyAreaDescBind=ШАГ %s: проверьте, что привязка между существующими строками %s и учетной записью выполнена, поэтому приложение сможет регистрировать транзакции в Ledger одним щелчком мыши. Полностью отсутствующие привязки. Для этого используйте пункт меню %s. +AccountancyAreaDescWriteRecords=ШАГ %s: Записывайте транзакции в регистр. Для этого войдите в меню %s и нажмите кнопку %s . +AccountancyAreaDescAnalyze=ШАГ %s: Добавьте или отредактируйте существующие транзакции и создайте отчеты и экспорт. -AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future. +AccountancyAreaDescClosePeriod=ШАГ %s: Закройте период, чтобы мы не могли вносить изменения в будущем. -TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) +TheJournalCodeIsNotDefinedOnSomeBankAccount=Не завершен обязательный шаг в настройке (журнал кодов учета не определен для всех банковских счетов) Selectchartofaccounts=Выберите активный график счетов -ChangeAndLoad=Change and load +ChangeAndLoad=Изменить и загрузить Addanaccount=Добавить бухгалтерский счёт AccountAccounting=Бухгалтерский счёт AccountAccountingShort=Бухгалтерский счёт SubledgerAccount=Вспомогательный счёт -SubledgerAccountLabel=Subledger account label -ShowAccountingAccount=Show accounting account -ShowAccountingJournal=Show accounting journal -ShowAccountingAccountInLedger=Show accounting account in ledger -ShowAccountingAccountInJournals=Show accounting account in journals +SubledgerAccountLabel=Ярлык вспомогательной книги +ShowAccountingAccount=Показать учетную запись +ShowAccountingJournal=Показать бухгалтерский журнал +ShowAccountingAccountInLedger=Показать счет в бухгалтерской книге +ShowAccountingAccountInJournals=Показать учетную запись в журналах AccountAccountingSuggest=Учетный счет -MenuDefaultAccounts=Default accounts +MenuDefaultAccounts=Учетные записи по умолчанию MenuBankAccounts=Банковские счета -MenuVatAccounts=Vat accounts -MenuTaxAccounts=Tax accounts -MenuExpenseReportAccounts=Expense report accounts -MenuLoanAccounts=Loan accounts -MenuProductsAccounts=Product accounts -MenuClosureAccounts=Closure accounts -MenuAccountancyClosure=Closure -MenuAccountancyValidationMovements=Validate movements -ProductsBinding=Products accounts -TransferInAccounting=Transfer in accounting -RegistrationInAccounting=Registration in accounting +MenuVatAccounts=Счета НДС +MenuTaxAccounts=Налоговые счета +MenuExpenseReportAccounts=Счета отчета о расходах +MenuLoanAccounts=Ссудные счета +MenuProductsAccounts=Аккаунты продуктов +MenuClosureAccounts=Закрытие счетов +MenuAccountancyClosure=Закрытие +MenuAccountancyValidationMovements=Подтвердить движения +ProductsBinding=Аккаунты продуктов +TransferInAccounting=Перенос в бухгалтерию +RegistrationInAccounting=Регистрация в бухгалтерии Binding=Привязка к счетам CustomersVentilation=Привязка счета клиента -SuppliersVentilation=Vendor invoice binding -ExpenseReportsVentilation=Expense report binding -CreateMvts=Создать новую транзакцию -UpdateMvts=Изменить транзакцию -ValidTransaction=Validate transaction -WriteBookKeeping=Register transactions in accounting -Bookkeeping=Ledger -BookkeepingSubAccount=Subledger -AccountBalance=Account balance -ObjectsRef=Source object ref -CAHTF=Total purchase vendor before tax -TotalExpenseReport=Total expense report -InvoiceLines=Lines of invoices to bind -InvoiceLinesDone=Bound lines of invoices -ExpenseReportLines=Lines of expense reports to bind -ExpenseReportLinesDone=Bound lines of expense reports -IntoAccount=Bind line with the accounting account -TotalForAccount=Total accounting account +SuppliersVentilation=Привязка накладной поставщика +ExpenseReportsVentilation=Привязка отчета о расходах +CreateMvts=Создать новую проводку +UpdateMvts=Изменить проводку +ValidTransaction=Подтвердить проводку +WriteBookKeeping=Регистрировать транзакции в бухгалтерии +Bookkeeping=Бухгалтерская книга +BookkeepingSubAccount=Вспомогательная книга +AccountBalance=Баланс +ObjectsRef=Ссылка на исходный объект +CAHTF=Итого закупка продавца до налогообложения +TotalExpenseReport=Отчет об общих расходах +InvoiceLines=Строки счетов-фактур для привязки +InvoiceLinesDone=Связанные строки счетов-фактур +ExpenseReportLines=Строки отчетов о расходах для привязки +ExpenseReportLinesDone=Связанные строки отчетов о расходах +IntoAccount=Привязать строку к бухгалтерии +TotalForAccount=Итого бухгалтерский счет Ventilate=Привязка -LineId=Id line +LineId=Идентификационная строка Processing=Обрабатывается EndProcessing=Процесс прерван. SelectedLines=Выделенные строки Lineofinvoice=Строка счёта -LineOfExpenseReport=Line of expense report -NoAccountSelected=No accounting account selected -VentilatedinAccount=Binded successfully to the accounting account -NotVentilatedinAccount=Not bound to the accounting account -XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account -XLineFailedToBeBinded=%s products/services were not bound to any accounting account +LineOfExpenseReport=Строка отчета о расходах +NoAccountSelected=Учетная запись не выбрана +VentilatedinAccount=Успешно привязан к учетной записи +NotVentilatedinAccount=Не привязан к учетной записи +XLineSuccessfullyBinded=%s продукты / услуги, успешно привязанные к учетной записи +XLineFailedToBeBinded=продукты / услуги %s не были привязаны к какой-либо учетной записи -ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50) -ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements -ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements +ACCOUNTING_LIMIT_LIST_VENTILATION=Максимальное количество строк на странице списка и привязки (рекомендуется: 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=Начать сортировку страницы «Привязка к делу» по самым последним элементам. +ACCOUNTING_LIST_SORT_VENTILATION_DONE=Начать сортировку страницы «Привязка выполнена» по самым последним элементам. -ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50) -ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 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_AACCOUNT=Length of the third-party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen) -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. -BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account -ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) -ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. -ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default +ACCOUNTING_LENGTH_DESCRIPTION=Обрезать описание продуктов и услуг в списках после x символов (наилучшее = 50) +ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Обрезать форму описания аккаунта продуктов и услуг в списках после x символов (наилучшее = 50) +ACCOUNTING_LENGTH_GACCOUNT=Длина общих учетных записей (если вы установите здесь значение 6, счет «706» будет отображаться на экране как «706000») +ACCOUNTING_LENGTH_AACCOUNT=Длина сторонних учетных записей (если вы установите здесь значение 6, учетная запись «401» будет отображаться на экране как «401000») +ACCOUNTING_MANAGE_ZERO=Позволяет управлять разным количеством нулей в конце учетной записи. Нужен в некоторых странах (например, в Швейцарии). Если выключено (по умолчанию), вы можете установить следующие два параметра, чтобы попросить приложение добавить виртуальные нули. +BANK_DISABLE_DIRECT_INPUT=Отключить прямую запись транзакции на банковский счет +ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Включить экспорт черновиков в журнале +ACCOUNTANCY_COMBO_FOR_AUX=Включить комбинированный список для вспомогательной учетной записи (может быть медленным, если у вас много третьих лиц, нарушить возможность поиска по части значения) +ACCOUNTING_DATE_START_BINDING=Определите дату начала привязки и передачи в бухгалтерском учете. Ниже этой даты операции не переносятся в бухгалтерский учет. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=При переносе бухгалтерии выберите период отображения по умолчанию ACCOUNTING_SELL_JOURNAL=Журнал продаж ACCOUNTING_PURCHASE_JOURNAL=Журнал платежей ACCOUNTING_MISCELLANEOUS_JOURNAL=Журнал "Разное" ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Социальный журнал -ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal +ACCOUNTING_HAS_NEW_JOURNAL=Есть новый журнал -ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) -ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) -ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure +ACCOUNTING_RESULT_PROFIT=Результат бухгалтерского учета (Прибыль) +ACCOUNTING_RESULT_LOSS=Результат бухгалтерского учета (убыток) +ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Журнал закрытия -ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer -TransitionalAccount=Transitional bank transfer account +ACCOUNTING_ACCOUNT_TRANSFER_CASH=Бухгалтерский счет переходного банковского перевода +TransitionalAccount=Счет переходного банковского перевода -ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait -DONATION_ACCOUNTINGACCOUNT=Accounting account to register donations -ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions +ACCOUNTING_ACCOUNT_SUSPENSE=Бухгалтерский учет ожидания +DONATION_ACCOUNTINGACCOUNT=Бухгалтерский счет для регистрации пожертвований +ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Учетная запись для регистрации подписок -ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Бухгалтерский счет по умолчанию для регистрации депозита клиента -ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for the bought products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Бухгалтерский счет по умолчанию для купленных продуктов (используется, если не определено в описании продукта) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Бухгалтерский счет по умолчанию для купленных продуктов в EEC (используется, если не определено в описании продукта) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Бухгалтерский счет по умолчанию для купленных продуктов и импортированных из ЕЭС (используется, если не определено в описании продукта) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Бухгалтерский счет по умолчанию для проданных товаров (используется, если не указано в описании товара) +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Бухгалтерский счет по умолчанию для продуктов, продаваемых в EEC (используется, если не указано в описании продукта) +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_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_ACCOUNT=Бухгалтерский счет по умолчанию для купленных услуг (используется, если не определено в сервисном листе) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Бухгалтерский счет по умолчанию для купленных услуг в ЕЭК (используется, если не указано в сервисном листе) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Бухгалтерский счет по умолчанию для купленных услуг и импортированных из EEC (используется, если не определено в сервисном листе) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Бухгалтерский счет по умолчанию для проданных услуг (используется, если не определено в листе услуг) +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Бухгалтерский счет по умолчанию для услуг, продаваемых в ЕЭС (используется, если не определено в сервисном листе) +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Учетный счет по умолчанию для услуг, проданных и экспортированных из ЕЭК (используется, если не определено в сервисном листе) Doctype=Тип документа Docdate=Дата Docref=Ссылка LabelAccount=Метка бухгалтерского счёта -LabelOperation=Label operation -Sens=Direction -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made -LetteringCode=Lettering code -Lettering=Lettering +LabelOperation=Этикетка операция +Sens=Направление +AccountingDirectionHelp=Для бухгалтерского счета клиента используйте Кредит для записи полученного платежа
    Для бухгалтерского счета поставщика используйте Дебет, чтобы записать платеж, который вы сделали. +LetteringCode=Буквенный код +Lettering=Надписи Codejournal=Журнал -JournalLabel=Journal label -NumPiece=Piece number -TransactionNumShort=Num. transaction -AccountingCategory=Custom group -GroupByAccountAccounting=Group by general ledger account -GroupBySubAccountAccounting=Group by subledger account -AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. -ByAccounts=By accounts -ByPredefinedAccountGroups=By predefined groups -ByPersonalizedAccountGroups=By personalized groups +JournalLabel=Этикетка журнала +NumPiece=Количество штук +TransactionNumShort=№ проводки +AccountingCategory=Пользовательская группа +GroupByAccountAccounting=Группировать по счету главной книги +GroupBySubAccountAccounting=Группировка по счету вспомогательной книги +AccountingAccountGroupsDesc=Здесь вы можете определить несколько групп бухгалтерского учета. Они будут использоваться для персонализированной бухгалтерской отчетности. +ByAccounts=По счетам +ByPredefinedAccountGroups=По предопределенным группам +ByPersonalizedAccountGroups=По индивидуальным группам ByYear=По годам -NotMatch=Not Set -DeleteMvt=Delete some operation lines from accounting -DelMonth=Month to delete -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all operation lines of the accounting for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. -ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all operation lines related to the same transaction will be deleted) +NotMatch=Не задано +DeleteMvt=Удалить из бухгалтерии некоторые строки операций +DelMonth=Месяц для удаления +DelYear=Год для удаления +DelJournal=Журнал для удаления +ConfirmDeleteMvt=При этом будут удалены все операционные строки бухгалтерского учета за год / месяц и / или для определенного журнала (требуется хотя бы один критерий). Вам придется повторно использовать функцию «%s», чтобы удаленная запись вернулась в бухгалтерскую книгу. +ConfirmDeleteMvtPartial=При этом проводка будет удалена из бухгалтерского учета (будут удалены все строки операций, относящиеся к одной проводке). FinanceJournal=Finance journal -ExpenseReportsJournal=Expense reports journal +ExpenseReportsJournal=Журнал отчетов о расходах DescFinanceJournal=Finance journal including all the types of payments by bank account -DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Journals and Ledger. -VATAccountNotDefined=Account for VAT not defined -ThirdpartyAccountNotDefined=Account for third party not defined -ProductAccountNotDefined=Account for product not defined -FeeAccountNotDefined=Account for fee not defined -BankAccountNotDefined=Account for bank not defined +DescJournalOnlyBindedVisible=Это представление записи, которая привязана к учетной записи и может быть записана в журналы и бухгалтерскую книгу. +VATAccountNotDefined=Счет по НДС не определен +ThirdpartyAccountNotDefined=Учетная запись третьей стороны не определена +ProductAccountNotDefined=Аккаунт для продукта не определен +FeeAccountNotDefined=Счет комиссии не определен +BankAccountNotDefined=Счет в банке не определен CustomerInvoicePayment=Платёж счёта клиента -ThirdPartyAccount=Third-party account -NewAccountingMvt=New transaction -NumMvts=Numero of transaction -ListeMvts=List of movements +ThirdPartyAccount=Сторонний аккаунт +NewAccountingMvt=Новая проводки +NumMvts=Номер проводки +ListeMvts=Список движений ErrorDebitCredit=Дебит и кредит не могут иметь значения одновременно -AddCompteFromBK=Add accounting accounts to the group -ReportThirdParty=List third-party account -DescThirdPartyReport=Consult here the list of third-party customers and vendors and their accounting accounts +AddCompteFromBK=Добавить учетные записи в группу +ReportThirdParty=Список сторонних аккаунтов +DescThirdPartyReport=Здесь можно найти список сторонних клиентов и поставщиков и их учетные записи. ListAccounts=Список бухгалтерских счетов -UnknownAccountForThirdparty=Unknown third-party account. We will use %s -UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s -ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. -UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error -PaymentsNotLinkedToProduct=Payment not linked to any product / service -OpeningBalance=Opening balance -ShowOpeningBalance=Show opening balance -HideOpeningBalance=Hide opening balance -ShowSubtotalByGroup=Show subtotal by level +UnknownAccountForThirdparty=Неизвестный сторонний аккаунт. Мы будем использовать %s +UnknownAccountForThirdpartyBlocking=Неизвестный сторонний аккаунт. Ошибка блокировки +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Сторонние данные неизвестны и вспомогательная книга не указана на платеже. Мы оставим значение учетной записи вспомогательной книги пустым. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. +UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Неизвестная сторонняя учетная запись и ожидающая учетная запись не определены. Ошибка блокировки +PaymentsNotLinkedToProduct=Платеж не привязан к какому-либо продукту / услуге +OpeningBalance=Начальное сальдо +ShowOpeningBalance=Показать начальный баланс +HideOpeningBalance=Скрыть начальный баланс +ShowSubtotalByGroup=Показать промежуточный итог по уровням -Pcgtype=Group of account -PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. +Pcgtype=Группа счетов +PcgtypeDesc=Группа счетов используется в качестве предопределенных критериев «фильтра» и «группировки» для некоторых бухгалтерских отчетов. Например, «ДОХОД» или «РАСХОДЫ» используются в качестве групп для бухгалтерских счетов продуктов для построения отчета о расходах / доходах. -Reconcilable=Reconcilable +Reconcilable=Примиримый TotalVente=Total turnover before tax TotalMarge=Итоговая наценка на продажи -DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account -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 "%s". 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 "%s". -DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account -DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account -ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account: +DescVentilCustomer=См. Здесь список строк счетов-фактур клиентов, привязанных (или нет) к учетной записи учета продукта. +DescVentilMore=В большинстве случаев, если вы используете предопределенные продукты или услуги и устанавливаете номер счета в карточке продукта / услуги, приложение сможет выполнить всю привязку между строками вашего счета и учетной записью вашего плана счетов всего за один день. в один клик кнопкой "%s" . Если учетная запись не была настроена на карточках товаров / услуг или у вас все еще есть строки, не привязанные к учетной записи, вам придется вручную выполнить привязку из меню « %s ». +DescVentilDoneCustomer=См. Здесь список строк клиентов, выставляющих счета, и их учетные записи продуктов. +DescVentilTodoCustomer=Привязка строк счета-фактуры, еще не связанных с учетной записью продукта +ChangeAccount=Измените учетную запись учета продуктов / услуг для выбранных строк со следующей учетной записью: Vide=- -DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account (only record not already transfered in accountancy are visible) -DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account -DescVentilTodoExpenseReport=Bind expense report lines not already bound with a fee accounting account -DescVentilExpenseReport=Consult here the list of expense report lines bound (or not) to a fee accounting account -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 "%s". 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 "%s". -DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account +DescVentilSupplier=См. Здесь список строк счетов-фактур, связанных или еще не связанных с учетной записью продукта (видны только записи, еще не переданные в бухгалтерский учет) +DescVentilDoneSupplier=См. Здесь список строк счетов-фактур поставщиков и их учетную запись. +DescVentilTodoExpenseReport=Привязка строк отчета о расходах, еще не связанных со счетом учета сборов +DescVentilExpenseReport=См. Здесь список строк отчета о расходах, привязанных (или нет) к счету учета комиссий. +DescVentilExpenseReportMore=Если вы настроили учетную запись для типа строк отчета о расходах, приложение сможет выполнить всю привязку между строками отчета о расходах и учетной записью вашего плана счетов, всего одним щелчком мыши с помощью кнопки "%s" . Если учетная запись не была настроена в словаре сборов или у вас все еще есть строки, не привязанные к какой-либо учетной записи, вам придется выполнить привязку вручную из меню « %s ». +DescVentilDoneExpenseReport=Ознакомьтесь здесь со списком строк отчетов о расходах и счетом учета их комиссий. -Closure=Annual closure -DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open -OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) -AllMovementsWereRecordedAsValidated=All movements were recorded as validated -NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated -ValidateMovements=Validate movements -DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible +Closure=Ежегодное закрытие +DescClosure=Проконсультируйтесь здесь о количестве движений по месяцам, которые не подтверждены, и уже открытых финансовых лет. +OverviewOfMovementsNotValidated=Шаг 1 / Обзор перемещений не подтвержден. (Необходимо для закрытия финансового года) +AllMovementsWereRecordedAsValidated=Все движения были зарегистрированы как подтвержденные. +NotAllMovementsCouldBeRecordedAsValidated=Не все движения могут быть зарегистрированы как подтвержденные +ValidateMovements=Подтвердить движения +DescValidateMovements=Любое изменение или удаление надписей, надписей и удалений будет запрещено. Все записи для упражнения должны быть подтверждены, иначе закрытие будет невозможно. -ValidateHistory=Bind Automatically -AutomaticBindingDone=Automatic binding done +ValidateHistory=Связывать автоматически +AutomaticBindingDone=Автоматическая привязка выполнена ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used -MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s -Balancing=Balancing -FicheVentilation=Binding card -GeneralLedgerIsWritten=Transactions are written in the Ledger -GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized. -NoNewRecordSaved=No more record to journalize -ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account -ChangeBinding=Change the binding -Accounted=Accounted in ledger -NotYetAccounted=Not yet accounted in the ledger -ShowTutorial=Show Tutorial +MvtNotCorrectlyBalanced=Движение неправильно сбалансировано. Дебет = %s | Кредит = %s +Balancing=Балансировка +FicheVentilation=Обязательная карта +GeneralLedgerIsWritten=Проводки записываются в бухгалтерскую книгу +GeneralLedgerSomeRecordWasNotRecorded=Некоторые проводки не удалось зарегистрировать. Если других сообщений об ошибках нет, вероятно, они уже были занесены в журнал. +NoNewRecordSaved=Больше нет записей для журналирования +ListOfProductsWithoutAccountingAccount=Список продуктов, не привязанных к какой-либо учетной записи +ChangeBinding=Сменить привязку +Accounted=Учтено в бухгалтерской книге +NotYetAccounted=Еще не учтено в бухгалтерской книге +ShowTutorial=Показать учебник NotReconciled=Не согласовано -WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view +WarningRecordWithoutSubledgerAreExcluded=Внимание! Все операции без определенной учетной записи вспомогательной книги фильтруются и исключаются из этого представления. ## Admin -BindingOptions=Binding options -ApplyMassCategories=Apply mass categories -AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group -CategoryDeleted=Category for the accounting account has been removed +BindingOptions=Варианты переплета +ApplyMassCategories=Применить массовые категории +AddAccountFromBookKeepingWithNoCategories=Доступная учетная запись еще не в персонализированной группе +CategoryDeleted=Категория учетной записи удалена AccountingJournals=Бухгалтерские журналы -AccountingJournal=Accounting journal -NewAccountingJournal=New accounting journal -ShowAccountingJournal=Show accounting journal -NatureOfJournal=Nature of Journal -AccountingJournalType1=Miscellaneous operations +AccountingJournal=Бухгалтерский журнал +NewAccountingJournal=Новый бухгалтерский журнал +ShowAccountingJournal=Показать бухгалтерский журнал +NatureOfJournal=Природа журнала +AccountingJournalType1=Разные операции AccountingJournalType2=Продажи AccountingJournalType3=Покупки AccountingJournalType4=Банк -AccountingJournalType5=Expenses report +AccountingJournalType5=Отчет о расходах AccountingJournalType8=Инвентарная ведомость -AccountingJournalType9=Has-new -ErrorAccountingJournalIsAlreadyUse=This journal is already use -AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu %s - %s -NumberOfAccountancyEntries=Number of entries -NumberOfAccountancyMovements=Number of movements -ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) +AccountingJournalType9=Имеет новый +ErrorAccountingJournalIsAlreadyUse=Этот журнал уже используется +AccountingAccountForSalesTaxAreDefinedInto=Примечание. Бухгалтерский счет для налога с продаж определяется в меню %s - %s +NumberOfAccountancyEntries=Количество входов +NumberOfAccountancyMovements=Количество движений +ACCOUNTING_DISABLE_BINDING_ON_SALES=Отключить привязку и перенос в бухгалтерии по продажам (счета клиентов не будут учитываться в бухгалтерии) +ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Отключить привязку и перенос в бухгалтерии по закупкам (счета поставщика не будут учитываться в бухгалтерии) +ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Отключить привязку и перенос в бухгалтерском учете в отчетах о расходах (отчеты о расходах не будут учитываться в бухгалтерском учете) ## Export -ExportDraftJournal=Export draft journal +NotifiedExportDate=Уведомленная дата экспорта (изменение записей невозможно) +NotifiedValidationDate=Проверка записей (изменение или удаление записей невозможно) +ConfirmExportFile=Подтверждение генерации файла экспорта бухгалтерского учета? +ExportDraftJournal=Экспорт черновика журнала Modelcsv=Модель экспорта Selectmodelcsv=Выбрать модель экспорта Modelcsv_normal=Классический экспорт -Modelcsv_CEGID=Export for CEGID Expert Comptabilité -Modelcsv_COALA=Export for Sage Coala -Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution -Modelcsv_quadratus=Export for Quadratus QuadraCompta -Modelcsv_ebp=Export for EBP -Modelcsv_cogilog=Export for Cogilog -Modelcsv_agiris=Export for Agiris -Modelcsv_LDCompta=Export for LD Compta (v9) (Test) -Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) -Modelcsv_openconcerto=Export for OpenConcerto (Test) -Modelcsv_configurable=Export CSV Configurable -Modelcsv_FEC=Export FEC -Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) -Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland -Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta -Modelcsv_Gestinumv3=Export for Gestinum (v3) -Modelcsv_Gestinumv5Export for Gestinum (v5) -ChartofaccountsId=Chart of accounts Id +Modelcsv_CEGID=Экспорт для CEGID Expert Comptabilité +Modelcsv_COALA=Экспорт для Sage Coala +Modelcsv_bob50=Экспорт для Sage BOB 50 +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) +Modelcsv_quadratus=Экспорт для Quadratus QuadraCompta +Modelcsv_ebp=Экспорт для EBP +Modelcsv_cogilog=Экспорт для Cogilog +Modelcsv_agiris=Экспорт для Agiris +Modelcsv_LDCompta=Экспорт для LD Compta (v9) (Тест) +Modelcsv_LDCompta10=Экспорт для LD Compta (v10 и выше) +Modelcsv_openconcerto=Экспорт для OpenConcerto (Тест) +Modelcsv_configurable=Настраиваемый экспорт CSV +Modelcsv_FEC=Экспорт FEC +Modelcsv_FEC2=Экспорт FEC (с записью генерации дат / обратным документом) +Modelcsv_Sage50_Swiss=Экспорт для Sage 50 Switzerland +Modelcsv_winfic=Экспорт Winfic - eWinfic - WinSis Compta +Modelcsv_Gestinumv3=Экспорт для Gestinum (v3) +Modelcsv_Gestinumv5Export для Gestinum (v5) +ChartofaccountsId=План счетов Id ## Tools - Init accounting account on product / service -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. -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 used for accounting closures. -Options=Options -OptionModeProductSell=Mode sales -OptionModeProductSellIntra=Mode sales exported in EEC -OptionModeProductSellExport=Mode sales exported in other countries -OptionModeProductBuy=Mode purchases -OptionModeProductBuyIntra=Mode purchases imported in EEC -OptionModeProductBuyExport=Mode purchased imported from other countries -OptionModeProductSellDesc=Show all products with accounting account for sales. -OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. -OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. -OptionModeProductBuyDesc=Show all products with accounting account for purchases. -OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. -OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. -CleanFixHistory=Remove accounting code from lines that not exists into charts of account -CleanHistory=Reset all bindings for selected year -PredefinedGroups=Predefined groups -WithoutValidAccount=Without valid dedicated account -WithValidAccount=With valid dedicated account -ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account -AccountRemovedFromGroup=Account removed from group -SaleLocal=Local sale -SaleExport=Export sale -SaleEEC=Sale in EEC -SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. -SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. +InitAccountancy=Бухгалтерский учет +InitAccountancyDesc=Эту страницу можно использовать для инициализации учетной записи для продуктов и услуг, для которой не задана учетная запись для продаж и покупок. +DefaultBindingDesc=Эту страницу можно использовать для установки учетной записи по умолчанию, которая будет использоваться для связывания проводки о выплатах заработной платы, пожертвованиях, налогах и НДС, если конкретная учетная запись еще не была настроена. +DefaultClosureDesc=Эта страница может использоваться для установки параметров, используемых для учета закрытия. +Options=Параметры +OptionModeProductSell=Режим продаж +OptionModeProductSellIntra=Экспорт режима продаж в ЕЭС +OptionModeProductSellExport=Режим продаж экспортируется в другие страны +OptionModeProductBuy=Режим покупок +OptionModeProductBuyIntra=Закупки режима импортированы в ЕЭС +OptionModeProductBuyExport=Куплен режим, импортированный из других стран +OptionModeProductSellDesc=Показать все товары с учетом продаж. +OptionModeProductSellIntraDesc=Показать все товары с учетом продаж в ЕЭС. +OptionModeProductSellExportDesc=Показать все продукты с учетом других зарубежных продаж. +OptionModeProductBuyDesc=Показать все товары с учетом покупок. +OptionModeProductBuyIntraDesc=Показать все товары с учетом покупок в ЕЭС. +OptionModeProductBuyExportDesc=Показать все товары с учетом других зарубежных покупок. +CleanFixHistory=Удалите бухгалтерский код из строк, которых нет в планах счетов. +CleanHistory=Сбросить все привязки для выбранного года +PredefinedGroups=Предопределенные группы +WithoutValidAccount=Без действующей выделенной учетной записи +WithValidAccount=С действующей выделенной учетной записью +ValueNotIntoChartOfAccount=Это значение бухгалтерского счета отсутствует в плане счетов. +AccountRemovedFromGroup=Аккаунт удален из группы +SaleLocal=Местная продажа +SaleExport=Продажа на экспорт +SaleEEC=Продажа в ЕЭС +SaleEECWithVAT=Продажа в ЕЭС с ненулевым НДС, поэтому мы предполагаем, что это НЕ внутриобщинная продажа, а предлагаемая учетная запись является стандартной учетной записью продукта. +SaleEECWithoutVATNumber=Продажа в ЕЭС без НДС, но идентификатор плательщика НДС третьей стороны не определен. Мы возвращаемся к учетной записи продукта для стандартных продаж. При необходимости вы можете исправить идентификатор плательщика НДС третьей стороны или учетную запись продукта. ## Dictionary -Range=Range of accounting account -Calculated=Calculated -Formula=Formula +Range=Диапазон учетной записи +Calculated=Рассчитано +Formula=Формула ## Error -SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them -ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries) -ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice %s, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. -ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. -ExportNotSupported=The export format setuped is not supported into this page -BookeppingLineAlreayExists=Lines already existing into bookkeeping -NoJournalDefined=No journal defined -Binded=Lines bound -ToBind=Lines to bind -UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually +SomeMandatoryStepsOfSetupWereNotDone=Некоторые обязательные шаги настройки не были выполнены, выполните их. +ErrorNoAccountingCategoryForThisCountry=Группа учетных записей недоступна для страны %s (см. Домашняя страница - Настройка - Словари) +ErrorInvoiceContainsLinesNotYetBounded=Вы пытаетесь вести журнал некоторых строк счета-фактуры %s , но некоторые другие строки еще не привязаны к учетному счету. Журналирование всех строк счета-фактуры для этого счета-фактуры отклоняется. +ErrorInvoiceContainsLinesNotYetBoundedShort=Некоторые строки в счете-фактуре не привязаны к бухгалтерскому счету. +ExportNotSupported=Установленный формат экспорта не поддерживается на этой странице +BookeppingLineAlreayExists=Уже существующие строки в бухгалтерском учете +NoJournalDefined=Журнал не определен +Binded=Линии связаны +ToBind=Линии для привязки +UseMenuToSetBindindManualy=Строки еще не связаны, используйте меню %s , чтобы выполнить привязку вручную ## Import ImportAccountingEntries=Бухгалтерские записи -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) -FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) +ImportAccountingEntriesFECFormat=Бухгалтерские записи - формат FEC +FECFormatJournalCode=Журнал кодов (JournalCode) +FECFormatJournalLabel=Этикетка журнала (JournalLib) +FECFormatEntryNum=Количество штук (EcritureNum) +FECFormatEntryDate=Дата выпуска (EcritureDate) +FECFormatGeneralAccountNumber=Общий номер счета (CompteNum) +FECFormatGeneralAccountLabel=Ярлык общего аккаунта (CompteLib) +FECFormatSubledgerAccountNumber=Номер счета вспомогательной книги (CompAuxNum) +FECFormatSubledgerAccountLabel=Номер счета вспомогательной книги (CompAuxLib) +FECFormatPieceRef=Ссылка на штуку (PieceRef) +FECFormatPieceDate=Создание штучной даты (PieceDate) +FECFormatLabelOperation=Метка операции (EcritureLib) +FECFormatDebit=Дебет (дебет) +FECFormatCredit=Кредит (Credit) +FECFormatReconcilableCode=Согласованный код (EcritureLet) +FECFormatReconcilableDate=Дата согласования (DateLet) +FECFormatValidateDate=Дата отправления подтверждена (ValidDate) +FECFormatMulticurrencyAmount=Мультивалютная сумма (Montantdevise) +FECFormatMulticurrencyCode=Мультивалютный код (Idevise) DateExport=Дата экспорта -WarningReportNotReliable=Внимание, этот отчет не основан на Гроссбухе, поэтому не содержит транзакции, измененные вручную в Гроссбухе. Если журналирование актуально, бухгалтерский учет будет более точным. +WarningReportNotReliable=Предупреждение, этот отчет не основан на главной книге, поэтому не содержит проводки, измененных вручную в главной книге. Если ваша журнализация актуальна, бухгалтерский учет будет более точным. ExpenseReportJournal=Журнал отчетов о затратах InventoryJournal=Журнал инвентарного учета -NAccounts=%s accounts +NAccounts=аккаунты %s diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index 527924590a8..8aed2a65e16 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -3,8 +3,8 @@ Foundation=Фонд Version=Версия Publisher=Издатель VersionProgram=Версия программы -VersionLastInstall=Начальная версия установки -VersionLastUpgrade=Обновление до последней версии +VersionLastInstall=Первоначальная версия установки +VersionLastUpgrade=Обновление последней версии VersionExperimental=Экспериментальная VersionDevelopment=Разработка VersionUnknown=Неизвестно @@ -53,6 +53,7 @@ InternalUser=Внутренний пользователь ExternalUser=Внешний пользователь InternalUsers=Внутренние пользователи ExternalUsers=Внешние пользователи +UserInterface=Пользовательский интерфейс GUISetup=Внешний вид SetupArea=Настройка UploadNewTemplate=Загрузить новый шаблон(ы) @@ -64,7 +65,7 @@ RemoveLock=Удалите/переименуйте файл %s, если RestoreLock=Восстановите файл %s с разрешением только для чтение, чтобы отключить дальнейшее использование инструмента обновления/установки. SecuritySetup=Настройка безопасности PHPSetup=Настройка PHP -OSSetup=OS setup +OSSetup=Настройка ОС SecurityFilesDesc=Определите здесь параметры, связанные с безопасностью загрузки файлов. ErrorModuleRequirePHPVersion=Ошибка, этот модуль требует PHP версии %s или выше ErrorModuleRequireDolibarrVersion=Ошибка, этот модуль требует Dolibarr версии %s или выше @@ -78,12 +79,13 @@ DisableJavascriptNote=Примечание. Для тестирования ил UseSearchToSelectCompanyTooltip=Кроме того, если у вас есть большое количество контрагентов (> 100 000), вы можете увеличить скорость, установив постоянную COMPANY_DONOTSEARCH_ANYWHERE на 1 в Настройка-Доп.настройки. Затем поиск будет ограничен началом строки. UseSearchToSelectContactTooltip=Кроме того, если у вас есть большое количество контрагентов (> 100 000), вы можете увеличить скорость, установив постоянную COMPANY_DONOTSEARCH_ANYWHERE на 1 в Настройка-Доп.настройки. Затем поиск будет ограничен началом строки. DelaiedFullListToSelectCompany=Ожидание нажатия клавиши, прежде чем загружать содержимое списка Контрагентов.
    Это может повысить производительность, если у вас много контрагентов, но это менее удобно. -DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient. +DelaiedFullListToSelectContact=Дождитесь нажатия клавиши перед загрузкой содержимого комбинированного списка контактов.
    Это может повысить производительность, если у вас много контактов, но это менее удобно. NumberOfKeyToSearch=Количество символов для запуска поиска: %s NumberOfBytes=Количество байт SearchString=Строка поиска NotAvailableWhenAjaxDisabled=Недоступно при отключенном Ajax AllowToSelectProjectFromOtherCompany=В документе контрагента можно выбрать проект, связанный с другим контрагентом +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript отключен UsePreviewTabs=Использовать вкладки предпросмотра ShowPreview=Предварительный просмотр @@ -107,15 +109,16 @@ NoMaxSizeByPHPLimit=Примечание: в вашей конфигурации MaxSizeForUploadedFiles=Максимальный размер загружаемых файлов (0 для запрещения каких-либо загрузок) UseCaptchaCode=Использовать графический код (CAPTCHA) на странице входа AntiVirusCommand=Полный путь к антивирусной команде -AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusCommandExample=Пример для ClamAv Daemon (требуется clamav-daemon): / usr / bin / clamdscan
    Пример для ClamWin (очень-очень медленный): c: \\ Progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe AntiVirusParam= Дополнительные параметры командной строки -AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Пример для демона ClamAv: --fdpass
    Пример для ClamWin: --database = "C: \\ Program Files (x86) \\ ClamWin \\ lib" ComptaSetup=Настройка модуля бухгалтерского учета UserSetup=Настройка управления пользователями MultiCurrencySetup=Многовалютная настройка MenuLimits=Точность и ограничения MenuIdParent=ID родительского меню DetailMenuIdParent=ID родительского меню (EMPTY для верхнего меню) +ParentID=Parent ID DetailPosition=Порядковый номер меню для определения позиции меню AllMenus=Все NotConfigured=Модуль/Приложение не настроен @@ -157,7 +160,7 @@ SystemToolsAreaDesc=Эта область обеспечивает функци Purge=Очистить PurgeAreaDesc=Эта страница позволяет вам удалить все файлы, созданные или сохраненные Dolibarr (временные файлы или все файлы в каталоге %s ). Использование этой функции обычно не требуется. Он предоставляется в качестве обходного пути для пользователей, чей Dolibarr размещен поставщиком, который не предлагает разрешения на удаление файлов, созданных веб-сервером. PurgeDeleteLogFile=Удаление файлов журналов, включая %s определенный для модуля Syslog (без риска потери данных) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. +PurgeDeleteTemporaryFiles=Удалите все файлы журналов и временные файлы (без риска потери данных). Параметр может быть «tempfilesold», «logfiles» или оба «tempfilesold + logfiles». Примечание. Удаление временных файлов выполняется только в том случае, если временный каталог был создан более 24 часов назад. PurgeDeleteTemporaryFilesShort=Удалите журнал и временные файлы PurgeDeleteAllFilesInDocumentsDir=Удалить все файлы в каталоге: %s .
    Это удалит все сгенерированные документы, связанные с элементами (контрагенты, счета и т.д.), файлы, загруженные в модуль ECM, резервные копии базы данных и временные файлы. PurgeRunNow=Очистить сейчас @@ -207,7 +210,8 @@ FeatureDisabledInDemo=Функция отключена в демо - FeatureAvailableOnlyOnStable=Функция доступна только в официальных стабильных версиях BoxesDesc=Виджеты - это компоненты, показывающие некоторую информацию, которую можно добавить для персонализации некоторых страниц. Вы можете выбрать отображать или нет виджет, выбрав целевую страницу и нажав «Активировать», или щелкнув корзину, чтобы отключить ее. OnlyActiveElementsAreShown=Показаны только элементы из включенных модулей -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc=Модули / приложения определяют, какие функции доступны в программном обеспечении. Некоторые модули требуют предоставления пользователям разрешений после активации модуля. Нажмите кнопку включения / выключения %s каждого модуля, чтобы включить или отключить модуль / приложение. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=В интернете вы можете найти больше модулей для загрузки... ModulesDeployDesc=Если разрешения вашей файловой системе позволяют, вы можете использовать этот инструмент для развертывания внешнего модуля. Модуль будет виден на вкладке %s . ModulesMarketPlaces=Поиск внешних приложений/модулей @@ -221,12 +225,12 @@ NotCompatible=Этот модуль не совместим с вашим Doliba CompatibleAfterUpdate=Этот модуль требует обновления вашего Dolibarr%s (Min%s - Max%s). SeeInMarkerPlace=См. На рынке SeeSetupOfModule=Посмотреть настройку модуля %s +SetOptionTo=Установите параметр %s на %s Updated=Обновлено -Nouveauté=Новое AchatTelechargement=Купить/Скачать GoModuleSetupArea=Чтобы развернуть/установить новый модуль, перейдите в область настройки модуля: %s . DoliStoreDesc=DoliStore, официальный магазин внешних модулей Dolibarr ERP / CRM -DoliPartnersDesc=List of companies providing custom-developed modules or features.
    Note: since Dolibarr is an open source application, anyone experienced in PHP programming should be able to develop a module. +DoliPartnersDesc=Список компаний, предоставляющих индивидуально разработанные модули или функции.
    Примечание: поскольку Dolibarr является приложением с открытым исходным кодом, любой , имеющий опыт программирования на PHP, должен иметь возможность разработать модуль. WebSiteDesc=Внешние веб-сайты для дополнительных модулей (неосновных) ... DevelopYourModuleDesc=Некоторые решения для разработки собственного модуля ... URL=URL @@ -280,7 +284,7 @@ NoticePeriod=Период уведомления NewByMonth=Новые по месяцам Emails=Электронная почта EMailsSetup=Настройка электронной почты -EMailsDesc=This page allows you to set parameters or options for email sending. +EMailsDesc=Эта страница позволяет вам установить параметры или опции для отправки электронной почты. EmailSenderProfiles=Профили отправителей электронной почты EMailsSenderProfileDesc=Вы можете оставить этот раздел пустым. Если вы введете здесь несколько писем, они будут добавлены в список возможных отправителей в поле со списком, когда вы напишите новое письмо. MAIN_MAIL_SMTP_PORT=Порт SMTP/SMTPS (значение по умолчанию в php.ini: %s ) @@ -288,17 +292,17 @@ MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (значение по умолчанию MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=Порт SMTP / SMTPS (не определен в PHP в Unix-подобных системах) MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP / SMTPS Host (не определен в PHP в Unix-подобных системах) MAIN_MAIL_EMAIL_FROM=Адрес электронной почты отправителя для автоматической отправки электронных писем (значение по умолчанию в php.ini: %s ) -MAIN_MAIL_ERRORS_TO=Email used for error returns emails (fields 'Errors-To' in emails sent) +MAIN_MAIL_ERRORS_TO=Электронная почта, использованная для сообщения об ошибке, возвращает сообщения электронной почты (поля "Кому на ошибки" в отправленных сообщениях электронной почты) MAIN_MAIL_AUTOCOPY_TO= Копировать (СК) все отправленные письма в MAIN_DISABLE_ALL_MAILS=Отключить всю отправку электронной почты (для тестирования или демонстрации) MAIN_MAIL_FORCE_SENDTO=Отправляйте все электронные письма (вместо реальных получателей, для целей тестирования) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Предлагать электронные письма сотрудников (если они определены) в список предопределенных получателей при написании нового электронного письма MAIN_MAIL_SENDMODE=Способ отправки электронной почты MAIN_MAIL_SMTPS_ID=SMTP ID (если отправляющий сервер требует аутентификации) MAIN_MAIL_SMTPS_PW=Пароль SMTP (если отправляющий сервер требует аутентификации) MAIN_MAIL_EMAIL_TLS=Использовать шифрование TLS (SSL) MAIN_MAIL_EMAIL_STARTTLS=Использовать шифрование TLS (STARTTLS) -MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés +MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Авторизовать les Certificats auto-signés MAIN_MAIL_EMAIL_DKIM_ENABLED=Используйте DKIM для создания подписи электронной почты MAIN_MAIL_EMAIL_DKIM_DOMAIN=Домен электронной почты для использования с DKIM MAIN_MAIL_EMAIL_DKIM_SELECTOR=Имя селектора DKIM @@ -310,9 +314,9 @@ MAIN_MAIL_DEFAULT_FROMTYPE=Электронная почта отправите UserEmail=Электронная почта пользователя CompanyEmail=Электронная почта компании FeatureNotAvailableOnLinux=Функция недоступна на Unix подобных систем. Проверьте вашу программу для отправки почты локально. -FixOnTransifex=Fix the translation on the online translation platform of project +FixOnTransifex=Исправить перевод на платформе онлайн-перевода проекта SubmitTranslation=Если перевод для этого языка не завершен или вы обнаружили ошибки, вы можете исправить это, отредактировав файлы в каталоге langs / %s и отправив свое изменение по адресу www.transifex.com/dolibarr-association/dolibarr/ -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or, if you are a developer, with a PR on github.com/Dolibarr/dolibarr +SubmitTranslationENUS=Если перевод для этого языка не завершен или вы обнаружите ошибки, вы можете исправить это, отредактировав файлы в каталоге langs / %s и отправив измененные файлы на dolibarr.org/forum или, если вы разработчик, с PR на github. .com / Dolibarr / dolibarr ModuleSetup=Настройка модуля ModulesSetup=Настройка Модулей/Приложений ModuleFamilyBase=Система @@ -342,7 +346,7 @@ SetupIsReadyForUse=Развертывание модуля завершено. NotExistsDirect=Альтернативная корневая директория не задана.
    InfDirAlt=Начиная с 3-ей версии, можно определить альтернативный корневой каталог. Это позволяет вам хранить в специальном каталоге, плагины и настраиваемые шаблоны.
    Просто создайте каталог в корне Dolibarr (например: custom).
    InfDirExample=
    Затем объявите его в файле conf.php
    $dolibarr_main_url_root_alt = '/custom'
    $dolibarr_main_document_root_alt ='/path/of/dolibarr/htdocs/custom'
    Если эти строки комментируются с помощью ''#", чтобы включить их, просто раскомментируйте, удалив символ "#''. -YouCanSubmitFile=You can upload the .zip file of module package from here: +YouCanSubmitFile=Вы можете загрузить ZIP-файл пакета модуля отсюда: CurrentVersion=Текущая версия Dolibarr CallUpdatePage=Перейдите на страницу, которая обновляет структуру базы данных и данные: %s. LastStableVersion=Последняя стабильная версия @@ -351,10 +355,10 @@ LastActivationAuthor=Последний активированный автор LastActivationIP=Последний активированный IP-адрес UpdateServerOffline=Сервер обновления недоступен WithCounter=Управление счетчиком -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes=Вы можете ввести любую маску нумерации. В этой маске можно использовать следующие теги:
    {000000} соответствует числу, которое будет увеличиваться на каждом %s. Введите столько нулей, сколько желаемая длина счетчика. Счетчик будет дополнен нулями слева, чтобы было столько же нулей, сколько в маске.
    {000000 + 000} То же, что и предыдущий, но смещение, соответствующее числу справа от знака +, применяется, начиная с первого %s.
    {000000 @ x} То же, что и предыдущий, но счетчик сбрасывается на ноль при достижении месяца x (x от 1 до 12, или 0 для использования первых месяцев финансового года, определенных в вашей конфигурации, или от 99 до сбрасывать на ноль каждый месяц). Если используется этот параметр и x равно 2 или больше, то также требуется последовательность {yy} {mm} или {yyyy} {mm}.
    {dd} день (с 01 по 31).
    {mm} месяц (с 01 по 12).
    {yy} , {yyyy} или {yb} 1398 или более 2-х годов, 1398 или 2 года, более 217a4.
    +GenericMaskCodes2= {cccc} код клиента, состоящий из n символов
    {cccc000} a09a4b739f, после кода клиента следует код клиента. Этот счетчик, предназначенный для клиента, сбрасывается одновременно с глобальным счетчиком.
    {tttt} Код стороннего типа, состоящий из n символов (см. меню Главная - Настройка - Словарь - Типы третьих лиц). Если вы добавите этот тег, счетчик будет отличаться для каждого типа третьей стороны.
    GenericMaskCodes3=Все остальные символы в маске останутся нетронутыми.
    Пробелы не допускается.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    +GenericMaskCodes3EAN=Все остальные символы в маске останутся неизменными (кроме * или? В 13-й позиции в EAN13).
    Пробелы не допускаются.
    В EAN13 последний символ после последнего} в 13-й позиции должен быть * или? . Он будет заменен рассчитанным ключом.
    GenericMaskCodes4a= Пример для 99-го %s контрагента Компании с датой 2007-01-31:
    GenericMaskCodes4b=Пример контрагента созданного 2007-03-01:
    GenericMaskCodes4c=Пример товара созданного 2007-03-01:
    @@ -382,7 +386,7 @@ ExamplesWithCurrentSetup=Примеры с текущей конфигураци ListOfDirectories=Список каталогов с шаблонами OpenDocument ListOfDirectoriesForModelGenODT=Список каталогов, содержащих файлы шаблонов в формате OpenDocument.

    Укажите здесь полный путь к каталогу.
    Каждый каталог с новой строки.
    Чтобы добавить каталог GED-модуля, добавьте здесь DOL_DATA_ROOT/ecm/yourdirectoryname .

    Файлы в этих каталогах должны заканчиваться на .odt или .ods . NumberOfModelFilesFound=Количество файлов шаблонов ODT/ODS, найденных в этих каталогах -ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\myapp\\mydocumentdir\\mysubdir
    /home/myapp/mydocumentdir/mysubdir
    DOL_DATA_ROOT/ecm/ecmdir +ExampleOfDirectoriesForModelGen=Примеры синтаксиса:
    c: \\ myapp \\ mydocumentdir \\ mysubdir
    / home / myapp / mydocumentdir / mysubdir
    DOL_DATA_ROOT / ecm / ecmdir FollowingSubstitutionKeysCanBeUsed=
    Прежде чем сохранить шаблоны в этих каталогах прочитайте документацию на Wiki чтобы узнать, как создать свой шаблоны ODT документов: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template FirstnameNamePosition=Расположение Имени / Фамилиии @@ -398,12 +402,13 @@ ModuleMustBeEnabledFirst=Для использования этой функци SecurityToken=Ключ для шифрования URL-адресов NoSmsEngine=Менеджер отправления SMS недоступен. Диспетчер отправления SMS не устанавливается вместе с дистрибутивом по умолчанию, поскольку он зависит от внешнего поставщика, но некоторые из них можно найти на %s. PDF=PDF -PDFDesc=Global options for PDF generation -PDFAddressForging=Rules for address section +PDFDesc=Глобальные параметры для создания PDF +PDFOtherDesc=Вариант PDF, специфичный для некоторых модулей +PDFAddressForging=Правила для адресного раздела HideAnyVATInformationOnPDF=Скрыть всю информацию, связанную с налогом с продаж / НДС PDFRulesForSalesTax=Правила для налога с продаж/НДС PDFLocaltax=Правила для %s -HideLocalTaxOnPDF=Hide %s rate in column Sale Tax / VAT +HideLocalTaxOnPDF=Скрыть ставку %s в столбце Налог с продаж / НДС HideDescOnPDF=Скрыть описание товара HideRefOnPDF=Скрыть ссылки на продукты. HideDetailsOnPDF=Скрыть детали о линейки продуктов @@ -413,16 +418,16 @@ UrlGenerationParameters=Параметры безопасных URL`ов SecurityTokenIsUnique=Использовать уникальный параметр securekey для каждого URL EnterRefToBuildUrl=Введите ссылку на объект %s GetSecuredUrl=Получить рассчитанный URL -ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise) +ButtonHideUnauthorized=Скрыть кнопки неавторизованных действий также для внутренних пользователей (в противном случае они будут выделены серым цветом) OldVATRates=Предыдущее значение НДС NewVATRates=Новое значение НДС PriceBaseTypeToChange=Изменять базовые цены на определенную величину MassConvert=Запустить пакетное преобразование -PriceFormatInCurrentLanguage=Price Format In Current Language +PriceFormatInCurrentLanguage=Формат цены на текущем языке String=Строка -String1Line=String (1 line) +String1Line=Строка (1 строка) TextLong=Длинный текст -TextLongNLines=Long text (n lines) +TextLongNLines=Длинный текст (n строк) HtmlText=Html текст Int=Целое Float=С плавающей запятой @@ -442,17 +447,17 @@ ExtrafieldCheckBox=Флажок ExtrafieldCheckBoxFromList=Флажки из таблицы ExtrafieldLink=Ссылка на объект ComputedFormula=Вычисленное поле -ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

    Example of formula:
    $object->id < 10 ? round($object->id / 2, 2): ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)

    Example to reload object
    (($reloadedobj = new Societe($db)) && ($reloadedobj->fetchNoCompute($obj->id ? $obj->id: ($obj->rowid ? $obj->rowid: $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5: '-1'

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' +ComputedFormulaDesc=Вы можете ввести здесь формулу, используя другие свойства объекта или любую кодировку PHP, чтобы получить динамическое вычисленное значение. Вы можете использовать любые PHP-совместимые формулы, включая знак "?" оператор условия и следующий глобальный объект: $ db, $ conf, $ langs, $ mysoc, $ user, $ object .
    ПРЕДУПРЕЖДЕНИЕ : могут быть доступны только некоторые свойства объекта $. Если вам нужны не загруженные свойства, просто выберите объект в формулу, как во втором примере.
    Использование вычисляемого поля означает, что вы не можете ввести себе какое-либо значение из интерфейса. Кроме того, в случае синтаксической ошибки формула может ничего не вернуть.

    Пример формулы:
    $ object-> id < 10 ? round($object-> id / 2, 2): ($ object-> id + 2 * $ user-> id) * (int) substr ($ mysoc-> zip, 1 )

    Пример перезагрузки объекта
    (($ reloadedobj = new Societe ($ db)) && ($ reloadedobj-> fetchNoCompute ($ obj-> id? $ obj-> id-> $ obj > rowid: $ object-> id))> 0))? $ reloadedobj-> array_options ['options_extrafieldkey'] * $ reloadedobj-> capital / 5: '-1'

    Другой пример формулы для принудительной загрузки объекта и его родительского объекта:
    (($ reloadedobjb = new )) && ($ reloadedobj-> fetchNoCompute ($ object-> id)> 0) && ($ secondloadedobj = новый проект ($ db)) && ($ secondloadedobj-> fetchNoCompute ($ reloadedobj-> fk_project)> 0))? $ secondloadedobj-> ref: 'Родительский проект не найден' Computedpersistent=Сохранить вычисленное поле ComputedpersistentDesc=Вычисленные дополнительные поля будут сохранены в базе данных, однако значение будет пересчитано только при изменении объекта этого поля. Если вычисляемое поле зависит от других объектов или глобальных данных, это значение может быть неправильным!! ExtrafieldParamHelpPassword=Оставьте это поле пустым, чтобы значение хранилось без шифрования (поле должно быть скрыто только звездочкой на экране).
    Установите 'auto', чтобы использовать правило шифрования по умолчанию для сохранения пароля в базе данных (тогда считываемое значение будет только хешем, никакой возможности восстановить исходное значение) ExtrafieldParamHelpselect=Список значений должен быть строками формата: ключ, значение (где ключ не может быть равен 0)

    например:
    1, значение1
    2, значение2
    code3, значение3
    ...

    Чтобы иметь список в зависимости от другого списка дополнительных атрибутов:
    1, значение1|options_ parent_list_code : parent_key
    2, значение2|options_ parent_list_code : parent_key

    Чтобы иметь список в зависимости от другого списка:
    1, значение1 | parent_list_code : parent_key
    2, значение2 | parent_list_code : parent_key ExtrafieldParamHelpcheckbox=Список значений должен быть строками с форматом: ключ, значение (где ключ не может быть равен 0)

    например:
    1, значение1
    2, значение2
    3, значение3
    ... ExtrafieldParamHelpradio=Список значений должен быть строками с форматом: ключ, значение (где ключ не может быть равен 0)

    например:
    1, значение1
    2, значение2
    3, значение3
    ... -ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
    Syntax: ObjectName:Classpath -ExtrafieldParamHelpSeparator=Keep empty for a simple separator
    Set this to 1 for a collapsing separator (open by default for new session, then status is kept for each user session)
    Set this to 2 for a collapsing separator (collapsed by default for new session, then status is kept fore each user session) +ExtrafieldParamHelpsellist=Список значений берется из таблицы
    Синтаксис: имя_таблицы: label_field: id_field :: Filtersql
    Пример: c_typent: libelle: id :: filtersql
    a0342fccfda19bccfz0 a0342fccfda19bccfz0 - условие ключевого слова a0342fccfda19bccfz0 - id_field является основным параметром SQL. Это может быть простой тест (например, active = 1) для отображения только активного значения
    Вы также можете использовать $ ID $ в фильтре, который является текущим идентификатором текущего объекта
    Чтобы использовать SELECT в фильтре, используйте ключевое слово $ SEL $ для обход защиты от инъекций.
    , если вы хотите выполнить фильтрацию по дополнительным полям, используйте синтаксис extra.fieldcode = ... (где код поля - это код дополнительного поля)

    Чтобы список зависел от другого дополнительного списка атрибутов:
    c_tyle :pent parent_list_code | parent_column: filter

    Чтобы список зависел от другого списка, выполните следующие действия: +ExtrafieldParamHelpchkbxlst=Список значений взят из таблицы
    Синтаксис: имя_таблицы: label_field: id_field :: Filtersql
    Пример: c_typent: libelle: id :: filtersql

    filter может быть активным только значение 1 test = Active также можно использовать $ ID $ в фильтре, ведь это текущий идентификатор текущего объекта. код extrafield)

    для того, чтобы иметь список в зависимости от другого списка дополнительного атрибута:
    c_typent: Libelle: ID: options_ parent_list_code | parent_column: фильтр

    для того, чтобы иметь список в зависимости от другого списка:
    c_typent: libelle: id: parent_list_code | parent_column: фильтр +ExtrafieldParamHelplink=Параметры должны быть ObjectName: Classpath
    Синтаксис: ObjectName: Classpath +ExtrafieldParamHelpSeparator=Оставить пустым для простого разделителя
    Установите для этого разделителя значение 1 (по умолчанию открыто для нового сеанса, затем статус сохраняется для каждого сеанса пользователя)
    Установите значение 2 для сжимающегося разделителя (по умолчанию свернуто для нового сеанса, затем статус сохраняется для каждой пользовательской сессии) LibraryToBuildPDF=Библиотека используемая для создания PDF-файлов LocalTaxDesc=Некоторые страны могут применять два или три налога на каждую позицию счета. Если это так, выберите тип второго и третьего налога и его ставку. Возможные типы:
    1: местный налог применяется к продуктам и услугам без НДС (местный налог рассчитывается на сумму без налога)
    2: местный налог применяется к продуктам и услугам, включая НДС (местный налог рассчитывается на сумму + основной налог)
    3: местный налог применяется к продуктам без НДС (местный налог рассчитывается на сумму без налога)
    4: местный налог применяется к продуктам, включая НДС (местный налог рассчитывается на сумму + основной НДС)
    5: местный налог применяется к услугам без НДС (местный налог рассчитывается на сумму без налога)
    6: местный налог применяется к услугам, включая НДС (местный налог рассчитывается на сумму + налог) SMS=SMS @@ -460,12 +465,12 @@ LinkToTestClickToDial=Введите номер телефона для отоб RefreshPhoneLink=Обновить ссылку LinkToTest=Ссылка создана для пользователя %s (нажмите на телефонный номер, чтобы протестировать) KeepEmptyToUseDefault=Оставьте пустым для использования значения по умолчанию -KeepThisEmptyInMostCases=In most cases, you can keep this field empy. +KeepThisEmptyInMostCases=В большинстве случаев вы можете оставить это поле пустым. DefaultLink=Ссылка по умолчанию SetAsDefault=Установить по умолчанию ValueOverwrittenByUserSetup=Предупреждение: это значение может быть перезаписано в настройках пользователя (каждый пользователь может задать свои настройки ссылки ClickToDial) -ExternalModule=External module -InstalledInto=Installed into directory %s +ExternalModule=Внешний модуль +InstalledInto=Установлен в каталог %s BarcodeInitForThirdparties=Массовая инициализация штрих-кода для контрагентов BarcodeInitForProductsOrServices=Массовое создание или удаление штрих-кода для Товаров или Услуг CurrentlyNWithoutBarCode=В настоящее время у вас есть %sзапись на %s%s без определенного штрих-кода. @@ -484,18 +489,18 @@ EnableAndSetupModuleCron=Если вы хотите, чтобы этот пов ModuleCompanyCodeCustomerAquarium=%s, за которым следует код клиента для кода учетной записи клиента ModuleCompanyCodeSupplierAquarium=%s, за которым следует код поставщика для кода учетной записи поставщика ModuleCompanyCodePanicum=Верните пустой учетный код. -ModuleCompanyCodeDigitaria=Returns a compound accounting code according to the name of the third party. The code consists of a prefix that can be defined in the first position followed by the number of characters defined in the third party code. -ModuleCompanyCodeCustomerDigitaria=%s followed by the truncated customer name by the number of characters: %s for the customer accounting code. -ModuleCompanyCodeSupplierDigitaria=%s followed by the truncated supplier name by the number of characters: %s for the supplier accounting code. +ModuleCompanyCodeDigitaria=Возвращает составной бухгалтерский код в соответствии с именем третьей стороны. Код состоит из префикса, который может быть определен в первой позиции, за которым следует количество символов, определенных в стороннем коде. +ModuleCompanyCodeCustomerDigitaria=%s, за которым следует усеченное имя клиента с указанием количества символов: %s для кода учета клиента. +ModuleCompanyCodeSupplierDigitaria=%s, за которым следует усеченное имя поставщика с указанием количества символов: %s для бухгалтерского кода поставщика. Use3StepsApproval=По умолчанию заказы на поставку должны быть созданы и одобрены двумя разными пользователями (один шаг/пользователь для создания и один шаг/пользователь для одобрения. Обратите внимание, что если у пользователя есть как разрешение на создание и утверждение, достаточно одного шага/пользователя) , Вы можете задать эту опцию, чтобы ввести утверждение третьего шага/пользователя, если сумма превышает выделенное значение (так что потребуется 3 шага: 1 = валидация, 2 = первое утверждение и 3 = второе одобрение, если суммы достаточно).
    Установите это для пустого, если достаточно одного утверждения (2 шага), установите его на очень низкое значение (0,1), если требуется второе утверждение (3 шага). UseDoubleApproval=Используйте одобрение на 3 шага, когда сумма (без налога) выше ... -WarningPHPMail=WARNING: The setup to send emails from the application is using the default generic setup. It is often better to setup outgoing emails to use the email server of your Email Service Provider instead of the default setup for several reasons: -WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM -WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). -WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. -WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. +WarningPHPMail=ВНИМАНИЕ! Для отправки электронных писем из приложения используется стандартная общая настройка. Часто лучше настроить исходящие электронные письма для использования почтового сервера вашего поставщика услуг электронной почты вместо настройки по умолчанию по нескольким причинам: +WarningPHPMailA=- Использование сервера поставщика услуг электронной почты повышает надежность вашей электронной почты, поэтому она увеличивает доставку без пометки как спам +WarningPHPMailB=- Некоторые поставщики услуг электронной почты (например, Yahoo) не позволяют отправлять электронную почту с другого сервера, кроме их собственного. Ваша текущая настройка использует сервер приложения для отправки электронной почты, а не сервер вашего провайдера электронной почты, поэтому некоторые получатели (тот, который совместим с ограничительным протоколом DMARC) будут спрашивать вашего провайдера электронной почты, могут ли они принять вашу электронную почту, и некоторые поставщики электронной почты. (например, Yahoo) могут ответить «нет», потому что сервер им не принадлежит, поэтому некоторые из отправленных вами электронных писем могут быть не приняты для доставки (будьте осторожны также с квотой отправки вашего почтового провайдера). +WarningPHPMailC=- Использование SMTP-сервера вашего собственного поставщика услуг электронной почты для отправки электронных писем также интересно, поэтому все электронные письма, отправленные из приложения, также будут сохранены в вашем каталоге «Отправленные» вашего почтового ящика. +WarningPHPMailD=Если метод «PHP Mail» действительно является тем методом, который вы хотели бы использовать, вы можете удалить это предупреждение, добавив константу MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP к 1 в Home - Setup - Other. WarningPHPMail2=Если вашему SMTP-провайдеру электронной почты необходимо ограничить почтовый клиент некоторыми IP-адресами (это очень редко), это IP-адрес почтового пользователя (MUA) для вашего приложения ERP CRM: %s. -WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. +WarningPHPMailSPF=Если доменное имя в вашем адресе электронной почты отправителя защищено записью SPF (спросите у регистратора доменного имени), вы должны добавить следующие IP-адреса в запись SPF DNS вашего домена: %s . ClickToShowDescription=Нажмите, чтобы посмотреть описание DependsOn=Этот модуль нуждается в модуле (модулях) RequiredBy=Этот модуль требуется для модуля (модулей) @@ -543,11 +548,11 @@ Module25Desc=Управление заказами на продажу Module30Name=Счета-фактуры Module30Desc=Управление счетами и кредитными авизо для клиентов. Управление счетами и кредитными авизо для поставщиков Module40Name=Поставщики -Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) +Module40Desc=Продавцы и управление закупками (заказы на поставку и выставление счетов поставщикам) Module42Name=Отчет об ошибках Module42Desc=Средства регистрации (file, syslog, ...). Такие журналы предназначены для технических/отладочных целей. -Module43Name=Debug Bar -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Name=Панель отладки +Module43Desc=Инструмент для разработчика, добавляющий панель отладки в ваш браузер. Module49Name=Редакторы Module49Desc=Управления редактором Module50Name=Продукция @@ -555,21 +560,21 @@ Module50Desc=Управление продуктами Module51Name=Массовые рассылки Module51Desc=Управление массовыми бумажными отправлениями Module52Name=Акции -Module52Desc=Stock management +Module52Desc=Управление запасами Module53Name=Услуги Module53Desc=Управление Услугами Module54Name=Контакты/Подписки Module54Desc=Управление контрактами (услуги или периодические подписки) Module55Name=Штрих-коды -Module55Desc=Управление штрих-кодами -Module56Name=Payment by credit transfer -Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. -Module57Name=Payments by Direct Debit -Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. +Module55Desc=Управление штрих-кодом или QR-кодом +Module56Name=Оплата кредитным переводом +Module56Desc=Управление оплатой поставщиков по кредитным переводам. Он включает создание файла SEPA для европейских стран. +Module57Name=Платежи прямым дебетом +Module57Desc=Управление распоряжениями прямого дебетования. Он включает создание файла SEPA для европейских стран. Module58Name=ClickToDial Module58Desc=Интеграция с системами НажатьДляЗвонка (Asterisk, ...) -Module60Name=Stickers -Module60Desc=Management of stickers +Module60Name=Наклейки +Module60Desc=Управление стикерами Module70Name=Проектные работы Module70Desc=Управление мероприятиями Module75Name=Транспортные расходы @@ -587,9 +592,9 @@ Module200Desc=Синхронизация каталогов LDAP Module210Name=PostNuke Module210Desc=Интергация с PostNuke Module240Name=Экспорт данных -Module240Desc=Tool to export Dolibarr data (with assistance) +Module240Desc=Инструмент для экспорта данных Dolibarr (с помощью) Module250Name=Импорт данных -Module250Desc=Tool to import data into Dolibarr (with assistance) +Module250Desc=Инструмент для импорта данных в Dolibarr (с помощью) Module310Name=Участники Module310Desc=Управление участниками фонда Module320Name=RSS-канал @@ -606,7 +611,7 @@ Module510Name=Зарплаты Module510Desc=Записывать и отслеживать выплаты сотрудникам Module520Name=Ссуды Module520Desc=Управление ссудами -Module600Name=Notifications on business event +Module600Name=Уведомления о деловом мероприятии Module600Desc=Отправка уведомлений по электронной почте, инициированных бизнес-событием: для каждого пользователя (настройка, определенная для каждого пользователя), для сторонних контактов (настройка, определенная для каждого контрагента) или для определенных электронных писем Module600Long=Обратите внимание, что этот модуль отправляет электронные письма в режиме реального времени, когда происходит определенное деловое событие. Если вы ищете функцию для отправки напоминаний по электронной почте для событий в повестке дня, перейдите к настройке модуля Agenda. Module610Name=Варианты продукта @@ -647,15 +652,15 @@ Module2900Desc=Подключение к службе GeoIP MaxMind для пр Module3200Name=Неограниченные архивы Module3200Desc=Включите неизменяемый журнал деловых событий. События архивируются в режиме реального времени. Журнал представляет собой доступную только для чтения таблицу связанных событий, которые можно экспортировать. Этот модуль может быть обязательным для некоторых стран. Module3400Name=Социальные сети -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3400Desc=Включите поля социальных сетей в третьи стороны и адреса (скайп, твиттер, фейсбук, ...). Module4000Name=Управление персоналом Module4000Desc=Управление персоналом (управление отделом, контракты и чувства сотрудников) Module5000Name=Группы компаний Module5000Desc=Управление группами компаний -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module6000Name=Межмодульный рабочий процесс +Module6000Desc=Управление рабочим процессом между различными модулями (автоматическое создание объекта и / или автоматическое изменение статуса) Module10000Name=Веб-сайты -Module10000Desc=Create websites (public) with a WYSIWYG editor. This is a webmaster or developer oriented CMS (it is better to know HTML and CSS language). Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. +Module10000Desc=Создавайте веб-сайты (общедоступные) с помощью редактора WYSIWYG. Это CMS, ориентированная на веб-мастеров или разработчиков (лучше знать язык HTML и CSS). Просто настройте свой веб-сервер (Apache, Nginx, ...) так, чтобы он указывал на выделенный каталог Dolibarr, чтобы он был в сети в Интернете с вашим собственным доменным именем. Module20000Name=Управление запросами на отпуск Module20000Desc=Определить и отслеживать запросы сотрудников на отпуск Module39000Name=Товарные партии @@ -667,19 +672,19 @@ Module50000Desc=Предложите покупателям страницу о Module50100Name=POS SimplePOS Module50100Desc=Модуль торговой точки SimplePOS (простой POS). Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Модуль торговой точки TakePOS (кассовый терминал с сенсорным экраном, для магазинов, баров или ресторанов). Module50200Name=Paypal Module50200Desc=Предложите клиентам страницу онлайн-платежей PayPal (учетная запись PayPal или кредитные / дебетовые карты). Это может быть использовано, чтобы позволить вашим клиентам осуществлять специальные платежи или платежи, связанные с конкретным объектом Dolibarr (счет, заказ и т. д.) -Module50300Name=Stripe +Module50300Name=Полоса Module50300Desc=Предложите клиентам страницу онлайн-оплаты Stripe (кредитные / дебетовые карты). Это может быть использовано, чтобы позволить вашим клиентам осуществлять специальные платежи или платежи, связанные с конкретным объектом Dolibarr (счет, заказ и т. д.) Module50400Name=Бухгалтерский учет (двойная запись) -Module50400Desc=Accounting management (double entries, support General and Subsidiary Ledgers). Export the ledger in several other accounting software formats. +Module50400Desc=Ведение бухгалтерского учета (двойные записи, поддержка Главной и вспомогательной бухгалтерских книг). Экспортируйте бухгалтерскую книгу в несколько других форматов бухгалтерского программного обеспечения. Module54000Name=Модуль PrintIPP Module54000Desc=Прямая печать (без открытия документов) с использованием интерфейса Cups IPP (принтер должен быть виден с сервера, а CUPS должен быть установлен на сервере). Module55000Name=Голосование, обзор или голосование Module55000Desc=Создавайте онлайн-опросы, обзоры или голосования (например, Doodle, Studs, RDVz и т. Д.) Module59000Name=Наценки -Module59000Desc=Module to follow margins +Module59000Desc=Модуль для отслеживания полей Module60000Name=Комиссии Module60000Desc=Модуль управления комиссиями Module62000Name=Обязанности по доставке товаров @@ -688,7 +693,7 @@ Module63000Name=Ресурсы Module63000Desc=Управление ресурсами (принтеры, машины, комнаты, ...) для распределения на события Permission11=Просмотр счетов-фактур клиентов Permission12=Создание/Изменение счета-фактуры -Permission13=Invalidate customer invoices +Permission13=Аннулирование счетов-фактур клиентов Permission14=Проверка счета-фактуры Permission15=Отправить по почте счета-фактуры Permission16=Создать платежи счетов-фактур @@ -705,7 +710,7 @@ Permission32=Создание / изменение продукции / услу Permission34=Удаленные продукция / услуги Permission36=Просмотр / управление скрытой продукцией / услугами Permission38=Экспорт продукции -Permission39=Ignore minimum price +Permission39=Игнорировать минимальную цену Permission41=Просмотрите проекты и задачи (общий проект и мои проекты). Можно также ввести время, затраченное на вас или ваших подчиненных, на назначенные задачи (расписание) Permission42=Создание/изменение проектов (общий и мои проекты). Может также создавать задачи и назначать пользователей для проекта и задач Permission44=Удалить проекты (общие и мои проекты) @@ -714,9 +719,9 @@ Permission61=Смотреть мероприятия Permission62=Создание / измение мероприятий Permission64=Удаление мероприятий Permission67=Экспорт мероприятий -Permission68=Send interventions by email -Permission69=Validate interventions -Permission70=Invalidate interventions +Permission68=Отправляйте сообщения по электронной почте +Permission69=Подтвердите вмешательства +Permission70=Недействительные вмешательства Permission71=Смотреть участников Permission72=Создать / изменить участников Permission74=Удалить участников @@ -739,7 +744,7 @@ Permission95=Смотреть отчеты Permission101=Смотреть отправки Permission102=Создать / изменить отправки Permission104=Проверка отправок -Permission105=Send sendings by email +Permission105=Отправлять рассылки по электронной почте Permission106=Экспортировать отправки Permission109=Удалить отправки Permission111=Читать финансовую отчетность @@ -784,7 +789,7 @@ Permission187=Закрыть заказы на покупку Permission188=Отменить заказы на покупку Permission192=Создать строки Permission193=Отмена строк -Permission194=Read the bandwidth lines +Permission194=Прочтите строки пропускной способности Permission202=Создать ADSL соединения Permission203=Заказ соединения заказов Permission204=Заказ подключений @@ -814,8 +819,8 @@ PermissionAdvanced253=Создать / изменить внутренних / Permission254=Создать / изменить только внешних пользователей Permission255=Изменить пароли других пользователей Permission256=Удалить или отключить других пользователей -Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission262=Расширить доступ ко всем третьим лицам И их объектам (не только третьим лицам, для которых пользователь является торговым представителем).
    Не действует для внешних пользователей (всегда ограничивается только ими самими для предложений, заказов, счетов-фактур, контрактов и т. д.).
    Не действует для проектов (имеют значение только правила, касающиеся разрешений, видимости и назначения проектов). +Permission263=Расширить доступ для всех третьих лиц БЕЗ их объектов (не только третьим лицам, для которых пользователь является торговым представителем).
    Не действует для внешних пользователей (всегда ограничивается только ими самими для предложений, заказов, счетов-фактур, контрактов и т. д.).
    Не действует для проектов (имеют значение только правила, касающиеся разрешений, видимости и назначения проектов). Permission271=Читать CA Permission272=Читать счета Permission273=Выпуск счетов @@ -848,10 +853,10 @@ Permission402=Создать / изменить скидки Permission403=Проверить скидки Permission404=Удалить скидки Permission430=Использовать панель отладки -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Создание/изменение выплат зарплат -Permission514=Удалить выплаты зарплаты -Permission517=Read payments of salaries of everybody +Permission511=Читайте зарплаты и выплаты (ваши и подчиненные) +Permission512=Создавать / изменять зарплаты и выплаты +Permission514=Удалить зарплаты и выплаты +Permission517=Всем читать зарплаты и выплаты Permission519=Экспорт зарплат Permission520=Открыть ссуды Permission522=Создать/изменить ссуды @@ -863,19 +868,19 @@ Permission532=Создать / изменить услуги Permission534=Удаление услуг Permission536=Смотреть / Управлять скрытыми услугами Permission538=Экспорт услуг -Permission561=Read payment orders by credit transfer -Permission562=Create/modify payment order by credit transfer -Permission563=Send/Transmit payment order by credit transfer -Permission564=Record Debits/Rejections of credit transfer -Permission601=Read stickers -Permission602=Create/modify stickers -Permission609=Delete stickers +Permission561=Чтение платежных поручений по кредитному переводу +Permission562=Создание / изменение платежного поручения с помощью кредитного перевода +Permission563=Отправка / передача платежного поручения с помощью кредитного перевода +Permission564=Записывать дебет / отказ в переводе кредита +Permission601=Читать стикеры +Permission602=Создавать / изменять стикеры +Permission609=Удалить стикеры Permission650=Просмотр ведомости материалов Permission651=Создание/обновление ведомостей материалов Permission652=Удалить списки материалов -Permission660=Read Manufacturing Order (MO) -Permission661=Create/Update Manufacturing Order (MO) -Permission662=Delete Manufacturing Order (MO) +Permission660=Прочитать производственный заказ (MO) +Permission661=Создание / обновление производственного заказа (MO) +Permission662=Удалить производственный заказ (MO) Permission701=Просмотр пожертвований Permission702=Создание / изменение пожертвований Permission703=Удаление пожертвований @@ -885,18 +890,18 @@ Permission773=Удаление отчётов о затратах Permission774=Просмотр всех отчётов о затратах (даже для неподчинённых пользователей) Permission775=Утвердить отчёты о расходах Permission776=Оплата отчётов о затратах -Permission777=Read expense reports of everybody -Permission778=Create/modify expense reports of everybody +Permission777=Читайте отчеты о расходах всех +Permission778=Создавать / изменять отчеты о расходах для всех Permission779=Экспорт отчётов о затратах Permission1001=Просмотр запасов Permission1002=Создать/изменить склады Permission1003=Удалить склады Permission1004=Просмотр перемещений по складу Permission1005=Создание / изменение перемещений на складе -Permission1101=Read delivery receipts -Permission1102=Create/modify delivery receipts -Permission1104=Validate delivery receipts -Permission1109=Delete delivery receipts +Permission1101=Прочитать квитанции о доставке +Permission1102=Создание / изменение квитанций о доставке +Permission1104=Подтвердите квитанции о доставке +Permission1109=Удалить квитанции о доставке Permission1121=Просмотр предложения поставщиков Permission1122=Создание/изменение предложений поставщиков Permission1123=Проверить предложения поставщика @@ -911,9 +916,9 @@ Permission1185=Утвердить заказы на покупку Permission1186=Заказать заказы на покупку Permission1187=Подтвердить получение заказов на покупку Permission1188=Удалить заказы на покупку -Permission1189=Check/Uncheck a purchase order reception +Permission1189=Установите / снимите отметку с получения заказа на покупку Permission1190=Утвердить (второе утверждение) заказы на покупку -Permission1191=Export supplier orders and their attributes +Permission1191=Экспорт заказов поставщиков и их атрибутов Permission1201=Получите результат экспорта Permission1202=Создание / Изменение экспорта Permission1231=Просмотреть счета поставщиков @@ -927,11 +932,11 @@ Permission1251=Запуск массового импорта внешних д Permission1321=Экспорт клиентом счета-фактуры, качества и платежей Permission1322=Повторно открыть оплаченный счет Permission1421=Экспорт заказов на продажу и атрибутов -Permission1521=Read documents -Permission1522=Delete documents -Permission2401=Read actions (events or tasks) linked to his user account (if owner of event or just assigned to) -Permission2402=Create/modify actions (events or tasks) linked to his user account (if owner of event) -Permission2403=Delete actions (events or tasks) linked to his user account (if owner of event) +Permission1521=Читать документы +Permission1522=Удалить документы +Permission2401=Читать действия (события или задачи), связанные с его учетной записью пользователя (если он является владельцем события или только что назначен) +Permission2402=Создавать / изменять действия (события или задачи), связанные с его учетной записью пользователя (если владелец события) +Permission2403=Удалить действия (события или задачи), связанные с его учетной записью пользователя (если владелец события) Permission2411=Просмотреть действия (события или задачи), других Permission2412=Создать / изменить действия (события или задачи), других Permission2413=Удалить действия (события или задачи), других @@ -943,7 +948,7 @@ Permission2515=Настройка директорий документов Permission2801=Использовать FTP клиент в режиме только чтения (только просмотр и загрузка файлов) Permission2802=Использовать FTP клиент в режиме записи (удаление или выгрузка файлов) Permission3200=Просмотреть архивированные события -Permission3301=Generate new modules +Permission3301=Создавать новые модули Permission4001=Смотреть сотрудников Permission4002=Создать сотрудников Permission4003=Удалить сотрудников @@ -958,18 +963,20 @@ Permission20003=Удалить заявления на отпуск Permission20004=Читайте все запросы на отпуск (даже пользователь не подчиняется) Permission20005=Создавать/изменять запросы на отпуск для всех (даже для пользователей, не подчиненных) Permission20006=Запросы на отпуск для партнеров (настройка и обновление баланса) -Permission20007=Approve leave requests +Permission20007=Утвердить запросы на отпуск Permission23001=Просмотр Запланированных задач Permission23002=Создать/обновить Запланированную задачу Permission23003=Удалить Запланированную задачу Permission23004=Выполнить запланированную задачу -Permission50101=Use Point of Sale (SimplePOS) -Permission50151=Use Point of Sale (TakePOS) +Permission50101=Используйте точку продажи (SimplePOS) +Permission50151=Использовать точку продажи (TakePOS) +Permission50152=Редактировать строки продаж +Permission50153=Редактировать заказанные строки продаж Permission50201=Просмотр транзакций Permission50202=Импорт транзакций -Permission50330=Read objects of Zapier -Permission50331=Create/Update objects of Zapier -Permission50332=Delete objects of Zapier +Permission50330=Читать объекты Zapier +Permission50331=Создание / обновление объектов Zapier +Permission50332=Удалить объекты Zapier Permission50401=Связать продукты и счета с учетными записями Permission50411=Просмотр операций в бухгалтерской книге Permission50412=Операции записи/редактирования в бухгалтерской книге @@ -977,7 +984,7 @@ Permission50414=Удалить операции в бухгалтерской к Permission50415=Удалить все операции по году и журналу в бухгалтерской книге Permission50418=Экспортные операций бухгалтерской книги Permission50420=Отчеты и отчеты об экспорте (оборот, баланс, журналы, бухгалтерская книга) -Permission50430=Define fiscal periods. Validate transactions and close fiscal periods. +Permission50430=Определите финансовые периоды. Проверяйте транзакции и закрывайте финансовые периоды. Permission50440=Управление структурой счетов, настройка бухгалтерского учета Permission51001=Просмотр активов Permission51002=Создать/обновить активы @@ -993,26 +1000,26 @@ Permission63001=Чтение ресурсов Permission63002=Создание/изменение ресурсов Permission63003=Удалить ресурсы Permission63004=Свяжите ресурсы с повесткой дня -Permission64001=Allow direct printing -Permission67000=Allow printing of receipts -Permission68001=Read intracomm report -Permission68002=Create/modify intracomm report -Permission68004=Delete intracomm report -Permission941601=Read receipts -Permission941602=Create and modify receipts -Permission941603=Validate receipts -Permission941604=Send receipts by email -Permission941605=Export receipts -Permission941606=Delete receipts +Permission64001=Разрешить прямую печать +Permission67000=Разрешить печать чеков +Permission68001=Прочитать отчет по внутренней связи +Permission68002=Создание / изменение внутреннего отчета +Permission68004=Удалить отчет о внутренней связи +Permission941601=Уведомления о прочтении +Permission941602=Создавать и изменять квитанции +Permission941603=Подтвердить квитанции +Permission941604=Отправлять квитанции по электронной почте +Permission941605=Экспортные поступления +Permission941606=Удалить чеки DictionaryCompanyType=Типы контрагента DictionaryCompanyJuridicalType=Правовая форма контрагента -DictionaryProspectLevel=Prospect potential level for companies -DictionaryProspectContactLevel=Prospect potential level for contacts +DictionaryProspectLevel=Уровень перспективного потенциала компаний +DictionaryProspectContactLevel=Уровень перспективного потенциала для контактов DictionaryCanton=Штат/Провинция DictionaryRegion=Регионы DictionaryCountry=Страны DictionaryCurrency=Валюты -DictionaryCivility=Honorific titles +DictionaryCivility=Почетные титулы DictionaryActions=Тип мероприятия DictionarySocialContributions=Типы социальных или налоговых сборов DictionaryVAT=Значения НДС или налога с продаж @@ -1037,13 +1044,14 @@ DictionaryEMailTemplates=Шаблоны электронной почты DictionaryUnits=Единицы DictionaryMeasuringUnits=Единицы измерения DictionarySocialNetworks=Социальные сети -DictionaryProspectStatus=Prospect status for companies -DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Типы отпуска +DictionaryProspectStatus=Статус проспекта для компаний +DictionaryProspectContactStatus=Статус проспекта для контактов +DictionaryHolidayTypes=Leave - Виды отпуска DictionaryOpportunityStatus=Правовой статус проекта/сделки DictionaryExpenseTaxCat=Отчет о расходах - Категории транспорта DictionaryExpenseTaxRange=Отчет о расходах - Диапазон по транспортной категории -DictionaryTransportMode=Intracomm report - Transport mode +DictionaryTransportMode=Отчет Intracomm - Транспортный режим +DictionaryBatchStatus=Статус контроля качества партии / серии продукта TypeOfUnit=Тип единицы SetupSaved=Настройки сохранены SetupNotSaved=Установки не сохранены @@ -1056,7 +1064,7 @@ VATIsNotUsedDesc=По умолчанию предлагаемый налог с VATIsUsedExampleFR=Во Франции это означает компании или организации, имеющие реальную фискальную систему (упрощенная реальная или обычная реальная). Система, в которой декларируется НДС. VATIsNotUsedExampleFR=Во Франции это означает ассоциации, которые не декларируют НДС, или компании, организации или либеральные профессии, которые выбрали фискальную систему микропредприятий (НДС во франшизе) и уплатили налог на франшизу без какой-либо декларации НДС. При выборе этого варианта в счетах будет отображаться ссылка "Non applicable Sales tax - art-293B of CGI" («НДС не применяется - art-293B CGI»). ##### Local Taxes ##### -TypeOfSaleTaxes=Type of sales tax +TypeOfSaleTaxes=Тип налога с продаж LTRate=Ставка LocalTax1IsNotUsed=Не использовать второй налог LocalTax1IsUsedDesc=Используйте второй тип налога (кроме первого) @@ -1080,9 +1088,9 @@ LocalTax2IsUsedDescES=Ставка IRPF (подоходный налог для LocalTax2IsNotUsedDescES=По умолчанию предлагается IRPF 0. Конец правления. LocalTax2IsUsedExampleES=В Испании работают фрилансеры и независимые профессионалы, предлагающие услуги, и компании, которые выбрали налоговую систему модулей. LocalTax2IsNotUsedExampleES=В Испании это предприятия, не подпадающие под налоговую систему модулей. -RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. -UseRevenueStamp=Use a tax stamp -UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) +RevenueStampDesc=«Налоговая марка» или «налоговая марка» - это фиксированный налог, взимаемый с каждого счета-фактуры (не зависит от суммы счета-фактуры). Это также может быть процентный налог, но использование второго или третьего типа налога лучше для процентного налога, поскольку налоговые марки не предоставляют никакой отчетности. Лишь немногие страны используют этот вид налога. +UseRevenueStamp=Используйте налоговую отметку +UseRevenueStampExample=Значение налоговой отметки по умолчанию определяется в настройках словарей (%s - %s - %s) CalcLocaltax=Отчеты о местных налогах CalcLocaltax1=Продажи-Покупки CalcLocaltax1Desc=Отчёты о местных налогах - это разница между местными налогами с продаж и покупок @@ -1090,12 +1098,12 @@ CalcLocaltax2=Покупки CalcLocaltax2Desc=Отчёты о местных налогах - это итог местных налогов с покупок CalcLocaltax3=Продажи CalcLocaltax3Desc=Отчёты о местных налогах - это итог местных налогов с продаж -NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax +NoLocalTaxXForThisCountry=Согласно настройке налогов (см. %s - %s - %s), в вашей стране нет необходимости использовать такой тип налога. LabelUsedByDefault=Метки, используемые по умолчанию, если нет перевода можно найти код LabelOnDocuments=Этикетка на документах LabelOrTranslationKey=Метка или ключ перевода -ValueOfConstantKey=Value of a configuration constant -ConstantIsOn=Option %s is on +ValueOfConstantKey=Значение константы конфигурации +ConstantIsOn=Вариант %s включен NbOfDays=Кол-во дней AtEndOfMonth=На конец месяца CurrentNext=Текущая/Следующая @@ -1140,10 +1148,10 @@ LoginPage=Страница авторизации BackgroundImageLogin=Фоновое изображение PermanentLeftSearchForm=Постоянный поиск формы на левом меню DefaultLanguage=Язык по умолчанию -EnableMultilangInterface=Enable multilanguage support for customer or vendor relationships -EnableShowLogo=Show the company logo in the menu +EnableMultilangInterface=Включите многоязычную поддержку для взаимоотношений с клиентами или поставщиками +EnableShowLogo=Показывать логотип компании в меню CompanyInfo=Компания/Организация -CompanyIds=Company/Organization identities +CompanyIds=Идентификационные данные компании / организации CompanyName=Имя CompanyAddress=Адрес CompanyZip=Индекс @@ -1151,16 +1159,16 @@ CompanyTown=Город CompanyCountry=Страна CompanyCurrency=Основная валюта CompanyObject=Объект компании -IDCountry=ID country +IDCountry=ID страны Logo=Логотип -LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) -LogoSquarred=Logo (squarred) -LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). +LogoDesc=Основной логотип компании. Будет использоваться в сгенерированных документах (PDF, ...) +LogoSquarred=Логотип (в квадрате) +LogoSquarredDesc=Должен быть значок в виде квадрата (ширина = высота). Этот логотип будет использоваться в качестве избранного значка или для другой необходимости, например, для верхней панели меню (если он не отключен в настройке дисплея). DoNotSuggestPaymentMode=Не рекомендуем NoActiveBankAccountDefined=Не определен активный банковский счет OwnerOfBankAccount=Владелец банковского счета %s BankModuleNotActive=Модуль Банковских счетов не активирован -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Определите ссылку « %s » (пусто, чтобы не отображать эту ссылку, «github» для ссылки на проект Dolibarr или определите напрямую URL-адрес https: // ... ') Alerts=Предупреждения DelaysOfToleranceBeforeWarning=Задержка перед отображением предупреждения о: DelaysOfToleranceDesc=Установите задержку до того, как значок предупреждения %s будет отображаться на экране для последнего элемента. @@ -1171,7 +1179,7 @@ Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Заказ не обработан Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Заказ на покупку не обработан Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Предложение не закрыто Delays_MAIN_DELAY_PROPALS_TO_BILL=Предложение не выставлено -Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Service to activate +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Сервис для активации Delays_MAIN_DELAY_RUNNING_SERVICES=Просроченная услуга Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Неоплаченный счет поставщика Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Неоплаченный счет клиента @@ -1179,15 +1187,18 @@ Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=В ожидании банковс Delays_MAIN_DELAY_MEMBERS=Задержка членского взноса Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Чековый депозит не сделан Delays_MAIN_DELAY_EXPENSEREPORTS=Отчет о расходах для утверждения -Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve +Delays_MAIN_DELAY_HOLIDAYS=Оставьте запросы на одобрение SetupDescription1=Перед началом использования Dolibarr необходимо определить параметры и включить/настроить модули. SetupDescription2=Следующие два раздела являются обязательными (две первые записи в меню настройки): -SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +SetupDescription3= %s -> %s

    Основные параметры, используемые для настройки поведения по умолчанию функций вашего приложения (например, для страны). +SetupDescription4= %s -> %s

    Это программное обеспечение представляет собой набор из множества модулей / приложений. Модули, связанные с вашими потребностями, должны быть включены и настроены. Записи меню появятся при активации этих модулей. SetupDescription5=Другие пункты меню настройки управляют дополнительными параметрами. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Аудит +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=События безопасности, которые подвергаются аудиту +NoSecurityEventsAreAduited=События безопасности не проверяются. Вы можете включить их из меню %s +Audit=События безопасности InfoDolibarr=О Dolibarr InfoBrowser=О браузере InfoOS=Об ОС @@ -1195,7 +1206,7 @@ InfoWebServer=О веб-сервере InfoDatabase=О базе данных InfoPHP=О PHP InfoPerf=О производительности -InfoSecurity=About Security +InfoSecurity=О безопасности BrowserName=Имя браузера BrowserOS=Операционная система браузера ListOfSecurityEvents=Список Dolibarr безопасность события @@ -1204,7 +1215,7 @@ LogEventDesc=Включите ведение журнала для опреде AreaForAdminOnly=Параметры настройки могут быть установлены только пользователем администратора . SystemInfoDesc=Система информации разного техническую информацию Вы получите в режиме только для чтения и видимые только для администраторов. SystemAreaForAdminOnly=Эта область доступна только для администраторов. Пользовательские разрешения Dolibarr не могут изменить это ограничение. -CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. +CompanyFundationDesc=Отредактируйте информацию о вашей компании / организации. Когда закончите, нажмите кнопку «%s» внизу страницы. AccountantDesc=Если у вас есть внешний бухгалтер/бухгалтер, вы можете отредактировать здесь эту информацию. AccountantFileNumber=Код бухгалтера DisplayDesc=Параметры, влияющие на внешний вид и поведение Dolibarr, могут быть изменены здесь. @@ -1212,7 +1223,7 @@ AvailableModules=Доступное приложение/модули ToActivateModule=Чтобы активировать модуль, перейдите в место настройки (Главная-Настройки-Модули/Приложения). SessionTimeOut=Тайм-аут для сессии SessionExplanation=Это число гарантирует, что сеанс никогда не истечет до этой задержки, если очиститель сеанса выполняется внутренним чистильщиком сессии PHP (и ничем иным). Внутренний чистильщик сессии PHP не гарантирует, что сессия истечет после этой задержки. Он истечет после этой задержки и при запуске чистильщика сессии, поэтому каждый доступ %s / %s , но только во время доступа, сделанного другими сеансами (если значение равно 0, это означает, что очистка сеанса выполняется только внешним процессом) ,
    Примечание: на некоторых серверах с внешним механизмом очистки сеансов (cron под debian, ubuntu ...) сеансы могут быть уничтожены после периода, определенного внешней установкой, независимо от того, какое значение здесь введено. -SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. +SessionsPurgedByExternalSystem=Кажется, что сеансы на этом сервере очищаются внешним механизмом (cron в debian, ubuntu ...), вероятно, каждые %s секунд (= значение параметра session.gc_max4life имеет эффект. Вы должны попросить администратора сервера изменить задержку сеанса. TriggersAvailable=Доступные триггеры TriggersDesc=Триггеры - это файлы, которые изменят поведение рабочего процесса Dolibarr после копирования в каталог htdocs/core/triggers . Они реализуют новые действия, активированные в событиях Dolibarr (создание новой компании, проверка счетов, ...). TriggerDisabledByName=Триггеры этого файла отключено NORUN-суффикс в названии. @@ -1221,7 +1232,7 @@ TriggerAlwaysActive=Триггеры в этом файле, всегда акт TriggerActiveAsModuleActive=Триггеры в этом файле активны, так как модуль %s включен. GeneratedPasswordDesc=Выберите метод, который будет использоваться для автоматически сгенерированных паролей. DictionaryDesc=Вставьте все справочные данные. Вы можете добавить свои значения по умолчанию. -ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting only. +ConstDesc=Эта страница позволяет вам редактировать (переопределять) параметры, недоступные на других страницах. В основном это зарезервированные параметры только для разработчиков / расширенного поиска и устранения неисправностей. MiscellaneousDesc=Все остальные параметры, связанные с безопасностью, определены здесь. LimitsSetup=Пределы / Точная настройка LimitsDesc=Вы можете определить пределы, точности и оптимизации, используемые Dolibarr здесь @@ -1236,7 +1247,7 @@ NoEventOrNoAuditSetup=Событие безопасности не было за NoEventFoundWithCriteria=Для этого критерия поиска событие безопасности не найдено. SeeLocalSendMailSetup=См. вашей локальной настройки Sendmail BackupDesc=Полное резервное копирование установки Dolibarr требует двух шагов. -BackupDesc2=Backup the contents of the "documents" directory (%s) containing all uploaded and generated files. This will also include all the dump files generated in Step 1. This operation may last several minutes. +BackupDesc2=Сделайте резервную копию содержимого каталога «документы» ( %s ), содержащего все загруженные и сгенерированные файлы. Это также будет включать все файлы дампа, созданные на шаге 1. Эта операция может длиться несколько минут. BackupDesc3=Резервное копирование структуры и содержимого вашей базы данных (%s ) в файл дампа. Для этого вы можете использовать следующий помощник. BackupDescX=Архивный каталог должен храниться в безопасном месте. BackupDescY=Генерируемый файла дампа следует хранить в надежном месте. @@ -1246,18 +1257,18 @@ RestoreDesc2=Восстановить файл резервной копии (н RestoreDesc3=Восстановить структуру базы данных и данные из файла резервной копии в базу данных новой установки Dolibarr или в базу данных текущей установки ( %s ). Предупреждение: после завершения восстановления вы должны использовать логин / пароль, который существовал во время резервного копирования / установки, чтобы снова подключиться.
    Чтобы восстановить резервную копию базы данных в этой текущей установке, вы можете следовать этому помощнику. RestoreMySQL=Иvпорт MySQL ForcedToByAModule=Это правило принудительно активируется модулем %s. -ValueIsForcedBySystem=This value is forced by the system. You can't change it. +ValueIsForcedBySystem=Это значение принудительно установлено системой. Вы не можете это изменить. PreviousDumpFiles=Существующие файлы резервных копий -PreviousArchiveFiles=Existing archive files +PreviousArchiveFiles=Существующие архивные файлы WeekStartOnDay=Первый день недели RunningUpdateProcessMayBeRequired=Похоже требуется запуск процесса обновления (версия программы %s отличается от версии базы данных %s) YouMustRunCommandFromCommandLineAfterLoginToUser=Вы должны запустить эту команду из командной строки после Войти в оболочку с пользователем %s. YourPHPDoesNotHaveSSLSupport=SSL функций, не доступных в PHP DownloadMoreSkins=Дополнительные шкуры для загрузки -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset +SimpleNumRefModelDesc=Возвращает ссылочный номер в формате %syymm-nnnn, где yy - год, mm - месяц, а nnnn - последовательное автоматически увеличивающееся число без сброса. +SimpleNumRefNoDateModelDesc=Возвращает ссылочный номер в формате %s-nnnn, где nnnn - это последовательный номер с автоинкрементом без сброса. ShowProfIdInAddress=Показать профессиональный идентификатор с адресами -ShowVATIntaInAddress=Скрыть номер НДС внутри Сообщества с адресами +ShowVATIntaInAddress=Скрыть номер плательщика НДС внутри Сообщества TranslationUncomplete=Частичный перевод MAIN_DISABLE_METEO=Отключить просмотр погоды MeteoStdMod=Стандартный режим @@ -1273,7 +1284,7 @@ MAIN_PROXY_HOST=Прокси-сервер: имя / адрес MAIN_PROXY_PORT=Прокси-сервер: Порт MAIN_PROXY_USER=Прокси-сервер: Логин MAIN_PROXY_PASS=Прокси-сервер: пароль -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s +DefineHereComplementaryAttributes=Определите любые дополнительные / настраиваемые атрибуты, которые необходимо добавить к: %s ExtraFields=Дополнительные атрибуты ExtraFieldsLines=Дополнительные атрибуты (строки) ExtraFieldsLinesRec=Дополнительные атрибуты (шаблоны счетов-фактур) @@ -1289,7 +1300,7 @@ ExtraFieldsSupplierOrders=Дополнительные атрибуты (Зак ExtraFieldsSupplierInvoices=Дополнительные атрибуты (Счета-фактуры) ExtraFieldsProject=Дополнительные атрибуты (Проекты) ExtraFieldsProjectTask=Дополнительные атрибуты (Задачи) -ExtraFieldsSalaries=Complementary attributes (salaries) +ExtraFieldsSalaries=Дополнительные атрибуты (зарплаты) ExtraFieldHasWrongValue=Атрибут %s имеет неправильное значение. AlphaNumOnlyLowerCharsAndNoSpace=только латинские строчные буквы и цифры без пробелов SendmailOptionNotComplete=Предупреждение, на некоторых системах Linux, для отправки электронной почты из электронной почты, Sendmail выполнения установки должны conatins опцию-ба (параметр mail.force_extra_parameters в файле php.ini). Если некоторые получатели не получают электронные письма, попытке изменить этот параметр с PHP mail.force_extra_parameters =-ба). @@ -1307,36 +1318,39 @@ CurrentTranslationString=Текущая строка перевода WarningAtLeastKeyOrTranslationRequired=Критерии поиска требуются, по крайней мере, для строки ключа или перевода NewTranslationStringToShow=Новая строка перевода для показа OriginalValueWas=Исходный перевод перезаписан. Исходное значение:

    %s -TransKeyWithoutOriginalValue=You forced a new translation for the translation key '%s' that does not exist in any language files -TitleNumberOfActivatedModules=Activated modules -TotalNumberOfActivatedModules=Activated modules: %s / %s +TransKeyWithoutOriginalValue=Вы принудительно сделали новый перевод для ключа перевода ' %s ', которого нет ни в одном языковом файле +TitleNumberOfActivatedModules=Активированные модули +TotalNumberOfActivatedModules=Активированные модули: %s / %s YouMustEnableOneModule=Вы должны включить минимум 1 модуль -ClassNotFoundIntoPathWarning=Class %s not found in PHP path +ClassNotFoundIntoPathWarning=Класс %s не найден в пути PHP YesInSummer=Да летом OnlyFollowingModulesAreOpenedToExternalUsers=Обратите внимание, что только следующие модули доступны для внешних пользователей (независимо от разрешений этих пользователей) и только при наличии разрешений:
    SuhosinSessionEncrypt=Хранилище сессий шифровано системой SUHOSIN ConditionIsCurrently=Текущее состояние %s YouUseBestDriver=Вы используете драйвер %s, который является лучшим драйвером, доступным в настоящее время. YouDoNotUseBestDriver=Вы используете драйвер %s, но рекомендуется драйвер %s. -NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +NbOfObjectIsLowerThanNoPb=У вас есть только %s %s в базе данных. Особой оптимизации это не требует. +ComboListOptim=Оптимизация загрузки комбо-списков SearchOptim=Поисковая оптимизация -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=У вас есть %s %s в базе данных. Вы можете перейти в настройку модуля, чтобы включить загрузку комбинированного списка при нажатии клавиши. +YouHaveXObjectUseSearchOptim=У вас есть %s %s в базе данных. Вы можете добавить константу %s к 1 в Главная-настройка-Другие. +YouHaveXObjectUseSearchOptimDesc=Это ограничивает поиск началом строк, что позволяет базе данных использовать индексы, и вы должны получить немедленный ответ. +YouHaveXObjectAndSearchOptimOn=У вас есть %s %s в базе данных, а для константы %s установлено значение %s в Главная-Натройка-Другие. BrowserIsOK=Вы используете веб-браузер %s. Этот браузер подходит в отношении безопасности и производительности. BrowserIsKO=Вы используете веб-браузер %s. Этот браузер, как известно, является плохим выбором по безопасности, производительности и надежности. Мы рекомендуем использовать Firefox, Chrome, Opera или Safari. -PHPModuleLoaded=PHP component %s is loaded -PreloadOPCode=Preloaded OPCode is used -AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.
    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)
    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". -AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
    Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". +PHPModuleLoaded=Компонент PHP %s загружен +PreloadOPCode=Используется предварительно загруженный OPCode +AddRefInList=Показать номер клиента / поставщика. информационный список (выберите список или поле со списком) и большую часть гиперссылок.
    Третьи стороны будут отображаться с форматом имени "CC12345 - SC45678 - The Big Company corp." вместо "Корпорация Большая Компания". +AddAdressInList=Отображение списка адресов покупателя / поставщика (список выбора или поле со списком)
    Третьи стороны будут отображаться с форматом имени «The Big Company corp. - 21 jump street 123456 Big Town - USA» вместо «The Big Company corp». +AddEmailPhoneTownInContactList=Отображение Контактный адрес электронной почты (или телефоны, если они не определены) и список информации о городе (выберите список или поле со списком)
    Контакты появятся с форматом имени «Dupond Durand - dupond.durand@email.com - Paris» или «Dupond Durand - 06 07». 59 65 66 - Париж »вместо« Дюпон Дюран ». AskForPreferredShippingMethod=Запросить предпочтительный способ доставки для контрагентов. FieldEdition=Редакция поля %s FillThisOnlyIfRequired=Например, +2 (заполняйте это поле только тогда, когда ваш часовой пояс отличается от того, который используется на сервере) GetBarCode=Получить штрих-код -NumberingModules=Numbering models -DocumentModules=Document models +NumberingModules=Нумерация моделей +DocumentModules=Модели документов ##### Module password generation -PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: %s characters containing shared numbers and characters in lowercase. +PasswordGenerationStandard=Вернуть пароль, созданный в соответствии с внутренним алгоритмом Dolibarr: символы %s, содержащие общие числа и символы в нижнем регистре. PasswordGenerationNone=Не предлагать сгенерированный пароль. Пароль должен быть введен вручную. PasswordGenerationPerso=Верните пароль в соответствии с вашей личной конфигурацией. SetupPerso=Согласно вашей конфигурации @@ -1346,9 +1360,9 @@ RuleForGeneratedPasswords=Правила генерации и проверки DisableForgetPasswordLinkOnLogonPage=Не показывать ссылку «Забыли пароль» на странице входа UsersSetup=Настройка модуля пользователя UserMailRequired=Требуется электронная почта для создания нового пользователя -UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) -UsersDocModules=Document templates for documents generated from user record -GroupsDocModules=Document templates for documents generated from a group record +UserHideInactive=Скрыть неактивных пользователей из всех комбинированных списков пользователей (не рекомендуется: это может означать, что вы не сможете фильтровать или искать старых пользователей на некоторых страницах) +UsersDocModules=Шаблоны документов для документов, созданных на основе пользовательской записи +GroupsDocModules=Шаблоны документов для документов, созданных из групповой записи ##### HRM setup ##### HRMSetup=Настройка модуля HRM (Отдела кадров) ##### Company setup ##### @@ -1380,7 +1394,7 @@ BillsPDFModules=Модели счетов-фактур BillsPDFModulesAccordindToInvoiceType=Модели документов счета в соответствии с типом счета PaymentsPDFModules=Модели платежных документов ForceInvoiceDate=Принудительно приравнять дату выставления счета к дате проверки -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Предлагаемый режим оплаты в счете-фактуре по умолчанию, если он не определен в счете-фактуре SuggestPaymentByRIBOnAccount=Предложить оплату выводом средств на счет SuggestPaymentByChequeToAddress=Предложить оплату чеком на FreeLegalTextOnInvoices=Свободный текст на счетах-фактурах @@ -1392,7 +1406,7 @@ SupplierPaymentSetup=Настройка платежей поставщику PropalSetup=Настройка модуля Коммерческих предложений ProposalsNumberingModules=Модели нумерации Коммерческих предложений ProposalsPDFModules=Модели документов Коммерческого предложения -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal +SuggestedPaymentModesIfNotDefinedInProposal=Предлагаемый режим платежей по предложению по умолчанию, если он не определен в предложении FreeLegalTextOnProposal=Свободный текст на Коммерческих предложениях WatermarkOnDraftProposal=Водяные знаки на черновиках Коммерческих предложений ("Нет" если пусто) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Запрос банковского счёта для предложения @@ -1407,7 +1421,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Попросите источник скл ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Запросить адрес банковского счета для заказа на поставку ##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order +SuggestedPaymentModesIfNotDefinedInOrder=Предлагаемый режим оплаты в заказе на продажу по умолчанию, если он не указан в заказе OrdersSetup=Настройка управления заказами на продажу OrdersNumberingModules=Модели нумерации заказов OrdersModelModule=Заказ документов моделей @@ -1433,9 +1447,10 @@ MemberMainOptions=Основные настройки AdherentLoginRequired= Управление логином для каждого пользователя AdherentMailRequired=Требуется электронная почта для создания нового участника MemberSendInformationByMailByDefault=Чекбокс отправить по почте подтверждение членов по умолчанию +MemberCreateAnExternalUserForSubscriptionValidated=Создайте внешний пользовательский логин для каждой подтвержденной подписки нового участника VisitorCanChooseItsPaymentMode=Посетитель может выбрать один из доступных способов оплаты MEMBER_REMINDER_EMAIL=Включить автоматическое напоминание по электронной почте о просроченных подписках. Примечание. Модуль %s должен быть включен и правильно настроен для отправки напоминаний. -MembersDocModules=Document templates for documents generated from member record +MembersDocModules=Шаблоны документов для документов, созданных из записи участника ##### LDAP setup ##### LDAPSetup=Установка LDAP LDAPGlobalParameters=Глобальные параметры @@ -1517,7 +1532,7 @@ LDAPFieldLoginUnix=Логин (Unix) LDAPFieldLoginExample=Пример: UID LDAPFilterConnection=Фильтр поиска LDAPFilterConnectionExample=Пример: &(objectClass=inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=Пример: & (objectClass = groupOfUsers) LDAPFieldLoginSamba=Логин (самба, activedirectory) LDAPFieldLoginSambaExample=Пример: samaccountname LDAPFieldFullname=Фамилия Имя @@ -1561,13 +1576,13 @@ LDAPFieldSidExample=Пример: objectsid LDAPFieldEndLastSubscription=Дата окончания подписки LDAPFieldTitle=Должность LDAPFieldTitleExample=Например, заголовок -LDAPFieldGroupid=Group id -LDAPFieldGroupidExample=Exemple : gidnumber +LDAPFieldGroupid=ID группы +LDAPFieldGroupidExample=Пример: gidnumber LDAPFieldUserid=ID пользователя LDAPFieldUseridExample=Например: uidномер LDAPFieldHomedirectory=Домашняя директория LDAPFieldHomedirectoryExample=Например: домашняядериктория -LDAPFieldHomedirectoryprefix=Home directory prefix +LDAPFieldHomedirectoryprefix=Префикс домашнего каталога LDAPSetupNotComplete=Установка не завершена (переход на другие вкладки) LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Нет администратора или пароль предусмотрено. LDAP доступ будет анонимным и в режиме только для чтения. LDAPDescContact=Эта страница позволяет определить название атрибутов LDAP в LDAP дерева для каждого данных по Dolibarr контакты. @@ -1579,9 +1594,9 @@ LDAPDescValues=Пример значения для OpenLDAP с загр ForANonAnonymousAccess=Для аутентифицированных доступа (для записи, например) PerfDolibarr=Настройки производительности/отчёты о оптимизации YouMayFindPerfAdviceHere=Эта страница содержит некоторые проверки или советы, связанные с производительностью. -NotInstalled=Not installed. -NotSlowedDownByThis=Not slowed down by this. -NotRiskOfLeakWithThis=Not risk of leak with this. +NotInstalled=Не установлено. +NotSlowedDownByThis=Не сбавляла скорость от этого. +NotRiskOfLeakWithThis=Нет риска утечки с этим. ApplicativeCache=Прикладной кеш MemcachedNotAvailable=Аппликативный кеш не найден. Вы можете повысить производительность, установив кеш-сервер Memcached и модуль, способный использовать этот кеш-сервер.
    Более подробная информация здесь http://wiki.dolibarr.org/index.php/Module_MemCached_EN .
    Обратите внимание, что многие веб-хостинг-провайдеры не предоставляют такой кеш-сервер. MemcachedModuleAvailableButNotSetup=Модуль memcached для прикладного кэша найден, но настройка модуля не завершена. @@ -1611,15 +1626,15 @@ ServiceSetup=Настройка модуля Услуг ProductServiceSetup=Настройка модулей Продуктов и Услуг NumberOfProductShowInSelect=Максимальное количество товаров для отображения в комбинированных списках выбора (0 = без ограничений) ViewProductDescInFormAbility=Отображать описания продуктов в формах (в противном случае отображается во всплывающей подсказке) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents +DoNotAddProductDescAtAddLines=Не добавляйте описание продукта (из карточки продукта) при отправке строк добавления в формы +OnProductSelectAddProductDesc=Как использовать описание товаров при добавлении товара в виде строки документа +AutoFillFormFieldBeforeSubmit=Автоматическое заполнение поля ввода описания описанием товара +DoNotAutofillButAutoConcat=Не заполняйте поле ввода автоматически описанием товара. Описание товара будет автоматически добавлено к введенному описанию. +DoNotUseDescriptionOfProdut=Описание товара никогда не попадет в описание строк документов. MergePropalProductCard=Активировать в продукте/услуге Вложенные файлы вставить опцию объединить PDF-документ продукта в предложение PDF azur, если продукт/услуга находится в предложении -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) +ViewProductDescInThirdpartyLanguageAbility=Отображать описания продуктов в формах на языке третьей стороны (в противном случае на языке пользователя) UseSearchToSelectProductTooltip=Также, если у вас есть большое количество продуктов (> 100 000), вы можете увеличить скорость, установив постоянное значение PRODUCT_DONOTSEARCH_ANYWHERE равное 1 в меню «Настройка» - «Другие настройки». Поиск будет ограничен началом строки. -UseSearchToSelectProduct=Wait until you press a key before loading content of product combo list (This may increase performance if you have a large number of products, but it is less convenient) +UseSearchToSelectProduct=Подождите, пока вы нажмете клавишу, прежде чем загружать содержимое комбинированного списка продуктов (это может повысить производительность, если у вас большое количество продуктов, но это менее удобно) SetDefaultBarcodeTypeProducts=Стандартный вид штрих-кода, используемого для продуктов SetDefaultBarcodeTypeThirdParties=Стандартный вид штрих-кода, используемого для третьих сторон UseUnits=Определите единицу измерения для количества во время заказа, предложения или строки счетов-фактур @@ -1634,9 +1649,9 @@ SyslogLevel=Уровень SyslogFilename=Имя файла и путь YouCanUseDOL_DATA_ROOT=Вы можете использовать DOL_DATA_ROOT / dolibarr.log в лог-файл в Dolibarr "документы" каталог. Вы можете установить различные пути для хранения этого файла. ErrorUnknownSyslogConstant=Постоянная %s не известны журнала постоянная -OnlyWindowsLOG_USER=On Windows, only the LOG_USER facility will be supported +OnlyWindowsLOG_USER=В Windows будет поддерживаться только функция LOG_USER. CompressSyslogs=Сжатие и резервное копирование файлов журнала отладки (сгенерированных модулем Log для отладки) -SyslogFileNumberOfSaves=Number of backup logs to keep +SyslogFileNumberOfSaves=Количество журналов резервного копирования, которые нужно сохранить ConfigureCleaningCronjobToSetFrequencyOfSaves=Настроить очистку запланированного задания для установки частоты резервного копирования журнала ##### Donations ##### DonationsSetup=Настройка модуля Пожертвования @@ -1669,7 +1684,7 @@ RSSUrlExample=Интересные RSS-ленты ##### Mailing ##### MailingSetup=Настройка почтового модуля MailingEMailFrom=Модуль Адресанта (от кого) для отправки писем по электронной почте -MailingEMailError=Return Email (Errors-to) for emails with errors +MailingEMailError=Возврат электронной почты (Errors-to) для писем с ошибками MailingDelay=Время ожидания в секундах перед отправкой следующего сообщения ##### Notification ##### NotificationSetup=Настройка модуля Уведомления по электронной почте @@ -1680,7 +1695,7 @@ SendingsSetup=Настройка модуля доставки SendingsReceiptModel=Модель отправки квитанции SendingsNumberingModules=Модули нумерации отправлений SendingsAbility=Поддержка накладных для доставки клиенту -NoNeedForDeliveryReceipts=In most cases, shipping sheets are used both as sheets for customer deliveries (list of products to send) and sheets that are received and signed by customer. Hence the product deliveries receipt is a duplicated feature and is rarely activated. +NoNeedForDeliveryReceipts=В большинстве случаев отгрузочные листы используются как в качестве листов для доставки клиенту (список продуктов для отправки), так и в качестве листов, которые принимаются и подписываются клиентом. Следовательно, квитанция о доставке товара - это дублированная функция, которая редко активируется. FreeLegalTextOnShippings=Дополнительный текст для поставок ##### Deliveries ##### DeliveryOrderNumberingModules=Модуль нумерации чеков поставки продукции @@ -1692,24 +1707,24 @@ AdvancedEditor=Расширенный редактор ActivateFCKeditor=Включить FCKeditor для: FCKeditorForCompany=WYSIWIG создание / издание компаний описание и сведения FCKeditorForProduct=WYSIWIG создания / выпуска продукции / услуг описание и сведения -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. +FCKeditorForProductDetails=WYSIWIG создание / редактирование строк сведений о продуктах для всех сущностей (предложения, заказы, счета и т. Д.). Предупреждение. Использование этой опции в этом случае серьезно не рекомендуется, так как это может создать проблемы со специальными символами и форматированием страниц при построении файлов PDF. FCKeditorForMailing= WYSIWIG создание / издание рассылок FCKeditorForUserSignature=Редактор WYSIWIG для создания/изменения подписи пользователя FCKeditorForMail=WYSIWIG создание/издание для всей почты (кроме Tools-> eMailing) -FCKeditorForTicket=WYSIWIG creation/edition for tickets +FCKeditorForTicket=Создание / редакция WYSIWIG для билетов ##### Stock ##### StockSetup=Настройка модуля запаса IfYouUsePointOfSaleCheckModule=Если вы используете модуль торговой точки (POS), предоставленный по умолчанию, или внешний модуль, эта установка может быть проигнорирована вашим модулем POS. Большинство POS-модулей по умолчанию предназначены для немедленного создания счета-фактуры и уменьшения складских запасов независимо от имеющихся здесь опций. Поэтому, если вам нужно или не нужно уменьшать запас при регистрации продажи в вашем POS, проверьте также настройку вашего POS-модуля. ##### Menu ##### MenuDeleted=Удаленное Меню -Menu=Menu +Menu=Меню Menus=Меню TreeMenuPersonalized=Персонализированная меню NotTopTreeMenuPersonalized=Персонализированные меню, не связанные с пунктом верхнего меню NewMenu=Новое меню MenuHandler=Меню обработчик MenuModule=Исходный модуль -HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise) +HideUnauthorizedMenu=Скрыть неавторизованные меню также для внутренних пользователей (в противном случае они будут выделены серым цветом) DetailId=Идентификатор меню DetailMenuHandler=Обработчик меню, где показывать новое меню DetailMenuModule=Имя модуля, если пункт меню взят из модуля @@ -1721,7 +1736,7 @@ DetailRight=Условие для отображения несанкциони DetailLangs=Имя файла Lang для перевода кода метки DetailUser=Стажер / Внештатный / Все Target=Цель -DetailTarget=Target for links (_blank top opens a new window) +DetailTarget=Цель для ссылок (_blank top открывает новое окно) DetailLevel=Уровень (-1: верхнее меню, 0: заголовок меню> 0 меню и подменю) ModifMenu=Меню изменения DeleteMenu=Удалить меню @@ -1732,11 +1747,11 @@ TaxSetup=Настройка модуля НДС, социальные или н OptionVatMode=НДС к оплате OptionVATDefault=Стандартная основа OptionVATDebitOption=Принцип начисления -OptionVatDefaultDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on payments for services -OptionVatDebitOptionDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on invoice (debit) for services +OptionVatDefaultDesc=НДС подлежит уплате:
    - при доставке товаров (на основании даты выставления счета)
    - при оплате услуг +OptionVatDebitOptionDesc=НДС подлежит уплате:
    - при доставке товаров (на основании даты выставления счета)
    - по счету-фактуре (дебет) за услуги OptionPaymentForProductAndServices=Кассовая система для продуктов и услуг OptionPaymentForProductAndServicesDesc=НДС должен быть:
    - на оплату товаров
    - на оплату услуг -SummaryOfVatExigibilityUsedByDefault=Time of VAT eligibility by default according to chosen option: +SummaryOfVatExigibilityUsedByDefault=Время права на НДС по умолчанию в соответствии с выбранным вариантом: OnDelivery=О доставке OnPayment=Об оплате OnInvoice=В счете-фактуре @@ -1749,44 +1764,44 @@ YourCompanyDoesNotUseVAT=В вашей компании определено, ч AccountancyCode=Бухгалтерский код AccountancyCodeSell=Бух. код продаж AccountancyCodeBuy=Бух. код покупок -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Оставьте флажок «Автоматически создавать платеж» пустым по умолчанию при создании нового налога. ##### Agenda ##### AgendaSetup=Настройка модуля событий и повестки дня PasswordTogetVCalExport=Ключевые разрешить экспорт ссылке -SecurityKey = Security Key +SecurityKey = Электронный ключ PastDelayVCalExport=Не экспортировать события старше -AGENDA_USE_EVENT_TYPE=Use events types (managed in menu Setup -> Dictionaries -> Type of agenda events) -AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of event in event create form -AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view -AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view -AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). +AGENDA_USE_EVENT_TYPE=Использовать типы событий (управляется в меню Настройка -> Словари -> Тип событий повестки дня) +AGENDA_USE_EVENT_TYPE_DEFAULT=Автоматически устанавливать это значение по умолчанию для типа события в форме создания события +AGENDA_DEFAULT_FILTER_TYPE=Автоматически устанавливать этот тип события в поисковом фильтре просмотра повестки дня +AGENDA_DEFAULT_FILTER_STATUS=Автоматически устанавливать этот статус для событий в поисковом фильтре представления повестки дня +AGENDA_DEFAULT_VIEW=Какой вид вы хотите открыть по умолчанию при выборе меню «Повестка дня» +AGENDA_REMINDER_BROWSER=Включить напоминание о событии в браузере пользователя (при достижении даты напоминания в браузере отображается всплывающее окно. Каждый пользователь может отключить такие уведомления в настройках уведомлений браузера). AGENDA_REMINDER_BROWSER_SOUND=Включить звуковое оповещение -AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL=Включить напоминание о событии по электронной почте (опция напоминания / задержка может быть определена для каждого события). +AGENDA_REMINDER_EMAIL_NOTE=Примечание. Частота выполнения запланированного задания %s должна быть достаточной, чтобы напоминание было отправлено в нужный момент. AGENDA_SHOW_LINKED_OBJECT=Показывать связанный объект в представлении повестки дня ##### Clicktodial ##### ClickToDialSetup=Настройка модуля Click To Dial ClickToDialUrlDesc=Url звонившего, когда клик по пиктограмме телефона сделан. В URL-адресе вы можете использовать теги
    __PHONETO__, которые будут заменены на номер телефона человека для вызова
    __PHONEFROM__, который будет заменен номером телефона вызывающего абонента (вашего)
    __LOGIN__, который будет заменен на clicktodial login (определенном на карточке пользователя)
    __PASS__, который будет заменен кликтодиальным паролем (определяется на карточке пользователя). -ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. +ClickToDialDesc=Этот модуль преобразует телефонные номера при использовании настольного компьютера в интерактивные ссылки. Щелчок вызовет номер. Его можно использовать для начала телефонного звонка при использовании программного телефона на рабочем столе или, например, при использовании системы CTI, основанной на протоколе SIP. Примечание. При использовании смартфона телефонные номера всегда доступны для нажатия. ClickToDialUseTelLink=Используйте только ссылку «tel:» на номера телефонов -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Торговая точка CashDeskSetup=Настройка модуля «Точка продаж» -CashDeskThirdPartyForSell=Default generic third party to use for sales +CashDeskThirdPartyForSell=Базовая третья сторона по умолчанию для использования в продажах CashDeskBankAccountForSell=Денежные счета, используемого для продает -CashDeskBankAccountForCheque=Default account to use to receive payments by check +CashDeskBankAccountForCheque=Аккаунт по умолчанию для приема платежей по чеку CashDeskBankAccountForCB=Учетной записи для использования на получение денежных выплат по кредитным картам -CashDeskBankAccountForSumup=Default bank account to use to receive payments by SumUp +CashDeskBankAccountForSumup=Банковский счет по умолчанию для приема платежей SumUp CashDeskDoNotDecreaseStock=Отключить уменьшение запаса, когда продажа осуществляется из торговой точки (если «нет», уменьшение запаса производится для каждой продажи, совершаемой из POS, независимо от опции, установленной в модуле Запас). CashDeskIdWareHouse=Ускорить и ограничить склад для уменьшения запасов -StockDecreaseForPointOfSaleDisabled=Stock decrease from Point of Sale disabled +StockDecreaseForPointOfSaleDisabled=Уменьшение запасов в торговой точке отключено StockDecreaseForPointOfSaleDisabledbyBatch=Уменьшение запаса в POS не совместимо с модулем Управление сериями/партиями (в настоящее время активно), поэтому уменьшение запаса отключено -CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sale from Point of Sale. Hence a warehouse is required. -CashDeskForceDecreaseStockLabel=Stock decrease for batch products was forced. -CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dates. -CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) +CashDeskYouDidNotDisableStockDecease=Вы не отключили уменьшение запасов при продаже через точку продаж. Следовательно, требуется склад. +CashDeskForceDecreaseStockLabel=Вынужденное сокращение запасов серийной продукции. +CashDeskForceDecreaseStockDesc=Уменьшите сначала на самые старые даты приема и продажи. +CashDeskReaderKeyCodeForEnter=Код клавиши для "Enter", определенный в считывателе штрих-кода (Пример: 13) ##### Bookmark ##### BookmarkSetup=Настройка модуля Закладки BookmarkDesc=Этот модуль позволяет вам управлять закладками. Вы также можете добавить ярлыки на любые страницы Dolibarr или внешние веб-сайты в левом меню. @@ -1806,7 +1821,7 @@ ApiKey=Ключ для API WarningAPIExplorerDisabled=Проводник API отключен. Обозреватель API не обязан предоставлять службы API. Это инструмент для разработчика, чтобы найти / протестировать REST API. Если вам нужен этот инструмент, зайдите в настройку модуля API REST, чтобы активировать его. ##### Bank ##### BankSetupModule=Настройка Банковского модуля -FreeLegalTextOnChequeReceipts=Free text on check receipts +FreeLegalTextOnChequeReceipts=Произвольный текст на чеках BankOrderShow=Порядок отображения банковских счетов для стран, использующих «подробный номер банка» BankOrderGlobal=Общий BankOrderGlobalDesc=Генеральный порядок отображения @@ -1817,14 +1832,14 @@ ChequeReceiptsNumberingModule=Модуль Проверки чеков MultiCompanySetup=Настройка модуля Корпорация ##### Suppliers ##### SuppliersSetup=Настройка модуля Поставщика -SuppliersCommandModel=Complete template of Purchase Order -SuppliersCommandModelMuscadet=Complete template of Purchase Order (old implementation of cornas template) -SuppliersInvoiceModel=Complete template of Vendor Invoice -SuppliersInvoiceNumberingModel=Vendor invoices numbering models -IfSetToYesDontForgetPermission=If set to a non null value, don't forget to provide permissions to groups or users allowed for the second approval +SuppliersCommandModel=Полный шаблон Заказа на поставку +SuppliersCommandModelMuscadet=Полный шаблон Заказа на поставку (старая реализация шаблона Cornas) +SuppliersInvoiceModel=Полный шаблон счета-фактуры поставщика +SuppliersInvoiceNumberingModel=Модели нумерации накладных поставщиков +IfSetToYesDontForgetPermission=Если установлено ненулевое значение, не забудьте предоставить разрешения для групп или пользователей, которым разрешено второе утверждение. ##### GeoIPMaxmind ##### GeoIPMaxmindSetup=Настройка модуля GeoIP Maxmind -PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
    Examples:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb +PathToGeoIPMaxmindCountryDataFile=Путь к файлу, содержащему Maxmind ip для перевода страны.
    Примеры:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /bCecry/subscribe/ NoteOnPathLocation=Обратите внимание, что Ваш IP, чтобы страны файл данных должен быть в директории вашего PHP может читать (Проверьте ваши установки PHP open_basedir и файловой системы разрешений). YouCanDownloadFreeDatFileTo=Вы можете скачать бесплатную демонстрационную версию страны GeoIP MaxMind файл на %s. YouCanDownloadAdvancedDatFileTo=Вы также можете скачать более полную версию, с обновлениями, в стране GeoIP MaxMind файл на %s. @@ -1835,7 +1850,7 @@ ProjectsSetup=Настройка модуля проекта ProjectsModelModule=Модель отчета по проекту TasksNumberingModules=Модуль нумерации Задач TaskModelModule=Документы с отчетами о задачах -UseSearchToSelectProject=Wait until a key is pressed before loading content of Project combo list.
    This may improve performance if you have a large number of projects, but it is less convenient. +UseSearchToSelectProject=Дождитесь нажатия клавиши перед загрузкой содержимого комбинированного списка Project.
    Это может улучшить производительность, если у вас большое количество проектов, но это менее удобно. ##### ECM (GED) ##### ##### Fiscal Year ##### AccountingPeriods=Учетные периоды @@ -1856,7 +1871,7 @@ NoAmbiCaracAutoGeneration=Не используйте похожие симво SalariesSetup=Настройка модуля Зарплаты SortOrder=Порядок сортировки Format=Формат -TypePaymentDesc=0:Customer payment type, 1:Vendor payment type, 2:Both customers and suppliers payment type +TypePaymentDesc=0: Тип платежа клиента, 1: Тип платежа поставщика, 2: Тип платежа как клиента, так и поставщика IncludePath=Путь к заголовочным файлам (задан в переменной %s) ExpenseReportsSetup=Настройка модуля Отчёты о затратах TemplatePDFExpenseReports=Шаблон документа для создания отчёта о затратах @@ -1864,21 +1879,21 @@ ExpenseReportsRulesSetup=Настройка модуля Отчеты о рас ExpenseReportNumberingModules=Модуль нумерации отчетов о расходах NoModueToManageStockIncrease=Был активирован модуль, способный управлять автоматическим увеличением запасов. Увеличение запасов будет производиться только вручную. YouMayFindNotificationsFeaturesIntoModuleNotification=Вы можете найти опции для уведомлений по электронной почте, включив и настроив модуль «Уведомления». -ListOfNotificationsPerUser=List of automatic notifications per user* -ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact** -ListOfFixedNotifications=List of automatic fixed notifications -GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users -GoOntoContactCardToAddMore=Go to the tab "Notifications" of a third party to add or remove notifications for contacts/addresses +ListOfNotificationsPerUser=Список автоматических уведомлений для каждого пользователя * +ListOfNotificationsPerUserOrContact=Список возможных автоматических уведомлений (о бизнес-мероприятии), доступных для каждого пользователя * или контакта ** +ListOfFixedNotifications=Список автоматических фиксированных уведомлений +GoOntoUserCardToAddMore=Перейдите на вкладку «Уведомления» пользователя, чтобы добавить или удалить уведомления для пользователей. +GoOntoContactCardToAddMore=Перейдите на вкладку «Уведомления» третьей стороны, чтобы добавить или удалить уведомления для контактов / адресов. Threshold=Порог -BackupDumpWizard=Wizard to build the database dump file -BackupZipWizard=Wizard to build the archive of documents directory +BackupDumpWizard=Мастер создания файла дампа базы данных +BackupZipWizard=Мастер создания архива каталога документов SomethingMakeInstallFromWebNotPossible=Установка внешних модулей через веб-интерфейс не возможна по следующей причине: -SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is a manual process only a privileged user may perform. +SomethingMakeInstallFromWebNotPossible2=По этой причине описанный здесь процесс обновления является ручным процессом, который может выполнить только привилегированный пользователь. InstallModuleFromWebHasBeenDisabledByFile=Установка внешних модулей из приложения отключена вашим администратором. Вы должны попросить его удалить файл %s, чтобы использовать эту функцию. ConfFileMustContainCustom=Для установки или создания внешнего модуля из приложения необходимо сохранить файлы модулей в каталог %s. Чтобы этот каталог обрабатывался Dolibarr, вы должны настроить conf/conf.php, чтобы добавить 2 директивные строки:
    $dolibarr_main_url_root_alt = '/custom';
    $dolibarr_main_document_root_alt = '%s/custom'; HighlightLinesOnMouseHover=Выделите строки таблицы при перемещении мыши -HighlightLinesColor=Highlight color of the line when the mouse passes over (use 'ffffff' for no highlight) -HighlightLinesChecked=Highlight color of the line when it is checked (use 'ffffff' for no highlight) +HighlightLinesColor=Цвет выделения линии при наведении курсора мыши (используйте «ffffff», чтобы не выделять) +HighlightLinesChecked=Выделите цвет линии, когда она отмечена (используйте 'ffffff', чтобы не выделять) TextTitleColor=Цвет текста заголовка страницы LinkColor=Цвет ссылок PressF5AfterChangingThis=Нажмите CTRL + F5 на клавиатуре или очистите кеш браузера после изменения этого значения, чтобы оно было эффективным @@ -1889,32 +1904,32 @@ TopMenuDisableImages=Скрыть изображения в верхнем ме LeftMenuBackgroundColor=Цвет фона для меню слева BackgroundTableTitleColor=Цвет фона для заголовка таблицы BackgroundTableTitleTextColor=Цвет текста для заголовка таблицы -BackgroundTableTitleTextlinkColor=Text color for Table title link line +BackgroundTableTitleTextlinkColor=Цвет текста строки ссылки заголовка таблицы BackgroundTableLineOddColor=Цвет фона для нечетных строк таблицы BackgroundTableLineEvenColor=Цвет фона для четных строк таблицы MinimumNoticePeriod=Минимальный период уведомления (ваш запрос на отпуск должен быть выполнен до этой задержки) NbAddedAutomatically=Количество дней, добавленных в счетчики пользователей (автоматически) каждый месяц -EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. -Enter0or1=Enter 0 or 1 -UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For example: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364] +EnterAnyCode=Это поле содержит ссылку для идентификации линии. Введите любое значение по вашему выбору, но без специальных символов. +Enter0or1=Введите 0 или 1 +UnicodeCurrency=Введите здесь в фигурных скобках список номеров байтов, представляющих символ валюты. Например: для $ введите [36] - для бразильских реалов [82,36] - для € введите [8364]. ColorFormat=Цвет RGB находится в формате HEX, например: FF0000 -PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) +PictoHelp=Имя значка в формате dolibarr ('image.png', если в текущем каталоге темы, 'image.png@nom_du_module', если в каталоге / img / модуля) PositionIntoComboList=Позиция строки в комбинированных списках SellTaxRate=Ставка налога на продажу RecuperableOnly=Да для НДС «Не воспринимается, а восстанавливается», предназначенный для некоторых государств во Франции. Сохраняйте значение «Нет» во всех других случаях. -UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card. -OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100). +UrlTrackingDesc=Если поставщик или транспортная служба предлагает страницу или веб-сайт для проверки статуса ваших отправлений, вы можете указать это здесь. Вы можете использовать ключ {TRACKID} в параметрах URL, чтобы система заменила его номером отслеживания, который пользователь ввел в карточку отгрузки. +OpportunityPercent=Когда вы создаете интерес, вы определяете предполагаемую сумму проекта / лида. В зависимости от статуса лида, эта сумма может быть умножена на этот коэффициент, чтобы оценить общую сумму, которую могут генерировать все ваши лиды. Значение - это процент (от 0 до 100). TemplateForElement=Эта запись шаблона посвящена тому, какой элемент TypeOfTemplate=Тип шаблона -TemplateIsVisibleByOwnerOnly=Template is visible to owner only +TemplateIsVisibleByOwnerOnly=Шаблон виден только владельцу VisibleEverywhere=Видимый везде VisibleNowhere=Невидимый нигде FixTZ=Исправление часового пояса FillFixTZOnlyIfRequired=Пример: +2 (заполнить, только если возникла проблема) ExpectedChecksum=Ожидаемая контрольная сумма CurrentChecksum=Текущая контрольная сумма -ExpectedSize=Expected size -CurrentSize=Current size +ExpectedSize=Ожидаемый размер +CurrentSize=Текущий размер ForcedConstants=Требуемые постоянные значения MailToSendProposal=Предложения клиенту MailToSendOrder=Заказы на продажу @@ -1925,7 +1940,7 @@ MailToSendSupplierRequestForQuotation=Запрос коммерческого п MailToSendSupplierOrder=Заказы MailToSendSupplierInvoice=Счета-фактуры поставщика MailToSendContract=Договоры -MailToSendReception=Receptions +MailToSendReception=Приемы MailToThirdparty=Контрагенты MailToMember=Участники MailToUser=Пользователи @@ -1936,11 +1951,11 @@ YouUseLastStableVersion=Вы используете последнюю стаб TitleExampleForMajorRelease=Пример сообщения, которое вы можете использовать для анонса этого основного выпуска (не стесняйтесь использовать его на своих веб-сайтах) TitleExampleForMaintenanceRelease=Пример сообщения, которое вы можете использовать для объявления этой версии обслуживания (не стесняйтесь использовать ее на своих веб-сайтах) ExampleOfNewsMessageForMajorRelease=Доступен Dolibarr ERP & CRM %s. Версия %s - это крупный выпуск с множеством новых функций для пользователей и разработчиков. Вы можете загрузить его из области загрузки портала https://www.dolibarr.org (подкаталог «Стабильные версии»). Вы можете прочитать ChangeLog полный список изменений. -ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Version %s is a maintenance version, so contains only bug fixes. We recommend all users to upgrade to this version. A maintenance release does not introduce new features or changes to the database. You may download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read the ChangeLog for complete list of changes. -MultiPriceRuleDesc=When option "Several levels of prices per product/service" is enabled, you can define different prices (one per price level) for each product. To save you time, here you may enter a rule to autocalculate a price for each level based on the price of the first level, so you will have to only enter a price for the first level for each product. This page is designed to save you time but is useful only if your prices for each level are relative to first level. You can ignore this page in most cases. +ExampleOfNewsMessageForMaintenanceRelease=Доступен Dolibarr ERP & CRM %s. Версия %s является обслуживаемой, поэтому содержит только исправления ошибок. Мы рекомендуем всем пользователям перейти на эту версию. Отладочный выпуск не вводит новых функций или изменений в базу данных. Вы можете скачать его из раздела загрузок портала https://www.dolibarr.org (подкаталог Стабильные версии). Вы можете прочитать ChangeLog для полного списка изменений. +MultiPriceRuleDesc=Когда опция «Несколько уровней цен на продукт / услугу» включена, вы можете определить разные цены (по одной на уровень цен) для каждого продукта. Чтобы сэкономить время, здесь вы можете ввести правило для автоматического расчета цены для каждого уровня на основе цены первого уровня, поэтому вам нужно будет вводить цену только для первого уровня для каждого продукта. Эта страница предназначена для экономии вашего времени, но полезна только в том случае, если ваши цены для каждого уровня относительно первого уровня. В большинстве случаев вы можете игнорировать эту страницу. ModelModulesProduct=Шаблоны для документов продуктов -WarehouseModelModules=Templates for documents of warehouses -ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate codes automatically, you must first define a manager to auto-define the barcode number. +WarehouseModelModules=Шаблоны документов складов +ToGenerateCodeDefineAutomaticRuleFirst=Чтобы иметь возможность автоматически генерировать коды, вы должны сначала определить менеджера для автоматического определения номера штрих-кода. SeeSubstitutionVars=См. * Примечание для списка возможных переменных замещения SeeChangeLog=См. Файл ChangeLog (только на английском языке) AllPublishers=Все издатели @@ -1961,15 +1976,15 @@ AddOtherPagesOrServices=Добавить другие страницы или у AddModels=Добавление шаблонов документов или нумерации AddSubstitutions=Добавить замены клавиш DetectionNotPossible=Обнаружение невозможно -UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received it is saved in database user table and must be provided on each API call) +UrlToGetKeyToUseAPIs=URL-адрес для получения токена для использования API (после получения токена он сохраняется в таблице пользователей базы данных и должен предоставляться при каждом вызове API) ListOfAvailableAPIs=Список доступных API activateModuleDependNotSatisfied=Модуль "%s" зависит от модуля "%s", который отсутствует, поэтому модуль "%1$s" может работать неправильно. Пожалуйста, установите модуль "%2$s" или отключите модуль "%1$s", если вы хотите быть в безопасности от неожиданностей -CommandIsNotInsideAllowedCommands=The command you are trying to run is not in the list of allowed commands defined in parameter $dolibarr_main_restrict_os_commands in the conf.php file. +CommandIsNotInsideAllowedCommands=Команда, которую вы пытаетесь запустить, отсутствует в списке разрешенных команд, определенных в параметре $ dolibarr_main_restrict_os_commands в файле conf.php . LandingPage=Целевая страница SamePriceAlsoForSharedCompanies=Если вы используете модуль мультикомпания с выбором «Единая цена», цена также будет одинаковой для всех компаний, если продукты распределены между окружениями. ModuleEnabledAdminMustCheckRights=Модуль активирован. Разрешения для активированного модуля (модулей) были предоставлены только администраторам. Возможно, вам потребуется предоставить разрешения другим пользователям или группам вручную, если это необходимо. -UserHasNoPermissions=This user has no permissions defined -TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "%s")
    Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "%s" in days)
    Use "Current/Next" to have payment term date being the first Nth of the month after delta (delta is field "%s", N is stored into field "%s") +UserHasNoPermissions=У этого пользователя нет определенных разрешений +TypeCdr=Используйте "Примечания" если дата условий оплаты is date of invoice plus a delta in days (delta is field "%s")
    Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "%s" in days)
    Use "Current/Next" to have payment term date being the first Nth of the month after delta (delta is field "%s", N is stored into field "%s") BaseCurrency=Справочная валюта компании (перейдите в настройку компании, чтобы изменить это) WarningNoteModuleInvoiceForFrenchLaw=Этот модуль %s соответствует французским законам (Loi Finance 2016). WarningNoteModulePOSForFrenchLaw=Этот модуль %s соответствует французским законам (Loi Finance 2016), поскольку модуль необратимых журналов активируется автоматически. @@ -1978,154 +1993,169 @@ MAIN_PDF_MARGIN_LEFT=Левый отступ в PDF MAIN_PDF_MARGIN_RIGHT=Правый отступ PDF MAIN_PDF_MARGIN_TOP=Верхний отступ PDF MAIN_PDF_MARGIN_BOTTOM=Нижний отступ PDF -MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_DOCUMENTS_LOGO_HEIGHT=Высота для логотипа в PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Добавить изображение в строку предложения +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Добавить электронный вход в PDF NothingToSetup=Для этого модуля не требуется никаких специальных настроек. SetToYesIfGroupIsComputationOfOtherGroups=Установите для этого значение yes, если эта группа является вычислением других групп -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +EnterCalculationRuleIfPreviousFieldIsYes=Введите правило расчета, если в предыдущем поле было установлено значение Да.
    Например:
    CODEGRP1 + CODEGRP2 SeveralLangugeVariatFound=Было найдено несколько вариантов языка RemoveSpecialChars=Удаление специальных символов COMPANY_AQUARIUM_CLEAN_REGEX=Фильтр регулярных выражений для очистки значения (COMPANY_AQUARIUM_CLEAN_REGEX) -COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) -COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed -GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) -GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here -HelpOnTooltip=Help text to show on tooltip -HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form -YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
    %s -ChartLoaded=Chart of account loaded +COMPANY_DIGITARIA_CLEAN_REGEX=Фильтр регулярных выражений для очистки значения (COMPANY_DIGITARIA_CLEAN_REGEX) +COMPANY_DIGITARIA_UNIQUE_CODE=Дубликат не допускается +GDPRContact=Сотрудник по защите данных (контактное лицо DPO, Data Privacy или GDPR) +GDPRContactDesc=Если вы храните данные о европейских компаниях / гражданах, здесь вы можете указать контактное лицо, отвечающее за общие правила защиты данных. +HelpOnTooltip=Текст справки для отображения во всплывающей подсказке +HelpOnTooltipDesc=Поместите здесь текст или ключ перевода, чтобы текст отображался во всплывающей подсказке, когда это поле появляется в форме +YouCanDeleteFileOnServerWith=Вы можете удалить этот файл на сервере с помощью командной строки:
    %s +ChartLoaded=График счета загружен SocialNetworkSetup=Настройка модуля Социальные сети -EnableFeatureFor=Enable features for %s +EnableFeatureFor=Включить функции для %s VATIsUsedIsOff=Примечание: В меню %s - %s для параметра «Использовать налог с продаж или НДС» было установлено значение Выкл. , поэтому для продаж всегда используется 0 налога с продаж или НДС. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. -EmailCollector=Email collector -EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). -NewEmailCollector=New Email Collector -EMailHost=Host of email IMAP server -MailboxSourceDirectory=Mailbox source directory -MailboxTargetDirectory=Mailbox target directory -EmailcollectorOperations=Operations to do by collector -EmailcollectorOperationsDesc=Operations are executed from top to bottom order -MaxEmailCollectPerCollect=Max number of emails collected per collect -CollectNow=Collect now -ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ? -DateLastCollectResult=Date of latest collect try -DateLastcollectResultOk=Date of latest collect success -LastResult=Latest result -EmailCollectorConfirmCollectTitle=Email collect confirmation -EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ? -NoNewEmailToProcess=No new email (matching filters) to process -NothingProcessed=Nothing done -XEmailsDoneYActionsDone=%s emails qualified, %s emails successfully processed (for %s record/actions done) -RecordEvent=Record email event -CreateLeadAndThirdParty=Create lead (and third party if necessary) -CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) -CodeLastResult=Latest result code -NbOfEmailsInInbox=Number of emails in source directory -LoadThirdPartyFromName=Load third party searching on %s (load only) -LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found) -WithDolTrackingID=Message from a conversation initiated by a first email sent from Dolibarr -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr -WithDolTrackingIDInMsgId=Message sent from Dolibarr -WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr -CreateCandidature=Create job application +SwapSenderAndRecipientOnPDF=Поменять местами адреса отправителя и получателя в PDF-документах +FeatureSupportedOnTextFieldsOnly=Предупреждение, функция поддерживается только для текстовых полей и комбинированных списков. Также должен быть установлен параметр URL action = create или action = edit ИЛИ имя страницы должно заканчиваться на 'new.php', чтобы активировать эту функцию. +EmailCollector=Сборщик писем +EmailCollectorDescription=Добавьте запланированное задание и страницу настройки, чтобы регулярно сканировать ящики электронной почты (с использованием протокола IMAP) и записывать электронные письма, полученные в ваше приложение, в нужное место и / или создавать некоторые записи автоматически (например, потенциальных клиентов). +NewEmailCollector=Новый сборщик электронной почты +EMailHost=Хост почтового сервера IMAP +MailboxSourceDirectory=Исходный каталог почтового ящика +MailboxTargetDirectory=Целевой каталог почтового ящика +EmailcollectorOperations=Операции, выполняемые сборщиком +EmailcollectorOperationsDesc=Операции выполняются сверху вниз. +MaxEmailCollectPerCollect=Максимальное количество писем, собранных за один сбор +CollectNow=Собери сейчас +ConfirmCloneEmailCollector=Вы уверены, что хотите клонировать сборщик электронной почты %s? +DateLastCollectResult=Дата последней попытки сбора +DateLastcollectResultOk=Дата последнего успешного сбора +LastResult=Последний результат +EmailCollectorConfirmCollectTitle=Подтверждение сбора по электронной почте +EmailCollectorConfirmCollect=Вы хотите запустить коллекцию для этого сборщика сейчас? +NoNewEmailToProcess=Нет новых писем (соответствующие фильтры) для обработки +NothingProcessed=Ничего не сделано +XEmailsDoneYActionsDone=Письма %s квалифицированы, электронные письма %s успешно обработаны (для записи %s / выполненных действий) +RecordEvent=Записать событие электронной почты +CreateLeadAndThirdParty=Создайте лида (и стороннюю организацию, если необходимо) +CreateTicketAndThirdParty=Создать тикет (и ссылку на третье лицо, если он был загружен предыдущей операцией) +CodeLastResult=Последний код результата +NbOfEmailsInInbox=Количество писем в исходном каталоге +LoadThirdPartyFromName=Загрузить сторонний поиск на %s (только загрузка) +LoadThirdPartyFromNameOrCreate=Загрузите сторонний поиск на %s (создайте, если не найден) +WithDolTrackingID=Сообщение из беседы, инициированной первым письмом, отправленным от Dolibarr +WithoutDolTrackingID=Сообщение из беседы, инициированной первым электронным письмом, НЕ отправленным от Dolibarr +WithDolTrackingIDInMsgId=Сообщение отправлено из Долибарра +WithoutDolTrackingIDInMsgId=Сообщение НЕ отправлено из Dolibarr +CreateCandidature=Создать заявление о приеме на работу FormatZip=Индекс -MainMenuCode=Menu entry code (mainmenu) -ECMAutoTree=Show automatic ECM tree -OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -OpeningHours=Opening hours -OpeningHoursDesc=Enter here the regular opening hours of your company. +MainMenuCode=Код входа в меню (главное меню) +ECMAutoTree=Показать автоматическое дерево ECM +OperationParamDesc=Определите значения, которые будут использоваться для объекта действия, или способы извлечения значений. Например:
    objproperty1 = SET: значение, которое нужно установить
    objproperty2 = SET: значение с заменой __objproperty1__
    objproperty3 = SETIFEMPTY: значение, используемое, если objproperty2: objproperty19: значение, используемое, если objproperty2 уже определено, если objproperty2: * - значение objproperty2: * objproperty4 ([^ \\ s] *)
    options_myextrafield1 = EXTRACT: SUBJECT: ([^ & # 92; n] *)
    object.objproperty5 = EXTRACT: BODY: Название моей компании - \\ s ([^ \\ s] *) a019bda
    Используйте a; char в качестве разделителя для извлечения или установки нескольких свойств. +OpeningHours=Часы работы +OpeningHoursDesc=Введите здесь обычные часы работы вашей компании. ResourceSetup=Конфигурация модуля Ресурсов UseSearchToSelectResource=Используйте форму поиска, чтобы выбрать ресурс (а не раскрывающийся список). DisabledResourceLinkUser=Отключить функцию привязки ресурса к пользователям DisabledResourceLinkContact=Отключить функцию привязки ресурса к контактам -EnableResourceUsedInEventCheck=Enable feature to check if a resource is in use in an event +EnableResourceUsedInEventCheck=Включите функцию, чтобы проверить, используется ли ресурс в событии ConfirmUnactivation=Подтвердите сброс модуля -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) -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_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' -DefaultCustomerType=Default thirdparty type for "New customer" creation form +OnMobileOnly=Только на маленьком экране (смартфон) +DisableProspectCustomerType=Отключите тип третьей стороны «Проспект + клиент» (таким образом, третья сторона должна быть «Проспект» или «Клиент», но не может быть одновременно) +MAIN_OPTIMIZEFORTEXTBROWSER=Упростите интерфейс для слепых +MAIN_OPTIMIZEFORTEXTBROWSERDesc=Включите эту опцию, если вы слепой или используете приложение из текстового браузера, такого как Lynx или Links. +MAIN_OPTIMIZEFORCOLORBLIND=Изменить цвет интерфейса для дальтоника +MAIN_OPTIMIZEFORCOLORBLINDDesc=Включите эту опцию, если вы дальтоник, в некоторых случаях интерфейс изменит настройку цвета, чтобы увеличить контраст. +Protanopia=Протанопия +Deuteranopes=Дейтеранопы +Tritanopes=Тританопы +ThisValueCanOverwrittenOnUserLevel=Это значение может быть перезаписано каждым пользователем со своей пользовательской страницы - вкладка '%s' +DefaultCustomerType=Тип стороннего лица по умолчанию для формы создания «Нового клиента» ABankAccountMustBeDefinedOnPaymentModeSetup=Примечание. Банковский счет должен быть указан в модуле каждого способа оплаты (Paypal, Stripe, ...), чтобы эта функция работала. -RootCategoryForProductsToSell=Root category of products to sell -RootCategoryForProductsToSellDesc=If defined, only products inside this category or childs of this category will be available in the Point Of Sale -DebugBar=Debug Bar -DebugBarDesc=Toolbar that comes with a plenty of tools to simplify debugging -DebugBarSetup=DebugBar Setup -GeneralOptions=General Options -LogsLinesNumber=Number of lines to show on logs tab -UseDebugBar=Use the debug bar -DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console -WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output -ModuleActivated=Module %s is activated and slows the interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) -IfYouAreOnAProductionSetThis=If you are on a production environment, you should set this property to %s. -AntivirusEnabledOnUpload=Antivirus enabled on uploaded files -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode -EXPORTS_SHARE_MODELS=Export models are share with everybody -ExportSetup=Setup of module Export -ImportSetup=Setup of module Import -InstanceUniqueID=Unique ID of the instance -SmallerThan=Smaller than -LargerThan=Larger than -IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. -WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. -EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. -EndPointFor=End point for %s : %s -DeleteEmailCollector=Delete 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 -RESTRICT_ON_IP=Allow access to some host IP only (wildcard not allowed, use space between values). Empty means every hosts can access. +RootCategoryForProductsToSell=Корневая категория продуктов для продажи +RootCategoryForProductsToSellDesc=Если он определен, в торговой точке будут доступны только продукты из этой категории или дочерние продукты этой категории. +DebugBar=Панель отладки +DebugBarDesc=Панель инструментов с множеством инструментов для упрощения отладки +DebugBarSetup=Настройка DebugBar +GeneralOptions=Общие настройки +LogsLinesNumber=Количество строк, отображаемых на вкладке журналов +UseDebugBar=Используйте панель отладки +DEBUGBAR_LOGS_LINES_NUMBER=Количество последних строк журнала для сохранения в консоли +WarningValueHigherSlowsDramaticalyOutput=Предупреждение, более высокие значения резко замедляют вывод +ModuleActivated=Модуль %s активирован и замедляет работу интерфейса +ModuleActivatedWithTooHighLogLevel=Модуль %s активирован со слишком высоким уровнем ведения журнала (попробуйте использовать более низкий уровень для повышения производительности и безопасности) +ModuleSyslogActivatedButLevelNotTooVerbose=Модуль %s активирован, и уровень журнала (%s) правильный (не слишком подробный) +IfYouAreOnAProductionSetThis=Если вы работаете в производственной среде, вам следует установить для этого свойства значение %s. +AntivirusEnabledOnUpload=Антивирус включен для загруженных файлов +SomeFilesOrDirInRootAreWritable=Некоторые файлы или каталоги не доступны только для чтения +EXPORTS_SHARE_MODELS=Экспортные модели делятся со всеми +ExportSetup=Настройка модуля Экспорт +ImportSetup=Настройка модуля Импорт +InstanceUniqueID=Уникальный идентификатор экземпляра +SmallerThan=Меньше чем +LargerThan=Больше, чем +IfTrackingIDFoundEventWillBeLinked=Обратите внимание, что если идентификатор отслеживания объекта найден в электронном письме или если электронное письмо является ответом на электронную почту, которую собирают и связывают с объектом, созданное событие будет автоматически связано с известным связанным объектом. +WithGMailYouCanCreateADedicatedPassword=В учетной записи GMail, если вы включили двухэтапную проверку, рекомендуется создать специальный второй пароль для приложения вместо использования пароля своей учетной записи с https://myaccount.google.com/. +EmailCollectorTargetDir=Может оказаться желательным переместить электронное письмо в другой тег / каталог, когда оно было успешно обработано. Просто укажите здесь имя каталога, чтобы использовать эту функцию (НЕ используйте в имени специальные символы). Обратите внимание, что вы также должны использовать учетную запись для входа в систему для чтения / записи. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    +EndPointFor=Конечная точка для %s: %s +DeleteEmailCollector=Удалить сборщик электронной почты +ConfirmDeleteEmailCollector=Вы уверены, что хотите удалить этот сборщик электронной почты? +RecipientEmailsWillBeReplacedWithThisValue=Электронная почта получателя всегда будет заменена этим значением +AtLeastOneDefaultBankAccountMandatory=Должен быть определен хотя бы 1 банковский счет по умолчанию. +RESTRICT_ON_IP=Разрешить доступ только к IP-адресу некоторого хоста (подстановочные знаки не разрешены, используйте пробел между значениями). Пусто означает, что доступ есть у всех хостов. IPListExample=127.0.0.1 192.168.0.2 [::1] -BaseOnSabeDavVersion=Based on the library SabreDAV version -NotAPublicIp=Not a public IP -MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -EmailTemplate=Template for email -EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard -JumpToBoxes=Jump to Setup -> Widgets -MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" -MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. -TemplateAdded=Template added -TemplateUpdated=Template updated -TemplateDeleted=Template deleted -MailToSendEventPush=Event reminder email -SwitchThisForABetterSecurity=Switching this value to %s is recommended for more security -DictionaryProductNature= Nature of product -CountryIfSpecificToOneCountry=Country (if specific to a given country) -YouMayFindSecurityAdviceHere=You may find security advisory here -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. -CombinationsSeparator=Separator character for product combinations -SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. -AskThisIDToYourBank=Contact your bank to get this ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +BaseOnSabeDavVersion=На основе версии библиотеки SabreDAV +NotAPublicIp=Не публичный IP +MakeAnonymousPing=Сделайте анонимный эхо-запрос «+1» к серверу фонда Dolibarr (выполняется 1 раз только после установки), чтобы позволить фонду подсчитать количество установок Dolibarr. +FeatureNotAvailableWithReceptionModule=Функция недоступна, если включен модуль Прием +EmailTemplate=Шаблон для электронной почты +EMailsWillHaveMessageID=Письма будут иметь тег "Ссылки", соответствующий этому синтаксису. +PDF_SHOW_PROJECT=Показать проект в документе +ShowProjectLabel=Этикетка проекта +PDF_USE_ALSO_LANGUAGE_CODE=Если вы хотите, чтобы некоторые тексты в вашем PDF-файле были продублированы на 2 разных языках в одном сгенерированном PDF-файле, вы должны установить здесь этот второй язык, чтобы сгенерированный PDF-файл содержал 2 разных языка на одной странице: один, выбранный при создании PDF, и этот ( только несколько шаблонов PDF поддерживают это). Оставьте пустым для 1 языка в PDF-файле. +FafaIconSocialNetworksDesc=Введите здесь код значка FontAwesome. Если вы не знаете, что такое FontAwesome, вы можете использовать общее значение fa-address-book. +RssNote=Примечание. Каждое определение RSS-канала предоставляет виджет, который необходимо включить, чтобы он был доступен на панели управления. +JumpToBoxes=Перейти к настройке -> Виджеты +MeasuringUnitTypeDesc=Используйте здесь такие значения, как «размер», «поверхность», «объем», «вес», «время». +MeasuringScaleDesc=Масштаб - это количество мест, на которое вы должны переместить десятичную часть, чтобы она соответствовала единице измерения по умолчанию. Для единиц измерения «время» это количество секунд. Значения от 80 до 99 - это зарезервированные значения. +TemplateAdded=Шаблон добавлен +TemplateUpdated=Шаблон обновлен +TemplateDeleted=Шаблон удален +MailToSendEventPush=Электронное письмо с напоминанием о мероприятии +SwitchThisForABetterSecurity=Для большей безопасности рекомендуется переключить это значение на %s. +DictionaryProductNature= Природа продукта +CountryIfSpecificToOneCountry=Страна (если она специфична для данной страны) +YouMayFindSecurityAdviceHere=Здесь вы можете найти советы по безопасности +ModuleActivatedMayExposeInformation=Это расширение PHP может раскрывать конфиденциальные данные. Если он вам не нужен, отключите его. +ModuleActivatedDoNotUseInProduction=Включен модуль, предназначенный для разработки. Не включайте его в производственной среде. +CombinationsSeparator=Символ-разделитель для комбинаций продуктов +SeeLinkToOnlineDocumentation=См. Ссылку на онлайн-документацию в верхнем меню для примеров. +SHOW_SUBPRODUCT_REF_IN_PDF=Если используется функция «%s» модуля %s , покажите детали субпродуктов комплекта в PDF. +AskThisIDToYourBank=Свяжитесь с вашим банком, чтобы получить этот идентификатор +AdvancedModeOnly=Разрешение доступно только в расширенном режиме разрешений +ConfFileIsReadableOrWritableByAnyUsers=Файл conf доступен для чтения или для записи любым пользователям. Дайте разрешение только пользователю и группе веб-сервера. +MailToSendEventOrganization=Организация мероприятий +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Статус события по умолчанию при создании события из формы +YouShouldDisablePHPFunctions=Вы должны отключить функции PHP +IfCLINotRequiredYouShouldDisablePHPFunctions=За исключением случаев, когда вам нужно запускать системные команды в пользовательском коде, вы должны отключить функции PHP. +PHPFunctionsRequiredForCLI=Для целей оболочки (например, резервного копирования заданий по расписанию или запуска антивирусной программы) вы должны сохранить функции PHP +NoWritableFilesFoundIntoRootDir=В корневом каталоге не обнаружены доступные для записи файлы или каталоги распространенных программ (Хорошо) +RecommendedValueIs=Рекомендуется: %s +Recommended=Рекомендуемые +NotRecommended=Не рекомендуется +ARestrictedPath=Ограниченный путь +CheckForModuleUpdate=Проверить обновления внешних модулей +CheckForModuleUpdateHelp=Это действие подключится к редакторам внешних модулей, чтобы проверить, доступна ли новая версия. +ModuleUpdateAvailable=Доступно обновление +NoExternalModuleWithUpdate=Обновлений для внешних модулей не найдено +SwaggerDescriptionFile=Файл описания Swagger API (например, для использования с redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Вы включили устаревший WS API. Вместо этого вам следует использовать REST API. +RandomlySelectedIfSeveral=Выбирается случайным образом, если доступно несколько изображений +DatabasePasswordObfuscated=Пароль базы данных зашифрован в файле conf +DatabasePasswordNotObfuscated=Пароль базы данных НЕ запутывается в файле conf +APIsAreNotEnabled=Модули API не включены +YouShouldSetThisToOff=Вы должны установить это на 0 или выключить +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/ru_RU/agenda.lang b/htdocs/langs/ru_RU/agenda.lang index f63694850d1..18def072e3a 100644 --- a/htdocs/langs/ru_RU/agenda.lang +++ b/htdocs/langs/ru_RU/agenda.lang @@ -4,7 +4,7 @@ Actions=События Agenda=Повестка дня TMenuAgenda=Повестка дня Agendas=Повестка дня -LocalAgenda=Внутренний календарь +LocalAgenda=Календарь по умолчанию ActionsOwnedBy=Событие принадлежит ActionsOwnedByShort=Владелец AffectedTo=Ответств. @@ -14,13 +14,13 @@ EventsNb=Количество событий ListOfActions=Список событий EventReports=События Location=Местонахождение -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Событие, назначенное любому пользователю в группе EventOnFullDay=Событие на весь день (все дни) MenuToDoActions=Все незавершенные события MenuDoneActions=Все прекращенные события MenuToDoMyActions=Мои незавершенные события MenuDoneMyActions=Мои прекращенные события -ListOfEvents=Список событий из внутреннего календаря +ListOfEvents=Список событий (календарь по умолчанию) ActionsAskedBy=События созданы ActionsToDoBy=события назначены ActionsDoneBy=Действия, проделанную @@ -31,16 +31,17 @@ ViewWeek=Обзор недели ViewPerUser=Просмотр по пользователям ViewPerType=Просмотр по типу AutoActions= Автоматическое заполнение дня -AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. -AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...) +AgendaAutoActionDesc= Здесь вы можете определить события, которые вы хотите, чтобы Dolibarr автоматически создавал в Agenda. Если ничего не отмечено, только ручные действия будут включены в журналы и отображаться в повестке дня. Автоматическое отслеживание бизнес-действий, выполняемых над объектами (проверка, изменение статуса), не сохраняется. +AgendaSetupOtherDesc= На этой странице представлены параметры, позволяющие экспортировать ваши события Dolibarr во внешний календарь (Thunderbird, Google Calendar и т. Д.). AgendaExtSitesDesc=Эта страница позволяет настроить внешний календарей. ActionsEvents=События, за которые Dolibarr создадут действий в повестку дня автоматически -EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. +EventRemindersByEmailNotEnabled=Напоминания о событиях по электронной почте не были включены в настройку модуля %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Третья сторона %s создана -COMPANY_DELETEInDolibarr=Third party %s deleted +COMPANY_MODIFYInDolibarr=Третье лицо %s изменено +COMPANY_DELETEInDolibarr=Третье лицо%s удалено ContractValidatedInDolibarr=Контакт %s подтверждён -CONTRACT_DELETEInDolibarr=Contract %s deleted +CONTRACT_DELETEInDolibarr=Контракт %s удален PropalClosedSignedInDolibarr=Ком. предложение %s подписано PropalClosedRefusedInDolibarr=Ком. предложение %s отклонено PropalValidatedInDolibarr=Предложение проверены @@ -60,10 +61,10 @@ MemberSubscriptionModifiedInDolibarr=Подписка %s для члена %s и MemberSubscriptionDeletedInDolibarr=Подписка %s для участника %s удалена ShipmentValidatedInDolibarr=Отправка %s подтверждена ShipmentClassifyClosedInDolibarr=Отправка %sотмечена "оплачено" -ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open -ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status +ShipmentUnClassifyCloseddInDolibarr=Отгрузка %s засекречена повторно +ShipmentBackToDraftInDolibarr=Отгрузка %s вернуться в статус черновика ShipmentDeletedInDolibarr=Отправка %s удалена -ReceptionValidatedInDolibarr=Reception %s validated +ReceptionValidatedInDolibarr=Прием %s подтвержден OrderCreatedInDolibarr=Заказ %s создан OrderValidatedInDolibarr=Заказ %s проверен OrderDeliveredInDolibarr=Заказ %s доставлен @@ -72,30 +73,31 @@ OrderBilledInDolibarr=Заказ %s готов к выставлению счё OrderApprovedInDolibarr=Заказ %s утвержден OrderRefusedInDolibarr=Заказ %s отклонён OrderBackToDraftInDolibarr=Заказ %s возращен в статус черновик -ProposalSentByEMail=Commercial proposal %s sent by email -ContractSentByEMail=Contract %s sent by email -OrderSentByEMail=Sales order %s sent by email -InvoiceSentByEMail=Customer invoice %s sent by email -SupplierOrderSentByEMail=Purchase order %s sent by email -ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted -SupplierInvoiceSentByEMail=Vendor invoice %s sent by email -ShippingSentByEMail=Shipment %s sent by email +ProposalSentByEMail=Коммерческое предложение %s отправлено по электронной почте +ContractSentByEMail=Контракт %s отправлен по электронной почте +OrderSentByEMail=Заказ на продажу %s отправлен по электронной почте +InvoiceSentByEMail=Счет клиента %s отправлен по электронной почте +SupplierOrderSentByEMail=Заказ на покупку %s отправлен по электронной почте +ORDER_SUPPLIER_DELETEInDolibarr=Заказ на покупку %s удален +SupplierInvoiceSentByEMail=Счет поставщика %s отправлен по электронной почте +ShippingSentByEMail=Отгрузка %s отправлена по электронной почте ShippingValidated= Отправка %s подтверждена -InterventionSentByEMail=Intervention %s sent by email +InterventionSentByEMail=Вмешательство %s отправлено по электронной почте ProposalDeleted=Предложение удалено OrderDeleted=Заказ удалён InvoiceDeleted=Счёт удалён -DraftInvoiceDeleted=Draft invoice deleted -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_DELETEInDolibarr=Contact %s deleted +DraftInvoiceDeleted=Черновик счета удален +CONTACT_CREATEInDolibarr=Контакт %s создан +CONTACT_MODIFYInDolibarr=Связаться с %s изменено +CONTACT_DELETEInDolibarr=Контакт %s удален PRODUCT_CREATEInDolibarr=Товар %sсоздан PRODUCT_MODIFYInDolibarr=Товар %sизменён PRODUCT_DELETEInDolibarr=Товар %sудалён -HOLIDAY_CREATEInDolibarr=Request for leave %s created -HOLIDAY_MODIFYInDolibarr=Request for leave %s modified -HOLIDAY_APPROVEInDolibarr=Request for leave %s approved -HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated -HOLIDAY_DELETEInDolibarr=Request for leave %s deleted +HOLIDAY_CREATEInDolibarr=Запрос на выезд %s создан +HOLIDAY_MODIFYInDolibarr=Запрос на отпуск %s изменен +HOLIDAY_APPROVEInDolibarr=Запрос на отпуск %s одобрен +HOLIDAY_VALIDATEInDolibarr=Запрос на отпуск %s подтвержден +HOLIDAY_DELETEInDolibarr=Запрос на отпуск %s удален EXPENSE_REPORT_CREATEInDolibarr=Отчет о расходах %s создан EXPENSE_REPORT_VALIDATEInDolibarr=Отчет о расходах %s утвержден EXPENSE_REPORT_APPROVEInDolibarr=Отчет о расходах %s одобрен @@ -104,21 +106,22 @@ EXPENSE_REPORT_REFUSEDInDolibarr=Отчет о расходах %s отказа PROJECT_CREATEInDolibarr=Проект %s создан PROJECT_MODIFYInDolibarr=Проект %s изменен PROJECT_DELETEInDolibarr=Проект %s удален -TICKET_CREATEInDolibarr=Ticket %s created -TICKET_MODIFYInDolibarr=Ticket %s modified -TICKET_ASSIGNEDInDolibarr=Ticket %s assigned -TICKET_CLOSEInDolibarr=Ticket %s closed -TICKET_DELETEInDolibarr=Ticket %s deleted -BOM_VALIDATEInDolibarr=BOM validated -BOM_UNVALIDATEInDolibarr=BOM unvalidated -BOM_CLOSEInDolibarr=BOM disabled -BOM_REOPENInDolibarr=BOM reopen -BOM_DELETEInDolibarr=BOM deleted -MRP_MO_VALIDATEInDolibarr=MO validated -MRP_MO_UNVALIDATEInDolibarr=MO set to draft status -MRP_MO_PRODUCEDInDolibarr=MO produced -MRP_MO_DELETEInDolibarr=MO deleted -MRP_MO_CANCELInDolibarr=MO canceled +TICKET_CREATEInDolibarr=Билет %s создан +TICKET_MODIFYInDolibarr=Билет %s изменен +TICKET_ASSIGNEDInDolibarr=Билет %s назначен +TICKET_CLOSEInDolibarr=Билет %s закрыт +TICKET_DELETEInDolibarr=Билет %s удален +BOM_VALIDATEInDolibarr=Спецификация подтверждена +BOM_UNVALIDATEInDolibarr=Спецификация не подтверждена +BOM_CLOSEInDolibarr=Спецификация отключена +BOM_REOPENInDolibarr=BOM повторно открыть +BOM_DELETEInDolibarr=Спецификация удалена +MRP_MO_VALIDATEInDolibarr=МО подтверждено +MRP_MO_UNVALIDATEInDolibarr=MO установлен в статус черновика +MRP_MO_PRODUCEDInDolibarr=МО произведено +MRP_MO_DELETEInDolibarr=МО удалено +MRP_MO_CANCELInDolibarr=МО отменено +PAIDInDolibarr=%s платный ##### End agenda events ##### AgendaModelModule=Шаблоны документов для события DateActionStart=Начальная дата @@ -128,9 +131,9 @@ AgendaUrlOptions3= logina = %s , чтобы ограничить выво AgendaUrlOptionsNotAdmin=logina =! %s для ограничения вывода на действий, не принадлежащих пользователю %s. AgendaUrlOptions4=logint = %s для ограничения вывода на действия, назначенные пользователю %s (владелец и другие). AgendaUrlOptionsProject=project = __ PROJECT_ID __, чтобы ограничить вывод действий, связанных с проектом __ PROJECT_ID __ . -AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. -AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Показывать дни рождения контактов +AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto , чтобы исключить автоматические события. +AgendaUrlOptionsIncludeHolidays= includeholidays = 1 для включения событий праздников. +AgendaShowBirthdayEvents=Дни рождения контактов AgendaHideBirthdayEvents=Скрыть дни рождения контактов Busy=Занят ExportDataset_event1=Список запланированных мероприятий @@ -139,7 +142,7 @@ DefaultWorkingHours=Диапазон рабочих часов в день (На # External Sites ical ExportCal=Экспорт календаря ExtSites=Импортировать календари -ExtSitesEnableThisTool=Show external calendars (defined in global setup) in Agenda. Does not affect external calendars defined by users. +ExtSitesEnableThisTool=Показывать внешние календари (определенные в глобальной настройке) в повестке дня. Не влияет на внешние календари, определенные пользователями. ExtSitesNbOfAgenda=Количество календарей AgendaExtNb=Календарь №. %s ExtSiteUrlAgenda=URL для файла календаря .ical @@ -152,17 +155,18 @@ ActionType=Тип события DateActionBegin=Дата начала события ConfirmCloneEvent=Вы действительно хотите клонировать событие %s? RepeatEvent=Повторять событие +OnceOnly=Только однажды EveryWeek=Каждую неделю EveryMonth=Каждый месяц DayOfMonth=День месяца DayOfWeek=День недели DateStartPlusOne=Дата начала + 1 час -SetAllEventsToTodo=Set all events to todo -SetAllEventsToInProgress=Set all events to in progress -SetAllEventsToFinished=Set all events to finished -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +SetAllEventsToTodo=Установить все события в список дел +SetAllEventsToInProgress=Установить все события как выполняющиеся +SetAllEventsToFinished=Установить все события как завершенные +ReminderTime=Период напоминания перед мероприятием +TimeType=Тип продолжительности +ReminderType=Тип обратного звонка +AddReminder=Создать автоматическое напоминание для этого события +ErrorReminderActionCommCreation=Не удалось создать напоминание об этом мероприятии. +BrowserPush=Уведомление о всплывающем окне браузера diff --git a/htdocs/langs/ru_RU/assets.lang b/htdocs/langs/ru_RU/assets.lang index 3856fe6c865..df5081a02ee 100644 --- a/htdocs/langs/ru_RU/assets.lang +++ b/htdocs/langs/ru_RU/assets.lang @@ -22,13 +22,13 @@ AccountancyCodeAsset = Учетный код (актив) AccountancyCodeDepreciationAsset = Учетный код (счет актива амортизации) AccountancyCodeDepreciationExpense = Учетный код (счет амортизационных расходов) NewAssetType=Тип нового актива -AssetsTypeSetup=Asset type setup -AssetTypeModified=Asset type modified +AssetsTypeSetup=Настройка типа актива +AssetTypeModified=Тип актива изменен AssetType=Тип актива AssetsLines=Активы DeleteType=Удалить -DeleteAnAssetType=Delete an asset type -ConfirmDeleteAssetType=Are you sure you want to delete this asset type? +DeleteAnAssetType=Удалить тип актива +ConfirmDeleteAssetType=Вы действительно хотите удалить этот тип актива? ShowTypeCard=Показать типу ' %s' # Module label 'ModuleAssetsName' @@ -42,7 +42,7 @@ ModuleAssetsDesc = Описание активов AssetsSetup = Настройка активов Settings = Настройки AssetsSetupPage = Страница настройки активов -ExtraFieldsAssetsType = Complementary attributes (Asset type) +ExtraFieldsAssetsType = Дополнительные атрибуты (тип актива) AssetsType=Тип актива AssetsTypeId=Идентификатор типа актива AssetsTypeLabel=Метка типа актива @@ -61,5 +61,7 @@ MenuListTypeAssets = Список # # Module # +Asset=Актив NewAssetType=Тип нового актива NewAsset=Новый актив +ConfirmDeleteAsset=Вы уверены, что хотите удалить этот актив? diff --git a/htdocs/langs/ru_RU/banks.lang b/htdocs/langs/ru_RU/banks.lang index e7f809a0376..451297fa8af 100644 --- a/htdocs/langs/ru_RU/banks.lang +++ b/htdocs/langs/ru_RU/banks.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - banks Bank=Банк -MenuBankCash=Banks | Cash +MenuBankCash=Банки | Денежные средства MenuVariousPayment=Смешанные платежи MenuNewVariousPayment=Новый смешанный платеж BankName=Название банка @@ -30,26 +30,26 @@ AllTime=Сначала Reconciliation=Примирение RIB=Bank Account Number IBAN=IBAN номера -BIC=BIC/SWIFT code +BIC=BIC / SWIFT код SwiftValid=BIC/SWIFT действителен SwiftVNotalid=BIC / SWIFT недействителен IbanValid=BAN действителен IbanNotValid=BAN недействителен -StandingOrders=Direct debit orders +StandingOrders=Распоряжения прямого дебетования StandingOrder=Прямой дебетовый заказ -PaymentByDirectDebit=Payment by direct debit -PaymentByBankTransfers=Payments by credit transfer -PaymentByBankTransfer=Payment by credit transfer +PaymentByDirectDebit=Оплата прямым дебетом +PaymentByBankTransfers=Платежи кредитным переводом +PaymentByBankTransfer=Оплата кредитным переводом AccountStatement=Выписка со счета AccountStatementShort=Утверждение AccountStatements=Выписки со счета LastAccountStatements=Последнее счета IOMonthlyReporting=Ежемесячная отчетность -BankAccountDomiciliation=Bank address +BankAccountDomiciliation=Адрес банка BankAccountCountry=Счет страны BankAccountOwner=Имя владельца счета BankAccountOwnerAddress=Адрес владельца счета -RIBControlError=Integrity check of values failed. This means the information for this account number is not complete or is incorrect (check country, numbers and IBAN). +RIBControlError=Не удалось проверить целостность ценностей. Это означает, что информация для этого номера счета неполна или неверна (проверьте страну, номера и IBAN). CreateAccount=Создать аккаунт NewBankAccount=Новый счет NewFinancialAccount=Новые финансовые счета @@ -76,11 +76,11 @@ BankTransaction=Банковская запись ListTransactions=Список записей ListTransactionsByCategory=Список записей/категория TransactionsToConciliate=Записи для согласования -TransactionsToConciliateShort=To reconcile +TransactionsToConciliateShort=Примирить Conciliable=Conciliable Conciliate=Согласительной Conciliation=Согласительная -SaveStatementOnly=Save statement only +SaveStatementOnly=Только сохранить выписку ReconciliationLate=Согласование с запозданием IncludeClosedAccount=Включите закрытые счета OnlyOpenedAccount=Только открытые аккаунты @@ -98,37 +98,37 @@ AddBankRecordLong=Добавить запись вручную Conciliated=Согласование ConciliatedBy=Conciliated путем DateConciliating=Согласительную дата -BankLineConciliated=Entry reconciled with bank receipt +BankLineConciliated=Запись сверяется с банковской квитанцией Reconciled=Согласовано NotReconciled=Не согласовано CustomerInvoicePayment=Заказчиком оплаты -SupplierInvoicePayment=Vendor payment +SupplierInvoicePayment=Оплата продавцу SubscriptionPayment=Абонентская плата -WithdrawalPayment=Debit payment order +WithdrawalPayment=Дебетовое платежное поручение SocialContributionPayment=Социальный/налоговый сбор -BankTransfer=Credit transfer -BankTransfers=Credit transfers +BankTransfer=Кредитный перевод +BankTransfers=Кредитные переводы MenuBankInternalTransfer=Внутренний трансфер -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Используйте внутренний перевод для перевода с одной учетной записи на другую, приложение запишет две записи: дебет в исходной учетной записи и кредит в целевой учетной записи. Та же сумма, этикетка и дата будут использоваться для этой транзакции. TransferFrom=От TransferTo=К TransferFromToDone=Передача% от S в% х %s% S был записан. CheckTransmitter=Отправитель ValidateCheckReceipt=Подтвердить получение чека? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Удалить эту квитанцию? ConfirmDeleteCheckReceipt=Вы действительно хотите удалить эту квитанцию? BankChecks=Банковские чеки BankChecksToReceipt=Проверки, ожидающие внесения депозита BankChecksToReceiptShort=Проверки, ожидающие внесения депозита ShowCheckReceipt=Показать проверить депозита получения -NumberOfCheques=No. of check +NumberOfCheques=№ чека DeleteTransaction=Удалить запись ConfirmDeleteTransaction=Вы действительно хотите удалить эту запись? ThisWillAlsoDeleteBankRecord=Это также приведет к удалению сгенерированной записи банка BankMovements=Перевозкой PlannedTransactions=Запланированные записи -Graph=Graphs +Graph=Графики ExportDataset_banque_1=Банковские записи и выписка по счету ExportDataset_banque_2=Бланк депозита TransactionOnTheOtherAccount=Сделка с другой учетной записи @@ -141,8 +141,8 @@ BankTransactionLine=Банковская запись AllAccounts=Все банковские и кассовые счета BackToAccount=Перейти к ответу ShowAllAccounts=Шоу для всех учетных записей -FutureTransaction=Future transaction. Unable to reconcile. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +FutureTransaction=Будущая сделка. Невозможно примириться. +SelectChequeTransactionAndGenerate=Выберите / отфильтруйте чеки, которые должны быть включены в квитанцию о внесении чека. Затем нажмите «Создать». InputReceiptNumber=Выберите банковскую выписку, связанную с согласительной процедурой. Используйте сортируемое числовое значение: ГГГГММ или ГГГГММДД EventualyAddCategory=Укажите категорию для классификации записей ToConciliate=Согласовать? @@ -157,28 +157,28 @@ RejectCheck=Проверка возвращена ConfirmRejectCheck=Вы уверены, что хотите отметить эту проверку как отклоненную? RejectCheckDate=Дата проверки была возвращена CheckRejected=Проверка возобновлена -CheckRejectedAndInvoicesReopened=Check returned and invoices re-open +CheckRejectedAndInvoicesReopened=Чек возвращен, и счета открываются повторно BankAccountModelModule=Шаблоны документов для банковских счетов -DocumentModelSepaMandate=Template of SEPA mandate. Useful for European countries in EEC only. +DocumentModelSepaMandate=Шаблон мандата SEPA. Используется только для европейских стран в ЕЭС. DocumentModelBan=Шаблон для печати страницы с информацией о BAN. -NewVariousPayment=New miscellaneous payment -VariousPayment=Miscellaneous payment +NewVariousPayment=Новый прочий платеж +VariousPayment=Разные платежи VariousPayments=Смешанные платежи -ShowVariousPayment=Show miscellaneous payment -AddVariousPayment=Add miscellaneous payment -VariousPaymentId=Miscellaneous payment ID -VariousPaymentLabel=Miscellaneous payment label -ConfirmCloneVariousPayment=Confirm the clone of a miscellaneous payment +ShowVariousPayment=Показать разные платежи +AddVariousPayment=Добавить разные платежи +VariousPaymentId=Другой идентификатор платежа +VariousPaymentLabel=Другой платежный ярлык +ConfirmCloneVariousPayment=Подтвердите клон другого платежа SEPAMandate=Мандат SEPA YourSEPAMandate=Ваш мандат SEPA -FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to -AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation -CashControl=POS cash desk control -NewCashFence=New cash desk opening or closing -BankColorizeMovement=Colorize movements -BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements -BankColorizeMovementName1=Background color for debit movement -BankColorizeMovementName2=Background color for credit movement -IfYouDontReconcileDisableProperty=If you don't make the bank reconciliations on some bank accounts, disable the property "%s" on them to remove this warning. -NoBankAccountDefined=No bank account defined -NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. +FindYourSEPAMandate=Это ваш мандат SEPA, чтобы разрешить нашей компании делать распоряжение о прямом дебете в ваш банк. Верните его с подписью (скан подписанного документа) или отправьте по почте на адрес +AutoReportLastAccountStatement=Автоматически заполнять поле «номер банковской выписки» номером последней выписки при сверке. +CashControl=Контроль кассы POS +NewCashFence=Открытие или закрытие новой кассы +BankColorizeMovement=Раскрашиваем движения +BankColorizeMovementDesc=Если эта функция включена, вы можете выбрать определенный цвет фона для движения дебета или кредита. +BankColorizeMovementName1=Цвет фона для движения дебета +BankColorizeMovementName2=Цвет фона для движения кредита +IfYouDontReconcileDisableProperty=Если вы не проводите выверку банковских счетов для некоторых банковских счетов, отключите для них свойство «%s», чтобы удалить это предупреждение. +NoBankAccountDefined=Банковский счет не указан +NoRecordFoundIBankcAccount=Никаких записей на банковском счете не найдено. Обычно это происходит, когда запись была вручную удалена из списка транзакций на банковском счете (например, во время выверки банковского счета). Другая причина в том, что платеж был записан при отключении модуля «%s». diff --git a/htdocs/langs/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index 06d2f006bcd..825c2cda16e 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -5,30 +5,30 @@ BillsCustomers=Счета клиента BillsCustomer=Счёт клиента BillsSuppliers=Счета-фактуры поставщика BillsCustomersUnpaid=Неоплаченные счета клиента -BillsCustomersUnpaidForCompany=Unpaid customer invoices for %s -BillsSuppliersUnpaid=Unpaid vendor invoices -BillsSuppliersUnpaidForCompany=Unpaid vendors invoices for %s +BillsCustomersUnpaidForCompany=Неоплаченные счета клиентов за %s +BillsSuppliersUnpaid=Неоплаченные счета поставщика +BillsSuppliersUnpaidForCompany=Неоплаченные счета поставщиков за %s BillsLate=Просроченные платежи BillsStatistics=Статистика счетов клиентов -BillsStatisticsSuppliers=Vendors invoices statistics -DisabledBecauseDispatchedInBookkeeping=Disabled because invoice was dispatched into bookkeeping -DisabledBecauseNotLastInvoice=Disabled because invoice is not erasable. Some invoices were recorded after this one and it will create holes in the counter. -DisabledBecauseNotErasable=Disabled because cannot be erased +BillsStatisticsSuppliers=Статистика счетов поставщиков +DisabledBecauseDispatchedInBookkeeping=Отключено, так как счет был отправлен в бухгалтерию +DisabledBecauseNotLastInvoice=Отключено, потому что счет нельзя стереть. Некоторые счета были записаны после этого, и это приведет к образованию дыр в прилавке. +DisabledBecauseNotErasable=Отключено, так как не может быть удалено InvoiceStandard=Стандартный счёт InvoiceStandardAsk=Стандартный счёт InvoiceStandardDesc=Такой вид счёта является общим. -InvoiceDeposit=Down payment invoice -InvoiceDepositAsk=Down payment invoice -InvoiceDepositDesc=This kind of invoice is done when a down payment has been received. +InvoiceDeposit=Счет на предоплату +InvoiceDepositAsk=Счет на предоплату +InvoiceDepositDesc=Этот вид счета выставляется после получения авансового платежа. InvoiceProForma=Предварительный счет InvoiceProFormaAsk=Формальный счёт InvoiceProFormaDesc=Формальный счёт является образом оригинального счёта, но не имеет бухгалтерской учетной записи. InvoiceReplacement=Замена счета-фактуры InvoiceReplacementAsk=Замена счета-фактуры на другой -InvoiceReplacementDesc=Replacement invoice is used to completely replace an invoice with no payment already received.

    Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceReplacementDesc= Счет-фактура замены используется для полной замены счета-фактуры без получения оплаты.

    Примечание. Заменять можно только счета без оплаты. Если заменяемый вами счет еще не закрыт, он будет автоматически закрыт как «оставленный». InvoiceAvoir=Кредитовое авизо InvoiceAvoirAsk=Кредитовое авизо для исправления счета-фактуры -InvoiceAvoirDesc=The credit note is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned). +InvoiceAvoirDesc=Кредит-нота - это отрицательный счет-фактура, используемый для исправления того факта, что в счете-фактуре указана сумма, которая отличается от фактически уплаченной суммы (например, клиент заплатил слишком много по ошибке или не будет платить полную сумму, поскольку некоторые продукты были возвращены) . invoiceAvoirWithLines=Создать кредитное авизо со строками из оригинального счёта invoiceAvoirWithPaymentRestAmount=Кредитное авизо с неоплаченным остатком оригинального счёта invoiceAvoirLineWithPaymentRestAmount=Кредитное авизо на остаток для оплаты @@ -41,9 +41,9 @@ CorrectionInvoice=Корректирующий счёт UsedByInvoice=Использован для оплаты счета-фактуры %s ConsumedBy=Использован NotConsumed=Не использован -NoReplacableInvoice=No replaceable invoices +NoReplacableInvoice=Нет заменяемых счетов-фактур NoInvoiceToCorrect=Нет счетов-фактур для корректировки -InvoiceHasAvoir=Was source of one or several credit notes +InvoiceHasAvoir=Был источником одной или нескольких кредитных нот CardBill=Карточка счета-фактуры PredefinedInvoices=Предопределенные Счета-фактуры Invoice=Счёт @@ -53,193 +53,193 @@ InvoiceLine=Строка счета-фактуры InvoiceCustomer=Счёт клиента CustomerInvoice=Счёт клиента CustomersInvoices=Счета клиента -SupplierInvoice=Vendor invoice +SupplierInvoice=Счет поставщика SuppliersInvoices=Счета-фактуры поставщика -SupplierInvoiceLines=Vendor invoice lines -SupplierBill=Vendor invoice +SupplierInvoiceLines=Строки накладной поставщика +SupplierBill=Счет поставщика SupplierBills=Счета-фактуры поставщика Payment=Платеж -PaymentBack=Refund -CustomerInvoicePaymentBack=Refund +PaymentBack=Возврат +CustomerInvoicePaymentBack=Возврат Payments=Платежи -PaymentsBack=Refunds -paymentInInvoiceCurrency=in invoices currency +PaymentsBack=Возврат +paymentInInvoiceCurrency=в валюте счета PaidBack=Возврат платежа DeletePayment=Удалить платеж -ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an available credit? -ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? -ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. +ConfirmDeletePayment=Вы уверены, что хотите удалить этот платеж? +ConfirmConvertToReduc=Вы хотите преобразовать этот %s в доступный кредит? +ConfirmConvertToReduc2=Сумма будет сохранена среди всех скидок и может быть использована в качестве скидки для текущего или будущего счета для этого клиента. +ConfirmConvertToReducSupplier=Вы хотите преобразовать этот %s в доступный кредит? +ConfirmConvertToReducSupplier2=Сумма будет сохранена среди всех скидок и может быть использована в качестве скидки для текущего или будущего счета для этого поставщика. SupplierPayments=Платежи поставщику ReceivedPayments=Полученные платежи ReceivedCustomersPayments=Платежи, полученные от покупателей -PayedSuppliersPayments=Payments paid to vendors +PayedSuppliersPayments=Платежи поставщикам ReceivedCustomersPaymentsToValid=Полученные платежи покупателей для подтверждения PaymentsReportsForYear=Отчеты о платежах за %s PaymentsReports=Отчеты о платежах PaymentsAlreadyDone=Платежи уже сделаны -PaymentsBackAlreadyDone=Refunds already done +PaymentsBackAlreadyDone=Возврат уже произведен PaymentRule=Правила оплаты -PaymentMode=Payment Type -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account -PaymentTypeDC=Debit/Credit Card +PaymentMode=Способ оплаты +DefaultPaymentMode=Тип платежа по умолчанию +DefaultBankAccount=Банковский счет по умолчанию +PaymentTypeDC=Дебетовая / кредитная карта PaymentTypePP=PayPal -IdPaymentMode=Payment Type (id) -CodePaymentMode=Payment Type (code) -LabelPaymentMode=Payment Type (label) -PaymentModeShort=Payment Type -PaymentTerm=Payment Term +IdPaymentMode=Тип платежа (id) +CodePaymentMode=Тип платежа (код) +LabelPaymentMode=Тип оплаты (этикетка) +PaymentModeShort=Способ оплаты +PaymentTerm=Условия оплаты PaymentConditions=Условия оплаты PaymentConditionsShort=Условия оплаты PaymentAmount=Сумма платежа PaymentHigherThanReminderToPay=Платеж больше, чем в напоминании об оплате -HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
    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.
    Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. +HelpPaymentHigherThanReminderToPay=Внимание, сумма платежа по одному или нескольким счетам превышает сумму непогашенной оплаты.
    Измените свою запись, в противном случае подтвердите и рассмотрите возможность создания кредитной ноты на сумму превышения, полученную по каждому переплаченному счету. +HelpPaymentHigherThanReminderToPaySupplier=Внимание, сумма платежа по одному или нескольким счетам превышает сумму непогашенной оплаты.
    Измените свою запись, в противном случае подтвердите и рассмотрите возможность создания кредитной ноты на сумму превышения, уплаченную по каждому переплаченному счету. ClassifyPaid=Классифицировать как 'Оплачен' -ClassifyUnPaid=Classify 'Unpaid' +ClassifyUnPaid=Классифицируйте "неоплаченные" ClassifyPaidPartially=Классифицировать как 'Оплачен частично' ClassifyCanceled=Классифицировать как 'Аннулирован' ClassifyClosed=Классифицировать как 'Закрыт' -ClassifyUnBilled=Classify 'Unbilled' +ClassifyUnBilled=Классифицировать как "не выставленные" CreateBill=Создать счет-фактуру CreateCreditNote=Создать кредитовое авизо AddBill=Создать счёт или кредитное авизо AddToDraftInvoices=Добавить проект счёта DeleteBill=Удалить счет-фактуру SearchACustomerInvoice=Поиск счета-фактуры Покупателю -SearchASupplierInvoice=Search for a vendor invoice +SearchASupplierInvoice=Поиск счета-фактуры поставщика CancelBill=Отменить счет-фактуру SendRemindByMail=Отправить напоминание по email -DoPayment=Enter payment -DoPaymentBack=Enter refund -ConvertToReduc=Mark as credit available -ConvertExcessReceivedToReduc=Convert excess received into available credit -ConvertExcessPaidToReduc=Convert excess paid into available discount +DoPayment=Введите платеж +DoPaymentBack=Введите возврат +ConvertToReduc=Отметить как доступный кредит +ConvertExcessReceivedToReduc=Преобразовать полученную излишек в доступный кредит +ConvertExcessPaidToReduc=Превратите уплаченную сумму в доступную скидку EnterPaymentReceivedFromCustomer=Ввести платеж, полученный от покупателя EnterPaymentDueToCustomer=Произвести платеж за счет Покупателя DisabledBecauseRemainderToPayIsZero=Отключено, потому что оставшаяся оплата нулевая -PriceBase=Base price +PriceBase=Базисная цена BillStatus=Статус счета-фактуры -StatusOfGeneratedInvoices=Status of generated invoices +StatusOfGeneratedInvoices=Статус выставленных счетов BillStatusDraft=Проект (должен быть подтвержден) BillStatusPaid=Оплачен -BillStatusPaidBackOrConverted=Credit note refund or marked as credit available -BillStatusConverted=Paid (ready for consumption in final invoice) +BillStatusPaidBackOrConverted=Возврат кредитной ноты или пометка доступна как кредит +BillStatusConverted=Оплачено (готово к употреблению в окончательном счете) BillStatusCanceled=Аннулирован BillStatusValidated=Подтвержден (необходимо оплатить) BillStatusStarted=Начат BillStatusNotPaid=Неоплачен -BillStatusNotRefunded=Not refunded +BillStatusNotRefunded=Не возвращается BillStatusClosedUnpaid=Закрыт (неоплачен) BillStatusClosedPaidPartially=Оплачен (частично) BillShortStatusDraft=Проект BillShortStatusPaid=Оплачен -BillShortStatusPaidBackOrConverted=Refunded or converted -Refunded=Refunded +BillShortStatusPaidBackOrConverted=Возвращено или конвертировано +Refunded=Возвращено BillShortStatusConverted=Оплачено BillShortStatusCanceled=Аннулирован BillShortStatusValidated=Подтвержден BillShortStatusStarted=Начат BillShortStatusNotPaid=Неоплачен -BillShortStatusNotRefunded=Not refunded +BillShortStatusNotRefunded=Не возвращается BillShortStatusClosedUnpaid=Закрыт BillShortStatusClosedPaidPartially=Оплачен (частично) PaymentStatusToValidShort=На подтверждении -ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined -ErrorNoPaiementModeConfigured=No default payment type defined. Go to Invoice module setup to fix this. -ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment types +ErrorVATIntraNotConfigured=Номер плательщика НДС внутри Сообщества еще не определен +ErrorNoPaiementModeConfigured=Тип оплаты по умолчанию не определен. Чтобы исправить это, перейдите к настройке модуля «Счет-фактура». +ErrorCreateBankAccount=Создайте банковский счет, затем перейдите на панель настройки модуля «Счет-фактура», чтобы определить типы платежей. ErrorBillNotFound=Счёт %s не существует -ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. +ErrorInvoiceAlreadyReplaced=Ошибка, вы пытались проверить счет для замены счета %s. Но этот уже заменен на инвойс %s. ErrorDiscountAlreadyUsed=Ошибка, скидка уже используется ErrorInvoiceAvoirMustBeNegative=Ошибка, корректирующий счет-фактура должен иметь отрицательную сумму -ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have an amount excluding tax positive (or null) +ErrorInvoiceOfThisTypeMustBePositive=Ошибка, этот тип счета-фактуры должен иметь положительную (или нулевую) сумму без учета налогов. ErrorCantCancelIfReplacementInvoiceNotValidated=Ошибка, невозможно отменить счет-фактуру, который был заменен на другой счет-фактуру, находящийся в статусе Проекта -ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Эта или другая часть уже используется, поэтому серию скидок удалить нельзя. BillFrom=Продавец BillTo=Покупатель ActionsOnBill=Действия со счетом-фактурой -RecurringInvoiceTemplate=Template / Recurring invoice -NoQualifiedRecurringInvoiceTemplateFound=No recurring template invoice qualified for generation. -FoundXQualifiedRecurringInvoiceTemplate=Found %s recurring template invoice(s) qualified for generation. -NotARecurringInvoiceTemplate=Not a recurring template invoice +RecurringInvoiceTemplate=Шаблон / повторяющийся счет +NoQualifiedRecurringInvoiceTemplateFound=Нет подходящих повторяющихся счетов-фактур для создания шаблонов. +FoundXQualifiedRecurringInvoiceTemplate=Обнаружен повторяющийся шаблон счетов-фактур %s, подходящий для создания. +NotARecurringInvoiceTemplate=Не повторяющийся шаблон счета-фактуры NewBill=Новый счёт -LastBills=Latest %s invoices -LatestTemplateInvoices=Latest %s template invoices -LatestCustomerTemplateInvoices=Latest %s customer template invoices -LatestSupplierTemplateInvoices=Latest %s vendor template invoices -LastCustomersBills=Latest %s customer invoices -LastSuppliersBills=Latest %s vendor invoices +LastBills=Последние счета %s +LatestTemplateInvoices=Последние счета-фактуры шаблона %s +LatestCustomerTemplateInvoices=Последние счета-фактуры клиента по шаблону %s +LatestSupplierTemplateInvoices=Последние накладные по шаблону поставщика %s +LastCustomersBills=Последние счета клиентов %s +LastSuppliersBills=Последние счета-фактуры поставщика %s AllBills=Все счета-фактуры -AllCustomerTemplateInvoices=All template invoices +AllCustomerTemplateInvoices=Все шаблоны счетов-фактур OtherBills=Другие счета-фактуры DraftBills=Проекты счетов-фактур -CustomersDraftInvoices=Customer draft invoices -SuppliersDraftInvoices=Vendor draft invoices +CustomersDraftInvoices=Черновики счетов-фактур клиента +SuppliersDraftInvoices=Черновики счетов-фактур поставщика Unpaid=Неоплачен -ErrorNoPaymentDefined=Error No payment defined -ConfirmDeleteBill=Are you sure you want to delete this invoice? -ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s? -ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status? -ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid? -ConfirmCancelBill=Are you sure you want to cancel invoice %s? -ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned'? -ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid? -ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What is the reason for closing this invoice? -ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularize the VAT with a credit note. -ConfirmClassifyPaidPartiallyReasonDiscount=Remaining unpaid (%s %s) is a discount granted because payment was made before term. +ErrorNoPaymentDefined=Ошибка Платеж не определен +ConfirmDeleteBill=Вы уверены, что хотите удалить этот счет? +ConfirmValidateBill=Вы действительно хотите подтвердить этот счет со ссылкой %s ? +ConfirmUnvalidateBill=Вы действительно хотите изменить статус счета %s на черновик? +ConfirmClassifyPaidBill=Вы действительно хотите изменить статус счета %s на оплаченный? +ConfirmCancelBill=Вы действительно хотите отменить счет %s ? +ConfirmCancelBillQuestion=Почему вы хотите классифицировать этот счет как «брошенный»? +ConfirmClassifyPaidPartially=Вы действительно хотите изменить статус счета %s на оплаченный? +ConfirmClassifyPaidPartiallyQuestion=Этот счет не оплачен полностью. По какой причине закрывается этот счет? +ConfirmClassifyPaidPartiallyReasonAvoir=Оставшаяся неоплаченная (%s %s) - это скидка, предоставленная, потому что оплата была произведена досрочно. Я урегулирую НДС с помощью кредитной ноты. +ConfirmClassifyPaidPartiallyReasonDiscount=Оставшаяся неоплаченная (%s %s) - это скидка, предоставленная, потому что оплата была произведена досрочно. ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Оставить неоплаченной (%s %s) предоставленную скидку, потому что платёж был сделан перед соглашением. Я подтверждаю потерю НДС на этой скидке. ConfirmClassifyPaidPartiallyReasonDiscountVat=Оставить неоплаченной (%s %s) предоставленную скидку, потому что платёж был сделан перед соглашением. Я восстановлю НДС на этой скидке без кредитного авизо. ConfirmClassifyPaidPartiallyReasonBadCustomer=Плохой Покупатель ConfirmClassifyPaidPartiallyReasonProductReturned=Продукция частично возвращена ConfirmClassifyPaidPartiallyReasonOther=Сумма, аннулированная по другим причинам -ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice has been provided with suitable comments. (Example «Only the tax corresponding to the price that has been actually paid gives rights to deduction») -ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct notes. +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Такой выбор возможен, если ваш счет снабжен соответствующими комментариями. (Пример «Только налог, соответствующий фактически уплаченной цене, дает право на вычет») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=В некоторых странах этот выбор возможен только в том случае, если ваш счет содержит правильные примечания. ConfirmClassifyPaidPartiallyReasonAvoirDesc=Используйте этот выбор, если все остальные не подходят -ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuses to pay his debt. +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=Плохой клиент - это клиент, который отказывается выплатить свой долг. ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Этот выбор используется при неполной оплате, когда некоторая продукция была возвращена -ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all others are not suitable, for example in following situation:
    - payment not complete because some products were shipped back
    - amount claimed too important because a discount was forgotten
    In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. +ConfirmClassifyPaidPartiallyReasonOtherDesc=Используйте этот выбор, если все остальные не подходят, например в следующей ситуации:
    - оплата не завершена, потому что некоторые продукты были отправлены обратно
    - заявленная сумма слишком важна, потому что скидка была забыта
    Во всех случаях завышенная сумма должна быть исправлена в системе бухгалтерского учета, создав кредит-ноту. ConfirmClassifyAbandonReasonOther=Другой ConfirmClassifyAbandonReasonOtherDesc=Этот выбор будет использоваться во всех других случаях. Например, потому, что вы планируете создать заменяющий счет-фактуру. -ConfirmCustomerPayment=Do you confirm this payment input for %s %s? -ConfirmSupplierPayment=Do you confirm this payment input for %s %s? -ConfirmValidatePayment=Are you sure you want to validate this payment? No change can be made once payment is validated. +ConfirmCustomerPayment=Подтверждаете ли вы этот платежный ввод для %s %s? +ConfirmSupplierPayment=Подтверждаете ли вы этот платежный ввод для %s %s? +ConfirmValidatePayment=Вы уверены, что хотите подтвердить этот платеж? После подтверждения платежа никакие изменения не могут быть внесены. ValidateBill=Подтвердить счет-фактуру UnvalidateBill=Unvalidate счет -NumberOfBills=No. of invoices -NumberOfBillsByMonth=No. of invoices per month +NumberOfBills=Кол-во счетов-фактур +NumberOfBillsByMonth=Кол-во счетов в месяц AmountOfBills=Сумма счетов-фактур -AmountOfBillsHT=Amount of invoices (net of tax) +AmountOfBillsHT=Сумма счетов (без налога) AmountOfBillsByMonthHT=Сумма счетов-фактур за месяц (за вычетом налога) -UseSituationInvoices=Allow situation invoice -UseSituationInvoicesCreditNote=Allow situation invoice credit note -Retainedwarranty=Retained warranty -AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices -RetainedwarrantyDefaultPercent=Retained warranty default percent -RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices -RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation -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 +UseSituationInvoices=Разрешить счет-фактуру +UseSituationInvoicesCreditNote=Разрешить кредитовое авизо для счета-фактуры +Retainedwarranty=Сохраненная гарантия +AllowedInvoiceForRetainedWarranty=Сохраненная гарантия применима к следующим типам счетов-фактур +RetainedwarrantyDefaultPercent=Процент сохраненной гарантии по умолчанию +RetainedwarrantyOnlyForSituation=Сделать "сохраненную гарантию" доступной только для ситуационных счетов-фактур +RetainedwarrantyOnlyForSituationFinal=В счетах-фактурах глобальный вычет «оставшейся гарантии» применяется только к окончательной ситуации. +ToPayOn=Платить на %s +toPayOn=платить на %s +RetainedWarranty=Сохраненная гарантия +PaymentConditionsShortRetainedWarranty=Условия оплаты сохраненной гарантии +DefaultPaymentConditionsRetainedWarranty=Условия оплаты сохраненной гарантии по умолчанию +setPaymentConditionsShortRetainedWarranty=Установить условия оплаты сохраненной гарантии +setretainedwarranty=Установить сохраненную гарантию +setretainedwarrantyDateLimit=Установить ограничение срока действия гарантии +RetainedWarrantyDateLimit=Срок действия гарантии +RetainedWarrantyNeed100Percent=Счет-фактура ситуации должна быть на 100%% прогресс, чтобы отображаться в PDF. AlreadyPaid=Уже оплачен -AlreadyPaidBack=Already paid back -AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) +AlreadyPaidBack=Уже выплачено +AlreadyPaidNoCreditNotesNoDeposits=Уже оплачено (без кредитовых авизо и авансовых платежей) Abandoned=Брошен RemainderToPay=Оставить неоплаченным -RemainderToTake=Remaining amount to take -RemainderToPayBack=Remaining amount to refund +RemainderToTake=Оставшаяся сумма +RemainderToPayBack=Оставшаяся сумма к возврату Rest=В ожидании AmountExpected=Заявленная сумма ExcessReceived=Полученный излишек -ExcessPaid=Excess paid +ExcessPaid=Оплачено превышение EscompteOffered=Предоставлена скидка (за досрочный платеж) EscompteOfferedShort=Скидка SendBillRef=Представление счёта %s @@ -253,21 +253,22 @@ RemainderToBill=Остаток к выставлению SendBillByMail=Отправить счет-фактуру по email SendReminderBillByMail=Отправить напоминание по email RelatedCommercialProposals=Связанные коммерческие предложения -RelatedRecurringCustomerInvoices=Related recurring customer invoices +RelatedRecurringCustomerInvoices=Связанные повторяющиеся счета-фактуры клиентов MenuToValid=Для проверки -DateMaxPayment=Payment due on +DateMaxPayment=Платеж должен быть произведен DateInvoice=Дата счета-фактуры -DatePointOfTax=Point of tax +DatePointOfTax=Пункт налогообложения NoInvoice=Нет счетов-фактур +NoOpenInvoice=Нет открытого счета ClassifyBill=Классифицировать счет-фактуру -SupplierBillsToPay=Unpaid vendor invoices +SupplierBillsToPay=Неоплаченные счета поставщика CustomerBillsUnpaid=Неоплаченные счета клиента NonPercuRecuperable=Не подлежащий взысканию -SetConditions=Set Payment Terms -SetMode=Set Payment Type -SetRevenuStamp=Set revenue stamp +SetConditions=Установить условия оплаты +SetMode=Установить тип оплаты +SetRevenuStamp=Установить отметку о доходах Billed=Выставлен -RecurringInvoices=Recurring invoices +RecurringInvoices=Периодические счета-фактуры RepeatableInvoice=Шаблоны счёта RepeatableInvoices=Шаблоны счетов Repeatable=Шаблон @@ -275,15 +276,15 @@ Repeatables=Шаблоны ChangeIntoRepeatableInvoice=Конвертировать в шаблон счёта CreateRepeatableInvoice=Создать шаблон счёта CreateFromRepeatableInvoice=Создать из шаблона счёта -CustomersInvoicesAndInvoiceLines=Customer invoices and invoice details +CustomersInvoicesAndInvoiceLines=Счета-фактуры клиентов и детали счетов-фактур CustomersInvoicesAndPayments=Счета-фактуры Покупателям и платежи -ExportDataset_invoice_1=Customer invoices and invoice details +ExportDataset_invoice_1=Счета-фактуры клиентов и детали счетов-фактур ExportDataset_invoice_2=Счета-фактуры Покупателям и платежи ProformaBill=Встречный вексель: Reduction=Сокращение -ReductionShort=Disc. +ReductionShort=Диск. Reductions=Сокращения -ReductionsShort=Disc. +ReductionsShort=Диск. Discounts=Скидки AddDiscount=Создать абсолютную скидку AddRelativeDiscount=Создать относительная скидка @@ -292,169 +293,169 @@ AddGlobalDiscount=Добавить скидку EditGlobalDiscounts=Редактировать абсолютной скидки AddCreditNote=Создать кредитовое авизо ShowDiscount=Показать скидку -ShowReduc=Show the discount -ShowSourceInvoice=Show the source invoice +ShowReduc=Показать скидку +ShowSourceInvoice=Показать исходный счет RelativeDiscount=Относительная скидка GlobalDiscount=Глобальная скидка CreditNote=Кредитовое авизо CreditNotes=Кредитовое авизо -CreditNotesOrExcessReceived=Credit notes or excess received -Deposit=Down payment -Deposits=Down payments +CreditNotesOrExcessReceived=Полученные кредитовые авизо или излишки +Deposit=Первоначальный взнос +Deposits=Авансовые платежи DiscountFromCreditNote=Скидка из кредитового авизо %s -DiscountFromDeposit=Down payments from invoice %s -DiscountFromExcessReceived=Payments in excess of invoice %s -DiscountFromExcessPaid=Payments in excess of invoice %s +DiscountFromDeposit=Авансовые платежи по счету %s +DiscountFromExcessReceived=Платежи сверх суммы счета %s +DiscountFromExcessPaid=Платежи сверх суммы счета %s AbsoluteDiscountUse=Такой тип кредита может быть использован по счету-фактуре до его подтверждения -CreditNoteDepositUse=Invoice must be validated to use this kind of credits +CreditNoteDepositUse=Чтобы использовать этот вид кредитов, необходимо подтвердить счет. NewGlobalDiscount=Новая фиксированная скидка NewRelativeDiscount=Новая относительная скидку -DiscountType=Discount type +DiscountType=Тип скидки NoteReason=Примечание / Основание ReasonDiscount=Основание DiscountOfferedBy=Предоставлена -DiscountStillRemaining=Discounts or credits available -DiscountAlreadyCounted=Discounts or credits already consumed -CustomerDiscounts=Customer discounts -SupplierDiscounts=Vendors discounts +DiscountStillRemaining=Доступны скидки или кредиты +DiscountAlreadyCounted=Скидки или кредиты уже израсходованы +CustomerDiscounts=Скидки для клиентов +SupplierDiscounts=Скидки продавцов BillAddress=Адрес выставления -HelpEscompte=This discount is a discount granted to customer because payment was made before term. -HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loss. -HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by another for example) -IdSocialContribution=Social/fiscal tax payment id +HelpEscompte=Эта скидка предоставляется покупателю, потому что оплата была произведена досрочно. +HelpAbandonBadCustomer=От этой суммы отказались (покупатель считается плохим покупателем) и она считается исключительной потерей. +HelpAbandonOther=Эта сумма была отклонена из-за ошибки (например, неправильный клиент или счет заменен другим) +IdSocialContribution=Идентификатор платежа по социальному / налоговому налогу PaymentId=Код платежа -PaymentRef=Payment ref. +PaymentRef=Платеж исх. InvoiceId=Код счета-фактуры InvoiceRef=Ref. счета-фактуры InvoiceDateCreation=Дата создания счета-фактуры InvoiceStatus=Статус Счета-фактуры InvoiceNote=Примечание к счету-фактуре InvoicePaid=Счет-фактура оплачен -InvoicePaidCompletely=Paid completely -InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. -OrderBilled=Order billed -DonationPaid=Donation paid +InvoicePaidCompletely=Оплачено полностью +InvoicePaidCompletelyHelp=Счет-фактура полностью оплачена. Это исключает частично оплаченные счета. Чтобы получить список всех «Закрытых» или не «Закрытых» счетов-фактур, предпочтительнее использовать фильтр по статусу счета-фактуры. +OrderBilled=Счет за заказ выставлен +DonationPaid=Пожертвование выплачено PaymentNumber=Номера платежа RemoveDiscount=Удалить скидку WatermarkOnDraftBill=Водяной знак на проекте счета (ничего, если пусто) InvoiceNotChecked=Счет-фактура не выбран -ConfirmCloneInvoice=Are you sure you want to clone this invoice %s? +ConfirmCloneInvoice=Вы действительно хотите клонировать этот счет %s ? DisabledBecauseReplacedInvoice=Действия отключены поскольку счет-фактура был заменен -DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payments during the fixed year are included here. -NbOfPayments=No. of payments +DescTaxAndDividendsArea=В этой области представлена сводная информация обо всех платежах по специальным расходам. Сюда включаются только записи с платежами в течение установленного года. +NbOfPayments=Кол-во платежей SplitDiscount=Разделить скидку на две -ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into two smaller discounts? -TypeAmountOfEachNewDiscount=Input amount for each of two parts: -TotalOfTwoDiscountMustEqualsOriginal=The total of the two new discounts must be equal to the original discount amount. -ConfirmRemoveDiscount=Are you sure you want to remove this discount? +ConfirmSplitDiscount=Вы уверены, что хотите разделить эту скидку %s %s на две меньшие скидки? +TypeAmountOfEachNewDiscount=Сумма ввода для каждой из двух частей: +TotalOfTwoDiscountMustEqualsOriginal=Сумма двух новых скидок должна быть равна первоначальной сумме скидки. +ConfirmRemoveDiscount=Вы уверены, что хотите удалить эту скидку? RelatedBill=Связанный счёт RelatedBills=Связанные счета-фактуры RelatedCustomerInvoices=Связанные счета клиента -RelatedSupplierInvoices=Related vendor invoices +RelatedSupplierInvoices=Связанные счета-фактуры поставщика LatestRelatedBill=Последний связанный счёт -WarningBillExist=Warning, one or more invoices already exist -MergingPDFTool=Merging PDF tool -AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice -PaymentOnDifferentThirdBills=Allow payments on different third parties bills but same parent company -PaymentNote=Payment note -ListOfPreviousSituationInvoices=List of previous situation invoices -ListOfNextSituationInvoices=List of next situation invoices -ListOfSituationInvoices=List of situation invoices -CurrentSituationTotal=Total current situation -DisabledBecauseNotEnouthCreditNote=To remove a situation invoice from cycle, this invoice's credit note total must cover this invoice total -RemoveSituationFromCycle=Remove this invoice from cycle -ConfirmRemoveSituationFromCycle=Remove this invoice %s from cycle ? -ConfirmOuting=Confirm outing -FrequencyPer_d=Every %s days -FrequencyPer_m=Every %s months -FrequencyPer_y=Every %s years -FrequencyUnit=Frequency unit -toolTipFrequency=Examples:
    Set 7, Day: give a new invoice every 7 days
    Set 3, Month: give a new invoice every 3 month -NextDateToExecution=Date for next invoice generation -NextDateToExecutionShort=Date next gen. -DateLastGeneration=Date of latest generation -DateLastGenerationShort=Date latest gen. -MaxPeriodNumber=Max. number of invoice generation -NbOfGenerationDone=Number of invoice generation already done -NbOfGenerationOfRecordDone=Number of record generation already done -NbOfGenerationDoneShort=Number of generation done -MaxGenerationReached=Maximum number of generations reached -InvoiceAutoValidate=Validate invoices automatically -GeneratedFromRecurringInvoice=Generated from template recurring invoice %s -DateIsNotEnough=Date not reached yet -InvoiceGeneratedFromTemplate=Invoice %s generated from recurring template invoice %s -GeneratedFromTemplate=Generated from template invoice %s -WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date -WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date -ViewAvailableGlobalDiscounts=View available discounts -GroupPaymentsByModOnReports=Group payments by mode on reports +WarningBillExist=Предупреждение, один или несколько счетов уже существуют +MergingPDFTool=Инструмент слияния PDF +AmountPaymentDistributedOnInvoice=Сумма платежа, указанная в счете-фактуре +PaymentOnDifferentThirdBills=Разрешить платежи по счетам разных третьих лиц, но одной и той же материнской компании +PaymentNote=Платежное примечание +ListOfPreviousSituationInvoices=Список счетов-фактур за предыдущие ситуации +ListOfNextSituationInvoices=Список счетов-фактур следующей ситуации +ListOfSituationInvoices=Список ситуационных накладных +CurrentSituationTotal=Общая текущая ситуация +DisabledBecauseNotEnouthCreditNote=Чтобы удалить ситуационный счет из цикла, сумма кредитового авизо по этому счету должна покрывать эту сумму по счету. +RemoveSituationFromCycle=Удалить этот счет из цикла +ConfirmRemoveSituationFromCycle=Удалить этот счет %s из цикла? +ConfirmOuting=Подтвердить выезд +FrequencyPer_d=Каждые %s дней +FrequencyPer_m=Каждые %s месяцев +FrequencyPer_y=Каждые %s лет +FrequencyUnit=Единица частоты +toolTipFrequency=Примеры:
    Набор 7, День : выставлять новый счет каждые 7 дней
    Набор 3, Месяц a09a4b739f17f8zo: давать invice каждый месяц +NextDateToExecution=Дата создания следующего счета +NextDateToExecutionShort=Дата следующего поколения. +DateLastGeneration=Дата последнего поколения +DateLastGenerationShort=Дата последнего поколения +MaxPeriodNumber=Максимум. количество выставленных счетов +NbOfGenerationDone=Количество уже созданных счетов +NbOfGenerationOfRecordDone=Количество уже созданных записей +NbOfGenerationDoneShort=Количество сделанных поколений +MaxGenerationReached=Достигнуто максимальное количество поколений +InvoiceAutoValidate=Автоматически подтверждать счета +GeneratedFromRecurringInvoice=Создан на основе шаблона повторяющегося счета-фактуры %s +DateIsNotEnough=Дата еще не наступила +InvoiceGeneratedFromTemplate=Счет-фактура %s, созданная на основе повторяющегося шаблона счета-фактуры %s +GeneratedFromTemplate=Сгенерировано из шаблона счета-фактуры %s +WarningInvoiceDateInFuture=Внимание, дата выставления счета больше текущей даты +WarningInvoiceDateTooFarInFuture=Внимание! Дата выставления счета слишком далека от текущей. +ViewAvailableGlobalDiscounts=Посмотреть доступные скидки +GroupPaymentsByModOnReports=Групповые платежи по режимам в отчетах # PaymentConditions Statut=Статус -PaymentConditionShortRECEP=Due Upon Receipt -PaymentConditionRECEP=Due Upon Receipt +PaymentConditionShortRECEP=Срок при получении +PaymentConditionRECEP=Срок при получении PaymentConditionShort30D=30 дней PaymentCondition30D=30 дней -PaymentConditionShort30DENDMONTH=30 days of month-end -PaymentCondition30DENDMONTH=Within 30 days following the end of the month +PaymentConditionShort30DENDMONTH=30 дней в конце месяца +PaymentCondition30DENDMONTH=В течение 30 дней после окончания месяца PaymentConditionShort60D=60 дней PaymentCondition60D=60 дней -PaymentConditionShort60DENDMONTH=60 days of month-end -PaymentCondition60DENDMONTH=Within 60 days following the end of the month +PaymentConditionShort60DENDMONTH=60 дней в конце месяца +PaymentCondition60DENDMONTH=В течение 60 дней после окончания месяца PaymentConditionShortPT_DELIVERY=Доставка PaymentConditionPT_DELIVERY=О доставке PaymentConditionShortPT_ORDER=Заказ PaymentConditionPT_ORDER=В заказе PaymentConditionShortPT_5050=50-50 PaymentConditionPT_5050=50%% аванс, 50%% после доставки -PaymentConditionShort10D=10 days -PaymentCondition10D=10 days -PaymentConditionShort10DENDMONTH=10 days of month-end -PaymentCondition10DENDMONTH=Within 10 days following the end of the month -PaymentConditionShort14D=14 days -PaymentCondition14D=14 days -PaymentConditionShort14DENDMONTH=14 days of month-end -PaymentCondition14DENDMONTH=Within 14 days following the end of the month -FixAmount=Fixed amount - 1 line with label '%s' +PaymentConditionShort10D=10 дней +PaymentCondition10D=10 дней +PaymentConditionShort10DENDMONTH=10 дней конца месяца +PaymentCondition10DENDMONTH=В течение 10 дней после окончания месяца +PaymentConditionShort14D=14 дней +PaymentCondition14D=14 дней +PaymentConditionShort14DENDMONTH=14 дней в конце месяца +PaymentCondition14DENDMONTH=В течение 14 дней после окончания месяца +FixAmount=Фиксированная сумма - 1 строка с надписью '%s' VarAmount=Произвольное значение (%% от суммы) -VarAmountOneLine=Variable amount (%% tot.) - 1 line with label '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +VarAmountOneLine=Переменная сумма (%% tot.) - 1 строка с меткой '%s' +VarAmountAllLines=Переменная сумма (%% tot.) - все строки из исходной точки # PaymentType PaymentTypeVIR=Банковский перевод PaymentTypeShortVIR=Банковский перевод -PaymentTypePRE=Direct debit payment order -PaymentTypeShortPRE=Debit payment order +PaymentTypePRE=Платежное поручение прямого дебета +PaymentTypeShortPRE=Дебетовое платежное поручение PaymentTypeLIQ=Наличные PaymentTypeShortLIQ=Наличные PaymentTypeCB=Кредитная карта PaymentTypeShortCB=Кред. карта PaymentTypeCHQ=Чек PaymentTypeShortCHQ=Чек -PaymentTypeTIP=TIP (Documents against Payment) -PaymentTypeShortTIP=TIP Payment -PaymentTypeVAD=Online payment -PaymentTypeShortVAD=Online payment -PaymentTypeTRA=Bank draft +PaymentTypeTIP=СОВЕТ (Документы против платежа) +PaymentTypeShortTIP=СОВЕТ Оплата +PaymentTypeVAD=Онлайн платеж +PaymentTypeShortVAD=Онлайн платеж +PaymentTypeTRA=Банковский тратт PaymentTypeShortTRA=Проект -PaymentTypeFAC=Factor -PaymentTypeShortFAC=Factor +PaymentTypeFAC=Фактор +PaymentTypeShortFAC=Фактор BankDetails=Банковские реквизиты BankCode=Код банка -DeskCode=Branch code +DeskCode=Номер отдела BankAccountNumber=Номер счета -BankAccountNumberKey=Checksum +BankAccountNumberKey=Контрольная сумма Residence=Адрес -IBANNumber=IBAN account number +IBANNumber=Номер счета IBAN IBAN=IBAN -CustomerIBAN=IBAN of customer -SupplierIBAN=IBAN of vendor +CustomerIBAN=IBAN клиента +SupplierIBAN=IBAN продавца BIC=BIC/SWIFT -BICNumber=BIC/SWIFT code +BICNumber=BIC / SWIFT код ExtraInfos=Доп.инфо RegulatedOn=Регулируемый по ChequeNumber=Чек N ChequeOrTransferNumber=Чек/Перевод N -ChequeBordereau=Check schedule -ChequeMaker=Check/Transfer sender +ChequeBordereau=Проверить расписание +ChequeMaker=Чек / перевод отправителя ChequeBank=Банк чека CheckBank=Проверить NetToBePaid=Чистыми к оплате @@ -462,130 +463,131 @@ PhoneNumber=Тел. FullPhoneNumber=Телефон TeleFax=Факс PrettyLittleSentence=Согласен с суммой причитающихся платежей по чекам выписанным на мое имя, как член ассоциации бухгалтерского учета, утвержденный Финансовой администрацией. -IntracommunityVATNumber=Intra-Community VAT ID -PaymentByChequeOrderedTo=Check payments (including tax) are payable to %s, send to -PaymentByChequeOrderedToShort=Check payments (incl. tax) are payable to +IntracommunityVATNumber=Идентификатор плательщика НДС внутри сообщества +PaymentByChequeOrderedTo=Платежи по чекам (включая налоги) подлежат оплате на %s, отправьте на +PaymentByChequeOrderedToShort=Платежи по чекам (включая налог) подлежат оплате SendTo=отправлено -PaymentByTransferOnThisBankAccount=Payment by transfer to the following bank account +PaymentByTransferOnThisBankAccount=Оплата переводом на следующий банковский счет VATIsNotUsedForInvoice=* Неприменяемых НДС арт-293B из CGI LawApplicationPart1=По применению закона 80.335 от 12/05/80 LawApplicationPart2=товары остаются в собственности -LawApplicationPart3=the seller until full payment of +LawApplicationPart3=продавец до полной оплаты LawApplicationPart4=их стоимости. LimitedLiabilityCompanyCapital=SARL с капиталом UseLine=Применить UseDiscount=Использовать скидку UseCredit=Использовать кредит UseCreditNoteInInvoicePayment=Уменьшить сумму к оплате по этому кредиту -MenuChequeDeposits=Check Deposits +MenuChequeDeposits=Проверить депозиты MenuCheques=Чеки -MenuChequesReceipts=Check receipts +MenuChequesReceipts=Проверить квитанции NewChequeDeposit=Новое поступление -ChequesReceipts=Check receipts -ChequesArea=Check deposits area -ChequeDeposits=Check deposits +ChequesReceipts=Проверить квитанции +ChequesArea=Зона чековых депозитов +ChequeDeposits=Проверить депозиты Cheques=Чеки -DepositId=Id deposit -NbCheque=Number of checks +DepositId=Идентификационный депозит +NbCheque=Количество проверок CreditNoteConvertedIntoDiscount=Этот %s должен быть преобразован в %s -UsBillingContactAsIncoiveRecipientIfExist=Use contact/address with type 'billing contact' instead of third-party address as recipient for invoices +UsBillingContactAsIncoiveRecipientIfExist=Используйте контакт / адрес с типом "платежный контакт" вместо стороннего адреса в качестве получателя для счетов. ShowUnpaidAll=Показать все неоплаченные счета-фактуры ShowUnpaidLateOnly=Показать только просроченные неоплаченные счета-фактуры PaymentInvoiceRef=Оплата счета-фактуры %s ValidateInvoice=Подтвердить счет-фактуру -ValidateInvoices=Validate invoices +ValidateInvoices=Подтвердить счета Cash=Наличные Reported=Задержан DisabledBecausePayments=Невозможно, поскольку есть некоторые платежи CantRemovePaymentWithOneInvoicePaid=Не удается удалить оплаты поскольку есть по крайней мере один счет-фактура классифицированный как 'оплачен' -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +CantRemovePaymentVATPaid=Невозможно удалить платеж, поскольку декларация по НДС классифицируется как оплаченная +CantRemovePaymentSalaryPaid=Невозможно удалить платеж, так как зарплата классифицируется как выплаченная ExpectedToPay=Ожидаемые платежи -CantRemoveConciliatedPayment=Can't remove reconciled payment +CantRemoveConciliatedPayment=Невозможно удалить сверенный платеж PayedByThisPayment=Оплачен этим платежом -ClosePaidInvoicesAutomatically=Classify automatically all standard, down payment or replacement invoices as "Paid" when payment is done entirely. -ClosePaidCreditNotesAutomatically=Classify automatically all credit notes as "Paid" when refund is done entirely. -ClosePaidContributionsAutomatically=Classify automatically all social or fiscal contributions as "Paid" when payment is done entirely. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. -AllCompletelyPayedInvoiceWillBeClosed=All invoices with no remainder to pay will be automatically closed with status "Paid". +ClosePaidInvoicesAutomatically=Автоматически классифицируйте все стандартные, первоначальные или заменяющие счета-фактуры как «Оплаченные», когда оплата произведена полностью. +ClosePaidCreditNotesAutomatically=Автоматически классифицируйте все кредитовые ноты как «Оплаченные», когда возврат произведен полностью. +ClosePaidContributionsAutomatically=Автоматически классифицируйте все социальные или налоговые отчисления как «Выплаченные», когда оплата произведена полностью. +ClosePaidVATAutomatically=Автоматически классифицируйте декларацию НДС как «Оплаченную», когда оплата произведена полностью. +ClosePaidSalaryAutomatically=Автоматически классифицируйте зарплату как «Выплаченную», когда выплата производится полностью. +AllCompletelyPayedInvoiceWillBeClosed=Все счета, не подлежащие оплате, автоматически закрываются со статусом «Оплачен». ToMakePayment=Платить ToMakePaymentBack=Возврат платежа ListOfYourUnpaidInvoices=Список неоплаченных счетов NoteListOfYourUnpaidInvoices=Примечание: Этот список содержит счета только тех контрагентов, которые связаны с нами, как представители по сбыту. -RevenueStamp=Tax stamp -YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party -YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party -YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) -PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template -PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +RevenueStamp=Налоговая марка +YouMustCreateInvoiceFromThird=Эта опция доступна только при создании счета на вкладке «Клиент» третьей стороны. +YouMustCreateInvoiceFromSupplierThird=Эта опция доступна только при создании счета на вкладке «Поставщик» третьей стороны. +YouMustCreateStandardInvoiceFirstDesc=Вы должны сначала создать стандартный счет-фактуру и преобразовать его в «шаблон», чтобы создать новый шаблон-счет-фактуру. +PDFCrabeDescription=Счет-фактура PDF-шаблон Crabe. Полный шаблон счета-фактуры (старая реализация шаблона Sponge) +PDFSpongeDescription=Счет-фактура PDF-шаблон Sponge. Полный шаблон счета-фактуры +PDFCrevetteDescription=Счет-фактура в формате PDF Crevette. Полный шаблон накладной для ситуационных накладных +TerreNumRefModelDesc1=Номер возврата в формате %syymm-nnnn для стандартных счетов-фактур и %syymm-nnnn для кредитовых авизо, где yy - год, mm - месяц и nnnn - последовательный номер с автоматическим увеличением без перерыва и без возврата к 0 +MarsNumRefModelDesc1=Номер возврата в формате yymm-nnnn для стандартных счетов-фактур, yymm-nnnn для счетов-фактур за замену, %syymm-nnnn для счетов-фактур авансового платежа и %s для счетов-фактур с авансовым платежом, а %s - порядковый номер месяца nnny-mm, где nnncial - порядковый номер месяца-ммгн, где nnny-yc- порядковый номер месяца, а %s без перерыва и без возврата к 0 TerreNumRefModelError=Документ, начинающийся с $syymm, уже существует и не совместим с этой моделью последовательности. Удалите или переименуйте его, чтобы активировать этот модуль. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -EarlyClosingReason=Early closing reason -EarlyClosingComment=Early closing note +CactusNumRefModelDesc1=Номер возврата в формате %syymm-nnnn для стандартных счетов-фактур, %syymm-nnnn для кредитовых авизо и %syymm-nnnn для счетов-фактур на предоплату, где yy - это год, а mm - номер без разбивки по месяцам, а nnn - это автоматически номер месяца и nnn. 0 +EarlyClosingReason=Причина досрочного закрытия +EarlyClosingComment=Заметка о досрочном закрытии ##### Types de contacts ##### TypeContact_facture_internal_SALESREPFOLL=Четко отследить счет-фактуру Покупателю TypeContact_facture_external_BILLING=обратитесь в отдел счетов-фактур Покупателям TypeContact_facture_external_SHIPPING=обратитесь в службу доставки TypeContact_facture_external_SERVICE=обратитесь в клиентскую службу -TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice -TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact -TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact -TypeContact_invoice_supplier_external_SERVICE=Vendor service contact +TypeContact_invoice_supplier_internal_SALESREPFOLL=Счет-фактура от поставщика для последующей проверки представителя +TypeContact_invoice_supplier_external_BILLING=Контактная информация поставщика по счету-фактуре +TypeContact_invoice_supplier_external_SHIPPING=Контактная информация поставщика для доставки +TypeContact_invoice_supplier_external_SERVICE=Контактная информация поставщика услуг # Situation invoices -InvoiceFirstSituationAsk=First situation invoice -InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. -InvoiceSituation=Situation invoice -PDFInvoiceSituation=Situation invoice -InvoiceSituationAsk=Invoice following the situation -InvoiceSituationDesc=Create a new situation following an already existing one -SituationAmount=Situation invoice amount(net) -SituationDeduction=Situation subtraction +InvoiceFirstSituationAsk=Счет-фактура первой ситуации +InvoiceFirstSituationDesc=Счета-фактуры привязаны к ситуациям, связанным с развитием, например, с развитием строительства. Каждая ситуация привязана к счету. +InvoiceSituation=Счет-фактура +PDFInvoiceSituation=Счет-фактура +InvoiceSituationAsk=Счет-фактура по ситуации +InvoiceSituationDesc=Создайте новую ситуацию после уже существующей +SituationAmount=Сумма ситуационного счета (нетто) +SituationDeduction=Вычитание ситуации ModifyAllLines=Изменить все строки -CreateNextSituationInvoice=Create next situation -ErrorFindNextSituationInvoice=Error unable to find next situation cycle ref -ErrorOutingSituationInvoiceOnUpdate=Unable to outing this situation invoice. -ErrorOutingSituationInvoiceCreditNote=Unable to outing linked credit note. -NotLastInCycle=This invoice is not the latest in cycle and must not be modified. -DisabledBecauseNotLastInCycle=The next situation already exists. -DisabledBecauseFinal=This situation is final. -situationInvoiceShortcode_AS=AS +CreateNextSituationInvoice=Создать следующую ситуацию +ErrorFindNextSituationInvoice=Ошибка: невозможно найти следующую ситуацию. Цикл исх. +ErrorOutingSituationInvoiceOnUpdate=Невозможно выставить счет-фактуру в этой ситуации. +ErrorOutingSituationInvoiceCreditNote=Невозможно получить связанную кредитную ноту. +NotLastInCycle=Этот счет не является последним в цикле и не может быть изменен. +DisabledBecauseNotLastInCycle=Следующая ситуация уже существует. +DisabledBecauseFinal=Эта ситуация окончательная. +situationInvoiceShortcode_AS=В ВИДЕ situationInvoiceShortcode_S=Вс -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No open situations +CantBeLessThanMinPercent=Прогресс не может быть меньше его значения в предыдущей ситуации. +NoSituations=Нет открытых ситуаций InvoiceSituationLast=Финальный и основной счёт -PDFCrevetteSituationNumber=Situation N°%s -PDFCrevetteSituationInvoiceLineDecompte=Situation invoice - COUNT -PDFCrevetteSituationInvoiceTitle=Situation invoice -PDFCrevetteSituationInvoiceLine=Situation N°%s: Inv. N°%s on %s -TotalSituationInvoice=Total situation -invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line -updatePriceNextInvoiceErrorUpdateline=Error: update price on invoice line: %s -ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices. -ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu %s - %s - %s. -ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask your administrator to enable and setup module %s. Note that both methods (manual and automatic) can be used together with no risk of duplication. -DeleteRepeatableInvoice=Delete template invoice -ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice? -CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order) -BillCreated=%s invoice(s) generated -BillXCreated=Invoice %s generated -StatusOfGeneratedDocuments=Status of document generation -DoNotGenerateDoc=Do not generate document file -AutogenerateDoc=Auto generate document file -AutoFillDateFrom=Set start date for service line with invoice date -AutoFillDateFromShort=Set start date -AutoFillDateTo=Set end date for service line with next invoice date -AutoFillDateToShort=Set end date -MaxNumberOfGenerationReached=Max number of gen. reached +PDFCrevetteSituationNumber=Ситуация № %s +PDFCrevetteSituationInvoiceLineDecompte=Счет-фактура - COUNT +PDFCrevetteSituationInvoiceTitle=Счет-фактура +PDFCrevetteSituationInvoiceLine=Ситуация № %s: инв. № %s на %s +TotalSituationInvoice=Общая ситуация +invoiceLineProgressError=Ход строки счета-фактуры не может быть больше или равен следующей строке счета-фактуры +updatePriceNextInvoiceErrorUpdateline=Ошибка: обновить цену в строке счета-фактуры: %s +ToCreateARecurringInvoice=Чтобы создать повторяющийся счет для этого контракта, сначала создайте этот черновик счета, затем преобразуйте его в шаблон счета и определите периодичность создания будущих счетов. +ToCreateARecurringInvoiceGene=Чтобы создавать будущие счета регулярно и вручную, просто перейдите в меню %s - %s - %s . +ToCreateARecurringInvoiceGeneAuto=Если вам нужно, чтобы такие счета создавались автоматически, попросите администратора включить и настроить модуль %s . Обратите внимание, что оба метода (ручной и автоматический) можно использовать вместе без риска дублирования. +DeleteRepeatableInvoice=Удалить шаблон счета-фактуры +ConfirmDeleteRepeatableInvoice=Вы уверены, что хотите удалить шаблон счета-фактуры? +CreateOneBillByThird=Создайте один счет для каждой третьей стороны (в противном случае - один счет для каждого заказа) +BillCreated=%s счет (-а) сгенерирован +BillXCreated=Счет-фактура %s сформирована +StatusOfGeneratedDocuments=Статус создания документа +DoNotGenerateDoc=Не создавать файл документа +AutogenerateDoc=Автоматическое создание файла документа +AutoFillDateFrom=Установите дату начала для строки обслуживания с датой счета-фактуры +AutoFillDateFromShort=Установить дату начала +AutoFillDateTo=Установить дату окончания для строки обслуживания с датой следующего счета-фактуры +AutoFillDateToShort=Установить дату окончания +MaxNumberOfGenerationReached=Максимальное количество генераторов. достиг BILL_DELETEInDolibarr=Счёт удалён -BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted -UnitPriceXQtyLessDiscount=Unit price x Qty - Discount -CustomersInvoicesArea=Customer billing area -SupplierInvoicesArea=Supplier billing area -FacParentLine=Invoice Line Parent -SituationTotalRayToRest=Remainder to pay without taxe -PDFSituationTitle=Situation n° %d -SituationTotalProgress=Total progress %d %% +BILL_SUPPLIER_DELETEInDolibarr=Счет поставщика удален +UnitPriceXQtyLessDiscount=Цена за единицу x Кол-во - Скидка +CustomersInvoicesArea=Зона выставления счетов клиента +SupplierInvoicesArea=Платежная зона поставщика +FacParentLine=Родительская строка счета-фактуры +SituationTotalRayToRest=Осталось заплатить без налога +PDFSituationTitle=Ситуация № %d +SituationTotalProgress=Общий прогресс %d %% +SearchUnpaidInvoicesWithDueDate=Поиск неоплаченных счетов со сроком оплаты = %s diff --git a/htdocs/langs/ru_RU/blockedlog.lang b/htdocs/langs/ru_RU/blockedlog.lang index 74164531cae..c339dfed5d4 100644 --- a/htdocs/langs/ru_RU/blockedlog.lang +++ b/htdocs/langs/ru_RU/blockedlog.lang @@ -1,54 +1,54 @@ BlockedLog=Неизменяемые логи 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). -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). -CompanyInitialKey=Company initial key (hash of genesis block) -BrowseBlockedLog=Unalterable logs +BlockedLogDesc=Этот модуль отслеживает некоторые события в неизменяемом журнале (который вы не можете изменить после записи) в цепочку блоков в реальном времени. Этот модуль обеспечивает совместимость с требованиями законодательства некоторых стран (например, Франции с законом Финансы 2016 - Norme NF525). +Fingerprints=Архивные события и отпечатки пальцев +FingerprintsDesc=Это инструмент для просмотра или извлечения неизменяемых журналов. Неизменяемые журналы создаются и архивируются локально в специальную таблицу в режиме реального времени, когда вы записываете бизнес-событие. Вы можете использовать этот инструмент для экспорта этого архива и сохранения его во внешней службе поддержки (некоторые страны, например Франция, просят вас делать это каждый год). Обратите внимание, что нет функции очистки этого журнала, и о каждом изменении, которое пытались внести непосредственно в этот журнал (например, хакером), будет сообщаться с недействительным отпечатком пальца. Если вам действительно нужно очистить эту таблицу, потому что вы использовали свое приложение для демонстрации / тестирования и хотите очистить свои данные, чтобы начать производство, вы можете попросить своего торгового посредника или интегратора сбросить вашу базу данных (все ваши данные будут удалены). +CompanyInitialKey=Начальный ключ компании (хеш генезисного блока) +BrowseBlockedLog=Неизменяемые журналы ShowAllFingerPrintsMightBeTooLong=Показать все архивные логи (может быть долго) ShowAllFingerPrintsErrorsMightBeTooLong=Показать все недействительные архивные логи (может быть долго) -DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). +DownloadBlockChain=Скачать отпечатки пальцев +KoCheckFingerprintValidity=Запись в архиве журнала недействительна. Это означает, что кто-то (хакер?) Изменил некоторые данные этой записи после того, как она была записана, или удалил предыдущую архивную запись (проверьте, существует ли строка с предыдущим #) или изменил контрольную сумму предыдущей записи. OkCheckFingerprintValidity=Архивная запись в журнале действительна. Данные в этой строке не были изменены, и запись следует за предыдущей. -OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. -AddedByAuthority=Stored into remote authority -NotAddedByAuthorityYet=Not yet stored into remote authority +OkCheckFingerprintValidityButChainIsKo=Архивный журнал кажется действительным по сравнению с предыдущим, но цепочка ранее была повреждена. +AddedByAuthority=Сохранено в удаленном центре +NotAddedByAuthorityYet=Еще не сохранено в удаленном центре ShowDetails=Показать сохраненные данные -logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created -logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified -logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion -logPAYMENT_ADD_TO_BANK=Payment added to bank +logPAYMENT_VARIOUS_CREATE=Платеж (не привязанный к счету) создан +logPAYMENT_VARIOUS_MODIFY=Платеж (не привязанный к счету) изменен +logPAYMENT_VARIOUS_DELETE=Логическое удаление платежа (не привязанного к счету) +logPAYMENT_ADD_TO_BANK=Платеж добавлен в банк logPAYMENT_CUSTOMER_CREATE=Платеж клиента создан -logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion +logPAYMENT_CUSTOMER_DELETE=Логическое удаление платежа клиента logDONATION_PAYMENT_CREATE=Платеж пожертвования создан -logDONATION_PAYMENT_DELETE=Donation payment logical deletion +logDONATION_PAYMENT_DELETE=Логическое удаление пожертвований logBILL_PAYED=Счет клиента оплачен logBILL_UNPAYED=Неоплаченный счет клиента logBILL_VALIDATE=Проверка векселя -logBILL_SENTBYMAIL=Customer invoice send by mail -logBILL_DELETE=Customer invoice logically deleted -logMODULE_RESET=Module BlockedLog was disabled -logMODULE_SET=Module BlockedLog was enabled +logBILL_SENTBYMAIL=Счет клиента отправляется по почте +logBILL_DELETE=Счет клиента удален логически +logMODULE_RESET=Модуль BlockedLog был отключен +logMODULE_SET=Модуль BlockedLog был включен logDON_VALIDATE=Пожертвование подтверждено logDON_MODIFY=Пожертвование изменено -logDON_DELETE=Donation logical deletion -logMEMBER_SUBSCRIPTION_CREATE=Member subscription created -logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified -logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion -logCASHCONTROL_VALIDATE=Cash desk closing recording -BlockedLogBillDownload=Customer invoice download -BlockedLogBillPreview=Customer invoice preview -BlockedlogInfoDialog=Log Details -ListOfTrackedEvents=List of tracked events -Fingerprint=Fingerprint -DownloadLogCSV=Export archived logs (CSV) -logDOC_PREVIEW=Preview of a validated document in order to print or download -logDOC_DOWNLOAD=Download of a validated document in order to print or send -DataOfArchivedEvent=Full datas of archived event -ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data) -BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit. -BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit. -BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log). -OnlyNonValid=Non-valid -TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters. -RestrictYearToExport=Restrict month / year to export +logDON_DELETE=Логическое удаление пожертвования +logMEMBER_SUBSCRIPTION_CREATE=Подписка для участников создана +logMEMBER_SUBSCRIPTION_MODIFY=Подписка участника изменена +logMEMBER_SUBSCRIPTION_DELETE=Логическое удаление членской подписки +logCASHCONTROL_VALIDATE=Запись закрытия кассы +BlockedLogBillDownload=Загрузка счета-фактуры клиента +BlockedLogBillPreview=Предварительный просмотр счета клиента +BlockedlogInfoDialog=Детали журнала +ListOfTrackedEvents=Список отслеживаемых событий +Fingerprint=Отпечаток пальца +DownloadLogCSV=Экспорт архивных журналов (CSV) +logDOC_PREVIEW=Предварительный просмотр проверенного документа для печати или загрузки +logDOC_DOWNLOAD=Скачивание подтвержденного документа для печати или отправки +DataOfArchivedEvent=Полные данные заархивированного события +ImpossibleToReloadObject=Исходный объект (тип %s, id %s) не связан (см. Столбец «Полные данные», чтобы получить неизменяемые сохраненные данные) +BlockedLogAreRequiredByYourCountryLegislation=Модуль «Неизменяемые журналы» может потребоваться законодательством вашей страны. Отключение этого модуля может сделать любые будущие транзакции недействительными с точки зрения закона и использования юридического программного обеспечения, поскольку они не могут быть подтверждены налоговой проверкой. +BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Модуль «Неизменяемые журналы» был активирован в соответствии с законодательством вашей страны. Отключение этого модуля может сделать любые будущие транзакции недействительными с точки зрения закона и использования юридического программного обеспечения, поскольку они не могут быть подтверждены налоговой проверкой. +BlockedLogDisableNotAllowedForCountry=Список стран, в которых использование этого модуля является обязательным (просто для предотвращения отключения модуля по ошибке, если ваша страна находится в этом списке, отключение модуля невозможно без предварительного редактирования этого списка. Также обратите внимание, что включение / отключение этого модуля приведет к вести запись в неизменяемый журнал). +OnlyNonValid=Недействительный +TooManyRecordToScanRestrictFilters=Слишком много записей для сканирования / анализа. Пожалуйста, ограничьте список более строгими фильтрами. +RestrictYearToExport=Ограничить экспорт по месяцам / годам diff --git a/htdocs/langs/ru_RU/boxes.lang b/htdocs/langs/ru_RU/boxes.lang index 6b028a8b64f..9046b0d2c5e 100644 --- a/htdocs/langs/ru_RU/boxes.lang +++ b/htdocs/langs/ru_RU/boxes.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - boxes -BoxDolibarrStateBoard=Statistics on main business objects in database +BoxDolibarrStateBoard=Статистика по основным бизнес-объектам в базе данных BoxLoginInformation=Информация для входа BoxLastRssInfos=RSS информация BoxLastProducts=Последние %s Продукты/ Услуги @@ -18,46 +18,46 @@ BoxLastActions=Последние действия BoxLastContracts=Последние контракты BoxLastContacts=Последние контакты/адреса BoxLastMembers=Последние участники -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=Последние измененные участники +BoxLastMembersSubscriptions=Последние подписки участников BoxFicheInter=Последние вмешательства -BoxCurrentAccounts=Open accounts balance -BoxTitleMemberNextBirthdays=Birthdays of this month (members) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxCurrentAccounts=Остаток на открытых счетах +BoxTitleMemberNextBirthdays=Дни рождения в этом месяце (участники) +BoxTitleMembersByType=Участники по типу +BoxTitleMembersSubscriptionsByYear=Подписки участников по годам BoxTitleLastRssInfos=Последние %s новостей от %s BoxTitleLastProducts=Продукты/Услуги: последних %s изменений BoxTitleProductsAlertStock=Продукты: имеющиеся оповещения BoxTitleLastSuppliers=Последние %s зарегистрированные поставщики BoxTitleLastModifiedSuppliers=Продавцы: последнее %s изменений -BoxTitleLastModifiedCustomers=Customers: last %s modified -BoxTitleLastCustomersOrProspects=Latest %s customers or prospects -BoxTitleLastCustomerBills=Latest %s modified Customer invoices -BoxTitleLastSupplierBills=Latest %s modified Vendor invoices -BoxTitleLastModifiedProspects=Prospects: last %s modified -BoxTitleLastModifiedMembers=Latest %s members -BoxTitleLastFicheInter=Latest %s modified interventions -BoxTitleOldestUnpaidCustomerBills=Customer Invoices: oldest %s unpaid -BoxTitleOldestUnpaidSupplierBills=Vendor Invoices: oldest %s unpaid -BoxTitleCurrentAccounts=Open Accounts: balances -BoxTitleSupplierOrdersAwaitingReception=Supplier orders awaiting reception -BoxTitleLastModifiedContacts=Contacts/Addresses: last %s modified +BoxTitleLastModifiedCustomers=Заказчики: последнее изменение %s +BoxTitleLastCustomersOrProspects=Последние клиенты или потенциальные клиенты %s +BoxTitleLastCustomerBills=Последние измененные счета клиентов %s +BoxTitleLastSupplierBills=Последние измененные счета-фактуры поставщика %s +BoxTitleLastModifiedProspects=Перспективы: последние изменения %s +BoxTitleLastModifiedMembers=Последние участники %s +BoxTitleLastFicheInter=Последние модифицированные вмешательства %s +BoxTitleOldestUnpaidCustomerBills=Счета клиентов: самые старые неоплаченные %s +BoxTitleOldestUnpaidSupplierBills=Счета поставщика: самые старые неоплаченные %s +BoxTitleCurrentAccounts=Открытые счета: остатки +BoxTitleSupplierOrdersAwaitingReception=Заказы поставщика ожидают приема +BoxTitleLastModifiedContacts=Контакты / Адреса: последнее изменение %s BoxMyLastBookmarks=Закладки: последние %s BoxOldestExpiredServices=Старейшие активных истек услуги -BoxLastExpiredServices=Latest %s oldest contacts with active expired services -BoxTitleLastActionsToDo=Latest %s actions to do -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified -BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded +BoxLastExpiredServices=Последние %s самые старые контакты с активными просроченными услугами +BoxTitleLastActionsToDo=Последние действия %s, которые нужно сделать +BoxTitleLastContracts=Последние контракты %s, которые были изменены +BoxTitleLastModifiedDonations=Последние пожертвования %s, которые были изменены +BoxTitleLastModifiedExpenses=Последние отчеты о расходах %s, которые были изменены +BoxTitleLatestModifiedBoms=Последние измененные спецификации %s +BoxTitleLatestModifiedMos=Последние измененные производственные заказы %s +BoxTitleLastOutstandingBillReached=Превышено максимальное количество непогашенных клиентов BoxGlobalActivity=Глобальная активность (фактуры, предложения, заказы) BoxGoodCustomers=Хорошие клиенты -BoxTitleGoodCustomers=%s Good customers +BoxTitleGoodCustomers=%s Хорошие клиенты BoxScheduledJobs=Запланированные задания -BoxTitleFunnelOfProspection=Lead funnel -FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s +BoxTitleFunnelOfProspection=Ведущая лидов +FailedToRefreshDataInfoNotUpToDate=Не удалось обновить поток RSS. Дата последнего успешного обновления: %s LastRefreshDate=Дата последнего обновления NoRecordedBookmarks=Закладки не созданы. ClickToAdd=Нажмите здесь, чтобы добавить. @@ -76,45 +76,45 @@ NoContractedProducts=Нет законтрактованных товаров / NoRecordedContracts=Нет введенных договоров NoRecordedInterventions=Нет записанных мероприятий BoxLatestSupplierOrders=Последние заказы на покупку -BoxLatestSupplierOrdersAwaitingReception=Latest Purchase Orders (with a pending reception) +BoxLatestSupplierOrdersAwaitingReception=Последние заказы на закупку (ожидающие получения) NoSupplierOrder=Нет зарегистрированного заказа на покупку BoxCustomersInvoicesPerMonth=Счета клиентов в месяц -BoxSuppliersInvoicesPerMonth=Vendor Invoices per month +BoxSuppliersInvoicesPerMonth=Счета поставщика в месяц BoxCustomersOrdersPerMonth=Заказы на продажу в месяц -BoxSuppliersOrdersPerMonth=Vendor Orders per month +BoxSuppliersOrdersPerMonth=Заказы поставщика в месяц BoxProposalsPerMonth=Предложений в месяц NoTooLowStockProducts=Нет товаров на складе с запасом ниже установленного BoxProductDistribution=Дистрибуция Продуктов/Услуг -ForObject=On %s +ForObject=На %s BoxTitleLastModifiedSupplierBills=Счета поставщиков: последнее %s изменений BoxTitleLatestModifiedSupplierOrders=Заказы поставщиков: последнее %s изменений BoxTitleLastModifiedCustomerBills=Счета клиентов: последнее %s изменений -BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified -BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLastModifiedCustomerOrders=Заказы на продажу: последнее изменение %s +BoxTitleLastModifiedPropals=Последние измененные предложения %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Счета-фактуры Покупателей ForCustomersOrders=Заказы клиентов ForProposals=Предложения -LastXMonthRolling=The latest %s month rolling +LastXMonthRolling=Последний месяц прокатки %s ChooseBoxToAdd=Добавить виджет на вашу панель BoxAdded=Виджет был добавлен на вашу панель -BoxTitleUserBirthdaysOfMonth=Birthdays of this month (users) -BoxLastManualEntries=Latest record in accountancy entered manually or without source document -BoxTitleLastManualEntries=%s latest record entered manually or without source document -NoRecordedManualEntries=No manual entries record in accountancy -BoxSuspenseAccount=Count accountancy operation with suspense account -BoxTitleSuspenseAccount=Number of unallocated lines -NumberOfLinesInSuspenseAccount=Number of line in suspense account -SuspenseAccountNotDefined=Suspense account isn't defined -BoxLastCustomerShipments=Last customer shipments -BoxTitleLastCustomerShipments=Latest %s customer shipments -NoRecordedShipments=No recorded customer shipment -BoxCustomersOutstandingBillReached=Customers with oustanding limit reached +BoxTitleUserBirthdaysOfMonth=Дни рождения в этом месяце (пользователи) +BoxLastManualEntries=Последняя запись в бухгалтерском учете, введенная вручную или без исходного документа +BoxTitleLastManualEntries=%s последняя запись, введенная вручную или без исходного документа +NoRecordedManualEntries=В бухгалтерском учете нет записей о ручных записях +BoxSuspenseAccount=Подсчет бухгалтерских операций с промежуточным счетом +BoxTitleSuspenseAccount=Количество нераспределенных линий +NumberOfLinesInSuspenseAccount=Номер строки в предварительном счете +SuspenseAccountNotDefined=Приостановленный аккаунт не определен +BoxLastCustomerShipments=Последние поставки клиентам +BoxTitleLastCustomerShipments=Последние поставки от клиентов %s +NoRecordedShipments=Отгрузка от клиента не зафиксирована +BoxCustomersOutstandingBillReached=Достигнуты клиенты с невыполненным лимитом # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy -ValidatedProjects=Validated projects +UsersHome=Домашние пользователи и группы +MembersHome=Домашнее членство +ThirdpartiesHome=Домашние третьи стороны +TicketsHome=Билеты на дом +AccountancyHome=Бухгалтерия на дому +ValidatedProjects=Проверенные проекты diff --git a/htdocs/langs/ru_RU/cashdesk.lang b/htdocs/langs/ru_RU/cashdesk.lang index c5d713f5b34..033ea658c01 100644 --- a/htdocs/langs/ru_RU/cashdesk.lang +++ b/htdocs/langs/ru_RU/cashdesk.lang @@ -32,7 +32,7 @@ ShowStock=Показать склад DeleteArticle=Нажмите, чтобы удалить эту статью FilterRefOrLabelOrBC=Поиск (ссылке/метке) UserNeedPermissionToEditStockToUsePos=Вы просите уменьшить запас при создании счета-фактуры, поэтому пользователю, который использует POS, необходимо разрешение на редактирование запасов. -DolibarrReceiptPrinter=Dolibarr Receipt Printer +DolibarrReceiptPrinter=Чековый принтер Dolibarr PointOfSale=Торговая точка PointOfSaleShort=POS CloseBill=Закрыть счет @@ -41,8 +41,8 @@ Floor=Этаж AddTable=Добавить таблицу Place=Место TakeposConnectorNecesary=Требуется 'Принять POS-коннектор' -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Добавить кнопку для отправки заказа на некоторые заданные принтеры без оплаты (например, для отправки заказа на кухню) +NotAvailableWithBrowserPrinter=Недоступно, если принтер для получения чеков настроен на браузер: SearchProduct=Поиск товара Receipt=Квитанция Header=Заголовок @@ -51,80 +51,81 @@ AmountAtEndOfPeriod=Сумма на конец периода (день, мес TheoricalAmount=Теоретическая сумма RealAmount=Действительная сумма CashFence=Закрытие кассы -CashFenceDone=Cash desk closing done for the period +CashFenceDone=Закрытие кассы за период NbOfInvoices=Кол-во счетов-фактур -Paymentnumpad=Type of Pad to enter payment -Numberspad=Numbers Pad -BillsCoinsPad=Coins and banknotes Pad -DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items -CashDeskBankAccountFor=Default account to use for payments in -NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets|receipts -AutoPrintTickets=Automatically print tickets|receipts -PrintCustomerOnReceipts=Print customer on tickets|receipts -EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant +Paymentnumpad=Тип панели для ввода платежа +Numberspad=Цифровая клавиатура +BillsCoinsPad=Блокнот для монет и банкнот +DolistorePosCategory=Модули TakePOS и другие POS-решения для Dolibarr +TakeposNeedsCategories=TakePOS нужна как минимум одна категория продуктов для работы +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=Для работы TakePOS требуется как минимум 1 категория продуктов в категории %s . +OrderNotes=Можно добавить заметки к каждому заказанному элементу +CashDeskBankAccountFor=Аккаунт по умолчанию для платежей в +NoPaimementModesDefined=В конфигурации TakePOS не определен режим оплаты. +TicketVatGrouped=Групповой НДС по ставке в билетах | квитанциях +AutoPrintTickets=Автоматическая печать билетов | квитанций +PrintCustomerOnReceipts=Печать покупателя на билетах | квитанциях +EnableBarOrRestaurantFeatures=Включить функции для бара или ресторана ConfirmDeletionOfThisPOSSale=Подтверждаете ли вы удаление этой продажи? -ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? +ConfirmDiscardOfThisPOSSale=Вы хотите отменить текущую распродажу? History=История ValidateAndClose=Подтвердить и закрыть Terminal=Терминал NumberOfTerminals=Количество терминалов TerminalSelect=Выберите терминал, который хотите использовать: -POSTicket=POS Ticket -POSTerminal=POS Terminal -POSModule=POS Module -BasicPhoneLayout=Use basic layout for phones -SetupOfTerminalNotComplete=Setup of terminal %s is not complete -DirectPayment=Direct payment -DirectPaymentButton=Add a "Direct cash payment" button -InvoiceIsAlreadyValidated=Invoice is already validated -NoLinesToBill=No lines to bill -CustomReceipt=Custom Receipt -ReceiptName=Receipt Name -ProductSupplements=Manage supplements of products -SupplementCategory=Supplement category -ColorTheme=Color theme -Colorful=Colorful +POSTicket=POS-билет +POSTerminal=POS Терминал +POSModule=Модуль POS +BasicPhoneLayout=Использовать базовую раскладку для телефонов +SetupOfTerminalNotComplete=Настройка терминала %s не завершена +DirectPayment=Прямая оплата +DirectPaymentButton=Добавить кнопку "Прямой платеж наличными" +InvoiceIsAlreadyValidated=Счет уже подтвержден +NoLinesToBill=Нет очередей для выставления счета +CustomReceipt=Пользовательская квитанция +ReceiptName=Имя квитанции +ProductSupplements=Управляйте дополнениями продуктов +SupplementCategory=Категория дополнения +ColorTheme=Цветовая тема +Colorful=Красочный HeadBar=Head Bar -SortProductField=Field for sorting products +SortProductField=Поле для сортировки товаров Browser=Браузер -BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. -PrintMethod=Print method -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). -ByTerminal=By terminal -TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad -CashDeskRefNumberingModules=Numbering module for POS sales -CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number -TakeposGroupSameProduct=Group same products lines -StartAParallelSale=Start a new parallel sale -SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS -CloseCashFence=Close cash desk control -CashReport=Cash report -MainPrinterToUse=Main printer to use -OrderPrinterToUse=Order printer to use -MainTemplateToUse=Main template to use -OrderTemplateToUse=Order template to use -BarRestaurant=Bar Restaurant -AutoOrder=Order by the customer himself -RestaurantMenu=Menu -CustomerMenu=Customer menu -ScanToMenu=Scan QR code to see the menu -ScanToOrder=Scan QR code to order -Appearance=Appearance -HideCategoryImages=Hide Category Images -HideProductImages=Hide Product Images -NumberOfLinesToShow=Number of lines of images to show -DefineTablePlan=Define tables plan -GiftReceiptButton=Add a "Gift receipt" button -GiftReceipt=Gift receipt -ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first -AllowDelayedPayment=Allow delayed payment -PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts -WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +BrowserMethodDescription=Простая и удобная печать чеков. Всего несколько параметров для настройки чека. Распечатать через браузер. +TakeposConnectorMethodDescription=Внешний модуль с дополнительными функциями. Возможность печати из облака. +PrintMethod=Метод печати +ReceiptPrinterMethodDescription=Мощный метод с множеством параметров. Полная настройка с помощью шаблонов. Сервер, на котором размещено приложение, не может находиться в облаке (должен иметь доступ к принтерам в вашей сети). +ByTerminal=По терминалу +TakeposNumpadUsePaymentIcon=Используйте значок вместо текста на кнопках оплаты цифровой клавиатуры +CashDeskRefNumberingModules=Модуль нумерации для продаж POS +CashDeskGenericMaskCodes6 = Тег
    {TN} используется для добавления номера терминала +TakeposGroupSameProduct=Группируйте одинаковые продуктовые линейки +StartAParallelSale=Начать новую параллельную продажу +SaleStartedAt=Продажа началась на %s +ControlCashOpening=Откройте всплывающее окно «Контролировать наличные» при открытии POS-терминала. +CloseCashFence=Кассовый контроль +CashReport=Кассовый отчет +MainPrinterToUse=Основной принтер для использования +OrderPrinterToUse=Заказать принтер для использования +MainTemplateToUse=Основной шаблон для использования +OrderTemplateToUse=Шаблон заказа для использования +BarRestaurant=Бар Ресторан +AutoOrder=Заказ самим покупателем +RestaurantMenu=Меню +CustomerMenu=Меню клиента +ScanToMenu=Отсканируйте QR-код, чтобы увидеть меню +ScanToOrder=Отсканируйте QR-код для заказа +Appearance=Появление +HideCategoryImages=Скрыть изображения категорий +HideProductImages=Скрыть изображения продуктов +NumberOfLinesToShow=Количество строк изображения для показа +DefineTablePlan=Определить план таблиц +GiftReceiptButton=Добавьте кнопку "Подарочная квитанция" +GiftReceipt=Квитанция о подарке +ModuleReceiptPrinterMustBeEnabled=Модуль Чековый принтер должен быть включен первым +AllowDelayedPayment=Разрешить отсроченный платеж +PrintPaymentMethodOnReceipts=Распечатать способ оплаты на билетах | квитанциях +WeighingScale=Весы +ShowPriceHT = Отобразить столбец с ценой без налога (на экране) +ShowPriceHTOnReceipt = Вывести столбец с ценой без налога (на квитанции) +CustomerDisplay=Customer display diff --git a/htdocs/langs/ru_RU/categories.lang b/htdocs/langs/ru_RU/categories.lang index b5155d8684e..75fca55493d 100644 --- a/htdocs/langs/ru_RU/categories.lang +++ b/htdocs/langs/ru_RU/categories.lang @@ -3,20 +3,20 @@ Rubrique=Тег/Категория Rubriques=Теги/Категории RubriquesTransactions=Теги/Категории транзакций categories=теги/категории -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Тег / категория этого типа не созданы In=В AddIn=Добавить в modify=изменить Classify=Классифицировать CategoriesArea=Раздел тегов/категорий -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Область тегов товаров / услуг / категорий +SuppliersCategoriesArea=Область тегов / категорий поставщиков +CustomersCategoriesArea=Область клиентских тегов / категорий +MembersCategoriesArea=Область тегов / категорий участников +ContactsCategoriesArea=Область контактных тегов / категорий +AccountsCategoriesArea=Область тегов / категорий банковских счетов +ProjectsCategoriesArea=Область тегов / категорий проекта +UsersCategoriesArea=Область пользовательских тегов / категорий SubCats=Подкатегории CatList=Список тегов/категорий CatListAll=Список тегов/категорий (все типы) @@ -96,4 +96,4 @@ ChooseCategory=Выберите категорию StocksCategoriesArea=Складские категории ActionCommCategoriesArea=Категории событий WebsitePagesCategoriesArea=Категории страниц-контейнеров -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=Используйте оператор "ИЛИ" для категорий diff --git a/htdocs/langs/ru_RU/commercial.lang b/htdocs/langs/ru_RU/commercial.lang index e539e92a5d6..8b09bddcda6 100644 --- a/htdocs/langs/ru_RU/commercial.lang +++ b/htdocs/langs/ru_RU/commercial.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Commerce -CommercialArea=Commerce area +Commercial=Коммерция +CommercialArea=Торговая зона Customer=Клиент Customers=Клиенты Prospect=Потенциальный клиент @@ -18,8 +18,8 @@ TaskRDVWith=Встреча с %s ShowTask=Показать задачу ShowAction=Показать действий ActionsReport=Действия доклад -ThirdPartiesOfSaleRepresentative=Third parties with sales representative -SaleRepresentativesOfThirdParty=Sales representatives of third party +ThirdPartiesOfSaleRepresentative=Третьи лица с торговым представителем +SaleRepresentativesOfThirdParty=Торговые представители третьих лиц SalesRepresentative=Торговый представитель SalesRepresentatives=Торговые представители SalesRepresentativeFollowUp=Представитель по продажам (последующих) @@ -29,8 +29,8 @@ ShowCustomer=Показать заказчика ShowProspect=Показать проспект ListOfProspects=Список потенциальных клиентов ListOfCustomers=Список клиентов -LastDoneTasks=Latest %s completed actions -LastActionsToDo=Oldest %s not completed actions +LastDoneTasks=Последние завершенные действия %s +LastActionsToDo=Самые старые не завершенные действия %s DoneAndToDoActions=Составлено и делать задач DoneActions=Совершено действия ToDoActions=Неполные действия @@ -64,17 +64,18 @@ ActionAC_SHIP=Отправить доставку по почте ActionAC_SUP_ORD=Отправить заказ на покупку по почте ActionAC_SUP_INV=Отправить счет поставщика по почте ActionAC_OTH=Другой -ActionAC_OTH_AUTO=Мероприятия созданные автоматически +ActionAC_OTH_AUTO=Другое авто ActionAC_MANUAL=Мероприятия, созданные вручную ActionAC_AUTO=Мероприятия созданные автоматически -ActionAC_OTH_AUTOShort=Auto +ActionAC_OTH_AUTOShort=Другое +ActionAC_EVENTORGANIZATION=Организация мероприятий мероприятия Stats=Статистика продаж StatusProsp=Проспект статус DraftPropals=Проект коммерческих предложений NoLimit=Нет ограничений -ToOfferALinkForOnlineSignature=Link for online signature -WelcomeOnOnlineSignaturePage=Welcome to the page to accept commercial proposals from %s +ToOfferALinkForOnlineSignature=Ссылка для онлайн-подписи +WelcomeOnOnlineSignaturePage=Добро пожаловать на страницу приема коммерческих предложений от %s ThisScreenAllowsYouToSignDocFrom=Этот экран позволяет вам принять и подписать или отклонить предложение или коммерческое предложение -ThisIsInformationOnDocumentToSign=This is information on document to accept or refuse -SignatureProposalRef=Signature of quote/commercial proposal %s -FeatureOnlineSignDisabled=Feature for online signing disabled or document generated before the feature was enabled +ThisIsInformationOnDocumentToSign=Это информация о документе, который нужно принять или отклонить. +SignatureProposalRef=Подпись цитаты / коммерческого предложения %s +FeatureOnlineSignDisabled=Функция онлайн-подписи отключена или документ был создан до ее включения diff --git a/htdocs/langs/ru_RU/companies.lang b/htdocs/langs/ru_RU/companies.lang index d2c7a153875..ad0acb81ece 100644 --- a/htdocs/langs/ru_RU/companies.lang +++ b/htdocs/langs/ru_RU/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=Название компании %s уже существует. Выберите другое. ErrorSetACountryFirst=Сначала установите страну SelectThirdParty=Выберите контрагента -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Вы уверены, что хотите удалить эту компанию и всю связанную с ней информацию? DeleteContact=Удалить контакт -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Вы действительно хотите удалить этот контакт и всю связанную с ним информацию? MenuNewThirdParty=Новый контрагент MenuNewCustomer=Новый Клиент MenuNewProspect=Новый Потенциальный клиент @@ -43,10 +43,10 @@ Individual=Физическое лицо ToCreateContactWithSameName=Будет автоматически создан контакт/адрес с той информацией которая связывает контрагента с контрагентом. В большинстве случаев, даже если контрагент является физическим лицом, достаточно создать одного контрагента. ParentCompany=Материнская компания Subsidiaries=Филиалы -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate +ReportByMonth=Отчет в месяц +ReportByCustomers=Отчет по клиенту +ReportByThirdparties=Отчет по сторонним организациям +ReportByQuarter=Отчет по ставке CivilityCode=Код корректности RegisteredOffice=Зарегистрированный офис Lastname=Фамилия @@ -54,10 +54,10 @@ Firstname=Имя PostOrFunction=Должность UserTitle=Название NatureOfThirdParty=Свойство контрагента -NatureOfContact=Nature of Contact +NatureOfContact=Характер контакта Address=Адрес State=Штат/Провинция -StateCode=State/Province code +StateCode=Код штата / провинции StateShort=Штат Region=Регион Region-State=Регион - Область @@ -69,7 +69,7 @@ PhoneShort=Телефон Skype=Скайп Call=Звонок Chat=Чат -PhonePro=Bus. phone +PhonePro=Автобус. Телефон PhonePerso=Личн. телефон PhoneMobile=Мобильный No_Email=Отказаться от массовых рассылок @@ -125,7 +125,7 @@ ProfId1AT=Проф ID 1 (USt.-IdNr) ProfId2AT=Проф Id 2 (USt.-NR) ProfId3AT=Проф ID 3 (Handelsregister-Nr.) ProfId4AT=- -ProfId5AT=EORI number +ProfId5AT=Номер EORI ProfId6AT=- ProfId1AU=Проф Id 1 (ABN) ProfId2AU=- @@ -137,7 +137,7 @@ ProfId1BE=Проф Id 1 (Проф номер) ProfId2BE=- ProfId3BE=- ProfId4BE=- -ProfId5BE=EORI number +ProfId5BE=Номер EORI ProfId6BE=- ProfId1BR=- ProfId2BR=Номер IE (Для Бразилии, государственной регистрации юридических лиц) @@ -145,11 +145,11 @@ ProfId3BR=Номер IM (для Бразилии) ProfId4BR=Номер CPF (Для Бразилии) #ProfId5BR=CNAE #ProfId6BR=INSS -ProfId1CH=UID-Nummer +ProfId1CH=UID-номер ProfId2CH=- ProfId3CH=Проф ID 1 (федеральный номер) ProfId4CH=Проф Id 2 (коммерческий Запись номер) -ProfId5CH=EORI number +ProfId5CH=Номер EORI ProfId6CH=- ProfId1CL=Проф Id 1 (БУТ) ProfId2CL=- @@ -167,19 +167,19 @@ ProfId1DE=Проф ID 1 (USt.-IdNr) ProfId2DE=Проф Id 2 (USt.-NR) ProfId3DE=Проф ID 3 (Handelsregister-Nr.) ProfId4DE=- -ProfId5DE=EORI number +ProfId5DE=Номер EORI ProfId6DE=- ProfId1ES=Проф Id 1 (CIF / NIF) ProfId2ES=Проф Id 2 (номер социального страхования) ProfId3ES=Проф Id 3 (CNAE) ProfId4ES=Проф Id 4 (Энциклопедический номер) -ProfId5ES=Prof Id 5 (EORI number) +ProfId5ES=Prof Id 5 (номер EORI) ProfId6ES=- ProfId1FR=Проф Id 1 (SIREN) ProfId2FR=Проф Id 2 (SIRET) ProfId3FR=Проф Id 3 (NAF, старые APE) ProfId4FR=Проф Id 4 (RCS / РМ) -ProfId5FR=Prof Id 5 (numéro EORI) +ProfId5FR=Идентификатор профессора 5 (номер EORI) ProfId6FR=- ProfId1ShortFR=SIREN ProfId2ShortFR=SIRET @@ -209,19 +209,19 @@ ProfId1IT=- ProfId2IT=- ProfId3IT=- ProfId4IT=- -ProfId5IT=EORI number +ProfId5IT=Номер EORI ProfId6IT=- ProfId1LU=Я бы. проф. 1 (R.C.S. Luxembourg) ProfId2LU=Id. prof. 2 (Разрешенный бизнес) ProfId3LU=- ProfId4LU=- -ProfId5LU=EORI number +ProfId5LU=Номер EORI ProfId6LU=- ProfId1MA=Id проф. 1 (RC) ProfId2MA=Id проф. 2 (Patente) ProfId3MA=Id проф. 3 (IF) ProfId4MA=Id проф. 4 (НКСО) -ProfId5MA=Id prof. 5 (I.C.E.) +ProfId5MA=ID проф. 5 (I.C.E.) ProfId6MA=- ProfId1MX=Проф Id 1 (RFC). ProfId2MX=Проф Id 2 (R.. P. ИМСС) @@ -233,13 +233,13 @@ ProfId1NL=KVK Nummer ProfId2NL=- ProfId3NL=- ProfId4NL=- -ProfId5NL=EORI number +ProfId5NL=Номер EORI ProfId6NL=- ProfId1PT=Проф ID 1 (NIPC) ProfId2PT=Проф Id 2 (номера социального страхования) ProfId3PT=Проф Id 3 (коммерческий Запись номер) ProfId4PT=Проф Id 4 (Консерватория) -ProfId5PT=Prof Id 5 (EORI number) +ProfId5PT=Prof Id 5 (номер EORI) ProfId6PT=- ProfId1SN=RC ProfId2SN=NINEA @@ -259,11 +259,11 @@ ProfId3US=- ProfId4US=- ProfId5US=- ProfId6US=- -ProfId1RO=Prof Id 1 (CUI) -ProfId2RO=Prof Id 2 (Nr. Înmatriculare) -ProfId3RO=Prof Id 3 (CAEN) -ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId1RO=Идентификатор профессора 1 (CUI) +ProfId2RO=ID профессора 2 (Nr. Înmatriculare) +ProfId3RO=ID профессора 3 (CAEN) +ProfId4RO=Идентификатор профессора 5 (EUID) +ProfId5RO=Prof Id 5 (номер EORI) ProfId6RO=- ProfId1RU=Prof Id 1 (ОГРН) ProfId2RU=Prof Id 2 (ИНН) @@ -310,7 +310,7 @@ AddContact=Создать контакт AddContactAddress=Создать контакт/адрес EditContact=Изменить контакт / адреса EditContactAddress=Редактировать контакт/адрес -Contact=Contact/Address +Contact=Контактный адрес Contacts=Контакты ContactId=Идентификатор контакта ContactsAddresses=Контакты/Адреса @@ -318,7 +318,7 @@ FromContactName=Имя: NoContactDefinedForThirdParty=Не задан контакт для этого контрагента NoContactDefined=У этого контрагента не указаны контакты DefaultContact=Контакт по умолчанию -ContactByDefaultFor=Default contact/address for +ContactByDefaultFor=Контакт / адрес по умолчанию для AddThirdParty=Создать контрагента DeleteACompany=Удалить компанию PersonalInformations=Личные данные @@ -331,15 +331,15 @@ CustomerCodeDesc=Код Клиента, уникальный для каждог SupplierCodeDesc=Код Поставщика, уникальный для каждого поставщика RequiredIfCustomer=Требуется, если контрагент является покупателем или потенциальным клиентом RequiredIfSupplier=Требуется, если контрагент является поставщиком -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Срок действия контролируется модулем ThisIsModuleRules=Правила для этого модуля ProspectToContact=Потенциальный клиент для связи CompanyDeleted=Компания " %s" удалена из базы данных. ListOfContacts=Список контактов/адресов ListOfContactsAddresses=Список контактов/адресов ListOfThirdParties=Список контрагентов -ShowCompany=Third Party -ShowContact=Contact-Address +ShowCompany=Сторонний +ShowContact=Контактный адрес ContactsAllShort=Все (без фильтра) ContactType=Вид контакт ContactForOrders=Контакт заказа @@ -358,7 +358,7 @@ MyContacts=Мои контакты Capital=Капитал CapitalOf=Столица %s EditCompany=Изменить компанию -ThisUserIsNot=This user is not a prospect, customer or vendor +ThisUserIsNot=Этот пользователь не является потенциальным клиентом, покупателем или продавцом VATIntraCheck=Проверить VATIntraCheckDesc=Идентификатор НДС должен включать префикс страны. Ссылка %s использует европейскую службу проверки НДС (VIES), для которой требуется доступ в Интернет с сервера Dolibarr. VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do @@ -366,8 +366,8 @@ VATIntraCheckableOnEUSite=Проверьте идентификатора НДС VATIntraManualCheck=Вы также можете проверить его вручную на сайте Европейской Комиссии %s ErrorVATCheckMS_UNAVAILABLE=Проверка невозможна. Сервис проверки не предоставляется государством-членом ЕС (%s). NorProspectNorCustomer=Не потенциальный клиент, не клиент -JuridicalStatus=Business entity type -Workforce=Workforce +JuridicalStatus=Тип хозяйствующего субъекта +Workforce=Штат Staff=Сотрудники ProspectLevelShort=Потенциальный ProspectLevel=Потенциальный клиент @@ -426,12 +426,12 @@ AllocateCommercial=Назначить торгового представите Organization=Организация FiscalYearInformation=Финансовый год FiscalMonthStart=Первый месяц финансового года -SocialNetworksInformation=Social networks -SocialNetworksFacebookURL=Facebook URL -SocialNetworksTwitterURL=Twitter URL +SocialNetworksInformation=Социальные сети +SocialNetworksFacebookURL=URL-адрес Facebook +SocialNetworksTwitterURL=URL-адрес Twitter SocialNetworksLinkedinURL=Linkedin URL -SocialNetworksInstagramURL=Instagram URL -SocialNetworksYoutubeURL=Youtube URL +SocialNetworksInstagramURL=URL в Instagram +SocialNetworksYoutubeURL=URL Youtube SocialNetworksGithubURL=Github URL YouMustAssignUserMailFirst=Вы должны создать адрес электронной почты для этого пользователя, прежде чем сможете добавить уведомление по электронной почте. YouMustCreateContactFirst=Для добавления электронных уведомлений вы должны сначала указать действующий email контрагента @@ -439,39 +439,39 @@ ListSuppliersShort=Список Поставщиков ListProspectsShort=Список Потенциальных клиентов ListCustomersShort=Список Клиентов ThirdPartiesArea=Контрагенты/Контакты -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Последние %s Третьи стороны, которые были изменены +UniqueThirdParties=Общее количество третьих лиц InActivity=Открытые ActivityCeased=Закрыто ThirdPartyIsClosed=Закрывшиеся контрагенты -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=Список продуктов / услуг, сопоставленных с %s CurrentOutstandingBill=Валюта неуплаченного счёта OutstandingBill=Максимальный неуплаченный счёт OutstandingBillReached=Достигнут максимум не оплаченных счетов OrderMinAmount=Минимальная сумма заказа -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=Возвращает число в формате %syymm-nnnn для кода клиента и %syymm-nnnn для кода поставщика, где yy - год, mm - месяц, а nnnn - последовательное автоматически увеличивающееся число без перерыва и без возврата к 0. LeopardNumRefModelDesc=Код покупателю/поставщику не присваивается. Он может быть изменен в любое время. ManagingDirectors=Имя управляющего или управляющих (Коммерческого директора, директора, президента...) MergeOriginThirdparty=Копия контрагента (контрагент которого вы хотите удалить) MergeThirdparties=Объединить контрагентов -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Вы уверены, что хотите объединить выбранное третье лицо с текущим? Все связанные объекты (счета, заказы и т. Д.) Будут перемещены текущей третьей стороне, после чего выбранное третье лицо будет удалено. ThirdpartiesMergeSuccess=Третьи стороны были объединены SaleRepresentativeLogin=Логин торгового представителя SaleRepresentativeFirstname=Имя торгового представителя SaleRepresentativeLastname=Фамилия торгового представителя ErrorThirdpartiesMerge=При удалении третьих сторон произошла ошибка. Проверьте журнал. Изменения были отменены. NewCustomerSupplierCodeProposed=Код Клиента или Поставщика уже используется, предлагается новый код -KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address +KeepEmptyIfGenericAddress=Оставьте это поле пустым, если это общий адрес. #Imports PaymentTypeCustomer=Тип оплаты - Клиент PaymentTermsCustomer=Условия оплаты - Клиент PaymentTypeSupplier=Тип оплаты - Поставщик PaymentTermsSupplier=Условия оплаты - Поставщик -PaymentTypeBoth=Payment Type - Customer and Vendor +PaymentTypeBoth=Тип платежа - клиент и продавец MulticurrencyUsed=Использовать Мультивалютность MulticurrencyCurrency=Валюта -InEEC=Europe (EEC) -RestOfEurope=Rest of Europe (EEC) -OutOfEurope=Out of Europe (EEC) -CurrentOutstandingBillLate=Current outstanding bill late -BecarefullChangeThirdpartyBeforeAddProductToInvoice=Be carefull, depending on your product price settings, you should change thirdparty before adding product to POS. +InEEC=Европа (ЕЭС) +RestOfEurope=Остальная Европа (ЕЭС) +OutOfEurope=За пределами Европы (ЕЭС) +CurrentOutstandingBillLate=Текущий неоплаченный счет поздно +BecarefullChangeThirdpartyBeforeAddProductToInvoice=Будьте осторожны, в зависимости от настроек цены вашего продукта вам следует изменить стороннюю организацию, прежде чем добавлять продукт в POS. diff --git a/htdocs/langs/ru_RU/compta.lang b/htdocs/langs/ru_RU/compta.lang index c10dc6bd112..088bb747161 100644 --- a/htdocs/langs/ru_RU/compta.lang +++ b/htdocs/langs/ru_RU/compta.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - compta -MenuFinancial=Billing | Payment +MenuFinancial=Биллинг | Оплата TaxModuleSetupToModifyRules=Используйте Настройку модуля Налоги для изменения правил расчёта -TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation +TaxModuleSetupToModifyRulesLT=Перейдите к Настройка компании , чтобы изменить правила расчета OptionMode=Вариант для бухгалтеров OptionModeTrue=Вариант "затраты-выпуск" OptionModeVirtual=Вариант Кредиты-Вычеты @@ -9,152 +9,152 @@ OptionModeTrueDesc=В этом контексте, оборот исчисляе OptionModeVirtualDesc=В этом контексте, оборот исчисляется более счетов (дата проверки). Когда эти счета-фактуры должны ли они были выплачены или нет, они перечислены в оборот продукции. FeatureIsSupportedInInOutModeOnly=Функция доступна только в виде кредитов-ДОЛГОВ бухгалтерия (см. Бухгалтерия конфигурации модуля) VATReportBuildWithOptionDefinedInModule=Суммы, показанные здесь, рассчитанного с использованием установленных правил налоговыми модуля установки. -LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. +LTReportBuildWithOptionDefinedInModule=Суммы, показанные здесь, рассчитываются с использованием правил, определенных настройками компании. Param=Настройка -RemainingAmountPayment=Amount payment remaining: +RemainingAmountPayment=Оставшаяся сумма платежа: Account=Учетная запись -Accountparent=Parent account -Accountsparent=Parent accounts +Accountparent=Родительский счет +Accountsparent=Родительские счета Income=Поступления Outcome=Итог MenuReportInOut=Поступления / Результат -ReportInOut=Balance of income and expenses -ReportTurnover=Turnover invoiced -ReportTurnoverCollected=Turnover collected +ReportInOut=Баланс доходов и расходов +ReportTurnover=Счет за оборот +ReportTurnoverCollected=Собранный оборот PaymentsNotLinkedToInvoice=Платежи, не связанные с какой-либо счет, это не связано с какой-либо третьей стороны PaymentsNotLinkedToUser=Платежи, не связанные с какой-либо пользователь Profit=Прибыль -AccountingResult=Accounting result +AccountingResult=Результат бухгалтерского учета BalanceBefore=Баланс (до) Balance=Баланс Debit=Дебет Credit=Кредит -Piece=Accounting Doc. +Piece=Бухгалтерский док. AmountHTVATRealReceived=HT собрали AmountHTVATRealPaid=HT оплачивается -VATToPay=Tax sales -VATReceived=Tax received -VATToCollect=Tax purchases -VATSummary=Tax monthly -VATBalance=Tax Balance -VATPaid=Tax paid -LT1Summary=Tax 2 summary -LT2Summary=Tax 3 summary -LT1SummaryES=RE Balance +VATToPay=Налоговые продажи +VATReceived=Полученный налог +VATToCollect=Налоговые покупки +VATSummary=Налог ежемесячно +VATBalance=Налоговый баланс +VATPaid=Уплаченный налог +LT1Summary=Сводка по налогу 2 +LT2Summary=Сводка по налогу 3 +LT1SummaryES=RE Баланс LT2SummaryES=IRPF баланс -LT1SummaryIN=CGST Balance -LT2SummaryIN=SGST Balance -LT1Paid=Tax 2 paid -LT2Paid=Tax 3 paid -LT1PaidES=RE Paid +LT1SummaryIN=CGST Баланс +LT2SummaryIN=Баланс SGST +LT1Paid=Налог 2 оплачен +LT2Paid=Налог 3 уплачен +LT1PaidES=RE оплачено LT2PaidES=Платные IRPF -LT1PaidIN=CGST Paid -LT2PaidIN=SGST Paid -LT1Customer=Tax 2 sales -LT1Supplier=Tax 2 purchases +LT1PaidIN=Платный CGST +LT2PaidIN=SGST оплачено +LT1Customer=Налог 2 с продаж +LT1Supplier=Налог 2 покупки LT1CustomerES=Продажи ранее проданного товара/услуги LT1SupplierES=Покупки ранее проданного товара/услуги -LT1CustomerIN=CGST sales -LT1SupplierIN=CGST purchases -LT2Customer=Tax 3 sales -LT2Supplier=Tax 3 purchases +LT1CustomerIN=CGST продажи +LT1SupplierIN=CGST покупки +LT2Customer=Налог 3 с продаж +LT2Supplier=Налог 3 покупки LT2CustomerES=IRPF продаж LT2SupplierES=IRPF покупки -LT2CustomerIN=SGST sales -LT2SupplierIN=SGST purchases +LT2CustomerIN=SGST продажи +LT2SupplierIN=SGST покупает VATCollected=НДС собрали StatusToPay=Для оплаты SpecialExpensesArea=Раздел для всех специальных платежей -VATExpensesArea=Area for all TVA payments -SocialContribution=Social or fiscal tax -SocialContributions=Social or fiscal taxes -SocialContributionsDeductibles=Deductible social or fiscal taxes -SocialContributionsNondeductibles=Nondeductible social or fiscal taxes -DateOfSocialContribution=Date of social or fiscal tax -LabelContrib=Label contribution -TypeContrib=Type contribution +VATExpensesArea=Зона для всех платежей TVA +SocialContribution=Социальный или фискальный налог +SocialContributions=Социальные или фискальные налоги +SocialContributionsDeductibles=Вычитаемые социальные или фискальные налоги +SocialContributionsNondeductibles=Невычисляемые социальные или налоговые налоги +DateOfSocialContribution=Дата уплаты социального или налогового налога +LabelContrib=Отметить вклад +TypeContrib=Тип вклада MenuSpecialExpenses=Специальные расходы MenuTaxAndDividends=Налоги и дивиденды -MenuSocialContributions=Social/fiscal taxes -MenuNewSocialContribution=New social/fiscal tax -NewSocialContribution=New social/fiscal tax -AddSocialContribution=Add social/fiscal tax -ContributionsToPay=Social/fiscal taxes to pay -AccountancyTreasuryArea=Billing and payment area +MenuSocialContributions=Социальные / налоговые налоги +MenuNewSocialContribution=Новый социальный / фискальный налог +NewSocialContribution=Новый социальный / фискальный налог +AddSocialContribution=Добавить социальный / фискальный налог +ContributionsToPay=Социальные / фискальные налоги для уплаты +AccountancyTreasuryArea=Зона биллинга и оплаты NewPayment=Новые оплаты PaymentCustomerInvoice=Заказчиком оплаты счетов-фактур -PaymentSupplierInvoice=vendor invoice payment +PaymentSupplierInvoice=оплата по счету поставщика PaymentSocialContribution=Социальный/налоговый сбор PaymentVat=НДС платеж -AutomaticCreationPayment=Automatically record the payment +AutomaticCreationPayment=Автоматически записывать платеж ListPayment=Список платежей ListOfCustomerPayments=Список клиентов платежи -ListOfSupplierPayments=List of vendor payments +ListOfSupplierPayments=Список платежей поставщикам DateStartPeriod=Дата начала периода DateEndPeriod=Дата окончания периода -newLT1Payment=New tax 2 payment -newLT2Payment=New tax 3 payment -LT1Payment=Tax 2 payment -LT1Payments=Tax 2 payments -LT2Payment=Tax 3 payment -LT2Payments=Tax 3 payments +newLT1Payment=Новый платеж по налогу 2 +newLT2Payment=Новый платеж по налогу 3 +LT1Payment=Уплата налога 2 +LT1Payments=Налог 2 платежа +LT2Payment=Оплата налога 3 +LT2Payments=Платежи по налогу 3 newLT1PaymentES=Новое полашение newLT2PaymentES=Новые IRPF оплаты LT1PaymentES=Погашение LT1PaymentsES=Погашения LT2PaymentES=IRPF оплаты LT2PaymentsES=IRPF платежей -VATPayment=Sales tax payment -VATPayments=Sales tax payments -VATDeclarations=VAT declarations -VATDeclaration=VAT declaration -VATRefund=Sales tax refund -NewVATPayment=New sales tax payment -NewLocalTaxPayment=New tax %s payment -Refund=Refund -SocialContributionsPayments=Social/fiscal taxes payments +VATPayment=Уплата налога с продаж +VATPayments=Платежи по налогу с продаж +VATDeclarations=Декларации по НДС +VATDeclaration=Декларация по НДС +VATRefund=Возврат налога с продаж +NewVATPayment=Новый платеж по налогу с продаж +NewLocalTaxPayment=Новый налоговый платеж %s +Refund=Возврат +SocialContributionsPayments=Платежи по социальным / фискальным налогам ShowVatPayment=Показать оплате НДС TotalToPay=Всего к оплате -BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters) -CustomerAccountancyCode=Customer accounting code -SupplierAccountancyCode=Vendor accounting code -CustomerAccountancyCodeShort=Cust. account. code -SupplierAccountancyCodeShort=Sup. account. code +BalanceVisibilityDependsOnSortAndFilters=Баланс отображается в этом списке только в том случае, если таблица отсортирована по %s и отфильтрована по 1 банковскому счету (без других фильтров) +CustomerAccountancyCode=Код бухгалтерского учета клиента +SupplierAccountancyCode=Код учета поставщика +CustomerAccountancyCodeShort=Cust. учетная запись. код +SupplierAccountancyCodeShort=Как дела. учетная запись. код AccountNumber=Номер счета NewAccountingAccount=Новый счет -Turnover=Turnover invoiced -TurnoverCollected=Turnover collected -SalesTurnoverMinimum=Minimum turnover -ByExpenseIncome=By expenses & incomes +Turnover=Счет за оборот +TurnoverCollected=Собранный оборот +SalesTurnoverMinimum=Минимальный оборот +ByExpenseIncome=По расходам и доходам ByThirdParties=Бу-третьих сторон ByUserAuthorOfInvoice=По счету автора CheckReceipt=Проверьте депозит CheckReceiptShort=Проверьте депозит -LastCheckReceiptShort=Latest %s check receipts +LastCheckReceiptShort=Последние чеки %s NewCheckReceipt=Новые скидки NewCheckDeposit=Новая проверка депозит NewCheckDepositOn=Новый депозит проверить на счету: %s -NoWaitingChecks=No checks awaiting deposit. -DateChequeReceived=Check receiving date -NbOfCheques=No. of checks -PaySocialContribution=Pay a social/fiscal tax -PayVAT=Pay a VAT declaration -PaySalary=Pay a salary card -ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? -ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? -DeleteSocialContribution=Delete a social or fiscal tax payment -DeleteVAT=Delete a VAT declaration -DeleteSalary=Delete a salary card -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? -ExportDataset_tax_1=Social and fiscal taxes and payments -CalcModeVATDebt=Mode %sVAT on commitment accounting%s. -CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. -CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger. -CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger. -CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table. +NoWaitingChecks=Нет чеков, ожидающих депозита. +DateChequeReceived=Проверить дату получения +NbOfCheques=Кол-во чеков +PaySocialContribution=Платить социальный / фискальный налог +PayVAT=Оплатить декларацию по НДС +PaySalary=Оплатить зарплатную карту +ConfirmPaySocialContribution=Вы уверены, что хотите отнести этот социальный или фискальный налог к уплаченным? +ConfirmPayVAT=Вы уверены, что хотите классифицировать эту декларацию по НДС как оплаченную? +ConfirmPaySalary=Вы уверены, что хотите отнести эту зарплатную карту к платной? +DeleteSocialContribution=Удалить социальный или налоговый платеж +DeleteVAT=Удалить декларацию НДС +DeleteSalary=Удалить зарплатную карту +ConfirmDeleteSocialContribution=Вы действительно хотите удалить этот социальный / налоговый платеж? +ConfirmDeleteVAT=Вы уверены, что хотите удалить эту декларацию по НДС? +ConfirmDeleteSalary=Вы уверены, что хотите удалить эту зарплату? +ExportDataset_tax_1=Социальные и налоговые налоги и платежи +CalcModeVATDebt=Режим %s НДС при учете обязательств%s . +CalcModeVATEngagement=Режим %s НДС на доходы-расходы%s . +CalcModeDebt=Анализ известных записанных документов, даже если они еще не учтены в бухгалтерской книге. +CalcModeEngagement=Анализ известных зарегистрированных платежей, даже если они еще не учтены в бухгалтерской книге. +CalcModeBookkeeping=Анализ данных, занесенных в таблицу бухгалтерской книги. CalcModeLT1= Режим %sRE на счетах клиентов - счетах поставщиков%s CalcModeLT1Debt=Режим %sRE на счетах клиентов%s CalcModeLT1Rec= Режим %sRE на счетах поставщиков%s @@ -163,52 +163,52 @@ CalcModeLT2Debt=Режим %sIRPF на счетах клиентов%s CalcModeLT2Rec= Режим %sIRPF на счетах поставщиков%s AnnualSummaryDueDebtMode=Баланс доходов и расходов, годовые итоги AnnualSummaryInputOutputMode=Баланс доходов и расходов, годовые итоги -AnnualByCompanies=Balance of income and expenses, by predefined groups of account +AnnualByCompanies=Баланс доходов и расходов по заранее определенным группам счетов AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode %sClaims-Debts%s said Commitment accounting. AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation based on recorded payments made even if they are not yet accounted in Ledger SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table RulesAmountWithTaxIncluded= - Суммы даны с учётом всех налогов -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. -RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    -RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    -RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME -RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" -RulesResultBookkeepingPredefined=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" -RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting accounts grouped by personalized groups -SeePageForSetup=See menu %s for setup -DepositsAreNotIncluded=- Down payment invoices are not included -DepositsAreIncluded=- Down payment invoices are included -LT1ReportByMonth=Tax 2 report by month -LT2ReportByMonth=Tax 3 report by month -LT1ReportByCustomers=Report tax 2 by third party -LT2ReportByCustomers=Report tax 3 by third party -LT1ReportByCustomersES=Report by third party RE +RulesResultDue=- Сюда входят неоплаченные счета, расходы, НДС, пожертвования вне зависимости от того, оплачены они или нет. Также сюда входит выплачиваемая заработная плата.
    - он основан на дате выставления счетов-фактур и на сроке оплаты расходов или налоговых платежей. Для заработной платы, определенной с помощью модуля Salary, используется дата валютирования платежа. +RulesResultInOut=- Сюда входят реальные платежи по счетам, расходы, НДС и заработная плата.
    - Он основан на датах оплаты счетов-фактур, расходах, НДС и заработной плате. Дата пожертвования для пожертвования. +RulesCADue=- Он включает в себя подлежащие оплате счета клиента независимо от того, оплачены они или нет.
    - зависит от даты выставления счетов для этих счетов.
    +RulesCAIn=- Он включает в себя все действующие платежи по счетам, полученным от клиентов.
    - он основан на дате оплаты этих счетов-фактур
    +RulesCATotalSaleJournal=Он включает все кредитные линии из журнала продаж. +RulesSalesTurnoverOfIncomeAccounts=Включает (кредитовые - дебетовые) строки для продуктовых счетов в группе ДОХОД. +RulesAmountOnInOutBookkeepingRecord=Он включает в себя запись в вашей бухгалтерской книге с учетными записями, имеющими группу «РАСХОДЫ» или «ДОХОД». +RulesResultBookkeepingPredefined=Он включает в себя запись в вашей бухгалтерской книге с учетными записями, имеющими группу «РАСХОДЫ» или «ДОХОД». +RulesResultBookkeepingPersonalized=Он показывает запись в вашей книге с учетными записями , сгруппированными по персонализированным группам +SeePageForSetup=См. Меню %s для настройки +DepositsAreNotIncluded=- Счета на предоплату не включены +DepositsAreIncluded=- Счета на предоплату включены +LT1ReportByMonth=Отчет по налогу 2 по месяцам +LT2ReportByMonth=Отчет по налогу 3 по месяцам +LT1ReportByCustomers=Отчет о налоге 2 третьей стороной +LT2ReportByCustomers=Отчет о налоге 3 третьей стороной +LT1ReportByCustomersES=Отчет третьей стороны RE LT2ReportByCustomersES=Доклад третьей стороной IRPF -VATReport=Sale tax report -VATReportByPeriods=Sale tax report by period -VATReportByMonth=Sale tax report by month -VATReportByRates=Sale tax report by rates -VATReportByThirdParties=Sale tax report by third parties -VATReportByCustomers=Sale tax report by customer +VATReport=Отчет о налоге с продаж +VATReportByPeriods=Отчет по налогу с продаж по периодам +VATReportByMonth=Отчет о налоге с продаж по месяцам +VATReportByRates=Отчет о налоге с продаж по ставкам +VATReportByThirdParties=Отчет о налоге с продаж от третьих лиц +VATReportByCustomers=Отчет клиента о налоге с продаж VATReportByCustomersInInputOutputMode=Отчёт по собранному и оплаченному НДС клиента -VATReportByQuartersInInputOutputMode=Report by Sale tax rate of the tax collected and paid -VATReportShowByRateDetails=Show details of this rate -LT1ReportByQuarters=Report tax 2 by rate -LT2ReportByQuarters=Report tax 3 by rate +VATReportByQuartersInInputOutputMode=Отчет по ставке налога с продаж собранных и уплаченных налогов +VATReportShowByRateDetails=Показать подробную информацию об этой ставке +LT1ReportByQuarters=Отчет о налоге 2 по ставке +LT2ReportByQuarters=Отчет о налоге 3 по ставке LT1ReportByQuartersES=Отчёт по ставке RE LT2ReportByQuartersES=Отчёт по ставке IRPF SeeVATReportInInputOutputMode=См. LE отношения %sTVA encaissement %s для режима де CALCUL стандарт SeeVATReportInDueDebtMode=См. LE отношения %sTVA сюр dbit %s для режима де CALCUL AVEC вариант SUR LES dbits -RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. -RulesVATInProducts=- For material assets, the report includes the VAT received or issued on the basis of the date of payment. +RulesVATInServices=- Что касается услуг, в отчет включены правила НДС, фактически полученные или выданные на дату оплаты. +RulesVATInProducts=- По материальным ценностям отчет включает НДС, полученный или выплаченный на дату платежа. RulesVATDueServices=- Для услуг, отчет включает в себя счета-фактуры за счет, оплачиваемый или нет, исходя из даты выставления счета. -RulesVATDueProducts=- For material assets, the report includes the VAT invoices, based on the invoice date. +RulesVATDueProducts=- Для материальных ценностей отчет включает счета-фактуры по НДС на основании даты выставления счета. OptionVatInfoModuleComptabilite=Примечание: Для материальных ценностей, она должна использовать даты доставки будет более справедливым. -ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values +ThisIsAnEstimatedValue=Это предварительный просмотр, основанный на бизнес-событиях, а не на окончательной таблице бухгалтерской книги, поэтому окончательные результаты могут отличаться от значений этого предварительного просмотра. PercentOfInvoice=%%/счёт NotUsedForGoods=Не используется на товары ProposalStats=Статистика по предложениям @@ -223,66 +223,72 @@ PurchasesJournal=Покупки Журнал DescSellsJournal=Продажи журнала DescPurchasesJournal=Покупки Журнал CodeNotDef=Не определено -WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module. -DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. -Pcg_version=Chart of accounts models -Pcg_type=Pcg type -Pcg_subtype=Pcg subtype +WarningDepositsNotIncluded=Счета на предоплату не включены в эту версию с этим модулем бухгалтерского учета. +DatePaymentTermCantBeLowerThanObjectDate=Срок оплаты не может быть ниже даты объекта. +Pcg_version=Модели планов счетов +Pcg_type=Тип ПК +Pcg_subtype=Подтип ПК InvoiceLinesToDispatch=Строки счёта для отправки -ByProductsAndServices=By product and service +ByProductsAndServices=По продуктам и услугам RefExt=Внешняя ссылка -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +ToCreateAPredefinedInvoice=Чтобы создать шаблон счета-фактуры, создайте стандартный счет-фактуру, затем, не проверяя его, нажмите кнопку «%s». LinkedOrder=Ссылка для заказа Mode1=Метод 1 Mode2=Метод 2 -CalculationRuleDesc=To calculate total VAT, there is two methods:
    Method 1 is rounding vat on each line, then summing them.
    Method 2 is summing all vat on each line, then rounding result.
    Final result may differs from few cents. Default mode is mode %s. -CalculationRuleDescSupplier=According to vendor, choose appropriate method to apply same calculation rule and get same result expected by your vendor. -TurnoverPerProductInCommitmentAccountingNotRelevant=The report of Turnover collected per product is not available. This report is only available for turnover invoiced. -TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. +CalculationRuleDesc=Для расчета общей суммы НДС существует два метода:
    Метод 1 - округление НДС в каждой строке, а затем их суммирование.
    Метод 2 суммирует все НДС в каждой строке, а затем округляет результат.
    Конечный результат может отличаться от нескольких центов. Режим по умолчанию - режим %s . +CalculationRuleDescSupplier=По словам поставщика, выберите подходящий метод, чтобы применить то же правило расчета и получить тот же результат, который ожидал ваш поставщик. +TurnoverPerProductInCommitmentAccountingNotRelevant=Отчет об обороте по продуктам недоступен. Этот отчет доступен только для счета-фактуры оборота. +TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=Отчет об обороте, собранном по ставке налога с продаж, недоступен. Этот отчет доступен только для счета-фактуры оборота. CalculationMode=Режим вычислений -AccountancyJournal=Accounting code journal -ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for VAT on sales (used if not defined on VAT dictionary setup) -ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for VAT on purchases (used if not defined on VAT dictionary setup) -ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT -ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties -ACCOUNTING_ACCOUNT_CUSTOMER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated customer accounting account on third party is not defined. -ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for vendor third parties -ACCOUNTING_ACCOUNT_SUPPLIER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated vendor accounting account on third party is not defined. -ConfirmCloneTax=Confirm the clone of a social/fiscal tax -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary +AccountancyJournal=Журнал кодов бухгалтерского учета +ACCOUNTING_VAT_SOLD_ACCOUNT=Бухгалтерский счет по умолчанию для НДС с продаж (используется, если не определен при настройке словаря НДС) +ACCOUNTING_VAT_BUY_ACCOUNT=Бухгалтерский счет по умолчанию для НДС с покупок (используется, если не определен при настройке словаря НДС) +ACCOUNTING_VAT_PAY_ACCOUNT=Бухгалтерский счет по умолчанию для уплаты НДС +ACCOUNTING_ACCOUNT_CUSTOMER=Бухгалтерский счет, используемый для третьих лиц клиента +ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Выделенная учетная запись, указанная на карте третьей стороны, будет использоваться только для учета во вспомогательной книге. Он будет использоваться для Главной книги и в качестве значения по умолчанию для учета во вспомогательной книге, если выделенная учетная запись клиента на третьей стороне не определена. +ACCOUNTING_ACCOUNT_SUPPLIER=Бухгалтерский счет, используемый для третьих сторон поставщика +ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Выделенная учетная запись, указанная на карте третьей стороны, будет использоваться только для учета во вспомогательной книге. Он будет использоваться для Главной книги и в качестве значения по умолчанию для учета во вспомогательной книге, если не определена специальная учетная запись поставщика для третьей стороны. +ConfirmCloneTax=Подтвердите клон социального / налогового налога +ConfirmCloneVAT=Подтвердите копию декларации по НДС +ConfirmCloneSalary=Подтвердите клон зарплаты CloneTaxForNextMonth=Клонировать для следующего месяца SimpleReport=Простой отчет -AddExtraReport=Extra reports (add foreign and national customer report) -OtherCountriesCustomersReport=Foreign customers report -BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code -SameCountryCustomersWithVAT=National customers report -BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code -LinkedFichinter=Link to an intervention -ImportDataset_tax_contrib=Social/fiscal taxes -ImportDataset_tax_vat=Vat payments -ErrorBankAccountNotFound=Error: Bank account not found +AddExtraReport=Дополнительные отчеты (добавить отчет о зарубежных и национальных клиентах) +OtherCountriesCustomersReport=Отчет иностранных клиентов +BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=На основании того, что две первые буквы номера плательщика НДС отличаются от кода страны вашей компании. +SameCountryCustomersWithVAT=Отчет о национальных клиентах +BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=На основании того, что две первые буквы номера плательщика НДС совпадают с кодом страны вашей компании. +LinkedFichinter=Ссылка на вмешательство +ImportDataset_tax_contrib=Социальные / налоговые налоги +ImportDataset_tax_vat=Платежи по НДС +ErrorBankAccountNotFound=Ошибка: банковский счет не найден FiscalPeriod=Период учета -ListSocialContributionAssociatedProject=List of social contributions associated with the project -DeleteFromCat=Remove from accounting group -AccountingAffectation=Accounting assignment -LastDayTaxIsRelatedTo=Last day of period the tax is related to -VATDue=Sale tax claimed -ClaimedForThisPeriod=Claimed for the period -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range -ByVatRate=By sale tax rate -TurnoverbyVatrate=Turnover invoiced by sale tax rate -TurnoverCollectedbyVatrate=Turnover collected by sale tax rate -PurchasebyVatrate=Purchase by sale tax rate +ListSocialContributionAssociatedProject=Список социальных отчислений, связанных с проектом +DeleteFromCat=Удалить из учетной группы +AccountingAffectation=Бухгалтерское задание +LastDayTaxIsRelatedTo=Последний день периода, к которому относится налог +VATDue=Заявленный налог с продаж +ClaimedForThisPeriod=Заявлено за период +PaidDuringThisPeriod=Оплачено за этот период +PaidDuringThisPeriodDesc=Это сумма всех платежей, связанных с декларациями по НДС, у которых дата окончания периода находится в выбранном диапазоне дат. +ByVatRate=По ставке налога с продаж +TurnoverbyVatrate=Оборот по ставке налога с продаж +TurnoverCollectedbyVatrate=Оборот по ставке налога с продаж +PurchasebyVatrate=Покупка по ставке налога с продажи LabelToShow=Короткая метка -PurchaseTurnover=Purchase turnover -PurchaseTurnoverCollected=Purchase turnover collected -RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    -RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    -RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE -ReportPurchaseTurnover=Purchase turnover invoiced -ReportPurchaseTurnoverCollected=Purchase turnover collected -IncludeVarpaysInResults = Include various payments in reports -IncludeLoansInResults = Include loans in reports +PurchaseTurnover=Оборот покупок +PurchaseTurnoverCollected=Накопленный оборот покупок +RulesPurchaseTurnoverDue=- Он включает в себя счета-фактуры поставщика, независимо от того, оплачены они или нет.
    - он основан на дате выставления этих счетов-фактур.
    +RulesPurchaseTurnoverIn=- Он включает в себя все фактические платежи по счетам поставщикам.
    - он основан на дате оплаты этих счетов-фактур
    +RulesPurchaseTurnoverTotalPurchaseJournal=Он включает все дебетовые строки из журнала покупок. +RulesPurchaseTurnoverOfExpenseAccounts=Включает (дебет - кредит) строк для продуктовых счетов в группе РАСХОДЫ. +ReportPurchaseTurnover=Счет-фактура оборота закупок +ReportPurchaseTurnoverCollected=Накопленный оборот покупок +IncludeVarpaysInResults = Включать различные платежи в отчеты +IncludeLoansInResults = Включать ссуды в отчеты +InvoiceLate30Days = Счета-фактуры с просрочкой > 30 дней +InvoiceLate15Days = Счета-фактуры с просрочкой > 15 дней +InvoiceLateMinus15Days = Счета опаздывают +InvoiceNotLate = Необходимо собрать < 15 дней +InvoiceNotLate15Days = Будет собрано в течение 15 дней +InvoiceNotLate30Days = Будет собрано в течение 30 дней diff --git a/htdocs/langs/ru_RU/cron.lang b/htdocs/langs/ru_RU/cron.lang index d65f1c21c33..c391cb5e874 100644 --- a/htdocs/langs/ru_RU/cron.lang +++ b/htdocs/langs/ru_RU/cron.lang @@ -7,85 +7,85 @@ Permission23103 = Удалить Запланированную задачу Permission23104 = Выполнить запланированную задачу # Admin CronSetup=Настройки запланированных заданий -URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser -OrToLaunchASpecificJob=Or to check and launch a specific job from a browser +URLToLaunchCronJobs=URL-адрес для проверки и запуска подходящих заданий cron из браузера +OrToLaunchASpecificJob=Или проверить и запустить конкретное задание из браузера KeyForCronAccess=Ключ безопасности для запуска запланированных заданий -FileToLaunchCronJobs=Command line to check and launch qualified cron jobs +FileToLaunchCronJobs=Командная строка для проверки и запуска квалифицированных заданий cron CronExplainHowToRunUnix=В системах Unix-like вы должны задать crontab для выполнения команды каждые 5 минут. -CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes -CronMethodDoesNotExists=Class %s does not contains any method %s -CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods -CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s. -CronJobProfiles=List of predefined cron job profiles +CronExplainHowToRunWin=В среде Microsoft (tm) Windows вы можете использовать инструменты запланированного задания для запуска командной строки каждые 5 минут. +CronMethodDoesNotExists=Класс %s не содержит метода %s +CronMethodNotAllowed=Метод %s класса %s находится в черном списке запрещенных методов +CronJobDefDesc=Профили заданий Cron определены в файле дескриптора модуля. Когда модуль активирован, они загружаются и становятся доступными, поэтому вы можете управлять заданиями из меню инструментов администратора %s. +CronJobProfiles=Список предопределенных профилей вакансий cron # Menu EnabledAndDisabled=Включено и отключено # Page list -CronLastOutput=Latest run output -CronLastResult=Latest result code +CronLastOutput=Результат последнего запуска +CronLastResult=Последний код результата CronCommand=Команда CronList=Запланированные задания CronDelete=Удалить запланированные задания CronConfirmDelete=Вы уверены, что хотите удалить эти запланированные задания? CronExecute=Запустить запланированное задание -CronConfirmExecute=Are you sure you want to execute these scheduled jobs now? -CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually. +CronConfirmExecute=Вы уверены, что хотите выполнить эти запланированные задания сейчас? +CronInfo=Модуль запланированных заданий позволяет планировать задания для их автоматического выполнения. Задания также можно запускать вручную. CronTask=Задание CronNone=Никакой -CronDtStart=Not before -CronDtEnd=Not after +CronDtStart=Не раньше, чем +CronDtEnd=Не после CronDtNextLaunch=Следующий запуск -CronDtLastLaunch=Start date of latest execution -CronDtLastResult=End date of latest execution +CronDtLastLaunch=Дата начала последнего исполнения +CronDtLastResult=Дата окончания последнего исполнения CronFrequency=Частота -CronClass=Class +CronClass=Класс CronMethod=Метод CronModule=Модуль CronNoJobs=Нет зарегистрированных заданий CronPriority=Приоритет CronLabel=Наименование -CronNbRun=Number of launches -CronMaxRun=Maximum number of launches +CronNbRun=Количество запусков +CronMaxRun=Максимальное количество запусков CronEach=Каждый JobFinished=Задание запущено и завершено -Scheduled=Scheduled +Scheduled=Запланированное #Page card CronAdd= Добавить задание -CronEvery=Execute job each +CronEvery=Выполнять задание каждый CronObject=Экземпляр / объект для создания CronArgs=Параметры -CronSaveSucess=Save successfully +CronSaveSucess=Сохраните успешно CronNote=Комментарий CronFieldMandatory=Поле %s является обязательным CronErrEndDateStartDt=Дата окончания не может быть раньше даты начала -StatusAtInstall=Status at module installation -CronStatusActiveBtn=Schedule +StatusAtInstall=Статус при установке модуля +CronStatusActiveBtn=Расписание CronStatusInactiveBtn=Выключать -CronTaskInactive=Задание отключено +CronTaskInactive=Это задание отключено (не запланировано) CronId=ID -CronClassFile=Filename with class -CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product -CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory).
    For example to call the fetch method of Dolibarr Product object htdocs/product/class/product.class.php, the value for class file name is
    product/class/product.class.php -CronObjectHelp=The object name to load.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is
    Product -CronMethodHelp=The object method to launch.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is
    fetch -CronArgsHelp=The method arguments.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be
    0, ProductRef +CronClassFile=Имя файла с классом +CronModuleHelp=Имя каталога модуля Dolibarr (также работает с внешним модулем Dolibarr).
    Например, чтобы вызвать метод выборки объекта продукта Dolibarr / htdocs / product /class/product.class.php, значение для модуля -
    8 a33027 +CronClassFileHelp=Относительный путь и имя файла для загрузки (путь относительно корневого каталога веб-сервера).
    Например, чтобы вызвать метод выборки объекта продукта Dolibarr htdocs / product / class / product.class.php , значение для имени файла класса - a0342fccaefda19bz0 a18175c0 / productclass. +CronObjectHelp=Имя загружаемого объекта.
    Например, чтобы вызвать метод выборки объекта продукта Dolibarr /htdocs/product/class/product.class.php, значение имени файла класса будет
    Product +CronMethodHelp=Метод объекта для запуска.
    Например, чтобы вызвать метод выборки объекта продукта Dolibarr /htdocs/product/class/product.class.php, значение метода будет
    fetch +CronArgsHelp=Аргументы метода.
    Например, чтобы вызвать метод выборки объекта Dolibarr Product /htdocs/product/class/product.class.php, значение параметров может быть
    a049271e8181fcz330 0, ProductRef a0ae0758bac CronCommandHelp=Команда для выполнения CronCreateJob=Создать новое запланированное задание CronFrom=От # Info # Common -CronType=Job type -CronType_method=Call method of a PHP Class +CronType=Тип задания +CronType_method=Вызов метода класса PHP CronType_command=Команда командной строки -CronCannotLoadClass=Cannot load class file %s (to use class %s) -CronCannotLoadObject=Class file %s was loaded, but object %s was not found into it -UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs. -JobDisabled=Job disabled -MakeLocalDatabaseDumpShort=Local database backup -MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep -WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. -DATAPOLICYJob=Data cleaner and anonymizer -JobXMustBeEnabled=Job %s must be enabled +CronCannotLoadClass=Невозможно загрузить файл класса %s (для использования класса %s) +CronCannotLoadObject=Файл класса %s был загружен, но объект %s в нем не обнаружен +UseMenuModuleToolsToAddCronJobs=Войдите в меню « Home - Admin tools - Scheduled jobs », чтобы просмотреть и отредактировать запланированные задания. +JobDisabled=Работа отключена +MakeLocalDatabaseDumpShort=Резервное копирование локальной базы данных +MakeLocalDatabaseDump=Создайте дамп локальной базы данных. Параметры: сжатие ('gz' или 'bz' или 'none'), тип резервной копии ('mysql', 'pgsql', 'auto'), 1, 'auto' или имя файла для создания, количество файлов резервных копий для хранения +WarningCronDelayed=Внимание, для повышения производительности, какой бы ни была следующая дата выполнения включенных заданий, ваши задания могут быть отложены максимум на %s часов перед запуском. +DATAPOLICYJob=Очиститель и анонимайзер данных +JobXMustBeEnabled=Должно быть включено задание %s # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Последнее выполненное запланированное задание +NextScheduledJobExecute=Следующее запланированное задание для выполнения +NumberScheduledJobError=Количество запланированных заданий с ошибкой diff --git a/htdocs/langs/ru_RU/deliveries.lang b/htdocs/langs/ru_RU/deliveries.lang index 7dccefadf49..11a4d806ebe 100644 --- a/htdocs/langs/ru_RU/deliveries.lang +++ b/htdocs/langs/ru_RU/deliveries.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - deliveries Delivery=Доставка -DeliveryRef=Ref Delivery -DeliveryCard=Receipt card -DeliveryOrder=Delivery receipt +DeliveryRef=Ref Доставка +DeliveryCard=Квитанция +DeliveryOrder=Квитанция о доставке DeliveryDate=Дата доставки -CreateDeliveryOrder=Generate delivery receipt -DeliveryStateSaved=Delivery state saved +CreateDeliveryOrder=Создать квитанцию о доставке +DeliveryStateSaved=Состояние доставки сохранено SetDeliveryDate=Установить дату отправки ValidateDeliveryReceipt=Подтверждение получения доставки -ValidateDeliveryReceiptConfirm=Are you sure you want to validate this delivery receipt? +ValidateDeliveryReceiptConfirm=Вы уверены, что хотите подтвердить эту квитанцию о доставке? DeleteDeliveryReceipt=Удалить подтверждение доставки -DeleteDeliveryReceiptConfirm=Are you sure you want to delete delivery receipt %s? +DeleteDeliveryReceiptConfirm=Вы действительно хотите удалить квитанцию о доставке %s ? DeliveryMethod=Способ доставки TrackingNumber=Номер отправления DeliveryNotValidated=Доставка не подтверждена @@ -18,14 +18,16 @@ StatusDeliveryCanceled=Отменена StatusDeliveryDraft=Проект StatusDeliveryValidated=Получено # merou PDF model -NameAndSignature=Name and Signature: +NameAndSignature=Имя и подпись: ToAndDate=Получатель ___________________________________ доставлено ____ / _____ / __________ GoodStatusDeclaration=Указанные выше товары получены в надлежащем состоянии, -Deliverer=Deliverer: +Deliverer=Поставщик: Sender=Отправитель Recipient=Получатель ErrorStockIsNotEnough=Нет достаточного запаса на складе Shippable=Возможно к отправке NonShippable=Не возможно к отправке -ShowReceiving=Show delivery receipt -NonExistentOrder=Nonexistent order +ShowShippableStatus=Показать статус доставки +ShowReceiving=Показать квитанцию о доставке +NonExistentOrder=Несуществующий заказ +StockQuantitiesAlreadyAllocatedOnPreviousLines = Объемы запасов, уже распределенные по предыдущим строкам diff --git a/htdocs/langs/ru_RU/dict.lang b/htdocs/langs/ru_RU/dict.lang index 867b14f2fde..92e70b26066 100644 --- a/htdocs/langs/ru_RU/dict.lang +++ b/htdocs/langs/ru_RU/dict.lang @@ -21,7 +21,7 @@ CountryNL=Нидерланды CountryHU=Венгрия CountryRU=Россия CountrySE=Швеция -CountryCI=Ivoiry побережье +CountryCI=Кот-д'Ивуар CountrySN=Сенегал CountryAR=Аргентина CountryCM=Камерун @@ -160,7 +160,7 @@ CountryMD=Молдова CountryMN=Монголия CountryMS=Монтсеррат CountryMZ=Мозамбик -CountryMM=Myanmar (Burma) +CountryMM=Мьянма (Бирма) CountryNA=Намибия CountryNR=Науру CountryNP=Непал @@ -223,7 +223,7 @@ CountryTO=Тонга CountryTT=Тринидад и Тобаго CountryTR=Турция CountryTM=Туркменистан -CountryTC=Turks and Caicos Islands +CountryTC=Острова Теркс и Кайкос CountryTV=Тувалу CountryUG=Уганда CountryUA=Украина @@ -277,7 +277,7 @@ CurrencySingMGA=Ariary CurrencyMUR=Маврикий рупий CurrencySingMUR=Маврикий рупия CurrencyNOK=Норвежских крон -CurrencySingNOK=Norwegian kronas +CurrencySingNOK=Норвежская крона CurrencyTND=TND CurrencySingTND=Тунисский динар CurrencyUSD=Доллары США @@ -330,30 +330,30 @@ PaperFormatCAP5=Формат P5 Канада PaperFormatCAP6=Формат P6 Канада #### Expense report categories #### ExpAutoCat=Машина -ExpCycloCat=Moped -ExpMotoCat=Motorbike -ExpAuto3CV=3 CV -ExpAuto4CV=4 CV -ExpAuto5CV=5 CV -ExpAuto6CV=6 CV -ExpAuto7CV=7 CV -ExpAuto8CV=8 CV -ExpAuto9CV=9 CV -ExpAuto10CV=10 CV -ExpAuto11CV=11 CV -ExpAuto12CV=12 CV -ExpAuto3PCV=3 CV and more -ExpAuto4PCV=4 CV and more -ExpAuto5PCV=5 CV and more -ExpAuto6PCV=6 CV and more -ExpAuto7PCV=7 CV and more -ExpAuto8PCV=8 CV and more -ExpAuto9PCV=9 CV and more -ExpAuto10PCV=10 CV and more -ExpAuto11PCV=11 CV and more -ExpAuto12PCV=12 CV and more -ExpAuto13PCV=13 CV and more -ExpCyclo=Capacity lower to 50cm3 -ExpMoto12CV=Motorbike 1 or 2 CV -ExpMoto345CV=Motorbike 3, 4 or 5 CV -ExpMoto5PCV=Motorbike 5 CV and more +ExpCycloCat=Мопед +ExpMotoCat=Мотоцикл +ExpAuto3CV=3 резюме +ExpAuto4CV=4 резюме +ExpAuto5CV=5 резюме +ExpAuto6CV=6 резюме +ExpAuto7CV=7 резюме +ExpAuto8CV=8 резюме +ExpAuto9CV=9 резюме +ExpAuto10CV=10 резюме +ExpAuto11CV=11 резюме +ExpAuto12CV=12 резюме +ExpAuto3PCV=3 резюме и более +ExpAuto4PCV=4 CV и более +ExpAuto5PCV=5 CV и больше +ExpAuto6PCV=6 CV и более +ExpAuto7PCV=7 CV и более +ExpAuto8PCV=8 CV и более +ExpAuto9PCV=9 CV и более +ExpAuto10PCV=10 CV и более +ExpAuto11PCV=11 CV и более +ExpAuto12PCV=12 CV и более +ExpAuto13PCV=13 резюме и более +ExpCyclo=Объем ниже 50 см3 +ExpMoto12CV=Мотоцикл 1 или 2 CV +ExpMoto345CV=Мотоцикл 3, 4 или 5 CV +ExpMoto5PCV=Мотоцикл 5 CV и более diff --git a/htdocs/langs/ru_RU/donations.lang b/htdocs/langs/ru_RU/donations.lang index 5e28ad37810..d98626e4cda 100644 --- a/htdocs/langs/ru_RU/donations.lang +++ b/htdocs/langs/ru_RU/donations.lang @@ -16,7 +16,7 @@ DonationStatusPromiseNotValidatedShort=Проект DonationStatusPromiseValidatedShort=Подтверждено DonationStatusPaidShort=Получено DonationTitle=Получатель пожертования -DonationDate=Donation date +DonationDate=Дата пожертвования DonationDatePayment=Дата платежа ValidPromess=Подтвердить обещание DonationReceipt=Получатель пожертования @@ -32,3 +32,4 @@ DONATION_ART238=Если вы обеспокоены, показывать вы DONATION_ART885=Если вы обеспокоены, показывать выдержку статьи 885 из CGI DonationPayment=Платёж пожертвования DonationValidated= Пожертвование %s подтверждено +DonationUseThirdparties=Использовать существующую стороннюю организацию в качестве координат жертвователей diff --git a/htdocs/langs/ru_RU/ecm.lang b/htdocs/langs/ru_RU/ecm.lang index 1ab6f4d4688..0e249a6ce2d 100644 --- a/htdocs/langs/ru_RU/ecm.lang +++ b/htdocs/langs/ru_RU/ecm.lang @@ -6,7 +6,7 @@ ECMSectionAuto=Директория в автоматическом режиме ECMSectionsManual=Ручное дерево директории ECMSectionsAuto=Автоматическое дерево директории ECMSections=Директории -ECMRoot=ECM Root +ECMRoot=Корень ECM ECMNewSection=Новая директория ECMAddSection=Добавить директорию ECMCreationDate=Дата создания @@ -14,34 +14,34 @@ ECMNbOfFilesInDir=Количество файлов в каталоге ECMNbOfSubDir=Количество поддиректорий ECMNbOfFilesInSubDir=Количество файлов в поддиректориях ECMCreationUser=Создатель -ECMArea=DMS/ECM area -ECMAreaDesc=The DMS/ECM (Document Management System / Electronic Content Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=Область DMS / ECM +ECMAreaDesc=Область DMS / ECM (Система управления документами / Управление электронным контентом) позволяет сохранять, обмениваться и быстро искать все виды документов в Dolibarr. ECMAreaDesc2=* Автоматическая справочники заполняются автоматически при добавлении документов с карточкой элемента.
    * Руководство каталогов можно использовать для сохранения документов, не связанных с конкретным элементом. ECMSectionWasRemoved=Каталог %s удален. -ECMSectionWasCreated=Directory %s has been created. +ECMSectionWasCreated=Каталог %s создан. ECMSearchByKeywords=Поиск по ключевым словам ECMSearchByEntity=Поиск по объекту ECMSectionOfDocuments=Директории документов ECMTypeAuto=Автоматический -ECMDocsBy=Documents linked to %s +ECMDocsBy=Документы, связанные с %s ECMNoDirectoryYet=Директория не создана ShowECMSection=Показать директорию DeleteSection=Удаление директории -ConfirmDeleteSection=Can you confirm you want to delete the directory %s? +ConfirmDeleteSection=Вы можете подтвердить, что хотите удалить каталог %s ? ECMDirectoryForFiles=Относительная директория для файлов -CannotRemoveDirectoryContainsFilesOrDirs=Removal not possible because it contains some files or sub-directories -CannotRemoveDirectoryContainsFiles=Removal not possible because it contains some files +CannotRemoveDirectoryContainsFilesOrDirs=Удаление невозможно, так как он содержит файлы или подкаталоги. +CannotRemoveDirectoryContainsFiles=Удаление невозможно, так как он содержит некоторые файлы ECMFileManager=Файловый менеджер -ECMSelectASection=Select a directory in the tree... -DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Resync" button first to synchronize disk and database to get content of this directory. -ReSyncListOfDir=Resync list of directories -HashOfFileContent=Hash of file content -NoDirectoriesFound=No directories found -FileNotYetIndexedInDatabase=File not yet indexed into database (try to re-upload it) -ExtraFieldsEcmFiles=Extrafields Ecm Files -ExtraFieldsEcmDirectories=Extrafields Ecm Directories -ECMSetup=ECM Setup -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +ECMSelectASection=Выберите каталог в дереве ... +DirNotSynchronizedSyncFirst=Кажется, что этот каталог создан или изменен вне модуля ECM. Вы должны сначала нажать кнопку «Resync», чтобы синхронизировать диск и базу данных, чтобы получить содержимое этого каталога. +ReSyncListOfDir=Повторная синхронизация списка каталогов +HashOfFileContent=Хеш содержимого файла +NoDirectoriesFound=Каталоги не найдены +FileNotYetIndexedInDatabase=Файл еще не проиндексирован в базе данных (попробуйте повторно загрузить его) +ExtraFieldsEcmFiles=Файлы Extrafields Ecm +ExtraFieldsEcmDirectories=Каталоги Extrafields Ecm +ECMSetup=Настройка ECM +GenerateImgWebp=Дублируйте все изображения с другой версией в формате .webp +ConfirmGenerateImgWebp=Если вы подтвердите, вы сгенерируете изображение в формате .webp для всех изображений, находящихся в настоящее время в этой папке (подпапки не включены) ... +ConfirmImgWebpCreation=Подтвердите дублирование всех изображений +SucessConvertImgWebp=Изображения успешно скопированы diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index 07a0be72000..47eca058ca2 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -4,53 +4,54 @@ NoErrorCommitIsDone=Нет ошибок, мы принимаем # Errors ErrorButCommitIsDone=Обнаружены ошибки, но мы подтвердиле несмотря на это -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect -ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing. -ErrorRefAlreadyExists=Reference %s already exists. +ErrorBadEMail=Электронная почта %s неверна +ErrorBadMXDomain=Электронная почта %s кажется неверной (домен не имеет действительной записи MX) +ErrorBadUrl=URL-адрес %s неверен +ErrorBadValueForParamNotAString=Плохое значение для вашего параметра. Обычно он добавляется, когда перевод отсутствует. +ErrorRefAlreadyExists=Ссылка %s уже существует. ErrorLoginAlreadyExists=Логин %s уже существует. ErrorGroupAlreadyExists=Группа %s уже существует. +ErrorEmailAlreadyExists=Электронная почта %s уже существует. ErrorRecordNotFound=Запись не найдена. ErrorFailToCopyFile=Не удалось скопировать файл '%s' в '%s'. -ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. +ErrorFailToCopyDir=Не удалось скопировать каталог %s в %s . ErrorFailToRenameFile=Не удалось переименовать файл '%s' в '%s'. ErrorFailToDeleteFile=Не удается удалить файл '%s'. ErrorFailToCreateFile=Не удалось создать файл '%s' ErrorFailToRenameDir=Не удалось переименовать директорию '%s' в '%s' ErrorFailToCreateDir=Не удалось создать директорию '%s' ErrorFailToDeleteDir=Не удалось удалить директорию '%s' -ErrorFailToMakeReplacementInto=Failed to make replacement into file '%s'. -ErrorFailToGenerateFile=Failed to generate file '%s'. +ErrorFailToMakeReplacementInto=Не удалось произвести замену в файле ' %s '. +ErrorFailToGenerateFile=Не удалось создать файл %s . ErrorThisContactIsAlreadyDefinedAsThisType=Этот контакт уже определено в качестве контакта данного типа. ErrorCashAccountAcceptsOnlyCashMoney=Этот банковский счет определен как счет для наличных, так что он принимает только наличные платежи. ErrorFromToAccountsMustDiffers=Источник и цели банковского счета должны быть разными. -ErrorBadThirdPartyName=Bad value for third-party name +ErrorBadThirdPartyName=Неверное значение для стороннего имени ErrorProdIdIsMandatory=%s является обязательным ErrorBadCustomerCodeSyntax=Плохо синтаксис для заказчика код -ErrorBadBarCodeSyntax=Bad syntax for barcode. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. +ErrorBadBarCodeSyntax=Неверный синтаксис штрих-кода. Возможно, вы установили неверный тип штрих-кода или определили маску штрих-кода для нумерации, которая не соответствует отсканированному значению. ErrorCustomerCodeRequired=Требуется код клиента -ErrorBarCodeRequired=Barcode required +ErrorBarCodeRequired=Требуется штрих-код ErrorCustomerCodeAlreadyUsed=Код клиента уже используется -ErrorBarCodeAlreadyUsed=Barcode already used +ErrorBarCodeAlreadyUsed=Штрих-код уже использован ErrorPrefixRequired=Префикс обязателен -ErrorBadSupplierCodeSyntax=Bad syntax for vendor code -ErrorSupplierCodeRequired=Vendor code required -ErrorSupplierCodeAlreadyUsed=Vendor code already used +ErrorBadSupplierCodeSyntax=Неверный синтаксис кода поставщика +ErrorSupplierCodeRequired=Требуется код поставщика +ErrorSupplierCodeAlreadyUsed=Код поставщика уже использован ErrorBadParameters=Неверные параметры -ErrorWrongParameters=Wrong or missing parameters -ErrorBadValueForParameter=Wrong value '%s' for parameter '%s' -ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format) +ErrorWrongParameters=Неправильные или отсутствующие параметры +ErrorBadValueForParameter=Неверное значение '%s' для параметра '%s' +ErrorBadImageFormat=Файл изображения не имеет поддерживаемого формата (Ваш PHP не поддерживает функции для преобразования изображений этого формата) ErrorBadDateFormat= Значение '%s' имеет неверный формат даты ErrorWrongDate=Дата некорректна! ErrorFailedToWriteInDir=Не удалось записать в директорию %s ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=Найдено неверный электронный синтаксис% с линии в файл (например, строка %s с электронной почтой= %s) -ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorUserCannotBeDelete=Пользователь не может быть удален. Возможно, это связано с сущностями Долибарра. +ErrorFieldsRequired=Некоторые обязательные поля остались пустыми. +ErrorSubjectIsRequired=Укажите тему электронного письма. ErrorFailedToCreateDir=Не удалось создать каталог. Убедитесь, что веб-сервер пользователь имеет разрешения на запись в каталог Dolibarr документы. Если параметр safe_mode включен по этому PHP, проверьте, что Dolibarr PHP файлы принадлежат к веб-серверу пользователей (или группы). ErrorNoMailDefinedForThisUser=Нет определена почта для этого пользователя -ErrorSetupOfEmailsNotComplete=Setup of emails is not complete +ErrorSetupOfEmailsNotComplete=Настройка писем не завершена ErrorFeatureNeedJavascript=Эта функция JavaScript должны быть активированы на работу. Изменить это в настройки - дисплей. ErrorTopMenuMustHaveAParentWithId0=Меню типа 'Top' не может быть родителем меню. Положить 0 родителей в меню или выбрать меню типа 'левых'. ErrorLeftMenuMustHaveAParentId=Меню типа 'левых' должен иметь родителя ID. @@ -59,98 +60,98 @@ ErrorDirNotFound=Directory %s не найден (Неверный пут ErrorFunctionNotAvailableInPHP=Функция %s необходим для этой функции, но не доступен в этой версии / настройки PHP. ErrorDirAlreadyExists=Директория с таким именем уже существует. ErrorFileAlreadyExists=Файл с этим именем уже существует. -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists=Другой файл с именем %s уже существует. ErrorPartialFile=Файл не получил полностью на сервер. ErrorNoTmpDir=Временная директория %s не существует. ErrorUploadBlockedByAddon=Добавить заблокирован PHP / Apache плагин. ErrorFileSizeTooLarge=Размер файла слишком велик. -ErrorFieldTooLong=Field %s is too long. +ErrorFieldTooLong=Поле %s слишком длинное. ErrorSizeTooLongForIntType=Размер слишком долго для целого типа (%s цифр максимум) ErrorSizeTooLongForVarcharType=Размер слишком долго для струнного типа (%s символов максимум) ErrorNoValueForSelectType=Пожалуйста, заполните значение для выпадающего списка ErrorNoValueForCheckBoxType=Пожалуйста, заполните значение для списка флажков ErrorNoValueForRadioType=Пожалуйста, заполните значени для списка переключателей -ErrorBadFormatValueList=The list value cannot have more than one comma: %s, but need at least one: key,value -ErrorFieldCanNotContainSpecialCharacters=The field %s must not contains special characters. -ErrorFieldCanNotContainSpecialNorUpperCharacters=The field %s must not contain special characters, nor upper case characters and cannot contain only numbers. -ErrorFieldMustHaveXChar=The field %s must have at least %s characters. +ErrorBadFormatValueList=Значение списка не может содержать более одной запятой: %s , но необходим хотя бы один: ключ, значение +ErrorFieldCanNotContainSpecialCharacters=Поле %s не должно содержать специальных символов. +ErrorFieldCanNotContainSpecialNorUpperCharacters=Поле %s не должно содержать специальных символов или символов верхнего регистра и не может содержать только цифры. +ErrorFieldMustHaveXChar=Поле %s должно содержать не менее %s символов. ErrorNoAccountancyModuleLoaded=Нет бухгалтерского модуля активируется ErrorExportDuplicateProfil=Имя этого профиля уже сущесвует для этого набора для экспорта. ErrorLDAPSetupNotComplete=Dolibarr-LDAP соответствия не является полной. ErrorLDAPMakeManualTest=. LDIF файл был создан в директории %s. Попробуйте загрузить его вручную из командной строки, чтобы иметь больше информации об ошибках. -ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled. -ErrorRefAlreadyExists=Reference %s already exists. -ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD) -ErrorRecordHasChildren=Failed to delete record since it has some child records. -ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s -ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object. +ErrorCantSaveADoneUserWithZeroPercentage=Невозможно сохранить действие со статусом «не запущено», если также заполнено поле «выполнено». +ErrorRefAlreadyExists=Ссылка %s уже существует. +ErrorPleaseTypeBankTransactionReportName=Введите название банковской выписки, в которой необходимо указать запись (в формате ГГГГММ или ГГГГММДД) +ErrorRecordHasChildren=Не удалось удалить запись, так как у нее есть дочерние записи. +ErrorRecordHasAtLeastOneChildOfType=У объекта есть хотя бы один дочерний элемент типа %s +ErrorRecordIsUsedCantDelete=Не могу удалить запись. Он уже используется или включен в другой объект. ErrorModuleRequireJavascript=Javascript не должна быть отключена, чтобы эта функция работает. Чтобы включить / отключить Javascript, перейдите в меню Главная-> Настройка-> Экран. ErrorPasswordsMustMatch=Оба введенных пароля должны совпадать друг с другом -ErrorContactEMail=A technical error occured. Please, contact administrator to following email %s and provide the error code %s in your message, or add a screen copy of this page. -ErrorWrongValueForField=Field %s: '%s' does not match regex rule %s -ErrorFieldValueNotIn=Field %s: '%s' is not a value found in field %s of %s -ErrorFieldRefNotIn=Field %s: '%s' is not a %s existing ref -ErrorsOnXLines=%s errors found +ErrorContactEMail=Произошла техническая ошибка. Пожалуйста, свяжитесь с администратором по следующему адресу электронной почты %s и укажите код ошибки %s или добавьте его в копию сообщения на экране, или добавьте его в копию сообщения на экране. +ErrorWrongValueForField=Поле %s : ' %s ' не совпадает с регулярным выражением %s +ErrorFieldValueNotIn=Поле %s : ' %s ' не является найденным значением в поле %s из %s +ErrorFieldRefNotIn=Поле %s : ' %s ' не является %s существующей ссылкой +ErrorsOnXLines=%s обнаружены ошибки ErrorFileIsInfectedWithAVirus=Антивирусная программа не смогла проверить файл (файл может быть заражен вирусом) ErrorSpecialCharNotAllowedForField=Специальные символы не допускаются для поля "%s" ErrorNumRefModel=Ссылка есть в базе данных (%s) и не совместимы с данным правилом нумерации. Удаление записей или переименован ссылкой для активации этого модуля. -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 -ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete. +ErrorQtyTooLowForThisSupplier=Слишком низкое количество для этого поставщика или цена на этот продукт для этого поставщика не определена. +ErrorOrdersNotCreatedQtyTooLow=Некоторые заказы не были созданы из-за слишком малого количества +ErrorModuleSetupNotComplete=Настройка модуля %s выглядит незавершенной. Зайдите в Home - Setup - Modules для завершения. ErrorBadMask=Ошибка на маску ErrorBadMaskFailedToLocatePosOfSequence=Ошибка, маска без порядкового номера ErrorBadMaskBadRazMonth=Ошибка, плохое значение сброса -ErrorMaxNumberReachForThisMask=Maximum number reached for this mask +ErrorMaxNumberReachForThisMask=Достигнуто максимальное количество для этой маски ErrorCounterMustHaveMoreThan3Digits=Счётчик должен иметь более 3 цифр -ErrorSelectAtLeastOne=Error, select at least one entry. -ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated +ErrorSelectAtLeastOne=Ошибка, выберите хотя бы одну запись. +ErrorDeleteNotPossibleLineIsConsolidated=Удалить невозможно, поскольку запись связана с согласованной банковской транзакцией ErrorProdIdAlreadyExist=%s назначается еще одна треть ErrorFailedToSendPassword=Не удалось отправить пароль ErrorFailedToLoadRSSFile=Не в состоянии получить RSS-канал. Попробуйте добавить постоянные MAIN_SIMPLEXMLLOAD_DEBUG если сообщения об ошибках не предоставляет достаточно информации. -ErrorForbidden=Access denied.
    You try to access to a page, area or feature of a disabled module or without being in an authenticated session or that is not allowed to your user. +ErrorForbidden=Доступ запрещен.
    Вы пытаетесь получить доступ к странице, области или функции отключенного модуля, не находясь в аутентифицированном сеансе или это не разрешено вашему пользователю. ErrorForbidden2=Разрешение на этот логин может быть определено администратором вашей Dolibarr из меню %s-> %s. ErrorForbidden3=Кажется, что Dolibarr не используется через аутентифицированных сессии. Взгляните на Dolibarr Настройка документации знать, как управлять подлинности (htaccess, mod_auth или другие ...). ErrorNoImagickReadimage=Функция imagick_readimage не найдена в этой PHP. Нет предварительного просмотра могут быть доступны. Администраторы могут отключить эту закладку из меню Настройка - Экран. ErrorRecordAlreadyExists=Запись уже существует -ErrorLabelAlreadyExists=This label already exists +ErrorLabelAlreadyExists=Этот ярлык уже существует ErrorCantReadFile=Не удалось прочитать файл ' %s' ErrorCantReadDir=Не удалось прочитать каталог ' %s' ErrorBadLoginPassword=Плохо стоимости логин или пароль ErrorLoginDisabled=Ваша учетная запись была отключена -ErrorFailedToRunExternalCommand=Не удалось запустить внешнюю команду. Проверить это можно и работоспособной PHP на вашем сервере. Если PHP установлен безопасный режим, проверьте, что команда находится внутри каталога определяется параметром safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Не удалось запустить внешнюю команду. Убедитесь, что он доступен и запускается пользователем вашего PHP-сервера. Также проверьте, что команда не защищена на уровне оболочки таким уровнем безопасности, как apparmor. ErrorFailedToChangePassword=Не удается изменить пароль ErrorLoginDoesNotExists=Пользователь с логином %s не может быть найдено. ErrorLoginHasNoEmail=Этот пользователь не имеет адреса электронной почты. Процесс прерван. ErrorBadValueForCode=Плохо значения типов кода. Попробуйте еще раз с новой стоимости ... ErrorBothFieldCantBeNegative=Поля %s и %s не может быть и отрицательным -ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. -ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate %s%%). -ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. +ErrorFieldCantBeNegativeOnInvoice=Поле %s не может быть отрицательным в этом типе счета. Если вам нужно добавить строку скидки, просто сначала создайте скидку (из поля «%s» в карте третьей стороны) и примените ее к счету. +ErrorLinesCantBeNegativeForOneVATRate=Сумма строк (за вычетом налога) не может быть отрицательной для данной ненулевой ставки НДС (Найдена отрицательная сумма для ставки НДС %s %%). +ErrorLinesCantBeNegativeOnDeposits=Строки не могут быть отрицательными в депозите. Вы столкнетесь с проблемами, когда вам нужно будет израсходовать залог в окончательном счете-фактуре, если вы это сделаете. ErrorQtyForCustomerInvoiceCantBeNegative=Количество строк в счетах клиента не может быть отрицательным ErrorWebServerUserHasNotPermission=Учетная запись пользователя %s используется для выполнения веб-сервер не имеет разрешения для этого ErrorNoActivatedBarcode=Нет штрих-кодов типа активированного ErrUnzipFails=Невозможно распаковать %s с помощью ZipArchive -ErrNoZipEngine=No engine to zip/unzip %s file in this PHP +ErrNoZipEngine=В этом PHP нет движка для архивирования / распаковки файла %s ErrorFileMustBeADolibarrPackage=Файл %s должен быть архивом zip системы Dolibarr -ErrorModuleFileRequired=You must select a Dolibarr module package file +ErrorModuleFileRequired=Вы должны выбрать файл пакета модуля Dolibarr ErrorPhpCurlNotInstalled=Модуль CURL для PHP не установлен, он необходим для работы с PayPal ErrorFailedToAddToMailmanList=Невозможно добавить запись %s в список %s системы Mailman или в базу SPIP ErrorFailedToRemoveToMailmanList=Невозможно удалить запись %s из списка %s системы Mailman или базы SPIP ErrorNewValueCantMatchOldValue=Новое значение не может быть равно старому ErrorFailedToValidatePasswordReset=Невозможно обновить пароль. Может быть, обновление пароля уже выполнено (так как вы использовали одноразовую ссылку). Если это не так, попробуйте обновить пароль ещё раз. -ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check database server is running (for example, with mysql/mariadb, you can launch it from command line with 'sudo service mysql start'). +ErrorToConnectToMysqlCheckInstance=Не удается подключиться к базе данных. Убедитесь, что сервер базы данных запущен (например, с mysql / mariadb, вы можете запустить его из командной строки с помощью sudo service mysql start). ErrorFailedToAddContact=Ошибка при добавлении контакта -ErrorDateMustBeBeforeToday=The date must be lower than today -ErrorDateMustBeInFuture=The date must be greater than today -ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode. +ErrorDateMustBeBeforeToday=Дата должна быть ниже сегодняшней +ErrorDateMustBeInFuture=Дата должна быть больше сегодняшней +ErrorPaymentModeDefinedToWithoutSetup=Режим оплаты был установлен на тип %s, но настройка модуля «Счет-фактура» не была завершена для определения информации, отображаемой для этого режима оплаты. ErrorPHPNeedModule=Ошибка. Ваш PHP должен иметь модуль %s для использования этой функции. -ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s +ErrorOpenIDSetupNotComplete=Вы настраиваете файл конфигурации Dolibarr, чтобы разрешить аутентификацию OpenID, но URL-адрес службы OpenID не определен как константа %s ErrorWarehouseMustDiffers=Исходящий и входящий склад должны отличаться ErrorBadFormat=Неправильный формат! -ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice. -ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused. -ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled -ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Paid +ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Ошибка, этот участник еще не связан с какой-либо третьей стороной. Свяжите участника с существующей третьей стороной или создайте новую третью сторону перед созданием подписки с выставлением счета. +ErrorThereIsSomeDeliveries=Ошибка, с этим отправлением связано несколько доставок. В удалении отказано. +ErrorCantDeletePaymentReconciliated=Невозможно удалить платеж, по которому была произведена выверенная банковская запись. +ErrorCantDeletePaymentSharedWithPayedInvoice=Невозможно удалить платеж, связанный хотя бы с одним счетом со статусом Оплачен. ErrorPriceExpression1=Невозможно назначить константой '%s' ErrorPriceExpression2=Невозможно задать заново встроенную функцию '%s' ErrorPriceExpression3=Необъявленная переменная '%s' в задании функции @@ -159,142 +160,146 @@ ErrorPriceExpression5=Непредвиденный '%s' ErrorPriceExpression6=Неверное количество аргументов (%s задано, %s ожидалось) ErrorPriceExpression8=Непредвиденные оператор '%s' ErrorPriceExpression9=Произошла неожиданная ошибка -ErrorPriceExpression10=Operator '%s' lacks operand -ErrorPriceExpression11=Expecting '%s' +ErrorPriceExpression10=У оператора %s отсутствует операнд +ErrorPriceExpression11=Ожидается '%s' ErrorPriceExpression14=Деление на ноль ErrorPriceExpression17=Необъявленная переменная '%s' ErrorPriceExpression19=Выражение не найдено ErrorPriceExpression20=Пустое выражение ErrorPriceExpression21=Пустой результат '%s' ErrorPriceExpression22=Отрицательный результат '%s' -ErrorPriceExpression23=Unknown or non set variable '%s' in %s -ErrorPriceExpression24=Variable '%s' exists but has no value +ErrorPriceExpression23=Неизвестная или неустановленная переменная '%s' в %s +ErrorPriceExpression24=Переменная %s существует, но не имеет значения ErrorPriceExpressionInternal=Внутренняя ошибка '%s' ErrorPriceExpressionUnknown=Неизвестная ошибка '%s' ErrorSrcAndTargetWarehouseMustDiffers=Исходящий и входящий склад должны отличаться -ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information -ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified (approved or denied) before being allowed to do this action -ErrorCantSetReceptionToTotalDoneWithReceptionDenied=All recorded receptions must first be verified (approved) before being allowed to do this action +ErrorTryToMakeMoveOnProductRequiringBatchData=Ошибка при попытке перемещения запаса без информации о партии / серийном номере для продукта «%s», требующего информации о партии / серийном номере. +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=Все записанные приемы должны быть сначала проверены (одобрены или отклонены), прежде чем им будет разрешено выполнить это действие. +ErrorCantSetReceptionToTotalDoneWithReceptionDenied=Все записанные приемы должны быть сначала проверены (одобрены), прежде чем им будет разрешено выполнить это действие. ErrorGlobalVariableUpdater0=HTTP-запрос не удался, ошибка '%s' ErrorGlobalVariableUpdater1=Неправильный формат JSON '%s' ErrorGlobalVariableUpdater2=Пропущен параметр '%s' ErrorGlobalVariableUpdater3=Запрашиваемые данные не найдены в результате ErrorGlobalVariableUpdater4=Ошибка SOAP-клиента '%s' ErrorGlobalVariableUpdater5=Не выбрана глобальная переменная -ErrorFieldMustBeANumeric=Field %s must be a numeric value -ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided -ErrorOppStatusRequiredIfAmount=You set an estimated amount for this lead. So you must also enter it's status. -ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s -ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu) -ErrorSavingChanges=An error has occurred when saving the changes -ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship -ErrorFileMustHaveFormat=File must have format %s -ErrorFilenameCantStartWithDot=Filename can't start with a '.' -ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first. -ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enough for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enough for product %s to add it into a new proposal. -ErrorFailedToLoadLoginFileForMode=Failed to get the login key for mode '%s'. -ErrorModuleNotFound=File of module was not found. -ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source line id %s (%s) -ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s) -ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s) -ErrorBankStatementNameMustFollowRegex=Error, bank statement name must follow the following syntax rule %s -ErrorPhpMailDelivery=Check that you don't use a too high number of recipients and that your email content is not similar to a Spam. Ask also your administrator to check firewall and server logs files for a more complete information. -ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed. -ErrorTaskAlreadyAssigned=Task already assigned to user -ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format. -ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: %s or %s -ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (%s) does not match expected name syntax: %s -ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s. -ErrorNoWarehouseDefined=Error, no warehouses defined. -ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid. -ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped. -ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Mass validation is not possible when option to increase/decrease stock is set on this action (you must validate one by one so you can define the warehouse to increase/decrease) -ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated. -ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated. -ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action. -ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not -ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before. -ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently. -ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference. -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. -ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product -ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container %s has the same name or alternative alias that the one your try to use -ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually. -ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s -ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set. -ErrorURLMustEndWith=URL %s must end %s -ErrorURLMustStartWithHttp=URL %s must start with http:// or https:// -ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// -ErrorNewRefIsAlreadyUsed=Error, the new reference is already used -ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. -ErrorSearchCriteriaTooSmall=Search criteria too small. -ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled -ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled -ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist. -ErrorFieldRequiredForProduct=Field '%s' is required for product %s -ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s. -ErrorAddAtLeastOneLineFirst=Add at least one line first -ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible. -ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. -ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. -ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". -ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? -ErrorReplaceStringEmpty=Error, the string to replace into is empty -ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number -ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number -ErrorFailedToReadObject=Error, failed to read object of type %s -ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler -ErrorLoginDateValidity=Error, this login is outside the validity date range -ErrorValueLength=Length of field '%s' must be higher than '%s' -ErrorReservedKeyword=The word '%s' is a reserved keyword -ErrorNotAvailableWithThisDistribution=Not available with this distribution -ErrorPublicInterfaceNotEnabled=Public interface was not enabled -ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page -ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page -ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation -ErrorDateIsInFuture=Error, the date can't be in the future -ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory -ErrorAPercentIsRequired=Error, please fill in the percentage correctly -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFieldMustBeANumeric=Поле %s должно быть числовым значением. +ErrorMandatoryParametersNotProvided=Обязательные параметры не указаны +ErrorOppStatusRequiredIfAmount=Вы устанавливаете приблизительную сумму для этого интереса. Таким образом, вы также должны ввести его статус. +ErrorFailedToLoadModuleDescriptorForXXX=Не удалось загрузить класс дескриптора модуля для %s +ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Плохое определение массива меню в дескрипторе модуля (неверное значение для ключа fk_menu) +ErrorSavingChanges=Произошла ошибка при сохранении изменений +ErrorWarehouseRequiredIntoShipmentLine=Требуется склад на линии для отправки +ErrorFileMustHaveFormat=Файл должен иметь формат %s +ErrorFilenameCantStartWithDot=Имя файла не может начинаться с символа "." +ErrorSupplierCountryIsNotDefined=Страна для этого продавца не определена. Сначала исправьте это. +ErrorsThirdpartyMerge=Не удалось объединить две записи. Запрос отменен. +ErrorStockIsNotEnoughToAddProductOnOrder=Товара %s на складе недостаточно, чтобы добавить его в новый заказ. +ErrorStockIsNotEnoughToAddProductOnInvoice=Товара %s недостаточно, чтобы добавить его в новый счет. +ErrorStockIsNotEnoughToAddProductOnShipment=Товара %s на складе недостаточно, чтобы добавить его в новую партию. +ErrorStockIsNotEnoughToAddProductOnProposal=Товара %s недостаточно, чтобы добавить его в новое предложение. +ErrorFailedToLoadLoginFileForMode=Не удалось получить ключ входа для режима %s. +ErrorModuleNotFound=Файл модуля не найден. +ErrorFieldAccountNotDefinedForBankLine=Значение учетной записи учета не определено для идентификатора исходной строки %s (%s) +ErrorFieldAccountNotDefinedForInvoiceLine=Значение учетной записи учета не определено для идентификатора накладной %s (%s) +ErrorFieldAccountNotDefinedForLine=Значение бухгалтерского счета не определено для строки (%s) +ErrorBankStatementNameMustFollowRegex=Ошибка, имя банковской выписки должно соответствовать следующему правилу синтаксиса %s +ErrorPhpMailDelivery=Убедитесь, что вы не используете слишком большое количество получателей и что ваше электронное письмо не похоже на спам. Также попросите администратора проверить файлы журналов брандмауэра и сервера для получения более полной информации. +ErrorUserNotAssignedToTask=Пользователь должен быть назначен задаче, чтобы иметь возможность вводить затраченное время. +ErrorTaskAlreadyAssigned=Задача уже назначена пользователю +ErrorModuleFileSeemsToHaveAWrongFormat=Пакет модуля имеет неправильный формат. +ErrorModuleFileSeemsToHaveAWrongFormat2=В zip-архиве модуля должен быть хотя бы один обязательный каталог: %s или %s +ErrorFilenameDosNotMatchDolibarrPackageRules=Имя пакета модуля ( %s ) не соответствует ожидаемому синтаксису имени: %s a0a65dz071f6fc9c9 +ErrorDuplicateTrigger=Ошибка, повторяющееся имя триггера %s. Уже загружен с %s. +ErrorNoWarehouseDefined=Ошибка, склады не определены. +ErrorBadLinkSourceSetButBadValueForRef=Ссылка, которую вы используете, недействительна. «Источник» платежа определен, но значение «ref» недействительно. +ErrorTooManyErrorsProcessStopped=Слишком много ошибок. Процесс остановлен. +ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Массовая проверка невозможна, если для этого действия задана опция увеличения / уменьшения запаса (вы должны подтверждать одну за другой, чтобы вы могли определить склад для увеличения / уменьшения) +ErrorObjectMustHaveStatusDraftToBeValidated=Для проверки объект %s должен иметь статус «Черновик». +ErrorObjectMustHaveLinesToBeValidated=У объекта %s должны быть строки для проверки. +ErrorOnlyInvoiceValidatedCanBeSentInMassAction=С помощью массового действия «Отправить по электронной почте» можно отправлять только подтвержденные счета. +ErrorChooseBetweenFreeEntryOrPredefinedProduct=Вы должны выбрать, является ли товар предопределенным продуктом или нет. +ErrorDiscountLargerThanRemainToPaySplitItBefore=Скидка, которую вы пытаетесь применить, превышает сумму, которую вы должны заплатить. Перед этим разделите скидку на 2 меньшие скидки. +ErrorFileNotFoundWithSharedLink=Файл не найден. Возможно, общий ключ был изменен или файл был недавно удален. +ErrorProductBarCodeAlreadyExists=Штрих-код продукта %s уже существует на другой ссылке на продукт. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Также обратите внимание, что использование комплектов для автоматического увеличения / уменьшения количества субпродуктов невозможно, если хотя бы один субпродукт (или субпродукт субпродуктов) нуждается в серийном номере / номере партии. +ErrorDescRequiredForFreeProductLines=Описание обязательно для строк с бесплатным продуктом +ErrorAPageWithThisNameOrAliasAlreadyExists=Страница / контейнер %s имеет то же имя или альтернативный псевдоним, который вы пытаетесь использовать. +ErrorDuringChartLoad=Ошибка при загрузке плана счетов. Если несколько учетных записей не были загружены, вы все равно можете ввести их вручную. +ErrorBadSyntaxForParamKeyForContent=Неверный синтаксис параметра keyforcontent. Значение должно начинаться с %s или %s. +ErrorVariableKeyForContentMustBeSet=Ошибка, необходимо установить константу с именем %s (с отображаемым текстовым содержимым) или %s (с отображаемым внешним URL-адресом). +ErrorURLMustEndWith=URL-адрес %s должен заканчиваться как %s +ErrorURLMustStartWithHttp=URL-адрес %s должен начинаться с http: // или https: //. +ErrorHostMustNotStartWithHttp=Имя хоста %s НЕ должно начинаться с http: // или https: //. +ErrorNewRefIsAlreadyUsed=Ошибка, новая ссылка уже используется +ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Ошибка, удалить платеж, связанный с закрытым счетом-фактурой, невозможно. +ErrorSearchCriteriaTooSmall=Критерии поиска слишком малы. +ErrorObjectMustHaveStatusActiveToBeDisabled=Для отключения объекты должны иметь статус "Активный". +ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Для включения объекты должны иметь статус "Черновик" или "Отключено". +ErrorNoFieldWithAttributeShowoncombobox=Никакие поля не имеют свойства showoncombobox в определении объекта %s. Нет возможности показать комболиста. +ErrorFieldRequiredForProduct=Поле '%s' необходимо для продукта %s +ProblemIsInSetupOfTerminal=Проблема в настройке терминала %s. +ErrorAddAtLeastOneLineFirst=Сначала добавьте хотя бы одну строку +ErrorRecordAlreadyInAccountingDeletionNotPossible=Ошибка, запись уже перенесена в бухгалтерию, удаление невозможно. +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Ошибка, язык является обязательным, если вы устанавливаете страницу как перевод другой. +ErrorLanguageOfTranslatedPageIsSameThanThisPage=Ошибка, язык переведенной страницы такой же, как этот. +ErrorBatchNoFoundForProductInWarehouse=На складе «%s» не найдено ни одной партии / серийного номера товара «%s». +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Недостаточно количества для данной партии / серии для товара "%s" на складе "%s". +ErrorOnlyOneFieldForGroupByIsPossible=Возможно только одно поле для "Группировать по" (остальные отбрасываются) +ErrorTooManyDifferentValueForSelectedGroupBy=Обнаружено слишком много разных значений (более чем %s ) для поля ' %s ', поэтому мы не можем использовать его в качестве графики 'a'. Поле «Группировать по» было удалено. Может быть, вы хотели использовать его как ось X? +ErrorReplaceStringEmpty=Ошибка, строка для замены пуста +ErrorProductNeedBatchNumber=Ошибка, продукту ' %s ' требуется партия / серийный номер +ErrorProductDoesNotNeedBatchNumber=Ошибка, продукт ' %s ' не принимает лот / серийный номер +ErrorFailedToReadObject=Ошибка, не удалось прочитать объект типа %s +ErrorParameterMustBeEnabledToAllwoThisFeature=Ошибка, параметр %s должен быть включен в conf / conf.php , чтобы разрешить использование интерфейса командной строки внутренним планировщиком заданий +ErrorLoginDateValidity=Ошибка, этот логин выходит за пределы диапазона дат срока действия. +ErrorValueLength=Длина поля ' %s ' должна быть больше, чем ' %s ' +ErrorReservedKeyword=Слово %s является зарезервированным ключевым словом. +ErrorNotAvailableWithThisDistribution=Недоступно в этом дистрибутиве +ErrorPublicInterfaceNotEnabled=Открытый интерфейс не был включен +ErrorLanguageRequiredIfPageIsTranslationOfAnother=Язык новой страницы должен быть определен, если он установлен как перевод другой страницы. +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=Язык новой страницы не должен быть языком источника, если он установлен как перевод другой страницы. +ErrorAParameterIsRequiredForThisOperation=Параметр обязателен для этой операции +ErrorDateIsInFuture=Ошибка, дата не может быть в будущем +ErrorAnAmountWithoutTaxIsRequired=Ошибка, сумма обязательна +ErrorAPercentIsRequired=Ошибка, введите процентное значение правильно +ErrorYouMustFirstSetupYourChartOfAccount=Вы должны сначала настроить свой план счета +ErrorFailedToFindEmailTemplate=Не удалось найти шаблон с кодовым названием %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings -WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. -WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. -WarningMandatorySetupNotComplete=Click here to setup mandatory parameters -WarningEnableYourModulesApplications=Click here to enable your modules and applications +WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Ваш параметр PHP upload_max_filesize (%s) выше, чем параметр PHP post_max_size (%s). Это непоследовательная установка. +WarningPasswordSetWithNoAccount=Для этого участника был установлен пароль. Однако учетная запись пользователя не была создана. Таким образом, этот пароль сохраняется, но не может использоваться для входа в Dolibarr. Он может использоваться внешним модулем / интерфейсом, но если вам не нужно определять логин или пароль для члена, вы можете отключить опцию «Управлять логином для каждого члена» в настройках модуля «Член». Если вам нужно управлять логином, но пароль не нужен, вы можете оставить это поле пустым, чтобы избежать появления этого предупреждения. Примечание. Электронная почта также может использоваться в качестве логина, если член связан с пользователем. +WarningMandatorySetupNotComplete=Нажмите здесь, чтобы настроить обязательные параметры +WarningEnableYourModulesApplications=Щелкните здесь, чтобы включить свои модули и приложения WarningSafeModeOnCheckExecDir=Предупреждение, PHP safe_mode вариант находится на так команда должна храниться в каталог заявил на PHP safe_mode_exec_dir параметра. WarningBookmarkAlreadyExists=Закладка этого титула или этой цели (URL), уже существует. WarningPassIsEmpty=Внимание, базы данных пароль пуст. Это дыра в безопасности. Вы должны добавить пароль к вашей базе данных и изменить свой conf.php файл, чтобы отразить это. WarningConfFileMustBeReadOnly=Внимание, ваш конфигурационный файл (htdocs / CONF / conf.php) может быть переписан на веб-сервере. Это серьезная дыра в безопасности. Изменение разрешений на файл находится в режиме только для чтения для операционной системы пользователя используется веб-сервер. Если вы используете Windows FAT и формат для Вашего диска, вы должны знать, что эта файловая система не позволяет добавить разрешения на файл, поэтому не может быть полностью безопасным. WarningsOnXLines=Предупреждения об источнике %s линий -WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be chosen by default until you check your module setup. -WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable the installation/migration tools by adding a file install.lock into directory %s. Omitting the creation of this file is a grave security risk. -WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other Setup). -WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution. -WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box. -WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). +WarningNoDocumentModelActivated=Никакая модель для создания документа не была активирована. Модель будет выбрана по умолчанию, пока вы не проверите настройки своего модуля. +WarningLockFileDoesNotExists=Внимание! После завершения установки необходимо отключить инструменты установки / миграции, добавив файл install.lock в каталог %s . Отсутствие создания этого файла представляет серьезную угрозу безопасности. +WarningUntilDirRemoved=Все предупреждения системы безопасности (видимые только администраторами) будут оставаться активными, пока присутствует уязвимость (или эта константа MAIN_REMOVE_INSTALL_WARNING добавлена в Setup-> Other Setup). +WarningCloseAlways=Предупреждение, закрытие выполняется, даже если количество различается между исходными и целевыми элементами. С осторожностью включайте эту функцию. +WarningUsingThisBoxSlowDown=Предупреждение, использование этого окна серьезно замедлит все страницы, на которых отображается это окно. +WarningClickToDialUserSetupNotComplete=Настройка информации ClickToDial для вашего пользователя не завершена (см. Вкладку ClickToDial на карточке пользователя). WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Функция отключена, когда отображение оадптировано для слабовидящих или текстовых браузеров. WarningPaymentDateLowerThanInvoiceDate=Дата платежа (%s) раньше, чем дата (%s) счёта %s. -WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. -WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. -WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language -WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists -WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. -WarningProjectClosed=Project is closed. You must re-open it first. -WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. -WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table -WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. -WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list -WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningTooManyDataPleaseUseMoreFilters=Слишком много данных (больше строк %s). Используйте больше фильтров или установите для константы %s более высокий предел. +WarningSomeLinesWithNullHourlyRate=Несколько раз были записаны некоторыми пользователями, когда их почасовая ставка не была определена. Было использовано значение 0 %s в час, но это может привести к неправильной оценке затраченного времени. +WarningYourLoginWasModifiedPleaseLogin=Ваш логин был изменен. В целях безопасности вам нужно будет войти в систему с новым логином перед следующим действием. +WarningAnEntryAlreadyExistForTransKey=Запись для ключа перевода для этого языка уже существует. +WarningNumberOfRecipientIsRestrictedInMassAction=Внимание, количество разных получателей ограничено %s при использовании массовых действий в списках +WarningDateOfLineMustBeInExpenseReportRange=Внимание, дата строки не входит в диапазон отчета о расходах. +WarningProjectDraft=Проект все еще находится в черновом режиме. Не забудьте проверить его, если планируете использовать задачи. +WarningProjectClosed=Проект закрыт. Вы должны сначала открыть его заново. +WarningSomeBankTransactionByChequeWereRemovedAfter=Некоторые банковские транзакции были удалены, после чего были сгенерированы квитанции, в которых они были. Таким образом, количество чеков и сумма чека могут отличаться от количества и суммы в списке. +WarningFailedToAddFileIntoDatabaseIndex=Предупреждение, не удалось добавить запись файла в таблицу индекса базы данных ECM +WarningTheHiddenOptionIsOn=Внимание, скрытый параметр %s включен. +WarningCreateSubAccounts=Предупреждение, вы не можете напрямую создать дополнительную учетную запись, вы должны создать третье лицо или пользователя и назначить им учетный код, чтобы найти их в этом списке. +WarningAvailableOnlyForHTTPSServers=Доступно только при использовании защищенного соединения HTTPS. +WarningModuleXDisabledSoYouMayMissEventHere=Модуль %s не включен. Так что вы можете пропустить здесь много мероприятий. +ErrorActionCommPropertyUserowneridNotDefined=Требуется владелец пользователя +ErrorActionCommBadType=Выбранный тип события (идентификатор: %n, код: %s) не существует в словаре типов событий +CheckVersionFail=Ошибка проверки версии +ErrorWrongFileName=Имя файла не может содержать __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Нет в Словаре условий оплаты, пожалуйста, измените. diff --git a/htdocs/langs/ru_RU/eventorganization.lang b/htdocs/langs/ru_RU/eventorganization.lang index 4d15915a606..6bbe5400404 100644 --- a/htdocs/langs/ru_RU/eventorganization.lang +++ b/htdocs/langs/ru_RU/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,86 +17,133 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Организация мероприятий +EventOrganizationDescription = Организация мероприятий через модульный проект +EventOrganizationDescriptionLong= Управляйте организацией мероприятий для конференции, участников, докладчика и посетителей с помощью общедоступной страницы подписки # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Организованные мероприятия +EventOrganizationConferenceOrBoothMenuLeft = Конференция или стенд # # Admin page # -EventOrganizationSetup = Event Organization setup +EventOrganizationSetup = Настройка организации мероприятий Settings = Настройки -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference -EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EventOrganizationSetupPage = Страница настройки организации мероприятий +EVENTORGANIZATION_TASK_LABEL = Ярлык задач, которые создаются автоматически при утверждении проекта. +EVENTORGANIZATION_TASK_LABELTooltip = Когда вы проверяете организованное мероприятие, некоторые задачи могут быть автоматически созданы в проекте

    Например:
    Отправить вызов на конференцию
    Отправить вызов на конференцию
    Отправить вызов на конференцию a0342fccfda19bzcc0342fccfda19bzccOpen0343 напоминание о мероприятии докладчикам
    Отправить напоминание о мероприятии организатору стенда
    Отправить напоминание о мероприятии участникам +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Категория для добавления к третьим сторонам автоматически создается, когда кто-то предлагает конференцию +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Категория для добавления к сторонним лицам автоматически создается, когда они предлагают стенд +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Шаблон электронного письма для отправки после получения предложения о конференции. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Шаблон электронного письма для отправки после получения предложения о кабине. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Шаблон электронного письма для отправки после оплаты подписки на киоск. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Шаблон электронного письма для отправки после оплаты подписки на мероприятие. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Шаблон письма с массовым обращением к участникам +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Шаблон письма с массовым письмом спикерам +EVENTORGANIZATION_FILTERATTENDEES_CAT = Фильтрация списка выбора третьей стороны в карточке / форме создания участников с категорией +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Фильтрация списка выбора третьей стороны в карточке / форме создания участников с указанием типа клиента # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +EventOrganizationConfOrBooth= Конференция или стенд +ManageOrganizeEvent = Управляйте организацией мероприятий +ConferenceOrBooth = Конференция или стенд +ConferenceOrBoothTab = Конференция или стенд +AmountOfSubscriptionPaid = Сумма оплаченной подписки +DateSubscription = Дата подписки +ConferenceOrBoothAttendee = Участник конференции или стенда # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Ваш запрос на конференцию получен +YourOrganizationEventBoothRequestWasReceived = Ваш запрос на стенд был получен +EventOrganizationEmailAskConf = Запрос на конференцию +EventOrganizationEmailAskBooth = Запрос на стенд +EventOrganizationEmailSubsBooth = Подписка на стенд +EventOrganizationEmailSubsEvent = Подписка на мероприятие +EventOrganizationMassEmailAttendees = Общение с участниками +EventOrganizationMassEmailSpeakers = Общение со спикерами # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +AllowUnknownPeopleSuggestConf=Разрешить неизвестным людям предлагать конференции +AllowUnknownPeopleSuggestConfHelp=Разрешить неизвестным людям предлагать конференции +AllowUnknownPeopleSuggestBooth=Разрешить неизвестным людям предлагать будку +AllowUnknownPeopleSuggestBoothHelp=Разрешить неизвестным людям предлагать будку +PriceOfRegistration=Стоимость регистрации +PriceOfRegistrationHelp=Стоимость регистрации +PriceOfBooth=Стоимость подписки на стенд +PriceOfBoothHelp=Стоимость подписки на стенд +EventOrganizationICSLink=Свяжите ICS для событий +ConferenceOrBoothInformation=Информация о конференции или стенде +Attendees = Участники +DownloadICSLink = Ссылка для скачивания ICS +EVENTORGANIZATION_SECUREKEY = Защищенный ключ общедоступной регистрационной ссылки на конференцию +SERVICE_BOOTH_LOCATION = Услуга, используемая для строки счета-фактуры о местонахождении стенда +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Служба, используемая для строки счета-фактуры о подписке участника на конференцию +NbVotes=Количество голосов # # Status # EvntOrgDraft = Проект -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified +EvntOrgSuggested = Предложенный +EvntOrgConfirmed = Подтвержденный +EvntOrgNotQualified = Неквалифицированный EvntOrgDone = Завершены -EvntOrgCancelled = Cancelled +EvntOrgCancelled = Отменено # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Страница предложений +RegisterPage = Страница для конференций или стенда +EvntOrgRegistrationHelpMessage = Здесь вы можете проголосовать за то или иное мероприятие, предложить новую конференцию или стенд для проекта +EvntOrgRegistrationConfHelpMessage = Здесь вы можете предложить новую конференцию для проекта +EvntOrgRegistrationBoothHelpMessage = Здесь вы можете предложить новый стенд для проекта +ListOfSuggestedConferences = Список предлагаемых конференций +ListOfSuggestedBooths = Список предлагаемых стендов +SuggestConference = Предложить новую конференцию +SuggestBooth = Предложить стенд +ViewAndVote = Просмотр и голосование за предложенные мероприятия +PublicAttendeeSubscriptionPage = Публичная ссылка для регистрации на конференцию +MissingOrBadSecureKey = Электронный ключ недействителен или отсутствует +EvntOrgWelcomeMessage = Эта форма позволяет вам зарегистрироваться в качестве нового участника конференции: '%s' +EvntOrgDuration = Конференция начинается %s и заканчивается %s. +ConferenceAttendeeFee = Плата за участие в конференции: «%s», происходящая от %s до %s. +BoothLocationFee = Место расположения стенда для события : '%s' происходящего с %s до %s +EventType = Тип события +LabelOfBooth=Этикетка будки +LabelOfconference=Этикетка конференции +ConferenceIsNotConfirmed=Подписка недоступна, конференция еще не подтверждена +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Добро пожаловать на страницу предложений конференции или стенда. +EvntOrgRegistrationConfWelcomeMessage = Добро пожаловать на страницу предложений по проведению конференции. +EvntOrgRegistrationBoothWelcomeMessage = Добро пожаловать на страницу стенда предложений. +EvntOrgVoteHelpMessage = Здесь вы можете просмотреть и проголосовать за предлагаемые мероприятия для проекта. +VoteOk = Ваш голос был принят. +AlreadyVoted = Вы уже проголосовали за это событие. +VoteError = Произошла ошибка во время голосования, попробуйте еще раз. + +# +# SubscriptionOk page +# +SubscriptionOk = Ваша подписка на эту конференцию подтверждена +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Подтверждение подписки на конференцию +# +# Payment page +# +Attendee = Участник +PaymentConferenceAttendee = Оплата участникам конференции +PaymentBoothLocation = Оплата места стенда diff --git a/htdocs/langs/ru_RU/exports.lang b/htdocs/langs/ru_RU/exports.lang index 5fbbcfd4665..53b8a706a43 100644 --- a/htdocs/langs/ru_RU/exports.lang +++ b/htdocs/langs/ru_RU/exports.lang @@ -1,61 +1,62 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Экспорт -ImportArea=Import -NewExport=New Export -NewImport=New Import +ImportArea=Импортировать +NewExport=Новый экспорт +NewImport=Новый импорт ExportableDatas=Экспортировать данные ImportableDatas=ИМПОРТИРОВАННАЯ данных SelectExportDataSet=Выберите набор данных вы хотите экспортировать ... SelectImportDataSet=Выбор данных, вы хотите импортировать ... -SelectExportFields=Choose the fields you want to export, or select a predefined export profile -SelectImportFields=Choose the 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: +SelectExportFields=Выберите поля, которые вы хотите экспортировать, или выберите предварительно определенный профиль экспорта. +SelectImportFields=Выберите поля исходного файла, которые вы хотите импортировать, и их целевое поле в базе данных, перемещая их вверх и вниз с помощью привязки %s, или выберите предопределенный профиль импорта: NotImportedFields=Области исходный файл не импортируется -SaveExportModel=Save your selections as an export profile/template (for reuse). -SaveImportModel=Save this import profile (for reuse) ... +SaveExportModel=Сохраните свой выбор как профиль / шаблон экспорта (для повторного использования). +SaveImportModel=Сохраните этот профиль импорта (для повторного использования) ... ExportModelName=Экспорт имя профиля -ExportModelSaved=Export profile saved as %s. +ExportModelSaved=Профиль экспорта сохранен как %s . ExportableFields=Экспортируемых полей ExportedFields=Экспортируемые поля ImportModelName=Импорт имя профиля -ImportModelSaved=Import profile saved as %s. +ImportModelSaved=Профиль импорта сохранен как %s . DatasetToExport=Dataset экспорта DatasetToImport=Набор данных для импорта ChooseFieldsOrdersAndTitle=Выбрать поля порядке ... FieldsTitle=Поля заголовка FieldTitle=Поле название -NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... -AvailableFormats=Available Formats +NowClickToGenerateToBuildExportFile=Теперь выберите формат файла в поле со списком и нажмите «Создать», чтобы создать файл экспорта ... +AvailableFormats=Доступные форматы LibraryShort=Библиотека -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator +ExportCsvSeparator=Сепаратор csv caracter +ImportCsvSeparator=Сепаратор csv caracter Step=Шаг -FormatedImport=Import Assistant -FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. -FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. -FormatedExport=Export Assistant -FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. -FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. +FormatedImport=Помощник по импорту +FormatedImportDesc1=Этот модуль позволяет обновлять существующие данные или добавлять новые объекты в базу данных из файла без технических знаний с помощью помощника. +FormatedImportDesc2=Первый шаг - выбрать тип данных, которые вы хотите импортировать, затем формат исходного файла, а затем поля, которые вы хотите импортировать. +FormatedExport=Помощник по экспорту +FormatedExportDesc1=Эти инструменты позволяют экспортировать персонализированные данные с помощью помощника, который поможет вам в этом процессе, не требуя технических знаний. +FormatedExportDesc2=Первый шаг - выбрать предопределенный набор данных, а затем, какие поля вы хотите экспортировать и в каком порядке. +FormatedExportDesc3=Когда данные для экспорта выбраны, вы можете выбрать формат выходного файла. Sheet=Лист NoImportableData=Нет данных ввозимый (без модуля с определениями разрешить импорт данных) -FileSuccessfullyBuilt=File generated -SQLUsedForExport=SQL Request used to extract data +FileSuccessfullyBuilt=Файл создан +SQLUsedForExport=SQL-запрос, используемый для извлечения данных LineId=Идентификатор строки -LineLabel=Label of line +LineLabel=Этикетка линии LineDescription=Описание строки LineUnitPrice=Цена за единицу линии LineVATRate=Ставка НДС в строке LineQty=Кол-во в строке -LineTotalHT=Amount excl. tax for line +LineTotalHT=Сумма искл. налог на линию LineTotalTTC=Сумма налога с на линию LineTotalVAT=Сумма налога на добавленную стоимость по строке TypeOfLineServiceOrProduct=Тип линии (0= продукт, услуга 1=) FileWithDataToImport=Файл с данными для импорта FileToImport=Исходный файл для импорта -FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) -ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +FileMustHaveOneOfFollowingFormat=Файл для импорта должен иметь один из следующих форматов +DownloadEmptyExample=Скачать файл шаблона с информацией о содержимом поля +StarAreMandatory=* обязательные поля +ChooseFormatOfFileToImport=Выберите формат файла для использования в качестве формата файла импорта, щелкнув значок %s, чтобы выбрать его ... +ChooseFileToImport=Загрузите файл, затем щелкните значок %s, чтобы выбрать файл в качестве исходного файла импорта ... SourceFileFormat=Формат исходного файла FieldsInSourceFile=Поля в исходном файле FieldsInTargetDatabase=Целевые поля в БД системы Dolibarr (жирным - обязательные) @@ -70,67 +71,67 @@ FieldsTarget=Целевые поля FieldTarget=Целевые области FieldSource=Источник области NbOfSourceLines=Количество строк в исходном файле -NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
    Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
    No data will be changed in your database. -RunSimulateImportFile=Run Import Simulation -FieldNeedSource=This field requires data from the source file +NowClickToTestTheImport=Убедитесь, что формат файла (разделители полей и строк) вашего файла соответствует показанным параметрам и что вы пропустили строку заголовка, или они будут отмечены как ошибки в следующем моделировании.
    Нажмите кнопку « %s », чтобы запустить проверку структуры / содержимого файла и смоделировать процесс импорта.
    Никакие данные не будут изменены в вашей базе данных . +RunSimulateImportFile=Запустить моделирование импорта +FieldNeedSource=Это поле требует данных из исходного файла SomeMandatoryFieldHaveNoSource=Некоторые обязательные поля не имеют источника из файла данных InformationOnSourceFile=Информация об исходном файле InformationOnTargetTables=Информация о целевых полей SelectAtLeastOneField=Switch по крайней мере один источник поля в колонке полей для экспорта SelectFormat=Выберите этот формат файла для импорта -RunImportFile=Import Data -NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
    When the simulation reports no errors you may proceed to import the data into the database. -DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. -ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. -TooMuchErrors=There are still %s other source lines with errors but output has been limited. -TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. +RunImportFile=Импортировать данные +NowClickToRunTheImport=Проверьте результаты моделирования импорта. Исправьте все ошибки и повторите тест.
    Когда моделирование не сообщает об ошибках, вы можете приступить к импорту данных в базу данных. +DataLoadedWithId=Импортированные данные будут иметь дополнительное поле в каждой таблице базы данных с этим идентификатором импорта: %s , чтобы их можно было найти в случае исследования проблемы, связанной с этим импортом. +ErrorMissingMandatoryValue=Обязательные данные для поля %s в исходном файле пусты. +TooMuchErrors=Есть еще %s другие исходные строки с ошибками, но вывод был ограничен. +TooMuchWarnings=Есть еще %s другие исходные строки с предупреждениями, но вывод был ограничен. EmptyLine=Пустые строки (будет использоваться) -CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. +CorrectErrorBeforeRunningImport=Вы должны исправить все ошибки до того, как запустит окончательный импорт. FileWasImported=Файл был импортирован с номером %s. -YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. +YouCanUseImportIdToFindRecord=Вы можете найти все импортированные записи в своей базе данных, отфильтровав поле import_key = '%s' . NbOfLinesOK=Количество строк, без ошибок и предупреждений нет: %s. NbOfLinesImported=Количество линий успешно импортированы: %s. DataComeFromNoWhere=Соотношение вставить приходит из ниоткуда в исходном файле. DataComeFromFileFieldNb=Соотношение вставить происходит от области число %s в исходном файле. -DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). -DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. +DataComeFromIdFoundFromRef=Значение, полученное из поля с номером %s исходного файла, будет использоваться для поиска идентификатора родительского объекта, который будет использоваться (так что объект %s a09a должен существовать в базе данных из файла. Ref. +DataComeFromIdFoundFromCodeId=Код, полученный из поля номер %s исходного файла, будет использован для поиска id родительского объекта (поэтому код из исходного файла должен существовать в словаре %s). Обратите внимание, что если вы знаете id, вы также можете использовать его в исходном файле вместо кода. Импорт должен работать в обоих случаях. DataIsInsertedInto=Данные поступившие от исходного файла будет вставлено в следующее поле: -DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: +DataIDSourceIsInsertedInto=Идентификатор родительского объекта, найденный с использованием данных в исходном файле, будет вставлен в следующее поле: DataCodeIDSourceIsInsertedInto=Идентификатор материнской линии обнаружил в коде, будут включены в следующее поле: SourceRequired=Данные значения является обязательным SourceExample=Пример возможных значений данных ExampleAnyRefFoundIntoElement=Любая ссылка на элемент найден %s ExampleAnyCodeOrIdFoundIntoDictionary=Код (или ID) найден в словаре в словаре %s -CSVFormatDesc=Comma Separated Value file format (.csv).
    This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. -Excel95FormatDesc=Excel file format (.xls)
    This is the native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
    This is the native Excel 2007 format (SpreadsheetML). -TsvFormatDesc=Tab Separated Value file format (.tsv)
    This is a text file format where fields are separated by a tabulator [tab]. -ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). -CsvOptions=CSV format options -Separator=Field Separator -Enclosure=String Delimiter -SpecialCode=Special code -ExportStringFilter=%% allows replacing one or more characters in the text -ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
    > YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
    < YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days -ExportNumericFilter=NNNNN filters by one value
    NNNNN+NNNNN filters over a range of values
    < NNNNN filters by lower values
    > NNNNN filters by higher values -ImportFromLine=Import starting from line number -EndAtLineNb=End at line number -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). -SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
    If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. -KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. -SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import -UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) -NoUpdateAttempt=No update attempt was performed, only insert -ImportDataset_user_1=Users (employees or not) and properties +CSVFormatDesc= Значение, разделенное запятыми. Формат файла (.csv).
    Это формат текстового файла, в котором поля разделены разделителем [%s]. Если разделитель находится внутри содержимого поля, поле округляется до символа округления [%s]. Экранирующий символ для экранирования круглого символа - [%s]. +Excel95FormatDesc= Формат файла Excel (.xls)
    Это собственный формат Excel 95 (BIFF5). +Excel2007FormatDesc= Формат файла Excel (.xlsx)
    Это собственный формат Excel 2007 (SpreadsheetML). +TsvFormatDesc= Значение, разделенное табуляцией Формат файла (.tsv)
    Это формат текстового файла, в котором поля разделены табулятором [табуляция]. +ExportFieldAutomaticallyAdded=Поле %s было добавлено автоматически. Это позволит избежать того, чтобы похожие строки обрабатывались как повторяющаяся запись (с добавлением этого поля все строки будут иметь свой собственный идентификатор и будут отличаться). +CsvOptions=Параметры формата CSV +Separator=Разделитель полей +Enclosure=Разделитель строк +SpecialCode=Специальный код +ExportStringFilter=%% позволяет заменять один или несколько символов в тексте +ExportDateFilter=YYYY, ГГГГММЫ, YYYYMMDD: фильтры на один год / месяц / день
    YYYY + YYYY, ГГГГММЫ + ГГГГММЫ ГГГГММДД + YYYYMMDD: фильтры в течение целого ряда лет / месяцев / дней
    > YYYY,> ГГГГММЫ,> YYyyMmDd: фильтры на все следующие годы / месяцы / дни
    <ГГГГ, <ГГГГММ, <ГГГГММДД: фильтрует все предыдущие годы / месяцы / дни +ExportNumericFilter=NNNNN фильтрует по одному значению
    NNNNN + NNNNN фильтрует по диапазону значений
    > NNNNN фильтрует по более высоким значениям +ImportFromLine=Импорт, начиная с номера строки +EndAtLineNb=Конец на номере строки +ImportFromToLine=Диапазон пределов (От - До). Например. чтобы опустить строку (и) заголовка. +SetThisValueTo2ToExcludeFirstLine=Например, установите это значение на 3, чтобы исключить 2 первые строки.
    Если строки заголовка НЕ опущены, это приведет к множественным ошибкам в моделировании импорта. +KeepEmptyToGoToEndOfFile=Оставьте это поле пустым, чтобы обработать все строки до конца файла. +SelectPrimaryColumnsForUpdateAttempt=Выберите столбцы для использования в качестве первичного ключа для импорта UPDATE +UpdateNotYetSupportedForThisImport=Обновление не поддерживается для этого типа импорта (только вставка) +NoUpdateAttempt=Попытки обновления не выполнялись, только вставка +ImportDataset_user_1=Пользователи (сотрудники или нет) и свойства ComputedField=Вычисленное поле ## filters -SelectFilterFields=If you want to filter on some values, just input values here. -FilteredFields=Filtered fields +SelectFilterFields=Если вы хотите отфильтровать некоторые значения, просто введите значения здесь. +FilteredFields=Отфильтрованные поля FilteredFieldsValues=Значение для фильтрации -FormatControlRule=Format control rule +FormatControlRule=Правило контроля формата ## imports updates -KeysToUseForUpdates=Key (column) to use for updating existing data -NbInsert=Number of inserted lines: %s -NbUpdate=Number of updated lines: %s -MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number +KeysToUseForUpdates=Ключ (столбец), используемый для обновления существующих данных +NbInsert=Количество вставленных строк: %s +NbUpdate=Количество обновленных строк: %s +MultipleRecordFoundWithTheseFilters=С этими фильтрами было найдено несколько записей: %s +StocksWithBatch=Запасы и местонахождение (склад) продукции с указанием партии / серийного номера diff --git a/htdocs/langs/ru_RU/externalsite.lang b/htdocs/langs/ru_RU/externalsite.lang index f4987dd02cb..ed73de12a39 100644 --- a/htdocs/langs/ru_RU/externalsite.lang +++ b/htdocs/langs/ru_RU/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite ExternalSiteSetup=Установка ссылки на внешний веб-сайт -ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteURL=URL-адрес внешнего сайта HTML-содержимого iframe ExternalSiteModuleNotComplete=Модуль ВнешнийСайт не был надлежащим образом настроен. ExampleMyMenuEntry=Пункт "Моё меню" diff --git a/htdocs/langs/ru_RU/ftp.lang b/htdocs/langs/ru_RU/ftp.lang index 799634cebbf..2a97c1e94cc 100644 --- a/htdocs/langs/ru_RU/ftp.lang +++ b/htdocs/langs/ru_RU/ftp.lang @@ -2,13 +2,13 @@ FTPClientSetup=Настройка модуля FTP или SFTP-клиента NewFTPClient=Настройка нового соединения FTP / FTPS FTPArea=Область FTP/FTPS -FTPAreaDesc=This screen shows a view of an FTP et SFTP server. -SetupOfFTPClientModuleNotComplete=The setup of the FTP or SFTP client module seems to be incomplete -FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP or SFTP functions -FailedToConnectToFTPServer=Failed to connect to server (server %s, port %s) -FailedToConnectToFTPServerWithCredentials=Failed to login to server with defined login/password +FTPAreaDesc=На этом экране показан вид сервера FTP и SFTP. +SetupOfFTPClientModuleNotComplete=Настройка клиентского модуля FTP или SFTP кажется незавершенной. +FTPFeatureNotSupportedByYourPHP=Ваш PHP не поддерживает функции FTP или SFTP +FailedToConnectToFTPServer=Не удалось подключиться к серверу (сервер %s, порт %s) +FailedToConnectToFTPServerWithCredentials=Не удалось войти на сервер с определенным логином / паролем FTPFailedToRemoveFile=Не удалось удалить файл %s. -FTPFailedToRemoveDir=Failed to remove directory %s: check permissions and that the directory is empty. +FTPFailedToRemoveDir=Не удалось удалить каталог %s : проверьте разрешения и убедитесь, что каталог пуст. FTPPassiveMode=Пассивный режим -ChooseAFTPEntryIntoMenu=Choose a FTP/SFTP site from the menu... +ChooseAFTPEntryIntoMenu=Выберите сайт FTP / SFTP в меню ... FailedToGetFile=Не удалось получить файлы %s diff --git a/htdocs/langs/ru_RU/help.lang b/htdocs/langs/ru_RU/help.lang index 6e0f564a311..d6a4f71a7e6 100644 --- a/htdocs/langs/ru_RU/help.lang +++ b/htdocs/langs/ru_RU/help.lang @@ -1,23 +1,23 @@ # Dolibarr language file - Source file is en_US - help CommunitySupport=Поддержка через Форум/Wiki EMailSupport=Поддержка по email -RemoteControlSupport=Online real-time / remote support +RemoteControlSupport=Онлайн-поддержка в реальном времени / удаленная поддержка OtherSupport=Другие виды поддержки ToSeeListOfAvailableRessources=Связаться/Смотреть имеющиеся ресурсы: HelpCenter=Справочный центр -DolibarrHelpCenter=Dolibarr Help and Support Center -ToGoBackToDolibarr=Otherwise, click here to continue to use Dolibarr. -TypeOfSupport=Type of support +DolibarrHelpCenter=Центр справки и поддержки Dolibarr +ToGoBackToDolibarr=В противном случае щелкните здесь, чтобы продолжить использование Dolibarr . +TypeOfSupport=Тип поддержки TypeSupportCommunauty=Сообщество (бесплатно) TypeSupportCommercial=Коммерческая TypeOfHelp=Тип -NeedHelpCenter=Need help or support? +NeedHelpCenter=Нужна помощь или поддержка? Efficiency=Эффективность TypeHelpOnly=Только справка TypeHelpDev=Справка + Разработка -TypeHelpDevForm=Help+Development+Training -BackToHelpCenter=Otherwise, go back to Help center home page. -LinkToGoldMember=You can call one of the trainers preselected by Dolibarr for your language (%s) by clicking their Widget (status and maximum price are automatically updated): +TypeHelpDevForm=Помощь + Развитие + Обучение +BackToHelpCenter=В противном случае вернитесь на домашнюю страницу справочного центра . +LinkToGoldMember=Вы можете позвонить одному из тренеров, предварительно выбранных Dolibarr для вашего языка (%s), щелкнув его виджет (статус и максимальная цена обновляются автоматически): PossibleLanguages=Поддерживаемые языки -SubscribeToFoundation=Help the Dolibarr project, subscribe to the foundation -SeeOfficalSupport=For official Dolibarr support in your language:
    %s +SubscribeToFoundation=Помогите проекту Долибарр, подпишитесь на фонд +SeeOfficalSupport=Для официальной поддержки Dolibarr на вашем языке:
    %s diff --git a/htdocs/langs/ru_RU/holiday.lang b/htdocs/langs/ru_RU/holiday.lang index 18ce6f6f97d..c8bea044877 100644 --- a/htdocs/langs/ru_RU/holiday.lang +++ b/htdocs/langs/ru_RU/holiday.lang @@ -3,8 +3,8 @@ HRM=Отдел кадров Holidays=Отпуск CPTitreMenu=Отпуск MenuReportMonth=Ежемесячная выписка -MenuAddCP=New leave request -NotActiveModCP=You must enable the module Leave to view this page. +MenuAddCP=Новый запрос на отпуск +NotActiveModCP=Для просмотра этой страницы необходимо включить модуль «Оставить». AddCP=Подать заявление на отпуск DateDebCP=Начальная дата DateFinCP=Конечная дата @@ -13,21 +13,21 @@ ToReviewCP=Ожидают утверждения ApprovedCP=Утверждено CancelCP=Отменено RefuseCP=Отказано -ValidatorCP=Утвердивший -ListeCP=List of leave +ValidatorCP=Утверждающий +ListeCP=Список отпусков Leave=Оставить запрос -LeaveId=Leave ID -ReviewedByCP=Will be approved by -UserID=User ID -UserForApprovalID=User for approval ID -UserForApprovalFirstname=First name of approval user -UserForApprovalLastname=Last name of approval user -UserForApprovalLogin=Login of approval user +LeaveId=Оставить ID +ReviewedByCP=Будет одобрен +UserID=ID пользователя +UserForApprovalID=Пользователь для идентификатора утверждения +UserForApprovalFirstname=Имя утверждающего пользователя +UserForApprovalLastname=Фамилия утверждающего пользователя +UserForApprovalLogin=Логин одобренного пользователя DescCP=Описание SendRequestCP=Создать заявление на отпуск DelayToRequestCP=Заявления об отпуске могут создаваться не ранее чем через %s (дней) -MenuConfCP=Balance of leave -SoldeCPUser=Leave balance is %s days. +MenuConfCP=Остаток отпуска +SoldeCPUser=Остаток отпуска составляет %s дней. ErrorEndDateCP=Выберите конечную дату позже чем начальную. ErrorSQLCreateCP=Ошибка SQL возникла во время создания: ErrorIDFicheCP=Возникла ошибка, заявление на отпуск отсутствует. @@ -36,16 +36,16 @@ ErrorUserViewCP=У вас нет прав доступа для просмотр InfosWorkflowCP=Информация о рабочем процессе RequestByCP=Запрошен TitreRequestCP=Оставить запрос -TypeOfLeaveId=Type of leave ID -TypeOfLeaveCode=Type of leave code -TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Количество истраченных дней отпуска -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day -DateStartInMonth=Start date in month -DateEndInMonth=End date in month +TypeOfLeaveId=Тип отпуска ID +TypeOfLeaveCode=Тип кода отпуска +TypeOfLeaveLabel=Тип ярлыка отпуска +NbUseDaysCP=Количество использованных дней отпуска +NbUseDaysCPHelp=При расчете учитываются нерабочие и праздничные дни, определенные в словаре. +NbUseDaysCPShort=Дни отпуска +NbUseDaysCPShortInMonth=Дни отпуска в месяц +DayIsANonWorkingDay=%s - выходной день +DateStartInMonth=Дата начала в месяце +DateEndInMonth=Дата окончания в месяце EditCP=Редактировать DeleteCP=Удалить ActionRefuseCP=Отказать @@ -55,7 +55,7 @@ TitleDeleteCP=Удалить заявление на отпуск ConfirmDeleteCP=Подтверждаете удаление этого заявления на отпуск? ErrorCantDeleteCP=У вас нет прав доступа для удаления этого заявления на отпуск. CantCreateCP=У вас нет прав доступа для создания заявлений на отпуск. -InvalidValidatorCP=Вы должны выбрать того, кто будет утверждать ваше заявление на отпуск. +InvalidValidatorCP=Вы должны выбрать утверждающего для вашего запроса на отпуск. NoDateDebut=Вы должны выбрать начальную дату. NoDateFin=Вы должны выбрать конечную дату. ErrorDureeCP=Ваше заявление на отпуск не включает в себя рабочие дни. @@ -74,38 +74,38 @@ DateRefusCP=Дата отказа DateCancelCP=Дата отмены DefineEventUserCP=Задать исключительный отпуск для пользователя addEventToUserCP=Задать отпуск -NotTheAssignedApprover=You are not the assigned approver +NotTheAssignedApprover=Вы не назначенный утверждающий MotifCP=Причина UserCP=Пользователь ErrorAddEventToUserCP=Возникла ошибка при добавлении исключительного отпуска. AddEventToUserOkCP=Добавление исключительного отпуска успешно завершено. -MenuLogCP=View change logs -LogCP=Журнал обновлений доступных выходных дней -ActionByCP=Выполнено -UserUpdateCP=Для пользователя +MenuLogCP=Просмотр журналов изменений +LogCP=Журнал всех обновлений, внесенных в «Отпускной баланс» +ActionByCP=Обновлено +UserUpdateCP=Обновлено для PrevSoldeCP=Предыдущий баланс NewSoldeCP=Новый баланс alreadyCPexist=Заявление на отпуск в этот период уже существует. -FirstDayOfHoliday=Первый день отпуска -LastDayOfHoliday=Последний день отпуска -BoxTitleLastLeaveRequests=Latest %s modified leave requests +FirstDayOfHoliday=Начальный день подачи заявки на отпуск +LastDayOfHoliday=Конечный день запроса на отпуск +BoxTitleLastLeaveRequests=Последние измененные запросы на отпуск %s HolidaysMonthlyUpdate=Ежемесячное обновление ManualUpdate=Ручное обновление HolidaysCancelation=Отмена заявления на отпуск -EmployeeLastname=Employee last name -EmployeeFirstname=Employee first name -TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed -LastHolidays=Latest %s leave requests -AllHolidays=All leave requests -HalfDay=Half day -NotTheAssignedApprover=You are not the assigned approver -LEAVE_PAID=Paid vacation -LEAVE_SICK=Sick leave -LEAVE_OTHER=Other leave -LEAVE_PAID_FR=Paid vacation +EmployeeLastname=Фамилия сотрудника +EmployeeFirstname=Имя сотрудника +TypeWasDisabledOrRemoved=Тип отпуска (идентификатор %s) был отключен или удален +LastHolidays=Последние запросы на выход из %s +AllHolidays=Все запросы на отпуск +HalfDay=Полдня +NotTheAssignedApprover=Вы не назначенный утверждающий +LEAVE_PAID=Оплачиваемый отпуск +LEAVE_SICK=Отпуск по болезни +LEAVE_OTHER=Другой отпуск +LEAVE_PAID_FR=Оплачиваемый отпуск ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Последнее автоматическое обновление распределения отпусков +MonthOfLastMonthlyUpdate=Месяц последнего автоматического обновления распределения отпусков UpdateConfCPOK=Обновлено успешно Module27130Name= Управление заявлениями на отпуск Module27130Desc= Управление заявлениями на отпуск @@ -115,20 +115,22 @@ NoticePeriod=Период уведомления HolidaysToValidate=Подтверждение заявления на отпуск HolidaysToValidateBody=Ниже список заявлений на отпуск, которые требуют подтверждения HolidaysToValidateDelay=Это заявление на отпуск будет рассмотрено в период менее, чем %s дней. -HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. +HolidaysToValidateAlertSolde=У пользователя, отправившего этот запрос на отпуск, недостаточно свободных дней. HolidaysValidated=Подтверждённые заявления на отпуск HolidaysValidatedBody=Ваше заявление на отпуск с %s по %s подтверждено. HolidaysRefused=Заявление отклонено. -HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason: +HolidaysRefusedBody=Ваш запрос на отпуск от %s до %s был отклонен по следующей причине: HolidaysCanceled=Отменённые заявления на отпуск HolidaysCanceledBody=Ваше заявление на отпуск с %s по %s отменено. -FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. -NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter -GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models -TemplatePDFHolidays=Template for leave requests PDF -FreeLegalTextOnHolidays=Free text on PDF -WatermarkOnDraftHolidayCards=Watermarks on draft leave requests -HolidaysToApprove=Holidays to approve -NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +FollowedByACounter=1: Этот вид отпуска должен сопровождаться счетчиком. Счетчик увеличивается вручную или автоматически, а когда запрос на выход подтверждается, счетчик уменьшается.
    0: без счетчика. +NoLeaveWithCounterDefined=Не определены типы отпусков, за которыми должен следовать счетчик. +GoIntoDictionaryHolidayTypes=Войдите в Home - Setup - Dictionaries - Type of leave , чтобы настроить различные типы листьев. +HolidaySetup=Настройка модуля Оставить +HolidaysNumberingModules=Модели нумерации для запросов на отпуск +TemplatePDFHolidays=Шаблон для запросов на отпуск PDF +FreeLegalTextOnHolidays=Свободный текст в PDF +WatermarkOnDraftHolidayCards=Водяные знаки на запросах на отпуск +HolidaysToApprove=Праздники утвердить +NobodyHasPermissionToValidateHolidays=Ни у кого нет разрешения подтверждать праздники +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/ru_RU/hrm.lang b/htdocs/langs/ru_RU/hrm.lang index 6cc287f2927..f88ca9b03a8 100644 --- a/htdocs/langs/ru_RU/hrm.lang +++ b/htdocs/langs/ru_RU/hrm.lang @@ -1,19 +1,19 @@ # Dolibarr language file - en_US - hrm # Admin -HRM_EMAIL_EXTERNAL_SERVICE=Email to prevent HRM external service -Establishments=Establishments -Establishment=Establishment -NewEstablishment=New establishment -DeleteEstablishment=Delete establishment -ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? -OpenEtablishment=Open establishment -CloseEtablishment=Close establishment +HRM_EMAIL_EXTERNAL_SERVICE=Электронная почта для предотвращения внешней службы HRM +Establishments=Учреждения +Establishment=Учреждение +NewEstablishment=Новое заведение +DeleteEstablishment=Удалить заведение +ConfirmDeleteEstablishment=Вы уверены, что хотите удалить это заведение? +OpenEtablishment=Открытое заведение +CloseEtablishment=Закрыть заведение # Dictionary -DictionaryPublicHolidays=HRM - Public holidays -DictionaryDepartment=HRM - Department list -DictionaryFunction=HRM - Job positions +DictionaryPublicHolidays=Отпуск - праздничные дни +DictionaryDepartment=HRM - Список отделов +DictionaryFunction=HRM - Вакансии # Module Employees=Сотрудники Employee=Сотрудник -NewEmployee=New employee -ListOfEmployees=List of employees +NewEmployee=Новый сотрудник +ListOfEmployees=Список сотрудников diff --git a/htdocs/langs/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index 8ae87ba99ef..477e6247d4d 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -1,40 +1,40 @@ # Dolibarr language file - Source file is en_US - install InstallEasy=Мы постарались сделать установку Dolibarr настолько простой, насколько это возможно. Просто следуйте инструкциям по установке, шаг за шагом. MiscellaneousChecks=Проверка системных требований -ConfFileExists=Файл конфигурации %s существует. -ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created! +ConfFileExists=Файл конфигурации %s существует. +ConfFileDoesNotExistsAndCouldNotBeCreated=Файл конфигурации %s не существует и не может быть создан! ConfFileCouldBeCreated=Файл конфигурации %s может быть создан. -ConfFileIsNotWritable=Configuration file %s 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=Файл конфигурации %s недоступен для записи. Проверить разрешения. Для первой установки ваш веб-сервер должен иметь возможность выполнять запись в этот файл во время процесса настройки (например, «chmod 666» в ОС Unix). ConfFileIsWritable=Файл конфигурации %s доступен для записи. ConfFileMustBeAFileNotADir=Файл конфигурации %s должен быть файлом, а не каталогом. -ConfFileReload=Reloading parameters from configuration file. +ConfFileReload=Перезагрузка параметров из файла конфигурации. PHPSupportPOSTGETOk=Эта версия PHP поддерживает переменные POST и GET. -PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter variables_order in php.ini. +PHPSupportPOSTGETKo=Возможно, ваша установка PHP не поддерживает переменные POST и / или GET. Проверьте параметр variables_order в php.ini. PHPSupportSessions=Эта версия PHP поддерживает сессии. -PHPSupport=This PHP supports %s functions. +PHPSupport=Этот PHP поддерживает функции %s. PHPMemoryOK= Максимально допустимый размер памяти для сессии установлен в %s. Это должно быть достаточно. -PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. -Recheck=Click here for a more detailed test -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. -ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. +PHPMemoryTooLow=Максимальный объем памяти сеанса PHP установлен на %s байт. Это слишком мало. Измените php.ini , чтобы установить параметр memory_limit как минимум на %s байт. +Recheck=Щелкните здесь, чтобы получить более подробный тест +ErrorPHPDoesNotSupportSessions=Ваша установка PHP не поддерживает сеансы. Эта функция необходима для работы Dolibarr. Проверьте настройки PHP и права доступа к каталогу сессий. +ErrorPHPDoesNotSupportGD=Ваша установка PHP не поддерживает графические функции GD. Графики будут недоступны. ErrorPHPDoesNotSupportCurl=Ваша установка PHP не поддерживает Curl. -ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. -ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. -ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. -ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. -ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. +ErrorPHPDoesNotSupportCalendar=Ваша установка PHP не поддерживает расширения календаря php. +ErrorPHPDoesNotSupportUTF8=Ваша установка PHP не поддерживает функции UTF8. Долибарр не может работать правильно. Устраните это перед установкой Dolibarr. +ErrorPHPDoesNotSupportIntl=Ваша установка PHP не поддерживает функции Intl. +ErrorPHPDoesNotSupportxDebug=Ваша установка PHP не поддерживает расширенные функции отладки. +ErrorPHPDoesNotSupport=Ваша установка PHP не поддерживает функции %s. ErrorDirDoesNotExists=Каталог %s не существует. -ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. +ErrorGoBackAndCorrectParameters=Вернитесь и проверьте/исправьте параметры. ErrorWrongValueForParameter=Вы ввели неправильное значение для параметра ' %s'. ErrorFailedToCreateDatabase=Не удается создать базу данных ' %s'. ErrorFailedToConnectToDatabase=Не удалось подключиться к базе данных ' %s'. ErrorDatabaseVersionTooLow=Версия базы данных (%s) слишком старая. Требуется версия %s или выше ErrorPHPVersionTooLow=Версия PHP слишком стара. Версия %s обязательна. -ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. +ErrorConnectedButDatabaseNotFound=Подключение к серверу выполнено успешно, но база данных «%s» не найдена. ErrorDatabaseAlreadyExists=База данных ' %s' уже существует. -IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". +IfDatabaseNotExistsGoBackAndUncheckCreate=Если база данных не существует, вернитесь и отметьте опцию «Создать базу данных». 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 License=Использование лицензии ConfigurationFile=Файл конфигурации @@ -47,23 +47,23 @@ DolibarrDatabase=Dolibarr База данных DatabaseType=Тип Базы данных DriverType=Тип драйвера 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=База данных сервера порт. Держите пустым, если неизвестно. DatabaseServer=Сервер базы данных DatabaseName=Название базы данных -DatabasePrefix=Database table prefix -DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. -AdminLogin=User account for the Dolibarr database owner. -PasswordAgain=Retype password confirmation +DatabasePrefix=Префикс таблицы базы данных +DatabasePrefixDescription=Префикс таблицы базы данных. Если пусто, по умолчанию будет llx_. +AdminLogin=Учетная запись владельца базы данных Dolibarr. +PasswordAgain=Подтвердите пароль еще раз AdminPassword=Пароль Dolibarr для администратора базы данных. Держите пустым, если вы подключаетесь в анонимном CreateDatabase=Создание базы данных -CreateUser=Create user account or grant user account permission on the Dolibarr database +CreateUser=Создайте учетную запись пользователя или предоставьте разрешение учетной записи пользователя в базе данных Dolibarr DatabaseSuperUserAccess=База данных - Superuser доступа -CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.
    In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. -CheckToCreateUser=Check the box if:
    the database user account does not yet exist and so must be created, or
    if the user account exists but the database does not exist and permissions must be granted.
    In this case, you must enter the user account and password and also the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. -DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. -KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) -SaveConfigurationFile=Saving parameters to +CheckToCreateDatabase=Установите флажок, если база данных еще не существует и ее необходимо создать.
    В этом случае вы также должны указать имя пользователя и пароль для учетной записи суперпользователя внизу этой страницы. +CheckToCreateUser=Установите флажок, если:
    учетная запись пользователя базы данных еще не существует и поэтому должна быть создана, или
    , если учетная запись пользователя существует, но база данных не существует и разрешения должны быть предоставлены.
    В этом случае вы должны ввести учетную запись пользователя и пароль, а также имя учетной записи суперпользователя и пароль внизу этой страницы. Если этот флажок не установлен, владелец базы данных и пароль уже должны существовать. +DatabaseRootLoginDescription=Имя учетной записи суперпользователя (для создания новых баз данных или новых пользователей), обязательно, если база данных или ее владелец еще не существует. +KeepEmptyIfNoPassword=Оставьте пустым, если у суперпользователя нет пароля (НЕ рекомендуется) +SaveConfigurationFile=Сохранение параметров в ServerConnection=Сервер связи DatabaseCreation=Создание базы данных CreateDatabaseObjects=Создание объектов базы данных @@ -74,9 +74,9 @@ CreateOtherKeysForTable=Создать внешние ключи и индекс OtherKeysCreation=Создание внешних ключей и индексов FunctionsCreation=Функции создания AdminAccountCreation=Создание логина Администратора -PleaseTypePassword=Please type a password, empty passwords are not allowed! -PleaseTypeALogin=Please type a login! -PasswordsMismatch=Passwords differs, please try again! +PleaseTypePassword=Пожалуйста, введите пароль, пустые пароли не допускаются! +PleaseTypeALogin=Пожалуйста, введите логин! +PasswordsMismatch=Пароли отличаются, пожалуйста, попробуйте еще раз! SetupEnd=Окончание установки SystemIsInstalled=Эта установка завершена. SystemIsUpgraded=Dolibarr был обновлен успешно. @@ -84,65 +84,65 @@ YouNeedToPersonalizeSetup=Вам нужно настроить Dolibarr, что AdminLoginCreatedSuccessfuly=Администратор входа в систему Dolibarr '%s' создан успешно. GoToDolibarr=Перейти к Dolibarr GoToSetupArea=Перейти к Dolibarr (настройка область) -MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. +MigrationNotFinished=Версия базы данных не полностью обновлена: запустите процесс обновления еще раз. GoToUpgradePage=Перейти на страницу снова обновить WithNoSlashAtTheEnd=Без слеша "/" в конце -DirectoryRecommendation=IMPORTANT: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). +DirectoryRecommendation= ВАЖНО : вы должны использовать каталог, который находится за пределами веб-страниц (поэтому не используйте подкаталог предыдущего параметра). LoginAlreadyExists=Уже существует DolibarrAdminLogin=Dolibarr администратора -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back if you want to create another one. +AdminLoginAlreadyExists=Учетная запись администратора Dolibarr « %s » уже существует. Вернитесь назад, если хотите создать еще один. FailedToCreateAdminLogin=Не удалось создать учетную запись администратора Dolibarr. -WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called install.lock into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. -FunctionNotAvailableInThisPHP=Not available in this PHP +WarningRemoveInstallDir=Предупреждение: по соображениям безопасности после завершения установки или обновления вы должны добавить файл с именем install.lock в каталог документов Dolibarr, чтобы предотвратить повторное случайное / злонамеренное использование инструментов установки. +FunctionNotAvailableInThisPHP=Недоступно в этом PHP ChoosedMigrateScript=Выбранная перенести скрипт DataMigration=Перенос данных (данные) DatabaseMigration=Перенос базы данных (структура + некоторые данные) ProcessMigrateScript=Сценарий обработки ChooseYourSetupMode=Выберите режим настройки и нажмите кнопку "Пуск" ... 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=Обновление UpgradeDesc=Используйте этот режим, если вы заменили старый Dolibarr файлы с файлами из новой версии. Это позволит обновить базу данных и данных. Start=Главная InstallNotAllowed=Установка не разрешено conf.php разрешений YouMustCreateWithPermission=Вы должны создать файл %s и установить запись по этому вопросу для веб-сервера во время установки. -CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. +CorrectProblemAndReloadPage=Устраните проблему и нажмите F5, чтобы перезагрузить страницу. AlreadyDone=Уже мигрировали DatabaseVersion=Версия Базы данных ServerVersion=Версия сервера базы данных YouMustCreateItAndAllowServerToWrite=Вы должны создать этот каталог и позволит веб-серверу, чтобы написать на ней. DBSortingCollation=Характер сортировки -YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. +YouAskDatabaseCreationSoDolibarrNeedToConnect=Вы выбрали создание базы данных %s , но для этого Dolibarr необходимо подключиться к серверу %s с разрешениями пользователя %s +YouAskLoginCreationSoDolibarrNeedToConnect=Вы выбрали создать пользователя базы данных %s , но для этого Dolibarr необходимо подключиться к серверу %s c правами пользователя %s +BecauseConnectionFailedParametersMayBeWrong=Ошибка подключения к базе данных: параметры хоста или суперпользователя должны быть неправильными. OrphelinsPaymentsDetectedByMethod=Orphelins оплаты обнаружена методом %s RemoveItManuallyAndPressF5ToContinue=Удалите ее вручную и нажмите F5, чтобы продолжить. FieldRenamed=Поле переименовано -IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" -ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or the PHP client version may be too old compared to the database version. +IfLoginDoesNotExistsCheckCreateUser=Если пользователь еще не существует, необходимо отметить опцию «Создать пользователя». +ErrorConnection=Сервер « %s », имя базы данных « %s », Логин « %s », или пароль базы данных могут быть неправильными или версия PHP клиент может быть слишком стара по сравнению с версией базы данных. InstallChoiceRecommanded=Anbefalt valget å installere versjon %s fra din nåværende versjonen %s InstallChoiceSuggested=Установить выбор предложенной установки. -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. -CheckThatDatabasenameIsCorrect=Check that the database name "%s" is correct. +MigrateIsDoneStepByStep=Целевая версия (%s) имеет пробел в несколько версий. Мастер установки вернется, чтобы предложить дальнейшую миграцию после ее завершения. +CheckThatDatabasenameIsCorrect=Проверьте правильность имени базы данных « %s ». IfAlreadyExistsCheckOption=Hvis dette navnet er riktig, og at databasen ikke eksisterer ennå, du må sjekke alternativet "Opprett database". OpenBaseDir=PHP openbasedir parameter -YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). -YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). -NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. -MigrationCustomerOrderShipping=Migrate shipping for sales orders storage +YouAskToCreateDatabaseSoRootRequired=Вы поставили галочку напротив пункта «Создать базу данных». Для этого вам необходимо указать логин / пароль суперпользователя (внизу формы). +YouAskToCreateDatabaseUserSoRootRequired=Вы установили флажок «Создать владельца базы данных». Для этого вам необходимо указать логин / пароль суперпользователя (внизу формы). +NextStepMightLastALongTime=Текущий шаг может занять несколько минут. Прежде чем продолжить, дождитесь полного отображения следующего экрана. +MigrationCustomerOrderShipping=Перенести доставку для хранилища заказов на продажу MigrationShippingDelivery=Oppgrader lagring av shipping MigrationShippingDelivery2=Oppgrader lagring av shipping 2 MigrationFinished=Миграция завершена -LastStepDesc=Last step: Define here the login and password you wish to use to connect to Dolibarr. Do not lose this as it is the master account to administer all other/additional user accounts. +LastStepDesc= Последний шаг : Определите здесь логин и пароль, которые вы хотите использовать для подключения к Dolibarr. Не теряйте его, так как это основная учетная запись для администрирования всех других / дополнительных учетных записей пользователей. ActivateModule=Активировать модуль %s 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... -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) -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. -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. -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. -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. -UpgradeExternalModule=Run dedicated upgrade process of external module +WarningUpgrade=Предупреждение:\nВы сначала запускали резервную копию базы данных?\nЭто настоятельно рекомендуется. Потеря данных (например, из-за ошибок в mysql версии 5.5.40 / 41/42/43) может быть возможна во время этого процесса, поэтому важно сделать полный дамп вашей базы данных перед началом любой миграции.\n\nНажмите ОК, чтобы начать процесс миграции ... +ErrorDatabaseVersionForbiddenForMigration=Версия вашей базы данных - %s. В нем есть критическая ошибка, из-за которой возможна потеря данных, если вы вносите структурные изменения в свою базу данных, например, как того требует процесс миграции. По его причине миграция не будет разрешена до тех пор, пока вы не обновите свою базу данных до многоуровневой (исправленной) версии (список известных версий с ошибками: %s) +KeepDefaultValuesWamp=Вы использовали мастер настройки Dolibarr от DoliWamp, поэтому предлагаемые здесь значения уже оптимизированы. Меняйте их, только если вы знаете, что делаете. +KeepDefaultValuesDeb=Вы использовали мастер установки Dolibarr из пакета Linux (Ubuntu, Debian, Fedora ...), поэтому предлагаемые здесь значения уже оптимизированы. Необходимо ввести только пароль владельца создаваемой базы данных. Изменяйте другие параметры, только если знаете, что делаете. +KeepDefaultValuesMamp=Вы использовали мастер настройки Dolibarr от DoliMamp, поэтому предлагаемые здесь значения уже оптимизированы. Меняйте их, только если вы знаете, что делаете. +KeepDefaultValuesProxmox=Вы использовали мастер установки Dolibarr с виртуального устройства Proxmox, поэтому предлагаемые здесь значения уже оптимизированы. Меняйте их, только если вы знаете, что делаете. +UpgradeExternalModule=Запустите специальный процесс обновления внешнего модуля SetAtLeastOneOptionAsUrlParameter=Задайте по крайней мере один параметр в качестве параметра в URL-адресе. Например: '...repair.php?standard=confirmed' NothingToDelete=Ничего не нужно очищать/удалять NothingToDo=Нечего делать @@ -166,9 +166,9 @@ MigrationContractsUpdate=Контракт коррекция данных MigrationContractsNumberToUpdate=%s договора (ов) для обновления MigrationContractsLineCreation=Создание линии по контракту контракт исх %s MigrationContractsNothingToUpdate=Нет более вещи делать -MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. +MigrationContractsFieldDontExist=Поле fk_facture больше не существует. Нечего делать. MigrationContractsEmptyDatesUpdate=Контракт пустую дату коррекции -MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully +MigrationContractsEmptyDatesUpdateSuccess=Исправление пустой даты контракта успешно выполнено MigrationContractsEmptyDatesNothingToUpdate=Ни один контракт не пустой даты исправить MigrationContractsEmptyCreationDatesNothingToUpdate=Нет контракта дата создания исправить MigrationContractsInvalidDatesUpdate=Плохо стоимости контракта дата коррекции @@ -190,28 +190,29 @@ MigrationDeliveryDetail=Поставка обновлений MigrationStockDetail=Обновление запасов стоимость товаров MigrationMenusDetail=Обновление динамического меню таблицы MigrationDeliveryAddress=Обновить адрес для доставки грузов в -MigrationProjectTaskActors=Data migration for table llx_projet_task_actors +MigrationProjectTaskActors=Перенос данных для таблицы llx_projet_task_actors MigrationProjectUserResp=Data migrering feltet fk_user_resp av llx_projet å llx_element_contact MigrationProjectTaskTime=Oppdater tid i sekunder MigrationActioncommElement=Обновление данных о действиях -MigrationPaymentMode=Data migration for payment type +MigrationPaymentMode=Перенос данных для типа оплаты MigrationCategorieAssociation=Миграция категорий -MigrationEvents=Migration of events to add event owner into assignment table -MigrationEventsContact=Migration of events to add event contact into assignment table +MigrationEvents=Перенос событий для добавления владельца события в таблицу назначений +MigrationEventsContact=Перенос событий для добавления контакта события в таблицу назначений MigrationRemiseEntity=Обновить значение поля объекта llx_societe_remise MigrationRemiseExceptEntity=Обновить значение поля объекта llx_societe_remise_except MigrationUserRightsEntity=Обновить значение поля объекта llx_user_rights MigrationUserGroupRightsEntity=Обновить значение поля объекта llx_usergroup_rights -MigrationUserPhotoPath=Migration of photo paths for users -MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) +MigrationUserPhotoPath=Перенос фото-путей для пользователей +MigrationFieldsSocialNetworks=Миграция пользовательских полей социальных сетей (%s) MigrationReloadModule=Перегрузите модуль %s MigrationResetBlockedLog=Сбросить модуль BlockedLog для алгоритма v7 -ShowNotAvailableOptions=Show unavailable options -HideNotAvailableOptions=Hide unavailable options -ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. -YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
    -YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) +ShowNotAvailableOptions=Показать недоступные параметры +HideNotAvailableOptions=Скрыть недоступные параметры +ErrorFoundDuringMigration=В процессе миграции были зарегистрированы ошибки, поэтому следующий шаг недоступен. Чтобы игнорировать ошибки, вы можете щелкнуть здесь , но приложение или некоторые функции могут работать некорректно, пока ошибки не будут устранены. +YouTryInstallDisabledByDirLock=Приложение попыталось выполнить самообновление, но страницы установки / обновления были отключены в целях безопасности (каталог переименован с суффиксом .lock).
    +YouTryInstallDisabledByFileLock=Приложение попыталось выполнить самообновление, но страницы установки / обновления были отключены в целях безопасности (из-за наличия файла блокировки install.lock в каталоге документов dolibarr).
    ClickHereToGoToApp=Нажмите здесь, чтобы перейти к вашей заявке -ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. -Loaded=Loaded -FunctionTest=Function test +ClickOnLinkOrRemoveManualy=Если обновление в процессе, подождите. В противном случае щелкните следующую ссылку. Если вы всегда видите одну и ту же страницу, вы должны удалить / переименовать файл install.lock в каталоге документов. +Loaded=Загружено +FunctionTest=Тест функции diff --git a/htdocs/langs/ru_RU/interventions.lang b/htdocs/langs/ru_RU/interventions.lang index 9cd51055196..59f14c9bf4b 100644 --- a/htdocs/langs/ru_RU/interventions.lang +++ b/htdocs/langs/ru_RU/interventions.lang @@ -4,10 +4,10 @@ Interventions=Мероприятия InterventionCard=Карточка посредничества NewIntervention=Новое посредничество AddIntervention=СОздать посредничество -ChangeIntoRepeatableIntervention=Change to repeatable intervention +ChangeIntoRepeatableIntervention=Перейти к повторяемому вмешательству ListOfInterventions=Перечень мероприятий ActionsOnFicheInter=Действия над посредничеством -LastInterventions=Latest %s interventions +LastInterventions=Последние вмешательства %s AllInterventions=Все мероприятия CreateDraftIntervention=Создание проекта InterventionContact=Контакт посредничества @@ -15,52 +15,54 @@ DeleteIntervention=Удалить посредничество ValidateIntervention=Подтверждение посредничества ModifyIntervention=Изменение посредничества DeleteInterventionLine=Удалить строку посредничества -ConfirmDeleteIntervention=Are you sure you want to delete this intervention? -ConfirmValidateIntervention=Are you sure you want to validate this intervention under name %s? -ConfirmModifyIntervention=Are you sure you want to modify this intervention? -ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line? -ConfirmCloneIntervention=Are you sure you want to clone this intervention? -NameAndSignatureOfInternalContact=Name and signature of intervening: -NameAndSignatureOfExternalContact=Name and signature of customer: +ConfirmDeleteIntervention=Вы уверены, что хотите удалить это вмешательство? +ConfirmValidateIntervention=Вы уверены, что хотите подтвердить это вмешательство под именем %s ? +ConfirmModifyIntervention=Вы уверены, что хотите изменить это вмешательство? +ConfirmDeleteInterventionLine=Вы уверены, что хотите удалить эту строку вмешательства? +ConfirmCloneIntervention=Вы уверены, что хотите клонировать это вмешательство? +NameAndSignatureOfInternalContact=Имя и подпись вмешивающегося: +NameAndSignatureOfExternalContact=Имя и подпись заказчика: DocumentModelStandard=Стандартная модель документа для выступлений -InterventionCardsAndInterventionLines=Interventions and lines of interventions +InterventionCardsAndInterventionLines=Вмешательства и направления вмешательства InterventionClassifyBilled=Классифицировать "Объявленный" -InterventionClassifyUnBilled=Classify "Unbilled" -InterventionClassifyDone=Classify "Done" +InterventionClassifyUnBilled=Классифицируйте "Не выставленные счета" +InterventionClassifyDone=Классифицируйте "Готово" StatusInterInvoiced=Объявленный -SendInterventionRef=Submission of intervention %s -SendInterventionByMail=Send intervention by email +SendInterventionRef=Представление вмешательства %s +SendInterventionByMail=Отправить сообщение по электронной почте InterventionCreatedInDolibarr=Посредничество %s создано InterventionValidatedInDolibarr=Посредничество %s проверено InterventionModifiedInDolibarr=Посредничество %s изменено InterventionClassifiedBilledInDolibarr=Посредничество %s готово к созданию счёта. InterventionClassifiedUnbilledInDolibarr=Посредничество %s не готово к созданию счёта. -InterventionSentByEMail=Intervention %s sent by email +InterventionSentByEMail=Вмешательство %s отправлено по электронной почте InterventionDeletedInDolibarr=Посредничество %s удалено -InterventionsArea=Interventions area -DraftFichinter=Draft interventions -LastModifiedInterventions=Latest %s modified interventions -FichinterToProcess=Interventions to process +InterventionsArea=Область вмешательства +DraftFichinter=Проект выступлений +LastModifiedInterventions=Последние модифицированные вмешательства %s +FichinterToProcess=Вмешательства в процесс TypeContact_fichinter_external_CUSTOMER=После деятельность заказчика контакт -PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card -PrintProductsOnFichinterDetails=interventions generated from orders -UseServicesDurationOnFichinter=Use services duration for interventions generated from orders -UseDurationOnFichinter=Hides the duration field for intervention records -UseDateWithoutHourOnFichinter=Hides hours and minutes off the date field for intervention records -InterventionStatistics=Statistics of interventions -NbOfinterventions=No. of intervention cards -NumberOfInterventionsByMonth=No. of intervention cards by month (date of validation) -AmountOfInteventionNotIncludedByDefault=Amount of intervention is not included by default into profit (in most cases, timesheets are used to count time spent). Add option PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT to 1 into home-setup-other to include them. -InterId=Intervention id -InterRef=Intervention ref. -InterDateCreation=Date creation intervention -InterDuration=Duration intervention -InterStatus=Status intervention -InterNote=Note intervention -InterLine=Line of intervention -InterLineId=Line id intervention -InterLineDate=Line date intervention -InterLineDuration=Line duration intervention -InterLineDesc=Line description intervention -RepeatableIntervention=Template of intervention -ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +PrintProductsOnFichinter=Также распечатайте строки типа «продукт» (не только услуги) на карте вмешательства. +PrintProductsOnFichinterDetails=вмешательства, произведенные из заказов +UseServicesDurationOnFichinter=Используйте продолжительность услуг для интервенций, созданных из заказов +UseDurationOnFichinter=Скрывает поле продолжительности для записей о вмешательстве +UseDateWithoutHourOnFichinter=Скрывает часы и минуты из поля даты для записей о вмешательстве +InterventionStatistics=Статистика вмешательств +NbOfinterventions=Кол-во карт вмешательства +NumberOfInterventionsByMonth=Количество карт вмешательства по месяцам (дата проверки) +AmountOfInteventionNotIncludedByDefault=Сумма вмешательства по умолчанию не включается в прибыль (в большинстве случаев для подсчета затраченного времени используются табели учета рабочего времени). Добавьте параметр PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT в 1 в home-setup-other, чтобы включить их. +InterId=Идентификатор вмешательства +InterRef=Вмешательство исх. +InterDateCreation=Дата создания вмешательства +InterDuration=Продолжительность вмешательства +InterStatus=Статусное вмешательство +InterNote=Обратите внимание на вмешательство +InterLine=Линия вмешательства +InterLineId=Вмешательство по идентификатору линии +InterLineDate=Вмешательство даты линии +InterLineDuration=Вмешательство продолжительности линии +InterLineDesc=Вмешательство описания линии +RepeatableIntervention=Шаблон вмешательства +ToCreateAPredefinedIntervention=Чтобы создать предопределенное или повторяющееся вмешательство, создайте общее вмешательство и преобразуйте его в шаблон вмешательства. +ConfirmReopenIntervention=Вы уверены, что хотите снова открыть интервенцию %s ? +GenerateInter=Generate intervention diff --git a/htdocs/langs/ru_RU/intracommreport.lang b/htdocs/langs/ru_RU/intracommreport.lang index ba6256116e2..df3f7dcd92f 100644 --- a/htdocs/langs/ru_RU/intracommreport.lang +++ b/htdocs/langs/ru_RU/intracommreport.lang @@ -1,40 +1,40 @@ -Module68000Name = Intracomm report -Module68000Desc = Intracomm report management (Support for French DEB/DES format) -IntracommReportSetup = Intracommreport module setup -IntracommReportAbout = About intracommreport +Module68000Name = Внутренний отчет +Module68000Desc = Управление отчетами Intracomm (поддержка французского формата DEB / DES) +IntracommReportSetup = Настройка модуля Intracommreport +IntracommReportAbout = О intracommreport # Setup INTRACOMMREPORT_NUM_AGREMENT=Numéro d'agrément (délivré par le CISD de rattachement) -INTRACOMMREPORT_TYPE_ACTEUR=Type d'acteur +INTRACOMMREPORT_TYPE_ACTEUR=Тип актера INTRACOMMREPORT_ROLE_ACTEUR=Rôle joué par l'acteur -INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les introductions +INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les Introduction INTRACOMMREPORT_NIV_OBLIGATION_EXPEDITION=Niveau d'obligation sur les expéditions -INTRACOMMREPORT_CATEG_FRAISDEPORT=Catégorie de services de type "Frais de port" +INTRACOMMREPORT_CATEG_FRAISDEPORT=Категория услуг типа "Frais de port" INTRACOMMREPORT_NUM_DECLARATION=Numéro de déclarant # Menu -MenuIntracommReport=Intracomm report -MenuIntracommReportNew=New declaration +MenuIntracommReport=Внутренний отчет +MenuIntracommReportNew=Новое заявление MenuIntracommReportList=Список # View -NewDeclaration=New declaration -Declaration=Declaration -AnalysisPeriod=Analysis period -TypeOfDeclaration=Type of declaration -DEB=Goods exchange declaration (DEB) -DES=Services exchange declaration (DES) +NewDeclaration=Новое заявление +Declaration=Декларация +AnalysisPeriod=Период анализа +TypeOfDeclaration=Тип декларации +DEB=Декларация обмена товаров (DEB) +DES=Декларация об обмене услугами (DES) # Export page -IntracommReportTitle=Preparation of an XML file in ProDouane format +IntracommReportTitle=Подготовка файла XML в формате ProDouane # List -IntracommReportList=List of generated declarations -IntracommReportNumber=Numero of declaration -IntracommReportPeriod=Period of nalysis -IntracommReportTypeDeclaration=Type of declaration -IntracommReportDownload=download XML file +IntracommReportList=Список сгенерированных объявлений +IntracommReportNumber=Номер декларации +IntracommReportPeriod=Период анализа +IntracommReportTypeDeclaration=Тип декларации +IntracommReportDownload=скачать файл XML # Invoice -IntracommReportTransportMode=Transport mode +IntracommReportTransportMode=Транспортный режим diff --git a/htdocs/langs/ru_RU/knowledgemanagement.lang b/htdocs/langs/ru_RU/knowledgemanagement.lang index b9eba6c3a10..bcadca051bf 100644 --- a/htdocs/langs/ru_RU/knowledgemanagement.lang +++ b/htdocs/langs/ru_RU/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Система управления знаниями # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Управление системой управления знаний или справочной службы # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Настройка системы управления знаниями Settings = Настройки -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Страница настройки системы управления знаниями # # About page # About = О -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = Об управлении знаниями +KnowledgeManagementAboutPage = Управление знаниями о странице -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +KnowledgeManagementArea = Управление знаниями +MenuKnowledgeRecord = База знаний +ListKnowledgeRecord = Список статей +NewKnowledgeRecord = Новая статья +ValidateReply = Проверить решение +KnowledgeRecords = Статьи KnowledgeRecord = Статья -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Дополнительные поля для статьи +GroupOfTicket=Группа билетов +YouCanLinkArticleToATicketCategory=Вы можете привязать статью к группе заявок (чтобы статья предлагалась во время квалификации новых билетов) diff --git a/htdocs/langs/ru_RU/languages.lang b/htdocs/langs/ru_RU/languages.lang index 124dfd0d308..40f390c123e 100644 --- a/htdocs/langs/ru_RU/languages.lang +++ b/htdocs/langs/ru_RU/languages.lang @@ -1,11 +1,14 @@ # Dolibarr language file - Source file is en_US - languages -Language_am_ET=Ethiopian +Language_am_ET=Эфиопский Language_ar_AR=Арабский -Language_ar_EG=Arabic (Egypt) +Language_ar_EG=Арабский (Египет) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Арабский -Language_az_AZ=Azerbaijani -Language_bn_BD=Bengali -Language_bn_IN=Bengali (India) +Language_ar_TN=Арабский (Тунис) +Language_ar_IQ=Арабский (Ирак) +Language_az_AZ=Азербайджанский +Language_bn_BD=Бенгальский +Language_bn_IN=Бенгальский (Индия) Language_bg_BG=Болгарский Language_bs_BA=Боснийский Language_ca_ES=Каталанский @@ -16,74 +19,76 @@ Language_de_DE=Немецкий Language_de_AT=Немецкий (Австрия) Language_de_CH=Немецкий (Швейцария) Language_el_GR=Греческий -Language_el_CY=Greek (Cyprus) +Language_el_CY=Греческий (Кипр) Language_en_AU=Английский (Австралия) Language_en_CA=Английский (Канада) Language_en_GB=Английский (Великобритания) Language_en_IN=Английский (Индия) Language_en_NZ=Английский (Новая Зеландия) Language_en_SA=Английский (Саудовская Аравия) -Language_en_SG=English (Singapore) +Language_en_SG=Английский (Сингапур) Language_en_US=Английский (США) Language_en_ZA=Английский (Южная Африка) Language_es_ES=Испанский Language_es_AR=Испанский (Аргентина) -Language_es_BO=Spanish (Bolivia) +Language_es_BO=Испанский (Боливия) Language_es_CL=Испанский (Чили) -Language_es_CO=Spanish (Colombia) +Language_es_CO=Испанский (Колумбия) Language_es_DO=Испанский (Доминиканская Республика) -Language_es_EC=Spanish (Ecuador) -Language_es_GT=Spanish (Guatemala) +Language_es_EC=Испанский (Эквадор) +Language_es_GT=Испанский (Гватемала) Language_es_HN=Испанский (Гондурас) Language_es_MX=Испанский (Мексика) -Language_es_PA=Spanish (Panama) +Language_es_PA=Испанский (Панама) Language_es_PY=Испанский (Парагвай) Language_es_PE=Испанский (Перу) Language_es_PR=Испанский (Пуэрто-Рико) -Language_es_US=Spanish (USA) -Language_es_UY=Spanish (Uruguay) -Language_es_GT=Spanish (Guatemala) -Language_es_VE=Spanish (Venezuela) +Language_es_US=Испанский (США) +Language_es_UY=Испанский (Уругвай) +Language_es_GT=Испанский (Гватемала) +Language_es_VE=Испанский (Венесуэла) Language_et_EE=Эстонский Language_eu_ES=Баскский Language_fa_IR=Персидский -Language_fi_FI=Finnish +Language_fi_FI=Финский Language_fr_BE=Французский (Бельгия) Language_fr_CA=Французский (Канада) Language_fr_CH=Французский (Швейцария) -Language_fr_CI=French (Cost Ivory) -Language_fr_CM=French (Cameroun) +Language_fr_CI=Французский (Стоимость слоновой кости) +Language_fr_CM=Французский (Камерун) Language_fr_FR=Французский -Language_fr_GA=French (Gabon) +Language_fr_GA=Французский (Габон) Language_fr_NC=Французский (Новая Каледония) -Language_fr_SN=French (Senegal) -Language_fy_NL=Frisian -Language_gl_ES=Galician +Language_fr_SN=Французский (Сенегал) +Language_fy_NL=фризский +Language_gl_ES=Галицкий Language_he_IL=Иврит -Language_hi_IN=Hindi (India) +Language_hi_IN=Хинди (Индия) Language_hr_HR=Хорватский Language_hu_HU=Венгерский Language_id_ID=Индонезийский Language_is_IS=Исландский Language_it_IT=Итальянский -Language_it_CH=Italian (Switzerland) +Language_it_CH=Итальянский (Швейцария) Language_ja_JP=Японский -Language_ka_GE=Georgian -Language_km_KH=Khmer -Language_kn_IN=Kannada +Language_ka_GE=Грузинский +Language_km_KH=Кхмерский +Language_kn_IN=Каннада Language_ko_KR=Корейский Language_lo_LA=Лаосский Language_lt_LT=Литовский Language_lv_LV=Латышский Language_mk_MK=Македонский -Language_mn_MN=Mongolian +Language_mn_MN=Монгольский Language_nb_NO=Норвежский (Букмол) -Language_ne_NP=Nepali +Language_ne_NP=Непальский Language_nl_BE=Голландский (Бельгия) -Language_nl_NL=Dutch +Language_nl_NL=нидерландский язык Language_pl_PL=Польский +Language_pt_AO=Португальский (Ангола) Language_pt_BR=Португальский (Бразилия) Language_pt_PT=Португальский +Language_ro_MD=Румынский (Молдавия) Language_ro_RO=Румынский Language_ru_RU=Русский Language_ru_UA=Русский (Украина) @@ -93,13 +98,13 @@ Language_sv_SV=Шведский Language_sv_SE=Шведский Language_sq_AL=Албанский Language_sk_SK=Словацкий -Language_sr_RS=Serbian -Language_sw_SW=Kiswahili +Language_sr_RS=сербский +Language_sw_SW=Кисуахили Language_th_TH=Тайский Language_uk_UA=Украинский Language_uz_UZ=Узбекский Language_vi_VN=Вьетнамский Language_zh_CN=Китайский Language_zh_TW=Китайский (традиционный) -Language_zh_HK=Chinese (Hong Kong) -Language_bh_MY=Malay +Language_zh_HK=Китайский (Гонконг) +Language_bh_MY=малайский diff --git a/htdocs/langs/ru_RU/ldap.lang b/htdocs/langs/ru_RU/ldap.lang index 19b3615ccf0..83813ef1867 100644 --- a/htdocs/langs/ru_RU/ldap.lang +++ b/htdocs/langs/ru_RU/ldap.lang @@ -5,7 +5,7 @@ LDAPInformationsForThisContact=Информация в базе данных LDA LDAPInformationsForThisUser=Информация в базе данных LDAP для этого пользователя LDAPInformationsForThisGroup=Информация в базе данных LDAP для этой группы LDAPInformationsForThisMember=Информация в базе данных LDAP для этого участника -LDAPInformationsForThisMemberType=Information in LDAP database for this member type +LDAPInformationsForThisMemberType=Информация в базе данных LDAP для этого типа члена LDAPAttributes=Атрибуты LDAP LDAPCard=Карточка LDAP LDAPRecordNotFound=Запись в базе данных LDAP не найдена @@ -13,15 +13,15 @@ LDAPUsers=Пользователи в базе данных LDAP LDAPFieldStatus=Статус LDAPFieldFirstSubscriptionDate=Дата первой подписки LDAPFieldFirstSubscriptionAmount=Размер первой подписки -LDAPFieldLastSubscriptionDate=Latest subscription date -LDAPFieldLastSubscriptionAmount=Latest subscription amount -LDAPFieldSkype=Skype id -LDAPFieldSkypeExample=Example : skypeName +LDAPFieldLastSubscriptionDate=Последняя дата подписки +LDAPFieldLastSubscriptionAmount=Последняя сумма подписки +LDAPFieldSkype=Skype ID +LDAPFieldSkypeExample=Пример: skypeName UserSynchronized=Пользователь синхронизирован GroupSynchronized=Группа синхронизирована MemberSynchronized=Участник синхронизирован -MemberTypeSynchronized=Member type synchronized +MemberTypeSynchronized=Тип элемента синхронизирован ContactSynchronized=Контакт синхронизирован ForceSynchronize=Принудительная синхронизация Dolibarr -> LDAP ErrorFailedToReadLDAP=Не удалось прочитать базу данных LDAP. Проверьте настройку модуля LDAP и доступность базы данных. -PasswordOfUserInLDAP=Password of user in LDAP +PasswordOfUserInLDAP=Пароль пользователя в LDAP diff --git a/htdocs/langs/ru_RU/link.lang b/htdocs/langs/ru_RU/link.lang index 6ec241979e2..edfddc8994b 100644 --- a/htdocs/langs/ru_RU/link.lang +++ b/htdocs/langs/ru_RU/link.lang @@ -7,5 +7,5 @@ ErrorFileNotLinked=Не возможно создать ссылку на фай LinkRemoved=Ссылка на файл %s удалена ErrorFailedToDeleteLink= При удалении ссылки на файл '%s' возникла ошибка ErrorFailedToUpdateLink= При обновлении ссылки на файл '%s' возникла ошибка -URLToLink=URL to link -OverwriteIfExists=Overwrite file if exists +URLToLink=URL для ссылки +OverwriteIfExists=Перезаписать файл, если он существует diff --git a/htdocs/langs/ru_RU/loan.lang b/htdocs/langs/ru_RU/loan.lang index da2b0e78468..f3ad2a23786 100644 --- a/htdocs/langs/ru_RU/loan.lang +++ b/htdocs/langs/ru_RU/loan.lang @@ -10,25 +10,25 @@ LoanCapital=Капитал Insurance=Страховка Interest=Доля капитала Nbterms=Количество условий -Term=Term -LoanAccountancyCapitalCode=Accounting account capital -LoanAccountancyInsuranceCode=Accounting account insurance -LoanAccountancyInterestCode=Accounting account interest +Term=Срок +LoanAccountancyCapitalCode=Бухгалтерский учет капитала +LoanAccountancyInsuranceCode=Страхование бухгалтерского счета +LoanAccountancyInterestCode=Бухгалтерский счет процентов ConfirmDeleteLoan=Подтвердите удаление этой ссуды LoanDeleted=Ссуда успешно удалена ConfirmPayLoan=Подтвердите, что эта ссуда оплачена LoanPaid=Ссуда оплачена -ListLoanAssociatedProject=List of loan associated with the project -AddLoan=Create loan -FinancialCommitment=Financial commitment +ListLoanAssociatedProject=Список ссуд, связанных с проектом +AddLoan=Создать ссуду +FinancialCommitment=Финансовые обязательства InterestAmount=Доля капитала -CapitalRemain=Capital remain -TermPaidAllreadyPaid = This term is allready paid -CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started -CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule +CapitalRemain=Остается капитал +TermPaidAllreadyPaid = Этот срок уже оплачен +CantUseScheduleWithLoanStartedToPaid = Невозможно использовать планировщик для ссуды с начатым платежом +CantModifyInterestIfScheduleIsUsed = Вы не можете изменить интерес, если используете расписание # Admin ConfigLoan=Настройка модуля Ссуды -LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default -LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default -LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default -CreateCalcSchedule=Edit financial commitment +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Бухгалтерский учет капитала по умолчанию +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Учет процентов по счету по умолчанию +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Страхование бухгалтерского счета по умолчанию +CreateCalcSchedule=Изменить финансовое обязательство diff --git a/htdocs/langs/ru_RU/mailmanspip.lang b/htdocs/langs/ru_RU/mailmanspip.lang index f2e5ba49228..1ebc24d12fa 100644 --- a/htdocs/langs/ru_RU/mailmanspip.lang +++ b/htdocs/langs/ru_RU/mailmanspip.lang @@ -3,8 +3,8 @@ MailmanSpipSetup=Настройка модуля систем Mailman и SPIP MailmanTitle=Система управления электронными рассылками Mailman TestSubscribe=Для проверки подписки на лист рассылки системы Mailman TestUnSubscribe=Для проверки отказа от подписки на лист рассылки системы Mailman -MailmanCreationSuccess=Subscription test was executed successfully -MailmanDeletionSuccess=Unsubscription test was executed successfully +MailmanCreationSuccess=Проверка подписки прошла успешно +MailmanDeletionSuccess=Тест отказа от подписки был успешно выполнен SynchroMailManEnabled=Будет выполнено обновление системы Mailman SynchroSpipEnabled=Будет выполнено обновление системы SPIP DescADHERENT_MAILMAN_ADMINPW=Пароль администратора системы Mailman @@ -23,5 +23,5 @@ DeleteIntoSpip=Удалить из системы SPIP DeleteIntoSpipConfirmation=Вы точно хотите удалить этого участника из системы SPIP? DeleteIntoSpipError=Не удалось удалить участника из системы SPIP SPIPConnectionFailed=Не удалось установить соединение с системой SPIP -SuccessToAddToMailmanList=%s successfully added to mailman list %s or SPIP database -SuccessToRemoveToMailmanList=%s successfully removed from mailman list %s or SPIP database +SuccessToAddToMailmanList=%s успешно добавлен в список рассылки %s или базу данных SPIP +SuccessToRemoveToMailmanList=%s успешно удален из списка рассылки %s или базы данных SPIP diff --git a/htdocs/langs/ru_RU/mails.lang b/htdocs/langs/ru_RU/mails.lang index b7aaf5a94cb..c41231d4cc0 100644 --- a/htdocs/langs/ru_RU/mails.lang +++ b/htdocs/langs/ru_RU/mails.lang @@ -1,8 +1,8 @@ # Dolibarr language file - Source file is en_US - mails Mailing=Отправка EMailing=Отправка -EMailings=EMailings -AllEMailings=Все eMailings +EMailings=Отправка +AllEMailings=Все отправить MailCard=Отправка карточки MailRecipients=Получатели MailRecipient=Получатель @@ -11,16 +11,16 @@ MailFrom=Отправитель MailErrorsTo=Ошибки в MailReply=Ответить MailTo=Получатель (и) -MailToUsers=To user(s) +MailToUsers=Пользователю (ам) MailCC=Копия -MailToCCUsers=Copy to users(s) +MailToCCUsers=Копировать пользователям MailCCC=Сохраненная копия -MailTopic=Email subject +MailTopic=Тема письма MailText=Сообщение MailFile=Присоединенные файлы -MailMessage=Текст Email -SubjectNotIn=Not in Subject -BodyNotIn=Not in Body +MailMessage=Текст письма +SubjectNotIn=Не в теме +BodyNotIn=Не в теле ShowEMailing=Показать адреса ListOfEMailings=Список emailings NewMailing=Новый адрес @@ -43,137 +43,137 @@ MailSuccessfulySent=Письмо (от %s к %s) успешно принято MailingSuccessfullyValidated=Электронная почта успешно подтверждена MailUnsubcribe=Отказаться от рассылки MailingStatusNotContact=Не писать -MailingStatusReadAndUnsubscribe=Read and unsubscribe +MailingStatusReadAndUnsubscribe=Прочитать и отписаться ErrorMailRecipientIsEmpty=Email получателя пуста WarningNoEMailsAdded=Нет новых сообщений, чтобы добавить в список получателей. -ConfirmValidMailing=Are you sure you want to validate this emailing? -ConfirmResetMailing=Warning, by re-initializing emailing %s, you will allow the re-sending this email in a bulk mailing. Are you sure you want to do this? -ConfirmDeleteMailing=Are you sure you want to delete this emailing? -NbOfUniqueEMails=No. of unique emails -NbOfEMails=No. of EMails +ConfirmValidMailing=Вы уверены, что хотите подтвердить это электронное письмо? +ConfirmResetMailing=Внимание! Повторно инициализировав электронную почту %s , вы разрешите повторную отправку этого электронного письма в массовой рассылке. Вы уверены, что хотите это сделать? +ConfirmDeleteMailing=Вы уверены, что хотите удалить это электронное письмо? +NbOfUniqueEMails=Кол-во уникальных писем +NbOfEMails=Кол-во писем TotalNbOfDistinctRecipients=Число различных адресатов NoTargetYet=Не определено еще получателей (Перейдите на вкладку 'Получатели') -NoRecipientEmail=No recipient email for %s +NoRecipientEmail=Нет адреса электронной почты получателя для %s RemoveRecipient=Удалить получателем YouCanAddYourOwnPredefindedListHere=Чтобы создать свой электронный селектор модуля, см. htdocs / входит / модули / рассылки / README. EMailTestSubstitutionReplacedByGenericValues=При тестовом режиме, замен переменных заменяются на общих ценностях MailingAddFile=Приложите этот файл NoAttachedFiles=Нет прикрепленных файлов -BadEMail=Bad value for Email -ConfirmCloneEMailing=Are you sure you want to clone this emailing? +BadEMail=Плохое значение для электронной почты +ConfirmCloneEMailing=Вы уверены, что хотите клонировать это электронное письмо? CloneContent=Клон сообщение CloneReceivers=Cloner получателей -DateLastSend=Date of latest sending +DateLastSend=Дата последней отправки DateSending=Дата отправки SentTo=Направлено в %s MailingStatusRead=Читать -YourMailUnsubcribeOK=The email %s is correctly unsubscribe from mailing list -ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubscribe" feature -EMailSentToNRecipients=Email sent to %s recipients. -EMailSentForNElements=Email sent for %s elements. +YourMailUnsubcribeOK=Электронная почта %s правильно отписана от списка рассылки +ActivateCheckReadKey=Ключ, используемый для шифрования URL-адреса, используемого для функций «Уведомление о прочтении» и «Отказ от подписки». +EMailSentToNRecipients=Электронное письмо отправлено получателям %s. +EMailSentForNElements=Электронное письмо отправлено для элементов %s. XTargetsAdded=%s добавлено в список получателей -OnlyPDFattachmentSupported=If the PDF documents were already generated for the objects to send, they will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachments in mass sending in this version). -AllRecipientSelected=The recipients of the %s record selected (if their email is known). -GroupEmails=Group emails -OneEmailPerRecipient=One email per recipient (by default, one email per record selected) -WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them. -ResultOfMailSending=Result of mass Email sending -NbSelected=Number selected -NbIgnored=Number ignored -NbSent=Number sent -SentXXXmessages=%s message(s) sent. -ConfirmUnvalidateEmailing=Are you sure you want to change email %s to draft status? -MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters -MailingModuleDescContactsByCompanyCategory=Contacts by third-party category -MailingModuleDescContactsByCategory=Contacts by categories -MailingModuleDescContactsByFunction=Contacts by position -MailingModuleDescEmailsFromFile=Emails from file -MailingModuleDescEmailsFromUser=Emails input by user -MailingModuleDescDolibarrUsers=Users with Emails -MailingModuleDescThirdPartiesByCategories=Third parties (by categories) -SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed. -EmailCollectorFilterDesc=All filters must match to have an email being collected +OnlyPDFattachmentSupported=Если PDF-документы уже были созданы для объектов для отправки, они будут прикреплены к электронному письму. В противном случае электронное письмо не будет отправлено (также обратите внимание, что в этой версии в качестве вложений при массовой рассылке поддерживаются только PDF-документы). +AllRecipientSelected=Выбраны получатели записи %s (если известен их адрес электронной почты). +GroupEmails=Групповые электронные письма +OneEmailPerRecipient=Одно электронное письмо на каждого получателя (по умолчанию, одно электронное письмо на каждую выбранную запись) +WarningIfYouCheckOneRecipientPerEmail=Предупреждение: если вы установите этот флажок, это означает, что для нескольких выбранных записей будет отправлено только одно электронное письмо, поэтому, если ваше сообщение содержит переменные подстановки, которые относятся к данным записи, их невозможно заменить. +ResultOfMailSending=Результат массовой рассылки писем +NbSelected=Номер выбран +NbIgnored=Номер проигнорирован +NbSent=Номер отправлен +SentXXXmessages=Сообщение (я) %s отправлено. +ConfirmUnvalidateEmailing=Вы действительно хотите изменить адрес электронной почты %s на статус черновика? +MailingModuleDescContactsWithThirdpartyFilter=Связаться с клиентскими фильтрами +MailingModuleDescContactsByCompanyCategory=Контакты по сторонним категориям +MailingModuleDescContactsByCategory=Контакты по категориям +MailingModuleDescContactsByFunction=Контакты по должности +MailingModuleDescEmailsFromFile=Электронные письма из файла +MailingModuleDescEmailsFromUser=Электронные письма, введенные пользователем +MailingModuleDescDolibarrUsers=Пользователи с электронной почтой +MailingModuleDescThirdPartiesByCategories=Третьи стороны (по категориям) +SendingFromWebInterfaceIsNotAllowed=Отправка из веб-интерфейса не разрешена. +EmailCollectorFilterDesc=Все фильтры должны совпадать, чтобы электронная почта была собрана # Libelle des modules de liste de destinataires mailing LineInFile=Линия %s в файл RecipientSelectionModules=Определяется запросы для получателей выбор MailSelectedRecipients=Отобранные получатели MailingArea=EMailings области -LastMailings=Latest %s emailings +LastMailings=Последние электронные письма от %s TargetsStatistics=Цели статистика NbOfCompaniesContacts=Уникальный контактов компаний MailNoChangePossible=Получатели для подтверждена электронной почте не может быть изменен SearchAMailing=Поиск рассылку SendMailing=Отправить по электронной почте SentBy=Прислал -MailingNeedCommand=Sending an emailing can be performed from command line. Ask your server administrator to launch the following command to send the emailing to all recipients: +MailingNeedCommand=Отправку электронного письма можно выполнить из командной строки. Попросите администратора сервера запустить следующую команду, чтобы отправить электронное письмо всем получателям: MailingNeedCommand2=Однако вы можете отправить их в Интернете, добавив параметр MAILING_LIMIT_SENDBYWEB с величиной максимальное количество писем вы хотите отправить на сессии. -ConfirmSendingEmailing=If you want to send emailing directly from this screen, please confirm you are sure you want to send emailing now from your browser ? -LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. +ConfirmSendingEmailing=Если вы хотите отправить электронное письмо прямо с этого экрана, подтвердите, что вы действительно хотите отправить электронное письмо прямо сейчас из своего браузера? +LimitSendingEmailing=Примечание. Отправка электронных писем из веб-интерфейса выполняется несколько раз по соображениям безопасности и тайм-аута, получатели %s одновременно для каждого сеанса отправки. TargetsReset=Очистить список ToClearAllRecipientsClickHere=Чтобы очистить получателей список для этого адреса, нажмите кнопку ToAddRecipientsChooseHere=Чтобы добавить адресатов, выберите в этих списках NbOfEMailingsReceived=Массовые emailings получил NbOfEMailingsSend=Массовая Email-рассылка IdRecord=Код записи -DeliveryReceipt=Delivery Ack. +DeliveryReceipt=Подтверждение доставки. YouCanUseCommaSeparatorForSeveralRecipients=Вы можете использовать сепаратор для запятую указать несколько получателей. TagCheckMail=Отслеживать открытие писем TagUnsubscribe=Ссылка для отказа от подписки -TagSignature=Signature of sending user -EMailRecipient=Recipient Email -TagMailtoEmail=Recipient Email (including html "mailto:" link) -NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. +TagSignature=Подпись отправляющего пользователя +EMailRecipient=Электронная почта получателя +TagMailtoEmail=Электронная почта получателя (включая HTML-ссылку "mailto:") +NoEmailSentBadSenderOrRecipientEmail=Электронное письмо не отправлено. Неправильный адрес электронной почты отправителя или получателя. Проверить профиль пользователя. # Module Notifications Notifications=Уведомления -NotificationsAuto=Notifications Auto. -NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company -ANotificationsWillBeSent=1 automatic notification will be sent by email -SomeNotificationsWillBeSent=%s automatic notifications will be sent by email -AddNewNotification=Subscribe to a new automatic email notification (target/event) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent -MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. -MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. -MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. -YouCanAlsoUseSupervisorKeyword=You can also add the keyword __SUPERVISOREMAIL__ to have email being sent to the supervisor of user (works only if an email is defined for this supervisor) -NbOfTargetedContacts=Current number of targeted contact emails -UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other -UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other -MailAdvTargetRecipients=Recipients (advanced selection) -AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target -AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima%% will target all jean, joe, start with jim but not jimo and not everything that starts with jima -AdvTgtSearchIntHelp=Use interval to select int or float value -AdvTgtMinVal=Minimum value -AdvTgtMaxVal=Maximum value -AdvTgtSearchDtHelp=Use interval to select date value -AdvTgtStartDt=Start dt. -AdvTgtEndDt=End dt. -AdvTgtTypeOfIncudeHelp=Target Email of third party and email of contact of the third party, or just third-party email or just contact email -AdvTgtTypeOfIncude=Type of targeted email -AdvTgtContactHelp=Use only if you target contact into "Type of targeted email" -AddAll=Add all -RemoveAll=Remove all -ItemsCount=Item(s) -AdvTgtNameTemplate=Filter name -AdvTgtAddContact=Add emails according to criteria -AdvTgtLoadFilter=Load filter -AdvTgtDeleteFilter=Delete filter -AdvTgtSaveFilter=Save filter -AdvTgtCreateFilter=Create filter -AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found -OutGoingEmailSetup=Outgoing emails -InGoingEmailSetup=Incoming emails -OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) -DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup +NotificationsAuto=Уведомления Авто. +NoNotificationsWillBeSent=Для этого типа мероприятия и компании автоматические уведомления по электронной почте не запланированы. +ANotificationsWillBeSent=1 автоматическое уведомление будет отправлено по электронной почте +SomeNotificationsWillBeSent=%s автоматические уведомления будут отправляться по электронной почте +AddNewNotification=Подпишитесь на новое автоматическое уведомление по электронной почте (цель / событие) +ListOfActiveNotifications=Список всех активных подписок (целей / событий) для автоматического уведомления по электронной почте +ListOfNotificationsDone=Список всех отправленных автоматических уведомлений по электронной почте +MailSendSetupIs=Конфигурация отправки электронной почты была настроена на «%s». Этот режим нельзя использовать для массовой рассылки электронных писем. +MailSendSetupIs2=Сначала необходимо зайти с учетной записью администратора в меню %sГлавная - Настройки - EMails %s и изменить параметр'%s' в режим использования '%s'. В этом режиме вы можете войти в настройку SMTP-сервера, предоставленного вашим интернет-провайдером, и использовать функцию массовой рассылки электронной почты. +MailSendSetupIs3=Если у вас есть какие-либо вопросы о том, как настроить SMTP-сервер, вы можете задать их по адресу %s. +YouCanAlsoUseSupervisorKeyword=Вы также можете добавить ключевое слово __SUPERVISOREMAIL__ , чтобы электронная почта отправлялась супервизору пользователя (работает, только если электронная почта определена для этого супервизора) +NbOfTargetedContacts=Текущее количество целевых контактных писем +UseFormatFileEmailToTarget=Импортированный файл должен иметь формат email; name; firstname; other +UseFormatInputEmailToTarget=Введите строку в формате адрес электронной почты; имя; имя; другое +MailAdvTargetRecipients=Получатели (расширенный выбор) +AdvTgtTitle=Заполните поля ввода, чтобы предварительно выбрать третьих лиц или контакты / адреса для таргетинга +AdvTgtSearchTextHelp=Используйте %% в качестве подстановочных знаков. Например, чтобы найти все элементы типа jean, joe, jim , вы можете ввести j%% , вы также можете использовать; в качестве разделителя значения и используйте! за исключением этого значения. Например, jean; joe; jim%%;! Jimo;! Jima%% будет нацеливаться на всех jean, joe, начинать с jim, но не на jimo, и не на все, что начинается с jima +AdvTgtSearchIntHelp=Используйте интервал для выбора значения типа int или float +AdvTgtMinVal=Минимальное значение +AdvTgtMaxVal=Максимальное значение +AdvTgtSearchDtHelp=Используйте интервал для выбора значения даты +AdvTgtStartDt=Начать dt. +AdvTgtEndDt=Конец дт. +AdvTgtTypeOfIncudeHelp=Целевой адрес электронной почты третьего лица и адрес электронной почты контакта третьего лица, или просто сторонний адрес электронной почты, или просто контактный адрес электронной почты +AdvTgtTypeOfIncude=Тип целевой электронной почты +AdvTgtContactHelp=Используйте только в том случае, если вы нацеливаете контакт на «Тип целевого адреса электронной почты». +AddAll=Добавить все +RemoveAll=Убрать все +ItemsCount=Предметы) +AdvTgtNameTemplate=Имя фильтра +AdvTgtAddContact=Добавляйте электронные письма в соответствии с критериями +AdvTgtLoadFilter=Загрузить фильтр +AdvTgtDeleteFilter=Удалить фильтр +AdvTgtSaveFilter=Сохранить фильтр +AdvTgtCreateFilter=Создать фильтр +AdvTgtOrCreateNewFilter=Название нового фильтра +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties +OutGoingEmailSetup=Исходящие письма +InGoingEmailSetup=Входящие письма +OutGoingEmailSetupForEmailing=Исходящие письма (для модуля %s) +DefaultOutgoingEmailSetup=Та же конфигурация, что и глобальная настройка исходящей электронной почты Information=Информация -ContactsWithThirdpartyFilter=Contacts with third-party filter -Unanswered=Unanswered -Answered=Answered -IsNotAnAnswer=Is not answer (initial email) -IsAnAnswer=Is an answer of an initial email -RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s -DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing -DefaultStatusEmptyMandatory=Empty but mandatory +ContactsWithThirdpartyFilter=Контакты со сторонним фильтром +Unanswered=Без ответа +Answered=Ответил +IsNotAnAnswer=Нет ответа (исходное письмо) +IsAnAnswer=Это ответ на исходное электронное письмо +RecordCreatedByEmailCollector=Запись, созданная сборщиком электронной почты %s из электронной почты %s +DefaultBlacklistMailingStatus=Статус контакта по умолчанию для отказа от массовой рассылки писем +DefaultStatusEmptyMandatory=Пусто, но обязательно diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index 87b13c7d185..b354fece0f5 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -29,8 +29,8 @@ AvailableVariables=Доступны переменные для замены NoTranslation=Нет перевода Translation=Перевод CurrentTimeZone=Текущий часовой пояс в настройках PHP -EmptySearchString=Enter non empty search criterias -EnterADateCriteria=Enter a date criteria +EmptySearchString=Введите непустые критерии поиска +EnterADateCriteria=Введите критерии даты NoRecordFound=Запись не найдена NoRecordDeleted=Нет удаленных записей NotEnoughDataYet=Недостаточно данных @@ -87,8 +87,8 @@ FileWasNotUploaded=Файл выбран как вложение, но пока NbOfEntries=Кол-во записей GoToWikiHelpPage=Читать интернет-справку (необходим доступ к Интернету) GoToHelpPage=Читать помощь -DedicatedPageAvailable=There is a dedicated help page related to your current screen -HomePage=Home Page +DedicatedPageAvailable=Существует специальная страница справки, относящаяся к вашему текущему экрану +HomePage=Домашняя страница RecordSaved=Запись сохранена RecordDeleted=Запись удалена RecordGenerated=Запись сгенерирована @@ -118,7 +118,7 @@ InformationToHelpDiagnose=Эта информация может быть пол MoreInformation=Подробнее TechnicalInformation=Техническая информация TechnicalID=Технический идентификатор -LineID=Line ID +LineID=ID линии NotePublic=Примечание (публичное) NotePrivate=Примечание (личное) PrecisionUnitIsLimitedToXDecimals=Dolibarr был настроен на ограничение точности цены единицы до %s десятых. @@ -159,7 +159,7 @@ RemoveLink=Удалить ссылку AddToDraft=Добавить к черновику Update=Обновить Close=Закрыть -CloseAs=Set status to +CloseAs=Установить статус на CloseBox=Удалить виджет с Информ-панели Confirm=Подтвердить ConfirmSendCardByMail=Отправить содержимое этой карты по почте на %s ? @@ -175,12 +175,12 @@ ToValidate=На проверке NotValidated=Не подтвержден Save=Сохранить SaveAs=Сохранить как -SaveAndStay=Save and stay -SaveAndNew=Save and new +SaveAndStay=Сохранить и остаться +SaveAndNew=Сохранить и новый TestConnection=Проверка подключения ToClone=Дублировать -ConfirmCloneAsk=Are you sure you want to clone the object %s? -ConfirmClone=Choose the data you want to clone: +ConfirmCloneAsk=Вы действительно хотите клонировать объект %s ? +ConfirmClone=Выберите данные, которые хотите клонировать: NoCloneOptionsSpecified=Данные для дублирования не определены. Of=из Go=Выполнить @@ -191,8 +191,8 @@ Hide=Скрытый ShowCardHere=Показать карточку Search=Поиск SearchOf=Поиск -SearchMenuShortCut=Ctrl + shift + f -QuickAdd=Quick add +SearchMenuShortCut=Ctrl + Shift + F +QuickAdd=Быстрое добавление QuickAddMenuShortCut=Ctrl + shift + l Valid=Действительный Approve=Утвердить @@ -201,7 +201,7 @@ ReOpen=Переоткрыть Upload=Загрузить ToLink=Ссылка Select=Выбор -SelectAll=Select all +SelectAll=Выбрать все Choose=Выберите Resize=Изменение размера ResizeOrCrop=Изменение размера или обрезка @@ -224,7 +224,7 @@ Value=Значение PersonalValue=Личное значение NewObject=Новый %s NewValue=Новое значение -OldValue=Old value %s +OldValue=Старое значение %s CurrentValue=Текущее значение Code=Код Type=Тип @@ -246,7 +246,7 @@ DefaultModel=Шаблон документа по-умолчанию Action=Действие About=О Number=Номер -NumberByMonth=Total reports by month +NumberByMonth=Всего отчетов по месяцам AmountByMonth=Сумма за месяц Numero=Номер Limit=Лимит @@ -263,7 +263,7 @@ Cards=Карточки Card=Карточка Now=Сейчас HourStart=Час начала -Deadline=Deadline +Deadline=Срок Date=Дата DateAndHour=Дата и час DateToday=Сегодняшняя дата @@ -272,13 +272,13 @@ DateStart=Дата начала DateEnd=Дата окончания DateCreation=Дата создания DateCreationShort=Дата создания -IPCreation=Creation IP +IPCreation=Создание IP DateModification=Дата изменения DateModificationShort=Дата изм. -IPModification=Modification IP +IPModification=Модификация IP DateLastModification=Дата последнего изменения DateValidation=Дата проверки -DateSigning=Signing date +DateSigning=Дата подписания DateClosing=Дата закрытия DateDue=Срок выполнения DateValue=Дата зачисления @@ -330,7 +330,7 @@ Morning=Утро Afternoon=После полудня Quadri=Квартал MonthOfDay=Месяц дня -DaysOfWeek=Days of week +DaysOfWeek=Дни недели HourShort=ч MinuteShort=мин. Rate=Курс @@ -341,8 +341,8 @@ KiloBytes=Килобайт MegaBytes=Мегабайт GigaBytes=Гигабайт TeraBytes=Терабайт -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=Создано +UserModif=Обновлено b=б. Kb=Кб Mb=Мб @@ -362,13 +362,13 @@ UnitPriceHTCurrency=Цена за единицу (без налога) (валю UnitPriceTTC=Цена за единицу PriceU=Цена ед. PriceUHT=Цена ед. (нетто) -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=U.P (нетто) (валюта) PriceUTTC=Цена ед. (с налогом) Amount=Сумма AmountInvoice=Сумма счета-фактуры AmountInvoiced=Сумма выставленного счета -AmountInvoicedHT=Amount invoiced (excl. tax) -AmountInvoicedTTC=Amount invoiced (inc. tax) +AmountInvoicedHT=Сумма счета (без налогов) +AmountInvoicedTTC=Сумма счета (включая налог) AmountPayment=Сумма платежа AmountHTShort=Сумма (без налога) AmountTTCShort=Сумма (вкл-я налог) @@ -381,7 +381,7 @@ MulticurrencyPaymentAmount=Сумма платежа, в оригинально MulticurrencyAmountHT=Сумма (без налога), исходная валюта MulticurrencyAmountTTC=Сумма (с налогом), в исходной валюте MulticurrencyAmountVAT=Сумма налога, в исходной валюте -MulticurrencySubPrice=Amount sub price multi currency +MulticurrencySubPrice=Сумма субцена мультивалютная AmountLT1=Сумма налога 2 AmountLT2=Сумма налога 3 AmountLT1ES=Сумма RE @@ -390,8 +390,8 @@ AmountTotal=Общая сумма AmountAverage=Средняя сумма PriceQtyMinHT=Цена за мин. количество (без налога) PriceQtyMinHTCurrency=Цена за мин. количество (без налога) (валюта) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PercentOfOriginalObject=Процент оригинального объекта +AmountOrPercent=Сумма или процент Percentage=Процент Total=Всего SubTotal=Подитог @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Дополнительные центы VATRate=Ставка НДС +RateOfTaxN=Ставка налога %s VATCode=Код ставки налога VATNPR=Налоговая ставка NPR DefaultTaxRate=Ставка налога по умолчанию @@ -441,10 +442,10 @@ RemainToPay=Осталось заплатить Module=Модуль/Приложение Modules=Модули/Приложения Option=Опция -Filters=Filters +Filters=Фильтры List=Список FullList=Полный список -FullConversation=Full conversation +FullConversation=Полный разговор Statistics=Статистика OtherStatistics=Другие статистические данные Status=Статус @@ -473,7 +474,7 @@ ContactsAddressesForCompany=Контакты/Адреса для этого ко AddressesForCompany=Адреса для этого контарагента ActionsOnCompany=События для этого контрагента ActionsOnContact=Событие для этого контакта/адреса -ActionsOnContract=Events for this contract +ActionsOnContract=События для этого контракта ActionsOnMember=События этого участника ActionsOnProduct=События об этом продукте NActionsLate=% с опозданием @@ -493,7 +494,7 @@ TotalDuration=Общая продолжительность Summary=Общее DolibarrStateBoard=Статистика базы данных DolibarrWorkBoard=Открытые позиции -NoOpenedElementToProcess=No open element to process +NoOpenedElementToProcess=Нет открытого элемента для обработки Available=Доступно NotYetAvailable=Пока не доступно NotAvailable=Не доступно @@ -507,7 +508,7 @@ to=к To=к ToDate=к ToLocation=к -at=at +at=в and=и or=или Other=Другой @@ -528,7 +529,7 @@ Draft=Черновик Drafts=Черновики StatusInterInvoiced=Выставлен счет Validated=Подтверждено -ValidatedToProduce=Validated (To produce) +ValidatedToProduce=Подтверждено (для производства) Opened=Открытые OpenAll=Открыто (Все) ClosedAll=Закрыто (все) @@ -661,7 +662,7 @@ SupplierPreview=Предварительный просмотр поставщи ShowCustomerPreview=Показать обзор клиента ShowSupplierPreview=Показать предварительный просмотр поставщика RefCustomer=Ref. клиента -InternalRef=Internal ref. +InternalRef=Внутренний исх. Currency=Валюта InfoAdmin=Информация для администраторов Undo=Отмена @@ -683,13 +684,13 @@ SendMail=Отправить письмо Email=Адрес электронной почты NoEMail=Нет Email AlreadyRead=Прочитано -NotRead=Unread +NotRead=Непрочитанный NoMobilePhone=Нет мобильного телефона Owner=Владелец FollowingConstantsWillBeSubstituted=Следующие константы будут подменять соответствующие значения. Refresh=Обновить BackToList=Вернуться к списку -BackToTree=Back to tree +BackToTree=Вернуться к дереву GoBack=Назад CanBeModifiedIfOk=Может быть изменено, если корректно CanBeModifiedIfKo=Может быть изменено, если ненекорректно @@ -710,7 +711,7 @@ Method=Метод Receive=Получить CompleteOrNoMoreReceptionExpected=Завершено или ничего больше не ожидается ExpectedValue=Ожидаемое значение -ExpectedQty=Expected Qty +ExpectedQty=Ожидаемое количество PartialWoman=Частичное TotalWoman=Всего NeverReceived=Не было получено @@ -727,9 +728,10 @@ MenuECM=Документы MenuAWStats=AWStats MenuMembers=Участники MenuAgendaGoogle=Google agenda -MenuTaxesAndSpecialExpenses=Taxes | Special expenses +MenuTaxesAndSpecialExpenses=Налоги | Особые расходы ThisLimitIsDefinedInSetup=Лимит Dolibarr (Меню Главная-Настройки-Безопасность): %s Кб, лимит PHP: %s Кб -NoFileFound=No documents uploaded +ThisLimitIsDefinedInSetupAt=Лимит долибарра (меню %s): %s Kb, лимит PHP (параметр %s): %s Kb +NoFileFound=Документы не загружены CurrentUserLanguage=Текущий язык CurrentTheme=Текущая тема CurrentMenuManager=Менеджер текущего меню @@ -744,13 +746,13 @@ DateOfSignature=Дата подписи HidePassword=Показать команду со скрытым паролем UnHidePassword=Показать реальную команду с открытым паролем Root=Корень -RootOfMedias=Root of public medias (/medias) +RootOfMedias=Корень публичных медиа (/ medias) Informations=Информация Page=Страница Notes=Примечания AddNewLine=Добавить новую строку AddFile=Добавить файл -FreeZone=Free-text product +FreeZone=Произвольный текст FreeLineOfType=Элемент произвольного текста, набрать: CloneMainAttributes=Клонирование объекта с его основными атрибутами ReGeneratePDF=Повторно сгенерировать PDF @@ -773,7 +775,7 @@ NotSupported=Не поддерживается RequiredField=Обязательное поле Result=Результат ToTest=Тест -ValidateBefore=Item must be validated before using this feature +ValidateBefore=Товар должен быть подтвержден перед использованием этой функции Visibility=Видимость Totalizable=Суммирование TotalizableDesc=Это поле суммируемо в списке @@ -801,7 +803,7 @@ LinkToSupplierProposal=Ссылка на предложение поставщи LinkToSupplierInvoice=Ссылка на счет поставщика LinkToContract=Ссылка на контакт LinkToIntervention=Ссылка на мероприятие -LinkToTicket=Link to ticket +LinkToTicket=Ссылка на билет CreateDraft=Создать черновик SetToDraft=Назад к черновику ClickToEdit=Нажмите, чтобы изменить @@ -845,7 +847,7 @@ XMoreLines=%s строк(и) скрыто ShowMoreLines=Показать больше/меньше строк PublicUrl=Публичная ссылка AddBox=Добавить бокс -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Выберите элемент и щелкните %s PrintFile=Печать файл %s ShowTransaction=Показать транзакцию на банковском счете ShowIntervention=Показать посредничества @@ -856,20 +858,20 @@ Denied=Запрещено ListOf=Список %s ListOfTemplates=Список шаблонов Gender=Пол -Genderman=Male -Genderwoman=Female +Genderman=Мужчина +Genderwoman=Женщина Genderother=Другое ViewList=Посмотреть список -ViewGantt=Gantt view -ViewKanban=Kanban view +ViewGantt=Представление Ганта +ViewKanban=Канбан вид Mandatory=Обязательно Hello=Здравствуйте GoodBye=До свидания Sincerely=С уважением, -ConfirmDeleteObject=Are you sure you want to delete this object? +ConfirmDeleteObject=Вы уверены, что хотите удалить этот объект? DeleteLine=Удалить строку ConfirmDeleteLine=Вы точно хотите удалить эту строку? -ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. +ErrorPDFTkOutputFileNotFound=Ошибка: файл не был создан. Убедитесь, что команда pdftk установлена в каталоге, включенном в переменную среды $ PATH (только для linux / unix), или обратитесь к системному администратору. NoPDFAvailableForDocGenAmongChecked=PDF не доступен для документов созданных из выбранных записей TooManyRecordForMassAction=Слишком много записей выбрано для пакетного действия. Действие ограничено списком из %s записей. NoRecordSelected=Нет выделенных записей @@ -884,7 +886,7 @@ Progress=Прогресс ProgressShort=Прогресс FrontOffice=Дирекция BackOffice=Бэк-офис -Submit=Submit +Submit=Представлять на рассмотрение View=Вид Export=Экспорт Exports=Экспорт @@ -900,14 +902,14 @@ Miscellaneous=Разное Calendar=Календарь GroupBy=Группировка по... ViewFlatList=Вид плоским списком -ViewAccountList=View ledger -ViewSubAccountList=View subaccount ledger +ViewAccountList=Посмотреть бухгалтерскую книгу +ViewSubAccountList=Просмотр книги вспомогательного счета RemoveString=Удалить строку '%s' SomeTranslationAreUncomplete=Некоторые из предлагаемых языков пакетов могут быть переведены только частично или могут содержать ошибки. Пожалуйста, помогите исправить ваш язык, зарегистрировавшись по адресу https://transifex.com/projects/p/dolibarr/, чтобы добавить свои улучшения. -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +DirectDownloadLink=Публичная ссылка для скачивания +PublicDownloadLinkDesc=Для скачивания файла требуется только ссылка +DirectDownloadInternalLink=Частная ссылка для скачивания +PrivateDownloadLinkDesc=Вам необходимо войти в систему и получить разрешения на просмотр или загрузку файла. Download=Загрузка DownloadDocument=Скачать документ ActualizeCurrency=Обновить текущий курс @@ -972,39 +974,39 @@ ShortThursday=Чт ShortFriday=Пт ShortSaturday=Сб ShortSunday=Вс -one=one -two=two -three=three -four=four -five=five -six=six -seven=seven -eight=eight -nine=nine -ten=ten -eleven=eleven -twelve=twelve -thirteen=thirdteen -fourteen=fourteen -fifteen=fifteen -sixteen=sixteen -seventeen=seventeen -eighteen=eighteen -nineteen=nineteen -twenty=twenty -thirty=thirty -forty=forty -fifty=fifty -sixty=sixty -seventy=seventy -eighty=eighty -ninety=ninety -hundred=hundred -thousand=thousand -million=million -billion=billion -trillion=trillion -quadrillion=quadrillion +one=один +two=два +three=три +four=четыре +five=пять +six=шесть +seven=Семь +eight=восемь +nine=девять +ten=десять +eleven=одиннадцать +twelve=двенадцать +thirteen=третийнадцать +fourteen=четырнадцать +fifteen=пятнадцать +sixteen=шестнадцать +seventeen=семнадцать +eighteen=18 +nineteen=19 +twenty=двадцать +thirty=30 +forty=сорок +fifty=пятьдесят +sixty=шестьдесят +seventy=семьдесят +eighty=восемьдесят +ninety=девяносто +hundred=сотня +thousand=тысяча +million=миллион +billion=миллиард +trillion=триллион +quadrillion=квадриллион SelectMailModel=Выберите шаблон электронной почты SetRef=Настроить источник Select2ResultFoundUseArrows=Найдено несколько результатов. Используйте стрелки для выбора. @@ -1020,9 +1022,9 @@ SearchIntoContacts=Контакты SearchIntoMembers=Участники SearchIntoUsers=Пользователи SearchIntoProductsOrServices=Продукты или услуги -SearchIntoBatch=Lots / Serials +SearchIntoBatch=Лоты / Сериалы SearchIntoProjects=Проекты -SearchIntoMO=Manufacturing Orders +SearchIntoMO=Заказы на производство SearchIntoTasks=Задание SearchIntoCustomerInvoices=Счета клиента SearchIntoSupplierInvoices=Счета-фактуры поставщика @@ -1036,7 +1038,7 @@ SearchIntoCustomerShipments=Отгрузки клиентам SearchIntoExpenseReports=Отчёты о затратах SearchIntoLeaves=Отпуск SearchIntoTickets=Заявки -SearchIntoCustomerPayments=Customer payments +SearchIntoCustomerPayments=Платежи клиентов SearchIntoVendorPayments=Платежи поставщику SearchIntoMiscPayments=Смешанные платежи CommentLink=Комментарии @@ -1057,13 +1059,13 @@ KeyboardShortcut=Сочетание клавиш AssignedTo=Ответств. Deletedraft=Удалить черновик ConfirmMassDraftDeletion=Подтверждение пакетного удаления Черновиков -FileSharedViaALink=File shared with a public link +FileSharedViaALink=К файлу предоставлен доступ по публичной ссылке SelectAThirdPartyFirst=Сначала выберите контрагента ... YouAreCurrentlyInSandboxMode=В настоящее время вы в %s режиме "песочницы" Inventory=Инвентаризация AnalyticCode=Аналитический код TMenuMRP=ППМ -ShowCompanyInfos=Show company infos +ShowCompanyInfos=Показать информацию о компании ShowMoreInfos=Показать больше информации NoFilesUploadedYet=Пожалуйста, загрузите сначала документ SeePrivateNote=Смотреть личную заметку @@ -1071,64 +1073,79 @@ PaymentInformation=Платежная информация ValidFrom=Действительно с ValidUntil=Действительно до NoRecordedUsers=Нет пользователей -ToClose=To close +ToClose=Слишком близко +ToRefuse=Отказать ToProcess=Для обработки -ToApprove=To approve -GlobalOpenedElemView=Global view -NoArticlesFoundForTheKeyword=No article found for the keyword '%s' -NoArticlesFoundForTheCategory=No article found for the category -ToAcceptRefuse=To accept | refuse +ToApprove=Утверждать +GlobalOpenedElemView=Глобальный взгляд +NoArticlesFoundForTheKeyword=Не найдено статьи по ключевому слову " %s " +NoArticlesFoundForTheCategory=В категории не найдено статей +ToAcceptRefuse=Принять | мусор ContactDefault_agenda=Событие ContactDefault_commande=Заказ ContactDefault_contrat=Договор ContactDefault_facture=Счёт ContactDefault_fichinter=Посредничество -ContactDefault_invoice_supplier=Supplier Invoice -ContactDefault_order_supplier=Purchase Order +ContactDefault_invoice_supplier=Счет поставщика +ContactDefault_order_supplier=Заказ на покупку ContactDefault_project=Проект ContactDefault_project_task=Задача ContactDefault_propal=Предложение -ContactDefault_supplier_proposal=Supplier Proposal -ContactDefault_ticket=Ticket -ContactAddedAutomatically=Contact added from contact thirdparty roles -More=More -ShowDetails=Show details -CustomReports=Custom reports -StatisticsOn=Statistics on -SelectYourGraphOptionsFirst=Select your graph options to build a graph -Measures=Measures -XAxis=X-Axis -YAxis=Y-Axis -StatusOfRefMustBe=Status of %s must be %s -DeleteFileHeader=Confirm file delete -DeleteFileText=Do you really want delete this file? -ShowOtherLanguages=Show other languages -SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language -NotUsedForThisCustomer=Not used for this customer -AmountMustBePositive=Amount must be positive -ByStatus=By status +ContactDefault_supplier_proposal=Предложение поставщика +ContactDefault_ticket=Проездной билет +ContactAddedAutomatically=Контакт добавлен из сторонних контактов контакта +More=Более +ShowDetails=Показать детали +CustomReports=Пользовательские отчеты +StatisticsOn=Статистика по +SelectYourGraphOptionsFirst=Выберите параметры графика, чтобы построить график +Measures=Меры +XAxis=Ось X +YAxis=Ось Y +StatusOfRefMustBe=Статус %s должен быть %s +DeleteFileHeader=Подтвердите удаление файла +DeleteFileText=Вы действительно хотите удалить этот файл? +ShowOtherLanguages=Показать другие языки +SwitchInEditModeToAddTranslation=Переключитесь в режим редактирования, чтобы добавить переводы для этого языка +NotUsedForThisCustomer=Не используется для этого клиента +AmountMustBePositive=Сумма должна быть положительной +ByStatus=По статусу InformationMessage=Информация -Used=Used -ASAP=As Soon As Possible -CREATEInDolibarr=Record %s created -MODIFYInDolibarr=Record %s modified -DELETEInDolibarr=Record %s deleted -VALIDATEInDolibarr=Record %s validated -APPROVEDInDolibarr=Record %s approved -DefaultMailModel=Default Mail Model -PublicVendorName=Public name of vendor +Used=Использовал +ASAP=Как можно скорее +CREATEInDolibarr=Запись %s создана +MODIFYInDolibarr=Запись %s изменена +DELETEInDolibarr=Запись %s удалена +VALIDATEInDolibarr=Запись %s подтверждена +APPROVEDInDolibarr=Запись %s утверждена +DefaultMailModel=Модель почты по умолчанию +PublicVendorName=Публичное название продавца DateOfBirth=Дата рождения -SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. -UpToDate=Up-to-date -OutOfDate=Out-of-date -EventReminder=Event Reminder -UpdateForAllLines=Update for all lines -OnHold=On hold -Civility=Civility -AffectTag=Affect Tag -ConfirmAffectTag=Bulk Tag Affect -ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? -CategTypeNotFound=No tag type found for type of records -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Срок действия токена безопасности истек, действие отменено. Пожалуйста, попробуйте еще раз. +UpToDate=До настоящего времени +OutOfDate=Устаревший +EventReminder=Напоминание о мероприятии +UpdateForAllLines=Обновление для всех линий +OnHold=На удерживании +Civility=Вежливость +AffectTag=Влияет на тег +CreateExternalUser=Создать внешнего пользователя +ConfirmAffectTag=Влияние массового тега +ConfirmAffectTagQuestion=Вы действительно хотите изменить теги для выбранных записей %s? +CategTypeNotFound=Тип тега для типа записей не найден +CopiedToClipboard=Скопировано в буфер обмена +InformationOnLinkToContract=Эта сумма представляет собой только сумму всех строк контракта. Время не принимается во внимание. +ConfirmCancel=Вы уверены, что хотите отменить +EmailMsgID=Электронная почта MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/ru_RU/margins.lang b/htdocs/langs/ru_RU/margins.lang index a205fac2481..f42fa2b215c 100644 --- a/htdocs/langs/ru_RU/margins.lang +++ b/htdocs/langs/ru_RU/margins.lang @@ -15,31 +15,31 @@ margesSetup=Настройка управления доходомом с нац MarginDetails=Детали наценки ProductMargins=Товарные наценки CustomerMargins=Наценки клиентов -SalesRepresentativeMargins=Sales representative margins -ContactOfInvoice=Contact of invoice +SalesRepresentativeMargins=Маржа торгового представителя +ContactOfInvoice=Контакт счета-фактуры UserMargins=Пользовательские наценки ProductService=Продукт или Услуга AllProducts=Все продукты и услуги ChooseProduct/Service=Выберите продукт или услугу -ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). -MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts +ForceBuyingPriceIfNull=Если не указано иное, привязать цену покупки / себестоимости к цене продажи +ForceBuyingPriceIfNullDetails=Если цена покупки / себестоимости не указана, когда мы добавляем новую строку, и эта опция включена, маржа будет равна 0 на новой строке (цена покупки / себестоимости = цена продажи). Если эта опция выключена (рекомендуется), маржа будет равна значению, предлагаемому по умолчанию (и может составлять 100%, если значение по умолчанию не может быть найдено). +MARGIN_METHODE_FOR_DISCOUNT=Метод маржи для глобальных скидок UseDiscountAsProduct=Как товар UseDiscountAsService=Как услуга UseDiscountOnTotal=Включить подитог -MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. -MARGIN_TYPE=Buying/Cost price suggested by default for margin calculation -MargeType1=Margin on Best vendor price -MargeType2=Margin on Weighted Average Price (WAP) -MargeType3=Margin on Cost Price -MarginTypeDesc=* Margin on best buying price = Selling price - Best vendor price defined on product card
    * Margin on Weighted Average Price (WAP) = Selling price - Product Weighted Average Price (WAP) or best vendor price if WAP not yet defined
    * Margin on Cost price = Selling price - Cost price defined on product card or WAP if cost price not defined, or best vendor price if WAP not yet defined +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Определяет, рассматривается ли глобальная скидка как продукт, услуга или только как промежуточный итог для расчета маржи. +MARGIN_TYPE=Цена покупки / себестоимости, предлагаемая по умолчанию для расчета маржи +MargeType1=Маржа по лучшей цене продавца +MargeType2=Маржа по средневзвешенной цене (WAP) +MargeType3=Маржа на себестоимость +MarginTypeDesc=* Маржа по лучшей закупочной цене = Цена продажи - Лучшая цена поставщика, определенная в карточке продукта
    * Маржа по средневзвешенной цене (WAP) = Цена продажи - Средневзвешенная цена продукта (WAP) или лучшая цена поставщика, если WAP еще не определена
    * Маржа на Себестоимость = Цена продажи - Себестоимость, определенная в карточке продукта или WAP, если себестоимость не определена, или лучшая цена поставщика, если WAP еще не определен CostPrice=Себестоимость -UnitCharges=Unit charges -Charges=Charges -AgentContactType=Commercial agent contact type -AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices. +UnitCharges=Стоимость единицы +Charges=Сборы +AgentContactType=Тип контакта коммерческого агента +AgentContactTypeDetails=Определите, какой тип контакта (связанный в счетах-фактурах) будет использоваться для отчета о марже для каждого контакта / адреса. Обратите внимание, что чтение статистики по контакту ненадежно, поскольку в большинстве случаев контакт не может быть явно определен в счетах. rateMustBeNumeric=Ставка должна быть числом -markRateShouldBeLesserThan100=Mark rate should be lower than 100 +markRateShouldBeLesserThan100=Оценка должна быть ниже 100 ShowMarginInfos=Показать инф-цию о наценке -CheckMargins=Margins detail -MarginPerSaleRepresentativeWarning=The report of margin per user use the link between third parties and sale representatives to calculate the margin of each sale representative. Because some thirdparties may not have any dedicated sale representative and some third parties may be linked to several, some amounts may not be included into this report (if there is no sale representative) and some may appear on different lines (for each sale representative). +CheckMargins=Детали полей +MarginPerSaleRepresentativeWarning=В отчете о марже на пользователя используется связь между третьими сторонами и торговыми представителями для расчета маржи каждого торгового представителя. Поскольку некоторые третьи стороны могут не иметь специального торгового представителя, а некоторые третьи стороны могут быть связаны с несколькими, некоторые суммы могут не быть включены в этот отчет (если нет торгового представителя), а некоторые могут отображаться в разных строках (для каждого торгового представителя) . diff --git a/htdocs/langs/ru_RU/members.lang b/htdocs/langs/ru_RU/members.lang index 1dd21a7fcb0..8aaf6ec419c 100644 --- a/htdocs/langs/ru_RU/members.lang +++ b/htdocs/langs/ru_RU/members.lang @@ -6,7 +6,7 @@ Member=Участник Members=Участники ShowMember=Показать карточку участника UserNotLinkedToMember=Пользователь не связан с участником -ThirdpartyNotLinkedToMember=Third party not linked to a member +ThirdpartyNotLinkedToMember=Третья сторона не связана с участником MembersTickets=Члены Билеты FundationMembers=Члены фонда ListOfValidatedPublicMembers=Список проверенных общественности @@ -15,26 +15,26 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=Еще один член (имя и < ErrorUserPermissionAllowsToLinksToItselfOnly=По соображениям безопасности, вы должны получить разрешение, чтобы изменить все пользователи должны иметь доступ к ссылке члена к пользователю, что это не твое. SetLinkToUser=Ссылка на Dolibarr пользователя SetLinkToThirdParty=Ссылка на Dolibarr третья сторона -MembersCards=Business cards for members +MembersCards=Визитные карточки для участников MembersList=Список участников MembersListToValid=Список кандидатов в участники (на утверждении) MembersListValid=Список действительных участников -MembersListUpToDate=List of valid members with up-to-date subscription -MembersListNotUpToDate=List of valid members with out-of-date subscription -MembersListExcluded=List of excluded members -MembersListResiliated=List of terminated members +MembersListUpToDate=Список действующих участников с актуальной подпиской +MembersListNotUpToDate=Список действующих участников с устаревшей подпиской +MembersListExcluded=Список исключенных участников +MembersListResiliated=Список прекращенных участников MembersListQualified=Список квалифицированных участников MenuMembersToValidate=Проект участники MenuMembersValidated=Подтвержденные участники -MenuMembersExcluded=Excluded members -MenuMembersResiliated=Terminated members +MenuMembersExcluded=Исключенные участники +MenuMembersResiliated=Прекращенные члены MembersWithSubscriptionToReceive=Члены с подпиской на получение -MembersWithSubscriptionToReceiveShort=Subscription to receive +MembersWithSubscriptionToReceiveShort=Подписка на получение DateSubscription=Дата подписки DateEndSubscription=Дата окончания подписки -EndSubscription=Subscription Ends +EndSubscription=Подписка заканчивается SubscriptionId=ID подписки -WithoutSubscription=Without subscription +WithoutSubscription=Без подписки MemberId=ID участника NewMember=Новый участник MemberType=Тип участника @@ -45,29 +45,29 @@ MemberStatusDraft=Проект (должно быть подтверждено) MemberStatusDraftShort=Проект MemberStatusActive=Удостоверенная (ожидания по подписке) MemberStatusActiveShort=Утверждена -MemberStatusActiveLate=Subscription expired +MemberStatusActiveLate=Срок действия подписки истек MemberStatusActiveLateShort=Истек MemberStatusPaid=Подписка до даты MemberStatusPaidShort=До даты -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded -MemberStatusResiliated=Terminated member -MemberStatusResiliatedShort=Terminated +MemberStatusExcluded=Исключенный член +MemberStatusExcludedShort=Исключенный +MemberStatusResiliated=Прекращенный член +MemberStatusResiliatedShort=Прекращено MembersStatusToValid=Проект участники -MembersStatusExcluded=Excluded members -MembersStatusResiliated=Terminated members -MemberStatusNoSubscription=Validated (no subscription needed) +MembersStatusExcluded=Исключенные участники +MembersStatusResiliated=Прекращенные члены +MemberStatusNoSubscription=Подтверждено (подписка не требуется) MemberStatusNoSubscriptionShort=Утверждена -SubscriptionNotNeeded=No subscription needed +SubscriptionNotNeeded=Подписка не требуется NewCotisation=Новый вклад PaymentSubscription=Новый вклад оплаты SubscriptionEndDate=Подписка на конец даты MembersTypeSetup=Члены тип установки -MemberTypeModified=Member type modified -DeleteAMemberType=Delete a member type -ConfirmDeleteMemberType=Are you sure you want to delete this member type? -MemberTypeDeleted=Member type deleted -MemberTypeCanNotBeDeleted=Member type can not be deleted +MemberTypeModified=Тип участника изменен +DeleteAMemberType=Удалить тип участника +ConfirmDeleteMemberType=Вы уверены, что хотите удалить этот тип участника? +MemberTypeDeleted=Тип участника удален +MemberTypeCanNotBeDeleted=Тип участника не может быть удален NewSubscription=Новая подписка NewSubscriptionDesc=Эта форма позволяет вам записывать вашу подписку в качестве нового члена Фонда. Если вы хотите продлить подписку (если уже зарегистрированы), пожалуйста, свяжитесь совета Фонда, а не по электронной почте, %s. Subscription=Подписка @@ -75,77 +75,77 @@ Subscriptions=Подписки SubscriptionLate=Поздно SubscriptionNotReceived=Подписка никогда не получал ListOfSubscriptions=Список подписчиков -SendCardByMail=Send card by email +SendCardByMail=Отправить карту по электронной почте AddMember=Создать участника NoTypeDefinedGoToSetup=Ни один из членов определенных типов. Переход к установке - членов типов NewMemberType=Новый тип участника -WelcomeEMail=Welcome email +WelcomeEMail=Приветственное письмо SubscriptionRequired=Подписка требуется DeleteType=Удалить VoteAllowed=Голосовать разрешается -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? -ResiliateMember=Terminate a member -ConfirmResiliateMember=Are you sure you want to terminate this member? +Physical=Физическое лицо +Moral=Корпорация +MorAndPhy=Корпорация и частное лицо +Reenable=Повторно включить +ExcludeMember=Исключить участника +ConfirmExcludeMember=Вы уверены, что хотите исключить этого участника? +ResiliateMember=Прекратить член +ConfirmResiliateMember=Вы уверены, что хотите удалить этого участника? DeleteMember=Удаление члена -ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? +ConfirmDeleteMember=Вы действительно хотите удалить этого участника (удаление участника приведет к удалению всех его подписок)? DeleteSubscription=Удалить подписку -ConfirmDeleteSubscription=Are you sure you want to delete this subscription? +ConfirmDeleteSubscription=Вы уверены, что хотите удалить эту подписку? Filehtpasswd=htpasswd файл ValidateMember=Проверка членов -ConfirmValidateMember=Are you sure you want to validate this member? -FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. +ConfirmValidateMember=Вы уверены, что хотите подтвердить этого участника? +FollowingLinksArePublic=Следующие ссылки являются открытыми страницами, не защищенными никакими разрешениями Dolibarr. Это не отформатированные страницы, которые приведены в качестве примера, чтобы показать, как составить список членов базы данных. PublicMemberList=Общественная член списка -BlankSubscriptionForm=Public self-subscription form -BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. -EnablePublicSubscriptionForm=Enable the public website with self-subscription form -ForceMemberType=Force the member type +BlankSubscriptionForm=Публичная форма самостоятельной подписки +BlankSubscriptionFormDesc=Dolibarr может предоставить вам общедоступный URL-адрес / веб-сайт, чтобы внешние посетители могли попросить подписаться на фонд. Если включен модуль онлайн-платежей, форма оплаты также может быть предоставлена автоматически. +EnablePublicSubscriptionForm=Включите общедоступный веб-сайт с помощью формы самостоятельной подписки +ForceMemberType=Заставить тип элемента ExportDataset_member_1=Члены и подписки ImportDataset_member_1=Участники -LastMembersModified=Latest %s modified members -LastSubscriptionsModified=Latest %s modified subscriptions +LastMembersModified=Последние измененные члены %s +LastSubscriptionsModified=Последние измененные подписки %s String=Строка Text=Текст Int=Межд DateAndTime=Дата и время PublicMemberCard=Член общественного карту -SubscriptionNotRecorded=Subscription not recorded +SubscriptionNotRecorded=Подписка не записана AddSubscription=Создать подписку ShowSubscription=Показать подписки # Label of email templates -SendingAnEMailToMember=Sending information email to member -SendingEmailOnAutoSubscription=Sending email on auto registration -SendingEmailOnMemberValidation=Sending email on new member validation -SendingEmailOnNewSubscription=Sending email on new subscription -SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions -SendingEmailOnCancelation=Sending email on cancelation -SendingReminderActionComm=Sending reminder for agenda event +SendingAnEMailToMember=Отправка информационного письма участнику +SendingEmailOnAutoSubscription=Отправка электронной почты при автоматической регистрации +SendingEmailOnMemberValidation=Отправка электронного письма о подтверждении нового участника +SendingEmailOnNewSubscription=Отправка электронной почты по новой подписке +SendingReminderForExpiredSubscription=Отправка напоминания об истекших подписках +SendingEmailOnCancelation=Отправка электронного письма при отмене +SendingReminderActionComm=Отправка напоминания о повестке дня # Topic of email templates -YourMembershipRequestWasReceived=Your membership was received. -YourMembershipWasValidated=Your membership was validated -YourSubscriptionWasRecorded=Your new subscription was recorded -SubscriptionReminderEmail=Subscription reminder -YourMembershipWasCanceled=Your membership was canceled +YourMembershipRequestWasReceived=Ваше членство было получено. +YourMembershipWasValidated=Ваше членство было подтверждено +YourSubscriptionWasRecorded=Ваша новая подписка была записана +SubscriptionReminderEmail=Напоминание о подписке +YourMembershipWasCanceled=Ваше членство было отменено CardContent=Содержание Вашей карточки участника # Text of email templates -ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.

    -ThisIsContentOfYourMembershipWasValidated=We want to let you know that your membership was validated with the following information:

    -ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.

    -ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.

    -ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

    -DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest -DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription -DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation -DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording -DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire -DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion -DescADHERENT_MAIL_FROM=Sender Email for automatic emails +ThisIsContentOfYourMembershipRequestWasReceived=Мы хотим сообщить вам, что ваш запрос на членство был получен.

    +ThisIsContentOfYourMembershipWasValidated=Мы хотим сообщить вам, что ваше членство было подтверждено следующей информацией:

    +ThisIsContentOfYourSubscriptionWasRecorded=Мы хотим сообщить вам, что ваша новая подписка была зарегистрирована.

    +ThisIsContentOfSubscriptionReminderEmail=Мы хотим сообщить вам, что ваша подписка истекает или уже истекла (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Надеемся, вы его обновите.

    +ThisIsContentOfYourCard=Это краткое изложение имеющейся у нас информации о вас. Пожалуйста, свяжитесь с нами, если что-то не так.

    +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Тема электронного письма с уведомлением, полученного в случае автоматического добавления гостя +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Содержание электронного письма с уведомлением, полученного в случае автоматического добавления гостя +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Шаблон электронной почты для отправки электронной почты участнику по автоподписке участника +DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Шаблон электронной почты для отправки электронной почты участнику при проверке участника +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Шаблон электронной почты для отправки электронной почты участнику при записи новой подписки +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Шаблон электронной почты для отправки напоминания по электронной почте, когда истекает срок подписки +DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Шаблон электронной почты для отправки электронной почты участнику при аннулировании членства +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Шаблон электронной почты для отправки электронной почты участнику при исключении участника +DescADHERENT_MAIL_FROM=Электронная почта отправителя для автоматических писем DescADHERENT_ETIQUETTE_TYPE=Этикетки формате DescADHERENT_ETIQUETTE_TEXT=Текст, который будет напечетан на адресном листе пользователя DescADHERENT_CARD_TYPE=Формат карт страницы @@ -159,8 +159,8 @@ NoThirdPartyAssociatedToMember=Никакая третья сторона, св MembersAndSubscriptions= Участники и Подписки MoreActions=Дополнительные меры по записи MoreActionsOnSubscription=Дополнительные действия, предложенные по умолчанию, которые будут производтся при новой подписке -MoreActionBankDirect=Create a direct entry on bank account -MoreActionBankViaInvoice=Create an invoice, and a payment on bank account +MoreActionBankDirect=Создайте прямую запись на банковский счет +MoreActionBankViaInvoice=Создайте счет-фактуру и оплату на банковский счет MoreActionInvoiceOnly=Создание счета без каких-либо оплаты LinkToGeneratedPages=Создание визитки LinkToGeneratedPagesDesc=Этот экран позволяет вам создавать PDF файлы с визитных карточек для всех членов вашей или иной член. @@ -168,48 +168,50 @@ DocForAllMembersCards=Создание визитной карточки для DocForOneMemberCards=Создание визитной карточки для конкретного члена (формат для вывода на самом деле установки: %s) DocForLabels=Создание листов адрес (формат для вывода на самом деле установки: %s) SubscriptionPayment=Абонентская плата -LastSubscriptionDate=Date of latest subscription payment -LastSubscriptionAmount=Amount of latest subscription -LastMemberType=Last Member type +LastSubscriptionDate=Дата последней оплаты подписки +LastSubscriptionAmount=Сумма последней подписки +LastMemberType=Тип последнего члена MembersStatisticsByCountries=Члены статистику по странам MembersStatisticsByState=Члены статистики штата / провинции MembersStatisticsByTown=Члены статистики города MembersStatisticsByRegion=Статистика участников по регионам -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Общее количество участников +NbOfActiveMembers=Общее количество текущих активных участников NoValidatedMemberYet=Нет проверки члены найдены -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=На этом экране отображается статистика участников по странам. Графики и диаграммы зависят от доступности службы онлайн-графиков Google, а также от наличия рабочего подключения к Интернету. +MembersByStateDesc=На этом экране отображается статистика членов по штатам / провинциям / кантонам. +MembersByTownDesc=На этом экране отображается статистика участников по городам. +MembersByNature=Этот экран показывает статистику участников по природе. +MembersByRegion=На этом экране отображается статистика участников по регионам. MembersStatisticsDesc=Выберите статистику вы хотите прочитать ... MenuMembersStats=Статистика -LastMemberDate=Latest membership date -LatestSubscriptionDate=Latest subscription date -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +LastMemberDate=Дата последнего членства +LatestSubscriptionDate=Последняя дата подписки +MemberNature=Природа члена +MembersNature=Природа участников +Public=Информация является общедоступной NewMemberbyWeb=Новый участник добавил. В ожидании утверждения NewMemberForm=Новая форма члена -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Статистика подписок NbOfSubscriptions=Количество подписок -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Сумма, полученная от подписок TurnoverOrBudget=Оборот (за компанию) или бюджета (за основу) DefaultAmount=По умолчанию количество подписки CanEditAmount=Посетитель может выбрать / изменить размер его подписке MEMBER_NEWFORM_PAYONLINE=Перейти по комплексному интернет страницу оплаты -ByProperties=By nature -MembersStatisticsByProperties=Members statistics by nature +ByProperties=По природе +MembersStatisticsByProperties=Статистика участников по характеру VATToUseForSubscriptions=Значение НДС, для ипользования в подписках -NoVatOnSubscription=No VAT for subscriptions +NoVatOnSubscription=Без НДС для подписок ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Товар, который будет использован, чтобы включить подписку в счёт: %s -NameOrCompany=Name or company -SubscriptionRecorded=Subscription recorded -NoEmailSentToMember=No email sent to member -EmailSentToMember=Email sent to member at %s -SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription -SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') -MembershipPaid=Membership paid for current period (until %s) -YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email -XMembersClosed=%s member(s) closed +NameOrCompany=Имя или Название компании +SubscriptionRecorded=Подписка записана +NoEmailSentToMember=Электронное письмо не отправлено участнику +EmailSentToMember=Электронное письмо отправлено участнику на %s +SendReminderForExpiredSubscriptionTitle=Отправить напоминание по электронной почте для истекшей подписки +SendReminderForExpiredSubscription=Отправлять напоминание участникам по электронной почте, когда истекает срок подписки (параметр - количество дней до окончания подписки для отправки напоминания. Это может быть список дней, разделенных точкой с запятой, например '10; 5; 0; -5 ') +MembershipPaid=Членство оплачивается за текущий период (до %s) +YouMayFindYourInvoiceInThisEmail=К этому письму может быть прикреплен счет. +XMembersClosed=член (ы) %s закрыт +XExternalUserCreated=Созданы внешние пользователи %s +ForceMemberNature=Характер участника силы (физическое лицо или корпорация) diff --git a/htdocs/langs/ru_RU/modulebuilder.lang b/htdocs/langs/ru_RU/modulebuilder.lang index b8dc90822dc..b7270bede83 100644 --- a/htdocs/langs/ru_RU/modulebuilder.lang +++ b/htdocs/langs/ru_RU/modulebuilder.lang @@ -1,145 +1,146 @@ # Dolibarr language file - Source file is en_US - loan -ModuleBuilderDesc=This tool must be used only by experienced users or developers. It provides utilities to build or edit your own module. Documentation for alternative manual development is here. -EnterNameOfModuleDesc=Enter name of the module/application to create with no spaces. Use uppercase to separate words (For example: MyModule, EcommerceForShop, SyncWithMySystem...) -EnterNameOfObjectDesc=Enter name of the object to create with no spaces. Use uppercase to separate words (For example: MyObject, Student, Teacher...). The CRUD class file, but also API file, pages to list/add/edit/delete object and SQL files will be generated. -ModuleBuilderDesc2=Path where modules are generated/edited (first directory for external modules defined into %s): %s -ModuleBuilderDesc3=Generated/editable modules found: %s -ModuleBuilderDesc4=A module is detected as 'editable' when the file %s exists in root of module directory +ModuleBuilderDesc=Этот инструмент должен использоваться только опытными пользователями или разработчиками. Он предоставляет утилиты для создания или редактирования вашего собственного модуля. Документация по ручной разработке альтернативы находится здесь . +EnterNameOfModuleDesc=Введите имя модуля / приложения, которое нужно создать, без пробелов. Используйте прописные буквы для разделения слов (например: MyModule, EcommerceForShop, SyncWithMySystem ...) +EnterNameOfObjectDesc=Введите имя создаваемого объекта без пробелов. Используйте прописные буквы для разделения слов (например: MyObject, Student, Teacher ...). Будет сгенерирован файл класса CRUD, а также файл API, страницы для списка / добавления / редактирования / удаления объекта и файлы SQL. +ModuleBuilderDesc2=Путь, по которому модули создаются / редактируются (первый каталог для внешних модулей, определенных в %s): %s +ModuleBuilderDesc3=Найдены сгенерированные / редактируемые модули: %s +ModuleBuilderDesc4=Модуль определяется как "редактируемый", если файл %s существует в корне каталога модуля. NewModule=Новый модуль -NewObjectInModulebuilder=New object -ModuleKey=Module key -ObjectKey=Object key -ModuleInitialized=Module initialized -FilesForObjectInitialized=Files for new object '%s' initialized -FilesForObjectUpdated=Files for object '%s' updated (.sql files and .class.php file) -ModuleBuilderDescdescription=Enter here all general information that describe your module. -ModuleBuilderDescspecifications=You can enter here a detailed description of the specifications of your module that is not already structured into other tabs. So you have within easy reach all the rules to develop. Also this text content will be included into the generated documentation (see last tab). You can use Markdown format, but it is recommended to use Asciidoc format (comparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). -ModuleBuilderDescobjects=Define here the objects you want to manage with your module. A CRUD DAO class, SQL files, page to list record of objects, to create/edit/view a record and an API will be generated. -ModuleBuilderDescmenus=This tab is dedicated to define menu entries provided by your module. -ModuleBuilderDescpermissions=This tab is dedicated to define the new permissions you want to provide with your module. -ModuleBuilderDesctriggers=This is the view of triggers provided by your module. To include code executed when a triggered business event is launched, just edit this file. -ModuleBuilderDeschooks=This tab is dedicated to hooks. -ModuleBuilderDescwidgets=This tab is dedicated to manage/build widgets. -ModuleBuilderDescbuildpackage=You can generate here a "ready to distribute" package file (a normalized .zip file) of your module and a "ready to distribute" documentation file. Just click on button to build the package or documentation file. -EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted! -EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted! -DangerZone=Danger zone -BuildPackage=Build package -BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like DoliStore.com. -BuildDocumentation=Build documentation -ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here -ModuleIsLive=This module has been activated. Any change may break a current live feature. -DescriptionLong=Long description -EditorName=Name of editor -EditorUrl=URL of editor -DescriptorFile=Descriptor file of module -ClassFile=File for PHP DAO CRUD class -ApiClassFile=File for PHP API class -PageForList=PHP page for list of record -PageForCreateEditView=PHP page to create/edit/view a record -PageForAgendaTab=PHP page for event tab -PageForDocumentTab=PHP page for document tab -PageForNoteTab=PHP page for note tab -PageForContactTab=PHP page for contact tab -PathToModulePackage=Path to zip of module/application package -PathToModuleDocumentation=Path to file of module/application documentation (%s) -SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed. -FileNotYetGenerated=File not yet generated -RegenerateClassAndSql=Force update of .class and .sql files -RegenerateMissingFiles=Generate missing files -SpecificationFile=File of documentation -LanguageFile=File for language -ObjectProperties=Object Properties -ConfirmDeleteProperty=Are you sure you want to delete the property %s? This will change code in PHP class but also remove column from table definition of object. -NotNull=Not NULL -NotNullDesc=1=Set database to NOT NULL. -1=Allow null values and force value to NULL if empty ('' or 0). -SearchAll=Used for 'search all' -DatabaseIndex=Database index -FileAlreadyExists=File %s already exists -TriggersFile=File for triggers code -HooksFile=File for hooks code -ArrayOfKeyValues=Array of key-val -ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values -WidgetFile=Widget file -CSSFile=CSS file -JSFile=Javascript file -ReadmeFile=Readme file -ChangeLog=ChangeLog file -TestClassFile=File for PHP Unit Test class -SqlFile=Sql file -PageForLib=File for the common PHP library -PageForObjLib=File for the PHP library dedicated to object -SqlFileExtraFields=Sql file for complementary attributes -SqlFileKey=Sql file for keys -SqlFileKeyExtraFields=Sql file for keys of complementary attributes -AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case -UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) -IsAMeasure=Is a measure -DirScanned=Directory scanned -NoTrigger=No trigger -NoWidget=No widget -GoToApiExplorer=API explorer -ListOfMenusEntries=List of menu entries -ListOfDictionariesEntries=List of dictionaries entries -ListOfPermissionsDefined=List of defined permissions -SeeExamples=See examples here -EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).

    Using a negative value means field is not shown by default on list but can be selected for viewing).

    It can be an expression, for example:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty -DisplayOnPdf=Display on PDF -IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) -SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) -SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. -LanguageDefDesc=Enter in this files, all the key and the translation for each language file. -MenusDefDesc=Define here the menus provided by your module -DictionariesDefDesc=Define here the dictionaries provided by your module -PermissionsDefDesc=Define here the new permissions provided by your module -MenusDefDescTooltip=The menus provided by your module/application are defined into the array $this->menus into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), menus are also visible into the menu editor available to administrator users on %s. -DictionariesDefDescTooltip=The dictionaries provided by your module/application are defined into the array $this->dictionaries into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), dictionaries are also visible into the setup area to administrator users on %s. -PermissionsDefDescTooltip=The permissions provided by your module/application are defined into the array $this->rights into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), permissions are visible into the default permissions setup %s. -HooksDefDesc=Define in the module_parts['hooks'] property, in the module descriptor, the context of hooks you want to manage (list of contexts can be found by a search on 'initHooks(' in core code).
    Edit the hook file to add code of your hooked functions (hookable functions can be found by a search on 'executeHooks' in core code). -TriggerDefDesc=Define in the trigger file the code you want to execute for each business event executed. -SeeIDsInUse=See IDs in use in your installation -SeeReservedIDsRangeHere=See range of reserved IDs -ToolkitForDevelopers=Toolkit for Dolibarr developers -TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the native module builder wizard.
    Enable the module %s and use the wizard by clicking the on the top right menu.
    Warning: This is an advanced developer feature, do not experiment on your production site! -SeeTopRightMenu=See on the top right menu -AddLanguageFile=Add language file -YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages") -DropTableIfEmpty=(Destroy table if empty) -TableDoesNotExists=The table %s does not exists -TableDropped=Table %s deleted -InitStructureFromExistingTable=Build the structure array string of an existing table -UseAboutPage=Disable the about page -UseDocFolder=Disable the documentation folder -UseSpecificReadme=Use a specific ReadMe -ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder. -RealPathOfModule=Real path of module -ContentCantBeEmpty=Content of file can't be empty -WidgetDesc=You can generate and edit here the widgets that will be embedded with your module. -CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module. -JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module. -CLIDesc=You can generate here some command line scripts you want to provide with your module. -CLIFile=CLI File -NoCLIFile=No CLI files -UseSpecificEditorName = Use a specific editor name -UseSpecificEditorURL = Use a specific editor URL -UseSpecificFamily = Use a specific family -UseSpecificAuthor = Use a specific author -UseSpecificVersion = Use a specific initial version -IncludeRefGeneration=The reference of object must be generated automatically -IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference -IncludeDocGeneration=I want to generate some documents from the object -IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. -ShowOnCombobox=Show value into combobox -KeyForTooltip=Key for tooltip -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list -NotEditable=Not editable -ForeignKey=Foreign key -TypeOfFieldsHelp=Type of fields:
    varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) -AsciiToHtmlConverter=Ascii to HTML converter -AsciiToPdfConverter=Ascii to PDF converter -TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. -ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +NewObjectInModulebuilder=Новый объект +ModuleKey=Ключ модуля +ObjectKey=Ключ объекта +ModuleInitialized=Модуль инициализирован +FilesForObjectInitialized=Инициализированы файлы для нового объекта '%s' +FilesForObjectUpdated=Обновлены файлы для объекта '%s' (файлы .sql и файл .class.php) +ModuleBuilderDescdescription=Введите здесь всю общую информацию, описывающую ваш модуль. +ModuleBuilderDescspecifications=Вы можете ввести здесь подробное описание спецификаций вашего модуля, которое еще не разбито на другие вкладки. Таким образом, у вас есть доступ ко всем правилам для разработки. Также этот текстовый контент будет включен в сгенерированную документацию (см. Последнюю вкладку). Вы можете использовать формат Markdown, но рекомендуется использовать формат Asciidoc (сравнение между .md и .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). +ModuleBuilderDescobjects=Определите здесь объекты, которыми вы хотите управлять с помощью вашего модуля. Будет сгенерирован класс CRUD DAO, файлы SQL, страница для перечисления записей объектов, для создания / редактирования / просмотра записи и API. +ModuleBuilderDescmenus=Эта вкладка предназначена для определения пунктов меню, предоставляемых вашим модулем. +ModuleBuilderDescpermissions=Эта вкладка предназначена для определения новых разрешений, которые вы хотите предоставить вашему модулю. +ModuleBuilderDesctriggers=Это вид триггеров, предоставляемых вашим модулем. Чтобы включить код, выполняемый при запуске инициированного бизнес-события, просто отредактируйте этот файл. +ModuleBuilderDeschooks=Эта вкладка посвящена хукам. +ModuleBuilderDescwidgets=Эта вкладка предназначена для управления / создания виджетов. +ModuleBuilderDescbuildpackage=Здесь вы можете сгенерировать пакетный файл «готовый к распространению» (нормализованный файл .zip) вашего модуля и файл документации «готовый к распространению». Просто нажмите кнопку, чтобы создать файл пакета или документации. +EnterNameOfModuleToDeleteDesc=Вы можете удалить свой модуль. ВНИМАНИЕ: Все файлы кодирования модуля (сгенерированные или созданные вручную), а также структурированные данные и документация будут удалены! +EnterNameOfObjectToDeleteDesc=Вы можете удалить объект. ВНИМАНИЕ: Все файлы кодирования (сгенерированные или созданные вручную), относящиеся к объекту, будут удалены! +DangerZone=Зона опасности +BuildPackage=Сборка пакета +BuildPackageDesc=Вы можете сгенерировать zip-пакет своего приложения, чтобы его можно было распространять на любом Dolibarr. Вы также можете распространять или продавать его на торговой площадке, например, DoliStore.com . +BuildDocumentation=Документация по сборке +ModuleIsNotActive=Этот модуль еще не активирован. Перейдите на %s, чтобы запустить его, или нажмите здесь +ModuleIsLive=Этот модуль был активирован. Любое изменение может привести к поломке текущей функции. +DescriptionLong=Длинное описание +EditorName=Имя редактора +EditorUrl=URL редактора +DescriptorFile=Файл дескриптора модуля +ClassFile=Файл для класса PHP DAO CRUD +ApiClassFile=Файл для класса PHP API +PageForList=Страница PHP для списка записей +PageForCreateEditView=Страница PHP для создания / редактирования / просмотра записи +PageForAgendaTab=Страница PHP для вкладки событий +PageForDocumentTab=Страница PHP для вкладки документа +PageForNoteTab=Страница PHP для вкладки заметок +PageForContactTab=Страница PHP для вкладки контактов +PathToModulePackage=Путь к zip-архиву модуля / пакета приложения +PathToModuleDocumentation=Путь к файлу документации модуля / приложения (%s) +SpaceOrSpecialCharAreNotAllowed=Пробелы и специальные символы не допускаются. +FileNotYetGenerated=Файл еще не создан +RegenerateClassAndSql=Принудительное обновление файлов .class и .sql +RegenerateMissingFiles=Создать недостающие файлы +SpecificationFile=Файл документации +LanguageFile=Файл для языка +ObjectProperties=Свойства объекта +ConfirmDeleteProperty=Вы действительно хотите удалить свойство %s ? Это изменит код в классе PHP, но также удалит столбец из определения объекта в таблице. +NotNull=Ненулевой +NotNullDesc=1 = Установить для базы данных значение НЕ NULL. -1 = разрешить нулевые значения и принудительно установить значение NULL, если пусто ('' или 0). +SearchAll=Используется для поиска по всем +DatabaseIndex=Индекс базы данных +FileAlreadyExists=Файл %s уже существует +TriggersFile=Файл с кодом триггеров +HooksFile=Файл для кода хуков +ArrayOfKeyValues=Массив key-val +ArrayOfKeyValuesDesc=Массив ключей и значений, если поле представляет собой комбинированный список с фиксированными значениями +WidgetFile=Файл виджета +CSSFile=CSS файл +JSFile=Файл Javascript +ReadmeFile=Файл Readme +ChangeLog=Файл журнала изменений +TestClassFile=Файл для класса PHP Unit Test +SqlFile=Sql файл +PageForLib=Файл для общей библиотеки PHP +PageForObjLib=Файл для библиотеки PHP, посвященной объекту +SqlFileExtraFields=Файл sql для дополнительных атрибутов +SqlFileKey=Sql-файл для ключей +SqlFileKeyExtraFields=Sql-файл для ключей дополнительных атрибутов +AnObjectAlreadyExistWithThisNameAndDiffCase=Объект с таким именем и другим регистром уже существует. +UseAsciiDocFormat=Вы можете использовать формат Markdown, но рекомендуется использовать формат Asciidoc (сравнение между .md и .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) +IsAMeasure=Это мера +DirScanned=Каталог просканирован +NoTrigger=Нет триггера +NoWidget=Нет виджета +GoToApiExplorer=Обозреватель API +ListOfMenusEntries=Список пунктов меню +ListOfDictionariesEntries=Список словарных статей +ListOfPermissionsDefined=Список определенных разрешений +SeeExamples=См. Примеры здесь +EnabledDesc=Условие для того, чтобы это поле было активным (Примеры: 1 или $ conf-> global-> MYMODULE_MYOPTION) +VisibleDesc=Поле видно? (Примеры: 0 = никогда не отображается, 1 = виден в списке и формах создания / обновления / просмотра, 2 = виден только в списке, 3 = виден только в форме создания / обновления / просмотра (не в списке), 4 = виден в списке и только форма обновления / просмотра (не создание), 5 = Видна только в форме просмотра конца списка (не создание, не обновление).

    Использование отрицательного значения означает, что поле не отображается по умолчанию в списке, но может быть выбрано для просмотра).

    Это может быть выражение, например:
    preg_match ('/ public /', $ _SERVER ['PHP_SELF'])? 0: 1
    ($ holiday user-> define rights-> +DisplayOnPdfDesc=Отобразите это поле в совместимых PDF-документах, вы можете управлять положением с помощью поля «Position».
    В настоящее время известны совместимые модели PDF: эратостен (заказ), эспадон (доставка), губка (счета), голубой (пропал / предложение), кукуруза (заказ поставщика). = дисплей
    2 = отображать только если не пустой

    Для строк документа:
    0 = не отображается
    1 = отображается в столбце
    3 = дисплея в описании линии колонки после описания
    4 = дисплея в описании столбца после того, описание только если не пусто +DisplayOnPdf=Показать в PDF +IsAMeasureDesc=Можно ли суммировать значение поля, чтобы получить итог в списке? (Примеры: 1 или 0) +SearchAllDesc=Используется ли это поле для поиска из инструмента быстрого поиска? (Примеры: 1 или 0) +SpecDefDesc=Введите сюда всю документацию, которую вы хотите предоставить с вашим модулем, которая еще не определена на других вкладках. Вы можете использовать .md или лучше, богатый синтаксис .asciidoc. +LanguageDefDesc=Введите в эти файлы все ключи и перевод для каждого языкового файла. +MenusDefDesc=Определите здесь меню, предоставляемые вашим модулем +DictionariesDefDesc=Определите здесь словари, предоставленные вашим модулем +PermissionsDefDesc=Определите здесь новые разрешения, предоставляемые вашим модулем +MenusDefDescTooltip=Меню, предоставляемые вашим модулем / приложением, определены в массиве $ this-> menus в файле дескриптора модуля. Вы можете редактировать этот файл вручную или использовать встроенный редактор.

    Примечание. После определения (и повторной активации модуля) меню также отображаются в редакторе меню, доступном для пользователей-администраторов на %s. +DictionariesDefDescTooltip=Словари, предоставляемые вашим модулем / приложением, определены в массиве $ this-> dictionaries в файле дескриптора модуля. Вы можете редактировать этот файл вручную или использовать встроенный редактор.

    Примечание. После определения (и повторной активации модуля) словари также отображаются в области настройки для пользователей-администраторов на %s. +PermissionsDefDescTooltip=Разрешения, предоставляемые вашим модулем / приложением, определены в массиве $ this-> rights в файле дескриптора модуля. Вы можете редактировать этот файл вручную или использовать встроенный редактор.

    Примечание. После определения (и повторной активации модуля) разрешения отображаются в настройках разрешений по умолчанию %s. +HooksDefDesc=Определите в свойстве module_parts ['hooks'] в дескрипторе модуля контекст хуков, которыми вы хотите управлять (список контекстов можно найти, выполнив поиск в ' initHooks' файл перехвата для добавления кода ваших перехваченных функций (подключаемые функции можно найти, выполнив поиск по ' executeHooks ' в основном коде). +TriggerDefDesc=Определите в файле триггера код, который вы хотите выполнять для каждого выполняемого бизнес-события. +SeeIDsInUse=См. Идентификаторы, используемые в вашей установке +SeeReservedIDsRangeHere=См. Диапазон зарезервированных идентификаторов +ToolkitForDevelopers=Инструментарий для разработчиков Dolibarr +TryToUseTheModuleBuilder=Если у вас есть знания SQL и PHP, вы можете использовать мастер создания собственных модулей.
    Включите модуль %s и используйте мастер, щелкнув в правом верхнем меню.
    Предупреждение: это расширенная функция для разработчиков, проводите , а не , экспериментируйте на своем рабочем сайте! +SeeTopRightMenu=См. в правом верхнем меню. +AddLanguageFile=Добавить языковой файл +YouCanUseTranslationKey=Вы можете использовать здесь ключ, который является ключом перевода, найденным в языковом файле (см. Вкладку «Языки»). +DropTableIfEmpty=(Уничтожить таблицу, если она пуста) +TableDoesNotExists=Таблица %s не существует +TableDropped=Таблица %s удалена +InitStructureFromExistingTable=Построить строку массива структуры существующей таблицы +UseAboutPage=Отключить страницу с информацией +UseDocFolder=Отключить папку документации +UseSpecificReadme=Используйте специальный файл ReadMe +ContentOfREADMECustomized=Примечание. Содержимое файла README.md было заменено конкретным значением, определенным в настройке ModuleBuilder. +RealPathOfModule=Реальный путь модуля +ContentCantBeEmpty=Содержимое файла не может быть пустым +WidgetDesc=Здесь вы можете создавать и редактировать виджеты, которые будут встроены в ваш модуль. +CSSDesc=Вы можете создать и отредактировать здесь файл с персонализированным CSS, встроенным в ваш модуль. +JSDesc=Вы можете создать и отредактировать здесь файл с персонализированным Javascript, встроенным в ваш модуль. +CLIDesc=Вы можете сгенерировать здесь несколько сценариев командной строки, которые хотите предоставить вместе со своим модулем. +CLIFile=Файл CLI +NoCLIFile=Нет файлов CLI +UseSpecificEditorName = Используйте конкретное имя редактора +UseSpecificEditorURL = Используйте конкретный URL-адрес редактора +UseSpecificFamily = Используйте конкретную семью +UseSpecificAuthor = Использовать конкретного автора +UseSpecificVersion = Используйте конкретную начальную версию +IncludeRefGeneration=Ссылка на объект должна генерироваться автоматически +IncludeRefGenerationHelp=Установите этот флажок, если хотите включить код для автоматического управления генерацией ссылки. +IncludeDocGeneration=Я хочу сгенерировать некоторые документы из объекта +IncludeDocGenerationHelp=Если вы установите этот флажок, будет сгенерирован некоторый код для добавления поля «Создать документ» в запись. +ShowOnCombobox=Показать значение в поле со списком +KeyForTooltip=Ключ для подсказки +CSSClass=CSS для редактирования / создания формы +CSSViewClass=CSS для формы чтения +CSSListClass=CSS для списка +NotEditable=Не редактируется +ForeignKey=Иностранный ключ +TypeOfFieldsHelp=Тип полей:
    varchar (99), double (24,8), real, text, html, datetime, timestamp, integer, integer: ClassName: relativepath / to / classfile.class.php [: 1 [: filter]] («1» означает, что мы добавляем кнопку + после комбо для создания записи, «фильтр» может быть, например, «status = 1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)») +AsciiToHtmlConverter=Конвертер ascii в HTML +AsciiToPdfConverter=Конвертер ascii в PDF +TableNotEmptyDropCanceled=Таблица не пустая. Дроп отменен. +ModuleBuilderNotAllowed=Конструктор модулей доступен, но не разрешен для вашего пользователя. +ImportExportProfiles=Импорт и экспорт профилей diff --git a/htdocs/langs/ru_RU/mrp.lang b/htdocs/langs/ru_RU/mrp.lang index 5a772a7147d..8853b3d4708 100644 --- a/htdocs/langs/ru_RU/mrp.lang +++ b/htdocs/langs/ru_RU/mrp.lang @@ -1,104 +1,103 @@ -Mrp=Manufacturing Orders -MOs=Manufacturing orders -ManufacturingOrder=Manufacturing Order -MRPDescription=Module to manage production and Manufacturing Orders (MO). -MRPArea=MRP Area -MrpSetupPage=Setup of module MRP -MenuBOM=Bills of material -LatestBOMModified=Latest %s Bills of materials modified -LatestMOModified=Latest %s Manufacturing Orders modified -Bom=Bills of Material -BillOfMaterials=Перечень элементов -BOMsSetup=Setup of module BOM -ListOfBOMs=List of bills of material - BOM -ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. -BOMsNumberingModules=BOM numbering templates -BOMsModelModule=BOM document templates -MOsNumberingModules=MO numbering templates -MOsModelModule=MO document templates -FreeLegalTextOnBOMs=Free text on document of BOM -WatermarkOnDraftBOMs=Watermark on draft BOM -FreeLegalTextOnMOs=Free text on document of MO -WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Уверены, что хотите клонировать перечень элементов %s ? -ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? -ManufacturingEfficiency=Manufacturing efficiency -ConsumptionEfficiency=Consumption efficiency -ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production -ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product +Mrp=Заказы на производство +MOs=Заказы на изготовление +ManufacturingOrder=Заказ на изготовление +MRPDescription=Модуль для управления производством и производственными заказами (МО). +MRPArea=Площадь MRP +MrpSetupPage=Настройка модуля MRP +MenuBOM=Спецификации материалов +LatestBOMModified=Последние %s Изменены спецификации материалов +LatestMOModified=Последние измененные производственные заказы %s +Bom=Спецификации материалов +BillOfMaterials=Ведомость материалов +BOMsSetup=Настройка спецификации модуля +ListOfBOMs=Список ведомостей материалов - BOM +ListOfManufacturingOrders=Список производственных заказов +NewBOM=Новая ведомость материалов +ProductBOMHelp=Продукт для создания (или разборки) с этой спецификацией.
    Примечание. Продукты со свойством «Природа продукта» = «Сырье» не отображаются в этом списке. +BOMsNumberingModules=Шаблоны нумерации спецификаций +BOMsModelModule=Шаблоны документов спецификаций +MOsNumberingModules=Шаблоны нумерации МО +MOsModelModule=Шаблоны документов МО +FreeLegalTextOnBOMs=Произвольный текст в документе спецификации +WatermarkOnDraftBOMs=Водяной знак на черновике спецификации +FreeLegalTextOnMOs=Произвольный текст на документе МО +WatermarkOnDraftMOs=Водяной знак на черновике МО +ConfirmCloneBillOfMaterials=Вы уверены, что хотите клонировать спецификацию %s? +ConfirmCloneMo=Вы действительно хотите клонировать производственный заказ %s? +ManufacturingEfficiency=Эффективность производства +ConsumptionEfficiency=Эффективность потребления +ValueOfMeansLoss=Значение 0,95 означает в среднем 5%% потерь во время производства. +ValueOfMeansLossForProductProduced=Значение 0,95 означает в среднем 5%% потерь произведенного продукта. DeleteBillOfMaterials=Удалить перечень элементов -DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Уверены, что хотите удалить перечень элементов ? -ConfirmDeleteMo=Уверены, что хотите удалить перечень элементов ? -MenuMRP=Manufacturing Orders -NewMO=New Manufacturing Order -QtyToProduce=Qty to produce -DateStartPlannedMo=Date start planned -DateEndPlannedMo=Date end planned -KeepEmptyForAsap=Empty means 'As Soon As Possible' -EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM -ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) -ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? -ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) -StatusMOProduced=Produced -QtyFrozen=Frozen Qty -QuantityFrozen=Frozen Quantity -QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. -DisableStockChange=Stock change disabled -DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed -BomAndBomLines=Bills Of Material and lines -BOMLine=Line of BOM -WarehouseForProduction=Warehouse for production -CreateMO=Create MO -ToConsume=To consume -ToProduce=To produce -QtyAlreadyConsumed=Qty already consumed -QtyAlreadyProduced=Qty already produced -QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) -ConsumeOrProduce=Consume or Produce -ConsumeAndProduceAll=Consume and Produce All -Manufactured=Manufactured -TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. -ForAQuantityOf=For a quantity to produce of %s -ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? -ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. -ProductionForRef=Production of %s -AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached -NoStockChangeOnServices=No stock change on services -ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO -AddNewConsumeLines=Add new line to consume -ProductsToConsume=Products to consume -ProductsToProduce=Products to produce -UnitCost=Unit cost -TotalCost=Total cost -BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price) -GoOnTabProductionToProduceFirst=You must first have started the production to close a Manufacturing Order (See tab '%s'). But you can Cancel it. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +DeleteMo=Удалить производственный заказ +ConfirmDeleteBillOfMaterials=Вы уверены, что хотите удалить этот список материалов? +ConfirmDeleteMo=Вы уверены, что хотите удалить этот список материалов? +MenuMRP=Заказы на производство +NewMO=Новый производственный заказ +QtyToProduce=Кол-во для производства +DateStartPlannedMo=Дата начала запланирована +DateEndPlannedMo=Дата окончания запланирована +KeepEmptyForAsap=Пусто означает «как можно скорее» +EstimatedDuration=Предполагаемый Срок +EstimatedDurationDesc=Предполагаемая продолжительность изготовления (или разборки) этого продукта с использованием данной спецификации +ConfirmValidateBom=Вы уверены, что хотите проверить спецификацию со ссылкой %s (вы сможете использовать ее для создания новых производственных заказов) +ConfirmCloseBom=Вы уверены, что хотите отменить эту спецификацию (вы больше не сможете использовать ее для создания новых производственных заказов)? +ConfirmReopenBom=Вы уверены, что хотите повторно открыть эту спецификацию (вы сможете использовать ее для создания новых производственных заказов) +StatusMOProduced=Произведено +QtyFrozen=Замороженное кол-во +QuantityFrozen=Замороженное количество +QuantityConsumedInvariable=Когда этот флаг установлен, потребляемое количество всегда является определенным значением и не относится к произведенному количеству. +DisableStockChange=Смена запаса отключена +DisableStockChangeHelp=Когда этот флаг установлен, нет никаких изменений в запасах этого продукта, независимо от количества потребленного. +BomAndBomLines=Спецификации материалов и линий +BOMLine=Строка спецификации +WarehouseForProduction=Склад для производства +CreateMO=Создать МО +ToConsume=Потреблять +ToProduce=Производить +QtyAlreadyConsumed=Кол-во уже израсходовано +QtyAlreadyProduced=Кол-во уже произведено +QtyRequiredIfNoLoss=Количество, необходимое при отсутствии потерь (Производственная эффективность 100%%) +ConsumeOrProduce=Потребляйте или производите +ConsumeAndProduceAll=Потребляйте и производите все +Manufactured=Изготовлено +TheProductXIsAlreadyTheProductToProduce=Добавляемый продукт уже является продуктом, который нужно произвести. +ForAQuantityOf=За количество произведенных %s +ForAQuantityToConsumeOf=За количество разобрать %s +ConfirmValidateMo=Вы уверены, что хотите подтвердить этот производственный заказ? +ConfirmProductionDesc=Нажав на «%s», вы подтвердите потребление и / или производство для установленных количеств. Это также обновит запасы и запишет движение запасов. +ProductionForRef=Производство %s +AutoCloseMO=Закрывайте производственный заказ автоматически, если достигнуты объемы потребления и производства. +NoStockChangeOnServices=Нет изменений в наличии на сервисах +ProductQtyToConsumeByMO=Количество продукта, которое еще предстоит потребить открытым МО +ProductQtyToProduceByMO=Количество продукции, которое еще предстоит произвести открытым МО +AddNewConsumeLines=Добавить новую строку для потребления +ProductsToConsume=Продукты для потребления +ProductsToProduce=Продукты для производства +UnitCost=Себестоимость единицы продукции +TotalCost=Общая стоимость +BOMTotalCost=Стоимость производства этой спецификации на основе стоимости каждого количества и потребляемого продукта (используйте Себестоимость, если она определена, в противном случае - Средневзвешенную цену, если она определена, в противном случае - Лучшую закупочную цену). +GoOnTabProductionToProduceFirst=Вы должны сначала запустить производство, чтобы закрыть производственный заказ (см. Вкладку «%s»). Но вы можете отменить это. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Комплект не может быть использован в спецификации или MO +Workstation=Рабочая станция +Workstations=Рабочие станции +WorkstationsDescription=Управление рабочими станциями +WorkstationSetup = Настройка рабочих станций +WorkstationSetupPage = Страница настройки рабочих станций +WorkstationList=Список рабочих станций +WorkstationCreate=Добавить новую рабочую станцию +ConfirmEnableWorkstation=Вы действительно хотите включить рабочую станцию %s ? +EnableAWorkstation=Включить рабочую станцию +ConfirmDisableWorkstation=Вы действительно хотите отключить рабочую станцию %s ? +DisableAWorkstation=Отключить рабочую станцию +DeleteWorkstation=Удалить +NbOperatorsRequired=Требуемое количество операторов +THMOperatorEstimated=Предполагаемый оператор THM +THMMachineEstimated=Ориентировочная машина THM +WorkstationType=Тип рабочего места +Human=Человек +Machine=Машина +HumanMachine=Человек / Машина +WorkstationArea=Площадь рабочего места +Machines=Машины +THMEstimatedHelp=Эта ставка позволяет определить прогнозную стоимость товара. diff --git a/htdocs/langs/ru_RU/multicurrency.lang b/htdocs/langs/ru_RU/multicurrency.lang index f44c1793569..fdb17b2c4f5 100644 --- a/htdocs/langs/ru_RU/multicurrency.lang +++ b/htdocs/langs/ru_RU/multicurrency.lang @@ -1,20 +1,38 @@ # Dolibarr language file - Source file is en_US - multicurrency -MultiCurrency=Multi currency -ErrorAddRateFail=Error in added rate -ErrorAddCurrencyFail=Error in added currency -ErrorDeleteCurrencyFail=Error delete fail -multicurrency_syncronize_error=Synchronisation error: %s -MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Use date of document to find currency rate, instead of using latest known rate -multicurrency_useOriginTx=When an object is created from another, keep the original rate of source object (otherwise use the latest known rate) +MultiCurrency=Мульти валюта +ErrorAddRateFail=Ошибка в добавленной ставке +ErrorAddCurrencyFail=Ошибка в добавленной валюте +ErrorDeleteCurrencyFail=Ошибка удалить не удалось +multicurrency_syncronize_error=Ошибка синхронизации: %s +MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Используйте дату документа, чтобы найти курс валюты, вместо того, чтобы использовать последний известный курс +multicurrency_useOriginTx=Когда объект создается из другого, сохраните исходную скорость из исходного объекта (в противном случае используйте последнюю известную скорость) CurrencyLayerAccount=CurrencyLayer API -CurrencyLayerAccount_help_to_synchronize=Вы должны создать аккаунт на их сайте для того, чтобы использовать этот функционал
    ПолучитеAPI-ключ
    Если вы используете бесплатный аккаунт, вы не можете изменитьисточник валюты(USD по умолчанию)
    Но если ваша основная валюта не USD, то вы можете использовать альтернативный источник валютыдля того, чтобы принудительно использовать основную валюту

    Вы сможете производить не более 1000 синхронизаций в месяц -multicurrency_appId=API key -multicurrency_appCurrencySource=Currency source -multicurrency_alternateCurrencySource=Alternate currency source -CurrenciesUsed=Currencies used -CurrenciesUsed_help_to_add=Add the differents currencies and rates you need to use on you proposals, orders, etc. -rate=rate -MulticurrencyReceived=Received, original currency -MulticurrencyRemainderToTake=Remaining amout, original currency +CurrencyLayerAccount_help_to_synchronize=Вы должны создать учетную запись на веб-сайте %s, чтобы использовать эту функцию.
    Получите ключ API .
    Если вы используете бесплатную учетную запись, вы не можете изменить исходную валюту (по умолчанию - доллары США).
    Если ваша основная валюта - не доллары США, приложение автоматически пересчитает ее.

    Вы ограничены до 1000 синхронизаций в месяц. +multicurrency_appId=Ключ API +multicurrency_appCurrencySource=Исходная валюта +multicurrency_alternateCurrencySource=Альтернативная исходная валюта +CurrenciesUsed=Используемая валюта +CurrenciesUsed_help_to_add=Добавьте различные валюты и курсы, которые необходимо использовать для ваших предложений , , заказов, и т. Д. +rate=показатель +MulticurrencyReceived=Получено, исходная валюта +MulticurrencyRemainderToTake=Оставшаяся сумма в исходной валюте MulticurrencyPaymentAmount=Сумма платежа, в оригинальной валюте -AmountToOthercurrency=Amount To (in currency of receiving account) +AmountToOthercurrency=Сумма до (в валюте счета-получателя) +CurrencyRateSyncSucceed=Синхронизация курса валют выполнена успешно +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Используйте валюту документа для онлайн-платежей +TabTitleMulticurrencyRate=Список оценок +ListCurrencyRate=Список курсов обмена на валюту +CreateRate=Создать ставку +FormCreateRate=Создание рейтинга +FormUpdateRate=Модификация оценки +successRateCreate=Курс валюты %s добавлен в базу +ConfirmDeleteLineRate=Вы действительно хотите удалить курс %s для валюты %s на дату %s? +DeleteLineRate=Очистить ставку +successRateDelete=Оценка удалена +errorRateDelete=Ошибка при удалении ставки +successUpdateRate=Модификация сделана +ErrorUpdateRate=Ошибка при изменении скорости +Codemulticurrency=код валюты +UpdateRate=изменить курс +CancelUpdate=отменить +NoEmptyRate=Поле ставки не должно быть пустым. diff --git a/htdocs/langs/ru_RU/oauth.lang b/htdocs/langs/ru_RU/oauth.lang index 075ff49a895..55c150f6373 100644 --- a/htdocs/langs/ru_RU/oauth.lang +++ b/htdocs/langs/ru_RU/oauth.lang @@ -1,32 +1,32 @@ # Dolibarr language file - Source file is en_US - oauth -ConfigOAuth=OAuth Configuration -OAuthServices=OAuth Services -ManualTokenGeneration=Manual token generation -TokenManager=Token Manager -IsTokenGenerated=Is token generated ? -NoAccessToken=No access token saved into local database -HasAccessToken=A token was generated and saved into local database -NewTokenStored=Token received and saved -ToCheckDeleteTokenOnProvider=Click here to check/delete authorization saved by %s OAuth provider -TokenDeleted=Token deleted -RequestAccess=Click here to request/renew access and receive a new token to save -DeleteAccess=Click here to delete token -UseTheFollowingUrlAsRedirectURI=Use the following URL as the Redirect URI when creating your credentials with your OAuth provider: -ListOfSupportedOauthProviders=Enter the credentials provided by your OAuth2 provider. Only supported OAuth2 providers are listedd here. These services may be used by other modules that need OAuth2 authentication. -OAuthSetupForLogin=Page to generate an OAuth token -SeePreviousTab=See previous tab -OAuthIDSecret=OAuth ID and Secret -TOKEN_REFRESH=Token Refresh Present -TOKEN_EXPIRED=Token expired -TOKEN_EXPIRE_AT=Token expire at -TOKEN_DELETE=Delete saved token -OAUTH_GOOGLE_NAME=OAuth Google service +ConfigOAuth=Конфигурация OAuth +OAuthServices=Службы OAuth +ManualTokenGeneration=Ручная генерация токенов +TokenManager=Токен-менеджер +IsTokenGenerated=Токен сгенерирован? +NoAccessToken=Токен доступа не сохранен в локальной базе данных +HasAccessToken=Токен был сгенерирован и сохранен в локальной базе данных +NewTokenStored=Токен получен и сохранен +ToCheckDeleteTokenOnProvider=Щелкните здесь, чтобы проверить / удалить авторизацию, сохраненную поставщиком OAuth %s +TokenDeleted=Токен удален +RequestAccess=Нажмите здесь, чтобы запросить / продлить доступ и получить новый токен для сохранения +DeleteAccess=Нажмите здесь, чтобы удалить токен +UseTheFollowingUrlAsRedirectURI=Используйте следующий URL-адрес в качестве URI перенаправления при создании учетных данных с помощью поставщика OAuth: +ListOfSupportedOauthProviders=Введите учетные данные, предоставленные вашим поставщиком OAuth2. Здесь перечислены только поддерживаемые провайдеры OAuth2. Эти службы могут использоваться другими модулями, которым требуется аутентификация OAuth2. +OAuthSetupForLogin=Страница для создания токена OAuth +SeePreviousTab=См. Предыдущую вкладку +OAuthIDSecret=Идентификатор и секрет OAuth +TOKEN_REFRESH=Присутствует обновление токена +TOKEN_EXPIRED=Срок действия токена истек +TOKEN_EXPIRE_AT=Срок действия токена истекает в +TOKEN_DELETE=Удалить сохраненный токен +OAUTH_GOOGLE_NAME=OAuth сервис Google OAUTH_GOOGLE_ID=OAuth Google Id OAUTH_GOOGLE_SECRET=OAuth Google Secret -OAUTH_GOOGLE_DESC=Go to this page then "Credentials" to create OAuth credentials -OAUTH_GITHUB_NAME=OAuth GitHub service -OAUTH_GITHUB_ID=OAuth GitHub Id +OAUTH_GOOGLE_DESC=Перейдите на на эту страницу затем "Учетные данные" для создания учетных данных OAuth. +OAUTH_GITHUB_NAME=Сервис OAuth GitHub +OAUTH_GITHUB_ID=Идентификатор OAuth GitHub OAUTH_GITHUB_SECRET=OAuth GitHub Secret -OAUTH_GITHUB_DESC=Go to this page then "Register a new application" to create OAuth credentials -OAUTH_STRIPE_TEST_NAME=OAuth Stripe Test +OAUTH_GITHUB_DESC=Перейдите на на эту страницу , затем «Зарегистрируйте новое приложение», чтобы создать учетные данные OAuth. +OAUTH_STRIPE_TEST_NAME=Тест OAuth Stripe OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live diff --git a/htdocs/langs/ru_RU/opensurvey.lang b/htdocs/langs/ru_RU/opensurvey.lang index 3b8562d501b..ceea3e5b316 100644 --- a/htdocs/langs/ru_RU/opensurvey.lang +++ b/htdocs/langs/ru_RU/opensurvey.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - opensurvey Survey=Опрос Surveys=Опросы -OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select the type of poll... +OrganizeYourMeetingEasily=Легко организовывайте встречи и опросы. Сначала выберите тип опроса ... NewSurvey=Новый опрос OpenSurveyArea=Раздел опросов AddACommentForPoll=Вы можете добавить комментарий в опрос @@ -11,7 +11,7 @@ PollTitle=Название опроса ToReceiveEMailForEachVote=Получать email при каждом голосе TypeDate=Тип даты TypeClassic=Стандартный тип -OpenSurveyStep2=Select your dates among the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it +OpenSurveyStep2=Выберите даты среди свободных дней (серый цвет). Выбранные дни отмечены зеленым цветом. Вы можете отменить выбор ранее выбранного дня, щелкнув по нему еще раз. RemoveAllDays=Удалить все дни CopyHoursOfFirstDay=Копировать часы первого дня RemoveAllHours=Удалить все часы @@ -35,7 +35,7 @@ TitleChoice=Надпись на выпадающем списке ExportSpreadsheet=Экспортировать таблицу результатов ExpireDate=Ограничить дату NbOfSurveys=Количество опросов -NbOfVoters=No. of voters +NbOfVoters=Кол-во избирателей SurveyResults=Результаты PollAdminDesc=Вы можете изменить все пункты с помощью кнопки "Править". Вы можете также удалить столбец или строку с %s. Вы также можете добавить столбец с %s. 5MoreChoices=Еще 5 выборов @@ -49,7 +49,7 @@ votes=голос (ов) NoCommentYet=Для данного опроса еще не было комментариев CanComment=Голосующие могут комментировать опрос CanSeeOthersVote=Голосующие могут видеть как проголосовали другие -SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format:
    - empty,
    - "8h", "8H" or "8:00" to give a meeting's start hour,
    - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
    - "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. +SelectDayDesc=Для каждого выбранного дня вы можете выбрать или нет часы встречи в следующем формате:
    - пусто,
    - «8h», «8H» или «8:00», чтобы указать час начала встречи,
    - «8- 11 »,« 8h-11h »,« 8H-11H »или« 8: 00-11: 00 », чтобы указать время начала и окончания собрания,
    -« 8h15-11h15 »,« 8H15-11H15 »или« 8: 15-11: 15 "то же самое, но с минутами. BackToCurrentMonth=Вернуться к текущему месяцу ErrorOpenSurveyFillFirstSection=Вы не заполнили первую секцию формы создания опроса ErrorOpenSurveyOneChoice=Введите как минимум один вариант для выбора @@ -57,5 +57,5 @@ ErrorInsertingComment=При добавлении вашего коммента MoreChoices=Введите больше вариантов выбора для голосующих SurveyExpiredInfo=Опрос закрыт или период голосования истёк. EmailSomeoneVoted=%s заполнил строку. \nВы можете найти Ваш опрос по следующей ссылке: \n%s -ShowSurvey=Show survey -UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment +ShowSurvey=Показать опрос +UserMustBeSameThanUserUsedToVote=Вы должны проголосовать и использовать то же имя пользователя, которое использовалось при голосовании, для публикации комментария. diff --git a/htdocs/langs/ru_RU/orders.lang b/htdocs/langs/ru_RU/orders.lang index 6910f244aa4..b153efb65aa 100644 --- a/htdocs/langs/ru_RU/orders.lang +++ b/htdocs/langs/ru_RU/orders.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - orders OrdersArea=Раздел заказов клиентов -SuppliersOrdersArea=Purchase orders area +SuppliersOrdersArea=Область заказов на закупку OrderCard=Карточка заказа OrderId=Идентификатор заказа Order=Заказ @@ -11,25 +11,26 @@ OrderDate=Дата заказа OrderDateShort=Дата заказа OrderToProcess=Для обработки NewOrder=  Новый заказ -NewOrderSupplier=New Purchase Order +NewSupplierOrderShort=  Новый заказ +NewOrderSupplier=Новый заказ на покупку ToOrder=Сделать заказ MakeOrder=Сделать заказ -SupplierOrder=Purchase order +SupplierOrder=Заказ на покупку SuppliersOrders=Заказы -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines -SuppliersOrdersRunning=Current purchase orders -CustomerOrder=Sales Order +SaleOrderLines=Строки заказов на продажу +PurchaseOrderLines=Строки заказа на закупку +SuppliersOrdersRunning=Текущие заказы на закупку +CustomerOrder=Заказ клиента CustomersOrders=Заказы на продажу -CustomersOrdersRunning=Current sales orders -CustomersOrdersAndOrdersLines=Sales orders and order details -OrdersDeliveredToBill=Sales orders delivered to bill -OrdersToBill=Sales orders delivered -OrdersInProcess=Sales orders in process -OrdersToProcess=Sales orders to process -SuppliersOrdersToProcess=Purchase orders to process -SuppliersOrdersAwaitingReception=Purchase orders awaiting reception -AwaitingReception=Awaiting reception +CustomersOrdersRunning=Текущие заказы на продажу +CustomersOrdersAndOrdersLines=Заказы на продажу и детали заказа +OrdersDeliveredToBill=Заказы на продажу доставлены в счет +OrdersToBill=Заказы на продажу доставлены +OrdersInProcess=Заказы на продажу в обработке +OrdersToProcess=Заказы на продажу для обработки +SuppliersOrdersToProcess=Заказы на покупку для обработки +SuppliersOrdersAwaitingReception=Заказы на покупку ожидают приема +AwaitingReception=В ожидании приема StatusOrderCanceledShort=Отменен StatusOrderDraftShort=Черновик StatusOrderValidatedShort=Подтвержденные @@ -44,7 +45,7 @@ StatusOrderApprovedShort=Утверждено StatusOrderRefusedShort=Отказался StatusOrderToProcessShort=Для обработки StatusOrderReceivedPartiallyShort=Частично получил -StatusOrderReceivedAllShort=Products received +StatusOrderReceivedAllShort=Полученные продукты StatusOrderCanceled=Отменен StatusOrderDraft=Проект (должно быть подтверждено) StatusOrderValidated=Подтвержденные @@ -55,7 +56,7 @@ StatusOrderToBill=В законопроекте StatusOrderApproved=Утверждено StatusOrderRefused=Отказался StatusOrderReceivedPartially=Частично получил -StatusOrderReceivedAll=All products received +StatusOrderReceivedAll=Все полученные товары ShippingExist=Отгрузки существует QtyOrdered=Количество заказанных ProductQtyInDraft=Количество товаров в проектах заказов @@ -65,48 +66,49 @@ MenuOrdersToBill2=Оплачиваемые заказы ShipProduct=Судно продукта CreateOrder=Создать заказ RefuseOrder=Отписаться порядка -ApproveOrder=Approve order +ApproveOrder=Утвердить заказ Approve2Order=Утвердить заказ (второй уровень) ValidateOrder=Проверка порядка UnvalidateOrder=Unvalidate порядке DeleteOrder=Удалить тему CancelOrder=Отмена порядка -OrderReopened= Order %s re-open +OrderReopened= Заказать повторное открытие %s AddOrder=Создать заказ -AddPurchaseOrder=Create purchase order +AddSupplierOrderShort=Создать заказ +AddPurchaseOrder=Создать заказ на поставку AddToDraftOrders=Добавить проект заказа ShowOrder=Показать порядок -OrdersOpened=Orders to process +OrdersOpened=Заказы на обработку NoDraftOrders=Нет проектов заказов -NoOrder=No order -NoSupplierOrder=No purchase order -LastOrders=Latest %s sales orders -LastCustomerOrders=Latest %s sales orders -LastSupplierOrders=Latest %s purchase orders -LastModifiedOrders=Latest %s modified orders +NoOrder=Нет заказа +NoSupplierOrder=Нет заказа на покупку +LastOrders=Последние заказы на продажу %s +LastCustomerOrders=Последние заказы на продажу %s +LastSupplierOrders=Последние заказы на покупку %s +LastModifiedOrders=Последние измененные заказы %s AllOrders=Все заказы NbOfOrders=Количество заказов OrdersStatistics=Приказы Статистика -OrdersStatisticsSuppliers=Purchase order statistics +OrdersStatisticsSuppliers=Статистика заказов на закупку NumberOfOrdersByMonth=Количество заказов в месяц -AmountOfOrdersByMonthHT=Amount of orders by month (excl. tax) +AmountOfOrdersByMonthHT=Сумма заказов по месяцам (без налога) ListOfOrders=Список заказов CloseOrder=Закрыть тему -ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. -ConfirmDeleteOrder=Are you sure you want to delete this order? -ConfirmValidateOrder=Are you sure you want to validate this order under name %s? -ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status? -ConfirmCancelOrder=Are you sure you want to cancel this order? -ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s? +ConfirmCloseOrder=Вы уверены, что хотите, чтобы этот заказ был доставлен? Как только заказ будет доставлен, его можно выставить на выставление счета. +ConfirmDeleteOrder=Вы уверены, что хотите удалить этот заказ? +ConfirmValidateOrder=Вы уверены, что хотите подтвердить этот заказ под именем %s ? +ConfirmUnvalidateOrder=Вы действительно хотите восстановить порядок %s до статуса черновика? +ConfirmCancelOrder=Вы уверены, что хотите отменить этот заказ? +ConfirmMakeOrder=Вы действительно хотите подтвердить, что сделали этот заказ на %s ? GenerateBill=Создать счет-фактуру ClassifyShipped=Отметить доставленным DraftOrders=Проект распоряжения -DraftSuppliersOrders=Draft purchase orders +DraftSuppliersOrders=Проекты заказов на закупку OnProcessOrders=В процессе заказов RefOrder=Ref. заказ -RefCustomerOrder=Ref. order for customer -RefOrderSupplier=Ref. order for vendor -RefOrderSupplierShort=Ref. order vendor +RefCustomerOrder=Ref. заказ для клиента +RefOrderSupplier=Ref. заказ для продавца +RefOrderSupplierShort=Ref. поставщик заказа SendOrderByMail=Отправить заказ по почте ActionsOnOrder=Меры по заказу NoArticleOfTypeProduct=Нет статьи типа "продукт", поэтому не shippable статью для этого заказа @@ -114,25 +116,25 @@ OrderMode=Заказать метод AuthorRequest=Просьба автора UserWithApproveOrderGrant=Useres предоставляется с "утвердить приказы" разрешения. PaymentOrderRef=Оплата заказа %s -ConfirmCloneOrder=Are you sure you want to clone this order %s? -DispatchSupplierOrder=Receiving purchase order %s +ConfirmCloneOrder=Вы уверены, что хотите клонировать этот заказ %s ? +DispatchSupplierOrder=Получение заказа на поставку %s FirstApprovalAlreadyDone=Первое утверждение уже сделано -SecondApprovalAlreadyDone=Second approval already done -SupplierOrderReceivedInDolibarr=Purchase Order %s received %s -SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted -SupplierOrderClassifiedBilled=Purchase Order %s set billed +SecondApprovalAlreadyDone=Второе утверждение уже выполнено +SupplierOrderReceivedInDolibarr=Заказ на покупку %s получен %s +SupplierOrderSubmitedInDolibarr=Заказ на поставку %s отправлен +SupplierOrderClassifiedBilled=Счет за комплект заказа на закупку %s выставлен OtherOrders=Другие заказы ##### Types de contacts ##### -TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order +TypeContact_commande_internal_SALESREPFOLL=Представительский последующий заказ на продажу TypeContact_commande_internal_SHIPPING=Представитель следующие меры судоходства TypeContact_commande_external_BILLING=свяжитесь со счета TypeContact_commande_external_SHIPPING=обратитесь в службу доставки TypeContact_commande_external_CUSTOMER=Абонентский отдел следующие меры для -TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up purchase order +TypeContact_order_supplier_internal_SALESREPFOLL=Представительский последующий заказ на закупку TypeContact_order_supplier_internal_SHIPPING=Представитель следующие меры судоходства -TypeContact_order_supplier_external_BILLING=Vendor invoice contact -TypeContact_order_supplier_external_SHIPPING=Vendor shipping contact -TypeContact_order_supplier_external_CUSTOMER=Vendor contact following-up order +TypeContact_order_supplier_external_BILLING=Контактная информация поставщика по счету-фактуре +TypeContact_order_supplier_external_SHIPPING=Контактная информация поставщика для доставки +TypeContact_order_supplier_external_CUSTOMER=Контакт с поставщиком для последующего заказа Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Постоянная COMMANDE_SUPPLIER_ADDON не определена Error_COMMANDE_ADDON_NotDefined=Постоянная COMMANDE_ADDON не определена Error_OrderNotChecked=Не выбраны заказы для выставления счёта @@ -143,10 +145,10 @@ OrderByEMail=Адрес электронной почты OrderByWWW=Интернет OrderByPhone=Телефон # Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) -PDFEratostheneDescription=A complete order model +PDFEinsteinDescription=Полная модель заказа (старая реализация шаблона Eratosthene) +PDFEratostheneDescription=Полная модель заказа PDFEdisonDescription=Простая модель для -PDFProformaDescription=A complete Proforma invoice template +PDFProformaDescription=Полный шаблон счета-проформы CreateInvoiceForThisCustomer=Оплатить заказы CreateInvoiceForThisSupplier=Оплатить заказы NoOrdersToInvoice=Нет заказов для оплаты @@ -157,11 +159,11 @@ OrderCreated=Ваши заказы созданы OrderFail=Возникла ошибка при создании заказов CreateOrders=Создать заказы ToBillSeveralOrderSelectCustomer=Для создания счёта на несколько заказов, сначала нажмите на клиента, затем выберете "%s". -OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. -IfValidateInvoiceIsNoOrderStayUnbilled=If invoice validation is 'No', the order will remain to status 'Unbilled' until the invoice is validated. -CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. -SetShippingMode=Set shipping mode -WithReceptionFinished=With reception finished +OptionToSetOrderBilledNotEnabled=Параметр из модуля Рабочий процесс, чтобы автоматически установить для заказа значение «Счета», когда счет-фактура подтвержден, не включен, поэтому вам придется вручную установить статус заказов «Счет-фактура» после того, как счет-фактура будет сгенерирован. +IfValidateInvoiceIsNoOrderStayUnbilled=Если проверка счета - «Нет», заказ будет иметь статус «Не выставлен счет» до тех пор, пока счет не будет подтвержден. +CloseReceivedSupplierOrdersAutomatically=Закрывайте заказ до статуса «%s» автоматически, если все товары получены. +SetShippingMode=Установить режим доставки +WithReceptionFinished=Прием закончился #### supplier orders status StatusSupplierOrderCanceledShort=Отменена StatusSupplierOrderDraftShort=Проект @@ -177,7 +179,7 @@ StatusSupplierOrderApprovedShort=Утверждено StatusSupplierOrderRefusedShort=Отклонено StatusSupplierOrderToProcessShort=Для обработки StatusSupplierOrderReceivedPartiallyShort=Частично получил -StatusSupplierOrderReceivedAllShort=Products received +StatusSupplierOrderReceivedAllShort=Полученные продукты StatusSupplierOrderCanceled=Отменена StatusSupplierOrderDraft=Проект (должно быть подтверждено) StatusSupplierOrderValidated=Утверждена @@ -188,4 +190,4 @@ StatusSupplierOrderToBill=В законопроекте StatusSupplierOrderApproved=Утверждено StatusSupplierOrderRefused=Отклонено StatusSupplierOrderReceivedPartially=Частично получил -StatusSupplierOrderReceivedAll=All products received +StatusSupplierOrderReceivedAll=Все полученные товары diff --git a/htdocs/langs/ru_RU/other.lang b/htdocs/langs/ru_RU/other.lang index 948470dcd3b..5b3ecb04733 100644 --- a/htdocs/langs/ru_RU/other.lang +++ b/htdocs/langs/ru_RU/other.lang @@ -1,135 +1,136 @@ # Dolibarr language file - Source file is en_US - other SecurityCode=Защитный код -NumberingShort=N° +NumberingShort=№ Tools=Инструменты TMenuTools=Инструменты -ToolsDesc=All tools not included in other menu entries are grouped here.
    All the tools can be accessed via the left menu. +ToolsDesc=Здесь сгруппированы все инструменты, не включенные в другие пункты меню.
    Все инструменты доступны через левое меню. Birthday=День рождения BirthdayAlertOn=рождения активного оповещения BirthdayAlertOff=рождения оповещения неактивные -TransKey=Translation of the key TransKey -MonthOfInvoice=Month (number 1-12) of invoice date -TextMonthOfInvoice=Month (text) of invoice date -PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date -TextPreviousMonthOfInvoice=Previous month (text) of invoice date -NextMonthOfInvoice=Following month (number 1-12) of invoice date -TextNextMonthOfInvoice=Following month (text) of invoice date -PreviousMonth=Previous month -CurrentMonth=Current month -ZipFileGeneratedInto=Zip file generated into %s. -DocFileGeneratedInto=Doc file generated into %s. -JumpToLogin=Disconnected. Go to login page... -MessageForm=Message on online payment form -MessageOK=Message on the return page for a validated payment -MessageKO=Message on the return page for a canceled payment -ContentOfDirectoryIsNotEmpty=Content of this directory is not empty. -DeleteAlsoContentRecursively=Check to delete all content recursively -PoweredBy=Powered by -YearOfInvoice=Year of invoice date -PreviousYearOfInvoice=Previous year of invoice date -NextYearOfInvoice=Following year of invoice date -DateNextInvoiceBeforeGen=Date of next invoice (before generation) -DateNextInvoiceAfterGen=Date of next invoice (after generation) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. -OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. -AtLeastOneMeasureIsRequired=At least 1 field for measure is required -AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required -LatestBlogPosts=Latest Blog Posts -Notify_ORDER_VALIDATE=Sales order validated -Notify_ORDER_SENTBYMAIL=Sales order sent by mail -Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email -Notify_ORDER_SUPPLIER_VALIDATE=Purchase order recorded -Notify_ORDER_SUPPLIER_APPROVE=Purchase order approved -Notify_ORDER_SUPPLIER_REFUSE=Purchase order refused +TransKey=Перевод ключа TransKey +MonthOfInvoice=Месяц (число 1-12) даты выставления счета +TextMonthOfInvoice=Месяц (текст) даты выставления счета +PreviousMonthOfInvoice=Предыдущий месяц (число 1-12) даты выставления счета +TextPreviousMonthOfInvoice=Предыдущий месяц (текст) даты выставления счета +NextMonthOfInvoice=Следующий месяц (число 1-12) даты выставления счета +TextNextMonthOfInvoice=Следующий месяц (текст) даты выставления счета +PreviousMonth=Прошлый месяц +CurrentMonth=Текущий месяц +ZipFileGeneratedInto=Zip-файл, созданный в %s . +DocFileGeneratedInto=Doc-файл, созданный в формате %s . +JumpToLogin=Отключено. Перейти на страницу входа ... +MessageForm=Сообщение в форме онлайн-оплаты +MessageOK=Сообщение на странице возврата для подтвержденного платежа +MessageKO=Сообщение на странице возврата об отмене платежа +ContentOfDirectoryIsNotEmpty=Содержимое этого каталога не пусто. +DeleteAlsoContentRecursively=Установите флажок для рекурсивного удаления всего содержимого +PoweredBy=Питаться от +YearOfInvoice=Год даты выставления счета +PreviousYearOfInvoice=Предыдущий год даты выставления счета +NextYearOfInvoice=Следующий год на дату выставления счета +DateNextInvoiceBeforeGen=Дата следующего счета (до генерации) +DateNextInvoiceAfterGen=Дата следующего счета (после генерации) +GraphInBarsAreLimitedToNMeasures=Графика ограничена измерениями %s в режиме «Полосы». Вместо этого автоматически был выбран режим «Линии». +OnlyOneFieldForXAxisIsPossible=Только 1 поле в настоящее время возможно как ось X. Было выбрано только первое выбранное поле. +AtLeastOneMeasureIsRequired=Требуется хотя бы одно поле для измерения +AtLeastOneXAxisIsRequired=Требуется хотя бы 1 поле для оси X +LatestBlogPosts=Последние сообщения в блоге +Notify_ORDER_VALIDATE=Заказ на продажу подтвержден +Notify_ORDER_SENTBYMAIL=Заказ на продажу отправлен по почте +Notify_ORDER_SUPPLIER_SENTBYMAIL=Заказ на покупку отправлен по электронной почте +Notify_ORDER_SUPPLIER_VALIDATE=Заказ на покупку зарегистрирован +Notify_ORDER_SUPPLIER_APPROVE=Заказ на покупку утвержден +Notify_ORDER_SUPPLIER_REFUSE=Заказ на покупку отклонен Notify_PROPAL_VALIDATE=Kunden forslaget validert -Notify_PROPAL_CLOSE_SIGNED=Customer proposal closed signed -Notify_PROPAL_CLOSE_REFUSED=Customer proposal closed refused +Notify_PROPAL_CLOSE_SIGNED=Предложение клиента закрыто подписано +Notify_PROPAL_CLOSE_REFUSED=Предложение клиента закрыто, отказано Notify_PROPAL_SENTBYMAIL=Коммерческое предложение по почте Notify_WITHDRAW_TRANSMIT=Передача вывода Notify_WITHDRAW_CREDIT=Кредитный выход Notify_WITHDRAW_EMIT=Isue вывода Notify_COMPANY_CREATE=Третья партия, созданная -Notify_COMPANY_SENTBYMAIL=Mails sent from third party card +Notify_COMPANY_SENTBYMAIL=Письма, отправленные со сторонней карты Notify_BILL_VALIDATE=Проверка векселя Notify_BILL_UNVALIDATE=Счёт клиента не подтверждён Notify_BILL_PAYED=Счет клиента оплачен Notify_BILL_CANCEL=Счёт клиента отменён Notify_BILL_SENTBYMAIL=Клиенту счет-фактура высылается по почте -Notify_BILL_SUPPLIER_VALIDATE=Vendor invoice validated -Notify_BILL_SUPPLIER_PAYED=Vendor invoice paid -Notify_BILL_SUPPLIER_SENTBYMAIL=Vendor invoice sent by mail -Notify_BILL_SUPPLIER_CANCELED=Vendor invoice cancelled +Notify_BILL_SUPPLIER_VALIDATE=Счет поставщика подтвержден +Notify_BILL_SUPPLIER_PAYED=Счет поставщика оплачен +Notify_BILL_SUPPLIER_SENTBYMAIL=Счет поставщика отправлен по почте +Notify_BILL_SUPPLIER_CANCELED=Счет поставщика отменен Notify_CONTRACT_VALIDATE=Договор проверку Notify_FICHINTER_VALIDATE=Посредничество проверено. -Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention -Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail +Notify_FICHINTER_ADD_CONTACT=Добавлен контакт в Intervention +Notify_FICHINTER_SENTBYMAIL=Сообщение отправлено по почте Notify_SHIPPING_VALIDATE=Доставка проверку Notify_SHIPPING_SENTBYMAIL=Доставка по почте Notify_MEMBER_VALIDATE=Член проверки Notify_MEMBER_MODIFY=Участник изменён Notify_MEMBER_SUBSCRIPTION=Член подписки -Notify_MEMBER_RESILIATE=Member terminated +Notify_MEMBER_RESILIATE=Участник исключен Notify_MEMBER_DELETE=Член удален Notify_PROJECT_CREATE=Создание проекта Notify_TASK_CREATE=Задача создана Notify_TASK_MODIFY=Задача изменена Notify_TASK_DELETE=Задача удалена -Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) -Notify_EXPENSE_REPORT_APPROVE=Expense report approved -Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) -Notify_HOLIDAY_APPROVE=Leave request approved -Notify_ACTION_CREATE=Added action to Agenda +Notify_EXPENSE_REPORT_VALIDATE=Отчет о расходах утвержден (требуется одобрение) +Notify_EXPENSE_REPORT_APPROVE=Отчет о расходах утвержден +Notify_HOLIDAY_VALIDATE=Оставьте запрос подтвержденным (требуется одобрение) +Notify_HOLIDAY_APPROVE=Оставить заявку одобрено +Notify_ACTION_CREATE=Добавлено действие в повестку дня SeeModuleSetup=Посмотреть настройку модуля %s NbOfAttachedFiles=Количество прикрепленных файлов / документов TotalSizeOfAttachedFiles=Общий размер присоединенных файлов / документы MaxSize=Максимальный размер AttachANewFile=Присоединить новый файл / документ LinkedObject=Связанные объект -NbOfActiveNotifications=Number of notifications (no. of recipient emails) -PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\n\n__USER_SIGNATURE__ -PredefinedMailTestHtml=__(Hello)__
    This is a test mail sent to __EMAIL__ (the word test must be in bold).
    The lines are separated by a carriage return.

    __USER_SIGNATURE__ -PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached \n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__(Hello)__\n\nWe would like to remind you that the invoice __REF__ seems to have not been paid. A copy of the invoice is attached as a reminder.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendProposal=__(Hello)__\n\nPlease find commercial proposal __REF__ attached \n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierProposal=__(Hello)__\n\nPlease find price request __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendOrder=__(Hello)__\n\nPlease find order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nPlease find our order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n -PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__

    This is an automatic message, please do not reply. -DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available. -ChooseYourDemoProfil=Choose the demo profile that best suits your needs... -ChooseYourDemoProfilMore=...or build your own profile
    (manual module selection) +NbOfActiveNotifications=Количество уведомлений (количество писем получателя) +PredefinedMailTest=__(Привет)__\nЭто тестовое письмо отправлено на адрес __EMAIL__.\nСтроки разделяются символом возврата каретки.\n\n__USER_SIGNATURE__ +PredefinedMailTestHtml=__ (Привет) __
    Это письмо , отправленное на адрес __EMAIL__, (слово test должно быть выделено жирным шрифтом).
    Строки разделяются символом возврата каретки.

    __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__ +PredefinedMailContentSendInvoiceReminder=__(Привет)__\n\nНапоминаем, что счет __REF__ не был оплачен. Копия счета прилагается в качестве напоминания.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Искренне)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendProposal=__(Привет)__\n\nВ приложении коммерческое предложение __REF__.\n\n\n__(Искренне)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierProposal=__(Привет)__\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__ +PredefinedMailContentSendSupplierInvoice=__(Привет)__\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__ +PredefinedMailContentLink=Вы можете нажать на ссылку ниже, чтобы произвести платеж, если это еще не сделано.\n\n%s\n\n +PredefinedMailContentGeneric=__(Привет)__\n\n\n__(Искренне)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendActionComm=Напоминание о событии «__EVENT_LABEL__» __EVENT_DATE__ в __EVENT_TIME__

    Это автоматическое сообщение, не отвечайте. +DemoDesc=Dolibarr - это компактная ERP / CRM, поддерживающая несколько бизнес-модулей. Демо, демонстрирующее все модули, не имеет смысла, поскольку этот сценарий никогда не происходит (доступно несколько сотен). Итак, доступно несколько демо-профилей. +ChooseYourDemoProfil=Выберите демо-профиль, который наилучшим образом соответствует вашим потребностям ... +ChooseYourDemoProfilMore=... или создайте свой собственный профиль
    (ручной выбор модуля) DemoFundation=Управление членов Фонда DemoFundation2=Управление членами и банковские счета Фонда -DemoCompanyServiceOnly=Company or freelance selling service only +DemoCompanyServiceOnly=Только услуги компании или внештатного продавца DemoCompanyShopWithCashDesk=Работа магазина в кассу -DemoCompanyProductAndStocks=Shop selling products with Point Of Sales -DemoCompanyManufacturing=Company manufacturing products -DemoCompanyAll=Company with multiple activities (all main modules) +DemoCompanyProductAndStocks=Магазин, продающий товары с помощью Point Of Sales +DemoCompanyManufacturing=Компания по производству продукции +DemoCompanyAll=Компания с несколькими видами деятельности (все основные модули) CreatedBy=Создан %s ModifiedBy=Модифицированное% по S ValidatedBy=Подтверждено %s -SignedBy=Signed by %s +SignedBy=Подписано %s ClosedBy=Закрытые% по S CreatedById=ID пользователя, который создал -ModifiedById=User id who made latest change +ModifiedById=Идентификатор пользователя, который внес последнее изменение ValidatedById=ID пользователя, который подтвердил CanceledById=ID пользователя, который отменил ClosedById=ID пользователя, который закрыл CreatedByLogin=Логин пользователя, который создал -ModifiedByLogin=User login who made latest change +ModifiedByLogin=Логин пользователя, который внес последнее изменение ValidatedByLogin=Логин пользователя, который подтвердил CanceledByLogin=Логин пользователя, который отменил ClosedByLogin=Логин пользователя, который закрыл FileWasRemoved=Файл был удален DirWasRemoved=Каталог был удален -FeatureNotYetAvailable=Feature not yet available in the current version -FeaturesSupported=Supported features +FeatureNotYetAvailable=Функция еще не доступна в текущей версии +FeatureNotAvailableOnDevicesWithoutMouse=Функция недоступна на устройствах без мыши +FeaturesSupported=Поддерживаемые функции Width=Ширина Height=Высота Depth=Глубина @@ -140,7 +141,7 @@ Right=Право CalculatedWeight=расчетный вес CalculatedVolume=Beregnet volum Weight=Вес -WeightUnitton=ton +WeightUnitton=тонна WeightUnitkg=кг WeightUnitg=G WeightUnitmg=мг @@ -153,18 +154,18 @@ LengthUnitcm=cm LengthUnitmm=mm Surface=Område SurfaceUnitm2=м² -SurfaceUnitdm2=dm² -SurfaceUnitcm2=cm² -SurfaceUnitmm2=mm² -SurfaceUnitfoot2=ft² -SurfaceUnitinch2=in² +SurfaceUnitdm2=дм² +SurfaceUnitcm2=см² +SurfaceUnitmm2=мм² +SurfaceUnitfoot2=фут² +SurfaceUnitinch2=дюйм² Volume=Объем VolumeUnitm3=м³ -VolumeUnitdm3=dm³ (L) -VolumeUnitcm3=cm³ (ml) -VolumeUnitmm3=mm³ (µl) -VolumeUnitfoot3=ft³ -VolumeUnitinch3=in³ +VolumeUnitdm3=дм³ (л) +VolumeUnitcm3=см³ (мл) +VolumeUnitmm3=мм³ (мкл) +VolumeUnitfoot3=фут³ +VolumeUnitinch3=дюйм³ VolumeUnitounce=унция VolumeUnitlitre=литр VolumeUnitgallon=галлон @@ -174,50 +175,50 @@ SizeUnitcm=см SizeUnitmm=мм SizeUnitinch=дюйм SizeUnitfoot=фут -SizeUnitpoint=point +SizeUnitpoint=точка BugTracker=Ошибка Tracker -SendNewPasswordDesc=This form allows you to request a new password. It will be sent to your email address.
    Change will become effective once you click on the confirmation link in the email.
    Check your inbox. +SendNewPasswordDesc=Эта форма позволяет вам запросить новый пароль. Он будет отправлен на ваш электронный адрес.
    Изменение вступит в силу после того, как вы нажмете на ссылку подтверждения в электронном письме.
    Проверьте свой почтовый ящик. BackToLoginPage=Перейти на страницу входа AuthenticationDoesNotAllowSendNewPassword=Аутентификация режим %s.
    В этом режиме Dolibarr можете не знать, ни изменить свой пароль.
    Обратитесь к системному администратору, если вы хотите изменить свой пароль. -EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option. +EnableGDLibraryDesc=Установите или включите библиотеку GD в вашей установке PHP, чтобы использовать эту опцию. ProfIdShortDesc=Проф Id %s является информация в зависимости от сторонних страны.
    Например, для страны с%, то с кодом%. DolibarrDemo=Dolibarr ERP / CRM демо -StatsByNumberOfUnits=Statistics for sum of qty of products/services -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) -NumberOfProposals=Number of proposals -NumberOfCustomerOrders=Number of sales orders -NumberOfCustomerInvoices=Number of customer invoices -NumberOfSupplierProposals=Number of vendor proposals -NumberOfSupplierOrders=Number of purchase orders -NumberOfSupplierInvoices=Number of vendor invoices -NumberOfContracts=Number of contracts -NumberOfMos=Number of manufacturing orders -NumberOfUnitsProposals=Number of units on proposals -NumberOfUnitsCustomerOrders=Number of units on sales orders -NumberOfUnitsCustomerInvoices=Number of units on customer invoices -NumberOfUnitsSupplierProposals=Number of units on vendor proposals -NumberOfUnitsSupplierOrders=Number of units on purchase orders -NumberOfUnitsSupplierInvoices=Number of units on vendor invoices -NumberOfUnitsContracts=Number of units on contracts -NumberOfUnitsMos=Number of units to produce in manufacturing orders -EMailTextInterventionAddedContact=A new intervention %s has been assigned to you. +StatsByNumberOfUnits=Статистика по количеству товаров / услуг +StatsByNumberOfEntities=Статистика количества ссылающихся организаций (количество счетов-фактур или заказов ...) +NumberOfProposals=Количество предложений +NumberOfCustomerOrders=Количество заказов на продажу +NumberOfCustomerInvoices=Количество счетов клиентов +NumberOfSupplierProposals=Количество предложений поставщиков +NumberOfSupplierOrders=Количество заказов на поставку +NumberOfSupplierInvoices=Количество счетов-фактур поставщика +NumberOfContracts=Количество контрактов +NumberOfMos=Количество заказов на изготовление +NumberOfUnitsProposals=Количество единиц в предложениях +NumberOfUnitsCustomerOrders=Количество единиц в заказах на продажу +NumberOfUnitsCustomerInvoices=Количество единиц в счетах-фактурах клиентов +NumberOfUnitsSupplierProposals=Количество единиц в предложениях поставщиков +NumberOfUnitsSupplierOrders=Количество единиц в заказах на поставку +NumberOfUnitsSupplierInvoices=Количество единиц в накладных поставщика +NumberOfUnitsContracts=Количество единиц по контрактам +NumberOfUnitsMos=Количество единиц для производства в производственных заказах +EMailTextInterventionAddedContact=Вам назначено новое вмешательство %s. EMailTextInterventionValidated=Посредничество %s проверено. -EMailTextInvoiceValidated=Invoice %s has been validated. -EMailTextInvoicePayed=Invoice %s has been paid. -EMailTextProposalValidated=Proposal %s has been validated. -EMailTextProposalClosedSigned=Proposal %s has been closed signed. -EMailTextOrderValidated=Order %s has been validated. -EMailTextOrderApproved=Order %s has been approved. -EMailTextOrderValidatedBy=Order %s has been recorded by %s. -EMailTextOrderApprovedBy=Order %s has been approved by %s. -EMailTextOrderRefused=Order %s has been refused. -EMailTextOrderRefusedBy=Order %s has been refused by %s. -EMailTextExpeditionValidated=Shipping %s has been validated. -EMailTextExpenseReportValidated=Expense report %s has been validated. -EMailTextExpenseReportApproved=Expense report %s has been approved. -EMailTextHolidayValidated=Leave request %s has been validated. -EMailTextHolidayApproved=Leave request %s has been approved. -EMailTextActionAdded=The action %s has been added to the Agenda. +EMailTextInvoiceValidated=Счет-фактура %s подтверждена. +EMailTextInvoicePayed=Счет %s оплачен. +EMailTextProposalValidated=Предложение %s было подтверждено. +EMailTextProposalClosedSigned=Предложение %s закрыто подписью. +EMailTextOrderValidated=Заказ %s подтвержден. +EMailTextOrderApproved=Заказ %s утвержден. +EMailTextOrderValidatedBy=Заказ %s был зарегистрирован пользователем %s. +EMailTextOrderApprovedBy=Заказ %s был одобрен %s. +EMailTextOrderRefused=Заказ %s был отклонен. +EMailTextOrderRefusedBy=Заказ %s был отклонен %s. +EMailTextExpeditionValidated=Доставка %s подтверждена. +EMailTextExpenseReportValidated=Отчет о расходах %s утвержден. +EMailTextExpenseReportApproved=Отчет о расходах %s утвержден. +EMailTextHolidayValidated=Запрос на выход %s был проверен. +EMailTextHolidayApproved=Запрос на выезд %s был одобрен. +EMailTextActionAdded=Действие %s добавлено в повестку дня. ImportedWithSet=Импорт данных DolibarrNotification=Автоматические уведомления ResizeDesc=Skriv inn ny bredde eller ny høyde. Forhold vil bli holdt under resizing ... @@ -225,7 +226,7 @@ NewLength=Ny bredde NewHeight=Ny høyde NewSizeAfterCropping=Ny størrelse etter beskjæring DefineNewAreaToPick=Definer nytt område på bildet for å plukke (venstre klikk på bildet og dra til du kommer til motsatt hjørne) -CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is the information on the current edited image +CurrentInformationOnImage=Этот инструмент был разработан, чтобы помочь вам изменить размер или обрезать изображение. Это информация о текущем редактируемом изображении. ImageEditor=Редактор изображений YouReceiveMailBecauseOfNotification=Du mottar denne meldingen fordi din e-post har blitt lagt til listen over mål for å bli informert om spesielle hendelser i %s programvare av %s. YouReceiveMailBecauseOfNotification2=Denne hendelsen er følgende: @@ -238,55 +239,59 @@ StartUpload=Начать загрузку CancelUpload=Отмена загрузки FileIsTooBig=Файлы слишком велик PleaseBePatient=Пожалуйста, будьте терпеливы ... -NewPassword=New password -ResetPassword=Reset password -RequestToResetPasswordReceived=A request to change your password has been received. +NewPassword=Новый пароль +ResetPassword=Сброс пароля +RequestToResetPasswordReceived=Получен запрос на смену пароля. NewKeyIs=Ваши новые ключи для доступа NewKeyWillBe=Ваш новый ключ для доступа к ПО будет ClickHereToGoTo=Нажмите сюда, чтобы перейти к %s YouMustClickToChange=Однако, вы должны сначала нажать на ссылку для подтверждения изменения пароля -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Подтвердите смену пароля ForgetIfNothing=Если вы не запрашивали эти изменения, забудьте про это электронное письмо. Ваши данные в безопасности. IfAmountHigherThan=Если количество более чем %s -SourcesRepository=Repository for sources -Chart=Chart -PassEncoding=Password encoding -PermissionsAdd=Permissions added -PermissionsDelete=Permissions removed -YourPasswordMustHaveAtLeastXChars=Your password must have at least %s chars -YourPasswordHasBeenReset=Your password has been reset successfully -ApplicantIpAddress=IP address of applicant -SMSSentTo=SMS sent to %s -MissingIds=Missing ids -ThirdPartyCreatedByEmailCollector=Third party created by email collector from email MSGID %s -ContactCreatedByEmailCollector=Contact/address created by email collector from email MSGID %s -ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s -TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s -OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SourcesRepository=Репозиторий исходников +Chart=Диаграмма +PassEncoding=Кодировка пароля +PermissionsAdd=Разрешения добавлены +PermissionsDelete=Разрешения удалены +YourPasswordMustHaveAtLeastXChars=Ваш пароль должен содержать не менее %s символов. +YourPasswordHasBeenReset=Ваш пароль был успешно сброшен +ApplicantIpAddress=IP-адрес заявителя +SMSSentTo=SMS отправлено на %s +MissingIds=Отсутствующие идентификаторы +ThirdPartyCreatedByEmailCollector=Третья сторона создана сборщиком электронной почты из электронной почты MSGID %s +ContactCreatedByEmailCollector=Контакт / адрес, созданный сборщиком электронной почты из электронной почты MSGID %s +ProjectCreatedByEmailCollector=Проект создан сборщиком писем из электронной почты MSGID %s +TicketCreatedByEmailCollector=Билет создан сборщиком электронной почты из электронного адреса MSGID %s +OpeningHoursFormatDesc=Используйте - для разделения часов открытия и закрытия.
    Используйте пробел для ввода различных диапазонов.
    Пример: 8-12 14-18 +SuffixSessionName=Суффикс имени сеанса ##### Export ##### ExportsArea=Экспорт области AvailableFormats=Доступные форматы LibraryUsed=Librairie -LibraryVersion=Library version +LibraryVersion=Версия библиотеки ExportableDatas=Экспортировать данные NoExportableData=Нет экспортировать данные (не модули для экспорта данных, загруженных или недостающие разрешения) ##### External sites ##### -WebsiteSetup=Setup of module website -WEBSITE_PAGEURL=URL of page +WebsiteSetup=Настройка сайта модуля +WEBSITE_PAGEURL=URL страницы WEBSITE_TITLE=Название WEBSITE_DESCRIPTION=Описание -WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). -WEBSITE_KEYWORDS=Keywords -LinesToImport=Lines to import +WEBSITE_IMAGE=Изображение +WEBSITE_IMAGEDesc=Относительный путь носителя изображения. Вы можете оставить это поле пустым, так как оно используется редко (его можно использовать в динамическом контенте для отображения эскиза в списке сообщений блога). Используйте __WEBSITE_KEY__ в пути, если путь зависит от имени веб-сайта (например: image / __ WEBSITE_KEY __ / stories / myimage.png). +WEBSITE_KEYWORDS=Ключевые слова +LinesToImport=Строки для импорта -MemoryUsage=Memory usage -RequestDuration=Duration of request -ProductsPerPopularity=Products/Services by popularity -PopuProp=Products/Services by popularity in Proposals -PopuCom=Products/Services by popularity in Orders -ProductStatistics=Products/Services Statistics -NbOfQtyInOrders=Qty in orders -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +MemoryUsage=Использование памяти +RequestDuration=Продолжительность запроса +ProductsPerPopularity=Товары / Услуги по популярности +PopuProp=Товары / Услуги по популярности в предложениях +PopuCom=Товары / Услуги по популярности в Заказах +ProductStatistics=Статистика продуктов / услуг +NbOfQtyInOrders=Кол-во в заказах +SelectTheTypeOfObjectToAnalyze=Выберите объект, чтобы просмотреть его статистику ... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Закрыть diff --git a/htdocs/langs/ru_RU/partnership.lang b/htdocs/langs/ru_RU/partnership.lang index 4192ed27776..93054ef9f75 100644 --- a/htdocs/langs/ru_RU/partnership.lang +++ b/htdocs/langs/ru_RU/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Управление партнерством +PartnershipDescription=Модуль Управление партнерством +PartnershipDescriptionLong= Модуль Управление партнерством + +AddPartnership=Добавить партнерство +CancelPartnershipForExpiredMembers=Партнерство: отмените партнерство участников с истекшими подписками +PartnershipCheckBacklink=Партнерство: проверьте ссылающуюся обратную ссылку # # Menu # -NewPartnership = Новое партнерство -ListOfPartnerships = Список партнеров +NewPartnership=Новое партнерство +ListOfPartnerships=Список партнерских отношений # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Настройка партнерства +PartnershipAbout=О партнерстве +PartnershipAboutPage=Партнерство о странице +partnershipforthirdpartyormember=Статус партнера должен быть установлен на "третье лицо" или "участник". +PARTNERSHIP_IS_MANAGED_FOR=Партнерство удалось +PARTNERSHIP_BACKLINKS_TO_CHECK=Обратные ссылки для проверки +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Кол-во дней до отмены статуса партнерства по истечении срока подписки +ReferingWebsiteCheck=Проверка ссылки на сайт +ReferingWebsiteCheckDesc=Вы можете включить функцию проверки того, что ваши партнеры добавили обратную ссылку на домены вашего веб-сайта на своем собственном веб-сайте. # # Object # +DeletePartnership=Удалить партнерство +PartnershipDedicatedToThisThirdParty=Партнерство, посвященное этой третьей стороне +PartnershipDedicatedToThisMember=Партнерство, посвященное этому участнику DatePartnershipStart=Дата начала DatePartnershipEnd=Дата окончания +ReasonDecline=Причина отклонения +ReasonDeclineOrCancel=Причина отклонения +PartnershipAlreadyExist=Партнерство уже существует +ManagePartnership=Управление партнерством +BacklinkNotFoundOnPartnerWebsite=Обратная ссылка не найдена на партнерском сайте +ConfirmClosePartnershipAsk=Вы уверены, что хотите отменить это партнерство? +PartnershipType=Тип партнерства # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Партнерство скоро будет отменено +SendingEmailOnPartnershipRefused=От партнерства отказано +SendingEmailOnPartnershipAccepted=Партнерство принято +SendingEmailOnPartnershipCanceled=Партнерство отменено +YourPartnershipWillSoonBeCanceledTopic=Партнерство скоро будет отменено +YourPartnershipRefusedTopic=От партнерства отказано +YourPartnershipAcceptedTopic=Партнерство принято +YourPartnershipCanceledTopic=Партнерство отменено + +YourPartnershipWillSoonBeCanceledContent=Сообщаем вам, что ваше партнерство скоро будет отменено (обратная ссылка не найдена) +YourPartnershipRefusedContent=Сообщаем вам, что ваш запрос на партнерство был отклонен. +YourPartnershipAcceptedContent=Сообщаем вам, что ваш запрос на партнерство принят. +YourPartnershipCanceledContent=Сообщаем вам, что ваше партнерство было расторгнуто. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Причина отклонения # # Status # -PartnershipDraft = Проект -PartnershipAccepted = Принято -PartnershipRefused = Отклонено -PartnershipCanceled = Отменена - -PartnershipManagedFor=Partners are +PartnershipDraft=Проект +PartnershipAccepted=Принято +PartnershipRefused=Отклонено +PartnershipCanceled=Отменена +PartnershipManagedFor=Партнеры diff --git a/htdocs/langs/ru_RU/paybox.lang b/htdocs/langs/ru_RU/paybox.lang index cd68c2f4809..997c71014bd 100644 --- a/htdocs/langs/ru_RU/paybox.lang +++ b/htdocs/langs/ru_RU/paybox.lang @@ -3,29 +3,28 @@ PayBoxSetup=Настройка модуля PayBox PayBoxDesc=Этот модуль предложить страниц, чтобы платеж по Paybox клиентами. Это может быть использовано для свободного платежа или за плату по тому или иному объекту Dolibarr (счетов-фактур, порядка, ...) FollowingUrlAreAvailableToMakePayments=После URL, можно предложить страницу к клиенту сделать платеж по Dolibarr объектов PaymentForm=Форма оплаты -WelcomeOnPaymentPage=Welcome to our online payment service +WelcomeOnPaymentPage=Добро пожаловать в нашу службу онлайн-платежей ThisScreenAllowsYouToPay=На этом экране можно сделать онлайн-платежей для %s. ThisIsInformationOnPayment=Это данные по оплате делать ToComplete=Для завершения YourEMail=Электронная почта для подтверждения оплаты Creditor=Кредитор PaymentCode=Код платежа -PayBoxDoPayment=Pay with Paybox +PayBoxDoPayment=Оплатить через Paybox YouWillBeRedirectedOnPayBox=Вы будете перенаправлены по обеспеченным Paybox страницу для ввода данных кредитной карточки Continue=Далее -SetupPayBoxToHavePaymentCreatedAutomatically=Setup your Paybox with url %s to have payment created automatically when validated by Paybox. +SetupPayBoxToHavePaymentCreatedAutomatically=Настройте свою Paybox с URL-адресом %s , чтобы платеж создавался автоматически при подтверждении Paybox. YourPaymentHasBeenRecorded=Эта страница подтверждает, что ваш платеж был записан. Спасибо. -YourPaymentHasNotBeenRecorded=Your payment has NOT been recorded and the transaction has been canceled. Thank you. +YourPaymentHasNotBeenRecorded=Ваш платеж НЕ был зарегистрирован, и транзакция была отменена. Спасибо. AccountParameter=Счет параметры UsageParameter=Использование параметров InformationToFindParameters=Помогите найти %s информацию об учетной записи PAYBOX_CGI_URL_V2=Url модуля Paybox CGI для оплаты -VendorName=Имя поставщика CSSUrlForPaymentForm=CSS-стилей URL для оплаты форме NewPayboxPaymentReceived=Новый платёж Paybox поулчен. NewPayboxPaymentFailed=Попытка нового платежа Paybox не удалась -PAYBOX_PAYONLINE_SENDEMAIL=Email notification after payment attempt (success or fail) +PAYBOX_PAYONLINE_SENDEMAIL=Уведомление по электронной почте после попытки платежа (успешной или неудачной) PAYBOX_PBX_SITE=Значение PBX SITE PAYBOX_PBX_RANG=Значение PBX Rang PAYBOX_PBX_IDENTIFIANT=Значение PBX ID -PAYBOX_HMAC_KEY=HMAC key +PAYBOX_HMAC_KEY=Ключ HMAC diff --git a/htdocs/langs/ru_RU/paypal.lang b/htdocs/langs/ru_RU/paypal.lang index 6aab1d37bc5..f8392f1a3f5 100644 --- a/htdocs/langs/ru_RU/paypal.lang +++ b/htdocs/langs/ru_RU/paypal.lang @@ -1,36 +1,36 @@ # Dolibarr language file - Source file is en_US - paypal PaypalSetup=Настройка модуля PayPal -PaypalDesc=This module allows payment by customers via PayPal. This can be used for a ad-hoc payment or for a payment related to a Dolibarr object (invoice, order, ...) -PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal) -PaypalDoPayment=Pay with PayPal +PaypalDesc=Этот модуль позволяет клиентам производить оплату через PayPal . Его можно использовать для специального платежа или для платежа, связанного с объектом Dolibarr (счет, заказ, ...) +PaypalOrCBDoPayment=Оплата через PayPal (карта или PayPal) +PaypalDoPayment=Оплата с PayPal PAYPAL_API_SANDBOX=Режим тестирования / песочницы PAYPAL_API_USER=API имя пользователя PAYPAL_API_PASSWORD=API пароль PAYPAL_API_SIGNATURE=API подпись -PAYPAL_SSLVERSION=Curl SSL Version -PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer "integral" payment (Credit card+PayPal) or "PayPal" only +PAYPAL_SSLVERSION=Версия Curl SSL +PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Предлагать «интегральный» платеж (кредитная карта + PayPal) или только «PayPal» PaypalModeIntegral=Интегральный PaypalModeOnlyPaypal=только PayPal -ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page +ONLINE_PAYMENT_CSS_URL=Необязательный URL-адрес таблицы стилей CSS на странице онлайн-платежей ThisIsTransactionId=Это идентификатор транзакции: %s -PAYPAL_ADD_PAYMENT_URL=Include the PayPal payment url when you send a document by email -NewOnlinePaymentReceived=New online payment received -NewOnlinePaymentFailed=New online payment tried but failed -ONLINE_PAYMENT_SENDEMAIL=Email address for notifications after each payment attempt (for success and fail) +PAYPAL_ADD_PAYMENT_URL=Включите URL-адрес платежа PayPal при отправке документа по электронной почте +NewOnlinePaymentReceived=Получен новый онлайн-платеж +NewOnlinePaymentFailed=Попытка нового онлайн-платежа не удалась +ONLINE_PAYMENT_SENDEMAIL=Адрес электронной почты для уведомлений после каждой попытки платежа (для успешной и неудачной) ReturnURLAfterPayment=Ссылка, куда будет возвращаться пользователь после оплаты -ValidationOfOnlinePaymentFailed=Validation of online payment failed -PaymentSystemConfirmPaymentPageWasCalledButFailed=Payment confirmation page was called by payment system returned an error -SetExpressCheckoutAPICallFailed=SetExpressCheckout API call failed. -DoExpressCheckoutPaymentAPICallFailed=DoExpressCheckoutPayment API call failed. -DetailedErrorMessage=Detailed Error Message -ShortErrorMessage=Short Error Message -ErrorCode=Error Code -ErrorSeverityCode=Error Severity Code -OnlinePaymentSystem=Online payment system -PaypalLiveEnabled=PayPal "live" mode enabled (otherwise test/sandbox mode) -PaypalImportPayment=Import PayPal payments -PostActionAfterPayment=Post actions after payments -ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. -ValidationOfPaymentFailed=Validation of payment has failed -CardOwner=Card holder -PayPalBalance=Paypal credit +ValidationOfOnlinePaymentFailed=Проверка онлайн-платежа не удалась +PaymentSystemConfirmPaymentPageWasCalledButFailed=Страница подтверждения платежа была вызвана платежной системой и вернула ошибку +SetExpressCheckoutAPICallFailed=Ошибка вызова API SetExpressCheckout. +DoExpressCheckoutPaymentAPICallFailed=Ошибка вызова API DoExpressCheckoutPayment. +DetailedErrorMessage=Подробное сообщение об ошибке +ShortErrorMessage=Короткое сообщение об ошибке +ErrorCode=Код ошибки +ErrorSeverityCode=Код серьезности ошибки +OnlinePaymentSystem=Система онлайн-платежей +PaypalLiveEnabled=Включен "живой" режим PayPal (в противном случае тестовый / песочница) +PaypalImportPayment=Импорт платежей PayPal +PostActionAfterPayment=Публикация действий после платежей +ARollbackWasPerformedOnPostActions=Откат был выполнен для всех действий с публикацией. Вы должны выполнить действия публикации вручную, если они необходимы. +ValidationOfPaymentFailed=Проверка платежа не удалась +CardOwner=Держатель карты +PayPalBalance=Paypal кредит diff --git a/htdocs/langs/ru_RU/printing.lang b/htdocs/langs/ru_RU/printing.lang index 958e0056419..5a260eb24da 100644 --- a/htdocs/langs/ru_RU/printing.lang +++ b/htdocs/langs/ru_RU/printing.lang @@ -2,51 +2,53 @@ Module64000Name=Прямая печать Module64000Desc=Включить систему прямой печати PrintingSetup=Настройки системы прямой печати -PrintingDesc=Этот модуль добавляет кнопку Печать для отправки документа напрямую на принтер (без открытия документа в приложении) -MenuDirectPrinting=Direct Printing jobs -DirectPrint=Direct print +PrintingDesc=Этот модуль добавляет кнопку «Печать» к различным модулям, чтобы можно было печатать документы непосредственно на принтере без необходимости открывать документ в другом приложении. +MenuDirectPrinting=Прямая печать заданий +DirectPrint=Прямая печать PrintingDriverDesc=Настройки драйвера принтера ListDrivers=Список драйверов PrintTestDesc=Список принтеров FileWasSentToPrinter=Файл %s отправлен на принтер -ViaModule=via the module -NoActivePrintingModuleFound=No active driver to print document. Check setup of module %s. +ViaModule=через модуль +NoActivePrintingModuleFound=Нет активного драйвера для печати документа. Проверьте настройку модуля %s. PleaseSelectaDriverfromList=Пожалуйста, выберите драйвер из списка -PleaseConfigureDriverfromList=Please configure the selected driver from list. +PleaseConfigureDriverfromList=Пожалуйста, настройте выбранный драйвер из списка. SetupDriver=Настройка драйвера TargetedPrinter=Целевой принтер UserConf=Настройка для пользователя -PRINTGCP_INFO=Google OAuth API setup -PRINTGCP_AUTHLINK=Authentication -PRINTGCP_TOKEN_ACCESS=Google Cloud Print OAuth Token -PrintGCPDesc=Этот драйвер позволяет отправлять документы на принтер с использованием сервиса Google Cloud Print +PRINTGCP_INFO=Настройка Google OAuth API +PRINTGCP_AUTHLINK=Аутентификация +PRINTGCP_TOKEN_ACCESS=Токен OAuth для Виртуального принтера Google +PrintGCPDesc=Этот драйвер позволяет отправлять документы прямо на принтер с помощью Google Cloud Print. GCP_Name=Имя GCP_displayName=Отображаемое имя GCP_Id=ID принтера GCP_OwnerName=Имя владельца GCP_State=Состояние принтера -GCP_connectionStatus=Статус +GCP_connectionStatus=Состояние онлайн GCP_Type=Тип принтера -PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_HOST=Принт-сервер +PrintIPPDesc=Этот драйвер позволяет отправлять документы прямо на принтер. Для этого требуется система Linux с установленным CUPS. +PRINTIPP_HOST=Сервер печати PRINTIPP_PORT=Порт -PRINTIPP_USER=Логин +PRINTIPP_USER=Авторизоваться PRINTIPP_PASSWORD=Пароль -NoDefaultPrinterDefined=Не указан принтер по умолчанию +NoDefaultPrinterDefined=Принтер по умолчанию не определен DefaultPrinter=Принтер по умолчанию Printer=Принтер -IPP_Uri=Ссылка на принтер +IPP_Uri=Принтер Uri IPP_Name=Имя принтера IPP_State=Состояние принтера -IPP_State_reason=State reason -IPP_State_reason1=State reason1 +IPP_State_reason=Государственная причина +IPP_State_reason1=Государственная причина1 IPP_BW=BW IPP_Color=Цвет IPP_Device=Устройство -IPP_Media=Носитель -IPP_Supported=Тип носителя -DirectPrintingJobsDesc=This page lists printing jobs found for available printers. -GoogleAuthNotConfigured=Google OAuth setup not done. Enable module OAuth and set a Google ID/Secret. -GoogleAuthConfigured=Google OAuth credentials were found into setup of module OAuth. +IPP_Media=СМИ для принтера +IPP_Supported=Тип СМИ +DirectPrintingJobsDesc=На этой странице перечислены задания печати, найденные для доступных принтеров. +GoogleAuthNotConfigured=Google OAuth не настроен. Включите модуль OAuth и установите Google ID / Secret. +GoogleAuthConfigured=Учетные данные Google OAuth были найдены при настройке модуля OAuth. PrintingDriverDescprintgcp=Настройки для драйвера сервиса Google Cloud Print +PrintingDriverDescprintipp=Переменные конфигурации для драйвера печати Cups. PrintTestDescprintgcp=Список принтеров для сервиса Google Cloud Print +PrintTestDescprintipp=Список принтеров для чашек. diff --git a/htdocs/langs/ru_RU/productbatch.lang b/htdocs/langs/ru_RU/productbatch.lang index 45500b8f86d..7a0646ff1a6 100644 --- a/htdocs/langs/ru_RU/productbatch.lang +++ b/htdocs/langs/ru_RU/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Использовать номер партии/серийный номер ProductStatusOnBatch=Да (требуется лот) ProductStatusOnSerial=Да (требуется уникальный серийный номер) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Показать журнал движений для п StockDetailPerBatch=Детальная информация о лоте SerialNumberAlreadyInUse=Серийный номер %s уже используется для продукта %s TooManyQtyForSerialNumber=У вас может быть только один продукт %s для серийного номера %s -BatchLotNumberingModules=Опции для автоматического создания серийной продукции по партиям -BatchSerialNumberingModules=Опции для автоматического создания серийной продукции по серийным номерам ManageLotMask=Пользовательская маска -CustomMasks=Добавляет возможность определения маски в карточке товара -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Кол-во для добавления для каждого отсканированного штрих-кода / партии / серийного номера +LifeTime=Продолжительность жизни (в днях) +EndOfLife=Конец жизни +ManufacturingDate=Дата производства +DestructionDate=Дата разрушения +FirstUseDate=Дата первого использования +QCFrequency=Периодичность контроля качества (в днях) + +#Traceability - qc status +OutOfOrder=Не работает +InWorkingOrder=В рабочем порядке diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index 25425e698b6..fba880774b7 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -2,7 +2,7 @@ ProductRef=Продукт исх. ProductLabel=Этикетка товара ProductLabelTranslated=Переведенная этикетка продукта -ProductDescription=Product description +ProductDescription=Описание продукта ProductDescriptionTranslated=Переведенное описание продукта ProductNoteTranslated=Переведенная заметка о продукте ProductServiceCard=Карточка Товаров/Услуг @@ -17,40 +17,40 @@ Create=Создать Reference=Справка NewProduct=Новый товар NewService=Новая услуга -ProductVatMassChange=Global VAT Update -ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL products and services! +ProductVatMassChange=Глобальное обновление НДС +ProductVatMassChangeDesc=Этот инструмент обновляет ставку НДС, определенную для ВСЕХ продуктов и услуг ! MassBarcodeInit=Массовое создание штрих-кода MassBarcodeInitDesc=Эта страница может быть использована для создания штрих-кодов для объектов, у которых нет штрих-кода. Проверьте перед выполнением настройки модуля штрих-кодов. ProductAccountancyBuyCode=Учетный код (покупка) -ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) -ProductAccountancyBuyExportCode=Accounting code (purchase import) +ProductAccountancyBuyIntraCode=Бухгалтерский код (покупка внутри сообщества) +ProductAccountancyBuyExportCode=Бухгалтерский код (импорт покупки) ProductAccountancySellCode=Учетный код (продажа) -ProductAccountancySellIntraCode=Accounting code (sale intra-Community) +ProductAccountancySellIntraCode=Код бухгалтерского учета (продажа внутри Сообщества) ProductAccountancySellExportCode=Учетный код (экспорт) ProductOrService=Товар или Услуга ProductsAndServices=Товары и Услуги ProductsOrServices=Товары или Услуги ProductsPipeServices=Продукты | Сервисы -ProductsOnSale=Products for sale -ProductsOnPurchase=Products for purchase +ProductsOnSale=Товары для продажи +ProductsOnPurchase=Товары для покупки ProductsOnSaleOnly=Товар только для продажи, не для покупки ProductsOnPurchaseOnly=Товар только для покупки, не для продажи ProductsNotOnSell=Товар не для продажи и не для покупки ProductsOnSellAndOnBuy=Товар для продажи и покупки -ServicesOnSale=Services for sale -ServicesOnPurchase=Services for purchase +ServicesOnSale=Продажа услуг +ServicesOnPurchase=Услуги для покупки ServicesOnSaleOnly=Услуги только для продажи ServicesOnPurchaseOnly=Услуги только для покупки ServicesNotOnSell=Услуги не для продажи, а не для покупки ServicesOnSellAndOnBuy=Услуга для продажи и покупки -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Последние продукты / услуги %s, которые были изменены LastRecordedProducts=Последние %sзарегистрированные продукты LastRecordedServices=Последние %sзарегистрированные услуги CardProduct0=Товар CardProduct1=Услуга Stock=Склад MenuStocks=Склады -Stocks=Stocks and location (warehouse) of products +Stocks=Запасы и местонахождение (склад) продукции Movements=Движения Sell=Продавать Buy=Покупка @@ -68,17 +68,17 @@ ProductStatusNotOnBuyShort=Не для покупки UpdateVAT=Обновить НДС UpdateDefaultPrice=Обновить стоимость по умолчанию UpdateLevelPrices=Обновление цен на каждый уровень -AppliedPricesFrom=Applied from +AppliedPricesFrom=Применяется с SellingPrice=Продажная цена -SellingPriceHT=Selling price (excl. tax) +SellingPriceHT=Цена продажи (без налогов) SellingPriceTTC=Продажная цена (вкл. налоги) -SellingMinPriceTTC=Minimum Selling price (inc. tax) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +SellingMinPriceTTC=Минимальная цена продажи (включая налог) +CostPriceDescription=Это поле цены (без налогов) можно использовать для определения средней суммы затрат на этот продукт для вашей компании. Это может быть любая цена, которую вы рассчитываете самостоятельно, например, исходя из средней закупочной цены плюс средние издержки производства и распространения. CostPriceUsage=Это значение может использоваться для расчета маржи. SoldAmount=Сумма продажи PurchasedAmount=Сумма покупки NewPrice=Новая цена -MinPrice=Min. selling price +MinPrice=Мин. цена продажи EditSellingPriceLabel=Изменить ярлык цены продажи CantBeLessThanMinPrice=Продажная цена не может быть ниже минимальной для этого товара (%s без налогов). Это сообщение также возникает, если вы задаёте слишком большую скидку. ContractStatusClosed=Закрытые @@ -87,7 +87,7 @@ ErrorProductBadRefOrLabel=Неправильное значение для сп ErrorProductClone=Возникла проблема при попытке дублирования продукта или услуги ErrorPriceCantBeLowerThanMinPrice=Ошибка, цена не может быть ниже минимальной цены. Suppliers=Поставщики -SupplierRef=Vendor SKU +SupplierRef=Артикул поставщика ShowProduct=Показать товар ShowService=Показать услугу ProductsAndServicesArea=Раздел товаров и услуг @@ -96,7 +96,7 @@ ServicesArea=Раздел услуг ListOfStockMovements=Список акций движения BuyingPrice=Покупка цене PriceForEachProduct=Продукты со специфическими ценами -SupplierCard=Vendor card +SupplierCard=Карточка продавца PriceRemoved=Цена удалена BarCode=Штрих-код BarcodeType=Штрих-код типа @@ -104,25 +104,25 @@ SetDefaultBarcodeType=Установить тип штрих-кода BarcodeValue=Значение штрих-кода NoteNotVisibleOnBill=Примечание (не видимые на счетах-фактурах, предложениях ...) ServiceLimitedDuration=Если продукт является услугой с ограниченной длительности: -FillWithLastServiceDates=Fill with last service line dates -MultiPricesAbility=Multiple price segments per product/service (each customer is in one price segment) +FillWithLastServiceDates=Укажите даты последней строки обслуживания +MultiPricesAbility=Несколько ценовых сегментов на товар / услугу (каждый покупатель находится в одном ценовом сегменте) MultiPricesNumPrices=Кол-во цен -DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices -AssociatedProductsAbility=Enable Kits (set of several products) -VariantsAbility=Enable Variants (variations of products, for example color, size) -AssociatedProducts=Kits -AssociatedProductsNumber=Number of products composing this kit +DefaultPriceType=База цен по умолчанию (с учетом и без налога) при добавлении новых продажных цен +AssociatedProductsAbility=Enable Kits (набор из нескольких товаров) +VariantsAbility=Включить варианты (варианты товаров, например цвет, размер) +AssociatedProducts=Наборы +AssociatedProductsNumber=Количество продуктов, входящих в этот набор ParentProductsNumber=Количество родительских упаковочных продуктов ParentProducts=Родительские продукты -IfZeroItIsNotAVirtualProduct=If 0, this product is not a kit -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any kit +IfZeroItIsNotAVirtualProduct=Если 0, этот товар не является комплектом. +IfZeroItIsNotUsedByVirtualProduct=Если 0, этот продукт не используется ни в одном комплекте KeywordFilter=Фильтр ключевых слов CategoryFilter=Категория фильтр ProductToAddSearch=Поиск продукта для добавления NoMatchFound=Не найдено соответствия ListOfProductsServices=Список продуктов/услуг -ProductAssociationList=List of products/services that are component(s) of this kit -ProductParentList=List of kits with this product as a component +ProductAssociationList=Список продуктов / услуг, которые являются компонентами этого набора +ProductParentList=Список комплектов с данным продуктом в качестве компонента ErrorAssociationIsFatherOfThis=Один из выбранного продукта родителей с действующим продукта DeleteProduct=Удалить товар / услугу ConfirmDeleteProduct=Вы уверены, что хотите удалить этот продукт / услугу? @@ -134,20 +134,20 @@ ImportDataset_service_1=Услуги DeleteProductLine=Удалить строку товара ConfirmDeleteProductLine=Вы уверены, что хотите удалить эту строку с товаром? ProductSpecial=Специальные -QtyMin=Min. purchase quantity -PriceQtyMin=Price quantity min. -PriceQtyMinCurrency=Price (currency) for this qty. (no discount) -VATRateForSupplierProduct=VAT Rate (for this vendor/product) -DiscountQtyMin=Discount for this qty. -NoPriceDefinedForThisSupplier=No price/qty defined for this vendor/product -NoSupplierPriceDefinedForThisProduct=No vendor price/qty defined for this product -PredefinedItem=Predefined item -PredefinedProductsToSell=Predefined Product -PredefinedServicesToSell=Predefined Service +QtyMin=Мин. количество покупок +PriceQtyMin=Цена количество мин. +PriceQtyMinCurrency=Цена (валюта) за это количество. (нет скидки) +VATRateForSupplierProduct=Ставка НДС (для этого поставщика / продукта) +DiscountQtyMin=Скидка на это кол-во. +NoPriceDefinedForThisSupplier=Цена / количество не определены для этого поставщика / продукта +NoSupplierPriceDefinedForThisProduct=Цена / количество поставщика для этого продукта не определены +PredefinedItem=Предопределенный элемент +PredefinedProductsToSell=Предопределенный продукт +PredefinedServicesToSell=Предопределенная услуга PredefinedProductsAndServicesToSell=Предустановленные товары/услуги для продажи PredefinedProductsToPurchase=Определённый заранее товар для покупки PredefinedServicesToPurchase=Определённая заранее услуга для покупки -PredefinedProductsAndServicesToPurchase=Predefined products/services to purchase +PredefinedProductsAndServicesToPurchase=Предопределенные продукты / услуги для покупки NotPredefinedProducts=Не предопределенные продукты/услуги GenerateThumb=Генерируйте пальца ServiceNb=Служба # %s @@ -157,25 +157,25 @@ ListServiceByPopularity=Перечень услуг по популярност Finished=Произведено продукции RowMaterial=Первый материал ConfirmCloneProduct=Вы действительно хотите клонировать продукт или услугу %s ? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Клонировать всю основную информацию о продукте / услуге ClonePricesProduct=Клонирование цен -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Клонировать связанные теги / категории +CloneCompositionProduct=Клонировать виртуальные продукты / услуги +CloneCombinationsProduct=Клонировать варианты продукта ProductIsUsed=Этот продукт используется NewRefForClone=Ссылка нового продукта / услуги SellingPrices=Цены на продажу BuyingPrices=Цены на покупку CustomerPrices=Цены клиентов -SuppliersPrices=Vendor prices -SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) -CustomCode=Customs|Commodity|HS code -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) -NatureOfProductShort=Nature of product -NatureOfProductDesc=Raw material or manufactured product +SuppliersPrices=Цены от поставщиков +SuppliersPricesOfProductsOrServices=Цены поставщиков (товаров или услуг) +CustomCode=Таможня | Товар | Код ТН ВЭД +CountryOrigin=Страна происхождения +RegionStateOrigin=Регион происхождения +StateOrigin=Штат | Провинция происхождения +Nature=Тип продукта (сырой / произведенный) +NatureOfProductShort=Природа продукта +NatureOfProductDesc=Сырье или произведенный продукт ShortLabel=Короткая метка Unit=Единица p=u. @@ -209,7 +209,7 @@ unitLM=Линейный метр unitM2=Квадратный метр unitM3=Кубический метр unitL=Литр -unitT=ton +unitT=тонна unitKG=кг unitG=Грамм unitMG=мг @@ -219,20 +219,20 @@ unitM=Метр unitDM=dm unitCM=cm unitMM=mm -unitFT=ft -unitIN=in +unitFT=футов +unitIN=дюйм unitM2=Квадратный метр -unitDM2=dm² -unitCM2=cm² -unitMM2=mm² -unitFT2=ft² -unitIN2=in² +unitDM2=дм² +unitCM2=см² +unitMM2=мм² +unitFT2=фут² +unitIN2=дюйм² unitM3=Кубический метр -unitDM3=dm³ -unitCM3=cm³ -unitMM3=mm³ -unitFT3=ft³ -unitIN3=in³ +unitDM3=дм³ +unitCM3=см³ +unitMM3=мм³ +unitFT3=фут³ +unitIN3=дюйм³ unitOZ3=унция unitgallon=галлон ProductCodeModel=Ссылка на шаблон товара @@ -243,13 +243,13 @@ AlwaysUseFixedPrice=Использовать фиксированную цену PriceByQuantity=Разные цены по количеству DisablePriceByQty=Отключить цены по количеству PriceByQuantityRange=Диапазон количества -MultipriceRules=Automatic prices for segment -UseMultipriceRules=Use price segment rules (defined into product module setup) to auto calculate prices of all other segments according to first segment +MultipriceRules=Автоматические цены по сегменту +UseMultipriceRules=Используйте правила ценовых сегментов (определенные в настройках модуля продукта) для автоматического расчета цен всех других сегментов в соответствии с первым сегментом. PercentVariationOver=%% вариация над %s PercentDiscountOver=%% скидка на %s KeepEmptyForAutoCalculation=Оставьте пустым, чтобы оно было рассчитано автоматически из массы или объема продуктов -VariantRefExample=Examples: COL, SIZE -VariantLabelExample=Examples: Color, Size +VariantRefExample=Примеры: COL, SIZE. +VariantLabelExample=Примеры: цвет, размер. ### composition fabrication Build=Произведено ProductsMultiPrice=Продукты и цены для каждого ценового сегмента @@ -260,49 +260,50 @@ Quarter1=I квартал Quarter2=II квартал Quarter3=III квартал Quarter4=IV квартал -BarCodePrintsheet=Print barcode -PageToGenerateBarCodeSheets=With this tool, you can print sheets of barcode stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. +BarCodePrintsheet=Распечатать штрих-код +PageToGenerateBarCodeSheets=С помощью этого инструмента вы можете распечатать листы наклеек со штрих-кодом. Выберите формат страницы с наклейками, тип штрих-кода и значение штрих-кода, затем нажмите кнопку %s . NumberOfStickers=Количество стикеров для печати на странице PrintsheetForOneBarCode=Печатать несколько стикеров для одного штрих-кода BuildPageToPrint=Создать страницу для печати FillBarCodeTypeAndValueManually=Заполнить тип и значение штрих-кода вручную. FillBarCodeTypeAndValueFromProduct=Заполнить тип и значение из штрих-кода товара. FillBarCodeTypeAndValueFromThirdParty=Заполните тип и значение штрих-кода третьей стороны. -DefinitionOfBarCodeForProductNotComplete=Definition of type or value of barcode not complete for product %s. -DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of barcode non complete for third party %s. -BarCodeDataForProduct=Barcode information of product %s: -BarCodeDataForThirdparty=Barcode information of third party %s: +DefinitionOfBarCodeForProductNotComplete=Определение типа или значения штрих-кода не завершено для продукта %s. +DefinitionOfBarCodeForThirdpartyNotComplete=Определение типа или значения штрих-кода неполное для третьей стороны %s. +BarCodeDataForProduct=Информация о штрих-коде продукта %s: +BarCodeDataForThirdparty=Информация о штрих-коде стороннего производителя %s: ResetBarcodeForAllRecords=Определите значение штрих-кода для всех записей (это также приведет к сбросу значения штрих-кода, уже определенного новыми значениями) PriceByCustomer=Различные цены для каждого клиента PriceCatalogue=Одна продажная цена за продукт/услугу -PricingRule=Rules for selling prices +PricingRule=Правила отпускных цен AddCustomerPrice=Добавить цену по клиенту -ForceUpdateChildPriceSoc=Установить такую же цену для дочерних клиентов +ForceUpdateChildPriceSoc=Установите такую же цену для дочерних компаний клиента PriceByCustomerLog=Журнал предыдущих цен клиента MinimumPriceLimit=Минимальная цена не может быть ниже %s -MinimumRecommendedPrice=Minimum recommended price is: %s +MinimumRecommendedPrice=Минимальная рекомендованная цена: %s PriceExpressionEditor=Редактор ценовых выражений PriceExpressionSelected=Выбранное выражение цены PriceExpressionEditorHelp1="price = 2+2" или "2 + 2" для задания цены. Используйте ; в качестве разделителя выражений. PriceExpressionEditorHelp2=Вы можете получить доступ к ExtraFields с такими переменными, как #extrafield_myextrafieldkey# и глобальными переменными с помощью #global_mycode# -PriceExpressionEditorHelp3=In both product/service and vendor prices there are these variables available:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# -PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
    In vendor prices only: #supplier_quantity# and #supplier_tva_tx# +PriceExpressionEditorHelp3=Как в ценах продукта / услуги, так и в ценах поставщиков доступны следующие переменные:
    # tva_tx # # localtax1_tx # # localtax2_tx # # weight # # length # # surface # # price_min # +PriceExpressionEditorHelp4=Только в цене продукта / услуги: # supplier_min_price #
    Только в ценах поставщика: # supplier_quantity # and # supplier_tva_tx # a0917a8z039 PriceExpressionEditorHelp5=Доступные глобальные значения: PriceMode=Режим ценообразования PriceNumeric=Номер DefaultPrice=Цена по умолчанию -DefaultPriceLog=Log of previous default prices +DefaultPriceLog=Журнал предыдущих цен по умолчанию ComposedProductIncDecStock=Увеличение / уменьшение запаса на складе при изменении источника -ComposedProduct=Child products +ComposedProduct=Детские товары MinSupplierPrice=Минимальная закупочная цена -MinCustomerPrice=Minimum selling price +MinCustomerPrice=Минимальная цена продажи +NoDynamicPrice=Нет динамической цены DynamicPriceConfiguration=Настройка динамического ценообразования -DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. +DynamicPriceDesc=Вы можете определить математические формулы для расчета цен Клиента или Продавца. В таких формулах могут использоваться все математические операторы, некоторые константы и переменные. Вы можете определить здесь переменные, которые хотите использовать. Если переменная нуждается в автоматическом обновлении, вы можете определить внешний URL-адрес, чтобы позволить Dolibarr автоматически обновлять значение. AddVariable=Добавить переменную AddUpdater=Добавить обновление GlobalVariables=Глобальные переменные VariableToUpdate=Переменная для обновления -GlobalVariableUpdaters=External updaters for variables +GlobalVariableUpdaters=Внешние средства обновления для переменных GlobalVariableUpdaterType0=Данные JSON GlobalVariableUpdaterHelp0=Анализирует данные JSON из указанной ссылки, VALUE определяет местоположение соответствующего значения, GlobalVariableUpdaterHelpFormat0=Формат для запроса {«URL»: «http://example.com/urlofjson», «VALUE»: «array1, array2, targetvalue»} @@ -314,13 +315,13 @@ LastUpdated=Последнее обновление CorrectlyUpdated=Правильно обновлено PropalMergePdfProductActualFile=Файлы, используемые для добавления в PDF Azur, являются PropalMergePdfProductChooseFile=Выберите PDF-файлы -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Включите товары / услуги с тегом DefaultPriceRealPriceMayDependOnCustomer=Цена по умолчанию, реальная цена может зависеть от клиента WarningSelectOneDocument=Выберите хотя бы один документ DefaultUnitToShow=Единица NbOfQtyInProposals=Кол-во предложений ClinkOnALinkOfColumn=Нажмите на ссылку колонки %s, чтобы получить подробный обзор ... -ProductsOrServicesTranslations=Products/Services translations +ProductsOrServicesTranslations=Перевод продукции / услуг TranslatedLabel=Переведенная этикетка TranslatedDescription=Переведенное описание TranslatedNote=Переведенные примечания @@ -328,10 +329,10 @@ ProductWeight=Вес для 1 продукта ProductVolume=Объем для 1 продукта WeightUnits=Весовая единица VolumeUnits=Единица объема -WidthUnits=Width unit -LengthUnits=Length unit -HeightUnits=Height unit -SurfaceUnits=Surface unit +WidthUnits=Единица ширины +LengthUnits=Единица длины +HeightUnits=Единица высоты +SurfaceUnits=Поверхностная единица SizeUnits=Единица измерения размера DeleteProductBuyPrice=Удалить цену покупки ConfirmDeleteProductBuyPrice=Вы действительно хотите удалить эту покупочную цену? @@ -340,12 +341,12 @@ ProductSheet=Лист продукта ServiceSheet=Сервисный лист PossibleValues=Возможные значения GoOnMenuToCreateVairants=Перейдите в меню %s - %s, чтобы подготовить варианты атрибутов (например, цвета, размер, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers -ProductSupplierDescription=Vendor description for the product -UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging -PackagingForThisProductDesc=On supplier order, you will automaticly order this quantity (or a multiple of this quantity). Cannot be less than minimum buying quantity -QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers +ProductSupplierDescription=Описание продавца продукта +UseProductSupplierPackaging=Использовать упаковку по ценам поставщика (пересчитать количества в соответствии с упаковкой, указанной в цене поставщика, при добавлении / обновлении строки в документах поставщика) +PackagingForThisProduct=Упаковка +PackagingForThisProductDesc=По заказу поставщика вы автоматически закажете это количество (или кратное этому количеству). Не может быть меньше минимального закупочного количества +QtyRecalculatedWithPackaging=Количество линии пересчитано в соответствии с упаковкой поставщика. #Attributes VariantAttributes=Вариант атрибутов @@ -368,9 +369,9 @@ SelectCombination=Выберите комбинацию ProductCombinationGenerator=Генератор вариантов Features=Особенности PriceImpact=Влияние цены -ImpactOnPriceLevel=Impact on price level %s -ApplyToAllPriceImpactLevel= Apply to all levels -ApplyToAllPriceImpactLevelHelp=By clicking here you set the same price impact on all levels +ImpactOnPriceLevel=Влияние на уровень цен %s +ApplyToAllPriceImpactLevel= Применить ко всем уровням +ApplyToAllPriceImpactLevelHelp=Нажимая здесь, вы устанавливаете одинаковое влияние на цену на всех уровнях. WeightImpact=Влияние веса NewProductAttribute=Новый атрибут NewProductAttributeValue=Новое значение атрибута @@ -381,18 +382,20 @@ DoNotRemovePreviousCombinations=Не удалять предыдущие вар UsePercentageVariations=Использовать процентные вариации PercentageVariation=Изменение процентов ErrorDeletingGeneratedProducts=При попытке удалить существующие варианты продукта произошла ошибка -NbOfDifferentValues=No. of different values -NbProducts=Number of products +NbOfDifferentValues=Кол-во разных значений +NbProducts=Количество продуктов ParentProduct=Родительский продукт HideChildProducts=Скрыть варианты продуктов -ShowChildProducts=Show variant products -NoEditVariants=Go to Parent product card and edit variants price impact in the variants tab +ShowChildProducts=Показать варианты продуктов +NoEditVariants=Перейдите в карточку родительского продукта и отредактируйте влияние вариантов на цену на вкладке вариантов. ConfirmCloneProductCombinations=Вы хотите скопировать все варианты продукта в другой родительский продукт с указанной ссылкой? CloneDestinationReference=Ссылка на целевое изделие ErrorCopyProductCombinations=При копировании вариантов продукта произошла ошибка ErrorDestinationProductNotFound=Продукт назначения не найден ErrorProductCombinationNotFound=Вариант продукта не найден -ActionAvailableOnVariantProductOnly=Action only available on the variant of product -ProductsPricePerCustomer=Product prices per customers -ProductSupplierExtraFields=Additional Attributes (Supplier Prices) -DeleteLinkedProduct=Delete the child product linked to the combination +ActionAvailableOnVariantProductOnly=Действие доступно только для варианта продукта +ProductsPricePerCustomer=Цены на продукцию для каждого покупателя +ProductSupplierExtraFields=Дополнительные атрибуты (цены поставщиков) +DeleteLinkedProduct=Удалить дочерний продукт, связанный с комбинацией +PMPValue=Значение +PMPValueShort=WAP diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 1c0ea89c8c7..3dbf75e0fcd 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -1,65 +1,65 @@ # Dolibarr language file - Source file is en_US - projects RefProject=Ref. проект -ProjectRef=Project ref. +ProjectRef=Ссылка на проект. ProjectId=ID Проекта -ProjectLabel=Project label -ProjectsArea=Projects Area +ProjectLabel=Этикетка проекта +ProjectsArea=Область проектов ProjectStatus=Статус проекта SharedProject=Общий проект PrivateProject=Проект контакты -ProjectsImContactFor=Projects for which I am explicitly a contact -AllAllowedProjects=All project I can read (mine + public) +ProjectsImContactFor=Проекты, с которыми я напрямую контактирую +AllAllowedProjects=Все проекты, которые я могу прочитать (мой + общедоступный) AllProjects=Все проекты -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Это представление ограничено проектами, для которых вы являетесь контактным лицом. ProjectsPublicDesc=Эта точка зрения представлены все проекты, которые Вы позволили читать. -TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. +TasksOnProjectsPublicDesc=В этом представлении представлены все задачи по проектам, которые вам разрешено читать. ProjectsPublicTaskDesc=Это представление всех проектов и задач, к которым у вас есть доступ. ProjectsDesc=Эта точка зрения представляет все проекты (разрешений пользователей предоставить вам разрешение для просмотра всего). -TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for -OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). -ClosedProjectsAreHidden=Closed projects are not visible. +TasksOnProjectsDesc=В этом представлении представлены все задачи для всех проектов (ваши разрешения пользователя дают вам право просматривать все). +MyTasksDesc=Это представление ограничено проектами или задачами, для которых вы являетесь контактным лицом. +OnlyOpenedProject=Видны только открытые проекты (проекты в черновом или закрытом состоянии не видны). +ClosedProjectsAreHidden=Закрытых проектов не видно. TasksPublicDesc=Эта точка зрения представляет всех проектов и задач, которые могут читать. TasksDesc=Эта точка зрения представляет всех проектов и задач (разрешений пользователей предоставить вам разрешение для просмотра всего). -AllTaskVisibleButEditIfYouAreAssigned=All tasks for qualified projects are visible, but you can enter time only for task assigned to selected user. Assign task if you need to enter time on it. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. -ImportDatasetTasks=Tasks of projects -ProjectCategories=Project tags/categories +AllTaskVisibleButEditIfYouAreAssigned=Все задачи для квалифицированных проектов видны, но вы можете ввести время только для задачи, назначенной выбранному пользователю. Назначьте задачу, если вам нужно ввести на нее время. +OnlyYourTaskAreVisible=Видны только назначенные вам задачи. Если вам нужно ввести время для задачи, и если задача не отображается здесь, то вам необходимо назначить задачу себе. +ImportDatasetTasks=Задачи проектов +ProjectCategories=Теги / категории проекта NewProject=Новый проект AddProject=Создать проект DeleteAProject=Удаление проекта DeleteATask=Удалить задание -ConfirmDeleteAProject=Are you sure you want to delete this project? -ConfirmDeleteATask=Are you sure you want to delete this task? -OpenedProjects=Open projects -OpenedTasks=Open tasks -OpportunitiesStatusForOpenedProjects=Leads amount of open projects by status -OpportunitiesStatusForProjects=Leads amount of projects by status +ConfirmDeleteAProject=Вы уверены, что хотите удалить этот проект? +ConfirmDeleteATask=Вы уверены, что хотите удалить эту задачу? +OpenedProjects=Открытые проекты +OpenedTasks=Открытые задачи +OpportunitiesStatusForOpenedProjects=Ведет количество открытых проектов по статусу +OpportunitiesStatusForProjects=Ведет количество проектов по статусу ShowProject=Показать проекта ShowTask=Показать задачу SetProject=Комплекс проектов NoProject=Нет проекта определена -NbOfProjects=Number of projects -NbOfTasks=Number of tasks +NbOfProjects=Количество проектов +NbOfTasks=Кол-во задач TimeSpent=Время, затраченное TimeSpentByYou=Затраченное мной время TimeSpentByUser=Затраченное пользователем время TimesSpent=Время, проведенное -TaskId=Task ID -RefTask=Task ref. -LabelTask=Task label +TaskId=ID задачи +RefTask=Задание исх. +LabelTask=Ярлык задачи TaskTimeSpent=Время, потраченное на задачи TaskTimeUser=Пользователь TaskTimeNote=Заметка TaskTimeDate=Дата -TasksOnOpenedProject=Tasks on open projects +TasksOnOpenedProject=Задачи по открытым проектам WorkloadNotDefined=Рабочая нагрузка не задана NewTimeSpent=Время, проведенное MyTimeSpent=Мое время -BillTime=Bill the time spent -BillTimeShort=Bill time -TimeToBill=Time not billed -TimeBilled=Time billed +BillTime=Счет за потраченное время +BillTimeShort=Время счета +TimeToBill=Время не выставлено +TimeBilled=Время выставлено Tasks=Задание Task=Задача TaskDateStart=Дата начала задачи @@ -67,79 +67,80 @@ TaskDateEnd=Дата завершения задачи TaskDescription=Описание задачи NewTask=Новые задачи AddTask=Создать задачу -AddTimeSpent=Create time spent -AddHereTimeSpentForDay=Add here time spent for this day/task -AddHereTimeSpentForWeek=Add here time spent for this week/task +AddTimeSpent=Создать потраченное время +AddHereTimeSpentForDay=Добавьте сюда время, потраченное на этот день / задачу +AddHereTimeSpentForWeek=Затраченное время на эту неделю / задачу Activity=Мероприятие Activities=Задачи / мероприятия MyActivities=Мои задачи / мероприятия MyProjects=Мои проекты -MyProjectsArea=My projects Area +MyProjectsArea=Мои проекты Площадь DurationEffective=Эффективная длительность -ProgressDeclared=Declared real progress -TaskProgressSummary=Task progress -CurentlyOpenedTasks=Curently open tasks -TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption -TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption -ProgressCalculated=Progress on consumption -WhichIamLinkedTo=which I'm linked to -WhichIamLinkedToProject=which I'm linked to project +ProgressDeclared=Заявленный реальный прогресс +TaskProgressSummary=Прогресс задачи +CurentlyOpenedTasks=Текущие открытые задачи +TheReportedProgressIsLessThanTheCalculatedProgressionByX=Заявленный реальный прогресс меньше %s, чем прогресс по потреблению +TheReportedProgressIsMoreThanTheCalculatedProgressionByX=Заявленный реальный прогресс больше %s, чем прогресс по потреблению +ProgressCalculated=Прогресс по потреблению +WhichIamLinkedTo=с которым я связан +WhichIamLinkedToProject=с которым я связан с проектом Time=Время -TimeConsumed=Consumed -ListOfTasks=List of tasks -GoToListOfTimeConsumed=Go to list of time consumed -GanttView=Gantt View -ListWarehouseAssociatedProject=List of warehouses associated to the project -ListProposalsAssociatedProject=List of the commercial proposals related to the project -ListOrdersAssociatedProject=List of sales orders related to the project -ListInvoicesAssociatedProject=List of customer invoices related to the project -ListPredefinedInvoicesAssociatedProject=List of customer template invoices related to the project -ListSupplierOrdersAssociatedProject=List of purchase orders related to the project -ListSupplierInvoicesAssociatedProject=List of vendor invoices related to the project -ListContractAssociatedProject=List of contracts related to the project -ListShippingAssociatedProject=List of shippings related to the project -ListFichinterAssociatedProject=List of interventions related to the project -ListExpenseReportsAssociatedProject=List of expense reports related to the project -ListDonationsAssociatedProject=List of donations related to the project -ListVariousPaymentsAssociatedProject=List of miscellaneous payments related to the project -ListSalariesAssociatedProject=List of payments of salaries related to the project -ListActionsAssociatedProject=List of events related to the project -ListMOAssociatedProject=List of manufacturing orders related to the project -ListTaskTimeUserProject=List of time consumed on tasks of project -ListTaskTimeForTask=List of time consumed on task -ActivityOnProjectToday=Activity on project today -ActivityOnProjectYesterday=Activity on project yesterday +TimeConsumed=Потребляется +ListOfTasks=Список задач +GoToListOfTimeConsumed=Перейти к списку затраченного времени +GanttView=Просмотр диаграммы Ганта +ListWarehouseAssociatedProject=Список складов, связанных с проектом +ListProposalsAssociatedProject=Список коммерческих предложений по проекту +ListOrdersAssociatedProject=Список заказов на продажу, связанных с проектом +ListInvoicesAssociatedProject=Список счетов клиентов, связанных с проектом +ListPredefinedInvoicesAssociatedProject=Список клиентских шаблонов счетов-фактур, связанных с проектом +ListSupplierOrdersAssociatedProject=Список заказов на поставку по проекту +ListSupplierInvoicesAssociatedProject=Список счетов-фактур поставщиков, связанных с проектом +ListContractAssociatedProject=Список договоров, связанных с проектом +ListShippingAssociatedProject=Список отгрузок по проекту +ListFichinterAssociatedProject=Список вмешательств, связанных с проектом +ListExpenseReportsAssociatedProject=Список отчетов о расходах по проекту +ListDonationsAssociatedProject=Список пожертвований, связанных с проектом +ListVariousPaymentsAssociatedProject=Список разных платежей, связанных с проектом +ListSalariesAssociatedProject=Перечень выплат заработной платы по проекту +ListActionsAssociatedProject=Список событий, связанных с проектом +ListMOAssociatedProject=Список заказов на изготовление, связанных с проектом +ListTaskTimeUserProject=Список времени, затраченного на задачи проекта +ListTaskTimeForTask=Список времени, затраченного на задачу +ActivityOnProjectToday=Активность по проекту сегодня +ActivityOnProjectYesterday=Активность по проекту вчера ActivityOnProjectThisWeek=Деятельность по проекту на этой неделе ActivityOnProjectThisMonth=Деятельность по проектам в этом месяце ActivityOnProjectThisYear=Деятельность по проектам в этом году ChildOfProjectTask=Детский проекта / задачи -ChildOfTask=Child of task -TaskHasChild=Task has child +ChildOfTask=Дочерняя задача +TaskHasChild=У задачи есть дочерний элемент NotOwnerOfProject=Не владелец этого частного проекта AffectedTo=Затронутые в -CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See tab '%s'. +CantRemoveProject=Этот проект нельзя удалить, так как на него ссылаются некоторые другие объекты (счет-фактура, заказы или другие). См. Вкладку «%s». ValidateProject=Проверка Projet -ConfirmValidateProject=Are you sure you want to validate this project? +ConfirmValidateProject=Вы уверены, что хотите проверить этот проект? CloseAProject=Закрыть проект -ConfirmCloseAProject=Are you sure you want to close this project? -AlsoCloseAProject=Also close project (keep it open if you still need to follow production tasks on it) +ConfirmCloseAProject=Вы уверены, что хотите закрыть этот проект? +AlsoCloseAProject=Также закройте проект (оставьте его открытым, если вам все еще нужно выполнять производственные задачи по нему) ReOpenAProject=Открытый проект -ConfirmReOpenAProject=Are you sure you want to re-open this project? +ConfirmReOpenAProject=Вы уверены, что хотите снова открыть этот проект? ProjectContact=Контакты проекта -TaskContact=Task contacts +TaskContact=Контакты задачи ActionsOnProject=Действия по проекту YouAreNotContactOfProject=Вы не контакт этого частного проекта -UserIsNotContactOfProject=User is not a contact of this private project +UserIsNotContactOfProject=Пользователь не является контактом этого частного проекта DeleteATimeSpent=Удалить времени -ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent? +ConfirmDeleteATimeSpent=Вы уверены, что хотите удалить это потраченное время? DoNotShowMyTasksOnly=Также видеть задачи, не назначенные мне ShowMyTasksOnly=Видеть только задачи, назначенные мне -TaskRessourceLinks=Contacts of task +TaskRessourceLinks=Контакты задачи ProjectsDedicatedToThisThirdParty=Проектов, посвященных этой третьей стороне NoTasks=Нет задач, для этого проекта LinkedToAnotherCompany=Связь с другими третий участник -TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. +TaskIsNotAssignedToUser=Задача не назначена пользователю. Используйте кнопку ' %s ', чтобы назначить задачу сейчас. ErrorTimeSpentIsEmpty=Время, проведенное пуста +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Это действие приведет к удалению всех задач проекта (%s задач на данный момент), и все входы затраченного времени. IfNeedToUseOtherObjectKeepEmpty=Если некоторые объекты (счет-фактура, заказ, ...), принадлежащей другому третьему лицу, должна быть увязана с проектом по созданию, держать этот пустой иметь проект, несколько третьих лиц. CloneTasks=Дублировать задачи @@ -147,28 +148,28 @@ CloneContacts=Дублировать контакты CloneNotes=Дублировать заметки CloneProjectFiles=Дублировать файлы, связанные с проектом CloneTaskFiles=Клонировать задачу (задачи), объединять файлы (если задача клонирована) -CloneMoveDate=Update project/tasks dates from now? -ConfirmCloneProject=Are you sure to clone this project? -ProjectReportDate=Change task dates according to new project start date +CloneMoveDate=Обновить даты проекта / задач с этого момента? +ConfirmCloneProject=Вы уверены, что скопируете этот проект? +ProjectReportDate=Изменить даты задач в соответствии с датой начала нового проекта ErrorShiftTaskDate=Невозможно сдвинуть дату задачи по причине новой даты начала проекта ProjectsAndTasksLines=Проекты и задачи ProjectCreatedInDolibarr=Проект %s создан -ProjectValidatedInDolibarr=Project %s validated +ProjectValidatedInDolibarr=Проект %s валидирован ProjectModifiedInDolibarr=Проект %s изменен TaskCreatedInDolibarr=Задача %s создана TaskModifiedInDolibarr=Задача %s изменена TaskDeletedInDolibarr=Задача %s удалена -OpportunityStatus=Lead status -OpportunityStatusShort=Lead status -OpportunityProbability=Lead probability -OpportunityProbabilityShort=Lead probab. -OpportunityAmount=Lead amount -OpportunityAmountShort=Lead amount -OpportunityWeightedAmount=Opportunity weighted amount -OpportunityWeightedAmountShort=Opp. weighted amount -OpportunityAmountAverageShort=Average lead amount -OpportunityAmountWeigthedShort=Weighted lead amount -WonLostExcluded=Won/Lost excluded +OpportunityStatus=Статус лида +OpportunityStatusShort=Статус лида +OpportunityProbability=Вероятность опережения +OpportunityProbabilityShort=Ведите пробаб. +OpportunityAmount=Сумма лида +OpportunityAmountShort=Сумма лида +OpportunityWeightedAmount=Взвешенная сумма возможности +OpportunityWeightedAmountShort=Опп. взвешенная сумма +OpportunityAmountAverageShort=Средняя сумма лида +OpportunityAmountWeigthedShort=Взвешенная сумма лида +WonLostExcluded=Выигрыш / проигрыш исключен ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Руководитель проекта TypeContact_project_external_PROJECTLEADER=Руководитель проекта @@ -182,94 +183,101 @@ SelectElement=Выберите элемент AddElement=Ссылка на элемент LinkToElementShort=Ссылка к # Documents models -DocumentModelBeluga=Project document template for linked objects overview -DocumentModelBaleine=Project document template for tasks -DocumentModelTimeSpent=Project report template for time spent +DocumentModelBeluga=Обзор шаблона документа проекта для связанных объектов +DocumentModelBaleine=Шаблон документа проекта для задач +DocumentModelTimeSpent=Шаблон отчета по проекту по затраченному времени PlannedWorkload=Запланированная нагрузка PlannedWorkloadShort=Рабочая нагрузка ProjectReferers=Связанные элементы ProjectMustBeValidatedFirst=Проект должен быть сначала подтверждён -FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time +FirstAddRessourceToAllocateTime=Назначьте пользовательский ресурс в качестве контактного лица проекта для распределения времени InputPerDay=Ввод по дням InputPerWeek=Ввод по неделе -InputPerMonth=Input per month -InputDetail=Input detail -TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s -ProjectsWithThisUserAsContact=Projects with this user as contact -TasksWithThisUserAsContact=Tasks assigned to this user -ResourceNotAssignedToProject=Not assigned to project -ResourceNotAssignedToTheTask=Not assigned to the task -NoUserAssignedToTheProject=No users assigned to this project -TimeSpentBy=Time spent by -TasksAssignedTo=Tasks assigned to -AssignTaskToMe=Assign task to myself -AssignTaskToUser=Assign task to %s -SelectTaskToAssign=Select task to assign... -AssignTask=Assign -ProjectOverview=Overview -ManageTasks=Use projects to follow tasks and/or report time spent (timesheets) -ManageOpportunitiesStatus=Use projects to follow leads/opportinuties -ProjectNbProjectByMonth=No. of created projects by month -ProjectNbTaskByMonth=No. of created tasks by month -ProjectOppAmountOfProjectsByMonth=Amount of leads by month -ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of leads by month -ProjectOpenedProjectByOppStatus=Open project|lead by lead status -ProjectsStatistics=Statistics on projects or leads -TasksStatistics=Statistics on tasks of projects or leads -TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible. -IdTaskTime=Id task time -YouCanCompleteRef=If you want to complete the ref with some suffix, it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-MYSUFFIX -OpenedProjectsByThirdparties=Open projects by third parties -OnlyOpportunitiesShort=Only leads -OpenedOpportunitiesShort=Open leads -NotOpenedOpportunitiesShort=Not an open lead -NotAnOpportunityShort=Not a lead -OpportunityTotalAmount=Total amount of leads -OpportunityPonderatedAmount=Weighted amount of leads -OpportunityPonderatedAmountDesc=Leads amount weighted with probability -OppStatusPROSP=Prospection -OppStatusQUAL=Qualification +InputPerMonth=Ввод в месяц +InputDetail=Детализация ввода +TimeAlreadyRecorded=Это время, уже зарегистрированное для этой задачи / день, и пользователь %s +ProjectsWithThisUserAsContact=Проекты с этим пользователем в качестве контакта +TasksWithThisUserAsContact=Задачи, возложенные на этого пользователя +ResourceNotAssignedToProject=Не привязан к проекту +ResourceNotAssignedToTheTask=Не назначен на задачу +NoUserAssignedToTheProject=Нет пользователей, назначенных для этого проекта +TimeSpentBy=Время, проведенное +TasksAssignedTo=Задачи, возложенные на +AssignTaskToMe=Поручить себе задачу +AssignTaskToUser=Назначьте задачу %s +SelectTaskToAssign=Выберите задачу для назначения ... +AssignTask=Назначать +ProjectOverview=Обзор +ManageTasks=Используйте проекты, чтобы следить за задачами и / или сообщать о затраченном времени (табели учета рабочего времени) +ManageOpportunitiesStatus=Используйте проекты, чтобы следить за потенциальными новостями / возможностями +ProjectNbProjectByMonth=Кол-во созданных проектов по месяцам +ProjectNbTaskByMonth=Кол-во созданных задач по месяцам +ProjectOppAmountOfProjectsByMonth=Количество лидов по месяцам +ProjectWeightedOppAmountOfProjectsByMonth=Взвешенное количество лидов по месяцам +ProjectOpenedProjectByOppStatus=Открытый проект | ведение по статусу лида +ProjectsStatistics=Статистика по проектам или лидам +TasksStatistics=Статистика по задачам проектов или лидов +TaskAssignedToEnterTime=Задача поставлена. Учет времени на эту задачу должен быть возможен. +IdTaskTime=Id время задачи +YouCanCompleteRef=Если вы хотите дополнить ссылку каким-либо суффиксом, рекомендуется добавить символ -, чтобы отделить его, чтобы автоматическая нумерация по-прежнему работала правильно для следующих проектов. Например %s-MYSUFFIX +OpenedProjectsByThirdparties=Открытые проекты третьих лиц +OnlyOpportunitiesShort=Только приводит +OpenedOpportunitiesShort=Открытые лиды +NotOpenedOpportunitiesShort=Не открытая зацепка +NotAnOpportunityShort=Не ведущий +OpportunityTotalAmount=Общее количество лидов +OpportunityPonderatedAmount=Взвешенное количество лидов +OpportunityPonderatedAmountDesc=Количество потенциальных клиентов, взвешенное с вероятностью +OppStatusPROSP=Разведка +OppStatusQUAL=Квалификация OppStatusPROPO=Предложение -OppStatusNEGO=Negociation +OppStatusNEGO=Переговоры OppStatusPENDING=В ожидании -OppStatusWON=Won -OppStatusLOST=Lost -Budget=Budget -AllowToLinkFromOtherCompany=Allow to link project from other company

    Supported values:
    - Keep empty: Can link any project of the company (default)
    - "all": Can link any projects, even projects of other companies
    - A list of third-party ids separated by commas: can link all projects of these third partys (Example: 123,4795,53)
    -LatestProjects=Latest %s projects -LatestModifiedProjects=Latest %s modified projects -OtherFilteredTasks=Other filtered tasks -NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) -ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. -ChooseANotYetAssignedTask=Choose a task not yet assigned to you +OppStatusWON=Победил +OppStatusLOST=Потерянный +Budget=Бюджет +AllowToLinkFromOtherCompany=Разрешить связывать проект от другой компании

    Поддерживаемые значения:
    - Оставить пустым: можно связать любой проект компании (по умолчанию) a0342fz проекты "все проекты", accfda342 - любой другой проект "accfda" - все проекты "даже" accfda190 сторонние идентификаторы, разделенные запятыми: можно связать все проекты этих сторонних разработчиков (пример: 123,4795,53)
    +LatestProjects=Последние проекты %s +LatestModifiedProjects=Последние измененные проекты %s +OtherFilteredTasks=Другие отфильтрованные задачи +NoAssignedTasks=Назначенных задач не найдено (назначьте проект / задачи текущему пользователю из верхнего поля выбора, чтобы ввести время на нем) +ThirdPartyRequiredToGenerateInvoice=Третья сторона должна быть определена в проекте, чтобы иметь возможность выставить счет. +ThirdPartyRequiredToGenerateInvoice=Третья сторона должна быть определена в проекте, чтобы иметь возможность выставить счет. +ChooseANotYetAssignedTask=Выберите задачу, которая вам еще не возложена # Comments trans -AllowCommentOnTask=Allow user comments on tasks -AllowCommentOnProject=Allow user comments on projects -DontHavePermissionForCloseProject=You do not have permissions to close the project %s -DontHaveTheValidateStatus=The project %s must be open to be closed -RecordsClosed=%s project(s) closed -SendProjectRef=Information project %s -ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized -NewTaskRefSuggested=Task ref already used, a new task ref is required -TimeSpentInvoiced=Time spent billed +AllowCommentOnTask=Разрешить пользователям комментировать задачи +AllowCommentOnProject=Разрешить пользователям комментировать проекты +DontHavePermissionForCloseProject=У вас нет прав на закрытие проекта %s +DontHaveTheValidateStatus=Чтобы закрыть проект %s, он должен быть открыт. +RecordsClosed=%s проект (ы) закрыт +SendProjectRef=Информационный проект %s +ModuleSalaryToDefineHourlyRateMustBeEnabled=Модуль «Заработная плата» должен быть включен, чтобы определять почасовую ставку сотрудника, чтобы время, потраченное на него, было оценено. +NewTaskRefSuggested=Ссылка на задачу уже используется, требуется новая ссылка на задачу +TimeSpentInvoiced=Время, затраченное на оплату +TimeSpentForIntervention=Время, проведенное TimeSpentForInvoice=Время, проведенное -OneLinePerUser=One line per user -ServiceToUseOnLines=Service to use on lines -InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project -ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. -ProjectFollowOpportunity=Follow opportunity -ProjectFollowTasks=Follow tasks or time spent -Usage=Usage -UsageOpportunity=Usage: Opportunity -UsageTasks=Usage: Tasks -UsageBillTimeShort=Usage: Bill time -InvoiceToUse=Draft invoice to use +OneLinePerUser=Одна строка на пользователя +ServiceToUseOnLines=Сервис для использования на линиях +InvoiceGeneratedFromTimeSpent=Счет-фактура %s была создана на основе времени, потраченного на проект +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project +ProjectBillTimeDescription=Проверьте, вводите ли вы расписание для задач проекта И планируете ли вы генерировать счет (-а) из расписания, чтобы выставить счет клиенту проекта (не проверяйте, планируете ли вы создавать счет, который не основан на введенных расписаниях). Примечание. Чтобы создать счет, перейдите на вкладку «Затраченное время» проекта и выберите строки для включения. +ProjectFollowOpportunity=Следуй за возможностью +ProjectFollowTasks=Следите за задачами или потраченным временем +Usage=Применение +UsageOpportunity=Использование: возможность +UsageTasks=Использование: Задачи +UsageBillTimeShort=Использование: время счета +InvoiceToUse=Черновик счета для использования +InterToUse=Draft intervention to use NewInvoice=Новый счёт -OneLinePerTask=One line per task -OneLinePerPeriod=One line per period -RefTaskParent=Ref. Parent Task -ProfitIsCalculatedWith=Profit is calculated using -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +NewInter=Новое посредничество +OneLinePerTask=Одна строка на задачу +OneLinePerPeriod=Одна строка за период +OneLinePerTimeSpentLine=Одна строка для каждого затраченного времени +RefTaskParent=Ref. Родительская задача +ProfitIsCalculatedWith=Прибыль рассчитывается с использованием +AddPersonToTask=Добавляйте также в задачи +UsageOrganizeEvent=Использование: Организация мероприятий +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Классифицируйте проект как закрытый, когда все его задачи будут выполнены (прогресс 100%%) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Примечание: существующие проекты со всеми задачами на 100%% не будут затронуты: вам придется закрыть их вручную. Этот параметр влияет только на открытые проекты. +SelectLinesOfTimeSpentToInvoice=Выберите строки затраченного времени, за которые не выставлены счета, затем выполните массовое действие "Сгенерировать счет-фактуру", чтобы выставить их. diff --git a/htdocs/langs/ru_RU/propal.lang b/htdocs/langs/ru_RU/propal.lang index 4575b0dc66e..f19861c10d0 100644 --- a/htdocs/langs/ru_RU/propal.lang +++ b/htdocs/langs/ru_RU/propal.lang @@ -13,16 +13,16 @@ Prospect=Проспект DeleteProp=Удалить коммерческого предложения ValidateProp=Проверка коммерческого предложения AddProp=Создать предложение -ConfirmDeleteProp=Are you sure you want to delete this commercial proposal? -ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s? -LastPropals=Latest %s proposals -LastModifiedProposals=Latest %s modified proposals +ConfirmDeleteProp=Вы уверены, что хотите удалить это коммерческое предложение? +ConfirmValidateProp=Вы уверены, что хотите подтвердить это коммерческое предложение под именем %s ? +LastPropals=Последние предложения %s +LastModifiedProposals=Последние измененные предложения %s AllPropals=Все предложения SearchAProposal=Поиск предложений -NoProposal=No proposal +NoProposal=Нет предложений ProposalsStatistics=Статистика коммерческих предложений NumberOfProposalsByMonth=Количество в месяц -AmountOfProposalsByMonthHT=Amount by month (excl. tax) +AmountOfProposalsByMonthHT=Сумма по месяцам (без налогов) NbOfProposals=Количество коммерческих предложений ShowPropal=Показать предложение PropalsDraft=Черновики @@ -33,7 +33,7 @@ PropalStatusSigned=Подпись (в законопроекте) PropalStatusNotSigned=Не подписал (закрытые) PropalStatusBilled=Billed PropalStatusDraftShort=Черновик -PropalStatusValidatedShort=Validated (open) +PropalStatusValidatedShort=Подтверждено (открыто) PropalStatusClosedShort=Закрытые PropalStatusSignedShort=Подпись PropalStatusNotSignedShort=Не подписано @@ -47,19 +47,19 @@ SendPropalByMail=Отправить коммерческое предложен DatePropal=Дата предложения DateEndPropal=Дата окончания действия ValidityDuration=Срок действия -SetAcceptedRefused=Set accepted/refused +SetAcceptedRefused=Набор принят / отклонен ErrorPropalNotFound=Пропал% не найдены AddToDraftProposals=Добавить проект коммерческого предложения NoDraftProposals=Нет проектов коммерческих дредложений CopyPropalFrom=Создание коммерческого предложения, копируя существующие предложения -CreateEmptyPropal=Create empty commercial proposal or from list of products/services +CreateEmptyPropal=Создать пустое коммерческое предложение или из списка товаров / услуг DefaultProposalDurationValidity=По умолчанию коммерческого предложения действительности продолжительность (в днях) -UseCustomerContactAsPropalRecipientIfExist=Use contact/address with type 'Contact following-up proposal' if defined instead of third party address as proposal recipient address -ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s? -ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s? +UseCustomerContactAsPropalRecipientIfExist=В качестве адреса получателя предложения используйте контакт / адрес с типом "Контактное последующее предложение", если он определен, вместо стороннего адреса. +ConfirmClonePropal=Вы уверены, что хотите клонировать коммерческое предложение %s ? +ConfirmReOpenProp=Вы уверены, что хотите снова открыть коммерческое предложение %s ? ProposalsAndProposalsLines=Коммерческое предложение и линий ProposalLine=Предложение линия -ProposalLines=Proposal lines +ProposalLines=Строки предложения AvailabilityPeriod=Наличие задержки SetAvailability=Задержка устанавливается доступность AfterOrder=после заказа @@ -74,19 +74,19 @@ AvailabilityTypeAV_1M=1 месяц TypeContact_propal_internal_SALESREPFOLL=Представитель следующие меры предложение TypeContact_propal_external_BILLING=свяжитесь со счета TypeContact_propal_external_CUSTOMER=Абонентский отдел следующие меры предложение -TypeContact_propal_external_SHIPPING=Customer contact for delivery +TypeContact_propal_external_SHIPPING=Контактное лицо для доставки # Document models -DocModelAzurDescription=A complete proposal model (old implementation of Cyan template) -DocModelCyanDescription=A complete proposal model +DocModelAzurDescription=Полная модель предложения (старая реализация шаблона Cyan) +DocModelCyanDescription=Полная модель предложения DefaultModelPropalCreate=Создание модели по умолчанию DefaultModelPropalToBill=Шаблон по умолчанию, когда закрывается коммерческое предложение (для создания счёта) DefaultModelPropalClosed=Шаблон по умолчанию, когда закрывается коммерческое предложение (не оплаченное) ProposalCustomerSignature=Письменное подтверждение, печать компании, дата и подпись -ProposalsStatisticsSuppliers=Vendor proposals statistics -CaseFollowedBy=Case followed by -SignedOnly=Signed only -IdProposal=Proposal ID -IdProduct=Product ID -PrParentLine=Proposal Parent Line -LineBuyPriceHT=Buy Price Amount net of tax for line +ProposalsStatisticsSuppliers=Статистика предложений поставщиков +CaseFollowedBy=Дело, за которым следует +SignedOnly=Только подписано +IdProposal=ID предложения +IdProduct=идантификационный номер продукта +PrParentLine=Родительская линия предложения +LineBuyPriceHT=Цена покупки Сумма без налога для строки diff --git a/htdocs/langs/ru_RU/receiptprinter.lang b/htdocs/langs/ru_RU/receiptprinter.lang index 53e99b9ccb5..8a7372218eb 100644 --- a/htdocs/langs/ru_RU/receiptprinter.lang +++ b/htdocs/langs/ru_RU/receiptprinter.lang @@ -1,82 +1,82 @@ # Dolibarr language file - Source file is en_US - receiptprinter -ReceiptPrinterSetup=Setup of module ReceiptPrinter -PrinterAdded=Printer %s added -PrinterUpdated=Printer %s updated -PrinterDeleted=Printer %s deleted -TestSentToPrinter=Test Sent To Printer %s -ReceiptPrinter=Receipt printers -ReceiptPrinterDesc=Setup of receipt printers -ReceiptPrinterTemplateDesc=Setup of Templates -ReceiptPrinterTypeDesc=Description of Receipt Printer's type -ReceiptPrinterProfileDesc=Description of Receipt Printer's Profile -ListPrinters=List of Printers -SetupReceiptTemplate=Template Setup -CONNECTOR_DUMMY=Dummy Printer -CONNECTOR_NETWORK_PRINT=Network Printer -CONNECTOR_FILE_PRINT=Local Printer -CONNECTOR_WINDOWS_PRINT=Local Windows Printer -CONNECTOR_CUPS_PRINT=Cups Printer -CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing -CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 -CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 -CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer -CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L -PROFILE_DEFAULT=Default Profile -PROFILE_SIMPLE=Simple Profile -PROFILE_EPOSTEP=Epos Tep Profile -PROFILE_P822D=P822D Profile -PROFILE_STAR=Star Profile -PROFILE_DEFAULT_HELP=Default Profile suitable for Epson printers -PROFILE_SIMPLE_HELP=Simple Profile No Graphics -PROFILE_EPOSTEP_HELP=Epos Tep Profile -PROFILE_P822D_HELP=P822D Profile No Graphics -PROFILE_STAR_HELP=Star Profile -DOL_LINE_FEED=Skip line -DOL_ALIGN_LEFT=Left align text -DOL_ALIGN_CENTER=Center text -DOL_ALIGN_RIGHT=Right align text -DOL_USE_FONT_A=Use font A of printer -DOL_USE_FONT_B=Use font B of printer -DOL_USE_FONT_C=Use font C of printer -DOL_PRINT_BARCODE=Print barcode -DOL_PRINT_BARCODE_CUSTOMER_ID=Print barcode customer id -DOL_CUT_PAPER_FULL=Cut ticket completely -DOL_CUT_PAPER_PARTIAL=Cut ticket partially -DOL_OPEN_DRAWER=Open cash drawer -DOL_ACTIVATE_BUZZER=Activate buzzer -DOL_PRINT_QRCODE=Print QR Code -DOL_PRINT_LOGO=Print logo of my company -DOL_PRINT_LOGO_OLD=Print logo of my company (old printers) -DOL_BOLD=Bold -DOL_BOLD_DISABLED=Disable bold -DOL_DOUBLE_HEIGHT=Double height size -DOL_DOUBLE_WIDTH=Double width size -DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size -DOL_UNDERLINE=Enable underline -DOL_UNDERLINE_DISABLED=Disable underline -DOL_BEEP=Beed sound -DOL_PRINT_TEXT=Print text -DateInvoiceWithTime=Invoice date and time -YearInvoice=Invoice year -DOL_VALUE_MONTH_LETTERS=Invoice month in letters -DOL_VALUE_MONTH=Invoice month -DOL_VALUE_DAY=Invoice day -DOL_VALUE_DAY_LETTERS=Inovice day in letters -DOL_LINE_FEED_REVERSE=Line feed reverse -InvoiceID=Invoice ID +ReceiptPrinterSetup=Настройка модуля ReceiptPrinter +PrinterAdded=Добавлен принтер %s +PrinterUpdated=Принтер %s обновлен +PrinterDeleted=Принтер %s удален +TestSentToPrinter=Тест отправлен на принтер %s +ReceiptPrinter=Чековые принтеры +ReceiptPrinterDesc=Настройка принтеров чеков +ReceiptPrinterTemplateDesc=Настройка шаблонов +ReceiptPrinterTypeDesc=Описание типа чекового принтера +ReceiptPrinterProfileDesc=Описание профиля чекового принтера +ListPrinters=Список принтеров +SetupReceiptTemplate=Настройка шаблона +CONNECTOR_DUMMY=Фиктивный принтер +CONNECTOR_NETWORK_PRINT=Сетевой принтер +CONNECTOR_FILE_PRINT=Локальный принтер +CONNECTOR_WINDOWS_PRINT=Локальный принтер Windows +CONNECTOR_CUPS_PRINT=Чашки Принтер +CONNECTOR_DUMMY_HELP=Поддельный принтер для тестирования, ничего не делает +CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 +CONNECTOR_FILE_PRINT_HELP=/ Дев / USB / LP0, / Дев / USB / LP1 +CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: secret @ computername / workgroup / Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=Имя принтера CUPS, пример: HPRT_TP805L +PROFILE_DEFAULT=Профиль по умолчанию +PROFILE_SIMPLE=Простой профиль +PROFILE_EPOSTEP=Epos Tep Профиль +PROFILE_P822D=P822D Профиль +PROFILE_STAR=Звездный Профиль +PROFILE_DEFAULT_HELP=Профиль по умолчанию, подходящий для принтеров Epson +PROFILE_SIMPLE_HELP=Простой профиль без графики +PROFILE_EPOSTEP_HELP=Epos Tep Профиль +PROFILE_P822D_HELP=Профиль P822D без графики +PROFILE_STAR_HELP=Звездный Профиль +DOL_LINE_FEED=Пропустить линию +DOL_ALIGN_LEFT=Выровнять текст по левому краю +DOL_ALIGN_CENTER=Текст по центру +DOL_ALIGN_RIGHT=Выровнять текст по правому краю +DOL_USE_FONT_A=Используйте шрифт A принтера +DOL_USE_FONT_B=Используйте шрифт B принтера +DOL_USE_FONT_C=Используйте шрифт C принтера +DOL_PRINT_BARCODE=Распечатать штрих-код +DOL_PRINT_BARCODE_CUSTOMER_ID=Распечатать штрих-код идентификатора клиента +DOL_CUT_PAPER_FULL=Полностью отрезать билет +DOL_CUT_PAPER_PARTIAL=Частично сократить билет +DOL_OPEN_DRAWER=Открытый денежный ящик +DOL_ACTIVATE_BUZZER=Активировать зуммер +DOL_PRINT_QRCODE=Распечатать QR-код +DOL_PRINT_LOGO=Печать логотипа моей компании +DOL_PRINT_LOGO_OLD=Распечатать логотип моей компании (старые принтеры) +DOL_BOLD=Полужирный +DOL_BOLD_DISABLED=Отключить жирный шрифт +DOL_DOUBLE_HEIGHT=Размер двойной высоты +DOL_DOUBLE_WIDTH=Размер двойной ширины +DOL_DEFAULT_HEIGHT_WIDTH=Высота и ширина по умолчанию +DOL_UNDERLINE=Включить подчеркивание +DOL_UNDERLINE_DISABLED=Отключить подчеркивание +DOL_BEEP=Звуковой сигнал +DOL_PRINT_TEXT=Печатать текст +DateInvoiceWithTime=Дата и время выставления счета +YearInvoice=Год выставления счета +DOL_VALUE_MONTH_LETTERS=Месяц счета-фактуры буквами +DOL_VALUE_MONTH=Счет-фактура месяц +DOL_VALUE_DAY=День выставления счета +DOL_VALUE_DAY_LETTERS=День иновице в письмах +DOL_LINE_FEED_REVERSE=Перенос строки в обратном направлении +InvoiceID=Идентификатор счета InvoiceRef=Референс Счета-фактуры -DOL_PRINT_OBJECT_LINES=Invoice lines -DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name -DOL_VALUE_CUSTOMER_LASTNAME=Customer last name -DOL_VALUE_CUSTOMER_MAIL=Customer mail -DOL_VALUE_CUSTOMER_PHONE=Customer phone -DOL_VALUE_CUSTOMER_MOBILE=Customer mobile -DOL_VALUE_CUSTOMER_SKYPE=Customer Skype -DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number -DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance -DOL_VALUE_MYSOC_NAME=Your company name -VendorLastname=Vendor last name -VendorFirstname=Vendor first name -VendorEmail=Vendor email -DOL_VALUE_CUSTOMER_POINTS=Customer points -DOL_VALUE_OBJECT_POINTS=Object points +DOL_PRINT_OBJECT_LINES=Строки счета-фактуры +DOL_VALUE_CUSTOMER_FIRSTNAME=Имя клиента +DOL_VALUE_CUSTOMER_LASTNAME=Фамилия клиента +DOL_VALUE_CUSTOMER_MAIL=Почта клиента +DOL_VALUE_CUSTOMER_PHONE=Телефон клиента +DOL_VALUE_CUSTOMER_MOBILE=Мобильный клиент +DOL_VALUE_CUSTOMER_SKYPE=Клиент Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Налоговый номер клиента +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Баланс клиентского счета +DOL_VALUE_MYSOC_NAME=Название вашей компании +VendorLastname=Фамилия продавца +VendorFirstname=Имя продавца +VendorEmail=Электронная почта поставщика +DOL_VALUE_CUSTOMER_POINTS=Клиентские баллы +DOL_VALUE_OBJECT_POINTS=Очки объекта diff --git a/htdocs/langs/ru_RU/receptions.lang b/htdocs/langs/ru_RU/receptions.lang index 62a309402db..00bb6048dd4 100644 --- a/htdocs/langs/ru_RU/receptions.lang +++ b/htdocs/langs/ru_RU/receptions.lang @@ -1,26 +1,26 @@ # Dolibarr language file - Source file is en_US - receptions -ReceptionsSetup=Product Reception setup -RefReception=Ref. reception +ReceptionsSetup=Настройка приема продукции +RefReception=Ref. прием Reception=В процессе -Receptions=Receptions -AllReceptions=All Receptions +Receptions=Приемы +AllReceptions=Все приемы Reception=В процессе -Receptions=Receptions -ShowReception=Show Receptions -ReceptionsArea=Receptions area -ListOfReceptions=List of receptions -ReceptionMethod=Reception method -LastReceptions=Latest %s receptions -StatisticsOfReceptions=Statistics for receptions -NbOfReceptions=Number of receptions -NumberOfReceptionsByMonth=Number of receptions by month -ReceptionCard=Reception card -NewReception=New reception -CreateReception=Create reception -QtyInOtherReceptions=Qty in other receptions -OtherReceptionsForSameOrder=Other receptions for this order -ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order -ReceptionsToValidate=Receptions to validate +Receptions=Приемы +ShowReception=Показать приемы +ReceptionsArea=Приемная +ListOfReceptions=Список приемов +ReceptionMethod=Метод приема +LastReceptions=Последние поступления %s +StatisticsOfReceptions=Статистика по приемам +NbOfReceptions=Количество приемов +NumberOfReceptionsByMonth=Количество приемов по месяцам +ReceptionCard=Приемная карта +NewReception=Новый прием +CreateReception=Создать прием +QtyInOtherReceptions=Кол-во в других приемах +OtherReceptionsForSameOrder=Другие приемы по этому заказу +ReceptionsAndReceivingForSameOrder=Квитанции и чеки по этому заказу +ReceptionsToValidate=Приемы для проверки StatusReceptionCanceled=Отменена StatusReceptionDraft=Проект StatusReceptionValidated=Утверждена (товары для отправки или уже отправлены) @@ -28,20 +28,20 @@ StatusReceptionProcessed=Обработано StatusReceptionDraftShort=Проект StatusReceptionValidatedShort=Утверждена StatusReceptionProcessedShort=Обработано -ReceptionSheet=Reception sheet -ConfirmDeleteReception=Are you sure you want to delete this reception? -ConfirmValidateReception=Are you sure you want to validate this reception with reference %s? -ConfirmCancelReception=Are you sure you want to cancel this reception? -StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known). -SendReceptionByEMail=Send reception by email -SendReceptionRef=Submission of reception %s -ActionsOnReception=Events on reception -ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card. -ReceptionLine=Reception line -ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received -ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions. -ReceptionsNumberingModules=Numbering module for receptions -ReceptionsReceiptModel=Document templates for receptions -NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionSheet=Лист приема +ConfirmDeleteReception=Вы уверены, что хотите удалить этот прием? +ConfirmValidateReception=Вы уверены, что хотите подтвердить этот прием со ссылкой %s ? +ConfirmCancelReception=Вы уверены, что хотите отменить этот прием? +StatsOnReceptionsOnlyValidated=Статистика по приемам только проверенная. Используемая дата - это дата подтверждения приема (планируемая дата доставки не всегда известна). +SendReceptionByEMail=Отправить получение по электронной почте +SendReceptionRef=Подача приема %s +ActionsOnReception=События на приеме +ReceptionCreationIsDoneFromOrder=На данный момент создание новой рецепции происходит из карточки заказа. +ReceptionLine=Линия приема +ProductQtyInReceptionAlreadySent=Количество товара из уже отправленного открытого заказа на продажу +ProductQtyInSuppliersReceptionAlreadyRecevied=Количество продукта из открытого заказа поставщика уже получено +ValidateOrderFirstBeforeReception=Вы должны сначала подтвердить заказ, прежде чем сможете проводить приемы. +ReceptionsNumberingModules=Модуль нумерации приемных +ReceptionsReceiptModel=Шаблоны документов для приемов +NoMorePredefinedProductToDispatch=Больше нет готовых продуктов для отправки +ReceptionExist=Прием существует diff --git a/htdocs/langs/ru_RU/recruitment.lang b/htdocs/langs/ru_RU/recruitment.lang index 29b7874b6ee..e6ec4e88b0e 100644 --- a/htdocs/langs/ru_RU/recruitment.lang +++ b/htdocs/langs/ru_RU/recruitment.lang @@ -18,59 +18,59 @@ # # Module label 'ModuleRecruitmentName' -ModuleRecruitmentName = Recruitment +ModuleRecruitmentName = Рекрутинг # Module description 'ModuleRecruitmentDesc' -ModuleRecruitmentDesc = Manage and follow recruitment campaigns for new job positions +ModuleRecruitmentDesc = Управляйте кампаниями по найму на новые рабочие места и следите за ними # # Admin page # -RecruitmentSetup = Recruitment setup +RecruitmentSetup = Настройка набора Settings = Настройки -RecruitmentSetupPage = Enter here the setup of main options for the recruitment module -RecruitmentArea=Recruitement area -PublicInterfaceRecruitmentDesc=Public pages of jobs are public URLs to show and answer to open jobs. There is one different link for each open job, found on each job record. -EnablePublicRecruitmentPages=Enable public pages of open jobs +RecruitmentSetupPage = Введите здесь настройки основных опций модуля найма +RecruitmentArea=Рекрутинговая зона +PublicInterfaceRecruitmentDesc=Публичные страницы вакансий - это общедоступные URL-адреса для отображения открытых вакансий и ответа на них. Для каждой открытой вакансии есть одна отдельная ссылка, которая находится в каждой записи о вакансии. +EnablePublicRecruitmentPages=Включить публичные страницы открытых вакансий # # About page # About = О -RecruitmentAbout = About Recruitment -RecruitmentAboutPage = Recruitment about page -NbOfEmployeesExpected=Expected nb of employees -JobLabel=Label of job position -WorkPlace=Work place -DateExpected=Expected date -FutureManager=Future manager -ResponsibleOfRecruitement=Responsible of recruitment -IfJobIsLocatedAtAPartner=If job is located at a partner place +RecruitmentAbout = О найме +RecruitmentAboutPage = Рекрутинг о странице +NbOfEmployeesExpected=Ожидаемое количество сотрудников +JobLabel=Ярлык должности +WorkPlace=Рабочее место +DateExpected=Ожидаемая дата +FutureManager=Будущий менеджер +ResponsibleOfRecruitement=Ответственный за набор +IfJobIsLocatedAtAPartner=Если работа находится у партнера PositionToBeFilled=Должность -PositionsToBeFilled=Job positions -ListOfPositionsToBeFilled=List of job positions -NewPositionToBeFilled=New job positions +PositionsToBeFilled=Вакансии +ListOfPositionsToBeFilled=Список вакансий +NewPositionToBeFilled=Новые рабочие места -JobOfferToBeFilled=Job position to be filled -ThisIsInformationOnJobPosition=Information of the job position to be filled -ContactForRecruitment=Contact for recruitment -EmailRecruiter=Email recruiter -ToUseAGenericEmail=To use a generic email. If not defined, the email of the responsible of recruitment will be used -NewCandidature=New application -ListOfCandidatures=List of applications -RequestedRemuneration=Requested remuneration -ProposedRemuneration=Proposed remuneration -ContractProposed=Contract proposed -ContractSigned=Contract signed -ContractRefused=Contract refused -RecruitmentCandidature=Application -JobPositions=Job positions -RecruitmentCandidatures=Applications -InterviewToDo=Interview to do -AnswerCandidature=Application answer -YourCandidature=Your application -YourCandidatureAnswerMessage=Thanks you for your application.
    ... -JobClosedTextCandidateFound=The job position is closed. The position has been filled. -JobClosedTextCanceled=The job position is closed. -ExtrafieldsJobPosition=Complementary attributes (job positions) -ExtrafieldsApplication=Complementary attributes (job applications) -MakeOffer=Make an offer +JobOfferToBeFilled=Должность быть заполнена +ThisIsInformationOnJobPosition=Информация о вакансии, которую необходимо заполнить +ContactForRecruitment=Контакт для набора +EmailRecruiter=Написать рекрутеру +ToUseAGenericEmail=Чтобы использовать общий адрес электронной почты. Если не определено, будет использоваться адрес электронной почты ответственного за набор персонала. +NewCandidature=Новое приложение +ListOfCandidatures=Список приложений +RequestedRemuneration=Запрошенное вознаграждение +ProposedRemuneration=Предлагаемое вознаграждение +ContractProposed=Предлагаемый контракт +ContractSigned=Контракт подписан +ContractRefused=Контракт отклонен +RecruitmentCandidature=Заявление +JobPositions=Вакансии +RecruitmentCandidatures=Приложения +InterviewToDo=Интервью делать +AnswerCandidature=Ответ приложения +YourCandidature=Ваше приложение +YourCandidatureAnswerMessage=Спасибо за заявку.
    ... +JobClosedTextCandidateFound=Вакансия закрыта. Вакансия заполнена. +JobClosedTextCanceled=Вакансия закрыта. +ExtrafieldsJobPosition=Дополнительные атрибуты (должности) +ExtrafieldsApplication=Дополнительные атрибуты (заявления о приеме на работу) +MakeOffer=Сделай предложение diff --git a/htdocs/langs/ru_RU/resource.lang b/htdocs/langs/ru_RU/resource.lang index 11ab6d3ba69..48c7ae8fd50 100644 --- a/htdocs/langs/ru_RU/resource.lang +++ b/htdocs/langs/ru_RU/resource.lang @@ -34,3 +34,6 @@ IdResource=Ресурс Id AssetNumber=Серийный номер ResourceTypeCode=Код типа ресурса ImportDataset_resource_1=Ресурсы + +ErrorResourcesAlreadyInUse=Некоторые ресурсы уже используются +ErrorResourceUseInEvent=%s используется в событии %s diff --git a/htdocs/langs/ru_RU/salaries.lang b/htdocs/langs/ru_RU/salaries.lang index a9ed4d4a6f7..8351f178b75 100644 --- a/htdocs/langs/ru_RU/salaries.lang +++ b/htdocs/langs/ru_RU/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Учет используется для пользователей контрагентов SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Выделенный бухгалтерский счет, указанный в карточке пользователя, будет использоваться только для учета во вспомогательной книги. Этот будет использоваться для Главной книги и в качестве значения по умолчанию для учета вспомогательной книги, если выделенная пользовательский бухгалтерский счет для пользователя не определен. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Бухгалтерский счет по умолчанию для выплат заработной платы +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=По умолчанию оставьте пустым параметр «Автоматически создавать общий платеж» при создании зарплаты. Salary=Зарплата Salaries=Зарплаты -NewSalaryPayment=Новая выплата зарплаты +NewSalary=Новая зарплата +NewSalaryPayment=Новая зарплатная карта AddSalaryPayment=Добавить выплату зарплаты SalaryPayment=Выплата зарплаты SalariesPayments=Выплата зарплат +SalariesPaymentsOf=Выплата заработной платы %s ShowSalaryPayment=Показать выплату зарплаты THM=Средняя почасовая ставка TJM=Среднесуточная ставка CurrentSalary=Текущая зарплата THMDescription=Это значение может использоваться для расчета затрат времени, затраченного на проект, введенный пользователями, если используется модуль Проектов TJMDescription=Это значение в настоящее время только для информации и не используется для каких-либо расчетов -LastSalaries=Последние%s выплат зарплаты -AllSalaries=Все выплаты зарплаты +LastSalaries=Последние зарплаты %s +AllSalaries=Все зарплаты SalariesStatistics=Статистика зарплаты -# Export SalariesAndPayments=Заработная плата и выплаты +ConfirmDeleteSalaryPayment=Вы хотите удалить эту зарплату? diff --git a/htdocs/langs/ru_RU/sendings.lang b/htdocs/langs/ru_RU/sendings.lang index 568dcf4572f..9849a894a5c 100644 --- a/htdocs/langs/ru_RU/sendings.lang +++ b/htdocs/langs/ru_RU/sendings.lang @@ -5,12 +5,12 @@ Sendings=Поставки AllSendings=Все поставки Shipment=Поставка Shipments=Поставки -ShowSending=Show Shipments -Receivings=Delivery Receipts +ShowSending=Показать поставки +Receivings=Квитанции о доставке SendingsArea=Раздел поставок ListOfSendings=Список поставок SendingMethod=Метод отправки -LastSendings=Latest %s shipments +LastSendings=Последние поставки %s StatisticsOfSendings=Статистика поставок NbOfSendings=Число поставок NumberOfShipmentsByMonth=Количество поставок по месяцам @@ -18,16 +18,16 @@ SendingCard=Карточка поставки NewSending=Новая поставка CreateShipment=Создать поставку QtyShipped=Количество отгруженных -QtyShippedShort=Qty ship. -QtyPreparedOrShipped=Qty prepared or shipped +QtyShippedShort=Кол-во кораблей. +QtyPreparedOrShipped=Кол-во подготовленных или отправленных QtyToShip=Количество для отправки -QtyToReceive=Qty to receive +QtyToReceive=Кол-во для получения QtyReceived=Количество получено -QtyInOtherShipments=Qty in other shipments +QtyInOtherShipments=Кол-во в других поставках KeepToShip=Осталось отправить -KeepToShipShort=Remain +KeepToShipShort=Оставаться OtherSendingsForSameOrder=Другие поставки для этого заказа -SendingsAndReceivingForSameOrder=Shipments and receipts for this order +SendingsAndReceivingForSameOrder=Отгрузки и квитанции по этому заказу SendingsToValidate=Поставки для проверки StatusSendingCanceled=Отменена StatusSendingCanceledShort=Отменена @@ -38,39 +38,39 @@ StatusSendingDraftShort=Черновик StatusSendingValidatedShort=Утверждена StatusSendingProcessedShort=Обработано SendingSheet=Лист поставки -ConfirmDeleteSending=Are you sure you want to delete this shipment? -ConfirmValidateSending=Are you sure you want to validate this shipment with reference %s? -ConfirmCancelSending=Are you sure you want to cancel this shipment? +ConfirmDeleteSending=Вы уверены, что хотите удалить этот груз? +ConfirmValidateSending=Вы уверены, что хотите подтвердить эту отправку со ссылкой %s ? +ConfirmCancelSending=Вы уверены, что хотите отменить эту доставку? DocumentModelMerou=Модель A5 WarningNoQtyLeftToSend=Внимание, нет товаров ожидающих отправки. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Статистика предназначена только для подтвержденных отправлений. Используемая дата - это дата подтверждения отгрузки (плановая дата доставки не всегда известна) DateDeliveryPlanned=Планируемая дата доставки -RefDeliveryReceipt=Ref delivery receipt -StatusReceipt=Status delivery receipt +RefDeliveryReceipt=Квитанция о доставке реф. +StatusReceipt=Квитанция о доставке статуса DateReceived=Дата доставки получена -ClassifyReception=Classify reception -SendShippingByEMail=Send shipment by email +ClassifyReception=Классифицируйте прием +SendShippingByEMail=Отправить посылку по электронной почте SendShippingRef=Представление поставки %s ActionsOnShipping=События поставки LinkToTrackYourPackage=Ссылка на номер для отслеживания посылки ShipmentCreationIsDoneFromOrder=На данный момент, создание новой поставки закончено из карточки заказа. ShipmentLine=Линия поставки -ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders -ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders -ProductQtyInShipmentAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from open purchase orders already received -NoProductToShipFoundIntoStock=No product to ship found in warehouse %s. Correct stock or go back to choose another warehouse. -WeightVolShort=Weight/Vol. -ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments. +ProductQtyInCustomersOrdersRunning=Количество продукта из открытых заказов на продажу +ProductQtyInSuppliersOrdersRunning=Количество товара из открытых заказов на поставку +ProductQtyInShipmentAlreadySent=Количество товара из уже отправленного открытого заказа на продажу +ProductQtyInSuppliersShipmentAlreadyRecevied=Количество товаров из открытых заказов на поставку уже получено +NoProductToShipFoundIntoStock=Товаров для отправки не обнаружено на складе %s . Исправьте запас или вернитесь, чтобы выбрать другой склад. +WeightVolShort=Вес / об. +ValidateOrderFirstBeforeShipment=Вы должны сначала подтвердить заказ перед отправкой. # Sending methods # ModelDocument DocumentModelTyphon=Более полная модель документа для доставки квитанций (logo. ..) -DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) +DocumentModelStorm=Более полная модель документа для квитанций о доставке и совместимость дополнительных полей (логотип ...) Error_EXPEDITION_ADDON_NUMBER_NotDefined=Постоянное EXPEDITION_ADDON_NUMBER не определена SumOfProductVolumes=Сумма сторон товара SumOfProductWeights=Вес товара в сумме # warehouse details DetailWarehouseNumber= Детали склада -DetailWarehouseFormat= W:%s (Qty: %d) +DetailWarehouseFormat= W: %s (Кол-во: %d) diff --git a/htdocs/langs/ru_RU/sms.lang b/htdocs/langs/ru_RU/sms.lang index 207028fa0e7..d5b0935c2ff 100644 --- a/htdocs/langs/ru_RU/sms.lang +++ b/htdocs/langs/ru_RU/sms.lang @@ -1,9 +1,9 @@ # Dolibarr language file - Source file is en_US - sms Sms=Sms -SmsSetup=Настройка Sms -SmsDesc=Эта страница позволяет задать глобальные параметры SMS функций +SmsSetup=Настройка SMS +SmsDesc=На этой странице можно определить глобальные параметры функций SMS. SmsCard=Карточка SMS -AllSms=Все SMS-кампании +AllSms=Все СМС кампании SmsTargets=Получатели SmsRecipients=Получатели SmsRecipient=Получатель @@ -13,20 +13,20 @@ SmsTo=Получатель SmsTopic=Тема SMS SmsText=Сообщение SmsMessage=SMS-сообщение -ShowSms=Показать SMS +ShowSms=Показать СМС ListOfSms=Список SMS-кампаний -NewSms=Новая SMS-кампания -EditSms=Изменить SMS +NewSms=Новая СМС кампания +EditSms=Редактировать SMS ResetSms=Новая рассылка -DeleteSms=Удалить SMS-кампанию. +DeleteSms=Удалить СМС кампанию DeleteASms=Удалить SMS-кампанию -PreviewSms=Предварительный просмотр SMS -PrepareSms=Подготовка SMS -CreateSms=Создать SMS -SmsResult=Результат отправки SMS -TestSms=Тест SMS -ValidSms=Проверить SMS -ApproveSms=Утвердить Sms +PreviewSms=Предыдущее SMS +PrepareSms=Подготовить СМС +CreateSms=Создать СМС +SmsResult=Результат отправки СМС +TestSms=Тестовое СМС +ValidSms=Подтвердить SMS +ApproveSms=Подтвердить SMS SmsStatusDraft=Проект SmsStatusValidated=Проверено SmsStatusApproved=Утверждено @@ -35,17 +35,17 @@ SmsStatusSentPartialy=Отправленные частично SmsStatusSentCompletely=Отправленные полностью SmsStatusError=Ошибка SmsStatusNotSent=Не отправлено -SmsSuccessfulySent=SMS отправлено корректно (от %s к %s) +SmsSuccessfulySent=SMS отправлено правильно (с %s на %s) ErrorSmsRecipientIsEmpty=Список получателей пуст. WarningNoSmsAdded=Нет новых номеров телефонов, чтобы добавить в целевой список -ConfirmValidSms=Do you confirm validation of this campain? +ConfirmValidSms=Вы подтверждаете валидацию этой кампании? NbOfUniqueSms=Кол-во уникальных телефонных номеров -NbOfSms=Кол-во телефонных номеров +NbOfSms=№ телефонных номеров ThisIsATestMessage=Это тестовое сообщение SendSms=Отправить SMS SmsInfoCharRemain=Кол-во оставшихся символов -SmsInfoNumero= (В международном формате, т.е.: +71234567890) +SmsInfoNumero= (международный формат, например: +33899701761) DelayBeforeSending=Задержка перед отправкой (в минутах) -SmsNoPossibleSenderFound=No sender available. Check setup of your SMS provider. +SmsNoPossibleSenderFound=Отправитель недоступен. Проверьте настройки вашего SMS-провайдера. SmsNoPossibleRecipientFound=Нет доступных получателей. Проверьте настройки вашего провайдера SMS. -DisableStopIfSupported=Disable STOP message (if supported) +DisableStopIfSupported=Отключить сообщение STOP (если поддерживается) diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index b117c151467..c58eff92cfa 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -2,256 +2,262 @@ WarehouseCard=Карточка склада Warehouse=Склад Warehouses=Склады -ParentWarehouse=Parent warehouse -NewWarehouse=New warehouse / Stock Location +ParentWarehouse=Материнский склад +NewWarehouse=Новый склад / Расположение склада WarehouseEdit=Редактировать склад MenuNewWarehouse=Новый склад WarehouseSource=Источник склад WarehouseSourceNotDefined=Склад не определен, -AddWarehouse=Create warehouse +AddWarehouse=Создать склад AddOne=Добавить -DefaultWarehouse=Default warehouse +DefaultWarehouse=Склад по умолчанию WarehouseTarget=Целевой показатель на складе ValidateSending=Удалить отправку CancelSending=Отменить отправку DeleteSending=Удалить отправку Stock=Фондовый Stocks=Акции -MissingStocks=Missing stocks -StockAtDate=Stocks at date -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future -StocksByLotSerial=Stocks by lot/serial -LotSerial=Lots/Serials -LotSerialList=List of lot/serials +MissingStocks=Недостающие запасы +StockAtDate=Запасы на дату +StockAtDateInPast=Дата в прошлом +StockAtDateInFuture=Дата в будущем +StocksByLotSerial=Запасы по лотам / сериям +LotSerial=Лоты / Сериалы +LotSerialList=Список лотов / сериалов Movements=Перевозкой ErrorWarehouseRefRequired=Склад ссылкой зовут требуется ListOfWarehouses=Список складов ListOfStockMovements=Список акций движения -ListOfInventories=List of inventories -MovementId=Movement ID -StockMovementForId=Movement ID %d -ListMouvementStockProject=List of stock movements associated to project +ListOfInventories=Список инвентаря +MovementId=ID движения +StockMovementForId=Идентификатор движения %d +ListMouvementStockProject=Список движения запасов, связанных с проектом StocksArea=Раздел "Склад" -AllWarehouses=All warehouses -IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock -IncludeAlsoDraftOrders=Include also draft orders +AllWarehouses=Все склады +IncludeEmptyDesiredStock=Включите также отрицательный запас с неопределенным желаемым запасом +IncludeAlsoDraftOrders=Включите также проекты заказов Location=Вместо -LocationSummary=Short name of location -NumberOfDifferentProducts=Number of unique products +LocationSummary=Краткое название локации +NumberOfDifferentProducts=Количество уникальных товаров NumberOfProducts=Общее количество продукции -LastMovement=Latest movement -LastMovements=Latest movements +LastMovement=Последнее движение +LastMovements=Последние движения Units=Единицы Unit=Единица -StockCorrection=Stock correction +StockCorrection=Коррекция запаса CorrectStock=Исправить склад StockTransfer=Перевод остатков -TransferStock=Transfer stock -MassStockTransferShort=Mass stock transfer -StockMovement=Stock movement -StockMovements=Stock movements +TransferStock=Перенести запас +MassStockTransferShort=Массовый перенос запаса +StockMovement=Движение запасов +StockMovements=Движение запасов NumberOfUnit=Количество единиц UnitPurchaseValue=Себестоимость единицы StockTooLow=Фондовый слишком низкими -StockLowerThanLimit=Stock lower than alert limit (%s) +StockLowerThanLimit=Запас ниже предела оповещения (%s) EnhancedValue=Значение -PMPValue=Значение -PMPValueShort=WAP EnhancedValueOfWarehouses=Склады стоимости -UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user -AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product -RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals -WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders -UserDefaultWarehouse=Set a warehouse on Users -MainDefaultWarehouse=Default warehouse -MainDefaultWarehouseUser=Use a default warehouse for each user -MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. -IndependantSubProductStock=Product stock and subproduct stock are independent +UserWarehouseAutoCreate=Автоматическое создание хранилища пользователей при создании пользователя +AllowAddLimitStockByWarehouse=Управляйте также стоимостью минимального и желаемого запаса для каждой пары (продукт-склад) в дополнение к стоимости минимального и желаемого запаса для каждого продукта. +RuleForWarehouse=Правило для складов +WarehouseAskWarehouseOnThirparty=Настроить склад на Сторонних +WarehouseAskWarehouseDuringPropal=Установить склад по коммерческим предложениям +WarehouseAskWarehouseDuringOrder=Настроить склад на Распродажу заказов +UserDefaultWarehouse=Настроить склад для пользователей +MainDefaultWarehouse=Склад по умолчанию +MainDefaultWarehouseUser=Использовать хранилище по умолчанию для каждого пользователя +MainDefaultWarehouseUserDesc=При активации этой опции при создании продукта на нем будет определен склад, присвоенный продукту. Если для пользователя не определен склад, определяется склад по умолчанию. +IndependantSubProductStock=Товарный запас и запас вторичного продукта независимы друг от друга. QtyDispatched=Количество направил QtyDispatchedShort=Кол-во отправлено QtyToDispatchShort=Кол-во на отправку -OrderDispatch=Item receipts -RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated) -RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated) -DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note -DeStockOnValidateOrder=Decrease real stocks on validation of sales order -DeStockOnShipment=Decrease real stocks on shipping validation -DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed -ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note -ReStockOnValidateOrder=Increase real stocks on purchase order approval -ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods -StockOnReception=Increase real stocks on validation of reception -StockOnReceptionOnClosing=Increase real stocks when reception is set to closed +OrderDispatch=Получение товара +RuleForStockManagementDecrease=Выберите Правило для автоматического уменьшения запаса (ручное уменьшение всегда возможно, даже если активировано правило автоматического уменьшения) +RuleForStockManagementIncrease=Выберите Правило для автоматического увеличения запаса (ручное увеличение всегда возможно, даже если активировано правило автоматического увеличения) +DeStockOnBill=Уменьшение реальных запасов при проверке счета-фактуры / кредитового авизо клиента +DeStockOnValidateOrder=Уменьшение реальных запасов при подтверждении заказа на продажу +DeStockOnShipment=Уменьшите реальные запасы при проверке доставки +DeStockOnShipmentOnClosing=Уменьшите реальные запасы, когда отгрузка закрыта +ReStockOnBill=Увеличение реальных запасов при проверке счета-фактуры / кредитового авизо поставщика +ReStockOnValidateOrder=Увеличение реальных запасов при утверждении заказа на поставку +ReStockOnDispatchOrder=Увеличение реальных запасов при ручной отгрузке на склад, после поступления товара на заказ. +StockOnReception=Увеличение реальных запасов при подтверждении приема +StockOnReceptionOnClosing=Увеличивайте реальные запасы, когда прием закрыт OrderStatusNotReadyToDispatch=Заказ еще не или не более статуса, который позволяет отправку товаров на складе склады. -StockDiffPhysicTeoric=Explanation for difference between physical and virtual stock +StockDiffPhysicTeoric=Объяснение разницы между физическим и виртуальным складом NoPredefinedProductToDispatch=Нет предопределенного продуктов для данного объекта. Так что не диспетчеризации в акции не требуется. DispatchVerb=Отправка StockLimitShort=Граница предупреждения StockLimit=Граница предупреждения о запасе на складе -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. -PhysicalStock=Physical Stock +StockLimitDesc=(пусто) означает отсутствие предупреждения.
    0 может использоваться для запуска предупреждения, как только запас заканчивается. +PhysicalStock=Физический запас RealStock=Real фондовая -RealStockDesc=Physical/real stock is the stock currently in the warehouses. -RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module): +RealStockDesc=Физические / реальные запасы - это запасы, находящиеся в настоящее время на складах. +RealStockWillAutomaticallyWhen=Реальный запас будет изменен в соответствии с этим правилом (как определено в модуле Stock): VirtualStock=Виртуальный запас -VirtualStockAtDate=Virtual stock at date -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) -AtDate=At date +VirtualStockAtDate=Виртуальный запас на дату +VirtualStockAtDateDesc=Виртуальный запас, когда все отложенные заказы, которые планируется обработать до выбранной даты, будут завершены +VirtualStockDesc=Виртуальный запас - это рассчитанный запас, доступный после того, как все открытые / ожидающие действия (которые влияют на запасы) закрыты (полученные заказы на покупку, отправленные заказы на продажу, созданные заказы на производство и т. Д.) +AtDate=На дату IdWarehouse=Идентификатор склад DescWareHouse=Описание склада LieuWareHouse=Локализация склад WarehousesAndProducts=Склады и продукты -WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +WarehousesAndProductsBatchDetail=Склады и продукция (с детализацией по партии / серии) AverageUnitPricePMPShort=Значение -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=Входная средняя цена за единицу, которую мы должны были потратить, чтобы получить 1 единицу продукта на нашем складе. SellPriceMin=Продажа Цена за штуку -EstimatedStockValueSellShort=Value for sell -EstimatedStockValueSell=Value for sell +EstimatedStockValueSellShort=Цена на продажу +EstimatedStockValueSell=Цена на продажу EstimatedStockValueShort=Ориентировочная стоимость товарно-материальных запасов EstimatedStockValue=Ориентировочная стоимость товарно-материальных запасов DeleteAWarehouse=Удалить склад -ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s? +ConfirmDeleteWarehouse=Вы действительно хотите удалить склад %s ? PersonalStock=Личный %s складе ThisWarehouseIsPersonalStock=Этот склад представляет собой персональный запас %s %s SelectWarehouseForStockDecrease=Выберите хранилище, чтобы использовать для снижения акции SelectWarehouseForStockIncrease=Выберите склад для использования в запас увеличения -NoStockAction=No stock action -DesiredStock=Desired Stock -DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. +NoStockAction=Нет акции +DesiredStock=Желаемый запас +DesiredStockDesc=Эта сумма запаса будет значением, используемым для пополнения запаса с помощью функции пополнения. StockToBuy=На заказ Replenishment=Пополнение ReplenishmentOrders=Заказ на пополнение -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +VirtualDiffersFromPhysical=В зависимости от опций увеличения / уменьшения запаса физические запасы и виртуальные запасы (физические запасы + открытые заказы) могут отличаться. +UseRealStockByDefault=Используйте реальный запас вместо виртуального для функции пополнения +ReplenishmentCalculation=Сумма заказа будет (желаемое количество - реальный запас) вместо (желаемое количество - виртуальный запас) UseVirtualStock=Использовать виртуальный склад UsePhysicalStock=Использовать физические запасы -CurentSelectionMode=Current selection mode +CurentSelectionMode=Текущий режим выбора CurentlyUsingVirtualStock=Виртуальный запас CurentlyUsingPhysicalStock=Физический запас RuleForStockReplenishment=Правило для пополнения запасов -SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor +SelectProductWithNotNullQty=Выберите хотя бы один продукт с кол-во, не равным нулю, и поставщика AlertOnly= Только предупреждения -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +IncludeProductWithUndefinedAlerts = Включите также отрицательный запас для продуктов, количество которых не определено, чтобы восстановить их до 0. WarehouseForStockDecrease=Склад %s будет использован для уменьшения остатка WarehouseForStockIncrease=Склад %s будет использован для увеличения остатка ForThisWarehouse=Для этого склада -ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference. -ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. -ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. +ReplenishmentStatusDesc=Это список всех продуктов, запас которых ниже желаемого (или ниже значения предупреждения, если установлен флажок «Только предупреждение»). Используя флажок, вы можете создавать заказы на покупку, чтобы компенсировать разницу. +ReplenishmentStatusDescPerWarehouse=Если вы хотите пополнить запасы на основе желаемого количества, определенного для каждого склада, вы должны добавить фильтр на склад. +ReplenishmentOrdersDesc=Это список всех открытых заказов на покупку, включая предварительно определенные продукты. Здесь отображаются только открытые заказы на предопределенные продукты, поэтому заказы, которые могут повлиять на запасы, видны здесь. Replenishments=Пополнения NbOfProductBeforePeriod=Количество продукта %s в остатке на начало выбранного периода (< %s) NbOfProductAfterPeriod=Количество продукта %s в остатке на конец выбранного периода (< %s) MassMovement=Массовое перемещение -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". -RecordMovement=Record transfer +SelectProductInAndOutWareHouse=Выберите исходный склад и целевой склад, продукт и количество, затем щелкните «%s». Как только это будет сделано для всех необходимых перемещений, нажмите «%s». +RecordMovement=Запись передачи ReceivingForSameOrder=Получатели заказа StockMovementRecorded=Перемещения остатков записаны RuleForStockAvailability=Правила и требования к запасу на складе -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever the rule for automatic stock change) -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever the rule for automatic stock change) -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever the rule for automatic stock change) -MovementLabel=Label of movement -TypeMovement=Direction of movement -DateMovement=Date of movement -InventoryCode=Movement or inventory code -IsInPackage=Contained into package -WarehouseAllowNegativeTransfer=Stock can be negative -qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse and your setup does not allow negative stocks. -qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). +StockMustBeEnoughForInvoice=Уровень запасов должен быть достаточным, чтобы добавить продукт / услугу в счет-фактуру (проверка выполняется на текущих реальных запасах при добавлении строки в счет-фактуру, независимо от правила автоматического изменения запасов) +StockMustBeEnoughForOrder=Уровень запасов должен быть достаточным для добавления продукта / услуги в заказ (проверка выполняется на текущих реальных запасах при добавлении строки в заказ, независимо от правила автоматического изменения запасов) +StockMustBeEnoughForShipment= Уровень запаса должен быть достаточным для добавления продукта / услуги к отгрузке (проверка выполняется на текущем реальном запасе при добавлении строки в отгрузку, независимо от правила автоматического изменения запаса) +MovementLabel=Ярлык движения +TypeMovement=Направление движения +DateMovement=Дата движения +InventoryCode=Код движения или инвентарный код +IsInPackage=Содержится в упаковке +WarehouseAllowNegativeTransfer=Наличие может быть отрицательным +qtyToTranferIsNotEnough=У вас недостаточно запасов на исходном складе, и ваша установка не допускает отрицательных запасов. +qtyToTranferLotIsNotEnough=У вас недостаточно запасов для этого номера партии на исходном складе, и ваша установка не допускает отрицательных запасов (количество для продукта «%s» с лотом «%s» равно %s на складе «%s»). ShowWarehouse=Просмотр склада -MovementCorrectStock=Stock correction for product %s +MovementCorrectStock=Поправка на запас для продукта %s MovementTransferStock=Перевозка товара %s на другой склад -InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order +InventoryCodeShort=Инв. / Мов. код +NoPendingReceptionOnSupplierOrder=Нет ожидающих приема из-за открытого заказа на поставку ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions -UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception -OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated -ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created -ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated -ProductStockWarehouseDeleted=Stock limit for alert and desired optimal stock correctly deleted -AddNewProductStockWarehouse=Set new limit for alert and desired optimal stock -AddStockLocationLine=Decrease quantity then click to add another warehouse for this product -InventoryDate=Inventory date -NewInventory=New inventory -inventorySetup = Inventory Setup -inventoryCreatePermission=Create new inventory -inventoryReadPermission=View inventories -inventoryWritePermission=Update inventories -inventoryValidatePermission=Validate inventory -inventoryDeletePermission=Delete inventory +OpenAnyMovement=Открытый (все движения) +OpenInternal=Открытый (только внутреннее движение) +UseDispatchStatus=Используйте статус отправки (одобрение / отказ) для линейки продуктов при приеме заказа на поставку. +OptionMULTIPRICESIsOn=Включена опция «несколько цен на сегмент». Это означает, что товар имеет несколько продажных цен, поэтому стоимость продажи не может быть рассчитана. +ProductStockWarehouseCreated=Правильно установлен лимит запаса для предупреждения и желаемый оптимальный запас +ProductStockWarehouseUpdated=Правильно обновлен лимит запаса для оповещения и желаемый оптимальный запас +ProductStockWarehouseDeleted=Правильно удален лимит запасов для предупреждения и желаемый оптимальный запас +AddNewProductStockWarehouse=Установите новый лимит для предупреждений и желаемый оптимальный запас +AddStockLocationLine=Уменьшите количество, затем нажмите, чтобы добавить еще один склад для этого продукта +InventoryDate=Дата инвентаризации +NewInventory=Новый инвентарь +inventorySetup = Настройка инвентаря +inventoryCreatePermission=Создать новый инвентарь +inventoryReadPermission=Просмотр инвентаря +inventoryWritePermission=Обновить инвентарь +inventoryValidatePermission=Проверить инвентарь +inventoryDeletePermission=Удалить инвентарь inventoryTitle=Инвентарная ведомость -inventoryListTitle=Inventories -inventoryListEmpty=No inventory in progress -inventoryCreateDelete=Create/Delete inventory -inventoryCreate=Create new +inventoryListTitle=Запасы +inventoryListEmpty=Инвентаризация не ведется +inventoryCreateDelete=Создать / удалить инвентарь +inventoryCreate=Создать новое inventoryEdit=Редактировать inventoryValidate=Утверждена inventoryDraft=В работе -inventorySelectWarehouse=Warehouse choice +inventorySelectWarehouse=Выбор склада inventoryConfirmCreate=Создать -inventoryOfWarehouse=Inventory for warehouse: %s -inventoryErrorQtyAdd=Error: one quantity is less than zero -inventoryMvtStock=By inventory -inventoryWarningProductAlreadyExists=This product is already into list +inventoryOfWarehouse=Инвентарь на складе: %s +inventoryErrorQtyAdd=Ошибка: одно количество меньше нуля +inventoryMvtStock=По инвентарю +inventoryWarningProductAlreadyExists=Этот товар уже в списке SelectCategory=Категория фильтр -SelectFournisseur=Vendor filter +SelectFournisseur=Фильтр поставщиков inventoryOnDate=Инвентарная ведомость -INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) -inventoryChangePMPPermission=Allow to change PMP value for a product -ColumnNewPMP=New unit PMP -OnlyProdsInStock=Do not add product without stock -TheoricalQty=Theorique qty -TheoricalValue=Theorique qty -LastPA=Last BP -CurrentPA=Curent BP -RecordedQty=Recorded Qty -RealQty=Real Qty -RealValue=Real Value -RegulatedQty=Regulated Qty -AddInventoryProduct=Add product to inventory +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Движение запасов будет иметь дату инвентаризации (вместо даты проверки запасов) +inventoryChangePMPPermission=Разрешить изменять значение PMP для продукта +ColumnNewPMP=Новый агрегат ПМП +OnlyProdsInStock=Не добавляйте товар без наличия на складе +TheoricalQty=Теория кол-во +TheoricalValue=Теория кол-во +LastPA=Последний БП +CurrentPA=Текущий БП +RecordedQty=Записанное количество +RealQty=Реальное количество +RealValue=Реальная стоимость +RegulatedQty=Регулируемое количество +AddInventoryProduct=Добавить товар в инвентарь AddProduct=Добавить -ApplyPMP=Apply PMP -FlushInventory=Flush inventory -ConfirmFlushInventory=Do you confirm this action? -InventoryFlushed=Inventory flushed -ExitEditMode=Exit edition +ApplyPMP=Применить PMP +FlushInventory=Очистить инвентарь +ConfirmFlushInventory=Вы подтверждаете это действие? +InventoryFlushed=Инвентарь сброшен +ExitEditMode=Выйти из редакции inventoryDeleteLine=Удалить строки -RegulateStock=Regulate Stock +RegulateStock=Регулировать запас ListInventory=Список -StockSupportServices=Stock management supports Services -StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled. -ReceiveProducts=Receive items -StockIncreaseAfterCorrectTransfer=Increase by correction/transfer -StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer -StockIncrease=Stock increase -StockDecrease=Stock decrease -InventoryForASpecificWarehouse=Inventory for a specific warehouse -InventoryForASpecificProduct=Inventory for a specific product -StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use -ForceTo=Force to -AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) -StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future -CurrentStock=Current stock -InventoryRealQtyHelp=Set value to 0 to reset qty
    Keep field empty, or remove line, to keep unchanged -UpdateByScaning=Fill real qty by scaning -UpdateByScaningProductBarcode=Update by scan (product barcode) -UpdateByScaningLot=Update by scan (lot|serial barcode) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s +StockSupportServices=Управление запасами поддерживает услуги +StockSupportServicesDesc=По умолчанию вы можете хранить только продукты типа «продукт». Вы также можете хранить продукт типа «услуга», если включены и модуль «Услуги», и эта опция. +ReceiveProducts=Получать предметы +StockIncreaseAfterCorrectTransfer=Увеличение путем коррекции / переноса +StockDecreaseAfterCorrectTransfer=Уменьшение путем коррекции / переноса +StockIncrease=Увеличение запасов +StockDecrease=Уменьшение запасов +InventoryForASpecificWarehouse=Инвентарь для конкретного склада +InventoryForASpecificProduct=Инвентарь для конкретного продукта +StockIsRequiredToChooseWhichLotToUse=Требуется запас, чтобы выбрать, какую партию использовать +ForceTo=Заставить +AlwaysShowFullArbo=Отображать полное дерево склада во всплывающем окне со ссылками на склад (Предупреждение: это может значительно снизить производительность) +StockAtDatePastDesc=Здесь вы можете просмотреть запасы (реальные запасы) на заданную дату в прошлом +StockAtDateFutureDesc=Здесь вы можете просмотреть акции (виртуальные акции) на определенную дату в будущем. +CurrentStock=Текущий запас +InventoryRealQtyHelp=Установите значение 0 для сброса количества
    Оставьте поле пустым или удалите строку, чтобы оставить без изменений +UpdateByScaning=Заполните реальное количество сканированием +UpdateByScaningProductBarcode=Обновление путем сканирования (штрих-код продукта) +UpdateByScaningLot=Обновление сканированием (партия | серийный штрих-код) +DisableStockChangeOfSubProduct=Деактивируйте замену запаса для всех вспомогательных продуктов этого набора во время этого движения. +ImportFromCSV=Импортировать CSV-список движения +ChooseFileToImport=Загрузите файл, затем щелкните значок %s, чтобы выбрать файл в качестве исходного файла импорта ... +SelectAStockMovementFileToImport=выберите файл движения запаса для импорта +InfoTemplateImport=Загружаемый файл должен иметь следующий формат (* обязательные поля):
    Source Warehouse * | Целевой склад * | Продукт * | Количество * | Номер лота / серийный номер
    Разделитель символов CSV должен иметь вид « %s ». +LabelOfInventoryMovemement=Инвентарь %s ReOpen=Открыть заново -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +ConfirmFinish=Вы подтверждаете закрытие инвентаря? Это будет генерировать все движения запаса, чтобы обновить ваш запас до реального количества, которое вы ввели в инвентарь. +ObjectNotFound=%s не найден +MakeMovementsAndClose=Создайте движения и закройте +AutofillWithExpected=Заполните реальное количество ожидаемым количеством +ShowAllBatchByDefault=По умолчанию, детали партии продукта отображаются на вкладке "склад" +CollapseBatchDetailHelp=Вы можете установить отображение деталей партии по умолчанию в конфигурации модуля запасы +FieldCannotBeNegative=Поле "%s" не может быть отрицательным +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/ru_RU/stripe.lang b/htdocs/langs/ru_RU/stripe.lang index 7f3d995c77b..de4d426c594 100644 --- a/htdocs/langs/ru_RU/stripe.lang +++ b/htdocs/langs/ru_RU/stripe.lang @@ -1,72 +1,71 @@ # Dolibarr language file - Source file is en_US - stripe -StripeSetup=Stripe module setup -StripeDesc=Offer customers a Stripe online payment page for payments with credit/cebit cards via Stripe. This can be used to allow your customers to make ad-hoc payments or for payments related to a particular Dolibarr object (invoice, order, ...) -StripeOrCBDoPayment=Pay with credit card or Stripe +StripeSetup=Настройка модуля Stripe +StripeDesc=Предложите клиентам страницу онлайн-платежей Stripe для платежей с помощью кредитных / cebit карт через Stripe . Это может быть использовано, чтобы позволить вашим клиентам совершать специальные платежи или для платежей, связанных с конкретным объектом Dolibarr (счет-фактура, заказ, ...) +StripeOrCBDoPayment=Оплата кредитной картой или Stripe FollowingUrlAreAvailableToMakePayments=После URL, можно предложить страницу к клиенту сделать платеж по Dolibarr объектов PaymentForm=Форма оплаты -WelcomeOnPaymentPage=Welcome to our online payment service +WelcomeOnPaymentPage=Добро пожаловать в нашу службу онлайн-платежей ThisScreenAllowsYouToPay=На этом экране можно сделать онлайн-платежей для %s. ThisIsInformationOnPayment=Это данные по оплате делать ToComplete=Для завершения YourEMail=Электронная почта для подтверждения оплаты -STRIPE_PAYONLINE_SENDEMAIL=Email notification after a payment attempt (success or fail) +STRIPE_PAYONLINE_SENDEMAIL=Уведомление по электронной почте после попытки платежа (успешной или неудачной) Creditor=Кредитор PaymentCode=Код платежа -StripeDoPayment=Pay with Stripe -YouWillBeRedirectedOnStripe=You will be redirected on secured Stripe page to input you credit card information +StripeDoPayment=Плати с полосой +YouWillBeRedirectedOnStripe=Вы будете перенаправлены на защищенную страницу Stripe для ввода информации о вашей кредитной карте. Continue=Дальше ToOfferALinkForOnlinePayment=URL-адрес для оплаты %s -ToOfferALinkForOnlinePaymentOnOrder=URL to offer a %s online payment page for a sales order -ToOfferALinkForOnlinePaymentOnInvoice=URL to offer a %s online payment page for a customer invoice -ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment page for a contract line -ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment page of any amount with no existing object -ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment page for a member subscription -ToOfferALinkForOnlinePaymentOnDonation=URL to offer a %s online payment page for payment of a donation -YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (mandatory only for payment not linked to an object) to add your own payment comment tag.
    For the URL of payments with no existing object, you may also add the parameter &noidempotency=1 so the same link with same tag can be used several times (some payment mode may limit the payment to 1 for each different link without this parameter) -SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url %s to have payment created automatically when validated by Stripe. +ToOfferALinkForOnlinePaymentOnOrder=URL-адрес страницы онлайн-оплаты %s для заказа на продажу +ToOfferALinkForOnlinePaymentOnInvoice=URL-адрес для предложения страницы онлайн-оплаты %s для счета-фактуры клиента +ToOfferALinkForOnlinePaymentOnContractLine=URL для предложения страницы онлайн-оплаты %s для строки контракта +ToOfferALinkForOnlinePaymentOnFreeAmount=URL для предложения страницы онлайн-платежей %s на любую сумму без существующего объекта +ToOfferALinkForOnlinePaymentOnMemberSubscription=URL-адрес страницы онлайн-оплаты %s для подписки на членство +ToOfferALinkForOnlinePaymentOnDonation=URL-адрес страницы онлайн-платежа %s для оплаты пожертвования +YouCanAddTagOnUrl=Вы также можете добавить параметр URL & tag = , значение к любому из этих URL (обязательно только для платежа, не связанного с объектом), чтобы добавить свой собственный тег комментария к платежу.
    Для URL-адреса платежей без существующего объекта вы также можете добавить параметр & noidempotency = 1 , чтобы одну и ту же ссылку с одним и тем же тегом можно было использовать несколько раз (в некоторых режимах оплаты может быть ограничен платеж до 1 для каждой ссылки без этого параметр) +SetupStripeToHavePaymentCreatedAutomatically=Настройте Stripe с URL-адресом %s , чтобы платеж создавался автоматически при подтверждении Stripe. AccountParameter=Счет параметры UsageParameter=Использование параметров InformationToFindParameters=Помогите найти %s информацию об учетной записи -STRIPE_CGI_URL_V2=Url of Stripe CGI module for payment -VendorName=Имя поставщика +STRIPE_CGI_URL_V2=URL модуля Stripe CGI для оплаты CSSUrlForPaymentForm=CSS-стилей URL для оплаты форме -NewStripePaymentReceived=New Stripe payment received -NewStripePaymentFailed=New Stripe payment tried but failed -FailedToChargeCard=Failed to charge card -STRIPE_TEST_SECRET_KEY=Secret test key -STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key -STRIPE_TEST_WEBHOOK_KEY=Webhook test key -STRIPE_LIVE_SECRET_KEY=Secret live key -STRIPE_LIVE_PUBLISHABLE_KEY=Publishable live key -STRIPE_LIVE_WEBHOOK_KEY=Webhook live key -ONLINE_PAYMENT_WAREHOUSE=Stock to use for stock decrease when online payment is done
    (TODO When option to decrease stock is done on an action on invoice and the online payment generate itself the invoice ?) -StripeLiveEnabled=Stripe live enabled (otherwise test/sandbox mode) -StripeImportPayment=Import Stripe payments -ExampleOfTestCreditCard=Example of credit card for test: %s => valid, %s => error CVC, %s => expired, %s => charge fails -StripeGateways=Stripe gateways -OAUTH_STRIPE_TEST_ID=Stripe Connect Client ID (ca_...) -OAUTH_STRIPE_LIVE_ID=Stripe Connect Client ID (ca_...) -BankAccountForBankTransfer=Bank account for fund payouts -StripeAccount=Stripe account -StripeChargeList=List of Stripe charges -StripeTransactionList=List of Stripe transactions -StripeCustomerId=Stripe customer id -StripePaymentModes=Stripe payment modes -LocalID=Local ID -StripeID=Stripe ID -NameOnCard=Name on card -CardNumber=Card Number -ExpiryDate=Expiry Date +NewStripePaymentReceived=Получен платеж New Stripe +NewStripePaymentFailed=Платеж New Stripe попытался, но не удалось +FailedToChargeCard=Не удалось снять деньги с карты +STRIPE_TEST_SECRET_KEY=Секретный тестовый ключ +STRIPE_TEST_PUBLISHABLE_KEY=Публикуемый тестовый ключ +STRIPE_TEST_WEBHOOK_KEY=Тестовый ключ Webhook +STRIPE_LIVE_SECRET_KEY=Секретный живой ключ +STRIPE_LIVE_PUBLISHABLE_KEY=Публикуемый живой ключ +STRIPE_LIVE_WEBHOOK_KEY=Живой ключ Webhook +ONLINE_PAYMENT_WAREHOUSE=Запасы, используемые для уменьшения запасов при онлайн-оплате
    (TODO Когда опция уменьшения запасов выполняется для действия со счетом-фактурой, и онлайн-платеж генерирует счет-фактуру самостоятельно?) +StripeLiveEnabled=Полоса в реальном времени включена (в противном случае тестовый режим / режим песочницы) +StripeImportPayment=Платежи Import Stripe +ExampleOfTestCreditCard=Пример кредитной карты для тестирования: %s => действителен, %s => ошибка CVC, %s => истек срок действия, %s => заряд не производится +StripeGateways=Stripe-шлюзы +OAUTH_STRIPE_TEST_ID=Идентификатор клиента Stripe Connect (ca _...) +OAUTH_STRIPE_LIVE_ID=Идентификатор клиента Stripe Connect (ca _...) +BankAccountForBankTransfer=Банковский счет для выплаты средств +StripeAccount=Stripe аккаунт +StripeChargeList=Список начислений Stripe +StripeTransactionList=Список транзакций Stripe +StripeCustomerId=Идентификатор клиента Stripe +StripePaymentModes=Режимы оплаты Stripe +LocalID=Локальный идентификатор +StripeID=Идентификатор полосы +NameOnCard=Имя на карте +CardNumber=Номер карты +ExpiryDate=Дата истечения срока CVN=CVN -DeleteACard=Delete Card -ConfirmDeleteCard=Are you sure you want to delete this Credit or Debit card? -CreateCustomerOnStripe=Create customer on Stripe -CreateCardOnStripe=Create card on Stripe -ShowInStripe=Show in Stripe -StripeUserAccountForActions=User account to use for email notification of some Stripe events (Stripe payouts) -StripePayoutList=List of Stripe payouts -ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) -ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) -PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. -ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +DeleteACard=Удалить карту +ConfirmDeleteCard=Вы действительно хотите удалить эту кредитную или дебетовую карту? +CreateCustomerOnStripe=Создать клиента на Stripe +CreateCardOnStripe=Создать карту на Stripe +ShowInStripe=Показать в полосе +StripeUserAccountForActions=Учетная запись пользователя, используемая для уведомления по электронной почте о некоторых событиях Stripe (выплаты Stripe) +StripePayoutList=Список выплат Stripe +ToOfferALinkForTestWebhook=Ссылка на настройку Stripe WebHook для вызова IPN (тестовый режим) +ToOfferALinkForLiveWebhook=Ссылка на настройку Stripe WebHook для вызова IPN (режим реального времени) +PaymentWillBeRecordedForNextPeriod=Выплата будет записана за следующий период. +ClickHereToTryAgain= Нажмите здесь, чтобы попробовать еще раз ... +CreationOfPaymentModeMustBeDoneFromStripeInterface=Из-за правил строгой аутентификации клиентов создание карты должно производиться из бэк-офиса Stripe. Вы можете щелкнуть здесь, чтобы включить запись клиента Stripe: %s diff --git a/htdocs/langs/ru_RU/supplier_proposal.lang b/htdocs/langs/ru_RU/supplier_proposal.lang index 84cacfa5c08..14974596343 100644 --- a/htdocs/langs/ru_RU/supplier_proposal.lang +++ b/htdocs/langs/ru_RU/supplier_proposal.lang @@ -1,30 +1,30 @@ # Dolibarr language file - Source file is en_US - supplier_proposal -SupplierProposal=Vendor commercial proposals -supplier_proposalDESC=Manage price requests to suppliers +SupplierProposal=Коммерческие предложения от вендора +supplier_proposalDESC=Управляйте ценовыми запросами поставщиков SupplierProposalNew= Новый запрос цены -CommRequest=Price request +CommRequest=Запрос цены CommRequests=Запросы цены -SearchRequest=Find a request -DraftRequests=Draft requests -SupplierProposalsDraft=Draft vendor proposals -LastModifiedRequests=Latest %s modified price requests -RequestsOpened=Open price requests -SupplierProposalArea=Vendor proposals area -SupplierProposalShort=Vendor proposal +SearchRequest=Найти заявку +DraftRequests=Черновики запросов +SupplierProposalsDraft=Проект предложений поставщика +LastModifiedRequests=Последние измененные ценовые запросы %s +RequestsOpened=Открытые ценовые запросы +SupplierProposalArea=Область предложений поставщиков +SupplierProposalShort=Предложение продавца SupplierProposals=Предложения поставщиков SupplierProposalsShort=Предложения поставщиков -AskPrice=Price request +AskPrice=Запрос цены NewAskPrice= Новый запрос цены -ShowSupplierProposal=Show price request -AddSupplierProposal=Create a price request -SupplierProposalRefFourn=Vendor ref +ShowSupplierProposal=Показать ценовой запрос +AddSupplierProposal=Создать ценовой запрос +SupplierProposalRefFourn=Ссылка поставщика SupplierProposalDate=Дата доставки -SupplierProposalRefFournNotice=Before closing to "Accepted", think to grasp suppliers references. -ConfirmValidateAsk=Are you sure you want to validate this price request under name %s? -DeleteAsk=Delete request -ValidateAsk=Validate request +SupplierProposalRefFournNotice=Прежде чем перейти к «Принято», подумайте о том, чтобы изучить отзывы поставщиков. +ConfirmValidateAsk=Вы действительно хотите подтвердить этот ценовой запрос от имени %s ? +DeleteAsk=Удалить запрос +ValidateAsk=Подтвердить запрос SupplierProposalStatusDraft=Проект (должно быть подтверждено) -SupplierProposalStatusValidated=Validated (request is open) +SupplierProposalStatusValidated=Подтверждено (запрос открыт) SupplierProposalStatusClosed=Закрыты SupplierProposalStatusSigned=Принято SupplierProposalStatusNotSigned=Отклонено @@ -33,26 +33,26 @@ SupplierProposalStatusValidatedShort=Утверждена SupplierProposalStatusClosedShort=Закрыты SupplierProposalStatusSignedShort=Принято SupplierProposalStatusNotSignedShort=Отклонено -CopyAskFrom=Create a price request by copying an existing request -CreateEmptyAsk=Create blank request -ConfirmCloneAsk=Are you sure you want to clone the price request %s? -ConfirmReOpenAsk=Are you sure you want to open back the price request %s? -SendAskByMail=Send price request by mail -SendAskRef=Sending the price request %s -SupplierProposalCard=Request card -ConfirmDeleteAsk=Are you sure you want to delete this price request %s? -ActionsOnSupplierProposal=Events on price request -DocModelAuroreDescription=A complete request model (logo...) -CommercialAsk=Price request +CopyAskFrom=Создайте ценовой запрос, скопировав существующий запрос +CreateEmptyAsk=Создать пустой запрос +ConfirmCloneAsk=Вы действительно хотите клонировать запрос цены %s ? +ConfirmReOpenAsk=Вы действительно хотите открыть ценовой запрос %s ? +SendAskByMail=Отправить запрос цены по почте +SendAskRef=Отправка ценового запроса %s +SupplierProposalCard=Запросить карту +ConfirmDeleteAsk=Вы действительно хотите удалить этот ценовой запрос %s ? +ActionsOnSupplierProposal=События по запросу цены +DocModelAuroreDescription=Полная модель запроса (логотип ...) +CommercialAsk=Запрос цены DefaultModelSupplierProposalCreate=Создание модели по умолчанию -DefaultModelSupplierProposalToBill=Default template when closing a price request (accepted) -DefaultModelSupplierProposalClosed=Default template when closing a price request (refused) -ListOfSupplierProposals=List of vendor proposal requests -ListSupplierProposalsAssociatedProject=List of vendor proposals associated with project -SupplierProposalsToClose=Vendor proposals to close -SupplierProposalsToProcess=Vendor proposals to process -LastSupplierProposals=Latest %s price requests -AllPriceRequests=All requests -TypeContact_supplier_proposal_external_SHIPPING=Vendor contact for delivery -TypeContact_supplier_proposal_external_BILLING=Vendor contact for billing +DefaultModelSupplierProposalToBill=Шаблон по умолчанию при закрытии запроса цены (принято) +DefaultModelSupplierProposalClosed=Шаблон по умолчанию при закрытии запроса цены (отказано) +ListOfSupplierProposals=Список запросов предложений поставщиков +ListSupplierProposalsAssociatedProject=Список предложений поставщиков, связанных с проектом +SupplierProposalsToClose=Предложения продавца закрыть +SupplierProposalsToProcess=Предложения поставщика для обработки +LastSupplierProposals=Последние запросы цен на %s +AllPriceRequests=Все запросы +TypeContact_supplier_proposal_external_SHIPPING=Контакт с продавцом для доставки +TypeContact_supplier_proposal_external_BILLING=Контактное лицо поставщика для выставления счетов TypeContact_supplier_proposal_external_SERVICE=Представитель следующие меры предложение diff --git a/htdocs/langs/ru_RU/suppliers.lang b/htdocs/langs/ru_RU/suppliers.lang index bbfecb4779f..ce663a11842 100644 --- a/htdocs/langs/ru_RU/suppliers.lang +++ b/htdocs/langs/ru_RU/suppliers.lang @@ -1,49 +1,49 @@ # Dolibarr language file - Source file is en_US - vendors Suppliers=Поставщики -SuppliersInvoice=Vendor invoice +SuppliersInvoice=Счет поставщика SupplierInvoices=Счета-фактуры поставщика -ShowSupplierInvoice=Show Vendor Invoice +ShowSupplierInvoice=Показать счет поставщика NewSupplier=Новый поставщик History=История ListOfSuppliers=Список поставщиков -ShowSupplier=Show vendor +ShowSupplier=Показать продавца OrderDate=Дата заказа -BuyingPriceMin=Best buying price -BuyingPriceMinShort=Best buying price +BuyingPriceMin=Лучшая цена покупки +BuyingPriceMinShort=Лучшая цена покупки TotalBuyingPriceMinShort=Итог закупочных цен подтоваров -TotalSellingPriceMinShort=Total of subproducts selling prices +TotalSellingPriceMinShort=Итого отпускных цен на субпродукты SomeSubProductHaveNoPrices=Для некоторых подтоваров не указана цена -AddSupplierPrice=Add buying price -ChangeSupplierPrice=Change buying price -SupplierPrices=Vendor prices -ReferenceSupplierIsAlreadyAssociatedWithAProduct=This vendor reference is already associated with a product: %s -NoRecordedSuppliers=No vendor recorded -SupplierPayment=Vendor payment -SuppliersArea=Vendor area +AddSupplierPrice=Добавить закупочную цену +ChangeSupplierPrice=Изменить цену покупки +SupplierPrices=Цены от поставщиков +ReferenceSupplierIsAlreadyAssociatedWithAProduct=Эта ссылка на поставщика уже связана с продуктом: %s +NoRecordedSuppliers=Поставщик не зарегистрирован +SupplierPayment=Оплата продавцу +SuppliersArea=Торговая площадка RefSupplierShort=Ref. поставщик Availability=Доступность -ExportDataset_fournisseur_1=Vendor invoices and invoice details -ExportDataset_fournisseur_2=Vendor invoices and payments -ExportDataset_fournisseur_3=Purchase orders and order details +ExportDataset_fournisseur_1=Счета-фактуры поставщика и подробные сведения о нем +ExportDataset_fournisseur_2=Счета и платежи поставщика +ExportDataset_fournisseur_3=Заказы на покупку и детали заказа ApproveThisOrder=Утвердить этот заказ -ConfirmApproveThisOrder=Are you sure you want to approve order %s? +ConfirmApproveThisOrder=Вы действительно хотите одобрить заказ %s ? DenyingThisOrder=Отменить этот заказ -ConfirmDenyingThisOrder=Are you sure you want to deny this order %s? -ConfirmCancelThisOrder=Are you sure you want to cancel this order %s? -AddSupplierOrder=Create Purchase Order -AddSupplierInvoice=Create vendor invoice -ListOfSupplierProductForSupplier=List of products and prices for vendor %s -SentToSuppliers=Sent to vendors -ListOfSupplierOrders=List of purchase orders -MenuOrdersSupplierToBill=Purchase orders to invoice -NbDaysToDelivery=Delivery delay (days) -DescNbDaysToDelivery=The longest delivery delay of the products from this order -SupplierReputation=Vendor reputation -ReferenceReputation=Reference reputation -DoNotOrderThisProductToThisSupplier=Do not order -NotTheGoodQualitySupplier=Low quality -ReputationForThisProduct=Reputation -BuyerName=Buyer name -AllProductServicePrices=All product / service prices -AllProductReferencesOfSupplier=All references of vendor -BuyingPriceNumShort=Vendor prices +ConfirmDenyingThisOrder=Вы действительно хотите отклонить этот заказ %s ? +ConfirmCancelThisOrder=Вы действительно хотите отменить этот заказ %s ? +AddSupplierOrder=Создать заказ на поставку +AddSupplierInvoice=Создать накладную поставщика +ListOfSupplierProductForSupplier=Список товаров и цены для продавца %s +SentToSuppliers=Отправлено поставщикам +ListOfSupplierOrders=Список заказов на поставку +MenuOrdersSupplierToBill=Заказы на покупку в счет-фактуру +NbDaysToDelivery=Задержка доставки (дни) +DescNbDaysToDelivery=Самая длительная задержка доставки товаров из этого заказа +SupplierReputation=Репутация продавца +ReferenceReputation=Эталонная репутация +DoNotOrderThisProductToThisSupplier=Не заказывать +NotTheGoodQualitySupplier=Низкое качество +ReputationForThisProduct=Репутация +BuyerName=Имя покупателя +AllProductServicePrices=Все цены на товары / услуги +AllProductReferencesOfSupplier=Все ссылки производителя +BuyingPriceNumShort=Цены от поставщиков diff --git a/htdocs/langs/ru_RU/ticket.lang b/htdocs/langs/ru_RU/ticket.lang index 4c4bf7788a3..5248e60ae15 100644 --- a/htdocs/langs/ru_RU/ticket.lang +++ b/htdocs/langs/ru_RU/ticket.lang @@ -19,298 +19,303 @@ # Module56000Name=Заявки -Module56000Desc=Ticket system for issue or request management +Module56000Desc=Билетная система для управления выдачей или запросом -Permission56001=See tickets -Permission56002=Modify tickets -Permission56003=Delete tickets -Permission56004=Manage tickets -Permission56005=See tickets of all third parties (not effective for external users, always be limited to the third party they depend on) +Permission56001=Смотреть тикеты +Permission56002=Изменить тикеты +Permission56003=Удалить тикеты +Permission56004=Управлять тикетами +Permission56005=Просмотр заявок всех третьих лиц (не действует для внешних пользователей, всегда ограничивается третьей стороной, от которой они зависят) -TicketDictType=Ticket - Types -TicketDictCategory=Ticket - Groupes -TicketDictSeverity=Ticket - Severities -TicketDictResolution=Ticket - Resolution +TicketDictType=Тикет - Типы +TicketDictCategory=Тикет - Группы +TicketDictSeverity=Тикет - Степени серьезности +TicketDictResolution=Тикет - Разрешение -TicketTypeShortCOM=Commercial question -TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem -TicketTypeShortREQUEST=Change or enhancement request +TicketTypeShortCOM=Коммерческий вопрос +TicketTypeShortHELP=Запрос на функциональную помощь +TicketTypeShortISSUE=Проблема или ошибка +TicketTypeShortPROBLEM=Проблема +TicketTypeShortREQUEST=Запрос на изменение или расширение TicketTypeShortPROJET=Проект TicketTypeShortOTHER=Другое TicketSeverityShortLOW=Низкий -TicketSeverityShortNORMAL=Normal +TicketSeverityShortNORMAL=Обычный TicketSeverityShortHIGH=Высокий -TicketSeverityShortBLOCKING=Critical, Blocking +TicketSeverityShortBLOCKING=Критический, Блокирующий -ErrorBadEmailAddress=Field '%s' incorrect -MenuTicketMyAssign=My tickets -MenuTicketMyAssignNonClosed=My open tickets -MenuListNonClosed=Open tickets +ErrorBadEmailAddress=Поле '%s' неверно +MenuTicketMyAssign=Мои тикеты +MenuTicketMyAssignNonClosed=Мои открытые тикеты +MenuListNonClosed=Открытые тикеты TypeContact_ticket_internal_CONTRIBUTOR=Содействующий -TypeContact_ticket_internal_SUPPORTTEC=Assigned user -TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking -TypeContact_ticket_external_CONTRIBUTOR=External contributor +TypeContact_ticket_internal_SUPPORTTEC=Назначенный пользователь +TypeContact_ticket_external_SUPPORTCLI=Контакты с клиентами / отслеживание инцидентов +TypeContact_ticket_external_CONTRIBUTOR=Внешний участник -OriginEmail=Email source -Notify_TICKET_SENTBYMAIL=Send ticket message by email +OriginEmail=Электронная почта репортера +Notify_TICKET_SENTBYMAIL=Отправить билетное сообщение по электронной почте # Status Read=Читать -Assigned=Assigned +Assigned=Назначенный InProgress=Выполняется -NeedMoreInformation=Waiting for information -Answered=Answered +NeedMoreInformation=Жду отзывов репортера +NeedMoreInformationShort=Жду отзывов +Answered=Ответил Waiting=Ожидание -Closed=Закрыты -Deleted=Deleted +SolvedClosed=Solved +Deleted=Удалено # Dict Type=Тип -Severity=Severity -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +Severity=Строгость +TicketGroupIsPublic=Группа публичная +TicketGroupIsPublicDesc=Если группа заявок является общедоступной, она будет видна в форме при создании заявки из общедоступного интерфейса. # Email templates -MailToSendTicketMessage=To send email from ticket message +MailToSendTicketMessage=Чтобы отправить электронное письмо из тикетного сообщения # # Admin page # -TicketSetup=Ticket module setup +TicketSetup=Настройка модуля тикетов TicketSettings=Настройки TicketSetupPage= -TicketPublicAccess=A public interface requiring no identification is available at the following url -TicketSetupDictionaries=The type of ticket, severity and analytic codes are configurable from dictionaries -TicketParamModule=Module variable setup -TicketParamMail=Email setup -TicketEmailNotificationFrom=Notification email from -TicketEmailNotificationFromHelp=Used into ticket message answer by example -TicketEmailNotificationTo=Notifications email to -TicketEmailNotificationToHelp=Send email notifications to this address. -TicketNewEmailBodyLabel=Text message sent after creating a ticket -TicketNewEmailBodyHelp=The text specified here will be inserted into the email confirming the creation of a new ticket from the public interface. Information on the consultation of the ticket are automatically added. -TicketParamPublicInterface=Public interface setup -TicketsEmailMustExist=Require an existing email address to create a ticket -TicketsEmailMustExistHelp=In the public interface, the email address should already be filled in the database to create a new ticket. -PublicInterface=Public interface -TicketUrlPublicInterfaceLabelAdmin=Alternative URL for public interface -TicketUrlPublicInterfaceHelpAdmin=It is possible to define an alias to the web server and thus make available the public interface with another URL (the server must act as a proxy on this new URL) -TicketPublicInterfaceTextHomeLabelAdmin=Welcome text of the public interface -TicketPublicInterfaceTextHome=You can create a support ticket or view existing from its identifier tracking ticket. -TicketPublicInterfaceTextHomeHelpAdmin=The text defined here will appear on the home page of the public interface. -TicketPublicInterfaceTopicLabelAdmin=Interface title -TicketPublicInterfaceTopicHelp=This text will appear as the title of the public interface. -TicketPublicInterfaceTextHelpMessageLabelAdmin=Help text to the message entry -TicketPublicInterfaceTextHelpMessageHelpAdmin=This text will appear above the message input area of the user. -ExtraFieldsTicket=Extra attributes -TicketCkEditorEmailNotActivated=HTML editor is not activated. Please put FCKEDITOR_ENABLE_MAIL content to 1 to get it. -TicketsDisableEmail=Do not send emails for ticket creation or message recording -TicketsDisableEmailHelp=By default, emails are sent when new tickets or messages created. Enable this option to disable *all* email notifications -TicketsLogEnableEmail=Enable log by email -TicketsLogEnableEmailHelp=At each change, an email will be sent **to each contact** associated with the ticket. +TicketPublicAccess=Открытый интерфейс, не требующий идентификации, доступен по следующему URL-адресу +TicketSetupDictionaries=Тип заявки, серьезность и аналитические коды настраиваются из словарей. +TicketParamModule=Настройка переменных модуля +TicketParamMail=Настройка электронной почты +TicketEmailNotificationFrom=Уведомление по электронной почте от +TicketEmailNotificationFromHelp=Используется в ответе на тикет-сообщение на примере +TicketEmailNotificationTo=Уведомления по электронной почте на адрес +TicketEmailNotificationToHelp=Отправлять уведомления по электронной почте на этот адрес. +TicketNewEmailBodyLabel=Текстовое сообщение, отправленное после создания заявки +TicketNewEmailBodyHelp=Указанный здесь текст будет вставлен в электронное письмо, подтверждающее создание нового билета из общедоступного интерфейса. Информация о просмотре билета добавляется автоматически. +TicketParamPublicInterface=Настройка публичного интерфейса +TicketsEmailMustExist=Требовать существующий адрес электронной почты для создания тикета +TicketsEmailMustExistHelp=В общедоступном интерфейсе адрес электронной почты уже должен быть заполнен в базе данных для создания нового билета. +PublicInterface=Публичный интерфейс +TicketUrlPublicInterfaceLabelAdmin=Альтернативный URL для публичного интерфейса +TicketUrlPublicInterfaceHelpAdmin=Можно определить псевдоним для веб-сервера и, таким образом, сделать доступным общедоступный интерфейс с другим URL-адресом (сервер должен действовать как прокси для этого нового URL-адреса) +TicketPublicInterfaceTextHomeLabelAdmin=Приветственный текст публичного интерфейса +TicketPublicInterfaceTextHome=Вы можете создать заявку в службу поддержки или просмотреть существующие из ее заявки на отслеживание идентификатора. +TicketPublicInterfaceTextHomeHelpAdmin=Определенный здесь текст появится на домашней странице общедоступного интерфейса. +TicketPublicInterfaceTopicLabelAdmin=Название интерфейса +TicketPublicInterfaceTopicHelp=Этот текст появится как заголовок общедоступного интерфейса. +TicketPublicInterfaceTextHelpMessageLabelAdmin=Текст справки к записи сообщения +TicketPublicInterfaceTextHelpMessageHelpAdmin=Этот текст появится над областью ввода сообщения пользователя. +ExtraFieldsTicket=Дополнительные атрибуты +TicketCkEditorEmailNotActivated=Редактор HTML не активирован. Чтобы получить его, установите для содержимого FCKEDITOR_ENABLE_MAIL значение 1. +TicketsDisableEmail=Не отправляйте электронные письма для создания заявки или записи сообщения +TicketsDisableEmailHelp=По умолчанию электронные письма отправляются при создании новых заявок или сообщений. Включите эту опцию, чтобы отключить * все * уведомления по электронной почте +TicketsLogEnableEmail=Включить журнал по электронной почте +TicketsLogEnableEmailHelp=При каждом изменении ** каждому контакту **, связанному с билетом, будет отправляться электронное письмо. TicketParams=Params -TicketsShowModuleLogo=Display the logo of the module in the public interface -TicketsShowModuleLogoHelp=Enable this option to hide the logo module in the pages of the public interface -TicketsShowCompanyLogo=Display the logo of the company in the public interface -TicketsShowCompanyLogoHelp=Enable this option to hide the logo of the main company in the pages of the public interface -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") -TicketsLimitViewAssignedOnly=Restrict the display to tickets assigned to the current user (not effective for external users, always be limited to the third party they depend on) -TicketsLimitViewAssignedOnlyHelp=Only tickets assigned to the current user will be visible. Does not apply to a user with tickets management rights. -TicketsActivatePublicInterface=Activate public interface -TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create tickets. -TicketsAutoAssignTicket=Automatically assign the user who created the ticket -TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket. -TicketNumberingModules=Tickets numbering module -TicketsModelModule=Document templates for tickets -TicketNotifyTiersAtCreation=Notify third party at creation -TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket -TicketsPublicNotificationNewMessageHelp=Send email(s) when a new message is added from public interface (to assigned user or the notifications email to (update) and/or the notifications email to) -TicketPublicNotificationNewMessageDefaultEmail=Notifications email to (update) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketsShowModuleLogo=Отображение логотипа модуля в публичном интерфейсе +TicketsShowModuleLogoHelp=Включите эту опцию, чтобы скрыть модуль логотипа на страницах публичного интерфейса. +TicketsShowCompanyLogo=Отображение логотипа компании в публичном интерфейсе +TicketsShowCompanyLogoHelp=Включите эту опцию, чтобы скрыть логотип основной компании на страницах публичного интерфейса. +TicketsEmailAlsoSendToMainAddress=Также отправьте уведомление на основной адрес электронной почты +TicketsEmailAlsoSendToMainAddressHelp=Включите эту опцию, чтобы также отправлять электронную почту на адрес, указанный в настройке «%s» (см. Вкладку «%s») +TicketsLimitViewAssignedOnly=Ограничить отображение заявками, назначенными текущему пользователю (не действует для внешних пользователей, всегда ограничивается третьей стороной, от которой они зависят) +TicketsLimitViewAssignedOnlyHelp=Будут видны только тикеты, назначенные текущему пользователю. Не распространяется на пользователя с правами управления тикетами. +TicketsActivatePublicInterface=Активировать публичный интерфейс +TicketsActivatePublicInterfaceHelp=Открытый интерфейс позволяет любому посетителю создавать тикеты. +TicketsAutoAssignTicket=Автоматически назначить пользователя, создавшего заявку +TicketsAutoAssignTicketHelp=При создании заявки пользователь может быть автоматически закреплен за заявкой. +TicketNumberingModules=Модуль нумерации тикетов +TicketsModelModule=Шаблоны документов для тикетов +TicketNotifyTiersAtCreation=Уведомить третью сторону при создании +TicketsDisableCustomerEmail=Всегда отключайте электронную почту, когда тикет создается из общедоступного интерфейса +TicketsPublicNotificationNewMessage=Отправлять электронное письмо (-а), когда в заявку добавляется новое сообщение / комментарий +TicketsPublicNotificationNewMessageHelp=Отправлять электронное письмо (-а), когда новое сообщение добавляется из общедоступного интерфейса (назначенному пользователю или электронное письмо с уведомлениями для (обновить) и / или электронное письмо с уведомлениями для) +TicketPublicNotificationNewMessageDefaultEmail=Уведомления по электронной почте на (обновить) +TicketPublicNotificationNewMessageDefaultEmailHelp=Отправляйте электронное письмо на этот адрес для каждого уведомления о новом сообщении, если для билета не назначен пользователь или если у пользователя нет известного адреса электронной почты. # # Index & list page # -TicketsIndex=Tickets area -TicketList=List of tickets -TicketAssignedToMeInfos=This page display ticket list created by or assigned to current user -NoTicketsFound=No ticket found -NoUnreadTicketsFound=No unread ticket found -TicketViewAllTickets=View all tickets -TicketViewNonClosedOnly=View only open tickets -TicketStatByStatus=Tickets by status -OrderByDateAsc=Sort by ascending date -OrderByDateDesc=Sort by descending date -ShowAsConversation=Show as conversation list -MessageListViewType=Show as table list +TicketsIndex=Тикеты +TicketList=Список тикетов +TicketAssignedToMeInfos=На этой странице отображается список заявок, созданный или назначенный текущему пользователю. +NoTicketsFound=Тикетов не найдено +NoUnreadTicketsFound=Непрочитанных тикетов не найдено +TicketViewAllTickets=Посмотреть все тикеты +TicketViewNonClosedOnly=Просмотреть только открытые тикеты +TicketStatByStatus=Тикеты по статусу +OrderByDateAsc=Сортировать по дате по возрастанию +OrderByDateDesc=Сортировать по дате по убыванию +ShowAsConversation=Показать как список бесед +MessageListViewType=Показать как список таблиц # # Ticket card # -Ticket=Ticket -TicketCard=Ticket card -CreateTicket=Create ticket -EditTicket=Edit ticket -TicketsManagement=Tickets Management -CreatedBy=Created by -NewTicket=New Ticket -SubjectAnswerToTicket=Ticket answer -TicketTypeRequest=Request type -TicketCategory=Группа -SeeTicket=See ticket -TicketMarkedAsRead=Ticket has been marked as read -TicketReadOn=Read on +Ticket=Проездной тикет +TicketCard=Билетная карточка +CreateTicket=Создать тикет +EditTicket=Изменить тикет +TicketsManagement=Управление тикетами +CreatedBy=Создано +NewTicket=Новый тикет +SubjectAnswerToTicket=Тикет ответ +TicketTypeRequest=Тип запроса +TicketCategory=Категоризация тикетов +SeeTicket=Посмотреть тикет +TicketMarkedAsRead=Тикет отмечен как прочитанный +TicketReadOn=Читать дальше TicketCloseOn=Дата закрытия -MarkAsRead=Mark ticket as read -TicketHistory=Ticket history -AssignUser=Assign to user -TicketAssigned=Ticket is now assigned -TicketChangeType=Change type -TicketChangeCategory=Change analytic code -TicketChangeSeverity=Change severity -TicketAddMessage=Add a message -AddMessage=Add a message -MessageSuccessfullyAdded=Ticket added -TicketMessageSuccessfullyAdded=Message successfully added -TicketMessagesList=Message list -NoMsgForThisTicket=No message for this ticket -Properties=Classification -LatestNewTickets=Latest %s newest tickets (not read) -TicketSeverity=Severity -ShowTicket=See ticket -RelatedTickets=Related tickets +MarkAsRead=Отметить тикет как прочитанный +TicketHistory=История тикетов +AssignUser=Назначить пользователю +TicketAssigned=Тикет назначен +TicketChangeType=Изменить тип +TicketChangeCategory=Изменить аналитический код +TicketChangeSeverity=Изменить серьезность +TicketAddMessage=Добавить сообщение +AddMessage=Добавить сообщение +MessageSuccessfullyAdded=Тикет добавлен +TicketMessageSuccessfullyAdded=Сообщение успешно добавлено +TicketMessagesList=Список сообщений +NoMsgForThisTicket=Нет сообщения для этого билета +Properties=Классификация +LatestNewTickets=Последние тикеты %s новейшие (не прочитаны) +TicketSeverity=Строгость +ShowTicket=Посмотреть тикет +RelatedTickets=Связанные тикеты TicketAddIntervention=СОздать посредничество -CloseTicket=Close ticket -CloseATicket=Close a ticket -ConfirmCloseAticket=Confirm ticket closing -ConfirmDeleteTicket=Please confirm ticket deleting -TicketDeletedSuccess=Ticket deleted with success -TicketMarkedAsClosed=Ticket marked as closed -TicketDurationAuto=Calculated duration -TicketDurationAutoInfos=Duration calculated automatically from intervention related -TicketUpdated=Ticket updated -SendMessageByEmail=Send message by email -TicketNewMessage=New message -ErrorMailRecipientIsEmptyForSendTicketMessage=Recipient is empty. No email send -TicketGoIntoContactTab=Please go into "Contacts" tab to select them -TicketMessageMailIntro=Introduction -TicketMessageMailIntroHelp=This text is added only at the beginning of the email and will not be saved. -TicketMessageMailIntroLabelAdmin=Introduction to the message when sending email -TicketMessageMailIntroText=Hello,
    A new response was sent on a ticket that you contact. Here is the message:
    -TicketMessageMailIntroHelpAdmin=This text will be inserted before the text of the response to a ticket. +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket +ConfirmCloseAticket=Подтвердить закрытие тикета +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' +ConfirmDeleteTicket=Подтвердите удаление тикета +TicketDeletedSuccess=Тикет успешно удален +TicketMarkedAsClosed=Тикет отмечен как закрытый +TicketDurationAuto=Расчетная продолжительность +TicketDurationAutoInfos=Продолжительность рассчитывается автоматически на основе вмешательства, связанного с +TicketUpdated=Тикет обновлен +SendMessageByEmail=Отправить сообщение по электронной почте +TicketNewMessage=Новое сообщение +ErrorMailRecipientIsEmptyForSendTicketMessage=Получатель пуст. Электронная почта не отправляется +TicketGoIntoContactTab=Пожалуйста, перейдите на вкладку «Контакты», чтобы выбрать их. +TicketMessageMailIntro=Вступление +TicketMessageMailIntroHelp=Этот текст добавляется только в начале письма и не сохраняется. +TicketMessageMailIntroLabelAdmin=Введение в сообщение при отправке электронной почты +TicketMessageMailIntroText=Привет,
    На тикет, с которым вы связываетесь, был отправлен новый ответ. Вот сообщение:
    +TicketMessageMailIntroHelpAdmin=Этот текст будет вставлен перед текстом ответа на тикет. TicketMessageMailSignature=Подпись -TicketMessageMailSignatureHelp=This text is added only at the end of the email and will not be saved. -TicketMessageMailSignatureText=

    Sincerely,

    --

    -TicketMessageMailSignatureLabelAdmin=Signature of response email -TicketMessageMailSignatureHelpAdmin=This text will be inserted after the response message. -TicketMessageHelp=Only this text will be saved in the message list on ticket card. -TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. -TimeElapsedSince=Time elapsed since -TicketTimeToRead=Time elapsed before read -TicketContacts=Contacts ticket -TicketDocumentsLinked=Documents linked to ticket -ConfirmReOpenTicket=Confirm reopen this ticket ? -TicketMessageMailIntroAutoNewPublicMessage=A new message was posted on the ticket with the subject %s: -TicketAssignedToYou=Ticket assigned -TicketAssignedEmailBody=You have been assigned the ticket #%s by %s -MarkMessageAsPrivate=Mark message as private -TicketMessagePrivateHelp=This message will not display to external users -TicketEmailOriginIssuer=Issuer at origin of the tickets -InitialMessage=Initial Message -LinkToAContract=Link to a contract -TicketPleaseSelectAContract=Select a contract -UnableToCreateInterIfNoSocid=Can not create an intervention when no third party is defined -TicketMailExchanges=Mail exchanges -TicketInitialMessageModified=Initial message modified -TicketMessageSuccesfullyUpdated=Message successfully updated -TicketChangeStatus=Change status -TicketConfirmChangeStatus=Confirm the status change: %s ? -TicketLogStatusChanged=Status changed: %s to %s -TicketNotNotifyTiersAtCreate=Not notify company at create -Unread=Unread -TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface. -ErrorTicketRefRequired=Ticket reference name is required +TicketMessageMailSignatureHelp=Этот текст добавляется только в конце письма и не сохраняется. +TicketMessageMailSignatureText=

    С уважением,

    -

    +TicketMessageMailSignatureLabelAdmin=Подпись ответного электронного письма +TicketMessageMailSignatureHelpAdmin=Этот текст будет вставлен после ответного сообщения. +TicketMessageHelp=Только этот текст будет сохранен в списке сообщений на карточке билета. +TicketMessageSubstitutionReplacedByGenericValues=Подстановки переменных заменяются общими значениями. +TimeElapsedSince=Прошло время с +TicketTimeToRead=Время, прошедшее до прочтения +TicketTimeElapsedBeforeSince=Время, прошедшее до / с +TicketContacts=Контакты тикет +TicketDocumentsLinked=Документы, привязанные к билету +ConfirmReOpenTicket=Подтвердить повторное открытие этого билета? +TicketMessageMailIntroAutoNewPublicMessage=В тикете появилось новое сообщение с темой %s: +TicketAssignedToYou=Тикет назначен +TicketAssignedEmailBody=Вам был присвоен тикет # %s пользователем %s +MarkMessageAsPrivate=Отметить сообщение как личное +TicketMessagePrivateHelp=Это сообщение не будет отображаться для внешних пользователей +TicketEmailOriginIssuer=Эмитент при оформлении тикетов +InitialMessage=Начальное сообщение +LinkToAContract=Ссылка на договор +TicketPleaseSelectAContract=Выберите договор +UnableToCreateInterIfNoSocid=Невозможно создать вмешательство, если третья сторона не определена +TicketMailExchanges=Почтовый обмен +TicketInitialMessageModified=Первоначальное сообщение изменено +TicketMessageSuccesfullyUpdated=Сообщение успешно обновлено +TicketChangeStatus=Изменить статус +TicketConfirmChangeStatus=Подтвердите изменение статуса: %s? +TicketLogStatusChanged=Статус изменен: с %s на %s +TicketNotNotifyTiersAtCreate=Не уведомлять компанию при создании +Unread=Непрочитанный +TicketNotCreatedFromPublicInterface=Недоступен. Тикет не был создан из общедоступного интерфейса. +ErrorTicketRefRequired=Требуется ссылочное название билета # # Logs # -TicketLogMesgReadBy=Ticket %s read by %s -NoLogForThisTicket=No log for this ticket yet -TicketLogAssignedTo=Ticket %s assigned to %s -TicketLogPropertyChanged=Ticket %s modified: classification from %s to %s -TicketLogClosedBy=Ticket %s closed by %s -TicketLogReopen=Ticket %s re-open +TicketLogMesgReadBy=Тикет %s, прочитанный пользователем %s +NoLogForThisTicket=Для этого билета еще нет журнала +TicketLogAssignedTo=Тикет %s назначен на %s +TicketLogPropertyChanged=Тикет %s изменен: классификация с %s на %s +TicketLogClosedBy=Тикет %s закрыт пользователем %s +TicketLogReopen=Тикет %s открывается повторно # # Public pages # -TicketSystem=Ticket system -ShowListTicketWithTrackId=Display ticket list from track ID -ShowTicketWithTrackId=Display ticket from track ID -TicketPublicDesc=You can create a support ticket or check from an existing ID. -YourTicketSuccessfullySaved=Ticket has been successfully saved! -MesgInfosPublicTicketCreatedWithTrackId=A new ticket has been created with ID %s and Ref %s. -PleaseRememberThisId=Please keep the tracking number that we might ask you later. -TicketNewEmailSubject=Ticket creation confirmation - Ref %s (public ticket ID %s) -TicketNewEmailSubjectCustomer=New support ticket -TicketNewEmailBody=This is an automatic email to confirm you have registered a new ticket. -TicketNewEmailBodyCustomer=This is an automatic email to confirm a new ticket has just been created into your account. -TicketNewEmailBodyInfosTicket=Information for monitoring the ticket -TicketNewEmailBodyInfosTrackId=Ticket tracking number: %s -TicketNewEmailBodyInfosTrackUrl=You can view the progress of the ticket by clicking the link above. -TicketNewEmailBodyInfosTrackUrlCustomer=You can view the progress of the ticket in the specific interface by clicking the following link -TicketEmailPleaseDoNotReplyToThisEmail=Please do not reply directly to this email! Use the link to reply into the interface. -TicketPublicInfoCreateTicket=This form allows you to record a support ticket in our management system. -TicketPublicPleaseBeAccuratelyDescribe=Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request. -TicketPublicMsgViewLogIn=Please enter ticket tracking ID -TicketTrackId=Public Tracking ID -OneOfTicketTrackId=One of your tracking ID -ErrorTicketNotFound=Ticket with tracking ID %s not found! +TicketSystem=Билетная система +ShowListTicketWithTrackId=Показать список тикетов из идентификатора трека +ShowTicketWithTrackId=Показать тикет с идентификатора трека +TicketPublicDesc=Вы можете создать заявку в службу поддержки или проверить имеющийся идентификатор. +YourTicketSuccessfullySaved=Тикет успешно сохранен! +MesgInfosPublicTicketCreatedWithTrackId=Был создан новый тикет с идентификаторами %s и Ref %s. +PleaseRememberThisId=Сохраните номер для отслеживания, который мы можем спросить у вас позже. +TicketNewEmailSubject=Подтверждение создания билета - Ref %s (общедоступный идентификатор билета %s) +TicketNewEmailSubjectCustomer=Новый тикет в службу поддержки +TicketNewEmailBody=Это автоматическое электронное письмо, подтверждающее, что вы зарегистрировали новый тикет. +TicketNewEmailBodyCustomer=Это автоматическое электронное письмо, подтверждающее, что в вашу учетную запись только что был добавлен новый тикет. +TicketNewEmailBodyInfosTicket=Информация для наблюдения за билетом +TicketNewEmailBodyInfosTrackId=Номер отслеживания тикетов: %s +TicketNewEmailBodyInfosTrackUrl=Вы можете просмотреть ход выполнения заявки, щелкнув ссылку выше. +TicketNewEmailBodyInfosTrackUrlCustomer=Вы можете просмотреть ход выполнения заявки в определенном интерфейсе, щелкнув следующую ссылку +TicketEmailPleaseDoNotReplyToThisEmail=Пожалуйста, не отвечайте на это письмо напрямую! Используйте ссылку, чтобы ответить в интерфейсе. +TicketPublicInfoCreateTicket=Эта форма позволяет вам записать заявку в службу поддержки в нашей системе управления. +TicketPublicPleaseBeAccuratelyDescribe=Пожалуйста, подробно опишите проблему. Предоставьте как можно больше информации, чтобы мы могли правильно идентифицировать ваш запрос. +TicketPublicMsgViewLogIn=Пожалуйста, введите идентификатор отслеживания тикетов +TicketTrackId=Общедоступный идентификатор отслеживания +OneOfTicketTrackId=Один из ваших идентификаторов отслеживания +ErrorTicketNotFound=Тикет с идентификатором отслеживания %s не найден! Subject=Тема -ViewTicket=View ticket -ViewMyTicketList=View my ticket list -ErrorEmailMustExistToCreateTicket=Error: email address not found in our database -TicketNewEmailSubjectAdmin=New ticket created - Ref %s (public ticket ID %s) -TicketNewEmailBodyAdmin=

    Ticket has just been created with ID #%s, see information:

    -SeeThisTicketIntomanagementInterface=See ticket in management interface -TicketPublicInterfaceForbidden=The public interface for the tickets was not enabled -ErrorEmailOrTrackingInvalid=Bad value for tracking ID or email -OldUser=Old user +ViewTicket=Посмотреть тикет +ViewMyTicketList=Посмотреть мой список тикетов +ErrorEmailMustExistToCreateTicket=Ошибка: адрес электронной почты не найден в нашей базе данных +TicketNewEmailSubjectAdmin=Создан новый тикет - Ref %s (общедоступный идентификатор билета %s) +TicketNewEmailBodyAdmin=

    Тикет только что был создан с ID # %s, см. информацию:

    +SeeThisTicketIntomanagementInterface=См. Тикет в интерфейсе управления +TicketPublicInterfaceForbidden=Публичный интерфейс для тикетов не был включен +ErrorEmailOrTrackingInvalid=Неверное значение идентификатора отслеживания или электронной почты +OldUser=Старый пользователь NewUser=Новый пользователь -NumberOfTicketsByMonth=Number of tickets per month -NbOfTickets=Number of tickets +NumberOfTicketsByMonth=Количество тикетов в месяц +NbOfTickets=Количество тикетов # notifications -TicketNotificationEmailSubject=Ticket %s updated -TicketNotificationEmailBody=This is an automatic message to notify you that ticket %s has just been updated -TicketNotificationRecipient=Notification recipient -TicketNotificationLogMessage=Log message -TicketNotificationEmailBodyInfosTrackUrlinternal=View ticket into interface -TicketNotificationNumberEmailSent=Notification email sent: %s +TicketNotificationEmailSubject=Тикет %s обновлен +TicketNotificationEmailBody=Это автоматическое сообщение, уведомляющее вас о том, что тикет %s только что был обновлен. +TicketNotificationRecipient=Получатель уведомления +TicketNotificationLogMessage=Сообщение журнала +TicketNotificationEmailBodyInfosTrackUrlinternal=Просмотр заявки в интерфейсе +TicketNotificationNumberEmailSent=Уведомление отправлено по электронной почте: %s -ActionsOnTicket=Events on ticket +ActionsOnTicket=События в тикете # # Boxes # -BoxLastTicket=Latest created tickets -BoxLastTicketDescription=Latest %s created tickets +BoxLastTicket=Последние созданные тикеты +BoxLastTicketDescription=Последние созданные тикеты %s BoxLastTicketContent= -BoxLastTicketNoRecordedTickets=No recent unread tickets -BoxLastModifiedTicket=Latest modified tickets -BoxLastModifiedTicketDescription=Latest %s modified tickets +BoxLastTicketNoRecordedTickets=Нет недавних непрочитанных тикетов +BoxLastModifiedTicket=Последние измененные тикеты +BoxLastModifiedTicketDescription=Последние измененные тикеты %s BoxLastModifiedTicketContent= -BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxLastModifiedTicketNoRecordedTickets=Нет недавно измененных тикетов +BoxTicketType=Распределение открытых билетов по типам +BoxTicketSeverity=Количество открытых заявок по серьезности +BoxNoTicketSeverity=Тикеты не открыты +BoxTicketLastXDays=Количество новых тикетов по дням последние %s дней +BoxTicketLastXDayswidget = Количество новых тикетов по дням за последние X дней +BoxNoTicketLastXDays=Нет новых тикетов за последние %s дн. +BoxNumberOfTicketByDay=Количество новых тикетов по дням +BoxNewTicketVSClose=Количество сегодняшних новых тикетов по сравнению с сегодняшними закрытыми тикетами +TicketCreatedToday=Тикет создан сегодня +TicketClosedToday=Тикет закрыт сегодня diff --git a/htdocs/langs/ru_RU/trips.lang b/htdocs/langs/ru_RU/trips.lang index ebac036c46c..bded5fe8ede 100644 --- a/htdocs/langs/ru_RU/trips.lang +++ b/htdocs/langs/ru_RU/trips.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - trips -ShowExpenseReport=Show expense report +ShowExpenseReport=Показать отчет о расходах Trips=Отчёты о затратах TripsAndExpenses=Отчёты о затратах TripsAndExpensesStatistics=Статистика отчётов о затратах @@ -7,33 +7,33 @@ TripCard=Карточка отчётов о затратах AddTrip=Создать отчёт о затратах ListOfTrips=Список отчётов о затратах ListOfFees=Список сборов -TypeFees=Types of fees -ShowTrip=Show expense report +TypeFees=Типы сборов +ShowTrip=Показать отчет о расходах NewTrip=Новый отчёт о затртатах -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports -CompanyVisited=Company/organization visited +LastExpenseReports=Последние отчеты о расходах %s +AllExpenseReports=Все отчеты о расходах +CompanyVisited=Компания / организация посетили FeesKilometersOrAmout=Сумма или километры DeleteTrip=Удалить отчёт о затратах -ConfirmDeleteTrip=Are you sure you want to delete this expense report? +ConfirmDeleteTrip=Вы действительно хотите удалить этот отчет о расходах? ListTripsAndExpenses=Список отчётов о затратах ListToApprove=Ждёт утверждения ExpensesArea=Поле отчётов о затратах -ClassifyRefunded=Classify 'Refunded' +ClassifyRefunded=Классифицируйте "Возврат" ExpenseReportWaitingForApproval=Новый отчёт о затратах направлен на утверждение -ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval -ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportApproved=An expense report was approved -ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s -ExpenseReportRefused=An expense report was refused -ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s -ExpenseReportCanceled=An expense report was canceled -ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s -ExpenseReportPaid=An expense report was paid -ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s +ExpenseReportWaitingForApprovalMessage=Новый отчет о расходах отправлен и ожидает утверждения.
    - Пользователь: %s
    - Период: %s
    Нажмите здесь, чтобы проверить: %s +ExpenseReportWaitingForReApproval=Отчет о расходах отправлен на повторное утверждение +ExpenseReportWaitingForReApprovalMessage=Отчет о расходах отправлен и ожидает повторного утверждения.
    %s, вы отказались утвердить отчет о расходах по этой причине: %s.
    Предложена новая версия, ожидающая вашего одобрения.
    - Пользователь: %s
    - Период: %s
    Нажмите здесь, чтобы проверить: %s +ExpenseReportApproved=Отчет о расходах утвержден +ExpenseReportApprovedMessage=Отчет о расходах %s утвержден.
    - Пользователь: %s
    - Утверждено: %s
    Нажмите здесь, чтобы просмотреть отчет о расходах: %s +ExpenseReportRefused=Отчет о расходах был отклонен +ExpenseReportRefusedMessage=Отчет о расходах %s был отклонен.
    - Пользователь: %s
    - Отказано: %s
    - Мотив отказа: %s
    Нажмите чтобы показать отчёт о затратах: %s +ExpenseReportCanceled=Отчет о расходах был отменен +ExpenseReportCanceledMessage=Отчет о расходах %s был отменен.
    - Пользователь: %s
    - Отменено: %s
    - Мотив для отмены: %s
    Нажмите, чтобы показать отчёт о затратах:%s +ExpenseReportPaid=Отчет о расходах был оплачен +ExpenseReportPaidMessage=Отчет о расходах %s был оплачен.
    - Пользователь: %s
    - Оплачивается: %s
    Нажмите здесь, чтобы просмотреть отчет о расходах: %s TripId=ID отчёта о затратах -AnyOtherInThisListCanValidate=Кого уведомлять для подтверждения. +AnyOtherInThisListCanValidate=Лицо, которое должно быть проинформировано для подтверждения запроса. TripSociete=Информация о компании TripNDF=Информация о отчёте о затратах PDFStandardExpenseReports=Шаблон отчёта о затратах для создания документа в формате PDF @@ -47,105 +47,104 @@ TF_BUS=Автобус TF_CAR=Машина TF_PEAGE=Троллейбус TF_ESSENCE=Топливо -TF_HOTEL=Hotel +TF_HOTEL=Отель TF_TAXI=Такси -EX_KME=Mileage costs -EX_FUE=Fuel CV -EX_HOT=Hotel -EX_PAR=Parking CV -EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast -EX_FUE_VP=Fuel PV -EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair -DefaultCategoryCar=Default transportation mode -DefaultRangeNumber=Default range number -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' +EX_KME=Стоимость пробега +EX_FUE=Топливо CV +EX_HOT=Отель +EX_PAR=Парковка CV +EX_TOL=Платное резюме +EX_TAX=Различные налоги +EX_IND=Страховая транспортная подписка +EX_SUM=Поставка технического обслуживания +EX_SUO=Офисные принадлежности +EX_CAR=Прокат автомобилей +EX_DOC=Документация +EX_CUR=Получение клиентов +EX_OTR=Другое получение +EX_POS=Почтовые расходы +EX_CAM=Техническое обслуживание и ремонт резюме +EX_EMM=Питание сотрудников +EX_GUM=Еда для гостей +EX_BRE=Завтрак +EX_FUE_VP=Топливо PV +EX_TOL_VP=Платная PV +EX_PAR_VP=Парковка PV +EX_CAM_VP=Обслуживание и ремонт фотоэлектрических систем +DefaultCategoryCar=Режим транспортировки по умолчанию +DefaultRangeNumber=Номер диапазона по умолчанию +UploadANewFileNow=Загрузите новый документ прямо сейчас +Error_EXPENSEREPORT_ADDON_NotDefined=Ошибка, правило нумерации отчета о расходах ref не было определено в настройке модуля «Отчет о расходах». ErrorDoubleDeclaration=Вы должны задекларировать другой отчёт о затратах в этом временном диапазоне. AucuneLigne=Нет задекларированных отчётов о затратах ModePaiement=Режим оплаты -VALIDATOR=User responsible for approval +VALIDATOR=Пользователь, ответственный за утверждение VALIDOR=Утверждено AUTHOR=Записано AUTHORPAIEMENT=Оплачивается REFUSEUR=Отклонено -CANCEL_USER=Deleted by +CANCEL_USER=Удалено MOTIF_REFUS=Причина MOTIF_CANCEL=Причина DATE_REFUS=Дата отклонения DATE_SAVE=Дата проверки DATE_CANCEL=Дата отмены DATE_PAIEMENT=Дата платежа -BROUILLONNER=Открыть заново -ExpenseReportRef=Ref. expense report +ExpenseReportRef=Ref. отчет о затратах ValidateAndSubmit=Проверить и отправить запрос на утверждение -ValidatedWaitingApproval=Validated (waiting for approval) +ValidatedWaitingApproval=Подтверждено (ожидает утверждения) NOT_AUTHOR=Вы не автор этого отчёта о затратах. Операция отменена. -ConfirmRefuseTrip=Are you sure you want to deny this expense report? +ConfirmRefuseTrip=Вы уверены, что хотите отклонить этот отчет о расходах? ValideTrip=Одобрить отчёт о затратах -ConfirmValideTrip=Are you sure you want to approve this expense report? +ConfirmValideTrip=Вы уверены, что хотите утвердить этот отчет о расходах? PaidTrip=Оплатить отчёт о затратах -ConfirmPaidTrip=Are you sure you want to change status of this expense report to "Paid"? -ConfirmCancelTrip=Are you sure you want to cancel this expense report? -BrouillonnerTrip=Move back expense report to status "Draft" -ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft"? +ConfirmPaidTrip=Вы действительно хотите изменить статус этого отчета о расходах на «Оплачен»? +ConfirmCancelTrip=Вы уверены, что хотите отменить этот отчет о расходах? +BrouillonnerTrip=Вернуть отчет о расходах в статус «Черновик» +ConfirmBrouillonnerTrip=Вы действительно хотите переместить этот отчет о расходах в статус «Черновик»? SaveTrip=Проверить отчёт о завтратах -ConfirmSaveTrip=Are you sure you want to validate this expense report? +ConfirmSaveTrip=Вы уверены, что хотите проверить этот отчет о расходах? NoTripsToExportCSV=Нет отчёта о затратах за этот период. -ExpenseReportPayment=Expense report payment -ExpenseReportsToApprove=Expense reports to approve -ExpenseReportsToPay=Expense reports to pay -ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index -ExpenseReportsRules=Expense report rules -ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers -ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report +ExpenseReportPayment=Оплата отчета о расходах +ExpenseReportsToApprove=Отчеты о расходах на утверждение +ExpenseReportsToPay=Отчеты о расходах к оплате +ConfirmCloneExpenseReport=Вы уверены, что хотите клонировать этот отчет о расходах? +ExpenseReportsIk=Конфигурация начислений за пробег +ExpenseReportsRules=Правила отчета о расходах +ExpenseReportIkDesc=Вы можете изменить расчет расхода в километрах по категориям и диапазонам, которые они определены ранее. d - расстояние в километрах +ExpenseReportRulesDesc=Вы можете создавать или обновлять любые правила расчета. Эта часть будет использоваться, когда пользователь создаст новый отчет о расходах. expenseReportOffset=Сдвиг -expenseReportCoef=Coefficient -expenseReportTotalForFive=Example with d = 5 -expenseReportRangeFromTo=from %d to %d -expenseReportRangeMoreThan=more than %d -expenseReportCoefUndefined=(value not defined) -expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary -expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay -expenseReportPrintExample=offset + (d x coef) = %s -ExpenseReportApplyTo=Apply to -ExpenseReportDomain=Domain to apply -ExpenseReportLimitOn=Limit on +expenseReportCoef=Коэффициент +expenseReportTotalForFive=Пример с d = 5 +expenseReportRangeFromTo=с %d на %d +expenseReportRangeMoreThan=более чем %d +expenseReportCoefUndefined=(значение не определено) +expenseReportCatDisabled=Категория отключена - см. Словарь c_exp_tax_cat +expenseReportRangeDisabled=Диапазон отключен - см. Словарь c_exp_tax_range +expenseReportPrintExample=смещение + (d x coef) = %s +ExpenseReportApplyTo=Применить к +ExpenseReportDomain=Домен для подачи заявки +ExpenseReportLimitOn=Ограничить ExpenseReportDateStart=Дата начала ExpenseReportDateEnd=Дата окончания -ExpenseReportLimitAmount=Limite amount -ExpenseReportRestrictive=Restrictive -AllExpenseReport=All type of expense report -OnExpense=Expense line -ExpenseReportRuleSave=Expense report rule saved -ExpenseReportRuleErrorOnSave=Error: %s -RangeNum=Range %d -ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s -byEX_DAY=by day (limitation to %s) -byEX_MON=by month (limitation to %s) -byEX_YEA=by year (limitation to %s) -byEX_EXP=by line (limitation to %s) -ExpenseReportConstraintViolationWarning=Constraint violation id [%s]: %s is superior to %s %s -nolimitbyEX_DAY=by day (no limitation) -nolimitbyEX_MON=by month (no limitation) -nolimitbyEX_YEA=by year (no limitation) -nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car -ExpenseRangeOffset=Offset amount: %s -RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the line to an uploaded document +ExpenseReportLimitAmount=Лимитная сумма +ExpenseReportRestrictive=Ограничительный +AllExpenseReport=Все типы отчетов о расходах +OnExpense=Строка расходов +ExpenseReportRuleSave=Правило отчета о расходах сохранено +ExpenseReportRuleErrorOnSave=Ошибка: %s +RangeNum=Диапазон %d +ExpenseReportConstraintViolationError=Идентификатор нарушения ограничения [%s]: %s превосходит %s %s +byEX_DAY=днем (ограничение до %s) +byEX_MON=по месяцам (ограничение до %s) +byEX_YEA=по годам (ограничение до %s) +byEX_EXP=по строке (ограничение на %s) +ExpenseReportConstraintViolationWarning=Идентификатор нарушения ограничения [%s]: %s превосходит %s %s +nolimitbyEX_DAY=днем (без ограничений) +nolimitbyEX_MON=по месяцам (без ограничений) +nolimitbyEX_YEA=по годам (без ограничений) +nolimitbyEX_EXP=по строкам (без ограничений) +CarCategory=Категория транспортного средства +ExpenseRangeOffset=Сумма зачета: %s +RangeIk=Диапазон пробега +AttachTheNewLineToTheDocument=Прикрепите строку к загруженному документу diff --git a/htdocs/langs/ru_RU/users.lang b/htdocs/langs/ru_RU/users.lang index b638815e56a..2ef9df3aa0b 100644 --- a/htdocs/langs/ru_RU/users.lang +++ b/htdocs/langs/ru_RU/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Пароль изменен на: %s SubjectNewPassword=Ваш новый пароль для %s GroupRights=Права доступа группы UserRights=Права доступа пользователя -Credentials=Credentials +Credentials=Реквизиты для входа UserGUISetup=Внешний вид (для пользователя) DisableUser=Выключать DisableAUser=Отключить пользователя @@ -47,8 +47,8 @@ RemoveFromGroup=Удалить из группы PasswordChangedAndSentTo=Пароль изменен и направил в %s. PasswordChangeRequest=Запрос на изменение пароля для %s PasswordChangeRequestSent=Запрос на изменение пароля для %s направлено %s. -IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. -IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. +IfLoginExistPasswordRequestSent=Если этот логин является действующей учетной записью, было отправлено электронное письмо для сброса пароля. +IfEmailExistPasswordRequestSent=Если это адрес электронной почты действующей учетной записи, было отправлено электронное письмо для сброса пароля. ConfirmPasswordReset=Подтвердите сброс пароля MenuUsersAndGroups=Пользователи и Группы LastGroupsCreated=Последние %s созданные группы @@ -73,16 +73,16 @@ ExportDataset_user_1=Пользователи и их свойства DomainUser=Домен пользователя %s Reactivate=Возобновить CreateInternalUserDesc=Эта форма позволяет вам создать внутреннего пользователя в вашей компании. Чтобы создать внешнего пользователя (клиента, поставщика и т.д.), используйте кнопку «Создать пользователя Dolibarr» из карточки контакта этого контрагента. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=Внутренний пользователь - это пользователь, который является частью вашей компании / организации или партнером за пределами вашей организации, которому может потребоваться больше данных, чем данных, связанных с его компанией (система разрешений будет определять, что он может или может не вижу и не делаю).
    Внешний пользователь - это покупатель, поставщик или другое лицо, которое должно просматривать ТОЛЬКО данные, относящиеся к самому себе (создание внешнего пользователя для третьей стороны может быть выполнено из контактной записи третьей стороны).

    В обоих случаях необходимо предоставить разрешения на функции, которые нужны пользователю. PermissionInheritedFromAGroup=Разрешение предоставляется, поскольку унаследовал от одного из пользователей в группы. Inherited=Унаследованный -UserWillBe=Created user will be +UserWillBe=Созданный пользователь будет UserWillBeInternalUser=Созданный пользователь будет внутреннего пользователя (потому что не связаны с определенным третьим лицам) UserWillBeExternalUser=Созданный пользователь будет внешний пользователь (из-за связанных с определенной третьей стороны) IdPhoneCaller=Идентификатор телефона абонента NewUserCreated=Пользователь %s создан NewUserPassword=Смена пароля для %s -NewPasswordValidated=Your new password have been validated and must be used now to login. +NewPasswordValidated=Ваш новый пароль был подтвержден и должен использоваться сейчас для входа в систему. EventUserModified=Пользователь %s изменен UserDisabled=Пользователь %s отключен UserEnabled=Пользователь %s активирован @@ -97,8 +97,8 @@ LoginToCreate=Логин для создания NameToCreate=Имя третьей стороной для создания YourRole=Ваша роль YourQuotaOfUsersIsReached=Квота активных пользователей будет достигнута! -NbOfUsers=Кол-во пользователей -NbOfPermissions=Кол-во разрешений +NbOfUsers=Количество пользователей +NbOfPermissions=Количество разрешений DontDowngradeSuperAdmin=Только суперамин может понизить суперамин HierarchicalResponsible=Руководитель HierarchicView=Иерархический вид @@ -106,21 +106,21 @@ UseTypeFieldToChange=Использьзуйте поле Тип для изме OpenIDURL=OpenID URL LoginUsingOpenID=Использовать OpenID для входа WeeklyHours=Отработанные часы (в неделю) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Ожидаемое количество отработанных часов в неделю ColorUser=Цвет пользователя DisabledInMonoUserMode=Отключено в режиме обслуживания UserAccountancyCode=Код учета пользователя UserLogoff=Выход пользователя UserLogged=Пользователь вошел -DateOfEmployment=Employment date -DateEmployment=Employment +DateOfEmployment=Дата трудоустройства +DateEmployment=Работа DateEmploymentstart=Дата начала трудоустройства DateEmploymentEnd=Дата окончания занятости -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Диапазон дат действия доступа CantDisableYourself=Вы не можете отключить свою собственную запись пользователя -ForceUserExpenseValidator=Force expense report validator -ForceUserHolidayValidator=Force leave request validator -ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. -UserPersonalEmail=Personal email -UserPersonalMobile=Personal mobile phone -WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s +ForceUserExpenseValidator=Принудительный валидатор отчетов о расходах +ForceUserHolidayValidator=Принудительный валидатор запроса на отпуск +ValidatorIsSupervisorByDefault=По умолчанию валидатор является супервизором пользователя. Оставьте пустым, чтобы сохранить такое поведение. +UserPersonalEmail=Личное электронное письмо +UserPersonalMobile=Персональный мобильный телефон +WarningNotLangOfInterface=Предупреждение, это основной язык, на котором говорит пользователь, а не язык интерфейса, который он выбрал для просмотра. Чтобы изменить язык интерфейса, видимый этим пользователем, перейдите на вкладку %s diff --git a/htdocs/langs/ru_RU/website.lang b/htdocs/langs/ru_RU/website.lang index 4e0840138f3..825f1b801b2 100644 --- a/htdocs/langs/ru_RU/website.lang +++ b/htdocs/langs/ru_RU/website.lang @@ -1,147 +1,147 @@ # Dolibarr language file - Source file is en_US - website Shortname=Код -WebsiteSetupDesc=Create here the websites you wish to use. Then go into menu Websites to edit them. +WebsiteSetupDesc=Создайте здесь веб-сайты, которые вы хотите использовать. Затем перейдите в меню «Сайты», чтобы отредактировать их. DeleteWebsite=Удалить сайт -ConfirmDeleteWebsite=Are you sure you want to delete this web site? All its pages and content will also be removed. The files uploaded (like into the medias directory, the ECM module, ...) will remain. -WEBSITE_TYPE_CONTAINER=Type of page/container -WEBSITE_PAGE_EXAMPLE=Web page to use as example -WEBSITE_PAGENAME=Page name/alias -WEBSITE_ALIASALT=Alternative page names/aliases -WEBSITE_ALIASALTDesc=Use here list of other name/aliases so the page can also be accessed using this other names/aliases (for example the old name after renaming the alias to keep backlink on old link/name working). Syntax is:
    alternativename1, alternativename2, ... -WEBSITE_CSS_URL=URL of external CSS file -WEBSITE_CSS_INLINE=CSS file content (common to all pages) -WEBSITE_JS_INLINE=Javascript file content (common to all pages) -WEBSITE_HTML_HEADER=Addition at bottom of HTML Header (common to all pages) -WEBSITE_ROBOT=Robot file (robots.txt) -WEBSITE_HTACCESS=Website .htaccess file -WEBSITE_MANIFEST_JSON=Website manifest.json file -WEBSITE_README=README.md file -WEBSITE_KEYWORDSDesc=Use a comma to separate values -EnterHereLicenseInformation=Enter here meta data or license information to fille a README.md file. if you distribute your website as a template, the file will be included into the temptate package. -HtmlHeaderPage=HTML header (specific to this page only) -PageNameAliasHelp=Name or alias of the page.
    This alias is also used to forge a SEO URL when website is ran from a Virtual host of a Web server (like Apacke, Nginx, ...). Use the button "%s" to edit this alias. -EditTheWebSiteForACommonHeader=Note: If you want to define a personalized header for all pages, edit the header on the site level instead of on the page/container. -MediaFiles=Media library -EditCss=Edit website properties -EditMenu=Edit menu -EditMedias=Edit medias -EditPageMeta=Edit page/container properties -EditInLine=Edit inline -AddWebsite=Add website -Webpage=Web page/container -AddPage=Add page/container +ConfirmDeleteWebsite=Вы уверены, что хотите удалить этот веб-сайт? Все его страницы и контент также будут удалены. Загруженные файлы (например, в каталог medias, модуль ECM, ...) останутся. +WEBSITE_TYPE_CONTAINER=Тип страницы / контейнера +WEBSITE_PAGE_EXAMPLE=Веб-страница для использования в качестве примера +WEBSITE_PAGENAME=Имя / псевдоним страницы +WEBSITE_ALIASALT=Альтернативные имена / псевдонимы страниц +WEBSITE_ALIASALTDesc=Используйте здесь список других имен / псевдонимов, чтобы к странице можно было получить доступ, используя эти другие имена / псевдонимы (например, старое имя после переименования псевдонима, чтобы обратная ссылка на старую ссылку / имя работала). Синтаксис:
    альтернативное имя1, альтернативное имя2, ... +WEBSITE_CSS_URL=URL внешнего файла CSS +WEBSITE_CSS_INLINE=Содержимое файла CSS (общее для всех страниц) +WEBSITE_JS_INLINE=Содержимое файла Javascript (общее для всех страниц) +WEBSITE_HTML_HEADER=Добавление внизу заголовка HTML (общее для всех страниц) +WEBSITE_ROBOT=Файл робота (robots.txt) +WEBSITE_HTACCESS=Файл .htaccess веб-сайта +WEBSITE_MANIFEST_JSON=Файл manifest.json веб-сайта +WEBSITE_README=README.md файл +WEBSITE_KEYWORDSDesc=Используйте запятую для разделения значений +EnterHereLicenseInformation=Введите здесь метаданные или информацию о лицензии, чтобы заполнить файл README.md. если вы распространяете свой сайт в виде шаблона, файл будет включен в пакет temptate. +HtmlHeaderPage=Заголовок HTML (только для этой страницы) +PageNameAliasHelp=Имя или псевдоним страницы.
    Этот псевдоним также используется для подделки URL-адреса SEO, когда веб-сайт запускается с виртуального хоста веб-сервера (например, Apacke, Nginx, ...). Используйте кнопку « %s », чтобы изменить этот псевдоним. +EditTheWebSiteForACommonHeader=Примечание. Если вы хотите определить персонализированный заголовок для всех страниц, отредактируйте заголовок на уровне сайта, а не на странице / контейнере. +MediaFiles=Медиа библиотека +EditCss=Изменить свойства веб-сайта +EditMenu=Меню редактирования +EditMedias=Редактировать медиа +EditPageMeta=Изменить свойства страницы / контейнера +EditInLine=Редактировать в строке +AddWebsite=Добавить сайт +Webpage=Веб-страница / контейнер +AddPage=Добавить страницу / контейнер PageContainer=Страница -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. -RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. -SiteDeleted=Web site '%s' deleted -PageContent=Page/Contenair -PageDeleted=Page/Contenair '%s' of website %s deleted -PageAdded=Page/Contenair '%s' added -ViewSiteInNewTab=View site in new tab -ViewPageInNewTab=View page in new tab -SetAsHomePage=Set as Home page -RealURL=Real URL -ViewWebsiteInProduction=View web site using home URLs +PreviewOfSiteNotYetAvailable=Предварительный просмотр вашего веб-сайта %s пока недоступен. Сначала необходимо « Импортировать полный шаблон веб-сайта » или просто « Добавить страницу / контейнер ». +RequestedPageHasNoContentYet=Запрошенная страница с идентификатором %s еще не имеет содержимого, либо файл кеша .tpl.php был удален. Отредактируйте содержимое страницы, чтобы решить эту проблему. +SiteDeleted=Веб-сайт "%s" удален. +PageContent=Страница / Contenair +PageDeleted=Страница / Contenair '%s' веб-сайта %s удалена. +PageAdded=Добавлена страница / Contenair '%s' +ViewSiteInNewTab=Просмотреть сайт в новой вкладке +ViewPageInNewTab=Просмотреть страницу в новой вкладке +SetAsHomePage=Установить в качестве домашней страницы +RealURL=Реальный URL +ViewWebsiteInProduction=Просмотр веб-сайта с использованием домашних URL-адресов SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s -ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: +ExampleToUseInApacheVirtualHostConfig=Пример использования в настройке виртуального хоста Apache: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s -YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org +YouCanAlsoDeployToAnotherWHP= Запустите свой веб-сайт с другим провайдером хостинга Dolibarr
    Если у вас нет веб-сервера, такого как Apache или NGinx, доступного в Интернете, вы можете экспортировать и импортировать свой веб-сайт на другой экземпляр Dolibarr, предоставленный другим провайдером хостинга Dolibarr, который предоставляет полную интеграция с модулем Веб-сайт. Вы можете найти список некоторых хостинг-провайдеров Dolibarr на https://saas.dolibarr.org CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s ReadPerm=Читать -WritePerm=Write -TestDeployOnWeb=Test/deploy on web +WritePerm=Писать +TestDeployOnWeb=Тестирование / развертывание в Интернете PreviewSiteServedByWebServer=Preview %s in a new tab.

    The %s will be served by an external web server (like Apache, Nginx, IIS). You must install and setup this server before to point to directory:
    %s
    URL served by external server:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". -VirtualHostUrlNotDefined=URL of the virtual host served by external web server not defined -NoPageYet=No pages yet -YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template -SyntaxHelp=Help on specific syntax tips -YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor. -YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

    You can also include content of another Page/Container with the following syntax:
    <?php includeContainer('alias_of_container_to_include'); ?>

    You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):
    <?php redirectToContainer('alias_of_container_to_redirect_to'); ?>

    To add a link to another page, use the syntax:
    <a href="alias_of_page_to_link_to.php">mylink<a>

    To include a link to download a file stored into the documents directory, use the document.php wrapper:
    Example, for a file into documents/ecm (need to be logged), syntax is:
    <a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
    For a file into documents/medias (open directory for public access), syntax is:
    <a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
    For a file shared with a share link (open access using the sharing hash key of file), syntax is:
    <a href="/document.php?hashp=publicsharekeyoffile">

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
    +PreviewSiteServedByDolibarr= Предварительный просмотр %s в новой вкладке.

    %s будет обслуживаться сервером Dolibarr, поэтому для него не требуется установка какого-либо дополнительного веб-сервера (например, Apache, Nginx, IIS).
    Неудобство в том, что URL-адреса страниц не удобны для пользователя и начинаются с пути вашего Dolibarr.
    URL обслуживается Dolibarr:
    %s

    Чтобы использовать собственный внешний веб-сервер для обслуживания данного веб-сайта, создать виртуальный хост на вашем веб-сервере, который указывает на каталог
    %s
    введите имя этого виртуального сервера в свойствах этого веб-сайта и щелкните ссылку «Проверить / Развернуть в Интернете». +VirtualHostUrlNotDefined=URL-адрес виртуального хоста, обслуживаемого внешним веб-сервером, не определен +NoPageYet=Страниц пока нет +YouCanCreatePageOrImportTemplate=Вы можете создать новую страницу или импортировать полный шаблон сайта. +SyntaxHelp=Справка по конкретным советам по синтаксису +YouCanEditHtmlSourceckeditor=Вы можете редактировать исходный код HTML с помощью кнопки «Источник» в редакторе. +YouCanEditHtmlSource=
    Вы можете включить PHP-код в этот источник, используя теги <? php? > a0ac65d071f. Доступны следующие глобальные переменные: $ conf, $ db, $ mysoc, $ user, $ website, $ websitepage, $ weblangs, $ pagelangs.

    Вы также можете включить содержимое другой страницы / контейнера со следующим синтаксисом:
    a03900df; ? >

    Вы можете сделать редирект на другую страницу / контейнер со следующим синтаксисом (Примечание: не выводите контента перед перенаправлением):
    < PHP redirectToContainer ( «alias_of_container_to_redirect_to»); ? >

    Чтобы добавить ссылку на другую страницу, используйте следующий синтаксис:
    <a HREF = "alias_of_page_to_link_to.php" >mylink<a>

    Чтобы включить ссылку для загрузки файла, хранящегося в документов каталога, используйте document.php обертку:
    Пример для файла в документы / ЕСС (необходимо быть зарегистрированным), синтаксис:
    <a HREF = "/ document.php modulepart = ЕСМ и файл = [relative_dir / ] filename.ext ">
    Для файла в документах / носителях (открытый каталог для общего доступа) синтаксис следующий:
    a039cz =df7d31 "/document.php?modulepart=medias&file=[relative_dir/ visiblefilename.ext">
    Для файла, к которому предоставлен общий доступ по ссылке общего доступа (открытый доступ с использованием ключа хэша общего доступа для файла afrex07e03d03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e03e9e03e03e03e3e03e9e0ecfcfc07e19e03 /document.php?hashp=publicsharekeyoffile">


    Чтобы включить
    изображения, хранящейся в документов каталога, используйте viewimage.php обертку:
    Например, для изображения в документы / медиа (открытый каталог для общего доступа), синтаксис:
    <img src = "/ viewimage.php? modulepart = medias&file = [relative_dir / ]cfz0cd0file = [relative_dir / ]cfz0d06ext" a00a #YouCanEditHtmlSource2=
    To include a image shared publicaly, use the viewimage.php wrapper:
    Example with a shared key 123456789, syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSourceMore=
    More examples of HTML or dynamic code available on the wiki documentation
    . -ClonePage=Clone page/container -CloneSite=Clone site -SiteAdded=Website added -ConfirmClonePage=Please enter code/alias of new page and if it is a translation of the cloned page. -PageIsANewTranslation=The new page is a translation of the current page ? -LanguageMustNotBeSameThanClonedPage=You clone a page as a translation. The language of the new page must be different than language of source page. -ParentPageId=Parent page ID -WebsiteId=Website ID -CreateByFetchingExternalPage=Create page/container by fetching page from external URL... -OrEnterPageInfoManually=Or create page from scratch or from a page template... -FetchAndCreate=Fetch and Create -ExportSite=Export website -ImportSite=Import website template -IDOfPage=Id of page -Banner=Banner -BlogPost=Blog post -WebsiteAccount=Website account +YouCanEditHtmlSource2=Для изображения, к которому предоставлен общий доступ по ссылке общего доступа (открытый доступ с использованием хеш-ключа общего доступа к файлу), синтаксис следующий:
    <img src = "/ viewimage.php? Hashp = 12345679012 ..." a0012c7z0cd +YouCanEditHtmlSourceMore=
    Дополнительные примеры HTML или динамического кода доступны на в вики-документации
    . +ClonePage=Клонировать страницу / контейнер +CloneSite=Клонировать сайт +SiteAdded=Сайт добавлен +ConfirmClonePage=Пожалуйста, введите код / псевдоним новой страницы, и если это перевод клонированной страницы. +PageIsANewTranslation=Новая страница - это перевод текущей страницы? +LanguageMustNotBeSameThanClonedPage=Вы клонируете страницу как перевод. Язык новой страницы должен отличаться от языка исходной страницы. +ParentPageId=Идентификатор родительской страницы +WebsiteId=Идентификатор веб-сайта +CreateByFetchingExternalPage=Создайте страницу / контейнер, загрузив страницу с внешнего URL ... +OrEnterPageInfoManually=Или создать страницу с нуля или из шаблона страницы ... +FetchAndCreate=Получить и создать +ExportSite=Сайт экспорта +ImportSite=Импортировать шаблон сайта +IDOfPage=Идентификатор страницы +Banner=Баннер +BlogPost=Сообщение блога +WebsiteAccount=Аккаунт на сайте WebsiteAccounts=Аккаунты сайта -AddWebsiteAccount=Create web site account -BackToListForThirdParty=Back to list for the third-party -DisableSiteFirst=Disable website first -MyContainerTitle=My web site title -AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) -SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later... -WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table -WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party -YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. -OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site -GrabImagesInto=Grab also images found into css and page. -ImagesShouldBeSavedInto=Images should be saved into directory -WebsiteRootOfImages=Root directory for website images -SubdirOfPage=Sub-directory dedicated to page -AliasPageAlreadyExists=Alias page %s already exists -CorporateHomePage=Corporate Home page -EmptyPage=Empty page -ExternalURLMustStartWithHttp=External URL must start with http:// or https:// -ZipOfWebsitePackageToImport=Upload the Zip file of the website template package -ZipOfWebsitePackageToLoad=or Choose an available embedded website template package -ShowSubcontainers=Show dynamic content -InternalURLOfPage=Internal URL of page -ThisPageIsTranslationOf=This page/container is a translation of -ThisPageHasTranslationPages=This page/container has translation -NoWebSiteCreateOneFirst=No website has been created yet. Create one first. -GoTo=Go to -DynamicPHPCodeContainsAForbiddenInstruction=You add dynamic PHP code that contains the PHP instruction '%s' that is forbidden by default as dynamic content (see hidden options WEBSITE_PHP_ALLOW_xxx to increase list of allowed commands). -NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynamic content in websites. Ask permission or just keep code into php tags unmodified. -ReplaceWebsiteContent=Search or Replace website content -DeleteAlsoJs=Delete also all javascript files specific to this website? -DeleteAlsoMedias=Delete also all medias files specific to this website? -MyWebsitePages=My website pages -SearchReplaceInto=Search | Replace into -ReplaceString=New string -CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:

    #mycssselector, input.myclass:hover { ... }
    must be
    .bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }

    Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere. -LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page. -Dynamiccontent=Sample of a page with dynamic content -ImportSite=Import website template -EditInLineOnOff=Mode 'Edit inline' is %s -ShowSubContainersOnOff=Mode to execute 'dynamic content' is %s -GlobalCSSorJS=Global CSS/JS/Header file of web site -BackToHomePage=Back to home page... -TranslationLinks=Translation links -YouTryToAccessToAFileThatIsNotAWebsitePage=You try to access to a page that is not available.
    (ref=%s, type=%s, status=%s) -UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters -MainLanguage=Main language -OtherLanguages=Other languages -UseManifest=Provide a manifest.json file -PublicAuthorAlias=Public author alias -AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties -ReplacementDoneInXPages=Replacement done in %s pages or containers +AddWebsiteAccount=Создать учетную запись веб-сайта +BackToListForThirdParty=Вернуться к списку для сторонних разработчиков +DisableSiteFirst=Сначала отключите веб-сайт +MyContainerTitle=Заголовок моего веб-сайта +AnotherContainer=Вот как включить содержимое другой страницы / контейнера (здесь может возникнуть ошибка, если вы включите динамический код, потому что встроенный подконтейнер может не существовать) +SorryWebsiteIsCurrentlyOffLine=Извините, этот веб-сайт в настоящее время отключен. Пожалуйста, вернитесь позже ... +WEBSITE_USE_WEBSITE_ACCOUNTS=Включить таблицу учетной записи веб-сайта +WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Включите таблицу для хранения учетных записей веб-сайтов (логин / пароль) для каждого веб-сайта / третьей стороны +YouMustDefineTheHomePage=Вы должны сначала определить домашнюю страницу по умолчанию +OnlyEditionOfSourceForGrabbedContentFuture=Предупреждение: создание веб-страницы путем импорта внешней веб-страницы зарезервировано для опытных пользователей. В зависимости от сложности исходной страницы результат импорта может отличаться от оригинала. Кроме того, если исходная страница использует общие стили CSS или конфликтующий JavaScript, это может нарушить внешний вид или функции редактора веб-сайта при работе с этой страницей. Этот метод является более быстрым способом создания страницы, но рекомендуется создавать новую страницу с нуля или из предложенного шаблона страницы.
    Обратите внимание, что встроенный редактор может работать некорректно при использовании на захваченной внешней странице. +OnlyEditionOfSourceForGrabbedContent=Только редактирование исходного кода HTML возможно, если контент был получен с внешнего сайта. +GrabImagesInto=Также возьмите изображения, найденные в css и page. +ImagesShouldBeSavedInto=Изображения должны быть сохранены в каталог +WebsiteRootOfImages=Корневой каталог для изображений веб-сайтов +SubdirOfPage=Подкаталог, посвященный странице +AliasPageAlreadyExists=Страница псевдонима %s уже существует +CorporateHomePage=Корпоративная домашняя страница +EmptyPage=Пустая страница +ExternalURLMustStartWithHttp=Внешний URL-адрес должен начинаться с http: // или https: //. +ZipOfWebsitePackageToImport=Загрузите Zip-файл пакета шаблона веб-сайта +ZipOfWebsitePackageToLoad=или Выберите доступный пакет встроенного шаблона веб-сайта +ShowSubcontainers=Показать динамический контент +InternalURLOfPage=Внутренний URL страницы +ThisPageIsTranslationOf=Эта страница / контейнер является переводом +ThisPageHasTranslationPages=Эта страница / контейнер имеет перевод +NoWebSiteCreateOneFirst=Веб-сайт еще не создан. Сначала создайте его. +GoTo=Перейти к +DynamicPHPCodeContainsAForbiddenInstruction=Вы добавляете динамический код PHP, который содержит инструкцию PHP ' %s ', которая по умолчанию запрещена как динамическое содержимое (см. Скрытые параметры WEBSITE_PHP_ALLOW_xxx для увеличения списка разрешенных команд). +NotAllowedToAddDynamicContent=У вас нет разрешения на добавление или редактирование динамического содержимого PHP на веб-сайтах. Спросите разрешения или просто сохраните код в тегах php без изменений. +ReplaceWebsiteContent=Поиск или замена содержимого веб-сайта +DeleteAlsoJs=Удалить также все файлы javascript, относящиеся к этому веб-сайту? +DeleteAlsoMedias=Удалить также все файлы мультимедиа, относящиеся к этому веб-сайту? +MyWebsitePages=Страницы моего сайта +SearchReplaceInto=Поиск | Заменить на +ReplaceString=Новая строка +CSSContentTooltipHelp=Введите сюда содержимое CSS. Чтобы избежать конфликта с CSS приложения, обязательно добавляйте все объявления к классу .bodywebsite. Например:

    #mycssselector, input.myclass: hover {...}
    должен иметь значение
    .bodywebsite #mycssselector, .bodywebsite input.zfda19bz0file без файла abda2fcfdddbxfdddbxfdddbxfcfdbxf6ebfcfcfdbfddfdbfdbfcf6eb09 этот префикс, вы можете использовать 'lessc', чтобы преобразовать его, чтобы везде добавлять префикс .bodywebsite. +LinkAndScriptsHereAreNotLoadedInEditor=Предупреждение: этот контент выводится только при доступе к сайту с сервера. Он не используется в режиме редактирования, поэтому, если вам нужно загрузить файлы javascript также в режиме редактирования, просто добавьте свой тег script src = ... на страницу. +Dynamiccontent=Образец страницы с динамическим контентом +ImportSite=Импортировать шаблон сайта +EditInLineOnOff=Режим 'Edit inline': %s +ShowSubContainersOnOff=Режим для выполнения «динамического содержимого»: %s +GlobalCSSorJS=Глобальный CSS / JS / заголовочный файл веб-сайта +BackToHomePage=Вернуться на главную ... +TranslationLinks=Ссылки на перевод +YouTryToAccessToAFileThatIsNotAWebsitePage=Вы пытаетесь получить доступ к странице, которая недоступна.
    (ref = %s, type = %s, status = %s) +UseTextBetween5And70Chars=Для правильного SEO используйте текст от 5 до 70 символов. +MainLanguage=Главный язык +OtherLanguages=Другие языки +UseManifest=Предоставьте файл manifest.json +PublicAuthorAlias=Псевдоним публичного автора +AvailableLanguagesAreDefinedIntoWebsiteProperties=Доступные языки определены в свойствах веб-сайта. +ReplacementDoneInXPages=Замена выполняется в страницах или контейнерах %s RSSFeed=RSS-канал -RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL -PagesRegenerated=%s page(s)/container(s) regenerated -RegenerateWebsiteContent=Regenerate web site cache files -AllowedInFrames=Allowed in Frames -DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated -ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +RSSFeedDesc=Вы можете получить RSS-канал последних статей с типом "блог-пост", используя этот URL-адрес. +PagesRegenerated=%s страниц / контейнер (ы) восстановлено +RegenerateWebsiteContent=Восстановить файлы кеша веб-сайта +AllowedInFrames=Разрешено в кадрах +DefineListOfAltLanguagesInWebsiteProperties=Определите список всех доступных языков в свойствах веб-сайта. +GenerateSitemaps=Создать файл карты сайта +ConfirmGenerateSitemaps=Если вы подтвердите, вы удалите существующий файл карты сайта ... +ConfirmSitemapsCreation=Подтвердите создание карты сайта +SitemapGenerated=Создан файл Sitemap %s +ImportFavicon=Фавикон +ErrorFaviconType=Фавикон должен быть в формате png. +ErrorFaviconSize=Размер Favicon должен быть 16x16, 32x32 или 64x64. +FaviconTooltip=Загрузите изображение в формате png (16x16, 32x32 или 64x64). diff --git a/htdocs/langs/ru_RU/withdrawals.lang b/htdocs/langs/ru_RU/withdrawals.lang index 2b878111e01..7d70a51e70c 100644 --- a/htdocs/langs/ru_RU/withdrawals.lang +++ b/htdocs/langs/ru_RU/withdrawals.lang @@ -1,50 +1,51 @@ # Dolibarr language file - Source file is en_US - withdrawals -CustomersStandingOrdersArea=Payments by Direct debit orders -SuppliersStandingOrdersArea=Payments by Credit transfer -StandingOrdersPayment=Direct debit payment orders -StandingOrderPayment=Direct debit payment order -NewStandingOrder=New direct debit order -NewPaymentByBankTransfer=New payment by credit transfer +CustomersStandingOrdersArea=Платежи по поручению прямого дебета +SuppliersStandingOrdersArea=Платежи кредитным переводом +StandingOrdersPayment=Платежные поручения с прямым дебетом +StandingOrderPayment=Платежное поручение прямого дебета +NewStandingOrder=Новое распоряжение о прямом дебете +NewPaymentByBankTransfer=Новый платеж кредитным переводом StandingOrderToProcess=Для обработки -PaymentByBankTransferReceipts=Credit transfer orders -PaymentByBankTransferLines=Credit transfer order lines -WithdrawalsReceipts=Direct debit orders +PaymentByBankTransferReceipts=Распоряжения о переводе кредита +PaymentByBankTransferLines=Строки поручения на перевод кредита +WithdrawalsReceipts=Распоряжения прямого дебетования WithdrawalReceipt=Прямой дебетовый заказ -BankTransferReceipts=Credit transfer orders -BankTransferReceipt=Credit transfer order -LatestBankTransferReceipts=Latest %s credit transfer orders -LastWithdrawalReceipts=Latest %s direct debit files -WithdrawalsLine=Direct debit order line -CreditTransferLine=Credit transfer line -WithdrawalsLines=Direct debit order lines -CreditTransferLines=Credit transfer lines -RequestStandingOrderToTreat=Requests for direct debit payment order to process -RequestStandingOrderTreated=Requests for direct debit payment order processed -RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process -RequestPaymentsByBankTransferTreated=Requests for credit transfer processed -NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. -NbOfInvoiceToWithdraw=No. of qualified customer invoices with waiting direct debit order -NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information -NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer -SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer -InvoiceWaitingWithdraw=Invoice waiting for direct debit -InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer +BankTransferReceipts=Распоряжения о переводе кредита +BankTransferReceipt=Распоряжение о переводе кредита +LatestBankTransferReceipts=Последние заказы на кредитный перевод %s +LastWithdrawalReceipts=Последние файлы прямого дебета %s +WithdrawalsLine=Строка ордера на прямой дебет +CreditTransferLine=Кредитная переводная линия +WithdrawalsLines=Строки распоряжения о прямом дебетовании +CreditTransferLines=Кредитные переводные линии +RequestStandingOrderToTreat=Запросы на обработку платежного поручения прямым дебетом +RequestStandingOrderTreated=Запросы на платежное поручение прямого дебета обработаны +RequestPaymentsByBankTransferToTreat=Запросы на перевод кредита для обработки +RequestPaymentsByBankTransferTreated=Запросы на перевод кредита обработаны +NotPossibleForThisStatusOfWithdrawReceiptORLine=Пока не возможно. Статус вывода должен быть установлен на «кредит» до объявления отказа в определенных строках. +NbOfInvoiceToWithdraw=Количество квалифицированных счетов-фактур клиентов с ожидающим поручением на прямой дебет +NbOfInvoiceToWithdrawWithInfo=Номер счета-фактуры клиента с платежными поручениями прямого дебета, в которых указана информация о банковском счете. +NbOfInvoiceToPayByBankTransfer=Количество счетов-фактур квалифицированных поставщиков, ожидающих оплаты кредитовым переводом +SupplierInvoiceWaitingWithdraw=Счет поставщика ожидает оплаты кредитным переводом +InvoiceWaitingWithdraw=Счет-фактура ожидает прямого дебетования +InvoiceWaitingPaymentByBankTransfer=Счет-фактура ожидает кредитового перевода AmountToWithdraw=Сумма снятия -NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoice card to make a request. -NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. -ResponsibleUser=User Responsible -WithdrawalsSetup=Direct debit payment setup -CreditTransferSetup=Credit transfer setup -WithdrawStatistics=Direct debit payment statistics -CreditTransferStatistics=Credit transfer statistics +NoInvoiceToWithdraw=Открытых счетов на «%s» нет. Перейдите на вкладку «%s» в карточке счета, чтобы сделать запрос. +NoSupplierInvoiceToWithdraw=Счет-фактура поставщика с открытыми «прямыми запросами на кредит» не ожидает. Перейдите на вкладку «%s» в карточке счета, чтобы сделать запрос. +ResponsibleUser=Ответственный пользователь +WithdrawalsSetup=Настройка оплаты прямым дебетом +CreditTransferSetup=Настройка кредитного перевода +WithdrawStatistics=Статистика платежей прямым дебетом +CreditTransferStatistics=Статистика кредитных переводов Rejects=Отказы -LastWithdrawalReceipt=Latest %s direct debit receipts -MakeWithdrawRequest=Make a direct debit payment request -MakeBankTransferOrder=Make a credit transfer request -WithdrawRequestsDone=%s direct debit payment requests recorded -BankTransferRequestsDone=%s credit transfer requests recorded -ThirdPartyBankCode=Third-party bank code -NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +LastWithdrawalReceipt=Последние квитанции прямого дебета %s +MakeWithdrawRequest=Сделайте запрос на прямой дебетовый платеж +MakeBankTransferOrder=Сделайте запрос на перевод кредита +WithdrawRequestsDone=%s записанные запросы на платеж прямым дебетом +BankTransferRequestsDone=Запросы на перевод кредита %s записаны +ThirdPartyBankCode=Код стороннего банка +NoInvoiceCouldBeWithdrawed=Счет-фактура не списана успешно. Убедитесь, что счета выставлены на компании с действующим IBAN и что IBAN имеет UMR (уникальный мандат) с режимом %s . +WithdrawalCantBeCreditedTwice=Эта квитанция о снятии средств уже помечена как зачисленная; это нельзя сделать дважды, так как это потенциально может привести к дублированию платежей и банковских операций. ClassCredited=Классифицировать зачисленных ClassCreditedConfirm=Вы уверены, что хотите классифицировать это изъятие как кредит на вашем счету в банке? TransData=Дата передачи @@ -52,101 +53,100 @@ TransMetod=Метод передачи Send=Отправить Lines=Строки StandingOrderReject=Выпуск отклонить -WithdrawsRefused=Direct debit refused +WithdrawsRefused=Отказ в прямом дебетовании WithdrawalRefused=Выплаты Refuseds -CreditTransfersRefused=Credit transfers refused +CreditTransfersRefused=В переводе кредита отказано WithdrawalRefusedConfirm=Вы уверены, что вы хотите ввести снятия отказа общества RefusedData=Дата отказа RefusedReason=Причина для отказа RefusedInvoicing=Счета отказ NoInvoiceRefused=Не заряжайте отказ InvoiceRefused=Счёт отклонён (отказ платежа клиентом) -StatusDebitCredit=Status debit/credit +StatusDebitCredit=Статус дебет / кредит StatusWaiting=Ожидание StatusTrans=Передающиеся -StatusDebited=Debited +StatusDebited=Списанный StatusCredited=Кредитоваться StatusPaid=Оплачено StatusRefused=Отказавшийся StatusMotif0=Не указано StatusMotif1=Предоставление insuffisante StatusMotif2=Тираж conteste -StatusMotif3=No direct debit payment order -StatusMotif4=Sales Order +StatusMotif3=Нет платежного поручения прямого дебета +StatusMotif4=Заказ клиента StatusMotif5=RIB inexploitable StatusMotif6=Счет без остатка StatusMotif7=Судебное решение StatusMotif8=Другая причина -CreateForSepaFRST=Create direct debit file (SEPA FRST) -CreateForSepaRCUR=Create direct debit file (SEPA RCUR) -CreateAll=Create direct debit file (all) -CreateFileForPaymentByBankTransfer=Create file for credit transfer -CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) +CreateForSepaFRST=Создать файл прямого дебета (SEPA FRST) +CreateForSepaRCUR=Создать файл прямого дебета (SEPA RCUR) +CreateAll=Создать файл прямого дебета (все) +CreateFileForPaymentByBankTransfer=Создать файл для кредитного перевода +CreateSepaFileForPaymentByBankTransfer=Создать файл кредитного перевода (SEPA) CreateGuichet=Только служба CreateBanque=Только банк OrderWaiting=Ожидание для лечения -NotifyTransmision=Record file transmission of order -NotifyCredit=Record credit of order +NotifyTransmision=Запись файла передачи заказа +NotifyCredit=Рекордный кредит заказа NumeroNationalEmetter=Национальный передатчик Количество WithBankUsingRIB=Для банковских счетов с использованием RIB WithBankUsingBANBIC=Для банковских счетов с использованием IBAN / BIC / SWIFT -BankToReceiveWithdraw=Receiving Bank Account -BankToPayCreditTransfer=Bank Account used as source of payments +BankToReceiveWithdraw=Получение банковского счета +BankToPayCreditTransfer=Банковский счет, используемый в качестве источника платежей CreditDate=Кредит на -WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) -ShowWithdraw=Show Direct Debit Order -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -WithdrawalFile=Debit order file -CreditTransferFile=Credit transfer file +WithdrawalFileNotCapable=Невозможно создать файл квитанции о снятии средств для вашей страны %s (ваша страна не поддерживается) +ShowWithdraw=Показать распоряжение о прямом дебете +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Однако, если в счете есть хотя бы одно платежное поручение по прямому дебету, которое еще не обработано, оно не будет установлено как оплаченное, чтобы обеспечить возможность предварительного управления снятием средств. +DoStandingOrdersBeforePayments=Эта вкладка позволяет вам запросить платежное поручение прямого дебета. После этого перейдите в меню Банк-> Оплата прямым дебетом, чтобы сгенерировать и управлять прямым дебетовым поручением. При закрытии поручения на прямой дебет оплата по счетам будет автоматически записана, а счета-фактуры закрываются, если остаток к оплате равен нулю. +DoCreditTransferBeforePayments=Эта вкладка позволяет вам запросить кредитный перевод. После этого перейдите в меню Банк-> Оплата кредитным переводом, чтобы создать поручение на кредитный перевод и управлять им. При закрытии поручения на перевод кредита оплата по счетам будет автоматически записана, а счета-фактуры закрываются, если остаток к оплате равен нулю. +WithdrawalFile=Файл дебетового поручения +CreditTransferFile=Файл кредитного перевода SetToStatusSent=Установить статус "Файл отправлен" -ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null +ThisWillAlsoAddPaymentOnInvoice=При этом также будут регистрироваться платежи в счетах и они будут классифицированы как "Оплаченные", если оставшаяся сумма не будет равна StatisticsByLineStatus=Статистика статуса по строкам RUM=UMR -DateRUM=Mandate signature date -RUMLong=Unique Mandate Reference -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) -WithdrawRequestAmount=Amount of Direct debit request: -BankTransferAmount=Amount of Credit Transfer request: -WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount. -SepaMandate=SEPA Direct Debit Mandate -SepaMandateShort=SEPA Mandate -PleaseReturnMandate=Please return this mandate form by email to %s or by mail to -SEPALegalText=By signing this mandate form, you authorize (A) %s to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from %s. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights regarding the above mandate are explained in a statement that you can obtain from your bank. -CreditorIdentifier=Creditor Identifier -CreditorName=Creditor Name -SEPAFillForm=(B) Please complete all the fields marked * -SEPAFormYourName=Your name -SEPAFormYourBAN=Your Bank Account Name (IBAN) -SEPAFormYourBIC=Your Bank Identifier Code (BIC) -SEPAFrstOrRecur=Type of payment -ModeRECUR=Recurring payment -ModeFRST=One-off payment -PleaseCheckOne=Please check one only -CreditTransferOrderCreated=Credit transfer order %s created -DirectDebitOrderCreated=Direct debit order %s created -AmountRequested=Amount requested +DateRUM=Дата подписания мандата +RUMLong=Уникальная ссылка на мандат +RUMWillBeGenerated=Если пусто, после сохранения информации о банковском счете будет сгенерирован UMR (уникальный мандат). +WithdrawMode=Режим прямого дебета (FRST или RECUR) +WithdrawRequestAmount=Сумма прямого дебетового запроса: +BankTransferAmount=Сумма запроса на перевод кредита: +WithdrawRequestErrorNilAmount=Невозможно создать запрос на прямой дебет для пустой суммы. +SepaMandate=Мандат прямого дебета SEPA +SepaMandateShort=Мандат SEPA +PleaseReturnMandate=Отправьте эту форму поручения по электронной почте на адрес %s или по почте на адрес +SEPALegalText=Подписывая эту форму поручения, вы разрешаете (A) %s отправлять инструкции в ваш банк для дебетования вашего счета и (B) ваш банк дебетовать ваш счет в соответствии с инструкциями от %s. В рамках ваших прав вы имеете право на возмещение от вашего банка в соответствии с условиями вашего соглашения с вашим банком. Возврат средств необходимо запросить в течение 8 недель с даты списания средств с вашего счета. Ваши права в отношении вышеуказанного мандата разъясняются в заявлении, которое вы можете получить в своем банке. +CreditorIdentifier=Идентификатор кредитора +CreditorName=Имя кредитора +SEPAFillForm=(B) Пожалуйста, заполните все поля, отмеченные * +SEPAFormYourName=Твое имя +SEPAFormYourBAN=Имя вашего банковского счета (IBAN) +SEPAFormYourBIC=Ваш банковский идентификационный код (BIC) +SEPAFrstOrRecur=Тип платежа +ModeRECUR=Периодический платеж +ModeFRST=Единовременный платеж +PleaseCheckOne=Пожалуйста, отметьте только один +CreditTransferOrderCreated=Создано поручение на перевод кредита %s +DirectDebitOrderCreated=Создано поручение на прямое дебетование %s +AmountRequested=Запрошенная сумма SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST -ExecutionDate=Execution date -CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer -END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction -USTRD="Unstructured" SEPA XML tag -ADDDAYS=Add days to Execution Date -NoDefaultIBANFound=No default IBAN found for this third party +ExecutionDate=Дата исполнения +CreateForSepa=Создать файл прямого дебета +ICS=Creditor Identifier - ICS +END_TO_END=XML-тег SEPA "EndToEndId" - уникальный идентификатор, назначаемый каждой транзакции. +USTRD=«Неструктурированный» тег SEPA XML +ADDDAYS=Добавить дни к дате исполнения +NoDefaultIBANFound=Для этой третьей стороны не найден IBAN по умолчанию ### Notifications -InfoCreditSubject=Payment of direct debit payment order %s by the bank -InfoCreditMessage=The direct debit payment order %s has been paid by the bank
    Data of payment: %s -InfoTransSubject=Transmission of direct debit payment order %s to bank -InfoTransMessage=The direct debit payment order %s has been sent to bank by %s %s.

    +InfoCreditSubject=Оплата банком прямого дебетового платежного поручения %s +InfoCreditMessage=Платежное поручение прямого дебета %s было оплачено банком
    Данные платежа: %s +InfoTransSubject=Передача платежного поручения прямого дебета %s в банк +InfoTransMessage=Платежное поручение прямого дебета %s было отправлено в банк от имени %s %s.

    InfoTransData=Сумма: %s
    Metode: %s
    Дата: %s -InfoRejectSubject=Direct debit payment order refused -InfoRejectMessage=Hello,

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

    --
    %s +InfoRejectSubject=Платежное поручение на прямой дебет отклонено +InfoRejectMessage=Здравствуйте,

    , платежное поручение прямого дебета по счету %s, относящемуся к компании %s, на сумму %s было отклонено банком.

    -
    %s ModeWarning=Вариант для реального режима не был установлен, мы останавливаемся после этого моделирования -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorCompanyHasDuplicateDefaultBAN=Компания с идентификатором %s имеет более одного банковского счета по умолчанию. Невозможно узнать, какой из них использовать. +ErrorICSmissing=Отсутствует ICS на банковском счете %s +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Общая сумма прямого дебетового поручения отличается от суммы строк diff --git a/htdocs/langs/ru_RU/workflow.lang b/htdocs/langs/ru_RU/workflow.lang index 2d1edff056b..a07d338b4dd 100644 --- a/htdocs/langs/ru_RU/workflow.lang +++ b/htdocs/langs/ru_RU/workflow.lang @@ -3,23 +3,24 @@ WorkflowSetup=Установка модуля Рабочих процессов WorkflowDesc=Этот модуль предусматривает автоматические действия. По умолчанию рабочий процесс открыт (вы можете делать все в нужном вам порядке), но здесь вы можете включить какие-либо автоматические действия. ThereIsNoWorkflowToModify=Для активированных модулей нет доступных изменений рабочего процесса. # Autocreate -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a sales order after a commercial proposal is signed (the new order will have same amount as the proposal) -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatically create a customer invoice after a commercial proposal is signed (the new invoice will have same amount as the proposal) +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Автоматически создавать заказ на продажу после подписания коммерческого предложения (новый заказ будет иметь ту же сумму, что и предложение) +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Автоматически создавать счет-фактуру клиента после подписания коммерческого предложения (новый счет-фактура будет иметь ту же сумму, что и предложение) descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Автоматически создавать счет клиента после проверки договора -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice after a sales order is closed (the new invoice will have same amount as the order) +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Автоматически создавать счет клиента после закрытия заказа на продажу (новый счет будет иметь ту же сумму, что и заказ) # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when sales order is set to billed (and if the amount of the order is the same as the total amount of the signed linked proposal) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the signed linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Классифицируйте связанное исходное предложение как выставленное, если для заказа на продажу выставлен счет (и если сумма заказа совпадает с общей суммой подписанного связанного предложения) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Классифицировать предложение из связанного источника как выставленное по счету при проверке счета клиента (и если сумма счета совпадает с общей суммой подписанного связанного предложения) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Классифицируйте связанный исходный заказ на продажу как выставленный по счету при проверке счета клиента (и если сумма счета совпадает с общей суммой связанного заказа) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Классифицируйте связанный исходный заказ на продажу как выставленный, если для счета-фактуры клиента задано значение оплаченного (и если сумма счета-фактуры совпадает с общей суммой связанного заказа) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Классифицируйте связанный исходный заказ на продажу как отгруженный, когда отгрузка проверена (и если количество отгружено по всем отгрузкам такое же, как в заказе на обновление) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order -descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_BILL_ON_RECEPTION=Classify receptions to "billed" when a linked supplier order is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Классифицируйте предложение поставщика связанного источника как выставленное как выставленное при проверке счета поставщика (и если сумма счета совпадает с общей суммой связанного предложения) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Классифицируйте связанный исходный заказ на покупку как выставленный как выставленный, когда счет-фактура поставщика проверяется (и если сумма счета-фактуры совпадает с общей суммой связанного заказа) +descWORKFLOW_BILL_ON_RECEPTION=Классифицируйте приемы как "выставленные" при подтверждении связанного заказа поставщика. # Autoclose intervention -descWORKFLOW_TICKET_CLOSE_INTERVENTION=Close all interventions linked to the ticket when a ticket is closed +descWORKFLOW_TICKET_CLOSE_INTERVENTION=Закройте все вмешательства, связанные с заявкой, когда заявка закрыта AutomaticCreation=Автоматическое создание AutomaticClassification=Автоматическая классификация # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Классифицировать отгрузку из связанного источника как закрытую после подтверждения счета клиента diff --git a/htdocs/langs/ru_RU/zapier.lang b/htdocs/langs/ru_RU/zapier.lang index b4cc4ccba4a..58423008350 100644 --- a/htdocs/langs/ru_RU/zapier.lang +++ b/htdocs/langs/ru_RU/zapier.lang @@ -13,9 +13,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -ModuleZapierForDolibarrName = Zapier for Dolibarr -ModuleZapierForDolibarrDesc = Zapier for Dolibarr module -ZapierForDolibarrSetup=Setup of Zapier for Dolibarr -ZapierDescription=Interface with Zapier -ZapierAbout=About the module Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ModuleZapierForDolibarrName = Zapier для Dolibarr +ModuleZapierForDolibarrDesc = Zapier для модуля Dolibarr +ZapierForDolibarrSetup=Настройка Zapier для Dolibarr +ZapierDescription=Интерфейс с Zapier +ZapierAbout=О модуле Zapier +ZapierSetupPage=Для использования Zapier на стороне Dolibarr нет необходимости. Однако вы должны сгенерировать и опубликовать пакет на zapier, чтобы иметь возможность использовать Zapier с Dolibarr. См. Документацию на на этой вики-странице . diff --git a/htdocs/langs/ru_UA/admin.lang b/htdocs/langs/ru_UA/admin.lang new file mode 100644 index 00000000000..dc61814d21c --- /dev/null +++ b/htdocs/langs/ru_UA/admin.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - admin +NotificationsDescGlobal=* or by setting global email addresses in this setup page. +OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. diff --git a/htdocs/langs/ru_UA/cashdesk.lang b/htdocs/langs/ru_UA/cashdesk.lang new file mode 100644 index 00000000000..bbb8bf8cb09 --- /dev/null +++ b/htdocs/langs/ru_UA/cashdesk.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - cashdesk +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: diff --git a/htdocs/langs/ru_UA/cron.lang b/htdocs/langs/ru_UA/cron.lang deleted file mode 100644 index 67ecfc77567..00000000000 --- a/htdocs/langs/ru_UA/cron.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronTaskInactive=This job is disabled diff --git a/htdocs/langs/ru_UA/eventorganization.lang b/htdocs/langs/ru_UA/eventorganization.lang new file mode 100644 index 00000000000..ce131f9b263 --- /dev/null +++ b/htdocs/langs/ru_UA/eventorganization.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - eventorganization +EventOrganizationDescriptionLong=Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page diff --git a/htdocs/langs/ru_UA/mrp.lang b/htdocs/langs/ru_UA/mrp.lang deleted file mode 100644 index 4d8f6b98309..00000000000 --- a/htdocs/langs/ru_UA/mrp.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - mrp -BillOfMaterials=Bill of Material -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? diff --git a/htdocs/langs/sk_SK/accountancy.lang b/htdocs/langs/sk_SK/accountancy.lang index 49176f22261..af59181ea21 100644 --- a/htdocs/langs/sk_SK/accountancy.lang +++ b/htdocs/langs/sk_SK/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Zakázať priame zaznamenávanie transakcie na bankový účet ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=Zoznam účtovných účtov UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Vzor exportu Selectmodelcsv=Vyberte model exportu @@ -335,7 +339,7 @@ Modelcsv_normal=Klasický export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index 238bebf040b..847a1942a7c 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interný užívateľ ExternalUser=Externý užívateľ InternalUsers=Interní používatelia ExternalUsers=Externí používatelia +UserInterface=User interface GUISetup=Zobraziť SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Nie je k dispozícii pri Ajax vypnutej AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript so zdravotným postihnutím UsePreviewTabs=Použitie ukážky karty ShowPreview=Zobraziť náhľad @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limity a presnosť MenuIdParent=Materská Ponuka ID DetailMenuIdParent=ID nadradenej ponuky (prázdny na horné menu) +ParentID=Parent ID DetailPosition=Zoradiť číslo definovať pozíciu v menu AllMenus=Všetko NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Táto možnosť je dostupná iba v oficiálnej stab BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Iba prvky z povolených modulov sú uvedené. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Viac modulov na stiahnutie môžete nájst na internete ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, oficiálny trh pre Dolibarr ERP / CRM externých modulov @@ -399,6 +403,7 @@ SecurityToken=Kľúč k zabezpečenej URL NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Zmluvy / Predplatné Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Čiarové kódy -Module55Desc=Barcode riadenie +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Vytvoriť / upraviť zľavy Permission403=Overiť zľavy Permission404=Odstrániť zľavy Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Exportovať platy Permission520=Čítať pôžičky Permission522=Vytvoriť/Upraviť pôžičky @@ -965,6 +970,8 @@ Permission23003=Odstrániť naplánovanú úlohu Permission23004=Spustiť naplánovanú úlohu Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Prečítajte transakcie Permission50202=Importné operácie Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Nastavenie uložené SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=O Dolibarre InfoBrowser=O prehliadači InfoOS=O OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcia nie je k dispozícii vo vašom PHP DownloadMoreSkins=Ďalšie skiny k stiahnutiu SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Čiastočný preklad MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Podmienkou je v súčasnej dobe %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Optimalizácia pre vyhľadávače -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Hlavné voľby AdherentLoginRequired= Spravovanie Prihlásenie pre každého člena AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Zaškrtávacie políčko poslať mailom potvrdenie členom (validácia alebo nové predplatné) je v predvolenom nastavení +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Kliknite pre Dial Nastavenie modulu ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Odporúčaná +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/sk_SK/agenda.lang b/htdocs/langs/sk_SK/agenda.lang index b326ed7fc23..5f49d9323eb 100644 --- a/htdocs/langs/sk_SK/agenda.lang +++ b/htdocs/langs/sk_SK/agenda.lang @@ -4,7 +4,7 @@ Actions=Udalosti Agenda=Program rokovania TMenuAgenda=Program rokovania Agendas=Program -LocalAgenda=Interný kalendár +LocalAgenda=Default calendar ActionsOwnedBy=Udalosť vytvorená: ActionsOwnedByShort=Majiteľ AffectedTo=Priradené @@ -14,13 +14,13 @@ EventsNb=Počet udalostí ListOfActions=Zoznam udalostí EventReports=Event reports Location=Umiestnenie -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Akcie po celý deň (y) MenuToDoActions=Všetky neúplné udalosti MenuDoneActions=Všetky ukončené akcie MenuToDoMyActions=Moje neúplné udalosti MenuDoneMyActions=Moje ukončených akcií -ListOfEvents=Zoznam udalostí (interný kalendár) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Akcia hlásené ActionsToDoBy=Akcia priradené ActionsDoneBy=Akcie vykonané @@ -38,6 +38,7 @@ ActionsEvents=Udalosti, pre ktoré Dolibarr vytvorí akciu v programe automatick EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Tretia strana %s vytvorená +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Zmluva %s overená CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Objednávka zmazaná InvoiceDeleted=Faktúra zmazaná DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Dátum začatia @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Zobraziť narodeniny kontaktov +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Skryť naroodeniny kontaktov Busy=Zaneprázdnený ExportDataset_event1=Zoznam agendy udalostí @@ -152,6 +155,7 @@ ActionType=Typ udalosti DateActionBegin=Začiatok udalosti ConfirmCloneEvent=Určite chcete duplikovať udalosť %s? RepeatEvent=Opakovať udalosť +OnceOnly=Once only EveryWeek=Každý týždeň EveryMonth=Každý mesiac DayOfMonth=Deň v mesiaci @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/sk_SK/banks.lang b/htdocs/langs/sk_SK/banks.lang index dcc321b5360..5a89e6b8681 100644 --- a/htdocs/langs/sk_SK/banks.lang +++ b/htdocs/langs/sk_SK/banks.lang @@ -115,7 +115,7 @@ TransferTo=Na TransferFromToDone=Transfer z %s na %s %s %s zo bol zaznamenaný. CheckTransmitter=Odosielateľ ValidateCheckReceipt=Overiť túto potvrdenku ? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Zmazať túto potvrdenku ? ConfirmDeleteCheckReceipt=Určite chcete zmazať túto potvrdenku ? BankChecks=Bankové šeky diff --git a/htdocs/langs/sk_SK/bills.lang b/htdocs/langs/sk_SK/bills.lang index 15c80cbb0ce..f4c793469e8 100644 --- a/htdocs/langs/sk_SK/bills.lang +++ b/htdocs/langs/sk_SK/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Faktúra Dátum DatePointOfTax=Point of tax NoInvoice=No faktúra +NoOpenInvoice=No open invoice ClassifyBill=Klasifikovať faktúru SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Nezaplatené zákaznické faktúry @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/sk_SK/boxes.lang b/htdocs/langs/sk_SK/boxes.lang index dc27e1a08ea..4ec7f5cfa9a 100644 --- a/htdocs/langs/sk_SK/boxes.lang +++ b/htdocs/langs/sk_SK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Nedávno %s upravené ponuky -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Zákazníci faktúry ForCustomersOrders=Zákazníci objednávky ForProposals=Návrhy diff --git a/htdocs/langs/sk_SK/cashdesk.lang b/htdocs/langs/sk_SK/cashdesk.lang index 3f6316410ff..6b8facbe958 100644 --- a/htdocs/langs/sk_SK/cashdesk.lang +++ b/htdocs/langs/sk_SK/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/sk_SK/compta.lang b/htdocs/langs/sk_SK/compta.lang index c8df634a8d6..35dd17cdf4f 100644 --- a/htdocs/langs/sk_SK/compta.lang +++ b/htdocs/langs/sk_SK/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/sk_SK/cron.lang b/htdocs/langs/sk_SK/cron.lang index 1631b6c9038..c102bb01334 100644 --- a/htdocs/langs/sk_SK/cron.lang +++ b/htdocs/langs/sk_SK/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Dátum ukončenia nemôže byť pred dátumom začatia StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Zakázať -CronTaskInactive=Táto úloha je zakázaný +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/sk_SK/deliveries.lang b/htdocs/langs/sk_SK/deliveries.lang index bbbd23eb949..a9399816f13 100644 --- a/htdocs/langs/sk_SK/deliveries.lang +++ b/htdocs/langs/sk_SK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Príjemca ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index ca0536031e6..135913d63f7 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Prihlásenie %s už existuje. ErrorGroupAlreadyExists=Skupina %s už existuje. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Záznam nie je nájdený. ErrorFailToCopyFile=Nepodarilo sa skopírovať súbor "%s" na "%s". ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Chyba pri čítaní súboru "%s" ErrorCantReadDir=Chyba pri čítaní adresára "%s" ErrorBadLoginPassword=Nesprávna hodnota pre prihlásenie alebo heslo ErrorLoginDisabled=Váš účet bol zakázaný -ErrorFailedToRunExternalCommand=Nepodarilo sa spustiť externý príkaz. Skontrolujte, že je k dispozícii, a spustiteľný váš PHP servera. Ak PHP Safe Mode je aktívny, skontrolujte, či je príkaz vnútri adresára definovaného parametrom safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Nepodarilo sa zmeniť heslo ErrorLoginDoesNotExists=Užívateľ s prihlásením %s nebol nájdený. ErrorLoginHasNoEmail=Tento užívateľ nemá žiadnu e-mailovú adresu. Proces prerušená. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sk_SK/eventorganization.lang b/htdocs/langs/sk_SK/eventorganization.lang index 0a54214ab36..25717692ca3 100644 --- a/htdocs/langs/sk_SK/eventorganization.lang +++ b/htdocs/langs/sk_SK/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Typ udalosti +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/sk_SK/exports.lang b/htdocs/langs/sk_SK/exports.lang index a9991f8c0fd..27c4c0f4a2d 100644 --- a/htdocs/langs/sk_SK/exports.lang +++ b/htdocs/langs/sk_SK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Použitý typ linky (0 = produkt, 1 = služba) FileWithDataToImport=Súbor s dátami pre import FileToImport=Zdrojový súbor na import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Zdrojový súbor diff --git a/htdocs/langs/sk_SK/holiday.lang b/htdocs/langs/sk_SK/holiday.lang index 698b8e98e84..bbc14e5c235 100644 --- a/htdocs/langs/sk_SK/holiday.lang +++ b/htdocs/langs/sk_SK/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Čaká na schválenie ApprovedCP=Schválený CancelCP=Zrušený RefuseCP=Odmietol -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Upraviť @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Musíte vybrať počiatočný dátum. NoDateFin=Musíte vybrať dátum ukončenia. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=Užívateľ ErrorAddEventToUserCP=Došlo k chybe pri pridávaní výnimočnú dovolenku. AddEventToUserOkCP=Pridanie mimoriadnej dovolenky bola dokončená. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Účinkujú -UserUpdateCP=Pre užívateľa +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Predchádzajúci Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Mesačná aktualizácia ManualUpdate=Manuálna aktualizácia @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Aktualizované úspešne. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/sk_SK/hrm.lang b/htdocs/langs/sk_SK/hrm.lang index 0ffa8afa438..573b9871407 100644 --- a/htdocs/langs/sk_SK/hrm.lang +++ b/htdocs/langs/sk_SK/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index 92b82af0604..9988cb88e73 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Znovu načítať modul %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sk_SK/interventions.lang b/htdocs/langs/sk_SK/interventions.lang index 24b6496bfaa..6c74359fda6 100644 --- a/htdocs/langs/sk_SK/interventions.lang +++ b/htdocs/langs/sk_SK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/sk_SK/knowledgemanagement.lang b/htdocs/langs/sk_SK/knowledgemanagement.lang index 78652570279..e15b6120c91 100644 --- a/htdocs/langs/sk_SK/knowledgemanagement.lang +++ b/htdocs/langs/sk_SK/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = O KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Článok KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/sk_SK/languages.lang b/htdocs/langs/sk_SK/languages.lang index dd48ea71d86..3ae85e18f7a 100644 --- a/htdocs/langs/sk_SK/languages.lang +++ b/htdocs/langs/sk_SK/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabčina Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabčina +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengálština Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Holanďština (Belgicko) Language_nl_NL=Dutch Language_pl_PL=Poľština +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalčina (Brazília) Language_pt_PT=Portugalčina +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumunčina Language_ru_RU=Ruština Language_ru_UA=Ruština (Ukrajina) diff --git a/htdocs/langs/sk_SK/mails.lang b/htdocs/langs/sk_SK/mails.lang index b310258f2de..c0085f79e78 100644 --- a/htdocs/langs/sk_SK/mails.lang +++ b/htdocs/langs/sk_SK/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index f56b3a0104c..b6f4ca2f01a 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Daňová sadzba +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Členovia MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu domáce bezpečnostné nastavenia): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Aktuálny jazyk CurrentTheme=Aktuálna téma @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Ak chcete spracovať ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/sk_SK/members.lang b/htdocs/langs/sk_SK/members.lang index c427849d17d..473b3b21912 100644 --- a/htdocs/langs/sk_SK/members.lang +++ b/htdocs/langs/sk_SK/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/sk_SK/modulebuilder.lang b/htdocs/langs/sk_SK/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/sk_SK/modulebuilder.lang +++ b/htdocs/langs/sk_SK/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/sk_SK/mrp.lang b/htdocs/langs/sk_SK/mrp.lang index ec999a473a4..9917552ba94 100644 --- a/htdocs/langs/sk_SK/mrp.lang +++ b/htdocs/langs/sk_SK/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Odstrániť NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/sk_SK/orders.lang b/htdocs/langs/sk_SK/orders.lang index 25ae9d5d360..4b8f0a6a6d1 100644 --- a/htdocs/langs/sk_SK/orders.lang +++ b/htdocs/langs/sk_SK/orders.lang @@ -11,6 +11,7 @@ OrderDate=Dátum objednávky OrderDateShort=Dátum objednávky OrderToProcess=Objednávka na spracovanie NewOrder=Nová objednávka +NewSupplierOrderShort=Nová objednávka NewOrderSupplier=New Purchase Order ToOrder=Objednať MakeOrder=Objednať @@ -73,6 +74,7 @@ DeleteOrder=Zmazať objednávku CancelOrder=Zrušenie objednávky OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Pridať k predlohe ShowOrder=Zobraziť objednávku diff --git a/htdocs/langs/sk_SK/other.lang b/htdocs/langs/sk_SK/other.lang index 03ba1f168c7..cb4d0d5590d 100644 --- a/htdocs/langs/sk_SK/other.lang +++ b/htdocs/langs/sk_SK/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=Súbor %s bol odstránený DirWasRemoved=Adresár %s bol odstránený FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Šírka Height=Výška @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Vývoz plocha @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zavrieť diff --git a/htdocs/langs/sk_SK/partnership.lang b/htdocs/langs/sk_SK/partnership.lang index 46da9502212..9dcd4d6d30f 100644 --- a/htdocs/langs/sk_SK/partnership.lang +++ b/htdocs/langs/sk_SK/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Dátum začatia DatePartnershipEnd=Dátum ukončenia +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Návrh -PartnershipAccepted = Akceptované -PartnershipRefused = Odmietol -PartnershipCanceled = Zrušený - +PartnershipDraft=Návrh +PartnershipAccepted=Akceptované +PartnershipRefused=Odmietol +PartnershipCanceled=Zrušený PartnershipManagedFor=Partners are diff --git a/htdocs/langs/sk_SK/productbatch.lang b/htdocs/langs/sk_SK/productbatch.lang index adf023644b1..189c4cef7c0 100644 --- a/htdocs/langs/sk_SK/productbatch.lang +++ b/htdocs/langs/sk_SK/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index 0e8c49a9b28..291c8b3d8cd 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Rozdielné ceny pre každého zákazníka PriceCatalogue=Rovnaká predajná cena pre produkt/službu PricingRule=Rules for selling prices AddCustomerPrice=Pridať cenu podľa zákazníka -ForceUpdateChildPriceSoc=Nastaviť rovnakú cenu pre dcerske spoločnosti zákazníka +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Vypis historických cien zákazníka MinimumPriceLimit=Minimálna cena nemôže byť nižšia ako %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Pridať/Odobrať pri zmene rodičovského ComposedProduct=Child products MinSupplierPrice=Minimálna nákupná cena MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Nastavenie dynamickej ceny DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Pridať premennú @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Vážená priemerná cena +PMPValueShort=WAP diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index b37e00ee7eb..ba2ac6bd14b 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -140,6 +140,7 @@ NoTasks=Žiadne úlohy tohto projektu LinkedToAnotherCompany=Súvisí s tretej strane TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Čas strávený je prázdny +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Táto akcia bude tiež odstrániť všetky úlohy projektu (%s úlohy v túto chvíľu) a všetky vstupy času stráveného. IfNeedToUseOtherObjectKeepEmpty=Ak sú niektoré predmety (faktúra, objednávka, ...), ktoré patria do inej tretej osobe, musí byť spojené s projektom, vytvoriť, aby bol tento prázdny mať projekt bytia multi tretej strany. CloneTasks=Clone úlohy @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Čas strávený TimeSpentForInvoice=Čas strávený OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Nová faktúra +NewInter=Nový zásah OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/sk_SK/receptions.lang b/htdocs/langs/sk_SK/receptions.lang index a23e548ed43..b1c3bf4cef0 100644 --- a/htdocs/langs/sk_SK/receptions.lang +++ b/htdocs/langs/sk_SK/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/sk_SK/salaries.lang b/htdocs/langs/sk_SK/salaries.lang index d1bc2feb8c7..9e344782ee3 100644 --- a/htdocs/langs/sk_SK/salaries.lang +++ b/htdocs/langs/sk_SK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mzda Salaries=Mzdy -NewSalaryPayment=Nová výplata mzdy +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Výplata mzdy SalariesPayments=Výplaty miezd +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Ukázať výplatu mzdy THM=Priemerná hodinová mzda TJM=priemerná denná mzda CurrentSalary=Súčasná mzda THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sk_SK/stocks.lang b/htdocs/langs/sk_SK/stocks.lang index ecf0fa38063..d7e74ea8daf 100644 --- a/htdocs/langs/sk_SK/stocks.lang +++ b/htdocs/langs/sk_SK/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Jednotková kúpna cena StockTooLow=Stock príliš nízka StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Hodnota -PMPValue=Vážená priemerná cena -PMPValueShort=WAP EnhancedValueOfWarehouses=Sklady hodnota UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Transfer zásoby produktu %s do iného skladu InventoryCodeShort=Inv./Mov. kód NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Toto LOT/seriové číslo (%s) už existuje ale s rozdielným dátumom spotreby ( nájdené %s ale vy ste zadali %s). -OpenAll=Otvoriť pre všetký akcie -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Možnosť "viacero cien pre oblasť" je zapnutá. To znamená že produkt mas viacero predajných cien čiže hodnota pre predaj nemôže vyť vypočítaná ProductStockWarehouseCreated=Limit zásob pre upozornenie a optimálne požadované zásoby správne vytvorené @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/sk_SK/ticket.lang b/htdocs/langs/sk_SK/ticket.lang index 54eae76b82c..a2379050e34 100644 --- a/htdocs/langs/sk_SK/ticket.lang +++ b/htdocs/langs/sk_SK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostatné @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Čítať Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Čakanie -Closed=Zatvorené +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Skupina +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Vytvoriť zásah -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/sk_SK/trips.lang b/htdocs/langs/sk_SK/trips.lang index f7645f3b07c..10890c2c96a 100644 --- a/htdocs/langs/sk_SK/trips.lang +++ b/htdocs/langs/sk_SK/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Dátum overenia DATE_CANCEL=Cancelation date DATE_PAIEMENT=Dátum platby -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/sk_SK/users.lang b/htdocs/langs/sk_SK/users.lang index 77cc52980da..1cc5dc38477 100644 --- a/htdocs/langs/sk_SK/users.lang +++ b/htdocs/langs/sk_SK/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Prihlásiť sa ak chcete vytvoriť NameToCreate=Názov vytváranej tretej strany YourRole=Vaše roly YourQuotaOfUsersIsReached=Vaša kvóta aktívnych používateľov bola dosiahnutá! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Iba superadmin môže degradovať superadmina HierarchicalResponsible=Supervízor HierarchicView=Hierarchické zobrazenie diff --git a/htdocs/langs/sk_SK/website.lang b/htdocs/langs/sk_SK/website.lang index 8612aecf711..9dc8034d7e0 100644 --- a/htdocs/langs/sk_SK/website.lang +++ b/htdocs/langs/sk_SK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Strana -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sk_SK/withdrawals.lang b/htdocs/langs/sk_SK/withdrawals.lang index b28d60cf571..39c7ed6dabe 100644 --- a/htdocs/langs/sk_SK/withdrawals.lang +++ b/htdocs/langs/sk_SK/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Klasifikovať pripísaná ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/sk_SK/workflow.lang b/htdocs/langs/sk_SK/workflow.lang index 2a596f6e567..f9367b40785 100644 --- a/htdocs/langs/sk_SK/workflow.lang +++ b/htdocs/langs/sk_SK/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/sl_SI/accountancy.lang b/htdocs/langs/sl_SI/accountancy.lang index 5d8ff3b552b..42c220fd395 100644 --- a/htdocs/langs/sl_SI/accountancy.lang +++ b/htdocs/langs/sl_SI/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=Seznam računovodskih računov UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model izvoza Selectmodelcsv=Izberite model izvoza @@ -335,7 +339,7 @@ Modelcsv_normal=Classic izvoz Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index c131906e958..26208d3593f 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interni uporabnik ExternalUser=Zunanji uporabnik InternalUsers=Interni uporabniki ExternalUsers=Zunanji uporabniki +UserInterface=User interface GUISetup=Prikaz SetupArea=Nastavitve UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Ni na voljo, če je Ajax onemogočen AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript onemogočen UsePreviewTabs=Uporabi zavihke za predogled ShowPreview=Prikaži predogled @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Omejitve in natančnost MenuIdParent=ID nadrejenega menija DetailMenuIdParent=ID nadrejenega menija (0 za najvišji meni) +ParentID=Parent ID DetailPosition=Številka za razvrstitev za določanje položaja menija AllMenus=Vsi NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Prikazani so samo elementi omogočenih modulov . ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=Glejte nastavitev modula %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, uradna tržnica za Dolibarr ERP/CRM zunanje module @@ -399,6 +403,7 @@ SecurityToken=Ključ za šifriranje url NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Pogodbe/naročnine Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Črtne kode -Module55Desc=Upravljanje črtnih kod +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Kreiranje/spreminjanje popustov Permission403=Potrjevanje popustov Permission404=Brisanje popustov Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Izvoz plač Permission520=Branje posojil Permission522=Kreiranje/spreminjanje posojil @@ -965,6 +970,8 @@ Permission23003=Izbriši načrtovano delo Permission23004=Izvedi načrtovano delo Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Branje prenosov Permission50202=Uvoz prenosov Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Nastavitve shranjene SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Nadzor +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcije niso na voljo v vašem PHP DownloadMoreSkins=Prenos dodatnih preoblek SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Delni prevod MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Trenutni pogoj je %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Iskanje optimizacijo -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Glavne opcije AdherentLoginRequired= Urejanje uporabniških imen za vse člane AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Kontrolno polje za pošiljanje potrdil članom po pošti (potrditev ali nova naročnina) je privzeto označeno +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Nastavitve modula za klicanje s klikom ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Priporočena +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/sl_SI/agenda.lang b/htdocs/langs/sl_SI/agenda.lang index 85d7db4f84a..767f450d0da 100644 --- a/htdocs/langs/sl_SI/agenda.lang +++ b/htdocs/langs/sl_SI/agenda.lang @@ -4,7 +4,7 @@ Actions=Dogodki Agenda=Urnik TMenuAgenda=Urnik Agendas=Urniki -LocalAgenda=Notranji koledar +LocalAgenda=Default calendar ActionsOwnedBy=Zasebni dogodek od ActionsOwnedByShort=Lastnik AffectedTo=Se nanaša na @@ -14,13 +14,13 @@ EventsNb=Število dogodkov ListOfActions=Seznam dogodkov EventReports=Event reports Location=Lokacija -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Dogodek na celoten dan(ni) MenuToDoActions=Vsi nedokončani dogodki MenuDoneActions=Vsi prekinjeni dogodki MenuToDoMyActions=Moji nedokončani dogodki MenuDoneMyActions=Moji prekinjeni dogodki -ListOfEvents=Seznam dogodkov(notranji koledar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Dogodek vnesel ActionsToDoBy=Dogoki, ki se nanašajo na ActionsDoneBy=Dogodke izvedel @@ -38,6 +38,7 @@ ActionsEvents=Dogodki, za katere bo Dolibarr avtomatsko kreiral aktivnost v urni EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Pogodba %s potrjena CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Začetni datum @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Zaseden ExportDataset_event1=Seznam aktivnosti @@ -152,6 +155,7 @@ ActionType=Tip dogodka DateActionBegin=Datum začetka dogodka ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Ponovi dogodek +OnceOnly=Once only EveryWeek=Vsak teden EveryMonth=Vsak mesec DayOfMonth=Dan v mesecu @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/sl_SI/banks.lang b/htdocs/langs/sl_SI/banks.lang index 6bf993564d0..8212dc05e67 100644 --- a/htdocs/langs/sl_SI/banks.lang +++ b/htdocs/langs/sl_SI/banks.lang @@ -115,7 +115,7 @@ TransferTo=Na TransferFromToDone=Zabeležen je bil transfer od %s na %s v znesku %s %s. CheckTransmitter=Od ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bančni čeki diff --git a/htdocs/langs/sl_SI/bills.lang b/htdocs/langs/sl_SI/bills.lang index 72715833296..f3038d484c2 100644 --- a/htdocs/langs/sl_SI/bills.lang +++ b/htdocs/langs/sl_SI/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Datum izdaje DatePointOfTax=Point of tax NoInvoice=Ni računa +NoOpenInvoice=No open invoice ClassifyBill=Klacificiraj račun SupplierBillsToPay=Neplačane fakture dobaviteljem CustomerBillsUnpaid=Neplačani računi stranke @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/sl_SI/boxes.lang b/htdocs/langs/sl_SI/boxes.lang index 2b07e2fe81f..b2cbbc50e6a 100644 --- a/htdocs/langs/sl_SI/boxes.lang +++ b/htdocs/langs/sl_SI/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Računi za kupce ForCustomersOrders=Naročila kupcev ForProposals=Ponudbe diff --git a/htdocs/langs/sl_SI/cashdesk.lang b/htdocs/langs/sl_SI/cashdesk.lang index f298b47be4d..ca90cf90126 100644 --- a/htdocs/langs/sl_SI/cashdesk.lang +++ b/htdocs/langs/sl_SI/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/sl_SI/compta.lang b/htdocs/langs/sl_SI/compta.lang index 2e0fc02ef29..f045c0c9744 100644 --- a/htdocs/langs/sl_SI/compta.lang +++ b/htdocs/langs/sl_SI/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/sl_SI/cron.lang b/htdocs/langs/sl_SI/cron.lang index 5f3c8ecd5fa..e4c3b02ef35 100644 --- a/htdocs/langs/sl_SI/cron.lang +++ b/htdocs/langs/sl_SI/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Onemogoči -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/sl_SI/deliveries.lang b/htdocs/langs/sl_SI/deliveries.lang index 6c10f871fba..a2045ed2786 100644 --- a/htdocs/langs/sl_SI/deliveries.lang +++ b/htdocs/langs/sl_SI/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Prejemnik ErrorStockIsNotEnough=Zaloga je premajhna Shippable=Možna odprema NonShippable=Ni možna odprema +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index 5e8037ba1ed..81b1fe20d8d 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Uporabniško ime %s že obstaja. ErrorGroupAlreadyExists=Skupina %s že obstaja. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Ne najdem zapisa. ErrorFailToCopyFile=Ni kopirati Datoteka '%s "nadomesti z" %s ". ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Ni mogoče prebrati Datoteka '%s želiš ErrorCantReadDir=Ni mogoče prebrati imenik '%s " ErrorBadLoginPassword=Slaba vrednost za prijavo ali geslo ErrorLoginDisabled=Vaš račun je bil onemogočen -ErrorFailedToRunExternalCommand=Ni delujejo zunanji ukaz. Preverite, da je na voljo in loven vaš PHP strežnik. Če je omogočena PHP Safe Mode, preverite, ali je ukaz znotraj imenika opredeljeno safe_mode_exec_dir parametrov. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Ni, da spremenite geslo ErrorLoginDoesNotExists=Uporabnik s prijavo %s ni bilo mogoče najti. ErrorLoginHasNoEmail=Ta uporabnik nima e-poštni naslov. Obdelati prekinjena. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sl_SI/eventorganization.lang b/htdocs/langs/sl_SI/eventorganization.lang index cb865b8c92e..58d06de41cb 100644 --- a/htdocs/langs/sl_SI/eventorganization.lang +++ b/htdocs/langs/sl_SI/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Tip dogodka +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/sl_SI/exports.lang b/htdocs/langs/sl_SI/exports.lang index e48218574d6..9b77df1cc21 100644 --- a/htdocs/langs/sl_SI/exports.lang +++ b/htdocs/langs/sl_SI/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tip vrstice (0=proizvod, 1=storitev) FileWithDataToImport=Datoteka s podatki za uvoz FileToImport=Izvorna datoteka za uvoz FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Format izvorne datoteke diff --git a/htdocs/langs/sl_SI/holiday.lang b/htdocs/langs/sl_SI/holiday.lang index 99dc78fb528..578081a1397 100644 --- a/htdocs/langs/sl_SI/holiday.lang +++ b/htdocs/langs/sl_SI/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Čaka odobritev ApprovedCP=Odobreno CancelCP=Preklicano RefuseCP=Zavrnjeno -ValidatorCP=Odobril +ValidatorCP=Approver ListeCP=List of leave Leave=Zahtevek za dopust LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Zahtevek za dopust TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Število porabljenih dni dopusta -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Uredi @@ -55,7 +55,7 @@ TitleDeleteCP=Brisanje zahtevka za dopust ConfirmDeleteCP=Potrditev izbrisa tega zahtevka za dopust? ErrorCantDeleteCP=Napaka, nimate pravice za brisanje tega zahtevka za dopust. CantCreateCP=Nimate dovoljenja za izdelavo zahtevka za dopust -InvalidValidatorCP=Izbrati morate osebo, ki bo potrdila vaš zahtevek za dopust. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Izbrati morate začetni datum. NoDateFin=Izbrati morate končni datum. ErrorDureeCP=Vaš zahtevek za dopust ne vsebuje delovnih dni. @@ -80,14 +80,14 @@ UserCP=Uporabnik ErrorAddEventToUserCP=Prišlo je do napake pri dodajanju izredne odsotnosti. AddEventToUserOkCP=Dodajanje izredne odsotnosti je zaključeno. MenuLogCP=Glej dnevnik sprememb -LogCP=Dnevnik posodobitev dni za dopust, ki so na voljo -ActionByCP=Izvajalec -UserUpdateCP=Za uporabnika +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Prejšnje stanje NewSoldeCP=Novo stanje alreadyCPexist=Zahtevek za dopust za to obdobje je bil že vložen. -FirstDayOfHoliday=Prvi dan dopusta -LastDayOfHoliday=Zadnji dan dopusta +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Mesečna posodobitev ManualUpdate=Ročna posodobitev @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Uspešno posodobljeno. Module27130Name= Upravljanje zahtevkov za dopust Module27130Desc= Upravljanje zahtevkov za dopust @@ -125,10 +125,12 @@ HolidaysCanceledBody=Vaš zahtevek za dopust od %s do %s je bil preklican. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/sl_SI/hrm.lang b/htdocs/langs/sl_SI/hrm.lang index c5af09f3811..e47129f6b26 100644 --- a/htdocs/langs/sl_SI/hrm.lang +++ b/htdocs/langs/sl_SI/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index 92bb6ebc95a..36ec526e467 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Ponovno naložite modul %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sl_SI/interventions.lang b/htdocs/langs/sl_SI/interventions.lang index 5690b096a51..9d204efaced 100644 --- a/htdocs/langs/sl_SI/interventions.lang +++ b/htdocs/langs/sl_SI/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/sl_SI/knowledgemanagement.lang b/htdocs/langs/sl_SI/knowledgemanagement.lang index 3d95eaacf2c..8544ae615e4 100644 --- a/htdocs/langs/sl_SI/knowledgemanagement.lang +++ b/htdocs/langs/sl_SI/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = O programu KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Artikel KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/sl_SI/languages.lang b/htdocs/langs/sl_SI/languages.lang index f625688f706..4bf40ec763b 100644 --- a/htdocs/langs/sl_SI/languages.lang +++ b/htdocs/langs/sl_SI/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabščina Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabščina +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengalščina Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Nizozemščina (Belgija) Language_nl_NL=Dutch Language_pl_PL=Poljščina +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalščina (Brazilija) Language_pt_PT=Portugalščina +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romunščina Language_ru_RU=Ruščina Language_ru_UA=Ruski (Ukrajina) diff --git a/htdocs/langs/sl_SI/mails.lang b/htdocs/langs/sl_SI/mails.lang index 80d2dd4ac02..cc5d7ecbab5 100644 --- a/htdocs/langs/sl_SI/mails.lang +++ b/htdocs/langs/sl_SI/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/sl_SI/main.lang b/htdocs/langs/sl_SI/main.lang index 93dfbe3cf76..92f2026c090 100644 --- a/htdocs/langs/sl_SI/main.lang +++ b/htdocs/langs/sl_SI/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Stopnja DDV +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Člani MenuAgendaGoogle=Google dnevni red MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr omejitve (Meni domov-nastavitve-varnost): %s Kb, PHP omejitev: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Trenutni jezik CurrentTheme=Trenutna tema @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Za obdelavo ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=Ustavljeno Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/sl_SI/members.lang b/htdocs/langs/sl_SI/members.lang index 7e9544e82f1..983dead5655 100644 --- a/htdocs/langs/sl_SI/members.lang +++ b/htdocs/langs/sl_SI/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/sl_SI/modulebuilder.lang b/htdocs/langs/sl_SI/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/sl_SI/modulebuilder.lang +++ b/htdocs/langs/sl_SI/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/sl_SI/mrp.lang b/htdocs/langs/sl_SI/mrp.lang index ec999a473a4..b700927dd12 100644 --- a/htdocs/langs/sl_SI/mrp.lang +++ b/htdocs/langs/sl_SI/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Izbriši NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/sl_SI/orders.lang b/htdocs/langs/sl_SI/orders.lang index 67146107a56..cbc451e20ef 100644 --- a/htdocs/langs/sl_SI/orders.lang +++ b/htdocs/langs/sl_SI/orders.lang @@ -11,6 +11,7 @@ OrderDate=Datum naročila OrderDateShort=Datum naročila OrderToProcess=Naročilo za obdelavo NewOrder=Novo naročilo +NewSupplierOrderShort=Novo naročilo NewOrderSupplier=Nov nabavni nalog ToOrder=Potrebno naročiti MakeOrder=Izdelaj naročilo @@ -73,6 +74,7 @@ DeleteOrder=Briši naročilo CancelOrder=Prekliči naročilo OrderReopened= Ponovno odpri naročilo %s AddOrder=Ustvari naročilo +AddSupplierOrderShort=Ustvari naročilo AddPurchaseOrder=Ustvari nov nabavni nalog AddToDraftOrders=Dodaj osnutku naročila ShowOrder=Prikaži naročilo diff --git a/htdocs/langs/sl_SI/other.lang b/htdocs/langs/sl_SI/other.lang index cb3cc1b03b3..b0c0198ac1a 100644 --- a/htdocs/langs/sl_SI/other.lang +++ b/htdocs/langs/sl_SI/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Ime uporabnika, ki je zaključil FileWasRemoved=Datoteka je bila izbrisana DirWasRemoved=Mapa je bila odstranjena FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Širina Height=Višina @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Področje izvoza @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zapri diff --git a/htdocs/langs/sl_SI/partnership.lang b/htdocs/langs/sl_SI/partnership.lang index 48ce3b3b779..0baf794e08b 100644 --- a/htdocs/langs/sl_SI/partnership.lang +++ b/htdocs/langs/sl_SI/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Začetni datum DatePartnershipEnd=Končni datum +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Osnutek -PartnershipAccepted = Accepted -PartnershipRefused = Zavrnjeno -PartnershipCanceled = Preklicano - +PartnershipDraft=Osnutek +PartnershipAccepted=Accepted +PartnershipRefused=Zavrnjeno +PartnershipCanceled=Preklicano PartnershipManagedFor=Partners are diff --git a/htdocs/langs/sl_SI/productbatch.lang b/htdocs/langs/sl_SI/productbatch.lang index 051f10a5a9f..ec16883ae2b 100644 --- a/htdocs/langs/sl_SI/productbatch.lang +++ b/htdocs/langs/sl_SI/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/sl_SI/products.lang b/htdocs/langs/sl_SI/products.lang index 0aecf1c0922..dc59a01c1f9 100644 --- a/htdocs/langs/sl_SI/products.lang +++ b/htdocs/langs/sl_SI/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Dodaj ceno po kupcu -ForceUpdateChildPriceSoc=Določi enako ceno za podružnice stranke +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Pregled prejšnjih cen za kupce MinimumPriceLimit=Minimalna cena ne more biti nižja kot %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Povečanje/znmanjšanje zaloge pri spremembi nadrejen ComposedProduct=Child products MinSupplierPrice=Najnižjo odkupno ceno MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dimnamična konfiguracija cene DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Uravnotežena povprečna cena +PMPValueShort=UPC diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index 42d248f93e8..39264734748 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -140,6 +140,7 @@ NoTasks=Ni nalog za ta projekt LinkedToAnotherCompany=Povezane z drugimi partnerji TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Ni porabljenega časa +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Ta aktivnost bo tudi izbrisala vse naloge projekta (%s trenutne naloge) in vse vnose porabljenega časa. IfNeedToUseOtherObjectKeepEmpty=Če nekateri objekti (računi, naročila, ...), ki pripadajo drugemu partnerju, morajo biti vezani na projekt, ki se kreira, pustite polje prazno, da je projekt lahko vezan na več partnerjev. CloneTasks=Kloniraj naloge @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Porabljen čas TimeSpentForInvoice=Porabljen čas OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Nov račun +NewInter=Nova intervencija OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/sl_SI/receptions.lang b/htdocs/langs/sl_SI/receptions.lang index e9126a81e94..2c49cabf799 100644 --- a/htdocs/langs/sl_SI/receptions.lang +++ b/htdocs/langs/sl_SI/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/sl_SI/salaries.lang b/htdocs/langs/sl_SI/salaries.lang index c9e828f84a3..197d00ba457 100644 --- a/htdocs/langs/sl_SI/salaries.lang +++ b/htdocs/langs/sl_SI/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Plača Salaries=Plače -NewSalaryPayment=Novo izplačilo plače +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Izplačilo plače SalariesPayments=Izplačila plač +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Prikaži izplačilo plač THM=Average hourly rate TJM=Average daily rate CurrentSalary=Trenutna plača THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sl_SI/stocks.lang b/htdocs/langs/sl_SI/stocks.lang index b8357c5ed52..f1b509e3951 100644 --- a/htdocs/langs/sl_SI/stocks.lang +++ b/htdocs/langs/sl_SI/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Nabavna cena enote StockTooLow=Zaloga je prenizka StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Vrednost -PMPValue=Uravnotežena povprečna cena -PMPValueShort=UPC EnhancedValueOfWarehouses=Vrednost skladišč UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Skladiščni prenos proizvoda %s v drugo skladišče InventoryCodeShort=Koda zaloge/premika NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Ta lot/serijska številka (%s) že obstaja, vendar z drugim datumom vstopa ali izstopa (najden je %s, vi pa ste vnesli %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/sl_SI/ticket.lang b/htdocs/langs/sl_SI/ticket.lang index 91ff26bb370..e75b33542b2 100644 --- a/htdocs/langs/sl_SI/ticket.lang +++ b/htdocs/langs/sl_SI/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostalo @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Preberite Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Na čakanju -Closed=Zaključeno +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Skupina +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Dodaj intervencijo -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/sl_SI/trips.lang b/htdocs/langs/sl_SI/trips.lang index 2598366a974..e782b4d44a3 100644 --- a/htdocs/langs/sl_SI/trips.lang +++ b/htdocs/langs/sl_SI/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Datum potrditve DATE_CANCEL=Cancelation date DATE_PAIEMENT=Datum plačila -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/sl_SI/users.lang b/htdocs/langs/sl_SI/users.lang index e911348ef47..e48bfb63b82 100644 --- a/htdocs/langs/sl_SI/users.lang +++ b/htdocs/langs/sl_SI/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Kreiranje uporabniškega imena NameToCreate=Kreiranje imena partnerja YourRole=Vaše vloge YourQuotaOfUsersIsReached=Dosežena je vaša kvota aktivnih uporabnikov ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin lahko degradira samo superadmin HierarchicalResponsible=Nadzornik HierarchicView=Hierarhični pogled diff --git a/htdocs/langs/sl_SI/website.lang b/htdocs/langs/sl_SI/website.lang index 9d3d0faab74..f0e2a16cf8c 100644 --- a/htdocs/langs/sl_SI/website.lang +++ b/htdocs/langs/sl_SI/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Stran -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sl_SI/withdrawals.lang b/htdocs/langs/sl_SI/withdrawals.lang index c0912aaeaf5..384fe3d2a80 100644 --- a/htdocs/langs/sl_SI/withdrawals.lang +++ b/htdocs/langs/sl_SI/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Označi kot prejeto ClassCreditedConfirm=Ali zares želite to potrdilo o nakazilu označiti kot »v dobro« na vašem bančnem računu ? TransData=Datum prenosa @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/sl_SI/workflow.lang b/htdocs/langs/sl_SI/workflow.lang index e7257c04c73..93ddb52a75a 100644 --- a/htdocs/langs/sl_SI/workflow.lang +++ b/htdocs/langs/sl_SI/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/sq_AL/accountancy.lang b/htdocs/langs/sq_AL/accountancy.lang index 5a1fba1c58e..bd822cd5584 100644 --- a/htdocs/langs/sq_AL/accountancy.lang +++ b/htdocs/langs/sq_AL/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index a2945323299..ce50af7abf1 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/admin.lang @@ -53,6 +53,7 @@ InternalUser=Përdorues i brendshëm ExternalUser=Përdorues i jashtëm InternalUsers=Përdorues të brendshëm ExternalUsers=Përdorues të jashtëm +UserInterface=User interface GUISetup=Shfaq SetupArea=Konfiguro UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=E padisponueshme ku Ajax është i çaktivizuar AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScrip i caktivizuar UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=Të gjitha NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Bli / Shkarko GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barkod -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/sq_AL/agenda.lang b/htdocs/langs/sq_AL/agenda.lang index 8fa8da028f0..2e919feca89 100644 --- a/htdocs/langs/sq_AL/agenda.lang +++ b/htdocs/langs/sq_AL/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Vendndodhja -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/sq_AL/banks.lang b/htdocs/langs/sq_AL/banks.lang index dd5f1ca63b1..83629ccc746 100644 --- a/htdocs/langs/sq_AL/banks.lang +++ b/htdocs/langs/sq_AL/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Dërguesi ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/sq_AL/bills.lang b/htdocs/langs/sq_AL/bills.lang index 35e97554290..ae913c0a769 100644 --- a/htdocs/langs/sq_AL/bills.lang +++ b/htdocs/langs/sq_AL/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/sq_AL/boxes.lang b/htdocs/langs/sq_AL/boxes.lang index ce0cd6dc236..1a9e009e49c 100644 --- a/htdocs/langs/sq_AL/boxes.lang +++ b/htdocs/langs/sq_AL/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/sq_AL/cashdesk.lang b/htdocs/langs/sq_AL/cashdesk.lang index 1cdcbe50666..bdd55cbc7be 100644 --- a/htdocs/langs/sq_AL/cashdesk.lang +++ b/htdocs/langs/sq_AL/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/sq_AL/compta.lang b/htdocs/langs/sq_AL/compta.lang index 85982e65958..d25a840077c 100644 --- a/htdocs/langs/sq_AL/compta.lang +++ b/htdocs/langs/sq_AL/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/sq_AL/cron.lang b/htdocs/langs/sq_AL/cron.lang index 485accd2a17..bc12288670f 100644 --- a/htdocs/langs/sq_AL/cron.lang +++ b/htdocs/langs/sq_AL/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Çaktivizo -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/sq_AL/deliveries.lang b/htdocs/langs/sq_AL/deliveries.lang index 903710c110d..05b090f1123 100644 --- a/htdocs/langs/sq_AL/deliveries.lang +++ b/htdocs/langs/sq_AL/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sq_AL/eventorganization.lang b/htdocs/langs/sq_AL/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/sq_AL/eventorganization.lang +++ b/htdocs/langs/sq_AL/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/sq_AL/exports.lang b/htdocs/langs/sq_AL/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/sq_AL/exports.lang +++ b/htdocs/langs/sq_AL/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/sq_AL/holiday.lang b/htdocs/langs/sq_AL/holiday.lang index 64536c98316..5865db9402c 100644 --- a/htdocs/langs/sq_AL/holiday.lang +++ b/htdocs/langs/sq_AL/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Miratuar CancelCP=Anulluar RefuseCP=Refuzuar -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Kërkesë për leje LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Kërkesë për leje TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Fshi kërkesën për leje ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/sq_AL/hrm.lang b/htdocs/langs/sq_AL/hrm.lang index 4ef88ad657a..9e40eafd4c1 100644 --- a/htdocs/langs/sq_AL/hrm.lang +++ b/htdocs/langs/sq_AL/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index dbb8be357e7..08a9f949f86 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sq_AL/interventions.lang b/htdocs/langs/sq_AL/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/sq_AL/interventions.lang +++ b/htdocs/langs/sq_AL/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/sq_AL/knowledgemanagement.lang b/htdocs/langs/sq_AL/knowledgemanagement.lang index 0d309f02677..c03ffd208ef 100644 --- a/htdocs/langs/sq_AL/knowledgemanagement.lang +++ b/htdocs/langs/sq_AL/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Artikull KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/sq_AL/languages.lang b/htdocs/langs/sq_AL/languages.lang index 98d74a37c1a..f72117f20f7 100644 --- a/htdocs/langs/sq_AL/languages.lang +++ b/htdocs/langs/sq_AL/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/sq_AL/mails.lang b/htdocs/langs/sq_AL/mails.lang index bdf92f0b2e9..5e3b2db4379 100644 --- a/htdocs/langs/sq_AL/mails.lang +++ b/htdocs/langs/sq_AL/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/sq_AL/main.lang b/htdocs/langs/sq_AL/main.lang index c8c0a25e494..6eefd18b38b 100644 --- a/htdocs/langs/sq_AL/main.lang +++ b/htdocs/langs/sq_AL/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/sq_AL/members.lang b/htdocs/langs/sq_AL/members.lang index e10f9fa14c4..85ca7c1f433 100644 --- a/htdocs/langs/sq_AL/members.lang +++ b/htdocs/langs/sq_AL/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/sq_AL/modulebuilder.lang b/htdocs/langs/sq_AL/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/sq_AL/modulebuilder.lang +++ b/htdocs/langs/sq_AL/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/sq_AL/mrp.lang b/htdocs/langs/sq_AL/mrp.lang index ec999a473a4..20a6d7238de 100644 --- a/htdocs/langs/sq_AL/mrp.lang +++ b/htdocs/langs/sq_AL/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Fshi NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/sq_AL/orders.lang b/htdocs/langs/sq_AL/orders.lang index 2ed1b8af62e..a58d0708e9f 100644 --- a/htdocs/langs/sq_AL/orders.lang +++ b/htdocs/langs/sq_AL/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/sq_AL/other.lang b/htdocs/langs/sq_AL/other.lang index 1975223f19c..f5e751a61f0 100644 --- a/htdocs/langs/sq_AL/other.lang +++ b/htdocs/langs/sq_AL/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Mbyll diff --git a/htdocs/langs/sq_AL/partnership.lang b/htdocs/langs/sq_AL/partnership.lang index 89c29157803..8e4c6202fdd 100644 --- a/htdocs/langs/sq_AL/partnership.lang +++ b/htdocs/langs/sq_AL/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refuzuar -PartnershipCanceled = Anulluar - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refuzuar +PartnershipCanceled=Anulluar PartnershipManagedFor=Partners are diff --git a/htdocs/langs/sq_AL/productbatch.lang b/htdocs/langs/sq_AL/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/sq_AL/productbatch.lang +++ b/htdocs/langs/sq_AL/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/sq_AL/products.lang b/htdocs/langs/sq_AL/products.lang index ff733168095..bae83eb511f 100644 --- a/htdocs/langs/sq_AL/products.lang +++ b/htdocs/langs/sq_AL/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/sq_AL/projects.lang b/htdocs/langs/sq_AL/projects.lang index 495ef8c0330..4a7a52c0b9e 100644 --- a/htdocs/langs/sq_AL/projects.lang +++ b/htdocs/langs/sq_AL/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/sq_AL/receptions.lang b/htdocs/langs/sq_AL/receptions.lang index 643f77a9f72..5665f2b6503 100644 --- a/htdocs/langs/sq_AL/receptions.lang +++ b/htdocs/langs/sq_AL/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/sq_AL/salaries.lang b/htdocs/langs/sq_AL/salaries.lang index 3539d05cb2e..6f5391f3da3 100644 --- a/htdocs/langs/sq_AL/salaries.lang +++ b/htdocs/langs/sq_AL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Rrogë Salaries=Rrogat -NewSalaryPayment=Pagesë e re rroge +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Pagesë rroge SalariesPayments=Pagesat e rrogave +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Trego pagesën e rrogës THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sq_AL/stocks.lang b/htdocs/langs/sq_AL/stocks.lang index 64b66cea86f..2b43b355942 100644 --- a/htdocs/langs/sq_AL/stocks.lang +++ b/htdocs/langs/sq_AL/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/sq_AL/ticket.lang b/htdocs/langs/sq_AL/ticket.lang index 8e7d22fb4e0..16646050965 100644 --- a/htdocs/langs/sq_AL/ticket.lang +++ b/htdocs/langs/sq_AL/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Tjetër @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Mbyllur +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/sq_AL/trips.lang b/htdocs/langs/sq_AL/trips.lang index 6ecc039b3ee..108f2fa469e 100644 --- a/htdocs/langs/sq_AL/trips.lang +++ b/htdocs/langs/sq_AL/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/sq_AL/users.lang b/htdocs/langs/sq_AL/users.lang index f0310710974..fbd264fa0a1 100644 --- a/htdocs/langs/sq_AL/users.lang +++ b/htdocs/langs/sq_AL/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/sq_AL/website.lang b/htdocs/langs/sq_AL/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/sq_AL/website.lang +++ b/htdocs/langs/sq_AL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sq_AL/withdrawals.lang b/htdocs/langs/sq_AL/withdrawals.lang index 92dfe12e1c3..6d22617b3b6 100644 --- a/htdocs/langs/sq_AL/withdrawals.lang +++ b/htdocs/langs/sq_AL/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/sq_AL/workflow.lang b/htdocs/langs/sq_AL/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/sq_AL/workflow.lang +++ b/htdocs/langs/sq_AL/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/sr_RS/accountancy.lang b/htdocs/langs/sr_RS/accountancy.lang index a80c056d536..2263e55097a 100644 --- a/htdocs/langs/sr_RS/accountancy.lang +++ b/htdocs/langs/sr_RS/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=Lista računovodstvenih naloga UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model izvoza Selectmodelcsv=Izaberite model izvoza @@ -335,7 +339,7 @@ Modelcsv_normal=Klasičan izvoz Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/sr_RS/admin.lang b/htdocs/langs/sr_RS/admin.lang index 47438a037f4..aed845c76e6 100644 --- a/htdocs/langs/sr_RS/admin.lang +++ b/htdocs/langs/sr_RS/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Podešavanja UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=Vidi podešavanja modula %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Samo koristi link "tel:" na telefonskim brojevima -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Preporučeno +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/sr_RS/agenda.lang b/htdocs/langs/sr_RS/agenda.lang index 8e034566601..53452115e66 100644 --- a/htdocs/langs/sr_RS/agenda.lang +++ b/htdocs/langs/sr_RS/agenda.lang @@ -4,7 +4,7 @@ Actions=Događaji Agenda=Agenda TMenuAgenda=Agenda Agendas=Agende -LocalAgenda=Interni kalendar +LocalAgenda=Default calendar ActionsOwnedBy=Događaj u vlasništvu ActionsOwnedByShort=Vlasnik AffectedTo=Dodeljeno @@ -14,13 +14,13 @@ EventsNb=Broj događaja ListOfActions=Lista događaja EventReports=Event reports Location=Lokacija -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Dogadaj svim danima MenuToDoActions=Svi nezavršeni događaji MenuDoneActions=Svi završeni događaji MenuToDoMyActions=Moji nezavršeni događaji MenuDoneMyActions=Moji završeni događaji -ListOfEvents=Lista događaja (interni kalendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Događaje prijavio ActionsToDoBy=Događaji dodeljeni ActionsDoneBy=Događaje završio @@ -38,6 +38,7 @@ ActionsEvents=Događaji za koje će Dolibarr da kreira akciju u agendi automatsk EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Ugovor %s je potvrđen CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Početak @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Zauzet ExportDataset_event1=Spisak događaja iz agende @@ -152,6 +155,7 @@ ActionType=Tip događaja DateActionBegin=Početak događaja ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Ponovi događaj +OnceOnly=Once only EveryWeek=Svake nedelje EveryMonth=Svakog meseca DayOfMonth=Dan u mesecu @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/sr_RS/banks.lang b/htdocs/langs/sr_RS/banks.lang index e1d59217844..4bccdc11cb4 100644 --- a/htdocs/langs/sr_RS/banks.lang +++ b/htdocs/langs/sr_RS/banks.lang @@ -115,7 +115,7 @@ TransferTo=Za TransferFromToDone=Prenos od %s to %s of %s %s je zabeležen. CheckTransmitter=Pošiljalac ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bankovni ček diff --git a/htdocs/langs/sr_RS/bills.lang b/htdocs/langs/sr_RS/bills.lang index df00b3c8612..b8e0f5f03c7 100644 --- a/htdocs/langs/sr_RS/bills.lang +++ b/htdocs/langs/sr_RS/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Neplaćene fakture klijenata @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/sr_RS/boxes.lang b/htdocs/langs/sr_RS/boxes.lang index e593f6e30fc..c65406c025b 100644 --- a/htdocs/langs/sr_RS/boxes.lang +++ b/htdocs/langs/sr_RS/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Fakture klijenata ForCustomersOrders=Narudžbine klijenata ForProposals=Ponude diff --git a/htdocs/langs/sr_RS/cashdesk.lang b/htdocs/langs/sr_RS/cashdesk.lang index 31e585226cf..6ab29200779 100644 --- a/htdocs/langs/sr_RS/cashdesk.lang +++ b/htdocs/langs/sr_RS/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/sr_RS/compta.lang b/htdocs/langs/sr_RS/compta.lang index 7af3218a6ab..667d1780dac 100644 --- a/htdocs/langs/sr_RS/compta.lang +++ b/htdocs/langs/sr_RS/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/sr_RS/cron.lang b/htdocs/langs/sr_RS/cron.lang index 5a246d49be9..b62e4234f90 100644 --- a/htdocs/langs/sr_RS/cron.lang +++ b/htdocs/langs/sr_RS/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Kraj ne može biti pre početka StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Deaktiviraj -CronTaskInactive=Operacije je deaktivirana +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/sr_RS/deliveries.lang b/htdocs/langs/sr_RS/deliveries.lang index 0ab45d43795..6590466b478 100644 --- a/htdocs/langs/sr_RS/deliveries.lang +++ b/htdocs/langs/sr_RS/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Primalac ErrorStockIsNotEnough=Nema dovoljno zaliha Shippable=Isporučivo NonShippable=Nije isporučivo +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sr_RS/errors.lang b/htdocs/langs/sr_RS/errors.lang index b8cac5689b3..35fc4bba163 100644 --- a/htdocs/langs/sr_RS/errors.lang +++ b/htdocs/langs/sr_RS/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s već postoji ErrorGroupAlreadyExists=Grupa %s već postoji +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Linija nije pronađena. ErrorFailToCopyFile=Greška prilikom kopiranja fajla '%s' u '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Greška u čitanju fajla "%s" ErrorCantReadDir=Greška u čitanju foldera "%s" ErrorBadLoginPassword=Pogrešna vrednost za login ili lozinku ErrorLoginDisabled=Vaš nalog je deaktiviran -ErrorFailedToRunExternalCommand=Greška prilikom pokretanja eksterne komande. Proverite da li je ova funkcionalnost moguća na PHP serveru. Ukoliko je aktivan PHP Safe Mode, proverite da je komanda u filderu definisanom u safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Greška prilikom promene lozinke ErrorLoginDoesNotExists=Korisnik %s nije pronađen. ErrorLoginHasNoEmail=Korisnik nema mail adresu. Operacija otkazana. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sr_RS/eventorganization.lang b/htdocs/langs/sr_RS/eventorganization.lang index 3be4026e6d2..fa5a154d754 100644 --- a/htdocs/langs/sr_RS/eventorganization.lang +++ b/htdocs/langs/sr_RS/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Tip događaja +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/sr_RS/exports.lang b/htdocs/langs/sr_RS/exports.lang index 41f2f5ed861..6ad60fe9e52 100644 --- a/htdocs/langs/sr_RS/exports.lang +++ b/htdocs/langs/sr_RS/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tip linije (0=proizvod, 1=usluga) FileWithDataToImport=Fajl sa podacima za import FileToImport=Izvorni fajl za import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Format izvornog fajla diff --git a/htdocs/langs/sr_RS/holiday.lang b/htdocs/langs/sr_RS/holiday.lang index eaa699f62bf..57c9163a484 100644 --- a/htdocs/langs/sr_RS/holiday.lang +++ b/htdocs/langs/sr_RS/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Čeka odobrenje ApprovedCP=Odobren CancelCP=Otkazan RefuseCP=Odbijen -ValidatorCP=Odobrava +ValidatorCP=Approver ListeCP=List of leave Leave=Zahtev za odsustvo LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Zahtev za odsustvo TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Broj potrošenih dana od odmora -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Izmeni @@ -55,7 +55,7 @@ TitleDeleteCP=Obriši zahtev za odsustvo ConfirmDeleteCP=Potvrdi brisanje zahteva za odsustvo? ErrorCantDeleteCP=Greška, nemate pravo da obrišete ovaj zahtev. CantCreateCP=Nemate pravo da kreirate zahtev za odsustvo. -InvalidValidatorCP=Morate odabrati osobu koja će odobriti Vaš zahtev za odsustvo +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Morate izabrati početni datum. NoDateFin=Morate izabrati završni datum. ErrorDureeCP=Vaš zahtev za odsustvo ne sadrži radne dane. @@ -80,14 +80,14 @@ UserCP=Korisnik ErrorAddEventToUserCP=Greška prilikom kreiranja vanrednog odsustva. AddEventToUserOkCP=Kreiranje vanrednog odsustva je završeno. MenuLogCP=Prikaži log izmena -LogCP=Log izmena preostalih dana od odmora -ActionByCP=Izvršio -UserUpdateCP=Za korisnika +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Prethodno stanje NewSoldeCP=Novo stanje alreadyCPexist=Zahtev za odsustvo već postoji za ovaj period. -FirstDayOfHoliday=Prvi dan odmora -LastDayOfHoliday=Poslednji dan odmora +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Mesečno ažuriranje ManualUpdate=Ručno ažuriranje @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Uspešno ažurirano Module27130Name= Upravljanje zahtevima za odsustvo Module27130Desc= Upravljanje zahtevima za odsustvo @@ -125,10 +125,12 @@ HolidaysCanceledBody=Vaš zahtev za odsustvo %s do %s je otkazan. FollowedByACounter=1: Ovaj tip odsustva treba da se prati brojačem. Brojač se povećava ručno ili automatski i kada je odsustvo potvrđeno, brojač se smanjuje.
    0: Ne prati se brojačem. NoLeaveWithCounterDefined=Ne postoje definisana odsustva koja treba da se prate brojačem GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/sr_RS/hrm.lang b/htdocs/langs/sr_RS/hrm.lang index a16626d66d1..dbc2bbe45da 100644 --- a/htdocs/langs/sr_RS/hrm.lang +++ b/htdocs/langs/sr_RS/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Otvori ogranak CloseEtablishment=Zatvori ogranak # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HR - Lista odeljenja DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/sr_RS/install.lang b/htdocs/langs/sr_RS/install.lang index 3a09cc9669d..e5f60b91b6b 100644 --- a/htdocs/langs/sr_RS/install.lang +++ b/htdocs/langs/sr_RS/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Ponovo učitavanje modula %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sr_RS/interventions.lang b/htdocs/langs/sr_RS/interventions.lang index b1bc27aa9e7..0ec4d08d58a 100644 --- a/htdocs/langs/sr_RS/interventions.lang +++ b/htdocs/langs/sr_RS/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Trajanje linije intervencije InterLineDesc=Opis linije intervencije RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/sr_RS/knowledgemanagement.lang b/htdocs/langs/sr_RS/knowledgemanagement.lang index d24fee49c0a..995ca49160f 100644 --- a/htdocs/langs/sr_RS/knowledgemanagement.lang +++ b/htdocs/langs/sr_RS/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = O KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Artikal KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/sr_RS/languages.lang b/htdocs/langs/sr_RS/languages.lang index 8f0e9d14af7..1f879053c04 100644 --- a/htdocs/langs/sr_RS/languages.lang +++ b/htdocs/langs/sr_RS/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arapski Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arapski +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Holandski (Belgija) Language_nl_NL=Dutch Language_pl_PL=Poljski +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portugalski (Brazil) Language_pt_PT=Portugalski +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumunski Language_ru_RU=Ruski Language_ru_UA=Ruski (Ukrajina) diff --git a/htdocs/langs/sr_RS/mails.lang b/htdocs/langs/sr_RS/mails.lang index 9c20f761fc1..2a12d8e6d91 100644 --- a/htdocs/langs/sr_RS/mails.lang +++ b/htdocs/langs/sr_RS/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/sr_RS/main.lang b/htdocs/langs/sr_RS/main.lang index 1ae893b7059..2a7e65efd65 100644 --- a/htdocs/langs/sr_RS/main.lang +++ b/htdocs/langs/sr_RS/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Stopa poreza +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Članovi MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Meni home-podešavanja-bezbednost): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Aktivni jezik CurrentTheme=Aktivna tema @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=Za procesuiranje ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=Na čekanju Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/sr_RS/members.lang b/htdocs/langs/sr_RS/members.lang index 9e2876f3fa8..d85d11ab6bd 100644 --- a/htdocs/langs/sr_RS/members.lang +++ b/htdocs/langs/sr_RS/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/sr_RS/modulebuilder.lang b/htdocs/langs/sr_RS/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/sr_RS/modulebuilder.lang +++ b/htdocs/langs/sr_RS/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/sr_RS/mrp.lang b/htdocs/langs/sr_RS/mrp.lang index ec999a473a4..999a6ec67b8 100644 --- a/htdocs/langs/sr_RS/mrp.lang +++ b/htdocs/langs/sr_RS/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Obriši NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/sr_RS/orders.lang b/htdocs/langs/sr_RS/orders.lang index 4c3705086e5..22c69b1dcd7 100644 --- a/htdocs/langs/sr_RS/orders.lang +++ b/htdocs/langs/sr_RS/orders.lang @@ -11,6 +11,7 @@ OrderDate=Datum narudžbine OrderDateShort=Datum porudžbine OrderToProcess=Narudžbina za obradu NewOrder=Nova narudžbina +NewSupplierOrderShort=Nova narudžbina NewOrderSupplier=New Purchase Order ToOrder=Kreiraj narudžbinu MakeOrder=Kreiraj narudžbinu @@ -73,6 +74,7 @@ DeleteOrder=Obriši narudžbinu CancelOrder=Otkaži narudžbinu OrderReopened= Order %s re-open AddOrder=Kreiraj narudžbinu +AddSupplierOrderShort=Kreiraj narudžbinu AddPurchaseOrder=Create purchase order AddToDraftOrders=Dodaj draft narudžbini ShowOrder=Pokaži narudžbinu diff --git a/htdocs/langs/sr_RS/other.lang b/htdocs/langs/sr_RS/other.lang index a2023128b0b..2c7773a12b5 100644 --- a/htdocs/langs/sr_RS/other.lang +++ b/htdocs/langs/sr_RS/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Login korisnika koji je zatvorio FileWasRemoved=Fajl %s j uklonjen DirWasRemoved=Folder %s je uklonjen FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Širina Height=Visina @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Oblast exporta @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Zatvori diff --git a/htdocs/langs/sr_RS/partnership.lang b/htdocs/langs/sr_RS/partnership.lang index 82c90ae3244..9a870e1d55d 100644 --- a/htdocs/langs/sr_RS/partnership.lang +++ b/htdocs/langs/sr_RS/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Datum početka DatePartnershipEnd=Datum završetka +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Nacrt -PartnershipAccepted = Prihvaćen -PartnershipRefused = Odbijen -PartnershipCanceled = Poništeno - +PartnershipDraft=Nacrt +PartnershipAccepted=Prihvaćen +PartnershipRefused=Odbijen +PartnershipCanceled=Poništeno PartnershipManagedFor=Partners are diff --git a/htdocs/langs/sr_RS/productbatch.lang b/htdocs/langs/sr_RS/productbatch.lang index 7aa007fe4c4..6b4c2e2f343 100644 --- a/htdocs/langs/sr_RS/productbatch.lang +++ b/htdocs/langs/sr_RS/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Koristi serijski broj ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/sr_RS/products.lang b/htdocs/langs/sr_RS/products.lang index 5b59d29e0c4..db82afecc6e 100644 --- a/htdocs/langs/sr_RS/products.lang +++ b/htdocs/langs/sr_RS/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Dodaj cenu po klijentu -ForceUpdateChildPriceSoc=Podesi istu cenu za ogranke klijenta +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Istorija prethodnih cena klijenata MinimumPriceLimit=Minimalna cena ne može biti manja od %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Povećaj/Smanji zalihu na matičnoj promeni ComposedProduct=Child products MinSupplierPrice=Minimalna kupovna cena MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamička konfiguracija cene DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Dodaj promenljivu @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Prosecna cena +PMPValueShort=PC diff --git a/htdocs/langs/sr_RS/projects.lang b/htdocs/langs/sr_RS/projects.lang index f29a10b6685..4ee79e654af 100644 --- a/htdocs/langs/sr_RS/projects.lang +++ b/htdocs/langs/sr_RS/projects.lang @@ -140,6 +140,7 @@ NoTasks=Nema zadataka za ovaj projekat LinkedToAnotherCompany=Subjekti vezani za ovaj projekat TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Provedeno vreme nije uneto +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Ova akcija će obrisati sve zadatke ovog projekta (%s zadataka u ovom trenutku) i sve unose utrošenog vremena. IfNeedToUseOtherObjectKeepEmpty=Ukoliko neki objekti (fakture, narudžbine, ...) pripadaju drugom subjektu, oni moraju biti povezani projektu koji se kreira. Ostavite ovu opciju praznu da bi projekat mogao da bude povezan sa više subjekata. CloneTasks=Dupiraj zadatke @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Provedeno vreme TimeSpentForInvoice=Provedeno vreme OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Novi račun +NewInter=Nova intervencija OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/sr_RS/receptions.lang b/htdocs/langs/sr_RS/receptions.lang index 914006db1e4..6967906d601 100644 --- a/htdocs/langs/sr_RS/receptions.lang +++ b/htdocs/langs/sr_RS/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/sr_RS/salaries.lang b/htdocs/langs/sr_RS/salaries.lang index 43def73622c..ca05a64c7fa 100644 --- a/htdocs/langs/sr_RS/salaries.lang +++ b/htdocs/langs/sr_RS/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Konto koji se koristi za korisnike trećih lica SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Plata Salaries=Plate -NewSalaryPayment=Nova isplata zarade +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Isplata zarade SalariesPayments=Isplate zarada +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Prikaži isplatu zarade THM=Prosečna cena sata TJM=Prosečna cena dana CurrentSalary=Trenutna plata THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sr_RS/stocks.lang b/htdocs/langs/sr_RS/stocks.lang index 0a9085093f9..aa077fb4d5b 100644 --- a/htdocs/langs/sr_RS/stocks.lang +++ b/htdocs/langs/sr_RS/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Kupovna cena jedinice StockTooLow=Zalihe su premale StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Vrednost -PMPValue=Prosecna cena -PMPValueShort=PC EnhancedValueOfWarehouses=Vrednost magacina UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Transfer zaliha proizvoda %s u drugi magacin InventoryCodeShort=Kod Inv./Krt. NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Ova serija (%s) već postoji, ali sa različitim rokom trajanja/prodaje (nađeno je %s ali ste uneli %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Ponovo Otvoreno -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/sr_RS/ticket.lang b/htdocs/langs/sr_RS/ticket.lang index b465760e3c8..cb52363e451 100644 --- a/htdocs/langs/sr_RS/ticket.lang +++ b/htdocs/langs/sr_RS/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekat TicketTypeShortOTHER=Drugo @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Pročitaj Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Na čekanju -Closed=Zatvoreno +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupa +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Kreiraj intervenciju -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/sr_RS/trips.lang b/htdocs/langs/sr_RS/trips.lang index 8a4476bcc54..c014520a019 100644 --- a/htdocs/langs/sr_RS/trips.lang +++ b/htdocs/langs/sr_RS/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=ID troška -AnyOtherInThisListCanValidate=Osoba koju treba obavestiti za odobrenje. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Informacije kompanije TripNDF=Informacije o trošku PDFStandardExpenseReports=Standardni template za generisanje PDF dokumenta o trošku @@ -90,7 +90,6 @@ DATE_REFUS=Datum odbijanja DATE_SAVE=Datum odobrenja DATE_CANCEL=Datum otkazivanja DATE_PAIEMENT=Datum isplate -BROUILLONNER=Ponovo Otvoreno ExpenseReportRef=Ref. expense report ValidateAndSubmit=Potvrdi i pošalji na odobrenje ValidatedWaitingApproval=Potvrđeno (čeka odobrenje) @@ -110,7 +109,7 @@ ExpenseReportPayment=Isplata troška ExpenseReportsToApprove=Izveštaj trškova za odobrenje ExpenseReportsToPay=Troškovi zaisplatu ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/sr_RS/users.lang b/htdocs/langs/sr_RS/users.lang index 3f49f99fdb0..ee428e59980 100644 --- a/htdocs/langs/sr_RS/users.lang +++ b/htdocs/langs/sr_RS/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login za kreiranje NameToCreate=Ime subjekta za kreiranje YourRole=Vaši profili YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je dostignuta ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin može downgrade-ovati superadmina HierarchicalResponsible=Supervizor HierarchicView=Hijerarhijski prikaz diff --git a/htdocs/langs/sr_RS/website.lang b/htdocs/langs/sr_RS/website.lang index a51d5cffc41..f953e2c2725 100644 --- a/htdocs/langs/sr_RS/website.lang +++ b/htdocs/langs/sr_RS/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Strana -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sr_RS/withdrawals.lang b/htdocs/langs/sr_RS/withdrawals.lang index 001a9c81371..7f38813aa92 100644 --- a/htdocs/langs/sr_RS/withdrawals.lang +++ b/htdocs/langs/sr_RS/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Označi kreditirano ClassCreditedConfirm=Da li ste sigurni da želite da označite ovaj račun podizanja kao kreditiran na Vašem bankovnom računu ? TransData=Datum prenosa @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/sr_RS/workflow.lang b/htdocs/langs/sr_RS/workflow.lang index 7502f987d7a..4790c0b9b5e 100644 --- a/htdocs/langs/sr_RS/workflow.lang +++ b/htdocs/langs/sr_RS/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/sv_SE/accountancy.lang b/htdocs/langs/sv_SE/accountancy.lang index 5fbb22248bf..ff6fdd695ec 100644 --- a/htdocs/langs/sv_SE/accountancy.lang +++ b/htdocs/langs/sv_SE/accountancy.lang @@ -16,18 +16,18 @@ ThisService=Tjänsten ThisProduct=Den här produkten DefaultForService=Standard för service DefaultForProduct=Standard för produkter -ProductForThisThirdparty=Product for this thirdparty -ServiceForThisThirdparty=Service for this thirdparty +ProductForThisThirdparty=Produkt för denna tredje part +ServiceForThisThirdparty=Service för denna tredje part CantSuggest=Kan inte föreslå AccountancySetupDoneFromAccountancyMenu=De flesta inställningarna för bokföringen görs från menyn %s -ConfigAccountingExpert=Configuration of the module accounting (double entry) +ConfigAccountingExpert=Konfiguration av modulredovisningen (dubbel inmatning) Journalization=Bokföring Journals=Loggböcker JournalFinancial=Finansiella loggböcker BackToChartofaccounts=Avkastning kontoplan Chartofaccounts=Kontoplan -ChartOfSubaccounts=Chart of individual accounts -ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger +ChartOfSubaccounts=Diagram över enskilda konton +ChartOfIndividualAccountsOfSubsidiaryLedger=Diagram över enskilda konton för dotterbolaget CurrentDedicatedAccountingAccount=Nuvarande dedikerat konto AssignDedicatedAccountingAccount=Nytt konto att tilldela InvoiceLabel=Faktura etikett @@ -37,8 +37,8 @@ OtherInfo=Övrig information DeleteCptCategory=Ta bort redovisningskontot från gruppen ConfirmDeleteCptCategory=Är du säker på att du vill ta bort det här kontot konto från kontokoncernen? JournalizationInLedgerStatus=Status för bokföring -AlreadyInGeneralLedger=Already transferred in accounting journals and ledger -NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger +AlreadyInGeneralLedger=Redan överförd i redovisningstidskrifter och huvudbok +NotYetInGeneralLedger=Ännu inte överfört i tidskrifter och storbok GroupIsEmptyCheckSetup=Gruppen är tom, kontrollera inställningen av den personliga redovisningsgruppen DetailByAccount=Visa detaljer efter konto AccountWithNonZeroValues=Konton med icke-nollvärden @@ -47,10 +47,11 @@ CountriesInEEC=Länder i EEG CountriesNotInEEC=Länder inte i EEG CountriesInEECExceptMe=Länder i EEG förutom %s CountriesExceptMe=Alla länder utom %s -AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +AccountantFiles=Exportera källdokument +ExportAccountingSourceDocHelp=Med det här verktyget kan du exportera källhändelserna (lista i CSV och PDF-filer) som användes för att generera din redovisning. +ExportAccountingSourceDocHelp2=För att exportera verifikationer, använd menyn %s - %s VueByAccountAccounting=Visa baserat på redovisningskonto -VueBySubAccountAccounting=View by accounting subaccount +VueBySubAccountAccounting=Visa efter redovisning av underkonto MainAccountForCustomersNotDefined=Huvudsakliga bokföringskonto för kunder som inte definierats i installationen MainAccountForSuppliersNotDefined=Huvudkonton för leverantörer som inte definierats i installationen @@ -65,8 +66,8 @@ AccountancyAreaDescActionOnceBis=Nästa steg bör göras för att spara dig tid AccountancyAreaDescActionFreq=Följande åtgärder utförs vanligtvis varje månad, vecka eller dag för mycket stora företag ... AccountancyAreaDescJournalSetup=STEG %s: Skapa eller kolla innehållet i din loggboklista från menyn %s -AccountancyAreaDescChartModel=STEP %s: Check that a model of chart of account exists or create one from menu %s -AccountancyAreaDescChart=STEP %s: Select and|or complete your chart of account from menu %s +AccountancyAreaDescChartModel=STEG %s: Kontrollera att det finns en kontodiagrammodell eller skapa en från menyn %s +AccountancyAreaDescChart=STEG %s: Välj och | eller slutför ditt kontoplan från meny %s AccountancyAreaDescVat=STEG %s: Definiera redovisningskonton för varje moms. För detta, använd menyinmatningen %s. AccountancyAreaDescDefault=STEG %s: Definiera standardbokföringskonton. För detta, använd menyinmatningen %s. @@ -86,18 +87,18 @@ AccountancyAreaDescAnalyze=STEG %s: Lägg till eller redigera befintliga transak AccountancyAreaDescClosePeriod=STEG %s: Stäng period så vi kan inte göra ändringar i framtiden. -TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) +TheJournalCodeIsNotDefinedOnSomeBankAccount=Ett obligatoriskt steg i installationen har inte slutförts (bokföringskodjournal definieras inte för alla bankkonton) Selectchartofaccounts=Välj aktivt diagram över konton ChangeAndLoad=Ändra och ladda Addanaccount=Lägg till ett redovisningskonto AccountAccounting=Redovisningskonto AccountAccountingShort=Konto -SubledgerAccount=Subledger account -SubledgerAccountLabel=Subledger account label +SubledgerAccount=Underledgerkonto +SubledgerAccountLabel=Etikett för underleverantörskonto ShowAccountingAccount=Visa bokföringskonto ShowAccountingJournal=Visa loggböcker -ShowAccountingAccountInLedger=Show accounting account in ledger -ShowAccountingAccountInJournals=Show accounting account in journals +ShowAccountingAccountInLedger=Visa redovisningskonto i huvudbok +ShowAccountingAccountInJournals=Visa redovisningskonto i tidskrifter AccountAccountingSuggest=Redovisningskonto föreslås MenuDefaultAccounts=Standardkonton MenuBankAccounts=Bankkonton @@ -107,8 +108,8 @@ MenuExpenseReportAccounts=Utläggsrapport konton MenuLoanAccounts=Lån konton MenuProductsAccounts=Produktkonton MenuClosureAccounts=Avslutande konton -MenuAccountancyClosure=Closure -MenuAccountancyValidationMovements=Validate movements +MenuAccountancyClosure=Stängning +MenuAccountancyValidationMovements=Validera rörelser ProductsBinding=Produkter konton TransferInAccounting=Överföring i bokföring RegistrationInAccounting=Registrering i bokföring @@ -119,9 +120,9 @@ ExpenseReportsVentilation=Utläggsrapport förbindande CreateMvts=Skapa ny transaktion UpdateMvts=Ändring av en transaktion ValidTransaction=Bekräfta transaktionen -WriteBookKeeping=Register transactions in accounting +WriteBookKeeping=Registrera transaktioner i bokföring Bookkeeping=Huvudbok -BookkeepingSubAccount=Subledger +BookkeepingSubAccount=Underledger AccountBalance=Kontobalans ObjectsRef=Källobjekt ref CAHTF=Totalt köpleverantör före skatt @@ -131,7 +132,7 @@ InvoiceLinesDone=Bundet linjer med fakturor ExpenseReportLines=Kostnadsberäkningar rapporterar att förbinda ExpenseReportLinesDone=Förbundna utgiftsrapporter IntoAccount=Bind rad med bokföringskonto -TotalForAccount=Total accounting account +TotalForAccount=Totalt redovisningskonto Ventilate=Binda @@ -147,7 +148,7 @@ NotVentilatedinAccount=Ej bunden till bokföringskonto XLineSuccessfullyBinded=%s produkter / tjänster har framgångsrikt bundet till ett bokföringskonto XLineFailedToBeBinded=%s produkter / tjänster var inte bundna till något kontokonto -ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50) +ACCOUNTING_LIMIT_LIST_VENTILATION=Maximalt antal rader på listan och bindningssidan (rekommenderas: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Börja sorteringen av sidan "Bindning att göra" av de senaste elementen ACCOUNTING_LIST_SORT_VENTILATION_DONE=Börja sorteringen av sidan "Bindning gjort" av de senaste elementen @@ -158,9 +159,9 @@ ACCOUNTING_LENGTH_AACCOUNT=Längden på kontot för tredje partens konto (Om du ACCOUNTING_MANAGE_ZERO=Tillåt att hantera olika antal nollor i slutet av ett bokföringskonto. Behövs av vissa länder (som Schweiz). Om den är avstängd (standard) kan du ställa in följande två parametrar för att be programmet att lägga till virtuella nollor. BANK_DISABLE_DIRECT_INPUT=Inaktivera direktinspelning av transaktion i bankkonto ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Aktivera utkastexport på loggbok -ACCOUNTANCY_COMBO_FOR_AUX=Aktivera kombinationslista för dotterkonto (kan vara långsamt om du har många tredje parter) -ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. -ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default +ACCOUNTANCY_COMBO_FOR_AUX=Aktivera kombinationslista för dotterbolagskonto (kan vara långsam om du har många tredje parter, bryter förmågan att söka efter en del av värdet) +ACCOUNTING_DATE_START_BINDING=Definiera ett datum för att börja binda och överföra i bokföring. Under detta datum överförs inte transaktionerna till bokföring. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Vid bokföringsöverföring, välj periodvisning som standard ACCOUNTING_SELL_JOURNAL=Försäljningsloggbok ACCOUNTING_PURCHASE_JOURNAL=Inköpsloggbok @@ -174,60 +175,60 @@ ACCOUNTING_RESULT_LOSS=Resultaträkningskonto (förlust) ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Loggbok för stängning ACCOUNTING_ACCOUNT_TRANSFER_CASH=Redovisningskonto övergångsöverföring -TransitionalAccount=Transitional bank transfer account +TransitionalAccount=Övergångsbanköverföringskonto ACCOUNTING_ACCOUNT_SUSPENSE=Redovisningskonto för väntan DONATION_ACCOUNTINGACCOUNT=Redovisningskonto för att registrera donationer ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Redovisningskonto för att registrera prenumerationer -ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Redovisningskonto som standard för att registrera kundinsättning -ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for the bought products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Redovisningskonto som standard för de köpta produkterna (används om det inte definieras i produktbladet) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Redovisningskonto som standard för de köpta produkterna i EEG (används om det inte definieras i produktbladet) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Redovisningskonto som standard för de köpta produkterna och importeras från EEG (används om det inte definieras i produktbladet) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Bokföringskonto som standard för de sålda produkterna (används om de inte anges i produktbladet) -ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Redovisningskonto som standard för produkter som säljs i EEG (används om de inte definieras i produktbladet) +ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Redovisningskonto som standard för de produkter som säljs och exporteras från EEG (används om det inte definieras i produktbladet) ACCOUNTING_SERVICE_BUY_ACCOUNT=Bokföringskonto som standard för de köpta tjänsterna (används om det inte anges i servicebladet) -ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Redovisningskonto som standard för de köpta tjänsterna i EEG (används om det inte definieras i tjänstebladet) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Redovisningskonto som standard för de köpta tjänsterna och importeras från EEG (används om det inte definieras i tjänstebladet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Redovisningskonto som standard för de sålda tjänsterna (används om de inte anges i servicebladet) -ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Redovisningskonto som standard för tjänster som säljs i EEG (används om de inte definieras i tjänstebladet) +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Redovisningskonto som standard för de tjänster som säljs och exporteras från EEG (används om de inte definieras i tjänstebladet) Doctype=Typ av dokument Docdate=Datum Docref=Referens LabelAccount=Etikett konto LabelOperation=Etikettoperation -Sens=Direction -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +Sens=Riktning +AccountingDirectionHelp=För en kunds redovisningskonto, använd kredit för att registrera en betalning som du har fått
    . För ett leverantörs redovisningskonto, använd Debit för att registrera en betalning du gjort LetteringCode=Brevkod -Lettering=Lettering +Lettering=Text Codejournal=Loggbok JournalLabel=Loggboksetikett NumPiece=Stycke nummer TransactionNumShort=Num. transaktion -AccountingCategory=Custom group -GroupByAccountAccounting=Group by general ledger account -GroupBySubAccountAccounting=Group by subledger account +AccountingCategory=Anpassad grupp +GroupByAccountAccounting=Gruppera efter huvudbokskonto +GroupBySubAccountAccounting=Gruppera efter underkontokonto AccountingAccountGroupsDesc=Här kan du definiera vissa grupper av bokföringskonto. De kommer att användas för personliga redovisningsrapporter. ByAccounts=Enligt konton ByPredefinedAccountGroups=Av fördefinierade grupper ByPersonalizedAccountGroups=Av personliga grupper ByYear=Per år NotMatch=Inte inställd -DeleteMvt=Delete some operation lines from accounting -DelMonth=Month to delete +DeleteMvt=Ta bort några operationer från redovisningen +DelMonth=Månad att ta bort DelYear=År att radera DelJournal=Loggbok att radera -ConfirmDeleteMvt=This will delete all operation lines of the accounting for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. -ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all operation lines related to the same transaction will be deleted) +ConfirmDeleteMvt=Detta raderar alla operationer i bokföringen för året / månaden och / eller för en viss journal (minst ett kriterium krävs). Du måste återanvända funktionen '%s' för att ha den raderade posten tillbaka i huvudboken. +ConfirmDeleteMvtPartial=Detta raderar transaktionen från bokföringen (alla transaktionsrader relaterade till samma transaktion raderas) FinanceJournal=Finansloggbok ExpenseReportsJournal=Utläggsrapporter loggbok DescFinanceJournal=Finansbokföring inklusive alla typer av betalningar via bankkonto -DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Journals and Ledger. +DescJournalOnlyBindedVisible=Detta är en vy över posten som är bunden till ett redovisningskonto och kan registreras i tidskrifterna och storboken. VATAccountNotDefined=Konto för moms inte definierad ThirdpartyAccountNotDefined=Konto för tredje part har inte definierats ProductAccountNotDefined=Konto för produkt som inte definierats @@ -245,20 +246,20 @@ DescThirdPartyReport=Här kan du se listan över tredje partskunder och säljare ListAccounts=Förteckning över redovisningskonton UnknownAccountForThirdparty=Okänt tredje part konto. Vi använder %s UnknownAccountForThirdpartyBlocking=Okänt tredje part konto. Blockeringsfel -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s -ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Tredjeparts okänd och underleverantör definieras inte på betalningen. Vi kommer att hålla underskottets kontovärde tomt. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Okänt tredje part konto och väntande konto inte definierat. Blockeringsfel PaymentsNotLinkedToProduct=Betalning som inte är kopplad till någon produkt / tjänst -OpeningBalance=Opening balance -ShowOpeningBalance=Show opening balance -HideOpeningBalance=Hide opening balance -ShowSubtotalByGroup=Show subtotal by level +OpeningBalance=Öppningsbalans +ShowOpeningBalance=Visa öppningsbalans +HideOpeningBalance=Dölj öppningsbalansen +ShowSubtotalByGroup=Visa delsumma efter nivå Pcgtype=Grupp av konto -PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. +PcgtypeDesc=Kontogrupp används som fördefinierade kriterier för 'filter' och 'gruppering' för vissa redovisningsrapporter. Till exempel används 'INKOMST' eller 'KOSTNAD' som grupper för redovisning av produkter för att skapa en kostnads- / inkomstrapport. -Reconcilable=Reconcilable +Reconcilable=Förenlig TotalVente=Total turnover before tax TotalMarge=Total försäljning marginal @@ -269,20 +270,20 @@ DescVentilDoneCustomer=Konsultera här listan över raderna av fakturakunder och DescVentilTodoCustomer=Binda fakturulinjer som inte redan är bundna med ett konto för produktkonton ChangeAccount=Ändra produkt- / serviceredovisningskonto för utvalda linjer med följande bokföringskonto: Vide=- -DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account (only record not already transfered in accountancy are visible) +DescVentilSupplier=Se här listan över leverantörsfakturorader bundna eller ännu inte bundna till ett produktredovisningskonto (endast post som inte redan överförts i bokföring syns) DescVentilDoneSupplier=Här kan du se listan över leverantörsfakturor och deras bokföringskonto DescVentilTodoExpenseReport=Förbinda utläggsrapportsrader som inte redan är bundna med ett konto i bokföringen DescVentilExpenseReport=Här kan du se listan över kostnadsrapporter som är bundna (eller inte) till ett avgiftsredovisningskonto DescVentilExpenseReportMore=Om du ställer in bokföringskonto på typ av kostnadsrapportrader kommer applikationen att kunna göra alla bindningar mellan dina kostnadsrapporter och konton för ditt kontoplan, bara med ett klick med knappen "%s" . Om kontot inte var inställt på avgifterna eller om du fortfarande har några rader som inte är kopplade till något konto måste du göra en manuell bindning från menyn " %s ". DescVentilDoneExpenseReport=Här kan du se listan över raderna för kostnadsrapporter och deras bokföringskonto -Closure=Annual closure -DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open -OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) -AllMovementsWereRecordedAsValidated=All movements were recorded as validated -NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated -ValidateMovements=Validate movements -DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible +Closure=Årlig nedläggning +DescClosure=Se här antalet rörelser per månad som inte har validerats och räkenskapsår som redan är öppna +OverviewOfMovementsNotValidated=Steg 1 / Översikt över rörelser har inte validerats. (Nödvändigt för att avsluta ett räkenskapsår) +AllMovementsWereRecordedAsValidated=Alla rörelser registrerades som validerade +NotAllMovementsCouldBeRecordedAsValidated=Inte alla rörelser kunde spelas in som validerade +ValidateMovements=Validera rörelser +DescValidateMovements=Alla ändringar eller raderingar av skrift, bokstäver och raderingar är förbjudna. Alla bidrag till en övning måste valideras, annars är det inte möjligt att stänga ValidateHistory=Förbind automatiskt AutomaticBindingDone=Automatisk bindning gjord @@ -297,13 +298,13 @@ NoNewRecordSaved=Inga flera linjer att bokföra ListOfProductsWithoutAccountingAccount=Förteckning över produkter som inte är kopplade till något kontokonto ChangeBinding=Ändra bindningen Accounted=Redovisas i huvudbok -NotYetAccounted=Not yet accounted in the ledger -ShowTutorial=Show Tutorial +NotYetAccounted=Ännu inte redovisat i huvudboken +ShowTutorial=Visa handledning NotReconciled=Inte avstämd -WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view +WarningRecordWithoutSubledgerAreExcluded=Varning, alla åtgärder utan underskrivningskonto definieras filtreras och utesluts från den här vyn ## Admin -BindingOptions=Binding options +BindingOptions=Bindande alternativ ApplyMassCategories=Applicera masskategorier AddAccountFromBookKeepingWithNoCategories=Tillgängligt konto ännu inte i den personifierade gruppen CategoryDeleted=Kategori för bokföringskonto har tagits bort @@ -311,7 +312,7 @@ AccountingJournals=Bokföringsloggbok AccountingJournal=Bokföringsloggbok NewAccountingJournal=Ny bokföringsloggbok ShowAccountingJournal=Visa loggböcker -NatureOfJournal=Nature of Journal +NatureOfJournal=Journalens natur AccountingJournalType1=Övrig verksamhet AccountingJournalType2=Försäljning AccountingJournalType3=Inköp @@ -323,11 +324,14 @@ ErrorAccountingJournalIsAlreadyUse=Denna loggboken används redan AccountingAccountForSalesTaxAreDefinedInto=Obs! Bokföringskonto för försäljningsskatt definieras i menyn %s - %s NumberOfAccountancyEntries=Antal poster NumberOfAccountancyMovements=Antal rörelser -ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) +ACCOUNTING_DISABLE_BINDING_ON_SALES=Inaktivera bindning och överföring av bokföring vid försäljning (kundfakturor kommer inte att beaktas vid redovisning) +ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Inaktivera bindning och överföring av bokföring vid köp (leverantörsfakturor kommer inte att beaktas vid redovisning) +ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Inaktivera bindning och överföring i bokföring på kostnadsrapporter (kostnadsrapporter kommer inte att beaktas vid redovisning) ## Export +NotifiedExportDate=Exporteringsdatum (ändringar kan ej göras) +NotifiedValidationDate=Validering av posterna (modifiering eller radering av posterna är inte möjlig) +ConfirmExportFile=Bekräftelse på generering av bokföringsexportfilen? ExportDraftJournal=Exportera utkast till loggbok Modelcsv=Modell av export Selectmodelcsv=Välj en modell av export @@ -335,41 +339,41 @@ Modelcsv_normal=Klassisk export Modelcsv_CEGID=Exportera till CEGID Expert Comptabilité Modelcsv_COALA=Exportera till Sage Coala Modelcsv_bob50=Export för Sage BOB 50 -Modelcsv_ciel=Exportera till Sage Ciel Compta eller Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Exportera till Quadratus QuadraCompta Modelcsv_ebp=Exportera till EBP Modelcsv_cogilog=Exportera till Cogilog Modelcsv_agiris=Exportera till Agiris -Modelcsv_LDCompta=Export for LD Compta (v9) (Test) -Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) -Modelcsv_openconcerto=Export for OpenConcerto (Test) +Modelcsv_LDCompta=Exportera för LD Compta (v9) (Test) +Modelcsv_LDCompta10=Exportera för LD Compta (v10 och högre) +Modelcsv_openconcerto=Exportera för OpenConcerto (Test) Modelcsv_configurable=Exportera CSV konfigurerbar -Modelcsv_FEC=Export FEC -Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) -Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland -Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta -Modelcsv_Gestinumv3=Export for Gestinum (v3) -Modelcsv_Gestinumv5Export for Gestinum (v5) +Modelcsv_FEC=Exportera FEC +Modelcsv_FEC2=Exportera FEC (med datumgenerering / omvänd dokument) +Modelcsv_Sage50_Swiss=Export för Sage 50 Schweiz +Modelcsv_winfic=Exportera Winfic - eWinfic - WinSis Compta +Modelcsv_Gestinumv3=Exportera för Gestinum (v3) +Modelcsv_Gestinumv5Export för Gestinum (v5) ChartofaccountsId=Diagram över konton Id ## Tools - Init accounting account on product / service InitAccountancy=Initära bokföring InitAccountancyDesc=Den här sidan kan användas för att initiera ett konto på produkter och tjänster som inte har ett kontokonto definierat för försäljning och inköp. DefaultBindingDesc=Den här sidan kan användas för att ställa in ett standardkonto som ska användas för att koppla transaktionsrekord om betalningslön, donation, skatter och moms när inget specifikt kontokonto redan var inställt. -DefaultClosureDesc=This page can be used to set parameters used for accounting closures. +DefaultClosureDesc=Denna sida kan användas för att ställa in parametrar som används för bokslut. Options=alternativ OptionModeProductSell=Mode försäljning -OptionModeProductSellIntra=Mode sales exported in EEC -OptionModeProductSellExport=Mode sales exported in other countries +OptionModeProductSellIntra=Modeförsäljning exporterad i EEG +OptionModeProductSellExport=Lägesförsäljning exporteras till andra länder OptionModeProductBuy=Mode inköp -OptionModeProductBuyIntra=Mode purchases imported in EEC -OptionModeProductBuyExport=Mode purchased imported from other countries +OptionModeProductBuyIntra=Modeinköp importerade i EEG +OptionModeProductBuyExport=Läget köpt importerat från andra länder OptionModeProductSellDesc=Visa alla produkter med bokföringskonto för försäljning. -OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. -OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. +OptionModeProductSellIntraDesc=Visa alla produkter med redovisningskonto för försäljning i EEG. +OptionModeProductSellExportDesc=Visa alla produkter med redovisningskonto för andra utländska försäljningar. OptionModeProductBuyDesc=Visa alla produkter med bokföringskonto för inköp. -OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. -OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. +OptionModeProductBuyIntraDesc=Visa alla produkter med redovisningskonto för inköp i EEG. +OptionModeProductBuyExportDesc=Visa alla produkter med redovisningskonto för andra utländska inköp. CleanFixHistory=Ta bort bokföringskoden från rader som inte finns i kontoplaner CleanHistory=Återställ alla bindningar för valt år PredefinedGroups=Fördefinierade grupper @@ -377,11 +381,11 @@ WithoutValidAccount=Utan giltigt dedikerat konto WithValidAccount=Med giltigt dedikerat konto ValueNotIntoChartOfAccount=Detta värde på bokföringskonto finns inte i kontoplan AccountRemovedFromGroup=Konto borttaget från grupp -SaleLocal=Local sale -SaleExport=Export sale -SaleEEC=Sale in EEC -SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. -SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. +SaleLocal=Lokal försäljning +SaleExport=Exportförsäljning +SaleEEC=Försäljning i EEG +SaleEECWithVAT=Försäljning i EEG med moms som inte är null, så vi antar att detta INTE är en försäljning inom gemenskapen och det föreslagna kontot är standardproduktkontot. +SaleEECWithoutVATNumber=Försäljning i EEG utan moms men tredjeparts moms-ID definieras inte. Vi återgår till produktkontot för standardförsäljning. Du kan fastställa tredjeparts moms-ID eller produktkonto om det behövs. ## Dictionary Range=Räckvidd av bokföringskonto @@ -402,29 +406,29 @@ UseMenuToSetBindindManualy=Linjer som ännu inte är bundna, använd menyn %s
    ) kan skyddas (till exempel av operatörsbehörigheter eller genom PHP-direktivet open_basedir). DBStoringCharset=Databas charset för att lagra data DBSortingCharset=Databas charset att sortera data -HostCharset=Host charset +HostCharset=Teckenuppsättning för värd ClientCharset=Klientcharset ClientSortingCharset=Klientsamling WarningModuleNotActive=Modul %s måste vara aktiverat @@ -53,18 +53,19 @@ InternalUser=Intern användare ExternalUser=Extern användare InternalUsers=Interna användare ExternalUsers=Externa användare +UserInterface=Användargränssnitt GUISetup=Visa SetupArea=Inställning UploadNewTemplate=Ladda upp ny mall (er) FormToTestFileUploadForm=Formulär för att testa filuppladdning (enligt inställningar) -ModuleMustBeEnabled=The module/application %s must be enabled -ModuleIsEnabled=The module/application %s has been enabled +ModuleMustBeEnabled=Modulen / applikationen %s måste vara aktiverad +ModuleIsEnabled=Modulen / applikationen %s har aktiverats IfModuleEnabled=Anm: ja effektivt endast om modul %s är aktiverat RemoveLock=Ta bort / byt namn på filen %s om den existerar, för att tillåta användning av Update / Install-verktyget. RestoreLock=Återställ fil %s , endast med läsbehörighet, för att inaktivera ytterligare användning av Update / Install-verktyget. SecuritySetup=Säkerhets inställning -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=PHP-inställning +OSSetup=Inställning av operativsystem SecurityFilesDesc=Definiera här alternativ relaterade till säkerhet om uppladdning av filer. ErrorModuleRequirePHPVersion=Fel, kräver denna modul PHP version %s eller högre ErrorModuleRequireDolibarrVersion=Fel, kräver denna modul Dolibarr version %s eller högre @@ -78,16 +79,17 @@ DisableJavascriptNote=Obs! För test eller debug-syfte. För optimering för bli UseSearchToSelectCompanyTooltip=Även om du har ett stort antal tredje parter (> 100 000), kan du öka hastigheten genom att sätta konstant COMPANY_DONOTSEARCH_ANYWHERE till 1 i Setup-> Övrigt. Sökningen kommer då att begränsas till start av strängen. UseSearchToSelectContactTooltip=Även om du har ett stort antal tredje parter (> 100 000), kan du öka hastigheten genom att sätta konstant CONTACT_DONOTSEARCH_ANYWHERE till 1 i Setup-> Övrigt. Sökningen kommer då att begränsas till start av strängen. DelaiedFullListToSelectCompany=Vänta tills en tangent trycks innan du laddar innehållet i kombinationslistan från tredje part.
    Detta kan öka prestanda om du har ett stort antal tredje parter, men det är mindre bekvämt. -DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient. -NumberOfKeyToSearch=Number of characters to trigger search: %s -NumberOfBytes=Number of Bytes -SearchString=Search string +DelaiedFullListToSelectContact=Vänta tills en tangent trycks ned innan du laddar innehållet i kontaktlistan.
    Detta kan öka prestandan om du har ett stort antal kontakter, men det är mindre bekvämt. +NumberOfKeyToSearch=Antal tecken som ska utlösa sökning: %s +NumberOfBytes=Antal byte +SearchString=Söksträng NotAvailableWhenAjaxDisabled=Inte tillgänglig när Ajax funktionshindrade AllowToSelectProjectFromOtherCompany=På tredje parts dokument kan du välja ett projekt kopplat till en annan tredje part +TimesheetPreventAfterFollowingMonths=Förhindra tidsregistrering efter antal månader JavascriptDisabled=JavaScript funktionshindrade UsePreviewTabs=Använd förhandsgranska flikar ShowPreview=Visa förhandsgranskning -ShowHideDetails=Show-Hide details +ShowHideDetails=Visa-dölj detaljer PreviewNotAvailable=Förhandsgranska inte tillgänglig ThemeCurrentlyActive=Tema för tillfället MySQLTimeZone=Timezone MySql (databas) @@ -102,20 +104,21 @@ NextValueForInvoices=Nästa värde (fakturor) NextValueForCreditNotes=Nästa värde (kreditnotor) NextValueForDeposit=Nästa värde (förskottsbetalning) NextValueForReplacements=Nästa värde (ersättare) -MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the maximum filesize for upload to %s %s, irrespective of the value of this parameter +MustBeLowerThanPHPLimit=Obs: din PHP-konfiguration begränsar för närvarande den maximala filstorleken för uppladdning till %s %s, oavsett värdet på denna parameter NoMaxSizeByPHPLimit=Obs: Ingen gräns som anges i din PHP konfiguration MaxSizeForUploadedFiles=Maximala storleken för uppladdade filer (0 att förkasta varje uppladdning) UseCaptchaCode=Använd grafisk kod (CAPTCHA) på inloggningssidan AntiVirusCommand=Fullständiga sökvägen till antivirus kommandot -AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe +AntiVirusCommandExample=Exempel för ClamAv Daemon (kräver clamav-daemon): / usr / bin / clamdscan
    Exempel på ClamWin (väldigt långsamt): c: \\ Progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe AntiVirusParam= Fler parametrar på kommandoraden -AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +AntiVirusParamExample=Exempel för ClamAv Daemon: --fdpass
    Exempel för ClamWin: --database = "C: \\ Program Files (x86) \\ ClamWin \\ lib" ComptaSetup=Redovisning modul inställning UserSetup=Användarens hantering inställning MultiCurrencySetup=Multi-valuta inställning MenuLimits=Gränser och noggrannhet MenuIdParent=Överordnade menyn ID DetailMenuIdParent=ID överordnade menyn (0 för en toppmenyn) +ParentID=Förälder-ID DetailPosition=Sortera nummer att definiera menyposition AllMenus=Alla NotConfigured=Modul/Applikation är inte konfigurerad @@ -157,8 +160,8 @@ SystemToolsAreaDesc=Detta område ger administrationsfunktioner. Använd menyn f Purge=Rensa PurgeAreaDesc=På den här sidan kan du radera alla filer som genereras eller lagras av Dolibarr (temporära filer eller alla filer i %s katalog). Att använda den här funktionen är normalt inte nödvändig. Den tillhandahålls som en lösning för användare vars Dolibarr är värd av en leverantör som inte erbjuder behörigheter för att radera filer som genereras av webbservern. PurgeDeleteLogFile=Ta bort loggfiler, inklusive %s definierad för Syslog-modulen (ingen risk att förlora data) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. -PurgeDeleteTemporaryFilesShort=Delete log and temporary files +PurgeDeleteTemporaryFiles=Ta bort alla loggfiler och tillfälliga filer (ingen risk att förlora data). Parametern kan vara 'tempfilesold', 'logfiles' eller båda 'tempfilesold + logfiles'. Obs! Radering av tillfälliga filer görs endast om temp-katalogen skapades för mer än 24 timmar sedan. +PurgeDeleteTemporaryFilesShort=Ta bort logg och tillfälliga filer PurgeDeleteAllFilesInDocumentsDir=Ta bort alla filer i katalogen: %s .
    Detta tar bort alla genererade dokument relaterade till elementer (tredje part, fakturor etc ...), filer som laddas upp i ECM-modulen, databassäkerhetskopior och tillfälliga filer. PurgeRunNow=Rensa nu PurgeNothingToDelete=Ingen katalog eller filer att radera. @@ -186,8 +189,8 @@ Compression=Komprimering CommandsToDisableForeignKeysForImport=Kommando för att stänga av främmande nycklar vid import CommandsToDisableForeignKeysForImportWarning=Obligatoriskt om du vill kunna återställa din sql-dump vid ett senare tillfälle ExportCompatibility=Förenlighet genererade exportfil -ExportUseMySQLQuickParameter=Use the --quick parameter -ExportUseMySQLQuickParameterHelp=The '--quick' parameter helps limit RAM consumption for large tables. +ExportUseMySQLQuickParameter=Använd parametern --quick +ExportUseMySQLQuickParameterHelp=Parametern '--quick' hjälper till att begränsa RAM-förbrukningen för stora tabeller. MySqlExportParameters=MySQL export parametrar PostgreSqlExportParameters= PostgreSQL exportparametrar UseTransactionnalMode=Använd affärsbeslut läge @@ -207,35 +210,36 @@ FeatureDisabledInDemo=Funktion avstängd i demo FeatureAvailableOnlyOnStable=Funktionen är endast tillgänglig på officiella stabila versioner BoxesDesc=Widgets är komponenter som visar lite information som du kan lägga till för att anpassa vissa sidor. Du kan välja mellan att visa widgeten eller inte, genom att välja målsida och klicka på "Aktivera", eller genom att klicka på papperskorgen för att inaktivera den. OnlyActiveElementsAreShown=Endast delar av
    aktiverade moduler visas. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc=Modulerna / applikationerna avgör vilka funktioner som finns i programvaran. Vissa moduler kräver behörighet för användare efter att ha aktiverat modulen. Klicka på på / av-knappen %s för varje modul för att aktivera eller inaktivera en modul / applikation. +ModulesDesc2=Klicka på hjulknappen %s för att konfigurera modulen / applikationen. ModulesMarketPlaceDesc=Du kan hitta fler moduler att ladda ner på externa webbplatser på Internet ... ModulesDeployDesc=Om behörigheter i ditt filsystem tillåter det kan du använda det här verktyget för att distribuera en extern modul. Modulen kommer då att visas på fliken %s . ModulesMarketPlaces=Hitta externa app / moduler ModulesDevelopYourModule=Utveckla din egen app / moduler ModulesDevelopDesc=Du kan också utveckla din egen modul eller hitta en partner för att utveckla en för dig. DOLISTOREdescriptionLong=I stället för att starta www.dolistore.com webbplats för att hitta en extern modul, kan du använda det här inbäddade verktyget som ska utföra sökningen på den externa marknaden för dig (kan vara långsam, behöver en internetåtkomst) ... -NewModule=New module +NewModule=Ny modul FreeModule=Gratis CompatibleUpTo=Kompatibel med version %s NotCompatible=Den här modulen verkar inte vara kompatibel med din Dolibarr %s (Min %s - Max %s). CompatibleAfterUpdate=Den här modulen kräver en uppdatering av din Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på marknaden -SeeSetupOfModule=See setup of module %s +SeeSetupOfModule=Se installation av modul %s +SetOptionTo=Sätt alternativ %s till %s Updated=Uppdaterad -Nouveauté=Nyhet AchatTelechargement=Köp / Hämta GoModuleSetupArea=För att distribuera / installera en ny modul, gå till modulens inställningsområde: %s . DoliStoreDesc=DoliStore, den officiella marknadsplatsen för Dolibarr ERP / CRM externa moduler -DoliPartnersDesc=List of companies providing custom-developed modules or features.
    Note: since Dolibarr is an open source application, anyone experienced in PHP programming should be able to develop a module. +DoliPartnersDesc=Lista över företag som tillhandahåller specialutvecklade moduler eller funktioner.
    Obs! Eftersom Dolibarr är ett program med öppen källkod bör någon med erfarenhet av PHP-programmering kunna utveckla en modul. WebSiteDesc=Externa webbplatser för fler moduler utan tillägg... DevelopYourModuleDesc=Några lösningar för att utveckla din egen modul ... URL=URL -RelativeURL=Relative URL +RelativeURL=Relativ webbadress BoxesAvailable=Widgets tillgängliga BoxesActivated=Widgets aktiverade ActivateOn=Aktivera på ActiveOn=Aktiverad på -ActivatableOn=Activatable on +ActivatableOn=Aktiverbar på SourceFile=Källfil AvailableOnlyIfJavascriptAndAjaxNotDisabled=Endast tillgängligt om JavaScript är inte oduglig Required=Obligatorisk @@ -261,7 +265,7 @@ ReferencedPreferredPartners=Preferred Partners OtherResources=Andra resurser ExternalResources=Externa resurser SocialNetworks=Sociala nätverk -SocialNetworkId=Social Network ID +SocialNetworkId=Socialt nätverks-ID ForDocumentationSeeWiki=För användarens eller utvecklarens dokumentation (Doc, FAQs ...),
    ta en titt på Dolibarr Wiki:
    %s ForAnswersSeeForum=För alla andra frågor / hjälp, kan du använda Dolibarr forumet:
    %s HelpCenterDesc1=Här finns några resurser för att få hjälp och support med Dolibarr. @@ -280,9 +284,9 @@ NoticePeriod=Uppsägningstid NewByMonth=Ny i månaden Emails=E-post EMailsSetup=E-postinställningar -EMailsDesc=This page allows you to set parameters or options for email sending. +EMailsDesc=På den här sidan kan du ställa in parametrar eller alternativ för att skicka e-post. EmailSenderProfiles=E-postmeddelanden skickar profiler -EMailsSenderProfileDesc=You can keep this section empty. If you enter some emails here, they will be added to the list of possible senders into the combobox when your write a new email. +EMailsSenderProfileDesc=Du kan hålla det här avsnittet tomt. Om du anger några e-postmeddelanden här kommer de att läggas till i listan över möjliga avsändare i kombinationsrutan när du skriver ett nytt e-postmeddelande. MAIN_MAIL_SMTP_PORT=SMTP / SMTPS-porten (standardvärde i php.ini: %s ) MAIN_MAIL_SMTP_SERVER=SMTP / SMTPS-värd (standardvärde i php.ini: %s ) MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP / SMTPS-port (Ej definierad i PHP på Unix-liknande system) @@ -292,13 +296,13 @@ MAIN_MAIL_ERRORS_TO=E-post används för att returnera e-postmeddelanden (fält MAIN_MAIL_AUTOCOPY_TO= Kopiera (Bcc) alla skickade e-postmeddelanden till MAIN_DISABLE_ALL_MAILS=Inaktivera all e-postsändning (för teständamål eller demo) MAIN_MAIL_FORCE_SENDTO=Skicka alla e-postmeddelanden till (i stället för riktiga mottagare, för teständamål) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Föreslå e-postmeddelanden från anställda (om de är definierade) i listan över fördefinierade mottagare när du skriver ett nytt e-postmeddelande MAIN_MAIL_SENDMODE=E-postsändningsmetod MAIN_MAIL_SMTPS_ID=SMTP-ID (om sändning av server kräver autentisering) MAIN_MAIL_SMTPS_PW=SMTP-lösenord (om sändning av server kräver autentisering) MAIN_MAIL_EMAIL_TLS=Använd kryptering av TLS (SSL) MAIN_MAIL_EMAIL_STARTTLS=Använd TLS (STARTTLS) kryptering -MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés +MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Auktorisera automatiska signaturer MAIN_MAIL_EMAIL_DKIM_ENABLED=Använd DKIM för att skapa e-signatur MAIN_MAIL_EMAIL_DKIM_DOMAIN=E-post domän för användning med dkim MAIN_MAIL_EMAIL_DKIM_SELECTOR=Namn på dkim-väljaren @@ -310,9 +314,9 @@ MAIN_MAIL_DEFAULT_FROMTYPE=Standard avsändarmail för manuell sändning (använ UserEmail=Användar-e-post CompanyEmail=Företagets Email FeatureNotAvailableOnLinux=Funktionen inte finns på Unix-liknande system. Testa din sendmail program lokalt. -FixOnTransifex=Fix the translation on the online translation platform of project +FixOnTransifex=Fixa översättningen på online-översättningsplattformen för projektet SubmitTranslation=Om översättningen för detta språk inte är fullständigt eller du hittar fel kan du korrigera detta genom att redigera filer i katalogen langs / %s och skicka in din ändring till www.transifex.com/dolibarr-association/dolibarr/ -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or, if you are a developer, with a PR on github.com/Dolibarr/dolibarr +SubmitTranslationENUS=Om översättningen för detta språk inte är komplett eller om du hittar fel kan du korrigera detta genom att redigera filer i katalogen langs / %s och skicka ändrade filer på dolibarr.org/forum eller, om du är utvecklare, med en PR på github .com / Dolibarr / dolibarr ModuleSetup=Modul inställning ModulesSetup=Moduler / Programinställningar ModuleFamilyBase=System @@ -342,7 +346,7 @@ SetupIsReadyForUse=Modulutbyggnad är klar. Du måste dock aktivera och konfigur NotExistsDirect=Den alternativa rotkatalogen är inte definierad till en befintlig katalog.
    InfDirAlt=Sedan version 3 är det möjligt att definiera en alternativ rotkatalog. Detta gör att du kan lagra, till en dedikerad katalog, plugin-moduler och anpassade mallar.
    Skapa bara en katalog i roten till Dolibarr (t ex: anpassad).
    InfDirExample= 
    Angiv sedan det i filen conf.php
    $ dolibarr_main_url_root_alt = '/ anpassad'
    $ dolibarr_main_document_root_alt = '/ path / of / dolibarr / htdocs / anpassad'
    Om dessa rader kommenteras med "#" , bara uncomment genom att ta bort "#" tecknet. -YouCanSubmitFile=You can upload the .zip file of module package from here: +YouCanSubmitFile=Du kan ladda upp .zip-filen för modulpaketet härifrån: CurrentVersion=Dolibarr nuvarande version CallUpdatePage=Bläddra till den sida som uppdaterar databasstrukturen och data: %s. LastStableVersion=Senaste stabila versionen @@ -351,10 +355,10 @@ LastActivationAuthor=Senaste aktiveringsförfattaren LastActivationIP=Senaste aktivering IP UpdateServerOffline=Uppdatera server offline WithCounter=Hantera en räknare -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    +GenericMaskCodes=Du kan ange valfri numreringsmask. I den här masken kan följande taggar användas:
    {000000} motsvarar ett nummer som kommer att ökas på varje %s. Ange så många nollor som önskad längd på räknaren. Räknaren kompletteras med nollor från vänster för att ha lika många nollor som masken.
    {000000+000} samma som den föregående men en förskjutning som motsvarar numret till höger om + -tecknet tillämpas med början på den första %s.
    {000000@x} samma som föregående men räknaren återställs till noll när månad x nås (x mellan 1 och 12, eller 0 för att använda de första månaderna av räkenskapsåret som definierats i din konfiguration, eller 99 till återställs till noll varje månad). Om detta alternativ används och x är 2 eller högre krävs också sekvensen {åå} {mm} eller {åååå} {mm}.
    {dd} dag (01 till 31).
    {mm} månad (01 till 12).
    {yy} , {yyyy} eller {y} år över 2,4 eller 1 nummer.
    +GenericMaskCodes2= {cccc} klientkoden på n tecken
    {cccc000} kunden är kundens kund. Denna räknare dedikerad till kunden återställs samtidigt som den globala räknaren.
    {tttt} Koden för tredje parts typ på n tecken (se menyn Hem - Inställningar - Ordbok - Typer av tredje part). Om du lägger till den här taggen kommer räknaren att vara annorlunda för varje typ av tredje part.
    GenericMaskCodes3=Alla andra tecken i masken förblir intakt.
    Blanksteg är inte tillåtna.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    +GenericMaskCodes3EAN=Alla andra tecken i masken förblir intakta (utom * eller? I 13: e position i EAN13).
    Utrymmen är inte tillåtna.
    I EAN13 ska det sista tecknet efter det sista} i 13: e position vara * eller? . Den kommer att ersättas av den beräknade nyckeln.
    GenericMaskCodes4a=  Exempel på 99: e %s från tredje part TheCompany, med datum 2007-01-31:
    GenericMaskCodes4b=Exempel på tredje part som har skapats på 2007/03/01:
    GenericMaskCodes4c=Exempel på artikel skapad 2007-03-01:
    @@ -382,7 +386,7 @@ ExamplesWithCurrentSetup=Exempel med nuvarande konfiguration ListOfDirectories=Förteckning över OpenDocument mallar kataloger ListOfDirectoriesForModelGenODT=Lista över kataloger som innehåller mallfiler med OpenDocument-format.

    Sätt här hela sökvägen till kataloger.
    Lägg till en vagnretur mellan eah-katalogen.
    För att lägga till en katalog över GED-modulen, lägg till här DOL_DATA_ROOT / ecm / ditt katalognamn .

    Filer i katalogerna måste sluta med .odt eller .ods . NumberOfModelFilesFound=Antal ODT / ODS-mallfiler som finns i dessa kataloger -ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\myapp\\mydocumentdir\\mysubdir
    /home/myapp/mydocumentdir/mysubdir
    DOL_DATA_ROOT/ecm/ecmdir +ExampleOfDirectoriesForModelGen=Exempel på syntax:
    c: \\ myapp \\ mydocumentdir \\ mysubdir
    / home / myapp / mydocumentdir / mysubdir
    DOL_DATA_ROOT / ecm / ecmdir FollowingSubstitutionKeysCanBeUsed=
    Att veta hur du skapar dina odT dokumentmallar, innan du förvarar dem i dessa kataloger, läs wiki dokumentation: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template FirstnameNamePosition=Ståndpunkt av förnamn / namn @@ -398,12 +402,13 @@ ModuleMustBeEnabledFirst=Modul %s måste aktiveras först om du behöve SecurityToken=Nyckeln till säkra webbadresser NoSmsEngine=Ingen SMS-avsändare finns tillgänglig. En SMS-avsändarhanterare är inte installerad med standarddistributionen eftersom de är beroende av en extern leverantör, men du kan hitta några på %s PDF=PDF -PDFDesc=Global options for PDF generation -PDFAddressForging=Rules for address section +PDFDesc=Globala alternativ för PDF-generation +PDFOtherDesc=PDF-alternativ som är specifikt för vissa moduler +PDFAddressForging=Regler för adressavsnitt HideAnyVATInformationOnPDF=Dölj all information om försäljningsskatt / moms PDFRulesForSalesTax=Regler för försäljningsskatt / moms PDFLocaltax=Regler för %s -HideLocalTaxOnPDF=Hide %s rate in column Sale Tax / VAT +HideLocalTaxOnPDF=Dölj %s i kolumn Försäljningsskatt / moms HideDescOnPDF=Dölj produktbeskrivning HideRefOnPDF=Dölj produkter ref. HideDetailsOnPDF=Dölj produktlinjer detaljer @@ -413,23 +418,23 @@ UrlGenerationParameters=Parametrar för att säkra webbadresser SecurityTokenIsUnique=Använd en unik securekey parameter för varje webbadress EnterRefToBuildUrl=Ange referens för objekt %s GetSecuredUrl=Få beräknat URL -ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise) +ButtonHideUnauthorized=Dölj obehöriga åtgärdsknappar också för interna användare (bara gråtonad annars) OldVATRates=Gammal momssats NewVATRates=Ny momssats PriceBaseTypeToChange=Ändra om priser med bas referensvärde som definieras på MassConvert=Starta masskonvertering -PriceFormatInCurrentLanguage=Price Format In Current Language +PriceFormatInCurrentLanguage=Prisformat på nuvarande språk String=String -String1Line=String (1 line) +String1Line=Sträng (1 rad) TextLong=Lång text -TextLongNLines=Long text (n lines) +TextLongNLines=Lång text (n rader) HtmlText=Html-text Int=Heltal Float=Flyttal DateAndTime=Datum och timme Unique=Unik Boolean=Booleska (en kryssruta) -ExtrafieldPhone = Telefonen +ExtrafieldPhone = Telefon ExtrafieldPrice = Pris ExtrafieldMail = epost ExtrafieldUrl = Url @@ -442,17 +447,17 @@ ExtrafieldCheckBox=Kryssrutor ExtrafieldCheckBoxFromList=Kryssrutor från bordet ExtrafieldLink=Länk till ett objekt ComputedFormula=Beräknat fält -ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

    Example of formula:
    $object->id < 10 ? round($object->id / 2, 2): ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)

    Example to reload object
    (($reloadedobj = new Societe($db)) && ($reloadedobj->fetchNoCompute($obj->id ? $obj->id: ($obj->rowid ? $obj->rowid: $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5: '-1'

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' -Computedpersistent=Store computed field -ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! +ComputedFormulaDesc=Du kan ange här en formel som använder andra objektegenskaper eller någon PHP-kodning för att få ett dynamiskt beräknat värde. Du kan använda alla PHP-kompatibla formler inklusive "?" tillståndsoperatör och följande globala objekt: $ db, $ conf, $ langs, $ mysoc, $ user, $ object .
    VARNING : Endast vissa egenskaper för $ objekt kan vara tillgängliga. Om du behöver egenskaper som inte har laddats, hämtar du bara objektet till din formel som i det andra exemplet.
    Att använda ett beräknat fält betyder att du inte kan ange något värde från gränssnittet. Om det finns ett syntaxfel kan formeln kanske inte returnera något.

    Exempel på formel:
    $ object-> id < 10 ? round($object-> id / 2, 2): ($ object-> id + 2 * $ user-> id) * (int) substr ($ mysoc-> zip, 1, 2 )

    Exempel på att ladda om objekt
    (($ reloadedobj = new Societe ($ db)) && ($ reloadedobj-> fetchNoCompute ($ obj-> id? $ obj-> id: ($ obj-> rad) > rowid: $ object-> id))> 0))? $ reloadedobj-> array_options ['options_extrafieldkey'] * $ reloadedobj-> capital / 5: '-1'

    Annat exempel på formel för att tvinga objektets belastning och dess överordnade objekt:
    (($ reloadedob = )) && ($ reloadedobj-> fetchNoCompute ($ object-> id)> 0) && ($ secondloadedobj = new Project ($ db)) && ($ secondloadedobj-> fetchNoCompute ($ reloadedobj-> fk_project)> 0))? $ secondloadedobj-> ref: 'Föräldraprojekt hittades inte' +Computedpersistent=Lagra beräknat fält +ComputedpersistentDesc=Beräknade extra fält kommer att lagras i databasen, men värdet beräknas bara om objektet för detta fält ändras. Om det beräknade fältet beror på andra objekt eller globala data kan detta värde vara fel !! ExtrafieldParamHelpPassword=Om du lämnar fältet tomt betyder det att detta värde kommer att sparas utan kryptering (fältet måste bara döljas med stjärnan på skärmen).
    Ange 'auto' för att använda standardkrypteringsregeln för att spara lösenord i databasen (då är läsningsvärde endast ett hash, inget sätt att hämta originalvärdet) ExtrafieldParamHelpselect=Förteckning över värden måste vara linjer med formatnyckel, värde (där nyckel inte kan vara '0')

    till exempel:
    1, värde1
    2, värde2
    code3, värde3
    ...

    För att få lista beroende på en annan komplementär attributlista:
    1, värde1 | options_ parent_list_code : parent_key
    2, value2 | options_ parent_list_code : parent_key

    För att få listan beroende på en annan lista:
    1, värde1 | parent_list_code : parent_key
    2, värde2 | parent_list_code : parent_key ExtrafieldParamHelpcheckbox=Lista över värden måste vara rader med formatnyckel, värde (där nyckel inte kan vara '0')

    till exempel:
    1, värde1
    2, värde2
    3, värde3
    ... ExtrafieldParamHelpradio=Lista över värden måste vara rader med formatnyckel, värde (där nyckel inte kan vara '0')

    till exempel:
    1, värde1
    2, värde2
    3, värde3
    ... ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
    Syntax: ObjectName:Classpath -ExtrafieldParamHelpSeparator=Keep empty for a simple separator
    Set this to 1 for a collapsing separator (open by default for new session, then status is kept for each user session)
    Set this to 2 for a collapsing separator (collapsed by default for new session, then status is kept fore each user session) +ExtrafieldParamHelpchkbxlst=Värdelista kommer från en tabell
    Syntax: tabellnamn: label_field: id_field :: filtersql
    Exempel: c_typent: libelle: id :: filtersql

    filter kan bara vara ett aktivt test2 (t.ex. kan också använda $ ID $ i filterhäxan är det aktuella idet för det aktuella objektet
    Om du vill göra en SELECT i filter använder du $ SEL $
    om du vill filtrera på extrafält använder syntax extra.fieldcode = ... (där fältkoden är uppförande extrafield)

    för att få listan beroende på en annan kompletterande attributlista:
    c_typent: libelle: id: options_ parent_list_code | parent_column: filter

    för att få listan beroende på en annan lista:
    c_typent: libelle: id: parent_list_code | parent_column: filter +ExtrafieldParamHelplink=Parametrar måste vara ObjectName: Classpath
    Syntax: ObjectName: Classpath +ExtrafieldParamHelpSeparator=Håll tomt för en enkel separator
    Ställ in detta på 1 för en kollapsande separator (öppna som standard för en ny session, sedan behålls status för varje användarsession)
    Ställ detta till 2 för en kollapsande separator (kollapsad som standard för ny session, sedan status hålls före varje användarsession) LibraryToBuildPDF=Bibliotek som används för PDF-generering LocalTaxDesc=Vissa länder kan ansöka om två eller tre skatter på varje faktura. Om så är fallet, välj typ för andra och tredje skatt och dess skattesats. Möjlig typ är:
    1: Lokal skatt gäller för produkter och tjänster utan moms (localtax beräknas på belopp utan skatt)
    2: Lokal skatt gäller för produkter och tjänster inklusive moms (lokal skatt beräknas på belopp + huvudskatt)
    3: lokal skatt tillämpas på varor utan moms (lokal skatt beräknas på belopp utan skatt)
    4: Lokal skatt gäller för produkter inklusive moms (lokal skatt beräknas på belopp + huvudskatt)
    5: Lokal skatt gäller för tjänster utan moms (lokal skatt beräknas på belopp utan skatt)
    6: Lokal skatt gäller för tjänster inklusive moms (lokal skatt beräknas på belopp + skatt) SMS=SMS @@ -460,13 +465,13 @@ LinkToTestClickToDial=Skriv in ett telefonnummer att ringa upp för att visa en RefreshPhoneLink=Uppdatera länk LinkToTest=Väljbar länk genererad för användare %s (klicka på tfn-nummer för att prova) KeepEmptyToUseDefault=Lämna tom för standardvärde -KeepThisEmptyInMostCases=In most cases, you can keep this field empy. +KeepThisEmptyInMostCases=I de flesta fall kan du behålla detta fält. DefaultLink=Standardlänk SetAsDefault=Ange som standard ValueOverwrittenByUserSetup=Varning, kan detta värde skrivas över av användarspecifik installation (varje användare kan ställa in sin egen clicktodial url) -ExternalModule=External module -InstalledInto=Installed into directory %s -BarcodeInitForThirdparties=Mass barcode init for third-parties +ExternalModule=Extern modul +InstalledInto=Installerad i katalogen %s +BarcodeInitForThirdparties=Mass streckkod init för tredje part BarcodeInitForProductsOrServices=Mass streckkod init eller återställning efter produkter eller tjänster CurrentlyNWithoutBarCode=För närvarande har du %s rader på %s %s utan steckkod angett. InitEmptyBarCode=Init värde för nästa% s tomma poster @@ -484,18 +489,18 @@ EnableAndSetupModuleCron=Om du vill generera denna återkommande faktura automat ModuleCompanyCodeCustomerAquarium=%s följt av kundkod för kundkodskod ModuleCompanyCodeSupplierAquarium=%s följt av leverantörskod för en leverantörs bokföringskod ModuleCompanyCodePanicum=Återvänd en tom bokföringskod. -ModuleCompanyCodeDigitaria=Returns a compound accounting code according to the name of the third party. The code consists of a prefix that can be defined in the first position followed by the number of characters defined in the third party code. -ModuleCompanyCodeCustomerDigitaria=%s followed by the truncated customer name by the number of characters: %s for the customer accounting code. -ModuleCompanyCodeSupplierDigitaria=%s followed by the truncated supplier name by the number of characters: %s for the supplier accounting code. +ModuleCompanyCodeDigitaria=Returnerar en sammansatt redovisningskod enligt namnet på tredje part. Koden består av ett prefix som kan definieras i den första positionen följt av antalet tecken som definierats i tredjepartskoden. +ModuleCompanyCodeCustomerDigitaria=%s följt av det trunkerade kundnamnet med antalet tecken: %s för kundredovisningskoden. +ModuleCompanyCodeSupplierDigitaria=%s följt av det trunkerade leverantörsnamnet med antalet tecken: %s för leverantörens bokföringskod. Use3StepsApproval=Som standard måste inköpsorder skapas och godkännas av 2 olika användare (ett steg / användare att skapa och ett steg / användare att godkänna. Observera att om användaren har båda tillstånd att skapa och godkänna, är ett steg / användaren tillräckligt) . Du kan fråga med det här alternativet att införa ett tredje steg / användargodkännande, om beloppet är högre än ett dedikerat värde (så 3 steg kommer att behövas: 1 = godkännande, 2 = första godkännande och 3 = andra godkännande om beloppet är tillräckligt).
    Ställ in det här för att tömma om ett godkännande (2 steg) räcker, ställ det till ett mycket lågt värde (0.1) om ett andra godkännande (3 steg) alltid krävs. UseDoubleApproval=Använd ett 3 steg godkännande när beloppet (utan skatt) är högre än ... -WarningPHPMail=WARNING: The setup to send emails from the application is using the default generic setup. It is often better to setup outgoing emails to use the email server of your Email Service Provider instead of the default setup for several reasons: -WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM -WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). -WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. -WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. +WarningPHPMail=VARNING: Inställningen för att skicka e-postmeddelanden från applikationen använder den allmänna standardinställningen. Det är ofta bättre att ställa in utgående e-post för att använda e-postleverantörens e-postserver istället för standardinställningen av flera skäl: +WarningPHPMailA=- Användning av e-postleverantörens server ökar tillförlitligheten för din e-post, så det ökar leveranssäkerheten utan att flaggas som SPAM +WarningPHPMailB=- Vissa e-postleverantörer (som Yahoo) tillåter inte att du skickar ett e-postmeddelande från en annan server än sin egen server. Din nuvarande inställning använder programmets server för att skicka e-post och inte din e-postleverantörs server, så vissa mottagare (den som är kompatibel med det begränsande DMARC-protokollet) frågar din e-postleverantör om de kan acceptera din e-post och vissa e-postleverantörer (som Yahoo) kan svara "nej" eftersom servern inte tillhör dem, så få av dina skickade e-postmeddelanden kanske inte accepteras för leverans (var också försiktig med din e-postleverantörs sändningskvot). +WarningPHPMailC=- Att använda din egen e-postleverantörs SMTP-server för att skicka e-post är också intressant, så alla e-postmeddelanden som skickas från applikationen kommer också att sparas i din "Skickade" katalog i din brevlåda. +WarningPHPMailD=Om metoden "PHP Mail" verkligen är den metod du vill använda kan du ta bort den här varningen genom att lägga till konstanten MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP till 1 i Hem - Installation - Övrigt. WarningPHPMail2=Om din e-post SMTP-leverantör behöver begränsa e-postklienten till vissa IP-adresser (mycket sällsynt), är detta e-postadressen för e-postanvändaragenten (MUA) för din ERP CRM-ansökan: %s . -WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. +WarningPHPMailSPF=Om domännamnet i avsändarens e-postadress är skyddad av en SPF-post (fråga domänregistret) måste du lägga till följande IP-adresser i SPF-posten för DNS för din domän: %s . ClickToShowDescription=Klicka för att visa beskrivning DependsOn=Denna modul behöver modulen / modulerna RequiredBy=Denna modul krävs enligt modul (er) @@ -503,7 +508,7 @@ TheKeyIsTheNameOfHtmlField=Detta är namnet på HTML-fältet. Teknisk kunskap kr PageUrlForDefaultValues=Du måste ange den relativa sökvägen för sidadressen. Om du anger parametrar i URL, kommer standardvärdena att vara effektiva om alla parametrar är inställda på samma värde. PageUrlForDefaultValuesCreate= 
    Exempel:
    För formuläret för att skapa en ny tredje part är det %s .
    För URL för externa moduler installerade i anpassad katalog, inkludera inte "custom /", så använd sökvägen som mymodule / mypage.php och inte anpassad / mymodule / mypage.php.
    Om du bara vill ha standardvärde om url har någon parameter kan du använda %s PageUrlForDefaultValuesList= 
    Exempel:
    För sidan som listar tredje part är den %s .
    För URL för externa moduler installerade i anpassad katalog, inkludera inte "custom /" så använd en sökväg som mymodule / mypagelist.php och inte anpassad / mymodule / mypagelist.php.
    Om du bara vill ha standardvärde om url har någon parameter kan du använda %s -AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) +AlsoDefaultValuesAreEffectiveForActionCreate=Observera också att överskrivning av standardvärden för formulärskapande endast fungerar för sidor som var korrekt utformade (så med parameteråtgärd = skapa eller presend ...) EnableDefaultValues=Aktivera anpassning av standardvärden EnableOverwriteTranslation=Aktivera användning av överskriven översättning GoIntoTranslationMenuToChangeThis=En översättning har hittats för nyckeln med den här koden. För att ändra detta värde måste du redigera det från Home-Setup-translation. @@ -543,11 +548,11 @@ Module25Desc=Försäljningsorderhantering Module30Name=Fakturor Module30Desc=Förvaltning av fakturor och kreditanteckningar för kunder. Förvaltning av fakturor och kreditanteckningar för leverantörer Module40Name=Säljare -Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) +Module40Desc=Leverantörer och inköpshantering (inköpsorder och fakturering av leverantörsfakturor) Module42Name=Felsökningsloggar Module42Desc=Loggningsfunktioner (fil, syslog, ...). Sådana loggar är för tekniska / debug-ändamål. -Module43Name=Debug Bar -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Name=Felsökningsfält +Module43Desc=Ett verktyg för att utveckla ett felsökningsfält i din webbläsare. Module49Name=Redaktion Module49Desc=Redaktör ledning Module50Name=Produkter @@ -555,21 +560,21 @@ Module50Desc=Förvaltning av produkter Module51Name=Massutskick Module51Desc=Massa papper utskick ledning Module52Name=Lager -Module52Desc=Stock management +Module52Desc=Lagerhantering Module53Name=Tjänster Module53Desc=Förvaltning av tjänster Module54Name=Avtal / Prenumerationer Module54Desc=Förvaltning av kontrakt (tjänster eller återkommande abonnemang) Module55Name=Streckkoder -Module55Desc=Barcode ledning -Module56Name=Payment by credit transfer -Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. -Module57Name=Payments by Direct Debit -Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. +Module55Desc=Streckkod eller QRkods hantering +Module56Name=Betalning med kreditöverföring +Module56Desc=Hantering av betalning av leverantörer med kreditöverföringsorder. Den inkluderar generering av SEPA-filer för europeiska länder. +Module57Name=Betalningar med autogiro +Module57Desc=Hantering av direktdebiteringsorder. Den inkluderar generering av SEPA-filer för europeiska länder. Module58Name=ClickToDial Module58Desc=Integrering av ett ClickToDial system (Asterisk, ...) -Module60Name=Stickers -Module60Desc=Management of stickers +Module60Name=Klistermärken +Module60Desc=Hantering av klistermärken Module70Name=Insatser Module70Desc=Intervention ledning Module75Name=Kostnader och resor anteckningar @@ -587,9 +592,9 @@ Module200Desc=LDAP-katalogsynkronisering Module210Name=PostNuke Module210Desc=PostNuke integration Module240Name=Data export -Module240Desc=Tool to export Dolibarr data (with assistance) +Module240Desc=Verktyg för att exportera Dolibarr-data (med hjälp) Module250Name=Data import -Module250Desc=Tool to import data into Dolibarr (with assistance) +Module250Desc=Verktyg för att importera data till Dolibarr (med hjälp) Module310Name=Medlemmar Module310Desc=Foundation i ledningen Module320Name=RSS-flöde @@ -606,7 +611,7 @@ Module510Name=Löner Module510Desc=Spela in och spåra anställda betalningar Module520Name=Lån Module520Desc=Förvaltning av lån -Module600Name=Notifications on business event +Module600Name=Meddelanden om affärshändelse Module600Desc=Skicka e-postmeddelanden som utlöses av en företagshändelse: per användare (inställning definierad på varje användare), per tredjepartskontakter (inställning definierad på var tredje part) eller genom specifika e-postmeddelanden Module600Long=Observera att den här modulen skickar e-postmeddelanden i realtid när en viss företagshändelse inträffar. Om du letar efter en funktion för att skicka e-postpåminnelser för agendahändelser, gå till inställningen av modulens Agenda. Module610Name=Produktvarianter @@ -646,16 +651,16 @@ Module2900Name=GeoIPMaxmind Module2900Desc=GeoIP Maxmind omvandlingar kapacitet Module3200Name=Oföränderliga arkiv Module3200Desc=Aktivera en oföränderlig logg över affärshändelser. Händelser arkiveras i realtid. Loggen är en skrivskyddad tabell med kedjda händelser som kan exporteras. Denna modul kan vara obligatorisk för vissa länder. -Module3400Name=Social Networks -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3400Name=Sociala nätverk +Module3400Desc=Aktivera sociala nätverksfält till tredje part och adresser (skype, twitter, facebook, ...). Module4000Name=HRM Module4000Desc=Personalhantering (förvaltningen av avdelningen, anställningskontrakt och känslor) Module5000Name=Multi-bolag Module5000Desc=Gör att du kan hantera flera företag -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module6000Name=Intermoduler Arbetsflöde +Module6000Desc=Arbetsflödeshantering mellan olika moduler (automatisk skapande av objekt och / eller automatisk statusändring) Module10000Name=webbplatser -Module10000Desc=Create websites (public) with a WYSIWYG editor. This is a webmaster or developer oriented CMS (it is better to know HTML and CSS language). Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. +Module10000Desc=Skapa webbplatser (offentliga) med en WYSIWYG-redigerare. Detta är en webbansvarig eller utvecklarorienterad CMS (det är bättre att känna till HTML- och CSS-språk). Ställ bara in din webbserver (Apache, Nginx, ...) för att peka på den dedikerade Dolibarr-katalogen för att ha den online på internet med ditt eget domännamn. Module20000Name=Lämna begäranhantering Module20000Desc=Definiera och spåra begäran om ansvarsfriskrivning Module39000Name=Produktpartier @@ -667,19 +672,19 @@ Module50000Desc=Erbjud kunderna en PayBox online betalningssida (kredit- / betal Module50100Name=POS SimplePOS Module50100Desc=Point of Sale-modulen SimplePOS (enkel POS). Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Point of Sale-modul TakePOS (POS för pekskärm, för butiker, barer eller restauranger). Module50200Name=Paypal Module50200Desc=Erbjud kunderna en PayPal-betalningssida för PayPal (PayPal-konto eller kredit- / betalkort). Detta kan användas för att dina kunder ska kunna göra ad hoc-betalningar eller betalningar relaterade till ett specifikt Dolibarr-objekt (faktura, order etc ...) Module50300Name=Rand Module50300Desc=Erbjud kunderna en Stripe online betalningssida (kredit- / betalkort). Detta kan användas för att dina kunder ska kunna göra ad hoc-betalningar eller betalningar relaterade till ett specifikt Dolibarr-objekt (faktura, order etc ...) Module50400Name=Redovisning (dubbel inmatning) -Module50400Desc=Accounting management (double entries, support General and Subsidiary Ledgers). Export the ledger in several other accounting software formats. +Module50400Desc=Redovisningshantering (dubbla poster, stöd General och dotterbolag Ledgers). Exportera huvudboken i flera andra bokföringsprogramformat. Module54000Name=PrintIPP Module54000Desc=Direktutskrift (utan att öppna dokumenten) med koppar IPP-gränssnitt (skrivaren måste vara synlig från servern och CUPS måste installeras på servern). Module55000Name=Omröstning, undersökning eller omröstning Module55000Desc=Skapa online-omröstningar, undersökningar eller röster (som Doodle, Studs, RDVz etc ...) Module59000Name=Marginaler -Module59000Desc=Module to follow margins +Module59000Desc=Modul för att följa marginaler Module60000Name=Provision Module60000Desc=Modul för att hantera uppdrag Module62000Name=Incoterms @@ -688,7 +693,7 @@ Module63000Name=Resurser Module63000Desc=Hantera resurser (skrivare, bilar, rum, ...) för att tilldela händelser Permission11=Läs fakturor Permission12=Skapa / ändra fakturor -Permission13=Invalidate customer invoices +Permission13=Ogiltiga kundfakturor Permission14=Bekräfta fakturor Permission15=Skicka fakturor via e-post Permission16=Skapa betalningar för fakturor @@ -705,7 +710,7 @@ Permission32=Skapa / modifiera produkter Permission34=Ta bort produkter Permission36=Se / hantera dold produkter Permission38=EXPORTVARA -Permission39=Ignore minimum price +Permission39=Ignorera minimipriset Permission41=Läs projekt och uppgifter (delat projekt och projekt jag är kontakt för). Kan också ange tidskrävad, för mig eller min hierarki, på tilldelade uppgifter (tidtabell) Permission42=Skapa / ändra projekt (delat projekt och projekt jag är kontakt för). Kan också skapa uppgifter och tilldela användare projekt och uppgifter Permission44=Ta bort projekt (delat projekt och projekt jag är kontakt för) @@ -714,9 +719,9 @@ Permission61=Läs insatser Permission62=Skapa / ändra inlägg Permission64=Ta bort inlägg Permission67=Export insatser -Permission68=Send interventions by email -Permission69=Validate interventions -Permission70=Invalidate interventions +Permission68=Skicka insatser via e-post +Permission69=Validera ingripanden +Permission70=Ogiltiga åtgärder Permission71=Läs medlemmar Permission72=Skapa / modifiera medlemmar Permission74=Ta bort medlemmar @@ -739,7 +744,7 @@ Permission95=Läs rapporter Permission101=Läs sendings Permission102=Skapa / ändra sendings Permission104=Bekräfta leveranser -Permission105=Send sendings by email +Permission105=Skicka sändningar via e-post Permission106=Exportsend Permission109=Ta bort sendings Permission111=Läs finansiella räkenskaper @@ -814,8 +819,8 @@ PermissionAdvanced253=Skapa / ändra interna / externa användare och behörighe Permission254=Ta bort eller inaktivera andra användare Permission255=Skapa / ändra sin egen användarinformation Permission256=Ändra sina egna lösenord -Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission262=Utöka åtkomst till alla tredje parter OCH deras objekt (inte bara tredje parter för vilka användaren är en försäljningsrepresentant).
    Inte effektivt för externa användare (alltid begränsade till sig själva för förslag, beställningar, fakturor, kontrakt etc.).
    Inte effektivt för projekt (endast regler om projektbehörigheter, synlighet och uppdragsfrågor). +Permission263=Utöka åtkomst till alla tredje parter UTAN deras objekt (inte bara tredje parter för vilka användaren är en försäljningsrepresentant).
    Inte effektivt för externa användare (alltid begränsade till sig själva för förslag, beställningar, fakturor, kontrakt etc.).
    Inte effektivt för projekt (endast regler om projektbehörigheter, synlighet och uppdragsfrågor). Permission271=Läs CA Permission272=Läs fakturor Permission273=Utfärda fakturor @@ -847,11 +852,11 @@ Permission401=Läs rabatter Permission402=Skapa / ändra rabatter Permission403=Bekräfta rabatter Permission404=Ta bort rabatter -Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Skapa / ändra lönesättning -Permission514=Radera löner -Permission517=Read payments of salaries of everybody +Permission430=Använd felsökningsfältet +Permission511=Visa löner och utbetalningar (dina och anställdas) +Permission512=Skapa/ändra löner och utbetalningar +Permission514=Ta bort löner och utbetalningar +Permission517=Visa löner och utbetalningar för alla Permission519=Export löner Permission520=Läs Lån Permission522=Skapa / ändra lån @@ -863,19 +868,19 @@ Permission532=Skapa / modifiera tjänster Permission534=Ta bort tjänster Permission536=Se / Hantera dolda tjänster Permission538=Exportera tjänster -Permission561=Read payment orders by credit transfer -Permission562=Create/modify payment order by credit transfer -Permission563=Send/Transmit payment order by credit transfer -Permission564=Record Debits/Rejections of credit transfer -Permission601=Read stickers -Permission602=Create/modify stickers -Permission609=Delete stickers -Permission650=Read Bills of Materials -Permission651=Create/Update Bills of Materials -Permission652=Delete Bills of Materials -Permission660=Read Manufacturing Order (MO) -Permission661=Create/Update Manufacturing Order (MO) -Permission662=Delete Manufacturing Order (MO) +Permission561=Läs betalningsuppdrag via kreditöverföring +Permission562=Skapa / ändra betalningsorder genom kreditöverföring +Permission563=Skicka / överför betalningsorder med kreditöverföring +Permission564=Spela in debiteringar / avslag på kreditöverföring +Permission601=Läs klistermärken +Permission602=Skapa / ändra klistermärken +Permission609=Ta bort klistermärken +Permission650=Läs Bills of Materials +Permission651=Skapa / uppdatera materialräkningar +Permission652=Ta bort materialräkningar +Permission660=Läs tillverkningsorder (MO) +Permission661=Skapa / uppdatera tillverkningsorder (MO) +Permission662=Ta bort tillverkningsorder (MO) Permission701=Läs donationer Permission702=Skapa / ändra donationer Permission703=Ta bort donationer @@ -885,24 +890,24 @@ Permission773=Radera räkningar Permission774=Läs alla utgiftsrapporter (även för användare som inte underordnade) Permission775=Godkänn räkningar Permission776=Betala räkningar -Permission777=Read expense reports of everybody -Permission778=Create/modify expense reports of everybody +Permission777=Läs alla utgiftsrapporter +Permission778=Skapa / modifiera utgiftsrapporter för alla Permission779=Export räkningar Permission1001=Läs lager Permission1002=Skapa / ändra lager Permission1003=Radera lager Permission1004=Läs lager rörelser Permission1005=Skapa / ändra lager rörelser -Permission1101=Read delivery receipts -Permission1102=Create/modify delivery receipts -Permission1104=Validate delivery receipts -Permission1109=Delete delivery receipts -Permission1121=Read supplier proposals -Permission1122=Create/modify supplier proposals -Permission1123=Validate supplier proposals -Permission1124=Send supplier proposals -Permission1125=Delete supplier proposals -Permission1126=Close supplier price requests +Permission1101=Läs leveranskvitton +Permission1102=Skapa / modifiera leveranskvitton +Permission1104=Validera leveranskvitton +Permission1109=Ta bort leveranskvitton +Permission1121=Läs leverantörsförslag +Permission1122=Skapa / modifiera leverantörsförslag +Permission1123=Validera leverantörsförslag +Permission1124=Skicka leverantörsförslag +Permission1125=Ta bort leverantörsförslag +Permission1126=Stäng förfrågningar om leverantörspris Permission1181=Läs leverantörer Permission1182=Läs köporder Permission1183=Skapa / ändra inköpsorder @@ -911,9 +916,9 @@ Permission1185=Godkänn köporder Permission1186=Beställ beställningsorder Permission1187=Bekräfta mottagande av inköpsorder Permission1188=Ta bort inköpsorder -Permission1189=Check/Uncheck a purchase order reception +Permission1189=Markera / avmarkera en inköpsordermottagning Permission1190=Godkänn (andra godkännande) inköpsorder -Permission1191=Export supplier orders and their attributes +Permission1191=Exportera leverantörsorder och deras attribut Permission1201=Få resultat av en export Permission1202=Skapa / ändra en export Permission1231=Läs leverantörsfakturor @@ -927,11 +932,11 @@ Permission1251=Kör massiv import av externa data till databasen (data last) Permission1321=Export kundfakturor, attribut och betalningar Permission1322=Öppna en betald faktura igen Permission1421=Exportera försäljningsorder och attribut -Permission1521=Read documents -Permission1522=Delete documents -Permission2401=Read actions (events or tasks) linked to his user account (if owner of event or just assigned to) -Permission2402=Create/modify actions (events or tasks) linked to his user account (if owner of event) -Permission2403=Delete actions (events or tasks) linked to his user account (if owner of event) +Permission1521=Läs dokument +Permission1522=Ta bort dokument +Permission2401=Läs åtgärder (händelser eller uppgifter) som är länkade till hans användarkonto (om ägare till händelsen eller just tilldelats till) +Permission2402=Skapa / modifiera åtgärder (händelser eller uppgifter) länkade till sitt användarkonto (om ägare till händelse) +Permission2403=Ta bort åtgärder (händelser eller uppgifter) som är länkade till hans användarkonto (om ägaren till händelsen) Permission2411=Läs åtgärder (händelser eller uppgifter) andras Permission2412=Skapa / ändra åtgärder (händelser eller uppgifter) andras Permission2413=Radera åtgärder (händelser eller uppgifter) andras @@ -942,47 +947,49 @@ Permission2503=Lämna eller ta bort dokument Permission2515=Setup dokument kataloger Permission2801=Använd FTP-klient i läsläge (bläddra och ladda endast) Permission2802=Använd FTP-klient i skrivläge (radera eller ladda upp filer) -Permission3200=Read archived events and fingerprints -Permission3301=Generate new modules -Permission4001=See employees -Permission4002=Create employees -Permission4003=Delete employees -Permission4004=Export employees -Permission10001=Read website content -Permission10002=Create/modify website content (html and javascript content) -Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers. -Permission10005=Delete website content +Permission3200=Läs arkiverade händelser och fingeravtryck +Permission3301=Skapa nya moduler +Permission4001=Se anställda +Permission4002=Skapa anställda +Permission4003=Ta bort anställda +Permission4004=Exportera anställda +Permission10001=Läs webbplatsens innehåll +Permission10002=Skapa / ändra webbplatsinnehåll (html- och javaskriptinnehåll) +Permission10003=Skapa / modifiera webbplatsinnehåll (dynamisk php-kod). Farligt, måste reserveras för begränsade utvecklare. +Permission10005=Ta bort webbplatsinnehåll Permission20001=Läs ledighetsförfrågningar (din ledighet och dina underordnade) Permission20002=Skapa / ändra dina förfrågningar (din ledighet och dina underordnade) Permission20003=Radera ledighets förfrågningar Permission20004=Läs alla lämnar förfrågningar (även om användare inte är underordnade) Permission20005=Skapa / ändra ledighetsbegäran för alla (även av användare som inte är underordnade) Permission20006=Admins ledighetsansökan (upprätta och uppdatera balanser) -Permission20007=Approve leave requests +Permission20007=Godkänn ledighetsförfrågningar Permission23001=Läs Planerad jobb Permission23002=Skapa / uppdatera Schemalagt jobb Permission23003=Radera schemalagt jobb Permission23004=Utför schemalagt jobb -Permission50101=Use Point of Sale (SimplePOS) -Permission50151=Use Point of Sale (TakePOS) +Permission50101=Använd försäljningsstället (SimplePOS) +Permission50151=Använd försäljningsställe (TakePOS) +Permission50152=Redigera försäljningslinjer +Permission50153=Redigera beställda försäljningsrader Permission50201=Läs transaktioner Permission50202=Importera transaktioner -Permission50330=Read objects of Zapier -Permission50331=Create/Update objects of Zapier -Permission50332=Delete objects of Zapier -Permission50401=Bind products and invoices with accounting accounts -Permission50411=Read operations in ledger -Permission50412=Write/Edit operations in ledger -Permission50414=Delete operations in ledger -Permission50415=Delete all operations by year and journal in ledger -Permission50418=Export operations of the ledger -Permission50420=Report and export reports (turnover, balance, journals, ledger) -Permission50430=Define fiscal periods. Validate transactions and close fiscal periods. -Permission50440=Manage chart of accounts, setup of accountancy -Permission51001=Read assets -Permission51002=Create/Update assets -Permission51003=Delete assets -Permission51005=Setup types of asset +Permission50330=Läs objekt från Zapier +Permission50331=Skapa / uppdatera objekt från Zapier +Permission50332=Ta bort objekt från Zapier +Permission50401=Binda produkter och fakturor med redovisningskonton +Permission50411=Läs operationer i storbok +Permission50412=Skriv / redigera operationer i storbok +Permission50414=Ta bort operationer i storbok +Permission50415=Ta bort alla operationer efter år och journal i huvudbok +Permission50418=Exportbokföringen +Permission50420=Rapporter och exportrapporter (omsättning, balans, tidskrifter, huvudbok) +Permission50430=Definiera budgetperioder. Validera transaktioner och stäng räkenskapsperioder. +Permission50440=Hantera kontoplan, konfiguration av bokföring +Permission51001=Läs tillgångar +Permission51002=Skapa / uppdatera tillgångar +Permission51003=Ta bort tillgångar +Permission51005=Konfiguration av tillgångstillgångar Permission54001=Print Permission55001=Läs omröstningar Permission55002=Skapa / ändra omröstningar @@ -993,26 +1000,26 @@ Permission63001=Läs resurser Permission63002=Skapa / modifiera resurser Permission63003=Ta bort resurser Permission63004=Länka resurser till agendahändelser -Permission64001=Allow direct printing -Permission67000=Allow printing of receipts -Permission68001=Read intracomm report -Permission68002=Create/modify intracomm report -Permission68004=Delete intracomm report -Permission941601=Read receipts -Permission941602=Create and modify receipts -Permission941603=Validate receipts -Permission941604=Send receipts by email -Permission941605=Export receipts -Permission941606=Delete receipts +Permission64001=Tillåt direktutskrift +Permission67000=Tillåt utskrift av kvitton +Permission68001=Läs intracomm-rapporten +Permission68002=Skapa / ändra intracomm-rapport +Permission68004=Ta bort intracomm-rapporten +Permission941601=Läsa kvitton +Permission941602=Skapa och ändra kvitton +Permission941603=Validera kvitton +Permission941604=Skicka kvitton via e-post +Permission941605=Exportera kvitton +Permission941606=Ta bort kvitton DictionaryCompanyType=Tredjepartstyper DictionaryCompanyJuridicalType=Tredjeparts juridiska personer -DictionaryProspectLevel=Prospect potential level for companies -DictionaryProspectContactLevel=Prospect potential level for contacts +DictionaryProspectLevel=Prospekt potentialnivå för företag +DictionaryProspectContactLevel=Prospekt potentialnivå för kontakter DictionaryCanton=Stater / Provinser DictionaryRegion=Regioner DictionaryCountry=Länder DictionaryCurrency=Valutor -DictionaryCivility=Honorific titles +DictionaryCivility=Honorific titlar DictionaryActions=Typer av agendahändelser DictionarySocialContributions=Typer av sociala eller skattemässiga skatter DictionaryVAT=Moms Priser och Sales Tax Rates @@ -1036,15 +1043,16 @@ DictionaryAccountancyJournal=Bokföringsloggbok DictionaryEMailTemplates=E-postmallar DictionaryUnits=Enheter DictionaryMeasuringUnits=Mätningsenheter -DictionarySocialNetworks=Social Networks -DictionaryProspectStatus=Prospect status for companies -DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Typer av ledighet +DictionarySocialNetworks=Sociala nätverk +DictionaryProspectStatus=Prospektstatus för företag +DictionaryProspectContactStatus=Prospektstatus för kontakter +DictionaryHolidayTypes=Ledighet - Typer av ledighet DictionaryOpportunityStatus=Ledningsstatus för projekt / ledning DictionaryExpenseTaxCat=Kostnadsrapport - Transportkategorier DictionaryExpenseTaxRange=Kostnadsrapport - Räckvidd per transportkategori -DictionaryTransportMode=Intracomm report - Transport mode -TypeOfUnit=Type of unit +DictionaryTransportMode=Intracomm-rapport - Transportläge +DictionaryBatchStatus=Produktparti / seriell kvalitetskontrollstatus +TypeOfUnit=Typ av enhet SetupSaved=Inställningarna sparas SetupNotSaved=Inställningen är inte sparad BackToModuleList=Tillbaka till modullista @@ -1056,7 +1064,7 @@ VATIsNotUsedDesc=Den föreslagna försäljningsskatten är som standard 0 som ka VATIsUsedExampleFR=I Frankrike betyder det att företag eller organisationer har ett riktigt finanssystem (förenklad verklig eller normal verklig). Ett system där momsen deklareras. VATIsNotUsedExampleFR=I Frankrike betyder det föreningar som inte är Försäljningsskatt deklarerade eller företag, organisationer eller liberala yrken som har valt mikroföretagets skattesystem (Försäljningsskatt i franchise) och betalat en franchise Försäkringsskatt utan någon momsdeklaration. Detta val kommer att visa referensen "Ej tillämplig Försäljningsskatt - art-293B av CGI" på fakturor. ##### Local Taxes ##### -TypeOfSaleTaxes=Type of sales tax +TypeOfSaleTaxes=Typ av moms LTRate=Betyg LocalTax1IsNotUsed=Använd inte andra skatte LocalTax1IsUsedDesc=Använd en andra typ av skatt (annan än den första) @@ -1080,9 +1088,9 @@ LocalTax2IsUsedDescES=IRPF-räntan som standard när du skapar prospekt, fakturo LocalTax2IsNotUsedDescES=Som standard föreslås IRPF är 0. Slut på regeln. LocalTax2IsUsedExampleES=I Spanien, frilansare och oberoende yrkesutövare som tillhandahåller tjänster och företag som har valt skattesystemet i moduler. LocalTax2IsNotUsedExampleES=I Spanien är de företag som inte omfattas av skattesystem för moduler. -RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. -UseRevenueStamp=Use a tax stamp -UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) +RevenueStampDesc="Skattstämpel" eller "inkomststämpel" är en fast skatt du per faktura (Det beror inte på fakturabeloppet). Det kan också vara en procentskatt men att använda den andra eller tredje typen av skatt är bättre för procentskatt eftersom skattefrimärken inte ger någon rapportering. Endast få länder använder denna typ av skatt. +UseRevenueStamp=Använd en skattestämpel +UseRevenueStampExample=Skattstämpelns värde definieras som standard i inställningen av ordböcker (%s - %s - %s) CalcLocaltax=Rapporter om lokala skatter CalcLocaltax1=Försäljning - Inköp CalcLocaltax1Desc=Lokala skatter rapporter beräknas med skillnaden mellan localtaxes försäljning och localtaxes inköp @@ -1090,12 +1098,12 @@ CalcLocaltax2=Inköp CalcLocaltax2Desc=Lokala skatter rapporter är summan av localtaxes inköp CalcLocaltax3=Försäljning CalcLocaltax3Desc=Lokala skatter rapporter är summan av localtaxes försäljning -NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax +NoLocalTaxXForThisCountry=Enligt skatteupplägget (se %s - %s - %s) behöver ditt land inte använda en sådan typ av skatt LabelUsedByDefault=Etikett som används som standard om ingen översättning kan hittas för kod LabelOnDocuments=Etikett på dokument LabelOrTranslationKey=Etikett eller översättningstangent -ValueOfConstantKey=Value of a configuration constant -ConstantIsOn=Option %s is on +ValueOfConstantKey=Värdet på en konfigurationskonstant +ConstantIsOn=Alternativ %s är på NbOfDays=Antal dagar AtEndOfMonth=I slutet av månaden CurrentNext=Current / Next @@ -1140,8 +1148,8 @@ LoginPage=Login sida BackgroundImageLogin=Bakgrundsbild PermanentLeftSearchForm=Permanent sökformuläret på menyn till vänster DefaultLanguage=Standardspråk -EnableMultilangInterface=Enable multilanguage support for customer or vendor relationships -EnableShowLogo=Show the company logo in the menu +EnableMultilangInterface=Aktivera flerspråkig support för kund- eller leverantörsrelationer +EnableShowLogo=Visa företagslogotypen i menyn CompanyInfo=Företag / Organisation CompanyIds=Företag / Organisationsidentiteter CompanyName=Namn @@ -1151,16 +1159,16 @@ CompanyTown=Staden CompanyCountry=Land CompanyCurrency=Viktigaste valuta CompanyObject=Föremålet för bolagets verksamhet -IDCountry=ID country +IDCountry=ID-land Logo=Logo -LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) -LogoSquarred=Logo (squarred) -LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). +LogoDesc=Huvudlogotyp för företaget. Kommer att användas i genererade dokument (PDF, ...) +LogoSquarred=Logotyp (kvadrat) +LogoSquarredDesc=Måste vara en fyrkantig ikon (bredd = höjd). Den här logotypen kommer att användas som favoritikon eller annat behov som för den övre menyraden (om den inte är inaktiverad i skärmkonfigurationen). DoNotSuggestPaymentMode=Pekar inte NoActiveBankAccountDefined=Inga aktiva bankkonto definierade OwnerOfBankAccount=Ägare till %s bankkonto BankModuleNotActive=Bankkonton modulen inte aktiverad -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') +ShowBugTrackLink=Definiera länken " %s " (tom för att inte visa den här länken, 'github' för länken till Dolibarr-projektet eller definiera direkt en webbadress 'https: // ...') Alerts=Varningar DelaysOfToleranceBeforeWarning=Fördröjning innan du visar en varningsvarsel för: DelaysOfToleranceDesc=Ställ in fördröjningen innan en varningsikon %s visas på skärmen för det sena elementet. @@ -1179,15 +1187,18 @@ Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Väntar på bankavstämning Delays_MAIN_DELAY_MEMBERS=Försenad medlemsavgift Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Kontrollera insättning inte gjort Delays_MAIN_DELAY_EXPENSEREPORTS=Utläggsrapport att godkänna -Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve +Delays_MAIN_DELAY_HOLIDAYS=Lämna begäranden att godkänna SetupDescription1=Innan du börjar använda Dolibarr måste vissa initialparametrar definieras och moduler aktiveras / konfigureras. SetupDescription2=Följande två avsnitt är obligatoriska (de två första inmatningarna i inställningsmenyn): -SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +SetupDescription3= %s -> %s

    Grundläggande parametrar som används för att anpassa standardbeteendet för din applikation (t.ex. för landsrelaterade funktioner). +SetupDescription4= %s -> %s

    Denna programvara är en serie med många moduler / applikationer. Modulerna relaterade till dina behov måste vara aktiverade och konfigurerade. Menyposter visas med aktiveringen av dessa moduler. SetupDescription5=Andra inställningsmenyposter hanterar valfria parametrar. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Revision +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=Säkerhetshändelser som granskas +NoSecurityEventsAreAduited=Inga säkerhetshändelser granskas. Du kan aktivera dem från meny %s +Audit=Säkerhetshändelser InfoDolibarr=Om Dolibarr InfoBrowser=Om Browser InfoOS=Om OS @@ -1195,7 +1206,7 @@ InfoWebServer=Om webbserver InfoDatabase=Om databasen InfoPHP=Om PHP InfoPerf=Om föreställningar -InfoSecurity=About Security +InfoSecurity=Om säkerhet BrowserName=Browser namn BrowserOS=Browser OS ListOfSecurityEvents=Förteckning över Dolibarr säkerhetshändelser @@ -1204,15 +1215,15 @@ LogEventDesc=Aktivera loggning för specifika säkerhetshändelser. Administrat AreaForAdminOnly=Inställningsparametrar kan ställas in av endast administratörs användare . SystemInfoDesc=System information diverse teknisk information får du i skrivskyddad läge och synlig för administratörer bara. SystemAreaForAdminOnly=Det här området är endast tillgängligt för administratörsanvändare. Dolibarr användarbehörigheter kan inte ändra denna begränsning. -CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. -AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. -AccountantFileNumber=Accountant code +CompanyFundationDesc=Redigera informationen för ditt företag / din organisation. Klicka på knappen "%s" längst ner på sidan när du är klar. +AccountantDesc=Om du har en extern revisor / bokförare kan du redigera informationen här. +AccountantFileNumber=Bokföringskod DisplayDesc=Parametrar som påverkar utseende och beteende hos Dolibarr kan ändras här. AvailableModules=Tillgängliga app / moduler ToActivateModule=För att aktivera moduler, gå på Setup-menyn (Hem-> Inställningar-> Modules). SessionTimeOut=Time out för session SessionExplanation=Detta nummer garanterar att sessionen aldrig upphör att gälla före denna fördröjning, om sessionen rengöringsmedel görs av Internal PHP-rengöringsmedel (och inget annat). Intern rengöringsprogram för PHP-session garanterar inte att sessionen upphör att gälla efter denna fördröjning. Det kommer att löpa ut efter denna fördröjning och när sessionen renare körs, så varje %s / %s åtkomst, men endast under åtkomst av andra sessioner (om värdet är 0, betyder det att rensning av session endast sker av en extern bearbeta).
    Obs! På vissa servrar med en extern sessionrensningsmekanism (cron under debian, ubuntu ...) kan sessionerna förstöras efter en period som definieras av en extern inställning, oavsett vad värdet som anges här är. -SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. +SessionsPurgedByExternalSystem=Sessionerna på denna server verkar ha blivit rensade av extern händelse (cron under debian, ubuntu...), var %s sekund ( Värdet är session.gc_maxlifetime), så att ändra värdet här har ingen effekt. Du måste be serveradministratören att ändra sessionstiden TriggersAvailable=Tillgängliga triggers TriggersDesc=Utlösare är filer som ändrar beteendet hos Dolibarr-arbetsflödet en gång kopierat till katalogen htdocs / core / triggers . De inser nya åtgärder, aktiverade på Dolibarr-evenemang (ny företagsskapande, fakturabekräftande, ...). TriggerDisabledByName=Triggers i denna fil är inaktiverade av-NORUN suffixet i deras namn. @@ -1221,7 +1232,7 @@ TriggerAlwaysActive=Triggers i denna fil är alltid aktiva, oavsett är det akti TriggerActiveAsModuleActive=Triggers i denna fil är verksamma som modul %s är aktiverat. GeneratedPasswordDesc=Välj den metod som ska användas för automatiskt genererade lösenord. DictionaryDesc=Sätt in alla referensdata. Du kan lägga till dina värden till standardvärdet. -ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting only. +ConstDesc=Denna sida låter dig redigera (åsidosätta) parametrar som inte är tillgängliga på andra sidor. Dessa är oftast reserverade parametrar för utvecklare / avancerad felsökning. MiscellaneousDesc=Alla andra säkerhetsrelaterade parametrar definieras här. LimitsSetup=Gränser / Precision inställning LimitsDesc=Du kan definiera gränser, precisioner och optimeringar som används av Dolibarr här @@ -1236,7 +1247,7 @@ NoEventOrNoAuditSetup=Ingen säkerhetshändelse har loggats. Detta är normalt o NoEventFoundWithCriteria=Inga säkerhetshändelser har hittats för dessa sökkriterier. SeeLocalSendMailSetup=Se din lokala sendmail inställning BackupDesc=En komplett backup av en Dolibarr-installation kräver två steg. -BackupDesc2=Backup the contents of the "documents" directory (%s) containing all uploaded and generated files. This will also include all the dump files generated in Step 1. This operation may last several minutes. +BackupDesc2=Säkerhetskopiera innehållet i katalogen "dokument" ( %s ) som innehåller alla uppladdade och genererade filer. Detta inkluderar också alla dumpfiler som genererades i steg 1. Den här åtgärden kan ta flera minuter. BackupDesc3=Säkerhetskopiera strukturen och innehållet i din databas ( %s ) till en dumpfil. För detta kan du använda följande assistent. BackupDescX=Den arkiverade katalogen ska lagras på ett säkert ställe. BackupDescY=Den genererade dumpfilen bör förvaras på ett säkert ställe. @@ -1246,18 +1257,18 @@ RestoreDesc2=Återställ säkerhetskopieringsfilen (t.ex. zip-filen) i katalogen RestoreDesc3=Återställ databasstrukturen och data från en säkerhetskopieringsdumpfil till databasen för den nya Dolibarr-installationen eller i databasen för den aktuella installationen ( %s ). Varning, när återställningen är klar måste du använda ett inloggnings / lösenord som existerade från backuptid / installation för att ansluta igen.
    För att återställa en backup-databas till den här nuvarande installationen kan du följa den här assistenten. RestoreMySQL=MySQL import ForcedToByAModule=Denna regel tvingas %s av en aktiverad modul -ValueIsForcedBySystem=This value is forced by the system. You can't change it. +ValueIsForcedBySystem=Detta värde tvingas av systemet. Du kan inte ändra det. PreviousDumpFiles=Befintliga säkerhetskopieringsfiler -PreviousArchiveFiles=Existing archive files +PreviousArchiveFiles=Befintliga arkivfiler WeekStartOnDay=Första dagen i veckan RunningUpdateProcessMayBeRequired=Att köra uppgraderingsprocessen verkar vara nödvändigt (Programversion %s skiljer sig från databasversionen %s) YouMustRunCommandFromCommandLineAfterLoginToUser=Du måste köra det här kommandot från kommandoraden efter login till ett skal med användare %s. YourPHPDoesNotHaveSSLSupport=SSL-funktioner inte är tillgängliga i din PHP DownloadMoreSkins=Mer skinn att ladda ner -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Visa professionellt id med adresser -ShowVATIntaInAddress=Dölj momsnumret inom gemenskapen med adresser +SimpleNumRefModelDesc=Returnerar referensnumret i formatet %syymm-nnnn där yy är året, mm är månaden och nnnn är ett sekventiellt automatiskt ökande nummer utan återställning +SimpleNumRefNoDateModelDesc=Returnerar referensnumret i formatet %s-nnnn där nnnn är ett sekventiellt automatiskt inkrementeringsnummer utan återställning +ShowProfIdInAddress=Visa professionellt ID med adresser +ShowVATIntaInAddress=Dölj momsnummer inom gemenskapen TranslationUncomplete=Partiell översättning MAIN_DISABLE_METEO=Inaktivera meteorologisk syn MeteoStdMod=Standardläge @@ -1273,7 +1284,7 @@ MAIN_PROXY_HOST=Proxyserver: Namn / Adress MAIN_PROXY_PORT=Proxyserver: Port MAIN_PROXY_USER=Proxyserver: Logga in / Användare MAIN_PROXY_PASS=Proxyserver: Lösenord -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s +DefineHereComplementaryAttributes=Definiera ytterligare / anpassade attribut som måste läggas till: %s ExtraFields=Komplementära egenskaper ExtraFieldsLines=Kompletterande attribut (rader) ExtraFieldsLinesRec=Kompletterande attribut (mallar fakturor linjer) @@ -1289,7 +1300,7 @@ ExtraFieldsSupplierOrders=Kompletterande attribut (beslut) ExtraFieldsSupplierInvoices=Kompletterande attribut (fakturor) ExtraFieldsProject=Kompletterande attribut (projekt) ExtraFieldsProjectTask=Kompletterande attribut (arbetsuppgifter) -ExtraFieldsSalaries=Complementary attributes (salaries) +ExtraFieldsSalaries=Kompletterande attribut (löner) ExtraFieldHasWrongValue=Attribut% s har ett felaktigt värde. AlphaNumOnlyLowerCharsAndNoSpace=endast gemena alfanumeriska tecken utan mellanslag SendmailOptionNotComplete=Varning, på vissa Linux-system, för att skicka e-post från e-post, sendmail utförande inställning måste conatins Alternativ-ba (parameter mail.force_extra_parameters i din php.ini-fil). Om vissa mottagare inte emot e-post, försök att redigera den här PHP parameter med mail.force_extra_parameters =-BA). @@ -1308,8 +1319,8 @@ WarningAtLeastKeyOrTranslationRequired=En sökkriterium krävs åtminstone för NewTranslationStringToShow=Ny översättningssträng att visa OriginalValueWas=Den ursprungliga översättningen överskridits. Ursprungligt värde var:

    %s TransKeyWithoutOriginalValue=Du tvingade en ny översättning till översättningsnyckeln ' %s ' som inte finns i några språkfiler -TitleNumberOfActivatedModules=Activated modules -TotalNumberOfActivatedModules=Activated modules: %s / %s +TitleNumberOfActivatedModules=Aktiverade moduler +TotalNumberOfActivatedModules=Aktiverade moduler: %s / %s YouMustEnableOneModule=Minst 1 modul måste aktiveras ClassNotFoundIntoPathWarning=Klass %s hittades inte i PHP-sökvägen YesInSummer=Ja, under sommaren @@ -1318,25 +1329,28 @@ SuhosinSessionEncrypt=Session lagring krypteras av Suhosin ConditionIsCurrently=Condition är för närvarande% s YouUseBestDriver=Du använder drivrutinen %s vilket är den bästa drivrutinen som för närvarande finns tillgänglig. YouDoNotUseBestDriver=Du använder drivrutinen %s men drivrutinen %s rekommenderas. -NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +NbOfObjectIsLowerThanNoPb=Du har bara %s %s i databasen. Detta kräver ingen speciell optimering. +ComboListOptim=Optimering av kombinationslistans laddning SearchOptim=Sökoptimering -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=Du har %s %s i databasen. Du kan gå in i installationen av modulen för att möjliggöra laddning av kombinationslistan vid tangenttryckt händelse. +YouHaveXObjectUseSearchOptim=Du har %s %s i databasen. Du kan lägga till konstanten %s till 1 i Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=Detta begränsar sökningar till början av rader för att förenkla databasens användning av indexering, vilket resulterar i snabbare respons. +YouHaveXObjectAndSearchOptimOn=Du har %s %s i databasen och konstant %s är inställd på %s i Home-Setup-Other. BrowserIsOK=Du använder %s webbläsaren. Den här webbläsaren är ok för säkerhet och prestanda. BrowserIsKO=Du använder %s webbläsaren. Den här webbläsaren är känd för att vara ett dåligt val för säkerhet, prestanda och tillförlitlighet. Vi rekommenderar att du använder Firefox, Chrome, Opera eller Safari. -PHPModuleLoaded=PHP component %s is loaded -PreloadOPCode=Preloaded OPCode is used +PHPModuleLoaded=PHP-komponenten %s är laddad +PreloadOPCode=Förinstallerad OPCode används AddRefInList=Visa kund / leverantör ref. info lista (välj lista eller combobox) och de flesta av hyperlänken.
    Tredje part kommer att visas med ett namnformat av "CC12345 - SC45678 - The Big Company corp." istället för "The Big Company Corp". AddAdressInList=Visa adresslista för kund / leverantörs adress (välj lista eller combobox)
    Tredje parten kommer att visas med ett namnformat för "The Big Company Corp." - 21 Jump Street 123456 Big Town - USA "istället för" The Big Company Corp ". -AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
    Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". +AddEmailPhoneTownInContactList=Visa kontakt-e-post (eller telefoner om det inte är definierat) och stadsinfo-lista (välj lista eller kombinationsruta)
    Kontakter visas med namnformatet "Dupond Durand - dupond.durand@email.com - Paris" eller "Dupond Durand - 06 07 59 65 66 - Paris "istället för" Dupond Durand ". AskForPreferredShippingMethod=Be om föredragen leveransmetod för tredje parter. FieldEdition=Edition av fält %s FillThisOnlyIfRequired=Exempel: +2 (fyll endast om tidszon offset problem är erfarna) GetBarCode=Få streckkod -NumberingModules=Numbering models -DocumentModules=Document models +NumberingModules=Numreringsmodeller +DocumentModules=Dokumentmodeller ##### Module password generation -PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: %s characters containing shared numbers and characters in lowercase. +PasswordGenerationStandard=Returnera ett lösenord som genererats enligt intern Dolibarr-algoritm: %s tecken som innehåller delade nummer och tecken i gemener. PasswordGenerationNone=Föreslå inte ett genererat lösenord. Lösenordet måste skrivas in manuellt. PasswordGenerationPerso=Returnera ett lösenord enligt din personligt definierade konfiguration. SetupPerso=Enligt din konfiguration @@ -1346,9 +1360,9 @@ RuleForGeneratedPasswords=Regler för att generera och bekräfta lösenord DisableForgetPasswordLinkOnLogonPage=Visa inte länken "Glömt lösenord" på sidan Inloggning UsersSetup=Användare modul inställning UserMailRequired=E-post krävs för att skapa en ny användare -UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) -UsersDocModules=Document templates for documents generated from user record -GroupsDocModules=Document templates for documents generated from a group record +UserHideInactive=Dölj inaktiva användare från alla kombinationslistor över användare (rekommenderas inte: detta kan innebära att du inte kan filtrera eller söka efter gamla användare på vissa sidor) +UsersDocModules=Dokumentmallar för dokument som genereras från användarposten +GroupsDocModules=Dokumentmallar för dokument som genereras från en grupppost ##### HRM setup ##### HRMSetup=Inställning av HRM-modulen ##### Company setup ##### @@ -1380,7 +1394,7 @@ BillsPDFModules=Faktura dokument modeller BillsPDFModulesAccordindToInvoiceType=Faktura dokumentmodeller enligt fakturatyp PaymentsPDFModules=Betalningsdokumentmodeller ForceInvoiceDate=Force fakturadatum till giltighetsdatum -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice +SuggestedPaymentModesIfNotDefinedInInvoice=Föreslaget betalningsläge på faktura som standard om det inte definieras på fakturan SuggestPaymentByRIBOnAccount=Föreslå betalning genom uttag på konto SuggestPaymentByChequeToAddress=Föreslå betalning med check till FreeLegalTextOnInvoices=Fri text på fakturor @@ -1392,7 +1406,7 @@ SupplierPaymentSetup=Inställningar för leverantörsbetalningar PropalSetup=Kommersiella förslag modul inställning ProposalsNumberingModules=Kommersiella förslag numrering moduler ProposalsPDFModules=Kommersiella förslag dokument modeller -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal +SuggestedPaymentModesIfNotDefinedInProposal=Föreslaget betalningsläge på förslag som standard om det inte definieras i förslaget FreeLegalTextOnProposal=Fri text på affärsförslag WatermarkOnDraftProposal=Vattenstämpel på utkast till affärsförslag (ingen om tom) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Be om bankkonto destination förslag @@ -1407,7 +1421,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Be om lagerkälla för order ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Be om kontokortdestination för inköpsorder ##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order +SuggestedPaymentModesIfNotDefinedInOrder=Föreslaget betalningsläge på försäljningsorder som standard om det inte definieras i ordern OrdersSetup=Försäljningsorderhanteringsinställningar OrdersNumberingModules=Beställningar numrering moduler OrdersModelModule=Beställ dokument modeller @@ -1433,9 +1447,10 @@ MemberMainOptions=Huvudalternativ AdherentLoginRequired= Hantera en inloggning för varje medlem AdherentMailRequired=E-post krävs för att skapa en ny medlem MemberSendInformationByMailByDefault=Kryssruta för att skicka e-post bekräftelse till medlemmar (bekräftande eller nya abonnemang) är aktiverat som standard +MemberCreateAnExternalUserForSubscriptionValidated=Skapa en extern användarinloggning för varje validerad ny medlemsprenumeration VisitorCanChooseItsPaymentMode=Besökare kan välja mellan tillgängliga betalningssätt MEMBER_REMINDER_EMAIL=Aktivera automatisk påminnelse via e-post av utgått prenumerationer. Obs! Modul %s måste vara aktiverad och korrekt inställd för att skicka påminnelser. -MembersDocModules=Document templates for documents generated from member record +MembersDocModules=Dokumentmallar för dokument som genereras från medlemsposten ##### LDAP setup ##### LDAPSetup=LDAP-inställningar LDAPGlobalParameters=Globala parametrar @@ -1517,7 +1532,7 @@ LDAPFieldLoginUnix=Logga in (unix) LDAPFieldLoginExample=Exempel: uid LDAPFilterConnection=Sökfilter LDAPFilterConnectionExample=Exempel: & (objectClass = inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=Exempel: & (objectClass = groupOfUsers) LDAPFieldLoginSamba=Logga in (samba, ActiveDirectory) LDAPFieldLoginSambaExample=Exempel: Samaccountname LDAPFieldFullname=Förnamn Namn @@ -1561,13 +1576,13 @@ LDAPFieldSidExample=Exempel: objektsidan LDAPFieldEndLastSubscription=Datum för teckning slut LDAPFieldTitle=Befattning LDAPFieldTitleExample=Exempel: titel -LDAPFieldGroupid=Group id -LDAPFieldGroupidExample=Exemple : gidnumber -LDAPFieldUserid=User id -LDAPFieldUseridExample=Exemple : uidnumber -LDAPFieldHomedirectory=Home directory -LDAPFieldHomedirectoryExample=Exemple : homedirectory -LDAPFieldHomedirectoryprefix=Home directory prefix +LDAPFieldGroupid=Grupp-id +LDAPFieldGroupidExample=Exempel: gidnummer +LDAPFieldUserid=Användar ID +LDAPFieldUseridExample=Exempel: uidnummer +LDAPFieldHomedirectory=Hemkatalog +LDAPFieldHomedirectoryExample=Exempel: hemkatalog +LDAPFieldHomedirectoryprefix=Hemkatalogprefix LDAPSetupNotComplete=LDAP inställning komplett inte (gå på andra flikar) LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Ingen administratör eller lösenord anges. LDAP tillgång kommer att bli anonym och i skrivskyddat läge. LDAPDescContact=På denna sida kan du ange LDAP-attribut namn i LDAP träd för varje data finns på Dolibarr kontakter. @@ -1579,9 +1594,9 @@ LDAPDescValues=Exempel på värden är avsedda för OpenLDAP med följand ForANonAnonymousAccess=För en bestyrkt tillbehör (för en skrivåtkomst till exempel) PerfDolibarr=Prestanda inställningar / optimering rapport YouMayFindPerfAdviceHere=Denna sida ger några kontroller eller råd relaterade till prestanda. -NotInstalled=Not installed. -NotSlowedDownByThis=Not slowed down by this. -NotRiskOfLeakWithThis=Not risk of leak with this. +NotInstalled=Inte installerad. +NotSlowedDownByThis=Saktar inte ner av detta. +NotRiskOfLeakWithThis=Ingen risk för läckage med detta. ApplicativeCache=Applikativ cache MemcachedNotAvailable=Ingen applikativ cache hittades. Du kan förbättra prestanda genom att installera en cache-server Memcached och en modul kunna använda denna cache-server.
    Mer information här http://wiki.dolibarr.org/index.php/Module_MemCached_EN .
    Observera att en hel del webbhotell leverantör inte lämnar sådana cache-server. MemcachedModuleAvailableButNotSetup=Modul memcached för applikativ cache hittades men installationen av modulen är inte fullständig. @@ -1611,13 +1626,13 @@ ServiceSetup=Tjänster modul konfiguration ProductServiceSetup=Produkter och tjänster moduler inställning NumberOfProductShowInSelect=Maximalt antal produkter som ska visas i kombinationsvallista (0 = ingen gräns) ViewProductDescInFormAbility=Visa produktbeskrivningar i formulär (visas annars i en verktygstips) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents +DoNotAddProductDescAtAddLines=Lägg inte till produktbeskrivning (från produktkortet) på skicka tilläggsrader på formulär +OnProductSelectAddProductDesc=Hur man använder beskrivningen av produkterna när man lägger till en produkt som en rad i ett dokument +AutoFillFormFieldBeforeSubmit=Fyll automatiskt inmatningsfältet med beskrivningen av produkten +DoNotAutofillButAutoConcat=Fyll inte in inmatningsfältet med produktbeskrivning. Produktbeskrivningen sammanfogas automatiskt till den angivna beskrivningen. +DoNotUseDescriptionOfProdut=Produktbeskrivning kommer aldrig att ingå i beskrivningen av dokumentrader MergePropalProductCard=Aktivera i produkt / tjänst Bifogade fliken Filer en möjlighet att slå samman produkt PDF-dokument till förslag PDF azur om produkten / tjänsten är på förslaget -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) +ViewProductDescInThirdpartyLanguageAbility=Visa produktbeskrivningar i formulär på tredje parts språk (annars på användarens språk) UseSearchToSelectProductTooltip=Även om du har ett stort antal produkter (> 100 000) kan du öka hastigheten genom att ställa in konstant PRODUCT_DONOTSEARCH_ANYWHERE till 1 i Setup-> Other. Sökningen begränsas sedan till början av strängen. UseSearchToSelectProduct=Vänta tills du trycker på en knapp innan du laddar innehållet i produktkombinationslistan (Detta kan öka prestanda om du har ett stort antal produkter, men det är mindre bekvämt) SetDefaultBarcodeTypeProducts=Standard streckkod som ska användas för produkter @@ -1634,9 +1649,9 @@ SyslogLevel=Nivå SyslogFilename=Filnamn och sökväg YouCanUseDOL_DATA_ROOT=Du kan använda DOL_DATA_ROOT / dolibarr.log för en loggfil i Dolibarr "dokument" katalogen. Du kan ställa in en annan väg för att lagra den här filen. ErrorUnknownSyslogConstant=Konstant %s är inte en känd syslog konstant -OnlyWindowsLOG_USER=On Windows, only the LOG_USER facility will be supported +OnlyWindowsLOG_USER=På Windows stöds endast LOG_USER-anläggningen CompressSyslogs=Komprimering och säkerhetskopiering av felsökningsloggfiler (genererad av modulen Logga för felsökning) -SyslogFileNumberOfSaves=Number of backup logs to keep +SyslogFileNumberOfSaves=Antal reservloggar som ska sparas ConfigureCleaningCronjobToSetFrequencyOfSaves=Konfigurera rengöring schemalagt jobb för att ställa in log backupfrekvens ##### Donations ##### DonationsSetup=Donation modul inställning @@ -1692,24 +1707,24 @@ AdvancedEditor=Avancerad redaktör ActivateFCKeditor=Aktivera FCKeditor för: FCKeditorForCompany=WYSIWYG skapande / upplaga av Companie beskrivning och notera FCKeditorForProduct=WYSIWYG skapande / upplaga av produkter / tjänster: s beskrivning och anteckning -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. +FCKeditorForProductDetails=WYSIWIG skapande / utgåva av produktdetaljer för alla enheter (förslag, order, fakturor, etc ...). Varning: Att använda det här alternativet i det här fallet rekommenderas på allvar inte eftersom det kan skapa problem med specialtecken och sidformatering när du bygger PDF-filer. FCKeditorForMailing= WYSIWYG skapande / utgåva av försändelser FCKeditorForUserSignature=WYSIWYG skapande / upplaga av signatur FCKeditorForMail=WYSIWIG skapande / utgåva för all mail (utom Verktygs-> eMailing) -FCKeditorForTicket=WYSIWIG creation/edition for tickets +FCKeditorForTicket=WYSIWIG skapande / upplaga för biljetter ##### Stock ##### StockSetup=Inställning av lagermodul IfYouUsePointOfSaleCheckModule=Om du använder modulen Point of Sale (POS) som standard eller en extern modul, kan denna inställning ignoreras av din POS-modul. De flesta POS-moduler är utformade som standard för att skapa en faktura omedelbart och minska lageret oberoende av alternativen här. Så om du behöver eller inte har en lagerminskning när du registrerar en försäljning från din POS, kolla även din POS-moduluppsättning. ##### Menu ##### MenuDeleted=Meny utgår -Menu=Menu +Menu=Meny Menus=Menyer TreeMenuPersonalized=Personliga menyer NotTopTreeMenuPersonalized=Personliga menyer som inte är kopplade till en toppmenyinmatning NewMenu=Ny meny MenuHandler=Meny handler MenuModule=Källa modul -HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise) +HideUnauthorizedMenu=Dölj obehöriga menyer även för interna användare (bara gråtonad annars) DetailId=Id-menyn DetailMenuHandler=Meny hanterare där för att visa nya menyn DetailMenuModule=Modulnamn om menyalternativet kommer från en modul @@ -1749,28 +1764,28 @@ YourCompanyDoesNotUseVAT=Ditt företag har definierats för att inte använda mo AccountancyCode=Redovisningskod AccountancyCodeSell=Försäljning konto. kod AccountancyCodeBuy=Köpa konto. kod -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Håll kryssrutan "Skapa automatiskt betalningen" tom som standard när du skapar en ny skatt ##### Agenda ##### AgendaSetup=Åtgärder och dagordning modul inställning PasswordTogetVCalExport=Viktiga att tillåta export länk -SecurityKey = Security Key +SecurityKey = Säkerhetsnyckel PastDelayVCalExport=Inte exporterar fall äldre än AGENDA_USE_EVENT_TYPE=Använd händelsetyper (hanteras i menyn Inställningar -> Ordböcker -> Typ av kalenderhändelser) AGENDA_USE_EVENT_TYPE_DEFAULT=Ställ in det här standardvärdet för typ av händelse automatiskt i händelse skapa formulär AGENDA_DEFAULT_FILTER_TYPE=Ställ in denna typ av händelse automatiskt i sökfiltret i kalendervy AGENDA_DEFAULT_FILTER_STATUS=Ställ in denna status automatiskt för händelser i sökfilter i dagordning -AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). +AGENDA_DEFAULT_VIEW=Vilken vy vill du öppna som standard när du väljer menyn Agenda +AGENDA_REMINDER_BROWSER=Aktivera händelsepåminnelse i användarens webbläsare (När påminnelsedatum har uppnåtts visas en popup i webbläsaren. Varje användare kan inaktivera sådana aviseringar från sin webbläsarinställning). AGENDA_REMINDER_BROWSER_SOUND=Aktivera ljudanmälan -AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL=Aktivera händelsepåminnelse via e-post (påminnelsealternativ / fördröjning kan definieras för varje händelse). +AGENDA_REMINDER_EMAIL_NOTE=Obs! Frekvensen för det schemalagda jobbet %s måste vara tillräckligt för att vara säker på att påminnelsen skickas i rätt ögonblick. AGENDA_SHOW_LINKED_OBJECT=Visa länkat objekt i agendan ##### Clicktodial ##### ClickToDialSetup=Klicka för att Dial modul inställning ClickToDialUrlDesc=Url ringde när ett klick på telefon picto är gjort. I URL kan du använda taggar
    __PHONETO__ som kommer att ersättas med telefonnumret person att ringa
    __PHONEFROM__ som kommer att ersättas med telefonnummer att ringa person (er)
    __LOGIN__ som kommer att ersättas med clicktodial inloggning (definierad på användarkort)
    __PASS__ som kommer att ersättas med clicktodial lösenord (definierat på användarkort). -ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. +ClickToDialDesc=Denna modul ändrar telefonnummer när du använder en stationär dator till klickbara länkar. Ett klick ringer upp numret. Detta kan användas för att starta telefonsamtalet när du använder en mjuk telefon på skrivbordet eller när du t.ex. använder ett CTI-system baserat på SIP-protokoll. Obs! När du använder en smartphone är telefonnummer alltid klickbara. ClickToDialUseTelLink=Använd bara en länk "tel:" på telefonnummer -ClickToDialUseTelLinkDesc=Använd den här metoden om användarna har en mjukvara eller ett programgränssnitt installerat på samma dator som webbläsaren och ringde när du klickar på en länk i din webbläsare som börjar med "tel:". Om du behöver en fullständig serverlösning (inget behov av lokal programinstallation) måste du ange detta till "Nej" och fylla i nästa fält. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Försäljningsstället CashDeskSetup=Inställning av försäljningsmodul @@ -1778,15 +1793,15 @@ CashDeskThirdPartyForSell=Standard generisk tredje part att använda för förs CashDeskBankAccountForSell=Konto som ska användas för att ta emot kontant betalning CashDeskBankAccountForCheque=Standardkonto som ska användas för att få betalningar med check CashDeskBankAccountForCB=Konto som ska användas för att ta emot kontant betalning med kreditkort -CashDeskBankAccountForSumup=Default bank account to use to receive payments by SumUp +CashDeskBankAccountForSumup=Standardbankkonto som används för att ta emot betalningar med SumUp CashDeskDoNotDecreaseStock=Inaktivera lagerminskning när en försäljning görs från försäljningsstället (om "nej", lagerminskning görs för varje försäljning som görs från POS, oberoende av alternativet i modulen Lager). CashDeskIdWareHouse=Tvinga och begränsa lager att använda för lagerpostminskning StockDecreaseForPointOfSaleDisabled=Lagerminskning från försäljningsstället inaktiverat StockDecreaseForPointOfSaleDisabledbyBatch=Lagerminskning i POS är inte kompatibel med modul Serial / Lot-hantering (för närvarande aktiv) så lagerminskning är inaktiverad. CashDeskYouDidNotDisableStockDecease=Du inaktiverade inte lagerminskning när du gör en försäljning från försäljningsstället. Därför krävs ett lager. -CashDeskForceDecreaseStockLabel=Stock decrease for batch products was forced. -CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dates. -CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) +CashDeskForceDecreaseStockLabel=Lagerminskning för batchprodukter tvingades. +CashDeskForceDecreaseStockDesc=Minska först med de äldsta datumen för att äta och sälja. +CashDeskReaderKeyCodeForEnter=Nyckelkod för "Enter" definierad i streckkodsläsare (Exempel: 13) ##### Bookmark ##### BookmarkSetup=Bokmärk modul inställning BookmarkDesc=Den här modulen låter dig hantera bokmärken. Du kan också lägga till genvägar till alla Dolibarr-sidor eller externa webbplatser på din vänstra meny. @@ -1817,14 +1832,14 @@ ChequeReceiptsNumberingModule=Kontrollera mottagningsnummereringsmodul MultiCompanySetup=Multi-bolag modul inställning ##### Suppliers ##### SuppliersSetup=Inställning av leverantörsmodul -SuppliersCommandModel=Complete template of Purchase Order -SuppliersCommandModelMuscadet=Complete template of Purchase Order (old implementation of cornas template) -SuppliersInvoiceModel=Complete template of Vendor Invoice +SuppliersCommandModel=Komplett mall för inköpsorder +SuppliersCommandModelMuscadet=Komplett mall för inköpsorder (gammal implementering av cornas-mall) +SuppliersInvoiceModel=Komplett mall för leverantörsfaktura SuppliersInvoiceNumberingModel=Leverantörsfakturor nummereringsmodeller -IfSetToYesDontForgetPermission=If set to a non null value, don't forget to provide permissions to groups or users allowed for the second approval +IfSetToYesDontForgetPermission=Om det är inställt på ett värde som inte är null, glöm inte att ge behörigheter till grupper eller användare som är godkända för det andra godkännandet ##### GeoIPMaxmind ##### GeoIPMaxmindSetup=GeoIP Maxmind modul inställning -PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
    Examples:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb +PathToGeoIPMaxmindCountryDataFile=Sökväg till fil som innehåller Maxmind ip till landsöversättning.
    Exempel:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usrIPshare / Gare / G NoteOnPathLocation=Observera att ditt ip till land datafil måste vara inne i en katalog din PHP kan läsa (Kolla din PHP open_basedir inställningar och behörigheter filsystem). YouCanDownloadFreeDatFileTo=Du kan ladda ner en gratis demoversion av Maxmind GeoIP landet filen på %s. YouCanDownloadAdvancedDatFileTo=Du kan också ladda ner en mer komplett version, med uppdateringar av de Maxmind GeoIP landet filen på %s. @@ -1864,14 +1879,14 @@ ExpenseReportsRulesSetup=Inställning av modul Utläggsrapportsregler ExpenseReportNumberingModules=Modul för utläggsrapporteringsnummer NoModueToManageStockIncrease=Ingen modul kunna hantera automatiska lagerökningen har aktiverats. Stock ökning kommer att ske på bara manuell inmatning. YouMayFindNotificationsFeaturesIntoModuleNotification=Du kan hitta alternativ för e-postmeddelanden genom att aktivera och konfigurera modulen "Meddelande". -ListOfNotificationsPerUser=List of automatic notifications per user* -ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact** -ListOfFixedNotifications=List of automatic fixed notifications +ListOfNotificationsPerUser=Lista över automatiska aviseringar per användare * +ListOfNotificationsPerUserOrContact=Lista över möjliga automatiska aviseringar (på affärshändelse) tillgängliga per användare * eller per kontakt ** +ListOfFixedNotifications=Lista över automatiska fasta aviseringar GoOntoUserCardToAddMore=Gå till fliken "Notifieringar" för en användare för att lägga till eller ta bort meddelanden för användare -GoOntoContactCardToAddMore=Go to the tab "Notifications" of a third party to add or remove notifications for contacts/addresses +GoOntoContactCardToAddMore=Gå till fliken "Meddelanden" från en tredje part för att lägga till eller ta bort meddelanden för kontakter / adresser Threshold=Tröskelvärde -BackupDumpWizard=Wizard to build the database dump file -BackupZipWizard=Wizard to build the archive of documents directory +BackupDumpWizard=Guiden för att skapa databasdumpfilen +BackupZipWizard=Guiden för att bygga arkivet med dokumentkatalogen SomethingMakeInstallFromWebNotPossible=Installation av extern modul är inte möjligt från webbgränssnittet av följande skäl: SomethingMakeInstallFromWebNotPossible2=Av den anledningen är processen att uppgradera som beskrivs här en manuell process endast en privilegierad användare kan utföra. InstallModuleFromWebHasBeenDisabledByFile=Installation av extern modul från ansökan har inaktiverats av administratören. Du måste be honom att ta bort filen% s för att tillåta denna funktion. @@ -1889,16 +1904,16 @@ TopMenuDisableImages=Dölj bilder i toppmenyn LeftMenuBackgroundColor=Bakgrundsfärg för vänstermenyn BackgroundTableTitleColor=Bakgrundsfärg för tabellens titellinje BackgroundTableTitleTextColor=Textfärg för tabellens titellinje -BackgroundTableTitleTextlinkColor=Text color for Table title link line +BackgroundTableTitleTextlinkColor=Textfärg för länkrad för tabellrubrik BackgroundTableLineOddColor=Bakgrundsfärg för udda bords linjer BackgroundTableLineEvenColor=Bakgrundsfärg för ännu bords linjer MinimumNoticePeriod=Minsta varseltid (Din ledighet begäran måste göras innan denna försening) NbAddedAutomatically=Antal dagar som läggs till räknare av användare (automatiskt) varje månad -EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. -Enter0or1=Enter 0 or 1 +EnterAnyCode=Det här fältet innehåller en referens för att identifiera raden. Ange valfritt värde, men utan specialtecken. +Enter0or1=Ange 0 eller 1 UnicodeCurrency=Ange här mellan hållare, lista med byte nummer som representerar valutasymbolen. Till exempel: för $, skriv [36] - för brazil real R $ [82,36] - för €, skriv [8364] ColorFormat=RGB-färgen är i HEX-format, t.ex.: FF0000 -PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) +PictoHelp=Ikonnamn i dolibarr-format ('image.png' om i den aktuella temakatalogen, 'image.png@nom_du_module' om i katalogen / img / av en modul) PositionIntoComboList=Position of line i kombinationslistor SellTaxRate=Försäljning skattesats RecuperableOnly=Ja för moms "Ej uppfattad men återställbar" tillägnad vissa stater i Frankrike. Håll värdet till "Nej" i alla andra fall. @@ -1913,8 +1928,8 @@ FixTZ=Timezone fix FillFixTZOnlyIfRequired=Exempel: +2 (fyll endast om problem upplevs) ExpectedChecksum=Förväntat kontrollsumma CurrentChecksum=Nuvarande kontrollsumma -ExpectedSize=Expected size -CurrentSize=Current size +ExpectedSize=Förväntad storlek +CurrentSize=Aktuell storlek ForcedConstants=Erforderliga konstanta värden MailToSendProposal=Kundförslag MailToSendOrder=Försäljningsorder @@ -1925,12 +1940,12 @@ MailToSendSupplierRequestForQuotation=Offertförfrågan MailToSendSupplierOrder=Beställning MailToSendSupplierInvoice=Leverantörsfakturor MailToSendContract=Kontrakt -MailToSendReception=Receptions +MailToSendReception=Mottagningar MailToThirdparty=Tredje part MailToMember=Medlemmar MailToUser=Användare MailToProject=Projekt -MailToTicket=Tickets +MailToTicket=Biljetter ByDefaultInList=Visa som standard i listvy YouUseLastStableVersion=Du använder den senaste stabila versionen TitleExampleForMajorRelease=Exempel på meddelande du kan använda för att meddela den här stora versionen (gärna använda den på dina webbplatser) @@ -1939,7 +1954,7 @@ ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s är tillgänglig. Vers ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s är tillgänglig. Version %s är en underhållsversion, så innehåller bara buggfixar. Vi rekommenderar alla användare att uppgradera till den här versionen. En underhållsutgivning introducerar inte nya funktioner eller ändringar i databasen. Du kan hämta det från hämtningsområdet på https://www.dolibarr.org portal (underkatalog Stabila versioner). Du kan läsa ChangeLog för fullständig lista över ändringar. MultiPriceRuleDesc=När alternativet "Flera prisnivåer per produkt / tjänst" är aktiverat kan du definiera olika priser (en per prisnivå) för varje produkt. För att spara tid kan du här ange en regel för att autokaluta ett pris för varje nivå baserat på priset på första nivån, så du måste bara ange ett pris för första nivån för varje produkt. Den här sidan är utformad för att spara tid, men är endast användbar om dina priser för varje nivå är i förhållande till första nivån. Du kan ignorera den här sidan i de flesta fall. ModelModulesProduct=Mallar för produktdokument -WarehouseModelModules=Templates for documents of warehouses +WarehouseModelModules=Mallar för dokument från lager ToGenerateCodeDefineAutomaticRuleFirst=För att kunna generera koder automatiskt måste du först definiera en chef för att automatiskt definiera streckkodsnumret. SeeSubstitutionVars=Se * anteckning för lista över möjliga substitutionsvariabler SeeChangeLog=Se ChangeLog-fil (endast på engelska) @@ -1978,15 +1993,19 @@ MAIN_PDF_MARGIN_LEFT=Vänster marginal på PDF MAIN_PDF_MARGIN_RIGHT=Höger marginal på PDF MAIN_PDF_MARGIN_TOP=Toppmarginal på PDF MAIN_PDF_MARGIN_BOTTOM=Bottenmarginal på PDF -MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_DOCUMENTS_LOGO_HEIGHT=Höjd för logotyp på PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Lägg till bild på förslagsraden +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Lägg till elektronisk inloggning PDF NothingToSetup=Det finns ingen specifik inställning som krävs för den här modulen. SetToYesIfGroupIsComputationOfOtherGroups=Ställ det här på ja om den här gruppen är en beräkning av andra grupper -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 +EnterCalculationRuleIfPreviousFieldIsYes=Ange beräkningsregel om föregående fält var satt till Ja.
    Till exempel:
    CODEGRP1 + CODEGRP2 SeveralLangugeVariatFound=Flera språkvarianter hittades -RemoveSpecialChars=Remove special characters +RemoveSpecialChars=Ta bort specialtecken COMPANY_AQUARIUM_CLEAN_REGEX=Regex-filter till rent värde (COMPANY_AQUARIUM_CLEAN_REGEX) -COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) -COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed +COMPANY_DIGITARIA_CLEAN_REGEX=Regex-filter för att rengöra värdet (COMPANY_DIGITARIA_CLEAN_REGEX) +COMPANY_DIGITARIA_UNIQUE_CODE=Duplicering är inte tillåtet GDPRContact=Dataskyddsansvarig (DPO, Data Privacy eller GDPR-kontakt) GDPRContactDesc=Om du lagrar data om europeiska företag / medborgare kan du namnge den kontaktperson som ansvarar för Allmänna databeskyddsförordningen här HelpOnTooltip=Hjälptext för att visa på verktygstips @@ -1996,8 +2015,8 @@ ChartLoaded=Kontoplan laddad SocialNetworkSetup=Uppställning av modulen Sociala nätverk EnableFeatureFor=Aktivera funktioner för %s VATIsUsedIsOff=Obs! Alternativet att använda moms eller moms har ställts till Av i menyn %s - %s, så Försäljningsskatt eller moms används alltid 0 för försäljning. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. +SwapSenderAndRecipientOnPDF=Byt avsändar- och mottagaradressposition på PDF-dokument +FeatureSupportedOnTextFieldsOnly=Varning, funktionen stöds endast i textfält och kombinationslistor. En URL-parameteråtgärd = skapa eller åtgärd = redigera måste också ställas in ELLER måste sidnamnet sluta med 'new.php' för att utlösa den här funktionen. EmailCollector=E-post samlare EmailCollectorDescription=Lägg till ett schemalagt jobb och en installationssida för att skanna regelbundet e-postrutor (med IMAP-protokoll) och spela in e-postmeddelanden som tas emot i din ansökan, på rätt plats och / eller skapa några poster automatiskt (som ledningar). NewEmailCollector=Ny e-postsamlare @@ -2005,12 +2024,12 @@ EMailHost=Värd för e-post IMAP-server MailboxSourceDirectory=Postkälla källkatalog MailboxTargetDirectory=Målkatalogen för brevlådan EmailcollectorOperations=Verksamhet att göra av samlare -EmailcollectorOperationsDesc=Operations are executed from top to bottom order -MaxEmailCollectPerCollect=Max number of emails collected per collect +EmailcollectorOperationsDesc=Operationer utförs från topp till nedre ordning +MaxEmailCollectPerCollect=Max antal e-postmeddelanden som samlats in per insamling CollectNow=Samla nu -ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ? -DateLastCollectResult=Date of latest collect try -DateLastcollectResultOk=Date of latest collect success +ConfirmCloneEmailCollector=Är du säker på att du vill klona e-postsamlaren %s? +DateLastCollectResult=Datum för senaste insamlingsförsök +DateLastcollectResultOk=Datum för senaste insamlingsframgång LastResult=Senaste resultatet EmailCollectorConfirmCollectTitle=E-post samla bekräftelse EmailCollectorConfirmCollect=Vill du springa samlingen för den här samlaren nu? @@ -2019,16 +2038,16 @@ NothingProcessed=Inget gjort XEmailsDoneYActionsDone=%s e-postadresser kvalificerade, %s e-postmeddelanden som bearbetats framgångsrikt (för %s-post / åtgärder gjorda) RecordEvent=Spela in e-post händelse CreateLeadAndThirdParty=Skapa ledning (och tredje part om det behövs) -CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) +CreateTicketAndThirdParty=Skapa biljett (och länka till tredje part om den laddades av en tidigare operation) CodeLastResult=Senaste resultatkoden NbOfEmailsInInbox=Antal e-postmeddelanden i källkatalogen LoadThirdPartyFromName=Ladda tredjepartsökning på %s (endast belastning) LoadThirdPartyFromNameOrCreate=Ladda tredjepartsökning på %s (skapa om ej hittad) -WithDolTrackingID=Message from a conversation initiated by a first email sent from Dolibarr -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr -WithDolTrackingIDInMsgId=Message sent from Dolibarr -WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr -CreateCandidature=Create job application +WithDolTrackingID=Meddelande från en konversation initierad av ett första e-postmeddelande skickat från Dolibarr +WithoutDolTrackingID=Meddelande från en konversation initierad av ett första e-postmeddelande som INTE skickades från Dolibarr +WithDolTrackingIDInMsgId=Meddelande skickat från Dolibarr +WithoutDolTrackingIDInMsgId=Meddelande skickades INTE från Dolibarr +CreateCandidature=Skapa jobbansökan FormatZip=Zip MainMenuCode=Menyinmatningskod (huvudmeny) ECMAutoTree=Visa automatiskt ECM-träd @@ -2039,17 +2058,17 @@ ResourceSetup=Konfiguration av resursmodulen UseSearchToSelectResource=Använd en sökformulär för att välja en resurs (snarare än en rullgardinslista). DisabledResourceLinkUser=Inaktivera funktionen för att länka en resurs till användarna DisabledResourceLinkContact=Inaktivera funktionen för att länka en resurs till kontakter -EnableResourceUsedInEventCheck=Enable feature to check if a resource is in use in an event +EnableResourceUsedInEventCheck=Aktivera funktionen för att kontrollera om en resurs används i en händelse ConfirmUnactivation=Bekräfta modulåterställning OnMobileOnly=På en liten skärm (smartphone) bara -DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be "Prospect" or "Customer", but can't be both) +DisableProspectCustomerType=Inaktivera typen "Prospect + Customer" från tredje part (så tredje part måste vara "Prospect" eller "Customer", men kan inte vara båda) MAIN_OPTIMIZEFORTEXTBROWSER=Förenkla gränssnittet för blinda personer MAIN_OPTIMIZEFORTEXTBROWSERDesc=Aktivera det här alternativet om du är blind person, eller om du använder programmet från en textbläsare som Lynx eller 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. +MAIN_OPTIMIZEFORCOLORBLIND=Ändra gränssnittets färg för färgblind person +MAIN_OPTIMIZEFORCOLORBLINDDesc=Aktivera det här alternativet om du är en färgblind person, i vissa fall ändrar gränssnittet färginställningarna för att öka kontrasten. Protanopia=Protanopia -Deuteranopes=Deuteranopes -Tritanopes=Tritanopes +Deuteranopes=Deuteranoper +Tritanopes=Tritanoper ThisValueCanOverwrittenOnUserLevel=Detta värde kan skrivas över av varje användare från användarens sida - fliken '%s' DefaultCustomerType=Standard tredjepartstyp för skapande av "Ny kund" ABankAccountMustBeDefinedOnPaymentModeSetup=Obs! Bankkontot måste definieras i modulen för varje betalningsläge (Paypal, Stripe, ...) för att den här funktionen ska fungera. @@ -2063,69 +2082,80 @@ LogsLinesNumber=Antal rader som ska visas på loggfliken UseDebugBar=Använd felsökningsfältet DEBUGBAR_LOGS_LINES_NUMBER=Antal sista logglinjer för att hålla i konsolen WarningValueHigherSlowsDramaticalyOutput=Varning, högre värden sänker dramaticaly-utgången -ModuleActivated=Module %s is activated and slows the interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) -IfYouAreOnAProductionSetThis=If you are on a production environment, you should set this property to %s. -AntivirusEnabledOnUpload=Antivirus enabled on uploaded files -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +ModuleActivated=Modul %s är aktiverad och saktar ner gränssnittet +ModuleActivatedWithTooHighLogLevel=Modul %s aktiveras med för hög loggningsnivå (försök att använda en lägre nivå för bättre prestanda och säkerhet) +ModuleSyslogActivatedButLevelNotTooVerbose=Modul %s är aktiverad och loggnivå (%s) är korrekt (inte alltför detaljerad) +IfYouAreOnAProductionSetThis=Om du är i en produktionsmiljö bör du ställa in den här egenskapen till %s. +AntivirusEnabledOnUpload=Antivirus aktiverat på uppladdade filer +SomeFilesOrDirInRootAreWritable=Vissa filer eller kataloger är inte i skrivskyddat läge EXPORTS_SHARE_MODELS=Exportmodeller delas med alla ExportSetup=Inställning av modul Export -ImportSetup=Setup of module Import +ImportSetup=Installation av modulimport InstanceUniqueID=Unikt ID för förekomsten SmallerThan=Mindre än LargerThan=Större än -IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. +IfTrackingIDFoundEventWillBeLinked=Observera att om ett spårnings-ID för ett objekt hittas i e-post, eller om e-postmeddelandet är ett svar på ett e-postområde som samlas in och länkas till ett objekt, kommer den skapade händelsen automatiskt att länkas till det kända relaterade objektet. WithGMailYouCanCreateADedicatedPassword=Med ett GMail-konto, om du aktiverade valet av 2 steg, rekommenderas att du skapar ett dedikerat andra lösenord för programmet istället för att använda ditt eget lösenordsord från https://myaccount.google.com/. -EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. -EndPointFor=End point for %s : %s -DeleteEmailCollector=Delete 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 -RESTRICT_ON_IP=Allow access to some host IP only (wildcard not allowed, use space between values). Empty means every hosts can access. +EmailCollectorTargetDir=Det kan vara ett önskat beteende att flytta e-postmeddelandet till en annan tagg / katalog när den bearbetades framgångsrikt. Ange bara namnet på katalogen här för att använda den här funktionen (Använd INTE specialtecken i namnet). Observera att du också måste använda ett inloggningskonto för läs / skriv. +EmailCollectorLoadThirdPartyHelp=Du kan använda den här åtgärden för att använda e-postinnehållet för att hitta och ladda en befintlig tredje part i din databas. Den hittade (eller skapade) tredje parten kommer att användas för följande åtgärder som behöver det.
    Om du till exempel vill skapa en tredje part med ett namn extraherat en sträng 'Namn: namn att hitta' hittat i kroppen, använd avsändarens e-post som e-post, kan du ställa in parametervältet så här:
    'e-post = HEADER: ^ Från: (. *); Namn = EXTRAKT: BODY: Namn: \\ s ([^ \\ s] *); klient = SET: 2; '
    +EndPointFor=Slutpunkt för %s: %s +DeleteEmailCollector=Ta bort e-postsamlare +ConfirmDeleteEmailCollector=Är du säker på att du vill ta bort denna e-postsamlare? +RecipientEmailsWillBeReplacedWithThisValue=Mottagarens e-postmeddelanden kommer alltid att ersättas med detta värde +AtLeastOneDefaultBankAccountMandatory=Minst 1 standardbankkonto måste definieras +RESTRICT_ON_IP=Tillåt endast åtkomst till någon värd-IP (jokertecken är inte tillåtet, använd utrymme mellan värdena). Tom betyder att alla värdar kan komma åt. IPListExample=127.0.0.1 192.168.0.2 [::1] -BaseOnSabeDavVersion=Based on the library SabreDAV version -NotAPublicIp=Not a public IP -MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -EmailTemplate=Template for email -EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard -JumpToBoxes=Jump to Setup -> Widgets -MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" -MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. -TemplateAdded=Template added -TemplateUpdated=Template updated -TemplateDeleted=Template deleted -MailToSendEventPush=Event reminder email -SwitchThisForABetterSecurity=Switching this value to %s is recommended for more security -DictionaryProductNature= Nature of product -CountryIfSpecificToOneCountry=Country (if specific to a given country) -YouMayFindSecurityAdviceHere=You may find security advisory here -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. -CombinationsSeparator=Separator character for product combinations -SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. -AskThisIDToYourBank=Contact your bank to get this ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +BaseOnSabeDavVersion=Baserat på biblioteksversionen av SabreDAV +NotAPublicIp=Inte en offentlig IP +MakeAnonymousPing=Skapa en anonym Ping '+1' till Dolibarr foundation-servern (görs en gång efter installationen) så att stiftelsen räknar antalet Dolibarr-installationer. +FeatureNotAvailableWithReceptionModule=Funktionen är inte tillgänglig när mottagning av modulen är aktiverad +EmailTemplate=Mall för e-post +EMailsWillHaveMessageID=E-postmeddelanden kommer att ha taggen "Referenser" som matchar denna syntax +PDF_SHOW_PROJECT=Visa projekt på dokument +ShowProjectLabel=Projektetikett +PDF_USE_ALSO_LANGUAGE_CODE=Om du vill att några texter i din PDF ska dupliceras på två olika språk i samma genererade PDF, måste du ställa in det här andra språket så att genererad PDF kommer att innehålla 2 olika språk på samma sida, det som du valt när du skapar PDF och det här ( endast få PDF-mallar stöder detta). Håll tomt för 1 språk per PDF. +FafaIconSocialNetworksDesc=Ange här koden för en FontAwesome-ikon. Om du inte vet vad som är FontAwesome kan du använda det allmänna värdet fa-adressbok. +RssNote=Obs! Varje RSS-feeddefinition ger en widget som du måste aktivera för att ha den tillgänglig i instrumentpanelen +JumpToBoxes=Hoppa till Setup -> Widgets +MeasuringUnitTypeDesc=Använd här ett värde som "storlek", "yta", "volym", "vikt", "tid" +MeasuringScaleDesc=Skalan är antalet platser du måste flytta decimaldelen för att matcha standardreferensenheten. För "tid" -enhetstyp är det antalet sekunder. Värden mellan 80 och 99 är reserverade värden. +TemplateAdded=Mall har lagts till +TemplateUpdated=Mall uppdaterad +TemplateDeleted=Mall borttagen +MailToSendEventPush=E-post för påminnelse om händelse +SwitchThisForABetterSecurity=Att byta detta värde till %s rekommenderas för mer säkerhet +DictionaryProductNature= Produktens art +CountryIfSpecificToOneCountry=Land (om specifikt för ett visst land) +YouMayFindSecurityAdviceHere=Du kan hitta säkerhetsrådgivning här +ModuleActivatedMayExposeInformation=Det här PHP-tillägget kan avslöja känsliga data. Om du inte behöver det, inaktivera det. +ModuleActivatedDoNotUseInProduction=En modul utformad för utvecklingen har aktiverats. Aktivera det inte i en produktionsmiljö. +CombinationsSeparator=Separatortecken för produktkombinationer +SeeLinkToOnlineDocumentation=Se länk till online-dokumentation på toppmenyn för exempel +SHOW_SUBPRODUCT_REF_IN_PDF=Om funktionen "%s" i modulen %s används, visa detaljer om delprodukter av ett kit på PDF. +AskThisIDToYourBank=Kontakta din bank för att få detta ID +AdvancedModeOnly=Tillstånd endast tillgängligt i avancerat tillståndsläge +ConfFileIsReadableOrWritableByAnyUsers=Conf-filen är läsbar eller skrivbar av alla användare. Ge endast webbserveranvändare och gruppbehörighet. +MailToSendEventOrganization=Event Organisation +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Standardhändelsestatus när du skapar en händelse från formuläret +YouShouldDisablePHPFunctions=Du bör inaktivera PHP-funktioner +IfCLINotRequiredYouShouldDisablePHPFunctions=Förutom om du behöver köra systemkommandon i anpassad kod, ska du inaktivera PHP-funktioner +PHPFunctionsRequiredForCLI=För skaländamål (som schemalagd säkerhetskopiering av jobb eller körning av ett anitivursprogram) måste du behålla PHP-funktioner +NoWritableFilesFoundIntoRootDir=Inga skrivbara filer eller kataloger för de vanliga programmen hittades i din rotkatalog (Bra) +RecommendedValueIs=Rekommenderas: %s +Recommended=Rekommenderad +NotRecommended=Rekommenderas inte +ARestrictedPath=En begränsad väg +CheckForModuleUpdate=Sök efter uppdateringar av externa moduler +CheckForModuleUpdateHelp=Denna åtgärd kommer att ansluta till redaktörer för externa moduler för att kontrollera om en ny version är tillgänglig. +ModuleUpdateAvailable=En uppdatering är tillgänglig +NoExternalModuleWithUpdate=Inga uppdateringar hittades för externa moduler +SwaggerDescriptionFile=Swagger API beskrivningsfil (för exempelvis användning med redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Du har aktiverat utfasade WS-API. Du borde använda REST API istället. +RandomlySelectedIfSeveral=Slumpmässigt vald om flera bilder är tillgängliga +DatabasePasswordObfuscated=Databasens lösenord är dolt i konfigurationsfilen +DatabasePasswordNotObfuscated=Databasens lösenord är INTE dolt i konfigurationsfilen +APIsAreNotEnabled=API-moduler är inte aktiverade +YouShouldSetThisToOff=Du borde sätta detta till 0 eller av +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/sv_SE/agenda.lang b/htdocs/langs/sv_SE/agenda.lang index d533547fea8..dc11bc16f07 100644 --- a/htdocs/langs/sv_SE/agenda.lang +++ b/htdocs/langs/sv_SE/agenda.lang @@ -4,7 +4,7 @@ Actions=Åtgärder Agenda=Agenda TMenuAgenda=Agenda Agendas=Dagordningar -LocalAgenda=Intern kalender +LocalAgenda=Standardkalender ActionsOwnedBy=Händelse som ägs av ActionsOwnedByShort=Ägare AffectedTo=Påverkas i @@ -14,13 +14,13 @@ EventsNb=Antal händelser ListOfActions=Lista över evenemang EventReports=Händelsesrapporter Location=Läge -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Händelse tilldelad till alla användare i gruppen EventOnFullDay=Händelse heldag MenuToDoActions=Alla ofullständiga handlingar MenuDoneActions=Alla avslutade åtgärder MenuToDoMyActions=Min ofullständiga handlingar MenuDoneMyActions=Min avslutas åtgärder -ListOfEvents=Förteckning över händelser (intern kalender) +ListOfEvents=Händelselista (standardkalender) ActionsAskedBy=Åtgärder som registrerats av ActionsToDoBy=Åtgärder påverkas ActionsDoneBy=Åtgärder som utförs av @@ -38,7 +38,8 @@ ActionsEvents=Händelser som Dolibarr kommer att skapa en talan i agenda automat EventRemindersByEmailNotEnabled=Händelsepåminnelser av email var inte aktiverat i %s module inställning. ##### Agenda event labels ##### NewCompanyToDolibarr=Tredje part %s skapad -COMPANY_DELETEInDolibarr=Third party %s deleted +COMPANY_MODIFYInDolibarr=Tredje part %s modifierad +COMPANY_DELETEInDolibarr=Tredje part %s borttagen ContractValidatedInDolibarr=Kontrakt %s bekräftades CONTRACT_DELETEInDolibarr=Kontrakt %s raderad PropalClosedSignedInDolibarr=Förslag %s undertecknade @@ -60,10 +61,10 @@ MemberSubscriptionModifiedInDolibarr=Prenumeration %s för medlem %s modified MemberSubscriptionDeletedInDolibarr=Prenumeration %s för medlem %s raderad ShipmentValidatedInDolibarr=Leverans %s bekräftat ShipmentClassifyClosedInDolibarr=Sändning %s märkt fakturerad -ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open +ShipmentUnClassifyCloseddInDolibarr=Leverans %s klassificerad återöppen ShipmentBackToDraftInDolibarr=Leverans %s gå tillbaka till utkast status ShipmentDeletedInDolibarr=Frakten %s raderad -ReceptionValidatedInDolibarr=Reception %s validated +ReceptionValidatedInDolibarr=Mottagning %s validerad OrderCreatedInDolibarr=Order %s skapad OrderValidatedInDolibarr=Order %s bekräftades OrderDeliveredInDolibarr=Order %s märkt levererad @@ -77,7 +78,7 @@ ContractSentByEMail=Kontrakt %s skickat av email OrderSentByEMail=Försäljning order %s skickad av email InvoiceSentByEMail=Kund invoice %s skickad av email SupplierOrderSentByEMail=Purchase order %s skickad av email -ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted +ORDER_SUPPLIER_DELETEInDolibarr=Inköpsorder %s borttagen SupplierInvoiceSentByEMail=Vendor invoice %s skickad av email ShippingSentByEMail=Leverans %s skickad av email ShippingValidated= Leverans %s bekräftat @@ -85,17 +86,18 @@ InterventionSentByEMail=Intervention %s skickad av email ProposalDeleted=Förslag raderad OrderDeleted=Order raderad InvoiceDeleted=Faktura raderad -DraftInvoiceDeleted=Draft invoice deleted -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_DELETEInDolibarr=Contact %s deleted +DraftInvoiceDeleted=Utkastsfaktura borttagen +CONTACT_CREATEInDolibarr=Kontakt %s skapat +CONTACT_MODIFYInDolibarr=Kontakt %s ändrad +CONTACT_DELETEInDolibarr=Kontakt %s borttagen PRODUCT_CREATEInDolibarr=Produkt %s skapad PRODUCT_MODIFYInDolibarr=Produkt %s modified PRODUCT_DELETEInDolibarr=Produkt %s raderad -HOLIDAY_CREATEInDolibarr=Request for leave %s created -HOLIDAY_MODIFYInDolibarr=Request for leave %s modified -HOLIDAY_APPROVEInDolibarr=Request for leave %s approved -HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated -HOLIDAY_DELETEInDolibarr=Request for leave %s deleted +HOLIDAY_CREATEInDolibarr=Begäran om ledighet %s skapad +HOLIDAY_MODIFYInDolibarr=Begäran om ledighet %s ändrad +HOLIDAY_APPROVEInDolibarr=Begäran om ledighet %s godkänd +HOLIDAY_VALIDATEInDolibarr=Begäran om ledighet %s bekräftad +HOLIDAY_DELETEInDolibarr=Begäran om ledighet %s borttagen EXPENSE_REPORT_CREATEInDolibarr=Kostnadsrapport %s skapad EXPENSE_REPORT_VALIDATEInDolibarr=Kostnadsrapport %s bekräftat EXPENSE_REPORT_APPROVEInDolibarr=Kostnadsrapport %s godkänd @@ -106,19 +108,20 @@ PROJECT_MODIFYInDolibarr=Projekt %s modified PROJECT_DELETEInDolibarr=Projekt %s raderad TICKET_CREATEInDolibarr=Biljett %s skapad TICKET_MODIFYInDolibarr=Biljett %s modified -TICKET_ASSIGNEDInDolibarr=Ticket %s assigned +TICKET_ASSIGNEDInDolibarr=Ärende %s tilldelat TICKET_CLOSEInDolibarr=Biljett %s stängt TICKET_DELETEInDolibarr=Biljett %s raderad -BOM_VALIDATEInDolibarr=BOM validated -BOM_UNVALIDATEInDolibarr=BOM unvalidated -BOM_CLOSEInDolibarr=BOM disabled -BOM_REOPENInDolibarr=BOM reopen -BOM_DELETEInDolibarr=BOM deleted -MRP_MO_VALIDATEInDolibarr=MO validated -MRP_MO_UNVALIDATEInDolibarr=MO set to draft status -MRP_MO_PRODUCEDInDolibarr=MO produced -MRP_MO_DELETEInDolibarr=MO deleted -MRP_MO_CANCELInDolibarr=MO canceled +BOM_VALIDATEInDolibarr=BOM validerad +BOM_UNVALIDATEInDolibarr=Stycklista ogiltig +BOM_CLOSEInDolibarr=BOM inaktiverad +BOM_REOPENInDolibarr=BOM öppnas igen +BOM_DELETEInDolibarr=BOM raderad +MRP_MO_VALIDATEInDolibarr=MO validerad +MRP_MO_UNVALIDATEInDolibarr=MO inställd på utkaststatus +MRP_MO_PRODUCEDInDolibarr=MO producerad +MRP_MO_DELETEInDolibarr=MO borttagen +MRP_MO_CANCELInDolibarr=MO avbröts +PAIDInDolibarr=%s betald ##### End agenda events ##### AgendaModelModule=Dokumentmallar för event DateActionStart=Startdatum @@ -129,8 +132,8 @@ AgendaUrlOptionsNotAdmin=  logina =! %s för att begränsa produktionen AgendaUrlOptions4=  logint = %s för att begränsa utdata till åtgärder som tilldelats user %s (ägare and andra). AgendaUrlOptionsProject=  project = __ PROJECT_ID__ för att begränsa utsignalen till åtgärder linked till project __PROJECT_ID__ . AgendaUrlOptionsNotAutoEvent=  notactiontype = systemauto för att utesluta automatisk events. -AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show födelsedagar av contacts +AgendaUrlOptionsIncludeHolidays=includeholidays=1 ta med helgdagar +AgendaShowBirthdayEvents=Kontakters födelsedagar AgendaHideBirthdayEvents=Dölj födelsedagar av contacts Busy=Upptagen ExportDataset_event1=Lista över dagordningen händelser @@ -152,17 +155,18 @@ ActionType=Typ av händelse DateActionBegin=Startdatum för händelse ConfirmCloneEvent=Är du säker på att du vill klona event %s ? RepeatEvent=Repetera händelsen +OnceOnly=Endast en gång EveryWeek=Varje vecka EveryMonth=Varje månad DayOfMonth=Dag i månaden DayOfWeek=Dag i veckan DateStartPlusOne=Startdatum +1 timma -SetAllEventsToTodo=Set all events to todo -SetAllEventsToInProgress=Set all events to in progress -SetAllEventsToFinished=Set all events to finished -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +SetAllEventsToTodo=Sätt alla händelser "att göra" +SetAllEventsToInProgress=Sätt alla händelser under behandling +SetAllEventsToFinished=Sätt alla händelser som utförda +ReminderTime=Påminnelseperiod innan händelse +TimeType=Varaktighetstyp +ReminderType=Återuppringningstyp +AddReminder=Skapa en automatisk påminnelsenotifiering för denna händelse +ErrorReminderActionCommCreation=Fel vid skapande av påminnelsenotifiering för denna händelse +BrowserPush=Meddelande om popup-webbläsare diff --git a/htdocs/langs/sv_SE/assets.lang b/htdocs/langs/sv_SE/assets.lang index 1d0fe632703..003cf538258 100644 --- a/htdocs/langs/sv_SE/assets.lang +++ b/htdocs/langs/sv_SE/assets.lang @@ -61,5 +61,7 @@ MenuListTypeAssets = Lista # # Module # +Asset=Tillgång NewAssetType=Ny tillgångstyp NewAsset=Ny tillgång +ConfirmDeleteAsset=Är du säker på att du vill ta bort denna tillgång? diff --git a/htdocs/langs/sv_SE/banks.lang b/htdocs/langs/sv_SE/banks.lang index d77b1f8f068..edeb3eaecc4 100644 --- a/htdocs/langs/sv_SE/banks.lang +++ b/htdocs/langs/sv_SE/banks.lang @@ -37,9 +37,9 @@ IbanValid=BAN giltig IbanNotValid=BAN är ej giltigt StandingOrders=Direkt debiteringsorder StandingOrder=Direkt debitering -PaymentByDirectDebit=Payment by direct debit -PaymentByBankTransfers=Payments by credit transfer -PaymentByBankTransfer=Payment by credit transfer +PaymentByDirectDebit=Direktbetalning +PaymentByBankTransfers=Betalningar med kreditöverföring +PaymentByBankTransfer=Betalning med kreditöverföring AccountStatement=Kontoutdrag AccountStatementShort=Uttalande AccountStatements=Kontoutdrag @@ -76,7 +76,7 @@ BankTransaction=Bankpost ListTransactions=Lista poster ListTransactionsByCategory=Lista poster / kategori TransactionsToConciliate=Inlägg för att förena -TransactionsToConciliateShort=To reconcile +TransactionsToConciliateShort=Att förlika Conciliable=Kan förenas Conciliate=Reconcile Conciliation=Avstämning @@ -98,29 +98,29 @@ AddBankRecordLong=Lägg till post manuellt Conciliated=Avstämd ConciliatedBy=Avstämd av DateConciliating=Avstämningsdatum -BankLineConciliated=Entry reconciled with bank receipt +BankLineConciliated=Posten avstämd med bankkvitto Reconciled=Avstämd NotReconciled=Inte avstämd CustomerInvoicePayment=Kundbetalning SupplierInvoicePayment=Leverantörsbetalning SubscriptionPayment=Teckning betalning -WithdrawalPayment=Debit payment order +WithdrawalPayment=Debiteringsbetalningsorder SocialContributionPayment=Sociala och skattemässiga betalningar -BankTransfer=Credit transfer -BankTransfers=Credit transfers +BankTransfer=Kreditöverföring +BankTransfers=Kreditöverföringar MenuBankInternalTransfer=Intern överföring -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Använd intern överföring för att överföra från ett konto till ett annat. Systemet kommer skapa två poster: en debit och en kredit, samma summa, benämning och datum kommer bli använt för transaktionen. TransferFrom=Från TransferTo=För att TransferFromToDone=En överföring från %s till %s av %s %s har registrerats. CheckTransmitter=Avsändare ValidateCheckReceipt=Bekräfta detta check-kvitto? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Är du säker på att du vill skicka det här kvittot för validering? Inga ändringar är möjliga när de validerats. DeleteCheckReceipt=Ta bort detta kvitto? ConfirmDeleteCheckReceipt=Är du säker på att du vill radera detta kvitto? BankChecks=Bankcheckar BankChecksToReceipt=Checkar väntar på insättning -BankChecksToReceiptShort=Checks awaiting deposit +BankChecksToReceiptShort=Kontroller som väntar på insättning ShowCheckReceipt=Visar kontrollera insättning mottagande NumberOfCheques=Antal checkar DeleteTransaction=Ta bort post @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Är du säker på att du vill radera den här posten? ThisWillAlsoDeleteBankRecord=Detta kommer även att ta bort genererad bankpost BankMovements=Rörelser PlannedTransactions=Planerade poster -Graph=Graphs +Graph=Grafer/historik ExportDataset_banque_1=Bankposter och kontoutdrag ExportDataset_banque_2=Insättningsblankett TransactionOnTheOtherAccount=Transaktionen på det andra kontot @@ -142,7 +142,7 @@ AllAccounts=Alla bank- och kontonkonton BackToAccount=Tillbaka till konto ShowAllAccounts=Visa för alla konton FutureTransaction=Framtida transaktion. Det gick inte att förena. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Välj / filtrera de checkar som ska ingå i kvittot på check. Klicka sedan på "Skapa". InputReceiptNumber=Välj kontoutdrag relaterat till förlikningen. Använd ett sorterbart numeriskt värde: YYYYMM or YYYYMMDD EventualyAddCategory=Så småningom, ange en kategori då för att märka posterna ToConciliate=Att avstämma? @@ -157,28 +157,28 @@ RejectCheck=Kontrollera tillbaka ConfirmRejectCheck=Är du säker på att du vill markera den här kontrollen som avvisad? RejectCheckDate=Datumet kontrollen returnerades CheckRejected=Kontrollera tillbaka -CheckRejectedAndInvoicesReopened=Check returned and invoices re-open +CheckRejectedAndInvoicesReopened=Kontrollera retur och fakturor öppnas igen BankAccountModelModule=Dokumentmallar för bankkonton DocumentModelSepaMandate=Mall för SEPA-mandat. Användbar endast för europeiska länder i EEG. DocumentModelBan=Mall för att skriva ut en sida med BAN-information. -NewVariousPayment=New miscellaneous payment -VariousPayment=Miscellaneous payment +NewVariousPayment=Ny "övrig" betalning +VariousPayment=Övriga betalningar VariousPayments=Diverse betalningar -ShowVariousPayment=Show miscellaneous payment -AddVariousPayment=Add miscellaneous payment -VariousPaymentId=Miscellaneous payment ID -VariousPaymentLabel=Miscellaneous payment label -ConfirmCloneVariousPayment=Confirm the clone of a miscellaneous payment +ShowVariousPayment=Visa övriga betalningar +AddVariousPayment=Lägg till övrig betalning +VariousPaymentId=Övrigt betalnings-id +VariousPaymentLabel=Övrig betalningsbenämning +ConfirmCloneVariousPayment=Bekräfta kopiering av övrig betalning SEPAMandate=SEPA-mandatet YourSEPAMandate=Ditt SEPA-mandat FindYourSEPAMandate=Detta är ditt SEPA-mandat för att bemyndiga vårt företag att göra direkt debitering till din bank. Returnera det undertecknat (skanna av det signerade dokumentet) eller skicka det via post till AutoReportLastAccountStatement=Fyll i fältet 'Antal kontoutdrag' automatiskt med det sista kontonummeret när avstämning görs -CashControl=POS cash desk control -NewCashFence=New cash desk opening or closing -BankColorizeMovement=Colorize movements -BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements -BankColorizeMovementName1=Background color for debit movement -BankColorizeMovementName2=Background color for credit movement -IfYouDontReconcileDisableProperty=If you don't make the bank reconciliations on some bank accounts, disable the property "%s" on them to remove this warning. -NoBankAccountDefined=No bank account defined -NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. +CashControl=POS kassaskåpkontroll +NewCashFence=Ny kassa öppnar eller stänger +BankColorizeMovement=Colorize rörelser +BankColorizeMovementDesc=Om den här funktionen är aktiverad kan du välja en specifik bakgrundsfärg för debiterings- eller kreditrörelser +BankColorizeMovementName1=Bakgrundsfärg för debiteringsrörelse +BankColorizeMovementName2=Bakgrundsfärg för kreditrörelse +IfYouDontReconcileDisableProperty=Om du inte gör någon bankavstämning på vissa bankkonton, inaktivera "%s" på dem för att ta bort denna varning +NoBankAccountDefined=Inget bankkonto definerat +NoRecordFoundIBankcAccount=Ingen post hittades på bankkontot. Vanligtvis inträffar detta när en post har raderats manuellt från transaktionslistan på bankkontot (till exempel under en avstämning av bankkontot). En annan anledning är att betalningen registrerades när modulen "%s" inaktiverades. diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index e6936e23379..8fcb92772a8 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -25,7 +25,7 @@ InvoiceProFormaAsk=Proforma faktura InvoiceProFormaDesc=Proforma faktura är en bild av en sann faktura men har ingen bokföring värde. InvoiceReplacement=Ersättnings faktura InvoiceReplacementAsk=Ersättnings faktura för faktura -InvoiceReplacementDesc=Replacement invoice is used to completely replace an invoice with no payment already received.

    Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceReplacementDesc= Ersättningsfaktura används för att helt ersätta en faktura utan redan mottagen betalning.

    Obs! Endast fakturor utan betalning kan ersättas. Om fakturan du byter ut ännu inte stängs stängs den automatiskt för 'övergiven'. InvoiceAvoir=Kreditnota InvoiceAvoirAsk=Kreditnota att korrigera fakturan InvoiceAvoirDesc= kreditnota är en negativ faktura som används för att korrigera det faktum att en faktura visar ett belopp som skiljer sig från det belopp som faktiskt betalats (t.ex. kunden betalade för mycket av misstag eller betalar inte hela beloppet eftersom vissa produkter returnerades) . @@ -55,22 +55,22 @@ CustomerInvoice=Kundfaktura CustomersInvoices=Kundfakturor SupplierInvoice=Leverantörsfaktura SuppliersInvoices=Leverantörsfakturor -SupplierInvoiceLines=Vendor invoice lines +SupplierInvoiceLines=Leverantörsfakturarader SupplierBill=Leverantörsfaktura SupplierBills=Leverantörsfakturor Payment=Betalning -PaymentBack=Refund -CustomerInvoicePaymentBack=Refund +PaymentBack=Återbetalning +CustomerInvoicePaymentBack=Återbetalning Payments=Betalningar -PaymentsBack=Refunds +PaymentsBack=Återbetalningar paymentInInvoiceCurrency=i faktura valuta PaidBack=Återbetald DeletePayment=Radera betalning ConfirmDeletePayment=Är du säker på att du vill radera denna betalning? -ConfirmConvertToReduc=Do you want to convert this %s into an available credit? -ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? -ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. +ConfirmConvertToReduc=Vill du konvertera den här %s till en tillgänglig kredit? +ConfirmConvertToReduc2=Beloppet sparas bland alla rabatter och kan användas som rabatt för en aktuell eller framtida faktura för denna kund. +ConfirmConvertToReducSupplier=Vill du konvertera den här %s till en tillgänglig kredit? +ConfirmConvertToReducSupplier2=Beloppet sparas bland alla rabatter och kan användas som rabatt för en aktuell eller framtida faktura för denna leverantör. SupplierPayments=Leverantörsbetalningar ReceivedPayments=Mottagna betalningar ReceivedCustomersPayments=Inbetalningar från kunder @@ -79,11 +79,11 @@ ReceivedCustomersPaymentsToValid=Mottagna kunder betalningar för att bekräfta PaymentsReportsForYear=Betalningar rapporter för %s PaymentsReports=Betalningar rapporter PaymentsAlreadyDone=Betalningar redan gjort -PaymentsBackAlreadyDone=Refunds already done +PaymentsBackAlreadyDone=Återbetalningar redan gjorda PaymentRule=Betalningsregel PaymentMode=Betalnings typ -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=Standardbetalningstyp +DefaultBankAccount=Standard bankkonto PaymentTypeDC=Debet / Kreditkort PaymentTypePP=PayPal IdPaymentMode=Betalningstyp (id) @@ -98,7 +98,7 @@ PaymentHigherThanReminderToPay=Betalning högre än påminnelse att betala HelpPaymentHigherThanReminderToPay=Observera är betalningsbeloppet för en eller flera räkningar högre än det utestående beloppet att betala.
    Ändra din post, annars bekräfta och överväga att skapa en kreditnotering för det överskott som tas emot för varje överbetald faktura. HelpPaymentHigherThanReminderToPaySupplier=Observera är betalningsbeloppet för en eller flera räkningar högre än det utestående beloppet att betala.
    Ändra din post, annars bekräfta och överväga att skapa en kreditnotering för det överskjutande beloppet för varje överbetald faktura. ClassifyPaid=Märk "betald" -ClassifyUnPaid=Classify 'Unpaid' +ClassifyUnPaid=Klassificera 'obetald' ClassifyPaidPartially=Märk "betalda delvis" ClassifyCanceled=Märk "övergivna" ClassifyClosed=Märk "avsluten" @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=Konvertera överskott betalt till ledig rabatt EnterPaymentReceivedFromCustomer=Skriv in avgifter från kunderna EnterPaymentDueToCustomer=Gör betalning till kunden DisabledBecauseRemainderToPayIsZero=Inaktiverad pga återstående obetalt är noll -PriceBase=Base price +PriceBase=Grundpris BillStatus=Faktura status StatusOfGeneratedInvoices=Status för genererade fakturor BillStatusDraft=Utkast (måste bekräftas) @@ -130,10 +130,10 @@ BillStatusConverted=Betald (redo för konsumtion i slutfaktura) BillStatusCanceled=Övergiven BillStatusValidated=Bekräftat (måste betalas) BillStatusStarted=Påbörjad -BillStatusNotPaid=Inte betalas +BillStatusNotPaid=Ej betald BillStatusNotRefunded=Icke återbetalad BillStatusClosedUnpaid=Stängd (obetald) -BillStatusClosedPaidPartially=Betald (delvis) +BillStatusClosedPaidPartially=Delvis betald BillShortStatusDraft=Utkast BillShortStatusPaid=Betald BillShortStatusPaidBackOrConverted=Återbetalas eller konverteras @@ -142,10 +142,10 @@ BillShortStatusConverted=Betald BillShortStatusCanceled=Övergiven BillShortStatusValidated=Bekräftat BillShortStatusStarted=Började -BillShortStatusNotPaid=Inte betalas +BillShortStatusNotPaid=Ej betald BillShortStatusNotRefunded=Icke återbetalad BillShortStatusClosedUnpaid=Stängt -BillShortStatusClosedPaidPartially=Betald (delvis) +BillShortStatusClosedPaidPartially=Delvis betald PaymentStatusToValidShort=Att bekräfta ErrorVATIntraNotConfigured=Inom gemenskapen momsnummer ej definierat ännu ErrorNoPaiementModeConfigured=Ingen standardbetaltyp definierad. Gå till Inställningar för fakturamodul för att åtgärda detta. @@ -154,7 +154,7 @@ ErrorBillNotFound=Faktura %s finns inte ErrorInvoiceAlreadyReplaced=Fel, du försökte bekräfta en faktura för att ersätta faktura %s. Men den här har redan ersatts av faktura %s. ErrorDiscountAlreadyUsed=Fel, rabatt som redan används ErrorInvoiceAvoirMustBeNegative=Fel, måste korrigera fakturan ett negativt belopp -ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have an amount excluding tax positive (or null) +ErrorInvoiceOfThisTypeMustBePositive=Fel, denna typ av faktura måste ha ett belopp exklusive skattepositivt (eller null) ErrorCantCancelIfReplacementInvoiceNotValidated=Fel, kan inte avbryta en faktura som har ersatts av en annan faktura som fortfarande i utkast status ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Den här delen eller en annan används redan så att rabattserier inte kan tas bort. BillFrom=Från @@ -178,7 +178,7 @@ DraftBills=Förslag fakturor CustomersDraftInvoices=Kundutkast fakturor SuppliersDraftInvoices=Leverantörsförslag fakturor Unpaid=Obetalda -ErrorNoPaymentDefined=Error No payment defined +ErrorNoPaymentDefined=Fel Ingen betalning definierad ConfirmDeleteBill=Är du säker på att du vill ta bort denna faktura? ConfirmValidateBill=Är du säker på att du vill bekräfta denna faktura med referens %s ? ConfirmUnvalidateBill=Är du säker på att du vill ändra faktura %s till utkastsstatus? @@ -212,26 +212,26 @@ NumberOfBillsByMonth=Antal fakturor per månad AmountOfBills=Belopp för fakturor AmountOfBillsHT=Mängden fakturor (utan skatt) AmountOfBillsByMonthHT=Mängd av fakturor per månad (netto efter skatt) -UseSituationInvoices=Allow situation invoice -UseSituationInvoicesCreditNote=Allow situation invoice credit note -Retainedwarranty=Retained warranty -AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices -RetainedwarrantyDefaultPercent=Retained warranty default percent -RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices -RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation -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 +UseSituationInvoices=Tillåt faktura för situationen +UseSituationInvoicesCreditNote=Tillåt fakturakreditnota +Retainedwarranty=Bibehållen garanti +AllowedInvoiceForRetainedWarranty=Bibehållen garanti användbar på följande typer av fakturor +RetainedwarrantyDefaultPercent=Bibehållen garanti standardprocent +RetainedwarrantyOnlyForSituation=Gör "kvarhållen garanti" endast tillgänglig för fakturor +RetainedwarrantyOnlyForSituationFinal=På lägesfakturor tillämpas det globala avdraget för "kvarhållen garanti" endast på den slutliga situationen +ToPayOn=Att betala på %s +toPayOn=att betala på %s +RetainedWarranty=Bibehållen garanti +PaymentConditionsShortRetainedWarranty=Behållna garantibetalsvillkor +DefaultPaymentConditionsRetainedWarranty=Standardbehållna garantibetalsvillkor +setPaymentConditionsShortRetainedWarranty=Ställ in garantibetalsvillkor +setretainedwarranty=Ställ in bibehållen garanti +setretainedwarrantyDateLimit=Ställ in begränsad garantiperiod +RetainedWarrantyDateLimit=Gräns för bibehållen garantidatum +RetainedWarrantyNeed100Percent=Situationsfakturan måste vara på 100%%-framsteg för att kunna visas på PDF AlreadyPaid=Redan betalats ut AlreadyPaidBack=Redan återbetald -AlreadyPaidNoCreditNotesNoDeposits=Redan betalad (utan kreditnoteringar och nedbetalningar) +AlreadyPaidNoCreditNotesNoDeposits=Redan betalat (utan kreditnoteringar och handpenning) Abandoned=Övergiven RemainderToPay=Återstående obetalt RemainderToTake=Återstående belopp att ta @@ -259,6 +259,7 @@ DateMaxPayment=Betalning på grund av DateInvoice=Fakturadatum DatePointOfTax=Skattpunkt NoInvoice=Ingen faktura +NoOpenInvoice=Ingen obetald faktura ClassifyBill=Märk faktura SupplierBillsToPay=Obetalda leverantörsfakturor CustomerBillsUnpaid=Obetalda kundfakturor @@ -280,9 +281,9 @@ CustomersInvoicesAndPayments=Kund fakturor och betalningar ExportDataset_invoice_1=Kundfaktura och fakturadata ExportDataset_invoice_2=Kund fakturor och betalningar ProformaBill=Proforma faktura: -Reduction=Minskning +Reduction=Rabatt ReductionShort=Skiva. -Reductions=Minskningar +Reductions=Rabatter ReductionsShort=Skiva. Discounts=Rabatter AddDiscount=Lägg rabatt @@ -292,8 +293,8 @@ AddGlobalDiscount=Lägg rabatt EditGlobalDiscounts=Redigera absoluta rabatter AddCreditNote=Skapa kreditnota ShowDiscount=Visa rabatt -ShowReduc=Show the discount -ShowSourceInvoice=Show the source invoice +ShowReduc=Visa rabatten +ShowSourceInvoice=Visa källfakturan RelativeDiscount=Relativ rabatt GlobalDiscount=Global rabatt CreditNote=Kreditnota @@ -330,8 +331,8 @@ InvoiceDateCreation=Faktura datum för skapande InvoiceStatus=Faktura status InvoiceNote=Faktura not InvoicePaid=Faktura betalas -InvoicePaidCompletely=Paid completely -InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. +InvoicePaidCompletely=Betald helt +InvoicePaidCompletelyHelp=Faktura som betalas helt. Detta exkluderar fakturor som betalas delvis. För att få en lista över alla "Stängda" eller icke "Stängda" fakturor, använd helst ett filter på fakturastatus. OrderBilled=Order fakturerad DonationPaid=Donation betald PaymentNumber=Betalning nummer @@ -376,18 +377,18 @@ DateLastGeneration=Datum för senaste generationen DateLastGenerationShort=Datum senaste gen. MaxPeriodNumber=Max. Antal fakturahantering NbOfGenerationDone=Antal fakturahantering redan gjort -NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationOfRecordDone=Antal rekordgenerering redan gjort NbOfGenerationDoneShort=Antal generationer gjort MaxGenerationReached=Maximalt antal generationer som uppnåtts InvoiceAutoValidate=Bekräfta fakturor automatiskt GeneratedFromRecurringInvoice=Genererad från mall återkommande faktura %s DateIsNotEnough=Datum uppnått ännu inte InvoiceGeneratedFromTemplate=Faktura %s genererad från återkommande mallfaktura %s -GeneratedFromTemplate=Generated from template invoice %s +GeneratedFromTemplate=Genereras från mallfaktura %s WarningInvoiceDateInFuture=Varning, fakturadatumet är högre än aktuellt datum WarningInvoiceDateTooFarInFuture=Varning, fakturadatumet är för långt från det aktuella datumet ViewAvailableGlobalDiscounts=Visa lediga rabatter -GroupPaymentsByModOnReports=Group payments by mode on reports +GroupPaymentsByModOnReports=Gruppera betalningar efter läge på rapporter # PaymentConditions Statut=Status PaymentConditionShortRECEP=Förfaller vid kvitto @@ -414,10 +415,10 @@ PaymentConditionShort14D=14 dagar PaymentCondition14D=14 dagar PaymentConditionShort14DENDMONTH=14 dagar i månadsskiftet PaymentCondition14DENDMONTH=Inom 14 dagar efter slutet av månaden -FixAmount=Fixed amount - 1 line with label '%s' +FixAmount=Fast belopp - 1 rad med etiketten '%s' VarAmount=Variabelt belopp (%% summa) VarAmountOneLine=Variabel mängd (%% tot.) - 1 rad med etikett '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +VarAmountAllLines=Variabelt belopp (%% tot.) - alla rader från ursprung # PaymentType PaymentTypeVIR=Banköverföring PaymentTypeShortVIR=Banköverföring @@ -445,8 +446,8 @@ BankAccountNumberKey=kontrollsumma Residence=Adress IBANNumber=IBAN kontonummer IBAN=IBAN -CustomerIBAN=IBAN of customer -SupplierIBAN=IBAN of vendor +CustomerIBAN=IBAN av kunden +SupplierIBAN=IBAN från leverantören BIC=BIC / SWIFT BICNumber=BIC / SWIFT-kod ExtraInfos=Extra infos @@ -454,7 +455,7 @@ RegulatedOn=Regleras ChequeNumber=Kontrollera nr ChequeOrTransferNumber=Kontrollera / Transfer nr ChequeBordereau=Kontrollera schema -ChequeMaker=Check/Transfer sender +ChequeMaker=Kontrollera / överför avsändaren ChequeBank=Bank av Check CheckBank=Check NetToBePaid=Netto som skall betalas @@ -498,34 +499,34 @@ Cash=Kontanter Reported=Försenad DisabledBecausePayments=Inte möjlig eftersom det inte finns några betalningar CantRemovePaymentWithOneInvoicePaid=Kan inte ta bort betalning eftersom det finns minst en faktura märkt som betalt -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +CantRemovePaymentVATPaid=Det går inte att ta bort betalningen eftersom momsdeklarationen klassificeras som betald +CantRemovePaymentSalaryPaid=Det går inte att ta bort betalningen eftersom lönen klassificeras som betald ExpectedToPay=Förväntad utbetalning CantRemoveConciliatedPayment=Det går inte att ta bort avstämd betalning PayedByThisPayment=Betalas av denna betalning -ClosePaidInvoicesAutomatically=Classify automatically all standard, down payment or replacement invoices as "Paid" when payment is done entirely. -ClosePaidCreditNotesAutomatically=Classify automatically all credit notes as "Paid" when refund is done entirely. -ClosePaidContributionsAutomatically=Classify automatically all social or fiscal contributions as "Paid" when payment is done entirely. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +ClosePaidInvoicesAutomatically=Klassificera automatiskt alla standard-, utbetalnings- eller ersättningsfakturor som "Betalda" när betalningen sker helt. +ClosePaidCreditNotesAutomatically=Klassificera automatiskt alla kreditnota som "Betald" när återbetalningen sker helt. +ClosePaidContributionsAutomatically=Klassificera automatiskt alla sociala eller skattemässiga avgifter som "Betalda" när betalningen sker helt. +ClosePaidVATAutomatically=Klassificera automatiskt momsdeklaration som "Betald" när betalningen sker helt. +ClosePaidSalaryAutomatically=Klassificera automatiskt lön som "Betald" när betalningen sker helt. AllCompletelyPayedInvoiceWillBeClosed=Alla fakturor utan återbetalning kommer automatiskt att stängas med status "Betald". ToMakePayment=Betala ToMakePaymentBack=Återbetala ListOfYourUnpaidInvoices=Lista över obetalda fakturor NoteListOfYourUnpaidInvoices=OBS: Denna lista innehåller bara fakturor för tredje parti som du är kopplade till som en försäljning representant. -RevenueStamp=Tax stamp +RevenueStamp=Skatt stämpel YouMustCreateInvoiceFromThird=Det här alternativet är endast tillgängligt när du skapar en faktura från fliken "Kund" från tredje part YouMustCreateInvoiceFromSupplierThird=Det här alternativet är endast tillgängligt när du skapar en faktura från fliken "Leverantör" till tredje part YouMustCreateStandardInvoiceFirstDesc=Du måste först skapa en standardfaktura och konvertera den till "mall" för att skapa en ny mallfaktura -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFCrabeDescription=Faktura PDF-mall Crabe. En komplett fakturamall (gammal implementering av Sponge-mall) PDFSpongeDescription=Faktura PDF mall Svamp. En komplett fakturamall PDFCrevetteDescription=Faktura PDF-mall Crevette. En komplett faktura mall för lägesfakturor -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=Returnummer i formatet %syymm-nnnn för standardfakturor och %syymm-nnnn för kreditnoter där yy är år, mm är månad och nnnn är ett sekventiellt automatiskt inkrementeringsnummer utan paus och ingen retur till 0 +MarsNumRefModelDesc1=Returnummer i formatet %syymm-nnnn för standardfakturor, %syymm-nnnn för utbytesfakturor, %syymm-nnnn för utbetalningsfakturor och %syymm-nnnn är utan paus och ingen återgång till 0 TerreNumRefModelError=Ett lagförslag som börjar med $ syymm finns redan och är inte förenligt med denna modell för sekvens. Ta bort den eller byta namn på den för att aktivera denna modul. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -EarlyClosingReason=Early closing reason -EarlyClosingComment=Early closing note +CactusNumRefModelDesc1=Returnummer i formatet %syymm-nnnn för standardfakturor, %syymm-nnnn för kreditnoter och %syymm-nnnn för utbetalningsfakturor där yy är år, mm är månad och nnnn är ett sekventiellt returneringsnummer utan ink 0 +EarlyClosingReason=Tidigt stängningsskäl +EarlyClosingComment=Tidig avslutningsnot ##### Types de contacts ##### TypeContact_facture_internal_SALESREPFOLL=Representanten uppföljning kundfaktura TypeContact_facture_external_BILLING=Kundfaktura kontakt @@ -570,8 +571,8 @@ ToCreateARecurringInvoiceGeneAuto=Om du behöver generera sådana fakturor autom DeleteRepeatableInvoice=Ta bort mallfaktura ConfirmDeleteRepeatableInvoice=Är du säker på att du vill ta bort mallfakturan? CreateOneBillByThird=Skapa en faktura per tredje part (annars, en faktura per order) -BillCreated=%s invoice(s) generated -BillXCreated=Invoice %s generated +BillCreated=%s genererade fakturor +BillXCreated=Faktura %s genererad StatusOfGeneratedDocuments=Status för dokumentgenerering DoNotGenerateDoc=Generera inte dokumentfil AutogenerateDoc=Auto generera dokumentfil @@ -581,11 +582,12 @@ AutoFillDateTo=Ange slutdatum för servicelinje med nästa fakturadatum AutoFillDateToShort=Ange slutdatum MaxNumberOfGenerationReached=Max antal gen. nådde BILL_DELETEInDolibarr=Faktura deleted -BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted -UnitPriceXQtyLessDiscount=Unit price x Qty - Discount -CustomersInvoicesArea=Customer billing area -SupplierInvoicesArea=Supplier billing area -FacParentLine=Invoice Line Parent -SituationTotalRayToRest=Remainder to pay without taxe -PDFSituationTitle=Situation n° %d -SituationTotalProgress=Total progress %d %% +BILL_SUPPLIER_DELETEInDolibarr=Leverantörsfaktura borttagen +UnitPriceXQtyLessDiscount=Enhetspris x Antal - Rabatt +CustomersInvoicesArea=Kundfaktureringsområde +SupplierInvoicesArea=Leverantörsfaktureringsområde +FacParentLine=Fakturarad förälder +SituationTotalRayToRest=Resten att betala utan skatt +PDFSituationTitle=Läge nr %d +SituationTotalProgress=Total framsteg %d %% +SearchUnpaidInvoicesWithDueDate=Sök efter obetalda fakturor med förfallodatum = %s diff --git a/htdocs/langs/sv_SE/blockedlog.lang b/htdocs/langs/sv_SE/blockedlog.lang index 56f0339d071..f56915b65a1 100644 --- a/htdocs/langs/sv_SE/blockedlog.lang +++ b/htdocs/langs/sv_SE/blockedlog.lang @@ -1,6 +1,6 @@ BlockedLog=Oföränderliga loggar Field=Fält -BlockedLogDesc=Den här modulen spårar några händelser i en oförändrad logg (som du inte kan modifiera en gång inspelad) i en blockkedja, i realtid. Denna modul ger kompatibilitet med kraven i vissa lands lagar (som Frankrike med lagen Finance 2016 - Norme NF525). +BlockedLogDesc=Den här modulen spårar några händelser i en oförändrad logg (som du inte kan modifiera efter att ha sparad) i en blockkedja, i realtid. Denna modul ger kompatibilitet med kraven i vissa lands lagar (som Frankrike med lagen Finance 2016 - Norme NF525). Fingerprints=Arkiverade händelser och fingeravtryck FingerprintsDesc=Det här är verktyget för att bläddra eller extrahera de oföränderliga loggarna. Oförändliga loggar genereras och arkiveras lokalt i ett dedikerat bord, i realtid när du spelar in en affärshändelse. Du kan använda det här verktyget för att exportera det här arkivet och spara det till ett externt stöd (vissa länder, som Frankrike, ber att du gör det varje år). Observera att det inte finns någon funktion att rensa den här loggen och varje förändring som försökt göras direkt i den här loggen (t.ex. av en hacker) kommer att rapporteras med ett icke-giltigt fingeravtryck. Om du verkligen behöver rensa den här tabellen eftersom du använde din ansökan för ett demo / test syfte och vill rengöra dina data för att starta din produktion, kan du fråga din återförsäljare eller integratör om att återställa databasen (alla dina data kommer att tas bort). CompanyInitialKey=Företagets ursprungliga nyckel (hash av genesis block) @@ -8,7 +8,7 @@ BrowseBlockedLog=Oföränderliga loggar ShowAllFingerPrintsMightBeTooLong=Visa alla arkiverade loggar (kan vara långa) ShowAllFingerPrintsErrorsMightBeTooLong=Visa alla icke-giltiga arkivloggar (kan vara långa) DownloadBlockChain=Ladda ner fingeravtryck -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). +KoCheckFingerprintValidity=Arkiverad loggpost är inte giltig. Det betyder att någon (en hacker?) Har modifierat en del data från denna post efter att den spelats in, eller har raderat den tidigare arkiverade posten (kontrollera att raden med föregående # finns) eller har ändrat kontrollsumman för den tidigare posten. OkCheckFingerprintValidity=Arkiverad loggpost är giltig. Uppgifterna på den här raden ändrades inte och posten följer den föregående. OkCheckFingerprintValidityButChainIsKo=Arkiverad logg verkar giltig jämfört med tidigare men kedjan förstördes tidigare. AddedByAuthority=Lagras i fjärrmyndighet @@ -35,7 +35,7 @@ logDON_DELETE=Donation logisk borttagning logMEMBER_SUBSCRIPTION_CREATE=Medlemskapsabonnemang skapad logMEMBER_SUBSCRIPTION_MODIFY=Medlemsabonnemang modifierad logMEMBER_SUBSCRIPTION_DELETE=Medlems abonnemangs logisk borttagning -logCASHCONTROL_VALIDATE=Cash desk closing recording +logCASHCONTROL_VALIDATE=Registrering av stängning av kassaskåpets behållning BlockedLogBillDownload=Kundfaktura nedladdning BlockedLogBillPreview=Kundfaktura förhandsvisning BlockedlogInfoDialog=Logguppgifter diff --git a/htdocs/langs/sv_SE/bookmarks.lang b/htdocs/langs/sv_SE/bookmarks.lang index f4968443f16..2beefd7ff8a 100644 --- a/htdocs/langs/sv_SE/bookmarks.lang +++ b/htdocs/langs/sv_SE/bookmarks.lang @@ -18,3 +18,4 @@ SetHereATitleForLink=Ange ett namn för bokmärket UseAnExternalHttpLinkOrRelativeDolibarrLink=Använd en extern / absolut länk (https: // URL) eller en intern / relativ länk (/ DOLIBARR_ROOT / htdocs / ...) ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Välj om den länkade sidan ska öppnas i den aktuella fliken eller en ny flik BookmarksManagement=Förvaltning av bokmärken förvaltning +BookmarksMenuShortCut=Ctrl + Skift + m diff --git a/htdocs/langs/sv_SE/boxes.lang b/htdocs/langs/sv_SE/boxes.lang index 69369c2cd7f..c81b3b6dffe 100644 --- a/htdocs/langs/sv_SE/boxes.lang +++ b/htdocs/langs/sv_SE/boxes.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - boxes -BoxDolibarrStateBoard=Statistics on main business objects in database +BoxDolibarrStateBoard=Statistik över huvudsakliga affärsobjekt i databasen BoxLoginInformation=inloggningsinformation BoxLastRssInfos=RSS Information BoxLastProducts=Senaste %s Produkter / tjänster @@ -18,13 +18,13 @@ BoxLastActions=Senaste åtgärderna BoxLastContracts=Senaste kontrakt BoxLastContacts=Senaste kontakter / adresser BoxLastMembers=Senaste medlemmarna -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=Senast modifierade medlemmar +BoxLastMembersSubscriptions=Senaste medlemsabonnemang BoxFicheInter=Senaste interventioner BoxCurrentAccounts=Öppna konton balans -BoxTitleMemberNextBirthdays=Birthdays of this month (members) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMemberNextBirthdays=Födelsedagar denna månad (medlemmar) +BoxTitleMembersByType=Medlemmar efter typ +BoxTitleMembersSubscriptionsByYear=Medlemmar Prenumerationer per år BoxTitleLastRssInfos=Senaste %s nyheter från %s BoxTitleLastProducts=Produkter / tjänster: senaste %s modifierad BoxTitleProductsAlertStock=Produkter: lagervarning @@ -32,31 +32,31 @@ BoxTitleLastSuppliers=Senaste %s inspelade leverantörerna BoxTitleLastModifiedSuppliers=Leverantörer: senaste %s modifierad BoxTitleLastModifiedCustomers=Kunder: senaste %s modifierad BoxTitleLastCustomersOrProspects=Senaste %s kunder eller framtidsutsikter -BoxTitleLastCustomerBills=Latest %s modified Customer invoices -BoxTitleLastSupplierBills=Latest %s modified Vendor invoices +BoxTitleLastCustomerBills=Senaste %s ändrade kundfakturor +BoxTitleLastSupplierBills=Senaste %s ändrade leverantörsfakturor BoxTitleLastModifiedProspects=Utsikter: senaste %s modifierad BoxTitleLastModifiedMembers=Senaste %s medlemmarna BoxTitleLastFicheInter=Senaste %s modifierade interventioner BoxTitleOldestUnpaidCustomerBills=Kundfaktura: äldsta %s obetald BoxTitleOldestUnpaidSupplierBills=Leverantörsfakturor: äldsta %s obetald BoxTitleCurrentAccounts=Öppna konton: saldon -BoxTitleSupplierOrdersAwaitingReception=Supplier orders awaiting reception +BoxTitleSupplierOrdersAwaitingReception=Ej mottagna leverantörsordrar BoxTitleLastModifiedContacts=Kontakter / Adresser: senaste %s modifierad BoxMyLastBookmarks=Bokmärken: senaste %s BoxOldestExpiredServices=Äldsta aktiva passerat tjänster BoxLastExpiredServices=Senaste %s äldsta kontakterna med aktiva utgåttjänster BoxTitleLastActionsToDo=Senaste %s åtgärderna att göra -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified -BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded +BoxTitleLastContracts=Senaste %s avtal som blivit ändrade +BoxTitleLastModifiedDonations=Senaste %s donationer som har blivit ändrade +BoxTitleLastModifiedExpenses=Senaste %s utläggsrapporter som blivit modifierade +BoxTitleLatestModifiedBoms=Senaste %s BOM som blivit modifierade +BoxTitleLatestModifiedMos=Senaste %s tillverkningsbeställningar som blivit modifierade +BoxTitleLastOutstandingBillReached=Kunder med högst skuld BoxGlobalActivity=Global aktivitet (fakturor, förslag, order) BoxGoodCustomers=Bra kunder BoxTitleGoodCustomers=%s Bra kunder BoxScheduledJobs=Schemalagda jobb -BoxTitleFunnelOfProspection=Lead funnel +BoxTitleFunnelOfProspection=Lead tratt FailedToRefreshDataInfoNotUpToDate=Misslyckades med att uppdatera RSS-flöde. Senaste framgångsrika uppdateringsdatum: %s LastRefreshDate=Senaste uppdateringsdatum NoRecordedBookmarks=Inga bokmärken definieras. Klicka här för att lägga till bokmärken. @@ -76,7 +76,7 @@ NoContractedProducts=Inga produkter / tjänster avtalade NoRecordedContracts=Inga registrerade kontrakt NoRecordedInterventions=Inga inspelade interventioner BoxLatestSupplierOrders=Senaste inköpsorder -BoxLatestSupplierOrdersAwaitingReception=Latest Purchase Orders (with a pending reception) +BoxLatestSupplierOrdersAwaitingReception=Senaste inköpsordrar (som ej anlänt) NoSupplierOrder=Ingen registrerad köporder BoxCustomersInvoicesPerMonth=Kundfakturor per månad BoxSuppliersInvoicesPerMonth=Leverantörsfakturor per månad @@ -91,30 +91,30 @@ BoxTitleLatestModifiedSupplierOrders=Leverantörsorder: senaste %s modifierad BoxTitleLastModifiedCustomerBills=Kundfaktura: senaste %s modifierad BoxTitleLastModifiedCustomerOrders=Försäljningsorder: senaste %s modifierad BoxTitleLastModifiedPropals=Senaste %s ändrade förslag -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Senaste %s modifierade jobbpositioner +BoxTitleLatestModifiedCandidatures=Senaste %s modifierade jobbansökningar ForCustomersInvoices=Kundens fakturor ForCustomersOrders=Kund beställningar ForProposals=Förslag LastXMonthRolling=Den senaste %s månaden rullande ChooseBoxToAdd=Lägg till widget i din instrumentpanel BoxAdded=Widget har lagts till i din instrumentpanel -BoxTitleUserBirthdaysOfMonth=Birthdays of this month (users) -BoxLastManualEntries=Latest record in accountancy entered manually or without source document -BoxTitleLastManualEntries=%s latest record entered manually or without source document -NoRecordedManualEntries=No manual entries record in accountancy -BoxSuspenseAccount=Count accountancy operation with suspense account -BoxTitleSuspenseAccount=Number of unallocated lines -NumberOfLinesInSuspenseAccount=Number of line in suspense account -SuspenseAccountNotDefined=Suspense account isn't defined -BoxLastCustomerShipments=Last customer shipments -BoxTitleLastCustomerShipments=Latest %s customer shipments -NoRecordedShipments=No recorded customer shipment -BoxCustomersOutstandingBillReached=Customers with oustanding limit reached +BoxTitleUserBirthdaysOfMonth=Födelsedagar denna månad (användare) +BoxLastManualEntries=Senaste posten i bokföring som har angetts manuellt eller utan källdokument +BoxTitleLastManualEntries=%s senaste posten manuellt eller utan källdokument +NoRecordedManualEntries=Inga manuella poster registreras i bokföring +BoxSuspenseAccount=Räkna bokföring med diversekonto (en. suspense account, se https://en.wikipedia.org/wiki/Suspense_account) +BoxTitleSuspenseAccount=Antal oallokerade rader +NumberOfLinesInSuspenseAccount=Antal rader i diversekonto +SuspenseAccountNotDefined=Diversekonto är inte definierat +BoxLastCustomerShipments=Senaste kundleveranser +BoxTitleLastCustomerShipments=Senaste %s kundleveranser +NoRecordedShipments=Inga registrerade kundleveranser +BoxCustomersOutstandingBillReached=Kunds kreditgräns uppnådd # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy -ValidatedProjects=Validated projects +UsersHome=Hemanvändare och grupper +MembersHome=Hemmedlemskap +ThirdpartiesHome=Hemma tredje parter +TicketsHome=Hembiljetter +AccountancyHome=Hembokföring +ValidatedProjects=Validerade projekt diff --git a/htdocs/langs/sv_SE/cashdesk.lang b/htdocs/langs/sv_SE/cashdesk.lang index 30700e123e5..2109fc18c84 100644 --- a/htdocs/langs/sv_SE/cashdesk.lang +++ b/htdocs/langs/sv_SE/cashdesk.lang @@ -16,7 +16,7 @@ AddThisArticle=Lägg till den här artikeln RestartSelling=Gå tillbaka på sälj SellFinished=Försäljning avslutad PrintTicket=Skriv ut biljetten -SendTicket=Send ticket +SendTicket=Skicka biljett NoProductFound=Ingen artikel hittades ProductFound=Produkt hittad NoArticle=Ingen artikel @@ -41,8 +41,8 @@ Floor=Golv AddTable=Lägg till tabell Place=Plats TakeposConnectorNecesary='TakePOS Connector' krävs -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=Lägg till en knapp för att skicka beställningen till vissa skrivare utan betalning (till exempel för att skicka en beställning till ett kök) +NotAvailableWithBrowserPrinter=Ej tillgängligt när skrivaren för mottagning är inställd på webbläsaren: SearchProduct=Sök produkt Receipt=Kvitto Header=Rubrik @@ -50,81 +50,82 @@ Footer=sidfot AmountAtEndOfPeriod=Belopp vid periodens utgång (dag, månad eller år) TheoricalAmount=Teoretisk mängd RealAmount=Verklig mängd -CashFence=Cash desk closing -CashFenceDone=Cash desk closing done for the period +CashFence=Kassastängning +CashFenceDone=Kassastängning gjord för perioden NbOfInvoices=Antal av fakturor Paymentnumpad=Typ av kudde för att komma in i betalningen Numberspad=Numbers Pad BillsCoinsPad=Mynt och sedlar Pad DolistorePosCategory=TakePOS-moduler och andra POS-lösningar för Dolibarr -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items +TakeposNeedsCategories=TakePOS behöver minst en produktkategori för att fungera +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS behöver minst 1 produktkategori under kategorin %s för att arbeta +OrderNotes=Kan lägga till några anteckningar till varje beställd artikel CashDeskBankAccountFor=Standardkonto som ska användas för betalningar i NoPaimementModesDefined=Inget paimentläge definierat i TakePOS-konfiguration -TicketVatGrouped=Group VAT by rate in tickets|receipts -AutoPrintTickets=Automatically print tickets|receipts -PrintCustomerOnReceipts=Print customer on tickets|receipts +TicketVatGrouped=Gruppmoms efter skattesats i biljetter | kvitton +AutoPrintTickets=Skriv automatiskt ut biljetter | kvitton +PrintCustomerOnReceipts=Skriv ut kund på biljetter | kvitton EnableBarOrRestaurantFeatures=Aktivera funktioner för bar eller restaurang ConfirmDeletionOfThisPOSSale=Bekräftar du att du har raderat den aktuella försäljningen? -ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? +ConfirmDiscardOfThisPOSSale=Vill du kasta den här aktuella försäljningen? History=Historia -ValidateAndClose=Validate and close +ValidateAndClose=Validera och stäng Terminal=Terminal -NumberOfTerminals=Number of Terminals -TerminalSelect=Select terminal you want to use: -POSTicket=POS Ticket -POSTerminal=POS Terminal -POSModule=POS Module -BasicPhoneLayout=Use basic layout for phones -SetupOfTerminalNotComplete=Setup of terminal %s is not complete -DirectPayment=Direct payment -DirectPaymentButton=Add a "Direct cash payment" button -InvoiceIsAlreadyValidated=Invoice is already validated -NoLinesToBill=No lines to bill -CustomReceipt=Custom Receipt -ReceiptName=Receipt Name -ProductSupplements=Manage supplements of products -SupplementCategory=Supplement category -ColorTheme=Color theme -Colorful=Colorful +NumberOfTerminals=Antal terminaler +TerminalSelect=Välj terminal du vill använda: +POSTicket=POS-biljett +POSTerminal=POS-terminal +POSModule=POS-modul +BasicPhoneLayout=Använd grundläggande layout för telefoner +SetupOfTerminalNotComplete=Installationen av terminal %s är inte klar +DirectPayment=Direktbetalning +DirectPaymentButton=Lägg till knappen "Direkt kontant betalning" +InvoiceIsAlreadyValidated=Fakturan är redan validerad +NoLinesToBill=Inga rader att fakturera +CustomReceipt=Anpassat kvitto +ReceiptName=Kvittans namn +ProductSupplements=Hantera kosttillskott av produkter +SupplementCategory=Tilläggskategori +ColorTheme=Färgtema +Colorful=Färgrik HeadBar=Head Bar -SortProductField=Field for sorting products +SortProductField=Fält för sortering av produkter Browser=Webbläsare -BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. -PrintMethod=Print method -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). -ByTerminal=By terminal -TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad -CashDeskRefNumberingModules=Numbering module for POS sales -CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number -TakeposGroupSameProduct=Group same products lines -StartAParallelSale=Start a new parallel sale -SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS -CloseCashFence=Close cash desk control -CashReport=Cash report -MainPrinterToUse=Main printer to use -OrderPrinterToUse=Order printer to use -MainTemplateToUse=Main template to use -OrderTemplateToUse=Order template to use -BarRestaurant=Bar Restaurant -AutoOrder=Order by the customer himself -RestaurantMenu=Menu -CustomerMenu=Customer menu -ScanToMenu=Scan QR code to see the menu -ScanToOrder=Scan QR code to order -Appearance=Appearance -HideCategoryImages=Hide Category Images -HideProductImages=Hide Product Images -NumberOfLinesToShow=Number of lines of images to show -DefineTablePlan=Define tables plan -GiftReceiptButton=Add a "Gift receipt" button -GiftReceipt=Gift receipt -ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first -AllowDelayedPayment=Allow delayed payment -PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts -WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +BrowserMethodDescription=Enkel och enkel kvittoutskrift. Bara några få parametrar för att konfigurera kvittot. Skriv ut via webbläsaren. +TakeposConnectorMethodDescription=Extern modul med extra funktioner. Möjlighet att skriva ut från molnet. +PrintMethod=Utskriftsmetod +ReceiptPrinterMethodDescription=Kraftfull metod med många parametrar. Fullt anpassningsbara med mallar. Servern som är värd för applikationen kan inte finnas i molnet (måste kunna nå skrivarna i ditt nätverk). +ByTerminal=Med terminal +TakeposNumpadUsePaymentIcon=Använd ikonen istället för text på betalningsknapparna på numpad +CashDeskRefNumberingModules=Numreringsmodul för POS-försäljning +CashDeskGenericMaskCodes6 =
    {TN} -tagg används för att lägga till terminalnumret +TakeposGroupSameProduct=Gruppera samma produktlinjer +StartAParallelSale=Starta en ny parallellförsäljning +SaleStartedAt=Försäljningen startade på %s +ControlCashOpening=Öppna popup-kontrollen "Kontrollera kontanter" när du öppnar kassan +CloseCashFence=Stäng kassakontrollen +CashReport=Kassarapport +MainPrinterToUse=Huvudskrivare att använda +OrderPrinterToUse=Beställ skrivaren att använda +MainTemplateToUse=Huvudmallen som ska användas +OrderTemplateToUse=Beställ mall som ska användas +BarRestaurant=Barrestaurang +AutoOrder=Beställ av kunden själv +RestaurantMenu=Meny +CustomerMenu=Kundmeny +ScanToMenu=Skanna QR-kod för att se menyn +ScanToOrder=Skanna QR-kod för att beställa +Appearance=Utseende +HideCategoryImages=Dölj kategoribilder +HideProductImages=Dölj produktbilder +NumberOfLinesToShow=Antal bilder som ska visas +DefineTablePlan=Definiera tabellplan +GiftReceiptButton=Lägg till knappen "Presentkvitto" +GiftReceipt=Presentkvitto +ModuleReceiptPrinterMustBeEnabled=Modulkvittenskrivaren måste ha aktiverats först +AllowDelayedPayment=Tillåt försenad betalning +PrintPaymentMethodOnReceipts=Skriv ut betalningsmetod på biljetter | kvitton +WeighingScale=Våg +ShowPriceHT = Visa kolumnen med priset exklusive moms (på skärmen) +ShowPriceHTOnReceipt = Visa kolumnen med priset exklusive moms (på kvittot) +CustomerDisplay=Customer display diff --git a/htdocs/langs/sv_SE/categories.lang b/htdocs/langs/sv_SE/categories.lang index b4d7278f0e6..0a120fde9b2 100644 --- a/htdocs/langs/sv_SE/categories.lang +++ b/htdocs/langs/sv_SE/categories.lang @@ -3,23 +3,23 @@ Rubrique=Tag / Kategori Rubriques=Taggar/Kategorier RubriquesTransactions=Taggar / Kategorier av transaktioner categories=taggar / kategorier -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Ingen tagg/katergori för denna typen har skapats In=I AddIn=Lägg till i modify=modifiera Classify=Märk CategoriesArea=Taggar / kategorier område -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=Produkt/Servicetagg/Kategoriområde +SuppliersCategoriesArea=Tillverkarens tagg/kategori +CustomersCategoriesArea=Kundens tagg/kategori +MembersCategoriesArea=Medlemmarnas taggar / kategorier +ContactsCategoriesArea=Kontaktens tagg/kategori +AccountsCategoriesArea=Bankkontots tagg/kategori +ProjectsCategoriesArea=Projektets tagg/kategori +UsersCategoriesArea=Anvädnarens tagg/kategori SubCats=Underkategorier CatList=Lista med taggar / kategorier -CatListAll=List of tags/categories (all types) +CatListAll=Visa alla taggar/kategorier NewCategory=Ny tagg / kategori ModifCat=Ändra tagg / kategori CatCreated=Tagg / kategori skapad @@ -63,37 +63,37 @@ ContactCategoriesShort=Kontakter taggar / kategorier AccountsCategoriesShort=Kontokoder / kategorier ProjectsCategoriesShort=Projekt taggar / kategorier UsersCategoriesShort=Användare taggar / kategorier -StockCategoriesShort=Warehouse tags/categories -ThisCategoryHasNoItems=This category does not contain any items. +StockCategoriesShort=Lagrets taggar/kategorier +ThisCategoryHasNoItems=Denna kategori innehåller inga produkter. CategId=Tagg / kategori id -ParentCategory=Parent tag/category -ParentCategoryLabel=Label of parent tag/category -CatSupList=List of vendors tags/categories -CatCusList=List of customers/prospects tags/categories +ParentCategory=Överordnad tagg/kategori +ParentCategoryLabel=Benämning av överordnad tagg/kategori +CatSupList=Lista tillverkarens taggar/kategorier +CatCusList=Lista (eventuella) kunders taggar/kategorier CatProdList=Lista över produkter taggar / kategorier CatMemberList=Lista över medlemmar taggar / kategorier -CatContactList=List of contacts tags/categories -CatProjectsList=List of projects tags/categories -CatUsersList=List of users tags/categories -CatSupLinks=Links between vendors and tags/categories +CatContactList=Lista kontakters taggar/kategorier +CatProjectsList=Lista projektens taggar/kategorier +CatUsersList=Lista användarnas taggar/kategorier +CatSupLinks=Länkar mellan leverantörer och taggar/kategorier CatCusLinks=Länkar mellan kunder / utsikter och taggar / kategorier -CatContactsLinks=Links between contacts/addresses and tags/categories +CatContactsLinks=Länkar mellan kontakter/adresser och taggar/kategorier CatProdLinks=Länkar mellan produkter / tjänster och taggar / kategorier -CatMembersLinks=Links between members and tags/categories -CatProjectsLinks=Links between projects and tags/categories -CatUsersLinks=Links between users and tags/categories +CatMembersLinks=Länkar mellan medlemmar och taggar / kategorier +CatProjectsLinks=Länkar mellan projekt och taggar/kategorier +CatUsersLinks=Länkar mellan användare och taggar/kategorier DeleteFromCat=Ta bort från taggar / kategori ExtraFieldsCategories=Extra attibut CategoriesSetup=Taggar / kategorier inställning CategorieRecursiv=Länk med moderkort / kategori automatiskt CategorieRecursivHelp=Om alternativet är på, när du lägger till en produkt i en underkategori kommer produkten också att läggas till i kategorin förälder. AddProductServiceIntoCategory=Lägg till följande produkt / tjänst -AddCustomerIntoCategory=Assign category to customer -AddSupplierIntoCategory=Assign category to supplier +AddCustomerIntoCategory=Tilldela kategori till kund +AddSupplierIntoCategory=Tilldela kategori till leverantör ShowCategory=Visa tagg / kategori ByDefaultInList=Som standard i listan ChooseCategory=Välj kategori -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories -WebsitePagesCategoriesArea=Page-Container Categories -UseOrOperatorForCategories=Use 'OR' operator for categories +StocksCategoriesArea=Lagrets kategorier +ActionCommCategoriesArea=Händelsekategori +WebsitePagesCategoriesArea=Innehållskategorier +UseOrOperatorForCategories=Använd operatören 'OR' för kategorier diff --git a/htdocs/langs/sv_SE/commercial.lang b/htdocs/langs/sv_SE/commercial.lang index 839967ec383..c9cf4eed54f 100644 --- a/htdocs/langs/sv_SE/commercial.lang +++ b/htdocs/langs/sv_SE/commercial.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Commerce -CommercialArea=Commerce area +Commercial=Handel +CommercialArea=Handelsområde Customer=Kunden Customers=Kunder Prospect=Prospect @@ -64,10 +64,11 @@ ActionAC_SHIP=Skicka Leverans med e-post ActionAC_SUP_ORD=Skicka inköpsorder via post ActionAC_SUP_INV=Skicka försäljningsfaktura via post ActionAC_OTH=Andra -ActionAC_OTH_AUTO=Automatiskt införda händelser +ActionAC_OTH_AUTO=Other auto ActionAC_MANUAL=Manuellt införda händelser ActionAC_AUTO=Automatiskt införda händelser -ActionAC_OTH_AUTOShort=Automatiskt +ActionAC_OTH_AUTOShort=Andra +ActionAC_EVENTORGANIZATION=Event organisation evenemang Stats=Försäljningsstatistik StatusProsp=Prospect status DraftPropals=Utforma kommersiella förslag diff --git a/htdocs/langs/sv_SE/companies.lang b/htdocs/langs/sv_SE/companies.lang index 7e32ab3ac3c..21a5e3fa653 100644 --- a/htdocs/langs/sv_SE/companies.lang +++ b/htdocs/langs/sv_SE/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=Företagets namn %s finns redan. Välj en annan en. ErrorSetACountryFirst=Välj land först SelectThirdParty=Välj en tredje part -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=Är du säker på att du vill ta bort företaget och all relaterad information? DeleteContact=Radera en kontakt -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=Är du säker på att du vill ta bort den här kontakten och all relaterad information? MenuNewThirdParty=Ny tredjepart MenuNewCustomer=Ny kund MenuNewProspect=Nytt perspektiv @@ -27,7 +27,7 @@ AliasNames=Alias namn (kommersiellt, varumärke, ...) AliasNameShort=Alias namn Companies=Företag CountryIsInEEC=Landet ligger inom Europeiska ekonomiska gemenskapen -PriceFormatInCurrentLanguage=Price display format in the current language and currency +PriceFormatInCurrentLanguage=Prisvisningsformat på aktuellt språk och valuta ThirdPartyName=Namn på tredjepart ThirdPartyEmail=Tredjeparts e-post ThirdParty=Tredjepart @@ -43,10 +43,10 @@ Individual=Privatperson ToCreateContactWithSameName=Skapar automatiskt en kontakt / adress med samma information som tredjepart under tredjepart. I de flesta fall, även om din tredjepart är en fysisk person, är det bara att skapa en tredjepart. ParentCompany=Moderbolaget Subsidiaries=Dotterbolag -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate +ReportByMonth=Rapportera per månad +ReportByCustomers=Rapportera per kund +ReportByThirdparties=Rapport per tredje part +ReportByQuarter=Rapportera per kurs CivilityCode=Hövlighet kod RegisteredOffice=Säte Lastname=Efternamn @@ -54,10 +54,10 @@ Firstname=Förnamn PostOrFunction=Befattning UserTitle=Titel NatureOfThirdParty=Tredjepartens art -NatureOfContact=Nature of Contact +NatureOfContact=Kontaktens art Address=Adress State=Delstat / provins -StateCode=State/Province code +StateCode=Stat / provins kod StateShort=stat Region=Region Region-State=Region - Stat @@ -65,11 +65,11 @@ Country=Land CountryCode=Landskod CountryId=Land-id Phone=Telefon -PhoneShort=Telefonen +PhoneShort=Tel Skype=Skype Call=Ring upp Chat=Chat -PhonePro=Bus. phone +PhonePro=Företagstelefon PhonePerso=Pers. telefon PhoneMobile=Mobil No_Email=Avvisa bulk emailings @@ -78,7 +78,7 @@ Zip=Postnummer Town=Stad Web=Webb Poste= Position -DefaultLang=Default language +DefaultLang=Standardspråk VATIsUsed=Försäljningsskatt används VATIsUsedWhenSelling=Detta definierar om den här tredjeparten inkluderar en försäljningsskatt eller inte när den fakturerar sina egna kunder VATIsNotUsed=Försäljningsskatt används inte @@ -125,7 +125,7 @@ ProfId1AT=Prof Id 1 (USt.-IdNr) ProfId2AT=Prof Id 2 (USt.-Nr) ProfId3AT=Prof Id 3 (Handelsregister-Nr.) ProfId4AT=- -ProfId5AT=EORI number +ProfId5AT=EORI-nummer ProfId6AT=- ProfId1AU=Prof Id 1 (ABN) ProfId2AU=- @@ -137,7 +137,7 @@ ProfId1BE=Prof Id 1 (Professional antal) ProfId2BE=- ProfId3BE=- ProfId4BE=- -ProfId5BE=EORI number +ProfId5BE=EORI-nummer ProfId6BE=- ProfId1BR=- ProfId2BR=IE (Inscricao Estadual) @@ -149,7 +149,7 @@ ProfId1CH=UID-Nummer ProfId2CH=- ProfId3CH=Prof Id 1 (Federal antal) ProfId4CH=Prof Id 2 (Commercial Rekordmånga) -ProfId5CH=EORI number +ProfId5CH=EORI-nummer ProfId6CH=- ProfId1CL=Prof Id 1 (RUT) ProfId2CL=- @@ -167,19 +167,19 @@ ProfId1DE=Prof Id 1 (USt.-IdNr) ProfId2DE=Prof Id 2 (USt.-Nr) ProfId3DE=Prof Id 3 (Handelsregister-Nr.) ProfId4DE=- -ProfId5DE=EORI number +ProfId5DE=EORI-nummer ProfId6DE=- ProfId1ES=Prof Id 1 (CIF / NIF) ProfId2ES=Prof Id 2 (Social Security Number) ProfId3ES=Prof Id 3 (CNAE) ProfId4ES=Prof Id 4 (Collegiate nummer) -ProfId5ES=Prof Id 5 (EORI number) +ProfId5ES=Prof Id 5 (EORI-nummer) ProfId6ES=- ProfId1FR=Prof Id 1 (SIREN) ProfId2FR=Prof Id 2 (Siret) ProfId3FR=Prof Id 3 (NAF, gamla APE) ProfId4FR=Prof Id 4 (RCS / RM) -ProfId5FR=Prof Id 5 (numéro EORI) +ProfId5FR=Prof Id 5 (EORI-nummer) ProfId6FR=- ProfId1ShortFR=SIREN ProfId2ShortFR=SIRET @@ -209,13 +209,13 @@ ProfId1IT=- ProfId2IT=- ProfId3IT=- ProfId4IT=- -ProfId5IT=EORI number +ProfId5IT=EORI-nummer ProfId6IT=- ProfId1LU=Id. prof. 1 (R.C.S. Luxemburg) ProfId2LU=Id. prof. 2 (affärstillstånd) ProfId3LU=- ProfId4LU=- -ProfId5LU=EORI number +ProfId5LU=EORI-nummer ProfId6LU=- ProfId1MA=Id prof. 1 (RC) ProfId2MA=Id prof. 2 (Patent) @@ -233,13 +233,13 @@ ProfId1NL=KvK Nummer ProfId2NL=- ProfId3NL=- ProfId4NL=- -ProfId5NL=EORI number +ProfId5NL=EORI-nummer ProfId6NL=- ProfId1PT=Prof Id 1 (NIPC) ProfId2PT=Prof Id 2 (personnummer) ProfId3PT=Prof Id 3 (organisationsnummer) ProfId4PT=Prof Id 4 (konservatoriet) -ProfId5PT=Prof Id 5 (EORI number) +ProfId5PT=Prof Id 5 (EORI-nummer) ProfId6PT=- ProfId1SN=RC ProfId2SN=Ninea @@ -263,7 +263,7 @@ ProfId1RO=Prof Id 1 (CUI) ProfId2RO=Prof Id 2 (Nr. Înmatriculare) ProfId3RO=Prof Id 3 (CAEN) ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId5RO=Prof Id 5 (EORI-nummer) ProfId6RO=- ProfId1RU=Prof Id 1 (OGRN) ProfId2RU=Prof Id 2 (INN) @@ -305,12 +305,12 @@ SupplierAbsoluteDiscountAllUsers=Absoluta leverantörsrabatter (angivna av alla SupplierAbsoluteDiscountMy=Absoluta leverantörsrabatter (angivna av dig själv) DiscountNone=Ingen Vendor=Säljare -Supplier=Vendor +Supplier=Leverantör AddContact=Skapa kontakt AddContactAddress=Skapa kontakt / adress EditContact=Redigera kontakt / adress EditContactAddress=Redigera kontakt / adress -Contact=Contact/Address +Contact=Kontakt Adress Contacts=Kontakter/adresser ContactId=Kontakt id ContactsAddresses=Kontakt / Adresser @@ -318,7 +318,7 @@ FromContactName=Namn: NoContactDefinedForThirdParty=Ingen kontakt inlagd för denna tredje part NoContactDefined=Ingen kontakt inlagd DefaultContact=Standard kontakt / adress -ContactByDefaultFor=Default contact/address for +ContactByDefaultFor=Standardkontakt / adress för AddThirdParty=Skapa tredje part DeleteACompany=Ta bort ett företag PersonalInformations=Personuppgifter @@ -331,15 +331,15 @@ CustomerCodeDesc=Kundkod, unik för alla kunder SupplierCodeDesc=Leverantörskod, unik för alla leverantörer RequiredIfCustomer=Krävs om tredje part är en kund eller möjlig kund RequiredIfSupplier=Krävs om tredjepart är en leverantör -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=Giltighet kontrollerad av modulen ThisIsModuleRules=Regler för denna modul ProspectToContact=Möjlig kund att kontakta CompanyDeleted=Företaget "%s" raderad från databasen. ListOfContacts=Lista med kontakter / adresser ListOfContactsAddresses=Lista med kontakter / adresser ListOfThirdParties=Förteckning över tredjeparter -ShowCompany=Third Party -ShowContact=Contact-Address +ShowCompany=Tredje part +ShowContact=Kontaktadress ContactsAllShort=Alla (inget filter) ContactType=Kontakttyp ContactForOrders=Beställningens kontaktinformation @@ -358,7 +358,7 @@ MyContacts=Mina kontakter Capital=Kapital CapitalOf=Kapital %s EditCompany=Redigera företag -ThisUserIsNot=This user is not a prospect, customer or vendor +ThisUserIsNot=Denna användare är inte en prospekt, kund eller leverantör VATIntraCheck=Kontrollera VATIntraCheckDesc=Moms-ID måste innehålla land prefix. Länken %s använder den europeiska mervärdesskattjänsten (VIES) som kräver internetåtkomst från Dolibarr-servern. VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do @@ -366,8 +366,8 @@ VATIntraCheckableOnEUSite=Kontrollera momsnumret inom gemenskapen på Europeiska VATIntraManualCheck=Du kan också kontrollera manuellt på Europeiska kommissionens webbplats %s ErrorVATCheckMS_UNAVAILABLE=Kontroll inte möjlig. Kontrollera om tjänsten tillhandahålls av medlemsstaten (%s). NorProspectNorCustomer=Inte utsikter, eller kund -JuridicalStatus=Business entity type -Workforce=Workforce +JuridicalStatus=Typ av affärsenhet +Workforce=Arbetskraft Staff=anställda ProspectLevelShort=Potentiella ProspectLevel=Prospect potential @@ -426,11 +426,11 @@ AllocateCommercial=Tilldelad försäljningsrepresentant Organization=Organisation FiscalYearInformation=Räkenskapsår FiscalMonthStart=Första månad av verksamhetsåret -SocialNetworksInformation=Social networks -SocialNetworksFacebookURL=Facebook URL -SocialNetworksTwitterURL=Twitter URL +SocialNetworksInformation=Sociala nätverk +SocialNetworksFacebookURL=Facebook-URL +SocialNetworksTwitterURL=Twitter-URL SocialNetworksLinkedinURL=Linkedin URL -SocialNetworksInstagramURL=Instagram URL +SocialNetworksInstagramURL=Instagram-URL SocialNetworksYoutubeURL=Youtube URL SocialNetworksGithubURL=Github URL YouMustAssignUserMailFirst=Du måste skapa ett mail för den här användaren innan du kan lägga till ett e-postmeddelande. @@ -439,39 +439,39 @@ ListSuppliersShort=Förteckning över leverantörer ListProspectsShort=Förteckning över utsikter ListCustomersShort=Förteckning över kunder ThirdPartiesArea=Tredjeparter / Kontakter -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=Senaste %s tredjeparter som modifierades +UniqueThirdParties=Totalt antal tredjeparter InActivity=Öppen ActivityCeased=Stängt ThirdPartyIsClosed=Tredjepart är stängd -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=Lista över produkter / tjänster mappade till %s CurrentOutstandingBill=Obetalda fakturor OutstandingBill=Max för obetald faktura OutstandingBillReached=Max. för enastående räkning uppnådd OrderMinAmount=Minsta belopp för beställning -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=Returnera ett nummer i formatet %syymm-nnnn för kundkoden och %syymm-nnnn för leverantörskoden där yy är år, mm är månad och nnnn är ett sekventiellt automatiskt inkrementeringsnummer utan paus och ingen retur till 0. LeopardNumRefModelDesc=Kund / leverantör-nummer är ledig. Denna kod kan ändras när som helst. ManagingDirectors=Företagledares namn (vd, direktör, ordförande ...) MergeOriginThirdparty=Duplicera tredjepart (tredjepart du vill ta bort) MergeThirdparties=Sammanfoga tredjepart -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=Är du säker på att du vill slå samman den valda tredjeparten med den nuvarande? Alla länkade objekt (fakturor, beställningar, ...) flyttas till den aktuella tredjeparten, varefter den valda tredjeparten raderas. ThirdpartiesMergeSuccess=Tredjepart har blivit fusionerad SaleRepresentativeLogin=Inloggning av försäljare SaleRepresentativeFirstname=Förnamn på försäljningsrepresentant SaleRepresentativeLastname=Efternamn för försäljare ErrorThirdpartiesMerge=Ett fel uppstod vid borttagning av tredjepart. Kontrollera loggen. Ändringar har återställts. NewCustomerSupplierCodeProposed=Kunder eller leverantörskod som redan används, föreslås en ny kod -KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address +KeepEmptyIfGenericAddress=Håll det här fältet tomt om den här adressen är en generisk adress #Imports PaymentTypeCustomer=Betalningstyp - Kund PaymentTermsCustomer=Betalningsvillkor - Kund PaymentTypeSupplier=Betalningstyp - Leverantör PaymentTermsSupplier=Betalningstid - Leverantör -PaymentTypeBoth=Payment Type - Customer and Vendor +PaymentTypeBoth=Betalningstyp - Kund och leverantör MulticurrencyUsed=Använd multicurrency MulticurrencyCurrency=Valuta -InEEC=Europe (EEC) -RestOfEurope=Rest of Europe (EEC) -OutOfEurope=Out of Europe (EEC) -CurrentOutstandingBillLate=Current outstanding bill late -BecarefullChangeThirdpartyBeforeAddProductToInvoice=Be carefull, depending on your product price settings, you should change thirdparty before adding product to POS. +InEEC=Europa (EEG) +RestOfEurope=Övriga Europa (EEG) +OutOfEurope=Ut ur Europa (EEG) +CurrentOutstandingBillLate=Nuvarande utestående räkning sent +BecarefullChangeThirdpartyBeforeAddProductToInvoice=Var försiktig, beroende på dina produktprisinställningar, bör du ändra tredje part innan du lägger till produkten i kassan. diff --git a/htdocs/langs/sv_SE/compta.lang b/htdocs/langs/sv_SE/compta.lang index b7fc9b2eb22..6c7fd6ab027 100644 --- a/htdocs/langs/sv_SE/compta.lang +++ b/htdocs/langs/sv_SE/compta.lang @@ -65,12 +65,12 @@ LT2SupplierIN=SGST-inköp VATCollected=Momsintäkterna StatusToPay=Att betala SpecialExpensesArea=Område för alla special betalningar -VATExpensesArea=Area for all TVA payments +VATExpensesArea=Område för alla TVA-betalningar SocialContribution=Social eller skattemässig skatt SocialContributions=Sociala eller skattemässiga skatter SocialContributionsDeductibles=Avdragsgilla sociala eller skattemässiga skatter SocialContributionsNondeductibles=Avdragsgilla sociala eller skattemässiga skatter -DateOfSocialContribution=Date of social or fiscal tax +DateOfSocialContribution=Datum för social eller skattemässig skatt LabelContrib=Etikettbidrag TypeContrib=Typbidrag MenuSpecialExpenses=Särskilda kostnader @@ -86,7 +86,7 @@ PaymentCustomerInvoice=Kundfaktura betalning PaymentSupplierInvoice=leverantörsfaktura betalning PaymentSocialContribution=Sociala och skattemässiga betalningar PaymentVat=Moms betalning -AutomaticCreationPayment=Automatically record the payment +AutomaticCreationPayment=Registrera automatiskt betalningen ListPayment=Lista över betalningar ListOfCustomerPayments=Förteckning över kundbetalningar ListOfSupplierPayments=Lista över leverantörsbetalningar @@ -106,8 +106,8 @@ LT2PaymentES=IRPF Betalning LT2PaymentsES=IRPF betalningar VATPayment=Försäljningsskatt betalning VATPayments=Försäljningsskatt betalningar -VATDeclarations=VAT declarations -VATDeclaration=VAT declaration +VATDeclarations=Momsdeklarationer +VATDeclaration=Momsdeklaration VATRefund=Återbetalning av moms NewVATPayment=Ny momsbetalning NewLocalTaxPayment=Ny skatt %s betalning @@ -115,9 +115,9 @@ Refund=Återbetalning SocialContributionsPayments=Betalning av sociala / skattemässiga skatter ShowVatPayment=Visa mervärdesskatteskäl TotalToPay=Totalt att betala -BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters) +BalanceVisibilityDependsOnSortAndFilters=Balans är endast synlig i den här listan om tabellen sorteras på %s och filtreras på 1 bankkonto (utan andra filter) CustomerAccountancyCode=Kundbokföringskod -SupplierAccountancyCode=Vendor accounting code +SupplierAccountancyCode=Kod för leverantörsredovisning CustomerAccountancyCodeShort=Cust. konto. koda SupplierAccountancyCodeShort=Sup. konto. koda AccountNumber=Kontonummer @@ -135,24 +135,24 @@ NewCheckReceipt=Ny rabatt NewCheckDeposit=Nya kontrollera insättning NewCheckDepositOn=Skapa kvitto för insättning på konto: %s NoWaitingChecks=Inga kontroller väntar på insättning. -DateChequeReceived=Check receiving date +DateChequeReceived=Kontrollera mottagningsdatum NbOfCheques=Antal kontroller PaySocialContribution=Betala en social / skattemässig skatt -PayVAT=Pay a VAT declaration -PaySalary=Pay a salary card -ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? -ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? +PayVAT=Betala en momsdeklaration +PaySalary=Betala ett lönekort +ConfirmPaySocialContribution=Är du säker på att du vill klassificera denna sociala skatt eller skatt som betald? +ConfirmPayVAT=Är du säker på att du vill klassificera denna momsdeklaration som betald? +ConfirmPaySalary=Är du säker på att du vill klassificera lönekortet som betalt? DeleteSocialContribution=Ta bort en social eller skattemässig skattebetalning -DeleteVAT=Delete a VAT declaration -DeleteSalary=Delete a salary card -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? +DeleteVAT=Radera en momsdeklaration +DeleteSalary=Ta bort ett lönekort +ConfirmDeleteSocialContribution=Är du säker på att du vill ta bort denna sociala / skattemässiga betalning? +ConfirmDeleteVAT=Är du säker på att du vill ta bort denna momsdeklaration? +ConfirmDeleteSalary=Är du säker på att du vill ta bort den här lönen? ExportDataset_tax_1=Sociala och skattemässiga skatter och betalningar CalcModeVATDebt=Läge% svat på redovisning engagemang% s. CalcModeVATEngagement=Läge% svat på inkomster-utgifter% s. -CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger. +CalcModeDebt=Analys av kända inspelade dokument även om de ännu inte redovisas i huvudboken. CalcModeEngagement=Analys av kända registrerade betalningar, även om de ännu inte är redovisade i huvudboken. CalcModeBookkeeping=Analys av data bokförd i huvudboken. CalcModeLT1= Läge% SRE på kundfakturor - leverantörerna fakturerar% s @@ -165,38 +165,38 @@ AnnualSummaryDueDebtMode=Överskott av intäkter och kostnader, årliga sammanfa AnnualSummaryInputOutputMode=Överskott av intäkter och kostnader, årliga sammanfattande AnnualByCompanies=Inkomst- och utgiftsbalans, enligt fördefinierade konton AnnualByCompaniesDueDebtMode=Balans av intäkter och kostnader, detalj av fördefinierade grupper, läge %sClaims-Debts%s sa Åtagandebetalning . -AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. -SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation based on recorded payments made even if they are not yet accounted in Ledger -SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger -SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table +AnnualByCompaniesInputOutputMode=Inkomst- och utgiftsbalans, detalj efter fördefinierade grupper, läge %sInkomster-utgifter%s sa kontantredovisning. +SeeReportInInputOutputMode=Se %sanalys av betalningar%s för en beräkning baserad på registrerade betalningar gjorda även om de ännu inte redovisas i Ledger +SeeReportInDueDebtMode=Se %sanalys av registrerade dokument %s för en beräkning baserad på kända registrerade dokument även om de ännu inte redovisas i huvudboken +SeeReportInBookkeepingMode=Se %sanalys av bokföringsboken table%s för en rapport baserad på Bokföringsbokstabell RulesAmountWithTaxIncluded=- Belopp som visas är med alla skatter inkluderade -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. +RulesResultDue=- Det inkluderar utestående fakturor, utgifter, moms, donationer oavsett om de betalas eller inte. Inkluderar även betalda löner.
    - Den baseras på faktureringsdatum för fakturor och på förfallodatum för kostnader eller skattebetalningar. För löner definierade med lönemodulen används betalningsdatumet. RulesResultInOut=- Det inkluderar de reala betalningarna på fakturor, utgifter, moms och löner.
    - Det baseras på fakturadatum för fakturor, utgifter, moms och löner. Donationsdatum för donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    +RulesCADue=- Det inkluderar kundens förfallna fakturor, oavsett om de betalas eller inte.
    - Det är baserat på faktureringsdatum för dessa fakturor.
    RulesCAIn=- Det inkluderar alla effektiva betalningar av fakturor som mottagits från kunder.
    - Det är baserat på betalningsdatum för dessa fakturor
    RulesCATotalSaleJournal=Den innehåller alla kreditlinjer från försäljningsloggboken. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesSalesTurnoverOfIncomeAccounts=Det inkluderar (kredit - debitering) av rader för produktkonton i gruppen INKOMST RulesAmountOnInOutBookkeepingRecord=Det innehåller post i din huvudboken med bokföringskonto som har gruppen "EXPENSE" eller "INCOME" RulesResultBookkeepingPredefined=Det innehåller post i din huvudboken med bokföringskonto som har gruppen "EXPENSE" eller "INCOME" RulesResultBookkeepingPersonalized=Det visar rekord i din huvudboken med bokföringskonton grupperad av personliga grupper SeePageForSetup=Se meny %s för installation DepositsAreNotIncluded=- Betalningsfakturor ingår ej DepositsAreIncluded=- Betalningsfakturor ingår -LT1ReportByMonth=Tax 2 report by month -LT2ReportByMonth=Tax 3 report by month +LT1ReportByMonth=Skatt 2-rapport per månad +LT2ReportByMonth=Skatt 3-rapport per månad LT1ReportByCustomers=Rapportera skatt 2 av tredje part LT2ReportByCustomers=Rapportera skatt 3 av tredje part LT1ReportByCustomersES=Rapport från tredje part RE LT2ReportByCustomersES=Rapport från tredje part IRPF VATReport=Försäljningsskatterapport VATReportByPeriods=Försäljningsskattrapport per period -VATReportByMonth=Sale tax report by month +VATReportByMonth=Försäljningsskattrapport per månad VATReportByRates=Försäljningsskattrapport enligt priser VATReportByThirdParties=Försäljningsskattrapport från tredje part VATReportByCustomers=Försäljningsskatt rapport från kund VATReportByCustomersInInputOutputMode=Rapport av kunden moms samlas och betalas VATReportByQuartersInInputOutputMode=Rapportera enligt försäljningsskattesats för den skatt som samlats och betalats -VATReportShowByRateDetails=Show details of this rate +VATReportShowByRateDetails=Visa detaljer om denna kurs LT1ReportByQuarters=Rapportera skatt 2 efter skatt LT2ReportByQuarters=Rapportera skatt 3 efter skatt LT1ReportByQuartersES=Rapport från RE hastighet @@ -231,7 +231,7 @@ Pcg_subtype=Pcg subtyp InvoiceLinesToDispatch=Faktura linjer avsändandet ByProductsAndServices=Efter produkt och service RefExt=Extern ref -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +ToCreateAPredefinedInvoice=För att skapa en mallfaktura, skapa en standardfaktura och klicka sedan på knappen "%s" utan att validera den. LinkedOrder=Länk för att beställa Mode1=Metod 1 Mode2=Metod 2 @@ -249,8 +249,8 @@ ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Det dedikerade bokföringskontot som definieras ACCOUNTING_ACCOUNT_SUPPLIER=Redovisningskonto som används för leverantörs tredje part ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Det dedikerade bokföringskontot som definieras på tredje partskort kommer endast att användas för Subledger-bokföring. Den här kommer att användas för huvudboken och som standardvärde för Subledger-bokföring om en dedikerad leverantörsredovisningskonto på tredjeparten inte är definierad. ConfirmCloneTax=Bekräfta klon av en social / skattemässig skatt -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary +ConfirmCloneVAT=Bekräfta klonen på en momsdeklaration +ConfirmCloneSalary=Bekräfta klon av lön CloneTaxForNextMonth=Klona det för nästa månad SimpleReport=Enkel rapport AddExtraReport=Extra rapporter (lägg till utländsk och nationell kundrapport) @@ -269,20 +269,26 @@ AccountingAffectation=Redovisningsuppdrag LastDayTaxIsRelatedTo=Den sista dagen i vilken skatten är relaterad till VATDue=Försäljningsskatt krävdes ClaimedForThisPeriod=Påstås för perioden -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range +PaidDuringThisPeriod=Betalas för denna period +PaidDuringThisPeriodDesc=Detta är summan av alla betalningar kopplade till momsdeklarationer som har ett slutdatum i det valda datumintervallet ByVatRate=Med försäljningsskattesats TurnoverbyVatrate=Omsättning fakturerad med försäljningsskattesats TurnoverCollectedbyVatrate=Omsättning upptagen med försäljningsskattesats PurchasebyVatrate=Inköp med försäljningsskattesats -LabelToShow=Short label -PurchaseTurnover=Purchase turnover -PurchaseTurnoverCollected=Purchase turnover collected -RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    -RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    -RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE -ReportPurchaseTurnover=Purchase turnover invoiced -ReportPurchaseTurnoverCollected=Purchase turnover collected -IncludeVarpaysInResults = Include various payments in reports -IncludeLoansInResults = Include loans in reports +LabelToShow=Kort etikett +PurchaseTurnover=Inköpsomsättning +PurchaseTurnoverCollected=Inköpt omsättning +RulesPurchaseTurnoverDue=- Den inkluderar leverantörens förfallna fakturor oavsett om de betalas eller inte.
    - Det är baserat på fakturadatum för dessa fakturor.
    +RulesPurchaseTurnoverIn=- Det inkluderar alla effektiva betalningar av fakturor som görs till leverantörer.
    - Det baseras på betalningsdatum för dessa fakturor
    +RulesPurchaseTurnoverTotalPurchaseJournal=Den inkluderar alla debiteringsrader från inköpsjournalen. +RulesPurchaseTurnoverOfExpenseAccounts=Det inkluderar (debitering - kredit) av rader för produktkonton i gruppen EXPENSE +ReportPurchaseTurnover=Fakturerad inköpsomsättning +ReportPurchaseTurnoverCollected=Inköpt omsättning +IncludeVarpaysInResults = Inkludera olika betalningar i rapporter +IncludeLoansInResults = Inkludera lån i rapporter +InvoiceLate30Days = Fakturor sent> 30 dagar +InvoiceLate15Days = Fakturor sent> 15 dagar +InvoiceLateMinus15Days = Fakturor sent +InvoiceNotLate = Ska samlas in <15 dagar +InvoiceNotLate15Days = Hämtas på 15 dagar +InvoiceNotLate30Days = Hämtas på 30 dagar diff --git a/htdocs/langs/sv_SE/contracts.lang b/htdocs/langs/sv_SE/contracts.lang index eee5cd0c1f1..a164c73f7f8 100644 --- a/htdocs/langs/sv_SE/contracts.lang +++ b/htdocs/langs/sv_SE/contracts.lang @@ -28,7 +28,7 @@ MenuRunningServices=Löpande tjänster MenuExpiredServices=Utlöpta tjänster MenuClosedServices=Stängda tjänster NewContract=Nytt kontrakt -NewContractSubscription=New contract or subscription +NewContractSubscription=Nytt avtal eller abonnemang AddContract=Skapa kontrakt DeleteAContract=Ta bort ett kontrakt ActivateAllOnContract=Aktivera alla tjänster @@ -51,7 +51,7 @@ ListOfClosedServices=Lista över stängda tjänster ListOfRunningServices=Förteckning över löpande tjänster NotActivatedServices=Inaktiva tjänster (bland bekräftades kontrakt) BoardNotActivatedServices=Tjänster att aktivera bland bekräftades kontrakt -BoardNotActivatedServicesShort=Services to activate +BoardNotActivatedServicesShort=Tjänster att aktivera LastContracts=Senaste %s kontrakten LastModifiedServices=Senaste %s modifierade tjänster ContractStartDate=Startdatum @@ -65,10 +65,10 @@ DateStartRealShort=Verkligt startdatum DateEndReal=Verkligt slutdatum DateEndRealShort=Verkligt slutdatum CloseService=Stäng tjänst -BoardRunningServices=Services running -BoardRunningServicesShort=Services running -BoardExpiredServices=Services expired -BoardExpiredServicesShort=Services expired +BoardRunningServices=Aktiva tjänster +BoardRunningServicesShort=Aktiva tjänster +BoardExpiredServices=Avslutade tjänster +BoardExpiredServicesShort=Avslutade tjänster ServiceStatus=Status för tjänst DraftContracts=Utkast avtal CloseRefusedBecauseOneServiceActive=Kontraktet kan inte stängas eftersom det finns minst en öppen tjänst på den @@ -99,6 +99,6 @@ TypeContact_contrat_internal_SALESREPFOLL=Säljare som följer upp avtal TypeContact_contrat_external_BILLING=Fakturering kundkontakt TypeContact_contrat_external_CUSTOMER=Uppföljning kundkontakt TypeContact_contrat_external_SALESREPSIGN=Undertecknande kontrakt kundkontakt -HideClosedServiceByDefault=Hide closed services by default -ShowClosedServices=Show Closed Services -HideClosedServices=Hide Closed Services +HideClosedServiceByDefault=Dölj avslutade tjänster som standard +ShowClosedServices=Visa avslutade tjänster +HideClosedServices=Dölj avslutade tjänster diff --git a/htdocs/langs/sv_SE/cron.lang b/htdocs/langs/sv_SE/cron.lang index 05f3017600e..c0dd13b0651 100644 --- a/htdocs/langs/sv_SE/cron.lang +++ b/htdocs/langs/sv_SE/cron.lang @@ -7,14 +7,14 @@ Permission23103 = Radera schemalagt jobb Permission23104 = Utför schemalagt jobb # Admin CronSetup=Planerad jobbhantering installation -URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser -OrToLaunchASpecificJob=Or to check and launch a specific job from a browser +URLToLaunchCronJobs=URL för att kontrollera och starta kvalificerade cron-jobb från en webbläsare +OrToLaunchASpecificJob=Eller för att kontrollera och starta ett visst jobb från en webbläsare KeyForCronAccess=Säkerhetsnyckel för URL för att lansera cron-jobb FileToLaunchCronJobs=Kommandorad för att kontrollera och starta kvalificerade cron-jobb CronExplainHowToRunUnix=I en Unix-miljö bör följande rad läggas i crontab så kommandot exekveras var 5:e minut. CronExplainHowToRunWin=I Microsoft (tm) Windows-miljö kan du använda Schemalagda uppgiftsverktyg för att köra kommandoraden var 5: e minut CronMethodDoesNotExists=Klass %s innehåller ingen metod %s -CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods +CronMethodNotAllowed=Metod %s av klass %s finns i svartlistan över förbjudna metoder CronJobDefDesc=Cron-jobbprofiler definieras i modulbeskrivningsfilen. När modulen är aktiverad laddas de och är tillgängliga så att du kan administrera jobben från adminverktygsmenyn %s. CronJobProfiles=Förteckning över fördefinierade cron jobbprofiler # Menu @@ -43,11 +43,11 @@ CronModule=Modul CronNoJobs=Inga jobb registrerade CronPriority=Prioritet CronLabel=Etikett -CronNbRun=Number of launches +CronNbRun=Antal körningar CronMaxRun=Maximalt antal lanseringar CronEach=Varje JobFinished=Job lanserad och klar -Scheduled=Scheduled +Scheduled=Schemalagd #Page card CronAdd= Lägg till jobb CronEvery=Utför jobbet vardera @@ -58,9 +58,9 @@ CronNote=Kommentar CronFieldMandatory=Fält %s är obligatoriskt CronErrEndDateStartDt=Slutdatum kan inte vara före startdatum StatusAtInstall=Status vid modulinstallation -CronStatusActiveBtn=Schedule +CronStatusActiveBtn=Schemalägg CronStatusInactiveBtn=Inaktivera -CronTaskInactive=Det här jobbet är avaktiverat +CronTaskInactive=Detta arbete är inaktiverat (ej schemalagt) CronId=Id CronClassFile=Filnamn med klass CronModuleHelp=Namn på Dolibarr-modulkatalogen (fungerar även med extern Dolibarr-modul).
    Till exempel att ringa hämtningsmetoden för Dolibarr Produktobjekt / htdocs / produkt /class/product.class.php, värdet för modulen är
    produkt @@ -78,14 +78,14 @@ CronType_method=Samtalsmetod för en PHP-klass CronType_command=Skalkommando CronCannotLoadClass=Kan inte ladda klassfilen %s (för att använda klass %s) CronCannotLoadObject=Klassfilen %s laddades, men objektet %s kunde inte hittas i det -UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs. +UseMenuModuleToolsToAddCronJobs=Gå till menyn "Hem - Adminverktyg - Schemalagda jobb" för att se och redigera schemalagda jobb. JobDisabled=Jobb inaktiverat MakeLocalDatabaseDumpShort=Lokal databas säkerhetskopia MakeLocalDatabaseDump=Skapa en lokal databasdump. Parametrarna är: komprimering ('gz' eller 'bz' eller 'none'), säkerhetskopieringstyp ('mysql', 'pgsql', 'auto'), 1, 'auto' eller filnamn att bygga, antal backupfiler för att hålla WarningCronDelayed=Uppmärksamhet, för prestationsändamål, vad som än är nästa datum för utförande av aktiverade jobb, kan dina jobb försenas till högst %s timmar innan de körs. -DATAPOLICYJob=Data cleaner and anonymizer -JobXMustBeEnabled=Job %s must be enabled +DATAPOLICYJob=Resning och anonymisering av data +JobXMustBeEnabled=Jobb %s måste vara aktiverat # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Senast utfört schemalagda arbete +NextScheduledJobExecute=Nästa schemalagda arbete att köra +NumberScheduledJobError=Antal schemalagda arbete med fel diff --git a/htdocs/langs/sv_SE/deliveries.lang b/htdocs/langs/sv_SE/deliveries.lang index 1f08745558f..a2260392827 100644 --- a/htdocs/langs/sv_SE/deliveries.lang +++ b/htdocs/langs/sv_SE/deliveries.lang @@ -2,7 +2,7 @@ Delivery=Leverans DeliveryRef=Er referens DeliveryCard=Kvittokort -DeliveryOrder=Delivery receipt +DeliveryOrder=Leveranskvitto DeliveryDate=Leveransdatum CreateDeliveryOrder=Skapa orderbekräftelse DeliveryStateSaved=Leveransstatus sparad @@ -27,5 +27,7 @@ Recipient=Mottagare ErrorStockIsNotEnough=Det finns inte tillräckligt i lager Shippable=Sändbara NonShippable=Inte sändbara +ShowShippableStatus=Visa leveransstatus ShowReceiving=Visa orderbekräftelse NonExistentOrder=Icke-existerande ordning +StockQuantitiesAlreadyAllocatedOnPreviousLines = Lagerkvantiteter som redan tilldelats på tidigare rader diff --git a/htdocs/langs/sv_SE/dict.lang b/htdocs/langs/sv_SE/dict.lang index 6ec6d59e652..ec142df29fe 100644 --- a/htdocs/langs/sv_SE/dict.lang +++ b/htdocs/langs/sv_SE/dict.lang @@ -21,7 +21,7 @@ CountryNL=Nederländerna CountryHU=Ungern CountryRU=Ryssland CountrySE=Sverige -CountryCI=Ivoiry Coast +CountryCI=Elfenbenskusten CountrySN=Senegal CountryAR=Argentina CountryCM=Kamerun @@ -321,7 +321,7 @@ PaperFormatEUA6=A6-format PaperFormatUSLETTER=Format Letter US PaperFormatUSLEGAL=Format Legal US PaperFormatUSEXECUTIVE=Format Executive US -PaperFormatUSLEDGER=Formatet Ledger / Tabloid +PaperFormatUSLEDGER=Format Ledger / Tabloid PaperFormatCAP1=Format P1 Kanada PaperFormatCAP2=Format P2 Kanada PaperFormatCAP3=Format P3 Kanada diff --git a/htdocs/langs/sv_SE/donations.lang b/htdocs/langs/sv_SE/donations.lang index 902ed742443..d8c64be326e 100644 --- a/htdocs/langs/sv_SE/donations.lang +++ b/htdocs/langs/sv_SE/donations.lang @@ -16,7 +16,7 @@ DonationStatusPromiseNotValidatedShort=Förslag DonationStatusPromiseValidatedShort=Bekräftat DonationStatusPaidShort=Mottagna DonationTitle=Donation kvitto -DonationDate=Donation date +DonationDate=Donationsdatum DonationDatePayment=Betalningsdag ValidPromess=Bekräfta löfte DonationReceipt=Donation kvitto @@ -32,3 +32,4 @@ DONATION_ART238=Visar artikel 238 från CGI om du är orolig DONATION_ART885=Visar artikel 885 från CGI om du är orolig DonationPayment=Donation DonationValidated=Gåva %s bekräftad +DonationUseThirdparties=Använd en befintlig tredjepart som givarkoordinator diff --git a/htdocs/langs/sv_SE/ecm.lang b/htdocs/langs/sv_SE/ecm.lang index 3882a163842..07bfd3c7259 100644 --- a/htdocs/langs/sv_SE/ecm.lang +++ b/htdocs/langs/sv_SE/ecm.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - ecm ECMNbOfDocs=Antal dokument i katalogen -ECMSection=Directory +ECMSection=Katalog ECMSectionManual=Manuell katalog ECMSectionAuto=Automatisk katalog -ECMSectionsManual=Manuell träd -ECMSectionsAuto=Automatisk träd +ECMSectionsManual=Manuell struktur +ECMSectionsAuto=Automatisk struktur ECMSections=Kataloger ECMRoot=ECM Root ECMNewSection=Ny katalog @@ -13,35 +13,35 @@ ECMCreationDate=Datum för skapande ECMNbOfFilesInDir=Antalet filer i katalogen ECMNbOfSubDir=Antal underkataloger ECMNbOfFilesInSubDir=Antalet filer i underkataloger -ECMCreationUser=Creator +ECMCreationUser=Skapare ECMArea=DMS/ECM yta ECMAreaDesc=Med DMS / ECM-området (Document Management System / Electronic Content Management) kan du spara, dela och söka snabbt alla typer av dokument i Dolibarr. ECMAreaDesc2=* Automatisk kataloger fylls automatiskt när man lägger till dokument från kort av ett element.
    * Manuell kataloger kan användas för att spara dokument inte är knutna till ett visst element. -ECMSectionWasRemoved=Nummer %s har tagits bort. +ECMSectionWasRemoved=Mapp %s har tagits bort. ECMSectionWasCreated=Mapp %s har skapats. ECMSearchByKeywords=Sök på nyckelord ECMSearchByEntity=Sök på objektet ECMSectionOfDocuments=Register över handlingar ECMTypeAuto=Automatisk -ECMDocsBy=Documents linked to %s +ECMDocsBy=Dokument länkade till %s ECMNoDirectoryYet=Ingen katalog skapas ShowECMSection=Visa katalog DeleteSection=Ta bort katalog -ConfirmDeleteSection=Kan du bekräfta att du vill ta bort mappen %s? +ConfirmDeleteSection=Vänligen bekräfta att du vill ta bort mappen %s? ECMDirectoryForFiles=Relativ katalog för filer -CannotRemoveDirectoryContainsFilesOrDirs=Avlägsnandet är inte möjligt eftersom det innehåller några filer eller underkataloger -CannotRemoveDirectoryContainsFiles=Avlägsnandet är inte möjligt eftersom det innehåller några filer +CannotRemoveDirectoryContainsFilesOrDirs=Borttagning är inte möjlig eftersom det innehåller några filer eller underkataloger +CannotRemoveDirectoryContainsFiles=Borttagning är inte möjlig eftersom det innehåller några filer ECMFileManager=Filhanteraren -ECMSelectASection=Välj en mapp i trädet... +ECMSelectASection=Välj en mapp i strukturen... DirNotSynchronizedSyncFirst=Den här katalogen verkar vara skapad eller modifierad utanför ECM-modulen. Du måste klicka på "Resync" -knappen först för att synkronisera skivan och databasen för att hämta innehåll i den här katalogen. ReSyncListOfDir=Uppdatera lista med mappar HashOfFileContent=Hash av filinnehåll NoDirectoriesFound=Inga mappar funna FileNotYetIndexedInDatabase=Filen är inte indexerad i databasen (försök ladda upp igen) ExtraFieldsEcmFiles=Extrafields Ecm Files -ExtraFieldsEcmDirectories=Extrafields Ecm Directories -ECMSetup=ECM Setup -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +ExtraFieldsEcmDirectories=Extrafields Ecm-kataloger +ECMSetup=ECM-inställning +GenerateImgWebp=Kopiera alla bilder med en annan version med .webp-format +ConfirmGenerateImgWebp=Om du bekräftar kommer du generera en bild i .webp format för alla bilder som finns i denna mapp (undermappar är inte inkluderade) +ConfirmImgWebpCreation=Bekräfta kloning av alla bilder +SucessConvertImgWebp=Bilder blev klonade diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index 15b18a8e5ba..50f2442f2d4 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=Inget fel # Errors ErrorButCommitIsDone=Fel hittades men vi bekräfta trots detta -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=E-post %s är felaktigt +ErrorBadMXDomain=E-post %s verkar felaktig (domänen har ingen giltig MX-post) +ErrorBadUrl=Url %s är felaktig ErrorBadValueForParamNotAString=Dåligt värde för din parameter. Det lägger till i allmänhet när översättning saknas. -ErrorRefAlreadyExists=Reference %s already exists. +ErrorRefAlreadyExists=Referens %s finns redan. ErrorLoginAlreadyExists=Logga %s finns redan. ErrorGroupAlreadyExists=Grupp %s finns redan. +ErrorEmailAlreadyExists=E-post %s finns redan. ErrorRecordNotFound=Spela in hittades inte. ErrorFailToCopyFile=Det gick inte att kopiera filen "%s" till "%s". ErrorFailToCopyDir=Misslyckades att kopiera katalogen ' %s ' i ' %s '. @@ -38,7 +39,7 @@ ErrorBadSupplierCodeSyntax=Dålig syntax för leverantörskod ErrorSupplierCodeRequired=Leverantörskod krävs ErrorSupplierCodeAlreadyUsed=Leverantörskod som redan används ErrorBadParameters=Dåliga parametrar -ErrorWrongParameters=Wrong or missing parameters +ErrorWrongParameters=Fel eller saknade parametrar ErrorBadValueForParameter=Felvärde '%s' för parameter '%s' ErrorBadImageFormat=Bildfilen har inte ett format som stöds (Din PHP stöder inte funktioner för att konvertera bilder av det här formatet) ErrorBadDateFormat=Värde "%s" har fel datumformat @@ -46,11 +47,11 @@ ErrorWrongDate=Datum är inte korrekt! ErrorFailedToWriteInDir=Misslyckades med att skriva i katalogen %s ErrorFoundBadEmailInFile=Hittade felaktig e-syntax för %s rader i filen (t.ex. linje %s med email = %s) ErrorUserCannotBeDelete=Användaren kan inte raderas. Kanske är det associerat med Dolibarr-enheter. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=Vissa obligatoriska fält har lämnats tomma. +ErrorSubjectIsRequired=E-postämnet krävs ErrorFailedToCreateDir=Misslyckades med att skapa en katalog. Kontrollera att webbservern användaren har rättigheter att skriva till Dolibarr dokument katalogen. Om parametern safe_mode är aktiv på PHP, kontrollera att Dolibarr php-filer äger till webbserver användare (eller grupp). ErrorNoMailDefinedForThisUser=Ingen post definierats för denna användare -ErrorSetupOfEmailsNotComplete=Setup of emails is not complete +ErrorSetupOfEmailsNotComplete=Installationen av e-postmeddelanden är inte klar ErrorFeatureNeedJavascript=Denna funktion måste ha Javascript vara aktiverat för att arbeta. Ändra detta i inställning - displayen. ErrorTopMenuMustHaveAParentWithId0=En meny av typen "Top" kan inte ha en förälder meny. Sätt 0 i överordnade menyn eller välja en meny av typen "Vänster". ErrorLeftMenuMustHaveAParentId=En meny av typen "Vänster" måste ha en förälder id. @@ -59,12 +60,12 @@ ErrorDirNotFound=Nummer %s inte hittat (Bad väg, fel behörighet eller ErrorFunctionNotAvailableInPHP=Funktion %s krävs för denna funktion, men finns inte i denna version och konfigureringen av PHP. ErrorDirAlreadyExists=En katalog med detta namn finns redan. ErrorFileAlreadyExists=En fil med detta namn finns redan. -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists=En annan fil med namnet %s finns redan. ErrorPartialFile=Handlingar den mottagit inte helt av server. ErrorNoTmpDir=Tillfälliga directy %s inte existerar. ErrorUploadBlockedByAddon=Ladda upp blockeras av en PHP / Apache plugin. ErrorFileSizeTooLarge=Filen är för stor. -ErrorFieldTooLong=Field %s is too long. +ErrorFieldTooLong=Fältet %s är för långt. ErrorSizeTooLongForIntType=Storlek för lång för int typ (%s siffror max) ErrorSizeTooLongForVarcharType=Storlek för lång för sträng typ (%s tecken max) ErrorNoValueForSelectType=Vänligen fyll i värde för utvald lista @@ -79,7 +80,7 @@ ErrorExportDuplicateProfil=Detta profilnamn finns redan för denna export. ErrorLDAPSetupNotComplete=Dolibarr-LDAP matchning inte är fullständig. ErrorLDAPMakeManualTest=A. LDIF filen har genererats i katalogen %s. Försök att läsa in den manuellt från kommandoraden för att få mer information om fel. ErrorCantSaveADoneUserWithZeroPercentage=Kan inte spara en åtgärd med "status inte startad" om fältet "gjort av" också är fyllt. -ErrorRefAlreadyExists=Reference %s already exists. +ErrorRefAlreadyExists=Referens %s finns redan. ErrorPleaseTypeBankTransactionReportName=Var god ange kontoutdragsnamnet där posten ska rapporteras ErrorRecordHasChildren=Misslyckades med att radera rekord eftersom det har några barnrekord. ErrorRecordHasAtLeastOneChildOfType=Objektet har minst ett barn av typ %s @@ -96,13 +97,13 @@ ErrorSpecialCharNotAllowedForField=Speciella tecken är inte tillåtna för anv ErrorNumRefModel=En hänvisning finns i databasen (%s) och är inte förenligt med denna numrering regel. Ta bort post eller bytt namn hänvisning till aktivera den här modulen. ErrorQtyTooLowForThisSupplier=Mängden är för låg för den här försäljaren eller inget pris som definieras på denna produkt för den här försäljaren ErrorOrdersNotCreatedQtyTooLow=Vissa beställningar har inte skapats på grund av för låga kvantiteter -ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete. +ErrorModuleSetupNotComplete=Installationen av modulen %s verkar vara ofullständig. Gå hem - Installation - Moduler för att slutföra. ErrorBadMask=Fel på masken ErrorBadMaskFailedToLocatePosOfSequence=Fel, mask utan löpnummer ErrorBadMaskBadRazMonth=Fel, dåligt återställningsvärde ErrorMaxNumberReachForThisMask=Maximalt antal uppnådda för denna mask ErrorCounterMustHaveMoreThan3Digits=Räknaren måste ha mer än 3 siffror -ErrorSelectAtLeastOne=Error, select at least one entry. +ErrorSelectAtLeastOne=Fel, välj minst en post. ErrorDeleteNotPossibleLineIsConsolidated=Radera inte möjligt eftersom posten är kopplad till en banktransaktion som försonas ErrorProdIdAlreadyExist=%s tilldelas ett annat tredje ErrorFailedToSendPassword=Misslyckades med att skicka lösenord @@ -117,15 +118,15 @@ ErrorCantReadFile=Misslyckades med att läsa filen "%s" ErrorCantReadDir=Misslyckades att läsa katalogen "%s" ErrorBadLoginPassword=Felaktigt värde för inloggning eller lösenord ErrorLoginDisabled=Ditt konto har inaktiverats -ErrorFailedToRunExternalCommand=Misslyckades med att köra externa kommandot. Kontrollera den är tillgänglig och körbar av din PHP-server. Om PHP Safe Mode är aktiverat, kontrollera att kommandot är inne i en katalog definieras av parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Det gick inte att köra externt kommando. Kontrollera att den är tillgänglig och kan köras av din PHP-serveranvändare. Kontrollera också att kommandot inte är skyddat på skalnivå av ett säkerhetslager som apparmor. ErrorFailedToChangePassword=Det gick inte att ändra lösenord ErrorLoginDoesNotExists=Användaren med inloggning %s kunde inte hittas. ErrorLoginHasNoEmail=Denna användare har inga e-postadress. Process avbruten. ErrorBadValueForCode=Dåligt värde typer för kod. Försök igen med ett nytt värde ... ErrorBothFieldCantBeNegative=Fält %s och %s kan inte vara både negativt -ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. -ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate %s%%). -ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. +ErrorFieldCantBeNegativeOnInvoice=Fält %s kan inte vara negativt på denna typ av faktura. Om du behöver lägga till en rabattrad, skapar du bara rabatten först (från fältet '%s' på tredjepartskort) och tillämpar den på fakturan. +ErrorLinesCantBeNegativeForOneVATRate=Totalt antal rader (netto efter skatt) kan inte vara negativt för en given icke-null mervärdesskattesats (Hittade en negativ summa för mervärdesskattesats %s %%). +ErrorLinesCantBeNegativeOnDeposits=Linjer kan inte vara negativa vid insättning. Du kommer att stöta på problem när du behöver konsumera depositionen i slutfakturan om du gör det. ErrorQtyForCustomerInvoiceCantBeNegative=Kvantitet för linje i kundfakturor kan inte vara negativt ErrorWebServerUserHasNotPermission=Användarkonto %s användas för att exekvera webbserver har ingen behörighet för den ErrorNoActivatedBarcode=Ingen streckkod typ aktiveras @@ -140,8 +141,8 @@ ErrorNewValueCantMatchOldValue=Nytt värde kan inte vara lika med gamla ErrorFailedToValidatePasswordReset=Det gick inte att REINIT lösenord. Kan vara reinit var redan gjort (den här länken kan bara användas en gång). Om inte, försök att starta om reinit processen. ErrorToConnectToMysqlCheckInstance=Anslut till databasen misslyckas. Kontrollera databaseserveren körs (till exempel med mysql / mariadb kan du starta det från kommandoraden med "sudo service mysql start"). ErrorFailedToAddContact=Det gick inte att lägga till kontakt -ErrorDateMustBeBeforeToday=The date must be lower than today -ErrorDateMustBeInFuture=The date must be greater than today +ErrorDateMustBeBeforeToday=Datumet måste vara lägre än idag +ErrorDateMustBeInFuture=Datumet måste vara större än idag ErrorPaymentModeDefinedToWithoutSetup=Ett betalningsläge var inställt för att skriva %s, men installationen av modulens faktura fördes inte att definiera informationen som ska visas för den här betalningsläget. ErrorPHPNeedModule=Fel, din PHP måste ha modul %s installerad för att använda den här funktionen. ErrorOpenIDSetupNotComplete=Du inställning för Dolibarr konfigurationsfil möjliggör OpenID autentisering, men webbadressen OpenID tjänsten definieras inte i ständig %s @@ -189,7 +190,7 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Dålig definition av menyfältet ErrorSavingChanges=Ett fel har uppstått när ändringarna sparas ErrorWarehouseRequiredIntoShipmentLine=Lager krävs på linjen att skicka ErrorFileMustHaveFormat=Filen måste ha format %s -ErrorFilenameCantStartWithDot=Filename can't start with a '.' +ErrorFilenameCantStartWithDot=Filnamn kan inte börja med ett '.' ErrorSupplierCountryIsNotDefined=Land för den här försäljaren är inte definierad. Korrigera detta först. ErrorsThirdpartyMerge=Misslyckades att slå samman de två dokumenten. Förfrågan avbruten. ErrorStockIsNotEnoughToAddProductOnOrder=Lager är inte tillräckligt för produkt %s för att lägga till det i en ny order. @@ -206,7 +207,7 @@ ErrorPhpMailDelivery=Kontrollera att du inte använder ett för stort antal mott ErrorUserNotAssignedToTask=Användaren måste tilldelas uppgiften för att kunna ange tidskrävande. ErrorTaskAlreadyAssigned=Uppgift som redan tilldelats användaren ErrorModuleFileSeemsToHaveAWrongFormat=Modulpaketet verkar ha fel format. -ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: %s or %s +ErrorModuleFileSeemsToHaveAWrongFormat2=Minst en obligatorisk katalog måste finnas i modulens zip: %s eller %s ErrorFilenameDosNotMatchDolibarrPackageRules=Namnet på modulpaketet ( %s ) matchar inte förväntat namnsyntax: %s ErrorDuplicateTrigger=Fel, duplicera utlösarens namn %s. Redan laddad från %s. ErrorNoWarehouseDefined=Fel, inga lager definierade. @@ -220,51 +221,53 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=Du måste välja om artikeln är ErrorDiscountLargerThanRemainToPaySplitItBefore=Den rabatt du försöker att tillämpa är större än förblir att betala. Dela rabatten i 2 mindre rabatter före. ErrorFileNotFoundWithSharedLink=Filen hittades inte. Det kan hända att dela nyckeln ändrades eller filen togs bort nyligen. ErrorProductBarCodeAlreadyExists=Produktens streckkod %s finns redan på en annan produktreferens. -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Observera också att det inte är möjligt att använda kit för att automatiskt öka / minska subprodukterna när minst en delprodukt (eller delprodukt av delprodukter) behöver ett serienummer. ErrorDescRequiredForFreeProductLines=Beskrivning är obligatorisk för linjer med fri produkt ErrorAPageWithThisNameOrAliasAlreadyExists=Sidan / behållaren %s har samma namn eller alternativ alias som den du försöker använda ErrorDuringChartLoad=Fel vid inmatning av kontoplan. Om några konton inte laddades, kan du fortfarande skriva in dem manuellt. ErrorBadSyntaxForParamKeyForContent=Dålig syntax för param keyforcontent. Måste ha ett värde som börjar med %s eller %s ErrorVariableKeyForContentMustBeSet=Fel, konstanten med namnet %s (med textinnehåll som ska visas) eller %s (med extern webbadress för att visa) måste ställas in. -ErrorURLMustEndWith=URL %s must end %s +ErrorURLMustEndWith=URL %s måste sluta %s ErrorURLMustStartWithHttp=URL %s måste börja med http: // eller https: // -ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// +ErrorHostMustNotStartWithHttp=Värdnamn %s får INTE börja med http: // eller https: // ErrorNewRefIsAlreadyUsed=Fel, den nya referensen används redan -ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. -ErrorSearchCriteriaTooSmall=Search criteria too small. -ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled -ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled -ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist. -ErrorFieldRequiredForProduct=Field '%s' is required for product %s -ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s. -ErrorAddAtLeastOneLineFirst=Add at least one line first -ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible. -ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. -ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. -ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". -ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? -ErrorReplaceStringEmpty=Error, the string to replace into is empty -ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number -ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number -ErrorFailedToReadObject=Error, failed to read object of type %s -ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler -ErrorLoginDateValidity=Error, this login is outside the validity date range -ErrorValueLength=Length of field '%s' must be higher than '%s' -ErrorReservedKeyword=The word '%s' is a reserved keyword -ErrorNotAvailableWithThisDistribution=Not available with this distribution -ErrorPublicInterfaceNotEnabled=Public interface was not enabled -ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page -ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page -ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation -ErrorDateIsInFuture=Error, the date can't be in the future -ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory -ErrorAPercentIsRequired=Error, please fill in the percentage correctly -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Fel, ta bort betalning kopplad till en stängd faktura är inte möjlig. +ErrorSearchCriteriaTooSmall=För kort sökkriterie. +ErrorObjectMustHaveStatusActiveToBeDisabled=Objekt måste ha status 'Aktiv' för att kunna inaktiveras +ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objekt måste ha statusen 'Utkast' eller 'Inaktiverad' för att aktiveras +ErrorNoFieldWithAttributeShowoncombobox=Inga fält har egenskapen 'showoncombobox' till definition av objektet '%s'. Inget sätt att visa kombineraren. +ErrorFieldRequiredForProduct=Fältet '%s' krävs för produkten %s +ProblemIsInSetupOfTerminal=Problemet är vid installation av terminal %s. +ErrorAddAtLeastOneLineFirst=Lägg till minst en rad först +ErrorRecordAlreadyInAccountingDeletionNotPossible=Fel, posten har redan överförts i bokföringen, raderingen är inte möjlig. +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Fel, språk är obligatoriskt om du ställer in sidan som översättning till en annan. +ErrorLanguageOfTranslatedPageIsSameThanThisPage=Fel, översatt sidas språk är detsamma som det här. +ErrorBatchNoFoundForProductInWarehouse=Inget parti / serie hittades för produkten "%s" i lager "%s". +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=Det finns inte tillräckligt med kvantitet för det här partiet / serien för produkten "%s" i lager "%s". +ErrorOnlyOneFieldForGroupByIsPossible=Endast ett fält för "Gruppera efter" är möjligt (andra kasseras) +ErrorTooManyDifferentValueForSelectedGroupBy=Hittade för många olika värden (mer än %s ) för fältet ' %s ', så vi kan inte använda den som en grupp. Fältet "Gruppera efter" har tagits bort. Kanske du ville använda den som en X-Axis? +ErrorReplaceStringEmpty=Fel, strängen som ska ersättas med är tom +ErrorProductNeedBatchNumber=Fel, produkt ' %s ' behöver mycket / serienummer +ErrorProductDoesNotNeedBatchNumber=Fel, produkt ' %s ' accepterar inte mycket / serienummer +ErrorFailedToReadObject=Fel, det gick inte att läsa objekt av typen %s +ErrorParameterMustBeEnabledToAllwoThisFeature=Fel, parameter %s måste aktiveras i conf / conf.php för att tillåta användning av kommandoradsgränssnittet med den interna jobbplaneringen +ErrorLoginDateValidity=Fel, den här inloggningen ligger utanför giltighetsdatumintervallet +ErrorValueLength=Fältets längd ' %s ' måste vara högre än ' %s ' +ErrorReservedKeyword=Ordet ' %s ' är ett reserverat nyckelord +ErrorNotAvailableWithThisDistribution=Ej tillgängligt med denna distribution +ErrorPublicInterfaceNotEnabled=Det offentliga gränssnittet var inte aktiverat +ErrorLanguageRequiredIfPageIsTranslationOfAnother=Språket på den nya sidan måste definieras om det är inställt som en översättning av en annan sida +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=Språket på den nya sidan får inte vara källspråket om det är inställt som en översättning av en annan sida +ErrorAParameterIsRequiredForThisOperation=En parameter är obligatorisk för denna åtgärd +ErrorDateIsInFuture=Fel, datumet kan inte vara i framtiden +ErrorAnAmountWithoutTaxIsRequired=Fel, belopp är obligatoriskt +ErrorAPercentIsRequired=Fel, fyll i procent korrekt +ErrorYouMustFirstSetupYourChartOfAccount=Du måste först ställa in ditt kontoplan +ErrorFailedToFindEmailTemplate=Det gick inte att hitta mall med kodnamn %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Varaktighet definieras inte i tjänsten. Inget sätt att beräkna timpriset. # Warnings -WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. +WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Din PHP-parameter upload_max_filesize (%s) är högre än PHP-parameter post_max_size (%s). Detta är inte en konsekvent installation. WarningPasswordSetWithNoAccount=Ett lösenord har ställts för den här medlemmen. Men inget användarkonto skapades. Så det här lösenordet är lagrat men kan inte användas för att logga in till Dolibarr. Den kan användas av en extern modul / gränssnitt men om du inte behöver definiera någon inloggning eller ett lösenord för en medlem kan du inaktivera alternativet "Hantera en inloggning för varje medlem" från inställningen av medlemsmodulen. Om du behöver hantera en inloggning men inte behöver något lösenord, kan du hålla fältet tomt för att undvika denna varning. Obs! Email kan också användas som inloggning om medlemmen är länkad till en användare. WarningMandatorySetupNotComplete=Klicka här för att ställa in obligatoriska parametrar WarningEnableYourModulesApplications=Klicka här för att aktivera dina moduler och applikationer @@ -287,14 +290,16 @@ WarningYourLoginWasModifiedPleaseLogin=Din inloggning har ändrats. För säkerh WarningAnEntryAlreadyExistForTransKey=Det finns redan en post för översättningsnyckeln för det här språket WarningNumberOfRecipientIsRestrictedInMassAction=Varning, antalet olika mottagare är begränsat till %s vid användning av massåtgärder på listor WarningDateOfLineMustBeInExpenseReportRange=Varning, datumet för raden ligger inte inom kostnadsberäkningsområdet -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. +WarningProjectDraft=Projektet är fortfarande i utkastsläge. Glöm inte att validera det om du planerar att använda uppgifter. WarningProjectClosed=Projektet är stängt. Du måste öppna den först igen. -WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. -WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table -WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. -WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list -WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningSomeBankTransactionByChequeWereRemovedAfter=En del banktransaktioner togs bort efter det att kvittot inklusive dem genererades. Så antal kontroller och totala kvitton kan skilja sig från antal och totala i listan. +WarningFailedToAddFileIntoDatabaseIndex=Varning, det gick inte att lägga till filinmatning i ECM-databasindextabellen +WarningTheHiddenOptionIsOn=Varning, det dolda alternativet %s är på. +WarningCreateSubAccounts=Varning, du kan inte skapa ett underkonto direkt, du måste skapa en tredje part eller en användare och tilldela dem en redovisningskod för att hitta dem i den här listan +WarningAvailableOnlyForHTTPSServers=Endast tillgängligt om du använder HTTPS-säker anslutning. +WarningModuleXDisabledSoYouMayMissEventHere=Modulen %s har inte aktiverats. Så du kanske missar en hel del evenemang här. +ErrorActionCommPropertyUserowneridNotDefined=Användarens ägare krävs +ErrorActionCommBadType=Vald händelsetyp (id: %n, kod: %s) finns inte i ordlistan för händelsetyp +CheckVersionFail=Versionskontroll misslyckades +ErrorWrongFileName=Filens namn kan inte innehålla __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Inte i ordningen för betalningsvillkor, ändra. diff --git a/htdocs/langs/sv_SE/eventorganization.lang b/htdocs/langs/sv_SE/eventorganization.lang index 2ae2187c61a..864d789fa8b 100644 --- a/htdocs/langs/sv_SE/eventorganization.lang +++ b/htdocs/langs/sv_SE/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,86 +17,133 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Event Organisation +EventOrganizationDescription = Eventorganisation genom modulprojekt +EventOrganizationDescriptionLong= Hantera evenemangsorganisation för konferens, deltagare, talare och deltagare, med en offentlig prenumerationssida # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Organiserade evenemang +EventOrganizationConferenceOrBoothMenuLeft = Konferens eller monter # # Admin page # -EventOrganizationSetup = Event Organization setup +EventOrganizationSetup = Konfiguration av händelseorganisation Settings = inställningar -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference -EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EventOrganizationSetupPage = Inställningssida för händelseorganisation +EVENTORGANIZATION_TASK_LABEL = Etikett för uppgifter som ska skapas automatiskt när projektet valideras +EVENTORGANIZATION_TASK_LABELTooltip = När du validerar en organiserad händelse kan vissa uppgifter skapas automatiskt i projektet

    Exempel:
    Skicka samtal för konferens
    Skicka samtal för monter
    Ta emot samtal för konferens
    påminna om händelse till högtalare
    Skicka påminnelse om händelse till den bodansvariga
    Skicka påminnelse om händelse till deltagare
    Skicka påminnelse om händelse till den bodansvariga
    Skicka påminnelse om händelse till deltagare +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Kategori som automatiskt kan läggas till tredje part när någon föreslår en konferens +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Kategori som ska läggas till tredje part automatiskt skapas när de föreslår en monter +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Mall för e-post att skicka efter att ha fått ett förslag på en konferens. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Mall för e-post att skicka efter att ha fått ett förslag på en monter. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Mall för e-post att skicka efter att ett abonnemang på en monter har betalats. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Mall för e-post att skicka efter att ett abonnemang på ett evenemang har betalats. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Mall för e-post för massaktion till attendes +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Mall för e-post för massaktion till högtalare +EVENTORGANIZATION_FILTERATTENDEES_CAT = Filtrera tredje parts vallista i deltagarnas skapande kort / formulär med kategori +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtrera tredje parts vallista i deltagarnas skapande kort / formulär med kundtyp # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +EventOrganizationConfOrBooth= Konferens eller monter +ManageOrganizeEvent = Hantera evenemangsorganisation +ConferenceOrBooth = Konferens eller monter +ConferenceOrBoothTab = Konferens eller monter +AmountOfSubscriptionPaid = Betalt abonnemangsbelopp +DateSubscription = Datum för prenumeration +ConferenceOrBoothAttendee = Konferens eller monterdeltagare # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Din begäran om konferens mottogs +YourOrganizationEventBoothRequestWasReceived = Din begäran om monter togs emot +EventOrganizationEmailAskConf = Begäran om konferens +EventOrganizationEmailAskBooth = Begäran om monter +EventOrganizationEmailSubsBooth = Prenumeration på monter +EventOrganizationEmailSubsEvent = Prenumeration på ett evenemang +EventOrganizationMassEmailAttendees = Kommunikation till deltagarna +EventOrganizationMassEmailSpeakers = Kommunikation till högtalarna # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +AllowUnknownPeopleSuggestConf=Tillåt okända personer att föreslå konferenser +AllowUnknownPeopleSuggestConfHelp=Tillåt okända personer att föreslå konferenser +AllowUnknownPeopleSuggestBooth=Låt okända personer föreslå monter +AllowUnknownPeopleSuggestBoothHelp=Låt okända personer föreslå monter +PriceOfRegistration=Pris för registrering +PriceOfRegistrationHelp=Pris för registrering +PriceOfBooth=Prenumerationspris för att stå en monter +PriceOfBoothHelp=Prenumerationspris för att stå en monter +EventOrganizationICSLink=Länka ICS för evenemang +ConferenceOrBoothInformation=Information om konferens eller monter +Attendees = Deltagare +DownloadICSLink = Ladda ner ICS-länk +EVENTORGANIZATION_SECUREKEY = Säker nyckel till länken till offentlig registrering till en konferens +SERVICE_BOOTH_LOCATION = Tjänst som används för fakturaraden om en monterplats +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Tjänst som används för fakturaraden om en deltagarprenumeration på en konferens +NbVotes=Röstetal # # Status # EvntOrgDraft = Utkast -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified +EvntOrgSuggested = Föreslagen +EvntOrgConfirmed = Bekräftad +EvntOrgNotQualified = Inte kvalificerad EvntOrgDone = Klar -EvntOrgCancelled = Cancelled +EvntOrgCancelled = Inställt # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Förslagssida +RegisterPage = Sida för konferenser eller monter +EvntOrgRegistrationHelpMessage = Här kan du rösta på ett evenemang eller föreslå en ny konferens eller monter för projektet +EvntOrgRegistrationConfHelpMessage = Här kan du föreslå en ny konferens för projektet +EvntOrgRegistrationBoothHelpMessage = Här kan du föreslå en ny monter för projektet +ListOfSuggestedConferences = Lista över föreslagna konferenser +ListOfSuggestedBooths = Lista över föreslagna bås +SuggestConference = Föreslå en ny konferens +SuggestBooth = Föreslå en monter +ViewAndVote = Visa och rösta på föreslagna händelser +PublicAttendeeSubscriptionPage = Offentlig länk för registrering till en konferens +MissingOrBadSecureKey = Säkerhetsnyckeln är ogiltig eller saknas +EvntOrgWelcomeMessage = Med det här formuläret kan du registrera dig som en ny deltagare till konferensen: '%s' +EvntOrgDuration = Denna konferens börjar på %s och slutar på %s. +ConferenceAttendeeFee = Konferensdeltagaravgift för evenemanget: '%s' som inträffar från %s till %s. +BoothLocationFee = Båsplats för evenemanget: '%s' som inträffar från %s till %s +EventType = Typ av händelse +LabelOfBooth=Båsetikett +LabelOfconference=Konferensetikett +ConferenceIsNotConfirmed=Prenumerationen är inte tillgänglig, konferensen är ännu inte bekräftad +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Välkommen till konferens- eller monteringssidan. +EvntOrgRegistrationConfWelcomeMessage = Välkommen till konferenssidan. +EvntOrgRegistrationBoothWelcomeMessage = Välkommen till förslagssidan för monter. +EvntOrgVoteHelpMessage = Här kan du se och rösta på de föreslagna händelserna för projektet +VoteOk = Din röst har accepterats. +AlreadyVoted = Du har redan röstat på det här evenemanget. +VoteError = Ett fel har inträffat under omröstningen, försök igen. + +# +# SubscriptionOk page +# +SubscriptionOk = Din prenumeration på den här konferensen har validerats +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Bekräftelse på din prenumeration på en konferens +# +# Payment page +# +Attendee = Deltagare +PaymentConferenceAttendee = Konferensdeltagarebetalning +PaymentBoothLocation = Betalning av monterplats diff --git a/htdocs/langs/sv_SE/exports.lang b/htdocs/langs/sv_SE/exports.lang index 445763abcf0..f5ee218134f 100644 --- a/htdocs/langs/sv_SE/exports.lang +++ b/htdocs/langs/sv_SE/exports.lang @@ -1,33 +1,33 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Export -ImportArea=Import +ImportArea=Importera NewExport=Ny export NewImport=Ny import -ExportableDatas=Exporteras dataset -ImportableDatas=Importeras dataset -SelectExportDataSet=Välj uppsättning data du vill exportera ... -SelectImportDataSet=Välj uppsättning data du vill importera ... -SelectExportFields=Välj de fält du vill exportera, eller välj en fördefinierad exportprofil -SelectImportFields=Välj de källfält som du vill importera och deras målfält i databasen genom att flytta dem upp och ner med ankar %s, eller välj en fördefinierad importprofil: -NotImportedFields=Fält av källfil importeras inte -SaveExportModel=Spara dina val som exportprofil / mall (för återanvändning). +ExportableDatas=Exporterbar dataset +ImportableDatas=Importabel dataset +SelectExportDataSet=Välj dataset du vill exportera ... +SelectImportDataSet=Välj dataset du vill importera ... +SelectExportFields=Välj de fält du vill exportera eller välj en fördefinierad exportprofil +SelectImportFields=Välj källfilens fält som du vill importera och deras målfält i databasen genom att flytta dem upp och ner med ankare %s, eller välj en fördefinierad importprofil: +NotImportedFields=Fält för källfilen har inte importerats +SaveExportModel=Spara dina val som en exportprofil / mall (för återanvändning). SaveImportModel=Spara den här importprofilen (för återanvändning) ... -ExportModelName=Export profilnamn +ExportModelName=Exportera profilnamn ExportModelSaved=Exportprofil sparad som %s . -ExportableFields=Exporteras fält -ExportedFields=Exporterad fält +ExportableFields=Exporterbara fält +ExportedFields=Exporterade fält ImportModelName=Importera profilnamn -ImportModelSaved=Importera profil sparad som %s . +ImportModelSaved=Importprofilen sparad som %s . DatasetToExport=Dataset att exportera -DatasetToImport=Importera filen i datasetet -ChooseFieldsOrdersAndTitle=Välj fält för att ... -FieldsTitle=Fält titel -FieldTitle=Fält titel -NowClickToGenerateToBuildExportFile=Välj nu filformatet i kombinationsrutan och klicka på "Generera" för att bygga exportfilen ... +DatasetToImport=Importera fil till dataset +ChooseFieldsOrdersAndTitle=Välj fältordning ... +FieldsTitle=Fältets titel +FieldTitle=Fältets titel +NowClickToGenerateToBuildExportFile=Välj nu filformatet i kombinationsrutan och klicka på "Skapa" för att bygga exportfilen ... AvailableFormats=Tillgängliga format LibraryShort=Bibliotek -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator +ExportCsvSeparator=Csv-karaktärsavgränsare +ImportCsvSeparator=Csv-karaktärsavgränsare Step=Steg FormatedImport=Importassistent FormatedImportDesc1=Den här modulen låter dig uppdatera befintliga data eller lägga till nya objekt i databasen från en fil utan teknisk kunskap, med hjälp av en assistent. @@ -39,7 +39,7 @@ FormatedExportDesc3=När data som exporteras väljs kan du välja formatet för Sheet=Sheet NoImportableData=Inga importeras data (ingen modul med definitioner för att möjliggöra data import) FileSuccessfullyBuilt=Fil skapad -SQLUsedForExport=SQL Request used to extract data +SQLUsedForExport=SQL-begäran används för att extrahera data LineId=Id av rad LineLabel=Radetikett LineDescription=Beskrivning av linjen @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Typ av linje (0 = produkt, 1 = tjänst) FileWithDataToImport=Fil med data för att importera FileToImport=Källa fil du vill importera FileMustHaveOneOfFollowingFormat=Fil som ska importeras måste ha ett av följande format -DownloadEmptyExample=Hämta mallfil med fältinnehållsinformation (* är obligatoriska fält) +DownloadEmptyExample=Ladda ner mall med fält för innehållsinformation +StarAreMandatory=* alla fält krävs ChooseFormatOfFileToImport=Välj det filformat som ska användas som importfilformat genom att klicka på ikonen %s för att välja den ... ChooseFileToImport=Ladda upp filen och klicka sedan på %s ikonen för att välja fil som källa importfil ... SourceFileFormat=Källa filformat @@ -115,7 +116,7 @@ ExportDateFilter=ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ ExportNumericFilter=NNNNN-filter med ett värde
    NNNNN + NNNNN-filter över en rad värden
    > NNNNN-filter med högre värden ImportFromLine=Importera från linjenummer EndAtLineNb=Avsluta vid radnummer -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). +ImportFromToLine=Gränsområde (Från - Till). T.ex. att utelämna rubrik (er). SetThisValueTo2ToExcludeFirstLine=Ange till exempel detta värde till 3 för att utesluta de 2 första raderna.
    Om rubriklinjerna INTE utelämnas kommer detta att resultera i flera fel i Impulsimuleringen. KeepEmptyToGoToEndOfFile=Håll det här fältet tomt för att bearbeta alla rader till slutet av filen. SelectPrimaryColumnsForUpdateAttempt=Välj kolumn (er) som ska användas som primär nyckel för en UPDATE-import @@ -133,4 +134,4 @@ KeysToUseForUpdates=Nyckel (kolumn) som ska användas för uppdatering av %s. -FTPFailedToRemoveDir=Misslyckades med att ta bort katalogen %s (Kontrollera behörigheter och att katalogen är tom). +FTPFailedToRemoveDir=Misslyckades med att ta bort katalogen %s : kolla behörigheter och att katalogen är tom. FTPPassiveMode=Passivt läge -ChooseAFTPEntryIntoMenu=Choose a FTP entry into menu... -FailedToGetFile=Failed to get files %s +ChooseAFTPEntryIntoMenu=Välj en FTP / SFTP-webbplats från menyn ... +FailedToGetFile=Filhämtning misslyckades %s diff --git a/htdocs/langs/sv_SE/holiday.lang b/htdocs/langs/sv_SE/holiday.lang index bb1aca64208..ab3dd896220 100644 --- a/htdocs/langs/sv_SE/holiday.lang +++ b/htdocs/langs/sv_SE/holiday.lang @@ -13,12 +13,12 @@ ToReviewCP=Väntar på godkännande ApprovedCP=Godkänd CancelCP=Annullerad RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Godkännare ListeCP=Förteckning över ledighet Leave=Lämna begäran LeaveId=Lämna ID ReviewedByCP=Kommer att godkännas av -UserID=User ID +UserID=användar ID UserForApprovalID=Användare för godkännande-ID UserForApprovalFirstname=Förnamn för godkännande användare UserForApprovalLastname=Efternamn för godkännandeanvändare @@ -39,11 +39,11 @@ TitreRequestCP=Lämna begäran TypeOfLeaveId=Typ av ledighet ID TypeOfLeaveCode=Typ av ledighetskod TypeOfLeaveLabel=Typ av lämnad etikett -NbUseDaysCP=Antal dagars semester konsumeras -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Dagar konsumeras -NbUseDaysCPShortInMonth=Dagar konsumeras i månaden -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Antal lediga dagar +NbUseDaysCPHelp=Beräkningen tar hänsyn till icke-arbetsdagar och helgdagar som definieras i ordlistan. +NbUseDaysCPShort=Ledighetsdagar +NbUseDaysCPShortInMonth=Ledighetsdagar i månad +DayIsANonWorkingDay=%s är en icke-arbetsdag DateStartInMonth=Startdatum i månaden DateEndInMonth=Slutdatum i månaden EditCP=Redigera @@ -55,7 +55,7 @@ TitleDeleteCP=Radera begäran ledighet ConfirmDeleteCP=Bekräfta raderingen av denna ledighet förfrågan? ErrorCantDeleteCP=Fel att du inte har rätt att ta bort denna ledighet begäran. CantCreateCP=Du har inte rätt att göra ledighet förfrågningar. -InvalidValidatorCP=Du måste välja en approbator till din ledighet förfrågan. +InvalidValidatorCP=Du måste välja godkännare för din ledighetsförfrågan. NoDateDebut=Du måste välja ett startdatum. NoDateFin=Du måste välja ett slutdatum. ErrorDureeCP=Din ledighet framställningen inte innehåller arbetsdag. @@ -80,14 +80,14 @@ UserCP=Användare ErrorAddEventToUserCP=Ett fel uppstod när den exceptionella ledighet. AddEventToUserOkCP=Tillägget av den exceptionella ledigheten har slutförts. MenuLogCP=Kontrollera ändringsloggen -LogCP=Log av uppdateringar av tillgängliga semesterdagar -ActionByCP=Framförd av -UserUpdateCP=För användaren +LogCP=Logg över alla uppdateringar gjorda av "Balans av ledighet" +ActionByCP=Uppdaterad av +UserUpdateCP=Uppdaterad för PrevSoldeCP=Föregående Balance NewSoldeCP=New Balance alreadyCPexist=En begäran ledigheten har redan gjorts på denna period. -FirstDayOfHoliday=Första dagen på semestern -LastDayOfHoliday=Sista dagen på semestern +FirstDayOfHoliday=Börjedag för begäran om ledighet +LastDayOfHoliday=Slutdagens ledighetsförfrågan BoxTitleLastLeaveRequests=Senaste %s ändrade lämnar förfrågningar HolidaysMonthlyUpdate=Månads uppdatering ManualUpdate=Manuell uppdatering @@ -104,8 +104,8 @@ LEAVE_SICK=Sjukskriven LEAVE_OTHER=Annan ledighet LEAVE_PAID_FR=Betald semester ## Configuration du Module ## -LastUpdateCP=Senaste automatiska uppdateringen av ledighetstilldelning -MonthOfLastMonthlyUpdate=Månad för senaste automatiska uppdateringen av ledighetstilldelning +LastUpdateCP=Senaste automatiska uppdateringen av tilldelning av ledighet +MonthOfLastMonthlyUpdate=Månad för senaste automatiska uppdatering av tilldelning av ledighet UpdateConfCPOK=Uppdaterats. Module27130Name= Hantering av ledighet förfrågningar Module27130Desc= Hantering av ledighet förfrågningar @@ -125,10 +125,12 @@ HolidaysCanceledBody=Din ledighet begäran om %s till %s har avbrutits. FollowedByACounter=1: Denna typ av ledighet måste följas av en räknare. Räknaren ökas manuellt eller automatiskt och när en förfrågningsbegäran är validerad minskas räknaren.
    0: Ej följd av en räknare. NoLeaveWithCounterDefined=Det finns inga lämna typer som måste följas av en räknare GoIntoDictionaryHolidayTypes=Gå in i Hem - Inställning - Ordböcker - Typ av tjänst för att konfigurera olika typer av löv. -HolidaySetup=Inställning av modul Holiday -HolidaysNumberingModules=Lämna begäran nummereringsmodeller +HolidaySetup=Installation av modulen Lämna +HolidaysNumberingModules=Numreringsmodeller för ledighetsförfrågningar TemplatePDFHolidays=Mall för lämningsförfrågningar PDF FreeLegalTextOnHolidays=Gratis text på PDF WatermarkOnDraftHolidayCards=Vattenstämplar på utkastsförfrågningar -HolidaysToApprove=Holidays to approve -NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidaysToApprove=Semester att godkänna +NobodyHasPermissionToValidateHolidays=Ingen har tillstånd att godkänna helgdagar +HolidayBalanceMonthlyUpdate=Månadsuppdatering av semestersaldot +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/sv_SE/hrm.lang b/htdocs/langs/sv_SE/hrm.lang index 8cf4dd076d8..c82e3568849 100644 --- a/htdocs/langs/sv_SE/hrm.lang +++ b/htdocs/langs/sv_SE/hrm.lang @@ -9,11 +9,11 @@ ConfirmDeleteEstablishment=Är du säker på att du vill radera den här anlägg OpenEtablishment=Öppen anläggning CloseEtablishment=Stäng anläggningen # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Ledighet - Helgdagar DictionaryDepartment=HRM - Avdelningslista -DictionaryFunction=HRM - Job positions +DictionaryFunction=HRM - Jobbpositioner # Module Employees=anställda Employee=Anställd NewEmployee=Ny anställd -ListOfEmployees=List of employees +ListOfEmployees=Lista över anställda diff --git a/htdocs/langs/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index c24385de975..a95eaa82431 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -11,18 +11,18 @@ ConfFileReload=Uppdatera parametrar från konfigurationsfilen. PHPSupportPOSTGETOk=Detta stöder PHP variabler POST och GET. PHPSupportPOSTGETKo=Det är möjligt att din PHP-inställning inte stöder variabler POST och / eller GET. Kontrollera parametern variables_order i php.ini. PHPSupportSessions=Detta stöder PHP sessioner. -PHPSupport=This PHP supports %s functions. +PHPSupport=Denna PHP stöder %s-funktioner. PHPMemoryOK=Din PHP max session minne är inställt på %s. Detta bör vara nog. PHPMemoryTooLow=Ditt PHP max-sessionminne är inställt på %s bytes. Detta är för lågt. Ändra din php.ini för att ställa in memory_limit parameter till minst %s bytes. Recheck=Klicka här för ett mer detaljerat test ErrorPHPDoesNotSupportSessions=Din PHP-installation stöder inte sessioner. Den här funktionen är nödvändig för att Dolibarr ska fungera. Kontrollera din PHP-inställning och behörighet i sessionskatalogen. ErrorPHPDoesNotSupportGD=Din PHP-installation stöder inte GD grafiska funktioner. Inga diagram kommer att finnas tillgängliga. ErrorPHPDoesNotSupportCurl=Din PHP-installation stöder inte Curl. -ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. +ErrorPHPDoesNotSupportCalendar=Din PHP-installation stöder inte php-kalendertillägg. ErrorPHPDoesNotSupportUTF8=Din PHP-installation stöder inte UTF8-funktioner. Dolibarr kan inte fungera korrekt. Lös det här innan du installerar Dolibarr. ErrorPHPDoesNotSupportIntl=Din PHP-installation stöder inte Intl-funktioner. -ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. -ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. +ErrorPHPDoesNotSupportxDebug=Din PHP-installation stöder inte utökade felsökningsfunktioner. +ErrorPHPDoesNotSupport=Din PHP-installation stöder inte %s-funktioner. ErrorDirDoesNotExists=Nummer %s finns inte. ErrorGoBackAndCorrectParameters=Gå tillbaka och kontrollera / korrigera parametrarna. ErrorWrongValueForParameter=Du kan ha skrivit fel värde för parametern "%s". @@ -87,7 +87,7 @@ GoToSetupArea=Gå till Dolibarr (inställning-området) MigrationNotFinished=Databasversionen är inte helt uppdaterad: kör uppgraderingsprocessen igen. GoToUpgradePage=Gå till uppgradering sida igen WithNoSlashAtTheEnd=Utan ett snedstreck "/" i slutet -DirectoryRecommendation=IMPORTANT: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). +DirectoryRecommendation= VIKTIGT : Du måste använda en katalog som ligger utanför webbsidorna (så använd inte en underkatalog till föregående parameter). LoginAlreadyExists=Redan finns DolibarrAdminLogin=Dolibarr admin logik AdminLoginAlreadyExists=Dolibarr administratörskonto ' %s ' existerar redan. Gå tillbaka om du vill skapa en annan. @@ -203,15 +203,16 @@ MigrationRemiseExceptEntity=Uppdatera enhetens fältvärde av llx_societe_remise MigrationUserRightsEntity=Uppdatera enhetens fältvärde av llx_user_rights MigrationUserGroupRightsEntity=Uppdatera enhetens fältvärde av llx_usergroup_rights MigrationUserPhotoPath=Migrering av bildvägar för användare -MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) +MigrationFieldsSocialNetworks=Migrering av användarnas fält sociala nätverk (%s) MigrationReloadModule=Ladda om modulen %s MigrationResetBlockedLog=Återställningsmodul BlockedLog för v7-algoritmen +MigrationImportOrExportProfiles=Migrering av import- eller exportprofiler (%s) ShowNotAvailableOptions=Visa otillgängliga alternativ HideNotAvailableOptions=Dölj otillgängliga alternativ ErrorFoundDuringMigration=Fel (er) rapporterades under migreringsprocessen så nästa steg är inte tillgängligt. För att ignorera fel kan du klicka här , men programmet eller vissa funktioner kanske inte fungerar korrekt tills felen har lösts. YouTryInstallDisabledByDirLock=Applikationen försökte självuppgradera, men installations- / uppgraderingssidorna har inaktiverats för säkerhet (katalog omdämd med .lock-suffix).
    YouTryInstallDisabledByFileLock=Applikationen försökte självuppgradera, men installations- / uppgraderingssidorna har inaktiverats för säkerhet (genom att det finns en låsfil install.lock i katalogen dolibarr documents).
    ClickHereToGoToApp=Klicka här för att gå till din ansökan -ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. -Loaded=Loaded -FunctionTest=Function test +ClickOnLinkOrRemoveManualy=Vänta, om en uppgradering pågår. Om inte, klicka på följande länk. Om du alltid ser samma sida måste du ta bort / byta namn på filen install.lock i dokumentkatalogen. +Loaded=Lastad +FunctionTest=Funktionstest diff --git a/htdocs/langs/sv_SE/interventions.lang b/htdocs/langs/sv_SE/interventions.lang index 82dedf51bb9..f3f970777f2 100644 --- a/htdocs/langs/sv_SE/interventions.lang +++ b/htdocs/langs/sv_SE/interventions.lang @@ -57,10 +57,12 @@ InterDateCreation=Datum skapande insats InterDuration=Varaktighetsintervention InterStatus=Statusintervention InterNote=Observera insats -InterLine=Line of intervention +InterLine=Interventionslinje InterLineId=Line id insats InterLineDate=Linjedatumintervention InterLineDuration=Linjens längdintervention InterLineDesc=Linjebeskrivningsintervention -RepeatableIntervention=Template of intervention -ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +RepeatableIntervention=Mall för intervention +ToCreateAPredefinedIntervention=För att skapa en fördefinierad eller återkommande intervention, skapa en gemensam intervention och konvertera den till interventionsmall +ConfirmReopenIntervention=Är du säker på att du vill öppna interventionen %s ? +GenerateInter=Generera intervention diff --git a/htdocs/langs/sv_SE/intracommreport.lang b/htdocs/langs/sv_SE/intracommreport.lang index 8b6713062c8..2cdd3169b27 100644 --- a/htdocs/langs/sv_SE/intracommreport.lang +++ b/htdocs/langs/sv_SE/intracommreport.lang @@ -1,7 +1,7 @@ -Module68000Name = Intracomm report -Module68000Desc = Intracomm report management (Support for French DEB/DES format) -IntracommReportSetup = Intracommreport module setup -IntracommReportAbout = About intracommreport +Module68000Name = Intracomm-rapport +Module68000Desc = Intracomm-rapporthantering (stöd för franska DEB / DES-format) +IntracommReportSetup = Konfigurering av modul för internkommunikation +IntracommReportAbout = Om intracommreport # Setup INTRACOMMREPORT_NUM_AGREMENT=Numéro d'agrément (délivré par le CISD de rattachement) @@ -14,27 +14,27 @@ INTRACOMMREPORT_CATEG_FRAISDEPORT=Catégorie de services de type "Frais de port" INTRACOMMREPORT_NUM_DECLARATION=Numéro de déclarant # Menu -MenuIntracommReport=Intracomm report -MenuIntracommReportNew=New declaration +MenuIntracommReport=Intracomm-rapport +MenuIntracommReportNew=Ny förklaring MenuIntracommReportList=Lista # View -NewDeclaration=New declaration -Declaration=Declaration -AnalysisPeriod=Analysis period -TypeOfDeclaration=Type of declaration -DEB=Goods exchange declaration (DEB) -DES=Services exchange declaration (DES) +NewDeclaration=Ny förklaring +Declaration=Deklaration +AnalysisPeriod=Analysperiod +TypeOfDeclaration=Typ av deklaration +DEB=Godsutbytesdeklaration (DEB) +DES=Tjänsteutbytesdeklaration (DES) # Export page -IntracommReportTitle=Preparation of an XML file in ProDouane format +IntracommReportTitle=Förberedelse av en XML-fil i ProDouane-format # List -IntracommReportList=List of generated declarations +IntracommReportList=Lista över genererade deklarationer IntracommReportNumber=Numero of declaration -IntracommReportPeriod=Period of nalysis -IntracommReportTypeDeclaration=Type of declaration -IntracommReportDownload=download XML file +IntracommReportPeriod=Analysperiod +IntracommReportTypeDeclaration=Typ av deklaration +IntracommReportDownload=ladda ner XML-fil # Invoice -IntracommReportTransportMode=Transport mode +IntracommReportTransportMode=Transportläge diff --git a/htdocs/langs/sv_SE/knowledgemanagement.lang b/htdocs/langs/sv_SE/knowledgemanagement.lang index 89be844c39f..aba8cf83033 100644 --- a/htdocs/langs/sv_SE/knowledgemanagement.lang +++ b/htdocs/langs/sv_SE/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Kunskapshanteringssystem # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Hantera en kunskapshanterings- (KM) eller Help-Desk-bas # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Konfigurationssystem för kunskapshantering Settings = inställningar -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetupPage = Kunskapshanteringssystem inställningssida # # About page # About = Om -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +KnowledgeManagementAbout = Om kunskapshantering +KnowledgeManagementAboutPage = Kunshantering om sidan -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles +KnowledgeManagementArea = Kunskapshantering +MenuKnowledgeRecord = Kunskapsbas +ListKnowledgeRecord = Lista över artiklar +NewKnowledgeRecord = Ny artikel +ValidateReply = Validera lösningen +KnowledgeRecords = Artiklar KnowledgeRecord = Artikel -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeRecordExtraFields = Extrafält för artikel +GroupOfTicket=Grupp av biljetter +YouCanLinkArticleToATicketCategory=Du kan länka en artikel till en biljettgrupp (så artikeln kommer att föreslås under kvalificeringen av nya biljetter) diff --git a/htdocs/langs/sv_SE/languages.lang b/htdocs/langs/sv_SE/languages.lang index 3e1b532ef97..1e1c861fd66 100644 --- a/htdocs/langs/sv_SE/languages.lang +++ b/htdocs/langs/sv_SE/languages.lang @@ -1,11 +1,14 @@ # Dolibarr language file - Source file is en_US - languages -Language_am_ET=Ethiopian +Language_am_ET=Etiopisk Language_ar_AR=Arabiska Language_ar_EG=Arabiska (egypten) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabiskt -Language_az_AZ=Azerbaijani +Language_ar_TN=Arabiska (Tunisien) +Language_ar_IQ=Arabiska (irak) +Language_az_AZ=Azerbajdzjanska Language_bn_BD=Bengaliska -Language_bn_IN=Bengali (India) +Language_bn_IN=Bengali (Indien) Language_bg_BG=Bulgariska Language_bs_BA=Bosniska Language_ca_ES=Katalanska @@ -23,7 +26,7 @@ Language_en_GB=Engelska (Storbritannien) Language_en_IN=Engelska (Indien) Language_en_NZ=Engelska (Nya Zeeland) Language_en_SA=Engelska (Saudiarabien) -Language_en_SG=English (Singapore) +Language_en_SG=Engelska (Singapore) Language_en_US=Engelska (USA) Language_en_ZA=Engelska (Sydafrika) Language_es_ES=Spanska @@ -33,16 +36,16 @@ Language_es_CL=Spanska (Chile) Language_es_CO=Spanska (Colombia) Language_es_DO=Spanska (Dominikanska republiken) Language_es_EC=Spanska (ecuador) -Language_es_GT=Spanish (Guatemala) +Language_es_GT=Spanska (Guatemala) Language_es_HN=Spanska (Honduras) Language_es_MX=Spanska (Mexiko) Language_es_PA=Spanska (panama) Language_es_PY=Spanska (Paraguay) Language_es_PE=Spanska (Peru) Language_es_PR=Spanska (Puerto Rico) -Language_es_US=Spanish (USA) +Language_es_US=Spanska (USA) Language_es_UY=Spanska (uruguay) -Language_es_GT=Spanish (Guatemala) +Language_es_GT=Spanska (Guatemala) Language_es_VE=Spanska (Venezuela) Language_et_EE=Estniska Language_eu_ES=Baskiska @@ -51,22 +54,22 @@ Language_fi_FI=finsk Language_fr_BE=Franska (Belgien) Language_fr_CA=Franska (Kanada) Language_fr_CH=Franska (Schweiz) -Language_fr_CI=French (Cost Ivory) -Language_fr_CM=French (Cameroun) +Language_fr_CI=Franska (kostnad elfenben) +Language_fr_CM=Franska (Cameroun) Language_fr_FR=Franska -Language_fr_GA=French (Gabon) +Language_fr_GA=Franska (Gabon) Language_fr_NC=Franska (Nya Kaledonien) -Language_fr_SN=French (Senegal) +Language_fr_SN=Franska (Senegal) Language_fy_NL=Frisiska -Language_gl_ES=Galician +Language_gl_ES=Galiciska Language_he_IL=Hebreiska -Language_hi_IN=Hindi (India) +Language_hi_IN=Hindi (Indien) Language_hr_HR=Kroatiska Language_hu_HU=Ungerska Language_id_ID=Indonesiska Language_is_IS=Isländska Language_it_IT=Italienska -Language_it_CH=Italian (Switzerland) +Language_it_CH=Italienska (Schweiz) Language_ja_JP=Japanska Language_ka_GE=Gregorianska Language_km_KH=Khmer @@ -78,12 +81,14 @@ Language_lv_LV=Lettländska Language_mk_MK=Makedonska Language_mn_MN=mongoliska Language_nb_NO=Norska (bokmål) -Language_ne_NP=Nepali +Language_ne_NP=Nepalesiska Language_nl_BE=Holländska (Belgien) -Language_nl_NL=Dutch +Language_nl_NL=Nederländska Language_pl_PL=Polska +Language_pt_AO=Portugisiska (Angola) Language_pt_BR=Portugisiska (Brasilien) Language_pt_PT=Portugisiska +Language_ro_MD=Rumänska (Moldavien) Language_ro_RO=Rumänska Language_ru_RU=Ryska Language_ru_UA=Ryska (Ukraina) @@ -101,5 +106,5 @@ Language_uz_UZ=Uzbekiska Language_vi_VN=Vietnamesiska Language_zh_CN=Kinesiska Language_zh_TW=Kinesiska (traditionell) -Language_zh_HK=Chinese (Hong Kong) +Language_zh_HK=Kinesiska (Hong Kong) Language_bh_MY=Malay diff --git a/htdocs/langs/sv_SE/link.lang b/htdocs/langs/sv_SE/link.lang index 123ec53d089..dbe9db244dc 100644 --- a/htdocs/langs/sv_SE/link.lang +++ b/htdocs/langs/sv_SE/link.lang @@ -8,4 +8,4 @@ LinkRemoved=Länken %s har tagits bort ErrorFailedToDeleteLink= Det gick inte att ta bort länk '%s' ErrorFailedToUpdateLink= Det gick inte att uppdatera länken '%s' URLToLink=URL för länk -OverwriteIfExists=Overwrite file if exists +OverwriteIfExists=Skriv över fil om den existerar diff --git a/htdocs/langs/sv_SE/loan.lang b/htdocs/langs/sv_SE/loan.lang index c77b8e12747..c1be5555d90 100644 --- a/htdocs/langs/sv_SE/loan.lang +++ b/htdocs/langs/sv_SE/loan.lang @@ -23,9 +23,9 @@ AddLoan=Skapa lån FinancialCommitment=Finansiellt engagemang InterestAmount=Ränta CapitalRemain=Kapital kvarstår -TermPaidAllreadyPaid = This term is allready paid -CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started -CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule +TermPaidAllreadyPaid = Denna period är redan betald +CantUseScheduleWithLoanStartedToPaid = Kan inte använda schemaläggaren för ett lån när betalningen har startat +CantModifyInterestIfScheduleIsUsed = Du kan inte ändra intresse om du använder schema # Admin ConfigLoan=Modullånets konfiguration LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Redovisningskontokapital som standard diff --git a/htdocs/langs/sv_SE/mails.lang b/htdocs/langs/sv_SE/mails.lang index 0dd05d68d23..4e716343a22 100644 --- a/htdocs/langs/sv_SE/mails.lang +++ b/htdocs/langs/sv_SE/mails.lang @@ -15,12 +15,12 @@ MailToUsers=Till användare MailCC=Kopiera till MailToCCUsers=Kopiera till användare (er) MailCCC=Cachad kopia till -MailTopic=Email subject +MailTopic=E-postämne MailText=Meddelande MailFile=Bifogade filer MailMessage=E-organ -SubjectNotIn=Not in Subject -BodyNotIn=Not in Body +SubjectNotIn=Inte i ämne +BodyNotIn=Inte i kroppen ShowEMailing=Visa e-post ListOfEMailings=Lista över emailings NewMailing=Ny e-post @@ -78,9 +78,9 @@ GroupEmails=Grupp e-postmeddelanden OneEmailPerRecipient=Ett e-postmeddelande per mottagare (som standard, en e-post per post vald) WarningIfYouCheckOneRecipientPerEmail=Varning! Om du markerar den här rutan betyder det att endast ett e-postmeddelande skickas för flera olika poster, så om ditt meddelande innehåller substitutionsvariabler som refererar till data i en post, blir det inte möjligt att ersätta dem. ResultOfMailSending=Resultat av massleverans av e-post -NbSelected=Number selected -NbIgnored=Number ignored -NbSent=Number sent +NbSelected=Nummer valt +NbIgnored=Antalet ignoreras +NbSent=Nummer skickat SentXXXmessages=%s meddelande (s) skickade. ConfirmUnvalidateEmailing=Är du säker på att du vill ändra e-post %s till utkastsstatus? MailingModuleDescContactsWithThirdpartyFilter=Kontakt med kundfilter @@ -92,7 +92,7 @@ MailingModuleDescEmailsFromUser=E-postmeddelanden inskrivna av användaren MailingModuleDescDolibarrUsers=Användare med e-post MailingModuleDescThirdPartiesByCategories=Tredje part (enligt kategorier) SendingFromWebInterfaceIsNotAllowed=Skicka från webbgränssnitt är inte tillåtet. -EmailCollectorFilterDesc=All filters must match to have an email being collected +EmailCollectorFilterDesc=Alla filter måste matcha för att ett e-postmeddelande ska samlas in # Libelle des modules de liste de destinataires mailing LineInFile=Line %s i filen @@ -126,13 +126,13 @@ TagMailtoEmail=Mottagar Email (inklusive html "mailto:" länk) NoEmailSentBadSenderOrRecipientEmail=Ingen email skickad. Dålig avsändare eller mottagarens e-postadress. Verifiera användarprofil. # Module Notifications Notifications=Anmälningar -NotificationsAuto=Notifications Auto. -NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company -ANotificationsWillBeSent=1 automatic notification will be sent by email -SomeNotificationsWillBeSent=%s automatic notifications will be sent by email -AddNewNotification=Subscribe to a new automatic email notification (target/event) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +NotificationsAuto=Meddelanden Auto. +NoNotificationsWillBeSent=Inga automatiska e-postmeddelanden planeras för den här händelsetypen och företaget +ANotificationsWillBeSent=En automatisk avisering skickas via e-post +SomeNotificationsWillBeSent=%s automatiska meddelanden skickas via e-post +AddNewNotification=Prenumerera på ett nytt automatiskt e-postmeddelande (mål / händelse) +ListOfActiveNotifications=Lista över alla aktiva prenumerationer (mål / händelser) för automatisk e-postavisering +ListOfNotificationsDone=Lista över alla automatiska e-postmeddelanden som skickats MailSendSetupIs=Konfiguration av e-post att skicka har ställts in till "% s". Detta läge kan inte användas för att skicka massutskick. MailSendSetupIs2=Du måste först gå, med ett administratörskonto, i meny% Shome - Setup - e-post% s för att ändra parameter '% s' för att använda läget "% s". Med det här läget kan du ange inställningar för SMTP-servern från din internetleverantör och använda Mass mejla funktionen. MailSendSetupIs3=Om du har några frågor om hur man ställer in din SMTP-server, kan du be att% s. @@ -142,7 +142,7 @@ UseFormatFileEmailToTarget=Importerad fil måste ha format email, namn, UseFormatInputEmailToTarget=Ange en sträng med format email, namn, förnamn, annat MailAdvTargetRecipients=Mottagare (avancerat urval) AdvTgtTitle=Fyll i inmatningsfält för att välja tredjepart eller kontakter / adresser som ska riktas in -AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima%% will target all jean, joe, start with jim but not jimo and not everything that starts with jima +AdvTgtSearchTextHelp=Använd %% som jokertecken. Till exempel för att hitta alla objekt som jean, joe, jim , kan du mata in j%% , du kan också använda; som separator för värde, och använd! för utom detta värde. Till exempel jean; joe; jim%%;! Jimo;! Jima%% kommer att rikta alla jean, joe, börja med jim men inte jimo och inte allt som börjar med jima AdvTgtSearchIntHelp=Använd intervall för att välja int eller float värde AdvTgtMinVal=Minsta värde AdvTgtMaxVal=Maximalt värde @@ -162,18 +162,18 @@ AdvTgtDeleteFilter=Radera filter AdvTgtSaveFilter=Spara filter AdvTgtCreateFilter=Skapa filter AdvTgtOrCreateNewFilter=Namn på nytt filter -NoContactWithCategoryFound=Ingen kontakt / adress med en kategori hittad -NoContactLinkedToThirdpartieWithCategoryFound=Ingen kontakt / adress med en kategori hittad -OutGoingEmailSetup=Outgoing emails -InGoingEmailSetup=Incoming emails -OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) -DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties +OutGoingEmailSetup=Utgående e-post +InGoingEmailSetup=Inkommande e-postmeddelanden +OutGoingEmailSetupForEmailing=Utgående e-post (för modul %s) +DefaultOutgoingEmailSetup=Samma konfiguration än den globala inställningen för utgående e-post Information=Information ContactsWithThirdpartyFilter=Kontakter med filter från tredje part -Unanswered=Unanswered +Unanswered=Obesvarad Answered=Besvarade -IsNotAnAnswer=Is not answer (initial email) -IsAnAnswer=Is an answer of an initial email -RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s -DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing -DefaultStatusEmptyMandatory=Empty but mandatory +IsNotAnAnswer=Är inte svaret (första e-postmeddelandet) +IsAnAnswer=Är ett svar på ett första e-postmeddelande +RecordCreatedByEmailCollector=Post skapad av e-postsamlare %s från e-post %s +DefaultBlacklistMailingStatus=Standardkontaktstatus för att avvisa mass-e-post +DefaultStatusEmptyMandatory=Tom men obligatorisk diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index 5f21b6ef52b..8fa4c3cc69f 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -29,8 +29,8 @@ AvailableVariables=Tillgängliga substitutionsvariabler NoTranslation=Ingen översättning Translation=Översättning CurrentTimeZone=PHP server tidszon -EmptySearchString=Enter non empty search criterias -EnterADateCriteria=Enter a date criteria +EmptySearchString=Ange icke tomma sökkriterier +EnterADateCriteria=Ange ett datumkriterium NoRecordFound=Ingen post funnen NoRecordDeleted=Ingen post borttagen NotEnoughDataYet=Inte tillräckligt med data @@ -87,7 +87,7 @@ FileWasNotUploaded=En fil är vald att bifogas, men har ännu inte laddats upp. NbOfEntries=Antal poster GoToWikiHelpPage=Läs onlinehjälp (Internet behövs) GoToHelpPage=Läs hjälpen -DedicatedPageAvailable=There is a dedicated help page related to your current screen +DedicatedPageAvailable=Det finns en särskild hjälpsida relaterad till din nuvarande skärm HomePage=Webbsida RecordSaved=Post sparades RecordDeleted=Post raderad @@ -118,7 +118,7 @@ InformationToHelpDiagnose=Denna information kan vara användbar för diagnostisk MoreInformation=Mer information TechnicalInformation=Teknisk information TechnicalID=Tekniskt ID -LineID=Line ID +LineID=Linje-ID NotePublic=Anteckning (offentlig) NotePrivate=Anteckning (privat) PrecisionUnitIsLimitedToXDecimals=Dolibarr har ställts in för att ange enhetspriser med %s decimaler. @@ -159,7 +159,7 @@ RemoveLink=Ta bort länk AddToDraft=Lägg till i utkast Update=Uppdatera Close=Stäng -CloseAs=Set status to +CloseAs=Ställ in status på CloseBox=Ta bort widget från din instrumentpanel Confirm=Bekräfta ConfirmSendCardByMail=Vill du verkligen skicka innehållet på detta kort via mail till %s ? @@ -175,12 +175,12 @@ ToValidate=Att bekräfta NotValidated=Ej bekräftat Save=Spara SaveAs=Spara som -SaveAndStay=Save and stay -SaveAndNew=Save and new +SaveAndStay=Spara och stanna +SaveAndNew=Spara och nytt TestConnection=Testa anslutning ToClone=Klon -ConfirmCloneAsk=Are you sure you want to clone the object %s? -ConfirmClone=Choose the data you want to clone: +ConfirmCloneAsk=Är du säker på att du vill klona objektet %s ? +ConfirmClone=Välj de data du vill klona: NoCloneOptionsSpecified=Inga uppgifter att klona definierade. Of=av Go=Gå @@ -191,8 +191,8 @@ Hide=Dölj ShowCardHere=Visa kort Search=Sök SearchOf=Sök -SearchMenuShortCut=Ctrl + shift + f -QuickAdd=Quick add +SearchMenuShortCut=Ctrl + skift + f +QuickAdd=Snabb tillägg QuickAddMenuShortCut=Ctrl + shift + l Valid=Giltig Approve=Godkänn @@ -201,7 +201,7 @@ ReOpen=Öppnar igen Upload=Ladda upp ToLink=Länk Select=Välj -SelectAll=Select all +SelectAll=Välj alla Choose=Välj Resize=Ändra storlek ResizeOrCrop=Ändra storlek eller beskära @@ -224,7 +224,7 @@ Value=Värde PersonalValue=Personlig värde NewObject=Ny %s NewValue=Nytt värde -OldValue=Old value %s +OldValue=Gammalt värde %s CurrentValue=Aktuellt värde Code=Kod Type=Typ @@ -246,7 +246,7 @@ DefaultModel=Standard doksmall Action=Händelse About=Om Number=Antal -NumberByMonth=Total reports by month +NumberByMonth=Totalt antal rapporter per månad AmountByMonth=Belopp per månad Numero=Antal Limit=Gräns @@ -272,13 +272,13 @@ DateStart=Startdatum DateEnd=Slutdatum DateCreation=Datum för skapande DateCreationShort=Creat. datum -IPCreation=Creation IP +IPCreation=Skapande IP DateModification=Ändringsdatum DateModificationShort=Ändr. datum -IPModification=Modification IP +IPModification=Ändring IP DateLastModification=Senaste ändringsdatum DateValidation=Bekräftelsesdatum -DateSigning=Signing date +DateSigning=Underteckningsdatum DateClosing=Sista dag DateDue=Förfallodag DateValue=Valuteringsdag @@ -330,7 +330,7 @@ Morning=Morgon Afternoon=Eftermiddag Quadri=Quadri MonthOfDay=Dagens månad -DaysOfWeek=Days of week +DaysOfWeek=Veckodagar HourShort=H MinuteShort=mn Rate=Sats @@ -341,8 +341,8 @@ KiloBytes=Kilobyte MegaBytes=Megabyte GigaBytes=Gigabyte TeraBytes=Terabyte -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=Ceated av +UserModif=Uppdaterad av b=b. Kb=Kb Mb=Mb @@ -362,13 +362,13 @@ UnitPriceHTCurrency=Enhetspris (exkl.) (Valuta) UnitPriceTTC=Pris per enhet PriceU=Styckpris PriceUHT=St.pris(net) -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=U.P (netto) (valuta) PriceUTTC=UPP. (inkl. skatt) Amount=Belopp AmountInvoice=Fakturabelopp AmountInvoiced=Belopp fakturerat -AmountInvoicedHT=Amount invoiced (excl. tax) -AmountInvoicedTTC=Amount invoiced (inc. tax) +AmountInvoicedHT=Fakturerat belopp (exkl. Moms) +AmountInvoicedTTC=Fakturerat belopp (inkl. Moms) AmountPayment=Betalningsbelopp AmountHTShort=Belopp (exkl.) AmountTTCShort=Belopp (inkl. moms) @@ -381,7 +381,7 @@ MulticurrencyPaymentAmount=Betalningsbelopp, ursprunglig valuta MulticurrencyAmountHT=Belopp (exkl. Skatt), ursprunglig valuta MulticurrencyAmountTTC=Belopp (inkl. Skatt), ursprunglig valuta MulticurrencyAmountVAT=Belopp skatt, ursprunglig valuta -MulticurrencySubPrice=Amount sub price multi currency +MulticurrencySubPrice=Belopp delpris flera valutor AmountLT1=Belopp skatt 2 AmountLT2=Belopp skatt 3 AmountLT1ES=Belopp RE @@ -390,13 +390,13 @@ AmountTotal=Summa AmountAverage=Genomsnittligt belopp PriceQtyMinHT=Pris kvantitet min. (exkl. skatt) PriceQtyMinHTCurrency=Pris kvantitet min. (exkl. skatt) (valuta) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PercentOfOriginalObject=Procent av originalobjektet +AmountOrPercent=Belopp eller procent Percentage=Procent Total=Summa SubTotal=Delsumma TotalHTShort=Totalt (exkl.) -TotalHT100Short=Total 100%% (excl.) +TotalHT100Short=Totalt 100%% (exkl.) TotalHTShortCurrency=Totalt (exkl. I valuta) TotalTTCShort=Summa (inkl. moms) TotalHT=Totalt (exkl. Skatt) @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Extra cent VATRate=Mervärdesskattesats +RateOfTaxN=Skattesats %s VATCode=Skattesatsskod VATNPR=Skattesats NPR DefaultTaxRate=Standard skattesats @@ -441,10 +442,10 @@ RemainToPay=Fortsätt att betala Module=Modul / applikation Modules=Moduler / Applications Option=Alternativ -Filters=Filters +Filters=Filter List=Lista FullList=Fullständig lista -FullConversation=Full conversation +FullConversation=Fullständig konversation Statistics=Statistik OtherStatistics=Övrig statistik Status=Status @@ -473,7 +474,7 @@ ContactsAddressesForCompany=Kontakter / adresser för denna tredje part AddressesForCompany=Adresser för denna tredje part ActionsOnCompany=Evenemang för denna tredje part ActionsOnContact=Händelser för denna kontakt / adress -ActionsOnContract=Events for this contract +ActionsOnContract=Händelser för detta kontrakt ActionsOnMember=Händelser om denna medlem ActionsOnProduct=Händelser om denna produkt NActionsLate=%s sent @@ -493,7 +494,7 @@ TotalDuration=Total längd Summary=Sammanfattning DolibarrStateBoard=Databasstatistik DolibarrWorkBoard=Öppna föremål -NoOpenedElementToProcess=No open element to process +NoOpenedElementToProcess=Inget öppet element att bearbeta Available=Tillgängliga NotYetAvailable=Ännu inte tillgängligt NotAvailable=Inte tillgänglig @@ -507,7 +508,7 @@ to=till To=till ToDate=till ToLocation=till -at=at +at=på and=och or=eller Other=Andra @@ -528,7 +529,7 @@ Draft=Utkast Drafts=Utkast StatusInterInvoiced=faktureras Validated=Bekräftat -ValidatedToProduce=Validated (To produce) +ValidatedToProduce=Validerad (att producera) Opened=Öppen OpenAll=Öppna alla) ClosedAll=Stängt (Alla) @@ -661,7 +662,7 @@ SupplierPreview=Leverantörsförhandsgranskning ShowCustomerPreview=Visa kunden förhandsgranskning ShowSupplierPreview=Visa leverantörsförhandsvisning RefCustomer=Ref. kund -InternalRef=Internal ref. +InternalRef=Intern referens Currency=Valuta InfoAdmin=Information för administratörer Undo=Ångra @@ -683,13 +684,13 @@ SendMail=Skicka e-post Email=epost NoEMail=Ingen e-post AlreadyRead=Redan läst -NotRead=Unread +NotRead=Oläst NoMobilePhone=Ingen mobiltelefon Owner=Ägare FollowingConstantsWillBeSubstituted=Följande konstanter kommer att ersätta med motsvarande värde. Refresh=Uppdatera BackToList=Tillbaka till listan -BackToTree=Back to tree +BackToTree=Tillbaka till trädet GoBack=Gå tillbaka CanBeModifiedIfOk=Kan ändras om det är giltigt CanBeModifiedIfKo=Kan ändras om inte giltigt @@ -710,7 +711,7 @@ Method=Metod Receive=Ta emot CompleteOrNoMoreReceptionExpected=Komplet eller inget mer förväntat ExpectedValue=Förväntat värde -ExpectedQty=Expected Qty +ExpectedQty=Förväntat antal PartialWoman=Partiell TotalWoman=Totalt NeverReceived=Aldrig fick @@ -727,9 +728,10 @@ MenuECM=Dokument MenuAWStats=AWStats MenuMembers=Medlemmar MenuAgendaGoogle=Google dagordning -MenuTaxesAndSpecialExpenses=Taxes | Special expenses +MenuTaxesAndSpecialExpenses=Skatter | Särskilda utgifter ThisLimitIsDefinedInSetup=Dolibarr gräns (meny hem-inställning-säkerhet): %s Kb, PHP gräns: %s Kb -NoFileFound=No documents uploaded +ThisLimitIsDefinedInSetupAt=Dolibarr-gräns (meny %s): %s Kb, PHP-gräns (Param %s): %s Kb +NoFileFound=Inga dokument laddade upp CurrentUserLanguage=Nuvarande språk CurrentTheme=Nuvarande tema CurrentMenuManager=Nuvarande menyhanterare @@ -744,13 +746,13 @@ DateOfSignature=Datum för underskrift HidePassword=Visa kommando med dolt lösenord UnHidePassword=Visa riktiga kommandot med lösenord i klartext Root=Root -RootOfMedias=Root of public medias (/medias) +RootOfMedias=Rot av offentliga medier (/medias) Informations=Information Page=Sida Notes=Anteckningar AddNewLine=Lägg till ny rad AddFile=Lägg till fil -FreeZone=Free-text product +FreeZone=Fritextprodukt FreeLineOfType=Fri text text, typ: CloneMainAttributes=Klona objekt med dess viktigaste attribut ReGeneratePDF=Återskapa PDF @@ -773,7 +775,7 @@ NotSupported=Stöds inte RequiredField=Obligatoriskt fält Result=Resultat ToTest=Test -ValidateBefore=Item must be validated before using this feature +ValidateBefore=Objektet måste valideras innan du använder den här funktionen Visibility=Synlighet Totalizable=Totalizable TotalizableDesc=Det här fältet kan totaliseras i listan @@ -801,7 +803,7 @@ LinkToSupplierProposal=Länk till leverantörsförslag LinkToSupplierInvoice=Länk till leverantörsfaktura LinkToContract=Länk till kontrakt LinkToIntervention=Länk till intervention -LinkToTicket=Link to ticket +LinkToTicket=Länk till biljett CreateDraft=Skapa utkast SetToDraft=Tillbaka till utkast ClickToEdit=Klicka för att redigera @@ -845,7 +847,7 @@ XMoreLines=%s rader osynliga ShowMoreLines=Visa fler / mindre rader PublicUrl=Offentlig webbadress AddBox=Lägg till låda -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Välj ett element och klicka på %s PrintFile=Skriv ut fil %s ShowTransaction=Visa post på bankkonto ShowIntervention=Visar ingripande @@ -856,20 +858,20 @@ Denied=Nekad ListOf=Lista över %s ListOfTemplates=Lista över mallar Gender=Kön -Genderman=Male -Genderwoman=Female +Genderman=Manlig +Genderwoman=Kvinna Genderother=Andra ViewList=Visa lista -ViewGantt=Gantt view -ViewKanban=Kanban view +ViewGantt=Gantt-vy +ViewKanban=Kanban-vy Mandatory=Obligatorisk Hello=Hallå GoodBye=Adjö Sincerely=vänliga hälsningar -ConfirmDeleteObject=Are you sure you want to delete this object? +ConfirmDeleteObject=Är du säker på att du vill ta bort det här objektet? DeleteLine=Radera rad ConfirmDeleteLine=Är du säker på att du vill radera den här raden? -ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. +ErrorPDFTkOutputFileNotFound=Fel: filen genererades inte. Kontrollera att kommandot 'pdftk' är installerat i en katalog som ingår i miljövariabeln $ PATH (endast Linux / unix) eller kontakta systemadministratören. NoPDFAvailableForDocGenAmongChecked=Ingen PDF var tillgänglig för dokumentgenerering bland kontrollerad post TooManyRecordForMassAction=För många poster valda för massåtgärder. Åtgärden är begränsad till en lista över %s poster. NoRecordSelected=Ingen post vald @@ -884,35 +886,35 @@ Progress=Framsteg ProgressShort=Progr. FrontOffice=Front office BackOffice=Back office -Submit=Submit +Submit=Skicka in View=Se Export=Export Exports=Export ExportFilteredList=Exportera filtrerad lista ExportList=Exportera listan ExportOptions=Export Options -IncludeDocsAlreadyExported=Include docs already exported -ExportOfPiecesAlreadyExportedIsEnable=Export of pieces already exported is enable -ExportOfPiecesAlreadyExportedIsDisable=Export of pieces already exported is disable -AllExportedMovementsWereRecordedAsExported=All exported movements were recorded as exported -NotAllExportedMovementsCouldBeRecordedAsExported=Not all exported movements could be recorded as exported +IncludeDocsAlreadyExported=Inkludera dokument som redan har exporterats +ExportOfPiecesAlreadyExportedIsEnable=Export av redan exporterade bitar är aktiverad +ExportOfPiecesAlreadyExportedIsDisable=Export av redan exporterade bitar är inaktiverad +AllExportedMovementsWereRecordedAsExported=Alla exporterade rörelser registrerades som exporterade +NotAllExportedMovementsCouldBeRecordedAsExported=Inte alla exporterade rörelser kunde registreras som exporterade Miscellaneous=Diverse Calendar=Kalender GroupBy=Grupp av... ViewFlatList=Visa plattlista -ViewAccountList=View ledger -ViewSubAccountList=View subaccount ledger +ViewAccountList=Visa huvudbok +ViewSubAccountList=Visa underkontokonto RemoveString=Ta bort strängen '%s' SomeTranslationAreUncomplete=Några av de språk som erbjuds kan bara översättas delvis eller kan innehålla fel. Snälla hjälp att korrigera ditt språk genom att registrera dig på https://transifex.com/projects/p/dolibarr/ för att lägga till dina förbättringar. -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +DirectDownloadLink=Offentlig nedladdningslänk +PublicDownloadLinkDesc=Endast länken krävs för att ladda ner filen +DirectDownloadInternalLink=Privat nedladdningslänk +PrivateDownloadLinkDesc=Du måste vara loggad och du behöver behörighet för att se eller ladda ner filen Download=Ladda ner DownloadDocument=Hämta dokument ActualizeCurrency=Uppdatera valutakurs Fiscalyear=Räkenskapsåret -ModuleBuilder=Module and Application Builder +ModuleBuilder=Modul- och applikationsbyggare SetMultiCurrencyCode=Ange valuta BulkActions=Massåtgärder ClickToShowHelp=Klicka för att visa verktygstipshjälp @@ -972,39 +974,39 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S -one=one -two=two -three=three -four=four -five=five -six=six -seven=seven -eight=eight -nine=nine -ten=ten -eleven=eleven -twelve=twelve -thirteen=thirdteen -fourteen=fourteen -fifteen=fifteen -sixteen=sixteen -seventeen=seventeen -eighteen=eighteen -nineteen=nineteen -twenty=twenty -thirty=thirty -forty=forty -fifty=fifty -sixty=sixty -seventy=seventy -eighty=eighty -ninety=ninety -hundred=hundred -thousand=thousand -million=million -billion=billion -trillion=trillion -quadrillion=quadrillion +one=ett +two=två +three=tre +four=fyra +five=fem +six=sex +seven=sju +eight=åtta +nine=nio +ten=tio +eleven=elva +twelve=tolv +thirteen=tretton +fourteen=fjorton +fifteen=femton +sixteen=sexton +seventeen=sjutton +eighteen=arton +nineteen=nitton +twenty=tjugo +thirty=trettio +forty=fyrtio +fifty=femtio +sixty=sextio +seventy=sjuttio +eighty=åttio +ninety=nittio +hundred=hundra +thousand=tusen +million=miljon +billion=miljard +trillion=biljon +quadrillion=biljard SelectMailModel=Välj en e-postmall SetRef=Set ref Select2ResultFoundUseArrows=Några resultat hittades. Använd pilarna för att välja. @@ -1020,9 +1022,9 @@ SearchIntoContacts=Kontakter SearchIntoMembers=Medlemmar SearchIntoUsers=Användare SearchIntoProductsOrServices=Produkter eller tjänster -SearchIntoBatch=Lots / Serials +SearchIntoBatch=Massor / Serier SearchIntoProjects=Projekt -SearchIntoMO=Manufacturing Orders +SearchIntoMO=Tillverkningsorder SearchIntoTasks=Uppgifter SearchIntoCustomerInvoices=Kundfakturor SearchIntoSupplierInvoices=Leverantörsfakturor @@ -1036,7 +1038,7 @@ SearchIntoCustomerShipments=Kundförsändelser SearchIntoExpenseReports=Räkningar SearchIntoLeaves=Lämna SearchIntoTickets=biljetter -SearchIntoCustomerPayments=Customer payments +SearchIntoCustomerPayments=Kundbetalningar SearchIntoVendorPayments=Leverantörsbetalningar SearchIntoMiscPayments=Diverse betalningar CommentLink=Kommentarer @@ -1057,78 +1059,93 @@ KeyboardShortcut=Tangentbordsgenväg AssignedTo=Påverkas i Deletedraft=Ta bort utkast ConfirmMassDraftDeletion=Utkast till massberegningsbekräftelse -FileSharedViaALink=File shared with a public link +FileSharedViaALink=Fil delas med en offentlig länk SelectAThirdPartyFirst=Välj en tredje part först ... YouAreCurrentlyInSandboxMode=Du befinner dig för närvarande i %s "sandbox" -läget Inventory=Lager AnalyticCode=Analytisk kod TMenuMRP=MRP -ShowCompanyInfos=Show company infos +ShowCompanyInfos=Visa företagsinfo ShowMoreInfos=Visa mer info NoFilesUploadedYet=Var god ladda upp ett dokument först SeePrivateNote=Se privat notering -PaymentInformation=Payment information -ValidFrom=Valid from -ValidUntil=Valid until -NoRecordedUsers=No users -ToClose=To close +PaymentInformation=Betalningsinformation +ValidFrom=Giltig från +ValidUntil=Giltig till +NoRecordedUsers=Inga användare +ToClose=För nära +ToRefuse=Att vägra ToProcess=För att kunna behandla -ToApprove=To approve -GlobalOpenedElemView=Global view -NoArticlesFoundForTheKeyword=No article found for the keyword '%s' -NoArticlesFoundForTheCategory=No article found for the category -ToAcceptRefuse=To accept | refuse +ToApprove=Att godkänna +GlobalOpenedElemView=Global vy +NoArticlesFoundForTheKeyword=Ingen artikel hittades för nyckelordet ' %s ' +NoArticlesFoundForTheCategory=Ingen artikel hittades för kategorin +ToAcceptRefuse=Att acceptera | vägra ContactDefault_agenda=Händelse ContactDefault_commande=Beställ ContactDefault_contrat=Kontrakt ContactDefault_facture=Faktura ContactDefault_fichinter=Insats -ContactDefault_invoice_supplier=Supplier Invoice -ContactDefault_order_supplier=Purchase Order +ContactDefault_invoice_supplier=Leverantörsfaktura +ContactDefault_order_supplier=Inköpsorder ContactDefault_project=Projekt ContactDefault_project_task=Uppgift ContactDefault_propal=Förslag -ContactDefault_supplier_proposal=Supplier Proposal -ContactDefault_ticket=Ticket -ContactAddedAutomatically=Contact added from contact thirdparty roles -More=More -ShowDetails=Show details -CustomReports=Custom reports -StatisticsOn=Statistics on -SelectYourGraphOptionsFirst=Select your graph options to build a graph -Measures=Measures +ContactDefault_supplier_proposal=Leverantörsförslag +ContactDefault_ticket=Biljett +ContactAddedAutomatically=Kontakt tillagd från roller från tredje part +More=Mer +ShowDetails=Visa detaljer +CustomReports=Anpassade rapporter +StatisticsOn=Statistik över +SelectYourGraphOptionsFirst=Välj dina grafalternativ för att skapa ett diagram +Measures=Åtgärder XAxis=X-Axis -YAxis=Y-Axis -StatusOfRefMustBe=Status of %s must be %s -DeleteFileHeader=Confirm file delete -DeleteFileText=Do you really want delete this file? -ShowOtherLanguages=Show other languages -SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language -NotUsedForThisCustomer=Not used for this customer -AmountMustBePositive=Amount must be positive -ByStatus=By status +YAxis=Y-axel +StatusOfRefMustBe=Status för %s måste vara %s +DeleteFileHeader=Bekräfta filradering +DeleteFileText=Vill du verkligen radera den här filen? +ShowOtherLanguages=Visa andra språk +SwitchInEditModeToAddTranslation=Växla i redigeringsläge för att lägga till översättningar för detta språk +NotUsedForThisCustomer=Används inte för den här kunden +AmountMustBePositive=Beloppet måste vara positivt +ByStatus=Efter status InformationMessage=Information -Used=Used -ASAP=As Soon As Possible -CREATEInDolibarr=Record %s created -MODIFYInDolibarr=Record %s modified -DELETEInDolibarr=Record %s deleted -VALIDATEInDolibarr=Record %s validated -APPROVEDInDolibarr=Record %s approved -DefaultMailModel=Default Mail Model -PublicVendorName=Public name of vendor +Used=Begagnade +ASAP=Så snart som möjligt +CREATEInDolibarr=Spela in %s skapad +MODIFYInDolibarr=Spela in %s modifierad +DELETEInDolibarr=Spela in %s borttagen +VALIDATEInDolibarr=Spela in %s validerat +APPROVEDInDolibarr=Spela in %s godkänd +DefaultMailModel=Standard e-postmodell +PublicVendorName=Säljarens offentliga namn DateOfBirth=Födelsedatum -SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. -UpToDate=Up-to-date -OutOfDate=Out-of-date -EventReminder=Event Reminder -UpdateForAllLines=Update for all lines -OnHold=On hold -Civility=Civility -AffectTag=Affect Tag -ConfirmAffectTag=Bulk Tag Affect -ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? -CategTypeNotFound=No tag type found for type of records -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Säkerhetstoken har upphört, så åtgärden har avbrutits. Var god försök igen. +UpToDate=Aktuell +OutOfDate=Föråldrad +EventReminder=Händelsepåminnelse +UpdateForAllLines=Uppdatering för alla rader +OnHold=Placerad i kö +Civility=Hövlighet +AffectTag=Påverka taggen +CreateExternalUser=Skapa extern användare +ConfirmAffectTag=Bulk Tag påverkar +ConfirmAffectTagQuestion=Är du säker på att du vill påverka taggar till den %s valda post (er)? +CategTypeNotFound=Ingen taggtyp hittades för typ av poster +CopiedToClipboard=Kopieras till Urklipp +InformationOnLinkToContract=Detta belopp är endast summan av alla rader i kontraktet. Ingen tidsbegrepp tas med i beräkningen. +ConfirmCancel=Är du säker på att du vill avbryta +EmailMsgID=E-post meddelande-id +SetToEnabled=Ställ in till aktiverat +SetToDisabled=Ställ in till inaktiverad +ConfirmMassEnabling=mass möjliggör bekräftelse +ConfirmMassEnablingQuestion=Är du säker på att du vill aktivera %s vald(a) post(er)? +ConfirmMassDisabling=massavaktiverande bekräftelse +ConfirmMassDisablingQuestion=Är du säker på att du vill inaktivera den / de valda post (erna) %s? +RecordsEnabled=%s-post (ar) aktiverad +RecordsDisabled=%s post (ar) inaktiverad +RecordEnabled=Inspelning aktiverad +RecordDisabled=Posten inaktiverad +Forthcoming=Tillmötesgående +Currently=Currently diff --git a/htdocs/langs/sv_SE/margins.lang b/htdocs/langs/sv_SE/margins.lang index 2e319949792..fc1d814461b 100644 --- a/htdocs/langs/sv_SE/margins.lang +++ b/htdocs/langs/sv_SE/margins.lang @@ -16,13 +16,13 @@ MarginDetails=Marginaldetaljer ProductMargins=Produktmarginaler CustomerMargins=Kundmarginaler SalesRepresentativeMargins=Återförsäljares marginaler -ContactOfInvoice=Contact of invoice +ContactOfInvoice=Kontakt av faktura UserMargins=Användarmarginaler ProductService=Produkt eller tjänst AllProducts=Alla produkter och tjänster ChooseProduct/Service=Välj produkt eller tjänst ForceBuyingPriceIfNull=Tvinga köp / kostpris till försäljningspris om det inte är definierat -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=Om köp- / kostpris inte anges när vi lägger till en ny rad, och detta alternativ är "PÅ", kommer marginalen att vara 0 på den nya raden (köp- / kostpris = försäljningspris). Om detta alternativ är "AV" (rekommenderas) kommer marginalen att vara lika med det föreslagna värdet som standard (och kan vara 100% om inget standardvärde kan hittas). MARGIN_METHODE_FOR_DISCOUNT=Marginalmetod för globala rabatter UseDiscountAsProduct=Som produkt UseDiscountAsService=Som tjänst @@ -37,7 +37,7 @@ CostPrice=Kostnadspris UnitCharges=Enhetspris Charges=Avgifter AgentContactType=Handelsagentens kontakttyp -AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices. +AgentContactTypeDetails=Definiera vilken kontakttyp (länkad på fakturor) som ska användas för marginalrapport per kontakt / adress. Observera att läsning av statistik för en kontakt inte är tillförlitlig eftersom kontakten i de flesta fall kanske inte definieras uttryckligen på fakturorna. rateMustBeNumeric=Betyg måste vara ett numeriskt värde markRateShouldBeLesserThan100=Mark takt bör vara lägre än 100 ShowMarginInfos=Visa marginal information diff --git a/htdocs/langs/sv_SE/members.lang b/htdocs/langs/sv_SE/members.lang index 07cf2cf7249..5e42c8dd219 100644 --- a/htdocs/langs/sv_SE/members.lang +++ b/htdocs/langs/sv_SE/members.lang @@ -15,24 +15,24 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=En annan ledamot (namn: %s, lo ErrorUserPermissionAllowsToLinksToItselfOnly=Av säkerhetsskäl måste du beviljas behörighet att redigera alla användare att kunna koppla en medlem till en användare som inte är din. SetLinkToUser=Koppla till en Dolibarr användare SetLinkToThirdParty=Koppla till en Dolibarr tredje part -MembersCards=Business cards for members +MembersCards=Visitkort för medlemmar MembersList=Förteckning över medlemmar MembersListToValid=Förteckning över förslag till medlemmar (att bekräftas) MembersListValid=Förteckning över giltiga medlemmar -MembersListUpToDate=List of valid members with up-to-date subscription -MembersListNotUpToDate=List of valid members with out-of-date subscription -MembersListExcluded=List of excluded members +MembersListUpToDate=Lista över giltiga medlemmar med uppdaterad prenumeration +MembersListNotUpToDate=Lista över giltiga medlemmar med inaktuell prenumeration +MembersListExcluded=Lista över uteslutna medlemmar MembersListResiliated=Förteckning över avslutade medlemmar MembersListQualified=Förteckning över kvalificerade ledamöter MenuMembersToValidate=Förslag medlemmar MenuMembersValidated=Bekräftat medlemmar -MenuMembersExcluded=Excluded members +MenuMembersExcluded=Uteslutna medlemmar MenuMembersResiliated=Avslutade medlemmar MembersWithSubscriptionToReceive=Medlemmar med abonnemang för att ta emot -MembersWithSubscriptionToReceiveShort=Subscription to receive +MembersWithSubscriptionToReceiveShort=Prenumeration att ta emot DateSubscription=Teckningsdag DateEndSubscription=Prenumeration slutdatum -EndSubscription=Subscription Ends +EndSubscription=Prenumerationen slutar SubscriptionId=Prenumeration id WithoutSubscription=Utan prenumeration MemberId=Medlem id @@ -49,16 +49,16 @@ MemberStatusActiveLate=Prenumerationen löpte ut MemberStatusActiveLateShort=Utgångna MemberStatusPaid=Prenumeration aktuell MemberStatusPaidShort=Aktuell -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded +MemberStatusExcluded=Exkluderad medlem +MemberStatusExcludedShort=Utesluten MemberStatusResiliated=Avslutad medlem MemberStatusResiliatedShort=Avslutad MembersStatusToValid=Förslag medlemmar -MembersStatusExcluded=Excluded members +MembersStatusExcluded=Uteslutna medlemmar MembersStatusResiliated=Avslutade medlemmar -MemberStatusNoSubscription=Validated (no subscription needed) +MemberStatusNoSubscription=Validerad (ingen prenumeration behövs) MemberStatusNoSubscriptionShort=Bekräftade -SubscriptionNotNeeded=No subscription needed +SubscriptionNotNeeded=Ingen prenumeration behövs NewCotisation=Nya bidrag PaymentSubscription=Nya bidrag betalning SubscriptionEndDate=Prenumeration slutdatum @@ -83,12 +83,12 @@ WelcomeEMail=Välkommen e-post SubscriptionRequired=Prenumeration krävs DeleteType=Ta bort VoteAllowed=Röstning tillåten -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? +Physical=Enskild +Moral=Företag +MorAndPhy=Corporation och individ +Reenable=Återaktivera +ExcludeMember=Uteslut en medlem +ConfirmExcludeMember=Är du säker på att du vill utesluta den här medlemmen? ResiliateMember=Avsluta en medlem ConfirmResiliateMember=Är du säker på att du vill säga upp den här medlemmen? DeleteMember=Ta bort en medlem @@ -123,7 +123,7 @@ SendingEmailOnMemberValidation=Skickar e-post vid bekräftande av nya medlemmar SendingEmailOnNewSubscription=Skickar e-post på ny prenumeration SendingReminderForExpiredSubscription=Skickar påminnelse för utgående abonnemang SendingEmailOnCancelation=Skickar e-post vid avbokning -SendingReminderActionComm=Sending reminder for agenda event +SendingReminderActionComm=Skickar påminnelse för agendahändelse # Topic of email templates YourMembershipRequestWasReceived=Ditt medlemskap har tagits emot. YourMembershipWasValidated=Ditt medlemskap bekräftades @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=E-postmall för att använda för DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=E-postmall för att skicka e-post till en medlem om ny abonnemangsinspelning DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=E-postmall för att skicka e-postpåminnelse när prenumerationen är på väg att gå ut DescADHERENT_EMAIL_TEMPLATE_CANCELATION=E-postmall för att använda för att skicka e-post till en medlem om medlemsavbeställning -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=E-postmall som du kan använda för att skicka e-post till en medlem om uteslutning av medlemmar DescADHERENT_MAIL_FROM=Avsändare E-post för automatiska e-postmeddelanden DescADHERENT_ETIQUETTE_TYPE=Utformning av etikettsida DescADHERENT_ETIQUETTE_TEXT=Text på medlems adressflik @@ -170,31 +170,31 @@ DocForLabels=Generera adress ark (Format för utgång faktiskt inställning: SubscriptionPayment=Teckning betalning LastSubscriptionDate=Datum för senaste prenumerationsbetalning LastSubscriptionAmount=Antal senaste prenumeration -LastMemberType=Last Member type +LastMemberType=Senaste medlemstyp MembersStatisticsByCountries=Medlemmar statistik per land MembersStatisticsByState=Medlemmar statistik från stat / provins MembersStatisticsByTown=Medlemmar statistik per kommun MembersStatisticsByRegion=Medlemsstatistik på region -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=Totalt antal medlemmar +NbOfActiveMembers=Totalt antal nuvarande aktiva medlemmar NoValidatedMemberYet=Inga bekräftada medlemmar hittades -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=Den här skärmen visar statistik över medlemmar efter länder. Diagram och diagram beror på tillgången på Googles onlinetabelltjänst samt på tillgängligheten av en fungerande internetanslutning. +MembersByStateDesc=Den här skärmen visar statistik över medlemmar efter stat / provinser / kanton. +MembersByTownDesc=Den här skärmen visar statistik över medlemmar efter stad. +MembersByNature=Den här skärmen visar statistik över medlemmar av naturen. +MembersByRegion=Den här skärmen visar statistik över medlemmar efter region. MembersStatisticsDesc=Välj statistik du vill läsa ... MenuMembersStats=Statistik -LastMemberDate=Latest membership date +LastMemberDate=Senaste datum för medlemskap LatestSubscriptionDate=Senaste prenumerationsdatum -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=Medlemmens natur +MembersNature=Medlemmarnas natur +Public=Informationen är offentlig NewMemberbyWeb=Ny ledamot till. Väntar på godkännande NewMemberForm=Ny medlem formen -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=Prenumerationsstatistik NbOfSubscriptions=Antal prenumerationer -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=Belopp som samlats in från prenumerationer TurnoverOrBudget=Omsättning (för ett företag) eller Budget (för en stiftelse) DefaultAmount=Standard mängd av abonnemang CanEditAmount=Besökare kan välja / redigera del av sin teckning @@ -212,4 +212,6 @@ SendReminderForExpiredSubscriptionTitle=Skicka påminnelse via e-post för utgå SendReminderForExpiredSubscription=Skicka påminnelse via e-post till medlemmar när prenumerationen är på väg att gå ut (parametern är antal dagar före abonnemangets slutändning. Det kan vara en lista över dagar separerade av ett semikolon, till exempel '10; 5; 0; -5 ') MembershipPaid=Medlemskap som betalats för nuvarande period (till %s) YouMayFindYourInvoiceInThisEmail=Du kan hitta din faktura bifogad till det här e-postmeddelandet -XMembersClosed=%s member(s) closed +XMembersClosed=%s medlem(ar) stängda +XExternalUserCreated=%s externa användare har skapats +ForceMemberNature=Tvinga medlemmarnas natur (individ eller företag) diff --git a/htdocs/langs/sv_SE/modulebuilder.lang b/htdocs/langs/sv_SE/modulebuilder.lang index 4c303356c41..2b6384c9f7c 100644 --- a/htdocs/langs/sv_SE/modulebuilder.lang +++ b/htdocs/langs/sv_SE/modulebuilder.lang @@ -1,12 +1,12 @@ # Dolibarr language file - Source file is en_US - loan -ModuleBuilderDesc=This tool must be used only by experienced users or developers. It provides utilities to build or edit your own module. Documentation for alternative manual development is here. +ModuleBuilderDesc=Detta verktyg får endast användas av erfarna användare eller utvecklare. Det ger verktyg för att bygga eller redigera din egen modul. Dokumentation för alternativ manuell utveckling finns här . EnterNameOfModuleDesc=Ange namnet på modulen / programmet för att skapa utan mellanslag. Använd stor bokstav för att skilja ord (till exempel: MyModule, EcommerceForShop, SyncWithMySystem ...) EnterNameOfObjectDesc=Ange namnet på objektet som ska skapas utan mellanslag. Använd stor bokstav för att skilja ord (till exempel: MyObject, Student, Lärare ...). CRUD klassfilen, men även API-filen, kommer sidor att lista / lägga till / redigera / ta bort objekt och SQL-filer genereras. ModuleBuilderDesc2=Vägen där moduler genereras / redigeras (första katalogen för externa moduler definierad i %s): %s ModuleBuilderDesc3=Genererade / redigerbara moduler hittades: %s ModuleBuilderDesc4=En modul detekteras som "redigerbar" när filen %s existerar i root av modulkatalogen NewModule=Ny modul -NewObjectInModulebuilder=New object +NewObjectInModulebuilder=Nytt objekt ModuleKey=Modulnyckel ObjectKey=Objektnyckel ModuleInitialized=Modul initialiserad @@ -21,14 +21,14 @@ ModuleBuilderDesctriggers=Detta är utsikten över utlösare som tillhandahålls ModuleBuilderDeschooks=Den här fliken är avsedd för krokar. ModuleBuilderDescwidgets=Den här fliken är avsedd att hantera / bygga widgets. ModuleBuilderDescbuildpackage=Du kan generera här en "färdig att distribuera" paketfil (en normaliserad .zip-fil) av din modul och en "färdig att distribuera" dokumentationsfil. Klicka bara på knappen för att bygga paketet eller dokumentationsfilen. -EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted! -EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted! +EnterNameOfModuleToDeleteDesc=Du kan radera din modul. VARNING: Alla kodningsfiler för modulen (genereras eller skapas manuellt) OCH strukturerad data och dokumentation raderas! +EnterNameOfObjectToDeleteDesc=Du kan radera ett objekt. VARNING: Alla kodningsfiler (genererade eller skapade manuellt) relaterade till objekt raderas! DangerZone=Farozon BuildPackage=Bygg paketet -BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like DoliStore.com. +BuildPackageDesc=Du kan skapa ett zip-paket av din applikation så att du är redo att distribuera den på valfri Dolibarr. Du kan också distribuera den eller sälja den på marknadsplatsen som DoliStore.com . BuildDocumentation=Bygg dokumentation -ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here -ModuleIsLive=This module has been activated. Any change may break a current live feature. +ModuleIsNotActive=Denna modul är inte aktiverad än. Gå till %s för att göra det live eller klicka här +ModuleIsLive=Denna modul har aktiverats. Varje ändring kan bryta en aktuell live-funktion. DescriptionLong=Lång beskrivning EditorName=Namn på redaktör EditorUrl=URL för redaktör @@ -40,16 +40,16 @@ PageForCreateEditView=PHP-sida för att skapa / redigera / visa en post PageForAgendaTab=PHP-sida för händelsefliken PageForDocumentTab=PHP-sida för dokumentfliken PageForNoteTab=PHP-sida för fliken Not -PageForContactTab=PHP page for contact tab +PageForContactTab=PHP-sida för kontaktflik PathToModulePackage=Vägen till zip på modulen / applikationspaketet PathToModuleDocumentation=Ban till fil med modul / ansökningsdokumentation (%s) SpaceOrSpecialCharAreNotAllowed=Mellanslag eller specialtecken är inte tillåtna. FileNotYetGenerated=Filen är ännu inte genererad -RegenerateClassAndSql=Force update of .class and .sql files +RegenerateClassAndSql=Tvinga uppdatering av .class- och .sql-filer RegenerateMissingFiles=Generera saknade filer SpecificationFile=Dokumentationsfil LanguageFile=Fil för språk -ObjectProperties=Object Properties +ObjectProperties=Objektegenskaper ConfirmDeleteProperty=Är du säker på att du vill ta bort egenskapen %s ? Detta kommer att ändra kod i PHP-klassen men även ta bort kolumn från tabelldefinition av objekt. NotNull=Inte NULL NotNullDesc=1 = Ange databas till NOT NULL. -1 = Tillåt nullvärden och tvinga värdet till NULL om det är tomt ('' eller 0). @@ -61,42 +61,42 @@ HooksFile=Fil för krokar kod ArrayOfKeyValues=Array of key-val ArrayOfKeyValuesDesc=Array av nycklar och värden om fältet är en kombinationslista med fasta värden WidgetFile=Widget-fil -CSSFile=CSS file -JSFile=Javascript file +CSSFile=CSS-fil +JSFile=Javascript-fil ReadmeFile=Readme-filen ChangeLog=ChangeLog-fil TestClassFile=Fil för PHP Unit Test-klass SqlFile=SQL-fil -PageForLib=File for the common PHP library -PageForObjLib=File for the PHP library dedicated to object +PageForLib=Fil för det gemensamma PHP-biblioteket +PageForObjLib=Fil för PHP-biblioteket tillägnad objekt SqlFileExtraFields=SQL-fil för kompletterande attribut SqlFileKey=Sql-fil för nycklar -SqlFileKeyExtraFields=Sql file for keys of complementary attributes +SqlFileKeyExtraFields=SQL-fil för nycklar till kompletterande attribut AnObjectAlreadyExistWithThisNameAndDiffCase=Ett objekt finns redan med detta namn och ett annat fall UseAsciiDocFormat=Du kan använda Markdown-format, men det rekommenderas att använda Asciidoc-format (omparison mellan .md och .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) IsAMeasure=Är en åtgärd DirScanned=Directory skannad NoTrigger=Ingen utlösare NoWidget=Ingen widget -GoToApiExplorer=API explorer +GoToApiExplorer=API-utforskare ListOfMenusEntries=Lista över menyuppgifter -ListOfDictionariesEntries=List of dictionaries entries +ListOfDictionariesEntries=Lista över ordböcker ListOfPermissionsDefined=Lista över definierade behörigheter SeeExamples=Se exempel här EnabledDesc=Villkor att ha detta fält aktivt (Exempel: 1 eller $ conf-> global-> MYMODULE_MYOPTION) VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).

    Using a negative value means field is not shown by default on list but can be selected for viewing).

    It can be an expression, for example:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty -DisplayOnPdf=Display on PDF +DisplayOnPdfDesc=Visa detta fält på kompatibla PDF-dokument, du kan hantera position med fältet "Position".
    För närvarande är kända kompatibla PDF-modeller: eratosthen (order), espadon (ship), svamp (fakturor), cyan (propal / offert), cornas (leverantörsbeställning)

    a0e7843947c0cf6a0a0a0a = display
    2 = visa endast om inte tömma

    för dokumentlinjer:
    0 = inte visas
    1 = visas i en kolumn
    3 = visning på rad beskrivning kolumn efter beskrivningen
    4 = display i beskrivningen kolonn efter beskrivning endast om den inte är tom +DisplayOnPdf=Visa på PDF IsAMeasureDesc=Kan värdet av fält ackumuleras för att få en total i listan? (Exempel: 1 eller 0) SearchAllDesc=Är fältet används för att göra en sökning från snabbsökningsverktyget? (Exempel: 1 eller 0) SpecDefDesc=Ange här all dokumentation du vill ge med din modul som inte redan är definierad av andra flikar. Du kan använda .md eller bättre, den rika .asciidoc-syntaxen. LanguageDefDesc=Skriv in i dessa filer, all nyckel och översättning för varje språkfil. -MenusDefDesc=Define here the menus provided by your module -DictionariesDefDesc=Define here the dictionaries provided by your module -PermissionsDefDesc=Define here the new permissions provided by your module -MenusDefDescTooltip=The menus provided by your module/application are defined into the array $this->menus into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), menus are also visible into the menu editor available to administrator users on %s. -DictionariesDefDescTooltip=The dictionaries provided by your module/application are defined into the array $this->dictionaries into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), dictionaries are also visible into the setup area to administrator users on %s. -PermissionsDefDescTooltip=The permissions provided by your module/application are defined into the array $this->rights into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), permissions are visible into the default permissions setup %s. +MenusDefDesc=Definiera här menyerna som tillhandahålls av din modul +DictionariesDefDesc=Definiera här ordböckerna som tillhandahålls av din modul +PermissionsDefDesc=Definiera här de nya behörigheterna från din modul +MenusDefDescTooltip=Menyerna som tillhandahålls av din modul / applikation definieras i arrayen $ this-> menyer i modulbeskrivningsfilen. Du kan redigera den här filen manuellt eller använda den inbäddade redigeraren.

    Obs! När de väl är definierade (och modulen har aktiverats igen) visas menyer också i menyredigeraren som är tillgängliga för administratörsanvändare på %s. +DictionariesDefDescTooltip=Ordböckerna som tillhandahålls av din modul / applikation definieras i arrayen $ denna-> ordböcker i modulbeskrivningsfilen. Du kan redigera den här filen manuellt eller använda den inbäddade redigeraren.

    Obs: När de väl är definierade (och modulen har aktiverats igen) är ordböcker också synliga i installationsområdet för administratörsanvändare på %s. +PermissionsDefDescTooltip=Behörigheterna från din modul / applikation definieras i arrayen $ this-> rights i modulbeskrivningsfilen. Du kan redigera den här filen manuellt eller använda den inbäddade redigeraren.

    Obs: När de väl är definierade (och modulen har aktiverats igen), visas behörigheterna i standardbehörighetsinställningen %s. HooksDefDesc=Definiera i egenskapen modul_parts ['krokar'] i modulbeskrivningen, kontexten av krokar som du vill hantera (kontextlista kan hittas med en sökning på ' initHooks (' i kärnkoden).
    Redigera krokfilen för att lägga till kod för dina anslutna funktioner (krokbara funktioner kan hittas genom en sökning på ' executeHooks ' i kärnkod). TriggerDefDesc=Definiera i utlösningsfilen koden du vill utföra för varje företagshändelse som körts. SeeIDsInUse=Se ID-er som används i din installation @@ -106,19 +106,19 @@ TryToUseTheModuleBuilder=Om du har kunskap om SQL och PHP kan du använda guiden SeeTopRightMenu=Se längst upp till höger AddLanguageFile=Lägg till språkfil YouCanUseTranslationKey=Här kan du använda en nyckel som är översättningsnyckeln i språkfilen (se fliken "Språk") -DropTableIfEmpty=(Destroy table if empty) +DropTableIfEmpty=(Förstör bordet om det är tomt) TableDoesNotExists=Tabellen %s existerar inte TableDropped=Tabell %s utgår InitStructureFromExistingTable=Bygg strukturen array-strängen i en befintlig tabell UseAboutPage=Inaktivera den aktuella sidan UseDocFolder=Inaktivera dokumentationsmappen UseSpecificReadme=Använd en specifik ReadMe -ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder. +ContentOfREADMECustomized=Obs! Innehållet i README.md-filen har ersatts med det specifika värde som definierats i installationen av ModuleBuilder. RealPathOfModule=Verklig väg för modulen ContentCantBeEmpty=Innehållet i filen kan inte vara tomt WidgetDesc=Du kan skapa och redigera de widgets som kommer att läggas in med din modul. -CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module. -JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module. +CSSDesc=Du kan skapa och redigera här en fil med personlig CSS inbäddad i din modul. +JSDesc=Du kan generera och redigera här en fil med personlig Javascript inbäddad i din modul. CLIDesc=Du kan generera här några kommandoradsskript du vill ge med din modul. CLIFile=CLI-fil NoCLIFile=Inga CLI-filer @@ -127,19 +127,20 @@ UseSpecificEditorURL = Använd en specifik redigeringsadress UseSpecificFamily = Använd en specifik familj UseSpecificAuthor = Använd en specifik författare UseSpecificVersion = Använd en specifik första version -IncludeRefGeneration=The reference of object must be generated automatically -IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference -IncludeDocGeneration=I want to generate some documents from the object -IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. -ShowOnCombobox=Show value into combobox -KeyForTooltip=Key for tooltip -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list -NotEditable=Not editable -ForeignKey=Foreign key -TypeOfFieldsHelp=Type of fields:
    varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) -AsciiToHtmlConverter=Ascii to HTML converter -AsciiToPdfConverter=Ascii to PDF converter -TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. -ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +IncludeRefGeneration=Objektets referens måste genereras automatiskt +IncludeRefGenerationHelp=Markera detta om du vill inkludera kod för att hantera genereringen av referensen automatiskt +IncludeDocGeneration=Jag vill skapa några dokument från objektet +IncludeDocGenerationHelp=Om du markerar detta genereras en viss kod för att lägga till rutan "Skapa dokument" i posten. +ShowOnCombobox=Visa värde i kombinationsrutan +KeyForTooltip=Nyckel för verktygstips +CSSClass=CSS för redigera / skapa formulär +CSSViewClass=CSS för läsform +CSSListClass=CSS för lista +NotEditable=Ej redigerbar +ForeignKey=Främmande nyckel +TypeOfFieldsHelp=Typ av fält:
    varchar (99), dubbel (24,8), real, text, html, datetime, tidsstämpel, heltal, heltal: ClassName: relativepath / to / classfile.class.php [: 1 [: filter]] ('1' betyder att vi lägger till en + -knapp efter kombinationen för att skapa posten, 'filter' kan vara 'status = 1 OCH fk_user = __USER_ID OCH enhet IN (__SHARED_ENTITIES__)' till exempel) +AsciiToHtmlConverter=Ascii till HTML-omvandlare +AsciiToPdfConverter=Ascii till PDF-omvandlare +TableNotEmptyDropCanceled=Bordet är inte tomt. Drop har avbrutits. +ModuleBuilderNotAllowed=Modulbyggaren är tillgänglig men inte tillåten för din användare. +ImportExportProfiles=Importera och exportera profiler diff --git a/htdocs/langs/sv_SE/mrp.lang b/htdocs/langs/sv_SE/mrp.lang index ae1796e24e4..290e50cf274 100644 --- a/htdocs/langs/sv_SE/mrp.lang +++ b/htdocs/langs/sv_SE/mrp.lang @@ -1,104 +1,103 @@ -Mrp=Manufacturing Orders -MOs=Manufacturing orders -ManufacturingOrder=Manufacturing Order -MRPDescription=Module to manage production and Manufacturing Orders (MO). +Mrp=Tillverkningsorder +MOs=Tillverkningsorder +ManufacturingOrder=Tillverkningsorder +MRPDescription=Modul för att hantera produktions- och tillverkningsorder (MO). MRPArea=MRP-område -MrpSetupPage=Setup of module MRP +MrpSetupPage=Installation av modul MRP MenuBOM=Räkningar av material LatestBOMModified=Senaste %s Modifierade räkningar -LatestMOModified=Latest %s Manufacturing Orders modified -Bom=Bills of Material -BillOfMaterials=Materiel +LatestMOModified=Senaste %s Tillverkningsorder har ändrats +Bom=Räkningar av material +BillOfMaterials=Bill of Materials BOMsSetup=Inställning av modul BOM ListOfBOMs=Förteckning över materialräkningar - BOM -ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=Ny räkning av material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +ListOfManufacturingOrders=Lista över tillverkningsorder +NewBOM=Ny materialförteckning +ProductBOMHelp=Produkt som ska skapas (eller tas isär) med denna BOM.
    Obs! Produkter med egenskapen 'Produktens natur' = 'Råvara' syns inte i listan. BOMsNumberingModules=BOM nummereringsmallar -BOMsModelModule=BOM document templates -MOsNumberingModules=MO numbering templates -MOsModelModule=MO document templates +BOMsModelModule=BOM-dokumentmallar +MOsNumberingModules=MO-nummermallar +MOsModelModule=MO-dokumentmallar FreeLegalTextOnBOMs=Gratis text på BOM-dokument WatermarkOnDraftBOMs=Vattenstämpel på utkast BOM -FreeLegalTextOnMOs=Free text on document of MO -WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? -ManufacturingEfficiency=Manufacturing efficiency -ConsumptionEfficiency=Consumption efficiency -ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production -ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product -DeleteBillOfMaterials=Delete Bill Of Materials -DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? -MenuMRP=Manufacturing Orders -NewMO=New Manufacturing Order -QtyToProduce=Qty to produce -DateStartPlannedMo=Date start planned -DateEndPlannedMo=Date end planned -KeepEmptyForAsap=Empty means 'As Soon As Possible' -EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM -ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) -ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? -ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) -StatusMOProduced=Produced -QtyFrozen=Frozen Qty -QuantityFrozen=Frozen Quantity -QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. -DisableStockChange=Stock change disabled -DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed -BomAndBomLines=Bills Of Material and lines -BOMLine=Line of BOM -WarehouseForProduction=Warehouse for production -CreateMO=Create MO -ToConsume=To consume -ToProduce=To produce -QtyAlreadyConsumed=Qty already consumed -QtyAlreadyProduced=Qty already produced -QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) -ConsumeOrProduce=Consume or Produce -ConsumeAndProduceAll=Consume and Produce All -Manufactured=Manufactured -TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. -ForAQuantityOf=For a quantity to produce of %s -ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? -ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. -ProductionForRef=Production of %s -AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached -NoStockChangeOnServices=No stock change on services -ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO -AddNewConsumeLines=Add new line to consume -ProductsToConsume=Products to consume -ProductsToProduce=Products to produce -UnitCost=Unit cost -TotalCost=Total cost -BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price) -GoOnTabProductionToProduceFirst=You must first have started the production to close a Manufacturing Order (See tab '%s'). But you can Cancel it. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +FreeLegalTextOnMOs=Fritext på MO-dokument +WatermarkOnDraftMOs=Vattenstämpel på MO-utkast +ConfirmCloneBillOfMaterials=Är du säker på att du vill klona materialräkningen %s? +ConfirmCloneMo=Är du säker på att du vill klona tillverkningsordern %s? +ManufacturingEfficiency=Tillverkningseffektivitet +ConsumptionEfficiency=Förbrukningseffektivitet +ValueOfMeansLoss=Värdet 0,95 betyder i genomsnitt 5%% förlust under produktionen +ValueOfMeansLossForProductProduced=Värdet 0,95 betyder i genomsnitt 5%% förlust av producerad produkt +DeleteBillOfMaterials=Ta bort materiallista +DeleteMo=Ta bort tillverkningsorder +ConfirmDeleteBillOfMaterials=Är du säker på att du vill ta bort detta material? +ConfirmDeleteMo=Är du säker på att du vill ta bort detta material? +MenuMRP=Tillverkningsorder +NewMO=Ny tillverkningsorder +QtyToProduce=Antal att producera +DateStartPlannedMo=Planerad startdatum +DateEndPlannedMo=Planerat slutdatum +KeepEmptyForAsap=Tom betyder 'Så snart som möjligt' +EstimatedDuration=Beräknad varaktighet +EstimatedDurationDesc=Beräknad varaktighet för att tillverka (eller demontera) denna produkt med hjälp av denna BOM +ConfirmValidateBom=Är du säker på att du vill validera BOM med referensen %s (du kommer att kunna använda den för att bygga nya tillverkningsorder) +ConfirmCloseBom=Är du säker på att du vill avbryta den här stycklistan (du kan inte använda den för att bygga nya tillverkningsorder längre)? +ConfirmReopenBom=Är du säker på att du vill öppna denna BOM igen (du kommer att kunna använda den för att bygga nya tillverkningsorder) +StatusMOProduced=Producerad +QtyFrozen=Fryst antal +QuantityFrozen=Fryst kvantitet +QuantityConsumedInvariable=När denna flagga är inställd är den konsumerade kvantiteten alltid det definierade värdet och är inte relativt den producerade kvantiteten. +DisableStockChange=Lagerbyte inaktiverat +DisableStockChangeHelp=När den här flaggan är inställd finns det ingen lagerförändring på denna produkt, oavsett vilken mängd som konsumeras +BomAndBomLines=Räkningar av material och linjer +BOMLine=Linje med BOM +WarehouseForProduction=Lager för produktion +CreateMO=Skapa MO +ToConsume=Att konsumera +ToProduce=Att producera +QtyAlreadyConsumed=Antal redan förbrukat +QtyAlreadyProduced=Antal redan producerat +QtyRequiredIfNoLoss=Antal krävs om det inte finns någon förlust (Tillverkningseffektiviteten är 100%%) +ConsumeOrProduce=Konsumera eller producera +ConsumeAndProduceAll=Konsumera och producera allt +Manufactured=Tillverkad +TheProductXIsAlreadyTheProductToProduce=Produkten som ska läggas till är redan produkten att producera. +ForAQuantityOf=För att producera en kvantitet av %s +ForAQuantityToConsumeOf=För en kvantitet att ta isär %s +ConfirmValidateMo=Är du säker på att du vill validera denna tillverkningsorder? +ConfirmProductionDesc=Genom att klicka på '%s' validerar du förbrukningen och / eller produktionen för de angivna kvantiteterna. Detta kommer också att uppdatera lager och registrera lagerrörelser. +ProductionForRef=Produktion av %s +AutoCloseMO=Stäng automatiskt tillverkningsordern om kvantiteter att konsumera och producera uppnås +NoStockChangeOnServices=Ingen lagerförändring på tjänsterna +ProductQtyToConsumeByMO=Produktkvantitet som fortfarande ska konsumeras av öppen MO +ProductQtyToProduceByMO=Produktkvantitet som fortfarande produceras av öppen MO +AddNewConsumeLines=Lägg till en ny rad att konsumera +ProductsToConsume=Produkter att konsumera +ProductsToProduce=Produkter att producera +UnitCost=Enhetskostnad +TotalCost=Total kostnad +BOMTotalCost=Kostnaden för att producera den här stycklistan baserat på kostnaden för varje kvantitet och produkt som ska konsumeras (använd kostpris om det är definierat, annars medelviktat pris om det är definierat, annars det bästa inköpspriset) +GoOnTabProductionToProduceFirst=Du måste först ha startat produktionen för att stänga en tillverkningsorder (se fliken '%s'). Men du kan avbryta det. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Ett kit kan inte användas i en BOM eller en MO +Workstation=Arbetsstation +Workstations=Arbetsstationer +WorkstationsDescription=Arbetsstationshantering +WorkstationSetup = Installation av arbetsstationer +WorkstationSetupPage = Inställningssida för arbetsstationer +WorkstationList=Arbetsstationslista +WorkstationCreate=Lägg till ny arbetsstation +ConfirmEnableWorkstation=Är du säker på att du vill aktivera arbetsstationen %s ? +EnableAWorkstation=Aktivera en arbetsstation +ConfirmDisableWorkstation=Är du säker på att du vill inaktivera arbetsstationen %s ? +DisableAWorkstation=Inaktivera en arbetsstation +DeleteWorkstation=Radera +NbOperatorsRequired=Antal operatörer som krävs +THMOperatorEstimated=Uppskattad operatör THM +THMMachineEstimated=Beräknad maskin THM +WorkstationType=Arbetsstationstyp +Human=Mänsklig +Machine=Maskin +HumanMachine=Människa / maskin +WorkstationArea=Arbetsstationsområde +Machines=Maskiner +THMEstimatedHelp=Denna hastighet gör det möjligt att definiera en prognoskostnad för artikeln diff --git a/htdocs/langs/sv_SE/multicurrency.lang b/htdocs/langs/sv_SE/multicurrency.lang index 979b14693c6..1f479e7626c 100644 --- a/htdocs/langs/sv_SE/multicurrency.lang +++ b/htdocs/langs/sv_SE/multicurrency.lang @@ -7,10 +7,10 @@ multicurrency_syncronize_error=Synkroniseringsfel: %s MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Använd datumet för dokumentet för att hitta valutakursen istället för att använda den senast kända kursen multicurrency_useOriginTx=När ett objekt skapas från en annan, behåll originalfrekvensen från källobjektet (använd annars den senast kända kursen) CurrencyLayerAccount=CurrencyLayer API -CurrencyLayerAccount_help_to_synchronize=You must create an account on website %s to use this functionality.
    Get your API key.
    If you use a free account, you can't change the source currency (USD by default).
    If your main currency is not USD, the application will automatically recalculate it.

    You are limited to 1000 synchronizations per month. +CurrencyLayerAccount_help_to_synchronize=Du måste skapa ett konto på webbplatsen %s för att kunna använda denna funktion.
    Skaffa din API-nyckel .
    Om du använder ett gratis konto kan du inte ändra källvaluta (USD som standard).
    Om din huvudvaluta inte är USD beräknar applikationen den automatiskt.

    Du är begränsad till 1000 synkroniseringar per månad. multicurrency_appId=API-nyckel -multicurrency_appCurrencySource=Source currency -multicurrency_alternateCurrencySource=Alternate source currency +multicurrency_appCurrencySource=Grundvaluta +multicurrency_alternateCurrencySource=Alternativ grundvaluta CurrenciesUsed=Valutor som används CurrenciesUsed_help_to_add=Lägg till de olika valutorna och priserna du behöver använda på dina förslag , beställer etc. rate=Betygsätta @@ -18,5 +18,21 @@ MulticurrencyReceived=Mottagen, ursprunglig valuta MulticurrencyRemainderToTake=Återstående belopp, ursprunglig valuta MulticurrencyPaymentAmount=Betalningsbelopp, ursprunglig valuta AmountToOthercurrency=Belopp till (i valuta för mottagande konto) -CurrencyRateSyncSucceed=Currency rate synchronization done successfuly -MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Use the currency of the document for online payments +CurrencyRateSyncSucceed=Växlingskurssynkronisering klar. +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Använd dokumentets valuta för onlinebetalningar +TabTitleMulticurrencyRate=Kurslista +ListCurrencyRate=Lista över valutakurser för valutan +CreateRate=Skapa en kurs +FormCreateRate=Betygsätt skapande +FormUpdateRate=Rate modifiering +successRateCreate=Kurs för valuta %s har lagts till i databasen +ConfirmDeleteLineRate=Är du säker på att du vill ta bort %s-kursen för valuta %s på %s-datum? +DeleteLineRate=Rensa kurs +successRateDelete=Kurs borttagen +errorRateDelete=Fel vid borttagning av kurs +successUpdateRate=Ändring gjord +ErrorUpdateRate=Fel vid ändring av kurs +Codemulticurrency=Valutakod +UpdateRate=Ändra kursen +CancelUpdate=Avbryt +NoEmptyRate=Fältet "kurs" kan inte vara tomt diff --git a/htdocs/langs/sv_SE/oauth.lang b/htdocs/langs/sv_SE/oauth.lang index 82050d63364..58b50d72893 100644 --- a/htdocs/langs/sv_SE/oauth.lang +++ b/htdocs/langs/sv_SE/oauth.lang @@ -29,4 +29,4 @@ OAUTH_GITHUB_ID=OAuth GitHub Id OAUTH_GITHUB_SECRET=OAuth GitHub Secret OAUTH_GITHUB_DESC=Gå till den här sidan sedan "Registrera en ny applikation" för att skapa OAuth-uppgifter OAUTH_STRIPE_TEST_NAME=OAuth Stripe Test -OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live +OAUTH_STRIPE_LIVE_NAME=OAuth Strip Live diff --git a/htdocs/langs/sv_SE/opensurvey.lang b/htdocs/langs/sv_SE/opensurvey.lang index 6e008d644ca..12c2e993078 100644 --- a/htdocs/langs/sv_SE/opensurvey.lang +++ b/htdocs/langs/sv_SE/opensurvey.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - opensurvey Survey=Enkät Surveys=Enkäter -OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select the type of poll... +OrganizeYourMeetingEasily=Ordna dina möten och omröstningar enkelt. Välj först typen av omröstning ... NewSurvey=Ny enkät OpenSurveyArea=Enkät område AddACommentForPoll=Du kan lägga till en kommentar till enkät ... diff --git a/htdocs/langs/sv_SE/orders.lang b/htdocs/langs/sv_SE/orders.lang index 5ab7146c133..d67ffeebf9a 100644 --- a/htdocs/langs/sv_SE/orders.lang +++ b/htdocs/langs/sv_SE/orders.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Kunder order område -SuppliersOrdersArea=Inköpsområde +OrdersArea=Kunders ordrar +SuppliersOrdersArea=Inköpsordrar OrderCard=Beställ kort OrderId=Order Id Order=Beställ @@ -11,13 +11,14 @@ OrderDate=Beställ datum OrderDateShort=Beställ datum OrderToProcess=Att kunna bearbeta NewOrder=Ny order -NewOrderSupplier=New Purchase Order +NewSupplierOrderShort=Ny order +NewOrderSupplier=Ny inköpsorder ToOrder=Gör så MakeOrder=Gör så SupplierOrder=Inköpsorder SuppliersOrders=Beställning -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Försäljningsorderrader +PurchaseOrderLines=Inköpsorderrader SuppliersOrdersRunning=Nuvarande köporder CustomerOrder=Kundorder CustomersOrders=Försäljningsorder @@ -28,8 +29,8 @@ OrdersToBill=Försäljningsorder levereras OrdersInProcess=Försäljningsorder pågår OrdersToProcess=Försäljningsorder att bearbeta SuppliersOrdersToProcess=Köp beställningar att bearbeta -SuppliersOrdersAwaitingReception=Purchase orders awaiting reception -AwaitingReception=Awaiting reception +SuppliersOrdersAwaitingReception=Inköpsorder som väntar på mottagning +AwaitingReception=Väntar på mottagning StatusOrderCanceledShort=Annullerad StatusOrderDraftShort=Förslag StatusOrderValidatedShort=Bekräftat @@ -71,9 +72,10 @@ ValidateOrder=Verifiera att UnvalidateOrder=Märka ordrar från bekräftat->utkast DeleteOrder=Radera order CancelOrder=Avbryt för -OrderReopened= Order %s re-open +OrderReopened= Order %s återöppnad AddOrder=Skapa order -AddPurchaseOrder=Create purchase order +AddSupplierOrderShort=Skapa order +AddPurchaseOrder=Skapa inköpsorder AddToDraftOrders=Lägg till förlags order ShowOrder=Visa att OrdersOpened=Beställer att bearbeta @@ -141,12 +143,12 @@ OrderByMail=Post OrderByFax=Faxa OrderByEMail=epost OrderByWWW=Nätet -OrderByPhone=Telefonen +OrderByPhone=Telefon # Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) -PDFEratostheneDescription=A complete order model +PDFEinsteinDescription=En komplett ordermodell (gammal implementering av Eratosthene-mall) +PDFEratostheneDescription=En komplett ordermodell PDFEdisonDescription=En enkel ordermodell -PDFProformaDescription=A complete Proforma invoice template +PDFProformaDescription=Fullständig Proforma fakturaamll CreateInvoiceForThisCustomer=Faktura order CreateInvoiceForThisSupplier=Faktura order NoOrdersToInvoice=Inga order fakturerbar @@ -157,11 +159,11 @@ OrderCreated=Din order har skapats OrderFail=Ett fel inträffade under din order skapande CreateOrders=Skapa order ToBillSeveralOrderSelectCustomer=För att skapa en faktura för flera ordrar, klicka först på kunden och välj sedan "%s". -OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. +OptionToSetOrderBilledNotEnabled=Alternativ från modul Arbetsflöde, att ställa in order till "Faktureras" automatiskt när fakturan valideras, är inte aktiverad, så du måste ställa in orderstatusen till "Faktureras" manuellt efter att fakturan har genererats. IfValidateInvoiceIsNoOrderStayUnbilled=Om fakturatbekräftande är 'Nej', fortsätter ordern till status 'Unbilled' tills fakturan är bekräftat. -CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. +CloseReceivedSupplierOrdersAutomatically=Stäng orderstatus "%s" automatiskt om alla produkter var mottagna. SetShippingMode=Ställ in fraktläge -WithReceptionFinished=With reception finished +WithReceptionFinished=Med mottagningen klar #### supplier orders status StatusSupplierOrderCanceledShort=Annullerad StatusSupplierOrderDraftShort=Utkast @@ -177,7 +179,7 @@ StatusSupplierOrderApprovedShort=Godkänd StatusSupplierOrderRefusedShort=Refused StatusSupplierOrderToProcessShort=För att kunna behandla StatusSupplierOrderReceivedPartiallyShort=Delvis fått -StatusSupplierOrderReceivedAllShort=Products received +StatusSupplierOrderReceivedAllShort=Produkter mottagna StatusSupplierOrderCanceled=Annullerad StatusSupplierOrderDraft=Utkast (måste bekräftas) StatusSupplierOrderValidated=Bekräftade diff --git a/htdocs/langs/sv_SE/other.lang b/htdocs/langs/sv_SE/other.lang index 0b01a9faaee..3eaa880bd5d 100644 --- a/htdocs/langs/sv_SE/other.lang +++ b/htdocs/langs/sv_SE/other.lang @@ -14,8 +14,8 @@ PreviousMonthOfInvoice=Föregående månad (nummer 1-12) på fakturadatum TextPreviousMonthOfInvoice=Föregående månad (text) på fakturadatum NextMonthOfInvoice=Följande månad (nummer 1-12) på fakturadatum TextNextMonthOfInvoice=Följande månad (text) på fakturadatum -PreviousMonth=Previous month -CurrentMonth=Current month +PreviousMonth=Föregående månad +CurrentMonth=Nuvarande månad ZipFileGeneratedInto=Zip-fil genererad till %s . DocFileGeneratedInto=Doc-filen genereras till %s . JumpToLogin=Förbindelse förlorad. Gå till inloggningssidan ... @@ -24,17 +24,17 @@ MessageOK=Meddelande på retursidan för en bekräftat betalning MessageKO=Meddelande på retursidan för en avbokad betalning ContentOfDirectoryIsNotEmpty=Innehållet i den här katalogen är inte tomt. DeleteAlsoContentRecursively=Kontrollera att allt innehåll rekursivt raderas -PoweredBy=Powered by +PoweredBy=Körs av YearOfInvoice=År för fakturadatum PreviousYearOfInvoice=Föregående år av fakturadatum NextYearOfInvoice=Följande år med fakturadatum DateNextInvoiceBeforeGen=Datum för nästa faktura (före generationen) DateNextInvoiceAfterGen=Datum för nästa faktura (efter generation) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. -OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. -AtLeastOneMeasureIsRequired=At least 1 field for measure is required -AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required -LatestBlogPosts=Latest Blog Posts +GraphInBarsAreLimitedToNMeasures=Grapics är begränsade till mått %s i 'Bars' -läge. Läget "Linjer" valdes automatiskt istället. +OnlyOneFieldForXAxisIsPossible=Enbart 1 fält är möjligt i X-axeln. Bara det första markerade fältet har valts. +AtLeastOneMeasureIsRequired=Minst 1 fält är obligatiskt +AtLeastOneXAxisIsRequired=Minst 1 fält för X-axeln är obligatirskt +LatestBlogPosts=Senaste blogginlägg Notify_ORDER_VALIDATE=Försäljningsorder bekräftat Notify_ORDER_SENTBYMAIL=Försäljningsorder skickad via post Notify_ORDER_SUPPLIER_SENTBYMAIL=Beställningsorder skickad via e-post @@ -78,7 +78,7 @@ Notify_EXPENSE_REPORT_VALIDATE=Utläggsrapport bekräftat (godkännande krävs) Notify_EXPENSE_REPORT_APPROVE=Kostnadsrapport godkänd Notify_HOLIDAY_VALIDATE=Lämna förfrågan bekräftat (godkännande krävs) Notify_HOLIDAY_APPROVE=Lämna förfrågan godkänd -Notify_ACTION_CREATE=Added action to Agenda +Notify_ACTION_CREATE=Tillagd till agenda SeeModuleSetup=Se inställning av modul %s NbOfAttachedFiles=Antal bifogade filer / dokument TotalSizeOfAttachedFiles=Total storlek på bifogade filer / dokument @@ -86,8 +86,8 @@ MaxSize=Maximal storlek AttachANewFile=Bifoga en ny fil / dokument LinkedObject=Länkat objekt NbOfActiveNotifications=Antal anmälningar (antal mottagarens e-postmeddelanden) -PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\n\n__USER_SIGNATURE__ -PredefinedMailTestHtml=__(Hello)__
    This is a test mail sent to __EMAIL__ (the word test must be in bold).
    The lines are separated by a carriage return.

    __USER_SIGNATURE__ +PredefinedMailTest=__(Hello)__\nDetta är ett testmail skickat till __EMAIL__.\nDessa rader är separerade med radbrytning.\n\n__USER_SIGNATURE__ +PredefinedMailTestHtml=__(Hello)__
    Detta är ett testmailskickat till __EMAIL__ (ordet testmail ska vara i fet text).
    Linjerna är separerade med radbrytning.

    __USER_SIGNATURE__ PredefinedMailContentContract=__(Hej)__\n\n\n__(Vänliga hälsningar)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoice=__(Hej)__\n\nVänligen hitta faktura __REF__ bifogad\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Vänliga hälsningar)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__(Hej)__\n\nVi vill påminna dig om att fakturan __REF__ verkar inte ha betalats. En kopia av fakturan är bifogad som en påminnelse.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Vänliga hälsningar)__\n\n__USER_SIGNATURE__ @@ -100,7 +100,7 @@ PredefinedMailContentSendShipping=__(Hej)__\n\nVänligen hitta frakt __REF__ bif PredefinedMailContentSendFichInter=__(Hej)__\n\nVänligen hitta intervention __REF__ bifogad\n\n\n__(Vänliga hälsningar)__\n\n__USER_SIGNATURE__ PredefinedMailContentLink=Du kan klicka på länken nedan för att göra din betalning om den inte redan är klar.\n\n%s\n\n PredefinedMailContentGeneric=__(Hej)__\n\n\n__(Vänliga hälsningar)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__

    This is an automatic message, please do not reply. +PredefinedMailContentSendActionComm=Händelsepåminnelse "__EVENT_LABEL__" den __EVENT_DATE__ kl __EVENT_TIME__

    Detta är ett automatiskt meddelande, det går inte att besvara. DemoDesc=Dolibarr är en kompakt ERP / CRM som stöder flera affärsmoduler. En demo som visar alla moduler ger ingen mening eftersom detta scenario aldrig uppstår (flera hundra tillgängliga). Det finns därför flera demoprofiler tillgängliga. ChooseYourDemoProfil=Välj den demoprofil som bäst passar dina behov ... ChooseYourDemoProfilMore=... eller bygg din egen profil
    (manuellt modulval) @@ -108,13 +108,13 @@ DemoFundation=Hantera medlemmar av en stiftelse DemoFundation2=Hantera medlemmar och bankkonto i en stiftelse DemoCompanyServiceOnly=Endast företag eller frilansförsäljning DemoCompanyShopWithCashDesk=Hantera en butik med en kassa -DemoCompanyProductAndStocks=Shop selling products with Point Of Sales -DemoCompanyManufacturing=Company manufacturing products +DemoCompanyProductAndStocks=Handla produkter som säljs med Point of Sales +DemoCompanyManufacturing=Företag som tillverkar produkter DemoCompanyAll=Företag med flera aktiviteter (alla huvudmoduler) CreatedBy=Skapad av %s ModifiedBy=Uppdaterad av %s ValidatedBy=Bekräftad av %s -SignedBy=Signed by %s +SignedBy=Signerat av %s ClosedBy=Stängt av %s CreatedById=Användarkod som skapade ModifiedById=Användar-ID som gjorde senaste ändringen @@ -129,6 +129,7 @@ ClosedByLogin=Användarinloggning som stängde FileWasRemoved=Arkiv %s togs bort DirWasRemoved=Nummer %s togs bort FeatureNotYetAvailable=Funktionen är ännu inte tillgänglig i den nuvarande versionen +FeatureNotAvailableOnDevicesWithoutMouse=Funktionen är inte tillgänglig på enheter utan pekdon. FeaturesSupported=Stödda funktioner Width=Bredd Height=Höjd @@ -183,23 +184,23 @@ EnableGDLibraryDesc=Installera eller aktivera GD-biblioteket på din PHP-install ProfIdShortDesc=Prof Id %s är en information är beroende av tredje part land.
    Till exempel för landets %s, det är kod %s. DolibarrDemo=Dolibarr ERP / CRM-demo StatsByNumberOfUnits=Statistik för summan av produkter / tjänster -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statistik för antalet valda typer (antal fakturor eller ordrar...) NumberOfProposals=Antal förslag NumberOfCustomerOrders=Antal försäljningsorder NumberOfCustomerInvoices=Antal kundfakturor NumberOfSupplierProposals=Antal leverantörsförslag NumberOfSupplierOrders=Antal inköpsorder NumberOfSupplierInvoices=Antal leverantörsfakturor -NumberOfContracts=Number of contracts -NumberOfMos=Number of manufacturing orders +NumberOfContracts=Antal avtal +NumberOfMos=Antal tillverkningsordrar NumberOfUnitsProposals=Antal enheter på förslag NumberOfUnitsCustomerOrders=Antal enheter på försäljningsorder NumberOfUnitsCustomerInvoices=Antal enheter på kundfakturor NumberOfUnitsSupplierProposals=Antal enheter på leverantörsförslag NumberOfUnitsSupplierOrders=Antal enheter på inköpsorder NumberOfUnitsSupplierInvoices=Antal enheter på leverantörsfakturor -NumberOfUnitsContracts=Number of units on contracts -NumberOfUnitsMos=Number of units to produce in manufacturing orders +NumberOfUnitsContracts=Antal produkter på avtal +NumberOfUnitsMos=Antal produkter i tillverkningsordrar EMailTextInterventionAddedContact=Ett nytt ingripande %s har tilldelats dig. EMailTextInterventionValidated=Interventionen %s har bekräftats. EMailTextInvoiceValidated=Faktura %s har bekräftats. @@ -217,7 +218,7 @@ EMailTextExpenseReportValidated=Kostnadsrapport %s har bekräftats. EMailTextExpenseReportApproved=Kostnadsrapport %s har godkänts. EMailTextHolidayValidated=Lämna förfrågan %s har bekräftats. EMailTextHolidayApproved=Förfrågan %s har godkänts. -EMailTextActionAdded=The action %s has been added to the Agenda. +EMailTextActionAdded=Åtgärden %s har lagts till i agendan. ImportedWithSet=Import dataunderlaget DolibarrNotification=Automatisk anmälan ResizeDesc=Ange nya bredd eller ny höjd. Förhållandet kommer att hållas under storleksändring ... @@ -245,7 +246,7 @@ NewKeyIs=Det här är din nya nycklar för att logga in NewKeyWillBe=Din nya knappen för att logga in på programvaran kommer att vara ClickHereToGoTo=Klicka här för att gå till %s YouMustClickToChange=Du måste dock först klicka på följande länk för att bekräfta detta lösenord förändring -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Bekräfta lösenordsbyte ForgetIfNothing=Om du inte har begärt denna förändring, bara glömma detta mail. Dina referenser förvaras säkert. IfAmountHigherThan=Om mängden högre än %s SourcesRepository=Förvaring för källor @@ -262,8 +263,8 @@ ThirdPartyCreatedByEmailCollector=Tredje part skapad av e-post samlare från e-p ContactCreatedByEmailCollector=Kontakt / adress skapad via e-post samlare från email MSGID %s ProjectCreatedByEmailCollector=Projekt skapat av e-post samlare från email MSGID %s TicketCreatedByEmailCollector=Biljett skapad av e-post samlare från email MSGID %s -OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +OpeningHoursFormatDesc=Använd "-" för att separera öppettider.
    Använd mellanslag för flera tidpunkter.
    Exempel: 8-12 14-18 +SuffixSessionName=Suffix för sessionens namn ##### Export ##### ExportsArea=Export område @@ -278,15 +279,19 @@ WEBSITE_PAGEURL=Webbadressen WEBSITE_TITLE=Titel WEBSITE_DESCRIPTION=Beskrivning WEBSITE_IMAGE=Bild -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). +WEBSITE_IMAGEDesc=Relativ väg för bildmediet. Du kan hålla det tomt eftersom det sällan används (det kan användas av dynamiskt innehåll för att visa en miniatyr i en lista med blogginlägg). Använd __WEBSITE_KEY__ i sökvägen om sökvägen beror på webbplatsens namn (till exempel: image / __ WEBSITE_KEY __ / stories / myimage.png). WEBSITE_KEYWORDS=Nyckelord LinesToImport=Rader att importera MemoryUsage=Minnesanvändning RequestDuration=Varaktighet för förfrågan -ProductsPerPopularity=Products/Services by popularity -PopuProp=Products/Services by popularity in Proposals -PopuCom=Products/Services by popularity in Orders -ProductStatistics=Products/Services Statistics -NbOfQtyInOrders=Qty in orders -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +ProductsPerPopularity=Produkter/tjänster baserat på populäritet +PopuProp=Produkter/tjänster baserat på populäritet i förslag +PopuCom=Produkter/tjänster baserat på populäritet i ordrar +ProductStatistics=Produkter/tjänster statistik +NbOfQtyInOrders=Antal i ordrar +SelectTheTypeOfObjectToAnalyze=Välj ett objekt för att visa statistik... + +ConfirmBtnCommonContent = Är du säker på att du vill "%s"? +ConfirmBtnCommonTitle = Bekräfta din handling +CloseDialog = Stäng diff --git a/htdocs/langs/sv_SE/partnership.lang b/htdocs/langs/sv_SE/partnership.lang index 250df79034a..67de1c8443f 100644 --- a/htdocs/langs/sv_SE/partnership.lang +++ b/htdocs/langs/sv_SE/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Partnerskapshantering +PartnershipDescription=Partnerskapshanteringsmodul +PartnershipDescriptionLong= Partnerskapshanteringsmodul + +AddPartnership=Lägg till partnerskap +CancelPartnershipForExpiredMembers=Partnerskap: Avbryt partnerskap med inaktiva abonnemang +PartnershipCheckBacklink=Partnerskap: Kontrollera hänvisningslänk # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Nytt partnerskap +ListOfPartnerships=Lista över partnerskap # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnerskapsupplägg +PartnershipAbout=Om partnerskap +PartnershipAboutPage=Om partnerskapssidan +partnershipforthirdpartyormember=Partnerstatus måste ställas in på "tredje part" eller "medlem" +PARTNERSHIP_IS_MANAGED_FOR=Partnerskap hanterad för +PARTNERSHIP_BACKLINKS_TO_CHECK=Bakåtlänkar att kontrollera +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Antal dagar innan partnerskap avbryts när ett abonnemang har löpt ut +ReferingWebsiteCheck=Kontroll av webbplatsens hänvisning +ReferingWebsiteCheckDesc=Du kan aktivera en funktion för att kontrollera om din partner har länkat tillbaka till er hemsida via deras egen hemsida. # # Object # +DeletePartnership=Ta bort partnerskap +PartnershipDedicatedToThisThirdParty=Partnerskap dedikerat till denna kund/leverantör +PartnershipDedicatedToThisMember=Partnerskap tillägnad denna medlem DatePartnershipStart=Startdatum DatePartnershipEnd=Slutdatum +ReasonDecline=Avslagsanledning +ReasonDeclineOrCancel=Avslagsanledning +PartnershipAlreadyExist=Partnerskap finns redan +ManagePartnership=Hantera partnerskap +BacklinkNotFoundOnPartnerWebsite=Backlink hittades inte på partnerwebbplatsen +ConfirmClosePartnershipAsk=Är du säker på att du vill avbryta detta partnerskap? +PartnershipType=Partnerskapstyp # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerskap kommer snart att avbrytas +SendingEmailOnPartnershipRefused=Partnerskap nekat +SendingEmailOnPartnershipAccepted=Partnerskap accepterat +SendingEmailOnPartnershipCanceled=Partnerskap avbrutet +YourPartnershipWillSoonBeCanceledTopic=Partnerskap kommer snart att avbrytas +YourPartnershipRefusedTopic=Partnerskap nekat +YourPartnershipAcceptedTopic=Partnerskap accepterat +YourPartnershipCanceledTopic=Partnerskap avbrutet + +YourPartnershipWillSoonBeCanceledContent=Vi informerar dig om att ditt partnerskap snart kommer att avbrytas (Backlink hittades inte) +YourPartnershipRefusedContent=Vi vill informera dig om att parnterskapsförfrågan har blivit nekad. +YourPartnershipAcceptedContent=Vi vill informera dig om att partnerskapsförfrågan har blivit accepterad +YourPartnershipCanceledContent=Vi vill informera dig om att partnerskapsförfrågan har blivit avbruten + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Avslagsanledning # # Status # -PartnershipDraft = Utkast -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Annullerad - -PartnershipManagedFor=Partners are +PartnershipDraft=Utkast +PartnershipAccepted=Accepterad +PartnershipRefused=Refused +PartnershipCanceled=Annullerad +PartnershipManagedFor=Partnerutrymme diff --git a/htdocs/langs/sv_SE/paybox.lang b/htdocs/langs/sv_SE/paybox.lang index 5877d6556b8..268e3223cee 100644 --- a/htdocs/langs/sv_SE/paybox.lang +++ b/htdocs/langs/sv_SE/paybox.lang @@ -10,7 +10,7 @@ ToComplete=För att komplettera YourEMail=E-post för betalning bekräftelse Creditor=Borgenär PaymentCode=Betalning kod -PayBoxDoPayment=Pay with Paybox +PayBoxDoPayment=Betala med Paybox YouWillBeRedirectedOnPayBox=Du kommer att omdirigeras på säkrade Paybox sida för att mata dig kreditkortsinformation Continue=Nästa SetupPayBoxToHavePaymentCreatedAutomatically=Konfigurera din lön med url %s för att ha betalning skapad automatiskt när bekräftat av Paybox. @@ -20,7 +20,6 @@ AccountParameter=Tagen parametrar UsageParameter=Användning parametrar InformationToFindParameters=Hjälp att hitta din %s kontoinformation PAYBOX_CGI_URL_V2=URL Paybox CGI-modul för betalning -VendorName=Namn på leverantör CSSUrlForPaymentForm=CSS-formatmall URL för inbetalningskort NewPayboxPaymentReceived=Ny Paybox betalning mottagen NewPayboxPaymentFailed=Ny Paybox betalnings försök men misslyckats @@ -28,4 +27,4 @@ PAYBOX_PAYONLINE_SENDEMAIL=E-postmeddelande efter betalningsförsök (framgång PAYBOX_PBX_SITE=Värde för PBX SITE PAYBOX_PBX_RANG=Värde för PBX Rang PAYBOX_PBX_IDENTIFIANT=Värde för PBX-ID -PAYBOX_HMAC_KEY=HMAC key +PAYBOX_HMAC_KEY=HMAC-nyckel diff --git a/htdocs/langs/sv_SE/paypal.lang b/htdocs/langs/sv_SE/paypal.lang index 7371edf5798..907c1cff4d3 100644 --- a/htdocs/langs/sv_SE/paypal.lang +++ b/htdocs/langs/sv_SE/paypal.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - paypal PaypalSetup=PayPal-modul installation PaypalDesc=Denna modul tillåter betalning av kunder via PayPal . Detta kan användas för en ad hoc-betalning eller för en betalning relaterad till ett Dolibarr-objekt (faktura, order, ...) -PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal) +PaypalOrCBDoPayment=Betala med PayPal (kort eler PayPal) PaypalDoPayment=Betala med PayPal PAYPAL_API_SANDBOX=Läge test / sandlåda PAYPAL_API_USER=API användarnamn @@ -32,5 +32,5 @@ PaypalImportPayment=Importera PayPal-betalningar PostActionAfterPayment=Posta åtgärder efter betalningar ARollbackWasPerformedOnPostActions=En återuppringning utfördes på alla Post-åtgärder. Du måste fylla i posthandlingar manuellt om det behövs. ValidationOfPaymentFailed=Bekräftandet av betalningen har misslyckats -CardOwner=Card holder -PayPalBalance=Paypal credit +CardOwner=Kortinnehavare +PayPalBalance=PayPal Kredit diff --git a/htdocs/langs/sv_SE/productbatch.lang b/htdocs/langs/sv_SE/productbatch.lang index 926e1126664..1f1bf4f8352 100644 --- a/htdocs/langs/sv_SE/productbatch.lang +++ b/htdocs/langs/sv_SE/productbatch.lang @@ -1,10 +1,10 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Använd batch/serie-nummer -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnBatch=Ja (tillverkning/serienummer krävs) +ProductStatusOnSerial=Ja (Unikt serienummer krävs) ProductStatusNotOnBatch=Nej (batch/serie-nummer används ej) -ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnBatchShort=Parti +ProductStatusOnSerialShort=Serie ProductStatusNotOnBatchShort=Nej Batch=Batch/Serie atleast1batchfield=Bäst före-datum eller Batch/Serie-nummer @@ -24,12 +24,20 @@ ProductLotSetup=Inställning av batch/serie modul ShowCurrentStockOfLot=Visa aktuellt lager för sammansatt produkt/parti ShowLogOfMovementIfLot=Visa statestik för sammansatt produkt/parti StockDetailPerBatch=Detaljlager för parti -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +SerialNumberAlreadyInUse=Serienummer %s är redan använt för produkt %s +TooManyQtyForSerialNumber=Du kan bara ha en produkt %s för serienummer %s +ManageLotMask=Anpassad mask +CustomMasks=Möjlighet att definiera en annan numreringsmask för varje produkt +BatchLotNumberingModules=Numreringsregel för automatisk generering av partinummer +BatchSerialNumberingModules=Numreringsregel för automatisk generering av serienummer (för produkter med egendom 1 unikt parti / serienummer för varje produkt) +QtyToAddAfterBarcodeScan=Antal att lägga till för varje streckkod/parti/serienummer skannat +LifeTime=Livslängd (i dagar) +EndOfLife=Livslängd +ManufacturingDate=Tillverkningsdatum +DestructionDate=Raseringsdatum +FirstUseDate=Första användningsdatum +QCFrequency=Kvalitetskontrollsperiod (i dagar) + +#Traceability - qc status +OutOfOrder=Ej tillgänglig +InWorkingOrder=I fungerande skick diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index c495fd0ed3f..0b760af33aa 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -2,7 +2,7 @@ ProductRef=Produkt ref. ProductLabel=Produktmärkning ProductLabelTranslated=Översatt produktetikett -ProductDescription=Product description +ProductDescription=Produktbeskrivning ProductDescriptionTranslated=Översatt produktbeskrivning ProductNoteTranslated=Översatt produktnotat ProductServiceCard=Produkter / tjänster @@ -22,8 +22,8 @@ ProductVatMassChangeDesc=Detta verktyg uppdaterar mervärdesskattesatsen som def MassBarcodeInit=Massvis streckkodinitiering MassBarcodeInitDesc=Denna sida kan användas för att initialisera en streckkod på objekt som inte har någon streckkod definierad. Kontrollera först att streckkodsmodulen har fullständiga inställningar. ProductAccountancyBuyCode=Redovisningskod (köp) -ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) -ProductAccountancyBuyExportCode=Accounting code (purchase import) +ProductAccountancyBuyIntraCode=Redovisningskod (köp inom gemenskapen) +ProductAccountancyBuyExportCode=Redovisningskod (import) ProductAccountancySellCode=Redovisningskod (försäljning) ProductAccountancySellIntraCode=Redovisningskod (försäljning inom gemenskapen) ProductAccountancySellExportCode=Redovisningskod (försäljningsexport) @@ -31,19 +31,19 @@ ProductOrService=Produkt eller tjänst ProductsAndServices=Produkter och tjänster ProductsOrServices=Produkter eller tjänster ProductsPipeServices=Produkter | tjänster -ProductsOnSale=Products for sale -ProductsOnPurchase=Products for purchase +ProductsOnSale=Produkter till salu +ProductsOnPurchase=Produkter för köp ProductsOnSaleOnly=Endast produkter till försäljning ProductsOnPurchaseOnly=Endast produkter för inköp ProductsNotOnSell=Produkter som inte är till salu och inte för köp ProductsOnSellAndOnBuy=Produkter till försäljning och inköp -ServicesOnSale=Services for sale -ServicesOnPurchase=Services for purchase +ServicesOnSale=Tjänster till salu +ServicesOnPurchase=Tjänster för köp ServicesOnSaleOnly=Endast tjänster till salu ServicesOnPurchaseOnly=Endast tjänster för inköp ServicesNotOnSell=Tjänster som inte är till salu och inte för köp ServicesOnSellAndOnBuy=Tjänster till försäljning och inköp -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=Senaste %s produkter / tjänster som modifierades LastRecordedProducts=Senaste %s inspelade produkterna LastRecordedServices=Senaste %s inspelade tjänsterna CardProduct0=Produkt @@ -72,13 +72,13 @@ AppliedPricesFrom=Tillämpad från SellingPrice=Försäljningspris SellingPriceHT=Försäljningspris (exkl. Moms) SellingPriceTTC=Försäljningspris (inkl. moms) -SellingMinPriceTTC=Minsta försäljningspris (inkl. Skatt) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +SellingMinPriceTTC=Minsta försäljningspris (inkl. moms) +CostPriceDescription=Detta prisfält (exkl. Moms) kan användas för att fånga det genomsnittliga belopp som denna produkt kostar för ditt företag. Det kan vara vilket pris du själv beräknar, till exempel från det genomsnittliga inköpspriset plus genomsnittlig produktions- och distributionskostnad. CostPriceUsage=Detta värde kan användas för marginalberäkning. SoldAmount=Sålt belopp PurchasedAmount=Inköpt antal NewPrice=Nytt pris -MinPrice=Min. selling price +MinPrice=Min. försäljningspris EditSellingPriceLabel=Redigera försäljningsprisetikett CantBeLessThanMinPrice=Försäljningspriset kan inte vara lägre än lägsta tillåtna för denna bok (%s utan skatt) ContractStatusClosed=Stängt @@ -104,25 +104,25 @@ SetDefaultBarcodeType=Ställ streckkodstypblock BarcodeValue=Barcode värde NoteNotVisibleOnBill=Obs (ej synlig på fakturor, förslag ...) ServiceLimitedDuration=Om produkten är en tjänst med begränsad varaktighet: -FillWithLastServiceDates=Fill with last service line dates +FillWithLastServiceDates=Fyll i de senaste servicelinjen MultiPricesAbility=Flera prissegment per produkt / tjänst (varje kund är i ett prissegment) MultiPricesNumPrices=Antal pris -DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices -AssociatedProductsAbility=Enable Kits (set of several products) -VariantsAbility=Enable Variants (variations of products, for example color, size) +DefaultPriceType=Prisbas per standard (med kontra utan skatt) när nya försäljningspriser läggs till +AssociatedProductsAbility=Aktivera kit (uppsättning med flera produkter) +VariantsAbility=Aktivera varianter (variationer av produkter, till exempel färg, storlek) AssociatedProducts=Kits -AssociatedProductsNumber=Number of products composing this kit +AssociatedProductsNumber=Antal produkter som består av detta kit ParentProductsNumber=Antal förälder förpackningsartikel ParentProducts=Föräldraprodukter -IfZeroItIsNotAVirtualProduct=If 0, this product is not a kit -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any kit +IfZeroItIsNotAVirtualProduct=Om 0 är denna produkt inte ett kit +IfZeroItIsNotUsedByVirtualProduct=Om 0 används den här produkten inte i något kit KeywordFilter=Nyckelord filter CategoryFilter=Kategori filter ProductToAddSearch=Sök produkt att lägga till NoMatchFound=Ingen matchning hittades ListOfProductsServices=Lista över produkter / tjänster -ProductAssociationList=List of products/services that are component(s) of this kit -ProductParentList=List of kits with this product as a component +ProductAssociationList=Lista över produkter / tjänster som ingår i detta kit +ProductParentList=Lista över kit med denna produkt som komponent ErrorAssociationIsFatherOfThis=Ett av valda produkten är förälder med nuvarande produkt DeleteProduct=Ta bort en produkt / tjänst ConfirmDeleteProduct=Är du säker på att du vill ta bort denna produkt / tjänst? @@ -141,7 +141,7 @@ VATRateForSupplierProduct=Momsavgift (för denna leverantör / produkt) DiscountQtyMin=Rabatt för denna mängd. NoPriceDefinedForThisSupplier=Inget pris / antal definierat för denna leverantör / produkt NoSupplierPriceDefinedForThisProduct=Ingen säljare pris / antal definierad för denna produkt -PredefinedItem=Predefined item +PredefinedItem=Fördefinierad artikel PredefinedProductsToSell=Fördefinierad produkt PredefinedServicesToSell=Fördefinierad tjänst PredefinedProductsAndServicesToSell=Fördefinierade produkter eller tjänster att sälja @@ -157,11 +157,11 @@ ListServiceByPopularity=Lista över tjänster efter popularitet Finished=Tillverkade produkten RowMaterial=Första material ConfirmCloneProduct=Är du säker på att du vill klona produkten eller tjänsten %s ? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=Klona all viktig information om produkten / tjänsten ClonePricesProduct=Klonpriser -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=Klonlänkade taggar / kategorier +CloneCompositionProduct=Klona virtuella produkter / tjänster +CloneCombinationsProduct=Klona produktvarianterna ProductIsUsed=Denna produkt används NewRefForClone=Ref. av ny produkt / tjänst SellingPrices=Försäljningspriser @@ -169,13 +169,13 @@ BuyingPrices=Köpa priser CustomerPrices=Kundpriser SuppliersPrices=Leverantörspriser SuppliersPricesOfProductsOrServices=Leverantörspriser (av produkter eller tjänster) -CustomCode=Customs|Commodity|HS code -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) -NatureOfProductShort=Nature of product -NatureOfProductDesc=Raw material or manufactured product +CustomCode=Tull | Råvara | HS-kod +CountryOrigin=Ursprungsland +RegionStateOrigin=Ursprungsregion +StateOrigin=Stat | Ursprungsprovins +Nature=Produktens art (rå / tillverkad) +NatureOfProductShort=Produktens art +NatureOfProductDesc=Råmaterial eller tillverkad produkt ShortLabel=Kort etikett Unit=Enhet p=u. @@ -219,8 +219,8 @@ unitM=Meter unitDM=dm unitCM=cm unitMM=mm -unitFT=ft -unitIN=in +unitFT=med +unitIN=inch unitM2=Kvadratmeter unitDM2=dm² unitCM2=cm² @@ -232,7 +232,7 @@ unitDM3=dm³ unitCM3=cm³ unitMM3=mm³ unitFT3=ft³ -unitIN3=in³ +unitIN3=inch³ unitOZ3=uns unitgallon=gallon ProductCodeModel=Produktmall, ref. @@ -243,13 +243,13 @@ AlwaysUseFixedPrice=Använd fast pris PriceByQuantity=Olika priser m.a.p. mängd DisablePriceByQty=Inaktivera priserna efter antal PriceByQuantityRange=Pris för mängdgaffel -MultipriceRules=Automatic prices for segment +MultipriceRules=Automatiska priser för segment UseMultipriceRules=Använd prissegmentregler (definierad i produktmoduluppsättning) för att automatiskt beräkna priser för alla andra segment enligt första segmentet PercentVariationOver=%% variation över %s PercentDiscountOver=%% rabatt över %s KeepEmptyForAutoCalculation=Håll tomt för att få detta beräknat automatiskt från vikt eller volym av produkter -VariantRefExample=Examples: COL, SIZE -VariantLabelExample=Examples: Color, Size +VariantRefExample=Exempel: COL, SIZE +VariantLabelExample=Exempel: Färg, Storlek ### composition fabrication Build=Tillverka ProductsMultiPrice=Produkter och priser för varje prissegment @@ -277,7 +277,7 @@ PriceByCustomer=Olika priser för varje kund PriceCatalogue=Ett enda försäljningspris per produkt / tjänst PricingRule=Regler för försäljningspriser AddCustomerPrice=Lägg till pris per kund -ForceUpdateChildPriceSoc=Sätt samma pris på kunds filialer +ForceUpdateChildPriceSoc=Ställ in samma pris på kundens dotterbolag PriceByCustomerLog=Logga på tidigare kundpriser MinimumPriceLimit=Lägsta pris kan inte vara lägre än %s MinimumRecommendedPrice=Lägsta rekommenderade pris är: %s @@ -291,18 +291,19 @@ PriceExpressionEditorHelp5=Tillgängliga globala värden: PriceMode=Prisläge PriceNumeric=Nummer DefaultPrice=Standardpris -DefaultPriceLog=Log of previous default prices +DefaultPriceLog=Logg över tidigare standardpriser ComposedProductIncDecStock=Öka / minska lagerposten vid föräldraändring ComposedProduct=Barnprodukter MinSupplierPrice=Lägsta köpkurs MinCustomerPrice=Lägsta försäljningspris +NoDynamicPrice=Inget dynamiskt pris DynamicPriceConfiguration=Dynamisk priskonfiguration DynamicPriceDesc=Du kan definiera matematiska formler för att beräkna kund- eller leverantörspriser. Sådana formler kan använda alla matematiska operatörer, vissa konstanter och variabler. Du kan här definiera variablerna du vill använda. Om variabeln behöver en automatisk uppdatering kan du definiera den externa adressen så att Dolibarr kan uppdatera värdet automatiskt. AddVariable=Lägg till variabel AddUpdater=Lägg till Updater GlobalVariables=Globala variabler VariableToUpdate=Variabel för uppdatering -GlobalVariableUpdaters=External updaters for variables +GlobalVariableUpdaters=Externa uppdaterare för variabler GlobalVariableUpdaterType0=JSON data GlobalVariableUpdaterHelp0=Parsar JSON-data från den angivna webbadressen, VALUE specificerar platsen för relevant värde, GlobalVariableUpdaterHelpFormat0=Formatera för begäran {"URL": "http://example.com/urlofjson", "VALUE": "array1, array2, targetvalue"} @@ -314,7 +315,7 @@ LastUpdated=Senaste uppdatering CorrectlyUpdated=Korrekt uppdaterad PropalMergePdfProductActualFile=Filer använder för att lägga till i PDF Azur är / är PropalMergePdfProductChooseFile=Välj PDF-filer -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=Inkludera produkter / tjänster med etikett DefaultPriceRealPriceMayDependOnCustomer=Standardpris, realt pris kan bero på kund WarningSelectOneDocument=Var god välj minst ett dokument DefaultUnitToShow=Enhet @@ -328,10 +329,10 @@ ProductWeight=Vikt för 1 produkt ProductVolume=Volym för 1 produkt WeightUnits=Viktenhet VolumeUnits=Volymenhet -WidthUnits=Width unit -LengthUnits=Length unit -HeightUnits=Height unit -SurfaceUnits=Surface unit +WidthUnits=Bredd +LengthUnits=Längd enhet +HeightUnits=Höjd enhet +SurfaceUnits=Ytenhet SizeUnits=Storleksenhet DeleteProductBuyPrice=Radera köpeskillingen ConfirmDeleteProductBuyPrice=Är du säker på att du vill ta bort det här köpeskillingen? @@ -340,12 +341,12 @@ ProductSheet=Produktblad ServiceSheet=Serviceblad PossibleValues=Möjliga värden GoOnMenuToCreateVairants=Gå på menyn %s - %s för att förbereda attributvarianter (som färger, storlek, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Lägg till en funktion för att definiera produktbeskrivningen som definieras av leverantörerna (för varje leverantörsreferens) utöver beskrivningen för kunderna ProductSupplierDescription=Leverantörsbeskrivning för produkten -UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging -PackagingForThisProductDesc=On supplier order, you will automaticly order this quantity (or a multiple of this quantity). Cannot be less than minimum buying quantity -QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging +UseProductSupplierPackaging=Använd förpackning till leverantörspriser (beräkna kvantiteter enligt förpackning som anges på leverantörspris när du lägger till / uppdaterar rad i leverantörsdokument) +PackagingForThisProduct=Förpackning +PackagingForThisProductDesc=Vid leverantörsbeställning kommer du automatiskt att beställa denna kvantitet (eller en multipel av denna kvantitet). Får inte vara mindre än minsta köpkvantitet +QtyRecalculatedWithPackaging=Mängden av linjen beräknades om enligt leverantörens förpackning #Attributes VariantAttributes=Variant attribut @@ -368,9 +369,9 @@ SelectCombination=Välj kombination ProductCombinationGenerator=Varianter generator Features=Funktioner PriceImpact=Prispåverkan -ImpactOnPriceLevel=Impact on price level %s -ApplyToAllPriceImpactLevel= Apply to all levels -ApplyToAllPriceImpactLevelHelp=By clicking here you set the same price impact on all levels +ImpactOnPriceLevel=Påverkan på prisnivån %s +ApplyToAllPriceImpactLevel= Ansök på alla nivåer +ApplyToAllPriceImpactLevelHelp=Genom att klicka här ställer du in samma prispåverkan på alla nivåer WeightImpact=Viktpåverkan NewProductAttribute=Nya attribut NewProductAttributeValue=Nytt attributvärde @@ -382,7 +383,7 @@ UsePercentageVariations=Använd procentuella variationer PercentageVariation=Procentuell variation ErrorDeletingGeneratedProducts=Ett fel uppstod när du försökte radera befintliga varianter av produkter NbOfDifferentValues=Antal olika värden -NbProducts=Number of products +NbProducts=Antal produkter ParentProduct=Föräldraprodukt HideChildProducts=Dölj variantprodukter ShowChildProducts=Visa variantprodukter @@ -393,6 +394,8 @@ ErrorCopyProductCombinations=Ett fel uppstod när du kopierade varianterna ErrorDestinationProductNotFound=Destination produkt hittades inte ErrorProductCombinationNotFound=Produktvariant inte hittat ActionAvailableOnVariantProductOnly=Åtgärd endast tillgänglig på varianter av produkt -ProductsPricePerCustomer=Product prices per customers -ProductSupplierExtraFields=Additional Attributes (Supplier Prices) -DeleteLinkedProduct=Delete the child product linked to the combination +ProductsPricePerCustomer=Produktpriser per kund +ProductSupplierExtraFields=Ytterligare attribut (leverantörspriser) +DeleteLinkedProduct=Ta bort den underordnade produkten som är länkad till kombinationen +PMPValue=Vägda genomsnittliga priset +PMPValueShort=WAP diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index 0ffdf7a0821..3fe17c75686 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -7,22 +7,22 @@ ProjectsArea=Projektområde ProjectStatus=Projektstatus SharedProject=Alla PrivateProject=Projekt kontakter -ProjectsImContactFor=Projects for which I am explicitly a contact +ProjectsImContactFor=Projekt där jag är kontaktperson AllAllowedProjects=Allt projekt jag kan läsa (min + offentliga) AllProjects=Alla projekt -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Denna vy är begränsad till projekt du är kontaktperson för ProjectsPublicDesc=Denna uppfattning presenterar alla projekt du har rätt att läsa. TasksOnProjectsPublicDesc=Denna vy presenterar alla uppgifter på projekt som du får läsa. ProjectsPublicTaskDesc=Denna uppfattning presenterar alla projekt och uppgifter som du får läsa. ProjectsDesc=Denna uppfattning presenterar alla projekt (din användarbehörighet tillåta dig att visa allt). TasksOnProjectsDesc=Denna vy presenterar alla uppgifter på alla projekt (dina användarbehörigheter ger dig tillstånd att se allt). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Denna vy är begränsad till projekt eller uppgifter du är kontaktperson för OnlyOpenedProject=Endast öppna projekt är synliga (projekt i utkast eller stängt status är inte synliga). ClosedProjectsAreHidden=Avslutade projekt är inte synliga. TasksPublicDesc=Denna uppfattning presenterar alla projekt och uppgifter som du får läsa. TasksDesc=Denna uppfattning presenterar alla projekt och uppgifter (din användarbehörighet tillåta dig att visa allt). AllTaskVisibleButEditIfYouAreAssigned=Alla uppgifter för kvalificerade projekt är synliga, men du kan bara ange tid för uppgift som är tilldelad till vald användare. Tilldela uppgiften om du behöver ange tid på den. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Enbart uppgifter som du är tilldelad är synliga. Om du behöver rapportera tid på en uppgift och uppgiften inte är synlig här, måste du tilldela den till dig själv. ImportDatasetTasks=Uppgifter av projekt ProjectCategories=Projektetiketter / kategorier NewProject=Nytt projekt @@ -47,7 +47,7 @@ TimeSpentByUser=Tid spenderad av användaren TimesSpent=Tid TaskId=UppgiftsID RefTask=Uppgiftsreferens -LabelTask=Task label +LabelTask=Uppgiftsbenämning TaskTimeSpent=Tid som ägnas åt uppgifter TaskTimeUser=Användare TaskTimeNote=Anmärkning @@ -69,27 +69,27 @@ NewTask=Ny uppgift AddTask=Skapa uppgift AddTimeSpent=Skapa tid spenderad AddHereTimeSpentForDay=Lägg till här tid för denna dag / uppgift -AddHereTimeSpentForWeek=Add here time spent for this week/task +AddHereTimeSpentForWeek=Registrera tid spenderat på denna vecka/uppgift Activity=Aktivitet Activities=Uppgifter / aktiviteter MyActivities=Mina uppgifter / aktiviteter MyProjects=Mina projekt MyProjectsArea=Mina projektområde DurationEffective=Effektiv längd -ProgressDeclared=Declared real progress -TaskProgressSummary=Task progress -CurentlyOpenedTasks=Curently open tasks -TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption -TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption -ProgressCalculated=Progress on consumption -WhichIamLinkedTo=which I'm linked to -WhichIamLinkedToProject=which I'm linked to project +ProgressDeclared=Deklarera framgång +TaskProgressSummary=Uppgiftsframsteg +CurentlyOpenedTasks=Just nu aktiva uppgifter +TheReportedProgressIsLessThanTheCalculatedProgressionByX=Den deklarerade verkliga utvecklingen är mindre %s än konsumtionsförloppet +TheReportedProgressIsMoreThanTheCalculatedProgressionByX=Den deklarerade verkliga utvecklingen är mer %s än konsumtionsframstegen +ProgressCalculated=Konsumtionsframsteg +WhichIamLinkedTo=vilka jag är länkade till +WhichIamLinkedToProject=vilka projekt jag är länkade till Time=Tid -TimeConsumed=Consumed +TimeConsumed=Konsumerat ListOfTasks=Lista över uppgifter GoToListOfTimeConsumed=Gå till listan över tidskrävt GanttView=Gantt-vy -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Lista lager associerade till detta projekt ListProposalsAssociatedProject=Förteckning över de kommersiella förslagen relaterade till projektet ListOrdersAssociatedProject=Förteckning över försäljningsorder relaterade till projektet ListInvoicesAssociatedProject=Förteckning över kundfakturor relaterade till projektet @@ -104,7 +104,7 @@ ListDonationsAssociatedProject=Förteckning över donationer relaterade till pro ListVariousPaymentsAssociatedProject=Förteckning över diverse betalningar relaterade till projektet ListSalariesAssociatedProject=Förteckning över betalningar av löner relaterade till projektet ListActionsAssociatedProject=Förteckning över händelser relaterade till projektet -ListMOAssociatedProject=List of manufacturing orders related to the project +ListMOAssociatedProject=Lista tillverkningsordrar relaterade till detta projekt ListTaskTimeUserProject=Förteckning över tid som konsumeras på projektets uppgifter ListTaskTimeForTask=Lista över tid förbrukad på uppgift ActivityOnProjectToday=Aktivitet på projektet idag @@ -117,7 +117,7 @@ ChildOfTask=Barn av uppgift TaskHasChild=Uppgiften har barn NotOwnerOfProject=Inte ägaren av denna privata projekt AffectedTo=Påverkas i -CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See tab '%s'. +CantRemoveProject=Detta projekt kan inte tas bort, eftersom det är refererat i något annat föremål (faktura, order etc.). Se i flik "%s" ValidateProject=Bekräfta projet ConfirmValidateProject=Är du säker på att du vill bekräfta detta projekt? CloseAProject=Stäng projekt @@ -140,6 +140,7 @@ NoTasks=Inga uppgifter för detta projekt LinkedToAnotherCompany=Kopplat till annan tredje part TaskIsNotAssignedToUser=Uppgift som inte tilldelats användaren. Använd knappen ' %s ' för att tilldela uppgiften nu. ErrorTimeSpentIsEmpty=Tid är tom +TimeRecordingRestrictedToNMonthsBack=Tidrapportering är begränsad till %s månad(er) tillbaka ThisWillAlsoRemoveTasks=Denna åtgärd kommer också att ta bort alla aktiviteter av projekt (%s uppgifter på för tillfället) och alla ingångar för nedlagd tid. IfNeedToUseOtherObjectKeepEmpty=Om vissa objekt (faktura, order, ...), som tillhör en annan tredje part, måste kopplas till projektet för att skapa, hålla denna tomt för att få projektet att flera tredje part. CloneTasks=Klon uppgifter @@ -164,8 +165,8 @@ OpportunityProbability=Ledsannolikhet OpportunityProbabilityShort=Bly probab. OpportunityAmount=Blybelopp OpportunityAmountShort=Blybelopp -OpportunityWeightedAmount=Opportunity weighted amount -OpportunityWeightedAmountShort=Opp. weighted amount +OpportunityWeightedAmount=Möjlighet vägd mängd +OpportunityWeightedAmountShort=Opp. vägd mängd OpportunityAmountAverageShort=Genomsnittlig blybelopp OpportunityAmountWeigthedShort=Viktad blybelopp WonLostExcluded=Vunnit / borttaget exkluderat @@ -180,7 +181,7 @@ TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragsgivare TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragsgivare SelectElement=Välj elementet AddElement=Länk till inslag -LinkToElementShort=Link to +LinkToElementShort=Länkad til # Documents models DocumentModelBeluga=Projektdokumentmall för översikt över länkade objekt DocumentModelBaleine=Projektdokumentmall för uppgifter @@ -189,10 +190,10 @@ PlannedWorkload=Planerad arbetsbelastning PlannedWorkloadShort=Arbetsbelastning ProjectReferers=Relaterade saker ProjectMustBeValidatedFirst=Projekt måste bekräftas först -FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time +FirstAddRessourceToAllocateTime=Tilldela en användarresurs som kontaktperson för projekt att rapportera tid InputPerDay=Ingång per dag InputPerWeek=Ingång per vecka -InputPerMonth=Input per month +InputPerMonth=Ingång per månad InputDetail=Inmatningsdetalj TimeAlreadyRecorded=Det här är den tid som redan spelats in för den här uppgiften / dag och användare %s ProjectsWithThisUserAsContact=Projekt med denna användare som kontakt @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=Ej tilldelad uppgiften NoUserAssignedToTheProject=Inga användare tilldelade detta projekt TimeSpentBy=Tid spenderad av TasksAssignedTo=Uppgifter som är tilldelade till -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Tilldela till mig själv AssignTaskToUser=Tilldela uppgiften till %s SelectTaskToAssign=Välj uppgift att tilldela ... AssignTask=Tilldela @@ -213,9 +214,9 @@ ProjectNbProjectByMonth=Antal skapade projekt per månad ProjectNbTaskByMonth=Antal skapade uppgifter per månad ProjectOppAmountOfProjectsByMonth=Antalet leder per månad ProjectWeightedOppAmountOfProjectsByMonth=Viktad mängd ledningar per månad -ProjectOpenedProjectByOppStatus=Open project|lead by lead status -ProjectsStatistics=Statistics on projects or leads -TasksStatistics=Statistics on tasks of projects or leads +ProjectOpenedProjectByOppStatus=Öppna projekt | leda efter leadstatus +ProjectsStatistics=Statistik över projekt eller leads +TasksStatistics=Statistik över uppgifter eller projektledningar TaskAssignedToEnterTime=Uppgift som tilldelats. Det är möjligt att ange tid på denna uppgift. IdTaskTime=Id uppgiftstid YouCanCompleteRef=Om du vill slutföra referensnumret med något suffix rekommenderas det att lägga till ett - tecken för att skilja det, så den automatiska numreringen fungerar fortfarande korrekt för nästa projekt. Till exempel %s-MYSUFFIX @@ -241,7 +242,8 @@ LatestModifiedProjects=Senaste %s modifierade projekten OtherFilteredTasks=Andra filtrerade uppgifter NoAssignedTasks=Inga tilldelade uppgifter hittades (tilldela projekt / uppgifter till den nuvarande användaren från den övre väljrutan för att ange tid på det) ThirdPartyRequiredToGenerateInvoice=En tredje part måste definieras på projekt för att kunna fakturera det. -ChooseANotYetAssignedTask=Choose a task not yet assigned to you +ThirdPartyRequiredToGenerateInvoice=En tredje part måste definieras på projekt för att kunna fakturera det. +ChooseANotYetAssignedTask=Denna uppgift har inte tilldelats till dig ännu # Comments trans AllowCommentOnTask=Tillåt användar kommentarer på uppgifter AllowCommentOnProject=Tillåt användar kommentarer på projekt @@ -252,24 +254,30 @@ SendProjectRef=Informationsprojekt %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Modul "Löner" måste vara aktiverat för att definiera arbetstimmar per timme för att få tiden spenderad valoriserad NewTaskRefSuggested=Uppgiftsreferens redan används, en ny uppgiftsreferens krävs TimeSpentInvoiced=Tid förbrukad fakturerad +TimeSpentForIntervention=Tid TimeSpentForInvoice=Tid OneLinePerUser=En rad per användare ServiceToUseOnLines=Service att använda på linjer InvoiceGeneratedFromTimeSpent=Faktura %s har genererats från tid till projekt -ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. -ProjectFollowOpportunity=Follow opportunity -ProjectFollowTasks=Follow tasks or time spent -Usage=Usage -UsageOpportunity=Usage: Opportunity -UsageTasks=Usage: Tasks -UsageBillTimeShort=Usage: Bill time -InvoiceToUse=Draft invoice to use +InterventionGeneratedFromTimeSpent=Intervention %s har genererats från tid på projektet +ProjectBillTimeDescription=Kontrollera om du anger tidrapport för projektuppgifter OCH du planerar att generera fakturor från tidrapporten för att fakturera kunden för projektet (kontrollera inte om du planerar att skapa faktura som inte baseras på angivna tidrapporter). Obs! För att generera faktura, gå till fliken "Tid" för projektet och välj rader som ska inkluderas. +ProjectFollowOpportunity=Följ möjligheten +ProjectFollowTasks=Följ uppgift eller tid spenderad +Usage=Användande +UsageOpportunity=Användning: Möjlighet +UsageTasks=Användande: Uppgift +UsageBillTimeShort=Användande: Fakturerbar tid +InvoiceToUse=Utkastsfaktura att använda +InterToUse=Utkast till ingripande att använda NewInvoice=Ny faktura -OneLinePerTask=One line per task -OneLinePerPeriod=One line per period -RefTaskParent=Ref. Parent Task -ProfitIsCalculatedWith=Profit is calculated using -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +NewInter=Nya insatser +OneLinePerTask=En rad per uppgift +OneLinePerPeriod=En rad per period +OneLinePerTimeSpentLine=En rad för varje tidrapport +RefTaskParent=Refererad överordnad uppgift +ProfitIsCalculatedWith=Vinst är beräknad av +AddPersonToTask=Lägg också till i uppgift +UsageOrganizeEvent=Användning: Event Organization +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Klassificera projektet som stängt när alla dess uppgifter är slutförda (100%% framsteg) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Obs: befintliga projekt med alla uppgifter vid 100%%-framsteg påverkas inte: du måste stänga dem manuellt. Det här alternativet påverkar endast öppna projekt. +SelectLinesOfTimeSpentToInvoice=Välj rader med tid som inte har fakturerats och sedan massåtgärden "Generera faktura" för att fakturera dem diff --git a/htdocs/langs/sv_SE/propal.lang b/htdocs/langs/sv_SE/propal.lang index b5fdaf0092b..aacabbf2567 100644 --- a/htdocs/langs/sv_SE/propal.lang +++ b/htdocs/langs/sv_SE/propal.lang @@ -59,7 +59,7 @@ ConfirmClonePropal=Är du säker på att du vill klona det kommersiella förslag ConfirmReOpenProp=Är du säker på att du vill öppna tillbaka det kommersiella förslaget %s ? ProposalsAndProposalsLines=Kommersiella förslag och linjer ProposalLine=Förslag linje -ProposalLines=Proposal lines +ProposalLines=Förslagslinjer AvailabilityPeriod=Tillgänglighet fördröjning SetAvailability=Ställa tillgänglighet fördröjning AfterOrder=Efter att @@ -76,17 +76,17 @@ TypeContact_propal_external_BILLING=Kundfaktura kontakt TypeContact_propal_external_CUSTOMER=Kundkontakt följa upp förslag TypeContact_propal_external_SHIPPING=Kundkontakt för leverans # Document models -DocModelAzurDescription=A complete proposal model (old implementation of Cyan template) -DocModelCyanDescription=A complete proposal model +DocModelAzurDescription=En komplett förslagsmodell (gammal implementering av Cyan-mall) +DocModelCyanDescription=En komplett förslagsmodell DefaultModelPropalCreate=Skapa standardmodell DefaultModelPropalToBill=Standardmall när ett affärsförslag sluts (att fakturera) DefaultModelPropalClosed=Standardmall när ett affärsförslag sluts (ofakturerat) ProposalCustomerSignature=Skriftligt godkännande, företagsstämpel, datum och signatur ProposalsStatisticsSuppliers=Statistik för leverantörsförslag -CaseFollowedBy=Case followed by -SignedOnly=Signed only -IdProposal=Proposal ID -IdProduct=Product ID -PrParentLine=Proposal Parent Line -LineBuyPriceHT=Buy Price Amount net of tax for line +CaseFollowedBy=Fall följt av +SignedOnly=Endast signerad +IdProposal=Förslag ID +IdProduct=Serienummer +PrParentLine=Förslagets moderlinje +LineBuyPriceHT=Köp Pris Belopp exklusive skatt för linjen diff --git a/htdocs/langs/sv_SE/receiptprinter.lang b/htdocs/langs/sv_SE/receiptprinter.lang index 4ae00f6560c..9217fd41539 100644 --- a/htdocs/langs/sv_SE/receiptprinter.lang +++ b/htdocs/langs/sv_SE/receiptprinter.lang @@ -15,12 +15,12 @@ CONNECTOR_DUMMY=Dummy-skrivare CONNECTOR_NETWORK_PRINT=Nätverksskrivare CONNECTOR_FILE_PRINT=Lokal skrivare CONNECTOR_WINDOWS_PRINT=Lokal Windows-skrivare -CONNECTOR_CUPS_PRINT=Cups Printer +CONNECTOR_CUPS_PRINT=Koppar skrivare CONNECTOR_DUMMY_HELP=Fake Printer för test, gör ingenting CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 CONNECTOR_FILE_PRINT_HELP=/ dev / usb / lp0, / dev / usb / lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: hemligt @ datornamn / arbetsgrupp / mottagningsskrivare -CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L +CONNECTOR_CUPS_PRINT_HELP=CUPS-skrivarnamn, exempel: HPRT_TP805L PROFILE_DEFAULT=Standardprofil PROFILE_SIMPLE=Enkel profil PROFILE_EPOSTEP=Epos Tep Profile @@ -28,10 +28,10 @@ PROFILE_P822D=P822D-profil PROFILE_STAR=Stjärnprofil PROFILE_DEFAULT_HELP=Standardprofil lämplig för Epson-skrivare PROFILE_SIMPLE_HELP=Enkel profil Ingen grafik -PROFILE_EPOSTEP_HELP=Epos Tep Profile +PROFILE_EPOSTEP_HELP=Epos Tep-profil PROFILE_P822D_HELP=P822D Profil Nr Grafik PROFILE_STAR_HELP=Stjärnprofil -DOL_LINE_FEED=Skip line +DOL_LINE_FEED=Hoppa över rad DOL_ALIGN_LEFT=Vänsterjustera texten DOL_ALIGN_CENTER=Centrera text DOL_ALIGN_RIGHT=Högerjustera texten @@ -45,38 +45,38 @@ DOL_CUT_PAPER_PARTIAL=Klipp biljetten delvis DOL_OPEN_DRAWER=Öppna kassalådan DOL_ACTIVATE_BUZZER=Aktivera summer DOL_PRINT_QRCODE=Skriv ut QR-kod -DOL_PRINT_LOGO=Print logo of my company -DOL_PRINT_LOGO_OLD=Print logo of my company (old printers) -DOL_BOLD=Bold -DOL_BOLD_DISABLED=Disable bold -DOL_DOUBLE_HEIGHT=Double height size -DOL_DOUBLE_WIDTH=Double width size -DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size -DOL_UNDERLINE=Enable underline -DOL_UNDERLINE_DISABLED=Disable underline -DOL_BEEP=Beed sound -DOL_PRINT_TEXT=Print text -DateInvoiceWithTime=Invoice date and time -YearInvoice=Invoice year -DOL_VALUE_MONTH_LETTERS=Invoice month in letters -DOL_VALUE_MONTH=Invoice month -DOL_VALUE_DAY=Invoice day -DOL_VALUE_DAY_LETTERS=Inovice day in letters -DOL_LINE_FEED_REVERSE=Line feed reverse -InvoiceID=Invoice ID +DOL_PRINT_LOGO=Skriv ut logotyp +DOL_PRINT_LOGO_OLD=Skriv ut logotyp (gamla skrivare) +DOL_BOLD=Fet text +DOL_BOLD_DISABLED=Inaktivera fet text +DOL_DOUBLE_HEIGHT=Dubbla höjden +DOL_DOUBLE_WIDTH=Dubbla bredden +DOL_DEFAULT_HEIGHT_WIDTH=Standard höjd och bredd +DOL_UNDERLINE=Aktivera understrykning +DOL_UNDERLINE_DISABLED=Inaktivera understrykning +DOL_BEEP=Summer +DOL_PRINT_TEXT=Skriv text +DateInvoiceWithTime=Fakturadatum och ti +YearInvoice=Fakturaår +DOL_VALUE_MONTH_LETTERS=Fakturamånad i text +DOL_VALUE_MONTH=Fakturamånad +DOL_VALUE_DAY=Fakturadag +DOL_VALUE_DAY_LETTERS=Fakturadag i bokstäver +DOL_LINE_FEED_REVERSE=Omvänd radmatning +InvoiceID=Faktura-id InvoiceRef=Faktura ref -DOL_PRINT_OBJECT_LINES=Invoice lines -DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name -DOL_VALUE_CUSTOMER_LASTNAME=Customer last name -DOL_VALUE_CUSTOMER_MAIL=Customer mail -DOL_VALUE_CUSTOMER_PHONE=Customer phone -DOL_VALUE_CUSTOMER_MOBILE=Customer mobile -DOL_VALUE_CUSTOMER_SKYPE=Customer Skype -DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number -DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance -DOL_VALUE_MYSOC_NAME=Your company name -VendorLastname=Vendor last name -VendorFirstname=Vendor first name -VendorEmail=Vendor email -DOL_VALUE_CUSTOMER_POINTS=Customer points -DOL_VALUE_OBJECT_POINTS=Object points +DOL_PRINT_OBJECT_LINES=Fakturarader +DOL_VALUE_CUSTOMER_FIRSTNAME=Kundens förnamn +DOL_VALUE_CUSTOMER_LASTNAME=Kundens efternamn +DOL_VALUE_CUSTOMER_MAIL=Kundens e-post +DOL_VALUE_CUSTOMER_PHONE=Kundens telefonnummer +DOL_VALUE_CUSTOMER_MOBILE=Kundens mobilnummer +DOL_VALUE_CUSTOMER_SKYPE=Kunden Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Kundens momsregistreringsnummer +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Kundens kreditgräns +DOL_VALUE_MYSOC_NAME=Ditt företagsnamn +VendorLastname=Tillverkarens efternamn +VendorFirstname=Tillverkarens förnam +VendorEmail=Tillverkarens e-post +DOL_VALUE_CUSTOMER_POINTS=Kundpoäng +DOL_VALUE_OBJECT_POINTS=Objektpoäng diff --git a/htdocs/langs/sv_SE/receptions.lang b/htdocs/langs/sv_SE/receptions.lang index 9229221efe1..928952bc7ae 100644 --- a/htdocs/langs/sv_SE/receptions.lang +++ b/htdocs/langs/sv_SE/receptions.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - receptions -ReceptionsSetup=Product Reception setup +ReceptionsSetup=Konfiguration av produktmottagning RefReception=Ref. reception Reception=Den process Receptions=mottagningar @@ -41,7 +41,7 @@ ReceptionLine=Mottagningslinje ProductQtyInReceptionAlreadySent=Produktkvantitet från öppen försäljningsorder redan skickad ProductQtyInSuppliersReceptionAlreadyRecevied=Produktkvantitet från öppen leverantörsorder redan mottagen ValidateOrderFirstBeforeReception=Du måste först validera ordern innan du kan göra mottagningar. -ReceptionsNumberingModules=Numbering module for receptions -ReceptionsReceiptModel=Document templates for receptions -NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionsNumberingModules=Numreringsmodul för mottagningar +ReceptionsReceiptModel=Dokumentmallar för mottagningar +NoMorePredefinedProductToDispatch=Inga fler fördefinierade produkter att skicka +ReceptionExist=Det finns en mottagning diff --git a/htdocs/langs/sv_SE/recruitment.lang b/htdocs/langs/sv_SE/recruitment.lang index 5e9b7a83e0e..b92dea1dc3b 100644 --- a/htdocs/langs/sv_SE/recruitment.lang +++ b/htdocs/langs/sv_SE/recruitment.lang @@ -18,59 +18,59 @@ # # Module label 'ModuleRecruitmentName' -ModuleRecruitmentName = Recruitment +ModuleRecruitmentName = Rekrytering # Module description 'ModuleRecruitmentDesc' -ModuleRecruitmentDesc = Manage and follow recruitment campaigns for new job positions +ModuleRecruitmentDesc = Hantera och följ rekryteringskampanjer för nya jobb # # Admin page # -RecruitmentSetup = Recruitment setup +RecruitmentSetup = Rekryteringsinställning Settings = inställningar -RecruitmentSetupPage = Enter here the setup of main options for the recruitment module -RecruitmentArea=Recruitement area -PublicInterfaceRecruitmentDesc=Public pages of jobs are public URLs to show and answer to open jobs. There is one different link for each open job, found on each job record. -EnablePublicRecruitmentPages=Enable public pages of open jobs +RecruitmentSetupPage = Ange här inställningen av huvudalternativ för rekryteringsmodulen +RecruitmentArea=Rekryteringsområde +PublicInterfaceRecruitmentDesc=Offentliga sidor med jobb är offentliga webbadresser för att visa och svara på öppna jobb. Det finns en annan länk för varje öppet jobb som finns i varje jobb. +EnablePublicRecruitmentPages=Aktivera offentliga sidor med öppna jobb # # About page # About = Om -RecruitmentAbout = About Recruitment -RecruitmentAboutPage = Recruitment about page -NbOfEmployeesExpected=Expected nb of employees -JobLabel=Label of job position -WorkPlace=Work place -DateExpected=Expected date -FutureManager=Future manager -ResponsibleOfRecruitement=Responsible of recruitment -IfJobIsLocatedAtAPartner=If job is located at a partner place +RecruitmentAbout = Om rekrytering +RecruitmentAboutPage = Rekrytering om sida +NbOfEmployeesExpected=Förväntat antal anställda +JobLabel=Etikett för jobbet +WorkPlace=Arbetsplats +DateExpected=Förväntat datum +FutureManager=Framtida chef +ResponsibleOfRecruitement=Ansvarig för rekrytering +IfJobIsLocatedAtAPartner=Om jobbet finns på en partnerplats PositionToBeFilled=Befattning -PositionsToBeFilled=Job positions -ListOfPositionsToBeFilled=List of job positions -NewPositionToBeFilled=New job positions +PositionsToBeFilled=Jobbpositioner +ListOfPositionsToBeFilled=Lista över anställningar +NewPositionToBeFilled=Nya jobbpositioner -JobOfferToBeFilled=Job position to be filled -ThisIsInformationOnJobPosition=Information of the job position to be filled -ContactForRecruitment=Contact for recruitment -EmailRecruiter=Email recruiter -ToUseAGenericEmail=To use a generic email. If not defined, the email of the responsible of recruitment will be used -NewCandidature=New application -ListOfCandidatures=List of applications -RequestedRemuneration=Requested remuneration -ProposedRemuneration=Proposed remuneration -ContractProposed=Contract proposed -ContractSigned=Contract signed -ContractRefused=Contract refused -RecruitmentCandidature=Application -JobPositions=Job positions -RecruitmentCandidatures=Applications -InterviewToDo=Interview to do -AnswerCandidature=Application answer -YourCandidature=Your application -YourCandidatureAnswerMessage=Thanks you for your application.
    ... -JobClosedTextCandidateFound=The job position is closed. The position has been filled. -JobClosedTextCanceled=The job position is closed. -ExtrafieldsJobPosition=Complementary attributes (job positions) -ExtrafieldsApplication=Complementary attributes (job applications) -MakeOffer=Make an offer +JobOfferToBeFilled=Jobb som ska fyllas +ThisIsInformationOnJobPosition=Information om den anställning som ska fyllas +ContactForRecruitment=Kontakt för rekrytering +EmailRecruiter=E-postrekryterare +ToUseAGenericEmail=Att använda ett generiskt e-postmeddelande. Om det inte definieras kommer e-postmeddelandet till den ansvariga för rekryteringen att användas +NewCandidature=Ny ansökan +ListOfCandidatures=Lista över ansökningar +RequestedRemuneration=Begärd ersättning +ProposedRemuneration=Föreslagen ersättning +ContractProposed=Avtalsförslag +ContractSigned=Kontrakt undertecknat +ContractRefused=Avtal nekades +RecruitmentCandidature=Ansökan +JobPositions=Jobbpositioner +RecruitmentCandidatures=Applikationer +InterviewToDo=Intervju att göra +AnswerCandidature=Ansökan svar +YourCandidature=Din ansökan +YourCandidatureAnswerMessage=Tack för din ansökan.
    ... +JobClosedTextCandidateFound=Jobbet är stängt. Anställningen har fyllts. +JobClosedTextCanceled=Jobbet är stängt. +ExtrafieldsJobPosition=Kompletterande attribut (jobbpositioner) +ExtrafieldsApplication=Kompletterande attribut (jobbansökningar) +MakeOffer=Göra ett erbjudande diff --git a/htdocs/langs/sv_SE/resource.lang b/htdocs/langs/sv_SE/resource.lang index e12be95b42d..16ec7c66e6c 100644 --- a/htdocs/langs/sv_SE/resource.lang +++ b/htdocs/langs/sv_SE/resource.lang @@ -5,7 +5,7 @@ DeleteResource=Radera resurs ConfirmDeleteResourceElement=Bekräfta radera resurs för detta element NoResourceInDatabase=Ingen resurs i databasen. NoResourceLinked=Ingen resurs kopplad - +ActionsOnResource=Händelser om den här resursen ResourcePageIndex=Listan över resurser ResourceSingular=Resurs ResourceCard=Resurs kort @@ -16,7 +16,7 @@ ResourceFormLabel_description=Resursbeskrivning ResourcesLinkedToElement=Resurser kopplade till elementet -ShowResource=Show resource +ShowResource=Visa resurs ResourceElementPage=Element resurser ResourceCreatedWithSuccess=Resursen har skapats @@ -30,7 +30,10 @@ DictionaryResourceType=Typ av resurser SelectResource=Välj resurs -IdResource=Id resource -AssetNumber=Serial number -ResourceTypeCode=Resource type code +IdResource=ID-resurs +AssetNumber=Serienummer +ResourceTypeCode=Typ av resurs typ ImportDataset_resource_1=Resurser + +ErrorResourcesAlreadyInUse=Vissa resurser är använda +ErrorResourceUseInEvent=%s använt i %s diff --git a/htdocs/langs/sv_SE/salaries.lang b/htdocs/langs/sv_SE/salaries.lang index 73cef33a5e8..9efa853dbbc 100644 --- a/htdocs/langs/sv_SE/salaries.lang +++ b/htdocs/langs/sv_SE/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Redovisningskonto som används för tredje part SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Det dedikerade bokföringskontot som definieras på användarkortet kommer endast att användas för Subledger-bokföring. Den här kommer att användas för huvudboken och som standardvärde för Subledger-bokföring om ett dedikerat användarkonto på användare inte är definierat. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Redovisningskonto som standard för lönebetalningar +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Lämna som standard tomt alternativet "Skapa en total betalning automatiskt" när du skapar en lön Salary=Lön Salaries=Löner -NewSalaryPayment=Ny löneutbetalning +NewSalary=Ny lön +NewSalaryPayment=Nytt lönekort AddSalaryPayment=Lägg till lönbetalning SalaryPayment=Lönebetalning SalariesPayments=Löneutbetalningar +SalariesPaymentsOf=Löner betalningar av %s ShowSalaryPayment=Visa löneutbetalning THM=Genomsnittlig timpris TJM=Genomsnittlig dagskurs CurrentSalary=Nuvarande lön THMDescription=Det här värdet kan användas för att beräkna kostnaden för tidskrävande på ett projekt som användaren har infört om modulprojekt används TJMDescription=Detta värde är för närvarande endast för information och används inte för någon beräkning -LastSalaries=Senaste %s lönebetalningar -AllSalaries=Alla lönebetalningar +LastSalaries=Senaste %s löner +AllSalaries=Alla löner SalariesStatistics=Lönestatistik -# Export -SalariesAndPayments=Salaries and payments +SalariesAndPayments=Löner och betalningar +ConfirmDeleteSalaryPayment=Vill du ta bort den här lönen? diff --git a/htdocs/langs/sv_SE/sendings.lang b/htdocs/langs/sv_SE/sendings.lang index 4f0b467d2ab..4c8746d1a23 100644 --- a/htdocs/langs/sv_SE/sendings.lang +++ b/htdocs/langs/sv_SE/sendings.lang @@ -21,7 +21,7 @@ QtyShipped=Antal sändas QtyShippedShort=Antal fartyg. QtyPreparedOrShipped=Antal beredda eller levererade QtyToShip=Antal till-fartyg -QtyToReceive=Qty to receive +QtyToReceive=Antal att ta emot QtyReceived=Antal mottagna QtyInOtherShipments=Antal i andra transporter KeepToShip=Återstår att skicka @@ -43,22 +43,22 @@ ConfirmValidateSending=Är du säker på att du vill validera denna försändels ConfirmCancelSending=Är du säker på att du vill avbryta denna leverans? DocumentModelMerou=Merou A5-modellen WarningNoQtyLeftToSend=Varning, att inga produkter väntar sändas. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=Statistik gäller endast för validerade försändelser. Datum som används är datumet för validering av leveransen (planerat leveransdatum är inte alltid känt) DateDeliveryPlanned=Planerat leveransdatum RefDeliveryReceipt=Ref leverans kvitto StatusReceipt=Status leverans kvitto DateReceived=Datum leverans fick -ClassifyReception=Classify reception +ClassifyReception=Klassificera mottagning SendShippingByEMail=Skicka leverans via e-post SendShippingRef=Inlämning av leveransen %s ActionsOnShipping=Evenemang på leverans LinkToTrackYourPackage=Länk till spåra ditt paket ShipmentCreationIsDoneFromOrder=För närvarande skapas nya leveranser från orderkortet. ShipmentLine=Transport linje -ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders -ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders +ProductQtyInCustomersOrdersRunning=Produktkvantitet från öppna försäljningsorder +ProductQtyInSuppliersOrdersRunning=Produktkvantitet från öppna beställningar ProductQtyInShipmentAlreadySent=Produktkvantitet från öppen försäljningsorder redan skickad -ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from open purchase orders already received +ProductQtyInSuppliersShipmentAlreadyRecevied=Produktkvantitet från öppna inköpsorder redan mottagna NoProductToShipFoundIntoStock=Ingen produkt skickas i frakt %s . Rätt lager eller gå tillbaka för att välja ett annat lager. WeightVolShort=Vikt / vol. ValidateOrderFirstBeforeShipment=Du måste först validera ordern innan du kan göra sändningar. @@ -66,7 +66,7 @@ ValidateOrderFirstBeforeShipment=Du måste först validera ordern innan du kan g # Sending methods # ModelDocument DocumentModelTyphon=Mer komplett dokument modell för leverans intäkter (logo. ..) -DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) +DocumentModelStorm=Mer komplett dokumentmodell för leveranskvitton och extrafältkompatibilitet (logo ...) Error_EXPEDITION_ADDON_NUMBER_NotDefined=Konstant EXPEDITION_ADDON_NUMBER definieras inte SumOfProductVolumes=Summan av produktvolymer SumOfProductWeights=Summan av produktvikter diff --git a/htdocs/langs/sv_SE/stocks.lang b/htdocs/langs/sv_SE/stocks.lang index f35ce300791..da02993b202 100644 --- a/htdocs/langs/sv_SE/stocks.lang +++ b/htdocs/langs/sv_SE/stocks.lang @@ -17,10 +17,10 @@ CancelSending=Avbryt sändning DeleteSending=Radera sändning Stock=Lager Stocks=Lager -MissingStocks=Missing stocks -StockAtDate=Stocks at date -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future +MissingStocks=Saknade lager +StockAtDate=Lager vid datum +StockAtDateInPast=Datum i det förflutna +StockAtDateInFuture=Datum i framtiden StocksByLotSerial=Lager per lot / seriell LotSerial=Massor / serier LotSerialList=Lista över parti / serier @@ -34,11 +34,11 @@ StockMovementForId=Rörelse ID %d ListMouvementStockProject=Förteckning över lagerpoströrelser förknippade med projektet StocksArea=Lager område AllWarehouses=Alla lager -IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock +IncludeEmptyDesiredStock=Inkludera även negativt lager med odefinierat önskat lager IncludeAlsoDraftOrders=Inkludera även utkast till order Location=Plats -LocationSummary=Short name of location -NumberOfDifferentProducts=Number of unique products +LocationSummary=Kort namn på plats +NumberOfDifferentProducts=Antal unika produkter NumberOfProducts=Totalt antal produkter LastMovement=Senaste rörelsen LastMovements=Senaste rörelserna @@ -56,19 +56,17 @@ UnitPurchaseValue=Inköpspris per enhet StockTooLow=Lager för lågt StockLowerThanLimit=Lager lägre än varningsgräns (%s) EnhancedValue=Värde -PMPValue=Vägda genomsnittliga priset -PMPValueShort=WAP EnhancedValueOfWarehouses=Lagervärde UserWarehouseAutoCreate=Skapa ett användarlager automatiskt när du skapar en användare -AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product -RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals -WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders -UserDefaultWarehouse=Set a warehouse on Users -MainDefaultWarehouse=Default warehouse -MainDefaultWarehouseUser=Use a default warehouse for each user -MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. +AllowAddLimitStockByWarehouse=Hantera också värde för minsta och önskade lager per parning (produktlager) utöver värdet för minsta och önskade lager per produkt +RuleForWarehouse=Regel för lager +WarehouseAskWarehouseOnThirparty=Ställ in ett lager på tredje part +WarehouseAskWarehouseDuringPropal=Sätt ett lager på kommersiella förslag +WarehouseAskWarehouseDuringOrder=Ställ in ett lager på försäljningsorder +UserDefaultWarehouse=Ange ett lager för användare +MainDefaultWarehouse=Standardlager +MainDefaultWarehouseUser=Använd ett standardlager för varje användare +MainDefaultWarehouseUserDesc=Genom att aktivera det här alternativet, under skapandet av en produkt, kommer det lager som tilldelats produkten att definieras på den här. Om inget lager definieras för användaren definieras standardlagret. IndependantSubProductStock=Produktlager och delprodukt är oberoende QtyDispatched=Sänd kvantitet QtyDispatchedShort=Antal skickade @@ -79,35 +77,35 @@ RuleForStockManagementIncrease=Välj Regel för automatisk lagerhöjning (manuel DeStockOnBill=Minska reella lagerposter vid bekräftandet av kundfaktura / kreditnot DeStockOnValidateOrder=Minska reella lagerposter vid bekräftandet av försäljningsordern DeStockOnShipment=Minska reella lager på fraktbekräftande -DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed +DeStockOnShipmentOnClosing=Minska verkliga lager när frakt är inställt på stängd ReStockOnBill=Öka reella lagerposter vid bekräftande av leverantörsfaktura / kreditnot ReStockOnValidateOrder=Öka reella lagerposter vid köpordergodkännande ReStockOnDispatchOrder=Öka reella lager vid manuell leverans till lager, efter inköpsorderfrist av varor -StockOnReception=Increase real stocks on validation of reception -StockOnReceptionOnClosing=Increase real stocks when reception is set to closed +StockOnReception=Öka verkliga lager vid validering av mottagning +StockOnReceptionOnClosing=Öka verkliga lager när mottagningen är stängd OrderStatusNotReadyToDispatch=Beställningen har ännu inte / inte längre status som tillåter sändning av produkter till lager. StockDiffPhysicTeoric=Förklaring till skillnad mellan fysiskt och virtuellt lager NoPredefinedProductToDispatch=Inga fördefinierade produkter för det här objektet. Så ingen sändning till lager krävs. DispatchVerb=Sändning StockLimitShort=Gräns ​​för varning StockLimit=Stock gräns för larm -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(tom) betyder ingen varning.
    0 kan användas för att utlösa en varning så fort lagret är tomt. PhysicalStock=Fysikaliskt lager RealStock=Real Stock RealStockDesc=Fysisk / reell lager är beståndet för närvarande i lagerlokalerna. RealStockWillAutomaticallyWhen=Den reala beståndet kommer att ändras enligt denna regel (enligt definitionen i Stock-modulen): VirtualStock=Virtuellt lager -VirtualStockAtDate=Virtual stock at date -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) -AtDate=At date +VirtualStockAtDate=Virtuellt lager vid datum +VirtualStockAtDateDesc=Virtuellt lager när alla väntande beställningar som planeras att behandlas innan det valda datumet är klar +VirtualStockDesc=Virtuellt lager är det beräknade lagret som är tillgängligt när alla öppna / väntande åtgärder (som påverkar lagren) är stängda (inköpsorder mottagna, försäljningsorder skickade, tillverkningsorder producerade osv.) +AtDate=Vid datum IdWarehouse=Id lager DescWareHouse=Beskrivning lager LieuWareHouse=Lokalisering lager WarehousesAndProducts=Lager och produkter WarehousesAndProductsBatchDetail=Lager och produkter (med detaljer per lot / serie) AverageUnitPricePMPShort=Vägda genomsnittliga priset -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=Det ingående genomsnittliga enhetspriset var vi tvungna att kosta för att få 1 enhet produkt i vårt lager. SellPriceMin=Säljpris per styck EstimatedStockValueSellShort=Värde för försäljning EstimatedStockValueSell=Värde för försäljning @@ -125,9 +123,9 @@ DesiredStockDesc=Detta lagerbelopp kommer att vara det värde som används för StockToBuy=Att beställa Replenishment=Påfyllning ReplenishmentOrders=Påfyllningsbeställningar -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +VirtualDiffersFromPhysical=Enligt ökning / minskning av aktieoptioner kan fysiska lager och virtuella aktier (fysiska lager + öppna order) skilja sig åt +UseRealStockByDefault=Använd riktigt lager, istället för virtuellt lager, för påfyllningsfunktionen +ReplenishmentCalculation=Beloppet att beställa kommer att vara (önskad mängd - verkligt lager) istället för (önskad mängd - virtuellt lager) UseVirtualStock=Använd virtuellt lager UsePhysicalStock=Använd fysiskt lager CurentSelectionMode=Aktuellt urvalsläge @@ -136,18 +134,18 @@ CurentlyUsingPhysicalStock=Fysiskt lager RuleForStockReplenishment=Regel för påfyllning av lager SelectProductWithNotNullQty=Välj minst en produkt med en mängd, inte null och en leverantör AlertOnly= Endast larm -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +IncludeProductWithUndefinedAlerts = Inkludera även negativt lager för produkter utan önskad mängd definierad för att återställa dem till 0 WarehouseForStockDecrease=Lager %s kommer att användas för lagerminskning WarehouseForStockIncrease=Lager %s kommer att användas för lagerökning ForThisWarehouse=För detta lager ReplenishmentStatusDesc=Det här är en lista över alla produkter med ett lager som är lägre än önskat lager (eller lägre än varningsvärdet om kryssrutan "alert only" är markerad). Med kryssrutan kan du skapa inköpsorder för att fylla skillnaden. -ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. +ReplenishmentStatusDescPerWarehouse=Om du vill ha en påfyllning baserad på önskad mängd definierad per lager måste du lägga till ett filter på lagret. ReplenishmentOrdersDesc=Det här är en lista över alla öppna inköpsorder inklusive fördefinierade produkter. Endast öppna order med fördefinierade produkter, så beställningar som kan påverka lager, syns här. Replenishments=Påfyllningar NbOfProductBeforePeriod=Antal av produkt %s i lager före vald period (< %s) NbOfProductAfterPeriod=Antal av produkt %s i lager efter vald period (> %s) MassMovement=Massrörelse -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=Välj ett källager och ett mållager, en produkt och en mängd och klicka sedan på "%s". När detta är gjort för alla nödvändiga rörelser, klicka på "%s". RecordMovement=Spela in överföring ReceivingForSameOrder=Kvitton för denna beställning StockMovementRecorded=Sparade lageröverföringar @@ -156,21 +154,21 @@ StockMustBeEnoughForInvoice=Lagernivå måste vara tillräcklig för att lägga StockMustBeEnoughForOrder=Lagernivå måste vara tillräckligt för att lägga till produkt / tjänst på beställning (check är gjort på nuvarande reellt lager när du lägger till en rad i ordning, oberoende av regeln för automatisk lagerförändring) StockMustBeEnoughForShipment= Lagernivå måste vara tillräcklig för att lägga till produkt / tjänst till leverans (check är gjort på nuvarande reellt lager när du lägger till en rad i leverans, oberoende av regeln för automatisk lagerförändring) MovementLabel=Etikett för lagerrörelse -TypeMovement=Direction of movement +TypeMovement=Riktning av rörelse DateMovement=Datum för rörelse InventoryCode=Lagerrörelse- eller inventeringskod IsInPackage=Ingår i förpackning WarehouseAllowNegativeTransfer=Lager kan vara negativt qtyToTranferIsNotEnough=Du har inte tillräckligt med lager från ditt källlager och din inställning tillåter inte negativa bestånd. -qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). +qtyToTranferLotIsNotEnough=Du har inte tillräckligt med lager för detta partinummer från ditt källlager och din installation tillåter inte negativa lager (Antal för produkt '%s' med parti '%s' är %s i lager '%s'). ShowWarehouse=Visa lagret MovementCorrectStock=Lagerkorrigering för produkt %s MovementTransferStock=Lagerförflyttning av produkt %s till ett annat lager InventoryCodeShort=Inv./Mov. koda NoPendingReceptionOnSupplierOrder=Ingen väntande mottagning på grund av öppen inköpsorder ThisSerialAlreadyExistWithDifferentDate=Detta parti / serienummer ( %s ) existerar redan men med olika eatby eller sellby datum (hittade %s men du anger %s ). -OpenAll=Öppna för alla åtgärder -OpenInternal=Öppnas endast för interna åtgärder +OpenAnyMovement=Öppen (alla rörelser) +OpenInternal=Öppen (endast intern rörelse) UseDispatchStatus=Använd en leveransstatus (godkänna / neka) för produktlinjer vid inköpsordermottagning OptionMULTIPRICESIsOn=Alternativet "flera priser per segment" är på. Det betyder att en produkt har flera försäljningspriser så att försäljningsvärdet inte kan beräknas ProductStockWarehouseCreated=Lagergräns för varning och önskat optimalt lager lagrat korrekt @@ -185,7 +183,7 @@ inventoryCreatePermission=Skapa ny inventering inventoryReadPermission=Visa varulager inventoryWritePermission=Uppdatera varulager inventoryValidatePermission=Bekräfta inventering -inventoryDeletePermission=Delete inventory +inventoryDeletePermission=Ta bort inventering inventoryTitle=Lager inventoryListTitle=varulager inventoryListEmpty=Ingen inventering pågår @@ -203,7 +201,7 @@ inventoryWarningProductAlreadyExists=Denna produkt finns redan i listan SelectCategory=Kategori filter SelectFournisseur=Leverantörsfilter inventoryOnDate=Lager -INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Lagerrörelser kommer att ha datum för inventering (istället för datum för lagervalidering) inventoryChangePMPPermission=Tillåt att ändra PMP-värde för en produkt ColumnNewPMP=Ny enhet PMP OnlyProdsInStock=Lägg inte till produkten utan lager @@ -211,7 +209,7 @@ TheoricalQty=Teoretisk mängd TheoricalValue=Teoretisk mängd LastPA=Senaste BP CurrentPA=Curent BP -RecordedQty=Recorded Qty +RecordedQty=Registrerad antal RealQty=Verklig antal RealValue=Riktigt värde RegulatedQty=Reglerad mängd @@ -232,26 +230,34 @@ StockIncreaseAfterCorrectTransfer=Öka med korrigering / överföring StockDecreaseAfterCorrectTransfer=Minska genom korrigering / överföring StockIncrease=Lagerökning StockDecrease=Lagerminskning -InventoryForASpecificWarehouse=Inventory for a specific warehouse -InventoryForASpecificProduct=Inventory for a specific product -StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use -ForceTo=Force to -AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) -StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future -CurrentStock=Current stock -InventoryRealQtyHelp=Set value to 0 to reset qty
    Keep field empty, or remove line, to keep unchanged -UpdateByScaning=Fill real qty by scaning -UpdateByScaningProductBarcode=Update by scan (product barcode) -UpdateByScaningLot=Update by scan (lot|serial barcode) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s -ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +InventoryForASpecificWarehouse=Inventar för ett specifikt lager +InventoryForASpecificProduct=Inventar för en specifik produkt +StockIsRequiredToChooseWhichLotToUse=Lager krävs för att välja vilket parti som ska användas +ForceTo=Tvinga till +AlwaysShowFullArbo=Visa hela trädets lager på popup-länkar (varning: Detta kan minska dramatiskt) +StockAtDatePastDesc=Du kan se aktien (verkligt lager) vid ett visst datum tidigare +StockAtDateFutureDesc=Du kan se aktien (virtuellt lager) vid ett visst datum i framtiden +CurrentStock=Nuvarande lager +InventoryRealQtyHelp=Ställ in värdet till 0 för att återställa antal
    Håll fältet tomt eller ta bort rad för att hålla oförändrad +UpdateByScaning=Fyll i riktigt antal genom att skanna +UpdateByScaningProductBarcode=Uppdatera med skanning (produktstreckkod) +UpdateByScaningLot=Uppdatera med skanning (parti | seriell streckkod) +DisableStockChangeOfSubProduct=Inaktivera lagerförändringen för alla delprodukter i detta kit under denna rörelse. +ImportFromCSV=Importera CSV-lista över rörelser +ChooseFileToImport=Ladda upp fil och klicka sedan på ikonen %s för att välja fil som källimportfil ... +SelectAStockMovementFileToImport=välj en lagerrörelsesfil som du vill importera +InfoTemplateImport=Den uppladdade filen måste ha detta format (* är obligatoriska fält):
    Source Warehouse * | Mållager * | Produkt * | Kvantitet * | Parti- / serienummer
    CSV-teckenavgränsare måste vara " %s " +LabelOfInventoryMovemement=Inventering %s +ReOpen=Öppna igen +ConfirmFinish=Bekräftar du stängningen av inventeringen? Detta genererar alla lagerrörelser för att uppdatera ditt lager till det verkliga antalet du angav i lageret. +ObjectNotFound=%s hittades inte +MakeMovementsAndClose=Generera rörelser och stäng +AutofillWithExpected=Fyll den verkliga kvantiteten med förväntad kvantitet +ShowAllBatchByDefault=Som standard visar du batchuppgifter på fliken "lager" +CollapseBatchDetailHelp=Du kan ställa in standardvisning för batchdetaljer i lagermodulkonfiguration +FieldCannotBeNegative=Fältet "%s" får inte vara negativt +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/sv_SE/stripe.lang b/htdocs/langs/sv_SE/stripe.lang index e4e1a522be6..05bc194bca8 100644 --- a/htdocs/langs/sv_SE/stripe.lang +++ b/htdocs/langs/sv_SE/stripe.lang @@ -12,27 +12,26 @@ YourEMail=E-post för betalning bekräftelse STRIPE_PAYONLINE_SENDEMAIL=E-postmeddelande efter ett betalningsförsök (framgång eller misslyckande) Creditor=Borgenär PaymentCode=Betalning kod -StripeDoPayment=Pay with Stripe +StripeDoPayment=Betala med Stripe YouWillBeRedirectedOnStripe=Du kommer att omdirigeras på en säker Stripe-sida för att mata in kreditkortsinformation Continue=Nästa ToOfferALinkForOnlinePayment=URL för %s betalning -ToOfferALinkForOnlinePaymentOnOrder=URL to offer a %s online payment page for a sales order -ToOfferALinkForOnlinePaymentOnInvoice=URL to offer a %s online payment page for a customer invoice -ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment page for a contract line -ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment page of any amount with no existing object -ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment page for a member subscription -ToOfferALinkForOnlinePaymentOnDonation=URL to offer a %s online payment page for payment of a donation -YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (mandatory only for payment not linked to an object) to add your own payment comment tag.
    For the URL of payments with no existing object, you may also add the parameter &noidempotency=1 so the same link with same tag can be used several times (some payment mode may limit the payment to 1 for each different link without this parameter) +ToOfferALinkForOnlinePaymentOnOrder=URL för att erbjuda en %s onlinebetalningssida för en försäljningsorder +ToOfferALinkForOnlinePaymentOnInvoice=URL för att erbjuda en %s onlinebetalningssida för en kundfaktura +ToOfferALinkForOnlinePaymentOnContractLine=URL för att erbjuda en online-betalningssida %s för en kontraktslinje +ToOfferALinkForOnlinePaymentOnFreeAmount=URL för att erbjuda en %s onlinebetalningssida av vilket belopp som helst utan något befintligt objekt +ToOfferALinkForOnlinePaymentOnMemberSubscription=URL för att erbjuda en %s onlinebetalningssida för ett medlemsabonnemang +ToOfferALinkForOnlinePaymentOnDonation=URL för att erbjuda en %s onlinebetalningssida för betalning av en donation +YouCanAddTagOnUrl=Du kan också lägga till url-parametern & tag = värde till någon av dessa URL (obligatorisk endast för betalning som inte är länkad till ett objekt) för att lägga till din egen betalningskommentar-tagg.
    För webbadressen till betalningar utan befintligt objekt kan du också lägga till parametern & noidempotency = 1 så att samma länk med samma tagg kan användas flera gånger (vissa betalningslägen kan begränsa betalningen till 1 för varje olika länk utan denna parameter) SetupStripeToHavePaymentCreatedAutomatically=Ställ in din Stripe med url %s för att få betalning skapad automatiskt när bekräftat av Stripe. AccountParameter=Tagen parametrar UsageParameter=Användning parametrar InformationToFindParameters=Hjälp att hitta din %s kontoinformation STRIPE_CGI_URL_V2=Url av Stripe CGI-modul för betalning -VendorName=Namn på leverantör CSSUrlForPaymentForm=CSS-formatmall URL för inbetalningskort NewStripePaymentReceived=Ny Stripbetalning mottagen NewStripePaymentFailed=Ny Stripbetalning försökte men misslyckades -FailedToChargeCard=Failed to charge card +FailedToChargeCard=Det gick inte att ladda kortet STRIPE_TEST_SECRET_KEY=Hemlig testnyckel STRIPE_TEST_PUBLISHABLE_KEY=Publicerbar testnyckel STRIPE_TEST_WEBHOOK_KEY=Webhook testnyckel @@ -42,7 +41,7 @@ STRIPE_LIVE_WEBHOOK_KEY=Webhook levande nyckel ONLINE_PAYMENT_WAREHOUSE=Lager som ska användas för lagerminskning när online betalning görs
    (TODO När alternativet att minska lagret görs på en fakturahandling och online betalning genererar fakturaen?) StripeLiveEnabled=Stripe live enabled (annars test / sandbox-läge) StripeImportPayment=Importera Stripe betalningar -ExampleOfTestCreditCard=Example of credit card for test: %s => valid, %s => error CVC, %s => expired, %s => charge fails +ExampleOfTestCreditCard=Exempel på kreditkort för test: %s => valid, %s => error CVC, %s => expired, %s => debitering misslyckas StripeGateways=Stripe gateways OAUTH_STRIPE_TEST_ID=Stripe Connect Client ID (ca _...) OAUTH_STRIPE_LIVE_ID=Stripe Connect Client ID (ca _...) @@ -65,8 +64,8 @@ CreateCardOnStripe=Skapa kort på Stripe ShowInStripe=Visa i Stripe StripeUserAccountForActions=Användarkonto som ska användas för e-postnotifiering av vissa Stripe-händelser (Stripe-utbetalningar) StripePayoutList=Lista över Stripe utbetalningar -ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) -ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) -PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. -ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +ToOfferALinkForTestWebhook=Länk till installation Stripe WebHook för att ringa IPN (testläge) +ToOfferALinkForLiveWebhook=Länk till installation Stripe WebHook för att ringa IPN (live-läge) +PaymentWillBeRecordedForNextPeriod=Betalning kommer att registreras för nästa period. +ClickHereToTryAgain= Klicka här för att försöka igen ... +CreationOfPaymentModeMustBeDoneFromStripeInterface=På grund av starka regler för kundautentisering måste ett kort skapas från Stripe backoffice. Du kan klicka här för att slå på Stripes kundregister: %s diff --git a/htdocs/langs/sv_SE/supplier_proposal.lang b/htdocs/langs/sv_SE/supplier_proposal.lang index 0cc36d3208a..823b602fe4f 100644 --- a/htdocs/langs/sv_SE/supplier_proposal.lang +++ b/htdocs/langs/sv_SE/supplier_proposal.lang @@ -13,26 +13,27 @@ SupplierProposalArea=Leverantörsförslag SupplierProposalShort=Leverantörsförslag SupplierProposals=Leverantörsförslag SupplierProposalsShort=Leverantörsförslag +AskPrice=Prisförfrågan NewAskPrice=Ny prisförfrågan ShowSupplierProposal=Visa prisförfrågan AddSupplierProposal=Skapa en prisförfrågan SupplierProposalRefFourn=Leverantör ref SupplierProposalDate=Leveransdatum SupplierProposalRefFournNotice=Innan du stänger till "Accepterad", tänk att få tag på leverantörens referenser. -ConfirmValidateAsk=Är du säker på att du vill validera denna prisförfrågan under namn %s ? +ConfirmValidateAsk=Är du säker på att du vill bekräfta denna prisförfrågan under namn %s ? DeleteAsk=Ta bort förfrågan ValidateAsk=Bekräfta förfrågan -SupplierProposalStatusDraft=Utkast (måste valideras) -SupplierProposalStatusValidated=Validerad (begäran är öppen) +SupplierProposalStatusDraft=Utkast (måste bekräftas) +SupplierProposalStatusValidated=Bekräftat (begäran är öppen) SupplierProposalStatusClosed=Stängt SupplierProposalStatusSigned=Accepterad SupplierProposalStatusNotSigned=Refused SupplierProposalStatusDraftShort=Utkast -SupplierProposalStatusValidatedShort=Validerade +SupplierProposalStatusValidatedShort=Bekräftade SupplierProposalStatusClosedShort=Stängt SupplierProposalStatusSignedShort=Accepterad SupplierProposalStatusNotSignedShort=Refused -CopyAskFrom=Skapa prisförfrågan genom att kopiera befintliga en förfrågan +CopyAskFrom=Skapa en prisförfrågan genom att kopiera en befintlig begäran CreateEmptyAsk=Skapa blank begäran ConfirmCloneAsk=Är du säker på att du vill klona prisförfrågan %s ? ConfirmReOpenAsk=Är du säker på att du vill öppna tillbaka prisförfrågan %s ? @@ -52,3 +53,6 @@ SupplierProposalsToClose=Leverantörsförslag att stänga SupplierProposalsToProcess=Leverantörsförslag att bearbeta LastSupplierProposals=Senaste %s prisförfrågningar AllPriceRequests=Alla förfrågningar +TypeContact_supplier_proposal_external_SHIPPING=Leverantörskontakt för leverans +TypeContact_supplier_proposal_external_BILLING=Leverantörskontakt för fakturering +TypeContact_supplier_proposal_external_SERVICE=Representanten följa upp förslag diff --git a/htdocs/langs/sv_SE/suppliers.lang b/htdocs/langs/sv_SE/suppliers.lang index c57c7839467..ee23dd635c2 100644 --- a/htdocs/langs/sv_SE/suppliers.lang +++ b/htdocs/langs/sv_SE/suppliers.lang @@ -39,11 +39,11 @@ MenuOrdersSupplierToBill=Inköpsorder att fakturera NbDaysToDelivery=Leveransfördröjning (dagar) DescNbDaysToDelivery=Den längsta leveransförseningen för produkterna från denna order SupplierReputation=Leverantörs rykte -ReferenceReputation=Reference reputation +ReferenceReputation=Referens rykte DoNotOrderThisProductToThisSupplier=Beställ inte NotTheGoodQualitySupplier=Låg kvalitet ReputationForThisProduct=Rykte BuyerName=Köparens namn AllProductServicePrices=Alla produkt- / servicepriser -AllProductReferencesOfSupplier=All references of vendor +AllProductReferencesOfSupplier=Alla referenser från leverantören BuyingPriceNumShort=Leverantörspriser diff --git a/htdocs/langs/sv_SE/ticket.lang b/htdocs/langs/sv_SE/ticket.lang index 42a21c94cc3..91a232226ec 100644 --- a/htdocs/langs/sv_SE/ticket.lang +++ b/htdocs/langs/sv_SE/ticket.lang @@ -18,88 +18,90 @@ # Generic # -Module56000Name=biljetter -Module56000Desc=Biljettsystem för utfärdande eller förfråganhantering +Module56000Name=Ärenden +Module56000Desc=Ärendehanteringssystem för hantering frågor och reklamationer -Permission56001=Se biljetter -Permission56002=Ändra biljetter -Permission56003=Radera biljetter -Permission56004=Hantera biljetter -Permission56005=Se biljetter till alla tredje parter (inte effektiva för externa användare, alltid begränsad till tredje part som de är beroende av) +Permission56001=Se ärenden +Permission56002=Ändra ärenden +Permission56003=Radera ärenden +Permission56004=Hantera ärenden +Permission56005=Se ärenden till alla tredje parter (inte effektiva för externa användare, alltid begränsad till tredje part som de är beroende av) -TicketDictType=Biljett - Typer -TicketDictCategory=Biljett - Grupper +TicketDictType=Ärende - Typer +TicketDictCategory=Ärende - Grupper TicketDictSeverity=Ticket - Severiteter -TicketDictResolution=Ticket - Resolution +TicketDictResolution=Ärende - upplösning TicketTypeShortCOM=Kommersiell fråga -TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem -TicketTypeShortREQUEST=Change or enhancement request +TicketTypeShortHELP=Begäran om funktionell hjälp +TicketTypeShortISSUE=Problem eller fel +TicketTypeShortPROBLEM=Problem +TicketTypeShortREQUEST=Ändrings- eller förbättringsbegäran TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Andra TicketSeverityShortLOW=Låg TicketSeverityShortNORMAL=Vanligt TicketSeverityShortHIGH=Hög -TicketSeverityShortBLOCKING=Critical, Blocking +TicketSeverityShortBLOCKING=Kritisk, blockerande ErrorBadEmailAddress=Fältet '%s' felaktigt -MenuTicketMyAssign=Mina biljetter -MenuTicketMyAssignNonClosed=Mina öppna biljetter -MenuListNonClosed=Öppna biljetter +MenuTicketMyAssign=Mina ärenden +MenuTicketMyAssignNonClosed=Mina öppna ärenden +MenuListNonClosed=Öppna ärenden TypeContact_ticket_internal_CONTRIBUTOR=Bidragsgivare TypeContact_ticket_internal_SUPPORTTEC=Tilldelad användare TypeContact_ticket_external_SUPPORTCLI=Kundkontakt / incidentspårning TypeContact_ticket_external_CONTRIBUTOR=Extern bidragsyter -OriginEmail=E-postkälla -Notify_TICKET_SENTBYMAIL=Skicka biljettmeddelande via e-post +OriginEmail=Reporter E-post +Notify_TICKET_SENTBYMAIL=Skicka ärrendemeddelande via e-post # Status Read=Läsa Assigned=Tilldelad InProgress=Pågående -NeedMoreInformation=Waiting for information +NeedMoreInformation=Väntar på feedback från reporter +NeedMoreInformationShort=Väntar på feedback Answered=Besvarade Waiting=Väntar -Closed=Stängt +SolvedClosed=Solved Deleted=Raderade # Dict Type=Typ Severity=Allvarlighet -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublic=Gruppen är offentlig +TicketGroupIsPublicDesc=Om en ärrendegrupp är offentlig visas den i formuläret när du skapar en ärende från det offentliga gränssnittet # Email templates -MailToSendTicketMessage=Att skicka e-post från biljettmeddelande +MailToSendTicketMessage=Att skicka e-post från ärrendemeddelande # # Admin page # -TicketSetup=Inställning av biljettmodul +TicketSetup=Inställning av ärrendemodul TicketSettings=inställningar TicketSetupPage= TicketPublicAccess=Ett offentligt gränssnitt som kräver ingen identifiering finns på följande webbadress -TicketSetupDictionaries=Typ av biljett, svårighetsgrad och analytiska koder är konfigurerbara från ordböcker +TicketSetupDictionaries=Typ av ärende, svårighetsgrad och analytiska koder är konfigurerbara från ordböcker TicketParamModule=Inställning av modulvariabler TicketParamMail=E-postinställningar TicketEmailNotificationFrom=E-postmeddelande från -TicketEmailNotificationFromHelp=Används i svar på biljettmeddelande med exempel +TicketEmailNotificationFromHelp=Används i svar på ärrendemeddelande med exempel TicketEmailNotificationTo=E-postmeddelande till TicketEmailNotificationToHelp=Skicka e-postmeddelanden till den här adressen. -TicketNewEmailBodyLabel=Textmeddelande skickat efter att du skapat en biljett -TicketNewEmailBodyHelp=Texten som anges här kommer att införas i e-postmeddelandet som bekräftar skapandet av en ny biljett från det offentliga gränssnittet. Information om samråd med biljetten läggs automatiskt till. +TicketNewEmailBodyLabel=Textmeddelande skickat efter att du skapat en ärende +TicketNewEmailBodyHelp=Texten som anges här kommer att införas i e-postmeddelandet som bekräftar skapandet av en ny ärende från det offentliga gränssnittet. Information om samråd med ärendet läggs automatiskt till. TicketParamPublicInterface=Inställningar för offentligt gränssnitt -TicketsEmailMustExist=Kräver en befintlig e-postadress för att skapa en biljett -TicketsEmailMustExistHelp=I det offentliga gränssnittet ska e-postadressen redan fyllas i databasen för att skapa en ny biljett. +TicketsEmailMustExist=Kräver en befintlig e-postadress för att skapa en ärende +TicketsEmailMustExistHelp=I det offentliga gränssnittet ska e-postadressen redan fyllas i databasen för att skapa en ny ärende. PublicInterface=Offentligt gränssnitt TicketUrlPublicInterfaceLabelAdmin=Alternativ webbadress för offentligt gränssnitt TicketUrlPublicInterfaceHelpAdmin=Det är möjligt att definiera ett alias till webbservern och därmed göra tillgängligt det offentliga gränssnittet med en annan webbadress (servern måste fungera som en proxy på den här nya webbadressen) TicketPublicInterfaceTextHomeLabelAdmin=Välkomsttext för det offentliga gränssnittet -TicketPublicInterfaceTextHome=Du kan skapa en supportbiljett eller se existerande från dess identifieringsspårningsbiljett. +TicketPublicInterfaceTextHome=Du kan skapa en supportärrende eller se existerande från dess identifieringsspårningsärrende. TicketPublicInterfaceTextHomeHelpAdmin=Texten som definieras här visas på hemsidan för det offentliga gränssnittet. TicketPublicInterfaceTopicLabelAdmin=Gränssnittets titel TicketPublicInterfaceTopicHelp=Denna text kommer att visas som titeln på det offentliga gränssnittet. @@ -107,92 +109,94 @@ TicketPublicInterfaceTextHelpMessageLabelAdmin=Hjälptext till meddelandeinmatni TicketPublicInterfaceTextHelpMessageHelpAdmin=Denna text kommer att visas ovanför användarens meddelandeinmatningsområde. ExtraFieldsTicket=Extra attribut TicketCkEditorEmailNotActivated=HTML-editor är inte aktiverad. Vänligen sätt FCKEDITOR_ENABLE_MAIL innehåll till 1 för att få det. -TicketsDisableEmail=Skicka inte e-postmeddelanden för biljettskapande eller meddelandeinspelning -TicketsDisableEmailHelp=Som standard skickas e-postmeddelanden när nya biljetter eller meddelanden skapas. Aktivera det här alternativet för att inaktivera * alla * e-postmeddelanden +TicketsDisableEmail=Skicka inte e-postmeddelanden för ärrendeskapande eller meddelandeinspelning +TicketsDisableEmailHelp=Som standard skickas e-postmeddelanden när nya ärenden eller meddelanden skapas. Aktivera det här alternativet för att inaktivera * alla * e-postmeddelanden TicketsLogEnableEmail=Aktivera logg via e-post -TicketsLogEnableEmailHelp=Vid varje ändring skickas ett mail ** till varje kontaktperson ** som är kopplad till biljetten. +TicketsLogEnableEmailHelp=Vid varje ändring skickas ett mail ** till varje kontaktperson ** som är kopplad till ärendet. TicketParams=params TicketsShowModuleLogo=Visa modulens logotyp i det offentliga gränssnittet TicketsShowModuleLogoHelp=Aktivera det här alternativet för att dölja logotypmodulen på sidorna i det offentliga gränssnittet TicketsShowCompanyLogo=Visa företagets logotyp i det offentliga gränssnittet TicketsShowCompanyLogoHelp=Aktivera det här alternativet för att dölja huvudbolags logotyp på sidorna i det offentliga gränssnittet -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") -TicketsLimitViewAssignedOnly=Begränsa visningen till biljetter som tilldelats den nuvarande användaren (inte effektiv för externa användare, alltid begränsad till den tredje parten som de är beroende av) -TicketsLimitViewAssignedOnlyHelp=Endast biljetter som tilldelats den nuvarande användaren kommer att vara synliga. Gäller inte för en användare med biljettförvaltningsrättigheter. +TicketsEmailAlsoSendToMainAddress=Skicka också ett meddelande till huvud-e-postadressen +TicketsEmailAlsoSendToMainAddressHelp=Aktivera det här alternativet för att också skicka ett e-postmeddelande till den adress som definierats i inställningen "%s" (se fliken "%s") +TicketsLimitViewAssignedOnly=Begränsa visningen till ärenden som tilldelats den nuvarande användaren (inte effektiv för externa användare, alltid begränsad till den tredje parten som de är beroende av) +TicketsLimitViewAssignedOnlyHelp=Endast ärenden som tilldelats den nuvarande användaren kommer att vara synliga. Gäller inte för en användare med ärrendeförvaltningsrättigheter. TicketsActivatePublicInterface=Aktivera det offentliga gränssnittet -TicketsActivatePublicInterfaceHelp=Offentligt gränssnitt tillåter alla besökare att skapa biljetter. -TicketsAutoAssignTicket=Tilldela automatiskt användaren som skapade biljetten -TicketsAutoAssignTicketHelp=När du skapar en biljett kan användaren automatiskt tilldelas biljetten. -TicketNumberingModules=Biljettnummermodul -TicketsModelModule=Document templates for tickets +TicketsActivatePublicInterfaceHelp=Offentligt gränssnitt tillåter alla besökare att skapa ärenden. +TicketsAutoAssignTicket=Tilldela automatiskt användaren som skapade ärendet +TicketsAutoAssignTicketHelp=När du skapar en ärende kan användaren automatiskt tilldelas ärendet. +TicketNumberingModules=Ärendenummermodul +TicketsModelModule=Dokumentmallar för ärenden TicketNotifyTiersAtCreation=Meddela tredje part vid skapandet -TicketsDisableCustomerEmail=Avaktivera alltid e-postmeddelanden när en biljett skapas från det offentliga gränssnittet -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket -TicketsPublicNotificationNewMessageHelp=Send email(s) when a new message is added from public interface (to assigned user or the notifications email to (update) and/or the notifications email to) -TicketPublicNotificationNewMessageDefaultEmail=Notifications email to (update) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketsDisableCustomerEmail=Avaktivera alltid e-postmeddelanden när en ärende skapas från det offentliga gränssnittet +TicketsPublicNotificationNewMessage=Skicka e-post när ett nytt meddelande / en kommentar läggs till i en ärende +TicketsPublicNotificationNewMessageHelp=Skicka e-post (ar) när ett nytt meddelande läggs till från det offentliga gränssnittet (tilldelad användare eller e-postmeddelanden till (uppdatering) och / eller e-postmeddelanden till) +TicketPublicNotificationNewMessageDefaultEmail=Meddelanden via e-post till (uppdatering) +TicketPublicNotificationNewMessageDefaultEmailHelp=Skicka ett e-postmeddelande till den här adressen för varje meddelande om nytt meddelande om ärendet inte har tilldelats någon användare eller om användaren inte har någon känd e-post. # # Index & list page # -TicketsIndex=Tickets area -TicketList=Lista över biljetter -TicketAssignedToMeInfos=Denna sidvisningsbiljettlista skapad av eller tilldelad den nuvarande användaren -NoTicketsFound=Ingen biljett finns -NoUnreadTicketsFound=No unread ticket found -TicketViewAllTickets=Visa alla biljetter -TicketViewNonClosedOnly=Visa bara öppna biljetter -TicketStatByStatus=Biljetter efter status -OrderByDateAsc=Sort by ascending date -OrderByDateDesc=Sort by descending date -ShowAsConversation=Show as conversation list -MessageListViewType=Show as table list +TicketsIndex=Ärendeområde +TicketList=Lista över ärenden +TicketAssignedToMeInfos=Denna sidvisningsärrendelista skapad av eller tilldelad den nuvarande användaren +NoTicketsFound=Ingen ärende finns +NoUnreadTicketsFound=Ingen oläst ärende hittades +TicketViewAllTickets=Visa alla ärenden +TicketViewNonClosedOnly=Visa bara öppna ärenden +TicketStatByStatus=Ärendeer efter status +OrderByDateAsc=Sortera efter stigande datum +OrderByDateDesc=Sortera efter fallande datum +ShowAsConversation=Visa som konversationslista +MessageListViewType=Visa som tabellista # # Ticket card # -Ticket=Biljett -TicketCard=Biljettkort -CreateTicket=Skapa biljett -EditTicket=Redigera biljett -TicketsManagement=Biljettförvaltning +Ticket=Ärende +TicketCard=Ärendekort +CreateTicket=Skapa ärende +EditTicket=Redigera ärende +TicketsManagement=Ärendeförvaltning CreatedBy=Skapad av -NewTicket=Ny biljett -SubjectAnswerToTicket=Biljettsvar +NewTicket=Ny ärende +SubjectAnswerToTicket=Ärendesvar TicketTypeRequest=Förfrågan typ -TicketCategory=Grupp -SeeTicket=Se biljett -TicketMarkedAsRead=Biljett har markerats som läst +TicketCategory=Ärendekategorisering +SeeTicket=Se ärende +TicketMarkedAsRead=Ärende har markerats som läst TicketReadOn=Läs vidare TicketCloseOn=Sista dag -MarkAsRead=Markera biljett som läst -TicketHistory=Biljetthistorik +MarkAsRead=Markera ärende som läst +TicketHistory=Ärendehistorik AssignUser=Tilldela användare -TicketAssigned=Biljetten är nu tilldelad +TicketAssigned=Ärendeen är nu tilldelad TicketChangeType=Ändra typ TicketChangeCategory=Ändra analytisk kod TicketChangeSeverity=Ändra allvarlighet TicketAddMessage=Lägg till ett meddelande AddMessage=Lägg till ett meddelande -MessageSuccessfullyAdded=Biljett tillagd +MessageSuccessfullyAdded=Ärende tillagd TicketMessageSuccessfullyAdded=Meddelandet har lagts till TicketMessagesList=Meddelandelista -NoMsgForThisTicket=Inget meddelande för denna biljett +NoMsgForThisTicket=Inget meddelande för denna ärende Properties=Uppmärkning -LatestNewTickets=Senaste %s senaste biljetterna (ej läst) +LatestNewTickets=Senaste %s senaste ärrendeerna (ej läst) TicketSeverity=Allvarlighet -ShowTicket=Se biljett -RelatedTickets=Relaterade biljetter +ShowTicket=Se ärende +RelatedTickets=Relaterade ärenden TicketAddIntervention=Skapa ingripande -CloseTicket=Stäng biljett -CloseATicket=Stäng en biljett -ConfirmCloseAticket=Bekräfta biljett stängning -ConfirmDeleteTicket=Vänligen bekräfta att du tar bort biljett -TicketDeletedSuccess=Biljett raderas med framgång -TicketMarkedAsClosed=Biljett markerad som stängd +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket +ConfirmCloseAticket=Bekräfta ärende stängning +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' +ConfirmDeleteTicket=Vänligen bekräfta att du tar bort ärende +TicketDeletedSuccess=Ärende raderas med framgång +TicketMarkedAsClosed=Ärende markerad som stängd TicketDurationAuto=Beräknad varaktighet TicketDurationAutoInfos=Varaktighet beräknas automatiskt från interventionsrelaterad -TicketUpdated=Biljett uppdaterad +TicketUpdated=Ärende uppdaterad SendMessageByEmail=Skicka meddelande via e-post TicketNewMessage=Nytt meddelande ErrorMailRecipientIsEmptyForSendTicketMessage=Mottagaren är tom. Ingen email skickad @@ -200,26 +204,27 @@ TicketGoIntoContactTab=Vänligen gå till fliken "Kontakter" för att välja dem TicketMessageMailIntro=Introduktion TicketMessageMailIntroHelp=Denna text läggs till endast i början av e-postmeddelandet och kommer inte att sparas. TicketMessageMailIntroLabelAdmin=Introduktion till meddelandet när du skickar e-post -TicketMessageMailIntroText=Hej,
    Ett nytt svar skickades på en biljett som du kontaktar. Här är meddelandet:
    -TicketMessageMailIntroHelpAdmin=Denna text kommer att införas före texten på svaret på en biljett. +TicketMessageMailIntroText=Hej,
    Ett nytt svar skickades på en ärende som du kontaktar. Här är meddelandet:
    +TicketMessageMailIntroHelpAdmin=Denna text kommer att införas före texten på svaret på en ärende. TicketMessageMailSignature=Namnteckning TicketMessageMailSignatureHelp=Denna text läggs till endast i slutet av e-postmeddelandet och kommer inte att sparas. TicketMessageMailSignatureText=

    Med vänliga hälsningar,

    --

    TicketMessageMailSignatureLabelAdmin=Signatur för e-postsvar TicketMessageMailSignatureHelpAdmin=Denna text läggs in efter svarmeddelandet. -TicketMessageHelp=Endast den här texten sparas i meddelandelistan på biljettkortet. +TicketMessageHelp=Endast den här texten sparas i meddelandelistan på ärrendekortet. TicketMessageSubstitutionReplacedByGenericValues=Substitutionsvariabler ersätts av generiska värden. TimeElapsedSince=Tid förflutit sedan TicketTimeToRead=Tid förfluten innan den läste -TicketContacts=Kontakter biljett -TicketDocumentsLinked=Dokument kopplade till biljett -ConfirmReOpenTicket=Bekräfta återuppta denna biljett? -TicketMessageMailIntroAutoNewPublicMessage=Ett nytt meddelande publicerades på biljetten med ämnet %s: -TicketAssignedToYou=Biljett tilldelad -TicketAssignedEmailBody=Du har tilldelats biljetten # %s av %s +TicketTimeElapsedBeforeSince=Tid som gått före / sedan +TicketContacts=Kontakter ärende +TicketDocumentsLinked=Dokument kopplade till ärende +ConfirmReOpenTicket=Bekräfta återuppta denna ärende? +TicketMessageMailIntroAutoNewPublicMessage=Ett nytt meddelande publicerades på ärendet med ämnet %s: +TicketAssignedToYou=Ärende tilldelad +TicketAssignedEmailBody=Du har tilldelats ärendet # %s av %s MarkMessageAsPrivate=Markera meddelande som privat TicketMessagePrivateHelp=Det här meddelandet visas inte till externa användare -TicketEmailOriginIssuer=Utgivare på grund av biljetterna +TicketEmailOriginIssuer=Utgivare på grund av ärrendeerna InitialMessage=Initialt meddelande LinkToAContract=Länk till ett kontrakt TicketPleaseSelectAContract=Välj ett kontrakt @@ -232,85 +237,85 @@ TicketConfirmChangeStatus=Bekräfta statusändringen: %s? TicketLogStatusChanged=Status ändrad: %s till %s TicketNotNotifyTiersAtCreate=Meddela inte företaget på create Unread=Oläst -TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface. -ErrorTicketRefRequired=Ticket reference name is required +TicketNotCreatedFromPublicInterface=Inte tillgänglig. Ärendeen skapades inte från det offentliga gränssnittet. +ErrorTicketRefRequired=Ärendereferensnamn krävs # # Logs # -TicketLogMesgReadBy=Biljett %s läs av %s -NoLogForThisTicket=Ingen logg på denna biljett ännu -TicketLogAssignedTo=Biljett %s tilldelad %s -TicketLogPropertyChanged=Biljett %s modifierad: märkt från %s till %s -TicketLogClosedBy=Biljett %s stängt av %s -TicketLogReopen=Ticket %s re-open +TicketLogMesgReadBy=Ärende %s läs av %s +NoLogForThisTicket=Ingen logg på denna ärende ännu +TicketLogAssignedTo=Ärende %s tilldelad %s +TicketLogPropertyChanged=Ärende %s modifierad: märkt från %s till %s +TicketLogClosedBy=Ärende %s stängt av %s +TicketLogReopen=Ärende %s öppnas igen # # Public pages # -TicketSystem=Biljettsystem +TicketSystem=Ärendesystem ShowListTicketWithTrackId=Visa biljellista från spår-ID -ShowTicketWithTrackId=Visa biljett från spår ID -TicketPublicDesc=Du kan skapa en supportbiljett eller kolla från ett befintligt ID. -YourTicketSuccessfullySaved=Biljett har sparats! -MesgInfosPublicTicketCreatedWithTrackId=A new ticket has been created with ID %s and Ref %s. +ShowTicketWithTrackId=Visa ärende från spår ID +TicketPublicDesc=Du kan skapa en supportärrende eller kolla från ett befintligt ID. +YourTicketSuccessfullySaved=Ärende har sparats! +MesgInfosPublicTicketCreatedWithTrackId=En ny ärende har skapats med ID %s och Ref %s. PleaseRememberThisId=Var vänlig och håll spårningsnumret som vi kanske frågar dig senare. -TicketNewEmailSubject=Ticket creation confirmation - Ref %s (public ticket ID %s) -TicketNewEmailSubjectCustomer=Ny supportbiljett -TicketNewEmailBody=Det här är ett automatiskt e-postmeddelande som bekräftar att du har registrerat en ny biljett. -TicketNewEmailBodyCustomer=Det här är ett automatiskt e-postmeddelande för att bekräfta en ny biljett har just skapats i ditt konto. -TicketNewEmailBodyInfosTicket=Information för övervakning av biljetten -TicketNewEmailBodyInfosTrackId=Biljettspårningsnummer: %s -TicketNewEmailBodyInfosTrackUrl=Du kan se framstegen på biljetten genom att klicka på länken ovan. -TicketNewEmailBodyInfosTrackUrlCustomer=Du kan se framstegen på biljetten i det specifika gränssnittet genom att klicka på följande länk +TicketNewEmailSubject=Bekräftelse på skapande av ärende - Ref %s (offentligt ärende-ID %s) +TicketNewEmailSubjectCustomer=Ny supportärrende +TicketNewEmailBody=Det här är ett automatiskt e-postmeddelande som bekräftar att du har registrerat en ny ärende. +TicketNewEmailBodyCustomer=Det här är ett automatiskt e-postmeddelande för att bekräfta en ny ärende har just skapats i ditt konto. +TicketNewEmailBodyInfosTicket=Information för övervakning av ärendet +TicketNewEmailBodyInfosTrackId=Ärendespårningsnummer: %s +TicketNewEmailBodyInfosTrackUrl=Du kan se framstegen på ärendet genom att klicka på länken ovan. +TicketNewEmailBodyInfosTrackUrlCustomer=Du kan se framstegen på ärendet i det specifika gränssnittet genom att klicka på följande länk TicketEmailPleaseDoNotReplyToThisEmail=Vänligen svara inte direkt på det här meddelandet! Använd länken för att svara på gränssnittet. -TicketPublicInfoCreateTicket=I det här formuläret kan du spela in en supportbiljett i vårt styrsystem. +TicketPublicInfoCreateTicket=I det här formuläret kan du spela in en supportärrende i vårt styrsystem. TicketPublicPleaseBeAccuratelyDescribe=Var snäll och beskriv problemet. Ge så mycket information som möjligt för att vi ska kunna identifiera din förfrågan korrekt. -TicketPublicMsgViewLogIn=Vänligen ange biljettspårnings-ID +TicketPublicMsgViewLogIn=Vänligen ange ärrendespårnings-ID TicketTrackId=Public Tracking ID OneOfTicketTrackId=Ett av ditt spårnings-ID -ErrorTicketNotFound=Biljett med spårnings ID %s ej hittat! +ErrorTicketNotFound=Ärende med spårnings ID %s ej hittat! Subject=Ämne -ViewTicket=Visa biljett -ViewMyTicketList=Visa min biljettlista +ViewTicket=Visa ärende +ViewMyTicketList=Visa min ärrendelista ErrorEmailMustExistToCreateTicket=Fel: E-postadress hittades inte i vår databas -TicketNewEmailSubjectAdmin=New ticket created - Ref %s (public ticket ID %s) -TicketNewEmailBodyAdmin=

    Biljetten har just skapats med ID # %s, se information:

    -SeeThisTicketIntomanagementInterface=Se biljett i hanteringsgränssnittet -TicketPublicInterfaceForbidden=Det offentliga gränssnittet för biljetterna var inte aktiverat +TicketNewEmailSubjectAdmin=Ny ärende skapad - Ref %s (offentlig ärende-ID %s) +TicketNewEmailBodyAdmin=

    Ärendeen har just skapats med ID # %s, se information:

    +SeeThisTicketIntomanagementInterface=Se ärende i hanteringsgränssnittet +TicketPublicInterfaceForbidden=Det offentliga gränssnittet för ärrendeerna var inte aktiverat ErrorEmailOrTrackingInvalid=Dåligt värde för spårnings-ID eller e-post -OldUser=Old user +OldUser=Gammal användare NewUser=Ny användare -NumberOfTicketsByMonth=Number of tickets per month -NbOfTickets=Number of tickets +NumberOfTicketsByMonth=Antal ärenden per månad +NbOfTickets=Antal ärenden # notifications -TicketNotificationEmailSubject=Biljett %s uppdaterad -TicketNotificationEmailBody=Detta är ett automatiskt meddelande för att meddela dig att biljetten %s just har uppdaterats +TicketNotificationEmailSubject=Ärende %s uppdaterad +TicketNotificationEmailBody=Detta är ett automatiskt meddelande för att meddela dig att ärendet %s just har uppdaterats TicketNotificationRecipient=Meddelande mottagare TicketNotificationLogMessage=Logmeddelande -TicketNotificationEmailBodyInfosTrackUrlinternal=Visa biljett till gränssnitt +TicketNotificationEmailBodyInfosTrackUrlinternal=Visa ärende till gränssnitt TicketNotificationNumberEmailSent=Meddelande email skickat: %s -ActionsOnTicket=Händelser på biljett +ActionsOnTicket=Händelser på ärende # # Boxes # -BoxLastTicket=Senast skapade biljetter -BoxLastTicketDescription=Senaste %s skapade biljetter +BoxLastTicket=Senast skapade ärenden +BoxLastTicketDescription=Senaste %s skapade ärenden BoxLastTicketContent= -BoxLastTicketNoRecordedTickets=Inga senaste olästa biljetter -BoxLastModifiedTicket=Senast ändrade biljetter -BoxLastModifiedTicketDescription=Senaste %s modifierade biljetter +BoxLastTicketNoRecordedTickets=Inga senaste olästa ärenden +BoxLastModifiedTicket=Senast ändrade ärenden +BoxLastModifiedTicketDescription=Senaste %s modifierade ärenden BoxLastModifiedTicketContent= -BoxLastModifiedTicketNoRecordedTickets=Inga nyligen ändrade biljetter -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxLastModifiedTicketNoRecordedTickets=Inga nyligen ändrade ärenden +BoxTicketType=Fördelning av öppna ärenden efter typ +BoxTicketSeverity=Antal öppna ärenden efter svårighetsgrad +BoxNoTicketSeverity=Inga ärenden öppnade +BoxTicketLastXDays=Antal nya ärenden per dagar de senaste %s dagarna +BoxTicketLastXDayswidget = Antal nya ärenden efter dagar de senaste X dagarna +BoxNoTicketLastXDays=Inga nya ärenden de senaste %s dagarna +BoxNumberOfTicketByDay=Antal nya ärenden per dag +BoxNewTicketVSClose=Antal dagens nya ärenden kontra dagens stängda ärenden +TicketCreatedToday=Ärende skapad idag +TicketClosedToday=Ärendeen stängd idag diff --git a/htdocs/langs/sv_SE/trips.lang b/htdocs/langs/sv_SE/trips.lang index e77d18bbbae..02b042424c1 100644 --- a/htdocs/langs/sv_SE/trips.lang +++ b/htdocs/langs/sv_SE/trips.lang @@ -19,11 +19,11 @@ ConfirmDeleteTrip=Är du säker på att du vill ta bort denna kostnadsrapport? ListTripsAndExpenses=Förteckning över kostnadsrapporter ListToApprove=Väntar på godkännande ExpensesArea=Kostnadsrapporteringsområde -ClassifyRefunded=Klassificerad 'Återbetalas' +ClassifyRefunded=Märk 'Återbetalas' ExpenseReportWaitingForApproval=En ny kostnadsrapport har skickats in för godkännande -ExpenseReportWaitingForApprovalMessage=En ny kostnadsrapport har skickats in och väntar på godkännande.
    - Användare: %s
    - Period: %s
    Klicka här för att validera: %s +ExpenseReportWaitingForApprovalMessage=En ny kostnadsrapport har skickats in och väntar på godkännande.
    - Användare: %s
    - Period: %s
    Klicka här för att bekräfta: %s ExpenseReportWaitingForReApproval=En kostnadsrapport har lämnats in för omprövning -ExpenseReportWaitingForReApprovalMessage=En kostnadsrapport har skickats in och väntar på omprövning.
    %s, du vägrade att godkänna kostnadsrapporten av den anledningen: %s.
    En ny version har föreslagits och väntar på ditt godkännande.
    - Användare: %s
    - Period: %s
    Klicka här för att validera: %s +ExpenseReportWaitingForReApprovalMessage=En kostnadsrapport har skickats in och väntar på omprövning.
    %s, du vägrade att godkänna kostnadsrapporten av den anledningen: %s.
    En ny version har föreslagits och väntar på ditt godkännande.
    - Användare: %s
    - Period: %s
    Klicka här för att godkänna: %s ExpenseReportApproved=En kostnadsrapport godkändes ExpenseReportApprovedMessage=Kostnadsrapporten %s godkändes.
    - Användare: %s
    - Godkänd av: %s
    Klicka här för att visa kostnadsrapporten: %s ExpenseReportRefused=En kostnadsrapport nekades @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Kostnadsrapporten %s avbröts.
    - Användare: % ExpenseReportPaid=En kostnadsrapport utbetalades ExpenseReportPaidMessage=Kostnadsrapporten %s betalades.
    - Användare: %s
    - Betald av: %s
    Klicka här för att visa kostnadsrapporten: %s TripId=ID utgiftsrapport -AnyOtherInThisListCanValidate=Person att informera om validering. +AnyOtherInThisListCanValidate=Person som ska informeras för att validera begäran. TripSociete=Informationsföretag TripNDF=Informationsutgiftsrapport PDFStandardExpenseReports=Standardmall för att skapa ett PDF-dokument för kostnadsrapport @@ -55,7 +55,7 @@ EX_HOT=Hotell EX_PAR=Parkering CV EX_TOL=Toll CV EX_TAX=Olika skatter -EX_IND=Indemnity transportation subscription +EX_IND=Skydd för ersättning för ersättning EX_SUM=Underhållstillförsel EX_SUO=Kontorsmaterial EX_CAR=Biluthyrning @@ -73,8 +73,8 @@ EX_PAR_VP=Parkering PV EX_CAM_VP=PV underhåll och reparation DefaultCategoryCar=Standard transportläge DefaultRangeNumber=Standardintervallnummer -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Fel, regeln för kostnadsrapport nummerering ref definierades inte i inställningen av modulen "Expense Report" +UploadANewFileNow=Ladda upp ett nytt dokument nu +Error_EXPENSEREPORT_ADDON_NotDefined=Fel, regeln för utläggsrapportsnummereringsref definierades inte i inställningen av modulen "Utläggsrapport" ErrorDoubleDeclaration=Du har lämnat en annan kostnadsrapport inom samma datumintervall. AucuneLigne=Det finns ingen kostnadsrapport som deklarerats än ModePaiement=Betalningssätt @@ -87,13 +87,12 @@ CANCEL_USER=Släckt av MOTIF_REFUS=Orsak MOTIF_CANCEL=Orsak DATE_REFUS=Neka datum -DATE_SAVE=Attestdatum +DATE_SAVE=Bekräftelsesdatum DATE_CANCEL=Avbokningsdatum DATE_PAIEMENT=Betalningsdag -BROUILLONNER=öppna ExpenseReportRef=Ref. kostnads rapport ValidateAndSubmit=Bekräfta och lämna in för godkännande -ValidatedWaitingApproval=Validerad (väntar på godkännande) +ValidatedWaitingApproval=Bekräftat (väntar på godkännande) NOT_AUTHOR=Du är inte författaren till denna kostnadsrapport. Drift avbruten. ConfirmRefuseTrip=Är du säker på att du vill neka denna kostnadsrapport? ValideTrip=Godkänn kostnadsrapport @@ -103,14 +102,14 @@ ConfirmPaidTrip=Är du säker på att du vill ändra status för denna kostnadsr ConfirmCancelTrip=Är du säker på att du vill avbryta denna kostnadsrapport? BrouillonnerTrip=Flytta tillbaka kostnadsrapport till status "Draft" ConfirmBrouillonnerTrip=Är du säker på att du vill flytta denna kostnadsrapport till status "Draft"? -SaveTrip=Godkänn kostnadsrapport -ConfirmSaveTrip=Är du säker på att du vill validera denna kostnadsrapport? +SaveTrip=Bekräft kostnadsrapport +ConfirmSaveTrip=Är du säker på att du vill bekräfta denna kostnadsrapport? NoTripsToExportCSV=Ingen kostnadsrapport att exportera för denna period. ExpenseReportPayment=Kostnadsrapportsbetalning ExpenseReportsToApprove=Rapporter att godkänna ExpenseReportsToPay=Kostnad rapporterar att betala ConfirmCloneExpenseReport=Är du säker på att du vill klona denna kostnadsrapport? -ExpenseReportsIk=Antal mil i kostnadsrapporten +ExpenseReportsIk=Konfiguration av körsträcka ExpenseReportsRules=Kostnadsrapporteringsregler ExpenseReportIkDesc=Du kan ändra beräkningen av kilometerkostnaden efter kategori och intervall som de tidigare definierats. d är avståndet i kilometer ExpenseReportRulesDesc=Du kan skapa eller uppdatera några regler för beräkning. Den här delen kommer att användas när användaren kommer att skapa en ny kostnadsrapport @@ -131,7 +130,7 @@ ExpenseReportDateEnd=Slutdatum ExpenseReportLimitAmount=Limitbelopp ExpenseReportRestrictive=Restriktiv AllExpenseReport=All typ av kostnadsrapport -OnExpense=Expense line +OnExpense=Utläggsrad ExpenseReportRuleSave=Kostnadsrapportregeln sparades ExpenseReportRuleErrorOnSave=Fel: %s RangeNum=Område %d @@ -145,7 +144,7 @@ nolimitbyEX_DAY=om dagen (ingen begränsning) nolimitbyEX_MON=per månad (ingen begränsning) nolimitbyEX_YEA=per år (ingen begränsning) nolimitbyEX_EXP=efter rad (ingen begränsning) -CarCategory=Kategori av bil +CarCategory=Fordonskategori ExpenseRangeOffset=Förskjutningsbelopp: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Bifoga raden till ett uppladdat dokument diff --git a/htdocs/langs/sv_SE/users.lang b/htdocs/langs/sv_SE/users.lang index f15100a9f65..1c9886a2675 100644 --- a/htdocs/langs/sv_SE/users.lang +++ b/htdocs/langs/sv_SE/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Lösenord ändras till: %s SubjectNewPassword=Ditt nya lösenord för %s GroupRights=Gruppbehörigheter UserRights=Användarbehörighet -Credentials=Credentials +Credentials=Referenser UserGUISetup=Användarskärmsinställning DisableUser=Inaktivera DisableAUser=Inaktivera en användare @@ -47,8 +47,8 @@ RemoveFromGroup=Ta bort från grupp PasswordChangedAndSentTo=Lösenord ändras och skickas till %s. PasswordChangeRequest=Begär om ändring av lösenord för %s PasswordChangeRequestSent=Begäran om att ändra lösenord för %s skickas till %s. -IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. -IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. +IfLoginExistPasswordRequestSent=Om denna inloggning är ett giltigt konto har ett e-postmeddelande skickats för att återställa lösenordet. +IfEmailExistPasswordRequestSent=Om det här e-postmeddelandet är ett giltigt konto har ett e-postmeddelande skickats för att återställa lösenordet. ConfirmPasswordReset=Bekräfta återställning av lösenord MenuUsersAndGroups=Användare & grupper LastGroupsCreated=Senaste %s grupper skapade @@ -73,16 +73,16 @@ ExportDataset_user_1=Användare och deras egenskaper DomainUser=Domän användare %s Reactivate=Återaktivera CreateInternalUserDesc=I det här formuläret kan du skapa en intern användare i ditt företag / organisation. För att skapa en extern användare (kund, leverantör etc.), använd knappen "Create Dolibarr User" från den tredje partens kontaktkort. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=En intern -användare är en användare som ingår i ditt företag / organisation, eller är en partneranvändare utanför din organisation som kan behöva se mer data än data relaterade till sitt företag (tillståndssystemet definierar vad han kan eller kan inte se eller göra).
    En extern användare är en kund, leverantör eller annan som måste se ENDAST data relaterade till sig själv (Skapa en extern användare för en tredje part kan göras från tredjeparts kontaktposter).

    I båda fallen måste du bevilja behörighet för de funktioner som användaren behöver. PermissionInheritedFromAGroup=Tillstånd beviljas, eftersom ärvt från en av en användares grupp. Inherited=Ärvda -UserWillBe=Created user will be +UserWillBe=Skapad användare kommer att vara UserWillBeInternalUser=Skapad användare kommer att vara en intern användare (eftersom inte kopplade till en viss tredje part) UserWillBeExternalUser=Skapad användare kommer att vara en extern användare (eftersom kopplat till en viss tredje part) IdPhoneCaller=Id telefonen ringer NewUserCreated=Användare %s skapade NewUserPassword=Ändring av lösenord för %s -NewPasswordValidated=Your new password have been validated and must be used now to login. +NewPasswordValidated=Ditt nya lösenord har validerats och måste användas nu för att logga in. EventUserModified=Användare %s modifierade UserDisabled=Användare %s funktionshindrade UserEnabled=Användare %s aktiverad @@ -106,21 +106,21 @@ UseTypeFieldToChange=Använd fält Typ för att ändra OpenIDURL=OpenID URL LoginUsingOpenID=Logga in med OpenID WeeklyHours=Timmar arbetade (per vecka) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Förväntade arbetade timmar per vecka ColorUser=Färg på användaren DisabledInMonoUserMode=Inaktiverad i underhållsläge UserAccountancyCode=Användarkonto UserLogoff=Användarutloggning UserLogged=Användare loggad -DateOfEmployment=Employment date -DateEmployment=Employment -DateEmploymentstart=Employment Start Date +DateOfEmployment=Anställningsdatum +DateEmployment=Sysselsättning +DateEmploymentstart=Startdatum för anställning DateEmploymentEnd=Anställningens slutdatum -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=Åtkomst giltighetsdatumintervall CantDisableYourself=Du kan inte inaktivera din egen användarrekord -ForceUserExpenseValidator=Force expense report validator -ForceUserHolidayValidator=Force leave request validator -ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. -UserPersonalEmail=Personal email -UserPersonalMobile=Personal mobile phone -WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s +ForceUserExpenseValidator=Tvinga valideringsrapport för utgiftsrapport +ForceUserHolidayValidator=Tvinga lämningsbegäran +ValidatorIsSupervisorByDefault=Som standard är valideraren användarens övervakare. Håll dig tom för att behålla detta beteende. +UserPersonalEmail=Personlig email +UserPersonalMobile=Personlig mobiltelefon +WarningNotLangOfInterface=Varning, detta är det huvudspråk som användaren talar, inte språket för gränssnittet han valde att se. För att ändra gränssnittsspråket som visas av den här användaren, gå till fliken %s diff --git a/htdocs/langs/sv_SE/website.lang b/htdocs/langs/sv_SE/website.lang index 713f5c37332..70b9b832adc 100644 --- a/htdocs/langs/sv_SE/website.lang +++ b/htdocs/langs/sv_SE/website.lang @@ -2,7 +2,7 @@ Shortname=Kod WebsiteSetupDesc=Skapa här de webbplatser du vill använda. Gå sedan till menyn webbplatser för att redigera dem. DeleteWebsite=Ta bort webbplats -ConfirmDeleteWebsite=Are you sure you want to delete this web site? All its pages and content will also be removed. The files uploaded (like into the medias directory, the ECM module, ...) will remain. +ConfirmDeleteWebsite=Är du säker på att du vill ta bort den här webbplatsen? Alla sidor och innehåll tas också bort. Filerna som laddas upp (som till mediekatalogen, ECM-modulen, ...) kommer att finnas kvar. WEBSITE_TYPE_CONTAINER=Typ av sida / container WEBSITE_PAGE_EXAMPLE=Webbplats som ska användas som exempel WEBSITE_PAGENAME=Sidnamn / alias @@ -14,10 +14,10 @@ WEBSITE_JS_INLINE=Javascript-filinnehåll (vanligt för alla sidor) WEBSITE_HTML_HEADER=Tillägg längst ner i HTML-rubrik (vanligt för alla sidor) WEBSITE_ROBOT=Robotfil (robots.txt) WEBSITE_HTACCESS=Webbsida. Htaccess-fil -WEBSITE_MANIFEST_JSON=Website manifest.json file -WEBSITE_README=README.md file -WEBSITE_KEYWORDSDesc=Use a comma to separate values -EnterHereLicenseInformation=Enter here meta data or license information to fille a README.md file. if you distribute your website as a template, the file will be included into the temptate package. +WEBSITE_MANIFEST_JSON=Webbplats manifest.json-fil +WEBSITE_README=README.md-fil +WEBSITE_KEYWORDSDesc=Använd ett komma för att separera värden +EnterHereLicenseInformation=Ange här metadata eller licensinformation för att arkivera en README.md-fil. om du distribuerar din webbplats som en mall inkluderas filen i det frestande paketet. HtmlHeaderPage=HTML-rubrik (endast för den här sidan) PageNameAliasHelp=Namn eller alias på sidan.
    Detta alias används också för att skapa en SEO-URL när webbplatsen springer från en virtuell värd på en webbserver (som Apacke, Nginx, ...). Använd knappen " %s " för att redigera detta alias. EditTheWebSiteForACommonHeader=Obs! Om du vill definiera en personlig rubrik för alla sidor, redigera rubriken på sidnivån istället för på sidan / behållaren. @@ -31,7 +31,7 @@ AddWebsite=Lägg till webbplats Webpage=Webbsida / container AddPage=Lägg till sida / behållare PageContainer=Sida -PreviewOfSiteNotYetAvailable=Förhandsgranskning av din webbplats %s ej tillgänglig än. Du måste först ' Importera en fullständig webbplatsmall ' eller bara ' Lägg till en sida / behållare '. +PreviewOfSiteNotYetAvailable=Förhandsgranskningen av din webbplats %s är ännu inte tillgänglig. Du måste först ' Importera en fullständig webbplatsmall ' eller bara ' Lägg till en sida / behållare '. RequestedPageHasNoContentYet=Den begärda sidan med id %s har inget innehåll ännu, eller cachefilen .tpl.php har tagits bort. Redigera innehållet på sidan för att lösa detta. SiteDeleted=Webbplatsen '%s' raderas PageContent=Page / Contenair @@ -43,24 +43,24 @@ SetAsHomePage=Sätt som hemsida RealURL=Verklig URL ViewWebsiteInProduction=Visa webbplats med hjälp av hemadresser SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s -ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: +ExampleToUseInApacheVirtualHostConfig=Exempel att använda i Apache virtuell värdinställning: YouCanAlsoTestWithPHPS=  Använd med PHP-inbäddad server
    På utvecklingsmiljö kan du föredra att testa webbplatsen med PHP-inbäddad webbserver (PHP 5.5 krävs) genom att köra
    php -S 0.0.0.0:8080 -t %s -YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org +YouCanAlsoDeployToAnotherWHP= Kör din webbplats med en annan Dolibarr Hosting-leverantör
    Om du inte har en webbserver som Apache eller NGinx tillgänglig på internet kan du exportera och importera din webbplats till en annan Dolibarr-instans som tillhandahålls av en annan Dolibarr-värdleverantör integration med webbplatsmodulen. Du hittar en lista med några Dolibarr-värdleverantörer på https://saas.dolibarr.org CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s ReadPerm=Läsa WritePerm=Skriva TestDeployOnWeb=Test / distribuera på webben PreviewSiteServedByWebServer= Förhandsgranska %s i en ny flik.

    %s kommer att serveras av en extern webbserver (som Apache, Nginx, IIS). Du måste installera och konfigurera den här servern innan du pekar på katalogen:
    %s
    URL betjänad av extern server:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". +PreviewSiteServedByDolibarr= Förhandsgranska %s i en ny flik.

    %s kommer att serveras av Dolibarr-servern så det behöver inte installeras någon extra webbserver (som Apache, Nginx, IIS).
    Det obekväma är att sidornas webbadresser inte är användarvänliga och börjar med sökvägen till din Dolibarr.
    URL betjänas av Dolibarr:
    %s

    Om du vill använda din egen extern webbserver för att tjäna denna webbplats, skapa en virtuell värd på din webbserver som pekar på katalogen
    %s
    sedan ange namnet på denna virtuella server i egenskaperna för denna webbplats och klicka på länken "Test / Distribuera på webben". VirtualHostUrlNotDefined=URL för den virtuella värd som serveras av extern webbserver som inte definierats NoPageYet=Inga sidor ännu YouCanCreatePageOrImportTemplate=Du kan skapa en ny sida eller importera en fullständig webbplatsmall SyntaxHelp=Hjälp med specifika syntaxtips YouCanEditHtmlSourceckeditor=Du kan redigera HTML-källkod med knappen "Källa" i redigeraren. -YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

    You can also include content of another Page/Container with the following syntax:
    <?php includeContainer('alias_of_container_to_include'); ?>

    You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):
    <?php redirectToContainer('alias_of_container_to_redirect_to'); ?>

    To add a link to another page, use the syntax:
    <a href="alias_of_page_to_link_to.php">mylink<a>

    To include a link to download a file stored into the documents directory, use the document.php wrapper:
    Example, for a file into documents/ecm (need to be logged), syntax is:
    <a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
    For a file into documents/medias (open directory for public access), syntax is:
    <a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
    For a file shared with a share link (open access using the sharing hash key of file), syntax is:
    <a href="/document.php?hashp=publicsharekeyoffile">

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
    +YouCanEditHtmlSource=
    Du kan inkludera PHP-kod i den här källan med taggar <? php? > a0a65d071f6fcf Följande globala variabler är tillgängliga: $ conf, $ db, $ mysoc, $ user, $ website, $ websitepage, $ weblangs, $ pagelangs.

    Du kan också inkludera innehållet i en annan sida / behållare med följande syntax:
    a313907? ? >

    Du kan göra en omdirigering till en annan sida / Container med följande syntax (OBS! Inte ut innehållet innan en omdirigering):
    < php redirectToContainer (alias_of_container_to_redirect_to '); ? >

    att lägga till en länk till en annan sida använder syntax:
    <a href = "alias_of_page_to_link_to.php" >mylink<a>

    att inkludera en länk för att hämta en fil som lagras i dokument -katalog, använd document.php wrapper:
    Exempel, för en fil till dokument / ecm (måste loggas), syntax är: a0342fccfda19b4 ] filename.ext ">

    För en fil till dokument / media (öppen katalog för allmän åtkomst) är syntax:
    a03900df7d "/document.php?modulepart=medias&file= [relative_dir/] filnamn.ext">
    För en fil som delas med en delningslänk (öppen åtkomst med den delande hash-nyckeln för fil) är syntax20 /document.php?hashp=publicsharekeyoffile">


    för att inkludera en bild lagras in i de dokument katalog använder viewimage.php wrapper:
    Exempel, för en bild i dokument / medier (öppna katalog för allmän åtkomst), syntax är:
    <img src = "/ viewimage.php? modulepart = medias&file = [relativ_dir /] filnamn.ext" a012c07 #YouCanEditHtmlSource2=
    To include a image shared publicaly, use the viewimage.php wrapper:
    Example with a shared key 123456789, syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSourceMore=
    More examples of HTML or dynamic code available on the wiki documentation
    . +YouCanEditHtmlSourceMore=
    Fler exempel på HTML eller dynamisk kod finns på wiki-dokumentationen
    . ClonePage=Klona sida / behållare CloneSite=Klona webbplatsen SiteAdded=Webbplats tillagd @@ -80,15 +80,15 @@ BlogPost=Blogginlägg WebsiteAccount=Webbsida konto WebsiteAccounts=Webbsida konton AddWebsiteAccount=Skapa webbplatskonto -BackToListForThirdParty=Back to list for the third-party +BackToListForThirdParty=Tillbaka till listan för tredje part DisableSiteFirst=Inaktivera webbplats först MyContainerTitle=Min webbplatstitel -AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) -SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later... +AnotherContainer=Så här inkluderar du innehåll från en annan sida / behållare (du kan ha ett fel här om du aktiverar dynamisk kod eftersom den inbäddade underbehållaren kanske inte finns) +SorryWebsiteIsCurrentlyOffLine=Tyvärr, den här webbplatsen är för närvarande offline. Kom tillbaka senare ... WEBSITE_USE_WEBSITE_ACCOUNTS=Aktivera webbsidokontotabellen WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Aktivera tabellen för att lagra webbplatskonton (inloggning / överföring) för varje webbplats / tredje part YouMustDefineTheHomePage=Du måste först definiera standard startsida -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. +OnlyEditionOfSourceForGrabbedContentFuture=Varning: Skapa en webbsida genom att importera en extern webbsida är reserverad för erfarna användare. Beroende på källsidans komplexitet kan resultatet av importen skilja sig från originalet. Även om källsidan använder vanliga CSS-stilar eller motstridiga javaskript kan det bryta utseendet eller funktionerna hos webbplatsredigeraren när du arbetar på den här sidan. Den här metoden är ett snabbare sätt att skapa en sida men det rekommenderas att du skapar din nya sida från grunden eller från en föreslagen sidmall.
    Observera också att inline-redigeraren kanske inte fungerar korrekt när den används på en gripen extern sida. OnlyEditionOfSourceForGrabbedContent=Endast upplagan av HTML-källan är möjlig när innehållet greppades från en extern webbplats GrabImagesInto=Ta även bilder som finns i css och sidan. ImagesShouldBeSavedInto=Bilder ska sparas i katalogen @@ -98,50 +98,50 @@ AliasPageAlreadyExists=Alias sida %s existerar redan CorporateHomePage=Företagets hemsida EmptyPage=Tom sida ExternalURLMustStartWithHttp=Extern webbadress måste börja med http: // eller https: // -ZipOfWebsitePackageToImport=Upload the Zip file of the website template package -ZipOfWebsitePackageToLoad=or Choose an available embedded website template package -ShowSubcontainers=Show dynamic content +ZipOfWebsitePackageToImport=Ladda upp zip-filen för webbplatsmallpaketet +ZipOfWebsitePackageToLoad=eller välj ett tillgängligt inbäddat webbplatsmallpaket +ShowSubcontainers=Visa dynamiskt innehåll InternalURLOfPage=Intern webbadress ThisPageIsTranslationOf=Den här sidan / behållaren är en översättning av ThisPageHasTranslationPages=Den här sidan / behållaren har översättning NoWebSiteCreateOneFirst=Ingen hemsida har skapats än. Skapa en första. GoTo=Gå till -DynamicPHPCodeContainsAForbiddenInstruction=You add dynamic PHP code that contains the PHP instruction '%s' that is forbidden by default as dynamic content (see hidden options WEBSITE_PHP_ALLOW_xxx to increase list of allowed commands). -NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynamic content in websites. Ask permission or just keep code into php tags unmodified. -ReplaceWebsiteContent=Search or Replace website content -DeleteAlsoJs=Delete also all javascript files specific to this website? -DeleteAlsoMedias=Delete also all medias files specific to this website? -MyWebsitePages=My website pages -SearchReplaceInto=Search | Replace into -ReplaceString=New string -CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:

    #mycssselector, input.myclass:hover { ... }
    must be
    .bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }

    Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere. -LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page. -Dynamiccontent=Sample of a page with dynamic content +DynamicPHPCodeContainsAForbiddenInstruction=Du lägger till dynamisk PHP-kod som innehåller PHP-instruktionen ' %s ' som är förbjudet som standard som dynamiskt innehåll (se dolda alternativ WEBSITE_PHP_ALLOW_xxx för att öka listan över tillåtna kommandon). +NotAllowedToAddDynamicContent=Du har inte behörighet att lägga till eller redigera dynamiskt PHP-innehåll på webbplatser. Be tillåtelse eller behåll bara koden i php-taggar omodifierade. +ReplaceWebsiteContent=Sök eller ersätt webbplatsinnehåll +DeleteAlsoJs=Vill du ta bort alla JavaScript-filer som är specifika för den här webbplatsen? +DeleteAlsoMedias=Ta bort alla mediefiler som är specifika för den här webbplatsen? +MyWebsitePages=Mina webbplatser +SearchReplaceInto=Sök | Byt ut i +ReplaceString=Ny sträng +CSSContentTooltipHelp=Ange här CSS-innehåll. För att undvika konflikter med applikationens CSS, var noga med att förbereda alla deklarationer med .bodywebsite-klassen. Till exempel:

    #mycssselector, input.myclass: hover {...}
    måste vara
    .bodywebsite #mycssselector, .bodywebsite input.myccc2: hover2 ... detta prefix kan du använda 'lessc' för att konvertera det för att lägga till .bodywebsite-prefixet överallt. +LinkAndScriptsHereAreNotLoadedInEditor=Varning: Det här innehållet matas bara ut när webbplatsen nås från en server. Det används inte i redigeringsläge, så om du behöver ladda javascriptfiler också i redigeringsläge, lägg bara till din tagg 'script src = ...' på sidan. +Dynamiccontent=Exempel på en sida med dynamiskt innehåll ImportSite=Importera webbsidans mall -EditInLineOnOff=Mode 'Edit inline' is %s -ShowSubContainersOnOff=Mode to execute 'dynamic content' is %s -GlobalCSSorJS=Global CSS/JS/Header file of web site -BackToHomePage=Back to home page... -TranslationLinks=Translation links -YouTryToAccessToAFileThatIsNotAWebsitePage=You try to access to a page that is not available.
    (ref=%s, type=%s, status=%s) -UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters -MainLanguage=Main language -OtherLanguages=Other languages -UseManifest=Provide a manifest.json file -PublicAuthorAlias=Public author alias -AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties -ReplacementDoneInXPages=Replacement done in %s pages or containers +EditInLineOnOff=Läget 'Redigera inline' är %s +ShowSubContainersOnOff=Läge för att utföra "dynamiskt innehåll" är %s +GlobalCSSorJS=Global CSS / JS / rubrikfil på webbplatsen +BackToHomePage=Tillbaka till startsidan... +TranslationLinks=Översättningslänkar +YouTryToAccessToAFileThatIsNotAWebsitePage=Du försöker komma åt en sida som inte är tillgänglig.
    (ref = %s, typ = %s, status = %s) +UseTextBetween5And70Chars=För en bra SEO-praxis, använd en text mellan 5 och 70 tecken +MainLanguage=Modersmål +OtherLanguages=Andra språk +UseManifest=Ange en manifest.json-fil +PublicAuthorAlias=Offentligt alias författare +AvailableLanguagesAreDefinedIntoWebsiteProperties=Tillgängliga språk definieras i webbplatsegenskaper +ReplacementDoneInXPages=Byte sker på %s sidor eller behållare RSSFeed=RSS-flöde -RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL -PagesRegenerated=%s page(s)/container(s) regenerated -RegenerateWebsiteContent=Regenerate web site cache files -AllowedInFrames=Allowed in Frames -DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated +RSSFeedDesc=Du kan få ett RSS-flöde av de senaste artiklarna med typen 'blogpost' med hjälp av denna URL +PagesRegenerated=%s sida (er) / behållare / regenererade +RegenerateWebsiteContent=Återskapa cachefiler på webbplatsen +AllowedInFrames=Tillåtet i ramar +DefineListOfAltLanguagesInWebsiteProperties=Definiera lista över alla tillgängliga språk i webbplatsegenskaper. +GenerateSitemaps=Skapa webbplatskarta för webbplats +ConfirmGenerateSitemaps=Om du bekräftar raderar du den befintliga webbplatskartfilen ... +ConfirmSitemapsCreation=Bekräfta generering av webbplatskarta +SitemapGenerated=Sitemap-fil %s genererad ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +ErrorFaviconType=Favicon måste vara png +ErrorFaviconSize=Favicon måste vara 16x16, 32x32 eller 64x64 +FaviconTooltip=Ladda upp en bild som måste vara en png (16x16, 32x32 eller 64x64) diff --git a/htdocs/langs/sv_SE/withdrawals.lang b/htdocs/langs/sv_SE/withdrawals.lang index e1aa6c99928..ff843535c95 100644 --- a/htdocs/langs/sv_SE/withdrawals.lang +++ b/htdocs/langs/sv_SE/withdrawals.lang @@ -1,50 +1,51 @@ # Dolibarr language file - Source file is en_US - withdrawals -CustomersStandingOrdersArea=Payments by Direct debit orders -SuppliersStandingOrdersArea=Payments by Credit transfer +CustomersStandingOrdersArea=Betalningar med direct debit +SuppliersStandingOrdersArea=Betalningar med kreditöverföring StandingOrdersPayment=Direktbetalningsorder StandingOrderPayment=Direktbetalningsorder NewStandingOrder=Ny direktdebitering -NewPaymentByBankTransfer=New payment by credit transfer +NewPaymentByBankTransfer=Ny betalning med kreditöverföring StandingOrderToProcess=För att kunna behandla -PaymentByBankTransferReceipts=Credit transfer orders -PaymentByBankTransferLines=Credit transfer order lines +PaymentByBankTransferReceipts=Kreditöverföringsorder +PaymentByBankTransferLines=Kreditöverföringsorderrader WithdrawalsReceipts=Direkt debiteringsorder WithdrawalReceipt=Direkt debitering -BankTransferReceipts=Credit transfer orders -BankTransferReceipt=Credit transfer order -LatestBankTransferReceipts=Latest %s credit transfer orders +BankTransferReceipts=Kreditöverföringsorder +BankTransferReceipt=Kreditöverföringsorder +LatestBankTransferReceipts=Senaste %s kreditöverföringsorder LastWithdrawalReceipts=Senaste %s direkt debit-filer -WithdrawalsLine=Direct debit order line -CreditTransferLine=Credit transfer line +WithdrawalsLine=Direkt debiteringsorder +CreditTransferLine=Kreditöverföringslinje WithdrawalsLines=Direktbetalningsorder -CreditTransferLines=Credit transfer lines -RequestStandingOrderToTreat=Requests for direct debit payment order to process -RequestStandingOrderTreated=Requests for direct debit payment order processed -RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process -RequestPaymentsByBankTransferTreated=Requests for credit transfer processed +CreditTransferLines=Kreditöverföringslinjer +RequestStandingOrderToTreat=Begäran om att betalningsorder för autogiro ska bearbetas +RequestStandingOrderTreated=Förfrågningar om betalningsorder för direktdebitering har bearbetats +RequestPaymentsByBankTransferToTreat=Begäran om kreditöverföring för behandling +RequestPaymentsByBankTransferTreated=Förfrågningar om kreditöverföring behandlas NotPossibleForThisStatusOfWithdrawReceiptORLine=Ännu inte möjligt. Uttag status måste vara inställd på "kredit" innan den förklarar förkastar på specifika linjer. -NbOfInvoiceToWithdraw=No. of qualified customer invoices with waiting direct debit order +NbOfInvoiceToWithdraw=Antal kvalificerade kundfakturor med väntande direktdebiteringsorder NbOfInvoiceToWithdrawWithInfo=Antal kundfaktura med order för direktbetalning med definierad bankkontoinformation -NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer -SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer +NbOfInvoiceToPayByBankTransfer=Antal kvalificerade leverantörsfakturor som väntar på en betalning via kreditöverföring +SupplierInvoiceWaitingWithdraw=Leverantörsfaktura som väntar på betalning med kreditöverföring InvoiceWaitingWithdraw=Faktura som väntar på direktdebitering -InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer +InvoiceWaitingPaymentByBankTransfer=Fakturan väntar på kreditöverföring AmountToWithdraw=Belopp att dra tillbaka -NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoice card to make a request. -NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. +NoInvoiceToWithdraw=Ingen faktura öppen för '%s' väntar. Gå till fliken '%s' på fakturakortet för att göra en begäran. +NoSupplierInvoiceToWithdraw=Ingen leverantörsfaktura med öppna 'Direkt kreditförfrågningar' väntar. Gå till fliken '%s' på fakturakortet för att göra en begäran. ResponsibleUser=Användaransvarig WithdrawalsSetup=Inställning för direktbetalning -CreditTransferSetup=Credit transfer setup +CreditTransferSetup=Inställning av kreditöverföring WithdrawStatistics=Direktbetalningsstatistik -CreditTransferStatistics=Credit transfer statistics +CreditTransferStatistics=Statistik för kreditöverföring Rejects=Rejects LastWithdrawalReceipt=Senaste %s direktavköpsintäkterna MakeWithdrawRequest=Gör en förskottsbetalningsförfrågan -MakeBankTransferOrder=Make a credit transfer request +MakeBankTransferOrder=Gör en kreditöverföringsbegäran WithdrawRequestsDone=%s begärda betalningsförfrågningar -BankTransferRequestsDone=%s credit transfer requests recorded +BankTransferRequestsDone=%s kreditöverföringsförfrågningar registrerade ThirdPartyBankCode=Tredjeparts bankkod NoInvoiceCouldBeWithdrawed=Ingen faktura debiteras framgångsrikt. Kontrollera att fakturor är på företag med en giltig IBAN och att IBAN har en UMR (Unique Mandate Reference) med läget %s . +WithdrawalCantBeCreditedTwice=Detta uttagskvitto är redan markerat som krediterat. detta kan inte göras två gånger, eftersom detta potentiellt skulle kunna skapa dubbla betalningar och bankposter. ClassCredited=Märk krediterad ClassCreditedConfirm=Är du säker på att du vill märka detta tillbakadragande mottagande som krediteras på ditt bankkonto? TransData=Datum Transmission @@ -54,7 +55,7 @@ Lines=Linjer StandingOrderReject=Utfärda ett förkasta WithdrawsRefused=Direkt debitering vägrade WithdrawalRefused=Uttag Refuseds -CreditTransfersRefused=Credit transfers refused +CreditTransfersRefused=Kreditöverföringar nekades WithdrawalRefusedConfirm=Är du säker på att du vill ange ett tillbakadragande avslag för samhället RefusedData=Datum för avslag RefusedReason=Orsak till avslag @@ -64,7 +65,7 @@ InvoiceRefused=Faktura vägrade (Ladda avslag till kunden) StatusDebitCredit=Statusavgift / kredit StatusWaiting=Väntar StatusTrans=Överförs -StatusDebited=Debited +StatusDebited=Debiterad StatusCredited=Krediteras StatusPaid=Betald StatusRefused=Refused @@ -80,36 +81,36 @@ StatusMotif8=Annan orsak CreateForSepaFRST=Skapa direkt debitfil (SEPA FRST) CreateForSepaRCUR=Skapa direkt debitfil (SEPA RCUR) CreateAll=Skapa direkt debitfil (alla) -CreateFileForPaymentByBankTransfer=Create file for credit transfer -CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) +CreateFileForPaymentByBankTransfer=Skapa fil för kreditöverföring +CreateSepaFileForPaymentByBankTransfer=Skapa kreditöverföringsfil (SEPA) CreateGuichet=Endast kontor CreateBanque=Endast bank OrderWaiting=Plats för en ny behandling -NotifyTransmision=Record file transmission of order -NotifyCredit=Record credit of order +NotifyTransmision=Spela in filöverföring av order +NotifyCredit=Registrera beställningskredit NumeroNationalEmetter=Nationella sändare Antal WithBankUsingRIB=För bankkonton med hjälp av RIB WithBankUsingBANBIC=För bankkonton som använder IBAN / BIC / SWIFT BankToReceiveWithdraw=Mottagande bankkonto -BankToPayCreditTransfer=Bank Account used as source of payments +BankToPayCreditTransfer=Bankkonto som används som betalningskälla CreditDate=Krediter på WithdrawalFileNotCapable=Det går inte att skapa uttags kvitto fil för ditt land %s (ditt land stöds inte) -ShowWithdraw=Show Direct Debit Order -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -WithdrawalFile=Debit order file -CreditTransferFile=Credit transfer file +ShowWithdraw=Visa beställning av direktdebitering +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Om fakturan har minst en betalningsorder för direktdebitering som ännu inte har behandlats kommer den inte att ställas in som betald för att möjliggöra tidigare uttagshantering. +DoStandingOrdersBeforePayments=På den här fliken kan du begära en betalningsorder för direktdebitering. När du är klar går du in i menyn Bank-> Betalning med autogiro för att generera och hantera autogiro. När direktdebiteringen stängs registreras fakturering automatiskt och fakturor stängs om återstående betalning är noll. +DoCreditTransferBeforePayments=På den här fliken kan du begära en kreditöverföringsorder. När du är klar går du till menyn Bank-> Betalning med kreditöverföring för att generera och hantera kreditöverföringsordern. När kreditöverföringsordern stängs registreras betalning på fakturor automatiskt och fakturor stängs om återstående betalning är noll. +WithdrawalFile=Debiteringsfil +CreditTransferFile=Kreditöverföringsfil SetToStatusSent=Ställ in på status "File Skickat" -ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null +ThisWillAlsoAddPaymentOnInvoice=Detta registrerar också betalningar på fakturor och klassificerar dem som "Betalda" om återstående betalning är noll StatisticsByLineStatus=Statistik efter status linjer RUM=UMR -DateRUM=Mandate signature date +DateRUM=Mandat underskrift datum RUMLong=Unik Mandatreferens RUMWillBeGenerated=Om tomt kommer en UMR (Unique Mandate Reference) att genereras när bankkontoinformationen är sparad. WithdrawMode=Direkt debiteringsläge (FRST eller RECUR) WithdrawRequestAmount=Belopp för direkt debitering: -BankTransferAmount=Amount of Credit Transfer request: +BankTransferAmount=Belopp på kreditöverföringsbegäran: WithdrawRequestErrorNilAmount=Det gick inte att skapa en direkt debitering för tom belopp. SepaMandate=SEPA-direkt debiteringsmandat SepaMandateShort=SEPA-mandat @@ -125,19 +126,18 @@ SEPAFrstOrRecur=Typ av betalning ModeRECUR=Återkommande betalning ModeFRST=Engångsbetalning PleaseCheckOne=Vänligen kolla en enda -CreditTransferOrderCreated=Credit transfer order %s created +CreditTransferOrderCreated=Kreditöverföringsorder %s skapades DirectDebitOrderCreated=Direkt debitering %s skapad AmountRequested=Belopp som begärs SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Exekveringsdatum CreateForSepa=Skapa direkt debitfil -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML-tagg - Unikt ID tilldelat per transaktion USTRD="Ostrukturerad" SEPA XML-tagg ADDDAYS=Lägg till dagar till Exekveringsdatum -NoDefaultIBANFound=No default IBAN found for this third party +NoDefaultIBANFound=Ingen standard-IBAN hittades för denna tredje part ### Notifications InfoCreditSubject=Betalning av direktbetalningsorder %s av banken InfoCreditMessage=Betalningsordern %s har betalats av banken
    Betalningsuppgifter: %s @@ -147,6 +147,6 @@ InfoTransData=Belopp: %s
    Metode: %s
    Datum: %s InfoRejectSubject=Betalningsordern vägrade InfoRejectMessage=Hej,

    Betalningsordern för fakturan %s relaterad till företaget %s, med ett belopp på %s, har vägrats av banken.

    -
    %s ModeWarning=Alternativ på riktigt läget inte var satt, sluta vi efter denna simulering -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorCompanyHasDuplicateDefaultBAN=Företag med id %s har mer än ett standardbankkonto. Inget sätt att veta vilken man ska använda. +ErrorICSmissing=Saknar ICS på bankkonto %s +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Det totala beloppet för direktdebitering skiljer sig från summan av rader diff --git a/htdocs/langs/sv_SE/workflow.lang b/htdocs/langs/sv_SE/workflow.lang index 55f87b7d0d3..92bae74c475 100644 --- a/htdocs/langs/sv_SE/workflow.lang +++ b/htdocs/langs/sv_SE/workflow.lang @@ -13,13 +13,14 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Märk länkad källans förslag som descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Märk länkad källsäljorder som fakturerad när kundfaktura är bekräftat (och om fakturans storlek är densamma som totalbeloppet för den länkade ordern) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Märk länkad källsäljorder som fakturerad när kundfaktura är inställd att betala (och om fakturans storlek är densamma som totalbeloppet för den länkade ordern) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Märk länkad källsäljningsorder som skickas när en försändelse är bekräftat (och om den mängd som skickas av alla leveranser är densamma som i den ordning som ska uppdateras) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Märk länkad källleverantörsförslag som fakturerat när leverantörsfaktura är bekräftat (och om fakturans storlek är densamma som det totala beloppet för det länkade förslaget) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Märk kopplad inköpsorder som fakturerad när leverantörsfaktura är bekräftat (och om fakturans storlek är densamma som totalbeloppet för den länkade ordern) -descWORKFLOW_BILL_ON_RECEPTION=Classify receptions to "billed" when a linked supplier order is validated +descWORKFLOW_BILL_ON_RECEPTION=Klassificera mottagningar till "fakturerade" när en länkad leverantörsorder är validerad # Autoclose intervention -descWORKFLOW_TICKET_CLOSE_INTERVENTION=Close all interventions linked to the ticket when a ticket is closed +descWORKFLOW_TICKET_CLOSE_INTERVENTION=Stäng alla ingripanden kopplade till biljetten när en biljett är stängd AutomaticCreation=Automatisk skapande AutomaticClassification=Automatisk uppmärkning # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Klassificera länkad källtransport som stängd när kundfakturan valideras diff --git a/htdocs/langs/sv_SE/zapier.lang b/htdocs/langs/sv_SE/zapier.lang index b4cc4ccba4a..b85cdb8bd32 100644 --- a/htdocs/langs/sv_SE/zapier.lang +++ b/htdocs/langs/sv_SE/zapier.lang @@ -13,9 +13,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -ModuleZapierForDolibarrName = Zapier for Dolibarr -ModuleZapierForDolibarrDesc = Zapier for Dolibarr module -ZapierForDolibarrSetup=Setup of Zapier for Dolibarr -ZapierDescription=Interface with Zapier -ZapierAbout=About the module Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ModuleZapierForDolibarrName = Zapier för Dolibarr +ModuleZapierForDolibarrDesc = Zapier för Dolibarr-modul +ZapierForDolibarrSetup=Installation av Zapier för Dolibarr +ZapierDescription=Gränssnitt med Zapier +ZapierAbout=Om modulen Zapier +ZapierSetupPage=Det finns inget behov av en installation på Dolibarr-sidan för att använda Zapier. Du måste dock skapa och publicera ett paket på zapier för att kunna använda Zapier med Dolibarr. Se dokumentation på denna wiki-sida . diff --git a/htdocs/langs/sw_SW/accountancy.lang b/htdocs/langs/sw_SW/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/sw_SW/accountancy.lang +++ b/htdocs/langs/sw_SW/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/sw_SW/admin.lang b/htdocs/langs/sw_SW/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/sw_SW/admin.lang +++ b/htdocs/langs/sw_SW/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/sw_SW/agenda.lang b/htdocs/langs/sw_SW/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/sw_SW/agenda.lang +++ b/htdocs/langs/sw_SW/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/sw_SW/banks.lang b/htdocs/langs/sw_SW/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/sw_SW/banks.lang +++ b/htdocs/langs/sw_SW/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/sw_SW/bills.lang b/htdocs/langs/sw_SW/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/sw_SW/bills.lang +++ b/htdocs/langs/sw_SW/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/sw_SW/boxes.lang b/htdocs/langs/sw_SW/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/sw_SW/boxes.lang +++ b/htdocs/langs/sw_SW/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/sw_SW/cashdesk.lang b/htdocs/langs/sw_SW/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/sw_SW/cashdesk.lang +++ b/htdocs/langs/sw_SW/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/sw_SW/compta.lang b/htdocs/langs/sw_SW/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/sw_SW/compta.lang +++ b/htdocs/langs/sw_SW/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/sw_SW/cron.lang b/htdocs/langs/sw_SW/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/sw_SW/cron.lang +++ b/htdocs/langs/sw_SW/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/sw_SW/deliveries.lang b/htdocs/langs/sw_SW/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/sw_SW/deliveries.lang +++ b/htdocs/langs/sw_SW/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sw_SW/errors.lang b/htdocs/langs/sw_SW/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/sw_SW/errors.lang +++ b/htdocs/langs/sw_SW/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sw_SW/eventorganization.lang b/htdocs/langs/sw_SW/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/sw_SW/eventorganization.lang +++ b/htdocs/langs/sw_SW/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/sw_SW/exports.lang b/htdocs/langs/sw_SW/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/sw_SW/exports.lang +++ b/htdocs/langs/sw_SW/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/sw_SW/holiday.lang b/htdocs/langs/sw_SW/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/sw_SW/holiday.lang +++ b/htdocs/langs/sw_SW/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/sw_SW/hrm.lang b/htdocs/langs/sw_SW/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/sw_SW/hrm.lang +++ b/htdocs/langs/sw_SW/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/sw_SW/install.lang b/htdocs/langs/sw_SW/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/sw_SW/install.lang +++ b/htdocs/langs/sw_SW/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sw_SW/interventions.lang b/htdocs/langs/sw_SW/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/sw_SW/interventions.lang +++ b/htdocs/langs/sw_SW/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/sw_SW/knowledgemanagement.lang b/htdocs/langs/sw_SW/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/sw_SW/knowledgemanagement.lang +++ b/htdocs/langs/sw_SW/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/sw_SW/languages.lang b/htdocs/langs/sw_SW/languages.lang index dbecd23ad26..96b141b1f30 100644 --- a/htdocs/langs/sw_SW/languages.lang +++ b/htdocs/langs/sw_SW/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Kiarabu Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Kiarabu +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Uholanzi (Ubelgiji) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Kireno (Brazil) Language_pt_PT=Kireno +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Urusi Language_ru_UA=Urusi (Ukraine) diff --git a/htdocs/langs/sw_SW/mails.lang b/htdocs/langs/sw_SW/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/sw_SW/mails.lang +++ b/htdocs/langs/sw_SW/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/sw_SW/main.lang b/htdocs/langs/sw_SW/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/sw_SW/main.lang +++ b/htdocs/langs/sw_SW/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/sw_SW/members.lang b/htdocs/langs/sw_SW/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/sw_SW/members.lang +++ b/htdocs/langs/sw_SW/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/sw_SW/modulebuilder.lang b/htdocs/langs/sw_SW/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/sw_SW/modulebuilder.lang +++ b/htdocs/langs/sw_SW/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/sw_SW/mrp.lang b/htdocs/langs/sw_SW/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/sw_SW/mrp.lang +++ b/htdocs/langs/sw_SW/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/sw_SW/orders.lang b/htdocs/langs/sw_SW/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/sw_SW/orders.lang +++ b/htdocs/langs/sw_SW/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/sw_SW/other.lang b/htdocs/langs/sw_SW/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/sw_SW/other.lang +++ b/htdocs/langs/sw_SW/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/sw_SW/partnership.lang b/htdocs/langs/sw_SW/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/sw_SW/partnership.lang +++ b/htdocs/langs/sw_SW/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/sw_SW/productbatch.lang b/htdocs/langs/sw_SW/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/sw_SW/productbatch.lang +++ b/htdocs/langs/sw_SW/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/sw_SW/products.lang b/htdocs/langs/sw_SW/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/sw_SW/products.lang +++ b/htdocs/langs/sw_SW/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/sw_SW/projects.lang b/htdocs/langs/sw_SW/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/sw_SW/projects.lang +++ b/htdocs/langs/sw_SW/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/sw_SW/receptions.lang b/htdocs/langs/sw_SW/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/sw_SW/receptions.lang +++ b/htdocs/langs/sw_SW/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/sw_SW/salaries.lang b/htdocs/langs/sw_SW/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/sw_SW/salaries.lang +++ b/htdocs/langs/sw_SW/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sw_SW/stocks.lang b/htdocs/langs/sw_SW/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/sw_SW/stocks.lang +++ b/htdocs/langs/sw_SW/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/sw_SW/ticket.lang b/htdocs/langs/sw_SW/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/sw_SW/ticket.lang +++ b/htdocs/langs/sw_SW/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/sw_SW/trips.lang b/htdocs/langs/sw_SW/trips.lang index e34078e8fc2..c9a6c792077 100644 --- a/htdocs/langs/sw_SW/trips.lang +++ b/htdocs/langs/sw_SW/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/sw_SW/users.lang b/htdocs/langs/sw_SW/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/sw_SW/users.lang +++ b/htdocs/langs/sw_SW/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/sw_SW/website.lang b/htdocs/langs/sw_SW/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/sw_SW/website.lang +++ b/htdocs/langs/sw_SW/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sw_SW/withdrawals.lang b/htdocs/langs/sw_SW/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/sw_SW/withdrawals.lang +++ b/htdocs/langs/sw_SW/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/sw_SW/workflow.lang b/htdocs/langs/sw_SW/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/sw_SW/workflow.lang +++ b/htdocs/langs/sw_SW/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/tg_TJ/accountancy.lang b/htdocs/langs/tg_TJ/accountancy.lang new file mode 100644 index 00000000000..771f0a83e7b --- /dev/null +++ b/htdocs/langs/tg_TJ/accountancy.lang @@ -0,0 +1,434 @@ +# Dolibarr language file - en_US - Accountancy (Double entries) +Accountancy=Accountancy +Accounting=Accounting +ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file +ACCOUNTING_EXPORT_DATE=Date format for export file +ACCOUNTING_EXPORT_PIECE=Export the number of piece +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account +ACCOUNTING_EXPORT_LABEL=Export label +ACCOUNTING_EXPORT_AMOUNT=Export amount +ACCOUNTING_EXPORT_DEVISE=Export currency +Selectformat=Select the format for the file +ACCOUNTING_EXPORT_FORMAT=Select the format for the file +ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type +ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name +ThisService=This service +ThisProduct=This product +DefaultForService=Default for service +DefaultForProduct=Default for product +ProductForThisThirdparty=Product for this thirdparty +ServiceForThisThirdparty=Service for this thirdparty +CantSuggest=Can't suggest +AccountancySetupDoneFromAccountancyMenu=Most setup of the accountancy is done from the menu %s +ConfigAccountingExpert=Configuration of the module accounting (double entry) +Journalization=Journalization +Journals=Journals +JournalFinancial=Financial journals +BackToChartofaccounts=Return chart of accounts +Chartofaccounts=Chart of accounts +ChartOfSubaccounts=Chart of individual accounts +ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger +CurrentDedicatedAccountingAccount=Current dedicated account +AssignDedicatedAccountingAccount=New account to assign +InvoiceLabel=Invoice label +OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to an accounting account +OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to an accounting account +OtherInfo=Other information +DeleteCptCategory=Remove accounting account from group +ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? +JournalizationInLedgerStatus=Status of journalization +AlreadyInGeneralLedger=Already transferred in accounting journals and ledger +NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger +GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group +DetailByAccount=Show detail by account +AccountWithNonZeroValues=Accounts with non-zero values +ListOfAccounts=List of accounts +CountriesInEEC=Countries in EEC +CountriesNotInEEC=Countries not in EEC +CountriesInEECExceptMe=Countries in EEC except %s +CountriesExceptMe=All countries except %s +AccountantFiles=Export source documents +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. +VueByAccountAccounting=View by accounting account +VueBySubAccountAccounting=View by accounting subaccount + +MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup +MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup +MainAccountForUsersNotDefined=Main accounting account for users not defined in setup +MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup +MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup + +AccountancyArea=Accounting area +AccountancyAreaDescIntro=Usage of the accountancy module is done in several step: +AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year... +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) +AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies... + +AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s +AccountancyAreaDescChartModel=STEP %s: Check that a model of chart of account exists or create one from menu %s +AccountancyAreaDescChart=STEP %s: Select and|or complete your chart of account from menu %s + +AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s. +AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. +AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s. +AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s. +AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expenses (miscellaneous taxes). For this, use the menu entry %s. +AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s. +AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. +AccountancyAreaDescMisc=STEP %s: Define mandatory default account and default accounting accounts for miscellaneous transactions. For this, use the menu entry %s. +AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s. +AccountancyAreaDescBank=STEP %s: Define accounting accounts and journal code for each bank and financial accounts. For this, use the menu entry %s. +AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %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. +AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu %s, and click into button %s. +AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports. + +AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future. + +TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) +Selectchartofaccounts=Select active chart of accounts +ChangeAndLoad=Change and load +Addanaccount=Add an accounting account +AccountAccounting=Accounting account +AccountAccountingShort=Account +SubledgerAccount=Subledger account +SubledgerAccountLabel=Subledger account label +ShowAccountingAccount=Show accounting account +ShowAccountingJournal=Show accounting journal +ShowAccountingAccountInLedger=Show accounting account in ledger +ShowAccountingAccountInJournals=Show accounting account in journals +AccountAccountingSuggest=Accounting account suggested +MenuDefaultAccounts=Default accounts +MenuBankAccounts=Bank accounts +MenuVatAccounts=Vat accounts +MenuTaxAccounts=Tax accounts +MenuExpenseReportAccounts=Expense report accounts +MenuLoanAccounts=Loan accounts +MenuProductsAccounts=Product accounts +MenuClosureAccounts=Closure accounts +MenuAccountancyClosure=Closure +MenuAccountancyValidationMovements=Validate movements +ProductsBinding=Products accounts +TransferInAccounting=Transfer in accounting +RegistrationInAccounting=Registration in accounting +Binding=Binding to accounts +CustomersVentilation=Customer invoice binding +SuppliersVentilation=Vendor invoice binding +ExpenseReportsVentilation=Expense report binding +CreateMvts=Create new transaction +UpdateMvts=Modification of a transaction +ValidTransaction=Validate transaction +WriteBookKeeping=Register transactions in accounting +Bookkeeping=Ledger +BookkeepingSubAccount=Subledger +AccountBalance=Account balance +ObjectsRef=Source object ref +CAHTF=Total purchase vendor before tax +TotalExpenseReport=Total expense report +InvoiceLines=Lines of invoices to bind +InvoiceLinesDone=Bound lines of invoices +ExpenseReportLines=Lines of expense reports to bind +ExpenseReportLinesDone=Bound lines of expense reports +IntoAccount=Bind line with the accounting account +TotalForAccount=Total accounting account + + +Ventilate=Bind +LineId=Id line +Processing=Processing +EndProcessing=Process terminated. +SelectedLines=Selected lines +Lineofinvoice=Line of invoice +LineOfExpenseReport=Line of expense report +NoAccountSelected=No accounting account selected +VentilatedinAccount=Binded successfully to the accounting account +NotVentilatedinAccount=Not bound to the accounting account +XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account +XLineFailedToBeBinded=%s products/services were not bound to any accounting account + +ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements +ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements + +ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50) +ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 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_AACCOUNT=Length of the third-party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen) +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. +BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account +ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) +ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default + +ACCOUNTING_SELL_JOURNAL=Sell journal +ACCOUNTING_PURCHASE_JOURNAL=Purchase journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal +ACCOUNTING_SOCIAL_JOURNAL=Social journal +ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal + +ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) +ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) +ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure + +ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer +TransitionalAccount=Transitional bank transfer account + +ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait +DONATION_ACCOUNTINGACCOUNT=Accounting account to register donations +ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions + +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit + +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for the bought products (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) + +ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) + +Doctype=Type of document +Docdate=Date +Docref=Reference +LabelAccount=Label account +LabelOperation=Label operation +Sens=Direction +AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made +LetteringCode=Lettering code +Lettering=Lettering +Codejournal=Journal +JournalLabel=Journal label +NumPiece=Piece number +TransactionNumShort=Num. transaction +AccountingCategory=Custom group +GroupByAccountAccounting=Group by general ledger account +GroupBySubAccountAccounting=Group by subledger account +AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. +ByAccounts=By accounts +ByPredefinedAccountGroups=By predefined groups +ByPersonalizedAccountGroups=By personalized groups +ByYear=By year +NotMatch=Not Set +DeleteMvt=Delete some operation lines from accounting +DelMonth=Month to delete +DelYear=Year to delete +DelJournal=Journal to delete +ConfirmDeleteMvt=This will delete all operation lines of the accounting for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. +ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all operation lines related to the same transaction will be deleted) +FinanceJournal=Finance journal +ExpenseReportsJournal=Expense reports journal +DescFinanceJournal=Finance journal including all the types of payments by bank account +DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Journals and Ledger. +VATAccountNotDefined=Account for VAT not defined +ThirdpartyAccountNotDefined=Account for third party not defined +ProductAccountNotDefined=Account for product not defined +FeeAccountNotDefined=Account for fee not defined +BankAccountNotDefined=Account for bank not defined +CustomerInvoicePayment=Payment of invoice customer +ThirdPartyAccount=Third-party account +NewAccountingMvt=New transaction +NumMvts=Numero of transaction +ListeMvts=List of movements +ErrorDebitCredit=Debit and Credit cannot have a value at the same time +AddCompteFromBK=Add accounting accounts to the group +ReportThirdParty=List third-party account +DescThirdPartyReport=Consult here the list of third-party customers and vendors and their accounting accounts +ListAccounts=List of the accounting accounts +UnknownAccountForThirdparty=Unknown third-party account. We will use %s +UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. +UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error +PaymentsNotLinkedToProduct=Payment not linked to any product / service +OpeningBalance=Opening balance +ShowOpeningBalance=Show opening balance +HideOpeningBalance=Hide opening balance +ShowSubtotalByGroup=Show subtotal by level + +Pcgtype=Group of account +PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. + +Reconcilable=Reconcilable + +TotalVente=Total turnover before tax +TotalMarge=Total sales margin + +DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account +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 "%s". 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 "%s". +DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account +DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account +ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account: +Vide=- +DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account (only record not already transfered in accountancy are visible) +DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account +DescVentilTodoExpenseReport=Bind expense report lines not already bound with a fee accounting account +DescVentilExpenseReport=Consult here the list of expense report lines bound (or not) to a fee accounting account +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 "%s". 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 "%s". +DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account + +Closure=Annual closure +DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open +OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) +AllMovementsWereRecordedAsValidated=All movements were recorded as validated +NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated +ValidateMovements=Validate movements +DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible + +ValidateHistory=Bind Automatically +AutomaticBindingDone=Automatic binding done + +ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used +MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s +Balancing=Balancing +FicheVentilation=Binding card +GeneralLedgerIsWritten=Transactions are written in the Ledger +GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized. +NoNewRecordSaved=No more record to journalize +ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account +ChangeBinding=Change the binding +Accounted=Accounted in ledger +NotYetAccounted=Not yet accounted in the ledger +ShowTutorial=Show Tutorial +NotReconciled=Not reconciled +WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view + +## Admin +BindingOptions=Binding options +ApplyMassCategories=Apply mass categories +AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group +CategoryDeleted=Category for the accounting account has been removed +AccountingJournals=Accounting journals +AccountingJournal=Accounting journal +NewAccountingJournal=New accounting journal +ShowAccountingJournal=Show accounting journal +NatureOfJournal=Nature of Journal +AccountingJournalType1=Miscellaneous operations +AccountingJournalType2=Sales +AccountingJournalType3=Purchases +AccountingJournalType4=Bank +AccountingJournalType5=Expenses report +AccountingJournalType8=Inventory +AccountingJournalType9=Has-new +ErrorAccountingJournalIsAlreadyUse=This journal is already use +AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu %s - %s +NumberOfAccountancyEntries=Number of entries +NumberOfAccountancyMovements=Number of movements +ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) +ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) +ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) + +## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? +ExportDraftJournal=Export draft journal +Modelcsv=Model of export +Selectmodelcsv=Select a model of export +Modelcsv_normal=Classic export +Modelcsv_CEGID=Export for CEGID Expert Comptabilité +Modelcsv_COALA=Export for Sage Coala +Modelcsv_bob50=Export for Sage BOB 50 +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) +Modelcsv_quadratus=Export for Quadratus QuadraCompta +Modelcsv_ebp=Export for EBP +Modelcsv_cogilog=Export for Cogilog +Modelcsv_agiris=Export for Agiris +Modelcsv_LDCompta=Export for LD Compta (v9) (Test) +Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) +Modelcsv_openconcerto=Export for OpenConcerto (Test) +Modelcsv_configurable=Export CSV Configurable +Modelcsv_FEC=Export FEC +Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) +Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland +Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta +Modelcsv_Gestinumv3=Export for Gestinum (v3) +Modelcsv_Gestinumv5Export for Gestinum (v5) +ChartofaccountsId=Chart of accounts Id + +## Tools - Init accounting account on product / service +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. +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 used for accounting closures. +Options=Options +OptionModeProductSell=Mode sales +OptionModeProductSellIntra=Mode sales exported in EEC +OptionModeProductSellExport=Mode sales exported in other countries +OptionModeProductBuy=Mode purchases +OptionModeProductBuyIntra=Mode purchases imported in EEC +OptionModeProductBuyExport=Mode purchased imported from other countries +OptionModeProductSellDesc=Show all products with accounting account for sales. +OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. +OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. +OptionModeProductBuyDesc=Show all products with accounting account for purchases. +OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. +OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. +CleanFixHistory=Remove accounting code from lines that not exists into charts of account +CleanHistory=Reset all bindings for selected year +PredefinedGroups=Predefined groups +WithoutValidAccount=Without valid dedicated account +WithValidAccount=With valid dedicated account +ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account +AccountRemovedFromGroup=Account removed from group +SaleLocal=Local sale +SaleExport=Export sale +SaleEEC=Sale in EEC +SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. +SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. + +## Dictionary +Range=Range of accounting account +Calculated=Calculated +Formula=Formula + +## Error +SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them +ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries) +ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice %s, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. +ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. +ExportNotSupported=The export format setuped is not supported into this page +BookeppingLineAlreayExists=Lines already existing into bookkeeping +NoJournalDefined=No journal defined +Binded=Lines bound +ToBind=Lines to bind +UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually + +## Import +ImportAccountingEntries=Accounting entries +ImportAccountingEntriesFECFormat=Accounting entries - FEC format +FECFormatJournalCode=Code journal (JournalCode) +FECFormatJournalLabel=Label journal (JournalLib) +FECFormatEntryNum=Piece number (EcritureNum) +FECFormatEntryDate=Piece date (EcritureDate) +FECFormatGeneralAccountNumber=General account number (CompteNum) +FECFormatGeneralAccountLabel=General account label (CompteLib) +FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) +FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) +FECFormatPieceRef=Piece ref (PieceRef) +FECFormatPieceDate=Piece date creation (PieceDate) +FECFormatLabelOperation=Label operation (EcritureLib) +FECFormatDebit=Debit (Debit) +FECFormatCredit=Credit (Credit) +FECFormatReconcilableCode=Reconcilable code (EcritureLet) +FECFormatReconcilableDate=Reconcilable date (DateLet) +FECFormatValidateDate=Piece date validated (ValidDate) +FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) +FECFormatMulticurrencyCode=Multicurrency code (Idevise) + +DateExport=Date export +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. +ExpenseReportJournal=Expense Report Journal +InventoryJournal=Inventory Journal + +NAccounts=%s accounts diff --git a/htdocs/langs/tg_TJ/admin.lang b/htdocs/langs/tg_TJ/admin.lang new file mode 100644 index 00000000000..d8b9559302b --- /dev/null +++ b/htdocs/langs/tg_TJ/admin.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - admin +Version=Версия +NotificationsDescGlobal=* or by setting global email addresses in this setup page. +OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    diff --git a/htdocs/langs/tg_TJ/agenda.lang b/htdocs/langs/tg_TJ/agenda.lang new file mode 100644 index 00000000000..a1183841b00 --- /dev/null +++ b/htdocs/langs/tg_TJ/agenda.lang @@ -0,0 +1,172 @@ +# Dolibarr language file - Source file is en_US - agenda +IdAgenda=ID event +Actions=Events +Agenda=Agenda +TMenuAgenda=Agenda +Agendas=Agendas +LocalAgenda=Default calendar +ActionsOwnedBy=Event owned by +ActionsOwnedByShort=Owner +AffectedTo=Assigned to +Event=Event +Events=Events +EventsNb=Number of events +ListOfActions=List of events +EventReports=Event reports +Location=Location +ToUserOfGroup=Event assigned to any user in the group +EventOnFullDay=Event on all day(s) +MenuToDoActions=All incomplete events +MenuDoneActions=All terminated events +MenuToDoMyActions=My incomplete events +MenuDoneMyActions=My terminated events +ListOfEvents=List of events (default calendar) +ActionsAskedBy=Events reported by +ActionsToDoBy=Events assigned to +ActionsDoneBy=Events done by +ActionAssignedTo=Event assigned to +ViewCal=Month view +ViewDay=Day view +ViewWeek=Week view +ViewPerUser=Per user view +ViewPerType=Per type view +AutoActions= Automatic filling +AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. +AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...) +AgendaExtSitesDesc=This page allows to declare external sources of calendars to see their events into Dolibarr agenda. +ActionsEvents=Events for which Dolibarr will create an action in agenda automatically +EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. +##### Agenda event labels ##### +NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified +COMPANY_DELETEInDolibarr=Third party %s deleted +ContractValidatedInDolibarr=Contract %s validated +CONTRACT_DELETEInDolibarr=Contract %s deleted +PropalClosedSignedInDolibarr=Proposal %s signed +PropalClosedRefusedInDolibarr=Proposal %s refused +PropalValidatedInDolibarr=Proposal %s validated +PropalClassifiedBilledInDolibarr=Proposal %s classified billed +InvoiceValidatedInDolibarr=Invoice %s validated +InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS +InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status +InvoiceDeleteDolibarr=Invoice %s deleted +InvoicePaidInDolibarr=Invoice %s changed to paid +InvoiceCanceledInDolibarr=Invoice %s canceled +MemberValidatedInDolibarr=Member %s validated +MemberModifiedInDolibarr=Member %s modified +MemberResiliatedInDolibarr=Member %s terminated +MemberDeletedInDolibarr=Member %s deleted +MemberSubscriptionAddedInDolibarr=Subscription %s for member %s added +MemberSubscriptionModifiedInDolibarr=Subscription %s for member %s modified +MemberSubscriptionDeletedInDolibarr=Subscription %s for member %s deleted +ShipmentValidatedInDolibarr=Shipment %s validated +ShipmentClassifyClosedInDolibarr=Shipment %s classified billed +ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open +ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status +ShipmentDeletedInDolibarr=Shipment %s deleted +ReceptionValidatedInDolibarr=Reception %s validated +OrderCreatedInDolibarr=Order %s created +OrderValidatedInDolibarr=Order %s validated +OrderDeliveredInDolibarr=Order %s classified delivered +OrderCanceledInDolibarr=Order %s canceled +OrderBilledInDolibarr=Order %s classified billed +OrderApprovedInDolibarr=Order %s approved +OrderRefusedInDolibarr=Order %s refused +OrderBackToDraftInDolibarr=Order %s go back to draft status +ProposalSentByEMail=Commercial proposal %s sent by email +ContractSentByEMail=Contract %s sent by email +OrderSentByEMail=Sales order %s sent by email +InvoiceSentByEMail=Customer invoice %s sent by email +SupplierOrderSentByEMail=Purchase order %s sent by email +ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted +SupplierInvoiceSentByEMail=Vendor invoice %s sent by email +ShippingSentByEMail=Shipment %s sent by email +ShippingValidated= Shipment %s validated +InterventionSentByEMail=Intervention %s sent by email +ProposalDeleted=Proposal deleted +OrderDeleted=Order deleted +InvoiceDeleted=Invoice deleted +DraftInvoiceDeleted=Draft invoice deleted +CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified +CONTACT_DELETEInDolibarr=Contact %s deleted +PRODUCT_CREATEInDolibarr=Product %s created +PRODUCT_MODIFYInDolibarr=Product %s modified +PRODUCT_DELETEInDolibarr=Product %s deleted +HOLIDAY_CREATEInDolibarr=Request for leave %s created +HOLIDAY_MODIFYInDolibarr=Request for leave %s modified +HOLIDAY_APPROVEInDolibarr=Request for leave %s approved +HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated +HOLIDAY_DELETEInDolibarr=Request for leave %s deleted +EXPENSE_REPORT_CREATEInDolibarr=Expense report %s created +EXPENSE_REPORT_VALIDATEInDolibarr=Expense report %s validated +EXPENSE_REPORT_APPROVEInDolibarr=Expense report %s approved +EXPENSE_REPORT_DELETEInDolibarr=Expense report %s deleted +EXPENSE_REPORT_REFUSEDInDolibarr=Expense report %s refused +PROJECT_CREATEInDolibarr=Project %s created +PROJECT_MODIFYInDolibarr=Project %s modified +PROJECT_DELETEInDolibarr=Project %s deleted +TICKET_CREATEInDolibarr=Ticket %s created +TICKET_MODIFYInDolibarr=Ticket %s modified +TICKET_ASSIGNEDInDolibarr=Ticket %s assigned +TICKET_CLOSEInDolibarr=Ticket %s closed +TICKET_DELETEInDolibarr=Ticket %s deleted +BOM_VALIDATEInDolibarr=BOM validated +BOM_UNVALIDATEInDolibarr=BOM unvalidated +BOM_CLOSEInDolibarr=BOM disabled +BOM_REOPENInDolibarr=BOM reopen +BOM_DELETEInDolibarr=BOM deleted +MRP_MO_VALIDATEInDolibarr=MO validated +MRP_MO_UNVALIDATEInDolibarr=MO set to draft status +MRP_MO_PRODUCEDInDolibarr=MO produced +MRP_MO_DELETEInDolibarr=MO deleted +MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid +##### End agenda events ##### +AgendaModelModule=Document templates for event +DateActionStart=Start date +DateActionEnd=End date +AgendaUrlOptions1=You can also add following parameters to filter output: +AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. +AgendaUrlOptionsNotAdmin=logina=!%s to restrict output to actions not owned by user %s. +AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s (owner and others). +AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. +AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. +AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. +AgendaShowBirthdayEvents=Birthdays of contacts +AgendaHideBirthdayEvents=Hide birthdays of contacts +Busy=Busy +ExportDataset_event1=List of agenda events +DefaultWorkingDays=Default working days range in week (Example: 1-5, 1-6) +DefaultWorkingHours=Default working hours in day (Example: 9-18) +# External Sites ical +ExportCal=Export calendar +ExtSites=Import external calendars +ExtSitesEnableThisTool=Show external calendars (defined in global setup) in Agenda. Does not affect external calendars defined by users. +ExtSitesNbOfAgenda=Number of calendars +AgendaExtNb=Calendar no. %s +ExtSiteUrlAgenda=URL to access .ical file +ExtSiteNoLabel=No Description +VisibleTimeRange=Visible time range +VisibleDaysRange=Visible days range +AddEvent=Create event +MyAvailability=My availability +ActionType=Event type +DateActionBegin=Start event date +ConfirmCloneEvent=Are you sure you want to clone the event %s? +RepeatEvent=Repeat event +OnceOnly=Once only +EveryWeek=Every week +EveryMonth=Every month +DayOfMonth=Day of month +DayOfWeek=Day of week +DateStartPlusOne=Date start + 1 hour +SetAllEventsToTodo=Set all events to todo +SetAllEventsToInProgress=Set all events to in progress +SetAllEventsToFinished=Set all events to finished +ReminderTime=Reminder period before the event +TimeType=Duration type +ReminderType=Callback type +AddReminder=Create an automatic reminder notification for this event +ErrorReminderActionCommCreation=Error creating the reminder notification for this event +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/tg_TJ/assets.lang b/htdocs/langs/tg_TJ/assets.lang new file mode 100644 index 00000000000..afafc98503f --- /dev/null +++ b/htdocs/langs/tg_TJ/assets.lang @@ -0,0 +1,67 @@ +# Copyright (C) 2018 Alexandre Spangaro +# +# 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 . + +# +# Generic +# +Assets = Assets +NewAsset = New asset +AccountancyCodeAsset = Accounting code (asset) +AccountancyCodeDepreciationAsset = Accounting code (depreciation asset account) +AccountancyCodeDepreciationExpense = Accounting code (depreciation expense account) +NewAssetType=New asset type +AssetsTypeSetup=Asset type setup +AssetTypeModified=Asset type modified +AssetType=Asset type +AssetsLines=Assets +DeleteType=Delete +DeleteAnAssetType=Delete an asset type +ConfirmDeleteAssetType=Are you sure you want to delete this asset type? +ShowTypeCard=Show type '%s' + +# Module label 'ModuleAssetsName' +ModuleAssetsName = Assets +# Module description 'ModuleAssetsDesc' +ModuleAssetsDesc = Assets description + +# +# Admin page +# +AssetsSetup = Assets setup +Settings = Settings +AssetsSetupPage = Assets setup page +ExtraFieldsAssetsType = Complementary attributes (Asset type) +AssetsType=Asset type +AssetsTypeId=Asset type id +AssetsTypeLabel=Asset type label +AssetsTypes=Assets types + +# +# Menu +# +MenuAssets = Assets +MenuNewAsset = New asset +MenuTypeAssets = Type assets +MenuListAssets = List +MenuNewTypeAssets = New +MenuListTypeAssets = List + +# +# Module +# +Asset=Asset +NewAssetType=New asset type +NewAsset=New asset +ConfirmDeleteAsset=Are you sure you want to delete this asset ? diff --git a/htdocs/langs/tg_TJ/banks.lang b/htdocs/langs/tg_TJ/banks.lang new file mode 100644 index 00000000000..a0b7942d446 --- /dev/null +++ b/htdocs/langs/tg_TJ/banks.lang @@ -0,0 +1,184 @@ +# Dolibarr language file - Source file is en_US - banks +Bank=Bank +MenuBankCash=Banks | Cash +MenuVariousPayment=Miscellaneous payments +MenuNewVariousPayment=New Miscellaneous payment +BankName=Bank name +FinancialAccount=Account +BankAccount=Bank account +BankAccounts=Bank accounts +BankAccountsAndGateways=Bank accounts | Gateways +ShowAccount=Show Account +AccountRef=Financial account ref +AccountLabel=Financial account label +CashAccount=Cash account +CashAccounts=Cash accounts +CurrentAccounts=Current accounts +SavingAccounts=Savings accounts +ErrorBankLabelAlreadyExists=Financial account label already exists +BankBalance=Balance +BankBalanceBefore=Balance before +BankBalanceAfter=Balance after +BalanceMinimalAllowed=Minimum allowed balance +BalanceMinimalDesired=Minimum desired balance +InitialBankBalance=Initial balance +EndBankBalance=End balance +CurrentBalance=Current balance +FutureBalance=Future balance +ShowAllTimeBalance=Show balance from start +AllTime=From start +Reconciliation=Reconciliation +RIB=Bank Account Number +IBAN=IBAN number +BIC=BIC/SWIFT code +SwiftValid=BIC/SWIFT valid +SwiftVNotalid=BIC/SWIFT not valid +IbanValid=BAN valid +IbanNotValid=BAN not valid +StandingOrders=Direct debit orders +StandingOrder=Direct debit order +PaymentByDirectDebit=Payment by direct debit +PaymentByBankTransfers=Payments by credit transfer +PaymentByBankTransfer=Payment by credit transfer +AccountStatement=Account statement +AccountStatementShort=Statement +AccountStatements=Account statements +LastAccountStatements=Last account statements +IOMonthlyReporting=Monthly reporting +BankAccountDomiciliation=Bank address +BankAccountCountry=Account country +BankAccountOwner=Account owner name +BankAccountOwnerAddress=Account owner address +RIBControlError=Integrity check of values failed. This means the information for this account number is not complete or is incorrect (check country, numbers and IBAN). +CreateAccount=Create account +NewBankAccount=New account +NewFinancialAccount=New financial account +MenuNewFinancialAccount=New financial account +EditFinancialAccount=Edit account +LabelBankCashAccount=Bank or cash label +AccountType=Account type +BankType0=Savings account +BankType1=Current or credit card account +BankType2=Cash account +AccountsArea=Accounts area +AccountCard=Account card +DeleteAccount=Delete account +ConfirmDeleteAccount=Are you sure you want to delete this account? +Account=Account +BankTransactionByCategories=Bank entries by categories +BankTransactionForCategory=Bank entries for category %s +RemoveFromRubrique=Remove link with category +RemoveFromRubriqueConfirm=Are you sure you want to remove link between the entry and the category? +ListBankTransactions=List of bank entries +IdTransaction=Transaction ID +BankTransactions=Bank entries +BankTransaction=Bank entry +ListTransactions=List entries +ListTransactionsByCategory=List entries/category +TransactionsToConciliate=Entries to reconcile +TransactionsToConciliateShort=To reconcile +Conciliable=Can be reconciled +Conciliate=Reconcile +Conciliation=Reconciliation +SaveStatementOnly=Save statement only +ReconciliationLate=Reconciliation late +IncludeClosedAccount=Include closed accounts +OnlyOpenedAccount=Only open accounts +AccountToCredit=Account to credit +AccountToDebit=Account to debit +DisableConciliation=Disable reconciliation feature for this account +ConciliationDisabled=Reconciliation feature disabled +LinkedToAConciliatedTransaction=Linked to a conciliated entry +StatusAccountOpened=Open +StatusAccountClosed=Closed +AccountIdShort=Number +LineRecord=Transaction +AddBankRecord=Add entry +AddBankRecordLong=Add entry manually +Conciliated=Reconciled +ConciliatedBy=Reconciled by +DateConciliating=Reconcile date +BankLineConciliated=Entry reconciled with bank receipt +Reconciled=Reconciled +NotReconciled=Not reconciled +CustomerInvoicePayment=Customer payment +SupplierInvoicePayment=Vendor payment +SubscriptionPayment=Subscription payment +WithdrawalPayment=Debit payment order +SocialContributionPayment=Social/fiscal tax payment +BankTransfer=Credit transfer +BankTransfers=Credit transfers +MenuBankInternalTransfer=Internal transfer +TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferFrom=From +TransferTo=To +TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. +CheckTransmitter=Sender +ValidateCheckReceipt=Validate this check receipt? +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. +DeleteCheckReceipt=Delete this check receipt? +ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? +BankChecks=Bank checks +BankChecksToReceipt=Checks awaiting deposit +BankChecksToReceiptShort=Checks awaiting deposit +ShowCheckReceipt=Show check deposit receipt +NumberOfCheques=No. of check +DeleteTransaction=Delete entry +ConfirmDeleteTransaction=Are you sure you want to delete this entry? +ThisWillAlsoDeleteBankRecord=This will also delete generated bank entry +BankMovements=Movements +PlannedTransactions=Planned entries +Graph=Graphs +ExportDataset_banque_1=Bank entries and account statement +ExportDataset_banque_2=Deposit slip +TransactionOnTheOtherAccount=Transaction on the other account +PaymentNumberUpdateSucceeded=Payment number updated successfully +PaymentNumberUpdateFailed=Payment number could not be updated +PaymentDateUpdateSucceeded=Payment date updated successfully +PaymentDateUpdateFailed=Payment date could not be updated +Transactions=Transactions +BankTransactionLine=Bank entry +AllAccounts=All bank and cash accounts +BackToAccount=Back to account +ShowAllAccounts=Show for all accounts +FutureTransaction=Future transaction. Unable to reconcile. +SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD +EventualyAddCategory=Eventually, specify a category in which to classify the records +ToConciliate=To reconcile? +ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +DefaultRIB=Default BAN +AllRIB=All BAN +LabelRIB=BAN Label +NoBANRecord=No BAN record +DeleteARib=Delete BAN record +ConfirmDeleteRib=Are you sure you want to delete this BAN record? +RejectCheck=Check returned +ConfirmRejectCheck=Are you sure you want to mark this check as rejected? +RejectCheckDate=Date the check was returned +CheckRejected=Check returned +CheckRejectedAndInvoicesReopened=Check returned and invoices re-open +BankAccountModelModule=Document templates for bank accounts +DocumentModelSepaMandate=Template of SEPA mandate. Useful for European countries in EEC only. +DocumentModelBan=Template to print a page with BAN information. +NewVariousPayment=New miscellaneous payment +VariousPayment=Miscellaneous payment +VariousPayments=Miscellaneous payments +ShowVariousPayment=Show miscellaneous payment +AddVariousPayment=Add miscellaneous payment +VariousPaymentId=Miscellaneous payment ID +VariousPaymentLabel=Miscellaneous payment label +ConfirmCloneVariousPayment=Confirm the clone of a miscellaneous payment +SEPAMandate=SEPA mandate +YourSEPAMandate=Your SEPA mandate +FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to +AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation +CashControl=POS cash desk control +NewCashFence=New cash desk opening or closing +BankColorizeMovement=Colorize movements +BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements +BankColorizeMovementName1=Background color for debit movement +BankColorizeMovementName2=Background color for credit movement +IfYouDontReconcileDisableProperty=If you don't make the bank reconciliations on some bank accounts, disable the property "%s" on them to remove this warning. +NoBankAccountDefined=No bank account defined +NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. diff --git a/htdocs/langs/tg_TJ/bills.lang b/htdocs/langs/tg_TJ/bills.lang new file mode 100644 index 00000000000..7b8c997d2e6 --- /dev/null +++ b/htdocs/langs/tg_TJ/bills.lang @@ -0,0 +1,593 @@ +# Dolibarr language file - Source file is en_US - bills +Bill=Invoice +Bills=Invoices +BillsCustomers=Customer invoices +BillsCustomer=Customer invoice +BillsSuppliers=Vendor invoices +BillsCustomersUnpaid=Unpaid customer invoices +BillsCustomersUnpaidForCompany=Unpaid customer invoices for %s +BillsSuppliersUnpaid=Unpaid vendor invoices +BillsSuppliersUnpaidForCompany=Unpaid vendors invoices for %s +BillsLate=Late payments +BillsStatistics=Customers invoices statistics +BillsStatisticsSuppliers=Vendors invoices statistics +DisabledBecauseDispatchedInBookkeeping=Disabled because invoice was dispatched into bookkeeping +DisabledBecauseNotLastInvoice=Disabled because invoice is not erasable. Some invoices were recorded after this one and it will create holes in the counter. +DisabledBecauseNotErasable=Disabled because cannot be erased +InvoiceStandard=Standard invoice +InvoiceStandardAsk=Standard invoice +InvoiceStandardDesc=This kind of invoice is the common invoice. +InvoiceDeposit=Down payment invoice +InvoiceDepositAsk=Down payment invoice +InvoiceDepositDesc=This kind of invoice is done when a down payment has been received. +InvoiceProForma=Proforma invoice +InvoiceProFormaAsk=Proforma invoice +InvoiceProFormaDesc=Proforma invoice is an image of a true invoice but has no accountancy value. +InvoiceReplacement=Replacement invoice +InvoiceReplacementAsk=Replacement invoice for invoice +InvoiceReplacementDesc=Replacement invoice is used to completely replace an invoice with no payment already received.

    Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceAvoir=Credit note +InvoiceAvoirAsk=Credit note to correct invoice +InvoiceAvoirDesc=The credit note is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned). +invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice +invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice +invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount +ReplaceInvoice=Replace invoice %s +ReplacementInvoice=Replacement invoice +ReplacedByInvoice=Replaced by invoice %s +ReplacementByInvoice=Replaced by invoice +CorrectInvoice=Correct invoice %s +CorrectionInvoice=Correction invoice +UsedByInvoice=Used to pay invoice %s +ConsumedBy=Consumed by +NotConsumed=Not consumed +NoReplacableInvoice=No replaceable invoices +NoInvoiceToCorrect=No invoice to correct +InvoiceHasAvoir=Was source of one or several credit notes +CardBill=Invoice card +PredefinedInvoices=Predefined Invoices +Invoice=Invoice +PdfInvoiceTitle=Invoice +Invoices=Invoices +InvoiceLine=Invoice line +InvoiceCustomer=Customer invoice +CustomerInvoice=Customer invoice +CustomersInvoices=Customer invoices +SupplierInvoice=Vendor invoice +SuppliersInvoices=Vendor invoices +SupplierInvoiceLines=Vendor invoice lines +SupplierBill=Vendor invoice +SupplierBills=Vendor invoices +Payment=Payment +PaymentBack=Refund +CustomerInvoicePaymentBack=Refund +Payments=Payments +PaymentsBack=Refunds +paymentInInvoiceCurrency=in invoices currency +PaidBack=Paid back +DeletePayment=Delete payment +ConfirmDeletePayment=Are you sure you want to delete this payment? +ConfirmConvertToReduc=Do you want to convert this %s into an available credit? +ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. +ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? +ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. +SupplierPayments=Vendor payments +ReceivedPayments=Received payments +ReceivedCustomersPayments=Payments received from customers +PayedSuppliersPayments=Payments paid to vendors +ReceivedCustomersPaymentsToValid=Received customers payments to validate +PaymentsReportsForYear=Payments reports for %s +PaymentsReports=Payments reports +PaymentsAlreadyDone=Payments already done +PaymentsBackAlreadyDone=Refunds already done +PaymentRule=Payment rule +PaymentMode=Payment Type +DefaultPaymentMode=Default Payment Type +DefaultBankAccount=Default Bank Account +PaymentTypeDC=Debit/Credit Card +PaymentTypePP=PayPal +IdPaymentMode=Payment Type (id) +CodePaymentMode=Payment Type (code) +LabelPaymentMode=Payment Type (label) +PaymentModeShort=Payment Type +PaymentTerm=Payment Term +PaymentConditions=Payment Terms +PaymentConditionsShort=Payment Terms +PaymentAmount=Payment amount +PaymentHigherThanReminderToPay=Payment higher than reminder to pay +HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
    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.
    Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. +ClassifyPaid=Classify 'Paid' +ClassifyUnPaid=Classify 'Unpaid' +ClassifyPaidPartially=Classify 'Paid partially' +ClassifyCanceled=Classify 'Abandoned' +ClassifyClosed=Classify 'Closed' +ClassifyUnBilled=Classify 'Unbilled' +CreateBill=Create Invoice +CreateCreditNote=Create credit note +AddBill=Create invoice or credit note +AddToDraftInvoices=Add to draft invoice +DeleteBill=Delete invoice +SearchACustomerInvoice=Search for a customer invoice +SearchASupplierInvoice=Search for a vendor invoice +CancelBill=Cancel an invoice +SendRemindByMail=Send reminder by email +DoPayment=Enter payment +DoPaymentBack=Enter refund +ConvertToReduc=Mark as credit available +ConvertExcessReceivedToReduc=Convert excess received into available credit +ConvertExcessPaidToReduc=Convert excess paid into available discount +EnterPaymentReceivedFromCustomer=Enter payment received from customer +EnterPaymentDueToCustomer=Make payment due to customer +DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero +PriceBase=Base price +BillStatus=Invoice status +StatusOfGeneratedInvoices=Status of generated invoices +BillStatusDraft=Draft (needs to be validated) +BillStatusPaid=Paid +BillStatusPaidBackOrConverted=Credit note refund or marked as credit available +BillStatusConverted=Paid (ready for consumption in final invoice) +BillStatusCanceled=Abandoned +BillStatusValidated=Validated (needs to be paid) +BillStatusStarted=Started +BillStatusNotPaid=Not paid +BillStatusNotRefunded=Not refunded +BillStatusClosedUnpaid=Closed (unpaid) +BillStatusClosedPaidPartially=Paid (partially) +BillShortStatusDraft=Draft +BillShortStatusPaid=Paid +BillShortStatusPaidBackOrConverted=Refunded or converted +Refunded=Refunded +BillShortStatusConverted=Paid +BillShortStatusCanceled=Abandoned +BillShortStatusValidated=Validated +BillShortStatusStarted=Started +BillShortStatusNotPaid=Not paid +BillShortStatusNotRefunded=Not refunded +BillShortStatusClosedUnpaid=Closed +BillShortStatusClosedPaidPartially=Paid (partially) +PaymentStatusToValidShort=To validate +ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined +ErrorNoPaiementModeConfigured=No default payment type defined. Go to Invoice module setup to fix this. +ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment types +ErrorBillNotFound=Invoice %s does not exist +ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. +ErrorDiscountAlreadyUsed=Error, discount already used +ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount +ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have an amount excluding tax positive (or null) +ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. +BillFrom=From +BillTo=To +ActionsOnBill=Actions on invoice +RecurringInvoiceTemplate=Template / Recurring invoice +NoQualifiedRecurringInvoiceTemplateFound=No recurring template invoice qualified for generation. +FoundXQualifiedRecurringInvoiceTemplate=Found %s recurring template invoice(s) qualified for generation. +NotARecurringInvoiceTemplate=Not a recurring template invoice +NewBill=New invoice +LastBills=Latest %s invoices +LatestTemplateInvoices=Latest %s template invoices +LatestCustomerTemplateInvoices=Latest %s customer template invoices +LatestSupplierTemplateInvoices=Latest %s vendor template invoices +LastCustomersBills=Latest %s customer invoices +LastSuppliersBills=Latest %s vendor invoices +AllBills=All invoices +AllCustomerTemplateInvoices=All template invoices +OtherBills=Other invoices +DraftBills=Draft invoices +CustomersDraftInvoices=Customer draft invoices +SuppliersDraftInvoices=Vendor draft invoices +Unpaid=Unpaid +ErrorNoPaymentDefined=Error No payment defined +ConfirmDeleteBill=Are you sure you want to delete this invoice? +ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s? +ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status? +ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid? +ConfirmCancelBill=Are you sure you want to cancel invoice %s? +ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned'? +ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid? +ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What is the reason for closing this invoice? +ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularize the VAT with a credit note. +ConfirmClassifyPaidPartiallyReasonDiscount=Remaining unpaid (%s %s) is a discount granted because payment was made before term. +ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. +ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. +ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer +ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned +ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice has been provided with suitable comments. (Example «Only the tax corresponding to the price that has been actually paid gives rights to deduction») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct notes. +ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuses to pay his debt. +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned +ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all others are not suitable, for example in following situation:
    - payment not complete because some products were shipped back
    - amount claimed too important because a discount was forgotten
    In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. +ConfirmClassifyAbandonReasonOther=Other +ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. +ConfirmCustomerPayment=Do you confirm this payment input for %s %s? +ConfirmSupplierPayment=Do you confirm this payment input for %s %s? +ConfirmValidatePayment=Are you sure you want to validate this payment? No change can be made once payment is validated. +ValidateBill=Validate invoice +UnvalidateBill=Unvalidate invoice +NumberOfBills=No. of invoices +NumberOfBillsByMonth=No. of invoices per month +AmountOfBills=Amount of invoices +AmountOfBillsHT=Amount of invoices (net of tax) +AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) +UseSituationInvoices=Allow situation invoice +UseSituationInvoicesCreditNote=Allow situation invoice credit note +Retainedwarranty=Retained warranty +AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices +RetainedwarrantyDefaultPercent=Retained warranty default percent +RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices +RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation +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 +AlreadyPaid=Already paid +AlreadyPaidBack=Already paid back +AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) +Abandoned=Abandoned +RemainderToPay=Remaining unpaid +RemainderToTake=Remaining amount to take +RemainderToPayBack=Remaining amount to refund +Rest=Pending +AmountExpected=Amount claimed +ExcessReceived=Excess received +ExcessPaid=Excess paid +EscompteOffered=Discount offered (payment before term) +EscompteOfferedShort=Discount +SendBillRef=Submission of invoice %s +SendReminderBillRef=Submission of invoice %s (reminder) +NoDraftBills=No draft invoices +NoOtherDraftBills=No other draft invoices +NoDraftInvoices=No draft invoices +RefBill=Invoice ref +ToBill=To bill +RemainderToBill=Remainder to bill +SendBillByMail=Send invoice by email +SendReminderBillByMail=Send reminder by email +RelatedCommercialProposals=Related commercial proposals +RelatedRecurringCustomerInvoices=Related recurring customer invoices +MenuToValid=To valid +DateMaxPayment=Payment due on +DateInvoice=Invoice date +DatePointOfTax=Point of tax +NoInvoice=No invoice +NoOpenInvoice=No open invoice +ClassifyBill=Classify invoice +SupplierBillsToPay=Unpaid vendor invoices +CustomerBillsUnpaid=Unpaid customer invoices +NonPercuRecuperable=Non-recoverable +SetConditions=Set Payment Terms +SetMode=Set Payment Type +SetRevenuStamp=Set revenue stamp +Billed=Billed +RecurringInvoices=Recurring invoices +RepeatableInvoice=Template invoice +RepeatableInvoices=Template invoices +Repeatable=Template +Repeatables=Templates +ChangeIntoRepeatableInvoice=Convert into template invoice +CreateRepeatableInvoice=Create template invoice +CreateFromRepeatableInvoice=Create from template invoice +CustomersInvoicesAndInvoiceLines=Customer invoices and invoice details +CustomersInvoicesAndPayments=Customer invoices and payments +ExportDataset_invoice_1=Customer invoices and invoice details +ExportDataset_invoice_2=Customer invoices and payments +ProformaBill=Proforma Bill: +Reduction=Reduction +ReductionShort=Disc. +Reductions=Reductions +ReductionsShort=Disc. +Discounts=Discounts +AddDiscount=Create discount +AddRelativeDiscount=Create relative discount +EditRelativeDiscount=Edit relative discount +AddGlobalDiscount=Create absolute discount +EditGlobalDiscounts=Edit absolute discounts +AddCreditNote=Create credit note +ShowDiscount=Show discount +ShowReduc=Show the discount +ShowSourceInvoice=Show the source invoice +RelativeDiscount=Relative discount +GlobalDiscount=Global discount +CreditNote=Credit note +CreditNotes=Credit notes +CreditNotesOrExcessReceived=Credit notes or excess received +Deposit=Down payment +Deposits=Down payments +DiscountFromCreditNote=Discount from credit note %s +DiscountFromDeposit=Down payments from invoice %s +DiscountFromExcessReceived=Payments in excess of invoice %s +DiscountFromExcessPaid=Payments in excess of invoice %s +AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation +CreditNoteDepositUse=Invoice must be validated to use this kind of credits +NewGlobalDiscount=New absolute discount +NewRelativeDiscount=New relative discount +DiscountType=Discount type +NoteReason=Note/Reason +ReasonDiscount=Reason +DiscountOfferedBy=Granted by +DiscountStillRemaining=Discounts or credits available +DiscountAlreadyCounted=Discounts or credits already consumed +CustomerDiscounts=Customer discounts +SupplierDiscounts=Vendors discounts +BillAddress=Bill address +HelpEscompte=This discount is a discount granted to customer because payment was made before term. +HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loss. +HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by another for example) +IdSocialContribution=Social/fiscal tax payment id +PaymentId=Payment id +PaymentRef=Payment ref. +InvoiceId=Invoice id +InvoiceRef=Invoice ref. +InvoiceDateCreation=Invoice creation date +InvoiceStatus=Invoice status +InvoiceNote=Invoice note +InvoicePaid=Invoice paid +InvoicePaidCompletely=Paid completely +InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. +OrderBilled=Order billed +DonationPaid=Donation paid +PaymentNumber=Payment number +RemoveDiscount=Remove discount +WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) +InvoiceNotChecked=No invoice selected +ConfirmCloneInvoice=Are you sure you want to clone this invoice %s? +DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced +DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payments during the fixed year are included here. +NbOfPayments=No. of payments +SplitDiscount=Split discount in two +ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into two smaller discounts? +TypeAmountOfEachNewDiscount=Input amount for each of two parts: +TotalOfTwoDiscountMustEqualsOriginal=The total of the two new discounts must be equal to the original discount amount. +ConfirmRemoveDiscount=Are you sure you want to remove this discount? +RelatedBill=Related invoice +RelatedBills=Related invoices +RelatedCustomerInvoices=Related customer invoices +RelatedSupplierInvoices=Related vendor invoices +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoices already exist +MergingPDFTool=Merging PDF tool +AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different third parties bills but same parent company +PaymentNote=Payment note +ListOfPreviousSituationInvoices=List of previous situation invoices +ListOfNextSituationInvoices=List of next situation invoices +ListOfSituationInvoices=List of situation invoices +CurrentSituationTotal=Total current situation +DisabledBecauseNotEnouthCreditNote=To remove a situation invoice from cycle, this invoice's credit note total must cover this invoice total +RemoveSituationFromCycle=Remove this invoice from cycle +ConfirmRemoveSituationFromCycle=Remove this invoice %s from cycle ? +ConfirmOuting=Confirm outing +FrequencyPer_d=Every %s days +FrequencyPer_m=Every %s months +FrequencyPer_y=Every %s years +FrequencyUnit=Frequency unit +toolTipFrequency=Examples:
    Set 7, Day: give a new invoice every 7 days
    Set 3, Month: give a new invoice every 3 month +NextDateToExecution=Date for next invoice generation +NextDateToExecutionShort=Date next gen. +DateLastGeneration=Date of latest generation +DateLastGenerationShort=Date latest gen. +MaxPeriodNumber=Max. number of invoice generation +NbOfGenerationDone=Number of invoice generation already done +NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationDoneShort=Number of generation done +MaxGenerationReached=Maximum number of generations reached +InvoiceAutoValidate=Validate invoices automatically +GeneratedFromRecurringInvoice=Generated from template recurring invoice %s +DateIsNotEnough=Date not reached yet +InvoiceGeneratedFromTemplate=Invoice %s generated from recurring template invoice %s +GeneratedFromTemplate=Generated from template invoice %s +WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date +WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date +ViewAvailableGlobalDiscounts=View available discounts +GroupPaymentsByModOnReports=Group payments by mode on reports +# PaymentConditions +Statut=Status +PaymentConditionShortRECEP=Due Upon Receipt +PaymentConditionRECEP=Due Upon Receipt +PaymentConditionShort30D=30 days +PaymentCondition30D=30 days +PaymentConditionShort30DENDMONTH=30 days of month-end +PaymentCondition30DENDMONTH=Within 30 days following the end of the month +PaymentConditionShort60D=60 days +PaymentCondition60D=60 days +PaymentConditionShort60DENDMONTH=60 days of month-end +PaymentCondition60DENDMONTH=Within 60 days following the end of the month +PaymentConditionShortPT_DELIVERY=Delivery +PaymentConditionPT_DELIVERY=On delivery +PaymentConditionShortPT_ORDER=Order +PaymentConditionPT_ORDER=On order +PaymentConditionShortPT_5050=50-50 +PaymentConditionPT_5050=50%% in advance, 50%% on delivery +PaymentConditionShort10D=10 days +PaymentCondition10D=10 days +PaymentConditionShort10DENDMONTH=10 days of month-end +PaymentCondition10DENDMONTH=Within 10 days following the end of the month +PaymentConditionShort14D=14 days +PaymentCondition14D=14 days +PaymentConditionShort14DENDMONTH=14 days of month-end +PaymentCondition14DENDMONTH=Within 14 days following the end of the month +FixAmount=Fixed amount - 1 line with label '%s' +VarAmount=Variable amount (%% tot.) +VarAmountOneLine=Variable amount (%% tot.) - 1 line with label '%s' +VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +# PaymentType +PaymentTypeVIR=Bank transfer +PaymentTypeShortVIR=Bank transfer +PaymentTypePRE=Direct debit payment order +PaymentTypeShortPRE=Debit payment order +PaymentTypeLIQ=Cash +PaymentTypeShortLIQ=Cash +PaymentTypeCB=Credit card +PaymentTypeShortCB=Credit card +PaymentTypeCHQ=Check +PaymentTypeShortCHQ=Check +PaymentTypeTIP=TIP (Documents against Payment) +PaymentTypeShortTIP=TIP Payment +PaymentTypeVAD=Online payment +PaymentTypeShortVAD=Online payment +PaymentTypeTRA=Bank draft +PaymentTypeShortTRA=Draft +PaymentTypeFAC=Factor +PaymentTypeShortFAC=Factor +BankDetails=Bank details +BankCode=Bank code +DeskCode=Branch code +BankAccountNumber=Account number +BankAccountNumberKey=Checksum +Residence=Address +IBANNumber=IBAN account number +IBAN=IBAN +CustomerIBAN=IBAN of customer +SupplierIBAN=IBAN of vendor +BIC=BIC/SWIFT +BICNumber=BIC/SWIFT code +ExtraInfos=Extra infos +RegulatedOn=Regulated on +ChequeNumber=Check N° +ChequeOrTransferNumber=Check/Transfer N° +ChequeBordereau=Check schedule +ChequeMaker=Check/Transfer sender +ChequeBank=Bank of Check +CheckBank=Check +NetToBePaid=Net to be paid +PhoneNumber=Tel +FullPhoneNumber=Telephone +TeleFax=Fax +PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. +IntracommunityVATNumber=Intra-Community VAT ID +PaymentByChequeOrderedTo=Check payments (including tax) are payable to %s, send to +PaymentByChequeOrderedToShort=Check payments (incl. tax) are payable to +SendTo=sent to +PaymentByTransferOnThisBankAccount=Payment by transfer to the following bank account +VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI +LawApplicationPart1=By application of the law 80.335 of 12/05/80 +LawApplicationPart2=the goods remain the property of +LawApplicationPart3=the seller until full payment of +LawApplicationPart4=their price. +LimitedLiabilityCompanyCapital=SARL with Capital of +UseLine=Apply +UseDiscount=Use discount +UseCredit=Use credit +UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit +MenuChequeDeposits=Check Deposits +MenuCheques=Checks +MenuChequesReceipts=Check receipts +NewChequeDeposit=New deposit +ChequesReceipts=Check receipts +ChequesArea=Check deposits area +ChequeDeposits=Check deposits +Cheques=Checks +DepositId=Id deposit +NbCheque=Number of checks +CreditNoteConvertedIntoDiscount=This %s has been converted into %s +UsBillingContactAsIncoiveRecipientIfExist=Use contact/address with type 'billing contact' instead of third-party address as recipient for invoices +ShowUnpaidAll=Show all unpaid invoices +ShowUnpaidLateOnly=Show late unpaid invoices only +PaymentInvoiceRef=Payment invoice %s +ValidateInvoice=Validate invoice +ValidateInvoices=Validate invoices +Cash=Cash +Reported=Delayed +DisabledBecausePayments=Not possible since there are some payments +CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid +CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid +CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +ExpectedToPay=Expected payment +CantRemoveConciliatedPayment=Can't remove reconciled payment +PayedByThisPayment=Paid by this payment +ClosePaidInvoicesAutomatically=Classify automatically all standard, down payment or replacement invoices as "Paid" when payment is done entirely. +ClosePaidCreditNotesAutomatically=Classify automatically all credit notes as "Paid" when refund is done entirely. +ClosePaidContributionsAutomatically=Classify automatically all social or fiscal contributions as "Paid" when payment is done entirely. +ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. +ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +AllCompletelyPayedInvoiceWillBeClosed=All invoices with no remainder to pay will be automatically closed with status "Paid". +ToMakePayment=Pay +ToMakePaymentBack=Pay back +ListOfYourUnpaidInvoices=List of unpaid invoices +NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. +RevenueStamp=Tax stamp +YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party +YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party +YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) +PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template +PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices +TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. +CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +EarlyClosingReason=Early closing reason +EarlyClosingComment=Early closing note +##### Types de contacts ##### +TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice +TypeContact_facture_external_BILLING=Customer invoice contact +TypeContact_facture_external_SHIPPING=Customer shipping contact +TypeContact_facture_external_SERVICE=Customer service contact +TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice +TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact +TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact +TypeContact_invoice_supplier_external_SERVICE=Vendor service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +PDFInvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +ErrorFindNextSituationInvoice=Error unable to find next situation cycle ref +ErrorOutingSituationInvoiceOnUpdate=Unable to outing this situation invoice. +ErrorOutingSituationInvoiceCreditNote=Unable to outing linked credit note. +NotLastInCycle=This invoice is not the latest in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +situationInvoiceShortcode_AS=AS +situationInvoiceShortcode_S=S +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No open situations +InvoiceSituationLast=Final and general invoice +PDFCrevetteSituationNumber=Situation N°%s +PDFCrevetteSituationInvoiceLineDecompte=Situation invoice - COUNT +PDFCrevetteSituationInvoiceTitle=Situation invoice +PDFCrevetteSituationInvoiceLine=Situation N°%s: Inv. N°%s on %s +TotalSituationInvoice=Total situation +invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line +updatePriceNextInvoiceErrorUpdateline=Error: update price on invoice line: %s +ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices. +ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu %s - %s - %s. +ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask your administrator to enable and setup module %s. Note that both methods (manual and automatic) can be used together with no risk of duplication. +DeleteRepeatableInvoice=Delete template invoice +ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice? +CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order) +BillCreated=%s invoice(s) generated +BillXCreated=Invoice %s generated +StatusOfGeneratedDocuments=Status of document generation +DoNotGenerateDoc=Do not generate document file +AutogenerateDoc=Auto generate document file +AutoFillDateFrom=Set start date for service line with invoice date +AutoFillDateFromShort=Set start date +AutoFillDateTo=Set end date for service line with next invoice date +AutoFillDateToShort=Set end date +MaxNumberOfGenerationReached=Max number of gen. reached +BILL_DELETEInDolibarr=Invoice deleted +BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted +UnitPriceXQtyLessDiscount=Unit price x Qty - Discount +CustomersInvoicesArea=Customer billing area +SupplierInvoicesArea=Supplier billing area +FacParentLine=Invoice Line Parent +SituationTotalRayToRest=Remainder to pay without taxe +PDFSituationTitle=Situation n° %d +SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/tg_TJ/blockedlog.lang b/htdocs/langs/tg_TJ/blockedlog.lang new file mode 100644 index 00000000000..44cb183050a --- /dev/null +++ b/htdocs/langs/tg_TJ/blockedlog.lang @@ -0,0 +1,54 @@ +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). +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). +CompanyInitialKey=Company initial key (hash of genesis block) +BrowseBlockedLog=Unalterable logs +ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) +ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) +DownloadBlockChain=Download fingerprints +KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists) or has modified checksum of the previous record. +OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. +OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. +AddedByAuthority=Stored into remote authority +NotAddedByAuthorityYet=Not yet stored into remote authority +ShowDetails=Show stored details +logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created +logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified +logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion +logPAYMENT_ADD_TO_BANK=Payment added to bank +logPAYMENT_CUSTOMER_CREATE=Customer payment created +logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion +logDONATION_PAYMENT_CREATE=Donation payment created +logDONATION_PAYMENT_DELETE=Donation payment logical deletion +logBILL_PAYED=Customer invoice paid +logBILL_UNPAYED=Customer invoice set unpaid +logBILL_VALIDATE=Customer invoice validated +logBILL_SENTBYMAIL=Customer invoice send by mail +logBILL_DELETE=Customer invoice logically deleted +logMODULE_RESET=Module BlockedLog was disabled +logMODULE_SET=Module BlockedLog was enabled +logDON_VALIDATE=Donation validated +logDON_MODIFY=Donation modified +logDON_DELETE=Donation logical deletion +logMEMBER_SUBSCRIPTION_CREATE=Member subscription created +logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified +logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion +logCASHCONTROL_VALIDATE=Cash desk closing recording +BlockedLogBillDownload=Customer invoice download +BlockedLogBillPreview=Customer invoice preview +BlockedlogInfoDialog=Log Details +ListOfTrackedEvents=List of tracked events +Fingerprint=Fingerprint +DownloadLogCSV=Export archived logs (CSV) +logDOC_PREVIEW=Preview of a validated document in order to print or download +logDOC_DOWNLOAD=Download of a validated document in order to print or send +DataOfArchivedEvent=Full datas of archived event +ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data) +BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit. +BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit. +BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log). +OnlyNonValid=Non-valid +TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters. +RestrictYearToExport=Restrict month / year to export diff --git a/htdocs/langs/tg_TJ/bookmarks.lang b/htdocs/langs/tg_TJ/bookmarks.lang new file mode 100644 index 00000000000..87466cadcfa --- /dev/null +++ b/htdocs/langs/tg_TJ/bookmarks.lang @@ -0,0 +1,21 @@ +# Dolibarr language file - Source file is en_US - marque pages +AddThisPageToBookmarks=Add current page to bookmarks +Bookmark=Bookmark +Bookmarks=Bookmarks +ListOfBookmarks=List of bookmarks +EditBookmarks=List/edit bookmarks +NewBookmark=New bookmark +ShowBookmark=Show bookmark +OpenANewWindow=Open a new tab +ReplaceWindow=Replace current tab +BookmarkTargetNewWindowShort=New tab +BookmarkTargetReplaceWindowShort=Current tab +BookmarkTitle=Bookmark name +UrlOrLink=URL +BehaviourOnClick=Behaviour when a bookmark URL is selected +CreateBookmark=Create bookmark +SetHereATitleForLink=Set a name for the bookmark +UseAnExternalHttpLinkOrRelativeDolibarrLink=Use an external/absolute link (https://URL) or an internal/relative link (/DOLIBARR_ROOT/htdocs/...) +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if the linked page should open in the current tab or a new tab +BookmarksManagement=Bookmarks management +BookmarksMenuShortCut=Ctrl + shift + m diff --git a/htdocs/langs/tg_TJ/boxes.lang b/htdocs/langs/tg_TJ/boxes.lang new file mode 100644 index 00000000000..710d49bfab6 --- /dev/null +++ b/htdocs/langs/tg_TJ/boxes.lang @@ -0,0 +1,120 @@ +# Dolibarr language file - Source file is en_US - boxes +BoxDolibarrStateBoard=Statistics on main business objects in database +BoxLoginInformation=Login Information +BoxLastRssInfos=RSS Information +BoxLastProducts=Latest %s Products/Services +BoxProductsAlertStock=Stock alerts for products +BoxLastProductsInContract=Latest %s contracted products/services +BoxLastSupplierBills=Latest Vendor invoices +BoxLastCustomerBills=Latest Customer invoices +BoxOldestUnpaidCustomerBills=Oldest unpaid customer invoices +BoxOldestUnpaidSupplierBills=Oldest unpaid vendor invoices +BoxLastProposals=Latest commercial proposals +BoxLastProspects=Latest modified prospects +BoxLastCustomers=Latest modified customers +BoxLastSuppliers=Latest modified suppliers +BoxLastCustomerOrders=Latest sales orders +BoxLastActions=Latest actions +BoxLastContracts=Latest contracts +BoxLastContacts=Latest contacts/addresses +BoxLastMembers=Latest members +BoxLastModifiedMembers=Latest modified members +BoxLastMembersSubscriptions=Latest member subscriptions +BoxFicheInter=Latest interventions +BoxCurrentAccounts=Open accounts balance +BoxTitleMemberNextBirthdays=Birthdays of this month (members) +BoxTitleMembersByType=Members by type +BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleLastRssInfos=Latest %s news from %s +BoxTitleLastProducts=Products/Services: last %s modified +BoxTitleProductsAlertStock=Products: stock alert +BoxTitleLastSuppliers=Latest %s recorded suppliers +BoxTitleLastModifiedSuppliers=Vendors: last %s modified +BoxTitleLastModifiedCustomers=Customers: last %s modified +BoxTitleLastCustomersOrProspects=Latest %s customers or prospects +BoxTitleLastCustomerBills=Latest %s modified Customer invoices +BoxTitleLastSupplierBills=Latest %s modified Vendor invoices +BoxTitleLastModifiedProspects=Prospects: last %s modified +BoxTitleLastModifiedMembers=Latest %s members +BoxTitleLastFicheInter=Latest %s modified interventions +BoxTitleOldestUnpaidCustomerBills=Customer Invoices: oldest %s unpaid +BoxTitleOldestUnpaidSupplierBills=Vendor Invoices: oldest %s unpaid +BoxTitleCurrentAccounts=Open Accounts: balances +BoxTitleSupplierOrdersAwaitingReception=Supplier orders awaiting reception +BoxTitleLastModifiedContacts=Contacts/Addresses: last %s modified +BoxMyLastBookmarks=Bookmarks: latest %s +BoxOldestExpiredServices=Oldest active expired services +BoxLastExpiredServices=Latest %s oldest contacts with active expired services +BoxTitleLastActionsToDo=Latest %s actions to do +BoxTitleLastContracts=Latest %s contracts which were modified +BoxTitleLastModifiedDonations=Latest %s donations which were modified +BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified +BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified +BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded +BoxGlobalActivity=Global activity (invoices, proposals, orders) +BoxGoodCustomers=Good customers +BoxTitleGoodCustomers=%s Good customers +BoxScheduledJobs=Scheduled jobs +BoxTitleFunnelOfProspection=Lead funnel +FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s +LastRefreshDate=Latest refresh date +NoRecordedBookmarks=No bookmarks defined. +ClickToAdd=Click here to add. +NoRecordedCustomers=No recorded customers +NoRecordedContacts=No recorded contacts +NoActionsToDo=No actions to do +NoRecordedOrders=No recorded sales orders +NoRecordedProposals=No recorded proposals +NoRecordedInvoices=No recorded customer invoices +NoUnpaidCustomerBills=No unpaid customer invoices +NoUnpaidSupplierBills=No unpaid vendor invoices +NoModifiedSupplierBills=No recorded vendor invoices +NoRecordedProducts=No recorded products/services +NoRecordedProspects=No recorded prospects +NoContractedProducts=No products/services contracted +NoRecordedContracts=No recorded contracts +NoRecordedInterventions=No recorded interventions +BoxLatestSupplierOrders=Latest purchase orders +BoxLatestSupplierOrdersAwaitingReception=Latest Purchase Orders (with a pending reception) +NoSupplierOrder=No recorded purchase order +BoxCustomersInvoicesPerMonth=Customer Invoices per month +BoxSuppliersInvoicesPerMonth=Vendor Invoices per month +BoxCustomersOrdersPerMonth=Sales Orders per month +BoxSuppliersOrdersPerMonth=Vendor Orders per month +BoxProposalsPerMonth=Proposals per month +NoTooLowStockProducts=No products are under the low stock limit +BoxProductDistribution=Products/Services Distribution +ForObject=On %s +BoxTitleLastModifiedSupplierBills=Vendor Invoices: last %s modified +BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified +BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified +BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified +BoxTitleLastModifiedPropals=Latest %s modified proposals +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications +ForCustomersInvoices=Customers invoices +ForCustomersOrders=Customers orders +ForProposals=Proposals +LastXMonthRolling=The latest %s month rolling +ChooseBoxToAdd=Add widget to your dashboard +BoxAdded=Widget was added in your dashboard +BoxTitleUserBirthdaysOfMonth=Birthdays of this month (users) +BoxLastManualEntries=Latest record in accountancy entered manually or without source document +BoxTitleLastManualEntries=%s latest record entered manually or without source document +NoRecordedManualEntries=No manual entries record in accountancy +BoxSuspenseAccount=Count accountancy operation with suspense account +BoxTitleSuspenseAccount=Number of unallocated lines +NumberOfLinesInSuspenseAccount=Number of line in suspense account +SuspenseAccountNotDefined=Suspense account isn't defined +BoxLastCustomerShipments=Last customer shipments +BoxTitleLastCustomerShipments=Latest %s customer shipments +NoRecordedShipments=No recorded customer shipment +BoxCustomersOutstandingBillReached=Customers with oustanding limit reached +# Pages +UsersHome=Home users and groups +MembersHome=Home Membership +ThirdpartiesHome=Home Thirdparties +TicketsHome=Home Tickets +AccountancyHome=Home Accountancy +ValidatedProjects=Validated projects diff --git a/htdocs/langs/tg_TJ/cashdesk.lang b/htdocs/langs/tg_TJ/cashdesk.lang new file mode 100644 index 00000000000..3bc383ed2a1 --- /dev/null +++ b/htdocs/langs/tg_TJ/cashdesk.lang @@ -0,0 +1,131 @@ +# Language file - Source file is en_US - cashdesk +CashDeskMenu=Point of sale +CashDesk=Point of sale +CashDeskBankCash=Bank account (cash) +CashDeskBankCB=Bank account (card) +CashDeskBankCheque=Bank account (cheque) +CashDeskWarehouse=Warehouse +CashdeskShowServices=Selling services +CashDeskProducts=Products +CashDeskStock=Stock +CashDeskOn=on +CashDeskThirdParty=Third party +ShoppingCart=Shopping cart +NewSell=New sell +AddThisArticle=Add this article +RestartSelling=Go back on sell +SellFinished=Sale complete +PrintTicket=Print ticket +SendTicket=Send ticket +NoProductFound=No article found +ProductFound=product found +NoArticle=No article +Identification=Identification +Article=Article +Difference=Difference +TotalTicket=Total ticket +NoVAT=No VAT for this sale +Change=Excess received +BankToPay=Account for payment +ShowCompany=Show company +ShowStock=Show warehouse +DeleteArticle=Click to remove this article +FilterRefOrLabelOrBC=Search (Ref/Label) +UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock. +DolibarrReceiptPrinter=Dolibarr Receipt Printer +PointOfSale=Point of Sale +PointOfSaleShort=POS +CloseBill=Close Bill +Floors=Floors +Floor=Floor +AddTable=Add table +Place=Place +TakeposConnectorNecesary='TakePOS Connector' required +OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +SearchProduct=Search product +Receipt=Receipt +Header=Header +Footer=Footer +AmountAtEndOfPeriod=Amount at end of period (day, month or year) +TheoricalAmount=Theorical amount +RealAmount=Real amount +CashFence=Cash desk closing +CashFenceDone=Cash desk closing done for the period +NbOfInvoices=Nb of invoices +Paymentnumpad=Type of Pad to enter payment +Numberspad=Numbers Pad +BillsCoinsPad=Coins and banknotes Pad +DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr +TakeposNeedsCategories=TakePOS needs at least one product categorie to work +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work +OrderNotes=Can add some notes to each ordered items +CashDeskBankAccountFor=Default account to use for payments in +NoPaimementModesDefined=No paiment mode defined in TakePOS configuration +TicketVatGrouped=Group VAT by rate in tickets|receipts +AutoPrintTickets=Automatically print tickets|receipts +PrintCustomerOnReceipts=Print customer on tickets|receipts +EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant +ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? +ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? +History=History +ValidateAndClose=Validate and close +Terminal=Terminal +NumberOfTerminals=Number of Terminals +TerminalSelect=Select terminal you want to use: +POSTicket=POS Ticket +POSTerminal=POS Terminal +POSModule=POS Module +BasicPhoneLayout=Use basic layout for phones +SetupOfTerminalNotComplete=Setup of terminal %s is not complete +DirectPayment=Direct payment +DirectPaymentButton=Add a "Direct cash payment" button +InvoiceIsAlreadyValidated=Invoice is already validated +NoLinesToBill=No lines to bill +CustomReceipt=Custom Receipt +ReceiptName=Receipt Name +ProductSupplements=Manage supplements of products +SupplementCategory=Supplement category +ColorTheme=Color theme +Colorful=Colorful +HeadBar=Head Bar +SortProductField=Field for sorting products +Browser=Browser +BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. +TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. +PrintMethod=Print method +ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ByTerminal=By terminal +TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad +CashDeskRefNumberingModules=Numbering module for POS sales +CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number +TakeposGroupSameProduct=Group same products lines +StartAParallelSale=Start a new parallel sale +SaleStartedAt=Sale started at %s +ControlCashOpening=Open the "Control cash" popup when opening the POS +CloseCashFence=Close cash desk control +CashReport=Cash report +MainPrinterToUse=Main printer to use +OrderPrinterToUse=Order printer to use +MainTemplateToUse=Main template to use +OrderTemplateToUse=Order template to use +BarRestaurant=Bar Restaurant +AutoOrder=Order by the customer himself +RestaurantMenu=Menu +CustomerMenu=Customer menu +ScanToMenu=Scan QR code to see the menu +ScanToOrder=Scan QR code to order +Appearance=Appearance +HideCategoryImages=Hide Category Images +HideProductImages=Hide Product Images +NumberOfLinesToShow=Number of lines of images to show +DefineTablePlan=Define tables plan +GiftReceiptButton=Add a "Gift receipt" button +GiftReceipt=Gift receipt +ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first +AllowDelayedPayment=Allow delayed payment +PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts +WeighingScale=Weighing scale +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/tg_TJ/categories.lang b/htdocs/langs/tg_TJ/categories.lang new file mode 100644 index 00000000000..29e08f66541 --- /dev/null +++ b/htdocs/langs/tg_TJ/categories.lang @@ -0,0 +1,99 @@ +# Dolibarr language file - Source file is en_US - categories +Rubrique=Tag/Category +Rubriques=Tags/Categories +RubriquesTransactions=Tags/Categories of transactions +categories=tags/categories +NoCategoryYet=No tag/category of this type has been created +In=In +AddIn=Add in +modify=modify +Classify=Classify +CategoriesArea=Tags/Categories area +ProductsCategoriesArea=Product/Service tags/categories area +SuppliersCategoriesArea=Vendor tags/categories area +CustomersCategoriesArea=Customer tags/categories area +MembersCategoriesArea=Member tags/categories area +ContactsCategoriesArea=Contact tags/categories area +AccountsCategoriesArea=Bank account tags/categories area +ProjectsCategoriesArea=Project tags/categories area +UsersCategoriesArea=User tags/categories area +SubCats=Sub-categories +CatList=List of tags/categories +CatListAll=List of tags/categories (all types) +NewCategory=New tag/category +ModifCat=Modify tag/category +CatCreated=Tag/category created +CreateCat=Create tag/category +CreateThisCat=Create this tag/category +NoSubCat=No subcategory. +SubCatOf=Subcategory +FoundCats=Found tags/categories +ImpossibleAddCat=Impossible to add the tag/category %s +WasAddedSuccessfully=%s was added successfully. +ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. +ProductIsInCategories=Product/service is linked to following tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following vendors tags/categories +MemberIsInCategories=This member is linked to following members tags/categories +ContactIsInCategories=This contact is linked to following contacts tags/categories +ProductHasNoCategory=This product/service is not in any tags/categories +CompanyHasNoCategory=This third party is not in any tags/categories +MemberHasNoCategory=This member is not in any tags/categories +ContactHasNoCategory=This contact is not in any tags/categories +ProjectHasNoCategory=This project is not in any tags/categories +ClassifyInCategory=Add to tag/category +NotCategorized=Without tag/category +CategoryExistsAtSameLevel=This category already exists with this ref +ContentsVisibleByAllShort=Contents visible by all +ContentsNotVisibleByAllShort=Contents not visible by all +DeleteCategory=Delete tag/category +ConfirmDeleteCategory=Are you sure you want to delete this tag/category? +NoCategoriesDefined=No tag/category defined +SuppliersCategoryShort=Vendors tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category +SuppliersCategoriesShort=Vendors tags/categories +CustomersCategoriesShort=Customers tags/categories +ProspectsCategoriesShort=Prospects tags/categories +CustomersProspectsCategoriesShort=Cust./Prosp. tags/categories +ProductsCategoriesShort=Products tags/categories +MembersCategoriesShort=Members tags/categories +ContactCategoriesShort=Contacts tags/categories +AccountsCategoriesShort=Accounts tags/categories +ProjectsCategoriesShort=Projects tags/categories +UsersCategoriesShort=Users tags/categories +StockCategoriesShort=Warehouse tags/categories +ThisCategoryHasNoItems=This category does not contain any items. +CategId=Tag/category id +ParentCategory=Parent tag/category +ParentCategoryLabel=Label of parent tag/category +CatSupList=List of vendors tags/categories +CatCusList=List of customers/prospects tags/categories +CatProdList=List of products tags/categories +CatMemberList=List of members tags/categories +CatContactList=List of contacts tags/categories +CatProjectsList=List of projects tags/categories +CatUsersList=List of users tags/categories +CatSupLinks=Links between vendors and tags/categories +CatCusLinks=Links between customers/prospects and tags/categories +CatContactsLinks=Links between contacts/addresses and tags/categories +CatProdLinks=Links between products/services and tags/categories +CatMembersLinks=Links between members and tags/categories +CatProjectsLinks=Links between projects and tags/categories +CatUsersLinks=Links between users and tags/categories +DeleteFromCat=Remove from tags/category +ExtraFieldsCategories=Complementary attributes +CategoriesSetup=Tags/categories setup +CategorieRecursiv=Link with parent tag/category automatically +CategorieRecursivHelp=If option is on, when you add a product into a subcategory, product will also be added into the parent category. +AddProductServiceIntoCategory=Add the following product/service +AddCustomerIntoCategory=Assign category to customer +AddSupplierIntoCategory=Assign category to supplier +ShowCategory=Show tag/category +ByDefaultInList=By default in list +ChooseCategory=Choose category +StocksCategoriesArea=Warehouse Categories +ActionCommCategoriesArea=Event Categories +WebsitePagesCategoriesArea=Page-Container Categories +UseOrOperatorForCategories=Use 'OR' operator for categories diff --git a/htdocs/langs/tg_TJ/commercial.lang b/htdocs/langs/tg_TJ/commercial.lang new file mode 100644 index 00000000000..21d282cd794 --- /dev/null +++ b/htdocs/langs/tg_TJ/commercial.lang @@ -0,0 +1,81 @@ +# Dolibarr language file - Source file is en_US - commercial +Commercial=Commerce +CommercialArea=Commerce area +Customer=Customer +Customers=Customers +Prospect=Prospect +Prospects=Prospects +DeleteAction=Delete an event +NewAction=New event +AddAction=Create event +AddAnAction=Create an event +AddActionRendezVous=Create a Rendez-vous event +ConfirmDeleteAction=Are you sure you want to delete this event? +CardAction=Event card +ActionOnCompany=Related company +ActionOnContact=Related contact +TaskRDVWith=Meeting with %s +ShowTask=Show task +ShowAction=Show event +ActionsReport=Events report +ThirdPartiesOfSaleRepresentative=Third parties with sales representative +SaleRepresentativesOfThirdParty=Sales representatives of third party +SalesRepresentative=Sales representative +SalesRepresentatives=Sales representatives +SalesRepresentativeFollowUp=Sales representative (follow-up) +SalesRepresentativeSignature=Sales representative (signature) +NoSalesRepresentativeAffected=No particular sales representative assigned +ShowCustomer=Show customer +ShowProspect=Show prospect +ListOfProspects=List of prospects +ListOfCustomers=List of customers +LastDoneTasks=Latest %s completed actions +LastActionsToDo=Oldest %s not completed actions +DoneAndToDoActions=Completed and To do events +DoneActions=Completed events +ToDoActions=Incomplete events +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s +StatusNotApplicable=Not applicable +StatusActionToDo=To do +StatusActionDone=Complete +StatusActionInProcess=In process +TasksHistoryForThisContact=Events for this contact +LastProspectDoNotContact=Do not contact +LastProspectNeverContacted=Never contacted +LastProspectToContact=To contact +LastProspectContactInProcess=Contact in process +LastProspectContactDone=Contact done +ActionAffectedTo=Event assigned to +ActionDoneBy=Event done by +ActionAC_TEL=Phone call +ActionAC_FAX=Send fax +ActionAC_PROP=Send proposal by mail +ActionAC_EMAIL=Send Email +ActionAC_EMAIL_IN=Reception of Email +ActionAC_RDV=Meetings +ActionAC_INT=Intervention on site +ActionAC_FAC=Send customer invoice by mail +ActionAC_REL=Send customer invoice by mail (reminder) +ActionAC_CLO=Close +ActionAC_EMAILING=Send mass email +ActionAC_COM=Send sales order by mail +ActionAC_SHIP=Send shipping by mail +ActionAC_SUP_ORD=Send purchase order by mail +ActionAC_SUP_INV=Send vendor invoice by mail +ActionAC_OTH=Other +ActionAC_OTH_AUTO=Other auto +ActionAC_MANUAL=Manually inserted events +ActionAC_AUTO=Automatically inserted events +ActionAC_OTH_AUTOShort=Other +ActionAC_EVENTORGANIZATION=Event organization events +Stats=Sales statistics +StatusProsp=Prospect status +DraftPropals=Draft commercial proposals +NoLimit=No limit +ToOfferALinkForOnlineSignature=Link for online signature +WelcomeOnOnlineSignaturePage=Welcome to the page to accept commercial proposals from %s +ThisScreenAllowsYouToSignDocFrom=This screen allow you to accept and sign, or refuse, a quote/commercial proposal +ThisIsInformationOnDocumentToSign=This is information on document to accept or refuse +SignatureProposalRef=Signature of quote/commercial proposal %s +FeatureOnlineSignDisabled=Feature for online signing disabled or document generated before the feature was enabled diff --git a/htdocs/langs/tg_TJ/companies.lang b/htdocs/langs/tg_TJ/companies.lang new file mode 100644 index 00000000000..fbe75f09ab0 --- /dev/null +++ b/htdocs/langs/tg_TJ/companies.lang @@ -0,0 +1,477 @@ +# Dolibarr language file - Source file is en_US - companies +ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. +ErrorSetACountryFirst=Set the country first +SelectThirdParty=Select a third party +ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +DeleteContact=Delete a contact/address +ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +MenuNewThirdParty=New Third Party +MenuNewCustomer=New Customer +MenuNewProspect=New Prospect +MenuNewSupplier=New Vendor +MenuNewPrivateIndividual=New private individual +NewCompany=New company (prospect, customer, vendor) +NewThirdParty=New Third Party (prospect, customer, vendor) +CreateDolibarrThirdPartySupplier=Create a third party (vendor) +CreateThirdPartyOnly=Create third party +CreateThirdPartyAndContact=Create a third party + a child contact +ProspectionArea=Prospection area +IdThirdParty=Id third party +IdCompany=Company Id +IdContact=Contact Id +ThirdPartyContacts=Third-party contacts +ThirdPartyContact=Third-party contact/address +Company=Company +CompanyName=Company name +AliasNames=Alias name (commercial, trademark, ...) +AliasNameShort=Alias Name +Companies=Companies +CountryIsInEEC=Country is inside the European Economic Community +PriceFormatInCurrentLanguage=Price display format in the current language and currency +ThirdPartyName=Third-party name +ThirdPartyEmail=Third-party email +ThirdParty=Third-party +ThirdParties=Third-parties +ThirdPartyProspects=Prospects +ThirdPartyProspectsStats=Prospects +ThirdPartyCustomers=Customers +ThirdPartyCustomersStats=Customers +ThirdPartyCustomersWithIdProf12=Customers with %s or %s +ThirdPartySuppliers=Vendors +ThirdPartyType=Third-party type +Individual=Private individual +ToCreateContactWithSameName=Will automatically create a contact/address with same information as the third party under the third party. In most cases, even if your third party is a physical person, creating a third party alone is enough. +ParentCompany=Parent company +Subsidiaries=Subsidiaries +ReportByMonth=Report per month +ReportByCustomers=Report per customer +ReportByThirdparties=Report per thirdparty +ReportByQuarter=Report per rate +CivilityCode=Civility code +RegisteredOffice=Registered office +Lastname=Last name +Firstname=First name +PostOrFunction=Job position +UserTitle=Title +NatureOfThirdParty=Nature of Third party +NatureOfContact=Nature of Contact +Address=Address +State=State/Province +StateCode=State/Province code +StateShort=State +Region=Region +Region-State=Region - State +Country=Country +CountryCode=Country code +CountryId=Country id +Phone=Phone +PhoneShort=Phone +Skype=Skype +Call=Call +Chat=Chat +PhonePro=Bus. phone +PhonePerso=Pers. phone +PhoneMobile=Mobile +No_Email=Refuse bulk emailings +Fax=Fax +Zip=Zip Code +Town=City +Web=Web +Poste= Position +DefaultLang=Default language +VATIsUsed=Sales tax used +VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers +VATIsNotUsed=Sales tax is not used +CopyAddressFromSoc=Copy address from third-party details +ThirdpartyNotCustomerNotSupplierSoNoRef=Third party neither customer nor vendor, no available referring objects +ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Third party neither customer nor vendor, discounts are not available +PaymentBankAccount=Payment bank account +OverAllProposals=Proposals +OverAllOrders=Orders +OverAllInvoices=Invoices +OverAllSupplierProposals=Price requests +##### Local Taxes ##### +LocalTax1IsUsed=Use second tax +LocalTax1IsUsedES= RE is used +LocalTax1IsNotUsedES= RE is not used +LocalTax2IsUsed=Use third tax +LocalTax2IsUsedES= IRPF is used +LocalTax2IsNotUsedES= IRPF is not used +WrongCustomerCode=Customer code invalid +WrongSupplierCode=Vendor code invalid +CustomerCodeModel=Customer code model +SupplierCodeModel=Vendor code model +Gencod=Barcode +##### Professional ID ##### +ProfId1Short=Prof. id 1 +ProfId2Short=Prof. id 2 +ProfId3Short=Prof. id 3 +ProfId4Short=Prof. id 4 +ProfId5Short=Prof. id 5 +ProfId6Short=Prof. id 6 +ProfId1=Professional ID 1 +ProfId2=Professional ID 2 +ProfId3=Professional ID 3 +ProfId4=Professional ID 4 +ProfId5=Professional ID 5 +ProfId6=Professional ID 6 +ProfId1AR=Prof Id 1 (CUIT/CUIL) +ProfId2AR=Prof Id 2 (Revenu brutes) +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AT=Prof Id 1 (USt.-IdNr) +ProfId2AT=Prof Id 2 (USt.-Nr) +ProfId3AT=Prof Id 3 (Handelsregister-Nr.) +ProfId4AT=- +ProfId5AT=EORI number +ProfId6AT=- +ProfId1AU=Prof Id 1 (ABN) +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- +ProfId1BE=Prof Id 1 (Professional number) +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=EORI number +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF +#ProfId5BR=CNAE +#ProfId6BR=INSS +ProfId1CH=UID-Nummer +ProfId2CH=- +ProfId3CH=Prof Id 1 (Federal number) +ProfId4CH=Prof Id 2 (Commercial Record number) +ProfId5CH=EORI number +ProfId6CH=- +ProfId1CL=Prof Id 1 (R.U.T.) +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- +ProfId1CO=Prof Id 1 (R.U.T.) +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- +ProfId1DE=Prof Id 1 (USt.-IdNr) +ProfId2DE=Prof Id 2 (USt.-Nr) +ProfId3DE=Prof Id 3 (Handelsregister-Nr.) +ProfId4DE=- +ProfId5DE=EORI number +ProfId6DE=- +ProfId1ES=Prof Id 1 (CIF/NIF) +ProfId2ES=Prof Id 2 (Social security number) +ProfId3ES=Prof Id 3 (CNAE) +ProfId4ES=Prof Id 4 (Collegiate number) +ProfId5ES=Prof Id 5 (EORI number) +ProfId6ES=- +ProfId1FR=Prof Id 1 (SIREN) +ProfId2FR=Prof Id 2 (SIRET) +ProfId3FR=Prof Id 3 (NAF, old APE) +ProfId4FR=Prof Id 4 (RCS/RM) +ProfId5FR=Prof Id 5 (numéro EORI) +ProfId6FR=- +ProfId1ShortFR=SIREN +ProfId2ShortFR=SIRET +ProfId3ShortFR=NAF +ProfId4ShortFR=RCS +ProfId5ShortFR=EORI +ProfId6ShortFR=- +ProfId1GB=Registration Number +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- +ProfId1HN=Id prof. 1 (RTN) +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- +ProfId1IN=Prof Id 1 (TIN) +ProfId2IN=Prof Id 2 (PAN) +ProfId3IN=Prof Id 3 (SRVC TAX) +ProfId4IN=Prof Id 4 +ProfId5IN=Prof Id 5 +ProfId6IN=- +ProfId1IT=- +ProfId2IT=- +ProfId3IT=- +ProfId4IT=- +ProfId5IT=EORI number +ProfId6IT=- +ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg) +ProfId2LU=Id. prof. 2 (Business permit) +ProfId3LU=- +ProfId4LU=- +ProfId5LU=EORI number +ProfId6LU=- +ProfId1MA=Id prof. 1 (R.C.) +ProfId2MA=Id prof. 2 (Patente) +ProfId3MA=Id prof. 3 (I.F.) +ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId5MA=Id prof. 5 (I.C.E.) +ProfId6MA=- +ProfId1MX=Prof Id 1 (R.F.C). +ProfId2MX=Prof Id 2 (R..P. IMSS) +ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- +ProfId1NL=KVK nummer +ProfId2NL=- +ProfId3NL=- +ProfId4NL=Burgerservicenummer (BSN) +ProfId5NL=EORI number +ProfId6NL=- +ProfId1PT=Prof Id 1 (NIPC) +ProfId2PT=Prof Id 2 (Social security number) +ProfId3PT=Prof Id 3 (Commercial Record number) +ProfId4PT=Prof Id 4 (Conservatory) +ProfId5PT=Prof Id 5 (EORI number) +ProfId6PT=- +ProfId1SN=RC +ProfId2SN=NINEA +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- +ProfId1TN=Prof Id 1 (RC) +ProfId2TN=Prof Id 2 (Fiscal matricule) +ProfId3TN=Prof Id 3 (Douane code) +ProfId4TN=Prof Id 4 (BAN) +ProfId5TN=- +ProfId6TN=- +ProfId1US=Prof Id (FEIN) +ProfId2US=- +ProfId3US=- +ProfId4US=- +ProfId5US=- +ProfId6US=- +ProfId1RO=Prof Id 1 (CUI) +ProfId2RO=Prof Id 2 (Nr. Înmatriculare) +ProfId3RO=Prof Id 3 (CAEN) +ProfId4RO=Prof Id 5 (EUID) +ProfId5RO=Prof Id 5 (EORI number) +ProfId6RO=- +ProfId1RU=Prof Id 1 (OGRN) +ProfId2RU=Prof Id 2 (INN) +ProfId3RU=Prof Id 3 (KPP) +ProfId4RU=Prof Id 4 (OKPO) +ProfId5RU=- +ProfId6RU=- +ProfId1DZ=RC +ProfId2DZ=Art. +ProfId3DZ=NIF +ProfId4DZ=NIS +VATIntra=VAT ID +VATIntraShort=VAT ID +VATIntraSyntaxIsValid=Syntax is valid +VATReturn=VAT return +ProspectCustomer=Prospect / Customer +Prospect=Prospect +CustomerCard=Customer Card +Customer=Customer +CustomerRelativeDiscount=Relative customer discount +SupplierRelativeDiscount=Relative vendor discount +CustomerRelativeDiscountShort=Relative discount +CustomerAbsoluteDiscountShort=Absolute discount +CompanyHasRelativeDiscount=This customer has a default discount of %s%% +CompanyHasNoRelativeDiscount=This customer has no relative discount by default +HasRelativeDiscountFromSupplier=You have a default discount of %s%% from this vendor +HasNoRelativeDiscountFromSupplier=You have no default relative discount from this vendor +CompanyHasAbsoluteDiscount=This customer has discounts available (credits notes or down payments) for %s %s +CompanyHasDownPaymentOrCommercialDiscount=This customer has discounts available (commercial, down payments) for %s %s +CompanyHasCreditNote=This customer still has credit notes for %s %s +HasNoAbsoluteDiscountFromSupplier=You have no discount credit available from this vendor +HasAbsoluteDiscountFromSupplier=You have discounts available (credits notes or down payments) for %s %s from this vendor +HasDownPaymentOrCommercialDiscountFromSupplier=You have discounts available (commercial, down payments) for %s %s from this vendor +HasCreditNoteFromSupplier=You have credit notes for %s %s from this vendor +CompanyHasNoAbsoluteDiscount=This customer has no discount credit available +CustomerAbsoluteDiscountAllUsers=Absolute customer discounts (granted by all users) +CustomerAbsoluteDiscountMy=Absolute customer discounts (granted by yourself) +SupplierAbsoluteDiscountAllUsers=Absolute vendor discounts (entered by all users) +SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) +DiscountNone=None +Vendor=Vendor +Supplier=Vendor +AddContact=Create contact +AddContactAddress=Create contact/address +EditContact=Edit contact +EditContactAddress=Edit contact/address +Contact=Contact/Address +Contacts=Contacts/Addresses +ContactId=Contact id +ContactsAddresses=Contacts/Addresses +FromContactName=Name: +NoContactDefinedForThirdParty=No contact defined for this third party +NoContactDefined=No contact defined +DefaultContact=Default contact/address +ContactByDefaultFor=Default contact/address for +AddThirdParty=Create third party +DeleteACompany=Delete a company +PersonalInformations=Personal data +AccountancyCode=Accounting account +CustomerCode=Customer Code +SupplierCode=Vendor Code +CustomerCodeShort=Customer Code +SupplierCodeShort=Vendor Code +CustomerCodeDesc=Customer Code, unique for all customers +SupplierCodeDesc=Vendor Code, unique for all vendors +RequiredIfCustomer=Required if third party is a customer or prospect +RequiredIfSupplier=Required if third party is a vendor +ValidityControledByModule=Validity controlled by the module +ThisIsModuleRules=Rules for this module +ProspectToContact=Prospect to contact +CompanyDeleted=Company "%s" deleted from database. +ListOfContacts=List of contacts/addresses +ListOfContactsAddresses=List of contacts/addresses +ListOfThirdParties=List of Third Parties +ShowCompany=Third Party +ShowContact=Contact-Address +ContactsAllShort=All (No filter) +ContactType=Contact type +ContactForOrders=Order's contact +ContactForOrdersOrShipments=Order's or shipment's contact +ContactForProposals=Proposal's contact +ContactForContracts=Contract's contact +ContactForInvoices=Invoice's contact +NoContactForAnyOrder=This contact is not a contact for any order +NoContactForAnyOrderOrShipments=This contact is not a contact for any order or shipment +NoContactForAnyProposal=This contact is not a contact for any commercial proposal +NoContactForAnyContract=This contact is not a contact for any contract +NoContactForAnyInvoice=This contact is not a contact for any invoice +NewContact=New contact +NewContactAddress=New Contact/Address +MyContacts=My contacts +Capital=Capital +CapitalOf=Capital of %s +EditCompany=Edit company +ThisUserIsNot=This user is not a prospect, customer or vendor +VATIntraCheck=Check +VATIntraCheckDesc=The VAT ID must include the country prefix. The link %s uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server. +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do +VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commission website +VATIntraManualCheck=You can also check manually on the European Commission website %s +ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). +NorProspectNorCustomer=Not prospect, nor customer +JuridicalStatus=Business entity type +Workforce=Workforce +Staff=Employees +ProspectLevelShort=Potential +ProspectLevel=Prospect potential +ContactPrivate=Private +ContactPublic=Shared +ContactVisibility=Visibility +ContactOthers=Other +OthersNotLinkedToThirdParty=Others, not linked to a third party +ProspectStatus=Prospect status +PL_NONE=None +PL_UNKNOWN=Unknown +PL_LOW=Low +PL_MEDIUM=Medium +PL_HIGH=High +TE_UNKNOWN=- +TE_STARTUP=Startup +TE_GROUP=Large company +TE_MEDIUM=Medium company +TE_ADMIN=Governmental +TE_SMALL=Small company +TE_RETAIL=Retailer +TE_WHOLE=Wholesaler +TE_PRIVATE=Private individual +TE_OTHER=Other +StatusProspect-1=Do not contact +StatusProspect0=Never contacted +StatusProspect1=To be contacted +StatusProspect2=Contact in process +StatusProspect3=Contact done +ChangeDoNotContact=Change status to 'Do not contact' +ChangeNeverContacted=Change status to 'Never contacted' +ChangeToContact=Change status to 'To be contacted' +ChangeContactInProcess=Change status to 'Contact in process' +ChangeContactDone=Change status to 'Contact done' +ProspectsByStatus=Prospects by status +NoParentCompany=None +ExportCardToFormat=Export card to format +ContactNotLinkedToCompany=Contact not linked to any third party +DolibarrLogin=Dolibarr login +NoDolibarrAccess=No Dolibarr access +ExportDataset_company_1=Third-parties (companies/foundations/physical people) and their properties +ExportDataset_company_2=Contacts and their properties +ImportDataset_company_1=Third-parties and their properties +ImportDataset_company_2=Third-parties additional contacts/addresses and attributes +ImportDataset_company_3=Third-parties Bank accounts +ImportDataset_company_4=Third-parties Sales representatives (assign sales representatives/users to companies) +PriceLevel=Price Level +PriceLevelLabels=Price Level Labels +DeliveryAddress=Delivery address +AddAddress=Add address +SupplierCategory=Vendor category +JuridicalStatus200=Independent +DeleteFile=Delete file +ConfirmDeleteFile=Are you sure you want to delete this file? +AllocateCommercial=Assigned to sales representative +Organization=Organization +FiscalYearInformation=Fiscal Year +FiscalMonthStart=Starting month of the fiscal year +SocialNetworksInformation=Social networks +SocialNetworksFacebookURL=Facebook URL +SocialNetworksTwitterURL=Twitter URL +SocialNetworksLinkedinURL=Linkedin URL +SocialNetworksInstagramURL=Instagram URL +SocialNetworksYoutubeURL=Youtube URL +SocialNetworksGithubURL=Github URL +YouMustAssignUserMailFirst=You must create an email for this user prior to being able to add an email notification. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party +ListSuppliersShort=List of Vendors +ListProspectsShort=List of Prospects +ListCustomersShort=List of Customers +ThirdPartiesArea=Third Parties/Contacts +LastModifiedThirdParties=Latest %s Third Parties which were modified +UniqueThirdParties=Total number of Third Parties +InActivity=Open +ActivityCeased=Closed +ThirdPartyIsClosed=Third party is closed +ProductsIntoElements=List of products/services mapped to %s +CurrentOutstandingBill=Current outstanding bill +OutstandingBill=Max. for outstanding bill +OutstandingBillReached=Max. for outstanding bill reached +OrderMinAmount=Minimum amount for order +MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +LeopardNumRefModelDesc=The code is free. This code can be modified at any time. +ManagingDirectors=Manager(s) name (CEO, director, president...) +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ThirdpartiesMergeSuccess=Third parties have been merged +SaleRepresentativeLogin=Login of sales representative +SaleRepresentativeFirstname=First name of sales representative +SaleRepresentativeLastname=Last name of sales representative +ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. +NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested +KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address +#Imports +PaymentTypeCustomer=Payment Type - Customer +PaymentTermsCustomer=Payment Terms - Customer +PaymentTypeSupplier=Payment Type - Vendor +PaymentTermsSupplier=Payment Term - Vendor +PaymentTypeBoth=Payment Type - Customer and Vendor +MulticurrencyUsed=Use Multicurrency +MulticurrencyCurrency=Currency +InEEC=Europe (EEC) +RestOfEurope=Rest of Europe (EEC) +OutOfEurope=Out of Europe (EEC) +CurrentOutstandingBillLate=Current outstanding bill late +BecarefullChangeThirdpartyBeforeAddProductToInvoice=Be carefull, depending on your product price settings, you should change thirdparty before adding product to POS. diff --git a/htdocs/langs/tg_TJ/compta.lang b/htdocs/langs/tg_TJ/compta.lang new file mode 100644 index 00000000000..8329346c163 --- /dev/null +++ b/htdocs/langs/tg_TJ/compta.lang @@ -0,0 +1,294 @@ +# Dolibarr language file - Source file is en_US - compta +MenuFinancial=Billing | Payment +TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation +TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation +OptionMode=Option for accountancy +OptionModeTrue=Option Incomes-Expenses +OptionModeVirtual=Option Claims-Debts +OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. +OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. +FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) +VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. +LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. +Param=Setup +RemainingAmountPayment=Amount payment remaining: +Account=Account +Accountparent=Parent account +Accountsparent=Parent accounts +Income=Income +Outcome=Expense +MenuReportInOut=Income / Expense +ReportInOut=Balance of income and expenses +ReportTurnover=Turnover invoiced +ReportTurnoverCollected=Turnover collected +PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party +PaymentsNotLinkedToUser=Payments not linked to any user +Profit=Profit +AccountingResult=Accounting result +BalanceBefore=Balance (before) +Balance=Balance +Debit=Debit +Credit=Credit +Piece=Accounting Doc. +AmountHTVATRealReceived=Net collected +AmountHTVATRealPaid=Net paid +VATToPay=Tax sales +VATReceived=Tax received +VATToCollect=Tax purchases +VATSummary=Tax monthly +VATBalance=Tax Balance +VATPaid=Tax paid +LT1Summary=Tax 2 summary +LT2Summary=Tax 3 summary +LT1SummaryES=RE Balance +LT2SummaryES=IRPF Balance +LT1SummaryIN=CGST Balance +LT2SummaryIN=SGST Balance +LT1Paid=Tax 2 paid +LT2Paid=Tax 3 paid +LT1PaidES=RE Paid +LT2PaidES=IRPF Paid +LT1PaidIN=CGST Paid +LT2PaidIN=SGST Paid +LT1Customer=Tax 2 sales +LT1Supplier=Tax 2 purchases +LT1CustomerES=RE sales +LT1SupplierES=RE purchases +LT1CustomerIN=CGST sales +LT1SupplierIN=CGST purchases +LT2Customer=Tax 3 sales +LT2Supplier=Tax 3 purchases +LT2CustomerES=IRPF sales +LT2SupplierES=IRPF purchases +LT2CustomerIN=SGST sales +LT2SupplierIN=SGST purchases +VATCollected=VAT collected +StatusToPay=To pay +SpecialExpensesArea=Area for all special payments +VATExpensesArea=Area for all TVA payments +SocialContribution=Social or fiscal tax +SocialContributions=Social or fiscal taxes +SocialContributionsDeductibles=Deductible social or fiscal taxes +SocialContributionsNondeductibles=Nondeductible social or fiscal taxes +DateOfSocialContribution=Date of social or fiscal tax +LabelContrib=Label contribution +TypeContrib=Type contribution +MenuSpecialExpenses=Special expenses +MenuTaxAndDividends=Taxes and dividends +MenuSocialContributions=Social/fiscal taxes +MenuNewSocialContribution=New social/fiscal tax +NewSocialContribution=New social/fiscal tax +AddSocialContribution=Add social/fiscal tax +ContributionsToPay=Social/fiscal taxes to pay +AccountancyTreasuryArea=Billing and payment area +NewPayment=New payment +PaymentCustomerInvoice=Customer invoice payment +PaymentSupplierInvoice=vendor invoice payment +PaymentSocialContribution=Social/fiscal tax payment +PaymentVat=VAT payment +AutomaticCreationPayment=Automatically record the payment +ListPayment=List of payments +ListOfCustomerPayments=List of customer payments +ListOfSupplierPayments=List of vendor payments +DateStartPeriod=Date start period +DateEndPeriod=Date end period +newLT1Payment=New tax 2 payment +newLT2Payment=New tax 3 payment +LT1Payment=Tax 2 payment +LT1Payments=Tax 2 payments +LT2Payment=Tax 3 payment +LT2Payments=Tax 3 payments +newLT1PaymentES=New RE payment +newLT2PaymentES=New IRPF payment +LT1PaymentES=RE Payment +LT1PaymentsES=RE Payments +LT2PaymentES=IRPF Payment +LT2PaymentsES=IRPF Payments +VATPayment=Sales tax payment +VATPayments=Sales tax payments +VATDeclarations=VAT declarations +VATDeclaration=VAT declaration +VATRefund=Sales tax refund +NewVATPayment=New sales tax payment +NewLocalTaxPayment=New tax %s payment +Refund=Refund +SocialContributionsPayments=Social/fiscal taxes payments +ShowVatPayment=Show VAT payment +TotalToPay=Total to pay +BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters) +CustomerAccountancyCode=Customer accounting code +SupplierAccountancyCode=Vendor accounting code +CustomerAccountancyCodeShort=Cust. account. code +SupplierAccountancyCodeShort=Sup. account. code +AccountNumber=Account number +NewAccountingAccount=New account +Turnover=Turnover invoiced +TurnoverCollected=Turnover collected +SalesTurnoverMinimum=Minimum turnover +ByExpenseIncome=By expenses & incomes +ByThirdParties=By third parties +ByUserAuthorOfInvoice=By invoice author +CheckReceipt=Check deposit +CheckReceiptShort=Check deposit +LastCheckReceiptShort=Latest %s check receipts +NewCheckReceipt=New discount +NewCheckDeposit=New check deposit +NewCheckDepositOn=Create receipt for deposit on account: %s +NoWaitingChecks=No checks awaiting deposit. +DateChequeReceived=Check receiving date +NbOfCheques=No. of checks +PaySocialContribution=Pay a social/fiscal tax +PayVAT=Pay a VAT declaration +PaySalary=Pay a salary card +ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? +ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? +ConfirmPaySalary=Are you sure you want to classify this salary card as paid? +DeleteSocialContribution=Delete a social or fiscal tax payment +DeleteVAT=Delete a VAT declaration +DeleteSalary=Delete a salary card +ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? +ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? +ConfirmDeleteSalary=Are you sure you want to delete this salary? +ExportDataset_tax_1=Social and fiscal taxes and payments +CalcModeVATDebt=Mode %sVAT on commitment accounting%s. +CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. +CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger. +CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger. +CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table. +CalcModeLT1= Mode %sRE on customer invoices - suppliers invoices%s +CalcModeLT1Debt=Mode %sRE on customer invoices%s +CalcModeLT1Rec= Mode %sRE on suppliers invoices%s +CalcModeLT2= Mode %sIRPF on customer invoices - suppliers invoices%s +CalcModeLT2Debt=Mode %sIRPF on customer invoices%s +CalcModeLT2Rec= Mode %sIRPF on suppliers invoices%s +AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary +AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary +AnnualByCompanies=Balance of income and expenses, by predefined groups of account +AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode %sClaims-Debts%s said Commitment accounting. +AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. +SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation based on recorded payments made even if they are not yet accounted in Ledger +SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger +SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table +RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included +RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. +RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. +RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    +RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    +RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. +RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" +RulesResultBookkeepingPredefined=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" +RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting accounts grouped by personalized groups +SeePageForSetup=See menu %s for setup +DepositsAreNotIncluded=- Down payment invoices are not included +DepositsAreIncluded=- Down payment invoices are included +LT1ReportByMonth=Tax 2 report by month +LT2ReportByMonth=Tax 3 report by month +LT1ReportByCustomers=Report tax 2 by third party +LT2ReportByCustomers=Report tax 3 by third party +LT1ReportByCustomersES=Report by third party RE +LT2ReportByCustomersES=Report by third party IRPF +VATReport=Sale tax report +VATReportByPeriods=Sale tax report by period +VATReportByMonth=Sale tax report by month +VATReportByRates=Sale tax report by rates +VATReportByThirdParties=Sale tax report by third parties +VATReportByCustomers=Sale tax report by customer +VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid +VATReportByQuartersInInputOutputMode=Report by Sale tax rate of the tax collected and paid +VATReportShowByRateDetails=Show details of this rate +LT1ReportByQuarters=Report tax 2 by rate +LT2ReportByQuarters=Report tax 3 by rate +LT1ReportByQuartersES=Report by RE rate +LT2ReportByQuartersES=Report by IRPF rate +SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation +SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow +RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. +RulesVATInProducts=- For material assets, the report includes the VAT received or issued on the basis of the date of payment. +RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. +RulesVATDueProducts=- For material assets, the report includes the VAT invoices, based on the invoice date. +OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. +ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values +PercentOfInvoice=%%/invoice +NotUsedForGoods=Not used on goods +ProposalStats=Statistics on proposals +OrderStats=Statistics on orders +InvoiceStats=Statistics on bills +Dispatch=Dispatching +Dispatched=Dispatched +ToDispatch=To dispatch +ThirdPartyMustBeEditAsCustomer=Third party must be defined as a customer +SellsJournal=Sales Journal +PurchasesJournal=Purchases Journal +DescSellsJournal=Sales Journal +DescPurchasesJournal=Purchases Journal +CodeNotDef=Not defined +WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module. +DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. +Pcg_version=Chart of accounts models +Pcg_type=Pcg type +Pcg_subtype=Pcg subtype +InvoiceLinesToDispatch=Invoice lines to dispatch +ByProductsAndServices=By product and service +RefExt=External ref +ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". +LinkedOrder=Link to order +Mode1=Method 1 +Mode2=Method 2 +CalculationRuleDesc=To calculate total VAT, there is two methods:
    Method 1 is rounding vat on each line, then summing them.
    Method 2 is summing all vat on each line, then rounding result.
    Final result may differs from few cents. Default mode is mode %s. +CalculationRuleDescSupplier=According to vendor, choose appropriate method to apply same calculation rule and get same result expected by your vendor. +TurnoverPerProductInCommitmentAccountingNotRelevant=The report of Turnover collected per product is not available. This report is only available for turnover invoiced. +TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. +CalculationMode=Calculation mode +AccountancyJournal=Accounting code journal +ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for VAT on sales (used if not defined on VAT dictionary setup) +ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for VAT on purchases (used if not defined on VAT dictionary setup) +ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT +ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties +ACCOUNTING_ACCOUNT_CUSTOMER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated customer accounting account on third party is not defined. +ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for vendor third parties +ACCOUNTING_ACCOUNT_SUPPLIER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated vendor accounting account on third party is not defined. +ConfirmCloneTax=Confirm the clone of a social/fiscal tax +ConfirmCloneVAT=Confirm the clone of a VAT declaration +ConfirmCloneSalary=Confirm the clone of a salary +CloneTaxForNextMonth=Clone it for next month +SimpleReport=Simple report +AddExtraReport=Extra reports (add foreign and national customer report) +OtherCountriesCustomersReport=Foreign customers report +BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code +SameCountryCustomersWithVAT=National customers report +BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code +LinkedFichinter=Link to an intervention +ImportDataset_tax_contrib=Social/fiscal taxes +ImportDataset_tax_vat=Vat payments +ErrorBankAccountNotFound=Error: Bank account not found +FiscalPeriod=Accounting period +ListSocialContributionAssociatedProject=List of social contributions associated with the project +DeleteFromCat=Remove from accounting group +AccountingAffectation=Accounting assignment +LastDayTaxIsRelatedTo=Last day of period the tax is related to +VATDue=Sale tax claimed +ClaimedForThisPeriod=Claimed for the period +PaidDuringThisPeriod=Paid for this period +PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range +ByVatRate=By sale tax rate +TurnoverbyVatrate=Turnover invoiced by sale tax rate +TurnoverCollectedbyVatrate=Turnover collected by sale tax rate +PurchasebyVatrate=Purchase by sale tax rate +LabelToShow=Short label +PurchaseTurnover=Purchase turnover +PurchaseTurnoverCollected=Purchase turnover collected +RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    +RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    +RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. +RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE +ReportPurchaseTurnover=Purchase turnover invoiced +ReportPurchaseTurnoverCollected=Purchase turnover collected +IncludeVarpaysInResults = Include various payments in reports +IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/tg_TJ/contracts.lang b/htdocs/langs/tg_TJ/contracts.lang new file mode 100644 index 00000000000..a9ac308142a --- /dev/null +++ b/htdocs/langs/tg_TJ/contracts.lang @@ -0,0 +1,104 @@ +# Dolibarr language file - Source file is en_US - contracts +ContractsArea=Contracts area +ListOfContracts=List of contracts +AllContracts=All contracts +ContractCard=Contract card +ContractStatusNotRunning=Not running +ContractStatusDraft=Draft +ContractStatusValidated=Validated +ContractStatusClosed=Closed +ServiceStatusInitial=Not running +ServiceStatusRunning=Running +ServiceStatusNotLate=Running, not expired +ServiceStatusNotLateShort=Not expired +ServiceStatusLate=Running, expired +ServiceStatusLateShort=Expired +ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service +Contracts=Contracts +ContractsSubscriptions=Contracts/Subscriptions +ContractsAndLine=Contracts and line of contracts +Contract=Contract +ContractLine=Contract line +Closing=Closing +NoContracts=No contracts +MenuServices=Services +MenuInactiveServices=Services not active +MenuRunningServices=Running services +MenuExpiredServices=Expired services +MenuClosedServices=Closed services +NewContract=New contract +NewContractSubscription=New contract or subscription +AddContract=Create contract +DeleteAContract=Delete a contract +ActivateAllOnContract=Activate all services +CloseAContract=Close a contract +ConfirmDeleteAContract=Are you sure you want to delete this contract and all its services? +ConfirmValidateContract=Are you sure you want to validate this contract under name %s? +ConfirmActivateAllOnContract=This will open all services (not yet active). Are you sure you want to open all services? +ConfirmCloseContract=This will close all services (active or not). Are you sure you want to close this contract? +ConfirmCloseService=Are you sure you want to close this service with date %s? +ValidateAContract=Validate a contract +ActivateService=Activate service +ConfirmActivateService=Are you sure you want to activate this service with date %s? +RefContract=Contract reference +DateContract=Contract date +DateServiceActivate=Service activation date +ListOfServices=List of services +ListOfInactiveServices=List of not active services +ListOfExpiredServices=List of expired active services +ListOfClosedServices=List of closed services +ListOfRunningServices=List of running services +NotActivatedServices=Inactive services (among validated contracts) +BoardNotActivatedServices=Services to activate among validated contracts +BoardNotActivatedServicesShort=Services to activate +LastContracts=Latest %s contracts +LastModifiedServices=Latest %s modified services +ContractStartDate=Start date +ContractEndDate=End date +DateStartPlanned=Planned start date +DateStartPlannedShort=Planned start date +DateEndPlanned=Planned end date +DateEndPlannedShort=Planned end date +DateStartReal=Real start date +DateStartRealShort=Real start date +DateEndReal=Real end date +DateEndRealShort=Real end date +CloseService=Close service +BoardRunningServices=Services running +BoardRunningServicesShort=Services running +BoardExpiredServices=Services expired +BoardExpiredServicesShort=Services expired +ServiceStatus=Status of service +DraftContracts=Drafts contracts +CloseRefusedBecauseOneServiceActive=Contract can't be closed as there is at least one open service on it +ActivateAllContracts=Activate all contract lines +CloseAllContracts=Close all contract lines +DeleteContractLine=Delete a contract line +ConfirmDeleteContractLine=Are you sure you want to delete this contract line? +MoveToAnotherContract=Move service into another contract. +ConfirmMoveToAnotherContract=I choosed new target contract and confirm I want to move this service into this contract. +ConfirmMoveToAnotherContractQuestion=Choose in which existing contract (of same third party), you want to move this service to? +PaymentRenewContractId=Renew contract line (number %s) +ExpiredSince=Expiration date +NoExpiredServices=No expired active services +ListOfServicesToExpireWithDuration=List of Services to expire in %s days +ListOfServicesToExpireWithDurationNeg=List of Services expired from more than %s days +ListOfServicesToExpire=List of Services to expire +NoteListOfYourExpiredServices=This list contains only services of contracts for third parties you are linked to as a sale representative. +StandardContractsTemplate=Standard contracts template +ContactNameAndSignature=For %s, name and signature: +OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. +ConfirmCloneContract=Are you sure you want to clone the contract %s? +LowerDateEndPlannedShort=Lower planned end date of active services +SendContractRef=Contract information __REF__ +OtherContracts=Other contracts +##### Types de contacts ##### +TypeContact_contrat_internal_SALESREPSIGN=Sales representative signing contract +TypeContact_contrat_internal_SALESREPFOLL=Sales representative following-up contract +TypeContact_contrat_external_BILLING=Billing customer contact +TypeContact_contrat_external_CUSTOMER=Follow-up customer contact +TypeContact_contrat_external_SALESREPSIGN=Signing contract customer contact +HideClosedServiceByDefault=Hide closed services by default +ShowClosedServices=Show Closed Services +HideClosedServices=Hide Closed Services diff --git a/htdocs/langs/tg_TJ/cron.lang b/htdocs/langs/tg_TJ/cron.lang new file mode 100644 index 00000000000..4fd2220dea6 --- /dev/null +++ b/htdocs/langs/tg_TJ/cron.lang @@ -0,0 +1,91 @@ +# Dolibarr language file - Source file is en_US - cron +# About page +# Right +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job +# Admin +CronSetup=Scheduled job management setup +URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser +OrToLaunchASpecificJob=Or to check and launch a specific job from a browser +KeyForCronAccess=Security key for URL to launch cron jobs +FileToLaunchCronJobs=Command line to check and launch qualified cron jobs +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes +CronMethodDoesNotExists=Class %s does not contains any method %s +CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods +CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s. +CronJobProfiles=List of predefined cron job profiles +# Menu +EnabledAndDisabled=Enabled and disabled +# Page list +CronLastOutput=Latest run output +CronLastResult=Latest result code +CronCommand=Command +CronList=Scheduled jobs +CronDelete=Delete scheduled jobs +CronConfirmDelete=Are you sure you want to delete these scheduled jobs? +CronExecute=Launch scheduled job +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now? +CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually. +CronTask=Job +CronNone=None +CronDtStart=Not before +CronDtEnd=Not after +CronDtNextLaunch=Next execution +CronDtLastLaunch=Start date of latest execution +CronDtLastResult=End date of latest execution +CronFrequency=Frequency +CronClass=Class +CronMethod=Method +CronModule=Module +CronNoJobs=No jobs registered +CronPriority=Priority +CronLabel=Label +CronNbRun=Number of launches +CronMaxRun=Maximum number of launches +CronEach=Every +JobFinished=Job launched and finished +Scheduled=Scheduled +#Page card +CronAdd= Add jobs +CronEvery=Execute job each +CronObject=Instance/Object to create +CronArgs=Parameters +CronSaveSucess=Save successfully +CronNote=Comment +CronFieldMandatory=Fields %s is mandatory +CronErrEndDateStartDt=End date cannot be before start date +StatusAtInstall=Status at module installation +CronStatusActiveBtn=Schedule +CronStatusInactiveBtn=Disable +CronTaskInactive=This job is disabled (not scheduled) +CronId=Id +CronClassFile=Filename with class +CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product +CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory).
    For example to call the fetch method of Dolibarr Product object htdocs/product/class/product.class.php, the value for class file name is
    product/class/product.class.php +CronObjectHelp=The object name to load.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is
    Product +CronMethodHelp=The object method to launch.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is
    fetch +CronArgsHelp=The method arguments.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be
    0, ProductRef +CronCommandHelp=The system command line to execute. +CronCreateJob=Create new Scheduled Job +CronFrom=From +# Info +# Common +CronType=Job type +CronType_method=Call method of a PHP Class +CronType_command=Shell command +CronCannotLoadClass=Cannot load class file %s (to use class %s) +CronCannotLoadObject=Class file %s was loaded, but object %s was not found into it +UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs. +JobDisabled=Job disabled +MakeLocalDatabaseDumpShort=Local database backup +MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep +WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. +DATAPOLICYJob=Data cleaner and anonymizer +JobXMustBeEnabled=Job %s must be enabled +# Cron Boxes +LastExecutedScheduledJob=Last executed scheduled job +NextScheduledJobExecute=Next scheduled job to execute +NumberScheduledJobError=Number of scheduled jobs in error diff --git a/htdocs/langs/tg_TJ/deliveries.lang b/htdocs/langs/tg_TJ/deliveries.lang new file mode 100644 index 00000000000..cd8a36e6c70 --- /dev/null +++ b/htdocs/langs/tg_TJ/deliveries.lang @@ -0,0 +1,33 @@ +# Dolibarr language file - Source file is en_US - deliveries +Delivery=Delivery +DeliveryRef=Ref Delivery +DeliveryCard=Receipt card +DeliveryOrder=Delivery receipt +DeliveryDate=Delivery date +CreateDeliveryOrder=Generate delivery receipt +DeliveryStateSaved=Delivery state saved +SetDeliveryDate=Set shipping date +ValidateDeliveryReceipt=Validate delivery receipt +ValidateDeliveryReceiptConfirm=Are you sure you want to validate this delivery receipt? +DeleteDeliveryReceipt=Delete delivery receipt +DeleteDeliveryReceiptConfirm=Are you sure you want to delete delivery receipt %s? +DeliveryMethod=Delivery method +TrackingNumber=Tracking number +DeliveryNotValidated=Delivery not validated +StatusDeliveryCanceled=Canceled +StatusDeliveryDraft=Draft +StatusDeliveryValidated=Received +# merou PDF model +NameAndSignature=Name and Signature: +ToAndDate=To___________________________________ on ____/_____/__________ +GoodStatusDeclaration=Have received the goods above in good condition, +Deliverer=Deliverer: +Sender=Sender +Recipient=Recipient +ErrorStockIsNotEnough=There's not enough stock +Shippable=Shippable +NonShippable=Not Shippable +ShowShippableStatus=Show shippable status +ShowReceiving=Show delivery receipt +NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/tg_TJ/dict.lang b/htdocs/langs/tg_TJ/dict.lang new file mode 100644 index 00000000000..0524cf1ca18 --- /dev/null +++ b/htdocs/langs/tg_TJ/dict.lang @@ -0,0 +1,359 @@ +# Dolibarr language file - Source file is en_US - dict +CountryFR=France +CountryBE=Belgium +CountryIT=Italy +CountryES=Spain +CountryDE=Germany +CountryCH=Switzerland +# Warning, country code GB is for United Kingdom. UK Does not exists as country code in ISO standard. +CountryGB=United Kingdom +CountryUK=United Kingdom +CountryIE=Ireland +CountryCN=China +CountryTN=Tunisia +CountryUS=United States +CountryMA=Morocco +CountryDZ=Algeria +CountryCA=Canada +CountryTG=Togo +CountryGA=Gabon +CountryNL=Netherlands +CountryHU=Hungary +CountryRU=Russia +CountrySE=Sweden +CountryCI=Ivory Coast +CountrySN=Senegal +CountryAR=Argentina +CountryCM=Cameroon +CountryPT=Portugal +CountrySA=Saudi Arabia +CountryMC=Monaco +CountryAU=Australia +CountrySG=Singapore +CountryAF=Afghanistan +CountryAX=Åland Islands +CountryAL=Albania +CountryAS=American Samoa +CountryAD=Andorra +CountryAO=Angola +CountryAI=Anguilla +CountryAQ=Antarctica +CountryAG=Antigua and Barbuda +CountryAM=Armenia +CountryAW=Aruba +CountryAT=Austria +CountryAZ=Azerbaijan +CountryBS=Bahamas +CountryBH=Bahrain +CountryBD=Bangladesh +CountryBB=Barbados +CountryBY=Belarus +CountryBZ=Belize +CountryBJ=Benin +CountryBM=Bermuda +CountryBT=Bhutan +CountryBO=Bolivia +CountryBA=Bosnia and Herzegovina +CountryBW=Botswana +CountryBV=Bouvet Island +CountryBR=Brazil +CountryIO=British Indian Ocean Territory +CountryBN=Brunei Darussalam +CountryBG=Bulgaria +CountryBF=Burkina Faso +CountryBI=Burundi +CountryKH=Cambodia +CountryCV=Cape Verde +CountryKY=Cayman Islands +CountryCF=Central African Republic +CountryTD=Chad +CountryCL=Chile +CountryCX=Christmas Island +CountryCC=Cocos (Keeling) Islands +CountryCO=Colombia +CountryKM=Comoros +CountryCG=Congo +CountryCD=Congo, The Democratic Republic of the +CountryCK=Cook Islands +CountryCR=Costa Rica +CountryHR=Croatia +CountryCU=Cuba +CountryCY=Cyprus +CountryCZ=Czech Republic +CountryDK=Denmark +CountryDJ=Djibouti +CountryDM=Dominica +CountryDO=Dominican Republic +CountryEC=Ecuador +CountryEG=Egypt +CountrySV=El Salvador +CountryGQ=Equatorial Guinea +CountryER=Eritrea +CountryEE=Estonia +CountryET=Ethiopia +CountryFK=Falkland Islands +CountryFO=Faroe Islands +CountryFJ=Fiji Islands +CountryFI=Finland +CountryGF=French Guiana +CountryPF=French Polynesia +CountryTF=French Southern Territories +CountryGM=Gambia +CountryGE=Georgia +CountryGH=Ghana +CountryGI=Gibraltar +CountryGR=Greece +CountryGL=Greenland +CountryGD=Grenada +CountryGP=Guadeloupe +CountryGU=Guam +CountryGT=Guatemala +CountryGN=Guinea +CountryGW=Guinea-Bissau +CountryGY=Guyana +CountryHT=Haïti +CountryHM=Heard Island and McDonald +CountryVA=Holy See (Vatican City State) +CountryHN=Honduras +CountryHK=Hong Kong +CountryIS=Iceland +CountryIN=India +CountryID=Indonesia +CountryIR=Iran +CountryIQ=Iraq +CountryIL=Israel +CountryJM=Jamaica +CountryJP=Japan +CountryJO=Jordan +CountryKZ=Kazakhstan +CountryKE=Kenya +CountryKI=Kiribati +CountryKP=North Korea +CountryKR=South Korea +CountryKW=Kuwait +CountryKG=Kyrgyzstan +CountryLA=Lao +CountryLV=Latvia +CountryLB=Lebanon +CountryLS=Lesotho +CountryLR=Liberia +CountryLY=Libyan +CountryLI=Liechtenstein +CountryLT=Lithuania +CountryLU=Luxembourg +CountryMO=Macao +CountryMK=Macedonia, the former Yugoslav of +CountryMG=Madagascar +CountryMW=Malawi +CountryMY=Malaysia +CountryMV=Maldives +CountryML=Mali +CountryMT=Malta +CountryMH=Marshall Islands +CountryMQ=Martinique +CountryMR=Mauritania +CountryMU=Mauritius +CountryYT=Mayotte +CountryMX=Mexico +CountryFM=Micronesia +CountryMD=Moldova +CountryMN=Mongolia +CountryMS=Monserrat +CountryMZ=Mozambique +CountryMM=Myanmar (Burma) +CountryNA=Namibia +CountryNR=Nauru +CountryNP=Nepal +CountryAN=Netherlands Antilles +CountryNC=New Caledonia +CountryNZ=New Zealand +CountryNI=Nicaragua +CountryNE=Niger +CountryNG=Nigeria +CountryNU=Niue +CountryNF=Norfolk Island +CountryMP=Northern Mariana Islands +CountryNO=Norway +CountryOM=Oman +CountryPK=Pakistan +CountryPW=Palau +CountryPS=Palestinian Territory, Occupied +CountryPA=Panama +CountryPG=Papua New Guinea +CountryPY=Paraguay +CountryPE=Peru +CountryPH=Philippines +CountryPN=Pitcairn Islands +CountryPL=Poland +CountryPR=Puerto Rico +CountryQA=Qatar +CountryRE=Reunion +CountryRO=Romania +CountryRW=Rwanda +CountrySH=Saint Helena +CountryKN=Saint Kitts and Nevis +CountryLC=Saint Lucia +CountryPM=Saint Pierre and Miquelon +CountryVC=Saint Vincent and Grenadines +CountryWS=Samoa +CountrySM=San Marino +CountryST=Sao Tome and Principe +CountryRS=Serbia +CountrySC=Seychelles +CountrySL=Sierra Leone +CountrySK=Slovakia +CountrySI=Slovenia +CountrySB=Solomon Islands +CountrySO=Somalia +CountryZA=South Africa +CountryGS=South Georgia and the South Sandwich Islands +CountryLK=Sri Lanka +CountrySD=Sudan +CountrySR=Suriname +CountrySJ=Svalbard and Jan Mayen +CountrySZ=Swaziland +CountrySY=Syrian +CountryTW=Taiwan +CountryTJ=Tajikistan +CountryTZ=Tanzania +CountryTH=Thailand +CountryTL=Timor-Leste +CountryTK=Tokelau +CountryTO=Tonga +CountryTT=Trinidad and Tobago +CountryTR=Turkey +CountryTM=Turkmenistan +CountryTC=Turks and Caicos Islands +CountryTV=Tuvalu +CountryUG=Uganda +CountryUA=Ukraine +CountryAE=United Arab Emirates +CountryUM=United States Minor Outlying Islands +CountryUY=Uruguay +CountryUZ=Uzbekistan +CountryVU=Vanuatu +CountryVE=Venezuela +CountryVN=Viet Nam +CountryVG=Virgin Islands, British +CountryVI=Virgin Islands, U.S. +CountryWF=Wallis and Futuna +CountryEH=Western Sahara +CountryYE=Yemen +CountryZM=Zambia +CountryZW=Zimbabwe +CountryGG=Guernsey +CountryIM=Isle of Man +CountryJE=Jersey +CountryME=Montenegro +CountryBL=Saint Barthelemy +CountryMF=Saint Martin + +##### Civilities ##### +CivilityMME=Mrs. +CivilityMR=Mr. +CivilityMLE=Ms. +CivilityMTRE=Master +CivilityDR=Doctor +##### Currencies ##### +Currencyeuros=Euros +CurrencyAUD=AU Dollars +CurrencySingAUD=AU Dollar +CurrencyCAD=CAN Dollars +CurrencySingCAD=CAN Dollar +CurrencyCHF=Swiss Francs +CurrencySingCHF=Swiss Franc +CurrencyEUR=Euros +CurrencySingEUR=Euro +CurrencyFRF=French Francs +CurrencySingFRF=French Franc +CurrencyGBP=GB Pounds +CurrencySingGBP=GB Pound +CurrencyINR=Indian rupees +CurrencySingINR=Indian rupee +CurrencyMAD=Dirham +CurrencySingMAD=Dirham +CurrencyMGA=Ariary +CurrencySingMGA=Ariary +CurrencyMUR=Mauritius rupees +CurrencySingMUR=Mauritius rupee +CurrencyNOK=Norwegian krones +CurrencySingNOK=Norwegian kronas +CurrencyTND=Tunisian dinars +CurrencySingTND=Tunisian dinar +CurrencyUSD=US Dollars +CurrencySingUSD=US Dollar +CurrencyUAH=Hryvnia +CurrencySingUAH=Hryvnia +CurrencyXAF=CFA Francs BEAC +CurrencySingXAF=CFA Franc BEAC +CurrencyXOF=CFA Francs BCEAO +CurrencySingXOF=CFA Franc BCEAO +CurrencyXPF=CFP Francs +CurrencySingXPF=CFP Franc +CurrencyCentEUR=cents +CurrencyCentSingEUR=cent +CurrencyCentINR=paisa +CurrencyCentSingINR=paise +CurrencyThousandthSingTND=thousandth +#### Input reasons ##### +DemandReasonTypeSRC_INTE=Internet +DemandReasonTypeSRC_CAMP_MAIL=Mailing campaign +DemandReasonTypeSRC_CAMP_EMAIL=EMailing campaign +DemandReasonTypeSRC_CAMP_PHO=Phone campaign +DemandReasonTypeSRC_CAMP_FAX=Fax campaign +DemandReasonTypeSRC_COMM=Commercial contact +DemandReasonTypeSRC_SHOP=Shop contact +DemandReasonTypeSRC_WOM=Word of mouth +DemandReasonTypeSRC_PARTNER=Partner +DemandReasonTypeSRC_EMPLOYEE=Employee +DemandReasonTypeSRC_SPONSORING=Sponsorship +DemandReasonTypeSRC_SRC_CUSTOMER=Incoming contact of a customer +#### Paper formats #### +PaperFormatEU4A0=Format 4A0 +PaperFormatEU2A0=Format 2A0 +PaperFormatEUA0=Format A0 +PaperFormatEUA1=Format A1 +PaperFormatEUA2=Format A2 +PaperFormatEUA3=Format A3 +PaperFormatEUA4=Format A4 +PaperFormatEUA5=Format A5 +PaperFormatEUA6=Format A6 +PaperFormatUSLETTER=Format Letter US +PaperFormatUSLEGAL=Format Legal US +PaperFormatUSEXECUTIVE=Format Executive US +PaperFormatUSLEDGER=Format Ledger/Tabloid +PaperFormatCAP1=Format P1 Canada +PaperFormatCAP2=Format P2 Canada +PaperFormatCAP3=Format P3 Canada +PaperFormatCAP4=Format P4 Canada +PaperFormatCAP5=Format P5 Canada +PaperFormatCAP6=Format P6 Canada +#### Expense report categories #### +ExpAutoCat=Car +ExpCycloCat=Moped +ExpMotoCat=Motorbike +ExpAuto3CV=3 CV +ExpAuto4CV=4 CV +ExpAuto5CV=5 CV +ExpAuto6CV=6 CV +ExpAuto7CV=7 CV +ExpAuto8CV=8 CV +ExpAuto9CV=9 CV +ExpAuto10CV=10 CV +ExpAuto11CV=11 CV +ExpAuto12CV=12 CV +ExpAuto3PCV=3 CV and more +ExpAuto4PCV=4 CV and more +ExpAuto5PCV=5 CV and more +ExpAuto6PCV=6 CV and more +ExpAuto7PCV=7 CV and more +ExpAuto8PCV=8 CV and more +ExpAuto9PCV=9 CV and more +ExpAuto10PCV=10 CV and more +ExpAuto11PCV=11 CV and more +ExpAuto12PCV=12 CV and more +ExpAuto13PCV=13 CV and more +ExpCyclo=Capacity lower to 50cm3 +ExpMoto12CV=Motorbike 1 or 2 CV +ExpMoto345CV=Motorbike 3, 4 or 5 CV +ExpMoto5PCV=Motorbike 5 CV and more diff --git a/htdocs/langs/tg_TJ/donations.lang b/htdocs/langs/tg_TJ/donations.lang new file mode 100644 index 00000000000..d512abb2eea --- /dev/null +++ b/htdocs/langs/tg_TJ/donations.lang @@ -0,0 +1,35 @@ +# Dolibarr language file - Source file is en_US - donations +Donation=Donation +Donations=Donations +DonationRef=Donation ref. +Donor=Donor +AddDonation=Create a donation +NewDonation=New donation +DeleteADonation=Delete a donation +ConfirmDeleteADonation=Are you sure you want to delete this donation? +PublicDonation=Public donation +DonationsArea=Donations area +DonationStatusPromiseNotValidated=Draft promise +DonationStatusPromiseValidated=Validated promise +DonationStatusPaid=Donation received +DonationStatusPromiseNotValidatedShort=Draft +DonationStatusPromiseValidatedShort=Validated +DonationStatusPaidShort=Received +DonationTitle=Donation receipt +DonationDate=Donation date +DonationDatePayment=Payment date +ValidPromess=Validate promise +DonationReceipt=Donation receipt +DonationsModels=Documents models for donation receipts +LastModifiedDonations=Latest %s modified donations +DonationRecipient=Donation recipient +IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount +MinimumAmount=Minimum amount is %s +FreeTextOnDonations=Free text to show in footer +FrenchOptions=Options for France +DONATION_ART200=Show article 200 from CGI if you are concerned +DONATION_ART238=Show article 238 from CGI if you are concerned +DONATION_ART885=Show article 885 from CGI if you are concerned +DonationPayment=Donation payment +DonationValidated=Donation %s validated +DonationUseThirdparties=Use an existing thirdparty as coordinates of donators diff --git a/htdocs/langs/tg_TJ/ecm.lang b/htdocs/langs/tg_TJ/ecm.lang new file mode 100644 index 00000000000..bc18bed4a29 --- /dev/null +++ b/htdocs/langs/tg_TJ/ecm.lang @@ -0,0 +1,47 @@ +# Dolibarr language file - Source file is en_US - ecm +ECMNbOfDocs=No. of documents in directory +ECMSection=Directory +ECMSectionManual=Manual directory +ECMSectionAuto=Automatic directory +ECMSectionsManual=Manual tree +ECMSectionsAuto=Automatic tree +ECMSections=Directories +ECMRoot=ECM Root +ECMNewSection=New directory +ECMAddSection=Add directory +ECMCreationDate=Creation date +ECMNbOfFilesInDir=Number of files in directory +ECMNbOfSubDir=Number of sub-directories +ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMCreationUser=Creator +ECMArea=DMS/ECM area +ECMAreaDesc=The DMS/ECM (Document Management System / Electronic Content Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
    * Manual directories can be used to save documents not linked to a particular element. +ECMSectionWasRemoved=Directory %s has been deleted. +ECMSectionWasCreated=Directory %s has been created. +ECMSearchByKeywords=Search by keywords +ECMSearchByEntity=Search by object +ECMSectionOfDocuments=Directories of documents +ECMTypeAuto=Automatic +ECMDocsBy=Documents linked to %s +ECMNoDirectoryYet=No directory created +ShowECMSection=Show directory +DeleteSection=Remove directory +ConfirmDeleteSection=Can you confirm you want to delete the directory %s? +ECMDirectoryForFiles=Relative directory for files +CannotRemoveDirectoryContainsFilesOrDirs=Removal not possible because it contains some files or sub-directories +CannotRemoveDirectoryContainsFiles=Removal not possible because it contains some files +ECMFileManager=File manager +ECMSelectASection=Select a directory in the tree... +DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Resync" button first to synchronize disk and database to get content of this directory. +ReSyncListOfDir=Resync list of directories +HashOfFileContent=Hash of file content +NoDirectoriesFound=No directories found +FileNotYetIndexedInDatabase=File not yet indexed into database (try to re-upload it) +ExtraFieldsEcmFiles=Extrafields Ecm Files +ExtraFieldsEcmDirectories=Extrafields Ecm Directories +ECMSetup=ECM Setup +GenerateImgWebp=Duplicate all images with another version with .webp format +ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... +ConfirmImgWebpCreation=Confirm all images duplication +SucessConvertImgWebp=Images successfully duplicated diff --git a/htdocs/langs/tg_TJ/errors.lang b/htdocs/langs/tg_TJ/errors.lang new file mode 100644 index 00000000000..45b2c258c41 --- /dev/null +++ b/htdocs/langs/tg_TJ/errors.lang @@ -0,0 +1,305 @@ +# Dolibarr language file - Source file is en_US - errors + +# No errors +NoErrorCommitIsDone=No error, we commit +# Errors +ErrorButCommitIsDone=Errors found but we validate despite this +ErrorBadEMail=Email %s is incorrect +ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) +ErrorBadUrl=Url %s is incorrect +ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing. +ErrorRefAlreadyExists=Reference %s already exists. +ErrorLoginAlreadyExists=Login %s already exists. +ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. +ErrorRecordNotFound=Record not found. +ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. +ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. +ErrorFailToRenameFile=Failed to rename file '%s' into '%s'. +ErrorFailToDeleteFile=Failed to remove file '%s'. +ErrorFailToCreateFile=Failed to create file '%s'. +ErrorFailToRenameDir=Failed to rename directory '%s' into '%s'. +ErrorFailToCreateDir=Failed to create directory '%s'. +ErrorFailToDeleteDir=Failed to delete directory '%s'. +ErrorFailToMakeReplacementInto=Failed to make replacement into file '%s'. +ErrorFailToGenerateFile=Failed to generate file '%s'. +ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. +ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. +ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. +ErrorBadThirdPartyName=Bad value for third-party name +ErrorProdIdIsMandatory=The %s is mandatory +ErrorBadCustomerCodeSyntax=Bad syntax for customer code +ErrorBadBarCodeSyntax=Bad syntax for barcode. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. +ErrorCustomerCodeRequired=Customer code required +ErrorBarCodeRequired=Barcode required +ErrorCustomerCodeAlreadyUsed=Customer code already used +ErrorBarCodeAlreadyUsed=Barcode already used +ErrorPrefixRequired=Prefix required +ErrorBadSupplierCodeSyntax=Bad syntax for vendor code +ErrorSupplierCodeRequired=Vendor code required +ErrorSupplierCodeAlreadyUsed=Vendor code already used +ErrorBadParameters=Bad parameters +ErrorWrongParameters=Wrong or missing parameters +ErrorBadValueForParameter=Wrong value '%s' for parameter '%s' +ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format) +ErrorBadDateFormat=Value '%s' has wrong date format +ErrorWrongDate=Date is not correct! +ErrorFailedToWriteInDir=Failed to write in directory %s +ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s) +ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities. +ErrorFieldsRequired=Some required fields have been left blank. +ErrorSubjectIsRequired=The email subject is required +ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter safe_mode is enabled on this PHP, check that Dolibarr php files owns to web server user (or group). +ErrorNoMailDefinedForThisUser=No mail defined for this user +ErrorSetupOfEmailsNotComplete=Setup of emails is not complete +ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display. +ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'. +ErrorLeftMenuMustHaveAParentId=A menu of type 'Left' must have a parent id. +ErrorFileNotFound=File %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) +ErrorDirNotFound=Directory %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) +ErrorFunctionNotAvailableInPHP=Function %s is required for this feature but is not available in this version/setup of PHP. +ErrorDirAlreadyExists=A directory with this name already exists. +ErrorFileAlreadyExists=A file with this name already exists. +ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorPartialFile=File not received completely by server. +ErrorNoTmpDir=Temporary directy %s does not exists. +ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. +ErrorFileSizeTooLarge=File size is too large. +ErrorFieldTooLong=Field %s is too long. +ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) +ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) +ErrorNoValueForSelectType=Please fill value for select list +ErrorNoValueForCheckBoxType=Please fill value for checkbox list +ErrorNoValueForRadioType=Please fill value for radio list +ErrorBadFormatValueList=The list value cannot have more than one comma: %s, but need at least one: key,value +ErrorFieldCanNotContainSpecialCharacters=The field %s must not contains special characters. +ErrorFieldCanNotContainSpecialNorUpperCharacters=The field %s must not contain special characters, nor upper case characters and cannot contain only numbers. +ErrorFieldMustHaveXChar=The field %s must have at least %s characters. +ErrorNoAccountancyModuleLoaded=No accountancy module activated +ErrorExportDuplicateProfil=This profile name already exists for this export set. +ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. +ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors. +ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled. +ErrorRefAlreadyExists=Reference %s already exists. +ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD) +ErrorRecordHasChildren=Failed to delete record since it has some child records. +ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s +ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object. +ErrorModuleRequireJavascript=Javascript must not be disabled to have this feature working. To enable/disable Javascript, go to menu Home->Setup->Display. +ErrorPasswordsMustMatch=Both typed passwords must match each other +ErrorContactEMail=A technical error occured. Please, contact administrator to following email %s and provide the error code %s in your message, or add a screen copy of this page. +ErrorWrongValueForField=Field %s: '%s' does not match regex rule %s +ErrorFieldValueNotIn=Field %s: '%s' is not a value found in field %s of %s +ErrorFieldRefNotIn=Field %s: '%s' is not a %s existing ref +ErrorsOnXLines=%s errors found +ErrorFileIsInfectedWithAVirus=The antivirus program was not able to validate the file (file might be infected by a virus) +ErrorSpecialCharNotAllowedForField=Special characters are not allowed for field "%s" +ErrorNumRefModel=A reference exists into database (%s) and is not compatible with this numbering rule. Remove record or renamed reference to activate this module. +ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor +ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities +ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete. +ErrorBadMask=Error on mask +ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number +ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Maximum number reached for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits +ErrorSelectAtLeastOne=Error, select at least one entry. +ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated +ErrorProdIdAlreadyExist=%s is assigned to another third +ErrorFailedToSendPassword=Failed to send password +ErrorFailedToLoadRSSFile=Fails to get RSS feed. Try to add constant MAIN_SIMPLEXMLLOAD_DEBUG if error messages does not provide enough information. +ErrorForbidden=Access denied.
    You try to access to a page, area or feature of a disabled module or without being in an authenticated session or that is not allowed to your user. +ErrorForbidden2=Permission for this login can be defined by your Dolibarr administrator from menu %s->%s. +ErrorForbidden3=It seems that Dolibarr is not used through an authenticated session. Take a look at Dolibarr setup documentation to know how to manage authentications (htaccess, mod_auth or other...). +ErrorNoImagickReadimage=Class Imagick is not found in this PHP. No preview can be available. Administrators can disable this tab from menu Setup - Display. +ErrorRecordAlreadyExists=Record already exists +ErrorLabelAlreadyExists=This label already exists +ErrorCantReadFile=Failed to read file '%s' +ErrorCantReadDir=Failed to read directory '%s' +ErrorBadLoginPassword=Bad value for login or password +ErrorLoginDisabled=Your account has been disabled +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. +ErrorFailedToChangePassword=Failed to change password +ErrorLoginDoesNotExists=User with login %s could not be found. +ErrorLoginHasNoEmail=This user has no email address. Process aborted. +ErrorBadValueForCode=Bad value for security code. Try again with new value... +ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative +ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. +ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate %s%%). +ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. +ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative +ErrorWebServerUserHasNotPermission=User account %s used to execute web server has no permission for that +ErrorNoActivatedBarcode=No barcode type activated +ErrUnzipFails=Failed to unzip %s with ZipArchive +ErrNoZipEngine=No engine to zip/unzip %s file in this PHP +ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package +ErrorModuleFileRequired=You must select a Dolibarr module package file +ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal +ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base +ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base +ErrorNewValueCantMatchOldValue=New value can't be equal to old one +ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process. +ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check database server is running (for example, with mysql/mariadb, you can launch it from command line with 'sudo service mysql start'). +ErrorFailedToAddContact=Failed to add contact +ErrorDateMustBeBeforeToday=The date must be lower than today +ErrorDateMustBeInFuture=The date must be greater than today +ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode. +ErrorPHPNeedModule=Error, your PHP must have module %s installed to use this feature. +ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s +ErrorWarehouseMustDiffers=Source and target warehouses must differs +ErrorBadFormat=Bad format! +ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice. +ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused. +ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled +ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Paid +ErrorPriceExpression1=Cannot assign to constant '%s' +ErrorPriceExpression2=Cannot redefine built-in function '%s' +ErrorPriceExpression3=Undefined variable '%s' in function definition +ErrorPriceExpression4=Illegal character '%s' +ErrorPriceExpression5=Unexpected '%s' +ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) +ErrorPriceExpression8=Unexpected operator '%s' +ErrorPriceExpression9=An unexpected error occured +ErrorPriceExpression10=Operator '%s' lacks operand +ErrorPriceExpression11=Expecting '%s' +ErrorPriceExpression14=Division by zero +ErrorPriceExpression17=Undefined variable '%s' +ErrorPriceExpression19=Expression not found +ErrorPriceExpression20=Empty expression +ErrorPriceExpression21=Empty result '%s' +ErrorPriceExpression22=Negative result '%s' +ErrorPriceExpression23=Unknown or non set variable '%s' in %s +ErrorPriceExpression24=Variable '%s' exists but has no value +ErrorPriceExpressionInternal=Internal error '%s' +ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified (approved or denied) before being allowed to do this action +ErrorCantSetReceptionToTotalDoneWithReceptionDenied=All recorded receptions must first be verified (approved) before being allowed to do this action +ErrorGlobalVariableUpdater0=HTTP request failed with error '%s' +ErrorGlobalVariableUpdater1=Invalid JSON format '%s' +ErrorGlobalVariableUpdater2=Missing parameter '%s' +ErrorGlobalVariableUpdater3=The requested data was not found in result +ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' +ErrorGlobalVariableUpdater5=No global variable selected +ErrorFieldMustBeANumeric=Field %s must be a numeric value +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided +ErrorOppStatusRequiredIfAmount=You set an estimated amount for this lead. So you must also enter it's status. +ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s +ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu) +ErrorSavingChanges=An error has occurred when saving the changes +ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship +ErrorFileMustHaveFormat=File must have format %s +ErrorFilenameCantStartWithDot=Filename can't start with a '.' +ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first. +ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. +ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order. +ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice. +ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enough for product %s to add it into a new shipment. +ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enough for product %s to add it into a new proposal. +ErrorFailedToLoadLoginFileForMode=Failed to get the login key for mode '%s'. +ErrorModuleNotFound=File of module was not found. +ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source line id %s (%s) +ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s) +ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s) +ErrorBankStatementNameMustFollowRegex=Error, bank statement name must follow the following syntax rule %s +ErrorPhpMailDelivery=Check that you don't use a too high number of recipients and that your email content is not similar to a Spam. Ask also your administrator to check firewall and server logs files for a more complete information. +ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed. +ErrorTaskAlreadyAssigned=Task already assigned to user +ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format. +ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: %s or %s +ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (%s) does not match expected name syntax: %s +ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s. +ErrorNoWarehouseDefined=Error, no warehouses defined. +ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid. +ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped. +ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Mass validation is not possible when option to increase/decrease stock is set on this action (you must validate one by one so you can define the warehouse to increase/decrease) +ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated. +ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated. +ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action. +ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not +ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before. +ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently. +ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. +ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product +ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container %s has the same name or alternative alias that the one your try to use +ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually. +ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s +ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set. +ErrorURLMustEndWith=URL %s must end %s +ErrorURLMustStartWithHttp=URL %s must start with http:// or https:// +ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// +ErrorNewRefIsAlreadyUsed=Error, the new reference is already used +ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. +ErrorSearchCriteriaTooSmall=Search criteria too small. +ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled +ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled +ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist. +ErrorFieldRequiredForProduct=Field '%s' is required for product %s +ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s. +ErrorAddAtLeastOneLineFirst=Add at least one line first +ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible. +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. +ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. +ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". +ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) +ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? +ErrorReplaceStringEmpty=Error, the string to replace into is empty +ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number +ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number +ErrorFailedToReadObject=Error, failed to read object of type %s +ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler +ErrorLoginDateValidity=Error, this login is outside the validity date range +ErrorValueLength=Length of field '%s' must be higher than '%s' +ErrorReservedKeyword=The word '%s' is a reserved keyword +ErrorNotAvailableWithThisDistribution=Not available with this distribution +ErrorPublicInterfaceNotEnabled=Public interface was not enabled +ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page +ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation +ErrorDateIsInFuture=Error, the date can't be in the future +ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory +ErrorAPercentIsRequired=Error, please fill in the percentage correctly +ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. + +# Warnings +WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. +WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. +WarningMandatorySetupNotComplete=Click here to setup mandatory parameters +WarningEnableYourModulesApplications=Click here to enable your modules and applications +WarningSafeModeOnCheckExecDir=Warning, PHP option safe_mode is on so command must be stored inside a directory declared by php parameter safe_mode_exec_dir. +WarningBookmarkAlreadyExists=A bookmark with this title or this target (URL) already exists. +WarningPassIsEmpty=Warning, database password is empty. This is a security hole. You should add a password to your database and change your conf.php file to reflect this. +WarningConfFileMustBeReadOnly=Warning, your config file (htdocs/conf/conf.php) can be overwritten by the web server. This is a serious security hole. Modify permissions on file to be in read only mode for operating system user used by Web server. If you use Windows and FAT format for your disk, you must know that this file system does not allow to add permissions on file, so can't be completely safe. +WarningsOnXLines=Warnings on %s source record(s) +WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be chosen by default until you check your module setup. +WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable the installation/migration tools by adding a file install.lock into directory %s. Omitting the creation of this file is a grave security risk. +WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other Setup). +WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution. +WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box. +WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). +WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. +WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. +WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. +WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. +WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language +WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists +WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report +WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. +WarningProjectClosed=Project is closed. You must re-open it first. +WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. +WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table +WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. +WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list +WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. +WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. +ErrorActionCommPropertyUserowneridNotDefined=User's owner is required +ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary +CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/tg_TJ/eventorganization.lang b/htdocs/langs/tg_TJ/eventorganization.lang new file mode 100644 index 00000000000..67a242e640a --- /dev/null +++ b/htdocs/langs/tg_TJ/eventorganization.lang @@ -0,0 +1,149 @@ +# Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre +# +# 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 . + +# +# Generic +# +ModuleEventOrganizationName = Event Organization +EventOrganizationDescription = Event Organization through Module Project +EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +# +# Menu +# +EventOrganizationMenuLeft = Organized events +EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth + +# +# Admin page +# +EventOrganizationSetup = Event Organization setup +Settings = Settings +EventOrganizationSetupPage = Event Organization setup page +EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated +EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers +EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type + +# +# Object +# +EventOrganizationConfOrBooth= Conference Or Booth +ManageOrganizeEvent = Manage event organisation +ConferenceOrBooth = Conference Or Booth +ConferenceOrBoothTab = Conference Or Booth +AmountOfSubscriptionPaid = Amount of subscription paid +DateSubscription = Date of subscription +ConferenceOrBoothAttendee = Conference Or Booth Attendee + +# +# Template Mail +# +YourOrganizationEventConfRequestWasReceived = Your request for conference was received +YourOrganizationEventBoothRequestWasReceived = Your request for booth was received +EventOrganizationEmailAskConf = Request for conference +EventOrganizationEmailAskBooth = Request for booth +EventOrganizationEmailSubsBooth = Subscription for booth +EventOrganizationEmailSubsEvent = Subscription for an event +EventOrganizationMassEmailAttendees = Communication to attendees +EventOrganizationMassEmailSpeakers = Communication to speakers + +# +# Event +# +AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences +AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences +AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth +AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth +PriceOfRegistration=Price of registration +PriceOfRegistrationHelp=Price of registration +PriceOfBooth=Subscription price to stand a booth +PriceOfBoothHelp=Subscription price to stand a booth +EventOrganizationICSLink=Link ICS for events +ConferenceOrBoothInformation=Conference Or Booth informations +Attendees = Attendees +DownloadICSLink = Download ICS link +EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes +# +# Status +# +EvntOrgDraft = Draft +EvntOrgSuggested = Suggested +EvntOrgConfirmed = Confirmed +EvntOrgNotQualified = Not Qualified +EvntOrgDone = Done +EvntOrgCancelled = Cancelled +# +# Public page +# +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events +PublicAttendeeSubscriptionPage = Public link of registration to a conference +MissingOrBadSecureKey = The security key is invalid or missing +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/tg_TJ/exports.lang b/htdocs/langs/tg_TJ/exports.lang new file mode 100644 index 00000000000..cb652229825 --- /dev/null +++ b/htdocs/langs/tg_TJ/exports.lang @@ -0,0 +1,137 @@ +# Dolibarr language file - Source file is en_US - exports +ExportsArea=Exports +ImportArea=Import +NewExport=New Export +NewImport=New Import +ExportableDatas=Exportable dataset +ImportableDatas=Importable dataset +SelectExportDataSet=Choose dataset you want to export... +SelectImportDataSet=Choose dataset you want to import... +SelectExportFields=Choose the fields you want to export, or select a predefined export profile +SelectImportFields=Choose the source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: +NotImportedFields=Fields of source file not imported +SaveExportModel=Save your selections as an export profile/template (for reuse). +SaveImportModel=Save this import profile (for reuse) ... +ExportModelName=Export profile name +ExportModelSaved=Export profile saved as %s. +ExportableFields=Exportable fields +ExportedFields=Exported fields +ImportModelName=Import profile name +ImportModelSaved=Import profile saved as %s. +DatasetToExport=Dataset to export +DatasetToImport=Import file into dataset +ChooseFieldsOrdersAndTitle=Choose fields order... +FieldsTitle=Fields title +FieldTitle=Field title +NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... +AvailableFormats=Available Formats +LibraryShort=Library +ExportCsvSeparator=Csv caracter separator +ImportCsvSeparator=Csv caracter separator +Step=Step +FormatedImport=Import Assistant +FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. +FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. +FormatedExport=Export Assistant +FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. +FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. +FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. +Sheet=Sheet +NoImportableData=No importable data (no module with definitions to allow data imports) +FileSuccessfullyBuilt=File generated +SQLUsedForExport=SQL Request used to extract data +LineId=Id of line +LineLabel=Label of line +LineDescription=Description of line +LineUnitPrice=Unit price of line +LineVATRate=VAT Rate of line +LineQty=Quantity for line +LineTotalHT=Amount excl. tax for line +LineTotalTTC=Amount with tax for line +LineTotalVAT=Amount of VAT for line +TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) +FileWithDataToImport=File with data to import +FileToImport=Source file to import +FileMustHaveOneOfFollowingFormat=File to import must have one of following formats +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields +ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... +ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +SourceFileFormat=Source file format +FieldsInSourceFile=Fields in source file +FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) +Field=Field +NoFields=No fields +MoveField=Move field column number %s +ExampleOfImportFile=Example_of_import_file +SaveImportProfile=Save this import profile +ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name. +TablesTarget=Targeted tables +FieldsTarget=Targeted fields +FieldTarget=Targeted field +FieldSource=Source field +NbOfSourceLines=Number of lines in source file +NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
    Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
    No data will be changed in your database. +RunSimulateImportFile=Run Import Simulation +FieldNeedSource=This field requires data from the source file +SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file +InformationOnSourceFile=Information on source file +InformationOnTargetTables=Information on target fields +SelectAtLeastOneField=Switch at least one source field in the column of fields to export +SelectFormat=Choose this import file format +RunImportFile=Import Data +NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
    When the simulation reports no errors you may proceed to import the data into the database. +DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. +ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. +TooMuchErrors=There are still %s other source lines with errors but output has been limited. +TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. +EmptyLine=Empty line (will be discarded) +CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. +FileWasImported=File was imported with number %s. +YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. +NbOfLinesOK=Number of lines with no errors and no warnings: %s. +NbOfLinesImported=Number of lines successfully imported: %s. +DataComeFromNoWhere=Value to insert comes from nowhere in source file. +DataComeFromFileFieldNb=Value to insert comes from field number %s in source file. +DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). +DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. +DataIsInsertedInto=Data coming from source file will be inserted into the following field: +DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: +DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: +SourceRequired=Data value is mandatory +SourceExample=Example of possible data value +ExampleAnyRefFoundIntoElement=Any ref found for element %s +ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +CSVFormatDesc=Comma Separated Value file format (.csv).
    This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. +Excel95FormatDesc=Excel file format (.xls)
    This is the native Excel 95 format (BIFF5). +Excel2007FormatDesc=Excel file format (.xlsx)
    This is the native Excel 2007 format (SpreadsheetML). +TsvFormatDesc=Tab Separated Value file format (.tsv)
    This is a text file format where fields are separated by a tabulator [tab]. +ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). +CsvOptions=CSV format options +Separator=Field Separator +Enclosure=String Delimiter +SpecialCode=Special code +ExportStringFilter=%% allows replacing one or more characters in the text +ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
    > YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
    < YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days +ExportNumericFilter=NNNNN filters by one value
    NNNNN+NNNNN filters over a range of values
    < NNNNN filters by lower values
    > NNNNN filters by higher values +ImportFromLine=Import starting from line number +EndAtLineNb=End at line number +ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). +SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
    If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. +KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. +SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import +UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) +NoUpdateAttempt=No update attempt was performed, only insert +ImportDataset_user_1=Users (employees or not) and properties +ComputedField=Computed field +## filters +SelectFilterFields=If you want to filter on some values, just input values here. +FilteredFields=Filtered fields +FilteredFieldsValues=Value for filter +FormatControlRule=Format control rule +## imports updates +KeysToUseForUpdates=Key (column) to use for updating existing data +NbInsert=Number of inserted lines: %s +NbUpdate=Number of updated lines: %s +MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s +StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number diff --git a/htdocs/langs/tg_TJ/externalsite.lang b/htdocs/langs/tg_TJ/externalsite.lang new file mode 100644 index 00000000000..452100c65b3 --- /dev/null +++ b/htdocs/langs/tg_TJ/externalsite.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - externalsite +ExternalSiteSetup=Setup link to external website +ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. +ExampleMyMenuEntry=My menu entry diff --git a/htdocs/langs/tg_TJ/ftp.lang b/htdocs/langs/tg_TJ/ftp.lang new file mode 100644 index 00000000000..254a2a698ce --- /dev/null +++ b/htdocs/langs/tg_TJ/ftp.lang @@ -0,0 +1,14 @@ +# Dolibarr language file - Source file is en_US - ftp +FTPClientSetup=FTP or SFTP Client module setup +NewFTPClient=New FTP/FTPS connection setup +FTPArea=FTP/FTPS Area +FTPAreaDesc=This screen shows a view of an FTP et SFTP server. +SetupOfFTPClientModuleNotComplete=The setup of the FTP or SFTP client module seems to be incomplete +FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP or SFTP functions +FailedToConnectToFTPServer=Failed to connect to server (server %s, port %s) +FailedToConnectToFTPServerWithCredentials=Failed to login to server with defined login/password +FTPFailedToRemoveFile=Failed to remove file %s. +FTPFailedToRemoveDir=Failed to remove directory %s: check permissions and that the directory is empty. +FTPPassiveMode=Passive mode +ChooseAFTPEntryIntoMenu=Choose a FTP/SFTP site from the menu... +FailedToGetFile=Failed to get files %s diff --git a/htdocs/langs/tg_TJ/help.lang b/htdocs/langs/tg_TJ/help.lang new file mode 100644 index 00000000000..048de16d3c0 --- /dev/null +++ b/htdocs/langs/tg_TJ/help.lang @@ -0,0 +1,23 @@ +# Dolibarr language file - Source file is en_US - help +CommunitySupport=Forum/Wiki support +EMailSupport=Emails support +RemoteControlSupport=Online real-time / remote support +OtherSupport=Other support +ToSeeListOfAvailableRessources=To contact/see available resources: +HelpCenter=Help Center +DolibarrHelpCenter=Dolibarr Help and Support Center +ToGoBackToDolibarr=Otherwise, click here to continue to use Dolibarr. +TypeOfSupport=Type of support +TypeSupportCommunauty=Community (free) +TypeSupportCommercial=Commercial +TypeOfHelp=Type +NeedHelpCenter=Need help or support? +Efficiency=Efficiency +TypeHelpOnly=Help only +TypeHelpDev=Help+Development +TypeHelpDevForm=Help+Development+Training +BackToHelpCenter=Otherwise, go back to Help center home page. +LinkToGoldMember=You can call one of the trainers preselected by Dolibarr for your language (%s) by clicking their Widget (status and maximum price are automatically updated): +PossibleLanguages=Supported languages +SubscribeToFoundation=Help the Dolibarr project, subscribe to the foundation +SeeOfficalSupport=For official Dolibarr support in your language:
    %s diff --git a/htdocs/langs/tg_TJ/holiday.lang b/htdocs/langs/tg_TJ/holiday.lang new file mode 100644 index 00000000000..0527f4c0788 --- /dev/null +++ b/htdocs/langs/tg_TJ/holiday.lang @@ -0,0 +1,136 @@ +# Dolibarr language file - Source file is en_US - holiday +HRM=HRM +Holidays=Leave +CPTitreMenu=Leave +MenuReportMonth=Monthly statement +MenuAddCP=New leave request +NotActiveModCP=You must enable the module Leave to view this page. +AddCP=Make a leave request +DateDebCP=Start date +DateFinCP=End date +DraftCP=Draft +ToReviewCP=Awaiting approval +ApprovedCP=Approved +CancelCP=Canceled +RefuseCP=Refused +ValidatorCP=Approver +ListeCP=List of leave +Leave=Leave request +LeaveId=Leave ID +ReviewedByCP=Will be approved by +UserID=User ID +UserForApprovalID=User for approval ID +UserForApprovalFirstname=First name of approval user +UserForApprovalLastname=Last name of approval user +UserForApprovalLogin=Login of approval user +DescCP=Description +SendRequestCP=Create leave request +DelayToRequestCP=Leave requests must be made at least %s day(s) before them. +MenuConfCP=Balance of leave +SoldeCPUser=Leave balance is %s days. +ErrorEndDateCP=You must select an end date greater than the start date. +ErrorSQLCreateCP=An SQL error occurred during the creation: +ErrorIDFicheCP=An error has occurred, the leave request does not exist. +ReturnCP=Return to previous page +ErrorUserViewCP=You are not authorized to read this leave request. +InfosWorkflowCP=Information Workflow +RequestByCP=Requested by +TitreRequestCP=Leave request +TypeOfLeaveId=Type of leave ID +TypeOfLeaveCode=Type of leave code +TypeOfLeaveLabel=Type of leave label +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day +DateStartInMonth=Start date in month +DateEndInMonth=End date in month +EditCP=Edit +DeleteCP=Delete +ActionRefuseCP=Refuse +ActionCancelCP=Cancel +StatutCP=Status +TitleDeleteCP=Delete the leave request +ConfirmDeleteCP=Confirm the deletion of this leave request? +ErrorCantDeleteCP=Error you don't have the right to delete this leave request. +CantCreateCP=You don't have the right to make leave requests. +InvalidValidatorCP=You must choose the approver for your leave request. +NoDateDebut=You must select a start date. +NoDateFin=You must select an end date. +ErrorDureeCP=Your leave request does not contain working day. +TitleValidCP=Approve the leave request +ConfirmValidCP=Are you sure you want to approve the leave request? +DateValidCP=Date approved +TitleToValidCP=Send leave request +ConfirmToValidCP=Are you sure you want to send the leave request? +TitleRefuseCP=Refuse the leave request +ConfirmRefuseCP=Are you sure you want to refuse the leave request? +NoMotifRefuseCP=You must choose a reason for refusing the request. +TitleCancelCP=Cancel the leave request +ConfirmCancelCP=Are you sure you want to cancel the leave request? +DetailRefusCP=Reason for refusal +DateRefusCP=Date of refusal +DateCancelCP=Date of cancellation +DefineEventUserCP=Assign an exceptional leave for a user +addEventToUserCP=Assign leave +NotTheAssignedApprover=You are not the assigned approver +MotifCP=Reason +UserCP=User +ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. +AddEventToUserOkCP=The addition of the exceptional leave has been completed. +MenuLogCP=View change logs +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for +PrevSoldeCP=Previous Balance +NewSoldeCP=New Balance +alreadyCPexist=A leave request has already been done on this period. +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request +BoxTitleLastLeaveRequests=Latest %s modified leave requests +HolidaysMonthlyUpdate=Monthly update +ManualUpdate=Manual update +HolidaysCancelation=Leave request cancelation +EmployeeLastname=Employee last name +EmployeeFirstname=Employee first name +TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed +LastHolidays=Latest %s leave requests +AllHolidays=All leave requests +HalfDay=Half day +NotTheAssignedApprover=You are not the assigned approver +LEAVE_PAID=Paid vacation +LEAVE_SICK=Sick leave +LEAVE_OTHER=Other leave +LEAVE_PAID_FR=Paid vacation +## Configuration du Module ## +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation +UpdateConfCPOK=Updated successfully. +Module27130Name= Management of leave requests +Module27130Desc= Management of leave requests +ErrorMailNotSend=An error occurred while sending email: +NoticePeriod=Notice period +#Messages +HolidaysToValidate=Validate leave requests +HolidaysToValidateBody=Below is a leave request to validate +HolidaysToValidateDelay=This leave request will take place within a period of less than %s days. +HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. +HolidaysValidated=Validated leave requests +HolidaysValidatedBody=Your leave request for %s to %s has been validated. +HolidaysRefused=Request denied +HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason: +HolidaysCanceled=Canceled leaved request +HolidaysCanceledBody=Your leave request for %s to %s has been canceled. +FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. +NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter +GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests +TemplatePDFHolidays=Template for leave requests PDF +FreeLegalTextOnHolidays=Free text on PDF +WatermarkOnDraftHolidayCards=Watermarks on draft leave requests +HolidaysToApprove=Holidays to approve +NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/tg_TJ/hrm.lang b/htdocs/langs/tg_TJ/hrm.lang new file mode 100644 index 00000000000..da098e10bdb --- /dev/null +++ b/htdocs/langs/tg_TJ/hrm.lang @@ -0,0 +1,19 @@ +# Dolibarr language file - en_US - hrm +# Admin +HRM_EMAIL_EXTERNAL_SERVICE=Email to prevent HRM external service +Establishments=Establishments +Establishment=Establishment +NewEstablishment=New establishment +DeleteEstablishment=Delete establishment +ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? +OpenEtablishment=Open establishment +CloseEtablishment=Close establishment +# Dictionary +DictionaryPublicHolidays=Leave - Public holidays +DictionaryDepartment=HRM - Department list +DictionaryFunction=HRM - Job positions +# Module +Employees=Employees +Employee=Employee +NewEmployee=New employee +ListOfEmployees=List of employees diff --git a/htdocs/langs/tg_TJ/install.lang b/htdocs/langs/tg_TJ/install.lang new file mode 100644 index 00000000000..c1ffee936d7 --- /dev/null +++ b/htdocs/langs/tg_TJ/install.lang @@ -0,0 +1,218 @@ +# Dolibarr language file - Source file is en_US - install +InstallEasy=Just follow the instructions step by step. +MiscellaneousChecks=Prerequisites check +ConfFileExists=Configuration file %s exists. +ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created! +ConfFileCouldBeCreated=Configuration file %s could be created. +ConfFileIsNotWritable=Configuration file %s is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). +ConfFileIsWritable=Configuration file %s is writable. +ConfFileMustBeAFileNotADir=Configuration file %s must be a file, not a directory. +ConfFileReload=Reloading parameters from configuration file. +PHPSupportPOSTGETOk=This PHP supports variables POST and GET. +PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter variables_order in php.ini. +PHPSupportSessions=This PHP supports sessions. +PHPSupport=This PHP supports %s functions. +PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. +PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. +Recheck=Click here for a more detailed test +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. +ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. +ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. +ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. +ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. +ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. +ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. +ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. +ErrorDirDoesNotExists=Directory %s does not exist. +ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. +ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'. +ErrorFailedToCreateDatabase=Failed to create database '%s'. +ErrorFailedToConnectToDatabase=Failed to connect to database '%s'. +ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required. +ErrorPHPVersionTooLow=PHP version too old. Version %s is required. +ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. +ErrorDatabaseAlreadyExists=Database '%s' already exists. +IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". +IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option. +WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. +PHPVersion=PHP Version +License=Using license +ConfigurationFile=Configuration file +WebPagesDirectory=Directory where web pages are stored +DocumentsDirectory=Directory to store uploaded and generated documents +URLRoot=URL Root +ForceHttps=Force secure connections (https) +CheckToForceHttps=Check this option to force secure connections (https).
    This requires that the web server is configured with an SSL certificate. +DolibarrDatabase=Dolibarr Database +DatabaseType=Database type +DriverType=Driver type +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. +ServerPortDescription=Database server port. Keep empty if unknown. +DatabaseServer=Database server +DatabaseName=Database name +DatabasePrefix=Database table prefix +DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. +AdminLogin=User account for the Dolibarr database owner. +PasswordAgain=Retype password confirmation +AdminPassword=Password for Dolibarr database owner. +CreateDatabase=Create database +CreateUser=Create user account or grant user account permission on the Dolibarr database +DatabaseSuperUserAccess=Database server - Superuser access +CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.
    In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. +CheckToCreateUser=Check the box if:
    the database user account does not yet exist and so must be created, or
    if the user account exists but the database does not exist and permissions must be granted.
    In this case, you must enter the user account and password and also the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. +DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. +KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) +SaveConfigurationFile=Saving parameters to +ServerConnection=Server connection +DatabaseCreation=Database creation +CreateDatabaseObjects=Database objects creation +ReferenceDataLoading=Reference data loading +TablesAndPrimaryKeysCreation=Tables and Primary keys creation +CreateTableAndPrimaryKey=Create table %s +CreateOtherKeysForTable=Create foreign keys and indexes for table %s +OtherKeysCreation=Foreign keys and indexes creation +FunctionsCreation=Functions creation +AdminAccountCreation=Administrator login creation +PleaseTypePassword=Please type a password, empty passwords are not allowed! +PleaseTypeALogin=Please type a login! +PasswordsMismatch=Passwords differs, please try again! +SetupEnd=End of setup +SystemIsInstalled=This installation is complete. +SystemIsUpgraded=Dolibarr has been upgraded successfully. +YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below: +AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' created successfully. +GoToDolibarr=Go to Dolibarr +GoToSetupArea=Go to Dolibarr (setup area) +MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. +GoToUpgradePage=Go to upgrade page again +WithNoSlashAtTheEnd=Without the slash "/" at the end +DirectoryRecommendation=IMPORTANT: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). +LoginAlreadyExists=Already exists +DolibarrAdminLogin=Dolibarr admin login +AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. +WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called install.lock into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. +FunctionNotAvailableInThisPHP=Not available in this PHP +ChoosedMigrateScript=Choose migration script +DataMigration=Database migration (data) +DatabaseMigration=Database migration (structure + some data) +ProcessMigrateScript=Script processing +ChooseYourSetupMode=Choose your setup mode and click "Start"... +FreshInstall=Fresh install +FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode. +Upgrade=Upgrade +UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data. +Start=Start +InstallNotAllowed=Setup not allowed by conf.php permissions +YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process. +CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. +AlreadyDone=Already migrated +DatabaseVersion=Database version +ServerVersion=Database server version +YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it. +DBSortingCollation=Character sorting order +YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. +YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. +BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. +OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s +RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue. +FieldRenamed=Field renamed +IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" +ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or the PHP client version may be too old compared to the database version. +InstallChoiceRecommanded=Recommended choice to install version %s from your current version %s +InstallChoiceSuggested=Install choice suggested by installer. +MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete. +CheckThatDatabasenameIsCorrect=Check that the database name "%s" is correct. +IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database". +OpenBaseDir=PHP openbasedir parameter +YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). +YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). +NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. +MigrationCustomerOrderShipping=Migrate shipping for sales orders storage +MigrationShippingDelivery=Upgrade storage of shipping +MigrationShippingDelivery2=Upgrade storage of shipping 2 +MigrationFinished=Migration finished +LastStepDesc=Last step: Define here the login and password you wish to use to connect to Dolibarr. Do not lose this as it is the master account to administer all other/additional user accounts. +ActivateModule=Activate module %s +ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) +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... +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) +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. +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. +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. +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. +UpgradeExternalModule=Run dedicated upgrade process of external module +SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed' +NothingToDelete=Nothing to clean/delete +NothingToDo=Nothing to do +######### +# upgrade +MigrationFixData=Fix for denormalized data +MigrationOrder=Data migration for customer's orders +MigrationSupplierOrder=Data migration for vendor's orders +MigrationProposal=Data migration for commercial proposals +MigrationInvoice=Data migration for customer's invoices +MigrationContract=Data migration for contracts +MigrationSuccessfullUpdate=Upgrade successful +MigrationUpdateFailed=Failed upgrade process +MigrationRelationshipTables=Data migration for relationship tables (%s) +MigrationPaymentsUpdate=Payment data correction +MigrationPaymentsNumberToUpdate=%s payment(s) to update +MigrationProcessPaymentUpdate=Update payment(s) %s +MigrationPaymentsNothingToUpdate=No more things to do +MigrationPaymentsNothingUpdatable=No more payments that can be corrected +MigrationContractsUpdate=Contract data correction +MigrationContractsNumberToUpdate=%s contract(s) to update +MigrationContractsLineCreation=Create contract line for contract ref %s +MigrationContractsNothingToUpdate=No more things to do +MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. +MigrationContractsEmptyDatesUpdate=Contract empty date correction +MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully +MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct +MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct +MigrationContractsInvalidDatesUpdate=Bad value date contract correction +MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s) +MigrationContractsInvalidDatesNumber=%s contracts modified +MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct +MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction +MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done successfully +MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct +MigrationReopeningContracts=Open contract closed by error +MigrationReopenThisContract=Reopen contract %s +MigrationReopenedContractsNumber=%s contracts modified +MigrationReopeningContractsNothingToUpdate=No closed contract to open +MigrationBankTransfertsUpdate=Update links between bank entry and a bank transfer +MigrationBankTransfertsNothingToUpdate=All links are up to date +MigrationShipmentOrderMatching=Sendings receipt update +MigrationDeliveryOrderMatching=Delivery receipt update +MigrationDeliveryDetail=Delivery update +MigrationStockDetail=Update stock value of products +MigrationMenusDetail=Update dynamic menus tables +MigrationDeliveryAddress=Update delivery address in shipments +MigrationProjectTaskActors=Data migration for table llx_projet_task_actors +MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact +MigrationProjectTaskTime=Update time spent in seconds +MigrationActioncommElement=Update data on actions +MigrationPaymentMode=Data migration for payment type +MigrationCategorieAssociation=Migration of categories +MigrationEvents=Migration of events to add event owner into assignment table +MigrationEventsContact=Migration of events to add event contact into assignment table +MigrationRemiseEntity=Update entity field value of llx_societe_remise +MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except +MigrationUserRightsEntity=Update entity field value of llx_user_rights +MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights +MigrationUserPhotoPath=Migration of photo paths for users +MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) +MigrationReloadModule=Reload module %s +MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) +ShowNotAvailableOptions=Show unavailable options +HideNotAvailableOptions=Hide unavailable options +ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. +YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
    +YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    +ClickHereToGoToApp=Click here to go to your application +ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. +Loaded=Loaded +FunctionTest=Function test diff --git a/htdocs/langs/tg_TJ/interventions.lang b/htdocs/langs/tg_TJ/interventions.lang new file mode 100644 index 00000000000..ef5df43e546 --- /dev/null +++ b/htdocs/langs/tg_TJ/interventions.lang @@ -0,0 +1,68 @@ +# Dolibarr language file - Source file is en_US - interventions +Intervention=Intervention +Interventions=Interventions +InterventionCard=Intervention card +NewIntervention=New intervention +AddIntervention=Create intervention +ChangeIntoRepeatableIntervention=Change to repeatable intervention +ListOfInterventions=List of interventions +ActionsOnFicheInter=Actions on intervention +LastInterventions=Latest %s interventions +AllInterventions=All interventions +CreateDraftIntervention=Create draft +InterventionContact=Intervention contact +DeleteIntervention=Delete intervention +ValidateIntervention=Validate intervention +ModifyIntervention=Modify intervention +DeleteInterventionLine=Delete intervention line +ConfirmDeleteIntervention=Are you sure you want to delete this intervention? +ConfirmValidateIntervention=Are you sure you want to validate this intervention under name %s? +ConfirmModifyIntervention=Are you sure you want to modify this intervention? +ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line? +ConfirmCloneIntervention=Are you sure you want to clone this intervention? +NameAndSignatureOfInternalContact=Name and signature of intervening: +NameAndSignatureOfExternalContact=Name and signature of customer: +DocumentModelStandard=Standard document model for interventions +InterventionCardsAndInterventionLines=Interventions and lines of interventions +InterventionClassifyBilled=Classify "Billed" +InterventionClassifyUnBilled=Classify "Unbilled" +InterventionClassifyDone=Classify "Done" +StatusInterInvoiced=Billed +SendInterventionRef=Submission of intervention %s +SendInterventionByMail=Send intervention by email +InterventionCreatedInDolibarr=Intervention %s created +InterventionValidatedInDolibarr=Intervention %s validated +InterventionModifiedInDolibarr=Intervention %s modified +InterventionClassifiedBilledInDolibarr=Intervention %s set as billed +InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled +InterventionSentByEMail=Intervention %s sent by email +InterventionDeletedInDolibarr=Intervention %s deleted +InterventionsArea=Interventions area +DraftFichinter=Draft interventions +LastModifiedInterventions=Latest %s modified interventions +FichinterToProcess=Interventions to process +TypeContact_fichinter_external_CUSTOMER=Following-up customer contact +PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card +PrintProductsOnFichinterDetails=interventions generated from orders +UseServicesDurationOnFichinter=Use services duration for interventions generated from orders +UseDurationOnFichinter=Hides the duration field for intervention records +UseDateWithoutHourOnFichinter=Hides hours and minutes off the date field for intervention records +InterventionStatistics=Statistics of interventions +NbOfinterventions=No. of intervention cards +NumberOfInterventionsByMonth=No. of intervention cards by month (date of validation) +AmountOfInteventionNotIncludedByDefault=Amount of intervention is not included by default into profit (in most cases, timesheets are used to count time spent). Add option PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT to 1 into home-setup-other to include them. +InterId=Intervention id +InterRef=Intervention ref. +InterDateCreation=Date creation intervention +InterDuration=Duration intervention +InterStatus=Status intervention +InterNote=Note intervention +InterLine=Line of intervention +InterLineId=Line id intervention +InterLineDate=Line date intervention +InterLineDuration=Line duration intervention +InterLineDesc=Line description intervention +RepeatableIntervention=Template of intervention +ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/tg_TJ/intracommreport.lang b/htdocs/langs/tg_TJ/intracommreport.lang new file mode 100644 index 00000000000..93c46f112bb --- /dev/null +++ b/htdocs/langs/tg_TJ/intracommreport.lang @@ -0,0 +1,40 @@ +Module68000Name = Intracomm report +Module68000Desc = Intracomm report management (Support for French DEB/DES format) +IntracommReportSetup = Intracommreport module setup +IntracommReportAbout = About intracommreport + +# Setup +INTRACOMMREPORT_NUM_AGREMENT=Numéro d'agrément (délivré par le CISD de rattachement) +INTRACOMMREPORT_TYPE_ACTEUR=Type d'acteur +INTRACOMMREPORT_ROLE_ACTEUR=Rôle joué par l'acteur +INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les introductions +INTRACOMMREPORT_NIV_OBLIGATION_EXPEDITION=Niveau d'obligation sur les expéditions +INTRACOMMREPORT_CATEG_FRAISDEPORT=Catégorie de services de type "Frais de port" + +INTRACOMMREPORT_NUM_DECLARATION=Numéro de déclarant + +# Menu +MenuIntracommReport=Intracomm report +MenuIntracommReportNew=New declaration +MenuIntracommReportList=List + +# View +NewDeclaration=New declaration +Declaration=Declaration +AnalysisPeriod=Analysis period +TypeOfDeclaration=Type of declaration +DEB=Goods exchange declaration (DEB) +DES=Services exchange declaration (DES) + +# Export page +IntracommReportTitle=Preparation of an XML file in ProDouane format + +# List +IntracommReportList=List of generated declarations +IntracommReportNumber=Numero of declaration +IntracommReportPeriod=Period of analysis +IntracommReportTypeDeclaration=Type of declaration +IntracommReportDownload=download XML file + +# Invoice +IntracommReportTransportMode=Transport mode diff --git a/htdocs/langs/tg_TJ/knowledgemanagement.lang b/htdocs/langs/tg_TJ/knowledgemanagement.lang new file mode 100644 index 00000000000..99425830e53 --- /dev/null +++ b/htdocs/langs/tg_TJ/knowledgemanagement.lang @@ -0,0 +1,49 @@ +# Copyright (C) 2021 SuperAdmin +# +# 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 . + +# +# Generic +# + +# Module label 'ModuleKnowledgeManagementName' +ModuleKnowledgeManagementName = Knowledge Management System +# Module description 'ModuleKnowledgeManagementDesc' +ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base + +# +# Admin page +# +KnowledgeManagementSetup = Knowledge Management System setup +Settings = Settings +KnowledgeManagementSetupPage = Knowledge Management System setup page + + +# +# About page +# +About = About +KnowledgeManagementAbout = About Knowledge Management +KnowledgeManagementAboutPage = Knowledge Management about page + +KnowledgeManagementArea = Knowledge Management +MenuKnowledgeRecord = Knowledge base +ListKnowledgeRecord = List of articles +NewKnowledgeRecord = New article +ValidateReply = Validate solution +KnowledgeRecords = Articles +KnowledgeRecord = Article +KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/tg_TJ/languages.lang b/htdocs/langs/tg_TJ/languages.lang new file mode 100644 index 00000000000..023edb64c52 --- /dev/null +++ b/htdocs/langs/tg_TJ/languages.lang @@ -0,0 +1,110 @@ +# Dolibarr language file - Source file is en_US - languages +Language_am_ET=Ethiopian +Language_ar_AR=Arabic +Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) +Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) +Language_az_AZ=Azerbaijani +Language_bn_BD=Bengali +Language_bn_IN=Bengali (India) +Language_bg_BG=Bulgarian +Language_bs_BA=Bosnian +Language_ca_ES=Catalan +Language_cs_CZ=Czech +Language_da_DA=Danish +Language_da_DK=Danish +Language_de_DE=German +Language_de_AT=German (Austria) +Language_de_CH=German (Switzerland) +Language_el_GR=Greek +Language_el_CY=Greek (Cyprus) +Language_en_AU=English (Australia) +Language_en_CA=English (Canada) +Language_en_GB=English (United Kingdom) +Language_en_IN=English (India) +Language_en_NZ=English (New Zealand) +Language_en_SA=English (Saudi Arabia) +Language_en_SG=English (Singapore) +Language_en_US=English (United States) +Language_en_ZA=English (South Africa) +Language_es_ES=Spanish +Language_es_AR=Spanish (Argentina) +Language_es_BO=Spanish (Bolivia) +Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) +Language_es_EC=Spanish (Ecuador) +Language_es_GT=Spanish (Guatemala) +Language_es_HN=Spanish (Honduras) +Language_es_MX=Spanish (Mexico) +Language_es_PA=Spanish (Panama) +Language_es_PY=Spanish (Paraguay) +Language_es_PE=Spanish (Peru) +Language_es_PR=Spanish (Puerto Rico) +Language_es_US=Spanish (USA) +Language_es_UY=Spanish (Uruguay) +Language_es_GT=Spanish (Guatemala) +Language_es_VE=Spanish (Venezuela) +Language_et_EE=Estonian +Language_eu_ES=Basque +Language_fa_IR=Persian +Language_fi_FI=Finnish +Language_fr_BE=French (Belgium) +Language_fr_CA=French (Canada) +Language_fr_CH=French (Switzerland) +Language_fr_CI=French (Cost Ivory) +Language_fr_CM=French (Cameroun) +Language_fr_FR=French +Language_fr_GA=French (Gabon) +Language_fr_NC=French (New Caledonia) +Language_fr_SN=French (Senegal) +Language_fy_NL=Frisian +Language_gl_ES=Galician +Language_he_IL=Hebrew +Language_hi_IN=Hindi (India) +Language_hr_HR=Croatian +Language_hu_HU=Hungarian +Language_id_ID=Indonesian +Language_is_IS=Icelandic +Language_it_IT=Italian +Language_it_CH=Italian (Switzerland) +Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_km_KH=Khmer +Language_kn_IN=Kannada +Language_ko_KR=Korean +Language_lo_LA=Lao +Language_lt_LT=Lithuanian +Language_lv_LV=Latvian +Language_mk_MK=Macedonian +Language_mn_MN=Mongolian +Language_nb_NO=Norwegian (Bokmål) +Language_ne_NP=Nepali +Language_nl_BE=Dutch (Belgium) +Language_nl_NL=Dutch +Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) +Language_pt_BR=Portuguese (Brazil) +Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) +Language_ro_RO=Romanian +Language_ru_RU=Russian +Language_ru_UA=Russian (Ukraine) +Language_tr_TR=Turkish +Language_sl_SI=Slovenian +Language_sv_SV=Swedish +Language_sv_SE=Swedish +Language_sq_AL=Albanian +Language_sk_SK=Slovakian +Language_sr_RS=Serbian +Language_sw_SW=Kiswahili +Language_th_TH=Thai +Language_uk_UA=Ukrainian +Language_uz_UZ=Uzbek +Language_vi_VN=Vietnamese +Language_zh_CN=Chinese +Language_zh_TW=Chinese (Traditional) +Language_zh_HK=Chinese (Hong Kong) +Language_bh_MY=Malay diff --git a/htdocs/langs/tg_TJ/ldap.lang b/htdocs/langs/tg_TJ/ldap.lang new file mode 100644 index 00000000000..8b6f0864215 --- /dev/null +++ b/htdocs/langs/tg_TJ/ldap.lang @@ -0,0 +1,27 @@ +# Dolibarr language file - Source file is en_US - ldap +YouMustChangePassNextLogon=Password for user %s on the domain %s must be changed. +UserMustChangePassNextLogon=User must change password on the domain %s +LDAPInformationsForThisContact=Information in LDAP database for this contact +LDAPInformationsForThisUser=Information in LDAP database for this user +LDAPInformationsForThisGroup=Information in LDAP database for this group +LDAPInformationsForThisMember=Information in LDAP database for this member +LDAPInformationsForThisMemberType=Information in LDAP database for this member type +LDAPAttributes=LDAP attributes +LDAPCard=LDAP card +LDAPRecordNotFound=Record not found in LDAP database +LDAPUsers=Users in LDAP database +LDAPFieldStatus=Status +LDAPFieldFirstSubscriptionDate=First subscription date +LDAPFieldFirstSubscriptionAmount=First subscription amount +LDAPFieldLastSubscriptionDate=Latest subscription date +LDAPFieldLastSubscriptionAmount=Latest subscription amount +LDAPFieldSkype=Skype id +LDAPFieldSkypeExample=Example: skypeName +UserSynchronized=User synchronized +GroupSynchronized=Group synchronized +MemberSynchronized=Member synchronized +MemberTypeSynchronized=Member type synchronized +ContactSynchronized=Contact synchronized +ForceSynchronize=Force synchronizing Dolibarr -> LDAP +ErrorFailedToReadLDAP=Failed to read LDAP database. Check LDAP module setup and database accessibility. +PasswordOfUserInLDAP=Password of user in LDAP diff --git a/htdocs/langs/tg_TJ/link.lang b/htdocs/langs/tg_TJ/link.lang new file mode 100644 index 00000000000..1ffcd41a18b --- /dev/null +++ b/htdocs/langs/tg_TJ/link.lang @@ -0,0 +1,11 @@ +# Dolibarr language file - Source file is en_US - languages +LinkANewFile=Link a new file/document +LinkedFiles=Linked files and documents +NoLinkFound=No registered links +LinkComplete=The file has been linked successfully +ErrorFileNotLinked=The file could not be linked +LinkRemoved=The link %s has been removed +ErrorFailedToDeleteLink= Failed to remove link '%s' +ErrorFailedToUpdateLink= Failed to update link '%s' +URLToLink=URL to link +OverwriteIfExists=Overwrite file if exists diff --git a/htdocs/langs/tg_TJ/loan.lang b/htdocs/langs/tg_TJ/loan.lang new file mode 100644 index 00000000000..d271ed0c140 --- /dev/null +++ b/htdocs/langs/tg_TJ/loan.lang @@ -0,0 +1,34 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +LoanPayment=Loan payment +ShowLoanPayment=Show Loan Payment +LoanCapital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +Term=Term +LoanAccountancyCapitalCode=Accounting account capital +LoanAccountancyInsuranceCode=Accounting account insurance +LoanAccountancyInterestCode=Accounting account interest +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ListLoanAssociatedProject=List of loan associated with the project +AddLoan=Create loan +FinancialCommitment=Financial commitment +InterestAmount=Interest +CapitalRemain=Capital remain +TermPaidAllreadyPaid = This term is allready paid +CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started +CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default +CreateCalcSchedule=Edit financial commitment diff --git a/htdocs/langs/tg_TJ/mailmanspip.lang b/htdocs/langs/tg_TJ/mailmanspip.lang new file mode 100644 index 00000000000..bab4b3576b4 --- /dev/null +++ b/htdocs/langs/tg_TJ/mailmanspip.lang @@ -0,0 +1,27 @@ +# Dolibarr language file - Source file is en_US - mailmanspip +MailmanSpipSetup=Mailman and SPIP module Setup +MailmanTitle=Mailman mailing list system +TestSubscribe=To test subscription to Mailman lists +TestUnSubscribe=To test unsubscribe from Mailman lists +MailmanCreationSuccess=Subscription test was executed successfully +MailmanDeletionSuccess=Unsubscription test was executed successfully +SynchroMailManEnabled=A Mailman update will be performed +SynchroSpipEnabled=A Spip update will be performed +DescADHERENT_MAILMAN_ADMINPW=Mailman administrator password +DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions +DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions +DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) +SPIPTitle=SPIP Content Management System +DescADHERENT_SPIP_SERVEUR=SPIP Server +DescADHERENT_SPIP_DB=SPIP database name +DescADHERENT_SPIP_USER=SPIP database login +DescADHERENT_SPIP_PASS=SPIP database password +AddIntoSpip=Add into SPIP +AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? +AddIntoSpipError=Failed to add the user in SPIP +DeleteIntoSpip=Remove from SPIP +DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? +DeleteIntoSpipError=Failed to suppress the user from SPIP +SPIPConnectionFailed=Failed to connect to SPIP +SuccessToAddToMailmanList=%s successfully added to mailman list %s or SPIP database +SuccessToRemoveToMailmanList=%s successfully removed from mailman list %s or SPIP database diff --git a/htdocs/langs/tg_TJ/mails.lang b/htdocs/langs/tg_TJ/mails.lang new file mode 100644 index 00000000000..1c0dd638eeb --- /dev/null +++ b/htdocs/langs/tg_TJ/mails.lang @@ -0,0 +1,179 @@ +# Dolibarr language file - Source file is en_US - mails +Mailing=EMailing +EMailing=EMailing +EMailings=EMailings +AllEMailings=All eMailings +MailCard=EMailing card +MailRecipients=Recipients +MailRecipient=Recipient +MailTitle=Description +MailFrom=Sender +MailErrorsTo=Errors to +MailReply=Reply to +MailTo=Receiver(s) +MailToUsers=To user(s) +MailCC=Copy to +MailToCCUsers=Copy to users(s) +MailCCC=Cached copy to +MailTopic=Email subject +MailText=Message +MailFile=Attached files +MailMessage=Email body +SubjectNotIn=Not in Subject +BodyNotIn=Not in Body +ShowEMailing=Show emailing +ListOfEMailings=List of emailings +NewMailing=New emailing +EditMailing=Edit emailing +ResetMailing=Resend emailing +DeleteMailing=Delete emailing +DeleteAMailing=Delete an emailing +PreviewMailing=Preview emailing +CreateMailing=Create emailing +TestMailing=Test email +ValidMailing=Valid emailing +MailingStatusDraft=Draft +MailingStatusValidated=Validated +MailingStatusSent=Sent +MailingStatusSentPartialy=Sent partially +MailingStatusSentCompletely=Sent completely +MailingStatusError=Error +MailingStatusNotSent=Not sent +MailSuccessfulySent=Email (from %s to %s) successfully accepted for delivery +MailingSuccessfullyValidated=EMailing successfully validated +MailUnsubcribe=Unsubscribe +MailingStatusNotContact=Don't contact anymore +MailingStatusReadAndUnsubscribe=Read and unsubscribe +ErrorMailRecipientIsEmpty=Email recipient is empty +WarningNoEMailsAdded=No new Email to add to recipient's list. +ConfirmValidMailing=Are you sure you want to validate this emailing? +ConfirmResetMailing=Warning, by re-initializing emailing %s, you will allow the re-sending this email in a bulk mailing. Are you sure you want to do this? +ConfirmDeleteMailing=Are you sure you want to delete this emailing? +NbOfUniqueEMails=No. of unique emails +NbOfEMails=No. of EMails +TotalNbOfDistinctRecipients=Number of distinct recipients +NoTargetYet=No recipients defined yet (Go on tab 'Recipients') +NoRecipientEmail=No recipient email for %s +RemoveRecipient=Remove recipient +YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values +MailingAddFile=Attach this file +NoAttachedFiles=No attached files +BadEMail=Bad value for Email +ConfirmCloneEMailing=Are you sure you want to clone this emailing? +CloneContent=Clone message +CloneReceivers=Cloner recipients +DateLastSend=Date of latest sending +DateSending=Date sending +SentTo=Sent to %s +MailingStatusRead=Read +YourMailUnsubcribeOK=The email %s is correctly unsubscribe from mailing list +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubscribe" feature +EMailSentToNRecipients=Email sent to %s recipients. +EMailSentForNElements=Email sent for %s elements. +XTargetsAdded=%s recipients added into target list +OnlyPDFattachmentSupported=If the PDF documents were already generated for the objects to send, they will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachments in mass sending in this version). +AllRecipientSelected=The recipients of the %s record selected (if their email is known). +GroupEmails=Group emails +OneEmailPerRecipient=One email per recipient (by default, one email per record selected) +WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them. +ResultOfMailSending=Result of mass Email sending +NbSelected=Number selected +NbIgnored=Number ignored +NbSent=Number sent +SentXXXmessages=%s message(s) sent. +ConfirmUnvalidateEmailing=Are you sure you want to change email %s to draft status? +MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters +MailingModuleDescContactsByCompanyCategory=Contacts by third-party category +MailingModuleDescContactsByCategory=Contacts by categories +MailingModuleDescContactsByFunction=Contacts by position +MailingModuleDescEmailsFromFile=Emails from file +MailingModuleDescEmailsFromUser=Emails input by user +MailingModuleDescDolibarrUsers=Users with Emails +MailingModuleDescThirdPartiesByCategories=Third parties (by categories) +SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed. +EmailCollectorFilterDesc=All filters must match to have an email being collected + +# Libelle des modules de liste de destinataires mailing +LineInFile=Line %s in file +RecipientSelectionModules=Defined requests for recipient's selection +MailSelectedRecipients=Selected recipients +MailingArea=EMailings area +LastMailings=Latest %s emailings +TargetsStatistics=Targets statistics +NbOfCompaniesContacts=Unique contacts/addresses +MailNoChangePossible=Recipients for validated emailing can't be changed +SearchAMailing=Search mailing +SendMailing=Send emailing +SentBy=Sent by +MailingNeedCommand=Sending an emailing can be performed from command line. Ask your server administrator to launch the following command to send the emailing to all recipients: +MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. +ConfirmSendingEmailing=If you want to send emailing directly from this screen, please confirm you are sure you want to send emailing now from your browser ? +LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. +TargetsReset=Clear list +ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing +ToAddRecipientsChooseHere=Add recipients by choosing from the lists +NbOfEMailingsReceived=Mass emailings received +NbOfEMailingsSend=Mass emailings sent +IdRecord=ID record +DeliveryReceipt=Delivery Ack. +YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. +TagCheckMail=Track mail opening +TagUnsubscribe=Unsubscribe link +TagSignature=Signature of sending user +EMailRecipient=Recipient Email +TagMailtoEmail=Recipient Email (including html "mailto:" link) +NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. +# Module Notifications +Notifications=Notifications +NotificationsAuto=Notifications Auto. +NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company +ANotificationsWillBeSent=1 automatic notification will be sent by email +SomeNotificationsWillBeSent=%s automatic notifications will be sent by email +AddNewNotification=Subscribe to a new automatic email notification (target/event) +ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification +ListOfNotificationsDone=List of all automatic email notifications sent +MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. +MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. +MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. +YouCanAlsoUseSupervisorKeyword=You can also add the keyword __SUPERVISOREMAIL__ to have email being sent to the supervisor of user (works only if an email is defined for this supervisor) +NbOfTargetedContacts=Current number of targeted contact emails +UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other +UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other +MailAdvTargetRecipients=Recipients (advanced selection) +AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target +AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima%% will target all jean, joe, start with jim but not jimo and not everything that starts with jima +AdvTgtSearchIntHelp=Use interval to select int or float value +AdvTgtMinVal=Minimum value +AdvTgtMaxVal=Maximum value +AdvTgtSearchDtHelp=Use interval to select date value +AdvTgtStartDt=Start dt. +AdvTgtEndDt=End dt. +AdvTgtTypeOfIncudeHelp=Target Email of third party and email of contact of the third party, or just third-party email or just contact email +AdvTgtTypeOfIncude=Type of targeted email +AdvTgtContactHelp=Use only if you target contact into "Type of targeted email" +AddAll=Add all +RemoveAll=Remove all +ItemsCount=Item(s) +AdvTgtNameTemplate=Filter name +AdvTgtAddContact=Add emails according to criteria +AdvTgtLoadFilter=Load filter +AdvTgtDeleteFilter=Delete filter +AdvTgtSaveFilter=Save filter +AdvTgtCreateFilter=Create filter +AdvTgtOrCreateNewFilter=Name of new filter +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties +OutGoingEmailSetup=Outgoing emails +InGoingEmailSetup=Incoming emails +OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) +DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup +Information=Information +ContactsWithThirdpartyFilter=Contacts with third-party filter +Unanswered=Unanswered +Answered=Answered +IsNotAnAnswer=Is not answer (initial email) +IsAnAnswer=Is an answer of an initial email +RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s +DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing +DefaultStatusEmptyMandatory=Empty but mandatory diff --git a/htdocs/langs/tg_TJ/main.lang b/htdocs/langs/tg_TJ/main.lang new file mode 100644 index 00000000000..abfb7fd2578 --- /dev/null +++ b/htdocs/langs/tg_TJ/main.lang @@ -0,0 +1,1151 @@ +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +# Note for Chinese: +# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) +# stsongstdlight or cid0cs are for simplified Chinese +# To read Chinese pdf with Linux: sudo apt-get install poppler-data +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 +SeparatorDecimal=. +SeparatorThousand=None +FormatDateShort=%m/%d/%Y +FormatDateShortInput=%m/%d/%Y +FormatDateShortJava=MM/dd/yyyy +FormatDateShortJavaInput=MM/dd/yyyy +FormatDateShortJQuery=mm/dd/yy +FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%I:%M %p +FormatHourShortDuration=%H:%M +FormatDateTextShort=%b %d, %Y +FormatDateText=%B %d, %Y +FormatDateHourShort=%m/%d/%Y %I:%M %p +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p +FormatDateHourTextShort=%b %d, %Y, %I:%M %p +FormatDateHourText=%B %d, %Y, %I:%M %p +DatabaseConnection=Database connection +NoTemplateDefined=No template available for this email type +AvailableVariables=Available substitution variables +NoTranslation=No translation +Translation=Translation +CurrentTimeZone=TimeZone PHP (server) +EmptySearchString=Enter non empty search criterias +EnterADateCriteria=Enter a date criteria +NoRecordFound=No record found +NoRecordDeleted=No record deleted +NotEnoughDataYet=Not enough data +NoError=No error +Error=Error +Errors=Errors +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Cannot create dir %s +ErrorCanNotReadDir=Cannot read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Organization' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post the form again. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child record. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available at the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. Changes have been rolled back. +ErrorConfigParameterNotDefined=Parameter %s is not defined in the Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +ErrorCannotAddThisParentWarehouse=You are trying to add a parent warehouse which is already a child of a existing warehouse +MaxNbOfRecordPerPage=Max. number of records per page +NotAuthorized=You are not authorized to do that. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +ClickHere=Click here +Here=Here +Apply=Apply +BackgroundColorByDefault=Default background color +FileRenamed=The file was successfully renamed +FileGenerated=The file was successfully generated +FileSaved=The file was successfully saved +FileUploaded=The file was successfully uploaded +FileTransferComplete=File(s) uploaded successfully +FilesDeleted=File(s) successfully deleted +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=No. of entries +GoToWikiHelpPage=Read online help (Internet access needed) +GoToHelpPage=Read help +DedicatedPageAvailable=There is a dedicated help page related to your current screen +HomePage=Home Page +RecordSaved=Record saved +RecordDeleted=Record deleted +RecordGenerated=Record generated +LevelOfFeature=Level of features +NotDefined=Not defined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is set to %s in configuration file conf.php.
    This means that the password database is external to Dolibarr, so changing this field may have no effect. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten? +NoAccount=No account? +SeeAbove=See above +HomeArea=Home +LastConnexion=Last login +PreviousConnexion=Previous login +PreviousValue=Previous value +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentication mode +RequestedUrl=Requested URL +DatabaseTypeManager=Database type manager +RequestLastAccessInError=Latest database access request error +ReturnCodeLastAccessInError=Return code for latest database access request error +InformationLastAccessInError=Information for latest database access request error +DolibarrHasDetectedError=Dolibarr has detected a technical error +YouCanSetOptionDolibarrMainProdToZero=You can read log file or set option $dolibarr_main_prod to '0' in your config file to get more information. +InformationToHelpDiagnose=This information can be useful for diagnostic purposes (you can set option $dolibarr_main_prod to '1' to remove such notices) +MoreInformation=More information +TechnicalInformation=Technical information +TechnicalID=Technical ID +LineID=Line ID +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +NoFilter=No filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance time. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +MediaBrowser=Media browser +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +SelectedPeriod=Selected period +PreviousPeriod=Previous period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +NotClosed=Not closed +Enabled=Enabled +Enable=Enable +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +RemoveLink=Remove link +AddToDraft=Add to draft +Update=Update +Close=Close +CloseAs=Set status to +CloseBox=Remove widget from your dashboard +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send the content of this card by mail to %s? +Delete=Delete +Remove=Remove +Resiliate=Terminate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ValidateAndApprove=Validate and Approve +ToValidate=To validate +NotValidated=Not validated +Save=Save +SaveAs=Save As +SaveAndStay=Save and stay +SaveAndNew=Save and new +TestConnection=Test connection +ToClone=Clone +ConfirmCloneAsk=Are you sure you want to clone the object %s? +ConfirmClone=Choose the data you want to clone: +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +Hide=Hide +ShowCardHere=Show card +Search=Search +SearchOf=Search +SearchMenuShortCut=Ctrl + shift + f +QuickAdd=Quick add +QuickAddMenuShortCut=Ctrl + shift + l +Valid=Valid +Approve=Approve +Disapprove=Disapprove +ReOpen=Re-Open +Upload=Upload +ToLink=Link +Select=Select +SelectAll=Select all +Choose=Choose +Resize=Resize +ResizeOrCrop=Resize or Crop +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +NameSlashCompany=Name / Company +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +PersonalValue=Personal value +NewObject=New %s +NewValue=New value +OldValue=Old value %s +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +DescriptionOfLine=Description of line +DateOfLine=Date of line +DurationOfLine=Duration of line +Model=Doc template +DefaultModel=Default doc template +Action=Event +About=About +Number=Number +NumberByMonth=Total reports by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Login +Setup=Setup +Alert=Alert +MenuWarnings=Alerts +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +HourStart=Start hour +Deadline=Deadline +Date=Date +DateAndHour=Date and hour +DateToday=Today's date +DateReference=Reference date +DateStart=Start date +DateEnd=End date +DateCreation=Creation date +DateCreationShort=Creat. date +IPCreation=Creation IP +DateModification=Modification date +DateModificationShort=Modif. date +IPModification=Modification IP +DateLastModification=Latest modification date +DateValidation=Validation date +DateSigning=Signing date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DateBuild=Report build date +DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) +RegistrationDate=Registration date +UserCreation=Creation user +UserModification=Modification user +UserValidation=Validation user +UserCreationShort=Creat. user +UserModificationShort=Modif. user +UserValidationShort=Valid. user +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +WeekShort=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +DaysOfWeek=Days of week +HourShort=H +MinuteShort=mn +Rate=Rate +CurrencyRate=Currency conversion rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +UserAuthor=Ceated by +UserModif=Updated by +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultValues=Default values/filters/sorting +Price=Price +PriceCurrency=Price (currency) +UnitPrice=Unit price +UnitPriceHT=Unit price (excl.) +UnitPriceHTCurrency=Unit price (excl.) (currency) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +PriceUHTCurrency=U.P (net) (currency) +PriceUTTC=U.P. (inc. tax) +Amount=Amount +AmountInvoice=Invoice amount +AmountInvoiced=Amount invoiced +AmountInvoicedHT=Amount invoiced (excl. tax) +AmountInvoicedTTC=Amount invoiced (inc. tax) +AmountPayment=Payment amount +AmountHTShort=Amount (excl.) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (excl. tax) +AmountTTC=Amount (inc. tax) +AmountVAT=Amount tax +MulticurrencyAlreadyPaid=Already paid, original currency +MulticurrencyRemainderToPay=Remain to pay, original currency +MulticurrencyPaymentAmount=Payment amount, original currency +MulticurrencyAmountHT=Amount (excl. tax), original currency +MulticurrencyAmountTTC=Amount (inc. of tax), original currency +MulticurrencyAmountVAT=Amount tax, original currency +MulticurrencySubPrice=Amount sub price multi currency +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyMinHT=Price quantity min. (excl. tax) +PriceQtyMinHTCurrency=Price quantity min. (excl. tax) (currency) +PercentOfOriginalObject=Percent of original object +AmountOrPercent=Amount or percent +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (excl.) +TotalHT100Short=Total 100%% (excl.) +TotalHTShortCurrency=Total (excl. in currency) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (excl. tax) +TotalHTforthispage=Total (excl. tax) for this page +Totalforthispage=Total for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit +TotalVAT=Total tax +TotalVATIN=Total IGST +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +TotalLT1IN=Total CGST +TotalLT2IN=Total SGST +HT=Excl. tax +TTC=Inc. tax +INCVATONLY=Inc. VAT +INCT=Inc. all taxes +VAT=Sales tax +VATIN=IGST +VATs=Sales taxes +VATINs=IGST taxes +LT1=Sales tax 2 +LT1Type=Sales tax 2 type +LT2=Sales tax 3 +LT2Type=Sales tax 3 type +LT1ES=RE +LT2ES=IRPF +LT1IN=CGST +LT2IN=SGST +LT1GC=Additionnal cents +VATRate=Tax Rate +RateOfTaxN=Rate of tax %s +VATCode=Tax Rate code +VATNPR=Tax Rate NPR +DefaultTaxRate=Default tax rate +Average=Average +Sum=Sum +Delta=Delta +StatusToPay=To pay +RemainToPay=Remain to pay +Module=Module/Application +Modules=Modules/Applications +Option=Option +Filters=Filters +List=List +FullList=Full list +FullConversation=Full conversation +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. vendor +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsToDoShort=To do +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=In progress +ActionDoneShort=Finished +ActionUncomplete=Incomplete +LatestLinkedEvents=Latest %s linked events +CompanyFoundation=Company/Organization +Accountant=Accountant +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events for this third party +ActionsOnContact=Events for this contact/address +ActionsOnContract=Events for this contract +ActionsOnMember=Events about this member +ActionsOnProduct=Events about this product +NActionsLate=%s late +ToDo=To do +Completed=Completed +Running=In progress +RequestAlreadyDone=Request already recorded +Filter=Filter +FilterOnInto=Search criteria '%s' into fields %s +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +DolibarrStateBoard=Database Statistics +DolibarrWorkBoard=Open Items +NoOpenedElementToProcess=No open element to process +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Categories=Tags/categories +Category=Tag/category +By=By +From=From +FromDate=From +FromLocation=From +to=to +To=to +ToDate=to +ToLocation=to +at=at +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other information +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalculate +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +StatusInterInvoiced=Invoiced +Validated=Validated +ValidatedToProduce=Validated (To produce) +Opened=Open +OpenAll=Open (All) +ClosedAll=Closed (All) +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +OriginalSize=Original size +Received=Received +Paid=Paid +Topic=Subject +ByCompanies=By third parties +ByUsers=By user +Links=Links +Link=Link +Rejects=Rejects +Preview=Preview +NextStep=Next step +Datas=Data +None=None +NoneF=None +NoneOrSeveral=None or several +Late=Late +LateDesc=An item is defined as Delayed as per the system configuration in menu Home - Setup - Alerts. +NoItemLate=No late item +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +Login=Login +LoginEmail=Login (email) +LoginOrEmail=Login or Email +CurrentLogin=Current login +EnterLoginDetail=Enter login details +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +MonthVeryShort01=J +MonthVeryShort02=F +MonthVeryShort03=M +MonthVeryShort04=A +MonthVeryShort05=M +MonthVeryShort06=J +MonthVeryShort07=J +MonthVeryShort08=A +MonthVeryShort09=S +MonthVeryShort10=O +MonthVeryShort11=N +MonthVeryShort12=D +AttachedFiles=Attached files and documents +JoinMainDoc=Join main document +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Keyword +Origin=Origin +Legend=Legend +Fill=Fill +Reset=Reset +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfObjectReferers=Number of related items +Referers=Related items +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Uncheck=Uncheck +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildDoc=Build Doc +Entity=Environment +Entities=Entities +CustomerPreview=Customer preview +SupplierPreview=Vendor preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show vendor preview +RefCustomer=Ref. customer +InternalRef=Internal ref. +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +SeeAll=See all +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Response=Response +Priority=Priority +SendByMail=Send by email +MailSentBy=Email sent by +NotSent=Not sent +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send confirmation email +SendMail=Send email +Email=Email +NoEMail=No email +AlreadyRead=Already read +NotRead=Unread +NoMobilePhone=No mobile phone +Owner=Owner +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +BackToTree=Back to tree +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +ValueIsValid=Value is valid +ValueIsNotValid=Value is not valid +RecordCreatedSuccessfully=Record created successfully +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s record(s) modified +RecordsDeleted=%s record(s) deleted +RecordsGenerated=%s record(s) generated +AutomaticCode=Automatic code +FeatureDisabled=Feature disabled +MoveBox=Move widget +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +CompleteOrNoMoreReceptionExpected=Complete or nothing more expected +ExpectedValue=Expected Value +ExpectedQty=Expected Qty +PartialWoman=Partial +TotalWoman=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries +YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s +YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record in module setup +Color=Color +Documents=Linked files +Documents2=Documents +UploadDisabled=Upload disabled +MenuAccountancy=Accounting +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +MenuTaxesAndSpecialExpenses=Taxes | Special expenses +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +NoFileFound=No documents uploaded +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +Browser=Browser +Layout=Layout +Screen=Screen +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +DateOfSignature=Date of signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +RootOfMedias=Root of public medias (/medias) +Informations=Information +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +FreeZone=Free-text product +FreeLineOfType=Free-text item, type: +CloneMainAttributes=Clone object with its main attributes +ReGeneratePDF=Re-generate PDF +PDFMerge=PDF Merge +Merge=Merge +DocumentModelStandardPDF=Standard PDF template +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +WarningYouAreInMaintenanceMode=Warning, you are in maintenance mode: only login %s is allowed to use the application in this mode. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Contact your system administrator to check the logs or disable $dolibarr_main_prod=1 to get more information. +CreditCard=Credit card +ValidatePayment=Validate payment +CreditOrDebitCard=Credit or debit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown in public list of members. If you don't want this, uncheck the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP conversion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Item must be validated before using this feature +Visibility=Visibility +Totalizable=Totalizable +TotalizableDesc=This field is totalizable in list +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +URLPhoto=URL of photo/logo +SetLinkToAnotherThirdParty=Link to another third party +LinkTo=Link to +LinkToProposal=Link to proposal +LinkToOrder=Link to order +LinkToInvoice=Link to invoice +LinkToTemplateInvoice=Link to template invoice +LinkToSupplierOrder=Link to purchase order +LinkToSupplierProposal=Link to vendor proposal +LinkToSupplierInvoice=Link to vendor invoice +LinkToContract=Link to contract +LinkToIntervention=Link to intervention +LinkToTicket=Link to ticket +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ClickToRefresh=Click to refresh +EditWithEditor=Edit with CKEditor +EditWithTextEditor=Edit with Text editor +EditHTMLSource=Edit HTML Source +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +NoResults=No results +AdminTools=Admin Tools +SystemTools=System tools +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +Dashboard=Dashboard +MyDashboard=My Dashboard +Deductible=Deductible +from=from +toward=toward +Access=Access +SelectAction=Select action +SelectTargetUser=Select target user/employee +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +ShowMoreLines=Show more/less lines +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClick=Select an element and click on %s +PrintFile=Print File %s +ShowTransaction=Show entry on bank account +ShowIntervention=Show intervention +ShowContract=Show contract +GoIntoSetupToChangeLogo=Go to Home - Setup - Company to change logo or go to Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOf=List of %s +ListOfTemplates=List of templates +Gender=Gender +Genderman=Male +Genderwoman=Female +Genderother=Other +ViewList=List view +ViewGantt=Gantt view +ViewKanban=Kanban view +Mandatory=Mandatory +Hello=Hello +GoodBye=GoodBye +Sincerely=Sincerely +ConfirmDeleteObject=Are you sure you want to delete this object? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line? +ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. +NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record +TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records. +NoRecordSelected=No record selected +MassFilesArea=Area for files built by mass actions +ShowTempMassFilesArea=Show area of files built by mass actions +ConfirmMassDeletion=Bulk Delete confirmation +ConfirmMassDeletionQuestion=Are you sure you want to delete the %s selected record(s)? +RelatedObjects=Related Objects +ClassifyBilled=Classify billed +ClassifyUnbilled=Classify unbilled +Progress=Progress +ProgressShort=Progr. +FrontOffice=Front office +BackOffice=Back office +Submit=Submit +View=View +Export=Export +Exports=Exports +ExportFilteredList=Export filtered list +ExportList=Export list +ExportOptions=Export Options +IncludeDocsAlreadyExported=Include docs already exported +ExportOfPiecesAlreadyExportedIsEnable=Export of pieces already exported is enable +ExportOfPiecesAlreadyExportedIsDisable=Export of pieces already exported is disable +AllExportedMovementsWereRecordedAsExported=All exported movements were recorded as exported +NotAllExportedMovementsCouldBeRecordedAsExported=Not all exported movements could be recorded as exported +Miscellaneous=Miscellaneous +Calendar=Calendar +GroupBy=Group by... +ViewFlatList=View flat list +ViewAccountList=View ledger +ViewSubAccountList=View subaccount ledger +RemoveString=Remove string '%s' +SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at https://transifex.com/projects/p/dolibarr/ to add your improvements. +DirectDownloadLink=Public download link +PublicDownloadLinkDesc=Only the link is required to download the file +DirectDownloadInternalLink=Private download link +PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +Download=Download +DownloadDocument=Download document +ActualizeCurrency=Update currency rate +Fiscalyear=Fiscal year +ModuleBuilder=Module and Application Builder +SetMultiCurrencyCode=Set currency +BulkActions=Bulk actions +ClickToShowHelp=Click to show tooltip help +WebSite=Website +WebSites=Websites +WebSiteAccounts=Website accounts +ExpenseReport=Expense report +ExpenseReports=Expense reports +HR=HR +HRAndBank=HR and Bank +AutomaticallyCalculated=Automatically calculated +TitleSetToDraft=Go back to draft +ConfirmSetToDraft=Are you sure you want to go back to Draft status? +ImportId=Import id +Events=Events +EMailTemplates=Email templates +FileNotShared=File not shared to external public +Project=Project +Projects=Projects +LeadOrProject=Lead | Project +LeadsOrProjects=Leads | Projects +Lead=Lead +Leads=Leads +ListOpenLeads=List open leads +ListOpenProjects=List open projects +NewLeadOrProject=New lead or project +Rights=Permissions +LineNb=Line no. +IncotermLabel=Incoterms +TabLetteringCustomer=Customer lettering +TabLetteringSupplier=Vendor lettering +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S +one=one +two=two +three=three +four=four +five=five +six=six +seven=seven +eight=eight +nine=nine +ten=ten +eleven=eleven +twelve=twelve +thirteen=thirdteen +fourteen=fourteen +fifteen=fifteen +sixteen=sixteen +seventeen=seventeen +eighteen=eighteen +nineteen=nineteen +twenty=twenty +thirty=thirty +forty=forty +fifty=fifty +sixty=sixty +seventy=seventy +eighty=eighty +ninety=ninety +hundred=hundred +thousand=thousand +million=million +billion=billion +trillion=trillion +quadrillion=quadrillion +SelectMailModel=Select an email template +SetRef=Set ref +Select2ResultFoundUseArrows=Some results found. Use arrows to select. +Select2NotFound=No result found +Select2Enter=Enter +Select2MoreCharacter=or more character +Select2MoreCharacters=or more characters +Select2MoreCharactersMore=Search syntax:
    | OR (a|b)
    * Any character (a*b)
    ^ Start with (^ab)
    $ End with (ab$)
    +Select2LoadingMoreResults=Loading more results... +Select2SearchInProgress=Search in progress... +SearchIntoThirdparties=Third parties +SearchIntoContacts=Contacts +SearchIntoMembers=Members +SearchIntoUsers=Users +SearchIntoProductsOrServices=Products or services +SearchIntoBatch=Lots / Serials +SearchIntoProjects=Projects +SearchIntoMO=Manufacturing Orders +SearchIntoTasks=Tasks +SearchIntoCustomerInvoices=Customer invoices +SearchIntoSupplierInvoices=Vendor invoices +SearchIntoCustomerOrders=Sales orders +SearchIntoSupplierOrders=Purchase orders +SearchIntoCustomerProposals=Commercial proposals +SearchIntoSupplierProposals=Vendor proposals +SearchIntoInterventions=Interventions +SearchIntoContracts=Contracts +SearchIntoCustomerShipments=Customer shipments +SearchIntoExpenseReports=Expense reports +SearchIntoLeaves=Leave +SearchIntoTickets=Tickets +SearchIntoCustomerPayments=Customer payments +SearchIntoVendorPayments=Vendor payments +SearchIntoMiscPayments=Miscellaneous payments +CommentLink=Comments +NbComments=Number of comments +CommentPage=Comments space +CommentAdded=Comment added +CommentDeleted=Comment deleted +Everybody=Everybody +PayedBy=Paid by +PayedTo=Paid to +Monthly=Monthly +Quarterly=Quarterly +Annual=Annual +Local=Local +Remote=Remote +LocalAndRemote=Local and Remote +KeyboardShortcut=Keyboard shortcut +AssignedTo=Assigned to +Deletedraft=Delete draft +ConfirmMassDraftDeletion=Draft mass delete confirmation +FileSharedViaALink=File shared with a public link +SelectAThirdPartyFirst=Select a third party first... +YouAreCurrentlyInSandboxMode=You are currently in the %s "sandbox" mode +Inventory=Inventory +AnalyticCode=Analytic code +TMenuMRP=MRP +ShowCompanyInfos=Show company infos +ShowMoreInfos=Show More Infos +NoFilesUploadedYet=Please upload a document first +SeePrivateNote=See private note +PaymentInformation=Payment information +ValidFrom=Valid from +ValidUntil=Valid until +NoRecordedUsers=No users +ToClose=To close +ToRefuse=To refuse +ToProcess=To process +ToApprove=To approve +GlobalOpenedElemView=Global view +NoArticlesFoundForTheKeyword=No article found for the keyword '%s' +NoArticlesFoundForTheCategory=No article found for the category +ToAcceptRefuse=To accept | refuse +ContactDefault_agenda=Event +ContactDefault_commande=Order +ContactDefault_contrat=Contract +ContactDefault_facture=Invoice +ContactDefault_fichinter=Intervention +ContactDefault_invoice_supplier=Supplier Invoice +ContactDefault_order_supplier=Purchase Order +ContactDefault_project=Project +ContactDefault_project_task=Task +ContactDefault_propal=Proposal +ContactDefault_supplier_proposal=Supplier Proposal +ContactDefault_ticket=Ticket +ContactAddedAutomatically=Contact added from contact thirdparty roles +More=More +ShowDetails=Show details +CustomReports=Custom reports +StatisticsOn=Statistics on +SelectYourGraphOptionsFirst=Select your graph options to build a graph +Measures=Measures +XAxis=X-Axis +YAxis=Y-Axis +StatusOfRefMustBe=Status of %s must be %s +DeleteFileHeader=Confirm file delete +DeleteFileText=Do you really want delete this file? +ShowOtherLanguages=Show other languages +SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language +NotUsedForThisCustomer=Not used for this customer +AmountMustBePositive=Amount must be positive +ByStatus=By status +InformationMessage=Information +Used=Used +ASAP=As Soon As Possible +CREATEInDolibarr=Record %s created +MODIFYInDolibarr=Record %s modified +DELETEInDolibarr=Record %s deleted +VALIDATEInDolibarr=Record %s validated +APPROVEDInDolibarr=Record %s approved +DefaultMailModel=Default Mail Model +PublicVendorName=Public name of vendor +DateOfBirth=Date of birth +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. +UpToDate=Up-to-date +OutOfDate=Out-of-date +EventReminder=Event Reminder +UpdateForAllLines=Update for all lines +OnHold=On hold +Civility=Civility +AffectTag=Affect Tag +CreateExternalUser=Create external user +ConfirmAffectTag=Bulk Tag Affect +ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? +CategTypeNotFound=No tag type found for type of records +CopiedToClipboard=Copied to clipboard +InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. +ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/tg_TJ/margins.lang b/htdocs/langs/tg_TJ/margins.lang new file mode 100644 index 00000000000..ad5406409b4 --- /dev/null +++ b/htdocs/langs/tg_TJ/margins.lang @@ -0,0 +1,45 @@ +# Dolibarr language file - Source file is en_US - marges + +Margin=Margin +Margins=Margins +TotalMargin=Total Margin +MarginOnProducts=Margin / Products +MarginOnServices=Margin / Services +MarginRate=Margin rate +MarkRate=Mark rate +DisplayMarginRates=Display margin rates +DisplayMarkRates=Display mark rates +InputPrice=Input price +margin=Profit margins management +margesSetup=Profit margins management setup +MarginDetails=Margin details +ProductMargins=Product margins +CustomerMargins=Customer margins +SalesRepresentativeMargins=Sales representative margins +ContactOfInvoice=Contact of invoice +UserMargins=User margins +ProductService=Product or Service +AllProducts=All products and services +ChooseProduct/Service=Choose product or service +ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined +ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts +UseDiscountAsProduct=As a product +UseDiscountAsService=As a service +UseDiscountOnTotal=On subtotal +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. +MARGIN_TYPE=Buying/Cost price suggested by default for margin calculation +MargeType1=Margin on Best vendor price +MargeType2=Margin on Weighted Average Price (WAP) +MargeType3=Margin on Cost Price +MarginTypeDesc=* Margin on best buying price = Selling price - Best vendor price defined on product card
    * Margin on Weighted Average Price (WAP) = Selling price - Product Weighted Average Price (WAP) or best vendor price if WAP not yet defined
    * Margin on Cost price = Selling price - Cost price defined on product card or WAP if cost price not defined, or best vendor price if WAP not yet defined +CostPrice=Cost price +UnitCharges=Unit charges +Charges=Charges +AgentContactType=Commercial agent contact type +AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices. +rateMustBeNumeric=Rate must be a numeric value +markRateShouldBeLesserThan100=Mark rate should be lower than 100 +ShowMarginInfos=Show margin infos +CheckMargins=Margins detail +MarginPerSaleRepresentativeWarning=The report of margin per user use the link between third parties and sale representatives to calculate the margin of each sale representative. Because some thirdparties may not have any dedicated sale representative and some third parties may be linked to several, some amounts may not be included into this report (if there is no sale representative) and some may appear on different lines (for each sale representative). diff --git a/htdocs/langs/tg_TJ/members.lang b/htdocs/langs/tg_TJ/members.lang new file mode 100644 index 00000000000..d8b9c2f59f3 --- /dev/null +++ b/htdocs/langs/tg_TJ/members.lang @@ -0,0 +1,217 @@ +# Dolibarr language file - Source file is en_US - members +MembersArea=Members area +MemberCard=Member card +SubscriptionCard=Subscription card +Member=Member +Members=Members +ShowMember=Show member card +UserNotLinkedToMember=User not linked to a member +ThirdpartyNotLinkedToMember=Third party not linked to a member +MembersTickets=Members Tickets +FundationMembers=Foundation members +ListOfValidatedPublicMembers=List of validated public members +ErrorThisMemberIsNotPublic=This member is not public +ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). +ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. +SetLinkToUser=Link to a Dolibarr user +SetLinkToThirdParty=Link to a Dolibarr third party +MembersCards=Business cards for members +MembersList=List of members +MembersListToValid=List of draft members (to be validated) +MembersListValid=List of valid members +MembersListUpToDate=List of valid members with up-to-date subscription +MembersListNotUpToDate=List of valid members with out-of-date subscription +MembersListExcluded=List of excluded members +MembersListResiliated=List of terminated members +MembersListQualified=List of qualified members +MenuMembersToValidate=Draft members +MenuMembersValidated=Validated members +MenuMembersExcluded=Excluded members +MenuMembersResiliated=Terminated members +MembersWithSubscriptionToReceive=Members with subscription to receive +MembersWithSubscriptionToReceiveShort=Subscription to receive +DateSubscription=Subscription date +DateEndSubscription=Subscription end date +EndSubscription=Subscription Ends +SubscriptionId=Subscription id +WithoutSubscription=Without subscription +MemberId=Member id +NewMember=New member +MemberType=Member type +MemberTypeId=Member type id +MemberTypeLabel=Member type label +MembersTypes=Members types +MemberStatusDraft=Draft (needs to be validated) +MemberStatusDraftShort=Draft +MemberStatusActive=Validated (waiting subscription) +MemberStatusActiveShort=Validated +MemberStatusActiveLate=Subscription expired +MemberStatusActiveLateShort=Expired +MemberStatusPaid=Subscription up to date +MemberStatusPaidShort=Up to date +MemberStatusExcluded=Excluded member +MemberStatusExcludedShort=Excluded +MemberStatusResiliated=Terminated member +MemberStatusResiliatedShort=Terminated +MembersStatusToValid=Draft members +MembersStatusExcluded=Excluded members +MembersStatusResiliated=Terminated members +MemberStatusNoSubscription=Validated (no subscription needed) +MemberStatusNoSubscriptionShort=Validated +SubscriptionNotNeeded=No subscription needed +NewCotisation=New contribution +PaymentSubscription=New contribution payment +SubscriptionEndDate=Subscription's end date +MembersTypeSetup=Members type setup +MemberTypeModified=Member type modified +DeleteAMemberType=Delete a member type +ConfirmDeleteMemberType=Are you sure you want to delete this member type? +MemberTypeDeleted=Member type deleted +MemberTypeCanNotBeDeleted=Member type can not be deleted +NewSubscription=New subscription +NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. +Subscription=Subscription +Subscriptions=Subscriptions +SubscriptionLate=Late +SubscriptionNotReceived=Subscription never received +ListOfSubscriptions=List of subscriptions +SendCardByMail=Send card by email +AddMember=Create member +NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" +NewMemberType=New member type +WelcomeEMail=Welcome email +SubscriptionRequired=Subscription required +DeleteType=Delete +VoteAllowed=Vote allowed +Physical=Individual +Moral=Corporation +MorAndPhy=Corporation and Individual +Reenable=Re-Enable +ExcludeMember=Exclude a member +ConfirmExcludeMember=Are you sure you want to exclude this member ? +ResiliateMember=Terminate a member +ConfirmResiliateMember=Are you sure you want to terminate this member? +DeleteMember=Delete a member +ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? +DeleteSubscription=Delete a subscription +ConfirmDeleteSubscription=Are you sure you want to delete this subscription? +Filehtpasswd=htpasswd file +ValidateMember=Validate a member +ConfirmValidateMember=Are you sure you want to validate this member? +FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. +PublicMemberList=Public member list +BlankSubscriptionForm=Public self-subscription form +BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. +EnablePublicSubscriptionForm=Enable the public website with self-subscription form +ForceMemberType=Force the member type +ExportDataset_member_1=Members and subscriptions +ImportDataset_member_1=Members +LastMembersModified=Latest %s modified members +LastSubscriptionsModified=Latest %s modified subscriptions +String=String +Text=Text +Int=Int +DateAndTime=Date and time +PublicMemberCard=Member public card +SubscriptionNotRecorded=Subscription not recorded +AddSubscription=Create subscription +ShowSubscription=Show subscription +# Label of email templates +SendingAnEMailToMember=Sending information email to member +SendingEmailOnAutoSubscription=Sending email on auto registration +SendingEmailOnMemberValidation=Sending email on new member validation +SendingEmailOnNewSubscription=Sending email on new subscription +SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions +SendingEmailOnCancelation=Sending email on cancelation +SendingReminderActionComm=Sending reminder for agenda event +# Topic of email templates +YourMembershipRequestWasReceived=Your membership was received. +YourMembershipWasValidated=Your membership was validated +YourSubscriptionWasRecorded=Your new subscription was recorded +SubscriptionReminderEmail=Subscription reminder +YourMembershipWasCanceled=Your membership was canceled +CardContent=Content of your member card +# Text of email templates +ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.

    +ThisIsContentOfYourMembershipWasValidated=We want to let you know that your membership was validated with the following information:

    +ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.

    +ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.

    +ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

    +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription +DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire +DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_MAIL_FROM=Sender Email for automatic emails +DescADHERENT_ETIQUETTE_TYPE=Format of labels page +DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets +DescADHERENT_CARD_TYPE=Format of cards page +DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards +DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) +DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) +DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards +ShowTypeCard=Show type '%s' +HTPasswordExport=htpassword file generation +NoThirdPartyAssociatedToMember=No third party associated to this member +MembersAndSubscriptions= Members and Subscriptions +MoreActions=Complementary action on recording +MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription +MoreActionBankDirect=Create a direct entry on bank account +MoreActionBankViaInvoice=Create an invoice, and a payment on bank account +MoreActionInvoiceOnly=Create an invoice with no payment +LinkToGeneratedPages=Generate visit cards +LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. +DocForAllMembersCards=Generate business cards for all members +DocForOneMemberCards=Generate business cards for a particular member +DocForLabels=Generate address sheets +SubscriptionPayment=Subscription payment +LastSubscriptionDate=Date of latest subscription payment +LastSubscriptionAmount=Amount of latest subscription +LastMemberType=Last Member type +MembersStatisticsByCountries=Members statistics by country +MembersStatisticsByState=Members statistics by state/province +MembersStatisticsByTown=Members statistics by town +MembersStatisticsByRegion=Members statistics by region +NbOfMembers=Total number of members +NbOfActiveMembers=Total number of current active members +NoValidatedMemberYet=No validated members found +MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. +MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. +MembersByTownDesc=This screen show you statistics of members by town. +MembersByNature=This screen show you statistics of members by nature. +MembersByRegion=This screen show you statistics of members by region. +MembersStatisticsDesc=Choose statistics you want to read... +MenuMembersStats=Statistics +LastMemberDate=Latest membership date +LatestSubscriptionDate=Latest subscription date +MemberNature=Nature of the member +MembersNature=Nature of the members +Public=Information is public +NewMemberbyWeb=New member added. Awaiting approval +NewMemberForm=New member form +SubscriptionsStatistics=Subscriptions statistics +NbOfSubscriptions=Number of subscriptions +AmountOfSubscriptions=Amount collected from subscriptions +TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) +DefaultAmount=Default amount of subscription +CanEditAmount=Visitor can choose/edit amount of its subscription +MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page +ByProperties=By nature +MembersStatisticsByProperties=Members statistics by nature +VATToUseForSubscriptions=VAT rate to use for subscriptions +NoVatOnSubscription=No VAT for subscriptions +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s +NameOrCompany=Name or company +SubscriptionRecorded=Subscription recorded +NoEmailSentToMember=No email sent to member +EmailSentToMember=Email sent to member at %s +SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription +SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') +MembershipPaid=Membership paid for current period (until %s) +YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email +XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/tg_TJ/modulebuilder.lang b/htdocs/langs/tg_TJ/modulebuilder.lang new file mode 100644 index 00000000000..23a098be2e5 --- /dev/null +++ b/htdocs/langs/tg_TJ/modulebuilder.lang @@ -0,0 +1,146 @@ +# Dolibarr language file - Source file is en_US - loan +ModuleBuilderDesc=This tool must be used only by experienced users or developers. It provides utilities to build or edit your own module. Documentation for alternative manual development is here. +EnterNameOfModuleDesc=Enter name of the module/application to create with no spaces. Use uppercase to separate words (For example: MyModule, EcommerceForShop, SyncWithMySystem...) +EnterNameOfObjectDesc=Enter name of the object to create with no spaces. Use uppercase to separate words (For example: MyObject, Student, Teacher...). The CRUD class file, but also API file, pages to list/add/edit/delete object and SQL files will be generated. +ModuleBuilderDesc2=Path where modules are generated/edited (first directory for external modules defined into %s): %s +ModuleBuilderDesc3=Generated/editable modules found: %s +ModuleBuilderDesc4=A module is detected as 'editable' when the file %s exists in root of module directory +NewModule=New module +NewObjectInModulebuilder=New object +ModuleKey=Module key +ObjectKey=Object key +ModuleInitialized=Module initialized +FilesForObjectInitialized=Files for new object '%s' initialized +FilesForObjectUpdated=Files for object '%s' updated (.sql files and .class.php file) +ModuleBuilderDescdescription=Enter here all general information that describe your module. +ModuleBuilderDescspecifications=You can enter here a detailed description of the specifications of your module that is not already structured into other tabs. So you have within easy reach all the rules to develop. Also this text content will be included into the generated documentation (see last tab). You can use Markdown format, but it is recommended to use Asciidoc format (comparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). +ModuleBuilderDescobjects=Define here the objects you want to manage with your module. A CRUD DAO class, SQL files, page to list record of objects, to create/edit/view a record and an API will be generated. +ModuleBuilderDescmenus=This tab is dedicated to define menu entries provided by your module. +ModuleBuilderDescpermissions=This tab is dedicated to define the new permissions you want to provide with your module. +ModuleBuilderDesctriggers=This is the view of triggers provided by your module. To include code executed when a triggered business event is launched, just edit this file. +ModuleBuilderDeschooks=This tab is dedicated to hooks. +ModuleBuilderDescwidgets=This tab is dedicated to manage/build widgets. +ModuleBuilderDescbuildpackage=You can generate here a "ready to distribute" package file (a normalized .zip file) of your module and a "ready to distribute" documentation file. Just click on button to build the package or documentation file. +EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted! +EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted! +DangerZone=Danger zone +BuildPackage=Build package +BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like DoliStore.com. +BuildDocumentation=Build documentation +ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here +ModuleIsLive=This module has been activated. Any change may break a current live feature. +DescriptionLong=Long description +EditorName=Name of editor +EditorUrl=URL of editor +DescriptorFile=Descriptor file of module +ClassFile=File for PHP DAO CRUD class +ApiClassFile=File for PHP API class +PageForList=PHP page for list of record +PageForCreateEditView=PHP page to create/edit/view a record +PageForAgendaTab=PHP page for event tab +PageForDocumentTab=PHP page for document tab +PageForNoteTab=PHP page for note tab +PageForContactTab=PHP page for contact tab +PathToModulePackage=Path to zip of module/application package +PathToModuleDocumentation=Path to file of module/application documentation (%s) +SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed. +FileNotYetGenerated=File not yet generated +RegenerateClassAndSql=Force update of .class and .sql files +RegenerateMissingFiles=Generate missing files +SpecificationFile=File of documentation +LanguageFile=File for language +ObjectProperties=Object Properties +ConfirmDeleteProperty=Are you sure you want to delete the property %s? This will change code in PHP class but also remove column from table definition of object. +NotNull=Not NULL +NotNullDesc=1=Set database to NOT NULL. -1=Allow null values and force value to NULL if empty ('' or 0). +SearchAll=Used for 'search all' +DatabaseIndex=Database index +FileAlreadyExists=File %s already exists +TriggersFile=File for triggers code +HooksFile=File for hooks code +ArrayOfKeyValues=Array of key-val +ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values +WidgetFile=Widget file +CSSFile=CSS file +JSFile=Javascript file +ReadmeFile=Readme file +ChangeLog=ChangeLog file +TestClassFile=File for PHP Unit Test class +SqlFile=Sql file +PageForLib=File for the common PHP library +PageForObjLib=File for the PHP library dedicated to object +SqlFileExtraFields=Sql file for complementary attributes +SqlFileKey=Sql file for keys +SqlFileKeyExtraFields=Sql file for keys of complementary attributes +AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case +UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) +IsAMeasure=Is a measure +DirScanned=Directory scanned +NoTrigger=No trigger +NoWidget=No widget +GoToApiExplorer=API explorer +ListOfMenusEntries=List of menu entries +ListOfDictionariesEntries=List of dictionaries entries +ListOfPermissionsDefined=List of defined permissions +SeeExamples=See examples here +EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) +VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).

    Using a negative value means field is not shown by default on list but can be selected for viewing).

    It can be an expression, for example:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) +DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty +DisplayOnPdf=Display on PDF +IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) +SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) +SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. +LanguageDefDesc=Enter in this files, all the key and the translation for each language file. +MenusDefDesc=Define here the menus provided by your module +DictionariesDefDesc=Define here the dictionaries provided by your module +PermissionsDefDesc=Define here the new permissions provided by your module +MenusDefDescTooltip=The menus provided by your module/application are defined into the array $this->menus into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), menus are also visible into the menu editor available to administrator users on %s. +DictionariesDefDescTooltip=The dictionaries provided by your module/application are defined into the array $this->dictionaries into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), dictionaries are also visible into the setup area to administrator users on %s. +PermissionsDefDescTooltip=The permissions provided by your module/application are defined into the array $this->rights into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), permissions are visible into the default permissions setup %s. +HooksDefDesc=Define in the module_parts['hooks'] property, in the module descriptor, the context of hooks you want to manage (list of contexts can be found by a search on 'initHooks(' in core code).
    Edit the hook file to add code of your hooked functions (hookable functions can be found by a search on 'executeHooks' in core code). +TriggerDefDesc=Define in the trigger file the code you want to execute for each business event executed. +SeeIDsInUse=See IDs in use in your installation +SeeReservedIDsRangeHere=See range of reserved IDs +ToolkitForDevelopers=Toolkit for Dolibarr developers +TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the native module builder wizard.
    Enable the module %s and use the wizard by clicking the on the top right menu.
    Warning: This is an advanced developer feature, do not experiment on your production site! +SeeTopRightMenu=See on the top right menu +AddLanguageFile=Add language file +YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages") +DropTableIfEmpty=(Destroy table if empty) +TableDoesNotExists=The table %s does not exists +TableDropped=Table %s deleted +InitStructureFromExistingTable=Build the structure array string of an existing table +UseAboutPage=Disable the about page +UseDocFolder=Disable the documentation folder +UseSpecificReadme=Use a specific ReadMe +ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder. +RealPathOfModule=Real path of module +ContentCantBeEmpty=Content of file can't be empty +WidgetDesc=You can generate and edit here the widgets that will be embedded with your module. +CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module. +JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module. +CLIDesc=You can generate here some command line scripts you want to provide with your module. +CLIFile=CLI File +NoCLIFile=No CLI files +UseSpecificEditorName = Use a specific editor name +UseSpecificEditorURL = Use a specific editor URL +UseSpecificFamily = Use a specific family +UseSpecificAuthor = Use a specific author +UseSpecificVersion = Use a specific initial version +IncludeRefGeneration=The reference of object must be generated automatically +IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference +IncludeDocGeneration=I want to generate some documents from the object +IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. +ShowOnCombobox=Show value into combobox +KeyForTooltip=Key for tooltip +CSSClass=CSS for edit/create form +CSSViewClass=CSS for read form +CSSListClass=CSS for list +NotEditable=Not editable +ForeignKey=Foreign key +TypeOfFieldsHelp=Type of fields:
    varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) +AsciiToHtmlConverter=Ascii to HTML converter +AsciiToPdfConverter=Ascii to PDF converter +TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. +ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/tg_TJ/mrp.lang b/htdocs/langs/tg_TJ/mrp.lang new file mode 100644 index 00000000000..5d226c0f77b --- /dev/null +++ b/htdocs/langs/tg_TJ/mrp.lang @@ -0,0 +1,103 @@ +Mrp=Manufacturing Orders +MOs=Manufacturing orders +ManufacturingOrder=Manufacturing Order +MRPDescription=Module to manage production and Manufacturing Orders (MO). +MRPArea=MRP Area +MrpSetupPage=Setup of module MRP +MenuBOM=Bills of material +LatestBOMModified=Latest %s Bills of materials modified +LatestMOModified=Latest %s Manufacturing Orders modified +Bom=Bills of Material +BillOfMaterials=Bill of Materials +BOMsSetup=Setup of module BOM +ListOfBOMs=List of bills of material - BOM +ListOfManufacturingOrders=List of Manufacturing Orders +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +BOMsNumberingModules=BOM numbering templates +BOMsModelModule=BOM document templates +MOsNumberingModules=MO numbering templates +MOsModelModule=MO document templates +FreeLegalTextOnBOMs=Free text on document of BOM +WatermarkOnDraftBOMs=Watermark on draft BOM +FreeLegalTextOnMOs=Free text on document of MO +WatermarkOnDraftMOs=Watermark on draft MO +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? +ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? +ManufacturingEfficiency=Manufacturing efficiency +ConsumptionEfficiency=Consumption efficiency +ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production +ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product +DeleteBillOfMaterials=Delete Bill Of Materials +DeleteMo=Delete Manufacturing Order +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? +MenuMRP=Manufacturing Orders +NewMO=New Manufacturing Order +QtyToProduce=Qty to produce +DateStartPlannedMo=Date start planned +DateEndPlannedMo=Date end planned +KeepEmptyForAsap=Empty means 'As Soon As Possible' +EstimatedDuration=Estimated duration +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM +ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) +ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? +ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) +StatusMOProduced=Produced +QtyFrozen=Frozen Qty +QuantityFrozen=Frozen Quantity +QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. +DisableStockChange=Stock change disabled +DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed +BomAndBomLines=Bills Of Material and lines +BOMLine=Line of BOM +WarehouseForProduction=Warehouse for production +CreateMO=Create MO +ToConsume=To consume +ToProduce=To produce +QtyAlreadyConsumed=Qty already consumed +QtyAlreadyProduced=Qty already produced +QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) +ConsumeOrProduce=Consume or Produce +ConsumeAndProduceAll=Consume and Produce All +Manufactured=Manufactured +TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. +ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s +ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? +ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. +ProductionForRef=Production of %s +AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached +NoStockChangeOnServices=No stock change on services +ProductQtyToConsumeByMO=Product quantity still to consume by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO +AddNewConsumeLines=Add new line to consume +ProductsToConsume=Products to consume +ProductsToProduce=Products to produce +UnitCost=Unit cost +TotalCost=Total cost +BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price) +GoOnTabProductionToProduceFirst=You must first have started the production to close a Manufacturing Order (See tab '%s'). But you can Cancel it. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO +Workstation=Workstation +Workstations=Workstations +WorkstationsDescription=Workstations management +WorkstationSetup = Workstations setup +WorkstationSetupPage = Workstations setup page +WorkstationList=Workstation list +WorkstationCreate=Add new workstation +ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? +EnableAWorkstation=Enable a workstation +ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? +DisableAWorkstation=Disable a workstation +DeleteWorkstation=Delete +NbOperatorsRequired=Number of operators required +THMOperatorEstimated=Estimated operator THM +THMMachineEstimated=Estimated machine THM +WorkstationType=Workstation type +Human=Human +Machine=Machine +HumanMachine=Human / Machine +WorkstationArea=Workstation area +Machines=Machines +THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item diff --git a/htdocs/langs/tg_TJ/multicurrency.lang b/htdocs/langs/tg_TJ/multicurrency.lang new file mode 100644 index 00000000000..26313c6bfb9 --- /dev/null +++ b/htdocs/langs/tg_TJ/multicurrency.lang @@ -0,0 +1,38 @@ +# Dolibarr language file - Source file is en_US - multicurrency +MultiCurrency=Multi currency +ErrorAddRateFail=Error in added rate +ErrorAddCurrencyFail=Error in added currency +ErrorDeleteCurrencyFail=Error delete fail +multicurrency_syncronize_error=Synchronization error: %s +MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Use the date of the document to find the currency rate, instead of using the latest known rate +multicurrency_useOriginTx=When an object is created from another, keep the original rate from the source object (otherwise use the latest known rate) +CurrencyLayerAccount=CurrencyLayer API +CurrencyLayerAccount_help_to_synchronize=You must create an account on website %s to use this functionality.
    Get your API key.
    If you use a free account, you can't change the source currency (USD by default).
    If your main currency is not USD, the application will automatically recalculate it.

    You are limited to 1000 synchronizations per month. +multicurrency_appId=API key +multicurrency_appCurrencySource=Source currency +multicurrency_alternateCurrencySource=Alternate source currency +CurrenciesUsed=Currencies used +CurrenciesUsed_help_to_add=Add the different currencies and rates you need to use on your proposals, orders etc. +rate=rate +MulticurrencyReceived=Received, original currency +MulticurrencyRemainderToTake=Remaining amount, original currency +MulticurrencyPaymentAmount=Payment amount, original currency +AmountToOthercurrency=Amount To (in currency of receiving account) +CurrencyRateSyncSucceed=Currency rate synchronization done successfuly +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Use the currency of the document for online payments +TabTitleMulticurrencyRate=Rate list +ListCurrencyRate=List of exchange rates for the currency +CreateRate=Create a rate +FormCreateRate=Rate creation +FormUpdateRate=Rate modification +successRateCreate=Rate for currency %s has been added to the database +ConfirmDeleteLineRate=Are you sure you want to remove the %s rate for currency %s on %s date? +DeleteLineRate=Clear rate +successRateDelete=Rate deleted +errorRateDelete=Error when deleting the rate +successUpdateRate=Modification made +ErrorUpdateRate=Error when changing the rate +Codemulticurrency=currency code +UpdateRate=change the rate +CancelUpdate=cancel +NoEmptyRate=The rate field must not be empty diff --git a/htdocs/langs/tg_TJ/oauth.lang b/htdocs/langs/tg_TJ/oauth.lang new file mode 100644 index 00000000000..075ff49a895 --- /dev/null +++ b/htdocs/langs/tg_TJ/oauth.lang @@ -0,0 +1,32 @@ +# Dolibarr language file - Source file is en_US - oauth +ConfigOAuth=OAuth Configuration +OAuthServices=OAuth Services +ManualTokenGeneration=Manual token generation +TokenManager=Token Manager +IsTokenGenerated=Is token generated ? +NoAccessToken=No access token saved into local database +HasAccessToken=A token was generated and saved into local database +NewTokenStored=Token received and saved +ToCheckDeleteTokenOnProvider=Click here to check/delete authorization saved by %s OAuth provider +TokenDeleted=Token deleted +RequestAccess=Click here to request/renew access and receive a new token to save +DeleteAccess=Click here to delete token +UseTheFollowingUrlAsRedirectURI=Use the following URL as the Redirect URI when creating your credentials with your OAuth provider: +ListOfSupportedOauthProviders=Enter the credentials provided by your OAuth2 provider. Only supported OAuth2 providers are listedd here. These services may be used by other modules that need OAuth2 authentication. +OAuthSetupForLogin=Page to generate an OAuth token +SeePreviousTab=See previous tab +OAuthIDSecret=OAuth ID and Secret +TOKEN_REFRESH=Token Refresh Present +TOKEN_EXPIRED=Token expired +TOKEN_EXPIRE_AT=Token expire at +TOKEN_DELETE=Delete saved token +OAUTH_GOOGLE_NAME=OAuth Google service +OAUTH_GOOGLE_ID=OAuth Google Id +OAUTH_GOOGLE_SECRET=OAuth Google Secret +OAUTH_GOOGLE_DESC=Go to this page then "Credentials" to create OAuth credentials +OAUTH_GITHUB_NAME=OAuth GitHub service +OAUTH_GITHUB_ID=OAuth GitHub Id +OAUTH_GITHUB_SECRET=OAuth GitHub Secret +OAUTH_GITHUB_DESC=Go to this page then "Register a new application" to create OAuth credentials +OAUTH_STRIPE_TEST_NAME=OAuth Stripe Test +OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live diff --git a/htdocs/langs/tg_TJ/opensurvey.lang b/htdocs/langs/tg_TJ/opensurvey.lang new file mode 100644 index 00000000000..7d26151fa16 --- /dev/null +++ b/htdocs/langs/tg_TJ/opensurvey.lang @@ -0,0 +1,61 @@ +# Dolibarr language file - Source file is en_US - opensurvey +Survey=Poll +Surveys=Polls +OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select the type of poll... +NewSurvey=New poll +OpenSurveyArea=Polls area +AddACommentForPoll=You can add a comment into poll... +AddComment=Add comment +CreatePoll=Create poll +PollTitle=Poll title +ToReceiveEMailForEachVote=Receive an email for each vote +TypeDate=Type date +TypeClassic=Type standard +OpenSurveyStep2=Select your dates among the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it +RemoveAllDays=Remove all days +CopyHoursOfFirstDay=Copy hours of first day +RemoveAllHours=Remove all hours +SelectedDays=Selected days +TheBestChoice=The best choice currently is +TheBestChoices=The best choices currently are +with=with +OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. +CommentsOfVoters=Comments of voters +ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) +RemovePoll=Remove poll +UrlForSurvey=URL to communicate to get a direct access to poll +PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: +CreateSurveyDate=Create a date poll +CreateSurveyStandard=Create a standard poll +CheckBox=Simple checkbox +YesNoList=List (empty/yes/no) +PourContreList=List (empty/for/against) +AddNewColumn=Add new column +TitleChoice=Choice label +ExportSpreadsheet=Export result spreadsheet +ExpireDate=Limit date +NbOfSurveys=Number of polls +NbOfVoters=No. of voters +SurveyResults=Results +PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. +5MoreChoices=5 more choices +Against=Against +YouAreInivitedToVote=You are invited to vote for this poll +VoteNameAlreadyExists=This name was already used for this poll +AddADate=Add a date +AddStartHour=Add start hour +AddEndHour=Add end hour +votes=vote(s) +NoCommentYet=No comments have been posted for this poll yet +CanComment=Voters can comment in the poll +CanSeeOthersVote=Voters can see other people's vote +SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format:
    - empty,
    - "8h", "8H" or "8:00" to give a meeting's start hour,
    - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
    - "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. +BackToCurrentMonth=Back to current month +ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation +ErrorOpenSurveyOneChoice=Enter at least one choice +ErrorInsertingComment=There was an error while inserting your comment +MoreChoices=Enter more choices for the voters +SurveyExpiredInfo=The poll has been closed or voting delay has expired. +EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s +ShowSurvey=Show survey +UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment diff --git a/htdocs/langs/tg_TJ/orders.lang b/htdocs/langs/tg_TJ/orders.lang new file mode 100644 index 00000000000..5dab5b99bf1 --- /dev/null +++ b/htdocs/langs/tg_TJ/orders.lang @@ -0,0 +1,193 @@ +# Dolibarr language file - Source file is en_US - orders +OrdersArea=Customers orders area +SuppliersOrdersArea=Purchase orders area +OrderCard=Order card +OrderId=Order Id +Order=Order +PdfOrderTitle=Order +Orders=Orders +OrderLine=Order line +OrderDate=Order date +OrderDateShort=Order date +OrderToProcess=Order to process +NewOrder=New order +NewSupplierOrderShort=New order +NewOrderSupplier=New Purchase Order +ToOrder=Make order +MakeOrder=Make order +SupplierOrder=Purchase order +SuppliersOrders=Purchase orders +SaleOrderLines=Sale order lines +PurchaseOrderLines=Puchase order lines +SuppliersOrdersRunning=Current purchase orders +CustomerOrder=Sales Order +CustomersOrders=Sales Orders +CustomersOrdersRunning=Current sales orders +CustomersOrdersAndOrdersLines=Sales orders and order details +OrdersDeliveredToBill=Sales orders delivered to bill +OrdersToBill=Sales orders delivered +OrdersInProcess=Sales orders in process +OrdersToProcess=Sales orders to process +SuppliersOrdersToProcess=Purchase orders to process +SuppliersOrdersAwaitingReception=Purchase orders awaiting reception +AwaitingReception=Awaiting reception +StatusOrderCanceledShort=Canceled +StatusOrderDraftShort=Draft +StatusOrderValidatedShort=Validated +StatusOrderSentShort=In process +StatusOrderSent=Shipment in process +StatusOrderOnProcessShort=Ordered +StatusOrderProcessedShort=Processed +StatusOrderDelivered=Delivered +StatusOrderDeliveredShort=Delivered +StatusOrderToBillShort=Delivered +StatusOrderApprovedShort=Approved +StatusOrderRefusedShort=Refused +StatusOrderToProcessShort=To process +StatusOrderReceivedPartiallyShort=Partially received +StatusOrderReceivedAllShort=Products received +StatusOrderCanceled=Canceled +StatusOrderDraft=Draft (needs to be validated) +StatusOrderValidated=Validated +StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusOrderProcessed=Processed +StatusOrderToBill=Delivered +StatusOrderApproved=Approved +StatusOrderRefused=Refused +StatusOrderReceivedPartially=Partially received +StatusOrderReceivedAll=All products received +ShippingExist=A shipment exists +QtyOrdered=Qty ordered +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +MenuOrdersToBill=Orders delivered +MenuOrdersToBill2=Billable orders +ShipProduct=Ship product +CreateOrder=Create Order +RefuseOrder=Refuse order +ApproveOrder=Approve order +Approve2Order=Approve order (second level) +ValidateOrder=Validate order +UnvalidateOrder=Unvalidate order +DeleteOrder=Delete order +CancelOrder=Cancel order +OrderReopened= Order %s re-open +AddOrder=Create order +AddSupplierOrderShort=Create order +AddPurchaseOrder=Create purchase order +AddToDraftOrders=Add to draft order +ShowOrder=Show order +OrdersOpened=Orders to process +NoDraftOrders=No draft orders +NoOrder=No order +NoSupplierOrder=No purchase order +LastOrders=Latest %s sales orders +LastCustomerOrders=Latest %s sales orders +LastSupplierOrders=Latest %s purchase orders +LastModifiedOrders=Latest %s modified orders +AllOrders=All orders +NbOfOrders=Number of orders +OrdersStatistics=Order's statistics +OrdersStatisticsSuppliers=Purchase order statistics +NumberOfOrdersByMonth=Number of orders by month +AmountOfOrdersByMonthHT=Amount of orders by month (excl. tax) +ListOfOrders=List of orders +CloseOrder=Close order +ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. +ConfirmDeleteOrder=Are you sure you want to delete this order? +ConfirmValidateOrder=Are you sure you want to validate this order under name %s? +ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status? +ConfirmCancelOrder=Are you sure you want to cancel this order? +ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s? +GenerateBill=Generate invoice +ClassifyShipped=Classify delivered +DraftOrders=Draft orders +DraftSuppliersOrders=Draft purchase orders +OnProcessOrders=In process orders +RefOrder=Ref. order +RefCustomerOrder=Ref. order for customer +RefOrderSupplier=Ref. order for vendor +RefOrderSupplierShort=Ref. order vendor +SendOrderByMail=Send order by mail +ActionsOnOrder=Events on order +NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order +OrderMode=Order method +AuthorRequest=Request author +UserWithApproveOrderGrant=Users granted with "approve orders" permission. +PaymentOrderRef=Payment of order %s +ConfirmCloneOrder=Are you sure you want to clone this order %s? +DispatchSupplierOrder=Receiving purchase order %s +FirstApprovalAlreadyDone=First approval already done +SecondApprovalAlreadyDone=Second approval already done +SupplierOrderReceivedInDolibarr=Purchase Order %s received %s +SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted +SupplierOrderClassifiedBilled=Purchase Order %s set billed +OtherOrders=Other orders +##### Types de contacts ##### +TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order +TypeContact_commande_internal_SHIPPING=Representative following-up shipping +TypeContact_commande_external_BILLING=Customer invoice contact +TypeContact_commande_external_SHIPPING=Customer shipping contact +TypeContact_commande_external_CUSTOMER=Customer contact following-up order +TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up purchase order +TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping +TypeContact_order_supplier_external_BILLING=Vendor invoice contact +TypeContact_order_supplier_external_SHIPPING=Vendor shipping contact +TypeContact_order_supplier_external_CUSTOMER=Vendor contact following-up order +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined +Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined +Error_OrderNotChecked=No orders to invoice selected +# Order modes (how we receive order). Not the "why" are keys stored into dict.lang +OrderByMail=Mail +OrderByFax=Fax +OrderByEMail=Email +OrderByWWW=Online +OrderByPhone=Phone +# Documents models +PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) +PDFEratostheneDescription=A complete order model +PDFEdisonDescription=A simple order model +PDFProformaDescription=A complete Proforma invoice template +CreateInvoiceForThisCustomer=Bill orders +CreateInvoiceForThisSupplier=Bill orders +NoOrdersToInvoice=No orders billable +CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. +OrderCreation=Order creation +Ordered=Ordered +OrderCreated=Your orders have been created +OrderFail=An error happened during your orders creation +CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". +OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. +IfValidateInvoiceIsNoOrderStayUnbilled=If invoice validation is 'No', the order will remain to status 'Unbilled' until the invoice is validated. +CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. +SetShippingMode=Set shipping mode +WithReceptionFinished=With reception finished +#### supplier orders status +StatusSupplierOrderCanceledShort=Canceled +StatusSupplierOrderDraftShort=Draft +StatusSupplierOrderValidatedShort=Validated +StatusSupplierOrderSentShort=In process +StatusSupplierOrderSent=Shipment in process +StatusSupplierOrderOnProcessShort=Ordered +StatusSupplierOrderProcessedShort=Processed +StatusSupplierOrderDelivered=Delivered +StatusSupplierOrderDeliveredShort=Delivered +StatusSupplierOrderToBillShort=Delivered +StatusSupplierOrderApprovedShort=Approved +StatusSupplierOrderRefusedShort=Refused +StatusSupplierOrderToProcessShort=To process +StatusSupplierOrderReceivedPartiallyShort=Partially received +StatusSupplierOrderReceivedAllShort=Products received +StatusSupplierOrderCanceled=Canceled +StatusSupplierOrderDraft=Draft (needs to be validated) +StatusSupplierOrderValidated=Validated +StatusSupplierOrderOnProcess=Ordered - Standby reception +StatusSupplierOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusSupplierOrderProcessed=Processed +StatusSupplierOrderToBill=Delivered +StatusSupplierOrderApproved=Approved +StatusSupplierOrderRefused=Refused +StatusSupplierOrderReceivedPartially=Partially received +StatusSupplierOrderReceivedAll=All products received diff --git a/htdocs/langs/tg_TJ/other.lang b/htdocs/langs/tg_TJ/other.lang new file mode 100644 index 00000000000..ea280968ef4 --- /dev/null +++ b/htdocs/langs/tg_TJ/other.lang @@ -0,0 +1,297 @@ +# Dolibarr language file - Source file is en_US - other +SecurityCode=Security code +NumberingShort=N° +Tools=Tools +TMenuTools=Tools +ToolsDesc=All tools not included in other menu entries are grouped here.
    All the tools can be accessed via the left menu. +Birthday=Birthday +BirthdayAlertOn=birthday alert active +BirthdayAlertOff=birthday alert inactive +TransKey=Translation of the key TransKey +MonthOfInvoice=Month (number 1-12) of invoice date +TextMonthOfInvoice=Month (text) of invoice date +PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date +TextPreviousMonthOfInvoice=Previous month (text) of invoice date +NextMonthOfInvoice=Following month (number 1-12) of invoice date +TextNextMonthOfInvoice=Following month (text) of invoice date +PreviousMonth=Previous month +CurrentMonth=Current month +ZipFileGeneratedInto=Zip file generated into %s. +DocFileGeneratedInto=Doc file generated into %s. +JumpToLogin=Disconnected. Go to login page... +MessageForm=Message on online payment form +MessageOK=Message on the return page for a validated payment +MessageKO=Message on the return page for a canceled payment +ContentOfDirectoryIsNotEmpty=Content of this directory is not empty. +DeleteAlsoContentRecursively=Check to delete all content recursively +PoweredBy=Powered by +YearOfInvoice=Year of invoice date +PreviousYearOfInvoice=Previous year of invoice date +NextYearOfInvoice=Following year of invoice date +DateNextInvoiceBeforeGen=Date of next invoice (before generation) +DateNextInvoiceAfterGen=Date of next invoice (after generation) +GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. +OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. +AtLeastOneMeasureIsRequired=At least 1 field for measure is required +AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required +LatestBlogPosts=Latest Blog Posts +Notify_ORDER_VALIDATE=Sales order validated +Notify_ORDER_SENTBYMAIL=Sales order sent by mail +Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email +Notify_ORDER_SUPPLIER_VALIDATE=Purchase order recorded +Notify_ORDER_SUPPLIER_APPROVE=Purchase order approved +Notify_ORDER_SUPPLIER_REFUSE=Purchase order refused +Notify_PROPAL_VALIDATE=Customer proposal validated +Notify_PROPAL_CLOSE_SIGNED=Customer proposal closed signed +Notify_PROPAL_CLOSE_REFUSED=Customer proposal closed refused +Notify_PROPAL_SENTBYMAIL=Commercial proposal sent by mail +Notify_WITHDRAW_TRANSMIT=Transmission withdrawal +Notify_WITHDRAW_CREDIT=Credit withdrawal +Notify_WITHDRAW_EMIT=Perform withdrawal +Notify_COMPANY_CREATE=Third party created +Notify_COMPANY_SENTBYMAIL=Mails sent from third party card +Notify_BILL_VALIDATE=Customer invoice validated +Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_BILL_PAYED=Customer invoice paid +Notify_BILL_CANCEL=Customer invoice canceled +Notify_BILL_SENTBYMAIL=Customer invoice sent by mail +Notify_BILL_SUPPLIER_VALIDATE=Vendor invoice validated +Notify_BILL_SUPPLIER_PAYED=Vendor invoice paid +Notify_BILL_SUPPLIER_SENTBYMAIL=Vendor invoice sent by mail +Notify_BILL_SUPPLIER_CANCELED=Vendor invoice cancelled +Notify_CONTRACT_VALIDATE=Contract validated +Notify_FICHINTER_VALIDATE=Intervention validated +Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention +Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail +Notify_SHIPPING_VALIDATE=Shipping validated +Notify_SHIPPING_SENTBYMAIL=Shipping sent by mail +Notify_MEMBER_VALIDATE=Member validated +Notify_MEMBER_MODIFY=Member modified +Notify_MEMBER_SUBSCRIPTION=Member subscribed +Notify_MEMBER_RESILIATE=Member terminated +Notify_MEMBER_DELETE=Member deleted +Notify_PROJECT_CREATE=Project creation +Notify_TASK_CREATE=Task created +Notify_TASK_MODIFY=Task modified +Notify_TASK_DELETE=Task deleted +Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) +Notify_EXPENSE_REPORT_APPROVE=Expense report approved +Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) +Notify_HOLIDAY_APPROVE=Leave request approved +Notify_ACTION_CREATE=Added action to Agenda +SeeModuleSetup=See setup of module %s +NbOfAttachedFiles=Number of attached files/documents +TotalSizeOfAttachedFiles=Total size of attached files/documents +MaxSize=Maximum size +AttachANewFile=Attach a new file/document +LinkedObject=Linked object +NbOfActiveNotifications=Number of notifications (no. of recipient emails) +PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\n\n__USER_SIGNATURE__ +PredefinedMailTestHtml=__(Hello)__
    This is a test mail sent to __EMAIL__ (the word test must be in bold).
    The lines are separated by a carriage return.

    __USER_SIGNATURE__ +PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached \n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__(Hello)__\n\nWe would like to remind you that the invoice __REF__ seems to have not been paid. A copy of the invoice is attached as a reminder.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendProposal=__(Hello)__\n\nPlease find commercial proposal __REF__ attached \n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierProposal=__(Hello)__\n\nPlease find price request __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendOrder=__(Hello)__\n\nPlease find order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nPlease find our order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n +PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__

    This is an automatic message, please do not reply. +DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available. +ChooseYourDemoProfil=Choose the demo profile that best suits your needs... +ChooseYourDemoProfilMore=...or build your own profile
    (manual module selection) +DemoFundation=Manage members of a foundation +DemoFundation2=Manage members and bank account of a foundation +DemoCompanyServiceOnly=Company or freelance selling service only +DemoCompanyShopWithCashDesk=Manage a shop with a cash desk +DemoCompanyProductAndStocks=Shop selling products with Point Of Sales +DemoCompanyManufacturing=Company manufacturing products +DemoCompanyAll=Company with multiple activities (all main modules) +CreatedBy=Created by %s +ModifiedBy=Modified by %s +ValidatedBy=Validated by %s +SignedBy=Signed by %s +ClosedBy=Closed by %s +CreatedById=User id who created +ModifiedById=User id who made latest change +ValidatedById=User id who validated +CanceledById=User id who canceled +ClosedById=User id who closed +CreatedByLogin=User login who created +ModifiedByLogin=User login who made latest change +ValidatedByLogin=User login who validated +CanceledByLogin=User login who canceled +ClosedByLogin=User login who closed +FileWasRemoved=File %s was removed +DirWasRemoved=Directory %s was removed +FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse +FeaturesSupported=Supported features +Width=Width +Height=Height +Depth=Depth +Top=Top +Bottom=Bottom +Left=Left +Right=Right +CalculatedWeight=Calculated weight +CalculatedVolume=Calculated volume +Weight=Weight +WeightUnitton=ton +WeightUnitkg=kg +WeightUnitg=g +WeightUnitmg=mg +WeightUnitpound=pound +WeightUnitounce=ounce +Length=Length +LengthUnitm=m +LengthUnitdm=dm +LengthUnitcm=cm +LengthUnitmm=mm +Surface=Area +SurfaceUnitm2=m² +SurfaceUnitdm2=dm² +SurfaceUnitcm2=cm² +SurfaceUnitmm2=mm² +SurfaceUnitfoot2=ft² +SurfaceUnitinch2=in² +Volume=Volume +VolumeUnitm3=m³ +VolumeUnitdm3=dm³ (L) +VolumeUnitcm3=cm³ (ml) +VolumeUnitmm3=mm³ (µl) +VolumeUnitfoot3=ft³ +VolumeUnitinch3=in³ +VolumeUnitounce=ounce +VolumeUnitlitre=litre +VolumeUnitgallon=gallon +SizeUnitm=m +SizeUnitdm=dm +SizeUnitcm=cm +SizeUnitmm=mm +SizeUnitinch=inch +SizeUnitfoot=foot +SizeUnitpoint=point +BugTracker=Bug tracker +SendNewPasswordDesc=This form allows you to request a new password. It will be sent to your email address.
    Change will become effective once you click on the confirmation link in the email.
    Check your inbox. +BackToLoginPage=Back to login page +AuthenticationDoesNotAllowSendNewPassword=Authentication mode is %s.
    In this mode, Dolibarr can't know nor change your password.
    Contact your system administrator if you want to change your password. +EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option. +ProfIdShortDesc=Prof Id %s is an information depending on third party country.
    For example, for country %s, it's code %s. +DolibarrDemo=Dolibarr ERP/CRM demo +StatsByNumberOfUnits=Statistics for sum of qty of products/services +StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +NumberOfProposals=Number of proposals +NumberOfCustomerOrders=Number of sales orders +NumberOfCustomerInvoices=Number of customer invoices +NumberOfSupplierProposals=Number of vendor proposals +NumberOfSupplierOrders=Number of purchase orders +NumberOfSupplierInvoices=Number of vendor invoices +NumberOfContracts=Number of contracts +NumberOfMos=Number of manufacturing orders +NumberOfUnitsProposals=Number of units on proposals +NumberOfUnitsCustomerOrders=Number of units on sales orders +NumberOfUnitsCustomerInvoices=Number of units on customer invoices +NumberOfUnitsSupplierProposals=Number of units on vendor proposals +NumberOfUnitsSupplierOrders=Number of units on purchase orders +NumberOfUnitsSupplierInvoices=Number of units on vendor invoices +NumberOfUnitsContracts=Number of units on contracts +NumberOfUnitsMos=Number of units to produce in manufacturing orders +EMailTextInterventionAddedContact=A new intervention %s has been assigned to you. +EMailTextInterventionValidated=The intervention %s has been validated. +EMailTextInvoiceValidated=Invoice %s has been validated. +EMailTextInvoicePayed=Invoice %s has been paid. +EMailTextProposalValidated=Proposal %s has been validated. +EMailTextProposalClosedSigned=Proposal %s has been closed signed. +EMailTextOrderValidated=Order %s has been validated. +EMailTextOrderApproved=Order %s has been approved. +EMailTextOrderValidatedBy=Order %s has been recorded by %s. +EMailTextOrderApprovedBy=Order %s has been approved by %s. +EMailTextOrderRefused=Order %s has been refused. +EMailTextOrderRefusedBy=Order %s has been refused by %s. +EMailTextExpeditionValidated=Shipping %s has been validated. +EMailTextExpenseReportValidated=Expense report %s has been validated. +EMailTextExpenseReportApproved=Expense report %s has been approved. +EMailTextHolidayValidated=Leave request %s has been validated. +EMailTextHolidayApproved=Leave request %s has been approved. +EMailTextActionAdded=The action %s has been added to the Agenda. +ImportedWithSet=Importation data set +DolibarrNotification=Automatic notification +ResizeDesc=Enter new width OR new height. Ratio will be kept during resizing... +NewLength=New width +NewHeight=New height +NewSizeAfterCropping=New size after cropping +DefineNewAreaToPick=Define new area on image to pick (left click on image then drag until you reach the opposite corner) +CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is the information on the current edited image +ImageEditor=Image editor +YouReceiveMailBecauseOfNotification=You receive this message because your email has been added to list of targets to be informed of particular events into %s software of %s. +YouReceiveMailBecauseOfNotification2=This event is the following: +ThisIsListOfModules=This is a list of modules preselected by this demo profile (only most common modules are visible in this demo). Edit this to have a more personalized demo and click on "Start". +UseAdvancedPerms=Use the advanced permissions of some modules +FileFormat=File format +SelectAColor=Choose a color +AddFiles=Add Files +StartUpload=Start upload +CancelUpload=Cancel upload +FileIsTooBig=Files is too big +PleaseBePatient=Please be patient... +NewPassword=New password +ResetPassword=Reset password +RequestToResetPasswordReceived=A request to change your password has been received. +NewKeyIs=This is your new keys to login +NewKeyWillBe=Your new key to login to software will be +ClickHereToGoTo=Click here to go to %s +YouMustClickToChange=You must however first click on the following link to validate this password change +ConfirmPasswordChange=Confirm password change +ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. +IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources +Chart=Chart +PassEncoding=Password encoding +PermissionsAdd=Permissions added +PermissionsDelete=Permissions removed +YourPasswordMustHaveAtLeastXChars=Your password must have at least %s chars +YourPasswordHasBeenReset=Your password has been reset successfully +ApplicantIpAddress=IP address of applicant +SMSSentTo=SMS sent to %s +MissingIds=Missing ids +ThirdPartyCreatedByEmailCollector=Third party created by email collector from email MSGID %s +ContactCreatedByEmailCollector=Contact/address created by email collector from email MSGID %s +ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s +TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s +OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 +SuffixSessionName=Suffix for session name + +##### Export ##### +ExportsArea=Exports area +AvailableFormats=Available formats +LibraryUsed=Library used +LibraryVersion=Library version +ExportableDatas=Exportable data +NoExportableData=No exportable data (no modules with exportable data loaded, or missing permissions) +##### External sites ##### +WebsiteSetup=Setup of module website +WEBSITE_PAGEURL=URL of page +WEBSITE_TITLE=Title +WEBSITE_DESCRIPTION=Description +WEBSITE_IMAGE=Image +WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). +WEBSITE_KEYWORDS=Keywords +LinesToImport=Lines to import + +MemoryUsage=Memory usage +RequestDuration=Duration of request +ProductsPerPopularity=Products/Services by popularity +PopuProp=Products/Services by popularity in Proposals +PopuCom=Products/Services by popularity in Orders +ProductStatistics=Products/Services Statistics +NbOfQtyInOrders=Qty in orders +SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/tg_TJ/partnership.lang b/htdocs/langs/tg_TJ/partnership.lang new file mode 100644 index 00000000000..606c3a0df3b --- /dev/null +++ b/htdocs/langs/tg_TJ/partnership.lang @@ -0,0 +1,91 @@ +# Copyright (C) 2021 NextGestion +# +# 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 . + +# +# Generic +# +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management +PartnershipDescriptionLong= Module Partnership management + +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + +# +# Menu +# +NewPartnership=New Partnership +ListOfPartnerships=List of partnership + +# +# Admin page +# +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. + +# +# Object +# +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member +DatePartnershipStart=Start date +DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type + +# +# Template Mail +# +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled + +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason + +# +# Status +# +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled +PartnershipManagedFor=Partners are diff --git a/htdocs/langs/tg_TJ/paybox.lang b/htdocs/langs/tg_TJ/paybox.lang new file mode 100644 index 00000000000..6f320c03181 --- /dev/null +++ b/htdocs/langs/tg_TJ/paybox.lang @@ -0,0 +1,30 @@ +# Dolibarr language file - Source file is en_US - paybox +PayBoxSetup=PayBox module setup +PayBoxDesc=This module offer pages to allow payment on Paybox by customers. This can be used for a free payment or for a payment on a particular Dolibarr object (invoice, order, ...) +FollowingUrlAreAvailableToMakePayments=Following URLs are available to offer a page to a customer to make a payment on Dolibarr objects +PaymentForm=Payment form +WelcomeOnPaymentPage=Welcome to our online payment service +ThisScreenAllowsYouToPay=This screen allow you to make an online payment to %s. +ThisIsInformationOnPayment=This is information on payment to do +ToComplete=To complete +YourEMail=Email to receive payment confirmation +Creditor=Creditor +PaymentCode=Payment code +PayBoxDoPayment=Pay with Paybox +YouWillBeRedirectedOnPayBox=You will be redirected on secured Paybox page to input you credit card information +Continue=Next +SetupPayBoxToHavePaymentCreatedAutomatically=Setup your Paybox with url %s to have payment created automatically when validated by Paybox. +YourPaymentHasBeenRecorded=This page confirms that your payment has been recorded. Thank you. +YourPaymentHasNotBeenRecorded=Your payment has NOT been recorded and the transaction has been canceled. Thank you. +AccountParameter=Account parameters +UsageParameter=Usage parameters +InformationToFindParameters=Help to find your %s account information +PAYBOX_CGI_URL_V2=Url of Paybox CGI module for payment +CSSUrlForPaymentForm=CSS style sheet url for payment form +NewPayboxPaymentReceived=New Paybox payment received +NewPayboxPaymentFailed=New Paybox payment tried but failed +PAYBOX_PAYONLINE_SENDEMAIL=Email notification after payment attempt (success or fail) +PAYBOX_PBX_SITE=Value for PBX SITE +PAYBOX_PBX_RANG=Value for PBX Rang +PAYBOX_PBX_IDENTIFIANT=Value for PBX ID +PAYBOX_HMAC_KEY=HMAC key diff --git a/htdocs/langs/tg_TJ/paypal.lang b/htdocs/langs/tg_TJ/paypal.lang new file mode 100644 index 00000000000..5eb5f389445 --- /dev/null +++ b/htdocs/langs/tg_TJ/paypal.lang @@ -0,0 +1,36 @@ +# Dolibarr language file - Source file is en_US - paypal +PaypalSetup=PayPal module setup +PaypalDesc=This module allows payment by customers via PayPal. This can be used for a ad-hoc payment or for a payment related to a Dolibarr object (invoice, order, ...) +PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal) +PaypalDoPayment=Pay with PayPal +PAYPAL_API_SANDBOX=Mode test/sandbox +PAYPAL_API_USER=API username +PAYPAL_API_PASSWORD=API password +PAYPAL_API_SIGNATURE=API signature +PAYPAL_SSLVERSION=Curl SSL Version +PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer "integral" payment (Credit card+PayPal) or "PayPal" only +PaypalModeIntegral=Integral +PaypalModeOnlyPaypal=PayPal only +ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page +ThisIsTransactionId=This is id of transaction: %s +PAYPAL_ADD_PAYMENT_URL=Include the PayPal payment url when you send a document by email +NewOnlinePaymentReceived=New online payment received +NewOnlinePaymentFailed=New online payment tried but failed +ONLINE_PAYMENT_SENDEMAIL=Email address for notifications after each payment attempt (for success and fail) +ReturnURLAfterPayment=Return URL after payment +ValidationOfOnlinePaymentFailed=Validation of online payment failed +PaymentSystemConfirmPaymentPageWasCalledButFailed=Payment confirmation page was called by payment system returned an error +SetExpressCheckoutAPICallFailed=SetExpressCheckout API call failed. +DoExpressCheckoutPaymentAPICallFailed=DoExpressCheckoutPayment API call failed. +DetailedErrorMessage=Detailed Error Message +ShortErrorMessage=Short Error Message +ErrorCode=Error Code +ErrorSeverityCode=Error Severity Code +OnlinePaymentSystem=Online payment system +PaypalLiveEnabled=PayPal "live" mode enabled (otherwise test/sandbox mode) +PaypalImportPayment=Import PayPal payments +PostActionAfterPayment=Post actions after payments +ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. +ValidationOfPaymentFailed=Validation of payment has failed +CardOwner=Card holder +PayPalBalance=Paypal credit diff --git a/htdocs/langs/tg_TJ/printing.lang b/htdocs/langs/tg_TJ/printing.lang new file mode 100644 index 00000000000..16494583550 --- /dev/null +++ b/htdocs/langs/tg_TJ/printing.lang @@ -0,0 +1,54 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Setup of Direct Printing System +PrintingDesc=This module adds a Print button to various modules to allow documents to be printed directly to a printer without needing to open the document in another application. +MenuDirectPrinting=Direct Printing jobs +DirectPrint=Direct print +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +ViaModule=via the module +NoActivePrintingModuleFound=No active driver to print document. Check setup of module %s. +PleaseSelectaDriverfromList=Please select a driver from list. +PleaseConfigureDriverfromList=Please configure the selected driver from list. +SetupDriver=Driver setup +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP_INFO=Google OAuth API setup +PRINTGCP_AUTHLINK=Authentication +PRINTGCP_TOKEN_ACCESS=Google Cloud Print OAuth Token +PrintGCPDesc=This driver allows sending documents directly to a printer using Google Cloud Print. +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PrintIPPDesc=This driver allows sending of documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +DirectPrintingJobsDesc=This page lists printing jobs found for available printers. +GoogleAuthNotConfigured=Google OAuth has not been setup. Enable module OAuth and set a Google ID/Secret. +GoogleAuthConfigured=Google OAuth credentials were found into setup of module OAuth. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintingDriverDescprintipp=Configuration variables for printing driver Cups. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PrintTestDescprintipp=List of Printers for Cups. diff --git a/htdocs/langs/tg_TJ/productbatch.lang b/htdocs/langs/tg_TJ/productbatch.lang new file mode 100644 index 00000000000..763af20c6b4 --- /dev/null +++ b/htdocs/langs/tg_TJ/productbatch.lang @@ -0,0 +1,43 @@ +# ProductBATCH language file - Source file is en_US - ProductBATCH +ManageLotSerial=Use lot/serial number +ProductStatusOnBatch=Yes (lot required) +ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusNotOnBatch=No (lot/serial not used) +ProductStatusOnBatchShort=Lot +ProductStatusOnSerialShort=Serial +ProductStatusNotOnBatchShort=No +Batch=Lot/Serial +atleast1batchfield=Eat-by date or Sell-by date or Lot/Serial number +batch_number=Lot/Serial number +BatchNumberShort=Lot/Serial +EatByDate=Eat-by date +SellByDate=Sell-by date +DetailBatchNumber=Lot/Serial details +printBatch=Lot/Serial: %s +printEatby=Eat-by: %s +printSellby=Sell-by: %s +printQty=Qty: %d +AddDispatchBatchLine=Add a line for Shelf Life dispatching +WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, automatic stock decrease is forced to 'Decrease real stocks on shipping validation' and automatic increase mode is forced to 'Increase real stocks on manual dispatching into warehouses' and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use lot/serial number +ProductLotSetup=Setup of module lot/serial +ShowCurrentStockOfLot=Show current stock for couple product/lot +ShowLogOfMovementIfLot=Show log of movements for couple product/lot +StockDetailPerBatch=Stock detail per lot +SerialNumberAlreadyInUse=Serial number %s is already used for product %s +TooManyQtyForSerialNumber=You can only have one product %s for serial number %s +ManageLotMask=Custom mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) +QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/tg_TJ/products.lang b/htdocs/langs/tg_TJ/products.lang new file mode 100644 index 00000000000..bf34efe3f79 --- /dev/null +++ b/htdocs/langs/tg_TJ/products.lang @@ -0,0 +1,401 @@ +# Dolibarr language file - Source file is en_US - products +ProductRef=Product ref. +ProductLabel=Product label +ProductLabelTranslated=Translated product label +ProductDescription=Product description +ProductDescriptionTranslated=Translated product description +ProductNoteTranslated=Translated product note +ProductServiceCard=Products/Services card +TMenuProducts=Products +TMenuServices=Services +Products=Products +Services=Services +Product=Product +Service=Service +ProductId=Product/service id +Create=Create +Reference=Reference +NewProduct=New product +NewService=New service +ProductVatMassChange=Global VAT Update +ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL products and services! +MassBarcodeInit=Mass barcode init +MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. +ProductAccountancyBuyCode=Accounting code (purchase) +ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) +ProductAccountancyBuyExportCode=Accounting code (purchase import) +ProductAccountancySellCode=Accounting code (sale) +ProductAccountancySellIntraCode=Accounting code (sale intra-Community) +ProductAccountancySellExportCode=Accounting code (sale export) +ProductOrService=Product or Service +ProductsAndServices=Products and Services +ProductsOrServices=Products or Services +ProductsPipeServices=Products | Services +ProductsOnSale=Products for sale +ProductsOnPurchase=Products for purchase +ProductsOnSaleOnly=Products for sale only +ProductsOnPurchaseOnly=Products for purchase only +ProductsNotOnSell=Products not for sale and not for purchase +ProductsOnSellAndOnBuy=Products for sale and for purchase +ServicesOnSale=Services for sale +ServicesOnPurchase=Services for purchase +ServicesOnSaleOnly=Services for sale only +ServicesOnPurchaseOnly=Services for purchase only +ServicesNotOnSell=Services not for sale and not for purchase +ServicesOnSellAndOnBuy=Services for sale and for purchase +LastModifiedProductsAndServices=Latest %s products/services which were modified +LastRecordedProducts=Latest %s recorded products +LastRecordedServices=Latest %s recorded services +CardProduct0=Product +CardProduct1=Service +Stock=Stock +MenuStocks=Stocks +Stocks=Stocks and location (warehouse) of products +Movements=Movements +Sell=Sell +Buy=Purchase +OnSell=For sale +OnBuy=For purchase +NotOnSell=Not for sale +ProductStatusOnSell=For sale +ProductStatusNotOnSell=Not for sale +ProductStatusOnSellShort=For sale +ProductStatusNotOnSellShort=Not for sale +ProductStatusOnBuy=For purchase +ProductStatusNotOnBuy=Not for purchase +ProductStatusOnBuyShort=For purchase +ProductStatusNotOnBuyShort=Not for purchase +UpdateVAT=Update vat +UpdateDefaultPrice=Update default price +UpdateLevelPrices=Update prices for each level +AppliedPricesFrom=Applied from +SellingPrice=Selling price +SellingPriceHT=Selling price (excl. tax) +SellingPriceTTC=Selling price (inc. tax) +SellingMinPriceTTC=Minimum Selling price (inc. tax) +CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceUsage=This value could be used for margin calculation. +SoldAmount=Sold amount +PurchasedAmount=Purchased amount +NewPrice=New price +MinPrice=Min. selling price +EditSellingPriceLabel=Edit selling price label +CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. +ContractStatusClosed=Closed +ErrorProductAlreadyExists=A product with reference %s already exists. +ErrorProductBadRefOrLabel=Wrong value for reference or label. +ErrorProductClone=There was a problem while trying to clone the product or service. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. +Suppliers=Vendors +SupplierRef=Vendor SKU +ShowProduct=Show product +ShowService=Show service +ProductsAndServicesArea=Product and Services area +ProductsArea=Product area +ServicesArea=Services area +ListOfStockMovements=List of stock movements +BuyingPrice=Buying price +PriceForEachProduct=Products with specific prices +SupplierCard=Vendor card +PriceRemoved=Price removed +BarCode=Barcode +BarcodeType=Barcode type +SetDefaultBarcodeType=Set barcode type +BarcodeValue=Barcode value +NoteNotVisibleOnBill=Note (not visible on invoices, proposals...) +ServiceLimitedDuration=If product is a service with limited duration: +FillWithLastServiceDates=Fill with last service line dates +MultiPricesAbility=Multiple price segments per product/service (each customer is in one price segment) +MultiPricesNumPrices=Number of prices +DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices +AssociatedProductsAbility=Enable Kits (set of several products) +VariantsAbility=Enable Variants (variations of products, for example color, size) +AssociatedProducts=Kits +AssociatedProductsNumber=Number of products composing this kit +ParentProductsNumber=Number of parent packaging product +ParentProducts=Parent products +IfZeroItIsNotAVirtualProduct=If 0, this product is not a kit +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any kit +KeywordFilter=Keyword filter +CategoryFilter=Category filter +ProductToAddSearch=Search product to add +NoMatchFound=No match found +ListOfProductsServices=List of products/services +ProductAssociationList=List of products/services that are component(s) of this kit +ProductParentList=List of kits with this product as a component +ErrorAssociationIsFatherOfThis=One of selected product is parent with current product +DeleteProduct=Delete a product/service +ConfirmDeleteProduct=Are you sure you want to delete this product/service? +ProductDeleted=Product/Service "%s" deleted from database. +ExportDataset_produit_1=Products +ExportDataset_service_1=Services +ImportDataset_produit_1=Products +ImportDataset_service_1=Services +DeleteProductLine=Delete product line +ConfirmDeleteProductLine=Are you sure you want to delete this product line? +ProductSpecial=Special +QtyMin=Min. purchase quantity +PriceQtyMin=Price quantity min. +PriceQtyMinCurrency=Price (currency) for this qty. (no discount) +VATRateForSupplierProduct=VAT Rate (for this vendor/product) +DiscountQtyMin=Discount for this qty. +NoPriceDefinedForThisSupplier=No price/qty defined for this vendor/product +NoSupplierPriceDefinedForThisProduct=No vendor price/qty defined for this product +PredefinedItem=Predefined item +PredefinedProductsToSell=Predefined Product +PredefinedServicesToSell=Predefined Service +PredefinedProductsAndServicesToSell=Predefined products/services to sell +PredefinedProductsToPurchase=Predefined product to purchase +PredefinedServicesToPurchase=Predefined services to purchase +PredefinedProductsAndServicesToPurchase=Predefined products/services to purchase +NotPredefinedProducts=Not predefined products/services +GenerateThumb=Generate thumb +ServiceNb=Service #%s +ListProductServiceByPopularity=List of products/services by popularity +ListProductByPopularity=List of products by popularity +ListServiceByPopularity=List of services by popularity +Finished=Manufactured product +RowMaterial=Raw Material +ConfirmCloneProduct=Are you sure you want to clone product or service %s? +CloneContentProduct=Clone all main information of the product/service +ClonePricesProduct=Clone prices +CloneCategoriesProduct=Clone linked tags/categories +CloneCompositionProduct=Clone virtual products/services +CloneCombinationsProduct=Clone the product variants +ProductIsUsed=This product is used +NewRefForClone=Ref. of new product/service +SellingPrices=Selling prices +BuyingPrices=Buying prices +CustomerPrices=Customer prices +SuppliersPrices=Vendor prices +SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) +CustomCode=Customs|Commodity|HS code +CountryOrigin=Country of origin +RegionStateOrigin=Region of origin +StateOrigin=State|Province of origin +Nature=Nature of product (raw/manufactured) +NatureOfProductShort=Nature of product +NatureOfProductDesc=Raw material or manufactured product +ShortLabel=Short label +Unit=Unit +p=u. +set=set +se=set +second=second +s=s +hour=hour +h=h +day=day +d=d +kilogram=kilogram +kg=Kg +gram=gram +g=g +meter=meter +m=m +lm=lm +m2=m² +m3=m³ +liter=liter +l=L +unitP=Piece +unitSET=Set +unitS=Second +unitH=Hour +unitD=Day +unitG=Gram +unitM=Meter +unitLM=Linear meter +unitM2=Square meter +unitM3=Cubic meter +unitL=Liter +unitT=ton +unitKG=kg +unitG=Gram +unitMG=mg +unitLB=pound +unitOZ=ounce +unitM=Meter +unitDM=dm +unitCM=cm +unitMM=mm +unitFT=ft +unitIN=in +unitM2=Square meter +unitDM2=dm² +unitCM2=cm² +unitMM2=mm² +unitFT2=ft² +unitIN2=in² +unitM3=Cubic meter +unitDM3=dm³ +unitCM3=cm³ +unitMM3=mm³ +unitFT3=ft³ +unitIN3=in³ +unitOZ3=ounce +unitgallon=gallon +ProductCodeModel=Product ref template +ServiceCodeModel=Service ref template +CurrentProductPrice=Current price +AlwaysUseNewPrice=Always use current price of product/service +AlwaysUseFixedPrice=Use the fixed price +PriceByQuantity=Different prices by quantity +DisablePriceByQty=Disable prices by quantity +PriceByQuantityRange=Quantity range +MultipriceRules=Automatic prices for segment +UseMultipriceRules=Use price segment rules (defined into product module setup) to auto calculate prices of all other segments according to first segment +PercentVariationOver=%% variation over %s +PercentDiscountOver=%% discount over %s +KeepEmptyForAutoCalculation=Keep empty to have this calculated automatically from weight or volume of products +VariantRefExample=Examples: COL, SIZE +VariantLabelExample=Examples: Color, Size +### composition fabrication +Build=Produce +ProductsMultiPrice=Products and prices for each price segment +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) +ProductSellByQuarterHT=Products turnover quarterly before tax +ServiceSellByQuarterHT=Services turnover quarterly before tax +Quarter1=1st. Quarter +Quarter2=2nd. Quarter +Quarter3=3rd. Quarter +Quarter4=4th. Quarter +BarCodePrintsheet=Print barcode +PageToGenerateBarCodeSheets=With this tool, you can print sheets of barcode stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. +NumberOfStickers=Number of stickers to print on page +PrintsheetForOneBarCode=Print several stickers for one barcode +BuildPageToPrint=Generate page to print +FillBarCodeTypeAndValueManually=Fill barcode type and value manually. +FillBarCodeTypeAndValueFromProduct=Fill barcode type and value from barcode of a product. +FillBarCodeTypeAndValueFromThirdParty=Fill barcode type and value from barcode of a third party. +DefinitionOfBarCodeForProductNotComplete=Definition of type or value of barcode not complete for product %s. +DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of barcode non complete for third party %s. +BarCodeDataForProduct=Barcode information of product %s: +BarCodeDataForThirdparty=Barcode information of third party %s: +ResetBarcodeForAllRecords=Define barcode value for all record (this will also reset barcode value already defined with new values) +PriceByCustomer=Different prices for each customer +PriceCatalogue=A single sell price per product/service +PricingRule=Rules for selling prices +AddCustomerPrice=Add price by customer +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries +PriceByCustomerLog=Log of previous customer prices +MinimumPriceLimit=Minimum price can't be lower then %s +MinimumRecommendedPrice=Minimum recommended price is: %s +PriceExpressionEditor=Price expression editor +PriceExpressionSelected=Selected price expression +PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #extrafield_myextrafieldkey# and global variables with #global_mycode# +PriceExpressionEditorHelp3=In both product/service and vendor prices there are these variables available:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
    In vendor prices only: #supplier_quantity# and #supplier_tva_tx# +PriceExpressionEditorHelp5=Available global values: +PriceMode=Price mode +PriceNumeric=Number +DefaultPrice=Default price +DefaultPriceLog=Log of previous default prices +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Child products +MinSupplierPrice=Minimum buying price +MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price +DynamicPriceConfiguration=Dynamic price configuration +DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. +AddVariable=Add Variable +AddUpdater=Add Updater +GlobalVariables=Global variables +VariableToUpdate=Variable to update +GlobalVariableUpdaters=External updaters for variables +GlobalVariableUpdaterType0=JSON data +GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, +GlobalVariableUpdaterHelpFormat0=Format for request {"URL": "http://example.com/urlofjson", "VALUE": "array1,array2,targetvalue"} +GlobalVariableUpdaterType1=WebService data +GlobalVariableUpdaterHelp1=Parses WebService data from specified URL, NS specifies the namespace, VALUE specifies the location of relevant value, DATA should contain the data to send and METHOD is the calling WS method +GlobalVariableUpdaterHelpFormat1=Format for request is {"URL": "http://example.com/urlofws", "VALUE": "array,targetvalue", "NS": "http://example.com/urlofns", "METHOD": "myWSMethod", "DATA": {"your": "data", "to": "send"}} +UpdateInterval=Update interval (minutes) +LastUpdated=Latest update +CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files +IncludingProductWithTag=Include products/services with tag +DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer +WarningSelectOneDocument=Please select at least one document +DefaultUnitToShow=Unit +NbOfQtyInProposals=Qty in proposals +ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view... +ProductsOrServicesTranslations=Products/Services translations +TranslatedLabel=Translated label +TranslatedDescription=Translated description +TranslatedNote=Translated notes +ProductWeight=Weight for 1 product +ProductVolume=Volume for 1 product +WeightUnits=Weight unit +VolumeUnits=Volume unit +WidthUnits=Width unit +LengthUnits=Length unit +HeightUnits=Height unit +SurfaceUnits=Surface unit +SizeUnits=Size unit +DeleteProductBuyPrice=Delete buying price +ConfirmDeleteProductBuyPrice=Are you sure you want to delete this buying price? +SubProduct=Sub product +ProductSheet=Product sheet +ServiceSheet=Service sheet +PossibleValues=Possible values +GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers +ProductSupplierDescription=Vendor description for the product +UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) +PackagingForThisProduct=Packaging +PackagingForThisProductDesc=On supplier order, you will automaticly order this quantity (or a multiple of this quantity). Cannot be less than minimum buying quantity +QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging + +#Attributes +VariantAttributes=Variant attributes +ProductAttributes=Variant attributes for products +ProductAttributeName=Variant attribute %s +ProductAttribute=Variant attribute +ProductAttributeDeleteDialog=Are you sure you want to delete this attribute? All values will be deleted +ProductAttributeValueDeleteDialog=Are you sure you want to delete the value "%s" with reference "%s" of this attribute? +ProductCombinationDeleteDialog=Are you sure want to delete the variant of the product "%s"? +ProductCombinationAlreadyUsed=There was an error while deleting the variant. Please check it is not being used in any object +ProductCombinations=Variants +PropagateVariant=Propagate variants +HideProductCombinations=Hide products variant in the products selector +ProductCombination=Variant +NewProductCombination=New variant +EditProductCombination=Editing variant +NewProductCombinations=New variants +EditProductCombinations=Editing variants +SelectCombination=Select combination +ProductCombinationGenerator=Variants generator +Features=Features +PriceImpact=Price impact +ImpactOnPriceLevel=Impact on price level %s +ApplyToAllPriceImpactLevel= Apply to all levels +ApplyToAllPriceImpactLevelHelp=By clicking here you set the same price impact on all levels +WeightImpact=Weight impact +NewProductAttribute=New attribute +NewProductAttributeValue=New attribute value +ErrorCreatingProductAttributeValue=There was an error while creating the attribute value. It could be because there is already an existing value with that reference +ProductCombinationGeneratorWarning=If you continue, before generating new variants, all previous ones will be DELETED. Already existing ones will be updated with the new values +TooMuchCombinationsWarning=Generating lots of variants may result in high CPU, memory usage and Dolibarr not able to create them. Enabling the option "%s" may help reduce memory usage. +DoNotRemovePreviousCombinations=Do not remove previous variants +UsePercentageVariations=Use percentage variations +PercentageVariation=Percentage variation +ErrorDeletingGeneratedProducts=There was an error while trying to delete existing product variants +NbOfDifferentValues=No. of different values +NbProducts=Number of products +ParentProduct=Parent product +HideChildProducts=Hide variant products +ShowChildProducts=Show variant products +NoEditVariants=Go to Parent product card and edit variants price impact in the variants tab +ConfirmCloneProductCombinations=Would you like to copy all the product variants to the other parent product with the given reference? +CloneDestinationReference=Destination product reference +ErrorCopyProductCombinations=There was an error while copying the product variants +ErrorDestinationProductNotFound=Destination product not found +ErrorProductCombinationNotFound=Product variant not found +ActionAvailableOnVariantProductOnly=Action only available on the variant of product +ProductsPricePerCustomer=Product prices per customers +ProductSupplierExtraFields=Additional Attributes (Supplier Prices) +DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/tg_TJ/projects.lang b/htdocs/langs/tg_TJ/projects.lang new file mode 100644 index 00000000000..77fc9970303 --- /dev/null +++ b/htdocs/langs/tg_TJ/projects.lang @@ -0,0 +1,283 @@ +# Dolibarr language file - Source file is en_US - projects +RefProject=Ref. project +ProjectRef=Project ref. +ProjectId=Project Id +ProjectLabel=Project label +ProjectsArea=Projects Area +ProjectStatus=Project status +SharedProject=Everybody +PrivateProject=Project contacts +ProjectsImContactFor=Projects for which I am explicitly a contact +AllAllowedProjects=All project I can read (mine + public) +AllProjects=All projects +MyProjectsDesc=This view is limited to the projects that you are a contact for +ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. +ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). +MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). +ClosedProjectsAreHidden=Closed projects are not visible. +TasksPublicDesc=This view presents all projects and tasks you are allowed to read. +TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). +AllTaskVisibleButEditIfYouAreAssigned=All tasks for qualified projects are visible, but you can enter time only for task assigned to selected user. Assign task if you need to enter time on it. +OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +ImportDatasetTasks=Tasks of projects +ProjectCategories=Project tags/categories +NewProject=New project +AddProject=Create project +DeleteAProject=Delete a project +DeleteATask=Delete a task +ConfirmDeleteAProject=Are you sure you want to delete this project? +ConfirmDeleteATask=Are you sure you want to delete this task? +OpenedProjects=Open projects +OpenedTasks=Open tasks +OpportunitiesStatusForOpenedProjects=Leads amount of open projects by status +OpportunitiesStatusForProjects=Leads amount of projects by status +ShowProject=Show project +ShowTask=Show task +SetProject=Set project +NoProject=No project defined or owned +NbOfProjects=Number of projects +NbOfTasks=Number of tasks +TimeSpent=Time spent +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user +TimesSpent=Time spent +TaskId=Task ID +RefTask=Task ref. +LabelTask=Task label +TaskTimeSpent=Time spent on tasks +TaskTimeUser=User +TaskTimeNote=Note +TaskTimeDate=Date +TasksOnOpenedProject=Tasks on open projects +WorkloadNotDefined=Workload not defined +NewTimeSpent=Time spent +MyTimeSpent=My time spent +BillTime=Bill the time spent +BillTimeShort=Bill time +TimeToBill=Time not billed +TimeBilled=Time billed +Tasks=Tasks +Task=Task +TaskDateStart=Task start date +TaskDateEnd=Task end date +TaskDescription=Task description +NewTask=New task +AddTask=Create task +AddTimeSpent=Create time spent +AddHereTimeSpentForDay=Add here time spent for this day/task +AddHereTimeSpentForWeek=Add here time spent for this week/task +Activity=Activity +Activities=Tasks/activities +MyActivities=My tasks/activities +MyProjects=My projects +MyProjectsArea=My projects Area +DurationEffective=Effective duration +ProgressDeclared=Declared real progress +TaskProgressSummary=Task progress +CurentlyOpenedTasks=Curently open tasks +TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption +TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption +ProgressCalculated=Progress on consumption +WhichIamLinkedTo=which I'm linked to +WhichIamLinkedToProject=which I'm linked to project +Time=Time +TimeConsumed=Consumed +ListOfTasks=List of tasks +GoToListOfTimeConsumed=Go to list of time consumed +GanttView=Gantt View +ListWarehouseAssociatedProject=List of warehouses associated to the project +ListProposalsAssociatedProject=List of the commercial proposals related to the project +ListOrdersAssociatedProject=List of sales orders related to the project +ListInvoicesAssociatedProject=List of customer invoices related to the project +ListPredefinedInvoicesAssociatedProject=List of customer template invoices related to the project +ListSupplierOrdersAssociatedProject=List of purchase orders related to the project +ListSupplierInvoicesAssociatedProject=List of vendor invoices related to the project +ListContractAssociatedProject=List of contracts related to the project +ListShippingAssociatedProject=List of shippings related to the project +ListFichinterAssociatedProject=List of interventions related to the project +ListExpenseReportsAssociatedProject=List of expense reports related to the project +ListDonationsAssociatedProject=List of donations related to the project +ListVariousPaymentsAssociatedProject=List of miscellaneous payments related to the project +ListSalariesAssociatedProject=List of payments of salaries related to the project +ListActionsAssociatedProject=List of events related to the project +ListMOAssociatedProject=List of manufacturing orders related to the project +ListTaskTimeUserProject=List of time consumed on tasks of project +ListTaskTimeForTask=List of time consumed on task +ActivityOnProjectToday=Activity on project today +ActivityOnProjectYesterday=Activity on project yesterday +ActivityOnProjectThisWeek=Activity on project this week +ActivityOnProjectThisMonth=Activity on project this month +ActivityOnProjectThisYear=Activity on project this year +ChildOfProjectTask=Child of project/task +ChildOfTask=Child of task +TaskHasChild=Task has child +NotOwnerOfProject=Not owner of this private project +AffectedTo=Allocated to +CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See tab '%s'. +ValidateProject=Validate projet +ConfirmValidateProject=Are you sure you want to validate this project? +CloseAProject=Close project +ConfirmCloseAProject=Are you sure you want to close this project? +AlsoCloseAProject=Also close project (keep it open if you still need to follow production tasks on it) +ReOpenAProject=Open project +ConfirmReOpenAProject=Are you sure you want to re-open this project? +ProjectContact=Contacts of project +TaskContact=Task contacts +ActionsOnProject=Events on project +YouAreNotContactOfProject=You are not a contact of this private project +UserIsNotContactOfProject=User is not a contact of this private project +DeleteATimeSpent=Delete time spent +ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent? +DoNotShowMyTasksOnly=See also tasks not assigned to me +ShowMyTasksOnly=View only tasks assigned to me +TaskRessourceLinks=Contacts of task +ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party +NoTasks=No tasks for this project +LinkedToAnotherCompany=Linked to other third party +TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. +ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back +ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. +IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. +CloneTasks=Clone tasks +CloneContacts=Clone contacts +CloneNotes=Clone notes +CloneProjectFiles=Clone project joined files +CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now? +ConfirmCloneProject=Are you sure to clone this project? +ProjectReportDate=Change task dates according to new project start date +ErrorShiftTaskDate=Impossible to shift task date according to new project start date +ProjectsAndTasksLines=Projects and tasks +ProjectCreatedInDolibarr=Project %s created +ProjectValidatedInDolibarr=Project %s validated +ProjectModifiedInDolibarr=Project %s modified +TaskCreatedInDolibarr=Task %s created +TaskModifiedInDolibarr=Task %s modified +TaskDeletedInDolibarr=Task %s deleted +OpportunityStatus=Lead status +OpportunityStatusShort=Lead status +OpportunityProbability=Lead probability +OpportunityProbabilityShort=Lead probab. +OpportunityAmount=Lead amount +OpportunityAmountShort=Lead amount +OpportunityWeightedAmount=Opportunity weighted amount +OpportunityWeightedAmountShort=Opp. weighted amount +OpportunityAmountAverageShort=Average lead amount +OpportunityAmountWeigthedShort=Weighted lead amount +WonLostExcluded=Won/Lost excluded +##### Types de contacts ##### +TypeContact_project_internal_PROJECTLEADER=Project leader +TypeContact_project_external_PROJECTLEADER=Project leader +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKEXECUTIVE=Task executive +TypeContact_project_task_external_TASKEXECUTIVE=Task executive +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor +SelectElement=Select element +AddElement=Link to element +LinkToElementShort=Link to +# Documents models +DocumentModelBeluga=Project document template for linked objects overview +DocumentModelBaleine=Project document template for tasks +DocumentModelTimeSpent=Project report template for time spent +PlannedWorkload=Planned workload +PlannedWorkloadShort=Workload +ProjectReferers=Related items +ProjectMustBeValidatedFirst=Project must be validated first +FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerMonth=Input per month +InputDetail=Input detail +TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTheTask=Not assigned to the task +NoUserAssignedToTheProject=No users assigned to this project +TimeSpentBy=Time spent by +TasksAssignedTo=Tasks assigned to +AssignTaskToMe=Assign task to myself +AssignTaskToUser=Assign task to %s +SelectTaskToAssign=Select task to assign... +AssignTask=Assign +ProjectOverview=Overview +ManageTasks=Use projects to follow tasks and/or report time spent (timesheets) +ManageOpportunitiesStatus=Use projects to follow leads/opportinuties +ProjectNbProjectByMonth=No. of created projects by month +ProjectNbTaskByMonth=No. of created tasks by month +ProjectOppAmountOfProjectsByMonth=Amount of leads by month +ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of leads by month +ProjectOpenedProjectByOppStatus=Open project|lead by lead status +ProjectsStatistics=Statistics on projects or leads +TasksStatistics=Statistics on tasks of projects or leads +TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible. +IdTaskTime=Id task time +YouCanCompleteRef=If you want to complete the ref with some suffix, it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-MYSUFFIX +OpenedProjectsByThirdparties=Open projects by third parties +OnlyOpportunitiesShort=Only leads +OpenedOpportunitiesShort=Open leads +NotOpenedOpportunitiesShort=Not an open lead +NotAnOpportunityShort=Not a lead +OpportunityTotalAmount=Total amount of leads +OpportunityPonderatedAmount=Weighted amount of leads +OpportunityPonderatedAmountDesc=Leads amount weighted with probability +OppStatusPROSP=Prospection +OppStatusQUAL=Qualification +OppStatusPROPO=Proposal +OppStatusNEGO=Negociation +OppStatusPENDING=Pending +OppStatusWON=Won +OppStatusLOST=Lost +Budget=Budget +AllowToLinkFromOtherCompany=Allow to link project from other company

    Supported values:
    - Keep empty: Can link any project of the company (default)
    - "all": Can link any projects, even projects of other companies
    - A list of third-party ids separated by commas: can link all projects of these third partys (Example: 123,4795,53)
    +LatestProjects=Latest %s projects +LatestModifiedProjects=Latest %s modified projects +OtherFilteredTasks=Other filtered tasks +NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ChooseANotYetAssignedTask=Choose a task not yet assigned to you +# Comments trans +AllowCommentOnTask=Allow user comments on tasks +AllowCommentOnProject=Allow user comments on projects +DontHavePermissionForCloseProject=You do not have permissions to close the project %s +DontHaveTheValidateStatus=The project %s must be open to be closed +RecordsClosed=%s project(s) closed +SendProjectRef=Information project %s +ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized +NewTaskRefSuggested=Task ref already used, a new task ref is required +TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent +TimeSpentForInvoice=Time spent +OneLinePerUser=One line per user +ServiceToUseOnLines=Service to use on lines +InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project +ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. +ProjectFollowOpportunity=Follow opportunity +ProjectFollowTasks=Follow tasks or time spent +Usage=Usage +UsageOpportunity=Usage: Opportunity +UsageTasks=Usage: Tasks +UsageBillTimeShort=Usage: Bill time +InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use +NewInvoice=New invoice +NewInter=New intervention +OneLinePerTask=One line per task +OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration +RefTaskParent=Ref. Parent Task +ProfitIsCalculatedWith=Profit is calculated using +AddPersonToTask=Add also to tasks +UsageOrganizeEvent=Usage: Event Organization +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/tg_TJ/propal.lang b/htdocs/langs/tg_TJ/propal.lang new file mode 100644 index 00000000000..edbc08236d3 --- /dev/null +++ b/htdocs/langs/tg_TJ/propal.lang @@ -0,0 +1,92 @@ +# Dolibarr language file - Source file is en_US - propal +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalsOpened=Open commercial proposals +CommercialProposal=Commercial proposal +PdfCommercialProposalTitle=Commercial proposal +ProposalCard=Proposal card +NewProp=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s? +LastPropals=Latest %s proposals +LastModifiedProposals=Latest %s modified proposals +AllPropals=All proposals +SearchAProposal=Search a proposal +NoProposal=No proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (excl. tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated (open) +PropalStatusClosedShort=Closed +PropalStatusSignedShort=Signed +PropalStatusNotSignedShort=Not signed +PropalStatusBilledShort=Billed +PropalsToClose=Commercial proposals to close +PropalsToBill=Signed commercial proposals to bill +ListOfProposals=List of commercial proposals +ActionsOnPropal=Events on proposal +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +DatePropal=Date of proposal +DateEndPropal=Validity ending date +ValidityDuration=Validity duration +SetAcceptedRefused=Set accepted/refused +ErrorPropalNotFound=Propal %s not found +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposal or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use contact/address with type 'Contact following-up proposal' if defined instead of third party address as proposal recipient address +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +ProposalLines=Proposal lines +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order +OtherProposals=Other proposals +##### Availability ##### +AvailabilityTypeAV_NOW=Immediate +AvailabilityTypeAV_1W=1 week +AvailabilityTypeAV_2W=2 weeks +AvailabilityTypeAV_3W=3 weeks +AvailabilityTypeAV_1M=1 month +##### Types de contacts ##### +TypeContact_propal_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal +TypeContact_propal_external_SHIPPING=Customer contact for delivery +# Document models +DocModelAzurDescription=A complete proposal model (old implementation of Cyan template) +DocModelCyanDescription=A complete proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature +ProposalsStatisticsSuppliers=Vendor proposals statistics +CaseFollowedBy=Case followed by +SignedOnly=Signed only +IdProposal=Proposal ID +IdProduct=Product ID +PrParentLine=Proposal Parent Line +LineBuyPriceHT=Buy Price Amount net of tax for line + diff --git a/htdocs/langs/tg_TJ/receiptprinter.lang b/htdocs/langs/tg_TJ/receiptprinter.lang new file mode 100644 index 00000000000..746d175e0c6 --- /dev/null +++ b/htdocs/langs/tg_TJ/receiptprinter.lang @@ -0,0 +1,82 @@ +# Dolibarr language file - Source file is en_US - receiptprinter +ReceiptPrinterSetup=Setup of module ReceiptPrinter +PrinterAdded=Printer %s added +PrinterUpdated=Printer %s updated +PrinterDeleted=Printer %s deleted +TestSentToPrinter=Test Sent To Printer %s +ReceiptPrinter=Receipt printers +ReceiptPrinterDesc=Setup of receipt printers +ReceiptPrinterTemplateDesc=Setup of Templates +ReceiptPrinterTypeDesc=Description of Receipt Printer's type +ReceiptPrinterProfileDesc=Description of Receipt Printer's Profile +ListPrinters=List of Printers +SetupReceiptTemplate=Template Setup +CONNECTOR_DUMMY=Dummy Printer +CONNECTOR_NETWORK_PRINT=Network Printer +CONNECTOR_FILE_PRINT=Local Printer +CONNECTOR_WINDOWS_PRINT=Local Windows Printer +CONNECTOR_CUPS_PRINT=Cups Printer +CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing +CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 +CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 +CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer +CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L +PROFILE_DEFAULT=Default Profile +PROFILE_SIMPLE=Simple Profile +PROFILE_EPOSTEP=Epos Tep Profile +PROFILE_P822D=P822D Profile +PROFILE_STAR=Star Profile +PROFILE_DEFAULT_HELP=Default Profile suitable for Epson printers +PROFILE_SIMPLE_HELP=Simple Profile No Graphics +PROFILE_EPOSTEP_HELP=Epos Tep Profile +PROFILE_P822D_HELP=P822D Profile No Graphics +PROFILE_STAR_HELP=Star Profile +DOL_LINE_FEED=Skip line +DOL_ALIGN_LEFT=Left align text +DOL_ALIGN_CENTER=Center text +DOL_ALIGN_RIGHT=Right align text +DOL_USE_FONT_A=Use font A of printer +DOL_USE_FONT_B=Use font B of printer +DOL_USE_FONT_C=Use font C of printer +DOL_PRINT_BARCODE=Print barcode +DOL_PRINT_BARCODE_CUSTOMER_ID=Print barcode customer id +DOL_CUT_PAPER_FULL=Cut ticket completely +DOL_CUT_PAPER_PARTIAL=Cut ticket partially +DOL_OPEN_DRAWER=Open cash drawer +DOL_ACTIVATE_BUZZER=Activate buzzer +DOL_PRINT_QRCODE=Print QR Code +DOL_PRINT_LOGO=Print logo of my company +DOL_PRINT_LOGO_OLD=Print logo of my company (old printers) +DOL_BOLD=Bold +DOL_BOLD_DISABLED=Disable bold +DOL_DOUBLE_HEIGHT=Double height size +DOL_DOUBLE_WIDTH=Double width size +DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size +DOL_UNDERLINE=Enable underline +DOL_UNDERLINE_DISABLED=Disable underline +DOL_BEEP=Beep sound +DOL_PRINT_TEXT=Print text +DateInvoiceWithTime=Invoice date and time +YearInvoice=Invoice year +DOL_VALUE_MONTH_LETTERS=Invoice month in letters +DOL_VALUE_MONTH=Invoice month +DOL_VALUE_DAY=Invoice day +DOL_VALUE_DAY_LETTERS=Inovice day in letters +DOL_LINE_FEED_REVERSE=Line feed reverse +InvoiceID=Invoice ID +InvoiceRef=Invoice ref +DOL_PRINT_OBJECT_LINES=Invoice lines +DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name +DOL_VALUE_CUSTOMER_LASTNAME=Customer last name +DOL_VALUE_CUSTOMER_MAIL=Customer mail +DOL_VALUE_CUSTOMER_PHONE=Customer phone +DOL_VALUE_CUSTOMER_MOBILE=Customer mobile +DOL_VALUE_CUSTOMER_SKYPE=Customer Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance +DOL_VALUE_MYSOC_NAME=Your company name +VendorLastname=Vendor last name +VendorFirstname=Vendor first name +VendorEmail=Vendor email +DOL_VALUE_CUSTOMER_POINTS=Customer points +DOL_VALUE_OBJECT_POINTS=Object points diff --git a/htdocs/langs/tg_TJ/receptions.lang b/htdocs/langs/tg_TJ/receptions.lang new file mode 100644 index 00000000000..338602e722e --- /dev/null +++ b/htdocs/langs/tg_TJ/receptions.lang @@ -0,0 +1,47 @@ +# Dolibarr language file - Source file is en_US - receptions +ReceptionsSetup=Product Reception setup +RefReception=Ref. reception +Reception=Reception +Receptions=Receptions +AllReceptions=All Receptions +Reception=Reception +Receptions=Receptions +ShowReception=Show Receptions +ReceptionsArea=Receptions area +ListOfReceptions=List of receptions +ReceptionMethod=Reception method +LastReceptions=Latest %s receptions +StatisticsOfReceptions=Statistics for receptions +NbOfReceptions=Number of receptions +NumberOfReceptionsByMonth=Number of receptions by month +ReceptionCard=Reception card +NewReception=New reception +CreateReception=Create reception +QtyInOtherReceptions=Qty in other receptions +OtherReceptionsForSameOrder=Other receptions for this order +ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order +ReceptionsToValidate=Receptions to validate +StatusReceptionCanceled=Canceled +StatusReceptionDraft=Draft +StatusReceptionValidated=Validated (products to ship or already shipped) +StatusReceptionProcessed=Processed +StatusReceptionDraftShort=Draft +StatusReceptionValidatedShort=Validated +StatusReceptionProcessedShort=Processed +ReceptionSheet=Reception sheet +ConfirmDeleteReception=Are you sure you want to delete this reception? +ConfirmValidateReception=Are you sure you want to validate this reception with reference %s? +ConfirmCancelReception=Are you sure you want to cancel this reception? +StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known). +SendReceptionByEMail=Send reception by email +SendReceptionRef=Submission of reception %s +ActionsOnReception=Events on reception +ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card. +ReceptionLine=Reception line +ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent +ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received +ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions. +ReceptionsNumberingModules=Numbering module for receptions +ReceptionsReceiptModel=Document templates for receptions +NoMorePredefinedProductToDispatch=No more predefined products to dispatch +ReceptionExist=A reception exists diff --git a/htdocs/langs/tg_TJ/recruitment.lang b/htdocs/langs/tg_TJ/recruitment.lang new file mode 100644 index 00000000000..6b0e8117254 --- /dev/null +++ b/htdocs/langs/tg_TJ/recruitment.lang @@ -0,0 +1,76 @@ +# Copyright (C) 2020 Laurent Destailleur +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# +# Generic +# + +# Module label 'ModuleRecruitmentName' +ModuleRecruitmentName = Recruitment +# Module description 'ModuleRecruitmentDesc' +ModuleRecruitmentDesc = Manage and follow recruitment campaigns for new job positions + +# +# Admin page +# +RecruitmentSetup = Recruitment setup +Settings = Settings +RecruitmentSetupPage = Enter here the setup of main options for the recruitment module +RecruitmentArea=Recruitement area +PublicInterfaceRecruitmentDesc=Public pages of jobs are public URLs to show and answer to open jobs. There is one different link for each open job, found on each job record. +EnablePublicRecruitmentPages=Enable public pages of open jobs + +# +# About page +# +About = About +RecruitmentAbout = About Recruitment +RecruitmentAboutPage = Recruitment about page +NbOfEmployeesExpected=Expected nb of employees +JobLabel=Label of job position +WorkPlace=Work place +DateExpected=Expected date +FutureManager=Future manager +ResponsibleOfRecruitement=Responsible of recruitment +IfJobIsLocatedAtAPartner=If job is located at a partner place +PositionToBeFilled=Job position +PositionsToBeFilled=Job positions +ListOfPositionsToBeFilled=List of job positions +NewPositionToBeFilled=New job positions + +JobOfferToBeFilled=Job position to be filled +ThisIsInformationOnJobPosition=Information of the job position to be filled +ContactForRecruitment=Contact for recruitment +EmailRecruiter=Email recruiter +ToUseAGenericEmail=To use a generic email. If not defined, the email of the responsible of recruitment will be used +NewCandidature=New application +ListOfCandidatures=List of applications +RequestedRemuneration=Requested remuneration +ProposedRemuneration=Proposed remuneration +ContractProposed=Contract proposed +ContractSigned=Contract signed +ContractRefused=Contract refused +RecruitmentCandidature=Application +JobPositions=Job positions +RecruitmentCandidatures=Applications +InterviewToDo=Interview to do +AnswerCandidature=Application answer +YourCandidature=Your application +YourCandidatureAnswerMessage=Thanks you for your application.
    ... +JobClosedTextCandidateFound=The job position is closed. The position has been filled. +JobClosedTextCanceled=The job position is closed. +ExtrafieldsJobPosition=Complementary attributes (job positions) +ExtrafieldsApplication=Complementary attributes (job applications) +MakeOffer=Make an offer diff --git a/htdocs/langs/tg_TJ/resource.lang b/htdocs/langs/tg_TJ/resource.lang new file mode 100644 index 00000000000..e8574dc680f --- /dev/null +++ b/htdocs/langs/tg_TJ/resource.lang @@ -0,0 +1,39 @@ +# Dolibarr language file - Source file is en_US - resource +MenuResourceIndex=Resources +MenuResourceAdd=New resource +DeleteResource=Delete resource +ConfirmDeleteResourceElement=Confirm delete the resource for this element +NoResourceInDatabase=No resource in database. +NoResourceLinked=No resource linked +ActionsOnResource=Events about this resource +ResourcePageIndex=Resources list +ResourceSingular=Resource +ResourceCard=Resource card +AddResource=Create a resource +ResourceFormLabel_ref=Resource name +ResourceType=Resource type +ResourceFormLabel_description=Resource description + +ResourcesLinkedToElement=Resources linked to element + +ShowResource=Show resource + +ResourceElementPage=Element resources +ResourceCreatedWithSuccess=Resource successfully created +RessourceLineSuccessfullyDeleted=Resource line successfully deleted +RessourceLineSuccessfullyUpdated=Resource line successfully updated +ResourceLinkedWithSuccess=Resource linked with success + +ConfirmDeleteResource=Confirm to delete this resource +RessourceSuccessfullyDeleted=Resource successfully deleted +DictionaryResourceType=Type of resources + +SelectResource=Select resource + +IdResource=Id resource +AssetNumber=Serial number +ResourceTypeCode=Resource type code +ImportDataset_resource_1=Resources + +ErrorResourcesAlreadyInUse=Some resources are in use +ErrorResourceUseInEvent=%s used in %s event diff --git a/htdocs/langs/tg_TJ/salaries.lang b/htdocs/langs/tg_TJ/salaries.lang new file mode 100644 index 00000000000..12905040b1a --- /dev/null +++ b/htdocs/langs/tg_TJ/salaries.lang @@ -0,0 +1,24 @@ +# Dolibarr language file - Source file is en_US - salaries +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary +Salary=Salary +Salaries=Salaries +NewSalary=New salary +NewSalaryPayment=New salary card +AddSalaryPayment=Add salary payment +SalaryPayment=Salary payment +SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s +ShowSalaryPayment=Show salary payment +THM=Average hourly rate +TJM=Average daily rate +CurrentSalary=Current salary +THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently for information only and is not used for any calculation +LastSalaries=Latest %s salaries +AllSalaries=All salaries +SalariesStatistics=Salary statistics +SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/tg_TJ/sendings.lang b/htdocs/langs/tg_TJ/sendings.lang new file mode 100644 index 00000000000..b94891d79c5 --- /dev/null +++ b/htdocs/langs/tg_TJ/sendings.lang @@ -0,0 +1,76 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=Shipments +AllSendings=All Shipments +Shipment=Shipment +Shipments=Shipments +ShowSending=Show Shipments +Receivings=Delivery Receipts +SendingsArea=Shipments area +ListOfSendings=List of shipments +SendingMethod=Shipping method +LastSendings=Latest %s shipments +StatisticsOfSendings=Statistics for shipments +NbOfSendings=Number of shipments +NumberOfShipmentsByMonth=Number of shipments by month +SendingCard=Shipment card +NewSending=New shipment +CreateShipment=Create shipment +QtyShipped=Qty shipped +QtyShippedShort=Qty ship. +QtyPreparedOrShipped=Qty prepared or shipped +QtyToShip=Qty to ship +QtyToReceive=Qty to receive +QtyReceived=Qty received +QtyInOtherShipments=Qty in other shipments +KeepToShip=Remain to ship +KeepToShipShort=Remain +OtherSendingsForSameOrder=Other shipments for this order +SendingsAndReceivingForSameOrder=Shipments and receipts for this order +SendingsToValidate=Shipments to validate +StatusSendingCanceled=Canceled +StatusSendingCanceledShort=Canceled +StatusSendingDraft=Draft +StatusSendingValidated=Validated (products to ship or already shipped) +StatusSendingProcessed=Processed +StatusSendingDraftShort=Draft +StatusSendingValidatedShort=Validated +StatusSendingProcessedShort=Processed +SendingSheet=Shipment sheet +ConfirmDeleteSending=Are you sure you want to delete this shipment? +ConfirmValidateSending=Are you sure you want to validate this shipment with reference %s? +ConfirmCancelSending=Are you sure you want to cancel this shipment? +DocumentModelMerou=Merou A5 model +WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. +StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +DateDeliveryPlanned=Planned date of delivery +RefDeliveryReceipt=Ref delivery receipt +StatusReceipt=Status delivery receipt +DateReceived=Date delivery received +ClassifyReception=Classify reception +SendShippingByEMail=Send shipment by email +SendShippingRef=Submission of shipment %s +ActionsOnShipping=Events on shipment +LinkToTrackYourPackage=Link to track your package +ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. +ShipmentLine=Shipment line +ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders +ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders +ProductQtyInShipmentAlreadySent=Product quantity from open sales order already sent +ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from open purchase orders already received +NoProductToShipFoundIntoStock=No product to ship found in warehouse %s. Correct stock or go back to choose another warehouse. +WeightVolShort=Weight/Vol. +ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments. + +# Sending methods +# ModelDocument +DocumentModelTyphon=More complete document model for delivery receipts (logo...) +DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) +Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined +SumOfProductVolumes=Sum of product volumes +SumOfProductWeights=Sum of product weights + +# warehouse details +DetailWarehouseNumber= Warehouse details +DetailWarehouseFormat= W:%s (Qty: %d) diff --git a/htdocs/langs/tg_TJ/sms.lang b/htdocs/langs/tg_TJ/sms.lang new file mode 100644 index 00000000000..055085eb16a --- /dev/null +++ b/htdocs/langs/tg_TJ/sms.lang @@ -0,0 +1,51 @@ +# Dolibarr language file - Source file is en_US - sms +Sms=Sms +SmsSetup=SMS setup +SmsDesc=This page allows you to define global options on SMS features +SmsCard=SMS Card +AllSms=All SMS campaigns +SmsTargets=Targets +SmsRecipients=Targets +SmsRecipient=Target +SmsTitle=Description +SmsFrom=Sender +SmsTo=Target +SmsTopic=Topic of SMS +SmsText=Message +SmsMessage=SMS Message +ShowSms=Show SMS +ListOfSms=List SMS campaigns +NewSms=New SMS campaign +EditSms=Edit SMS +ResetSms=New sending +DeleteSms=Delete SMS campaign +DeleteASms=Remove a SMS campaign +PreviewSms=Previuw SMS +PrepareSms=Prepare SMS +CreateSms=Create SMS +SmsResult=Result of SMS sending +TestSms=Test SMS +ValidSms=Validate SMS +ApproveSms=Approve SMS +SmsStatusDraft=Draft +SmsStatusValidated=Validated +SmsStatusApproved=Approved +SmsStatusSent=Sent +SmsStatusSentPartialy=Sent partially +SmsStatusSentCompletely=Sent completely +SmsStatusError=Error +SmsStatusNotSent=Not sent +SmsSuccessfulySent=SMS correctly sent (from %s to %s) +ErrorSmsRecipientIsEmpty=Number of target is empty +WarningNoSmsAdded=No new phone number to add to target list +ConfirmValidSms=Do you confirm validation of this campaign? +NbOfUniqueSms=No. of unique phone numbers +NbOfSms=No. of phone numbers +ThisIsATestMessage=This is a test message +SendSms=Send SMS +SmsInfoCharRemain=No. of remaining characters +SmsInfoNumero= (international format i.e.: +33899701761) +DelayBeforeSending=Delay before sending (minutes) +SmsNoPossibleSenderFound=No sender available. Check setup of your SMS provider. +SmsNoPossibleRecipientFound=No target available. Check setup of your SMS provider. +DisableStopIfSupported=Disable STOP message (if supported) diff --git a/htdocs/langs/tg_TJ/stocks.lang b/htdocs/langs/tg_TJ/stocks.lang new file mode 100644 index 00000000000..c1f0abc43a8 --- /dev/null +++ b/htdocs/langs/tg_TJ/stocks.lang @@ -0,0 +1,263 @@ +# Dolibarr language file - Source file is en_US - stocks +WarehouseCard=Warehouse card +Warehouse=Warehouse +Warehouses=Warehouses +ParentWarehouse=Parent warehouse +NewWarehouse=New warehouse / Stock Location +WarehouseEdit=Modify warehouse +MenuNewWarehouse=New warehouse +WarehouseSource=Source warehouse +WarehouseSourceNotDefined=No warehouse defined, +AddWarehouse=Create warehouse +AddOne=Add one +DefaultWarehouse=Default warehouse +WarehouseTarget=Target warehouse +ValidateSending=Delete sending +CancelSending=Cancel sending +DeleteSending=Delete sending +Stock=Stock +Stocks=Stocks +MissingStocks=Missing stocks +StockAtDate=Stocks at date +StockAtDateInPast=Date in the past +StockAtDateInFuture=Date in the future +StocksByLotSerial=Stocks by lot/serial +LotSerial=Lots/Serials +LotSerialList=List of lot/serials +Movements=Movements +ErrorWarehouseRefRequired=Warehouse reference name is required +ListOfWarehouses=List of warehouses +ListOfStockMovements=List of stock movements +ListOfInventories=List of inventories +MovementId=Movement ID +StockMovementForId=Movement ID %d +ListMouvementStockProject=List of stock movements associated to project +StocksArea=Warehouses area +AllWarehouses=All warehouses +IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock +IncludeAlsoDraftOrders=Include also draft orders +Location=Location +LocationSummary=Short name of location +NumberOfDifferentProducts=Number of unique products +NumberOfProducts=Total number of products +LastMovement=Latest movement +LastMovements=Latest movements +Units=Units +Unit=Unit +StockCorrection=Stock correction +CorrectStock=Correct stock +StockTransfer=Stock transfer +TransferStock=Transfer stock +MassStockTransferShort=Mass stock transfer +StockMovement=Stock movement +StockMovements=Stock movements +NumberOfUnit=Number of units +UnitPurchaseValue=Unit purchase price +StockTooLow=Stock too low +StockLowerThanLimit=Stock lower than alert limit (%s) +EnhancedValue=Value +EnhancedValueOfWarehouses=Warehouses value +UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user +AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product +RuleForWarehouse=Rule for warehouses +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties +WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals +WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders +UserDefaultWarehouse=Set a warehouse on Users +MainDefaultWarehouse=Default warehouse +MainDefaultWarehouseUser=Use a default warehouse for each user +MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. +IndependantSubProductStock=Product stock and subproduct stock are independent +QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch +OrderDispatch=Item receipts +RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated) +RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated) +DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note +DeStockOnValidateOrder=Decrease real stocks on validation of sales order +DeStockOnShipment=Decrease real stocks on shipping validation +DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed +ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note +ReStockOnValidateOrder=Increase real stocks on purchase order approval +ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods +StockOnReception=Increase real stocks on validation of reception +StockOnReceptionOnClosing=Increase real stocks when reception is set to closed +OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. +StockDiffPhysicTeoric=Explanation for difference between physical and virtual stock +NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. +DispatchVerb=Dispatch +StockLimitShort=Limit for alert +StockLimit=Stock limit for alert +StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +PhysicalStock=Physical Stock +RealStock=Real Stock +RealStockDesc=Physical/real stock is the stock currently in the warehouses. +RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module): +VirtualStock=Virtual stock +VirtualStockAtDate=Virtual stock at date +VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished +VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) +AtDate=At date +IdWarehouse=Id warehouse +DescWareHouse=Description warehouse +LieuWareHouse=Localisation warehouse +WarehousesAndProducts=Warehouses and products +WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +AverageUnitPricePMPShort=Weighted average price +AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +SellPriceMin=Selling Unit Price +EstimatedStockValueSellShort=Value for sell +EstimatedStockValueSell=Value for sell +EstimatedStockValueShort=Input stock value +EstimatedStockValue=Input stock value +DeleteAWarehouse=Delete a warehouse +ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s? +PersonalStock=Personal stock %s +ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s +SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease +SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase +NoStockAction=No stock action +DesiredStock=Desired Stock +DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. +StockToBuy=To order +Replenishment=Replenishment +ReplenishmentOrders=Replenishment orders +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ +UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature +ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +UseVirtualStock=Use virtual stock +UsePhysicalStock=Use physical stock +CurentSelectionMode=Current selection mode +CurentlyUsingVirtualStock=Virtual stock +CurentlyUsingPhysicalStock=Physical stock +RuleForStockReplenishment=Rule for stocks replenishment +SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor +AlertOnly= Alerts only +IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +WarehouseForStockDecrease=The warehouse %s will be used for stock decrease +WarehouseForStockIncrease=The warehouse %s will be used for stock increase +ForThisWarehouse=For this warehouse +ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference. +ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. +ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. +Replenishments=Replenishments +NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) +NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) +MassMovement=Mass movement +SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +RecordMovement=Record transfer +ReceivingForSameOrder=Receipts for this order +StockMovementRecorded=Stock movements recorded +RuleForStockAvailability=Rules on stock requirements +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever the rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever the rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever the rule for automatic stock change) +MovementLabel=Label of movement +TypeMovement=Direction of movement +DateMovement=Date of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse and your setup does not allow negative stocks. +qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse +InventoryCodeShort=Inv./Mov. code +NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) +UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception +OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated +ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created +ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated +ProductStockWarehouseDeleted=Stock limit for alert and desired optimal stock correctly deleted +AddNewProductStockWarehouse=Set new limit for alert and desired optimal stock +AddStockLocationLine=Decrease quantity then click to add another warehouse for this product +InventoryDate=Inventory date +NewInventory=New inventory +inventorySetup = Inventory Setup +inventoryCreatePermission=Create new inventory +inventoryReadPermission=View inventories +inventoryWritePermission=Update inventories +inventoryValidatePermission=Validate inventory +inventoryDeletePermission=Delete inventory +inventoryTitle=Inventory +inventoryListTitle=Inventories +inventoryListEmpty=No inventory in progress +inventoryCreateDelete=Create/Delete inventory +inventoryCreate=Create new +inventoryEdit=Edit +inventoryValidate=Validated +inventoryDraft=Running +inventorySelectWarehouse=Warehouse choice +inventoryConfirmCreate=Create +inventoryOfWarehouse=Inventory for warehouse: %s +inventoryErrorQtyAdd=Error: one quantity is less than zero +inventoryMvtStock=By inventory +inventoryWarningProductAlreadyExists=This product is already into list +SelectCategory=Category filter +SelectFournisseur=Vendor filter +inventoryOnDate=Inventory +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) +inventoryChangePMPPermission=Allow to change PMP value for a product +ColumnNewPMP=New unit PMP +OnlyProdsInStock=Do not add product without stock +TheoricalQty=Theorique qty +TheoricalValue=Theorique qty +LastPA=Last BP +CurrentPA=Curent BP +RecordedQty=Recorded Qty +RealQty=Real Qty +RealValue=Real Value +RegulatedQty=Regulated Qty +AddInventoryProduct=Add product to inventory +AddProduct=Add +ApplyPMP=Apply PMP +FlushInventory=Flush inventory +ConfirmFlushInventory=Do you confirm this action? +InventoryFlushed=Inventory flushed +ExitEditMode=Exit edition +inventoryDeleteLine=Delete line +RegulateStock=Regulate Stock +ListInventory=List +StockSupportServices=Stock management supports Services +StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled. +ReceiveProducts=Receive items +StockIncreaseAfterCorrectTransfer=Increase by correction/transfer +StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer +StockIncrease=Stock increase +StockDecrease=Stock decrease +InventoryForASpecificWarehouse=Inventory for a specific warehouse +InventoryForASpecificProduct=Inventory for a specific product +StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use +ForceTo=Force to +AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) +StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past +StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +CurrentStock=Current stock +InventoryRealQtyHelp=Set value to 0 to reset qty
    Keep field empty, or remove line, to keep unchanged +UpdateByScaning=Fill real qty by scaning +UpdateByScaningProductBarcode=Update by scan (product barcode) +UpdateByScaningLot=Update by scan (lot|serial barcode) +DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. +ImportFromCSV=Import CSV list of movement +ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +SelectAStockMovementFileToImport=select a stock movement file to import +InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" +LabelOfInventoryMovemement=Inventory %s +ReOpen=Reopen +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. +ObjectNotFound=%s not found +MakeMovementsAndClose=Generate movements and close +AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/tg_TJ/stripe.lang b/htdocs/langs/tg_TJ/stripe.lang new file mode 100644 index 00000000000..a536ffd81e7 --- /dev/null +++ b/htdocs/langs/tg_TJ/stripe.lang @@ -0,0 +1,71 @@ +# Dolibarr language file - Source file is en_US - stripe +StripeSetup=Stripe module setup +StripeDesc=Offer customers a Stripe online payment page for payments with credit/cebit cards via Stripe. This can be used to allow your customers to make ad-hoc payments or for payments related to a particular Dolibarr object (invoice, order, ...) +StripeOrCBDoPayment=Pay with credit card or Stripe +FollowingUrlAreAvailableToMakePayments=Following URLs are available to offer a page to a customer to make a payment on Dolibarr objects +PaymentForm=Payment form +WelcomeOnPaymentPage=Welcome to our online payment service +ThisScreenAllowsYouToPay=This screen allow you to make an online payment to %s. +ThisIsInformationOnPayment=This is information on payment to do +ToComplete=To complete +YourEMail=Email to receive payment confirmation +STRIPE_PAYONLINE_SENDEMAIL=Email notification after a payment attempt (success or fail) +Creditor=Creditor +PaymentCode=Payment code +StripeDoPayment=Pay with Stripe +YouWillBeRedirectedOnStripe=You will be redirected on secured Stripe page to input you credit card information +Continue=Next +ToOfferALinkForOnlinePayment=URL for %s payment +ToOfferALinkForOnlinePaymentOnOrder=URL to offer a %s online payment page for a sales order +ToOfferALinkForOnlinePaymentOnInvoice=URL to offer a %s online payment page for a customer invoice +ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment page for a contract line +ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment page of any amount with no existing object +ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment page for a member subscription +ToOfferALinkForOnlinePaymentOnDonation=URL to offer a %s online payment page for payment of a donation +YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (mandatory only for payment not linked to an object) to add your own payment comment tag.
    For the URL of payments with no existing object, you may also add the parameter &noidempotency=1 so the same link with same tag can be used several times (some payment mode may limit the payment to 1 for each different link without this parameter) +SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url %s to have payment created automatically when validated by Stripe. +AccountParameter=Account parameters +UsageParameter=Usage parameters +InformationToFindParameters=Help to find your %s account information +STRIPE_CGI_URL_V2=Url of Stripe CGI module for payment +CSSUrlForPaymentForm=CSS style sheet url for payment form +NewStripePaymentReceived=New Stripe payment received +NewStripePaymentFailed=New Stripe payment tried but failed +FailedToChargeCard=Failed to charge card +STRIPE_TEST_SECRET_KEY=Secret test key +STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key +STRIPE_TEST_WEBHOOK_KEY=Webhook test key +STRIPE_LIVE_SECRET_KEY=Secret live key +STRIPE_LIVE_PUBLISHABLE_KEY=Publishable live key +STRIPE_LIVE_WEBHOOK_KEY=Webhook live key +ONLINE_PAYMENT_WAREHOUSE=Stock to use for stock decrease when online payment is done
    (TODO When option to decrease stock is done on an action on invoice and the online payment generate itself the invoice ?) +StripeLiveEnabled=Stripe live enabled (otherwise test/sandbox mode) +StripeImportPayment=Import Stripe payments +ExampleOfTestCreditCard=Example of credit card for test: %s => valid, %s => error CVC, %s => expired, %s => charge fails +StripeGateways=Stripe gateways +OAUTH_STRIPE_TEST_ID=Stripe Connect Client ID (ca_...) +OAUTH_STRIPE_LIVE_ID=Stripe Connect Client ID (ca_...) +BankAccountForBankTransfer=Bank account for fund payouts +StripeAccount=Stripe account +StripeChargeList=List of Stripe charges +StripeTransactionList=List of Stripe transactions +StripeCustomerId=Stripe customer id +StripePaymentModes=Stripe payment modes +LocalID=Local ID +StripeID=Stripe ID +NameOnCard=Name on card +CardNumber=Card Number +ExpiryDate=Expiry Date +CVN=CVN +DeleteACard=Delete Card +ConfirmDeleteCard=Are you sure you want to delete this Credit or Debit card? +CreateCustomerOnStripe=Create customer on Stripe +CreateCardOnStripe=Create card on Stripe +ShowInStripe=Show in Stripe +StripeUserAccountForActions=User account to use for email notification of some Stripe events (Stripe payouts) +StripePayoutList=List of Stripe payouts +ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) +ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) +PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. +ClickHereToTryAgain=Click here to try again... +CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s diff --git a/htdocs/langs/tg_TJ/supplier_proposal.lang b/htdocs/langs/tg_TJ/supplier_proposal.lang new file mode 100644 index 00000000000..a68319fb2df --- /dev/null +++ b/htdocs/langs/tg_TJ/supplier_proposal.lang @@ -0,0 +1,58 @@ +# Dolibarr language file - Source file is en_US - supplier_proposal +SupplierProposal=Vendor commercial proposals +supplier_proposalDESC=Manage price requests to suppliers +SupplierProposalNew=New price request +CommRequest=Price request +CommRequests=Price requests +SearchRequest=Find a request +DraftRequests=Draft requests +SupplierProposalsDraft=Draft vendor proposals +LastModifiedRequests=Latest %s modified price requests +RequestsOpened=Open price requests +SupplierProposalArea=Vendor proposals area +SupplierProposalShort=Vendor proposal +SupplierProposals=Vendor proposals +SupplierProposalsShort=Vendor proposals +AskPrice=Price request +NewAskPrice=New price request +ShowSupplierProposal=Show price request +AddSupplierProposal=Create a price request +SupplierProposalRefFourn=Vendor ref +SupplierProposalDate=Delivery date +SupplierProposalRefFournNotice=Before closing to "Accepted", think to grasp suppliers references. +ConfirmValidateAsk=Are you sure you want to validate this price request under name %s? +DeleteAsk=Delete request +ValidateAsk=Validate request +SupplierProposalStatusDraft=Draft (needs to be validated) +SupplierProposalStatusValidated=Validated (request is open) +SupplierProposalStatusClosed=Closed +SupplierProposalStatusSigned=Accepted +SupplierProposalStatusNotSigned=Refused +SupplierProposalStatusDraftShort=Draft +SupplierProposalStatusValidatedShort=Validated +SupplierProposalStatusClosedShort=Closed +SupplierProposalStatusSignedShort=Accepted +SupplierProposalStatusNotSignedShort=Refused +CopyAskFrom=Create a price request by copying an existing request +CreateEmptyAsk=Create blank request +ConfirmCloneAsk=Are you sure you want to clone the price request %s? +ConfirmReOpenAsk=Are you sure you want to open back the price request %s? +SendAskByMail=Send price request by mail +SendAskRef=Sending the price request %s +SupplierProposalCard=Request card +ConfirmDeleteAsk=Are you sure you want to delete this price request %s? +ActionsOnSupplierProposal=Events on price request +DocModelAuroreDescription=A complete request model (logo...) +CommercialAsk=Price request +DefaultModelSupplierProposalCreate=Default model creation +DefaultModelSupplierProposalToBill=Default template when closing a price request (accepted) +DefaultModelSupplierProposalClosed=Default template when closing a price request (refused) +ListOfSupplierProposals=List of vendor proposal requests +ListSupplierProposalsAssociatedProject=List of vendor proposals associated with project +SupplierProposalsToClose=Vendor proposals to close +SupplierProposalsToProcess=Vendor proposals to process +LastSupplierProposals=Latest %s price requests +AllPriceRequests=All requests +TypeContact_supplier_proposal_external_SHIPPING=Vendor contact for delivery +TypeContact_supplier_proposal_external_BILLING=Vendor contact for billing +TypeContact_supplier_proposal_external_SERVICE=Representative following-up proposal diff --git a/htdocs/langs/tg_TJ/suppliers.lang b/htdocs/langs/tg_TJ/suppliers.lang new file mode 100644 index 00000000000..ca9ee174d29 --- /dev/null +++ b/htdocs/langs/tg_TJ/suppliers.lang @@ -0,0 +1,49 @@ +# Dolibarr language file - Source file is en_US - vendors +Suppliers=Vendors +SuppliersInvoice=Vendor invoice +SupplierInvoices=Vendor invoices +ShowSupplierInvoice=Show Vendor Invoice +NewSupplier=New vendor +History=History +ListOfSuppliers=List of vendors +ShowSupplier=Show vendor +OrderDate=Order date +BuyingPriceMin=Best buying price +BuyingPriceMinShort=Best buying price +TotalBuyingPriceMinShort=Total of subproducts buying prices +TotalSellingPriceMinShort=Total of subproducts selling prices +SomeSubProductHaveNoPrices=Some sub-products have no price defined +AddSupplierPrice=Add buying price +ChangeSupplierPrice=Change buying price +SupplierPrices=Vendor prices +ReferenceSupplierIsAlreadyAssociatedWithAProduct=This vendor reference is already associated with a product: %s +NoRecordedSuppliers=No vendor recorded +SupplierPayment=Vendor payment +SuppliersArea=Vendor area +RefSupplierShort=Ref. vendor +Availability=Availability +ExportDataset_fournisseur_1=Vendor invoices and invoice details +ExportDataset_fournisseur_2=Vendor invoices and payments +ExportDataset_fournisseur_3=Purchase orders and order details +ApproveThisOrder=Approve this order +ConfirmApproveThisOrder=Are you sure you want to approve order %s? +DenyingThisOrder=Deny this order +ConfirmDenyingThisOrder=Are you sure you want to deny this order %s? +ConfirmCancelThisOrder=Are you sure you want to cancel this order %s? +AddSupplierOrder=Create Purchase Order +AddSupplierInvoice=Create vendor invoice +ListOfSupplierProductForSupplier=List of products and prices for vendor %s +SentToSuppliers=Sent to vendors +ListOfSupplierOrders=List of purchase orders +MenuOrdersSupplierToBill=Purchase orders to invoice +NbDaysToDelivery=Delivery delay (days) +DescNbDaysToDelivery=The longest delivery delay of the products from this order +SupplierReputation=Vendor reputation +ReferenceReputation=Reference reputation +DoNotOrderThisProductToThisSupplier=Do not order +NotTheGoodQualitySupplier=Low quality +ReputationForThisProduct=Reputation +BuyerName=Buyer name +AllProductServicePrices=All product / service prices +AllProductReferencesOfSupplier=All references of vendor +BuyingPriceNumShort=Vendor prices diff --git a/htdocs/langs/tg_TJ/ticket.lang b/htdocs/langs/tg_TJ/ticket.lang new file mode 100644 index 00000000000..5615415ef28 --- /dev/null +++ b/htdocs/langs/tg_TJ/ticket.lang @@ -0,0 +1,321 @@ +# en_US lang file for module ticket +# Copyright (C) 2013 Jean-François FERRY +# +# 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 . + +# +# Generic +# + +Module56000Name=Tickets +Module56000Desc=Ticket system for issue or request management + +Permission56001=See tickets +Permission56002=Modify tickets +Permission56003=Delete tickets +Permission56004=Manage tickets +Permission56005=See tickets of all third parties (not effective for external users, always be limited to the third party they depend on) + +TicketDictType=Ticket - Types +TicketDictCategory=Ticket - Groupes +TicketDictSeverity=Ticket - Severities +TicketDictResolution=Ticket - Resolution + +TicketTypeShortCOM=Commercial question +TicketTypeShortHELP=Request for functionnal help +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem +TicketTypeShortREQUEST=Change or enhancement request +TicketTypeShortPROJET=Project +TicketTypeShortOTHER=Other + +TicketSeverityShortLOW=Low +TicketSeverityShortNORMAL=Normal +TicketSeverityShortHIGH=High +TicketSeverityShortBLOCKING=Critical, Blocking + +ErrorBadEmailAddress=Field '%s' incorrect +MenuTicketMyAssign=My tickets +MenuTicketMyAssignNonClosed=My open tickets +MenuListNonClosed=Open tickets + +TypeContact_ticket_internal_CONTRIBUTOR=Contributor +TypeContact_ticket_internal_SUPPORTTEC=Assigned user +TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking +TypeContact_ticket_external_CONTRIBUTOR=External contributor + +OriginEmail=Reporter Email +Notify_TICKET_SENTBYMAIL=Send ticket message by email + +# Status +Read=Read +Assigned=Assigned +InProgress=In progress +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback +Answered=Answered +Waiting=Waiting +SolvedClosed=Solved +Deleted=Deleted + +# Dict +Type=Type +Severity=Severity +TicketGroupIsPublic=Group is public +TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface + +# Email templates +MailToSendTicketMessage=To send email from ticket message + +# +# Admin page +# +TicketSetup=Ticket module setup +TicketSettings=Settings +TicketSetupPage= +TicketPublicAccess=A public interface requiring no identification is available at the following url +TicketSetupDictionaries=The type of ticket, severity and analytic codes are configurable from dictionaries +TicketParamModule=Module variable setup +TicketParamMail=Email setup +TicketEmailNotificationFrom=Notification email from +TicketEmailNotificationFromHelp=Used into ticket message answer by example +TicketEmailNotificationTo=Notifications email to +TicketEmailNotificationToHelp=Send email notifications to this address. +TicketNewEmailBodyLabel=Text message sent after creating a ticket +TicketNewEmailBodyHelp=The text specified here will be inserted into the email confirming the creation of a new ticket from the public interface. Information on the consultation of the ticket are automatically added. +TicketParamPublicInterface=Public interface setup +TicketsEmailMustExist=Require an existing email address to create a ticket +TicketsEmailMustExistHelp=In the public interface, the email address should already be filled in the database to create a new ticket. +PublicInterface=Public interface +TicketUrlPublicInterfaceLabelAdmin=Alternative URL for public interface +TicketUrlPublicInterfaceHelpAdmin=It is possible to define an alias to the web server and thus make available the public interface with another URL (the server must act as a proxy on this new URL) +TicketPublicInterfaceTextHomeLabelAdmin=Welcome text of the public interface +TicketPublicInterfaceTextHome=You can create a support ticket or view existing from its identifier tracking ticket. +TicketPublicInterfaceTextHomeHelpAdmin=The text defined here will appear on the home page of the public interface. +TicketPublicInterfaceTopicLabelAdmin=Interface title +TicketPublicInterfaceTopicHelp=This text will appear as the title of the public interface. +TicketPublicInterfaceTextHelpMessageLabelAdmin=Help text to the message entry +TicketPublicInterfaceTextHelpMessageHelpAdmin=This text will appear above the message input area of the user. +ExtraFieldsTicket=Extra attributes +TicketCkEditorEmailNotActivated=HTML editor is not activated. Please put FCKEDITOR_ENABLE_MAIL content to 1 to get it. +TicketsDisableEmail=Do not send emails for ticket creation or message recording +TicketsDisableEmailHelp=By default, emails are sent when new tickets or messages created. Enable this option to disable *all* email notifications +TicketsLogEnableEmail=Enable log by email +TicketsLogEnableEmailHelp=At each change, an email will be sent **to each contact** associated with the ticket. +TicketParams=Params +TicketsShowModuleLogo=Display the logo of the module in the public interface +TicketsShowModuleLogoHelp=Enable this option to hide the logo module in the pages of the public interface +TicketsShowCompanyLogo=Display the logo of the company in the public interface +TicketsShowCompanyLogoHelp=Enable this option to hide the logo of the main company in the pages of the public interface +TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address +TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsLimitViewAssignedOnly=Restrict the display to tickets assigned to the current user (not effective for external users, always be limited to the third party they depend on) +TicketsLimitViewAssignedOnlyHelp=Only tickets assigned to the current user will be visible. Does not apply to a user with tickets management rights. +TicketsActivatePublicInterface=Activate public interface +TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create tickets. +TicketsAutoAssignTicket=Automatically assign the user who created the ticket +TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket. +TicketNumberingModules=Tickets numbering module +TicketsModelModule=Document templates for tickets +TicketNotifyTiersAtCreation=Notify third party at creation +TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface +TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessageHelp=Send email(s) when a new message is added from public interface (to assigned user or the notifications email to (update) and/or the notifications email to) +TicketPublicNotificationNewMessageDefaultEmail=Notifications email to (update) +TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +# +# Index & list page +# +TicketsIndex=Tickets area +TicketList=List of tickets +TicketAssignedToMeInfos=This page display ticket list created by or assigned to current user +NoTicketsFound=No ticket found +NoUnreadTicketsFound=No unread ticket found +TicketViewAllTickets=View all tickets +TicketViewNonClosedOnly=View only open tickets +TicketStatByStatus=Tickets by status +OrderByDateAsc=Sort by ascending date +OrderByDateDesc=Sort by descending date +ShowAsConversation=Show as conversation list +MessageListViewType=Show as table list + +# +# Ticket card +# +Ticket=Ticket +TicketCard=Ticket card +CreateTicket=Create ticket +EditTicket=Edit ticket +TicketsManagement=Tickets Management +CreatedBy=Created by +NewTicket=New Ticket +SubjectAnswerToTicket=Ticket answer +TicketTypeRequest=Request type +TicketCategory=Ticket categorization +SeeTicket=See ticket +TicketMarkedAsRead=Ticket has been marked as read +TicketReadOn=Read on +TicketCloseOn=Closing date +MarkAsRead=Mark ticket as read +TicketHistory=Ticket history +AssignUser=Assign to user +TicketAssigned=Ticket is now assigned +TicketChangeType=Change type +TicketChangeCategory=Change analytic code +TicketChangeSeverity=Change severity +TicketAddMessage=Add a message +AddMessage=Add a message +MessageSuccessfullyAdded=Ticket added +TicketMessageSuccessfullyAdded=Message successfully added +TicketMessagesList=Message list +NoMsgForThisTicket=No message for this ticket +Properties=Classification +LatestNewTickets=Latest %s newest tickets (not read) +TicketSeverity=Severity +ShowTicket=See ticket +RelatedTickets=Related tickets +TicketAddIntervention=Create intervention +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket +ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' +ConfirmDeleteTicket=Please confirm ticket deleting +TicketDeletedSuccess=Ticket deleted with success +TicketMarkedAsClosed=Ticket marked as closed +TicketDurationAuto=Calculated duration +TicketDurationAutoInfos=Duration calculated automatically from intervention related +TicketUpdated=Ticket updated +SendMessageByEmail=Send message by email +TicketNewMessage=New message +ErrorMailRecipientIsEmptyForSendTicketMessage=Recipient is empty. No email send +TicketGoIntoContactTab=Please go into "Contacts" tab to select them +TicketMessageMailIntro=Introduction +TicketMessageMailIntroHelp=This text is added only at the beginning of the email and will not be saved. +TicketMessageMailIntroLabelAdmin=Introduction to the message when sending email +TicketMessageMailIntroText=Hello,
    A new response was sent on a ticket that you contact. Here is the message:
    +TicketMessageMailIntroHelpAdmin=This text will be inserted before the text of the response to a ticket. +TicketMessageMailSignature=Signature +TicketMessageMailSignatureHelp=This text is added only at the end of the email and will not be saved. +TicketMessageMailSignatureText=

    Sincerely,

    --

    +TicketMessageMailSignatureLabelAdmin=Signature of response email +TicketMessageMailSignatureHelpAdmin=This text will be inserted after the response message. +TicketMessageHelp=Only this text will be saved in the message list on ticket card. +TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. +TimeElapsedSince=Time elapsed since +TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since +TicketContacts=Contacts ticket +TicketDocumentsLinked=Documents linked to ticket +ConfirmReOpenTicket=Confirm reopen this ticket ? +TicketMessageMailIntroAutoNewPublicMessage=A new message was posted on the ticket with the subject %s: +TicketAssignedToYou=Ticket assigned +TicketAssignedEmailBody=You have been assigned the ticket #%s by %s +MarkMessageAsPrivate=Mark message as private +TicketMessagePrivateHelp=This message will not display to external users +TicketEmailOriginIssuer=Issuer at origin of the tickets +InitialMessage=Initial Message +LinkToAContract=Link to a contract +TicketPleaseSelectAContract=Select a contract +UnableToCreateInterIfNoSocid=Can not create an intervention when no third party is defined +TicketMailExchanges=Mail exchanges +TicketInitialMessageModified=Initial message modified +TicketMessageSuccesfullyUpdated=Message successfully updated +TicketChangeStatus=Change status +TicketConfirmChangeStatus=Confirm the status change: %s ? +TicketLogStatusChanged=Status changed: %s to %s +TicketNotNotifyTiersAtCreate=Not notify company at create +Unread=Unread +TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface. +ErrorTicketRefRequired=Ticket reference name is required + +# +# Logs +# +TicketLogMesgReadBy=Ticket %s read by %s +NoLogForThisTicket=No log for this ticket yet +TicketLogAssignedTo=Ticket %s assigned to %s +TicketLogPropertyChanged=Ticket %s modified: classification from %s to %s +TicketLogClosedBy=Ticket %s closed by %s +TicketLogReopen=Ticket %s re-open + +# +# Public pages +# +TicketSystem=Ticket system +ShowListTicketWithTrackId=Display ticket list from track ID +ShowTicketWithTrackId=Display ticket from track ID +TicketPublicDesc=You can create a support ticket or check from an existing ID. +YourTicketSuccessfullySaved=Ticket has been successfully saved! +MesgInfosPublicTicketCreatedWithTrackId=A new ticket has been created with ID %s and Ref %s. +PleaseRememberThisId=Please keep the tracking number that we might ask you later. +TicketNewEmailSubject=Ticket creation confirmation - Ref %s (public ticket ID %s) +TicketNewEmailSubjectCustomer=New support ticket +TicketNewEmailBody=This is an automatic email to confirm you have registered a new ticket. +TicketNewEmailBodyCustomer=This is an automatic email to confirm a new ticket has just been created into your account. +TicketNewEmailBodyInfosTicket=Information for monitoring the ticket +TicketNewEmailBodyInfosTrackId=Ticket tracking number: %s +TicketNewEmailBodyInfosTrackUrl=You can view the progress of the ticket by clicking the link above. +TicketNewEmailBodyInfosTrackUrlCustomer=You can view the progress of the ticket in the specific interface by clicking the following link +TicketEmailPleaseDoNotReplyToThisEmail=Please do not reply directly to this email! Use the link to reply into the interface. +TicketPublicInfoCreateTicket=This form allows you to record a support ticket in our management system. +TicketPublicPleaseBeAccuratelyDescribe=Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request. +TicketPublicMsgViewLogIn=Please enter ticket tracking ID +TicketTrackId=Public Tracking ID +OneOfTicketTrackId=One of your tracking ID +ErrorTicketNotFound=Ticket with tracking ID %s not found! +Subject=Subject +ViewTicket=View ticket +ViewMyTicketList=View my ticket list +ErrorEmailMustExistToCreateTicket=Error: email address not found in our database +TicketNewEmailSubjectAdmin=New ticket created - Ref %s (public ticket ID %s) +TicketNewEmailBodyAdmin=

    Ticket has just been created with ID #%s, see information:

    +SeeThisTicketIntomanagementInterface=See ticket in management interface +TicketPublicInterfaceForbidden=The public interface for the tickets was not enabled +ErrorEmailOrTrackingInvalid=Bad value for tracking ID or email +OldUser=Old user +NewUser=New user +NumberOfTicketsByMonth=Number of tickets per month +NbOfTickets=Number of tickets +# notifications +TicketNotificationEmailSubject=Ticket %s updated +TicketNotificationEmailBody=This is an automatic message to notify you that ticket %s has just been updated +TicketNotificationRecipient=Notification recipient +TicketNotificationLogMessage=Log message +TicketNotificationEmailBodyInfosTrackUrlinternal=View ticket into interface +TicketNotificationNumberEmailSent=Notification email sent: %s + +ActionsOnTicket=Events on ticket + +# +# Boxes +# +BoxLastTicket=Latest created tickets +BoxLastTicketDescription=Latest %s created tickets +BoxLastTicketContent= +BoxLastTicketNoRecordedTickets=No recent unread tickets +BoxLastModifiedTicket=Latest modified tickets +BoxLastModifiedTicketDescription=Latest %s modified tickets +BoxLastModifiedTicketContent= +BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets +BoxTicketType=Distribution of open tickets by type +BoxTicketSeverity=Number of open tickets by severity +BoxNoTicketSeverity=No tickets opened +BoxTicketLastXDays=Number of new tickets by days the last %s days +BoxTicketLastXDayswidget = Number of new tickets by days the last X days +BoxNoTicketLastXDays=No new tickets the last %s days +BoxNumberOfTicketByDay=Number of new tickets by day +BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets +TicketCreatedToday=Ticket created today +TicketClosedToday=Ticket closed today diff --git a/htdocs/langs/tg_TJ/trips.lang b/htdocs/langs/tg_TJ/trips.lang new file mode 100644 index 00000000000..c9a6c792077 --- /dev/null +++ b/htdocs/langs/tg_TJ/trips.lang @@ -0,0 +1,150 @@ +# Dolibarr language file - Source file is en_US - trips +ShowExpenseReport=Show expense report +Trips=Expense reports +TripsAndExpenses=Expenses reports +TripsAndExpensesStatistics=Expense reports statistics +TripCard=Expense report card +AddTrip=Create expense report +ListOfTrips=List of expense reports +ListOfFees=List of fees +TypeFees=Types of fees +ShowTrip=Show expense report +NewTrip=New expense report +LastExpenseReports=Latest %s expense reports +AllExpenseReports=All expense reports +CompanyVisited=Company/organization visited +FeesKilometersOrAmout=Amount or kilometers +DeleteTrip=Delete expense report +ConfirmDeleteTrip=Are you sure you want to delete this expense report? +ListTripsAndExpenses=List of expense reports +ListToApprove=Waiting for approval +ExpensesArea=Expense reports area +ClassifyRefunded=Classify 'Refunded' +ExpenseReportWaitingForApproval=A new expense report has been submitted for approval +ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s +ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval +ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s +ExpenseReportApproved=An expense report was approved +ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s +ExpenseReportRefused=An expense report was refused +ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s +ExpenseReportCanceled=An expense report was canceled +ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s +ExpenseReportPaid=An expense report was paid +ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s +TripId=Id expense report +AnyOtherInThisListCanValidate=Person to be informed for validating the request. +TripSociete=Information company +TripNDF=Informations expense report +PDFStandardExpenseReports=Standard template to generate a PDF document for expense report +ExpenseReportLine=Expense report line +TF_OTHER=Other +TF_TRIP=Transportation +TF_LUNCH=Lunch +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hotel +TF_TAXI=Taxi +EX_KME=Mileage costs +EX_FUE=Fuel CV +EX_HOT=Hotel +EX_PAR=Parking CV +EX_TOL=Toll CV +EX_TAX=Various Taxes +EX_IND=Indemnity transportation subscription +EX_SUM=Maintenance supply +EX_SUO=Office supplies +EX_CAR=Car rental +EX_DOC=Documentation +EX_CUR=Customers receiving +EX_OTR=Other receiving +EX_POS=Postage +EX_CAM=CV maintenance and repair +EX_EMM=Employees meal +EX_GUM=Guests meal +EX_BRE=Breakfast +EX_FUE_VP=Fuel PV +EX_TOL_VP=Toll PV +EX_PAR_VP=Parking PV +EX_CAM_VP=PV maintenance and repair +DefaultCategoryCar=Default transportation mode +DefaultRangeNumber=Default range number +UploadANewFileNow=Upload a new document now +Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' +ErrorDoubleDeclaration=You have declared another expense report into a similar date range. +AucuneLigne=There is no expense report declared yet +ModePaiement=Payment mode +VALIDATOR=User responsible for approval +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paid by +REFUSEUR=Denied by +CANCEL_USER=Deleted by +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date +ExpenseReportRef=Ref. expense report +ValidateAndSubmit=Validate and submit for approval +ValidatedWaitingApproval=Validated (waiting for approval) +NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. +ConfirmRefuseTrip=Are you sure you want to deny this expense report? +ValideTrip=Approve expense report +ConfirmValideTrip=Are you sure you want to approve this expense report? +PaidTrip=Pay an expense report +ConfirmPaidTrip=Are you sure you want to change status of this expense report to "Paid"? +ConfirmCancelTrip=Are you sure you want to cancel this expense report? +BrouillonnerTrip=Move back expense report to status "Draft" +ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft"? +SaveTrip=Validate expense report +ConfirmSaveTrip=Are you sure you want to validate this expense report? +NoTripsToExportCSV=No expense report to export for this period. +ExpenseReportPayment=Expense report payment +ExpenseReportsToApprove=Expense reports to approve +ExpenseReportsToPay=Expense reports to pay +ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? +ExpenseReportsIk=Configuration of mileage charges +ExpenseReportsRules=Expense report rules +ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers +ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report +expenseReportOffset=Offset +expenseReportCoef=Coefficient +expenseReportTotalForFive=Example with d = 5 +expenseReportRangeFromTo=from %d to %d +expenseReportRangeMoreThan=more than %d +expenseReportCoefUndefined=(value not defined) +expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary +expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay +expenseReportPrintExample=offset + (d x coef) = %s +ExpenseReportApplyTo=Apply to +ExpenseReportDomain=Domain to apply +ExpenseReportLimitOn=Limit on +ExpenseReportDateStart=Date start +ExpenseReportDateEnd=Date end +ExpenseReportLimitAmount=Limite amount +ExpenseReportRestrictive=Restrictive +AllExpenseReport=All type of expense report +OnExpense=Expense line +ExpenseReportRuleSave=Expense report rule saved +ExpenseReportRuleErrorOnSave=Error: %s +RangeNum=Range %d +ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s +byEX_DAY=by day (limitation to %s) +byEX_MON=by month (limitation to %s) +byEX_YEA=by year (limitation to %s) +byEX_EXP=by line (limitation to %s) +ExpenseReportConstraintViolationWarning=Constraint violation id [%s]: %s is superior to %s %s +nolimitbyEX_DAY=by day (no limitation) +nolimitbyEX_MON=by month (no limitation) +nolimitbyEX_YEA=by year (no limitation) +nolimitbyEX_EXP=by line (no limitation) +CarCategory=Vehicle category +ExpenseRangeOffset=Offset amount: %s +RangeIk=Mileage range +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/tg_TJ/users.lang b/htdocs/langs/tg_TJ/users.lang new file mode 100644 index 00000000000..6aeaf128838 --- /dev/null +++ b/htdocs/langs/tg_TJ/users.lang @@ -0,0 +1,126 @@ +# Dolibarr language file - Source file is en_US - users +HRMArea=HRM area +UserCard=User card +GroupCard=Group card +Permission=Permission +Permissions=Permissions +EditPassword=Edit password +SendNewPassword=Regenerate and send password +SendNewPasswordLink=Send link to reset password +ReinitPassword=Regenerate password +PasswordChangedTo=Password changed to: %s +SubjectNewPassword=Your new password for %s +GroupRights=Group permissions +UserRights=User permissions +Credentials=Credentials +UserGUISetup=User Display Setup +DisableUser=Disable +DisableAUser=Disable a user +DeleteUser=Delete +DeleteAUser=Delete a user +EnableAUser=Enable a user +DeleteGroup=Delete +DeleteAGroup=Delete a group +ConfirmDisableUser=Are you sure you want to disable user %s? +ConfirmDeleteUser=Are you sure you want to delete user %s? +ConfirmDeleteGroup=Are you sure you want to delete group %s? +ConfirmEnableUser=Are you sure you want to enable user %s? +ConfirmReinitPassword=Are you sure you want to generate a new password for user %s? +ConfirmSendNewPassword=Are you sure you want to generate and send new password for user %s? +NewUser=New user +CreateUser=Create user +LoginNotDefined=Login is not defined. +NameNotDefined=Name is not defined. +ListOfUsers=List of users +SuperAdministrator=Super Administrator +SuperAdministratorDesc=Global administrator +AdministratorDesc=Administrator +DefaultRights=Default Permissions +DefaultRightsDesc=Define here the default permissions that are automatically granted to a new user (to modify permissions for existing users, go to the user card). +DolibarrUsers=Dolibarr users +LastName=Last name +FirstName=First name +ListOfGroups=List of groups +NewGroup=New group +CreateGroup=Create group +RemoveFromGroup=Remove from group +PasswordChangedAndSentTo=Password changed and sent to %s. +PasswordChangeRequest=Request to change password for %s +PasswordChangeRequestSent=Request to change password for %s sent to %s. +IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. +IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. +ConfirmPasswordReset=Confirm password reset +MenuUsersAndGroups=Users & Groups +LastGroupsCreated=Latest %s groups created +LastUsersCreated=Latest %s users created +ShowGroup=Show group +ShowUser=Show user +NonAffectedUsers=Non assigned users +UserModified=User modified successfully +PhotoFile=Photo file +ListOfUsersInGroup=List of users in this group +ListOfGroupsForUser=List of groups for this user +LinkToCompanyContact=Link to third party / contact +LinkedToDolibarrMember=Link to member +LinkedToDolibarrUser=Link to Dolibarr user +LinkedToDolibarrThirdParty=Link to Dolibarr third party +CreateDolibarrLogin=Create a user +CreateDolibarrThirdParty=Create a third party +LoginAccountDisableInDolibarr=Account disabled in Dolibarr. +UsePersonalValue=Use personal value +InternalUser=Internal user +ExportDataset_user_1=Users and their properties +DomainUser=Domain user %s +Reactivate=Reactivate +CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. +InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. +Inherited=Inherited +UserWillBe=Created user will be +UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) +UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) +IdPhoneCaller=Id phone caller +NewUserCreated=User %s created +NewUserPassword=Password change for %s +NewPasswordValidated=Your new password have been validated and must be used now to login. +EventUserModified=User %s modified +UserDisabled=User %s disabled +UserEnabled=User %s activated +UserDeleted=User %s removed +NewGroupCreated=Group %s created +GroupModified=Group %s modified +GroupDeleted=Group %s removed +ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact? +ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member? +ConfirmCreateThirdParty=Are you sure you want to create a third party for this member? +LoginToCreate=Login to create +NameToCreate=Name of third party to create +YourRole=Your roles +YourQuotaOfUsersIsReached=Your quota of active users is reached ! +NbOfUsers=Number of users +NbOfPermissions=Number of permissions +DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin +HierarchicalResponsible=Supervisor +HierarchicView=Hierarchical view +UseTypeFieldToChange=Use field Type to change +OpenIDURL=OpenID URL +LoginUsingOpenID=Use OpenID to login +WeeklyHours=Hours worked (per week) +ExpectedWorkedHours=Expected hours worked per week +ColorUser=Color of the user +DisabledInMonoUserMode=Disabled in maintenance mode +UserAccountancyCode=User accounting code +UserLogoff=User logout +UserLogged=User logged +DateOfEmployment=Employment date +DateEmployment=Employment +DateEmploymentstart=Employment Start Date +DateEmploymentEnd=Employment End Date +RangeOfLoginValidity=Access validity date range +CantDisableYourself=You can't disable your own user record +ForceUserExpenseValidator=Force expense report validator +ForceUserHolidayValidator=Force leave request validator +ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. +UserPersonalEmail=Personal email +UserPersonalMobile=Personal mobile phone +WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s diff --git a/htdocs/langs/tg_TJ/website.lang b/htdocs/langs/tg_TJ/website.lang new file mode 100644 index 00000000000..dc2ec2c0b3d --- /dev/null +++ b/htdocs/langs/tg_TJ/website.lang @@ -0,0 +1,147 @@ +# Dolibarr language file - Source file is en_US - website +Shortname=Code +WebsiteSetupDesc=Create here the websites you wish to use. Then go into menu Websites to edit them. +DeleteWebsite=Delete website +ConfirmDeleteWebsite=Are you sure you want to delete this web site? All its pages and content will also be removed. The files uploaded (like into the medias directory, the ECM module, ...) will remain. +WEBSITE_TYPE_CONTAINER=Type of page/container +WEBSITE_PAGE_EXAMPLE=Web page to use as example +WEBSITE_PAGENAME=Page name/alias +WEBSITE_ALIASALT=Alternative page names/aliases +WEBSITE_ALIASALTDesc=Use here list of other name/aliases so the page can also be accessed using this other names/aliases (for example the old name after renaming the alias to keep backlink on old link/name working). Syntax is:
    alternativename1, alternativename2, ... +WEBSITE_CSS_URL=URL of external CSS file +WEBSITE_CSS_INLINE=CSS file content (common to all pages) +WEBSITE_JS_INLINE=Javascript file content (common to all pages) +WEBSITE_HTML_HEADER=Addition at bottom of HTML Header (common to all pages) +WEBSITE_ROBOT=Robot file (robots.txt) +WEBSITE_HTACCESS=Website .htaccess file +WEBSITE_MANIFEST_JSON=Website manifest.json file +WEBSITE_README=README.md file +WEBSITE_KEYWORDSDesc=Use a comma to separate values +EnterHereLicenseInformation=Enter here meta data or license information to fille a README.md file. if you distribute your website as a template, the file will be included into the temptate package. +HtmlHeaderPage=HTML header (specific to this page only) +PageNameAliasHelp=Name or alias of the page.
    This alias is also used to forge a SEO URL when website is ran from a Virtual host of a Web server (like Apacke, Nginx, ...). Use the button "%s" to edit this alias. +EditTheWebSiteForACommonHeader=Note: If you want to define a personalized header for all pages, edit the header on the site level instead of on the page/container. +MediaFiles=Media library +EditCss=Edit website properties +EditMenu=Edit menu +EditMedias=Edit medias +EditPageMeta=Edit page/container properties +EditInLine=Edit inline +AddWebsite=Add website +Webpage=Web page/container +AddPage=Add page/container +PageContainer=Page +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. +SiteDeleted=Web site '%s' deleted +PageContent=Page/Contenair +PageDeleted=Page/Contenair '%s' of website %s deleted +PageAdded=Page/Contenair '%s' added +ViewSiteInNewTab=View site in new tab +ViewPageInNewTab=View page in new tab +SetAsHomePage=Set as Home page +RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s +ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: +YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s +YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org +CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s +ReadPerm=Read +WritePerm=Write +TestDeployOnWeb=Test/deploy on web +PreviewSiteServedByWebServer=Preview %s in a new tab.

    The %s will be served by an external web server (like Apache, Nginx, IIS). You must install and setup this server before to point to directory:
    %s
    URL served by external server:
    %s +PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". +VirtualHostUrlNotDefined=URL of the virtual host served by external web server not defined +NoPageYet=No pages yet +YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template +SyntaxHelp=Help on specific syntax tips +YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor. +YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

    You can also include content of another Page/Container with the following syntax:
    <?php includeContainer('alias_of_container_to_include'); ?>

    You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):
    <?php redirectToContainer('alias_of_container_to_redirect_to'); ?>

    To add a link to another page, use the syntax:
    <a href="alias_of_page_to_link_to.php">mylink<a>

    To include a link to download a file stored into the documents directory, use the document.php wrapper:
    Example, for a file into documents/ecm (need to be logged), syntax is:
    <a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
    For a file into documents/medias (open directory for public access), syntax is:
    <a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
    For a file shared with a share link (open access using the sharing hash key of file), syntax is:
    <a href="/document.php?hashp=publicsharekeyoffile">

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
    +#YouCanEditHtmlSource2=
    To include a image shared publicaly, use the viewimage.php wrapper:
    Example with a shared key 123456789, syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    +YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    +YouCanEditHtmlSourceMore=
    More examples of HTML or dynamic code available on the wiki documentation
    . +ClonePage=Clone page/container +CloneSite=Clone site +SiteAdded=Website added +ConfirmClonePage=Please enter code/alias of new page and if it is a translation of the cloned page. +PageIsANewTranslation=The new page is a translation of the current page ? +LanguageMustNotBeSameThanClonedPage=You clone a page as a translation. The language of the new page must be different than language of source page. +ParentPageId=Parent page ID +WebsiteId=Website ID +CreateByFetchingExternalPage=Create page/container by fetching page from external URL... +OrEnterPageInfoManually=Or create page from scratch or from a page template... +FetchAndCreate=Fetch and Create +ExportSite=Export website +ImportSite=Import website template +IDOfPage=Id of page +Banner=Banner +BlogPost=Blog post +WebsiteAccount=Website account +WebsiteAccounts=Website accounts +AddWebsiteAccount=Create web site account +BackToListForThirdParty=Back to list for the third-party +DisableSiteFirst=Disable website first +MyContainerTitle=My web site title +AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) +SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later... +WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table +WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party +YouMustDefineTheHomePage=You must first define the default Home page +OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. +OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site +GrabImagesInto=Grab also images found into css and page. +ImagesShouldBeSavedInto=Images should be saved into directory +WebsiteRootOfImages=Root directory for website images +SubdirOfPage=Sub-directory dedicated to page +AliasPageAlreadyExists=Alias page %s already exists +CorporateHomePage=Corporate Home page +EmptyPage=Empty page +ExternalURLMustStartWithHttp=External URL must start with http:// or https:// +ZipOfWebsitePackageToImport=Upload the Zip file of the website template package +ZipOfWebsitePackageToLoad=or Choose an available embedded website template package +ShowSubcontainers=Show dynamic content +InternalURLOfPage=Internal URL of page +ThisPageIsTranslationOf=This page/container is a translation of +ThisPageHasTranslationPages=This page/container has translation +NoWebSiteCreateOneFirst=No website has been created yet. Create one first. +GoTo=Go to +DynamicPHPCodeContainsAForbiddenInstruction=You add dynamic PHP code that contains the PHP instruction '%s' that is forbidden by default as dynamic content (see hidden options WEBSITE_PHP_ALLOW_xxx to increase list of allowed commands). +NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynamic content in websites. Ask permission or just keep code into php tags unmodified. +ReplaceWebsiteContent=Search or Replace website content +DeleteAlsoJs=Delete also all javascript files specific to this website? +DeleteAlsoMedias=Delete also all medias files specific to this website? +MyWebsitePages=My website pages +SearchReplaceInto=Search | Replace into +ReplaceString=New string +CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:

    #mycssselector, input.myclass:hover { ... }
    must be
    .bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }

    Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere. +LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page. +Dynamiccontent=Sample of a page with dynamic content +ImportSite=Import website template +EditInLineOnOff=Mode 'Edit inline' is %s +ShowSubContainersOnOff=Mode to execute 'dynamic content' is %s +GlobalCSSorJS=Global CSS/JS/Header file of web site +BackToHomePage=Back to home page... +TranslationLinks=Translation links +YouTryToAccessToAFileThatIsNotAWebsitePage=You try to access to a page that is not available.
    (ref=%s, type=%s, status=%s) +UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters +MainLanguage=Main language +OtherLanguages=Other languages +UseManifest=Provide a manifest.json file +PublicAuthorAlias=Public author alias +AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties +ReplacementDoneInXPages=Replacement done in %s pages or containers +RSSFeed=RSS Feed +RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL +PagesRegenerated=%s page(s)/container(s) regenerated +RegenerateWebsiteContent=Regenerate web site cache files +AllowedInFrames=Allowed in Frames +DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties. +GenerateSitemaps=Generate website sitemap file +ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... +ConfirmSitemapsCreation=Confirm sitemap generation +SitemapGenerated=Sitemap file %s generated +ImportFavicon=Favicon +ErrorFaviconType=Favicon must be png +ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 +FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) diff --git a/htdocs/langs/tg_TJ/withdrawals.lang b/htdocs/langs/tg_TJ/withdrawals.lang new file mode 100644 index 00000000000..a3773a427a1 --- /dev/null +++ b/htdocs/langs/tg_TJ/withdrawals.lang @@ -0,0 +1,152 @@ +# Dolibarr language file - Source file is en_US - withdrawals +CustomersStandingOrdersArea=Payments by Direct debit orders +SuppliersStandingOrdersArea=Payments by Credit transfer +StandingOrdersPayment=Direct debit payment orders +StandingOrderPayment=Direct debit payment order +NewStandingOrder=New direct debit order +NewPaymentByBankTransfer=New payment by credit transfer +StandingOrderToProcess=To process +PaymentByBankTransferReceipts=Credit transfer orders +PaymentByBankTransferLines=Credit transfer order lines +WithdrawalsReceipts=Direct debit orders +WithdrawalReceipt=Direct debit order +BankTransferReceipts=Credit transfer orders +BankTransferReceipt=Credit transfer order +LatestBankTransferReceipts=Latest %s credit transfer orders +LastWithdrawalReceipts=Latest %s direct debit files +WithdrawalsLine=Direct debit order line +CreditTransferLine=Credit transfer line +WithdrawalsLines=Direct debit order lines +CreditTransferLines=Credit transfer lines +RequestStandingOrderToTreat=Requests for direct debit payment order to process +RequestStandingOrderTreated=Requests for direct debit payment order processed +RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process +RequestPaymentsByBankTransferTreated=Requests for credit transfer processed +NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. +NbOfInvoiceToWithdraw=No. of qualified customer invoices with waiting direct debit order +NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information +NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer +SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer +InvoiceWaitingWithdraw=Invoice waiting for direct debit +InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer +AmountToWithdraw=Amount to withdraw +NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoice card to make a request. +NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. +ResponsibleUser=User Responsible +WithdrawalsSetup=Direct debit payment setup +CreditTransferSetup=Credit transfer setup +WithdrawStatistics=Direct debit payment statistics +CreditTransferStatistics=Credit transfer statistics +Rejects=Rejects +LastWithdrawalReceipt=Latest %s direct debit receipts +MakeWithdrawRequest=Make a direct debit payment request +MakeBankTransferOrder=Make a credit transfer request +WithdrawRequestsDone=%s direct debit payment requests recorded +BankTransferRequestsDone=%s credit transfer requests recorded +ThirdPartyBankCode=Third-party bank code +NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. +ClassCredited=Classify credited +ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? +TransData=Transmission date +TransMetod=Transmission method +Send=Send +Lines=Lines +StandingOrderReject=Issue a rejection +WithdrawsRefused=Direct debit refused +WithdrawalRefused=Withdrawal refused +CreditTransfersRefused=Credit transfers refused +WithdrawalRefusedConfirm=Are you sure you want to enter a withdrawal rejection for society +RefusedData=Date of rejection +RefusedReason=Reason for rejection +RefusedInvoicing=Billing the rejection +NoInvoiceRefused=Do not charge the rejection +InvoiceRefused=Invoice refused (Charge the rejection to customer) +StatusDebitCredit=Status debit/credit +StatusWaiting=Waiting +StatusTrans=Sent +StatusDebited=Debited +StatusCredited=Credited +StatusPaid=Paid +StatusRefused=Refused +StatusMotif0=Unspecified +StatusMotif1=Insufficient funds +StatusMotif2=Request contested +StatusMotif3=No direct debit payment order +StatusMotif4=Sales Order +StatusMotif5=RIB unusable +StatusMotif6=Account without balance +StatusMotif7=Judicial Decision +StatusMotif8=Other reason +CreateForSepaFRST=Create direct debit file (SEPA FRST) +CreateForSepaRCUR=Create direct debit file (SEPA RCUR) +CreateAll=Create direct debit file (all) +CreateFileForPaymentByBankTransfer=Create file for credit transfer +CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) +CreateGuichet=Only office +CreateBanque=Only bank +OrderWaiting=Waiting for treatment +NotifyTransmision=Record file transmission of order +NotifyCredit=Record credit of order +NumeroNationalEmetter=National Transmitter Number +WithBankUsingRIB=For bank accounts using RIB +WithBankUsingBANBIC=For bank accounts using IBAN/BIC/SWIFT +BankToReceiveWithdraw=Receiving Bank Account +BankToPayCreditTransfer=Bank Account used as source of payments +CreditDate=Credit on +WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) +ShowWithdraw=Show Direct Debit Order +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management. +DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. +DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. +WithdrawalFile=Debit order file +CreditTransferFile=Credit transfer file +SetToStatusSent=Set to status "File Sent" +ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null +StatisticsByLineStatus=Statistics by status of lines +RUM=UMR +DateRUM=Mandate signature date +RUMLong=Unique Mandate Reference +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) +WithdrawRequestAmount=Amount of Direct debit request: +BankTransferAmount=Amount of Credit Transfer request: +WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount. +SepaMandate=SEPA Direct Debit Mandate +SepaMandateShort=SEPA Mandate +PleaseReturnMandate=Please return this mandate form by email to %s or by mail to +SEPALegalText=By signing this mandate form, you authorize (A) %s to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from %s. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights regarding the above mandate are explained in a statement that you can obtain from your bank. +CreditorIdentifier=Creditor Identifier +CreditorName=Creditor Name +SEPAFillForm=(B) Please complete all the fields marked * +SEPAFormYourName=Your name +SEPAFormYourBAN=Your Bank Account Name (IBAN) +SEPAFormYourBIC=Your Bank Identifier Code (BIC) +SEPAFrstOrRecur=Type of payment +ModeRECUR=Recurring payment +ModeFRST=One-off payment +PleaseCheckOne=Please check one only +CreditTransferOrderCreated=Credit transfer order %s created +DirectDebitOrderCreated=Direct debit order %s created +AmountRequested=Amount requested +SEPARCUR=SEPA CUR +SEPAFRST=SEPA FRST +ExecutionDate=Execution date +CreateForSepa=Create direct debit file +ICS=Creditor Identifier - ICS +END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction +USTRD="Unstructured" SEPA XML tag +ADDDAYS=Add days to Execution Date +NoDefaultIBANFound=No default IBAN found for this third party +### Notifications +InfoCreditSubject=Payment of direct debit payment order %s by the bank +InfoCreditMessage=The direct debit payment order %s has been paid by the bank
    Data of payment: %s +InfoTransSubject=Transmission of direct debit payment order %s to bank +InfoTransMessage=The direct debit payment order %s has been sent to bank by %s %s.

    +InfoTransData=Amount: %s
    Method: %s
    Date: %s +InfoRejectSubject=Direct debit payment order refused +InfoRejectMessage=Hello,

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

    --
    %s +ModeWarning=Option for real mode was not set, we stop after this simulation +ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. +ErrorICSmissing=Missing ICS in Bank account %s +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines diff --git a/htdocs/langs/tg_TJ/workflow.lang b/htdocs/langs/tg_TJ/workflow.lang new file mode 100644 index 00000000000..adfe7f69609 --- /dev/null +++ b/htdocs/langs/tg_TJ/workflow.lang @@ -0,0 +1,26 @@ +# Dolibarr language file - Source file is en_US - workflow +WorkflowSetup=Workflow module setup +WorkflowDesc=This module provides some automatic actions. By default, the workflow is open (you can do things in the order you want) but here you can activate some automatic actions. +ThereIsNoWorkflowToModify=There is no workflow modifications available with the activated modules. +# Autocreate +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a sales order after a commercial proposal is signed (the new order will have same amount as the proposal) +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatically create a customer invoice after a commercial proposal is signed (the new invoice will have same amount as the proposal) +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Automatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice after a sales order is closed (the new invoice will have same amount as the order) +# Autoclassify customer proposal or order +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when sales order is set to billed (and if the amount of the order is the same as the total amount of the signed linked proposal) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the signed linked proposal) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) +# Autoclassify purchase order +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) +descWORKFLOW_BILL_ON_RECEPTION=Classify receptions to "billed" when a linked supplier order is validated +# Autoclose intervention +descWORKFLOW_TICKET_CLOSE_INTERVENTION=Close all interventions linked to the ticket when a ticket is closed +AutomaticCreation=Automatic creation +AutomaticClassification=Automatic classification +# Autoclassify shipment +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated diff --git a/htdocs/langs/tg_TJ/zapier.lang b/htdocs/langs/tg_TJ/zapier.lang new file mode 100644 index 00000000000..b4cc4ccba4a --- /dev/null +++ b/htdocs/langs/tg_TJ/zapier.lang @@ -0,0 +1,21 @@ +# Copyright (C) 2019 Frédéric FRANCE +# +# 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 . + +ModuleZapierForDolibarrName = Zapier for Dolibarr +ModuleZapierForDolibarrDesc = Zapier for Dolibarr module +ZapierForDolibarrSetup=Setup of Zapier for Dolibarr +ZapierDescription=Interface with Zapier +ZapierAbout=About the module Zapier +ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. diff --git a/htdocs/langs/th_TH/accountancy.lang b/htdocs/langs/th_TH/accountancy.lang index b1831be4744..c1bc497e562 100644 --- a/htdocs/langs/th_TH/accountancy.lang +++ b/htdocs/langs/th_TH/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=รายการบัญชีที่บัญชี UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=รูปแบบของการส่งออก Selectmodelcsv=เลือกรูปแบบของการส่งออก @@ -335,7 +339,7 @@ Modelcsv_normal=การส่งออกคลาสสิก Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index 7718a6b1db0..c82f31c9758 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -53,6 +53,7 @@ InternalUser=ผู้ใช้งานภายใน ExternalUser=ผู้ใช้ภายนอก InternalUsers=ผู้ใช้ภายใน ExternalUsers=ผู้ใช้ภายนอก +UserInterface=User interface GUISetup=แสดง SetupArea=การติดตั้ง UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=ไม่สามารถใช้ได้เมื่ออาแจ็กซ์ปิดการใช้งาน AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=ปิดใช้งาน JavaScript UsePreviewTabs=ใช้แท็บตัวอย่าง ShowPreview=แสดงตัวอย่าง @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=ข้อ จำกัด และความถูกต้อง MenuIdParent=ID เมนูผู้ปกครอง DetailMenuIdParent=ID ของเมนูปกครอง (ที่ว่างเปล่าสำหรับเมนูด้านบน) +ParentID=Parent ID DetailPosition=เรียงลำดับหมายเลขในการกำหนดตำแหน่งที่เมนู AllMenus=ทั้งหมด NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=องค์ประกอบเฉพาะจาก โมดูลที่เปิดใช้งาน จะแสดง ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=ดูการตั้งค่าของโมดูล% s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore สถานที่อย่างเป็นทางการสำหรับตลาด Dolibarr ERP / CRM โมดูลภายนอก @@ -399,6 +403,7 @@ SecurityToken=กุญแจสำคัญในการรักษาคว NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=รูปแบบไฟล์ PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=สัญญา / สมัครสมาชิก Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=บาร์โค้ด -Module55Desc=การจัดการบาร์โค้ด +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=สร้าง / แก้ไขส่วนลด Permission403=ตรวจสอบส่วนลด Permission404=ลบส่วนลด Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=เงินเดือนส่งออก Permission520=อ่านสินเชื่อ Permission522=สร้าง / แก้ไขการให้กู้ยืมเงิน @@ -965,6 +970,8 @@ Permission23003=ลบงานที่กำหนด Permission23004=การดำเนินงานที่กำหนด Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=อ่านการทำธุรกรรม Permission50202=การทำธุรกรรมนำเข้า Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=การตั้งค่าที่บันทึกไว้ SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=การตรวจสอบบัญชี +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=ฟังก์ชั่น SSL ไม่สาม DownloadMoreSkins=กินมากขึ้นในการดาวน์โหลด SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=แปลบางส่วน MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=สภาพปัจจุบันคือ% s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=ค้นหาการเพิ่มประสิทธิภาพ -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=ตัวเลือกหลัก AdherentLoginRequired= เข้าสู่ระบบการจัดการสำหรับสมาชิกแต่ละคน AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=ช่องทำเครื่องหมายยืนยันที่จะส่งอีเมลไปยังสมาชิก (การตรวจสอบหรือการสมัครสมาชิกใหม่) เป็นตามค่าเริ่มต้น +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=คลิกเพื่อกดติดตั้งโมดูล ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=แนะนำ +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/th_TH/agenda.lang b/htdocs/langs/th_TH/agenda.lang index f2a93b36d8b..3c76a772ca7 100644 --- a/htdocs/langs/th_TH/agenda.lang +++ b/htdocs/langs/th_TH/agenda.lang @@ -4,7 +4,7 @@ Actions=เหตุการณ์ที่เกิดขึ้น Agenda=ระเบียบวาระการประชุม TMenuAgenda=ระเบียบวาระการประชุม Agendas=วาระ -LocalAgenda=ปฏิทินภายใน +LocalAgenda=Default calendar ActionsOwnedBy=เหตุการณ์ที่เป็นเจ้าของโดย ActionsOwnedByShort=เจ้าของ AffectedTo=ได้รับมอบหมายให้ @@ -14,13 +14,13 @@ EventsNb=จำนวนของเหตุการณ์ที่ ListOfActions=รายการของเหตุการณ์ EventReports=Event reports Location=สถานที่ -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=เหตุการณ์ทุกวัน (s) MenuToDoActions=ทุกเหตุการณ์ที่ไม่สมบูรณ์ MenuDoneActions=เหตุการณ์ยกเลิกทั้งหมด MenuToDoMyActions=เหตุการณ์ที่ไม่สมบูรณ์ของฉัน MenuDoneMyActions=เหตุการณ์สิ้นสุดของฉัน -ListOfEvents=รายการของเหตุการณ์ (ปฏิทินภายใน) +ListOfEvents=List of events (default calendar) ActionsAskedBy=เหตุการณ์รายงานโดย ActionsToDoBy=เหตุการณ์ที่เกิดขึ้นได้รับมอบหมายให้ ActionsDoneBy=เหตุการณ์กระทำโดย @@ -38,6 +38,7 @@ ActionsEvents=กิจกรรมสำหรับ Dolibarr ซึ่งจ EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=สัญญา% ผ่านการตรวจสอบ CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=วันที่เริ่มต้น @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=ไม่ว่าง ExportDataset_event1=รายการของเหตุการณ์วาระการประชุม @@ -152,6 +155,7 @@ ActionType=ประเภทเหตุการณ์ DateActionBegin=วันที่เริ่มต้นเหตุการณ์ ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=เหตุการณ์ซ้ำ +OnceOnly=Once only EveryWeek=ทุกสัปดาห์ EveryMonth=ทุกเดือน DayOfMonth=วันของเดือน @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/th_TH/banks.lang b/htdocs/langs/th_TH/banks.lang index 9cc2fcbf33a..b21e70fecce 100644 --- a/htdocs/langs/th_TH/banks.lang +++ b/htdocs/langs/th_TH/banks.lang @@ -115,7 +115,7 @@ TransferTo=ไปยัง TransferFromToDone=การถ่ายโอนจาก% s% s% s% s ได้รับการบันทึก CheckTransmitter=ผู้ส่ง ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=เช็คธนาคาร diff --git a/htdocs/langs/th_TH/bills.lang b/htdocs/langs/th_TH/bills.lang index 583cd85d1ef..9b93ef61f60 100644 --- a/htdocs/langs/th_TH/bills.lang +++ b/htdocs/langs/th_TH/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=วันที่ใบแจ้งหนี้ DatePointOfTax=Point of tax NoInvoice=ไม่มีใบแจ้งหนี้ +NoOpenInvoice=No open invoice ClassifyBill=แยกประเภทใบแจ้งหนี้ SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=ใบแจ้งหนี้ของลูกค้าที่ค้างชำระ @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/th_TH/boxes.lang b/htdocs/langs/th_TH/boxes.lang index cb54d2fbf5d..5cd196d0233 100644 --- a/htdocs/langs/th_TH/boxes.lang +++ b/htdocs/langs/th_TH/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=ใบแจ้งหนี้ลูกค้า ForCustomersOrders=คำสั่งซื้อของลูกค้า ForProposals=ข้อเสนอ diff --git a/htdocs/langs/th_TH/cashdesk.lang b/htdocs/langs/th_TH/cashdesk.lang index 6ec140d41ce..1441f0c6080 100644 --- a/htdocs/langs/th_TH/cashdesk.lang +++ b/htdocs/langs/th_TH/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/th_TH/compta.lang b/htdocs/langs/th_TH/compta.lang index 80f555eef67..734b1c95524 100644 --- a/htdocs/langs/th_TH/compta.lang +++ b/htdocs/langs/th_TH/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/th_TH/cron.lang b/htdocs/langs/th_TH/cron.lang index 8294f683d7e..e1127814217 100644 --- a/htdocs/langs/th_TH/cron.lang +++ b/htdocs/langs/th_TH/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=วันที่สิ้นสุดไม่สาม StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=ปิดการใช้งาน -CronTaskInactive=งานนี้ถูกปิดใช้งาน +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/th_TH/deliveries.lang b/htdocs/langs/th_TH/deliveries.lang index cac9f569166..84b94f406b3 100644 --- a/htdocs/langs/th_TH/deliveries.lang +++ b/htdocs/langs/th_TH/deliveries.lang @@ -27,5 +27,7 @@ Recipient=ผู้รับ ErrorStockIsNotEnough=มีไม่มากพอที่หุ้น Shippable=shippable NonShippable=ไม่ shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index a6a8cadcfef..e6586993332 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=เข้าสู่ระบบ% s อยู่แล้ว ErrorGroupAlreadyExists=s% กลุ่มที่มีอยู่แล้ว +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=บันทึกไม่พบ ErrorFailToCopyFile=ไม่สามารถคัดลอกแฟ้ม '% s' เป็น '% s' ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=ไม่สามารถอ่านไฟล์ '% s' ErrorCantReadDir=ไม่สามารถอ่านไดเรกทอรี '% s' ErrorBadLoginPassword=ค่าที่ไม่ดีเพื่อเข้าสู่ระบบหรือรหัสผ่าน ErrorLoginDisabled=บัญชีของคุณถูกปิดการใช้งาน -ErrorFailedToRunExternalCommand=ไม่สามารถเรียกใช้คำสั่งภายนอก ตรวจสอบสามารถใช้ได้และที่ทำงานโดยเซิร์ฟเวอร์ PHP ของคุณ ถ้า PHP เซฟโหมดที่มีการเปิดใช้การตรวจสอบคำสั่งที่อยู่ภายในไดเรกทอรีที่กำหนดโดยพารามิเตอร์ safe_mode_exec_dir +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=ไม่สามารถเปลี่ยนรหัสผ่าน ErrorLoginDoesNotExists=ผู้ใช้ที่มี s% เข้าสู่ระบบไม่พบ ErrorLoginHasNoEmail=ผู้ใช้นี้ไม่มีที่อยู่อีเมล ขั้นตอนการยกเลิก @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/th_TH/eventorganization.lang b/htdocs/langs/th_TH/eventorganization.lang index a98071ac8a9..3a1b9726442 100644 --- a/htdocs/langs/th_TH/eventorganization.lang +++ b/htdocs/langs/th_TH/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = ประเภทเหตุการณ์ +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/th_TH/exports.lang b/htdocs/langs/th_TH/exports.lang index 4ec434b49a1..c378db35d2c 100644 --- a/htdocs/langs/th_TH/exports.lang +++ b/htdocs/langs/th_TH/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=ประเภทของสาย (0 = ผลิ FileWithDataToImport=ไฟล์ที่มีข้อมูลที่จะนำเข้า FileToImport=แหล่งที่มาของไฟล์ที่จะนำเข้า FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=แหล่งที่มาของรูปแบบไฟล์ diff --git a/htdocs/langs/th_TH/holiday.lang b/htdocs/langs/th_TH/holiday.lang index 72c08f6f446..8615a182474 100644 --- a/htdocs/langs/th_TH/holiday.lang +++ b/htdocs/langs/th_TH/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=รอการอนุมัติ ApprovedCP=ได้รับการอนุมัติ CancelCP=ยกเลิก RefuseCP=ปฏิเสธ -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=คำขอฝาก LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=คำขอฝาก TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=จำนวนวันของวันหยุดบริโภค -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=แก้ไข @@ -55,7 +55,7 @@ TitleDeleteCP=ลบคำขอลา ConfirmDeleteCP=ยืนยันการลบคำขอออกจากนี้หรือไม่? ErrorCantDeleteCP=ข้อผิดพลาดของคุณไม่ได้มีสิทธิ์ในการลบคำขอลานี้ CantCreateCP=คุณไม่ได้มีสิทธิที่จะขอลา -InvalidValidatorCP=คุณต้องเลือก approbator การร้องขอการลาของคุณ +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=คุณต้องเลือกวันที่เริ่มต้น NoDateFin=คุณต้องเลือกวันที่สิ้นสุด ErrorDureeCP=คำขอลาของคุณไม่ได้มีวันทำงาน @@ -80,14 +80,14 @@ UserCP=ผู้ใช้งาน ErrorAddEventToUserCP=เกิดข้อผิดพลาดในขณะที่เพิ่มการลาพิเศษ AddEventToUserOkCP=นอกเหนือจากการลาพิเศษเสร็จเรียบร้อยแล้ว MenuLogCP=ดูบันทึกการเปลี่ยนแปลง -LogCP=เข้าสู่ระบบการปรับปรุงวันวันหยุดใช้ได้ -ActionByCP=ดำเนินการโดย -UserUpdateCP=สำหรับผู้ใช้ +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=คงเหลือก่อนหน้า NewSoldeCP=นิวบาลานซ์ alreadyCPexist=คำขอลาได้ทำไปแล้วในเวลานี้ -FirstDayOfHoliday=วันแรกของวันหยุด -LastDayOfHoliday=วันสุดท้ายของวันหยุด +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=การปรับปรุงรายเดือน ManualUpdate=การปรับปรุงคู่มือการใช้งาน @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=ปรับปรุงเรียบร้อยแล้ว Module27130Name= การบริหารจัดการของการร้องขอลา Module27130Desc= การบริหารจัดการของการร้องขอลา @@ -125,10 +125,12 @@ HolidaysCanceledBody=คำขอลาสำหรับ% s% s ได้ถู FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/th_TH/hrm.lang b/htdocs/langs/th_TH/hrm.lang index d449dc659a7..fd3c1e12bcf 100644 --- a/htdocs/langs/th_TH/hrm.lang +++ b/htdocs/langs/th_TH/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index 1f0b347ade6..cf01cdc0adf 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/th_TH/interventions.lang b/htdocs/langs/th_TH/interventions.lang index dd10bf804e4..5270cf869d5 100644 --- a/htdocs/langs/th_TH/interventions.lang +++ b/htdocs/langs/th_TH/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/th_TH/knowledgemanagement.lang b/htdocs/langs/th_TH/knowledgemanagement.lang index 7a13161b2b9..91b3519b91b 100644 --- a/htdocs/langs/th_TH/knowledgemanagement.lang +++ b/htdocs/langs/th_TH/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = เกี่ยวกับ KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = บทความ KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/th_TH/languages.lang b/htdocs/langs/th_TH/languages.lang index da1747a0a47..c24fc29c4b8 100644 --- a/htdocs/langs/th_TH/languages.lang +++ b/htdocs/langs/th_TH/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=ภาษาอาหรับ Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=ภาษาอาหรับ +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=ประเทศบังคลาเทศ Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=ดัตช์ (เบลเยี่ยม) Language_nl_NL=Dutch Language_pl_PL=โปแลนด์ +Language_pt_AO=Portuguese (Angola) Language_pt_BR=โปรตุเกส (บราซิล) Language_pt_PT=โปรตุเกส +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=โรมาเนีย Language_ru_RU=รัสเซีย Language_ru_UA=รัสเซีย (ยูเครน) diff --git a/htdocs/langs/th_TH/mails.lang b/htdocs/langs/th_TH/mails.lang index 16ab255fce2..69831da693d 100644 --- a/htdocs/langs/th_TH/mails.lang +++ b/htdocs/langs/th_TH/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index 0da49f6d444..7f635f1da50 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -4,7 +4,7 @@ DIRECTION=ltr # msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) # stsongstdlight or cid0cs are for simplified Chinese # To read Chinese pdf with Linux: sudo apt-get install poppler-data -FONTFORPDF=Helvetica +FONTFORPDF=helvetica FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=อัตราภาษี +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=สมาชิก MenuAgendaGoogle=วาระการประชุมของ Google MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr ขีด จำกัด (เมนูที่บ้านการตั้งค่าการรักษาความปลอดภัย):% s Kb, PHP ขีด จำกัด :% s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=ภาษาปัจจุบัน CurrentTheme=รูปแบบปัจจุบัน @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=ในการประมวลผล ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=ไว้ Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/th_TH/members.lang b/htdocs/langs/th_TH/members.lang index 6615ab0d20c..3e9516fc06f 100644 --- a/htdocs/langs/th_TH/members.lang +++ b/htdocs/langs/th_TH/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/th_TH/modulebuilder.lang b/htdocs/langs/th_TH/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/th_TH/modulebuilder.lang +++ b/htdocs/langs/th_TH/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/th_TH/mrp.lang b/htdocs/langs/th_TH/mrp.lang index ec999a473a4..229690f76fd 100644 --- a/htdocs/langs/th_TH/mrp.lang +++ b/htdocs/langs/th_TH/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=ลบ NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/th_TH/orders.lang b/htdocs/langs/th_TH/orders.lang index dccf12e02ac..5b3351f4c3e 100644 --- a/htdocs/langs/th_TH/orders.lang +++ b/htdocs/langs/th_TH/orders.lang @@ -11,6 +11,7 @@ OrderDate=วันที่สั่งซื้อ OrderDateShort=วันที่สั่งซื้อ OrderToProcess=เพื่อที่จะดำเนินการ NewOrder=คำสั่งซื้อใหม่ +NewSupplierOrderShort=คำสั่งซื้อใหม่ NewOrderSupplier=New Purchase Order ToOrder=ทำให้การสั่งซื้อ MakeOrder=ทำให้การสั่งซื้อ @@ -73,6 +74,7 @@ DeleteOrder=เพื่อลบ CancelOrder=ยกเลิกคำสั่งซื้อ OrderReopened= Order %s re-open AddOrder=สร้างใบสั่ง +AddSupplierOrderShort=สร้างใบสั่ง AddPurchaseOrder=Create purchase order AddToDraftOrders=เพิ่มลงในร่างคำสั่ง ShowOrder=เพื่อแสดง diff --git a/htdocs/langs/th_TH/other.lang b/htdocs/langs/th_TH/other.lang index b4170631c63..34e0eaa80d0 100644 --- a/htdocs/langs/th_TH/other.lang +++ b/htdocs/langs/th_TH/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=ผู้ใช้ที่เข้าสู่ระบบปิ FileWasRemoved=ไฟล์% s จะถูกลบออก DirWasRemoved=สารบบ% s จะถูกลบออก FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=ความกว้าง Height=ความสูง @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=พื้นที่การส่งออก @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = ใกล้ diff --git a/htdocs/langs/th_TH/partnership.lang b/htdocs/langs/th_TH/partnership.lang index 35ad7a84d83..575d6124b0d 100644 --- a/htdocs/langs/th_TH/partnership.lang +++ b/htdocs/langs/th_TH/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=วันที่เริ่มต้น DatePartnershipEnd=วันที่สิ้นสุด +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = ร่าง -PartnershipAccepted = Accepted -PartnershipRefused = ปฏิเสธ -PartnershipCanceled = ยกเลิก - +PartnershipDraft=ร่าง +PartnershipAccepted=Accepted +PartnershipRefused=ปฏิเสธ +PartnershipCanceled=ยกเลิก PartnershipManagedFor=Partners are diff --git a/htdocs/langs/th_TH/productbatch.lang b/htdocs/langs/th_TH/productbatch.lang index cf0ca364246..c9c1e8aa345 100644 --- a/htdocs/langs/th_TH/productbatch.lang +++ b/htdocs/langs/th_TH/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=การใช้งานจำนวนมาก / หมายเลขซีเรีย ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/th_TH/products.lang b/htdocs/langs/th_TH/products.lang index cb46ebae258..909672e9325 100644 --- a/htdocs/langs/th_TH/products.lang +++ b/htdocs/langs/th_TH/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=เพิ่มราคาโดยลูกค้า -ForceUpdateChildPriceSoc=ตั้งราคาเดียวกันกับ บริษัท ย่อยของลูกค้า +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=ราคาขั้นต่ำไม่สามารถจะลดลงแล้ว% s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=เพิ่มขึ้น / ลดลงหุ้ ComposedProduct=Child products MinSupplierPrice=ราคารับซื้อขั้นต่ำ MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=การกำหนดค่าราคาแบบไดนามิก DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=ราคาเฉลี่ยถ่วงน้ำหนัก +PMPValueShort=WAP diff --git a/htdocs/langs/th_TH/projects.lang b/htdocs/langs/th_TH/projects.lang index 3b133a68f69..d67fb8bc7cd 100644 --- a/htdocs/langs/th_TH/projects.lang +++ b/htdocs/langs/th_TH/projects.lang @@ -140,6 +140,7 @@ NoTasks=ไม่มีงานสำหรับโครงการนี​ LinkedToAnotherCompany=เชื่อมโยงไปยังบุคคลที่สาม TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=เวลาที่ใช้เป็นที่ว่างเปล่า +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=การดำเนินการนี้จะลบงานทั้งหมดของโครงการ (% s งานในขณะนี้) และปัจจัยการผลิตทั้งหมดของเวลาที่ใช้ IfNeedToUseOtherObjectKeepEmpty=หากวัตถ​​ุบางอย่าง (ใบแจ้งหนี้การสั่งซื้อ ... ) เป็นของอีกบุคคลที่สามจะต้องเชื่อมโยงกับโครงการที่จะสร้างให้ที่ว่างเปล่านี้จะมีโครงการที่เป็นบุคคลที่สามหลาย CloneTasks=งานโคลน @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=เวลาที่ใช้ TimeSpentForInvoice=เวลาที่ใช้ OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=ใบแจ้งหนี้ใหม่ +NewInter=การแทรกแซงใหม่ OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/th_TH/receptions.lang b/htdocs/langs/th_TH/receptions.lang index ecc899cc3ea..e774aa9731b 100644 --- a/htdocs/langs/th_TH/receptions.lang +++ b/htdocs/langs/th_TH/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/th_TH/salaries.lang b/htdocs/langs/th_TH/salaries.lang index c9e3d27c545..751ac6ec2c0 100644 --- a/htdocs/langs/th_TH/salaries.lang +++ b/htdocs/langs/th_TH/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=เงินเดือน Salaries=เงินเดือน -NewSalaryPayment=การชำระเงินเงินเดือนใหม่ +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=การชำระเงินเงินเดือน SalariesPayments=การชำระเงินเงินเดือน +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=แสดงการชำระเงินเงินเดือน THM=Average hourly rate TJM=Average daily rate CurrentSalary=เงินเดือนปัจจุบัน THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/th_TH/stocks.lang b/htdocs/langs/th_TH/stocks.lang index c2d4b2e180a..a2676058270 100644 --- a/htdocs/langs/th_TH/stocks.lang +++ b/htdocs/langs/th_TH/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=ราคาซื้อหน่วย StockTooLow=หุ้นต่ำเกินไป StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=มูลค่า -PMPValue=ราคาเฉลี่ยถ่วงน้ำหนัก -PMPValueShort=WAP EnhancedValueOfWarehouses=ค่าโกดัง UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=การโอนหุ้นของผลิตภั InventoryCodeShort=Inv. / Mov รหัส NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=จำนวนมากนี้ / หมายเลขประจำเครื่อง (% s) อยู่แล้ว แต่ด้วยความแตกต่างกันหรือ eatby วัน sellby (ที่พบ% s แต่คุณป้อน% s) -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=เปิดใหม่ -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/th_TH/ticket.lang b/htdocs/langs/th_TH/ticket.lang index 8f739ef8f71..a619e7944bd 100644 --- a/htdocs/langs/th_TH/ticket.lang +++ b/htdocs/langs/th_TH/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=โครงการ TicketTypeShortOTHER=อื่น ๆ @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=อ่าน Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=ที่รอ -Closed=ปิด +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=กลุ่ม +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=การแทรกแซงสร้าง -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/th_TH/trips.lang b/htdocs/langs/th_TH/trips.lang index cb415fa7e65..e8c51fee2c7 100644 --- a/htdocs/langs/th_TH/trips.lang +++ b/htdocs/langs/th_TH/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=รายงานค่าใช้จ่าย Id -AnyOtherInThisListCanValidate=คนที่จะแจ้งให้สำหรับการตรวจสอบ +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=ข้อมูล บริษัท TripNDF=ข้อมูลรายงานค่าใช้จ่าย PDFStandardExpenseReports=แม่แบบมาตรฐานในการสร้างเอกสาร PDF สำหรับรายงานค่าใช้จ่าย @@ -90,7 +90,6 @@ DATE_REFUS=ปฏิเสธวัน DATE_SAVE=วันที่ตรวจสอบ DATE_CANCEL=วันที่ยกเลิก DATE_PAIEMENT=วันที่ชำระเงิน -BROUILLONNER=เปิดใหม่ ExpenseReportRef=Ref. expense report ValidateAndSubmit=ตรวจสอบและส่งเพื่อขออนุมัติ ValidatedWaitingApproval=การตรวจสอบ (รอการอนุมัติ) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/th_TH/users.lang b/htdocs/langs/th_TH/users.lang index d67563b1b1c..a74e78828a5 100644 --- a/htdocs/langs/th_TH/users.lang +++ b/htdocs/langs/th_TH/users.lang @@ -97,8 +97,8 @@ LoginToCreate=เข้าสู่ระบบที่จะสร้าง NameToCreate=ชื่อของบุคคลที่สามในการสร้าง YourRole=บทบาทของคุณ YourQuotaOfUsersIsReached=โควต้าของคุณของผู้ใช้ที่ใช้งานถึง! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=เพียง superadmin สามารถปรับลด superadmin HierarchicalResponsible=ผู้ดูแล HierarchicView=มุมมองลำดับชั้น diff --git a/htdocs/langs/th_TH/website.lang b/htdocs/langs/th_TH/website.lang index a33a6c95dca..ac753fb4c7b 100644 --- a/htdocs/langs/th_TH/website.lang +++ b/htdocs/langs/th_TH/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=หน้า -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/th_TH/withdrawals.lang b/htdocs/langs/th_TH/withdrawals.lang index 8390f78c1e3..9d602fe680c 100644 --- a/htdocs/langs/th_TH/withdrawals.lang +++ b/htdocs/langs/th_TH/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=จำแนกเครดิต ClassCreditedConfirm=คุณแน่ใจว่าคุณต้องการที่จะจำแนกได้รับการถอนนี้เป็นเครดิตในบัญชีธนาคารของคุณ? TransData=วันที่ส่ง @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/th_TH/workflow.lang b/htdocs/langs/th_TH/workflow.lang index e55fdf4eb92..b2b4d53e354 100644 --- a/htdocs/langs/th_TH/workflow.lang +++ b/htdocs/langs/th_TH/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/tr_TR/accountancy.lang b/htdocs/langs/tr_TR/accountancy.lang index b04d8c3dd4c..70eee5e61c0 100644 --- a/htdocs/langs/tr_TR/accountancy.lang +++ b/htdocs/langs/tr_TR/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Avrupa Ekonomi Topluluğu'nda Olmayan Ülkeler CountriesInEECExceptMe=%s hariç Avrupa Ekonomi Topluluğu ülkeleri CountriesExceptMe=%s hariç tüm ülkeler AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=Muhasebe hesapları listesi UnknownAccountForThirdparty=Bilinmeyen üçüncü parti hesabı. %s kullanacağız UnknownAccountForThirdpartyBlocking=Bilinmeyen üçüncü parti hesabı. Engelleme hatası -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Dışa aktarım modeli Selectmodelcsv=Bir dışa aktarım modeli seçin @@ -335,7 +339,7 @@ Modelcsv_normal=Klasik dışa aktarım Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=EBP için dışa aktarım Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 1ae5be5bfa3..fffaaf1b329 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -53,6 +53,7 @@ InternalUser=İç kullanıcı ExternalUser=Dış kullanıcı InternalUsers=İç kullanıcılar ExternalUsers=Dış kullanıcılar +UserInterface=User interface GUISetup=Ekran SetupArea=Ayarlar UploadNewTemplate=Yeni şablon(lar) yükleyin @@ -84,6 +85,7 @@ NumberOfBytes=Bayt Sayısı SearchString=Arama dizisi NotAvailableWhenAjaxDisabled=Ajax devre dışı olduğunda kullanılamaz AllowToSelectProjectFromOtherCompany=Bir üçüncü parti belgesinde, başka bir üçüncü partiye bağlantılı bir proje seçilebilir +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript devre dışı UsePreviewTabs=Önizleme sekmelerini kullan ShowPreview=Önizleme göster @@ -116,6 +118,7 @@ MultiCurrencySetup=Çoklu para birimi ayarları MenuLimits=Sınırlar ve Doğruluk MenuIdParent=Ana menü Kimliği DetailMenuIdParent=Ana menü Kimliği (bir üst menü için boş) +ParentID=Parent ID DetailPosition=Menü konumunu tanımlamak için sıralamanumarası AllMenus=Tümü NotConfigured=Modül/Uygulama yapılandırılmadı @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Özellik sadece resmi olarak kararlı sürümlerde BoxesDesc=Ekran etiketleri, bazı sayfaları özelleştirmek için ekleyebileceğiniz çeşitli bilgileri gösteren bileşenlerdir. Hedef sayfayı seçip 'Etkinleştir' seçeneğini tıklayarak ekran etiketini göstermeyi veya çöp kutusuna tıklayarak devre dışı bırakıp göstermemeyi seçebilirsiniz. OnlyActiveElementsAreShown=Yalnızca etkinleştirilmiş modüllerin öğeleri gösterilir. ModulesDesc=Modüller/uygulamalar yazılımda hangi özelliklerin kullanılabileceğini belirler. Bazı modüller, modülü etkinleştirdikten sonra kullanıcılara izin verilmesini gerektirir. Bir modülü/uygulamayı etkinleştirmek veya devre dışı bırakmak için her modülün %s açma/kapama düğmesini tıklayın. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Internette dış web sitelerinde indirmek için daha çok modül bulabilirsiniz... ModulesDeployDesc=Dosya sisteminizdeki izinler imkan veriyorsa harici bir modül kurmak için bu aracı kullanabilirsiniz. Modül daha sonra %s sekmede görünecektir. ModulesMarketPlaces=Dış uygulama/modül bul @@ -221,8 +225,8 @@ NotCompatible=Bu modül Dolibarr'ınızla uyumlu görünmüyor %s (Min %s - Maks CompatibleAfterUpdate=Bu modül, Dolibarr %s (Min %s - Maks %s) için bir güncelleme gerektirir. SeeInMarkerPlace=Market place alanına bakın SeeSetupOfModule=%s modülü kurulumuna bak +SetOptionTo=Set option %s to %s Updated=Güncellendi -Nouveauté=Yenilik AchatTelechargement=Satın Al/Yükle GoModuleSetupArea=Yeni bir modül almak/yüklemek için, %s Modül ayar alanına gidin. DoliStoreDesc=DoliStore, Dolibarr ERP/CRM dış modülleri için resmi pazar yeri @@ -399,6 +403,7 @@ SecurityToken=URL leri güvenli kılmak için anahtar NoSmsEngine=Sitemde hiç bir SMS gönderme yöneticisi mevcut değil. Standart Dolibarr sürümü ile bir SMS gönderme yöneticisi yüklü gelmez, çünkü bunlar bir dış sağlayıcıya bağlıdır. Yine de şu adresten birkaç tane bulabilirsiniz: %s PDF=PDF PDFDesc=PDF oluşturma için global seçenekler +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Adres bölümü kuralları HideAnyVATInformationOnPDF=Satış Vergisi/KDV ile ilgili tüm bilgileri gizle PDFRulesForSalesTax=Satış Vergisi/KDV için Kurallar @@ -561,7 +566,7 @@ Module53Desc=Hizmet Yönetimi Module54Name=Sözleşmeler/Abonelikler Module54Desc=Sözleşmelerin yönetimi (hizmetler veya yinelenen abonelikler) Module55Name=Barkodlar -Module55Desc=Barkod yönetimi +Module55Desc=Barcode or QR code management Module56Name=Kredi transferiyle ödeme Module56Desc=Kredi Transferi siparişleri ile tedarikçilerin ödemelerinin yönetimi. Avrupa ülkeleri için SEPA dosyası oluşturmayı içerir. Module57Name=Otomatik Ödeme ile Ödemeler @@ -848,10 +853,10 @@ Permission402=İndirim oluştur/değiştir Permission403=İndirim doğrula Permission404=İndirim sil Permission430=Hata Ayıklama Çubuğunu Kullan -Permission511=Maaş ödemelerini okuyun (sizinki ve elemanlarınız) -Permission512=Maaş ödemeleri oluşturun/değiştirin -Permission514=Maaş ödemelerini silin -Permission517=Herkesin maaş ödemelerini okuyun +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Ücretleri çıkart Permission520=Borçları oku Permission522=Borç oluştur/değiştir @@ -965,6 +970,8 @@ Permission23003=Planlı iş sil Permission23004=Planlı iş yürüt Permission50101=Satış Noktası Kullanımı (SimplePOS) Permission50151=Satış Noktası Kullanımı (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Işlemleri oku Permission50202=İçe aktarma işlemleri Permission50330=Zapier nesnelerini okuyun @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Ölçü Birimleri DictionarySocialNetworks=Sosyal Ağlar DictionaryProspectStatus=Şirketler için olasılık durumu DictionaryProspectContactStatus=Kişiler için olasılık durumu -DictionaryHolidayTypes=İzin türleri +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Proje/potansiyel müşteri için potansiyel müşteri durumu DictionaryExpenseTaxCat=Gider raporu - Ulaşım kategorileri DictionaryExpenseTaxRange=Gider raporu - Ulaşım kategorisine göre menzil DictionaryTransportMode=Intracomm raporu - Taşıma modu +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Ünite türü SetupSaved=Kurulum kaydedildi SetupNotSaved=Kurulum kaydedilmedi @@ -1185,9 +1193,12 @@ SetupDescription2=Aşağıdaki iki bölümün kurulumu zorunludur (Ayarlar menü SetupDescription3=%s -> %s

    Uygulamanızın varsayılan davranışını özelleştirmek için kullanılan temel parametreler (ör. ülkeyle ilgili özellikler için). SetupDescription4= %s -> %s

    Bu yazılım birçok modül/uygulama paketidir. Gereksinimlerinizle ilgili modüller etkinleştirilmeli ve yapılandırılmalıdır. Bu modüllerin etkinleştirilmesiyle menü girişleri görünecektir. SetupDescription5=Ayarlar menüsündeki diğer girişler isteğe bağlı parametreleri yönetmenizi sağlar. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Denetlenen güvenlik olayları NoSecurityEventsAreAduited=Hiçbir güvenlik olayı denetlenmez. Bunları %s menüsünden etkinleştirebilirsiniz -Audit=Denetim +Audit=Security events InfoDolibarr=Dolibarr Bilgileri InfoBrowser=Tarayıcı Bilgileri InfoOS=İşletim Sistemi Bilgileri @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL fonksiyonları PHP nizde mevcut değildir DownloadMoreSkins=Daha fazla kaplama indirin SimpleNumRefModelDesc=Referans numarasını% yyyyaa-nnnn biçiminde döndürür; burada yy yıl, aa ay ve nnnn sıfırlama olmadan sıralı otomatik artan bir sayıdır SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Adreslerle profesyonel kimliği göster -ShowVATIntaInAddress=Adreslerde Vergi numarasını gizle +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Kısmi çeviri MAIN_DISABLE_METEO=Meteorolojik görünümü devre dışı bırak MeteoStdMod=Standart mod @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Koşul şu anda %s durumunda YouUseBestDriver=Kullandığınız %s sürücüsü şu anda mevcut olan en iyi sürücüdür. YouDoNotUseBestDriver=%s sürücüsünü kullanıyorsunuz fakat %s sürücüsü önerilir. NbOfObjectIsLowerThanNoPb=Veritabanında yalnızca %s %s var. Bu, herhangi bir özel optimizasyon gerektirmez. +ComboListOptim=Combo list loading optimization SearchOptim=Optimizasyon ara -YouHaveXObjectUseSearchOptim=Veritabanında %s %s var. %s sabitini Giriş-Ayarlar-Diğer ayarlar'da 1'e ekleyebilirsiniz. Aramayı, veritabanının dizinleri kullanmasını mümkün kılan dizelerin başlangıcıyla sınırlandırın ve anında yanıt almalısınız. -YouHaveXObjectAndSearchOptimOn=Veritabanında %s %s var ve Giriş-Ayarlar-Diğer ayarlar'da %s sabiti 1 olarak ayarlandı. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=%s web tarayıcısını kullanıyorsunuz. Bu tarayıcı güvenlik ve performans açısından uygundur. BrowserIsKO=%s web tarayıcısını kullanıyorsunuz. Bu tarayıcının güvenlik, performans ve güvenilirlik açısından kötü bir seçim olduğu bilinmektedir. Firefox, Chrome, Opera veya Safari kullanmanızı öneririz. PHPModuleLoaded=%s PHP bileşeni yüklendi @@ -1433,6 +1447,7 @@ MemberMainOptions=Ana seçenekler AdherentLoginRequired= Her üye için bir Kullanıcı adı yürütün AdherentMailRequired=Yeni bir üye oluşturmak için e-posta gereklidir MemberSendInformationByMailByDefault=Üyelere onay epostası (doğrulama ya da yeni abonelik) göndermek için onay kutusu varsayılan olarak açıktır +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Ziyaretçi kişi mevcut ödeme türlerinden birini seçebilir MEMBER_REMINDER_EMAIL=Süresi dolmuş abonelikler için mail yoluyla otomatik hatırlatıcıyı etkinleştir. Not: Hatırlatıcıyı gönderebilmek için %s modülü etkinleştirilmiş ve doğru bir şekilde yapılandırılmış olmalıdır. MembersDocModules=Üye kaydından oluşturulan belgeler için belge şablonları @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Ajanda menüsünü seçerken varsayılan olarak hangi görü AGENDA_REMINDER_BROWSER=Etkinlik hatırlatıcıyı kullanıcının tarayıcısında etkinleştirin (Hatırlatma tarihine ulaşıldığında, tarayıcı tarafından bir açılır pencere gösterilir. Her kullanıcı, bu tür bildirimleri kendi tarayıcı bildirim ayarlarından devre dışı bırakabilir). AGENDA_REMINDER_BROWSER_SOUND=Sesli bildirimi etkinleştir AGENDA_REMINDER_EMAIL=Etkinlik hatırlatıcıyı e-postalarla etkinleştirin (hatırlatma seçeneği/gecikme her olayda tanımlanabilir). -AGENDA_REMINDER_EMAIL_NOTE=Not:%s görevinin sıklığı, hatırlatmanın doğru zamanda gönderildiğinden emin olmak için yeterli olmalıdır. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Bağlantılı nesneyi gündem görünümünde göster ##### Clicktodial ##### ClickToDialSetup=TıklaAra modülü kurulumu ClickToDialUrlDesc=Telefon picto tıklandığında URL aranır. URL’de, aranacak kişinin telefon numarasıyla değiştirilecek
    __PHONETO__ etiketleri kullanabilirsiniz
    __PHONEFROM__ bu aramanın telefon numarasıyla değiştirilir kişi (sizinki)
    __LOGIN__ tuşla arama ile değiştirilecek (kullanıcı kartında tanımlı)
    __PASS__ tıklama-çevirme şifresiyle değiştirilecek (kullanıcıda tanımlı kartı). ClickToDialDesc=Bu modül, bir masaüstü bilgisayar kullanırken telefon numaralarını tıklanabilir bağlantılara dönüştürür. Bir tıklama numarayı arayacaktır. Bu, masaüstünüzde yazılım telefonu kullanırken veya SIP protokolüne dayalı bir CTI sistemi kullanırken telefon görüşmesini başlatmak için kullanılabilir. Not: Akıllı telefon kullanırken telefon numaraları her zaman tıklanabilir. ClickToDialUseTelLink=Telefon numaraları üzerinde yalnızca bir "tel:" linki kullan -ClickToDialUseTelLinkDesc=Kullanıcılarınızın tarayıcıyla aynı bilgisayarda bir yazılım telefonu veya yazılım arayüzü kuruluysa ve tarayıcınızda "tel:" ile başlayan bir bağlantıya tıkladığınızda arandığında bu yöntemi kullanın. Tam bir sunucu çözümüne ihtiyacınız varsa (yerel yazılım kurulumuna gerek yoktur), bunu "Hayır" olarak ayarlamanız ve sonraki alanı doldurmanız gerekir. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Satış Noktası CashDeskSetup=Satış Noktası modülü kurulumu @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=PDF'deki sağ boşluk MAIN_PDF_MARGIN_TOP=PDF'deki üst boşluk MAIN_PDF_MARGIN_BOTTOM=PDF'deki alt kenar boşluğu MAIN_DOCUMENTS_LOGO_HEIGHT=PDF'deki logo için yükseklik +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Bu modül için gerekli özel bir kurulum yok. SetToYesIfGroupIsComputationOfOtherGroups=Eğer bu grup diğer grupların bir hesaplaması ise bunu evet olarak ayarlayın EnterCalculationRuleIfPreviousFieldIsYes=Önceki alan Evet olarak ayarlanmışsa hesaplama kuralını girin.
    Örneğin:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Şundan daha büyük IfTrackingIDFoundEventWillBeLinked=Bir nesnenin izleme kimliği e-postada bulunursa veya e-posta bir e-postanın hemen toplanan ve bir nesneye bağlanan bir cevabıysa, oluşturulan olayın otomatik olarak bilinen ilgili nesneye bağlanacağını unutmayın. WithGMailYouCanCreateADedicatedPassword=Bir GMail hesabıyla, 2 adımlı doğrulamayı etkinleştirdiyseniz, https://myaccount.google.com/ adresinden kendi hesap şifrenizi kullanmak yerine uygulama için özel bir ikinci şifre oluşturmanız önerilir. EmailCollectorTargetDir=Başarıyla işlendiğinde e-postayı başka bir etikete/dizine taşımak istenen bir davranış olabilir. Bu özelliği kullanmak için burada dizinin adını ayarlamanız yeterlidir (isimde özel karakterler KULLANMAYIN). Ayrıca bir okuma/yazma oturum açma hesabı kullanmanız gerektiğini unutmayın. -EmailCollectorLoadThirdPartyHelp=Veritabanınızdaki mevcut bir cari bulmak ve yüklemek için e-posta içeriğini kullanmak için bu eylemi kullanabilirsiniz. Bulunan (veya oluşturulan) cari, ihtiyaç duyan aşağıdaki eylemler için kullanılacaktır. Parametre alanında, örneğin 'EXTRACT: BODY: Name: \\s([^\\s]*)' kullanabilirsiniz, eğer cari adını gövdeden çıkarmak istiyorsanız 'Ad: bulunacak ad' yapınız. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=%s için bitiş noktası: %s DeleteEmailCollector=E-posta toplayıcıyı sil ConfirmDeleteEmailCollector=Bu e-posta toplayıcıyı silmek istediğinizden emin misiniz? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Belgede projeyi göster ShowProjectLabel=Proje Etiketi PDF_USE_ALSO_LANGUAGE_CODE=PDF'nizdeki bazı metinlerin aynı oluşturulan PDF'de 2 farklı dilde çoğaltılmasını istiyorsanız, burada bu ikinci dili ayarlamanız gerekir, böylece oluşturulan PDF aynı sayfada 2 farklı dil içerir, biri PDF oluşturulurken seçilir ve bu ( yalnızca birkaç PDF şablonu bunu destekler). PDF başına 1 dil için boş bırakın. FafaIconSocialNetworksDesc=Buraya FontAwesome simgesinin kodunu girin. FontAwesome'ın ne olduğunu bilmiyorsanız, fa-address-book genel değerini kullanabilirsiniz. -FeatureNotAvailableWithReceptionModule=Alış modül etkinleştirildiğinde özellik kullanılamaz RssNote=Not: Her RSS akışı tanımı, gösterge tablosunda mevcut olması için etkinleştirmeniz gereken bir pencere öğesi sağlar. JumpToBoxes=Kuruluma Atla -> Widget'lar MeasuringUnitTypeDesc=Burada "beden", "yüzey", "hacim", "ağırlık", "zaman" gibi bir değer kullanın @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Bu kimliği almak için bankanızla iletişime geçin AdvancedModeOnly=İzin yalnızca Gelişmiş izin modunda mevcuttur ConfFileIsReadableOrWritableByAnyUsers=Conf dosyası herhangi bir kullanıcı tarafından okunabilir veya yazılabilir. Yalnızca web sunucusu kullanıcısına ve grubuna izin verin. MailToSendEventOrganization=Etkinlik organizasyonu +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Formdan bir olay oluştururken varsayılan olay durumu YouShouldDisablePHPFunctions=PHP işlevlerini devre dışı bırakmalısınız -IfCLINotRequiredYouShouldDisablePHPFunctions=Sistem komutlarını çalıştırmanız gerekmesi dışında (örneğin Planlanmış iş modülü için veya harici komut satırı Anti-virüs'ü çalıştırmak için), PHP işlevlerini devre dışı bırakmalısınız. +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=Kök dizininizde ortak programların yazılabilir dosyaları veya dizinleri bulunamadı (İyi) RecommendedValueIs=Önerilen: %s +Recommended=Önerilen +NotRecommended=Not recommended ARestrictedPath=Kısıtlı bir yol CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/tr_TR/agenda.lang b/htdocs/langs/tr_TR/agenda.lang index 82b8160baa5..addc00ef664 100644 --- a/htdocs/langs/tr_TR/agenda.lang +++ b/htdocs/langs/tr_TR/agenda.lang @@ -4,7 +4,7 @@ Actions=Etkinlikler Agenda=Gündem TMenuAgenda=Gündem Agendas=Gündemler -LocalAgenda=İç takvim +LocalAgenda=Default calendar ActionsOwnedBy=Etkinlik sahibi ActionsOwnedByShort=Sahibi AffectedTo=Atanan @@ -14,13 +14,13 @@ EventsNb=Etkinlik sayısı ListOfActions=Etkinlik listesi EventReports=Etkinlik raporları Location=Konum -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Tam gün(ler)deki etkinlik MenuToDoActions=Sonlandırılmamış tüm etkinlikler MenuDoneActions=Sonlandırılmış tüm etkinlikler MenuToDoMyActions=Sonlanmamış etkinliklerim MenuDoneMyActions=Sonlanmış etkinliklerim -ListOfEvents=Etkinlik listesi (iç takvim) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Etkinliği bildiren ActionsToDoBy=Etkinliğe atanan ActionsDoneBy=Etkinliği yapan @@ -38,6 +38,7 @@ ActionsEvents=Dolibarr'ın gündem içerisinde otomatik olarak bir eylem oluştu EventRemindersByEmailNotEnabled=%s modül kurulumunda e-posta yoluyla etkinik hatırlatıcı etkinleştirilmedi. ##### Agenda event labels ##### NewCompanyToDolibarr=%s adlı üçüncü parti oluşturuldu +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=%s adlı üçüncü parti silindi ContractValidatedInDolibarr=%s referans no'lu sözleşme doğrulandı CONTRACT_DELETEInDolibarr=%s referans no'lu sözleşme silindi @@ -87,6 +88,7 @@ OrderDeleted=Sipariş silindi InvoiceDeleted=Fatura silindi DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=%s kodlu ürün oluşturuldu PRODUCT_MODIFYInDolibarr=%s kodlu ürün değiştirildi @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Etkinlik için belge şablonları DateActionStart=Başlangıç tarihi @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s, %s kullanıcısına atanmış eylemle AgendaUrlOptionsProject=project=__PROJECT_ID__, çıkışı __PROJECT_ID__ projesine bağlanmış eylemlere sınırlamak için. AgendaUrlOptionsNotAutoEvent=Otomatik etkinlikleri hariç tutmak için notactiontype=systemauto AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Kişilerin doğum günlerini göster +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Kişilerin doğum günlerini gizle Busy=Meşgul ExportDataset_event1=Gündem etkinlikleri listesi @@ -152,6 +155,7 @@ ActionType=Etkinlik türü DateActionBegin=Etkinlik başlangıç tarihi ConfirmCloneEvent=%s etkinliğinin kopyasını oluşturmak istediğinizden emin misiniz? RepeatEvent=Etkinliği tekrarla +OnceOnly=Once only EveryWeek=Her hafta EveryMonth=Her ay DayOfMonth=Ayın günü @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/tr_TR/banks.lang b/htdocs/langs/tr_TR/banks.lang index 33392145699..579e901c913 100644 --- a/htdocs/langs/tr_TR/banks.lang +++ b/htdocs/langs/tr_TR/banks.lang @@ -115,7 +115,7 @@ TransferTo=Kime TransferFromToDone=%s den %s nin %s %s ne bir transfer kaydedildi. CheckTransmitter=Gönderen ValidateCheckReceipt=Bu çek makbuzu doğrulansın mı? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Bu çek makbuzu silinsin mi? ConfirmDeleteCheckReceipt=Bu çek makbuzunu silmek istediğinizden emin misiniz? BankChecks=Banka çekleri diff --git a/htdocs/langs/tr_TR/bills.lang b/htdocs/langs/tr_TR/bills.lang index 0be1e15c206..bd54027c31a 100644 --- a/htdocs/langs/tr_TR/bills.lang +++ b/htdocs/langs/tr_TR/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Ödeme vadesi DateInvoice=Fatura tarihi DatePointOfTax=Vergi noktası NoInvoice=Fatura yok +NoOpenInvoice=No open invoice ClassifyBill=Faturayı sınıflandır SupplierBillsToPay=Ödenmemiş tedarikçi faturaları CustomerBillsUnpaid=Ödenmemiş müşteri faturaları @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/tr_TR/boxes.lang b/htdocs/langs/tr_TR/boxes.lang index 54f28af256e..7be1e8540f5 100644 --- a/htdocs/langs/tr_TR/boxes.lang +++ b/htdocs/langs/tr_TR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Tedarikçi Siparişleri: değiştirilen son BoxTitleLastModifiedCustomerBills=Müşteri Faturaları: değiştirilen son %s BoxTitleLastModifiedCustomerOrders=Müşteri Siparişleri: son değiştirilen %s BoxTitleLastModifiedPropals=Değiştirilen son %s teklif -BoxTitleLatestModifiedJobPositions=En son %s değiştirilmiş iş -BoxTitleLatestModifiedCandidatures=En son %s değiştirilmiş aday +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Müşteri faturaları ForCustomersOrders=Müşteri siparişleri ForProposals=Teklifler diff --git a/htdocs/langs/tr_TR/cashdesk.lang b/htdocs/langs/tr_TR/cashdesk.lang index a7ce8a3f6d6..14bfb898812 100644 --- a/htdocs/langs/tr_TR/cashdesk.lang +++ b/htdocs/langs/tr_TR/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/tr_TR/compta.lang b/htdocs/langs/tr_TR/compta.lang index ccf30c58ba9..e7070c8c24c 100644 --- a/htdocs/langs/tr_TR/compta.lang +++ b/htdocs/langs/tr_TR/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Faturalanan satın alma cirosu ReportPurchaseTurnoverCollected=Toplanan satın alma cirosu IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/tr_TR/cron.lang b/htdocs/langs/tr_TR/cron.lang index 3c20bddb891..2a1a962c1d7 100644 --- a/htdocs/langs/tr_TR/cron.lang +++ b/htdocs/langs/tr_TR/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Bitiş tarihi başlama tarihinden önce olamaz StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Engelle -CronTaskInactive=Bu iş devre dışı +CronTaskInactive=This job is disabled (not scheduled) CronId=Kimlik CronClassFile=Sınıfıyla beraber dosya adı CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/tr_TR/deliveries.lang b/htdocs/langs/tr_TR/deliveries.lang index 9e7fe45cb1e..0bb2ba24e55 100644 --- a/htdocs/langs/tr_TR/deliveries.lang +++ b/htdocs/langs/tr_TR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Alıcı ErrorStockIsNotEnough=Yeterli stok yok Shippable=Sevkedilebilir NonShippable=Sevkedilemez +ShowShippableStatus=Show shippable status ShowReceiving=Teslimat Fişini göster NonExistentOrder=Mevcut olmayan sipariş +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index 12a16261cab..7854a0a7d63 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Parametreniz için hatalı değer. Genellikle ç ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=%s kullanıcı adı zaten var. ErrorGroupAlreadyExists=%s Grubu zaten var. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Kayıt bulunamadı. ErrorFailToCopyFile='%s' dosyası '%s' içine kopyalanamadı. ErrorFailToCopyDir='%s' dizini '%s' içine kopyalanamadı. @@ -117,7 +118,7 @@ ErrorCantReadFile=Dosya '%s' okunamadı ErrorCantReadDir=Dizin '%s' okunamadı ErrorBadLoginPassword=Kullanıcı adı veya parola için hatalı değer ErrorLoginDisabled=Hesabınız engellendi -ErrorFailedToRunExternalCommand=Dış komut çalıştırılamıyor. PHP sunucunuz tarafından kullanılabilir ve çalıştırılabilir olup olmadığını kontrol edin. PHP Güvenli Mod etkinse, komutun safe_mode_exec_dir parametresiyle tanımlanmış bir dizin içinde olup olmadığını kontrol edin. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Parola değiştirilemedi ErrorLoginDoesNotExists=%s kullanıcı adlı kullanıcı bulunamadı. ErrorLoginHasNoEmail=Bu kullanıcının e-posta adresi yoktur. İşlem iptal edildi. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHP'nizdeki upload_max_filesize (%s) parametresi, post_max_size (%s) PHP parametresinden daha yüksek. Bu tutarlı bir kurulum değil. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/tr_TR/eventorganization.lang b/htdocs/langs/tr_TR/eventorganization.lang index 60890a736ac..26ffec0d0d7 100644 --- a/htdocs/langs/tr_TR/eventorganization.lang +++ b/htdocs/langs/tr_TR/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Etkinlik türü +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/tr_TR/exports.lang b/htdocs/langs/tr_TR/exports.lang index a909d78355e..b57587b63a8 100644 --- a/htdocs/langs/tr_TR/exports.lang +++ b/htdocs/langs/tr_TR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Satır türü (0 = ürün, 1 = hizmet) FileWithDataToImport=İçe aktarılacak verileri içeren dosya FileToImport=İçe aktarılacak kaynak dosya FileMustHaveOneOfFollowingFormat=İçe aktarılacak dosya aşağıdaki formatlardan biri olmalıdır -DownloadEmptyExample=Şablon dosyasını alan içeriği bilgisiyle indir (* olanlar zorunlu alanlardır) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Kullanmak istediğiniz içe aktarma dosya biçimini, %s simgesine tıklayarak seçin... ChooseFileToImport=Dosyayı yükleyin ve daha sonra bu dosyayı kaynak içe aktarma dosyası olarak seçmek için %s simgesine tıklayın... SourceFileFormat=Kaynak dosya biçimi diff --git a/htdocs/langs/tr_TR/holiday.lang b/htdocs/langs/tr_TR/holiday.lang index 09c1add6c15..0b50bc05051 100644 --- a/htdocs/langs/tr_TR/holiday.lang +++ b/htdocs/langs/tr_TR/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Onay bekleyen ApprovedCP=Onaylandı CancelCP=İptal edildi RefuseCP=Reddedildi -ValidatorCP=Onaylayan +ValidatorCP=Approver ListeCP=İzin Listesi Leave=İzin isteği LeaveId=İzin Kimliği @@ -39,11 +39,11 @@ TitreRequestCP=İzin isteği TypeOfLeaveId=İzin Kimlik türü TypeOfLeaveCode=İzin kod türü TypeOfLeaveLabel=İzin etiketi türü -NbUseDaysCP=Tüketilen tatil gün sayısı -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Tüketilen gün -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Düzenle @@ -55,7 +55,7 @@ TitleDeleteCP=İzin isteği sil ConfirmDeleteCP=Bu izin isteğinin silinmesini onaylıyor musunuz? ErrorCantDeleteCP=Hata, bu izin isteğini silmek için yetkiniz yok. CantCreateCP=İzin isteği yapmak için yetkiniz yok. -InvalidValidatorCP=İzin isteğiniz için bir onaylayıcı seçmelisiniz. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Bir başlama tarihi seçmelisiniz. NoDateFin=Bir bitiş tarihi seçmelisiniz. ErrorDureeCP=İzin isteğiniz çalışma günü içermiyor. @@ -80,14 +80,14 @@ UserCP=Kullanıcı ErrorAddEventToUserCP=Özel izin eklenirken hata oluştu. AddEventToUserOkCP=Özel izin eklenmesi tamamlanmıştır. MenuLogCP=Değişiklik kütüklerini incele -LogCP=Uygun tatil günlerinin güncellenme kayıtı -ActionByCP=Uygulayan -UserUpdateCP=Kullanıcı için +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Önceki Bakiye NewSoldeCP=Yeni Bakiye alreadyCPexist=Bu dönem için bir izin isteği zaten yapılmış. -FirstDayOfHoliday=Tatilin birinci günü -LastDayOfHoliday=Tatilin son günü +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Değiştirilen son %s izin isteği HolidaysMonthlyUpdate=Aylık güncelleme ManualUpdate=Elle güncelleme @@ -104,8 +104,8 @@ LEAVE_SICK=Hastalık izni LEAVE_OTHER=Diğer izin LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=İzin dağıtımının en son otomatik güncelleme -MonthOfLastMonthlyUpdate=İzin dağıtımının en son otomatik güncelleme ayı +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Güncelleme başarılı Module27130Name= İzin istekleri yönetimi Module27130Desc= İzin istekleri yönetimi @@ -125,10 +125,12 @@ HolidaysCanceledBody=%s - %s arası izin isteğiniz iptal edilmiştir. FollowedByACounter=1: Bu türdeki bir izin isteği bir sayaçla izlenmelidir. Bu sayaç elle ya da otomatik olarak arttırılır ve bir izin isteği doğrulandığında sayaç azaltılır.
    0: Bir sayaçla izlenmez. NoLeaveWithCounterDefined=Bir sayaçla izlenmek üzere tanımlanan hiç izin isteği yok. GoIntoDictionaryHolidayTypes=Farklı izin türlerini ayarlamak için Giriş - Ayarlar - Sözlükler - İzin türleri bölümüne gidin -HolidaySetup=Tatil modülü kurulumu -HolidaysNumberingModules=İzin istekleri numaralandırma modelleri +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=İzin istek PDF'leri için taslaklar FreeLegalTextOnHolidays=PDF'deki serbest metin WatermarkOnDraftHolidayCards=Taslak izin isteklerindeki filigranlar HolidaysToApprove=Onaylanacak izinler NobodyHasPermissionToValidateHolidays=Hiçkimsenin tatilleri onaylamaya izini yoktur. +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/tr_TR/hrm.lang b/htdocs/langs/tr_TR/hrm.lang index 93d2a7e56da..5c1c66a8076 100644 --- a/htdocs/langs/tr_TR/hrm.lang +++ b/htdocs/langs/tr_TR/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Bu kuruluşu silmek istediğinizden emin misiniz? OpenEtablishment=Kuruluş aç CloseEtablishment=Kuruluş kapat # Dictionary -DictionaryPublicHolidays=HRM - Resmi tatiller +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=İKY - Departman listesi DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index b7b2c338f16..0456df5b134 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Modülü yeniden yükle %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Kullanılamayan seçenekleri göster HideNotAvailableOptions=Kullanılamayan seçenekleri gizle ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/tr_TR/interventions.lang b/htdocs/langs/tr_TR/interventions.lang index f29757a0b21..3979c7823c9 100644 --- a/htdocs/langs/tr_TR/interventions.lang +++ b/htdocs/langs/tr_TR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Müdahele satır süresi InterLineDesc=Müdahele satır açıklaması RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/tr_TR/knowledgemanagement.lang b/htdocs/langs/tr_TR/knowledgemanagement.lang index f9f264370c1..02e3e0b6d74 100644 --- a/htdocs/langs/tr_TR/knowledgemanagement.lang +++ b/htdocs/langs/tr_TR/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Hakkında KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Mal KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/tr_TR/languages.lang b/htdocs/langs/tr_TR/languages.lang index 3d30573a595..9c45adb49c5 100644 --- a/htdocs/langs/tr_TR/languages.lang +++ b/htdocs/langs/tr_TR/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arapça Language_ar_EG=Arabça (Mısır) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arapça +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengalce Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Flemenkçe (Belçika) Language_nl_NL=Flemenkçe Language_pl_PL=Lehçe +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portekizce (Brezilya) Language_pt_PT=Portekizce +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romence Language_ru_RU=Rusça Language_ru_UA=Rusça (Ukrayna) diff --git a/htdocs/langs/tr_TR/mails.lang b/htdocs/langs/tr_TR/mails.lang index 75bde1b544b..5aae8cceddf 100644 --- a/htdocs/langs/tr_TR/mails.lang +++ b/htdocs/langs/tr_TR/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Süzgeç sil AdvTgtSaveFilter=Süzgeç kaydet AdvTgtCreateFilter=Süzgeç oluştur AdvTgtOrCreateNewFilter=Yeni süzgeç adı -NoContactWithCategoryFound=Kategorisi olan hiç bir kişi/adres bulunamadı -NoContactLinkedToThirdpartieWithCategoryFound=Kategorisi olan hiç bir kişi/adres bulunamadı +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index d62855ddf72..4ba4b533599 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=İlave kuruş VATRate=KDV Oranı +RateOfTaxN=Rate of tax %s VATCode=Vergi Oranı kodu VATNPR=KDV Oranı NPR DefaultTaxRate=Varsayılan KDV oranı @@ -729,6 +730,7 @@ MenuMembers=Üyeler MenuAgendaGoogle=Google gündemi MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr sınırı (Giriş-Ayarlar-Güvenlik menüsü):%s Kb, PHP sınırı:%s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Geçerli dil CurrentTheme=Geçerli tema @@ -1072,6 +1074,7 @@ ValidFrom=Şu tarihten itibaren geçerli ValidUntil=Şu tarihe kadar geçerli NoRecordedUsers=Kullanıcı yok ToClose=To close +ToRefuse=To refuse ToProcess=İşlenecek ToApprove=Onaylanacak GlobalOpenedElemView=Genel görünüm @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=Beklemede Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/tr_TR/members.lang b/htdocs/langs/tr_TR/members.lang index b3807ddbc10..d9784970f18 100644 --- a/htdocs/langs/tr_TR/members.lang +++ b/htdocs/langs/tr_TR/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=Faturanızı bu e-postanın ekinde bulabilirsiniz XMembersClosed=%s üye kapatıldı +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/tr_TR/modulebuilder.lang b/htdocs/langs/tr_TR/modulebuilder.lang index 7ca6700d744..c3a70b67173 100644 --- a/htdocs/langs/tr_TR/modulebuilder.lang +++ b/htdocs/langs/tr_TR/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/tr_TR/mrp.lang b/htdocs/langs/tr_TR/mrp.lang index 1c581bebb72..b9c69a56364 100644 --- a/htdocs/langs/tr_TR/mrp.lang +++ b/htdocs/langs/tr_TR/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Gereç Cetvelleri LatestBOMModified=En son %s değiştirilen gereç cetveli LatestMOModified=En son %s değiştirilen Üretim Emri Bom=Gereç Cetvelleri -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=BOM (Ürün Ağacı) modülü kurulumu ListOfBOMs=Gereç cetveli listesi - BOM ListOfManufacturingOrders=Üretim Emirleri Listesi -NewBOM=Yeni Gereç Cetveli -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=BOM belgelerindeki serbest metin WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=%s Üretim Emrini klonlamak istediğinizden emin misiniz? ManufacturingEfficiency=Üretim verimliliği ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Üretim Emri Sil -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Üretim Emirleri NewMO=Yeni Üretim Emiri QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom= %s referanslı BOM'u doğrulamak istediğinizden emin misiniz (yeni Üretim Emirleri oluşturmak için kullanabilirsiniz) ConfirmCloseBom=Bu gereç cetvelini iptal etmek istediğinizden emin misiniz (artık yeni Üretim Emirleri oluşturmak için kullanamayacaksınız)? ConfirmReopenBom=Bu gereç cetvelini yeniden açmak istediğinizden emin misiniz (yeni Üretim Emirleri oluşturmak için kullanabilirsiniz) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Bu Üretim Emrini doğrulamak istediğinizden emin misiniz? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Tüketim ve üretim miktarlarına ulaşıldığında Üretim Emrini otomatik olarak kapatın NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Sil NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/tr_TR/orders.lang b/htdocs/langs/tr_TR/orders.lang index c257cf62b83..818e0f2d862 100644 --- a/htdocs/langs/tr_TR/orders.lang +++ b/htdocs/langs/tr_TR/orders.lang @@ -11,6 +11,7 @@ OrderDate=Sipariş Tarihi OrderDateShort=Sipariş tarihi OrderToProcess=İşlenecek sipariş NewOrder=Yeni sipariş +NewSupplierOrderShort=Yeni sipariş NewOrderSupplier=Yeni Satın Alma Siparişi ToOrder=Sipariş yap MakeOrder=Sipariş yap @@ -73,6 +74,7 @@ DeleteOrder=Sipariş sil CancelOrder=Siparişi iptal et OrderReopened= Sipariş %s yeniden açıldı AddOrder=Sipariş oluştur +AddSupplierOrderShort=Sipariş oluştur AddPurchaseOrder=Satınalma siparişi oluştur AddToDraftOrders=Taslak siparişe ekle ShowOrder=Siparişi göster diff --git a/htdocs/langs/tr_TR/other.lang b/htdocs/langs/tr_TR/other.lang index 61054fab29e..e08b2d55d6e 100644 --- a/htdocs/langs/tr_TR/other.lang +++ b/htdocs/langs/tr_TR/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Kapatanın kullanıcı adı FileWasRemoved=%s dosyası kaldırıldı DirWasRemoved=%s dizini kaldırıldı FeatureNotYetAvailable=Özellik henüz bu sürümde yoktur +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Desteklenen özellikler Width=Genişlik Height=Yükseklik @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Dışa aktarma alanı @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Kapat diff --git a/htdocs/langs/tr_TR/partnership.lang b/htdocs/langs/tr_TR/partnership.lang index e35e657629e..ac9320e07a8 100644 --- a/htdocs/langs/tr_TR/partnership.lang +++ b/htdocs/langs/tr_TR/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Başlangıç tarihi DatePartnershipEnd=Bitiş tarihi +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Ödeme emri -PartnershipAccepted = Kabul edildi -PartnershipRefused = Reddedildi -PartnershipCanceled = İptal edildi - +PartnershipDraft=Ödeme emri +PartnershipAccepted=Kabul edildi +PartnershipRefused=Reddedildi +PartnershipCanceled=İptal edildi PartnershipManagedFor=Partners are diff --git a/htdocs/langs/tr_TR/productbatch.lang b/htdocs/langs/tr_TR/productbatch.lang index d74092c0f1a..33b40f9dd5b 100644 --- a/htdocs/langs/tr_TR/productbatch.lang +++ b/htdocs/langs/tr_TR/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Parti/Seri numarası kullan ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Çift ürün/parti için hareket günlüğünü göster StockDetailPerBatch=Parti başına stok detayı SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index fa96dffea66..5f711516b30 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Her müşteri için farklı fiyatlar PriceCatalogue=Her ürün/hizmet için tek bir satış fiyatı PricingRule=Satış fiyatları için kurallar AddCustomerPrice=Müşteriye göre fiyat ekle -ForceUpdateChildPriceSoc=Müşterinin ortaklılarına aynı fiyatı uygula +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Önceki müşteri fiyatlarının kaydı MinimumPriceLimit=En düşük fiyat bundan düşük olamaz %s MinimumRecommendedPrice=Önerilen en düşük fiyat: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Ana değişimde stok Arttır/Eksilt ComposedProduct=Alt ürün MinSupplierPrice=Minimum alış fiyatı MinCustomerPrice=Minimum satış fiyatı +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamik fiyat yapılandırması DynamicPriceDesc=Müşteri veya Tedarikçi fiyatlarını hesaplamak için matematiksel formüller tanımlayabilirsiniz. Bu formüller tüm matematiksel operatörleri, bazı sabitleri ve değişkenleri kullanabilir. Burada kullanmak istediğiniz değişkenleri tanımayabilirsiniz. Eğer değişkenin otomatik olarak güncellenmesi gerekiyorsa, Dolibarr'ın bu değeri otomatik olarak güncellemesini sağlamak için harici URL tanımlayabilirsiniz. AddVariable=Değişken ekle @@ -340,7 +341,7 @@ ProductSheet=Ürün belgesi ServiceSheet=Hizmet belgesi PossibleValues=Olası değerler GoOnMenuToCreateVairants=Nitelik varyantlarını hazırlamak için (renk, boyut gibi...) %s - %smenüsüne gidin -UseProductFournDesc=Müşterilere yönelik açıklamalara ek olarak, tedarikçiler tarafından belirlenen ürün açıklamalarını tanımlamak için bir özellik ekleyin +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Ürün için tedarikçi açıklaması UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Paketleme @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Eylem yalnızca ürün değişkeninde mevcut ProductsPricePerCustomer=Müşteri başına ürün fiyatları ProductSupplierExtraFields=Ek Nitelikler (Tedarikçi Fiyatları) DeleteLinkedProduct=Kombinasyonla bağlantılı alt ürünü silin +PMPValue=Ağırlıklı ortalama fiyat +PMPValueShort=AOF diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index be261f882c6..baac1442e8c 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -140,6 +140,7 @@ NoTasks=Bu proje için hiçbir görev yok LinkedToAnotherCompany=Diğer üçüncü partiye bağlantılı TaskIsNotAssignedToUser=Görev kullanıcıya atanmadı. Görevi şimdi atamak için '%s' düğmesini kullanın. ErrorTimeSpentIsEmpty=Harcanan süre boş +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Bu eylem aynı zamanda projenin tüm görevlerini (şu andaki %s görevleri) ve tüm harcanan süre girişlernii siler . IfNeedToUseOtherObjectKeepEmpty=Eğer bazı nesneler başka bir üçüncü partiye aitse (fatura, sipariş, ...), oluşturulması için bu projeye bağlanmalıdır, projenin birden çok üçüncü partiye bağlı olması için bunu boş bırakın. CloneTasks=Görevlerin kopyasını oluştur @@ -241,6 +242,7 @@ LatestModifiedProjects=Değiştirilen son %s proje OtherFilteredTasks=Diğer filtrelenmiş görevler NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Görevlere kullanıcı yorumlarına izin ver @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Harcanan süre TimeSpentForInvoice=Harcanan süre OneLinePerUser=Kullanıcı başına bir satır ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Yeni fatura +NewInter=Yeni müdahale OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/tr_TR/receptions.lang b/htdocs/langs/tr_TR/receptions.lang index d6755f4e8db..d0fad3751f1 100644 --- a/htdocs/langs/tr_TR/receptions.lang +++ b/htdocs/langs/tr_TR/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/tr_TR/salaries.lang b/htdocs/langs/tr_TR/salaries.lang index 59da3ded507..38d2580a787 100644 --- a/htdocs/langs/tr_TR/salaries.lang +++ b/htdocs/langs/tr_TR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Kullanıcı üçüncü tarafları için kullanılan muhasebe hesabı SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Ücret ödemeleri için varsayılan muhasebe hesabı +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Ücret Salaries=Ücretler -NewSalaryPayment=Yeni ücret ödemesi +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Maaş ödemesi ekle SalaryPayment=Ücret ödemesi SalariesPayments=Ücret ödemeleri +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Ücret ödemesi göster THM=Ortalama saat ücreti TJM=Ortalama günlük ücret CurrentSalary=Güncel maaş THMDescription=Bu değer, eğer Proje modülü kullanılıyorsa kullanıcılar tarafından girilen bir projede harcanan zamanın maliyetini hesaplamak için kullanılabilir TJMDescription=Bu değer şu anda yalnızca bilgi amaçlıdır ve herhangi bir hesaplama için kullanılmaz -LastSalaries=Son %s maaş ödemeleri -AllSalaries=Tüm maaş ödemeleri +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Maaş istatistikleri -# Export SalariesAndPayments=Maaşlar ve ödemeler +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/tr_TR/stocks.lang b/htdocs/langs/tr_TR/stocks.lang index ed5884d3da8..7473e78d2b3 100644 --- a/htdocs/langs/tr_TR/stocks.lang +++ b/htdocs/langs/tr_TR/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Alış birim fiyatı StockTooLow=Stok çok düşük StockLowerThanLimit=Stok uyarı limitinden (%s) düşük EnhancedValue=Değer -PMPValue=Ağırlıklı ortalama fiyat -PMPValueShort=AOF EnhancedValueOfWarehouses=Depolar değeri UserWarehouseAutoCreate=Kullanıcı oluştururken otomatik olarak bir kullanıcı deposu oluştur AllowAddLimitStockByWarehouse=Her bir ürün için minimum ve istenen stok değerini yönetmenin yanı sıra her bir eşleştirme (ürün-depo) için de minimum ve istenen stok değerini de yönetin RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=%s ürününün başka bir depoya stok aktarılması InventoryCodeShort=Inv./Mov. kodu NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=Bu parti/seri numarası (%s) zaten var fakat farklı tüketme ya da satma tarihli bulundu (%s ama sizin girdiğiniz bu %s). -OpenAll=Bütün işlemler için açık -OpenInternal=Yalnızca iç eylemler için aç +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Yeniden aç -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/tr_TR/ticket.lang b/htdocs/langs/tr_TR/ticket.lang index 3e9d1d27461..30dcb92f658 100644 --- a/htdocs/langs/tr_TR/ticket.lang +++ b/htdocs/langs/tr_TR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Destek Bildirimi - Çözüm TicketTypeShortCOM=Ticari soru TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Proje TicketTypeShortOTHER=Diğer @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Atanan kullanıcı TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=Dış iştirakçi -OriginEmail=E-posta kaynağı +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Destek bildirimini e-posta ile gönderil # Status Read=Okundu Assigned=Atanan InProgress=Devam etmekte -NeedMoreInformation=Bilgi bekleniyor +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Cevaplandı Waiting=Bekliyor -Closed=Kapalı +SolvedClosed=Solved Deleted=Silindi # Dict @@ -160,7 +162,7 @@ CreatedBy=Oluşturan NewTicket=Yeni destek bildirimi SubjectAnswerToTicket=Destek bildirimi cevabı TicketTypeRequest=İstek türü -TicketCategory=Grup +TicketCategory=Ticket categorization SeeTicket=Destek bildirimini gör TicketMarkedAsRead=Destek bildirimi okundu olarak işaretlendi TicketReadOn=Okumaya devam et @@ -184,9 +186,11 @@ TicketSeverity=Önem seviyesi ShowTicket=Destek bildirimini gör RelatedTickets=İlgili destek bildirimleri TicketAddIntervention=Müdahale oluştur -CloseTicket=Destek bildirimini kapat -CloseATicket=Bir destek bildirimini kapat +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Destek bildirimi kapatmayı onayla +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Lütfen destek bildirimi silmeyi onaylayın TicketDeletedSuccess=Destek bildirimi başarı ile silindi TicketMarkedAsClosed=Destek bildirimi kapalı olarak işaretlendi @@ -211,6 +215,7 @@ TicketMessageHelp=Destek bildirimi kartı üzerindeki mesaj listesinde sadece bu TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kişilerin destek bildirimleri TicketDocumentsLinked=Destek bildirimine bağlı dokümanlar ConfirmReOpenTicket=Bu destek bildirimini yeniden açmayı onaylıyor musunuz? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=En son değiştirilen destek bildirimleri BoxLastModifiedTicketDescription=Değiştirilen son %s destek bildirimi BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Yakın zamanda değiştirilmiş destek bildirimi yok -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/tr_TR/trips.lang b/htdocs/langs/tr_TR/trips.lang index f0f98c42769..ef386fa1d63 100644 --- a/htdocs/langs/tr_TR/trips.lang +++ b/htdocs/langs/tr_TR/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Gider raporu %s iptal edildi.
    - Kullanıcı: %s ExpenseReportPaid=Bir gider raporu ödendi ExpenseReportPaidMessage=Gider raporu %s ödendi.
    - Kullanıcı: %s
    - Ödeyen: %s
    Gider raporunu görüntülemek için buraya tıklayın: %s TripId=Gider raporu kimliği -AnyOtherInThisListCanValidate=Doğrulama için bilgilendirilecek kişi +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Firma bilgisi TripNDF=Gider raporu bilgileri PDFStandardExpenseReports=Bu gider raporu için PDF belgesi oluşturulacak standart şablon @@ -90,7 +90,6 @@ DATE_REFUS=Ret tarihi DATE_SAVE=Onay tarihi DATE_CANCEL=İptal etme tarihi DATE_PAIEMENT=Ödeme tarihi -BROUILLONNER=Yeniden aç ExpenseReportRef=Ref. expense report ValidateAndSubmit=Doğrula ve onay için gönder ValidatedWaitingApproval=Doğrulanmış (onay bekliyor) @@ -110,7 +109,7 @@ ExpenseReportPayment=Gider raporu ödemesi ExpenseReportsToApprove=Onaylanacak gider raporları ExpenseReportsToPay=Ödenecek gider raporları ConfirmCloneExpenseReport=Bu gider raporunun kopyasını oluşturmak istediğinizden emin misiniz? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Gider raporu kuralları ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Otomobilin kategorisi +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Kilometre aralığı AttachTheNewLineToTheDocument=Satırı yüklenen bir belgeye ekleyin diff --git a/htdocs/langs/tr_TR/users.lang b/htdocs/langs/tr_TR/users.lang index c7f0e909b21..87b11dccf85 100644 --- a/htdocs/langs/tr_TR/users.lang +++ b/htdocs/langs/tr_TR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Oluşturulacak kullanıcı adı NameToCreate=Oluşturulacak Üçüncü Parti Adı YourRole=Sizin rolünüz YourQuotaOfUsersIsReached=Aktif kullanıcı kotanıza ulaşıldı! -NbOfUsers=Kullanıcı sayısı -NbOfPermissions=İzinlerin sayısı +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Yalnızca bir SuperAdmin, bir SuperAdmin’inin derecesini düşürebilir HierarchicalResponsible=Yönetici HierarchicView=Sıradüzeni Görünümü diff --git a/htdocs/langs/tr_TR/website.lang b/htdocs/langs/tr_TR/website.lang index 91241e7e615..a5f17ffa5b5 100644 --- a/htdocs/langs/tr_TR/website.lang +++ b/htdocs/langs/tr_TR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Web sitesi ekle Webpage=Web sayfası/kapsayıcı AddPage=Sayfa/kapsayıcı ekle PageContainer=Sayfa -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=İstenen %s kimlik numaralı sayfa henüz bir içeriğe sahip değil, önbellek dosyası .tpl.php kaldırıldı. Bu sorunu çözmek için sayfa içeriğini düzenleyin. SiteDeleted='%s' web sitesi silindi PageContent=Sayfa/Kapsayıcı diff --git a/htdocs/langs/tr_TR/withdrawals.lang b/htdocs/langs/tr_TR/withdrawals.lang index fbe921943da..3d6fcd14ddd 100644 --- a/htdocs/langs/tr_TR/withdrawals.lang +++ b/htdocs/langs/tr_TR/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Üçüncü parti banka kodu NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Alacak olarak sınıflandır ClassCreditedConfirm=Bu para çekme makbuzunu bankanıza alacak olarak sınıflandırmak istediğinizden emin misiniz? TransData=Havale tarihi @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Otomatik ödeme dosyası oluşturun -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/tr_TR/workflow.lang b/htdocs/langs/tr_TR/workflow.lang index 84e8e7d722a..92738b9117b 100644 --- a/htdocs/langs/tr_TR/workflow.lang +++ b/htdocs/langs/tr_TR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Müşteri faturası doğrulandığı descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Müşteri faturası doğrulandığında (ve faturanın tutarı bağlantılı siparişin toplam tutarı ile aynı ise) bağlantılı kaynak müşteri siparişini "faturalandı" olarak sınıflandır descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Bir sevkiyat doğrulandığında (ve tüm sevkiyatlardan sonra sevk edilen miktar siparişteki miktar ile aynı ise) bağlantılı kaynak müşteri siparişini "sevk edildi" olarak sınıflandır +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Tedarikçi faturası doğrulandığında (ve faturanın tutarı bağlantılı teklifin toplam tutarı ile aynı ise) bağlantılı kaynak tedarikçi teklifini "faturalandı" olarak sınıflandır descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Tedarikçi faturası doğrulandığında (ve faturanın tutarı bağlantılı siparişin toplam tutarı ile aynı ise) bağlantılı kaynak tedarikçi siparişini "faturalandı" olarak sınıflandır diff --git a/htdocs/langs/uk_UA/accountancy.lang b/htdocs/langs/uk_UA/accountancy.lang index ef34f444156..82ce30618c6 100644 --- a/htdocs/langs/uk_UA/accountancy.lang +++ b/htdocs/langs/uk_UA/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index 9f38545d660..3112098e092 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -53,6 +53,7 @@ InternalUser=Внутрішній користувач ExternalUser=Зовнішній користувач InternalUsers=Внутрішні користувачі ExternalUsers=Зовнішні користувачі +UserInterface=User interface GUISetup=Зовнішній вигляд SetupArea=Налаштування UploadNewTemplate=Завантажити новий шаблон(и) @@ -84,6 +85,7 @@ NumberOfBytes=Кількість байт SearchString=Рядок пошуку NotAvailableWhenAjaxDisabled=Недоступно, коли Ajax відключений AllowToSelectProjectFromOtherCompany=В документі контрагента можна вибрати проект, пов'язаний з іншим контрагентом +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript відключений UsePreviewTabs=Використовуйте вкладки попереднього перегляду ShowPreview=Показати попередній перегляд @@ -116,6 +118,7 @@ MultiCurrencySetup=Налаштування багато-валютних про MenuLimits=Обмеження та точність MenuIdParent=ID батьківського меню DetailMenuIdParent=ID батьківського меню (порожній для кореневого меню) +ParentID=Parent ID DetailPosition=впорядкуйте номери, щоб визначити положення меню AllMenus=Всі NotConfigured=Модуль/додаток не налаштовано @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Функція доступна лише в офі BoxesDesc=Віджети - це компоненти, які показують певну інформацію, яку ви можете додати, щоб персоналізувати деякі сторінки. Ви можете вибрати, показувати віджет чи ні, вибравши цільову сторінку та натиснувши "Активувати", або натиснувши смітник, щоб відключити його. OnlyActiveElementsAreShown=Відображаються лише елементи з включених модулів. ModulesDesc=Модулі/додатки визначають, які функції доступні в програмному забезпеченні. Деякі модулі вимагають надання дозволів користувачам після активації модуля. Натисніть кнопку включення/вимкнення %s кожного модуля, щоб увімкнути або вимкнути модуль/додаток. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Ви можете знайти більше модулів для завантаження на зовнішніх веб-сайтах в Інтернеті ... ModulesDeployDesc=Якщо дозволи у вашій файловій системі це дозволяють, ви можете використовувати цей інструмент для розгортання зовнішнього модуля. Потім модуль буде видно на вкладці %s . ModulesMarketPlaces=Знайти зовнішні додатки/модулі @@ -221,8 +225,8 @@ NotCompatible=Цей модуль не сумісний з вашою версі CompatibleAfterUpdate=Цей модуль вимагає оновлення версії Dolibarr до %s (Мін %s - Макс %s). SeeInMarkerPlace=Дивіться у магазині SeeSetupOfModule=Див. налаштування модуля %s +SetOptionTo=Set option %s to %s Updated=Оновлено -Nouveauté=Новинка AchatTelechargement=Придбати / завантажити GoModuleSetupArea=Щоб розгорнути/встановити новий модуль, перейдіть на сторінку встановлення модулів: %s . DoliStoreDesc=DoliStore, офіційне місце для зовнішніх модулів Dolibarr ERP / CRM @@ -399,6 +403,7 @@ SecurityToken=Ключ до захищених URL-адрес NoSmsEngine=Не встановлено провайдера послуг для надсилання SMS. Модулі підтримки провайдерів послуг может знайти тут: %s PDF=PDF PDFDesc=Глобальні налаштування генерації PDF +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Правила вибору адреси HideAnyVATInformationOnPDF=Сховати всю інформацію щодо податків та зборів PDFRulesForSalesTax=Правила податків та зборів @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Соціальні мережі DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Рекомендована +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/uk_UA/agenda.lang b/htdocs/langs/uk_UA/agenda.lang index 6798f1d9d63..a1dbb1baff0 100644 --- a/htdocs/langs/uk_UA/agenda.lang +++ b/htdocs/langs/uk_UA/agenda.lang @@ -4,7 +4,7 @@ Actions=Події Agenda=Повістка дня TMenuAgenda=Повістка дня Agendas=Повістки денні -LocalAgenda=Внутрішній календар +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Призначено @@ -14,13 +14,13 @@ EventsNb=Кількість подій ListOfActions=Список подій EventReports=Event reports Location=Розташування -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Подія на цілий день(дні) MenuToDoActions=Усі невиконані події MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/uk_UA/banks.lang b/htdocs/langs/uk_UA/banks.lang index 40801051935..98a3d502087 100644 --- a/htdocs/langs/uk_UA/banks.lang +++ b/htdocs/langs/uk_UA/banks.lang @@ -115,7 +115,7 @@ TransferTo=Покупець TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Відправник ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/uk_UA/bills.lang b/htdocs/langs/uk_UA/bills.lang index a6760dfe02e..f0768b2c175 100644 --- a/htdocs/langs/uk_UA/bills.lang +++ b/htdocs/langs/uk_UA/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Дата рахунку-фактури DatePointOfTax=Point of tax NoInvoice=Немає рахунків-фактур +NoOpenInvoice=No open invoice ClassifyBill=Класифікувати рахунок-фактуру SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Несплачені рахунки клієнта @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/uk_UA/boxes.lang b/htdocs/langs/uk_UA/boxes.lang index d61c1c309f0..f89b0b60395 100644 --- a/htdocs/langs/uk_UA/boxes.lang +++ b/htdocs/langs/uk_UA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Рахунки-фактури покупців ForCustomersOrders=Замовлення клієнтів ForProposals=Пропозиції diff --git a/htdocs/langs/uk_UA/cashdesk.lang b/htdocs/langs/uk_UA/cashdesk.lang index 94e3e33ff42..25dc253585e 100644 --- a/htdocs/langs/uk_UA/cashdesk.lang +++ b/htdocs/langs/uk_UA/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/uk_UA/compta.lang b/htdocs/langs/uk_UA/compta.lang index f7e2340b7c2..8a79e2a0af9 100644 --- a/htdocs/langs/uk_UA/compta.lang +++ b/htdocs/langs/uk_UA/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/uk_UA/cron.lang b/htdocs/langs/uk_UA/cron.lang index 46c3b30f128..c0d7c18bb44 100644 --- a/htdocs/langs/uk_UA/cron.lang +++ b/htdocs/langs/uk_UA/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/uk_UA/deliveries.lang b/htdocs/langs/uk_UA/deliveries.lang index e285559f004..590ee2a0dfe 100644 --- a/htdocs/langs/uk_UA/deliveries.lang +++ b/htdocs/langs/uk_UA/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/uk_UA/eventorganization.lang b/htdocs/langs/uk_UA/eventorganization.lang index 87a5de3d484..2a5e2cce088 100644 --- a/htdocs/langs/uk_UA/eventorganization.lang +++ b/htdocs/langs/uk_UA/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/uk_UA/exports.lang b/htdocs/langs/uk_UA/exports.lang index e075edfbcbe..317badfbf30 100644 --- a/htdocs/langs/uk_UA/exports.lang +++ b/htdocs/langs/uk_UA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/uk_UA/holiday.lang b/htdocs/langs/uk_UA/holiday.lang index e28139cf3ca..a8dca3ca09e 100644 --- a/htdocs/langs/uk_UA/holiday.lang +++ b/htdocs/langs/uk_UA/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/uk_UA/hrm.lang b/htdocs/langs/uk_UA/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/uk_UA/hrm.lang +++ b/htdocs/langs/uk_UA/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/uk_UA/interventions.lang b/htdocs/langs/uk_UA/interventions.lang index 69872dae7de..7d76e4cda2e 100644 --- a/htdocs/langs/uk_UA/interventions.lang +++ b/htdocs/langs/uk_UA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/uk_UA/knowledgemanagement.lang b/htdocs/langs/uk_UA/knowledgemanagement.lang index b0a14cb4840..8ec127fc0ea 100644 --- a/htdocs/langs/uk_UA/knowledgemanagement.lang +++ b/htdocs/langs/uk_UA/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/uk_UA/languages.lang b/htdocs/langs/uk_UA/languages.lang index 40a7330e156..3283f285924 100644 --- a/htdocs/langs/uk_UA/languages.lang +++ b/htdocs/langs/uk_UA/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Арабська Language_ar_EG=Арабська (Єгипет) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Арабська +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Бенгальська Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Голандська (Бельгія) Language_nl_NL=Dutch Language_pl_PL=Польський +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Португальська (Бразилія) Language_pt_PT=Португальська +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Румунська Language_ru_RU=Русский Language_ru_UA=Російський (Україна) diff --git a/htdocs/langs/uk_UA/mails.lang b/htdocs/langs/uk_UA/mails.lang index 1deee89618c..139ebd0d94c 100644 --- a/htdocs/langs/uk_UA/mails.lang +++ b/htdocs/langs/uk_UA/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 70578c88f31..aa033e7463e 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/uk_UA/members.lang b/htdocs/langs/uk_UA/members.lang index fede3a71083..bd43c51c6ee 100644 --- a/htdocs/langs/uk_UA/members.lang +++ b/htdocs/langs/uk_UA/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/uk_UA/modulebuilder.lang b/htdocs/langs/uk_UA/modulebuilder.lang index b9019a9a9d3..fe54a4c332f 100644 --- a/htdocs/langs/uk_UA/modulebuilder.lang +++ b/htdocs/langs/uk_UA/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/uk_UA/mrp.lang b/htdocs/langs/uk_UA/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/uk_UA/mrp.lang +++ b/htdocs/langs/uk_UA/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/uk_UA/orders.lang b/htdocs/langs/uk_UA/orders.lang index af2ffe84443..9f5354ec537 100644 --- a/htdocs/langs/uk_UA/orders.lang +++ b/htdocs/langs/uk_UA/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/uk_UA/other.lang b/htdocs/langs/uk_UA/other.lang index 54e294264bf..92f595cb018 100644 --- a/htdocs/langs/uk_UA/other.lang +++ b/htdocs/langs/uk_UA/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/uk_UA/partnership.lang b/htdocs/langs/uk_UA/partnership.lang index c5aab446cd3..e07b1cc02f8 100644 --- a/htdocs/langs/uk_UA/partnership.lang +++ b/htdocs/langs/uk_UA/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Проект -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Проект +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/uk_UA/productbatch.lang b/htdocs/langs/uk_UA/productbatch.lang index ade9324a883..4a0eb78d026 100644 --- a/htdocs/langs/uk_UA/productbatch.lang +++ b/htdocs/langs/uk_UA/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index e87414f9e76..b612bebfa18 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index 4a360315952..3cf2523a9d9 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=Новий рахунок-фактура +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/uk_UA/receptions.lang b/htdocs/langs/uk_UA/receptions.lang index 3d4fa336ff4..c6e036709bd 100644 --- a/htdocs/langs/uk_UA/receptions.lang +++ b/htdocs/langs/uk_UA/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/uk_UA/salaries.lang b/htdocs/langs/uk_UA/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/uk_UA/salaries.lang +++ b/htdocs/langs/uk_UA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/uk_UA/stocks.lang b/htdocs/langs/uk_UA/stocks.lang index c1f5129c375..3566cdc9a94 100644 --- a/htdocs/langs/uk_UA/stocks.lang +++ b/htdocs/langs/uk_UA/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/uk_UA/ticket.lang b/htdocs/langs/uk_UA/ticket.lang index 920703320ae..01fdc2ef48f 100644 --- a/htdocs/langs/uk_UA/ticket.lang +++ b/htdocs/langs/uk_UA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Комерційне питання TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Інший @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Прочитані Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Зачинено +SolvedClosed=Solved Deleted=Видалено # Dict @@ -160,7 +162,7 @@ CreatedBy=Створено NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/uk_UA/trips.lang b/htdocs/langs/uk_UA/trips.lang index a6ebadf6c2a..06fc769a5c4 100644 --- a/htdocs/langs/uk_UA/trips.lang +++ b/htdocs/langs/uk_UA/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Дата платежу -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/uk_UA/users.lang b/htdocs/langs/uk_UA/users.lang index 0a4004b0e10..3100ad97798 100644 --- a/htdocs/langs/uk_UA/users.lang +++ b/htdocs/langs/uk_UA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/uk_UA/website.lang b/htdocs/langs/uk_UA/website.lang index bfd4eccde1e..e4240d8f2ff 100644 --- a/htdocs/langs/uk_UA/website.lang +++ b/htdocs/langs/uk_UA/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/uk_UA/withdrawals.lang b/htdocs/langs/uk_UA/withdrawals.lang index c3e1100a0c3..95a52f15a41 100644 --- a/htdocs/langs/uk_UA/withdrawals.lang +++ b/htdocs/langs/uk_UA/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/uk_UA/workflow.lang b/htdocs/langs/uk_UA/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/uk_UA/workflow.lang +++ b/htdocs/langs/uk_UA/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/uz_UZ/accountancy.lang b/htdocs/langs/uz_UZ/accountancy.lang index 354cddb62c2..25b8e41e60a 100644 --- a/htdocs/langs/uz_UZ/accountancy.lang +++ b/htdocs/langs/uz_UZ/accountancy.lang @@ -1,430 +1,434 @@ # Dolibarr language file - en_US - Accountancy (Double entries) -Accountancy=Accountancy +Accountancy=Buxgalteriya Accounting=Accounting ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file ACCOUNTING_EXPORT_DATE=Date format for export file ACCOUNTING_EXPORT_PIECE=Export the number of piece ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account -ACCOUNTING_EXPORT_LABEL=Export label -ACCOUNTING_EXPORT_AMOUNT=Export amount -ACCOUNTING_EXPORT_DEVISE=Export currency +ACCOUNTING_EXPORT_LABEL=Yorliqni eksport qilish +ACCOUNTING_EXPORT_AMOUNT=Eksport miqdori +ACCOUNTING_EXPORT_DEVISE=Valyutani eksport qilish Selectformat=Select the format for the file ACCOUNTING_EXPORT_FORMAT=Select the format for the file -ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type +ACCOUNTING_EXPORT_ENDLINE=Vagonni qaytarish turini tanlang ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name -ThisService=This service -ThisProduct=This product -DefaultForService=Default for service -DefaultForProduct=Default for product -ProductForThisThirdparty=Product for this thirdparty -ServiceForThisThirdparty=Service for this thirdparty -CantSuggest=Can't suggest -AccountancySetupDoneFromAccountancyMenu=Most setup of the accountancy is done from the menu %s -ConfigAccountingExpert=Configuration of the module accounting (double entry) -Journalization=Journalization +ThisService=Ushbu xizmat +ThisProduct=Ushbu mahsulot +DefaultForService=Xizmat uchun standart +DefaultForProduct=Mahsulot uchun standart +ProductForThisThirdparty=Ushbu uchinchi tomon uchun mahsulot +ServiceForThisThirdparty=Ushbu uchinchi tomon uchun xizmat +CantSuggest=Taklif qila olmayman +AccountancySetupDoneFromAccountancyMenu=Buxgalteriya hisobining ko'pgina sozlamalari %s menyusida amalga oshiriladi +ConfigAccountingExpert=Modulni hisobga olish konfiguratsiyasi (ikki martalik yozuv) +Journalization=Jurnalistika Journals=Journals JournalFinancial=Financial journals BackToChartofaccounts=Return chart of accounts -Chartofaccounts=Chart of accounts -ChartOfSubaccounts=Chart of individual accounts -ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger -CurrentDedicatedAccountingAccount=Current dedicated account -AssignDedicatedAccountingAccount=New account to assign -InvoiceLabel=Invoice label -OverviewOfAmountOfLinesNotBound=Overview of amount of lines not bound to an accounting account -OverviewOfAmountOfLinesBound=Overview of amount of lines already bound to an accounting account -OtherInfo=Other information -DeleteCptCategory=Remove accounting account from group -ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? -JournalizationInLedgerStatus=Status of journalization -AlreadyInGeneralLedger=Already transferred in accounting journals and ledger -NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger -GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group -DetailByAccount=Show detail by account -AccountWithNonZeroValues=Accounts with non-zero values -ListOfAccounts=List of accounts -CountriesInEEC=Countries in EEC -CountriesNotInEEC=Countries not in EEC -CountriesInEECExceptMe=Countries in EEC except %s -CountriesExceptMe=All countries except %s -AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. -VueByAccountAccounting=View by accounting account -VueBySubAccountAccounting=View by accounting subaccount +Chartofaccounts=Hisob-kitoblar rejasi +ChartOfSubaccounts=Shaxsiy hisobvaraqlar rejasi +ChartOfIndividualAccountsOfSubsidiaryLedger=Yordamchi daftarning individual hisobvaraqlar rejasi +CurrentDedicatedAccountingAccount=Joriy ajratilgan hisob +AssignDedicatedAccountingAccount=Tayinlash uchun yangi hisob +InvoiceLabel=Hisob-faktura yorlig'i +OverviewOfAmountOfLinesNotBound=Buxgalteriya hisobi bilan bog'liq bo'lmagan satrlar miqdoriga umumiy nuqtai +OverviewOfAmountOfLinesBound=Buxgalteriya hisobi bilan bog'langan chiziqlar miqdoriga umumiy nuqtai +OtherInfo=Boshqa ma'lumotlar +DeleteCptCategory=Buxgalteriya hisobini guruhdan olib tashlang +ConfirmDeleteCptCategory=Ushbu buxgalteriya hisobini buxgalteriya hisobi guruhidan olib tashlamoqchimisiz? +JournalizationInLedgerStatus=Jurnalizatsiya holati +AlreadyInGeneralLedger=Buxgalteriya jurnallarida va daftarchada allaqachon topshirilgan +NotYetInGeneralLedger=Hisoblash jurnallari va daftarchasiga hali topshirilmagan +GroupIsEmptyCheckSetup=Guruh bo'sh, shaxsiylashtirilgan buxgalteriya guruhini sozlashni tekshiring +DetailByAccount=Hisob bo'yicha tafsilotlarni ko'rsatish +AccountWithNonZeroValues=Nolga teng bo'lmagan qiymatlar bilan hisob-kitoblar +ListOfAccounts=Hisob-kitoblar ro'yxati +CountriesInEEC=EEC tarkibidagi mamlakatlar +CountriesNotInEEC=EEC tarkibiga kirmagan mamlakatlar +CountriesInEECExceptMe=%s dan tashqari EECdagi mamlakatlar +CountriesExceptMe=%s dan tashqari barcha mamlakatlar +AccountantFiles=Dastlabki hujjatlarni eksport qilish +ExportAccountingSourceDocHelp=Ushbu vosita yordamida siz buxgalteriya hisobini yaratish uchun foydalanilgan manba hodisalarini (CSV va PDF-lardagi ro'yxat) eksport qilishingiz mumkin. +ExportAccountingSourceDocHelp2=Jurnallaringizni eksport qilish uchun %s - %s menyu yozuvidan foydalaning. +VueByAccountAccounting=Buxgalteriya hisobi bo'yicha ko'rish +VueBySubAccountAccounting=Buxgalteriya subkontaji bo'yicha ko'rish -MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup -MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup -MainAccountForUsersNotDefined=Main accounting account for users not defined in setup -MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup -MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup +MainAccountForCustomersNotDefined=O'rnatishda aniqlanmagan mijozlar uchun asosiy buxgalteriya hisobi +MainAccountForSuppliersNotDefined=O'rnatishda aniqlanmagan sotuvchilar uchun asosiy buxgalteriya hisobi +MainAccountForUsersNotDefined=O'rnatishda aniqlanmagan foydalanuvchilar uchun asosiy buxgalteriya hisobi +MainAccountForVatPaymentNotDefined=O'rnatishda aniqlanmagan QQSni to'lash uchun asosiy buxgalteriya hisobi +MainAccountForSubscriptionPaymentNotDefined=O'rnatishda aniqlanmagan obuna to'lovining asosiy buxgalteriya hisobi -AccountancyArea=Accounting area -AccountancyAreaDescIntro=Usage of the accountancy module is done in several step: -AccountancyAreaDescActionOnce=The following actions are usually executed one time only, or once per year... -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) -AccountancyAreaDescActionFreq=The following actions are usually executed every month, week or day for very large companies... +AccountancyArea=Buxgalteriya hisobi maydoni +AccountancyAreaDescIntro=Buxgalteriya modulidan foydalanish bir necha bosqichda amalga oshiriladi: +AccountancyAreaDescActionOnce=Quyidagi harakatlar odatda faqat bir marta yoki yiliga bir marta amalga oshiriladi ... +AccountancyAreaDescActionOnceBis=Kelgusida sizning vaqtingizni tejash uchun jurnalistikani rasmiylashtirishda to'g'ri sukut bo'yicha buxgalteriya hisobini taklif qilish orqali (Jurnallarda va Bosh daftarda yozuvlarni yozish) taklif qilish kerak. +AccountancyAreaDescActionFreq=Quyidagi harakatlar odatda har oyda, haftada yoki kunda juda katta kompaniyalar uchun amalga oshiriladi ... -AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s -AccountancyAreaDescChartModel=STEP %s: Check that a model of chart of account exists or create one from menu %s -AccountancyAreaDescChart=STEP %s: Select and|or complete your chart of account from menu %s +AccountancyAreaDescJournalSetup=QADAM %s: %s menyusidan jurnallar ro'yxatining tarkibini yarating yoki tekshiring. +AccountancyAreaDescChartModel=QADAM %s: hisob jadvalining modeli mavjudligini tekshiring yoki menyudan %s yarating. +AccountancyAreaDescChart=QADAM %s: tanlang va | yoki hisob qaydnomangizni %s menyusidan to'ldiring. -AccountancyAreaDescVat=STEP %s: Define accounting accounts for each VAT Rates. For this, use the menu entry %s. -AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. -AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of expense report. For this, use the menu entry %s. -AccountancyAreaDescSal=STEP %s: Define default accounting accounts for payment of salaries. For this, use the menu entry %s. -AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for special expenses (miscellaneous taxes). For this, use the menu entry %s. -AccountancyAreaDescDonation=STEP %s: Define default accounting accounts for donation. For this, use the menu entry %s. -AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. -AccountancyAreaDescMisc=STEP %s: Define mandatory default account and default accounting accounts for miscellaneous transactions. For this, use the menu entry %s. -AccountancyAreaDescLoan=STEP %s: Define default accounting accounts for loans. For this, use the menu entry %s. -AccountancyAreaDescBank=STEP %s: Define accounting accounts and journal code for each bank and financial accounts. For this, use the menu entry %s. -AccountancyAreaDescProd=STEP %s: Define accounting accounts on your products/services. For this, use the menu entry %s. +AccountancyAreaDescVat=QADAM %s: har bir QQS stavkasi bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescDefault=QADAM %s: sukut bo'yicha buxgalteriya hisoblarini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescExpenseReport=QADAM %s: har bir hisobot turi bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescSal=QADAM %s: Ish haqini to'lash bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescContrib=QADAM %s: Maxsus xarajatlar (turli xil soliqlar) bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescDonation=QADAM %s: xayr-ehson uchun buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescSubscription=QADAM %s: a'zo obuna uchun buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescMisc=QADAM %s: Turli xil operatsiyalar uchun majburiy sukut qaydnomasi va buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescLoan=QADAM %s: ssudalar bo'yicha ssudalarning buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescBank=QADAM %s: har bir bank va moliyaviy hisob uchun buxgalteriya hisobi va jurnal kodini aniqlang. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescProd=QADAM %s: Mahsulotlaringiz / xizmatlaringiz bo'yicha buxgalteriya hisoblarini aniqlang. Buning uchun %s menyu yozuvidan foydalaning. -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. -AccountancyAreaDescWriteRecords=STEP %s: Write transactions into the Ledger. For this, go into menu %s, and click into button %s. -AccountancyAreaDescAnalyze=STEP %s: Add or edit existing transactions and generate reports and exports. +AccountancyAreaDescBind=QADAM %s: mavjud %s satrlari bilan buxgalteriya hisobi o'rtasidagi bog'lanishni tekshiring, shuning uchun dastur bir marta bosish bilan Ledger-dagi operatsiyalarni jurnalga yozib olish imkoniyatiga ega bo'ladi. To'liq etishmayotgan birikmalar. Buning uchun %s menyu yozuvidan foydalaning. +AccountancyAreaDescWriteRecords=QADAM %s: operatsiyalarni kitobga yozing. Buning uchun %s menyusiga o'ting va %s tugmachasini bosing. +AccountancyAreaDescAnalyze=QADAM %s: Mavjud operatsiyalarni qo'shish yoki tahrirlash, hisobotlar va eksportlarni yaratish. -AccountancyAreaDescClosePeriod=STEP %s: Close period so we can't make modification in a future. +AccountancyAreaDescClosePeriod=QADAM %s: Yopish davri, shuning uchun kelajakda o'zgartirishlar kiritolmaymiz. -TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) -Selectchartofaccounts=Select active chart of accounts -ChangeAndLoad=Change and load +TheJournalCodeIsNotDefinedOnSomeBankAccount=O'rnatishning majburiy bosqichi tugallanmagan (buxgalteriya kodlari jurnali barcha bank hisoblari uchun aniqlanmagan) +Selectchartofaccounts=Faol hisobvaraqlar rejasini tanlang +ChangeAndLoad=O'zgartirish va yuklash Addanaccount=Add an accounting account AccountAccounting=Accounting account AccountAccountingShort=Account -SubledgerAccount=Subledger account -SubledgerAccountLabel=Subledger account label -ShowAccountingAccount=Show accounting account -ShowAccountingJournal=Show accounting journal -ShowAccountingAccountInLedger=Show accounting account in ledger -ShowAccountingAccountInJournals=Show accounting account in journals -AccountAccountingSuggest=Accounting account suggested -MenuDefaultAccounts=Default accounts -MenuBankAccounts=Bank accounts -MenuVatAccounts=Vat accounts -MenuTaxAccounts=Tax accounts -MenuExpenseReportAccounts=Expense report accounts -MenuLoanAccounts=Loan accounts -MenuProductsAccounts=Product accounts -MenuClosureAccounts=Closure accounts -MenuAccountancyClosure=Closure -MenuAccountancyValidationMovements=Validate movements -ProductsBinding=Products accounts -TransferInAccounting=Transfer in accounting -RegistrationInAccounting=Registration in accounting -Binding=Binding to accounts -CustomersVentilation=Customer invoice binding -SuppliersVentilation=Vendor invoice binding -ExpenseReportsVentilation=Expense report binding -CreateMvts=Create new transaction -UpdateMvts=Modification of a transaction -ValidTransaction=Validate transaction -WriteBookKeeping=Register transactions in accounting -Bookkeeping=Ledger +SubledgerAccount=Subledger hisobi +SubledgerAccountLabel=Subledger hisobvarag'ining yorlig'i +ShowAccountingAccount=Buxgalteriya hisobini ko'rsatish +ShowAccountingJournal=Buxgalteriya jurnalini ko'rsatish +ShowAccountingAccountInLedger=Buxgalteriya hisobini daftarda ko'rsatish +ShowAccountingAccountInJournals=Buxgalteriya hisobini jurnallarda ko'rsatish +AccountAccountingSuggest=Buxgalteriya hisobi tavsiya etildi +MenuDefaultAccounts=Standart hisoblar +MenuBankAccounts=Bank hisobvaraqlari +MenuVatAccounts=QQS hisob-kitoblari +MenuTaxAccounts=Soliq hisobvaraqlari +MenuExpenseReportAccounts=Xarajatlar bo'yicha hisobotlar +MenuLoanAccounts=Kredit hisobvaraqlari +MenuProductsAccounts=Mahsulot hisoblari +MenuClosureAccounts=Yopish hisoblari +MenuAccountancyClosure=Yopish +MenuAccountancyValidationMovements=Harakatlarni tasdiqlang +ProductsBinding=Mahsulotlar hisoblari +TransferInAccounting=Buxgalteriya hisobiga o'tkazish +RegistrationInAccounting=Buxgalteriyada ro'yxatdan o'tish +Binding=Hisobvaraqlar uchun majburiy +CustomersVentilation=Xaridorlarning hisob-fakturasi majburiy +SuppliersVentilation=Sotuvchi hisob-fakturasini majburiy ravishda to'ldirish +ExpenseReportsVentilation=Xarajatlar to'g'risidagi hisobotni majburiy ravishda bajarish +CreateMvts=Yangi tranzaksiya yarating +UpdateMvts=Bitimni o'zgartirish +ValidTransaction=Bitimni tasdiqlash +WriteBookKeeping=Buxgalteriya hisobidagi operatsiyalarni ro'yxatdan o'tkazing +Bookkeeping=Kitob BookkeepingSubAccount=Subledger -AccountBalance=Account balance -ObjectsRef=Source object ref -CAHTF=Total purchase vendor before tax -TotalExpenseReport=Total expense report -InvoiceLines=Lines of invoices to bind -InvoiceLinesDone=Bound lines of invoices -ExpenseReportLines=Lines of expense reports to bind -ExpenseReportLinesDone=Bound lines of expense reports -IntoAccount=Bind line with the accounting account -TotalForAccount=Total accounting account +AccountBalance=Hisob balansi +ObjectsRef=Manba ob'ekti ref +CAHTF=Soliqqa qadar jami sotib olish sotuvchisi +TotalExpenseReport=Jami xarajatlar hisoboti +InvoiceLines=Yopish uchun schyot-fakturalar +InvoiceLinesDone=Hisob-fakturalarning chegaralangan chiziqlari +ExpenseReportLines=Bog'lanish uchun xarajatlar hisobotlari qatorlari +ExpenseReportLinesDone=Xarajatlar to'g'risidagi hisobotlarning chegaralangan chiziqlari +IntoAccount=Buxgalteriya hisobi bilan bog'lanish +TotalForAccount=Jami buxgalteriya hisobi -Ventilate=Bind -LineId=Id line +Ventilate=Bog'lash +LineId=Id chizig'i Processing=Processing -EndProcessing=Process terminated. +EndProcessing=Jarayon tugadi. SelectedLines=Selected lines Lineofinvoice=Line of invoice -LineOfExpenseReport=Line of expense report -NoAccountSelected=No accounting account selected -VentilatedinAccount=Binded successfully to the accounting account -NotVentilatedinAccount=Not bound to the accounting account -XLineSuccessfullyBinded=%s products/services successfully bound to an accounting account -XLineFailedToBeBinded=%s products/services were not bound to any accounting account +LineOfExpenseReport=Xarajatlar to'g'risidagi hisobot liniyasi +NoAccountSelected=Buxgalteriya hisobi tanlanmagan +VentilatedinAccount=Buxgalteriya hisobiga muvaffaqiyatli bog'langan +NotVentilatedinAccount=Buxgalteriya hisobi bilan bog'liq emas +XLineSuccessfullyBinded=%s mahsulotlari / xizmatlari buxgalteriya hisobiga muvaffaqiyatli bog'langan +XLineFailedToBeBinded=%s mahsulotlari / xizmatlari hech qanday buxgalteriya hisobiga bog'lanmagan -ACCOUNTING_LIMIT_LIST_VENTILATION=Maximum number of lines on list and bind page (recommended: 50) -ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the page "Binding to do" by the most recent elements -ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the page "Binding done" by the most recent elements +ACCOUNTING_LIMIT_LIST_VENTILATION=Ro'yxat va bog'lash sahifasidagi maksimal qatorlar soni (tavsiya etiladi: 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=So'nggi elementlar bo'yicha "Bajarish majburiy" sahifani saralashni boshlang +ACCOUNTING_LIST_SORT_VENTILATION_DONE=So'nggi elementlar bo'yicha "Majburiy amalga oshirildi" sahifasini saralashni boshlang -ACCOUNTING_LENGTH_DESCRIPTION=Truncate product & services description in listings after x chars (Best = 50) -ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Truncate product & services account description form in listings after x chars (Best = 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_AACCOUNT=Length of the third-party accounting accounts (If you set value to 6 here, the account '401' will appear like '401000' on screen) -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. -BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account -ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties) -ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. -ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default +ACCOUNTING_LENGTH_DESCRIPTION=X belgilaridan keyin ro'yxatdagi mahsulot va xizmatlarning tavsifini qisqartiring (Eng yaxshi = 50) +ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=X belgilaridan so'ng ro'yxatdagi mahsulot va xizmatlar hisobini tavsiflash shaklini qisqartiring (Best = 50) +ACCOUNTING_LENGTH_GACCOUNT=Umumiy buxgalteriya hisoblarining uzunligi (Agar siz bu erda 6 qiymatini belgilasangiz, '706' qaydnomasi ekranda '706000' kabi ko'rinadi) +ACCOUNTING_LENGTH_AACCOUNT=Uchinchi tomon buxgalteriya hisoblarining uzunligi (Agar siz bu erda 6 qiymatini belgilasangiz, '401' qaydnomasi ekranda '401000' kabi ko'rinadi) +ACCOUNTING_MANAGE_ZERO=Buxgalteriya hisobi oxirida turli xil nollarni boshqarishga ruxsat bering. Ba'zi mamlakatlar tomonidan kerak (masalan, Shveytsariya). Agar o'chirilgan (standart) bo'lsa, siz dasturdan virtual nollarni qo'shishni so'rash uchun quyidagi ikkita parametrni o'rnatishingiz mumkin. +BANK_DISABLE_DIRECT_INPUT=Bank hisobvarag'idagi operatsiyani to'g'ridan-to'g'ri yozib olishni o'chirib qo'ying +ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Jurnalda qoralama eksportni yoqish +ACCOUNTANCY_COMBO_FOR_AUX=Yordamchi hisob uchun kombinatsiyalangan ro'yxatni yoqish (agar sizda uchinchi shaxslar ko'p bo'lsa, sekin bo'lishi mumkin, qiymatning bir qismini qidirish qobiliyati buziladi) +ACCOUNTING_DATE_START_BINDING=Buxgalteriyada majburiy va o'tkazishni boshlash uchun sanani aniqlang. Ushbu sana ostida operatsiyalar buxgalteriya hisobiga o'tkazilmaydi. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Buxgalteriya o'tkazmalarida sukut bo'yicha davr ko'rsatilishini tanlang ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal -ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal +ACCOUNTING_HAS_NEW_JOURNAL=Yangi jurnal mavjud -ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) -ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) -ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure +ACCOUNTING_RESULT_PROFIT=Natija buxgalteriya hisobi (foyda) +ACCOUNTING_RESULT_LOSS=Natija buxgalteriya hisobi (Zarar) +ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Yopish jurnali -ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer -TransitionalAccount=Transitional bank transfer account +ACCOUNTING_ACCOUNT_TRANSFER_CASH=O'tish davri o'tkazmalarining buxgalteriya hisobi +TransitionalAccount=O'tkazma hisobvarag'i -ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait -DONATION_ACCOUNTINGACCOUNT=Accounting account to register donations -ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions +ACCOUNTING_ACCOUNT_SUSPENSE=Kutishning buxgalteriya hisobi +DONATION_ACCOUNTINGACCOUNT=Xayriya mablag'larini ro'yxatdan o'tkazish uchun buxgalteriya hisobi +ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Obunalarni ro'yxatdan o'tkazish uchun buxgalteriya hisobi -ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Mijozlar depozitini ro'yxatdan o'tkazish uchun sukut bo'yicha buxgalteriya hisobi -ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for the bought products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Xarid qilingan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=EECda sotib olingan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Sotib olingan va EECdan tashqariga olib kirilgan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Sotilgan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=EECda sotilgan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=EECdan tashqarida sotilgan va eksport qilingan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa) -ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_ACCOUNT=Sotib olingan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=EECda sotib olingan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Sotib olingan va EECdan tashqariga olib kirilgan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida ko'rsatilmagan bo'lsa) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Sotilgan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=EECda sotilgan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=EECdan tashqarida sotilgan va eksport qilingan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa) Doctype=Type of document Docdate=Date Docref=Reference LabelAccount=Label account -LabelOperation=Label operation -Sens=Direction -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
    For an accounting account of a supplier, use Debit to record a payment you made -LetteringCode=Lettering code -Lettering=Lettering +LabelOperation=Yorliq bilan ishlash +Sens=Yo'nalish +AccountingDirectionHelp=Mijozning buxgalteriya hisobi uchun siz olgan to'lovni yozish uchun Kreditdan foydalaning. +LetteringCode=Harf kodi +Lettering=Xat Codejournal=Journal -JournalLabel=Journal label -NumPiece=Piece number -TransactionNumShort=Num. transaction -AccountingCategory=Custom group -GroupByAccountAccounting=Group by general ledger account -GroupBySubAccountAccounting=Group by subledger account -AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. -ByAccounts=By accounts -ByPredefinedAccountGroups=By predefined groups -ByPersonalizedAccountGroups=By personalized groups -ByYear=By year -NotMatch=Not Set -DeleteMvt=Delete some operation lines from accounting -DelMonth=Month to delete -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all operation lines of the accounting for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. -ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all operation lines related to the same transaction will be deleted) +JournalLabel=Jurnal yorlig'i +NumPiece=Parcha raqami +TransactionNumShort=Raqam bitim +AccountingCategory=Maxsus guruh +GroupByAccountAccounting=Bosh kitob schyoti bo'yicha guruhlash +GroupBySubAccountAccounting=Subledger schyoti bo'yicha guruhlash +AccountingAccountGroupsDesc=Siz bu erda buxgalteriya hisobining ayrim guruhlarini belgilashingiz mumkin. Ular shaxsiylashtirilgan buxgalteriya hisobotlari uchun ishlatiladi. +ByAccounts=Hisob-kitoblar bo'yicha +ByPredefinedAccountGroups=Oldindan belgilangan guruhlar bo'yicha +ByPersonalizedAccountGroups=Shaxsiylashtirilgan guruhlar bo'yicha +ByYear=Yil bo'yicha +NotMatch=O'rnatilmagan +DeleteMvt=Buxgalteriya hisobidan ba'zi operatsion liniyalarni o'chirib tashlang +DelMonth=O'chirish uchun oy +DelYear=O'chirish yili +DelJournal=O'chirish uchun jurnal +ConfirmDeleteMvt=Bu yil / oy va / yoki ma'lum bir jurnal uchun buxgalteriya hisobining barcha operatsion yo'nalishlarini o'chirib tashlaydi (kamida bitta mezon talab qilinadi). O'chirilgan yozuvni daftarga qaytarish uchun '%s' xususiyatidan qayta foydalanishingiz kerak bo'ladi. +ConfirmDeleteMvtPartial=Bu operatsiyani buxgalteriya hisobidan o'chirib tashlaydi (bir xil operatsiyaga tegishli barcha operatsion liniyalar o'chiriladi) FinanceJournal=Finance journal -ExpenseReportsJournal=Expense reports journal +ExpenseReportsJournal=Xarajatlar hisoboti jurnali DescFinanceJournal=Finance journal including all the types of payments by bank account -DescJournalOnlyBindedVisible=This is a view of record that are bound to an accounting account and can be recorded into the Journals and Ledger. -VATAccountNotDefined=Account for VAT not defined -ThirdpartyAccountNotDefined=Account for third party not defined -ProductAccountNotDefined=Account for product not defined -FeeAccountNotDefined=Account for fee not defined -BankAccountNotDefined=Account for bank not defined +DescJournalOnlyBindedVisible=Bu buxgalteriya hisobi bilan bog'liq bo'lgan yozuvlar va Jurnallar va Daftarlarga yozilishi mumkin bo'lgan ko'rinishdir. +VATAccountNotDefined=QQS uchun hisob-kitob aniqlanmagan +ThirdpartyAccountNotDefined=Uchinchi tomon uchun hisob belgilanmagan +ProductAccountNotDefined=Mahsulot hisobi aniqlanmagan +FeeAccountNotDefined=To'lov uchun hisob-kitob aniqlanmagan +BankAccountNotDefined=Bank hisobi aniqlanmagan CustomerInvoicePayment=Payment of invoice customer -ThirdPartyAccount=Third-party account -NewAccountingMvt=New transaction -NumMvts=Numero of transaction -ListeMvts=List of movements +ThirdPartyAccount=Uchinchi tomon hisobi +NewAccountingMvt=Yangi bitim +NumMvts=Bitim soni +ListeMvts=Harakatlar ro'yxati ErrorDebitCredit=Debit and Credit cannot have a value at the same time -AddCompteFromBK=Add accounting accounts to the group -ReportThirdParty=List third-party account -DescThirdPartyReport=Consult here the list of third-party customers and vendors and their accounting accounts +AddCompteFromBK=Guruhga buxgalteriya hisoblarini qo'shing +ReportThirdParty=Uchinchi tomon hisoblarini ro'yxatlash +DescThirdPartyReport=Uchinchi tomon mijozlari va sotuvchilari ro'yxati va ularning buxgalteriya hisoblari bilan bu erda maslahatlashing ListAccounts=List of the accounting accounts -UnknownAccountForThirdparty=Unknown third-party account. We will use %s -UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s -ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. -UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error -PaymentsNotLinkedToProduct=Payment not linked to any product / service -OpeningBalance=Opening balance -ShowOpeningBalance=Show opening balance -HideOpeningBalance=Hide opening balance -ShowSubtotalByGroup=Show subtotal by level +UnknownAccountForThirdparty=Uchinchi tomon hisobi noma'lum. Biz %s dan foydalanamiz +UnknownAccountForThirdpartyBlocking=Uchinchi tomon hisobi noma'lum. Bloklash xatosi +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=To'lovda aniqlanmagan uchinchi shaxs noma'lum va subledger. Biz subledger hisob qiymatini bo'sh holda saqlaymiz. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. +UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Noma'lum uchinchi tomon hisobi va kutish hisobi aniqlanmagan. Bloklash xatosi +PaymentsNotLinkedToProduct=To'lov hech qanday mahsulot / xizmatga bog'liq emas +OpeningBalance=Balansni ochish +ShowOpeningBalance=Dastlabki qoldiqni ko'rsating +HideOpeningBalance=Dastlabki qoldiqni yashirish +ShowSubtotalByGroup=Subtotalni daraja bo'yicha ko'rsatish -Pcgtype=Group of account -PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. +Pcgtype=Hisob guruhi +PcgtypeDesc=Hisob-kitoblar guruhi ba'zi buxgalteriya hisobotlari uchun oldindan belgilangan "filtr" va "guruhlash" mezonlari sifatida ishlatiladi. Masalan, "KIRISh" yoki "XARAJATLAR" xarajatlar / daromadlar to'g'risidagi hisobotni tuzish uchun mahsulotlarning buxgalteriya hisobi guruhlari sifatida ishlatiladi. -Reconcilable=Reconcilable +Reconcilable=Yarashtiriladigan TotalVente=Total turnover before tax TotalMarge=Total sales margin -DescVentilCustomer=Consult here the list of customer invoice lines bound (or not) to a product accounting account -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 "%s". 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 "%s". -DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their product accounting account -DescVentilTodoCustomer=Bind invoice lines not already bound with a product accounting account -ChangeAccount=Change the product/service accounting account for selected lines with the following accounting account: +DescVentilCustomer=Mahsulotni hisobga olish hisobvarag'iga bog'langan (yoki bo'lmagan) mijozlarning hisob-fakturalari satrlari ro'yxati bilan bu erda maslahatlashing +DescVentilMore=Ko'pgina hollarda, agar siz oldindan belgilangan mahsulot yoki xizmatlardan foydalansangiz va mahsulot / xizmat kartasida hisob raqamini o'rnatgan bo'lsangiz, ilova sizning hisob-faktura satrlari va sizning hisobvaraqlar rejangizning buxgalteriya hisobi o'rtasidagi majburiylikni amalga oshirishi mumkin. "%s" tugmasi bilan bir marta bosish. Agar mahsulot / xizmat kartalarida hisob o'rnatilmagan bo'lsa yoki sizda hali ham biron bir qatorga bog'liq bo'lmagan bo'lsa, siz " %s " menyusidan majburiy ravishda majburiy ulanishingiz kerak bo'ladi. +DescVentilDoneCustomer=Xaridorlarning schyot-fakturalari ro'yxati va ularning mahsulotlarini hisobga olish hisobi bilan bu erda maslahatlashing +DescVentilTodoCustomer=Mahsulotni hisobga olish hisobvarag'i bilan bog'lanmagan hisob-faktura satrlarini bog'lab qo'ying +ChangeAccount=Tanlangan yo'nalishlar uchun mahsulot / xizmatning buxgalteriya hisobini quyidagi buxgalteriya hisobi bilan o'zgartiring: Vide=- -DescVentilSupplier=Consult here the list of vendor invoice lines bound or not yet bound to a product accounting account (only record not already transfered in accountancy are visible) -DescVentilDoneSupplier=Consult here the list of the lines of vendor invoices and their accounting account -DescVentilTodoExpenseReport=Bind expense report lines not already bound with a fee accounting account -DescVentilExpenseReport=Consult here the list of expense report lines bound (or not) to a fee accounting account -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 "%s". 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 "%s". -DescVentilDoneExpenseReport=Consult here the list of the lines of expenses reports and their fees accounting account +DescVentilSupplier=Mahsulotni hisobga olish hisobvarag'iga bog'langan yoki hali bog'lanmagan sotuvchining faktura satrlari ro'yxati bilan bu erda maslahatlashing (faqat buxgalteriyada o'tkazilmagan yozuvlar ko'rinadi) +DescVentilDoneSupplier=Bu erda sotuvchilarning schyot-fakturalari ro'yxati va ularning buxgalteriya hisobi bilan maslahatlashing +DescVentilTodoExpenseReport=To'lovlarni hisobga olish hisobvarag'i bilan bog'lanmagan majburiy xarajatlar to'g'risidagi hisobot satrlari +DescVentilExpenseReport=To'lovlarni hisobga olish hisobvarag'iga bog'langan (yoki bo'lmagan) xarajatlar hisobotlari ro'yxati bilan bu erda maslahatlashing +DescVentilExpenseReportMore=Agar siz buxgalteriya hisobini xarajatlar to'g'risidagi hisobot satrlari turiga o'rnatgan bo'lsangiz, ilova sizning hisob-kitoblar jadvalingizdagi buxgalteriya hisobi o'rtasidagi majburiylikni amalga oshirishi mumkin, faqat bir marta bosish orqali "%s" . Agar to'lovlar lug'atiga hisob o'rnatilmagan bo'lsa yoki sizda hali ham biron bir qayd bilan bog'lanmagan qatorlar mavjud bo'lsa, " %s " menyusidan majburiy ravishda majburiy amal qilishingiz kerak bo'ladi. +DescVentilDoneExpenseReport=Xarajatlar hisobotlari ro'yxati va ularning to'lovlarini hisobga olish hisobi bilan bu erda maslahatlashing -Closure=Annual closure -DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open -OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) -AllMovementsWereRecordedAsValidated=All movements were recorded as validated -NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated -ValidateMovements=Validate movements -DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible +Closure=Yillik yopilish +DescClosure=Tasdiqlanmagan oylar bo'yicha harakatlarning soni va allaqachon ochilgan moliya yillari bilan bu erda maslahatlashing +OverviewOfMovementsNotValidated=1-qadam / harakatlarning umumiy ko'rinishi tasdiqlanmagan. (Moliyaviy yilni yopish uchun zarur) +AllMovementsWereRecordedAsValidated=Barcha harakatlar tasdiqlangan deb qayd etildi +NotAllMovementsCouldBeRecordedAsValidated=Barcha harakatlarni tasdiqlangan deb yozib bo'lmaydi +ValidateMovements=Harakatlarni tasdiqlang +DescValidateMovements=Yozishni, xatlarni va o'chirishni har qanday o'zgartirish yoki o'chirish taqiqlanadi. Jismoniy mashqlar uchun barcha yozuvlar tasdiqlanishi kerak, aks holda yopish mumkin bo'lmaydi -ValidateHistory=Bind Automatically -AutomaticBindingDone=Automatic binding done +ValidateHistory=Avtomatik bog'lash +AutomaticBindingDone=Avtomatik ulanish amalga oshirildi ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used -MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s -Balancing=Balancing -FicheVentilation=Binding card -GeneralLedgerIsWritten=Transactions are written in the Ledger -GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized. -NoNewRecordSaved=No more record to journalize -ListOfProductsWithoutAccountingAccount=List of products not bound to any accounting account -ChangeBinding=Change the binding -Accounted=Accounted in ledger -NotYetAccounted=Not yet accounted in the ledger -ShowTutorial=Show Tutorial -NotReconciled=Not reconciled -WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view +MvtNotCorrectlyBalanced=Harakat to'g'ri muvozanatlashtirilmagan. Debit = %s | Kredit = %s +Balancing=Balanslash +FicheVentilation=Majburiy karta +GeneralLedgerIsWritten=Bitimlar kitobda yozilgan +GeneralLedgerSomeRecordWasNotRecorded=Ba'zi operatsiyalarni jurnalga yozib bo'lmaydi. Agar boshqa xato xabari bo'lmasa, bu ular allaqachon jurnalga yozilganligi sababli bo'lishi mumkin. +NoNewRecordSaved=Jurnalizatsiya qilish uchun boshqa yozuv yo'q +ListOfProductsWithoutAccountingAccount=Hech qanday buxgalteriya hisobiga bog'lanmagan mahsulotlar ro'yxati +ChangeBinding=Majburiylikni o'zgartiring +Accounted=Hisob kitobida hisobga olingan +NotYetAccounted=Hisob kitobida hali hisobga olinmagan +ShowTutorial=Qo'llanmani ko'rsatish +NotReconciled=Yarashtirilmagan +WarningRecordWithoutSubledgerAreExcluded=Ogohlantirish, subledger hisobi aniqlanmagan barcha operatsiyalar filtrlanadi va ushbu ko'rinishdan chiqarib tashlanadi ## Admin -BindingOptions=Binding options -ApplyMassCategories=Apply mass categories -AddAccountFromBookKeepingWithNoCategories=Available account not yet in the personalized group -CategoryDeleted=Category for the accounting account has been removed -AccountingJournals=Accounting journals -AccountingJournal=Accounting journal -NewAccountingJournal=New accounting journal -ShowAccountingJournal=Show accounting journal -NatureOfJournal=Nature of Journal -AccountingJournalType1=Miscellaneous operations -AccountingJournalType2=Sales -AccountingJournalType3=Purchases +BindingOptions=Majburiy variantlar +ApplyMassCategories=Ommaviy toifalarni qo'llang +AddAccountFromBookKeepingWithNoCategories=Mavjud hisob hali moslashtirilgan guruhda emas +CategoryDeleted=Buxgalteriya hisobi toifasi olib tashlandi +AccountingJournals=Buxgalteriya jurnallari +AccountingJournal=Buxgalteriya jurnali +NewAccountingJournal=Yangi buxgalteriya jurnali +ShowAccountingJournal=Buxgalteriya jurnalini ko'rsatish +NatureOfJournal=Jurnalning tabiati +AccountingJournalType1=Turli xil operatsiyalar +AccountingJournalType2=Sotish +AccountingJournalType3=Xaridlar AccountingJournalType4=Bank -AccountingJournalType5=Expenses report -AccountingJournalType8=Inventory -AccountingJournalType9=Has-new -ErrorAccountingJournalIsAlreadyUse=This journal is already use -AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu %s - %s -NumberOfAccountancyEntries=Number of entries -NumberOfAccountancyMovements=Number of movements -ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) +AccountingJournalType5=Xarajatlar to'g'risida hisobot +AccountingJournalType8=Inventarizatsiya +AccountingJournalType9=Yangi-yangi +ErrorAccountingJournalIsAlreadyUse=Ushbu jurnal allaqachon ishlatilgan +AccountingAccountForSalesTaxAreDefinedInto=Izoh: Sotish solig'i bo'yicha buxgalteriya hisobi %s - %s menyusida aniqlanadi +NumberOfAccountancyEntries=Yozuvlar soni +NumberOfAccountancyMovements=Harakatlar soni +ACCOUNTING_DISABLE_BINDING_ON_SALES=Sotish bo'yicha buxgalteriyada majburiy va o'tkazishni o'chirib qo'ying (mijozlar hisob-kitoblari buxgalteriya hisobida hisobga olinmaydi) +ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Xaridlar bo'yicha buxgalteriyada majburiy va o'tkazishni o'chirib qo'ying (sotuvchi hisob-kitoblari buxgalteriya hisobida hisobga olinmaydi) +ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Xarajatlar hisobotlari bo'yicha buxgalteriyada majburiy va o'tkazishni o'chirib qo'ying (xarajatlar hisoboti buxgalteriya hisobida hisobga olinmaydi) ## Export -ExportDraftJournal=Export draft journal +NotifiedExportDate=Xabar qilingan eksport sanasi (yozuvlarni o'zgartirish mumkin bo'lmaydi) +NotifiedValidationDate=Yozuvlarni tasdiqlash (yozuvlarni o'zgartirish yoki o'chirish mumkin bo'lmaydi) +ConfirmExportFile=Buxgalteriya eksporti faylini yaratishni tasdiqlashmi? +ExportDraftJournal=Jurnal jurnalini eksport qiling Modelcsv=Model of export Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export -Modelcsv_CEGID=Export for CEGID Expert Comptabilité -Modelcsv_COALA=Export for Sage Coala -Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution -Modelcsv_quadratus=Export for Quadratus QuadraCompta -Modelcsv_ebp=Export for EBP -Modelcsv_cogilog=Export for Cogilog -Modelcsv_agiris=Export for Agiris -Modelcsv_LDCompta=Export for LD Compta (v9) (Test) -Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) -Modelcsv_openconcerto=Export for OpenConcerto (Test) -Modelcsv_configurable=Export CSV Configurable -Modelcsv_FEC=Export FEC -Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) -Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland -Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta -Modelcsv_Gestinumv3=Export for Gestinum (v3) -Modelcsv_Gestinumv5Export for Gestinum (v5) -ChartofaccountsId=Chart of accounts Id +Modelcsv_CEGID=CEGID Expert Comptabilité uchun eksport +Modelcsv_COALA=Sage Coala uchun eksport +Modelcsv_bob50=Sage BOB 50 uchun eksport +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) +Modelcsv_quadratus=Quadratus QuadraCompta uchun eksport +Modelcsv_ebp=EBP uchun eksport +Modelcsv_cogilog=Cogilog uchun eksport +Modelcsv_agiris=Agiris uchun eksport +Modelcsv_LDCompta=LD Compta (v9) uchun eksport (sinov) +Modelcsv_LDCompta10=LD Compta uchun eksport (v10 va undan yuqori) +Modelcsv_openconcerto=OpenConcerto uchun eksport (Test) +Modelcsv_configurable=CSV konfiguratsiyasini eksport qilish +Modelcsv_FEC=FECni eksport qilish +Modelcsv_FEC2=FEC-ni eksport qilish (sanalarni yozish / hujjatni o'zgartirish bilan) +Modelcsv_Sage50_Swiss=Sage 50 uchun Shveytsariya uchun eksport +Modelcsv_winfic=Winfic - eWinfic - WinSis Compta-ni eksport qiling +Modelcsv_Gestinumv3=Gestinum uchun eksport (v3) +Modelcsv_Gestinumv5Export Gestinum uchun (v5) +ChartofaccountsId=Hisob-kitoblar rejasi ## Tools - Init accounting account on product / service -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. -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 used for accounting closures. -Options=Options -OptionModeProductSell=Mode sales -OptionModeProductSellIntra=Mode sales exported in EEC -OptionModeProductSellExport=Mode sales exported in other countries -OptionModeProductBuy=Mode purchases -OptionModeProductBuyIntra=Mode purchases imported in EEC -OptionModeProductBuyExport=Mode purchased imported from other countries -OptionModeProductSellDesc=Show all products with accounting account for sales. -OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. -OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. -OptionModeProductBuyDesc=Show all products with accounting account for purchases. -OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. -OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. -CleanFixHistory=Remove accounting code from lines that not exists into charts of account -CleanHistory=Reset all bindings for selected year -PredefinedGroups=Predefined groups -WithoutValidAccount=Without valid dedicated account -WithValidAccount=With valid dedicated account -ValueNotIntoChartOfAccount=This value of accounting account does not exist into chart of account -AccountRemovedFromGroup=Account removed from group -SaleLocal=Local sale -SaleExport=Export sale -SaleEEC=Sale in EEC -SaleEECWithVAT=Sale in EEC with a VAT not null, so we suppose this is NOT an intracommunautary sale and the suggested account is the standard product account. -SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. +InitAccountancy=Buxgalteriya hisobi +InitAccountancyDesc=Ushbu sahifada sotish va sotib olish uchun aniqlangan buxgalteriya hisobi bo'lmagan mahsulotlar va xizmatlar bo'yicha buxgalteriya hisobini boshlash uchun foydalanish mumkin. +DefaultBindingDesc=Ushbu sahifada oldindan hisob-kitob hisobvarag'i o'rnatilmagan taqdirda, ish haqi, xayriya mablag'lari, soliqlar va QQS bo'yicha operatsiyalar yozuvlarini bog'lash uchun standart hisobni o'rnatish uchun foydalanish mumkin. +DefaultClosureDesc=Ushbu sahifadan buxgalteriya hisobini yopish uchun ishlatiladigan parametrlarni o'rnatish uchun foydalanish mumkin. +Options=Variantlar +OptionModeProductSell=Sotish rejimi +OptionModeProductSellIntra=Tartibni sotish EECda eksport qilinadi +OptionModeProductSellExport=Boshqa mamlakatlarga eksport qilingan tartibli sotuvlar +OptionModeProductBuy=Sotib olish tartibi +OptionModeProductBuyIntra=EECga import qilingan rejimdagi xaridlar +OptionModeProductBuyExport=Boshqa mamlakatlardan sotib olingan rejim sotib olingan +OptionModeProductSellDesc=Sotish bo'yicha buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductSellIntraDesc=EECda sotish uchun buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductSellExportDesc=Boshqa mahsulotlarni hisobga olish hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductBuyDesc=Xaridlar uchun buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductBuyIntraDesc=EECda sotib olish uchun buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductBuyExportDesc=Boshqa mahsulotlarni buxgalteriya hisobi bilan namoyish eting. +CleanFixHistory=Hisob jadvallarida mavjud bo'lmagan chiziqlardan buxgalteriya kodini olib tashlang +CleanHistory=Tanlangan yil uchun barcha bog'lanishlarni tiklang +PredefinedGroups=Oldindan belgilangan guruhlar +WithoutValidAccount=Yaratilgan maxsus hisobsiz +WithValidAccount=Yaratilgan maxsus hisob bilan +ValueNotIntoChartOfAccount=Buxgalteriya hisobining bu qiymati hisob rejasida mavjud emas +AccountRemovedFromGroup=Hisob guruhdan olib tashlandi +SaleLocal=Mahalliy sotuv +SaleExport=Eksportni sotish +SaleEEC=EECda sotish +SaleEECWithVAT=EECda QQS bilan sotish bekor bo'lmaydi, shuning uchun bu kommunal ichki savdo emas va taklif qilingan hisob standart mahsulot hisobvarag'i. +SaleEECWithoutVATNumber=EECda QQSsiz sotish, lekin uchinchi tomonning QQS identifikatori aniqlanmagan. Biz standart sotuvlar uchun mahsulot hisobiga tushamiz. Agar kerak bo'lsa, siz uchinchi tomonning QQS identifikatorini yoki mahsulot hisobini tuzatishingiz mumkin. ## Dictionary -Range=Range of accounting account -Calculated=Calculated +Range=Buxgalteriya hisobi doirasi +Calculated=Hisoblangan Formula=Formula ## Error -SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them -ErrorNoAccountingCategoryForThisCountry=No accounting account group available for country %s (See Home - Setup - Dictionaries) -ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice %s, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. -ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. -ExportNotSupported=The export format setuped is not supported into this page -BookeppingLineAlreayExists=Lines already existing into bookkeeping -NoJournalDefined=No journal defined -Binded=Lines bound -ToBind=Lines to bind -UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually +SomeMandatoryStepsOfSetupWereNotDone=O'rnatishning ba'zi majburiy bosqichlari bajarilmadi, iltimos, ularni to'ldiring +ErrorNoAccountingCategoryForThisCountry=%s mamlakati uchun buxgalteriya hisobi guruhi mavjud emas (Uyga qarang - O'rnatish - Lug'atlar) +ErrorInvoiceContainsLinesNotYetBounded=Siz hisob-fakturaning ba'zi satrlarini jurnalga yozishga harakat qilyapsiz %s , ammo boshqa qatorlar hali buxgalteriya hisobi bilan chegaralanmagan. Ushbu hisob-faktura uchun barcha hisob-fakturalarni jurnalizatsiya qilish rad etiladi. +ErrorInvoiceContainsLinesNotYetBoundedShort=Hisob-fakturadagi ba'zi satrlar buxgalteriya hisobi bilan bog'liq emas. +ExportNotSupported=Ushbu sahifada eksport formati o'rnatilmagan +BookeppingLineAlreayExists=Buxgalteriya hisobida mavjud bo'lgan chiziqlar +NoJournalDefined=Hech qanday jurnal aniqlanmagan +Binded=Chiziqlar bog'langan +ToBind=Bog'lash uchun chiziqlar +UseMenuToSetBindindManualy=Chiziqlar hali bog'lanmagan, bog'lanishni qo'lda bajarish uchun %s menyusidan foydalaning ## Import -ImportAccountingEntries=Accounting entries -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) -FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) +ImportAccountingEntries=Buxgalteriya yozuvlari +ImportAccountingEntriesFECFormat=Buxgalteriya yozuvlari - FEC formati +FECFormatJournalCode=Kod jurnali (JournalCode) +FECFormatJournalLabel=Yorliq jurnali (JournalLib) +FECFormatEntryNum=Parcha raqami (EcritureNum) +FECFormatEntryDate=Parcha sanasi (EcritureDate) +FECFormatGeneralAccountNumber=Umumiy hisob raqami (CompteNum) +FECFormatGeneralAccountLabel=Umumiy hisob yorlig'i (CompteLib) +FECFormatSubledgerAccountNumber=Subledger hisob raqami (CompAuxNum) +FECFormatSubledgerAccountLabel=Subledger hisob raqami (CompAuxLib) +FECFormatPieceRef=Parcha ref (PieceRef) +FECFormatPieceDate=Parcha sanasini yaratish (PieceDate) +FECFormatLabelOperation=Yorliq bilan ishlash (EcritureLib) +FECFormatDebit=Debet (Debet) +FECFormatCredit=Kredit (Kredit) +FECFormatReconcilableCode=Yarashtiriladigan kod (EcritureLet) +FECFormatReconcilableDate=Yarashtiriladigan sana (DateLet) +FECFormatValidateDate=Parcha sanasi tasdiqlangan (ValidDate) +FECFormatMulticurrencyAmount=Ko'p valyuta miqdori (Montantdevise) +FECFormatMulticurrencyCode=Ko'p valyuta kodi (Idevise) -DateExport=Date export -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. -ExpenseReportJournal=Expense Report Journal -InventoryJournal=Inventory Journal +DateExport=Sana eksporti +WarningReportNotReliable=Diqqat, ushbu hisobot daftarga asoslanmagan, shuning uchun daftarda qo'lda o'zgartirilgan bitimni o'z ichiga olmaydi. Agar sizning jurnalizatsiya dolzarb bo'lsa, buxgalteriya hisobi yanada aniqroq bo'ladi. +ExpenseReportJournal=Xarajatlar bo'yicha hisobot jurnali +InventoryJournal=Inventarizatsiya jurnali -NAccounts=%s accounts +NAccounts=%s hisob qaydnomalari diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index fb4513a09b4..dfc9a08097c 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -1,2131 +1,2161 @@ # Dolibarr language file - Source file is en_US - admin -Foundation=Foundation -Version=Version -Publisher=Publisher -VersionProgram=Version program -VersionLastInstall=Initial install version -VersionLastUpgrade=Latest version upgrade -VersionExperimental=Experimental -VersionDevelopment=Development -VersionUnknown=Unknown -VersionRecommanded=Recommended -FileCheck=Fileset Integrity Checks -FileCheckDesc=This tool allows you to check the integrity of files and the setup of your application, comparing each file with the official one. The value of some setup constants may also be checked. You can use this tool to determine if any files have been modified (e.g by a hacker). -FileIntegrityIsStrictlyConformedWithReference=Files integrity is strictly conformed with the reference. -FileIntegrityIsOkButFilesWereAdded=Files integrity check has passed, however some new files have been added. -FileIntegritySomeFilesWereRemovedOrModified=Files integrity check has failed. Some files were modified, removed or added. -GlobalChecksum=Global checksum -MakeIntegrityAnalysisFrom=Make integrity analysis of application files from -LocalSignature=Embedded local signature (less reliable) -RemoteSignature=Remote distant signature (more reliable) -FilesMissing=Missing Files -FilesUpdated=Updated Files -FilesModified=Modified Files -FilesAdded=Added Files -FileCheckDolibarr=Check integrity of application files -AvailableOnlyOnPackagedVersions=The local file for integrity checking is only available when the application is installed from an official package -XmlNotFound=Xml Integrity File of application not found -SessionId=Session ID -SessionSaveHandler=Handler to save sessions -SessionSavePath=Session save location -PurgeSessions=Purge of sessions -ConfirmPurgeSessions=Do you really want to purge all sessions? This will disconnect every user (except yourself). -NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow listing all running sessions. -LockNewSessions=Lock new connections -ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself? Only user %s will be able to connect after that. -UnlockNewSessions=Remove connection lock -YourSession=Your session -Sessions=Users Sessions -WebUserGroup=Web server user/group -PermissionsOnFiles=Permissions on files -PermissionsOnFilesInWebRoot=Permissions on files in web root directory -PermissionsOnFile=Permissions on file %s -NoSessionFound=Your PHP configuration seems to not allow listing of active sessions. The directory used to save sessions (%s) may be protected (for example by OS permissions or by PHP directive open_basedir). -DBStoringCharset=Database charset to store data -DBSortingCharset=Database charset to sort data -HostCharset=Host charset -ClientCharset=Client charset -ClientSortingCharset=Client collation -WarningModuleNotActive=Module %s must be enabled -WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. -DolibarrSetup=Dolibarr install or upgrade -InternalUser=Internal user -ExternalUser=External user -InternalUsers=Internal users -ExternalUsers=External users -GUISetup=Display -SetupArea=Setup -UploadNewTemplate=Upload new template(s) -FormToTestFileUploadForm=Form to test file upload (according to setup) -ModuleMustBeEnabled=The module/application %s must be enabled -ModuleIsEnabled=The module/application %s has been enabled -IfModuleEnabled=Note: yes is effective only if module %s is enabled -RemoveLock=Remove/rename file %s if it exists, to allow usage of the Update/Install tool. -RestoreLock=Restore file %s, with read permission only, to disable any further use of the Update/Install tool. -SecuritySetup=Security setup -PHPSetup=PHP setup -OSSetup=OS setup -SecurityFilesDesc=Define here options related to security about uploading files. -ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher -ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher -ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. -DictionarySetup=Dictionary setup -Dictionary=Dictionaries -ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record -ErrorCodeCantContainZero=Code can't contain value 0 -DisableJavascript=Disable JavaScript and Ajax functions -DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user -UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -DelaiedFullListToSelectCompany=Wait until a key is pressed before loading content of Third Parties combo list.
    This may increase performance if you have a large number of third parties, but it is less convenient. -DelaiedFullListToSelectContact=Wait until a key is pressed before loading content of Contact combo list.
    This may increase performance if you have a large number of contacts, but it is less convenient. -NumberOfKeyToSearch=Number of characters to trigger search: %s -NumberOfBytes=Number of Bytes -SearchString=Search string -NotAvailableWhenAjaxDisabled=Not available when Ajax disabled -AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party -JavascriptDisabled=JavaScript disabled -UsePreviewTabs=Use preview tabs -ShowPreview=Show preview -ShowHideDetails=Show-Hide details -PreviewNotAvailable=Preview not available -ThemeCurrentlyActive=Theme currently active -MySQLTimeZone=TimeZone MySql (database) -TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submitted string. The timezone has effect only when using the UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). -Space=Space -Table=Table -Fields=Fields -Index=Index -Mask=Mask -NextValue=Next value -NextValueForInvoices=Next value (invoices) -NextValueForCreditNotes=Next value (credit notes) -NextValueForDeposit=Next value (down payment) -NextValueForReplacements=Next value (replacements) -MustBeLowerThanPHPLimit=Note: your PHP configuration currently limits the maximum filesize for upload to %s %s, irrespective of the value of this parameter -NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration -MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) -UseCaptchaCode=Use graphical code (CAPTCHA) on login page -AntiVirusCommand=Full path to antivirus command -AntiVirusCommandExample=Example for ClamAv Daemon (require clamav-daemon): /usr/bin/clamdscan
    Example for ClamWin (very very slow): c:\\Progra~1\\ClamWin\\bin\\clamscan.exe -AntiVirusParam= More parameters on command line -AntiVirusParamExample=Example for ClamAv Daemon: --fdpass
    Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -ComptaSetup=Accounting module setup -UserSetup=User management setup -MultiCurrencySetup=Multi-currency setup -MenuLimits=Limits and accuracy -MenuIdParent=Parent menu ID -DetailMenuIdParent=ID of parent menu (empty for a top menu) -DetailPosition=Sort number to define menu position -AllMenus=All -NotConfigured=Module/Application not configured -Active=Active -SetupShort=Setup -OtherOptions=Other options -OtherSetup=Other Setup -CurrentValueSeparatorDecimal=Decimal separator -CurrentValueSeparatorThousand=Thousand separator -Destination=Destination -IdModule=Module ID -IdPermissions=Permissions ID -LanguageBrowserParameter=Parameter %s -LocalisationDolibarrParameters=Localization parameters -ClientTZ=Client Time Zone (user) -ClientHour=Client time (user) -OSTZ=Server OS Time Zone -PHPTZ=PHP server Time Zone -DaylingSavingTime=Daylight saving time -CurrentHour=PHP Time (server) -CurrentSessionTimeOut=Current session timeout -YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a .htaccess file with a line like this "SetEnv TZ Europe/Paris" -HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but of the timezone of the server. -Box=Widget -Boxes=Widgets -MaxNbOfLinesForBoxes=Max. number of lines for widgets -AllWidgetsWereEnabled=All available widgets are enabled -PositionByDefault=Default order -Position=Position -MenusDesc=Menu managers set content of the two menu bars (horizontal and vertical). -MenusEditorDesc=The menu editor allows you to define custom menu entries. Use it carefully to avoid instability and permanently unreachable menu entries.
    Some modules add menu entries (in menu All mostly). If you remove some of these entries by mistake, you can restore them disabling and reenabling the module. -MenuForUsers=Menu for users -LangFile=.lang file -Language_en_US_es_MX_etc=Language (en_US, es_MX, ...) -System=System -SystemInfo=System information -SystemToolsArea=System tools area -SystemToolsAreaDesc=This area provides administration functions. Use the menu to choose the required feature. -Purge=Purge -PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not normally necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server. -PurgeDeleteLogFile=Delete log files, including %s defined for Syslog module (no risk of losing data) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. -PurgeDeleteTemporaryFilesShort=Delete log and temporary files -PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory: %s.
    This will delete all generated documents related to elements (third parties, invoices etc...), files uploaded into the ECM module, database backup dumps and temporary files. -PurgeRunNow=Purge now -PurgeNothingToDelete=No directory or files to delete. -PurgeNDirectoriesDeleted=%s files or directories deleted. -PurgeNDirectoriesFailed=Failed to delete %s files or directories. -PurgeAuditEvents=Purge all security events -ConfirmPurgeAuditEvents=Are you sure you want to purge all security events? All security logs will be deleted, no other data will be removed. -GenerateBackup=Generate backup -Backup=Backup -Restore=Restore -RunCommandSummary=Backup has been launched with the following command -BackupResult=Backup result -BackupFileSuccessfullyCreated=Backup file successfully generated -YouCanDownloadBackupFile=The generated file can now be downloaded -NoBackupFileAvailable=No backup files available. -ExportMethod=Export method -ImportMethod=Import method -ToBuildBackupFileClickHere=To build a backup file, click here. -ImportMySqlDesc=To import a MySQL backup file, you may use phpMyAdmin via your hosting or use the mysql command from the Command line.
    For example: -ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: -ImportMySqlCommand=%s %s < mybackupfile.sql +Foundation=Jamg'arma +Version=Versiya +Publisher=Nashriyotchi +VersionProgram=Dastur versiyasi +VersionLastInstall=Dastlabki o'rnatish versiyasi +VersionLastUpgrade=Eng so'nggi versiya yangilandi +VersionExperimental=Eksperimental +VersionDevelopment=Rivojlanish +VersionUnknown=Noma'lum +VersionRecommanded=Tavsiya etiladi +FileCheck=Fayllar yaxlitligini tekshiradi +FileCheckDesc=Ushbu vosita har bir faylni rasmiy fayl bilan taqqoslab, fayllarning yaxlitligini va sizning ilovangizni sozlashni tekshirishga imkon beradi. Ba'zi o'rnatish barqarorlarining qiymati ham tekshirilishi mumkin. Ushbu vositadan biron bir fayl o'zgartirilganligini aniqlash uchun foydalanishingiz mumkin (masalan, xaker tomonidan). +FileIntegrityIsStrictlyConformedWithReference=Fayllarning yaxlitligi ma'lumotnomaga to'liq mos keladi. +FileIntegrityIsOkButFilesWereAdded=Fayllarning yaxlitligini tekshirish o'tdi, ammo ba'zi yangi fayllar qo'shildi. +FileIntegritySomeFilesWereRemovedOrModified=Fayllarning yaxlitligini tekshirib bo'lmadi. Ba'zi fayllar o'zgartirildi, olib tashlandi yoki qo'shildi. +GlobalChecksum=Global nazorat summasi +MakeIntegrityAnalysisFrom=Dastur fayllarining yaxlitligini tahlil qiling +LocalSignature=O'rnatilgan mahalliy imzo (unchalik ishonchli emas) +RemoteSignature=Masofadagi uzoq imzo (ishonchli) +FilesMissing=Yo'qotilgan fayllar +FilesUpdated=Yangilangan fayllar +FilesModified=O'zgartirilgan fayllar +FilesAdded=Fayllar qo'shildi +FileCheckDolibarr=Ilova fayllarining yaxlitligini tekshiring +AvailableOnlyOnPackagedVersions=Butunlikni tekshirish uchun mahalliy fayl faqat dastur rasmiy paketdan o'rnatilganda mavjud bo'ladi +XmlNotFound=Xml Integrity Ilova fayli topilmadi +SessionId=Sessiya identifikatori +SessionSaveHandler=Seanslarni saqlash uchun ishlov beruvchi +SessionSavePath=Sessiyani saqlash joyini saqlash +PurgeSessions=Sessiyalarni tozalash +ConfirmPurgeSessions=Siz haqiqatan ham barcha mashg'ulotlarni tozalashni xohlaysizmi? Bu har bir foydalanuvchini o'chiradi (o'zingizdan tashqari). +NoSessionListWithThisHandler=PHP-da tuzilgan sessiya ishlovchilarini saqlash barcha ishlaydigan sessiyalarni ro'yxatlashiga yo'l qo'ymaydi. +LockNewSessions=Yangi ulanishlarni qulflang +ConfirmLockNewSessions=Dolibarr-ning yangi ulanishini o'zingiz bilan cheklashni xohlaysizmi? Shundan so'ng faqat %s foydalanuvchisi ulanish imkoniyatiga ega bo'ladi. +UnlockNewSessions=Ulanish qulfini olib tashlang +YourSession=Sizning sessiyangiz +Sessions=Foydalanuvchilar sessiyalari +WebUserGroup=Veb-server foydalanuvchisi / guruhi +PermissionsOnFiles=Fayllarga ruxsat +PermissionsOnFilesInWebRoot=Veb-ildiz katalogidagi fayllarga ruxsat +PermissionsOnFile=%s faylidagi ruxsatnomalar +NoSessionFound=Sizning PHP konfiguratsiyangiz faol seanslar ro'yxatiga ruxsat berilmaganga o'xshaydi. Seanslarni saqlash uchun ishlatiladigan katalog ( %s ) himoyalangan bo'lishi mumkin (masalan, OS ruxsatnomalari yoki open_basedir PHP direktivasi bilan). +DBStoringCharset=Ma'lumotlarni saqlash uchun ma'lumotlar bazasi belgisi +DBSortingCharset=Ma'lumotlarni saralash uchun ma'lumotlar bazasi belgisi +HostCharset=Xost to'plami +ClientCharset=Mijozlar to'plami +ClientSortingCharset=Mijozlarni taqqoslash +WarningModuleNotActive= %s moduli yoqilgan bo'lishi kerak +WarningOnlyPermissionOfActivatedModules=Bu erda faqat faollashtirilgan modullarga tegishli ruxsatlar ko'rsatilgan. Boshqa modullarni Home-> Setup-> Modules sahifasida faollashtirishingiz mumkin. +DolibarrSetup=Dolibarr-ni o'rnating yoki yangilang +InternalUser=Ichki foydalanuvchi +ExternalUser=Tashqi foydalanuvchi +InternalUsers=Ichki foydalanuvchilar +ExternalUsers=Tashqi foydalanuvchilar +UserInterface=User interface +GUISetup=Displey +SetupArea=Sozlash; o'rnatish +UploadNewTemplate=Yangi shablon (lar) ni yuklash +FormToTestFileUploadForm=Faylni yuklashni sinab ko'rish uchun shakl (sozlash bo'yicha) +ModuleMustBeEnabled= %s moduli / ilovasi yoqilgan bo'lishi kerak +ModuleIsEnabled= %s moduli / ilovasi yoqilgan +IfModuleEnabled=Eslatma: ha faqat %s moduli yoqilgan taqdirda samarali bo'ladi. +RemoveLock=Yangilash / O'rnatish vositasidan foydalanishga ruxsat berish uchun fayl mavjud bo'lsa, uni o'chirish / qayta nomlash %s . +RestoreLock=Yangilash / O'rnatish vositasidan boshqa foydalanishni o'chirish uchun faqat o'qish uchun ruxsat berilgan holda %s faylini tiklang. +SecuritySetup=Xavfsizlikni sozlash +PHPSetup=PHP-ni sozlash +OSSetup=OS sozlamalari +SecurityFilesDesc=Fayllarni yuklash bilan bog'liq xavfsizlik bilan bog'liq variantlarni bu erda aniqlang. +ErrorModuleRequirePHPVersion=Xato, ushbu modulda PHP-ning %s yoki undan yuqori versiyasi talab qilinadi +ErrorModuleRequireDolibarrVersion=Xato, ushbu modulda Dolibarr %s yoki undan yuqori versiyasi talab qilinadi +ErrorDecimalLargerThanAreForbidden=Xato, %s dan yuqori aniqlik qo'llab-quvvatlanmaydi. +DictionarySetup=Lug'atni sozlash +Dictionary=Lug'atlar +ErrorReservedTypeSystemSystemAuto="System" va "systemauto" qiymati saqlanib qolgan. O'zingizning yozuvingizni qo'shish uchun "foydalanuvchi" dan qiymat sifatida foydalanishingiz mumkin +ErrorCodeCantContainZero=Kod 0 qiymatini o'z ichiga olmaydi +DisableJavascript=JavaScript va Ajax funktsiyalarini o'chirib qo'ying +DisableJavascriptNote=Izoh: Sinov yoki disk raskadrovka maqsadida. Ko'zi ojizlar yoki matnli brauzerlar uchun optimallashtirish uchun siz foydalanuvchi profilidagi sozlamalardan foydalanishni afzal ko'rishingiz mumkin +UseSearchToSelectCompanyTooltip=Agar sizda uchinchi tomonlar soni ko'p bo'lsa (> 100 000), tezlikni COMPANY_DONOTSEARCH_ANYWHERE-ni Setup-> Other-da 1-ga o'rnatish orqali oshirishingiz mumkin. Keyin qidirish satr boshlanishi bilan cheklanadi. +UseSearchToSelectContactTooltip=Agar sizda uchinchi tomonlar soni juda katta bo'lsa (> 100 000), siz CONTACT_DONOTSEARCH_ANYWHERE doimiyligini O'rnatish -> Boshqalar-da 1 ga o'rnatish orqali tezlikni oshirishingiz mumkin. Keyin qidirish satr boshlanishi bilan cheklanadi. +DelaiedFullListToSelectCompany=Uchinchi tomonlarning birlashtirilgan ro'yxati tarkibini yuklashdan oldin tugma bosilguncha kuting.
    Agar sizda uchinchi tomonlar ko'p bo'lsa, bu unumdorlikni oshirishi mumkin, ammo bu unchalik qulay emas. +DelaiedFullListToSelectContact=Kontaktlar ro'yxati tarkibini yuklashdan oldin tugma bosilguncha kuting.
    Agar sizda ko'plab kontaktlar mavjud bo'lsa, bu ishlashni oshirishi mumkin, ammo bu unchalik qulay emas. +NumberOfKeyToSearch=Qidiruvni boshlash uchun belgilar soni: %s +NumberOfBytes=Baytlar soni +SearchString=Qidiruv qatori +NotAvailableWhenAjaxDisabled=Ajax o'chirib qo'yilganda mavjud emas +AllowToSelectProjectFromOtherCompany=Uchinchi shaxsning hujjatida boshqa uchinchi tomon bilan bog'langan loyihani tanlashi mumkin +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months +JavascriptDisabled=JavaScript o'chirilgan +UsePreviewTabs=Oldindan ko'rish yorliqlaridan foydalaning +ShowPreview=Oldindan ko'rishni ko'rsatish +ShowHideDetails=Tafsilotlarni ko'rsatish-yashirish +PreviewNotAvailable=Oldindan ko‘rib chiqish imkoniyati mavjud emas +ThemeCurrentlyActive=Mavzu hozirda faol +MySQLTimeZone=TimeZone MySql (ma'lumotlar bazasi) +TZHasNoEffect=Sanalar ma'lumotlar bazasi serveri tomonidan saqlanadi va qaytariladi, xuddi taqdim etilgan satrda saqlangandek. Vaqt zonasi faqat UNIX_TIMESTAMP funktsiyasidan foydalanganda ta'sir qiladi (Dolibarr tomonidan foydalanilmasligi kerak, shuning uchun ma'lumotlar bazasi TZ hech qanday ta'sir ko'rsatmasligi kerak, hatto ma'lumotlar kiritilganidan keyin ham o'zgarishi kerak). +Space=Bo'shliq +Table=Jadval +Fields=Maydonlar +Index=Indeks +Mask=Niqob +NextValue=Keyingi qiymat +NextValueForInvoices=Keyingi qiymat (hisob-fakturalar) +NextValueForCreditNotes=Keyingi qiymat (kredit yozuvlari) +NextValueForDeposit=Keyingi qiymat (dastlabki to'lov) +NextValueForReplacements=Keyingi qiymat (almashtirish) +MustBeLowerThanPHPLimit=Eslatma: sizning PHP konfiguratsiyangiz hozirda ushbu parametr qiymatidan qat'i nazar, %s %s-ga yuklash uchun maksimal hajmni cheklaydi +NoMaxSizeByPHPLimit=Eslatma: PHP-ning konfiguratsiyasida chegara o'rnatilmagan +MaxSizeForUploadedFiles=Yuklangan fayllar uchun maksimal o'lcham (har qanday yuklashga ruxsat bermaslik uchun 0) +UseCaptchaCode=Kirish sahifasida grafik koddan (CAPTCHA) foydalaning +AntiVirusCommand=Antivirus buyrug'iga to'liq yo'l +AntiVirusCommandExample=ClamAv Daemon uchun namuna (clamav-demon talab qilinadi): / usr / bin / clamdscan
    ClamWin uchun misol (juda sekin): c: \\ Progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe +AntiVirusParam= Buyruq satrida ko'proq parametrlar +AntiVirusParamExample=ClamAv Daemon uchun namuna: --fdpass
    ClamWin uchun misol: --database = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +ComptaSetup=Buxgalteriya modulini sozlash +UserSetup=Foydalanuvchilarni boshqarish sozlamalari +MultiCurrencySetup=Ko'p valyutani sozlash +MenuLimits=Cheklovlar va aniqlik +MenuIdParent=Ota-ona menyusi identifikatori +DetailMenuIdParent=Asosiy menyu identifikatori (yuqori menyu uchun bo'sh) +ParentID=Parent ID +DetailPosition=Menyu holatini aniqlash uchun raqamni saralash +AllMenus=Hammasi +NotConfigured=Modul / dastur tuzilmagan +Active=Faol +SetupShort=Sozlash; o'rnatish +OtherOptions=Boshqa variantlar +OtherSetup=Boshqa sozlash +CurrentValueSeparatorDecimal=O'nli ajratuvchi +CurrentValueSeparatorThousand=Ming ajratuvchi +Destination=Belgilangan joy +IdModule=Modul identifikatori +IdPermissions=Ruxsatlar identifikatori +LanguageBrowserParameter=Parametr %s +LocalisationDolibarrParameters=Mahalliylashtirish parametrlari +ClientTZ=Mijozning vaqt zonasi (foydalanuvchi) +ClientHour=Mijoz vaqti (foydalanuvchi) +OSTZ=Server operatsion tizimining vaqt zonasi +PHPTZ=PHP-server vaqt zonasi +DaylingSavingTime=Yozgi vaqt +CurrentHour=PHP vaqti (server) +CurrentSessionTimeOut=Joriy mashg'ulotning tanaffusi +YouCanEditPHPTZ=Boshqa PHP vaqt zonasini o'rnatish uchun (shart emas), siz "SetEnv TZ Europe / Paris" kabi qator bilan .htaccess faylini qo'shishga urinib ko'rishingiz mumkin. +HoursOnThisPageAreOnServerTZ=Ogohlantirish, boshqa ekranlardan farqli o'laroq, ushbu sahifadagi soatlar sizning mahalliy vaqt mintaqangizda emas, balki serverning vaqt zonasida. +Box=Vidjet +Boxes=Vidjetlar +MaxNbOfLinesForBoxes=Maks. vidjetlar uchun qatorlar soni +AllWidgetsWereEnabled=Barcha mavjud vidjetlar yoqilgan +PositionByDefault=Standart buyurtma +Position=Lavozim +MenusDesc=Menyu menejerlari ikkita menyu satrining tarkibini belgilaydilar (gorizontal va vertikal). +MenusEditorDesc=Menyu muharriri maxsus menyu yozuvlarini aniqlashga imkon beradi. Beqarorlik va menyuga doimiy ravishda kirib bo'lmaydigan yozuvlarni oldini olish uchun uni diqqat bilan ishlating.
    Ba'zi modullar menyu yozuvlarini qo'shadilar (menyuda Hammasi asosan ). Agar siz ushbu yozuvlarning bir qismini xato bilan olib tashlasangiz, ularni o'chirib qo'yish va modulni qayta tiklashni tiklashingiz mumkin. +MenuForUsers=Foydalanuvchilar uchun menyu +LangFile=.lang fayli +Language_en_US_es_MX_etc=Til (en_US, es_MX, ...) +System=Tizim +SystemInfo=Tizim haqida ma'lumot +SystemToolsArea=Tizim asboblari maydoni +SystemToolsAreaDesc=Ushbu yo'nalish ma'muriy funktsiyalarni taqdim etadi. Kerakli xususiyatni tanlash uchun menyudan foydalaning. +Purge=Tozalash +PurgeAreaDesc=Ushbu sahifa Dolibarr tomonidan yaratilgan yoki saqlangan barcha fayllarni o'chirishga imkon beradi (vaqtinchalik fayllar yoki %s katalogidagi barcha fayllar). Ushbu xususiyatdan foydalanish odatda shart emas. Dolibarr veb-server tomonidan yaratilgan fayllarni o'chirishga ruxsat bermaydigan provayder tomonidan joylashtirilgan foydalanuvchilar uchun vaqtinchalik echim sifatida taqdim etiladi. +PurgeDeleteLogFile=Syslog moduli uchun belgilangan %s , shu jumladan jurnal fayllarini o'chirish (ma'lumotlarni yo'qotish xavfi yo'q) +PurgeDeleteTemporaryFiles=Barcha jurnal va vaqtinchalik fayllarni o'chirib tashlang (ma'lumotlarni yo'qotish xavfi yo'q). Parametr "tempfilesold", "logfiles" yoki ikkalasi ham "tempfilesold + logfiles" bo'lishi mumkin. Eslatma: Vaqtinchalik fayllarni o'chirish faqat vaqtinchalik katalog 24 soatdan ko'proq vaqt oldin yaratilgan taqdirda amalga oshiriladi. +PurgeDeleteTemporaryFilesShort=Jurnal va vaqtinchalik fayllarni o'chirib tashlang +PurgeDeleteAllFilesInDocumentsDir=Katalogdagi barcha fayllarni o'chirib tashlang: %s .
    Bu elementlar bilan bog'liq barcha yaratilgan hujjatlarni (uchinchi shaxslar, hisob-fakturalar va boshqalar), ECM moduliga yuklangan fayllarni, ma'lumotlar bazasining zaxira zaxiralarini va vaqtinchalik fayllarni o'chirib tashlaydi. +PurgeRunNow=Hozir tozalang +PurgeNothingToDelete=O'chirish uchun katalog yoki fayl yo'q. +PurgeNDirectoriesDeleted= %s fayllari yoki kataloglari o'chirildi. +PurgeNDirectoriesFailed= %s fayllari yoki kataloglari o'chirilmadi. +PurgeAuditEvents=Barcha xavfsizlik tadbirlarini tozalang +ConfirmPurgeAuditEvents=Barcha xavfsizlik tadbirlarini tozalamoqchimisiz? Barcha xavfsizlik jurnallari o'chiriladi, boshqa ma'lumotlar o'chirilmaydi. +GenerateBackup=Zaxira nusxasini yarating +Backup=Zaxira nusxasi +Restore=Qayta tiklash +RunCommandSummary=Zaxira nusxasi quyidagi buyruq bilan ishga tushirildi +BackupResult=Zaxira natijasi +BackupFileSuccessfullyCreated=Zaxira fayli muvaffaqiyatli yaratildi +YouCanDownloadBackupFile=Yaratilgan faylni endi yuklab olish mumkin +NoBackupFileAvailable=Zaxira fayllari mavjud emas. +ExportMethod=Eksport usuli +ImportMethod=Import usuli +ToBuildBackupFileClickHere=Zaxira faylini yaratish uchun tugmachasini bosing . +ImportMySqlDesc=MySQL-ning zaxira faylini import qilish uchun phpMyAdmin-dan xosting orqali foydalanishingiz yoki buyruq satridan mysql buyrug'idan foydalanishingiz mumkin.
    Masalan: +ImportPostgreSqlDesc=Zaxira faylini import qilish uchun buyruq satridan pg_restore buyrug'ini ishlatishingiz kerak: +ImportMySqlCommand=%s %s enabled modules are shown. -ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. -ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... -ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. -ModulesMarketPlaces=Find external app/modules -ModulesDevelopYourModule=Develop your own app/modules -ModulesDevelopDesc=You may also develop your own module or find a partner to develop one for you. -DOLISTOREdescriptionLong=Instead of switching on www.dolistore.com web site to find an external module, you can use this embedded tool that will perform the search on the external market place for you (may be slow, need an internet access)... -NewModule=New module -FreeModule=Free -CompatibleUpTo=Compatible with version %s -NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). -CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). -SeeInMarkerPlace=See in Market place -SeeSetupOfModule=See setup of module %s -Updated=Updated -Nouveauté=Novelty -AchatTelechargement=Buy / Download -GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. -DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules -DoliPartnersDesc=List of companies providing custom-developed modules or features.
    Note: since Dolibarr is an open source application, anyone experienced in PHP programming should be able to develop a module. -WebSiteDesc=External websites for more add-on (non-core) modules... -DevelopYourModuleDesc=Some solutions to develop your own module... -URL=URL -RelativeURL=Relative URL -BoxesAvailable=Widgets available -BoxesActivated=Widgets activated -ActivateOn=Activate on -ActiveOn=Activated on -ActivatableOn=Activatable on -SourceFile=Source file -AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled -Required=Required -UsedOnlyWithTypeOption=Used by some agenda option only -Security=Security -Passwords=Passwords -DoNotStoreClearPassword=Encrypt passwords stored in database (NOT as plain-text). It is strongly recommended to activate this option. -MainDbPasswordFileConfEncrypted=Encrypt database password stored in conf.php. It is strongly recommended to activate this option. -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
    $dolibarr_main_db_pass="...";
    by
    $dolibarr_main_db_pass="crypted:%s"; -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
    $dolibarr_main_db_pass="crypted:...";
    by
    $dolibarr_main_db_pass="%s"; -ProtectAndEncryptPdfFiles=Protect generated PDF files. This is NOT recommended as it breaks bulk PDF generation. -ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature makes building of a global merged PDFs not working. -Feature=Feature -DolibarrLicense=License -Developpers=Developers/contributors -OfficialWebSite=Dolibarr official web site -OfficialWebSiteLocal=Local web site (%s) -OfficialWiki=Dolibarr documentation / Wiki -OfficialDemo=Dolibarr online demo -OfficialMarketPlace=Official market place for external modules/addons -OfficialWebHostingService=Referenced web hosting services (Cloud hosting) -ReferencedPreferredPartners=Preferred Partners -OtherResources=Other resources -ExternalResources=External Resources -SocialNetworks=Social Networks -SocialNetworkId=Social Network ID -ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
    take a look at the Dolibarr Wiki:
    %s -ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
    %s -HelpCenterDesc1=Here are some resources for getting help and support with Dolibarr. -HelpCenterDesc2=Some of these resources are only available in english. -CurrentMenuHandler=Current menu handler -MeasuringUnit=Measuring unit -LeftMargin=Left margin -TopMargin=Top margin -PaperSize=Paper type -Orientation=Orientation +FileNameToGenerate=Zaxira nusxasi uchun fayl nomi: +Compression=Siqish +CommandsToDisableForeignKeysForImport=Import paytida chet el kalitlarini o'chirib qo'yish buyrug'i +CommandsToDisableForeignKeysForImportWarning=SQL dump-ni keyinroq tiklashni xohlasangiz, majburiydir +ExportCompatibility=Yaratilgan eksport faylining mosligi +ExportUseMySQLQuickParameter=--Quick parametridan foydalaning +ExportUseMySQLQuickParameterHelp='--Quick' parametri katta jadvallar uchun RAM sarfini cheklashga yordam beradi. +MySqlExportParameters=MySQL eksport parametrlari +PostgreSqlExportParameters= PostgreSQL eksport parametrlari +UseTransactionnalMode=Tranzaksiya rejimidan foydalaning +FullPathToMysqldumpCommand=Mysqldump buyrug'iga to'liq yo'l +FullPathToPostgreSQLdumpCommand=Pg_dump buyrug'iga to'liq yo'l +AddDropDatabase=DROP DATABASE buyrug'ini qo'shing +AddDropTable=DROP TABLE buyrug'ini qo'shing +ExportStructure=Tuzilishi +NameColumn=Ustunlarni nomlash +ExtendedInsert=Kengaytirilgan INSERT +NoLockBeforeInsert=INSERT atrofida qulflash buyruqlari yo'q +DelayedInsert=Kechiktirilgan joylashtirma +EncodeBinariesInHexa=Ikkilik ma'lumotlarni o'n oltilikda kodlash +IgnoreDuplicateRecords=Ikki nusxadagi yozuvning xatolariga e'tibor bermang (INSERT IGNORE) +AutoDetectLang=Avtomatik aniqlash (brauzer tili) +FeatureDisabledInDemo=Demo-da xususiyat o'chirilgan +FeatureAvailableOnlyOnStable=Xususiyat faqat rasmiy barqaror versiyalarida mavjud +BoxesDesc=Vidjetlar - bu ba'zi sahifalarni shaxsiylashtirish uchun qo'shishingiz mumkin bo'lgan ba'zi ma'lumotlarni aks ettiruvchi komponentlar. Maqsadli sahifani tanlash va "Faollashtirish" tugmachasini bosish yoki o'chirish uchun axlat qutisini bosish orqali vidjetni ko'rsatish yoki ko'rsatmaslik o'rtasida tanlov qilishingiz mumkin. +OnlyActiveElementsAreShown=Faqat yoqilgan modullarining elementlari ko'rsatilgan. +ModulesDesc=Modullar / dasturlar dasturiy ta'minotda qaysi funktsiyalar mavjudligini aniqlaydi. Ba'zi modullar modulni faollashtirgandan so'ng foydalanuvchilarga ruxsat berilishini talab qiladi. Modul / dasturni yoqish yoki o'chirish uchun har bir modulning %s tugmachasini bosing. +ModulesDesc2=Click the wheel button %s to configure the module/application. +ModulesMarketPlaceDesc=Internetda tashqi veb-saytlarda yuklab olish uchun ko'proq modullarni topishingiz mumkin ... +ModulesDeployDesc=Agar sizning fayl tizimingizdagi ruxsatnomalar bunga yo'l qo'ysa, siz ushbu vositadan tashqi modulni joylashtirish uchun foydalanishingiz mumkin. Keyin modul %s yorlig'ida ko'rinadi. +ModulesMarketPlaces=Tashqi ilova / modullarni toping +ModulesDevelopYourModule=O'zingizning ilova / modullaringizni ishlab chiqing +ModulesDevelopDesc=Shuningdek, siz o'zingizning modulingizni ishlab chiqishingiz yoki o'zingiz uchun ishlab chiqadigan sherik topishingiz mumkin. +DOLISTOREdescriptionLong=Tashqi modulni topish uchun www.dolistore.com veb-saytini yoqish o'rniga siz o'zingiz uchun tashqi bozorda qidiruvni amalga oshiradigan ushbu ichki vositadan foydalanishingiz mumkin (sekin bo'lishi mumkin, Internetga kirish kerak) ... +NewModule=Yangi modul +FreeModule=Ozod +CompatibleUpTo=%s versiyasi bilan mos keladi +NotCompatible=Ushbu modul sizning Dolibarr %s (Min %s - Max %s) bilan mos kelmaydi. +CompatibleAfterUpdate=Ushbu modul sizning Dolibarr %s (Min %s - Max %s) uchun yangilanishni talab qiladi. +SeeInMarkerPlace=Bozor joyida ko'ring +SeeSetupOfModule=%s modulini o'rnatishga qarang +SetOptionTo= %s ni %s ga sozlang +Updated=Yangilandi +AchatTelechargement=Sotib olish / yuklab olish +GoModuleSetupArea=Yangi modulni joylashtirish / o'rnatish uchun Modulni sozlash maydoniga o'ting: %s . +DoliStoreDesc=DoliStore, Dolibarr ERP / CRM tashqi modullari uchun rasmiy bozor +DoliPartnersDesc=Maxsus ishlab chiqilgan modullar yoki xususiyatlarni taqdim etadigan kompaniyalar ro'yxati.
    Eslatma: Dolibarr ochiq kodli dastur bo'lgani uchun, PHP dasturlashda tajribali kimdir modul ishlab chiqishi kerak. +WebSiteDesc=Qo'shimcha (yadroli bo'lmagan) modullar uchun tashqi veb-saytlar ... +DevelopYourModuleDesc=O'zingizning modulingizni ishlab chiqish uchun ba'zi echimlar ... +URL=URL manzili +RelativeURL=Nisbiy URL +BoxesAvailable=Vidjetlar mavjud +BoxesActivated=Vidjetlar faollashtirildi +ActivateOn=Yoqish +ActiveOn=Yoqilgan +ActivatableOn=Faollashtirilishi mumkin +SourceFile=Manba fayli +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Faqatgina JavaScript o'chirib qo'yilmagan bo'lsa mavjud +Required=Majburiy +UsedOnlyWithTypeOption=Faqat ba'zi kun tartibi variantlari tomonidan ishlatiladi +Security=Xavfsizlik +Passwords=Parollar +DoNotStoreClearPassword=Ma'lumotlar bazasida saqlangan parollarni shifrlang (oddiy matn sifatida EMAS). Ushbu parametrni faollashtirish tavsiya etiladi. +MainDbPasswordFileConfEncrypted=Conf.php-da saqlangan ma'lumotlar bazasi parolini shifrlash. Ushbu parametrni faollashtirish tavsiya etiladi. +InstrucToEncodePass=Parolni conf.php faylida kodlash uchun
    $ dolibarr_main_db_pass = "..." qatorini almashtiring;
    tomonidan
    $ dolibarr_main_db_pass = "crypted: %s"; +InstrucToClearPass=Parolni conf.php faylida dekodlash (aniq) qilish uchun
    $ dolibarr_main_db_pass = "crypted: ..." qatorini almashtiring;
    tomonidan
    $ dolibarr_main_db_pass = "%s"; +ProtectAndEncryptPdfFiles=Yaratilgan PDF-fayllarni himoya qilish. Bu tavsiya etilmaydi, chunki u ommaviy ishlab chiqarishni buzadi. +ProtectAndEncryptPdfFilesDesc=PDF-hujjatni himoya qilish har qanday PDF-brauzerda o'qish va chop etish imkoniyatini beradi. Biroq, tahrirlash va nusxalash endi mumkin emas. Shuni esda tutingki, ushbu funktsiyadan foydalanish global birlashtirilgan PDF-fayllarni yaratishni yaroqsiz holga keltiradi. +Feature=Xususiyat +DolibarrLicense=Litsenziya +Developpers=Ishlab chiquvchilar / hissadorlar +OfficialWebSite=Dolibarr rasmiy veb-sayti +OfficialWebSiteLocal=Mahalliy veb-sayt (%s) +OfficialWiki=Dolibarr hujjatlari / Wiki +OfficialDemo=Dolibarr onlayn demo +OfficialMarketPlace=Tashqi modullar / qo'shimchalar uchun rasmiy bozor joyi +OfficialWebHostingService=Yuborilgan veb-xosting xizmatlari (Cloud hosting) +ReferencedPreferredPartners=Afzal sheriklar +OtherResources=Boshqa manbalar +ExternalResources=Tashqi manbalar +SocialNetworks=Ijtimoiy tarmoqlar +SocialNetworkId=Ijtimoiy tarmoq identifikatori +ForDocumentationSeeWiki=
    foydalanuvchi yoki ishlab chiquvchi hujjatlari uchun (Dolib, Savol-javoblar ...) Dolibarr Wiki-ga qarang:
    %s a0e40dc079cf87 +ForAnswersSeeForum=Boshqa savollar / yordam uchun siz Dolibarr forumidan foydalanishingiz mumkin:
    %s +HelpCenterDesc1=Dolibarr bilan yordam va yordam olish uchun ba'zi manbalar. +HelpCenterDesc2=Ushbu manbalardan ba'zilari faqat inglizcha da mavjud. +CurrentMenuHandler=Joriy menyu boshqaruvchisi +MeasuringUnit=O'lchov birligi +LeftMargin=Chap chekka +TopMargin=Yuqori marja +PaperSize=Qog'oz turi +Orientation=Yo'nalish SpaceX=Space X -SpaceY=Space Y -FontSize=Font size -Content=Content -NoticePeriod=Notice period -NewByMonth=New by month -Emails=Emails -EMailsSetup=Emails setup -EMailsDesc=This page allows you to set parameters or options for email sending. -EmailSenderProfiles=Emails sender profiles -EMailsSenderProfileDesc=You can keep this section empty. If you enter some emails here, they will be added to the list of possible senders into the combobox when your write a new email. -MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (default value in php.ini: %s) -MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (default value in php.ini: %s) -MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix-like systems) -MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix-like systems) -MAIN_MAIL_EMAIL_FROM=Sender email for automatic emails (default value in php.ini: %s) -MAIN_MAIL_ERRORS_TO=Email used for error returns emails (fields 'Errors-To' in emails sent) -MAIN_MAIL_AUTOCOPY_TO= Copy (Bcc) all sent emails to -MAIN_DISABLE_ALL_MAILS=Disable all email sending (for test purposes or demos) -MAIN_MAIL_FORCE_SENDTO=Send all emails to (instead of real recipients, for test purposes) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email -MAIN_MAIL_SENDMODE=Email sending method -MAIN_MAIL_SMTPS_ID=SMTP ID (if sending server requires authentication) -MAIN_MAIL_SMTPS_PW=SMTP Password (if sending server requires authentication) -MAIN_MAIL_EMAIL_TLS=Use TLS (SSL) encryption -MAIN_MAIL_EMAIL_STARTTLS=Use TLS (STARTTLS) encryption -MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés -MAIN_MAIL_EMAIL_DKIM_ENABLED=Use DKIM to generate email signature -MAIN_MAIL_EMAIL_DKIM_DOMAIN=Email Domain for use with dkim -MAIN_MAIL_EMAIL_DKIM_SELECTOR=Name of dkim selector -MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Private key for dkim signing -MAIN_DISABLE_ALL_SMS=Disable all SMS sending (for test purposes or demos) -MAIN_SMS_SENDMODE=Method to use to send SMS -MAIN_MAIL_SMS_FROM=Default sender phone number for SMS sending -MAIN_MAIL_DEFAULT_FROMTYPE=Default sender email for manual sending (User email or Company email) -UserEmail=User email -CompanyEmail=Company Email -FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. -FixOnTransifex=Fix the translation on the online translation platform of project -SubmitTranslation=If the translation for this language is not complete or you find errors, you can correct this by editing files in directory langs/%s and submit your change to www.transifex.com/dolibarr-association/dolibarr/ -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or, if you are a developer, with a PR on github.com/Dolibarr/dolibarr -ModuleSetup=Module setup -ModulesSetup=Modules/Application setup -ModuleFamilyBase=System -ModuleFamilyCrm=Customer Relationship Management (CRM) -ModuleFamilySrm=Vendor Relationship Management (VRM) -ModuleFamilyProducts=Product Management (PM) -ModuleFamilyHr=Human Resource Management (HR) -ModuleFamilyProjects=Projects/Collaborative work -ModuleFamilyOther=Other -ModuleFamilyTechnic=Multi-modules tools -ModuleFamilyExperimental=Experimental modules -ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) -ModuleFamilyECM=Electronic Content Management (ECM) -ModuleFamilyPortal=Websites and other frontal application -ModuleFamilyInterface=Interfaces with external systems -MenuHandlers=Menu handlers -MenuAdmin=Menu editor -DoNotUseInProduction=Do not use in production -ThisIsProcessToFollow=Upgrade procedure: -ThisIsAlternativeProcessToFollow=This is an alternative setup to process manually: -StepNb=Step %s -FindPackageFromWebSite=Find a package that provides the features you need (for example on the official web site %s). -DownloadPackageFromWebSite=Download package (for example from the official web site %s). -UnpackPackageInDolibarrRoot=Unpack/unzip the packaged files into your Dolibarr server directory: %s -UnpackPackageInModulesRoot=To deploy/install an external module, unpack/unzip the packaged files into the server directory dedicated to external modules:
    %s -SetupIsReadyForUse=Module deployment is finished. You must however enable and setup the module in your application by going to the page setup modules: %s. -NotExistsDirect=The alternative root directory is not defined to an existing directory.
    -InfDirAlt=Since version 3, it is possible to define an alternative root directory. This allows you to store, into a dedicated directory, plug-ins and custom templates.
    Just create a directory at the root of Dolibarr (eg: custom).
    -InfDirExample=
    Then declare it in the file conf.php
    $dolibarr_main_url_root_alt='/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    If these lines are commented with "#", to enable them, just uncomment by removing the "#" character. -YouCanSubmitFile=You can upload the .zip file of module package from here: -CurrentVersion=Dolibarr current version -CallUpdatePage=Browse to the page that updates the database structure and data: %s. -LastStableVersion=Latest stable version -LastActivationDate=Latest activation date -LastActivationAuthor=Latest activation author -LastActivationIP=Latest activation IP -UpdateServerOffline=Update server offline -WithCounter=Manage a counter -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    -GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    -GenericMaskCodes3=All other characters in the mask will remain intact.
    Spaces are not allowed.
    -GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    -GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany, with date 2007-01-31:
    -GenericMaskCodes4b=Example on third party created on 2007-03-01:
    -GenericMaskCodes4c=Example on product created on 2007-03-01:
    -GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
    {0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX
    IN{yy}{mm}-{0000}-{t} will give IN0701-0099-A if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI' -GenericNumRefModelDesc=Returns a customizable number according to a defined mask. -ServerAvailableOnIPOrPort=Server is available at address %s on port %s -ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s -DoTestServerAvailability=Test server connectivity -DoTestSend=Test sending -DoTestSendHTML=Test sending HTML -ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. -ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. -UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. -UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
    It must be the octal value (for example, 0666 means read and write for everyone).
    This parameter is useless on a Windows server. -SeeWikiForAllTeam=Take a look at the Wiki page for a list of contributors and their organization -UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) -DisableLinkToHelpCenter=Hide link "Need help or support" on login page -DisableLinkToHelp=Hide link to online help "%s" -AddCRIfTooLong=There is no automatic text wrapping, text that is too long will not display on documents. Please add carriage returns in the text area if needed. -ConfirmPurge=Are you sure you want to execute this purge?
    This will permanently delete all your data files with no way to restore them (ECM files, attached files...). -MinLength=Minimum length -LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory -LanguageFile=Language file -ExamplesWithCurrentSetup=Examples with current configuration -ListOfDirectories=List of OpenDocument templates directories -ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

    Files in those directories must end with .odt or .ods. -NumberOfModelFilesFound=Number of ODT/ODS template files found in these directories -ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\myapp\\mydocumentdir\\mysubdir
    /home/myapp/mydocumentdir/mysubdir
    DOL_DATA_ROOT/ecm/ecmdir -FollowingSubstitutionKeysCanBeUsed=
    To know how to create your odt document templates, before storing them in those directories, read wiki documentation: +SpaceY=Bo'shliq Y +FontSize=Shrift hajmi +Content=Tarkib +NoticePeriod=Bildirishnoma muddati +NewByMonth=Oyga yangi +Emails=Elektron pochta xabarlari +EMailsSetup=Elektron pochta xabarlarini sozlash +EMailsDesc=Ushbu sahifa sizga elektron pochta xabarlarini yuborish parametrlari yoki parametrlarini o'rnatishga imkon beradi. +EmailSenderProfiles=Elektron pochta xabarlarini yuboruvchi profillari +EMailsSenderProfileDesc=Siz ushbu bo'limni bo'sh qoldirishingiz mumkin. Agar siz bu erga ba'zi elektron pochta xabarlarini kiritsangiz, ular yangi elektron pochta xabarini yozganingizda, ularni qutilarga yuborish mumkin bo'lganlar ro'yxatiga qo'shiladi. +MAIN_MAIL_SMTP_PORT=SMTP / SMTPS porti (php.ini-da standart qiymat: %s ) +MAIN_MAIL_SMTP_SERVER=SMTP / SMTPS Host (php.ini-da standart qiymat: %s ) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP / SMTPS porti (Unix-ga o'xshash tizimlarda PHP-da aniqlanmagan) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP / SMTPS xosti (Unixga o'xshash tizimlarda PHP-da aniqlanmagan) +MAIN_MAIL_EMAIL_FROM=Avtomatik elektron pochta xabarlari uchun jo'natuvchi elektron pochtasi (php.ini-da standart qiymat: %s ) +MAIN_MAIL_ERRORS_TO=Xato uchun foydalanilgan elektron pochta xabarlarini qaytaradi (elektron pochtalarda "Xatolar" maydonlari) +MAIN_MAIL_AUTOCOPY_TO= Barcha elektron pochta xabarlarini nusxa ko'chiring (Bcc) +MAIN_DISABLE_ALL_MAILS=Barcha elektron pochta xabarlarini yuborishni o'chirib qo'ying (sinov maqsadida yoki namoyish uchun) +MAIN_MAIL_FORCE_SENDTO=Barcha elektron pochta xabarlarini yuboring (haqiqiy qabul qiluvchilar o'rniga, sinov maqsadida) +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Yangi elektron pochta xabarini yozishda oldindan aniqlangan qabul qiluvchilar ro'yxatiga xodimlarning elektron pochta xabarlarini (agar aniqlangan bo'lsa) taklif eting +MAIN_MAIL_SENDMODE=Elektron pochta xabarlarini yuborish usuli +MAIN_MAIL_SMTPS_ID=SMTP identifikatori (agar serverni yuborish autentifikatsiyani talab qilsa) +MAIN_MAIL_SMTPS_PW=SMTP paroli (agar serverni yuborish autentifikatsiyani talab qilsa) +MAIN_MAIL_EMAIL_TLS=TLS (SSL) shifrlashdan foydalaning +MAIN_MAIL_EMAIL_STARTTLS=TLS (STARTTLS) shifrlashdan foydalaning +MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Les sertifikatlariga avtomatik imzo qo'yishga ruxsat berish +MAIN_MAIL_EMAIL_DKIM_ENABLED=Elektron pochta imzosini yaratish uchun DKIM-dan foydalaning +MAIN_MAIL_EMAIL_DKIM_DOMAIN=Dkim bilan ishlatish uchun elektron pochta domeniga +MAIN_MAIL_EMAIL_DKIM_SELECTOR=Dkim selektorining nomi +MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Dkim imzosi uchun shaxsiy kalit +MAIN_DISABLE_ALL_SMS=Barcha SMS-xabarlarni yuborishni o'chirib qo'ying (sinov maqsadida yoki namoyish uchun) +MAIN_SMS_SENDMODE=SMS yuborishda foydalanish usuli +MAIN_MAIL_SMS_FROM=SMS yuborish uchun standart yuboruvchi telefon raqami +MAIN_MAIL_DEFAULT_FROMTYPE=Qo'lda yuborish uchun standart yuboruvchi elektron pochta xabarlari (foydalanuvchi elektron pochtasi yoki kompaniya elektron pochtasi) +UserEmail=Foydalanuvchi elektron pochtasi +CompanyEmail=Kompaniyaning elektron pochtasi +FeatureNotAvailableOnLinux=Xususiyat Unix tizimlarida mavjud emas. Sendmail dasturini mahalliy darajada sinab ko'ring. +FixOnTransifex=Tarjimani loyihaning onlayn tarjima platformasida tuzating +SubmitTranslation=Agar ushbu til uchun tarjima tugallanmagan bo'lsa yoki siz xatolarni topsangiz, buni langs / %s katalogidagi fayllarni tahrirlash orqali o'zgartirishingiz va o'zgartirishingizni www.transifex.com/dolibarr-association/dolibarr/ ga yuborishingiz mumkin. +SubmitTranslationENUS=Agar ushbu til uchun tarjima tugallanmagan bo'lsa yoki xatolarni topsangiz, uni fayllarni langs / %s katalogiga tahrirlash va o'zgartirilgan fayllarni dolibarr.org/forum saytiga yuborish yoki agar ishlab chiquvchi bo'lsangiz, github-da PR bilan tuzatish orqali tuzatishingiz mumkin. .com / Dolibarr / dolibarr +ModuleSetup=Modulni sozlash +ModulesSetup=Modullar / dasturni sozlash +ModuleFamilyBase=Tizim +ModuleFamilyCrm=Mijozlar bilan munosabatlarni boshqarish (CRM) +ModuleFamilySrm=Sotuvchilar bilan munosabatlarni boshqarish (VRM) +ModuleFamilyProducts=Mahsulotlarni boshqarish (PM) +ModuleFamilyHr=Inson resurslarini boshqarish (HR) +ModuleFamilyProjects=Loyihalar / Birgalikda ishlash +ModuleFamilyOther=Boshqalar +ModuleFamilyTechnic=Ko'p modulli vositalar +ModuleFamilyExperimental=Eksperimental modullar +ModuleFamilyFinancial=Moliyaviy modullar (Buxgalteriya / G'aznachilik) +ModuleFamilyECM=Elektron tarkibni boshqarish (ECM) +ModuleFamilyPortal=Veb-saytlar va boshqa frontal dastur +ModuleFamilyInterface=Tashqi tizimlar bilan interfeyslar +MenuHandlers=Menyu ishlovchilari +MenuAdmin=Menyu muharriri +DoNotUseInProduction=Ishlab chiqarishda foydalanmang +ThisIsProcessToFollow=Yangilash tartibi: +ThisIsAlternativeProcessToFollow=Bu qo'lda ishlov berish uchun muqobil o'rnatish: +StepNb=%s qadam +FindPackageFromWebSite=Sizga kerakli xususiyatlarni taqdim etadigan paketni toping (masalan, rasmiy veb-sayt %s). +DownloadPackageFromWebSite=To'plamni yuklab oling (masalan, rasmiy veb-sayt %s dan). +UnpackPackageInDolibarrRoot=Paketlangan fayllarni Dolibarr server katalogiga oching / oching: %s +UnpackPackageInModulesRoot=Tashqi modulni joylashtirish / o'rnatish uchun paketlangan fayllarni tashqi modullarga bag'ishlangan server katalogiga oching / oching:
    %s +SetupIsReadyForUse=Modulni joylashtirish tugallandi. Biroq, sahifani o'rnatish modullariga o'tib, sizning ilovangizdagi modulni yoqishingiz va sozlashingiz kerak: %s . +NotExistsDirect=Mavjud katalog uchun muqobil ildiz katalogi aniqlanmagan.
    +InfDirAlt=3-versiyadan boshlab muqobil ildiz katalogini aniqlash mumkin. Bu sizga maxsus katalog, plaginlar va maxsus andozalarni saqlashga imkon beradi.
    Faqat Dolibarrning ildizida katalog yarating (masalan: maxsus).
    +InfDirExample=
    keyin fayl conf.php
    $ dolibarr_main_url_root_alt = '/ odatlarning "
    $ dolibarr_main_document_root_alt =' / path / / Dolibarr / htdocs / odatlarning" ushbu satrlarni "#" bilan izohladi bo'lsa
    , ularni ta'minlash uchun uni e'lon , faqat "#" belgisini olib tashlab, izoh qoldirmang. +YouCanSubmitFile=Siz modul paketining .zip faylini shu yerdan yuklashingiz mumkin: +CurrentVersion=Dolibarrning joriy versiyasi +CallUpdatePage=Ma'lumotlar bazasi tuzilishi va ma'lumotlarini yangilaydigan sahifani ko'rib chiqing: %s. +LastStableVersion=Oxirgi barqaror versiya +LastActivationDate=So'nggi faollashtirilgan sana +LastActivationAuthor=Eng so'nggi faollashtirish muallifi +LastActivationIP=So'nggi faollashtirilgan IP +UpdateServerOffline=Serverni oflayn rejimda yangilang +WithCounter=Hisoblagichni boshqarish +GenericMaskCodes=Siz istalgan raqamlash maskasini kiritishingiz mumkin. Ushbu niqobda quyidagi teglardan foydalanish mumkin:
    {000000} har bir %s bo'yicha ko'paytiriladigan raqamga mos keladi. Hisoblagichning istalgan uzunligidagi nollarni kiriting. Niqob kabi shuncha nolga ega bo'lish uchun hisoblagich chap tomondan nollar bilan to'ldiriladi.
    {000000 + 000} oldingi bilan bir xil, lekin + belgisining o'ng tomonidagi raqamga mos keladigan ofset birinchi %s dan boshlab qo'llaniladi.
    {000000 @ x} oldingisiga o'xshash, ammo x oyiga yetganda hisoblagich nolga o'rnatiladi (x 1 dan 12 gacha yoki 0 sizning konfiguratsiyangizda aniqlangan moliya yilining dastlabki oylaridan foydalanish uchun, yoki 99 dan har oy nolga qaytarish). Agar ushbu parametr ishlatilsa va x 2 yoki undan yuqori bo'lsa, unda {yy} {mm} yoki {yyyy} {mm} ketma-ketligi ham talab qilinadi.
    {dd} kun (01 dan 31 gacha).
    {mm} oy (01 dan 12 gacha).
    {yy} , {yyyy} yoki {y} af90, y0 a79
    +GenericMaskCodes2= {cccc} n kodidagi mijoz kodi
    {cccc000} a09a4b8 client Xaridorga bag'ishlangan ushbu hisoblagich global hisoblagich bilan bir vaqtning o'zida tiklanadi.
    {tttt} n belgidagi uchinchi tomon kodining kodi (Uy - O'rnatish - Lug'at - Uchinchi tomon turlari menyusiga qarang). Agar siz ushbu yorliqni qo'shsangiz, hisoblagich har bir uchinchi tomon turi uchun farq qiladi.
    +GenericMaskCodes3=Maskadagi barcha boshqa belgilar buzilmasdan qoladi.
    bo'sh joylarga ruxsat berilmaydi.
    +GenericMaskCodes3EAN=Maskadagi barcha boshqa belgilar buzilmasdan qoladi (* yoki "EAN13" ning 13-pozitsiyasidan tashqari).
    bo'sh joylarga ruxsat berilmaydi.
    EAN13 da 13-o'rinda oxirgi} dan keyin oxirgi belgi * yoki bo'lishi kerak? . U hisoblangan kalit bilan almashtiriladi.
    +GenericMaskCodes4a= uchinchi tomon TheCompany kompaniyasining 99-chi %s-dagi misoli, 2007-01-31 sanasi bilan:
    +GenericMaskCodes4b= 2007-03-01 da yaratilgan uchinchi tomonga misol:
    +GenericMaskCodes4c= 2007-03-01 da yaratilgan mahsulotga misol:
    +GenericMaskCodes5= ABC {asr} {mm} - {000000} beraman ABC0701-000099
    {0000 + 100 @ 1} -ZZZ / {dd} / XXX beraman 0199-ZZZ / 31 / XXX
    IN {yy} {mm} - {0000} - {t} IN0701-0099-A beradi, agar kompaniyaning turi "javobli Inscripto 'bilan bo'lsa' +GenericNumRefModelDesc=Belgilangan niqobga ko'ra moslashtirilgan raqamni qaytaradi. +ServerAvailableOnIPOrPort=Server %s manzilida %s +ServerNotAvailableOnIPOrPort=Server %s manzilida %s manzilida mavjud emas +DoTestServerAvailability=Server ulanishini sinab ko'ring +DoTestSend=Sinov yuborish +DoTestSendHTML=HTML yuborish uchun sinov +ErrorCantUseRazIfNoYearInMask=Xatolik, har yili {yy} yoki {yyyy} ketma-ketligi niqobda bo'lmasa, hisoblagichni tiklash uchun @ parametridan foydalanib bo'lmaydi. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Xato, agar {yy} {mm} yoki {yyyy} {mm} ketma-ketligi niqobda bo'lmasa @ parametridan foydalanib bo'lmaydi. +UMask=Unix / Linux / BSD / Mac fayl tizimidagi yangi fayllar uchun UMask parametri. +UMaskExplanation=Ushbu parametr serverda Dolibarr tomonidan yaratilgan fayllarda sukut bo'yicha o'rnatilgan ruxsatlarni aniqlashga imkon beradi (masalan, yuklash paytida).
    Bu sakkizli qiymat bo'lishi kerak (masalan, 0666 hamma uchun o'qish va yozishni anglatadi).
    Windows serverida ushbu parametr foydasiz. +SeeWikiForAllTeam=Hissadorlar va ularning tashkilotlari ro'yxatini olish uchun Wiki sahifasini ko'rib chiqing +UseACacheDelay= Bir necha soniya ichida eksportga javobni keshlash uchun kechikish (0 yoki bo'sh joy uchun bo'sh) +DisableLinkToHelpCenter=Kirish sahifasida " yordamga muhtoj yoki " havolasini yashirish. +DisableLinkToHelp=Onlayn yordam uchun havolani yashirish " %s " +AddCRIfTooLong=Matnni avtomatik o'rash mavjud emas, juda uzun bo'lgan matn hujjatlarda ko'rinmaydi. Iltimos, agar kerak bo'lsa, matn maydoniga karetka qaytishini qo'shing. +ConfirmPurge=Ushbu tozalashni amalga oshirishni xohlaysizmi?
    bu sizning barcha ma'lumotlar fayllaringizni qayta tiklashning imkoni bo'lmagan holda butunlay yo'q qiladi (ECM fayllari, biriktirilgan fayllar ...). +MinLength=Minimal uzunlik +LanguageFilesCachedIntoShmopSharedMemory=Fayllar .lang umumiy xotiraga yuklandi +LanguageFile=Til fayli +ExamplesWithCurrentSetup=Joriy konfiguratsiyaga misollar +ListOfDirectories=OpenDocument shablonlari kataloglari ro'yxati +ListOfDirectoriesForModelGenODT=OpenDocument formatidagi shablon fayllarini o'z ichiga olgan kataloglar ro'yxati.

    kataloglarning to'liq yo'lini qo'ying.
    eah katalogi orasida karetka qaytishini qo'shing.
    GED moduli katalogini qo'shish uchun bu erga DOL_DATA_ROOT / ecm / yourdirectoryname qo'shing.

    Ushbu kataloglardagi fayllar .odt yoki .ods bilan tugashi kerak. +NumberOfModelFilesFound=Ushbu kataloglarda topilgan ODT / ODS shablon fayllari soni +ExampleOfDirectoriesForModelGen=Sintaksis namunalari:
    c: \\ myapp \\ mydocumentdir \\ mysubdir
    / home / myapp / mydocumentdir / mysubdir
    DOL_DATA_ROOT / ecm / ecmdir +FollowingSubstitutionKeysCanBeUsed=
    Odt hujjat shablonlarini qanday yaratishni bilish uchun ularni o'sha kataloglarda saqlashdan oldin wiki hujjatlarini o'qing: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template -FirstnameNamePosition=Position of Name/Lastname -DescWeather=The following images will be shown on the dashboard when the number of late actions reach the following values: -KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices) -TestSubmitForm=Input test form -ThisForceAlsoTheme=Using this menu manager will also use its own theme whatever the user choice. Also this menu manager specialized for smartphones does not work on all smartphone. Use another menu manager if you experience problems with yours. -ThemeDir=Skins directory -ConnectionTimeout=Connection timeout -ResponseTimeout=Response timeout -SmsTestMessage=Test message from __PHONEFROM__ to __PHONETO__ -ModuleMustBeEnabledFirst=Module %s must be enabled first if you need this feature. -SecurityToken=Key to secure URLs -NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s +FirstnameNamePosition=Ism / familiyaning joylashuvi +DescWeather=Kechiktirilgan harakatlar soni quyidagi qiymatlarga yetganda quyidagi rasmlar panelida ko'rsatiladi: +KeyForWebServicesAccess=Veb-xizmatlardan foydalanish kaliti (veb-xizmatlarda "dolibarrkey" parametri) +TestSubmitForm=Kirish test shakli +ThisForceAlsoTheme=Ushbu menyu menejeridan foydalanish, shuningdek, foydalanuvchi o'zi xohlagan mavzudan foydalanadi. Smartfonlarga ixtisoslashgan ushbu menyu menejeri barcha smartfonlarda ishlamaydi. Agar sizda muammolar yuzaga kelsa, boshqa menyu menejeridan foydalaning. +ThemeDir=Terilar katalogi +ConnectionTimeout=Ulanish vaqti tugadi +ResponseTimeout=Javob tugashi +SmsTestMessage=__PHONEFROM__ dan __PHONETO__ gacha bo'lgan sinov xabarlari +ModuleMustBeEnabledFirst=Agar sizga ushbu xususiyat kerak bo'lsa, avvalo %s moduli yoqilishi kerak. +SecurityToken=Xavfsiz URL manzillari uchun kalit +NoSmsEngine=SMS yuboruvchi menejeri mavjud emas. SMS yuboruvchisi menejeri standart tarqatish bilan o'rnatilmagan, chunki ular tashqi sotuvchiga bog'liq, ammo siz ularni %s da topishingiz mumkin. PDF=PDF -PDFDesc=Global options for PDF generation -PDFAddressForging=Rules for address section -HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT -PDFRulesForSalesTax=Rules for Sales Tax / VAT -PDFLocaltax=Rules for %s -HideLocalTaxOnPDF=Hide %s rate in column Sale Tax / VAT -HideDescOnPDF=Hide products description -HideRefOnPDF=Hide products ref. -HideDetailsOnPDF=Hide product lines details -PlaceCustomerAddressToIsoLocation=Use french standard position (La Poste) for customer address position -Library=Library -UrlGenerationParameters=Parameters to secure URLs -SecurityTokenIsUnique=Use a unique securekey parameter for each URL -EnterRefToBuildUrl=Enter reference for object %s -GetSecuredUrl=Get calculated URL -ButtonHideUnauthorized=Hide unauthorized action buttons also for internal users (just greyed otherwise) -OldVATRates=Old VAT rate -NewVATRates=New VAT rate -PriceBaseTypeToChange=Modify on prices with base reference value defined on -MassConvert=Launch bulk conversion -PriceFormatInCurrentLanguage=Price Format In Current Language -String=String -String1Line=String (1 line) -TextLong=Long text -TextLongNLines=Long text (n lines) -HtmlText=Html text -Int=Integer +PDFDesc=PDF yaratish uchun global imkoniyatlar +PDFOtherDesc=Ba'zi bir modullarga xos bo'lgan PDF-variant +PDFAddressForging=Manzil bo'limi qoidalari +HideAnyVATInformationOnPDF=Savdo solig'i / QQS bilan bog'liq barcha ma'lumotlarni yashirish +PDFRulesForSalesTax=Savdo solig'i / QQS bo'yicha qoidalar +PDFLocaltax=%s uchun qoidalar +HideLocalTaxOnPDF=%s stavkasini sotish bo'yicha soliq / QQS ustunida yashiring +HideDescOnPDF=Mahsulotlar tavsifini yashirish +HideRefOnPDF=Mahsulotlarni yashirish ref. +HideDetailsOnPDF=Mahsulot liniyalari tafsilotlarini yashirish +PlaceCustomerAddressToIsoLocation=Mijozning manzili uchun frantsuz standart pozitsiyasidan (La Poste) foydalaning +Library=Kutubxona +UrlGenerationParameters=URL manzillarini himoyalash parametrlari +SecurityTokenIsUnique=Har bir URL uchun noyob securekey parametridan foydalaning +EnterRefToBuildUrl=%s ob'ekti uchun ma'lumotnomani kiriting +GetSecuredUrl=Hisoblangan URLni oling +ButtonHideUnauthorized=Ichki foydalanuvchilar uchun ham ruxsatsiz harakat tugmachalarini yashirish (aks holda och rangda) +OldVATRates=Eski QQS stavkasi +NewVATRates=QQSning yangi stavkasi +PriceBaseTypeToChange=Belgilangan asosiy mos yozuvlar qiymati bilan narxlarni o'zgartiring +MassConvert=Ommaviy konversiyani ishga tushiring +PriceFormatInCurrentLanguage=Joriy tilda narxlar formati +String=Ip +String1Line=Ip (1 qator) +TextLong=Uzoq matn +TextLongNLines=Uzoq matn (n satr) +HtmlText=HTML matni +Int=Butun son Float=Float -DateAndTime=Date and hour -Unique=Unique -Boolean=Boolean (one checkbox) -ExtrafieldPhone = Phone -ExtrafieldPrice = Price -ExtrafieldMail = Email +DateAndTime=Sana va soat +Unique=Noyob +Boolean=Mantiqiy (bitta katakcha) +ExtrafieldPhone = Telefon +ExtrafieldPrice = Narx +ExtrafieldMail = Elektron pochta ExtrafieldUrl = Url -ExtrafieldSelect = Select list -ExtrafieldSelectList = Select from table -ExtrafieldSeparator=Separator (not a field) -ExtrafieldPassword=Password -ExtrafieldRadio=Radio buttons (one choice only) -ExtrafieldCheckBox=Checkboxes -ExtrafieldCheckBoxFromList=Checkboxes from table -ExtrafieldLink=Link to an object -ComputedFormula=Computed field -ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
    WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
    Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

    Example of formula:
    $object->id < 10 ? round($object->id / 2, 2): ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)

    Example to reload object
    (($reloadedobj = new Societe($db)) && ($reloadedobj->fetchNoCompute($obj->id ? $obj->id: ($obj->rowid ? $obj->rowid: $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5: '-1'

    Other example of formula to force load of object and its parent object:
    (($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' -Computedpersistent=Store computed field -ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! -ExtrafieldParamHelpPassword=Leaving this field blank means this value will be stored without encryption (field must be only hidden with star on screen).
    Set 'auto' to use the default encryption rule to save password into database (then value read will be the hash only, no way to retrieve original value) -ExtrafieldParamHelpselect=List of values must be lines with format key,value (where key can't be '0')

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

    In order to have the list depending on another complementary attribute list:
    1,value1|options_parent_list_code:parent_key
    2,value2|options_parent_list_code:parent_key

    In order to have the list depending on another list:
    1,value1|parent_list_code:parent_key
    2,value2|parent_list_code:parent_key -ExtrafieldParamHelpcheckbox=List of values must be lines with format key,value (where key can't be '0')

    for example:
    1,value1
    2,value2
    3,value3
    ... -ExtrafieldParamHelpradio=List of values must be lines with format key,value (where key can't be '0')

    for example:
    1,value1
    2,value2
    3,value3
    ... -ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
    Syntax: ObjectName:Classpath -ExtrafieldParamHelpSeparator=Keep empty for a simple separator
    Set this to 1 for a collapsing separator (open by default for new session, then status is kept for each user session)
    Set this to 2 for a collapsing separator (collapsed by default for new session, then status is kept fore each user session) -LibraryToBuildPDF=Library used for PDF generation -LocalTaxDesc=Some countries may apply two or three taxes on each invoice line. If this is the case, choose the type for the second and third tax and its rate. Possible type are:
    1: local tax apply on products and services without vat (localtax is calculated on amount without tax)
    2: local tax apply on products and services including vat (localtax is calculated on amount + main tax)
    3: local tax apply on products without vat (localtax is calculated on amount without tax)
    4: local tax apply on products including vat (localtax is calculated on amount + main vat)
    5: local tax apply on services without vat (localtax is calculated on amount without tax)
    6: local tax apply on services including vat (localtax is calculated on amount + tax) +ExtrafieldSelect = Ro'yxatni tanlang +ExtrafieldSelectList = Jadvaldan tanlang +ExtrafieldSeparator=Ajratuvchi (maydon emas) +ExtrafieldPassword=Parol +ExtrafieldRadio=Radio tugmalari (faqat bitta tanlov) +ExtrafieldCheckBox=Belgilash katakchalari +ExtrafieldCheckBoxFromList=Jadvaldagi katakchalar +ExtrafieldLink=Ob'ektga havola +ComputedFormula=Hisoblangan maydon +ComputedFormulaDesc=Siz bu erda ob'ektning boshqa xususiyatlaridan foydalangan holda formulani yoki har qanday PHP kodlashni dinamik hisoblash qiymatini olish uchun kiritishingiz mumkin. Siz har qanday PHP-ga mos formulalardan foydalanishingiz mumkin, "?" shart operatori va quyidagi global ob'ekt: $ db, $ conf, $ langs, $ mysoc, $ user, $ object .
    OGOHLANTIRISH : $ ob'ektining faqat ba'zi xususiyatlari mavjud bo'lishi mumkin. Agar sizga yuklanmagan xususiyatlar kerak bo'lsa, faqat ikkinchi misolda bo'lgani kabi o'zingizning formulangizga o'zingizning ob'ektingizni kiriting.
    Hisoblangan maydondan foydalanish o'zingizga interfeysdan hech qanday qiymat kiritib bo'lmasligingizni anglatadi. Bundan tashqari, agar sintaksis xatosi bo'lsa, formuladan hech narsa qaytmasligi mumkin.

    Formulaga misol:
    $ object-> id < 10 ? round($object-> id / 2, 2): ($ object-> id + 2 * $ user-> id) * (int) substr ($ mysoc-> zip, 1,

    Ob'ektni qayta yuklash uchun misol
    (($ reloadedobj = new Societe ($ db))) && ($ reloadedobj-> fetchNoCompute ($ obj-> id? $ obj-> id: $ obj > rowid: $ object-> id))> 0))? $ reloadedobj-> array_options ['options_extrafieldkey'] * $ reloadedobj-> capital / 5: '-1'

    Ob'ektni va uning asosiy ob'ektini majburlash uchun boshqa formulaga misol:
    (($ Task yangi = )) && ($ reloadedobj-> fetchNoCompute ($ object-> id)> 0) && ($ secondloadedobj = new Project ($ db)) && ($ secondloadedobj-> fetchNoCompute ($ reloadedobj-> fk_project)> 0))? $ secondloadedobj-> ref: 'Asosiy loyiha topilmadi' +Computedpersistent=Hisoblangan maydonni saqlash +ComputedpersistentDesc=Hisoblangan qo'shimcha maydonlar ma'lumotlar bazasida saqlanadi, ammo qiymat faqat ushbu maydon ob'ekti o'zgartirilganda qayta hisoblanadi. Agar hisoblangan maydon boshqa ob'ektlarga yoki global ma'lumotlarga bog'liq bo'lsa, bu qiymat noto'g'ri bo'lishi mumkin !! +ExtrafieldParamHelpPassword=Ushbu maydonni bo'sh qoldirish bu qiymat shifrlashsiz saqlanishini anglatadi (maydon faqat ekrandagi yulduz bilan yashirilgan bo'lishi kerak).
    parolni ma'lumotlar bazasiga saqlash uchun standart shifrlash qoidasidan foydalanish uchun "avtomatik" ni o'rnating (u holda o'qilgan qiymat faqat xash bo'ladi, asl qiymatini olishning imkoni yo'q) +ExtrafieldParamHelpselect=Qadriyatlar ro'yxati format bo'lishi kerak, bu erda kalit '0' bo'lishi mumkin emas
    masalan:
    2, value2
    boshqa to'ldiruvchi xususiyati ro'yxatida qarab ro'yxati:
    1, VALUE1 | options_ parent_list_code : parent_key
    2, değer2 | options_ parent_list_code : maqsadida parent_key

    boshqa ro'yxatiga qarab ro'yxatini ega bo'lishi:
    1, VALUE1 | parent_list_code : parent_key
    2, value2 | parent_list_code : parent_key +ExtrafieldParamHelpcheckbox=Qadriyatlar ro'yxati format kaliti bo'lgan satrlardan iborat bo'lishi kerak, (agar bu erda '0' bo'lishi mumkin emas)

    masalan:
    1, value1
    2, value2
    3 ,03f03f +ExtrafieldParamHelpradio=Qadriyatlar ro'yxati format kaliti bo'lgan satrlardan iborat bo'lishi kerak, (agar bu erda '0' bo'lishi mumkin emas)

    masalan:
    1, value1
    2, value2
    3 ,03f03f +ExtrafieldParamHelpsellist=Qadriyatlar ro'yxati
    jadvalidan kelib chiqadi Sintaksis: table_name: label_field: id_field :: filtersql
    Masalan: c_typent: libelle: id :: filtersql

    aqqf - 194
    faol qiymatini ko'rsatish uchun oddiy sinov bo'lishi mumkin (masalan, faol = 1) Siz shuningdek, joriy ob'ekt
    ning joriy identifikatori bo'lgan filtrda $ ID $ dan foydalanishingiz mumkin, SELECTni filtrga ishlatish uchun $ SEL $ kalit so'zidan foydalaning in'ektsiyaga qarshi himoya qilishni chetlab o'tish.
    , agar siz ekstra maydonlarda filtrlashni xohlasangiz, sintaksisidan foydalaning extra.fieldcode = ... (bu erda maydon kodi ekstrafildagi koddir)

    Boshqa qo'shimcha xususiyatlar ro'yxatiga qarab ro'yxatga ega bo'lish uchun:
    cty: parent_list_code | parent_column: filter

    Boshqa ro'yxatga qarab ro'yxatga ega bo'lish uchun:
    c_typent: libelle: parent0 :000800_0_0_0_0_n_06_b_n_06 +ExtrafieldParamHelpchkbxlst=Qadriyatlar ro'yxati
    jadvalidan olingan Sintaksis: table_name: label_field: id_field :: filtersql
    Misol: c_typent: libelle: id :: filtersql

    filter faqat oddiy bo'lishi mumkin jodugarda $ ID $ ni ishlatishi mumkin, bu joriy ob'ektning identifikatori
    Filtrda SELECT qilish uchun $ SEL $
    dan foydalaning, agar ekstra maydonlarda filtrlashni xohlasangiz, sintaksisidan foydalaning. extra.fieldcode = ... (bu erda maydon kodi extrafield kodi)

    boshqa to'ldiruvchi xususiyati ro'yxatida qarab ro'yxatini bo'lishi uchun:
    c_typent: libelle: id: options_ parent_list_code | parent_column: filtri

    boshqa ro'yxatiga qarab ro'yxatini ega bo'lish uchun:
    c_typent: libelle: id: parent_list_code | parent_column: filter +ExtrafieldParamHelplink=Parametrlar ObjectName: Classpath
    sintaksis: ObjectName: Classpath bo'lishi kerak +ExtrafieldParamHelpSeparator=
    oddiy ajratuvchisi uchun bo'sh joyni saqlang holat har bir foydalanuvchi seansida saqlanadi) +LibraryToBuildPDF=PDF yaratish uchun foydalaniladigan kutubxona +LocalTaxDesc=Ba'zi mamlakatlar har bir faktura satrida ikki yoki uchta soliqni qo'llashlari mumkin. Agar shunday bo'lsa, ikkinchi va uchinchi soliq turini va uning stavkasini tanlang. Mumkin bo'lgan turlari:
    1: Mahsulotlar va xizmatlarga mahalliy soliq QQSsiz qo'llaniladi (mahalliy soliq soliqsiz miqdorda hisoblab chiqiladi)
    2: Mahsulotlar va xizmatlarga mahalliy soliq, shu jumladan QQS (localtax summa + asosiy soliq bo'yicha hisoblanadi)
    3: Mahalliy soliq QQSsiz mahsulotlarga qo'llaniladi (localtax soliqsiz miqdor bo'yicha hisoblanadi)
    4: mahalliy soliq, shu jumladan, QQS bo'lgan mahsulotlarga qo'llaniladi (localtax summa + asosiy so'm bo'yicha hisoblanadi)
    5: QQSsiz xizmatlarga mahalliy soliq (localtax hisoblanadi
    6: QQS, shu jumladan xizmatlarga mahalliy soliq qo'llaniladi (mahalliy soliq soliq + soliq bo'yicha hisoblanadi) SMS=SMS -LinkToTestClickToDial=Enter a phone number to call to show a link to test the ClickToDial url for user %s -RefreshPhoneLink=Refresh link -LinkToTest=Clickable link generated for user %s (click phone number to test) -KeepEmptyToUseDefault=Keep empty to use default value -KeepThisEmptyInMostCases=In most cases, you can keep this field empy. -DefaultLink=Default link -SetAsDefault=Set as default -ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) -ExternalModule=External module -InstalledInto=Installed into directory %s -BarcodeInitForThirdparties=Mass barcode init for third-parties -BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +LinkToTestClickToDial= %s foydalanuvchisi uchun ClickToDial urlini sinab ko'rish uchun havolani ko'rsatish uchun qo'ng'iroq qilish uchun telefon raqamini kiriting. +RefreshPhoneLink=Havolani yangilang +LinkToTest= %s foydalanuvchisi uchun yaratilgan bosish havolasi (sinov uchun telefon raqamini bosing) +KeepEmptyToUseDefault=Standart qiymatdan foydalanish uchun bo'sh joyni saqlang +KeepThisEmptyInMostCases=Ko'pgina hollarda, siz ushbu maydonni empiyani saqlashingiz mumkin. +DefaultLink=Standart havola +SetAsDefault=Odatiy sifatida o'rnating +ValueOverwrittenByUserSetup=Diqqat, ushbu qiymat foydalanuvchi tomonidan o'rnatilishi bilan yozilishi mumkin (har bir foydalanuvchi o'z klikktodial urlini o'rnatishi mumkin) +ExternalModule=Tashqi modul +InstalledInto=%s katalogiga o'rnatilgan +BarcodeInitForThirdparties=Uchinchi tomonlar uchun ommaviy shtrix-kod +BarcodeInitForProductsOrServices=Mahsulotlar yoki xizmatlar uchun ommaviy shtrix kodni qayta tiklash yoki tiklash CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. -InitEmptyBarCode=Init value for next %s empty records -EraseAllCurrentBarCode=Erase all current barcode values -ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values? -AllBarcodeReset=All barcode values have been removed -NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled in the Barcode module setup. -EnableFileCache=Enable file cache -ShowDetailsInPDFPageFoot=Add more details into footer, such as company address or manager names (in addition to professional ids, company capital and VAT number). -NoDetails=No additional details in footer -DisplayCompanyInfo=Display company address -DisplayCompanyManagers=Display manager names -DisplayCompanyInfoAndManagers=Display company address and manager names -EnableAndSetupModuleCron=If you want to have this recurring invoice generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template using the *Create* button. Note that even if you enabled automatic generation, you can still safely launch manual generation. Generation of duplicates for the same period is not possible. -ModuleCompanyCodeCustomerAquarium=%s followed by customer code for a customer accounting code -ModuleCompanyCodeSupplierAquarium=%s followed by vendor code for a vendor accounting code -ModuleCompanyCodePanicum=Return an empty accounting code. -ModuleCompanyCodeDigitaria=Returns a compound accounting code according to the name of the third party. The code consists of a prefix that can be defined in the first position followed by the number of characters defined in the third party code. -ModuleCompanyCodeCustomerDigitaria=%s followed by the truncated customer name by the number of characters: %s for the customer accounting code. -ModuleCompanyCodeSupplierDigitaria=%s followed by the truncated supplier name by the number of characters: %s for the supplier accounting code. -Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to create and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce a third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1=validation, 2=first approval and 3=second approval if amount is enough).
    Set this to empty if one approval (2 steps) is enough, set it to a very low value (0.1) if a second approval (3 steps) is always required. -UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than... -WarningPHPMail=WARNING: The setup to send emails from the application is using the default generic setup. It is often better to setup outgoing emails to use the email server of your Email Service Provider instead of the default setup for several reasons: -WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM -WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). -WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. -WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. -WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. -WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. -ClickToShowDescription=Click to show description -DependsOn=This module needs the module(s) -RequiredBy=This module is required by module(s) -TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. Technical knowledge is required to read the content of the HTML page to get the key name of a field. -PageUrlForDefaultValues=You must enter the relative path of the page URL. If you include parameters in URL, the default values will be effective if all parameters are set to same value. -PageUrlForDefaultValuesCreate=
    Example:
    For the form to create a new third party, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/", so use path like mymodule/mypage.php and not custom/mymodule/mypage.php.
    If you want default value only if url has some parameter, you can use %s -PageUrlForDefaultValuesList=
    Example:
    For the page that lists third parties, it is %s.
    For URL of external modules installed into custom directory, do not include the "custom/" so use a path like mymodule/mypagelist.php and not custom/mymodule/mypagelist.php.
    If you want default value only if url has some parameter, you can use %s -AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) -EnableDefaultValues=Enable customization of default values -EnableOverwriteTranslation=Enable usage of overwritten translation -GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code. To change this value, you must edit it from Home-Setup-translation. -WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior. -Field=Field -ProductDocumentTemplates=Document templates to generate product document -FreeLegalTextOnExpenseReports=Free legal text on expense reports -WatermarkOnDraftExpenseReports=Watermark on draft expense reports -AttachMainDocByDefault=Set this to 1 if you want to attach main document to email by default (if applicable) -FilesAttachedToEmail=Attach file -SendEmailsReminders=Send agenda reminders by emails -davDescription=Setup a WebDAV server -DAVSetup=Setup of module DAV -DAV_ALLOW_PRIVATE_DIR=Enable the generic private directory (WebDAV dedicated directory named "private" - login required) -DAV_ALLOW_PRIVATE_DIRTooltip=The generic private directory is a WebDAV directory anybody can access with its application login/pass. -DAV_ALLOW_PUBLIC_DIR=Enable the generic public directory (WebDAV dedicated directory named "public" - no login required) -DAV_ALLOW_PUBLIC_DIRTooltip=The generic public directory is a WebDAV directory anybody can access (in read and write mode), with no authorization required (login/password account). -DAV_ALLOW_ECM_DIR=Enable the DMS/ECM private directory (root directory of the DMS/ECM module - login required) -DAV_ALLOW_ECM_DIRTooltip=The root directory where all files are manually uploaded when using the DMS/ECM module. Similarly as access from the web interface, you will need a valid login/password with adecuate permissions to access it. +InitEmptyBarCode=Keyingi %s bo'sh yozuvlar uchun boshlang'ich qiymati +EraseAllCurrentBarCode=Barcha joriy shtrix qiymatlarini o'chirib tashlang +ConfirmEraseAllCurrentBarCode=Haqiqatan ham barcha shtrix kod qiymatlarini o'chirishni xohlaysizmi? +AllBarcodeReset=Barcha shtrix qiymatlari o'chirildi +NoBarcodeNumberingTemplateDefined=Shtrixli modulni o'rnatishda shtrix-shablonni raqamlash imkoniyati yoqilmagan. +EnableFileCache=Fayl keshini yoqish +ShowDetailsInPDFPageFoot=Korxona manzili yoki menejer nomi (masalan, professional identifikatorlar, kompaniya kapitali va QQS raqamidan tashqari) kabi altbilgiga qo'shimcha ma'lumotlarni qo'shing. +NoDetails=Taglavhada qo'shimcha ma'lumot yo'q +DisplayCompanyInfo=Kompaniyaning manzilini ko'rsatish +DisplayCompanyManagers=Displey menejeri nomlari +DisplayCompanyInfoAndManagers=Kompaniya manzili va menejer nomlarini ko'rsatish +EnableAndSetupModuleCron=Agar siz ushbu takrorlanadigan hisob-fakturani avtomatik ravishda yaratishni istasangiz, * %s * moduli yoqilgan va to'g'ri sozlanishi kerak. Aks holda, hisob-fakturalarni yaratish * Yaratish * tugmasi yordamida ushbu shablondan qo'lda bajarilishi kerak. Shuni esda tutingki, siz avtomatik ishlab chiqarishni yoqsangiz ham, siz qo'lda ishlab chiqarishni xavfsiz ravishda boshlashingiz mumkin. Xuddi shu davr uchun nusxalarini yaratish mumkin emas. +ModuleCompanyCodeCustomerAquarium=%s va undan keyin mijozning buxgalteriya kodi uchun mijoz kodi +ModuleCompanyCodeSupplierAquarium=%s va undan keyin sotuvchining buxgalteriya kodi uchun sotuvchi kodi +ModuleCompanyCodePanicum=Bo'sh buxgalteriya kodini qaytaring. +ModuleCompanyCodeDigitaria=Uchinchi shaxsning nomiga ko'ra murakkab buxgalteriya kodini qaytaradi. Kod birinchi pozitsiyada aniqlanishi mumkin bo'lgan prefiksdan, keyin uchinchi tomon kodida belgilangan belgilar sonidan iborat. +ModuleCompanyCodeCustomerDigitaria=%s, keyin qisqartirilgan mijoz nomi, belgilar soni bo'yicha: %s, mijozning buxgalteriya kodi uchun. +ModuleCompanyCodeSupplierDigitaria=%s, keyin esa etkazib beruvchining qisqartirilgan nomi, belgilar soni bo'yicha: etkazib beruvchining buxgalteriya kodi uchun %s. +Use3StepsApproval=Odatiy bo'lib, Sotib olish to'g'risida buyurtmalarni 2 xil foydalanuvchi yaratishi va tasdiqlashi kerak (bitta qadam / foydalanuvchi yaratishi va bitta qadam / foydalanuvchi tasdiqlashi kerak. E'tibor bering, agar foydalanuvchi yaratish va tasdiqlash huquqiga ega bo'lsa, bitta qadam / foydalanuvchi etarli bo'ladi) . Ushbu parametr bilan siz uchinchi bosqichni / foydalanuvchi tomonidan tasdiqlanishini so'rashingiz mumkin, agar miqdori ajratilgan qiymatdan yuqori bo'lsa (shuning uchun 3 ta qadam kerak bo'ladi: 1 = tasdiqlash, 2 = birinchi tasdiqlash va 3 = ikkinchi tasdiqlash miqdori etarli bo'lsa).
    Agar bitta tasdiqlash (2 ta qadam) etarli bo'lsa, buni bo'sh qilib qo'ying, agar har doim ikkinchi ma'qullash (3 bosqich) kerak bo'lsa, uni juda past qiymatga (0,1) o'rnating. +UseDoubleApproval=Miqdor (soliqsiz) ... dan yuqori bo'lsa, 3 bosqichli tasdiqdan foydalaning. +WarningPHPMail=OGOHLANTIRISH: Ilovadan elektron pochta xabarlarini yuborish uchun sozlash odatiy umumiy sozlamalardan foydalanmoqda. Odatda, bir nechta sabablarga ko'ra standart o'rnatish o'rniga elektron pochta xizmati provayderingiz elektron pochta serveridan foydalanish uchun chiquvchi elektron pochta xabarlarini sozlash yaxshiroqdir: +WarningPHPMailA=- Elektron pochta xizmati provayderining serveridan foydalanish elektron pochtangizning ishonchliligini oshiradi, shuning uchun SPAM sifatida belgilanmasdan etkazib berish qobiliyatini oshiradi. +WarningPHPMailB=- Ba'zi elektron pochta xizmatlarini ko'rsatuvchi provayderlar (Yahoo singari) sizga o'z serverlaridan tashqari boshqa serverlardan elektron pochta xabarlarini yuborishga ruxsat bermaydilar. Sizning joriy sozlamangiz dastur serveridan sizning elektron pochta provayderingiz serverini emas, balki elektron pochta xabarlarini yuborish uchun foydalanadi, shuning uchun ba'zi qabul qiluvchilar (cheklovchi DMARC protokoli bilan mos keladigan) sizning elektron pochta provayderingizdan sizning elektron pochtangizni va ba'zi elektron pochta provayderlarini qabul qila oladimi deb so'rashadi. (Yahoo singari) "yo'q" deb javob berishi mumkin, chunki server ularga tegishli emas, shuning uchun yuborilgan elektron pochtangizning oz qismi etkazib berishga qabul qilinmasligi mumkin (elektron pochta provayderingiz yuborish kvotasidan ham ehtiyot bo'ling). +WarningPHPMailC=- Elektron pochta xabarlarini yuborish uchun o'zingizning elektron pochta xizmati provayderingizning SMTP-serveridan foydalanish ham qiziq, shuning uchun dasturdan yuborilgan barcha elektron pochta xabarlari sizning pochta qutingizdagi "Yuborilgan" katalogga saqlanadi. +WarningPHPMailD=Agar "PHP pochta" usuli siz foydalanmoqchi bo'lgan usul bo'lsa, ushbu ogohlantirishni MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP doimiyligini qo'shib, Uydagi - O'rnatish - Boshqalar qatoriga qo'shishingiz mumkin. +WarningPHPMail2=Agar sizning SMTP elektron pochta provayderingiz elektron pochta mijozini ba'zi bir IP-manzillar bilan cheklashi kerak bo'lsa (juda kam), bu sizning ERP CRM-ilovangiz uchun pochta foydalanuvchisi agentining (MUA) IP-manzili: %s . +WarningPHPMailSPF=Agar sizning elektron pochta manzilingizdagi domen nomi SPF yozuvi bilan himoyalangan bo'lsa (sizdan domen nomlarini ro'yxatdan o'tkazuvchidan so'rang), siz domeningizning DNS-ning SPF yozuviga quyidagi IP-larni qo'shishingiz kerak: %s . +ClickToShowDescription=Tavsifni ko'rsatish uchun bosing +DependsOn=Ushbu modulga modul (lar) kerak +RequiredBy=Ushbu modul modul (lar) tomonidan talab qilinadi +TheKeyIsTheNameOfHtmlField=Bu HTML maydonining nomi. Maydonning kalit nomini olish uchun HTML-sahifaning tarkibini o'qish uchun texnik bilim talab qilinadi. +PageUrlForDefaultValues=Siz sahifa URL manzilining nisbiy yo'lini kiritishingiz kerak. Agar siz URL-ga parametrlarni qo'shsangiz, barcha parametrlar bir xil qiymatga o'rnatilsa, standart qiymatlar samarali bo'ladi. +PageUrlForDefaultValuesCreate=
    Masalan:
    forma yangi uchinchi tomonni yaratishi uchun %s .
    Maxsus katalogga o'rnatilgan tashqi modullarning URL manzili uchun "custom /" ni qo'shmang, shuning uchun mymodule / mypage.php va custom / mymodule / mypage.php kabi yo'ldan foydalaning.
    Agar url parametrlari bo'lsa, standart qiymatni xohlasangiz, siz %s dan foydalanishingiz mumkin +PageUrlForDefaultValuesList=
    Masalan:
    uchinchi shaxslar ro'yxati berilgan sahifa uchun %s .
    Maxsus katalogga o'rnatilgan tashqi modullarning URL manzili uchun "custom /" ni qo'shmang, shuning uchun mymodule / mypagelist.php va custom / mymodule / mypagelist.php kabi yo'ldan foydalaning.
    Agar url parametrlari bo'lsa, standart qiymatni xohlasangiz, siz %s dan foydalanishingiz mumkin +AlsoDefaultValuesAreEffectiveForActionCreate=Shuni ham yodda tutingki, forma yaratish uchun standart qiymatlarning ustiga yozish faqat to'g'ri ishlab chiqilgan sahifalar uchun ishlaydi (shuning uchun parametr action = create or presend ... bilan) +EnableDefaultValues=Standart qiymatlarni sozlashni yoqish +EnableOverwriteTranslation=Qayta yozilgan tarjimadan foydalanishni yoqish +GoIntoTranslationMenuToChangeThis=Ushbu kod bilan kalit uchun tarjima topildi. Ushbu qiymatni o'zgartirish uchun uni Home-Setup-translation-dan tahrirlashingiz kerak. +WarningSettingSortOrder=Ogohlantirish, standart tartiblash tartibini o'rnatish, agar maydon noma'lum maydon bo'lsa, ro'yxat sahifasiga o'tishda texnik xatolarga olib kelishi mumkin. Agar siz bunday xatoga duch kelsangiz, standart saralash tartibini olib tashlash va odatiy xatti-harakatlarni tiklash uchun ushbu sahifaga qayting. +Field=Maydon +ProductDocumentTemplates=Mahsulot hujjatini yaratish uchun hujjat shablonlari +FreeLegalTextOnExpenseReports=Xarajatlar to'g'risidagi hisobotlar bo'yicha bepul huquqiy matn +WatermarkOnDraftExpenseReports=Xarajatlar hisobotlari bo'yicha suv belgisi +AttachMainDocByDefault=Agar sukut bo'yicha elektron pochtaga asosiy hujjatni qo'shmoqchi bo'lsangiz, buni 1 ga qo'ying (agar kerak bo'lsa) +FilesAttachedToEmail=Faylni biriktiring +SendEmailsReminders=Elektron pochta orqali kun tartibidagi eslatmalarni yuboring +davDescription=WebDAV serverini o'rnating +DAVSetup=DAV modulini sozlash +DAV_ALLOW_PRIVATE_DIR=Umumiy shaxsiy katalogni yoqing ("xususiy" deb nomlangan WebDAV katalogi - kirish zarur) +DAV_ALLOW_PRIVATE_DIRTooltip=Umumiy shaxsiy katalog - bu WebDAV katalogidir, unga kirish uchun kirish / kirish orqali har kim kirish huquqiga ega. +DAV_ALLOW_PUBLIC_DIR=Umumiy umumiy katalogni yoqing ("public" deb nomlangan WebDAV katalogi - kirish shart emas) +DAV_ALLOW_PUBLIC_DIRTooltip=Umumiy umumiy katalog - bu WebDAV katalogi bo'lib, unga kirish uchun hech kim kira olmaydi (o'qish va yozish rejimida), hech qanday avtorizatsiya talab qilinmaydi (kirish / parol qayd yozuvi). +DAV_ALLOW_ECM_DIR=DMS / ECM shaxsiy katalogini yoqing (DMS / ECM modulining ildiz katalogi - kirish zarur) +DAV_ALLOW_ECM_DIRTooltip=DMS / ECM modulidan foydalanganda barcha fayllar qo'lda yuklanadigan ildiz katalogi. Xuddi shu tarzda veb-interfeysdan kirish kabi sizga kirish uchun ruxsatnomalar bilan tegishli login / parol kerak bo'ladi. # Modules -Module0Name=Users & Groups -Module0Desc=Users / Employees and Groups management -Module1Name=Third Parties -Module1Desc=Companies and contacts management (customers, prospects...) -Module2Name=Commercial -Module2Desc=Commercial management -Module10Name=Accounting (simplified) -Module10Desc=Simple accounting reports (journals, turnover) based on database content. Does not use any ledger table. -Module20Name=Proposals -Module20Desc=Commercial proposal management -Module22Name=Mass Emailings -Module22Desc=Manage bulk emailing -Module23Name=Energy -Module23Desc=Monitoring the consumption of energies -Module25Name=Sales Orders -Module25Desc=Sales order management -Module30Name=Invoices -Module30Desc=Management of invoices and credit notes for customers. Management of invoices and credit notes for suppliers -Module40Name=Vendors -Module40Desc=Vendors and purchase management (purchase orders and billing of supplier invoices) -Module42Name=Debug Logs -Module42Desc=Logging facilities (file, syslog, ...). Such logs are for technical/debug purposes. -Module43Name=Debug Bar -Module43Desc=A tool for developper adding a debug bar in your browser. -Module49Name=Editors -Module49Desc=Editor management -Module50Name=Products -Module50Desc=Management of Products -Module51Name=Mass mailings -Module51Desc=Mass paper mailing management -Module52Name=Stocks -Module52Desc=Stock management -Module53Name=Services -Module53Desc=Management of Services -Module54Name=Contracts/Subscriptions -Module54Desc=Management of contracts (services or recurring subscriptions) -Module55Name=Barcodes -Module55Desc=Barcode management -Module56Name=Payment by credit transfer -Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. -Module57Name=Payments by Direct Debit -Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. +Module0Name=Foydalanuvchilar va guruhlar +Module0Desc=Foydalanuvchilar / xodimlar va guruhlarni boshqarish +Module1Name=Uchinchi tomonlar +Module1Desc=Kompaniyalar va aloqalarni boshqarish (mijozlar, istiqbollar ...) +Module2Name=Tijorat +Module2Desc=Tijorat menejmenti +Module10Name=Buxgalteriya hisobi (soddalashtirilgan) +Module10Desc=Ma'lumotlar bazasi tarkibiga asoslangan oddiy buxgalteriya hisobotlari (jurnallar, oborot). Biron bir jadval jadvalidan foydalanmaydi. +Module20Name=Takliflar +Module20Desc=Tijorat takliflarini boshqarish +Module22Name=Ommaviy elektron pochta xabarlari +Module22Desc=Ommaviy elektron pochta xabarlarini boshqaring +Module23Name=Energiya +Module23Desc=Energiya sarfini kuzatish +Module25Name=Sotish bo'yicha buyurtmalar +Module25Desc=Savdo buyurtmalarini boshqarish +Module30Name=Hisob-fakturalar +Module30Desc=Xaridorlar uchun hisob-fakturalar va kredit yozuvlarini boshqarish. Yetkazib beruvchilar uchun hisob-fakturalar va kredit yozuvlarini boshqarish +Module40Name=Sotuvchilar +Module40Desc=Sotuvchilar va sotib olishni boshqarish (sotib olish buyurtmalari va etkazib beruvchilarning hisob-fakturalari) +Module42Name=Xatolarni tuzatish jurnallari +Module42Desc=Kundaliklarni ro'yxatga olish vositalari (fayl, syslog, ...). Bunday jurnallar texnik / disk raskadrovka uchun mo'ljallangan. +Module43Name=Tuzatish paneli +Module43Desc=Brauzeringizda disk raskadrovka satrini qo'shadigan developper vositasi. +Module49Name=Tahrirlovchilar +Module49Desc=Muharrirlarni boshqarish +Module50Name=Mahsulotlar +Module50Desc=Mahsulotlarni boshqarish +Module51Name=Ommaviy pochta jo'natmalari +Module51Desc=Ommaviy qog'ozni pochta orqali boshqarish +Module52Name=Qimmatli qog'ozlar +Module52Desc=Aktsiyalarni boshqarish +Module53Name=Xizmatlar +Module53Desc=Xizmatlarni boshqarish +Module54Name=Shartnomalar / Obunalar +Module54Desc=Shartnomalarni boshqarish (xizmatlar yoki takroriy obunalar) +Module55Name=Shtrixli kodlar +Module55Desc=Shtrixli kod yoki QR kodini boshqarish +Module56Name=Kredit o'tkazish yo'li bilan to'lov +Module56Desc=Kredit o'tkazmalari buyurtmalari bo'yicha etkazib beruvchilarning to'lovlarini boshqarish. U Evropa mamlakatlari uchun SEPA faylini yaratishni o'z ichiga oladi. +Module57Name=To'g'ridan-to'g'ri debet orqali to'lovlar +Module57Desc=To'g'ridan-to'g'ri debet buyurtmalarini boshqarish. U Evropa mamlakatlari uchun SEPA faylini yaratishni o'z ichiga oladi. Module58Name=ClickToDial -Module58Desc=Integration of a ClickToDial system (Asterisk, ...) -Module60Name=Stickers -Module60Desc=Management of stickers -Module70Name=Interventions -Module70Desc=Intervention management -Module75Name=Expense and trip notes -Module75Desc=Expense and trip notes management -Module80Name=Shipments -Module80Desc=Shipments and delivery note management -Module85Name=Banks & Cash -Module85Desc=Management of bank or cash accounts -Module100Name=External Site -Module100Desc=Add a link to an external website as a main menu icon. Website is shown in a frame under the top menu. -Module105Name=Mailman and SPIP -Module105Desc=Mailman or SPIP interface for member module +Module58Desc=ClickToDial tizimining integratsiyasi (Asterisk, ...) +Module60Name=Stikerlar +Module60Desc=Stikerlarni boshqarish +Module70Name=Aralashuvlar +Module70Desc=Intervensiyani boshqarish +Module75Name=Xarajatlar va sayohat yozuvlari +Module75Desc=Xarajatlarni va sayohat yozuvlarini boshqarish +Module80Name=Yuklar +Module80Desc=Jo'natmalar va etkazib berish yozuvlarini boshqarish +Module85Name=Banklar va naqd pul +Module85Desc=Bank yoki kassa hisobvaraqlarini boshqarish +Module100Name=Tashqi sayt +Module100Desc=Asosiy menyu belgisi sifatida tashqi veb-saytga havola qo'shing. Veb-sayt yuqori menyu ostidagi ramkada ko'rsatilgan. +Module105Name=Pochtachi va SPIP +Module105Desc=Ro'yxatdan moduli uchun pochtachi yoki SPIP interfeysi Module200Name=LDAP -Module200Desc=LDAP directory synchronization +Module200Desc=LDAP katalogini sinxronlashtirish Module210Name=PostNuke -Module210Desc=PostNuke integration -Module240Name=Data exports -Module240Desc=Tool to export Dolibarr data (with assistance) -Module250Name=Data imports -Module250Desc=Tool to import data into Dolibarr (with assistance) -Module310Name=Members -Module310Desc=Foundation members management -Module320Name=RSS Feed -Module320Desc=Add a RSS feed to Dolibarr pages -Module330Name=Bookmarks & Shortcuts -Module330Desc=Create shortcuts, always accessible, to the internal or external pages to which you frequently access -Module400Name=Projects or Leads -Module400Desc=Management of projects, leads/opportunities and/or tasks. You can also assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. -Module410Name=Webcalendar -Module410Desc=Webcalendar integration -Module500Name=Taxes & Special Expenses -Module500Desc=Management of other expenses (sale taxes, social or fiscal taxes, dividends, ...) -Module510Name=Salaries -Module510Desc=Record and track employee payments -Module520Name=Loans -Module520Desc=Management of loans -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 -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 -Module610Desc=Creation of product variants (color, size etc.) -Module700Name=Donations -Module700Desc=Donation management -Module770Name=Expense Reports -Module770Desc=Manage expense reports claims (transportation, meal, ...) -Module1120Name=Vendor Commercial Proposals -Module1120Desc=Request vendor commercial proposal and prices +Module210Desc=PostNuke integratsiyasi +Module240Name=Ma'lumotlar eksporti +Module240Desc=Dolibarr ma'lumotlarini eksport qilish vositasi (yordam bilan) +Module250Name=Ma'lumotlar importi +Module250Desc=Dolibarr-ga ma'lumotlarni import qilish vositasi (yordam bilan) +Module310Name=A'zolar +Module310Desc=Jamg'arma a'zolarini boshqarish +Module320Name=RSS tasmasi +Module320Desc=Dolibarr sahifalariga RSS tasmasini qo'shing +Module330Name=Xatcho'plar va yorliqlar +Module330Desc=Siz tez-tez kiradigan ichki yoki tashqi sahifalarga har doim kirish mumkin bo'lgan yorliqlarni yarating +Module400Name=Loyihalar yoki etakchilar +Module400Desc=Loyihalarni boshqarish, imkoniyatlar va / yoki vazifalar. Shuningdek, siz loyihaga istalgan elementni (faktura, buyurtma, taklif, aralashuv, ...) tayinlashingiz va loyiha ko'rinishidan transversal ko'rinishni olishingiz mumkin. +Module410Name=Veb-taqvim +Module410Desc=Veb-taqvim integratsiyasi +Module500Name=Soliqlar va maxsus xarajatlar +Module500Desc=Boshqa xarajatlarni boshqarish (sotish soliqlari, ijtimoiy yoki soliq soliqlari, dividendlar, ...) +Module510Name=Ish haqi +Module510Desc=Xodimlarning to'lovlarini yozib oling va kuzatib boring +Module520Name=Kreditlar +Module520Desc=Kreditlarni boshqarish +Module600Name=Tadbir to'g'risida bildirishnomalar +Module600Desc=Ishbilarmonlik hodisasi bilan bog'liq elektron pochta xabarlarini yuboring: har bir foydalanuvchi uchun (har bir foydalanuvchi uchun sozlash belgilanadi), har bir uchinchi tomon aloqasi uchun (har bir uchinchi tomon uchun belgilanadi) yoki ma'lum elektron pochta orqali. +Module600Long=Shuni esda tutingki, ushbu modul ma'lum bir ish hodisasi yuz berganda elektron pochta xabarlarini real vaqtda yuboradi. Agar kun tartibidagi voqealar uchun elektron pochta orqali eslatmalar yuborish xususiyatini qidirsangiz, kun tartibi modulini sozlang. +Module610Name=Mahsulot variantlari +Module610Desc=Mahsulot variantlarini yaratish (rang, o'lcham va boshqalar). +Module700Name=Xayriyalar +Module700Desc=Xayriya mablag'larini boshqarish +Module770Name=Xarajatlar bo'yicha hisobotlar +Module770Desc=Xarajatlar to'g'risidagi hisobotlarni boshqarish (transport, ovqatlanish, ...) +Module1120Name=Sotuvchilarning tijorat takliflari +Module1120Desc=Sotuvchidan tijorat taklifi va narxlarini so'rang Module1200Name=Mantis -Module1200Desc=Mantis integration -Module1520Name=Document Generation -Module1520Desc=Mass email document generation -Module1780Name=Tags/Categories -Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) -Module2000Name=WYSIWYG editor -Module2000Desc=Allow text fields to be edited/formatted using CKEditor (html) -Module2200Name=Dynamic Prices -Module2200Desc=Use maths expressions for auto-generation of prices -Module2300Name=Scheduled jobs -Module2300Desc=Scheduled jobs management (alias cron or chrono table) -Module2400Name=Events/Agenda -Module2400Desc=Track events. Log automatic events for tracking purposes or record manual events or meetings. This is the principal module for good Customer or Vendor Relationship Management. +Module1200Desc=Mantis integratsiyasi +Module1520Name=Hujjatlarni yaratish +Module1520Desc=Ommaviy elektron pochta hujjatlarini yaratish +Module1780Name=Teglar / toifalar +Module1780Desc=Teglar / toifalar yarating (mahsulotlar, mijozlar, etkazib beruvchilar, kontaktlar yoki a'zolar) +Module2000Name=WYSIWYG muharriri +Module2000Desc=Matn maydonlarini CKEditor (html) yordamida tahrirlash / formatlashga ruxsat berish. +Module2200Name=Dinamik narxlar +Module2200Desc=Narxlarni avtomatik ishlab chiqarish uchun matematik ifodalardan foydalaning +Module2300Name=Rejalashtirilgan ish joylari +Module2300Desc=Rejalashtirilgan ishlarni boshqarish (taxallusli cron yoki xron jadval) +Module2400Name=Tadbirlar / kun tartibi +Module2400Desc=Voqealarni kuzatib borish. Kuzatish maqsadida avtomatik tadbirlarni ro'yxatdan o'tkazing yoki qo'lda sodir bo'lgan voqealar yoki uchrashuvlarni yozib oling. Bu yaxshi mijozlar yoki sotuvchilar bilan munosabatlarni boshqarish uchun asosiy moduldir. Module2500Name=DMS / ECM -Module2500Desc=Document Management System / Electronic Content Management. Automatic organization of your generated or stored documents. Share them when you need. -Module2600Name=API/Web services (SOAP server) -Module2600Desc=Enable the Dolibarr SOAP server providing API services -Module2610Name=API/Web services (REST server) -Module2610Desc=Enable the Dolibarr REST server providing API services -Module2660Name=Call WebServices (SOAP client) -Module2660Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Only Purchase orders are currently supported.) +Module2500Desc=Hujjatlarni boshqarish tizimi / elektron tarkibni boshqarish. Yaratilgan yoki saqlanadigan hujjatlaringizni avtomatik ravishda tashkil etish. Agar kerak bo'lsa, ularni baham ko'ring. +Module2600Name=API / veb-xizmatlar (SOAP-server) +Module2600Desc=API xizmatlarini taqdim etadigan Dolibarr SOAP serverini yoqing +Module2610Name=API / veb-xizmatlar (REST-server) +Module2610Desc=API xizmatlarini ko'rsatadigan Dolibarr REST serverini yoqing +Module2660Name=WebServices-ga qo'ng'iroq qiling (SOAP mijozi) +Module2660Desc=Dolibarr veb-xizmatlari mijozini yoqing (Ma'lumotlarni / so'rovlarni tashqi serverlarga yuborish uchun ishlatilishi mumkin. Hozirda faqat Buyurtma buyurtmalari qo'llab-quvvatlanadi.) Module2700Name=Gravatar -Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Needs Internet access -Module2800Desc=FTP Client +Module2700Desc=Foydalanuvchilar / a'zolarning fotosuratlarini ko'rsatish uchun elektron pochta xizmatidan (www.gravatar.com) foydalaning (elektron pochta xabarlari bilan topilgan). Internetga kirish kerak +Module2800Desc=FTP mijozi Module2900Name=GeoIPMaxmind -Module2900Desc=GeoIP Maxmind conversions capabilities -Module3200Name=Unalterable Archives -Module3200Desc=Enable an unalterable log of business events. Events are archived in real-time. The log is a read-only table of chained events that can be exported. This module may be mandatory for some countries. -Module3400Name=Social Networks -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module2900Desc=GeoIP Maxmind konversiyalari imkoniyatlari +Module3200Name=O'zgarmas arxivlar +Module3200Desc=O'zgarmas ishbilarmonlik voqealari jurnalini yoqing. Voqealar real vaqtda arxivlanadi. Jurnal eksport qilinishi mumkin bo'lgan zanjirli voqealar uchun faqat o'qish uchun mo'ljallangan jadvaldir. Ushbu modul ba'zi mamlakatlar uchun majburiy bo'lishi mumkin. +Module3400Name=Ijtimoiy tarmoqlar +Module3400Desc=Ijtimoiy tarmoqlarni uchinchi shaxslarga va manzillarga (skype, twitter, facebook, ...) qo'shish. Module4000Name=HRM -Module4000Desc=Human resources management (management of department, employee contracts and feelings) -Module5000Name=Multi-company -Module5000Desc=Allows you to manage multiple companies -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) -Module10000Name=Websites -Module10000Desc=Create websites (public) with a WYSIWYG editor. This is a webmaster or developer oriented CMS (it is better to know HTML and CSS language). Just setup your web server (Apache, Nginx, ...) to point to the dedicated Dolibarr directory to have it online on the internet with your own domain name. -Module20000Name=Leave Request Management -Module20000Desc=Define and track employee leave requests -Module39000Name=Product Lots -Module39000Desc=Lots, serial numbers, eat-by/sell-by date management for products -Module40000Name=Multicurrency -Module40000Desc=Use alternative currencies in prices and documents +Module4000Desc=Inson resurslarini boshqarish (bo'limni boshqarish, xodimlarning shartnomalari va hissiyotlari) +Module5000Name=Ko'p kompaniya +Module5000Desc=Bir nechta kompaniyalarni boshqarishga imkon beradi +Module6000Name=Modullararo ish jarayoni +Module6000Desc=Turli xil modullar orasidagi ish oqimini boshqarish (ob'ektni avtomatik yaratish va / yoki holatni avtomatik o'zgartirish) +Module10000Name=Veb-saytlar +Module10000Desc=WYSIWYG muharriri bilan veb-saytlar (umumiy) yarating. Bu veb-usta yoki ishlab chiquvchiga yo'naltirilgan CMS (HTML va CSS tillarini bilish yaxshiroq). Shaxsiy veb-serveringizni (Apache, Nginx, ...) sozlashingiz kerak, bu sizning domen nomingiz bilan Internetda onlayn bo'lish uchun maxsus Dolibarr katalogiga ishora qiling. +Module20000Name=So'rovni boshqarishni tark eting +Module20000Desc=Xodimlarning ta'tilga chiqishlarini aniqlash va kuzatib borish +Module39000Name=Mahsulotlar juda ko'p +Module39000Desc=Mahsulotlar uchun lotlar, seriya raqamlari, ovqatlanish / sotish sanasini boshqarish +Module40000Name=Ko'p valyuta +Module40000Desc=Narxlar va hujjatlarda muqobil valyutalardan foydalaning Module50000Name=PayBox -Module50000Desc=Offer customers a PayBox online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) +Module50000Desc=Mijozlarga PayBox onlayn to'lov sahifasini (kredit / debet kartalari) taklif eting. Bu sizning mijozlaringizga vaqtinchalik to'lovlarni yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarni amalga oshirishga ruxsat berish uchun ishlatilishi mumkin (hisob-faktura, buyurtma va hk ...) Module50100Name=POS SimplePOS -Module50100Desc=Point of Sale module SimplePOS (simple POS). +Module50100Desc=Sotish nuqtasi SimplePOS (oddiy POS) moduli. Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Sotish nuqtasi TakePOS moduli (do'konlar, barlar yoki restoranlar uchun sensorli ekranli POS). Module50200Name=Paypal -Module50200Desc=Offer customers a PayPal online payment page (PayPal account or credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) -Module50300Name=Stripe -Module50300Desc=Offer customers a Stripe online payment page (credit/debit cards). This can be used to allow your customers to make ad-hoc payments or payments related to a specific Dolibarr object (invoice, order etc...) -Module50400Name=Accounting (double entry) -Module50400Desc=Accounting management (double entries, support General and Subsidiary Ledgers). Export the ledger in several other accounting software formats. +Module50200Desc=Mijozlarga PayPal onlayn to'lov sahifasini taklif eting (PayPal hisob qaydnomasi yoki kredit / debet kartalari). Bu sizning mijozlaringizga vaqtinchalik to'lovlarni yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarni amalga oshirishga ruxsat berish uchun ishlatilishi mumkin (hisob-faktura, buyurtma va hk ...) +Module50300Name=Ip +Module50300Desc=Mijozlarga Stripe onlayn to'lov sahifasini taklif eting (kredit / debet kartalar). Bu sizning mijozlaringizga vaqtinchalik to'lovlarni yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarni amalga oshirishga ruxsat berish uchun ishlatilishi mumkin (hisob-faktura, buyurtma va hk ...) +Module50400Name=Buxgalteriya hisobi (ikki martalik yozuv) +Module50400Desc=Buxgalteriya hisobini boshqarish (ikki tomonlama yozuvlar, Bosh va yordamchi kitoblarni qo'llab-quvvatlash). Buxgalteriya dasturini boshqa bir qancha buxgalteriya dasturlari formatida eksport qiling. Module54000Name=PrintIPP -Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installed on server). -Module55000Name=Poll, Survey or Vote -Module55000Desc=Create online polls, surveys or votes (like Doodle, Studs, RDVz etc...) -Module59000Name=Margins -Module59000Desc=Module to follow margins -Module60000Name=Commissions -Module60000Desc=Module to manage commissions -Module62000Name=Incoterms -Module62000Desc=Add features to manage Incoterms -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, rooms, ...) for allocating to events -Permission11=Read customer invoices -Permission12=Create/modify customer invoices -Permission13=Invalidate customer invoices -Permission14=Validate customer invoices -Permission15=Send customer invoices by email -Permission16=Create payments for customer invoices -Permission19=Delete customer invoices -Permission21=Read commercial proposals -Permission22=Create/modify commercial proposals -Permission24=Validate commercial proposals -Permission25=Send commercial proposals -Permission26=Close commercial proposals -Permission27=Delete commercial proposals -Permission28=Export commercial proposals -Permission31=Read products -Permission32=Create/modify products -Permission34=Delete products -Permission36=See/manage hidden products -Permission38=Export products -Permission39=Ignore minimum price -Permission41=Read projects and tasks (shared project and projects I'm contact for). Can also enter time consumed, for me or my hierarchy, on assigned tasks (Timesheet) -Permission42=Create/modify projects (shared project and projects I'm contact for). Can also create tasks and assign users to project and tasks -Permission44=Delete projects (shared project and projects I'm contact for) -Permission45=Export projects -Permission61=Read interventions -Permission62=Create/modify interventions -Permission64=Delete interventions -Permission67=Export interventions -Permission68=Send interventions by email -Permission69=Validate interventions -Permission70=Invalidate interventions -Permission71=Read members -Permission72=Create/modify members -Permission74=Delete members -Permission75=Setup types of membership -Permission76=Export data -Permission78=Read subscriptions -Permission79=Create/modify subscriptions -Permission81=Read customers orders -Permission82=Create/modify customers orders -Permission84=Validate customers orders -Permission86=Send customers orders -Permission87=Close customers orders -Permission88=Cancel customers orders -Permission89=Delete customers orders -Permission91=Read social or fiscal taxes and vat -Permission92=Create/modify social or fiscal taxes and vat -Permission93=Delete social or fiscal taxes and vat -Permission94=Export social or fiscal taxes -Permission95=Read reports -Permission101=Read sendings -Permission102=Create/modify sendings -Permission104=Validate sendings -Permission105=Send sendings by email -Permission106=Export sendings -Permission109=Delete sendings -Permission111=Read financial accounts -Permission112=Create/modify/delete and compare transactions -Permission113=Setup financial accounts (create, manage categories) -Permission114=Reconcile transactions -Permission115=Export transactions and account statements -Permission116=Transfers between accounts -Permission117=Manage checks dispatching -Permission121=Read third parties linked to user -Permission122=Create/modify third parties linked to user -Permission125=Delete third parties linked to user -Permission126=Export third parties -Permission141=Read all projects and tasks (also private projects for which I am not a contact) -Permission142=Create/modify all projects and tasks (also private projects for which I am not a contact) -Permission144=Delete all projects and tasks (also private projects i am not contact for) -Permission146=Read providers -Permission147=Read stats -Permission151=Read direct debit payment orders -Permission152=Create/modify a direct debit payment orders -Permission153=Send/Transmit direct debit payment orders -Permission154=Record Credits/Rejections of direct debit payment orders -Permission161=Read contracts/subscriptions -Permission162=Create/modify contracts/subscriptions -Permission163=Activate a service/subscription of a contract -Permission164=Disable a service/subscription of a contract -Permission165=Delete contracts/subscriptions -Permission167=Export contracts -Permission171=Read trips and expenses (yours and your subordinates) -Permission172=Create/modify trips and expenses -Permission173=Delete trips and expenses -Permission174=Read all trips and expenses -Permission178=Export trips and expenses -Permission180=Read suppliers -Permission181=Read purchase orders -Permission182=Create/modify purchase orders -Permission183=Validate purchase orders -Permission184=Approve purchase orders -Permission185=Order or cancel purchase orders -Permission186=Receive purchase orders -Permission187=Close purchase orders -Permission188=Cancel purchase orders -Permission192=Create lines -Permission193=Cancel lines -Permission194=Read the bandwidth lines -Permission202=Create ADSL connections -Permission203=Order connections orders -Permission204=Order connections -Permission205=Manage connections -Permission206=Read connections -Permission211=Read Telephony -Permission212=Order lines -Permission213=Activate line -Permission214=Setup Telephony -Permission215=Setup providers -Permission221=Read emailings -Permission222=Create/modify emailings (topic, recipients...) -Permission223=Validate emailings (allows sending) -Permission229=Delete emailings -Permission237=View recipients and info -Permission238=Manually send mailings -Permission239=Delete mailings after validation or sent -Permission241=Read categories -Permission242=Create/modify categories -Permission243=Delete categories -Permission244=See the contents of the hidden categories -Permission251=Read other users and groups -PermissionAdvanced251=Read other users -Permission252=Read permissions of other users -Permission253=Create/modify other users, groups and permissions -PermissionAdvanced253=Create/modify internal/external users and permissions -Permission254=Create/modify external users only -Permission255=Modify other users password -Permission256=Delete or disable other users -Permission262=Extend access to all third parties AND their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
    Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
    Not effective for projects (only rules on project permissions, visibility and assignment matters). -Permission271=Read CA -Permission272=Read invoices -Permission273=Issue invoices -Permission281=Read contacts -Permission282=Create/modify contacts -Permission283=Delete contacts -Permission286=Export contacts -Permission291=Read tariffs -Permission292=Set permissions on the tariffs -Permission293=Modify customer's tariffs -Permission300=Read barcodes -Permission301=Create/modify barcodes -Permission302=Delete barcodes -Permission311=Read services -Permission312=Assign service/subscription to contract -Permission331=Read bookmarks -Permission332=Create/modify bookmarks -Permission333=Delete bookmarks -Permission341=Read its own permissions -Permission342=Create/modify his own user information -Permission343=Modify his own password -Permission344=Modify its own permissions -Permission351=Read groups -Permission352=Read groups permissions -Permission353=Create/modify groups -Permission354=Delete or disable groups -Permission358=Export users -Permission401=Read discounts -Permission402=Create/modify discounts -Permission403=Validate discounts -Permission404=Delete discounts -Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody -Permission519=Export salaries -Permission520=Read Loans -Permission522=Create/modify loans -Permission524=Delete loans -Permission525=Access loan calculator -Permission527=Export loans -Permission531=Read services -Permission532=Create/modify services -Permission534=Delete services -Permission536=See/manage hidden services -Permission538=Export services -Permission561=Read payment orders by credit transfer -Permission562=Create/modify payment order by credit transfer -Permission563=Send/Transmit payment order by credit transfer -Permission564=Record Debits/Rejections of credit transfer -Permission601=Read stickers -Permission602=Create/modify stickers -Permission609=Delete stickers -Permission650=Read Bills of Materials -Permission651=Create/Update Bills of Materials -Permission652=Delete Bills of Materials -Permission660=Read Manufacturing Order (MO) -Permission661=Create/Update Manufacturing Order (MO) -Permission662=Delete Manufacturing Order (MO) -Permission701=Read donations -Permission702=Create/modify donations -Permission703=Delete donations -Permission771=Read expense reports (yours and your subordinates) -Permission772=Create/modify expense reports -Permission773=Delete expense reports -Permission774=Read all expense reports (even for user not subordinates) -Permission775=Approve expense reports -Permission776=Pay expense reports -Permission777=Read expense reports of everybody -Permission778=Create/modify expense reports of everybody -Permission779=Export expense reports -Permission1001=Read stocks -Permission1002=Create/modify warehouses -Permission1003=Delete warehouses -Permission1004=Read stock movements -Permission1005=Create/modify stock movements -Permission1101=Read delivery receipts -Permission1102=Create/modify delivery receipts -Permission1104=Validate delivery receipts -Permission1109=Delete delivery receipts -Permission1121=Read supplier proposals -Permission1122=Create/modify supplier proposals -Permission1123=Validate supplier proposals -Permission1124=Send supplier proposals -Permission1125=Delete supplier proposals -Permission1126=Close supplier price requests -Permission1181=Read suppliers -Permission1182=Read purchase orders -Permission1183=Create/modify purchase orders -Permission1184=Validate purchase orders -Permission1185=Approve purchase orders -Permission1186=Order purchase orders -Permission1187=Acknowledge receipt of purchase orders -Permission1188=Delete purchase orders -Permission1189=Check/Uncheck a purchase order reception -Permission1190=Approve (second approval) purchase orders -Permission1191=Export supplier orders and their attributes -Permission1201=Get result of an export -Permission1202=Create/Modify an export -Permission1231=Read vendor invoices -Permission1232=Create/modify vendor invoices -Permission1233=Validate vendor invoices -Permission1234=Delete vendor invoices -Permission1235=Send vendor invoices by email -Permission1236=Export vendor invoices, attributes and payments -Permission1237=Export purchase orders and their details -Permission1251=Run mass imports of external data into database (data load) -Permission1321=Export customer invoices, attributes and payments -Permission1322=Reopen a paid bill -Permission1421=Export sales orders and attributes -Permission1521=Read documents -Permission1522=Delete documents -Permission2401=Read actions (events or tasks) linked to his user account (if owner of event or just assigned to) -Permission2402=Create/modify actions (events or tasks) linked to his user account (if owner of event) -Permission2403=Delete actions (events or tasks) linked to his user account (if owner of event) -Permission2411=Read actions (events or tasks) of others -Permission2412=Create/modify actions (events or tasks) of others -Permission2413=Delete actions (events or tasks) of others -Permission2414=Export actions/tasks of others -Permission2501=Read/Download documents -Permission2502=Download documents -Permission2503=Submit or delete documents -Permission2515=Setup documents directories -Permission2801=Use FTP client in read mode (browse and download only) -Permission2802=Use FTP client in write mode (delete or upload files) -Permission3200=Read archived events and fingerprints -Permission3301=Generate new modules -Permission4001=See employees -Permission4002=Create employees -Permission4003=Delete employees -Permission4004=Export employees -Permission10001=Read website content -Permission10002=Create/modify website content (html and javascript content) -Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers. -Permission10005=Delete website content -Permission20001=Read leave requests (your leave and those of your subordinates) -Permission20002=Create/modify your leave requests (your leave and those of your subordinates) -Permission20003=Delete leave requests -Permission20004=Read all leave requests (even of user not subordinates) -Permission20005=Create/modify leave requests for everybody (even of user not subordinates) -Permission20006=Admin leave requests (setup and update balance) -Permission20007=Approve leave requests -Permission23001=Read Scheduled job -Permission23002=Create/update Scheduled job -Permission23003=Delete Scheduled job -Permission23004=Execute Scheduled job -Permission50101=Use Point of Sale (SimplePOS) -Permission50151=Use Point of Sale (TakePOS) -Permission50201=Read transactions -Permission50202=Import transactions -Permission50330=Read objects of Zapier -Permission50331=Create/Update objects of Zapier -Permission50332=Delete objects of Zapier -Permission50401=Bind products and invoices with accounting accounts -Permission50411=Read operations in ledger -Permission50412=Write/Edit operations in ledger -Permission50414=Delete operations in ledger -Permission50415=Delete all operations by year and journal in ledger -Permission50418=Export operations of the ledger -Permission50420=Report and export reports (turnover, balance, journals, ledger) -Permission50430=Define fiscal periods. Validate transactions and close fiscal periods. -Permission50440=Manage chart of accounts, setup of accountancy -Permission51001=Read assets -Permission51002=Create/Update assets -Permission51003=Delete assets -Permission51005=Setup types of asset -Permission54001=Print -Permission55001=Read polls -Permission55002=Create/modify polls -Permission59001=Read commercial margins -Permission59002=Define commercial margins -Permission59003=Read every user margin -Permission63001=Read resources -Permission63002=Create/modify resources -Permission63003=Delete resources -Permission63004=Link resources to agenda events -Permission64001=Allow direct printing -Permission67000=Allow printing of receipts -Permission68001=Read intracomm report -Permission68002=Create/modify intracomm report -Permission68004=Delete intracomm report -Permission941601=Read receipts -Permission941602=Create and modify receipts -Permission941603=Validate receipts -Permission941604=Send receipts by email -Permission941605=Export receipts -Permission941606=Delete receipts -DictionaryCompanyType=Third-party types -DictionaryCompanyJuridicalType=Third-party legal entities -DictionaryProspectLevel=Prospect potential level for companies -DictionaryProspectContactLevel=Prospect potential level for contacts -DictionaryCanton=States/Provinces -DictionaryRegion=Regions -DictionaryCountry=Countries -DictionaryCurrency=Currencies -DictionaryCivility=Honorific titles -DictionaryActions=Types of agenda events -DictionarySocialContributions=Types of social or fiscal taxes -DictionaryVAT=VAT Rates or Sales Tax Rates -DictionaryRevenueStamp=Amount of tax stamps -DictionaryPaymentConditions=Payment Terms -DictionaryPaymentModes=Payment Modes -DictionaryTypeContact=Contact/Address types -DictionaryTypeOfContainer=Website - Type of website pages/containers -DictionaryEcotaxe=Ecotax (WEEE) -DictionaryPaperFormat=Paper formats -DictionaryFormatCards=Card formats -DictionaryFees=Expense report - Types of expense report lines -DictionarySendingMethods=Shipping methods -DictionaryStaff=Number of Employees -DictionaryAvailability=Delivery delay -DictionaryOrderMethods=Ordering methods -DictionarySource=Origin of proposals/orders -DictionaryAccountancyCategory=Personalized groups for reports -DictionaryAccountancysystem=Models for chart of accounts -DictionaryAccountancyJournal=Accounting journals -DictionaryEMailTemplates=Email Templates -DictionaryUnits=Units -DictionaryMeasuringUnits=Measuring Units -DictionarySocialNetworks=Social Networks -DictionaryProspectStatus=Prospect status for companies -DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave -DictionaryOpportunityStatus=Lead status for project/lead -DictionaryExpenseTaxCat=Expense report - Transportation categories -DictionaryExpenseTaxRange=Expense report - Range by transportation category -DictionaryTransportMode=Intracomm report - Transport mode -TypeOfUnit=Type of unit -SetupSaved=Setup saved -SetupNotSaved=Setup not saved -BackToModuleList=Back to Module list -BackToDictionaryList=Back to Dictionaries list -TypeOfRevenueStamp=Type of tax stamp -VATManagement=Sales Tax Management -VATIsUsedDesc=By default when creating prospects, invoices, orders etc. the Sales Tax rate follows the active standard rule:
    If the seller is not subject to Sales tax, then Sales tax defaults to 0. End of rule.
    If the (seller's country = buyer's country), then the Sales tax by default equals the Sales tax of the product in the seller's country. End of rule.
    If the seller and buyer are both in the European Community and goods are transport-related products (haulage, shipping, airline), the default VAT is 0. This rule is dependant on the seller's country - please consult with your accountant. The VAT should be paid by the buyer to the customs office in their country and not to the seller. End of rule.
    If the seller and buyer are both in the European Community and the buyer is not a company (with a registered intra-Community VAT number) then the VAT defaults to the VAT rate of the seller's country. End of rule.
    If the seller and buyer are both in the European Community and the buyer is a company (with a registered intra-Community VAT number), then the VAT is 0 by default. End of rule.
    In any other case the proposed default is Sales tax=0. End of rule. -VATIsNotUsedDesc=By default the proposed Sales tax is 0 which can be used for cases like associations, individuals or small companies. -VATIsUsedExampleFR=In France, it means companies or organizations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. -VATIsNotUsedExampleFR=In France, it means associations that are non Sales tax declared or companies, organizations or liberal professions that have chosen the micro enterprise fiscal system (Sales tax in franchise) and paid a franchise Sales tax without any Sales tax declaration. This choice will display the reference "Non applicable Sales tax - art-293B of CGI" on invoices. +Module54000Desc=Cups IPP interfeysi yordamida to'g'ridan-to'g'ri chop etish (hujjatlarni ochmasdan) (Printer serverdan ko'rinadigan bo'lishi va serverga CUPS o'rnatilgan bo'lishi kerak). +Module55000Name=So'rovnoma, so'rovnoma yoki ovoz berish +Module55000Desc=Onlayn so'rovnomalar, so'rovnomalar yoki ovozlarni yarating (Doodle, Studs, RDVz va boshqalar kabi). +Module59000Name=Chegaralar +Module59000Desc=Chegaralarni kuzatib borish uchun modul +Module60000Name=Komissiyalar +Module60000Desc=Komissiyalarni boshqarish moduli +Module62000Name=Inkoermalar +Module62000Desc=Incoterms-ni boshqarish uchun funktsiyalarni qo'shing +Module63000Name=Resurslar +Module63000Desc=Tadbirlarga ajratish uchun resurslarni (printerlar, mashinalar, xonalar, ...) boshqaring +Permission11=Mijozlarning hisob-fakturalarini o'qing +Permission12=Mijozlarning hisob-kitoblarini yaratish / o'zgartirish +Permission13=Mijozlarning hisob-kitoblarini bekor qilish +Permission14=Xaridorlarning hisob-fakturalarini tasdiqlang +Permission15=Xaridorlarning hisob-fakturalarini elektron pochta orqali yuboring +Permission16=Xaridorlarning hisob-fakturalari uchun to'lovlarni yarating +Permission19=Xaridorlarning hisob-fakturalarini o'chirib tashlang +Permission21=Tijorat takliflarini o'qing +Permission22=Tijorat takliflarini yaratish / o'zgartirish +Permission24=Tijorat takliflarini tasdiqlash +Permission25=Tijorat takliflarini yuboring +Permission26=Tijorat takliflarini yoping +Permission27=Tijorat takliflarini o'chirib tashlang +Permission28=Tijorat takliflarini eksport qiling +Permission31=Mahsulotlarni o'qing +Permission32=Mahsulotlarni yaratish / o'zgartirish +Permission34=Mahsulotlarni o'chirish +Permission36=Yashirin mahsulotlarni ko'ring / boshqaring +Permission38=Mahsulotlarni eksport qilish +Permission39=Minimal narxga e'tibor bermang +Permission41=Loyihalar va vazifalarni o'qing (umumiy loyiha va men aloqada bo'lgan loyihalar). Belgilangan vazifalar bo'yicha men uchun yoki mening ierarxiyam uchun sarflangan vaqtni ham kiritish mumkin (Timesheet) +Permission42=Loyihalarni yaratish / o'zgartirish (umumiy loyiha va men aloqada bo'lgan loyihalar). Vazifalar yaratishi va foydalanuvchilarni loyiha va vazifalarga tayinlashi mumkin +Permission44=Loyihalarni o'chirish (umumiy loyiha va men bog'langan loyihalar) +Permission45=Loyihalarni eksport qilish +Permission61=Ta'sirlarni o'qing +Permission62=Interventsiyalarni yaratish / o'zgartirish +Permission64=Ta'sirlarni o'chirib tashlang +Permission67=Eksport tadbirlari +Permission68=Interventsiyalarni elektron pochta orqali yuboring +Permission69=Ta'sirlarni tasdiqlang +Permission70=Ta'sirlarni bekor qilish +Permission71=A'zolarni o'qing +Permission72=A'zolarni yaratish / o'zgartirish +Permission74=A'zolarni o'chirish +Permission75=A'zolik turlarini sozlash +Permission76=Ma'lumotlarni eksport qilish +Permission78=Obunalarni o'qing +Permission79=Obunalarni yaratish / o'zgartirish +Permission81=Mijozlarning buyurtmalarini o'qing +Permission82=Mijozlarning buyurtmalarini yaratish / o'zgartirish +Permission84=Mijozlarning buyurtmalarini tasdiqlash +Permission86=Mijozlarga buyurtmalar yuboring +Permission87=Mijozlarning buyurtmalarini yopish +Permission88=Mijozlarning buyurtmalarini bekor qilish +Permission89=Mijozlarning buyurtmalarini o'chirish +Permission91=Ijtimoiy yoki soliq soliqlari va QQSni o'qing +Permission92=Ijtimoiy yoki soliq soliqlari va QQSni yaratish / o'zgartirish +Permission93=Ijtimoiy yoki soliq soliqlari va QQSni o'chirib tashlang +Permission94=Ijtimoiy yoki soliq soliqlarini eksport qiling +Permission95=Hisobotlarni o'qing +Permission101=Yuborishlarni o'qing +Permission102=Yuborishlarni yaratish / o'zgartirish +Permission104=Yuborishlarni tasdiqlash +Permission105=Yuborishlarni elektron pochta orqali yuboring +Permission106=Eksport jo'natmalari +Permission109=Yuborishlarni o'chirish +Permission111=Moliyaviy hisoblarni o'qing +Permission112=Tranzaktsiyalarni yaratish / o'zgartirish / o'chirish va taqqoslash +Permission113=Moliyaviy hisoblarni sozlash (toifalarni yaratish, boshqarish) +Permission114=Tranzaktsiyalarni yarashtirish +Permission115=Eksport operatsiyalari va hisobvaraqlar bo'yicha ko'chirmalar +Permission116=Hisob-kitoblar o'rtasida o'tkazmalar +Permission117=Cheklarni jo'natishni boshqarish +Permission121=Foydalanuvchiga bog'langan uchinchi tomonlarni o'qing +Permission122=Foydalanuvchiga bog'langan uchinchi shaxslarni yaratish / o'zgartirish +Permission125=Foydalanuvchiga bog'langan uchinchi tomonlarni o'chirib tashlang +Permission126=Uchinchi tomonlarni eksport qilish +Permission141=Barcha loyihalar va topshiriqlarni o'qing (shuningdek, men ular bilan aloqa qilmaydigan xususiy loyihalar) +Permission142=Barcha loyihalar va vazifalarni yaratish / o'zgartirish (shuningdek, men ular bilan aloqa qilmaydigan xususiy loyihalar) +Permission144=Barcha loyihalar va vazifalarni o'chirib tashlang (shuningdek, xususiy loyihalar bilan bog'lanmayman) +Permission146=Provayderlarni o'qing +Permission147=Statistikani o'qing +Permission151=To'g'ridan-to'g'ri debet to'lovlarini o'qing +Permission152=To'g'ridan-to'g'ri debetli to'lov buyurtmalarini yaratish / o'zgartirish +Permission153=To'g'ridan-to'g'ri debet to'lovlarini yuborish / uzatish +Permission154=Rekord kreditlar / To'g'ridan-to'g'ri debetli to'lov topshiriqlarini rad etish +Permission161=Shartnomalarni / obunalarni o'qing +Permission162=Shartnomalarni / obunalarni yarating / o'zgartiring +Permission163=Shartnoma xizmatini / obunasini faollashtiring +Permission164=Shartnoma xizmatini / obunasini o'chirib qo'ying +Permission165=Shartnomalarni / obunalarni o'chirib tashlang +Permission167=Eksport shartnomalari +Permission171=Safarlar va xarajatlarni o'qing (o'zingiz va bo'ysunuvchilaringiz) +Permission172=Safarlar va xarajatlarni yaratish / o'zgartirish +Permission173=Safarlar va xarajatlarni o'chirib tashlang +Permission174=Barcha sayohatlar va xarajatlarni o'qing +Permission178=Eksportga sayohat va xarajatlar +Permission180=Ta'minlovchilarni o'qing +Permission181=Xarid qilish buyurtmalarini o'qing +Permission182=Sotib olish to'g'risida buyurtmalarni yaratish / o'zgartirish +Permission183=Xarid buyurtmalarini tasdiqlang +Permission184=Xarid qilish buyurtmalarini tasdiqlash +Permission185=Xarid qilish buyurtmalariga buyurtma bering yoki bekor qiling +Permission186=Xarid qilish buyurtmalarini oling +Permission187=Xarid buyurtmalarini yoping +Permission188=Sotib olish buyurtmalarini bekor qilish +Permission192=Chiziqlar yarating +Permission193=Chiziqlarni bekor qilish +Permission194=Tarmoqli kenglik satrlarini o'qing +Permission202=ADSL ulanishlarini yarating +Permission203=Ulanish buyurtmalariga buyurtma bering +Permission204=Aloqalarni buyurtma qiling +Permission205=Ulanishlarni boshqarish +Permission206=Ulanishlarni o'qing +Permission211=Telefoniyani o'qing +Permission212=Buyurtma satrlari +Permission213=Chiziqni yoqing +Permission214=Telefoniyani o'rnatish +Permission215=O'rnatish provayderlari +Permission221=Elektron pochta xabarlarini o'qing +Permission222=Elektron pochta xabarlarini yaratish / o'zgartirish (mavzu, qabul qiluvchilar ...) +Permission223=Elektron pochta xabarlarini tasdiqlash (yuborishga imkon beradi) +Permission229=Elektron pochta xabarlarini o'chirish +Permission237=Qabul qiluvchilarni va ma'lumotlarni ko'ring +Permission238=Pochta xabarlarini qo'lda yuboring +Permission239=Tasdiqlangandan yoki yuborilgandan so'ng pochta xabarlarini o'chirib tashlang +Permission241=Kategoriyalarni o'qing +Permission242=Kategoriyalarni yaratish / o'zgartirish +Permission243=Kategoriyalarni o'chirish +Permission244=Yashirin toifalarning tarkibiga qarang +Permission251=Boshqa foydalanuvchilar va guruhlarni o'qing +PermissionAdvanced251=Boshqa foydalanuvchilarni o'qing +Permission252=Boshqa foydalanuvchilarning ruxsatlarini o'qing +Permission253=Boshqa foydalanuvchilar, guruhlar va ruxsatlarni yaratish / o'zgartirish +PermissionAdvanced253=Ichki / tashqi foydalanuvchilar va ruxsatlarni yaratish / o'zgartirish +Permission254=Faqat tashqi foydalanuvchilarni yarating / o'zgartiring +Permission255=Boshqa foydalanuvchilarning parolini o'zgartiring +Permission256=Boshqa foydalanuvchilarni o'chirish yoki o'chirish +Permission262=Barcha uchinchi shaxslarga va ularning ob'ektlariga kirishni kengaytiring (nafaqat foydalanuvchi savdo vakili bo'lgan uchinchi shaxslar).
    tashqi foydalanuvchilar uchun samarali emas (takliflar, buyurtmalar, hisob-fakturalar, shartnomalar va boshqalar uchun har doim o'zlari bilan cheklangan).
    Loyihalar uchun samarali emas (faqat loyiha ruxsatnomalari qoidalari, ko'rinishi va tayinlash masalalari). +Permission263=Ob'ektlarisiz barcha uchinchi shaxslarga kirishni kengaytiring (nafaqat foydalanuvchi savdo vakili bo'lgan uchinchi shaxslar).
    tashqi foydalanuvchilar uchun samarali emas (takliflar, buyurtmalar, hisob-fakturalar, shartnomalar va boshqalar uchun har doim o'zlari bilan cheklangan).
    Loyihalar uchun samarali emas (faqat loyiha ruxsatnomalari qoidalari, ko'rinishi va tayinlash masalalari). +Permission271=CA ni o'qing +Permission272=Hisob-fakturalarni o'qing +Permission273=Hisob-fakturalarni chiqarish +Permission281=Kontaktlarni o'qing +Permission282=Kontaktlarni yaratish / o'zgartirish +Permission283=Kontaktlarni o'chirish +Permission286=Kontaktlarni eksport qilish +Permission291=Tariflarni o'qing +Permission292=Tariflar bo'yicha ruxsatnomalarni o'rnating +Permission293=Mijozning tariflarini o'zgartiring +Permission300=Shtrixli kodlarni o'qing +Permission301=Shtrixli kodlarni yaratish / o'zgartirish +Permission302=Shtrixli kodlarni o'chirish +Permission311=Xizmatlarni o'qing +Permission312=Shartnomaga xizmat / obuna tayinlang +Permission331=Xatcho'plarni o'qing +Permission332=Xatcho'plarni yaratish / o'zgartirish +Permission333=Xatcho'plarni o'chirish +Permission341=O'zining ruxsatlarini o'qing +Permission342=O'zining foydalanuvchi ma'lumotlarini yaratish / o'zgartirish +Permission343=O'zining parolini o'zgartiring +Permission344=O'zining ruxsatlarini o'zgartiring +Permission351=Guruhlarni o'qing +Permission352=Guruhlarning ruxsatlarini o'qing +Permission353=Guruhlarni yaratish / o'zgartirish +Permission354=Guruhlarni o'chirish yoki o'chirish +Permission358=Foydalanuvchilarni eksport qilish +Permission401=Chegirmalarni o'qing +Permission402=Chegirmalar yaratish / o'zgartirish +Permission403=Chegirmalarni tasdiqlang +Permission404=Chegirmalarni o'chirib tashlang +Permission430=Debug Bar-dan foydalaning +Permission511=Ish haqi va to'lovlarni o'qing (o'zingizniki va bo'ysunuvchilaringiz) +Permission512=Ish haqi va to'lovlarni yaratish / o'zgartirish +Permission514=Ish haqi va to'lovlarni o'chirib tashlang +Permission517=Barchani ish haqi va to'lovlarini o'qing +Permission519=Eksport ish haqi +Permission520=Kreditlarni o'qing +Permission522=Kreditlarni yaratish / o'zgartirish +Permission524=Kreditlarni o'chirish +Permission525=Kredit kalkulyatori +Permission527=Eksport kreditlari +Permission531=Xizmatlarni o'qing +Permission532=Xizmatlarni yaratish / o'zgartirish +Permission534=Xizmatlarni o'chirish +Permission536=Yashirin xizmatlarni ko'rish / boshqarish +Permission538=Eksport xizmatlari +Permission561=Kredit o'tkazmasi orqali to'lov topshiriqlarini o'qing +Permission562=Kredit o'tkazish yo'li bilan to'lov topshirig'ini yaratish / o'zgartirish +Permission563=To'lov topshirig'ini kredit o'tkazish yo'li bilan yuborish / uzatish +Permission564=Debetlarni yozing / kredit o'tkazishni rad etish +Permission601=Stikerlarni o'qing +Permission602=Stikerlarni yarating / o'zgartiring +Permission609=Stikerlarni o'chirish +Permission650=Materiallar varaqalarini o'qing +Permission651=Materiallar hujjatlarini yarating / yangilang +Permission652=Materiallar varaqalarini o'chirish +Permission660=Ishlab chiqarish buyurtmasini o'qing (MO) +Permission661=Ishlab chiqarish buyurtmasini yaratish (yangilash) +Permission662=Ishlab chiqarish buyurtmasini o'chirish (MO) +Permission701=Xayr-ehsonlarni o'qing +Permission702=Xayriya mablag'larini yaratish / o'zgartirish +Permission703=Xayriyalarni o'chirib tashlang +Permission771=Xarajatlar to'g'risidagi hisobotlarni o'qing (o'zingiz va sizning bo'ysunuvchilaringiz) +Permission772=Xarajatlar to'g'risidagi hisobotlarni yaratish / o'zgartirish +Permission773=Xarajatlar to'g'risidagi hisobotlarni o'chirish +Permission774=Barcha xarajatlar hisobotlarini o'qing (hatto bo'ysunuvchi bo'lmagan foydalanuvchi uchun ham) +Permission775=Xarajatlar to'g'risidagi hisobotlarni tasdiqlash +Permission776=Xarajatlar bo'yicha hisobotlarni to'lash +Permission777=Hammaning hisobot hisobotini o'qing +Permission778=Hammaning xarajatlar hisobotini yarating / o'zgartiring +Permission779=Eksport xarajatlari to'g'risidagi hisobotlar +Permission1001=Qimmatli qog'ozlarni o'qing +Permission1002=Omborlarni yaratish / o'zgartirish +Permission1003=Omborlarni o'chirish +Permission1004=Birja harakatlarini o'qing +Permission1005=Birja harakatlarini yaratish / o'zgartirish +Permission1101=Yetkazib berish kvitansiyasini o'qing +Permission1102=Yetkazib berish kvitansiyasini yarating / o'zgartiring +Permission1104=Yetkazib berish kvitansiyasini tasdiqlang +Permission1109=Yetkazib berish kvitansiyasini o'chirib tashlang +Permission1121=Yetkazib beruvchilarning takliflarini o'qing +Permission1122=Yetkazib beruvchilar takliflarini yaratish / o'zgartirish +Permission1123=Yetkazib beruvchilarning takliflarini tasdiqlash +Permission1124=Yetkazib beruvchilarga takliflarni yuboring +Permission1125=Yetkazib beruvchilarning takliflarini o'chirib tashlang +Permission1126=Yetkazib beruvchilar narxlari bo'yicha so'rovlarni yoping +Permission1181=Ta'minlovchilarni o'qing +Permission1182=Xarid qilish buyurtmalarini o'qing +Permission1183=Sotib olish to'g'risida buyurtmalarni yaratish / o'zgartirish +Permission1184=Xarid buyurtmalarini tasdiqlang +Permission1185=Xarid qilish buyurtmalarini tasdiqlash +Permission1186=Xarid buyurtmalariga buyurtma bering +Permission1187=Sotib olish to'g'risida buyurtmalar olinganligini tasdiqlang +Permission1188=Xarid buyurtmalarini o'chirib tashlang +Permission1189=Xarid qilish buyurtmasini qabul qilishni belgilang / belgini olib tashlang +Permission1190=Sotib olish buyurtmalarini tasdiqlash (ikkinchi tasdiqlash) +Permission1191=Eksport etkazib beruvchilarning buyurtmalari va ularning atributlari +Permission1201=Eksport natijasini oling +Permission1202=Eksportni yaratish / o'zgartirish +Permission1231=Sotuvchi fakturalarini o'qing +Permission1232=Sotuvchi hisob-fakturalarini yaratish / o'zgartirish +Permission1233=Sotuvchi hisob-fakturalarini tasdiqlash +Permission1234=Sotuvchi hisob-fakturalarini o'chirib tashlang +Permission1235=Sotuvchi hisob-fakturalarini elektron pochta orqali yuboring +Permission1236=Sotuvchi hisob-fakturalarini, atributlarini va to'lovlarini eksport qiling +Permission1237=Xarid qilish buyurtmalarini va ularning tafsilotlarini eksport qiling +Permission1251=Ma'lumotlar bazasiga tashqi ma'lumotlarning ommaviy importini olib borish (ma'lumotlar yuklanishi) +Permission1321=Xaridorlarning hisob-fakturalarini, atributlarini va to'lovlarini eksport qiling +Permission1322=To'langan hisobni qayta oching +Permission1421=Sotish bo'yicha buyurtmalar va atributlarni eksport qiling +Permission1521=Hujjatlarni o'qing +Permission1522=Hujjatlarni o'chirish +Permission2401=Uning foydalanuvchi akkauntiga bog'langan amallarni (voqealar yoki vazifalarni) o'qing (agar tadbir egasi yoki unga tayinlangan bo'lsa) +Permission2402=Uning foydalanuvchi akkauntiga bog'langan amallarni (voqealar yoki vazifalarni) yaratish / o'zgartirish (agar tadbir egasi bo'lsa) +Permission2403=Uning foydalanuvchi akkauntiga bog'langan amallarni (voqealar yoki vazifalarni) o'chirish (agar tadbir egasi bo'lsa) +Permission2411=Boshqalarning harakatlarini (hodisalarini yoki vazifalarini) o'qing +Permission2412=Boshqalarning harakatlarini (hodisalarini yoki vazifalarini) yarating / o'zgartiring +Permission2413=Boshqalarning harakatlarini (hodisalarini yoki vazifalarini) o'chirib tashlang +Permission2414=Boshqalarning harakatlarini / vazifalarini eksport qilish +Permission2501=Hujjatlarni o'qish / yuklab olish +Permission2502=Hujjatlarni yuklab oling +Permission2503=Hujjatlarni yuborish yoki o'chirish +Permission2515=Hujjatlar kataloglarini sozlash +Permission2801=FTP mijozidan o'qish rejimida foydalaning (faqat ko'rib chiqing va yuklab oling) +Permission2802=Yozish rejimida FTP mijozidan foydalaning (fayllarni o'chirish yoki yuklash) +Permission3200=Arxivlangan voqealar va barmoq izlarini o'qing +Permission3301=Yangi modullarni yarating +Permission4001=Xodimlarni ko'rish +Permission4002=Xodimlarni yarating +Permission4003=Xodimlarni o'chirish +Permission4004=Xodimlarni eksport qilish +Permission10001=Veb-sayt tarkibini o'qing +Permission10002=Veb-sayt tarkibini yaratish / o'zgartirish (HTML va javascript tarkibi) +Permission10003=Veb-sayt tarkibini yaratish / o'zgartirish (dinamik php-kod). Xavfli, cheklangan ishlab chiquvchilarga tegishli bo'lishi kerak. +Permission10005=Veb-sayt tarkibini o'chirish +Permission20001=Ta'tilga bo'lgan talablarni o'qing (sizning va sizning bo'ysunuvchilaringizning ta'tillari) +Permission20002=Ta'tilga oid so'rovlarni yaratish (o'zgartirish va o'zingizning bo'ysunuvchilaringiz) +Permission20003=Dam olish uchun so'rovlarni o'chirib tashlang +Permission20004=Barcha ta'tilga oid so'rovlarni o'qing (hatto foydalanuvchi unga bo'ysunmagan) +Permission20005=Barchaga (hattoki tobe bo'lmagan foydalanuvchi uchun ham) ta'tilga chiqish so'rovlarini yaratish / o'zgartirish +Permission20006=Administrator so'rovlarni qoldiradi (sozlash va balansni yangilash) +Permission20007=Ta'til bo'yicha so'rovlarni tasdiqlash +Permission23001=Rejalashtirilgan ishni o'qing +Permission23002=Rejalashtirilgan ishni yaratish / yangilash +Permission23003=Rejalashtirilgan ishni o'chirish +Permission23004=Rejalashtirilgan ishni bajaring +Permission50101=Savdo punktidan foydalaning (SimplePOS) +Permission50151=Savdo punktidan foydalaning (TakePOS) +Permission50152=Savdo yo'nalishlarini tahrirlash +Permission50153=Buyurtma qilingan savdo yo'nalishlarini tahrirlash +Permission50201=Tranzaksiyalarni o'qing +Permission50202=Import operatsiyalari +Permission50330=Zapier ob'ektlarini o'qing +Permission50331=Zapier ob'ektlarini yaratish / yangilash +Permission50332=Zapier ob'ektlarini o'chirish +Permission50401=Mahsulotlar va hisob-fakturalarni buxgalteriya hisobvaraqlari bilan bog'lash +Permission50411=Amallarni daftarda o'qing +Permission50412=Daftarda operatsiyalarni yozish / tahrirlash +Permission50414=Hisob kitobidagi operatsiyalarni o'chirish +Permission50415=Barcha operatsiyalarni yil bo'yicha o'chiring va daftarda qayd qiling +Permission50418=Buxgalteriya kitobining eksport operatsiyalari +Permission50420=Hisobot va eksport bo'yicha hisobotlar (tovar aylanmasi, balans, jurnallar, daftar) +Permission50430=Fiskal davrlarni aniqlang. Tranzaktsiyalarni tasdiqlang va soliq davrlarini yoping. +Permission50440=Hisob-kitoblar rejasini boshqarish, buxgalteriya hisobini sozlash +Permission51001=Aktivlarni o'qing +Permission51002=Obyektlarni yaratish / yangilash +Permission51003=Obyektlarni o‘chirish +Permission51005=Aktiv turlarini sozlash +Permission54001=Chop etish +Permission55001=So'rovnomalarni o'qing +Permission55002=So'rovlarni yaratish / o'zgartirish +Permission59001=Tijorat chekkalarini o'qing +Permission59002=Tijorat chekkalarini aniqlang +Permission59003=Har bir foydalanuvchi marjini o'qing +Permission63001=Resurslarni o'qing +Permission63002=Resurslarni yaratish / o'zgartirish +Permission63003=Resurslarni o'chirish +Permission63004=Resurslarni kun tartibidagi voqealar bilan bog'lang +Permission64001=To'g'ridan-to'g'ri bosib chiqarishga ruxsat berish +Permission67000=Kvitansiyalarni bosib chiqarishga ruxsat berish +Permission68001=Ichki hisobotni o'qing +Permission68002=Ichki hisobotni yaratish / o'zgartirish +Permission68004=Ichki hisobotni o'chirib tashlang +Permission941601=Kvitansiyalarni o'qing +Permission941602=Kvitansiyalarni yarating va o'zgartiring +Permission941603=Kvitansiyalarni tasdiqlash +Permission941604=Qabullarni elektron pochta orqali yuboring +Permission941605=Tovarlarni eksport qilish +Permission941606=Kvitansiyalarni o'chirish +DictionaryCompanyType=Uchinchi tomon turlari +DictionaryCompanyJuridicalType=Uchinchi tomon yuridik shaxslari +DictionaryProspectLevel=Kompaniyalar uchun istiqbolli potentsial darajasi +DictionaryProspectContactLevel=Kontaktlar uchun istiqbolli potentsial darajasi +DictionaryCanton=Shtatlar / viloyatlar +DictionaryRegion=Mintaqalar +DictionaryCountry=Mamlakatlar +DictionaryCurrency=Valyutalar +DictionaryCivility=Faxriy unvonlar +DictionaryActions=Kun tartibidagi tadbirlar turlari +DictionarySocialContributions=Ijtimoiy yoki soliq soliqlarining turlari +DictionaryVAT=QQS stavkalari yoki sotish uchun soliq stavkalari +DictionaryRevenueStamp=Soliq markalari miqdori +DictionaryPaymentConditions=To'lov shartlari +DictionaryPaymentModes=To'lov usullari +DictionaryTypeContact=Aloqa / manzil turlari +DictionaryTypeOfContainer=Veb-sayt - veb-sayt sahifalarining turi / konteynerlari +DictionaryEcotaxe=Ekotaks (WEEE) +DictionaryPaperFormat=Qog'oz formatlari +DictionaryFormatCards=Karta formatlari +DictionaryFees=Xarajatlar to'g'risidagi hisobot - xarajatlar hisobotining turlari +DictionarySendingMethods=Yuk tashish usullari +DictionaryStaff=Xodimlar soni +DictionaryAvailability=Yetkazib berishning kechikishi +DictionaryOrderMethods=Buyurtma usullari +DictionarySource=Takliflarning / buyurtmalarning kelib chiqishi +DictionaryAccountancyCategory=Hisobotlar uchun moslashtirilgan guruhlar +DictionaryAccountancysystem=Hisob-kitoblar rejasi uchun modellar +DictionaryAccountancyJournal=Buxgalteriya jurnallari +DictionaryEMailTemplates=Elektron pochta shablonlari +DictionaryUnits=Birlik +DictionaryMeasuringUnits=O'lchov birliklari +DictionarySocialNetworks=Ijtimoiy tarmoqlar +DictionaryProspectStatus=Kompaniyalarning istiqbolli holati +DictionaryProspectContactStatus=Kontaktlar uchun istiqbol holati +DictionaryHolidayTypes=Dam olish - ta'til turlari +DictionaryOpportunityStatus=Loyiha / qo'rg'oshin uchun etakchi holat +DictionaryExpenseTaxCat=Xarajatlar to'g'risidagi hisobot - transport toifalari +DictionaryExpenseTaxRange=Xarajatlar to'g'risidagi hisobot - transport kategoriyasi bo'yicha oraliq +DictionaryTransportMode=Ichki hisobot - Transport rejimi +DictionaryBatchStatus=Mahsulot partiyasi / ketma-ket sifat nazorati holati +TypeOfUnit=Birlikning turi +SetupSaved=O'rnatish saqlandi +SetupNotSaved=Sozlash saqlanmadi +BackToModuleList=Modullar ro'yxatiga qaytish +BackToDictionaryList=Lug'atlar ro'yxatiga qaytish +TypeOfRevenueStamp=Soliq markasining turi +VATManagement=Sotish bo'yicha soliqni boshqarish +VATIsUsedDesc=Sukut bo'yicha istiqbollarni, schyot-fakturalarni, buyurtmalarni va boshqalarni yaratishda Soliq stavkasi amaldagi standart qoidaga amal qiladi:
    Agar sotuvchiga Sotuv solig'i olinmasa, u holda Soliq solig'i sukut bo'yicha 0 ga teng bo'ladi. Qoida oxiri.
    ((sotuvchining mamlakati = xaridorning mamlakati) bo'lsa, u holda sotuvlar bo'yicha soliq sukut bo'yicha sotuvchining mamlakatidagi sotish solig'iga teng bo'ladi. Qoidaning tugashi.
    Agar sotuvchi va xaridor ikkalasi ham Evropa hamjamiyatida bo'lsa va tovarlar transport bilan bog'liq mahsulotlar (yuk tashish, yuk tashish, aviakompaniya) bo'lsa, standart QQS 0. Bu qoida sotuvchining mamlakatiga bog'liq - iltimos, buxgalteringiz bilan maslahatlashing. QQSni xaridor sotuvchiga emas, balki o'z mamlakatlaridagi bojxona idoralariga to'lashi kerak. Qoidaning tugashi.
    Agar sotuvchi va xaridor ikkalasi ham Evropa hamjamiyatida bo'lsa va xaridor kompaniya bo'lmasa (ro'yxatdan o'tgan QQS raqami bilan), u holda QQS sotuvchi mamlakatining QQS stavkasiga mos kelmaydi. Qoidaning tugashi.
    Agar sotuvchi va xaridor ikkalasi ham Evropa hamjamiyatida bo'lsa va xaridor shirkat bo'lsa (ro'yxatdan o'tgan jamiyat ichidagi QQS raqami bilan), unda QQS sukut bo'yicha 0 ga teng. Qoidaning tugashi.
    Boshqa har qanday holatda, taklif qilingan sukut sotish solig'i = 0. Qoidaning tugashi. +VATIsNotUsedDesc=Sukut bo'yicha taklif qilinadigan Soliq solig'i 0 ga teng bo'lib, u assotsiatsiyalar, jismoniy shaxslar yoki kichik kompaniyalar kabi hollarda ishlatilishi mumkin. +VATIsUsedExampleFR=Frantsiyada bu haqiqiy fiskal tizimga ega bo'lgan kompaniyalar yoki tashkilotlarni anglatadi (Soddalashtirilgan real yoki normal real). QQS e'lon qilingan tizim. +VATIsNotUsedExampleFR=Frantsiyada bu Sotishdan tashqari deklaratsiyalangan assotsiatsiyalarni yoki mikrofirma fiskal tizimini tanlagan (franchayzadagi savdo solig'i) va franchayzing savdo soliqlarini hech qanday savdo deklaratsiyasisiz to'lagan kompaniyalar, tashkilotlar yoki liberal kasblarni anglatadi. Ushbu tanlovda hisobvaraq-fakturalarda "Amalga oshirilmaydigan savdo solig'i - CGI san'ati-293B" ma'lumotnomasi ko'rsatiladi. ##### Local Taxes ##### -TypeOfSaleTaxes=Type of sales tax -LTRate=Rate -LocalTax1IsNotUsed=Do not use second tax -LocalTax1IsUsedDesc=Use a second type of tax (other than first one) -LocalTax1IsNotUsedDesc=Do not use other type of tax (other than first one) -LocalTax1Management=Second type of tax +TypeOfSaleTaxes=Sotishdan olinadigan soliq turi +LTRate=Tezlik +LocalTax1IsNotUsed=Ikkinchi soliqdan foydalanmang +LocalTax1IsUsedDesc=Soliqning ikkinchi turidan foydalaning (birinchisidan tashqari) +LocalTax1IsNotUsedDesc=Boshqa soliq turlaridan foydalanmang (birinchisidan tashqari) +LocalTax1Management=Soliqning ikkinchi turi LocalTax1IsUsedExample= LocalTax1IsNotUsedExample= -LocalTax2IsNotUsed=Do not use third tax -LocalTax2IsUsedDesc=Use a third type of tax (other than first one) -LocalTax2IsNotUsedDesc=Do not use other type of tax (other than first one) -LocalTax2Management=Third type of tax +LocalTax2IsNotUsed=Uchinchi soliqdan foydalanmang +LocalTax2IsUsedDesc=Uchinchi soliq turidan foydalaning (birinchisidan tashqari) +LocalTax2IsNotUsedDesc=Boshqa soliq turlaridan foydalanmang (birinchisidan tashqari) +LocalTax2Management=Soliqning uchinchi turi LocalTax2IsUsedExample= LocalTax2IsNotUsedExample= -LocalTax1ManagementES=RE Management -LocalTax1IsUsedDescES=The RE rate by default when creating prospects, invoices, orders etc. follow the active standard rule:
    If the buyer is not subjected to RE, RE by default=0. End of rule.
    If the buyer is subjected to RE then the RE by default. End of rule.
    -LocalTax1IsNotUsedDescES=By default the proposed RE is 0. End of rule. -LocalTax1IsUsedExampleES=In Spain they are professionals subject to some specific sections of the Spanish IAE. -LocalTax1IsNotUsedExampleES=In Spain they are professional and societies and subject to certain sections of the Spanish IAE. -LocalTax2ManagementES=IRPF Management -LocalTax2IsUsedDescES=The IRPF rate by default when creating prospects, invoices, orders etc. follow the active standard rule:
    If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
    If the seller is subjected to IRPF then the IRPF by default. End of rule.
    -LocalTax2IsNotUsedDescES=By default the proposed IRPF is 0. End of rule. -LocalTax2IsUsedExampleES=In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. -LocalTax2IsNotUsedExampleES=In Spain they are businesses not subject to tax system of modules. -RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. -UseRevenueStamp=Use a tax stamp -UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) -CalcLocaltax=Reports on local taxes -CalcLocaltax1=Sales - Purchases -CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases -CalcLocaltax2=Purchases -CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases -CalcLocaltax3=Sales -CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales -NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax -LabelUsedByDefault=Label used by default if no translation can be found for code -LabelOnDocuments=Label on documents -LabelOrTranslationKey=Label or translation key -ValueOfConstantKey=Value of a configuration constant -ConstantIsOn=Option %s is on -NbOfDays=No. of days -AtEndOfMonth=At end of month -CurrentNext=Current/Next -Offset=Offset -AlwaysActive=Always active -Upgrade=Upgrade -MenuUpgrade=Upgrade / Extend -AddExtensionThemeModuleOrOther=Deploy/install external app/module -WebServer=Web server -DocumentRootServer=Web server's root directory -DataRootServer=Data files directory +LocalTax1ManagementES=RE boshqaruvi +LocalTax1IsUsedDescES=Istiqbollar, hisob-fakturalar, buyurtmalar va boshqalarni yaratishda RE stavkasi sukut bo'yicha faol standart qoidaga amal qiladi:
    Agar xaridor REga bo'ysunmasa, sukut bo'yicha RE = 0. Qoidaning tugashi.
    Agar xaridor REga duch kelsa, u holda RE sukut bo'yicha. Qoidaning tugashi.
    +LocalTax1IsNotUsedDescES=Odatiy bo'lib, taklif qilingan RE 0. Qoidaning oxiri. +LocalTax1IsUsedExampleES=Ispaniyada ular Ispaniya IAE ning ba'zi bir aniq bo'limlariga bo'ysunadigan mutaxassislardir. +LocalTax1IsNotUsedExampleES=Ispaniyada ular professional va jamiyatdir va Ispaniya IAEning ayrim bo'limlariga bo'ysunadilar. +LocalTax2ManagementES=IRPF menejmenti +LocalTax2IsUsedDescES=Istiqbollar, hisob-fakturalar, buyurtmalar va boshqalarni yaratishda IRPF stavkasi faol standart qoidaga amal qiladi:
    Agar sotuvchi IRPFga bo'ysunmasa, u holda IRPF sukut bo'yicha = 0 bo'ladi. Qoidaning tugashi.
    Agar sotuvchiga IRPF tegishli bo'lsa, u holda IRPF sukut bo'yicha. Qoidaning tugashi.
    +LocalTax2IsNotUsedDescES=Odatiy bo'lib, taklif qilingan IRPF 0. Qoidalarning oxiri. +LocalTax2IsUsedExampleES=Ispaniyada xizmat ko'rsatuvchi frilanserlar va mustaqil mutaxassislar va modullarning soliq tizimini tanlagan kompaniyalar. +LocalTax2IsNotUsedExampleES=Ispaniyada ular modul soliq tizimiga bo'ysunmaydigan korxonalardir. +RevenueStampDesc="Soliq shtampi" yoki "daromad shtampi" - har bir faktura bo'yicha qat'iy belgilangan soliq (Bu schyot-faktura miqdoriga bog'liq emas). Shuningdek, bu foizli soliq bo'lishi mumkin, ammo soliqning ikkinchi yoki uchinchi turidan foydalanish foizli soliqlar uchun yaxshiroqdir, chunki soliq markalarida hech qanday hisobot berilmaydi. Ushbu turdagi soliqlardan faqat ozgina mamlakatlar foydalanadi. +UseRevenueStamp=Soliq markasidan foydalaning +UseRevenueStampExample=Soliq markasining qiymati sukut bo'yicha lug'atlarni o'rnatishda aniqlanadi (%s - %s - %s) +CalcLocaltax=Mahalliy soliqlar bo'yicha hisobotlar +CalcLocaltax1=Sotish - sotib olish +CalcLocaltax1Desc=Mahalliy soliqlar bo'yicha hisobotlar mahalliy soliqlarni sotish va mahalliy soliqlarni sotib olish o'rtasidagi farq bilan hisoblanadi +CalcLocaltax2=Xaridlar +CalcLocaltax2Desc=Mahalliy soliqlar bo'yicha hisobotlar - bu mahalliy soliqlarni sotib olishning umumiy miqdori +CalcLocaltax3=Sotish +CalcLocaltax3Desc=Mahalliy soliqlar bo'yicha hisobotlar - bu mahalliy soliqlar bo'yicha sotuvlar yig'indisi +NoLocalTaxXForThisCountry=Soliqlarni o'rnatishga muvofiq (Qarang: %s - %s - %s), sizning mamlakatingizda bunday turdagi soliqlardan foydalanishning hojati yo'q +LabelUsedByDefault=Agar kod uchun tarjima topilmasa, sukut bo'yicha ishlatiladigan yorliq +LabelOnDocuments=Hujjatlardagi yorliq +LabelOrTranslationKey=Yorliq yoki tarjima kaliti +ValueOfConstantKey=Konfiguratsiya doimiyligining qiymati +ConstantIsOn=%s variant yoniq +NbOfDays=Kunlar soni +AtEndOfMonth=Oy oxirida +CurrentNext=Joriy / keyingi +Offset=Ofset +AlwaysActive=Har doim faol +Upgrade=Yangilash +MenuUpgrade=Yangilash / uzaytirish +AddExtensionThemeModuleOrOther=Tashqi ilova / modulni joylashtiring / o'rnating +WebServer=Veb-server +DocumentRootServer=Veb-serverning ildiz katalogi +DataRootServer=Ma'lumotlar fayllari katalogi IP=IP Port=Port -VirtualServerName=Virtual server name +VirtualServerName=Virtual server nomi OS=OS -PhpWebLink=Web-Php link +PhpWebLink=Web-Php havolasi Server=Server -Database=Database -DatabaseServer=Database host -DatabaseName=Database name -DatabasePort=Database port -DatabaseUser=Database user -DatabasePassword=Database password -Tables=Tables -TableName=Table name -NbOfRecord=No. of records +Database=Ma'lumotlar bazasi +DatabaseServer=Ma'lumotlar bazasi xosti +DatabaseName=Ma'lumotlar bazasi nomi +DatabasePort=Ma'lumotlar bazasi porti +DatabaseUser=Ma'lumotlar bazasi foydalanuvchisi +DatabasePassword=Ma'lumotlar bazasi paroli +Tables=Jadvallar +TableName=Jadval nomi +NbOfRecord=Yozuvlar soni Host=Server -DriverType=Driver type -SummarySystem=System information summary -SummaryConst=List of all Dolibarr setup parameters -MenuCompanySetup=Company/Organization -DefaultMenuManager= Standard menu manager -DefaultMenuSmartphoneManager=Smartphone menu manager -Skin=Skin theme -DefaultSkin=Default skin theme -MaxSizeList=Max length for list -DefaultMaxSizeList=Default max length for lists -DefaultMaxSizeShortList=Default max length for short lists (i.e. in customer card) -MessageOfDay=Message of the day -MessageLogin=Login page message -LoginPage=Login page -BackgroundImageLogin=Background image -PermanentLeftSearchForm=Permanent search form on left menu -DefaultLanguage=Default language -EnableMultilangInterface=Enable multilanguage support for customer or vendor relationships -EnableShowLogo=Show the company logo in the menu -CompanyInfo=Company/Organization -CompanyIds=Company/Organization identities -CompanyName=Name -CompanyAddress=Address +DriverType=Haydovchi turi +SummarySystem=Tizim haqida qisqacha ma'lumot +SummaryConst=Barcha Dolibarr parametrlarini ro'yxati +MenuCompanySetup=Kompaniya / tashkilot +DefaultMenuManager= Standart menyu menejeri +DefaultMenuSmartphoneManager=Smartfon menyusi menejeri +Skin=Teri mavzusi +DefaultSkin=Standart teri mavzusi +MaxSizeList=Ro'yxat uchun maksimal uzunlik +DefaultMaxSizeList=Ro'yxatlar uchun standart maksimal uzunlik +DefaultMaxSizeShortList=Qisqa ro'yxatlar uchun standart maksimal uzunlik (ya'ni mijozlar kartasida) +MessageOfDay=Kunning xabari +MessageLogin=Kirish sahifasidagi xabar +LoginPage=Kirish sahifasi +BackgroundImageLogin=Orqa fon rasmi +PermanentLeftSearchForm=Chap menyuda doimiy qidiruv shakli +DefaultLanguage=Standart til +EnableMultilangInterface=Xaridor yoki sotuvchi munosabatlari uchun ko'p tilli yordamni yoqing +EnableShowLogo=Menyuda kompaniya logotipini ko'rsating +CompanyInfo=Kompaniya / tashkilot +CompanyIds=Kompaniya / tashkilotning identifikatorlari +CompanyName=Ism +CompanyAddress=Manzil CompanyZip=Zip -CompanyTown=Town -CompanyCountry=Country -CompanyCurrency=Main currency -CompanyObject=Object of the company -IDCountry=ID country -Logo=Logo -LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) -LogoSquarred=Logo (squarred) -LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). -DoNotSuggestPaymentMode=Do not suggest -NoActiveBankAccountDefined=No active bank account defined -OwnerOfBankAccount=Owner of bank account %s -BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Define the link "%s" (empty to not display this link, 'github' for the link to the Dolibarr project or define directly an url 'https://...') -Alerts=Alerts -DelaysOfToleranceBeforeWarning=Delay before displaying a warning alert for: -DelaysOfToleranceDesc=Set the delay before an alert icon %s is shown onscreen for the late element. -Delays_MAIN_DELAY_ACTIONS_TODO=Planned events (agenda events) not completed -Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Project not closed in time -Delays_MAIN_DELAY_TASKS_TODO=Planned task (project tasks) not completed -Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Order not processed -Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Purchase order not processed -Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Proposal not closed -Delays_MAIN_DELAY_PROPALS_TO_BILL=Proposal not billed -Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Service to activate -Delays_MAIN_DELAY_RUNNING_SERVICES=Expired service -Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Unpaid vendor invoice -Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Unpaid customer invoice -Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Pending bank reconciliation -Delays_MAIN_DELAY_MEMBERS=Delayed membership fee -Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Check deposit not done -Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve -Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve -SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. -SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). -SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. -SetupDescription5=Other Setup menu entries manage optional parameters. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit -InfoDolibarr=About Dolibarr -InfoBrowser=About Browser -InfoOS=About OS -InfoWebServer=About Web Server -InfoDatabase=About Database -InfoPHP=About PHP -InfoPerf=About Performances -InfoSecurity=About Security -BrowserName=Browser name -BrowserOS=Browser OS -ListOfSecurityEvents=List of Dolibarr security events -SecurityEventsPurged=Security events purged -LogEventDesc=Enable logging for specific security events. Administrators the log via menu %s - %s. Warning, this feature can generate a large amount of data in the database. -AreaForAdminOnly=Setup parameters can be set by administrator users only. -SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. -SystemAreaForAdminOnly=This area is available to administrator users only. Dolibarr user permissions cannot change this restriction. -CompanyFundationDesc=Edit the information of your company/organization. Click on "%s" button at the bottom of the page when done. -AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. -AccountantFileNumber=Accountant code -DisplayDesc=Parameters affecting the look and behaviour of Dolibarr can be modified here. -AvailableModules=Available app/modules -ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). -SessionTimeOut=Time out for session -SessionExplanation=This number guarantees that the session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guarantee that the session will expire after this delay. It will expire, after this delay, and when the session cleaner is run, so every %s/%s access, but only during access made by other sessions (if value is 0, it means clearing of session is done only by an external process).
    Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by an external setup, no matter what the value entered here is. -SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. -TriggersAvailable=Available triggers -TriggersDesc=Triggers are files that will modify the behavior of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realize new actions, activated on Dolibarr events (new company creation, invoice validation, ...). -TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. -TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. -TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. -TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. -GeneratedPasswordDesc=Choose the method to be used for auto-generated passwords. -DictionaryDesc=Insert all reference data. You can add your values to the default. -ConstDesc=This page allows you to edit (override) parameters not available in other pages. These are mostly reserved parameters for developers/advanced troubleshooting only. -MiscellaneousDesc=All other security related parameters are defined here. -LimitsSetup=Limits/Precision setup -LimitsDesc=You can define limits, precisions and optimizations used by Dolibarr here -MAIN_MAX_DECIMALS_UNIT=Max. decimals for unit prices -MAIN_MAX_DECIMALS_TOT=Max. decimals for total prices -MAIN_MAX_DECIMALS_SHOWN=Max. decimals for prices shown on screen. Add an ellipsis ... after this parameter (e.g. "2...") if you want to see "..." suffixed to the truncated price. -MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something other than base 10. For example, put 0.05 if rounding is done by 0.05 steps) -UnitPriceOfProduct=Net unit price of a product -TotalPriceAfterRounding=Total price (excl/vat/incl tax) after rounding -ParameterActiveForNextInputOnly=Parameter effective for next input only -NoEventOrNoAuditSetup=No security event has been logged. This is normal if Audit has not been enabled in the "Setup - Security - Events" page. -NoEventFoundWithCriteria=No security event has been found for this search criteria. -SeeLocalSendMailSetup=See your local sendmail setup -BackupDesc=A complete backup of a Dolibarr installation requires two steps. -BackupDesc2=Backup the contents of the "documents" directory (%s) containing all uploaded and generated files. This will also include all the dump files generated in Step 1. This operation may last several minutes. -BackupDesc3=Backup the structure and contents of your database (%s) into a dump file. For this, you can use the following assistant. -BackupDescX=The archived directory should be stored in a secure place. -BackupDescY=The generated dump file should be stored in a secure place. -BackupPHPWarning=Backup cannot be guaranteed with this method. Previous one recommended. -RestoreDesc=To restore a Dolibarr backup, two steps are required. -RestoreDesc2=Restore the backup file (zip file for example) of the "documents" directory to a new Dolibarr installation or into this current documents directory (%s). -RestoreDesc3=Restore the database structure and data from a backup dump file into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once the restore is complete, you must use a login/password, that existed from the backup time/installation to connect again.
    To restore a backup database into this current installation, you can follow this assistant. -RestoreMySQL=MySQL import -ForcedToByAModule=This rule is forced to %s by an activated module -ValueIsForcedBySystem=This value is forced by the system. You can't change it. -PreviousDumpFiles=Existing backup files -PreviousArchiveFiles=Existing archive files -WeekStartOnDay=First day of the week -RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Program version %s differs from Database version %s) +CompanyTown=Shahar +CompanyCountry=Mamlakat +CompanyCurrency=Asosiy valyuta +CompanyObject=Kompaniya ob'ekti +IDCountry=ID mamlakat +Logo=Logotip +LogoDesc=Kompaniyaning asosiy logotipi. Yaratilgan hujjatlarda ishlatiladi (PDF, ...) +LogoSquarred=Logotip (kvadrat shaklida) +LogoSquarredDesc=Kvadratik belgi bo'lishi kerak (kenglik = balandlik). Ushbu logotip eng yaxshi belgi yoki yuqori menyu satridagi boshqa ehtiyojlar sifatida ishlatiladi (agar displey sozlamalarida o'chirilmagan bo'lsa). +DoNotSuggestPaymentMode=Taklif qilmang +NoActiveBankAccountDefined=Faol bank hisob raqami aniqlanmadi +OwnerOfBankAccount=%s bank hisobvarag'ining egasi +BankModuleNotActive=Bank hisoblari moduli yoqilmagan +ShowBugTrackLink=" %s " havolasini aniqlang (bu havolani namoyish qilmaslik uchun bo'sh, Dolibarr loyihasiga havola uchun 'github' yoki to'g'ridan-to'g'ri URL manzilini belgilang 'https: // ...') +Alerts=Ogohlantirishlar +DelaysOfToleranceBeforeWarning=Ogohlantirish signalini ko'rsatishdan oldin kechikish: +DelaysOfToleranceDesc=Kechiktirilgan elementni ekranda %s ogohlantirish belgisi paydo bo'lishidan oldin kechiktirishni o'rnating. +Delays_MAIN_DELAY_ACTIONS_TODO=Rejalashtirilgan tadbirlar (kun tartibidagi tadbirlar) tugallanmagan +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Loyiha o'z vaqtida yopilmagan +Delays_MAIN_DELAY_TASKS_TODO=Rejalashtirilgan vazifa (loyiha vazifalari) bajarilmagan +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Buyurtma bajarilmadi +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Xarid qilish buyurtmasi qayta ishlanmadi +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Taklif yopilmagan +Delays_MAIN_DELAY_PROPALS_TO_BILL=Taklif taqdim etilmaydi +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Yoqish uchun xizmat +Delays_MAIN_DELAY_RUNNING_SERVICES=Muddati o'tgan xizmat +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=To'lovsiz sotuvchining hisob-fakturasi +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=To'lanmagan mijozlar uchun hisob-faktura +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Bank bilan kelishuv kutilmoqda +Delays_MAIN_DELAY_MEMBERS=Kechiktirilgan a'zolik badali +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Depozitni tekshirish amalga oshirilmagan +Delays_MAIN_DELAY_EXPENSEREPORTS=Tasdiqlash uchun xarajatlar to'g'risidagi hisobot +Delays_MAIN_DELAY_HOLIDAYS=Tasdiqlash uchun so'rovlarni qoldiring +SetupDescription1=Dolibarr-dan foydalanishni boshlashdan oldin ba'zi bir boshlang'ich parametrlarni aniqlash va modullarni yoqish / sozlash kerak. +SetupDescription2=Quyidagi ikkita bo'lim majburiydir (O'rnatish menyusidagi ikkita birinchi yozuv): +SetupDescription3= %s -> %s

    Ilovangizning standart xatti-harakatlarini sozlash uchun ishlatiladigan asosiy parametrlar (masalan, mamlakat bilan bog'liq). +SetupDescription4= %s -> %s

    Ushbu dastur ko'plab modullar / ilovalar to'plamidir. Sizning ehtiyojlaringiz bilan bog'liq modullarni yoqish va sozlash kerak. Ushbu modullar yoqilganda menyu yozuvlari paydo bo'ladi. +SetupDescription5=Boshqa O'rnatish menyusi yozuvlari ixtiyoriy parametrlarni boshqaradi. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=Tekshiriladigan xavfsizlik hodisalari +NoSecurityEventsAreAduited=Hech qanday xavfsizlik hodisalari tekshirilmaydi. Siz ularni %s menyusidan faollashtirishingiz mumkin +Audit=Xavfsizlik tadbirlari +InfoDolibarr=Dolibarr haqida +InfoBrowser=Brauzer haqida +InfoOS=OS haqida +InfoWebServer=Veb-server haqida +InfoDatabase=Ma'lumotlar bazasi haqida +InfoPHP=PHP haqida +InfoPerf=Ijrolar haqida +InfoSecurity=Xavfsizlik to'g'risida +BrowserName=Brauzer nomi +BrowserOS=Brauzer OS +ListOfSecurityEvents=Dolibarr xavfsizlik tadbirlari ro'yxati +SecurityEventsPurged=Xavfsizlik tadbirlari tozalandi +LogEventDesc=Muayyan xavfsizlik hodisalari uchun jurnalga yozishni yoqing. Administratorlar jurnalni %s - %s menyusi orqali qayd etishadi. Ogohlantirish, ushbu xususiyat ma'lumotlar bazasida katta hajmdagi ma'lumotlarni yaratishi mumkin. +AreaForAdminOnly=O'rnatish parametrlarini faqat administrator foydalanuvchilari tomonidan o'rnatishi mumkin. +SystemInfoDesc=Tizim ma'lumotlari faqat o'qish rejimida olinadigan va faqat administratorlar uchun ko'rinadigan turli xil texnik ma'lumotlardir. +SystemAreaForAdminOnly=Ushbu maydon faqat administrator foydalanuvchilari uchun mavjud. Dolibarr foydalanuvchi ruxsatnomalari ushbu cheklovni o'zgartira olmaydi. +CompanyFundationDesc=Kompaniyangiz / tashkilotingiz ma'lumotlarini tahrirlash. Ish tugagandan so'ng sahifaning pastki qismidagi "%s" tugmasini bosing. +AccountantDesc=Agar sizda tashqi buxgalter / buxgalter bo'lsa, bu erda uning ma'lumotlarini tahrirlashingiz mumkin. +AccountantFileNumber=Buxgalter kodi +DisplayDesc=Dolibarr tashqi ko'rinishiga va xatti-harakatlariga ta'sir qiladigan parametrlarni bu erda o'zgartirish mumkin. +AvailableModules=Mavjud ilova / modullar +ToActivateModule=Modullarni faollashtirish uchun o'rnatish maydoniga o'ting (Uy-> O'rnatish-> Modullar). +SessionTimeOut=Mashg'ulot uchun vaqt tugadi +SessionExplanation=Ushbu raqam, agar sessiyani tozalovchi ichki PHP sessiyasini tozalash vositasi tomonidan amalga oshirilsa (va boshqa hech narsa), bu kechikishdan oldin sessiya hech qachon tugamasligini kafolatlaydi. PHP sessiyasining ichki tozalagichi ushbu kechikishdan keyin sessiya tugashiga kafolat bermaydi. Bu kechikishdan keyin va seansni tozalash vositasi ishga tushirilganda tugaydi, %s/%sshuning uchun har bir jarayon).
    Eslatma: tashqi seansni tozalash mexanizmi bo'lgan ba'zi serverlarda (debian, ubuntu ... ostida cron), bu erda kiritilgan qiymatdan qat'i nazar, tashqi o'rnatish bilan belgilangan muddatdan so'ng sessiyalar yo'q qilinishi mumkin. +SessionsPurgedByExternalSystem=Ushbu serverdagi sessiyalar tashqi mexanizm (cron, debian, ubuntu ...) bilan tozalanadigandek tuyuladi, ehtimol har bir %s soniya (= session.gc9f88 Server ma'muridan sessiyaning kechikishini o'zgartirishni so'rashingiz kerak. +TriggersAvailable=Mavjud triggerlar +TriggersDesc=Triggerlar - bu htdocs / core / triggers katalogiga ko'chirilgandan so'ng, Dolibarr ish oqimini o'zgartiradigan fayllar. Ular Dolibarr tadbirlarida faollashtirilgan yangi harakatlarni amalga oshiradilar (yangi kompaniya yaratish, hisob-fakturani tasdiqlash, ...). +TriggerDisabledByName=Ushbu fayldagi triggerlar o'z nomidagi -NORUN qo'shimchasi tomonidan o'chirib qo'yilgan. +TriggerDisabledAsModuleDisabled=Ushbu faylda triggerlar o'chirilgan, chunki %s moduli o'chirilgan. +TriggerAlwaysActive=Dolibarr modullari qanday bo'lishidan qat'i nazar, ushbu fayldagi triggerlar har doim faol bo'ladi. +TriggerActiveAsModuleActive= %s moduli yoqilganligi sababli ushbu fayldagi tetiklar faoldir. +GeneratedPasswordDesc=Avtomatik ravishda yaratilgan parollar uchun ishlatiladigan usulni tanlang. +DictionaryDesc=Barcha mos yozuvlar ma'lumotlarini joylashtiring. Siz o'zingizning qadriyatlarni sukut bo'yicha qo'shishingiz mumkin. +ConstDesc=Ushbu sahifa boshqa sahifalarda mavjud bo'lmagan parametrlarni tahrirlash (bekor qilish) imkonini beradi. Ular asosan ishlab chiquvchilar uchun ajratilgan parametrlardir / faqat rivojlangan muammolarni bartaraf etish. +MiscellaneousDesc=Xavfsizlik bilan bog'liq barcha boshqa parametrlar bu erda aniqlangan. +LimitsSetup=Cheklovlar / aniqlik sozlamalari +LimitsDesc=Dolibarr tomonidan qo'llaniladigan limitlar, aniqliklar va optimallashtirishlarni bu erda belgilashingiz mumkin +MAIN_MAX_DECIMALS_UNIT=Maks. birlik narxlari uchun o'nlik +MAIN_MAX_DECIMALS_TOT=Maks. umumiy narxlar uchun o'nlik +MAIN_MAX_DECIMALS_SHOWN=Maks. narxlari uchun o'nlik, ekranida ko'rsatilgan. Agar kesilgan narxga qo'shilgan " ... " ni ko'rishni istasangiz, ushbu parametrdan keyin (masalan, "2 ...") ellipsis ... qo'shing. +MAIN_ROUNDING_RULE_TOT=Yuvarlama oralig'ining bosqichi (yaxlitlash 10-asosdan boshqasida amalga oshiriladigan mamlakatlar uchun. Masalan, yaxlitlash 0,05 qadam bilan bajarilsa, 0,05 qo'ying) +UnitPriceOfProduct=Mahsulotning sof birlik narxi +TotalPriceAfterRounding=Dumaloqlashdan keyingi umumiy narx (QQS / soliqni hisobga olmaganda) +ParameterActiveForNextInputOnly=Parametr faqat keyingi kiritish uchun samarali +NoEventOrNoAuditSetup=Hech qanday xavfsizlik hodisasi qayd etilmagan. Agar "O'rnatish - Xavfsizlik - tadbirlar" sahifasida Audit yoqilmagan bo'lsa, bu normal holat. +NoEventFoundWithCriteria=Ushbu qidiruv mezonlari uchun hech qanday xavfsizlik hodisasi topilmadi. +SeeLocalSendMailSetup=Mahalliy sendmail sozlamalarini ko'ring +BackupDesc= Dolibarr o'rnatilishini to'liq zaxiralash uchun ikki bosqich talab qilinadi. +BackupDesc2=Yuklangan va yaratilgan barcha fayllarni o'z ichiga olgan "hujjatlar" katalogining tarkibini zaxiralash ( %s ). Bunga 1-bosqichda yaratilgan barcha dump fayllari ham kiradi. Ushbu operatsiya bir necha daqiqa davom etishi mumkin. +BackupDesc3=Ma'lumotlar bazangizning tuzilishi va tarkibini zaxira nusxasini ( %s ) zaxira nusxasini zaxiralash. Buning uchun siz quyidagi yordamchidan foydalanishingiz mumkin. +BackupDescX=Arxivlangan katalog xavfsiz joyda saqlanishi kerak. +BackupDescY=Yaratilgan dump fayli xavfsiz joyda saqlanishi kerak. +BackupPHPWarning=Ushbu usul bilan zaxiralashni kafolatlash mumkin emas. Oldingi tavsiya etilgan. +RestoreDesc=Dolibarr zaxira nusxasini tiklash uchun ikkita qadam kerak. +RestoreDesc2="Hujjatlar" katalogining zaxira faylini (masalan, zip fayli) yangi Dolibarr o'rnatilishiga yoki ushbu joriy hujjatlar katalogiga tiklang ( %s ). +RestoreDesc3=Ma'lumotlar bazasi tuzilishini va zaxira dump faylidan yangi Dolibarr o'rnatilishi ma'lumotlar bazasiga yoki ushbu joriy o'rnatish bazasiga tiklang ( %s ). Ogohlantirish, tiklash tugallangandan so'ng, qayta ulanish uchun zaxira vaqti / o'rnatilishidan oldin mavjud bo'lgan login / paroldan foydalanishingiz kerak.
    zaxira ma'lumotlar bazasini ushbu joriy o'rnatishga qaytarish uchun ushbu yordamchiga ergashishingiz mumkin. +RestoreMySQL=MySQL-ni import qilish +ForcedToByAModule=Ushbu qoida majburiy ravishda faollashtirilgan modul tomonidan %s +ValueIsForcedBySystem=Ushbu qiymat tizim tomonidan majburlanadi. Siz uni o'zgartira olmaysiz. +PreviousDumpFiles=Mavjud zaxira fayllari +PreviousArchiveFiles=Mavjud arxiv fayllari +WeekStartOnDay=Haftaning birinchi kuni +RunningUpdateProcessMayBeRequired=Yangilash jarayonini bajarish talab etilgandek tuyuladi (%s dastur versiyasi %s ma'lumotlar bazasidan farq qiladi) YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. -YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP -DownloadMoreSkins=More skins to download -SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses -TranslationUncomplete=Partial translation -MAIN_DISABLE_METEO=Disable meteorological view -MeteoStdMod=Standard mode -MeteoStdModEnabled=Standard mode enabled -MeteoPercentageMod=Percentage mode -MeteoPercentageModEnabled=Percentage mode enabled -MeteoUseMod=Click to use %s -TestLoginToAPI=Test login to API -ProxyDesc=Some features of Dolibarr require internet access. Define here the internet connection parameters such as access through a proxy server if necessary. -ExternalAccess=External/Internet Access -MAIN_PROXY_USE=Use a proxy server (otherwise access is direct to the internet) -MAIN_PROXY_HOST=Proxy server: Name/Address -MAIN_PROXY_PORT=Proxy server: Port -MAIN_PROXY_USER=Proxy server: Login/User -MAIN_PROXY_PASS=Proxy server: Password -DefineHereComplementaryAttributes=Define any additional / custom attributes that must be added to: %s -ExtraFields=Complementary attributes -ExtraFieldsLines=Complementary attributes (lines) -ExtraFieldsLinesRec=Complementary attributes (templates invoices lines) -ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) -ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) -ExtraFieldsThirdParties=Complementary attributes (third party) -ExtraFieldsContacts=Complementary attributes (contacts/address) -ExtraFieldsMember=Complementary attributes (member) -ExtraFieldsMemberType=Complementary attributes (member type) -ExtraFieldsCustomerInvoices=Complementary attributes (invoices) -ExtraFieldsCustomerInvoicesRec=Complementary attributes (templates invoices) -ExtraFieldsSupplierOrders=Complementary attributes (orders) -ExtraFieldsSupplierInvoices=Complementary attributes (invoices) -ExtraFieldsProject=Complementary attributes (projects) -ExtraFieldsProjectTask=Complementary attributes (tasks) -ExtraFieldsSalaries=Complementary attributes (salaries) -ExtraFieldHasWrongValue=Attribute %s has a wrong value. -AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space -SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). -PathToDocuments=Path to documents -PathDirectory=Directory -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might not be parsed correctly by some receiving mail servers. The result is that some mails can't be read by people hosted by those bugged platforms. This is the case for some Internet providers (Ex: Orange in France). This is not a problem with Dolibarr or PHP but with the receiving mail server. You can however add an option MAIN_FIX_FOR_BUGGED_MTA to 1 in Setup - Other to modify Dolibarr to avoid this. However, you may experience problems with other servers that strictly use the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" which has no disadvantages. -TranslationSetup=Setup of translation -TranslationKeySearch=Search a translation key or string -TranslationOverwriteKey=Overwrite a translation string -TranslationDesc=How to set the display language:
    * Default/Systemwide: menu Home -> Setup -> Display
    * Per user: Click on the username at the top of the screen and modify the User Display Setup tab on the user card. -TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the translation key string into "%s" and your new translation into "%s" -TranslationOverwriteDesc2=You can use the other tab to help you know which translation key to use -TranslationString=Translation string -CurrentTranslationString=Current translation string -WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string -NewTranslationStringToShow=New translation string to show -OriginalValueWas=The original translation is overwritten. Original value was:

    %s -TransKeyWithoutOriginalValue=You forced a new translation for the translation key '%s' that does not exist in any language files -TitleNumberOfActivatedModules=Activated modules -TotalNumberOfActivatedModules=Activated modules: %s / %s -YouMustEnableOneModule=You must at least enable 1 module -ClassNotFoundIntoPathWarning=Class %s not found in PHP path -YesInSummer=Yes in summer -OnlyFollowingModulesAreOpenedToExternalUsers=Note, only the following modules are available to external users (irrespective of the permissions of such users) and only if permissions are granted:
    -SuhosinSessionEncrypt=Session storage encrypted by Suhosin -ConditionIsCurrently=Condition is currently %s -YouUseBestDriver=You use driver %s which is the best driver currently available. -YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. -NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. -SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. -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. -PHPModuleLoaded=PHP component %s is loaded -PreloadOPCode=Preloaded OPCode is used -AddRefInList=Display Customer/Vendor ref. info list (select list or combobox) and most of hyperlink.
    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)
    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". -AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
    Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". -AskForPreferredShippingMethod=Ask for preferred shipping method for Third Parties. -FieldEdition=Edition of field %s -FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) -GetBarCode=Get barcode -NumberingModules=Numbering models -DocumentModules=Document models +YourPHPDoesNotHaveSSLSupport=Sizning PHP-da SSL funktsiyalari mavjud emas +DownloadMoreSkins=Yuklab olish uchun ko'proq terilar +SimpleNumRefModelDesc=%syymm-nnnn formatidagi mos yozuvlar raqamini qaytaradi, bu erda yy yil, mm oy va nnnn ketma-ket avtomatik ortib boruvchi raqam +SimpleNumRefNoDateModelDesc=%s-nnnn formatidagi mos yozuvlar raqamini qaytaradi, bu erda nnnn qayta tiklanmagan ketma-ket avtomatik ko'paytiruvchi raqam +ShowProfIdInAddress=Manzillari ko'rsatilgan professional identifikatorni ko'rsating +ShowVATIntaInAddress=Hamjamiyat ichida QQS raqamini yashirish +TranslationUncomplete=Qisman tarjima +MAIN_DISABLE_METEO=Meteorologik ko'rinishni o'chirib qo'ying +MeteoStdMod=Standart rejim +MeteoStdModEnabled=Standart rejim yoqilgan +MeteoPercentageMod=Foiz rejimi +MeteoPercentageModEnabled=Foiz rejimi yoqilgan +MeteoUseMod=%s dan foydalanish uchun bosing +TestLoginToAPI=API-ga kirishni sinab ko'ring +ProxyDesc=Dolibarr-ning ba'zi xususiyatlari Internetga kirishni talab qiladi. Agar kerak bo'lsa, proksi-server orqali kirish kabi Internetga ulanish parametrlarini bu erda aniqlang. +ExternalAccess=Tashqi / Internetga kirish +MAIN_PROXY_USE=Proksi-serverdan foydalaning (aks holda kirish Internetga to'g'ridan-to'g'ri) +MAIN_PROXY_HOST=Proksi-server: Ism / manzil +MAIN_PROXY_PORT=Proksi-server: Port +MAIN_PROXY_USER=Proksi-server: Kirish / Foydalanuvchi +MAIN_PROXY_PASS=Proksi-server: parol +DefineHereComplementaryAttributes=Qo'shilishi kerak bo'lgan har qanday qo'shimcha / maxsus atributlarni aniqlang: %s +ExtraFields=Bir-birini to'ldiruvchi atributlar +ExtraFieldsLines=Qo'shimcha atributlar (chiziqlar) +ExtraFieldsLinesRec=Qo'shimcha atributlar (shablonlar fakturalar satrlari) +ExtraFieldsSupplierOrdersLines=Qo'shimcha atributlar (buyurtma satrlari) +ExtraFieldsSupplierInvoicesLines=Qo'shimcha atributlar (hisob-faktura satrlari) +ExtraFieldsThirdParties=Qo'shimcha atributlar (uchinchi tomon) +ExtraFieldsContacts=Qo'shimcha atributlar (kontaktlar / manzil) +ExtraFieldsMember=Qo'shimcha atributlar (a'zo) +ExtraFieldsMemberType=Qo'shimcha atributlar (a'zo turi) +ExtraFieldsCustomerInvoices=Qo'shimcha atributlar (hisob-fakturalar) +ExtraFieldsCustomerInvoicesRec=Qo'shimcha atributlar (shablonlar hisob-fakturalari) +ExtraFieldsSupplierOrders=Qo'shimcha atributlar (buyurtmalar) +ExtraFieldsSupplierInvoices=Qo'shimcha atributlar (hisob-fakturalar) +ExtraFieldsProject=Qo'shimcha atributlar (loyihalar) +ExtraFieldsProjectTask=Qo'shimcha atributlar (vazifalar) +ExtraFieldsSalaries=Qo'shimcha atributlar (ish haqi) +ExtraFieldHasWrongValue=%s atributi noto'g'ri qiymatga ega. +AlphaNumOnlyLowerCharsAndNoSpace=bo'sh joysiz faqat alfasayısal va kichik harflar +SendmailOptionNotComplete=E'tibor bering, ba'zi bir Linux tizimlarida elektron pochtangizdan elektron pochta xabarlarini yuborish uchun sendmail-ning bajarilishini o'rnatish -ba parametrini o'z ichiga olishi kerak (sizning php.ini faylingizga mail.force_extra_parameters parametri). Agar ba'zi bir qabul qiluvchilar hech qachon elektron pochta xabarlarini olmasalar, ushbu PHP parametrini mail.force_extra_parameters = -ba) bilan tahrir qilib ko'ring. +PathToDocuments=Hujjatlar yo'li +PathDirectory=Katalog +SendmailOptionMayHurtBuggedMTA=Xabarlarni "PHP mail direct" usuli yordamida yuborish xususiyati ba'zi qabul qiluvchi pochta serverlari tomonidan to'g'ri tahlil qilinmasligi mumkin bo'lgan pochta xabarini hosil qiladi. Natijada, ba'zi xatlarni o'sha buzilgan platformalar joylashtirilgan odamlar o'qiy olmaydi. Bu ba'zi bir Internet-provayderlarga tegishli (Masalan: Frantsiyada apelsin). Bu Dolibarr yoki PHP bilan emas, balki qabul qiluvchi pochta serverida muammo. Siz buni o'rnatish uchun MAIN_FIX_FOR_BUGGED_MTA-ga 1-ga qo'shishingiz mumkin, bunga yo'l qo'ymaslik uchun Dolibarr-ni o'zgartirish. Biroq, siz SMTP standartidan qat'iy foydalanadigan boshqa serverlarda muammolarga duch kelishingiz mumkin. Boshqa echim (tavsiya etiladi) kamchiliklari bo'lmagan "SMTP socket library" usulidan foydalanish. +TranslationSetup=Tarjimani sozlash +TranslationKeySearch=Tarjima kaliti yoki satrini qidiring +TranslationOverwriteKey=Tarjima qatorini qayta yozing +TranslationDesc=Ko'rgazmali tilni qanday o'rnatish kerak:
    * Default / Systemwide: menyu Bosh sahifa -> O'rnatish -> Displey
    * Har bir foydalanuvchiga: ekranning yuqori qismidagi foydalanuvchi nomini bosing va foydalanuvchi006 ni o'rnating a09 karta. +TranslationOverwriteDesc=Bundan tashqari, quyidagi jadvalni to'ldiradigan satrlarni bekor qilishingiz mumkin. "%s" ochiladigan oynasidan tilingizni tanlang, tarjima kaliti qatorini "%s" ga va yangi tarjimangizni "%s" ga qo'ying +TranslationOverwriteDesc2=Qaysi tarjima kalitidan foydalanishni bilishingiz uchun boshqa yorliqni ishlatishingiz mumkin +TranslationString=Tarjima qatori +CurrentTranslationString=Joriy tarjima qatori +WarningAtLeastKeyOrTranslationRequired=Hech bo'lmaganda kalit yoki tarjima satri uchun qidiruv mezonlari talab qilinadi +NewTranslationStringToShow=Ko'rsatiladigan yangi tarjima qatori +OriginalValueWas=Asl tarjima ustiga yozilgan. Asl qiymati:

    %s +TransKeyWithoutOriginalValue=Siz " %s " tarjima kaliti uchun hech qanday til fayllarida mavjud bo'lmagan yangi tarjimani majbur qildingiz +TitleNumberOfActivatedModules=Faollashtirilgan modullar +TotalNumberOfActivatedModules=Faollashtirilgan modullar: %s / %s +YouMustEnableOneModule=Siz kamida 1 ta modulni yoqishingiz kerak +ClassNotFoundIntoPathWarning=%s sinfi PHP yo'lida topilmadi +YesInSummer=Ha yozda +OnlyFollowingModulesAreOpenedToExternalUsers=E'tibor bering, tashqi foydalanuvchilar uchun faqat quyidagi modullar mavjud (bunday foydalanuvchilarning ruxsatlaridan qat'i nazar) va faqat ruxsatlar berilgan taqdirda:
    +SuhosinSessionEncrypt=Suxsin tomonidan shifrlangan sessiyani saqlash +ConditionIsCurrently=Vaziyat hozirda %s +YouUseBestDriver=Siz hozirda mavjud bo'lgan eng yaxshi haydovchi bo'lgan %s drayveridan foydalanasiz. +YouDoNotUseBestDriver=Siz haydovchi %s dan foydalanasiz, lekin %s drayveri tavsiya etiladi. +NbOfObjectIsLowerThanNoPb=Sizda ma'lumotlar bazasida faqat %s %s mavjud. Bu aniq bir optimallashtirishni talab qilmaydi. +ComboListOptim=Kombinatsiyalangan ro'yxatni yuklashni optimallashtirish +SearchOptim=Qidiruvni optimallashtirish +YouHaveXObjectUseComboOptim=Sizda ma'lumotlar bazasida %s %s mavjud. Siz tugmachani bosilgan hodisada kombinatsiyalangan ro'yxatni yuklash uchun modulni o'rnatishingiz mumkin. +YouHaveXObjectUseSearchOptim=Sizda ma'lumotlar bazasida %s %s mavjud. Home-Setup-Other-da %s doimiyligini 1 ga qo'shishingiz mumkin. +YouHaveXObjectUseSearchOptimDesc=Bu qidiruvni satrlarning boshida cheklaydi, bu ma'lumotlar bazasiga indekslardan foydalanishga imkon beradi va siz darhol javob olishingiz kerak. +YouHaveXObjectAndSearchOptimOn=Sizda ma'lumotlar bazasida %s %s mavjud va doimiy %s %s ga Home-Setup-Other-da o'rnatilgan. +BrowserIsOK=Siz %s veb-brauzeridan foydalanmoqdasiz. Ushbu brauzer xavfsizlik va ishlash uchun yaxshi. +BrowserIsKO=Siz %s veb-brauzeridan foydalanmoqdasiz. Ushbu brauzer xavfsizlik, ishlash va ishonchlilik uchun yomon tanlov ekanligi ma'lum. Firefox, Chrome, Opera yoki Safari-dan foydalanishni tavsiya etamiz. +PHPModuleLoaded=PH0 komponenti %s yuklandi +PreloadOPCode=Oldindan yuklangan OPCode ishlatiladi +AddRefInList=Mijoz / sotuvchini ko'rsatish. ma'lumot ro'yxati (ro'yxat yoki kombinatsion qutini tanlang) va ko'prikning ko'pligi.
    Uchinchi tomonlar "CC12345 - SC45678 - Katta kompaniya korpusi" nom formatida paydo bo'ladi. "Katta kompaniya korpusi" o'rniga. +AddAdressInList=
    uchinchi tomonlar "Buyuk Kompaniya korpusi" o'rniga "Katta kompaniya korpusi. - 21 o'tish ko'chasi 123456 Katta shahar - AQSh" formatidagi "Uchinchi tomonlar" paydo bo'ladi. +AddEmailPhoneTownInContactList=
    Aloqa uchun elektron pochta manzilini (yoki aniqlanmagan telefonlar bilan) va shahar haqida ma'lumot ro'yxatini (tanlang ro'yxati yoki kombinat qutisi) ko'rsating "Dupond Durand - dupond.durand@email.com - Parij" yoki "Dyupond Durand - 06 07 59 65 66 - "Dyupond Dyurand" o'rniga "Parij". +AskForPreferredShippingMethod=Uchinchi shaxslar uchun jo'natilgan transport usulini so'rang. +FieldEdition=%s maydonining nashri +FillThisOnlyIfRequired=Misol: +2 (faqat vaqt mintaqasini ofset bilan bog'liq muammolar yuzaga kelganda to'ldiring) +GetBarCode=Shtrixli kodni oling +NumberingModules=Nomerlash modellari +DocumentModules=Hujjat modellari ##### Module password generation -PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: %s characters containing shared numbers and characters in lowercase. -PasswordGenerationNone=Do not suggest a generated password. Password must be typed in manually. -PasswordGenerationPerso=Return a password according to your personally defined configuration. -SetupPerso=According to your configuration -PasswordPatternDesc=Password pattern description +PasswordGenerationStandard=Ichki Dolibarr algoritmiga binoan yaratilgan parolni qaytaring: %s belgilarida umumiy raqamlar va kichik harflardagi belgilar mavjud. +PasswordGenerationNone=Yaratilgan parolni taklif qilmang. Parolni qo'lda kiritish kerak. +PasswordGenerationPerso=Shaxsiy belgilangan konfiguratsiyaga muvofiq parolni qaytaring. +SetupPerso=Sizning konfiguratsiyangizga muvofiq +PasswordPatternDesc=Parol naqshining tavsifi ##### Users setup ##### -RuleForGeneratedPasswords=Rules to generate and validate passwords -DisableForgetPasswordLinkOnLogonPage=Do not show the "Password Forgotten" link on the Login page -UsersSetup=Users module setup -UserMailRequired=Email required to create a new user -UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) -UsersDocModules=Document templates for documents generated from user record -GroupsDocModules=Document templates for documents generated from a group record +RuleForGeneratedPasswords=Parollarni yaratish va tasdiqlash qoidalari +DisableForgetPasswordLinkOnLogonPage=Kirish sahifasida "Parol unutilgan" havolasini ko'rsatmang +UsersSetup=Foydalanuvchilar modulini sozlash +UserMailRequired=Yangi foydalanuvchi yaratish uchun elektron pochta kerak +UserHideInactive=Faol bo'lmagan foydalanuvchilarni barcha foydalanuvchilar ro'yxatidan yashirish (Tavsiya etilmaydi: bu ba'zi sahifalarda eski foydalanuvchilarni filtrlay olmaysiz yoki qidira olmaysiz degan ma'noni anglatadi) +UsersDocModules=Foydalanuvchi yozuvidan hosil bo'lgan hujjatlar uchun hujjat shablonlari +GroupsDocModules=Guruh yozuvidan hosil qilingan hujjatlar uchun hujjat shablonlari ##### HRM setup ##### -HRMSetup=HRM module setup +HRMSetup=HRM modulini sozlash ##### Company setup ##### -CompanySetup=Companies module setup -CompanyCodeChecker=Options for automatic generation of customer/vendor codes -AccountCodeManager=Options for automatic generation of customer/vendor accounting codes -NotificationsDesc=Email notifications can be sent automatically for some Dolibarr events.
    Recipients of notifications can be defined: -NotificationsDescUser=* per user, one user at a time. -NotificationsDescContact=* per third-party contacts (customers or vendors), one contact at a time. -NotificationsDescGlobal=* or by setting global email addresses in this setup page. -ModelModules=Document Templates -DocumentModelOdt=Generate documents from OpenDocument templates (.ODT / .ODS files from LibreOffice, OpenOffice, KOffice, TextEdit,...) -WatermarkOnDraft=Watermark on draft document -JSOnPaimentBill=Activate feature to autofill payment lines on payment form -CompanyIdProfChecker=Rules for Professional IDs -MustBeUnique=Must be unique? -MustBeMandatory=Mandatory to create third parties (if VAT number or type of company defined) ? -MustBeInvoiceMandatory=Mandatory to validate invoices? -TechnicalServicesProvided=Technical services provided +CompanySetup=Kompaniyalar modulini sozlash +CompanyCodeChecker=Mijoz / sotuvchi kodlarini avtomatik ishlab chiqarish uchun imkoniyatlar +AccountCodeManager=Mijozlar / sotuvchilarning buxgalteriya kodlarini avtomatik ravishda ishlab chiqarish variantlari +NotificationsDesc=Ba'zi Dolibarr tadbirlari uchun elektron pochta xabarlari avtomatik ravishda yuborilishi mumkin.
    Bildirishnoma oluvchilarni aniqlash mumkin: +NotificationsDescUser=* har bir foydalanuvchi uchun, bir vaqtning o'zida bitta foydalanuvchi. +NotificationsDescContact=* uchinchi tomon kontaktlariga (mijozlar yoki sotuvchilar), bir vaqtning o'zida bitta kontakt. +NotificationsDescGlobal=* yoki ushbu sozlash sahifasida global elektron pochta manzillarini o'rnatish orqali. +ModelModules=Hujjat shablonlari +DocumentModelOdt=OpenDocument shablonlaridan hujjatlar yaratish (.OdT / .ODS fayllari LibreOffice, OpenOffice, KOffice, TextEdit, ...) +WatermarkOnDraft=Hujjat loyihasidagi suv belgisi +JSOnPaimentBill=To'lov shaklidagi to'lov liniyalarini avtomatik to'ldirish xususiyatini faollashtiring +CompanyIdProfChecker=Professional guvohnomalar uchun qoidalar +MustBeUnique=Noyob bo'lishi kerakmi? +MustBeMandatory=Uchinchi shaxslarni yaratish majburiymi (agar QQS raqami yoki kompaniya turi aniqlangan bo'lsa)? +MustBeInvoiceMandatory=Hisob-fakturalarni tasdiqlash majburiymi? +TechnicalServicesProvided=Ko'rsatilgan texnik xizmatlar #####DAV ##### -WebDAVSetupDesc=This is the link to access the WebDAV directory. It contains a "public" dir open to any user knowing the URL (if public directory access allowed) and a "private" directory that needs an existing login account/password for access. -WebDavServer=Root URL of %s server: %s +WebDAVSetupDesc=Bu WebDAV katalogiga kirish uchun havola. Unda URLni biladigan har qanday foydalanuvchi uchun ochiq bo'lgan "umumiy" dir (agar katalogga kirish uchun ruxsat berilgan bo'lsa) va kirish uchun mavjud bo'lgan kirish qayd yozuvi / parol kerak bo'lgan "shaxsiy" katalog mavjud. +WebDavServer=%s serverining ildiz URL manzili: %s ##### Webcal setup ##### -WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +WebCalUrlForVCalExport= %s formatiga eksport havolasi quyidagi havolada mavjud: %s ##### Invoices ##### -BillsSetup=Invoices module setup -BillsNumberingModule=Invoices and credit notes numbering model -BillsPDFModules=Invoice documents models -BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type -PaymentsPDFModules=Payment documents models -ForceInvoiceDate=Force invoice date to validation date -SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined on the invoice -SuggestPaymentByRIBOnAccount=Suggest payment by withdrawal on account -SuggestPaymentByChequeToAddress=Suggest payment by check to -FreeLegalTextOnInvoices=Free text on invoices -WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) -PaymentsNumberingModule=Payments numbering model -SuppliersPayment=Vendor payments -SupplierPaymentSetup=Vendor payments setup +BillsSetup=Hisob-fakturalar modulini sozlash +BillsNumberingModule=Hisob-fakturalar va kredit yozuvlarini raqamlash modeli +BillsPDFModules=Hisob-faktura hujjatlari modellari +BillsPDFModulesAccordindToInvoiceType=Hisob-faktura turiga ko'ra hisob-faktura hujjatlari modellari +PaymentsPDFModules=To'lov hujjatlari modellari +ForceInvoiceDate=Hisob-fakturani tasdiqlash sanasiga majburlang +SuggestedPaymentModesIfNotDefinedInInvoice=Hisob-fakturada belgilanmagan bo'lsa, sukut bo'yicha hisob-kitob bo'yicha tavsiya etilgan to'lovlar rejimi +SuggestPaymentByRIBOnAccount=Hisobga pul tushirish orqali to'lovni taklif eting +SuggestPaymentByChequeToAddress=To'lovni chek orqali taklif eting +FreeLegalTextOnInvoices=Hisob-fakturalarda bepul matn +WatermarkOnDraftInvoices=Hisob-fakturalardagi suv belgisi (agar bo'sh bo'lmasa) +PaymentsNumberingModule=To'lovlarni raqamlash modeli +SuppliersPayment=Sotuvchi uchun to'lovlar +SupplierPaymentSetup=Sotuvchi to'lovlarini sozlash ##### Proposals ##### -PropalSetup=Commercial proposals module setup -ProposalsNumberingModules=Commercial proposal numbering models -ProposalsPDFModules=Commercial proposal documents models -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal -FreeLegalTextOnProposal=Free text on commercial proposals -WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) -BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +PropalSetup=Tijorat takliflari modulini sozlash +ProposalsNumberingModules=Tijorat takliflarini raqamlash modellari +ProposalsPDFModules=Tijorat takliflari hujjatlari modellari +SuggestedPaymentModesIfNotDefinedInProposal=Taklif bo'yicha aniqlanmagan bo'lsa, sukut bo'yicha taklif bo'yicha tavsiya etilgan to'lovlar rejimi +FreeLegalTextOnProposal=Tijorat takliflari bo'yicha bepul matn +WatermarkOnDraftProposal=Tijorat takliflari loyihasidagi suv belgisi (bo'sh bo'lmasa) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Bank hisobvarag'i bo'yicha taklifni so'rang ##### SupplierProposal ##### -SupplierProposalSetup=Price requests suppliers module setup -SupplierProposalNumberingModules=Price requests suppliers numbering models -SupplierProposalPDFModules=Price requests suppliers documents models -FreeLegalTextOnSupplierProposal=Free text on price requests suppliers -WatermarkOnDraftSupplierProposal=Watermark on draft price requests suppliers (none if empty) -BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL=Ask for bank account destination of price request -WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Ask for Warehouse Source for order +SupplierProposalSetup=Ta'minlovchilarning modullarini sozlash bo'yicha narxlar +SupplierProposalNumberingModules=Narxlar etkazib beruvchilarni raqamlash modellarini talab qiladi +SupplierProposalPDFModules=Narx so'rovlari etkazib beruvchilarning hujjatlar modellari +FreeLegalTextOnSupplierProposal=Ta'minlovchilar narxlari bo'yicha bepul matn +WatermarkOnDraftSupplierProposal=Yetkazib beruvchilarning narxlari bo'yicha buyurtmalariga moybo'yoqli belgi (agar bo'sh bo'lmasa) +BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL=Narx so'rovi bo'yicha bank hisob raqamini so'rang +WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Buyurtma uchun Ombor manbasini so'rang ##### Suppliers Orders ##### -BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Ask for bank account destination of purchase order +BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Xarid qilish buyurtmasi bo'yicha bank hisob raqamini so'rang ##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order -OrdersSetup=Sales Orders management setup -OrdersNumberingModules=Orders numbering models -OrdersModelModule=Order documents models -FreeLegalTextOnOrders=Free text on orders -WatermarkOnDraftOrders=Watermark on draft orders (none if empty) -ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable -BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +SuggestedPaymentModesIfNotDefinedInOrder=Agar buyurtmada aniqlanmagan bo'lsa, sukut bo'yicha sotish buyurtmasi bo'yicha tavsiya etilgan to'lovlar rejimi +OrdersSetup=Savdo buyurtmalarini boshqarishni sozlash +OrdersNumberingModules=Buyurtmalarni raqamlash modellari +OrdersModelModule=Hujjatlar modellarini buyurtma qilish +FreeLegalTextOnOrders=Buyurtmalar bo'yicha bepul matn +WatermarkOnDraftOrders=Chizma buyurtmalaridagi suv belgisi (agar bo'sh bo'lmasa) +ShippableOrderIconInList=Buyurtmalar ro'yxatiga buyurtma yuborilishi mumkinligini ko'rsatadigan belgi qo'shing +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Bank hisob raqamiga buyurtma berish joyini so'rang ##### Interventions ##### -InterventionsSetup=Interventions module setup -FreeLegalTextOnInterventions=Free text on intervention documents -FicheinterNumberingModules=Intervention numbering models -TemplatePDFInterventions=Intervention card documents models -WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +InterventionsSetup=Interventsiyalar modulini sozlash +FreeLegalTextOnInterventions=Interventsiya hujjatlaridagi bepul matn +FicheinterNumberingModules=Intervensiyani raqamlash modellari +TemplatePDFInterventions=Interventsiya kartalari hujjatlari modellari +WatermarkOnDraftInterventionCards=Interventsiya kartasidagi hujjatdagi suv belgisi (agar bo'sh bo'lmasa) ##### Contracts ##### -ContractsSetup=Contracts/Subscriptions module setup -ContractsNumberingModules=Contracts numbering modules -TemplatePDFContracts=Contracts documents models -FreeLegalTextOnContracts=Free text on contracts -WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +ContractsSetup=Shartnomalar / Obunalar modulini sozlash +ContractsNumberingModules=Shartnomalarni raqamlash modullari +TemplatePDFContracts=Shartnomalar hujjatlari modellari +FreeLegalTextOnContracts=Shartnomalar bo'yicha bepul matn +WatermarkOnDraftContractCards=Shartnoma loyihalari bo'yicha suv belgisi (agar bo'sh bo'lmasa) ##### Members ##### -MembersSetup=Members module setup -MemberMainOptions=Main options -AdherentLoginRequired= Manage a Login for each member -AdherentMailRequired=Email required to create a new member -MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default -VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes -MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. -MembersDocModules=Document templates for documents generated from member record +MembersSetup=A'zolar modulini sozlash +MemberMainOptions=Asosiy variantlar +AdherentLoginRequired= Har bir a'zo uchun tizimga kirishni boshqaring +AdherentMailRequired=Yangi a'zo yaratish uchun elektron pochta kerak +MemberSendInformationByMailByDefault=Odatiy ravishda a'zolarga pochta orqali tasdiqlash (tasdiqlash yoki yangi obuna) yuborish uchun tasdiqlash qutisi yoqilgan +MemberCreateAnExternalUserForSubscriptionValidated=Tasdiqlangan har bir yangi a'zo obuna uchun tashqi foydalanuvchi loginini yarating +VisitorCanChooseItsPaymentMode=Mehmon mavjud to'lov usullarini tanlashi mumkin +MEMBER_REMINDER_EMAIL=Muddati o'tgan obunalarni
    elektron pochta orqali avtomatik eslatib turishni yoqing. Eslatma: %s moduli yoqilgan va eslatmalarni yuborish uchun to'g'ri sozlangan bo'lishi kerak. +MembersDocModules=Ro'yxatdan yozuvlaridan hosil bo'lgan hujjatlar uchun hujjat shablonlari ##### LDAP setup ##### -LDAPSetup=LDAP Setup +LDAPSetup=LDAP-ni sozlash LDAPGlobalParameters=Global parameters -LDAPUsersSynchro=Users -LDAPGroupsSynchro=Groups -LDAPContactsSynchro=Contacts -LDAPMembersSynchro=Members -LDAPMembersTypesSynchro=Members types -LDAPSynchronization=LDAP synchronisation -LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPUsersSynchro=Foydalanuvchilar +LDAPGroupsSynchro=Guruhlar +LDAPContactsSynchro=Kontaktlar +LDAPMembersSynchro=A'zolar +LDAPMembersTypesSynchro=A'zolar turlari +LDAPSynchronization=LDAP sinxronizatsiyasi +LDAPFunctionsNotAvailableOnPHP=PHP-da LDAP funktsiyalari mavjud emas LDAPToDolibarr=LDAP -> Dolibarr DolibarrToLDAP=Dolibarr -> LDAP -LDAPNamingAttribute=Key in LDAP -LDAPSynchronizeUsers=Organization of users in LDAP -LDAPSynchronizeGroups=Organization of groups in LDAP -LDAPSynchronizeContacts=Organization of contacts in LDAP -LDAPSynchronizeMembers=Organization of foundation's members in LDAP -LDAPSynchronizeMembersTypes=Organization of foundation's members types in LDAP -LDAPPrimaryServer=Primary server -LDAPSecondaryServer=Secondary server -LDAPServerPort=Server port -LDAPServerPortExample=Default port: 389 -LDAPServerProtocolVersion=Protocol version -LDAPServerUseTLS=Use TLS -LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPNamingAttribute=LDAP-ga kiring +LDAPSynchronizeUsers=LDAP-da foydalanuvchilarni tashkil etish +LDAPSynchronizeGroups=LDAP da guruhlarni tashkil etish +LDAPSynchronizeContacts=LDAP-da aloqalarni tashkil etish +LDAPSynchronizeMembers=LDAPda fond a'zolarini tashkil etish +LDAPSynchronizeMembersTypes=LDAPda fond a'zolarining turlarini tashkil etish +LDAPPrimaryServer=Asosiy server +LDAPSecondaryServer=Ikkilamchi server +LDAPServerPort=Server porti +LDAPServerPortExample=Standart port: 389 +LDAPServerProtocolVersion=Protokol versiyasi +LDAPServerUseTLS=TLS-dan foydalaning +LDAPServerUseTLSExample=Sizning LDAP-serveringiz TLS-dan foydalanadi LDAPServerDn=Server DN LDAPAdminDn=Administrator DN -LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory) -LDAPPassword=Administrator password -LDAPUserDn=Users' DN -LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) -LDAPGroupDn=Groups' DN -LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) -LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) -LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) -LDAPDnSynchroActive=Users and groups synchronization -LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization -LDAPDnContactActive=Contacts' synchronization -LDAPDnContactActiveExample=Activated/Unactivated synchronization -LDAPDnMemberActive=Members' synchronization -LDAPDnMemberActiveExample=Activated/Unactivated synchronization -LDAPDnMemberTypeActive=Members types' synchronization -LDAPDnMemberTypeActiveExample=Activated/Unactivated synchronization -LDAPContactDn=Dolibarr contacts' DN -LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) -LDAPMemberDn=Dolibarr members DN -LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) -LDAPMemberObjectClassList=List of objectClass -LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) -LDAPMemberTypeDn=Dolibarr members types DN -LDAPMemberTypepDnExample=Complete DN (ex: ou=memberstypes,dc=example,dc=com) -LDAPMemberTypeObjectClassList=List of objectClass -LDAPMemberTypeObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) -LDAPUserObjectClassList=List of objectClass -LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) -LDAPGroupObjectClassList=List of objectClass -LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) -LDAPContactObjectClassList=List of objectClass -LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) -LDAPTestConnect=Test LDAP connection -LDAPTestSynchroContact=Test contacts synchronization -LDAPTestSynchroUser=Test user synchronization -LDAPTestSynchroGroup=Test group synchronization -LDAPTestSynchroMember=Test member synchronization -LDAPTestSynchroMemberType=Test member type synchronization -LDAPTestSearch= Test a LDAP search -LDAPSynchroOK=Synchronization test successful -LDAPSynchroKO=Failed synchronization test -LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that the connection to the server is correctly configured and allows LDAP updates -LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) -LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) -LDAPBindOK=Connect/Authenticate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPBindKO=Connect/Authenticate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPSetupForVersion3=LDAP server configured for version 3 -LDAPSetupForVersion2=LDAP server configured for version 2 -LDAPDolibarrMapping=Dolibarr Mapping -LDAPLdapMapping=LDAP Mapping -LDAPFieldLoginUnix=Login (unix) -LDAPFieldLoginExample=Example: uid -LDAPFilterConnection=Search filter -LDAPFilterConnectionExample=Example: &(objectClass=inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) -LDAPFieldLoginSamba=Login (samba, activedirectory) -LDAPFieldLoginSambaExample=Example: samaccountname -LDAPFieldFullname=Full name -LDAPFieldFullnameExample=Example: cn -LDAPFieldPasswordNotCrypted=Password not encrypted -LDAPFieldPasswordCrypted=Password encrypted -LDAPFieldPasswordExample=Example: userPassword -LDAPFieldCommonNameExample=Example: cn -LDAPFieldName=Name -LDAPFieldNameExample=Example: sn -LDAPFieldFirstName=First name -LDAPFieldFirstNameExample=Example: givenName -LDAPFieldMail=Email address -LDAPFieldMailExample=Example: mail -LDAPFieldPhone=Professional phone number -LDAPFieldPhoneExample=Example: telephonenumber -LDAPFieldHomePhone=Personal phone number -LDAPFieldHomePhoneExample=Example: homephone -LDAPFieldMobile=Cellular phone -LDAPFieldMobileExample=Example: mobile -LDAPFieldFax=Fax number -LDAPFieldFaxExample=Example: facsimiletelephonenumber -LDAPFieldAddress=Street -LDAPFieldAddressExample=Example: street +LDAPAdminDnExample=To'liq DN (masalan: cn = administrator, dc = misol, dc = com yoki cn = administrator, cn = foydalanuvchilar, dc = misol, dc = com faol katalog uchun) +LDAPPassword=Administrator paroli +LDAPUserDn=Foydalanuvchilarning DN +LDAPUserDnExample=To'liq DN (masalan: ou = foydalanuvchilar, dc = misol, dc = com) +LDAPGroupDn=Guruhlarning DN +LDAPGroupDnExample=To'liq DN (masalan: ou = guruhlar, dc = misol, dc = com) +LDAPServerExample=Server manzili (masalan: localhost, 192.168.0.2, ldaps: //ldap.example.com/) +LDAPServerDnExample=To'liq DN (masalan: dc = misol, dc = com) +LDAPDnSynchroActive=Foydalanuvchilar va guruhlarni sinxronlashtirish +LDAPDnSynchroActiveExample=LDAP-dan Dolibarr-ga yoki Dolibarr-dan LDAP-ga sinxronizatsiya qilish +LDAPDnContactActive=Kontaktlarni sinxronlashtirish +LDAPDnContactActiveExample=Faollashtirilgan / yoqilmagan sinxronizatsiya +LDAPDnMemberActive=A'zolarni sinxronlashtirish +LDAPDnMemberActiveExample=Faollashtirilgan / yoqilmagan sinxronizatsiya +LDAPDnMemberTypeActive=A'zolar turlarini sinxronlashtirish +LDAPDnMemberTypeActiveExample=Faollashtirilgan / yoqilmagan sinxronizatsiya +LDAPContactDn=Dolibarr kontaktlarining DN +LDAPContactDnExample=To'liq DN (masalan: ou = kontaktlar, dc = misol, dc = com) +LDAPMemberDn=Dolibarr a'zolari DN +LDAPMemberDnExample=To'liq DN (masalan: ou = a'zolar, dc = misol, dc = com) +LDAPMemberObjectClassList=ObjectClass ro'yxati +LDAPMemberObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, inetOrgPerson yoki top, faol katalog uchun foydalanuvchi) +LDAPMemberTypeDn=Dolibarr a'zolari DN ni yozadilar +LDAPMemberTypepDnExample=To'liq DN (masalan: ou = a'zo tiplari, dc = misol, dc = com) +LDAPMemberTypeObjectClassList=ObjectClass ro'yxati +LDAPMemberTypeObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, groupOfUniqueNames) +LDAPUserObjectClassList=ObjectClass ro'yxati +LDAPUserObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, inetOrgPerson yoki top, faol katalog uchun foydalanuvchi) +LDAPGroupObjectClassList=ObjectClass ro'yxati +LDAPGroupObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, groupOfUniqueNames) +LDAPContactObjectClassList=ObjectClass ro'yxati +LDAPContactObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, inetOrgPerson yoki top, faol katalog uchun foydalanuvchi) +LDAPTestConnect=LDAP ulanishini sinab ko'ring +LDAPTestSynchroContact=Kontaktlar sinxronizatsiyasini sinab ko'ring +LDAPTestSynchroUser=Foydalanuvchi bilan sinxronlashni sinab ko'ring +LDAPTestSynchroGroup=Sinov guruhini sinxronlashtirish +LDAPTestSynchroMember=Sinov a'zolarini sinxronlashtirish +LDAPTestSynchroMemberType=Sinov a'zolarining turini sinxronlashtirish +LDAPTestSearch= LDAP qidiruvini sinab ko'ring +LDAPSynchroOK=Sinxronizatsiya testi muvaffaqiyatli o'tdi +LDAPSynchroKO=Sinxronizatsiya sinovi muvaffaqiyatsiz tugadi +LDAPSynchroKOMayBePermissions=Sinxronizatsiya sinovi muvaffaqiyatsiz tugadi. Serverga ulanish to'g'ri sozlanganligini va LDAP yangilanishlariga ruxsat berishini tekshiring +LDAPTCPConnectOK=TCP LDAP-serverga muvaffaqiyatli ulandi (Server = %s, Port = %s) +LDAPTCPConnectKO=TCP LDAP serveriga ulanmadi (Server = %s, Port = %s) +LDAPBindOK=LDAP-serverga ulanish / autentifikatsiya qilish muvaffaqiyatli (Server = %s, Port = %s, Admin = %s, Password = %s) +LDAPBindKO=LDAP-serverga ulanish / tasdiqlash amalga oshmadi (Server = %s, Port = %s, Admin = %s, Password = %s) +LDAPSetupForVersion3=LDAP-server 3-versiya uchun tuzilgan +LDAPSetupForVersion2=LDAP-server 2-versiya uchun tuzilgan +LDAPDolibarrMapping=Dolibarr xaritasi +LDAPLdapMapping=LDAP xaritasi +LDAPFieldLoginUnix=Kirish (unix) +LDAPFieldLoginExample=Misol: uid +LDAPFilterConnection=Qidiruv filtri +LDAPFilterConnectionExample=Misol: & (objectClass = inetOrgPerson) +LDAPGroupFilterExample=Misol: & (objectClass = groupOfUsers) +LDAPFieldLoginSamba=Kirish (samba, activedirectory) +LDAPFieldLoginSambaExample=Misol: samaccountname +LDAPFieldFullname=To'liq ism +LDAPFieldFullnameExample=Misol: cn +LDAPFieldPasswordNotCrypted=Parol shifrlanmagan +LDAPFieldPasswordCrypted=Parol shifrlangan +LDAPFieldPasswordExample=Misol: userPassword +LDAPFieldCommonNameExample=Misol: cn +LDAPFieldName=Ism +LDAPFieldNameExample=Misol: sn +LDAPFieldFirstName=Ism +LDAPFieldFirstNameExample=Misol: givenName +LDAPFieldMail=E-pochta manzili +LDAPFieldMailExample=Misol: pochta +LDAPFieldPhone=Professional telefon raqami +LDAPFieldPhoneExample=Misol: telefon raqamlari +LDAPFieldHomePhone=Shaxsiy telefon raqami +LDAPFieldHomePhoneExample=Misol: uy telefoni +LDAPFieldMobile=Uyali telefon +LDAPFieldMobileExample=Misol: mobil +LDAPFieldFax=Faks raqami +LDAPFieldFaxExample=Misol: fakssimiletelephonenumber +LDAPFieldAddress=Ko'cha +LDAPFieldAddressExample=Misol: ko'cha LDAPFieldZip=Zip -LDAPFieldZipExample=Example: postalcode -LDAPFieldTown=Town -LDAPFieldTownExample=Example: l -LDAPFieldCountry=Country -LDAPFieldDescription=Description -LDAPFieldDescriptionExample=Example: description -LDAPFieldNotePublic=Public Note -LDAPFieldNotePublicExample=Example: publicnote -LDAPFieldGroupMembers= Group members -LDAPFieldGroupMembersExample= Example: uniqueMember -LDAPFieldBirthdate=Birthdate -LDAPFieldCompany=Company -LDAPFieldCompanyExample=Example: o +LDAPFieldZipExample=Misol: pochta indeksi +LDAPFieldTown=Shahar +LDAPFieldTownExample=Misol: l +LDAPFieldCountry=Mamlakat +LDAPFieldDescription=Tavsif +LDAPFieldDescriptionExample=Misol: tavsif +LDAPFieldNotePublic=Ommaviy eslatma +LDAPFieldNotePublicExample=Misol: publicnote +LDAPFieldGroupMembers= Guruh a'zolari +LDAPFieldGroupMembersExample= Misol: uniqueMember +LDAPFieldBirthdate=Tug'ilgan kun sanasi +LDAPFieldCompany=Kompaniya +LDAPFieldCompanyExample=Misol: o LDAPFieldSid=SID -LDAPFieldSidExample=Example: objectsid -LDAPFieldEndLastSubscription=Date of subscription end -LDAPFieldTitle=Job position -LDAPFieldTitleExample=Example: title -LDAPFieldGroupid=Group id -LDAPFieldGroupidExample=Exemple : gidnumber -LDAPFieldUserid=User id -LDAPFieldUseridExample=Exemple : uidnumber -LDAPFieldHomedirectory=Home directory -LDAPFieldHomedirectoryExample=Exemple : homedirectory -LDAPFieldHomedirectoryprefix=Home directory prefix -LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) -LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. -LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. -LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. -LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. -LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. -LDAPDescMembersTypes=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members types. -LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. -ForANonAnonymousAccess=For an authenticated access (for a write access for example) -PerfDolibarr=Performance setup/optimizing report -YouMayFindPerfAdviceHere=This page provides some checks or advice related to performance. -NotInstalled=Not installed. -NotSlowedDownByThis=Not slowed down by this. -NotRiskOfLeakWithThis=Not risk of leak with this. -ApplicativeCache=Applicative cache -MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
    More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
    Note that a lot of web hosting provider does not provide such cache server. -MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. -MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. -OPCodeCache=OPCode cache -NoOPCodeCacheFound=No OPCode cache found. Maybe you are using an OPCode cache other than XCache or eAccelerator (good), or maybe you don't have OPCode cache (very bad). -HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) -FilesOfTypeCached=Files of type %s are cached by HTTP server -FilesOfTypeNotCached=Files of type %s are not cached by HTTP server -FilesOfTypeCompressed=Files of type %s are compressed by HTTP server -FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server -CacheByServer=Cache by server -CacheByServerDesc=For example using the Apache directive "ExpiresByType image/gif A2592000" -CacheByClient=Cache by browser -CompressionOfResources=Compression of HTTP responses -CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" -TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers -DefaultValuesDesc=Here you may define the default value you wish to use when creating a new record, and/or default filters or the sort order when you list records. -DefaultCreateForm=Default values (to use on forms) -DefaultSearchFilters=Default search filters -DefaultSortOrder=Default sort orders -DefaultFocus=Default focus fields -DefaultMandatory=Mandatory form fields +LDAPFieldSidExample=Misol: objectid +LDAPFieldEndLastSubscription=Obuna tugagan sana +LDAPFieldTitle=Ish joyi +LDAPFieldTitleExample=Misol: sarlavha +LDAPFieldGroupid=Guruh identifikatori +LDAPFieldGroupidExample=Misol: gidnumber +LDAPFieldUserid=Foydalanuvchi IDsi +LDAPFieldUseridExample=Misol: uidnumber +LDAPFieldHomedirectory=Uy katalogi +LDAPFieldHomedirectoryExample=Misol: homedirectory +LDAPFieldHomedirectoryprefix=Uy katalogi prefiksi +LDAPSetupNotComplete=LDAP-ni sozlash tugallanmagan (boshqalarga o'tish) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Hech qanday administrator yoki parol taqdim etilmagan. LDAP-ga kirish noma'lum va faqat o'qish rejimida bo'ladi. +LDAPDescContact=Ushbu sahifa Dolibarr kontaktlarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. +LDAPDescUsers=Ushbu sahifa Dolibarr foydalanuvchilarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. +LDAPDescGroups=Ushbu sahifa Dolibarr guruhlarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. +LDAPDescMembers=Ushbu sahifa Dolibarr a'zolari modulida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. +LDAPDescMembersTypes=Ushbu sahifa Dolibarr a'zolari turlarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. +LDAPDescValues=Misol qiymatlari OpenLDAP uchun quyidagi yuklangan sxemalar bilan yaratilgan: core.schema, cosine.schema, inetorgperson.schema ). Agar siz qadriyatlar va OpenLDAP-dan foydalansangiz, LDAP konfiguratsiya faylini slapd.conf -ga o'zgartiring. +ForANonAnonymousAccess=Tasdiqlangan kirish uchun (masalan, yozishga kirish uchun) +PerfDolibarr=Ishlashni sozlash / optimallashtirish hisoboti +YouMayFindPerfAdviceHere=Ushbu sahifada ishlash bilan bog'liq ba'zi tekshirishlar yoki tavsiyalar berilgan. +NotInstalled=O'rnatilmagan +NotSlowedDownByThis=Bu bilan sekinlashmadi. +NotRiskOfLeakWithThis=Bu bilan sizib chiqish xavfi yo'q. +ApplicativeCache=Amaliy kesh +MemcachedNotAvailable=Amaliy kesh topilmadi. Siz Memcached kesh-serverini va ushbu kesh-serverdan foydalanishga qodir bo'lgan modulni o'rnatish orqali ish faoliyatini oshirishingiz mumkin.
    Qo'shimcha ma'lumot bu erda http://wiki.dolibarr.org/index.php/Module_MemCached_EN .
    E'tibor bering, ko'plab veb-xosting provayderlari bunday kesh-serverni ta'minlamaydilar. +MemcachedModuleAvailableButNotSetup=Amaliy kesh uchun memcached moduli topildi, ammo modulni sozlash tugallanmagan. +MemcachedAvailableAndSetup=Memcached serveridan foydalanishga bag'ishlangan memcached moduli yoqilgan. +OPCodeCache=OPCode kesh +NoOPCodeCacheFound=OPCode keshi topilmadi. Ehtimol, siz XCache yoki eAccelerator (yaxshi) dan tashqari OPCode keshidan foydalanmoqdasiz yoki ehtimol sizda OPCode keshi yo'q (juda yomon). +HTTPCacheStaticResources=Statik manbalar uchun HTTP kesh (css, img, javascript) +FilesOfTypeCached=%s turidagi fayllar HTTP server tomonidan keshlanadi +FilesOfTypeNotCached=%s turidagi fayllar HTTP server tomonidan keshlanmagan +FilesOfTypeCompressed=%s tipidagi fayllar HTTP server tomonidan siqiladi +FilesOfTypeNotCompressed=%s turidagi fayllar HTTP-server tomonidan siqilmagan +CacheByServer=Server tomonidan keshlash +CacheByServerDesc=Masalan, "ExpiresByType image / gif A2592000" Apache ko'rsatmasidan foydalanish +CacheByClient=Brauzer orqali keshlash +CompressionOfResources=HTTP javoblarini siqish +CompressionOfResourcesDesc=Masalan, "AddOutputFilterByType DEFLATE" Apache ko'rsatmasidan foydalanish +TestNotPossibleWithCurrentBrowsers=Hozirgi brauzerlarda bunday avtomatik aniqlash mumkin emas +DefaultValuesDesc=Bu erda siz yangi yozuv yaratishda foydalanmoqchi bo'lgan birlamchi qiymatni va / yoki standart filtrlarni yoki yozuvlarni ro'yxatlashda tartiblashtirish tartibini belgilashingiz mumkin. +DefaultCreateForm=Standart qiymatlar (shakllarda foydalanish uchun) +DefaultSearchFilters=Standart qidiruv filtrlari +DefaultSortOrder=Standart tartiblash buyurtmalari +DefaultFocus=Standart fokus maydonlari +DefaultMandatory=Majburiy shakl maydonlari ##### Products ##### -ProductSetup=Products module setup -ServiceSetup=Services module setup -ProductServiceSetup=Products and Services modules setup -NumberOfProductShowInSelect=Maximum number of products to show in combo select lists (0=no limit) -ViewProductDescInFormAbility=Display product descriptions in forms (otherwise shown in a tooltip popup) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents -MergePropalProductCard=Activate in product/service Attached Files tab an option to merge product PDF document to proposal PDF azur if product/service is in the proposal -ViewProductDescInThirdpartyLanguageAbility=Display products descriptions in forms in the language of the third party (otherwise in the language of the user) -UseSearchToSelectProductTooltip=Also if you have a large number of products (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectProduct=Wait until you press a key before loading content of product combo list (This may increase performance if you have a large number of products, but it is less convenient) -SetDefaultBarcodeTypeProducts=Default barcode type to use for products -SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties -UseUnits=Define a unit of measure for Quantity during order, proposal or invoice lines edition -ProductCodeChecker= Module for product code generation and checking (product or service) -ProductOtherConf= Product / Service configuration -IsNotADir=is not a directory! +ProductSetup=Mahsulotlar modulini sozlash +ServiceSetup=Xizmatlar modulini sozlash +ProductServiceSetup=Mahsulotlar va xizmatlar modullarini sozlash +NumberOfProductShowInSelect=Kombinatsiyalangan ro'yxatlarda ko'rsatiladigan mahsulotlarning maksimal soni (0 = chegara yo'q) +ViewProductDescInFormAbility=Shakllarda mahsulot tavsiflarini aks ettiring (aks holda ko'rsatmalar oynasi oynasida ko'rsatiladi) +DoNotAddProductDescAtAddLines=Shakllarga satrlarni qo'shish uchun mahsulot tavsifini (mahsulot kartasidan) qo'shmang +OnProductSelectAddProductDesc=Mahsulotni hujjat qatori sifatida qo'shganda mahsulotlarning tavsifidan qanday foydalanish +AutoFillFormFieldBeforeSubmit=Tavsifni kiritish maydonini mahsulot tavsifi bilan avtomatik to'ldirish +DoNotAutofillButAutoConcat=Kirish maydonini mahsulot tavsifi bilan avtomatik to'ldirmang. Mahsulotning tavsifi kiritilgan tavsif bilan avtomatik ravishda birlashtiriladi. +DoNotUseDescriptionOfProdut=Mahsulot tavsifi hech qachon hujjatlar satrining tavsifiga kiritilmaydi +MergePropalProductCard=Agar mahsulot / xizmat taklifda bo'lsa, mahsulotning PDF-hujjati bilan mahsulotning PDF-hujjatini birlashtirish uchun mahsulot / xizmatda biriktirilgan fayllar yorlig'ini faollashtiring. +ViewProductDescInThirdpartyLanguageAbility=Mahsulot tavsiflarini uchinchi tomon tilida (aks holda foydalanuvchi tilida) shakllarda ko'rsatish +UseSearchToSelectProductTooltip=Agar sizda ko'p miqdordagi mahsulotlar (> 100 000) bo'lsa, doimiy ravishda PRODUCT_DONOTSEARCH_ANYWHERE-ni Setup-> Other-da 1 ga o'rnatib tezlikni oshirishingiz mumkin. Keyin qidirish satr boshlanishi bilan cheklanadi. +UseSearchToSelectProduct=Mahsulotlar ro'yxati tarkibini yuklashdan oldin tugmachani bosguncha kuting (bu sizning mahsulotingiz ko'p bo'lsa, unumdorligini oshirishi mumkin, ammo bu unchalik qulay emas) +SetDefaultBarcodeTypeProducts=Mahsulotlar uchun ishlatiladigan standart shtrix-kod turi +SetDefaultBarcodeTypeThirdParties=Uchinchi shaxslar uchun ishlatiladigan standart shtrix kod turi +UseUnits=Buyurtma, taklif yoki schyot-fakturani nashr qilish paytida Miqdor uchun o'lchov birligini aniqlang +ProductCodeChecker= Mahsulot kodini ishlab chiqarish va tekshirish moduli (mahsulot yoki xizmat) +ProductOtherConf= Mahsulot / xizmat konfiguratsiyasi +IsNotADir=katalog emas! ##### Syslog ##### -SyslogSetup=Logs module setup -SyslogOutput=Logs outputs -SyslogFacility=Facility -SyslogLevel=Level -SyslogFilename=File name and path -YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. -ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant -OnlyWindowsLOG_USER=On Windows, only the LOG_USER facility will be supported -CompressSyslogs=Compression and backup of debug log files (generated by module Log for debug) -SyslogFileNumberOfSaves=Number of backup logs to keep -ConfigureCleaningCronjobToSetFrequencyOfSaves=Configure cleaning scheduled job to set log backup frequency +SyslogSetup=Jurnallar modulini sozlash +SyslogOutput=Jurnal natijalari +SyslogFacility=Qulaylik +SyslogLevel=Daraja +SyslogFilename=Fayl nomi va yo'li +YouCanUseDOL_DATA_ROOT=Dolibarr "hujjatlar" katalogidagi jurnal fayli uchun DOL_DATA_ROOT / dolibarr.log dan foydalanishingiz mumkin. Ushbu faylni saqlash uchun boshqa yo'lni belgilashingiz mumkin. +ErrorUnknownSyslogConstant=Doimiy %s ma'lum Syslog doimiysi emas +OnlyWindowsLOG_USER=Windows-da faqat LOG_USER moslamasi qo'llab-quvvatlanadi +CompressSyslogs=Sozlash va disk raskadrovka jurnal fayllarini zaxiralash (disk raskadrovka uchun Log moduli tomonidan yaratilgan) +SyslogFileNumberOfSaves=Saqlanadigan jurnallar soni +ConfigureCleaningCronjobToSetFrequencyOfSaves=Jurnalning zaxira chastotasini o'rnatish uchun rejalashtirilgan ishni tozalashni sozlang ##### Donations ##### -DonationsSetup=Donation module setup -DonationsReceiptModel=Template of donation receipt +DonationsSetup=Xayriya modulini sozlash +DonationsReceiptModel=Xayr-ehson olish to'g'risidagi shablon ##### Barcode ##### -BarcodeSetup=Barcode setup -PaperFormatModule=Print format module -BarcodeEncodeModule=Barcode encoding type -CodeBarGenerator=Barcode generator -ChooseABarCode=No generator defined -FormatNotSupportedByGenerator=Format not supported by this generator -BarcodeDescEAN8=Barcode of type EAN8 -BarcodeDescEAN13=Barcode of type EAN13 -BarcodeDescUPC=Barcode of type UPC -BarcodeDescISBN=Barcode of type ISBN -BarcodeDescC39=Barcode of type C39 -BarcodeDescC128=Barcode of type C128 -BarcodeDescDATAMATRIX=Barcode of type Datamatrix -BarcodeDescQRCODE=Barcode of type QR code -GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
    For example: /usr/local/bin/genbarcode -BarcodeInternalEngine=Internal engine -BarCodeNumberManager=Manager to auto define barcode numbers +BarcodeSetup=Shtrixli sozlash +PaperFormatModule=Format modulini chop etish +BarcodeEncodeModule=Shtrixli kodlash turi +CodeBarGenerator=Shtrixli generator +ChooseABarCode=Hech qanday generator aniqlanmagan +FormatNotSupportedByGenerator=Format ushbu generator tomonidan qo'llab-quvvatlanmaydi +BarcodeDescEAN8=EAN8 tipidagi shtrix-kod +BarcodeDescEAN13=EAN13 tipidagi shtrix-kod +BarcodeDescUPC=UPC tipidagi shtrix-kod +BarcodeDescISBN=ISBN tipidagi shtrix-kod +BarcodeDescC39=C39 tipidagi shtrix-kod +BarcodeDescC128=C128 tipidagi shtrix-kod +BarcodeDescDATAMATRIX=Datamatrix tipidagi shtrix-kod +BarcodeDescQRCODE=QR kodli shtrix kod +GenbarcodeLocation=Shtrixli kodni yaratish buyruq satri vositasi (ba'zi shtrix-kod turlari uchun ichki dvigatel tomonidan ishlatiladi). "Genbarcode" bilan mos bo'lishi kerak.
    Masalan: / usr / local / bin / genbarcode +BarcodeInternalEngine=Ichki dvigatel +BarCodeNumberManager=Shtrixli raqamlarni avtomatik aniqlash uchun menejer ##### Prelevements ##### -WithdrawalsSetup=Setup of module Direct Debit payments +WithdrawalsSetup=To'g'ridan-to'g'ri to'lovlar modulini o'rnatish ##### ExternalRSS ##### -ExternalRSSSetup=External RSS imports setup -NewRSS=New RSS Feed -RSSUrl=RSS URL -RSSUrlExample=An interesting RSS feed +ExternalRSSSetup=Tashqi RSS importini sozlash +NewRSS=Yangi RSS tasmasi +RSSUrl=RSS URL manzili +RSSUrlExample=Qiziqarli RSS tasmasi ##### Mailing ##### -MailingSetup=EMailing module setup -MailingEMailFrom=Sender email (From) for emails sent by emailing module -MailingEMailError=Return Email (Errors-to) for emails with errors -MailingDelay=Seconds to wait after sending next message +MailingSetup=EMailing modulini sozlash +MailingEMailFrom=Elektron pochta orqali yuborilgan elektron pochta xabarlari uchun elektron pochta xabarini yuboruvchi (Kimdan) +MailingEMailError=Xatolari bo'lgan elektron pochta xabarlari uchun elektron pochtani qaytaring (Xatolar) +MailingDelay=Keyingi xabarni yuborgandan keyin kutish uchun soniya ##### Notification ##### -NotificationSetup=Email Notification module setup -NotificationEMailFrom=Sender email (From) for emails sent by the Notifications module -FixedEmailTarget=Recipient +NotificationSetup=Elektron pochta xabarnomasi modulini sozlash +NotificationEMailFrom=Bildirishnomalar moduli tomonidan yuborilgan elektron pochta xabarlari uchun jo'natuvchi elektron pochtasi (dan) +FixedEmailTarget=Qabul qiluvchi ##### Sendings ##### -SendingsSetup=Shipping module setup -SendingsReceiptModel=Sending receipt model -SendingsNumberingModules=Sendings numbering modules -SendingsAbility=Support shipping sheets for customer deliveries -NoNeedForDeliveryReceipts=In most cases, shipping sheets are used both as sheets for customer deliveries (list of products to send) and sheets that are received and signed by customer. Hence the product deliveries receipt is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shipments +SendingsSetup=Yuk tashish modulini sozlash +SendingsReceiptModel=Qabul qilish modelini yuborish +SendingsNumberingModules=Yuborish raqamlash modullari +SendingsAbility=Mijozlarni etkazib berish uchun jo'natma varaqlarini qo'llab-quvvatlash +NoNeedForDeliveryReceipts=Ko'pgina hollarda, jo'natma varaqalari ham mijozlarni etkazib berish uchun varaqalar (yuboriladigan mahsulotlar ro'yxati), ham mijoz tomonidan qabul qilingan va imzolangan varaqlar sifatida ishlatiladi. Shuning uchun mahsulotni etkazib berish kvitansiyasi takrorlanadigan xususiyat bo'lib, kamdan-kam hollarda faollashtiriladi. +FreeLegalTextOnShippings=Yuklarni jo'natishda bepul matn ##### Deliveries ##### -DeliveryOrderNumberingModules=Products deliveries receipt numbering module -DeliveryOrderModel=Products deliveries receipt model -DeliveriesOrderAbility=Support products deliveries receipts -FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +DeliveryOrderNumberingModules=Mahsulotlarni etkazib berish kvitansiyasini raqamlash moduli +DeliveryOrderModel=Mahsulotlarni etkazib berish kvitansiyasi modeli +DeliveriesOrderAbility=Mahsulotlarni etkazib berish kvitansiyasini qo'llab-quvvatlash +FreeLegalTextOnDeliveryReceipts=Yetkazib berish kvitansiyalari bo'yicha bepul matn ##### FCKeditor ##### -AdvancedEditor=Advanced editor -ActivateFCKeditor=Activate advanced editor for: -FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) -FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. -FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) -FCKeditorForUserSignature=WYSIWIG creation/edition of user signature -FCKeditorForMail=WYSIWIG creation/edition for all mail (except Tools->eMailing) -FCKeditorForTicket=WYSIWIG creation/edition for tickets +AdvancedEditor=Murakkab muharrir +ActivateFCKeditor=Kengaytirilgan tahrirlovchini faollashtirish: +FCKeditorForCompany=WYSIWIG elementlarini tavsiflash va eslatma yaratish / nashr qilish (mahsulot / xizmatlardan tashqari) +FCKeditorForProduct=WYSIWIG mahsulotlarini / xizmatlarini yaratish / nashr qilish tavsifi va eslatmasi +FCKeditorForProductDetails=WYSIWIG mahsulotlarini yaratish / nashr qilish barcha sub'ektlar uchun tafsilotlar liniyalari (takliflar, buyurtmalar, hisob-fakturalar va boshqalar ...). Ogohlantirish: ushbu holat uchun ushbu parametrdan foydalanish jiddiy tavsiya etilmaydi, chunki u PDF-fayllarni yaratishda maxsus belgilar va sahifalarni formatlash bilan bog'liq muammolarni keltirib chiqarishi mumkin. +FCKeditorForMailing= Ommaviy elektron pochta xabarlari uchun WYSIWIG yaratish / nashr (Asboblar -> Elektron pochta) +FCKeditorForUserSignature=WYSIWIG yaratish / foydalanuvchi imzosini nashr etish +FCKeditorForMail=Barcha pochta uchun WYSIWIG yaratish / nashr (Asboblar -> elektron pochtadan tashqari) +FCKeditorForTicket=WYSIWIG yaratish / chiptalar uchun nashr ##### Stock ##### -StockSetup=Stock module setup -IfYouUsePointOfSaleCheckModule=If you use the Point of Sale module (POS) provided by default or an external module, this setup may be ignored by your POS module. Most POS modules are designed by default to create an invoice immediately and decrease stock irrespective of the options here. So if you need or not to have a stock decrease when registering a sale from your POS, check also your POS module setup. +StockSetup=Birja modulini sozlash +IfYouUsePointOfSaleCheckModule=Agar siz sukut bo'yicha taqdim etilgan Sotish nuqtasi moduli (POS) yoki tashqi moduldan foydalansangiz, ushbu sozlash POS modulingiz tomonidan e'tiborsiz qoldirilishi mumkin. Ko'pgina POS-modullar sukut bo'yicha darhol hisob-fakturani yaratish va bu erdagi variantlardan qat'iy nazar zaxiralarni kamaytirish uchun ishlab chiqilgan. Shunday qilib, sizning POS-dan savdo-sotiqni ro'yxatdan o'tkazishda sizda aktsiyalar kamayishi kerak bo'lsa yoki kerak bo'lmasa, shuningdek POS modul sozlamalarini tekshiring. ##### Menu ##### -MenuDeleted=Menu deleted -Menu=Menu -Menus=Menus -TreeMenuPersonalized=Personalized menus -NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry -NewMenu=New menu -MenuHandler=Menu handler -MenuModule=Source module -HideUnauthorizedMenu=Hide unauthorized menus also for internal users (just greyed otherwise) -DetailId=Id menu -DetailMenuHandler=Menu handler where to show new menu -DetailMenuModule=Module name if menu entry come from a module -DetailType=Type of menu (top or left) -DetailTitre=Menu label or label code for translation -DetailUrl=URL where menu send you (Absolute URL link or external link with http://) -DetailEnabled=Condition to show or not entry -DetailRight=Condition to display unauthorized grey menus -DetailLangs=Lang file name for label code translation -DetailUser=Intern / Extern / All -Target=Target -DetailTarget=Target for links (_blank top opens a new window) -DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) -ModifMenu=Menu change -DeleteMenu=Delete menu entry -ConfirmDeleteMenu=Are you sure you want to delete menu entry %s? -FailedToInitializeMenu=Failed to initialize menu +MenuDeleted=Menyu o'chirildi +Menu=Menyu +Menus=Menyular +TreeMenuPersonalized=Shaxsiylashtirilgan menyular +NotTopTreeMenuPersonalized=Shaxsiy menyular yuqori menyu yozuviga bog'lanmagan +NewMenu=Yangi menyu +MenuHandler=Menyu boshqaruvchisi +MenuModule=Manba moduli +HideUnauthorizedMenu=Ichki foydalanuvchilar uchun ham ruxsatsiz menyularni yashirish (aks holda ochko'zlik) +DetailId=Id menyusi +DetailMenuHandler=Yangi menyu ko'rsatiladigan menyu boshqaruvchisi +DetailMenuModule=Agar menyuga kirish moduldan keladigan bo'lsa, modul nomi +DetailType=Menyu turi (yuqori yoki chap) +DetailTitre=Tarjima qilish uchun menyu yorlig'i yoki yorliq kodi +DetailUrl=Sizga menyu yuboradigan URL (Mutlaq URL havolasi yoki http: // bilan tashqi havola) +DetailEnabled=Kirish yoki ko'rsatmaslik sharti +DetailRight=Ruxsatsiz kulrang menyularni ko'rsatish sharti +DetailLangs=Yorliq kodini tarjima qilish uchun lang fayl nomi +DetailUser=Intern / Extern / Hammasi +Target=Maqsad +DetailTarget=Havolalar uchun maqsad (_blank top yangi oynani ochadi) +DetailLevel=Daraja (-1: yuqori menyu, 0: sarlavha menyusi,> 0 menyu va pastki menyu) +ModifMenu=Menyu o'zgarishi +DeleteMenu=Menyu yozuvini o'chirish +ConfirmDeleteMenu= %s menyu yozuvini o'chirishni xohlaysizmi? +FailedToInitializeMenu=Menyu ishga tushirilmadi ##### Tax ##### -TaxSetup=Taxes, social or fiscal taxes and dividends module setup -OptionVatMode=VAT due -OptionVATDefault=Standard basis -OptionVATDebitOption=Accrual basis -OptionVatDefaultDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on payments for services -OptionVatDebitOptionDesc=VAT is due:
    - on delivery of goods (based on invoice date)
    - on invoice (debit) for services -OptionPaymentForProductAndServices=Cash basis for products and services -OptionPaymentForProductAndServicesDesc=VAT is due:
    - on payment for goods
    - on payments for services -SummaryOfVatExigibilityUsedByDefault=Time of VAT eligibility by default according to chosen option: -OnDelivery=On delivery -OnPayment=On payment -OnInvoice=On invoice -SupposedToBePaymentDate=Payment date used -SupposedToBeInvoiceDate=Invoice date used -Buy=Buy -Sell=Sell -InvoiceDateUsed=Invoice date used -YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Organization), so there is no VAT options to setup. -AccountancyCode=Accounting Code -AccountancyCodeSell=Sale account. code -AccountancyCodeBuy=Purchase account. code -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +TaxSetup=Soliqlar, ijtimoiy yoki soliq soliqlari va dividendlar modulini o'rnatish +OptionVatMode=QQS to'lashi kerak +OptionVATDefault=Standart asos +OptionVATDebitOption=Hisoblash usuli +OptionVatDefaultDesc=QQS muddati:
    - tovarlarni etkazib berish bo'yicha (hisob-kitob sana asosida)
    - xizmatlar uchun to'lovlar bo'yicha +OptionVatDebitOptionDesc=QQS muddati:
    - tovarlarni etkazib berish bo'yicha (hisob-kitob sana asosida)
    - xizmatlar uchun hisob-kitob (debet) bo'yicha +OptionPaymentForProductAndServices=Mahsulotlar va xizmatlar uchun naqd poydevor +OptionPaymentForProductAndServicesDesc=QQS to'lashi kerak:
    - tovarlarga to'lov bo'yicha
    - xizmatlar uchun to'lovlarga +SummaryOfVatExigibilityUsedByDefault=Tanlangan variant bo'yicha sukut bo'yicha QQS olish vaqti: +OnDelivery=Yetkazib berish paytida +OnPayment=To'lov bo'yicha +OnInvoice=Hisob-fakturada +SupposedToBePaymentDate=To'lov sanasi ishlatilgan +SupposedToBeInvoiceDate=Hisob-faktura sanasi ishlatilgan +Buy=Sotib oling +Sell=Sotish +InvoiceDateUsed=Hisob-faktura sanasi ishlatilgan +YourCompanyDoesNotUseVAT=Sizning kompaniyangiz QQSdan foydalanmasligi aniqlandi (Uy - O'rnatish - Kompaniya / tashkilot), shuning uchun sozlash uchun QQS variantlari mavjud emas. +AccountancyCode=Buxgalteriya kodi +AccountancyCodeSell=Sotish hisobi. kod +AccountancyCodeBuy=Hisobni sotib olish. kod +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Yangi soliqni yaratishda sukut bo'yicha "To'lovni avtomatik ravishda yaratish" katagiga bo'sh joy qo'ying ##### Agenda ##### -AgendaSetup=Events and agenda module setup -PasswordTogetVCalExport=Key to authorize export link -SecurityKey = Security Key -PastDelayVCalExport=Do not export event older than -AGENDA_USE_EVENT_TYPE=Use events types (managed in menu Setup -> Dictionaries -> Type of agenda events) -AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of event in event create form -AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view -AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view -AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). -AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification -AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. -AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view +AgendaSetup=Voqealar va kun tartibi modulini o'rnatish +PasswordTogetVCalExport=Eksport havolasini tasdiqlash uchun kalit +SecurityKey = Elektron kalit +PastDelayVCalExport=Eskiroq voqeani eksport qilmang +AGENDA_USE_EVENT_TYPE=Voqealar turlaridan foydalaning (O'rnatish menyusi -> Lug'atlar -> Kun tartibidagi tadbirlar turi) +AGENDA_USE_EVENT_TYPE_DEFAULT=Voqeani yaratish shaklida voqea turi uchun ushbu standart qiymatni avtomatik ravishda sozlash +AGENDA_DEFAULT_FILTER_TYPE=Ushbu turdagi tadbirlarni kun tartibi ko'rinishidagi qidiruv filtrida avtomatik ravishda o'rnating +AGENDA_DEFAULT_FILTER_STATUS=Ushbu holatni kun tartibi ko'rinishidagi qidiruv filtridagi voqealar uchun avtomatik ravishda o'rnating +AGENDA_DEFAULT_VIEW=Kun tartibi menyusini tanlashda qaysi ko'rinishni sukut bo'yicha ochishni xohlaysiz +AGENDA_REMINDER_BROWSER= foydalanuvchi brauzerida voqea eslatmasini yoqish +AGENDA_REMINDER_BROWSER_SOUND=Ovozli bildirishnomani yoqish +AGENDA_REMINDER_EMAIL= hodisasini eslatishni elektron pochta orqali yoqing (har bir tadbirda eslatish opsiyasi / kechikishi aniqlanishi mumkin). +AGENDA_REMINDER_EMAIL_NOTE=Eslatma: %s ishining chastotasi eslatmaning to'g'ri vaqtda yuborilganligiga ishonch hosil qilish uchun etarli bo'lishi kerak. +AGENDA_SHOW_LINKED_OBJECT=Bog'langan ob'ektni kun tartibidagi ko'rinishga ko'rsatish ##### Clicktodial ##### -ClickToDialSetup=Click To Dial module setup -ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). -ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. -ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialSetup=To Dial modulini o'rnatish uchun bosing +ClickToDialUrlDesc=Telefon piktogrammasi bosilganda url chaqirdi. URL, siz foydalanishingiz mumkin tags
    __PHONETO__ deb
    __PHONEFROM__ ClickToDial bilan almashtiriladi shaxs (seniki) qo'ng'iroq telefon raqamini
    __LOGIN__ bilan almashtiriladi, deb qo'ng'iroq qilish shaxsning telefon raqami bilan almashtiriladi kirish (foydalanuvchi kartasida belgilangan)
    __PASS__ , bu klikktodial parol bilan almashtiriladi (foydalanuvchi kartasida aniqlangan). +ClickToDialDesc=Ushbu modul statsionar kompyuterdan foydalanilganda telefon raqamlarini bosish mumkin bo'lgan havolalarga o'zgartiradi. Bir marta bosish raqamga qo'ng'iroq qiladi. Bu ish stolida yumshoq telefondan foydalanilganda yoki masalan, SIP protokoliga asoslangan CTI tizimidan foydalanilganda telefon qo'ng'irog'ini boshlash uchun ishlatilishi mumkin. Eslatma: Smartfondan foydalanganda telefon raqamlari doim bosilishi mumkin. +ClickToDialUseTelLink=Telefon raqamlarida faqat "tel:" havolasidan foydalaning +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### -CashDesk=Point of Sale -CashDeskSetup=Point of Sales module setup -CashDeskThirdPartyForSell=Default generic third party to use for sales -CashDeskBankAccountForSell=Default account to use to receive cash payments -CashDeskBankAccountForCheque=Default account to use to receive payments by check -CashDeskBankAccountForCB=Default account to use to receive payments by credit cards -CashDeskBankAccountForSumup=Default bank account to use to receive payments by SumUp -CashDeskDoNotDecreaseStock=Disable stock decrease when a sale is done from Point of Sale (if "no", stock decrease is done for each sale done from POS, irrespective of the option set in module Stock). -CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease -StockDecreaseForPointOfSaleDisabled=Stock decrease from Point of Sale disabled -StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with module Serial/Lot management (currently active) so stock decrease is disabled. -CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sale from Point of Sale. Hence a warehouse is required. -CashDeskForceDecreaseStockLabel=Stock decrease for batch products was forced. -CashDeskForceDecreaseStockDesc=Decrease first by the oldest eatby and sellby dates. -CashDeskReaderKeyCodeForEnter=Key code for "Enter" defined in barcode reader (Example: 13) +CashDesk=Sotish punkti +CashDeskSetup=Savdo modulini o'rnatish nuqtasi +CashDeskThirdPartyForSell=Sotish uchun foydalaniladigan odatiy umumiy uchinchi shaxs +CashDeskBankAccountForSell=Naqd to'lovlarni qabul qilish uchun foydalaniladigan standart hisob +CashDeskBankAccountForCheque=To'lovlarni chek orqali qabul qilish uchun foydalaniladigan standart hisob +CashDeskBankAccountForCB=Kredit kartalar orqali to'lovlarni qabul qilish uchun foydalaniladigan standart hisob +CashDeskBankAccountForSumup=SumUp tomonidan to'lovlarni qabul qilish uchun ishlatiladigan standart bank hisobvarag'i +CashDeskDoNotDecreaseStock=Sotish nuqtasi Savdo punktidan amalga oshirilganda aktsiyalarni pasaytirishni o'chirib qo'ying (agar "yo'q" bo'lsa, aktsiyalarni pasaytirish har bir POS-dan amalga oshiriladi, ushbu modulda o'rnatilgan variantdan qat'i nazar). +CashDeskIdWareHouse=Omborni kamaytirish uchun omborni majburan cheklang va cheklang +StockDecreaseForPointOfSaleDisabled=Savdo punktida aksiyalarning pasayishi o'chirilgan +StockDecreaseForPointOfSaleDisabledbyBatch=POS-da aktsiyalarning pasayishi Serial / Lot moduli bilan mos kelmaydi (hozirda faol), shuning uchun aktsiyalarni pasaytirish o'chirilgan. +CashDeskYouDidNotDisableStockDecease=Sale of Sale-dan savdo-sotiqni amalga oshirayotganda siz aktsiyalarning pasayishini o'chirib qo'ymadingiz. Shuning uchun ombor kerak. +CashDeskForceDecreaseStockLabel=Partiya mahsulotlari uchun zaxiralarni pasaytirish majbur bo'ldi. +CashDeskForceDecreaseStockDesc=Avvaliga eng qadimgi ovqatlanish va sotish sanalari bo'yicha kamaytiring. +CashDeskReaderKeyCodeForEnter=Shtrixli o'quvchida aniqlangan "Enter" uchun kalit kod (Misol: 13) ##### Bookmark ##### -BookmarkSetup=Bookmark module setup -BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or external web sites on your left menu. -NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +BookmarkSetup=Xatcho'plar modulini sozlash +BookmarkDesc=Ushbu modul sizga xatcho'plarni boshqarish imkonini beradi. Shuningdek, chap menyuda joylashgan har qanday Dolibarr sahifalariga yoki tashqi veb-saytlarga yorliq qo'shishingiz mumkin. +NbOfBoomarkToShow=Chap menyuda ko'rsatiladigan maksimal xatcho'plar soni ##### WebServices ##### -WebServicesSetup=Webservices module setup -WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. -WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here -EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at URL +WebServicesSetup=Veb-xizmatlar modulini sozlash +WebServicesDesc=Ushbu modulni yoqish orqali Dolibarr turli xil veb-xizmatlarni taqdim etadigan veb-xizmat serveriga aylanadi. +WSDLCanBeDownloadedHere=Taqdim etilgan xizmatlarning tavsiflovchi fayllarini bu erdan yuklab olish mumkin +EndPointIs=SOAP mijozlari o'zlarining so'rovlarini URL-da joylashgan Dolibarr so'nggi nuqtasiga yuborishlari kerak ##### API #### -ApiSetup=API module setup -ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. -ApiProductionMode=Enable production mode (this will activate use of a cache for services management) -ApiExporerIs=You can explore and test the APIs at URL -OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed -ApiKey=Key for API -WarningAPIExplorerDisabled=The API explorer has been disabled. API explorer is not required to provide API services. It is a tool for developer to find/test REST APIs. If you need this tool, go into setup of module API REST to activate it. +ApiSetup=API modulini sozlash +ApiDesc=Ushbu modulni yoqish orqali Dolibarr turli xil veb-xizmatlarni taqdim etadigan REST-serverga aylanadi. +ApiProductionMode=Ishlab chiqarish rejimini yoqing (bu xizmatlarni boshqarish uchun keshdan foydalanishni faollashtiradi) +ApiExporerIs=Siz API-larni URL manzilida o'rganishingiz va sinab ko'rishingiz mumkin +OnlyActiveElementsAreExposed=Faqatgina yoqilgan modullarning elementlari paydo bo'ladi +ApiKey=API uchun kalit +WarningAPIExplorerDisabled=API Explorer o'chirilgan. API xizmatlarini taqdim etish uchun API Explorer talab qilinmaydi. Bu ishlab chiquvchi uchun REST API-larni topish / sinab ko'rish vositasi. Agar sizga ushbu vosita kerak bo'lsa, uni faollashtirish uchun API REST modulini sozlang. ##### Bank ##### -BankSetupModule=Bank module setup -FreeLegalTextOnChequeReceipts=Free text on check receipts -BankOrderShow=Display order of bank accounts for countries using "detailed bank number" -BankOrderGlobal=General -BankOrderGlobalDesc=General display order -BankOrderES=Spanish -BankOrderESDesc=Spanish display order -ChequeReceiptsNumberingModule=Check Receipts Numbering Module +BankSetupModule=Bank modulini sozlash +FreeLegalTextOnChequeReceipts=Chek kvitansiyalaridagi bepul matn +BankOrderShow="Batafsil bank raqami" dan foydalanadigan mamlakatlar uchun bank hisobvaraqlarining tartibini ko'rsatish +BankOrderGlobal=Umumiy +BankOrderGlobalDesc=Bosh ekran tartibi +BankOrderES=Ispaniya +BankOrderESDesc=Ispaniyaning namoyish tartibi +ChequeReceiptsNumberingModule=Kvitansiyalarni raqamlash modulini tekshiring ##### Multicompany ##### -MultiCompanySetup=Multi-company module setup +MultiCompanySetup=Ko'p kompaniyalar uchun modulni sozlash ##### Suppliers ##### -SuppliersSetup=Vendor module setup -SuppliersCommandModel=Complete template of Purchase Order -SuppliersCommandModelMuscadet=Complete template of Purchase Order (old implementation of cornas template) -SuppliersInvoiceModel=Complete template of Vendor Invoice -SuppliersInvoiceNumberingModel=Vendor invoices numbering models -IfSetToYesDontForgetPermission=If set to a non null value, don't forget to provide permissions to groups or users allowed for the second approval +SuppliersSetup=Sotuvchi modulini sozlash +SuppliersCommandModel=Xarid qilish buyurtmasining to'liq shablonlari +SuppliersCommandModelMuscadet=Sotib olish buyurtmasining to'liq shablonlari (kornalar shablonining eski versiyasi) +SuppliersInvoiceModel=Sotuvchi fakturasining to'liq shabloni +SuppliersInvoiceNumberingModel=Sotuvchi fakturalarni raqamlash modellari +IfSetToYesDontForgetPermission=Agar nol qiymatga o'rnatilgan bo'lsa, ikkinchi tasdiqlash uchun ruxsat berilgan guruhlarga yoki foydalanuvchilarga ruxsat berishni unutmang ##### GeoIPMaxmind ##### -GeoIPMaxmindSetup=GeoIP Maxmind module setup -PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.
    Examples:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb -NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). -YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. -YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. -TestGeoIPResult=Test of a conversion IP -> country +GeoIPMaxmindSetup=GeoIP Maxmind modulini sozlash +PathToGeoIPMaxmindCountryDataFile=Maxmind ipni mamlakat tarjimasiga o'z ichiga olgan faylga yo'l.
    Misollar:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/Gare-Cite/Gare/Bare/Gare/Bare +NoteOnPathLocation=Sizning mamlakatingizga ip ma'lumotlari sizning PHP o'qishi mumkin bo'lgan katalog ichida bo'lishi kerakligini unutmang (PHP open_basedir sozlamalarini va fayl tizimining ruxsatlarini tekshiring). +YouCanDownloadFreeDatFileTo=Maxmind GeoIP mamlakat faylining bepul demo versiyasini %s manzilidan yuklab olishingiz mumkin. +YouCanDownloadAdvancedDatFileTo=Bundan tashqari, %s manzilidan Maxmind GeoIP mamlakat faylining
    yangilangan to'liq versiyasini yuklab olishingiz mumkin. +TestGeoIPResult=Konversiyani sinab ko'rish IP -> mamlakat ##### Projects ##### -ProjectsNumberingModules=Projects numbering module -ProjectsSetup=Project module setup -ProjectsModelModule=Project reports document model -TasksNumberingModules=Tasks numbering module -TaskModelModule=Tasks reports document model -UseSearchToSelectProject=Wait until a key is pressed before loading content of Project combo list.
    This may improve performance if you have a large number of projects, but it is less convenient. +ProjectsNumberingModules=Loyihalarni raqamlash moduli +ProjectsSetup=Loyiha modulini sozlash +ProjectsModelModule=Loyiha hisobotlari hujjat modeli +TasksNumberingModules=Vazifalarni raqamlash moduli +TaskModelModule=Vazifalar hujjat modeli hisobotlari +UseSearchToSelectProject=Project combo ro'yxatining tarkibini yuklashdan oldin tugma bosilguncha kuting.
    Agar sizda ko'plab loyihalar mavjud bo'lsa, bu ishlashni yaxshilashi mumkin, ammo bu unchalik qulay emas. ##### ECM (GED) ##### ##### Fiscal Year ##### -AccountingPeriods=Accounting periods -AccountingPeriodCard=Accounting period -NewFiscalYear=New accounting period -OpenFiscalYear=Open accounting period -CloseFiscalYear=Close accounting period -DeleteFiscalYear=Delete accounting period -ConfirmDeleteFiscalYear=Are you sure to delete this accounting period? -ShowFiscalYear=Show accounting period -AlwaysEditable=Can always be edited -MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) -NbMajMin=Minimum number of uppercase characters -NbNumMin=Minimum number of numeric characters -NbSpeMin=Minimum number of special characters -NbIteConsecutive=Maximum number of repeating same characters -NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation -SalariesSetup=Setup of module salaries -SortOrder=Sort order -Format=Format -TypePaymentDesc=0:Customer payment type, 1:Vendor payment type, 2:Both customers and suppliers payment type -IncludePath=Include path (defined into variable %s) -ExpenseReportsSetup=Setup of module Expense Reports -TemplatePDFExpenseReports=Document templates to generate expense report document -ExpenseReportsRulesSetup=Setup of module Expense Reports - Rules -ExpenseReportNumberingModules=Expense reports numbering module -NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. -YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for email notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerUser=List of automatic notifications per user* -ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact** -ListOfFixedNotifications=List of automatic fixed notifications -GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users -GoOntoContactCardToAddMore=Go to the tab "Notifications" of a third party to add or remove notifications for contacts/addresses -Threshold=Threshold -BackupDumpWizard=Wizard to build the database dump file -BackupZipWizard=Wizard to build the archive of documents directory -SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason: -SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is a manual process only a privileged user may perform. -InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file %s to allow this feature. -ConfFileMustContainCustom=Installing or building an external module from application need to save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to add the 2 directive lines:
    $dolibarr_main_url_root_alt='/custom';
    $dolibarr_main_document_root_alt='%s/custom'; -HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over -HighlightLinesColor=Highlight color of the line when the mouse passes over (use 'ffffff' for no highlight) -HighlightLinesChecked=Highlight color of the line when it is checked (use 'ffffff' for no highlight) -TextTitleColor=Text color of Page title -LinkColor=Color of links -PressF5AfterChangingThis=Press CTRL+F5 on keyboard or clear your browser cache after changing this value to have it effective -NotSupportedByAllThemes=Will works with core themes, may not be supported by external themes -BackgroundColor=Background color -TopMenuBackgroundColor=Background color for Top menu -TopMenuDisableImages=Hide images in Top menu -LeftMenuBackgroundColor=Background color for Left menu -BackgroundTableTitleColor=Background color for Table title line -BackgroundTableTitleTextColor=Text color for Table title line -BackgroundTableTitleTextlinkColor=Text color for Table title link line -BackgroundTableLineOddColor=Background color for odd table lines -BackgroundTableLineEvenColor=Background color for even table lines -MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) -NbAddedAutomatically=Number of days added to counters of users (automatically) each month -EnterAnyCode=This field contains a reference to identify the line. Enter any value of your choice, but without special characters. -Enter0or1=Enter 0 or 1 -UnicodeCurrency=Enter here between braces, list of byte number that represent the currency symbol. For example: for $, enter [36] - for brazil real R$ [82,36] - for €, enter [8364] -ColorFormat=The RGB color is in HEX format, eg: FF0000 -PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) -PositionIntoComboList=Position of line into combo lists -SellTaxRate=Sale tax rate -RecuperableOnly=Yes for VAT "Not Perceived but Recoverable" dedicated for some state in France. Keep value to "No" in all other cases. -UrlTrackingDesc=If the provider or transport service offers a page or web site to check the status of your shipments, you may enter it here. You can use the key {TRACKID} in the URL parameters so the system will replace it with the tracking number the user entered into the shipment card. -OpportunityPercent=When you create a lead, you will define an estimated amount of project/lead. According to status of the lead, this amount may be multiplied by this rate to evaluate a total amount all your leads may generate. Value is a percentage (between 0 and 100). -TemplateForElement=This template record is dedicated to which element -TypeOfTemplate=Type of template -TemplateIsVisibleByOwnerOnly=Template is visible to owner only -VisibleEverywhere=Visible everywhere -VisibleNowhere=Visible nowhere -FixTZ=TimeZone fix -FillFixTZOnlyIfRequired=Example: +2 (fill only if problem experienced) -ExpectedChecksum=Expected Checksum -CurrentChecksum=Current Checksum -ExpectedSize=Expected size -CurrentSize=Current size -ForcedConstants=Required constant values -MailToSendProposal=Customer proposals -MailToSendOrder=Sales orders -MailToSendInvoice=Customer invoices -MailToSendShipment=Shipments -MailToSendIntervention=Interventions -MailToSendSupplierRequestForQuotation=Quotation request -MailToSendSupplierOrder=Purchase orders -MailToSendSupplierInvoice=Vendor invoices -MailToSendContract=Contracts -MailToSendReception=Receptions -MailToThirdparty=Third parties -MailToMember=Members -MailToUser=Users -MailToProject=Projects -MailToTicket=Tickets -ByDefaultInList=Show by default on list view -YouUseLastStableVersion=You use the latest stable version -TitleExampleForMajorRelease=Example of message you can use to announce this major release (feel free to use it on your web sites) -TitleExampleForMaintenanceRelease=Example of message you can use to announce this maintenance release (feel free to use it on your web sites) -ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s is available. Version %s is a major release with a lot of new features for both users and developers. You can download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read ChangeLog for complete list of changes. -ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s is available. Version %s is a maintenance version, so contains only bug fixes. We recommend all users to upgrade to this version. A maintenance release does not introduce new features or changes to the database. You may download it from the download area of https://www.dolibarr.org portal (subdirectory Stable versions). You can read the ChangeLog for complete list of changes. -MultiPriceRuleDesc=When option "Several levels of prices per product/service" is enabled, you can define different prices (one per price level) for each product. To save you time, here you may enter a rule to autocalculate a price for each level based on the price of the first level, so you will have to only enter a price for the first level for each product. This page is designed to save you time but is useful only if your prices for each level are relative to first level. You can ignore this page in most cases. -ModelModulesProduct=Templates for product documents -WarehouseModelModules=Templates for documents of warehouses -ToGenerateCodeDefineAutomaticRuleFirst=To be able to generate codes automatically, you must first define a manager to auto-define the barcode number. -SeeSubstitutionVars=See * note for list of possible substitution variables -SeeChangeLog=See ChangeLog file (english only) -AllPublishers=All publishers -UnknownPublishers=Unknown publishers -AddRemoveTabs=Add or remove tabs -AddDataTables=Add object tables -AddDictionaries=Add dictionaries tables -AddData=Add objects or dictionaries data -AddBoxes=Add widgets -AddSheduledJobs=Add scheduled jobs -AddHooks=Add hooks -AddTriggers=Add triggers -AddMenus=Add menus -AddPermissions=Add permissions -AddExportProfiles=Add export profiles -AddImportProfiles=Add import profiles -AddOtherPagesOrServices=Add other pages or services -AddModels=Add document or numbering templates -AddSubstitutions=Add keys substitutions -DetectionNotPossible=Detection not possible -UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received it is saved in database user table and must be provided on each API call) -ListOfAvailableAPIs=List of available APIs -activateModuleDependNotSatisfied=Module "%s" depends on module "%s", that is missing, so module "%1$s" may not work correctly. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise -CommandIsNotInsideAllowedCommands=The command you are trying to run is not in the list of allowed commands defined in parameter $dolibarr_main_restrict_os_commands in the conf.php file. -LandingPage=Landing page -SamePriceAlsoForSharedCompanies=If you use a multicompany module, with the choice "Single price", the price will also be the same for all companies if products are shared between environments -ModuleEnabledAdminMustCheckRights=Module has been activated. Permissions for activated module(s) were given to admin users only. You may need to grant permissions to other users or groups manually if necessary. -UserHasNoPermissions=This user has no permissions defined +AccountingPeriods=Buxgalteriya davrlari +AccountingPeriodCard=Hisob davri +NewFiscalYear=Yangi hisobot davri +OpenFiscalYear=Ochiq hisob-kitob davri +CloseFiscalYear=Hisob davri yopiladi +DeleteFiscalYear=Hisob davri o'chirilsin +ConfirmDeleteFiscalYear=Ushbu hisobot davrini o'chirishga ishonchingiz komilmi? +ShowFiscalYear=Hisob-kitob davri +AlwaysEditable=Har doim tahrir qilish mumkin +MAIN_APPLICATION_TITLE=Ko'rinadigan dastur nomini majburlash (ogohlantirish: bu erda o'z ismingizni o'rnatish DoliDroid mobil ilovasidan foydalanilganda avtomatik to'ldirish tizimiga kirish xususiyatini buzishi mumkin) +NbMajMin=Bosh harflarning minimal soni +NbNumMin=Raqamli belgilarning minimal soni +NbSpeMin=Maxsus belgilarning minimal soni +NbIteConsecutive=Bir xil belgilarni takrorlashning maksimal soni +NoAmbiCaracAutoGeneration=Avtomatik ishlab chiqarish uchun noaniq belgilarni ("1", "l", "i", "|", "0", "O") ishlatmang +SalariesSetup=Modullarning ish haqini sozlash +SortOrder=Saralash tartibi +Format=Formatlash +TypePaymentDesc=0: mijozning to'lov turi, 1: sotuvchining to'lov turi, 2: mijozlar ham, etkazib beruvchilar uchun ham to'lov turi +IncludePath=Yo'lni qo'shing (%s o'zgaruvchisiga belgilangan) +ExpenseReportsSetup=Moddiy xarajatlar to'g'risidagi hisobotni sozlash +TemplatePDFExpenseReports=Xarajatlar to'g'risidagi hujjatni yaratish uchun hujjat shablonlari +ExpenseReportsRulesSetup=Xarajatlar bo'yicha hisobotlar modulini sozlash - qoidalar +ExpenseReportNumberingModules=Xarajatlar bo'yicha hisobotlarni raqamlash moduli +NoModueToManageStockIncrease=Zaxiralarni avtomatik ravishda oshirishni boshqaradigan biron bir modul faollashtirilmagan. Aksiyalarni ko'paytirish faqat qo'lda kiritish orqali amalga oshiriladi. +YouMayFindNotificationsFeaturesIntoModuleNotification="Bildirishnoma" modulini yoqish va sozlash orqali elektron pochta xabarlari uchun variantlarni topishingiz mumkin. +ListOfNotificationsPerUser=Har bir foydalanuvchi uchun avtomatik bildirishnomalar ro'yxati * +ListOfNotificationsPerUserOrContact=Har bir foydalanuvchi * yoki har bir kontakt uchun mavjud bo'lgan avtomatik xabarnomalar ro'yxati (ishbilarmonlik tadbirlarida) ** +ListOfFixedNotifications=Avtomatik sobit xabarnomalar ro'yxati +GoOntoUserCardToAddMore=Foydalanuvchilar uchun bildirishnomalarni qo'shish yoki o'chirish uchun "Bildirishnomalar" yorlig'iga o'ting +GoOntoContactCardToAddMore=Kontaktlar / manzillar uchun bildirishnomalarni qo'shish yoki o'chirish uchun uchinchi tomonning "Bildirishnomalar" yorlig'iga o'ting +Threshold=Eshik +BackupDumpWizard=Ma'lumotlar bazasi dump faylini yaratish ustasi +BackupZipWizard=Hujjatlar katalogini yaratish uchun sehrgar +SomethingMakeInstallFromWebNotPossible=Tashqi modulni o'rnatish quyidagi sabablarga ko'ra veb-interfeysdan mumkin emas: +SomethingMakeInstallFromWebNotPossible2=Shu sababli, bu erda tavsiflangan yangilash jarayoni faqat imtiyozli foydalanuvchi amalga oshirishi mumkin bo'lgan qo'lda bajariladigan jarayondir. +InstallModuleFromWebHasBeenDisabledByFile=Ilovadan tashqi modulni o'rnatishni administratoringiz o'chirib qo'ydi. Ushbu funktsiyaga ruxsat berish uchun siz undan %s faylini olib tashlashini so'rashingiz kerak. +ConfFileMustContainCustom=Tashqi modulni dasturdan o'rnatish yoki yaratish uchun modul fayllarini %s katalogiga saqlash kerak. Ushbu katalogni Dolibarr tomonidan qayta ishlash uchun siz ikkita direktiv qatorini qo'shish uchun conf / conf.php -ni o'rnatishingiz kerak:
    $ dolibarr_main_url_root_;
    $ dolibarr_main_document_root_alt = '%s / custom'; +HighlightLinesOnMouseHover=Sichqoncha harakati o'tib ketganda jadval satrlarini ajratib ko'rsatish +HighlightLinesColor=Sichqoncha o'tib ketganda chiziq rangini belgilang (ajratish uchun 'ffffff' dan foydalaning) +HighlightLinesChecked=Tekshirilganda chiziq rangini ajratib ko'rsatish (ajratish uchun 'ffffff' dan foydalaning) +TextTitleColor=Sahifa sarlavhasining matni rangi +LinkColor=Havolalarning rangi +PressF5AfterChangingThis=Klaviaturada CTRL + F5 tugmachalarini bosing yoki ushbu qiymatni o'zgartirgandan so'ng brauzer keshini tozalang +NotSupportedByAllThemes=Will asosiy mavzular bilan ishlaydi, tashqi mavzular tomonidan qo'llab-quvvatlanmasligi mumkin +BackgroundColor=Fon rangi +TopMenuBackgroundColor=Yuqori menyu uchun fon rangi +TopMenuDisableImages=Yuqori menyuda rasmlarni yashirish +LeftMenuBackgroundColor=Chap menyu uchun fon rangi +BackgroundTableTitleColor=Jadval sarlavhasi uchun fon rangi +BackgroundTableTitleTextColor=Jadval sarlavhasi uchun matn rangi +BackgroundTableTitleTextlinkColor=Jadval sarlavhasi liniyasi uchun matn rangi +BackgroundTableLineOddColor=Toq jadval chiziqlari uchun fon rangi +BackgroundTableLineEvenColor=Jadvalning tekis chiziqlari uchun fon rangi +MinimumNoticePeriod=Minimal ogohlantirish davri (ta'tilga chiqish so'rovingiz ushbu kechiktirishdan oldin amalga oshirilishi kerak) +NbAddedAutomatically=Foydalanuvchilarning hisoblagichlariga har oy qo'shilgan kunlar soni (avtomatik ravishda) +EnterAnyCode=Ushbu maydonda chiziqni aniqlash uchun ma'lumotnoma mavjud. Siz tanlagan har qanday qiymatni kiriting, lekin maxsus belgilarsiz. +Enter0or1=0 yoki 1 kiriting +UnicodeCurrency=Qavslar oralig'iga bu erga kiriting, valyuta belgisini ko'rsatadigan bayt raqamlari ro'yxati. Masalan: $ uchun, [36] kiriting - Braziliya uchun haqiqiy R $ [82,36] - € uchun, [8364] kiriting +ColorFormat=RGB rangi HEX formatida, masalan: FF0000 +PictoHelp=Dolibarr formatidagi piktogramma nomi (agar 'Mavzu katalogida' image.png ', agar modulning / img / katalogida bo'lsa' image.png@nom_du_module ' +PositionIntoComboList=Chiziqning kombinatsion ro'yxatlarga joylashishi +SellTaxRate=Sotish uchun soliq stavkasi +RecuperableOnly=Frantsiyaning biron bir shtati uchun ajratilgan "Qabul qilinmagan, ammo tiklanadigan" QQS uchun ha. Boshqa barcha holatlarda "Yo'q" qiymatini saqlang. +UrlTrackingDesc=Agar provayder yoki transport xizmati sizning jo'natmalaringiz holatini tekshirish uchun sahifa yoki veb-sayt taklif qilsa, uni bu erga kiritishingiz mumkin. Siz URL parametrlarida {TRACKID} tugmachasidan foydalanishingiz mumkin, shunda tizim uni foydalanuvchi jo'natma kartasiga kiritgan kuzatuv raqami bilan almashtiradi. +OpportunityPercent=Qo'rg'oshin yaratishda siz taxminiy loyiha / qo'rg'oshin miqdorini aniqlaysiz. Qo'rg'oshin maqomiga ko'ra, ushbu miqdor ushbu stavkaga ko'paytirilishi mumkin, bu sizning barcha potentsialingiz ishlab chiqarishi mumkin bo'lgan umumiy miqdorni baholash uchun. Qiymat foiz hisoblanadi (0 dan 100 gacha). +TemplateForElement=Ushbu shablon yozuvi qaysi elementga bag'ishlangan +TypeOfTemplate=Shablon turi +TemplateIsVisibleByOwnerOnly=Andoza faqat egasiga ko'rinadi +VisibleEverywhere=Hamma joyda ko'rinadi +VisibleNowhere=Hech qaerda ko'rinmaydi +FixTZ=TimeZone-ni tuzatish +FillFixTZOnlyIfRequired=Misol: +2 (faqat muammo yuzaga kelganda to'ldiring) +ExpectedChecksum=Kutilayotgan summa +CurrentChecksum=Joriy summa +ExpectedSize=Kutilayotgan o'lcham +CurrentSize=Joriy o'lcham +ForcedConstants=Kerakli doimiy qiymatlar +MailToSendProposal=Mijozlarning takliflari +MailToSendOrder=Savdo buyurtmalari +MailToSendInvoice=Mijozlarning hisob-fakturalari +MailToSendShipment=Yuklar +MailToSendIntervention=Aralashuvlar +MailToSendSupplierRequestForQuotation=Kotirovka so'rovi +MailToSendSupplierOrder=Sotib olish uchun buyurtmalar +MailToSendSupplierInvoice=Sotuvchi hisob-fakturalari +MailToSendContract=Shartnomalar +MailToSendReception=Qabullar +MailToThirdparty=Uchinchi shaxslar +MailToMember=A'zolar +MailToUser=Foydalanuvchilar +MailToProject=Loyihalar +MailToTicket=Chiptalar +ByDefaultInList=Ro'yxat ko'rinishida sukut bo'yicha ko'rsatish +YouUseLastStableVersion=Siz eng so'nggi barqaror versiyadan foydalanasiz +TitleExampleForMajorRelease=Ushbu yirik nashrni e'lon qilish uchun foydalanishingiz mumkin bo'lgan xabarning namunasi (uni o'zingizning veb-saytingizda ishlating) +TitleExampleForMaintenanceRelease=Xizmat namunasi, ushbu texnik xizmat ko'rsatilishini e'lon qilish uchun foydalanishingiz mumkin (uni veb-saytlaringizda ishlating) +ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s mavjud. %s versiyasi foydalanuvchilar uchun ham, ishlab chiquvchilar uchun ham juda ko'p yangi xususiyatlarga ega bo'lgan katta versiyadir. Siz uni https://www.dolibarr.org portalining yuklab olish maydonidan yuklab olishingiz mumkin (katalogning barqaror versiyalari). O'zgarishlarning to'liq ro'yxati uchun ChangeLog o'qishingiz mumkin. +ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s mavjud. %s versiyasi parvarishlash versiyasidir, shuning uchun faqat xatolarni tuzatishni o'z ichiga oladi. Barcha foydalanuvchilarga ushbu versiyaga o'tishni tavsiya etamiz. Ta'minot versiyasi ma'lumotlar bazasiga yangi xususiyatlar yoki o'zgarishlar kiritmaydi. Siz uni https://www.dolibarr.org portalining yuklab olish joyidan yuklab olishingiz mumkin (katalogning barqaror versiyalari). O'zgarishlarning to'liq ro'yxati uchun ChangeLog ni o'qishingiz mumkin. +MultiPriceRuleDesc="Mahsulot / xizmat uchun narxlarning bir necha darajalari" opsiyasi yoqilganda, har bir mahsulot uchun har xil narxlarni (narx darajasiga bitta) belgilashingiz mumkin. Vaqtingizni tejash uchun bu erda siz har bir darajadagi narxni birinchi darajadagi narxga qarab avtokalkulyatsiya qilish qoidasini kiritishingiz mumkin, shuning uchun har bir mahsulot uchun faqat birinchi darajadagi narxni kiritishingiz kerak bo'ladi. Ushbu sahifa sizning vaqtingizni tejashga mo'ljallangan, ammo har bir darajadagi narxlaringiz birinchi darajaga nisbatan foydali bo'lgan taqdirdagina foydali bo'ladi. Ko'p hollarda ushbu sahifani e'tiborsiz qoldirishingiz mumkin. +ModelModulesProduct=Mahsulot hujjatlari uchun shablonlar +WarehouseModelModules=Omborlar hujjatlari uchun shablonlar +ToGenerateCodeDefineAutomaticRuleFirst=Kodlarni avtomatik ravishda yaratish uchun avval shtrix raqamini avtomatik aniqlash uchun menejerni belgilashingiz kerak. +SeeSubstitutionVars=Mumkin bo'lgan o'zgaruvchan o'zgaruvchilar ro'yxati uchun * eslatmani ko'ring +SeeChangeLog=ChangeLog faylini ko'ring (faqat ingliz tilida) +AllPublishers=Barcha noshirlar +UnknownPublishers=Noma'lum noshirlar +AddRemoveTabs=Yorliqlarni qo'shing yoki olib tashlang +AddDataTables=Ob'ekt jadvallarini qo'shing +AddDictionaries=Lug'at jadvallarini qo'shing +AddData=Ob'ektlar yoki lug'atlar ma'lumotlarini qo'shing +AddBoxes=Vidjetlarni qo'shing +AddSheduledJobs=Rejalashtirilgan ish joylarini qo'shing +AddHooks=Kancalar qo'shing +AddTriggers=Triggerlar qo'shing +AddMenus=Menyularni qo'shing +AddPermissions=Ruxsatnomalarni qo'shing +AddExportProfiles=Eksport rejimlarini qo'shing +AddImportProfiles=Import profillarini qo'shing +AddOtherPagesOrServices=Boshqa sahifalarni yoki xizmatlarni qo'shing +AddModels=Hujjat yoki raqamlash shablonlarini qo'shing +AddSubstitutions=Kalit almashtirishlarni qo'shing +DetectionNotPossible=Aniqlash mumkin emas +UrlToGetKeyToUseAPIs=API-dan foydalanish uchun token olish uchun url (token olinganidan so'ng ma'lumotlar bazasi foydalanuvchi jadvalida saqlanadi va har bir API chaqiruvida ko'rsatilishi kerak) +ListOfAvailableAPIs=Mavjud API-lar ro'yxati +activateModuleDependNotSatisfied="%s" moduli "%s" moduliga bog'liq, chunki u etishmayapti, shuning uchun "%1$s" moduli to'g'ri ishlamasligi mumkin. Iltimos, "%2$s" modulini o'rnating yoki "%1$s" modulini o'chirib qo'ying +CommandIsNotInsideAllowedCommands=Siz bajarmoqchi bo'lgan buyruq $ dolibarr_main_restrict_os_commands conf.php a0a65d071f6fc parametrida belgilangan ruxsat berilgan buyruqlar ro'yxatida yo'q. +LandingPage=Ochilish sahifasi +SamePriceAlsoForSharedCompanies=Agar siz "Yagona narx" tanlovi bilan ko'pkompaniyali moduldan foydalansangiz, mahsulot atrof-muhit o'rtasida taqsimlansa, narx barcha kompaniyalar uchun bir xil bo'ladi. +ModuleEnabledAdminMustCheckRights=Modul faollashtirildi. Faollashtirilgan modul (lar) ga ruxsat faqat administrator foydalanuvchilariga berilgan. Agar kerak bo'lsa, boshqa foydalanuvchilarga yoki guruhlarga ruxsatnomalarni qo'lda berishingiz kerak bo'lishi mumkin. +UserHasNoPermissions=Ushbu foydalanuvchi uchun ruxsatlar aniqlanmagan TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "%s")
    Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "%s" in days)
    Use "Current/Next" to have payment term date being the first Nth of the month after delta (delta is field "%s", N is stored into field "%s") -BaseCurrency=Reference currency of the company (go into setup of company to change this) -WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016). -WarningNoteModulePOSForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated. -WarningInstallationMayBecomeNotCompliantWithLaw=You are trying to install module %s that is an external module. Activating an external module means you trust the publisher of that module and that you are sure that this module does not adversely impact the behavior of your application, and is compliant with laws of your country (%s). If the module introduces an illegal feature, you become responsible for the use of illegal software. -MAIN_PDF_MARGIN_LEFT=Left margin on PDF -MAIN_PDF_MARGIN_RIGHT=Right margin on PDF -MAIN_PDF_MARGIN_TOP=Top margin on PDF -MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF -MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF -NothingToSetup=There is no specific setup required for this module. -SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 -SeveralLangugeVariatFound=Several language variants found -RemoveSpecialChars=Remove special characters -COMPANY_AQUARIUM_CLEAN_REGEX=Regex filter to clean value (COMPANY_AQUARIUM_CLEAN_REGEX) -COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) -COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed -GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) -GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here -HelpOnTooltip=Help text to show on tooltip -HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form -YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
    %s -ChartLoaded=Chart of account loaded -SocialNetworkSetup=Setup of module Social Networks -EnableFeatureFor=Enable features for %s +BaseCurrency=Kompaniyaning ma'lumotnoma valyutasi (buni o'zgartirish uchun kompaniyani tashkil etishga kiring) +WarningNoteModuleInvoiceForFrenchLaw=Ushbu modul %s Frantsiya qonunlariga mos keladi (Loi Finance 2016). +WarningNoteModulePOSForFrenchLaw=Ushbu modul %s Frantsiya qonunlariga javob beradi (Loi Finance 2016), chunki "Qaytarib bo'lmaydigan jurnallar" moduli avtomatik ravishda yoqiladi. +WarningInstallationMayBecomeNotCompliantWithLaw=Siz tashqi modul bo'lgan %s modulini o'rnatmoqchisiz. Tashqi modulni faollashtirish ushbu modul noshiriga ishonishingizni va ushbu modul sizning arizangizning xatti-harakatlariga salbiy ta'sir ko'rsatmasligiga va mamlakatingiz qonunlariga (%s) mos kelishiga ishonch hosil qilishingizni anglatadi. Agar modul noqonuniy xususiyatni taqdim etsa, siz noqonuniy dasturlardan foydalanish uchun javobgar bo'lasiz. +MAIN_PDF_MARGIN_LEFT=PDF-dagi chap chekka +MAIN_PDF_MARGIN_RIGHT=PDF-dagi o'ng chekka +MAIN_PDF_MARGIN_TOP=PDF-dagi eng yaxshi margin +MAIN_PDF_MARGIN_BOTTOM=PDF-dagi pastki hoshiya +MAIN_DOCUMENTS_LOGO_HEIGHT=PDF-dagi logotip uchun balandlik +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Taklif qatoriga rasm qo'shing +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=PDF-ga elektron belgini qo'shing +NothingToSetup=Ushbu modul uchun maxsus sozlash talab qilinmaydi. +SetToYesIfGroupIsComputationOfOtherGroups=Agar bu guruh boshqa guruhlarning hisob-kitobi bo'lsa, buni "ha" ga sozlang +EnterCalculationRuleIfPreviousFieldIsYes=Agar oldingi maydon "Ha" ga o'rnatilgan bo'lsa, hisoblash qoidasini kiriting.
    Masalan:
    CODEGRP1 + CODEGRP2 +SeveralLangugeVariatFound=Bir nechta til variantlari topildi +RemoveSpecialChars=Maxsus belgilarni olib tashlang +COMPANY_AQUARIUM_CLEAN_REGEX=Regex filtri toza qiymatga (COMPANY_AQUARIUM_CLEAN_REGEX) +COMPANY_DIGITARIA_CLEAN_REGEX=Regex filtri toza qiymatga (COMPANY_DIGITARIA_CLEAN_REGEX) +COMPANY_DIGITARIA_UNIQUE_CODE=Uni nusxalashga ruxsat berilmagan +GDPRContact=Ma'lumotlarni himoya qilish bo'yicha mutaxassis (DPO, ma'lumotlarning maxfiyligi yoki GDPR aloqasi) +GDPRContactDesc=Agar siz Evropa kompaniyalari / fuqarolari to'g'risidagi ma'lumotlarni saqlasangiz, bu erda ma'lumotlarni himoya qilishning umumiy qoidalari uchun javobgar bo'lgan shaxsni nomlashingiz mumkin +HelpOnTooltip=Matnni ko'rsatmalar panelida ko'rsatish uchun yordam bering +HelpOnTooltipDesc=Matn yoki tarjima kalitini bu erga qo'ying, bu maydon formada paydo bo'lganda matn asboblar panelida ko'rsatilsin +YouCanDeleteFileOnServerWith=Bu faylni serverda buyruq satri bilan o'chirib tashlashingiz mumkin:
    %s +ChartLoaded=Hisob jadvali yuklandi +SocialNetworkSetup=Ijtimoiy tarmoqlar modulini sozlash +EnableFeatureFor= %s uchun xususiyatlarni yoqish VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. -EmailCollector=Email collector -EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). -NewEmailCollector=New Email Collector -EMailHost=Host of email IMAP server -MailboxSourceDirectory=Mailbox source directory -MailboxTargetDirectory=Mailbox target directory -EmailcollectorOperations=Operations to do by collector -EmailcollectorOperationsDesc=Operations are executed from top to bottom order -MaxEmailCollectPerCollect=Max number of emails collected per collect -CollectNow=Collect now -ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ? -DateLastCollectResult=Date of latest collect try -DateLastcollectResultOk=Date of latest collect success -LastResult=Latest result -EmailCollectorConfirmCollectTitle=Email collect confirmation -EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ? -NoNewEmailToProcess=No new email (matching filters) to process -NothingProcessed=Nothing done -XEmailsDoneYActionsDone=%s emails qualified, %s emails successfully processed (for %s record/actions done) -RecordEvent=Record email event -CreateLeadAndThirdParty=Create lead (and third party if necessary) -CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) -CodeLastResult=Latest result code -NbOfEmailsInInbox=Number of emails in source directory -LoadThirdPartyFromName=Load third party searching on %s (load only) -LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found) -WithDolTrackingID=Message from a conversation initiated by a first email sent from Dolibarr -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr -WithDolTrackingIDInMsgId=Message sent from Dolibarr -WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr -CreateCandidature=Create job application +SwapSenderAndRecipientOnPDF=PDF hujjatlaridagi jo'natuvchi va qabul qiluvchining manzilini almashtirish +FeatureSupportedOnTextFieldsOnly=Ogohlantirish, faqat matn maydonlarida va kombinatsion ro'yxatlarda qo'llab-quvvatlanadigan xususiyat. Shuningdek, URL parametri action = create yoki action = edit o'rnatilishi kerak yoki ushbu funktsiyani ishga tushirish uchun sahifa nomi 'new.php' bilan tugashi kerak. +EmailCollector=Elektron pochta yig'uvchisi +EmailCollectorDescription=Muntazam ravishda elektron pochta qutilarini (IMAP protokoli yordamida) skanerlash va arizangizga kelgan elektron pochta xabarlarini kerakli joyda yozib olish va / yoki ba'zi yozuvlarni avtomatik ravishda yaratish (masalan, qo'rg'oshinlar) uchun rejalashtirilgan ishni va sozlash sahifasini qo'shing. +NewEmailCollector=Yangi elektron pochta yig'uvchisi +EMailHost=IMAP-server elektron pochta manzili +MailboxSourceDirectory=Pochta qutisi manbalari katalogi +MailboxTargetDirectory=Pochta qutisi maqsad katalogi +EmailcollectorOperations=Kollektor tomonidan bajariladigan operatsiyalar +EmailcollectorOperationsDesc=Amallar yuqoridan pastgacha tartibda bajariladi +MaxEmailCollectPerCollect=Har bir to'plam uchun to'plangan elektron pochta xabarlarining maksimal soni +CollectNow=Hozir yig'ing +ConfirmCloneEmailCollector=Elektron pochta kollektorini %s klonlamoqchimisiz? +DateLastCollectResult=So'nggi marta sinab ko'ring +DateLastcollectResultOk=So'nggi yutuqlar sanasi +LastResult=Oxirgi natija +EmailCollectorConfirmCollectTitle=Elektron pochta orqali to'plamni tasdiqlash +EmailCollectorConfirmCollect=Hozir ushbu kollektsioner uchun to'plamni boshqarishni xohlaysizmi? +NoNewEmailToProcess=Ishlash uchun yangi elektron pochta xabarlari (mos keladigan filtrlar) yo'q +NothingProcessed=Hech narsa qilinmadi +XEmailsDoneYActionsDone=%s elektron pochta xabarlari malakali, %s elektron pochta xabarlari muvaffaqiyatli qayta ishlandi (%s yozuvi / bajarilgan harakatlar uchun) +RecordEvent=Elektron pochta hodisasini yozib oling +CreateLeadAndThirdParty=Qo'rg'oshin yarating (va agar kerak bo'lsa, uchinchi tomon) +CreateTicketAndThirdParty=Chiptani yarating (va oldingi operatsiya yuklangan bo'lsa, uchinchi tomon bilan bog'laning) +CodeLastResult=Oxirgi natija kodi +NbOfEmailsInInbox=Manba katalogidagi elektron pochta xabarlari soni +LoadThirdPartyFromName=%s-da qidiruvni uchinchi tomonga yuklang (faqat yuklash uchun) +LoadThirdPartyFromNameOrCreate=%s-da qidiruvni uchinchi tomonga yuklash (agar topilmasa yaratish) +WithDolTrackingID=Dolibarr-dan yuborilgan birinchi elektron pochta orqali boshlangan suhbatdan xabar +WithoutDolTrackingID=Dolibarr-dan birinchi elektron pochta orqali yuborilgan suhbatdan xabar +WithDolTrackingIDInMsgId=Dolibarr-dan xabar yuborildi +WithoutDolTrackingIDInMsgId=Xabar Dolibarr-dan yuborilmadi +CreateCandidature=Ishga ariza yarating FormatZip=Zip -MainMenuCode=Menu entry code (mainmenu) -ECMAutoTree=Show automatic ECM tree -OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
    objproperty1=SET:the value to set
    objproperty2=SET:a value with replacement of __objproperty1__
    objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
    objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
    options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
    object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

    Use a ; char as separator to extract or set several properties. -OpeningHours=Opening hours -OpeningHoursDesc=Enter here the regular opening hours of your company. -ResourceSetup=Configuration of Resource module -UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list). -DisabledResourceLinkUser=Disable feature to link a resource to users -DisabledResourceLinkContact=Disable feature to link a resource to contacts -EnableResourceUsedInEventCheck=Enable feature to check if a resource is in use in an event -ConfirmUnactivation=Confirm module reset -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) -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_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' -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. -RootCategoryForProductsToSell=Root category of products to sell -RootCategoryForProductsToSellDesc=If defined, only products inside this category or childs of this category will be available in the Point Of Sale -DebugBar=Debug Bar -DebugBarDesc=Toolbar that comes with a plenty of tools to simplify debugging -DebugBarSetup=DebugBar Setup -GeneralOptions=General Options -LogsLinesNumber=Number of lines to show on logs tab -UseDebugBar=Use the debug bar -DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console -WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output -ModuleActivated=Module %s is activated and slows the interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) -IfYouAreOnAProductionSetThis=If you are on a production environment, you should set this property to %s. -AntivirusEnabledOnUpload=Antivirus enabled on uploaded files -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode -EXPORTS_SHARE_MODELS=Export models are share with everybody -ExportSetup=Setup of module Export -ImportSetup=Setup of module Import -InstanceUniqueID=Unique ID of the instance -SmallerThan=Smaller than -LargerThan=Larger than -IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. -WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. -EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. -EndPointFor=End point for %s : %s -DeleteEmailCollector=Delete 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 -RESTRICT_ON_IP=Allow access to some host IP only (wildcard not allowed, use space between values). Empty means every hosts can access. +MainMenuCode=Menyu kirish kodi (asosiy menyu) +ECMAutoTree=Avtomatik ECM daraxtini ko'rsating +OperationParamDesc=Harakat ob'ekti uchun ishlatiladigan qiymatlarni yoki qiymatlarni qanday chiqarishni aniqlang. Masalan:
    objproperty1 = SET:
    objproperty2 = SET: __objproperty1__ o'rnini bosuvchi qiymat
    objproperty3 = SETIFEMPTY: agar ishlatilgan bo'lsa objproT0: ([^ \\ s] *)
    options_myextrafield1 = EXTRACT: SUBJECT: ([^ & # 92; n] *)
    object.objproperty5 = EXTRACT: BODY: Mening kompaniyamning nomi \\ s ([^ \\ s] *ffz19)
    dan foydalaning; ajratish sifatida char bir nechta xususiyatlarni ajratish yoki o'rnatish. +OpeningHours=Ish vaqti +OpeningHoursDesc=Bu erga kompaniyangizning muntazam ish vaqtiga kiring. +ResourceSetup=Resurs modulining konfiguratsiyasi +UseSearchToSelectResource=Resursni tanlash uchun qidiruv shaklidan foydalaning (ochiladigan ro'yxat o'rniga). +DisabledResourceLinkUser=Resursni foydalanuvchilar bilan bog'lash xususiyatini o'chirib qo'ying +DisabledResourceLinkContact=Resursni kontaktlarga bog'lash xususiyatini o'chirib qo'ying +EnableResourceUsedInEventCheck=Resursning tadbirda ishlatilishini tekshirish xususiyatini yoqing +ConfirmUnactivation=Modulni tiklashni tasdiqlang +OnMobileOnly=Faqat kichik ekranda (smartfon) +DisableProspectCustomerType="Prospect + Customer" uchinchi tomon turini o'chirib qo'ying (shuning uchun uchinchi tomon "Prospect" yoki "Customer" bo'lishi kerak, lekin ikkalasi ham bo'lishi mumkin emas) +MAIN_OPTIMIZEFORTEXTBROWSER=Ko'zi ojiz odam uchun interfeysni soddalashtiring +MAIN_OPTIMIZEFORTEXTBROWSERDesc=Agar siz ko'zi ojiz bo'lsangiz yoki dasturni Lynx yoki Links kabi matnli brauzerdan foydalansangiz, ushbu parametrni yoqing. +MAIN_OPTIMIZEFORCOLORBLIND=Rangli ko'r odam uchun interfeys rangini o'zgartiring +MAIN_OPTIMIZEFORCOLORBLINDDesc=Agar siz rang ko'r odam bo'lsangiz, ushbu parametrni yoqing, ba'zi hollarda interfeys kontrastni oshirish uchun ranglarni sozlashni o'zgartiradi. +Protanopia=Protanopiya +Deuteranopes=Deuteranoplar +Tritanopes=Tritanoplar +ThisValueCanOverwrittenOnUserLevel=Ushbu qiymat har bir foydalanuvchi tomonidan foydalanuvchi sahifasidan yozilishi mumkin - '%s' yorlig'i +DefaultCustomerType="Yangi mijoz" yaratish shakli uchun standart uchinchi tomon turi +ABankAccountMustBeDefinedOnPaymentModeSetup=Izoh: Ushbu xususiyat ishlashi uchun bank hisobvarag'i har bir to'lov rejimining modulida (Paypal, Stripe, ...) aniqlanishi kerak. +RootCategoryForProductsToSell=Sotiladigan mahsulotlarning asosiy toifasi +RootCategoryForProductsToSellDesc=Belgilangan bo'lsa, faqat ushbu toifadagi mahsulotlar yoki ushbu toifadagi bolalar ishlab chiqarilishi mumkin +DebugBar=Tuzatish paneli +DebugBarDesc=Nosozliklarni tuzatishni soddalashtirish uchun ko'plab vositalar bilan ta'minlangan asboblar paneli +DebugBarSetup=DebugBar-ni sozlash +GeneralOptions=Umumiy parametrlar +LogsLinesNumber=Jurnallar ko'rinishida ko'rsatiladigan qatorlar soni +UseDebugBar=Tuzatish panelidan foydalaning +DEBUGBAR_LOGS_LINES_NUMBER=Konsolda saqlanadigan oxirgi jurnal satrlari soni +WarningValueHigherSlowsDramaticalyOutput=Ogohlantirish, yuqori qiymatlar dramatik chiqishni sekinlashtiradi +ModuleActivated=%s moduli yoqilgan va interfeysni sekinlashtiradi +ModuleActivatedWithTooHighLogLevel=%s moduli juda yuqori jurnal darajasida faollashtirilgan (yaxshi ishlash va xavfsizlik uchun past darajadan foydalanishga harakat qiling) +ModuleSyslogActivatedButLevelNotTooVerbose=%s moduli faollashtirilgan va jurnal darajasi (%s) to'g'ri (juda aniq emas) +IfYouAreOnAProductionSetThis=Agar siz ishlab chiqarish muhitida bo'lsangiz, ushbu xususiyatni %s ga o'rnatishingiz kerak. +AntivirusEnabledOnUpload=Yuklangan fayllarda antivirus yoqilgan +SomeFilesOrDirInRootAreWritable=Ba'zi fayllar yoki kataloglar faqat o'qish rejimida emas +EXPORTS_SHARE_MODELS=Eksport modellari hammaga ma'lum +ExportSetup=Eksport modulini sozlash +ImportSetup=Import modulini o'rnatish +InstanceUniqueID=Namunaning noyob identifikatori +SmallerThan=Undan kichikroq +LargerThan=Undan kattaroq +IfTrackingIDFoundEventWillBeLinked=E'tibor bering, agar elektron pochtada ob'ektning kuzatuv identifikatori topilgan bo'lsa yoki elektron pochta manzili to'plangan va ob'ekt bilan bog'langan elektron pochta xabarining javobi bo'lsa, yaratilgan voqea avtomatik ravishda ma'lum tegishli ob'ektga bog'lanadi. +WithGMailYouCanCreateADedicatedPassword=GMail hisob qaydnomasi yordamida, agar siz 2 bosqichli tekshiruvni yoqsangiz, https://myaccount.google.com/ manzilidagi o'zingizning shaxsiy parol so'zingiz o'rniga dastur uchun maxsus ikkinchi parolni yaratish tavsiya etiladi. +EmailCollectorTargetDir=Muvaffaqiyatli ishlov berilganda elektron pochtani boshqa yorliq / katalogga ko'chirish istalgan xatti-harakatlar bo'lishi mumkin. Ushbu xususiyatdan foydalanish uchun faqat katalog nomini o'rnating (Ismda maxsus belgilarni ishlatmang). E'tibor bering, siz o'qish / yozish uchun kirish qayd yozuvidan foydalanishingiz kerak. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    +EndPointFor=%s uchun yakuniy nuqta: %s +DeleteEmailCollector=Elektron pochta kollektorini o'chirish +ConfirmDeleteEmailCollector=Ushbu elektron pochta kollektorini o'chirishni xohlaysizmi? +RecipientEmailsWillBeReplacedWithThisValue=Qabul qiluvchilarning elektron pochtalari har doim ushbu qiymat bilan almashtiriladi +AtLeastOneDefaultBankAccountMandatory=Kamida 1 ta sukut bo'yicha bank hisobvarag'i aniqlanishi kerak +RESTRICT_ON_IP=Faqat ba'zi bir xost IP-lariga kirishga ruxsat bering (joker belgilarga yo'l qo'yilmaydi, qiymatlar oralig'idan foydalaning). Bo'sh degani har bir xost kirish imkoniyatiga ega. IPListExample=127.0.0.1 192.168.0.2 [::1] -BaseOnSabeDavVersion=Based on the library SabreDAV version -NotAPublicIp=Not a public IP -MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -EmailTemplate=Template for email -EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard -JumpToBoxes=Jump to Setup -> Widgets -MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" -MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. -TemplateAdded=Template added -TemplateUpdated=Template updated -TemplateDeleted=Template deleted -MailToSendEventPush=Event reminder email -SwitchThisForABetterSecurity=Switching this value to %s is recommended for more security -DictionaryProductNature= Nature of product -CountryIfSpecificToOneCountry=Country (if specific to a given country) -YouMayFindSecurityAdviceHere=You may find security advisory here -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. -CombinationsSeparator=Separator character for product combinations -SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. -AskThisIDToYourBank=Contact your bank to get this ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +BaseOnSabeDavVersion=SabreDAV versiyasi kutubxonasi asosida +NotAPublicIp=Ommaviy IP emas +MakeAnonymousPing=Dolibarr poydevor serveriga anonim Ping '+1' qo'ying (faqat o'rnatilgandan so'ng 1 marta bajariladi) poydevorga Dolibarr o'rnatish sonini hisoblashi uchun ruxsat bering. +FeatureNotAvailableWithReceptionModule=Modulni qabul qilish yoqilganda, bu xususiyat mavjud emas +EmailTemplate=Elektron pochta uchun shablon +EMailsWillHaveMessageID=Elektron pochta xabarlarida ushbu sintaksisga mos keladigan 'Adabiyotlar' yorlig'i bo'ladi +PDF_SHOW_PROJECT=Loyihani hujjatda ko'rsatish +ShowProjectLabel=Loyiha yorlig'i +PDF_USE_ALSO_LANGUAGE_CODE=Agar siz o'zingizning PDF-dagi ba'zi matnlarni bir xil hosil qilingan PDF-da 2 xil tilda nusxalashni xohlasangiz, siz ushbu ikkinchi tilni o'rnatishingiz kerak, shuning uchun yaratilgan PDF bir xil sahifada 2 xil tilni o'z ichiga oladi, bu PDF yaratishda tanlangan va shu ( faqat bir nechta PDF shablonlari buni qo'llab-quvvatlaydi). PDF uchun 1 ta til uchun bo'sh qoldiring. +FafaIconSocialNetworksDesc=Bu erga FontAwesome ikonkasining kodini kiriting. Agar siz FontAwesome nima ekanligini bilmasangiz, umumiy qiymatdan foydalanishingiz mumkin. +RssNote=Izoh: Har bir RSS tasmali ta'rifi vidjetni taqdim etadi, uni boshqarish panelida bo'lishini ta'minlash kerak +JumpToBoxes=O'rnatish -> Vidjetlarga o'tish +MeasuringUnitTypeDesc=Bu erda "o'lcham", "sirt", "hajm", "vazn", "vaqt" kabi qiymatdan foydalaning +MeasuringScaleDesc=O'lchov - bu odatiy mos yozuvlar birligiga mos keladigan o'nlik qismini ko'chirishingiz kerak bo'lgan joylar soni. "Vaqt" birlik turi uchun bu soniyalar soni. 80 dan 99 gacha bo'lgan qiymatlar saqlangan qiymatlardir. +TemplateAdded=Andoza qo'shildi +TemplateUpdated=Andoza yangilandi +TemplateDeleted=Andoza o'chirildi +MailToSendEventPush=Voqeani eslatuvchi elektron pochta +SwitchThisForABetterSecurity=Xavfsizlikni ta'minlash uchun ushbu qiymatni %s ga almashtirish tavsiya etiladi +DictionaryProductNature= Mahsulotning tabiati +CountryIfSpecificToOneCountry=Mamlakat (agar ma'lum bir mamlakatga tegishli bo'lsa) +YouMayFindSecurityAdviceHere=Siz bu erda xavfsizlik bo'yicha maslahatni topishingiz mumkin +ModuleActivatedMayExposeInformation=Ushbu PHP kengaytmasi maxfiy ma'lumotlarni oshkor qilishi mumkin. Agar sizga kerak bo'lmasa, uni o'chirib qo'ying. +ModuleActivatedDoNotUseInProduction=Rivojlanish uchun mo'ljallangan modul yoqilgan. Uni ishlab chiqarish muhitida yoqmang. +CombinationsSeparator=Mahsulot birikmalari uchun ajratuvchi belgi +SeeLinkToOnlineDocumentation=Misollar uchun yuqori menyuda onlayn hujjatlarga havolani ko'ring +SHOW_SUBPRODUCT_REF_IN_PDF=Agar %s modulining "%s" xususiyati ishlatilgan bo'lsa, to'plamning pastki mahsulotlarini tafsilotlarini PDF-da ko'rsating. +AskThisIDToYourBank=Ushbu identifikatorni olish uchun bankingizga murojaat qiling +AdvancedModeOnly=Ruxsat faqat kengaytirilgan ruxsat rejimida mavjud +ConfFileIsReadableOrWritableByAnyUsers=Conf fayli har qanday foydalanuvchilar tomonidan o'qilishi yoki yozilishi mumkin. Faqat veb-server foydalanuvchisi va guruhiga ruxsat bering. +MailToSendEventOrganization=Tadbirni tashkil etish +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=Shakldan voqea yaratishda odatiy hodisa holati +YouShouldDisablePHPFunctions=PHP funktsiyalarini o'chirib qo'yishingiz kerak +IfCLINotRequiredYouShouldDisablePHPFunctions=Agar siz tizim buyruqlarini maxsus kodda ishlatishingiz kerak bo'lsa, siz PHP funktsiyalarini o'chirib qo'yasiz +PHPFunctionsRequiredForCLI=Qobiq maqsadi uchun (masalan, rejalashtirilgan ishni zaxiralash yoki anitivurs dasturini ishga tushirish), siz PHP funktsiyalarini saqlashingiz kerak +NoWritableFilesFoundIntoRootDir=Ildiz katalogingizda yoziladigan fayllar yoki umumiy dasturlarning kataloglari topilmadi (Yaxshi) +RecommendedValueIs=Tavsiya etiladi: %s +Recommended=Recommended +NotRecommended=Not recommended +ARestrictedPath=Cheklangan yo'l +CheckForModuleUpdate=Tashqi modullarning yangilanishlarini tekshiring +CheckForModuleUpdateHelp=Ushbu amal tashqi modullar tahrirlovchilariga yangi versiya mavjudligini tekshirish uchun ulanadi. +ModuleUpdateAvailable=Yangilanish mavjud +NoExternalModuleWithUpdate=Tashqi modullar uchun hech qanday yangilanish topilmadi +SwaggerDescriptionFile=Swagger API tavsif fayli (masalan, redoc bilan ishlatish uchun) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Siz bekor qilingan WS API-ni yoqdingiz. Buning o'rniga REST API-dan foydalanishingiz kerak. +RandomlySelectedIfSeveral=Agar bir nechta rasm mavjud bo'lsa, tasodifiy tanlanadi +DatabasePasswordObfuscated=Ma'lumotlar bazasi paroli conf faylida buzilgan +DatabasePasswordNotObfuscated=Ma'lumotlar bazasi paroli conf faylida buzilmaydi +APIsAreNotEnabled=API modullari yoqilmagan +YouShouldSetThisToOff=Buni 0 ga yoki o'chirib qo'yishingiz kerak +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/uz_UZ/agenda.lang b/htdocs/langs/uz_UZ/agenda.lang index 09d82139a49..f3bfa035449 100644 --- a/htdocs/langs/uz_UZ/agenda.lang +++ b/htdocs/langs/uz_UZ/agenda.lang @@ -1,168 +1,172 @@ # Dolibarr language file - Source file is en_US - agenda -IdAgenda=ID event -Actions=Events -Agenda=Agenda -TMenuAgenda=Agenda -Agendas=Agendas -LocalAgenda=Internal calendar -ActionsOwnedBy=Event owned by -ActionsOwnedByShort=Owner -AffectedTo=Assigned to -Event=Event -Events=Events -EventsNb=Number of events -ListOfActions=List of events -EventReports=Event reports -Location=Location -ToUserOfGroup=Event assigned to any user in group -EventOnFullDay=Event on all day(s) -MenuToDoActions=All incomplete events -MenuDoneActions=All terminated events -MenuToDoMyActions=My incomplete events -MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) -ActionsAskedBy=Events reported by -ActionsToDoBy=Events assigned to -ActionsDoneBy=Events done by -ActionAssignedTo=Event assigned to -ViewCal=Month view -ViewDay=Day view -ViewWeek=Week view -ViewPerUser=Per user view -ViewPerType=Per type view -AutoActions= Automatic filling -AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. -AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...) -AgendaExtSitesDesc=This page allows to declare external sources of calendars to see their events into Dolibarr agenda. -ActionsEvents=Events for which Dolibarr will create an action in agenda automatically -EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. +IdAgenda=ID hodisasi +Actions=Tadbirlar +Agenda=Kun tartibi +TMenuAgenda=Kun tartibi +Agendas=Kun tartibi +LocalAgenda=Odatiy taqvim +ActionsOwnedBy=Tadbir +ActionsOwnedByShort=Egasi +AffectedTo=Tayinlangan +Event=Tadbir +Events=Tadbirlar +EventsNb=Tadbirlar soni +ListOfActions=Tadbirlar ro'yxati +EventReports=Voqealar haqida hisobotlar +Location=Manzil +ToUserOfGroup=Tadbir guruhdagi har qanday foydalanuvchiga tayinlangan +EventOnFullDay=Barcha kun (lar) da tadbir +MenuToDoActions=Barcha to'liq bo'lmagan voqealar +MenuDoneActions=Barcha tugatilgan tadbirlar +MenuToDoMyActions=Mening to'liq bo'lmagan voqealarim +MenuDoneMyActions=Mening tugatilgan voqealarim +ListOfEvents=Voqealar ro'yxati (standart taqvim) +ActionsAskedBy=Xabar bergan voqealar +ActionsToDoBy=Belgilangan tadbirlar +ActionsDoneBy=Hodisalar +ActionAssignedTo=Tadbir tayinlangan +ViewCal=Oylik ko'rinish +ViewDay=Kunduzgi ko'rinish +ViewWeek=Hafta ko'rinishi +ViewPerUser=Har bir foydalanuvchi ko'rinishi uchun +ViewPerType=Har bir ko'rinish uchun +AutoActions= Avtomatik to'ldirish +AgendaAutoActionDesc= Bu erda siz Dolibarr-ning kun tartibida avtomatik ravishda yaratishini xohlagan voqealarni belgilashingiz mumkin. Hech narsa tekshirilmasa, faqat qo'lda bajariladigan harakatlar jurnallarga kiritiladi va kun tartibida ko'rsatiladi. Ob'ektlarda amalga oshirilgan ishbilarmonlik harakatlarini avtomatik ravishda kuzatish (tasdiqlash, holatni o'zgartirish) saqlanmaydi. +AgendaSetupOtherDesc= Ushbu sahifada Dolibarr tadbirlarini tashqi taqvimga (Thunderbird, Google Calendar va boshqalar) eksport qilishga ruxsat berish imkoniyatlari berilgan. +AgendaExtSitesDesc=Ushbu sahifa o'z voqealarini Dolibarr kun tartibiga kiritish uchun taqvimlarning tashqi manbalarini e'lon qilishga imkon beradi. +ActionsEvents=Dolibarr avtomatik ravishda kun tartibida harakat yaratadigan tadbirlar +EventRemindersByEmailNotEnabled=%s modulini sozlashda elektron pochta orqali voqea eslatmalari yoqilmagan. ##### Agenda event labels ##### -NewCompanyToDolibarr=Third party %s created -COMPANY_DELETEInDolibarr=Third party %s deleted -ContractValidatedInDolibarr=Contract %s validated -CONTRACT_DELETEInDolibarr=Contract %s deleted -PropalClosedSignedInDolibarr=Proposal %s signed -PropalClosedRefusedInDolibarr=Proposal %s refused -PropalValidatedInDolibarr=Proposal %s validated -PropalClassifiedBilledInDolibarr=Proposal %s classified billed -InvoiceValidatedInDolibarr=Invoice %s validated -InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS -InvoiceBackToDraftInDolibarr=Invoice %s go back to draft status -InvoiceDeleteDolibarr=Invoice %s deleted -InvoicePaidInDolibarr=Invoice %s changed to paid -InvoiceCanceledInDolibarr=Invoice %s canceled -MemberValidatedInDolibarr=Member %s validated -MemberModifiedInDolibarr=Member %s modified -MemberResiliatedInDolibarr=Member %s terminated -MemberDeletedInDolibarr=Member %s deleted -MemberSubscriptionAddedInDolibarr=Subscription %s for member %s added -MemberSubscriptionModifiedInDolibarr=Subscription %s for member %s modified -MemberSubscriptionDeletedInDolibarr=Subscription %s for member %s deleted -ShipmentValidatedInDolibarr=Shipment %s validated -ShipmentClassifyClosedInDolibarr=Shipment %s classified billed -ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open -ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status -ShipmentDeletedInDolibarr=Shipment %s deleted -ReceptionValidatedInDolibarr=Reception %s validated -OrderCreatedInDolibarr=Order %s created -OrderValidatedInDolibarr=Order %s validated -OrderDeliveredInDolibarr=Order %s classified delivered -OrderCanceledInDolibarr=Order %s canceled -OrderBilledInDolibarr=Order %s classified billed -OrderApprovedInDolibarr=Order %s approved -OrderRefusedInDolibarr=Order %s refused -OrderBackToDraftInDolibarr=Order %s go back to draft status -ProposalSentByEMail=Commercial proposal %s sent by email -ContractSentByEMail=Contract %s sent by email -OrderSentByEMail=Sales order %s sent by email -InvoiceSentByEMail=Customer invoice %s sent by email -SupplierOrderSentByEMail=Purchase order %s sent by email -ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted -SupplierInvoiceSentByEMail=Vendor invoice %s sent by email -ShippingSentByEMail=Shipment %s sent by email -ShippingValidated= Shipment %s validated -InterventionSentByEMail=Intervention %s sent by email -ProposalDeleted=Proposal deleted -OrderDeleted=Order deleted -InvoiceDeleted=Invoice deleted -DraftInvoiceDeleted=Draft invoice deleted -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_DELETEInDolibarr=Contact %s deleted -PRODUCT_CREATEInDolibarr=Product %s created -PRODUCT_MODIFYInDolibarr=Product %s modified -PRODUCT_DELETEInDolibarr=Product %s deleted -HOLIDAY_CREATEInDolibarr=Request for leave %s created -HOLIDAY_MODIFYInDolibarr=Request for leave %s modified -HOLIDAY_APPROVEInDolibarr=Request for leave %s approved -HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated -HOLIDAY_DELETEInDolibarr=Request for leave %s deleted -EXPENSE_REPORT_CREATEInDolibarr=Expense report %s created -EXPENSE_REPORT_VALIDATEInDolibarr=Expense report %s validated -EXPENSE_REPORT_APPROVEInDolibarr=Expense report %s approved -EXPENSE_REPORT_DELETEInDolibarr=Expense report %s deleted -EXPENSE_REPORT_REFUSEDInDolibarr=Expense report %s refused -PROJECT_CREATEInDolibarr=Project %s created -PROJECT_MODIFYInDolibarr=Project %s modified -PROJECT_DELETEInDolibarr=Project %s deleted -TICKET_CREATEInDolibarr=Ticket %s created -TICKET_MODIFYInDolibarr=Ticket %s modified -TICKET_ASSIGNEDInDolibarr=Ticket %s assigned -TICKET_CLOSEInDolibarr=Ticket %s closed -TICKET_DELETEInDolibarr=Ticket %s deleted -BOM_VALIDATEInDolibarr=BOM validated -BOM_UNVALIDATEInDolibarr=BOM unvalidated -BOM_CLOSEInDolibarr=BOM disabled -BOM_REOPENInDolibarr=BOM reopen -BOM_DELETEInDolibarr=BOM deleted -MRP_MO_VALIDATEInDolibarr=MO validated -MRP_MO_UNVALIDATEInDolibarr=MO set to draft status -MRP_MO_PRODUCEDInDolibarr=MO produced -MRP_MO_DELETEInDolibarr=MO deleted -MRP_MO_CANCELInDolibarr=MO canceled +NewCompanyToDolibarr=Uchinchi tomon %s yaratildi +COMPANY_MODIFYInDolibarr=Uchinchi tomon %s o'zgartirilgan +COMPANY_DELETEInDolibarr=Uchinchi tomon %s o'chirildi +ContractValidatedInDolibarr=%s shartnomasi tasdiqlangan +CONTRACT_DELETEInDolibarr=%s shartnomasi o'chirildi +PropalClosedSignedInDolibarr=%s taklifi imzolandi +PropalClosedRefusedInDolibarr=%s taklifi rad etildi +PropalValidatedInDolibarr=%s taklifi tasdiqlangan +PropalClassifiedBilledInDolibarr=%s taklifi tasniflangan +InvoiceValidatedInDolibarr=%s hisob-fakturasi tasdiqlangan +InvoiceValidatedInDolibarrFromPos=POS-dan tasdiqlangan %s hisob-fakturasi +InvoiceBackToDraftInDolibarr=%s hisob-fakturasi qoralama holatiga qaytadi +InvoiceDeleteDolibarr=%s hisob-fakturasi o'chirildi +InvoicePaidInDolibarr=%s hisob-fakturasi to'langanga o'zgartirildi +InvoiceCanceledInDolibarr=%s hisob-fakturasi bekor qilindi +MemberValidatedInDolibarr=%s a'zosi tasdiqlangan +MemberModifiedInDolibarr=%s a'zosi o'zgartirildi +MemberResiliatedInDolibarr=%s a'zosi tugatildi +MemberDeletedInDolibarr=%s a'zosi o'chirildi +MemberSubscriptionAddedInDolibarr=%s a'zosi uchun %s obunasi qo'shildi +MemberSubscriptionModifiedInDolibarr=%s a'zosi uchun obuna %s o'zgartirildi +MemberSubscriptionDeletedInDolibarr=%s a'zosi uchun %s obunasi o'chirildi +ShipmentValidatedInDolibarr=%s jo'natmasi tasdiqlangan +ShipmentClassifyClosedInDolibarr=%s jo'natmasi tasniflangan +ShipmentUnClassifyCloseddInDolibarr=%s jo'natmasi qayta ochilgan +ShipmentBackToDraftInDolibarr=%s jo'natmasi qoralama holatiga qaytadi +ShipmentDeletedInDolibarr=%s jo'natmasi o'chirildi +ReceptionValidatedInDolibarr=%s qabul qilish tasdiqlangan +OrderCreatedInDolibarr=%s buyurtmasi yaratildi +OrderValidatedInDolibarr=%s buyurtmasi tasdiqlangan +OrderDeliveredInDolibarr=Buyurtma tasniflangan tasniflangan %s +OrderCanceledInDolibarr=%s buyurtmasi bekor qilindi +OrderBilledInDolibarr=Buyurtma %s tasniflangan tasniflangan +OrderApprovedInDolibarr=%s buyurtmasi tasdiqlandi +OrderRefusedInDolibarr=%s buyurtmasi rad etildi +OrderBackToDraftInDolibarr=%s buyurtmasi qoralama holatiga qaytadi +ProposalSentByEMail=Elektron pochta orqali yuborilgan %s tijorat taklifi +ContractSentByEMail=Elektron pochta orqali yuborilgan %s shartnoma +OrderSentByEMail=%s savdo buyurtmasi elektron pochta orqali yuborilgan +InvoiceSentByEMail=Mijozlarning hisob-fakturasi %s elektron pochta orqali yuborilgan +SupplierOrderSentByEMail=Elektron pochta orqali yuborilgan %s buyurtmasini sotib oling +ORDER_SUPPLIER_DELETEInDolibarr=%s sotib olish buyurtmasi o'chirildi +SupplierInvoiceSentByEMail=Sotuvchi hisob-fakturasi %s elektron pochta orqali yuborilgan +ShippingSentByEMail=%s jo'natmasi elektron pochta orqali yuborilgan +ShippingValidated= %s jo'natmasi tasdiqlangan +InterventionSentByEMail=Elektron pochta orqali yuborilgan aralashuv %s +ProposalDeleted=Taklif o'chirildi +OrderDeleted=Buyurtma o'chirildi +InvoiceDeleted=Hisob-faktura o'chirildi +DraftInvoiceDeleted=Hisob-faktura loyihasi o'chirildi +CONTACT_CREATEInDolibarr=%s bilan bog'laning +CONTACT_MODIFYInDolibarr=%s bilan bog'lanish o'zgartirildi +CONTACT_DELETEInDolibarr=%s bilan aloqa o'chirildi +PRODUCT_CREATEInDolibarr=%s mahsuloti yaratildi +PRODUCT_MODIFYInDolibarr=Mahsulot %s o'zgartirilgan +PRODUCT_DELETEInDolibarr=%s mahsuloti o'chirildi +HOLIDAY_CREATEInDolibarr=%s ta'til uchun so'rov yaratildi +HOLIDAY_MODIFYInDolibarr=%s ta'tilga talab o'zgartirildi +HOLIDAY_APPROVEInDolibarr=%s ta'tilga chiqish so'rovi tasdiqlandi +HOLIDAY_VALIDATEInDolibarr=%s ta'til uchun so'rov tasdiqlangan +HOLIDAY_DELETEInDolibarr=%s ta'til uchun so'rov o'chirildi +EXPENSE_REPORT_CREATEInDolibarr=%s xarajatlar hisoboti tuzildi +EXPENSE_REPORT_VALIDATEInDolibarr=%s xarajatlar hisoboti tasdiqlangan +EXPENSE_REPORT_APPROVEInDolibarr=%s xarajatlar hisoboti tasdiqlandi +EXPENSE_REPORT_DELETEInDolibarr=%s xarajatlar hisoboti o'chirildi +EXPENSE_REPORT_REFUSEDInDolibarr=%s xarajatlar hisoboti rad etildi +PROJECT_CREATEInDolibarr=%s loyihasi yaratildi +PROJECT_MODIFYInDolibarr=%s loyihasi o'zgartirildi +PROJECT_DELETEInDolibarr=%s loyihasi o'chirildi +TICKET_CREATEInDolibarr=%s chiptasi yaratildi +TICKET_MODIFYInDolibarr=%s chiptasi o'zgartirildi +TICKET_ASSIGNEDInDolibarr=%s chiptasi tayinlandi +TICKET_CLOSEInDolibarr=%s chiptasi yopiq +TICKET_DELETEInDolibarr=%s chiptasi o'chirildi +BOM_VALIDATEInDolibarr=BOM tasdiqlangan +BOM_UNVALIDATEInDolibarr=BOM baholanmagan +BOM_CLOSEInDolibarr=BOM o'chirilgan +BOM_REOPENInDolibarr=BOM qayta ochiladi +BOM_DELETEInDolibarr=BOM o'chirildi +MRP_MO_VALIDATEInDolibarr=MO tasdiqlangan +MRP_MO_UNVALIDATEInDolibarr=MO holatni tuzishga tayyor +MRP_MO_PRODUCEDInDolibarr=MO ishlab chiqarilgan +MRP_MO_DELETEInDolibarr=MO o'chirildi +MRP_MO_CANCELInDolibarr=MO bekor qilindi +PAIDInDolibarr=%s to'langan ##### End agenda events ##### -AgendaModelModule=Document templates for event -DateActionStart=Start date -DateActionEnd=End date -AgendaUrlOptions1=You can also add following parameters to filter output: -AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. -AgendaUrlOptionsNotAdmin=logina=!%s to restrict output to actions not owned by user %s. -AgendaUrlOptions4=logint=%s to restrict output to actions assigned to user %s (owner and others). -AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. -AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. -AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts -AgendaHideBirthdayEvents=Hide birthdays of contacts -Busy=Busy -ExportDataset_event1=List of agenda events -DefaultWorkingDays=Default working days range in week (Example: 1-5, 1-6) -DefaultWorkingHours=Default working hours in day (Example: 9-18) +AgendaModelModule=Hodisa uchun hujjat shablonlari +DateActionStart=Boshlanish vaqti +DateActionEnd=Tugash sanasi +AgendaUrlOptions1=Chiqishni filtrlash uchun siz quyidagi parametrlarni qo'shishingiz mumkin: +AgendaUrlOptions3= logina = %s %s foydalanuvchisiga tegishli harakatlar bilan chiqishni cheklash. +AgendaUrlOptionsNotAdmin= logina =! %s foydalanuvchi %s foydalanuvchiga tegishli bo'lmagan harakatlarga cheklash uchun. +AgendaUrlOptions4= logint = %s foydalanuvchi %s (egasi va boshqalar) ga tayinlangan harakatlar bilan chiqishni cheklash uchun. +AgendaUrlOptionsProject= project = __ PROJECT_ID__ loyihani __PROJECT_ID__ loyihasi bilan bog'liq harakatlar bilan cheklash. +AgendaUrlOptionsNotAutoEvent= notactiontype = avtomatik hodisalarni istisno qilish uchun systemauto . +AgendaUrlOptionsIncludeHolidays= dam olish kunlarini o'z ichiga oladi = 1 ta'til tadbirlarini o'z ichiga oladi. +AgendaShowBirthdayEvents=Kontaktlarning tug'ilgan kunlari +AgendaHideBirthdayEvents=Kontaktlarning tug'ilgan kunlarini yashirish +Busy=Band +ExportDataset_event1=Kun tartibidagi tadbirlar ro'yxati +DefaultWorkingDays=Odatiy ish kunlari haftada (Masalan: 1-5, 1-6) +DefaultWorkingHours=Kunduzgi standart ish vaqti (Masalan: 9-18) # External Sites ical -ExportCal=Export calendar -ExtSites=Import external calendars -ExtSitesEnableThisTool=Show external calendars (defined in global setup) in Agenda. Does not affect external calendars defined by users. -ExtSitesNbOfAgenda=Number of calendars -AgendaExtNb=Calendar no. %s -ExtSiteUrlAgenda=URL to access .ical file -ExtSiteNoLabel=No Description -VisibleTimeRange=Visible time range -VisibleDaysRange=Visible days range -AddEvent=Create event -MyAvailability=My availability -ActionType=Event type -DateActionBegin=Start event date -ConfirmCloneEvent=Are you sure you want to clone the event %s? -RepeatEvent=Repeat event -EveryWeek=Every week -EveryMonth=Every month -DayOfMonth=Day of month -DayOfWeek=Day of week -DateStartPlusOne=Date start + 1 hour -SetAllEventsToTodo=Set all events to todo -SetAllEventsToInProgress=Set all events to in progress -SetAllEventsToFinished=Set all events to finished -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +ExportCal=Kalendarni eksport qilish +ExtSites=Tashqi kalendarlarni import qilish +ExtSitesEnableThisTool=Tashqi kalendarlarni (global sozlamalarda aniqlangan) kun tartibida ko'rsating. Foydalanuvchilar tomonidan belgilangan tashqi taqvimlarga ta'sir qilmaydi. +ExtSitesNbOfAgenda=Kalendarlar soni +AgendaExtNb=Kalendar №. %s +ExtSiteUrlAgenda=.Ical fayliga kirish uchun URL +ExtSiteNoLabel=Tavsif yo'q +VisibleTimeRange=Ko'rinadigan vaqt oralig'i +VisibleDaysRange=Ko'rinadigan kunlar oralig'i +AddEvent=Tadbir yaratish +MyAvailability=Mening mavjudligim +ActionType=Tadbir turi +DateActionBegin=Tadbirni boshlash sanasi +ConfirmCloneEvent=Hodisani %s klonlashni xohlaysizmi? +RepeatEvent=Voqeani takrorlang +OnceOnly=Faqat bir marta +EveryWeek=Har hafta +EveryMonth=Har oy +DayOfMonth=Oy kuni +DayOfWeek=Haftaning kuni +DateStartPlusOne=Sana boshlanishi + 1 soat +SetAllEventsToTodo=Barcha tadbirlarni todo qilish uchun sozlang +SetAllEventsToInProgress=Barcha tadbirlarni davom etadigan qilib sozlang +SetAllEventsToFinished=Barcha tadbirlarni tugallangan deb belgilang +ReminderTime=Tadbirgacha eslatish davri +TimeType=Muddati turi +ReminderType=Qayta qo'ng'iroq turi +AddReminder=Ushbu tadbir uchun avtomatik eslatma xabarnomasini yarating +ErrorReminderActionCommCreation=Ushbu voqea uchun eslatma bildirishnomasini yaratishda xatolik yuz berdi +BrowserPush=Brauzerning popup-xabarnomasi diff --git a/htdocs/langs/uz_UZ/assets.lang b/htdocs/langs/uz_UZ/assets.lang index ef04723c6c2..eed37191c99 100644 --- a/htdocs/langs/uz_UZ/assets.lang +++ b/htdocs/langs/uz_UZ/assets.lang @@ -16,50 +16,52 @@ # # Generic # -Assets = Assets -NewAsset = New asset -AccountancyCodeAsset = Accounting code (asset) -AccountancyCodeDepreciationAsset = Accounting code (depreciation asset account) -AccountancyCodeDepreciationExpense = Accounting code (depreciation expense account) -NewAssetType=New asset type -AssetsTypeSetup=Asset type setup -AssetTypeModified=Asset type modified -AssetType=Asset type -AssetsLines=Assets -DeleteType=Delete -DeleteAnAssetType=Delete an asset type -ConfirmDeleteAssetType=Are you sure you want to delete this asset type? -ShowTypeCard=Show type '%s' +Assets = Aktivlar +NewAsset = Yangi aktiv +AccountancyCodeAsset = Buxgalteriya kodi (aktiv) +AccountancyCodeDepreciationAsset = Buxgalteriya kodi (amortizatsiya aktivlari hisobi) +AccountancyCodeDepreciationExpense = Buxgalteriya kodi (amortizatsiya xarajatlari hisobi) +NewAssetType=Yangi aktiv turi +AssetsTypeSetup=Obyekt turini sozlash +AssetTypeModified=Obyekt turi o'zgartirildi +AssetType=Obyekt turi +AssetsLines=Aktivlar +DeleteType=O'chirish +DeleteAnAssetType=Obyekt turini o'chirib tashlang +ConfirmDeleteAssetType=Ushbu aktiv turini o'chirishni xohlaysizmi? +ShowTypeCard="%s" turini ko'rsatish # Module label 'ModuleAssetsName' -ModuleAssetsName = Assets +ModuleAssetsName = Aktivlar # Module description 'ModuleAssetsDesc' -ModuleAssetsDesc = Assets description +ModuleAssetsDesc = Aktivlarning tavsifi # # Admin page # -AssetsSetup = Assets setup -Settings = Settings -AssetsSetupPage = Assets setup page -ExtraFieldsAssetsType = Complementary attributes (Asset type) -AssetsType=Asset type -AssetsTypeId=Asset type id -AssetsTypeLabel=Asset type label -AssetsTypes=Assets types +AssetsSetup = Aktivlarni sozlash +Settings = Sozlamalar +AssetsSetupPage = Aktivlarni sozlash sahifasi +ExtraFieldsAssetsType = Qo'shimcha atributlar (aktiv turi) +AssetsType=Obyekt turi +AssetsTypeId=Obyekt turi identifikatori +AssetsTypeLabel=Obyekt turi yorlig'i +AssetsTypes=Aktiv turlari # # Menu # -MenuAssets = Assets -MenuNewAsset = New asset -MenuTypeAssets = Type assets -MenuListAssets = List -MenuNewTypeAssets = New -MenuListTypeAssets = List +MenuAssets = Aktivlar +MenuNewAsset = Yangi aktiv +MenuTypeAssets = Aktivlarni kiriting +MenuListAssets = Ro'yxat +MenuNewTypeAssets = Yangi +MenuListTypeAssets = Ro'yxat # # Module # -NewAssetType=New asset type -NewAsset=New asset +Asset=Aktiv +NewAssetType=Yangi aktiv turi +NewAsset=Yangi aktiv +ConfirmDeleteAsset=Haqiqatan ham ushbu aktivni o'chirishni xohlaysizmi? diff --git a/htdocs/langs/uz_UZ/banks.lang b/htdocs/langs/uz_UZ/banks.lang index df7192bee25..4d5eefc6257 100644 --- a/htdocs/langs/uz_UZ/banks.lang +++ b/htdocs/langs/uz_UZ/banks.lang @@ -1,184 +1,184 @@ # Dolibarr language file - Source file is en_US - banks Bank=Bank -MenuBankCash=Banks | Cash -MenuVariousPayment=Miscellaneous payments -MenuNewVariousPayment=New Miscellaneous payment -BankName=Bank name +MenuBankCash=Banklar | Naqd pul +MenuVariousPayment=Turli xil to'lovlar +MenuNewVariousPayment=Yangi turli xil to'lovlar +BankName=Bank nomi FinancialAccount=Account -BankAccount=Bank account -BankAccounts=Bank accounts -BankAccountsAndGateways=Bank accounts | Gateways -ShowAccount=Show Account -AccountRef=Financial account ref -AccountLabel=Financial account label -CashAccount=Cash account -CashAccounts=Cash accounts -CurrentAccounts=Current accounts -SavingAccounts=Savings accounts -ErrorBankLabelAlreadyExists=Financial account label already exists -BankBalance=Balance -BankBalanceBefore=Balance before -BankBalanceAfter=Balance after -BalanceMinimalAllowed=Minimum allowed balance -BalanceMinimalDesired=Minimum desired balance -InitialBankBalance=Initial balance -EndBankBalance=End balance -CurrentBalance=Current balance -FutureBalance=Future balance -ShowAllTimeBalance=Show balance from start -AllTime=From start -Reconciliation=Reconciliation -RIB=Bank Account Number -IBAN=IBAN number -BIC=BIC/SWIFT code -SwiftValid=BIC/SWIFT valid -SwiftVNotalid=BIC/SWIFT not valid -IbanValid=BAN valid -IbanNotValid=BAN not valid -StandingOrders=Direct debit orders -StandingOrder=Direct debit order -PaymentByDirectDebit=Payment by direct debit -PaymentByBankTransfers=Payments by credit transfer -PaymentByBankTransfer=Payment by credit transfer -AccountStatement=Account statement -AccountStatementShort=Statement -AccountStatements=Account statements -LastAccountStatements=Last account statements -IOMonthlyReporting=Monthly reporting -BankAccountDomiciliation=Bank address -BankAccountCountry=Account country -BankAccountOwner=Account owner name -BankAccountOwnerAddress=Account owner address -RIBControlError=Integrity check of values failed. This means the information for this account number is not complete or is incorrect (check country, numbers and IBAN). -CreateAccount=Create account -NewBankAccount=New account -NewFinancialAccount=New financial account -MenuNewFinancialAccount=New financial account -EditFinancialAccount=Edit account -LabelBankCashAccount=Bank or cash label -AccountType=Account type -BankType0=Savings account -BankType1=Current or credit card account -BankType2=Cash account -AccountsArea=Accounts area -AccountCard=Account card -DeleteAccount=Delete account -ConfirmDeleteAccount=Are you sure you want to delete this account? +BankAccount=bank hisob raqami +BankAccounts=Bank hisobvaraqlari +BankAccountsAndGateways=Bank hisobvaraqlari | Shlyuzlar +ShowAccount=Hisobni ko'rsatish +AccountRef=Moliyaviy hisob +AccountLabel=Moliyaviy hisob yorlig'i +CashAccount=Naqd hisob +CashAccounts=Naqd pul hisobvaraqlari +CurrentAccounts=Joriy hisob-kitoblar +SavingAccounts=Jamg'arma hisobvaraqlari +ErrorBankLabelAlreadyExists=Moliyaviy hisob yorlig'i allaqachon mavjud +BankBalance=Balans +BankBalanceBefore=Oldingi qoldiq +BankBalanceAfter=Balansdan keyin +BalanceMinimalAllowed=Minimal ruxsat berilgan qoldiq +BalanceMinimalDesired=Minimal kerakli qoldiq +InitialBankBalance=Dastlabki qoldiq +EndBankBalance=Balansni yakunlash +CurrentBalance=Joriy balans +FutureBalance=Kelajakdagi balans +ShowAllTimeBalance=Balansni boshidanoq ko'rsating +AllTime=Boshidan +Reconciliation=Yarashish +RIB=Bank hisob raqami +IBAN=IBAN raqami +BIC=BIC / SWIFT kodi +SwiftValid=BIC / SWIFT amal qiladi +SwiftVNotalid=BIC / SWIFT yaroqsiz +IbanValid=BAN amal qiladi +IbanNotValid=BAN haqiqiy emas +StandingOrders=To'g'ridan-to'g'ri debet buyurtmalari +StandingOrder=To'g'ridan-to'g'ri debet buyurtmasi +PaymentByDirectDebit=To'g'ridan-to'g'ri debet orqali to'lov +PaymentByBankTransfers=Kredit o'tkazish yo'li bilan to'lovlar +PaymentByBankTransfer=Kredit o'tkazish yo'li bilan to'lov +AccountStatement=Hisob-kitob varaqasi +AccountStatementShort=Bayonot +AccountStatements=Hisob-kitob varaqalari +LastAccountStatements=Oxirgi hisobvaraqlar +IOMonthlyReporting=Oylik hisobot +BankAccountDomiciliation=Bank manzili +BankAccountCountry=Hisob qaydnomasi mamlakati +BankAccountOwner=Hisob qaydnomasi egasining ismi +BankAccountOwnerAddress=Hisob egasining manzili +RIBControlError=Qiymatlarning yaxlitligini tekshirish muvaffaqiyatsiz tugadi. Bu shuni anglatadiki, ushbu hisob raqamiga oid ma'lumotlar to'liq emas yoki noto'g'ri (mamlakatni, raqamlarni va IBANni tekshiring). +CreateAccount=Hisob yaratish +NewBankAccount=Yangi hisob +NewFinancialAccount=Yangi moliyaviy hisob +MenuNewFinancialAccount=Yangi moliyaviy hisob +EditFinancialAccount=Hisobni tahrirlash +LabelBankCashAccount=Bank yoki pul yorlig'i +AccountType=Hisob turi +BankType0=Jamg'arma hisobi +BankType1=Joriy yoki kredit karta hisobvarag'i +BankType2=Naqd hisob +AccountsArea=Hisoblar maydoni +AccountCard=Hisob kartasi +DeleteAccount=Hisobni o'chirish +ConfirmDeleteAccount=Ushbu hisobni o'chirishni xohlaysizmi? Account=Account -BankTransactionByCategories=Bank entries by categories -BankTransactionForCategory=Bank entries for category %s -RemoveFromRubrique=Remove link with category -RemoveFromRubriqueConfirm=Are you sure you want to remove link between the entry and the category? -ListBankTransactions=List of bank entries -IdTransaction=Transaction ID -BankTransactions=Bank entries -BankTransaction=Bank entry -ListTransactions=List entries -ListTransactionsByCategory=List entries/category -TransactionsToConciliate=Entries to reconcile -TransactionsToConciliateShort=To reconcile -Conciliable=Can be reconciled -Conciliate=Reconcile -Conciliation=Reconciliation -SaveStatementOnly=Save statement only -ReconciliationLate=Reconciliation late -IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only open accounts -AccountToCredit=Account to credit -AccountToDebit=Account to debit -DisableConciliation=Disable reconciliation feature for this account -ConciliationDisabled=Reconciliation feature disabled -LinkedToAConciliatedTransaction=Linked to a conciliated entry -StatusAccountOpened=Open -StatusAccountClosed=Closed -AccountIdShort=Number -LineRecord=Transaction -AddBankRecord=Add entry -AddBankRecordLong=Add entry manually -Conciliated=Reconciled -ConciliatedBy=Reconciled by -DateConciliating=Reconcile date -BankLineConciliated=Entry reconciled with bank receipt -Reconciled=Reconciled -NotReconciled=Not reconciled -CustomerInvoicePayment=Customer payment -SupplierInvoicePayment=Vendor payment -SubscriptionPayment=Subscription payment -WithdrawalPayment=Debit payment order -SocialContributionPayment=Social/fiscal tax payment -BankTransfer=Credit transfer -BankTransfers=Credit transfers -MenuBankInternalTransfer=Internal transfer -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. -TransferFrom=From -TransferTo=To +BankTransactionByCategories=Toifalar bo'yicha bank yozuvlari +BankTransactionForCategory= %s toifasi uchun bank yozuvlari +RemoveFromRubrique=Kategoriya bilan havolani olib tashlang +RemoveFromRubriqueConfirm=Kirish va toifadagi aloqani olib tashlamoqchimisiz? +ListBankTransactions=Bank yozuvlari ro'yxati +IdTransaction=Tranzaksiya identifikatori +BankTransactions=Bank yozuvlari +BankTransaction=Bank yozuvlari +ListTransactions=Yozuvlar ro'yxati +ListTransactionsByCategory=Ro'yxat yozuvlari / toifasi +TransactionsToConciliate=Yarashtirish uchun yozuvlar +TransactionsToConciliateShort=Yarashtirmoq +Conciliable=Yarashtirilishi mumkin +Conciliate=Yarashish +Conciliation=Yarashish +SaveStatementOnly=Faqat bayonotni saqlash +ReconciliationLate=Yarashuv kech +IncludeClosedAccount=Yopiq hisoblarni qo'shing +OnlyOpenedAccount=Faqat hisoblarni oching +AccountToCredit=Hisobni kreditlash uchun +AccountToDebit=Hisobni chiqarish uchun +DisableConciliation=Ushbu hisob uchun yarashtirish xususiyatini o'chirib qo'ying +ConciliationDisabled=Yarashtirish xususiyati o'chirilgan +LinkedToAConciliatedTransaction=Kelishilgan yozuv bilan bog'langan +StatusAccountOpened=Ochiq +StatusAccountClosed=Yopiq +AccountIdShort=Raqam +LineRecord=Tranzaksiya +AddBankRecord=Kirish kiritish +AddBankRecordLong=Kiritishni qo'lda qo'shing +Conciliated=Yarashtirildi +ConciliatedBy=Tomonidan yarashtirildi +DateConciliating=Sana yarashtirildi +BankLineConciliated=Kirish bank kvitansiyasi bilan taqqoslangan +Reconciled=Yarashtirildi +NotReconciled=Yarashtirilmagan +CustomerInvoicePayment=Mijozlar uchun to'lov +SupplierInvoicePayment=Sotuvchining to'lovi +SubscriptionPayment=Obuna to'lovi +WithdrawalPayment=Debet bo'yicha to'lov topshirig'i +SocialContributionPayment=Ijtimoiy / soliq soliq to'lovi +BankTransfer=Kredit o'tkazish +BankTransfers=Kredit o'tkazmalari +MenuBankInternalTransfer=Ichki transfer +TransferDesc=Bir hisobdan boshqasiga o'tkazish uchun ichki o'tkazmalardan foydalaning, ilova ikkita yozuv yozadi: manba hisobvarag'idagi debet va maqsadli hisobdagi kredit. Ushbu bitim uchun xuddi shu miqdor, yorliq va sana ishlatiladi. +TransferFrom=Kimdan +TransferTo=Kimga TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. -CheckTransmitter=Sender -ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. -DeleteCheckReceipt=Delete this check receipt? -ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? -BankChecks=Bank checks -BankChecksToReceipt=Checks awaiting deposit -BankChecksToReceiptShort=Checks awaiting deposit -ShowCheckReceipt=Show check deposit receipt -NumberOfCheques=No. of check -DeleteTransaction=Delete entry -ConfirmDeleteTransaction=Are you sure you want to delete this entry? -ThisWillAlsoDeleteBankRecord=This will also delete generated bank entry -BankMovements=Movements -PlannedTransactions=Planned entries -Graph=Graphs -ExportDataset_banque_1=Bank entries and account statement -ExportDataset_banque_2=Deposit slip -TransactionOnTheOtherAccount=Transaction on the other account -PaymentNumberUpdateSucceeded=Payment number updated successfully -PaymentNumberUpdateFailed=Payment number could not be updated -PaymentDateUpdateSucceeded=Payment date updated successfully -PaymentDateUpdateFailed=Payment date could not be updated -Transactions=Transactions -BankTransactionLine=Bank entry -AllAccounts=All bank and cash accounts -BackToAccount=Back to account -ShowAllAccounts=Show for all accounts -FutureTransaction=Future transaction. Unable to reconcile. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". -InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD -EventualyAddCategory=Eventually, specify a category in which to classify the records -ToConciliate=To reconcile? -ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click -DefaultRIB=Default BAN -AllRIB=All BAN -LabelRIB=BAN Label -NoBANRecord=No BAN record -DeleteARib=Delete BAN record -ConfirmDeleteRib=Are you sure you want to delete this BAN record? -RejectCheck=Check returned -ConfirmRejectCheck=Are you sure you want to mark this check as rejected? -RejectCheckDate=Date the check was returned -CheckRejected=Check returned -CheckRejectedAndInvoicesReopened=Check returned and invoices re-open -BankAccountModelModule=Document templates for bank accounts -DocumentModelSepaMandate=Template of SEPA mandate. Useful for European countries in EEC only. -DocumentModelBan=Template to print a page with BAN information. -NewVariousPayment=New miscellaneous payment -VariousPayment=Miscellaneous payment -VariousPayments=Miscellaneous payments -ShowVariousPayment=Show miscellaneous payment -AddVariousPayment=Add miscellaneous payment -VariousPaymentId=Miscellaneous payment ID -VariousPaymentLabel=Miscellaneous payment label -ConfirmCloneVariousPayment=Confirm the clone of a miscellaneous payment -SEPAMandate=SEPA mandate -YourSEPAMandate=Your SEPA mandate -FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to -AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation -CashControl=POS cash desk control -NewCashFence=New cash desk opening or closing -BankColorizeMovement=Colorize movements -BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements -BankColorizeMovementName1=Background color for debit movement -BankColorizeMovementName2=Background color for credit movement -IfYouDontReconcileDisableProperty=If you don't make the bank reconciliations on some bank accounts, disable the property "%s" on them to remove this warning. -NoBankAccountDefined=No bank account defined -NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. +CheckTransmitter=Yuboruvchi +ValidateCheckReceipt=Ushbu chek kvitansiyasi tasdiqlansinmi? +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. +DeleteCheckReceipt=Ushbu chek kvitansiyasi o'chirilsinmi? +ConfirmDeleteCheckReceipt=Ushbu chek kvitansiyasini o'chirishni xohlaysizmi? +BankChecks=Bank cheklari +BankChecksToReceipt=Depozitni kutayotgan cheklar +BankChecksToReceiptShort=Depozitni kutayotgan cheklar +ShowCheckReceipt=Chek depozit kvitansiyasini ko'rsating +NumberOfCheques=Chek raqami +DeleteTransaction=Kirishni o'chirish +ConfirmDeleteTransaction=Ushbu yozuvni o'chirishni xohlaysizmi? +ThisWillAlsoDeleteBankRecord=Bu shuningdek yaratilgan bank yozuvlarini o'chirib tashlaydi +BankMovements=Harakatlar +PlannedTransactions=Rejalashtirilgan yozuvlar +Graph=Grafiklar +ExportDataset_banque_1=Bank yozuvlari va hisobvarag'idan ko'chirma +ExportDataset_banque_2=Depozit taloni +TransactionOnTheOtherAccount=Boshqa hisobvaraq bo'yicha operatsiyalar +PaymentNumberUpdateSucceeded=To'lov raqami muvaffaqiyatli yangilandi +PaymentNumberUpdateFailed=To'lov raqami yangilanmadi +PaymentDateUpdateSucceeded=To'lov sanasi muvaffaqiyatli yangilandi +PaymentDateUpdateFailed=To'lov sanasini yangilab bo'lmadi +Transactions=Tranzaksiyalar +BankTransactionLine=Bank yozuvlari +AllAccounts=Barcha bank va naqd hisobvaraqlar +BackToAccount=Hisobga qaytish +ShowAllAccounts=Barcha hisoblar uchun ko'rsatish +FutureTransaction=Kelajakdagi operatsiya. Yarashmayapti. +SelectChequeTransactionAndGenerate=Chek depozit kvitansiyasiga kiritiladigan cheklarni tanlang / filtrlang. Keyin, "Yaratish" tugmasini bosing. +InputReceiptNumber=Yarashtirish bilan bog'liq bank bayonnomasini tanlang. Tartiblanadigan raqamli qiymatdan foydalaning: YYYYMM yoki YYYYMMDD +EventualyAddCategory=Oxir-oqibat, yozuvlarni tasniflash uchun toifani ko'rsating +ToConciliate=Yarashish uchunmi? +ThenCheckLinesAndConciliate=So'ngra, bank ko'chirmasidagi satrlarni tekshiring va bosing +DefaultRIB=Standart taqiq +AllRIB=Hamma taqiq +LabelRIB=BAN yorlig'i +NoBANRecord=BAN yozuvlari yo'q +DeleteARib=BAN yozuvini o'chirish +ConfirmDeleteRib=Ushbu BAN yozuvini o'chirishni xohlaysizmi? +RejectCheck=Chek qaytarildi +ConfirmRejectCheck=Haqiqatan ham ushbu chekni rad etilgan deb belgilamoqchimisiz? +RejectCheckDate=Chek qaytarilgan sana +CheckRejected=Chek qaytarildi +CheckRejectedAndInvoicesReopened=Qaytganligini tekshiring va hisob-fakturalarni qayta oching +BankAccountModelModule=Bank hisobvaraqlari uchun hujjatlar shablonlari +DocumentModelSepaMandate=SEPA mandatining shabloni. Faqatgina Evropa Ittifoqidagi Evropa mamlakatlari uchun foydalidir. +DocumentModelBan=BAN ma'lumotlari bilan sahifani chop etish uchun shablon. +NewVariousPayment=Yangi har xil to'lov +VariousPayment=Turli xil to'lovlar +VariousPayments=Turli xil to'lovlar +ShowVariousPayment=Turli xil to'lovlarni ko'rsating +AddVariousPayment=Turli xil to'lovlarni qo'shing +VariousPaymentId=Boshqa to'lov identifikatori +VariousPaymentLabel=Turli xil to'lov yorlig'i +ConfirmCloneVariousPayment=Turli xil to'lovlar klonini tasdiqlang +SEPAMandate=SEPA vakolati +YourSEPAMandate=Sizning SEPA vakolatingiz +FindYourSEPAMandate=Bu sizning kompaniyangizga sizning bankingizda to'g'ridan-to'g'ri debet buyurtma berish huquqini berish uchun sizning SEPA vakolatingiz. Uni imzolangan holda qaytaring (imzolangan hujjatni skanerlash) yoki pochta orqali yuboring +AutoReportLastAccountStatement=Taqqoslash paytida avtomatik ravishda 'bank ko'chirma raqami' maydonini oxirgi ko'chirma raqami bilan to'ldiring +CashControl=POS kassasini boshqarish +NewCashFence=Yangi kassa ochilishi yoki yopilishi +BankColorizeMovement=Harakatlarni ranglang +BankColorizeMovementDesc=Agar bu funktsiya yoqilgan bo'lsa, siz debet yoki kredit harakatlari uchun aniq fon rangini tanlashingiz mumkin +BankColorizeMovementName1=Debet harakati uchun fon rangi +BankColorizeMovementName2=Kredit harakati uchun fon rangi +IfYouDontReconcileDisableProperty=Agar siz ba'zi bir bank hisobvaraqlari bo'yicha banklarni yarashtirmasangiz, ushbu ogohlantirishni olib tashlash uchun ulardagi "%s" xususiyatini o'chirib qo'ying. +NoBankAccountDefined=Bank hisob raqami aniqlanmagan +NoRecordFoundIBankcAccount=Bank hisob raqamida yozuv topilmadi. Odatda, bu yozuv bank hisobvarag'idagi operatsiyalar ro'yxatidan qo'lda o'chirilganda sodir bo'ladi (masalan, bank hisobvarag'ini taqqoslash paytida). Yana bir sabab shundaki, to'lov "%s" moduli o'chirilganda qayd etilgan. diff --git a/htdocs/langs/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index c55f483873b..cd391c74a65 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -1,591 +1,593 @@ # Dolibarr language file - Source file is en_US - bills -Bill=Invoice -Bills=Invoices -BillsCustomers=Customer invoices -BillsCustomer=Customer invoice -BillsSuppliers=Vendor invoices -BillsCustomersUnpaid=Unpaid customer invoices -BillsCustomersUnpaidForCompany=Unpaid customer invoices for %s -BillsSuppliersUnpaid=Unpaid vendor invoices -BillsSuppliersUnpaidForCompany=Unpaid vendors invoices for %s -BillsLate=Late payments -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Vendors invoices statistics -DisabledBecauseDispatchedInBookkeeping=Disabled because invoice was dispatched into bookkeeping -DisabledBecauseNotLastInvoice=Disabled because invoice is not erasable. Some invoices were recorded after this one and it will create holes in the counter. -DisabledBecauseNotErasable=Disabled because cannot be erased -InvoiceStandard=Standard invoice -InvoiceStandardAsk=Standard invoice -InvoiceStandardDesc=This kind of invoice is the common invoice. -InvoiceDeposit=Down payment invoice -InvoiceDepositAsk=Down payment invoice -InvoiceDepositDesc=This kind of invoice is done when a down payment has been received. -InvoiceProForma=Proforma invoice -InvoiceProFormaAsk=Proforma invoice -InvoiceProFormaDesc=Proforma invoice is an image of a true invoice but has no accountancy value. -InvoiceReplacement=Replacement invoice -InvoiceReplacementAsk=Replacement invoice for invoice -InvoiceReplacementDesc=Replacement invoice is used to completely replace an invoice with no payment already received.

    Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. -InvoiceAvoir=Credit note -InvoiceAvoirAsk=Credit note to correct invoice -InvoiceAvoirDesc=The credit note is a negative invoice used to correct the fact that an invoice shows an amount that differs from the amount actually paid (eg the customer paid too much by mistake, or will not pay the complete amount since some products were returned). -invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice -invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice -invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount -ReplaceInvoice=Replace invoice %s -ReplacementInvoice=Replacement invoice -ReplacedByInvoice=Replaced by invoice %s -ReplacementByInvoice=Replaced by invoice -CorrectInvoice=Correct invoice %s -CorrectionInvoice=Correction invoice -UsedByInvoice=Used to pay invoice %s -ConsumedBy=Consumed by -NotConsumed=Not consumed -NoReplacableInvoice=No replaceable invoices -NoInvoiceToCorrect=No invoice to correct -InvoiceHasAvoir=Was source of one or several credit notes -CardBill=Invoice card -PredefinedInvoices=Predefined Invoices -Invoice=Invoice -PdfInvoiceTitle=Invoice -Invoices=Invoices -InvoiceLine=Invoice line -InvoiceCustomer=Customer invoice -CustomerInvoice=Customer invoice -CustomersInvoices=Customer invoices -SupplierInvoice=Vendor invoice -SuppliersInvoices=Vendor invoices -SupplierInvoiceLines=Vendor invoice lines -SupplierBill=Vendor invoice -SupplierBills=Vendor invoices -Payment=Payment -PaymentBack=Refund -CustomerInvoicePaymentBack=Refund -Payments=Payments -PaymentsBack=Refunds -paymentInInvoiceCurrency=in invoices currency -PaidBack=Paid back -DeletePayment=Delete payment -ConfirmDeletePayment=Are you sure you want to delete this payment? -ConfirmConvertToReduc=Do you want to convert this %s into an available credit? -ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? -ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. -SupplierPayments=Vendor payments -ReceivedPayments=Received payments -ReceivedCustomersPayments=Payments received from customers -PayedSuppliersPayments=Payments paid to vendors -ReceivedCustomersPaymentsToValid=Received customers payments to validate -PaymentsReportsForYear=Payments reports for %s -PaymentsReports=Payments reports -PaymentsAlreadyDone=Payments already done -PaymentsBackAlreadyDone=Refunds already done -PaymentRule=Payment rule -PaymentMode=Payment Type -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account -PaymentTypeDC=Debit/Credit Card +Bill=Hisob-faktura +Bills=Hisob-fakturalar +BillsCustomers=Mijozlarning hisob-fakturalari +BillsCustomer=Mijozlarning hisob-fakturasi +BillsSuppliers=Sotuvchi hisob-fakturalari +BillsCustomersUnpaid=To'lovsiz mijozlar uchun hisob-fakturalar +BillsCustomersUnpaidForCompany=%s uchun to'lanmagan mijozlar uchun hisob-fakturalar +BillsSuppliersUnpaid=To'lovsiz sotuvchi hisob-fakturalari +BillsSuppliersUnpaidForCompany=%s uchun to'lanmagan sotuvchilarning hisob-fakturalari +BillsLate=Kechiktirilgan to'lovlar +BillsStatistics=Mijozlar hisob-fakturalari statistikasi +BillsStatisticsSuppliers=Sotuvchilarning hisob-fakturalari statistikasi +DisabledBecauseDispatchedInBookkeeping=Faktura buxgalteriya hisobiga yuborilganligi sababli o'chirib qo'yildi +DisabledBecauseNotLastInvoice=Fakturani o'chirib bo'lmaydiganligi sababli o'chirib qo'yilgan. Shundan so'ng ba'zi hisob-fakturalar yozilgan va bu hisoblagichda teshiklar hosil qiladi. +DisabledBecauseNotErasable=O'chirilganligi sababli o'chirib qo'yilgan +InvoiceStandard=Standart hisob-faktura +InvoiceStandardAsk=Standart hisob-faktura +InvoiceStandardDesc=Ushbu turdagi schyot-faktura umumiy hisob-fakturadir. +InvoiceDeposit=Dastlabki hisob-faktura +InvoiceDepositAsk=Dastlabki hisob-faktura +InvoiceDepositDesc=Bunday hisob-faktura dastlabki to'lov kelib tushganda amalga oshiriladi. +InvoiceProForma=Dastlabki hisob +InvoiceProFormaAsk=Dastlabki hisob +InvoiceProFormaDesc= Proforma hisob-fakturasi haqiqiy fakturaning tasviridir, ammo buxgalteriya qiymati yo'q. +InvoiceReplacement=O'zgartirilgan hisob-faktura +InvoiceReplacementAsk=Hisob-fakturani almashtirish +InvoiceReplacementDesc= zaxira hisob-fakturasi allaqachon qabul qilinmagan to'lovsiz hisob-fakturani to'liq almashtirish uchun ishlatiladi.

    Eslatma: Faqat to'lovi bo'lmagan hisob-fakturalarni almashtirish mumkin. Agar siz almashtirgan hisob-faktura hali yopilmagan bo'lsa, u avtomatik ravishda "tashlab qo'yilgan" uchun yopiladi. +InvoiceAvoir=Kredit eslatma +InvoiceAvoirAsk=Hisob-fakturani tuzatish uchun kredit yozuvi +InvoiceAvoirDesc= kredit notasi - bu fakturada haqiqatda to'langan summadan farq qiladigan summani ko'rsatishini tuzatish uchun ishlatiladigan salbiy hisob-kitob (masalan, mijoz xato bilan juda ko'p to'lagan yoki ba'zi mahsulotlar qaytarib berilgandan beri to'liq summani to'lamaydi). . +invoiceAvoirWithLines=Hisob-fakturadan chiziqlar bilan kredit yozuvini yarating +invoiceAvoirWithPaymentRestAmount=Qabul qilinmagan kelib tushgan schyot-fakturani qo'shib, kredit yozuvini yarating +invoiceAvoirLineWithPaymentRestAmount=Qolgan to'lanmagan miqdor uchun kredit eslatmasi +ReplaceInvoice=%s hisob-fakturasini almashtiring +ReplacementInvoice=O'zgartirilgan hisob-faktura +ReplacedByInvoice=%s hisob-fakturasi bilan almashtirildi +ReplacementByInvoice=Hisob-faktura bilan almashtirildi +CorrectInvoice=%s to'g'ri hisob-fakturasi +CorrectionInvoice=Tuzatish fakturasi +UsedByInvoice=%s hisob-fakturasini to'lash uchun foydalaniladi +ConsumedBy=Tomonidan iste'mol qilinadi +NotConsumed=Iste'mol qilinmaydi +NoReplacableInvoice=O'zgartiriladigan schyotlar yo'q +NoInvoiceToCorrect=Tuzatish uchun hisob-faktura yo'q +InvoiceHasAvoir=Bir yoki bir nechta kredit yozuvlari manbai bo'lgan +CardBill=Hisob-faktura kartasi +PredefinedInvoices=Oldindan belgilangan hisob-fakturalar +Invoice=Hisob-faktura +PdfInvoiceTitle=Hisob-faktura +Invoices=Hisob-fakturalar +InvoiceLine=Hisob-faktura chizig'i +InvoiceCustomer=Mijozlarning hisob-fakturasi +CustomerInvoice=Mijozlarning hisob-fakturasi +CustomersInvoices=Mijozlarning hisob-fakturalari +SupplierInvoice=Sotuvchi hisob-fakturasi +SuppliersInvoices=Sotuvchi hisob-fakturalari +SupplierInvoiceLines=Sotuvchi faktura satrlari +SupplierBill=Sotuvchi hisob-fakturasi +SupplierBills=Sotuvchi hisob-fakturalari +Payment=To'lov +PaymentBack=Pulni qaytarish +CustomerInvoicePaymentBack=Pulni qaytarish +Payments=To'lovlar +PaymentsBack=Pulni qaytarish +paymentInInvoiceCurrency=hisob-fakturalar valyutasida +PaidBack=Qaytib to'langan +DeletePayment=To'lovni o'chirib tashlang +ConfirmDeletePayment=Haqiqatan ham ushbu to'lovni o'chirishni xohlaysizmi? +ConfirmConvertToReduc=Ushbu %s-ni mavjud kreditga aylantirmoqchimisiz? +ConfirmConvertToReduc2=Miqdor barcha chegirmalar orasida saqlanib qoladi va ushbu mijoz uchun joriy yoki kelajakdagi hisob-faktura uchun chegirma sifatida ishlatilishi mumkin. +ConfirmConvertToReducSupplier=Ushbu %s-ni mavjud kreditga aylantirmoqchimisiz? +ConfirmConvertToReducSupplier2=Miqdor barcha chegirmalar orasida saqlanib qoladi va ushbu sotuvchi uchun joriy yoki kelajakdagi hisob-faktura uchun chegirma sifatida ishlatilishi mumkin. +SupplierPayments=Sotuvchi uchun to'lovlar +ReceivedPayments=Qabul qilingan to'lovlar +ReceivedCustomersPayments=Mijozlardan olingan to'lovlar +PayedSuppliersPayments=Sotuvchilarga to'lanadigan to'lovlar +ReceivedCustomersPaymentsToValid=Tasdiqlash uchun mijozlarga to'lovlarni qabul qildi +PaymentsReportsForYear=%s uchun to'lovlar bo'yicha hisobotlar +PaymentsReports=To'lovlar to'g'risida hisobotlar +PaymentsAlreadyDone=To'lovlar allaqachon amalga oshirilgan +PaymentsBackAlreadyDone=Pulni qaytarish allaqachon amalga oshirilgan +PaymentRule=To'lov qoidasi +PaymentMode=To'lov turi +DefaultPaymentMode=Standart to'lov turi +DefaultBankAccount=Standart bank hisobvarag'i +PaymentTypeDC=Debet / kredit karta PaymentTypePP=PayPal -IdPaymentMode=Payment Type (id) -CodePaymentMode=Payment Type (code) -LabelPaymentMode=Payment Type (label) -PaymentModeShort=Payment Type -PaymentTerm=Payment Term -PaymentConditions=Payment Terms -PaymentConditionsShort=Payment Terms -PaymentAmount=Payment amount -PaymentHigherThanReminderToPay=Payment higher than reminder to pay -HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the outstanding amount to pay.
    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.
    Edit your entry, otherwise confirm and consider creating a credit note for the excess paid for each overpaid invoice. -ClassifyPaid=Classify 'Paid' -ClassifyUnPaid=Classify 'Unpaid' -ClassifyPaidPartially=Classify 'Paid partially' -ClassifyCanceled=Classify 'Abandoned' -ClassifyClosed=Classify 'Closed' -ClassifyUnBilled=Classify 'Unbilled' -CreateBill=Create Invoice -CreateCreditNote=Create credit note -AddBill=Create invoice or credit note -AddToDraftInvoices=Add to draft invoice -DeleteBill=Delete invoice -SearchACustomerInvoice=Search for a customer invoice -SearchASupplierInvoice=Search for a vendor invoice -CancelBill=Cancel an invoice -SendRemindByMail=Send reminder by email -DoPayment=Enter payment -DoPaymentBack=Enter refund -ConvertToReduc=Mark as credit available -ConvertExcessReceivedToReduc=Convert excess received into available credit -ConvertExcessPaidToReduc=Convert excess paid into available discount -EnterPaymentReceivedFromCustomer=Enter payment received from customer -EnterPaymentDueToCustomer=Make payment due to customer -DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero -PriceBase=Base price -BillStatus=Invoice status -StatusOfGeneratedInvoices=Status of generated invoices -BillStatusDraft=Draft (needs to be validated) -BillStatusPaid=Paid -BillStatusPaidBackOrConverted=Credit note refund or marked as credit available -BillStatusConverted=Paid (ready for consumption in final invoice) -BillStatusCanceled=Abandoned -BillStatusValidated=Validated (needs to be paid) -BillStatusStarted=Started -BillStatusNotPaid=Not paid -BillStatusNotRefunded=Not refunded -BillStatusClosedUnpaid=Closed (unpaid) -BillStatusClosedPaidPartially=Paid (partially) -BillShortStatusDraft=Draft -BillShortStatusPaid=Paid -BillShortStatusPaidBackOrConverted=Refunded or converted -Refunded=Refunded -BillShortStatusConverted=Paid -BillShortStatusCanceled=Abandoned -BillShortStatusValidated=Validated -BillShortStatusStarted=Started -BillShortStatusNotPaid=Not paid -BillShortStatusNotRefunded=Not refunded -BillShortStatusClosedUnpaid=Closed -BillShortStatusClosedPaidPartially=Paid (partially) -PaymentStatusToValidShort=To validate -ErrorVATIntraNotConfigured=Intra-Community VAT number not yet defined -ErrorNoPaiementModeConfigured=No default payment type defined. Go to Invoice module setup to fix this. -ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment types -ErrorBillNotFound=Invoice %s does not exist -ErrorInvoiceAlreadyReplaced=Error, you tried to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. -ErrorDiscountAlreadyUsed=Error, discount already used -ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount -ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have an amount excluding tax positive (or null) -ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status -ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. -BillFrom=From -BillTo=To -ActionsOnBill=Actions on invoice -RecurringInvoiceTemplate=Template / Recurring invoice -NoQualifiedRecurringInvoiceTemplateFound=No recurring template invoice qualified for generation. -FoundXQualifiedRecurringInvoiceTemplate=Found %s recurring template invoice(s) qualified for generation. -NotARecurringInvoiceTemplate=Not a recurring template invoice -NewBill=New invoice -LastBills=Latest %s invoices -LatestTemplateInvoices=Latest %s template invoices -LatestCustomerTemplateInvoices=Latest %s customer template invoices -LatestSupplierTemplateInvoices=Latest %s vendor template invoices -LastCustomersBills=Latest %s customer invoices -LastSuppliersBills=Latest %s vendor invoices -AllBills=All invoices -AllCustomerTemplateInvoices=All template invoices -OtherBills=Other invoices -DraftBills=Draft invoices -CustomersDraftInvoices=Customer draft invoices -SuppliersDraftInvoices=Vendor draft invoices -Unpaid=Unpaid -ErrorNoPaymentDefined=Error No payment defined -ConfirmDeleteBill=Are you sure you want to delete this invoice? -ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s? -ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status? -ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid? -ConfirmCancelBill=Are you sure you want to cancel invoice %s? -ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned'? -ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid? -ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What is the reason for closing this invoice? -ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularize the VAT with a credit note. -ConfirmClassifyPaidPartiallyReasonDiscount=Remaining unpaid (%s %s) is a discount granted because payment was made before term. -ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. -ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. -ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer -ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned -ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason -ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice has been provided with suitable comments. (Example «Only the tax corresponding to the price that has been actually paid gives rights to deduction») -ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct notes. -ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit -ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuses to pay his debt. -ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned -ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all others are not suitable, for example in following situation:
    - payment not complete because some products were shipped back
    - amount claimed too important because a discount was forgotten
    In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. -ConfirmClassifyAbandonReasonOther=Other -ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. -ConfirmCustomerPayment=Do you confirm this payment input for %s %s? -ConfirmSupplierPayment=Do you confirm this payment input for %s %s? -ConfirmValidatePayment=Are you sure you want to validate this payment? No change can be made once payment is validated. -ValidateBill=Validate invoice -UnvalidateBill=Unvalidate invoice -NumberOfBills=No. of invoices -NumberOfBillsByMonth=No. of invoices per month -AmountOfBills=Amount of invoices -AmountOfBillsHT=Amount of invoices (net of tax) -AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) -UseSituationInvoices=Allow situation invoice -UseSituationInvoicesCreditNote=Allow situation invoice credit note -Retainedwarranty=Retained warranty -AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices -RetainedwarrantyDefaultPercent=Retained warranty default percent -RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices -RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation -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 -AlreadyPaid=Already paid -AlreadyPaidBack=Already paid back -AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and down payments) -Abandoned=Abandoned -RemainderToPay=Remaining unpaid -RemainderToTake=Remaining amount to take -RemainderToPayBack=Remaining amount to refund -Rest=Pending -AmountExpected=Amount claimed -ExcessReceived=Excess received -ExcessPaid=Excess paid -EscompteOffered=Discount offered (payment before term) -EscompteOfferedShort=Discount -SendBillRef=Submission of invoice %s -SendReminderBillRef=Submission of invoice %s (reminder) -NoDraftBills=No draft invoices -NoOtherDraftBills=No other draft invoices -NoDraftInvoices=No draft invoices -RefBill=Invoice ref -ToBill=To bill -RemainderToBill=Remainder to bill -SendBillByMail=Send invoice by email -SendReminderBillByMail=Send reminder by email -RelatedCommercialProposals=Related commercial proposals -RelatedRecurringCustomerInvoices=Related recurring customer invoices -MenuToValid=To valid -DateMaxPayment=Payment due on -DateInvoice=Invoice date -DatePointOfTax=Point of tax -NoInvoice=No invoice -ClassifyBill=Classify invoice -SupplierBillsToPay=Unpaid vendor invoices -CustomerBillsUnpaid=Unpaid customer invoices -NonPercuRecuperable=Non-recoverable -SetConditions=Set Payment Terms -SetMode=Set Payment Type -SetRevenuStamp=Set revenue stamp -Billed=Billed -RecurringInvoices=Recurring invoices -RepeatableInvoice=Template invoice -RepeatableInvoices=Template invoices -Repeatable=Template -Repeatables=Templates -ChangeIntoRepeatableInvoice=Convert into template invoice -CreateRepeatableInvoice=Create template invoice -CreateFromRepeatableInvoice=Create from template invoice -CustomersInvoicesAndInvoiceLines=Customer invoices and invoice details -CustomersInvoicesAndPayments=Customer invoices and payments -ExportDataset_invoice_1=Customer invoices and invoice details -ExportDataset_invoice_2=Customer invoices and payments +IdPaymentMode=To'lov turi (id) +CodePaymentMode=To'lov turi (kod) +LabelPaymentMode=To'lov turi (yorliq) +PaymentModeShort=To'lov turi +PaymentTerm=To'lov muddati +PaymentConditions=To'lov shartlari +PaymentConditionsShort=To'lov shartlari +PaymentAmount=To'lov miqdori +PaymentHigherThanReminderToPay=To'lov to'lashni eslatgandan yuqori +HelpPaymentHigherThanReminderToPay=E'tibor bering, bir yoki bir nechta veksellarni to'lash miqdori to'lash kerak bo'lgan miqdoridan yuqori.
    yozuvingizni tahrirlang, aks holda har bir ortiqcha to'langan hisob-faktura uchun olingan ortiqcha uchun kredit yozuvini yaratishni tasdiqlang va ko'rib chiqing. +HelpPaymentHigherThanReminderToPaySupplier=E'tibor bering, bir yoki bir nechta veksellarni to'lash miqdori to'lash kerak bo'lgan miqdoridan yuqori.
    yozuvingizni tahrirlang, aks holda har bir ortiqcha to'langan hisob-faktura uchun to'langan ortiqcha uchun kredit yozuvini yaratishni tasdiqlang va ko'rib chiqing. +ClassifyPaid="Pulli" deb tasniflang +ClassifyUnPaid="To'lanmagan" toifasini tasniflash +ClassifyPaidPartially="Qisman to'langan" deb tasniflang +ClassifyCanceled="Tashlab ketilgan" deb tasniflang +ClassifyClosed="Yopiq" deb tasniflash +ClassifyUnBilled="Hisob-kitob qilinmagan" tasnifi +CreateBill=Hisob-fakturani yarating +CreateCreditNote=Kredit yozuvini yarating +AddBill=Hisob-fakturani yoki kredit yozuvini yarating +AddToDraftInvoices=Hisob-fakturaga qo'shish +DeleteBill=Hisob-fakturani o'chirish +SearchACustomerInvoice=Mijozlarning hisob-fakturasini qidirib toping +SearchASupplierInvoice=Sotuvchi hisob-fakturasini qidirib toping +CancelBill=Hisob-fakturani bekor qilish +SendRemindByMail=Elektron pochta orqali eslatma yuboring +DoPayment=To'lovni kiriting +DoPaymentBack=Qaytarishni kiriting +ConvertToReduc=Kredit mavjud deb belgilang +ConvertExcessReceivedToReduc=Qabul qilingan ortiqcha miqdorni mavjud kreditga aylantiring +ConvertExcessPaidToReduc=To'langan ortiqcha miqdorni mavjud chegirmaga aylantiring +EnterPaymentReceivedFromCustomer=Mijozdan olingan to'lovni kiriting +EnterPaymentDueToCustomer=Mijozga tegishli to'lovni amalga oshiring +DisabledBecauseRemainderToPayIsZero=O'chirilgan, chunki to'lovsiz qolgan nolga teng +PriceBase=Asosiy narx +BillStatus=Hisob-faktura holati +StatusOfGeneratedInvoices=Tuzilgan hisob-fakturalarning holati +BillStatusDraft=Qoralama (tasdiqlanishi kerak) +BillStatusPaid=To'langan +BillStatusPaidBackOrConverted=Kredit yozuvini qaytarish yoki kredit sifatida belgilangan +BillStatusConverted=Pulli (oxirgi hisob-fakturada iste'mol qilishga tayyor) +BillStatusCanceled=Tashlab ketilgan +BillStatusValidated=Tasdiqlangan (to'lash kerak) +BillStatusStarted=Boshlandi +BillStatusNotPaid=To'lanmaydi +BillStatusNotRefunded=Pul qaytarilmaydi +BillStatusClosedUnpaid=Yopiq (to'lanmagan) +BillStatusClosedPaidPartially=Pulli (qisman) +BillShortStatusDraft=Qoralama +BillShortStatusPaid=To'langan +BillShortStatusPaidBackOrConverted=Qaytarilgan yoki konvertatsiya qilingan +Refunded=Qaytarildi +BillShortStatusConverted=To'langan +BillShortStatusCanceled=Tashlab ketilgan +BillShortStatusValidated=Tasdiqlangan +BillShortStatusStarted=Boshlandi +BillShortStatusNotPaid=To'lanmaydi +BillShortStatusNotRefunded=Pul qaytarilmaydi +BillShortStatusClosedUnpaid=Yopiq +BillShortStatusClosedPaidPartially=Pulli (qisman) +PaymentStatusToValidShort=Tasdiqlash uchun +ErrorVATIntraNotConfigured=Jamiyat ichi QQS raqami hali aniqlanmagan +ErrorNoPaiementModeConfigured=Standart to'lov turi aniqlanmagan. Buni tuzatish uchun faktura modulini o'rnatishga o'ting. +ErrorCreateBankAccount=Bank hisobini yarating, so'ngra to'lov turlarini aniqlash uchun Hisob-faktura modulini o'rnatish paneliga o'ting +ErrorBillNotFound=%s hisob-fakturasi mavjud emas +ErrorInvoiceAlreadyReplaced=Xato, siz hisob-fakturani %s o'rniga almashtirish uchun tasdiqlashga harakat qildingiz. Ammo bu allaqachon hisob-faktura bilan almashtirilgan %s. +ErrorDiscountAlreadyUsed=Xato, chegirma allaqachon ishlatilgan +ErrorInvoiceAvoirMustBeNegative=Xato, to'g'ri hisob-fakturada salbiy miqdor bo'lishi kerak +ErrorInvoiceOfThisTypeMustBePositive=Xato, ushbu turdagi hisob-fakturada soliqdan tashqari (yoki bekor qilingan) soliq miqdori bo'lmagan miqdor bo'lishi kerak +ErrorCantCancelIfReplacementInvoiceNotValidated=Xato, boshqa hisob-faktura bilan almashtirilgan fakturani bekor qilish mumkin emas +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Ushbu yoki boshqa qism allaqachon ishlatilgan, shuning uchun chegirmalarni o'chirib bo'lmaydi. +BillFrom=Kimdan +BillTo=Kimga +ActionsOnBill=Hisob-fakturadagi harakatlar +RecurringInvoiceTemplate=Shablon / Takroriy hisob-faktura +NoQualifiedRecurringInvoiceTemplateFound=Avlodga mos keladigan takrorlanadigan shablon hisob-fakturasi yo'q. +FoundXQualifiedRecurringInvoiceTemplate=%s takrorlanadigan shablon hisob-fakturalari (lar) ni yaratish uchun mos deb topildi. +NotARecurringInvoiceTemplate=Takrorlanadigan shablon hisob-fakturasi emas +NewBill=Yangi hisob-faktura +LastBills=Oxirgi %s hisob-fakturalari +LatestTemplateInvoices=Eng so'nggi %s shablon hisob-fakturalari +LatestCustomerTemplateInvoices=Eng so'nggi %s mijozlar shablonlari hisob-fakturalari +LatestSupplierTemplateInvoices=So'nggi %s sotuvchisi shablon hisob-fakturalari +LastCustomersBills=%s mijozlarining so'nggi hisob-fakturalari +LastSuppliersBills=Oxirgi %s sotuvchisi hisob-fakturalari +AllBills=Barcha hisob-fakturalar +AllCustomerTemplateInvoices=Barcha shablon hisob-fakturalar +OtherBills=Boshqa hisob-fakturalar +DraftBills=Hisob-fakturalar +CustomersDraftInvoices=Xaridorlarning hisob-fakturalari +SuppliersDraftInvoices=Xaridor hisob-fakturalari +Unpaid=To'lanmagan +ErrorNoPaymentDefined=Xato To'lov aniqlanmadi +ConfirmDeleteBill=Ushbu hisob-fakturani o'chirishni xohlaysizmi? +ConfirmValidateBill=Ushbu fakturani %s ma'lumotnomasi bilan tasdiqlamoqchimisiz? +ConfirmUnvalidateBill=Hisob-fakturani %s holatini qoralama holatiga o'zgartirishni xohlaysizmi? +ConfirmClassifyPaidBill=Hisob-fakturani %s ni to'langan holatga o'zgartirishni xohlaysizmi? +ConfirmCancelBill=Hisob-fakturani bekor qilishni xohlaysizmi %s ? +ConfirmCancelBillQuestion=Nima uchun ushbu hisob-fakturani "tashlab qo'yilgan" deb tasniflashni xohlaysiz? +ConfirmClassifyPaidPartially=Hisob-fakturani %s ni to'langan holatga o'zgartirishni xohlaysizmi? +ConfirmClassifyPaidPartiallyQuestion=Ushbu hisob-faktura to'liq to'lanmagan. Ushbu hisob-fakturani yopish sababi nima? +ConfirmClassifyPaidPartiallyReasonAvoir=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. Men QQSni kredit yozuvlari bilan tartibga solaman. +ConfirmClassifyPaidPartiallyReasonDiscount=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. +ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. Ushbu chegirmada QQSni yo'qotishni qabul qilaman. +ConfirmClassifyPaidPartiallyReasonDiscountVat=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. Men ushbu chegirma bo'yicha QQSni kredit yozuvisiz qaytarib olaman. +ConfirmClassifyPaidPartiallyReasonBadCustomer=Yomon mijoz +ConfirmClassifyPaidPartiallyReasonProductReturned=Mahsulotlar qisman qaytarildi +ConfirmClassifyPaidPartiallyReasonOther=Miqdor boshqa sabablarga ko'ra qoldirilgan +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Ushbu tanlov sizning hisob-fakturangizga tegishli izohlar bilan ta'minlangan bo'lsa mumkin. (Masalan «Faqatgina to'langan narxga mos keladigan soliq chegirma huquqini beradi») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=Ba'zi mamlakatlarda bu tanlov sizning fakturangizda to'g'ri yozuvlar mavjud bo'lganda bo'lishi mumkin. +ConfirmClassifyPaidPartiallyReasonAvoirDesc=Agar boshqalari mos kelmasa, ushbu tanlovdan foydalaning +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc= yomon mijoz - qarzini to'lashdan bosh tortgan mijoz. +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Ushbu tanlov to'lov to'liq bo'lmaganda ishlatiladi, chunki ba'zi mahsulotlar qaytarib berildi +ConfirmClassifyPaidPartiallyReasonOtherDesc=Agar boshqalar mos kelmasa, ushbu tanlovdan foydalaning, masalan quyidagi vaziyatda:
    - to'lov to'liq emas, chunki ba'zi mahsulotlar orqaga jo'natildi kredit yozuvini yaratish orqali buxgalteriya tizimida. +ConfirmClassifyAbandonReasonOther=Boshqalar +ConfirmClassifyAbandonReasonOtherDesc=Ushbu tanlov boshqa barcha hollarda qo'llaniladi. Masalan, siz hisob-fakturani almashtirishni rejalashtirganingiz uchun. +ConfirmCustomerPayment= %s %s uchun ushbu to'lov kiritilishini tasdiqlaysizmi? +ConfirmSupplierPayment= %s %s uchun ushbu to'lov kiritilishini tasdiqlaysizmi? +ConfirmValidatePayment=Ushbu to'lovni tasdiqlamoqchimisiz? To'lov tasdiqlangandan keyin hech qanday o'zgartirish kiritilmaydi. +ValidateBill=Hisob-fakturani tasdiqlang +UnvalidateBill=Hisob-faktura yaroqsiz +NumberOfBills=Hisob-fakturalar soni +NumberOfBillsByMonth=Oyiga hisob-fakturalar soni +AmountOfBills=Hisob-fakturalar miqdori +AmountOfBillsHT=Hisob-fakturalar miqdori (soliqdan tashqari) +AmountOfBillsByMonthHT=Hisob-fakturalarning oy bo'yicha miqdori (soliqni hisobga olmaganda) +UseSituationInvoices=Vaziyat fakturasiga ruxsat berish +UseSituationInvoicesCreditNote=Vaziyatni taqdim etgan kredit yozuviga ruxsat berish +Retainedwarranty=Kafolat saqlanib qoldi +AllowedInvoiceForRetainedWarranty=Hisob-fakturalarning quyidagi turlari bo'yicha ishlatilishi mumkin bo'lgan kafolat +RetainedwarrantyDefaultPercent=Kafolat sukut saqlanib qoldi +RetainedwarrantyOnlyForSituation="Saqlanib qolgan kafolat" ni faqat vaziyat bo'yicha hisob-fakturalar uchun taqdim eting +RetainedwarrantyOnlyForSituationFinal=Vaziyat fakturalarida global "saqlanib qolgan kafolat" chegirmasi faqat oxirgi holat bo'yicha qo'llaniladi +ToPayOn=%s orqali to'lash uchun +toPayOn=%s da to'lash +RetainedWarranty=Kafolatni saqlab qolish +PaymentConditionsShortRetainedWarranty=Kafolatni to'lash shartlari saqlanib qoldi +DefaultPaymentConditionsRetainedWarranty=Odatiy saqlanib qolgan kafolatli to'lov shartlari +setPaymentConditionsShortRetainedWarranty=Kafolatni to'lashning saqlanib qolgan shartlarini o'rnating +setretainedwarranty=Saqlangan kafolatni o'rnating +setretainedwarrantyDateLimit=Saqlanib qolgan kafolat muddatini belgilang +RetainedWarrantyDateLimit=Kafolat muddati saqlanib qoldi +RetainedWarrantyNeed100Percent=Vaziyat fakturasi 100%% darajasida bo'lishi kerak, bu PDF-da ko'rsatilishi kerak +AlreadyPaid=Allaqachon to'langan +AlreadyPaidBack=Qaytib to'langan +AlreadyPaidNoCreditNotesNoDeposits=Oldindan to'langan (kredit yozuvlari va dastlabki to'lovlarsiz) +Abandoned=Tashlab ketilgan +RemainderToPay=Qolganlari to'lanmagan +RemainderToTake=Qolgan miqdor +RemainderToPayBack=Pulni qaytarish uchun qolgan mablag ' +Rest=Kutilmoqda +AmountExpected=Da'vo qilingan miqdor +ExcessReceived=Ortiqcha olingan +ExcessPaid=Ortiqcha to'langan +EscompteOffered=Taklif qilingan chegirma (muddatidan oldin to'lov) +EscompteOfferedShort=Chegirma +SendBillRef=%s hisob-fakturasini taqdim etish +SendReminderBillRef=%s hisob-fakturasini taqdim etish (eslatma) +NoDraftBills=Hisob-fakturalar yo‘q +NoOtherDraftBills=Boshqa hisob-fakturalar mavjud emas +NoDraftInvoices=Hisob-fakturalar yo‘q +RefBill=Hisob-faktura +ToBill=Hisob-kitob qilish +RemainderToBill=Hisob-kitob uchun qoldiq +SendBillByMail=Hisob-fakturani elektron pochta orqali yuboring +SendReminderBillByMail=Elektron pochta orqali eslatma yuboring +RelatedCommercialProposals=Tegishli tijorat takliflari +RelatedRecurringCustomerInvoices=Tegishli takrorlanadigan mijozlar hisob-fakturalari +MenuToValid=Haqiqiy +DateMaxPayment=To'lov muddati +DateInvoice=Hisob-faktura sanasi +DatePointOfTax=Soliq punkti +NoInvoice=Hisob-faktura yo‘q +NoOpenInvoice=Ochiq hisob-fakturasi yo‘q +ClassifyBill=Hisob-fakturani tasniflang +SupplierBillsToPay=To'lovsiz sotuvchi hisob-fakturalari +CustomerBillsUnpaid=To'lovsiz mijozlar uchun hisob-fakturalar +NonPercuRecuperable=Qayta tiklanmaydi +SetConditions=To'lov shartlarini o'rnating +SetMode=To'lov turini o'rnating +SetRevenuStamp=Daromad shtampini o'rnating +Billed=Hisob-kitob +RecurringInvoices=Takroriy hisob-fakturalar +RepeatableInvoice=Shablon hisob-fakturasi +RepeatableInvoices=Shablon hisob-fakturalari +Repeatable=Andoza +Repeatables=Shablonlar +ChangeIntoRepeatableInvoice=Shablon hisob-fakturasiga aylantirish +CreateRepeatableInvoice=Shablon hisob-fakturasini yarating +CreateFromRepeatableInvoice=Shablon hisob-fakturasidan yarating +CustomersInvoicesAndInvoiceLines=Mijozlarning hisob-fakturalari va hisob-kitob ma'lumotlari +CustomersInvoicesAndPayments=Mijozlarning hisob-kitoblari va to'lovlari +ExportDataset_invoice_1=Mijozlarning hisob-fakturalari va hisob-kitob ma'lumotlari +ExportDataset_invoice_2=Mijozlarning hisob-kitoblari va to'lovlari ProformaBill=Proforma Bill: -Reduction=Reduction -ReductionShort=Disc. -Reductions=Reductions -ReductionsShort=Disc. -Discounts=Discounts -AddDiscount=Create discount -AddRelativeDiscount=Create relative discount -EditRelativeDiscount=Edit relative discount -AddGlobalDiscount=Create absolute discount -EditGlobalDiscounts=Edit absolute discounts -AddCreditNote=Create credit note -ShowDiscount=Show discount -ShowReduc=Show the discount -ShowSourceInvoice=Show the source invoice -RelativeDiscount=Relative discount -GlobalDiscount=Global discount -CreditNote=Credit note -CreditNotes=Credit notes -CreditNotesOrExcessReceived=Credit notes or excess received -Deposit=Down payment -Deposits=Down payments -DiscountFromCreditNote=Discount from credit note %s -DiscountFromDeposit=Down payments from invoice %s -DiscountFromExcessReceived=Payments in excess of invoice %s -DiscountFromExcessPaid=Payments in excess of invoice %s -AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation -CreditNoteDepositUse=Invoice must be validated to use this kind of credits -NewGlobalDiscount=New absolute discount -NewRelativeDiscount=New relative discount -DiscountType=Discount type -NoteReason=Note/Reason -ReasonDiscount=Reason -DiscountOfferedBy=Granted by -DiscountStillRemaining=Discounts or credits available -DiscountAlreadyCounted=Discounts or credits already consumed -CustomerDiscounts=Customer discounts -SupplierDiscounts=Vendors discounts -BillAddress=Bill address -HelpEscompte=This discount is a discount granted to customer because payment was made before term. -HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loss. -HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by another for example) -IdSocialContribution=Social/fiscal tax payment id -PaymentId=Payment id -PaymentRef=Payment ref. -InvoiceId=Invoice id -InvoiceRef=Invoice ref. -InvoiceDateCreation=Invoice creation date -InvoiceStatus=Invoice status -InvoiceNote=Invoice note -InvoicePaid=Invoice paid -InvoicePaidCompletely=Paid completely -InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. -OrderBilled=Order billed -DonationPaid=Donation paid -PaymentNumber=Payment number -RemoveDiscount=Remove discount -WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) -InvoiceNotChecked=No invoice selected -ConfirmCloneInvoice=Are you sure you want to clone this invoice %s? -DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced -DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payments during the fixed year are included here. -NbOfPayments=No. of payments -SplitDiscount=Split discount in two -ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into two smaller discounts? -TypeAmountOfEachNewDiscount=Input amount for each of two parts: -TotalOfTwoDiscountMustEqualsOriginal=The total of the two new discounts must be equal to the original discount amount. -ConfirmRemoveDiscount=Are you sure you want to remove this discount? -RelatedBill=Related invoice -RelatedBills=Related invoices -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related vendor invoices -LatestRelatedBill=Latest related invoice -WarningBillExist=Warning, one or more invoices already exist -MergingPDFTool=Merging PDF tool -AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice -PaymentOnDifferentThirdBills=Allow payments on different third parties bills but same parent company -PaymentNote=Payment note -ListOfPreviousSituationInvoices=List of previous situation invoices -ListOfNextSituationInvoices=List of next situation invoices -ListOfSituationInvoices=List of situation invoices -CurrentSituationTotal=Total current situation -DisabledBecauseNotEnouthCreditNote=To remove a situation invoice from cycle, this invoice's credit note total must cover this invoice total -RemoveSituationFromCycle=Remove this invoice from cycle -ConfirmRemoveSituationFromCycle=Remove this invoice %s from cycle ? -ConfirmOuting=Confirm outing -FrequencyPer_d=Every %s days -FrequencyPer_m=Every %s months -FrequencyPer_y=Every %s years -FrequencyUnit=Frequency unit -toolTipFrequency=Examples:
    Set 7, Day: give a new invoice every 7 days
    Set 3, Month: give a new invoice every 3 month -NextDateToExecution=Date for next invoice generation -NextDateToExecutionShort=Date next gen. -DateLastGeneration=Date of latest generation -DateLastGenerationShort=Date latest gen. -MaxPeriodNumber=Max. number of invoice generation -NbOfGenerationDone=Number of invoice generation already done -NbOfGenerationOfRecordDone=Number of record generation already done -NbOfGenerationDoneShort=Number of generation done -MaxGenerationReached=Maximum number of generations reached -InvoiceAutoValidate=Validate invoices automatically -GeneratedFromRecurringInvoice=Generated from template recurring invoice %s -DateIsNotEnough=Date not reached yet -InvoiceGeneratedFromTemplate=Invoice %s generated from recurring template invoice %s -GeneratedFromTemplate=Generated from template invoice %s -WarningInvoiceDateInFuture=Warning, the invoice date is higher than current date -WarningInvoiceDateTooFarInFuture=Warning, the invoice date is too far from current date -ViewAvailableGlobalDiscounts=View available discounts -GroupPaymentsByModOnReports=Group payments by mode on reports +Reduction=Kamaytirish +ReductionShort=Disk. +Reductions=Kamaytirish +ReductionsShort=Disk. +Discounts=Chegirmalar +AddDiscount=Chegirma yarating +AddRelativeDiscount=Nisbatan chegirma yarating +EditRelativeDiscount=Nisbatan chegirmani tahrirlash +AddGlobalDiscount=Mutlaq chegirma yarating +EditGlobalDiscounts=Mutlaq chegirmalarni tahrirlash +AddCreditNote=Kredit yozuvini yarating +ShowDiscount=Chegirmani ko'rsating +ShowReduc=Chegirmani ko'rsating +ShowSourceInvoice=Manba-fakturani ko'rsating +RelativeDiscount=Nisbatan chegirma +GlobalDiscount=Global chegirma +CreditNote=Kredit eslatma +CreditNotes=Kredit yozuvlari +CreditNotesOrExcessReceived=Kredit yozuvlari yoki ortiqcha olingan +Deposit=Ilk to'lov +Deposits=Dastlabki to'lovlar +DiscountFromCreditNote=%s kredit notasidan chegirma +DiscountFromDeposit=Hisob-fakturadan dastlabki to'lovlar %s +DiscountFromExcessReceived=Hisob-fakturadan ortiqcha to'lovlar %s +DiscountFromExcessPaid=Hisob-fakturadan ortiqcha to'lovlar %s +AbsoluteDiscountUse=Ushbu turdagi kreditni tasdiqlashdan oldin hisob-fakturada ishlatish mumkin +CreditNoteDepositUse=Ushbu turdagi kreditlardan foydalanish uchun hisob-fakturani tasdiqlash kerak +NewGlobalDiscount=Yangi mutlaq chegirma +NewRelativeDiscount=Yangi nisbiy chegirma +DiscountType=Chegirma turi +NoteReason=Izoh / sabab +ReasonDiscount=Sabab +DiscountOfferedBy=Tomonidan berilgan +DiscountStillRemaining=Chegirmalar yoki kreditlar mavjud +DiscountAlreadyCounted=Oldindan iste'mol qilingan chegirmalar yoki kreditlar +CustomerDiscounts=Mijozlarga chegirmalar +SupplierDiscounts=Sotuvchilarga chegirmalar +BillAddress=Hisob-kitob manzili +HelpEscompte=Ushbu chegirma mijozga berilgan chegirmadir, chunki to'lov muddatidan oldin amalga oshirilgan. +HelpAbandonBadCustomer=Ushbu miqdordan voz kechildi (mijoz yomon mijoz deb aytdi) va bu juda katta zarar deb hisoblanadi. +HelpAbandonOther=Ushbu miqdor xato bo'lganligi sababli qoldirildi (noto'g'ri mijoz yoki hisob-faktura boshqasiga almashtirildi) +IdSocialContribution=Ijtimoiy / soliq soliq to'lovi identifikatori +PaymentId=To'lov identifikatori +PaymentRef=To'lov ref. +InvoiceId=Hisob-faktura identifikatori +InvoiceRef=Hisob-faktura +InvoiceDateCreation=Hisob-fakturani yaratish sanasi +InvoiceStatus=Hisob-faktura holati +InvoiceNote=Hisob-faktura yozuvi +InvoicePaid=Hisob-faktura to'landi +InvoicePaidCompletely=To'liq to'langan +InvoicePaidCompletelyHelp=To'liq to'langan hisob-faktura. Bu qisman to'lanadigan hisob-fakturalarni hisobga olmaydi. Barcha "Yopiq" yoki "Yopiq" bo'lmagan schyot-fakturalar ro'yxatini olish uchun faktura holatida filtrdan foydalanishni afzal biling. +OrderBilled=Buyurtma uchun to'lov +DonationPaid=Xayriya to'landi +PaymentNumber=To'lov raqami +RemoveDiscount=Chegirmani olib tashlang +WatermarkOnDraftBill=Hisob-fakturalardagi suv belgisi (bo'sh bo'lsa, hech narsa yo'q) +InvoiceNotChecked=Hisob-faktura tanlanmagan +ConfirmCloneInvoice=Ushbu fakturani klonlamoqchimisiz %s ? +DisabledBecauseReplacedInvoice=Hisob-faktura almashtirilganligi sababli harakat o'chirib qo'yildi +DescTaxAndDividendsArea=Ushbu sohada maxsus xarajatlar uchun qilingan barcha to'lovlarning qisqacha mazmuni keltirilgan. Bu erda faqat belgilangan yil davomida to'lovlar bo'lgan yozuvlar kiritilgan. +NbOfPayments=To'lovlar soni +SplitDiscount=Chegirmani ikkiga bo'ling +ConfirmSplitDiscount= %s %s ushbu chegirmani ikkita kichik chegirmaga bo'lishni xohlaysizmi? +TypeAmountOfEachNewDiscount=Ikkala qismning har biri uchun kirish miqdori: +TotalOfTwoDiscountMustEqualsOriginal=Ikkita yangi chegirmalarning barchasi dastlabki chegirma miqdoriga teng bo'lishi kerak. +ConfirmRemoveDiscount=Ushbu chegirmani olib tashlamoqchimisiz? +RelatedBill=Tegishli hisob-faktura +RelatedBills=Tegishli hisob-fakturalar +RelatedCustomerInvoices=Tegishli mijozlarning hisob-fakturalari +RelatedSupplierInvoices=Tegishli sotuvchi hisob-fakturalari +LatestRelatedBill=Oxirgi tegishli hisob-faktura +WarningBillExist=Diqqat, bir yoki bir nechta faktura allaqachon mavjud +MergingPDFTool=PDF vositasini birlashtirish +AmountPaymentDistributedOnInvoice=Hisob-fakturada tarqatilgan to'lov miqdori +PaymentOnDifferentThirdBills=Turli xil uchinchi shaxslarning veksellari bo'yicha to'lovlarni amalga oshirishga ruxsat bering, lekin bitta bosh kompaniya +PaymentNote=To'lov uchun eslatma +ListOfPreviousSituationInvoices=Avvalgi vaziyat bo'yicha hisob-fakturalar ro'yxati +ListOfNextSituationInvoices=Keyingi vaziyat bo'yicha hisob-fakturalar ro'yxati +ListOfSituationInvoices=Vaziyat fakturalari ro'yxati +CurrentSituationTotal=Jami hozirgi holat +DisabledBecauseNotEnouthCreditNote=Vaziyat schyotini tsikldan olib tashlash uchun ushbu schyotning ssuda summasi ushbu schyotning umumiy miqdorini qoplashi kerak +RemoveSituationFromCycle=Ushbu hisob-fakturani tsikldan olib tashlang +ConfirmRemoveSituationFromCycle=Ushbu fakturani %s tsikldan olib tashlaysizmi? +ConfirmOuting=Tashqariga chiqishni tasdiqlang +FrequencyPer_d=Har bir %s kun ichida +FrequencyPer_m=Har %s oy +FrequencyPer_y=Har %s yilda +FrequencyUnit=Chastota birligi +toolTipFrequency=Misollar:
    7-to'plam, kun : har 7 kunda yangi hisob-faktura bering
    3-to'plam, oy a09a4b739f17fz +NextDateToExecution=Keyingi hisob-fakturani yaratish sanasi +NextDateToExecutionShort=Sana keyingi nasl. +DateLastGeneration=Oxirgi avlod sanasi +DateLastGenerationShort=Sana so'nggi gen. +MaxPeriodNumber=Maks. hisob-fakturani yaratish soni +NbOfGenerationDone=Hisob-fakturani yaratish soni allaqachon bajarilgan +NbOfGenerationOfRecordDone=Bajarilgan yozuvlar soni +NbOfGenerationDoneShort=Ishlab chiqarilgan avlod soni +MaxGenerationReached=Yetib kelgan avlodlarning maksimal soni +InvoiceAutoValidate=Hisob-fakturalarni avtomatik ravishda tasdiqlang +GeneratedFromRecurringInvoice=%s shablonidan takrorlanadigan hisob-fakturadan yaratilgan +DateIsNotEnough=Sana hali aniqlanmagan +InvoiceGeneratedFromTemplate=%s shablonidan takrorlanadigan shablondan hosil qilingan %s schyoti +GeneratedFromTemplate=%s shablon hisob-fakturasidan yaratilgan +WarningInvoiceDateInFuture=Ogohlantirish, faktura sanasi joriy sanadan yuqori +WarningInvoiceDateTooFarInFuture=Diqqat! Hisob-faktura sanasi joriy sanadan juda uzoq +ViewAvailableGlobalDiscounts=Mavjud chegirmalarni ko'ring +GroupPaymentsByModOnReports=Hisobotlar bo'yicha to'lovlarni tartib bo'yicha guruhlash # PaymentConditions -Statut=Status -PaymentConditionShortRECEP=Due Upon Receipt -PaymentConditionRECEP=Due Upon Receipt -PaymentConditionShort30D=30 days -PaymentCondition30D=30 days -PaymentConditionShort30DENDMONTH=30 days of month-end -PaymentCondition30DENDMONTH=Within 30 days following the end of the month -PaymentConditionShort60D=60 days -PaymentCondition60D=60 days -PaymentConditionShort60DENDMONTH=60 days of month-end -PaymentCondition60DENDMONTH=Within 60 days following the end of the month -PaymentConditionShortPT_DELIVERY=Delivery -PaymentConditionPT_DELIVERY=On delivery -PaymentConditionShortPT_ORDER=Order -PaymentConditionPT_ORDER=On order +Statut=Holat +PaymentConditionShortRECEP=Qabul qilingandan keyin +PaymentConditionRECEP=Qabul qilingandan keyin +PaymentConditionShort30D=30 kun +PaymentCondition30D=30 kun +PaymentConditionShort30DENDMONTH=Oy oxirida 30 kun +PaymentCondition30DENDMONTH=Oy oxiridan keyingi 30 kun ichida +PaymentConditionShort60D=60 kun +PaymentCondition60D=60 kun +PaymentConditionShort60DENDMONTH=Oy oxirida 60 kun +PaymentCondition60DENDMONTH=Oy oxiridan keyingi 60 kun ichida +PaymentConditionShortPT_DELIVERY=Yetkazib berish +PaymentConditionPT_DELIVERY=Yetkazib berish paytida +PaymentConditionShortPT_ORDER=Buyurtma +PaymentConditionPT_ORDER=Buyurtma bo'yicha PaymentConditionShortPT_5050=50-50 -PaymentConditionPT_5050=50%% in advance, 50%% on delivery -PaymentConditionShort10D=10 days -PaymentCondition10D=10 days -PaymentConditionShort10DENDMONTH=10 days of month-end -PaymentCondition10DENDMONTH=Within 10 days following the end of the month -PaymentConditionShort14D=14 days -PaymentCondition14D=14 days -PaymentConditionShort14DENDMONTH=14 days of month-end -PaymentCondition14DENDMONTH=Within 14 days following the end of the month -FixAmount=Fixed amount - 1 line with label '%s' -VarAmount=Variable amount (%% tot.) -VarAmountOneLine=Variable amount (%% tot.) - 1 line with label '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +PaymentConditionPT_5050=50%% oldindan, etkazib berish paytida 50%% +PaymentConditionShort10D=10 kun +PaymentCondition10D=10 kun +PaymentConditionShort10DENDMONTH=Oy tugashining 10 kuni +PaymentCondition10DENDMONTH=Oy tugaganidan keyingi 10 kun ichida +PaymentConditionShort14D=14 kun +PaymentCondition14D=14 kun +PaymentConditionShort14DENDMONTH=Oy tugashining 14 kuni +PaymentCondition14DENDMONTH=Oy tugaganidan keyingi 14 kun ichida +FixAmount=Ruxsat etilgan miqdor - '%s' yorlig'i bilan 1 qator +VarAmount=O'zgaruvchan miqdor (%% tot.) +VarAmountOneLine=O'zgaruvchan miqdor (%% tot.) - '%s' yorlig'i bilan 1 qator +VarAmountAllLines=O'zgaruvchan miqdor (%% tot.) - kelib chiqadigan barcha satrlar # PaymentType -PaymentTypeVIR=Bank transfer -PaymentTypeShortVIR=Bank transfer -PaymentTypePRE=Direct debit payment order -PaymentTypeShortPRE=Debit payment order -PaymentTypeLIQ=Cash -PaymentTypeShortLIQ=Cash -PaymentTypeCB=Credit card -PaymentTypeShortCB=Credit card -PaymentTypeCHQ=Check -PaymentTypeShortCHQ=Check -PaymentTypeTIP=TIP (Documents against Payment) -PaymentTypeShortTIP=TIP Payment -PaymentTypeVAD=Online payment -PaymentTypeShortVAD=Online payment -PaymentTypeTRA=Bank draft -PaymentTypeShortTRA=Draft -PaymentTypeFAC=Factor -PaymentTypeShortFAC=Factor -BankDetails=Bank details -BankCode=Bank code -DeskCode=Branch code -BankAccountNumber=Account number -BankAccountNumberKey=Checksum -Residence=Address -IBANNumber=IBAN account number +PaymentTypeVIR=Bank o'tkazmasi +PaymentTypeShortVIR=Bank o'tkazmasi +PaymentTypePRE=To'g'ridan-to'g'ri debet to'lovi buyurtmasi +PaymentTypeShortPRE=Debet bo'yicha to'lov topshirig'i +PaymentTypeLIQ=Naqd pul +PaymentTypeShortLIQ=Naqd pul +PaymentTypeCB=Kredit kartasi +PaymentTypeShortCB=Kredit kartasi +PaymentTypeCHQ=Tekshiring +PaymentTypeShortCHQ=Tekshiring +PaymentTypeTIP=Maslahat (To'lovga qarshi hujjatlar) +PaymentTypeShortTIP=Maslahat to'lovi +PaymentTypeVAD=Onlayn to'lov +PaymentTypeShortVAD=Onlayn to'lov +PaymentTypeTRA=Bank loyihasi +PaymentTypeShortTRA=Qoralama +PaymentTypeFAC=Faktor +PaymentTypeShortFAC=Faktor +BankDetails=Bank tafsilotlari +BankCode=Bank kodi +DeskCode=Filial kodi +BankAccountNumber=Hisob raqami +BankAccountNumberKey=Tekshirish summasi +Residence=Manzil +IBANNumber=IBAN hisob raqami IBAN=IBAN -CustomerIBAN=IBAN of customer -SupplierIBAN=IBAN of vendor -BIC=BIC/SWIFT -BICNumber=BIC/SWIFT code -ExtraInfos=Extra infos -RegulatedOn=Regulated on -ChequeNumber=Check N° -ChequeOrTransferNumber=Check/Transfer N° -ChequeBordereau=Check schedule -ChequeMaker=Check/Transfer sender -ChequeBank=Bank of Check -CheckBank=Check -NetToBePaid=Net to be paid +CustomerIBAN=Mijozning IBAN +SupplierIBAN=Sotuvchisi IBAN +BIC=BIC / SWIFT +BICNumber=BIC / SWIFT kodi +ExtraInfos=Qo'shimcha ma'lumotlar +RegulatedOn=Tartibga solingan +ChequeNumber=N ° ni tekshiring +ChequeOrTransferNumber=N ° ni tekshiring / o'tkazing +ChequeBordereau=Jadvalni tekshiring +ChequeMaker=Yuboruvchini tekshiring / o'tkazing +ChequeBank=Chek banki +CheckBank=Tekshiring +NetToBePaid=To'lanadigan to'r PhoneNumber=Tel -FullPhoneNumber=Telephone -TeleFax=Fax -PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. -IntracommunityVATNumber=Intra-Community VAT ID -PaymentByChequeOrderedTo=Check payments (including tax) are payable to %s, send to -PaymentByChequeOrderedToShort=Check payments (incl. tax) are payable to -SendTo=sent to -PaymentByTransferOnThisBankAccount=Payment by transfer to the following bank account -VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI -LawApplicationPart1=By application of the law 80.335 of 12/05/80 -LawApplicationPart2=the goods remain the property of -LawApplicationPart3=the seller until full payment of -LawApplicationPart4=their price. -LimitedLiabilityCompanyCapital=SARL with Capital of -UseLine=Apply -UseDiscount=Use discount -UseCredit=Use credit -UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit -MenuChequeDeposits=Check Deposits -MenuCheques=Checks -MenuChequesReceipts=Check receipts -NewChequeDeposit=New deposit -ChequesReceipts=Check receipts -ChequesArea=Check deposits area -ChequeDeposits=Check deposits -Cheques=Checks -DepositId=Id deposit -NbCheque=Number of checks -CreditNoteConvertedIntoDiscount=This %s has been converted into %s -UsBillingContactAsIncoiveRecipientIfExist=Use contact/address with type 'billing contact' instead of third-party address as recipient for invoices -ShowUnpaidAll=Show all unpaid invoices -ShowUnpaidLateOnly=Show late unpaid invoices only -PaymentInvoiceRef=Payment invoice %s -ValidateInvoice=Validate invoice -ValidateInvoices=Validate invoices -Cash=Cash -Reported=Delayed -DisabledBecausePayments=Not possible since there are some payments -CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid -ExpectedToPay=Expected payment -CantRemoveConciliatedPayment=Can't remove reconciled payment -PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify automatically all standard, down payment or replacement invoices as "Paid" when payment is done entirely. -ClosePaidCreditNotesAutomatically=Classify automatically all credit notes as "Paid" when refund is done entirely. -ClosePaidContributionsAutomatically=Classify automatically all social or fiscal contributions as "Paid" when payment is done entirely. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. -AllCompletelyPayedInvoiceWillBeClosed=All invoices with no remainder to pay will be automatically closed with status "Paid". -ToMakePayment=Pay -ToMakePaymentBack=Pay back -ListOfYourUnpaidInvoices=List of unpaid invoices -NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Tax stamp -YouMustCreateInvoiceFromThird=This option is only available when creating an invoice from tab "Customer" of third party -YouMustCreateInvoiceFromSupplierThird=This option is only available when creating an invoice from tab "Vendor" of third party -YouMustCreateStandardInvoiceFirstDesc=You have to create a standard invoice first and convert it to "template" to create a new template invoice -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (old implementation of Sponge template) -PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template -PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +FullPhoneNumber=Telefon +TeleFax=Faks +PrettyLittleSentence=Fiskal ma'muriyat tomonidan tasdiqlangan buxgalteriya assotsiatsiyasining a'zosi sifatida mening nomimga berilgan cheklar orqali to'lanadigan to'lovlar miqdorini qabul qiling. +IntracommunityVATNumber=Jamiyat ichidagi QQS identifikatori +PaymentByChequeOrderedTo=Chex to'lovlari (soliqni o'z ichiga olgan holda) %s uchun to'lanadi, yuboring +PaymentByChequeOrderedToShort=Chek to'lovlari (soliqni o'z ichiga olgan holda) to'lanishi kerak +SendTo=yuborilgan +PaymentByTransferOnThisBankAccount=To'lov quyidagi bank hisob raqamiga o'tkazish orqali +VATIsNotUsedForInvoice=* Qo'llanilmaydigan QQS san'ati-293B CGI +LawApplicationPart1=12.05.08 yildagi 80.335-sonli qonunni qo'llash orqali +LawApplicationPart2=tovarlarning mulki bo'lib qoladi +LawApplicationPart3=to'liq to'laguniga qadar sotuvchi +LawApplicationPart4=ularning narxi. +LimitedLiabilityCompanyCapital=SARL sarmoyasi bilan +UseLine=Qo'llash +UseDiscount=Chegirmadan foydalaning +UseCredit=Kreditdan foydalaning +UseCreditNoteInInvoicePayment=Ushbu kredit bilan to'lash miqdorini kamaytiring +MenuChequeDeposits=Omonatlarni tekshiring +MenuCheques=Chexlar +MenuChequesReceipts=Kvitansiyalarni tekshiring +NewChequeDeposit=Yangi depozit +ChequesReceipts=Kvitansiyalarni tekshiring +ChequesArea=Depozit maydonini tekshiring +ChequeDeposits=Omonatlarni tekshiring +Cheques=Chexlar +DepositId=Identifikatsiya depoziti +NbCheque=Cheklar soni +CreditNoteConvertedIntoDiscount=Ushbu %s %s ga aylantirildi +UsBillingContactAsIncoiveRecipientIfExist=Hisob-fakturalarni qabul qiluvchi sifatida uchinchi tomon manzilining o'rniga "hisob-kitob aloqasi" turidagi aloqa / manzildan foydalaning +ShowUnpaidAll=Barcha to'lanmagan hisob-fakturalarni ko'rsatish +ShowUnpaidLateOnly=Faqat kech to'lanmagan hisob-fakturalarni ko'rsatish +PaymentInvoiceRef=To'lov uchun hisob-faktura %s +ValidateInvoice=Hisob-fakturani tasdiqlang +ValidateInvoices=Hisob-fakturalarni tasdiqlang +Cash=Naqd pul +Reported=Kechiktirildi +DisabledBecausePayments=Mumkin emas, chunki ba'zi to'lovlar mavjud +CantRemovePaymentWithOneInvoicePaid=To'lovni olib tashlab bo'lmaydi, chunki kamida bitta to'langan hisob-faktura mavjud +CantRemovePaymentVATPaid=QQS deklaratsiyasi to'langan deb e'lon qilinganligi sababli to'lovni olib tashlab bo'lmaydi +CantRemovePaymentSalaryPaid=To'lovni olib tashlab bo'lmaydi, chunki ish haqi to'langan deb tasniflanadi +ExpectedToPay=Kutilayotgan to'lov +CantRemoveConciliatedPayment=Taqqoslangan to'lovni olib tashlab bo'lmaydi +PayedByThisPayment=Ushbu to'lov orqali to'lanadi +ClosePaidInvoicesAutomatically=To'lov to'liq amalga oshirilgandan so'ng barcha standart, dastlabki to'lovlar yoki almashtirish hisob-fakturalarini avtomatik ravishda "To'langan" deb tasniflang. +ClosePaidCreditNotesAutomatically=To'liq qaytarib berilgandan so'ng barcha kredit yozuvlarini avtomatik ravishda "To'langan" deb tasniflang. +ClosePaidContributionsAutomatically=To'lov to'liq amalga oshirilganda barcha ijtimoiy yoki soliq to'lovlarini avtomatik ravishda "To'langan" deb tasniflang. +ClosePaidVATAutomatically=To'lov to'liq amalga oshirilganda avtomatik ravishda QQS deklaratsiyasini "To'langan" deb tasniflang. +ClosePaidSalaryAutomatically=To'lov to'liq amalga oshirilganda avtomatik ravishda ish haqini "To'langan" deb tasniflang. +AllCompletelyPayedInvoiceWillBeClosed=To'lash uchun qoldiq bo'lmagan barcha hisob-fakturalar "To'langan" holati bilan avtomatik ravishda yopiladi. +ToMakePayment=To'lash +ToMakePaymentBack=To'lovni qaytaring +ListOfYourUnpaidInvoices=To'lanmagan hisob-fakturalar ro'yxati +NoteListOfYourUnpaidInvoices=Izoh: Ushbu ro'yxatda faqat siz savdo vakili sifatida bog'langan uchinchi shaxslar uchun hisob-fakturalar mavjud. +RevenueStamp=Soliq markasi +YouMustCreateInvoiceFromThird=Ushbu parametr faqat uchinchi tomonning "Mijoz" yorlig'idan hisob-fakturani yaratishda mavjud bo'ladi +YouMustCreateInvoiceFromSupplierThird=Ushbu parametr faqat uchinchi tomonning "Sotuvchi" yorlig'idan hisob-fakturani yaratishda mavjud bo'ladi +YouMustCreateStandardInvoiceFirstDesc=Avval siz standart hisob-fakturani yaratishingiz va yangi shablon hisob-fakturasini yaratish uchun uni "shablonga" o'tkazishingiz kerak +PDFCrabeDescription=Hisob-fakturaning PDF shabloni Crabe. To'liq hisob-faktura shablonini (shimgichni shablonini eski versiyasi) +PDFSpongeDescription=Hisob-faktura PDF shablonini shimgich. To'liq hisob-faktura shabloni +PDFCrevetteDescription=Hisob-fakturaning PDF shablonini Crevette. Vaziyat-fakturalar uchun to'liq hisob-faktura shabloni +TerreNumRefModelDesc1=Standart hisob-fakturalar uchun %syymm-nnnn formatidagi qaytarish raqami va kredit yozuvlari uchun %syymm-nnnn, yy yil, mm oy va nnnn ketma-ket avtomatik ko'paytiriladigan raqam bo'lib, tanaffussiz va 0 ga qaytish mumkin emas. MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -EarlyClosingReason=Early closing reason -EarlyClosingComment=Early closing note +TerreNumRefModelError=$ Syymm bilan boshlangan qonun loyihasi allaqachon mavjud va ushbu ketma-ketlik modeliga mos kelmaydi. Ushbu modulni faollashtirish uchun uni olib tashlang yoki nomini o'zgartiring. +CactusNumRefModelDesc1=Standart hisob-fakturalar uchun %syymm-nnnn formatidagi, kredit yozuvlari uchun %syymm-nnnn va %syymm-nnnn formatidagi qaytarish raqami, yy yil, mm-raqam o'sish va raqamlar 0 +EarlyClosingReason=Erta yopilish sababi +EarlyClosingComment=Erta yopilish eslatmasi ##### Types de contacts ##### -TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice -TypeContact_facture_external_BILLING=Customer invoice contact -TypeContact_facture_external_SHIPPING=Customer shipping contact -TypeContact_facture_external_SERVICE=Customer service contact -TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up vendor invoice -TypeContact_invoice_supplier_external_BILLING=Vendor invoice contact -TypeContact_invoice_supplier_external_SHIPPING=Vendor shipping contact -TypeContact_invoice_supplier_external_SERVICE=Vendor service contact +TypeContact_facture_internal_SALESREPFOLL=Vakilni kuzatib boradigan mijozlarning hisob-fakturasi +TypeContact_facture_external_BILLING=Mijozlarning hisob-fakturasi bilan aloqa qilish +TypeContact_facture_external_SHIPPING=Mijozlarni etkazib berish bo'yicha aloqa +TypeContact_facture_external_SERVICE=Mijozlarga xizmat ko'rsatish bo'yicha aloqa +TypeContact_invoice_supplier_internal_SALESREPFOLL=Vakilni kuzatib boruvchi sotuvchining hisob-fakturasi +TypeContact_invoice_supplier_external_BILLING=Sotuvchi fakturasi bilan aloqa qilish +TypeContact_invoice_supplier_external_SHIPPING=Sotuvchining etkazib berish aloqasi +TypeContact_invoice_supplier_external_SERVICE=Sotuvchi xizmatiga murojaat qilish # Situation invoices -InvoiceFirstSituationAsk=First situation invoice -InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. -InvoiceSituation=Situation invoice -PDFInvoiceSituation=Situation invoice -InvoiceSituationAsk=Invoice following the situation -InvoiceSituationDesc=Create a new situation following an already existing one -SituationAmount=Situation invoice amount(net) -SituationDeduction=Situation subtraction -ModifyAllLines=Modify all lines -CreateNextSituationInvoice=Create next situation -ErrorFindNextSituationInvoice=Error unable to find next situation cycle ref -ErrorOutingSituationInvoiceOnUpdate=Unable to outing this situation invoice. -ErrorOutingSituationInvoiceCreditNote=Unable to outing linked credit note. -NotLastInCycle=This invoice is not the latest in cycle and must not be modified. -DisabledBecauseNotLastInCycle=The next situation already exists. -DisabledBecauseFinal=This situation is final. +InvoiceFirstSituationAsk=Birinchi vaziyat uchun hisob-faktura +InvoiceFirstSituationDesc= vaziyat schyotlari progressiya bilan bog'liq vaziyatlarga bog'langan, masalan qurilishning rivojlanishi. Har bir vaziyat hisob-fakturaga bog'langan. +InvoiceSituation=Vaziyat bo'yicha hisob-faktura +PDFInvoiceSituation=Vaziyat bo'yicha hisob-faktura +InvoiceSituationAsk=Vaziyatdan keyin hisob-faktura +InvoiceSituationDesc=Mavjud vaziyatdan so'ng yangi vaziyat yarating +SituationAmount=Vaziyat bo'yicha hisob-faktura summasi (aniq) +SituationDeduction=Vaziyatni ayirish +ModifyAllLines=Barcha qatorlarni o'zgartiring +CreateNextSituationInvoice=Keyingi vaziyatni yarating +ErrorFindNextSituationInvoice=Keyingi vaziyat tsiklini topib bo'lmadi +ErrorOutingSituationInvoiceOnUpdate=Ushbu hisob-fakturani o'chirib bo'lmaydi. +ErrorOutingSituationInvoiceCreditNote=Bog'langan kredit yozuvini o'chirib bo'lmaydi. +NotLastInCycle=Ushbu hisob-faktura tsiklning so'nggi versiyasi emas va o'zgartirilmasligi kerak. +DisabledBecauseNotLastInCycle=Keyingi vaziyat allaqachon mavjud. +DisabledBecauseFinal=Bu holat yakuniy. situationInvoiceShortcode_AS=AS situationInvoiceShortcode_S=S -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No open situations -InvoiceSituationLast=Final and general invoice -PDFCrevetteSituationNumber=Situation N°%s -PDFCrevetteSituationInvoiceLineDecompte=Situation invoice - COUNT -PDFCrevetteSituationInvoiceTitle=Situation invoice +CantBeLessThanMinPercent=Taraqqiyot avvalgi vaziyatdagi qiymatdan kichik bo'lishi mumkin emas. +NoSituations=Ochiq vaziyatlar yo'q +InvoiceSituationLast=Yakuniy va umumiy hisob-faktura +PDFCrevetteSituationNumber=Vaziyat N ° %s +PDFCrevetteSituationInvoiceLineDecompte=Vaziyat uchun hisob-faktura - COUNT +PDFCrevetteSituationInvoiceTitle=Vaziyat bo'yicha hisob-faktura PDFCrevetteSituationInvoiceLine=Situation N°%s: Inv. N°%s on %s -TotalSituationInvoice=Total situation -invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line -updatePriceNextInvoiceErrorUpdateline=Error: update price on invoice line: %s -ToCreateARecurringInvoice=To create a recurring invoice for this contract, first create this draft invoice, then convert it into an invoice template and define the frequency for generation of future invoices. -ToCreateARecurringInvoiceGene=To generate future invoices regularly and manually, just go on menu %s - %s - %s. -ToCreateARecurringInvoiceGeneAuto=If you need to have such invoices generated automatically, ask your administrator to enable and setup module %s. Note that both methods (manual and automatic) can be used together with no risk of duplication. -DeleteRepeatableInvoice=Delete template invoice -ConfirmDeleteRepeatableInvoice=Are your sure you want to delete the template invoice? -CreateOneBillByThird=Create one invoice per third party (otherwise, one invoice per order) -BillCreated=%s invoice(s) generated -BillXCreated=Invoice %s generated -StatusOfGeneratedDocuments=Status of document generation -DoNotGenerateDoc=Do not generate document file -AutogenerateDoc=Auto generate document file -AutoFillDateFrom=Set start date for service line with invoice date -AutoFillDateFromShort=Set start date -AutoFillDateTo=Set end date for service line with next invoice date -AutoFillDateToShort=Set end date -MaxNumberOfGenerationReached=Max number of gen. reached -BILL_DELETEInDolibarr=Invoice deleted -BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted -UnitPriceXQtyLessDiscount=Unit price x Qty - Discount -CustomersInvoicesArea=Customer billing area -SupplierInvoicesArea=Supplier billing area -FacParentLine=Invoice Line Parent -SituationTotalRayToRest=Remainder to pay without taxe -PDFSituationTitle=Situation n° %d -SituationTotalProgress=Total progress %d %% +TotalSituationInvoice=Umumiy holat +invoiceLineProgressError=Hisob-faktura satrining o'sishi keyingi hisob-kitob satridan katta yoki teng bo'lmasligi kerak +updatePriceNextInvoiceErrorUpdateline=Xato: hisob-fakturadagi narxni yangilash: %s +ToCreateARecurringInvoice=Ushbu shartnoma uchun takroriy hisob-fakturani yaratish uchun avval ushbu hisob-fakturani yarating, so'ng uni hisob-faktura shabloniga o'zgartiring va kelajakdagi hisob-kitoblarni yaratish chastotasini aniqlang. +ToCreateARecurringInvoiceGene=Kelajakdagi schyot-fakturalarni muntazam ravishda va qo'lda yaratish uchun %s - %s - %s menyusiga o'ting. +ToCreateARecurringInvoiceGeneAuto=Agar sizda bunday hisob-fakturalar avtomatik ravishda tuzilishi kerak bo'lsa, administratoringizdan %s modulini yoqishni va sozlashni so'rang. E'tibor bering, ikkala usul ham (qo'lda va avtomatik) birgalikda ishlatilishi mumkin, takrorlanish xavfi yo'q. +DeleteRepeatableInvoice=Shablon hisob-fakturasini o'chirish +ConfirmDeleteRepeatableInvoice=Shablon hisob-fakturasini o'chirishni xohlaysizmi? +CreateOneBillByThird=Uchinchi tomon uchun bitta hisob-faktura yarating (aks holda, buyurtma uchun bitta hisob-faktura) +BillCreated=%s hisob-fakturasi (lar) yaratilgan +BillXCreated=%s hisob-fakturasi tuzildi +StatusOfGeneratedDocuments=Hujjat yaratish holati +DoNotGenerateDoc=Hujjat faylini yaratmang +AutogenerateDoc=Hujjat faylini avtomatik yaratish +AutoFillDateFrom=Hisob-faktura sanasi bilan xizmat ko'rsatish liniyasining boshlanish sanasini belgilang +AutoFillDateFromShort=Boshlanish sanasini belgilang +AutoFillDateTo=Xizmat liniyasining tugash sanasini keyingi hisob-kitob sanasi bilan belgilang +AutoFillDateToShort=Tugash sanasini belgilang +MaxNumberOfGenerationReached=Maksimum gen soni. yetdi +BILL_DELETEInDolibarr=Hisob-faktura o'chirildi +BILL_SUPPLIER_DELETEInDolibarr=Ta'minlovchining hisob-fakturasi o'chirildi +UnitPriceXQtyLessDiscount=Birlik narxi x Miqdor - chegirma +CustomersInvoicesArea=Mijozlarning hisob-kitob maydoni +SupplierInvoicesArea=Ta'minlovchining hisob-kitob maydoni +FacParentLine=Hisob-faktura satrining ota-onasi +SituationTotalRayToRest=Soliqsiz to'lash uchun qoldiq +PDFSituationTitle=Vaziyat n ° %d +SituationTotalProgress=Jami taraqqiyot %d %% +SearchUnpaidInvoicesWithDueDate=Belgilangan sana = %s bilan to'lanmagan hisob-fakturalarni qidiring diff --git a/htdocs/langs/uz_UZ/blockedlog.lang b/htdocs/langs/uz_UZ/blockedlog.lang index 0bba5605d0f..478a7fdc873 100644 --- a/htdocs/langs/uz_UZ/blockedlog.lang +++ b/htdocs/langs/uz_UZ/blockedlog.lang @@ -1,54 +1,54 @@ -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). -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). -CompanyInitialKey=Company initial key (hash of genesis block) -BrowseBlockedLog=Unalterable logs -ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) -ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) -DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). -OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. -OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. -AddedByAuthority=Stored into remote authority -NotAddedByAuthorityYet=Not yet stored into remote authority -ShowDetails=Show stored details -logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created -logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified -logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion -logPAYMENT_ADD_TO_BANK=Payment added to bank -logPAYMENT_CUSTOMER_CREATE=Customer payment created -logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion -logDONATION_PAYMENT_CREATE=Donation payment created -logDONATION_PAYMENT_DELETE=Donation payment logical deletion -logBILL_PAYED=Customer invoice paid -logBILL_UNPAYED=Customer invoice set unpaid -logBILL_VALIDATE=Customer invoice validated -logBILL_SENTBYMAIL=Customer invoice send by mail -logBILL_DELETE=Customer invoice logically deleted -logMODULE_RESET=Module BlockedLog was disabled -logMODULE_SET=Module BlockedLog was enabled -logDON_VALIDATE=Donation validated -logDON_MODIFY=Donation modified -logDON_DELETE=Donation logical deletion -logMEMBER_SUBSCRIPTION_CREATE=Member subscription created -logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified -logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion -logCASHCONTROL_VALIDATE=Cash desk closing recording -BlockedLogBillDownload=Customer invoice download -BlockedLogBillPreview=Customer invoice preview -BlockedlogInfoDialog=Log Details -ListOfTrackedEvents=List of tracked events -Fingerprint=Fingerprint -DownloadLogCSV=Export archived logs (CSV) -logDOC_PREVIEW=Preview of a validated document in order to print or download -logDOC_DOWNLOAD=Download of a validated document in order to print or send -DataOfArchivedEvent=Full datas of archived event -ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data) -BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit. -BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit. -BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log). -OnlyNonValid=Non-valid -TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters. -RestrictYearToExport=Restrict month / year to export +BlockedLog=O'zgarishsiz jurnallar +Field=Maydon +BlockedLogDesc=Ushbu modul ba'zi voqealarni o'zgartirilishi mumkin bo'lmagan jurnalga (yozib olingandan keyin o'zgartirish mumkin emas) blok zanjiriga real vaqt rejimida olib boradi. Ushbu modul ba'zi mamlakatlarning qonunlari talablariga muvofiqligini ta'minlaydi (masalan, Frantsiya Finance 2016 - Norme NF525 qonuni bilan). +Fingerprints=Arxivlangan voqealar va barmoq izlari +FingerprintsDesc=Bu o'zgarmas jurnallarni ko'rib chiqish yoki chiqarib olish uchun vosita. O'zgarmas jurnallar ishlab chiqarilgan va arxivlangan bo'lib, maxsus jadvalga, ishbilarmonlik voqeasini yozib olganingizda real vaqtda. Ushbu vositadan ushbu arxivni eksport qilish va tashqi yordamga saqlash uchun foydalanishingiz mumkin (ba'zi mamlakatlar, masalan Frantsiya, buni har yili qilishingizni so'raydi). Shuni esda tutingki, ushbu jurnalni tozalash xususiyati yo'q va to'g'ridan-to'g'ri ushbu jurnalga kiritishga urinilgan har qanday o'zgarish (masalan, xaker tomonidan) yaroqsiz barmoq izi bilan xabar qilinadi. Agar siz ushbu dasturni demo / test maqsadida ishlatganingiz va ishlab chiqarishni boshlash uchun ma'lumotlaringizni tozalashni xohlaganingiz uchun ushbu jadvalni tozalashingiz kerak bo'lsa, sotuvchingiz yoki integratoringizdan ma'lumotlar bazasini qayta tiklashini so'rashingiz mumkin (barcha ma'lumotlar o'chiriladi). +CompanyInitialKey=Kompaniyaning boshlang'ich kaliti (genez blokining xeshi) +BrowseBlockedLog=O'zgarishsiz jurnallar +ShowAllFingerPrintsMightBeTooLong=Barcha arxivlangan jurnallarni ko'rsatish (uzoq bo'lishi mumkin) +ShowAllFingerPrintsErrorsMightBeTooLong=Barcha yaroqsiz arxiv jurnallarini ko'rsatish (uzoq bo'lishi mumkin) +DownloadBlockChain=Barmoq izlarini yuklab oling +KoCheckFingerprintValidity=Arxivlangan jurnal yozuvi haqiqiy emas. Bu shuni anglatadiki, kimdir (xaker?) Ushbu yozuvning ba'zi ma'lumotlarini yozib olingandan keyin o'zgartirgan yoki oldingi arxivlangan yozuvni o'chirib tashlagan (ushbu satrni oldingi # mavjudligini tekshiring) yoki oldingi yozuvning chegara summasini o'zgartirgan. +OkCheckFingerprintValidity=Arxivlangan jurnal qaydlari haqiqiydir. Ushbu satrdagi ma'lumotlar o'zgartirilmadi va yozuv avvalgisiga amal qiladi. +OkCheckFingerprintValidityButChainIsKo=Arxivlangan jurnal avvalgisiga nisbatan haqiqiy ko'rinadi, ammo ilgari zanjir buzilgan. +AddedByAuthority=Masofaviy hokimiyatda saqlanadi +NotAddedByAuthorityYet=Hali ham uzoqdan saqlanadigan joyda saqlanmagan +ShowDetails=Saqlangan ma'lumotlarni ko'rsatish +logPAYMENT_VARIOUS_CREATE=To'lov (hisob-fakturaga tayinlanmagan) yaratilgan +logPAYMENT_VARIOUS_MODIFY=To'lov o'zgartirildi (hisob-fakturaga tayinlanmagan) +logPAYMENT_VARIOUS_DELETE=To'lov (hisob-fakturaga tayinlanmagan) mantiqiy o'chirish +logPAYMENT_ADD_TO_BANK=To'lov bankka qo'shildi +logPAYMENT_CUSTOMER_CREATE=Mijozlar to'lovi yaratildi +logPAYMENT_CUSTOMER_DELETE=Mijozlar to'lovlarini mantiqiy o'chirish +logDONATION_PAYMENT_CREATE=Xayriya to'lovi yaratildi +logDONATION_PAYMENT_DELETE=Xayriya to'lovini mantiqiy o'chirish +logBILL_PAYED=Mijozlarning hisob-fakturasi to'landi +logBILL_UNPAYED=Mijozlarning hisob-fakturasi to'lanmagan +logBILL_VALIDATE=Mijozlarning hisob-fakturasi tasdiqlangan +logBILL_SENTBYMAIL=Mijozlarning hisob-fakturasini pochta orqali yuborish +logBILL_DELETE=Mijozlarning hisob-kitobi mantiqan o'chirildi +logMODULE_RESET=BlockedLog moduli o'chirilgan +logMODULE_SET=BlockedLog moduli yoqildi +logDON_VALIDATE=Xayriya tasdiqlandi +logDON_MODIFY=Xayriya tahrirlangan +logDON_DELETE=Xayriyani mantiqiy o'chirish +logMEMBER_SUBSCRIPTION_CREATE=Ro'yxatdan obuna yaratildi +logMEMBER_SUBSCRIPTION_MODIFY=A'zo obunasi o'zgartirildi +logMEMBER_SUBSCRIPTION_DELETE=Ro'yxatdan obuna mantiqiy o'chirish +logCASHCONTROL_VALIDATE=Yopiq kassa yozuvlari +BlockedLogBillDownload=Mijozlarning hisob-fakturasini yuklab olish +BlockedLogBillPreview=Xaridorlarning hisob-fakturasini oldindan ko'rish +BlockedlogInfoDialog=Jurnal ma'lumotlari +ListOfTrackedEvents=Kuzatilgan voqealar ro'yxati +Fingerprint=Barmoq izi +DownloadLogCSV=Arxivlangan jurnallarni eksport qilish (CSV) +logDOC_PREVIEW=Bosib chiqarish yoki yuklab olish uchun tasdiqlangan hujjatni oldindan ko'rish +logDOC_DOWNLOAD=Bosib chiqarish yoki yuborish uchun tasdiqlangan hujjatni yuklab olish +DataOfArchivedEvent=Arxivlangan tadbirning to'liq ma'lumotlari +ImpossibleToReloadObject=Asl ob'ekt (%s yozing, id %s) bog'lanmagan (o'zgartirilmaydigan saqlangan ma'lumotlarni olish uchun 'To'liq ma'lumotlar' ustuniga qarang) +BlockedLogAreRequiredByYourCountryLegislation=O'zgarmas jurnallar moduli mamlakatingiz qonunchiligida talab qilinishi mumkin. Ushbu modulni o'chirib qo'yish kelajakdagi har qanday operatsiyalarni qonun va huquqiy dasturiy ta'minotdan foydalanishga yaroqsiz holga keltirishi mumkin, chunki ularni soliq tekshiruvi tasdiqlashi mumkin emas. +BlockedLogActivatedBecauseRequiredByYourCountryLegislation=O'zgarmas jurnallar moduli sizning mamlakatingiz qonunchiligi tufayli faollashtirildi. Ushbu modulni o'chirib qo'yish kelajakdagi har qanday operatsiyalarni qonunchilikka va huquqiy dasturiy ta'minotdan foydalanishga yaroqsiz holga keltirishi mumkin, chunki ular soliq tekshiruvi tomonidan tasdiqlanishi mumkin emas. +BlockedLogDisableNotAllowedForCountry=Ushbu moduldan foydalanish majburiy bo'lgan mamlakatlar ro'yxati (modulni xato bilan o'chirib qo'ymaslik uchun, agar sizning mamlakatingiz ushbu ro'yxatda bo'lsa, avval ushbu ro'yxatni tahrir qilmasdan modulni o'chirib qo'yish mumkin emas. Shuni ham unutmangki, ushbu modulni yoqish / o'chirish o'zgarmas jurnalga kuzatib boring). +OnlyNonValid=Yaroqsiz +TooManyRecordToScanRestrictFilters=Skanerlash / tahlil qilish uchun juda ko'p yozuvlar. Iltimos, cheklovli filtrlar bilan ro'yxatni cheklang. +RestrictYearToExport=Eksport qilish uchun oyni / yilni cheklang diff --git a/htdocs/langs/uz_UZ/bookmarks.lang b/htdocs/langs/uz_UZ/bookmarks.lang index 9d2003f34d3..bf4c65210ff 100644 --- a/htdocs/langs/uz_UZ/bookmarks.lang +++ b/htdocs/langs/uz_UZ/bookmarks.lang @@ -1,20 +1,21 @@ # Dolibarr language file - Source file is en_US - marque pages -AddThisPageToBookmarks=Add current page to bookmarks -Bookmark=Bookmark -Bookmarks=Bookmarks -ListOfBookmarks=List of bookmarks -EditBookmarks=List/edit bookmarks -NewBookmark=New bookmark -ShowBookmark=Show bookmark -OpenANewWindow=Open a new window -ReplaceWindow=Replace current window -BookmarkTargetNewWindowShort=New window -BookmarkTargetReplaceWindowShort=Current window -BookmarkTitle=Bookmark title -UrlOrLink=URL -BehaviourOnClick=Behaviour when a bookmark URL is selected -CreateBookmark=Create bookmark -SetHereATitleForLink=Set a title for the bookmark -UseAnExternalHttpLinkOrRelativeDolibarrLink=Use an external http URL or a relative Dolibarr URL -ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if linked page must open in new window or not -BookmarksManagement=Bookmarks management +AddThisPageToBookmarks=Xatcho'plarga joriy sahifani qo'shing +Bookmark=Xatcho'p +Bookmarks=Xatcho'plar +ListOfBookmarks=Xatcho'plar ro'yxati +EditBookmarks=Xatcho'plarni ro'yxatlash / tahrirlash +NewBookmark=Yangi xatcho'p +ShowBookmark=Xatcho'pni ko'rsatish +OpenANewWindow=Yangi yorliqni oching +ReplaceWindow=Joriy yorliqni almashtirish +BookmarkTargetNewWindowShort=Yangi yorliq +BookmarkTargetReplaceWindowShort=Joriy yorliq +BookmarkTitle=Xatcho'p nomi +UrlOrLink=URL manzili +BehaviourOnClick=Xatcho'p URL manzili tanlanganida o'zini tutishi +CreateBookmark=Xatcho'p yarating +SetHereATitleForLink=Xatcho'p uchun nom o'rnating +UseAnExternalHttpLinkOrRelativeDolibarrLink=Tashqi / mutlaq havoladan (https: // URL) yoki ichki / nisbiy havoladan foydalaning (/ DOLIBARR_ROOT / htdocs / ...) +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Bog'langan sahifa joriy yorliqda yoki yangi yorliqda ochilishini tanlang +BookmarksManagement=Xatcho'plarni boshqarish +BookmarksMenuShortCut=Ctrl + shift + m diff --git a/htdocs/langs/uz_UZ/boxes.lang b/htdocs/langs/uz_UZ/boxes.lang index 0c9ea302fb8..7e4ed8cbf8a 100644 --- a/htdocs/langs/uz_UZ/boxes.lang +++ b/htdocs/langs/uz_UZ/boxes.lang @@ -1,120 +1,120 @@ # Dolibarr language file - Source file is en_US - boxes -BoxDolibarrStateBoard=Statistics on main business objects in database -BoxLoginInformation=Login Information -BoxLastRssInfos=RSS Information -BoxLastProducts=Latest %s Products/Services -BoxProductsAlertStock=Stock alerts for products -BoxLastProductsInContract=Latest %s contracted products/services -BoxLastSupplierBills=Latest Vendor invoices -BoxLastCustomerBills=Latest Customer invoices -BoxOldestUnpaidCustomerBills=Oldest unpaid customer invoices -BoxOldestUnpaidSupplierBills=Oldest unpaid vendor invoices -BoxLastProposals=Latest commercial proposals -BoxLastProspects=Latest modified prospects -BoxLastCustomers=Latest modified customers -BoxLastSuppliers=Latest modified suppliers -BoxLastCustomerOrders=Latest sales orders -BoxLastActions=Latest actions -BoxLastContracts=Latest contracts -BoxLastContacts=Latest contacts/addresses -BoxLastMembers=Latest members -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions -BoxFicheInter=Latest interventions -BoxCurrentAccounts=Open accounts balance -BoxTitleMemberNextBirthdays=Birthdays of this month (members) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxDolibarrStateBoard=Ma'lumotlar bazasidagi asosiy biznes ob'ektlari bo'yicha statistika +BoxLoginInformation=Kirish haqida ma'lumot +BoxLastRssInfos=RSS haqida ma'lumot +BoxLastProducts=Eng so'nggi %s mahsulotlari / xizmatlari +BoxProductsAlertStock=Mahsulotlar uchun birja ogohlantirishlari +BoxLastProductsInContract=Oxirgi %s shartnomaviy mahsulot / xizmatlari +BoxLastSupplierBills=Vendorning so'nggi hisob-fakturalari +BoxLastCustomerBills=Mijozlarning so'nggi hisob-fakturalari +BoxOldestUnpaidCustomerBills=Xaridorlarning eng qadimgi to'lanmagan hisob-fakturalari +BoxOldestUnpaidSupplierBills=Eng qadimgi to'lanmagan sotuvchi hisob-fakturalari +BoxLastProposals=Oxirgi tijorat takliflari +BoxLastProspects=Oxirgi o'zgartirilgan istiqbollar +BoxLastCustomers=Eng so'nggi o'zgartirilgan mijozlar +BoxLastSuppliers=Eng so'nggi o'zgartirilgan etkazib beruvchilar +BoxLastCustomerOrders=Oxirgi savdo buyurtmalari +BoxLastActions=Oxirgi harakatlar +BoxLastContracts=Oxirgi shartnomalar +BoxLastContacts=So'nggi kontaktlar / manzillar +BoxLastMembers=Oxirgi a'zolar +BoxLastModifiedMembers=Oxirgi o'zgartirilgan a'zolar +BoxLastMembersSubscriptions=Eng so'nggi obuna obunalari +BoxFicheInter=Oxirgi tadbirlar +BoxCurrentAccounts=Hisob balansini oching +BoxTitleMemberNextBirthdays=Ushbu oyning tug'ilgan kunlari (a'zolar) +BoxTitleMembersByType=A'zolar turlari bo'yicha +BoxTitleMembersSubscriptionsByYear=A'zolar obunalari yil bo'yicha BoxTitleLastRssInfos=Latest %s news from %s -BoxTitleLastProducts=Products/Services: last %s modified -BoxTitleProductsAlertStock=Products: stock alert -BoxTitleLastSuppliers=Latest %s recorded suppliers -BoxTitleLastModifiedSuppliers=Vendors: last %s modified -BoxTitleLastModifiedCustomers=Customers: last %s modified -BoxTitleLastCustomersOrProspects=Latest %s customers or prospects -BoxTitleLastCustomerBills=Latest %s modified Customer invoices -BoxTitleLastSupplierBills=Latest %s modified Vendor invoices -BoxTitleLastModifiedProspects=Prospects: last %s modified -BoxTitleLastModifiedMembers=Latest %s members -BoxTitleLastFicheInter=Latest %s modified interventions -BoxTitleOldestUnpaidCustomerBills=Customer Invoices: oldest %s unpaid -BoxTitleOldestUnpaidSupplierBills=Vendor Invoices: oldest %s unpaid -BoxTitleCurrentAccounts=Open Accounts: balances -BoxTitleSupplierOrdersAwaitingReception=Supplier orders awaiting reception -BoxTitleLastModifiedContacts=Contacts/Addresses: last %s modified -BoxMyLastBookmarks=Bookmarks: latest %s -BoxOldestExpiredServices=Oldest active expired services -BoxLastExpiredServices=Latest %s oldest contacts with active expired services -BoxTitleLastActionsToDo=Latest %s actions to do -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified -BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded -BoxGlobalActivity=Global activity (invoices, proposals, orders) -BoxGoodCustomers=Good customers -BoxTitleGoodCustomers=%s Good customers -BoxScheduledJobs=Scheduled jobs -BoxTitleFunnelOfProspection=Lead funnel -FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s -LastRefreshDate=Latest refresh date -NoRecordedBookmarks=No bookmarks defined. -ClickToAdd=Click here to add. -NoRecordedCustomers=No recorded customers -NoRecordedContacts=No recorded contacts -NoActionsToDo=No actions to do -NoRecordedOrders=No recorded sales orders -NoRecordedProposals=No recorded proposals -NoRecordedInvoices=No recorded customer invoices -NoUnpaidCustomerBills=No unpaid customer invoices -NoUnpaidSupplierBills=No unpaid vendor invoices -NoModifiedSupplierBills=No recorded vendor invoices -NoRecordedProducts=No recorded products/services -NoRecordedProspects=No recorded prospects -NoContractedProducts=No products/services contracted -NoRecordedContracts=No recorded contracts -NoRecordedInterventions=No recorded interventions -BoxLatestSupplierOrders=Latest purchase orders -BoxLatestSupplierOrdersAwaitingReception=Latest Purchase Orders (with a pending reception) -NoSupplierOrder=No recorded purchase order -BoxCustomersInvoicesPerMonth=Customer Invoices per month -BoxSuppliersInvoicesPerMonth=Vendor Invoices per month -BoxCustomersOrdersPerMonth=Sales Orders per month -BoxSuppliersOrdersPerMonth=Vendor Orders per month -BoxProposalsPerMonth=Proposals per month -NoTooLowStockProducts=No products are under the low stock limit -BoxProductDistribution=Products/Services Distribution -ForObject=On %s -BoxTitleLastModifiedSupplierBills=Vendor Invoices: last %s modified -BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified -BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified -BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified -BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures -ForCustomersInvoices=Customers invoices -ForCustomersOrders=Customers orders -ForProposals=Proposals -LastXMonthRolling=The latest %s month rolling -ChooseBoxToAdd=Add widget to your dashboard -BoxAdded=Widget was added in your dashboard -BoxTitleUserBirthdaysOfMonth=Birthdays of this month (users) -BoxLastManualEntries=Latest record in accountancy entered manually or without source document -BoxTitleLastManualEntries=%s latest record entered manually or without source document -NoRecordedManualEntries=No manual entries record in accountancy -BoxSuspenseAccount=Count accountancy operation with suspense account -BoxTitleSuspenseAccount=Number of unallocated lines -NumberOfLinesInSuspenseAccount=Number of line in suspense account -SuspenseAccountNotDefined=Suspense account isn't defined -BoxLastCustomerShipments=Last customer shipments -BoxTitleLastCustomerShipments=Latest %s customer shipments -NoRecordedShipments=No recorded customer shipment -BoxCustomersOutstandingBillReached=Customers with oustanding limit reached +BoxTitleLastProducts=Mahsulotlar / xizmatlar: oxirgi %s o'zgartirilgan +BoxTitleProductsAlertStock=Mahsulotlar: aktsiyalar to'g'risida ogohlantirish +BoxTitleLastSuppliers=Oxirgi %s ta'minotchilari qayd etilgan +BoxTitleLastModifiedSuppliers=Sotuvchilar: oxirgi %s o'zgartirilgan +BoxTitleLastModifiedCustomers=Mijozlar: oxirgi %s o'zgartirilgan +BoxTitleLastCustomersOrProspects=Oxirgi %s mijozlari yoki istiqbollari +BoxTitleLastCustomerBills=Oxirgi %s o'zgartirilgan mijozlar hisob-fakturalari +BoxTitleLastSupplierBills=Eng so'nggi %s sotuvchisi schyot-fakturalari +BoxTitleLastModifiedProspects=Istiqbollari: oxirgi %s o'zgartirilgan +BoxTitleLastModifiedMembers=Eng so'nggi %s a'zolari +BoxTitleLastFicheInter=Oxirgi %s o'zgartirilgan aralashuvlar +BoxTitleOldestUnpaidCustomerBills=Mijozlarning hisob-fakturalari: eng qadimgi %s to'lanmagan +BoxTitleOldestUnpaidSupplierBills=Sotuvchi fakturalari: eng qadimgi %s to'lanmagan +BoxTitleCurrentAccounts=Ochiq hisoblar: qoldiqlar +BoxTitleSupplierOrdersAwaitingReception=Qabul qilishni kutayotgan etkazib beruvchilar buyurtmalari +BoxTitleLastModifiedContacts=Aloqa / manzillar: oxirgi marta o'zgartirilgan %s +BoxMyLastBookmarks=Xatcho'plar: so'nggi %s +BoxOldestExpiredServices=Muddati tugagan eng qadimgi faol xizmatlar +BoxLastExpiredServices=Faol muddati o'tgan xizmatlar bilan eng so'nggi %s eng eski aloqalar +BoxTitleLastActionsToDo=Oxirgi %s amallari +BoxTitleLastContracts=O'zgartirilgan so'nggi %s shartnomalari +BoxTitleLastModifiedDonations=O'zgartirilgan so'nggi %s xayriya mablag'lari +BoxTitleLastModifiedExpenses=Oxirgi %s xarajatlar hisoboti o'zgartirildi +BoxTitleLatestModifiedBoms=O'zgartirilgan so'nggi %s BOM-lar +BoxTitleLatestModifiedMos=O'zgartirilgan so'nggi %s ishlab chiqarish buyurtmalari +BoxTitleLastOutstandingBillReached=Eng yuqori darajadagi mijozlar oshib ketdi +BoxGlobalActivity=Global faoliyat (hisob-fakturalar, takliflar, buyurtmalar) +BoxGoodCustomers=Yaxshi mijozlar +BoxTitleGoodCustomers=%s Yaxshi mijozlar +BoxScheduledJobs=Rejalashtirilgan ish joylari +BoxTitleFunnelOfProspection=Qo'rg'oshin huni +FailedToRefreshDataInfoNotUpToDate=RSS oqimini yangilab bo'lmadi. Oxirgi muvaffaqiyatli yangilanish sanasi: %s +LastRefreshDate=Oxirgi yangilanish sanasi +NoRecordedBookmarks=Xatcho'plar aniqlanmagan. +ClickToAdd=Qo'shish uchun shu erni bosing. +NoRecordedCustomers=Ro'yxatdan o'tgan mijozlar yo'q +NoRecordedContacts=Yozilgan kontaktlar yo'q +NoActionsToDo=Amalga oshiriladigan harakatlar yo'q +NoRecordedOrders=Sotish bo'yicha yozilgan buyurtmalar yo'q +NoRecordedProposals=Yozilgan takliflar yo'q +NoRecordedInvoices=Mijozlarning qayd qilingan schyot-fakturalari yo'q +NoUnpaidCustomerBills=Mijozlarning to'lanmagan schyot-fakturalari yo'q +NoUnpaidSupplierBills=To'lovsiz sotuvchilarning hisob-fakturalari yo'q +NoModifiedSupplierBills=Sotuvchi tomonidan qayd qilingan schyot-fakturalar yo‘q +NoRecordedProducts=Yozilgan mahsulotlar / xizmatlar yo'q +NoRecordedProspects=Ro'yxatga olingan istiqbollar yo'q +NoContractedProducts=Hech qanday mahsulot / xizmat bilan shartnoma tuzilmagan +NoRecordedContracts=Yozilgan shartnomalar yo'q +NoRecordedInterventions=Yozilgan aralashuvlar yo'q +BoxLatestSupplierOrders=Oxirgi sotib olish buyurtmalari +BoxLatestSupplierOrdersAwaitingReception=Sotib olish bo'yicha so'nggi buyurtmalar (kutish kutilayotgan holda) +NoSupplierOrder=Sotib olish to'g'risida yozilgan buyurtma yo'q +BoxCustomersInvoicesPerMonth=Mijozlarning oyiga hisob-fakturalari +BoxSuppliersInvoicesPerMonth=Oyiga sotuvchi fakturalar +BoxCustomersOrdersPerMonth=Oyiga sotish bo'yicha buyurtmalar +BoxSuppliersOrdersPerMonth=Oyiga sotuvchi buyurtmalari +BoxProposalsPerMonth=Oyiga takliflar +NoTooLowStockProducts=Hech qanday mahsulot past stok cheklovida emas +BoxProductDistribution=Mahsulotlar / xizmatlarni tarqatish +ForObject=%s da +BoxTitleLastModifiedSupplierBills=Sotuvchi hisob-fakturalari: oxirgi %s o'zgartirilgan +BoxTitleLatestModifiedSupplierOrders=Sotuvchi buyurtmalari: oxirgi %s o'zgartirilgan +BoxTitleLastModifiedCustomerBills=Mijozlarning hisob-fakturalari: oxirgi %s o'zgartirilgan +BoxTitleLastModifiedCustomerOrders=Sotish bo'yicha buyurtmalar: oxirgi %s o'zgartirilgan +BoxTitleLastModifiedPropals=Oxirgi %s o'zgartirilgan takliflar +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications +ForCustomersInvoices=Mijozlarning hisob-fakturalari +ForCustomersOrders=Mijozlar buyurtma berishadi +ForProposals=Takliflar +LastXMonthRolling=%s oylik eng so'nggi oylik +ChooseBoxToAdd=Vidjetni boshqaruv panelingizga qo'shing +BoxAdded=Vidjet sizning boshqaruv panelingizga qo'shildi +BoxTitleUserBirthdaysOfMonth=Ushbu oyning tug'ilgan kunlari (foydalanuvchilar) +BoxLastManualEntries=Buxgalteriya hisobidagi so'nggi yozuv qo'lda yoki dastlabki hujjatsiz kiritilgan +BoxTitleLastManualEntries=%s eng so'nggi yozuv qo'lda yoki manba hujjatsiz kiritilgan +NoRecordedManualEntries=Buxgalteriyada qo'lda yozuvlar yozilmagan +BoxSuspenseAccount=Buxgalteriya hisobini to'xtatib qo'yilgan hisob bilan hisoblash +BoxTitleSuspenseAccount=Ajratilmagan chiziqlar soni +NumberOfLinesInSuspenseAccount=To'xtatilgan hisobdagi satr soni +SuspenseAccountNotDefined=To'xtatilgan hisob qaydnomasi aniqlanmadi +BoxLastCustomerShipments=Mijozlarning so'nggi jo'natmalari +BoxTitleLastCustomerShipments=%s mijozlarining so'nggi jo'natmalari +NoRecordedShipments=Mijozlarni ro'yxatdan o'tkazish bo'yicha ro'yxatdan o'tkazilmagan +BoxCustomersOutstandingBillReached=Ostanding limitiga ega mijozlar yetib kelishdi # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy -ValidatedProjects=Validated projects +UsersHome=Uy foydalanuvchilari va guruhlari +MembersHome=Uyga a'zolik +ThirdpartiesHome=Uyning uchinchi tomonlari +TicketsHome=Uy chiptalari +AccountancyHome=Uy hisobi +ValidatedProjects=Tasdiqlangan loyihalar diff --git a/htdocs/langs/uz_UZ/cashdesk.lang b/htdocs/langs/uz_UZ/cashdesk.lang index 240503842f3..2a590a78f16 100644 --- a/htdocs/langs/uz_UZ/cashdesk.lang +++ b/htdocs/langs/uz_UZ/cashdesk.lang @@ -1,130 +1,131 @@ # Language file - Source file is en_US - cashdesk -CashDeskMenu=Point of sale -CashDesk=Point of sale -CashDeskBankCash=Bank account (cash) -CashDeskBankCB=Bank account (card) -CashDeskBankCheque=Bank account (cheque) -CashDeskWarehouse=Warehouse -CashdeskShowServices=Selling services -CashDeskProducts=Products -CashDeskStock=Stock -CashDeskOn=on -CashDeskThirdParty=Third party -ShoppingCart=Shopping cart -NewSell=New sell -AddThisArticle=Add this article -RestartSelling=Go back on sell -SellFinished=Sale complete -PrintTicket=Print ticket -SendTicket=Send ticket -NoProductFound=No article found -ProductFound=product found -NoArticle=No article -Identification=Identification -Article=Article -Difference=Difference -TotalTicket=Total ticket -NoVAT=No VAT for this sale -Change=Excess received -BankToPay=Account for payment -ShowCompany=Show company -ShowStock=Show warehouse -DeleteArticle=Click to remove this article -FilterRefOrLabelOrBC=Search (Ref/Label) -UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock. -DolibarrReceiptPrinter=Dolibarr Receipt Printer -PointOfSale=Point of Sale +CashDeskMenu=Savdo nuqtasi +CashDesk=Savdo nuqtasi +CashDeskBankCash=Bank hisobvarag'i (naqd pul) +CashDeskBankCB=Bank hisobvarag'i (karta) +CashDeskBankCheque=Bank hisobvarag'i (chek) +CashDeskWarehouse=Ombor +CashdeskShowServices=Sotish bo'yicha xizmatlar +CashDeskProducts=Mahsulotlar +CashDeskStock=Aksiya +CashDeskOn=kuni +CashDeskThirdParty=Uchinchi tomon +ShoppingCart=Xarid savati +NewSell=Yangi sotuv +AddThisArticle=Ushbu maqolani qo'shing +RestartSelling=Sotishga qaytib boring +SellFinished=Sotish yakunlandi +PrintTicket=Chiptani chop eting +SendTicket=Chipta yuboring +NoProductFound=Maqola topilmadi +ProductFound=mahsulot topildi +NoArticle=Maqola yo'q +Identification=Identifikatsiya +Article=Maqola +Difference=Farqi +TotalTicket=Jami chipta +NoVAT=Ushbu sotish uchun QQS yo'q +Change=Ortiqcha olingan +BankToPay=To'lov uchun hisob +ShowCompany=Shou kompaniyasi +ShowStock=Omborni ko'rsatish +DeleteArticle=Ushbu maqolani olib tashlash uchun bosing +FilterRefOrLabelOrBC=Qidiruv (Ref / Yorliq) +UserNeedPermissionToEditStockToUsePos=Hisob-fakturani yaratishda zaxiralarni kamaytirishni so'raysiz, shuning uchun POS-dan foydalanuvchi aktsiyalarni tahrirlash uchun ruxsatga ega bo'lishi kerak. +DolibarrReceiptPrinter=Dolibarr qabul qilish printeri +PointOfSale=Savdo punkti PointOfSaleShort=POS -CloseBill=Close Bill -Floors=Floors -Floor=Floor -AddTable=Add table -Place=Place -TakeposConnectorNecesary='TakePOS Connector' required -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: -SearchProduct=Search product -Receipt=Receipt -Header=Header -Footer=Footer -AmountAtEndOfPeriod=Amount at end of period (day, month or year) -TheoricalAmount=Theorical amount -RealAmount=Real amount -CashFence=Cash desk closing -CashFenceDone=Cash desk closing done for the period -NbOfInvoices=Nb of invoices -Paymentnumpad=Type of Pad to enter payment +CloseBill=Billni yoping +Floors=Qavatlar +Floor=Qavat +AddTable=Jadval qo'shish +Place=Joy +TakeposConnectorNecesary='TakePOS ulagichi' talab qilinadi +OrderPrinters=Buyurtmani ba'zi bir printerlarga to'lashsiz yuborish uchun tugmani qo'shing (masalan, buyurtmani oshxonaga yuborish uchun) +NotAvailableWithBrowserPrinter=Qabul qilish uchun printer brauzerga o'rnatilganda mavjud emas: +SearchProduct=Mahsulotni qidirish +Receipt=Qabul qilish +Header=Sarlavha +Footer=Altbilgi +AmountAtEndOfPeriod=Davr oxiridagi summa (kun, oy yoki yil) +TheoricalAmount=Nazariy miqdor +RealAmount=Haqiqiy miqdor +CashFence=Kassa yopilmoqda +CashFenceDone=Ushbu davr uchun kassa yopilishi amalga oshirildi +NbOfInvoices=Nb-fakturalar +Paymentnumpad=To'lovni kiritish uchun maydonchaning turi Numberspad=Numbers Pad -BillsCoinsPad=Coins and banknotes Pad -DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items -CashDeskBankAccountFor=Default account to use for payments in -NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets|receipts -AutoPrintTickets=Automatically print tickets|receipts -PrintCustomerOnReceipts=Print customer on tickets|receipts -EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant -ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? -ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? -History=History -ValidateAndClose=Validate and close +BillsCoinsPad=Tangalar va banknotalar Pad +DolistorePosCategory=Dolibarr uchun TakePOS modullari va boshqa POS echimlari +TakeposNeedsCategories=TakePOS-da ishlash uchun kamida bitta mahsulot turkumi kerak +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS-ga %s toifasida kamida 1 ta mahsulot toifasi kerak. +OrderNotes=Har bir buyurtma qilingan narsalarga bir nechta eslatmalarni qo'shishi mumkin +CashDeskBankAccountFor=To'lovlar uchun foydalaniladigan standart hisob +NoPaimementModesDefined=TakePOS konfiguratsiyasida paiment rejimi aniqlanmagan +TicketVatGrouped=QQS chiptalar bo'yicha stavkalar bo'yicha guruhlangan | tushumlar +AutoPrintTickets=Chiptalarni avtomatik ravishda bosib chiqarish | kvitansiyalar +PrintCustomerOnReceipts=Mijozni chiptalarga chop etish | kvitansiyalar +EnableBarOrRestaurantFeatures=Bar yoki restoran uchun xususiyatlarni yoqish +ConfirmDeletionOfThisPOSSale=Ushbu joriy savdo o'chirilishini tasdiqlaysizmi? +ConfirmDiscardOfThisPOSSale=Ushbu sotuvni bekor qilmoqchimisiz? +History=Tarix +ValidateAndClose=Tasdiqlang va yoping Terminal=Terminal -NumberOfTerminals=Number of Terminals -TerminalSelect=Select terminal you want to use: -POSTicket=POS Ticket -POSTerminal=POS Terminal -POSModule=POS Module -BasicPhoneLayout=Use basic layout for phones -SetupOfTerminalNotComplete=Setup of terminal %s is not complete -DirectPayment=Direct payment -DirectPaymentButton=Add a "Direct cash payment" button -InvoiceIsAlreadyValidated=Invoice is already validated -NoLinesToBill=No lines to bill -CustomReceipt=Custom Receipt -ReceiptName=Receipt Name -ProductSupplements=Manage supplements of products -SupplementCategory=Supplement category -ColorTheme=Color theme -Colorful=Colorful -HeadBar=Head Bar -SortProductField=Field for sorting products -Browser=Browser -BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. -PrintMethod=Print method -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). -ByTerminal=By terminal -TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad -CashDeskRefNumberingModules=Numbering module for POS sales -CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal number -TakeposGroupSameProduct=Group same products lines -StartAParallelSale=Start a new parallel sale -SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS -CloseCashFence=Close cash desk control -CashReport=Cash report -MainPrinterToUse=Main printer to use -OrderPrinterToUse=Order printer to use -MainTemplateToUse=Main template to use -OrderTemplateToUse=Order template to use -BarRestaurant=Bar Restaurant -AutoOrder=Order by the customer himself -RestaurantMenu=Menu -CustomerMenu=Customer menu -ScanToMenu=Scan QR code to see the menu -ScanToOrder=Scan QR code to order -Appearance=Appearance -HideCategoryImages=Hide Category Images -HideProductImages=Hide Product Images -NumberOfLinesToShow=Number of lines of images to show -DefineTablePlan=Define tables plan -GiftReceiptButton=Add a "Gift receipt" button -GiftReceipt=Gift receipt -ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first -AllowDelayedPayment=Allow delayed payment -PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts -WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +NumberOfTerminals=Terminallar soni +TerminalSelect=Siz foydalanmoqchi bo'lgan terminalni tanlang: +POSTicket=POS chiptasi +POSTerminal=POS terminali +POSModule=POS moduli +BasicPhoneLayout=Telefonlar uchun asosiy tartibdan foydalaning +SetupOfTerminalNotComplete=%s terminalini sozlash tugallanmagan +DirectPayment=To'g'ridan-to'g'ri to'lov +DirectPaymentButton="To'g'ridan-to'g'ri naqd to'lov" tugmachasini qo'shing +InvoiceIsAlreadyValidated=Hisob-faktura allaqachon tasdiqlangan +NoLinesToBill=Hisob-kitob qilish uchun chiziqlar yo'q +CustomReceipt=Maxsus kvitansiya +ReceiptName=Kvitansiya nomi +ProductSupplements=Mahsulot qo'shimchalarini boshqaring +SupplementCategory=Qo'shimcha toifasi +ColorTheme=Rang mavzusi +Colorful=Rangli +HeadBar=Bosh bar +SortProductField=Mahsulotlarni saralash uchun maydon +Browser=Brauzer +BrowserMethodDescription=Oddiy va oson kvitansiyani bosib chiqarish. Kvitansiyani sozlash uchun faqat bir nechta parametrlar. Brauzer orqali chop etish. +TakeposConnectorMethodDescription=Qo'shimcha funktsiyalarga ega tashqi modul. Bulutdan chop etish uchun qulaylik. +PrintMethod=Bosib chiqarish usuli +ReceiptPrinterMethodDescription=Ko'p parametrlarga ega kuchli usul. Shablonlar bilan to'liq moslashtiriladi. Ilovani joylashtiruvchi server Bulutda bo'lishi mumkin emas (tarmoqdagi printerlarga etib borishi kerak). +ByTerminal=Terminal orqali +TakeposNumpadUsePaymentIcon=Numpad-ning to'lov tugmachalarida matn o'rniga belgini ishlating +CashDeskRefNumberingModules=POS sotish uchun raqamlash moduli +CashDeskGenericMaskCodes6 =
    {TN} yorlig'i terminal raqamini qo'shish uchun ishlatiladi +TakeposGroupSameProduct=Bir xil mahsulot qatorlarini guruhlang +StartAParallelSale=Yangi parallel sotuvni boshlang +SaleStartedAt=Savdo %s da boshlandi +ControlCashOpening=POS-ni ochishda "Naqd pulni boshqarish" popupini oching +CloseCashFence=Kassa boshqaruvini yoping +CashReport=Naqd hisobot +MainPrinterToUse=Foydalanadigan asosiy printer +OrderPrinterToUse=Printerdan foydalanishga buyurtma bering +MainTemplateToUse=Foydalanish uchun asosiy shablon +OrderTemplateToUse=Foydalanish uchun shablonni buyurtma qiling +BarRestaurant=Bar restorani +AutoOrder=Buyurtmachining o'zi buyurtma qiladi +RestaurantMenu=Menyu +CustomerMenu=Mijozlar menyusi +ScanToMenu=Menyuni ko'rish uchun QR kodini skanerlang +ScanToOrder=Buyurtma uchun QR kodni skanerlang +Appearance=Tashqi ko'rinishi +HideCategoryImages=Turkum rasmlarini yashirish +HideProductImages=Mahsulot rasmlarini yashirish +NumberOfLinesToShow=Ko'rsatiladigan rasmlarning soni +DefineTablePlan=Jadvallar rejasini aniqlang +GiftReceiptButton="Sovg'a kvitansiyasi" tugmachasini qo'shing +GiftReceipt=Sovg'a kvitansiyasi +ModuleReceiptPrinterMustBeEnabled=Avval modulni qabul qilish printeri yoqilgan bo'lishi kerak +AllowDelayedPayment=Kechiktirilgan to'lovga ruxsat berish +PrintPaymentMethodOnReceipts=To'lov usulini chiptalarga chop eting | kvitansiyalar +WeighingScale=Tarozi o'lchovi +ShowPriceHT = Ustunni narxni soliqsiz hisobga olgan holda ko'rsatish (ekranda) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/uz_UZ/categories.lang b/htdocs/langs/uz_UZ/categories.lang index 29e08f66541..b6640ad20fb 100644 --- a/htdocs/langs/uz_UZ/categories.lang +++ b/htdocs/langs/uz_UZ/categories.lang @@ -1,99 +1,99 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -RubriquesTransactions=Tags/Categories of transactions -categories=tags/categories -NoCategoryYet=No tag/category of this type has been created -In=In -AddIn=Add in -modify=modify -Classify=Classify -CategoriesArea=Tags/Categories area -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area -SubCats=Sub-categories -CatList=List of tags/categories -CatListAll=List of tags/categories (all types) -NewCategory=New tag/category -ModifCat=Modify tag/category -CatCreated=Tag/category created -CreateCat=Create tag/category -CreateThisCat=Create this tag/category -NoSubCat=No subcategory. -SubCatOf=Subcategory -FoundCats=Found tags/categories -ImpossibleAddCat=Impossible to add the tag/category %s -WasAddedSuccessfully=%s was added successfully. -ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -ProductIsInCategories=Product/service is linked to following tags/categories -CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party is linked to following vendors tags/categories -MemberIsInCategories=This member is linked to following members tags/categories -ContactIsInCategories=This contact is linked to following contacts tags/categories -ProductHasNoCategory=This product/service is not in any tags/categories -CompanyHasNoCategory=This third party is not in any tags/categories -MemberHasNoCategory=This member is not in any tags/categories -ContactHasNoCategory=This contact is not in any tags/categories -ProjectHasNoCategory=This project is not in any tags/categories -ClassifyInCategory=Add to tag/category -NotCategorized=Without tag/category -CategoryExistsAtSameLevel=This category already exists with this ref -ContentsVisibleByAllShort=Contents visible by all -ContentsNotVisibleByAllShort=Contents not visible by all -DeleteCategory=Delete tag/category -ConfirmDeleteCategory=Are you sure you want to delete this tag/category? -NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Vendors tag/category -CustomersCategoryShort=Customers tag/category -ProductsCategoryShort=Products tag/category -MembersCategoryShort=Members tag/category -SuppliersCategoriesShort=Vendors tags/categories -CustomersCategoriesShort=Customers tags/categories -ProspectsCategoriesShort=Prospects tags/categories -CustomersProspectsCategoriesShort=Cust./Prosp. tags/categories -ProductsCategoriesShort=Products tags/categories -MembersCategoriesShort=Members tags/categories -ContactCategoriesShort=Contacts tags/categories -AccountsCategoriesShort=Accounts tags/categories -ProjectsCategoriesShort=Projects tags/categories -UsersCategoriesShort=Users tags/categories -StockCategoriesShort=Warehouse tags/categories -ThisCategoryHasNoItems=This category does not contain any items. -CategId=Tag/category id -ParentCategory=Parent tag/category -ParentCategoryLabel=Label of parent tag/category -CatSupList=List of vendors tags/categories -CatCusList=List of customers/prospects tags/categories -CatProdList=List of products tags/categories -CatMemberList=List of members tags/categories -CatContactList=List of contacts tags/categories -CatProjectsList=List of projects tags/categories -CatUsersList=List of users tags/categories -CatSupLinks=Links between vendors and tags/categories -CatCusLinks=Links between customers/prospects and tags/categories -CatContactsLinks=Links between contacts/addresses and tags/categories -CatProdLinks=Links between products/services and tags/categories -CatMembersLinks=Links between members and tags/categories -CatProjectsLinks=Links between projects and tags/categories -CatUsersLinks=Links between users and tags/categories -DeleteFromCat=Remove from tags/category -ExtraFieldsCategories=Complementary attributes -CategoriesSetup=Tags/categories setup -CategorieRecursiv=Link with parent tag/category automatically -CategorieRecursivHelp=If option is on, when you add a product into a subcategory, product will also be added into the parent category. -AddProductServiceIntoCategory=Add the following product/service -AddCustomerIntoCategory=Assign category to customer -AddSupplierIntoCategory=Assign category to supplier -ShowCategory=Show tag/category -ByDefaultInList=By default in list -ChooseCategory=Choose category -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories -WebsitePagesCategoriesArea=Page-Container Categories -UseOrOperatorForCategories=Use 'OR' operator for categories +Rubrique=Tag / toifali +Rubriques=Teglar / toifalar +RubriquesTransactions=Bitimlar teglari / toifalari +categories=teglar / toifalar +NoCategoryYet=Ushbu turdagi yorliq / toifalar yaratilmagan +In=Yilda +AddIn=Qo'shish +modify=o'zgartirish +Classify=Tasniflang +CategoriesArea=Teglar / toifalar maydoni +ProductsCategoriesArea=Mahsulot / xizmat teglari / toifalar maydoni +SuppliersCategoriesArea=Sotuvchi teglari / toifalari maydoni +CustomersCategoriesArea=Mijozlar teglari / toifalari maydoni +MembersCategoriesArea=Ro'yxatdan teglar / toifalar maydoni +ContactsCategoriesArea=Aloqa teglari / toifalari maydoni +AccountsCategoriesArea=Bank hisobvarag'i teglari / toifalari maydoni +ProjectsCategoriesArea=Loyiha teglari / toifalari maydoni +UsersCategoriesArea=Foydalanuvchi teglari / toifalari maydoni +SubCats=Kichik toifalar +CatList=Teglar / toifalar ro'yxati +CatListAll=Teglar / toifalar ro'yxati (barcha turlari) +NewCategory=Yangi teg / turkum +ModifCat=Teg / toifani o'zgartiring +CatCreated=Tag / kategoriya yaratildi +CreateCat=Teg / toifani yarating +CreateThisCat=Ushbu teg / toifani yarating +NoSubCat=Subkategori yo'q. +SubCatOf=Subkategory +FoundCats=Topilgan teglar / toifalar +ImpossibleAddCat=%s tegini / toifasini qo'shib bo'lmaydi +WasAddedSuccessfully= %s muvaffaqiyatli qo'shildi. +ObjectAlreadyLinkedToCategory=Element allaqachon ushbu teg / toifaga bog'langan. +ProductIsInCategories=Mahsulot / xizmat quyidagi teglar / toifalarga bog'langan +CompanyIsInCustomersCategories=Ushbu uchinchi tomon quyidagi mijozlar / istiqbolli teglar / toifalar bilan bog'liq +CompanyIsInSuppliersCategories=Ushbu uchinchi tomon quyidagi sotuvchilar teglari / toifalari bilan bog'langan +MemberIsInCategories=Ushbu a'zo quyidagi a'zolarga teglar / toifalarga bog'langan +ContactIsInCategories=Ushbu kontakt quyidagi teglar / toifalarga bog'langan +ProductHasNoCategory=Ushbu mahsulot / xizmat biron bir teg / toifada emas +CompanyHasNoCategory=Ushbu uchinchi tomon hech qanday teg / toifada emas +MemberHasNoCategory=Ushbu a'zo hech qanday teg / toifada emas +ContactHasNoCategory=Ushbu aloqa hech qanday teg / toifada emas +ProjectHasNoCategory=Ushbu loyiha biron bir teg / toifada emas +ClassifyInCategory=Tag / toifaga qo'shish +NotCategorized=Tag / toifasiz +CategoryExistsAtSameLevel=Ushbu turkum ushbu havola bilan allaqachon mavjud +ContentsVisibleByAllShort=Hamma ko'rinadigan tarkib +ContentsNotVisibleByAllShort=Tarkibi hammaga ko'rinmaydi +DeleteCategory=Teg / toifani o'chirish +ConfirmDeleteCategory=Ushbu yorliqni / toifani o'chirishni xohlaysizmi? +NoCategoriesDefined=Hech qanday teg / toifa aniqlanmagan +SuppliersCategoryShort=Sotuvchilar yorlig'i / toifasi +CustomersCategoryShort=Mijozlar yorlig'i / toifasi +ProductsCategoryShort=Mahsulotlar yorlig'i / toifasi +MembersCategoryShort=A'zolar yorlig'i / toifasi +SuppliersCategoriesShort=Sotuvchilar teglari / toifalari +CustomersCategoriesShort=Mijozlar teglari / toifalari +ProspectsCategoriesShort=Teglarni / toifalarni istiqbollari +CustomersProspectsCategoriesShort=Saqlash ./Prosp. teglar / toifalar +ProductsCategoriesShort=Mahsulotlar teglari / toifalari +MembersCategoriesShort=A'zolar teglari / toifalari +ContactCategoriesShort=Aloqa teglari / toifalari +AccountsCategoriesShort=Hisob teglari / toifalari +ProjectsCategoriesShort=Loyihalar teglari / toifalari +UsersCategoriesShort=Foydalanuvchilar teglari / toifalari +StockCategoriesShort=Ombor teglari / toifalari +ThisCategoryHasNoItems=Ushbu turkumda biron bir narsa mavjud emas. +CategId=Tag / kategoriya identifikatori +ParentCategory=Ota-ona yorlig'i / toifasi +ParentCategoryLabel=Ota-ona yorlig'i / toifasi yorlig'i +CatSupList=Sotuvchilar teglari / toifalari ro'yxati +CatCusList=Mijozlar ro'yxati / istiqbollari teglari / toifalari +CatProdList=Mahsulot teglari / toifalari ro'yxati +CatMemberList=A'zolar teglari / toifalari ro'yxati +CatContactList=Kontakt teglari / toifalari ro'yxati +CatProjectsList=Loyihalar teglari / toifalari ro'yxati +CatUsersList=Foydalanuvchilar teglari / toifalari ro'yxati +CatSupLinks=Sotuvchilar va teglar / toifalar o'rtasidagi aloqalar +CatCusLinks=Mijozlar / istiqbollar va teglar / toifalar o'rtasidagi aloqalar +CatContactsLinks=Kontaktlar / manzillar va teglar / toifalar o'rtasidagi aloqalar +CatProdLinks=Mahsulotlar / xizmatlar va teglar / toifalar o'rtasidagi aloqalar +CatMembersLinks=A'zolar va teglar / toifalar o'rtasidagi aloqalar +CatProjectsLinks=Loyihalar va teglar / toifalar o'rtasidagi aloqalar +CatUsersLinks=Foydalanuvchilar va teglar / toifalar o'rtasidagi aloqalar +DeleteFromCat=Teglardan / toifadan olib tashlash +ExtraFieldsCategories=Bir-birini to'ldiruvchi atributlar +CategoriesSetup=Teglar / toifalarni sozlash +CategorieRecursiv=Ota-ona yorlig'i / toifasi bilan avtomatik ravishda bog'lanish +CategorieRecursivHelp=Agar parametr yoniq bo'lsa, mahsulotni pastki toifaga qo'shganda, mahsulot ota-onalar toifasiga qo'shiladi. +AddProductServiceIntoCategory=Quyidagi mahsulot / xizmatni qo'shing +AddCustomerIntoCategory=Mijozga toifani tayinlang +AddSupplierIntoCategory=Yetkazib beruvchiga toifani tayinlang +ShowCategory=Teg / toifani ko'rsatish +ByDefaultInList=Odatiy bo'lib, ro'yxatda +ChooseCategory=Toifani tanlang +StocksCategoriesArea=Ombor toifalari +ActionCommCategoriesArea=Voqealar toifalari +WebsitePagesCategoriesArea=Sahifa konteynerlari toifalari +UseOrOperatorForCategories=Kategoriyalar uchun 'OR' operatoridan foydalaning diff --git a/htdocs/langs/uz_UZ/commercial.lang b/htdocs/langs/uz_UZ/commercial.lang index 10c536e0d48..f5a79674ddc 100644 --- a/htdocs/langs/uz_UZ/commercial.lang +++ b/htdocs/langs/uz_UZ/commercial.lang @@ -1,80 +1,81 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Commerce -CommercialArea=Commerce area -Customer=Customer -Customers=Customers -Prospect=Prospect -Prospects=Prospects -DeleteAction=Delete an event -NewAction=New event -AddAction=Create event -AddAnAction=Create an event -AddActionRendezVous=Create a Rendez-vous event -ConfirmDeleteAction=Are you sure you want to delete this event? -CardAction=Event card -ActionOnCompany=Related company -ActionOnContact=Related contact -TaskRDVWith=Meeting with %s -ShowTask=Show task -ShowAction=Show event -ActionsReport=Events report -ThirdPartiesOfSaleRepresentative=Third parties with sales representative -SaleRepresentativesOfThirdParty=Sales representatives of third party -SalesRepresentative=Sales representative -SalesRepresentatives=Sales representatives -SalesRepresentativeFollowUp=Sales representative (follow-up) -SalesRepresentativeSignature=Sales representative (signature) -NoSalesRepresentativeAffected=No particular sales representative assigned -ShowCustomer=Show customer -ShowProspect=Show prospect -ListOfProspects=List of prospects -ListOfCustomers=List of customers -LastDoneTasks=Latest %s completed actions -LastActionsToDo=Oldest %s not completed actions -DoneAndToDoActions=Completed and To do events -DoneActions=Completed events -ToDoActions=Incomplete events -SendPropalRef=Submission of commercial proposal %s -SendOrderRef=Submission of order %s -StatusNotApplicable=Not applicable -StatusActionToDo=To do -StatusActionDone=Complete -StatusActionInProcess=In process -TasksHistoryForThisContact=Events for this contact -LastProspectDoNotContact=Do not contact -LastProspectNeverContacted=Never contacted -LastProspectToContact=To contact -LastProspectContactInProcess=Contact in process -LastProspectContactDone=Contact done -ActionAffectedTo=Event assigned to -ActionDoneBy=Event done by -ActionAC_TEL=Phone call -ActionAC_FAX=Send fax -ActionAC_PROP=Send proposal by mail -ActionAC_EMAIL=Send Email -ActionAC_EMAIL_IN=Reception of Email -ActionAC_RDV=Meetings -ActionAC_INT=Intervention on site -ActionAC_FAC=Send customer invoice by mail -ActionAC_REL=Send customer invoice by mail (reminder) -ActionAC_CLO=Close -ActionAC_EMAILING=Send mass email -ActionAC_COM=Send sales order by mail -ActionAC_SHIP=Send shipping by mail -ActionAC_SUP_ORD=Send purchase order by mail -ActionAC_SUP_INV=Send vendor invoice by mail -ActionAC_OTH=Other -ActionAC_OTH_AUTO=Automatically inserted events -ActionAC_MANUAL=Manually inserted events -ActionAC_AUTO=Automatically inserted events -ActionAC_OTH_AUTOShort=Auto -Stats=Sales statistics -StatusProsp=Prospect status -DraftPropals=Draft commercial proposals -NoLimit=No limit -ToOfferALinkForOnlineSignature=Link for online signature -WelcomeOnOnlineSignaturePage=Welcome to the page to accept commercial proposals from %s -ThisScreenAllowsYouToSignDocFrom=This screen allow you to accept and sign, or refuse, a quote/commercial proposal -ThisIsInformationOnDocumentToSign=This is information on document to accept or refuse -SignatureProposalRef=Signature of quote/commercial proposal %s -FeatureOnlineSignDisabled=Feature for online signing disabled or document generated before the feature was enabled +Commercial=Savdo +CommercialArea=Savdo sohasi +Customer=Mijoz +Customers=Xaridorlar +Prospect=Istiqbol +Prospects=Istiqbollari +DeleteAction=Tadbirni o'chirish +NewAction=Yangi voqea +AddAction=Tadbir yaratish +AddAnAction=Tadbir yarating +AddActionRendezVous=Rendez-vous tadbirini yarating +ConfirmDeleteAction=Ushbu tadbirni o'chirishni xohlaysizmi? +CardAction=Tadbir kartasi +ActionOnCompany=Tegishli kompaniya +ActionOnContact=Tegishli aloqa +TaskRDVWith=%s bilan uchrashuv +ShowTask=Vazifani ko'rsatish +ShowAction=Tadbirni ko'rsatish +ActionsReport=Voqealar to'g'risida hisobot +ThirdPartiesOfSaleRepresentative=Savdo vakili bilan uchinchi shaxslar +SaleRepresentativesOfThirdParty=Uchinchi tomonning savdo vakillari +SalesRepresentative=Savdo bo'yicha menejer +SalesRepresentatives=Savdo vakillari +SalesRepresentativeFollowUp=Savdo vakili (kuzatuv) +SalesRepresentativeSignature=Savdo vakili (imzo) +NoSalesRepresentativeAffected=Hech qanday maxsus savdo vakili tayinlanmagan +ShowCustomer=Xaridorni ko'rsatish +ShowProspect=Istiqbolni ko'rsatish +ListOfProspects=Istiqbollar ro'yxati +ListOfCustomers=Mijozlar ro'yxati +LastDoneTasks=Oxirgi %s bajarilgan harakatlar +LastActionsToDo=Eng qadimgi %s bajarilmagan amallar +DoneAndToDoActions=Voqealar tugallandi va bajarilishi kerak +DoneActions=Tugallangan tadbirlar +ToDoActions=Tugallanmagan voqealar +SendPropalRef=%s tijorat taklifini yuborish +SendOrderRef=%s buyurtmasini yuborish +StatusNotApplicable=Qo'llanilmaydigan, qo'llab bo'lmaydigan +StatusActionToDo=Qilmoq +StatusActionDone=Bajarildi +StatusActionInProcess=Jarayonida +TasksHistoryForThisContact=Ushbu aloqa uchun tadbirlar +LastProspectDoNotContact=Aloqa qilmang +LastProspectNeverContacted=Hech qachon bog'lanmagan +LastProspectToContact=Aloqa uchun +LastProspectContactInProcess=Aloqa jarayonida +LastProspectContactDone=Aloqa tugadi +ActionAffectedTo=Tadbir tayinlangan +ActionDoneBy=Tadbir amalga oshirildi +ActionAC_TEL=Telefon qo'ng'irog'i +ActionAC_FAX=Faks yuboring +ActionAC_PROP=Taklifni pochta orqali yuboring +ActionAC_EMAIL=Elektron pochta xabarini yuboring +ActionAC_EMAIL_IN=Elektron pochta xabarlarini qabul qilish +ActionAC_RDV=Uchrashuvlar +ActionAC_INT=Saytdagi aralashuv +ActionAC_FAC=Mijozlarning hisob-fakturasini pochta orqali yuboring +ActionAC_REL=Xaridorlarga hisob-fakturani pochta orqali yuborish (eslatish) +ActionAC_CLO=Yoping +ActionAC_EMAILING=Ommaviy elektron pochta xabarlarini yuboring +ActionAC_COM=Savdo buyurtmasini pochta orqali yuboring +ActionAC_SHIP=Jo'natmani pochta orqali yuboring +ActionAC_SUP_ORD=Xarid buyurtmasini pochta orqali yuboring +ActionAC_SUP_INV=Sotuvchi hisob-fakturasini pochta orqali yuboring +ActionAC_OTH=Boshqalar +ActionAC_OTH_AUTO=Boshqa avtoulov +ActionAC_MANUAL=Qo'lda kiritilgan voqealar +ActionAC_AUTO=Avtomatik ravishda kiritilgan hodisalar +ActionAC_OTH_AUTOShort=Boshqalar +ActionAC_EVENTORGANIZATION=Tadbirlarni tashkil qilish tadbirlari +Stats=Savdo statistikasi +StatusProsp=Istiqbol holati +DraftPropals=Tijorat takliflari loyihasi +NoLimit=Cheklov yo'q +ToOfferALinkForOnlineSignature=Onlayn imzo uchun havola +WelcomeOnOnlineSignaturePage=%s dan tijorat takliflarini qabul qilish uchun sahifaga xush kelibsiz +ThisScreenAllowsYouToSignDocFrom=Ushbu ekran sizga takliflarni / tijorat takliflarini qabul qilish va imzolashga yoki rad etishga imkon beradi +ThisIsInformationOnDocumentToSign=Bu qabul qilish yoki rad etish to'g'risidagi hujjatdagi ma'lumot +SignatureProposalRef=%s taklifi / tijorat taklifining imzosi +FeatureOnlineSignDisabled=Onlayn imzo chekish xususiyati o'chirilgan yoki ushbu xususiyat yoqilmaguncha yaratilgan hujjat diff --git a/htdocs/langs/uz_UZ/companies.lang b/htdocs/langs/uz_UZ/companies.lang index fbe75f09ab0..81e6549488d 100644 --- a/htdocs/langs/uz_UZ/companies.lang +++ b/htdocs/langs/uz_UZ/companies.lang @@ -1,107 +1,107 @@ # Dolibarr language file - Source file is en_US - companies -ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. -ErrorSetACountryFirst=Set the country first -SelectThirdParty=Select a third party -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? -DeleteContact=Delete a contact/address -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? -MenuNewThirdParty=New Third Party -MenuNewCustomer=New Customer -MenuNewProspect=New Prospect -MenuNewSupplier=New Vendor -MenuNewPrivateIndividual=New private individual -NewCompany=New company (prospect, customer, vendor) -NewThirdParty=New Third Party (prospect, customer, vendor) -CreateDolibarrThirdPartySupplier=Create a third party (vendor) -CreateThirdPartyOnly=Create third party -CreateThirdPartyAndContact=Create a third party + a child contact -ProspectionArea=Prospection area -IdThirdParty=Id third party -IdCompany=Company Id -IdContact=Contact Id -ThirdPartyContacts=Third-party contacts -ThirdPartyContact=Third-party contact/address -Company=Company -CompanyName=Company name -AliasNames=Alias name (commercial, trademark, ...) -AliasNameShort=Alias Name -Companies=Companies -CountryIsInEEC=Country is inside the European Economic Community -PriceFormatInCurrentLanguage=Price display format in the current language and currency -ThirdPartyName=Third-party name -ThirdPartyEmail=Third-party email -ThirdParty=Third-party -ThirdParties=Third-parties -ThirdPartyProspects=Prospects -ThirdPartyProspectsStats=Prospects -ThirdPartyCustomers=Customers -ThirdPartyCustomersStats=Customers -ThirdPartyCustomersWithIdProf12=Customers with %s or %s -ThirdPartySuppliers=Vendors -ThirdPartyType=Third-party type -Individual=Private individual -ToCreateContactWithSameName=Will automatically create a contact/address with same information as the third party under the third party. In most cases, even if your third party is a physical person, creating a third party alone is enough. -ParentCompany=Parent company -Subsidiaries=Subsidiaries -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate -CivilityCode=Civility code -RegisteredOffice=Registered office -Lastname=Last name -Firstname=First name -PostOrFunction=Job position -UserTitle=Title -NatureOfThirdParty=Nature of Third party -NatureOfContact=Nature of Contact -Address=Address -State=State/Province -StateCode=State/Province code -StateShort=State -Region=Region -Region-State=Region - State -Country=Country -CountryCode=Country code -CountryId=Country id -Phone=Phone -PhoneShort=Phone +ErrorCompanyNameAlreadyExists=%s kompaniyasining nomi allaqachon mavjud. Boshqasini tanlang. +ErrorSetACountryFirst=Avval mamlakatni o'rnating +SelectThirdParty=Uchinchi tomonni tanlang +ConfirmDeleteCompany=Ushbu kompaniyani va unga tegishli barcha ma'lumotlarni o'chirib tashlamoqchimisiz? +DeleteContact=Kontaktni / manzilni o'chirib tashlang +ConfirmDeleteContact=Ushbu kontaktni va unga tegishli barcha ma'lumotlarni o'chirishni xohlaysizmi? +MenuNewThirdParty=Yangi Uchinchi tomon +MenuNewCustomer=Yangi mijoz +MenuNewProspect=Yangi istiqbol +MenuNewSupplier=Yangi sotuvchi +MenuNewPrivateIndividual=Yangi xususiy shaxs +NewCompany=Yangi kompaniya (prospekt, mijoz, sotuvchi) +NewThirdParty=Yangi Uchinchi tomon (prospekt, mijoz, sotuvchi) +CreateDolibarrThirdPartySupplier=Uchinchi tomonni (sotuvchini) yarating +CreateThirdPartyOnly=Uchinchi tomonni yarating +CreateThirdPartyAndContact=Uchinchi tomon + bolalar bilan aloqa yaratish +ProspectionArea=Qidiruv maydoni +IdThirdParty=Uchinchi shaxs +IdCompany=Kompaniya identifikatori +IdContact=Aloqa identifikatori +ThirdPartyContacts=Uchinchi tomon aloqalari +ThirdPartyContact=Uchinchi tomon bilan aloqa / manzil +Company=Kompaniya +CompanyName=Kopmaniya nomi +AliasNames=Taxallus nomi (savdo, savdo belgisi, ...) +AliasNameShort=Taxallus nomi +Companies=Kompaniyalar +CountryIsInEEC=Mamlakat Evropa iqtisodiy hamjamiyatiga kiradi +PriceFormatInCurrentLanguage=Joriy til va valyutada narxlarni ko'rsatish formati +ThirdPartyName=Uchinchi tomon nomi +ThirdPartyEmail=Uchinchi tomon elektron pochtasi +ThirdParty=Uchinchi tomon +ThirdParties=Uchinchi tomonlar +ThirdPartyProspects=Istiqbollari +ThirdPartyProspectsStats=Istiqbollari +ThirdPartyCustomers=Xaridorlar +ThirdPartyCustomersStats=Xaridorlar +ThirdPartyCustomersWithIdProf12=%s yoki %s ga ega mijozlar +ThirdPartySuppliers=Sotuvchilar +ThirdPartyType=Uchinchi tomon turi +Individual=Xususiy shaxs +ToCreateContactWithSameName=Uchinchi shaxs ostida uchinchi shaxs bilan bir xil ma'lumotlarga ega bo'lgan kontakt / manzilni avtomatik ravishda yaratadi. Ko'pgina hollarda, sizning uchinchi shaxsingiz jismoniy shaxs bo'lsa ham, uchinchi shaxsni o'zi yaratish kifoya. +ParentCompany=Bosh kompaniya +Subsidiaries=Filiallar +ReportByMonth=Oyiga hisobot +ReportByCustomers=Xaridor uchun hisobot +ReportByThirdparties=Uchinchi tomon uchun hisobot +ReportByQuarter=Har bir stavka bo'yicha hisobot +CivilityCode=Fuqarolik kodi +RegisteredOffice=Ro'yxatdan o'tgan ofis +Lastname=Familiya +Firstname=Ism +PostOrFunction=Ish joyi +UserTitle=Sarlavha +NatureOfThirdParty=Uchinchi shaxsning tabiati +NatureOfContact=Aloqa xususiyati +Address=Manzil +State=Shtat / viloyat +StateCode=Shtat / viloyat kodi +StateShort=Shtat +Region=Mintaqa +Region-State=Hudud - shtat +Country=Mamlakat +CountryCode=Mamlakat kodi +CountryId=Mamlakat identifikatori +Phone=Telefon +PhoneShort=Telefon Skype=Skype -Call=Call +Call=Qo'ng'iroq qiling Chat=Chat -PhonePro=Bus. phone -PhonePerso=Pers. phone -PhoneMobile=Mobile -No_Email=Refuse bulk emailings -Fax=Fax -Zip=Zip Code -Town=City -Web=Web -Poste= Position -DefaultLang=Default language -VATIsUsed=Sales tax used -VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers -VATIsNotUsed=Sales tax is not used -CopyAddressFromSoc=Copy address from third-party details -ThirdpartyNotCustomerNotSupplierSoNoRef=Third party neither customer nor vendor, no available referring objects -ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Third party neither customer nor vendor, discounts are not available -PaymentBankAccount=Payment bank account -OverAllProposals=Proposals -OverAllOrders=Orders -OverAllInvoices=Invoices -OverAllSupplierProposals=Price requests +PhonePro=Avtobus. telefon +PhonePerso=Pers. telefon +PhoneMobile=Mobil +No_Email=Ommaviy elektron pochta xabarlarini rad eting +Fax=Faks +Zip=Pochta indeksi +Town=Shahar +Web=Internet +Poste= Lavozim +DefaultLang=Standart til +VATIsUsed=Sotishdan foydalanilgan soliq +VATIsUsedWhenSelling=Bu shuni anglatadiki, ushbu uchinchi tomon o'z mijozlariga hisob-fakturani rasmiylashtirganda sotish solig'ini o'z ichiga oladimi yoki yo'qmi +VATIsNotUsed=Savdo solig'i ishlatilmaydi +CopyAddressFromSoc=Uchinchi tomon tafsilotlaridan manzilni nusxalash +ThirdpartyNotCustomerNotSupplierSoNoRef=Uchinchi tomon na mijoz, na sotuvchi, mavjud mos yozuvlar ob'ekti yo'q +ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Uchinchi tomon na mijoz, na sotuvchi, chegirmalar mavjud emas +PaymentBankAccount=To'lov bank hisobvarag'i +OverAllProposals=Takliflar +OverAllOrders=Buyurtmalar +OverAllInvoices=Hisob-fakturalar +OverAllSupplierProposals=Narxlar bo'yicha so'rovlar ##### Local Taxes ##### -LocalTax1IsUsed=Use second tax -LocalTax1IsUsedES= RE is used -LocalTax1IsNotUsedES= RE is not used -LocalTax2IsUsed=Use third tax -LocalTax2IsUsedES= IRPF is used -LocalTax2IsNotUsedES= IRPF is not used -WrongCustomerCode=Customer code invalid -WrongSupplierCode=Vendor code invalid -CustomerCodeModel=Customer code model -SupplierCodeModel=Vendor code model -Gencod=Barcode +LocalTax1IsUsed=Ikkinchi soliqdan foydalaning +LocalTax1IsUsedES= RE ishlatiladi +LocalTax1IsNotUsedES= RE ishlatilmaydi +LocalTax2IsUsed=Uchinchi soliqdan foydalaning +LocalTax2IsUsedES= IRPF ishlatiladi +LocalTax2IsNotUsedES= IRPF ishlatilmaydi +WrongCustomerCode=Mijoz kodi yaroqsiz +WrongSupplierCode=Sotuvchi kodi yaroqsiz +CustomerCodeModel=Mijoz kodining modeli +SupplierCodeModel=Sotuvchi kodining modeli +Gencod=Shtrixli kod ##### Professional ID ##### ProfId1Short=Prof. id 1 ProfId2Short=Prof. id 2 @@ -115,17 +115,17 @@ ProfId3=Professional ID 3 ProfId4=Professional ID 4 ProfId5=Professional ID 5 ProfId6=Professional ID 6 -ProfId1AR=Prof Id 1 (CUIT/CUIL) +ProfId1AR=Prof Id 1 (CUIT / CUIL) ProfId2AR=Prof Id 2 (Revenu brutes) ProfId3AR=- ProfId4AR=- ProfId5AR=- ProfId6AR=- ProfId1AT=Prof Id 1 (USt.-IdNr) -ProfId2AT=Prof Id 2 (USt.-Nr) +ProfId2AT=Prof Id 2 (US-Nr) ProfId3AT=Prof Id 3 (Handelsregister-Nr.) ProfId4AT=- -ProfId5AT=EORI number +ProfId5AT=EORI raqami ProfId6AT=- ProfId1AU=Prof Id 1 (ABN) ProfId2AU=- @@ -133,23 +133,23 @@ ProfId3AU=- ProfId4AU=- ProfId5AU=- ProfId6AU=- -ProfId1BE=Prof Id 1 (Professional number) +ProfId1BE=Prof Id 1 (Professional raqam) ProfId2BE=- ProfId3BE=- ProfId4BE=- -ProfId5BE=EORI number +ProfId5BE=EORI raqami ProfId6BE=- ProfId1BR=- ProfId2BR=IE (Inscricao Estadual) -ProfId3BR=IM (Inscricao Municipal) +ProfId3BR=IM (Inscricao munitsipal) ProfId4BR=CPF #ProfId5BR=CNAE #ProfId6BR=INSS ProfId1CH=UID-Nummer ProfId2CH=- -ProfId3CH=Prof Id 1 (Federal number) -ProfId4CH=Prof Id 2 (Commercial Record number) -ProfId5CH=EORI number +ProfId3CH=Prof Id 1 (Federal raqam) +ProfId4CH=Prof Id 2 (tijorat yozuvlari raqami) +ProfId5CH=EORI raqami ProfId6CH=- ProfId1CL=Prof Id 1 (R.U.T.) ProfId2CL=- @@ -164,22 +164,22 @@ ProfId4CO=- ProfId5CO=- ProfId6CO=- ProfId1DE=Prof Id 1 (USt.-IdNr) -ProfId2DE=Prof Id 2 (USt.-Nr) +ProfId2DE=Prof Id 2 (US-Nr) ProfId3DE=Prof Id 3 (Handelsregister-Nr.) ProfId4DE=- -ProfId5DE=EORI number +ProfId5DE=EORI raqami ProfId6DE=- -ProfId1ES=Prof Id 1 (CIF/NIF) -ProfId2ES=Prof Id 2 (Social security number) +ProfId1ES=Prof Id 1 (CIF / NIF) +ProfId2ES=Prof Id 2 (ijtimoiy sug'urta raqami) ProfId3ES=Prof Id 3 (CNAE) -ProfId4ES=Prof Id 4 (Collegiate number) -ProfId5ES=Prof Id 5 (EORI number) +ProfId4ES=Prof Id 4 (kollej raqami) +ProfId5ES=Prof Id 5 (EORI raqami) ProfId6ES=- ProfId1FR=Prof Id 1 (SIREN) ProfId2FR=Prof Id 2 (SIRET) -ProfId3FR=Prof Id 3 (NAF, old APE) -ProfId4FR=Prof Id 4 (RCS/RM) -ProfId5FR=Prof Id 5 (numéro EORI) +ProfId3FR=Prof Id 3 (NAF, eski APE) +ProfId4FR=Prof Id 4 (RCS / RM) +ProfId5FR=Prof Id 5 (raqamli EORI) ProfId6FR=- ProfId1ShortFR=SIREN ProfId2ShortFR=SIRET @@ -187,7 +187,7 @@ ProfId3ShortFR=NAF ProfId4ShortFR=RCS ProfId5ShortFR=EORI ProfId6ShortFR=- -ProfId1GB=Registration Number +ProfId1GB=Ro'yxatdan o'tish raqami ProfId2GB=- ProfId3GB=SIC ProfId4GB=- @@ -201,7 +201,7 @@ ProfId5HN=- ProfId6HN=- ProfId1IN=Prof Id 1 (TIN) ProfId2IN=Prof Id 2 (PAN) -ProfId3IN=Prof Id 3 (SRVC TAX) +ProfId3IN=Prof Id 3 (SRVC soliq) ProfId4IN=Prof Id 4 ProfId5IN=Prof Id 5 ProfId6IN=- @@ -209,37 +209,37 @@ ProfId1IT=- ProfId2IT=- ProfId3IT=- ProfId4IT=- -ProfId5IT=EORI number +ProfId5IT=EORI raqami ProfId6IT=- -ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg) -ProfId2LU=Id. prof. 2 (Business permit) +ProfId1LU=Id. prof. 1 (R.C.S. Lyuksemburg) +ProfId2LU=Id. prof. 2 (biznes uchun ruxsatnoma) ProfId3LU=- ProfId4LU=- -ProfId5LU=EORI number +ProfId5LU=EORI raqami ProfId6LU=- ProfId1MA=Id prof. 1 (R.C.) ProfId2MA=Id prof. 2 (Patente) ProfId3MA=Id prof. 3 (I.F.) ProfId4MA=Id prof. 4 (C.N.S.S.) -ProfId5MA=Id prof. 5 (I.C.E.) +ProfId5MA=Id prof. 5 (miloddan avvalgi) ProfId6MA=- ProfId1MX=Prof Id 1 (R.F.C). ProfId2MX=Prof Id 2 (R..P. IMSS) -ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId3MX=Prof Id 3 (Professional Nizom) ProfId4MX=- ProfId5MX=- ProfId6MX=- -ProfId1NL=KVK nummer +ProfId1NL=KVK nummeri ProfId2NL=- ProfId3NL=- -ProfId4NL=Burgerservicenummer (BSN) -ProfId5NL=EORI number +ProfId4NL=Burgerservitsenummer (BSN) +ProfId5NL=EORI raqami ProfId6NL=- ProfId1PT=Prof Id 1 (NIPC) -ProfId2PT=Prof Id 2 (Social security number) -ProfId3PT=Prof Id 3 (Commercial Record number) -ProfId4PT=Prof Id 4 (Conservatory) -ProfId5PT=Prof Id 5 (EORI number) +ProfId2PT=Prof Id 2 (ijtimoiy sug'urta raqami) +ProfId3PT=Prof Id 3 (tijorat yozuvlari raqami) +ProfId4PT=Prof Id 4 (Konservatoriya) +ProfId5PT=Prof Id 5 (EORI raqami) ProfId6PT=- ProfId1SN=RC ProfId2SN=NINEA @@ -248,8 +248,8 @@ ProfId4SN=- ProfId5SN=- ProfId6SN=- ProfId1TN=Prof Id 1 (RC) -ProfId2TN=Prof Id 2 (Fiscal matricule) -ProfId3TN=Prof Id 3 (Douane code) +ProfId2TN=Prof Id 2 (moliyaviy matritsa) +ProfId3TN=Prof Id 3 (Douane kodi) ProfId4TN=Prof Id 4 (BAN) ProfId5TN=- ProfId6TN=- @@ -260,10 +260,10 @@ ProfId4US=- ProfId5US=- ProfId6US=- ProfId1RO=Prof Id 1 (CUI) -ProfId2RO=Prof Id 2 (Nr. Înmatriculare) +ProfId2RO=Prof Id 2 (nr. Nmatriculare) ProfId3RO=Prof Id 3 (CAEN) ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId5RO=Prof Id 5 (EORI raqami) ProfId6RO=- ProfId1RU=Prof Id 1 (OGRN) ProfId2RU=Prof Id 2 (INN) @@ -272,206 +272,206 @@ ProfId4RU=Prof Id 4 (OKPO) ProfId5RU=- ProfId6RU=- ProfId1DZ=RC -ProfId2DZ=Art. +ProfId2DZ=San'at. ProfId3DZ=NIF ProfId4DZ=NIS -VATIntra=VAT ID -VATIntraShort=VAT ID -VATIntraSyntaxIsValid=Syntax is valid -VATReturn=VAT return -ProspectCustomer=Prospect / Customer -Prospect=Prospect -CustomerCard=Customer Card -Customer=Customer -CustomerRelativeDiscount=Relative customer discount -SupplierRelativeDiscount=Relative vendor discount -CustomerRelativeDiscountShort=Relative discount -CustomerAbsoluteDiscountShort=Absolute discount -CompanyHasRelativeDiscount=This customer has a default discount of %s%% -CompanyHasNoRelativeDiscount=This customer has no relative discount by default -HasRelativeDiscountFromSupplier=You have a default discount of %s%% from this vendor -HasNoRelativeDiscountFromSupplier=You have no default relative discount from this vendor -CompanyHasAbsoluteDiscount=This customer has discounts available (credits notes or down payments) for %s %s -CompanyHasDownPaymentOrCommercialDiscount=This customer has discounts available (commercial, down payments) for %s %s -CompanyHasCreditNote=This customer still has credit notes for %s %s -HasNoAbsoluteDiscountFromSupplier=You have no discount credit available from this vendor -HasAbsoluteDiscountFromSupplier=You have discounts available (credits notes or down payments) for %s %s from this vendor -HasDownPaymentOrCommercialDiscountFromSupplier=You have discounts available (commercial, down payments) for %s %s from this vendor -HasCreditNoteFromSupplier=You have credit notes for %s %s from this vendor -CompanyHasNoAbsoluteDiscount=This customer has no discount credit available -CustomerAbsoluteDiscountAllUsers=Absolute customer discounts (granted by all users) -CustomerAbsoluteDiscountMy=Absolute customer discounts (granted by yourself) -SupplierAbsoluteDiscountAllUsers=Absolute vendor discounts (entered by all users) -SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) +VATIntra=QQS identifikatori +VATIntraShort=QQS identifikatori +VATIntraSyntaxIsValid=Sintaksis haqiqiydir +VATReturn=QQS deklaratsiyasi +ProspectCustomer=Prospekt / mijoz +Prospect=Istiqbol +CustomerCard=Mijozlar kartasi +Customer=Mijoz +CustomerRelativeDiscount=Mijozlarga nisbatan chegirma +SupplierRelativeDiscount=Sotuvchilarga nisbatan chegirma +CustomerRelativeDiscountShort=Nisbatan chegirma +CustomerAbsoluteDiscountShort=Mutlaq chegirma +CompanyHasRelativeDiscount=Ushbu mijozda standart chegirma mavjud: %s%% +CompanyHasNoRelativeDiscount=Ushbu mijozda sukut bo'yicha nisbatan chegirma mavjud emas +HasRelativeDiscountFromSupplier=Sizda ushbu sotuvchidan %s%% chegirmasi mavjud +HasNoRelativeDiscountFromSupplier=Sizda ushbu sotuvchidan standart chegirma yo'q +CompanyHasAbsoluteDiscount=Ushbu mijozda %s %s uchun chegirmalar mavjud (kredit yozuvlari yoki dastlabki to'lovlar). +CompanyHasDownPaymentOrCommercialDiscount=Ushbu mijozda %s %s uchun chegirmalar mavjud (tijorat, dastlabki to'lovlar). +CompanyHasCreditNote=Ushbu mijozda hali ham %s %s uchun kredit yozuvlari mavjud +HasNoAbsoluteDiscountFromSupplier=Ushbu sotuvchida chegirmali kreditingiz yo'q +HasAbsoluteDiscountFromSupplier=Sizda ushbu sotuvchidan %s %s uchun chegirmalar mavjud (kredit yozuvlari yoki dastlabki to'lovlar). +HasDownPaymentOrCommercialDiscountFromSupplier=Ushbu sotuvchidan %s %s uchun chegirmalar mavjud (tijorat, dastlabki to'lovlar) +HasCreditNoteFromSupplier=Sizda ushbu sotuvchidan %s %s uchun kredit yozuvlari mavjud +CompanyHasNoAbsoluteDiscount=Ushbu mijozda chegirmali kredit mavjud emas +CustomerAbsoluteDiscountAllUsers=Mijozlarga mutlaqo chegirmalar (barcha foydalanuvchilar tomonidan beriladi) +CustomerAbsoluteDiscountMy=Mijozlarga mutlaqo chegirmalar (o'zingiz berasiz) +SupplierAbsoluteDiscountAllUsers=Sotuvchiga mutlaq chegirmalar (barcha foydalanuvchilar tomonidan kiritiladi) +SupplierAbsoluteDiscountMy=Sotuvchiga mutlaq chegirmalar (o'zingiz kiritgansiz) DiscountNone=None -Vendor=Vendor -Supplier=Vendor -AddContact=Create contact -AddContactAddress=Create contact/address -EditContact=Edit contact -EditContactAddress=Edit contact/address -Contact=Contact/Address -Contacts=Contacts/Addresses -ContactId=Contact id -ContactsAddresses=Contacts/Addresses -FromContactName=Name: -NoContactDefinedForThirdParty=No contact defined for this third party -NoContactDefined=No contact defined -DefaultContact=Default contact/address -ContactByDefaultFor=Default contact/address for -AddThirdParty=Create third party -DeleteACompany=Delete a company -PersonalInformations=Personal data +Vendor=Sotuvchi +Supplier=Sotuvchi +AddContact=Kontakt yarating +AddContactAddress=Kontakt / manzil yarating +EditContact=Kontaktni tahrirlash +EditContactAddress=Kontakt / manzilni tahrirlash +Contact=Aloqa / manzil +Contacts=Aloqa / manzillar +ContactId=Aloqa identifikatori +ContactsAddresses=Aloqa / manzillar +FromContactName=Ism: +NoContactDefinedForThirdParty=Ushbu uchinchi tomon uchun hech qanday aloqa aniqlanmagan +NoContactDefined=Hech qanday aloqa aniqlanmadi +DefaultContact=Odatiy aloqa / manzil +ContactByDefaultFor=Standart aloqa / manzil +AddThirdParty=Uchinchi tomonni yarating +DeleteACompany=Kompaniyani o'chirib tashlang +PersonalInformations=Shaxsiy malumot AccountancyCode=Accounting account -CustomerCode=Customer Code -SupplierCode=Vendor Code -CustomerCodeShort=Customer Code -SupplierCodeShort=Vendor Code -CustomerCodeDesc=Customer Code, unique for all customers -SupplierCodeDesc=Vendor Code, unique for all vendors -RequiredIfCustomer=Required if third party is a customer or prospect -RequiredIfSupplier=Required if third party is a vendor -ValidityControledByModule=Validity controlled by the module -ThisIsModuleRules=Rules for this module -ProspectToContact=Prospect to contact -CompanyDeleted=Company "%s" deleted from database. -ListOfContacts=List of contacts/addresses -ListOfContactsAddresses=List of contacts/addresses -ListOfThirdParties=List of Third Parties -ShowCompany=Third Party -ShowContact=Contact-Address -ContactsAllShort=All (No filter) -ContactType=Contact type -ContactForOrders=Order's contact -ContactForOrdersOrShipments=Order's or shipment's contact -ContactForProposals=Proposal's contact -ContactForContracts=Contract's contact -ContactForInvoices=Invoice's contact -NoContactForAnyOrder=This contact is not a contact for any order -NoContactForAnyOrderOrShipments=This contact is not a contact for any order or shipment -NoContactForAnyProposal=This contact is not a contact for any commercial proposal -NoContactForAnyContract=This contact is not a contact for any contract -NoContactForAnyInvoice=This contact is not a contact for any invoice -NewContact=New contact -NewContactAddress=New Contact/Address -MyContacts=My contacts -Capital=Capital -CapitalOf=Capital of %s -EditCompany=Edit company -ThisUserIsNot=This user is not a prospect, customer or vendor -VATIntraCheck=Check -VATIntraCheckDesc=The VAT ID must include the country prefix. The link %s uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server. +CustomerCode=Mijozlar kodi +SupplierCode=Sotuvchi kodi +CustomerCodeShort=Mijozlar kodi +SupplierCodeShort=Sotuvchi kodi +CustomerCodeDesc=Mijozlar kodi, barcha mijozlar uchun noyobdir +SupplierCodeDesc=Sotuvchi kodi, barcha sotuvchilar uchun noyobdir +RequiredIfCustomer=Uchinchi shaxs mijoz yoki istiqbolli bo'lsa, talab qilinadi +RequiredIfSupplier=Uchinchi tomon sotuvchi bo'lsa, talab qilinadi +ValidityControledByModule=Modul tomonidan boshqariladigan amal qilish muddati +ThisIsModuleRules=Ushbu modul uchun qoidalar +ProspectToContact=Aloqa qilish istiqboli +CompanyDeleted="%s" kompaniyasi ma'lumotlar bazasidan o'chirildi. +ListOfContacts=Kontaktlar / manzillar ro'yxati +ListOfContactsAddresses=Kontaktlar / manzillar ro'yxati +ListOfThirdParties=Uchinchi tomonlarning ro'yxati +ShowCompany=Uchinchi tomon +ShowContact=Aloqa manzili +ContactsAllShort=Hammasi (filtrsiz) +ContactType=Aloqa turi +ContactForOrders=Buyurtmaning aloqasi +ContactForOrdersOrShipments=Buyurtma yoki jo'natma bilan aloqa qilish +ContactForProposals=Taklifning aloqasi +ContactForContracts=Shartnomaning aloqasi +ContactForInvoices=Hisob-fakturaning aloqasi +NoContactForAnyOrder=Ushbu aloqa har qanday buyurtma uchun kontakt emas +NoContactForAnyOrderOrShipments=Ushbu aloqa har qanday buyurtma yoki jo'natma uchun kontakt emas +NoContactForAnyProposal=Ushbu aloqa har qanday tijorat taklifi uchun kontakt emas +NoContactForAnyContract=Ushbu aloqa har qanday shartnoma uchun kontakt emas +NoContactForAnyInvoice=Ushbu kontakt har qanday hisob-faktura uchun kontakt emas +NewContact=Yangi aloqa +NewContactAddress=Yangi aloqa / manzil +MyContacts=Mening kontaktlarim +Capital=Poytaxt +CapitalOf=%s poytaxti +EditCompany=Kompaniyani tahrirlash +ThisUserIsNot=Ushbu foydalanuvchi istiqbolli, mijoz yoki sotuvchi emas +VATIntraCheck=Tekshiring +VATIntraCheckDesc=QQS identifikatorida mamlakat prefiksi bo'lishi kerak. %s havolasida Dolibarr serveridan Internetga kirishni talab qiladigan Evropa QQS tekshiruvi xizmati (VIES) ishlatiladi. VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do -VATIntraCheckableOnEUSite=Check the intra-Community VAT ID on the European Commission website -VATIntraManualCheck=You can also check manually on the European Commission website %s -ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). -NorProspectNorCustomer=Not prospect, nor customer -JuridicalStatus=Business entity type -Workforce=Workforce -Staff=Employees -ProspectLevelShort=Potential -ProspectLevel=Prospect potential -ContactPrivate=Private -ContactPublic=Shared -ContactVisibility=Visibility -ContactOthers=Other -OthersNotLinkedToThirdParty=Others, not linked to a third party -ProspectStatus=Prospect status +VATIntraCheckableOnEUSite=Evropa Komissiyasi veb-saytida Jamiyat ichidagi QQS identifikatorini tekshiring +VATIntraManualCheck=Shuningdek, siz Evropa Komissiyasining veb-saytida %s +ErrorVATCheckMS_UNAVAILABLE=Tekshirib bo'lmaydi. Chek xizmati a'zo davlat tomonidan taqdim etilmaydi (%s). +NorProspectNorCustomer=Istiqbolli ham, mijoz ham emas +JuridicalStatus=Xo'jalik yurituvchi sub'ekt turi +Workforce=Ishchi kuchi +Staff=Xodimlar +ProspectLevelShort=Potentsial +ProspectLevel=Istiqbolli salohiyat +ContactPrivate=Xususiy +ContactPublic=Umumiy +ContactVisibility=Ko'rinish +ContactOthers=Boshqalar +OthersNotLinkedToThirdParty=Uchinchi tomon bilan bog'liq bo'lmagan boshqalar +ProspectStatus=Istiqbol holati PL_NONE=None -PL_UNKNOWN=Unknown -PL_LOW=Low -PL_MEDIUM=Medium -PL_HIGH=High +PL_UNKNOWN=Noma'lum +PL_LOW=Kam +PL_MEDIUM=O'rta +PL_HIGH=Yuqori TE_UNKNOWN=- -TE_STARTUP=Startup -TE_GROUP=Large company -TE_MEDIUM=Medium company -TE_ADMIN=Governmental -TE_SMALL=Small company -TE_RETAIL=Retailer -TE_WHOLE=Wholesaler -TE_PRIVATE=Private individual -TE_OTHER=Other -StatusProspect-1=Do not contact -StatusProspect0=Never contacted -StatusProspect1=To be contacted -StatusProspect2=Contact in process -StatusProspect3=Contact done -ChangeDoNotContact=Change status to 'Do not contact' -ChangeNeverContacted=Change status to 'Never contacted' -ChangeToContact=Change status to 'To be contacted' -ChangeContactInProcess=Change status to 'Contact in process' -ChangeContactDone=Change status to 'Contact done' -ProspectsByStatus=Prospects by status +TE_STARTUP=Ish boshlash +TE_GROUP=Katta kompaniya +TE_MEDIUM=O'rta kompaniya +TE_ADMIN=Hukumat +TE_SMALL=Kichik kompaniya +TE_RETAIL=Chakana savdo +TE_WHOLE=Ulgurji sotuvchi +TE_PRIVATE=Xususiy shaxs +TE_OTHER=Boshqalar +StatusProspect-1=Aloqa qilmang +StatusProspect0=Hech qachon bog'lanmagan +StatusProspect1=Bog'lanish uchun +StatusProspect2=Aloqa jarayonida +StatusProspect3=Aloqa tugadi +ChangeDoNotContact="Kontakt qilmang" holatini o'zgartirish +ChangeNeverContacted="Hech qachon bog'lanmagan" holatini o'zgartirish +ChangeToContact=Vaziyatni "Bog'lanish uchun" ga o'zgartirish +ChangeContactInProcess=Statusni "Kontakt jarayonda" ga o'zgartirish +ChangeContactDone="Kontakt tugadi" holatini o'zgartirish +ProspectsByStatus=Vaziyat bo'yicha istiqbollar NoParentCompany=None -ExportCardToFormat=Export card to format -ContactNotLinkedToCompany=Contact not linked to any third party -DolibarrLogin=Dolibarr login -NoDolibarrAccess=No Dolibarr access -ExportDataset_company_1=Third-parties (companies/foundations/physical people) and their properties -ExportDataset_company_2=Contacts and their properties -ImportDataset_company_1=Third-parties and their properties -ImportDataset_company_2=Third-parties additional contacts/addresses and attributes -ImportDataset_company_3=Third-parties Bank accounts -ImportDataset_company_4=Third-parties Sales representatives (assign sales representatives/users to companies) -PriceLevel=Price Level -PriceLevelLabels=Price Level Labels -DeliveryAddress=Delivery address -AddAddress=Add address -SupplierCategory=Vendor category -JuridicalStatus200=Independent -DeleteFile=Delete file -ConfirmDeleteFile=Are you sure you want to delete this file? -AllocateCommercial=Assigned to sales representative -Organization=Organization -FiscalYearInformation=Fiscal Year -FiscalMonthStart=Starting month of the fiscal year -SocialNetworksInformation=Social networks -SocialNetworksFacebookURL=Facebook URL -SocialNetworksTwitterURL=Twitter URL -SocialNetworksLinkedinURL=Linkedin URL -SocialNetworksInstagramURL=Instagram URL -SocialNetworksYoutubeURL=Youtube URL -SocialNetworksGithubURL=Github URL -YouMustAssignUserMailFirst=You must create an email for this user prior to being able to add an email notification. -YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party -ListSuppliersShort=List of Vendors -ListProspectsShort=List of Prospects -ListCustomersShort=List of Customers -ThirdPartiesArea=Third Parties/Contacts -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties -InActivity=Open -ActivityCeased=Closed -ThirdPartyIsClosed=Third party is closed -ProductsIntoElements=List of products/services mapped to %s -CurrentOutstandingBill=Current outstanding bill -OutstandingBill=Max. for outstanding bill -OutstandingBillReached=Max. for outstanding bill reached -OrderMinAmount=Minimum amount for order -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. -LeopardNumRefModelDesc=The code is free. This code can be modified at any time. -ManagingDirectors=Manager(s) name (CEO, director, president...) -MergeOriginThirdparty=Duplicate third party (third party you want to delete) -MergeThirdparties=Merge third parties -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. -ThirdpartiesMergeSuccess=Third parties have been merged -SaleRepresentativeLogin=Login of sales representative -SaleRepresentativeFirstname=First name of sales representative -SaleRepresentativeLastname=Last name of sales representative -ErrorThirdpartiesMerge=There was an error when deleting the third parties. Please check the log. Changes have been reverted. -NewCustomerSupplierCodeProposed=Customer or Vendor code already used, a new code is suggested -KeepEmptyIfGenericAddress=Keep this field empty if this address is a generic address +ExportCardToFormat=Kartani formatlash uchun eksport qiling +ContactNotLinkedToCompany=Uchinchi tomon bilan bog'lanmagan aloqa +DolibarrLogin=Dolibarr tizimiga kirish +NoDolibarrAccess=Dolibarr-ga kirish taqiqlangan +ExportDataset_company_1=Uchinchi tomonlar (kompaniyalar / fondlar / jismoniy odamlar) va ularning xususiyatlari +ExportDataset_company_2=Kontaktlar va ularning xususiyatlari +ImportDataset_company_1=Uchinchi shaxslar va ularning xususiyatlari +ImportDataset_company_2=Uchinchi tomonlar qo'shimcha kontaktlar / manzillar va atributlar +ImportDataset_company_3=Uchinchi tomonlarning bank hisobvaraqlari +ImportDataset_company_4=Uchinchi tomon savdo vakillari (savdo vakillarini / foydalanuvchilarni kompaniyalarga tayinlash) +PriceLevel=Narx darajasi +PriceLevelLabels=Narx darajasi yorliqlari +DeliveryAddress=Etkazib berish manzili +AddAddress=Manzil qo'shing +SupplierCategory=Sotuvchi toifasi +JuridicalStatus200=Mustaqil +DeleteFile=Faylni o'chirish +ConfirmDeleteFile=Ushbu faylni o'chirishni xohlaysizmi? +AllocateCommercial=Savdo vakiliga tayinlangan +Organization=Tashkilot +FiscalYearInformation=Moliyaviy yil +FiscalMonthStart=Moliya yilidan boshlab +SocialNetworksInformation=Ijtimoiy tarmoqlar +SocialNetworksFacebookURL=Facebook manzili +SocialNetworksTwitterURL=Twitter manzili +SocialNetworksLinkedinURL=Bog'langan URL +SocialNetworksInstagramURL=Instagram manzili +SocialNetworksYoutubeURL=Youtube URL manzili +SocialNetworksGithubURL=Github URL manzili +YouMustAssignUserMailFirst=Elektron pochta xabarnomasini qo'shishdan oldin siz ushbu foydalanuvchi uchun elektron pochta xabarini yaratishingiz kerak. +YouMustCreateContactFirst=Elektron pochta xabarnomalarini qo'shish uchun avval uchinchi tomon uchun tegishli elektron pochta xabarlari bilan aloqa o'rnatishingiz kerak +ListSuppliersShort=Sotuvchilar ro'yxati +ListProspectsShort=Istiqbollar ro'yxati +ListCustomersShort=Mijozlar ro'yxati +ThirdPartiesArea=Uchinchi tomonlar / Kontaktlar +LastModifiedThirdParties=Oxirgi %s o'zgartirilgan uchinchi tomonlar +UniqueThirdParties=Uchinchi tomonlarning umumiy soni +InActivity=Ochiq +ActivityCeased=Yopiq +ThirdPartyIsClosed=Uchinchi tomon yopiq +ProductsIntoElements=%s-ga bog'langan mahsulot / xizmatlarning ro'yxati +CurrentOutstandingBill=Amaldagi hisob-kitob +OutstandingBill=Maks. qarzdorlik uchun +OutstandingBillReached=Maks. qarzdorlik uchun +OrderMinAmount=Buyurtma uchun minimal miqdor +MonkeyNumRefModelDesc=Mijoz kodi uchun %syymm-nnnn formatidagi raqamni va sotuvchi kodi uchun %syymm-nnnn ni qaytaring, bu erda yy yil, mm oy va nnnn ketma-ket avtomatik ortib boruvchi raqam va 0 ga qaytmaydi. +LeopardNumRefModelDesc=Kod bepul. Ushbu kodni istalgan vaqtda o'zgartirish mumkin. +ManagingDirectors=Menejer (lar) ning ismi (bosh direktor, direktor, prezident ...) +MergeOriginThirdparty=Uchinchi tomonning nusxasini oling (o'chirmoqchi bo'lgan uchinchi tomon) +MergeThirdparties=Uchinchi tomonlarni birlashtirish +ConfirmMergeThirdparties=Tanlangan uchinchi tomonni amaldagi bilan birlashtirishni xohlaysizmi? Barcha bog'langan ob'ektlar (hisob-fakturalar, buyurtmalar, ...) joriy uchinchi tomonga ko'chiriladi, shundan so'ng tanlangan uchinchi tomon o'chiriladi. +ThirdpartiesMergeSuccess=Uchinchi tomonlar birlashtirildi +SaleRepresentativeLogin=Savdo vakili kirish +SaleRepresentativeFirstname=Savdo vakilining ismi +SaleRepresentativeLastname=Savdo vakilining familiyasi +ErrorThirdpartiesMerge=Uchinchi tomonlarni o'chirishda xatolik yuz berdi. Iltimos, jurnalni tekshiring. O'zgarishlar qaytarildi. +NewCustomerSupplierCodeProposed=Mijoz yoki sotuvchi kodi allaqachon ishlatilgan, yangi kod taklif etiladi +KeepEmptyIfGenericAddress=Ushbu manzil umumiy manzil bo'lsa, ushbu maydonni bo'sh qoldiring #Imports -PaymentTypeCustomer=Payment Type - Customer -PaymentTermsCustomer=Payment Terms - Customer -PaymentTypeSupplier=Payment Type - Vendor -PaymentTermsSupplier=Payment Term - Vendor -PaymentTypeBoth=Payment Type - Customer and Vendor -MulticurrencyUsed=Use Multicurrency -MulticurrencyCurrency=Currency -InEEC=Europe (EEC) -RestOfEurope=Rest of Europe (EEC) -OutOfEurope=Out of Europe (EEC) -CurrentOutstandingBillLate=Current outstanding bill late -BecarefullChangeThirdpartyBeforeAddProductToInvoice=Be carefull, depending on your product price settings, you should change thirdparty before adding product to POS. +PaymentTypeCustomer=To'lov turi - mijoz +PaymentTermsCustomer=To'lov shartlari - mijoz +PaymentTypeSupplier=To'lov turi - sotuvchi +PaymentTermsSupplier=To'lov muddati - sotuvchi +PaymentTypeBoth=To'lov turi - mijoz va sotuvchi +MulticurrencyUsed=Ko'p valyutadan foydalaning +MulticurrencyCurrency=Valyuta +InEEC=Evropa (EEC) +RestOfEurope=Evropaning qolgan qismi (EEC) +OutOfEurope=Evropadan tashqarida (EEC) +CurrentOutstandingBillLate=Amaldagi qonun loyihasi kechiktirildi +BecarefullChangeThirdpartyBeforeAddProductToInvoice=Ehtiyot bo'ling, mahsulot narxlari sozlamalariga qarab, mahsulotni POS-ga qo'shishdan oldin uchinchi tomonni o'zgartirishingiz kerak. diff --git a/htdocs/langs/uz_UZ/compta.lang b/htdocs/langs/uz_UZ/compta.lang index 7cae82e6ac7..47ab608b1bb 100644 --- a/htdocs/langs/uz_UZ/compta.lang +++ b/htdocs/langs/uz_UZ/compta.lang @@ -1,288 +1,294 @@ # Dolibarr language file - Source file is en_US - compta -MenuFinancial=Billing | Payment -TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation -TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation -OptionMode=Option for accountancy -OptionModeTrue=Option Incomes-Expenses -OptionModeVirtual=Option Claims-Debts -OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. -OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. -FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) -VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. -LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. -Param=Setup -RemainingAmountPayment=Amount payment remaining: +MenuFinancial=Hisob-kitoblar | To'lov +TaxModuleSetupToModifyRules=Hisoblash qoidalarini o'zgartirish uchun soliqlar modulini o'rnatish ga o'ting. +TaxModuleSetupToModifyRulesLT=Hisoblash qoidalarini o'zgartirish uchun kompaniyasini sozlash -ga o'ting. +OptionMode=Buxgalteriya uchun variant +OptionModeTrue=Variant-xarajatlar +OptionModeVirtual=Optsion da'volar-qarzlar +OptionModeTrueDesc=Shu nuqtai nazardan, tovar aylanmasi to'lovlar bo'yicha (to'lovlar sanasi) bo'yicha hisoblanadi. Hisob-kitoblarni hisobga olish-fakturalar orqali kiritish / chiqarish orqali buxgalteriya hisobi tekshirilgandagina raqamlarning haqiqiyligi ta'minlanadi. +OptionModeVirtualDesc=Shu nuqtai nazardan, tovar aylanmasi schyot-fakturalar bo'yicha hisoblanadi (tasdiqlash sanasi). Ushbu hisob-fakturalar to'langan yoki to'lanmaganligiga qaramay, ular tovar aylanmasi bo'yicha ro'yxatga olinadi. +FeatureIsSupportedInInOutModeOnly=Xususiyat faqat CREDITS-DEBTS buxgalteriya rejimida mavjud (Buxgalteriya moduli konfiguratsiyasini ko'ring) +VATReportBuildWithOptionDefinedInModule=Bu erda ko'rsatilgan miqdorlar Soliq modulini o'rnatish qoidalari asosida hisoblanadi. +LTReportBuildWithOptionDefinedInModule=Bu erda ko'rsatilgan mablag'lar Kompaniya sozlamalari bo'yicha belgilangan qoidalar asosida hisoblanadi. +Param=Sozlash; o'rnatish +RemainingAmountPayment=Qolgan to'lov miqdori: Account=Account -Accountparent=Parent account -Accountsparent=Parent accounts -Income=Income -Outcome=Expense -MenuReportInOut=Income / Expense -ReportInOut=Balance of income and expenses -ReportTurnover=Turnover invoiced -ReportTurnoverCollected=Turnover collected -PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party -PaymentsNotLinkedToUser=Payments not linked to any user -Profit=Profit -AccountingResult=Accounting result -BalanceBefore=Balance (before) -Balance=Balance -Debit=Debit -Credit=Credit -Piece=Accounting Doc. -AmountHTVATRealReceived=Net collected -AmountHTVATRealPaid=Net paid -VATToPay=Tax sales -VATReceived=Tax received -VATToCollect=Tax purchases -VATSummary=Tax monthly -VATBalance=Tax Balance -VATPaid=Tax paid -LT1Summary=Tax 2 summary -LT2Summary=Tax 3 summary -LT1SummaryES=RE Balance -LT2SummaryES=IRPF Balance -LT1SummaryIN=CGST Balance -LT2SummaryIN=SGST Balance -LT1Paid=Tax 2 paid -LT2Paid=Tax 3 paid -LT1PaidES=RE Paid -LT2PaidES=IRPF Paid -LT1PaidIN=CGST Paid -LT2PaidIN=SGST Paid -LT1Customer=Tax 2 sales -LT1Supplier=Tax 2 purchases -LT1CustomerES=RE sales -LT1SupplierES=RE purchases -LT1CustomerIN=CGST sales -LT1SupplierIN=CGST purchases -LT2Customer=Tax 3 sales -LT2Supplier=Tax 3 purchases -LT2CustomerES=IRPF sales -LT2SupplierES=IRPF purchases -LT2CustomerIN=SGST sales -LT2SupplierIN=SGST purchases -VATCollected=VAT collected -StatusToPay=To pay -SpecialExpensesArea=Area for all special payments -VATExpensesArea=Area for all TVA payments -SocialContribution=Social or fiscal tax -SocialContributions=Social or fiscal taxes -SocialContributionsDeductibles=Deductible social or fiscal taxes -SocialContributionsNondeductibles=Nondeductible social or fiscal taxes -DateOfSocialContribution=Date of social or fiscal tax -LabelContrib=Label contribution -TypeContrib=Type contribution -MenuSpecialExpenses=Special expenses -MenuTaxAndDividends=Taxes and dividends -MenuSocialContributions=Social/fiscal taxes -MenuNewSocialContribution=New social/fiscal tax -NewSocialContribution=New social/fiscal tax -AddSocialContribution=Add social/fiscal tax -ContributionsToPay=Social/fiscal taxes to pay -AccountancyTreasuryArea=Billing and payment area -NewPayment=New payment -PaymentCustomerInvoice=Customer invoice payment -PaymentSupplierInvoice=vendor invoice payment -PaymentSocialContribution=Social/fiscal tax payment -PaymentVat=VAT payment -AutomaticCreationPayment=Automatically record the payment -ListPayment=List of payments -ListOfCustomerPayments=List of customer payments -ListOfSupplierPayments=List of vendor payments -DateStartPeriod=Date start period -DateEndPeriod=Date end period -newLT1Payment=New tax 2 payment -newLT2Payment=New tax 3 payment -LT1Payment=Tax 2 payment -LT1Payments=Tax 2 payments -LT2Payment=Tax 3 payment -LT2Payments=Tax 3 payments -newLT1PaymentES=New RE payment -newLT2PaymentES=New IRPF payment -LT1PaymentES=RE Payment -LT1PaymentsES=RE Payments -LT2PaymentES=IRPF Payment -LT2PaymentsES=IRPF Payments -VATPayment=Sales tax payment -VATPayments=Sales tax payments -VATDeclarations=VAT declarations -VATDeclaration=VAT declaration -VATRefund=Sales tax refund -NewVATPayment=New sales tax payment -NewLocalTaxPayment=New tax %s payment -Refund=Refund -SocialContributionsPayments=Social/fiscal taxes payments -ShowVatPayment=Show VAT payment -TotalToPay=Total to pay -BalanceVisibilityDependsOnSortAndFilters=Balance is visible in this list only if table is sorted on %s and filtered on 1 bank account (with no other filters) -CustomerAccountancyCode=Customer accounting code -SupplierAccountancyCode=Vendor accounting code -CustomerAccountancyCodeShort=Cust. account. code -SupplierAccountancyCodeShort=Sup. account. code -AccountNumber=Account number -NewAccountingAccount=New account -Turnover=Turnover invoiced -TurnoverCollected=Turnover collected -SalesTurnoverMinimum=Minimum turnover -ByExpenseIncome=By expenses & incomes -ByThirdParties=By third parties -ByUserAuthorOfInvoice=By invoice author -CheckReceipt=Check deposit -CheckReceiptShort=Check deposit -LastCheckReceiptShort=Latest %s check receipts -NewCheckReceipt=New discount -NewCheckDeposit=New check deposit -NewCheckDepositOn=Create receipt for deposit on account: %s -NoWaitingChecks=No checks awaiting deposit. -DateChequeReceived=Check receiving date -NbOfCheques=No. of checks -PaySocialContribution=Pay a social/fiscal tax -PayVAT=Pay a VAT declaration -PaySalary=Pay a salary card -ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid ? -ConfirmPayVAT=Are you sure you want to classify this VAT declaration as paid ? -ConfirmPaySalary=Are you sure you want to classify this salary card as paid? -DeleteSocialContribution=Delete a social or fiscal tax payment -DeleteVAT=Delete a VAT declaration -DeleteSalary=Delete a salary card -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? -ExportDataset_tax_1=Social and fiscal taxes and payments -CalcModeVATDebt=Mode %sVAT on commitment accounting%s. -CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. -CalcModeDebt=Analysis of known recorded documents even if they are not yet accounted in ledger. -CalcModeEngagement=Analysis of known recorded payments, even if they are not yet accounted in Ledger. -CalcModeBookkeeping=Analysis of data journalized in Bookkeeping Ledger table. -CalcModeLT1= Mode %sRE on customer invoices - suppliers invoices%s -CalcModeLT1Debt=Mode %sRE on customer invoices%s -CalcModeLT1Rec= Mode %sRE on suppliers invoices%s -CalcModeLT2= Mode %sIRPF on customer invoices - suppliers invoices%s -CalcModeLT2Debt=Mode %sIRPF on customer invoices%s -CalcModeLT2Rec= Mode %sIRPF on suppliers invoices%s -AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary -AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary -AnnualByCompanies=Balance of income and expenses, by predefined groups of account -AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by predefined groups, mode %sClaims-Debts%s said Commitment accounting. +Accountparent=Ota-ona hisobi +Accountsparent=Ota-onalar hisoblari +Income=Daromad +Outcome=Xarajatlar +MenuReportInOut=Daromad / xarajatlar +ReportInOut=Daromadlar va xarajatlar balansi +ReportTurnover=Tovar-faktura +ReportTurnoverCollected=Tovar yig'ildi +PaymentsNotLinkedToInvoice=To'lovlar hech qanday hisob-fakturaga bog'lanmagan, shuning uchun hech qanday uchinchi tomon bilan bog'lanmagan +PaymentsNotLinkedToUser=Hech qanday foydalanuvchi bilan bog'lanmagan to'lovlar +Profit=Foyda +AccountingResult=Buxgalteriya natijasi +BalanceBefore=Balans (oldin) +Balance=Balans +Debit=Debet +Credit=Kredit +Piece=Buxgalteriya hujjati. +AmountHTVATRealReceived=Tarmoq yig'ildi +AmountHTVATRealPaid=Net to'langan +VATToPay=Soliqni sotish +VATReceived=Soliq olingan +VATToCollect=Soliq xaridlari +VATSummary=Soliq har oy +VATBalance=Soliq balansi +VATPaid=To'langan soliq +LT1Summary=Soliq 2 xulosasi +LT2Summary=Soliq 3 xulosasi +LT1SummaryES=RE balansi +LT2SummaryES=IRPF balansi +LT1SummaryIN=CGST balansi +LT2SummaryIN=SGST balansi +LT1Paid=Soliq 2 to'langan +LT2Paid=Soliq 3 to'langan +LT1PaidES=RE to'langan +LT2PaidES=IRPF pullik +LT1PaidIN=CGST pullik +LT2PaidIN=SGST pullik +LT1Customer=Soliq 2 sotuvi +LT1Supplier=Soliq 2 ta xarid +LT1CustomerES=RE savdolari +LT1SupplierES=RE xaridlari +LT1CustomerIN=CGST sotuvi +LT1SupplierIN=CGST xaridlari +LT2Customer=Soliq 3 sotuvi +LT2Supplier=Sotib olish 3 soliq +LT2CustomerES=IRPF sotuvi +LT2SupplierES=IRPF xaridlari +LT2CustomerIN=SGST sotuvi +LT2SupplierIN=SGST xaridlari +VATCollected=QQS yig'ildi +StatusToPay=To'lash uchun +SpecialExpensesArea=Barcha maxsus to'lovlar uchun maydon +VATExpensesArea=Barcha TVA to'lovlari uchun maydon +SocialContribution=Ijtimoiy yoki fiskal soliq +SocialContributions=Ijtimoiy yoki soliq soliqlari +SocialContributionsDeductibles=Chegiriladigan ijtimoiy yoki soliq soliqlari +SocialContributionsNondeductibles=Chegirilmaydigan ijtimoiy yoki soliq soliqlari +DateOfSocialContribution=Ijtimoiy yoki soliq soliqlarining sanasi +LabelContrib=Yorliq hissasi +TypeContrib=Hissa turi +MenuSpecialExpenses=Maxsus xarajatlar +MenuTaxAndDividends=Soliqlar va dividendlar +MenuSocialContributions=Ijtimoiy / soliq soliqlari +MenuNewSocialContribution=Yangi ijtimoiy / fiskal soliq +NewSocialContribution=Yangi ijtimoiy / fiskal soliq +AddSocialContribution=Ijtimoiy / soliq soliqlarini qo'shing +ContributionsToPay=To'lanadigan ijtimoiy / soliq soliqlari +AccountancyTreasuryArea=Hisob-kitob va to'lov maydoni +NewPayment=Yangi to'lov +PaymentCustomerInvoice=Mijozlar uchun hisob-fakturani to'lash +PaymentSupplierInvoice=sotuvchiga hisob-fakturani to'lash +PaymentSocialContribution=Ijtimoiy / soliq soliq to'lovi +PaymentVat=QQS to'lovi +AutomaticCreationPayment=To'lovni avtomatik ravishda yozib oling +ListPayment=To'lovlar ro'yxati +ListOfCustomerPayments=Mijozlar uchun to'lovlar ro'yxati +ListOfSupplierPayments=Sotuvchilarning to'lovlari ro'yxati +DateStartPeriod=Sana boshlanish davri +DateEndPeriod=Sana tugash davri +newLT1Payment=Yangi soliq 2 to'lovi +newLT2Payment=Yangi soliq 3 to'lovi +LT1Payment=Soliq 2 to'lash +LT1Payments=Soliq 2 to'lovlari +LT2Payment=Soliq 3 to'lovi +LT2Payments=Soliq 3 to'lovlari +newLT1PaymentES=Yangi RE to'lovi +newLT2PaymentES=IRPFning yangi to'lovi +LT1PaymentES=RE to'lovi +LT1PaymentsES=RE to'lovlari +LT2PaymentES=IRPF to'lovi +LT2PaymentsES=IRPF to'lovlari +VATPayment=Savdo uchun soliq to'lash +VATPayments=Sotish bo'yicha soliq to'lovlari +VATDeclarations=QQS deklaratsiyalari +VATDeclaration=QQS deklaratsiyasi +VATRefund=Savdo solig'ini qaytarish +NewVATPayment=Yangi savdo solig'i to'lovi +NewLocalTaxPayment=Yangi soliq %s to'lovi +Refund=Pulni qaytarish +SocialContributionsPayments=Ijtimoiy / soliq soliqlari bo'yicha to'lovlar +ShowVatPayment=QQS to'lovini ko'rsatish +TotalToPay=To'lov uchun jami +BalanceVisibilityDependsOnSortAndFilters=Balans ushbu ro'yxatda faqat jadval %s bo'yicha tartiblangan va 1 ta bank hisobvarag'ida filtrlangan bo'lsa ko'rinadi (boshqa filtrlarsiz) +CustomerAccountancyCode=Mijozlarni hisobga olish kodi +SupplierAccountancyCode=Sotuvchini hisobga olish kodi +CustomerAccountancyCodeShort=Himoyalash. hisob qaydnomasi. kod +SupplierAccountancyCodeShort=Sup. hisob qaydnomasi. kod +AccountNumber=Hisob raqami +NewAccountingAccount=Yangi hisob +Turnover=Tovar-faktura +TurnoverCollected=Tovar yig'ildi +SalesTurnoverMinimum=Minimal oborot +ByExpenseIncome=Xarajatlar va daromadlar bo'yicha +ByThirdParties=Uchinchi shaxslar tomonidan +ByUserAuthorOfInvoice=Hisob-faktura muallifi tomonidan +CheckReceipt=Depozitni tekshiring +CheckReceiptShort=Depozitni tekshiring +LastCheckReceiptShort=Oxirgi %s cheklari +NewCheckReceipt=Yangi chegirma +NewCheckDeposit=Yangi chegirma depoziti +NewCheckDepositOn=Hisob raqamiga depozit uchun kvitansiya yarating: %s +NoWaitingChecks=Depozitni kutayotgan cheklar yo'q. +DateChequeReceived=Qabul qilingan kunni tekshiring +NbOfCheques=Chexlar soni +PaySocialContribution=Ijtimoiy / soliq soliqlarini to'lang +PayVAT=QQS deklaratsiyasini to'lash +PaySalary=Ish haqi kartasini to'lang +ConfirmPaySocialContribution=Haqiqatan ham ushbu ijtimoiy yoki soliq soliqlarini to'langan deb tasniflashni xohlaysizmi? +ConfirmPayVAT=Haqiqatan ham ushbu QQS deklaratsiyasini to'langan deb tasniflashni xohlaysizmi? +ConfirmPaySalary=Ushbu ish haqi kartasini to'langan deb tasniflashni xohlaysizmi? +DeleteSocialContribution=Ijtimoiy yoki soliq soliq to'lovini o'chirib tashlang +DeleteVAT=QQS deklaratsiyasini o'chirib tashlang +DeleteSalary=Ish haqi kartasini o'chirib tashlang +ConfirmDeleteSocialContribution=Ushbu ijtimoiy / soliq soliq to'lovini o'chirishni xohlaysizmi? +ConfirmDeleteVAT=Ushbu QQS deklaratsiyasini o'chirishni xohlaysizmi? +ConfirmDeleteSalary=Ushbu ish haqini o'chirishni xohlaysizmi? +ExportDataset_tax_1=Ijtimoiy va soliq soliqlari va to'lovlari +CalcModeVATDebt=Modda %s majburiyatlarni hisobga olish bo'yicha QQS %s . +CalcModeVATEngagement= %s daromad-xarajatlar bo'yicha QQS %s . +CalcModeDebt=Hali ham daftarda hisobga olinmagan bo'lsa ham, ma'lum qayd qilingan hujjatlarni tahlil qilish. +CalcModeEngagement=Hali Ledjerda hisobga olinmagan bo'lsa ham, ma'lum yozilgan to'lovlarni tahlil qilish. +CalcModeBookkeeping=Buxgalteriya hisobi jadvalida qayd etilgan ma'lumotlarni tahlil qilish. +CalcModeLT1= Xaridorlarning hisob-fakturalarida %sRE rejimi - etkazib beruvchilar invoices%s +CalcModeLT1Debt= %sRE rejimi xaridorlarning invoyslarida %s +CalcModeLT1Rec= %sRE rejimi etkazib beruvchilar bo'yicha invoices%s +CalcModeLT2= %sIRPF rejimi xaridorlarning hisob-fakturalarida - etkazib beruvchilar invoices%s +CalcModeLT2Debt= %sIRPF rejimi mijozning hisob-fakturalarida %s +CalcModeLT2Rec= %sIRPF etkazib beruvchilar bo'yicha invoices%s +AnnualSummaryDueDebtMode=Daromadlar va xarajatlar balansi, yillik xulosa +AnnualSummaryInputOutputMode=Daromadlar va xarajatlar balansi, yillik xulosa +AnnualByCompanies=Oldindan belgilangan hisob guruhlari bo'yicha daromadlar va xarajatlar balansi +AnnualByCompaniesDueDebtMode=Daromadlar va xarajatlar balansi, oldindan aniqlangan guruhlar bo'yicha batafsil ma'lumot, %sClaims-Debts%s majburiyatlarni hisobga olish a098 AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by predefined groups, mode %sIncomes-Expenses%s said cash accounting. -SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation based on recorded payments made even if they are not yet accounted in Ledger -SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger -SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table -RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
    - It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. -RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
    - It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. -RulesCADue=- It includes the customer's due invoices whether they are paid or not.
    - It is based on the billing date of these invoices.
    -RulesCAIn=- It includes all the effective payments of invoices received from customers.
    - It is based on the payment date of these invoices
    -RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME -RulesAmountOnInOutBookkeepingRecord=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" -RulesResultBookkeepingPredefined=It includes record in your Ledger with accounting accounts that has the group "EXPENSE" or "INCOME" -RulesResultBookkeepingPersonalized=It show record in your Ledger with accounting accounts grouped by personalized groups -SeePageForSetup=See menu %s for setup -DepositsAreNotIncluded=- Down payment invoices are not included -DepositsAreIncluded=- Down payment invoices are included -LT1ReportByMonth=Tax 2 report by month -LT2ReportByMonth=Tax 3 report by month -LT1ReportByCustomers=Report tax 2 by third party -LT2ReportByCustomers=Report tax 3 by third party -LT1ReportByCustomersES=Report by third party RE -LT2ReportByCustomersES=Report by third party IRPF -VATReport=Sale tax report -VATReportByPeriods=Sale tax report by period -VATReportByMonth=Sale tax report by month -VATReportByRates=Sale tax report by rates -VATReportByThirdParties=Sale tax report by third parties -VATReportByCustomers=Sale tax report by customer -VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid -VATReportByQuartersInInputOutputMode=Report by Sale tax rate of the tax collected and paid -VATReportShowByRateDetails=Show details of this rate -LT1ReportByQuarters=Report tax 2 by rate -LT2ReportByQuarters=Report tax 3 by rate -LT1ReportByQuartersES=Report by RE rate -LT2ReportByQuartersES=Report by IRPF rate -SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation -SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow -RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. -RulesVATInProducts=- For material assets, the report includes the VAT received or issued on the basis of the date of payment. -RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. -RulesVATDueProducts=- For material assets, the report includes the VAT invoices, based on the invoice date. -OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. -ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values -PercentOfInvoice=%%/invoice -NotUsedForGoods=Not used on goods -ProposalStats=Statistics on proposals -OrderStats=Statistics on orders -InvoiceStats=Statistics on bills -Dispatch=Dispatching -Dispatched=Dispatched -ToDispatch=To dispatch -ThirdPartyMustBeEditAsCustomer=Third party must be defined as a customer -SellsJournal=Sales Journal -PurchasesJournal=Purchases Journal -DescSellsJournal=Sales Journal -DescPurchasesJournal=Purchases Journal -CodeNotDef=Not defined -WarningDepositsNotIncluded=Down payment invoices are not included in this version with this accountancy module. -DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. -Pcg_version=Chart of accounts models -Pcg_type=Pcg type -Pcg_subtype=Pcg subtype -InvoiceLinesToDispatch=Invoice lines to dispatch -ByProductsAndServices=By product and service -RefExt=External ref -ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click on button "%s". -LinkedOrder=Link to order -Mode1=Method 1 -Mode2=Method 2 -CalculationRuleDesc=To calculate total VAT, there is two methods:
    Method 1 is rounding vat on each line, then summing them.
    Method 2 is summing all vat on each line, then rounding result.
    Final result may differs from few cents. Default mode is mode %s. -CalculationRuleDescSupplier=According to vendor, choose appropriate method to apply same calculation rule and get same result expected by your vendor. -TurnoverPerProductInCommitmentAccountingNotRelevant=The report of Turnover collected per product is not available. This report is only available for turnover invoiced. -TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. -CalculationMode=Calculation mode -AccountancyJournal=Accounting code journal -ACCOUNTING_VAT_SOLD_ACCOUNT=Accounting account by default for VAT on sales (used if not defined on VAT dictionary setup) -ACCOUNTING_VAT_BUY_ACCOUNT=Accounting account by default for VAT on purchases (used if not defined on VAT dictionary setup) -ACCOUNTING_VAT_PAY_ACCOUNT=Accounting account by default for paying VAT -ACCOUNTING_ACCOUNT_CUSTOMER=Accounting account used for customer third parties -ACCOUNTING_ACCOUNT_CUSTOMER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated customer accounting account on third party is not defined. -ACCOUNTING_ACCOUNT_SUPPLIER=Accounting account used for vendor third parties -ACCOUNTING_ACCOUNT_SUPPLIER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated vendor accounting account on third party is not defined. -ConfirmCloneTax=Confirm the clone of a social/fiscal tax -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary -CloneTaxForNextMonth=Clone it for next month -SimpleReport=Simple report -AddExtraReport=Extra reports (add foreign and national customer report) -OtherCountriesCustomersReport=Foreign customers report -BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code -SameCountryCustomersWithVAT=National customers report -BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code -LinkedFichinter=Link to an intervention -ImportDataset_tax_contrib=Social/fiscal taxes -ImportDataset_tax_vat=Vat payments -ErrorBankAccountNotFound=Error: Bank account not found -FiscalPeriod=Accounting period -ListSocialContributionAssociatedProject=List of social contributions associated with the project -DeleteFromCat=Remove from accounting group -AccountingAffectation=Accounting assignment -LastDayTaxIsRelatedTo=Last day of period the tax is related to -VATDue=Sale tax claimed -ClaimedForThisPeriod=Claimed for the period -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range -ByVatRate=By sale tax rate -TurnoverbyVatrate=Turnover invoiced by sale tax rate -TurnoverCollectedbyVatrate=Turnover collected by sale tax rate -PurchasebyVatrate=Purchase by sale tax rate -LabelToShow=Short label -PurchaseTurnover=Purchase turnover -PurchaseTurnoverCollected=Purchase turnover collected -RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
    - It is based on the invoice date of these invoices.
    -RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
    - It is based on the payment date of these invoices
    -RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE -ReportPurchaseTurnover=Purchase turnover invoiced -ReportPurchaseTurnoverCollected=Purchase turnover collected -IncludeVarpaysInResults = Include various payments in reports -IncludeLoansInResults = Include loans in reports +SeeReportInInputOutputMode= %s to'lovni tahlil qilishs%s ga asoslanib, asosida yozilgan to'lovlarni ko'ring , agar ular amalga oshirilmagan bo'lsa ham +SeeReportInDueDebtMode= %s yozilgan hujjatlarni tahlil qilish %s ga asoslanib, ma'lum yozilgan hujjatlar even ifed +SeeReportInBookkeepingMode= %s buxgalteriya hisobi jadvalini tahlil qilish table%s ga asoslangan hisobot uchun buxgalteriya hisobi jadvali a09f89 +RulesAmountWithTaxIncluded=- Ko'rsatilgan summalar barcha soliqlarni hisobga olgan holda +RulesResultDue=- Unda to'lamagan-to'lanmagan hisob-fakturalar, xarajatlar, QQS, xayr-ehsonlar mavjud. Shuningdek, unga to'langan ish haqi kiradi.
    - Bu schyot-fakturalarni taqdim etish sanasiga va xarajatlar yoki soliq to'lovlarini to'lash sanasiga asoslanadi. Ish haqi moduli bilan belgilangan ish haqi uchun to'lovning sanasi qo'llaniladi. +RulesResultInOut=- Unda fakturalar, xarajatlar, QQS va ish haqi bo'yicha amalga oshirilgan real to'lovlar mavjud.
    - Bu hisob-fakturalar, xarajatlar, QQS va ish haqlarini to'lash sanalariga asoslanadi. Xayriya uchun xayr-ehson sanasi. +RulesCADue=- U mijozning to'lash yoki to'lamasligidan kelib chiqadigan hisob-fakturalarini o'z ichiga oladi.
    - Ushbu hisob-fakturalarning hisob-kitob sanasiga asoslanadi.
    +RulesCAIn=- Bu mijozlardan olingan hisob-fakturalarning barcha samarali to'lovlarini o'z ichiga oladi.
    - u ushbu hisob-fakturalarni to'lash sanasiga asoslanadi
    +RulesCATotalSaleJournal=U Sotish jurnalidagi barcha kredit liniyalarini o'z ichiga oladi. +RulesSalesTurnoverOfIncomeAccounts=Unga INCOME guruhidagi mahsulot hisobvaraqlari uchun chiziqlar (kredit - debet) kiradi +RulesAmountOnInOutBookkeepingRecord=Unda "XARAJATLAR" yoki "KIRISh" guruhiga ega bo'lgan buxgalteriya hisobvarag'i bilan sizning daftaringizdagi yozuv mavjud. +RulesResultBookkeepingPredefined=Unda "XARAJATLAR" yoki "KIRISh" guruhiga ega bo'lgan buxgalteriya hisobvarag'i bilan sizning daftaringizdagi yozuv mavjud. +RulesResultBookkeepingPersonalized=
    shaxsiylashtirilgan guruhlar bo'yicha guruhlangan buxgalteriya hisobi bilan sizning daftaringizdagi yozuvni ko'rsatadi. +SeePageForSetup=O'rnatish uchun %s menyusiga qarang +DepositsAreNotIncluded=- Dastlabki to'lovlar bo'yicha hisob-kitoblar kiritilmagan +DepositsAreIncluded=- Dastlabki hisob-fakturalar kiritilgan +LT1ReportByMonth=Oy bo'yicha soliq 2 hisoboti +LT2ReportByMonth=Oy bo'yicha soliq 3 hisoboti +LT1ReportByCustomers=Uchinchi shaxslar tomonidan soliq 2 haqida hisobot berish +LT2ReportByCustomers=Uchinchi shaxslar tomonidan soliq bo'yicha hisobot 3 +LT1ReportByCustomersES=Uchinchi tomon RE tomonidan hisobot +LT2ReportByCustomersES=Uchinchi tomon IRPF hisoboti +VATReport=Sotish bo'yicha soliq hisoboti +VATReportByPeriods=Sotish bo'yicha soliq hisoboti davrlar bo'yicha +VATReportByMonth=Sotish bo'yicha soliq hisoboti oylar bo'yicha +VATReportByRates=Sotish bo'yicha soliq hisoboti stavkalar bo'yicha +VATReportByThirdParties=Uchinchi shaxslarning sotish bo'yicha soliq hisoboti +VATReportByCustomers=Xaridor tomonidan sotilgan soliq hisoboti +VATReportByCustomersInInputOutputMode=Mijoz tomonidan yig'ilgan va to'langan QQS bo'yicha hisobot +VATReportByQuartersInInputOutputMode=Sotish bo'yicha hisobot, yig'ilgan va to'langan soliqning soliq stavkasi +VATReportShowByRateDetails=Ushbu stavka tafsilotlarini ko'rsating +LT1ReportByQuarters=2 stavkasi bo'yicha soliq to'g'risida hisobot bering +LT2ReportByQuarters=3 stavkasi bo'yicha soliqni hisobot qiling +LT1ReportByQuartersES=RE stavkasi bo'yicha hisobot +LT2ReportByQuartersES=IRPF stavkasi bo'yicha hisobot +SeeVATReportInInputOutputMode=Standart hisob-kitob uchun %sVAT encasement%s hisobotiga qarang +SeeVATReportInDueDebtMode=Flow%s bo'yicha %sVAT hisobotiga qarang +RulesVATInServices=- Xizmatlar uchun hisobotda to'lov sanasi asosida olingan yoki chiqarilgan QQS bo'yicha qoidalar mavjud. +RulesVATInProducts=- Moddiy boyliklar uchun hisobotga to'lov sanasi asosida olingan yoki chiqarilgan QQS qo'shiladi. +RulesVATDueServices=- Xizmatlar uchun hisobotda hisob-kitob sanasi asosida to'lanadigan yoki to'lanmagan QQS hisob-fakturalari mavjud. +RulesVATDueProducts=- Moddiy boyliklar uchun hisobotda sana asosida QQS bo'yicha hisob-kitoblar mavjud. +OptionVatInfoModuleComptabilite=Izoh: Moddiy boyliklar uchun etkazib berish sanasidan ko'proq adolatli bo'lishi kerak. +ThisIsAnEstimatedValue=Bu oxirgi daftar jadvalidan emas, balki biznes voqealaridan kelib chiqqan holda oldindan ko'rish, shuning uchun yakuniy natijalar ushbu oldindan ko'rish qiymatlaridan farq qilishi mumkin +PercentOfInvoice=%% / hisob-faktura +NotUsedForGoods=Tovarlarda ishlatilmaydi +ProposalStats=Takliflar bo'yicha statistika +OrderStats=Buyurtmalar bo'yicha statistika +InvoiceStats=Xarajatlar bo'yicha statistika +Dispatch=Jo'natish +Dispatched=Jo'natildi +ToDispatch=Jo'natish uchun +ThirdPartyMustBeEditAsCustomer=Uchinchi tomon mijoz sifatida aniqlanishi kerak +SellsJournal=Savdo jurnali +PurchasesJournal=Xaridlar jurnali +DescSellsJournal=Savdo jurnali +DescPurchasesJournal=Xaridlar jurnali +CodeNotDef=Belgilanmagan +WarningDepositsNotIncluded=Dastlabki hisob-fakturalar ushbu hisobga olish moduli bilan ushbu versiyaga kiritilmagan. +DatePaymentTermCantBeLowerThanObjectDate=To'lov muddati sana ob'ekt sanasidan past bo'lishi mumkin emas. +Pcg_version=Hisob-kitoblar modellari sxemasi +Pcg_type=Kompyuter turi +Pcg_subtype=PCC pastki turi +InvoiceLinesToDispatch=Jo'natish uchun hisob-faktura satrlari +ByProductsAndServices=Mahsulot va xizmat bo'yicha +RefExt=Tashqi ref +ToCreateAPredefinedInvoice=Shablon hisob-fakturasini yaratish uchun standart hisob-fakturani yarating, keyin uni tasdiqlamasdan "%s" tugmasini bosing. +LinkedOrder=Buyurtma uchun havola +Mode1=1-usul +Mode2=2-usul +CalculationRuleDesc=Jami QQSni hisoblash uchun ikkita usul mavjud:
    1-usul har bir satrda QQSni yaxlitlash, so'ngra ularni yig'ish.
    2-usul har bir satrda barcha QQSni yig'ib, so'ngra yaxlitlash natijasini beradi.
    yakuniy natija bir necha sentdan farq qilishi mumkin. Standart rejim - bu %s rejimi. +CalculationRuleDescSupplier=Sotuvchiga ko'ra, xuddi shu hisoblash qoidasini qo'llash uchun tegishli usulni tanlang va sotuvchingiz kutgan natijani oling. +TurnoverPerProductInCommitmentAccountingNotRelevant=Har bir mahsulot uchun to'plangan tovar aylanmasi to'g'risida hisobot mavjud emas. Ushbu hisobot faqat tovar aylanmasi uchun taqdim etiladi. +TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=Sotish uchun soliq stavkasi bo'yicha yig'ilgan tovar aylanmasi to'g'risidagi hisobot mavjud emas. Ushbu hisobot faqat tovar aylanmasi uchun taqdim etiladi. +CalculationMode=Hisoblash rejimi +AccountancyJournal=Buxgalteriya kodlari jurnali +ACCOUNTING_VAT_SOLD_ACCOUNT=Sotish bo'yicha QQS uchun sukut bo'yicha buxgalteriya hisobi (agar QQS lug'atida o'rnatilmagan bo'lsa ishlatiladi) +ACCOUNTING_VAT_BUY_ACCOUNT=Xaridlarda QQS uchun sukut bo'yicha buxgalteriya hisobi (agar QQS lug'atida o'rnatilmagan bo'lsa ishlatiladi) +ACCOUNTING_VAT_PAY_ACCOUNT=QQS to'lash uchun sukut bo'yicha buxgalteriya hisobi +ACCOUNTING_ACCOUNT_CUSTOMER=Mijozlarning uchinchi shaxslari uchun foydalaniladigan buxgalteriya hisobi +ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Uchinchi tomon kartasida belgilangan buxgalteriya hisobi faqat Subledger buxgalteriyasi uchun ishlatiladi. Ushbu mablag 'Bosh daftar uchun ishlatiladi va Subledger buxgalteriya hisobining standart qiymati sifatida, agar uchinchi tomonning maxsus mijozlar hisobi aniqlanmagan bo'lsa. +ACCOUNTING_ACCOUNT_SUPPLIER=Sotuvchi uchinchi shaxslar uchun foydalaniladigan buxgalteriya hisobi +ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Uchinchi tomon kartasida belgilangan buxgalteriya hisobi faqat Subledger buxgalteriyasi uchun ishlatiladi. Ushbu mablag 'Bosh daftar uchun va Subledger buxgalteriya hisobining standart qiymati sifatida ishlatiladi, agar uchinchi tomonning maxsus sotuvchisi buxgalteriya hisobi aniqlanmasa. +ConfirmCloneTax=Ijtimoiy / soliq soliqlarining klonini tasdiqlang +ConfirmCloneVAT=QQS deklaratsiyasining klonini tasdiqlang +ConfirmCloneSalary=Ish haqi klonini tasdiqlang +CloneTaxForNextMonth=Uni keyingi oyga klonlang +SimpleReport=Oddiy hisobot +AddExtraReport=Qo'shimcha hisobotlar (xorijiy va milliy mijozlar hisobotini qo'shing) +OtherCountriesCustomersReport=Xorijiy mijozlar hisobot berishadi +BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=QQS raqamining ikkita birinchi harfi asosida o'zingizning kompaniyangizning mamlakat kodidan farq qiladi +SameCountryCustomersWithVAT=Milliy mijozlar hisobot berishadi +BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=O'zingizning kompaniyangizning mamlakat kodi bilan bir xil bo'lgan QQS raqamining ikkita birinchi harfi asosida +LinkedFichinter=Aralashuvga havola +ImportDataset_tax_contrib=Ijtimoiy / soliq soliqlari +ImportDataset_tax_vat=QQS bo'yicha to'lovlar +ErrorBankAccountNotFound=Xato: bank hisobi topilmadi +FiscalPeriod=Hisob davri +ListSocialContributionAssociatedProject=Loyiha bilan bog'liq ijtimoiy to'lovlar ro'yxati +DeleteFromCat=Buxgalteriya guruhidan chiqarib tashlash +AccountingAffectation=Buxgalteriya hisobi +LastDayTaxIsRelatedTo=Soliq davrning oxirgi kuni bilan bog'liq +VATDue=Sotish solig'i talab qilinadi +ClaimedForThisPeriod=Davr uchun da'vo qilingan +PaidDuringThisPeriod=Ushbu davr uchun to'langan +PaidDuringThisPeriodDesc=Bu tanlangan sana oralig'ida muddati tugagan QQS deklaratsiyalariga bog'langan barcha to'lovlarning yig'indisi +ByVatRate=Sotish bo'yicha soliq stavkasi bo'yicha +TurnoverbyVatrate=Sotish bo'yicha soliq stavkasi bo'yicha hisob-kitob qilingan tovar aylanmasi +TurnoverCollectedbyVatrate=Sotish soliq stavkasi bo'yicha yig'ilgan tovar aylanmasi +PurchasebyVatrate=Sotish bo'yicha soliq stavkasi bo'yicha sotib olish +LabelToShow=Qisqa yorliq +PurchaseTurnover=Xaridlar aylanmasi +PurchaseTurnoverCollected=Xarid qilish oboroti yig'ildi +RulesPurchaseTurnoverDue=- Bu etkazib beruvchining to'langan yoki to'lanmagan hisob-fakturalarini o'z ichiga oladi.
    - Ushbu hisob-fakturalarning hisob-kitob sanasiga asoslanadi.
    +RulesPurchaseTurnoverIn=- Bu etkazib beruvchilarga hisob-fakturalarning barcha samarali to'lovlarini o'z ichiga oladi.
    - u ushbu hisob-fakturalarni to'lash sanasiga asoslanadi
    +RulesPurchaseTurnoverTotalPurchaseJournal=U sotib olish jurnalidagi barcha debet yo'nalishlarini o'z ichiga oladi. +RulesPurchaseTurnoverOfExpenseAccounts=U XARAJATLAR guruhidagi mahsulot schyotlari uchun yo'nalishlarni (debet - kredit) o'z ichiga oladi +ReportPurchaseTurnover=Xarid qilish oboroti schyot-fakturada +ReportPurchaseTurnoverCollected=Xarid qilish oboroti yig'ildi +IncludeVarpaysInResults = Hisobotlarga turli xil to'lovlarni kiriting +IncludeLoansInResults = Hisobotlarga kreditlarni kiriting +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Hisob-kitoblar kechiktirildi +InvoiceNotLate = To'plash uchun <15 kun +InvoiceNotLate15Days = 15 kun ichida yig'ib olinadi +InvoiceNotLate30Days = 30 kun ichida yig'ib olinadi diff --git a/htdocs/langs/uz_UZ/contracts.lang b/htdocs/langs/uz_UZ/contracts.lang index a9ac308142a..9898cd58cf4 100644 --- a/htdocs/langs/uz_UZ/contracts.lang +++ b/htdocs/langs/uz_UZ/contracts.lang @@ -1,104 +1,104 @@ # Dolibarr language file - Source file is en_US - contracts -ContractsArea=Contracts area -ListOfContracts=List of contracts -AllContracts=All contracts -ContractCard=Contract card -ContractStatusNotRunning=Not running -ContractStatusDraft=Draft -ContractStatusValidated=Validated -ContractStatusClosed=Closed -ServiceStatusInitial=Not running -ServiceStatusRunning=Running -ServiceStatusNotLate=Running, not expired -ServiceStatusNotLateShort=Not expired -ServiceStatusLate=Running, expired -ServiceStatusLateShort=Expired -ServiceStatusClosed=Closed -ShowContractOfService=Show contract of service -Contracts=Contracts -ContractsSubscriptions=Contracts/Subscriptions -ContractsAndLine=Contracts and line of contracts -Contract=Contract -ContractLine=Contract line -Closing=Closing -NoContracts=No contracts -MenuServices=Services -MenuInactiveServices=Services not active -MenuRunningServices=Running services -MenuExpiredServices=Expired services -MenuClosedServices=Closed services -NewContract=New contract -NewContractSubscription=New contract or subscription -AddContract=Create contract -DeleteAContract=Delete a contract -ActivateAllOnContract=Activate all services -CloseAContract=Close a contract -ConfirmDeleteAContract=Are you sure you want to delete this contract and all its services? -ConfirmValidateContract=Are you sure you want to validate this contract under name %s? -ConfirmActivateAllOnContract=This will open all services (not yet active). Are you sure you want to open all services? -ConfirmCloseContract=This will close all services (active or not). Are you sure you want to close this contract? -ConfirmCloseService=Are you sure you want to close this service with date %s? -ValidateAContract=Validate a contract -ActivateService=Activate service -ConfirmActivateService=Are you sure you want to activate this service with date %s? -RefContract=Contract reference -DateContract=Contract date -DateServiceActivate=Service activation date -ListOfServices=List of services -ListOfInactiveServices=List of not active services -ListOfExpiredServices=List of expired active services -ListOfClosedServices=List of closed services -ListOfRunningServices=List of running services -NotActivatedServices=Inactive services (among validated contracts) -BoardNotActivatedServices=Services to activate among validated contracts -BoardNotActivatedServicesShort=Services to activate -LastContracts=Latest %s contracts -LastModifiedServices=Latest %s modified services -ContractStartDate=Start date -ContractEndDate=End date -DateStartPlanned=Planned start date -DateStartPlannedShort=Planned start date -DateEndPlanned=Planned end date -DateEndPlannedShort=Planned end date -DateStartReal=Real start date -DateStartRealShort=Real start date -DateEndReal=Real end date -DateEndRealShort=Real end date -CloseService=Close service -BoardRunningServices=Services running -BoardRunningServicesShort=Services running -BoardExpiredServices=Services expired -BoardExpiredServicesShort=Services expired -ServiceStatus=Status of service -DraftContracts=Drafts contracts -CloseRefusedBecauseOneServiceActive=Contract can't be closed as there is at least one open service on it -ActivateAllContracts=Activate all contract lines -CloseAllContracts=Close all contract lines -DeleteContractLine=Delete a contract line -ConfirmDeleteContractLine=Are you sure you want to delete this contract line? -MoveToAnotherContract=Move service into another contract. -ConfirmMoveToAnotherContract=I choosed new target contract and confirm I want to move this service into this contract. -ConfirmMoveToAnotherContractQuestion=Choose in which existing contract (of same third party), you want to move this service to? -PaymentRenewContractId=Renew contract line (number %s) -ExpiredSince=Expiration date -NoExpiredServices=No expired active services -ListOfServicesToExpireWithDuration=List of Services to expire in %s days -ListOfServicesToExpireWithDurationNeg=List of Services expired from more than %s days -ListOfServicesToExpire=List of Services to expire -NoteListOfYourExpiredServices=This list contains only services of contracts for third parties you are linked to as a sale representative. -StandardContractsTemplate=Standard contracts template -ContactNameAndSignature=For %s, name and signature: -OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. -ConfirmCloneContract=Are you sure you want to clone the contract %s? -LowerDateEndPlannedShort=Lower planned end date of active services -SendContractRef=Contract information __REF__ -OtherContracts=Other contracts +ContractsArea=Shartnomalar maydoni +ListOfContracts=Shartnomalar ro'yxati +AllContracts=Barcha shartnomalar +ContractCard=Shartnoma kartasi +ContractStatusNotRunning=Ishlamayapti +ContractStatusDraft=Qoralama +ContractStatusValidated=Tasdiqlangan +ContractStatusClosed=Yopiq +ServiceStatusInitial=Ishlamayapti +ServiceStatusRunning=Yugurish +ServiceStatusNotLate=Yugurish, muddati tugamagan +ServiceStatusNotLateShort=Muddati tugamagan +ServiceStatusLate=Yugurish, muddati tugagan +ServiceStatusLateShort=Muddati tugagan +ServiceStatusClosed=Yopiq +ShowContractOfService=Xizmat shartnomasini ko'rsatish +Contracts=Shartnomalar +ContractsSubscriptions=Shartnomalar / Obunalar +ContractsAndLine=Shartnomalar va shartnomalar liniyasi +Contract=Shartnoma +ContractLine=Shartnoma liniyasi +Closing=Yopish +NoContracts=Shartnomalar yo'q +MenuServices=Xizmatlar +MenuInactiveServices=Xizmatlar faol emas +MenuRunningServices=Ishlayotgan xizmatlar +MenuExpiredServices=Muddati o'tgan xizmatlar +MenuClosedServices=Yopiq xizmatlar +NewContract=Yangi shartnoma +NewContractSubscription=Yangi shartnoma yoki obuna +AddContract=Shartnoma tuzing +DeleteAContract=Shartnomani o'chirib tashlang +ActivateAllOnContract=Barcha xizmatlarni faollashtiring +CloseAContract=Shartnomani yoping +ConfirmDeleteAContract=Ushbu shartnomani va uning barcha xizmatlarini o'chirishni xohlaysizmi? +ConfirmValidateContract=Ushbu shartnomani %s nomi bilan tasdiqlamoqchimisiz? +ConfirmActivateAllOnContract=Bu barcha xizmatlarni ochadi (hali faol emas). Barcha xizmatlarni ochishni xohlaysizmi? +ConfirmCloseContract=Bu barcha xizmatlarni yopadi (faol yoki yo'q). Ushbu shartnomani yopmoqchi ekanligingizga aminmisiz? +ConfirmCloseService=Ushbu xizmatni %s sanasi bilan yopishni xohlaysizmi? +ValidateAContract=Shartnomani tasdiqlang +ActivateService=Xizmatni yoqing +ConfirmActivateService=Siz ushbu xizmatni %s sanasi bilan faollashtirishni xohlaysizmi? +RefContract=Shartnoma bo'yicha ma'lumotnoma +DateContract=Shartnoma tuzilgan sana +DateServiceActivate=Xizmatni yoqish sanasi +ListOfServices=Xizmatlar ro'yxati +ListOfInactiveServices=Faol bo'lmagan xizmatlarning ro'yxati +ListOfExpiredServices=Muddati o'tgan faol xizmatlarning ro'yxati +ListOfClosedServices=Yopiq xizmatlarning ro'yxati +ListOfRunningServices=Amaldagi xizmatlarning ro'yxati +NotActivatedServices=Faol bo'lmagan xizmatlar (tasdiqlangan shartnomalar orasida) +BoardNotActivatedServices=Tasdiqlangan shartnomalar orasida faollashtirish uchun xizmatlar +BoardNotActivatedServicesShort=Faollashtirish uchun xizmatlar +LastContracts=Oxirgi %s shartnomalari +LastModifiedServices=Oxirgi %s o'zgartirilgan xizmatlari +ContractStartDate=Boshlanish vaqti +ContractEndDate=Tugash sanasi +DateStartPlanned=Rejalashtirilgan boshlanish sanasi +DateStartPlannedShort=Rejalashtirilgan boshlanish sanasi +DateEndPlanned=Rejalashtirilgan tugash sanasi +DateEndPlannedShort=Rejalashtirilgan tugash sanasi +DateStartReal=Haqiqiy boshlanish sanasi +DateStartRealShort=Haqiqiy boshlanish sanasi +DateEndReal=Haqiqiy tugash sanasi +DateEndRealShort=Haqiqiy tugash sanasi +CloseService=Xizmatni yoping +BoardRunningServices=Xizmatlar ishlaydi +BoardRunningServicesShort=Xizmatlar ishlaydi +BoardExpiredServices=Xizmatlar muddati tugagan +BoardExpiredServicesShort=Xizmatlar muddati tugagan +ServiceStatus=Xizmat holati +DraftContracts=Shartnomalar +CloseRefusedBecauseOneServiceActive=Shartnomani yopish mumkin emas, chunki unda kamida bitta ochiq xizmat mavjud +ActivateAllContracts=Barcha kontrakt liniyalarini faollashtiring +CloseAllContracts=Barcha shartnoma satrlarini yoping +DeleteContractLine=Shartnoma satrini o'chirib tashlang +ConfirmDeleteContractLine=Ushbu shartnoma qatorini o'chirishni xohlaysizmi? +MoveToAnotherContract=Xizmatni boshqa shartnomaga o'tkazing. +ConfirmMoveToAnotherContract=Men yangi maqsadli shartnomani tanladim va ushbu xizmatni ushbu shartnomaga o'tkazishni xohlayotganimni tasdiqladim. +ConfirmMoveToAnotherContractQuestion=Qaysi amaldagi shartnomada (xuddi shu uchinchi tomonda) ushbu xizmatga o'tishni xohlaysizmi? +PaymentRenewContractId=Shartnomani yangilang (raqam %s) +ExpiredSince=Tugash muddati +NoExpiredServices=Muddati o'tgan faol xizmatlar yo'q +ListOfServicesToExpireWithDuration=%s kun ichida tugaydigan xizmatlar ro'yxati +ListOfServicesToExpireWithDurationNeg=Xizmatlar ro'yxati %s kundan ortiq muddatda tugagan +ListOfServicesToExpire=Muddati tugaydigan xizmatlar ro'yxati +NoteListOfYourExpiredServices=Ushbu ro'yxatda faqat savdo vakili sifatida bog'langan uchinchi shaxslar uchun shartnomalar xizmatlari mavjud. +StandardContractsTemplate=Standart shartnomalar shabloni +ContactNameAndSignature=%s uchun ism va imzo: +OnlyLinesWithTypeServiceAreUsed=Faqat "Xizmat" turidagi liniyalar klonlanadi. +ConfirmCloneContract= %s shartnomasini klonlashni xohlaysizmi? +LowerDateEndPlannedShort=Faol xizmatlarning quyi rejalashtirilgan tugash sanasi +SendContractRef=Shartnoma to'g'risidagi ma'lumotlar __REF__ +OtherContracts=Boshqa shartnomalar ##### Types de contacts ##### -TypeContact_contrat_internal_SALESREPSIGN=Sales representative signing contract -TypeContact_contrat_internal_SALESREPFOLL=Sales representative following-up contract -TypeContact_contrat_external_BILLING=Billing customer contact -TypeContact_contrat_external_CUSTOMER=Follow-up customer contact -TypeContact_contrat_external_SALESREPSIGN=Signing contract customer contact -HideClosedServiceByDefault=Hide closed services by default -ShowClosedServices=Show Closed Services -HideClosedServices=Hide Closed Services +TypeContact_contrat_internal_SALESREPSIGN=Savdo vakili shartnomani imzolash +TypeContact_contrat_internal_SALESREPFOLL=Savdo vakili keyingi shartnoma +TypeContact_contrat_external_BILLING=Xaridor bilan hisob-kitob qilish +TypeContact_contrat_external_CUSTOMER=Keyingi mijozlar bilan aloqa +TypeContact_contrat_external_SALESREPSIGN=Mijozlar bilan aloqa shartnomasini imzolash +HideClosedServiceByDefault=Sukut bo'yicha yopiq xizmatlarni yashirish +ShowClosedServices=Yopiq xizmatlarni ko'rsatish +HideClosedServices=Yopiq xizmatlarni yashirish diff --git a/htdocs/langs/uz_UZ/cron.lang b/htdocs/langs/uz_UZ/cron.lang index 2ebdda1e685..77e3b554a54 100644 --- a/htdocs/langs/uz_UZ/cron.lang +++ b/htdocs/langs/uz_UZ/cron.lang @@ -1,91 +1,91 @@ # Dolibarr language file - Source file is en_US - cron # About page # Right -Permission23101 = Read Scheduled job -Permission23102 = Create/update Scheduled job -Permission23103 = Delete Scheduled job -Permission23104 = Execute Scheduled job +Permission23101 = Rejalashtirilgan ishni o'qing +Permission23102 = Rejalashtirilgan ishni yaratish / yangilash +Permission23103 = Rejalashtirilgan ishni o'chirish +Permission23104 = Rejalashtirilgan ishni bajaring # Admin -CronSetup=Scheduled job management setup -URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser -OrToLaunchASpecificJob=Or to check and launch a specific job from a browser -KeyForCronAccess=Security key for URL to launch cron jobs -FileToLaunchCronJobs=Command line to check and launch qualified cron jobs -CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environment you can use Scheduled Task tools to run the command line each 5 minutes -CronMethodDoesNotExists=Class %s does not contains any method %s -CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods -CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s. -CronJobProfiles=List of predefined cron job profiles +CronSetup=Rejalashtirilgan ishni boshqarish +URLToLaunchCronJobs=Brauzerdan malakali cron ishlarini tekshirish va ishga tushirish uchun URL +OrToLaunchASpecificJob=Yoki brauzerdan ma'lum bir ishni tekshirish va ishga tushirish uchun +KeyForCronAccess=Cron ishlarini boshlash uchun URL uchun xavfsizlik kaliti +FileToLaunchCronJobs=Malakali cron ishlarini tekshirish va ishga tushirish uchun buyruq satri +CronExplainHowToRunUnix=Unix muhitida buyruq satrini har 5 daqiqada bajarish uchun quyidagi crontab yozuvidan foydalanishingiz kerak +CronExplainHowToRunWin=Microsoft (tm) Windows muhitida har 5 daqiqada buyruq satrini bajarish uchun Rejalashtirilgan Vazifa vositalaridan foydalanishingiz mumkin +CronMethodDoesNotExists=%s sinfida %s usuli mavjud emas +CronMethodNotAllowed=%s sinfidagi %s usuli taqiqlangan usullarning qora ro'yxatiga kiritilgan +CronJobDefDesc=Cron ishi profillari modul identifikatori faylida aniqlanadi. Modul faollashtirilganda, ular yuklanadi va mavjud bo'ladi, shuning uchun siz ishlarni administrator vositalari menyusidan %s boshqarishingiz mumkin. +CronJobProfiles=Oldindan belgilangan cron ish profillari ro'yxati # Menu -EnabledAndDisabled=Enabled and disabled +EnabledAndDisabled=Yoqilgan va o'chirilgan # Page list -CronLastOutput=Latest run output -CronLastResult=Latest result code -CronCommand=Command -CronList=Scheduled jobs -CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete these scheduled jobs? -CronExecute=Launch scheduled job -CronConfirmExecute=Are you sure you want to execute these scheduled jobs now? -CronInfo=Scheduled job module allows to schedule jobs to execute them automatically. Jobs can also be started manually. -CronTask=Job +CronLastOutput=Oxirgi ishlash natijasi +CronLastResult=Oxirgi natija kodi +CronCommand=Buyruq +CronList=Rejalashtirilgan ish joylari +CronDelete=Rejalashtirilgan ishlarni o'chirish +CronConfirmDelete=Ushbu rejalashtirilgan ishlarni o'chirishni xohlaysizmi? +CronExecute=Rejalashtirilgan ishni boshlash +CronConfirmExecute=Ushbu rejalashtirilgan ishlarni hoziroq bajarishni xohlaysizmi? +CronInfo=Rejalashtirilgan ish moduli ishlarni avtomatik ravishda bajarilishini rejalashtirishga imkon beradi. Ishlarni qo'lda boshlash ham mumkin. +CronTask=Ish CronNone=None -CronDtStart=Not before -CronDtEnd=Not after -CronDtNextLaunch=Next execution -CronDtLastLaunch=Start date of latest execution -CronDtLastResult=End date of latest execution -CronFrequency=Frequency -CronClass=Class -CronMethod=Method -CronModule=Module -CronNoJobs=No jobs registered -CronPriority=Priority -CronLabel=Label -CronNbRun=Number of launches -CronMaxRun=Maximum number of launches -CronEach=Every -JobFinished=Job launched and finished -Scheduled=Scheduled +CronDtStart=Oldin emas +CronDtEnd=Keyin emas +CronDtNextLaunch=Keyingi ijro +CronDtLastLaunch=Oxirgi ijroning boshlanish sanasi +CronDtLastResult=Oxirgi ijroning tugash sanasi +CronFrequency=Chastotani +CronClass=Sinf +CronMethod=Usul +CronModule=Modul +CronNoJobs=Hech qanday ish joyi ro'yxatdan o'tkazilmagan +CronPriority=Afzallik +CronLabel=Yorliq +CronNbRun=Ishga tushirilganlar soni +CronMaxRun=Ishga tushirishning maksimal soni +CronEach=Har bir +JobFinished=Ish ishga tushirildi va tugadi +Scheduled=Rejalashtirilgan #Page card -CronAdd= Add jobs -CronEvery=Execute job each -CronObject=Instance/Object to create -CronArgs=Parameters -CronSaveSucess=Save successfully -CronNote=Comment -CronFieldMandatory=Fields %s is mandatory -CronErrEndDateStartDt=End date cannot be before start date -StatusAtInstall=Status at module installation -CronStatusActiveBtn=Schedule -CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronAdd= Ish joylarini qo'shing +CronEvery=Har bir ishni bajaring +CronObject=Yaratiladigan misol / ob'ekt +CronArgs=Parametrlar +CronSaveSucess=Muvaffaqiyatli saqlang +CronNote=Izoh +CronFieldMandatory=%s maydonlari majburiydir +CronErrEndDateStartDt=Tugash sanasi boshlanish sanasidan oldin bo'lishi mumkin emas +StatusAtInstall=Modulni o'rnatish holati +CronStatusActiveBtn=Jadval +CronStatusInactiveBtn=O'chirish +CronTaskInactive=Bu ish o'chirilgan (rejalashtirilgan emas) CronId=Id -CronClassFile=Filename with class -CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product -CronClassFileHelp=The relative path and file name to load (path is relative to web server root directory).
    For example to call the fetch method of Dolibarr Product object htdocs/product/class/product.class.php, the value for class file name is
    product/class/product.class.php -CronObjectHelp=The object name to load.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for class file name is
    Product -CronMethodHelp=The object method to launch.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for method is
    fetch -CronArgsHelp=The method arguments.
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for paramters can be
    0, ProductRef -CronCommandHelp=The system command line to execute. -CronCreateJob=Create new Scheduled Job -CronFrom=From +CronClassFile=Sinf bilan fayl nomi +CronModuleHelp=Dolibarr moduli katalogining nomi (tashqi Dolibarr moduli bilan ham ishlaydi).
    Masalan, Dolibarr Product ob'ektini olish usulini chaqirish uchun object / htdocs / product /class/product.class.php, modul uchun qiymat
    a04927zbac18 +CronClassFileHelp=Yuklanadigan nisbiy yo'l va fayl nomi (yo'l veb-serverning ildiz katalogiga nisbatan).
    Masalan, Dolibarr Product ob'ektini olish usulini chaqirish uchun htdocs / product / class / product.class.php , sinf fayli nomi uchun qiymati
    a049271ecaf / product07f.c8f +CronObjectHelp=Yuklanadigan ob'ekt nomi.
    Masalan, Dolibarr Product ob'ektini olish usulini chaqirish uchun +CronMethodHelp=Ob'ektni ishga tushirish usuli.
    Masalan, Dolibarr Product ob'ektini olish usulini chaqirish uchun +CronArgsHelp=Usul argumentlari.
    Masalan, Dolibarr Product ob'ektini olish usulini chaqirish uchun +CronCommandHelp=Amalga oshirish uchun tizim buyruq satri. +CronCreateJob=Yangi Rejalashtirilgan ish yarating +CronFrom=Kimdan # Info # Common -CronType=Job type -CronType_method=Call method of a PHP Class -CronType_command=Shell command -CronCannotLoadClass=Cannot load class file %s (to use class %s) -CronCannotLoadObject=Class file %s was loaded, but object %s was not found into it -UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs. -JobDisabled=Job disabled -MakeLocalDatabaseDumpShort=Local database backup -MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep -WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. -DATAPOLICYJob=Data cleaner and anonymizer -JobXMustBeEnabled=Job %s must be enabled +CronType=Ish turi +CronType_method=PHP sinfining qo'ng'iroq usuli +CronType_command=Shell buyrug'i +CronCannotLoadClass=%s sinf fayli yuklanmadi (%s sinfidan foydalanish uchun) +CronCannotLoadObject=%s sinf fayli yuklandi, lekin %s ob'ekti topilmadi +UseMenuModuleToolsToAddCronJobs=Rejalashtirilgan ishlarni ko'rish va tahrirlash uchun " Bosh sahifa - Administrator vositalari - Rejalashtirilgan ish o'rinlari " menyusiga o'ting. +JobDisabled=Ish o'chirilgan +MakeLocalDatabaseDumpShort=Mahalliy ma'lumotlar bazasini zaxiralash +MakeLocalDatabaseDump=Mahalliy ma'lumotlar bazasi axlatxonasini yarating. Parametrlar quyidagilardir: siqish ('gz' yoki 'bz' yoki 'yo'q'), zaxira turi ('mysql', 'pgsql', 'auto'), 1, 'auto' yoki fayl nomi yaratish, saqlash uchun zaxira fayllar soni +WarningCronDelayed=E'tibor bering, ishga tushirilgan ish kunining keyingi sanasi qanday bo'lishidan qat'i nazar, sizning ishingiz bajarilishidan oldin maksimal %s soatga kechiktirilishi mumkin. +DATAPOLICYJob=Ma'lumotlarni tozalovchi va anonimayzer +JobXMustBeEnabled=%s ishi yoqilgan bo'lishi kerak # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Oxirgi marta rejalashtirilgan ish +NextScheduledJobExecute=Keyingi rejalashtirilgan ish +NumberScheduledJobError=Xatoda rejalashtirilgan ishlarning soni diff --git a/htdocs/langs/uz_UZ/deliveries.lang b/htdocs/langs/uz_UZ/deliveries.lang index 1f48c01de75..cc3495c42bc 100644 --- a/htdocs/langs/uz_UZ/deliveries.lang +++ b/htdocs/langs/uz_UZ/deliveries.lang @@ -1,31 +1,33 @@ # Dolibarr language file - Source file is en_US - deliveries -Delivery=Delivery -DeliveryRef=Ref Delivery -DeliveryCard=Receipt card -DeliveryOrder=Delivery receipt -DeliveryDate=Delivery date -CreateDeliveryOrder=Generate delivery receipt -DeliveryStateSaved=Delivery state saved -SetDeliveryDate=Set shipping date -ValidateDeliveryReceipt=Validate delivery receipt -ValidateDeliveryReceiptConfirm=Are you sure you want to validate this delivery receipt? -DeleteDeliveryReceipt=Delete delivery receipt -DeleteDeliveryReceiptConfirm=Are you sure you want to delete delivery receipt %s? -DeliveryMethod=Delivery method -TrackingNumber=Tracking number -DeliveryNotValidated=Delivery not validated -StatusDeliveryCanceled=Canceled -StatusDeliveryDraft=Draft -StatusDeliveryValidated=Received +Delivery=Yetkazib berish +DeliveryRef=Yetkazib berish +DeliveryCard=Kvitansiya kartasi +DeliveryOrder=Yetkazib berish kvitansiyasi +DeliveryDate=Yetkazib berish sanasi +CreateDeliveryOrder=Yetkazib berish kvitansiyasini yarating +DeliveryStateSaved=Yetkazib berish holati saqlandi +SetDeliveryDate=Yetkazib berish sanasini belgilang +ValidateDeliveryReceipt=Yetkazib berish kvitansiyasini tasdiqlang +ValidateDeliveryReceiptConfirm=Ushbu etkazib berish kvitansiyasini tasdiqlamoqchimisiz? +DeleteDeliveryReceipt=Yetkazib berish kvitansiyasini o'chirib tashlang +DeleteDeliveryReceiptConfirm= %s etkazib berish kvitansiyasini o'chirishni xohlaysizmi? +DeliveryMethod=Yetkazib berish usuli +TrackingNumber=Joylashuvni kuzatish raqami +DeliveryNotValidated=Yetkazib berish tasdiqlanmagan +StatusDeliveryCanceled=Bekor qilindi +StatusDeliveryDraft=Qoralama +StatusDeliveryValidated=Qabul qildi # merou PDF model -NameAndSignature=Name and Signature: -ToAndDate=To___________________________________ on ____/_____/__________ -GoodStatusDeclaration=Have received the goods above in good condition, -Deliverer=Deliverer: -Sender=Sender -Recipient=Recipient -ErrorStockIsNotEnough=There's not enough stock -Shippable=Shippable -NonShippable=Not Shippable -ShowReceiving=Show delivery receipt -NonExistentOrder=Nonexistent order +NameAndSignature=Ism va imzo: +ToAndDate=____ / _____ / __________ kuni ___________________________________ gacha +GoodStatusDeclaration=Yuqoridagi tovarlarni yaxshi holatda oldingiz, +Deliverer=Yetkazib beruvchi: +Sender=Yuboruvchi +Recipient=Qabul qiluvchi +ErrorStockIsNotEnough=Aktsiyalar yetarli emas +Shippable=Yuk tashish mumkin +NonShippable=Yuk tashish mumkin emas +ShowShippableStatus=Yuk tashish holatini ko'rsatish +ShowReceiving=Yetkazib berish kvitansiyasini ko'rsating +NonExistentOrder=Mavjud bo'lmagan buyurtma +StockQuantitiesAlreadyAllocatedOnPreviousLines = Oldingi qatorlarda allaqachon ajratilgan aktsiyalar miqdori diff --git a/htdocs/langs/uz_UZ/dict.lang b/htdocs/langs/uz_UZ/dict.lang index ec315d97142..886c37b0b64 100644 --- a/htdocs/langs/uz_UZ/dict.lang +++ b/htdocs/langs/uz_UZ/dict.lang @@ -1,337 +1,337 @@ # Dolibarr language file - Source file is en_US - dict -CountryFR=France -CountryBE=Belgium -CountryIT=Italy -CountryES=Spain -CountryDE=Germany -CountryCH=Switzerland +CountryFR=Frantsiya +CountryBE=Belgiya +CountryIT=Italiya +CountryES=Ispaniya +CountryDE=Germaniya +CountryCH=Shveytsariya # Warning, country code GB is for United Kingdom. UK Does not exists as country code in ISO standard. -CountryGB=United Kingdom -CountryUK=United Kingdom -CountryIE=Ireland -CountryCN=China -CountryTN=Tunisia -CountryUS=United States -CountryMA=Morocco -CountryDZ=Algeria -CountryCA=Canada -CountryTG=Togo +CountryGB=Birlashgan Qirollik +CountryUK=Birlashgan Qirollik +CountryIE=Irlandiya +CountryCN=Xitoy +CountryTN=Tunis +CountryUS=Qo'shma Shtatlar +CountryMA=Marokash +CountryDZ=Jazoir +CountryCA=Kanada +CountryTG=Bormoq CountryGA=Gabon -CountryNL=Netherlands -CountryHU=Hungary -CountryRU=Russia -CountrySE=Sweden -CountryCI=Ivoiry Coast +CountryNL=Gollandiya +CountryHU=Vengriya +CountryRU=Rossiya +CountrySE=Shvetsiya +CountryCI=Fil suyagi qirg'og'i CountrySN=Senegal CountryAR=Argentina -CountryCM=Cameroon -CountryPT=Portugal -CountrySA=Saudi Arabia -CountryMC=Monaco -CountryAU=Australia -CountrySG=Singapore -CountryAF=Afghanistan -CountryAX=Åland Islands -CountryAL=Albania -CountryAS=American Samoa +CountryCM=Kamerun +CountryPT=Portugaliya +CountrySA=Saudiya Arabistoni +CountryMC=Monako +CountryAU=Avstraliya +CountrySG=Singapur +CountryAF=Afg'oniston +CountryAX=Alandiya orollari +CountryAL=Albaniya +CountryAS=Amerika Samoasi CountryAD=Andorra CountryAO=Angola -CountryAI=Anguilla -CountryAQ=Antarctica -CountryAG=Antigua and Barbuda -CountryAM=Armenia +CountryAI=Angilya +CountryAQ=Antarktida +CountryAG=Antigua va Barbuda +CountryAM=Armaniston CountryAW=Aruba -CountryAT=Austria -CountryAZ=Azerbaijan -CountryBS=Bahamas -CountryBH=Bahrain +CountryAT=Avstriya +CountryAZ=Ozarbayjon +CountryBS=Bagama orollari +CountryBH=Bahrayn CountryBD=Bangladesh CountryBB=Barbados -CountryBY=Belarus -CountryBZ=Belize +CountryBY=Belorussiya +CountryBZ=Beliz CountryBJ=Benin -CountryBM=Bermuda -CountryBT=Bhutan -CountryBO=Bolivia -CountryBA=Bosnia and Herzegovina -CountryBW=Botswana +CountryBM=Bermud +CountryBT=Butan +CountryBO=Boliviya +CountryBA=Bosniya va Gertsegovina +CountryBW=Botsvana CountryBV=Bouvet Island -CountryBR=Brazil -CountryIO=British Indian Ocean Territory -CountryBN=Brunei Darussalam -CountryBG=Bulgaria -CountryBF=Burkina Faso +CountryBR=Braziliya +CountryIO=Britaniya Hind okeanining hududi +CountryBN=Bruney-Darussalom +CountryBG=Bolgariya +CountryBF=Burkina-Faso CountryBI=Burundi -CountryKH=Cambodia -CountryCV=Cape Verde -CountryKY=Cayman Islands -CountryCF=Central African Republic +CountryKH=Kambodja +CountryCV=Kabo-Verde +CountryKY=Kayman orollari +CountryCF=Markaziy Afrika Respublikasi CountryTD=Chad -CountryCL=Chile -CountryCX=Christmas Island -CountryCC=Cocos (Keeling) Islands -CountryCO=Colombia -CountryKM=Comoros -CountryCG=Congo -CountryCD=Congo, The Democratic Republic of the -CountryCK=Cook Islands -CountryCR=Costa Rica -CountryHR=Croatia -CountryCU=Cuba -CountryCY=Cyprus -CountryCZ=Czech Republic -CountryDK=Denmark -CountryDJ=Djibouti -CountryDM=Dominica -CountryDO=Dominican Republic -CountryEC=Ecuador -CountryEG=Egypt -CountrySV=El Salvador -CountryGQ=Equatorial Guinea -CountryER=Eritrea -CountryEE=Estonia -CountryET=Ethiopia -CountryFK=Falkland Islands -CountryFO=Faroe Islands -CountryFJ=Fiji Islands -CountryFI=Finland -CountryGF=French Guiana -CountryPF=French Polynesia -CountryTF=French Southern Territories -CountryGM=Gambia -CountryGE=Georgia -CountryGH=Ghana +CountryCL=Chili +CountryCX=Rojdestvo oroli +CountryCC=Kokos (Kiling) orollari +CountryCO=Kolumbiya +CountryKM=Komor orollari +CountryCG=Kongo +CountryCD=Kongo, Demokratik Respublikasi +CountryCK=Kuk orollari +CountryCR=Kosta-Rika +CountryHR=Xorvatiya +CountryCU=Kuba +CountryCY=Kipr +CountryCZ=Chex Respublikasi +CountryDK=Daniya +CountryDJ=Jibuti +CountryDM=Dominika +CountryDO=Dominika Respublikasi +CountryEC=Ekvador +CountryEG=Misr +CountrySV=Salvador +CountryGQ=Ekvatorial Gvineya +CountryER=Eritreya +CountryEE=Estoniya +CountryET=Efiopiya +CountryFK=Folklend orollari +CountryFO=Farer orollari +CountryFJ=Fidji orollari +CountryFI=Finlyandiya +CountryGF=Frantsiya Gvianasi +CountryPF=Frantsiya Polineziyasi +CountryTF=Frantsiyaning janubiy hududlari +CountryGM=Gambiya +CountryGE=Gruziya +CountryGH=Gana CountryGI=Gibraltar -CountryGR=Greece -CountryGL=Greenland +CountryGR=Gretsiya +CountryGL=Grenlandiya CountryGD=Grenada -CountryGP=Guadeloupe +CountryGP=Gvadelupa CountryGU=Guam -CountryGT=Guatemala -CountryGN=Guinea -CountryGW=Guinea-Bissau -CountryGY=Guyana -CountryHT=Haïti -CountryHM=Heard Island and McDonald -CountryVA=Holy See (Vatican City State) -CountryHN=Honduras -CountryHK=Hong Kong -CountryIS=Iceland -CountryIN=India -CountryID=Indonesia -CountryIR=Iran -CountryIQ=Iraq -CountryIL=Israel -CountryJM=Jamaica -CountryJP=Japan -CountryJO=Jordan -CountryKZ=Kazakhstan -CountryKE=Kenya +CountryGT=Gvatemala +CountryGN=Gvineya +CountryGW=Gvineya-Bisau +CountryGY=Gayana +CountryHT=Haiti +CountryHM=Xerd oroli va McDonald +CountryVA=Muqaddas Taxt (Vatikan Shtati) +CountryHN=Gonduras +CountryHK=Gonkong +CountryIS=Islandiya +CountryIN=Hindiston +CountryID=Indoneziya +CountryIR=Eron +CountryIQ=Iroq +CountryIL=Isroil +CountryJM=Yamayka +CountryJP=Yaponiya +CountryJO=Iordaniya +CountryKZ=Qozog'iston +CountryKE=Keniya CountryKI=Kiribati -CountryKP=North Korea -CountryKR=South Korea -CountryKW=Kuwait -CountryKG=Kyrgyzstan -CountryLA=Lao -CountryLV=Latvia -CountryLB=Lebanon -CountryLS=Lesotho -CountryLR=Liberia -CountryLY=Libyan -CountryLI=Liechtenstein -CountryLT=Lithuania -CountryLU=Luxembourg -CountryMO=Macao -CountryMK=Macedonia, the former Yugoslav of -CountryMG=Madagascar -CountryMW=Malawi -CountryMY=Malaysia -CountryMV=Maldives +CountryKP=Shimoliy Koreya +CountryKR=Janubiy Koreya +CountryKW=Quvayt +CountryKG=Qirg'iziston +CountryLA=Laos +CountryLV=Latviya +CountryLB=Livan +CountryLS=Lesoto +CountryLR=Liberiya +CountryLY=Liviya +CountryLI=Lixtenshteyn +CountryLT=Litva +CountryLU=Lyuksemburg +CountryMO=Makao +CountryMK=Makedoniya, sobiq Yugoslaviya +CountryMG=Madagaskar +CountryMW=Malavi +CountryMY=Malayziya +CountryMV=Maldiv orollari CountryML=Mali CountryMT=Malta -CountryMH=Marshall Islands -CountryMQ=Martinique -CountryMR=Mauritania -CountryMU=Mauritius -CountryYT=Mayotte -CountryMX=Mexico -CountryFM=Micronesia +CountryMH=Marshal orollari +CountryMQ=Martinika +CountryMR=Mavritaniya +CountryMU=Mavrikiy +CountryYT=Mayot +CountryMX=Meksika +CountryFM=Mikroneziya CountryMD=Moldova -CountryMN=Mongolia +CountryMN=Mo'g'uliston CountryMS=Monserrat -CountryMZ=Mozambique -CountryMM=Myanmar (Burma) -CountryNA=Namibia +CountryMZ=Mozambik +CountryMM=Myanma (Birma) +CountryNA=Namibiya CountryNR=Nauru CountryNP=Nepal -CountryAN=Netherlands Antilles -CountryNC=New Caledonia -CountryNZ=New Zealand -CountryNI=Nicaragua +CountryAN=Niderlandiya Antil orollari +CountryNC=Yangi Kaledoniya +CountryNZ=Yangi Zelandiya +CountryNI=Nikaragua CountryNE=Niger -CountryNG=Nigeria +CountryNG=Nigeriya CountryNU=Niue -CountryNF=Norfolk Island -CountryMP=Northern Mariana Islands -CountryNO=Norway -CountryOM=Oman -CountryPK=Pakistan +CountryNF=Norfolk oroli +CountryMP=Shimoliy Mariana orollari +CountryNO=Norvegiya +CountryOM=Ummon +CountryPK=Pokiston CountryPW=Palau -CountryPS=Palestinian Territory, Occupied +CountryPS=Falastin hududi, bosib olingan CountryPA=Panama -CountryPG=Papua New Guinea -CountryPY=Paraguay +CountryPG=Papua-Yangi Gvineya +CountryPY=Paragvay CountryPE=Peru -CountryPH=Philippines -CountryPN=Pitcairn Islands -CountryPL=Poland -CountryPR=Puerto Rico +CountryPH=Filippinlar +CountryPN=Pitkarn orollari +CountryPL=Polsha +CountryPR=Puerto-Riko CountryQA=Qatar -CountryRE=Reunion -CountryRO=Romania -CountryRW=Rwanda -CountrySH=Saint Helena -CountryKN=Saint Kitts and Nevis -CountryLC=Saint Lucia -CountryPM=Saint Pierre and Miquelon -CountryVC=Saint Vincent and Grenadines +CountryRE=Uchrashuv +CountryRO=Ruminiya +CountryRW=Ruanda +CountrySH=Avliyo Yelena +CountryKN=Sent-Kits va Nevis +CountryLC=Sankt-Lucia +CountryPM=Sent-Pyer va Mikelon +CountryVC=Sent-Vinsent va Grenadinlar CountryWS=Samoa -CountrySM=San Marino -CountryST=Sao Tome and Principe -CountryRS=Serbia -CountrySC=Seychelles -CountrySL=Sierra Leone -CountrySK=Slovakia -CountrySI=Slovenia -CountrySB=Solomon Islands -CountrySO=Somalia -CountryZA=South Africa -CountryGS=South Georgia and the South Sandwich Islands -CountryLK=Sri Lanka +CountrySM=San-Marino +CountryST=San-Tome va Printsip +CountryRS=Serbiya +CountrySC=Seyshel orollari +CountrySL=Serra-Leone +CountrySK=Slovakiya +CountrySI=Sloveniya +CountrySB=Solomon orollari +CountrySO=Somali +CountryZA=Janubiy Afrika +CountryGS=Janubiy Jorjiya va Janubiy sendvich orollari +CountryLK=Shri-Lanka CountrySD=Sudan -CountrySR=Suriname -CountrySJ=Svalbard and Jan Mayen -CountrySZ=Swaziland -CountrySY=Syrian -CountryTW=Taiwan -CountryTJ=Tajikistan -CountryTZ=Tanzania -CountryTH=Thailand +CountrySR=Surinam +CountrySJ=Shvalbard va Yan Mayen +CountrySZ=Svazilend +CountrySY=Suriya +CountryTW=Tayvan +CountryTJ=Tojikiston +CountryTZ=Tanzaniya +CountryTH=Tailand CountryTL=Timor-Leste CountryTK=Tokelau CountryTO=Tonga -CountryTT=Trinidad and Tobago -CountryTR=Turkey -CountryTM=Turkmenistan -CountryTC=Turks and Caicos Islands +CountryTT=Trinidad va Tobago +CountryTR=kurka +CountryTM=Turkmaniston +CountryTC=Turk va Kaykos orollari CountryTV=Tuvalu CountryUG=Uganda -CountryUA=Ukraine -CountryAE=United Arab Emirates -CountryUM=United States Minor Outlying Islands -CountryUY=Uruguay -CountryUZ=Uzbekistan +CountryUA=Ukraina +CountryAE=Birlashgan Arab Amirliklari +CountryUM=Qo'shma Shtatlarning Kichik chet orollari +CountryUY=Urugvay +CountryUZ=O'zbekiston CountryVU=Vanuatu -CountryVE=Venezuela -CountryVN=Viet Nam -CountryVG=Virgin Islands, British -CountryVI=Virgin Islands, U.S. -CountryWF=Wallis and Futuna -CountryEH=Western Sahara -CountryYE=Yemen -CountryZM=Zambia -CountryZW=Zimbabwe -CountryGG=Guernsey -CountryIM=Isle of Man -CountryJE=Jersey -CountryME=Montenegro -CountryBL=Saint Barthelemy -CountryMF=Saint Martin +CountryVE=Venesuela +CountryVN=Vetnam +CountryVG=Virjiniya orollari, Britaniya +CountryVI=Virjiniya orollari, AQSh +CountryWF=Uollis va Futuna +CountryEH=G'arbiy Sahara +CountryYE=Yaman +CountryZM=Zambiya +CountryZW=Zimbabve +CountryGG=Gernsi +CountryIM=Men oroli +CountryJE=Jersi +CountryME=Chernogoriya +CountryBL=Sankt-Barthelemey +CountryMF=Avliyo Martin ##### Civilities ##### -CivilityMME=Mrs. -CivilityMR=Mr. -CivilityMLE=Ms. -CivilityMTRE=Master -CivilityDR=Doctor +CivilityMME=Xonim. +CivilityMR=Janob. +CivilityMLE=Xonim. +CivilityMTRE=Ustoz +CivilityDR=Doktor ##### Currencies ##### -Currencyeuros=Euros -CurrencyAUD=AU Dollars +Currencyeuros=Evro +CurrencyAUD=AU Dollar CurrencySingAUD=AU Dollar -CurrencyCAD=CAN Dollars -CurrencySingCAD=CAN Dollar -CurrencyCHF=Swiss Francs -CurrencySingCHF=Swiss Franc -CurrencyEUR=Euros -CurrencySingEUR=Euro -CurrencyFRF=French Francs -CurrencySingFRF=French Franc -CurrencyGBP=GB Pounds -CurrencySingGBP=GB Pound -CurrencyINR=Indian rupees -CurrencySingINR=Indian rupee +CurrencyCAD=JON Dollar +CurrencySingCAD=JON Dollar +CurrencyCHF=Shveytsariya franklari +CurrencySingCHF=Shveytsariya franki +CurrencyEUR=Evro +CurrencySingEUR=Evro +CurrencyFRF=Frantsiya franklari +CurrencySingFRF=Frantsuz franki +CurrencyGBP=GB funt +CurrencySingGBP=GB funt +CurrencyINR=Hind rupiyalari +CurrencySingINR=Hind rupisi CurrencyMAD=Dirham CurrencySingMAD=Dirham CurrencyMGA=Ariary CurrencySingMGA=Ariary -CurrencyMUR=Mauritius rupees -CurrencySingMUR=Mauritius rupee -CurrencyNOK=Norwegian krones -CurrencySingNOK=Norwegian kronas -CurrencyTND=Tunisian dinars -CurrencySingTND=Tunisian dinar -CurrencyUSD=US Dollars -CurrencySingUSD=US Dollar -CurrencyUAH=Hryvnia -CurrencySingUAH=Hryvnia -CurrencyXAF=CFA Francs BEAC -CurrencySingXAF=CFA Franc BEAC -CurrencyXOF=CFA Francs BCEAO -CurrencySingXOF=CFA Franc BCEAO -CurrencyXPF=CFP Francs -CurrencySingXPF=CFP Franc -CurrencyCentEUR=cents -CurrencyCentSingEUR=cent +CurrencyMUR=Mavrikiy rupiyasi +CurrencySingMUR=Mavrikiy rupiyasi +CurrencyNOK=Norvegiya kronalari +CurrencySingNOK=Norvegiya kronasi +CurrencyTND=Tunis dinarlari +CurrencySingTND=Tunis dinari +CurrencyUSD=AQSh dollari +CurrencySingUSD=AQSh dollari +CurrencyUAH=Grivnası +CurrencySingUAH=Grivnası +CurrencyXAF=CFA Frantsiyalari BEAC +CurrencySingXAF=CFA Franciya BEAC +CurrencyXOF=CFA Frantsiyalari BCEAO +CurrencySingXOF=CFA Frantsiyasi BCEAO +CurrencyXPF=CFP Frants +CurrencySingXPF=CFP franki +CurrencyCentEUR=sent +CurrencyCentSingEUR=sent CurrencyCentINR=paisa CurrencyCentSingINR=paise -CurrencyThousandthSingTND=thousandth +CurrencyThousandthSingTND=minginchi #### Input reasons ##### DemandReasonTypeSRC_INTE=Internet -DemandReasonTypeSRC_CAMP_MAIL=Mailing campaign -DemandReasonTypeSRC_CAMP_EMAIL=EMailing campaign -DemandReasonTypeSRC_CAMP_PHO=Phone campaign -DemandReasonTypeSRC_CAMP_FAX=Fax campaign -DemandReasonTypeSRC_COMM=Commercial contact -DemandReasonTypeSRC_SHOP=Shop contact -DemandReasonTypeSRC_WOM=Word of mouth -DemandReasonTypeSRC_PARTNER=Partner -DemandReasonTypeSRC_EMPLOYEE=Employee -DemandReasonTypeSRC_SPONSORING=Sponsorship -DemandReasonTypeSRC_SRC_CUSTOMER=Incoming contact of a customer +DemandReasonTypeSRC_CAMP_MAIL=Pochta yuborish kampaniyasi +DemandReasonTypeSRC_CAMP_EMAIL=Elektron pochta xabarlari kampaniyasi +DemandReasonTypeSRC_CAMP_PHO=Telefon kampaniyasi +DemandReasonTypeSRC_CAMP_FAX=Faks kampaniyasi +DemandReasonTypeSRC_COMM=Tijorat aloqasi +DemandReasonTypeSRC_SHOP=Do'kon bilan aloqa +DemandReasonTypeSRC_WOM=Og'zaki so'z +DemandReasonTypeSRC_PARTNER=Hamkor +DemandReasonTypeSRC_EMPLOYEE=Xodim +DemandReasonTypeSRC_SPONSORING=Homiylik +DemandReasonTypeSRC_SRC_CUSTOMER=Mijozning kiruvchi aloqasi #### Paper formats #### -PaperFormatEU4A0=Format 4A0 +PaperFormatEU4A0=4A0 formati PaperFormatEU2A0=Format 2A0 PaperFormatEUA0=Format A0 PaperFormatEUA1=Format A1 PaperFormatEUA2=Format A2 -PaperFormatEUA3=Format A3 +PaperFormatEUA3=A3 formati PaperFormatEUA4=Format A4 PaperFormatEUA5=Format A5 PaperFormatEUA6=Format A6 -PaperFormatUSLETTER=Format Letter US -PaperFormatUSLEGAL=Format Legal US -PaperFormatUSEXECUTIVE=Format Executive US -PaperFormatUSLEDGER=Format Ledger/Tabloid -PaperFormatCAP1=Format P1 Canada -PaperFormatCAP2=Format P2 Canada -PaperFormatCAP3=Format P3 Canada -PaperFormatCAP4=Format P4 Canada -PaperFormatCAP5=Format P5 Canada -PaperFormatCAP6=Format P6 Canada +PaperFormatUSLETTER=AQSh xatini formatlash +PaperFormatUSLEGAL=Huquqiy AQSh formatini shakllantirish +PaperFormatUSEXECUTIVE=Ijroiya AQSh formatini shakllantirish +PaperFormatUSLEDGER=Ledger / Tabloid formatlash +PaperFormatCAP1=Format P1 Kanada +PaperFormatCAP2=P2 formatidagi Kanada +PaperFormatCAP3=Formati P3 Kanada +PaperFormatCAP4=P4 formatidagi Kanada +PaperFormatCAP5=P5 formatidagi Kanada +PaperFormatCAP6=P6 formatidagi Kanada #### Expense report categories #### -ExpAutoCat=Car +ExpAutoCat=Avtomobil ExpCycloCat=Moped -ExpMotoCat=Motorbike +ExpMotoCat=Mototsikl ExpAuto3CV=3 CV ExpAuto4CV=4 CV ExpAuto5CV=5 CV @@ -339,21 +339,21 @@ ExpAuto6CV=6 CV ExpAuto7CV=7 CV ExpAuto8CV=8 CV ExpAuto9CV=9 CV -ExpAuto10CV=10 CV +ExpAuto10CV=10 ta tarjimai hol ExpAuto11CV=11 CV -ExpAuto12CV=12 CV -ExpAuto3PCV=3 CV and more -ExpAuto4PCV=4 CV and more -ExpAuto5PCV=5 CV and more -ExpAuto6PCV=6 CV and more -ExpAuto7PCV=7 CV and more -ExpAuto8PCV=8 CV and more -ExpAuto9PCV=9 CV and more -ExpAuto10PCV=10 CV and more -ExpAuto11PCV=11 CV and more -ExpAuto12PCV=12 CV and more -ExpAuto13PCV=13 CV and more -ExpCyclo=Capacity lower to 50cm3 -ExpMoto12CV=Motorbike 1 or 2 CV -ExpMoto345CV=Motorbike 3, 4 or 5 CV -ExpMoto5PCV=Motorbike 5 CV and more +ExpAuto12CV=12 ta tarjimai hol +ExpAuto3PCV=3 ta tarjimai hol va boshqalar +ExpAuto4PCV=4 ta tarjimai hol va boshqalar +ExpAuto5PCV=5 ta tarjimai hol va boshqalar +ExpAuto6PCV=6 ta tarjimai hol va boshqalar +ExpAuto7PCV=7 ta tarjimai hol va boshqalar +ExpAuto8PCV=8 ta tarjimai hol va boshqalar +ExpAuto9PCV=9 ta tarjimai hol va boshqalar +ExpAuto10PCV=10 ta tarjimai hol va boshqalar +ExpAuto11PCV=11 CV va boshqalar +ExpAuto12PCV=12 ta tarjimai hol va boshqalar +ExpAuto13PCV=13 ta tarjimai hol va boshqalar +ExpCyclo=Imkoniyatlar 50 sm3 gacha +ExpMoto12CV=1 yoki 2 CV mototsikl +ExpMoto345CV=Mototsikl 3, 4 yoki 5 CV +ExpMoto5PCV=Motorbike 5 CV va boshqalar diff --git a/htdocs/langs/uz_UZ/donations.lang b/htdocs/langs/uz_UZ/donations.lang index de4bdf68f03..fb6783acf4f 100644 --- a/htdocs/langs/uz_UZ/donations.lang +++ b/htdocs/langs/uz_UZ/donations.lang @@ -1,34 +1,35 @@ # Dolibarr language file - Source file is en_US - donations -Donation=Donation -Donations=Donations -DonationRef=Donation ref. +Donation=Xayriya +Donations=Xayriyalar +DonationRef=Xayriya ma'lumoti Donor=Donor -AddDonation=Create a donation -NewDonation=New donation -DeleteADonation=Delete a donation -ConfirmDeleteADonation=Are you sure you want to delete this donation? -PublicDonation=Public donation -DonationsArea=Donations area -DonationStatusPromiseNotValidated=Draft promise -DonationStatusPromiseValidated=Validated promise -DonationStatusPaid=Donation received -DonationStatusPromiseNotValidatedShort=Draft -DonationStatusPromiseValidatedShort=Validated -DonationStatusPaidShort=Received -DonationTitle=Donation receipt -DonationDate=Donation date -DonationDatePayment=Payment date -ValidPromess=Validate promise -DonationReceipt=Donation receipt -DonationsModels=Documents models for donation receipts -LastModifiedDonations=Latest %s modified donations -DonationRecipient=Donation recipient -IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount -MinimumAmount=Minimum amount is %s -FreeTextOnDonations=Free text to show in footer -FrenchOptions=Options for France -DONATION_ART200=Show article 200 from CGI if you are concerned -DONATION_ART238=Show article 238 from CGI if you are concerned -DONATION_ART885=Show article 885 from CGI if you are concerned -DonationPayment=Donation payment -DonationValidated=Donation %s validated +AddDonation=Xayr-ehson yarating +NewDonation=Yangi xayriya +DeleteADonation=Xayriyani o'chirib tashlang +ConfirmDeleteADonation=Ushbu xayr-ehsonni o'chirishni xohlaysizmi? +PublicDonation=Jamoat ehsoni +DonationsArea=Xayriya maydoni +DonationStatusPromiseNotValidated=Va'da loyihasi +DonationStatusPromiseValidated=Tasdiqlangan va'da +DonationStatusPaid=Xayriya qabul qilindi +DonationStatusPromiseNotValidatedShort=Qoralama +DonationStatusPromiseValidatedShort=Tasdiqlangan +DonationStatusPaidShort=Qabul qildi +DonationTitle=Xayriya kvitansiyasi +DonationDate=Xayr-ehson qilingan sana +DonationDatePayment=To'lov sanasi +ValidPromess=Va'dani tasdiqlang +DonationReceipt=Xayriya kvitansiyasi +DonationsModels=Xayriya tushumlari uchun hujjatlar modellari +LastModifiedDonations=Oxirgi %s o'zgartirilgan xayriya mablag'lari +DonationRecipient=Xayriya oluvchi +IConfirmDonationReception=Qabul qiluvchilar quyidagi mablag'ni xayr-ehson sifatida qabul qilish to'g'risida e'lon qilishadi +MinimumAmount=Minimal miqdor - %s +FreeTextOnDonations=Taglavhada ko'rsatish uchun bepul matn +FrenchOptions=Frantsiya uchun variantlar +DONATION_ART200=Agar xavotirda bo'lsangiz, CGI-dan 200-maqolani ko'rsating +DONATION_ART238=Agar xavotirda bo'lsangiz, CGI-dan 238-maqolani ko'rsating +DONATION_ART885=Agar xavotirda bo'lsangiz, CGI-dan 885-maqolani ko'rsating +DonationPayment=Xayriya to'lovi +DonationValidated=%s ehsoni tasdiqlandi +DonationUseThirdparties=Donorlarning koordinatalari sifatida mavjud uchinchi tomondan foydalaning diff --git a/htdocs/langs/uz_UZ/ecm.lang b/htdocs/langs/uz_UZ/ecm.lang index bc18bed4a29..d0789289854 100644 --- a/htdocs/langs/uz_UZ/ecm.lang +++ b/htdocs/langs/uz_UZ/ecm.lang @@ -1,47 +1,47 @@ # Dolibarr language file - Source file is en_US - ecm -ECMNbOfDocs=No. of documents in directory -ECMSection=Directory -ECMSectionManual=Manual directory -ECMSectionAuto=Automatic directory -ECMSectionsManual=Manual tree -ECMSectionsAuto=Automatic tree -ECMSections=Directories -ECMRoot=ECM Root -ECMNewSection=New directory -ECMAddSection=Add directory -ECMCreationDate=Creation date -ECMNbOfFilesInDir=Number of files in directory -ECMNbOfSubDir=Number of sub-directories -ECMNbOfFilesInSubDir=Number of files in sub-directories -ECMCreationUser=Creator -ECMArea=DMS/ECM area -ECMAreaDesc=The DMS/ECM (Document Management System / Electronic Content Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
    * Manual directories can be used to save documents not linked to a particular element. -ECMSectionWasRemoved=Directory %s has been deleted. -ECMSectionWasCreated=Directory %s has been created. -ECMSearchByKeywords=Search by keywords -ECMSearchByEntity=Search by object -ECMSectionOfDocuments=Directories of documents -ECMTypeAuto=Automatic -ECMDocsBy=Documents linked to %s -ECMNoDirectoryYet=No directory created -ShowECMSection=Show directory -DeleteSection=Remove directory -ConfirmDeleteSection=Can you confirm you want to delete the directory %s? -ECMDirectoryForFiles=Relative directory for files -CannotRemoveDirectoryContainsFilesOrDirs=Removal not possible because it contains some files or sub-directories -CannotRemoveDirectoryContainsFiles=Removal not possible because it contains some files -ECMFileManager=File manager -ECMSelectASection=Select a directory in the tree... -DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Resync" button first to synchronize disk and database to get content of this directory. -ReSyncListOfDir=Resync list of directories -HashOfFileContent=Hash of file content -NoDirectoriesFound=No directories found -FileNotYetIndexedInDatabase=File not yet indexed into database (try to re-upload it) -ExtraFieldsEcmFiles=Extrafields Ecm Files -ExtraFieldsEcmDirectories=Extrafields Ecm Directories -ECMSetup=ECM Setup -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +ECMNbOfDocs=Katalogdagi hujjatlar soni +ECMSection=Katalog +ECMSectionManual=Qo'llanma katalogi +ECMSectionAuto=Avtomatik katalog +ECMSectionsManual=Qo'lda ishlatiladigan daraxt +ECMSectionsAuto=Avtomatik daraxt +ECMSections=Kataloglar +ECMRoot=ECM ildizi +ECMNewSection=Yangi katalog +ECMAddSection=Katalog qo'shish +ECMCreationDate=Yaratilish sanasi +ECMNbOfFilesInDir=Katalogdagi fayllar soni +ECMNbOfSubDir=Ichki kataloglar soni +ECMNbOfFilesInSubDir=Ichki kataloglardagi fayllar soni +ECMCreationUser=Ijodkor +ECMArea=DMS / ECM maydoni +ECMAreaDesc=DMS / ECM (Hujjatlarni boshqarish tizimi / Elektron kontentni boshqarish) maydoni Dolibarrdagi barcha turdagi hujjatlarni saqlash, almashish va tezkor qidirish imkonini beradi. +ECMAreaDesc2=* Element kartasidan hujjatlar qo'shilganda avtomatik kataloglar avtomatik ravishda to'ldiriladi.
    * qo'llanma kataloglaridan ma'lum bir elementga bog'lanmagan hujjatlarni saqlash uchun foydalanish mumkin. +ECMSectionWasRemoved= %s katalog o'chirildi. +ECMSectionWasCreated= %s katalogi yaratildi. +ECMSearchByKeywords=Kalit so'zlar bo'yicha qidirish +ECMSearchByEntity=Ob'ekt bo'yicha qidirish +ECMSectionOfDocuments=Hujjatlar kataloglari +ECMTypeAuto=Avtomatik +ECMDocsBy=%s ga bog'langan hujjatlar +ECMNoDirectoryYet=Hech qanday katalog yaratilmagan +ShowECMSection=Katalogni ko'rsatish +DeleteSection=Katalogni olib tashlash +ConfirmDeleteSection= %s katalogini o'chirishni xohlayotganingizni tasdiqlay olasizmi? +ECMDirectoryForFiles=Fayllar uchun nisbiy katalog +CannotRemoveDirectoryContainsFilesOrDirs=Olib tashlashning iloji yo'q, chunki u ba'zi fayllar yoki pastki kataloglarni o'z ichiga oladi +CannotRemoveDirectoryContainsFiles=O'chirish mumkin emas, chunki unda ba'zi fayllar mavjud +ECMFileManager=Fayl menejeri +ECMSelectASection=Daraxtdagi katalogni tanlang ... +DirNotSynchronizedSyncFirst=Ushbu katalog ECM modulidan tashqarida yaratilgan yoki o'zgartirilganga o'xshaydi. Ushbu katalog tarkibini olish uchun disk va ma'lumotlar bazasini sinxronlashtirish uchun avval "Qayta sinxronlashtirish" tugmachasini bosishingiz kerak. +ReSyncListOfDir=Kataloglar ro'yxatini qayta sinxronlashtirish +HashOfFileContent=Fayl tarkibidagi xash +NoDirectoriesFound=Hech qanday katalog topilmadi +FileNotYetIndexedInDatabase=Fayl hali ma'lumotlar bazasiga indekslanmagan (qayta yuklashga harakat qiling) +ExtraFieldsEcmFiles=Extrafields Ecm fayllari +ExtraFieldsEcmDirectories=Extrafields Ecm kataloglari +ECMSetup=ECM-ni sozlash +GenerateImgWebp=Barcha rasmlarni .webp formatidagi boshqa versiyasi bilan takrorlang +ConfirmGenerateImgWebp=Agar tasdiqlasangiz, ushbu papkada joylashgan barcha rasmlar uchun .webp formatida rasm hosil qilasiz (pastki papkalar kiritilmagan) ... +ConfirmImgWebpCreation=Barcha rasmlarning takrorlanishini tasdiqlang +SucessConvertImgWebp=Rasmlar muvaffaqiyatli takrorlandi diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index 9b14b5ad1d2..4c79e1f6f59 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -1,300 +1,305 @@ # Dolibarr language file - Source file is en_US - errors # No errors -NoErrorCommitIsDone=No error, we commit +NoErrorCommitIsDone=Biz xato qilamiz # Errors -ErrorButCommitIsDone=Errors found but we validate despite this -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect -ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing. -ErrorRefAlreadyExists=Reference %s already exists. -ErrorLoginAlreadyExists=Login %s already exists. -ErrorGroupAlreadyExists=Group %s already exists. -ErrorRecordNotFound=Record not found. -ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. -ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. -ErrorFailToRenameFile=Failed to rename file '%s' into '%s'. -ErrorFailToDeleteFile=Failed to remove file '%s'. -ErrorFailToCreateFile=Failed to create file '%s'. -ErrorFailToRenameDir=Failed to rename directory '%s' into '%s'. -ErrorFailToCreateDir=Failed to create directory '%s'. -ErrorFailToDeleteDir=Failed to delete directory '%s'. -ErrorFailToMakeReplacementInto=Failed to make replacement into file '%s'. -ErrorFailToGenerateFile=Failed to generate file '%s'. -ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. -ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. -ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. -ErrorBadThirdPartyName=Bad value for third-party name -ErrorProdIdIsMandatory=The %s is mandatory -ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for barcode. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. -ErrorCustomerCodeRequired=Customer code required -ErrorBarCodeRequired=Barcode required -ErrorCustomerCodeAlreadyUsed=Customer code already used -ErrorBarCodeAlreadyUsed=Barcode already used -ErrorPrefixRequired=Prefix required -ErrorBadSupplierCodeSyntax=Bad syntax for vendor code -ErrorSupplierCodeRequired=Vendor code required -ErrorSupplierCodeAlreadyUsed=Vendor code already used -ErrorBadParameters=Bad parameters -ErrorWrongParameters=Wrong or missing parameters -ErrorBadValueForParameter=Wrong value '%s' for parameter '%s' -ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format) -ErrorBadDateFormat=Value '%s' has wrong date format -ErrorWrongDate=Date is not correct! -ErrorFailedToWriteInDir=Failed to write in directory %s -ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s) -ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities. -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required -ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter safe_mode is enabled on this PHP, check that Dolibarr php files owns to web server user (or group). -ErrorNoMailDefinedForThisUser=No mail defined for this user -ErrorSetupOfEmailsNotComplete=Setup of emails is not complete -ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display. -ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'. -ErrorLeftMenuMustHaveAParentId=A menu of type 'Left' must have a parent id. -ErrorFileNotFound=File %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) -ErrorDirNotFound=Directory %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) -ErrorFunctionNotAvailableInPHP=Function %s is required for this feature but is not available in this version/setup of PHP. -ErrorDirAlreadyExists=A directory with this name already exists. -ErrorFileAlreadyExists=A file with this name already exists. -ErrorDestinationAlreadyExists=Another file with the name %s already exists. -ErrorPartialFile=File not received completely by server. -ErrorNoTmpDir=Temporary directy %s does not exists. -ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. -ErrorFileSizeTooLarge=File size is too large. -ErrorFieldTooLong=Field %s is too long. -ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) -ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) -ErrorNoValueForSelectType=Please fill value for select list -ErrorNoValueForCheckBoxType=Please fill value for checkbox list -ErrorNoValueForRadioType=Please fill value for radio list -ErrorBadFormatValueList=The list value cannot have more than one comma: %s, but need at least one: key,value -ErrorFieldCanNotContainSpecialCharacters=The field %s must not contains special characters. -ErrorFieldCanNotContainSpecialNorUpperCharacters=The field %s must not contain special characters, nor upper case characters and cannot contain only numbers. -ErrorFieldMustHaveXChar=The field %s must have at least %s characters. -ErrorNoAccountancyModuleLoaded=No accountancy module activated -ErrorExportDuplicateProfil=This profile name already exists for this export set. -ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. -ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors. -ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled. -ErrorRefAlreadyExists=Reference %s already exists. -ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD) -ErrorRecordHasChildren=Failed to delete record since it has some child records. -ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s -ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object. -ErrorModuleRequireJavascript=Javascript must not be disabled to have this feature working. To enable/disable Javascript, go to menu Home->Setup->Display. -ErrorPasswordsMustMatch=Both typed passwords must match each other -ErrorContactEMail=A technical error occured. Please, contact administrator to following email %s and provide the error code %s in your message, or add a screen copy of this page. -ErrorWrongValueForField=Field %s: '%s' does not match regex rule %s -ErrorFieldValueNotIn=Field %s: '%s' is not a value found in field %s of %s -ErrorFieldRefNotIn=Field %s: '%s' is not a %s existing ref -ErrorsOnXLines=%s errors found -ErrorFileIsInfectedWithAVirus=The antivirus program was not able to validate the file (file might be infected by a virus) -ErrorSpecialCharNotAllowedForField=Special characters are not allowed for field "%s" -ErrorNumRefModel=A reference exists into database (%s) and is not compatible with this numbering rule. Remove record or renamed reference to activate this module. -ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor -ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities -ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete. -ErrorBadMask=Error on mask -ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number -ErrorBadMaskBadRazMonth=Error, bad reset value -ErrorMaxNumberReachForThisMask=Maximum number reached for this mask -ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits -ErrorSelectAtLeastOne=Error, select at least one entry. -ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated -ErrorProdIdAlreadyExist=%s is assigned to another third -ErrorFailedToSendPassword=Failed to send password -ErrorFailedToLoadRSSFile=Fails to get RSS feed. Try to add constant MAIN_SIMPLEXMLLOAD_DEBUG if error messages does not provide enough information. -ErrorForbidden=Access denied.
    You try to access to a page, area or feature of a disabled module or without being in an authenticated session or that is not allowed to your user. -ErrorForbidden2=Permission for this login can be defined by your Dolibarr administrator from menu %s->%s. -ErrorForbidden3=It seems that Dolibarr is not used through an authenticated session. Take a look at Dolibarr setup documentation to know how to manage authentications (htaccess, mod_auth or other...). -ErrorNoImagickReadimage=Class Imagick is not found in this PHP. No preview can be available. Administrators can disable this tab from menu Setup - Display. -ErrorRecordAlreadyExists=Record already exists -ErrorLabelAlreadyExists=This label already exists -ErrorCantReadFile=Failed to read file '%s' -ErrorCantReadDir=Failed to read directory '%s' -ErrorBadLoginPassword=Bad value for login or password -ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. -ErrorFailedToChangePassword=Failed to change password -ErrorLoginDoesNotExists=User with login %s could not be found. -ErrorLoginHasNoEmail=This user has no email address. Process aborted. -ErrorBadValueForCode=Bad value for security code. Try again with new value... -ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative -ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. -ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate %s%%). -ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. -ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative -ErrorWebServerUserHasNotPermission=User account %s used to execute web server has no permission for that -ErrorNoActivatedBarcode=No barcode type activated -ErrUnzipFails=Failed to unzip %s with ZipArchive -ErrNoZipEngine=No engine to zip/unzip %s file in this PHP -ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package -ErrorModuleFileRequired=You must select a Dolibarr module package file -ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal -ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base -ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base -ErrorNewValueCantMatchOldValue=New value can't be equal to old one -ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process. -ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check database server is running (for example, with mysql/mariadb, you can launch it from command line with 'sudo service mysql start'). -ErrorFailedToAddContact=Failed to add contact -ErrorDateMustBeBeforeToday=The date must be lower than today -ErrorDateMustBeInFuture=The date must be greater than today -ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode. -ErrorPHPNeedModule=Error, your PHP must have module %s installed to use this feature. -ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s -ErrorWarehouseMustDiffers=Source and target warehouses must differs -ErrorBadFormat=Bad format! -ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice. -ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused. -ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled -ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Paid -ErrorPriceExpression1=Cannot assign to constant '%s' -ErrorPriceExpression2=Cannot redefine built-in function '%s' -ErrorPriceExpression3=Undefined variable '%s' in function definition -ErrorPriceExpression4=Illegal character '%s' -ErrorPriceExpression5=Unexpected '%s' -ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) -ErrorPriceExpression8=Unexpected operator '%s' -ErrorPriceExpression9=An unexpected error occured -ErrorPriceExpression10=Operator '%s' lacks operand -ErrorPriceExpression11=Expecting '%s' -ErrorPriceExpression14=Division by zero -ErrorPriceExpression17=Undefined variable '%s' -ErrorPriceExpression19=Expression not found -ErrorPriceExpression20=Empty expression -ErrorPriceExpression21=Empty result '%s' -ErrorPriceExpression22=Negative result '%s' -ErrorPriceExpression23=Unknown or non set variable '%s' in %s -ErrorPriceExpression24=Variable '%s' exists but has no value -ErrorPriceExpressionInternal=Internal error '%s' -ErrorPriceExpressionUnknown=Unknown error '%s' -ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs -ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information -ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified (approved or denied) before being allowed to do this action -ErrorCantSetReceptionToTotalDoneWithReceptionDenied=All recorded receptions must first be verified (approved) before being allowed to do this action -ErrorGlobalVariableUpdater0=HTTP request failed with error '%s' -ErrorGlobalVariableUpdater1=Invalid JSON format '%s' -ErrorGlobalVariableUpdater2=Missing parameter '%s' -ErrorGlobalVariableUpdater3=The requested data was not found in result -ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' -ErrorGlobalVariableUpdater5=No global variable selected -ErrorFieldMustBeANumeric=Field %s must be a numeric value -ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided -ErrorOppStatusRequiredIfAmount=You set an estimated amount for this lead. So you must also enter it's status. -ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s -ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Bad Definition Of Menu Array In Module Descriptor (bad value for key fk_menu) -ErrorSavingChanges=An error has occurred when saving the changes -ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship -ErrorFileMustHaveFormat=File must have format %s -ErrorFilenameCantStartWithDot=Filename can't start with a '.' -ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first. -ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enough for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enough for product %s to add it into a new proposal. -ErrorFailedToLoadLoginFileForMode=Failed to get the login key for mode '%s'. -ErrorModuleNotFound=File of module was not found. -ErrorFieldAccountNotDefinedForBankLine=Value for Accounting account not defined for source line id %s (%s) -ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s) -ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s) -ErrorBankStatementNameMustFollowRegex=Error, bank statement name must follow the following syntax rule %s -ErrorPhpMailDelivery=Check that you don't use a too high number of recipients and that your email content is not similar to a Spam. Ask also your administrator to check firewall and server logs files for a more complete information. -ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed. -ErrorTaskAlreadyAssigned=Task already assigned to user -ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format. -ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: %s or %s -ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (%s) does not match expected name syntax: %s -ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s. -ErrorNoWarehouseDefined=Error, no warehouses defined. -ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid. -ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped. -ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Mass validation is not possible when option to increase/decrease stock is set on this action (you must validate one by one so you can define the warehouse to increase/decrease) -ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated. -ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated. -ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action. -ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not -ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before. -ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently. -ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference. -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. -ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product -ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container %s has the same name or alternative alias that the one your try to use -ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually. -ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s -ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set. -ErrorURLMustEndWith=URL %s must end %s -ErrorURLMustStartWithHttp=URL %s must start with http:// or https:// -ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// -ErrorNewRefIsAlreadyUsed=Error, the new reference is already used -ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. -ErrorSearchCriteriaTooSmall=Search criteria too small. -ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled -ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled -ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist. -ErrorFieldRequiredForProduct=Field '%s' is required for product %s -ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s. -ErrorAddAtLeastOneLineFirst=Add at least one line first -ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible. -ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. -ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. -ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". -ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? -ErrorReplaceStringEmpty=Error, the string to replace into is empty -ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number -ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number -ErrorFailedToReadObject=Error, failed to read object of type %s -ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler -ErrorLoginDateValidity=Error, this login is outside the validity date range -ErrorValueLength=Length of field '%s' must be higher than '%s' -ErrorReservedKeyword=The word '%s' is a reserved keyword -ErrorNotAvailableWithThisDistribution=Not available with this distribution -ErrorPublicInterfaceNotEnabled=Public interface was not enabled -ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page -ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page -ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation -ErrorDateIsInFuture=Error, the date can't be in the future -ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory -ErrorAPercentIsRequired=Error, please fill in the percentage correctly -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorButCommitIsDone=Xatolar topildi, ammo shunga qaramay biz tasdiqlaymiz +ErrorBadEMail=%s elektron pochtasi noto'g'ri +ErrorBadMXDomain=%s elektron pochtasi noto'g'ri ko'rinadi (domenda MX yozuvi mavjud emas) +ErrorBadUrl=Url %s noto'g'ri +ErrorBadValueForParamNotAString=Parametringiz uchun yomon qiymat. Odatda tarjima etishmayotganida qo'shiladi. +ErrorRefAlreadyExists= %s ma'lumotnomasi allaqachon mavjud. +ErrorLoginAlreadyExists=%s-ga kirish allaqachon mavjud. +ErrorGroupAlreadyExists=%s guruhi allaqachon mavjud. +ErrorEmailAlreadyExists=%s elektron pochtasi allaqachon mavjud. +ErrorRecordNotFound=Yozuv topilmadi. +ErrorFailToCopyFile=' %s ' faylini ' %s ' ga ko'chirib bo'lmadi. +ErrorFailToCopyDir=' %s ' katalogini ' %s ' ga ko'chirib bo'lmadi. +ErrorFailToRenameFile=' %s ' faylini ' %s ' deb o'zgartirib bo'lmadi. +ErrorFailToDeleteFile=' %s ' faylini o'chirib bo'lmadi. +ErrorFailToCreateFile=' %s ' fayli yaratilmadi. +ErrorFailToRenameDir=' %s ' katalogini ' %s ' deb o'zgartirib bo'lmadi. +ErrorFailToCreateDir=' %s ' katalogini yaratib bo'lmadi. +ErrorFailToDeleteDir=' %s ' katalogini o'chirib bo'lmadi. +ErrorFailToMakeReplacementInto=' %s ' fayliga almashtirish amalga oshirilmadi. +ErrorFailToGenerateFile=' %s ' faylini yaratib bo'lmadi. +ErrorThisContactIsAlreadyDefinedAsThisType=Ushbu kontakt allaqachon ushbu turdagi aloqa sifatida aniqlangan. +ErrorCashAccountAcceptsOnlyCashMoney=Ushbu bank hisobvarag'i kassa hisobvarag'i hisoblanadi, shuning uchun u faqat naqd turdagi to'lovlarni qabul qiladi. +ErrorFromToAccountsMustDiffers=Bank hisob raqamlarining manbalari va maqsadlari boshqacha bo'lishi kerak. +ErrorBadThirdPartyName=Uchinchi tomon nomi uchun noto'g'ri qiymat +ErrorProdIdIsMandatory=%s majburiydir +ErrorBadCustomerCodeSyntax=Mijoz kodi uchun noto'g'ri sintaksis +ErrorBadBarCodeSyntax=Shtrixli kod uchun noto'g'ri sintaksis. Ehtimol, siz shtrix-kodning yomon turini o'rnatdingiz yoki skanerlangan qiymatga mos kelmaydigan raqamlash uchun shtrix-niqobni aniqladingiz. +ErrorCustomerCodeRequired=Mijoz kodi talab qilinadi +ErrorBarCodeRequired=Shtrixli kod kerak +ErrorCustomerCodeAlreadyUsed=Mijoz kodi allaqachon ishlatilgan +ErrorBarCodeAlreadyUsed=Shtrix allaqachon ishlatilgan +ErrorPrefixRequired=Prefiks kerak +ErrorBadSupplierCodeSyntax=Sotuvchi kodi uchun noto'g'ri sintaksis +ErrorSupplierCodeRequired=Sotuvchi kodi talab qilinadi +ErrorSupplierCodeAlreadyUsed=Sotuvchi kodi allaqachon ishlatilgan +ErrorBadParameters=Yomon parametrlar +ErrorWrongParameters=Parametrlar noto'g'ri yoki etishmayapti +ErrorBadValueForParameter="%s" parametri uchun noto'g'ri qiymat '%s' +ErrorBadImageFormat=Rasm fayli qo'llab-quvvatlanadigan formatga ega emas (sizning PHP-da ushbu formatdagi rasmlarni o'zgartirish funktsiyalari mavjud emas) +ErrorBadDateFormat="%s" qiymati noto'g'ri sana formatiga ega +ErrorWrongDate=Sana to'g'ri emas! +ErrorFailedToWriteInDir=%s katalogiga yozib bo'lmadi +ErrorFoundBadEmailInFile=Faylda %s satrlari uchun noto'g'ri elektron pochta sintaksisini topdi (masalan, %s qatori elektron pochta bilan = %s) +ErrorUserCannotBeDelete=Foydalanuvchini o'chirib bo'lmaydi. Ehtimol, bu Dolibarr sub'ektlari bilan bog'liq. +ErrorFieldsRequired=Ba'zi majburiy maydonlar bo'sh qoldirildi. +ErrorSubjectIsRequired=Elektron pochta mavzusi talab qilinadi +ErrorFailedToCreateDir=Katalog yaratilmadi. Veb-server foydalanuvchisida Dolibarr hujjatlar katalogiga yozish uchun ruxsat borligini tekshiring. Agar ushbu PHP-da safe_mode parametri yoqilgan bo'lsa, Dolibarr php fayllari veb-server foydalanuvchisiga (yoki guruhiga) tegishli ekanligini tekshiring. +ErrorNoMailDefinedForThisUser=Ushbu foydalanuvchi uchun hech qanday pochta belgilanmagan +ErrorSetupOfEmailsNotComplete=Elektron pochta xabarlarini sozlash tugallanmagan +ErrorFeatureNeedJavascript=Ushbu xususiyatni ishga tushirish uchun javascript kerak. Buni sozlash - displeyda o'zgartiring. +ErrorTopMenuMustHaveAParentWithId0="Top" turidagi menyuda asosiy menyu bo'lishi mumkin emas. Bosh menyuga 0 qo'ying yoki "Chap" turidagi menyuni tanlang. +ErrorLeftMenuMustHaveAParentId="Chap" turidagi menyuda ota-ona identifikatori bo'lishi kerak. +ErrorFileNotFound= %s fayl topilmadi (Yomon yo'l, noto'g'ri ruxsat yoki PHP openbasedir yoki safe_mode parametri tomonidan rad etilgan) +ErrorDirNotFound= %s katalog topilmadi (Yomon yo'l, noto'g'ri ruxsat yoki PHP openbasedir yoki safe_mode parametri tomonidan rad etilgan) +ErrorFunctionNotAvailableInPHP=Ushbu funktsiya uchun %s funktsiyasi talab qilinadi, ammo PHP-ning ushbu versiyasida / sozlamalarida mavjud emas. +ErrorDirAlreadyExists=Ushbu nomdagi katalog allaqachon mavjud. +ErrorFileAlreadyExists=Bunday nomdagi fayl allaqachon mavjud. +ErrorDestinationAlreadyExists= %s ismli boshqa fayl allaqachon mavjud. +ErrorPartialFile=Fayl server tomonidan to'liq qabul qilinmadi. +ErrorNoTmpDir=Vaqtinchalik to'g'ridan-to'g'ri %s mavjud emas. +ErrorUploadBlockedByAddon=Yuklash PHP / Apache plaginlari tomonidan bloklangan. +ErrorFileSizeTooLarge=Fayl hajmi juda katta. +ErrorFieldTooLong=%s maydoni juda uzun. +ErrorSizeTooLongForIntType=Int turi uchun juda uzun (maksimal %s raqam) +ErrorSizeTooLongForVarcharType=Ip turi uchun o'lcham juda uzun (%s belgilar maksimal) +ErrorNoValueForSelectType=Iltimos, tanlangan ro'yxat uchun qiymatni to'ldiring +ErrorNoValueForCheckBoxType=Iltimos, katakchalar ro'yxati uchun qiymatni to'ldiring +ErrorNoValueForRadioType=Iltimos, radio ro'yxati uchun qiymatni to'ldiring +ErrorBadFormatValueList=Ro'yxat qiymati bitta verguldan iborat bo'lishi mumkin emas: %s , lekin kamida bittasi kerak: key, value +ErrorFieldCanNotContainSpecialCharacters= %s maydonida maxsus belgilar bo'lmasligi kerak. +ErrorFieldCanNotContainSpecialNorUpperCharacters= %s maydonida maxsus belgilar, shuningdek katta harflar bo'lmasligi va faqat raqamlardan iborat bo'lishi kerak. +ErrorFieldMustHaveXChar= %s maydonida kamida %s belgilar bo'lishi kerak. +ErrorNoAccountancyModuleLoaded=Buxgalteriya moduli faollashtirilmagan +ErrorExportDuplicateProfil=Ushbu eksport to'plami uchun ushbu profil nomi allaqachon mavjud. +ErrorLDAPSetupNotComplete=Dolibarr-LDAP mos kelmadi. +ErrorLDAPMakeManualTest=%s katalogida .ldif fayli yaratilgan. Xatolar haqida ko'proq ma'lumotga ega bo'lish uchun uni buyruq satridan qo'lda yuklashga harakat qiling. +ErrorCantSaveADoneUserWithZeroPercentage=Agar "bajarilgan" maydoni ham to'ldirilgan bo'lsa, "holat boshlanmadi" bilan amalni saqlab bo'lmaydi. +ErrorRefAlreadyExists= %s ma'lumotnomasi allaqachon mavjud. +ErrorPleaseTypeBankTransactionReportName=Iltimos, yozuv haqida xabar berish kerak bo'lgan bank ma'lumotnomasining nomini kiriting (YYYYMM yoki YYYYMMDD formati) +ErrorRecordHasChildren=Yozuv o'chirilmadi, chunki ba'zi bir bolalar yozuvlari mavjud. +ErrorRecordHasAtLeastOneChildOfType=Ob'ektda %s tipidagi kamida bitta bola mavjud +ErrorRecordIsUsedCantDelete=Yozuvni o‘chirib bo‘lmadi. U allaqachon ishlatilgan yoki boshqa ob'ektga kiritilgan. +ErrorModuleRequireJavascript=Ushbu xususiyat ishlashi uchun Javascript o'chirib qo'yilmasligi kerak. Javascriptni yoqish / o'chirish uchun Home-> Setup-> Display menyusiga o'ting. +ErrorPasswordsMustMatch=Yozilgan har ikkala parol bir-biriga mos kelishi kerak +ErrorContactEMail=Texnik xatolik yuz berdi. Iltimos, administrator bilan bog'laning. %s elektron pochta manziliga va sizning xabaringiz nusxasida ushbu ekranning nusxasini yoki sizning ekraningizda nusxa ko'chirish xatosini yuboring %s , +ErrorWrongValueForField=Maydon %s : ' %s ' regex qoida %s +ErrorFieldValueNotIn=Dala %s : « %s " bir qiymati dala %s topilmadi %s +ErrorFieldRefNotIn=Maydon %s : ' %s ' %s emas +ErrorsOnXLines=%s xatolar topildi +ErrorFileIsInfectedWithAVirus=Antivirus dasturi faylni tekshira olmadi (faylga virus yuqishi mumkin) +ErrorSpecialCharNotAllowedForField="%s" maydoni uchun maxsus belgilarga ruxsat berilmaydi +ErrorNumRefModel=Ma'lumotlar bazasida (%s) ma'lumotlar bazasi mavjud va bu raqamlash qoidalariga mos kelmaydi. Ushbu modulni faollashtirish uchun yozuvni o'chirib tashlang yoki nomini o'zgartiring. +ErrorQtyTooLowForThisSupplier=Ushbu sotuvchi uchun juda kam miqdor yoki ushbu sotuvchida ushbu mahsulot uchun narx belgilanmagan +ErrorOrdersNotCreatedQtyTooLow=Kam miqdordagi buyurtma tufayli ba'zi buyurtmalar yaratilmagan +ErrorModuleSetupNotComplete=%s modulini sozlash tugallanmaganga o'xshaydi. Tugatish uchun Home - Setup - Modullarga o'ting. +ErrorBadMask=Maskada xato +ErrorBadMaskFailedToLocatePosOfSequence=Xato, tartib raqami bo'lmagan niqob +ErrorBadMaskBadRazMonth=Xato, qayta tiklash qiymati yomon +ErrorMaxNumberReachForThisMask=Ushbu niqob uchun maksimal raqam +ErrorCounterMustHaveMoreThan3Digits=Hisoblagich 3 ta raqamdan ortiq bo'lishi kerak +ErrorSelectAtLeastOne=Xato, kamida bitta yozuvni tanlang. +ErrorDeleteNotPossibleLineIsConsolidated=Yo'q qilish mumkin emas, chunki yozuvlar kelishilgan bank operatsiyalari bilan bog'liq +ErrorProdIdAlreadyExist=%s yana uchdan biriga tayinlangan +ErrorFailedToSendPassword=Parolni yuborib bo'lmadi +ErrorFailedToLoadRSSFile=RSS tasmasini ololmadi. Xato xabarlari etarli ma'lumot bermasa, doimiy ravishda MAIN_SIMPLEXMLLOAD_DEBUG qo'shishga harakat qiling. +ErrorForbidden=Ruxsat yo'q.
    Siz o'chirib qo'yilgan modulning sahifasiga, maydoniga yoki xususiyatiga yoki autentifikatsiya qilingan sessiyada bo'lmasdan yoki foydalanuvchingizga ruxsat berilmagan holda kirishga harakat qilasiz. +ErrorForbidden2=Ushbu kirish uchun ruxsat sizning Dolibarr administratoringiz tomonidan %s-> %s menyusidan aniqlanishi mumkin. +ErrorForbidden3=Dolibarr autentifikatsiya qilingan seans orqali ishlatilmaydi. Autentifikatsiyani qanday boshqarishni bilish uchun Dolibarrni sozlash bo'yicha hujjatlarni ko'rib chiqing (htaccess, mod_auth yoki boshqa ...). +ErrorNoImagickReadimage=Imagick sinfi ushbu PHP-da mavjud emas. Hech qanday oldindan ko'rish mumkin emas. Administrator ushbu yorliqni O'rnatish - Displey menyusidan o'chirib qo'yishi mumkin. +ErrorRecordAlreadyExists=Yozuv allaqachon mavjud +ErrorLabelAlreadyExists=Ushbu yorliq allaqachon mavjud +ErrorCantReadFile='%s' faylini o'qib bo'lmadi +ErrorCantReadDir='%s' katalogini o'qib bo'lmadi +ErrorBadLoginPassword=Kirish yoki parol uchun noto'g'ri qiymat +ErrorLoginDisabled=Sizning hisobingiz o'chirilgan +ErrorFailedToRunExternalCommand=Tashqi buyruqni bajarib bo'lmadi. PHP-server foydalanuvchisi uni mavjudligini va boshqarilishini tekshiring. Shuningdek tekshiring, buyruq qobiq darajasida apparmor kabi xavfsizlik qatlami bilan himoyalanmagan. +ErrorFailedToChangePassword=Parolni o'zgartirib bo'lmadi +ErrorLoginDoesNotExists= %s tizimiga kirgan foydalanuvchi topilmadi. +ErrorLoginHasNoEmail=Ushbu foydalanuvchi elektron pochta manziliga ega emas. Jarayon bekor qilindi. +ErrorBadValueForCode=Xavfsizlik kodi noto'g'ri. Yangi qiymat bilan qayta urinib ko'ring ... +ErrorBothFieldCantBeNegative=%s va %s maydonlari ikkalasi ham salbiy bo'lishi mumkin emas +ErrorFieldCantBeNegativeOnInvoice= %s maydonchasi ushbu schyot-fakturada salbiy bo'lishi mumkin emas. Agar sizga chegirma chizig'ini qo'shishingiz kerak bo'lsa, avval chegirmani yarating (uchinchi tomon kartasidagi '%s' maydonidan) va uni hisob-fakturaga qo'llang. +ErrorLinesCantBeNegativeForOneVATRate=Qatorlar yig'indisi (soliqni olib tashlagan holda) QQSning nol bo'lmagan stavkasi uchun salbiy bo'lishi mumkin emas (QQS stavkasi uchun %s %% uchun salbiy jami topildi). +ErrorLinesCantBeNegativeOnDeposits=Depozitda chiziqlar salbiy bo'lishi mumkin emas. Agar shunday qilsangiz, siz oxirgi hisob-fakturada depozitni iste'mol qilishingiz kerak bo'lganda siz muammolarga duch kelasiz. +ErrorQtyForCustomerInvoiceCantBeNegative=Xaridorlarning schyot-fakturalari qatori salbiy bo'lishi mumkin emas +ErrorWebServerUserHasNotPermission=Veb-serverni amalga oshirish uchun foydalanilgan %s foydalanuvchi qayd yozuvida bunga ruxsat yo'q +ErrorNoActivatedBarcode=Shtrixli kod yoqilmagan +ErrUnzipFails=%s ni ZipArchive bilan ochib bo'lmadi +ErrNoZipEngine=Ushbu PHP-da %s faylini ziplash / ochish uchun vosita yo'q +ErrorFileMustBeADolibarrPackage=%s fayli Dolibarr zip to'plami bo'lishi kerak +ErrorModuleFileRequired=Dolibarr moduli to'plami faylini tanlashingiz kerak +ErrorPhpCurlNotInstalled=PHP CURL o'rnatilmagan, bu Paypal bilan suhbatlashish uchun juda muhimdir +ErrorFailedToAddToMailmanList=%s yoki MailIP ro'yxatiga %s yozuvini yoki SPIP bazasini qo'shib bo'lmadi +ErrorFailedToRemoveToMailmanList=%s yozuvini %s yoki SPIP bazasini pochtachilar ro'yxatiga o'chirib bo'lmadi +ErrorNewValueCantMatchOldValue=Yangi qiymat eskisiga teng bo'lishi mumkin emas +ErrorFailedToValidatePasswordReset=Parolni qayta tiklab bo'lmadi. Qayta tiklash allaqachon amalga oshirilgan bo'lishi mumkin (bu havola faqat bir marta ishlatilishi mumkin). Agar yo'q bo'lsa, qayta tiklash jarayonini qayta boshlashga harakat qiling. +ErrorToConnectToMysqlCheckInstance=Ma'lumotlar bazasiga ulanish muvaffaqiyatsiz tugadi. Ma'lumotlar bazasi serveri ishlayotganligini tekshiring (masalan, +ErrorFailedToAddContact=Kontakt qo'shilmadi +ErrorDateMustBeBeforeToday=Sana bugundan pastroq bo'lishi kerak +ErrorDateMustBeInFuture=Sana bugundan kattaroq bo'lishi kerak +ErrorPaymentModeDefinedToWithoutSetup=%s yozish uchun to'lov rejimi o'rnatildi, ammo ushbu to'lov rejimi uchun ma'lumotni aniqlash uchun fakturani moduli o'rnatilmagan. +ErrorPHPNeedModule=Xato, PHP-da ushbu funktsiyadan foydalanish uchun %s moduli o'rnatilgan bo'lishi kerak. +ErrorOpenIDSetupNotComplete=OpenID autentifikatsiyasiga ruxsat berish uchun Dolibarr konfiguratsiya faylini o'rnatdingiz, ammo OpenID xizmatining URL manzili doimiy ravishda %s shaklida aniqlanmagan +ErrorWarehouseMustDiffers=Manba va maqsadli omborlar farq qilishi kerak +ErrorBadFormat=Noto'g'ri format! +ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Xato, bu a'zo hali hech qanday uchinchi tomon bilan bog'lanmagan. Hisob-faktura bilan obuna yaratishdan oldin a'zoni mavjud bo'lgan uchinchi tomon bilan bog'lang yoki yangi uchinchi tomonni yarating. +ErrorThereIsSomeDeliveries=Xato, ushbu etkazib berishga bog'liq bo'lgan ba'zi etkazib berishlar mavjud. Yo'q qilish rad etildi. +ErrorCantDeletePaymentReconciliated=Yarashtirilgan bank yozuvini yaratgan to'lovni o'chirib bo'lmaydi +ErrorCantDeletePaymentSharedWithPayedInvoice=Hech bo'lmaganda bitta faktura bilan to'langan to'lovni o'chirib bo'lmaydi, pullik holati mavjud +ErrorPriceExpression1="%s" doimiyligini tayinlab bo'lmaydi +ErrorPriceExpression2=O'rnatilgan '%s' funktsiyasini qayta aniqlab bo'lmaydi +ErrorPriceExpression3=Funktsiya ta'rifida aniqlanmagan '%s' o'zgaruvchisi +ErrorPriceExpression4=Noqonuniy belgi '%s' +ErrorPriceExpression5=Kutilmagan '%s' +ErrorPriceExpression6=Argumentlar soni noto'g'ri (%s berilgan, %s kutilmoqda) +ErrorPriceExpression8=Kutilmagan operator '%s' +ErrorPriceExpression9=Kutilmagan xatolik yuz berdi +ErrorPriceExpression10="%s" operatorida operand yo'q +ErrorPriceExpression11="%s" kutilmoqda +ErrorPriceExpression14=Nolga bo'linish +ErrorPriceExpression17=%s aniqlanmagan o'zgaruvchisi +ErrorPriceExpression19=Ifoda topilmadi +ErrorPriceExpression20=Bo'sh ifoda +ErrorPriceExpression21=Bo'sh natija '%s' +ErrorPriceExpression22=Salbiy natija '%s' +ErrorPriceExpression23=%s da noma'lum yoki o'rnatilmagan '%s' o'zgaruvchisi. +ErrorPriceExpression24='%s' o'zgaruvchisi mavjud, ammo qiymati yo'q +ErrorPriceExpressionInternal=Ichki xato '%s' +ErrorPriceExpressionUnknown=Noma'lum xato '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Manba va maqsadli omborlar farq qilishi kerak +ErrorTryToMakeMoveOnProductRequiringBatchData=Lot / ketma-ket ma'lumot talab qiladigan '%s' mahsulotida lot / ketma-ket ma'lumotsiz birja harakatini amalga oshirishda xato +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=Ushbu harakatni amalga oshirishga ruxsat berishdan oldin barcha yozib olingan qabullarni tekshirish (tasdiqlash yoki rad etish) kerak +ErrorCantSetReceptionToTotalDoneWithReceptionDenied=Ushbu harakatni amalga oshirishga ruxsat berishdan oldin barcha yozib olingan qabullarni tekshirish (tasdiqlash) kerak +ErrorGlobalVariableUpdater0=HTTP so'rovi '%s' xatosi bilan bajarilmadi +ErrorGlobalVariableUpdater1=Noto'g'ri JSON formati '%s' +ErrorGlobalVariableUpdater2=Parametr yo'q '%s' +ErrorGlobalVariableUpdater3=So'ralgan ma'lumotlar natijada topilmadi +ErrorGlobalVariableUpdater4=SOAP mijozi "%s" xatosi bilan ishlamadi +ErrorGlobalVariableUpdater5=Hech qanday global o'zgaruvchi tanlanmagan +ErrorFieldMustBeANumeric= %s maydon raqamli qiymat bo'lishi kerak +ErrorMandatoryParametersNotProvided=Majburiy parametr (lar) taqdim etilmagan +ErrorOppStatusRequiredIfAmount=Siz ushbu tanlov uchun taxminiy miqdorni belgiladingiz. Shunday qilib, siz uning holatini ham kiritishingiz kerak. +ErrorFailedToLoadModuleDescriptorForXXX=%s uchun modul identifikatori sinfini yuklab bo'lmadi +ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Modul tavsiflovchisidagi menyu qatorining noto'g'ri ta'rifi (fk_menu tugmasi uchun yomon qiymat) +ErrorSavingChanges=O'zgarishlarni saqlashda xatolik yuz berdi +ErrorWarehouseRequiredIntoShipmentLine=Yuk tashish uchun omborxonada talab qilinadi +ErrorFileMustHaveFormat=Fayl %s formatiga ega bo'lishi kerak +ErrorFilenameCantStartWithDot=Fayl nomini '' bilan boshlash mumkin emas. +ErrorSupplierCountryIsNotDefined=Ushbu sotuvchi uchun mamlakat aniqlanmagan. Avval buni tuzating. +ErrorsThirdpartyMerge=Ikki yozuv birlashtirilmadi. So'rov bekor qilindi. +ErrorStockIsNotEnoughToAddProductOnOrder=%s mahsuloti uchun uni yangi tartibga qo'shish uchun stok etarli emas. +ErrorStockIsNotEnoughToAddProductOnInvoice=%s mahsuloti uchun uni yangi hisob-fakturaga qo'shish uchun stok etarli emas. +ErrorStockIsNotEnoughToAddProductOnShipment=%s mahsuloti uchun uni yangi jo'natishga qo'shish uchun zaxira etarli emas. +ErrorStockIsNotEnoughToAddProductOnProposal=%s mahsuloti uchun uni yangi taklifga qo'shish uchun stok etarli emas. +ErrorFailedToLoadLoginFileForMode="%s" rejimi uchun kirish tugmachasini olmadi. +ErrorModuleNotFound=Modul fayli topilmadi. +ErrorFieldAccountNotDefinedForBankLine=Buxgalteriya hisobi qiymati %s (%s) manba qatori uchun aniqlanmagan +ErrorFieldAccountNotDefinedForInvoiceLine=Buxgalteriya hisobi qiymati %s (%s) hisob-fakturasi uchun aniqlanmagan +ErrorFieldAccountNotDefinedForLine=Buxgalteriya hisobi qiymati chiziq uchun aniqlanmagan (%s) +ErrorBankStatementNameMustFollowRegex=Xato, bank ko'chirma nomi quyidagi sintaksis qoidasiga amal qilishi kerak %s +ErrorPhpMailDelivery=Qabul qiluvchilarning juda ko'p sonini ishlatmasligingizni va elektron pochta manzilingiz Spamga o'xshamasligini tekshiring. To'liqroq ma'lumot olish uchun administratoringizdan xavfsizlik devori va server jurnallari fayllarini tekshirishni so'rang. +ErrorUserNotAssignedToTask=Vaqtni sarflashni kiritish uchun foydalanuvchiga topshiriq berilishi kerak. +ErrorTaskAlreadyAssigned=Vazifa allaqachon foydalanuvchiga berilgan +ErrorModuleFileSeemsToHaveAWrongFormat=Modul to'plami noto'g'ri formatga o'xshaydi. +ErrorModuleFileSeemsToHaveAWrongFormat2=Modul zip-da kamida bitta majburiy katalog mavjud bo'lishi kerak: %s yoki %s +ErrorFilenameDosNotMatchDolibarrPackageRules=Modul paketining nomi ( %s ) kutilgan nom sintaksisiga mos kelmaydi: %s a0a65d071f6fcz +ErrorDuplicateTrigger=Xato, %s trigger nomini takrorlang. %s dan allaqachon yuklangan. +ErrorNoWarehouseDefined=Xato, omborlar aniqlanmadi. +ErrorBadLinkSourceSetButBadValueForRef=Siz foydalanadigan havola yaroqsiz. To'lov uchun "manba" aniqlangan, ammo "ref" qiymati haqiqiy emas. +ErrorTooManyErrorsProcessStopped=Juda ko'p xatolar. Jarayon to'xtatildi. +ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Ushbu aksiyada zaxirani ko'paytirish / kamaytirish variantini o'rnatilganda ommaviy tekshirish mumkin emas (siz birma-bir tasdiqlashingiz kerak, shunda siz omborni oshirish / kamaytirish uchun) +ErrorObjectMustHaveStatusDraftToBeValidated=%s ob'ekti tasdiqlanishi uchun "Qoralama" holatiga ega bo'lishi kerak. +ErrorObjectMustHaveLinesToBeValidated=%s ob'ekti tasdiqlanishi uchun satrlarga ega bo'lishi kerak. +ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Faqat tasdiqlangan hisob-fakturalarni "Elektron pochta orqali yuborish" ommaviy aksiyasi yordamida yuborish mumkin. +ErrorChooseBetweenFreeEntryOrPredefinedProduct=Maqola oldindan belgilangan mahsulotmi yoki yo'qligini tanlashingiz kerak +ErrorDiscountLargerThanRemainToPaySplitItBefore=Siz qo'llamoqchi bo'lgan chegirma to'lashdan ko'ra kattaroqdir. Oldinroq chegirmani 2 ta kichik chegirmaga bo'ling. +ErrorFileNotFoundWithSharedLink=Fayl topilmadi. Ehtimol, ulashish kaliti o'zgartirilgan yoki fayl yaqinda olib tashlangan bo'lishi mumkin. +ErrorProductBarCodeAlreadyExists=%s mahsulotining shtrix-kodi boshqa mahsulot ma'lumotnomasida mavjud. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Shuni ham unutmangki, hech bo'lmaganda bitta subproduct (yoki subproduct) seriya / lot raqami kerak bo'lganda subproductlarni avtomatik ravishda oshirish / kamaytirish uchun to'plamlardan foydalanish mumkin emas. +ErrorDescRequiredForFreeProductLines=Tavsif bepul mahsulotga ega chiziqlar uchun majburiydir +ErrorAPageWithThisNameOrAliasAlreadyExists=Sahifa / konteyner %s siz foydalanmoqchi bo'lganingiz bir xil nom yoki muqobil taxallusga ega +ErrorDuringChartLoad=Hisob rejasini yuklashda xatolik yuz berdi. Agar bir nechta hisob yuklanmagan bo'lsa, ularni qo'lda kiritishingiz mumkin. +ErrorBadSyntaxForParamKeyForContent=Param keyforcontent uchun noto'g'ri sintaksis. %s yoki %s bilan boshlanadigan qiymat bo'lishi kerak +ErrorVariableKeyForContentMustBeSet=Xato, %s (matnli tarkib ko'rsatilishi kerak) yoki %s (tashqi url ko'rsatilishi kerak) bilan doimiy o'rnatilishi kerak. +ErrorURLMustEndWith=URL %s tugashi kerak %s +ErrorURLMustStartWithHttp=%s URL manzili http: // yoki https: // bilan boshlanishi kerak. +ErrorHostMustNotStartWithHttp=%s xost nomi http: // yoki https: // bilan boshlanmasligi kerak. +ErrorNewRefIsAlreadyUsed=Xato, yangi ma'lumotnoma allaqachon ishlatilgan +ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Xatolik yuz berdi, yopiq hisob-fakturaga ulangan to'lovni o'chirib bo'lmaydi. +ErrorSearchCriteriaTooSmall=Qidiruv mezonlari juda kichik. +ErrorObjectMustHaveStatusActiveToBeDisabled=O'chirish uchun ob'ektlar "Faol" holatiga ega bo'lishi kerak +ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Ob'ektlarni yoqish uchun "Qoralama" yoki "O'chirilgan" holati bo'lishi kerak +ErrorNoFieldWithAttributeShowoncombobox=Hech bir maydonda '%s' ob'ekti ta'rifida 'showoncombobox' xususiyati mavjud emas. Kombolistni ko'rsatishning imkoni yo'q. +ErrorFieldRequiredForProduct=%s mahsuloti uchun '%s' maydoni talab qilinadi +ProblemIsInSetupOfTerminal=Muammo %s terminalini o'rnatishda. +ErrorAddAtLeastOneLineFirst=Avval kamida bitta satr qo'shing +ErrorRecordAlreadyInAccountingDeletionNotPossible=Xato, yozuv allaqachon buxgalteriya hisobiga o'tkazilgan, yo'q qilish mumkin emas. +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Xato, agar siz sahifani boshqasining tarjimasi sifatida o'rnatgan bo'lsangiz, til majburiydir. +ErrorLanguageOfTranslatedPageIsSameThanThisPage=Xato, tarjima qilingan sahifaning tili shu bilan bir xil. +ErrorBatchNoFoundForProductInWarehouse="%s" mahsuloti uchun "%s" omborida lot / seriya topilmadi. +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse="%s" mahsuloti uchun "%s" omborida ushbu lot / seriya uchun etarli miqdor yo'q. +ErrorOnlyOneFieldForGroupByIsPossible="Guruh guruhi" uchun faqat bitta maydon bo'lishi mumkin (boshqalar bekor qilinadi) +ErrorTooManyDifferentValueForSelectedGroupBy=' %s ' uchun maydon juda ko'p turli xil qiymatlarni ( %s dan ortiq) topdi, shunday qilib we 'we can'. "Guruh guruhi" maydoni olib tashlandi. Siz uni X o'qi sifatida ishlatishni xohlaysizmi? +ErrorReplaceStringEmpty=Xato, o'rnini bosadigan satr bo'sh +ErrorProductNeedBatchNumber=Xato, ' %s ' mahsulotiga juda ko'p / seriya raqami kerak +ErrorProductDoesNotNeedBatchNumber=Xato, ' %s ' mahsuloti ko'p / seriya raqamini qabul qilmaydi +ErrorFailedToReadObject=Xato, %s turidagi ob'ekt o'qilmadi +ErrorParameterMustBeEnabledToAllwoThisFeature=Xato, %s parametri conf / conf.php ga o'rnatilgan bo'lishi kerak. +ErrorLoginDateValidity=Xato, ushbu kirish amal qilish muddati oralig'ida emas +ErrorValueLength=' %s ' maydonining uzunligi ' %s ' dan yuqori bo'lishi kerak +ErrorReservedKeyword=' %s ' so'zi zaxiralangan kalit so'z +ErrorNotAvailableWithThisDistribution=Ushbu tarqatish bilan mavjud emas +ErrorPublicInterfaceNotEnabled=Umumiy interfeys yoqilmagan +ErrorLanguageRequiredIfPageIsTranslationOfAnother=Yangi sahifaning tili boshqa sahifaning tarjimasi sifatida o'rnatilgan bo'lsa aniqlanishi kerak +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=Yangi sahifaning tili boshqa sahifaning tarjimasi sifatida o'rnatilgan bo'lsa, manba tili bo'lmasligi kerak +ErrorAParameterIsRequiredForThisOperation=Ushbu operatsiyani bajarish uchun parametr majburiydir +ErrorDateIsInFuture=Xato, sana kelajakda bo'lishi mumkin emas +ErrorAnAmountWithoutTaxIsRequired=Xato, miqdor majburiydir +ErrorAPercentIsRequired=Xato, foizni to'g'ri to'ldiring +ErrorYouMustFirstSetupYourChartOfAccount=Avval hisob qaydnomangizni o'rnatishingiz kerak +ErrorFailedToFindEmailTemplate=%s kodli shablonni topib bo'lmadi +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings -WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. -WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. -WarningMandatorySetupNotComplete=Click here to setup mandatory parameters -WarningEnableYourModulesApplications=Click here to enable your modules and applications -WarningSafeModeOnCheckExecDir=Warning, PHP option safe_mode is on so command must be stored inside a directory declared by php parameter safe_mode_exec_dir. -WarningBookmarkAlreadyExists=A bookmark with this title or this target (URL) already exists. -WarningPassIsEmpty=Warning, database password is empty. This is a security hole. You should add a password to your database and change your conf.php file to reflect this. -WarningConfFileMustBeReadOnly=Warning, your config file (htdocs/conf/conf.php) can be overwritten by the web server. This is a serious security hole. Modify permissions on file to be in read only mode for operating system user used by Web server. If you use Windows and FAT format for your disk, you must know that this file system does not allow to add permissions on file, so can't be completely safe. -WarningsOnXLines=Warnings on %s source record(s) -WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be chosen by default until you check your module setup. -WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable the installation/migration tools by adding a file install.lock into directory %s. Omitting the creation of this file is a grave security risk. -WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other Setup). -WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution. -WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box. -WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). -WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. -WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. -WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. -WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. -WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language -WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists -WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. -WarningProjectClosed=Project is closed. You must re-open it first. -WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. -WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table -WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. -WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list -WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHP parametringiz upload_max_filesize (%s) PHP post_max_size (%s) parametridan yuqori. Bu izchil o'rnatish emas. +WarningPasswordSetWithNoAccount=Ushbu a'zo uchun parol o'rnatildi. Biroq, foydalanuvchi hisobi yaratilmagan. Shunday qilib, ushbu parol saqlanadi, ammo Dolibarr-ga kirish uchun foydalanib bo'lmaydi. U tashqi modul / interfeys tomonidan ishlatilishi mumkin, ammo agar siz a'zo uchun hech qanday login va parolni belgilashga hojat bo'lmasa, siz "har bir a'zo uchun kirishni boshqarish" parametrini a'zo modulidan o'chirib qo'yishingiz mumkin. Agar sizga loginni boshqarish kerak bo'lsa, lekin hech qanday parol kerak bo'lmasa, ushbu ogohlantirishni oldini olish uchun ushbu maydonni bo'sh qoldirishingiz mumkin. Izoh: Agar foydalanuvchi bilan bog'langan bo'lsa, elektron pochta orqali kirish sifatida ham foydalanish mumkin. +WarningMandatorySetupNotComplete=Majburiy parametrlarni o'rnatish uchun shu erni bosing +WarningEnableYourModulesApplications=Modul va dasturlarni yoqish uchun shu erni bosing +WarningSafeModeOnCheckExecDir=Ogohlantirish, PHP opsiyasi yoniq, shuning uchun buyruq php parametri safe_mode_exec_dir php parametri bilan e'lon qilingan katalog ichida saqlanishi kerak. +WarningBookmarkAlreadyExists=Ushbu nom yoki ushbu maqsad (URL) bilan xatcho'p allaqachon mavjud. +WarningPassIsEmpty=Ogohlantirish, ma'lumotlar bazasi paroli bo'sh. Bu xavfsizlik teshigi. Ma'lumotlar bazasiga parol qo'shishingiz va conf.php faylini o'zgartirishingiz kerak. +WarningConfFileMustBeReadOnly=Ogohlantirish, sizning konfiguratsiya fayli ( htdocs / conf / conf.php ) veb-server tomonidan yozilishi mumkin. Bu jiddiy xavfsizlik teshigi. Veb-server tomonidan ishlatiladigan operatsion tizim foydalanuvchisi uchun faqat o'qish rejimida bo'lishi uchun faylga ruxsatlarni o'zgartiring. Agar siz diskingiz uchun Windows va FAT formatidan foydalansangiz, shuni bilishingiz kerakki, ushbu fayl tizimi faylga ruxsatlarni qo'shishga imkon bermaydi, shuning uchun to'liq xavfsiz bo'lishi mumkin emas. +WarningsOnXLines= %s manba yozuvlari (lar) haqida ogohlantirishlar +WarningNoDocumentModelActivated=Hujjatlarni yaratish uchun hech qanday model faollashtirilmagan. Modul sozlamalarini tekshirguningizcha sukut bo'yicha model tanlanadi. +WarningLockFileDoesNotExists=Ogohlantirish, o'rnatish tugagandan so'ng, faylini qo'shib o'rnatish / ko'chirish vositalarini o'chirib qo'yishingiz kerak katalogiga %s . Ushbu faylni yaratishni tashlab qo'yish xavfsizlikka katta xavf tug'diradi. +WarningUntilDirRemoved=Barcha xavfsizlik ogohlantirishlari (faqat administrator foydalanuvchilari tomonidan ko'rinadigan) zaiflik mavjud bo'lganda (yoki Setup-> Other Setup-ga doimiy MAIN_REMOVE_INSTALL_WARNING qo'shilsa) faol bo'lib qoladi. +WarningCloseAlways=Ogohlantirish, yopish, agar manba va maqsad elementlari o'rtasida farq bo'lsa ham amalga oshiriladi. Ushbu xususiyatni ehtiyotkorlik bilan yoqing. +WarningUsingThisBoxSlowDown=Ogohlantirish, ushbu katakchadan foydalanib, katakchani ko'rsatadigan barcha sahifalarni sekinlashtiring. +WarningClickToDialUserSetupNotComplete=Foydalanuvchingiz uchun ClickToDial ma'lumotlarini sozlash tugallanmagan (ClickToDial yorlig'ini foydalanuvchi kartangizga qarang). +WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Displeyni sozlash ko'zi ojizlar yoki matnli brauzerlar uchun optimallashtirilganda o'chirib qo'yilgan. +WarningPaymentDateLowerThanInvoiceDate=To'lov sanasi (%s) %s hisob-fakturasi uchun hisob-kitob sanasidan (%s) oldinroq. +WarningTooManyDataPleaseUseMoreFilters=Ma'lumot juda ko'p (%s qatorlaridan ko'p). Iltimos, ko'proq filtrlardan foydalaning yoki %s doimiyligini yuqori chegaraga o'rnating. +WarningSomeLinesWithNullHourlyRate=Ba'zi foydalanuvchilar ba'zi soatlarda soatlik stavkasi aniqlanmagan holda qayd etishgan. Soatiga 0 %s qiymati ishlatilgan, ammo bu sarflangan vaqtni noto'g'ri baholashga olib kelishi mumkin. +WarningYourLoginWasModifiedPleaseLogin=Kirishingiz o'zgartirildi. Xavfsizlik maqsadida keyingi harakatlar oldidan yangi tizimga kirishingiz kerak bo'ladi. +WarningAnEntryAlreadyExistForTransKey=Ushbu til uchun tarjima kaliti uchun yozuv allaqachon mavjud +WarningNumberOfRecipientIsRestrictedInMassAction=Ogohlantirish, turli xil qabul qiluvchilar soni %s bilan ro'yxatdagi ommaviy harakatlardan foydalanishda cheklangan +WarningDateOfLineMustBeInExpenseReportRange=Ogohlantirish, satr sanasi xarajatlar hisoboti doirasiga kirmaydi +WarningProjectDraft=Loyiha hali ham qoralama rejimida. Vazifalardan foydalanishni rejalashtirmoqchi bo'lsangiz, uni tasdiqlashni unutmang. +WarningProjectClosed=Loyiha yopiq. Avval uni qayta ochishingiz kerak. +WarningSomeBankTransactionByChequeWereRemovedAfter=Ba'zi bir bank operatsiyalari olib qo'yilgandan so'ng olib tashlandi, shu jumladan kvitansiya tuzildi. Shunday qilib, cheklarning nb-si va tushumning umumiy miqdori ro'yxatdagi son va jamidan farq qilishi mumkin. +WarningFailedToAddFileIntoDatabaseIndex=Ogohlantirish, ECM ma'lumotlar bazasi indekslari jadvaliga fayllar kiritilmadi +WarningTheHiddenOptionIsOn=Ogohlantirish, %s yashirin variant yoniq. +WarningCreateSubAccounts=Ogohlantirish, siz to'g'ridan-to'g'ri sub-qayd yozuvini yaratolmaysiz, uchinchi tomon yoki foydalanuvchini yaratishingiz va ularni ushbu ro'yxatda topish uchun ularga buxgalteriya kodini tayinlashingiz kerak. +WarningAvailableOnlyForHTTPSServers=Faqat HTTPS xavfsiz ulanishidan foydalanish mumkin. +WarningModuleXDisabledSoYouMayMissEventHere=%s moduli yoqilmagan. Shunday qilib, siz bu erda ko'plab tadbirlarni o'tkazib yuborishingiz mumkin. +ErrorActionCommPropertyUserowneridNotDefined=Foydalanuvchi egasi talab qilinadi +ErrorActionCommBadType=Tanlangan voqea turi (id: %n, kod: %s) Voqealar turi lug'atida mavjud emas +CheckVersionFail=Versiyani tekshirib bo'lmadi +ErrorWrongFileName=Fayl nomida __SOMETHING__ bo'lishi mumkin emas +ErrorNotInDictionaryPaymentConditions=To'lov shartlari lug'atida yo'q, iltimos o'zgartiring. diff --git a/htdocs/langs/uz_UZ/eventorganization.lang b/htdocs/langs/uz_UZ/eventorganization.lang index 75b798fbc3a..529ac2422f4 100644 --- a/htdocs/langs/uz_UZ/eventorganization.lang +++ b/htdocs/langs/uz_UZ/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,86 +17,133 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Tadbirni tashkil etish +EventOrganizationDescription = Modul loyihasi orqali tadbirlarni tashkil etish +EventOrganizationDescriptionLong= Konferentsiya, ishtirokchilar, ma'ruzachilar va ishtirokchilar uchun tadbirlarni tashkil qilishni ommaviy pastki sahifasi bilan boshqaring # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Tashkil etilgan tadbirlar +EventOrganizationConferenceOrBoothMenuLeft = Konferentsiya yoki stend # # Admin page # -EventOrganizationSetup = Event Organization setup -Settings = Settings -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees -EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference -EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Template of email to send after receiving a suggestion of a conference. -EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Template of email to send after receiving a suggestion of a booth. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Template of email to send after a subscription to a booth has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Template of email to send after a subscription to an event has been paid. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Template of email of massaction to attendes -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Template of email of massaction to speakers -EVENTORGANIZATION_FILTERATTENDEES_CAT = Filter thirdpartie's select list in attendees creation card/form with category -EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in attendees creation card/form with customer type +EventOrganizationSetup = Tadbirni tashkil qilishni sozlash +Settings = Sozlamalar +EventOrganizationSetupPage = Tadbirni tashkil etish sahifasi +EVENTORGANIZATION_TASK_LABEL = Loyiha tasdiqlanganda avtomatik ravishda yaratiladigan vazifalar yorlig'i +EVENTORGANIZATION_TASK_LABELTooltip = Agar tashkil etilgan tadbirda tasdiqlashimiz bo'lsa, ba'zi vazifalar avtomatik ravishda Masalan loyiha

    yaratilgan bo'lishi mumkin: konferensiyasi uchun
    Send qo'ng'iroq
    tashrif buyurganlar uchun voqealarga ochiq obuna
    But uchun qo'ng'iroq olish
    konferentsiyalar uchun qo'ng'iroq olish
    But chaqiraman yuborish
    Tadbirni ma'ruzachilarga eslatib turish +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Kimdir konferentsiya taklif qilganda avtomatik ravishda tuziladigan uchinchi tomonlarga qo'shiladigan toifadir +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Uchinchi shaxslarga qo'shiladigan toifani, ular stendni taklif qilganda avtomatik ravishda yaratiladi +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Konferentsiya taklifini olgandan so'ng yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Stend taklifini olgandan keyin yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Stendga obuna bo'lgandan keyin yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Tadbirga obuna bo'lgandan keyin yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Ishtirokchilarga ommaviy massaj elektron pochta shablonini +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Spikerlarga ommaviy elektron pochta orqali yuborilgan shablon +EVENTORGANIZATION_FILTERATTENDEES_CAT = Uchinchi tomonning tanlangan ro'yxatini ishtirokchilarni yaratish kartasida / toifadagi katakchasida filtrlang +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Uchinchi tomonning tanlangan ro'yxatini ishtirokchilarni yaratish kartasida / mijozning turiga qarab shaklda filtrlang # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +EventOrganizationConfOrBooth= Konferentsiya yoki stend +ManageOrganizeEvent = Tadbirni tashkil qilishni boshqaring +ConferenceOrBooth = Konferentsiya yoki stend +ConferenceOrBoothTab = Konferentsiya yoki stend +AmountOfSubscriptionPaid = To'langan obuna miqdori +DateSubscription = Obuna sanasi +ConferenceOrBoothAttendee = Konferentsiya yoki stend ishtirokchisi # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Konferentsiya uchun so'rovingiz qabul qilindi +YourOrganizationEventBoothRequestWasReceived = Sizning kabinangizga bo'lgan talabingiz qabul qilindi +EventOrganizationEmailAskConf = Konferentsiya uchun so'rov +EventOrganizationEmailAskBooth = Stendga buyurtma +EventOrganizationEmailSubsBooth = Stend uchun obuna +EventOrganizationEmailSubsEvent = Hodisa uchun obuna +EventOrganizationMassEmailAttendees = Ishtirokchilar bilan aloqa +EventOrganizationMassEmailSpeakers = Spikerlar bilan aloqa # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +AllowUnknownPeopleSuggestConf=Noma'lum odamlarga konferentsiyalarni o'tkazishga ruxsat bering +AllowUnknownPeopleSuggestConfHelp=Noma'lum odamlarga konferentsiyalarni o'tkazishga ruxsat bering +AllowUnknownPeopleSuggestBooth=Noma'lum odamlarga stendni taklif qilishga ruxsat bering +AllowUnknownPeopleSuggestBoothHelp=Noma'lum odamlarga stendni taklif qilishga ruxsat bering +PriceOfRegistration=Ro'yxatdan o'tish narxi +PriceOfRegistrationHelp=Ro'yxatdan o'tish narxi +PriceOfBooth=Stendda turish uchun obuna narxi +PriceOfBoothHelp=Stendda turish uchun obuna narxi +EventOrganizationICSLink=Voqealar uchun ICS-ni bog'lang +ConferenceOrBoothInformation=Konferentsiya yoki stend ma'lumotlari +Attendees = Ishtirokchilar +DownloadICSLink = ICS havolasini yuklab oling +EVENTORGANIZATION_SECUREKEY = Konferentsiyaga ochiq ro'yxatdan o'tishning havfli kaliti +SERVICE_BOOTH_LOCATION = Stend joylashgan joy haqida hisob-faktura qatori uchun ishlatiladigan xizmat +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Konferentsiyaga qatnashuvchi obuna haqida hisob-faktura satrida ishlatiladigan xizmat +NbVotes=Number of votes # # Status # -EvntOrgDraft = Draft -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified -EvntOrgDone = Done -EvntOrgCancelled = Cancelled +EvntOrgDraft = Qoralama +EvntOrgSuggested = Tavsiya etilgan +EvntOrgConfirmed = Tasdiqlandi +EvntOrgNotQualified = Malakali emas +EvntOrgDone = Bajarildi +EvntOrgCancelled = Bekor qilindi # # Public page # -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +SuggestForm = Takliflar sahifasi +RegisterPage = Konferentsiyalar yoki stendlar uchun sahifa +EvntOrgRegistrationHelpMessage = Bu erda siz tadbir uchun ovoz berishingiz yoki loyiha uchun yangi konferentsiya yoki stendni taklif qilishingiz mumkin +EvntOrgRegistrationConfHelpMessage = Bu erda siz loyiha uchun yangi konferentsiya taklif qilishingiz mumkin +EvntOrgRegistrationBoothHelpMessage = Bu erda siz loyiha uchun yangi stendni taklif qilishingiz mumkin +ListOfSuggestedConferences = Tavsiya etilgan konferentsiyalar ro'yxati +ListOfSuggestedBooths = Tavsiya etilgan kabinalar ro'yxati +SuggestConference = Yangi konferentsiyani taklif eting +SuggestBooth = Stendni taklif qiling +ViewAndVote = Taklif etilgan tadbirlarni ko'ring va ovoz bering +PublicAttendeeSubscriptionPage = Konferentsiyaga ro'yxatdan o'tishning ommaviy havolasi +MissingOrBadSecureKey = Elektron kalit yaroqsiz yoki yo'q +EvntOrgWelcomeMessage = Ushbu shakl sizga konferentsiyaning yangi ishtirokchisi sifatida ro'yxatdan o'tishga imkon beradi: '%s' +EvntOrgDuration = Ushbu anjuman %s da boshlanadi va %s da tugaydi. +ConferenceAttendeeFee = Tadbir uchun konferentsiya qatnashchilari uchun to'lov: '%s' %s dan %s gacha. +BoothLocationFee = Hodisa uchun stend joylashuvi: %s dan %s gacha bo'lgan '%s'. +EventType = Tadbir turi +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Konferentsiyada yoki kabinet takliflari sahifasida xush kelibsiz. +EvntOrgRegistrationConfWelcomeMessage = Konferentsiya takliflari sahifasida xush kelibsiz. +EvntOrgRegistrationBoothWelcomeMessage = Stend takliflari sahifasida xush kelibsiz. +EvntOrgVoteHelpMessage = Bu erda siz loyiha uchun taklif qilingan tadbirlarni ko'rishingiz va ularga ovoz berishingiz mumkin +VoteOk = Sizning ovozingiz qabul qilindi. +AlreadyVoted = Siz ushbu tadbir uchun allaqachon ovoz bergansiz. +VoteError = Ovoz berish paytida xatolik yuz berdi, qayta urinib ko'ring. + +# +# SubscriptionOk page +# +SubscriptionOk = Ushbu konferentsiyaga obunangiz tasdiqlandi +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Konferentsiyaga obuna bo'lganligingizni tasdiqlash +# +# Payment page +# +Attendee = Ishtirokchi +PaymentConferenceAttendee = Konferentsiya qatnashchilarining to'lovlari +PaymentBoothLocation = Stend joylashgan joy uchun to'lov diff --git a/htdocs/langs/uz_UZ/exports.lang b/htdocs/langs/uz_UZ/exports.lang index a0eb7161ef2..a38dd574a31 100644 --- a/htdocs/langs/uz_UZ/exports.lang +++ b/htdocs/langs/uz_UZ/exports.lang @@ -1,136 +1,137 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Exports ImportArea=Import -NewExport=New Export -NewImport=New Import -ExportableDatas=Exportable dataset -ImportableDatas=Importable dataset -SelectExportDataSet=Choose dataset you want to export... -SelectImportDataSet=Choose dataset you want to import... -SelectExportFields=Choose the fields you want to export, or select a predefined export profile -SelectImportFields=Choose the source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: -NotImportedFields=Fields of source file not imported -SaveExportModel=Save your selections as an export profile/template (for reuse). -SaveImportModel=Save this import profile (for reuse) ... -ExportModelName=Export profile name -ExportModelSaved=Export profile saved as %s. -ExportableFields=Exportable fields -ExportedFields=Exported fields -ImportModelName=Import profile name -ImportModelSaved=Import profile saved as %s. -DatasetToExport=Dataset to export -DatasetToImport=Import file into dataset -ChooseFieldsOrdersAndTitle=Choose fields order... -FieldsTitle=Fields title -FieldTitle=Field title -NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... -AvailableFormats=Available Formats -LibraryShort=Library -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator -Step=Step -FormatedImport=Import Assistant -FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. -FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. -FormatedExport=Export Assistant -FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. -FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. -Sheet=Sheet -NoImportableData=No importable data (no module with definitions to allow data imports) -FileSuccessfullyBuilt=File generated -SQLUsedForExport=SQL Request used to extract data -LineId=Id of line -LineLabel=Label of line -LineDescription=Description of line -LineUnitPrice=Unit price of line -LineVATRate=VAT Rate of line -LineQty=Quantity for line -LineTotalHT=Amount excl. tax for line -LineTotalTTC=Amount with tax for line -LineTotalVAT=Amount of VAT for line -TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) -FileWithDataToImport=File with data to import -FileToImport=Source file to import -FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) -ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SourceFileFormat=Source file format -FieldsInSourceFile=Fields in source file -FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) -Field=Field -NoFields=No fields -MoveField=Move field column number %s -ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Save this import profile -ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name. -TablesTarget=Targeted tables -FieldsTarget=Targeted fields -FieldTarget=Targeted field -FieldSource=Source field -NbOfSourceLines=Number of lines in source file -NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
    Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
    No data will be changed in your database. -RunSimulateImportFile=Run Import Simulation -FieldNeedSource=This field requires data from the source file -SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file -InformationOnSourceFile=Information on source file -InformationOnTargetTables=Information on target fields -SelectAtLeastOneField=Switch at least one source field in the column of fields to export -SelectFormat=Choose this import file format -RunImportFile=Import Data -NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
    When the simulation reports no errors you may proceed to import the data into the database. -DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. -ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. +NewExport=Yangi eksport +NewImport=Yangi import +ExportableDatas=Eksport qilinadigan ma'lumotlar to'plami +ImportableDatas=Muhim ma'lumotlar to'plami +SelectExportDataSet=Eksport qilmoqchi bo'lgan ma'lumotlar to'plamini tanlang ... +SelectImportDataSet=Import qilmoqchi bo'lgan ma'lumotlar to'plamini tanlang ... +SelectExportFields=Eksport qilmoqchi bo'lgan maydonlarni tanlang yoki oldindan belgilangan eksport profilini tanlang +SelectImportFields=Import qilmoqchi bo'lgan manba fayl maydonlarini va ularni %s langari yordamida yuqoriga va pastga siljitish orqali ma'lumotlar bazasidagi maqsad maydonini tanlang yoki oldindan belgilangan import profilini tanlang: +NotImportedFields=Import qilinmagan manba fayl maydonlari +SaveExportModel=Tanlovlaringizni eksport profil / shablon sifatida saqlang (qayta ishlatish uchun). +SaveImportModel=Ushbu import profilini saqlang (qayta ishlatish uchun) ... +ExportModelName=Profil nomini eksport qiling +ExportModelSaved=Eksport profilini %s sifatida saqlangan. +ExportableFields=Eksport qilinadigan maydonlar +ExportedFields=Eksport qilingan maydonlar +ImportModelName=Profil nomini import qilish +ImportModelSaved=Import profil %s sifatida saqlandi. +DatasetToExport=Eksport qilinadigan ma'lumotlar to'plami +DatasetToImport=Ma'lumotlar to'plamiga faylni import qilish +ChooseFieldsOrdersAndTitle=Maydonlar tartibini tanlang ... +FieldsTitle=Maydonlarning sarlavhasi +FieldTitle=Maydon nomi +NowClickToGenerateToBuildExportFile=Endi, ochilgan maydonda fayl formatini tanlang va eksport faylini yaratish uchun "Yaratish" tugmasini bosing ... +AvailableFormats=Mavjud formatlar +LibraryShort=Kutubxona +ExportCsvSeparator=CSV karakterlarni ajratuvchi +ImportCsvSeparator=CSV karakterlarni ajratuvchi +Step=Qadam +FormatedImport=Import yordamchisi +FormatedImportDesc1=Ushbu modul yordamchi yordamida texnik ma'lumotlarga ega bo'lmagan fayldan mavjud ma'lumotlarni yangilash yoki ma'lumotlar bazasiga yangi moslamalarni qo'shish imkonini beradi. +FormatedImportDesc2=Birinchi qadam - siz import qilmoqchi bo'lgan ma'lumotlar turini, so'ngra manba faylining formatini, so'ngra import qilmoqchi bo'lgan maydonlarni tanlashdir. +FormatedExport=Eksport bo'yicha yordamchi +FormatedExportDesc1=Ushbu vositalar yordamchi yordamida shaxsiy ma'lumotlarni eksport qilishga imkon beradi, bu sizga texnik bilimlarni talab qilmasdan yordam beradi. +FormatedExportDesc2=Birinchi qadam - oldindan belgilangan ma'lumotlar to'plamini tanlash, so'ngra qaysi maydonlarni eksport qilishni va qaysi tartibda. +FormatedExportDesc3=Eksport qilinadigan ma'lumotlar tanlanganida, siz chiqish faylining formatini tanlashingiz mumkin. +Sheet=Varaq +NoImportableData=Import qilinadigan ma'lumotlar yo'q (ma'lumotlarni import qilishga ruxsat beruvchi modul yo'q) +FileSuccessfullyBuilt=Fayl yaratildi +SQLUsedForExport=Ma'lumotlarni chiqarish uchun ishlatiladigan SQL so'rovi +LineId=Chiziq identifikatori +LineLabel=Chiziq yorlig'i +LineDescription=Chiziq tavsifi +LineUnitPrice=Chiziqning birlik narxi +LineVATRate=QQS stavkasi stavkasi +LineQty=Chiziq uchun miqdor +LineTotalHT=Miqdorisiz chiziq uchun soliq +LineTotalTTC=Chiziq uchun soliq miqdori +LineTotalVAT=Qator uchun QQS miqdori +TypeOfLineServiceOrProduct=Qator turi (0 = mahsulot, 1 = xizmat) +FileWithDataToImport=Import qilish uchun ma'lumotlar bilan fayl +FileToImport=Import qilish uchun manba fayl +FileMustHaveOneOfFollowingFormat=Import qilish uchun fayl quyidagi formatlardan biriga ega bo'lishi kerak +DownloadEmptyExample=Shablon faylini maydon tarkibidagi ma'lumotlar bilan yuklab oling +StarAreMandatory=* majburiy maydonlar +ChooseFormatOfFileToImport=Faylni import qilish formati sifatida tanlang, uni tanlash uchun %s belgisini bosing ... +ChooseFileToImport=Faylni yuklang, so'ngra faylni manba import fayli sifatida tanlash uchun %s belgisini bosing ... +SourceFileFormat=Manba fayl formati +FieldsInSourceFile=Manba faylidagi maydonlar +FieldsInTargetDatabase=Dolibarr ma'lumotlar bazasidagi maqsad maydonlari (qalin = majburiy) +Field=Maydon +NoFields=Maydonlar yo‘q +MoveField=%s maydon ustun satrini siljiting +ExampleOfImportFile=Import_file-ning namunasi +SaveImportProfile=Ushbu import profilini saqlang +ErrorImportDuplicateProfil=Ushbu import profilini ushbu nom bilan saqlab bo'lmadi. Ushbu nom bilan allaqachon mavjud profil mavjud. +TablesTarget=Maqsadli jadvallar +FieldsTarget=Maqsadli maydonlar +FieldTarget=Maqsadli maydon +FieldSource=Manba maydoni +NbOfSourceLines=Manba faylidagi qatorlar soni +NowClickToTestTheImport=Faylingiz formati (maydon va satrlarni ajratuvchi) ko'rsatilgan parametrlarga mos kelishini va sarlavha satrini tashlab qo'yganingizni tekshiring, aks holda ular quyidagi simulyatsiyada xatolar sifatida belgilanadi.
    " %s " tugmachasini bosib, fayl tuzilishini / tarkibini tekshiring va import jarayonini taqlid qiling.
    ma'lumotlar bazangizda ma'lumotlar o'zgartirilmaydi . +RunSimulateImportFile=Import simulyatsiyasini ishga tushiring +FieldNeedSource=Ushbu maydon manba faylidan ma'lumotlarni talab qiladi +SomeMandatoryFieldHaveNoSource=Ba'zi majburiy maydonlarda ma'lumotlar fayli manbasi yo'q +InformationOnSourceFile=Dastlabki fayl haqida ma'lumot +InformationOnTargetTables=Maqsadli maydonlar haqida ma'lumot +SelectAtLeastOneField=Eksport qilish uchun maydonlar ustunidagi kamida bitta manba maydonini almashtiring +SelectFormat=Ushbu import fayl formatini tanlang +RunImportFile=Ma'lumotlarni import qilish +NowClickToRunTheImport=Importni simulyatsiya qilish natijalarini tekshiring. Xatolarni tuzating va qayta sinovdan o'tkazing.
    simulyatsiya xatolar haqida xabar bermasa, ma'lumotlar bazasiga ma'lumotlarni import qilishga o'tishingiz mumkin. +DataLoadedWithId=Import qilingan ma'lumotlar har bir ma'lumotlar bazasi jadvalida ushbu import identifikatori bilan qo'shimcha maydonga ega bo'ladi: %s , bu import bilan bog'liq muammoni tekshirishda uni qidirib topishga imkon berish uchun. +ErrorMissingMandatoryValue=Majburiy ma'lumotlar %s maydonining manba faylida bo'sh. TooMuchErrors=There are still %s other source lines with errors but output has been limited. TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. -EmptyLine=Empty line (will be discarded) -CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. -FileWasImported=File was imported with number %s. -YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. -NbOfLinesOK=Number of lines with no errors and no warnings: %s. -NbOfLinesImported=Number of lines successfully imported: %s. -DataComeFromNoWhere=Value to insert comes from nowhere in source file. -DataComeFromFileFieldNb=Value to insert comes from field number %s in source file. -DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). +EmptyLine=Bo'sh satr (bekor qilinadi) +CorrectErrorBeforeRunningImport=Siz aniq importni ishlatishdan oldin
    barcha xatolarni tuzatishingiz kerak. +FileWasImported=Fayl %s raqami bilan import qilingan. +YouCanUseImportIdToFindRecord=Ma'lumotlar bazangizdagi barcha import qilingan yozuvlarni import_key = '%s' maydonida filtrlash orqali topishingiz mumkin. +NbOfLinesOK=Xato va ogohlantirishsiz qatorlar soni: %s . +NbOfLinesImported=Muvaffaqiyatli import qilingan qatorlar soni: %s . +DataComeFromNoWhere=Qo'shish uchun qiymat manba faylida yo'q. +DataComeFromFileFieldNb=Qo'shish uchun qiymat manba faylidagi %s maydon raqamidan kelib chiqadi. +DataComeFromIdFoundFromRef=Manba faylining %s maydon raqamidan kelib chiqadigan qiymat ota-ona ob'ektini identifikatorini topish uchun ishlatiladi (shuning uchun %s a09 DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. -DataIsInsertedInto=Data coming from source file will be inserted into the following field: -DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: -DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: -SourceRequired=Data value is mandatory -SourceExample=Example of possible data value -ExampleAnyRefFoundIntoElement=Any ref found for element %s -ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s -CSVFormatDesc=Comma Separated Value file format (.csv).
    This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. -Excel95FormatDesc=Excel file format (.xls)
    This is the native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
    This is the native Excel 2007 format (SpreadsheetML). -TsvFormatDesc=Tab Separated Value file format (.tsv)
    This is a text file format where fields are separated by a tabulator [tab]. -ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). -CsvOptions=CSV format options -Separator=Field Separator +DataIsInsertedInto=Dastlabki fayldan olingan ma'lumotlar quyidagi maydonga kiritiladi: +DataIDSourceIsInsertedInto=Asosiy ob'ekt identifikatori manba faylidagi ma'lumotlar yordamida topildi, quyidagi maydonga kiritiladi: +DataCodeIDSourceIsInsertedInto=Koddan topilgan ota-ona identifikatori quyidagi maydonga kiritiladi: +SourceRequired=Ma'lumot qiymati majburiydir +SourceExample=Mumkin bo'lgan ma'lumotlar qiymatining misoli +ExampleAnyRefFoundIntoElement= %s elementi uchun har qanday ref topildi +ExampleAnyCodeOrIdFoundIntoDictionary=Lug'atda topilgan har qanday kod (yoki id) %s +CSVFormatDesc= vergul bilan ajratilgan qiymat fayl formati (.csv).
    Bu matnli fayl formatidir, bu erda maydonlar ajratuvchi [%s] bilan ajratiladi. Agar maydon ajratuvchisi topilsa, maydon [%s] dumaloq belgi bo'yicha yaxlitlanadi. Dumaloq belgidan qochish uchun belgidan qochish [%s]. +Excel95FormatDesc= Excel fayl formati (.xls)
    Bu mahalliy Excel 95 formati (BIFF5). +Excel2007FormatDesc= Excel fayl formati (.xlsx)
    Bu mahalliy Excel 2007 formatidir (SpreadsheetML). +TsvFormatDesc= tab ajratilgan qiymat fayl formati (.tsv)
    bu matnli fayl formatidir, bu erda maydonlar tabulyator [tab] bilan ajratilgan. +ExportFieldAutomaticallyAdded= %s maydon avtomatik ravishda qo'shildi. Ikki nusxadagi yozuv sifatida qaraladigan o'xshash chiziqlardan qochishingiz mumkin (bu maydon qo'shilgan holda, barcha satrlar o'z identifikatoriga ega bo'ladi va farq qiladi). +CsvOptions=CSV formati parametrlari +Separator=Maydon ajratuvchi Enclosure=String Delimiter -SpecialCode=Special code -ExportStringFilter=%% allows replacing one or more characters in the text -ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
    YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
    > YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
    < YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days -ExportNumericFilter=NNNNN filters by one value
    NNNNN+NNNNN filters over a range of values
    < NNNNN filters by lower values
    > NNNNN filters by higher values -ImportFromLine=Import starting from line number -EndAtLineNb=End at line number -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). -SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
    If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. -KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. -SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import -UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) -NoUpdateAttempt=No update attempt was performed, only insert -ImportDataset_user_1=Users (employees or not) and properties -ComputedField=Computed field +SpecialCode=Maxsus kod +ExportStringFilter=%% matndagi bir yoki bir nechta belgini almashtirishga imkon beradi +ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filtrlar bir yil / oy / kunga
    YYYY + YYYY, YYYYMM + YYYYMM, YYYYMMDD + YYYYMMDD: Y3YYYMMDD: YYYYMMDD: YYYYYMMDD: Y0YFYYYYYYYMY, yy19y / kun keyingi yillar / oylar / kunlar
    NNNNN + NNNNN
    > NNNNN yuqori qiymatlarga ko'ra filtrlaydi +ImportFromLine=Qator raqamidan boshlab import qilish +EndAtLineNb=Satr raqamida tugatish +ImportFromToLine=Cheklov diapazoni (dan - ga). Masalan. sarlavha satrlarini (larini) chiqarib tashlash. +SetThisValueTo2ToExcludeFirstLine=Masalan, 2 ta birinchi qatorni chiqarib tashlash uchun ushbu qiymatni 3 ga o'rnating.
    Agar sarlavha satrlari chiqarib tashlanmasa, bu Import Simulyatsiyasida bir nechta xatolarga olib keladi. +KeepEmptyToGoToEndOfFile=Fayl oxirigacha barcha satrlarni qayta ishlash uchun ushbu maydonni bo'sh qoldiring. +SelectPrimaryColumnsForUpdateAttempt=UPDATE importi uchun asosiy kalit sifatida foydalanish uchun ustun (lar) ni tanlang +UpdateNotYetSupportedForThisImport=Ushbu turdagi import uchun yangilanish mavjud emas (faqat qo'shish) +NoUpdateAttempt=Yangilashga urinish amalga oshirilmadi, faqat qo'shib qo'ying +ImportDataset_user_1=Foydalanuvchilar (xodimlar yoki yo'q) va xususiyatlari +ComputedField=Hisoblangan maydon ## filters -SelectFilterFields=If you want to filter on some values, just input values here. -FilteredFields=Filtered fields -FilteredFieldsValues=Value for filter -FormatControlRule=Format control rule +SelectFilterFields=Agar siz ba'zi bir qiymatlar bo'yicha filtrlashni xohlasangiz, bu erda faqat qiymatlarni kiriting. +FilteredFields=Filtrlangan maydonlar +FilteredFieldsValues=Filtr uchun qiymat +FormatControlRule=Formatni boshqarish qoidasi ## imports updates -KeysToUseForUpdates=Key (column) to use for updating existing data -NbInsert=Number of inserted lines: %s -NbUpdate=Number of updated lines: %s -MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number +KeysToUseForUpdates=Mavjud ma'lumotlarni
    yangilash uchun uchun ishlatiladigan kalit (ustun) +NbInsert=Kiritilgan qatorlar soni: %s +NbUpdate=Yangilangan qatorlar soni: %s +MultipleRecordFoundWithTheseFilters=Ushbu filtrlar yordamida bir nechta yozuvlar topildi: %s +StocksWithBatch=Partiya / seriya raqami bo'lgan mahsulot zaxiralari va joylashuvi (ombor) diff --git a/htdocs/langs/uz_UZ/externalsite.lang b/htdocs/langs/uz_UZ/externalsite.lang index 452100c65b3..db049960d45 100644 --- a/htdocs/langs/uz_UZ/externalsite.lang +++ b/htdocs/langs/uz_UZ/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite -ExternalSiteSetup=Setup link to external website -ExternalSiteURL=External Site URL of HTML iframe content -ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. -ExampleMyMenuEntry=My menu entry +ExternalSiteSetup=Tashqi veb-saytga havolani o'rnatish +ExternalSiteURL=HTML iframe tarkibidagi tashqi sayt URL manzili +ExternalSiteModuleNotComplete=ExternalSite moduli to'g'ri sozlanmagan. +ExampleMyMenuEntry=Mening yozuvim diff --git a/htdocs/langs/uz_UZ/ftp.lang b/htdocs/langs/uz_UZ/ftp.lang index 8ecb0c55cad..4c409340eca 100644 --- a/htdocs/langs/uz_UZ/ftp.lang +++ b/htdocs/langs/uz_UZ/ftp.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - ftp -FTPClientSetup=FTP Client module setup -NewFTPClient=New FTP connection setup -FTPArea=FTP Area -FTPAreaDesc=This screen show you content of a FTP server view -SetupOfFTPClientModuleNotComplete=Setup of FTP client module seems to be not complete -FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP functions -FailedToConnectToFTPServer=Failed to connect to FTP server (server %s, port %s) -FailedToConnectToFTPServerWithCredentials=Failed to login to FTP server with defined login/password -FTPFailedToRemoveFile=Failed to remove file %s. -FTPFailedToRemoveDir=Failed to remove directory %s (Check permissions and that directory is empty). -FTPPassiveMode=Passive mode -ChooseAFTPEntryIntoMenu=Choose a FTP entry into menu... -FailedToGetFile=Failed to get files %s +FTPClientSetup=FTP yoki SFTP Client modulini sozlash +NewFTPClient=FTP / FTPS ulanishini yangi sozlash +FTPArea=FTP / FTPS maydoni +FTPAreaDesc=Ushbu ekran FTP va SFTP serverining ko'rinishini ko'rsatadi. +SetupOfFTPClientModuleNotComplete=FTP yoki SFTP mijoz modulini sozlash tugallanmaganga o'xshaydi +FTPFeatureNotSupportedByYourPHP=Sizning PHP-da FTP yoki SFTP funktsiyalari qo'llab-quvvatlanmaydi +FailedToConnectToFTPServer=Serverga ulanib bo'lmadi (server %s, port %s) +FailedToConnectToFTPServerWithCredentials=Belgilangan login / parol bilan serverga kirishda xatolik yuz berdi +FTPFailedToRemoveFile= %s faylini o'chirib bo'lmadi. +FTPFailedToRemoveDir= %s katalogini o'chirib bo'lmadi: ruxsatlarni tekshiring va katalog bo'sh. +FTPPassiveMode=Passiv rejim +ChooseAFTPEntryIntoMenu=Menyudan FTP / SFTP saytini tanlang ... +FailedToGetFile=%s fayllari olinmadi diff --git a/htdocs/langs/uz_UZ/help.lang b/htdocs/langs/uz_UZ/help.lang index da776683a6a..72cef81e44e 100644 --- a/htdocs/langs/uz_UZ/help.lang +++ b/htdocs/langs/uz_UZ/help.lang @@ -1,23 +1,23 @@ # Dolibarr language file - Source file is en_US - help -CommunitySupport=Forum/Wiki support -EMailSupport=Emails support -RemoteControlSupport=Online real time / remote support -OtherSupport=Other support -ToSeeListOfAvailableRessources=To contact/see available resources: -HelpCenter=Help center -DolibarrHelpCenter=Dolibarr Help and Support Center -ToGoBackToDolibarr=Otherwise, click here to continue to use Dolibarr. -TypeOfSupport=Type of support -TypeSupportCommunauty=Community (free) -TypeSupportCommercial=Commercial -TypeOfHelp=Type -NeedHelpCenter=Need help or support? -Efficiency=Efficiency -TypeHelpOnly=Help only -TypeHelpDev=Help+Development -TypeHelpDevForm=Help+Development+Training -BackToHelpCenter=Otherwise, go back to Help center home page. -LinkToGoldMember=You can call one of the trainers preselected by Dolibarr for your language (%s) by clicking their Widget (status and maximum price are automatically updated): -PossibleLanguages=Supported languages -SubscribeToFoundation=Help the Dolibarr project, subscribe to the foundation -SeeOfficalSupport=For official Dolibarr support in your language:
    %s +CommunitySupport=Forum / Wiki-ni qo'llab-quvvatlash +EMailSupport=Elektron pochta xabarlarini qo'llab-quvvatlash +RemoteControlSupport=Onlayn real vaqtda / masofadan qo'llab-quvvatlash +OtherSupport=Boshqa yordam +ToSeeListOfAvailableRessources=Mavjud manbalarga murojaat qilish / ko'rish uchun: +HelpCenter=Yordam markazi +DolibarrHelpCenter=Dolibarr yordam va qo'llab-quvvatlash markazi +ToGoBackToDolibarr=Aks holda, Dolibarr dan foydalanishda davom etish uchun bu erni bosing. +TypeOfSupport=Qo'llab-quvvatlash turi +TypeSupportCommunauty=Hamjamiyat (bepul) +TypeSupportCommercial=Tijorat +TypeOfHelp=Turi +NeedHelpCenter=Yordamga yoki yordamga muhtojmisiz? +Efficiency=Samaradorlik +TypeHelpOnly=Faqat yordam bering +TypeHelpDev=Yordam + taraqqiyot +TypeHelpDevForm=Yordam + taraqqiyot + trening +BackToHelpCenter=Aks holda, yordam markazining asosiy sahifasi -ga qaytadi. +LinkToGoldMember=O'zingizning tilingiz uchun Dolibarr tomonidan tanlangan murabbiylardan biriga (%s) ularning vidjetini bosish orqali qo'ng'iroq qilishingiz mumkin (holat va maksimal narx avtomatik ravishda yangilanadi): +PossibleLanguages=Qo'llab-quvvatlanadigan tillar +SubscribeToFoundation=Dolibarr loyihasiga yordam bering, fondga obuna bo'ling +SeeOfficalSupport=Sizning tilingizda rasmiy Dolibarr yordami uchun:
    %s diff --git a/htdocs/langs/uz_UZ/holiday.lang b/htdocs/langs/uz_UZ/holiday.lang index eb2cd89adf1..9d08032a03d 100644 --- a/htdocs/langs/uz_UZ/holiday.lang +++ b/htdocs/langs/uz_UZ/holiday.lang @@ -1,134 +1,136 @@ # Dolibarr language file - Source file is en_US - holiday HRM=HRM -Holidays=Leave -CPTitreMenu=Leave -MenuReportMonth=Monthly statement -MenuAddCP=New leave request -NotActiveModCP=You must enable the module Leave to view this page. -AddCP=Make a leave request -DateDebCP=Start date -DateFinCP=End date -DraftCP=Draft -ToReviewCP=Awaiting approval -ApprovedCP=Approved -CancelCP=Canceled -RefuseCP=Refused -ValidatorCP=Approbator -ListeCP=List of leave -Leave=Leave request -LeaveId=Leave ID -ReviewedByCP=Will be approved by -UserID=User ID -UserForApprovalID=User for approval ID -UserForApprovalFirstname=First name of approval user -UserForApprovalLastname=Last name of approval user -UserForApprovalLogin=Login of approval user -DescCP=Description -SendRequestCP=Create leave request -DelayToRequestCP=Leave requests must be made at least %s day(s) before them. -MenuConfCP=Balance of leave -SoldeCPUser=Leave balance is %s days. -ErrorEndDateCP=You must select an end date greater than the start date. -ErrorSQLCreateCP=An SQL error occurred during the creation: -ErrorIDFicheCP=An error has occurred, the leave request does not exist. -ReturnCP=Return to previous page -ErrorUserViewCP=You are not authorized to read this leave request. -InfosWorkflowCP=Information Workflow -RequestByCP=Requested by -TitreRequestCP=Leave request -TypeOfLeaveId=Type of leave ID -TypeOfLeaveCode=Type of leave code -TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day -DateStartInMonth=Start date in month -DateEndInMonth=End date in month -EditCP=Edit -DeleteCP=Delete -ActionRefuseCP=Refuse -ActionCancelCP=Cancel -StatutCP=Status -TitleDeleteCP=Delete the leave request -ConfirmDeleteCP=Confirm the deletion of this leave request? -ErrorCantDeleteCP=Error you don't have the right to delete this leave request. -CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. -NoDateDebut=You must select a start date. -NoDateFin=You must select an end date. -ErrorDureeCP=Your leave request does not contain working day. -TitleValidCP=Approve the leave request -ConfirmValidCP=Are you sure you want to approve the leave request? -DateValidCP=Date approved -TitleToValidCP=Send leave request -ConfirmToValidCP=Are you sure you want to send the leave request? -TitleRefuseCP=Refuse the leave request -ConfirmRefuseCP=Are you sure you want to refuse the leave request? -NoMotifRefuseCP=You must choose a reason for refusing the request. -TitleCancelCP=Cancel the leave request -ConfirmCancelCP=Are you sure you want to cancel the leave request? -DetailRefusCP=Reason for refusal -DateRefusCP=Date of refusal -DateCancelCP=Date of cancellation -DefineEventUserCP=Assign an exceptional leave for a user -addEventToUserCP=Assign leave -NotTheAssignedApprover=You are not the assigned approver -MotifCP=Reason -UserCP=User -ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. -AddEventToUserOkCP=The addition of the exceptional leave has been completed. -MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user -PrevSoldeCP=Previous Balance -NewSoldeCP=New Balance -alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation -BoxTitleLastLeaveRequests=Latest %s modified leave requests -HolidaysMonthlyUpdate=Monthly update -ManualUpdate=Manual update -HolidaysCancelation=Leave request cancelation -EmployeeLastname=Employee last name -EmployeeFirstname=Employee first name -TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed -LastHolidays=Latest %s leave requests -AllHolidays=All leave requests -HalfDay=Half day -NotTheAssignedApprover=You are not the assigned approver -LEAVE_PAID=Paid vacation -LEAVE_SICK=Sick leave -LEAVE_OTHER=Other leave -LEAVE_PAID_FR=Paid vacation +Holidays=Keting +CPTitreMenu=Keting +MenuReportMonth=Oylik bayonot +MenuAddCP=Yangi ta'til so'rovi +NotActiveModCP=Ushbu sahifani ko'rish uchun "Ketish" modulini yoqishingiz kerak. +AddCP=Dam olish to'g'risida so'rov yuboring +DateDebCP=Boshlanish vaqti +DateFinCP=Tugash sanasi +DraftCP=Qoralama +ToReviewCP=Tasdiqlash kutilmoqda +ApprovedCP=Tasdiqlangan +CancelCP=Bekor qilindi +RefuseCP=Rad etildi +ValidatorCP=Tasdiqlovchi +ListeCP=Ta'til ro'yxati +Leave=So'rovni qoldiring +LeaveId=IDni qoldiring +ReviewedByCP=Tomonidan tasdiqlanadi +UserID=foydalanuvchi IDsi +UserForApprovalID=Tasdiqlash identifikatori uchun foydalanuvchi +UserForApprovalFirstname=Tasdiqlovchi foydalanuvchining ismi +UserForApprovalLastname=Tasdiqlovchi foydalanuvchining familiyasi +UserForApprovalLogin=Tasdiqlash foydalanuvchisining kirishi +DescCP=Tavsif +SendRequestCP=Dam olish uchun so'rov yarating +DelayToRequestCP=Dam olish uchun so'rovlar kamida %s kun (lar) dan oldin amalga oshirilishi kerak. +MenuConfCP=Ta'til qoldig'i +SoldeCPUser=Dam olish qoldig'i %s kun. +ErrorEndDateCP=Boshlanish sanasidan kattaroq tugash sanasini tanlashingiz kerak. +ErrorSQLCreateCP=Yaratish paytida SQL xatosi paydo bo'ldi: +ErrorIDFicheCP=Xatolik yuz berdi, ta'til so'rovi mavjud emas. +ReturnCP=Oldingi sahifaga qaytish +ErrorUserViewCP=Ushbu ta'tilga oid talabni o'qishga vakolatingiz yo'q. +InfosWorkflowCP=Axborotning ishlash jarayoni +RequestByCP=Tomonidan so'ralgan +TitreRequestCP=So'rovni qoldiring +TypeOfLeaveId=Ta'til guvohnomasi turi +TypeOfLeaveCode=Dam olish kodining turi +TypeOfLeaveLabel=Ta'til yorlig'i turi +NbUseDaysCP=Ishlatilgan ta'til kunlari soni +NbUseDaysCPHelp=Hisoblashda lug'atda belgilangan ish kunlari va ta'til kunlari hisobga olinadi. +NbUseDaysCPShort=Dam olish kunlari +NbUseDaysCPShortInMonth=Bir oy ichida ta'til kunlari +DayIsANonWorkingDay=%s - bu ishlamaydigan kun +DateStartInMonth=Boshlanish sanasi oyda +DateEndInMonth=Tugash sanasi oyda +EditCP=Tahrirlash +DeleteCP=O'chirish +ActionRefuseCP=Rad etish +ActionCancelCP=Bekor qilish +StatutCP=Holat +TitleDeleteCP=Dam olish haqidagi so'rovni o'chirib tashlang +ConfirmDeleteCP=Ushbu ta'til so'rovi o'chirilganligini tasdiqlaysizmi? +ErrorCantDeleteCP=Xatolik, ushbu ta'tilni o'chirish huquqiga ega emassiz. +CantCreateCP=Sizda ta'tilga chiqish to'g'risida so'rov yuborish huquqingiz yo'q. +InvalidValidatorCP=Ta'tilga chiqish uchun tasdiqlovchini tanlashingiz kerak. +NoDateDebut=Boshlanish sanasini tanlashingiz kerak. +NoDateFin=Tugash sanasini tanlashingiz kerak. +ErrorDureeCP=Sizning ta'til so'rovingiz ish kunini o'z ichiga olmaydi. +TitleValidCP=Dam olish to'g'risidagi talabni ma'qullash +ConfirmValidCP=Ta'tilga chiqish haqidagi so'rovni ma'qullamoqchimisiz? +DateValidCP=Sana tasdiqlangan +TitleToValidCP=Dam olish uchun so'rov yuboring +ConfirmToValidCP=Haqiqatan ham ta'tilga chiqish so'rovini yubormoqchimisiz? +TitleRefuseCP=Dam olish to'g'risidagi talabni rad eting +ConfirmRefuseCP=Haqiqatan ham ta'tildan voz kechishni xohlaysizmi? +NoMotifRefuseCP=So'rovni rad etish uchun sababni tanlashingiz kerak. +TitleCancelCP=Dam olish to'g'risidagi talabni bekor qiling +ConfirmCancelCP=Haqiqatan ham ta'tilni bekor qilishni xohlaysizmi? +DetailRefusCP=Rad etish sababi +DateRefusCP=Rad etish sanasi +DateCancelCP=Bekor qilingan sana +DefineEventUserCP=Foydalanuvchiga alohida ta'tilni tayinlang +addEventToUserCP=Ta'tilni tayinlang +NotTheAssignedApprover=Siz tayinlangan tasdiqlovchi emassiz +MotifCP=Sabab +UserCP=Foydalanuvchi +ErrorAddEventToUserCP=Istisno ta'tilini qo'shishda xatolik yuz berdi. +AddEventToUserOkCP=Istisno ta'tiliga qo'shilish tugallandi. +MenuLogCP=O'zgarish jurnallarini ko'rish +LogCP="Ta'til balansi" ga kiritilgan barcha yangilanishlar jurnali +ActionByCP=Tomonidan yangilangan +UserUpdateCP=Uchun yangilangan +PrevSoldeCP=Oldingi qoldiq +NewSoldeCP=Yangi balans +alreadyCPexist=Ushbu davrda ta'til so'ralgan. +FirstDayOfHoliday=Ta'tilga chiqish kunining boshlanishi +LastDayOfHoliday=Ta'tilni talab qilish kuni tugaydi +BoxTitleLastLeaveRequests=Oxirgi %s o'zgartirilgan ta'til so'rovlari +HolidaysMonthlyUpdate=Oylik yangilanish +ManualUpdate=Qo'lda yangilash +HolidaysCancelation=So'rovni bekor qilishni qoldiring +EmployeeLastname=Xodimning familiyasi +EmployeeFirstname=Xodimning ismi +TypeWasDisabledOrRemoved=Dam olish turi (id %s) o'chirilgan yoki olib tashlangan +LastHolidays=Oxirgi %s ta'til so'rovlari +AllHolidays=Barcha ta'til bo'yicha so'rovlar +HalfDay=Yarim kun +NotTheAssignedApprover=Siz tayinlangan tasdiqlovchi emassiz +LEAVE_PAID=Pullik ta'til +LEAVE_SICK=Kasallik ta'tili +LEAVE_OTHER=Boshqa ta'til +LEAVE_PAID_FR=Pullik ta'til ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation -UpdateConfCPOK=Updated successfully. -Module27130Name= Management of leave requests -Module27130Desc= Management of leave requests -ErrorMailNotSend=An error occurred while sending email: -NoticePeriod=Notice period +LastUpdateCP=Ta'tilni ajratishni oxirgi avtomatik yangilash +MonthOfLastMonthlyUpdate=Ta'tilni oxirgi avtomatik yangilash oyi +UpdateConfCPOK=Muvaffaqiyatli yangilandi. +Module27130Name= Ta'tilga oid so'rovlarni boshqarish +Module27130Desc= Ta'tilga oid so'rovlarni boshqarish +ErrorMailNotSend=Elektron pochta xabarini yuborishda xatolik yuz berdi: +NoticePeriod=Bildirishnoma muddati #Messages -HolidaysToValidate=Validate leave requests -HolidaysToValidateBody=Below is a leave request to validate -HolidaysToValidateDelay=This leave request will take place within a period of less than %s days. -HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. -HolidaysValidated=Validated leave requests -HolidaysValidatedBody=Your leave request for %s to %s has been validated. -HolidaysRefused=Request denied -HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason: -HolidaysCanceled=Canceled leaved request -HolidaysCanceledBody=Your leave request for %s to %s has been canceled. -FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. -NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter -GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models -TemplatePDFHolidays=Template for leave requests PDF -FreeLegalTextOnHolidays=Free text on PDF -WatermarkOnDraftHolidayCards=Watermarks on draft leave requests -HolidaysToApprove=Holidays to approve -NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidaysToValidate=Ta'tilga oid so'rovlarni tasdiqlash +HolidaysToValidateBody=Quyida tasdiqlash uchun ta'til so'rovi keltirilgan +HolidaysToValidateDelay=Ushbu ta'til so'rovi %s kundan kam vaqt ichida amalga oshiriladi. +HolidaysToValidateAlertSolde=Ushbu ta'tilni talab qilgan foydalanuvchi uchun etarli kunlar yo'q. +HolidaysValidated=Tasdiqlangan ta'tilga oid so'rovlar +HolidaysValidatedBody=%s dan %s ga bo'lgan ta'til so'rovingiz tasdiqlandi. +HolidaysRefused=So'rov rad etildi +HolidaysRefusedBody=%s dan %s uchun ta'til so'rovingiz quyidagi sabablarga ko'ra rad etildi: +HolidaysCanceled=So'ralgan so'rov bekor qilindi +HolidaysCanceledBody=%s dan %s uchun ta'til so'rovingiz bekor qilindi. +FollowedByACounter=1: ushbu ta'tilni hisoblagich bilan kuzatib borish kerak. Hisoblagich qo'lda yoki avtomatik ravishda oshiriladi va ta'til so'rovi tasdiqlanganda hisoblagich kamayadi.
    0: Hisoblagich kuzatilmaydi. +NoLeaveWithCounterDefined=Hisoblagich bilan ta'qib qilinishi kerak bo'lgan ta'til turlari mavjud emas +GoIntoDictionaryHolidayTypes= ga kiring Bosh sahifa - O'rnatish - Lug'atlar - Har xil turdagi barglarni sozlash uchun ta'til turi . +HolidaySetup=Modulni tark etish sozlamalari +HolidaysNumberingModules=Ta'til so'rovlari uchun raqamlarni raqamlash +TemplatePDFHolidays=PDF ta'tilga chiqish so'rovlari uchun shablon +FreeLegalTextOnHolidays=PDF-dagi bepul matn +WatermarkOnDraftHolidayCards=Dam olish ta'tiliga yuborilgan so'rovlar bo'yicha moybo'yoqli belgilar +HolidaysToApprove=Bayramlarni tasdiqlash +NobodyHasPermissionToValidateHolidays=Bayramlarni tasdiqlash uchun hech kimning ruxsati yo'q +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/uz_UZ/hrm.lang b/htdocs/langs/uz_UZ/hrm.lang index 3b8f137e103..d638ebe3039 100644 --- a/htdocs/langs/uz_UZ/hrm.lang +++ b/htdocs/langs/uz_UZ/hrm.lang @@ -1,19 +1,19 @@ # Dolibarr language file - en_US - hrm # Admin -HRM_EMAIL_EXTERNAL_SERVICE=Email to prevent HRM external service -Establishments=Establishments -Establishment=Establishment -NewEstablishment=New establishment -DeleteEstablishment=Delete establishment -ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? -OpenEtablishment=Open establishment -CloseEtablishment=Close establishment +HRM_EMAIL_EXTERNAL_SERVICE=HRM tashqi xizmatining oldini olish uchun elektron pochta +Establishments=Korxonalar +Establishment=Tashkilot +NewEstablishment=Yangi muassasa +DeleteEstablishment=Korxonani o'chirish +ConfirmDeleteEstablishment=Ushbu muassasa o'chirilishini xohlaysizmi? +OpenEtablishment=Ochiq muassasa +CloseEtablishment=Yaqin muassasasi # Dictionary -DictionaryPublicHolidays=HRM - Public holidays -DictionaryDepartment=HRM - Department list -DictionaryFunction=HRM - Job positions +DictionaryPublicHolidays=Ta'til - rasmiy bayramlar +DictionaryDepartment=HRM - bo'limlar ro'yxati +DictionaryFunction=HRM - ish joylari # Module -Employees=Employees -Employee=Employee -NewEmployee=New employee -ListOfEmployees=List of employees +Employees=Xodimlar +Employee=Xodim +NewEmployee=Yangi ishchi +ListOfEmployees=Xodimlar ro'yxati diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index 63947dad154..0bb3ed8d3c4 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -1,217 +1,218 @@ # Dolibarr language file - Source file is en_US - install -InstallEasy=Just follow the instructions step by step. -MiscellaneousChecks=Prerequisites check -ConfFileExists=Configuration file %s exists. -ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created! -ConfFileCouldBeCreated=Configuration file %s could be created. -ConfFileIsNotWritable=Configuration file %s is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). -ConfFileIsWritable=Configuration file %s is writable. -ConfFileMustBeAFileNotADir=Configuration file %s must be a file, not a directory. -ConfFileReload=Reloading parameters from configuration file. -PHPSupportPOSTGETOk=This PHP supports variables POST and GET. -PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter variables_order in php.ini. -PHPSupportSessions=This PHP supports sessions. -PHPSupport=This PHP supports %s functions. -PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. -PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. -Recheck=Click here for a more detailed test -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. -ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. -ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. -ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. -ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. -ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. -ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. -ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. -ErrorDirDoesNotExists=Directory %s does not exist. -ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. -ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'. -ErrorFailedToCreateDatabase=Failed to create database '%s'. -ErrorFailedToConnectToDatabase=Failed to connect to database '%s'. -ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required. -ErrorPHPVersionTooLow=PHP version too old. Version %s is required. -ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. -ErrorDatabaseAlreadyExists=Database '%s' already exists. -IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". -IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option. -WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. -PHPVersion=PHP Version -License=Using license -ConfigurationFile=Configuration file -WebPagesDirectory=Directory where web pages are stored -DocumentsDirectory=Directory to store uploaded and generated documents +InstallEasy=Faqat ko'rsatmalarga bosqichma-bosqich amal qiling. +MiscellaneousChecks=Old shartlar tekshiriladi +ConfFileExists= %s konfiguratsiya fayli mavjud. +ConfFileDoesNotExistsAndCouldNotBeCreated= %s konfiguratsiya fayli mavjud emas va yaratib bo'lmadi! +ConfFileCouldBeCreated= %s konfiguratsiya fayli yaratilishi mumkin. +ConfFileIsNotWritable= %s konfiguratsiya fayli yozib bo'lmaydi. Ruxsatlarni tekshiring. Birinchi o'rnatish uchun veb-serveringiz ushbu faylga konfiguratsiya jarayonida yozish imkoniyatiga ega bo'lishi kerak ("chmod 666", masalan OS kabi Unix-da). +ConfFileIsWritable= %s konfiguratsiya fayli yozilishi mumkin. +ConfFileMustBeAFileNotADir=Konfiguratsiya fayli %s fayl bo'lishi kerak, katalog emas. +ConfFileReload=Parametrlarni konfiguratsiya faylidan qayta yuklash. +PHPSupportPOSTGETOk=Ushbu PHP POST va GET o'zgaruvchilarini qo'llab-quvvatlaydi. +PHPSupportPOSTGETKo=PHP sozlamangiz POST va / yoki GET o'zgaruvchilarini qo'llab-quvvatlamasligi mumkin. Php.ini da variables_order parametrini tekshiring. +PHPSupportSessions=Ushbu PHP sessiyalarni qo'llab-quvvatlaydi. +PHPSupport=Ushbu PHP %s funktsiyalarini qo'llab-quvvatlaydi. +PHPMemoryOK=Sizning PHP maksimal sessiya xotirangiz %s ga o'rnatildi. Bu etarli bo'lishi kerak. +PHPMemoryTooLow=PHP max sessiya xotirasi %s baytga o'rnatilgan. Bu juda past. php.ini ni o'zgartiring memory_limit parametrini kamida %s +Recheck=Batafsil sinov uchun bu erni bosing +ErrorPHPDoesNotSupportSessions=PHP o'rnatishingiz seanslarni qo'llab-quvvatlamaydi. Ushbu xususiyat Dolibarr ishlashiga ruxsat berish uchun talab qilinadi. PHP-ni sozlashni va sessiyalar katalogining ruxsatlarini tekshiring. +ErrorPHPDoesNotSupportGD=PHP o'rnatishingiz GD grafik funktsiyalarini qo'llab-quvvatlamaydi. Hech qanday grafik mavjud bo'lmaydi. +ErrorPHPDoesNotSupportCurl=PHP o'rnatishingiz Curl-ni qo'llab-quvvatlamaydi. +ErrorPHPDoesNotSupportCalendar=PHP o'rnatishingiz PHP kalendar kengaytmalarini qo'llab-quvvatlamaydi. +ErrorPHPDoesNotSupportUTF8=PHP o'rnatishingiz UTF8 funktsiyalarini qo'llab-quvvatlamaydi. Dolibarr to'g'ri ishlay olmaydi. Dolibarr dasturini o'rnatishdan oldin buni hal qiling. +ErrorPHPDoesNotSupportIntl=PHP o'rnatishingiz Intl funktsiyalarini qo'llab-quvvatlamaydi. +ErrorPHPDoesNotSupportxDebug=PHP o'rnatishingiz kengaytirilgan disk raskadrovka funktsiyalarini qo'llab-quvvatlamaydi. +ErrorPHPDoesNotSupport=PHP o'rnatishingiz %s funktsiyalarini qo'llab-quvvatlamaydi. +ErrorDirDoesNotExists=%s katalogi mavjud emas. +ErrorGoBackAndCorrectParameters=Orqaga qayting va parametrlarni tekshiring / to'g'rilang. +ErrorWrongValueForParameter=Siz '%s' parametri uchun noto'g'ri qiymat yozgan bo'lishingiz mumkin. +ErrorFailedToCreateDatabase='%s' ma'lumotlar bazasini yaratib bo'lmadi. +ErrorFailedToConnectToDatabase='%s' ma'lumotlar bazasiga ulanib bo'lmadi. +ErrorDatabaseVersionTooLow=Ma'lumotlar bazasi versiyasi (%s) juda eski. %s yoki undan yuqori versiyasi talab qilinadi. +ErrorPHPVersionTooLow=PHP versiyasi juda eski. %s versiyasi talab qilinadi. +ErrorConnectedButDatabaseNotFound=Serverga ulanish muvaffaqiyatli bo'ldi, ammo '%s' ma'lumotlar bazasi topilmadi. +ErrorDatabaseAlreadyExists='%s' ma'lumotlar bazasi allaqachon mavjud. +IfDatabaseNotExistsGoBackAndUncheckCreate=Agar ma'lumotlar bazasi mavjud bo'lmasa, orqaga qayting va "Ma'lumotlar bazasini yaratish" bandini tekshiring. +IfDatabaseExistsGoBackAndCheckCreate=Agar ma'lumotlar bazasi allaqachon mavjud bo'lsa, orqaga qayting va "Ma'lumotlar bazasini yaratish" parametrini olib tashlang. +WarningBrowserTooOld=Brauzer versiyasi juda eski. Brauzeringizni Firefox, Chrome yoki Opera-ning so'nggi versiyasiga yangilash tavsiya etiladi. +PHPVersion=PHP versiyasi +License=Litsenziyadan foydalanish +ConfigurationFile=Konfiguratsiya fayli +WebPagesDirectory=Veb-sahifalar saqlanadigan katalog +DocumentsDirectory=Yuklangan va yaratilgan hujjatlarni saqlash uchun katalog URLRoot=URL Root -ForceHttps=Force secure connections (https) -CheckToForceHttps=Check this option to force secure connections (https).
    This requires that the web server is configured with an SSL certificate. -DolibarrDatabase=Dolibarr Database -DatabaseType=Database type -DriverType=Driver type +ForceHttps=Ishonchli ulanishlarni majburlash (https) +CheckToForceHttps=Xavfsiz ulanishlarni majburlash uchun ushbu parametrni tekshiring (https).
    Buning uchun veb-server SSL sertifikati bilan sozlangan bo'lishi kerak. +DolibarrDatabase=Dolibarr ma'lumotlar bazasi +DatabaseType=Ma'lumotlar bazasi turi +DriverType=Haydovchi turi 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. -ServerPortDescription=Database server port. Keep empty if unknown. -DatabaseServer=Database server -DatabaseName=Database name -DatabasePrefix=Database table prefix -DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. -AdminLogin=User account for the Dolibarr database owner. -PasswordAgain=Retype password confirmation -AdminPassword=Password for Dolibarr database owner. -CreateDatabase=Create database -CreateUser=Create user account or grant user account permission on the Dolibarr database -DatabaseSuperUserAccess=Database server - Superuser access -CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.
    In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. -CheckToCreateUser=Check the box if:
    the database user account does not yet exist and so must be created, or
    if the user account exists but the database does not exist and permissions must be granted.
    In this case, you must enter the user account and password and also the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. -DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. -KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) -SaveConfigurationFile=Saving parameters to -ServerConnection=Server connection -DatabaseCreation=Database creation -CreateDatabaseObjects=Database objects creation -ReferenceDataLoading=Reference data loading -TablesAndPrimaryKeysCreation=Tables and Primary keys creation -CreateTableAndPrimaryKey=Create table %s -CreateOtherKeysForTable=Create foreign keys and indexes for table %s -OtherKeysCreation=Foreign keys and indexes creation -FunctionsCreation=Functions creation -AdminAccountCreation=Administrator login creation -PleaseTypePassword=Please type a password, empty passwords are not allowed! -PleaseTypeALogin=Please type a login! -PasswordsMismatch=Passwords differs, please try again! -SetupEnd=End of setup -SystemIsInstalled=This installation is complete. -SystemIsUpgraded=Dolibarr has been upgraded successfully. -YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below: -AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' created successfully. -GoToDolibarr=Go to Dolibarr -GoToSetupArea=Go to Dolibarr (setup area) -MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. -GoToUpgradePage=Go to upgrade page again -WithNoSlashAtTheEnd=Without the slash "/" at the end -DirectoryRecommendation=IMPORTANT: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). -LoginAlreadyExists=Already exists -DolibarrAdminLogin=Dolibarr admin login -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back if you want to create another one. -FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. -WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called install.lock into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. -FunctionNotAvailableInThisPHP=Not available in this PHP -ChoosedMigrateScript=Choose migration script -DataMigration=Database migration (data) -DatabaseMigration=Database migration (structure + some data) -ProcessMigrateScript=Script processing -ChooseYourSetupMode=Choose your setup mode and click "Start"... -FreshInstall=Fresh install -FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode. -Upgrade=Upgrade -UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data. -Start=Start -InstallNotAllowed=Setup not allowed by conf.php permissions -YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process. -CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. -AlreadyDone=Already migrated -DatabaseVersion=Database version -ServerVersion=Database server version -YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it. -DBSortingCollation=Character sorting order +ServerAddressDescription=Ma'lumotlar bazasi serverining nomi yoki ip manzili. Odatda 'localhost' ma'lumotlar bazasi serveri veb-server bilan bir xil serverda joylashganda. +ServerPortDescription=Ma'lumotlar bazasi server porti. Agar noma'lum bo'lsa, bo'sh qoldiring. +DatabaseServer=Ma'lumotlar bazasi serveri +DatabaseName=Ma'lumotlar bazasi nomi +DatabasePrefix=Ma'lumotlar bazasi jadvali prefiksi +DatabasePrefixDescription=Ma'lumotlar bazasi jadvali prefiksi. Bo'sh bo'lsa, sukut bo'yicha llx_. +AdminLogin=Dolibarr ma'lumotlar bazasi egasi uchun foydalanuvchi qayd yozuvi. +PasswordAgain=Parolni tasdiqlashni qayta kiriting +AdminPassword=Dolibarr ma'lumotlar bazasi egasi uchun parol. +CreateDatabase=Ma'lumotlar bazasini yaratish +CreateUser=Dolibarr ma'lumotlar bazasida foydalanuvchi hisobini yarating yoki foydalanuvchi hisobiga ruxsat bering +DatabaseSuperUserAccess=Ma'lumotlar bazasi serveri - Superuser-ga kirish +CheckToCreateDatabase=Ma'lumotlar bazasi hali mavjud bo'lmasa va yaratilishi kerak bo'lsa, katakchani belgilang.
    Bunday holda siz ushbu sahifaning pastki qismida superuser hisob qaydnomasi uchun foydalanuvchi nomi va parolini to'ldirishingiz kerak. +CheckToCreateUser=Agar quyidagilarni belgilang:
    ma'lumotlar bazasi foydalanuvchi hisobi hali mavjud emas va shuning uchun uni yaratish kerak, yoki foydalanuvchi qayd yozuvi mavjud bo'lsa, lekin ma'lumotlar bazasi mavjud bo'lmasa va ruxsat berilishi kerak bo'lsa,
    .
    , bu holda siz foydalanuvchi qayd yozuvini va parolini kiritishingiz kerak va shuningdek superuser qayd yozuvining nomi va parolini ushbu sahifaning pastki qismiga kiriting. Agar ushbu maydon belgilanmagan bo'lsa, ma'lumotlar bazasi egasi va parol allaqachon mavjud bo'lishi kerak. +DatabaseRootLoginDescription=Superuser hisobining nomi (yangi ma'lumotlar bazalarini yoki yangi foydalanuvchilarni yaratish uchun), agar ma'lumotlar bazasi yoki uning egasi allaqachon mavjud bo'lmasa majburiydir. +KeepEmptyIfNoPassword=Agar superuserda parol bo'lmasa, bo'sh qoldiring (tavsiya etilmaydi) +SaveConfigurationFile=Parametrlarni saqlash +ServerConnection=Server ulanishi +DatabaseCreation=Ma'lumotlar bazasini yaratish +CreateDatabaseObjects=Ma'lumotlar bazasi ob'ektlarini yaratish +ReferenceDataLoading=Ma'lumotlarni yuklash +TablesAndPrimaryKeysCreation=Jadvallar va birlamchi kalitlarni yaratish +CreateTableAndPrimaryKey=%s jadvalini yarating +CreateOtherKeysForTable=%s jadvali uchun chet el kalitlari va indekslarini yarating +OtherKeysCreation=Chet el kalitlari va indekslarini yaratish +FunctionsCreation=Funktsiyalarni yaratish +AdminAccountCreation=Administratorning login yaratish +PleaseTypePassword=Iltimos, parolni kiriting, bo'sh parollarga ruxsat berilmaydi! +PleaseTypeALogin=Kirish yozing! +PasswordsMismatch=Parollar boshqacha, iltimos, qayta urinib ko'ring! +SetupEnd=O'rnatish tugadi +SystemIsInstalled=Ushbu o'rnatish tugallandi. +SystemIsUpgraded=Dolibarr muvaffaqiyatli yangilandi. +YouNeedToPersonalizeSetup=Dolibarr-ni o'zingizning ehtiyojlaringizga mos ravishda sozlashingiz kerak (tashqi ko'rinishi, xususiyatlari, ...). Buning uchun quyidagi havolaga o'ting: +AdminLoginCreatedSuccessfuly=Dolibarr administratori login ' %s ' muvaffaqiyatli yaratildi. +GoToDolibarr=Dolibarr-ga o'ting +GoToSetupArea=Dolibarr-ga o'ting (sozlash maydoni) +MigrationNotFinished=Ma'lumotlar bazasi versiyasi to'liq yangilanmagan: yangilash jarayonini qayta bajaring. +GoToUpgradePage=Sahifani yana yangilashga o'ting +WithNoSlashAtTheEnd=Oxirida "/" chiziqsiz +DirectoryRecommendation= MUHIM : Siz veb-sahifalardan tashqarida bo'lgan katalogdan foydalanishingiz kerak (shuning uchun avvalgi parametrning pastki katalogidan foydalanmang). +LoginAlreadyExists=Allaqachon mavjud +DolibarrAdminLogin=Dolibarr administratori bilan kirish +AdminLoginAlreadyExists=Dolibarr administrator hisobi ' %s ' allaqachon mavjud. Agar boshqasini yaratmoqchi bo'lsangiz, orqaga qayting. +FailedToCreateAdminLogin=Dolibarr administratori hisobini yaratib bo'lmadi. +WarningRemoveInstallDir=Diqqat, xavfsizlik sababli, o'rnatish yoki yangilash tugallangandan so'ng, o'rnatish vositalarining tasodifiy / zararli ishlatilishining oldini olish uchun Dolibarr hujjatlar katalogiga install.lock deb nomlangan faylni qo'shishingiz kerak. +FunctionNotAvailableInThisPHP=Ushbu PHP-da mavjud emas +ChoosedMigrateScript=Ko'chirish skriptini tanlang +DataMigration=Ma'lumotlar bazasining ko'chishi (ma'lumotlar) +DatabaseMigration=Ma'lumotlar bazasining ko'chishi (tuzilish + ba'zi ma'lumotlar) +ProcessMigrateScript=Skriptni qayta ishlash +ChooseYourSetupMode=O'rnatish rejimini tanlang va "Ishga tushirish" tugmasini bosing ... +FreshInstall=Yangi o'rnatish +FreshInstallDesc=Agar bu sizning birinchi o'rnatishingiz bo'lsa, ushbu rejimdan foydalaning. Aks holda, ushbu rejim to'liq bo'lmagan oldingi o'rnatishni tuzatishi mumkin. Agar siz o'z versiyangizni yangilamoqchi bo'lsangiz, "Yangilash" rejimini tanlang. +Upgrade=Yangilash +UpgradeDesc=Agar eski Dolibarr fayllarini yangi versiyadagi fayllarga almashtirgan bo'lsangiz, ushbu rejimdan foydalaning. Bu sizning ma'lumotlar bazangizni va ma'lumotlaringizni yangilaydi. +Start=Boshlang +InstallNotAllowed= conf.php ruxsatlari bilan o'rnatishga ruxsat berilmaydi +YouMustCreateWithPermission=O'rnatish jarayonida siz %s faylini yaratishingiz va unga veb-server uchun yozish huquqlarini o'rnatishingiz kerak. +CorrectProblemAndReloadPage=Iltimos, muammoni hal qiling va sahifani qayta yuklash uchun F5 tugmasini bosing. +AlreadyDone=Zotan ko'chib ketgan +DatabaseVersion=Ma'lumotlar bazasi versiyasi +ServerVersion=Ma'lumotlar bazasi serveri versiyasi +YouMustCreateItAndAllowServerToWrite=Siz ushbu katalogni yaratishingiz va unga veb-serverning yozishiga ruxsat berishingiz kerak. +DBSortingCollation=Belgilarni saralash tartibi YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. -OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s -RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue. -FieldRenamed=Field renamed -IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" -ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or the PHP client version may be too old compared to the database version. -InstallChoiceRecommanded=Recommended choice to install version %s from your current version %s -InstallChoiceSuggested=Install choice suggested by installer. -MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete. -CheckThatDatabasenameIsCorrect=Check that the database name "%s" is correct. -IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database". -OpenBaseDir=PHP openbasedir parameter -YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). -YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). -NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. -MigrationCustomerOrderShipping=Migrate shipping for sales orders storage -MigrationShippingDelivery=Upgrade storage of shipping -MigrationShippingDelivery2=Upgrade storage of shipping 2 -MigrationFinished=Migration finished -LastStepDesc=Last step: Define here the login and password you wish to use to connect to Dolibarr. Do not lose this as it is the master account to administer all other/additional user accounts. -ActivateModule=Activate module %s -ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) -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... -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) -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. -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. -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. -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. -UpgradeExternalModule=Run dedicated upgrade process of external module -SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed' -NothingToDelete=Nothing to clean/delete -NothingToDo=Nothing to do +BecauseConnectionFailedParametersMayBeWrong=Ma'lumotlar bazasi ulanishi muvaffaqiyatsiz tugadi: xost yoki super foydalanuvchi parametrlari noto'g'ri bo'lishi kerak. +OrphelinsPaymentsDetectedByMethod=%s usuli bilan etim bolalar uchun to'lov aniqlandi +RemoveItManuallyAndPressF5ToContinue=Uni qo'lda olib tashlang va davom ettirish uchun F5 tugmasini bosing. +FieldRenamed=Maydon nomi o'zgartirildi +IfLoginDoesNotExistsCheckCreateUser=Agar foydalanuvchi hali mavjud bo'lmasa, "Foydalanuvchi yaratish" parametrini tekshirishingiz kerak +ErrorConnection=Server " %s ", ma'lumotlar bazasi nomi " %s ", login " %s ", yoki ma'lumotlar bazasi parol noto'g'ri bo'lishi mumkin, yoki PHP mijoz versiyasi bazasi versiyasiga nisbatan juda eski bo'lishi mumkin. +InstallChoiceRecommanded= %s versiyasini joriy versiyangizdan o'rnatish uchun tavsiya etilgan tanlov %s +InstallChoiceSuggested= o'rnatuvchisi tomonidan tavsiya etilgan o'rnatish tanlovi. +MigrateIsDoneStepByStep=Maqsadli versiyada (%s) bir nechta versiyalar oralig'i mavjud. O'rnatish ustasi ushbu ko'chirish tugagandan so'ng yana ko'chib o'tishni taklif qilish uchun qaytib keladi. +CheckThatDatabasenameIsCorrect=Ma'lumotlar bazasi nomi " %s " to'g'riligini tekshiring. +IfAlreadyExistsCheckOption=Agar ushbu nom to'g'ri bo'lsa va ma'lumotlar bazasi hali mavjud bo'lmasa, "Ma'lumotlar bazasini yaratish" bandini tekshirishingiz kerak. +OpenBaseDir=PHP openbasedir parametri +YouAskToCreateDatabaseSoRootRequired=Siz "Ma'lumotlar bazasini yaratish" katagiga belgi qo'ydingiz. Buning uchun superuser-ning login / parolini taqdim etishingiz kerak (shaklning pastki qismida). +YouAskToCreateDatabaseUserSoRootRequired=Siz "Ma'lumotlar bazasi egasini yaratish" katagiga belgi qo'ydingiz. Buning uchun superuser-ning login / parolini taqdim etishingiz kerak (shaklning pastki qismida). +NextStepMightLastALongTime=Joriy qadam bir necha daqiqa vaqt olishi mumkin. Davom etishdan oldin keyingi ekran to'liq ko'rsatilishini kuting. +MigrationCustomerOrderShipping=Savdo buyurtmalarini saqlash uchun yuklarni ko'chirish +MigrationShippingDelivery=Yuk tashish omborini yangilang +MigrationShippingDelivery2=2. Yuk tashish omborini yangilash +MigrationFinished=Migratsiya tugadi +LastStepDesc= Oxirgi qadam : Dolibarr-ga ulanish uchun foydalanmoqchi bo'lgan login va parolni aniqlang. buni yo'qotmang, chunki bu boshqa barcha / qo'shimcha foydalanuvchi hisoblarini boshqarish uchun asosiy hisob. +ActivateModule=%s modulini faollashtiring +ShowEditTechnicalParameters=Kengaytirilgan parametrlarni ko'rsatish / tahrirlash uchun shu erni bosing (ekspert rejimi) +WarningUpgrade=Ogohlantirish:\nAvval ma'lumotlar bazasini zaxira nusxasini yaratdingizmi?\nBu juda tavsiya etiladi. Ma'lumotlarni yo'qotish (masalan, 5.5.40 / 41/42/43 mysql versiyasidagi xatolar tufayli) bu jarayonda bo'lishi mumkin, shuning uchun har qanday ko'chishni boshlashdan oldin ma'lumotlar bazangizni to'liq tashlab qo'yish kerak.\n\nMigratsiya jarayonini boshlash uchun OK tugmasini bosing ... +ErrorDatabaseVersionForbiddenForMigration=Ma'lumotlar bazasi versiyasi %s. Ushbu ma'lumotlar bazasida migratsiya jarayoni talab qiladigan tarkibiy o'zgarishlarni amalga oshirsangiz, ma'lumotlar yo'qotilishi mumkin bo'lgan juda muhim xato mavjud. Ma'lumotlar bazasini qatlamli (yamalgan) versiyaga yangilamaguningizcha (ma'lum buggy versiyalari ro'yxati: %s) uning ko'chirilishiga yo'l qo'yilmaydi. +KeepDefaultValuesWamp=Siz DoliWamp-dan Dolibarrni sozlash ustasini ishlatdingiz, shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Siz nima qilayotganingizni bilsangizgina ularni o'zgartiring. +KeepDefaultValuesDeb=Siz Dolibarrni o'rnatish ustasini Linux paketidan ishlatdingiz (Ubuntu, Debian, Fedora ...), shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Yaratish uchun faqat ma'lumotlar bazasi egasining parolini kiritish kerak. Faqat nima qilayotganingizni bilsangizgina boshqa parametrlarni o'zgartiring. +KeepDefaultValuesMamp=Siz DoliMamp-dan Dolibarrni sozlash ustasini ishlatdingiz, shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Siz nima qilayotganingizni bilsangizgina ularni o'zgartiring. +KeepDefaultValuesProxmox=Siz Dolibarrni sozlash ustasini Proxmox virtual uskunasidan foydalandingiz, shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Siz nima qilayotganingizni bilsangizgina ularni o'zgartiring. +UpgradeExternalModule=Tashqi modulni maxsus yangilash jarayonini boshqaring +SetAtLeastOneOptionAsUrlParameter=URL-da parametr sifatida kamida bitta variantni o'rnating. Masalan: '... repair.php? Standart = tasdiqlangan' +NothingToDelete=Tozalash / o'chirish uchun hech narsa yo'q +NothingToDo=Qiladigan ish yo'q ######### # upgrade -MigrationFixData=Fix for denormalized data -MigrationOrder=Data migration for customer's orders -MigrationSupplierOrder=Data migration for vendor's orders -MigrationProposal=Data migration for commercial proposals -MigrationInvoice=Data migration for customer's invoices -MigrationContract=Data migration for contracts -MigrationSuccessfullUpdate=Upgrade successful -MigrationUpdateFailed=Failed upgrade process -MigrationRelationshipTables=Data migration for relationship tables (%s) -MigrationPaymentsUpdate=Payment data correction -MigrationPaymentsNumberToUpdate=%s payment(s) to update -MigrationProcessPaymentUpdate=Update payment(s) %s -MigrationPaymentsNothingToUpdate=No more things to do -MigrationPaymentsNothingUpdatable=No more payments that can be corrected -MigrationContractsUpdate=Contract data correction -MigrationContractsNumberToUpdate=%s contract(s) to update -MigrationContractsLineCreation=Create contract line for contract ref %s -MigrationContractsNothingToUpdate=No more things to do -MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. -MigrationContractsEmptyDatesUpdate=Contract empty date correction -MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully -MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct -MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct -MigrationContractsInvalidDatesUpdate=Bad value date contract correction -MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s) -MigrationContractsInvalidDatesNumber=%s contracts modified -MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct -MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction -MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done successfully -MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct -MigrationReopeningContracts=Open contract closed by error -MigrationReopenThisContract=Reopen contract %s -MigrationReopenedContractsNumber=%s contracts modified -MigrationReopeningContractsNothingToUpdate=No closed contract to open -MigrationBankTransfertsUpdate=Update links between bank entry and a bank transfer -MigrationBankTransfertsNothingToUpdate=All links are up to date -MigrationShipmentOrderMatching=Sendings receipt update -MigrationDeliveryOrderMatching=Delivery receipt update -MigrationDeliveryDetail=Delivery update -MigrationStockDetail=Update stock value of products -MigrationMenusDetail=Update dynamic menus tables -MigrationDeliveryAddress=Update delivery address in shipments -MigrationProjectTaskActors=Data migration for table llx_projet_task_actors -MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact -MigrationProjectTaskTime=Update time spent in seconds -MigrationActioncommElement=Update data on actions -MigrationPaymentMode=Data migration for payment type -MigrationCategorieAssociation=Migration of categories -MigrationEvents=Migration of events to add event owner into assignment table -MigrationEventsContact=Migration of events to add event contact into assignment table -MigrationRemiseEntity=Update entity field value of llx_societe_remise -MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except -MigrationUserRightsEntity=Update entity field value of llx_user_rights -MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights -MigrationUserPhotoPath=Migration of photo paths for users -MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) -MigrationReloadModule=Reload module %s -MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm -ShowNotAvailableOptions=Show unavailable options -HideNotAvailableOptions=Hide unavailable options -ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. -YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
    -YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
    -ClickHereToGoToApp=Click here to go to your application -ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. -Loaded=Loaded -FunctionTest=Function test +MigrationFixData=Normalizatsiya qilingan ma'lumotlar uchun tuzatish +MigrationOrder=Mijozning buyurtmalari bo'yicha ma'lumotlar migratsiyasi +MigrationSupplierOrder=Sotuvchining buyurtmalari bo'yicha ma'lumotlarning ko'chishi +MigrationProposal=Tijorat takliflari uchun ma'lumotlar migratsiyasi +MigrationInvoice=Mijozning hisob-fakturalari uchun ma'lumotlar migratsiyasi +MigrationContract=Shartnomalar bo'yicha ma'lumotlar migratsiyasi +MigrationSuccessfullUpdate=Yangilash muvaffaqiyatli amalga oshirildi +MigrationUpdateFailed=Yangilanish jarayoni amalga oshmadi +MigrationRelationshipTables=O'zaro munosabatlar jadvallari uchun ma'lumotlar migratsiyasi (%s) +MigrationPaymentsUpdate=To'lov ma'lumotlarini tuzatish +MigrationPaymentsNumberToUpdate=yangilash uchun %s to'lov (lar) i +MigrationProcessPaymentUpdate=%s to'lov (lar) ini yangilang +MigrationPaymentsNothingToUpdate=Boshqa qiladigan narsalar yo'q +MigrationPaymentsNothingUpdatable=Endi tuzatilishi mumkin bo'lgan to'lovlar yo'q +MigrationContractsUpdate=Shartnoma ma'lumotlarini tuzatish +MigrationContractsNumberToUpdate=%s shartnoma (lar) ni yangilash +MigrationContractsLineCreation=%s kontrakt uchun shartnoma chizig'ini yarating +MigrationContractsNothingToUpdate=Boshqa qiladigan narsalar yo'q +MigrationContractsFieldDontExist=Fk_facture maydoni endi mavjud emas. Qiladigan ish yo'q. +MigrationContractsEmptyDatesUpdate=Shartnomaning bo'sh sanasini tuzatish +MigrationContractsEmptyDatesUpdateSuccess=Shartnomani bo'sh sanani tuzatish muvaffaqiyatli amalga oshirildi +MigrationContractsEmptyDatesNothingToUpdate=Tuzatish uchun hech qanday shartnoma bo'sh sanasi yo'q +MigrationContractsEmptyCreationDatesNothingToUpdate=Tuzatish uchun shartnoma tuzish sanasi yo'q +MigrationContractsInvalidDatesUpdate=Noto'g'ri qiymat sanasini shartnomani tuzatish +MigrationContractsInvalidDateFix=To'g'ri shartnoma %s (Shartnoma tuzilgan sana = %s, xizmat boshlanadigan sana min = %s) +MigrationContractsInvalidDatesNumber=%s shartnomalari o'zgartirildi +MigrationContractsInvalidDatesNothingToUpdate=Tuzatish uchun yomon qiymatga ega sana yo'q +MigrationContractsIncoherentCreationDateUpdate=Noto'g'ri qiymatdagi shartnomani tuzish sanasini tuzatish +MigrationContractsIncoherentCreationDateUpdateSuccess=Noto'g'ri qiymatdagi shartnomani tuzish sanasini tuzatish muvaffaqiyatli amalga oshirildi +MigrationContractsIncoherentCreationDateNothingToUpdate=Shartnomani tuzish sanasi uchun yomon qiymat yo'q +MigrationReopeningContracts=Ochiq shartnoma xato bilan yopildi +MigrationReopenThisContract=%s shartnomasini qayta oching +MigrationReopenedContractsNumber=%s shartnomalari o'zgartirildi +MigrationReopeningContractsNothingToUpdate=Ochish uchun yopiq shartnoma yo'q +MigrationBankTransfertsUpdate=Bank yozuvlari va bank o'tkazmasi o'rtasidagi aloqalarni yangilang +MigrationBankTransfertsNothingToUpdate=Barcha havolalar dolzarb +MigrationShipmentOrderMatching=Yuborilganlik haqidagi kvitansiyani yangilash +MigrationDeliveryOrderMatching=Yetkazib berish kvitansiyasini yangilash +MigrationDeliveryDetail=Yetkazib berish yangilanishi +MigrationStockDetail=Mahsulotlarning zaxira qiymatini yangilang +MigrationMenusDetail=Dinamik menyu jadvallarini yangilang +MigrationDeliveryAddress=Yuklarni etkazib berish manzilini yangilang +MigrationProjectTaskActors=Llx_projet_task_actors jadvali uchun ma'lumotlar migratsiyasi +MigrationProjectUserResp=Llx_projet ning fk_user_resp ma'lumotlarini llx_element_contact-ga ko'chirish maydoni +MigrationProjectTaskTime=Bir necha soniya ichida sarflangan vaqtni yangilang +MigrationActioncommElement=Amallar to'g'risidagi ma'lumotlarni yangilang +MigrationPaymentMode=To'lov turi bo'yicha ma'lumotlar migratsiyasi +MigrationCategorieAssociation=Kategoriyalar migratsiyasi +MigrationEvents=Voqealar egasini tayinlash jadvaliga qo'shish uchun hodisalarning ko'chishi +MigrationEventsContact=Voqealar aloqasini tayinlash jadvaliga qo'shish uchun voqealarning ko'chishi +MigrationRemiseEntity=Llx_societe_remise ob'ekti maydon qiymatini yangilang +MigrationRemiseExceptEntity=Llx_societe_remise_except mavjudlik maydon qiymatini yangilang +MigrationUserRightsEntity=Llx_user_rights sub'ektining maydon qiymatini yangilang +MigrationUserGroupRightsEntity=Llx_usergroup_rights sub'ektining maydon qiymatini yangilang +MigrationUserPhotoPath=Foydalanuvchilar uchun fotosurat yo'llarining ko'chishi +MigrationFieldsSocialNetworks=Ijtimoiy tarmoqlarda foydalanuvchilarning migratsiyasi (%s) +MigrationReloadModule=%s modulini qayta yuklang +MigrationResetBlockedLog=V7 algoritmi uchun BlockedLog modulini tiklash +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) +ShowNotAvailableOptions=Mavjud bo'lmagan variantlarni ko'rsating +HideNotAvailableOptions=Mavjud bo'lmagan variantlarni yashirish +ErrorFoundDuringMigration=Migratsiya jarayonida xato (lar) haqida xabar berilgan, shuning uchun keyingi qadam mavjud emas. Xatolarni e'tiborsiz qoldirish uchun siz tugmachasini bosishingiz mumkin, ammo xatolar echilmaguncha dastur yoki ba'zi funktsiyalar to'g'ri ishlamasligi mumkin. +YouTryInstallDisabledByDirLock=Ilova o'z-o'zini yangilashga harakat qildi, lekin xavfsizlik / o'rnatish uchun sahifalar o'chirildi (katalog nomi .lock qo'shimchasi bilan o'zgartirildi).
    +YouTryInstallDisabledByFileLock=Ilova o'zini o'zi yangilashga harakat qildi, lekin xavfsizlik / o'rnatish uchun sahifalar o'chirilgan (dolibarr hujjatlar katalogida install.lock blokirovka fayli mavjudligi sababli).
    +ClickHereToGoToApp=Arizangizga o'tish uchun shu erni bosing +ClickOnLinkOrRemoveManualy=Agar yangilanish davom etayotgan bo'lsa, iltimos, kuting. Agar yo'q bo'lsa, quyidagi havolani bosing. Agar siz doimo shu sahifani ko'rsangiz, hujjatlar katalogidagi install.lock faylini olib tashlashingiz yoki nomini o'zgartirishingiz kerak. +Loaded=Yuklandi +FunctionTest=Funktsiya sinovi diff --git a/htdocs/langs/uz_UZ/interventions.lang b/htdocs/langs/uz_UZ/interventions.lang index e5936f8246e..a3bf96d3835 100644 --- a/htdocs/langs/uz_UZ/interventions.lang +++ b/htdocs/langs/uz_UZ/interventions.lang @@ -1,66 +1,68 @@ # Dolibarr language file - Source file is en_US - interventions -Intervention=Intervention -Interventions=Interventions -InterventionCard=Intervention card -NewIntervention=New intervention -AddIntervention=Create intervention -ChangeIntoRepeatableIntervention=Change to repeatable intervention -ListOfInterventions=List of interventions -ActionsOnFicheInter=Actions on intervention -LastInterventions=Latest %s interventions -AllInterventions=All interventions -CreateDraftIntervention=Create draft -InterventionContact=Intervention contact -DeleteIntervention=Delete intervention -ValidateIntervention=Validate intervention -ModifyIntervention=Modify intervention -DeleteInterventionLine=Delete intervention line -ConfirmDeleteIntervention=Are you sure you want to delete this intervention? -ConfirmValidateIntervention=Are you sure you want to validate this intervention under name %s? -ConfirmModifyIntervention=Are you sure you want to modify this intervention? -ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line? -ConfirmCloneIntervention=Are you sure you want to clone this intervention? -NameAndSignatureOfInternalContact=Name and signature of intervening: -NameAndSignatureOfExternalContact=Name and signature of customer: -DocumentModelStandard=Standard document model for interventions -InterventionCardsAndInterventionLines=Interventions and lines of interventions -InterventionClassifyBilled=Classify "Billed" -InterventionClassifyUnBilled=Classify "Unbilled" -InterventionClassifyDone=Classify "Done" -StatusInterInvoiced=Billed -SendInterventionRef=Submission of intervention %s -SendInterventionByMail=Send intervention by email -InterventionCreatedInDolibarr=Intervention %s created -InterventionValidatedInDolibarr=Intervention %s validated -InterventionModifiedInDolibarr=Intervention %s modified -InterventionClassifiedBilledInDolibarr=Intervention %s set as billed -InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled -InterventionSentByEMail=Intervention %s sent by email -InterventionDeletedInDolibarr=Intervention %s deleted -InterventionsArea=Interventions area -DraftFichinter=Draft interventions -LastModifiedInterventions=Latest %s modified interventions -FichinterToProcess=Interventions to process -TypeContact_fichinter_external_CUSTOMER=Following-up customer contact -PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card -PrintProductsOnFichinterDetails=interventions generated from orders -UseServicesDurationOnFichinter=Use services duration for interventions generated from orders -UseDurationOnFichinter=Hides the duration field for intervention records -UseDateWithoutHourOnFichinter=Hides hours and minutes off the date field for intervention records -InterventionStatistics=Statistics of interventions -NbOfinterventions=No. of intervention cards -NumberOfInterventionsByMonth=No. of intervention cards by month (date of validation) -AmountOfInteventionNotIncludedByDefault=Amount of intervention is not included by default into profit (in most cases, timesheets are used to count time spent). Add option PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT to 1 into home-setup-other to include them. -InterId=Intervention id -InterRef=Intervention ref. -InterDateCreation=Date creation intervention -InterDuration=Duration intervention -InterStatus=Status intervention -InterNote=Note intervention -InterLine=Line of intervention -InterLineId=Line id intervention -InterLineDate=Line date intervention -InterLineDuration=Line duration intervention -InterLineDesc=Line description intervention -RepeatableIntervention=Template of intervention -ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Intervention=Aralashish +Interventions=Aralashuvlar +InterventionCard=Interventsiya kartasi +NewIntervention=Yangi aralashuv +AddIntervention=Aralashuvni yarating +ChangeIntoRepeatableIntervention=Takrorlanadigan aralashuvga o'ting +ListOfInterventions=Tadbirlar ro'yxati +ActionsOnFicheInter=Aralashish bo'yicha harakatlar +LastInterventions=Oxirgi %s aralashuvlari +AllInterventions=Barcha aralashuvlar +CreateDraftIntervention=Qoralama yarating +InterventionContact=Interventsiya aloqasi +DeleteIntervention=Aralashuvni o'chirib tashlang +ValidateIntervention=Aralashuvni tasdiqlang +ModifyIntervention=Aralashuvni o'zgartiring +DeleteInterventionLine=Intervensiya chizig'ini o'chirish +ConfirmDeleteIntervention=Ushbu aralashuvni o'chirishni xohlaysizmi? +ConfirmValidateIntervention=Ushbu aralashuvni %s nomi bilan tasdiqlamoqchimisiz? +ConfirmModifyIntervention=Ushbu aralashuvni o'zgartirmoqchi ekanligingizga aminmisiz? +ConfirmDeleteInterventionLine=Ushbu aralashuv satrini o'chirishni xohlaysizmi? +ConfirmCloneIntervention=Ushbu aralashuvni klonlamoqchimisiz? +NameAndSignatureOfInternalContact=Aralashuvning nomi va imzosi: +NameAndSignatureOfExternalContact=Mijozning ismi va imzosi: +DocumentModelStandard=Interventsiyalar uchun standart hujjat modeli +InterventionCardsAndInterventionLines=Interventsiyalar va aralashuvlar yo'nalishlari +InterventionClassifyBilled="Hisob-kitoblar" tasnifi +InterventionClassifyUnBilled="Hisob-kitob qilinmagan" tasnifi +InterventionClassifyDone="Bajarildi" tasnifi +StatusInterInvoiced=Hisob-kitob +SendInterventionRef=%s aralashuvini yuborish +SendInterventionByMail=Elektron pochta orqali aralashuvni yuboring +InterventionCreatedInDolibarr=%s aralashuvi yaratildi +InterventionValidatedInDolibarr=%s aralashuvi tasdiqlangan +InterventionModifiedInDolibarr=%s aralashuvi o'zgartirildi +InterventionClassifiedBilledInDolibarr=%s aralashuvi hisob-kitob sifatida o'rnatildi +InterventionClassifiedUnbilledInDolibarr=%s aralashuvi to'lanmagan deb belgilandi +InterventionSentByEMail=Elektron pochta orqali yuborilgan aralashuv %s +InterventionDeletedInDolibarr=%s aralashuvi o'chirildi +InterventionsArea=Intervensiyalar maydoni +DraftFichinter=Aralashmalarning loyihasi +LastModifiedInterventions=Oxirgi %s o'zgartirilgan aralashuvlar +FichinterToProcess=Qayta ishlashga aralashuvlar +TypeContact_fichinter_external_CUSTOMER=Keyingi mijozlar bilan aloqa +PrintProductsOnFichinter=Interventsiya kartasida "mahsulot" (nafaqat xizmatlar) turidagi qatorlarni chop eting +PrintProductsOnFichinterDetails=buyurtmalardan kelib chiqadigan aralashuvlar +UseServicesDurationOnFichinter=Buyurtmalar natijasida yuzaga keladigan aralashuvlar uchun xizmatlarning davomiyligidan foydalaning +UseDurationOnFichinter=Interventsiya yozuvlari davomiyligini yashiradi +UseDateWithoutHourOnFichinter=Interventsiya yozuvlari uchun sana maydonidan tashqarida soat va daqiqalarni yashiradi +InterventionStatistics=Ta'sirlarning statistikasi +NbOfinterventions=Interventsiya kartalari soni +NumberOfInterventionsByMonth=Oy bo'yicha aralashuv kartalarining soni (tasdiqlangan sana) +AmountOfInteventionNotIncludedByDefault=Interventsiya miqdori sukut bo'yicha foydaga qo'shilmaydi (ko'p hollarda ish vaqt jadvallari sarflangan vaqtni hisoblash uchun ishlatiladi). 1-ga PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT variantini qo'shib qo'yish uchun ularni uyga o'rnatish-ga qo'shing. +InterId=Interferentsiya id +InterRef=Aralashish ref. +InterDateCreation=Sana yaratishga aralashish +InterDuration=Davomiylik aralashuvi +InterStatus=Holat aralashuvi +InterNote=Aralashuvga e'tibor bering +InterLine=Aralashish liniyasi +InterLineId=Chiziq identifikatori aralashuvi +InterLineDate=Qator sana aralashuvi +InterLineDuration=Chiziq davomiyligi aralashuvi +InterLineDesc=Chiziq ta'rifi aralashuvi +RepeatableIntervention=Interventsiya shabloni +ToCreateAPredefinedIntervention=Oldindan belgilangan yoki takrorlanadigan aralashuvni yaratish uchun umumiy aralashuvni yarating va uni aralashuv shabloniga o'zgartiring +ConfirmReopenIntervention=Siz aralashuvni qayta ochishni xohlaysizmi %s ? +GenerateInter=Generate intervention diff --git a/htdocs/langs/uz_UZ/intracommreport.lang b/htdocs/langs/uz_UZ/intracommreport.lang index 3060300b974..dbdcf74a7fb 100644 --- a/htdocs/langs/uz_UZ/intracommreport.lang +++ b/htdocs/langs/uz_UZ/intracommreport.lang @@ -1,40 +1,40 @@ -Module68000Name = Intracomm report -Module68000Desc = Intracomm report management (Support for French DEB/DES format) -IntracommReportSetup = Intracommreport module setup -IntracommReportAbout = About intracommreport +Module68000Name = Ichki hisobot +Module68000Desc = Ichki hisobotlarni boshqarish (Frantsiyaning DEB / DES formatini qo'llab-quvvatlash) +IntracommReportSetup = Hisobot ichidagi modulni sozlash +IntracommReportAbout = Intracommreport haqida # Setup INTRACOMMREPORT_NUM_AGREMENT=Numéro d'agrément (délivré par le CISD de rattachement) -INTRACOMMREPORT_TYPE_ACTEUR=Type d'acteur +INTRACOMMREPORT_TYPE_ACTEUR=D'acteur yozing INTRACOMMREPORT_ROLE_ACTEUR=Rôle joué par l'acteur -INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les introductions +INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les kirishlari INTRACOMMREPORT_NIV_OBLIGATION_EXPEDITION=Niveau d'obligation sur les expéditions -INTRACOMMREPORT_CATEG_FRAISDEPORT=Catégorie de services de type "Frais de port" +INTRACOMMREPORT_CATEG_FRAISDEPORT="Frais de port" turidagi xizmatlar INTRACOMMREPORT_NUM_DECLARATION=Numéro de déclarant # Menu -MenuIntracommReport=Intracomm report -MenuIntracommReportNew=New declaration -MenuIntracommReportList=List +MenuIntracommReport=Ichki hisobot +MenuIntracommReportNew=Yangi deklaratsiya +MenuIntracommReportList=Ro'yxat # View -NewDeclaration=New declaration -Declaration=Declaration -AnalysisPeriod=Analysis period -TypeOfDeclaration=Type of declaration -DEB=Goods exchange declaration (DEB) -DES=Services exchange declaration (DES) +NewDeclaration=Yangi deklaratsiya +Declaration=Deklaratsiya +AnalysisPeriod=Tahlil davri +TypeOfDeclaration=Deklaratsiya turi +DEB=Tovarlar almashinuvi to'g'risidagi deklaratsiya (DEB) +DES=Xizmatlar almashinuvi to'g'risidagi deklaratsiya (DES) # Export page -IntracommReportTitle=Preparation of an XML file in ProDouane format +IntracommReportTitle=ProDouane formatida XML faylini tayyorlash # List -IntracommReportList=List of generated declarations -IntracommReportNumber=Numero of declaration -IntracommReportPeriod=Period of nalysis -IntracommReportTypeDeclaration=Type of declaration -IntracommReportDownload=download XML file +IntracommReportList=Yaratilgan deklaratsiyalar ro'yxati +IntracommReportNumber=Deklaratsiya raqami +IntracommReportPeriod=Tahlil davri +IntracommReportTypeDeclaration=Deklaratsiya turi +IntracommReportDownload=XML faylini yuklab oling # Invoice -IntracommReportTransportMode=Transport mode +IntracommReportTransportMode=Transport rejimi diff --git a/htdocs/langs/uz_UZ/knowledgemanagement.lang b/htdocs/langs/uz_UZ/knowledgemanagement.lang index 269007e60f8..c8b544971f9 100644 --- a/htdocs/langs/uz_UZ/knowledgemanagement.lang +++ b/htdocs/langs/uz_UZ/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Bilimlarni boshqarish tizimi # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Bilimlarni boshqarish (KM) yoki Help-Desk bazasini boshqarish # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup -Settings = Settings -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetup = Bilimlarni boshqarish tizimini sozlash +Settings = Sozlamalar +KnowledgeManagementSetupPage = Bilimlarni boshqarish tizimini sozlash sahifasi # # About page # -About = About -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +About = Haqida +KnowledgeManagementAbout = Bilimlarni boshqarish to'g'risida +KnowledgeManagementAboutPage = Sahifadagi bilimlarni boshqarish -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles -KnowledgeRecord = Article -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeManagementArea = Bilimlarni boshqarish +MenuKnowledgeRecord = Bilimlar bazasi +ListKnowledgeRecord = Maqolalar ro'yxati +NewKnowledgeRecord = Yangi maqola +ValidateReply = Eritmani tasdiqlang +KnowledgeRecords = Maqolalar +KnowledgeRecord = Maqola +KnowledgeRecordExtraFields = Maqola uchun qo'shimcha joylar +GroupOfTicket=Chiptalar guruhi +YouCanLinkArticleToATicketCategory=Siz maqolani chiptalar guruhiga bog'lashingiz mumkin (shuning uchun maqola yangi chiptalarni saralash paytida taklif qilinadi) diff --git a/htdocs/langs/uz_UZ/languages.lang b/htdocs/langs/uz_UZ/languages.lang index ba187326705..e3a1985892f 100644 --- a/htdocs/langs/uz_UZ/languages.lang +++ b/htdocs/langs/uz_UZ/languages.lang @@ -1,105 +1,110 @@ # Dolibarr language file - Source file is en_US - languages -Language_am_ET=Ethiopian -Language_ar_AR=Arabic -Language_ar_EG=Arabic (Egypt) -Language_ar_SA=Arabic -Language_az_AZ=Azerbaijani -Language_bn_BD=Bengali -Language_bn_IN=Bengali (India) -Language_bg_BG=Bulgarian -Language_bs_BA=Bosnian -Language_ca_ES=Catalan -Language_cs_CZ=Czech -Language_da_DA=Danish -Language_da_DK=Danish -Language_de_DE=German -Language_de_AT=German (Austria) -Language_de_CH=German (Switzerland) -Language_el_GR=Greek -Language_el_CY=Greek (Cyprus) -Language_en_AU=English (Australia) -Language_en_CA=English (Canada) -Language_en_GB=English (United Kingdom) -Language_en_IN=English (India) -Language_en_NZ=English (New Zealand) -Language_en_SA=English (Saudi Arabia) -Language_en_SG=English (Singapore) -Language_en_US=English (United States) -Language_en_ZA=English (South Africa) -Language_es_ES=Spanish -Language_es_AR=Spanish (Argentina) -Language_es_BO=Spanish (Bolivia) -Language_es_CL=Spanish (Chile) -Language_es_CO=Spanish (Colombia) -Language_es_DO=Spanish (Dominican Republic) -Language_es_EC=Spanish (Ecuador) -Language_es_GT=Spanish (Guatemala) -Language_es_HN=Spanish (Honduras) -Language_es_MX=Spanish (Mexico) -Language_es_PA=Spanish (Panama) -Language_es_PY=Spanish (Paraguay) -Language_es_PE=Spanish (Peru) -Language_es_PR=Spanish (Puerto Rico) -Language_es_US=Spanish (USA) -Language_es_UY=Spanish (Uruguay) -Language_es_GT=Spanish (Guatemala) -Language_es_VE=Spanish (Venezuela) -Language_et_EE=Estonian -Language_eu_ES=Basque -Language_fa_IR=Persian -Language_fi_FI=Finnish -Language_fr_BE=French (Belgium) -Language_fr_CA=French (Canada) -Language_fr_CH=French (Switzerland) -Language_fr_CI=French (Cost Ivory) -Language_fr_CM=French (Cameroun) -Language_fr_FR=French -Language_fr_GA=French (Gabon) -Language_fr_NC=French (New Caledonia) -Language_fr_SN=French (Senegal) -Language_fy_NL=Frisian -Language_gl_ES=Galician -Language_he_IL=Hebrew -Language_hi_IN=Hindi (India) -Language_hr_HR=Croatian -Language_hu_HU=Hungarian -Language_id_ID=Indonesian -Language_is_IS=Icelandic -Language_it_IT=Italian -Language_it_CH=Italian (Switzerland) -Language_ja_JP=Japanese -Language_ka_GE=Georgian -Language_km_KH=Khmer +Language_am_ET=Efiopiya +Language_ar_AR=Arabcha +Language_ar_EG=Arab (Misr) +Language_ar_MA=Arabic (Moroco) +Language_ar_SA=Arabcha +Language_ar_TN=Arab (Tunis) +Language_ar_IQ=Arab (Iroq) +Language_az_AZ=Ozarbayjon +Language_bn_BD=Bengal tili +Language_bn_IN=Bengal (Hindiston) +Language_bg_BG=Bolgar +Language_bs_BA=Bosniya +Language_ca_ES=Kataloniya +Language_cs_CZ=Chex +Language_da_DA=Daniya +Language_da_DK=Daniya +Language_de_DE=Nemis +Language_de_AT=Nemis (Avstriya) +Language_de_CH=Nemis (Shveytsariya) +Language_el_GR=Yunoncha +Language_el_CY=Yunon (Kipr) +Language_en_AU=Ingliz (Avstraliya) +Language_en_CA=Ingliz (Kanada) +Language_en_GB=Ingliz (Buyuk Britaniya) +Language_en_IN=Ingliz (Hindiston) +Language_en_NZ=Ingliz (Yangi Zelandiya) +Language_en_SA=Ingliz tili (Saudiya Arabistoni) +Language_en_SG=Ingliz (Singapur) +Language_en_US=Ingliz (Amerika Qo'shma Shtatlari) +Language_en_ZA=Ingliz (Janubiy Afrika) +Language_es_ES=Ispaniya +Language_es_AR=Ispaniya (Argentina) +Language_es_BO=Ispan (Boliviya) +Language_es_CL=Ispan (Chili) +Language_es_CO=Ispan (Kolumbiya) +Language_es_DO=Ispaniya (Dominik Respublikasi) +Language_es_EC=Ispan (Ekvador) +Language_es_GT=Ispan (Gvatemala) +Language_es_HN=Ispan (Gonduras) +Language_es_MX=Ispan (Meksika) +Language_es_PA=Ispan (Panama) +Language_es_PY=Ispan (Paragvay) +Language_es_PE=Ispan (Peru) +Language_es_PR=Ispan (Puerto-Riko) +Language_es_US=Ispan (AQSh) +Language_es_UY=Ispan (Urugvay) +Language_es_GT=Ispan (Gvatemala) +Language_es_VE=Ispan (Venesuela) +Language_et_EE=Estoniya +Language_eu_ES=Bask +Language_fa_IR=Fors tili +Language_fi_FI=Finlyandiya +Language_fr_BE=Frantsuz (Belgiya) +Language_fr_CA=Frantsuz (Kanada) +Language_fr_CH=Frantsuz (Shveytsariya) +Language_fr_CI=Frantsuz (Fil suyagi) +Language_fr_CM=Frantsuz (Kamerun) +Language_fr_FR=Frantsuzcha +Language_fr_GA=Frantsuz (Gabon) +Language_fr_NC=Frantsuz (Yangi Kaledoniya) +Language_fr_SN=Frantsuz (Senegal) +Language_fy_NL=Friz +Language_gl_ES=Galisiya +Language_he_IL=Ibroniycha +Language_hi_IN=Hind (Hindiston) +Language_hr_HR=Xorvat +Language_hu_HU=Venger +Language_id_ID=Indoneziyalik +Language_is_IS=Islandcha +Language_it_IT=Italyancha +Language_it_CH=Italiya (Shveytsariya) +Language_ja_JP=Yapon +Language_ka_GE=Gruzin +Language_km_KH=Kxmer Language_kn_IN=Kannada -Language_ko_KR=Korean -Language_lo_LA=Lao -Language_lt_LT=Lithuanian -Language_lv_LV=Latvian -Language_mk_MK=Macedonian -Language_mn_MN=Mongolian -Language_nb_NO=Norwegian (Bokmål) -Language_ne_NP=Nepali -Language_nl_BE=Dutch (Belgium) -Language_nl_NL=Dutch -Language_pl_PL=Polish -Language_pt_BR=Portuguese (Brazil) -Language_pt_PT=Portuguese -Language_ro_RO=Romanian -Language_ru_RU=Russian -Language_ru_UA=Russian (Ukraine) -Language_tr_TR=Turkish -Language_sl_SI=Slovenian -Language_sv_SV=Swedish -Language_sv_SE=Swedish -Language_sq_AL=Albanian -Language_sk_SK=Slovakian -Language_sr_RS=Serbian -Language_sw_SW=Kiswahili -Language_th_TH=Thai -Language_uk_UA=Ukrainian -Language_uz_UZ=Uzbek -Language_vi_VN=Vietnamese -Language_zh_CN=Chinese -Language_zh_TW=Chinese (Traditional) -Language_zh_HK=Chinese (Hong Kong) -Language_bh_MY=Malay +Language_ko_KR=Koreys +Language_lo_LA=Laos +Language_lt_LT=Litva +Language_lv_LV=Latviya +Language_mk_MK=Makedoniya +Language_mn_MN=Mo'g'ul +Language_nb_NO=Norvegiya (Bokmal) +Language_ne_NP=Nepal +Language_nl_BE=Golland (Belgiya) +Language_nl_NL=Golland +Language_pl_PL=Polsha +Language_pt_AO=Portugal (Angola) +Language_pt_BR=Portugal (Braziliya) +Language_pt_PT=Portugal +Language_ro_MD=Rumin (Moldaviya) +Language_ro_RO=Rumin +Language_ru_RU=Ruscha +Language_ru_UA=Rus (Ukraina) +Language_tr_TR=Turkcha +Language_sl_SI=Slovencha +Language_sv_SV=Shved +Language_sv_SE=Shved +Language_sq_AL=Albancha +Language_sk_SK=Slovakiya +Language_sr_RS=Serb +Language_sw_SW=Kisvaxili +Language_th_TH=Tailandcha +Language_uk_UA=Ukrain +Language_uz_UZ=O'zbek +Language_vi_VN=Vetnam +Language_zh_CN=Xitoy +Language_zh_TW=Xitoy (an'anaviy) +Language_zh_HK=Xitoy (Gonkong) +Language_bh_MY=Malaycha diff --git a/htdocs/langs/uz_UZ/ldap.lang b/htdocs/langs/uz_UZ/ldap.lang index abe11602147..4ec26b1662a 100644 --- a/htdocs/langs/uz_UZ/ldap.lang +++ b/htdocs/langs/uz_UZ/ldap.lang @@ -1,27 +1,27 @@ # Dolibarr language file - Source file is en_US - ldap -YouMustChangePassNextLogon=Password for user %s on the domain %s must be changed. -UserMustChangePassNextLogon=User must change password on the domain %s -LDAPInformationsForThisContact=Information in LDAP database for this contact -LDAPInformationsForThisUser=Information in LDAP database for this user -LDAPInformationsForThisGroup=Information in LDAP database for this group -LDAPInformationsForThisMember=Information in LDAP database for this member -LDAPInformationsForThisMemberType=Information in LDAP database for this member type -LDAPAttributes=LDAP attributes -LDAPCard=LDAP card -LDAPRecordNotFound=Record not found in LDAP database -LDAPUsers=Users in LDAP database -LDAPFieldStatus=Status -LDAPFieldFirstSubscriptionDate=First subscription date -LDAPFieldFirstSubscriptionAmount=First subscription amount -LDAPFieldLastSubscriptionDate=Latest subscription date -LDAPFieldLastSubscriptionAmount=Latest subscription amount -LDAPFieldSkype=Skype id -LDAPFieldSkypeExample=Example : skypeName -UserSynchronized=User synchronized -GroupSynchronized=Group synchronized -MemberSynchronized=Member synchronized -MemberTypeSynchronized=Member type synchronized -ContactSynchronized=Contact synchronized -ForceSynchronize=Force synchronizing Dolibarr -> LDAP -ErrorFailedToReadLDAP=Failed to read LDAP database. Check LDAP module setup and database accessibility. -PasswordOfUserInLDAP=Password of user in LDAP +YouMustChangePassNextLogon= %s domenidagi %s foydalanuvchisi uchun parol o'zgartirilishi kerak. +UserMustChangePassNextLogon=Foydalanuvchi %s domenidagi parolni o'zgartirishi kerak +LDAPInformationsForThisContact=Ushbu aloqa uchun LDAP ma'lumotlar bazasidagi ma'lumotlar +LDAPInformationsForThisUser=Ushbu foydalanuvchi uchun LDAP ma'lumotlar bazasidagi ma'lumotlar +LDAPInformationsForThisGroup=Ushbu guruh uchun LDAP ma'lumotlar bazasidagi ma'lumotlar +LDAPInformationsForThisMember=Ushbu a'zo uchun LDAP ma'lumotlar bazasidagi ma'lumotlar +LDAPInformationsForThisMemberType=Ushbu a'zoning turi uchun LDAP ma'lumotlar bazasidagi ma'lumotlar +LDAPAttributes=LDAP atributlari +LDAPCard=LDAP karta +LDAPRecordNotFound=Yozuv LDAP ma'lumotlar bazasida topilmadi +LDAPUsers=LDAP ma'lumotlar bazasidagi foydalanuvchilar +LDAPFieldStatus=Holat +LDAPFieldFirstSubscriptionDate=Birinchi obuna sanasi +LDAPFieldFirstSubscriptionAmount=Birinchi obuna miqdori +LDAPFieldLastSubscriptionDate=Oxirgi obuna sanasi +LDAPFieldLastSubscriptionAmount=Oxirgi obuna miqdori +LDAPFieldSkype=Skype identifikatori +LDAPFieldSkypeExample=Misol: skypeName +UserSynchronized=Foydalanuvchi sinxronlashtirildi +GroupSynchronized=Guruh sinxronlashtirildi +MemberSynchronized=A'zo sinxronlashtirildi +MemberTypeSynchronized=Ro'yxatdan turi sinxronlashtirildi +ContactSynchronized=Aloqa sinxronlashtirildi +ForceSynchronize=Dolibarr -> LDAP-ni sinxronlashtirishni majburlash +ErrorFailedToReadLDAP=LDAP ma'lumotlar bazasini o'qib bo'lmadi. LDAP modulini sozlashni va ma'lumotlar bazasiga kirishni tekshiring. +PasswordOfUserInLDAP=LDAP-dagi foydalanuvchi paroli diff --git a/htdocs/langs/uz_UZ/link.lang b/htdocs/langs/uz_UZ/link.lang index 1ffcd41a18b..e37e7f0be18 100644 --- a/htdocs/langs/uz_UZ/link.lang +++ b/htdocs/langs/uz_UZ/link.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - languages -LinkANewFile=Link a new file/document -LinkedFiles=Linked files and documents -NoLinkFound=No registered links -LinkComplete=The file has been linked successfully -ErrorFileNotLinked=The file could not be linked -LinkRemoved=The link %s has been removed -ErrorFailedToDeleteLink= Failed to remove link '%s' -ErrorFailedToUpdateLink= Failed to update link '%s' -URLToLink=URL to link -OverwriteIfExists=Overwrite file if exists +LinkANewFile=Yangi fayl / hujjatni bog'lang +LinkedFiles=Bog'langan fayllar va hujjatlar +NoLinkFound=Ro'yxatdan o'tgan havolalar yo'q +LinkComplete=Fayl muvaffaqiyatli ulandi +ErrorFileNotLinked=Faylni ulab bo‘lmadi +LinkRemoved=%s havolasi o'chirildi +ErrorFailedToDeleteLink= ' %s ' havolasi o'chirilmadi +ErrorFailedToUpdateLink= ' %s ' havolasi yangilanmadi +URLToLink=Ulanish uchun URL +OverwriteIfExists=Agar mavjud bo'lsa, faylni qayta yozing diff --git a/htdocs/langs/uz_UZ/loan.lang b/htdocs/langs/uz_UZ/loan.lang index d271ed0c140..204de3d76eb 100644 --- a/htdocs/langs/uz_UZ/loan.lang +++ b/htdocs/langs/uz_UZ/loan.lang @@ -1,34 +1,34 @@ # Dolibarr language file - Source file is en_US - loan -Loan=Loan -Loans=Loans -NewLoan=New Loan -ShowLoan=Show Loan -PaymentLoan=Loan payment -LoanPayment=Loan payment -ShowLoanPayment=Show Loan Payment -LoanCapital=Capital -Insurance=Insurance -Interest=Interest -Nbterms=Number of terms -Term=Term -LoanAccountancyCapitalCode=Accounting account capital -LoanAccountancyInsuranceCode=Accounting account insurance -LoanAccountancyInterestCode=Accounting account interest -ConfirmDeleteLoan=Confirm deleting this loan -LoanDeleted=Loan Deleted Successfully -ConfirmPayLoan=Confirm classify paid this loan -LoanPaid=Loan Paid -ListLoanAssociatedProject=List of loan associated with the project -AddLoan=Create loan -FinancialCommitment=Financial commitment -InterestAmount=Interest -CapitalRemain=Capital remain -TermPaidAllreadyPaid = This term is allready paid -CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started -CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule +Loan=Kredit +Loans=Kreditlar +NewLoan=Yangi kredit +ShowLoan=Kreditni ko'rsatish +PaymentLoan=Kreditni to'lash +LoanPayment=Kreditni to'lash +ShowLoanPayment=Kredit to'lovini ko'rsatish +LoanCapital=Poytaxt +Insurance=Sug'urta +Interest=Qiziqish +Nbterms=Shartlar soni +Term=Muddat +LoanAccountancyCapitalCode=Buxgalteriya hisobi kapitali +LoanAccountancyInsuranceCode=Buxgalteriya hisobini sug'urtalash +LoanAccountancyInterestCode=Buxgalteriya hisobining foizlari +ConfirmDeleteLoan=Ushbu kreditni o'chirishni tasdiqlang +LoanDeleted=Kredit muvaffaqiyatli o'chirildi +ConfirmPayLoan=Ushbu kreditni to'langanligini tasdiqlang +LoanPaid=Kredit to'langan +ListLoanAssociatedProject=Loyiha bilan bog'liq kreditlar ro'yxati +AddLoan=Kredit yaratish +FinancialCommitment=Moliyaviy majburiyat +InterestAmount=Qiziqish +CapitalRemain=Kapital qoladi +TermPaidAllreadyPaid = Ushbu muddat allaqachon to'langan +CantUseScheduleWithLoanStartedToPaid = To'lov boshlangan kredit uchun rejalashtiruvchidan foydalanib bo'lmaydi +CantModifyInterestIfScheduleIsUsed = Agar jadvaldan foydalansangiz, foizlarni o'zgartira olmaysiz # Admin -ConfigLoan=Configuration of the module loan -LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default -LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default -LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default -CreateCalcSchedule=Edit financial commitment +ConfigLoan=Modulli kreditni sozlash +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Sukut bo'yicha buxgalteriya hisobi kapitali +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Sukut bo'yicha buxgalteriya hisobi foizlari +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Sukut bo'yicha buxgalteriya hisobini sug'urtalash +CreateCalcSchedule=Moliyaviy majburiyatni tahrirlash diff --git a/htdocs/langs/uz_UZ/mailmanspip.lang b/htdocs/langs/uz_UZ/mailmanspip.lang index bab4b3576b4..c403293b784 100644 --- a/htdocs/langs/uz_UZ/mailmanspip.lang +++ b/htdocs/langs/uz_UZ/mailmanspip.lang @@ -1,27 +1,27 @@ # Dolibarr language file - Source file is en_US - mailmanspip -MailmanSpipSetup=Mailman and SPIP module Setup -MailmanTitle=Mailman mailing list system -TestSubscribe=To test subscription to Mailman lists -TestUnSubscribe=To test unsubscribe from Mailman lists -MailmanCreationSuccess=Subscription test was executed successfully -MailmanDeletionSuccess=Unsubscription test was executed successfully -SynchroMailManEnabled=A Mailman update will be performed -SynchroSpipEnabled=A Spip update will be performed -DescADHERENT_MAILMAN_ADMINPW=Mailman administrator password -DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions -DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions -DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) -SPIPTitle=SPIP Content Management System -DescADHERENT_SPIP_SERVEUR=SPIP Server -DescADHERENT_SPIP_DB=SPIP database name -DescADHERENT_SPIP_USER=SPIP database login -DescADHERENT_SPIP_PASS=SPIP database password -AddIntoSpip=Add into SPIP -AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? -AddIntoSpipError=Failed to add the user in SPIP -DeleteIntoSpip=Remove from SPIP -DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? -DeleteIntoSpipError=Failed to suppress the user from SPIP -SPIPConnectionFailed=Failed to connect to SPIP -SuccessToAddToMailmanList=%s successfully added to mailman list %s or SPIP database -SuccessToRemoveToMailmanList=%s successfully removed from mailman list %s or SPIP database +MailmanSpipSetup=Pochtachi va SPIP modulini sozlash +MailmanTitle=Pochtachi pochta ro'yxati tizimi +TestSubscribe=Pochtachi ro'yxatlariga obuna bo'lishni sinash uchun +TestUnSubscribe=Pochtachi ro'yxatlariga obunani bekor qilishni tekshirish uchun +MailmanCreationSuccess=Obuna testi muvaffaqiyatli bajarildi +MailmanDeletionSuccess=Obunani bekor qilish testi muvaffaqiyatli bajarildi +SynchroMailManEnabled=Pochta xizmatining yangilanishi amalga oshiriladi +SynchroSpipEnabled=Spip yangilanishi amalga oshiriladi +DescADHERENT_MAILMAN_ADMINPW=Pochtachi ma'murining paroli +DescADHERENT_MAILMAN_URL=Pochtachi obunalari uchun URL manzili +DescADHERENT_MAILMAN_UNSUB_URL=Pochtachi obunalarini bekor qilish uchun URL manzili +DescADHERENT_MAILMAN_LISTS=Yangi a'zolarni avtomatik ravishda yozish uchun ro'yxat (lar) (vergul bilan ajratilgan) +SPIPTitle=SPIP tarkibini boshqarish tizimi +DescADHERENT_SPIP_SERVEUR=SPIP-server +DescADHERENT_SPIP_DB=SPIP ma'lumotlar bazasi nomi +DescADHERENT_SPIP_USER=SPIP ma'lumotlar bazasiga kirish +DescADHERENT_SPIP_PASS=SPIP ma'lumotlar bazasi paroli +AddIntoSpip=SPIP-ga qo'shing +AddIntoSpipConfirmation=Ushbu a'zoni SPIP-ga qo'shishni xohlaysizmi? +AddIntoSpipError=Foydalanuvchini SPIP-ga qo'shib bo'lmadi +DeleteIntoSpip=SPIP-dan olib tashlash +DeleteIntoSpipConfirmation=Ushbu a'zoni SPIP-dan olib tashlamoqchimisiz? +DeleteIntoSpipError=Foydalanuvchini SPIP-dan o'chirib bo'lmadi +SPIPConnectionFailed=SPIP-ga ulanib bo'lmadi +SuccessToAddToMailmanList=%s xat yuboruvchilar ro'yxatiga muvaffaqiyatli qo'shildi %s yoki SPIP ma'lumotlar bazasi +SuccessToRemoveToMailmanList=%s xat yuboruvchilar ro'yxatidan muvaffaqiyatli o'chirildi %s yoki SPIP ma'lumotlar bazasi diff --git a/htdocs/langs/uz_UZ/mails.lang b/htdocs/langs/uz_UZ/mails.lang index 24c86cc885a..2570819bab8 100644 --- a/htdocs/langs/uz_UZ/mails.lang +++ b/htdocs/langs/uz_UZ/mails.lang @@ -1,179 +1,179 @@ # Dolibarr language file - Source file is en_US - mails -Mailing=EMailing -EMailing=EMailing -EMailings=EMailings -AllEMailings=All eMailings -MailCard=EMailing card -MailRecipients=Recipients -MailRecipient=Recipient -MailTitle=Description -MailFrom=Sender -MailErrorsTo=Errors to -MailReply=Reply to -MailTo=Receiver(s) -MailToUsers=To user(s) -MailCC=Copy to -MailToCCUsers=Copy to users(s) -MailCCC=Cached copy to -MailTopic=Email subject -MailText=Message -MailFile=Attached files -MailMessage=Email body -SubjectNotIn=Not in Subject -BodyNotIn=Not in Body -ShowEMailing=Show emailing -ListOfEMailings=List of emailings -NewMailing=New emailing -EditMailing=Edit emailing -ResetMailing=Resend emailing -DeleteMailing=Delete emailing -DeleteAMailing=Delete an emailing -PreviewMailing=Preview emailing -CreateMailing=Create emailing -TestMailing=Test email -ValidMailing=Valid emailing -MailingStatusDraft=Draft -MailingStatusValidated=Validated -MailingStatusSent=Sent -MailingStatusSentPartialy=Sent partially -MailingStatusSentCompletely=Sent completely -MailingStatusError=Error -MailingStatusNotSent=Not sent -MailSuccessfulySent=Email (from %s to %s) successfully accepted for delivery -MailingSuccessfullyValidated=EMailing successfully validated -MailUnsubcribe=Unsubscribe -MailingStatusNotContact=Don't contact anymore -MailingStatusReadAndUnsubscribe=Read and unsubscribe -ErrorMailRecipientIsEmpty=Email recipient is empty -WarningNoEMailsAdded=No new Email to add to recipient's list. -ConfirmValidMailing=Are you sure you want to validate this emailing? -ConfirmResetMailing=Warning, by re-initializing emailing %s, you will allow the re-sending this email in a bulk mailing. Are you sure you want to do this? -ConfirmDeleteMailing=Are you sure you want to delete this emailing? -NbOfUniqueEMails=No. of unique emails -NbOfEMails=No. of EMails -TotalNbOfDistinctRecipients=Number of distinct recipients -NoTargetYet=No recipients defined yet (Go on tab 'Recipients') -NoRecipientEmail=No recipient email for %s -RemoveRecipient=Remove recipient -YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. -EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values -MailingAddFile=Attach this file -NoAttachedFiles=No attached files -BadEMail=Bad value for Email -ConfirmCloneEMailing=Are you sure you want to clone this emailing? -CloneContent=Clone message -CloneReceivers=Cloner recipients -DateLastSend=Date of latest sending -DateSending=Date sending -SentTo=Sent to %s -MailingStatusRead=Read -YourMailUnsubcribeOK=The email %s is correctly unsubscribe from mailing list -ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubscribe" feature -EMailSentToNRecipients=Email sent to %s recipients. -EMailSentForNElements=Email sent for %s elements. -XTargetsAdded=%s recipients added into target list -OnlyPDFattachmentSupported=If the PDF documents were already generated for the objects to send, they will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachments in mass sending in this version). -AllRecipientSelected=The recipients of the %s record selected (if their email is known). -GroupEmails=Group emails -OneEmailPerRecipient=One email per recipient (by default, one email per record selected) -WarningIfYouCheckOneRecipientPerEmail=Warning, if you check this box, it means only one email will be sent for several different record selected, so, if your message contains substitution variables that refers to data of a record, it becomes not possible to replace them. -ResultOfMailSending=Result of mass Email sending -NbSelected=Number selected -NbIgnored=Number ignored -NbSent=Number sent -SentXXXmessages=%s message(s) sent. -ConfirmUnvalidateEmailing=Are you sure you want to change email %s to draft status? -MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters -MailingModuleDescContactsByCompanyCategory=Contacts by third-party category -MailingModuleDescContactsByCategory=Contacts by categories -MailingModuleDescContactsByFunction=Contacts by position -MailingModuleDescEmailsFromFile=Emails from file -MailingModuleDescEmailsFromUser=Emails input by user -MailingModuleDescDolibarrUsers=Users with Emails -MailingModuleDescThirdPartiesByCategories=Third parties (by categories) -SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed. -EmailCollectorFilterDesc=All filters must match to have an email being collected +Mailing=Elektron pochta xabarlari +EMailing=Elektron pochta xabarlari +EMailings=Elektron pochta xabarlari +AllEMailings=Barcha elektron pochta xabarlari +MailCard=Elektron pochta kartasi +MailRecipients=Qabul qiluvchilar +MailRecipient=Qabul qiluvchi +MailTitle=Tavsif +MailFrom=Yuboruvchi +MailErrorsTo=Xatolar +MailReply=Ga javob +MailTo=Qabul qiluvchilar (lar) +MailToUsers=Foydalanuvchi (lar) ga +MailCC=Nusxalash +MailToCCUsers=Foydalanuvchilar (lar) ga nusxalash +MailCCC=Keshlangan nusxa +MailTopic=Elektron pochta mavzusi +MailText=Xabar +MailFile=Biriktirilgan fayllar +MailMessage=Elektron pochta qutisi +SubjectNotIn=Mavzuda emas +BodyNotIn=Tanada emas +ShowEMailing=Elektron pochta xabarlarini ko'rsatish +ListOfEMailings=Elektron pochta xabarlari ro'yxati +NewMailing=Yangi elektron pochta xabarlari +EditMailing=Elektron pochta xabarlarini tahrirlash +ResetMailing=Elektron pochta xabarlarini qayta yuboring +DeleteMailing=Elektron pochta xabarlarini o'chirish +DeleteAMailing=Elektron pochta xabarini o'chirib tashlang +PreviewMailing=Elektron pochta xabarlarini oldindan ko'rish +CreateMailing=Elektron pochta xabarlarini yarating +TestMailing=Elektron pochtani sinab ko'ring +ValidMailing=Yaroqli elektron pochta xabarlari +MailingStatusDraft=Qoralama +MailingStatusValidated=Tasdiqlangan +MailingStatusSent=Yuborildi +MailingStatusSentPartialy=Qisman yuborilgan +MailingStatusSentCompletely=To'liq yuborildi +MailingStatusError=Xato +MailingStatusNotSent=Yuborilmadi +MailSuccessfulySent=Elektron pochta (%s dan %s dan) etkazib berish uchun muvaffaqiyatli qabul qilindi +MailingSuccessfullyValidated=Elektron pochta xabarlari tasdiqlandi +MailUnsubcribe=Obunani bekor qilish +MailingStatusNotContact=Boshqa aloqa qilmang +MailingStatusReadAndUnsubscribe=O'qing va obunani bekor qiling +ErrorMailRecipientIsEmpty=Elektron pochta qabul qiluvchisi bo'sh +WarningNoEMailsAdded=Qabul qiluvchilar ro'yxatiga qo'shish uchun yangi elektron pochta xabarlari yo'q. +ConfirmValidMailing=Ushbu elektron pochta xabarini tasdiqlamoqchimisiz? +ConfirmResetMailing=Ogohlantirish, %s elektron pochtasini qayta boshlash orqali siz ushbu elektron pochtani ommaviy pochta orqali qayta yuborishga ruxsat berasiz. Haqiqatan ham buni qilishni xohlaysizmi? +ConfirmDeleteMailing=Ushbu elektron pochta xabarini o'chirishni xohlaysizmi? +NbOfUniqueEMails=Noyob elektron pochta xabarlari soni +NbOfEMails=Elektron pochta xabarlari soni +TotalNbOfDistinctRecipients=Alohida qabul qiluvchilar soni +NoTargetYet=Qabul qiluvchilar aniqlanmagan ("Qabul qiluvchilar" yorlig'iga o'ting) +NoRecipientEmail=%s uchun qabul qiluvchi elektron pochtasi yo'q +RemoveRecipient=Qabul qiluvchini olib tashlash +YouCanAddYourOwnPredefindedListHere=Elektron pochta tanlov modulini yaratish uchun htdocs / core / modules / mailings / README-ga qarang. +EMailTestSubstitutionReplacedByGenericValues=Sinov rejimidan foydalanganda almashtirish o'zgaruvchilari umumiy qiymatlar bilan almashtiriladi +MailingAddFile=Ushbu faylni biriktiring +NoAttachedFiles=Biriktirilgan fayllar yo'q +BadEMail=Elektron pochta uchun yomon qiymat +ConfirmCloneEMailing=Ushbu elektron pochtani klonlamoqchimisiz? +CloneContent=Xabarni klonlash +CloneReceivers=Kloner qabul qiluvchilar +DateLastSend=Oxirgi yuborilgan sana +DateSending=Yuborilgan sana +SentTo= %s raqamiga yuborildi +MailingStatusRead=O'qing +YourMailUnsubcribeOK= %s elektron pochtasi pochta ro'yxatidan obunani bekor qildi +ActivateCheckReadKey="O'qish kvitansiyasi" va "Obunani bekor qilish" xususiyati uchun ishlatiladigan URL-ni shifrlash uchun kalit +EMailSentToNRecipients=%s oluvchilariga elektron pochta xabarlari yuborildi. +EMailSentForNElements=%s elementlari uchun elektron pochta xabarlari yuborildi. +XTargetsAdded= %s oluvchilar maqsadlar ro'yxatiga qo'shildi +OnlyPDFattachmentSupported=Agar PDF hujjatlari ob'ektlarni yuborish uchun allaqachon yaratilgan bo'lsa, ular elektron pochtaga biriktiriladi. Agar bunday bo'lmasa, hech qanday elektron pochta xabarlari yuborilmaydi (shuningdek, ushbu versiyada faqat pdf hujjatlarni ommaviy yuborishda qo'shimcha sifatida qo'llab-quvvatlanishini unutmang). +AllRecipientSelected=%s yozuvining oluvchilari tanlangan (agar ularning elektron pochtalari ma'lum bo'lsa). +GroupEmails=Guruh elektron pochta xabarlari +OneEmailPerRecipient=Qabul qiluvchiga bitta elektron pochta (sukut bo'yicha, bitta yozuv uchun bitta elektron pochta tanlangan) +WarningIfYouCheckOneRecipientPerEmail=Ogohlantirish, agar siz ushbu katakchani belgilasangiz, demak, tanlangan bir nechta turli xil yozuvlar uchun faqat bitta elektron pochta xabar yuboriladi, shuning uchun agar sizning xabaringizda yozuv ma'lumotlariga tegishli bo'lgan almashtirish o'zgaruvchilari bo'lsa, ularni almashtirish imkonsiz bo'lib qoladi. +ResultOfMailSending=Ommaviy elektron pochta xabarlarini yuborish natijasi +NbSelected=Raqam tanlandi +NbIgnored=Raqam hisobga olinmadi +NbSent=Raqam yuborildi +SentXXXmessages=%s xabar (lar) yuborildi. +ConfirmUnvalidateEmailing= %s elektron pochtasini qoralama holatiga o'zgartirishni xohlaysizmi? +MailingModuleDescContactsWithThirdpartyFilter=Mijozlar filtrlari bilan bog'laning +MailingModuleDescContactsByCompanyCategory=Uchinchi tomon toifalari bo'yicha aloqalar +MailingModuleDescContactsByCategory=Kategoriyalar bo'yicha aloqalar +MailingModuleDescContactsByFunction=Kontaktlar joylashuvi bo'yicha +MailingModuleDescEmailsFromFile=Fayldan elektron pochta xabarlari +MailingModuleDescEmailsFromUser=Foydalanuvchi tomonidan kiritilgan elektron pochta xabarlari +MailingModuleDescDolibarrUsers=Elektron pochta xabarlari bo'lgan foydalanuvchilar +MailingModuleDescThirdPartiesByCategories=Uchinchi shaxslar (toifalar bo'yicha) +SendingFromWebInterfaceIsNotAllowed=Veb-interfeysdan yuborishga yo'l qo'yilmaydi. +EmailCollectorFilterDesc=Elektron pochta to'planishi uchun barcha filtrlar mos kelishi kerak # Libelle des modules de liste de destinataires mailing -LineInFile=Line %s in file -RecipientSelectionModules=Defined requests for recipient's selection -MailSelectedRecipients=Selected recipients -MailingArea=EMailings area -LastMailings=Latest %s emailings -TargetsStatistics=Targets statistics -NbOfCompaniesContacts=Unique contacts/addresses -MailNoChangePossible=Recipients for validated emailing can't be changed -SearchAMailing=Search mailing -SendMailing=Send emailing -SentBy=Sent by -MailingNeedCommand=Sending an emailing can be performed from command line. Ask your server administrator to launch the following command to send the emailing to all recipients: -MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. -ConfirmSendingEmailing=If you want to send emailing directly from this screen, please confirm you are sure you want to send emailing now from your browser ? -LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. -TargetsReset=Clear list -ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing -ToAddRecipientsChooseHere=Add recipients by choosing from the lists -NbOfEMailingsReceived=Mass emailings received -NbOfEMailingsSend=Mass emailings sent -IdRecord=ID record -DeliveryReceipt=Delivery Ack. -YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. -TagCheckMail=Track mail opening -TagUnsubscribe=Unsubscribe link -TagSignature=Signature of sending user -EMailRecipient=Recipient Email -TagMailtoEmail=Recipient Email (including html "mailto:" link) -NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. +LineInFile=Faylda %s qatori +RecipientSelectionModules=Qabul qiluvchilarni tanlash bo'yicha aniq talablar +MailSelectedRecipients=Tanlangan qabul qiluvchilar +MailingArea=Elektron pochta xabarlari maydoni +LastMailings=Oxirgi %s elektron pochta xabarlari +TargetsStatistics=Maqsadlar statistikasi +NbOfCompaniesContacts=Noyob kontaktlar / manzillar +MailNoChangePossible=Tasdiqlangan elektron pochta xabarlarini qabul qiluvchilarni o'zgartirish mumkin emas +SearchAMailing=Pochta orqali qidirish +SendMailing=Elektron pochta xabarlarini yuboring +SentBy=Yubordi +MailingNeedCommand=Elektron pochta xabarlarini yuborish buyruq satridan amalga oshirilishi mumkin. Elektron pochta xabarini barcha qabul qiluvchilarga yuborish uchun server administratoridan quyidagi buyruqni boshlashini so'rang: +MailingNeedCommand2=Siz ularni MAILING_LIMIT_SENDBYWEB parametrini qo'shish orqali ularni onlayn ravishda yuborishingiz mumkin. Buning uchun Home - Setup - Other-ga o'ting. +ConfirmSendingEmailing=Agar to'g'ridan-to'g'ri ushbu ekrandan elektron pochta xabarlarini yuborishni istasangiz, iltimos, brauzeringizdan elektron pochta xabarlarini yuborishni xohlaganingizga ishonch hosil qiling? +LimitSendingEmailing=Eslatma: Veb-interfeysdan elektron pochta xabarlarini yuborish xavfsizlik va vaqt tugashi sababli bir necha marta amalga oshiriladi, %s oluvchilar har bir yuborish seansi uchun bir vaqtning o'zida. +TargetsReset=Ro'yxatni tozalash +ToClearAllRecipientsClickHere=Ushbu elektron pochta xabarlari uchun qabul qiluvchilar ro'yxatini tozalash uchun shu erni bosing +ToAddRecipientsChooseHere=Ro'yxatlar orasidan tanlab oluvchilarni qo'shing +NbOfEMailingsReceived=Ommaviy elektron pochta xabarlari qabul qilindi +NbOfEMailingsSend=Ommaviy elektron pochta xabarlari yuborildi +IdRecord=ID yozuvlari +DeliveryReceipt=Yetkazib berish. +YouCanUseCommaSeparatorForSeveralRecipients=Bir nechta qabul qiluvchilarni ko'rsatish uchun vergul ajratgichidan foydalanishingiz mumkin. +TagCheckMail=Pochta ochilishini kuzatib boring +TagUnsubscribe=Obunani bekor qilish +TagSignature=Yuboruvchi foydalanuvchining imzosi +EMailRecipient=Qabul qiluvchining elektron pochtasi +TagMailtoEmail=Qabul qiluvchining elektron pochtasi (shu jumladan HTML "mailto:" havolasi) +NoEmailSentBadSenderOrRecipientEmail=Elektron pochta xabarlari yuborilmadi. Yuboruvchi yoki qabul qiluvchi elektron pochtasi noto'g'ri. Foydalanuvchi profilini tasdiqlang. # Module Notifications -Notifications=Notifications -NotificationsAuto=Notifications Auto. -NoNotificationsWillBeSent=No automatic email notifications are planned for this event type and company -ANotificationsWillBeSent=1 automatic notification will be sent by email -SomeNotificationsWillBeSent=%s automatic notifications will be sent by email -AddNewNotification=Subscribe to a new automatic email notification (target/event) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent -MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. +Notifications=Bildirishnomalar +NotificationsAuto=Bildirishnomalar avtomatik. +NoNotificationsWillBeSent=Ushbu tadbir turi va kompaniya uchun avtomatik elektron pochta xabarlari rejalashtirilmagan +ANotificationsWillBeSent=1 ta avtomatik bildirishnoma elektron pochta orqali yuboriladi +SomeNotificationsWillBeSent=%s avtomatik xabarnomalari elektron pochta orqali yuboriladi +AddNewNotification=Yangi avtomatik elektron xabarnomaga obuna bo'ling (maqsad / voqea) +ListOfActiveNotifications=Avtomatik elektron pochta orqali xabar berish uchun barcha faol obunalar ro'yxati (maqsadlar / hodisalar) +ListOfNotificationsDone=Yuborilgan barcha avtomatik elektron xabarnomalar ro'yxati +MailSendSetupIs=Elektron pochta xabarlarini jo'natish konfiguratsiyasi '%s' ga o'rnatildi. Ushbu rejimdan ommaviy elektron pochta xabarlarini yuborish uchun foydalanib bo'lmaydi. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. -MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. -YouCanAlsoUseSupervisorKeyword=You can also add the keyword __SUPERVISOREMAIL__ to have email being sent to the supervisor of user (works only if an email is defined for this supervisor) -NbOfTargetedContacts=Current number of targeted contact emails -UseFormatFileEmailToTarget=Imported file must have format email;name;firstname;other -UseFormatInputEmailToTarget=Enter a string with format email;name;firstname;other -MailAdvTargetRecipients=Recipients (advanced selection) -AdvTgtTitle=Fill input fields to preselect the third parties or contacts/addresses to target -AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima%% will target all jean, joe, start with jim but not jimo and not everything that starts with jima -AdvTgtSearchIntHelp=Use interval to select int or float value -AdvTgtMinVal=Minimum value -AdvTgtMaxVal=Maximum value -AdvTgtSearchDtHelp=Use interval to select date value -AdvTgtStartDt=Start dt. +MailSendSetupIs3=SMTP-serveringizni sozlash bo'yicha savollaringiz bo'lsa, %s ga murojaat qilishingiz mumkin. +YouCanAlsoUseSupervisorKeyword=Shuningdek, foydalanuvchi rahbariga elektron pochta xabarlarini yuborish uchun __SUPERVISOREMAIL__ kalit so'zini qo'shishingiz mumkin (faqat ushbu nazoratchi uchun elektron pochta manzili belgilangan taqdirda ishlaydi) +NbOfTargetedContacts=Maqsadli elektron pochta xabarlarining joriy soni +UseFormatFileEmailToTarget=Import qilingan fayl formatidagi elektron pochta; ism; ism; boshqa formatiga ega bo'lishi kerak +UseFormatInputEmailToTarget= formatidagi qatorni kiriting elektron pochta; ism; ism; boshqa +MailAdvTargetRecipients=Qabul qiluvchilar (kengaytirilgan tanlov) +AdvTgtTitle=Uchinchi tomonlarni yoki nishonga olish uchun kontaktlarni / manzillarni oldindan tanlash uchun kirish maydonlarini to'ldiring +AdvTgtSearchTextHelp=%%-dan joker belgilar sifatida foydalaning. Masalan, jean, joe, jim kabi barcha elementlarni topish uchun j%% kabi narsalarni topishingiz mumkin, siz ham foydalanishingiz mumkin; qiymati uchun ajratuvchi sifatida va foydalaning! chunki bu qiymatdan tashqari. Masalan, jean; joe; jim%%;! Jimo;! Jima%% barcha jean, joe, jim bilan boshlanadi, lekin Jimo bilan boshlanadigan hamma narsa emas. +AdvTgtSearchIntHelp=Int yoki float qiymatini tanlash uchun intervaldan foydalaning +AdvTgtMinVal=Minimal qiymat +AdvTgtMaxVal=Maksimal qiymat +AdvTgtSearchDtHelp=Sana qiymatini tanlash uchun intervaldan foydalaning +AdvTgtStartDt=Dt boshlash. AdvTgtEndDt=End dt. -AdvTgtTypeOfIncudeHelp=Target Email of third party and email of contact of the third party, or just third-party email or just contact email -AdvTgtTypeOfIncude=Type of targeted email -AdvTgtContactHelp=Use only if you target contact into "Type of targeted email" -AddAll=Add all -RemoveAll=Remove all -ItemsCount=Item(s) -AdvTgtNameTemplate=Filter name -AdvTgtAddContact=Add emails according to criteria -AdvTgtLoadFilter=Load filter -AdvTgtDeleteFilter=Delete filter -AdvTgtSaveFilter=Save filter -AdvTgtCreateFilter=Create filter -AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found -OutGoingEmailSetup=Outgoing emails -InGoingEmailSetup=Incoming emails -OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) -DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup -Information=Information -ContactsWithThirdpartyFilter=Contacts with third-party filter -Unanswered=Unanswered -Answered=Answered -IsNotAnAnswer=Is not answer (initial email) -IsAnAnswer=Is an answer of an initial email -RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s -DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing -DefaultStatusEmptyMandatory=Empty but mandatory +AdvTgtTypeOfIncudeHelp=Uchinchi tomonning elektron pochta manzili va uchinchi tomonning elektron pochta manzili, yoki faqat uchinchi tomon elektron pochtasi yoki shunchaki elektron pochta manzili +AdvTgtTypeOfIncude=Maqsadli elektron pochta turi +AdvTgtContactHelp=Kontaktni "Maqsadli elektron pochta turi" ga yo'naltirgan taqdirdagina foydalaning +AddAll=Hammasini qo'shing +RemoveAll=Barchasini olib tashlang +ItemsCount=Mahsulot (lar) +AdvTgtNameTemplate=Filtr nomi +AdvTgtAddContact=Mezonlarga muvofiq elektron pochta xabarlarini qo'shing +AdvTgtLoadFilter=Yuk filtri +AdvTgtDeleteFilter=Filtrni o'chirish +AdvTgtSaveFilter=Filtrni saqlash +AdvTgtCreateFilter=Filtr yaratish +AdvTgtOrCreateNewFilter=Yangi filtr nomi +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties +OutGoingEmailSetup=Chiquvchi elektron pochta xabarlari +InGoingEmailSetup=Kiruvchi elektron pochta xabarlari +OutGoingEmailSetupForEmailing=Chiquvchi elektron pochta xabarlari (%s moduli uchun) +DefaultOutgoingEmailSetup=Global chiquvchi elektron pochta sozlamalariga qaraganda bir xil konfiguratsiya +Information=Ma `lumot +ContactsWithThirdpartyFilter=Uchinchi tomon filtri bilan aloqalar +Unanswered=Javob berilmagan +Answered=Javob berdi +IsNotAnAnswer=Javob berilmadi (dastlabki elektron pochta) +IsAnAnswer=Dastlabki elektron pochtaning javobi +RecordCreatedByEmailCollector=%s elektron pochtasidan elektron pochta yig'uvchisi %s tomonidan yaratilgan yozuv +DefaultBlacklistMailingStatus=Ommaviy elektron pochta xabarlarini rad etish uchun standart aloqa holati +DefaultStatusEmptyMandatory=Bo'sh, ammo majburiy diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index e9441bb392e..29e37a25e01 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -14,7 +14,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy -FormatHourShortJQuery=HH:MI +FormatHourShortJQuery=HH: MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -23,584 +23,585 @@ FormatDateHourShort=%d.%m.%Y %H:%M FormatDateHourSecShort=%d.%m.%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M -DatabaseConnection=Database connection -NoTemplateDefined=No template available for this email type -AvailableVariables=Available substitution variables -NoTranslation=No translation -Translation=Translation +DatabaseConnection=Ma'lumotlar bazasiga ulanish +NoTemplateDefined=Ushbu elektron pochta turi uchun shablon mavjud emas +AvailableVariables=Mavjud almashtirish o'zgaruvchilari +NoTranslation=Tarjima yo'q +Translation=Tarjima CurrentTimeZone=TimeZone PHP (server) -EmptySearchString=Enter non empty search criterias -EnterADateCriteria=Enter a date criteria -NoRecordFound=No record found -NoRecordDeleted=No record deleted -NotEnoughDataYet=Not enough data -NoError=No error -Error=Error -Errors=Errors -ErrorFieldRequired=Field '%s' is required -ErrorFieldFormat=Field '%s' has a bad value -ErrorFileDoesNotExists=File %s does not exist -ErrorFailedToOpenFile=Failed to open file %s -ErrorCanNotCreateDir=Cannot create dir %s -ErrorCanNotReadDir=Cannot read dir %s -ErrorConstantNotDefined=Parameter %s not defined -ErrorUnknown=Unknown error -ErrorSQL=SQL Error -ErrorLogoFileNotFound=Logo file '%s' was not found -ErrorGoToGlobalSetup=Go to 'Company/Organization' setup to fix this -ErrorGoToModuleSetup=Go to Module setup to fix this -ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) -ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. -ErrorInternalErrorDetected=Error detected -ErrorWrongHostParameter=Wrong host parameter -ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post the form again. -ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child record. -ErrorWrongValue=Wrong value -ErrorWrongValueForParameterX=Wrong value for parameter %s -ErrorNoRequestInError=No request in error -ErrorServiceUnavailableTryLater=Service not available at the moment. Try again later. -ErrorDuplicateField=Duplicate value in a unique field -ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. Changes have been rolled back. -ErrorConfigParameterNotDefined=Parameter %s is not defined in the Dolibarr config file conf.php. -ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. -ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. -ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. -ErrorFailedToSaveFile=Error, failed to save file. -ErrorCannotAddThisParentWarehouse=You are trying to add a parent warehouse which is already a child of a existing warehouse -MaxNbOfRecordPerPage=Max. number of records per page -NotAuthorized=You are not authorized to do that. -SetDate=Set date -SelectDate=Select a date -SeeAlso=See also %s -SeeHere=See here -ClickHere=Click here -Here=Here -Apply=Apply -BackgroundColorByDefault=Default background color -FileRenamed=The file was successfully renamed -FileGenerated=The file was successfully generated -FileSaved=The file was successfully saved -FileUploaded=The file was successfully uploaded -FileTransferComplete=File(s) uploaded successfully -FilesDeleted=File(s) successfully deleted -FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. -NbOfEntries=No. of entries -GoToWikiHelpPage=Read online help (Internet access needed) -GoToHelpPage=Read help -DedicatedPageAvailable=There is a dedicated help page related to your current screen -HomePage=Home Page -RecordSaved=Record saved -RecordDeleted=Record deleted -RecordGenerated=Record generated -LevelOfFeature=Level of features -NotDefined=Not defined -DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is set to %s in configuration file conf.php.
    This means that the password database is external to Dolibarr, so changing this field may have no effect. -Administrator=Administrator -Undefined=Undefined -PasswordForgotten=Password forgotten? -NoAccount=No account? -SeeAbove=See above -HomeArea=Home -LastConnexion=Last login -PreviousConnexion=Previous login -PreviousValue=Previous value -ConnectedOnMultiCompany=Connected on environment -ConnectedSince=Connected since -AuthenticationMode=Authentication mode -RequestedUrl=Requested URL -DatabaseTypeManager=Database type manager -RequestLastAccessInError=Latest database access request error -ReturnCodeLastAccessInError=Return code for latest database access request error -InformationLastAccessInError=Information for latest database access request error -DolibarrHasDetectedError=Dolibarr has detected a technical error -YouCanSetOptionDolibarrMainProdToZero=You can read log file or set option $dolibarr_main_prod to '0' in your config file to get more information. -InformationToHelpDiagnose=This information can be useful for diagnostic purposes (you can set option $dolibarr_main_prod to '1' to remove such notices) -MoreInformation=More information -TechnicalInformation=Technical information -TechnicalID=Technical ID -LineID=Line ID -NotePublic=Note (public) -NotePrivate=Note (private) -PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. -DoTest=Test -ToFilter=Filter -NoFilter=No filter -WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance time. -yes=yes -Yes=Yes -no=no -No=No -All=All -Home=Home -Help=Help -OnlineHelp=Online help -PageWiki=Wiki page -MediaBrowser=Media browser -Always=Always -Never=Never -Under=under -Period=Period -PeriodEndDate=End date for period -SelectedPeriod=Selected period -PreviousPeriod=Previous period -Activate=Activate -Activated=Activated -Closed=Closed -Closed2=Closed -NotClosed=Not closed -Enabled=Enabled -Enable=Enable -Deprecated=Deprecated -Disable=Disable -Disabled=Disabled -Add=Add -AddLink=Add link -RemoveLink=Remove link -AddToDraft=Add to draft -Update=Update -Close=Close -CloseAs=Set status to -CloseBox=Remove widget from your dashboard -Confirm=Confirm -ConfirmSendCardByMail=Do you really want to send the content of this card by mail to %s? -Delete=Delete -Remove=Remove -Resiliate=Terminate -Cancel=Cancel -Modify=Modify -Edit=Edit -Validate=Validate -ValidateAndApprove=Validate and Approve -ToValidate=To validate -NotValidated=Not validated -Save=Save -SaveAs=Save As -SaveAndStay=Save and stay -SaveAndNew=Save and new -TestConnection=Test connection -ToClone=Clone -ConfirmCloneAsk=Are you sure you want to clone the object %s? -ConfirmClone=Choose the data you want to clone: -NoCloneOptionsSpecified=No data to clone defined. -Of=of -Go=Go -Run=Run -CopyOf=Copy of -Show=Show -Hide=Hide -ShowCardHere=Show card -Search=Search -SearchOf=Search +EmptySearchString=Bo'sh bo'lmagan qidiruv mezonlarini kiriting +EnterADateCriteria=Sana mezonlarini kiriting +NoRecordFound=Hech qanday yozuv topilmadi +NoRecordDeleted=Hech qanday yozuv o'chirilmagan +NotEnoughDataYet=Ma'lumot etarli emas +NoError=Xato yo'q +Error=Xato +Errors=Xatolar +ErrorFieldRequired='%s' maydoni kerak +ErrorFieldFormat='%s' maydonining qiymati yomon +ErrorFileDoesNotExists=%s fayli mavjud emas +ErrorFailedToOpenFile=%s faylini ochib bo'lmadi +ErrorCanNotCreateDir=Dir %s yaratib bo'lmadi +ErrorCanNotReadDir=Dir %s o'qib bo'lmadi +ErrorConstantNotDefined=Parametr %s aniqlanmagan +ErrorUnknown=Noma'lum xato +ErrorSQL=SQL xatosi +ErrorLogoFileNotFound=Logotip fayli '%s' topilmadi +ErrorGoToGlobalSetup=Buni tuzatish uchun "Kompaniya / tashkilot" sozlamalariga o'ting +ErrorGoToModuleSetup=Buni tuzatish uchun Modulni sozlashga o'ting +ErrorFailedToSendMail=Pochta yuborilmadi (jo'natuvchi = %s, qabul qiluvchi = %s) +ErrorFileNotUploaded=Fayl yuklanmadi. Hajmi ruxsat etilgan maksimal qiymatdan oshmaganligini, diskda bo'sh joy mavjudligini va ushbu katalogda bir xil nomdagi fayl mavjud emasligini tekshiring. +ErrorInternalErrorDetected=Xato aniqlandi +ErrorWrongHostParameter=Xost parametri noto'g'ri +ErrorYourCountryIsNotDefined=Sizning mamlakatingiz aniqlanmagan. Home-Setup-Edit-ga o'ting va formani qayta joylashtiring. +ErrorRecordIsUsedByChild=Ushbu yozuv o'chirilmadi. Ushbu yozuvdan kamida bitta bolalar yozuvlari foydalanadi. +ErrorWrongValue=Noto'g'ri qiymat +ErrorWrongValueForParameterX=%s parametri uchun noto'g'ri qiymat +ErrorNoRequestInError=Xatolik yo'q +ErrorServiceUnavailableTryLater=Ayni paytda xizmat mavjud emas. Keyinroq qayta urinib ko'ring. +ErrorDuplicateField=Noyob maydonda takroriy qiymat +ErrorSomeErrorWereFoundRollbackIsDone=Ba'zi xatolar topildi. O'zgarishlar orqaga qaytarildi. +ErrorConfigParameterNotDefined= %s parametri conf.php konfiguratsiya faylida aniqlanmagan. +ErrorCantLoadUserFromDolibarrDatabase=Dolibarr ma'lumotlar bazasida %s foydalanuvchisi topilmadi. +ErrorNoVATRateDefinedForSellerCountry=Xato, '%s' mamlakati uchun QQS stavkalari aniqlanmagan. +ErrorNoSocialContributionForSellerCountry=Xato, '%s' mamlakati uchun ijtimoiy / soliq soliqlari turi aniqlanmagan. +ErrorFailedToSaveFile=Xato, faylni saqlab bo'lmadi. +ErrorCannotAddThisParentWarehouse=Siz allaqachon mavjud bo'lgan omborning farzandi bo'lgan ota-ona omborini qo'shishga harakat qilyapsiz +MaxNbOfRecordPerPage=Maks. bir varaqdagi yozuvlar soni +NotAuthorized=Buning uchun sizning vakolatingiz yo'q. +SetDate=Sana belgilang +SelectDate=Sana tanlang +SeeAlso=Shuningdek qarang: %s +SeeHere=Bu erga qarang +ClickHere=bu yerni bosing +Here=Bu yerda +Apply=Qo'llash +BackgroundColorByDefault=Standart fon rangi +FileRenamed=Fayl qayta nomlandi +FileGenerated=Fayl muvaffaqiyatli yaratildi +FileSaved=Fayl muvaffaqiyatli saqlandi +FileUploaded=Fayl yuklandi +FileTransferComplete=Fayl (lar) muvaffaqiyatli yuklandi +FilesDeleted=Fayl (lar) muvaffaqiyatli o'chirildi +FileWasNotUploaded=Fayl biriktirish uchun tanlangan, ammo hali yuklanmagan. Buning uchun "Faylni biriktirish" tugmasini bosing. +NbOfEntries=Yozuvlar soni +GoToWikiHelpPage=Onlayn yordamni o'qing (Internetga kirish kerak) +GoToHelpPage=Yordamni o'qing +DedicatedPageAvailable=Joriy ekraningiz bilan bog'liq maxsus yordam sahifasi mavjud +HomePage=Bosh sahifa +RecordSaved=Yozuv saqlandi +RecordDeleted=Yozuv o'chirildi +RecordGenerated=Yozuv yaratildi +LevelOfFeature=Xususiyatlar darajasi +NotDefined=Belgilanmagan +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr autentifikatsiya qilish rejimi conf.php konfiguratsiya faylida %s ga o'rnatildi.
    bu shuni anglatadiki, parol ma'lumotlar bazasi Dolibarr uchun tashqi, shuning uchun bu maydonni o'zgartirish hech qanday ta'sir ko'rsatmasligi mumkin. +Administrator=Ma'mur +Undefined=Aniqlanmagan +PasswordForgotten=Parol unutdingizmi? +NoAccount=Hisob yo'qmi? +SeeAbove=Yuqoriga qarang +HomeArea=Uy +LastConnexion=Oxirgi kirish +PreviousConnexion=Oldingi kirish +PreviousValue=Oldingi qiymat +ConnectedOnMultiCompany=Atrof muhitga ulangan +ConnectedSince=Beri ulangan +AuthenticationMode=Autentifikatsiya rejimi +RequestedUrl=So‘ralgan URL +DatabaseTypeManager=Ma'lumotlar bazasi turi menejeri +RequestLastAccessInError=Ma'lumotlar bazasiga kirish uchun so'nggi so'rov xatosi +ReturnCodeLastAccessInError=So'nggi ma'lumotlar bazasiga kirish uchun so'rov xatosi uchun qaytarish kodi +InformationLastAccessInError=So'nggi ma'lumotlar bazasiga kirish so'rovining xatosi haqida ma'lumot +DolibarrHasDetectedError=Dolibarr texnik xatolikni aniqladi +YouCanSetOptionDolibarrMainProdToZero=Qo'shimcha ma'lumot olish uchun log faylini o'qishingiz yoki konfiguratsiya faylingizda $ dolibarr_main_prod parametrini '0' ga o'rnatishingiz mumkin. +InformationToHelpDiagnose=Ushbu ma'lumot diagnostika maqsadida foydali bo'lishi mumkin (bunday xabarnomalarni olib tashlash uchun $ dolibarr_main_prod parametrini '1' ga o'rnatishingiz mumkin) +MoreInformation=Qo'shimcha ma'lumot +TechnicalInformation=Texnik ma'lumotlar +TechnicalID=Texnik guvohnoma +LineID=Qator identifikatori +NotePublic=Izoh (ommaviy) +NotePrivate=Izoh (xususiy) +PrecisionUnitIsLimitedToXDecimals=Dolibarr birlik narxlarining aniqligini %s o'nliklariga cheklash uchun o'rnatildi. +DoTest=Sinov +ToFilter=Filtr +NoFilter=Filtr yo‘q +WarningYouHaveAtLeastOneTaskLate=Ogohlantirish, sizda tolerantlik vaqtidan oshib ketgan kamida bitta element mavjud. +yes=ha +Yes=Ha +no=yo'q +No=Yo'q +All=Hammasi +Home=Uy +Help=Yordam bering +OnlineHelp=Onlayn yordam +PageWiki=Wiki sahifasi +MediaBrowser=Media-brauzer +Always=Har doim +Never=Hech qachon +Under=ostida +Period=Davr +PeriodEndDate=Davr uchun tugash sanasi +SelectedPeriod=Tanlangan davr +PreviousPeriod=Oldingi davr +Activate=Faollashtirish +Activated=Faollashtirildi +Closed=Yopiq +Closed2=Yopiq +NotClosed=Yopiq emas +Enabled=Yoqilgan +Enable=Yoqish +Deprecated=Eskirgan +Disable=O'chirish +Disabled=Nogiron +Add=Qo'shish +AddLink=Havolani qo'shish +RemoveLink=Havolani olib tashlash +AddToDraft=Qoralamaga qo'shing +Update=Yangilash +Close=Yoping +CloseAs=Maqomni belgilang +CloseBox=Vidjetni boshqaruv panelidan olib tashlang +Confirm=Tasdiqlang +ConfirmSendCardByMail=Siz haqiqatan ham ushbu karta tarkibini %s manziliga pochta orqali yuborishni xohlaysizmi? +Delete=O'chirish +Remove=Olib tashlash +Resiliate=Tugatish +Cancel=Bekor qilish +Modify=O'zgartirish +Edit=Tahrirlash +Validate=Tasdiqlash +ValidateAndApprove=Tasdiqlang va tasdiqlang +ToValidate=Tasdiqlash uchun +NotValidated=Tasdiqlanmagan +Save=Saqlash +SaveAs=Saqlash +SaveAndStay=Saqlang va qoling +SaveAndNew=Saqlang va yangi +TestConnection=Sinov aloqasi +ToClone=Klon +ConfirmCloneAsk= %s ob'ektini klonlashni xohlaysizmi? +ConfirmClone=Klonlash uchun kerakli ma'lumotlarni tanlang: +NoCloneOptionsSpecified=Klonlash uchun ma'lumot yo'q. +Of=ning +Go=Boring +Run=Yugurish +CopyOf=Nusxasi +Show=Ko'rsatish +Hide=Yashirish +ShowCardHere=Kartani ko'rsatish +Search=Qidirmoq +SearchOf=Qidirmoq SearchMenuShortCut=Ctrl + shift + f -QuickAdd=Quick add +QuickAdd=Tez qo'shish QuickAddMenuShortCut=Ctrl + shift + l -Valid=Valid -Approve=Approve -Disapprove=Disapprove -ReOpen=Re-Open -Upload=Upload -ToLink=Link -Select=Select -SelectAll=Select all -Choose=Choose -Resize=Resize -ResizeOrCrop=Resize or Crop -Recenter=Recenter -Author=Author -User=User -Users=Users -Group=Group -Groups=Groups -NoUserGroupDefined=No user group defined -Password=Password -PasswordRetype=Retype your password -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. -Name=Name -NameSlashCompany=Name / Company -Person=Person -Parameter=Parameter -Parameters=Parameters -Value=Value -PersonalValue=Personal value -NewObject=New %s -NewValue=New value -OldValue=Old value %s -CurrentValue=Current value -Code=Code -Type=Type -Language=Language -MultiLanguage=Multi-language -Note=Note -Title=Title -Label=Label -RefOrLabel=Ref. or label -Info=Log -Family=Family -Description=Description -Designation=Description -DescriptionOfLine=Description of line -DateOfLine=Date of line -DurationOfLine=Duration of line -Model=Doc template -DefaultModel=Default doc template -Action=Event -About=About -Number=Number -NumberByMonth=Total reports by month -AmountByMonth=Amount by month -Numero=Number -Limit=Limit -Limits=Limits -Logout=Logout -NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s -Connection=Login -Setup=Setup -Alert=Alert -MenuWarnings=Alerts -Previous=Previous -Next=Next -Cards=Cards -Card=Card -Now=Now -HourStart=Start hour -Deadline=Deadline +Valid=Yaroqli +Approve=Tasdiqlash +Disapprove=Tasdiqlamayman +ReOpen=Qayta oching +Upload=Yuklash +ToLink=Havola +Select=Tanlang +SelectAll=Hammasini belgilash +Choose=Tanlang +Resize=O'lchamini o'zgartirish +ResizeOrCrop=O'lchamini o'zgartirish yoki kesish +Recenter=Keyingi +Author=Muallif +User=Foydalanuvchi +Users=Foydalanuvchilar +Group=Guruh +Groups=Guruhlar +NoUserGroupDefined=Hech qanday foydalanuvchi guruhi aniqlanmagan +Password=Parol +PasswordRetype=Parolingizni qayta kiriting +NoteSomeFeaturesAreDisabled=Ushbu namoyishda ko'plab funktsiyalar / modullar o'chirilganligini unutmang. +Name=Ism +NameSlashCompany=Ism / kompaniya +Person=Shaxs +Parameter=Parametr +Parameters=Parametrlar +Value=Qiymat +PersonalValue=Shaxsiy qiymat +NewObject=Yangi %s +NewValue=Yangi qiymat +OldValue=Eski qiymat %s +CurrentValue=Joriy qiymat +Code=Kod +Type=Turi +Language=Til +MultiLanguage=Ko'p tilli +Note=Eslatma +Title=Sarlavha +Label=Yorliq +RefOrLabel=Ref. yoki yorliq +Info=Kirish +Family=Oila +Description=Tavsif +Designation=Tavsif +DescriptionOfLine=Chiziq tavsifi +DateOfLine=Qator sana +DurationOfLine=Qator davomiyligi +Model=Hujjat shabloni +DefaultModel=Standart hujjat shabloni +Action=Tadbir +About=Haqida +Number=Raqam +NumberByMonth=Jami hisobotlar oylar bo'yicha +AmountByMonth=Oyga miqdori +Numero=Raqam +Limit=Cheklov +Limits=Cheklovlar +Logout=Chiqish +NoLogoutProcessWithAuthMode= %s autentifikatsiya qilish rejimida qo'llaniladigan o'chirish xususiyati yo'q +Connection=Kirish +Setup=Sozlash; o'rnatish +Alert=Ogohlantirish +MenuWarnings=Ogohlantirishlar +Previous=Oldingi +Next=Keyingi +Cards=Kartalar +Card=Karta +Now=Endi +HourStart=Boshlanish soati +Deadline=Topshirish muddati; tugatish muddati Date=Date -DateAndHour=Date and hour -DateToday=Today's date -DateReference=Reference date -DateStart=Start date -DateEnd=End date -DateCreation=Creation date -DateCreationShort=Creat. date -IPCreation=Creation IP -DateModification=Modification date -DateModificationShort=Modif. date -IPModification=Modification IP -DateLastModification=Latest modification date -DateValidation=Validation date -DateSigning=Signing date -DateClosing=Closing date -DateDue=Due date -DateValue=Value date -DateValueShort=Value date -DateOperation=Operation date -DateOperationShort=Oper. Date -DateLimit=Limit date -DateRequest=Request date -DateProcess=Process date -DateBuild=Report build date -DatePayment=Date of payment -DateApprove=Approving date -DateApprove2=Approving date (second approval) -RegistrationDate=Registration date -UserCreation=Creation user -UserModification=Modification user -UserValidation=Validation user -UserCreationShort=Creat. user -UserModificationShort=Modif. user -UserValidationShort=Valid. user -DurationYear=year -DurationMonth=month -DurationWeek=week -DurationDay=day -DurationYears=years -DurationMonths=months -DurationWeeks=weeks -DurationDays=days -Year=Year -Month=Month -Week=Week -WeekShort=Week -Day=Day -Hour=Hour -Minute=Minute -Second=Second -Years=Years -Months=Months -Days=Days -days=days -Hours=Hours -Minutes=Minutes -Seconds=Seconds -Weeks=Weeks -Today=Today -Yesterday=Yesterday -Tomorrow=Tomorrow -Morning=Morning -Afternoon=Afternoon +DateAndHour=Sana va soat +DateToday=Bugungi sana +DateReference=Malumot sanasi +DateStart=Boshlanish vaqti +DateEnd=Tugash sanasi +DateCreation=Yaratilish sanasi +DateCreationShort=Yaratuvchi. sana +IPCreation=IP yaratish +DateModification=O'zgartirish sanasi +DateModificationShort=Modif. sana +IPModification=O'zgartirish IP +DateLastModification=Oxirgi o'zgartirish sanasi +DateValidation=Tasdiqlash sanasi +DateSigning=Imzolangan sana +DateClosing=Tugatish sanasi +DateDue=Muddati +DateValue=Qiymat sanasi +DateValueShort=Qiymat sanasi +DateOperation=Ishlash sanasi +DateOperationShort=Operatsiya. Sana +DateLimit=Cheklov sanasi +DateRequest=Talab qilingan sana +DateProcess=Jarayon sanasi +DateBuild=Hisobotni tuzish sanasi +DatePayment=To'lov sanasi +DateApprove=Tasdiqlangan sana +DateApprove2=Tasdiqlangan sana (ikkinchi tasdiqlash) +RegistrationDate=Ro'yxatdan o'tish sanasi +UserCreation=Yaratilish foydalanuvchisi +UserModification=O'zgartirish foydalanuvchisi +UserValidation=Tasdiqlash foydalanuvchisi +UserCreationShort=Yaratuvchi. foydalanuvchi +UserModificationShort=Modif. foydalanuvchi +UserValidationShort=Yaroqli. foydalanuvchi +DurationYear=yil +DurationMonth=oy +DurationWeek=hafta +DurationDay=kun +DurationYears=yil +DurationMonths=oylar +DurationWeeks=hafta +DurationDays=kunlar +Year=Yil +Month=Oy +Week=Hafta +WeekShort=Hafta +Day=Kun +Hour=Soat +Minute=Daqiqa +Second=Ikkinchi +Years=Yillar +Months=Oylar +Days=Kunlar +days=kunlar +Hours=Soatlar +Minutes=Daqiqalar +Seconds=Soniyalar +Weeks=Haftalar +Today=Bugun +Yesterday=Kecha +Tomorrow=Ertaga +Morning=Tong +Afternoon=Peshindan keyin Quadri=Quadri -MonthOfDay=Month of the day -DaysOfWeek=Days of week +MonthOfDay=Kunning oyi +DaysOfWeek=Haftaning kunlari HourShort=H MinuteShort=mn -Rate=Rate -CurrencyRate=Currency conversion rate -UseLocalTax=Include tax -Bytes=Bytes -KiloBytes=Kilobytes -MegaBytes=Megabytes -GigaBytes=Gigabytes -TeraBytes=Terabytes -UserAuthor=Ceated by -UserModif=Updated by +Rate=Tezlik +CurrencyRate=Valyutani konvertatsiya qilish darajasi +UseLocalTax=Soliqni kiriting +Bytes=Bayt +KiloBytes=Kilobayt +MegaBytes=Megabayt +GigaBytes=Gigabayt +TeraBytes=Terabayt +UserAuthor=Tomonidan belgilangan +UserModif=Tomonidan yangilangan b=b. Kb=Kb Mb=Mb Gb=Gb Tb=Tb -Cut=Cut -Copy=Copy -Paste=Paste -Default=Default -DefaultValue=Default value -DefaultValues=Default values/filters/sorting -Price=Price -PriceCurrency=Price (currency) -UnitPrice=Unit price -UnitPriceHT=Unit price (excl.) -UnitPriceHTCurrency=Unit price (excl.) (currency) -UnitPriceTTC=Unit price +Cut=Kesilgan +Copy=Nusxalash +Paste=Yapıştır +Default=Odatiy +DefaultValue=Standart qiymat +DefaultValues=Standart qiymatlar / filtrlar / saralash +Price=Narx +PriceCurrency=Narx (valyuta) +UnitPrice=Donasining narxi +UnitPriceHT=Birlik narxi (bundan mustasno) +UnitPriceHTCurrency=Birlik narxi (bundan mustasno) (valyuta) +UnitPriceTTC=Donasining narxi PriceU=U.P. -PriceUHT=U.P. (net) -PriceUHTCurrency=U.P (net) (currency) -PriceUTTC=U.P. (inc. tax) -Amount=Amount -AmountInvoice=Invoice amount -AmountInvoiced=Amount invoiced -AmountInvoicedHT=Amount invoiced (excl. tax) -AmountInvoicedTTC=Amount invoiced (inc. tax) -AmountPayment=Payment amount -AmountHTShort=Amount (excl.) -AmountTTCShort=Amount (inc. tax) -AmountHT=Amount (excl. tax) -AmountTTC=Amount (inc. tax) -AmountVAT=Amount tax -MulticurrencyAlreadyPaid=Already paid, original currency -MulticurrencyRemainderToPay=Remain to pay, original currency -MulticurrencyPaymentAmount=Payment amount, original currency -MulticurrencyAmountHT=Amount (excl. tax), original currency -MulticurrencyAmountTTC=Amount (inc. of tax), original currency -MulticurrencyAmountVAT=Amount tax, original currency -MulticurrencySubPrice=Amount sub price multi currency -AmountLT1=Amount tax 2 -AmountLT2=Amount tax 3 -AmountLT1ES=Amount RE -AmountLT2ES=Amount IRPF -AmountTotal=Total amount -AmountAverage=Average amount -PriceQtyMinHT=Price quantity min. (excl. tax) -PriceQtyMinHTCurrency=Price quantity min. (excl. tax) (currency) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent -Percentage=Percentage -Total=Total -SubTotal=Subtotal -TotalHTShort=Total (excl.) -TotalHT100Short=Total 100%% (excl.) -TotalHTShortCurrency=Total (excl. in currency) -TotalTTCShort=Total (inc. tax) -TotalHT=Total (excl. tax) -TotalHTforthispage=Total (excl. tax) for this page -Totalforthispage=Total for this page -TotalTTC=Total (inc. tax) -TotalTTCToYourCredit=Total (inc. tax) to your credit -TotalVAT=Total tax -TotalVATIN=Total IGST -TotalLT1=Total tax 2 -TotalLT2=Total tax 3 -TotalLT1ES=Total RE -TotalLT2ES=Total IRPF -TotalLT1IN=Total CGST -TotalLT2IN=Total SGST -HT=Excl. tax -TTC=Inc. tax -INCVATONLY=Inc. VAT -INCT=Inc. all taxes -VAT=Sales tax +PriceUHT=U.P. (aniq) +PriceUHTCurrency=U.P (aniq) (valyuta) +PriceUTTC=U.P. (soliq bilan birga) +Amount=Miqdor +AmountInvoice=Hisob-faktura miqdori +AmountInvoiced=Hisob-kitob qilingan summa +AmountInvoicedHT=Hisob-faktura miqdori (soliqdan tashqari) +AmountInvoicedTTC=Hisob-faktura miqdori (soliq bilan birga) +AmountPayment=To'lov miqdori +AmountHTShort=Miqdor (bundan mustasno) +AmountTTCShort=Miqdor (soliq bilan birga) +AmountHT=Miqdor (soliqdan tashqari) +AmountTTC=Miqdor (soliq bilan birga) +AmountVAT=Miqdor solig'i +MulticurrencyAlreadyPaid=Allaqachon to'langan, asl valyuta +MulticurrencyRemainderToPay=To'lovda qoling, asl valyuta +MulticurrencyPaymentAmount=To'lov miqdori, asl valyuta +MulticurrencyAmountHT=Miqdor (soliqdan tashqari), asl valyuta +MulticurrencyAmountTTC=Miqdor (soliq inc.), Asl valyuta +MulticurrencyAmountVAT=Miqdor solig'i, asl valyuta +MulticurrencySubPrice=Miqdor sub-narx ko'p valyuta +AmountLT1=Miqdor solig'i 2 +AmountLT2=Miqdor solig'i 3 +AmountLT1ES=RE miqdori +AmountLT2ES=IRPF miqdori +AmountTotal=Umumiy hisob +AmountAverage=O'rtacha miqdor +PriceQtyMinHT=Narx miqdori min. (soliqdan tashqari) +PriceQtyMinHTCurrency=Narx miqdori min. (soliqdan tashqari) (valyuta) +PercentOfOriginalObject=Asl ob'ektning ulushi +AmountOrPercent=Miqdor yoki foiz +Percentage=Foiz +Total=Jami +SubTotal=Jami +TotalHTShort=Jami (bundan mustasno) +TotalHT100Short=Jami 100%% (bundan mustasno) +TotalHTShortCurrency=Jami (valyutadan tashqari) +TotalTTCShort=Jami (soliq bilan birga) +TotalHT=Jami (soliqdan tashqari) +TotalHTforthispage=Ushbu sahifa uchun jami (soliqdan tashqari) +Totalforthispage=Ushbu sahifa uchun jami +TotalTTC=Jami (soliq bilan birga) +TotalTTCToYourCredit=Sizning kreditingiz uchun jami (soliq) +TotalVAT=Jami soliq +TotalVATIN=Jami IGST +TotalLT1=Jami soliq 2 +TotalLT2=Jami soliq 3 +TotalLT1ES=Jami RE +TotalLT2ES=Jami IRPF +TotalLT1IN=Jami CGST +TotalLT2IN=Jami SGST +HT=Istisno. soliq +TTC=Inc soliq +INCVATONLY=QQS +INCT=Inc barcha soliqlar +VAT=Savdo solig'i VATIN=IGST -VATs=Sales taxes -VATINs=IGST taxes -LT1=Sales tax 2 -LT1Type=Sales tax 2 type -LT2=Sales tax 3 -LT2Type=Sales tax 3 type +VATs=Savdo soliqlari +VATINs=IGST soliqlari +LT1=Sotishdan olinadigan soliq 2 +LT1Type=Sotishdan olinadigan soliq 2 turi +LT2=Sotishdan olinadigan soliq 3 +LT2Type=Sotishdan olinadigan soliq 3 turi LT1ES=RE LT2ES=IRPF LT1IN=CGST LT2IN=SGST -LT1GC=Additionnal cents -VATRate=Tax Rate -VATCode=Tax Rate code -VATNPR=Tax Rate NPR -DefaultTaxRate=Default tax rate -Average=Average -Sum=Sum +LT1GC=Qo'shimcha sentlar +VATRate=Soliq stavkasi +RateOfTaxN=%s soliq stavkasi +VATCode=Soliq stavkasi kodi +VATNPR=Soliq stavkasi NPR +DefaultTaxRate=Standart soliq stavkasi +Average=O'rtacha +Sum=Jami Delta=Delta -StatusToPay=To pay -RemainToPay=Remain to pay -Module=Module/Application -Modules=Modules/Applications -Option=Option -Filters=Filters -List=List -FullList=Full list -FullConversation=Full conversation -Statistics=Statistics -OtherStatistics=Other statistics -Status=Status -Favorite=Favorite -ShortInfo=Info. +StatusToPay=To'lash uchun +RemainToPay=To'lashni davom eting +Module=Modul / dastur +Modules=Modullar / dasturlar +Option=Variant +Filters=Filtrlar +List=Ro'yxat +FullList=To'liq ro'yxat +FullConversation=To'liq suhbat +Statistics=Statistika +OtherStatistics=Boshqa statistika +Status=Holat +Favorite=Sevimli +ShortInfo=Ma'lumot. Ref=Ref. -ExternalRef=Ref. extern -RefSupplier=Ref. vendor -RefPayment=Ref. payment -CommercialProposalsShort=Commercial proposals -Comment=Comment -Comments=Comments -ActionsToDo=Events to do -ActionsToDoShort=To do -ActionsDoneShort=Done -ActionNotApplicable=Not applicable -ActionRunningNotStarted=To start -ActionRunningShort=In progress -ActionDoneShort=Finished -ActionUncomplete=Incomplete -LatestLinkedEvents=Latest %s linked events -CompanyFoundation=Company/Organization -Accountant=Accountant -ContactsForCompany=Contacts for this third party -ContactsAddressesForCompany=Contacts/addresses for this third party -AddressesForCompany=Addresses for this third party -ActionsOnCompany=Events for this third party -ActionsOnContact=Events for this contact/address -ActionsOnContract=Events for this contract -ActionsOnMember=Events about this member -ActionsOnProduct=Events about this product -NActionsLate=%s late -ToDo=To do -Completed=Completed -Running=In progress -RequestAlreadyDone=Request already recorded -Filter=Filter -FilterOnInto=Search criteria '%s' into fields %s -RemoveFilter=Remove filter -ChartGenerated=Chart generated -ChartNotGenerated=Chart not generated -GeneratedOn=Build on %s -Generate=Generate -Duration=Duration -TotalDuration=Total duration -Summary=Summary -DolibarrStateBoard=Database Statistics -DolibarrWorkBoard=Open Items -NoOpenedElementToProcess=No open element to process -Available=Available -NotYetAvailable=Not yet available -NotAvailable=Not available -Categories=Tags/categories -Category=Tag/category +ExternalRef=Ref. tashqi +RefSupplier=Ref. sotuvchi +RefPayment=Ref. to'lov +CommercialProposalsShort=Tijorat takliflari +Comment=Izoh +Comments=Izohlar +ActionsToDo=Amalga oshiriladigan tadbirlar +ActionsToDoShort=Qilmoq +ActionsDoneShort=Bajarildi +ActionNotApplicable=Qo'llanilmaydigan, qo'llab bo'lmaydigan +ActionRunningNotStarted=Boshlamoq +ActionRunningShort=Jarayonda +ActionDoneShort=Tugadi +ActionUncomplete=Tugallanmagan +LatestLinkedEvents=%s bilan bog'liq so'nggi voqealar +CompanyFoundation=Kompaniya / tashkilot +Accountant=Buxgalter +ContactsForCompany=Ushbu uchinchi tomon uchun aloqalar +ContactsAddressesForCompany=Ushbu uchinchi tomon uchun aloqa / manzillar +AddressesForCompany=Ushbu uchinchi tomon uchun manzillar +ActionsOnCompany=Ushbu uchinchi tomon uchun tadbirlar +ActionsOnContact=Ushbu aloqa / manzil uchun tadbirlar +ActionsOnContract=Ushbu shartnoma bo'yicha tadbirlar +ActionsOnMember=Ushbu a'zo haqidagi tadbirlar +ActionsOnProduct=Ushbu mahsulot haqidagi tadbirlar +NActionsLate=%s kech +ToDo=Qilmoq +Completed=Bajarildi +Running=Jarayonda +RequestAlreadyDone=So'rov allaqachon yozib olingan +Filter=Filtr +FilterOnInto=%s maydonlariga ' %s ' mezonlari +RemoveFilter=Filtrni olib tashlang +ChartGenerated=Diagramma yaratildi +ChartNotGenerated=Diagramma yaratilmadi +GeneratedOn=%s-da yarating +Generate=Yarating +Duration=Muddati +TotalDuration=Jami davomiyligi +Summary=Xulosa +DolibarrStateBoard=Ma'lumotlar bazasi statistikasi +DolibarrWorkBoard=Ochiq narsalar +NoOpenedElementToProcess=Qayta ishlash uchun ochiq element yo'q +Available=Mavjud +NotYetAvailable=Hali mavjud emas +NotAvailable=Mavjud emas +Categories=Teglar / toifalar +Category=Tag / kategoriya By=By -From=From -FromDate=From -FromLocation=From -to=to -To=to -ToDate=to -ToLocation=to -at=at -and=and -or=or -Other=Other -Others=Others -OtherInformations=Other information -Quantity=Quantity -Qty=Qty -ChangedBy=Changed by -ApprovedBy=Approved by -ApprovedBy2=Approved by (second approval) -Approved=Approved -Refused=Refused -ReCalculate=Recalculate -ResultKo=Failure -Reporting=Reporting -Reportings=Reporting -Draft=Draft -Drafts=Drafts -StatusInterInvoiced=Invoiced -Validated=Validated -ValidatedToProduce=Validated (To produce) -Opened=Open -OpenAll=Open (All) -ClosedAll=Closed (All) -New=New -Discount=Discount -Unknown=Unknown -General=General -Size=Size -OriginalSize=Original size -Received=Received -Paid=Paid -Topic=Subject -ByCompanies=By third parties -ByUsers=By user -Links=Links -Link=Link -Rejects=Rejects -Preview=Preview -NextStep=Next step -Datas=Data +From=Kimdan +FromDate=Kimdan +FromLocation=Kimdan +to=ga +To=ga +ToDate=ga +ToLocation=ga +at=da +and=va +or=yoki +Other=Boshqalar +Others=Boshqalar +OtherInformations=Boshqa ma'lumotlar +Quantity=Miqdor +Qty=Miqdor +ChangedBy=O'zgartirilgan +ApprovedBy=Tomonidan tasdiqlangan +ApprovedBy2=Tasdiqlangan (ikkinchi tasdiq) +Approved=Tasdiqlangan +Refused=Rad etildi +ReCalculate=Qayta hisoblang +ResultKo=Xato +Reporting=Hisobot berish +Reportings=Hisobot berish +Draft=Qoralama +Drafts=Qoralamalar +StatusInterInvoiced=Hisob-faktura +Validated=Tasdiqlangan +ValidatedToProduce=Tasdiqlangan (ishlab chiqarish uchun) +Opened=Ochiq +OpenAll=Ochish (barchasi) +ClosedAll=Yopiq (barchasi) +New=Yangi +Discount=Chegirma +Unknown=Noma'lum +General=Umumiy +Size=Hajmi +OriginalSize=Asl o'lcham +Received=Qabul qildi +Paid=To'langan +Topic=Mavzu +ByCompanies=Uchinchi shaxslar tomonidan +ByUsers=Foydalanuvchi tomonidan +Links=Havolalar +Link=Havola +Rejects=Rad etadi +Preview=Oldindan ko'rish +NextStep=Keyingi qadam +Datas=Ma'lumotlar None=None NoneF=None -NoneOrSeveral=None or several -Late=Late -LateDesc=An item is defined as Delayed as per the system configuration in menu Home - Setup - Alerts. -NoItemLate=No late item -Photo=Picture -Photos=Pictures -AddPhoto=Add picture -DeletePicture=Picture delete -ConfirmDeletePicture=Confirm picture deletion? -Login=Login -LoginEmail=Login (email) -LoginOrEmail=Login or Email -CurrentLogin=Current login -EnterLoginDetail=Enter login details -January=January -February=February -March=March -April=April +NoneOrSeveral=Hech kim yoki bir nechtasi +Late=Kech +LateDesc=Bosh sahifa - O'rnatish - Ogohlantirishlar menyusidagi tizim konfiguratsiyasi bo'yicha element "Kechiktirilgan" deb belgilanadi. +NoItemLate=Kechiktirilgan narsa yo‘q +Photo=Rasm +Photos=Rasmlar +AddPhoto=Rasm qo'shish +DeletePicture=Rasmni o'chirish +ConfirmDeletePicture=Rasm o'chirilganligini tasdiqlaysizmi? +Login=Kirish +LoginEmail=Kirish (elektron pochta) +LoginOrEmail=Kirish yoki elektron pochta +CurrentLogin=Joriy kirish +EnterLoginDetail=Kirish tafsilotlarini kiriting +January=Yanvar +February=fevral +March=Mart +April=Aprel May=May -June=June -July=July -August=August -September=September -October=October -November=November -December=December -Month01=January -Month02=February -Month03=March -Month04=April +June=Iyun +July=Iyul +August=Avgust +September=Sentyabr +October=Oktyabr +November=Noyabr +December=Dekabr +Month01=Yanvar +Month02=fevral +Month03=Mart +Month04=Aprel Month05=May -Month06=June -Month07=July -Month08=August -Month09=September -Month10=October -Month11=November -Month12=December -MonthShort01=Jan -MonthShort02=Feb +Month06=Iyun +Month07=Iyul +Month08=Avgust +Month09=Sentyabr +Month10=Oktyabr +Month11=Noyabr +Month12=Dekabr +MonthShort01=Yanvar +MonthShort02=Fevral MonthShort03=Mar -MonthShort04=Apr +MonthShort04=Aprel MonthShort05=May -MonthShort06=Jun -MonthShort07=Jul -MonthShort08=Aug -MonthShort09=Sep -MonthShort10=Oct -MonthShort11=Nov -MonthShort12=Dec +MonthShort06=Iyun +MonthShort07=Iyul +MonthShort08=Avgust +MonthShort09=Sentyabr +MonthShort10=Oktyabr +MonthShort11=Noyabr +MonthShort12=Dekabr MonthVeryShort01=J MonthVeryShort02=F MonthVeryShort03=M @@ -612,523 +613,539 @@ MonthVeryShort08=A MonthVeryShort09=S MonthVeryShort10=O MonthVeryShort11=N -MonthVeryShort12=D -AttachedFiles=Attached files and documents -JoinMainDoc=Join main document +MonthVeryShort12=D. +AttachedFiles=Biriktirilgan fayllar va hujjatlar +JoinMainDoc=Asosiy hujjatga qo'shiling DateFormatYYYYMM=YYYY-MM DateFormatYYYYMMDD=YYYY-MM-DD -DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS -ReportName=Report name -ReportPeriod=Report period -ReportDescription=Description -Report=Report -Keyword=Keyword -Origin=Origin -Legend=Legend -Fill=Fill -Reset=Reset -File=File -Files=Files -NotAllowed=Not allowed -ReadPermissionNotAllowed=Read permission not allowed -AmountInCurrency=Amount in %s currency -Example=Example -Examples=Examples -NoExample=No example -FindBug=Report a bug -NbOfThirdParties=Number of third parties -NbOfLines=Number of lines -NbOfObjects=Number of objects -NbOfObjectReferers=Number of related items -Referers=Related items -TotalQuantity=Total quantity -DateFromTo=From %s to %s -DateFrom=From %s -DateUntil=Until %s -Check=Check -Uncheck=Uncheck -Internal=Internal -External=External -Internals=Internal -Externals=External -Warning=Warning -Warnings=Warnings -BuildDoc=Build Doc -Entity=Environment -Entities=Entities -CustomerPreview=Customer preview -SupplierPreview=Vendor preview -ShowCustomerPreview=Show customer preview -ShowSupplierPreview=Show vendor preview -RefCustomer=Ref. customer -InternalRef=Internal ref. -Currency=Currency -InfoAdmin=Information for administrators -Undo=Undo -Redo=Redo -ExpandAll=Expand all -UndoExpandAll=Undo expand -SeeAll=See all -Reason=Reason -FeatureNotYetSupported=Feature not yet supported -CloseWindow=Close window -Response=Response -Priority=Priority -SendByMail=Send by email -MailSentBy=Email sent by -NotSent=Not sent -TextUsedInTheMessageBody=Email body -SendAcknowledgementByMail=Send confirmation email -SendMail=Send email -Email=Email -NoEMail=No email -AlreadyRead=Already read -NotRead=Unread -NoMobilePhone=No mobile phone -Owner=Owner -FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. -Refresh=Refresh -BackToList=Back to list -BackToTree=Back to tree -GoBack=Go back -CanBeModifiedIfOk=Can be modified if valid -CanBeModifiedIfKo=Can be modified if not valid -ValueIsValid=Value is valid -ValueIsNotValid=Value is not valid -RecordCreatedSuccessfully=Record created successfully -RecordModifiedSuccessfully=Record modified successfully -RecordsModified=%s record(s) modified -RecordsDeleted=%s record(s) deleted -RecordsGenerated=%s record(s) generated -AutomaticCode=Automatic code -FeatureDisabled=Feature disabled -MoveBox=Move widget -Offered=Offered -NotEnoughPermissions=You don't have permission for this action -SessionName=Session name -Method=Method -Receive=Receive -CompleteOrNoMoreReceptionExpected=Complete or nothing more expected -ExpectedValue=Expected Value -ExpectedQty=Expected Qty -PartialWoman=Partial -TotalWoman=Total -NeverReceived=Never received -Canceled=Canceled -YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu Setup - Dictionaries -YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s -YouCanSetDefaultValueInModuleSetup=You can set the default value used when creating a new record in module setup -Color=Color -Documents=Linked files -Documents2=Documents -UploadDisabled=Upload disabled +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS +ReportName=Hisobot nomi +ReportPeriod=Hisobot davri +ReportDescription=Tavsif +Report=Hisobot +Keyword=Kalit so'z +Origin=Kelib chiqishi +Legend=Afsona +Fill=To'ldiring +Reset=Qayta o'rnatish +File=Fayl +Files=Fayllar +NotAllowed=Ruxsat berilmagan +ReadPermissionNotAllowed=O'qishga ruxsat berilmaydi +AmountInCurrency=Miqdor %s valyutasida +Example=Misol +Examples=Misollar +NoExample=Hech qanday misol +FindBug=Xato haqida xabar bering +NbOfThirdParties=Uchinchi shaxslar soni +NbOfLines=Qatorlar soni +NbOfObjects=Ob'ektlar soni +NbOfObjectReferers=Tegishli narsalar soni +Referers=Tegishli narsalar +TotalQuantity=Jami miqdor +DateFromTo=%s dan %s gacha +DateFrom=%s dan +DateUntil=%s gacha +Check=Tekshiring +Uncheck=Belgini olib tashlang +Internal=Ichki +External=Tashqi +Internals=Ichki +Externals=Tashqi +Warning=Ogohlantirish! +Warnings=Ogohlantirishlar +BuildDoc=Hujjatni yaratish +Entity=Atrof muhit +Entities=Korxonalar +CustomerPreview=Mijozlarni oldindan ko'rish +SupplierPreview=Sotuvchini oldindan ko'rish +ShowCustomerPreview=Mijozni oldindan ko'rishni ko'rsatish +ShowSupplierPreview=Sotuvchini oldindan ko'rishni ko'rsatish +RefCustomer=Ref. mijoz +InternalRef=Ichki ref. +Currency=Valyuta +InfoAdmin=Ma'murlar uchun ma'lumot +Undo=Bekor qilish +Redo=Qayta qilish +ExpandAll=Barchasini kengaytiring +UndoExpandAll=Kengaytirishni bekor qilish +SeeAll=Barchasini ko'ring +Reason=Sabab +FeatureNotYetSupported=Xususiyat hali qo'llab-quvvatlanmaydi +CloseWindow=Oynani yopish +Response=Javob +Priority=Afzallik +SendByMail=Elektron pochta orqali yuboring +MailSentBy=Elektron pochta orqali yuborilgan +NotSent=Yuborilmadi +TextUsedInTheMessageBody=Elektron pochta qutisi +SendAcknowledgementByMail=Tasdiqlovchi elektron pochta xabarini yuboring +SendMail=Elektron pochta xabarini yuboring +Email=Elektron pochta +NoEMail=Elektron pochta yo'q +AlreadyRead=O'qilgan +NotRead=O'qilmagan +NoMobilePhone=Mobil telefon yo'q +Owner=Egasi +FollowingConstantsWillBeSubstituted=Quyidagi doimiylar tegishli qiymat bilan almashtiriladi. +Refresh=Yangilang +BackToList=Ro'yxatga qaytish +BackToTree=Daraxtga qaytish +GoBack=Ortga qaytish +CanBeModifiedIfOk=Agar haqiqiy bo'lsa o'zgartirilishi mumkin +CanBeModifiedIfKo=Agar yaroqsiz bo'lsa o'zgartirilishi mumkin +ValueIsValid=Qiymat haqiqiydir +ValueIsNotValid=Qiymat yaroqsiz +RecordCreatedSuccessfully=Yozuv muvaffaqiyatli yaratildi +RecordModifiedSuccessfully=Yozuv muvaffaqiyatli o'zgartirildi +RecordsModified=%s yozuvlari o'zgartirildi +RecordsDeleted=%s yozuvlari o'chirildi +RecordsGenerated=%s yozuvlari yaratildi +AutomaticCode=Avtomatik kod +FeatureDisabled=Funktsiya o'chirilgan +MoveBox=Vidjetni ko'chirish +Offered=Taklif qilingan +NotEnoughPermissions=Sizda bu harakat uchun ruxsat yo'q +SessionName=Sessiya nomi +Method=Usul +Receive=Qabul qiling +CompleteOrNoMoreReceptionExpected=To'liq yoki boshqa hech narsa kutilmaydi +ExpectedValue=Kutilayotgan qiymat +ExpectedQty=Kutilayotgan son +PartialWoman=Qisman +TotalWoman=Jami +NeverReceived=Hech qachon qabul qilinmagan +Canceled=Bekor qilindi +YouCanChangeValuesForThisListFromDictionarySetup=Sozlamalar - Lug'atlar menyusidan ushbu ro'yxat uchun qiymatlarni o'zgartirishingiz mumkin +YouCanChangeValuesForThisListFrom=Siz ushbu ro'yxat uchun qiymatlarni %s menyusidan o'zgartirishingiz mumkin +YouCanSetDefaultValueInModuleSetup=Modulni o'rnatishda yangi yozuv yaratishda foydalaniladigan standart qiymatni belgilashingiz mumkin +Color=Rang +Documents=Bog'langan fayllar +Documents2=Hujjatlar +UploadDisabled=Yuklash o'chirilgan MenuAccountancy=Accounting -MenuECM=Documents +MenuECM=Hujjatlar MenuAWStats=AWStats -MenuMembers=Members -MenuAgendaGoogle=Google agenda -MenuTaxesAndSpecialExpenses=Taxes | Special expenses -ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb -NoFileFound=No documents uploaded -CurrentUserLanguage=Current language -CurrentTheme=Current theme -CurrentMenuManager=Current menu manager -Browser=Browser -Layout=Layout -Screen=Screen -DisabledModules=Disabled modules -For=For -ForCustomer=For customer -Signature=Signature -DateOfSignature=Date of signature -HidePassword=Show command with password hidden -UnHidePassword=Show real command with clear password -Root=Root -RootOfMedias=Root of public medias (/medias) -Informations=Information -Page=Page -Notes=Notes -AddNewLine=Add new line -AddFile=Add file -FreeZone=Free-text product -FreeLineOfType=Free-text item, type: -CloneMainAttributes=Clone object with its main attributes -ReGeneratePDF=Re-generate PDF -PDFMerge=PDF Merge -Merge=Merge -DocumentModelStandardPDF=Standard PDF template -PrintContentArea=Show page to print main content area -MenuManager=Menu manager -WarningYouAreInMaintenanceMode=Warning, you are in maintenance mode: only login %s is allowed to use the application in this mode. -CoreErrorTitle=System error -CoreErrorMessage=Sorry, an error occurred. Contact your system administrator to check the logs or disable $dolibarr_main_prod=1 to get more information. -CreditCard=Credit card -ValidatePayment=Validate payment -CreditOrDebitCard=Credit or debit card -FieldsWithAreMandatory=Fields with %s are mandatory -FieldsWithIsForPublic=Fields with %s are shown in public list of members. If you don't want this, uncheck the "public" box. -AccordingToGeoIPDatabase=(according to GeoIP conversion) -Line=Line -NotSupported=Not supported -RequiredField=Required field -Result=Result -ToTest=Test -ValidateBefore=Item must be validated before using this feature -Visibility=Visibility -Totalizable=Totalizable -TotalizableDesc=This field is totalizable in list -Private=Private -Hidden=Hidden -Resources=Resources -Source=Source -Prefix=Prefix -Before=Before -After=After -IPAddress=IP address -Frequency=Frequency -IM=Instant messaging -NewAttribute=New attribute -AttributeCode=Attribute code -URLPhoto=URL of photo/logo -SetLinkToAnotherThirdParty=Link to another third party -LinkTo=Link to -LinkToProposal=Link to proposal -LinkToOrder=Link to order -LinkToInvoice=Link to invoice -LinkToTemplateInvoice=Link to template invoice -LinkToSupplierOrder=Link to purchase order -LinkToSupplierProposal=Link to vendor proposal -LinkToSupplierInvoice=Link to vendor invoice -LinkToContract=Link to contract -LinkToIntervention=Link to intervention -LinkToTicket=Link to ticket -CreateDraft=Create draft -SetToDraft=Back to draft -ClickToEdit=Click to edit -ClickToRefresh=Click to refresh -EditWithEditor=Edit with CKEditor -EditWithTextEditor=Edit with Text editor -EditHTMLSource=Edit HTML Source -ObjectDeleted=Object %s deleted -ByCountry=By country -ByTown=By town -ByDate=By date -ByMonthYear=By month/year -ByYear=By year -ByMonth=By month -ByDay=By day -BySalesRepresentative=By sales representative -LinkedToSpecificUsers=Linked to a particular user contact -NoResults=No results -AdminTools=Admin Tools -SystemTools=System tools -ModulesSystemTools=Modules tools -Test=Test +MenuMembers=A'zolar +MenuAgendaGoogle=Google kun tartibi +MenuTaxesAndSpecialExpenses=Soliqlar | Maxsus xarajatlar +ThisLimitIsDefinedInSetup=Dolibarr limiti (menyuda uyni sozlash-xavfsizlik): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limiti (Menyu %s): %s Kb, PHP limit (Param %s): %s Kb +NoFileFound=Hech qanday hujjat yuklanmadi +CurrentUserLanguage=Joriy til +CurrentTheme=Joriy mavzu +CurrentMenuManager=Amaldagi menyu menejeri +Browser=Brauzer +Layout=Maket +Screen=Ekran +DisabledModules=O'chirilgan modullar +For=Uchun +ForCustomer=Mijoz uchun +Signature=Imzo +DateOfSignature=Imzo qo'yilgan sana +HidePassword=Parolni yashirgan holda buyruqni ko'rsatish +UnHidePassword=Haqiqiy buyruqni aniq parol bilan ko'rsating +Root=Ildiz +RootOfMedias=Ommaviy medianing ildizi (/ medias) +Informations=Ma `lumot +Page=Sahifa +Notes=Izohlar +AddNewLine=Yangi qator qo'shing +AddFile=Fayl qo'shish +FreeZone=Bepul matnli mahsulot +FreeLineOfType=Bepul matnli element, turi: +CloneMainAttributes=Ob'ektni asosiy atributlari bilan klonlash +ReGeneratePDF=PDF-ni qayta yarating +PDFMerge=PDF-ni birlashtirish +Merge=Birlashtirish +DocumentModelStandardPDF=Standart PDF shablon +PrintContentArea=Asosiy tarkib maydonini chop etish uchun sahifani ko'rsatish +MenuManager=Menyu menejeri +WarningYouAreInMaintenanceMode=Ogohlantirish, siz parvarishlash rejimidasiz: dasturdan faqat ushbu rejimda kirish uchun %s ruxsat etiladi. +CoreErrorTitle=Tizim xatosi +CoreErrorMessage=Kechirasiz, xato yuz berdi. Kundaliklarni tekshirish uchun tizim ma'muringizga murojaat qiling yoki qo'shimcha ma'lumot olish uchun $ dolibarr_main_prod = 1-ni o'chirib qo'ying. +CreditCard=Kredit kartasi +ValidatePayment=To'lovni tasdiqlang +CreditOrDebitCard=Kredit yoki debet karta +FieldsWithAreMandatory= %s bo'lgan maydonlar majburiydir +FieldsWithIsForPublic= %s bo'lgan maydonlar a'zolarning ochiq ro'yxatida ko'rsatilgan. Agar buni xohlamasangiz, "umumiy" katakchasini olib tashlang. +AccordingToGeoIPDatabase=(GeoIP konversiyasiga muvofiq) +Line=Chiziq +NotSupported=Qo'llab-quvvatlanmaydi +RequiredField=Majburiy maydon +Result=Natija +ToTest=Sinov +ValidateBefore=Ushbu xususiyatni ishlatishdan oldin mahsulot tasdiqlanishi kerak +Visibility=Ko'rinish +Totalizable=Umumlashtirilishi mumkin +TotalizableDesc=Ushbu maydon ro'yxatda umumlashtirilishi mumkin +Private=Xususiy +Hidden=Yashirin +Resources=Resurslar +Source=Manba +Prefix=Prefiks +Before=Oldin +After=Keyin +IPAddress=IP-manzil +Frequency=Chastotani +IM=Tezkor xabar almashish +NewAttribute=Yangi atribut +AttributeCode=Xususiyat kodi +URLPhoto=Surat / logotipning URL manzili +SetLinkToAnotherThirdParty=Boshqa uchinchi tomon bilan bog'lanish +LinkTo=Ga havola +LinkToProposal=Taklifga havola +LinkToOrder=Buyurtma uchun havola +LinkToInvoice=Hisob-fakturaga havola +LinkToTemplateInvoice=Shablon hisob-fakturasiga havola +LinkToSupplierOrder=Xarid qilish buyurtmasiga havola +LinkToSupplierProposal=Yetkazib beruvchining taklifiga havola +LinkToSupplierInvoice=Sotuvchi fakturasiga havola +LinkToContract=Shartnomaga havola +LinkToIntervention=Aralashuvga havola +LinkToTicket=Chiptaga havola +CreateDraft=Qoralama yarating +SetToDraft=Qoralamaga qaytish +ClickToEdit=Tahrirlash uchun bosing +ClickToRefresh=Yangilash uchun bosing +EditWithEditor=CKEditor bilan tahrirlash +EditWithTextEditor=Matn muharriri bilan tahrirlash +EditHTMLSource=HTML manbasini tahrirlash +ObjectDeleted=%s ob'ekti o'chirildi +ByCountry=Mamlakatlar bo'yicha +ByTown=Shahar bo'yicha +ByDate=Sana bo'yicha +ByMonthYear=Oy / yil bo'yicha +ByYear=Yil bo'yicha +ByMonth=Oyga +ByDay=Kun bilan +BySalesRepresentative=Savdo vakili tomonidan +LinkedToSpecificUsers=Muayyan foydalanuvchi kontaktiga bog'langan +NoResults=Natija yo'q +AdminTools=Administrator vositalari +SystemTools=Tizim vositalari +ModulesSystemTools=Modullar vositalari +Test=Sinov Element=Element -NoPhotoYet=No pictures available yet -Dashboard=Dashboard -MyDashboard=My Dashboard -Deductible=Deductible -from=from -toward=toward -Access=Access -SelectAction=Select action -SelectTargetUser=Select target user/employee -HelpCopyToClipboard=Use Ctrl+C to copy to clipboard -SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") -OriginFileName=Original filename -SetDemandReason=Set source -SetBankAccount=Define Bank Account -AccountCurrency=Account currency -ViewPrivateNote=View notes -XMoreLines=%s line(s) hidden -ShowMoreLines=Show more/less lines -PublicUrl=Public URL -AddBox=Add box -SelectElementAndClick=Select an element and click on %s -PrintFile=Print File %s -ShowTransaction=Show entry on bank account -ShowIntervention=Show intervention -ShowContract=Show contract -GoIntoSetupToChangeLogo=Go to Home - Setup - Company to change logo or go to Home - Setup - Display to hide. -Deny=Deny -Denied=Denied -ListOf=List of %s -ListOfTemplates=List of templates -Gender=Gender -Genderman=Male -Genderwoman=Female -Genderother=Other -ViewList=List view -ViewGantt=Gantt view -ViewKanban=Kanban view -Mandatory=Mandatory -Hello=Hello -GoodBye=GoodBye -Sincerely=Sincerely -ConfirmDeleteObject=Are you sure you want to delete this object? -DeleteLine=Delete line -ConfirmDeleteLine=Are you sure you want to delete this line? -ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. -NoPDFAvailableForDocGenAmongChecked=No PDF were available for the document generation among checked record -TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records. -NoRecordSelected=No record selected -MassFilesArea=Area for files built by mass actions -ShowTempMassFilesArea=Show area of files built by mass actions -ConfirmMassDeletion=Bulk Delete confirmation -ConfirmMassDeletionQuestion=Are you sure you want to delete the %s selected record(s)? -RelatedObjects=Related Objects -ClassifyBilled=Classify billed -ClassifyUnbilled=Classify unbilled -Progress=Progress +NoPhotoYet=Hozircha rasmlar mavjud emas +Dashboard=Boshqaruv paneli +MyDashboard=Mening boshqaruv panelim +Deductible=Chiqib olinadigan +from=dan +toward=tomonga +Access=Kirish +SelectAction=Amalni tanlang +SelectTargetUser=Maqsadli foydalanuvchini / xodimni tanlang +HelpCopyToClipboard=Buferga nusxalash uchun Ctrl + C tugmalaridan foydalaning +SaveUploadedFileWithMask=Faylni " %s " nomi bilan saqlang (aks holda "%s") +OriginFileName=Asl fayl nomi +SetDemandReason=Manbani o'rnating +SetBankAccount=Bank hisobini aniqlang +AccountCurrency=Hisob-kitob valyutasi +ViewPrivateNote=Eslatmalarni ko'rish +XMoreLines=%s qatorlari yashiringan +ShowMoreLines=Ko'proq / kamroq qatorlarni ko'rsatish +PublicUrl=Ochiq URL +AddBox=Qutini qo'shish +SelectElementAndClick=Elementni tanlang va %s tugmachasini bosing +PrintFile=Faylni chop etish %s +ShowTransaction=Bank hisobidagi yozuvni ko'rsatish +ShowIntervention=Aralashuvni ko'rsating +ShowContract=Shartnomani ko'rsatish +GoIntoSetupToChangeLogo=Logotipni o'zgartirish uchun Home - Setup - Company-ga o'ting yoki yashirish uchun Home - Setup - Display-ga o'ting. +Deny=Rad et +Denied=Rad etilgan +ListOf=%s ro'yxati +ListOfTemplates=Shablonlar ro'yxati +Gender=Jins +Genderman=Erkak +Genderwoman=Ayol +Genderother=Boshqalar +ViewList=Ro'yxat ko'rinishi +ViewGantt=Gantt ko'rinishi +ViewKanban=Kanban ko'rinishi +Mandatory=Majburiy +Hello=Salom +GoodBye=Xayr. Salomat bo'ling +Sincerely=Hurmat bilan +ConfirmDeleteObject=Haqiqatan ham ushbu ob'ektni o'chirishni xohlaysizmi? +DeleteLine=Chiziqni o'chirish +ConfirmDeleteLine=Ushbu qatorni o'chirishni xohlaysizmi? +ErrorPDFTkOutputFileNotFound=Xato: fayl yaratilmadi. Iltimos, 'pdftk' buyrug'i $ PATH muhit o'zgaruvchisiga kiritilgan katalogga o'rnatilganligini tekshiring (faqat linux / unix) yoki tizim administratoriga murojaat qiling. +NoPDFAvailableForDocGenAmongChecked=Tekshirilgan yozuvlar orasida hujjat yaratish uchun PDF mavjud emas +TooManyRecordForMassAction=Ommaviy harakatlar uchun tanlangan yozuvlar juda ko'p. Amal %s yozuvlari ro'yxati bilan cheklangan. +NoRecordSelected=Hech qanday yozuv tanlanmadi +MassFilesArea=Ommaviy harakatlar bilan qurilgan fayllar maydoni +ShowTempMassFilesArea=Ommaviy harakatlar bilan qurilgan fayllar maydonini ko'rsating +ConfirmMassDeletion=Ommaviy o'chirishni tasdiqlash +ConfirmMassDeletionQuestion=Siz tanlagan %s yozuvlarini o'chirishni xohlaysizmi? +RelatedObjects=Tegishli ob'ektlar +ClassifyBilled=Hisob-kitoblarni tasniflang +ClassifyUnbilled=Hisob-kitob qilinmaganlarni tasniflang +Progress=Taraqqiyot ProgressShort=Progr. -FrontOffice=Front office -BackOffice=Back office -Submit=Submit -View=View +FrontOffice=Old ofis +BackOffice=Orqa ofis +Submit=Yuborish +View=Ko'rinish Export=Export Exports=Exports -ExportFilteredList=Export filtered list -ExportList=Export list -ExportOptions=Export Options -IncludeDocsAlreadyExported=Include docs already exported -ExportOfPiecesAlreadyExportedIsEnable=Export of pieces already exported is enable -ExportOfPiecesAlreadyExportedIsDisable=Export of pieces already exported is disable -AllExportedMovementsWereRecordedAsExported=All exported movements were recorded as exported -NotAllExportedMovementsCouldBeRecordedAsExported=Not all exported movements could be recorded as exported -Miscellaneous=Miscellaneous -Calendar=Calendar -GroupBy=Group by... -ViewFlatList=View flat list -ViewAccountList=View ledger -ViewSubAccountList=View subaccount ledger -RemoveString=Remove string '%s' -SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at https://transifex.com/projects/p/dolibarr/ to add your improvements. -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file -Download=Download -DownloadDocument=Download document -ActualizeCurrency=Update currency rate -Fiscalyear=Fiscal year -ModuleBuilder=Module and Application Builder -SetMultiCurrencyCode=Set currency -BulkActions=Bulk actions -ClickToShowHelp=Click to show tooltip help -WebSite=Website -WebSites=Websites -WebSiteAccounts=Website accounts -ExpenseReport=Expense report -ExpenseReports=Expense reports -HR=HR -HRAndBank=HR and Bank -AutomaticallyCalculated=Automatically calculated -TitleSetToDraft=Go back to draft -ConfirmSetToDraft=Are you sure you want to go back to Draft status? +ExportFilteredList=Filtrlangan ro'yxatni eksport qilish +ExportList=Eksport ro'yxati +ExportOptions=Eksport parametrlari +IncludeDocsAlreadyExported=Allaqachon eksport qilingan hujjatlarni qo'shib qo'ying +ExportOfPiecesAlreadyExportedIsEnable=Oldindan eksport qilingan qismlarni eksport qilish imkoniyati mavjud +ExportOfPiecesAlreadyExportedIsDisable=Oldindan eksport qilingan qismlarni eksport qilish o'chirilgan +AllExportedMovementsWereRecordedAsExported=Eksport qilingan barcha harakatlar eksport sifatida qayd etildi +NotAllExportedMovementsCouldBeRecordedAsExported=Barcha eksport qilingan harakatlarni eksport sifatida qayd etish mumkin emas +Miscellaneous=Turli xil +Calendar=Taqvim +GroupBy=Guruh bo'yicha ... +ViewFlatList=Yassi ro'yxatni ko'rish +ViewAccountList=Hisob kitobini ko'rish +ViewSubAccountList=Hisob osti daftarini ko'rish +RemoveString='%s' qatorini olib tashlash +SomeTranslationAreUncomplete=Taklif qilinadigan ba'zi tillar qisman tarjima qilinishi yoki xatolarga yo'l qo'yishi mumkin. Iltimos, yaxshilangan narsalaringizni qo'shish uchun https://transifex.com/projects/p/dolibarr/ ro'yxatdan o'tib, tilingizni to'g'rilashga yordam bering. +DirectDownloadLink=Umumiy yuklab olish havolasi +PublicDownloadLinkDesc=Faylni yuklab olish uchun faqat havola kerak +DirectDownloadInternalLink=Shaxsiy yuklab olish havolasi +PrivateDownloadLinkDesc=Siz tizimga kirishingiz kerak va faylni ko'rish yoki yuklab olish uchun sizga ruxsat kerak +Download=Yuklash +DownloadDocument=Hujjatni yuklab oling +ActualizeCurrency=Valyuta kursini yangilang +Fiscalyear=Moliyaviy yil +ModuleBuilder=Modul va dastur yaratuvchisi +SetMultiCurrencyCode=Valyutani o'rnating +BulkActions=Ommaviy harakatlar +ClickToShowHelp=Maslahatlar bo'yicha yordamni ko'rsatish uchun bosing +WebSite=Veb-sayt +WebSites=Veb-saytlar +WebSiteAccounts=Veb-sayt qayd yozuvlari +ExpenseReport=Xarajatlar to'g'risida hisobot +ExpenseReports=Xarajatlar bo'yicha hisobotlar +HR=Kadrlar +HRAndBank=Xodimlar va bank +AutomaticallyCalculated=Avtomatik ravishda hisoblab chiqilgan +TitleSetToDraft=Qoralamaga qaytish +ConfirmSetToDraft=Haqiqatan ham Qoralama holatiga qaytmoqchimisiz? ImportId=Import id -Events=Events -EMailTemplates=Email templates -FileNotShared=File not shared to external public -Project=Project -Projects=Projects -LeadOrProject=Lead | Project -LeadsOrProjects=Leads | Projects -Lead=Lead -Leads=Leads -ListOpenLeads=List open leads -ListOpenProjects=List open projects -NewLeadOrProject=New lead or project -Rights=Permissions -LineNb=Line no. -IncotermLabel=Incoterms -TabLetteringCustomer=Customer lettering -TabLetteringSupplier=Vendor lettering -Monday=Monday -Tuesday=Tuesday -Wednesday=Wednesday -Thursday=Thursday -Friday=Friday -Saturday=Saturday -Sunday=Sunday +Events=Tadbirlar +EMailTemplates=Elektron pochta shablonlari +FileNotShared=Fayl tashqi hammaga tarqatilmaydi +Project=Loyiha +Projects=Loyihalar +LeadOrProject=Qo'rg'oshin | Loyiha +LeadsOrProjects=Yetakchilar | Loyihalar +Lead=Qo'rg'oshin +Leads=Yetakchilar +ListOpenLeads=Ochiq yo'nalishlarni ro'yxatlash +ListOpenProjects=Ochiq loyihalarni ro'yxati +NewLeadOrProject=Yangi etakchi yoki loyiha +Rights=Ruxsatlar +LineNb=Qator №. +IncotermLabel=Inkoermalar +TabLetteringCustomer=Mijozlarning xatlari +TabLetteringSupplier=Sotuvchi xatlari +Monday=Dushanba +Tuesday=Seshanba +Wednesday=Chorshanba +Thursday=Payshanba +Friday=Juma +Saturday=Shanba +Sunday=yakshanba MondayMin=Mo TuesdayMin=Tu -WednesdayMin=We +WednesdayMin=Biz ThursdayMin=Th FridayMin=Fr SaturdayMin=Sa SundayMin=Su -Day1=Monday -Day2=Tuesday -Day3=Wednesday -Day4=Thursday -Day5=Friday -Day6=Saturday -Day0=Sunday +Day1=Dushanba +Day2=Seshanba +Day3=Chorshanba +Day4=Payshanba +Day5=Juma +Day6=Shanba +Day0=yakshanba ShortMonday=M ShortTuesday=T -ShortWednesday=W +ShortWednesday=V ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S -one=one -two=two -three=three -four=four -five=five -six=six -seven=seven -eight=eight -nine=nine -ten=ten -eleven=eleven -twelve=twelve -thirteen=thirdteen -fourteen=fourteen -fifteen=fifteen -sixteen=sixteen -seventeen=seventeen -eighteen=eighteen -nineteen=nineteen -twenty=twenty -thirty=thirty -forty=forty -fifty=fifty -sixty=sixty -seventy=seventy -eighty=eighty -ninety=ninety -hundred=hundred -thousand=thousand +one=bitta +two=ikkitasi +three=uchta +four=to'rt +five=besh +six=olti +seven=Yetti +eight=sakkiz +nine=to'qqiz +ten=o'n +eleven=o'n bir +twelve=o'n ikki +thirteen=uchinchi +fourteen=o'n to'rt +fifteen=o'n besh +sixteen=o'n olti +seventeen=o'n etti +eighteen=o'n sakkiz +nineteen=o'n to'qqiz +twenty=yigirma +thirty=o'ttiz +forty=qirq +fifty=ellik +sixty=oltmish +seventy=etmish +eighty=sakson +ninety=to'qson +hundred=yuz +thousand=ming million=million -billion=billion +billion=milliard trillion=trillion -quadrillion=quadrillion -SelectMailModel=Select an email template -SetRef=Set ref -Select2ResultFoundUseArrows=Some results found. Use arrows to select. -Select2NotFound=No result found -Select2Enter=Enter -Select2MoreCharacter=or more character -Select2MoreCharacters=or more characters -Select2MoreCharactersMore=Search syntax:
    | OR (a|b)
    * Any character (a*b)
    ^ Start with (^ab)
    $ End with (ab$)
    -Select2LoadingMoreResults=Loading more results... -Select2SearchInProgress=Search in progress... -SearchIntoThirdparties=Third parties -SearchIntoContacts=Contacts -SearchIntoMembers=Members -SearchIntoUsers=Users -SearchIntoProductsOrServices=Products or services -SearchIntoBatch=Lots / Serials -SearchIntoProjects=Projects -SearchIntoMO=Manufacturing Orders -SearchIntoTasks=Tasks -SearchIntoCustomerInvoices=Customer invoices -SearchIntoSupplierInvoices=Vendor invoices -SearchIntoCustomerOrders=Sales orders -SearchIntoSupplierOrders=Purchase orders -SearchIntoCustomerProposals=Commercial proposals -SearchIntoSupplierProposals=Vendor proposals -SearchIntoInterventions=Interventions -SearchIntoContracts=Contracts -SearchIntoCustomerShipments=Customer shipments -SearchIntoExpenseReports=Expense reports -SearchIntoLeaves=Leave -SearchIntoTickets=Tickets -SearchIntoCustomerPayments=Customer payments -SearchIntoVendorPayments=Vendor payments -SearchIntoMiscPayments=Miscellaneous payments -CommentLink=Comments -NbComments=Number of comments -CommentPage=Comments space -CommentAdded=Comment added -CommentDeleted=Comment deleted -Everybody=Everybody -PayedBy=Paid by -PayedTo=Paid to -Monthly=Monthly -Quarterly=Quarterly -Annual=Annual -Local=Local -Remote=Remote -LocalAndRemote=Local and Remote -KeyboardShortcut=Keyboard shortcut -AssignedTo=Assigned to -Deletedraft=Delete draft -ConfirmMassDraftDeletion=Draft mass delete confirmation -FileSharedViaALink=File shared with a public link -SelectAThirdPartyFirst=Select a third party first... -YouAreCurrentlyInSandboxMode=You are currently in the %s "sandbox" mode -Inventory=Inventory -AnalyticCode=Analytic code +quadrillion=kvadrillion +SelectMailModel=Elektron pochta shablonini tanlang +SetRef=Referani o'rnating +Select2ResultFoundUseArrows=Ba'zi natijalar topildi. Tanlash uchun strelkalardan foydalaning. +Select2NotFound=Hech qanday natija topilmadi +Select2Enter=Kirish +Select2MoreCharacter=yoki undan ko'p belgi +Select2MoreCharacters=yoki undan ko'p belgilar +Select2MoreCharactersMore= Qidiruv sintaksis:
    | YOKI (a | b)
    * Har qanday belgi (a * b)
    ^ Start bilan (^ ab)
    $ End bilan ( ab $)
    +Select2LoadingMoreResults=Boshqa natijalar yuklanmoqda ... +Select2SearchInProgress=Qidiruv davom etmoqda ... +SearchIntoThirdparties=Uchinchi shaxslar +SearchIntoContacts=Kontaktlar +SearchIntoMembers=A'zolar +SearchIntoUsers=Foydalanuvchilar +SearchIntoProductsOrServices=Mahsulotlar yoki xizmatlar +SearchIntoBatch=Ko'p / seriyalar +SearchIntoProjects=Loyihalar +SearchIntoMO=Ishlab chiqarish buyurtmalari +SearchIntoTasks=Vazifalar +SearchIntoCustomerInvoices=Mijozlarning hisob-fakturalari +SearchIntoSupplierInvoices=Sotuvchi hisob-fakturalari +SearchIntoCustomerOrders=Savdo buyurtmalari +SearchIntoSupplierOrders=Sotib olish uchun buyurtmalar +SearchIntoCustomerProposals=Tijorat takliflari +SearchIntoSupplierProposals=Sotuvchi takliflari +SearchIntoInterventions=Aralashuvlar +SearchIntoContracts=Shartnomalar +SearchIntoCustomerShipments=Mijozlar jo'natmalari +SearchIntoExpenseReports=Xarajatlar bo'yicha hisobotlar +SearchIntoLeaves=Keting +SearchIntoTickets=Chiptalar +SearchIntoCustomerPayments=Mijozlar uchun to'lovlar +SearchIntoVendorPayments=Sotuvchi uchun to'lovlar +SearchIntoMiscPayments=Turli xil to'lovlar +CommentLink=Izohlar +NbComments=Izohlar soni +CommentPage=Fikrlar maydoni +CommentAdded=Fikr qo'shildi +CommentDeleted=Fikr o'chirildi +Everybody=Hamma +PayedBy=To'langan +PayedTo=To'langan +Monthly=Oylik +Quarterly=Har chorakda +Annual=Yillik +Local=Mahalliy +Remote=Masofadan boshqarish pulti +LocalAndRemote=Mahalliy va masofadan turib +KeyboardShortcut=Klaviatura yorlig'i +AssignedTo=Tayinlangan +Deletedraft=Qoralamani o'chirish +ConfirmMassDraftDeletion=Ommaviy o'chirishni tasdiqlash loyihasi +FileSharedViaALink=Fayl umumiy havola bilan baham ko'rildi +SelectAThirdPartyFirst=Avval uchinchi tomonni tanlang ... +YouAreCurrentlyInSandboxMode=Siz hozirda %s "sandbox" rejimidasiz +Inventory=Inventarizatsiya +AnalyticCode=Analitik kod TMenuMRP=MRP -ShowCompanyInfos=Show company infos -ShowMoreInfos=Show More Infos -NoFilesUploadedYet=Please upload a document first -SeePrivateNote=See private note -PaymentInformation=Payment information -ValidFrom=Valid from -ValidUntil=Valid until -NoRecordedUsers=No users -ToClose=To close -ToProcess=To process -ToApprove=To approve -GlobalOpenedElemView=Global view -NoArticlesFoundForTheKeyword=No article found for the keyword '%s' -NoArticlesFoundForTheCategory=No article found for the category -ToAcceptRefuse=To accept | refuse -ContactDefault_agenda=Event -ContactDefault_commande=Order -ContactDefault_contrat=Contract -ContactDefault_facture=Invoice -ContactDefault_fichinter=Intervention -ContactDefault_invoice_supplier=Supplier Invoice -ContactDefault_order_supplier=Purchase Order -ContactDefault_project=Project -ContactDefault_project_task=Task -ContactDefault_propal=Proposal -ContactDefault_supplier_proposal=Supplier Proposal -ContactDefault_ticket=Ticket -ContactAddedAutomatically=Contact added from contact thirdparty roles -More=More -ShowDetails=Show details -CustomReports=Custom reports -StatisticsOn=Statistics on -SelectYourGraphOptionsFirst=Select your graph options to build a graph -Measures=Measures -XAxis=X-Axis -YAxis=Y-Axis -StatusOfRefMustBe=Status of %s must be %s -DeleteFileHeader=Confirm file delete -DeleteFileText=Do you really want delete this file? -ShowOtherLanguages=Show other languages -SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language -NotUsedForThisCustomer=Not used for this customer -AmountMustBePositive=Amount must be positive -ByStatus=By status -InformationMessage=Information -Used=Used -ASAP=As Soon As Possible -CREATEInDolibarr=Record %s created -MODIFYInDolibarr=Record %s modified -DELETEInDolibarr=Record %s deleted -VALIDATEInDolibarr=Record %s validated -APPROVEDInDolibarr=Record %s approved -DefaultMailModel=Default Mail Model -PublicVendorName=Public name of vendor -DateOfBirth=Date of birth -SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. -UpToDate=Up-to-date -OutOfDate=Out-of-date -EventReminder=Event Reminder -UpdateForAllLines=Update for all lines -OnHold=On hold -Civility=Civility -AffectTag=Affect Tag -ConfirmAffectTag=Bulk Tag Affect -ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? -CategTypeNotFound=No tag type found for type of records -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +ShowCompanyInfos=Kompaniya ma'lumotlarini ko'rsatish +ShowMoreInfos=Qo'shimcha ma'lumotni ko'rsatish +NoFilesUploadedYet=Iltimos, avval hujjatni yuklang +SeePrivateNote=Shaxsiy eslatmani ko'ring +PaymentInformation=To'lov haqida ma'lumot +ValidFrom=Yaroqliligi +ValidUntil=Yaroqlilik muddati +NoRecordedUsers=Foydalanuvchilar yo'q +ToClose=Yopmoq +ToRefuse=Rad etish +ToProcess=Qayta ishlash uchun +ToApprove=Tasdiqlash uchun +GlobalOpenedElemView=Global ko'rinish +NoArticlesFoundForTheKeyword=' %s ' kalit so'zi uchun maqola topilmadi. +NoArticlesFoundForTheCategory=Ushbu turkum uchun maqola topilmadi +ToAcceptRefuse=Qabul qilish | rad etish +ContactDefault_agenda=Tadbir +ContactDefault_commande=Buyurtma +ContactDefault_contrat=Shartnoma +ContactDefault_facture=Hisob-faktura +ContactDefault_fichinter=Aralashish +ContactDefault_invoice_supplier=Ta'minlovchining hisob-fakturasi +ContactDefault_order_supplier=Xarid buyurtmasi +ContactDefault_project=Loyiha +ContactDefault_project_task=Vazifa +ContactDefault_propal=Taklif +ContactDefault_supplier_proposal=Ta'minlovchining taklifi +ContactDefault_ticket=Chipta +ContactAddedAutomatically=Kontakt uchinchi tomon rollaridan qo'shilgan aloqa +More=Ko'proq +ShowDetails=Tafsilotlarni ko'rsatish +CustomReports=Maxsus hisobotlar +StatisticsOn=Statistika +SelectYourGraphOptionsFirst=Grafik yaratish uchun grafik variantlaringizni tanlang +Measures=Tadbirlar +XAxis=X o'qi +YAxis=Y o'qi +StatusOfRefMustBe=%s holati %s bo'lishi kerak +DeleteFileHeader=Faylni o'chirishni tasdiqlang +DeleteFileText=Haqiqatan ham ushbu faylni o'chirishni xohlaysizmi? +ShowOtherLanguages=Boshqa tillarni ko'rsatish +SwitchInEditModeToAddTranslation=Ushbu til uchun tarjimalarni qo'shish uchun tahrirlash rejimiga o'ting +NotUsedForThisCustomer=Ushbu mijoz uchun ishlatilmaydi +AmountMustBePositive=Miqdor ijobiy bo'lishi kerak +ByStatus=Holati bo'yicha +InformationMessage=Ma `lumot +Used=Ishlatilgan +ASAP=Imkoni boricha tezda +CREATEInDolibarr=Yaratilgan %s yozuvi +MODIFYInDolibarr=%s yozuvi o'zgartirildi +DELETEInDolibarr=%s yozuv o'chirildi +VALIDATEInDolibarr=%s yozuvi tasdiqlangan +APPROVEDInDolibarr=%s yozuvi tasdiqlandi +DefaultMailModel=Standart pochta modeli +PublicVendorName=Sotuvchining ommaviy nomi +DateOfBirth=Tug'ilgan sana +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Xavfsizlik belgisi muddati tugagan, shuning uchun harakatlar bekor qilindi. Iltimos, yana bir bor urinib ko'ring. +UpToDate=Hozirgi kungacha +OutOfDate=Eskirgan +EventReminder=Voqealar to'g'risida eslatma +UpdateForAllLines=Barcha satrlar uchun yangilash +OnHold=Ushlab qolingan +Civility=Fuqarolik +AffectTag=Tegga ta'sir qilish +CreateExternalUser=Tashqi foydalanuvchini yarating +ConfirmAffectTag=Ommaviy teg ta'sir qiladi +ConfirmAffectTagQuestion=Siz tanlangan %s yozuvlariga teglar ta'sir qilishni xohlaysizmi? +CategTypeNotFound=Yozuvlar turi uchun yorliq turi topilmadi +CopiedToClipboard=Buferga nusxa olindi +InformationOnLinkToContract=Ushbu miqdor faqat shartnomadagi barcha satrlarning jami hisoblanadi. Vaqt tushunchasi hisobga olinmaydi. +ConfirmCancel=Bekor qilishni xohlaysizmi? +EmailMsgID=MsgID-ga elektron pochta orqali yuboring +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/uz_UZ/margins.lang b/htdocs/langs/uz_UZ/margins.lang index ad5406409b4..451130886f4 100644 --- a/htdocs/langs/uz_UZ/margins.lang +++ b/htdocs/langs/uz_UZ/margins.lang @@ -1,45 +1,45 @@ # Dolibarr language file - Source file is en_US - marges -Margin=Margin -Margins=Margins -TotalMargin=Total Margin -MarginOnProducts=Margin / Products -MarginOnServices=Margin / Services -MarginRate=Margin rate -MarkRate=Mark rate -DisplayMarginRates=Display margin rates -DisplayMarkRates=Display mark rates -InputPrice=Input price -margin=Profit margins management -margesSetup=Profit margins management setup -MarginDetails=Margin details -ProductMargins=Product margins -CustomerMargins=Customer margins -SalesRepresentativeMargins=Sales representative margins -ContactOfInvoice=Contact of invoice -UserMargins=User margins -ProductService=Product or Service -AllProducts=All products and services -ChooseProduct/Service=Choose product or service -ForceBuyingPriceIfNull=Force buying/cost price to selling price if not defined -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). -MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts -UseDiscountAsProduct=As a product -UseDiscountAsService=As a service -UseDiscountOnTotal=On subtotal -MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. -MARGIN_TYPE=Buying/Cost price suggested by default for margin calculation -MargeType1=Margin on Best vendor price -MargeType2=Margin on Weighted Average Price (WAP) -MargeType3=Margin on Cost Price -MarginTypeDesc=* Margin on best buying price = Selling price - Best vendor price defined on product card
    * Margin on Weighted Average Price (WAP) = Selling price - Product Weighted Average Price (WAP) or best vendor price if WAP not yet defined
    * Margin on Cost price = Selling price - Cost price defined on product card or WAP if cost price not defined, or best vendor price if WAP not yet defined -CostPrice=Cost price -UnitCharges=Unit charges -Charges=Charges -AgentContactType=Commercial agent contact type -AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices. -rateMustBeNumeric=Rate must be a numeric value -markRateShouldBeLesserThan100=Mark rate should be lower than 100 -ShowMarginInfos=Show margin infos -CheckMargins=Margins detail -MarginPerSaleRepresentativeWarning=The report of margin per user use the link between third parties and sale representatives to calculate the margin of each sale representative. Because some thirdparties may not have any dedicated sale representative and some third parties may be linked to several, some amounts may not be included into this report (if there is no sale representative) and some may appear on different lines (for each sale representative). +Margin=Marj +Margins=Chegaralar +TotalMargin=Jami marj +MarginOnProducts=Marj / Mahsulotlar +MarginOnServices=Marj / xizmatlar +MarginRate=Marj darajasi +MarkRate=Belgilangan stavka +DisplayMarginRates=Marj stavkalarini ko'rsatish +DisplayMarkRates=Belgilash stavkalarini ko'rsatish +InputPrice=Kirish narxi +margin=Foyda marjlarini boshqarish +margesSetup=Foyda marjlarini boshqarishni sozlash +MarginDetails=Marj tafsilotlari +ProductMargins=Mahsulot chegaralari +CustomerMargins=Mijozlar marjlari +SalesRepresentativeMargins=Savdo vakili marjlari +ContactOfInvoice=Hisob-fakturaning aloqasi +UserMargins=Foydalanuvchi chekkalari +ProductService=Mahsulot yoki xizmat +AllProducts=Barcha mahsulotlar va xizmatlar +ChooseProduct/Service=Mahsulot yoki xizmatni tanlang +ForceBuyingPriceIfNull=Agar aniqlanmagan bo'lsa, sotib olish / tannarxni sotish narxiga majburlang +ForceBuyingPriceIfNullDetails=Agar biz yangi qator qo'shganimizda sotib olish / tannarxi taqdim etilmasa va ushbu parametr "ON" bo'lsa, margin yangi satrda 0 ga teng bo'ladi (sotib olish / tannarx narxi = sotish narxi). Agar ushbu parametr "OFF" bo'lsa (tavsiya etiladi), margin sukut bo'yicha taklif qilingan qiymatga teng bo'ladi (va agar standart qiymat topilmasa, 100% bo'lishi mumkin). +MARGIN_METHODE_FOR_DISCOUNT=Global chegirmalar uchun margin usuli +UseDiscountAsProduct=Mahsulot sifatida +UseDiscountAsService=Xizmat sifatida +UseDiscountOnTotal=Subtotal bo'yicha +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Global chegirma mahsulot, xizmat yoki faqat marjni hisoblash uchun subtotal bo'yicha ko'rib chiqilishini aniqlaydi. +MARGIN_TYPE=Xarajatlarni hisoblash uchun sukut bo'yicha sotib olish / narx narxlari +MargeType1=Eng yaxshi sotuvchi narxi bo'yicha marj +MargeType2=O'rtacha o'rtacha narx (WAP) +MargeType3=Narxlar bo'yicha marj +MarginTypeDesc=* Eng yaxshi sotib olish narxidagi marj = Sotish narxi - Mahsulot kartasida aniqlangan sotuvchi narxi
    * O'rtacha narx bo'yicha marja (WAP) = Sotish narxi - Mahsulotning o'rtacha narxi (WAP) yoki agar WAP hali aniqlanmagan bo'lsa, sotuvchining eng yaxshi narxi
    * Margin on Narxlar narxi = Sotish narxi - Agar narx belgilanmagan bo'lsa, mahsulot kartasida yoki WAP-da belgilangan narx, yoki WAP hali aniqlanmagan bo'lsa, eng yaxshi sotuvchining narxi. +CostPrice=Xarajat narxi +UnitCharges=Birlik uchun to'lovlar +Charges=To'lovlar +AgentContactType=Tijorat agentining aloqa turi +AgentContactTypeDetails=Kontakt / manzil bo'yicha margin hisoboti uchun qanday aloqa turini (hisob-fakturalarda bog'langan) ishlatilishini aniqlang. Kontakt bo'yicha statistik ma'lumotlarni o'qish ishonchli emasligiga e'tibor bering, chunki aksariyat hollarda hisob-fakturalarda aloqa aniq belgilanmasligi mumkin. +rateMustBeNumeric=Narx raqamli qiymat bo'lishi kerak +markRateShouldBeLesserThan100=Belgilanish darajasi 100 dan past bo'lishi kerak +ShowMarginInfos=Margin ma'lumotlarini ko'rsatish +CheckMargins=Chegaralar tafsiloti +MarginPerSaleRepresentativeWarning=Har bir savdo vakili marjasini hisoblash uchun har bir foydalanuvchi uchun marj hisoboti uchinchi shaxslar va savdo vakillari o'rtasidagi aloqadan foydalanadi. Ba'zi bir uchinchi tomonlarning biron bir maxsus savdo vakili bo'lmasligi va ba'zi bir uchinchi shaxslar bir nechta bilan bog'lanishi mumkinligi sababli, ba'zi bir summalar ushbu hisobotga kiritilmasligi mumkin (agar savdo vakili bo'lmasa) va ba'zilari turli satrlarda ko'rinishi mumkin (har bir savdo vakili uchun) . diff --git a/htdocs/langs/uz_UZ/members.lang b/htdocs/langs/uz_UZ/members.lang index 042b85598c0..31a3657d0b7 100644 --- a/htdocs/langs/uz_UZ/members.lang +++ b/htdocs/langs/uz_UZ/members.lang @@ -1,215 +1,217 @@ # Dolibarr language file - Source file is en_US - members -MembersArea=Members area -MemberCard=Member card -SubscriptionCard=Subscription card -Member=Member -Members=Members -ShowMember=Show member card -UserNotLinkedToMember=User not linked to a member -ThirdpartyNotLinkedToMember=Third party not linked to a member -MembersTickets=Members Tickets -FundationMembers=Foundation members -ListOfValidatedPublicMembers=List of validated public members -ErrorThisMemberIsNotPublic=This member is not public +MembersArea=A'zolar maydoni +MemberCard=A'zo kartasi +SubscriptionCard=Obuna kartasi +Member=A'zo +Members=A'zolar +ShowMember=A'zo kartasini ko'rsatish +UserNotLinkedToMember=Foydalanuvchi a'zo bilan bog'lanmagan +ThirdpartyNotLinkedToMember=Uchinchi tomon a'zo bilan bog'lanmagan +MembersTickets=A'zolar chiptalari +FundationMembers=Jamg'arma a'zolari +ListOfValidatedPublicMembers=Tasdiqlangan jamoat a'zolari ro'yxati +ErrorThisMemberIsNotPublic=Ushbu a'zo ochiq emas ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). -ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. -SetLinkToUser=Link to a Dolibarr user -SetLinkToThirdParty=Link to a Dolibarr third party -MembersCards=Business cards for members -MembersList=List of members -MembersListToValid=List of draft members (to be validated) -MembersListValid=List of valid members -MembersListUpToDate=List of valid members with up-to-date subscription -MembersListNotUpToDate=List of valid members with out-of-date subscription -MembersListExcluded=List of excluded members -MembersListResiliated=List of terminated members -MembersListQualified=List of qualified members -MenuMembersToValidate=Draft members -MenuMembersValidated=Validated members -MenuMembersExcluded=Excluded members -MenuMembersResiliated=Terminated members -MembersWithSubscriptionToReceive=Members with subscription to receive -MembersWithSubscriptionToReceiveShort=Subscription to receive -DateSubscription=Subscription date -DateEndSubscription=Subscription end date -EndSubscription=Subscription Ends -SubscriptionId=Subscription id -WithoutSubscription=Without subscription -MemberId=Member id -NewMember=New member -MemberType=Member type -MemberTypeId=Member type id -MemberTypeLabel=Member type label -MembersTypes=Members types -MemberStatusDraft=Draft (needs to be validated) -MemberStatusDraftShort=Draft -MemberStatusActive=Validated (waiting subscription) -MemberStatusActiveShort=Validated -MemberStatusActiveLate=Subscription expired -MemberStatusActiveLateShort=Expired -MemberStatusPaid=Subscription up to date -MemberStatusPaidShort=Up to date -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded -MemberStatusResiliated=Terminated member -MemberStatusResiliatedShort=Terminated -MembersStatusToValid=Draft members -MembersStatusExcluded=Excluded members -MembersStatusResiliated=Terminated members -MemberStatusNoSubscription=Validated (no subscription needed) -MemberStatusNoSubscriptionShort=Validated -SubscriptionNotNeeded=No subscription needed -NewCotisation=New contribution -PaymentSubscription=New contribution payment -SubscriptionEndDate=Subscription's end date -MembersTypeSetup=Members type setup -MemberTypeModified=Member type modified -DeleteAMemberType=Delete a member type -ConfirmDeleteMemberType=Are you sure you want to delete this member type? -MemberTypeDeleted=Member type deleted -MemberTypeCanNotBeDeleted=Member type can not be deleted -NewSubscription=New subscription -NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. -Subscription=Subscription -Subscriptions=Subscriptions -SubscriptionLate=Late -SubscriptionNotReceived=Subscription never received -ListOfSubscriptions=List of subscriptions -SendCardByMail=Send card by email -AddMember=Create member -NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" -NewMemberType=New member type -WelcomeEMail=Welcome email -SubscriptionRequired=Subscription required -DeleteType=Delete -VoteAllowed=Vote allowed -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? -ResiliateMember=Terminate a member -ConfirmResiliateMember=Are you sure you want to terminate this member? -DeleteMember=Delete a member -ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? -DeleteSubscription=Delete a subscription -ConfirmDeleteSubscription=Are you sure you want to delete this subscription? -Filehtpasswd=htpasswd file -ValidateMember=Validate a member -ConfirmValidateMember=Are you sure you want to validate this member? -FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. -PublicMemberList=Public member list -BlankSubscriptionForm=Public self-subscription form -BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. -EnablePublicSubscriptionForm=Enable the public website with self-subscription form -ForceMemberType=Force the member type -ExportDataset_member_1=Members and subscriptions -ImportDataset_member_1=Members -LastMembersModified=Latest %s modified members -LastSubscriptionsModified=Latest %s modified subscriptions -String=String -Text=Text +ErrorUserPermissionAllowsToLinksToItselfOnly=Xavfsizlik nuqtai nazaridan, barcha foydalanuvchilarni tahrirlash uchun sizga o'zingizga tegishli bo'lmagan foydalanuvchi bilan bog'lanish uchun ruxsat berilishi kerak. +SetLinkToUser=Dolibarr foydalanuvchisiga havola +SetLinkToThirdParty=Dolibarr uchinchi tomoniga havola +MembersCards=A'zolar uchun tashrif qog'ozlar +MembersList=A'zolar ro'yxati +MembersListToValid=Loyiha a'zolari ro'yxati (tasdiqlanishi kerak) +MembersListValid=Haqiqiy a'zolar ro'yxati +MembersListUpToDate=Zamonaviy obuna bo'lgan haqiqiy a'zolar ro'yxati +MembersListNotUpToDate=Eskirgan obuna bo'lgan haqiqiy a'zolar ro'yxati +MembersListExcluded=Chetlatilgan a'zolarning ro'yxati +MembersListResiliated=Tugatilgan a'zolar ro'yxati +MembersListQualified=Malakali a'zolar ro'yxati +MenuMembersToValidate=Loyiha a'zolari +MenuMembersValidated=Tasdiqlangan a'zolar +MenuMembersExcluded=Chetlatilgan a'zolar +MenuMembersResiliated=Tugatilgan a'zolar +MembersWithSubscriptionToReceive=Qabul qilish uchun obuna bo'lgan a'zolar +MembersWithSubscriptionToReceiveShort=Qabul qilish uchun obuna +DateSubscription=Obuna sanasi +DateEndSubscription=Obunaning tugash sanasi +EndSubscription=Obuna tugaydi +SubscriptionId=Obuna identifikatori +WithoutSubscription=Obunasiz +MemberId=A'zo identifikatori +NewMember=Yangi a'zo +MemberType=Ro'yxatdan turi +MemberTypeId=Ro'yxatdan turi identifikatori +MemberTypeLabel=Ro'yxatdan turi yorlig'i +MembersTypes=A'zolar turlari +MemberStatusDraft=Qoralama (tasdiqlanishi kerak) +MemberStatusDraftShort=Qoralama +MemberStatusActive=Tasdiqlangan (kutilayotgan obuna) +MemberStatusActiveShort=Tasdiqlangan +MemberStatusActiveLate=Obuna muddati tugagan +MemberStatusActiveLateShort=Muddati tugagan +MemberStatusPaid=Obuna dolzarb +MemberStatusPaidShort=Hozirgi kungacha +MemberStatusExcluded=Chetlatilgan a'zo +MemberStatusExcludedShort=Chetlatildi +MemberStatusResiliated=Tugatilgan a'zo +MemberStatusResiliatedShort=Tugatilgan +MembersStatusToValid=Loyiha a'zolari +MembersStatusExcluded=Chetlatilgan a'zolar +MembersStatusResiliated=Tugatilgan a'zolar +MemberStatusNoSubscription=Tasdiqlangan (obuna kerak emas) +MemberStatusNoSubscriptionShort=Tasdiqlangan +SubscriptionNotNeeded=Obuna kerak emas +NewCotisation=Yangi hissa +PaymentSubscription=Yangi badal to'lovi +SubscriptionEndDate=Obunaning tugash sanasi +MembersTypeSetup=A'zolar turi sozlamalari +MemberTypeModified=Ro'yxatdan turi o'zgartirildi +DeleteAMemberType=A'zo turini o'chirish +ConfirmDeleteMemberType=Ushbu a'zo turini o'chirishni xohlaysizmi? +MemberTypeDeleted=Ro'yxatdan turi o'chirildi +MemberTypeCanNotBeDeleted=Ro'yxatdan turini o'chirib bo'lmaydi +NewSubscription=Yangi obuna +NewSubscriptionDesc=Ushbu shakl sizga obunangizni fondning yangi a'zosi sifatida qayd etish imkonini beradi. Agar siz obunangizni yangilamoqchi bo'lsangiz (agar u allaqachon a'zo bo'lsa), %s elektron pochta orqali poydevor kengashiga murojaat qiling. +Subscription=Obuna +Subscriptions=Obunalar +SubscriptionLate=Kech +SubscriptionNotReceived=Obuna hech qachon olinmadi +ListOfSubscriptions=Obunalar ro'yxati +SendCardByMail=Elektron pochta orqali kartani yuboring +AddMember=A'zo yaratish +NoTypeDefinedGoToSetup=Hech qanday a'zo turi aniqlanmagan. "A'zolar turlari" menyusiga o'ting +NewMemberType=Yangi a'zo turi +WelcomeEMail=Xush kelibsiz elektron pochta +SubscriptionRequired=Obuna talab qilinadi +DeleteType=O'chirish +VoteAllowed=Ovoz berishga ruxsat berildi +Physical=Shaxsiy +Moral=Korporatsiya +MorAndPhy=Korporatsiya va individual +Reenable=Qayta yoqish +ExcludeMember=A'zoni chiqarib tashlang +ConfirmExcludeMember=Haqiqatan ham ushbu a'zoni chiqarib tashlamoqchimisiz? +ResiliateMember=A'zoni tugatish +ConfirmResiliateMember=Ushbu a'zoni tugatishni xohlaysizmi? +DeleteMember=A'zoni o'chirish +ConfirmDeleteMember=Haqiqatan ham ushbu a'zoni o'chirishni xohlaysizmi (Agar a'zo o'chirilsa, uning barcha obunalari o'chiriladi)? +DeleteSubscription=Obunani o'chirib tashlang +ConfirmDeleteSubscription=Haqiqatan ham ushbu obunani o'chirishni xohlaysizmi? +Filehtpasswd=htpasswd fayli +ValidateMember=A'zoni tasdiqlash +ConfirmValidateMember=Ushbu a'zoni tasdiqlamoqchimisiz? +FollowingLinksArePublic=Quyidagi havolalar Dolibarr ruxsati bilan himoyalanmagan ochiq sahifalardir. Ular formatlangan sahifalar emas, balki ma'lumotlar bazasini ro'yxatga olishni ko'rsatadigan misol sifatida keltirilgan. +PublicMemberList=Ochiq a'zolar ro'yxati +BlankSubscriptionForm=Ommaviy obuna shakli +BlankSubscriptionFormDesc=Dolibarr tashqi tashrif buyuruvchilarga fondga obuna bo'lishni so'rashlari uchun sizga ochiq URL / veb-sayt taqdim etishi mumkin. Agar onlayn to'lov moduli yoqilgan bo'lsa, to'lov shakli ham avtomatik ravishda taqdim etilishi mumkin. +EnablePublicSubscriptionForm=O'z-o'ziga obuna bo'lish uchun ochiq veb-saytni yoqing +ForceMemberType=Ro'yxatdan turini majburlang +ExportDataset_member_1=A'zolar va obunalar +ImportDataset_member_1=A'zolar +LastMembersModified=Oxirgi %s o'zgartirilgan a'zolari +LastSubscriptionsModified=Oxirgi %s o'zgartirilgan obunalari +String=Ip +Text=Matn Int=Int -DateAndTime=Date and time -PublicMemberCard=Member public card -SubscriptionNotRecorded=Subscription not recorded -AddSubscription=Create subscription -ShowSubscription=Show subscription +DateAndTime=Sana va vaqt +PublicMemberCard=A'zolarning ommaviy kartasi +SubscriptionNotRecorded=Obuna yozib olinmadi +AddSubscription=Obuna yaratish +ShowSubscription=Obunani ko'rsatish # Label of email templates -SendingAnEMailToMember=Sending information email to member -SendingEmailOnAutoSubscription=Sending email on auto registration -SendingEmailOnMemberValidation=Sending email on new member validation -SendingEmailOnNewSubscription=Sending email on new subscription -SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions -SendingEmailOnCancelation=Sending email on cancelation -SendingReminderActionComm=Sending reminder for agenda event +SendingAnEMailToMember=Ro'yxatdanga elektron pochta xabarini yuborish +SendingEmailOnAutoSubscription=Avtomatik ro'yxatdan o'tishda elektron pochta xabarlarini yuborish +SendingEmailOnMemberValidation=Yangi a'zoni tasdiqlash to'g'risida elektron pochta xabarini yuborish +SendingEmailOnNewSubscription=Yangi obuna bo'yicha elektron pochta xabarlarini yuborish +SendingReminderForExpiredSubscription=Muddati o'tgan obunalar uchun eslatma yuborilmoqda +SendingEmailOnCancelation=Bekor qilish to'g'risida elektron pochta xabarini yuborish +SendingReminderActionComm=Kun tartibidagi tadbir uchun eslatma yuborish # Topic of email templates -YourMembershipRequestWasReceived=Your membership was received. -YourMembershipWasValidated=Your membership was validated -YourSubscriptionWasRecorded=Your new subscription was recorded -SubscriptionReminderEmail=Subscription reminder -YourMembershipWasCanceled=Your membership was canceled -CardContent=Content of your member card +YourMembershipRequestWasReceived=Sizning a'zoligingiz qabul qilindi. +YourMembershipWasValidated=Sizning a'zoligingiz tasdiqlandi +YourSubscriptionWasRecorded=Sizning yangi obunangiz yozib olindi +SubscriptionReminderEmail=Obuna haqida eslatma +YourMembershipWasCanceled=Sizning a'zoligingiz bekor qilindi +CardContent=A'zo kartangizning tarkibi # Text of email templates -ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.

    -ThisIsContentOfYourMembershipWasValidated=We want to let you know that your membership was validated with the following information:

    -ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.

    -ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.

    -ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.

    -DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest -DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription -DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation -DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording -DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire -DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion -DescADHERENT_MAIL_FROM=Sender Email for automatic emails -DescADHERENT_ETIQUETTE_TYPE=Format of labels page -DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets -DescADHERENT_CARD_TYPE=Format of cards page -DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards -DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) -DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) -DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards -ShowTypeCard=Show type '%s' -HTPasswordExport=htpassword file generation -NoThirdPartyAssociatedToMember=No third party associated to this member -MembersAndSubscriptions= Members and Subscriptions -MoreActions=Complementary action on recording -MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription -MoreActionBankDirect=Create a direct entry on bank account -MoreActionBankViaInvoice=Create an invoice, and a payment on bank account -MoreActionInvoiceOnly=Create an invoice with no payment -LinkToGeneratedPages=Generate visit cards -LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. -DocForAllMembersCards=Generate business cards for all members -DocForOneMemberCards=Generate business cards for a particular member -DocForLabels=Generate address sheets -SubscriptionPayment=Subscription payment -LastSubscriptionDate=Date of latest subscription payment -LastSubscriptionAmount=Amount of latest subscription -LastMemberType=Last Member type -MembersStatisticsByCountries=Members statistics by country -MembersStatisticsByState=Members statistics by state/province -MembersStatisticsByTown=Members statistics by town -MembersStatisticsByRegion=Members statistics by region -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members -NoValidatedMemberYet=No validated members found -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. -MembersStatisticsDesc=Choose statistics you want to read... -MenuMembersStats=Statistics -LastMemberDate=Latest membership date -LatestSubscriptionDate=Latest subscription date -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public -NewMemberbyWeb=New member added. Awaiting approval -NewMemberForm=New member form -SubscriptionsStatistics=Subscriptions statistics -NbOfSubscriptions=Number of subscriptions -AmountOfSubscriptions=Amount collected from subscriptions -TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) -DefaultAmount=Default amount of subscription -CanEditAmount=Visitor can choose/edit amount of its subscription -MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page -ByProperties=By nature -MembersStatisticsByProperties=Members statistics by nature -VATToUseForSubscriptions=VAT rate to use for subscriptions -NoVatOnSubscription=No VAT for subscriptions -ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s -NameOrCompany=Name or company -SubscriptionRecorded=Subscription recorded -NoEmailSentToMember=No email sent to member -EmailSentToMember=Email sent to member at %s -SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription -SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') -MembershipPaid=Membership paid for current period (until %s) -YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email -XMembersClosed=%s member(s) closed +ThisIsContentOfYourMembershipRequestWasReceived=A'zolik so'rovi olinganligini sizga xabar qilmoqchimiz.

    +ThisIsContentOfYourMembershipWasValidated=Sizning a'zoligingiz quyidagi ma'lumotlar bilan tasdiqlanganligini sizga xabar qilmoqchimiz:

    +ThisIsContentOfYourSubscriptionWasRecorded=Sizga yangi obunangiz yozib olingani haqida xabar bermoqchimiz.

    +ThisIsContentOfSubscriptionReminderEmail=Obunangiz muddati tugashini yoki allaqachon tugaganligini sizga xabar qilmoqchimiz (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Siz uni yangilaysiz degan umiddamiz.

    +ThisIsContentOfYourCard=Bu siz haqingizda mavjud bo'lgan ma'lumotlarning qisqacha mazmuni. Iltimos, biron bir narsa noto'g'ri bo'lsa, biz bilan bog'laning.

    +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Agar mehmon avtomatik ravishda yozgan bo'lsa, elektron pochta xabarining mavzusi +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Mehmon avtomatik ravishda yozilgan taqdirda olingan elektron pochta xabarining mazmuni +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=E-pochta shablonini a'zoning avtomatik obunasida a'zoga elektron pochta xabarini yuborish uchun ishlatish +DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=E-pochta shablonini a'zolarni tasdiqlash bo'yicha a'zolarga elektron pochta xabarlarini yuborish uchun ishlatish +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Yangi obuna yozuvida a'zoga elektron pochta xabarini yuborish uchun elektron pochta shablonini ishlatish +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Obuna muddati tugashiga yaqin bo'lganida elektron pochta orqali eslatmani yuborish uchun ishlatiladigan elektron pochta shabloni +DescADHERENT_EMAIL_TEMPLATE_CANCELATION=A'zo bekor qilinganida a'zoga elektron pochta xabarini yuborish uchun elektron pochta shablonini +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=E-pochta shablonini a'zolardan chetlatish bo'yicha a'zolarga elektron pochta xabarlarini yuborish uchun ishlatish +DescADHERENT_MAIL_FROM=Avtomatik elektron pochta xabarlari uchun yuboruvchi elektron pochta +DescADHERENT_ETIQUETTE_TYPE=Yorliqlar sahifasining formati +DescADHERENT_ETIQUETTE_TEXT=Ro'yxatdan manzil varaqalarida bosilgan matn +DescADHERENT_CARD_TYPE=Kartalar formati sahifasi +DescADHERENT_CARD_HEADER_TEXT=A'zo kartalari ustiga bosilgan matn +DescADHERENT_CARD_TEXT=A'zo kartalarida bosilgan matn (chap tomonda tekislang) +DescADHERENT_CARD_TEXT_RIGHT=A'zo kartalarida bosilgan matn (o'ng tomonga tekislang) +DescADHERENT_CARD_FOOTER_TEXT=Ro'yxatdan kartalarining pastki qismida bosilgan matn +ShowTypeCard="%s" turini ko'rsatish +HTPasswordExport=htpassword faylini yaratish +NoThirdPartyAssociatedToMember=Ushbu a'zoga aloqador uchinchi tomon yo'q +MembersAndSubscriptions= A'zolar va obunalar +MoreActions=Yozib olish bo'yicha qo'shimcha harakatlar +MoreActionsOnSubscription=Obunani yozishda sukut bo'yicha tavsiya etilgan qo'shimcha harakatlar +MoreActionBankDirect=Bank hisobvarag'ida to'g'ridan-to'g'ri yozuvni yarating +MoreActionBankViaInvoice=Hisob-fakturani va bank hisobvarag'ida to'lovni yarating +MoreActionInvoiceOnly=To'lovsiz hisob-fakturani yarating +LinkToGeneratedPages=Tashrif kartalarini yarating +LinkToGeneratedPagesDesc=Ushbu ekran barcha a'zolaringiz yoki ma'lum bir a'zolaringiz uchun tashrif qog'ozlari bilan PDF-fayllarni yaratishga imkon beradi. +DocForAllMembersCards=Barcha a'zolar uchun tashrif qog'ozlarini yarating +DocForOneMemberCards=Muayyan a'zoning tashrif qog'ozlarini yarating +DocForLabels=Manzil varaqalarini yarating +SubscriptionPayment=Obuna to'lovi +LastSubscriptionDate=Oxirgi obuna to'lovi sanasi +LastSubscriptionAmount=Oxirgi obuna miqdori +LastMemberType=Oxirgi a'zo turi +MembersStatisticsByCountries=A'zolar statistikasi mamlakatlar bo'yicha +MembersStatisticsByState=A'zolar statistikasi viloyat / viloyat bo'yicha +MembersStatisticsByTown=A'zolar statistikasi shahar bo'yicha +MembersStatisticsByRegion=A'zolar statistikasi mintaqalar bo'yicha +NbOfMembers=A'zolarning umumiy soni +NbOfActiveMembers=Hozirgi faol a'zolarning umumiy soni +NoValidatedMemberYet=Tasdiqlangan a'zolar topilmadi +MembersByCountryDesc=Ushbu ekran sizga mamlakatlar bo'yicha a'zolarning statistikasini ko'rsatadi. Grafik va jadvallar Google-ning onlayn grafik xizmati hamda ishlaydigan internet aloqasi mavjudligiga bog'liq. +MembersByStateDesc=Ushbu ekran sizga shtatlar / viloyatlar / kantonlar bo'yicha a'zolarning statistikasini ko'rsatadi. +MembersByTownDesc=Ushbu ekran sizga shaharlar bo'yicha a'zolarning statistikasini ko'rsatadi. +MembersByNature=Ushbu ekran sizga a'zolarning statistikasini tabiatan ko'rsatadi. +MembersByRegion=Ushbu ekran sizga mintaqalar bo'yicha a'zolarning statistikasini ko'rsatadi. +MembersStatisticsDesc=O'qishni istagan statistikani tanlang ... +MenuMembersStats=Statistika +LastMemberDate=Oxirgi a'zolik sanasi +LatestSubscriptionDate=Oxirgi obuna sanasi +MemberNature=A'zoning tabiati +MembersNature=A'zolarning tabiati +Public=Ma'lumot ochiq +NewMemberbyWeb=Yangi a'zo qo'shildi. Tasdiqlash kutilmoqda +NewMemberForm=Yangi a'zo shakli +SubscriptionsStatistics=Obunalar statistikasi +NbOfSubscriptions=Obuna soni +AmountOfSubscriptions=Obunalardan yig'ilgan mablag ' +TurnoverOrBudget=Tovar aylanmasi (kompaniya uchun) yoki byudjet (fond uchun) +DefaultAmount=Standart obuna miqdori +CanEditAmount=Mehmon o'z obunasining miqdorini tanlashi / tahrirlashi mumkin +MEMBER_NEWFORM_PAYONLINE=Onlayn to'lovlar sahifasiga o'ting +ByProperties=Tabiatan +MembersStatisticsByProperties=A'zolar statistikasi tabiatan +VATToUseForSubscriptions=Obuna uchun ishlatiladigan QQS stavkasi +NoVatOnSubscription=Obuna uchun QQS yo'q +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Hisob-fakturaga obuna liniyasi uchun ishlatiladigan mahsulot: %s +NameOrCompany=Ism yoki kompaniya +SubscriptionRecorded=Obuna yozib olindi +NoEmailSentToMember=Ro'yxatdanga elektron pochta xabarlari yuborilmadi +EmailSentToMember=%s orqali a'zoga elektron pochta xabarlari yuborildi +SendReminderForExpiredSubscriptionTitle=Muddati o'tgan obuna uchun elektron pochta orqali eslatma yuboring +SendReminderForExpiredSubscription=Obuna tugashi arafasida a'zolarga elektron pochta orqali eslatma yuboring (parametr - eslatmani yuborish uchun obuna tugashidan bir necha kun oldin. Bu nuqta-vergul bilan ajratilgan kunlar ro'yxati bo'lishi mumkin, masalan '10; 5; 0; -5 ') +MembershipPaid=Joriy davr uchun to'langan a'zolik (%s gacha) +YouMayFindYourInvoiceInThisEmail=Sizning hisob-fakturangizni ushbu elektron pochtaga biriktirilgan holda topishingiz mumkin +XMembersClosed=%s a'zo (lar) yopildi +XExternalUserCreated=%s tashqi foydalanuvchi (lar) yaratildi +ForceMemberNature=Majburiy a'zoning tabiati (Individual yoki Corporation) diff --git a/htdocs/langs/uz_UZ/modulebuilder.lang b/htdocs/langs/uz_UZ/modulebuilder.lang index 9fdaa1a533a..82ce5cf2b8a 100644 --- a/htdocs/langs/uz_UZ/modulebuilder.lang +++ b/htdocs/langs/uz_UZ/modulebuilder.lang @@ -1,145 +1,146 @@ # Dolibarr language file - Source file is en_US - loan -ModuleBuilderDesc=This tool must be used only by experienced users or developers. It provides utilities to build or edit your own module. Documentation for alternative manual development is here. -EnterNameOfModuleDesc=Enter name of the module/application to create with no spaces. Use uppercase to separate words (For example: MyModule, EcommerceForShop, SyncWithMySystem...) -EnterNameOfObjectDesc=Enter name of the object to create with no spaces. Use uppercase to separate words (For example: MyObject, Student, Teacher...). The CRUD class file, but also API file, pages to list/add/edit/delete object and SQL files will be generated. -ModuleBuilderDesc2=Path where modules are generated/edited (first directory for external modules defined into %s): %s -ModuleBuilderDesc3=Generated/editable modules found: %s -ModuleBuilderDesc4=A module is detected as 'editable' when the file %s exists in root of module directory -NewModule=New module -NewObjectInModulebuilder=New object -ModuleKey=Module key -ObjectKey=Object key -ModuleInitialized=Module initialized -FilesForObjectInitialized=Files for new object '%s' initialized -FilesForObjectUpdated=Files for object '%s' updated (.sql files and .class.php file) -ModuleBuilderDescdescription=Enter here all general information that describe your module. -ModuleBuilderDescspecifications=You can enter here a detailed description of the specifications of your module that is not already structured into other tabs. So you have within easy reach all the rules to develop. Also this text content will be included into the generated documentation (see last tab). You can use Markdown format, but it is recommended to use Asciidoc format (comparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). -ModuleBuilderDescobjects=Define here the objects you want to manage with your module. A CRUD DAO class, SQL files, page to list record of objects, to create/edit/view a record and an API will be generated. -ModuleBuilderDescmenus=This tab is dedicated to define menu entries provided by your module. -ModuleBuilderDescpermissions=This tab is dedicated to define the new permissions you want to provide with your module. -ModuleBuilderDesctriggers=This is the view of triggers provided by your module. To include code executed when a triggered business event is launched, just edit this file. -ModuleBuilderDeschooks=This tab is dedicated to hooks. -ModuleBuilderDescwidgets=This tab is dedicated to manage/build widgets. -ModuleBuilderDescbuildpackage=You can generate here a "ready to distribute" package file (a normalized .zip file) of your module and a "ready to distribute" documentation file. Just click on button to build the package or documentation file. -EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted! -EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted! -DangerZone=Danger zone -BuildPackage=Build package -BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like DoliStore.com. -BuildDocumentation=Build documentation -ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here -ModuleIsLive=This module has been activated. Any change may break a current live feature. -DescriptionLong=Long description -EditorName=Name of editor -EditorUrl=URL of editor -DescriptorFile=Descriptor file of module -ClassFile=File for PHP DAO CRUD class -ApiClassFile=File for PHP API class -PageForList=PHP page for list of record -PageForCreateEditView=PHP page to create/edit/view a record -PageForAgendaTab=PHP page for event tab -PageForDocumentTab=PHP page for document tab -PageForNoteTab=PHP page for note tab -PageForContactTab=PHP page for contact tab -PathToModulePackage=Path to zip of module/application package -PathToModuleDocumentation=Path to file of module/application documentation (%s) -SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed. -FileNotYetGenerated=File not yet generated -RegenerateClassAndSql=Force update of .class and .sql files -RegenerateMissingFiles=Generate missing files -SpecificationFile=File of documentation -LanguageFile=File for language -ObjectProperties=Object Properties -ConfirmDeleteProperty=Are you sure you want to delete the property %s? This will change code in PHP class but also remove column from table definition of object. -NotNull=Not NULL -NotNullDesc=1=Set database to NOT NULL. -1=Allow null values and force value to NULL if empty ('' or 0). -SearchAll=Used for 'search all' -DatabaseIndex=Database index -FileAlreadyExists=File %s already exists -TriggersFile=File for triggers code -HooksFile=File for hooks code -ArrayOfKeyValues=Array of key-val -ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values -WidgetFile=Widget file -CSSFile=CSS file -JSFile=Javascript file -ReadmeFile=Readme file -ChangeLog=ChangeLog file -TestClassFile=File for PHP Unit Test class -SqlFile=Sql file -PageForLib=File for the common PHP library -PageForObjLib=File for the PHP library dedicated to object -SqlFileExtraFields=Sql file for complementary attributes -SqlFileKey=Sql file for keys -SqlFileKeyExtraFields=Sql file for keys of complementary attributes -AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case -UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) -IsAMeasure=Is a measure -DirScanned=Directory scanned -NoTrigger=No trigger -NoWidget=No widget -GoToApiExplorer=API explorer -ListOfMenusEntries=List of menu entries -ListOfDictionariesEntries=List of dictionaries entries -ListOfPermissionsDefined=List of defined permissions -SeeExamples=See examples here -EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).

    Using a negative value means field is not shown by default on list but can be selected for viewing).

    It can be an expression, for example:
    preg_match('/public/', $_SERVER['PHP_SELF'])?0:1
    ($user->rights->holiday->define_holiday ? 1 : 0) -DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.
    Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)

    For document :
    0 = not displayed
    1 = display
    2 = display only if not empty

    For document lines :
    0 = not displayed
    1 = displayed in a column
    3 = display in line description column after the description
    4 = display in description column after the description only if not empty -DisplayOnPdf=Display on PDF -IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) -SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) -SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. -LanguageDefDesc=Enter in this files, all the key and the translation for each language file. -MenusDefDesc=Define here the menus provided by your module -DictionariesDefDesc=Define here the dictionaries provided by your module -PermissionsDefDesc=Define here the new permissions provided by your module -MenusDefDescTooltip=The menus provided by your module/application are defined into the array $this->menus into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), menus are also visible into the menu editor available to administrator users on %s. -DictionariesDefDescTooltip=The dictionaries provided by your module/application are defined into the array $this->dictionaries into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), dictionaries are also visible into the setup area to administrator users on %s. -PermissionsDefDescTooltip=The permissions provided by your module/application are defined into the array $this->rights into the module descriptor file. You can edit manually this file or use the embedded editor.

    Note: Once defined (and module re-activated), permissions are visible into the default permissions setup %s. -HooksDefDesc=Define in the module_parts['hooks'] property, in the module descriptor, the context of hooks you want to manage (list of contexts can be found by a search on 'initHooks(' in core code).
    Edit the hook file to add code of your hooked functions (hookable functions can be found by a search on 'executeHooks' in core code). -TriggerDefDesc=Define in the trigger file the code you want to execute for each business event executed. -SeeIDsInUse=See IDs in use in your installation -SeeReservedIDsRangeHere=See range of reserved IDs -ToolkitForDevelopers=Toolkit for Dolibarr developers -TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the native module builder wizard.
    Enable the module %s and use the wizard by clicking the on the top right menu.
    Warning: This is an advanced developer feature, do not experiment on your production site! -SeeTopRightMenu=See on the top right menu -AddLanguageFile=Add language file -YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages") -DropTableIfEmpty=(Destroy table if empty) -TableDoesNotExists=The table %s does not exists -TableDropped=Table %s deleted -InitStructureFromExistingTable=Build the structure array string of an existing table -UseAboutPage=Disable the about page -UseDocFolder=Disable the documentation folder -UseSpecificReadme=Use a specific ReadMe -ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder. -RealPathOfModule=Real path of module -ContentCantBeEmpty=Content of file can't be empty -WidgetDesc=You can generate and edit here the widgets that will be embedded with your module. -CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module. -JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module. -CLIDesc=You can generate here some command line scripts you want to provide with your module. -CLIFile=CLI File -NoCLIFile=No CLI files -UseSpecificEditorName = Use a specific editor name -UseSpecificEditorURL = Use a specific editor URL -UseSpecificFamily = Use a specific family -UseSpecificAuthor = Use a specific author -UseSpecificVersion = Use a specific initial version -IncludeRefGeneration=The reference of object must be generated automatically -IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference -IncludeDocGeneration=I want to generate some documents from the object -IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. -ShowOnCombobox=Show value into combobox -KeyForTooltip=Key for tooltip -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list -NotEditable=Not editable -ForeignKey=Foreign key -TypeOfFieldsHelp=Type of fields:
    varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) -AsciiToHtmlConverter=Ascii to HTML converter -AsciiToPdfConverter=Ascii to PDF converter -TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. -ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ModuleBuilderDesc=Ushbu vositadan faqat tajribali foydalanuvchilar yoki ishlab chiquvchilar foydalanishi kerak. O'zingizning modulingizni yaratish yoki tahrirlash uchun yordam dasturlarini taqdim etadi. Muqobil qo'lda ishlab chiqish uchun hujjatlar bu erda . +EnterNameOfModuleDesc=Bo'sh joysiz yaratish uchun modul / dastur nomini kiriting. So'zlarni ajratish uchun katta harflardan foydalaning (Masalan: MyModule, EcommerceForShop, SyncWithMySystem ...) +EnterNameOfObjectDesc=Bo'sh joysiz yaratish uchun ob'ekt nomini kiriting. So'zlarni ajratish uchun katta harflardan foydalaning (Masalan: MyObject, Student, Teacher ...). CRUD sinf fayli, shuningdek API fayli, ro'yxat / qo'shish / tahrirlash / o'chirish sahifalari va SQL fayllari yaratiladi. +ModuleBuilderDesc2=Modullar ishlab chiqarilgan / tahrirlangan yo'l (tashqi modullar uchun birinchi katalog %s da belgilangan): %s +ModuleBuilderDesc3=Yaratilgan / tahrirlanadigan modullar topildi: %s +ModuleBuilderDesc4= %s fayli modul katalogining ildizida mavjud bo'lganda modul "tahrirlanadigan" deb topildi +NewModule=Yangi modul +NewObjectInModulebuilder=Yangi ob'ekt +ModuleKey=Modul kaliti +ObjectKey=Ob'ekt kaliti +ModuleInitialized=Modul ishga tushirildi +FilesForObjectInitialized=Yangi ob'ekt uchun fayllar '%s' ishga tushirildi +FilesForObjectUpdated='%s' ob'ekti uchun fayllar yangilandi (.sql fayllari va .class.php fayli) +ModuleBuilderDescdescription=Bu erga modulingizni tavsiflovchi barcha umumiy ma'lumotlarni kiriting. +ModuleBuilderDescspecifications=Siz bu erga boshqa yorliqlarda tuzilmagan modulingizning batafsil tavsifini kiritishingiz mumkin. Shunday qilib, siz rivojlantirish uchun barcha qoidalarga osonlikcha erishasiz. Ushbu matn tarkibi yaratilgan hujjatlarga kiritiladi (oxirgi yorliqni ko'ring). Siz Markdown formatidan foydalanishingiz mumkin, ammo Asciidoc formatidan foydalanish tavsiya etiladi (.md va .asciidoc bilan taqqoslash: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). +ModuleBuilderDescobjects=O'zingizning modulingiz bilan boshqarmoqchi bo'lgan ob'ektlarni aniqlang. CRUD DAO klassi, SQL fayllari, ob'ektlar ro'yxati ro'yxati, yozuvni yaratish / tahrirlash / ko'rish uchun API va API yaratiladi. +ModuleBuilderDescmenus=Ushbu yorliq sizning modulingiz tomonidan taqdim etilgan menyu yozuvlarini aniqlashga bag'ishlangan. +ModuleBuilderDescpermissions=Ushbu yorliq sizning modulingiz bilan ta'minlamoqchi bo'lgan yangi ruxsatlarni aniqlashga bag'ishlangan. +ModuleBuilderDesctriggers=Bu sizning modulingiz tomonidan taqdim etilgan triggerlarning ko'rinishi. Tijorat tadbirlari boshlanganda bajarilgan kodni kiritish uchun ushbu faylni tahrirlash kifoya. +ModuleBuilderDeschooks=Ushbu yorliq kancalarga bag'ishlangan. +ModuleBuilderDescwidgets=Ushbu yorliq vidjetlarni boshqarish / qurishga bag'ishlangan. +ModuleBuilderDescbuildpackage=Siz bu erda modulingizning "tarqatishga tayyor" paketli faylini (normalizatsiya qilingan .zip fayli) va "tarqatishga tayyor" hujjat faylini yaratishingiz mumkin. Paket yoki hujjatlar faylini yaratish uchun tugmani bosing. +EnterNameOfModuleToDeleteDesc=Siz modulingizni o'chirib tashlashingiz mumkin. OGOHLANTIRISH: Modulning barcha kodlash fayllari (qo'lda yaratilgan yoki yaratilgan) VA tuzilgan ma'lumotlar va hujjatlar o'chiriladi! +EnterNameOfObjectToDeleteDesc=Ob'ektni o'chirishingiz mumkin. OGOHLANTIRISH: Ob'ektga tegishli bo'lgan barcha kodlash fayllari (qo'lda yaratilgan yoki yaratilgan) o'chiriladi! +DangerZone=Xavfli hudud +BuildPackage=Paket yaratish +BuildPackageDesc=Siz o'zingizning arizangizning zip paketini yaratishingiz mumkin, shunda siz uni har qanday Dolibarr-da tarqatishga tayyor bo'lasiz. Siz uni tarqatishingiz yoki kabi bozorda sotishingiz mumkin DoliStore.com . +BuildDocumentation=Hujjatlarni yaratish +ModuleIsNotActive=Ushbu modul hali faollashtirilmagan. Uni jonli qilish uchun %s-ga o'ting yoki shu yerni bosing +ModuleIsLive=Ushbu modul faollashtirildi. Har qanday o'zgarish joriy jonli xususiyatni buzishi mumkin. +DescriptionLong=Uzoq tavsif +EditorName=Muharrir nomi +EditorUrl=Tahrirlovchining URL manzili +DescriptorFile=Modulning tavsiflovchi fayli +ClassFile=PHP DAO CRUD klassi uchun fayl +ApiClassFile=PHP API klassi uchun fayl +PageForList=Rekordlar ro'yxati uchun PHP sahifasi +PageForCreateEditView=Yozuvni yaratish / tahrirlash / ko'rish uchun PHP sahifasi +PageForAgendaTab=Voqealar yorlig'i uchun PHP sahifasi +PageForDocumentTab=Hujjatlar yorlig'i uchun PHP sahifasi +PageForNoteTab=Eslatma yorlig'i uchun PHP sahifasi +PageForContactTab=Kontakt yorlig'i uchun PHP sahifasi +PathToModulePackage=Modul / dastur paketini zipga yo'naltirish +PathToModuleDocumentation=Modul / dastur hujjatlari fayliga yo'l (%s) +SpaceOrSpecialCharAreNotAllowed=Bo'sh joy yoki maxsus belgilarga ruxsat berilmaydi. +FileNotYetGenerated=Fayl hali yaratilmagan +RegenerateClassAndSql=.Class va .sql fayllarini majburiy yangilash +RegenerateMissingFiles=Yo'qotilgan fayllarni yaratish +SpecificationFile=Hujjatlar fayli +LanguageFile=Til uchun fayl +ObjectProperties=Ob'ekt xususiyatlari +ConfirmDeleteProperty= %s xususiyatini o'chirishni xohlaysizmi? Bu PHP sinfidagi kodni o'zgartiradi, shuningdek ob'ektni jadval ta'rifidan ustunni olib tashlaydi. +NotNull=NULL emas +NotNullDesc=1 = Ma'lumotlar bazasini NOT NULL-ga sozlang. -1 = bo'sh ('' yoki 0) bo'lsa, null qiymatlarga va majburiy qiymatga NULL-ga ruxsat bering. +SearchAll="Hammasini qidirish" uchun ishlatiladi +DatabaseIndex=Ma'lumotlar bazasi indeksi +FileAlreadyExists=%s fayli allaqachon mavjud +TriggersFile=Trigger kodi uchun fayl +HooksFile=Kancalar kodi uchun fayl +ArrayOfKeyValues=Key-val qatori +ArrayOfKeyValuesDesc=Agar maydon belgilangan qiymatlarga ega bo'lgan kombinatsion ro'yxat bo'lsa, kalitlar va qiymatlar qatori +WidgetFile=Vidjet fayli +CSSFile=CSS fayli +JSFile=Javascript fayli +ReadmeFile=Readme fayli +ChangeLog=ChangeLog fayli +TestClassFile=PHP birligi testi uchun fayl +SqlFile=SQL fayli +PageForLib=Umumiy PHP kutubxonasi uchun fayl +PageForObjLib=Ob'ektga bag'ishlangan PHP kutubxonasi uchun fayl +SqlFileExtraFields=Qo'shimcha atributlar uchun SQL fayli +SqlFileKey=Kalitlar uchun SQL fayli +SqlFileKeyExtraFields=Qo'shimcha atributlarning kalitlari uchun SQL fayli +AnObjectAlreadyExistWithThisNameAndDiffCase=Ob'ekt allaqachon ushbu nom va boshqa holat bilan mavjud +UseAsciiDocFormat=Siz Markdown formatidan foydalanishingiz mumkin, ammo Asciidoc formatidan foydalanish tavsiya etiladi (.md va .asciidoc o'rtasidagi omparison: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) +IsAMeasure=Bu o'lchovdir +DirScanned=Katalog skanerdan o'tkazildi +NoTrigger=Trigger yo'q +NoWidget=Vidjet yo‘q +GoToApiExplorer=API Explorer +ListOfMenusEntries=Menyu yozuvlari ro'yxati +ListOfDictionariesEntries=Lug'at yozuvlari ro'yxati +ListOfPermissionsDefined=Belgilangan ruxsatnomalar ro'yxati +SeeExamples=Bu erda misollarni ko'ring +EnabledDesc=Ushbu maydon faol bo'lishi sharti (Masalan: 1 yoki $ conf-> global-> MYMODULE_MYOPTION) +VisibleDesc=Maydon ko'rinadimi? (Masalan: 0 = Hech qachon ko'rinmaydi, 1 = Ro'yxatda ko'rinadi va shakllarni yaratadi / yangilaydi / ko'radi, 2 = Faqat ro'yxatda ko'rinadi, 3 = Faqat shaklni yaratadi / yangilaydi / ko'radi (ro'yxatda emas), 4 = Ro'yxatda ko'rinadigan va faqat yangilash / ko'rish formasi (yaratilmaydi), 5 = Faqat ro'yxat ko'rinishida ko'rinadigan shakl (yaratilmaydi, yangilanmaydi).

    manfiy qiymatdan foydalanish maydon sukut bo'yicha ro'yxatda ko'rsatilmaydi, lekin ko'rish uchun tanlanishi mumkin).

    Bu ibora bo'lishi mumkin, masalan:
    preg_match ('/ public /', $ _SERVER ['PHP_SELF'])? 0: 1
    ($ user-> Rights_day> +DisplayOnPdfDesc=Ushbu maydonni mos keladigan PDF hujjatlarida ko'rsating, siz "Pozitsiya" maydonida pozitsiyani boshqarishingiz mumkin.
    Bugungi kunda ma'lum compatibles PDF modellari: eratosthene (tartibi), espadon (kema), shimgichni (Xarajatlarni), ko'k (propal / narx), cornas (etkazib beruvchi tartib)

    hujjat uchun:
    0 =
    1 ko'rsatilmaydi = ko'rsatish
    2 = ko'rsatishi faqat bo'sh emas, agar

    uchun hujjat bosqichlari:
    0 = emas
    1 = keyin Tavsif ustun 4 = namoyish
    ta'rifi keyin liniyasi Tavsif ustun 3 = namoyish
    bir ustun ko'rsatiladi ko'rsatilgan faqat bo'sh bo'lmasa tavsif +DisplayOnPdf=PDF-da ko'rsatish +IsAMeasureDesc=Jami ro'yxatga kiritish uchun maydon qiymatini yig'ish mumkinmi? (Masalan: 1 yoki 0) +SearchAllDesc=Ushbu maydon tezkor qidiruv vositasidan qidirish uchun foydalaniladimi? (Masalan: 1 yoki 0) +SpecDefDesc=O'zingizning modulingiz bilan ta'minlamoqchi bo'lgan barcha boshqa hujjatlarni bu erga kiriting. Siz .md yoki undan yaxshiroq, boy .asciidoc sintaksisidan foydalanishingiz mumkin. +LanguageDefDesc=Ushbu fayllarga barcha kalitlarni va har bir til fayli uchun tarjimasini kiriting. +MenusDefDesc=Modulingiz tomonidan taqdim etilgan menyularni aniqlang +DictionariesDefDesc=Modulingiz tomonidan taqdim etilgan lug'atlarni aniqlang +PermissionsDefDesc=Sizning modulingiz tomonidan taqdim etilgan yangi ruxsatlarni aniqlang +MenusDefDescTooltip=Sizning modulingiz / ilovangiz tomonidan taqdim etilgan menyular $ this-> menyular massivida modul tavsiflovchi faylida aniqlangan. Siz ushbu faylni qo'lda tahrirlashingiz yoki o'rnatilgan muharrirdan foydalanishingiz mumkin.

    Izoh: Belgilanganidan keyin (va modul qayta yoqilganda) menyu muharriri %s-da administrator foydalanuvchilari uchun mavjud. +DictionariesDefDescTooltip=Sizning modulingiz / ilovangiz tomonidan taqdim etilgan lug'atlar $ this-> lug'atlar massivida modul tavsiflovchi faylida aniqlangan. Siz ushbu faylni qo'lda tahrirlashingiz yoki o'rnatilgan muharrirdan foydalanishingiz mumkin.

    Eslatma: Belgilanganidan keyin (va modul qayta yoqilganda), lug'atlar administrator foydalanuvchilariga %s-da o'rnatish maydonchasida ham ko'rinadi. +PermissionsDefDescTooltip=Sizning modulingiz / ilovangiz tomonidan berilgan ruxsatlar $ this-> huquqlari qatorida modul identifikatori faylida aniqlangan. Siz ushbu faylni qo'lda tahrirlashingiz yoki o'rnatilgan muharrirdan foydalanishingiz mumkin.

    Izoh: Belgilanganidan keyin (va modul qayta yoqilganda), ruxsatnomalar standart ruxsatlar %s-da ko'rinadi. +HooksDefDesc= module_parts ['ilgaklar'] xususiyatida, modul identifikatorida siz boshqarmoqchi bo'lgan ilgaklar kontekstini aniqlang (kontekstlar ro'yxati ' initHooks (a09c094) kodlari) sizning bog'langan funktsiyalaringizning kodini qo'shish uchun kanca fayli (kanca funktsiyalarini ' executeHooks ' dan qidirish orqali topishingiz mumkin). +TriggerDefDesc=Trigger faylida bajarilgan har bir ishbilarmonlik hodisasi uchun siz bajarmoqchi bo'lgan kodni aniqlang. +SeeIDsInUse=O'rnatishda foydalanilayotgan identifikatorlarni ko'ring +SeeReservedIDsRangeHere=Saqlangan identifikatorlar qatorini ko'ring +ToolkitForDevelopers=Dolibarr dasturchilari uchun qo'llanma +TryToUseTheModuleBuilder=Agar siz SQL va PHP haqida ma'lumotga ega bo'lsangiz, mahalliy modul yaratuvchisi sehrgaridan foydalanishingiz mumkin.
    %s modulini yoqing va ustadan o'ng menyusida bosing.
    Ogohlantirish: Bu ishlab chiquvchining rivojlangan xususiyati, ishlab chiqarish saytida
    emas, balki tajribasini bajaring! +SeeTopRightMenu=Yuqoridagi o'ng menyuda ga qarang. +AddLanguageFile=Til faylini qo'shing +YouCanUseTranslationKey=Siz bu erda til faylida joylashgan tarjima kaliti bo'lgan kalitdan foydalanishingiz mumkin ("Tillar" yorlig'iga qarang) +DropTableIfEmpty=(Bo'sh bo'lsa jadvalni yo'q qilish) +TableDoesNotExists=%s jadvali mavjud emas +TableDropped=%s-jadval o'chirildi +InitStructureFromExistingTable=Mavjud jadvalning struktura qatorlari qatorini yarating +UseAboutPage=Haqida sahifani o'chirib qo'ying +UseDocFolder=Hujjatlar papkasini o'chirib qo'ying +UseSpecificReadme=Muayyan ReadMe-dan foydalaning +ContentOfREADMECustomized=Eslatma: README.md faylining tarkibi ModuleBuilder-ni o'rnatishda aniqlangan qiymat bilan almashtirildi. +RealPathOfModule=Modulning haqiqiy yo'li +ContentCantBeEmpty=Fayl tarkibi bo'sh bo'lishi mumkin emas +WidgetDesc=Siz o'zingizning modulingizga o'rnatilgan vidjetlarni yaratishingiz va tahrirlashingiz mumkin. +CSSDesc=Siz o'zingizning modulingizga kiritilgan shaxsiy CSS-ga ega faylni yaratishingiz va tahrirlashingiz mumkin. +JSDesc=Siz o'zingizning modulingizga kiritilgan shaxsiylashtirilgan Javascript bilan fayl yaratishingiz va tahrirlashingiz mumkin. +CLIDesc=Siz o'zingizning modulingiz bilan ta'minlamoqchi bo'lgan ba'zi buyruq satri skriptlarini yaratishingiz mumkin. +CLIFile=CLI fayli +NoCLIFile=CLI fayllari yo'q +UseSpecificEditorName = Muayyan muharrir nomidan foydalaning +UseSpecificEditorURL = Muayyan tahrirlovchining URL manzilidan foydalaning +UseSpecificFamily = Muayyan oiladan foydalaning +UseSpecificAuthor = Muayyan muallifdan foydalaning +UseSpecificVersion = Muayyan dastlabki versiyadan foydalaning +IncludeRefGeneration=Ob'ektning ma'lumotnomasi avtomatik ravishda yaratilishi kerak +IncludeRefGenerationHelp=Malumotni avtomatik ravishda ishlab chiqarishni boshqarish uchun kod qo'shishni xohlasangiz, buni tekshiring +IncludeDocGeneration=Ob'ektdan bir nechta hujjatlar yaratmoqchiman +IncludeDocGenerationHelp=Agar buni belgilasangiz, yozuvga "Hujjat yaratish" katagini qo'shish uchun ba'zi kodlar hosil bo'ladi. +ShowOnCombobox=Kombay qutisiga qiymatni ko'rsating +KeyForTooltip=Maslahatlar uchun kalit +CSSClass=Formani tahrirlash / yaratish uchun CSS +CSSViewClass=O'qish shakli uchun CSS +CSSListClass=Ro'yxat uchun CSS +NotEditable=Tahrirlash mumkin emas +ForeignKey=Chet el kaliti +TypeOfFieldsHelp=Maydonlar turi:
    varchar (99), double (24,8), real, text, html, datetime, timestamp, integer, integer: ClassName: relatpath / to / classfile.class.php [: 1 [: filter]] ('1' biz yozuvni yaratish uchun kombinatsiyadan keyin + tugmachasini qo'shamiz degani, 'filtr' 'status = 1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' bo'lishi mumkin). +AsciiToHtmlConverter=Ascii-dan HTML-ga o'zgartiruvchi +AsciiToPdfConverter=Ascii-dan PDF-ga o'tkazuvchi +TableNotEmptyDropCanceled=Stol bo'sh emas Drop bekor qilindi. +ModuleBuilderNotAllowed=Modul yaratuvchisi mavjud, ammo sizning foydalanuvchingizga ruxsat berilmagan. +ImportExportProfiles=Import va eksport rejimlari diff --git a/htdocs/langs/uz_UZ/mrp.lang b/htdocs/langs/uz_UZ/mrp.lang index ec999a473a4..682005e864f 100644 --- a/htdocs/langs/uz_UZ/mrp.lang +++ b/htdocs/langs/uz_UZ/mrp.lang @@ -1,104 +1,103 @@ -Mrp=Manufacturing Orders -MOs=Manufacturing orders -ManufacturingOrder=Manufacturing Order -MRPDescription=Module to manage production and Manufacturing Orders (MO). -MRPArea=MRP Area -MrpSetupPage=Setup of module MRP -MenuBOM=Bills of material -LatestBOMModified=Latest %s Bills of materials modified -LatestMOModified=Latest %s Manufacturing Orders modified -Bom=Bills of Material -BillOfMaterials=Bill of Material -BOMsSetup=Setup of module BOM -ListOfBOMs=List of bills of material - BOM -ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. -BOMsNumberingModules=BOM numbering templates -BOMsModelModule=BOM document templates -MOsNumberingModules=MO numbering templates -MOsModelModule=MO document templates -FreeLegalTextOnBOMs=Free text on document of BOM -WatermarkOnDraftBOMs=Watermark on draft BOM -FreeLegalTextOnMOs=Free text on document of MO -WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? -ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? -ManufacturingEfficiency=Manufacturing efficiency -ConsumptionEfficiency=Consumption efficiency -ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production -ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product -DeleteBillOfMaterials=Delete Bill Of Materials -DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? -MenuMRP=Manufacturing Orders -NewMO=New Manufacturing Order -QtyToProduce=Qty to produce -DateStartPlannedMo=Date start planned -DateEndPlannedMo=Date end planned -KeepEmptyForAsap=Empty means 'As Soon As Possible' -EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM -ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) -ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? -ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) -StatusMOProduced=Produced -QtyFrozen=Frozen Qty -QuantityFrozen=Frozen Quantity -QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. -DisableStockChange=Stock change disabled -DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed -BomAndBomLines=Bills Of Material and lines -BOMLine=Line of BOM -WarehouseForProduction=Warehouse for production -CreateMO=Create MO -ToConsume=To consume -ToProduce=To produce -QtyAlreadyConsumed=Qty already consumed -QtyAlreadyProduced=Qty already produced -QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) -ConsumeOrProduce=Consume or Produce -ConsumeAndProduceAll=Consume and Produce All -Manufactured=Manufactured -TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. -ForAQuantityOf=For a quantity to produce of %s -ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? -ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. -ProductionForRef=Production of %s -AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached -NoStockChangeOnServices=No stock change on services -ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO -AddNewConsumeLines=Add new line to consume -ProductsToConsume=Products to consume -ProductsToProduce=Products to produce -UnitCost=Unit cost -TotalCost=Total cost -BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price) -GoOnTabProductionToProduceFirst=You must first have started the production to close a Manufacturing Order (See tab '%s'). But you can Cancel it. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +Mrp=Ishlab chiqarish buyurtmalari +MOs=Ishlab chiqarish buyurtmalari +ManufacturingOrder=Ishlab chiqarish tartibi +MRPDescription=Ishlab chiqarish va ishlab chiqarish buyurtmalarini boshqarish uchun modul (MO). +MRPArea=MRP maydoni +MrpSetupPage=MRP modulini sozlash +MenuBOM=Materiallar +LatestBOMModified=Oxirgi %s O'zgartirilgan materiallar hisob-kitoblari +LatestMOModified=Oxirgi %s ishlab chiqarish buyurtmalari o'zgartirildi +Bom=Materiallar veksellari +BillOfMaterials=Materiallar hujjati +BOMsSetup=BOM modulini sozlash +ListOfBOMs=Materiallar ro'yxati - BOM +ListOfManufacturingOrders=Ishlab chiqarish buyurtmalarining ro'yxati +NewBOM=Yangi hisobot materiallari +ProductBOMHelp=Ushbu BOM bilan yaratish (yoki qismlarga ajratish) uchun mahsulot.
    Izoh: 'Mahsulotning tabiati' = 'Xomashyo' xususiyatiga ega mahsulotlar ushbu ro'yxatda ko'rinmaydi. +BOMsNumberingModules=BOM raqamlash shablonlari +BOMsModelModule=BOM hujjatlari shablonlari +MOsNumberingModules=MO raqamlash shablonlari +MOsModelModule=MO hujjatlari shablonlari +FreeLegalTextOnBOMs=BOM hujjatidagi bepul matn +WatermarkOnDraftBOMs=BOM loyihasidagi suv belgisi +FreeLegalTextOnMOs=MO hujjatidagi bepul matn +WatermarkOnDraftMOs=MO loyihasidagi suv belgisi +ConfirmCloneBillOfMaterials=%s materiallar hisobini klonlamoqchimisiz? +ConfirmCloneMo=%s ishlab chiqarish buyurtmasini klonlamoqchimisiz? +ManufacturingEfficiency=Ishlab chiqarish samaradorligi +ConsumptionEfficiency=Iste'mol samaradorligi +ValueOfMeansLoss=0,95 qiymati ishlab chiqarish jarayonida o'rtacha 5%% yo'qotishlarni anglatadi +ValueOfMeansLossForProductProduced=0,95 qiymati ishlab chiqarilgan mahsulotning o'rtacha 5%% yo'qolishini anglatadi +DeleteBillOfMaterials=Materiallar varaqasini o'chirish +DeleteMo=Ishlab chiqarish buyurtmasini o'chirib tashlang +ConfirmDeleteBillOfMaterials=Ushbu Bill Of Materialni o'chirishni xohlaysizmi? +ConfirmDeleteMo=Ushbu Bill Of Materialni o'chirishni xohlaysizmi? +MenuMRP=Ishlab chiqarish buyurtmalari +NewMO=Yangi ishlab chiqarish tartibi +QtyToProduce=Miqdor ishlab chiqarish +DateStartPlannedMo=Sana boshlanishi rejalashtirilgan +DateEndPlannedMo=Sana tugashi rejalashtirilgan +KeepEmptyForAsap=Bo'sh "iloji boricha tezroq" degan ma'noni anglatadi +EstimatedDuration=Taxminiy davomiyligi +EstimatedDurationDesc=Ushbu BOM yordamida ushbu mahsulotni ishlab chiqarish (yoki demontaj qilish) uchun taxminiy muddat +ConfirmValidateBom=BOM-ni %s ma'lumotnomasi bilan tasdiqlashni xohlaysizmi (siz undan yangi ishlab chiqarish buyurtmalarini yaratish uchun foydalanishingiz mumkin) +ConfirmCloseBom=Ushbu BOM-ni bekor qilishni xohlaganingizga ishonchingiz komilmi (endi siz uni yangi ishlab chiqarish buyurtmalarini yaratish uchun ishlata olmaysiz)? +ConfirmReopenBom=Ushbu BOM-ni qayta ochmoqchi ekanligingizga aminmisiz (siz undan yangi ishlab chiqarish buyurtmalarini yaratish uchun foydalanishingiz mumkin) +StatusMOProduced=Ishlab chiqarilgan +QtyFrozen=Muzlatilgan miqdor +QuantityFrozen=Muzlatilgan miqdor +QuantityConsumedInvariable=Ushbu bayroq o'rnatilganida, iste'mol qilingan miqdor har doim belgilangan qiymat bo'lib, ishlab chiqarilgan miqdorga nisbatan emas. +DisableStockChange=Qimmatli qog'ozlar almashinuvi o'chirilgan +DisableStockChangeHelp=Ushbu bayroq o'rnatilganida, iste'mol qilingan miqdordan qat'i nazar, ushbu mahsulotda birja o'zgarishi bo'lmaydi +BomAndBomLines=Materiallar va chiziqlar +BOMLine=BOM liniyasi +WarehouseForProduction=Ishlab chiqarish uchun ombor +CreateMO=MO yaratish +ToConsume=Iste'mol qilish +ToProduce=Ishlab chiqarish +QtyAlreadyConsumed=Miqdor allaqachon iste'mol qilingan +QtyAlreadyProduced=Miqdor allaqachon ishlab chiqarilgan +QtyRequiredIfNoLoss=Zarar bo'lmasa, miqdor talab qilinadi (ishlab chiqarish samaradorligi 100%%) +ConsumeOrProduce=Iste'mol qiling yoki ishlab chiqaring +ConsumeAndProduceAll=Hammasini iste'mol qiling va ishlab chiqaring +Manufactured=Ishlab chiqarilgan +TheProductXIsAlreadyTheProductToProduce=Qo'shiladigan mahsulot allaqachon ishlab chiqariladigan mahsulotdir. +ForAQuantityOf=%s hosil qiladigan miqdor uchun +ForAQuantityToConsumeOf=%s qismini ajratish uchun miqdor uchun +ConfirmValidateMo=Ushbu ishlab chiqarish buyurtmasini tasdiqlamoqchimisiz? +ConfirmProductionDesc="%s" tugmachasini bosish orqali siz iste'mol qilingan miqdorni va / yoki ishlab chiqarishni belgilangan miqdorlarga tasdiqlaysiz. Bu shuningdek aktsiyalarni yangilaydi va aktsiyalarning harakatini qayd etadi. +ProductionForRef=%s ishlab chiqarish +AutoCloseMO=Iste'mol qilinadigan va ishlab chiqariladigan miqdorlarga erishilgan bo'lsa, ishlab chiqarish buyurtmasini avtomatik ravishda yoping +NoStockChangeOnServices=Xizmatlarda birja o'zgarishi yo'q +ProductQtyToConsumeByMO=Hali ham ochiq MO tomonidan iste'mol qilinadigan mahsulot miqdori +ProductQtyToProduceByMO=Hali ham ochiq MO tomonidan ishlab chiqariladigan mahsulot miqdori +AddNewConsumeLines=Iste'mol qilish uchun yangi qator qo'shing +ProductsToConsume=Iste'mol qilinadigan mahsulotlar +ProductsToProduce=Ishlab chiqarish uchun mahsulotlar +UnitCost=Birlik narxi +TotalCost=Umumiy qiymati +BOMTotalCost=Ushbu BOMni ishlab chiqarish uchun har bir miqdor va iste'mol qilinadigan mahsulot narxiga qarab xarajatlar (agar belgilangan bo'lsa, Narx narxidan foydalaning, boshqasi aniqlangan bo'lsa, o'rtacha og'irlik narxidan, eng yaxshi sotib olish narxidan) +GoOnTabProductionToProduceFirst=Ishlab chiqarish buyurtmasini yopish uchun siz avval ishlab chiqarishni boshlashingiz kerak ('%s' yorlig'iga qarang). Ammo siz buni bekor qilishingiz mumkin. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Kitni BOM yoki MOda ishlatib bo'lmaydi +Workstation=Ish stantsiyasi +Workstations=Ish stantsiyalari +WorkstationsDescription=Ish stantsiyalarini boshqarish +WorkstationSetup = Ish stantsiyalarini sozlash +WorkstationSetupPage = Ish stantsiyalarini sozlash sahifasi +WorkstationList=Ish stantsiyalari ro'yxati +WorkstationCreate=Yangi ish stantsiyasini qo'shing +ConfirmEnableWorkstation= %s ish stantsiyasini yoqishni xohlaysizmi? +EnableAWorkstation=Ish stantsiyasini yoqing +ConfirmDisableWorkstation=Ish stantsiyasini o'chirishni xohlaysizmi %s ? +DisableAWorkstation=Ish stantsiyasini o'chirib qo'ying +DeleteWorkstation=O'chirish +NbOperatorsRequired=Kerakli operatorlar soni +THMOperatorEstimated=Taxminiy operator THM +THMMachineEstimated=Taxminiy mashina THM +WorkstationType=Ish stantsiyasining turi +Human=Inson +Machine=Mashina +HumanMachine=Inson / mashina +WorkstationArea=Ish stantsiyasi maydoni +Machines=Mashinalar +THMEstimatedHelp=Ushbu stavka buyumning taxminiy narxini aniqlashga imkon beradi diff --git a/htdocs/langs/uz_UZ/multicurrency.lang b/htdocs/langs/uz_UZ/multicurrency.lang index bfcbd11fb7c..41bb4630ee0 100644 --- a/htdocs/langs/uz_UZ/multicurrency.lang +++ b/htdocs/langs/uz_UZ/multicurrency.lang @@ -1,22 +1,38 @@ # Dolibarr language file - Source file is en_US - multicurrency -MultiCurrency=Multi currency -ErrorAddRateFail=Error in added rate -ErrorAddCurrencyFail=Error in added currency -ErrorDeleteCurrencyFail=Error delete fail -multicurrency_syncronize_error=Synchronization error: %s -MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Use the date of the document to find the currency rate, instead of using the latest known rate -multicurrency_useOriginTx=When an object is created from another, keep the original rate from the source object (otherwise use the latest known rate) +MultiCurrency=Ko'p valyuta +ErrorAddRateFail=Qo'shilgan stavkada xato +ErrorAddCurrencyFail=Qo'shilgan valyutada xatolik yuz berdi +ErrorDeleteCurrencyFail=Xato o'chirilmadi +multicurrency_syncronize_error=Sinxronizatsiya xatosi: %s +MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Valyuta kursini topish uchun hujjat sanasidan foydalaning, o'rniga ma'lum bo'lgan so'nggi kursdan foydalaning +multicurrency_useOriginTx=Ob'ekt boshqasidan yaratilganda, dastlabki tezlikni manba ob'ektidan saqlang (aks holda eng so'nggi ma'lum stavkadan foydalaning) CurrencyLayerAccount=CurrencyLayer API -CurrencyLayerAccount_help_to_synchronize=You must create an account on website %s to use this functionality.
    Get your API key.
    If you use a free account, you can't change the source currency (USD by default).
    If your main currency is not USD, the application will automatically recalculate it.

    You are limited to 1000 synchronizations per month. -multicurrency_appId=API key -multicurrency_appCurrencySource=Source currency -multicurrency_alternateCurrencySource=Alternate source currency -CurrenciesUsed=Currencies used -CurrenciesUsed_help_to_add=Add the different currencies and rates you need to use on your proposals, orders etc. -rate=rate -MulticurrencyReceived=Received, original currency -MulticurrencyRemainderToTake=Remaining amount, original currency -MulticurrencyPaymentAmount=Payment amount, original currency -AmountToOthercurrency=Amount To (in currency of receiving account) -CurrencyRateSyncSucceed=Currency rate synchronization done successfuly -MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Use the currency of the document for online payments +CurrencyLayerAccount_help_to_synchronize=Ushbu funksiyadan foydalanish uchun siz %s veb-saytida qayd yozuvini yaratishingiz kerak.
    API kalitini oling .
    Agar siz bepul hisob qaydnomasidan foydalansangiz, manba (sukut bo'yicha AQSh dollarini) o'zgartira olmaysiz.
    Agar sizning asosiy valyutangiz AQSh dollari bo'lmasa, dastur avtomatik ravishda uni qayta hisoblab chiqadi.

    Siz oyiga 1000 ta sinxronizatsiya bilan cheklangansiz. +multicurrency_appId=API kaliti +multicurrency_appCurrencySource=Manba valyutasi +multicurrency_alternateCurrencySource=Muqobil manba valyutasi +CurrenciesUsed=Amaldagi valyutalar +CurrenciesUsed_help_to_add= , buyurtmalariga va boshqalar bo'yicha foydalanishingiz kerak bo'lgan turli xil valyutalar va kurslarni qo'shing. +rate=stavka +MulticurrencyReceived=Qabul qilingan, asl valyuta +MulticurrencyRemainderToTake=Qolgan summa, asl valyuta +MulticurrencyPaymentAmount=To'lov miqdori, asl valyuta +AmountToOthercurrency=Miqdor (qabul qiluvchi hisob raqamida) +CurrencyRateSyncSucceed=Valyuta kurslarini sinxronlashtirish muvaffaqiyatli amalga oshirildi +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Onlayn to'lovlar uchun hujjat valyutasidan foydalaning +TabTitleMulticurrencyRate=Narxlar ro'yxati +ListCurrencyRate=Valyuta kurslarining ro'yxati +CreateRate=Narx yarating +FormCreateRate=Tezlik yaratish +FormUpdateRate=Narxlarni o'zgartirish +successRateCreate=Ma'lumotlar bazasiga %s valyuta kursi qo'shildi +ConfirmDeleteLineRate=%s sanasida %s valyuta %s kursini olib tashlamoqchimisiz? +DeleteLineRate=Ochiq stavka +successRateDelete=Baho o'chirildi +errorRateDelete=Tarifni o'chirishda xato +successUpdateRate=O'zgartirish amalga oshirildi +ErrorUpdateRate=Tarifni o'zgartirishda xato +Codemulticurrency=valyuta kodi +UpdateRate=stavkani o'zgartirish +CancelUpdate=bekor qilish +NoEmptyRate=Stavka maydoni bo'sh bo'lmasligi kerak diff --git a/htdocs/langs/uz_UZ/oauth.lang b/htdocs/langs/uz_UZ/oauth.lang index 075ff49a895..a8e5efd79d0 100644 --- a/htdocs/langs/uz_UZ/oauth.lang +++ b/htdocs/langs/uz_UZ/oauth.lang @@ -1,32 +1,32 @@ # Dolibarr language file - Source file is en_US - oauth -ConfigOAuth=OAuth Configuration -OAuthServices=OAuth Services -ManualTokenGeneration=Manual token generation -TokenManager=Token Manager -IsTokenGenerated=Is token generated ? -NoAccessToken=No access token saved into local database -HasAccessToken=A token was generated and saved into local database -NewTokenStored=Token received and saved -ToCheckDeleteTokenOnProvider=Click here to check/delete authorization saved by %s OAuth provider -TokenDeleted=Token deleted -RequestAccess=Click here to request/renew access and receive a new token to save -DeleteAccess=Click here to delete token -UseTheFollowingUrlAsRedirectURI=Use the following URL as the Redirect URI when creating your credentials with your OAuth provider: -ListOfSupportedOauthProviders=Enter the credentials provided by your OAuth2 provider. Only supported OAuth2 providers are listedd here. These services may be used by other modules that need OAuth2 authentication. -OAuthSetupForLogin=Page to generate an OAuth token -SeePreviousTab=See previous tab -OAuthIDSecret=OAuth ID and Secret -TOKEN_REFRESH=Token Refresh Present -TOKEN_EXPIRED=Token expired -TOKEN_EXPIRE_AT=Token expire at -TOKEN_DELETE=Delete saved token -OAUTH_GOOGLE_NAME=OAuth Google service +ConfigOAuth=OAuth konfiguratsiyasi +OAuthServices=OAuth xizmatlari +ManualTokenGeneration=Jetonlarni qo'lda yaratish +TokenManager=Token menejeri +IsTokenGenerated=Token yaratiladimi? +NoAccessToken=Mahalliy ma'lumotlar bazasida hech qanday kirish belgisi saqlanmadi +HasAccessToken=Token yaratildi va mahalliy ma'lumotlar bazasiga saqlandi +NewTokenStored=Token qabul qilindi va saqlandi +ToCheckDeleteTokenOnProvider=%s OAuth provayderi tomonidan saqlangan avtorizatsiyani tekshirish / o'chirish uchun shu erni bosing +TokenDeleted=Jeton o'chirildi +RequestAccess=Kirish huquqini so'rash / yangilash va saqlash uchun yangi belgini olish uchun shu erni bosing +DeleteAccess=Tokenni o'chirish uchun shu erni bosing +UseTheFollowingUrlAsRedirectURI=OAuth provayderingiz bilan hisobga olish ma'lumotlarini yaratishda quyidagi URL manzilini qayta yo'naltirish URI sifatida foydalaning: +ListOfSupportedOauthProviders=OAuth2 provayderingiz tomonidan taqdim etilgan hisobga olish ma'lumotlarini kiriting. Bu erda faqat qo'llab-quvvatlanadigan OAuth2 provayderlari ro'yxatga olingan. Ushbu xizmatlardan OAuth2 autentifikatsiyasini talab qiladigan boshqa modullar foydalanishi mumkin. +OAuthSetupForLogin=OAuth belgisini yaratish uchun sahifa +SeePreviousTab=Oldingi yorliqni ko'ring +OAuthIDSecret=OAuth identifikatori va maxfiy +TOKEN_REFRESH=Tokenni yangilash sovg'asi +TOKEN_EXPIRED=Jeton muddati tugagan +TOKEN_EXPIRE_AT=Jeton muddati tugaydi +TOKEN_DELETE=Saqlangan belgini o'chirish +OAUTH_GOOGLE_NAME=OAuth Google xizmati OAUTH_GOOGLE_ID=OAuth Google Id OAUTH_GOOGLE_SECRET=OAuth Google Secret -OAUTH_GOOGLE_DESC=Go to this page then "Credentials" to create OAuth credentials -OAUTH_GITHUB_NAME=OAuth GitHub service +OAUTH_GOOGLE_DESC=OAuth hisob ma'lumotlarini yaratish uchun sahifasiga o'ting , keyin "Ishonch yorliqlari". +OAUTH_GITHUB_NAME=OAuth GitHub xizmati OAUTH_GITHUB_ID=OAuth GitHub Id OAUTH_GITHUB_SECRET=OAuth GitHub Secret -OAUTH_GITHUB_DESC=Go to this page then "Register a new application" to create OAuth credentials -OAUTH_STRIPE_TEST_NAME=OAuth Stripe Test +OAUTH_GITHUB_DESC=Ushbu sahifaga -ga o'ting , keyin OAuth hisob ma'lumotlarini yaratish uchun "yangi dasturni ro'yxatdan o'tkazing". +OAUTH_STRIPE_TEST_NAME=OAuth Stripe testi OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live diff --git a/htdocs/langs/uz_UZ/opensurvey.lang b/htdocs/langs/uz_UZ/opensurvey.lang index 7d26151fa16..87d8745b6da 100644 --- a/htdocs/langs/uz_UZ/opensurvey.lang +++ b/htdocs/langs/uz_UZ/opensurvey.lang @@ -1,61 +1,61 @@ # Dolibarr language file - Source file is en_US - opensurvey -Survey=Poll -Surveys=Polls -OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select the type of poll... -NewSurvey=New poll -OpenSurveyArea=Polls area -AddACommentForPoll=You can add a comment into poll... -AddComment=Add comment -CreatePoll=Create poll -PollTitle=Poll title -ToReceiveEMailForEachVote=Receive an email for each vote -TypeDate=Type date -TypeClassic=Type standard -OpenSurveyStep2=Select your dates among the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it -RemoveAllDays=Remove all days -CopyHoursOfFirstDay=Copy hours of first day -RemoveAllHours=Remove all hours -SelectedDays=Selected days -TheBestChoice=The best choice currently is -TheBestChoices=The best choices currently are -with=with -OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. -CommentsOfVoters=Comments of voters -ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) -RemovePoll=Remove poll -UrlForSurvey=URL to communicate to get a direct access to poll -PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: -CreateSurveyDate=Create a date poll -CreateSurveyStandard=Create a standard poll -CheckBox=Simple checkbox -YesNoList=List (empty/yes/no) -PourContreList=List (empty/for/against) -AddNewColumn=Add new column -TitleChoice=Choice label -ExportSpreadsheet=Export result spreadsheet -ExpireDate=Limit date -NbOfSurveys=Number of polls -NbOfVoters=No. of voters -SurveyResults=Results -PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. -5MoreChoices=5 more choices -Against=Against -YouAreInivitedToVote=You are invited to vote for this poll -VoteNameAlreadyExists=This name was already used for this poll -AddADate=Add a date -AddStartHour=Add start hour -AddEndHour=Add end hour -votes=vote(s) -NoCommentYet=No comments have been posted for this poll yet -CanComment=Voters can comment in the poll -CanSeeOthersVote=Voters can see other people's vote -SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format:
    - empty,
    - "8h", "8H" or "8:00" to give a meeting's start hour,
    - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
    - "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. -BackToCurrentMonth=Back to current month -ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation -ErrorOpenSurveyOneChoice=Enter at least one choice -ErrorInsertingComment=There was an error while inserting your comment -MoreChoices=Enter more choices for the voters -SurveyExpiredInfo=The poll has been closed or voting delay has expired. -EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s -ShowSurvey=Show survey -UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment +Survey=So'rovnoma +Surveys=So'rovnomalar +OrganizeYourMeetingEasily=Uchrashuvlaringiz va so'rovnomalaringizni osonlikcha tashkil qiling. Avval so'rovnoma turini tanlang ... +NewSurvey=Yangi so'rovnoma +OpenSurveyArea=Uchastkalar maydoni +AddACommentForPoll=Izohni so'rovnomaga qo'shishingiz mumkin ... +AddComment=Izoh qo'shish +CreatePoll=So'rovnoma yaratish +PollTitle=So'rovnoma nomi +ToReceiveEMailForEachVote=Har bir ovoz berish uchun elektron pochta xabarini oling +TypeDate=Yozuv sanasi +TypeClassic=Standart turi +OpenSurveyStep2=Bepul kunlar orasida sanalaringizni tanlang (kulrang). Tanlangan kunlar yashil rangda. Oldindan tanlangan kunni qayta bosish orqali bekor qilishingiz mumkin +RemoveAllDays=Barcha kunlarni olib tashlang +CopyHoursOfFirstDay=Birinchi kunning soatlarini nusxalash +RemoveAllHours=Barcha soatlarni olib tashlang +SelectedDays=Tanlangan kunlar +TheBestChoice=Hozirda eng yaxshi tanlov +TheBestChoices=Hozirda eng yaxshi tanlov +with=bilan +OpenSurveyHowTo=Agar siz ushbu so'rovnomada ovoz berishga rozilik bildirsangiz, ismingizni ko'rsatishingiz, o'zingiz uchun eng mos qiymatlarni tanlashingiz va qatorning oxiridagi plyus tugmasi bilan tasdiqlashingiz kerak. +CommentsOfVoters=Saylovchilarning mulohazalari +ConfirmRemovalOfPoll=Ushbu so'rovnomani olib tashlamoqchimisiz (va barcha ovozlar) +RemovePoll=So'rovnomani olib tashlash +UrlForSurvey=So'rovnomaga to'g'ridan-to'g'ri kirish huquqini olish uchun aloqa qilish uchun URL manzili +PollOnChoice=So'rov uchun ko'p tanlov qilish uchun siz so'rovnoma yaratmoqdasiz. Avval so'rovnomangiz uchun barcha mumkin bo'lgan tanlovlarni kiriting: +CreateSurveyDate=Sana bo'yicha so'rovnoma yarating +CreateSurveyStandard=Standart so'rovnoma yarating +CheckBox=Oddiy katakcha +YesNoList=Ro'yxat (bo'sh / ha / yo'q) +PourContreList=Ro'yxat (bo'sh / qarshi / qarshi) +AddNewColumn=Yangi ustun qo'shing +TitleChoice=Tanlov yorlig'i +ExportSpreadsheet=Natija jadvalini eksport qilish +ExpireDate=Cheklov sanasi +NbOfSurveys=So'rovnomalar soni +NbOfVoters=Saylovchilar soni +SurveyResults=Natijalar +PollAdminDesc=Sizga "Tartibga solish" tugmasi bilan ushbu so'rovnomadagi barcha ovoz satrlarini o'zgartirishingiz mumkin. Siz shuningdek, ustunni yoki qatorni %s bilan olib tashlashingiz mumkin. Bundan tashqari, %s bilan yangi ustun qo'shishingiz mumkin. +5MoreChoices=Yana 5 ta tanlov +Against=Qarshi +YouAreInivitedToVote=Sizni ushbu so'rovnomada ovoz berishga taklif qilishadi +VoteNameAlreadyExists=Ushbu nom ushbu so'rovda allaqachon ishlatilgan +AddADate=Sana qo'shing +AddStartHour=Boshlanish soatini qo'shing +AddEndHour=Yakuniy soatni qo'shing +votes=ovoz (lar) +NoCommentYet=Ushbu so'rov uchun hali hech qanday sharh qoldirilmagan +CanComment=Ovoz beruvchilar saylovchilar o'z fikrlarini bildirishlari mumkin +CanSeeOthersVote=Saylovchilar boshqa odamlarning ovozini ko'rishlari mumkin +SelectDayDesc=Har bir tanlangan kun uchun siz quyidagi formatdagi yig'ilish soatlarini tanlashingiz mumkin yoki yo'q:
    - bo'sh,
    - "8h", "8H" yoki "8:00" uchrashuvning boshlanish soatini berish uchun,
    - "8- 11 "," 8h-11h "," 8H-11H "yoki" 8: 00-11: 00 "yig'ilishning boshlanish va tugash soatini berish uchun,
    -" 8h15-11h15 "," 8H15-11H15 "yoki" 8: 15-11: 15 "xuddi shu narsa uchun, lekin daqiqalar bilan. +BackToCurrentMonth=Joriy oyga qaytish +ErrorOpenSurveyFillFirstSection=Siz so'rovnoma yaratishning birinchi qismini to'ldirmadingiz +ErrorOpenSurveyOneChoice=Hech bo'lmaganda bitta tanlovni kiriting +ErrorInsertingComment=Fikringizni kiritishda xatolik yuz berdi +MoreChoices=Saylovchilar uchun ko'proq tanlovlarni kiriting +SurveyExpiredInfo=Ovoz berish yopildi yoki ovoz berishni kechiktirish muddati tugadi. +EmailSomeoneVoted=%s qatorni to'ldirdi.\nSo'rovnomangizni havoladan topishingiz mumkin:\n%s +ShowSurvey=So'rovnomani ko'rsatish +UserMustBeSameThanUserUsedToVote=Siz ovoz bergan bo'lishingiz kerak va sharh yuborish uchun foydalanuvchi ovoz bergan foydalanuvchi nomidan foydalaning diff --git a/htdocs/langs/uz_UZ/orders.lang b/htdocs/langs/uz_UZ/orders.lang index 87d196eb22f..59d1f7d65a2 100644 --- a/htdocs/langs/uz_UZ/orders.lang +++ b/htdocs/langs/uz_UZ/orders.lang @@ -1,191 +1,193 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Customers orders area -SuppliersOrdersArea=Purchase orders area -OrderCard=Order card -OrderId=Order Id -Order=Order -PdfOrderTitle=Order -Orders=Orders -OrderLine=Order line -OrderDate=Order date -OrderDateShort=Order date -OrderToProcess=Order to process -NewOrder=New order -NewOrderSupplier=New Purchase Order -ToOrder=Make order -MakeOrder=Make order -SupplierOrder=Purchase order -SuppliersOrders=Purchase orders -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines -SuppliersOrdersRunning=Current purchase orders -CustomerOrder=Sales Order -CustomersOrders=Sales Orders -CustomersOrdersRunning=Current sales orders -CustomersOrdersAndOrdersLines=Sales orders and order details -OrdersDeliveredToBill=Sales orders delivered to bill -OrdersToBill=Sales orders delivered -OrdersInProcess=Sales orders in process -OrdersToProcess=Sales orders to process -SuppliersOrdersToProcess=Purchase orders to process -SuppliersOrdersAwaitingReception=Purchase orders awaiting reception -AwaitingReception=Awaiting reception -StatusOrderCanceledShort=Canceled -StatusOrderDraftShort=Draft -StatusOrderValidatedShort=Validated -StatusOrderSentShort=In process -StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Ordered -StatusOrderProcessedShort=Processed -StatusOrderDelivered=Delivered -StatusOrderDeliveredShort=Delivered -StatusOrderToBillShort=Delivered -StatusOrderApprovedShort=Approved -StatusOrderRefusedShort=Refused -StatusOrderToProcessShort=To process -StatusOrderReceivedPartiallyShort=Partially received -StatusOrderReceivedAllShort=Products received -StatusOrderCanceled=Canceled -StatusOrderDraft=Draft (needs to be validated) -StatusOrderValidated=Validated -StatusOrderOnProcess=Ordered - Standby reception -StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation -StatusOrderProcessed=Processed -StatusOrderToBill=Delivered -StatusOrderApproved=Approved -StatusOrderRefused=Refused -StatusOrderReceivedPartially=Partially received -StatusOrderReceivedAll=All products received -ShippingExist=A shipment exists -QtyOrdered=Qty ordered -ProductQtyInDraft=Product quantity into draft orders -ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered -MenuOrdersToBill=Orders delivered -MenuOrdersToBill2=Billable orders -ShipProduct=Ship product -CreateOrder=Create Order -RefuseOrder=Refuse order -ApproveOrder=Approve order -Approve2Order=Approve order (second level) -ValidateOrder=Validate order -UnvalidateOrder=Unvalidate order -DeleteOrder=Delete order -CancelOrder=Cancel order -OrderReopened= Order %s re-open -AddOrder=Create order -AddPurchaseOrder=Create purchase order -AddToDraftOrders=Add to draft order -ShowOrder=Show order -OrdersOpened=Orders to process -NoDraftOrders=No draft orders -NoOrder=No order -NoSupplierOrder=No purchase order -LastOrders=Latest %s sales orders -LastCustomerOrders=Latest %s sales orders -LastSupplierOrders=Latest %s purchase orders -LastModifiedOrders=Latest %s modified orders -AllOrders=All orders -NbOfOrders=Number of orders -OrdersStatistics=Order's statistics -OrdersStatisticsSuppliers=Purchase order statistics -NumberOfOrdersByMonth=Number of orders by month -AmountOfOrdersByMonthHT=Amount of orders by month (excl. tax) -ListOfOrders=List of orders -CloseOrder=Close order -ConfirmCloseOrder=Are you sure you want to set this order to delivered? Once an order is delivered, it can be set to billed. -ConfirmDeleteOrder=Are you sure you want to delete this order? -ConfirmValidateOrder=Are you sure you want to validate this order under name %s? -ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status? -ConfirmCancelOrder=Are you sure you want to cancel this order? -ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s? -GenerateBill=Generate invoice -ClassifyShipped=Classify delivered -DraftOrders=Draft orders -DraftSuppliersOrders=Draft purchase orders -OnProcessOrders=In process orders -RefOrder=Ref. order -RefCustomerOrder=Ref. order for customer -RefOrderSupplier=Ref. order for vendor -RefOrderSupplierShort=Ref. order vendor -SendOrderByMail=Send order by mail -ActionsOnOrder=Events on order -NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order -OrderMode=Order method -AuthorRequest=Request author -UserWithApproveOrderGrant=Users granted with "approve orders" permission. -PaymentOrderRef=Payment of order %s -ConfirmCloneOrder=Are you sure you want to clone this order %s? -DispatchSupplierOrder=Receiving purchase order %s -FirstApprovalAlreadyDone=First approval already done -SecondApprovalAlreadyDone=Second approval already done -SupplierOrderReceivedInDolibarr=Purchase Order %s received %s -SupplierOrderSubmitedInDolibarr=Purchase Order %s submitted -SupplierOrderClassifiedBilled=Purchase Order %s set billed -OtherOrders=Other orders +OrdersArea=Mijozlar buyurtma maydoni +SuppliersOrdersArea=Sotib olish buyurtmalari maydoni +OrderCard=Buyurtma kartasi +OrderId=Buyurtma identifikatori +Order=Buyurtma +PdfOrderTitle=Buyurtma +Orders=Buyurtmalar +OrderLine=Buyurtma qatori +OrderDate=Buyurtma sanasi +OrderDateShort=Buyurtma sanasi +OrderToProcess=Qayta ishlash uchun buyurtma +NewOrder=Yangi buyurtma +NewSupplierOrderShort=Yangi buyurtma +NewOrderSupplier=Xarid qilish bo'yicha yangi buyurtma +ToOrder=Buyurtma qiling +MakeOrder=Buyurtma qiling +SupplierOrder=Xarid buyurtmasi +SuppliersOrders=Sotib olish uchun buyurtmalar +SaleOrderLines=Sotish buyurtmalarining yo'nalishlari +PurchaseOrderLines=Puchase buyurtma satrlari +SuppliersOrdersRunning=Amaldagi buyurtmalar +CustomerOrder=Sotish tartibi +CustomersOrders=Sotish bo'yicha buyurtmalar +CustomersOrdersRunning=Joriy savdo buyurtmalari +CustomersOrdersAndOrdersLines=Savdo buyurtmalari va buyurtma tafsilotlari +OrdersDeliveredToBill=Savdo buyurtmalari hisob-kitobga etkazildi +OrdersToBill=Savdo buyurtmalari etkazib berildi +OrdersInProcess=Savdo buyurtmalari amalga oshirilmoqda +OrdersToProcess=Savdo buyurtmalarini qayta ishlash +SuppliersOrdersToProcess=Qayta ishlash uchun buyurtmalarni sotib oling +SuppliersOrdersAwaitingReception=Qabul qilishni kutayotgan sotib olish buyurtmalari +AwaitingReception=Qabul kutilmoqda +StatusOrderCanceledShort=Bekor qilindi +StatusOrderDraftShort=Qoralama +StatusOrderValidatedShort=Tasdiqlangan +StatusOrderSentShort=Jarayonida +StatusOrderSent=Yuk tashish jarayoni +StatusOrderOnProcessShort=Buyurtma berildi +StatusOrderProcessedShort=Qayta ishlangan +StatusOrderDelivered=Yetkazib berildi +StatusOrderDeliveredShort=Yetkazib berildi +StatusOrderToBillShort=Yetkazib berildi +StatusOrderApprovedShort=Tasdiqlangan +StatusOrderRefusedShort=Rad etildi +StatusOrderToProcessShort=Qayta ishlash uchun +StatusOrderReceivedPartiallyShort=Qisman qabul qilindi +StatusOrderReceivedAllShort=Qabul qilingan mahsulotlar +StatusOrderCanceled=Bekor qilindi +StatusOrderDraft=Qoralama (tasdiqlanishi kerak) +StatusOrderValidated=Tasdiqlangan +StatusOrderOnProcess=Buyurtma qilingan - kutish holatida qabul qilish +StatusOrderOnProcessWithValidation=Buyurtma qilingan - kutish holatida qabul qilish yoki tasdiqlash +StatusOrderProcessed=Qayta ishlangan +StatusOrderToBill=Yetkazib berildi +StatusOrderApproved=Tasdiqlangan +StatusOrderRefused=Rad etildi +StatusOrderReceivedPartially=Qisman qabul qilindi +StatusOrderReceivedAll=Qabul qilingan barcha mahsulotlar +ShippingExist=Yuk tashish mavjud +QtyOrdered=Miqdor buyurtma berdi +ProductQtyInDraft=Buyurtma buyurtmalariga mahsulot miqdori +ProductQtyInDraftOrWaitingApproved=Mahsulot miqdori hali buyurtma qilinmagan, qoralama yoki tasdiqlangan buyurtmalarga kiradi +MenuOrdersToBill=Buyurtmalar etkazib berildi +MenuOrdersToBill2=To'lanadigan buyurtmalar +ShipProduct=Kema mahsuloti +CreateOrder=Buyurtma yaratish +RefuseOrder=Buyurtmani rad etish +ApproveOrder=Buyurtmani tasdiqlash +Approve2Order=Buyurtmani tasdiqlash (ikkinchi daraja) +ValidateOrder=Buyurtmani tasdiqlash +UnvalidateOrder=Buyurtmani bekor qilish +DeleteOrder=Buyurtmani o'chirish +CancelOrder=Buyurtmani bekor qilish +OrderReopened= %s buyurtmasini qayta oching +AddOrder=Buyurtma yaratish +AddSupplierOrderShort=Buyurtma yaratish +AddPurchaseOrder=Xarid qilish uchun buyurtma yarating +AddToDraftOrders=Chizma buyurtmasiga qo'shing +ShowOrder=Buyurtmani ko'rsatish +OrdersOpened=Qayta ishlash uchun buyurtmalar +NoDraftOrders=Buyurtmalar loyihasi yo'q +NoOrder=Buyurtma yo'q +NoSupplierOrder=Sotib olishga buyurtma yo‘q +LastOrders=Oxirgi %s savdo buyurtmalari +LastCustomerOrders=Oxirgi %s savdo buyurtmalari +LastSupplierOrders=Oxirgi %s buyurtmalari +LastModifiedOrders=Oxirgi %s o'zgartirilgan buyurtmalar +AllOrders=Barcha buyurtmalar +NbOfOrders=Buyurtmalar soni +OrdersStatistics=Buyurtmaning statistikasi +OrdersStatisticsSuppliers=Sotib olish to'g'risida buyurtma statistikasi +NumberOfOrdersByMonth=Oylar bo'yicha buyurtmalar soni +AmountOfOrdersByMonthHT=Oylar bo'yicha buyurtmalar miqdori (soliqdan tashqari) +ListOfOrders=Buyurtmalar ro'yxati +CloseOrder=Buyurtmani yopish +ConfirmCloseOrder=Ushbu buyurtmani etkazib berishga sozlamoqchimisiz? Buyurtma etkazib berilgandan so'ng, u hisob-kitobga o'rnatilishi mumkin. +ConfirmDeleteOrder=Ushbu buyurtmani o'chirishni xohlaysizmi? +ConfirmValidateOrder=Ushbu buyurtmani %s nomi ostida tasdiqlamoqchimisiz? +ConfirmUnvalidateOrder=Vaziyatni tuzish uchun %s tartibini qayta tiklamoqchimisiz? +ConfirmCancelOrder=Haqiqatan ham ushbu buyurtmani bekor qilmoqchimisiz? +ConfirmMakeOrder=Ushbu buyurtmani %s orqali amalga oshirganingizni tasdiqlamoqchimisiz? +GenerateBill=Hisob-fakturani yarating +ClassifyShipped=Tasnif yetkazib berildi +DraftOrders=Buyurtmalar loyihasi +DraftSuppliersOrders=Xarid buyurtmalarining loyihasi +OnProcessOrders=Jarayon buyurtmalarida +RefOrder=Ref. buyurtma +RefCustomerOrder=Ref. mijoz uchun buyurtma +RefOrderSupplier=Ref. sotuvchi uchun buyurtma +RefOrderSupplierShort=Ref. buyurtma sotuvchisi +SendOrderByMail=Buyurtmani pochta orqali yuboring +ActionsOnOrder=Buyurtma bo'yicha tadbirlar +NoArticleOfTypeProduct="Mahsulot" turidagi maqola yo'q, shuning uchun ushbu buyurtma uchun jo'natiladigan maqola yo'q +OrderMode=Buyurtma usuli +AuthorRequest=Muallifga murojaat qiling +UserWithApproveOrderGrant="Buyurtmalarni tasdiqlash" uchun ruxsat berilgan foydalanuvchilar. +PaymentOrderRef=%s buyurtmasini to'lash +ConfirmCloneOrder=Ushbu buyurtmani klonlamoqchimisiz %s ? +DispatchSupplierOrder=%s sotib olish buyurtmasini qabul qilish +FirstApprovalAlreadyDone=Birinchi tasdiqlash allaqachon qilingan +SecondApprovalAlreadyDone=Ikkinchi tasdiqlash allaqachon amalga oshirilgan +SupplierOrderReceivedInDolibarr=%s sotib olish buyurtmasi %s qabul qilindi +SupplierOrderSubmitedInDolibarr=%s sotib olish buyurtmasi taqdim etildi +SupplierOrderClassifiedBilled=Xarid qilish buyurtmasi %s to'plami taqdim etiladi +OtherOrders=Boshqa buyurtmalar ##### Types de contacts ##### -TypeContact_commande_internal_SALESREPFOLL=Representative following-up sales order -TypeContact_commande_internal_SHIPPING=Representative following-up shipping -TypeContact_commande_external_BILLING=Customer invoice contact -TypeContact_commande_external_SHIPPING=Customer shipping contact -TypeContact_commande_external_CUSTOMER=Customer contact following-up order -TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up purchase order -TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping -TypeContact_order_supplier_external_BILLING=Vendor invoice contact -TypeContact_order_supplier_external_SHIPPING=Vendor shipping contact -TypeContact_order_supplier_external_CUSTOMER=Vendor contact following-up order -Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined -Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined -Error_OrderNotChecked=No orders to invoice selected +TypeContact_commande_internal_SALESREPFOLL=Vakilni kuzatib borish bo'yicha buyurtma +TypeContact_commande_internal_SHIPPING=Vakilni etkazib berish +TypeContact_commande_external_BILLING=Mijozlarning hisob-fakturasi bilan aloqa qilish +TypeContact_commande_external_SHIPPING=Mijozlarni etkazib berish bo'yicha aloqa +TypeContact_commande_external_CUSTOMER=Buyurtmachining keyingi buyurtmasi bilan bog'lanish +TypeContact_order_supplier_internal_SALESREPFOLL=Vakilni sotib olish buyurtmasi +TypeContact_order_supplier_internal_SHIPPING=Vakilni etkazib berish +TypeContact_order_supplier_external_BILLING=Sotuvchi fakturasi bilan aloqa qilish +TypeContact_order_supplier_external_SHIPPING=Sotuvchining etkazib berish aloqasi +TypeContact_order_supplier_external_CUSTOMER=Sotuvchiga murojaat qilishning keyingi buyurtmasi +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Doimiy COMMANDE_SUPPLIER_ADDON aniqlanmagan +Error_COMMANDE_ADDON_NotDefined=Doimiy COMMANDE_ADDON aniqlanmagan +Error_OrderNotChecked=Hisob-fakturaga buyurtmalar tanlanmadi # Order modes (how we receive order). Not the "why" are keys stored into dict.lang -OrderByMail=Mail -OrderByFax=Fax -OrderByEMail=Email -OrderByWWW=Online -OrderByPhone=Phone +OrderByMail=Pochta +OrderByFax=Faks +OrderByEMail=Elektron pochta +OrderByWWW=Onlayn +OrderByPhone=Telefon # Documents models -PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) -PDFEratostheneDescription=A complete order model -PDFEdisonDescription=A simple order model -PDFProformaDescription=A complete Proforma invoice template -CreateInvoiceForThisCustomer=Bill orders -CreateInvoiceForThisSupplier=Bill orders -NoOrdersToInvoice=No orders billable -CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. -OrderCreation=Order creation -Ordered=Ordered -OrderCreated=Your orders have been created -OrderFail=An error happened during your orders creation -CreateOrders=Create orders -ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". -OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. -IfValidateInvoiceIsNoOrderStayUnbilled=If invoice validation is 'No', the order will remain to status 'Unbilled' until the invoice is validated. -CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. -SetShippingMode=Set shipping mode -WithReceptionFinished=With reception finished +PDFEinsteinDescription=Buyurtmaning to'liq modeli (Eratosthene shablonining eski qo'llanilishi) +PDFEratostheneDescription=To'liq buyurtma modeli +PDFEdisonDescription=Oddiy buyurtma modeli +PDFProformaDescription=Proforma hisob-fakturasining to'liq shabloni +CreateInvoiceForThisCustomer=Bill buyurtmalari +CreateInvoiceForThisSupplier=Bill buyurtmalari +NoOrdersToInvoice=Hech qanday buyurtma berilmaydi +CloseProcessedOrdersAutomatically=Barcha tanlangan buyurtmalarni "Qayta ishlangan" deb tasniflang. +OrderCreation=Buyurtmani yaratish +Ordered=Buyurtma berildi +OrderCreated=Sizning buyurtmalaringiz yaratilgan +OrderFail=Sizning buyurtmalarni yaratishda xato yuz berdi +CreateOrders=Buyurtma yarating +ToBillSeveralOrderSelectCustomer=Bir nechta buyurtmalar uchun hisob-fakturani yaratish uchun avval mijozga bosing, so'ngra "%s" -ni tanlang. +OptionToSetOrderBilledNotEnabled=Hisob-faktura tasdiqlanganda buyurtmani avtomatik ravishda "Billing" qilib belgilash uchun Workflow moduli opsiyasi yoqilmagan, shuning uchun siz hisob-faktura tuzilgandan so'ng buyurtmalar holatini qo'lda "Billing" ga o'rnatishingiz kerak bo'ladi. +IfValidateInvoiceIsNoOrderStayUnbilled=Agar hisob-fakturani tasdiqlash "Yo'q" bo'lsa, hisob-kitob tasdiqlangunga qadar buyurtma "Hisob-kitob qilinmagan" holatida qoladi. +CloseReceivedSupplierOrdersAutomatically=Agar barcha mahsulotlar olingan bo'lsa, buyurtmani avtomatik ravishda "%s" holatiga qadar yoping. +SetShippingMode=Yuk tashish rejimini o'rnating +WithReceptionFinished=Qabul tugadi #### supplier orders status -StatusSupplierOrderCanceledShort=Canceled -StatusSupplierOrderDraftShort=Draft -StatusSupplierOrderValidatedShort=Validated -StatusSupplierOrderSentShort=In process -StatusSupplierOrderSent=Shipment in process -StatusSupplierOrderOnProcessShort=Ordered -StatusSupplierOrderProcessedShort=Processed -StatusSupplierOrderDelivered=Delivered -StatusSupplierOrderDeliveredShort=Delivered -StatusSupplierOrderToBillShort=Delivered -StatusSupplierOrderApprovedShort=Approved -StatusSupplierOrderRefusedShort=Refused -StatusSupplierOrderToProcessShort=To process -StatusSupplierOrderReceivedPartiallyShort=Partially received -StatusSupplierOrderReceivedAllShort=Products received -StatusSupplierOrderCanceled=Canceled -StatusSupplierOrderDraft=Draft (needs to be validated) -StatusSupplierOrderValidated=Validated -StatusSupplierOrderOnProcess=Ordered - Standby reception -StatusSupplierOrderOnProcessWithValidation=Ordered - Standby reception or validation -StatusSupplierOrderProcessed=Processed -StatusSupplierOrderToBill=Delivered -StatusSupplierOrderApproved=Approved -StatusSupplierOrderRefused=Refused -StatusSupplierOrderReceivedPartially=Partially received -StatusSupplierOrderReceivedAll=All products received +StatusSupplierOrderCanceledShort=Bekor qilindi +StatusSupplierOrderDraftShort=Qoralama +StatusSupplierOrderValidatedShort=Tasdiqlangan +StatusSupplierOrderSentShort=Jarayonida +StatusSupplierOrderSent=Yuk tashish jarayoni +StatusSupplierOrderOnProcessShort=Buyurtma berildi +StatusSupplierOrderProcessedShort=Qayta ishlangan +StatusSupplierOrderDelivered=Yetkazib berildi +StatusSupplierOrderDeliveredShort=Yetkazib berildi +StatusSupplierOrderToBillShort=Yetkazib berildi +StatusSupplierOrderApprovedShort=Tasdiqlangan +StatusSupplierOrderRefusedShort=Rad etildi +StatusSupplierOrderToProcessShort=Qayta ishlash uchun +StatusSupplierOrderReceivedPartiallyShort=Qisman qabul qilindi +StatusSupplierOrderReceivedAllShort=Qabul qilingan mahsulotlar +StatusSupplierOrderCanceled=Bekor qilindi +StatusSupplierOrderDraft=Qoralama (tasdiqlanishi kerak) +StatusSupplierOrderValidated=Tasdiqlangan +StatusSupplierOrderOnProcess=Buyurtma qilingan - kutish holatida qabul qilish +StatusSupplierOrderOnProcessWithValidation=Buyurtma qilingan - kutish holatida qabul qilish yoki tasdiqlash +StatusSupplierOrderProcessed=Qayta ishlangan +StatusSupplierOrderToBill=Yetkazib berildi +StatusSupplierOrderApproved=Tasdiqlangan +StatusSupplierOrderRefused=Rad etildi +StatusSupplierOrderReceivedPartially=Qisman qabul qilindi +StatusSupplierOrderReceivedAll=Qabul qilingan barcha mahsulotlar diff --git a/htdocs/langs/uz_UZ/other.lang b/htdocs/langs/uz_UZ/other.lang index 95297a98859..7ef5d6d14fd 100644 --- a/htdocs/langs/uz_UZ/other.lang +++ b/htdocs/langs/uz_UZ/other.lang @@ -1,292 +1,297 @@ # Dolibarr language file - Source file is en_US - other -SecurityCode=Security code -NumberingShort=N° +SecurityCode=Havfsizlik kodi +NumberingShort=N ° Tools=Tools TMenuTools=Tools -ToolsDesc=All tools not included in other menu entries are grouped here.
    All the tools can be accessed via the left menu. -Birthday=Birthday -BirthdayAlertOn=birthday alert active -BirthdayAlertOff=birthday alert inactive -TransKey=Translation of the key TransKey -MonthOfInvoice=Month (number 1-12) of invoice date -TextMonthOfInvoice=Month (text) of invoice date -PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date -TextPreviousMonthOfInvoice=Previous month (text) of invoice date -NextMonthOfInvoice=Following month (number 1-12) of invoice date -TextNextMonthOfInvoice=Following month (text) of invoice date -PreviousMonth=Previous month -CurrentMonth=Current month -ZipFileGeneratedInto=Zip file generated into %s. -DocFileGeneratedInto=Doc file generated into %s. -JumpToLogin=Disconnected. Go to login page... -MessageForm=Message on online payment form -MessageOK=Message on the return page for a validated payment -MessageKO=Message on the return page for a canceled payment -ContentOfDirectoryIsNotEmpty=Content of this directory is not empty. -DeleteAlsoContentRecursively=Check to delete all content recursively -PoweredBy=Powered by -YearOfInvoice=Year of invoice date -PreviousYearOfInvoice=Previous year of invoice date -NextYearOfInvoice=Following year of invoice date -DateNextInvoiceBeforeGen=Date of next invoice (before generation) -DateNextInvoiceAfterGen=Date of next invoice (after generation) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. -OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. -AtLeastOneMeasureIsRequired=At least 1 field for measure is required -AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required -LatestBlogPosts=Latest Blog Posts -Notify_ORDER_VALIDATE=Sales order validated -Notify_ORDER_SENTBYMAIL=Sales order sent by mail -Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email -Notify_ORDER_SUPPLIER_VALIDATE=Purchase order recorded -Notify_ORDER_SUPPLIER_APPROVE=Purchase order approved -Notify_ORDER_SUPPLIER_REFUSE=Purchase order refused -Notify_PROPAL_VALIDATE=Customer proposal validated -Notify_PROPAL_CLOSE_SIGNED=Customer proposal closed signed -Notify_PROPAL_CLOSE_REFUSED=Customer proposal closed refused -Notify_PROPAL_SENTBYMAIL=Commercial proposal sent by mail -Notify_WITHDRAW_TRANSMIT=Transmission withdrawal -Notify_WITHDRAW_CREDIT=Credit withdrawal -Notify_WITHDRAW_EMIT=Perform withdrawal -Notify_COMPANY_CREATE=Third party created -Notify_COMPANY_SENTBYMAIL=Mails sent from third party card -Notify_BILL_VALIDATE=Customer invoice validated -Notify_BILL_UNVALIDATE=Customer invoice unvalidated -Notify_BILL_PAYED=Customer invoice paid -Notify_BILL_CANCEL=Customer invoice canceled -Notify_BILL_SENTBYMAIL=Customer invoice sent by mail -Notify_BILL_SUPPLIER_VALIDATE=Vendor invoice validated -Notify_BILL_SUPPLIER_PAYED=Vendor invoice paid -Notify_BILL_SUPPLIER_SENTBYMAIL=Vendor invoice sent by mail -Notify_BILL_SUPPLIER_CANCELED=Vendor invoice cancelled -Notify_CONTRACT_VALIDATE=Contract validated -Notify_FICHINTER_VALIDATE=Intervention validated -Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention -Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail -Notify_SHIPPING_VALIDATE=Shipping validated -Notify_SHIPPING_SENTBYMAIL=Shipping sent by mail -Notify_MEMBER_VALIDATE=Member validated -Notify_MEMBER_MODIFY=Member modified -Notify_MEMBER_SUBSCRIPTION=Member subscribed -Notify_MEMBER_RESILIATE=Member terminated -Notify_MEMBER_DELETE=Member deleted -Notify_PROJECT_CREATE=Project creation -Notify_TASK_CREATE=Task created -Notify_TASK_MODIFY=Task modified -Notify_TASK_DELETE=Task deleted -Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) -Notify_EXPENSE_REPORT_APPROVE=Expense report approved -Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) -Notify_HOLIDAY_APPROVE=Leave request approved -Notify_ACTION_CREATE=Added action to Agenda -SeeModuleSetup=See setup of module %s -NbOfAttachedFiles=Number of attached files/documents -TotalSizeOfAttachedFiles=Total size of attached files/documents -MaxSize=Maximum size -AttachANewFile=Attach a new file/document -LinkedObject=Linked object -NbOfActiveNotifications=Number of notifications (no. of recipient emails) -PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\n\n__USER_SIGNATURE__ -PredefinedMailTestHtml=__(Hello)__
    This is a test mail sent to __EMAIL__ (the word test must be in bold).
    The lines are separated by a carriage return.

    __USER_SIGNATURE__ -PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached \n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__(Hello)__\n\nWe would like to remind you that the invoice __REF__ seems to have not been paid. A copy of the invoice is attached as a reminder.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendProposal=__(Hello)__\n\nPlease find commercial proposal __REF__ attached \n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierProposal=__(Hello)__\n\nPlease find price request __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendOrder=__(Hello)__\n\nPlease find order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nPlease find our order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n -PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__

    This is an automatic message, please do not reply. -DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available. -ChooseYourDemoProfil=Choose the demo profile that best suits your needs... -ChooseYourDemoProfilMore=...or build your own profile
    (manual module selection) -DemoFundation=Manage members of a foundation -DemoFundation2=Manage members and bank account of a foundation -DemoCompanyServiceOnly=Company or freelance selling service only -DemoCompanyShopWithCashDesk=Manage a shop with a cash desk -DemoCompanyProductAndStocks=Shop selling products with Point Of Sales -DemoCompanyManufacturing=Company manufacturing products -DemoCompanyAll=Company with multiple activities (all main modules) -CreatedBy=Created by %s -ModifiedBy=Modified by %s -ValidatedBy=Validated by %s -SignedBy=Signed by %s -ClosedBy=Closed by %s -CreatedById=User id who created -ModifiedById=User id who made latest change -ValidatedById=User id who validated -CanceledById=User id who canceled -ClosedById=User id who closed -CreatedByLogin=User login who created -ModifiedByLogin=User login who made latest change -ValidatedByLogin=User login who validated -CanceledByLogin=User login who canceled -ClosedByLogin=User login who closed -FileWasRemoved=File %s was removed -DirWasRemoved=Directory %s was removed -FeatureNotYetAvailable=Feature not yet available in the current version -FeaturesSupported=Supported features -Width=Width -Height=Height -Depth=Depth -Top=Top -Bottom=Bottom -Left=Left -Right=Right -CalculatedWeight=Calculated weight -CalculatedVolume=Calculated volume -Weight=Weight -WeightUnitton=ton +ToolsDesc=Boshqa menyu yozuvlariga kiritilmagan barcha vositalar bu erda to'plangan.
    Barcha vositalarga chap menyu orqali kirish mumkin. +Birthday=Tug'ilgan kun +BirthdayAlertOn=tug'ilgan kun haqida ogohlantirish faol +BirthdayAlertOff=tug'ilgan kun haqida ogohlantirish faol emas +TransKey=TransKey kalitining tarjimasi +MonthOfInvoice=Hisob-faktura sanasi oyi (1-12-raqam) +TextMonthOfInvoice=Hisob-faktura sanasi oyi (matni) +PreviousMonthOfInvoice=Hisob-fakturaning oldingi oyi (raqam 1-12) +TextPreviousMonthOfInvoice=Hisob-fakturaning oldingi oyi (matni) +NextMonthOfInvoice=Keyingi oy (1-12-raqam) hisob-faktura sanasi +TextNextMonthOfInvoice=Hisob-fakturaning keyingi oyi (matni) +PreviousMonth=Oldingi oy +CurrentMonth=Joriy oy +ZipFileGeneratedInto= %s formatida yaratilgan zip fayl. +DocFileGeneratedInto= %s formatida yaratilgan hujjat fayli. +JumpToLogin=Uzildi. Kirish sahifasiga o'tish ... +MessageForm=Onlayn to'lov shaklidagi xabar +MessageOK=Tasdiqlangan to'lov uchun qaytarish sahifasidagi xabar +MessageKO=Bekor qilingan to'lov uchun qaytarish sahifasidagi xabar +ContentOfDirectoryIsNotEmpty=Ushbu katalog tarkibi bo'sh emas. +DeleteAlsoContentRecursively=Barcha tarkibni rekursiv ravishda o'chirishni tekshiring +PoweredBy=Tomonidan qo'llab-quvvatlanadi +YearOfInvoice=Hisob-faktura sanasi yili +PreviousYearOfInvoice=Hisob-fakturaning oldingi yili +NextYearOfInvoice=Keyingi hisob-faktura sanasi +DateNextInvoiceBeforeGen=Keyingi hisob-fakturaning sanasi (ishlab chiqarishdan oldin) +DateNextInvoiceAfterGen=Keyingi hisob-fakturaning sanasi (avloddan keyin) +GraphInBarsAreLimitedToNMeasures=Grapics %s o'lchovlari bilan "Bars" rejimida cheklangan. Buning o'rniga "Lines" rejimi avtomatik ravishda tanlandi. +OnlyOneFieldForXAxisIsPossible=X o'qi sifatida hozirda faqat bitta maydon mavjud. Faqat birinchi tanlangan maydon tanlangan. +AtLeastOneMeasureIsRequired=O'lchov uchun kamida 1 ta maydon kerak +AtLeastOneXAxisIsRequired=X o'qi uchun kamida 1 maydon kerak +LatestBlogPosts=Blogdagi so'nggi xabarlar +Notify_ORDER_VALIDATE=Savdo buyurtmasi tasdiqlangan +Notify_ORDER_SENTBYMAIL=Savdo buyurtmasi pochta orqali yuborilgan +Notify_ORDER_SUPPLIER_SENTBYMAIL=Xarid qilish buyurtmasi elektron pochta orqali yuborilgan +Notify_ORDER_SUPPLIER_VALIDATE=Sotib olish to'g'risida buyurtma yozib olindi +Notify_ORDER_SUPPLIER_APPROVE=Xarid qilish tartibi tasdiqlandi +Notify_ORDER_SUPPLIER_REFUSE=Xarid qilish buyurtmasi rad etildi +Notify_PROPAL_VALIDATE=Mijozning taklifi tasdiqlandi +Notify_PROPAL_CLOSE_SIGNED=Mijozlar taklifi imzolangan holda yopildi +Notify_PROPAL_CLOSE_REFUSED=Mijozlar taklifi yopildi +Notify_PROPAL_SENTBYMAIL=Tijorat taklifi pochta orqali yuborilgan +Notify_WITHDRAW_TRANSMIT=Transmissiyani olib qo'yish +Notify_WITHDRAW_CREDIT=Kredit olish +Notify_WITHDRAW_EMIT=Cheklashni amalga oshiring +Notify_COMPANY_CREATE=Uchinchi tomon yaratildi +Notify_COMPANY_SENTBYMAIL=Uchinchi shaxs kartasidan yuborilgan pochta xabarlari +Notify_BILL_VALIDATE=Mijozlarning hisob-fakturasi tasdiqlangan +Notify_BILL_UNVALIDATE=Mijozlarning hisob-fakturasi tasdiqlanmagan +Notify_BILL_PAYED=Mijozlarning hisob-fakturasi to'landi +Notify_BILL_CANCEL=Mijozlarning hisob-fakturasi bekor qilindi +Notify_BILL_SENTBYMAIL=Mijozlarning hisob-fakturasi pochta orqali yuborilgan +Notify_BILL_SUPPLIER_VALIDATE=Sotuvchi fakturasi tasdiqlangan +Notify_BILL_SUPPLIER_PAYED=Sotuvchi hisob-fakturasi to'langan +Notify_BILL_SUPPLIER_SENTBYMAIL=Sotuvchi hisob-fakturasi pochta orqali yuborilgan +Notify_BILL_SUPPLIER_CANCELED=Sotuvchi fakturasi bekor qilindi +Notify_CONTRACT_VALIDATE=Shartnoma tasdiqlangan +Notify_FICHINTER_VALIDATE=Interventsiya tasdiqlandi +Notify_FICHINTER_ADD_CONTACT=Interventsiyaga kontakt qo'shildi +Notify_FICHINTER_SENTBYMAIL=Pochta orqali yuborilgan aralashuv +Notify_SHIPPING_VALIDATE=Yuk tashish tasdiqlangan +Notify_SHIPPING_SENTBYMAIL=Yuk tashish pochta orqali yuborilgan +Notify_MEMBER_VALIDATE=Ro'yxatdan tasdiqlangan +Notify_MEMBER_MODIFY=A'zo o'zgartirildi +Notify_MEMBER_SUBSCRIPTION=A'zo obuna bo'ldi +Notify_MEMBER_RESILIATE=A'zo tugatildi +Notify_MEMBER_DELETE=A'zo o'chirildi +Notify_PROJECT_CREATE=Loyihani yaratish +Notify_TASK_CREATE=Vazifa yaratildi +Notify_TASK_MODIFY=Vazifa o'zgartirildi +Notify_TASK_DELETE=Vazifa o'chirildi +Notify_EXPENSE_REPORT_VALIDATE=Xarajatlar to'g'risidagi hisobot tasdiqlandi (tasdiqlash talab qilinadi) +Notify_EXPENSE_REPORT_APPROVE=Xarajatlar to'g'risidagi hisobot tasdiqlandi +Notify_HOLIDAY_VALIDATE=Dam olish so'rovi tasdiqlangan (tasdiqlash kerak) +Notify_HOLIDAY_APPROVE=Dam olish to'g'risidagi so'rov tasdiqlandi +Notify_ACTION_CREATE=Kun tartibiga harakat qo'shildi +SeeModuleSetup=%s modulini o'rnatishga qarang +NbOfAttachedFiles=Biriktirilgan fayllar / hujjatlar soni +TotalSizeOfAttachedFiles=Biriktirilgan fayllar / hujjatlarning umumiy hajmi +MaxSize=Maksimal o'lcham +AttachANewFile=Yangi fayl / hujjat biriktiring +LinkedObject=Bog'langan ob'ekt +NbOfActiveNotifications=Bildirishnomalar soni (oluvchilarning elektron pochtalari yo'q) +PredefinedMailTest=__(Salom)__\nBu __EMAIL__ manziliga yuborilgan sinov xati.\nChiziqlar vagonni qaytarish bilan ajralib turadi.\n\n__USER_SIGNATURE__ +PredefinedMailTestHtml=__ (Salom) __
    Bu __EMAIL__ manziliga yuborilgan test xati (test so'zi qalin bo'lishi kerak).
    Chiziqlar aravachaning qaytishi bilan ajralib turadi.

    __USER_SIGNATURE__ +PredefinedMailContentContract=__(Salom)__\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendInvoice=__(Salom)__\n\nIltimos, __REF__ hisob-fakturasini ilova qiling\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__(Salom)__\n\nSizga shuni eslatib qo'ymoqchimizki, __REF__ schyoti to'lanmaganga o'xshaydi. Hisob-fakturaning nusxasi eslatma sifatida ilova qilinadi.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendProposal=__(Salom)__\n\nIltimos, __REF__ tijorat taklifini ilova qiling\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierProposal=__(Salom)__\n\nIltimos, __REF__ narxlari bo'yicha so'rovni ilova qiling\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendOrder=__(Salom)__\n\nIltimos, __REF__ buyurtmasini biriktirilgan holda toping\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__(Salom)__\n\nIltimos, bizning __REF__ buyurtmamizni ilova qiling\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__(Salom)__\n\nIltimos, __REF__ hisob-fakturasini ilova qiling\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendShipping=__(Salom)__\n\nIltimos, __REF__ jo'natilishini biriktirilgan holda toping\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendFichInter=__(Salom)__\n\nIltimos, __REF__ aralashuvini biriktirilgan holda toping\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentLink=Agar siz hali to'lamagan bo'lsangiz, to'lovni amalga oshirish uchun quyidagi havolani bosishingiz mumkin.\n\n%s\n\n +PredefinedMailContentGeneric=__(Salom)__\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendActionComm=__EVENT_DATE__ soat __EVENT_TIME__ da "__EVENT_LABEL__" voqea eslatmasi

    Bu avtomatik xabar, iltimos javob bermang. +DemoDesc=Dolibarr - bu bir nechta biznes modullarini qo'llab-quvvatlovchi ixcham ERP / CRM. Barcha modullarni namoyish etadigan demo hech qanday ma'noga ega emas, chunki bu stsenariy hech qachon ro'y bermaydi (bir necha yuzta mavjud). Shunday qilib, bir nechta demo profillari mavjud. +ChooseYourDemoProfil=Sizning ehtiyojlaringizga mos keladigan demo profilini tanlang ... +ChooseYourDemoProfilMore=... yoki o'zingizning profilingizni yarating
    (modulni qo'lda tanlash) +DemoFundation=Jamg'arma a'zolarini boshqarish +DemoFundation2=Jamg'arma a'zolari va bankdagi hisob raqamlarini boshqarish +DemoCompanyServiceOnly=Faqat kompaniya yoki erkin sotish xizmati +DemoCompanyShopWithCashDesk=Kassa bilan do'konni boshqaring +DemoCompanyProductAndStocks=Savdo nuqtasi bilan mahsulot sotadigan do'kon +DemoCompanyManufacturing=Kompaniya mahsulot ishlab chiqaradi +DemoCompanyAll=Faoliyati ko'p bo'lgan kompaniya (barcha asosiy modullar) +CreatedBy=%s tomonidan yaratilgan +ModifiedBy=%s tomonidan o'zgartirilgan +ValidatedBy=%s tomonidan tasdiqlangan +SignedBy=%s tomonidan imzolangan +ClosedBy=%s tomonidan yopilgan +CreatedById=Yaratgan foydalanuvchi identifikatori +ModifiedById=Oxirgi o'zgarishlarni amalga oshirgan foydalanuvchi identifikatori +ValidatedById=Tasdiqlangan foydalanuvchi identifikatori +CanceledById=Bekor qilingan foydalanuvchi identifikatori +ClosedById=Yopilgan foydalanuvchi identifikatori +CreatedByLogin=Yaratgan foydalanuvchi login +ModifiedByLogin=Oxirgi o'zgarishlarni amalga oshirgan foydalanuvchi login +ValidatedByLogin=Tasdiqlangan foydalanuvchi login +CanceledByLogin=Bekor qilingan foydalanuvchi kirishi +ClosedByLogin=Yopilgan foydalanuvchi login +FileWasRemoved=%s fayli olib tashlandi +DirWasRemoved=%s katalogi olib tashlandi +FeatureNotYetAvailable=Xususiyat hozirgi versiyada hali mavjud emas +FeatureNotAvailableOnDevicesWithoutMouse=Sichqoncha bo'lmagan qurilmalarda bu xususiyat mavjud emas +FeaturesSupported=Qo'llab-quvvatlanadigan xususiyatlar +Width=Kengligi +Height=Balandligi +Depth=Chuqurlik +Top=Yuqori +Bottom=Pastki +Left=Chapda +Right=To'g'ri +CalculatedWeight=Hisoblangan vazn +CalculatedVolume=Hisoblangan hajm +Weight=Og'irligi +WeightUnitton=tonna WeightUnitkg=kg WeightUnitg=g WeightUnitmg=mg -WeightUnitpound=pound -WeightUnitounce=ounce -Length=Length +WeightUnitpound=funt +WeightUnitounce=untsiya +Length=Uzunlik LengthUnitm=m LengthUnitdm=dm -LengthUnitcm=cm +LengthUnitcm=sm LengthUnitmm=mm -Surface=Area +Surface=Maydon SurfaceUnitm2=m² SurfaceUnitdm2=dm² -SurfaceUnitcm2=cm² +SurfaceUnitcm2=sm² SurfaceUnitmm2=mm² SurfaceUnitfoot2=ft² -SurfaceUnitinch2=in² -Volume=Volume +SurfaceUnitinch2=m2 +Volume=Tovush VolumeUnitm3=m³ VolumeUnitdm3=dm³ (L) -VolumeUnitcm3=cm³ (ml) +VolumeUnitcm3=sm³ (ml) VolumeUnitmm3=mm³ (µl) VolumeUnitfoot3=ft³ VolumeUnitinch3=in³ -VolumeUnitounce=ounce -VolumeUnitlitre=litre -VolumeUnitgallon=gallon +VolumeUnitounce=untsiya +VolumeUnitlitre=litr +VolumeUnitgallon=galon SizeUnitm=m SizeUnitdm=dm -SizeUnitcm=cm +SizeUnitcm=sm SizeUnitmm=mm -SizeUnitinch=inch -SizeUnitfoot=foot -SizeUnitpoint=point -BugTracker=Bug tracker -SendNewPasswordDesc=This form allows you to request a new password. It will be sent to your email address.
    Change will become effective once you click on the confirmation link in the email.
    Check your inbox. -BackToLoginPage=Back to login page -AuthenticationDoesNotAllowSendNewPassword=Authentication mode is %s.
    In this mode, Dolibarr can't know nor change your password.
    Contact your system administrator if you want to change your password. -EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option. -ProfIdShortDesc=Prof Id %s is an information depending on third party country.
    For example, for country %s, it's code %s. -DolibarrDemo=Dolibarr ERP/CRM demo -StatsByNumberOfUnits=Statistics for sum of qty of products/services -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) -NumberOfProposals=Number of proposals -NumberOfCustomerOrders=Number of sales orders -NumberOfCustomerInvoices=Number of customer invoices -NumberOfSupplierProposals=Number of vendor proposals -NumberOfSupplierOrders=Number of purchase orders -NumberOfSupplierInvoices=Number of vendor invoices -NumberOfContracts=Number of contracts -NumberOfMos=Number of manufacturing orders -NumberOfUnitsProposals=Number of units on proposals -NumberOfUnitsCustomerOrders=Number of units on sales orders -NumberOfUnitsCustomerInvoices=Number of units on customer invoices -NumberOfUnitsSupplierProposals=Number of units on vendor proposals -NumberOfUnitsSupplierOrders=Number of units on purchase orders -NumberOfUnitsSupplierInvoices=Number of units on vendor invoices -NumberOfUnitsContracts=Number of units on contracts -NumberOfUnitsMos=Number of units to produce in manufacturing orders -EMailTextInterventionAddedContact=A new intervention %s has been assigned to you. -EMailTextInterventionValidated=The intervention %s has been validated. -EMailTextInvoiceValidated=Invoice %s has been validated. -EMailTextInvoicePayed=Invoice %s has been paid. -EMailTextProposalValidated=Proposal %s has been validated. -EMailTextProposalClosedSigned=Proposal %s has been closed signed. -EMailTextOrderValidated=Order %s has been validated. -EMailTextOrderApproved=Order %s has been approved. -EMailTextOrderValidatedBy=Order %s has been recorded by %s. -EMailTextOrderApprovedBy=Order %s has been approved by %s. -EMailTextOrderRefused=Order %s has been refused. -EMailTextOrderRefusedBy=Order %s has been refused by %s. -EMailTextExpeditionValidated=Shipping %s has been validated. -EMailTextExpenseReportValidated=Expense report %s has been validated. -EMailTextExpenseReportApproved=Expense report %s has been approved. -EMailTextHolidayValidated=Leave request %s has been validated. -EMailTextHolidayApproved=Leave request %s has been approved. -EMailTextActionAdded=The action %s has been added to the Agenda. -ImportedWithSet=Importation data set -DolibarrNotification=Automatic notification -ResizeDesc=Enter new width OR new height. Ratio will be kept during resizing... -NewLength=New width -NewHeight=New height -NewSizeAfterCropping=New size after cropping -DefineNewAreaToPick=Define new area on image to pick (left click on image then drag until you reach the opposite corner) -CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is the information on the current edited image -ImageEditor=Image editor +SizeUnitinch=dyuym +SizeUnitfoot=oyoq +SizeUnitpoint=nuqta +BugTracker=Xatolarni kuzatuvchi +SendNewPasswordDesc=Ushbu shakl yangi parolni so'rashga imkon beradi. Bu sizning elektron pochta manzilingizga yuboriladi.
    O'zgartirish elektron pochtadagi tasdiqlash havolasini bosgandan so'ng kuchga kiradi.
    pochta qutisini tekshiring. +BackToLoginPage=Kirish sahifasiga qaytish +AuthenticationDoesNotAllowSendNewPassword=Autentifikatsiya rejimi %s .
    Ushbu rejimda Dolibarr parolingizni bilolmaydi va o'zgartira olmaydi.
    Agar parolingizni o'zgartirmoqchi bo'lsangiz, tizim ma'muringizga murojaat qiling. +EnableGDLibraryDesc=Ushbu parametrdan foydalanish uchun PHP o'rnatishingizda GD kutubxonasini o'rnating yoki yoqing. +ProfIdShortDesc= Prof Id %s - bu uchinchi tomon mamlakatiga bog'liq bo'lgan ma'lumot.
    Masalan, %s mamlakati uchun bu %s a09a4b739f8 +DolibarrDemo=Dolibarr ERP / CRM demo +StatsByNumberOfUnits=Mahsulotlar / xizmatlar miqdori yig'indisi statistikasi +StatsByNumberOfEntities=Yo'naltiruvchi tashkilotlarning statistikasi (hisob-fakturalar yoki buyurtmalar ...) +NumberOfProposals=Takliflar soni +NumberOfCustomerOrders=Sotish bo'yicha buyurtmalar soni +NumberOfCustomerInvoices=Mijozlarning hisob-fakturalari soni +NumberOfSupplierProposals=Yetkazib beruvchilarning takliflari soni +NumberOfSupplierOrders=Sotib olish uchun buyurtmalar soni +NumberOfSupplierInvoices=Sotuvchi hisob-fakturalari soni +NumberOfContracts=Shartnomalar soni +NumberOfMos=Ishlab chiqarish buyurtmalari soni +NumberOfUnitsProposals=Takliflar bo'yicha birliklar soni +NumberOfUnitsCustomerOrders=Savdo buyurtmalaridagi birliklar soni +NumberOfUnitsCustomerInvoices=Xaridorlarning hisob-fakturalaridagi birliklar soni +NumberOfUnitsSupplierProposals=Sotuvchilarning takliflari bo'yicha birliklar soni +NumberOfUnitsSupplierOrders=Xarid qilish buyurtmalaridagi birliklar soni +NumberOfUnitsSupplierInvoices=Sotuvchi fakturalaridagi birliklar soni +NumberOfUnitsContracts=Shartnomalar bo'yicha birliklar soni +NumberOfUnitsMos=Ishlab chiqarish buyurtmalarida ishlab chiqariladigan birliklar soni +EMailTextInterventionAddedContact=Sizga %s yangi aralashuvi tayinlandi. +EMailTextInterventionValidated=%s aralashuvi tasdiqlandi. +EMailTextInvoiceValidated=%s hisob-fakturasi tasdiqlangan. +EMailTextInvoicePayed=%s hisob-fakturasi to'landi. +EMailTextProposalValidated=%s taklifi tasdiqlandi. +EMailTextProposalClosedSigned=%s taklifi imzolandi. +EMailTextOrderValidated=%s buyurtmasi tasdiqlangan. +EMailTextOrderApproved=%s buyurtmasi tasdiqlandi. +EMailTextOrderValidatedBy=%s buyurtmasi %s tomonidan qayd etilgan. +EMailTextOrderApprovedBy=%s buyurtmasi %s tomonidan tasdiqlangan. +EMailTextOrderRefused=%s buyurtmasi rad etildi. +EMailTextOrderRefusedBy=%s buyurtmasi %s tomonidan rad etildi. +EMailTextExpeditionValidated=%s jo'natmasi tasdiqlangan. +EMailTextExpenseReportValidated=%s xarajatlar hisoboti tasdiqlandi. +EMailTextExpenseReportApproved=%s xarajatlar hisoboti tasdiqlandi. +EMailTextHolidayValidated=%s qoldirish so'rovi tasdiqlangan. +EMailTextHolidayApproved=%s ta'tilga chiqish so'rovi tasdiqlandi. +EMailTextActionAdded=%s harakati kun tartibiga qo'shildi. +ImportedWithSet=Import ma'lumotlari to'plami +DolibarrNotification=Avtomatik bildirishnoma +ResizeDesc=Yangi kenglikni kiriting YOKI yangi balandlik. O'lchamini o'zgartirish paytida nisbat saqlanib qoladi ... +NewLength=Yangi kenglik +NewHeight=Yangi balandlik +NewSizeAfterCropping=Kesishdan keyin yangi o'lcham +DefineNewAreaToPick=Tanlash uchun rasmdagi yangi maydonni aniqlang (rasmni chap tugmasi bilan bosing va keyin qarama-qarshi burchakka yetguncha harakatlantiring) +CurrentInformationOnImage=Ushbu vosita rasmning o'lchamini o'zgartirish yoki kesishga yordam berish uchun ishlab chiqilgan. Bu joriy tahrirlangan rasmdagi ma'lumotlar +ImageEditor=Rasm muharriri YouReceiveMailBecauseOfNotification=You receive this message because your email has been added to list of targets to be informed of particular events into %s software of %s. -YouReceiveMailBecauseOfNotification2=This event is the following: -ThisIsListOfModules=This is a list of modules preselected by this demo profile (only most common modules are visible in this demo). Edit this to have a more personalized demo and click on "Start". -UseAdvancedPerms=Use the advanced permissions of some modules -FileFormat=File format -SelectAColor=Choose a color -AddFiles=Add Files -StartUpload=Start upload -CancelUpload=Cancel upload -FileIsTooBig=Files is too big -PleaseBePatient=Please be patient... -NewPassword=New password -ResetPassword=Reset password -RequestToResetPasswordReceived=A request to change your password has been received. -NewKeyIs=This is your new keys to login -NewKeyWillBe=Your new key to login to software will be -ClickHereToGoTo=Click here to go to %s -YouMustClickToChange=You must however first click on the following link to validate this password change -ConfirmPasswordChange=Confirm password change -ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. -IfAmountHigherThan=If amount higher than %s -SourcesRepository=Repository for sources -Chart=Chart -PassEncoding=Password encoding -PermissionsAdd=Permissions added -PermissionsDelete=Permissions removed -YourPasswordMustHaveAtLeastXChars=Your password must have at least %s chars -YourPasswordHasBeenReset=Your password has been reset successfully -ApplicantIpAddress=IP address of applicant -SMSSentTo=SMS sent to %s -MissingIds=Missing ids -ThirdPartyCreatedByEmailCollector=Third party created by email collector from email MSGID %s -ContactCreatedByEmailCollector=Contact/address created by email collector from email MSGID %s -ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s -TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s -OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +YouReceiveMailBecauseOfNotification2=Ushbu tadbir quyidagilar: +ThisIsListOfModules=Bu ushbu demo profil tomonidan oldindan tanlangan modullarning ro'yxati (faqat eng keng tarqalgan modullar ushbu demoda ko'rinadi). Shaxsiy demoga ega bo'lish uchun buni tahrirlang va "Ishga tushirish" tugmasini bosing. +UseAdvancedPerms=Ba'zi modullarning kengaytirilgan ruxsatlaridan foydalaning +FileFormat=Fayl formati +SelectAColor=Rangni tanlang +AddFiles=Fayllarni qo'shish +StartUpload=Yuklashni boshlang +CancelUpload=Yuklashni bekor qilish +FileIsTooBig=Fayllar juda katta +PleaseBePatient=Iltimos, sabr qiling ... +NewPassword=Yangi Parol +ResetPassword=Parolni tiklash +RequestToResetPasswordReceived=Parolingizni o'zgartirish to'g'risida so'rov kelib tushdi. +NewKeyIs=Bu sizning kirish uchun yangi kalitlaringiz +NewKeyWillBe=Dasturiy ta'minotga kirish uchun yangi kalitingiz bo'ladi +ClickHereToGoTo=%s ga o'tish uchun shu erni bosing +YouMustClickToChange=Ushbu parol o'zgarishini tasdiqlash uchun avval siz quyidagi havolani bosishingiz kerak +ConfirmPasswordChange=Parolni o'zgartirishni tasdiqlang +ForgetIfNothing=Agar siz ushbu o'zgarishni talab qilmagan bo'lsangiz, ushbu elektron pochtani unutishingiz kifoya. Ma'lumotlaringiz xavfsiz saqlanadi. +IfAmountHigherThan=Agar miqdori %s dan yuqori bo'lsa +SourcesRepository=Manbalar ombori +Chart=Diagramma +PassEncoding=Parolni kodlash +PermissionsAdd=Ruxsatnomalar qo'shildi +PermissionsDelete=Ruxsatlar olib tashlandi +YourPasswordMustHaveAtLeastXChars=Parolingizda kamida %s belgilar bo'lishi kerak +YourPasswordHasBeenReset=Parolingiz qayta tiklandi +ApplicantIpAddress=Ariza beruvchining IP-manzili +SMSSentTo=%s raqamiga SMS yuborildi +MissingIds=Yo'qolgan identifikatorlar +ThirdPartyCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan uchinchi tomon +ContactCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan aloqa / manzil +ProjectCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan loyiha +TicketCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan chipta +OpeningHoursFormatDesc=Ochilish va yopilish soatlarini ajratish uchun a - dan foydalaning.
    Turli xil intervallarni kiritish uchun bo'sh joydan foydalaning.
    Misol: 8-12 14-18 +SuffixSessionName=Sessiya nomi uchun qo'shimchalar ##### Export ##### -ExportsArea=Exports area -AvailableFormats=Available formats -LibraryUsed=Library used -LibraryVersion=Library version -ExportableDatas=Exportable data -NoExportableData=No exportable data (no modules with exportable data loaded, or missing permissions) +ExportsArea=Eksport maydoni +AvailableFormats=Mavjud formatlar +LibraryUsed=Kutubxonadan foydalanilgan +LibraryVersion=Kutubxona versiyasi +ExportableDatas=Eksport qilinadigan ma'lumotlar +NoExportableData=Eksport qilinadigan ma'lumotlar yo'q (eksport qilinadigan ma'lumotlar yuklangan yoki ruxsat etishmayotgan modullar mavjud emas) ##### External sites ##### -WebsiteSetup=Setup of module website -WEBSITE_PAGEURL=URL of page -WEBSITE_TITLE=Title -WEBSITE_DESCRIPTION=Description -WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). -WEBSITE_KEYWORDS=Keywords -LinesToImport=Lines to import +WebsiteSetup=Modul veb-saytini sozlash +WEBSITE_PAGEURL=Sahifaning URL manzili +WEBSITE_TITLE=Sarlavha +WEBSITE_DESCRIPTION=Tavsif +WEBSITE_IMAGE=Rasm +WEBSITE_IMAGEDesc=Tasvir vositalarining nisbiy yo'li. Siz buni bo'sh holatda saqlashingiz mumkin, chunki bu kamdan-kam hollarda qo'llaniladi (uni blogdagi yozuvlar ro'yxatida eskizni ko'rsatish uchun dinamik tarkib yordamida ishlatish mumkin). Yo'l veb-sayt nomiga bog'liq bo'lsa, yo'lda __WEBSITE_KEY__ dan foydalaning (masalan: image / __ WEBSITE_KEY __ / stories / myimage.png). +WEBSITE_KEYWORDS=Kalit so'zlar +LinesToImport=Import qilish uchun chiziqlar -MemoryUsage=Memory usage -RequestDuration=Duration of request -ProductsPerPopularity=Products/Services by popularity -PopuProp=Products/Services by popularity in Proposals -PopuCom=Products/Services by popularity in Orders -ProductStatistics=Products/Services Statistics -NbOfQtyInOrders=Qty in orders -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +MemoryUsage=Xotiradan foydalanish +RequestDuration=So'rov muddati +ProductsPerPopularity=Ommabopligi bo'yicha mahsulotlar / xizmatlar +PopuProp=Takliflarda mashhurligi bo'yicha mahsulotlar / xizmatlar +PopuCom=Buyurtmalardagi mashhurligi bo'yicha mahsulotlar / xizmatlar +ProductStatistics=Mahsulotlar / xizmatlar statistikasi +NbOfQtyInOrders=Buyurtmalar soni +SelectTheTypeOfObjectToAnalyze=Uning statistikasini ko'rish uchun ob'ektni tanlang ... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/uz_UZ/partnership.lang b/htdocs/langs/uz_UZ/partnership.lang index 09059995a8d..98b020074bd 100644 --- a/htdocs/langs/uz_UZ/partnership.lang +++ b/htdocs/langs/uz_UZ/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Hamkorlikni boshqarish +PartnershipDescription=Modul sherikligini boshqarish +PartnershipDescriptionLong= Modul sherikligini boshqarish + +AddPartnership=Hamkorlik qo'shing +CancelPartnershipForExpiredMembers=Hamkorlik: muddati o'tgan obunalari bo'lgan a'zolarning sherikligini bekor qiling +PartnershipCheckBacklink=Hamkorlik: teskari bog'lanishni tekshiring # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=Yangi hamkorlik +ListOfPartnerships=Hamkorlik ro'yxati # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Hamkorlikni o'rnatish +PartnershipAbout=Hamkorlik haqida +PartnershipAboutPage=Sahifa haqida hamkorlik +partnershipforthirdpartyormember=Hamkor maqomi "uchinchi tomon" yoki "a'zo" da o'rnatilishi kerak +PARTNERSHIP_IS_MANAGED_FOR=Hamkorlik boshqarildi +PARTNERSHIP_BACKLINKS_TO_CHECK=Tekshirish uchun qayta bog'lanishlar +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Obuna muddati tugaganidan keyin hamkorlik maqomini bekor qilishdan bir necha kun oldin +ReferingWebsiteCheck=Veb-saytga yo'naltirilganligini tekshiring +ReferingWebsiteCheckDesc=Siz o'zingizning veb-saytingizda sheriklaringizning veb-sayt domenlariga orqa bog'lanishni qo'shganligini tekshirish uchun xususiyatni yoqishingiz mumkin. # # Object # -DatePartnershipStart=Start date -DatePartnershipEnd=End date +DeletePartnership=Hamkorlikni o'chirib tashlang +PartnershipDedicatedToThisThirdParty=Ushbu uchinchi tomonga bag'ishlangan hamkorlik +PartnershipDedicatedToThisMember=Ushbu a'zoga bag'ishlangan hamkorlik +DatePartnershipStart=Boshlanish vaqti +DatePartnershipEnd=Tugash sanasi +ReasonDecline=Rad etish sababi +ReasonDeclineOrCancel=Rad etish sababi +PartnershipAlreadyExist=Hamkorlik allaqachon mavjud +ManagePartnership=Hamkorlikni boshqarish +BacklinkNotFoundOnPartnerWebsite=Backlink sherik veb-saytida topilmadi +ConfirmClosePartnershipAsk=Haqiqatan ham ushbu hamkorlikni bekor qilmoqchimisiz? +PartnershipType=Hamkorlik turi # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Yaqinda hamkorlik bekor qilinadi +SendingEmailOnPartnershipRefused=Hamkorlik rad etildi +SendingEmailOnPartnershipAccepted=Hamkorlik qabul qilindi +SendingEmailOnPartnershipCanceled=Hamkorlik bekor qilindi +YourPartnershipWillSoonBeCanceledTopic=Yaqinda hamkorlik bekor qilinadi +YourPartnershipRefusedTopic=Hamkorlik rad etildi +YourPartnershipAcceptedTopic=Hamkorlik qabul qilindi +YourPartnershipCanceledTopic=Hamkorlik bekor qilindi + +YourPartnershipWillSoonBeCanceledContent=Sizning hamkorligingiz yaqinda bekor qilinishini xabar qilamiz (Backlink topilmadi) +YourPartnershipRefusedContent=Sizning sheriklik so'rovingiz rad etilganligi haqida xabar beramiz. +YourPartnershipAcceptedContent=Sizga sheriklik so'rovingiz qabul qilinganligi to'g'risida xabar beramiz. +YourPartnershipCanceledContent=Sizning hamkorligingiz bekor qilinganligi haqida xabar beramiz. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Rad etish sababi # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - -PartnershipManagedFor=Partners are +PartnershipDraft=Qoralama +PartnershipAccepted=Qabul qilindi +PartnershipRefused=Rad etildi +PartnershipCanceled=Bekor qilindi +PartnershipManagedFor=Hamkorlar diff --git a/htdocs/langs/uz_UZ/paybox.lang b/htdocs/langs/uz_UZ/paybox.lang index 1bbbef4017b..9064f9948a3 100644 --- a/htdocs/langs/uz_UZ/paybox.lang +++ b/htdocs/langs/uz_UZ/paybox.lang @@ -1,31 +1,30 @@ # Dolibarr language file - Source file is en_US - paybox -PayBoxSetup=PayBox module setup -PayBoxDesc=This module offer pages to allow payment on Paybox by customers. This can be used for a free payment or for a payment on a particular Dolibarr object (invoice, order, ...) -FollowingUrlAreAvailableToMakePayments=Following URLs are available to offer a page to a customer to make a payment on Dolibarr objects -PaymentForm=Payment form -WelcomeOnPaymentPage=Welcome to our online payment service -ThisScreenAllowsYouToPay=This screen allow you to make an online payment to %s. -ThisIsInformationOnPayment=This is information on payment to do -ToComplete=To complete -YourEMail=Email to receive payment confirmation -Creditor=Creditor -PaymentCode=Payment code -PayBoxDoPayment=Pay with Paybox -YouWillBeRedirectedOnPayBox=You will be redirected on secured Paybox page to input you credit card information -Continue=Next -SetupPayBoxToHavePaymentCreatedAutomatically=Setup your Paybox with url %s to have payment created automatically when validated by Paybox. -YourPaymentHasBeenRecorded=This page confirms that your payment has been recorded. Thank you. -YourPaymentHasNotBeenRecorded=Your payment has NOT been recorded and the transaction has been canceled. Thank you. -AccountParameter=Account parameters -UsageParameter=Usage parameters -InformationToFindParameters=Help to find your %s account information -PAYBOX_CGI_URL_V2=Url of Paybox CGI module for payment -VendorName=Name of vendor -CSSUrlForPaymentForm=CSS style sheet url for payment form -NewPayboxPaymentReceived=New Paybox payment received -NewPayboxPaymentFailed=New Paybox payment tried but failed -PAYBOX_PAYONLINE_SENDEMAIL=Email notification after payment attempt (success or fail) -PAYBOX_PBX_SITE=Value for PBX SITE -PAYBOX_PBX_RANG=Value for PBX Rang -PAYBOX_PBX_IDENTIFIANT=Value for PBX ID -PAYBOX_HMAC_KEY=HMAC key +PayBoxSetup=PayBox modulini sozlash +PayBoxDesc=Ushbu modul mijozlar tomonidan Paybox orqali to'lovlarni amalga oshirishga imkon beradigan sahifalarni taqdim etadi. Bu bepul to'lov uchun yoki ma'lum bir Dolibarr ob'ekti uchun to'lov uchun ishlatilishi mumkin (hisob-faktura, buyurtma, ...) +FollowingUrlAreAvailableToMakePayments=Dolibarr ob'ektlarida to'lovni amalga oshirish uchun xaridorga sahifani taqdim etish uchun quyidagi URL manzillar mavjud +PaymentForm=To'lov shakli +WelcomeOnPaymentPage=Onlayn to'lov xizmatimizga xush kelibsiz +ThisScreenAllowsYouToPay=Ushbu ekran sizga %s raqamiga onlayn to'lovni amalga oshirishga imkon beradi. +ThisIsInformationOnPayment=Bu to'lash to'g'risida ma'lumot +ToComplete=Tugatish uchun +YourEMail=To'lovni tasdiqlash uchun elektron pochta xabarini yuboring +Creditor=Kreditor +PaymentCode=To'lov kodi +PayBoxDoPayment=Paybox bilan to'lash +YouWillBeRedirectedOnPayBox=Siz kredit karta ma'lumotlarini kiritish uchun xavfsiz Paybox sahifasida yo'naltirilasiz +Continue=Keyingi +SetupPayBoxToHavePaymentCreatedAutomatically=Paybox tomonidan tasdiqlanganida to'lov avtomatik ravishda yaratilishi uchun Paybox-ni url %s bilan sozlang. +YourPaymentHasBeenRecorded=Ushbu sahifa sizning to'lovingiz yozilganligini tasdiqlaydi. Rahmat. +YourPaymentHasNotBeenRecorded=Sizning to'lovingiz qayd etilmagan va tranzaksiya bekor qilingan. Rahmat. +AccountParameter=Hisob parametrlari +UsageParameter=Foydalanish parametrlari +InformationToFindParameters=%s hisob qaydnomangiz ma'lumotlarini topishga yordam bering +PAYBOX_CGI_URL_V2=To'lov uchun Paybox CGI modulining url +CSSUrlForPaymentForm=To'lov shakli uchun CSS uslublar varag'i url +NewPayboxPaymentReceived=Yangi Paybox to'lovi qabul qilindi +NewPayboxPaymentFailed=Paybox-ning yangi to'lovi amalga oshirildi, ammo muvaffaqiyatsiz tugadi +PAYBOX_PAYONLINE_SENDEMAIL=To'lov amalga oshirilgandan so'ng elektron pochta xabarnomasi (muvaffaqiyatli yoki muvaffaqiyatsiz) +PAYBOX_PBX_SITE=PBX SITE qiymati +PAYBOX_PBX_RANG=PBX oralig'i uchun qiymat +PAYBOX_PBX_IDENTIFIANT=PBX identifikatorining qiymati +PAYBOX_HMAC_KEY=HMAC kaliti diff --git a/htdocs/langs/uz_UZ/paypal.lang b/htdocs/langs/uz_UZ/paypal.lang index 5eb5f389445..d3d4e8a508e 100644 --- a/htdocs/langs/uz_UZ/paypal.lang +++ b/htdocs/langs/uz_UZ/paypal.lang @@ -1,36 +1,36 @@ # Dolibarr language file - Source file is en_US - paypal -PaypalSetup=PayPal module setup -PaypalDesc=This module allows payment by customers via PayPal. This can be used for a ad-hoc payment or for a payment related to a Dolibarr object (invoice, order, ...) -PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal) -PaypalDoPayment=Pay with PayPal -PAYPAL_API_SANDBOX=Mode test/sandbox -PAYPAL_API_USER=API username -PAYPAL_API_PASSWORD=API password -PAYPAL_API_SIGNATURE=API signature -PAYPAL_SSLVERSION=Curl SSL Version -PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer "integral" payment (Credit card+PayPal) or "PayPal" only -PaypalModeIntegral=Integral -PaypalModeOnlyPaypal=PayPal only -ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page -ThisIsTransactionId=This is id of transaction: %s -PAYPAL_ADD_PAYMENT_URL=Include the PayPal payment url when you send a document by email -NewOnlinePaymentReceived=New online payment received -NewOnlinePaymentFailed=New online payment tried but failed -ONLINE_PAYMENT_SENDEMAIL=Email address for notifications after each payment attempt (for success and fail) -ReturnURLAfterPayment=Return URL after payment -ValidationOfOnlinePaymentFailed=Validation of online payment failed -PaymentSystemConfirmPaymentPageWasCalledButFailed=Payment confirmation page was called by payment system returned an error -SetExpressCheckoutAPICallFailed=SetExpressCheckout API call failed. -DoExpressCheckoutPaymentAPICallFailed=DoExpressCheckoutPayment API call failed. -DetailedErrorMessage=Detailed Error Message -ShortErrorMessage=Short Error Message -ErrorCode=Error Code -ErrorSeverityCode=Error Severity Code -OnlinePaymentSystem=Online payment system -PaypalLiveEnabled=PayPal "live" mode enabled (otherwise test/sandbox mode) -PaypalImportPayment=Import PayPal payments -PostActionAfterPayment=Post actions after payments -ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. -ValidationOfPaymentFailed=Validation of payment has failed -CardOwner=Card holder -PayPalBalance=Paypal credit +PaypalSetup=PayPal modulini sozlash +PaypalDesc=Ushbu modul mijozlar tomonidan PayPal orqali to'lovlarni amalga oshirishga imkon beradi. Bu vaqtinchalik to'lov uchun yoki Dolibarr ob'ekti bilan bog'liq to'lov uchun ishlatilishi mumkin (hisob-faktura, buyurtma, ...) +PaypalOrCBDoPayment=PayPal (Card yoki PayPal) bilan to'lash +PaypalDoPayment=PayPal bilan to'lash +PAYPAL_API_SANDBOX=Rejim sinovi / qum qutisi +PAYPAL_API_USER=API foydalanuvchi nomi +PAYPAL_API_PASSWORD=API paroli +PAYPAL_API_SIGNATURE=API imzosi +PAYPAL_SSLVERSION=Curl SSL versiyasi +PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Faqat "ajralmas" to'lovni taklif eting (Kredit karta + PayPal) yoki faqat "PayPal" +PaypalModeIntegral=Ajralmas +PaypalModeOnlyPaypal=Faqat PayPal +ONLINE_PAYMENT_CSS_URL=Onlayn to'lovlar sahifasida CSS uslublar jadvalining ixtiyoriy URL manzili +ThisIsTransactionId=Bu tranzaksiya identifikatori: %s +PAYPAL_ADD_PAYMENT_URL=Hujjatni elektron pochta orqali yuborganingizda PayPal to'lov urlini qo'shing +NewOnlinePaymentReceived=Yangi onlayn to'lov qabul qilindi +NewOnlinePaymentFailed=Yangi onlayn to'lov amalga oshirildi, ammo muvaffaqiyatsiz tugadi +ONLINE_PAYMENT_SENDEMAIL=Har bir to'lov urinishidan so'ng bildirishnomalar uchun elektron pochta manzili (muvaffaqiyatli va muvaffaqiyatsiz bo'lganligi uchun) +ReturnURLAfterPayment=To'lovdan so'ng URL manzilini qaytaring +ValidationOfOnlinePaymentFailed=Onlayn to'lovni tasdiqlash amalga oshmadi +PaymentSystemConfirmPaymentPageWasCalledButFailed=To'lov tizimi tomonidan to'lovni tasdiqlash sahifasi chaqirildi, xato yuz berdi +SetExpressCheckoutAPICallFailed=SetExpressCheckout API chaqiruvi amalga oshmadi. +DoExpressCheckoutPaymentAPICallFailed=DoExpressCheckoutPayment API chaqiruvi amalga oshmadi. +DetailedErrorMessage=Batafsil xato xabari +ShortErrorMessage=Qisqa xato xabari +ErrorCode=Xato kodi +ErrorSeverityCode=Xatolik darajasi kodi +OnlinePaymentSystem=Onlayn to'lov tizimi +PaypalLiveEnabled=PayPal "jonli" rejimi yoqilgan (aks holda sinov / sandbox rejimi) +PaypalImportPayment=PayPal to'lovlarini import qilish +PostActionAfterPayment=To'lovlardan so'ng harakatlarni joylashtiring +ARollbackWasPerformedOnPostActions=Postning barcha harakatlarida orqaga qaytarish amalga oshirildi. Agar kerak bo'lsa, post harakatlarini qo'lda bajarishingiz kerak. +ValidationOfPaymentFailed=To'lov tasdiqlanmadi +CardOwner=Karta egasi +PayPalBalance=Paypal krediti diff --git a/htdocs/langs/uz_UZ/printing.lang b/htdocs/langs/uz_UZ/printing.lang index cc26879e4f1..d614e645371 100644 --- a/htdocs/langs/uz_UZ/printing.lang +++ b/htdocs/langs/uz_UZ/printing.lang @@ -1,52 +1,54 @@ # Dolibarr language file - Source file is en_US - printing -Module64000Name=Direct Printing -Module64000Desc=Enable Direct Printing System -PrintingSetup=Setup of Direct Printing System -PrintingDesc=This module adds a Print button to send documents directly to a printer (without opening document into an application) with various module. -MenuDirectPrinting=Direct Printing jobs -DirectPrint=Direct print -PrintingDriverDesc=Configuration variables for printing driver. -ListDrivers=List of drivers -PrintTestDesc=List of Printers. -FileWasSentToPrinter=File %s was sent to printer -ViaModule=via the module -NoActivePrintingModuleFound=No active driver to print document. Check setup of module %s. -PleaseSelectaDriverfromList=Please select a driver from list. -PleaseConfigureDriverfromList=Please configure the selected driver from list. -SetupDriver=Driver setup -TargetedPrinter=Targeted printer -UserConf=Setup per user -PRINTGCP_INFO=Google OAuth API setup -PRINTGCP_AUTHLINK=Authentication +Module64000Name=To'g'ridan-to'g'ri bosib chiqarish +Module64000Desc=To'g'ridan-to'g'ri bosib chiqarish tizimini yoqing +PrintingSetup=To'g'ridan-to'g'ri bosib chiqarish tizimini sozlash +PrintingDesc=Ushbu modul hujjatni boshqa dasturda ochishga hojat qoldirmasdan, hujjatlarni to'g'ridan-to'g'ri printerga bosib chiqarish uchun turli xil modullarga Chop etish tugmachasini qo'shadi. +MenuDirectPrinting=To'g'ridan-to'g'ri bosib chiqarish ishlari +DirectPrint=To'g'ridan-to'g'ri chop etish +PrintingDriverDesc=Drayverni bosib chiqarish uchun konfiguratsiya o'zgaruvchilari. +ListDrivers=Haydovchilar ro'yxati +PrintTestDesc=Printerlar ro'yxati. +FileWasSentToPrinter=%s fayli printerga yuborildi +ViaModule=modul orqali +NoActivePrintingModuleFound=Hujjatni chop etish uchun faol haydovchi yo'q. %s modulini sozlashni tekshiring. +PleaseSelectaDriverfromList=Ro'yxatdan drayverni tanlang. +PleaseConfigureDriverfromList=Iltimos, tanlangan drayverni ro'yxatdan sozlang. +SetupDriver=Haydovchini sozlash +TargetedPrinter=Maqsadli printer +UserConf=Har bir foydalanuvchi uchun sozlash +PRINTGCP_INFO=Google OAuth API-ni sozlash +PRINTGCP_AUTHLINK=Autentifikatsiya PRINTGCP_TOKEN_ACCESS=Google Cloud Print OAuth Token -PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. -GCP_Name=Name -GCP_displayName=Display Name -GCP_Id=Printer Id -GCP_OwnerName=Owner Name -GCP_State=Printer State -GCP_connectionStatus=Online State -GCP_Type=Printer Type -PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_HOST=Print server +PrintGCPDesc=Ushbu haydovchi hujjatlarni to'g'ridan-to'g'ri printerga Google Cloud Print yordamida yuborishga imkon beradi. +GCP_Name=Ism +GCP_displayName=Ko'rsatiladigan ism +GCP_Id=Printer identifikatori +GCP_OwnerName=Egasining ismi +GCP_State=Printer holati +GCP_connectionStatus=Onlayn shtat +GCP_Type=Printer turi +PrintIPPDesc=Ushbu haydovchi hujjatlarni to'g'ridan-to'g'ri printerga yuborishga imkon beradi. Buning uchun CUPS o'rnatilgan Linux tizimi kerak. +PRINTIPP_HOST=Serverni chop etish PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer +PRINTIPP_USER=Kirish +PRINTIPP_PASSWORD=Parol +NoDefaultPrinterDefined=Standart printer aniqlanmagan +DefaultPrinter=Standart printer Printer=Printer -IPP_Uri=Printer Uri -IPP_Name=Printer Name -IPP_State=Printer State -IPP_State_reason=State reason -IPP_State_reason1=State reason1 +IPP_Uri=Uri printeri +IPP_Name=Printer nomi +IPP_State=Printer holati +IPP_State_reason=Davlat sababi +IPP_State_reason1=Davlat sababi1 IPP_BW=BW -IPP_Color=Color -IPP_Device=Device +IPP_Color=Rang +IPP_Device=Qurilma IPP_Media=Printer media -IPP_Supported=Type of media -DirectPrintingJobsDesc=This page lists printing jobs found for available printers. -GoogleAuthNotConfigured=Google OAuth setup not done. Enable module OAuth and set a Google ID/Secret. -GoogleAuthConfigured=Google OAuth credentials were found into setup of module OAuth. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. +IPP_Supported=Ommaviy axborot vositalarining turi +DirectPrintingJobsDesc=Ushbu sahifada mavjud printerlar uchun topilgan chop etish ishlari ro'yxati keltirilgan. +GoogleAuthNotConfigured=Google OAuth o'rnatilmagan. OAuth modulini yoqing va Google ID / Secretni o'rnating. +GoogleAuthConfigured=Google OAuth hisob ma'lumotlari OAuth modulini o'rnatishda topildi. +PrintingDriverDescprintgcp=Google Cloud Print drayverini chop etish uchun konfiguratsiya o'zgaruvchilari. +PrintingDriverDescprintipp=Drayv kuboglarini bosib chiqarish uchun konfiguratsiya o'zgaruvchilari. +PrintTestDescprintgcp=Google Cloud Print uchun printerlar ro'yxati. +PrintTestDescprintipp=Kuboklar uchun printerlar ro'yxati. diff --git a/htdocs/langs/uz_UZ/productbatch.lang b/htdocs/langs/uz_UZ/productbatch.lang index ad2db658e2e..d96d95c511c 100644 --- a/htdocs/langs/uz_UZ/productbatch.lang +++ b/htdocs/langs/uz_UZ/productbatch.lang @@ -1,35 +1,43 @@ -# ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Use lot/serial number -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) -ProductStatusNotOnBatch=No (lot/serial not used) +# ProductBATCH language file - Source file is en_US - ProductBATCH +ManageLotSerial=Lot / seriya raqamidan foydalaning +ProductStatusOnBatch=Ha (lot talab qilinadi) +ProductStatusOnSerial=Ha (noyob seriya raqami talab qilinadi) +ProductStatusNotOnBatch=Yo'q (lot / seriya ishlatilmadi) ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial -ProductStatusNotOnBatchShort=No -Batch=Lot/Serial -atleast1batchfield=Eat-by date or Sell-by date or Lot/Serial number -batch_number=Lot/Serial number -BatchNumberShort=Lot/Serial -EatByDate=Eat-by date -SellByDate=Sell-by date -DetailBatchNumber=Lot/Serial details -printBatch=Lot/Serial: %s -printEatby=Eat-by: %s -printSellby=Sell-by: %s -printQty=Qty: %d -AddDispatchBatchLine=Add a line for Shelf Life dispatching -WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, automatic stock decrease is forced to 'Decrease real stocks on shipping validation' and automatic increase mode is forced to 'Increase real stocks on manual dispatching into warehouses' and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use lot/serial number -ProductLotSetup=Setup of module lot/serial -ShowCurrentStockOfLot=Show current stock for couple product/lot -ShowLogOfMovementIfLot=Show log of movements for couple product/lot -StockDetailPerBatch=Stock detail per lot -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +ProductStatusOnSerialShort=Ketma-ket +ProductStatusNotOnBatchShort=Yo'q +Batch=Lot / ketma-ket +atleast1batchfield=Ovqatlanish sanasi yoki Sotish sanasi yoki Lot / Seriya raqami +batch_number=Lot / seriya raqami +BatchNumberShort=Lot / ketma-ket +EatByDate=Ovqatlanish sanasi +SellByDate=Sotish sanasi +DetailBatchNumber=Lot / ketma-ket tafsilotlar +printBatch=Lot / ketma-ket: %s +printEatby=Ovqatlanish: %s +printSellby=Sotuvchi: %s +printQty=Miqdor: %d +AddDispatchBatchLine=Raf umrini jo'natish uchun qator qo'shing +WhenProductBatchModuleOnOptionAreForced=Lot / Serial moduli yoqilganda, zaxiralarning avtomatik ravishda pasayishi "Yuk tashishni tasdiqlashda haqiqiy zaxiralarni kamaytirish" ga va avtomatik ravishda ko'payish rejimi "omborlarga qo'lda jo'natishda haqiqiy zaxiralarni ko'paytirishga" majbur qilinadi va ularni tahrirlash mumkin emas. Boshqa variantlarni xohlaganingizcha aniqlash mumkin. +ProductDoesNotUseBatchSerial=Ushbu mahsulotda lot / seriya raqami ishlatilmaydi +ProductLotSetup=Modul partiyasini o'rnatish / ketma-ketlik +ShowCurrentStockOfLot=Er-xotin mahsulot / lot uchun joriy zaxiralarni ko'rsating +ShowLogOfMovementIfLot=Er-xotin mahsulot / lot uchun harakatlar jurnalini ko'rsating +StockDetailPerBatch=Har bir lot uchun birja tafsilotlari +SerialNumberAlreadyInUse=%s mahsuloti uchun seriya raqami %s allaqachon ishlatilgan +TooManyQtyForSerialNumber=Sizda seriya raqami %s uchun faqat bitta mahsulot mavjud bo'lishi mumkin %s +ManageLotMask=Maxsus niqob +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) +QtyToAddAfterBarcodeScan=Har bir shtrix / lot / ketma-ket skanerlash uchun qo'shish uchun miqdor +LifeTime=Hayot davomiyligi (kunlar ichida) +EndOfLife=Hayotning oxiri +ManufacturingDate=Ishlab chiqarilgan sana +DestructionDate=Yo'q qilish sanasi +FirstUseDate=Birinchi foydalanish sanasi +QCFrequency=Sifatni nazorat qilish chastotasi (kunlar ichida) + +#Traceability - qc status +OutOfOrder=Ishdan chiqdi +InWorkingOrder=Ish tartibida diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index 0875be0dc07..3cbcf64f53b 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -1,398 +1,401 @@ # Dolibarr language file - Source file is en_US - products -ProductRef=Product ref. -ProductLabel=Product label -ProductLabelTranslated=Translated product label -ProductDescription=Product description -ProductDescriptionTranslated=Translated product description -ProductNoteTranslated=Translated product note -ProductServiceCard=Products/Services card -TMenuProducts=Products -TMenuServices=Services -Products=Products -Services=Services -Product=Product -Service=Service -ProductId=Product/service id -Create=Create -Reference=Reference -NewProduct=New product -NewService=New service -ProductVatMassChange=Global VAT Update -ProductVatMassChangeDesc=This tool updates the VAT rate defined on ALL products and services! -MassBarcodeInit=Mass barcode init -MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. -ProductAccountancyBuyCode=Accounting code (purchase) -ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) -ProductAccountancyBuyExportCode=Accounting code (purchase import) -ProductAccountancySellCode=Accounting code (sale) -ProductAccountancySellIntraCode=Accounting code (sale intra-Community) -ProductAccountancySellExportCode=Accounting code (sale export) -ProductOrService=Product or Service -ProductsAndServices=Products and Services -ProductsOrServices=Products or Services -ProductsPipeServices=Products | Services -ProductsOnSale=Products for sale -ProductsOnPurchase=Products for purchase -ProductsOnSaleOnly=Products for sale only -ProductsOnPurchaseOnly=Products for purchase only -ProductsNotOnSell=Products not for sale and not for purchase -ProductsOnSellAndOnBuy=Products for sale and for purchase -ServicesOnSale=Services for sale -ServicesOnPurchase=Services for purchase -ServicesOnSaleOnly=Services for sale only -ServicesOnPurchaseOnly=Services for purchase only -ServicesNotOnSell=Services not for sale and not for purchase -ServicesOnSellAndOnBuy=Services for sale and for purchase -LastModifiedProductsAndServices=Latest %s products/services which were modified -LastRecordedProducts=Latest %s recorded products -LastRecordedServices=Latest %s recorded services -CardProduct0=Product -CardProduct1=Service -Stock=Stock -MenuStocks=Stocks -Stocks=Stocks and location (warehouse) of products -Movements=Movements -Sell=Sell -Buy=Purchase -OnSell=For sale -OnBuy=For purchase -NotOnSell=Not for sale -ProductStatusOnSell=For sale -ProductStatusNotOnSell=Not for sale -ProductStatusOnSellShort=For sale -ProductStatusNotOnSellShort=Not for sale -ProductStatusOnBuy=For purchase -ProductStatusNotOnBuy=Not for purchase -ProductStatusOnBuyShort=For purchase -ProductStatusNotOnBuyShort=Not for purchase -UpdateVAT=Update vat -UpdateDefaultPrice=Update default price -UpdateLevelPrices=Update prices for each level -AppliedPricesFrom=Applied from -SellingPrice=Selling price -SellingPriceHT=Selling price (excl. tax) -SellingPriceTTC=Selling price (inc. tax) -SellingMinPriceTTC=Minimum Selling price (inc. tax) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. -CostPriceUsage=This value could be used for margin calculation. -SoldAmount=Sold amount -PurchasedAmount=Purchased amount -NewPrice=New price -MinPrice=Min. selling price -EditSellingPriceLabel=Edit selling price label -CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. -ContractStatusClosed=Closed -ErrorProductAlreadyExists=A product with reference %s already exists. -ErrorProductBadRefOrLabel=Wrong value for reference or label. -ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. -Suppliers=Vendors -SupplierRef=Vendor SKU -ShowProduct=Show product -ShowService=Show service -ProductsAndServicesArea=Product and Services area -ProductsArea=Product area -ServicesArea=Services area -ListOfStockMovements=List of stock movements -BuyingPrice=Buying price -PriceForEachProduct=Products with specific prices -SupplierCard=Vendor card -PriceRemoved=Price removed -BarCode=Barcode -BarcodeType=Barcode type -SetDefaultBarcodeType=Set barcode type -BarcodeValue=Barcode value -NoteNotVisibleOnBill=Note (not visible on invoices, proposals...) -ServiceLimitedDuration=If product is a service with limited duration: -FillWithLastServiceDates=Fill with last service line dates -MultiPricesAbility=Multiple price segments per product/service (each customer is in one price segment) -MultiPricesNumPrices=Number of prices -DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices -AssociatedProductsAbility=Enable Kits (set of several products) -VariantsAbility=Enable Variants (variations of products, for example color, size) -AssociatedProducts=Kits -AssociatedProductsNumber=Number of products composing this kit -ParentProductsNumber=Number of parent packaging product -ParentProducts=Parent products -IfZeroItIsNotAVirtualProduct=If 0, this product is not a kit -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any kit -KeywordFilter=Keyword filter -CategoryFilter=Category filter -ProductToAddSearch=Search product to add -NoMatchFound=No match found -ListOfProductsServices=List of products/services -ProductAssociationList=List of products/services that are component(s) of this kit -ProductParentList=List of kits with this product as a component -ErrorAssociationIsFatherOfThis=One of selected product is parent with current product -DeleteProduct=Delete a product/service -ConfirmDeleteProduct=Are you sure you want to delete this product/service? -ProductDeleted=Product/Service "%s" deleted from database. -ExportDataset_produit_1=Products -ExportDataset_service_1=Services -ImportDataset_produit_1=Products -ImportDataset_service_1=Services -DeleteProductLine=Delete product line -ConfirmDeleteProductLine=Are you sure you want to delete this product line? -ProductSpecial=Special -QtyMin=Min. purchase quantity -PriceQtyMin=Price quantity min. -PriceQtyMinCurrency=Price (currency) for this qty. (no discount) -VATRateForSupplierProduct=VAT Rate (for this vendor/product) -DiscountQtyMin=Discount for this qty. -NoPriceDefinedForThisSupplier=No price/qty defined for this vendor/product -NoSupplierPriceDefinedForThisProduct=No vendor price/qty defined for this product -PredefinedItem=Predefined item -PredefinedProductsToSell=Predefined Product -PredefinedServicesToSell=Predefined Service -PredefinedProductsAndServicesToSell=Predefined products/services to sell -PredefinedProductsToPurchase=Predefined product to purchase -PredefinedServicesToPurchase=Predefined services to purchase -PredefinedProductsAndServicesToPurchase=Predefined products/services to purchase -NotPredefinedProducts=Not predefined products/services -GenerateThumb=Generate thumb -ServiceNb=Service #%s -ListProductServiceByPopularity=List of products/services by popularity -ListProductByPopularity=List of products by popularity -ListServiceByPopularity=List of services by popularity -Finished=Manufactured product -RowMaterial=Raw Material -ConfirmCloneProduct=Are you sure you want to clone product or service %s? -CloneContentProduct=Clone all main information of the product/service -ClonePricesProduct=Clone prices -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants -ProductIsUsed=This product is used -NewRefForClone=Ref. of new product/service -SellingPrices=Selling prices -BuyingPrices=Buying prices -CustomerPrices=Customer prices -SuppliersPrices=Vendor prices -SuppliersPricesOfProductsOrServices=Vendor prices (of products or services) -CustomCode=Customs|Commodity|HS code -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) -NatureOfProductShort=Nature of product -NatureOfProductDesc=Raw material or manufactured product -ShortLabel=Short label -Unit=Unit -p=u. -set=set -se=set -second=second +ProductRef=Mahsulot ref. +ProductLabel=Mahsulot yorlig'i +ProductLabelTranslated=Tarjima qilingan mahsulot yorlig'i +ProductDescription=Mahsulot tavsifi +ProductDescriptionTranslated=Tarjima qilingan mahsulot tavsifi +ProductNoteTranslated=Tarjima qilingan mahsulot haqida eslatma +ProductServiceCard=Mahsulotlar / xizmatlar kartasi +TMenuProducts=Mahsulotlar +TMenuServices=Xizmatlar +Products=Mahsulotlar +Services=Xizmatlar +Product=Mahsulot +Service=Xizmat +ProductId=Mahsulot / xizmat identifikatori +Create=Yaratmoq +Reference=Malumot +NewProduct=Yangi mahsulot +NewService=Yangi xizmat +ProductVatMassChange=QQS bo'yicha global yangilanish +ProductVatMassChangeDesc=Ushbu vosita ALL mahsulotlarida aniqlangan QQS stavkasini yangilaydi! +MassBarcodeInit=Ommaviy shtrix kod +MassBarcodeInitDesc=Ushbu sahifadan shtrix-kod aniqlanmagan ob'ektlarda shtrix-kodni boshlash uchun foydalanish mumkin. Modul shtrix-kodini o'rnatish tugamasdan oldin tekshiring. +ProductAccountancyBuyCode=Buxgalteriya kodi (sotib olish) +ProductAccountancyBuyIntraCode=Buxgalteriya kodi (jamiyat ichidagi sotib olish) +ProductAccountancyBuyExportCode=Buxgalteriya kodi (sotib olish importi) +ProductAccountancySellCode=Buxgalteriya kodi (sotish) +ProductAccountancySellIntraCode=Buxgalteriya kodi (hamjamiyat ichida sotish) +ProductAccountancySellExportCode=Buxgalteriya kodi (sotish eksporti) +ProductOrService=Mahsulot yoki xizmat +ProductsAndServices=Mahsulotlar va xizmatlar +ProductsOrServices=Mahsulotlar yoki xizmatlar +ProductsPipeServices=Mahsulotlar | Xizmatlar +ProductsOnSale=Sotish uchun mahsulotlar +ProductsOnPurchase=Sotib olish uchun mahsulotlar +ProductsOnSaleOnly=Faqat sotiladigan mahsulotlar +ProductsOnPurchaseOnly=Faqat sotib olish uchun mahsulotlar +ProductsNotOnSell=Mahsulotlar sotilmaydi va sotib olinmaydi +ProductsOnSellAndOnBuy=Sotish va sotib olish uchun mahsulotlar +ServicesOnSale=Sotish bo'yicha xizmatlar +ServicesOnPurchase=Sotib olish uchun xizmatlar +ServicesOnSaleOnly=Faqat sotiladigan xizmatlar +ServicesOnPurchaseOnly=Faqat sotib olish uchun xizmatlar +ServicesNotOnSell=Xizmatlar sotilmaydi va sotib olinmaydi +ServicesOnSellAndOnBuy=Sotish va sotib olish uchun xizmatlar +LastModifiedProductsAndServices=O'zgartirilgan so'nggi %s mahsulot / xizmatlari +LastRecordedProducts=Eng so'nggi %s yozilgan mahsulotlar +LastRecordedServices=Oxirgi %s yozilgan xizmatlari +CardProduct0=Mahsulot +CardProduct1=Xizmat +Stock=Aksiya +MenuStocks=Qimmatli qog'ozlar +Stocks=Mahsulotlarning zaxiralari va joylashishi (ombori) +Movements=Harakatlar +Sell=Sotish +Buy=Xarid qilish +OnSell=Sotuvda +OnBuy=Sotib olish uchun +NotOnSell=Sotilmaydi +ProductStatusOnSell=Sotuvda +ProductStatusNotOnSell=Sotilmaydi +ProductStatusOnSellShort=Sotuvda +ProductStatusNotOnSellShort=Sotilmaydi +ProductStatusOnBuy=Sotib olish uchun +ProductStatusNotOnBuy=Sotib olish uchun emas +ProductStatusOnBuyShort=Sotib olish uchun +ProductStatusNotOnBuyShort=Sotib olish uchun emas +UpdateVAT=QQSni yangilang +UpdateDefaultPrice=Standart narxni yangilang +UpdateLevelPrices=Har bir daraja uchun narxlarni yangilang +AppliedPricesFrom=Ilova qilingan +SellingPrice=Sotish narxi +SellingPriceHT=Sotish narxi (soliqdan tashqari) +SellingPriceTTC=Sotish narxi (soliq bilan) +SellingMinPriceTTC=Sotishning minimal narxi (soliq bilan) +CostPriceDescription=Ushbu narx sohasi (soliqdan tashqari) ushbu mahsulot kompaniyangizga o'rtacha xarajatlarni qoplash uchun ishlatilishi mumkin. Siz o'zingiz hisoblagan har qanday narx bo'lishi mumkin, masalan, o'rtacha sotib olish narxidan ortiqcha ishlab chiqarish va tarqatish narxidan. +CostPriceUsage=Ushbu qiymat marjni hisoblash uchun ishlatilishi mumkin. +SoldAmount=Sotilgan summa +PurchasedAmount=Xarid qilingan summa +NewPrice=Yangi narx +MinPrice=Min. sotish narxi +EditSellingPriceLabel=Sotish narxlari yorlig'ini tahrirlash +CantBeLessThanMinPrice=Sotish narxi ushbu mahsulot uchun ruxsat etilgan minimal qiymatdan past bo'lishi mumkin emas (%s soliqsiz). Agar siz juda muhim chegirma yozsangiz, bu xabar ham paydo bo'lishi mumkin. +ContractStatusClosed=Yopiq +ErrorProductAlreadyExists=%s mos yozuvli mahsulot allaqachon mavjud. +ErrorProductBadRefOrLabel=Malumot yoki yorliq uchun noto'g'ri qiymat. +ErrorProductClone=Mahsulot yoki xizmatni klonlashda muammo yuz berdi. +ErrorPriceCantBeLowerThanMinPrice=Xato, narx minimal narxdan past bo'lishi mumkin emas. +Suppliers=Sotuvchilar +SupplierRef=Sotuvchi SKU +ShowProduct=Mahsulotni ko'rsatish +ShowService=Xizmatni ko'rsatish +ProductsAndServicesArea=Mahsulot va xizmatlar maydoni +ProductsArea=Mahsulot maydoni +ServicesArea=Xizmatlar maydoni +ListOfStockMovements=Birja harakatlari ro'yxati +BuyingPrice=Xarid qilish narxi +PriceForEachProduct=Maxsus narxlarga ega mahsulotlar +SupplierCard=Sotuvchi kartasi +PriceRemoved=Narx olib tashlandi +BarCode=Shtrixli kod +BarcodeType=Shtrixli kod turi +SetDefaultBarcodeType=Shtrixli turini o'rnating +BarcodeValue=Shtrixli qiymat +NoteNotVisibleOnBill=Izoh (hisob-fakturalarda, takliflarda ko'rinmaydi ...) +ServiceLimitedDuration=Agar mahsulot cheklangan muddati bo'lgan xizmat bo'lsa: +FillWithLastServiceDates=So'nggi xizmat ko'rsatish sanalari bilan to'ldiring +MultiPricesAbility=Bir mahsulot / xizmat uchun bir nechta narx segmentlari (har bir mijoz bitta narx segmentida) +MultiPricesNumPrices=Narxlar soni +DefaultPriceType=Yangi sotish narxlarini qo'shganda, sukut bo'yicha narxlar bazasi (soliqsiz) +AssociatedProductsAbility=To'plamlarni yoqing (bir nechta mahsulot to'plami) +VariantsAbility=Variantlarni yoqish (mahsulotlarning xilma-xilligi, masalan, rang, o'lcham) +AssociatedProducts=To'plamlar +AssociatedProductsNumber=Ushbu to'plamni tashkil etadigan mahsulotlar soni +ParentProductsNumber=Ota-ona mahsuloti soni +ParentProducts=Ota-ona mahsulotlari +IfZeroItIsNotAVirtualProduct=Agar 0 bo'lsa, bu mahsulot to'plam emas +IfZeroItIsNotUsedByVirtualProduct=Agar 0 bo'lsa, ushbu mahsulot biron bir to'plam tomonidan ishlatilmaydi +KeywordFilter=Kalit so'z filtri +CategoryFilter=Turkum filtri +ProductToAddSearch=Qo'shish uchun mahsulotni qidiring +NoMatchFound=Hech narsa topilmadi +ListOfProductsServices=Mahsulotlar / xizmatlar ro'yxati +ProductAssociationList=Ushbu to'plamning tarkibiy qismlari bo'lgan mahsulotlar / xizmatlar ro'yxati +ProductParentList=Ushbu mahsulot tarkibiy qism sifatida to'plamlari ro'yxati +ErrorAssociationIsFatherOfThis=Tanlangan mahsulotlardan biri joriy mahsulotga ega bo'lgan ota-ona hisoblanadi +DeleteProduct=Mahsulot / xizmatni o'chirib tashlang +ConfirmDeleteProduct=Ushbu mahsulotni / xizmatni o'chirishni xohlaysizmi? +ProductDeleted=Ma'lumotlar bazasidan o'chirilgan "%s" mahsuloti / xizmati. +ExportDataset_produit_1=Mahsulotlar +ExportDataset_service_1=Xizmatlar +ImportDataset_produit_1=Mahsulotlar +ImportDataset_service_1=Xizmatlar +DeleteProductLine=Mahsulot qatorini o'chirib tashlang +ConfirmDeleteProductLine=Ushbu mahsulot qatorini o'chirishni xohlaysizmi? +ProductSpecial=Maxsus +QtyMin=Min. sotib olish miqdori +PriceQtyMin=Narx miqdori min. +PriceQtyMinCurrency=Ushbu miqdor uchun narx (valyuta). (chegirma yo'q) +VATRateForSupplierProduct=QQS stavkasi (ushbu sotuvchi / mahsulot uchun) +DiscountQtyMin=Ushbu miqdor uchun chegirma. +NoPriceDefinedForThisSupplier=Ushbu sotuvchi / mahsulot uchun narx / miqdor aniqlanmagan +NoSupplierPriceDefinedForThisProduct=Ushbu mahsulot uchun sotuvchi narxi / miqdori aniqlanmagan +PredefinedItem=Oldindan belgilangan element +PredefinedProductsToSell=Oldindan belgilangan mahsulot +PredefinedServicesToSell=Oldindan belgilangan xizmat +PredefinedProductsAndServicesToSell=Sotish uchun oldindan belgilangan mahsulotlar / xizmatlar +PredefinedProductsToPurchase=Sotib olish uchun oldindan belgilangan mahsulot +PredefinedServicesToPurchase=Xarid qilish uchun oldindan belgilangan xizmatlar +PredefinedProductsAndServicesToPurchase=Sotib olish uchun oldindan belgilangan mahsulotlar / xizmatlar +NotPredefinedProducts=Oldindan belgilangan mahsulotlar / xizmatlar emas +GenerateThumb=Bosh barmog'ini yarating +ServiceNb=Xizmat # %s +ListProductServiceByPopularity=Ommabopligi bo'yicha mahsulotlar / xizmatlar ro'yxati +ListProductByPopularity=Ommabopligi bo'yicha mahsulotlar ro'yxati +ListServiceByPopularity=Ommabopligi bo'yicha xizmatlarning ro'yxati +Finished=Ishlab chiqarilgan mahsulot +RowMaterial=Xom ashyo +ConfirmCloneProduct= %s mahsulotini yoki xizmatini klonlamoqchimisiz? +CloneContentProduct=Mahsulot / xizmatning barcha asosiy ma'lumotlarini klonlash +ClonePricesProduct=Klon narxlari +CloneCategoriesProduct=Bog'langan teglar / toifalarni klonlash +CloneCompositionProduct=Virtual mahsulotlar / xizmatlarni klonlash +CloneCombinationsProduct=Mahsulot variantlarini klonlash +ProductIsUsed=Ushbu mahsulot ishlatilgan +NewRefForClone=Ref. yangi mahsulot / xizmat +SellingPrices=Sotish narxi +BuyingPrices=Xarid qilish narxlari +CustomerPrices=Mijozlar narxlari +SuppliersPrices=Sotuvchi narxlari +SuppliersPricesOfProductsOrServices=Sotuvchi narxlari (mahsulotlar yoki xizmatlar) +CustomCode=Bojxona | Tovar | HS kodi +CountryOrigin=Ishlab chiqaruvchi mamlakat; ta'minotchi mamlakat +RegionStateOrigin=Kelib chiqish mintaqasi +StateOrigin=Shtat | kelib chiqishi viloyati +Nature=Mahsulotning tabiati (xom / ishlab chiqarilgan) +NatureOfProductShort=Mahsulotning tabiati +NatureOfProductDesc=Xom ashyo yoki ishlab chiqarilgan mahsulot +ShortLabel=Qisqa yorliq +Unit=Birlik +p=siz. +set=o'rnatilgan +se=o'rnatilgan +second=ikkinchi s=s -hour=hour +hour=soat h=h -day=day +day=kun d=d -kilogram=kilogram +kilogram=kilogramm kg=Kg -gram=gram +gram=gramm g=g -meter=meter +meter=metr m=m lm=lm m2=m² m3=m³ -liter=liter +liter=litr l=L -unitP=Piece -unitSET=Set -unitS=Second -unitH=Hour -unitD=Day +unitP=Parcha +unitSET=O'rnatish +unitS=Ikkinchi +unitH=Soat +unitD=Kun unitG=Gram -unitM=Meter -unitLM=Linear meter -unitM2=Square meter -unitM3=Cubic meter -unitL=Liter -unitT=ton +unitM=Taymer +unitLM=Lineer metr +unitM2=Kvadrat metr +unitM3=Kub metr +unitL=Litr +unitT=tonna unitKG=kg unitG=Gram unitMG=mg -unitLB=pound -unitOZ=ounce -unitM=Meter +unitLB=funt +unitOZ=untsiya +unitM=Taymer unitDM=dm -unitCM=cm +unitCM=sm unitMM=mm unitFT=ft -unitIN=in -unitM2=Square meter +unitIN=yilda +unitM2=Kvadrat metr unitDM2=dm² -unitCM2=cm² +unitCM2=sm² unitMM2=mm² unitFT2=ft² -unitIN2=in² -unitM3=Cubic meter +unitIN2=m2 +unitM3=Kub metr unitDM3=dm³ -unitCM3=cm³ +unitCM3=sm³ unitMM3=mm³ unitFT3=ft³ unitIN3=in³ -unitOZ3=ounce -unitgallon=gallon -ProductCodeModel=Product ref template -ServiceCodeModel=Service ref template -CurrentProductPrice=Current price -AlwaysUseNewPrice=Always use current price of product/service -AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Different prices by quantity -DisablePriceByQty=Disable prices by quantity -PriceByQuantityRange=Quantity range -MultipriceRules=Automatic prices for segment -UseMultipriceRules=Use price segment rules (defined into product module setup) to auto calculate prices of all other segments according to first segment -PercentVariationOver=%% variation over %s -PercentDiscountOver=%% discount over %s -KeepEmptyForAutoCalculation=Keep empty to have this calculated automatically from weight or volume of products -VariantRefExample=Examples: COL, SIZE -VariantLabelExample=Examples: Color, Size +unitOZ3=untsiya +unitgallon=galon +ProductCodeModel=Mahsulot ref shabloni +ServiceCodeModel=Xizmat ko'rsatuvchi shablon +CurrentProductPrice=Joriy narx +AlwaysUseNewPrice=Har doim mahsulot / xizmatning joriy narxidan foydalaning +AlwaysUseFixedPrice=Belgilangan narxdan foydalaning +PriceByQuantity=Miqdoriga ko'ra har xil narxlar +DisablePriceByQty=Narxlarni miqdori bo'yicha o'chirib qo'ying +PriceByQuantityRange=Miqdor oralig'i +MultipriceRules=Segment uchun avtomatik narxlar +UseMultipriceRules=Boshqa segmentlarning narxlarini birinchi segmentga muvofiq avtomatik hisoblash uchun narx segmenti qoidalaridan foydalaning (mahsulot moduli sozlamalarida belgilangan) +PercentVariationOver=%% ning %s orqali o'zgarishi +PercentDiscountOver=%% %s orqali chegirma +KeepEmptyForAutoCalculation=Buni mahsulotning og'irligi yoki hajmidan avtomatik ravishda hisoblash uchun bo'sh qoldiring +VariantRefExample=Misollar: COL, SIZE +VariantLabelExample=Misollar: Rang, o'lchov ### composition fabrication -Build=Produce -ProductsMultiPrice=Products and prices for each price segment -ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) -ProductSellByQuarterHT=Products turnover quarterly before tax -ServiceSellByQuarterHT=Services turnover quarterly before tax -Quarter1=1st. Quarter -Quarter2=2nd. Quarter -Quarter3=3rd. Quarter -Quarter4=4th. Quarter -BarCodePrintsheet=Print barcode -PageToGenerateBarCodeSheets=With this tool, you can print sheets of barcode stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. -NumberOfStickers=Number of stickers to print on page -PrintsheetForOneBarCode=Print several stickers for one barcode -BuildPageToPrint=Generate page to print -FillBarCodeTypeAndValueManually=Fill barcode type and value manually. -FillBarCodeTypeAndValueFromProduct=Fill barcode type and value from barcode of a product. -FillBarCodeTypeAndValueFromThirdParty=Fill barcode type and value from barcode of a third party. -DefinitionOfBarCodeForProductNotComplete=Definition of type or value of barcode not complete for product %s. -DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of barcode non complete for third party %s. -BarCodeDataForProduct=Barcode information of product %s: -BarCodeDataForThirdparty=Barcode information of third party %s: -ResetBarcodeForAllRecords=Define barcode value for all record (this will also reset barcode value already defined with new values) -PriceByCustomer=Different prices for each customer -PriceCatalogue=A single sell price per product/service -PricingRule=Rules for selling prices -AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries -PriceByCustomerLog=Log of previous customer prices -MinimumPriceLimit=Minimum price can't be lower then %s -MinimumRecommendedPrice=Minimum recommended price is: %s -PriceExpressionEditor=Price expression editor -PriceExpressionSelected=Selected price expression -PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions -PriceExpressionEditorHelp2=You can access ExtraFields with variables like #extrafield_myextrafieldkey# and global variables with #global_mycode# -PriceExpressionEditorHelp3=In both product/service and vendor prices there are these variables available:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# -PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
    In vendor prices only: #supplier_quantity# and #supplier_tva_tx# -PriceExpressionEditorHelp5=Available global values: -PriceMode=Price mode -PriceNumeric=Number -DefaultPrice=Default price -DefaultPriceLog=Log of previous default prices -ComposedProductIncDecStock=Increase/Decrease stock on parent change -ComposedProduct=Child products -MinSupplierPrice=Minimum buying price -MinCustomerPrice=Minimum selling price -DynamicPriceConfiguration=Dynamic price configuration -DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. -AddVariable=Add Variable -AddUpdater=Add Updater -GlobalVariables=Global variables -VariableToUpdate=Variable to update -GlobalVariableUpdaters=External updaters for variables -GlobalVariableUpdaterType0=JSON data -GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, -GlobalVariableUpdaterHelpFormat0=Format for request {"URL": "http://example.com/urlofjson", "VALUE": "array1,array2,targetvalue"} -GlobalVariableUpdaterType1=WebService data -GlobalVariableUpdaterHelp1=Parses WebService data from specified URL, NS specifies the namespace, VALUE specifies the location of relevant value, DATA should contain the data to send and METHOD is the calling WS method -GlobalVariableUpdaterHelpFormat1=Format for request is {"URL": "http://example.com/urlofws", "VALUE": "array,targetvalue", "NS": "http://example.com/urlofns", "METHOD": "myWSMethod", "DATA": {"your": "data", "to": "send"}} -UpdateInterval=Update interval (minutes) -LastUpdated=Latest update -CorrectlyUpdated=Correctly updated -PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is -PropalMergePdfProductChooseFile=Select PDF files -IncludingProductWithTag=Include products/services with tag -DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer -WarningSelectOneDocument=Please select at least one document -DefaultUnitToShow=Unit -NbOfQtyInProposals=Qty in proposals -ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view... -ProductsOrServicesTranslations=Products/Services translations -TranslatedLabel=Translated label -TranslatedDescription=Translated description -TranslatedNote=Translated notes -ProductWeight=Weight for 1 product -ProductVolume=Volume for 1 product -WeightUnits=Weight unit -VolumeUnits=Volume unit -WidthUnits=Width unit -LengthUnits=Length unit -HeightUnits=Height unit -SurfaceUnits=Surface unit -SizeUnits=Size unit -DeleteProductBuyPrice=Delete buying price -ConfirmDeleteProductBuyPrice=Are you sure you want to delete this buying price? -SubProduct=Sub product -ProductSheet=Product sheet -ServiceSheet=Service sheet -PossibleValues=Possible values -GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers -ProductSupplierDescription=Vendor description for the product -UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging -PackagingForThisProductDesc=On supplier order, you will automaticly order this quantity (or a multiple of this quantity). Cannot be less than minimum buying quantity -QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging +Build=Mahsulot +ProductsMultiPrice=Har bir narx segmenti uchun mahsulotlar va narxlar +ProductsOrServiceMultiPrice=Mijozlar narxlari (mahsulotlar yoki xizmatlar, ko'p narxlar) +ProductSellByQuarterHT=Mahsulot aylanmasi soliqdan oldin har chorakda +ServiceSellByQuarterHT=Xizmatlar aylanmasi soliq to'lashdan oldin har chorakda +Quarter1=1-chi. Chorak +Quarter2=2-chi. Chorak +Quarter3=3-chi. Chorak +Quarter4=4-chi. Chorak +BarCodePrintsheet=Shtrixli kodni chop eting +PageToGenerateBarCodeSheets=Ushbu vosita yordamida siz shtrix-stiker varaqlarini chop etishingiz mumkin. Stiker sahifangizning formatini, shtrix-kod turini va shtrix-kodning qiymatini tanlang, so'ng %s tugmachasini bosing. +NumberOfStickers=Sahifada chop etiladigan stikerlar soni +PrintsheetForOneBarCode=Bitta shtrix-kod uchun bir nechta stikerlarni chop eting +BuildPageToPrint=Chop etish uchun sahifa yarating +FillBarCodeTypeAndValueManually=Shtrixli kod turini va qiymatini qo'lda to'ldiring. +FillBarCodeTypeAndValueFromProduct=Shtrixli kod turini va mahsulotning shtrix kodidagi qiymatini to'ldiring. +FillBarCodeTypeAndValueFromThirdParty=Shtrixli kodning turini va qiymatini uchinchi tomonning shtrix kodidan to'ldiring. +DefinitionOfBarCodeForProductNotComplete=%s mahsuloti uchun shtrix kodning turi yoki qiymatining ta'rifi to'liq emas. +DefinitionOfBarCodeForThirdpartyNotComplete=%s uchinchi tomon uchun to'liq bo'lmagan shtrix-kod turini yoki qiymatini aniqlash. +BarCodeDataForProduct=%s mahsulotining shtrix kodi haqida ma'lumot: +BarCodeDataForThirdparty=Uchinchi tomonning shtrix kodi %s ma'lumotlari: +ResetBarcodeForAllRecords=Barcha yozuvlar uchun shtrix qiymatini belgilang (bu shuningdek, yangi qiymatlar bilan belgilangan shtrix qiymatini qayta tiklaydi) +PriceByCustomer=Har bir mijoz uchun har xil narxlar +PriceCatalogue=Mahsulot / xizmat uchun bitta sotish narxi +PricingRule=Narxlarni sotish qoidalari +AddCustomerPrice=Xaridor tomonidan narx qo'shing +ForceUpdateChildPriceSoc=Mijozning sho'ba korxonalarida bir xil narxni belgilang +PriceByCustomerLog=Avvalgi mijozlar narxlari jurnali +MinimumPriceLimit=Minimal narx %s dan past bo'lishi mumkin emas +MinimumRecommendedPrice=Minimal tavsiya etilgan narx: %s +PriceExpressionEditor=Narxlarni ifodalash muharriri +PriceExpressionSelected=Tanlangan narx ifodasi +PriceExpressionEditorHelp1=narxni belgilash uchun "price = 2 + 2" yoki "2 + 2". Foydalanish; iboralarni ajratish +PriceExpressionEditorHelp2=ExtraFields-ga # extrafield_myextrafieldkey # va # global_mycode # kabi o'zgaruvchilar bilan kirishingiz mumkin. +PriceExpressionEditorHelp3=Ikkala mahsulot / xizmat va sotuvchilar narxlarida quyidagi o'zgaruvchilar mavjud:
    # tva_tx # # localtax1_tx # # localtax2_tx # # weight # # length # # surface # # price_min # +PriceExpressionEditorHelp4=Faqat mahsulot / xizmat narxida: # Supply_min_price #
    Faqat sotuvchilar narxlarida: # Supply_quantity # and # Suppli_tva_tx # a0a +PriceExpressionEditorHelp5=Mavjud global qadriyatlar: +PriceMode=Narx rejimi +PriceNumeric=Raqam +DefaultPrice=Standart narx +DefaultPriceLog=Oldingi narxlarning jurnali +ComposedProductIncDecStock=Ota-onalarni almashtirishda zaxiralarni ko'paytirish / kamaytirish +ComposedProduct=Bolalar uchun mo'ljallangan mahsulotlar +MinSupplierPrice=Minimal sotib olish narxi +MinCustomerPrice=Minimal sotish narxi +NoDynamicPrice=Dinamik narx yo'q +DynamicPriceConfiguration=Dinamik narx konfiguratsiyasi +DynamicPriceDesc=Siz xaridor yoki sotuvchi narxlarini hisoblash uchun matematik formulalarni belgilashingiz mumkin. Bunday formulalar barcha matematik operatorlardan, ba'zi bir doimiy va o'zgaruvchilardan foydalanishi mumkin. Siz bu erda foydalanmoqchi bo'lgan o'zgaruvchilarni belgilashingiz mumkin. Agar o'zgaruvchiga avtomatik yangilanish kerak bo'lsa, siz Dolibarr-ga qiymatni avtomatik ravishda yangilashiga ruxsat berish uchun tashqi URL manzilini belgilashingiz mumkin. +AddVariable=O'zgaruvchini qo'shish +AddUpdater=Updater-ni qo'shing +GlobalVariables=Global o'zgaruvchilar +VariableToUpdate=Yangilanadigan o'zgaruvchi +GlobalVariableUpdaters=O'zgaruvchilar uchun tashqi yangilanuvchilar +GlobalVariableUpdaterType0=JSON ma'lumotlari +GlobalVariableUpdaterHelp0=Belgilangan URL-dan JSON ma'lumotlarini ajratadi, VALUE tegishli qiymatning joylashishini belgilaydi, +GlobalVariableUpdaterHelpFormat0=So'rov uchun format {"URL": "http://example.com/urlofjson", "VALUE": "array1, array2, targetvalue"} +GlobalVariableUpdaterType1=WebService ma'lumotlari +GlobalVariableUpdaterHelp1=Belgilangan URL-dan WebService ma'lumotlarini ajratadi, NS nomlar maydonini, VALUE tegishli qiymatning joylashishini belgilaydi, DATA jo'natiladigan ma'lumotlarni o'z ichiga olishi kerak va METHOD chaqiruvchi WS usuli +GlobalVariableUpdaterHelpFormat1=So'rov formati: {"URL": "http://example.com/urlofws", "VALUE": "array, targetvalue", "NS": "http://example.com/urlofns", "METHOD" : "myWSMethod", "DATA": {"your": "data", "to": "send"}} +UpdateInterval=Yangilash oralig'i (daqiqa) +LastUpdated=Oxirgi yangilanish +CorrectlyUpdated=To'g'ri yangilangan +PropalMergePdfProductActualFile=PDF-ga qo'shish uchun ishlatiladigan fayllar Azur are / is +PropalMergePdfProductChooseFile=PDF-fayllarni tanlang +IncludingProductWithTag=Mahsulotlarni / xizmatlarni yorlig'i bilan qo'shing +DefaultPriceRealPriceMayDependOnCustomer=Standart narx, haqiqiy narx mijozga bog'liq bo'lishi mumkin +WarningSelectOneDocument=Iltimos, kamida bitta hujjatni tanlang +DefaultUnitToShow=Birlik +NbOfQtyInProposals=Takliflar soni +ClinkOnALinkOfColumn=Batafsil ko'rinishni olish uchun %s ustunining havolasini bosing ... +ProductsOrServicesTranslations=Mahsulotlar / xizmatlarning tarjimalari +TranslatedLabel=Tarjima qilingan yorliq +TranslatedDescription=Tarjima qilingan tavsif +TranslatedNote=Tarjima qilingan yozuvlar +ProductWeight=1 mahsulot uchun vazn +ProductVolume=1 ta mahsulot uchun hajm +WeightUnits=Og'irlik birligi +VolumeUnits=Tovush birligi +WidthUnits=Kenglik birligi +LengthUnits=Uzunlik birligi +HeightUnits=Balandlik birligi +SurfaceUnits=Yuzaki birlik +SizeUnits=Hajmi birligi +DeleteProductBuyPrice=Xarid narxini o'chirish +ConfirmDeleteProductBuyPrice=Ushbu xarid narxini o'chirishni xohlaysizmi? +SubProduct=Sub mahsulot +ProductSheet=Mahsulot varag'i +ServiceSheet=Xizmat varaqasi +PossibleValues=Mumkin bo'lgan qiymatlar +GoOnMenuToCreateVairants=Atribut variantlarini tayyorlash uchun (ranglar, o'lchamlar, ... kabi) %s - %s menyusiga o'ting. +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers +ProductSupplierDescription=Mahsulot uchun sotuvchining tavsifi +UseProductSupplierPackaging=Paketni etkazib beruvchilar narxlarida ishlating (etkazib beruvchilar hujjatlaridagi qatorni qo'shish / yangilashda etkazib beruvchining narxida belgilangan qadoqlarga muvofiq miqdorlarni qayta hisoblang) +PackagingForThisProduct=Paket +PackagingForThisProductDesc=Yetkazib beruvchining buyurtmasiga binoan siz ushbu miqdorni (yoki ushbu miqdorning ko'pligini) avtomatik ravishda buyurtma qilasiz. Minimal sotib olish miqdoridan kam bo'lishi mumkin emas +QtyRecalculatedWithPackaging=Chiziq miqdori etkazib beruvchilarning qadoqlariga muvofiq qayta hisoblab chiqilgan #Attributes -VariantAttributes=Variant attributes -ProductAttributes=Variant attributes for products -ProductAttributeName=Variant attribute %s -ProductAttribute=Variant attribute -ProductAttributeDeleteDialog=Are you sure you want to delete this attribute? All values will be deleted -ProductAttributeValueDeleteDialog=Are you sure you want to delete the value "%s" with reference "%s" of this attribute? -ProductCombinationDeleteDialog=Are you sure want to delete the variant of the product "%s"? -ProductCombinationAlreadyUsed=There was an error while deleting the variant. Please check it is not being used in any object -ProductCombinations=Variants -PropagateVariant=Propagate variants -HideProductCombinations=Hide products variant in the products selector +VariantAttributes=Variant atributlari +ProductAttributes=Mahsulotlar uchun turli xil atributlar +ProductAttributeName=Variant atributi %s +ProductAttribute=Variant atributi +ProductAttributeDeleteDialog=Ushbu xususiyatni o'chirishni xohlaysizmi? Barcha qiymatlar o'chiriladi +ProductAttributeValueDeleteDialog=Ushbu atributning "%s" mos yozuvlar bilan "%s" qiymatini o'chirishni xohlaysizmi? +ProductCombinationDeleteDialog=Haqiqatan ham mahsulotning " %s " variantini o'chirishni xohlaysizmi? +ProductCombinationAlreadyUsed=Variantni o'chirishda xatolik yuz berdi. Iltimos, u hech qanday ob'ektda ishlatilmayotganligini tekshiring +ProductCombinations=Variantlar +PropagateVariant=Variantlarni targ'ib qiling +HideProductCombinations=Mahsulot tanlovchisida mahsulot variantini yashirish ProductCombination=Variant -NewProductCombination=New variant -EditProductCombination=Editing variant -NewProductCombinations=New variants -EditProductCombinations=Editing variants -SelectCombination=Select combination -ProductCombinationGenerator=Variants generator -Features=Features -PriceImpact=Price impact -ImpactOnPriceLevel=Impact on price level %s -ApplyToAllPriceImpactLevel= Apply to all levels -ApplyToAllPriceImpactLevelHelp=By clicking here you set the same price impact on all levels -WeightImpact=Weight impact -NewProductAttribute=New attribute -NewProductAttributeValue=New attribute value -ErrorCreatingProductAttributeValue=There was an error while creating the attribute value. It could be because there is already an existing value with that reference -ProductCombinationGeneratorWarning=If you continue, before generating new variants, all previous ones will be DELETED. Already existing ones will be updated with the new values -TooMuchCombinationsWarning=Generating lots of variants may result in high CPU, memory usage and Dolibarr not able to create them. Enabling the option "%s" may help reduce memory usage. -DoNotRemovePreviousCombinations=Do not remove previous variants -UsePercentageVariations=Use percentage variations -PercentageVariation=Percentage variation -ErrorDeletingGeneratedProducts=There was an error while trying to delete existing product variants -NbOfDifferentValues=No. of different values -NbProducts=Number of products -ParentProduct=Parent product -HideChildProducts=Hide variant products -ShowChildProducts=Show variant products -NoEditVariants=Go to Parent product card and edit variants price impact in the variants tab -ConfirmCloneProductCombinations=Would you like to copy all the product variants to the other parent product with the given reference? -CloneDestinationReference=Destination product reference -ErrorCopyProductCombinations=There was an error while copying the product variants -ErrorDestinationProductNotFound=Destination product not found -ErrorProductCombinationNotFound=Product variant not found -ActionAvailableOnVariantProductOnly=Action only available on the variant of product -ProductsPricePerCustomer=Product prices per customers -ProductSupplierExtraFields=Additional Attributes (Supplier Prices) -DeleteLinkedProduct=Delete the child product linked to the combination +NewProductCombination=Yangi variant +EditProductCombination=Variantni tahrirlash +NewProductCombinations=Yangi variantlar +EditProductCombinations=Variantlarni tahrirlash +SelectCombination=Kombinatsiyani tanlang +ProductCombinationGenerator=Variantlar generatori +Features=Xususiyatlari +PriceImpact=Narx ta'siri +ImpactOnPriceLevel=%s narx darajasiga ta'siri +ApplyToAllPriceImpactLevel= Barcha darajalarga murojaat qiling +ApplyToAllPriceImpactLevelHelp=Bu erni bosish orqali siz barcha darajalarda bir xil narx ta'sirini o'rnatdingiz +WeightImpact=Og'irlikka ta'siri +NewProductAttribute=Yangi atribut +NewProductAttributeValue=Yangi atribut qiymati +ErrorCreatingProductAttributeValue=Atribut qiymatini yaratishda xatolik yuz berdi. Ehtimol, ushbu ma'lumotnomada allaqachon mavjud qiymat mavjud +ProductCombinationGeneratorWarning=Agar davom ettirsangiz, yangi variantlarni yaratishdan oldin, avvalgi barcha ma'lumotlar O'chiriladi. Allaqachon mavjud bo'lganlar yangi qadriyatlar bilan yangilanadi +TooMuchCombinationsWarning=Ko'pgina variantlarni yaratish yuqori protsessorga, xotiradan foydalanishga va Dolibarr ularni yaratishga olib kelmasligi mumkin. "%s" parametrini yoqish xotira hajmini kamaytirishga yordam beradi. +DoNotRemovePreviousCombinations=Oldingi variantlarni olib tashlamang +UsePercentageVariations=Foizli o'zgarishlardan foydalaning +PercentageVariation=Foizning o'zgarishi +ErrorDeletingGeneratedProducts=Mavjud mahsulot variantlarini o'chirishda xatolik yuz berdi +NbOfDifferentValues=Turli xil qiymatlar soni +NbProducts=Mahsulotlar soni +ParentProduct=Asosiy mahsulot +HideChildProducts=Variant mahsulotlarini yashirish +ShowChildProducts=Variant mahsulotlarini ko'rsating +NoEditVariants=Ota-ona mahsulot kartasiga o'ting va variantlar ko'rinishida variantlar narxiga ta'sirini tahrir qiling +ConfirmCloneProductCombinations=Berilgan ma'lumot bilan mahsulotning barcha variantlarini boshqa asosiy mahsulotga nusxalashni xohlaysizmi? +CloneDestinationReference=Belgilangan mahsulot haqida ma'lumot +ErrorCopyProductCombinations=Mahsulot variantlarini nusxalashda xatolik yuz berdi +ErrorDestinationProductNotFound=Belgilangan mahsulot topilmadi +ErrorProductCombinationNotFound=Mahsulot varianti topilmadi +ActionAvailableOnVariantProductOnly=Aksiya faqat mahsulotning variantida mavjud +ProductsPricePerCustomer=Xaridorlar uchun mahsulot narxi +ProductSupplierExtraFields=Qo'shimcha atributlar (etkazib beruvchilar narxi) +DeleteLinkedProduct=Kombinatsiyaga bog'langan bolalar mahsulotini o'chirib tashlang +PMPValue=O'rtacha narx +PMPValueShort=WAP diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index 79c974f6e24..cba0f1c70f2 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -1,275 +1,283 @@ # Dolibarr language file - Source file is en_US - projects -RefProject=Ref. project -ProjectRef=Project ref. -ProjectId=Project Id -ProjectLabel=Project label -ProjectsArea=Projects Area -ProjectStatus=Project status -SharedProject=Everybody -PrivateProject=Project contacts -ProjectsImContactFor=Projects for which I am explicitly a contact -AllAllowedProjects=All project I can read (mine + public) -AllProjects=All projects -MyProjectsDesc=This view is limited to the projects that you are a contact for -ProjectsPublicDesc=This view presents all projects you are allowed to read. -TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. -ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. -ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). -TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for -OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). -ClosedProjectsAreHidden=Closed projects are not visible. -TasksPublicDesc=This view presents all projects and tasks you are allowed to read. -TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -AllTaskVisibleButEditIfYouAreAssigned=All tasks for qualified projects are visible, but you can enter time only for task assigned to selected user. Assign task if you need to enter time on it. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. -ImportDatasetTasks=Tasks of projects -ProjectCategories=Project tags/categories -NewProject=New project -AddProject=Create project -DeleteAProject=Delete a project -DeleteATask=Delete a task -ConfirmDeleteAProject=Are you sure you want to delete this project? -ConfirmDeleteATask=Are you sure you want to delete this task? -OpenedProjects=Open projects -OpenedTasks=Open tasks -OpportunitiesStatusForOpenedProjects=Leads amount of open projects by status -OpportunitiesStatusForProjects=Leads amount of projects by status -ShowProject=Show project -ShowTask=Show task -SetProject=Set project -NoProject=No project defined or owned -NbOfProjects=Number of projects -NbOfTasks=Number of tasks -TimeSpent=Time spent -TimeSpentByYou=Time spent by you -TimeSpentByUser=Time spent by user -TimesSpent=Time spent -TaskId=Task ID -RefTask=Task ref. -LabelTask=Task label -TaskTimeSpent=Time spent on tasks -TaskTimeUser=User -TaskTimeNote=Note +RefProject=Ref. loyiha +ProjectRef=Loyiha ref. +ProjectId=Loyiha identifikatori +ProjectLabel=Loyiha yorlig'i +ProjectsArea=Loyihalar maydoni +ProjectStatus=Loyiha holati +SharedProject=Hamma +PrivateProject=Loyiha bo'yicha aloqalar +ProjectsImContactFor=Men aniq aloqada bo'lgan loyihalar +AllAllowedProjects=Men o'qiy oladigan barcha loyihalar (meniki + jamoat) +AllProjects=Barcha loyihalar +MyProjectsDesc=Ushbu ko'rinish faqat siz aloqada bo'lgan loyihalar bilan cheklangan +ProjectsPublicDesc=Ushbu ko'rinish sizga o'qishga ruxsat berilgan barcha loyihalarni taqdim etadi. +TasksOnProjectsPublicDesc=Ushbu ko'rinish sizga o'qishga ruxsat berilgan loyihalar bo'yicha barcha vazifalarni taqdim etadi. +ProjectsPublicTaskDesc=Ushbu ko'rinish sizga o'qishga ruxsat berilgan barcha loyihalar va vazifalarni taqdim etadi. +ProjectsDesc=Ushbu ko'rinish barcha loyihalarni taqdim etadi (foydalanuvchi ruxsatlari sizga hamma narsani ko'rishga ruxsat beradi). +TasksOnProjectsDesc=Ushbu ko'rinish barcha loyihalardagi barcha vazifalarni taqdim etadi (foydalanuvchi ruxsatlari sizga hamma narsani ko'rishga ruxsat beradi). +MyTasksDesc=Ushbu ko'rinish faqat siz aloqada bo'lgan loyihalar yoki vazifalar bilan cheklangan +OnlyOpenedProject=Faqat ochiq loyihalar ko'rinadi (qoralama yoki yopiq holatdagi loyihalar ko'rinmaydi). +ClosedProjectsAreHidden=Yopiq loyihalar ko'rinmaydi. +TasksPublicDesc=Ushbu ko'rinish sizga o'qishga ruxsat berilgan barcha loyihalar va vazifalarni taqdim etadi. +TasksDesc=Ushbu ko'rinish barcha loyihalar va vazifalarni taqdim etadi (foydalanuvchi ruxsatlari sizga hamma narsani ko'rishga ruxsat beradi). +AllTaskVisibleButEditIfYouAreAssigned=Malakali loyihalar uchun barcha vazifalar ko'rinib turadi, ammo siz faqat tanlangan foydalanuvchiga berilgan topshiriq uchun vaqt kiritishingiz mumkin. Agar unga vaqt kiritishingiz kerak bo'lsa, vazifani tayinlang. +OnlyYourTaskAreVisible=Faqat sizga yuklangan vazifalar ko'rinadi. Agar topshiriq bo'yicha vaqtni kiritishingiz kerak bo'lsa va agar bu erda vazifa ko'rinmasa, unda siz o'zingiz uchun vazifani tayinlashingiz kerak. +ImportDatasetTasks=Loyihalarning vazifalari +ProjectCategories=Loyiha teglari / toifalari +NewProject=Yangi loyiha +AddProject=Loyiha yaratish +DeleteAProject=Loyihani o'chirish +DeleteATask=Vazifani o'chirib tashlang +ConfirmDeleteAProject=Ushbu loyihani o'chirishni xohlaysizmi? +ConfirmDeleteATask=Ushbu vazifani o'chirishni xohlaysizmi? +OpenedProjects=Ochiq loyihalar +OpenedTasks=Ochiq vazifalar +OpportunitiesStatusForOpenedProjects=Status bo'yicha ochiq loyihalarning etakchisi +OpportunitiesStatusForProjects=Loyihalar miqdori bo'yicha maqomi bo'yicha etakchilik qiladi +ShowProject=Loyihani namoyish etish +ShowTask=Vazifani ko'rsatish +SetProject=Loyihani o'rnating +NoProject=Hech qanday loyiha aniqlanmagan yoki tegishli emas +NbOfProjects=Loyihalar soni +NbOfTasks=Vazifalar soni +TimeSpent=O'tkazilgan vaqt +TimeSpentByYou=Siz sarflagan vaqt +TimeSpentByUser=Foydalanuvchi sarflagan vaqt +TimesSpent=O'tkazilgan vaqt +TaskId=Vazifa identifikatori +RefTask=Vazifa ref. +LabelTask=Vazifa yorlig'i +TaskTimeSpent=Vazifalarga sarflangan vaqt +TaskTimeUser=Foydalanuvchi +TaskTimeNote=Eslatma TaskTimeDate=Date -TasksOnOpenedProject=Tasks on open projects -WorkloadNotDefined=Workload not defined -NewTimeSpent=Time spent -MyTimeSpent=My time spent -BillTime=Bill the time spent -BillTimeShort=Bill time -TimeToBill=Time not billed -TimeBilled=Time billed -Tasks=Tasks -Task=Task -TaskDateStart=Task start date -TaskDateEnd=Task end date -TaskDescription=Task description -NewTask=New task -AddTask=Create task -AddTimeSpent=Create time spent -AddHereTimeSpentForDay=Add here time spent for this day/task -AddHereTimeSpentForWeek=Add here time spent for this week/task -Activity=Activity -Activities=Tasks/activities -MyActivities=My tasks/activities -MyProjects=My projects -MyProjectsArea=My projects Area -DurationEffective=Effective duration -ProgressDeclared=Declared real progress -TaskProgressSummary=Task progress -CurentlyOpenedTasks=Curently open tasks -TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption -TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption -ProgressCalculated=Progress on consumption -WhichIamLinkedTo=which I'm linked to -WhichIamLinkedToProject=which I'm linked to project -Time=Time -TimeConsumed=Consumed -ListOfTasks=List of tasks -GoToListOfTimeConsumed=Go to list of time consumed -GanttView=Gantt View -ListWarehouseAssociatedProject=List of warehouses associated to the project -ListProposalsAssociatedProject=List of the commercial proposals related to the project -ListOrdersAssociatedProject=List of sales orders related to the project -ListInvoicesAssociatedProject=List of customer invoices related to the project -ListPredefinedInvoicesAssociatedProject=List of customer template invoices related to the project -ListSupplierOrdersAssociatedProject=List of purchase orders related to the project -ListSupplierInvoicesAssociatedProject=List of vendor invoices related to the project -ListContractAssociatedProject=List of contracts related to the project -ListShippingAssociatedProject=List of shippings related to the project -ListFichinterAssociatedProject=List of interventions related to the project -ListExpenseReportsAssociatedProject=List of expense reports related to the project -ListDonationsAssociatedProject=List of donations related to the project -ListVariousPaymentsAssociatedProject=List of miscellaneous payments related to the project -ListSalariesAssociatedProject=List of payments of salaries related to the project -ListActionsAssociatedProject=List of events related to the project -ListMOAssociatedProject=List of manufacturing orders related to the project -ListTaskTimeUserProject=List of time consumed on tasks of project -ListTaskTimeForTask=List of time consumed on task -ActivityOnProjectToday=Activity on project today -ActivityOnProjectYesterday=Activity on project yesterday -ActivityOnProjectThisWeek=Activity on project this week -ActivityOnProjectThisMonth=Activity on project this month -ActivityOnProjectThisYear=Activity on project this year -ChildOfProjectTask=Child of project/task -ChildOfTask=Child of task -TaskHasChild=Task has child -NotOwnerOfProject=Not owner of this private project -AffectedTo=Allocated to -CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See tab '%s'. -ValidateProject=Validate projet -ConfirmValidateProject=Are you sure you want to validate this project? -CloseAProject=Close project -ConfirmCloseAProject=Are you sure you want to close this project? -AlsoCloseAProject=Also close project (keep it open if you still need to follow production tasks on it) -ReOpenAProject=Open project -ConfirmReOpenAProject=Are you sure you want to re-open this project? -ProjectContact=Contacts of project -TaskContact=Task contacts -ActionsOnProject=Events on project -YouAreNotContactOfProject=You are not a contact of this private project -UserIsNotContactOfProject=User is not a contact of this private project -DeleteATimeSpent=Delete time spent -ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent? -DoNotShowMyTasksOnly=See also tasks not assigned to me -ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Contacts of task -ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party -NoTasks=No tasks for this project -LinkedToAnotherCompany=Linked to other third party -TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. -ErrorTimeSpentIsEmpty=Time spent is empty -ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. -IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. -CloneTasks=Clone tasks -CloneContacts=Clone contacts -CloneNotes=Clone notes -CloneProjectFiles=Clone project joined files -CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) -CloneMoveDate=Update project/tasks dates from now? -ConfirmCloneProject=Are you sure to clone this project? -ProjectReportDate=Change task dates according to new project start date -ErrorShiftTaskDate=Impossible to shift task date according to new project start date -ProjectsAndTasksLines=Projects and tasks -ProjectCreatedInDolibarr=Project %s created -ProjectValidatedInDolibarr=Project %s validated -ProjectModifiedInDolibarr=Project %s modified -TaskCreatedInDolibarr=Task %s created -TaskModifiedInDolibarr=Task %s modified -TaskDeletedInDolibarr=Task %s deleted -OpportunityStatus=Lead status -OpportunityStatusShort=Lead status -OpportunityProbability=Lead probability -OpportunityProbabilityShort=Lead probab. -OpportunityAmount=Lead amount -OpportunityAmountShort=Lead amount -OpportunityWeightedAmount=Opportunity weighted amount -OpportunityWeightedAmountShort=Opp. weighted amount -OpportunityAmountAverageShort=Average lead amount -OpportunityAmountWeigthedShort=Weighted lead amount -WonLostExcluded=Won/Lost excluded +TasksOnOpenedProject=Ochiq loyihalar bo'yicha vazifalar +WorkloadNotDefined=Ish hajmi aniqlanmagan +NewTimeSpent=O'tkazilgan vaqt +MyTimeSpent=Mening vaqtim o'tgan +BillTime=Vaqt sarflang +BillTimeShort=Hisob-kitob vaqti +TimeToBill=Vaqt hisoblanmaydi +TimeBilled=Hisob-kitob vaqti +Tasks=Vazifalar +Task=Vazifa +TaskDateStart=Vazifaning boshlanish sanasi +TaskDateEnd=Vazifaning tugash sanasi +TaskDescription=Vazifaning tavsifi +NewTask=Yangi vazifa +AddTask=Vazifa yaratish +AddTimeSpent=O'tkazilgan vaqtni yarating +AddHereTimeSpentForDay=Bu kunga / vazifaga sarflangan vaqtni qo'shing +AddHereTimeSpentForWeek=Bu erga ushbu hafta / topshiriq uchun sarflangan vaqtni qo'shing +Activity=Faoliyat +Activities=Vazifalar / tadbirlar +MyActivities=Mening vazifalarim / faoliyatim +MyProjects=Mening loyihalarim +MyProjectsArea=Mening loyihalarim +DurationEffective=Amal qilish muddati +ProgressDeclared=Haqiqiy taraqqiyot e'lon qilindi +TaskProgressSummary=Vazifaning bajarilishi +CurentlyOpenedTasks=Ochiq vazifalar +TheReportedProgressIsLessThanTheCalculatedProgressionByX=E'lon qilingan haqiqiy taraqqiyot iste'molga nisbatan kamroq %s +TheReportedProgressIsMoreThanTheCalculatedProgressionByX=E'lon qilingan haqiqiy taraqqiyot iste'molning rivojlanishiga qaraganda ko'proq %s +ProgressCalculated=Iste'mol bo'yicha taraqqiyot +WhichIamLinkedTo=Men bilan bog'langan +WhichIamLinkedToProject=Men loyihaga bog'langanman +Time=Vaqt +TimeConsumed=Iste'mol qilingan +ListOfTasks=Vazifalar ro'yxati +GoToListOfTimeConsumed=Vaqt sarflanganlar ro'yxatiga o'ting +GanttView=Gantt Vyu +ListWarehouseAssociatedProject=Loyiha bilan bog'liq omborlar ro'yxati +ListProposalsAssociatedProject=Loyiha bilan bog'liq tijorat takliflari ro'yxati +ListOrdersAssociatedProject=Loyiha bilan bog'liq savdo buyurtmalar ro'yxati +ListInvoicesAssociatedProject=Loyiha bilan bog'liq mijozlarning hisob-fakturalari ro'yxati +ListPredefinedInvoicesAssociatedProject=Loyiha bilan bog'liq mijozlar shablonlari hisob-fakturalari ro'yxati +ListSupplierOrdersAssociatedProject=Loyiha bilan bog'liq bo'lgan buyurtmalar ro'yxati +ListSupplierInvoicesAssociatedProject=Loyiha bilan bog'liq sotuvchilarning hisob-fakturalari ro'yxati +ListContractAssociatedProject=Loyiha bilan bog'liq shartnomalar ro'yxati +ListShippingAssociatedProject=Loyiha bilan bog'liq jo'natmalar ro'yxati +ListFichinterAssociatedProject=Loyiha bilan bog'liq tadbirlar ro'yxati +ListExpenseReportsAssociatedProject=Loyiha bilan bog'liq xarajatlar hisobotlari ro'yxati +ListDonationsAssociatedProject=Loyiha bilan bog'liq xayr-ehsonlar ro'yxati +ListVariousPaymentsAssociatedProject=Loyiha bilan bog'liq turli xil to'lovlar ro'yxati +ListSalariesAssociatedProject=Loyiha bilan bog'liq ish haqi to'lovlari ro'yxati +ListActionsAssociatedProject=Loyiha bilan bog'liq tadbirlar ro'yxati +ListMOAssociatedProject=Loyiha bilan bog'liq ishlab chiqarish buyurtmalari ro'yxati +ListTaskTimeUserProject=Loyiha vazifalari bo'yicha sarflanadigan vaqt ro'yxati +ListTaskTimeForTask=Vazifa bo'yicha sarflangan vaqt ro'yxati +ActivityOnProjectToday=Bugungi loyihadagi faoliyat +ActivityOnProjectYesterday=Kecha loyihadagi faoliyat +ActivityOnProjectThisWeek=Ushbu haftadagi loyihadagi faollik +ActivityOnProjectThisMonth=Ushbu oydagi loyihadagi faoliyat +ActivityOnProjectThisYear=Bu yilgi loyihadagi faoliyat +ChildOfProjectTask=Loyiha / vazifa farzandi +ChildOfTask=Vazifa farzandi +TaskHasChild=Vazifada bola bor +NotOwnerOfProject=Ushbu xususiy loyihaning egasi emas +AffectedTo=Ajratilgan +CantRemoveProject=Ushbu loyihani olib tashlash mumkin emas, chunki u boshqa ob'ektlar (faktura, buyurtma yoki boshqa) tomonidan havola qilinadi. '%s' yorlig'iga qarang. +ValidateProject=Proyektorni tasdiqlang +ConfirmValidateProject=Ushbu loyihani tasdiqlamoqchimisiz? +CloseAProject=Loyihani yoping +ConfirmCloseAProject=Ushbu loyihani yopmoqchi ekanligingizga aminmisiz? +AlsoCloseAProject=Loyihani yoping (agar siz hali ham ishlab chiqarish vazifalarini bajarishingiz kerak bo'lsa, uni ochiq holda saqlang) +ReOpenAProject=Ochiq loyiha +ConfirmReOpenAProject=Ushbu loyihani qayta ochishni xohlaysizmi? +ProjectContact=Loyiha aloqalari +TaskContact=Vazifa aloqalari +ActionsOnProject=Loyiha bo'yicha tadbirlar +YouAreNotContactOfProject=Siz ushbu xususiy loyihaning aloqasi emassiz +UserIsNotContactOfProject=Foydalanuvchi ushbu xususiy loyihaning aloqasi emas +DeleteATimeSpent=O'tkazilgan vaqtni o'chirib tashlang +ConfirmDeleteATimeSpent=Ushbu sarflangan vaqtni o'chirishni xohlaysizmi? +DoNotShowMyTasksOnly=Menga yuklanmagan vazifalarni ham ko'ring +ShowMyTasksOnly=Faqat menga yuklangan vazifalarni ko'ring +TaskRessourceLinks=Vazifa aloqalari +ProjectsDedicatedToThisThirdParty=Ushbu uchinchi tomonga bag'ishlangan loyihalar +NoTasks=Ushbu loyiha uchun hech qanday vazifa yo'q +LinkedToAnotherCompany=Boshqa uchinchi tomon bilan bog'langan +TaskIsNotAssignedToUser=Vazifa foydalanuvchiga berilmagan. Vazifani hozir tayinlash uchun ' %s ' tugmachasidan foydalaning. +ErrorTimeSpentIsEmpty=O'tkazilgan vaqt bo'sh +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back +ThisWillAlsoRemoveTasks=Ushbu amal shuningdek, loyihaning barcha vazifalarini ( %s vazifalari) va sarf qilingan barcha vaqtlarni o'chirib tashlaydi. +IfNeedToUseOtherObjectKeepEmpty=Agar boshqa uchinchi tomonga tegishli bo'lgan ba'zi bir ob'ektlar (hisob-faktura, buyurtma, ...) loyihani yaratish uchun bog'langan bo'lishi kerak bo'lsa, loyihani ko'p uchinchi shaxslar bo'lishini ta'minlash uchun uni bo'sh qoldiring. +CloneTasks=Klon vazifalari +CloneContacts=Kontaktlarni klonlash +CloneNotes=Klon yozuvlari +CloneProjectFiles=Klon loyihasi qo'shilgan fayllar +CloneTaskFiles=Birlashtirilgan fayllarni klonlash vazifasi (agar klonlangan bo'lsa) +CloneMoveDate=Loyiha / vazifalar sanalari bundan buyon yangilansinmi? +ConfirmCloneProject=Ushbu loyihani klonlashingizga ishonchingiz komilmi? +ProjectReportDate=Loyihaning yangi boshlanish sanasiga ko'ra topshiriq sanalarini o'zgartiring +ErrorShiftTaskDate=Loyihaning yangi boshlanish sanasiga ko'ra topshiriq sanasini almashtirish mumkin emas +ProjectsAndTasksLines=Loyihalar va vazifalar +ProjectCreatedInDolibarr=%s loyihasi yaratildi +ProjectValidatedInDolibarr=%s loyihasi tasdiqlangan +ProjectModifiedInDolibarr=%s loyihasi o'zgartirildi +TaskCreatedInDolibarr=%s vazifasi yaratildi +TaskModifiedInDolibarr=Vazifa %s o'zgartirildi +TaskDeletedInDolibarr=%s vazifasi o'chirildi +OpportunityStatus=Qo'rg'oshin holati +OpportunityStatusShort=Qo'rg'oshin holati +OpportunityProbability=Qo'rg'oshin ehtimoli +OpportunityProbabilityShort=Qo'rg'oshin probab. +OpportunityAmount=Qo'rg'oshin miqdori +OpportunityAmountShort=Qo'rg'oshin miqdori +OpportunityWeightedAmount=Imkoniyatni hisobga olgan holda miqdori +OpportunityWeightedAmountShort=Opp. tortilgan miqdor +OpportunityAmountAverageShort=O'rtacha qo'rg'oshin miqdori +OpportunityAmountWeigthedShort=Qo'rg'oshin miqdori +WonLostExcluded=Yutdi / Yo'qotildi chiqarib tashlandi ##### Types de contacts ##### -TypeContact_project_internal_PROJECTLEADER=Project leader -TypeContact_project_external_PROJECTLEADER=Project leader -TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor -TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor -TypeContact_project_task_internal_TASKEXECUTIVE=Task executive -TypeContact_project_task_external_TASKEXECUTIVE=Task executive -TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor -TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor -SelectElement=Select element -AddElement=Link to element -LinkToElementShort=Link to +TypeContact_project_internal_PROJECTLEADER=Loyiha rahbari +TypeContact_project_external_PROJECTLEADER=Loyiha rahbari +TypeContact_project_internal_PROJECTCONTRIBUTOR=Xissador +TypeContact_project_external_PROJECTCONTRIBUTOR=Xissador +TypeContact_project_task_internal_TASKEXECUTIVE=Vazifa ijro etuvchi +TypeContact_project_task_external_TASKEXECUTIVE=Vazifa ijro etuvchi +TypeContact_project_task_internal_TASKCONTRIBUTOR=Xissador +TypeContact_project_task_external_TASKCONTRIBUTOR=Xissador +SelectElement=Elementni tanlang +AddElement=Elementga havola +LinkToElementShort=Ga havola # Documents models -DocumentModelBeluga=Project document template for linked objects overview -DocumentModelBaleine=Project document template for tasks -DocumentModelTimeSpent=Project report template for time spent -PlannedWorkload=Planned workload -PlannedWorkloadShort=Workload -ProjectReferers=Related items -ProjectMustBeValidatedFirst=Project must be validated first -FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time -InputPerDay=Input per day -InputPerWeek=Input per week -InputPerMonth=Input per month -InputDetail=Input detail -TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s -ProjectsWithThisUserAsContact=Projects with this user as contact -TasksWithThisUserAsContact=Tasks assigned to this user -ResourceNotAssignedToProject=Not assigned to project -ResourceNotAssignedToTheTask=Not assigned to the task -NoUserAssignedToTheProject=No users assigned to this project -TimeSpentBy=Time spent by -TasksAssignedTo=Tasks assigned to -AssignTaskToMe=Assign task to myself -AssignTaskToUser=Assign task to %s -SelectTaskToAssign=Select task to assign... -AssignTask=Assign -ProjectOverview=Overview -ManageTasks=Use projects to follow tasks and/or report time spent (timesheets) -ManageOpportunitiesStatus=Use projects to follow leads/opportinuties -ProjectNbProjectByMonth=No. of created projects by month -ProjectNbTaskByMonth=No. of created tasks by month -ProjectOppAmountOfProjectsByMonth=Amount of leads by month -ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of leads by month -ProjectOpenedProjectByOppStatus=Open project|lead by lead status -ProjectsStatistics=Statistics on projects or leads -TasksStatistics=Statistics on tasks of projects or leads -TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible. -IdTaskTime=Id task time -YouCanCompleteRef=If you want to complete the ref with some suffix, it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-MYSUFFIX -OpenedProjectsByThirdparties=Open projects by third parties -OnlyOpportunitiesShort=Only leads -OpenedOpportunitiesShort=Open leads -NotOpenedOpportunitiesShort=Not an open lead -NotAnOpportunityShort=Not a lead -OpportunityTotalAmount=Total amount of leads -OpportunityPonderatedAmount=Weighted amount of leads -OpportunityPonderatedAmountDesc=Leads amount weighted with probability -OppStatusPROSP=Prospection -OppStatusQUAL=Qualification -OppStatusPROPO=Proposal -OppStatusNEGO=Negociation -OppStatusPENDING=Pending -OppStatusWON=Won -OppStatusLOST=Lost -Budget=Budget -AllowToLinkFromOtherCompany=Allow to link project from other company

    Supported values:
    - Keep empty: Can link any project of the company (default)
    - "all": Can link any projects, even projects of other companies
    - A list of third-party ids separated by commas: can link all projects of these third partys (Example: 123,4795,53)
    -LatestProjects=Latest %s projects -LatestModifiedProjects=Latest %s modified projects -OtherFilteredTasks=Other filtered tasks -NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) -ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. -ChooseANotYetAssignedTask=Choose a task not yet assigned to you +DocumentModelBeluga=Bog'langan ob'ektlarga umumiy nuqtai uchun loyiha hujjati shabloni +DocumentModelBaleine=Vazifalar uchun loyiha hujjati shabloni +DocumentModelTimeSpent=O'tkazilgan vaqt uchun loyiha hisoboti shabloni +PlannedWorkload=Rejalashtirilgan ish hajmi +PlannedWorkloadShort=Ish hajmi +ProjectReferers=Tegishli narsalar +ProjectMustBeValidatedFirst=Avval loyiha tasdiqlanishi kerak +FirstAddRessourceToAllocateTime=Vaqt ajratish uchun foydalanuvchi resursini loyihaning aloqasi sifatida tayinlang +InputPerDay=Kuniga kiritish +InputPerWeek=Haftada kiritish +InputPerMonth=Oyiga kiritish +InputDetail=Kirish tafsiloti +TimeAlreadyRecorded=Bu allaqachon ushbu vazifa uchun yozilgan vaqt va foydalanuvchi %s +ProjectsWithThisUserAsContact=Ushbu foydalanuvchi bilan aloqa sifatida loyihalar +TasksWithThisUserAsContact=Ushbu foydalanuvchiga berilgan vazifalar +ResourceNotAssignedToProject=Loyihaga tayinlanmagan +ResourceNotAssignedToTheTask=Vazifaga tayinlanmagan +NoUserAssignedToTheProject=Ushbu loyihaga tayinlangan foydalanuvchilar yo'q +TimeSpentBy=O'tkazilgan vaqt +TasksAssignedTo=Belgilangan vazifalar +AssignTaskToMe=O'zimga vazifa bering +AssignTaskToUser=%s ga topshiriq bering +SelectTaskToAssign=Topshiriqni tanlang ... +AssignTask=Tayinlang +ProjectOverview=Umumiy nuqtai +ManageTasks=Vazifalarni bajarish va / yoki sarflangan vaqt (vaqt jadvallari) haqida xabar berish uchun loyihalardan foydalaning +ManageOpportunitiesStatus=Loyihalarni / imkoniyatlarni kuzatib borish uchun foydalaning +ProjectNbProjectByMonth=Oy davomida yaratilgan loyihalar soni +ProjectNbTaskByMonth=Oylar davomida yaratilgan topshiriqlar soni +ProjectOppAmountOfProjectsByMonth=Oylar bo'yicha etakchilar miqdori +ProjectWeightedOppAmountOfProjectsByMonth=Qo'rg'oshinlarning oylik miqdori +ProjectOpenedProjectByOppStatus=Ochiq loyiha | etakchi maqomi bo'yicha etakchi +ProjectsStatistics=Loyihalar yoki etakchilar bo'yicha statistika +TasksStatistics=Loyihalar yoki rahbarlarning vazifalari bo'yicha statistika +TaskAssignedToEnterTime=Vazifa tayinlandi. Ushbu topshiriq bo'yicha vaqtni kiritish mumkin bo'lishi kerak. +IdTaskTime=Id vazifasi vaqti +YouCanCompleteRef=Agar siz ba'zi bir qo'shimchalar bilan refni to'ldirishni istasangiz, uni ajratish uchun belgi qo'shishingiz tavsiya etiladi, shuning uchun avtomatik raqamlash keyingi loyihalar uchun to'g'ri ishlaydi. Masalan %s-MYSUFFIX +OpenedProjectsByThirdparties=Uchinchi tomonlarning ochiq loyihalari +OnlyOpportunitiesShort=Faqat rahbarlik qiladi +OpenedOpportunitiesShort=Ochiq chiziqlar +NotOpenedOpportunitiesShort=Ochiq etakchi emas +NotAnOpportunityShort=Qo'rg'oshin emas +OpportunityTotalAmount=Qo'rg'oshinlarning umumiy miqdori +OpportunityPonderatedAmount=Qo'rg'oshinlarning og'irligi +OpportunityPonderatedAmountDesc=Ehtimollik bilan tortilgan etakchi miqdor +OppStatusPROSP=Istiqbol +OppStatusQUAL=Malaka +OppStatusPROPO=Taklif +OppStatusNEGO=Salbiylik +OppStatusPENDING=Kutilmoqda +OppStatusWON=Yutuq +OppStatusLOST=Yo'qotilgan +Budget=Byudjet +AllowToLinkFromOtherCompany=Loyihani boshqa kompaniyadan bog'lashga ruxsat bering

    Qo'llab-quvvatlanadigan qiymatlar:
    - Bo'sh tuting: kompaniyaning istalgan loyihasini bog'lashi mumkin (default) a0342fccfdab " vergul bilan ajratilgan uchinchi tomon identifikatorlari: ushbu uchinchi tomonlarning barcha loyihalarini bog'lashi mumkin (Masalan: 123,4795,53)
    +LatestProjects=Oxirgi %s loyihalari +LatestModifiedProjects=Oxirgi %s o'zgartirilgan loyihalar +OtherFilteredTasks=Boshqa filtrlangan vazifalar +NoAssignedTasks=Belgilangan vazifalar topilmadi (loyihani / vazifalarni joriy foydalanuvchiga vaqtni belgilash uchun yuqori tanlangan maydonchadan belgilang) +ThirdPartyRequiredToGenerateInvoice=Hisob-kitob qilish imkoniyatiga ega bo'lish uchun loyihada uchinchi shaxs aniqlanishi kerak. +ThirdPartyRequiredToGenerateInvoice=Hisob-kitob qilish imkoniyatiga ega bo'lish uchun loyihada uchinchi shaxs aniqlanishi kerak. +ChooseANotYetAssignedTask=Sizga hali tayinlanmagan vazifani tanlang # Comments trans -AllowCommentOnTask=Allow user comments on tasks -AllowCommentOnProject=Allow user comments on projects -DontHavePermissionForCloseProject=You do not have permissions to close the project %s -DontHaveTheValidateStatus=The project %s must be open to be closed -RecordsClosed=%s project(s) closed -SendProjectRef=Information project %s -ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized -NewTaskRefSuggested=Task ref already used, a new task ref is required -TimeSpentInvoiced=Time spent billed -TimeSpentForInvoice=Time spent -OneLinePerUser=One line per user -ServiceToUseOnLines=Service to use on lines -InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project -ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. -ProjectFollowOpportunity=Follow opportunity -ProjectFollowTasks=Follow tasks or time spent -Usage=Usage -UsageOpportunity=Usage: Opportunity -UsageTasks=Usage: Tasks -UsageBillTimeShort=Usage: Bill time -InvoiceToUse=Draft invoice to use -NewInvoice=New invoice -OneLinePerTask=One line per task -OneLinePerPeriod=One line per period -RefTaskParent=Ref. Parent Task -ProfitIsCalculatedWith=Profit is calculated using -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +AllowCommentOnTask=Vazifalar bo'yicha foydalanuvchi sharhlariga ruxsat berish +AllowCommentOnProject=Foydalanuvchilarning loyihalar bo'yicha sharhlariga ruxsat berish +DontHavePermissionForCloseProject=%s loyihasini yopish uchun sizda ruxsat yo'q +DontHaveTheValidateStatus=%s loyihasi yopilishi uchun ochiq bo'lishi kerak +RecordsClosed=%s loyihasi yopildi +SendProjectRef=Axborot loyihasi %s +ModuleSalaryToDefineHourlyRateMustBeEnabled="Ish haqi" moduli ishchilarning soatlik stavkasini aniqlash uchun sarflangan vaqtni aniqlash uchun yoqilishi kerak +NewTaskRefSuggested=Vazifa allaqachon ishlatilgan, yangi vazifa talab qilinadi +TimeSpentInvoiced=Hisob-kitob qilingan vaqt +TimeSpentForIntervention=Time spent +TimeSpentForInvoice=O'tkazilgan vaqt +OneLinePerUser=Har bir foydalanuvchi uchun bitta qator +ServiceToUseOnLines=Qatorlarda foydalanish uchun xizmat +InvoiceGeneratedFromTimeSpent=%s hisob-fakturasi loyihaga sarf qilingan vaqtdan boshlab tuzildi +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project +ProjectBillTimeDescription=Loyiha vazifalari bo'yicha ish jadvalini kiritganingizni tekshiring va loyiha buyurtmachisiga hisob-kitob qilish uchun hisob varag'idan hisob-kitob (lar) yaratishni rejalashtiryapsiz (kiritilgan ish jadvallariga asoslanmagan hisob-faktura yaratishni rejalashtirayotganingizni tekshirmang). Izoh: Hisob-fakturani yaratish uchun loyihaning "sarflangan vaqt" yorlig'iga o'ting va qo'shiladigan qatorlarni tanlang. +ProjectFollowOpportunity=Imkoniyatni kuzatib boring +ProjectFollowTasks=Vazifalarni yoki sarflangan vaqtni kuzatib boring +Usage=Foydalanish +UsageOpportunity=Foydalanish: imkoniyat +UsageTasks=Foydalanish: Vazifalar +UsageBillTimeShort=Foydalanish: hisob-kitob vaqti +InvoiceToUse=Hisob-fakturani ishlating +InterToUse=Draft intervention to use +NewInvoice=Yangi hisob-faktura +NewInter=New intervention +OneLinePerTask=Har bir topshiriq uchun bitta qator +OneLinePerPeriod=Har bir davr uchun bitta qator +OneLinePerTimeSpentLine=Har safar o'tkazilgan deklaratsiya uchun bitta satr +RefTaskParent=Ref. Ota-onalarning vazifasi +ProfitIsCalculatedWith=Foyda yordamida hisoblanadi +AddPersonToTask=Vazifalarga qo'shimcha ravishda qo'shing +UsageOrganizeEvent=Foydalanish: tadbirlarni tashkil etish +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Barcha vazifalar bajarilgandan so'ng loyihani yopiq deb tasniflang (100%% taraqqiyoti) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Izoh: 100%% da barcha vazifalar mavjud loyihalar ta'sir qilmaydi: ularni qo'lda yopishingiz kerak bo'ladi. Ushbu parametr faqat ochiq loyihalarga ta'sir qiladi. +SelectLinesOfTimeSpentToInvoice=Hisob-kitob qilinmagan sarflangan vaqtni tanlang, so'ngra hisob-kitob qilish uchun "Hisob-fakturani yaratish" ommaviy harakati diff --git a/htdocs/langs/uz_UZ/propal.lang b/htdocs/langs/uz_UZ/propal.lang index edbc08236d3..3af849ea661 100644 --- a/htdocs/langs/uz_UZ/propal.lang +++ b/htdocs/langs/uz_UZ/propal.lang @@ -1,92 +1,92 @@ # Dolibarr language file - Source file is en_US - propal -Proposals=Commercial proposals -Proposal=Commercial proposal -ProposalShort=Proposal -ProposalsDraft=Draft commercial proposals -ProposalsOpened=Open commercial proposals -CommercialProposal=Commercial proposal -PdfCommercialProposalTitle=Commercial proposal -ProposalCard=Proposal card -NewProp=New commercial proposal -NewPropal=New proposal -Prospect=Prospect -DeleteProp=Delete commercial proposal -ValidateProp=Validate commercial proposal -AddProp=Create proposal -ConfirmDeleteProp=Are you sure you want to delete this commercial proposal? -ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s? -LastPropals=Latest %s proposals -LastModifiedProposals=Latest %s modified proposals -AllPropals=All proposals -SearchAProposal=Search a proposal -NoProposal=No proposal -ProposalsStatistics=Commercial proposal's statistics -NumberOfProposalsByMonth=Number by month -AmountOfProposalsByMonthHT=Amount by month (excl. tax) -NbOfProposals=Number of commercial proposals -ShowPropal=Show proposal -PropalsDraft=Drafts -PropalsOpened=Open -PropalStatusDraft=Draft (needs to be validated) -PropalStatusValidated=Validated (proposal is open) -PropalStatusSigned=Signed (needs billing) -PropalStatusNotSigned=Not signed (closed) -PropalStatusBilled=Billed -PropalStatusDraftShort=Draft -PropalStatusValidatedShort=Validated (open) -PropalStatusClosedShort=Closed -PropalStatusSignedShort=Signed -PropalStatusNotSignedShort=Not signed -PropalStatusBilledShort=Billed -PropalsToClose=Commercial proposals to close -PropalsToBill=Signed commercial proposals to bill -ListOfProposals=List of commercial proposals -ActionsOnPropal=Events on proposal -RefProposal=Commercial proposal ref -SendPropalByMail=Send commercial proposal by mail -DatePropal=Date of proposal -DateEndPropal=Validity ending date -ValidityDuration=Validity duration -SetAcceptedRefused=Set accepted/refused -ErrorPropalNotFound=Propal %s not found -AddToDraftProposals=Add to draft proposal -NoDraftProposals=No draft proposals -CopyPropalFrom=Create commercial proposal by copying existing proposal -CreateEmptyPropal=Create empty commercial proposal or from list of products/services -DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -UseCustomerContactAsPropalRecipientIfExist=Use contact/address with type 'Contact following-up proposal' if defined instead of third party address as proposal recipient address -ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s? -ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s? -ProposalsAndProposalsLines=Commercial proposal and lines -ProposalLine=Proposal line -ProposalLines=Proposal lines -AvailabilityPeriod=Availability delay -SetAvailability=Set availability delay -AfterOrder=after order -OtherProposals=Other proposals +Proposals=Tijorat takliflari +Proposal=Tijorat taklifi +ProposalShort=Taklif +ProposalsDraft=Tijorat takliflari loyihasi +ProposalsOpened=Tijorat takliflarini oching +CommercialProposal=Tijorat taklifi +PdfCommercialProposalTitle=Tijorat taklifi +ProposalCard=Taklif kartasi +NewProp=Yangi tijorat taklifi +NewPropal=Yangi taklif +Prospect=Istiqbol +DeleteProp=Tijorat taklifini o'chirish +ValidateProp=Tijorat taklifini tasdiqlash +AddProp=Taklif yaratish +ConfirmDeleteProp=Ushbu tijorat taklifini o'chirishni xohlaysizmi? +ConfirmValidateProp=Ushbu tijorat taklifini %s nomi bilan tasdiqlamoqchimisiz? +LastPropals=Oxirgi %s takliflari +LastModifiedProposals=Oxirgi %s o'zgartirilgan takliflar +AllPropals=Barcha takliflar +SearchAProposal=Taklifni qidiring +NoProposal=Taklif yo'q +ProposalsStatistics=Tijorat takliflarining statistikasi +NumberOfProposalsByMonth=Oy bo'yicha raqam +AmountOfProposalsByMonthHT=Oy bo'yicha miqdori (soliqdan tashqari) +NbOfProposals=Tijorat takliflari soni +ShowPropal=Taklifni ko'rsatish +PropalsDraft=Qoralamalar +PropalsOpened=Ochiq +PropalStatusDraft=Qoralama (tasdiqlanishi kerak) +PropalStatusValidated=Tasdiqlangan (taklif ochiq) +PropalStatusSigned=Imzolangan (hisob-kitob kerak) +PropalStatusNotSigned=Imzo qo'yilmagan (yopiq) +PropalStatusBilled=Hisob-kitob +PropalStatusDraftShort=Qoralama +PropalStatusValidatedShort=Tasdiqlangan (ochiq) +PropalStatusClosedShort=Yopiq +PropalStatusSignedShort=Imzolangan +PropalStatusNotSignedShort=Imzo qo'yilmagan +PropalStatusBilledShort=Hisob-kitob +PropalsToClose=Tijorat takliflarini yopish +PropalsToBill=Hisob-kitob qilish uchun imzolangan tijorat takliflari +ListOfProposals=Tijorat takliflari ro'yxati +ActionsOnPropal=Taklif bo'yicha tadbirlar +RefProposal=Tijorat taklifi +SendPropalByMail=Tijorat taklifini pochta orqali yuboring +DatePropal=Taklif qilingan sana +DateEndPropal=Amal qilish muddati tugagan sana +ValidityDuration=Amal qilish muddati +SetAcceptedRefused=To'siq qabul qilindi / rad etildi +ErrorPropalNotFound=%s taklifi topilmadi +AddToDraftProposals=Taklif loyihasiga qo'shing +NoDraftProposals=Takliflar loyihasi yo'q +CopyPropalFrom=Mavjud taklifni nusxalash orqali tijorat taklifini yarating +CreateEmptyPropal=Bo'sh tijorat taklifini yoki mahsulot / xizmatlar ro'yxatidan yarating +DefaultProposalDurationValidity=Standart tijorat taklifining amal qilish muddati (kunlar ichida) +UseCustomerContactAsPropalRecipientIfExist=Uchinchi shaxs manzili o'rniga taklif oluvchining manzili belgilangan bo'lsa, "Kontaktni kuzatib boruvchi taklif" turi bilan aloqa / manzildan foydalaning +ConfirmClonePropal= %s tijorat taklifini klonlamoqchimisiz? +ConfirmReOpenProp= %s tijorat taklifini ochmoqchi ekanligingizga aminmisiz? +ProposalsAndProposalsLines=Tijorat takliflari va yo'nalishlari +ProposalLine=Taklif liniyasi +ProposalLines=Taklif satrlari +AvailabilityPeriod=Mavjudligini kechiktirish +SetAvailability=Mavjudligini kechiktirishni o'rnating +AfterOrder=buyurtmadan keyin +OtherProposals=Boshqa takliflar ##### Availability ##### -AvailabilityTypeAV_NOW=Immediate -AvailabilityTypeAV_1W=1 week -AvailabilityTypeAV_2W=2 weeks -AvailabilityTypeAV_3W=3 weeks -AvailabilityTypeAV_1M=1 month +AvailabilityTypeAV_NOW=Darhol +AvailabilityTypeAV_1W=1 hafta +AvailabilityTypeAV_2W=2 hafta +AvailabilityTypeAV_3W=3 hafta +AvailabilityTypeAV_1M=1 oy ##### Types de contacts ##### -TypeContact_propal_internal_SALESREPFOLL=Representative following-up proposal -TypeContact_propal_external_BILLING=Customer invoice contact -TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal -TypeContact_propal_external_SHIPPING=Customer contact for delivery +TypeContact_propal_internal_SALESREPFOLL=Vakilning keyingi taklifi +TypeContact_propal_external_BILLING=Mijozlarning hisob-fakturasi bilan aloqa qilish +TypeContact_propal_external_CUSTOMER=Keyingi taklif bilan mijozlar bilan bog'lanish +TypeContact_propal_external_SHIPPING=Yetkazib berish uchun mijozlar bilan bog'lanish # Document models -DocModelAzurDescription=A complete proposal model (old implementation of Cyan template) -DocModelCyanDescription=A complete proposal model -DefaultModelPropalCreate=Default model creation -DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) -ProposalCustomerSignature=Written acceptance, company stamp, date and signature -ProposalsStatisticsSuppliers=Vendor proposals statistics -CaseFollowedBy=Case followed by -SignedOnly=Signed only -IdProposal=Proposal ID -IdProduct=Product ID -PrParentLine=Proposal Parent Line -LineBuyPriceHT=Buy Price Amount net of tax for line +DocModelAzurDescription=Taklifning to'liq modeli (Cyan shablonining eski tatbiqi) +DocModelCyanDescription=To'liq taklif modeli +DefaultModelPropalCreate=Standart model yaratish +DefaultModelPropalToBill=Tijorat taklifini yopish paytida standart shablon (hisob-faktura) +DefaultModelPropalClosed=Tijorat taklifini yopish paytida standart shablon (taqdim etilmagan) +ProposalCustomerSignature=Yozma qabul, kompaniya muhri, sanasi va imzosi +ProposalsStatisticsSuppliers=Sotuvchi takliflari statistikasi +CaseFollowedBy=Keyingi ish +SignedOnly=Faqat imzolangan +IdProposal=Taklif identifikatori +IdProduct=Mahsulot identifikatori +PrParentLine=Ota-onalar qatori +LineBuyPriceHT=Sotib olish narxlari qatori uchun soliqni olib tashlagan holda diff --git a/htdocs/langs/uz_UZ/receiptprinter.lang b/htdocs/langs/uz_UZ/receiptprinter.lang index 2574ff1b4bd..b328df42d5b 100644 --- a/htdocs/langs/uz_UZ/receiptprinter.lang +++ b/htdocs/langs/uz_UZ/receiptprinter.lang @@ -1,82 +1,82 @@ # Dolibarr language file - Source file is en_US - receiptprinter -ReceiptPrinterSetup=Setup of module ReceiptPrinter -PrinterAdded=Printer %s added -PrinterUpdated=Printer %s updated -PrinterDeleted=Printer %s deleted -TestSentToPrinter=Test Sent To Printer %s -ReceiptPrinter=Receipt printers -ReceiptPrinterDesc=Setup of receipt printers -ReceiptPrinterTemplateDesc=Setup of Templates -ReceiptPrinterTypeDesc=Description of Receipt Printer's type -ReceiptPrinterProfileDesc=Description of Receipt Printer's Profile -ListPrinters=List of Printers -SetupReceiptTemplate=Template Setup -CONNECTOR_DUMMY=Dummy Printer -CONNECTOR_NETWORK_PRINT=Network Printer -CONNECTOR_FILE_PRINT=Local Printer -CONNECTOR_WINDOWS_PRINT=Local Windows Printer -CONNECTOR_CUPS_PRINT=Cups Printer -CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing -CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100 -CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1 -CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer -CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L -PROFILE_DEFAULT=Default Profile -PROFILE_SIMPLE=Simple Profile -PROFILE_EPOSTEP=Epos Tep Profile -PROFILE_P822D=P822D Profile -PROFILE_STAR=Star Profile -PROFILE_DEFAULT_HELP=Default Profile suitable for Epson printers -PROFILE_SIMPLE_HELP=Simple Profile No Graphics -PROFILE_EPOSTEP_HELP=Epos Tep Profile -PROFILE_P822D_HELP=P822D Profile No Graphics -PROFILE_STAR_HELP=Star Profile -DOL_LINE_FEED=Skip line -DOL_ALIGN_LEFT=Left align text -DOL_ALIGN_CENTER=Center text -DOL_ALIGN_RIGHT=Right align text -DOL_USE_FONT_A=Use font A of printer -DOL_USE_FONT_B=Use font B of printer -DOL_USE_FONT_C=Use font C of printer -DOL_PRINT_BARCODE=Print barcode -DOL_PRINT_BARCODE_CUSTOMER_ID=Print barcode customer id -DOL_CUT_PAPER_FULL=Cut ticket completely -DOL_CUT_PAPER_PARTIAL=Cut ticket partially -DOL_OPEN_DRAWER=Open cash drawer -DOL_ACTIVATE_BUZZER=Activate buzzer -DOL_PRINT_QRCODE=Print QR Code -DOL_PRINT_LOGO=Print logo of my company -DOL_PRINT_LOGO_OLD=Print logo of my company (old printers) -DOL_BOLD=Bold -DOL_BOLD_DISABLED=Disable bold -DOL_DOUBLE_HEIGHT=Double height size -DOL_DOUBLE_WIDTH=Double width size -DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size -DOL_UNDERLINE=Enable underline -DOL_UNDERLINE_DISABLED=Disable underline -DOL_BEEP=Beed sound -DOL_PRINT_TEXT=Print text -DateInvoiceWithTime=Invoice date and time -YearInvoice=Invoice year -DOL_VALUE_MONTH_LETTERS=Invoice month in letters -DOL_VALUE_MONTH=Invoice month -DOL_VALUE_DAY=Invoice day -DOL_VALUE_DAY_LETTERS=Inovice day in letters -DOL_LINE_FEED_REVERSE=Line feed reverse -InvoiceID=Invoice ID -InvoiceRef=Invoice ref -DOL_PRINT_OBJECT_LINES=Invoice lines -DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name -DOL_VALUE_CUSTOMER_LASTNAME=Customer last name -DOL_VALUE_CUSTOMER_MAIL=Customer mail -DOL_VALUE_CUSTOMER_PHONE=Customer phone -DOL_VALUE_CUSTOMER_MOBILE=Customer mobile -DOL_VALUE_CUSTOMER_SKYPE=Customer Skype -DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number -DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance -DOL_VALUE_MYSOC_NAME=Your company name -VendorLastname=Vendor last name -VendorFirstname=Vendor first name -VendorEmail=Vendor email -DOL_VALUE_CUSTOMER_POINTS=Customer points -DOL_VALUE_OBJECT_POINTS=Object points +ReceiptPrinterSetup=ReceiptPrinter modulini sozlash +PrinterAdded=%s printer qo'shildi +PrinterUpdated=Printer %s yangilandi +PrinterDeleted=%s printeri o'chirildi +TestSentToPrinter=Sinov printerga yuborildi %s +ReceiptPrinter=Kvitansiya printerlari +ReceiptPrinterDesc=Kvitansiya printerlarini sozlash +ReceiptPrinterTemplateDesc=Shablonlarni sozlash +ReceiptPrinterTypeDesc=Qabul qilish printeri turining tavsifi +ReceiptPrinterProfileDesc=Qabul qilish printeri profilining tavsifi +ListPrinters=Printerlar ro'yxati +SetupReceiptTemplate=Shablonni sozlash +CONNECTOR_DUMMY=Dummy printer +CONNECTOR_NETWORK_PRINT=Tarmoq printeri +CONNECTOR_FILE_PRINT=Mahalliy printer +CONNECTOR_WINDOWS_PRINT=Mahalliy Windows printeri +CONNECTOR_CUPS_PRINT=Kubok printeri +CONNECTOR_DUMMY_HELP=Sinov uchun soxta printer, hech narsa qilmaydi +CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 +CONNECTOR_FILE_PRINT_HELP=/ dev / usb / lp0, / dev / usb / lp1 +CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: secret @ computername / workgroup / Qabul qilish printeri +CONNECTOR_CUPS_PRINT_HELP=CUPS printer nomi, masalan: HPRT_TP805L +PROFILE_DEFAULT=Standart profil +PROFILE_SIMPLE=Oddiy profil +PROFILE_EPOSTEP=Epos Tep profili +PROFILE_P822D=P822D profili +PROFILE_STAR=Yulduzli profil +PROFILE_DEFAULT_HELP=Epson printerlari uchun mos bo'lgan standart profil +PROFILE_SIMPLE_HELP=Grafika yo'q oddiy profil +PROFILE_EPOSTEP_HELP=Epos Tep profili +PROFILE_P822D_HELP=P822D profili Grafika yo'q +PROFILE_STAR_HELP=Yulduzli profil +DOL_LINE_FEED=Chiziqni o‘tkazib yuborish +DOL_ALIGN_LEFT=Matnni chapga tekislang +DOL_ALIGN_CENTER=Markaziy matn +DOL_ALIGN_RIGHT=Matnni o'ngga tekislang +DOL_USE_FONT_A=Printerning A shriftidan foydalaning +DOL_USE_FONT_B=Printerning B shriftidan foydalaning +DOL_USE_FONT_C=Printerning C shriftidan foydalaning +DOL_PRINT_BARCODE=Shtrixli kodni chop eting +DOL_PRINT_BARCODE_CUSTOMER_ID=Shtrixli mijoz identifikatorini chop eting +DOL_CUT_PAPER_FULL=Chiptani butunlay kesib tashlang +DOL_CUT_PAPER_PARTIAL=Chiptani qisman kesib oling +DOL_OPEN_DRAWER=Ochiq kassa +DOL_ACTIVATE_BUZZER=Zilni yoqing +DOL_PRINT_QRCODE=QR kodini chop eting +DOL_PRINT_LOGO=Kompaniyamning logotipini chop eting +DOL_PRINT_LOGO_OLD=Kompaniyamning logotipini chop etish (eski printerlar) +DOL_BOLD=Qalin +DOL_BOLD_DISABLED=Qalin harfni o'chirib qo'ying +DOL_DOUBLE_HEIGHT=Ikki baravar balandlik +DOL_DOUBLE_WIDTH=Ikki baravar kenglik +DOL_DEFAULT_HEIGHT_WIDTH=Standart balandlik va kenglik o'lchami +DOL_UNDERLINE=Chiziqni yoqish +DOL_UNDERLINE_DISABLED=Chiziqni o‘chirish +DOL_BEEP=Ovozli signal +DOL_PRINT_TEXT=Matnni chop etish +DateInvoiceWithTime=Hisob-fakturaning sanasi va vaqti +YearInvoice=Hisob-faktura yili +DOL_VALUE_MONTH_LETTERS=Hisob-faktura oyi harflar bilan +DOL_VALUE_MONTH=Hisob-faktura oyi +DOL_VALUE_DAY=Hisob-faktura kuni +DOL_VALUE_DAY_LETTERS=Inovice kuni xatlarda +DOL_LINE_FEED_REVERSE=Qatorli uzatma teskari +InvoiceID=Hisob-faktura identifikatori +InvoiceRef=Hisob-faktura +DOL_PRINT_OBJECT_LINES=Hisob-faktura satrlari +DOL_VALUE_CUSTOMER_FIRSTNAME=Mijozning ismi +DOL_VALUE_CUSTOMER_LASTNAME=Mijozning familiyasi +DOL_VALUE_CUSTOMER_MAIL=Mijozlar pochtasi +DOL_VALUE_CUSTOMER_PHONE=Mijoz telefoni +DOL_VALUE_CUSTOMER_MOBILE=Mijoz mobil +DOL_VALUE_CUSTOMER_SKYPE=Mijozlar Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Mijozlarning soliq raqami +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Mijozlar hisobidagi qoldiq +DOL_VALUE_MYSOC_NAME=Sizning kompaniyangiz nomi +VendorLastname=Sotuvchi familiyasi +VendorFirstname=Sotuvchining nomi +VendorEmail=Sotuvchi elektron pochta +DOL_VALUE_CUSTOMER_POINTS=Mijozlar ochkolari +DOL_VALUE_OBJECT_POINTS=Ob'ekt nuqtalari diff --git a/htdocs/langs/uz_UZ/receptions.lang b/htdocs/langs/uz_UZ/receptions.lang index 760ff884fa0..9cdcd708342 100644 --- a/htdocs/langs/uz_UZ/receptions.lang +++ b/htdocs/langs/uz_UZ/receptions.lang @@ -1,47 +1,47 @@ # Dolibarr language file - Source file is en_US - receptions -ReceptionsSetup=Product Reception setup -RefReception=Ref. reception -Reception=Reception -Receptions=Receptions -AllReceptions=All Receptions -Reception=Reception -Receptions=Receptions -ShowReception=Show Receptions -ReceptionsArea=Receptions area -ListOfReceptions=List of receptions -ReceptionMethod=Reception method -LastReceptions=Latest %s receptions -StatisticsOfReceptions=Statistics for receptions -NbOfReceptions=Number of receptions -NumberOfReceptionsByMonth=Number of receptions by month -ReceptionCard=Reception card -NewReception=New reception -CreateReception=Create reception -QtyInOtherReceptions=Qty in other receptions -OtherReceptionsForSameOrder=Other receptions for this order -ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order -ReceptionsToValidate=Receptions to validate -StatusReceptionCanceled=Canceled -StatusReceptionDraft=Draft -StatusReceptionValidated=Validated (products to ship or already shipped) -StatusReceptionProcessed=Processed -StatusReceptionDraftShort=Draft -StatusReceptionValidatedShort=Validated -StatusReceptionProcessedShort=Processed -ReceptionSheet=Reception sheet -ConfirmDeleteReception=Are you sure you want to delete this reception? -ConfirmValidateReception=Are you sure you want to validate this reception with reference %s? -ConfirmCancelReception=Are you sure you want to cancel this reception? -StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known). -SendReceptionByEMail=Send reception by email -SendReceptionRef=Submission of reception %s -ActionsOnReception=Events on reception -ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card. -ReceptionLine=Reception line -ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received -ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions. -ReceptionsNumberingModules=Numbering module for receptions -ReceptionsReceiptModel=Document templates for receptions -NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionsSetup=Mahsulotni qabul qilishni sozlash +RefReception=Ref. ziyofat +Reception=Qabul qilish +Receptions=Qabullar +AllReceptions=Barcha qabullar +Reception=Qabul qilish +Receptions=Qabullar +ShowReception=Qabullarni ko'rsatish +ReceptionsArea=Qabullar maydoni +ListOfReceptions=Qabullar ro'yxati +ReceptionMethod=Qabul qilish usuli +LastReceptions=Oxirgi %s qabulxonalari +StatisticsOfReceptions=Qabul qilish uchun statistika +NbOfReceptions=Qabullar soni +NumberOfReceptionsByMonth=Oylar bo'yicha qabullar soni +ReceptionCard=Qabul qilish kartasi +NewReception=Yangi qabulxona +CreateReception=Qabulxona yaratish +QtyInOtherReceptions=Boshqa qabulxonalarda soni +OtherReceptionsForSameOrder=Ushbu buyurtma bo'yicha boshqa qabulxonalar +ReceptionsAndReceivingForSameOrder=Ushbu buyurtma uchun qabul va tushum +ReceptionsToValidate=Tasdiqlash uchun qabullar +StatusReceptionCanceled=Bekor qilindi +StatusReceptionDraft=Qoralama +StatusReceptionValidated=Tasdiqlangan (jo'natiladigan yoki allaqachon jo'natilgan mahsulotlar) +StatusReceptionProcessed=Qayta ishlangan +StatusReceptionDraftShort=Qoralama +StatusReceptionValidatedShort=Tasdiqlangan +StatusReceptionProcessedShort=Qayta ishlangan +ReceptionSheet=Qabul qilish varaqasi +ConfirmDeleteReception=Ushbu qabulxonani o'chirishni xohlaysizmi? +ConfirmValidateReception=Ushbu qabulxonani %s ma'lumotnomasi bilan tasdiqlamoqchimisiz? +ConfirmCancelReception=Haqiqatan ham ushbu ziyofatni bekor qilmoqchimisiz? +StatsOnReceptionsOnlyValidated=Qabullarda o'tkazilgan statistika faqat tasdiqlangan. Amaldagi sana - qabul qilishning tasdiqlangan sanasi (etkazib berishning rejalashtirilgan sanasi har doim ham ma'lum emas). +SendReceptionByEMail=Qabulni elektron pochta orqali yuboring +SendReceptionRef=Qabulni yuborish %s +ActionsOnReception=Qabul qilish tadbirlari +ReceptionCreationIsDoneFromOrder=Hozirda yangi qabulxonani yaratish buyurtma kartasidan amalga oshiriladi. +ReceptionLine=Qabul qilish liniyasi +ProductQtyInReceptionAlreadySent=Ochiq savdo buyurtmasidan mahsulot miqdori allaqachon yuborilgan +ProductQtyInSuppliersReceptionAlreadyRecevied=Ochiq etkazib beruvchilar buyurtmasidan olingan mahsulot miqdori allaqachon qabul qilingan +ValidateOrderFirstBeforeReception=Qabul qilishdan oldin avval buyurtmani tasdiqlashingiz kerak. +ReceptionsNumberingModules=Qabul qilish uchun raqamlash moduli +ReceptionsReceiptModel=Qabul qilish uchun hujjat shablonlari +NoMorePredefinedProductToDispatch=Yuborish uchun oldindan belgilangan mahsulotlar yo'q +ReceptionExist=Qabulxona mavjud diff --git a/htdocs/langs/uz_UZ/recruitment.lang b/htdocs/langs/uz_UZ/recruitment.lang index 6b0e8117254..dd3c47f2a26 100644 --- a/htdocs/langs/uz_UZ/recruitment.lang +++ b/htdocs/langs/uz_UZ/recruitment.lang @@ -18,59 +18,59 @@ # # Module label 'ModuleRecruitmentName' -ModuleRecruitmentName = Recruitment +ModuleRecruitmentName = Ishga qabul qilish # Module description 'ModuleRecruitmentDesc' -ModuleRecruitmentDesc = Manage and follow recruitment campaigns for new job positions +ModuleRecruitmentDesc = Yangi ish joylariga ishga qabul qilish kampaniyalarini boshqaring va kuzatib boring # # Admin page # -RecruitmentSetup = Recruitment setup -Settings = Settings -RecruitmentSetupPage = Enter here the setup of main options for the recruitment module -RecruitmentArea=Recruitement area -PublicInterfaceRecruitmentDesc=Public pages of jobs are public URLs to show and answer to open jobs. There is one different link for each open job, found on each job record. -EnablePublicRecruitmentPages=Enable public pages of open jobs +RecruitmentSetup = Ishga qabul qilishni sozlash +Settings = Sozlamalar +RecruitmentSetupPage = Ishga qabul qilish moduli uchun asosiy variantlarni sozlashni kiriting +RecruitmentArea=Ishga qabul qilish maydoni +PublicInterfaceRecruitmentDesc=Ishlarning ochiq sahifalari - bu ochiq ish joylarini ko'rsatish va ularga javob berish uchun ochiq URL manzillar. Har bir ochiq ish uchun har bir ish yozuvida bir xil havola mavjud. +EnablePublicRecruitmentPages=Ochiq ish joylarining ommaviy sahifalarini yoqing # # About page # -About = About -RecruitmentAbout = About Recruitment -RecruitmentAboutPage = Recruitment about page -NbOfEmployeesExpected=Expected nb of employees -JobLabel=Label of job position -WorkPlace=Work place -DateExpected=Expected date -FutureManager=Future manager -ResponsibleOfRecruitement=Responsible of recruitment -IfJobIsLocatedAtAPartner=If job is located at a partner place -PositionToBeFilled=Job position -PositionsToBeFilled=Job positions -ListOfPositionsToBeFilled=List of job positions -NewPositionToBeFilled=New job positions +About = Haqida +RecruitmentAbout = Ishga qabul qilish to'g'risida +RecruitmentAboutPage = Sahifa haqida yollash +NbOfEmployeesExpected=Kutilayotgan ishchilar soni +JobLabel=Ish joyining yorlig'i +WorkPlace=Ish joyi +DateExpected=Kutilayotgan sana +FutureManager=Kelajak menejeri +ResponsibleOfRecruitement=Ishga qabul qilish uchun mas'uldir +IfJobIsLocatedAtAPartner=Agar ish sherik joyda joylashgan bo'lsa +PositionToBeFilled=Ish joyi +PositionsToBeFilled=Ish joylari +ListOfPositionsToBeFilled=Ish joylari ro'yxati +NewPositionToBeFilled=Yangi ish joylari -JobOfferToBeFilled=Job position to be filled -ThisIsInformationOnJobPosition=Information of the job position to be filled -ContactForRecruitment=Contact for recruitment -EmailRecruiter=Email recruiter -ToUseAGenericEmail=To use a generic email. If not defined, the email of the responsible of recruitment will be used -NewCandidature=New application -ListOfCandidatures=List of applications -RequestedRemuneration=Requested remuneration -ProposedRemuneration=Proposed remuneration -ContractProposed=Contract proposed -ContractSigned=Contract signed -ContractRefused=Contract refused -RecruitmentCandidature=Application -JobPositions=Job positions -RecruitmentCandidatures=Applications -InterviewToDo=Interview to do -AnswerCandidature=Application answer -YourCandidature=Your application -YourCandidatureAnswerMessage=Thanks you for your application.
    ... -JobClosedTextCandidateFound=The job position is closed. The position has been filled. -JobClosedTextCanceled=The job position is closed. -ExtrafieldsJobPosition=Complementary attributes (job positions) -ExtrafieldsApplication=Complementary attributes (job applications) -MakeOffer=Make an offer +JobOfferToBeFilled=To'ldirilishi kerak bo'lgan ish joyi +ThisIsInformationOnJobPosition=To'ldirilishi kerak bo'lgan lavozim to'g'risida ma'lumot +ContactForRecruitment=Ishga qabul qilish uchun murojaat qiling +EmailRecruiter=Elektron pochta orqali yollovchi +ToUseAGenericEmail=Umumiy elektron pochtadan foydalanish uchun. Agar aniqlanmagan bo'lsa, ishga qabul qilish uchun mas'ul bo'lgan elektron pochtadan foydalaniladi +NewCandidature=Yangi dastur +ListOfCandidatures=Arizalar ro'yxati +RequestedRemuneration=Talab qilingan to'lov +ProposedRemuneration=Taklif qilingan ish haqi +ContractProposed=Shartnoma taklif qilingan +ContractSigned=Shartnoma imzolandi +ContractRefused=Shartnoma rad etildi +RecruitmentCandidature=Ilova +JobPositions=Ish joylari +RecruitmentCandidatures=Ilovalar +InterviewToDo=Intervyu qilish kerak +AnswerCandidature=Ariza javobi +YourCandidature=Sizning arizangiz +YourCandidatureAnswerMessage=Arizangiz uchun tashakkur.
    ... +JobClosedTextCandidateFound=Ish joyi yopiq. Lavozim to'ldirildi. +JobClosedTextCanceled=Ish joyi yopiq. +ExtrafieldsJobPosition=Qo'shimcha xususiyatlar (ish joylari) +ExtrafieldsApplication=Qo'shimcha atributlar (ish uchun arizalar) +MakeOffer=Taklif qiling diff --git a/htdocs/langs/uz_UZ/resource.lang b/htdocs/langs/uz_UZ/resource.lang index 5a907f6ba23..802c5fc9a5d 100644 --- a/htdocs/langs/uz_UZ/resource.lang +++ b/htdocs/langs/uz_UZ/resource.lang @@ -1,36 +1,39 @@ # Dolibarr language file - Source file is en_US - resource -MenuResourceIndex=Resources -MenuResourceAdd=New resource -DeleteResource=Delete resource -ConfirmDeleteResourceElement=Confirm delete the resource for this element -NoResourceInDatabase=No resource in database. -NoResourceLinked=No resource linked +MenuResourceIndex=Resurslar +MenuResourceAdd=Yangi manba +DeleteResource=Resursni o'chirish +ConfirmDeleteResourceElement=Ushbu element uchun manbani o'chirishni tasdiqlang +NoResourceInDatabase=Ma'lumotlar bazasida manba yo'q. +NoResourceLinked=Hech qanday manbaga ulanmagan +ActionsOnResource=Ushbu manbaga oid tadbirlar +ResourcePageIndex=Resurslar ro'yxati +ResourceSingular=Manba +ResourceCard=Resurs kartasi +AddResource=Resurs yarating +ResourceFormLabel_ref=Resurs nomi +ResourceType=Resurs turi +ResourceFormLabel_description=Resurs tavsifi -ResourcePageIndex=Resources list -ResourceSingular=Resource -ResourceCard=Resource card -AddResource=Create a resource -ResourceFormLabel_ref=Resource name -ResourceType=Resource type -ResourceFormLabel_description=Resource description +ResourcesLinkedToElement=Element bilan bog'langan manbalar -ResourcesLinkedToElement=Resources linked to element +ShowResource=Resursni ko'rsatish -ShowResource=Show resource +ResourceElementPage=Element manbalari +ResourceCreatedWithSuccess=Resurs muvaffaqiyatli yaratildi +RessourceLineSuccessfullyDeleted=Resurs liniyasi muvaffaqiyatli o'chirildi +RessourceLineSuccessfullyUpdated=Resurs liniyasi muvaffaqiyatli yangilandi +ResourceLinkedWithSuccess=Resurs muvaffaqiyat bilan bog'liq -ResourceElementPage=Element resources -ResourceCreatedWithSuccess=Resource successfully created -RessourceLineSuccessfullyDeleted=Resource line successfully deleted -RessourceLineSuccessfullyUpdated=Resource line successfully updated -ResourceLinkedWithSuccess=Resource linked with success +ConfirmDeleteResource=Ushbu manbani o'chirishni tasdiqlang +RessourceSuccessfullyDeleted=Resurs o'chirildi +DictionaryResourceType=Resurslar turi -ConfirmDeleteResource=Confirm to delete this resource -RessourceSuccessfullyDeleted=Resource successfully deleted -DictionaryResourceType=Type of resources +SelectResource=Resursni tanlang -SelectResource=Select resource +IdResource=Id resursi +AssetNumber=Ishlab chiqarish raqami +ResourceTypeCode=Resurs turi kodi +ImportDataset_resource_1=Resurslar -IdResource=Id resource -AssetNumber=Serial number -ResourceTypeCode=Resource type code -ImportDataset_resource_1=Resources +ErrorResourcesAlreadyInUse=Ba'zi manbalardan foydalanilmoqda +ErrorResourceUseInEvent=%s tadbirida ishlatiladigan %s diff --git a/htdocs/langs/uz_UZ/salaries.lang b/htdocs/langs/uz_UZ/salaries.lang index 7c3c08a65bd..5307e820557 100644 --- a/htdocs/langs/uz_UZ/salaries.lang +++ b/htdocs/langs/uz_UZ/salaries.lang @@ -1,21 +1,24 @@ # Dolibarr language file - Source file is en_US - salaries -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments -Salary=Salary -Salaries=Salaries -NewSalaryPayment=New salary payment -AddSalaryPayment=Add salary payment -SalaryPayment=Salary payment -SalariesPayments=Salaries payments -ShowSalaryPayment=Show salary payment -THM=Average hourly rate -TJM=Average daily rate -CurrentSalary=Current salary -THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used -TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments -SalariesStatistics=Salary statistics -# Export -SalariesAndPayments=Salaries and payments +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Foydalanuvchi uchinchi shaxslar uchun foydalaniladigan buxgalteriya hisobi +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Foydalanuvchi kartasida belgilangan buxgalteriya hisobi faqat Subledger buxgalteriyasi uchun ishlatiladi. Ushbu foydalanuvchi Bosh daftar uchun va Subledger buxgalteriyasining standart qiymati sifatida foydalanuvchida maxsus foydalanuvchi hisob qaydnomasi aniqlanmagan taqdirda foydalaniladi. +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Ish haqi to'lovlari bo'yicha sukut bo'yicha buxgalteriya hisobi +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Odatiy bo'lib, Ish haqini yaratishda "Umumiy to'lovni avtomatik ravishda yaratish" parametrini bo'sh qoldiring +Salary=Ish haqi +Salaries=Ish haqi +NewSalary=Yangi ish haqi +NewSalaryPayment=Yangi ish haqi kartasi +AddSalaryPayment=Ish haqini to'lashni qo'shing +SalaryPayment=Ish haqi to'lash +SalariesPayments=Ish haqi bo'yicha to'lovlar +SalariesPaymentsOf=%s ish haqi to'lovlari +ShowSalaryPayment=Ish haqini to'lashni ko'rsating +THM=O'rtacha soatlik stavka +TJM=O'rtacha kunlik stavka +CurrentSalary=Amaldagi ish haqi +THMDescription=Ushbu qiymat, agar modul loyihasi ishlatilgan bo'lsa, foydalanuvchilar tomonidan kiritilgan loyihaga sarf qilingan vaqt xarajatlarini hisoblash uchun ishlatilishi mumkin +TJMDescription=Ushbu qiymat hozircha faqat ma'lumot uchun mo'ljallangan va hisoblash uchun ishlatilmaydi +LastSalaries=Oxirgi %s ish haqi +AllSalaries=Barcha ish haqi +SalariesStatistics=Ish haqi statistikasi +SalariesAndPayments=Ish haqi va to'lovlar +ConfirmDeleteSalaryPayment=Ushbu ish haqi to'lovini o'chirmoqchimisiz? diff --git a/htdocs/langs/uz_UZ/sendings.lang b/htdocs/langs/uz_UZ/sendings.lang index b94891d79c5..cc5684f0730 100644 --- a/htdocs/langs/uz_UZ/sendings.lang +++ b/htdocs/langs/uz_UZ/sendings.lang @@ -1,76 +1,76 @@ # Dolibarr language file - Source file is en_US - sendings -RefSending=Ref. shipment -Sending=Shipment -Sendings=Shipments -AllSendings=All Shipments -Shipment=Shipment -Shipments=Shipments -ShowSending=Show Shipments -Receivings=Delivery Receipts -SendingsArea=Shipments area -ListOfSendings=List of shipments -SendingMethod=Shipping method -LastSendings=Latest %s shipments -StatisticsOfSendings=Statistics for shipments -NbOfSendings=Number of shipments -NumberOfShipmentsByMonth=Number of shipments by month -SendingCard=Shipment card -NewSending=New shipment -CreateShipment=Create shipment -QtyShipped=Qty shipped -QtyShippedShort=Qty ship. -QtyPreparedOrShipped=Qty prepared or shipped -QtyToShip=Qty to ship -QtyToReceive=Qty to receive -QtyReceived=Qty received -QtyInOtherShipments=Qty in other shipments -KeepToShip=Remain to ship -KeepToShipShort=Remain -OtherSendingsForSameOrder=Other shipments for this order -SendingsAndReceivingForSameOrder=Shipments and receipts for this order -SendingsToValidate=Shipments to validate -StatusSendingCanceled=Canceled -StatusSendingCanceledShort=Canceled -StatusSendingDraft=Draft -StatusSendingValidated=Validated (products to ship or already shipped) -StatusSendingProcessed=Processed -StatusSendingDraftShort=Draft -StatusSendingValidatedShort=Validated -StatusSendingProcessedShort=Processed -SendingSheet=Shipment sheet -ConfirmDeleteSending=Are you sure you want to delete this shipment? -ConfirmValidateSending=Are you sure you want to validate this shipment with reference %s? -ConfirmCancelSending=Are you sure you want to cancel this shipment? -DocumentModelMerou=Merou A5 model -WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) -DateDeliveryPlanned=Planned date of delivery -RefDeliveryReceipt=Ref delivery receipt -StatusReceipt=Status delivery receipt -DateReceived=Date delivery received -ClassifyReception=Classify reception -SendShippingByEMail=Send shipment by email -SendShippingRef=Submission of shipment %s -ActionsOnShipping=Events on shipment -LinkToTrackYourPackage=Link to track your package -ShipmentCreationIsDoneFromOrder=For the moment, creation of a new shipment is done from the order card. -ShipmentLine=Shipment line -ProductQtyInCustomersOrdersRunning=Product quantity from open sales orders -ProductQtyInSuppliersOrdersRunning=Product quantity from open purchase orders -ProductQtyInShipmentAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from open purchase orders already received -NoProductToShipFoundIntoStock=No product to ship found in warehouse %s. Correct stock or go back to choose another warehouse. -WeightVolShort=Weight/Vol. -ValidateOrderFirstBeforeShipment=You must first validate the order before being able to make shipments. +RefSending=Ref. jo'natish +Sending=Jo'natma +Sendings=Yuklar +AllSendings=Barcha jo'natmalar +Shipment=Jo'natma +Shipments=Yuklar +ShowSending=Yuklarni ko'rsatish +Receivings=Yetkazib berish kvitansiyalari +SendingsArea=Yuklarni etkazib berish maydoni +ListOfSendings=Yuklarni etkazib berish ro'yxati +SendingMethod=Yuk tashish usuli +LastSendings=Oxirgi %s jo'natmalari +StatisticsOfSendings=Yuklarni etkazib berish statistikasi +NbOfSendings=Yuk tashishlar soni +NumberOfShipmentsByMonth=Oy bo'yicha etkazib berish soni +SendingCard=Jo'natma kartasi +NewSending=Yangi yuk +CreateShipment=Yuklarni yarating +QtyShipped=Miqdor jo'natildi +QtyShippedShort=Miqdor kema. +QtyPreparedOrShipped=Miqdor tayyorlangan yoki jo'natilgan +QtyToShip=Yetkazib berish uchun miqdor +QtyToReceive=Qabul qilish uchun miqdor +QtyReceived=Miqdor olingan +QtyInOtherShipments=Miqdor boshqa jo'natmalarda +KeepToShip=Yuk tashishda qoling +KeepToShipShort=Qolmoq +OtherSendingsForSameOrder=Ushbu buyurtma uchun boshqa jo'natmalar +SendingsAndReceivingForSameOrder=Ushbu buyurtma uchun jo'natmalar va kvitansiyalar +SendingsToValidate=Tasdiqlash uchun jo'natmalar +StatusSendingCanceled=Bekor qilindi +StatusSendingCanceledShort=Bekor qilindi +StatusSendingDraft=Qoralama +StatusSendingValidated=Tasdiqlangan (jo'natiladigan yoki allaqachon jo'natilgan mahsulotlar) +StatusSendingProcessed=Qayta ishlangan +StatusSendingDraftShort=Qoralama +StatusSendingValidatedShort=Tasdiqlangan +StatusSendingProcessedShort=Qayta ishlangan +SendingSheet=Yuk jo'natmasi +ConfirmDeleteSending=Ushbu yukni o'chirishni xohlaysizmi? +ConfirmValidateSending=Ushbu jo'natmani %s ma'lumotnomasi bilan tasdiqlamoqchimisiz? +ConfirmCancelSending=Ushbu yukni bekor qilmoqchi ekanligingizga aminmisiz? +DocumentModelMerou=Merou A5 modeli +WarningNoQtyLeftToSend=Ogohlantirish, jo'natilishini kutayotgan mahsulotlar yo'q. +StatsOnShipmentsOnlyValidated=Statistika faqat tasdiqlangan yuklar uchun. Ishlatilgan sana - bu etkazib berishni tasdiqlash sanasi (etkazib berishning rejalashtirilgan sanasi har doim ham ma'lum emas) +DateDeliveryPlanned=Rejalashtirilgan etkazib berish sanasi +RefDeliveryReceipt=Yetkazib berish kvitansiyasi +StatusReceipt=Vaziyatni etkazib berish kvitansiyasi +DateReceived=Qabul qilingan sana qabul qilindi +ClassifyReception=Qabul qilishni tasniflang +SendShippingByEMail=Yukni elektron pochta orqali yuboring +SendShippingRef=%s jo'natmasini yuborish +ActionsOnShipping=Yuk tashish bo'yicha tadbirlar +LinkToTrackYourPackage=Paketingizni kuzatish uchun havola +ShipmentCreationIsDoneFromOrder=Hozircha yangi jo'natmani yaratish buyurtma kartasidan amalga oshiriladi. +ShipmentLine=Yuk tashish liniyasi +ProductQtyInCustomersOrdersRunning=Ochiq savdo buyurtmalaridan mahsulot miqdori +ProductQtyInSuppliersOrdersRunning=Ochiq sotib olish buyurtmalaridan mahsulot miqdori +ProductQtyInShipmentAlreadySent=Ochiq savdo buyurtmasidan mahsulot miqdori allaqachon yuborilgan +ProductQtyInSuppliersShipmentAlreadyRecevied=Qabul qilingan ochiq xarid buyurtmalaridan olingan mahsulot miqdori +NoProductToShipFoundIntoStock= %s omborida jo'natiladigan mahsulot topilmadi. Zaxirani to'g'rilang yoki boshqa omborni tanlash uchun qaytib boring. +WeightVolShort=Og'irligi / jild +ValidateOrderFirstBeforeShipment=Yuklarni jo'natishdan oldin avval buyurtmani tasdiqlashingiz kerak. # Sending methods # ModelDocument -DocumentModelTyphon=More complete document model for delivery receipts (logo...) -DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) -Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constant EXPEDITION_ADDON_NUMBER not defined -SumOfProductVolumes=Sum of product volumes -SumOfProductWeights=Sum of product weights +DocumentModelTyphon=Yetkazib berish kvitansiyalari uchun to'liq hujjat modeli (logotip ...) +DocumentModelStorm=Yetkazib berish kvitansiyalari va ekstraditsiyalarning muvofiqligi uchun to'liqroq hujjat modeli (logotip ...) +Error_EXPEDITION_ADDON_NUMBER_NotDefined=Doimiy EXPEDITION_ADDON_NUMBER aniqlanmagan +SumOfProductVolumes=Mahsulot hajmi +SumOfProductWeights=Mahsulot og'irliklari yig'indisi # warehouse details -DetailWarehouseNumber= Warehouse details -DetailWarehouseFormat= W:%s (Qty: %d) +DetailWarehouseNumber= Ombor tafsilotlari +DetailWarehouseFormat= V: %s (Miqdor: %d) diff --git a/htdocs/langs/uz_UZ/sms.lang b/htdocs/langs/uz_UZ/sms.lang index 8c0517a132e..84b2e40cf5d 100644 --- a/htdocs/langs/uz_UZ/sms.lang +++ b/htdocs/langs/uz_UZ/sms.lang @@ -1,51 +1,51 @@ # Dolibarr language file - Source file is en_US - sms -Sms=Sms -SmsSetup=Sms setup -SmsDesc=This page allows you to define globals options on SMS features -SmsCard=SMS Card -AllSms=All SMS campains -SmsTargets=Targets -SmsRecipients=Targets -SmsRecipient=Target -SmsTitle=Description -SmsFrom=Sender -SmsTo=Target -SmsTopic=Topic of SMS -SmsText=Message -SmsMessage=SMS Message -ShowSms=Show Sms -ListOfSms=List SMS campains -NewSms=New SMS campain -EditSms=Edit Sms -ResetSms=New sending -DeleteSms=Delete Sms campain -DeleteASms=Remove a Sms campain -PreviewSms=Previuw Sms -PrepareSms=Prepare Sms -CreateSms=Create Sms -SmsResult=Result of Sms sending -TestSms=Test Sms -ValidSms=Validate Sms -ApproveSms=Approve Sms -SmsStatusDraft=Draft -SmsStatusValidated=Validated -SmsStatusApproved=Approved -SmsStatusSent=Sent -SmsStatusSentPartialy=Sent partially -SmsStatusSentCompletely=Sent completely -SmsStatusError=Error -SmsStatusNotSent=Not sent -SmsSuccessfulySent=Sms correctly sent (from %s to %s) -ErrorSmsRecipientIsEmpty=Number of target is empty -WarningNoSmsAdded=No new phone number to add to target list -ConfirmValidSms=Do you confirm validation of this campain? -NbOfUniqueSms=Nb dof unique phone numbers -NbOfSms=Nbre of phon numbers -ThisIsATestMessage=This is a test message -SendSms=Send SMS -SmsInfoCharRemain=Nb of remaining characters -SmsInfoNumero= (format international ie : +33899701761) -DelayBeforeSending=Delay before sending (minutes) -SmsNoPossibleSenderFound=No sender available. Check setup of your SMS provider. -SmsNoPossibleRecipientFound=No target available. Check setup of your SMS provider. -DisableStopIfSupported=Disable STOP message (if supported) +Sms=SMS +SmsSetup=SMS sozlamalari +SmsDesc=Ushbu sahifa SMS funktsiyalari bo'yicha global parametrlarni aniqlashga imkon beradi +SmsCard=SMS-karta +AllSms=Barcha SMS-aksiyalar +SmsTargets=Maqsadlar +SmsRecipients=Maqsadlar +SmsRecipient=Maqsad +SmsTitle=Tavsif +SmsFrom=Yuboruvchi +SmsTo=Maqsad +SmsTopic=SMS mavzusi +SmsText=Xabar +SmsMessage=SMS xabar +ShowSms=SMS-xabarlarni ko'rsatish +ListOfSms=SMS-aksiyalarni ro'yxatlash +NewSms=Yangi SMS-aksiya +EditSms=SMSni tahrirlash +ResetSms=Yangi yuborish +DeleteSms=SMS-aksiyani o'chirish +DeleteASms=SMS-aksiyani olib tashlang +PreviewSms=Oldindan SMS +PrepareSms=SMS tayyorlang +CreateSms=SMS yarating +SmsResult=SMS yuborish natijasi +TestSms=SMS-xabarlarni sinab ko'ring +ValidSms=SMSni tasdiqlang +ApproveSms=SMS-xabarlarni tasdiqlash +SmsStatusDraft=Qoralama +SmsStatusValidated=Tasdiqlangan +SmsStatusApproved=Tasdiqlangan +SmsStatusSent=Yuborildi +SmsStatusSentPartialy=Qisman yuborilgan +SmsStatusSentCompletely=To'liq yuborildi +SmsStatusError=Xato +SmsStatusNotSent=Yuborilmadi +SmsSuccessfulySent=SMS to'g'ri yuborilgan (%s dan %s dan) +ErrorSmsRecipientIsEmpty=Maqsad soni bo'sh +WarningNoSmsAdded=Maqsadlar ro'yxatiga qo'shiladigan yangi telefon raqami yo'q +ConfirmValidSms=Ushbu aksiyaning tasdiqlanganligini tasdiqlaysizmi? +NbOfUniqueSms=Noyob telefon raqamlari soni +NbOfSms=Telefon raqamlari soni +ThisIsATestMessage=Bu sinov xabari +SendSms=SMS yuboring +SmsInfoCharRemain=Qolgan belgilar soni +SmsInfoNumero= (xalqaro format, ya'ni: +33899701761) +DelayBeforeSending=Yuborishdan oldin kechikish (daqiqa) +SmsNoPossibleSenderFound=Yuboruvchi topilmadi. SMS-provayderingiz sozlamalarini tekshiring. +SmsNoPossibleRecipientFound=Maqsad mavjud emas. SMS-provayderingiz sozlamalarini tekshiring. +DisableStopIfSupported=STOP xabarini o'chirib qo'ying (agar qo'llab-quvvatlansa) diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index 9ec523427b1..2122bffb53d 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -1,257 +1,263 @@ # Dolibarr language file - Source file is en_US - stocks -WarehouseCard=Warehouse card -Warehouse=Warehouse -Warehouses=Warehouses -ParentWarehouse=Parent warehouse -NewWarehouse=New warehouse / Stock Location -WarehouseEdit=Modify warehouse -MenuNewWarehouse=New warehouse -WarehouseSource=Source warehouse -WarehouseSourceNotDefined=No warehouse defined, -AddWarehouse=Create warehouse -AddOne=Add one -DefaultWarehouse=Default warehouse -WarehouseTarget=Target warehouse -ValidateSending=Delete sending -CancelSending=Cancel sending -DeleteSending=Delete sending -Stock=Stock -Stocks=Stocks -MissingStocks=Missing stocks -StockAtDate=Stocks at date -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future -StocksByLotSerial=Stocks by lot/serial -LotSerial=Lots/Serials -LotSerialList=List of lot/serials -Movements=Movements -ErrorWarehouseRefRequired=Warehouse reference name is required -ListOfWarehouses=List of warehouses -ListOfStockMovements=List of stock movements -ListOfInventories=List of inventories -MovementId=Movement ID -StockMovementForId=Movement ID %d -ListMouvementStockProject=List of stock movements associated to project -StocksArea=Warehouses area -AllWarehouses=All warehouses -IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock -IncludeAlsoDraftOrders=Include also draft orders -Location=Location -LocationSummary=Short name of location -NumberOfDifferentProducts=Number of unique products -NumberOfProducts=Total number of products -LastMovement=Latest movement -LastMovements=Latest movements -Units=Units -Unit=Unit -StockCorrection=Stock correction -CorrectStock=Correct stock -StockTransfer=Stock transfer -TransferStock=Transfer stock -MassStockTransferShort=Mass stock transfer -StockMovement=Stock movement -StockMovements=Stock movements -NumberOfUnit=Number of units -UnitPurchaseValue=Unit purchase price -StockTooLow=Stock too low -StockLowerThanLimit=Stock lower than alert limit (%s) -EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP -EnhancedValueOfWarehouses=Warehouses value -UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user -AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product -RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals -WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders -UserDefaultWarehouse=Set a warehouse on Users -MainDefaultWarehouse=Default warehouse -MainDefaultWarehouseUser=Use a default warehouse for each user -MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. -IndependantSubProductStock=Product stock and subproduct stock are independent -QtyDispatched=Quantity dispatched -QtyDispatchedShort=Qty dispatched -QtyToDispatchShort=Qty to dispatch -OrderDispatch=Item receipts -RuleForStockManagementDecrease=Choose Rule for automatic stock decrease (manual decrease is always possible, even if an automatic decrease rule is activated) -RuleForStockManagementIncrease=Choose Rule for automatic stock increase (manual increase is always possible, even if an automatic increase rule is activated) -DeStockOnBill=Decrease real stocks on validation of customer invoice/credit note -DeStockOnValidateOrder=Decrease real stocks on validation of sales order -DeStockOnShipment=Decrease real stocks on shipping validation -DeStockOnShipmentOnClosing=Decrease real stocks when shipping is set to closed -ReStockOnBill=Increase real stocks on validation of vendor invoice/credit note -ReStockOnValidateOrder=Increase real stocks on purchase order approval -ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouse, after purchase order receipt of goods -StockOnReception=Increase real stocks on validation of reception -StockOnReceptionOnClosing=Increase real stocks when reception is set to closed -OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -StockDiffPhysicTeoric=Explanation for difference between physical and virtual stock -NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. -DispatchVerb=Dispatch -StockLimitShort=Limit for alert -StockLimit=Stock limit for alert -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. -PhysicalStock=Physical Stock -RealStock=Real Stock -RealStockDesc=Physical/real stock is the stock currently in the warehouses. -RealStockWillAutomaticallyWhen=The real stock will be modified according to this rule (as defined in the Stock module): -VirtualStock=Virtual stock -VirtualStockAtDate=Virtual stock at date -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) -AtDate=At date -IdWarehouse=Id warehouse -DescWareHouse=Description warehouse -LieuWareHouse=Localisation warehouse -WarehousesAndProducts=Warehouses and products -WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) -AverageUnitPricePMPShort=Weighted average price -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. -SellPriceMin=Selling Unit Price -EstimatedStockValueSellShort=Value for sell -EstimatedStockValueSell=Value for sell -EstimatedStockValueShort=Input stock value -EstimatedStockValue=Input stock value -DeleteAWarehouse=Delete a warehouse -ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s? -PersonalStock=Personal stock %s -ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s -SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease -SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase -NoStockAction=No stock action -DesiredStock=Desired Stock -DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. -StockToBuy=To order -Replenishment=Replenishment -ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) -UseVirtualStock=Use virtual stock -UsePhysicalStock=Use physical stock -CurentSelectionMode=Current selection mode -CurentlyUsingVirtualStock=Virtual stock -CurentlyUsingPhysicalStock=Physical stock -RuleForStockReplenishment=Rule for stocks replenishment -SelectProductWithNotNullQty=Select at least one product with a qty not null and a vendor -AlertOnly= Alerts only -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 -WarehouseForStockDecrease=The warehouse %s will be used for stock decrease -WarehouseForStockIncrease=The warehouse %s will be used for stock increase -ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create purchase orders to fill the difference. -ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. -ReplenishmentOrdersDesc=This is a list of all open purchase orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. -Replenishments=Replenishments -NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) -NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) -MassMovement=Mass movement -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". -RecordMovement=Record transfer -ReceivingForSameOrder=Receipts for this order -StockMovementRecorded=Stock movements recorded -RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever the rule for automatic stock change) -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever the rule for automatic stock change) -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever the rule for automatic stock change) -MovementLabel=Label of movement -TypeMovement=Direction of movement -DateMovement=Date of movement -InventoryCode=Movement or inventory code -IsInPackage=Contained into package -WarehouseAllowNegativeTransfer=Stock can be negative -qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse and your setup does not allow negative stocks. -qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). -ShowWarehouse=Show warehouse -MovementCorrectStock=Stock correction for product %s -MovementTransferStock=Stock transfer of product %s into another warehouse -InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order -ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions -UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception -OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated -ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created -ProductStockWarehouseUpdated=Stock limit for alert and desired optimal stock correctly updated -ProductStockWarehouseDeleted=Stock limit for alert and desired optimal stock correctly deleted -AddNewProductStockWarehouse=Set new limit for alert and desired optimal stock -AddStockLocationLine=Decrease quantity then click to add another warehouse for this product -InventoryDate=Inventory date -NewInventory=New inventory -inventorySetup = Inventory Setup -inventoryCreatePermission=Create new inventory -inventoryReadPermission=View inventories -inventoryWritePermission=Update inventories -inventoryValidatePermission=Validate inventory -inventoryDeletePermission=Delete inventory -inventoryTitle=Inventory -inventoryListTitle=Inventories -inventoryListEmpty=No inventory in progress -inventoryCreateDelete=Create/Delete inventory -inventoryCreate=Create new -inventoryEdit=Edit -inventoryValidate=Validated -inventoryDraft=Running -inventorySelectWarehouse=Warehouse choice +WarehouseCard=Ombor kartasi +Warehouse=Ombor +Warehouses=Omborlar +ParentWarehouse=Ota-onalar ombori +NewWarehouse=Yangi ombor / Qimmatbaho joy +WarehouseEdit=Omborni o'zgartirish +MenuNewWarehouse=Yangi ombor +WarehouseSource=Manba ombori +WarehouseSourceNotDefined=Hech qanday ombor aniqlanmagan, +AddWarehouse=Ombor yaratish +AddOne=Bittasini qo'shing +DefaultWarehouse=Standart ombor +WarehouseTarget=Maqsadli ombor +ValidateSending=Yuborishni o'chirish +CancelSending=Yuborishni bekor qilish +DeleteSending=Yuborishni o'chirish +Stock=Aksiya +Stocks=Qimmatli qog'ozlar +MissingStocks=Yo'qolgan aktsiyalar +StockAtDate=Sana bo'yicha aktsiyalar +StockAtDateInPast=O'tmishdagi sana +StockAtDateInFuture=Kelajakdagi sana +StocksByLotSerial=Qurilma / seriya bo'yicha aktsiyalar +LotSerial=Ko'p / seriyalar +LotSerialList=Lot / seriyalar ro'yxati +Movements=Harakatlar +ErrorWarehouseRefRequired=Omborga mos yozuvlar nomi talab qilinadi +ListOfWarehouses=Omborlar ro'yxati +ListOfStockMovements=Birja harakatlari ro'yxati +ListOfInventories=Zaxiralarning ro'yxati +MovementId=Harakat identifikatori +StockMovementForId=Harakat identifikatori %d +ListMouvementStockProject=Loyiha bilan bog'liq bo'lgan aktsiyalar harakati ro'yxati +StocksArea=Omborlar maydoni +AllWarehouses=Barcha omborlar +IncludeEmptyDesiredStock=Belgilanmagan kerakli aktsiyalar bilan salbiy zaxiralarni ham qo'shing +IncludeAlsoDraftOrders=Shuningdek, buyurtmalar loyihasini ham qo'shing +Location=Manzil +LocationSummary=Joylashuvning qisqacha nomi +NumberOfDifferentProducts=Noyob mahsulotlar soni +NumberOfProducts=Mahsulotlarning umumiy soni +LastMovement=Oxirgi harakat +LastMovements=Oxirgi harakatlar +Units=Birlik +Unit=Birlik +StockCorrection=Qimmatli qog'ozlarni tuzatish +CorrectStock=To'g'ri aktsiyalar +StockTransfer=Qimmatli qog'ozlarni o'tkazish +TransferStock=O'tkazma zaxiralari +MassStockTransferShort=Ommaviy aktsiyalarni o'tkazish +StockMovement=Birja harakati +StockMovements=Birja harakatlari +NumberOfUnit=Birlik soni +UnitPurchaseValue=Birlikni sotib olish narxi +StockTooLow=Aksiya juda past +StockLowerThanLimit=Qimmatbaho qog'ozlar ogohlantirish chegarasidan past (%s) +EnhancedValue=Qiymat +EnhancedValueOfWarehouses=Omborlarning qiymati +UserWarehouseAutoCreate=Foydalanuvchini yaratishda avtomatik ravishda foydalanuvchi omborini yarating +AllowAddLimitStockByWarehouse=Shuningdek, har bir mahsulot uchun minimal va kerakli zaxira qiymatidan tashqari, har bir juftlik uchun minimal va kerakli stok qiymatini (mahsulot ombori) boshqaring +RuleForWarehouse=Omborlar uchun qoida +WarehouseAskWarehouseOnThirparty=Uchinchi shaxslarga omborni o'rnating +WarehouseAskWarehouseDuringPropal=Tijorat takliflari bo'yicha omborni o'rnating +WarehouseAskWarehouseDuringOrder=Sotish buyurtmalariga binoan omborni o'rnating +UserDefaultWarehouse=Foydalanuvchilarga omborni o'rnating +MainDefaultWarehouse=Standart ombor +MainDefaultWarehouseUser=Har bir foydalanuvchi uchun odatiy ombordan foydalaning +MainDefaultWarehouseUserDesc=Ushbu parametrni faollashtirgan holda, mahsulotni yaratish paytida mahsulot uchun mo'ljallangan ombor aniqlanadi. Agar foydalanuvchida ombor aniqlanmagan bo'lsa, standart ombor aniqlanadi. +IndependantSubProductStock=Mahsulot zaxiralari va subproduct zaxiralari mustaqil +QtyDispatched=Miqdor yuborildi +QtyDispatchedShort=Miqdor jo'natildi +QtyToDispatchShort=Yuborish uchun miqdor +OrderDispatch=Mahsulot tushumlari +RuleForStockManagementDecrease=Aktsiyalarni avtomatik ravishda kamaytirish uchun qoidani tanlang (avtomatik ravishda pasayish qoidasi yoqilgan bo'lsa ham, qo'lda pasayish har doim ham mumkin) +RuleForStockManagementIncrease=Qimmatli qog'ozlarni avtomatik ravishda oshirish uchun qoidani tanlang (avtomatik ravishda oshirish qoidasi yoqilgan bo'lsa ham, qo'lda oshirish har doim ham mumkin) +DeStockOnBill=Mijozlarning hisob-fakturasini / kredit yozuvlarini tasdiqlash bo'yicha haqiqiy zaxiralarni kamaytiring +DeStockOnValidateOrder=Savdo buyurtmasini tasdiqlash bo'yicha haqiqiy zaxiralarni kamaytiring +DeStockOnShipment=Yuk tashishni tasdiqlash bo'yicha haqiqiy zaxiralarni kamaytiring +DeStockOnShipmentOnClosing=Yuk tashish yopiq bo'lsa, haqiqiy zaxiralarni kamaytiring +ReStockOnBill=Sotuvchi fakturasini / kredit yozuvini tasdiqlash bo'yicha real zaxiralarni ko'paytiring +ReStockOnValidateOrder=Xarid buyurtmalarini tasdiqlash bo'yicha haqiqiy zaxiralarni ko'paytiring +ReStockOnDispatchOrder=Tovarlarni sotib olish buyurtmasi olinganidan keyin omborga qo'lda jo'natish uchun real zaxiralarni ko'paytiring +StockOnReception=Qabul qilishni tasdiqlash bo'yicha haqiqiy zaxiralarni ko'paytiring +StockOnReceptionOnClosing=Qabul qilish yopiq bo'lsa, haqiqiy zaxiralarni ko'paytiring +OrderStatusNotReadyToDispatch=Buyurtma hali omborlarda mahsulotlarni jo'natishga imkon beradigan maqomga ega emas yoki yo'q. +StockDiffPhysicTeoric=Jismoniy va virtual zaxiralar o'rtasidagi farqni tushuntirish +NoPredefinedProductToDispatch=Ushbu ob'ekt uchun oldindan belgilangan mahsulotlar yo'q. Shuning uchun stokda dispetcherlik talab qilinmaydi. +DispatchVerb=Jo'natish +StockLimitShort=Ogohlantirish chegarasi +StockLimit=Ogohlantirish uchun stok cheklovi +StockLimitDesc=(bo'sh) ogohlantirish yo'q degan ma'noni anglatadi.
    0 zaxira bo'sh bo'lishi bilanoq ogohlantirishni boshlash uchun ishlatilishi mumkin. +PhysicalStock=Jismoniy aktsiyalar +RealStock=Haqiqiy aktsiya +RealStockDesc=Jismoniy / haqiqiy zaxira - bu omborlarda mavjud bo'lgan zaxira. +RealStockWillAutomaticallyWhen=Haqiqiy zaxira ushbu qoidaga muvofiq o'zgartiriladi (Stok modulida belgilanganidek): +VirtualStock=Virtual zaxira +VirtualStockAtDate=Bugungi kunda virtual zaxira +VirtualStockAtDateDesc=Tanlangan sanadan oldin qayta ishlashni rejalashtirgan barcha kutilayotgan buyurtmalar tugagandan so'ng, virtual zaxiralar +VirtualStockDesc=Virtual aktsiya - bu barcha ochiq / kutilayotgan harakatlar (aktsiyalarga ta'sir ko'rsatadigan) yopilgandan so'ng mavjud bo'lgan hisoblangan zaxira (sotib olish buyurtmalari kelib tushdi, sotish buyurtmalari jo'natildi, ishlab chiqarish buyurtmalari ishlab chiqarildi va hk). +AtDate=Hozirgi kunda +IdWarehouse=Idish ombori +DescWareHouse=Tavsif ombori +LieuWareHouse=Mahalliylashtirish ombori +WarehousesAndProducts=Omborlar va mahsulotlar +WarehousesAndProductsBatchDetail=Omborlar va mahsulotlar (lot / seriya bo'yicha batafsil ma'lumot bilan) +AverageUnitPricePMPShort=O'rtacha narx +AverageUnitPricePMPDesc=Bizning mahsulotimizga 1 dona mahsulotni kiritish uchun sarflangan o'rtacha birlik narxi. +SellPriceMin=Sotish birligi narxi +EstimatedStockValueSellShort=Sotish uchun qiymati +EstimatedStockValueSell=Sotish uchun qiymati +EstimatedStockValueShort=Kirish qiymati +EstimatedStockValue=Kirish qiymati +DeleteAWarehouse=Omborni o'chirish +ConfirmDeleteWarehouse= %s omborini o'chirishni xohlaysizmi? +PersonalStock=Shaxsiy kabinetga %s +ThisWarehouseIsPersonalStock=Ushbu ombor %s %s shaxsiy zaxirasini aks ettiradi +SelectWarehouseForStockDecrease=Qimmatli qog'ozlarni kamaytirish uchun foydalaniladigan omborni tanlang +SelectWarehouseForStockIncrease=Qimmatli qog'ozlarni ko'paytirish uchun foydalaniladigan omborni tanlang +NoStockAction=Birja aktsiyasi yo'q +DesiredStock=Kerakli aksiya +DesiredStockDesc=Ushbu zaxira miqdori zaxirani to'ldirish xususiyati bilan to'ldirish uchun ishlatiladigan qiymat bo'ladi. +StockToBuy=Buyurtma qilish +Replenishment=To'ldirish +ReplenishmentOrders=To'ldirish buyurtmalari +VirtualDiffersFromPhysical=Aksiyalarning ko'payishi / kamayishi bo'yicha jismoniy aktsiyalar va virtual aktsiyalar (jismoniy aktsiyalar + ochiq buyurtmalar) farq qilishi mumkin +UseRealStockByDefault=To'ldirish xususiyati uchun virtual aktsiyalar o'rniga haqiqiy aktsiyalardan foydalaning +ReplenishmentCalculation=Buyurtma miqdori (kerakli miqdor - virtual zaxira) o'rniga (kerakli miqdor - haqiqiy zaxira) bo'ladi +UseVirtualStock=Virtual zaxiradan foydalaning +UsePhysicalStock=Jismoniy zaxiradan foydalaning +CurentSelectionMode=Joriy tanlov rejimi +CurentlyUsingVirtualStock=Virtual zaxira +CurentlyUsingPhysicalStock=Jismoniy zaxiralar +RuleForStockReplenishment=Qimmatli qog'ozlarni to'ldirish qoidasi +SelectProductWithNotNullQty=Miqdor null bo'lmagan va sotuvchisi bo'lgan kamida bitta mahsulotni tanlang +AlertOnly= Faqat ogohlantirishlar +IncludeProductWithUndefinedAlerts = Istalgan miqdori aniqlanmagan mahsulotlar uchun salbiy zaxiralarni ham qo'shing, ularni 0 ga qaytaring +WarehouseForStockDecrease= %s ombori zaxiralarni kamaytirish uchun ishlatiladi +WarehouseForStockIncrease= %s ombori zaxiralarni ko'paytirish uchun ishlatiladi +ForThisWarehouse=Ushbu ombor uchun +ReplenishmentStatusDesc=Bu kerakli zaxiradan past bo'lgan (yoki "faqat ogohlantirish" katagiga belgi qo'yilgan bo'lsa, ogohlantirish qiymatidan past bo'lgan) barcha mahsulotlarning ro'yxati. Belgilash katagidan foydalanib, siz farqni to'ldirish uchun sotib olish buyurtmalarini yaratishingiz mumkin. +ReplenishmentStatusDescPerWarehouse=Agar siz ombor uchun kerakli miqdordagi miqdor bo'yicha to'ldirishni xohlasangiz, omborga filtr qo'shishingiz kerak. +ReplenishmentOrdersDesc=Bu oldindan belgilangan mahsulotlarni o'z ichiga olgan barcha ochiq sotib olish buyurtmalarining ro'yxati. Bu erda faqat oldindan belgilangan mahsulotlarga ega bo'lgan ochiq buyurtmalar, shu sababli aktsiyalarga ta'sir qilishi mumkin bo'lgan buyurtmalar ko'rinadi. +Replenishments=To'ldirish +NbOfProductBeforePeriod=%s mahsulotining tanlangan muddatgacha zaxiradagi miqdori (<%s) +NbOfProductAfterPeriod=Tanlangan davrdan keyin zaxiradagi %s mahsulotining miqdori (> %s) +MassMovement=Ommaviy harakat +SelectProductInAndOutWareHouse=Manba omborini va maqsadli omborni, mahsulotni va miqdorni tanlang, so'ng "%s" tugmasini bosing. Bu barcha kerakli harakatlar uchun bajarilgandan so'ng, "%s" tugmasini bosing. +RecordMovement=Yozuvni o'tkazish +ReceivingForSameOrder=Ushbu buyurtma uchun kvitansiyalar +StockMovementRecorded=Qimmatli qog'ozlar harakati qayd etildi +RuleForStockAvailability=Qimmatli qog'ozlarga talablar bo'yicha qoidalar +StockMustBeEnoughForInvoice=Hisob-fakturaga mahsulot / xizmatni qo'shish uchun birja darajasi etarli bo'lishi kerak (tekshirish avtomatik ravishda o'zgartirish qoidasi qanday bo'lishidan qat'iy nazar, fakturaga qator qo'shilganda, amaldagi real zaxirada tekshiriladi) +StockMustBeEnoughForOrder=Qimmatbaho qog'ozlar darajasi buyurtma berish uchun mahsulot / xizmatni qo'shish uchun etarli bo'lishi kerak (tekshirish avtomatik ravishda o'zgartirish qoidalari qanday bo'lishidan qat'i nazar, qatorni qo'shganda joriy real zaxirada amalga oshiriladi) +StockMustBeEnoughForShipment= Qimmatbaho qog'ozlar darajasi mahsulotni / xizmatni jo'natishga qo'shish uchun etarli bo'lishi kerak (tekshirish avtomatik ravishda o'zgarishi uchun qanday qoidaga rioya qilinsa, etkazib berishga chiziq qo'shilganda joriy real zaxirada tekshiriladi) +MovementLabel=Harakat yorlig'i +TypeMovement=Harakat yo'nalishi +DateMovement=Harakat sanasi +InventoryCode=Harakat yoki inventarizatsiya kodi +IsInPackage=Paket ichida mavjud +WarehouseAllowNegativeTransfer=Qimmatli qog'ozlar salbiy bo'lishi mumkin +qtyToTranferIsNotEnough=Sizda manba omboridan etarli miqdordagi zaxira yo'q va sizning sozlamangiz salbiy zaxiralarga yo'l qo'ymaydi. +qtyToTranferLotIsNotEnough=Sizda ushbu zaxira ombori uchun etarli miqdordagi zaxira yo'q va sizning sozlamangiz salbiy zaxiralarga yo'l qo'ymaydi ("%s" lot bilan "%s" mahsuloti uchun miqdori "%s" omborida %s '). +ShowWarehouse=Omborni ko'rsatish +MovementCorrectStock=%s mahsuloti uchun aktsiyalarni tuzatish +MovementTransferStock=%s mahsulotini boshqa omborga zaxirada o'tkazish +InventoryCodeShort=Inv. / Mov. kod +NoPendingReceptionOnSupplierOrder=Ochiq sotib olish buyurtmasi tufayli kutish kutilmagan +ThisSerialAlreadyExistWithDifferentDate=Bu ko'p / seriya raqami ( %s ) allaqachon mavjud, lekin har xil eatby yoki sellby sana ( %s topildi lekin siz %s kiriting). +OpenAnyMovement=Ochiq (barcha harakatlar) +OpenInternal=Ochiq (faqat ichki harakat) +UseDispatchStatus=Xarid buyurtmalarini qabul qilishda mahsulot yo'nalishlari uchun jo'natish holatidan foydalaning (tasdiqlash / rad etish) +OptionMULTIPRICESIsOn="Bir segment uchun bir nechta narxlar" opsiyasi yoqilgan. Bu shuni anglatadiki, mahsulot bir necha sotish narxiga ega, shuning uchun sotish qiymatini hisoblab bo'lmaydi +ProductStockWarehouseCreated=Ogohlantirish uchun stok chegarasi va kerakli optimal stok to'g'ri yaratilgan +ProductStockWarehouseUpdated=Ogohlantirish uchun kerakli limit va kerakli optimal stok to'g'ri yangilangan +ProductStockWarehouseDeleted=Ogohlantirish uchun kerakli limit va kerakli optimal stok to'g'ri o'chirildi +AddNewProductStockWarehouse=Ogohlantirish va kerakli optimal stok uchun yangi chegara o'rnating +AddStockLocationLine=Miqdorni kamaytiring, so'ngra ushbu mahsulot uchun boshqa omborni qo'shish uchun bosing +InventoryDate=Inventarizatsiya sanasi +NewInventory=Yangi inventarizatsiya +inventorySetup = Inventarizatsiyani sozlash +inventoryCreatePermission=Yangi inventarizatsiya yarating +inventoryReadPermission=Zaxiralarni ko'rish +inventoryWritePermission=Zaxiralarni yangilang +inventoryValidatePermission=Inventarizatsiyani tasdiqlash +inventoryDeletePermission=Inventarizatsiyani o'chirish +inventoryTitle=Inventarizatsiya +inventoryListTitle=Zaxiralar +inventoryListEmpty=Inventarizatsiya qilinmayapti +inventoryCreateDelete=Inventarizatsiya yaratish / o'chirish +inventoryCreate=Yangisini yarating +inventoryEdit=Tahrirlash +inventoryValidate=Tasdiqlangan +inventoryDraft=Yugurish +inventorySelectWarehouse=Omborni tanlash inventoryConfirmCreate=Create -inventoryOfWarehouse=Inventory for warehouse: %s -inventoryErrorQtyAdd=Error: one quantity is less than zero -inventoryMvtStock=By inventory -inventoryWarningProductAlreadyExists=This product is already into list -SelectCategory=Category filter -SelectFournisseur=Vendor filter -inventoryOnDate=Inventory -INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) -inventoryChangePMPPermission=Allow to change PMP value for a product -ColumnNewPMP=New unit PMP -OnlyProdsInStock=Do not add product without stock -TheoricalQty=Theorique qty -TheoricalValue=Theorique qty -LastPA=Last BP +inventoryOfWarehouse=Ombor uchun inventarizatsiya: %s +inventoryErrorQtyAdd=Xato: bitta miqdor noldan kam +inventoryMvtStock=Inventarizatsiya bo'yicha +inventoryWarningProductAlreadyExists=Ushbu mahsulot allaqachon ro'yxatga kiritilgan +SelectCategory=Turkum filtri +SelectFournisseur=Sotuvchi filtri +inventoryOnDate=Inventarizatsiya +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Qimmatli qog'ozlar harakati inventarizatsiya sanasiga ega bo'ladi (inventarizatsiya tasdiqlangan sana o'rniga) +inventoryChangePMPPermission=Mahsulot uchun PMP qiymatini o'zgartirishga ruxsat bering +ColumnNewPMP=Yangi birlik PMP +OnlyProdsInStock=Mahsulotni zaxirasiz qo'shmang +TheoricalQty=Nazariy son +TheoricalValue=Nazariy son +LastPA=Oxirgi BP CurrentPA=Curent BP -RecordedQty=Recorded Qty -RealQty=Real Qty -RealValue=Real Value -RegulatedQty=Regulated Qty -AddInventoryProduct=Add product to inventory -AddProduct=Add -ApplyPMP=Apply PMP -FlushInventory=Flush inventory -ConfirmFlushInventory=Do you confirm this action? -InventoryFlushed=Inventory flushed -ExitEditMode=Exit edition -inventoryDeleteLine=Delete line -RegulateStock=Regulate Stock -ListInventory=List -StockSupportServices=Stock management supports Services -StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled. -ReceiveProducts=Receive items -StockIncreaseAfterCorrectTransfer=Increase by correction/transfer -StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer -StockIncrease=Stock increase -StockDecrease=Stock decrease -InventoryForASpecificWarehouse=Inventory for a specific warehouse -InventoryForASpecificProduct=Inventory for a specific product -StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use -ForceTo=Force to -AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) -StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future -CurrentStock=Current stock -InventoryRealQtyHelp=Set value to 0 to reset qty
    Keep field empty, or remove line, to keep unchanged -UpdateByScaning=Fill real qty by scaning -UpdateByScaningProductBarcode=Update by scan (product barcode) -UpdateByScaningLot=Update by scan (lot|serial barcode) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s -ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +RecordedQty=Yozilgan Miqdor +RealQty=Haqiqiy miqdor +RealValue=Haqiqiy qiymat +RegulatedQty=Tartibga solinadigan miqdor +AddInventoryProduct=Mahsulotni inventarizatsiyaga qo'shing +AddProduct=Qo'shish +ApplyPMP=PMP-ni qo'llang +FlushInventory=Tozalash moslamalari +ConfirmFlushInventory=Siz ushbu amalni tasdiqlaysizmi? +InventoryFlushed=Inventarizatsiya qizarib ketdi +ExitEditMode=Nashrdan chiqish +inventoryDeleteLine=Chiziqni o'chirish +RegulateStock=Qimmatli qog'ozlarni tartibga solish +ListInventory=Ro'yxat +StockSupportServices=Aktsiyalarni boshqarish xizmatlarni qo'llab-quvvatlaydi +StockSupportServicesDesc=Odatiy bo'lib, siz faqat "mahsulot" turidagi mahsulotlarni to'ldirishingiz mumkin. Ikkala modul xizmatlari va ushbu parametr yoqilgan bo'lsa, siz "xizmat" turidagi mahsulotni sotib olishingiz mumkin. +ReceiveProducts=Ob'ektlarni qabul qiling +StockIncreaseAfterCorrectTransfer=Tuzatish / o'tkazish yo'li bilan oshirish +StockDecreaseAfterCorrectTransfer=Tuzatish / o'tkazish yo'li bilan kamaytiring +StockIncrease=Qimmatli qog'ozlarning ko'payishi +StockDecrease=Qimmatli qog'ozlar kamayadi +InventoryForASpecificWarehouse=Muayyan ombor uchun inventarizatsiya +InventoryForASpecificProduct=Muayyan mahsulot uchun inventarizatsiya +StockIsRequiredToChooseWhichLotToUse=Qaysi lotdan foydalanishni tanlash uchun stok talab qilinadi +ForceTo=Majburlash +AlwaysShowFullArbo=Qalqib chiqadigan omborxonada to'liq ombor daraxtini ko'rsating (Ogohlantirish: Bu ko'rsatkichlar keskin pasayishi mumkin) +StockAtDatePastDesc=Siz bu erda o'tmishda berilgan sanada aktsiyalarni (haqiqiy aktsiyalar) ko'rishingiz mumkin +StockAtDateFutureDesc=Kelajakda ushbu sanada aktsiyalarni (virtual aktsiyalar) ma'lum bir sanada ko'rishingiz mumkin +CurrentStock=Joriy aktsiyalar +InventoryRealQtyHelp=
    miqdorini qayta tiklash uchun 0 qiymatini o'rnating +UpdateByScaning=Haqiqiy sonni skanerlash bilan to'ldiring +UpdateByScaningProductBarcode=Skanerlash orqali yangilash (mahsulot shtrix-kodi) +UpdateByScaningLot=Skanerlash orqali yangilash (lot | ketma-ket shtrix-kod) +DisableStockChangeOfSubProduct=Ushbu harakat paytida ushbu to'plamning barcha subproductlari uchun birja o'zgarishini o'chirib qo'ying. +ImportFromCSV=CSV harakatlar ro'yxatini import qilish +ChooseFileToImport=Faylni yuklang, so'ngra faylni manba import fayli sifatida tanlash uchun %s belgisini bosing ... +SelectAStockMovementFileToImport=import qilish uchun aktsiyalar harakati faylini tanlang +InfoTemplateImport=Yuklangan fayl quyidagi formatga ega bo'lishi kerak (* majburiy maydonlar):
    Manba ombori * | Maqsadli ombor * * Mahsulot * | Miqdor * | Lot / seriya raqami
    CSV belgilarni ajratuvchi " %s " bo'lishi kerak +LabelOfInventoryMovemement=Inventarizatsiya %s +ReOpen=Qayta oching +ConfirmFinish=Inventarizatsiya yopilishini tasdiqlaysizmi? Bu sizning zaxirangizni inventarizatsiyaga kiritgan haqiqiy miqdordagi yangilash uchun barcha aktsiyalar harakatlarini keltirib chiqaradi. +ObjectNotFound=%s topilmadi +MakeMovementsAndClose=Harakatlarni yarating va yoping +AutofillWithExpected=Haqiqiy miqdorni kutilgan miqdor bilan to'ldiring +ShowAllBatchByDefault=Odatiy bo'lib, mahsulot "stok" yorlig'ida partiyaning tafsilotlarini ko'rsating +CollapseBatchDetailHelp=Qimmatbaho qog'ozlar moduli konfiguratsiyasida partiyaning tafsilotlari bo'yicha standart displeyni o'rnatishingiz mumkin +FieldCannotBeNegative="%s" maydoni salbiy bo'lishi mumkin emas +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/uz_UZ/stripe.lang b/htdocs/langs/uz_UZ/stripe.lang index 844762040af..95a3ce10828 100644 --- a/htdocs/langs/uz_UZ/stripe.lang +++ b/htdocs/langs/uz_UZ/stripe.lang @@ -1,72 +1,71 @@ # Dolibarr language file - Source file is en_US - stripe -StripeSetup=Stripe module setup -StripeDesc=Offer customers a Stripe online payment page for payments with credit/cebit cards via Stripe. This can be used to allow your customers to make ad-hoc payments or for payments related to a particular Dolibarr object (invoice, order, ...) -StripeOrCBDoPayment=Pay with credit card or Stripe -FollowingUrlAreAvailableToMakePayments=Following URLs are available to offer a page to a customer to make a payment on Dolibarr objects -PaymentForm=Payment form -WelcomeOnPaymentPage=Welcome to our online payment service -ThisScreenAllowsYouToPay=This screen allow you to make an online payment to %s. -ThisIsInformationOnPayment=This is information on payment to do -ToComplete=To complete -YourEMail=Email to receive payment confirmation -STRIPE_PAYONLINE_SENDEMAIL=Email notification after a payment attempt (success or fail) -Creditor=Creditor -PaymentCode=Payment code -StripeDoPayment=Pay with Stripe -YouWillBeRedirectedOnStripe=You will be redirected on secured Stripe page to input you credit card information -Continue=Next -ToOfferALinkForOnlinePayment=URL for %s payment -ToOfferALinkForOnlinePaymentOnOrder=URL to offer a %s online payment page for a sales order -ToOfferALinkForOnlinePaymentOnInvoice=URL to offer a %s online payment page for a customer invoice -ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment page for a contract line -ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment page of any amount with no existing object -ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment page for a member subscription -ToOfferALinkForOnlinePaymentOnDonation=URL to offer a %s online payment page for payment of a donation -YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (mandatory only for payment not linked to an object) to add your own payment comment tag.
    For the URL of payments with no existing object, you may also add the parameter &noidempotency=1 so the same link with same tag can be used several times (some payment mode may limit the payment to 1 for each different link without this parameter) -SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url %s to have payment created automatically when validated by Stripe. -AccountParameter=Account parameters -UsageParameter=Usage parameters -InformationToFindParameters=Help to find your %s account information -STRIPE_CGI_URL_V2=Url of Stripe CGI module for payment -VendorName=Name of vendor -CSSUrlForPaymentForm=CSS style sheet url for payment form -NewStripePaymentReceived=New Stripe payment received -NewStripePaymentFailed=New Stripe payment tried but failed -FailedToChargeCard=Failed to charge card -STRIPE_TEST_SECRET_KEY=Secret test key -STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key -STRIPE_TEST_WEBHOOK_KEY=Webhook test key -STRIPE_LIVE_SECRET_KEY=Secret live key -STRIPE_LIVE_PUBLISHABLE_KEY=Publishable live key -STRIPE_LIVE_WEBHOOK_KEY=Webhook live key -ONLINE_PAYMENT_WAREHOUSE=Stock to use for stock decrease when online payment is done
    (TODO When option to decrease stock is done on an action on invoice and the online payment generate itself the invoice ?) -StripeLiveEnabled=Stripe live enabled (otherwise test/sandbox mode) -StripeImportPayment=Import Stripe payments -ExampleOfTestCreditCard=Example of credit card for test: %s => valid, %s => error CVC, %s => expired, %s => charge fails -StripeGateways=Stripe gateways -OAUTH_STRIPE_TEST_ID=Stripe Connect Client ID (ca_...) -OAUTH_STRIPE_LIVE_ID=Stripe Connect Client ID (ca_...) -BankAccountForBankTransfer=Bank account for fund payouts -StripeAccount=Stripe account -StripeChargeList=List of Stripe charges -StripeTransactionList=List of Stripe transactions -StripeCustomerId=Stripe customer id -StripePaymentModes=Stripe payment modes -LocalID=Local ID +StripeSetup=Stripe modulini sozlash +StripeDesc= Stripe orqali mijozlarga kredit / cebit kartalar bilan to'lovlarni amalga oshirish uchun Stripe onlayn to'lov sahifasini taklif eting. Bu sizning mijozlaringizga vaqtinchalik to'lovlarni amalga oshirishda yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarda (faktura, buyurtma, ...) ruxsat berish uchun ishlatilishi mumkin. +StripeOrCBDoPayment=Kredit karta yoki Stripe orqali to'lash +FollowingUrlAreAvailableToMakePayments=Dolibarr ob'ektlarida to'lovni amalga oshirish uchun xaridorga sahifani taklif qilish uchun quyidagi URL manzillar mavjud +PaymentForm=To'lov shakli +WelcomeOnPaymentPage=Onlayn to'lov xizmatimizga xush kelibsiz +ThisScreenAllowsYouToPay=Ushbu ekran sizga %s raqamiga onlayn to'lovni amalga oshirishga imkon beradi. +ThisIsInformationOnPayment=Bu to'lash to'g'risida ma'lumot +ToComplete=Tugatish uchun +YourEMail=To'lovni tasdiqlash uchun elektron pochta xabarini yuboring +STRIPE_PAYONLINE_SENDEMAIL=To'lov amalga oshirilgandan so'ng elektron pochta xabarnomasi (muvaffaqiyatli yoki muvaffaqiyatsiz) +Creditor=Kreditor +PaymentCode=To'lov kodi +StripeDoPayment=Stripe bilan to‘lang +YouWillBeRedirectedOnStripe=Siz kredit karta ma'lumotlarini kiritish uchun xavfsiz Stripe sahifasida yo'naltirilasiz +Continue=Keyingi +ToOfferALinkForOnlinePayment=%s to'lovi uchun URL +ToOfferALinkForOnlinePaymentOnOrder=Savdo buyurtmasi uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnInvoice=Mijozlarning hisob-fakturasi uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnContractLine=Shartnoma liniyasi uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnFreeAmount=Mavjud ob'ekti bo'lmagan har qanday miqdordagi %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnMemberSubscription=Ro'yxatdan obuna uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnDonation=Xayr-ehson to'lash uchun %s onlayn to'lov sahifasini taqdim etadigan URL +YouCanAddTagOnUrl=O'zingizning to'lov izoh yorlig'ingizni qo'shish uchun url parametrini & tag = URL-ni qo'shishingiz mumkin (faqat ob'ekt bilan bog'lanmagan to'lov uchun majburiy).
    Mavjud ob'ekti bo'lmagan to'lovlar URL manzili uchun siz & noidempotency = 1 parametrini qo'shishingiz mumkin, shuning uchun bir xil teg bilan bir xil havoladan bir necha marta foydalanish mumkin (ba'zi to'lov rejimi har bir boshqa havola uchun to'lovni 1 ga cheklashi mumkin) parametr) +SetupStripeToHavePaymentCreatedAutomatically=Stripe-ni url bilan sozlang %s Stripe tomonidan tasdiqlanganda to'lov avtomatik ravishda yaratiladi. +AccountParameter=Hisob parametrlari +UsageParameter=Foydalanish parametrlari +InformationToFindParameters=%s hisob qaydnomangiz ma'lumotlarini topishga yordam bering +STRIPE_CGI_URL_V2=To'lov uchun Url of Stripe CGI moduli +CSSUrlForPaymentForm=To'lov shakli uchun CSS uslublar varag'i url +NewStripePaymentReceived=Yangi Stripe to'lovi qabul qilindi +NewStripePaymentFailed=Yangi Stripe to'lovi amalga oshirildi, ammo muvaffaqiyatsiz tugadi +FailedToChargeCard=Kartadan zaryad olinmadi +STRIPE_TEST_SECRET_KEY=Yashirin sinov kaliti +STRIPE_TEST_PUBLISHABLE_KEY=Nashr etiladigan test kaliti +STRIPE_TEST_WEBHOOK_KEY=Webhook sinov kaliti +STRIPE_LIVE_SECRET_KEY=Yashirin kalit +STRIPE_LIVE_PUBLISHABLE_KEY=Nashr qilinadigan jonli kalit +STRIPE_LIVE_WEBHOOK_KEY=Webhook jonli kaliti +ONLINE_PAYMENT_WAREHOUSE=Onlayn to'lov amalga oshirilganda aktsiyalarni pasaytirish uchun foydalaniladigan zaxiralar +StripeLiveEnabled=Stripe jonli yoqilgan (aks holda sinov / sandbox rejimi) +StripeImportPayment=Stripe to'lovlarini import qilish +ExampleOfTestCreditCard=Sinov uchun kredit karta misoli: %s => valid, %s => error CVC, %s => muddati o'tgan, %s => zaryad ishlamayapti +StripeGateways=Stripe shlyuzlari +OAUTH_STRIPE_TEST_ID=Stripe Connect mijoz identifikatori (taxminan _...) +OAUTH_STRIPE_LIVE_ID=Stripe Connect mijoz identifikatori (taxminan _...) +BankAccountForBankTransfer=Jamg'arma to'lovlari uchun bank hisobvarag'i +StripeAccount=Stripe hisob qaydnomasi +StripeChargeList=Stripe to'lovlari ro'yxati +StripeTransactionList=Stripe operatsiyalari ro'yxati +StripeCustomerId=Stripe mijoz identifikatori +StripePaymentModes=Stripe to'lov rejimlari +LocalID=Mahalliy identifikator StripeID=Stripe ID -NameOnCard=Name on card -CardNumber=Card Number -ExpiryDate=Expiry Date +NameOnCard=kartadagi nom +CardNumber=Karta raqami +ExpiryDate=Quyidagi sanagacha foydalanilsin CVN=CVN -DeleteACard=Delete Card -ConfirmDeleteCard=Are you sure you want to delete this Credit or Debit card? -CreateCustomerOnStripe=Create customer on Stripe -CreateCardOnStripe=Create card on Stripe -ShowInStripe=Show in Stripe -StripeUserAccountForActions=User account to use for email notification of some Stripe events (Stripe payouts) -StripePayoutList=List of Stripe payouts -ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) -ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) -PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. -ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +DeleteACard=Kartani o'chirish +ConfirmDeleteCard=Ushbu Kredit yoki Debet kartani o'chirishni xohlaysizmi? +CreateCustomerOnStripe=Stripe-da mijoz yarating +CreateCardOnStripe=Stripe-da karta yarating +ShowInStripe=Stripe-da ko'rsatish +StripeUserAccountForActions=Stripe voqealari (Stripe to'lovlari) haqida elektron pochta orqali xabar berish uchun foydalanuvchi hisob qaydnomasi +StripePayoutList=Stripe to'lovlari ro'yxati +ToOfferALinkForTestWebhook=IPH-ga qo'ng'iroq qilish uchun Stripe WebHook-ni o'rnatish uchun havola (sinov rejimi) +ToOfferALinkForLiveWebhook=IPH-ga qo'ng'iroq qilish uchun Stripe WebHook-ni sozlash uchun havola (jonli rejim) +PaymentWillBeRecordedForNextPeriod=To'lov keyingi davr uchun qayd etiladi. +ClickHereToTryAgain= Qayta urinish uchun shu erni bosing ... +CreationOfPaymentModeMustBeDoneFromStripeInterface=Mijozlarni kuchli autentifikatsiya qilish qoidalari tufayli kartani yaratish Stripe backoffice-da amalga oshirilishi kerak. Stripe mijozlar yozuvini yoqish uchun bu erni bosishingiz mumkin: %s diff --git a/htdocs/langs/uz_UZ/supplier_proposal.lang b/htdocs/langs/uz_UZ/supplier_proposal.lang index ce5bdf0425a..a3798afd3b0 100644 --- a/htdocs/langs/uz_UZ/supplier_proposal.lang +++ b/htdocs/langs/uz_UZ/supplier_proposal.lang @@ -1,54 +1,58 @@ # Dolibarr language file - Source file is en_US - supplier_proposal -SupplierProposal=Vendor commercial proposals -supplier_proposalDESC=Manage price requests to suppliers -SupplierProposalNew=New price request -CommRequest=Price request -CommRequests=Price requests -SearchRequest=Find a request -DraftRequests=Draft requests -SupplierProposalsDraft=Draft vendor proposals -LastModifiedRequests=Latest %s modified price requests -RequestsOpened=Open price requests -SupplierProposalArea=Vendor proposals area -SupplierProposalShort=Vendor proposal -SupplierProposals=Vendor proposals -SupplierProposalsShort=Vendor proposals -NewAskPrice=New price request -ShowSupplierProposal=Show price request -AddSupplierProposal=Create a price request -SupplierProposalRefFourn=Vendor ref -SupplierProposalDate=Delivery date -SupplierProposalRefFournNotice=Before closing to "Accepted", think to grasp suppliers references. -ConfirmValidateAsk=Are you sure you want to validate this price request under name %s? -DeleteAsk=Delete request -ValidateAsk=Validate request -SupplierProposalStatusDraft=Draft (needs to be validated) -SupplierProposalStatusValidated=Validated (request is open) -SupplierProposalStatusClosed=Closed -SupplierProposalStatusSigned=Accepted -SupplierProposalStatusNotSigned=Refused -SupplierProposalStatusDraftShort=Draft -SupplierProposalStatusValidatedShort=Validated -SupplierProposalStatusClosedShort=Closed -SupplierProposalStatusSignedShort=Accepted -SupplierProposalStatusNotSignedShort=Refused -CopyAskFrom=Create a price request by copying an existing request -CreateEmptyAsk=Create blank request -ConfirmCloneAsk=Are you sure you want to clone the price request %s? -ConfirmReOpenAsk=Are you sure you want to open back the price request %s? -SendAskByMail=Send price request by mail -SendAskRef=Sending the price request %s -SupplierProposalCard=Request card -ConfirmDeleteAsk=Are you sure you want to delete this price request %s? -ActionsOnSupplierProposal=Events on price request -DocModelAuroreDescription=A complete request model (logo...) -CommercialAsk=Price request -DefaultModelSupplierProposalCreate=Default model creation -DefaultModelSupplierProposalToBill=Default template when closing a price request (accepted) -DefaultModelSupplierProposalClosed=Default template when closing a price request (refused) -ListOfSupplierProposals=List of vendor proposal requests -ListSupplierProposalsAssociatedProject=List of vendor proposals associated with project -SupplierProposalsToClose=Vendor proposals to close -SupplierProposalsToProcess=Vendor proposals to process -LastSupplierProposals=Latest %s price requests -AllPriceRequests=All requests +SupplierProposal=Tijorat takliflarini sotuvchi +supplier_proposalDESC=Yetkazib beruvchilarga narx bo'yicha so'rovlarni boshqaring +SupplierProposalNew=Yangi narx bo'yicha so'rov +CommRequest=Narx so'rovi +CommRequests=Narxlar bo'yicha so'rovlar +SearchRequest=So'rovni toping +DraftRequests=So'rovlar loyihasi +SupplierProposalsDraft=Sotuvchilarning takliflari loyihasi +LastModifiedRequests=Oxirgi %s narxlari bo'yicha o'zgartirilgan so'rovlar +RequestsOpened=Narx bo'yicha so'rovlarni oching +SupplierProposalArea=Sotuvchi takliflari maydoni +SupplierProposalShort=Sotuvchi taklifi +SupplierProposals=Sotuvchi takliflari +SupplierProposalsShort=Sotuvchi takliflari +AskPrice=Narx so'rovi +NewAskPrice=Yangi narx bo'yicha so'rov +ShowSupplierProposal=Narx so'rovini ko'rsatish +AddSupplierProposal=Narx so'rovini yarating +SupplierProposalRefFourn=Sotuvchi ref +SupplierProposalDate=Yetkazib berish sanasi +SupplierProposalRefFournNotice="Qabul qilingan" bandini yopishdan oldin, etkazib beruvchilarning ma'lumotnomalarini tushunib oling. +ConfirmValidateAsk=Ushbu narx talabini %s nomi ostida tasdiqlamoqchimisiz? +DeleteAsk=So'rovni o'chirish +ValidateAsk=So'rovni tasdiqlash +SupplierProposalStatusDraft=Qoralama (tasdiqlanishi kerak) +SupplierProposalStatusValidated=Tasdiqlangan (so'rov ochiq) +SupplierProposalStatusClosed=Yopiq +SupplierProposalStatusSigned=Qabul qilindi +SupplierProposalStatusNotSigned=Rad etildi +SupplierProposalStatusDraftShort=Qoralama +SupplierProposalStatusValidatedShort=Tasdiqlangan +SupplierProposalStatusClosedShort=Yopiq +SupplierProposalStatusSignedShort=Qabul qilindi +SupplierProposalStatusNotSignedShort=Rad etildi +CopyAskFrom=Mavjud so'rovni nusxalash orqali narx bo'yicha so'rov yarating +CreateEmptyAsk=Bo'sh so'rov yarating +ConfirmCloneAsk=Narx so'rovini %s klonlamoqchimisiz? +ConfirmReOpenAsk=Narx so'rovini qayta ochishni xohlaysizmi %s ? +SendAskByMail=Pochta orqali narx bo'yicha so'rov yuboring +SendAskRef=%s narx so'rovini yuborish +SupplierProposalCard=Kartani so'rash +ConfirmDeleteAsk=Ushbu narx talabini o'chirishni xohlaysizmi %s ? +ActionsOnSupplierProposal=Narxlar bo'yicha so'rov bo'yicha tadbirlar +DocModelAuroreDescription=To'liq so'rov modeli (logotip ...) +CommercialAsk=Narx so'rovi +DefaultModelSupplierProposalCreate=Standart model yaratish +DefaultModelSupplierProposalToBill=Narx so'rovini yopishda standart shablon (qabul qilinadi) +DefaultModelSupplierProposalClosed=Narx so'rovini yopishda standart shablon (rad etilgan) +ListOfSupplierProposals=Sotuvchiga takliflar so'rovlari ro'yxati +ListSupplierProposalsAssociatedProject=Loyiha bilan bog'liq sotuvchilar takliflari ro'yxati +SupplierProposalsToClose=Yopish uchun sotuvchilarning takliflari +SupplierProposalsToProcess=Ishlab chiqaruvchilarning takliflarini qayta ishlash +LastSupplierProposals=%s narxlari bo'yicha so'nggi so'rovlar +AllPriceRequests=Barcha so'rovlar +TypeContact_supplier_proposal_external_SHIPPING=Yetkazib berish uchun sotuvchiga murojaat qiling +TypeContact_supplier_proposal_external_BILLING=Hisob-kitob qilish uchun sotuvchi bilan bog'lanish +TypeContact_supplier_proposal_external_SERVICE=Vakilning keyingi taklifi diff --git a/htdocs/langs/uz_UZ/suppliers.lang b/htdocs/langs/uz_UZ/suppliers.lang index ca9ee174d29..df1ef567d59 100644 --- a/htdocs/langs/uz_UZ/suppliers.lang +++ b/htdocs/langs/uz_UZ/suppliers.lang @@ -1,49 +1,49 @@ # Dolibarr language file - Source file is en_US - vendors -Suppliers=Vendors -SuppliersInvoice=Vendor invoice -SupplierInvoices=Vendor invoices -ShowSupplierInvoice=Show Vendor Invoice -NewSupplier=New vendor -History=History -ListOfSuppliers=List of vendors -ShowSupplier=Show vendor -OrderDate=Order date -BuyingPriceMin=Best buying price -BuyingPriceMinShort=Best buying price -TotalBuyingPriceMinShort=Total of subproducts buying prices -TotalSellingPriceMinShort=Total of subproducts selling prices -SomeSubProductHaveNoPrices=Some sub-products have no price defined -AddSupplierPrice=Add buying price -ChangeSupplierPrice=Change buying price -SupplierPrices=Vendor prices -ReferenceSupplierIsAlreadyAssociatedWithAProduct=This vendor reference is already associated with a product: %s -NoRecordedSuppliers=No vendor recorded -SupplierPayment=Vendor payment -SuppliersArea=Vendor area -RefSupplierShort=Ref. vendor -Availability=Availability -ExportDataset_fournisseur_1=Vendor invoices and invoice details -ExportDataset_fournisseur_2=Vendor invoices and payments -ExportDataset_fournisseur_3=Purchase orders and order details -ApproveThisOrder=Approve this order -ConfirmApproveThisOrder=Are you sure you want to approve order %s? -DenyingThisOrder=Deny this order -ConfirmDenyingThisOrder=Are you sure you want to deny this order %s? -ConfirmCancelThisOrder=Are you sure you want to cancel this order %s? -AddSupplierOrder=Create Purchase Order -AddSupplierInvoice=Create vendor invoice -ListOfSupplierProductForSupplier=List of products and prices for vendor %s -SentToSuppliers=Sent to vendors -ListOfSupplierOrders=List of purchase orders -MenuOrdersSupplierToBill=Purchase orders to invoice -NbDaysToDelivery=Delivery delay (days) -DescNbDaysToDelivery=The longest delivery delay of the products from this order -SupplierReputation=Vendor reputation -ReferenceReputation=Reference reputation -DoNotOrderThisProductToThisSupplier=Do not order -NotTheGoodQualitySupplier=Low quality -ReputationForThisProduct=Reputation -BuyerName=Buyer name -AllProductServicePrices=All product / service prices -AllProductReferencesOfSupplier=All references of vendor -BuyingPriceNumShort=Vendor prices +Suppliers=Sotuvchilar +SuppliersInvoice=Sotuvchi hisob-fakturasi +SupplierInvoices=Sotuvchi hisob-fakturalari +ShowSupplierInvoice=Sotuvchi fakturasini ko'rsating +NewSupplier=Yangi sotuvchi +History=Tarix +ListOfSuppliers=Sotuvchilar ro'yxati +ShowSupplier=Sotuvchini ko'rsatish +OrderDate=Buyurtma sanasi +BuyingPriceMin=Eng yaxshi sotib olish narxi +BuyingPriceMinShort=Eng yaxshi sotib olish narxi +TotalBuyingPriceMinShort=Sotib olinadigan subproductlarning umumiy narxi +TotalSellingPriceMinShort=Sotish narxlarining subproductlari jami +SomeSubProductHaveNoPrices=Ba'zi bir kichik mahsulotlarda narx belgilanmagan +AddSupplierPrice=Xarid qilish narxini qo'shing +ChangeSupplierPrice=Xarid narxini o'zgartiring +SupplierPrices=Sotuvchi narxlari +ReferenceSupplierIsAlreadyAssociatedWithAProduct=Ushbu sotuvchi ma'lumotnomasi allaqachon mahsulot bilan bog'langan: %s +NoRecordedSuppliers=Hech qanday sotuvchi yozilmagan +SupplierPayment=Sotuvchining to'lovi +SuppliersArea=Sotuvchi maydoni +RefSupplierShort=Ref. sotuvchi +Availability=Mavjudligi +ExportDataset_fournisseur_1=Sotuvchi hisob-fakturalari va hisob-kitob ma'lumotlari +ExportDataset_fournisseur_2=Sotuvchi hisob-kitoblari va to'lovlari +ExportDataset_fournisseur_3=Sotib olish buyurtmalari va buyurtma tafsilotlari +ApproveThisOrder=Ushbu buyurtmani tasdiqlash +ConfirmApproveThisOrder= %s buyurtmasini tasdiqlashingizga ishonchingiz komilmi? +DenyingThisOrder=Ushbu buyurtmani rad eting +ConfirmDenyingThisOrder=Ushbu buyurtmani rad qilishni xohlaysizmi %s ? +ConfirmCancelThisOrder=Haqiqatan ham ushbu buyurtmani bekor qilishni xohlaysizmi %s ? +AddSupplierOrder=Xarid buyurtmasini yarating +AddSupplierInvoice=Sotuvchi hisob-fakturasini yarating +ListOfSupplierProductForSupplier= %s sotuvchisi uchun mahsulotlar va narxlar ro'yxati. +SentToSuppliers=Sotuvchilarga yuborildi +ListOfSupplierOrders=Sotib olish uchun buyurtmalar ro'yxati +MenuOrdersSupplierToBill=Hisob-fakturaga buyurtma sotib oling +NbDaysToDelivery=Yetkazib berishning kechikishi (kunlar) +DescNbDaysToDelivery=Ushbu buyurtma bo'yicha mahsulotlarni etkazib berishning eng uzoq kechikishi +SupplierReputation=Sotuvchining obro'si +ReferenceReputation=Yo'naltiruvchi obro'si +DoNotOrderThisProductToThisSupplier=Buyurtma bermang +NotTheGoodQualitySupplier=Past sifatli +ReputationForThisProduct=Obro'-e'tibor +BuyerName=Xaridor nomi +AllProductServicePrices=Barcha mahsulot / xizmat narxlari +AllProductReferencesOfSupplier=Sotuvchining barcha ma'lumotnomalari +BuyingPriceNumShort=Sotuvchi narxlari diff --git a/htdocs/langs/uz_UZ/ticket.lang b/htdocs/langs/uz_UZ/ticket.lang index df73daf4a0d..3d3e2659656 100644 --- a/htdocs/langs/uz_UZ/ticket.lang +++ b/htdocs/langs/uz_UZ/ticket.lang @@ -18,299 +18,304 @@ # Generic # -Module56000Name=Tickets -Module56000Desc=Ticket system for issue or request management +Module56000Name=Chiptalar +Module56000Desc=Chiqarish yoki so'rovlarni boshqarish uchun chiptalar tizimi -Permission56001=See tickets -Permission56002=Modify tickets -Permission56003=Delete tickets -Permission56004=Manage tickets -Permission56005=See tickets of all third parties (not effective for external users, always be limited to the third party they depend on) +Permission56001=Chiptalarni ko'ring +Permission56002=Chiptalarni o'zgartirish +Permission56003=Chiptalarni o'chirish +Permission56004=Chiptalarni boshqarish +Permission56005=Uchinchi tomonlarning chiptalarini ko'ring (tashqi foydalanuvchilar uchun samarali emas, har doim ular bog'liq bo'lgan uchinchi tomon bilan cheklaning) -TicketDictType=Ticket - Types -TicketDictCategory=Ticket - Groupes -TicketDictSeverity=Ticket - Severities -TicketDictResolution=Ticket - Resolution +TicketDictType=Chipta - turlari +TicketDictCategory=Chipta - guruhlar +TicketDictSeverity=Chipta - jiddiyliklar +TicketDictResolution=Chipta - Qaror -TicketTypeShortCOM=Commercial question -TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem -TicketTypeShortREQUEST=Change or enhancement request -TicketTypeShortPROJET=Project -TicketTypeShortOTHER=Other +TicketTypeShortCOM=Tijorat savoli +TicketTypeShortHELP=Funktsional yordam uchun so'rov +TicketTypeShortISSUE=Muammo yoki xato +TicketTypeShortPROBLEM=Muammo +TicketTypeShortREQUEST=O'zgartirish yoki takomillashtirish bo'yicha so'rov +TicketTypeShortPROJET=Loyiha +TicketTypeShortOTHER=Boshqalar -TicketSeverityShortLOW=Low -TicketSeverityShortNORMAL=Normal -TicketSeverityShortHIGH=High -TicketSeverityShortBLOCKING=Critical, Blocking +TicketSeverityShortLOW=Kam +TicketSeverityShortNORMAL=Oddiy +TicketSeverityShortHIGH=Yuqori +TicketSeverityShortBLOCKING=Muhim, blokirovka qilish -ErrorBadEmailAddress=Field '%s' incorrect -MenuTicketMyAssign=My tickets -MenuTicketMyAssignNonClosed=My open tickets -MenuListNonClosed=Open tickets +ErrorBadEmailAddress='%s' maydoni noto'g'ri +MenuTicketMyAssign=Mening chiptalarim +MenuTicketMyAssignNonClosed=Mening ochiq chiptalarim +MenuListNonClosed=Ochiq chiptalar -TypeContact_ticket_internal_CONTRIBUTOR=Contributor -TypeContact_ticket_internal_SUPPORTTEC=Assigned user -TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking -TypeContact_ticket_external_CONTRIBUTOR=External contributor +TypeContact_ticket_internal_CONTRIBUTOR=Xissador +TypeContact_ticket_internal_SUPPORTTEC=Tayinlangan foydalanuvchi +TypeContact_ticket_external_SUPPORTCLI=Mijozlar bilan aloqa / hodisalarni kuzatish +TypeContact_ticket_external_CONTRIBUTOR=Tashqi yordamchi -OriginEmail=Email source -Notify_TICKET_SENTBYMAIL=Send ticket message by email +OriginEmail=Reporter Email +Notify_TICKET_SENTBYMAIL=Elektron pochta orqali chiptani yuboring # Status -Read=Read -Assigned=Assigned -InProgress=In progress -NeedMoreInformation=Waiting for information -Answered=Answered -Waiting=Waiting -Closed=Closed -Deleted=Deleted +Read=O'qing +Assigned=Tayinlangan +InProgress=Jarayonda +NeedMoreInformation=Muxbirlarning fikri kutilmoqda +NeedMoreInformationShort=Fikr-mulohaza kutilmoqda +Answered=Javob berdi +Waiting=Kutish +SolvedClosed=Solved +Deleted=O'chirildi # Dict -Type=Type -Severity=Severity -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +Type=Turi +Severity=Jiddiylik +TicketGroupIsPublic=Guruh hammaga ochiq +TicketGroupIsPublicDesc=Agar chiptalar guruhi ommaviy bo'lsa, u umumiy interfeysdan chipta yaratishda shaklda ko'rinadi # Email templates -MailToSendTicketMessage=To send email from ticket message +MailToSendTicketMessage=Chipta xabaridan elektron pochta xabarini yuborish # # Admin page # -TicketSetup=Ticket module setup -TicketSettings=Settings +TicketSetup=Chipta modulini sozlash +TicketSettings=Sozlamalar TicketSetupPage= -TicketPublicAccess=A public interface requiring no identification is available at the following url -TicketSetupDictionaries=The type of ticket, severity and analytic codes are configurable from dictionaries -TicketParamModule=Module variable setup -TicketParamMail=Email setup -TicketEmailNotificationFrom=Notification email from -TicketEmailNotificationFromHelp=Used into ticket message answer by example -TicketEmailNotificationTo=Notifications email to -TicketEmailNotificationToHelp=Send email notifications to this address. -TicketNewEmailBodyLabel=Text message sent after creating a ticket -TicketNewEmailBodyHelp=The text specified here will be inserted into the email confirming the creation of a new ticket from the public interface. Information on the consultation of the ticket are automatically added. -TicketParamPublicInterface=Public interface setup -TicketsEmailMustExist=Require an existing email address to create a ticket -TicketsEmailMustExistHelp=In the public interface, the email address should already be filled in the database to create a new ticket. -PublicInterface=Public interface -TicketUrlPublicInterfaceLabelAdmin=Alternative URL for public interface -TicketUrlPublicInterfaceHelpAdmin=It is possible to define an alias to the web server and thus make available the public interface with another URL (the server must act as a proxy on this new URL) -TicketPublicInterfaceTextHomeLabelAdmin=Welcome text of the public interface -TicketPublicInterfaceTextHome=You can create a support ticket or view existing from its identifier tracking ticket. -TicketPublicInterfaceTextHomeHelpAdmin=The text defined here will appear on the home page of the public interface. -TicketPublicInterfaceTopicLabelAdmin=Interface title -TicketPublicInterfaceTopicHelp=This text will appear as the title of the public interface. -TicketPublicInterfaceTextHelpMessageLabelAdmin=Help text to the message entry -TicketPublicInterfaceTextHelpMessageHelpAdmin=This text will appear above the message input area of the user. -ExtraFieldsTicket=Extra attributes -TicketCkEditorEmailNotActivated=HTML editor is not activated. Please put FCKEDITOR_ENABLE_MAIL content to 1 to get it. -TicketsDisableEmail=Do not send emails for ticket creation or message recording -TicketsDisableEmailHelp=By default, emails are sent when new tickets or messages created. Enable this option to disable *all* email notifications -TicketsLogEnableEmail=Enable log by email -TicketsLogEnableEmailHelp=At each change, an email will be sent **to each contact** associated with the ticket. -TicketParams=Params -TicketsShowModuleLogo=Display the logo of the module in the public interface -TicketsShowModuleLogoHelp=Enable this option to hide the logo module in the pages of the public interface -TicketsShowCompanyLogo=Display the logo of the company in the public interface -TicketsShowCompanyLogoHelp=Enable this option to hide the logo of the main company in the pages of the public interface -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") -TicketsLimitViewAssignedOnly=Restrict the display to tickets assigned to the current user (not effective for external users, always be limited to the third party they depend on) -TicketsLimitViewAssignedOnlyHelp=Only tickets assigned to the current user will be visible. Does not apply to a user with tickets management rights. -TicketsActivatePublicInterface=Activate public interface -TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create tickets. -TicketsAutoAssignTicket=Automatically assign the user who created the ticket -TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket. -TicketNumberingModules=Tickets numbering module -TicketsModelModule=Document templates for tickets -TicketNotifyTiersAtCreation=Notify third party at creation -TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket -TicketsPublicNotificationNewMessageHelp=Send email(s) when a new message is added from public interface (to assigned user or the notifications email to (update) and/or the notifications email to) -TicketPublicNotificationNewMessageDefaultEmail=Notifications email to (update) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicAccess=Identifikatsiyani talab qilmaydigan umumiy interfeys quyidagi urlda mavjud +TicketSetupDictionaries=Chipta turi, jiddiyligi va analitik kodlari lug'atlarda sozlanishi mumkin +TicketParamModule=Modulning o'zgaruvchini sozlash +TicketParamMail=Elektron pochtani sozlash +TicketEmailNotificationFrom=Bildirishnoma elektron pochtasi +TicketEmailNotificationFromHelp=Misol uchun chipta xabarining javobiga ishlatilgan +TicketEmailNotificationTo=Bildirishnomalar elektron pochta manziliga +TicketEmailNotificationToHelp=Ushbu manzilga elektron pochta xabarnomalarini yuboring. +TicketNewEmailBodyLabel=Chipta yaratilgandan so'ng yuborilgan matnli xabar +TicketNewEmailBodyHelp=Bu erda ko'rsatilgan matn ommaviy interfeysdan yangi chipta yaratilganligini tasdiqlovchi elektron pochtaga kiritiladi. Chipta maslahati to'g'risidagi ma'lumotlar avtomatik ravishda qo'shiladi. +TicketParamPublicInterface=Umumiy interfeysni sozlash +TicketsEmailMustExist=Chipta yaratish uchun mavjud elektron pochta manzilini talab qiling +TicketsEmailMustExistHelp=Umumiy interfeysda elektron pochta manzili yangi chipta yaratish uchun ma'lumotlar bazasida to'ldirilgan bo'lishi kerak. +PublicInterface=Ommaviy interfeys +TicketUrlPublicInterfaceLabelAdmin=Umumiy interfeys uchun muqobil URL +TicketUrlPublicInterfaceHelpAdmin=Veb-server uchun taxallusni aniqlash va shu bilan umumiy interfeysni boshqa URL bilan ta'minlash mumkin (server ushbu yangi URL-da proksi sifatida ishlashi kerak) +TicketPublicInterfaceTextHomeLabelAdmin=Umumiy interfeysning xush kelibsiz matni +TicketPublicInterfaceTextHome=Siz qo'llab-quvvatlash chiptasini yaratishingiz yoki uning identifikatorini kuzatish chiptasidan mavjud narsalarni ko'rishingiz mumkin. +TicketPublicInterfaceTextHomeHelpAdmin=Bu erda belgilangan matn umumiy interfeysning asosiy sahifasida paydo bo'ladi. +TicketPublicInterfaceTopicLabelAdmin=Interfeys nomi +TicketPublicInterfaceTopicHelp=Ushbu matn umumiy interfeys nomi sifatida paydo bo'ladi. +TicketPublicInterfaceTextHelpMessageLabelAdmin=Xabarni kiritish uchun matnga yordam bering +TicketPublicInterfaceTextHelpMessageHelpAdmin=Ushbu matn foydalanuvchining xabarlarni kiritish maydonchasi ustida paydo bo'ladi. +ExtraFieldsTicket=Qo'shimcha atributlar +TicketCkEditorEmailNotActivated=HTML muharriri faollashtirilmagan. Iltimos, FCKEDITOR_ENABLE_MAIL tarkibini olish uchun uni 1 tagacha joylashtiring. +TicketsDisableEmail=Chipta yaratish yoki xabar yozish uchun elektron pochta xabarlarini yubormang +TicketsDisableEmailHelp=Odatiy bo'lib, elektron pochta xabarlari yangi chiptalar yoki xabarlar yaratilganda yuboriladi. * Barcha * elektron pochta xabarlarini o'chirib qo'yish uchun ushbu parametrni yoqing +TicketsLogEnableEmail=Elektron pochta orqali jurnalni yoqish +TicketsLogEnableEmailHelp=Har bir o'zgarganda, chiptaga aloqador ** har bir kontaktga ** elektron pochta orqali xabar yuboriladi. +TicketParams=Paramlar +TicketsShowModuleLogo=Modul logotipini umumiy interfeysda ko'rsatish +TicketsShowModuleLogoHelp=Logotip modulini umumiy interfeys sahifalarida yashirish uchun ushbu parametrni yoqing +TicketsShowCompanyLogo=Kompaniya logotipini ommaviy interfeysda namoyish eting +TicketsShowCompanyLogoHelp=Asosiy kompaniyaning logotipini umumiy interfeys sahifalarida yashirish uchun ushbu parametrni yoqing +TicketsEmailAlsoSendToMainAddress=Asosiy elektron pochta manziliga xabarnoma yuboring +TicketsEmailAlsoSendToMainAddressHelp="%s" sozlamalarida belgilangan manzilga elektron pochta xabarlarini yuborish uchun ushbu parametrni yoqing ("%s" yorlig'iga qarang) +TicketsLimitViewAssignedOnly=Displeyni joriy foydalanuvchiga tayinlangan chiptalar bilan cheklang (tashqi foydalanuvchilar uchun samarali emas, har doim ular bog'liq bo'lgan uchinchi shaxs bilan cheklaning) +TicketsLimitViewAssignedOnlyHelp=Faqat joriy foydalanuvchiga tayinlangan chiptalar ko'rinadi. Chiptalarni boshqarish huquqiga ega foydalanuvchiga taalluqli emas. +TicketsActivatePublicInterface=Umumiy interfeysni faollashtiring +TicketsActivatePublicInterfaceHelp=Umumiy interfeys har qanday tashrif buyuruvchilarga chiptalarni yaratishga imkon beradi. +TicketsAutoAssignTicket=Chiptani yaratgan foydalanuvchini avtomatik ravishda tayinlash +TicketsAutoAssignTicketHelp=Chiptani yaratishda foydalanuvchiga avtomatik ravishda chiptani tayinlash mumkin. +TicketNumberingModules=Chiptalarni raqamlash moduli +TicketsModelModule=Chiptalar uchun hujjatlar shablonlari +TicketNotifyTiersAtCreation=Yaratilganda uchinchi tomonga xabar bering +TicketsDisableCustomerEmail=Ochiq interfeysdan chipta yaratilganda har doim elektron pochta xabarlarini o'chirib qo'ying +TicketsPublicNotificationNewMessage=Chipta yangi xabar / sharh qo'shilganda elektron pochta xabarlarini yuboring +TicketsPublicNotificationNewMessageHelp=Umumiy interfeysdan yangi xabar qo'shilganda elektron pochta xabarlarini yuboring (tayinlangan foydalanuvchiga yoki bildirishnomalar elektron pochtasiga (yangilash) va / yoki elektron pochta xabarlariga) +TicketPublicNotificationNewMessageDefaultEmail=Bildirishnomalar elektron pochtasi (yangilash) +TicketPublicNotificationNewMessageDefaultEmailHelp=Agar chiptada foydalanuvchi tayinlanmagan bo'lsa yoki foydalanuvchi ma'lum bir elektron pochta xabariga ega bo'lmasa, har bir yangi xabar xabarnomasi uchun ushbu manzilga elektron pochta xabarini yuboring. # # Index & list page # -TicketsIndex=Tickets area -TicketList=List of tickets -TicketAssignedToMeInfos=This page display ticket list created by or assigned to current user -NoTicketsFound=No ticket found -NoUnreadTicketsFound=No unread ticket found -TicketViewAllTickets=View all tickets -TicketViewNonClosedOnly=View only open tickets -TicketStatByStatus=Tickets by status -OrderByDateAsc=Sort by ascending date -OrderByDateDesc=Sort by descending date -ShowAsConversation=Show as conversation list -MessageListViewType=Show as table list +TicketsIndex=Chiptalar maydoni +TicketList=Chiptalar ro'yxati +TicketAssignedToMeInfos=Ushbu sahifada joriy foydalanuvchi tomonidan yaratilgan yoki unga tayinlangan chiptalar ro'yxati ko'rsatilgan +NoTicketsFound=Hech qanday chipta topilmadi +NoUnreadTicketsFound=O'qilmagan chipta topilmadi +TicketViewAllTickets=Barcha chiptalarni ko'ring +TicketViewNonClosedOnly=Faqat ochiq chiptalarni ko'ring +TicketStatByStatus=Status bo'yicha chiptalar +OrderByDateAsc=Sana bo'yicha o'sish sanasi bo'yicha saralash +OrderByDateDesc=Kamayish sanasi bo'yicha saralash +ShowAsConversation=Suhbat ro'yxati sifatida ko'rsatish +MessageListViewType=Jadval ro'yxati sifatida ko'rsatish # # Ticket card # -Ticket=Ticket -TicketCard=Ticket card -CreateTicket=Create ticket -EditTicket=Edit ticket -TicketsManagement=Tickets Management -CreatedBy=Created by -NewTicket=New Ticket -SubjectAnswerToTicket=Ticket answer -TicketTypeRequest=Request type -TicketCategory=Group -SeeTicket=See ticket -TicketMarkedAsRead=Ticket has been marked as read -TicketReadOn=Read on -TicketCloseOn=Closing date -MarkAsRead=Mark ticket as read -TicketHistory=Ticket history -AssignUser=Assign to user -TicketAssigned=Ticket is now assigned -TicketChangeType=Change type -TicketChangeCategory=Change analytic code -TicketChangeSeverity=Change severity -TicketAddMessage=Add a message -AddMessage=Add a message -MessageSuccessfullyAdded=Ticket added -TicketMessageSuccessfullyAdded=Message successfully added -TicketMessagesList=Message list -NoMsgForThisTicket=No message for this ticket -Properties=Classification -LatestNewTickets=Latest %s newest tickets (not read) -TicketSeverity=Severity -ShowTicket=See ticket -RelatedTickets=Related tickets -TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket -ConfirmCloseAticket=Confirm ticket closing -ConfirmDeleteTicket=Please confirm ticket deleting -TicketDeletedSuccess=Ticket deleted with success -TicketMarkedAsClosed=Ticket marked as closed -TicketDurationAuto=Calculated duration -TicketDurationAutoInfos=Duration calculated automatically from intervention related -TicketUpdated=Ticket updated -SendMessageByEmail=Send message by email -TicketNewMessage=New message -ErrorMailRecipientIsEmptyForSendTicketMessage=Recipient is empty. No email send -TicketGoIntoContactTab=Please go into "Contacts" tab to select them -TicketMessageMailIntro=Introduction -TicketMessageMailIntroHelp=This text is added only at the beginning of the email and will not be saved. -TicketMessageMailIntroLabelAdmin=Introduction to the message when sending email -TicketMessageMailIntroText=Hello,
    A new response was sent on a ticket that you contact. Here is the message:
    -TicketMessageMailIntroHelpAdmin=This text will be inserted before the text of the response to a ticket. -TicketMessageMailSignature=Signature -TicketMessageMailSignatureHelp=This text is added only at the end of the email and will not be saved. -TicketMessageMailSignatureText=

    Sincerely,

    --

    -TicketMessageMailSignatureLabelAdmin=Signature of response email -TicketMessageMailSignatureHelpAdmin=This text will be inserted after the response message. -TicketMessageHelp=Only this text will be saved in the message list on ticket card. -TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. -TimeElapsedSince=Time elapsed since -TicketTimeToRead=Time elapsed before read -TicketContacts=Contacts ticket -TicketDocumentsLinked=Documents linked to ticket -ConfirmReOpenTicket=Confirm reopen this ticket ? -TicketMessageMailIntroAutoNewPublicMessage=A new message was posted on the ticket with the subject %s: -TicketAssignedToYou=Ticket assigned -TicketAssignedEmailBody=You have been assigned the ticket #%s by %s -MarkMessageAsPrivate=Mark message as private -TicketMessagePrivateHelp=This message will not display to external users -TicketEmailOriginIssuer=Issuer at origin of the tickets -InitialMessage=Initial Message -LinkToAContract=Link to a contract -TicketPleaseSelectAContract=Select a contract -UnableToCreateInterIfNoSocid=Can not create an intervention when no third party is defined -TicketMailExchanges=Mail exchanges -TicketInitialMessageModified=Initial message modified -TicketMessageSuccesfullyUpdated=Message successfully updated -TicketChangeStatus=Change status -TicketConfirmChangeStatus=Confirm the status change: %s ? -TicketLogStatusChanged=Status changed: %s to %s -TicketNotNotifyTiersAtCreate=Not notify company at create -Unread=Unread -TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface. -ErrorTicketRefRequired=Ticket reference name is required +Ticket=Chipta +TicketCard=Chipta kartasi +CreateTicket=Chipta yarating +EditTicket=Chiptani tahrirlash +TicketsManagement=Chiptalarni boshqarish +CreatedBy=Tomonidan yaratilgan +NewTicket=Yangi chipta +SubjectAnswerToTicket=Chipta javobi +TicketTypeRequest=So'rov turi +TicketCategory=Chiptalarni turkumlash +SeeTicket=Chiptani ko'ring +TicketMarkedAsRead=Chipta o'qilgan deb belgilandi +TicketReadOn=O'qing +TicketCloseOn=Tugatish sanasi +MarkAsRead=Chiptani o'qilgan deb belgilang +TicketHistory=Chipta tarixi +AssignUser=Foydalanuvchiga tayinlash +TicketAssigned=Endi chipta tayinlandi +TicketChangeType=Turini o'zgartirish +TicketChangeCategory=Analitik kodni o'zgartiring +TicketChangeSeverity=Zo'ravonlikni o'zgartiring +TicketAddMessage=Xabar qo'shing +AddMessage=Xabar qo'shing +MessageSuccessfullyAdded=Chipta qo'shildi +TicketMessageSuccessfullyAdded=Xabar muvaffaqiyatli qo'shildi +TicketMessagesList=Xatlar ro'yxati +NoMsgForThisTicket=Ushbu chipta uchun xabar yo'q +Properties=Tasnifi +LatestNewTickets=Eng so'nggi %s eng yangi chiptalar (o'qilmaydi) +TicketSeverity=Jiddiylik +ShowTicket=Chiptani ko'ring +RelatedTickets=Tegishli chiptalar +TicketAddIntervention=Aralashuvni yarating +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket +ConfirmCloseAticket=Chipta yopilishini tasdiqlang +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' +ConfirmDeleteTicket=Iltimos, chipta o'chirilishini tasdiqlang +TicketDeletedSuccess=Muvaffaqiyat bilan chipta o'chirildi +TicketMarkedAsClosed=Chipta yopiq deb belgilangan +TicketDurationAuto=Hisoblangan muddat +TicketDurationAutoInfos=Davomiylik bilan bog'liq bo'lgan muddat avtomatik ravishda hisoblab chiqiladi +TicketUpdated=Chipta yangilandi +SendMessageByEmail=Elektron pochta orqali xabar yuboring +TicketNewMessage=Yangi xabar +ErrorMailRecipientIsEmptyForSendTicketMessage=Qabul qiluvchi bo'sh. Elektron pochta xabarlari yo'q +TicketGoIntoContactTab=Ularni tanlash uchun "Kontaktlar" yorlig'iga o'ting +TicketMessageMailIntro=Kirish +TicketMessageMailIntroHelp=Ushbu matn faqat elektron pochta boshida qo'shiladi va saqlanmaydi. +TicketMessageMailIntroLabelAdmin=Elektron pochta xabarlarini yuborishda xabar bilan tanishish +TicketMessageMailIntroText=Salom,
    Siz bog'langan chiptaga yangi javob yuborildi. Mana xabar:
    +TicketMessageMailIntroHelpAdmin=Ushbu matn chiptaga javob matnidan oldin kiritiladi. +TicketMessageMailSignature=Imzo +TicketMessageMailSignatureHelp=Ushbu matn faqat elektron pochta oxirida qo'shiladi va saqlanmaydi. +TicketMessageMailSignatureText=

    Hurmat bilan,

    -

    +TicketMessageMailSignatureLabelAdmin=Javob elektron pochtasining imzosi +TicketMessageMailSignatureHelpAdmin=Ushbu matn javob xabaridan keyin kiritiladi. +TicketMessageHelp=Faqat ushbu matn chipta kartasidagi xabarlar ro'yxatida saqlanadi. +TicketMessageSubstitutionReplacedByGenericValues=O'zgartirish o'zgaruvchilari umumiy qiymatlar bilan almashtiriladi. +TimeElapsedSince=O'shandan beri vaqt o'tgan +TicketTimeToRead=O'qishdan oldin o'tgan vaqt +TicketTimeElapsedBeforeSince=Oldin / keyin o'tgan vaqt +TicketContacts=Aloqa chiptasi +TicketDocumentsLinked=Chipta bilan bog'langan hujjatlar +ConfirmReOpenTicket=Ushbu chipta qayta ochilganligini tasdiqlaysizmi? +TicketMessageMailIntroAutoNewPublicMessage=%s mavzusida chiptada yangi xabar joylashtirildi: +TicketAssignedToYou=Chipta tayinlandi +TicketAssignedEmailBody=Sizga %s tomonidan # %s chiptasi tayinlangan +MarkMessageAsPrivate=Xabarni shaxsiy sifatida belgilash +TicketMessagePrivateHelp=Ushbu xabar tashqi foydalanuvchilarga ko'rsatilmaydi +TicketEmailOriginIssuer=Chiptalarning kelib chiqishi bo'yicha emitent +InitialMessage=Dastlabki xabar +LinkToAContract=Shartnomaga havola +TicketPleaseSelectAContract=Shartnomani tanlang +UnableToCreateInterIfNoSocid=Uchinchi tomon aniqlanmaganida aralashuvni yaratib bo'lmaydi +TicketMailExchanges=Pochta almashinuvi +TicketInitialMessageModified=Dastlabki xabar o'zgartirildi +TicketMessageSuccesfullyUpdated=Xabar muvaffaqiyatli yangilandi +TicketChangeStatus=Vaziyatni o'zgartirish +TicketConfirmChangeStatus=Vaziyat o'zgarishini tasdiqlang: %s? +TicketLogStatusChanged=Holat o'zgartirildi: %s dan %s ga +TicketNotNotifyTiersAtCreate=Yaratganda kompaniyani xabardor qilmang +Unread=O'qilmagan +TicketNotCreatedFromPublicInterface=Mavjud emas. Chipta umumiy interfeysdan yaratilmagan. +ErrorTicketRefRequired=Chipta ma'lumotnomasining nomi talab qilinadi # # Logs # -TicketLogMesgReadBy=Ticket %s read by %s -NoLogForThisTicket=No log for this ticket yet -TicketLogAssignedTo=Ticket %s assigned to %s -TicketLogPropertyChanged=Ticket %s modified: classification from %s to %s -TicketLogClosedBy=Ticket %s closed by %s -TicketLogReopen=Ticket %s re-open +TicketLogMesgReadBy=%s o'qigan %s chiptasi +NoLogForThisTicket=Ushbu chipta uchun jurnal yo'q +TicketLogAssignedTo=%s ga tayinlangan %s chiptasi +TicketLogPropertyChanged=%s chiptasi o'zgartirildi: %s dan %s gacha tasnif +TicketLogClosedBy=%s chiptasi %s tomonidan yopilgan +TicketLogReopen=%s chiptasi qayta ochiladi # # Public pages # -TicketSystem=Ticket system -ShowListTicketWithTrackId=Display ticket list from track ID -ShowTicketWithTrackId=Display ticket from track ID -TicketPublicDesc=You can create a support ticket or check from an existing ID. -YourTicketSuccessfullySaved=Ticket has been successfully saved! -MesgInfosPublicTicketCreatedWithTrackId=A new ticket has been created with ID %s and Ref %s. -PleaseRememberThisId=Please keep the tracking number that we might ask you later. -TicketNewEmailSubject=Ticket creation confirmation - Ref %s (public ticket ID %s) -TicketNewEmailSubjectCustomer=New support ticket -TicketNewEmailBody=This is an automatic email to confirm you have registered a new ticket. -TicketNewEmailBodyCustomer=This is an automatic email to confirm a new ticket has just been created into your account. -TicketNewEmailBodyInfosTicket=Information for monitoring the ticket -TicketNewEmailBodyInfosTrackId=Ticket tracking number: %s -TicketNewEmailBodyInfosTrackUrl=You can view the progress of the ticket by clicking the link above. -TicketNewEmailBodyInfosTrackUrlCustomer=You can view the progress of the ticket in the specific interface by clicking the following link -TicketEmailPleaseDoNotReplyToThisEmail=Please do not reply directly to this email! Use the link to reply into the interface. -TicketPublicInfoCreateTicket=This form allows you to record a support ticket in our management system. -TicketPublicPleaseBeAccuratelyDescribe=Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request. -TicketPublicMsgViewLogIn=Please enter ticket tracking ID -TicketTrackId=Public Tracking ID -OneOfTicketTrackId=One of your tracking ID -ErrorTicketNotFound=Ticket with tracking ID %s not found! -Subject=Subject -ViewTicket=View ticket -ViewMyTicketList=View my ticket list -ErrorEmailMustExistToCreateTicket=Error: email address not found in our database -TicketNewEmailSubjectAdmin=New ticket created - Ref %s (public ticket ID %s) -TicketNewEmailBodyAdmin=

    Ticket has just been created with ID #%s, see information:

    -SeeThisTicketIntomanagementInterface=See ticket in management interface -TicketPublicInterfaceForbidden=The public interface for the tickets was not enabled -ErrorEmailOrTrackingInvalid=Bad value for tracking ID or email -OldUser=Old user -NewUser=New user -NumberOfTicketsByMonth=Number of tickets per month -NbOfTickets=Number of tickets +TicketSystem=Chipta tizimi +ShowListTicketWithTrackId=Track ID-dan chiptalar ro'yxatini ko'rsatish +ShowTicketWithTrackId=Track ID-dan chiptani ko'rsatish +TicketPublicDesc=Siz qo'llab-quvvatlash chiptasini yaratishingiz yoki mavjud bo'lgan identifikatordan tekshirishingiz mumkin. +YourTicketSuccessfullySaved=Chipta muvaffaqiyatli saqlanib qoldi! +MesgInfosPublicTicketCreatedWithTrackId=%s va Ref %s identifikatorlari bilan yangi chipta yaratildi. +PleaseRememberThisId=Iltimos, keyinroq so'rashimiz mumkin bo'lgan kuzatuv raqamini saqlang. +TicketNewEmailSubject=Chiptani yaratishni tasdiqlash - Ref %s (%s jamoat chiptasi identifikatori) +TicketNewEmailSubjectCustomer=Yangi qo'llab-quvvatlash chiptasi +TicketNewEmailBody=Bu yangi chiptani ro'yxatdan o'tkazganingizni tasdiqlovchi avtomatik elektron pochta xabaridir. +TicketNewEmailBodyCustomer=Bu sizning hisobingizda yangi chipta yaratilganligini tasdiqlovchi avtomatik elektron pochta xabaridir. +TicketNewEmailBodyInfosTicket=Chiptani kuzatish uchun ma'lumot +TicketNewEmailBodyInfosTrackId=Chiptalarni kuzatish raqami: %s +TicketNewEmailBodyInfosTrackUrl=Yuqoridagi havolani bosish orqali chipta borishi bilan tanishishingiz mumkin. +TicketNewEmailBodyInfosTrackUrlCustomer=Siz quyidagi havolani bosish orqali ma'lum bir interfeysda chipta borishini ko'rishingiz mumkin +TicketEmailPleaseDoNotReplyToThisEmail=Iltimos, ushbu elektron pochtaga to'g'ridan-to'g'ri javob bermang! Interfeysga javob berish uchun havoladan foydalaning. +TicketPublicInfoCreateTicket=Ushbu shakl sizning boshqaruv tizimimizda qo'llab-quvvatlash chiptasini yozib olishga imkon beradi. +TicketPublicPleaseBeAccuratelyDescribe=Iltimos, muammoni aniq tasvirlab bering. Sizning so'rovingizni to'g'ri aniqlab olishimiz uchun imkon qadar ko'proq ma'lumotlarni taqdim eting. +TicketPublicMsgViewLogIn=Iltimos, chiptani kuzatish guvohnomasini kiriting +TicketTrackId=Ommaviy kuzatuv identifikatori +OneOfTicketTrackId=Kuzatuv identifikatoringizdan biri +ErrorTicketNotFound=%s kuzatuv identifikatori bo'lgan chipta topilmadi! +Subject=Mavzu +ViewTicket=Chiptani ko'rish +ViewMyTicketList=Mening chiptalarim ro'yxatini ko'rish +ErrorEmailMustExistToCreateTicket=Xato: ma'lumotlar bazasida elektron pochta manzili topilmadi +TicketNewEmailSubjectAdmin=Yangi chipta yaratildi - Ref %s (%s jamoat chiptasi identifikatori) +TicketNewEmailBodyAdmin=

    chiptasi # %s ID bilan yaratilgan, ma'lumotga qarang:

    +SeeThisTicketIntomanagementInterface=Boshqaruv interfeysida chiptani ko'ring +TicketPublicInterfaceForbidden=Chiptalar uchun umumiy interfeys yoqilmagan +ErrorEmailOrTrackingInvalid=ID yoki elektron pochtani kuzatish uchun yomon qiymat +OldUser=Eski foydalanuvchi +NewUser=Yangi foydalanuvchi +NumberOfTicketsByMonth=Oyiga chiptalar soni +NbOfTickets=Chiptalar soni # notifications -TicketNotificationEmailSubject=Ticket %s updated -TicketNotificationEmailBody=This is an automatic message to notify you that ticket %s has just been updated -TicketNotificationRecipient=Notification recipient -TicketNotificationLogMessage=Log message -TicketNotificationEmailBodyInfosTrackUrlinternal=View ticket into interface -TicketNotificationNumberEmailSent=Notification email sent: %s +TicketNotificationEmailSubject=%s chiptasi yangilandi +TicketNotificationEmailBody=Bu sizga %s chiptasi yangilanganligi haqida xabar berish uchun avtomatik xabar +TicketNotificationRecipient=Bildirishnoma oluvchi +TicketNotificationLogMessage=Xabar jurnali +TicketNotificationEmailBodyInfosTrackUrlinternal=Interfeysda chiptani ko'rish +TicketNotificationNumberEmailSent=Bildirish xati yuborildi: %s -ActionsOnTicket=Events on ticket +ActionsOnTicket=Chiptadagi tadbirlar # # Boxes # -BoxLastTicket=Latest created tickets -BoxLastTicketDescription=Latest %s created tickets +BoxLastTicket=Oxirgi yaratilgan chiptalar +BoxLastTicketDescription=Oxirgi %s chiptalari yaratildi BoxLastTicketContent= -BoxLastTicketNoRecordedTickets=No recent unread tickets -BoxLastModifiedTicket=Latest modified tickets -BoxLastModifiedTicketDescription=Latest %s modified tickets +BoxLastTicketNoRecordedTickets=Yaqinda o'qilmagan chiptalar yo'q +BoxLastModifiedTicket=Eng so'nggi o'zgartirilgan chiptalar +BoxLastModifiedTicketDescription=Eng so'nggi o'zgartirilgan chiptalar %s BoxLastModifiedTicketContent= -BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxLastModifiedTicketNoRecordedTickets=Yaqinda o'zgartirilgan chiptalar yo'q +BoxTicketType=Ochiq chiptalarni turlari bo'yicha taqsimlash +BoxTicketSeverity=Og'irligi bo'yicha ochiq chiptalar soni +BoxNoTicketSeverity=Hech qanday chiptalar ochilmagan +BoxTicketLastXDays=Oxirgi %s kunlar ichida yangi chiptalar soni +BoxTicketLastXDayswidget = Oxirgi X kunlardagi kunlar bo'yicha yangi chiptalar soni +BoxNoTicketLastXDays=Oxirgi %s kunida yangi chiptalar yo'q +BoxNumberOfTicketByDay=Kuniga yangi chiptalar soni +BoxNewTicketVSClose=Bugungi yangi chiptalar soni va bugungi yopiq chiptalarga nisbatan +TicketCreatedToday=Bugun yaratilgan chipta +TicketClosedToday=Bugun chipta yopildi diff --git a/htdocs/langs/uz_UZ/trips.lang b/htdocs/langs/uz_UZ/trips.lang index e34078e8fc2..4633b882a25 100644 --- a/htdocs/langs/uz_UZ/trips.lang +++ b/htdocs/langs/uz_UZ/trips.lang @@ -1,151 +1,150 @@ # Dolibarr language file - Source file is en_US - trips -ShowExpenseReport=Show expense report -Trips=Expense reports -TripsAndExpenses=Expenses reports -TripsAndExpensesStatistics=Expense reports statistics -TripCard=Expense report card -AddTrip=Create expense report -ListOfTrips=List of expense reports -ListOfFees=List of fees -TypeFees=Types of fees -ShowTrip=Show expense report -NewTrip=New expense report -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports -CompanyVisited=Company/organization visited -FeesKilometersOrAmout=Amount or kilometers -DeleteTrip=Delete expense report -ConfirmDeleteTrip=Are you sure you want to delete this expense report? -ListTripsAndExpenses=List of expense reports -ListToApprove=Waiting for approval -ExpensesArea=Expense reports area -ClassifyRefunded=Classify 'Refunded' -ExpenseReportWaitingForApproval=A new expense report has been submitted for approval -ExpenseReportWaitingForApprovalMessage=A new expense report has been submitted and is waiting for approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportWaitingForReApproval=An expense report has been submitted for re-approval -ExpenseReportWaitingForReApprovalMessage=An expense report has been submitted and is waiting for re-approval.
    The %s, you refused to approve the expense report for this reason: %s.
    A new version has been proposed and waiting for your approval.
    - User: %s
    - Period: %s
    Click here to validate: %s -ExpenseReportApproved=An expense report was approved -ExpenseReportApprovedMessage=The expense report %s was approved.
    - User: %s
    - Approved by: %s
    Click here to show the expense report: %s -ExpenseReportRefused=An expense report was refused +ShowExpenseReport=Xarajatlar hisobotini ko'rsatish +Trips=Xarajatlar bo'yicha hisobotlar +TripsAndExpenses=Xarajatlar to'g'risida hisobotlar +TripsAndExpensesStatistics=Xarajatlar bo'yicha hisobotlar +TripCard=Xarajatlarni hisobga olish kartasi +AddTrip=Xarajatlar to'g'risida hisobot yarating +ListOfTrips=Xarajatlar bo'yicha hisobotlar ro'yxati +ListOfFees=To'lovlar ro'yxati +TypeFees=To'lov turlari +ShowTrip=Xarajatlar hisobotini ko'rsatish +NewTrip=Yangi xarajatlar hisoboti +LastExpenseReports=Oxirgi %s xarajatlar hisoboti +AllExpenseReports=Barcha xarajatlar to'g'risidagi hisobotlar +CompanyVisited=Kompaniya / tashkilot tashrif buyurdi +FeesKilometersOrAmout=Miqdor yoki kilometr +DeleteTrip=Xarajatlar to'g'risidagi hisobotni o'chirish +ConfirmDeleteTrip=Ushbu xarajatlar hisobotini o'chirishni xohlaysizmi? +ListTripsAndExpenses=Xarajatlar bo'yicha hisobotlar ro'yxati +ListToApprove=Tasdiqlashni kutmoqdaman +ExpensesArea=Xarajatlar bo'yicha hisobotlar maydoni +ClassifyRefunded="Qaytarilgan" deb tasniflang +ExpenseReportWaitingForApproval=Tasdiqlash uchun yangi xarajatlar hisoboti taqdim etildi +ExpenseReportWaitingForApprovalMessage=Xarajatlar bo'yicha yangi hisobot taqdim etildi va tasdiqlashni kutmoqda.
    - Foydalanuvchi: %s
    - Davr: %s
    Tasdiqlash uchun shu yerni bosing: %s +ExpenseReportWaitingForReApproval=Xarajatlar to'g'risidagi hisobot qayta tasdiqlash uchun taqdim etildi +ExpenseReportWaitingForReApprovalMessage=Xarajatlar to'g'risidagi hisobot taqdim etildi va qayta tasdiqlashni kutmoqda.
    %s, siz shu sababli xarajatlar hisobotini tasdiqlashdan bosh tortdingiz: %s.
    Yangi versiyasi taklif qilindi va sizning roziligingizni kutmoqda.
    - Foydalanuvchi: %s
    - Davr: %s
    Tasdiqlash uchun shu yerni bosing: %s +ExpenseReportApproved=Xarajatlar to'g'risidagi hisobot tasdiqlandi +ExpenseReportApprovedMessage=%s xarajatlar hisoboti tasdiqlandi.
    - Foydalanuvchi: %s
    - Tasdiqlagan: %s
    Xarajatlar hisobotini ko'rsatish uchun shu yerni bosing: %s +ExpenseReportRefused=Xarajatlar to'g'risidagi hisobot rad etildi ExpenseReportRefusedMessage=The expense report %s was refused.
    - User: %s
    - Refused by: %s
    - Motive for refusal: %s
    Click here to show the expense report: %s -ExpenseReportCanceled=An expense report was canceled +ExpenseReportCanceled=Xarajatlar to'g'risidagi hisobot bekor qilindi ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s
    - Canceled by: %s
    - Motive for cancellation: %s
    Click here to show the expense report: %s -ExpenseReportPaid=An expense report was paid -ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s -TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. -TripSociete=Information company -TripNDF=Informations expense report -PDFStandardExpenseReports=Standard template to generate a PDF document for expense report -ExpenseReportLine=Expense report line -TF_OTHER=Other -TF_TRIP=Transportation -TF_LUNCH=Lunch +ExpenseReportPaid=Xarajatlar to'g'risidagi hisobot to'langan +ExpenseReportPaidMessage=%s xarajatlar hisoboti to'landi.
    - Foydalanuvchi: %s
    - To'langan: %s
    Xarajatlar hisobotini ko'rsatish uchun shu yerni bosing: %s +TripId=Id xarajatlari to'g'risidagi hisobot +AnyOtherInThisListCanValidate=So'rovni tasdiqlash uchun xabardor qilinadigan shaxs. +TripSociete=Axborot kompaniyasi +TripNDF=Axborot xarajatlari to'g'risidagi hisobot +PDFStandardExpenseReports=Xarajatlar hisoboti uchun PDF hujjatini yaratish uchun standart shablon +ExpenseReportLine=Xarajatlar bo'yicha hisobot chizig'i +TF_OTHER=Boshqalar +TF_TRIP=Transport +TF_LUNCH=Tushlik TF_METRO=Metro -TF_TRAIN=Train -TF_BUS=Bus -TF_CAR=Car -TF_PEAGE=Toll -TF_ESSENCE=Fuel -TF_HOTEL=Hotel -TF_TAXI=Taxi -EX_KME=Mileage costs -EX_FUE=Fuel CV -EX_HOT=Hotel -EX_PAR=Parking CV -EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast -EX_FUE_VP=Fuel PV -EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair -DefaultCategoryCar=Default transportation mode -DefaultRangeNumber=Default range number -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' -ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -AucuneLigne=There is no expense report declared yet -ModePaiement=Payment mode -VALIDATOR=User responsible for approval -VALIDOR=Approved by -AUTHOR=Recorded by -AUTHORPAIEMENT=Paid by -REFUSEUR=Denied by -CANCEL_USER=Deleted by -MOTIF_REFUS=Reason -MOTIF_CANCEL=Reason -DATE_REFUS=Deny date -DATE_SAVE=Validation date -DATE_CANCEL=Cancelation date -DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen -ExpenseReportRef=Ref. expense report -ValidateAndSubmit=Validate and submit for approval -ValidatedWaitingApproval=Validated (waiting for approval) -NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. -ConfirmRefuseTrip=Are you sure you want to deny this expense report? -ValideTrip=Approve expense report -ConfirmValideTrip=Are you sure you want to approve this expense report? -PaidTrip=Pay an expense report -ConfirmPaidTrip=Are you sure you want to change status of this expense report to "Paid"? -ConfirmCancelTrip=Are you sure you want to cancel this expense report? -BrouillonnerTrip=Move back expense report to status "Draft" -ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft"? -SaveTrip=Validate expense report -ConfirmSaveTrip=Are you sure you want to validate this expense report? -NoTripsToExportCSV=No expense report to export for this period. -ExpenseReportPayment=Expense report payment -ExpenseReportsToApprove=Expense reports to approve -ExpenseReportsToPay=Expense reports to pay -ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index -ExpenseReportsRules=Expense report rules -ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers -ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report -expenseReportOffset=Offset -expenseReportCoef=Coefficient -expenseReportTotalForFive=Example with d = 5 -expenseReportRangeFromTo=from %d to %d -expenseReportRangeMoreThan=more than %d -expenseReportCoefUndefined=(value not defined) -expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary -expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay -expenseReportPrintExample=offset + (d x coef) = %s -ExpenseReportApplyTo=Apply to -ExpenseReportDomain=Domain to apply -ExpenseReportLimitOn=Limit on -ExpenseReportDateStart=Date start -ExpenseReportDateEnd=Date end -ExpenseReportLimitAmount=Limite amount -ExpenseReportRestrictive=Restrictive -AllExpenseReport=All type of expense report -OnExpense=Expense line -ExpenseReportRuleSave=Expense report rule saved -ExpenseReportRuleErrorOnSave=Error: %s -RangeNum=Range %d -ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s -byEX_DAY=by day (limitation to %s) -byEX_MON=by month (limitation to %s) -byEX_YEA=by year (limitation to %s) -byEX_EXP=by line (limitation to %s) -ExpenseReportConstraintViolationWarning=Constraint violation id [%s]: %s is superior to %s %s -nolimitbyEX_DAY=by day (no limitation) -nolimitbyEX_MON=by month (no limitation) -nolimitbyEX_YEA=by year (no limitation) -nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car -ExpenseRangeOffset=Offset amount: %s -RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the new line to an existing document +TF_TRAIN=Poezd +TF_BUS=Avtobus +TF_CAR=Avtomobil +TF_PEAGE=Yo'l uchun haq +TF_ESSENCE=Yoqilg'i +TF_HOTEL=Mehmonxona +TF_TAXI=Taksi +EX_KME=Kilometr narxi +EX_FUE=Yoqilg'i CV +EX_HOT=Mehmonxona +EX_PAR=Avtoturargohning qisqacha bayoni +EX_TOL=Pulli tarjimai hol +EX_TAX=Turli xil soliqlar +EX_IND=Kompensatsiya transportiga obuna bo'lish +EX_SUM=Ta'minot ta'minoti +EX_SUO=Ofis materiallari +EX_CAR=Avtomobil ijarasi +EX_DOC=Hujjatlar +EX_CUR=Mijozlarni qabul qilish +EX_OTR=Boshqa qabul qilish +EX_POS=Pochta aloqasi +EX_CAM=CV-ga texnik xizmat ko'rsatish va ta'mirlash +EX_EMM=Xodimlarning ovqatlanishi +EX_GUM=Mehmonlar ovqat +EX_BRE=Nonushta +EX_FUE_VP=Yoqilg'i PV +EX_TOL_VP=To'lov PV +EX_PAR_VP=Park PV +EX_CAM_VP=PVga texnik xizmat ko'rsatish va ta'mirlash +DefaultCategoryCar=Standart transport rejimi +DefaultRangeNumber=Standart oraliq raqami +UploadANewFileNow=Hozir yangi hujjatni yuklang +Error_EXPENSEREPORT_ADDON_NotDefined=Xatoliklar, "xarajatlar hisoboti" modulini o'rnatishda xarajatlar hisobotini raqamlash qoidasi aniqlanmadi +ErrorDoubleDeclaration=Shunga o'xshash sana oralig'ida boshqa xarajatlar hisobotini e'lon qildingiz. +AucuneLigne=Hozircha xarajatlar to'g'risida hisobot e'lon qilinmagan +ModePaiement=To'lov rejimi +VALIDATOR=Tasdiqlash uchun javobgar foydalanuvchi +VALIDOR=Tomonidan tasdiqlangan +AUTHOR=Yozib olingan +AUTHORPAIEMENT=To'langan +REFUSEUR=Rad etilgan +CANCEL_USER=O'chirilgan +MOTIF_REFUS=Sabab +MOTIF_CANCEL=Sabab +DATE_REFUS=Sana rad etilsin +DATE_SAVE=Tasdiqlash sanasi +DATE_CANCEL=Bekor qilish sanasi +DATE_PAIEMENT=To'lov sanasi +ExpenseReportRef=Ref. xarajatlar to'g'risidagi hisobot +ValidateAndSubmit=Tasdiqlang va tasdiqlash uchun topshiring +ValidatedWaitingApproval=Tasdiqlangan (tasdiqlashni kutmoqda) +NOT_AUTHOR=Siz ushbu xarajatlar hisobotining muallifi emassiz. Amal bekor qilindi. +ConfirmRefuseTrip=Ushbu xarajatlar hisobotini rad etishni xohlaysizmi? +ValideTrip=Xarajatlar to'g'risidagi hisobotni tasdiqlash +ConfirmValideTrip=Ushbu xarajatlar hisobotini tasdiqlamoqchimisiz? +PaidTrip=Xarajatlar to'g'risidagi hisobotni to'lash +ConfirmPaidTrip=Ushbu xarajatlar hisobotining holatini "Pulli" ga o'zgartirishni xohlaysizmi? +ConfirmCancelTrip=Ushbu xarajatlar hisobotini bekor qilmoqchimisiz? +BrouillonnerTrip=Xarajatlar hisobotini "Qoralama" holatiga o'tkazing +ConfirmBrouillonnerTrip=Ushbu xarajatlar hisobotini "Qoralama" holatiga o'tkazishni xohlaysizmi? +SaveTrip=Xarajatlar to'g'risidagi hisobotni tasdiqlash +ConfirmSaveTrip=Ushbu xarajatlar hisobotini tasdiqlamoqchimisiz? +NoTripsToExportCSV=Ushbu davr uchun eksport uchun xarajatlar hisoboti yo'q. +ExpenseReportPayment=Xarajatlar bo'yicha hisobotni to'lash +ExpenseReportsToApprove=Tasdiqlash uchun xarajatlar hisobotlari +ExpenseReportsToPay=To'lov uchun hisobot +ConfirmCloneExpenseReport=Ushbu xarajatlar hisobotini klonlamoqchimisiz? +ExpenseReportsIk=Kilometr uchun to'lovlarni sozlash +ExpenseReportsRules=Xarajatlarni hisobot qilish qoidalari +ExpenseReportIkDesc=Kilometr sarfini hisob-kitobini toifasi va diapazoni bo'yicha o'zgartirishingiz mumkin. d - kilometrdagi masofa +ExpenseReportRulesDesc=Siz har qanday hisoblash qoidalarini yaratishingiz yoki yangilashingiz mumkin. Ushbu qism foydalanuvchi yangi xarajatlar hisobotini tuzganda ishlatiladi +expenseReportOffset=Ofset +expenseReportCoef=Koeffitsient +expenseReportTotalForFive= d = 5 bilan misol +expenseReportRangeFromTo=%d dan %d gacha +expenseReportRangeMoreThan=%d dan ko'proq +expenseReportCoefUndefined=(qiymat aniqlanmagan) +expenseReportCatDisabled=Kategoriya o'chirilgan - c_exp_tax_cat lug'atiga qarang +expenseReportRangeDisabled=Diapazon o'chirilgan - c_exp_tax_range lug'atiga qarang +expenseReportPrintExample=ofset + (d x koef) = %s +ExpenseReportApplyTo=Murojaat qiling +ExpenseReportDomain=Qo'llash uchun domen +ExpenseReportLimitOn=Cheklov +ExpenseReportDateStart=Sana boshlanishi +ExpenseReportDateEnd=Sana tugashi +ExpenseReportLimitAmount=Cheklangan miqdor +ExpenseReportRestrictive=Cheklovchi +AllExpenseReport=Xarajatlar bo'yicha hisobotning barcha turlari +OnExpense=Xarajatlar liniyasi +ExpenseReportRuleSave=Xarajatlar bo'yicha hisobot qoidalari saqlandi +ExpenseReportRuleErrorOnSave=Xato: %s +RangeNum=%d oralig'i +ExpenseReportConstraintViolationError=Cheklov buzilishi identifikatori [%s]: %s %s %s +byEX_DAY=kun bilan (%s chegarasi) +byEX_MON=oy bo'yicha (%s chegarasi) +byEX_YEA=yil bo'yicha (%s chegarasi) +byEX_EXP=satr bo'yicha (%s chegarasi) +ExpenseReportConstraintViolationWarning=Cheklov buzilishi identifikatori [%s]: %s %s %s +nolimitbyEX_DAY=kunga (cheklovsiz) +nolimitbyEX_MON=oy bo'yicha (cheklovsiz) +nolimitbyEX_YEA=yil bo'yicha (cheklovsiz) +nolimitbyEX_EXP=chiziq bo'yicha (cheklovsiz) +CarCategory=Avtomobillar toifasi +ExpenseRangeOffset=Ofset miqdori: %s +RangeIk=Kilometr oralig'i +AttachTheNewLineToTheDocument=Yuklangan hujjatga qatorni biriktiring diff --git a/htdocs/langs/uz_UZ/users.lang b/htdocs/langs/uz_UZ/users.lang index 372090ea5ad..0ec452f94ac 100644 --- a/htdocs/langs/uz_UZ/users.lang +++ b/htdocs/langs/uz_UZ/users.lang @@ -1,126 +1,126 @@ # Dolibarr language file - Source file is en_US - users -HRMArea=HRM area -UserCard=User card -GroupCard=Group card -Permission=Permission -Permissions=Permissions -EditPassword=Edit password -SendNewPassword=Regenerate and send password +HRMArea=HRM maydoni +UserCard=Foydalanuvchi kartasi +GroupCard=Guruh kartasi +Permission=Ruxsat +Permissions=Ruxsatlar +EditPassword=Parolni tahrirlash +SendNewPassword=Parolni qayta yarating va yuboring SendNewPasswordLink=Send link to reset password -ReinitPassword=Regenerate password -PasswordChangedTo=Password changed to: %s -SubjectNewPassword=Your new password for %s -GroupRights=Group permissions -UserRights=User permissions -Credentials=Credentials -UserGUISetup=User Display Setup -DisableUser=Disable -DisableAUser=Disable a user -DeleteUser=Delete -DeleteAUser=Delete a user -EnableAUser=Enable a user -DeleteGroup=Delete -DeleteAGroup=Delete a group -ConfirmDisableUser=Are you sure you want to disable user %s? -ConfirmDeleteUser=Are you sure you want to delete user %s? -ConfirmDeleteGroup=Are you sure you want to delete group %s? -ConfirmEnableUser=Are you sure you want to enable user %s? -ConfirmReinitPassword=Are you sure you want to generate a new password for user %s? -ConfirmSendNewPassword=Are you sure you want to generate and send new password for user %s? -NewUser=New user -CreateUser=Create user -LoginNotDefined=Login is not defined. -NameNotDefined=Name is not defined. -ListOfUsers=List of users +ReinitPassword=Parolni qayta yarating +PasswordChangedTo=Parol o'zgartirildi: %s +SubjectNewPassword=%s uchun yangi parolingiz +GroupRights=Guruh ruxsatnomalari +UserRights=Foydalanuvchi ruxsatlari +Credentials=Ishonch yorliqlari +UserGUISetup=Foydalanuvchining displeyini sozlash +DisableUser=O'chirish +DisableAUser=Foydalanuvchini o'chirib qo'ying +DeleteUser=O'chirish +DeleteAUser=Foydalanuvchini o'chirish +EnableAUser=Foydalanuvchini yoqish +DeleteGroup=O'chirish +DeleteAGroup=Guruhni o'chirish +ConfirmDisableUser= %s foydalanuvchisini o'chirishni xohlaysizmi? +ConfirmDeleteUser= %s foydalanuvchisini o'chirishni xohlaysizmi? +ConfirmDeleteGroup= %s guruhini o'chirishni xohlaysizmi? +ConfirmEnableUser= %s foydalanuvchisini yoqmoqchimisiz? +ConfirmReinitPassword= %s foydalanuvchisi uchun yangi parol yaratmoqchimisiz? +ConfirmSendNewPassword= %s foydalanuvchisi uchun yangi parolni yaratmoqchi va yuborishni xohlaysizmi? +NewUser=Yangi foydalanuvchi +CreateUser=Foydalanuvchini yarating +LoginNotDefined=Kirish aniqlanmagan. +NameNotDefined=Ism aniqlanmagan. +ListOfUsers=Foydalanuvchilar ro'yxati SuperAdministrator=Super Administrator SuperAdministratorDesc=Global administrator -AdministratorDesc=Administrator -DefaultRights=Default Permissions -DefaultRightsDesc=Define here the default permissions that are automatically granted to a new user (to modify permissions for existing users, go to the user card). -DolibarrUsers=Dolibarr users -LastName=Last name -FirstName=First name -ListOfGroups=List of groups -NewGroup=New group -CreateGroup=Create group -RemoveFromGroup=Remove from group -PasswordChangedAndSentTo=Password changed and sent to %s. -PasswordChangeRequest=Request to change password for %s -PasswordChangeRequestSent=Request to change password for %s sent to %s. -IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. -IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. -ConfirmPasswordReset=Confirm password reset -MenuUsersAndGroups=Users & Groups -LastGroupsCreated=Latest %s groups created -LastUsersCreated=Latest %s users created -ShowGroup=Show group -ShowUser=Show user -NonAffectedUsers=Non assigned users -UserModified=User modified successfully -PhotoFile=Photo file -ListOfUsersInGroup=List of users in this group -ListOfGroupsForUser=List of groups for this user -LinkToCompanyContact=Link to third party / contact -LinkedToDolibarrMember=Link to member -LinkedToDolibarrUser=Link to Dolibarr user -LinkedToDolibarrThirdParty=Link to Dolibarr third party -CreateDolibarrLogin=Create a user -CreateDolibarrThirdParty=Create a third party -LoginAccountDisableInDolibarr=Account disabled in Dolibarr. -UsePersonalValue=Use personal value -InternalUser=Internal user -ExportDataset_user_1=Users and their properties -DomainUser=Domain user %s -Reactivate=Reactivate -CreateInternalUserDesc=This form allows you to create an internal user in your company/organization. To create an external user (customer, vendor etc. ..), use the button 'Create Dolibarr User' from that third-party's contact card. -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. -PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. -Inherited=Inherited -UserWillBe=Created user will be -UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) -UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) -IdPhoneCaller=Id phone caller -NewUserCreated=User %s created -NewUserPassword=Password change for %s -NewPasswordValidated=Your new password have been validated and must be used now to login. -EventUserModified=User %s modified -UserDisabled=User %s disabled -UserEnabled=User %s activated -UserDeleted=User %s removed -NewGroupCreated=Group %s created -GroupModified=Group %s modified -GroupDeleted=Group %s removed -ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact? -ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member? -ConfirmCreateThirdParty=Are you sure you want to create a third party for this member? -LoginToCreate=Login to create -NameToCreate=Name of third party to create -YourRole=Your roles -YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions -DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin -HierarchicalResponsible=Supervisor -HierarchicView=Hierarchical view -UseTypeFieldToChange=Use field Type to change -OpenIDURL=OpenID URL -LoginUsingOpenID=Use OpenID to login -WeeklyHours=Hours worked (per week) -ExpectedWorkedHours=Expected hours worked per week -ColorUser=Color of the user -DisabledInMonoUserMode=Disabled in maintenance mode -UserAccountancyCode=User accounting code -UserLogoff=User logout -UserLogged=User logged -DateOfEmployment=Employment date -DateEmployment=Employment -DateEmploymentstart=Employment Start Date -DateEmploymentEnd=Employment End Date -RangeOfLoginValidity=Access validity date range -CantDisableYourself=You can't disable your own user record -ForceUserExpenseValidator=Force expense report validator -ForceUserHolidayValidator=Force leave request validator -ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. -UserPersonalEmail=Personal email -UserPersonalMobile=Personal mobile phone -WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s +AdministratorDesc=Ma'mur +DefaultRights=Standart ruxsatnomalar +DefaultRightsDesc=Bu erda avtomatik ravishda yangi foydalanuvchisiga beriladigan standart ruxsatnomalarini aniqlang (mavjud foydalanuvchilar uchun ruxsatlarni o'zgartirish uchun foydalanuvchi kartasiga o'ting). +DolibarrUsers=Dolibarr foydalanuvchilari +LastName=Familiya +FirstName=Ism +ListOfGroups=Guruhlar ro'yxati +NewGroup=Yangi guruh +CreateGroup=Guruh yarating +RemoveFromGroup=Guruhdan olib tashlash +PasswordChangedAndSentTo=Parol o'zgartirildi va %s raqamiga yuborildi. +PasswordChangeRequest= %s uchun parolni o'zgartirish haqida so'rov +PasswordChangeRequestSent= %s uchun %s uchun parolni o'zgartirish uchun so'rov. +IfLoginExistPasswordRequestSent=Agar ushbu kirish to'g'ri hisob bo'lsa, parolni tiklash uchun elektron pochta xabarini yuborgan. +IfEmailExistPasswordRequestSent=Agar ushbu elektron pochta manzili haqiqiy hisob bo'lsa, parolni tiklash uchun elektron pochta xabarlari yuborilgan. +ConfirmPasswordReset=Parolni tiklashni tasdiqlang +MenuUsersAndGroups=Foydalanuvchilar va guruhlar +LastGroupsCreated=Eng so'nggi %s guruhlari yaratildi +LastUsersCreated=Oxirgi %s foydalanuvchilari yaratildi +ShowGroup=Guruhni ko'rsatish +ShowUser=Foydalanuvchini ko'rsatish +NonAffectedUsers=Belgilanmagan foydalanuvchilar +UserModified=Foydalanuvchi muvaffaqiyatli o'zgartirildi +PhotoFile=Fotosurat fayli +ListOfUsersInGroup=Ushbu guruhdagi foydalanuvchilar ro'yxati +ListOfGroupsForUser=Ushbu foydalanuvchi uchun guruhlar ro'yxati +LinkToCompanyContact=Uchinchi tomon / kontaktga bog'lanish +LinkedToDolibarrMember=A'zoga havola +LinkedToDolibarrUser=Dolibarr foydalanuvchisiga havola +LinkedToDolibarrThirdParty=Dolibarr uchinchi tomoniga havola +CreateDolibarrLogin=Foydalanuvchini yarating +CreateDolibarrThirdParty=Uchinchi tomonni yarating +LoginAccountDisableInDolibarr=Dolibarr-da hisob o'chirilgan. +UsePersonalValue=Shaxsiy qiymatdan foydalaning +InternalUser=Ichki foydalanuvchi +ExportDataset_user_1=Foydalanuvchilar va ularning xususiyatlari +DomainUser=Domen foydalanuvchisi %s +Reactivate=Qayta faollashtiring +CreateInternalUserDesc=Ushbu shakl sizning kompaniyangiz / tashkilotingizda ichki foydalanuvchi yaratishga imkon beradi. Tashqi foydalanuvchini (mijoz, sotuvchi va boshqalarni) yaratish uchun ushbu uchinchi tomonning aloqa kartasidagi "Dolibarr foydalanuvchisini yaratish" tugmasidan foydalaning. +InternalExternalDesc= ichki foydalanuvchisi - bu sizning kompaniyangiz / tashkilotingiz tarkibiga kiradigan foydalanuvchi yoki sizning kompaniyangiz bilan bog'liq ma'lumotlardan ko'ra ko'proq ma'lumotlarni ko'rishingiz kerak bo'lishi mumkin bo'lgan tashkilotingiz tashqarisidagi sherik foydalanuvchidir (ruxsat berish tizimi u nimani yoki nimani aniqlay oladi ko'rmayapman yoki qilmayman).
    tashqi foydalanuvchisi faqat o'zi bilan bog'liq ma'lumotlarni ko'rishi kerak bo'lgan mijoz, sotuvchi yoki boshqa narsadir (Uchinchi tomon uchun tashqi foydalanuvchini yaratish uchinchi tomonning aloqa yozuvlaridan amalga oshirilishi mumkin).

    Ikkala holatda ham foydalanuvchi uchun zarur bo'lgan xususiyatlarga ruxsat berishingiz kerak. +PermissionInheritedFromAGroup=Ruxsat berilgan, chunki foydalanuvchi guruhlaridan biridan meros bo'lib qolgan. +Inherited=Meros +UserWillBe=Yaratilgan foydalanuvchi bo'ladi +UserWillBeInternalUser=Yaratilgan foydalanuvchi ichki foydalanuvchi bo'ladi (chunki ma'lum bir uchinchi tomon bilan bog'lanmagan) +UserWillBeExternalUser=Yaratilgan foydalanuvchi tashqi foydalanuvchi bo'ladi (chunki ma'lum bir uchinchi tomon bilan bog'langan) +IdPhoneCaller=Telefon raqamini qidiruvchi +NewUserCreated=%s foydalanuvchisi yaratildi +NewUserPassword=%s uchun parolni o'zgartirish +NewPasswordValidated=Sizning yangi parolingiz tasdiqlandi va kirish uchun hozir foydalanish kerak. +EventUserModified=Foydalanuvchi %s o'zgartirilgan +UserDisabled=Foydalanuvchi %s o'chirilgan +UserEnabled=Foydalanuvchi %s faollashtirildi +UserDeleted=Foydalanuvchi %s o'chirildi +NewGroupCreated=%s guruhi yaratildi +GroupModified=Guruh %s o'zgartirilgan +GroupDeleted=%s guruhi olib tashlandi +ConfirmCreateContact=Ushbu kontakt uchun Dolibarr qayd yozuvini yaratishni xohlaysizmi? +ConfirmCreateLogin=Ushbu a'zo uchun Dolibarr qayd yozuvini yaratishni xohlaysizmi? +ConfirmCreateThirdParty=Haqiqatan ham ushbu a'zo uchun uchinchi tomonni yaratmoqchimisiz? +LoginToCreate=Yaratish uchun kirish +NameToCreate=Yaratish uchun uchinchi tomon nomi +YourRole=Sizning rollaringiz +YourQuotaOfUsersIsReached=Faol foydalanuvchilar kvotangizga erishildi! +NbOfUsers=Foydalanuvchilar soni +NbOfPermissions=Ruxsatnomalar soni +DontDowngradeSuperAdmin=Faqat superadmin faqat superadminni pasaytirishi mumkin +HierarchicalResponsible=Nazoratchi +HierarchicView=Ierarxik ko'rinish +UseTypeFieldToChange=O'zgartirish uchun maydon turidan foydalaning +OpenIDURL=OpenID URL manzili +LoginUsingOpenID=Kirish uchun OpenID-dan foydalaning +WeeklyHours=Ishlagan soatlari (haftasiga) +ExpectedWorkedHours=Kutilgan haftada ishlagan soatlari +ColorUser=Foydalanuvchining rangi +DisabledInMonoUserMode=Xizmat ko'rsatish rejimida o'chirilgan +UserAccountancyCode=Foydalanuvchining hisobga olish kodi +UserLogoff=Foydalanuvchidan chiqish +UserLogged=Foydalanuvchi tizimga kirdi +DateOfEmployment=Ishga joylashish sanasi +DateEmployment=Bandlik +DateEmploymentstart=Ishga kirishish sanasi +DateEmploymentEnd=Ishni tugatish sanasi +RangeOfLoginValidity=Kirishning amal qilish muddati +CantDisableYourself=O'zingizning foydalanuvchi yozuvingizni o'chirib qo'yolmaysiz +ForceUserExpenseValidator=Majburiy xarajatlar to'g'risidagi hisobotni tasdiqlovchi +ForceUserHolidayValidator=Majburiy ta'til so'rovini tasdiqlovchi +ValidatorIsSupervisorByDefault=Odatiy bo'lib, tasdiqlovchi foydalanuvchi nazoratchisi hisoblanadi. Ushbu xatti-harakatni saqlash uchun bo'sh joyni saqlang. +UserPersonalEmail=Shaxsiy elektron pochta +UserPersonalMobile=Shaxsiy mobil telefon +WarningNotLangOfInterface=Ogohlantirish, bu foydalanuvchi foydalanadigan asosiy til, u tanlagan interfeys tili emas. Ushbu foydalanuvchi tomonidan ko'rinadigan interfeys tilini o'zgartirish uchun %s yorlig'iga o'ting diff --git a/htdocs/langs/uz_UZ/website.lang b/htdocs/langs/uz_UZ/website.lang index 1e727415ec2..70776346c53 100644 --- a/htdocs/langs/uz_UZ/website.lang +++ b/htdocs/langs/uz_UZ/website.lang @@ -1,147 +1,147 @@ # Dolibarr language file - Source file is en_US - website -Shortname=Code -WebsiteSetupDesc=Create here the websites you wish to use. Then go into menu Websites to edit them. -DeleteWebsite=Delete website -ConfirmDeleteWebsite=Are you sure you want to delete this web site? All its pages and content will also be removed. The files uploaded (like into the medias directory, the ECM module, ...) will remain. -WEBSITE_TYPE_CONTAINER=Type of page/container -WEBSITE_PAGE_EXAMPLE=Web page to use as example -WEBSITE_PAGENAME=Page name/alias -WEBSITE_ALIASALT=Alternative page names/aliases -WEBSITE_ALIASALTDesc=Use here list of other name/aliases so the page can also be accessed using this other names/aliases (for example the old name after renaming the alias to keep backlink on old link/name working). Syntax is:
    alternativename1, alternativename2, ... -WEBSITE_CSS_URL=URL of external CSS file -WEBSITE_CSS_INLINE=CSS file content (common to all pages) -WEBSITE_JS_INLINE=Javascript file content (common to all pages) -WEBSITE_HTML_HEADER=Addition at bottom of HTML Header (common to all pages) -WEBSITE_ROBOT=Robot file (robots.txt) -WEBSITE_HTACCESS=Website .htaccess file -WEBSITE_MANIFEST_JSON=Website manifest.json file -WEBSITE_README=README.md file -WEBSITE_KEYWORDSDesc=Use a comma to separate values -EnterHereLicenseInformation=Enter here meta data or license information to fille a README.md file. if you distribute your website as a template, the file will be included into the temptate package. -HtmlHeaderPage=HTML header (specific to this page only) -PageNameAliasHelp=Name or alias of the page.
    This alias is also used to forge a SEO URL when website is ran from a Virtual host of a Web server (like Apacke, Nginx, ...). Use the button "%s" to edit this alias. -EditTheWebSiteForACommonHeader=Note: If you want to define a personalized header for all pages, edit the header on the site level instead of on the page/container. -MediaFiles=Media library -EditCss=Edit website properties -EditMenu=Edit menu -EditMedias=Edit medias -EditPageMeta=Edit page/container properties -EditInLine=Edit inline -AddWebsite=Add website -Webpage=Web page/container -AddPage=Add page/container -PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. -RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. -SiteDeleted=Web site '%s' deleted -PageContent=Page/Contenair -PageDeleted=Page/Contenair '%s' of website %s deleted -PageAdded=Page/Contenair '%s' added -ViewSiteInNewTab=View site in new tab -ViewPageInNewTab=View page in new tab -SetAsHomePage=Set as Home page -RealURL=Real URL -ViewWebsiteInProduction=View web site using home URLs +Shortname=Kod +WebsiteSetupDesc=Bu erda siz foydalanmoqchi bo'lgan veb-saytlarni yarating. Keyin ularni tahrirlash uchun veb-saytlar menyusiga o'ting. +DeleteWebsite=Veb-saytni o'chirish +ConfirmDeleteWebsite=Ushbu veb-saytni o'chirishni xohlaysizmi? Uning barcha sahifalari va tarkibi ham o'chiriladi. Yuklangan fayllar (masalan, Medlar katalogiga, ECM moduliga, ...) qoladi. +WEBSITE_TYPE_CONTAINER=Sahifa / konteyner turi +WEBSITE_PAGE_EXAMPLE=Misol sifatida foydalanish uchun veb-sahifa +WEBSITE_PAGENAME=Sahifa nomi / taxallusi +WEBSITE_ALIASALT=Muqobil sahifa nomlari / taxalluslari +WEBSITE_ALIASALTDesc=Bu erda boshqa ism / taxalluslar ro'yxatidan foydalaning, shunda sahifaga ushbu boshqa ismlar / taxalluslar yordamida kirish mumkin (masalan, eski havola / ismning ishlashida orqa bog'lanishni saqlab qolish uchun taxallusni o'zgartirgandan keyin eski nom). Sintaksis quyidagicha:
    alternativename1, alternativename2, ... +WEBSITE_CSS_URL=Tashqi CSS-faylning URL manzili +WEBSITE_CSS_INLINE=CSS fayli tarkibi (barcha sahifalar uchun umumiy) +WEBSITE_JS_INLINE=Javascript fayl tarkibi (barcha sahifalar uchun umumiy) +WEBSITE_HTML_HEADER=HTML sarlavhasi ostidagi qo'shimchalar (barcha sahifalar uchun umumiy) +WEBSITE_ROBOT=Robot fayli (robots.txt) +WEBSITE_HTACCESS=Veb-sayt .htaccess fayli +WEBSITE_MANIFEST_JSON=Veb-sayt manifest.json fayli +WEBSITE_README=README.md fayli +WEBSITE_KEYWORDSDesc=Qiymatlarni ajratish uchun verguldan foydalaning +EnterHereLicenseInformation=README.md faylini to'ldirish uchun bu erga meta ma'lumotlar yoki litsenziya ma'lumotlarini kiriting. agar siz veb-saytingizni shablon sifatida tarqatsangiz, fayl vasvasaga solingan paketga kiritiladi. +HtmlHeaderPage=HTML sarlavhasi (faqat ushbu sahifaga xos) +PageNameAliasHelp=Sahifaning nomi yoki taxallusi.
    Ushbu taxallus, shuningdek veb-serverning Virtual xostidan (Apacke, Nginx, ... kabi) veb-sayt ishga tushirilganda, SEO URL-ni yaratish uchun ishlatiladi. Ushbu taxallusni tahrirlash uchun " %s " tugmachasidan foydalaning. +EditTheWebSiteForACommonHeader=Izoh: Agar siz barcha sahifalar uchun moslashtirilgan sarlavhani belgilamoqchi bo'lsangiz, sarlavhani sahifa / konteyner o'rniga sayt darajasida tahrirlang. +MediaFiles=Media kutubxonasi +EditCss=Veb-sayt xususiyatlarini tahrirlash +EditMenu=Tartibga solish menyusi +EditMedias=Medialarni tahrirlash +EditPageMeta=Sahifa / konteyner xususiyatlarini tahrirlash +EditInLine=Inline-ni tahrirlash +AddWebsite=Veb-sayt qo'shish +Webpage=Veb-sahifa / konteyner +AddPage=Sahifa / konteyner qo'shing +PageContainer=Sahifa +PreviewOfSiteNotYetAvailable=Veb-saytingizni oldindan ko'rib chiqish %s hali mavjud emas. Avval siz ' veb-sayt shablonini to'liq import qilishingiz kerak' yoki shunchaki ' sahifa / konteyner qo'shing '. +RequestedPageHasNoContentYet=%s id bilan so'ralgan sahifada hali tarkib yo'q yoki .tpl.php kesh fayli o'chirildi. Buni hal qilish uchun sahifaning tarkibini tahrirlash. +SiteDeleted='%s' veb-sayti o'chirildi +PageContent=Sahifa / Contenair +PageDeleted=%s veb-saytining sahifasi / Contenair '%s' o'chirildi. +PageAdded=Sahifa / Contenair '%s' qo'shildi +ViewSiteInNewTab=Saytni yangi varaqda ko'ring +ViewPageInNewTab=Sahifani yangi varaqda ko'rish +SetAsHomePage=Uy sahifasi sifatida o'rnating +RealURL=Haqiqiy URL +ViewWebsiteInProduction=Uy manzillaridan foydalangan holda veb-saytni ko'ring SetHereVirtualHost=Use with Apache/NGinx/...
    Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
    %s -ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: +ExampleToUseInApacheVirtualHostConfig=Apache virtual xostini o'rnatishda foydalanish uchun misol: YouCanAlsoTestWithPHPS=Use with PHP embedded server
    On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
    php -S 0.0.0.0:8080 -t %s -YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
    If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org +YouCanAlsoDeployToAnotherWHP= Veb-saytingizni boshqa Dolibarr Hosting provayderi bilan boshqaring
    Agar Internetda mavjud bo'lgan Apache yoki NGinx kabi veb-serveringiz bo'lmasa, veb-saytingizni boshqa Dolibarr xost-provayderi tomonidan taqdim etilgan boshqa Dolibarr nusxasi orqali eksport qilishingiz va import qilishingiz mumkin. veb-sayt moduli bilan integratsiya. saytida ba'zi Dolibarr hosting provayderlari ro'yxatini topishingiz mumkin https://saas.dolibarr.org CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s -ReadPerm=Read -WritePerm=Write -TestDeployOnWeb=Test/deploy on web +ReadPerm=O'qing +WritePerm=Yozing +TestDeployOnWeb=Internetda sinov / tarqatish PreviewSiteServedByWebServer=Preview %s in a new tab.

    The %s will be served by an external web server (like Apache, Nginx, IIS). You must install and setup this server before to point to directory:
    %s
    URL served by external server:
    %s -PreviewSiteServedByDolibarr=Preview %s in a new tab.

    The %s will be served by Dolibarr server so it does not need any extra web server (like Apache, Nginx, IIS) to be installed.
    The inconvenient is that the URLs of pages are not user friendly and start with the path of your Dolibarr.
    URL served by Dolibarr:
    %s

    To use your own external web server to serve this web site, create a virtual host on your web server that points on directory
    %s
    then enter the name of this virtual server in the properties of this website and click on the link "Test/Deploy on the web". -VirtualHostUrlNotDefined=URL of the virtual host served by external web server not defined -NoPageYet=No pages yet -YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template -SyntaxHelp=Help on specific syntax tips -YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor. -YouCanEditHtmlSource=
    You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

    You can also include content of another Page/Container with the following syntax:
    <?php includeContainer('alias_of_container_to_include'); ?>

    You can make a redirect to another Page/Container with the following syntax (Note: do not output any content before a redirect):
    <?php redirectToContainer('alias_of_container_to_redirect_to'); ?>

    To add a link to another page, use the syntax:
    <a href="alias_of_page_to_link_to.php">mylink<a>

    To include a link to download a file stored into the documents directory, use the document.php wrapper:
    Example, for a file into documents/ecm (need to be logged), syntax is:
    <a href="/document.php?modulepart=ecm&file=[relative_dir/]filename.ext">
    For a file into documents/medias (open directory for public access), syntax is:
    <a href="/document.php?modulepart=medias&file=[relative_dir/]filename.ext">
    For a file shared with a share link (open access using the sharing hash key of file), syntax is:
    <a href="/document.php?hashp=publicsharekeyoffile">

    To include an image stored into the documents directory, use the viewimage.php wrapper:
    Example, for an image into documents/medias (open directory for public access), syntax is:
    <img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
    +PreviewSiteServedByDolibarr= %s-ni yangi varoqda oldindan ko'rib chiqing.

    %s-ga Dolibarr server tomonidan xizmat ko'rsatiladi, shuning uchun qo'shimcha veb-server (Apache, Nginx, IIS kabi) o'rnatilishi shart emas.
    Noqulay narsa shundaki, sahifalarning URL manzillari foydalanuvchilar uchun qulay emas va Dolibarr-ning yo'lidan boshlanadi.
    URL Dolibarr tomonidan xizmat:
    %s

    , bu veb-sayt xizmat veb-serverda bir virtual mezbon yaratish uchun o'z tashqi veb-server foydalanish uchun, bu katalog ball
    %s
    keyin bu virtual server nomini kiriting ushbu veb-saytning xususiyatlarida va "Internetda sinash / tarqatish" havolasini bosing. +VirtualHostUrlNotDefined=Tashqi veb-server tomonidan xizmat ko'rsatiladigan virtual xost manzili aniqlanmagan +NoPageYet=Hali sahifalar yo'q +YouCanCreatePageOrImportTemplate=Siz yangi sahifa yaratishingiz yoki to'liq veb-sayt shablonini import qilishingiz mumkin +SyntaxHelp=Sintaksis bo'yicha aniq maslahatlar bo'yicha yordam bering +YouCanEditHtmlSourceckeditor=HTML manba kodini tahrirlashdagi "Manba" tugmasi yordamida tahrirlashingiz mumkin. +YouCanEditHtmlSource=
    <? php? > a0a65d teglari yordamida ushbu manbaga PHP kodini qo'shishingiz mumkin. Quyidagi global o'zgaruvchilar mavjud: $ conf, $ db, $ mysoc, $ user, $ website, $ websitepage, $ weblangs, $ pagelangs.

    Siz shuningdek boshqa sahifa / konteyner tarkibini quyidagi sintaksis bilan qo'shishingiz mumkin:
    a_31c_to_of_0_0_b_0_b_0_b_b_0_b_b_0_b_0_b_0_0_b_0_0_06_c46c6c6c6c6c6cb6cbbc0bbc0cbbbc0f3cbbbc0fdbbc0cbbc0cbbbc9cbbbc9cbbc9cbbc0cbbnc ' ? >

    quyidagi sintaksisi rang bilan boshqa sahifa / konteyner uchun yo'naltirishni qilish mumkin (Eslatma: ishlab chiqarish yo'riq oldin, har qanday mazmun, albatta):?
    < php redirectToContainer ( 'alias_of_container_to_redirect_to'); ? hujjatlar ichiga saqlangan fayl yuklab uchun link o'z ichiga uchun
    <a href = "alias_of_page_to_link_to.php" >mylink<a>

    : >


    sintaksisi foydalanishingiz, boshqa sahifaga bilan bog'lanish qo'shish uchun
    katalog, document.php jild foydalanish: hujjatlar / ECM'de bir fayl uchun,
    misol (ehtiyoj identifikatsiyadan kerak), sintaksisi:?
    <a href = "/ document.php modulepart = ecm & fayl = [relative_dir / ] filename.ext ">
    Hujjatlar / mediyadagi fayl (umumiy foydalanish uchun ochiq katalog) uchun sintaksis:
    a039zd7 "/document.php?modulepart=medias&file=(relative_dir/ assignedfilename.ext">
    Sharing havolasi bilan birgalikda foydalaniladigan fayl uchun (ochiq fayl kirish h0904f097). /document.php?hashp=publicsharekeyoffile">


    Direktoriyaning
    hujjatlar ichiga saqlangan bir tasvir , viewimage.php jild foydalanishni o'z ichiga oladi: ochiq hujjatlar / medias yuzasidan tasvir uchun,
    misoli ( umumiy foydalanish uchun sintaksis:
    <img src = "/ viewimage.php? modulepart = medias&file = [relat_dir / ]00f07006" #YouCanEditHtmlSource2=
    To include a image shared publicaly, use the viewimage.php wrapper:
    Example with a shared key 123456789, syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:
    <img src="/viewimage.php?hashp=12345679012...">
    -YouCanEditHtmlSourceMore=
    More examples of HTML or dynamic code available on the wiki documentation
    . -ClonePage=Clone page/container -CloneSite=Clone site -SiteAdded=Website added -ConfirmClonePage=Please enter code/alias of new page and if it is a translation of the cloned page. -PageIsANewTranslation=The new page is a translation of the current page ? -LanguageMustNotBeSameThanClonedPage=You clone a page as a translation. The language of the new page must be different than language of source page. -ParentPageId=Parent page ID -WebsiteId=Website ID -CreateByFetchingExternalPage=Create page/container by fetching page from external URL... -OrEnterPageInfoManually=Or create page from scratch or from a page template... -FetchAndCreate=Fetch and Create -ExportSite=Export website -ImportSite=Import website template -IDOfPage=Id of page +YouCanEditHtmlSource2=Almashish havolasi bilan birgalikda foydalaniladigan rasm uchun (faylning umumiy xesh tugmachasidan foydalangan holda ochiq kirish) sintaksis quyidagicha:
    <img src = "/ viewimage.php? Hashp = 12345679012 ..." a0012c7dff0a0z0z00090f0f08a0f09a0f09a09a09cb08a0a09a03c09a03c09c9c9c9c9c9c08f96f96f9f08f08f0f9fdf9fdfdfdfc7fd +YouCanEditHtmlSourceMore=
    -da mavjud bo'lgan HTML yoki dinamik kodlarning boshqa misollari,
    . +ClonePage=Sahifani / konteynerni klonlash +CloneSite=Klon sayti +SiteAdded=Veb-sayt qo'shildi +ConfirmClonePage=Iltimos, yangi sahifaning kodini / taxallusini kiriting va agar u klonlangan sahifaning tarjimasi bo'lsa. +PageIsANewTranslation=Yangi sahifa joriy sahifaning tarjimasimi? +LanguageMustNotBeSameThanClonedPage=Siz sahifani tarjima sifatida klonlashtirasiz. Yangi sahifaning tili manba sahifasidan farq qilishi kerak. +ParentPageId=Asosiy sahifa identifikatori +WebsiteId=Veb-sayt identifikatori +CreateByFetchingExternalPage=Tashqi URL manzilidan sahifani olib, sahifa / konteyner yarating ... +OrEnterPageInfoManually=Yoki sahifani noldan yoki sahifa shablonidan yarating ... +FetchAndCreate=Olish va yaratish +ExportSite=Veb-saytni eksport qilish +ImportSite=Veb-sayt shablonini import qilish +IDOfPage=Sahifaning identifikatori Banner=Banner BlogPost=Blog post -WebsiteAccount=Website account -WebsiteAccounts=Website accounts -AddWebsiteAccount=Create web site account -BackToListForThirdParty=Back to list for the third-party -DisableSiteFirst=Disable website first -MyContainerTitle=My web site title -AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) -SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later... -WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table -WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party -YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
    Note also that the inline editor may not works correclty when used on a grabbed external page. -OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site -GrabImagesInto=Grab also images found into css and page. -ImagesShouldBeSavedInto=Images should be saved into directory -WebsiteRootOfImages=Root directory for website images -SubdirOfPage=Sub-directory dedicated to page -AliasPageAlreadyExists=Alias page %s already exists -CorporateHomePage=Corporate Home page -EmptyPage=Empty page -ExternalURLMustStartWithHttp=External URL must start with http:// or https:// -ZipOfWebsitePackageToImport=Upload the Zip file of the website template package -ZipOfWebsitePackageToLoad=or Choose an available embedded website template package -ShowSubcontainers=Show dynamic content -InternalURLOfPage=Internal URL of page -ThisPageIsTranslationOf=This page/container is a translation of -ThisPageHasTranslationPages=This page/container has translation -NoWebSiteCreateOneFirst=No website has been created yet. Create one first. -GoTo=Go to -DynamicPHPCodeContainsAForbiddenInstruction=You add dynamic PHP code that contains the PHP instruction '%s' that is forbidden by default as dynamic content (see hidden options WEBSITE_PHP_ALLOW_xxx to increase list of allowed commands). -NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynamic content in websites. Ask permission or just keep code into php tags unmodified. -ReplaceWebsiteContent=Search or Replace website content -DeleteAlsoJs=Delete also all javascript files specific to this website? -DeleteAlsoMedias=Delete also all medias files specific to this website? -MyWebsitePages=My website pages -SearchReplaceInto=Search | Replace into -ReplaceString=New string -CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:

    #mycssselector, input.myclass:hover { ... }
    must be
    .bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }

    Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere. -LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page. -Dynamiccontent=Sample of a page with dynamic content -ImportSite=Import website template -EditInLineOnOff=Mode 'Edit inline' is %s -ShowSubContainersOnOff=Mode to execute 'dynamic content' is %s -GlobalCSSorJS=Global CSS/JS/Header file of web site -BackToHomePage=Back to home page... -TranslationLinks=Translation links -YouTryToAccessToAFileThatIsNotAWebsitePage=You try to access to a page that is not available.
    (ref=%s, type=%s, status=%s) -UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters -MainLanguage=Main language -OtherLanguages=Other languages -UseManifest=Provide a manifest.json file -PublicAuthorAlias=Public author alias -AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties -ReplacementDoneInXPages=Replacement done in %s pages or containers -RSSFeed=RSS Feed -RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL -PagesRegenerated=%s page(s)/container(s) regenerated -RegenerateWebsiteContent=Regenerate web site cache files -AllowedInFrames=Allowed in Frames -DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated -ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +WebsiteAccount=Veb-sayt qayd yozuvi +WebsiteAccounts=Veb-sayt qayd yozuvlari +AddWebsiteAccount=Veb-sayt qayd yozuvini yarating +BackToListForThirdParty=Uchinchi tomon ro'yxatiga qaytish +DisableSiteFirst=Avval veb-saytni o'chirib qo'ying +MyContainerTitle=Mening veb-saytim nomi +AnotherContainer=Boshqa sahifa / konteyner tarkibini qanday kiritish kerak (agar siz ichki kodni yoqsangiz, dinamik kodni yoqsangiz, bu erda sizda xato bo'lishi mumkin) +SorryWebsiteIsCurrentlyOffLine=Kechirasiz, ushbu veb-sayt hozirda o'chirilgan. Iltimos, keyinroq qaytib keling ... +WEBSITE_USE_WEBSITE_ACCOUNTS=Veb-sayt hisob jadvalini yoqing +WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Har bir veb-sayt / uchinchi tomon uchun veb-sayt qayd yozuvlarini (kirish / o'tish) saqlash uchun jadvalni yoqing +YouMustDefineTheHomePage=Avval standart uy sahifasini belgilashingiz kerak +OnlyEditionOfSourceForGrabbedContentFuture=Ogohlantirish: Tashqi veb-sahifani import qilish orqali veb-sahifa yaratish tajribali foydalanuvchilar uchun saqlanadi. Manba sahifasining murakkabligiga qarab, import natijasi asl nusxadan farq qilishi mumkin. Shuningdek, agar manba sahifasida odatiy CSS uslublari yoki ziddiyatli javascriptlardan foydalanilsa, u ushbu sahifada ishlash paytida veb-sayt muharriri ko'rinishini yoki xususiyatlarini buzishi mumkin. Ushbu usul sahifani yaratishning tezroq usuli hisoblanadi, ammo yangi sahifangizni noldan yoki tavsiya etilgan sahifa shablonidan yaratish tavsiya etiladi.
    Shuni ham ta'kidlash kerakki, ichki muharrir olingan tashqi sahifada ishlatilganda to'g'rilanishi mumkin emas. +OnlyEditionOfSourceForGrabbedContent=Tashqi saytdan tarkib topilganda faqat HTML manbasini nashr qilish mumkin +GrabImagesInto=CSS va sahifada joylashgan rasmlarni ham oling. +ImagesShouldBeSavedInto=Rasmlar katalogga saqlanishi kerak +WebsiteRootOfImages=Veb-sayt rasmlari uchun ildiz katalogi +SubdirOfPage=Sahifaga bag'ishlangan pastki katalog +AliasPageAlreadyExists=Taxalluslar sahifasi %s allaqachon mavjud +CorporateHomePage=Korporativ uy sahifasi +EmptyPage=Sahifa bo'sh +ExternalURLMustStartWithHttp=Tashqi URL http: // yoki https: // bilan boshlanishi kerak. +ZipOfWebsitePackageToImport=Veb-sayt shablonlari to'plamining Zip faylini yuklang +ZipOfWebsitePackageToLoad=yoki mavjud veb-sayt shablonini tanlang +ShowSubcontainers=Dinamik tarkibni ko'rsatish +InternalURLOfPage=Sahifaning ichki URL manzili +ThisPageIsTranslationOf=Ushbu sahifa / konteynerning tarjimasi +ThisPageHasTranslationPages=Ushbu sahifa / konteynerning tarjimasi mavjud +NoWebSiteCreateOneFirst=Hech qanday veb-sayt yaratilmagan. Avval yarating. +GoTo=Boring +DynamicPHPCodeContainsAForbiddenInstruction=Siz sukut bo'yicha dinamik tarkib sifatida taqiqlangan ' %s ' PHP yo'riqnomasini o'z ichiga olgan dinamik PHP kodini qo'shasiz (ruxsat berilgan buyruqlar ro'yxatini oshirish uchun WEBSITE_PHP_ALLOW_xxx yashirin variantlarini ko'ring). +NotAllowedToAddDynamicContent=Veb-saytlarga PHP dinamik tarkibini qo'shish yoki tahrirlash huquqiga ega emassiz. Ruxsat so'rang yoki kodni php teglariga o'zgartirmasdan saqlang. +ReplaceWebsiteContent=Veb-sayt tarkibini qidirish yoki almashtirish +DeleteAlsoJs=Ushbu veb-saytga tegishli barcha javascript fayllari o'chirilsinmi? +DeleteAlsoMedias=Ushbu veb-saytga tegishli barcha media fayllari ham o'chirilsinmi? +MyWebsitePages=Mening veb-sahifalarim +SearchReplaceInto=Qidiruv | Ichiga almashtiring +ReplaceString=Yangi mag'lubiyat +CSSContentTooltipHelp=Bu erga CSS tarkibini kiriting. Ilovaning CSS bilan ziddiyatni oldini olish uchun barcha deklaratsiyani .bodywebsite sinfi bilan oldindan belgilab qo'ying. Masalan:

    #mycssselector, input.myclass: hover {...}

    bo'lishi kerak .bodywebsite #mycssselector, .bodywebsite input.mf190: hoff000 ushbu prefiksni .bodywebsite prefiksini hamma joyda qo'shish uchun "lessc" dan foydalanishingiz mumkin. +LinkAndScriptsHereAreNotLoadedInEditor=Ogohlantirish: Ushbu tarkib faqat saytga serverdan kirganda chiqariladi. U tahrirlash rejimida ishlatilmaydi, shuning uchun javascript fayllarini tahrirlash rejimida yuklashingiz kerak bo'lsa, sahifangizga 'script src = ...' tegini qo'shishingiz kifoya. +Dynamiccontent=Dinamik tarkibga ega sahifaning namunasi +ImportSite=Veb-sayt shablonini import qilish +EditInLineOnOff="Inline-ni tahrirlash" rejimi %s +ShowSubContainersOnOff="Dinamik tarkib" ni bajarish tartibi %s +GlobalCSSorJS=Veb-saytning global CSS / JS / Header fayli +BackToHomePage=Uy sahifasiga qaytish ... +TranslationLinks=Tarjima havolalari +YouTryToAccessToAFileThatIsNotAWebsitePage=Siz mavjud bo'lmagan sahifaga kirishga harakat qilasiz.
    (ref = %s, type = %s, status = %s) +UseTextBetween5And70Chars=Yaxshi SEO amaliyoti uchun 5 dan 70 gacha belgidan foydalaning +MainLanguage=Asosiy til +OtherLanguages=Boshqa tillar +UseManifest=Manifest.json faylini taqdim eting +PublicAuthorAlias=Ommaviy muallif taxallusi +AvailableLanguagesAreDefinedIntoWebsiteProperties=Mavjud tillar veb-sayt xususiyatlariga qarab belgilanadi +ReplacementDoneInXPages=%s sahifalarida yoki konteynerlarda almashtirish +RSSFeed=RSS tasmasi +RSSFeedDesc=Siz ushbu blog yordamida "blogpost" turidagi so'nggi maqolalarning RSS tasmasini olishingiz mumkin +PagesRegenerated=%s sahifa / lar / qayta tiklangan konteyner (lar) +RegenerateWebsiteContent=Veb-sayt kesh fayllarini qayta yarating +AllowedInFrames=Kadrlarda ruxsat berilgan +DefineListOfAltLanguagesInWebsiteProperties=Barcha mavjud tillarning ro'yxatini veb-sayt xususiyatlariga aniqlang. +GenerateSitemaps=Veb-sayt sayt xaritasi faylini yarating +ConfirmGenerateSitemaps=Agar siz tasdiqlasangiz, mavjud sayt xaritasi faylini o'chirib tashlaysiz ... +ConfirmSitemapsCreation=Sayt xaritasini yaratishni tasdiqlang +SitemapGenerated=Sayt xaritasi fayli %s +ImportFavicon=Favikon +ErrorFaviconType=Favicon png bo'lishi kerak +ErrorFaviconSize=Favikon hajmi 16x16, 32x32 yoki 64x64 bo'lishi kerak +FaviconTooltip=Png (16x16, 32x32 yoki 64x64) bo'lishi kerak bo'lgan rasmni yuklang diff --git a/htdocs/langs/uz_UZ/withdrawals.lang b/htdocs/langs/uz_UZ/withdrawals.lang index 059b3451c11..d77bdacdc08 100644 --- a/htdocs/langs/uz_UZ/withdrawals.lang +++ b/htdocs/langs/uz_UZ/withdrawals.lang @@ -1,152 +1,152 @@ # Dolibarr language file - Source file is en_US - withdrawals -CustomersStandingOrdersArea=Payments by Direct debit orders -SuppliersStandingOrdersArea=Payments by Credit transfer -StandingOrdersPayment=Direct debit payment orders -StandingOrderPayment=Direct debit payment order -NewStandingOrder=New direct debit order -NewPaymentByBankTransfer=New payment by credit transfer -StandingOrderToProcess=To process -PaymentByBankTransferReceipts=Credit transfer orders -PaymentByBankTransferLines=Credit transfer order lines -WithdrawalsReceipts=Direct debit orders -WithdrawalReceipt=Direct debit order -BankTransferReceipts=Credit transfer orders -BankTransferReceipt=Credit transfer order -LatestBankTransferReceipts=Latest %s credit transfer orders -LastWithdrawalReceipts=Latest %s direct debit files -WithdrawalsLine=Direct debit order line -CreditTransferLine=Credit transfer line -WithdrawalsLines=Direct debit order lines -CreditTransferLines=Credit transfer lines -RequestStandingOrderToTreat=Requests for direct debit payment order to process -RequestStandingOrderTreated=Requests for direct debit payment order processed -RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process -RequestPaymentsByBankTransferTreated=Requests for credit transfer processed -NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. -NbOfInvoiceToWithdraw=No. of qualified customer invoices with waiting direct debit order -NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information -NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer -SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer -InvoiceWaitingWithdraw=Invoice waiting for direct debit -InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer -AmountToWithdraw=Amount to withdraw -NoInvoiceToWithdraw=No invoice open for '%s' is waiting. Go on tab '%s' on invoice card to make a request. -NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. -ResponsibleUser=User Responsible -WithdrawalsSetup=Direct debit payment setup -CreditTransferSetup=Credit transfer setup -WithdrawStatistics=Direct debit payment statistics -CreditTransferStatistics=Credit transfer statistics -Rejects=Rejects -LastWithdrawalReceipt=Latest %s direct debit receipts -MakeWithdrawRequest=Make a direct debit payment request -MakeBankTransferOrder=Make a credit transfer request -WithdrawRequestsDone=%s direct debit payment requests recorded -BankTransferRequestsDone=%s credit transfer requests recorded -ThirdPartyBankCode=Third-party bank code -NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. -ClassCredited=Classify credited -ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? -TransData=Transmission date -TransMetod=Transmission method -Send=Send -Lines=Lines -StandingOrderReject=Issue a rejection -WithdrawsRefused=Direct debit refused -WithdrawalRefused=Withdrawal refused -CreditTransfersRefused=Credit transfers refused -WithdrawalRefusedConfirm=Are you sure you want to enter a withdrawal rejection for society -RefusedData=Date of rejection -RefusedReason=Reason for rejection -RefusedInvoicing=Billing the rejection -NoInvoiceRefused=Do not charge the rejection -InvoiceRefused=Invoice refused (Charge the rejection to customer) -StatusDebitCredit=Status debit/credit -StatusWaiting=Waiting -StatusTrans=Sent -StatusDebited=Debited -StatusCredited=Credited -StatusPaid=Paid -StatusRefused=Refused -StatusMotif0=Unspecified -StatusMotif1=Insufficient funds -StatusMotif2=Request contested -StatusMotif3=No direct debit payment order -StatusMotif4=Sales Order -StatusMotif5=RIB unusable -StatusMotif6=Account without balance -StatusMotif7=Judicial Decision -StatusMotif8=Other reason -CreateForSepaFRST=Create direct debit file (SEPA FRST) -CreateForSepaRCUR=Create direct debit file (SEPA RCUR) -CreateAll=Create direct debit file (all) -CreateFileForPaymentByBankTransfer=Create file for credit transfer -CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) -CreateGuichet=Only office -CreateBanque=Only bank -OrderWaiting=Waiting for treatment -NotifyTransmision=Record file transmission of order -NotifyCredit=Record credit of order -NumeroNationalEmetter=National Transmitter Number -WithBankUsingRIB=For bank accounts using RIB -WithBankUsingBANBIC=For bank accounts using IBAN/BIC/SWIFT -BankToReceiveWithdraw=Receiving Bank Account -BankToPayCreditTransfer=Bank Account used as source of payments -CreditDate=Credit on -WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) -ShowWithdraw=Show Direct Debit Order -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one direct debit payment order not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -WithdrawalFile=Debit order file -CreditTransferFile=Credit transfer file -SetToStatusSent=Set to status "File Sent" -ThisWillAlsoAddPaymentOnInvoice=This will also record payments on invoices and will classify them as "Paid" if remain to pay is null -StatisticsByLineStatus=Statistics by status of lines +CustomersStandingOrdersArea=To'g'ridan-to'g'ri debet buyurtmalari bo'yicha to'lovlar +SuppliersStandingOrdersArea=Kredit o'tkazish yo'li bilan to'lovlar +StandingOrdersPayment=To'g'ridan-to'g'ri debet bo'yicha to'lov topshiriqlari +StandingOrderPayment=To'g'ridan-to'g'ri debet to'lovi buyurtmasi +NewStandingOrder=To'g'ridan-to'g'ri debet bo'yicha yangi buyurtma +NewPaymentByBankTransfer=Kredit o'tkazish yo'li bilan yangi to'lov +StandingOrderToProcess=Qayta ishlash uchun +PaymentByBankTransferReceipts=Kredit o'tkazish bo'yicha buyurtmalar +PaymentByBankTransferLines=Kredit o'tkazish bo'yicha buyurtma liniyalari +WithdrawalsReceipts=To'g'ridan-to'g'ri debet buyurtmalari +WithdrawalReceipt=To'g'ridan-to'g'ri debet buyurtmasi +BankTransferReceipts=Kredit o'tkazish bo'yicha buyurtmalar +BankTransferReceipt=Kredit o'tkazish tartibi +LatestBankTransferReceipts=Kredit o'tkazish bo'yicha so'nggi buyurtmalar %s +LastWithdrawalReceipts=Oxirgi %s to'g'ridan-to'g'ri debet fayllari +WithdrawalsLine=To'g'ridan-to'g'ri debet buyurtmasi liniyasi +CreditTransferLine=Kredit o'tkazish liniyasi +WithdrawalsLines=To'g'ridan-to'g'ri debet buyurtma liniyalari +CreditTransferLines=Kredit o'tkazish liniyalari +RequestStandingOrderToTreat=To'g'ridan-to'g'ri debet to'lovlarini qayta ishlash uchun buyurtmalar +RequestStandingOrderTreated=To'g'ridan-to'g'ri debet to'lovi bo'yicha so'rovlar ko'rib chiqildi +RequestPaymentsByBankTransferToTreat=Kreditni qayta ishlashga o'tkazish to'g'risida so'rovlar +RequestPaymentsByBankTransferTreated=Kredit o'tkazish bo'yicha so'rovlar ko'rib chiqildi +NotPossibleForThisStatusOfWithdrawReceiptORLine=Hozircha mumkin emas. Muayyan qatorlarda rad etish to'g'risida e'lon qilishdan oldin pulni qaytarib olish holati "hisobga olingan" deb belgilanishi kerak. +NbOfInvoiceToWithdraw=To'g'ridan-to'g'ri debet buyurtmasini kutayotgan malakali mijozlarning hisob-fakturalari soni +NbOfInvoiceToWithdrawWithInfo=Bank hisobvarag'i to'g'risidagi ma'lumotlarga ega bo'lgan to'g'ridan-to'g'ri debetli to'lov topshiriqlari bilan mijozlar hisobvarag'ining raqami +NbOfInvoiceToPayByBankTransfer=Kredit o'tkazmasi orqali to'lovni kutayotgan malakali etkazib beruvchilarning hisob-fakturalari soni +SupplierInvoiceWaitingWithdraw=Kredit o'tkazmasi orqali to'lovni kutayotgan sotuvchi hisob-fakturasi +InvoiceWaitingWithdraw=To'lov debetini kutayotgan hisob-faktura +InvoiceWaitingPaymentByBankTransfer=Kredit o'tkazilishini kutayotgan hisob-faktura +AmountToWithdraw=Chiqish uchun mablag ' +NoInvoiceToWithdraw="%s" uchun hech qanday hisob-faktura kutilmaydi. So'rov yuborish uchun faktura kartasidagi '%s' yorlig'iga o'ting. +NoSupplierInvoiceToWithdraw="To'g'ridan-to'g'ri kredit so'rovlari" bo'lgan etkazib beruvchilarning hech qanday schyoti kutilmaydi. So'rov yuborish uchun faktura kartasidagi '%s' yorlig'iga o'ting. +ResponsibleUser=Foydalanuvchi uchun javobgar +WithdrawalsSetup=To'g'ridan-to'g'ri debet to'lovini sozlash +CreditTransferSetup=Kredit o'tkazmalarini sozlash +WithdrawStatistics=To'g'ridan-to'g'ri debet to'lovlari statistikasi +CreditTransferStatistics=Kredit o'tkazmalari statistikasi +Rejects=Rad etadi +LastWithdrawalReceipt=Oxirgi %s to'g'ridan-to'g'ri debet tushumlari +MakeWithdrawRequest=To'g'ridan-to'g'ri debetni to'lash to'g'risida so'rov yuboring +MakeBankTransferOrder=Kredit o'tkazish to'g'risida so'rov yuboring +WithdrawRequestsDone=%s to'g'ridan-to'g'ri debet to'lovi bo'yicha so'rovlar yozib olindi +BankTransferRequestsDone=%s kredit o'tkazish bo'yicha so'rovlar yozib olindi +ThirdPartyBankCode=Uchinchi tomonning bank kodi +NoInvoiceCouldBeWithdrawed=Hech qanday schyot-faktura muvaffaqiyatli hisobdan chiqarilmagan. Hisob-kitoblarning amaldagi IBANga ega kompaniyalarda ekanligini va IBAN-da %s rejimida UMR (noyob mandat ma'lumotnomasi) mavjudligini tekshiring. +WithdrawalCantBeCreditedTwice=Ushbu pulni qaytarib olish kvitansiyasi allaqachon kreditlangan deb belgilangan; buni ikki marta bajarish mumkin emas, chunki bu takroriy to'lovlar va bank yozuvlarini yaratishi mumkin. +ClassCredited=Tasniflangan kredit +ClassCreditedConfirm=Ushbu olib qo'yilgan kvitansiyani sizning bank hisob raqamingizga kiritilgan deb tasniflashni xohlaganingizga ishonchingiz komilmi? +TransData=Etkazish sanasi +TransMetod=Uzatish usuli +Send=Yuborish +Lines=Chiziqlar +StandingOrderReject=Rad etish to'g'risida xabar bering +WithdrawsRefused=To'g'ridan-to'g'ri debet rad etildi +WithdrawalRefused=Cheklov rad etildi +CreditTransfersRefused=Kredit o'tkazmalari rad etildi +WithdrawalRefusedConfirm=Jamiyat uchun pulni rad etishni xohlaganingizga aminmisiz +RefusedData=Rad etilgan sana +RefusedReason=Rad etish sababi +RefusedInvoicing=Rad etish uchun hisob-kitob +NoInvoiceRefused=Rad etishni talab qilmang +InvoiceRefused=Hisob-faktura rad etildi (rad etish mijozga etkaziladi) +StatusDebitCredit=Holati debet / kredit +StatusWaiting=Kutish +StatusTrans=Yuborildi +StatusDebited=Debet qilingan +StatusCredited=Kreditlangan +StatusPaid=To'langan +StatusRefused=Rad etildi +StatusMotif0=Belgilanmagan +StatusMotif1=Mablag'lar etishmayapti +StatusMotif2=Talab bahsli +StatusMotif3=To'g'ridan-to'g'ri debet to'lovi buyurtmasi yo'q +StatusMotif4=Sotish tartibi +StatusMotif5=RIB yaroqsiz +StatusMotif6=Balanssiz hisob +StatusMotif7=Sud qarori +StatusMotif8=Boshqa sabab +CreateForSepaFRST=To'g'ridan-to'g'ri debet faylini yaratish (SEPA FRST) +CreateForSepaRCUR=To'g'ridan-to'g'ri debet faylini yaratish (SEPA RCUR) +CreateAll=To'g'ridan-to'g'ri debet faylini yaratish (barchasi) +CreateFileForPaymentByBankTransfer=Kredit o'tkazish uchun fayl yarating +CreateSepaFileForPaymentByBankTransfer=Kredit o'tkazish faylini yarating (SEPA) +CreateGuichet=Faqat ofis +CreateBanque=Faqat bank +OrderWaiting=Davolashni kutish +NotifyTransmision=Buyurtmaning fayl uzatilishini yozib oling +NotifyCredit=Buyurtmaning rekord krediti +NumeroNationalEmetter=Milliy transmitter raqami +WithBankUsingRIB=RIB-dan foydalangan holda bank hisobvaraqlari uchun +WithBankUsingBANBIC=IBAN / BIC / SWIFT-dan foydalangan holda bank hisobvaraqlari uchun +BankToReceiveWithdraw=Bank hisobvarag'ini olish +BankToPayCreditTransfer=To'lov manbai sifatida foydalaniladigan bank hisobvarag'i +CreditDate=Kredit bo'yicha +WithdrawalFileNotCapable=%s mamlakatingiz uchun pul olish kvitansiyasini yaratib bo'lmadi (Sizning mamlakatingiz qo'llab-quvvatlanmaydi) +ShowWithdraw=To'g'ridan-to'g'ri debet buyurtmasini ko'rsatish +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Biroq, agar hisob-fakturada hali kamida bitta to'g'ridan-to'g'ri debet to'lovi buyurtmasi qayta ishlanmagan bo'lsa, uni oldindan olib qo'yishni boshqarish uchun to'lov sifatida o'rnatilmaydi. +DoStandingOrdersBeforePayments=Ushbu yorliq to'g'ridan-to'g'ri debet to'lovi buyurtmasini talab qilishga imkon beradi. Amalga oshirilgandan so'ng to'g'ridan-to'g'ri debet buyurtmasini yaratish va boshqarish uchun Bank-> To'g'ridan-to'g'ri debet orqali to'lov menyusiga o'ting. To'g'ridan-to'g'ri debet buyurtmasi yopilganda, hisob-fakturalar bo'yicha to'lov avtomatik ravishda qayd etiladi va qolgan to'lovlar bekor qilingan taqdirda hisob-kitoblar yopiladi. +DoCreditTransferBeforePayments=Ushbu yorliq sizga kredit o'tkazish tartibini so'rashga imkon beradi. Amalga oshirilgandan so'ng, kredit o'tkazish tartibini yaratish va boshqarish uchun Bank-> Kredit o'tkazmasi orqali to'lov menyusiga o'ting. Kredit o'tkazish bo'yicha buyurtma yopilganda, hisob-fakturalar bo'yicha to'lov avtomatik ravishda qayd etiladi va qolgan to'lovlar bekor qilingan taqdirda hisob-kitoblar yopiladi. +WithdrawalFile=Debet buyurtma fayli +CreditTransferFile=Kredit o'tkazish fayli +SetToStatusSent="Fayl yuborildi" holatiga o'rnating +ThisWillAlsoAddPaymentOnInvoice=Bunda hisob-fakturalar bo'yicha to'lovlar qayd etiladi va agar ular to'lash muddati bekor bo'lsa, ularni "To'langan" deb tasniflanadi +StatisticsByLineStatus=Chiziqlar holati bo'yicha statistika RUM=UMR -DateRUM=Mandate signature date -RUMLong=Unique Mandate Reference -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) -WithdrawRequestAmount=Amount of Direct debit request: -BankTransferAmount=Amount of Credit Transfer request: -WithdrawRequestErrorNilAmount=Unable to create direct debit request for empty amount. -SepaMandate=SEPA Direct Debit Mandate -SepaMandateShort=SEPA Mandate -PleaseReturnMandate=Please return this mandate form by email to %s or by mail to -SEPALegalText=By signing this mandate form, you authorize (A) %s to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from %s. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights regarding the above mandate are explained in a statement that you can obtain from your bank. -CreditorIdentifier=Creditor Identifier -CreditorName=Creditor Name -SEPAFillForm=(B) Please complete all the fields marked * -SEPAFormYourName=Your name -SEPAFormYourBAN=Your Bank Account Name (IBAN) -SEPAFormYourBIC=Your Bank Identifier Code (BIC) -SEPAFrstOrRecur=Type of payment -ModeRECUR=Recurring payment -ModeFRST=One-off payment -PleaseCheckOne=Please check one only -CreditTransferOrderCreated=Credit transfer order %s created -DirectDebitOrderCreated=Direct debit order %s created -AmountRequested=Amount requested +DateRUM=Mandat imzosi sanasi +RUMLong=Noyob mandat ma'lumotnomasi +RUMWillBeGenerated=Agar bo'sh bo'lsa, UMR (noyob mandat ma'lumotnomasi) bank hisobvarag'i ma'lumotlari saqlangandan so'ng hosil bo'ladi. +WithdrawMode=To'g'ridan-to'g'ri debet rejimi (FRST yoki RECUR) +WithdrawRequestAmount=To'g'ridan-to'g'ri debetga so'rov miqdori: +BankTransferAmount=Kredit o'tkazish bo'yicha so'rov miqdori: +WithdrawRequestErrorNilAmount=Bo'sh miqdor uchun to'g'ridan-to'g'ri debet so'rovi yaratib bo'lmadi. +SepaMandate=SEPA to'g'ridan-to'g'ri debet mandati +SepaMandateShort=SEPA mandati +PleaseReturnMandate=Iltimos, ushbu mandat shaklini elektron pochta orqali %s raqamiga yoki pochta orqali qaytaring +SEPALegalText=Ushbu mandat formasini imzolash orqali siz (A) %s ga sizning hisob raqamingizni chiqarish bo'yicha ko'rsatmalarni yuborishingizga va (B) %s ko'rsatmalariga binoan sizning bankingiz hisobingizni o'chirish uchun ko'rsatmalar yuborishingizga ruxsat berasiz. O'z huquqlaringizning bir qismi sifatida siz o'zingizning bankingiz bilan tuzgan shartnomangiz shartlari va shartlariga binoan bankingizdan pulni qaytarib olishga haqlisiz. Hisobingizdan chiqarilgan kundan boshlab 8 hafta ichida pulni qaytarib berishni talab qilish kerak. Yuqoridagi mandat bo'yicha sizning huquqlaringiz, sizning bankingizdan olishingiz mumkin bo'lgan bayonotda bayon etilgan. +CreditorIdentifier=Kreditor identifikatori +CreditorName=Kreditor nomi +SEPAFillForm=(B) * belgilangan barcha maydonlarni to'ldiring. +SEPAFormYourName=Ismingiz +SEPAFormYourBAN=Sizning bank hisob raqamingiz (IBAN) +SEPAFormYourBIC=Sizning bank identifikatoringiz kodi (BIC) +SEPAFrstOrRecur=To'lov turi +ModeRECUR=Takroriy to'lov +ModeFRST=Bir martalik to'lov +PleaseCheckOne=Iltimos, bittasini tekshiring +CreditTransferOrderCreated=%s kredit o'tkazish bo'yicha buyurtma yaratildi +DirectDebitOrderCreated=To'g'ridan-to'g'ri debet buyurtmasi %s yaratildi +AmountRequested=Miqdor so‘raldi SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST -ExecutionDate=Execution date -CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer -END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction -USTRD="Unstructured" SEPA XML tag -ADDDAYS=Add days to Execution Date -NoDefaultIBANFound=No default IBAN found for this third party +ExecutionDate=Ijro sanasi +CreateForSepa=To'g'ridan-to'g'ri debet faylini yarating +ICS=Creditor Identifier - ICS +END_TO_END="EndToEndId" SEPA XML yorlig'i - bitim uchun yagona identifikator +USTRD="Strukturasiz" SEPA XML yorlig'i +ADDDAYS=Ijro sanasiga kunlarni qo'shing +NoDefaultIBANFound=Ushbu uchinchi tomon uchun standart IBAN topilmadi ### Notifications -InfoCreditSubject=Payment of direct debit payment order %s by the bank -InfoCreditMessage=The direct debit payment order %s has been paid by the bank
    Data of payment: %s -InfoTransSubject=Transmission of direct debit payment order %s to bank -InfoTransMessage=The direct debit payment order %s has been sent to bank by %s %s.

    -InfoTransData=Amount: %s
    Method: %s
    Date: %s -InfoRejectSubject=Direct debit payment order refused +InfoCreditSubject=%s to'g'ridan-to'g'ri debet to'lov topshirig'ini bank tomonidan to'lash +InfoCreditMessage=%s to'g'ridan-to'g'ri debet to'lov topshirig'ini bank tomonidan to'langan
    To'lov ma'lumotlari: %s +InfoTransSubject=%s to'g'ridan-to'g'ri debet to'lov topshirig'ini bankka yuborish +InfoTransMessage=%s to'g'ridan-to'g'ri debet to'lov buyurtmasi %s %s tomonidan bankka yuborildi.

    +InfoTransData=Miqdor: %s
    usuli: %s
    Sana: %s +InfoRejectSubject=To'g'ridan-to'g'ri debet to'lovi buyurtmasi rad etildi InfoRejectMessage=Hello,

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

    --
    %s -ModeWarning=Option for real mode was not set, we stop after this simulation -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ModeWarning=Haqiqiy rejim uchun parametr o'rnatilmagan, biz ushbu simulyatsiyadan so'ng to'xtaymiz +ErrorCompanyHasDuplicateDefaultBAN=%s id raqamiga ega kompaniya bir nechta standart bank hisobvarag'iga ega. Qaysi birini ishlatishni bilishning imkoni yo'q. +ErrorICSmissing=Bank hisobidagi %s yo'qolgan ICS +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=To'g'ridan-to'g'ri debet buyurtmasining umumiy miqdori satrlar yig'indisidan farq qiladi diff --git a/htdocs/langs/uz_UZ/workflow.lang b/htdocs/langs/uz_UZ/workflow.lang index 494a0424a75..7002ba88526 100644 --- a/htdocs/langs/uz_UZ/workflow.lang +++ b/htdocs/langs/uz_UZ/workflow.lang @@ -1,25 +1,26 @@ # Dolibarr language file - Source file is en_US - workflow -WorkflowSetup=Workflow module setup -WorkflowDesc=This module provides some automatic actions. By default, the workflow is open (you can do things in the order you want) but here you can activate some automatic actions. -ThereIsNoWorkflowToModify=There is no workflow modifications available with the activated modules. +WorkflowSetup=Ish oqimi modulini sozlash +WorkflowDesc=Ushbu modul ba'zi bir avtomatik harakatlarni ta'minlaydi. Odatiy bo'lib, ish oqimi ochiq (siz o'zingiz xohlagan tartibda ish qilishingiz mumkin), lekin bu erda siz ba'zi avtomatik harakatlarni faollashtirishingiz mumkin. +ThereIsNoWorkflowToModify=Faollashtirilgan modullar bilan ishlash jarayonini o'zgartirishlar mavjud emas. # Autocreate -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a sales order after a commercial proposal is signed (the new order will have same amount as the proposal) -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatically create a customer invoice after a commercial proposal is signed (the new invoice will have same amount as the proposal) -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Automatically create a customer invoice after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice after a sales order is closed (the new invoice will have same amount as the order) +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Tijorat taklifi imzolanganidan so'ng avtomatik ravishda savdo buyurtmasini yarating (yangi buyurtma taklif bilan bir xil miqdorda bo'ladi) +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Tijorat taklifi imzolangandan so'ng mijozning hisob-fakturasini avtomatik ravishda yarating (yangi hisob-faktura taklif bilan bir xil miqdorda bo'ladi) +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Shartnoma tasdiqlangandan so'ng mijozning hisob-fakturasini avtomatik ravishda yarating +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Savdo buyurtmasi yopilgandan so'ng avtomatik ravishda mijozning hisob-fakturasini yarating (yangi hisob-faktura buyurtma bilan bir xil miqdorda bo'ladi) # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when sales order is set to billed (and if the amount of the order is the same as the total amount of the signed linked proposal) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the signed linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Savdo buyurtmasi billingga o'rnatilganda (va agar buyurtma miqdori imzolangan bog'langan taklifning umumiy miqdori bilan bir xil bo'lsa) bog'langan manba taklifini hisob-kitob sifatida tasniflang. +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Mijozlarning hisob-fakturasi tasdiqlanganda (va agar schyot-faktura miqdori imzolangan bog'langan taklifning umumiy miqdori bilan bir xil bo'lsa) bog'langan manba taklifini hisob-kitob sifatida tasniflang. +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Mijozlarning hisob-fakturasi tasdiqlanganda (va agar schyot-faktura miqdori bog'langan buyurtmaning umumiy miqdori bilan bir xil bo'lsa) bog'langan manbalarni sotish buyurtmasini billing sifatida tasniflang. +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Mijozlarning hisob-fakturasi to'lash uchun o'rnatilganda (va agar schyot-faktura miqdori bog'langan buyurtmaning umumiy miqdori bilan bir xil bo'lsa) bog'langan manbalarni sotish buyurtmasini billing sifatida tasniflang. +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Bog'langan manbalarni sotish buyurtmasini jo'natma tasdiqlanganda jo'natilgan deb tasniflang (va agar barcha jo'natmalar tomonidan jo'natilgan miqdor yangilanish uchun buyurtma bilan bir xil bo'lsa) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order -descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_BILL_ON_RECEPTION=Classify receptions to "billed" when a linked supplier order is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Bog'langan manba etkazib beruvchisi taklifini sotuvchi hisob-fakturasi tasdiqlangandan keyin hisob-kitob sifatida tasniflang (va agar faktura miqdori bog'langan taklifning umumiy miqdori bilan bir xil bo'lsa) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Sotib oluvchi hisob-fakturasi tasdiqlanganda bog'langan manbadan sotib olish buyurtmasini billing sifatida tasniflang (va agar schyot-fakturaning miqdori bog'langan buyurtmaning umumiy miqdori bilan bir xil bo'lsa) +descWORKFLOW_BILL_ON_RECEPTION=Bog'langan etkazib beruvchining buyurtmasi tasdiqlanganda qabullarni "hisob-kitob" ga tasniflang # Autoclose intervention -descWORKFLOW_TICKET_CLOSE_INTERVENTION=Close all interventions linked to the ticket when a ticket is closed -AutomaticCreation=Automatic creation -AutomaticClassification=Automatic classification +descWORKFLOW_TICKET_CLOSE_INTERVENTION=Chipta yopilganda chipta bilan bog'liq barcha aralashuvlarni yoping +AutomaticCreation=Avtomatik yaratish +AutomaticClassification=Avtomatik tasnif # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Mijozlarning hisob-fakturasi tasdiqlanganda bog'langan manbalarni etkazib berishni yopiq deb tasniflang diff --git a/htdocs/langs/uz_UZ/zapier.lang b/htdocs/langs/uz_UZ/zapier.lang index b4cc4ccba4a..caa4ebfb810 100644 --- a/htdocs/langs/uz_UZ/zapier.lang +++ b/htdocs/langs/uz_UZ/zapier.lang @@ -13,9 +13,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -ModuleZapierForDolibarrName = Zapier for Dolibarr -ModuleZapierForDolibarrDesc = Zapier for Dolibarr module -ZapierForDolibarrSetup=Setup of Zapier for Dolibarr -ZapierDescription=Interface with Zapier -ZapierAbout=About the module Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ModuleZapierForDolibarrName = Dolibarr uchun Zapier +ModuleZapierForDolibarrDesc = Dolibarr moduli uchun zapier +ZapierForDolibarrSetup=Dolibarr uchun Zapier-ni sozlash +ZapierDescription=Zapier bilan interfeys +ZapierAbout=Zapier moduli haqida +ZapierSetupPage=Zapier-dan foydalanish uchun Dolibarr tomonida o'rnatishga hojat yo'q. Biroq, Zapier-dan Dolibarr bilan foydalanish uchun siz zapier-da paket yaratishingiz va nashr qilishingiz kerak. -dagi ushbu viki-sahifadagi -dagi hujjatlarni ko'ring. diff --git a/htdocs/langs/vi_VN/accountancy.lang b/htdocs/langs/vi_VN/accountancy.lang index 6b1f50bfdb1..72f11f3d50b 100644 --- a/htdocs/langs/vi_VN/accountancy.lang +++ b/htdocs/langs/vi_VN/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Các nước không thuộc EEC CountriesInEECExceptMe=Các quốc gia trong EEC ngoại trừ %s CountriesExceptMe=Tất cả các quốc gia trừ %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Độ dài của tài khoản kế toán bên thứ b ACCOUNTING_MANAGE_ZERO=Cho phép quản lý các số không khác nhau ở cuối tài khoản kế toán. Nó cần thiết cho một số nước (như Thụy Sĩ). Nếu được đặt thành tắt (mặc định), bạn có thể đặt hai tham số sau để yêu cầu ứng dụng thêm số không ảo. BANK_DISABLE_DIRECT_INPUT=Vô hiệu hóa ghi trực tiếp giao dịch trong tài khoản ngân hàng ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Cho phép xuất dữ liệu bản nháp trong nhật ký -ACCOUNTANCY_COMBO_FOR_AUX=Bật danh sách kết hợp cho tài khoản công ty con (có thể chậm nếu bạn có nhiều bên thứ ba) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Tham khảo tại đây danh sách khách hàng và nhà cu ListAccounts=Danh sách các tài khoản kế toán UnknownAccountForThirdparty=Không biết tài khoản bên thứ ba. Chúng ta sẽ sử dụng %s UnknownAccountForThirdpartyBlocking=Không biết tài khoản bên thứ ba. Lỗi chặn -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Tài khoản bên thứ ba không được xác định hoặc không biết bên thứ ba. Chúng ta sẽ sử dụng %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Bên thứ ba không xác định và người đăng ký không được xác định trên thanh toán. Chúng tôi sẽ giữ giá trị tài khoản subledger trống. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Tài khoản bên thứ ba không được xác định hoặc không biết bên thứ ba. Lỗi chặn. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Không biết tài khoản bên thứ ba và tài khoản đang chờ không xác định. Lỗi chặn PaymentsNotLinkedToProduct=Thanh toán không được liên kết với bất kỳ sản phẩm/ dịch vụ nào OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Xuất dữ liệu bản nháp nhật ký Modelcsv=Mô hình xuất dữ liệu Selectmodelcsv=Chọn một mô hình xuất dữ liệu @@ -335,7 +339,7 @@ Modelcsv_normal=Xuất dữ liệu cổ điển Modelcsv_CEGID=Xuất dữ liệu cho CEGID Expert Comptabilité Modelcsv_COALA=Xuất dữ liệu cho Sage Coala Modelcsv_bob50=Xuất dữ liệu cho Sage BOB 50 -Modelcsv_ciel=Xuất dữ liệu cho Sage Ciel Compta hoặc Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Xuất dữ liệu cho Quadratus QuadraCompta Modelcsv_ebp=Xuất dữ liệu cho EBP Modelcsv_cogilog=Xuất dữ liệu Cogilog diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index fa276b338cb..f9f6ce98b0f 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Người dùng bên trong ExternalUser=Người dùng bên ngoài InternalUsers=Người dùng bên trong ExternalUsers=Người dùng bên ngoài +UserInterface=User interface GUISetup=Hiển thị SetupArea=Thiết lập UploadNewTemplate=Tải lên (các) mẫu mới @@ -84,6 +85,7 @@ NumberOfBytes=Số byte SearchString=Chuỗi tìm kiếm NotAvailableWhenAjaxDisabled=Hiện không có sẵn khi Ajax bị vô hiệu AllowToSelectProjectFromOtherCompany=Trên tài liệu của bên thứ ba, có thể chọn dự án được liên kết với bên thứ ba khác +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=Vô hiệu JavaScript UsePreviewTabs=Sử dụng chế độ xem sơ lược tab ShowPreview=Hiển thị xem trước @@ -116,6 +118,7 @@ MultiCurrencySetup=Thiết lập đa tiền tệ MenuLimits=Giới hạn và độ chính xác MenuIdParent=ID menu chính DetailMenuIdParent=ID menu chính (rỗng nếu là menu gốc) +ParentID=Parent ID DetailPosition=Sắp xếp chữ số để xác định vị trí menu AllMenus=Tất cả NotConfigured=Mô-đun/ Ứng dụng chưa được cấu hình @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Tính năng chỉ khả dụng trên các phiên b BoxesDesc=Widget là các thành phần hiển thị một số thông tin mà bạn có thể thêm để cá nhân hóa một số trang. Bạn có thể chọn giữa hiển thị tiện ích hoặc không bằng cách chọn trang đích và nhấp vào 'Kích hoạt' hoặc bằng cách nhấp vào thùng rác để tắt nó. OnlyActiveElementsAreShown=Chỉ có các yếu tố từ module kích hoạt được hiển thị. ModulesDesc=Các mô-đun / ứng dụng xác định các tính năng có sẵn trong phần mềm. Một số mô-đun yêu cầu quyền được cấp cho người dùng sau khi kích hoạt mô-đun.. Bấm nút bật/tắt %scủa từng module để cho phép hoặc tắt một mô-đun / ứng dụng +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=Bạn có thể tìm thấy nhiều mô-đun để tải về ở các websites trên Internet ... ModulesDeployDesc=Nếu quyền trên hệ thống tệp của bạn cho phép, bạn có thể sử dụng công cụ này để triển khai mô-đun bên ngoài. Mô-đun sau đó sẽ hiển thị trên tab %s . ModulesMarketPlaces=Tìm ứng dụng bên ngoài/ mô-đun @@ -221,8 +225,8 @@ NotCompatible=Mô-đun này dường như không tương thích với Dolibarr % CompatibleAfterUpdate=Mô-đun này yêu cầu cập nhật lên Dolibarr %s của bạn (Min %s - Max %s). SeeInMarkerPlace=Xem ở chợ SeeSetupOfModule=Xem thiết lập mô-đun %s +SetOptionTo=Set option %s to %s Updated=Đã cập nhật -Nouveauté=Mới lạ AchatTelechargement=Mua / Tải xuống GoModuleSetupArea=Để triển khai / cài đặt một mô-đun mới, hãy chuyển đến khu vực thiết lập Mô-đun: %s . DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=Không có trình quản lý gửi SMS có sẵn. Trình quản lý gửi SMS không được cài đặt với phân phối mặc định vì chúng phụ thuộc vào nhà cung cấp bên ngoài, nhưng bạn có thể tìm thấy một số trên %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Ẩn tất cả thông tin liên quan đến Thuế bán hàng / VAT PDFRulesForSalesTax=Quy tắc thuế bán hàng / VAT @@ -561,7 +566,7 @@ Module53Desc=Quản lý dịch vụ Module54Name=Hợp đồng/Thuê bao Module54Desc=Quản lý hợp đồng (dịch vụ hoặc đăng ký định kỳ) Module55Name=Mã vạch -Module55Desc=Quản lý mã vạch +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Tạo/chỉnh sửa giảm giá Permission403=Xác nhận giảm giá Permission404=Xóa giảm giá Permission430=Sử dụng thanh gỡ lỗi -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Tạo / sửa đổi các khoản thanh toán tiền lương -Permission514=Xóa các khoản thanh toán tiền lương -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Xuất dữ liệu lương Permission520=Xem cho vay Permission522=Tạo/Chỉnh sửa cho vay @@ -965,6 +970,8 @@ Permission23003=Xóa công việc theo lịch trình Permission23004=Thực thi công việc theo lịch trình Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Xem giao dịch Permission50202=Giao dịch nhập dữ liệu Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Đơn vị đo lường DictionarySocialNetworks=Mạng xã hội DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Các loại nghỉ phép +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Trạng thái khách hàng tiềm năng cho dự án/ khách hàng tiềm năng DictionaryExpenseTaxCat=Báo cáo chi phí - Danh mục vận tải DictionaryExpenseTaxRange=Báo cáo chi phí - Phạm vi theo danh mục vận chuyển DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Cài đặt đã lưu SetupNotSaved=Thiết lập không được lưu @@ -1185,9 +1193,12 @@ SetupDescription2=Hai phần sau đây là bắt buộc (hai mục đầu tiên SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s
    Phần mềm này là một bộ gồm nhiều mô-đun/ứng dụng, tất cả đều ít nhiều độc lập nhau. Các mô-đun liên quan đến nhu cầu của bạn phải được kích hoạt và cấu hình. Các mục/tùy chọn sẽ được thêm vào menu với sự kích hoạt của một mô-đun. SetupDescription5=Các menu thiết lập khác quản lý các tham số tùy chọn. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Kiểm toán +Audit=Security events InfoDolibarr=Thông tin về Dolibarr InfoBrowser=Thông tin trình duyệt InfoOS=Thông tin về hệ điều hành @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=Chức năng SSL không có sẵn trong chương tr DownloadMoreSkins=Nhiều giao diện để tải về SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Hiển thị id chuyên nghiệp với địa chỉ -ShowVATIntaInAddress=Ẩn số VAT Cộng Đồng nội bộ với địa chỉ +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Vô hiệu hóa chế độ xem khí tượng MeteoStdMod=Chế độ tiêu chuẩn @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Điều kiện là hiện tại %s YouUseBestDriver=Bạn sử dụng trình điều khiển %s, trình điều khiển tốt nhất hiện có. YouDoNotUseBestDriver=Bạn sử dụng trình điều khiển %s nhưng trình điều khiển %s được khuyến nghị. NbOfObjectIsLowerThanNoPb=Bạn chỉ có %s %s trong cơ sở dữ liệu. Điều này không yêu cầu bất kỳ tối ưu hóa cụ thể. +ComboListOptim=Combo list loading optimization SearchOptim=Tối ưu hóa tìm kiếm -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=Bạn có %s %s trong cơ sở dữ liệu và hằng số %s được đặt thành 1 trong Nhà - Cài đặt - Khác. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. BrowserIsOK=Bạn đang sử dụng trình duyệt web %s. Trình duyệt này là ổn cho bảo mật và hiệu suất. BrowserIsKO=Bạn đang sử dụng trình duyệt web %s. Trình duyệt này được biết đến là một lựa chọn xấu cho bảo mật, hiệu suất và độ tin cậy. Chúng tôi khuyên bạn nên sử dụng Firefox, Chrome, Opera hoặc Safari. PHPModuleLoaded=Thành phần PHP %s được tải @@ -1433,6 +1447,7 @@ MemberMainOptions=Lựa chọn chính AdherentLoginRequired= Quản lý một Đăng nhập cho mỗi thành viên AdherentMailRequired=Yêu cầu email để tạo thành viên mới MemberSendInformationByMailByDefault=Hộp kiểm để gửi thư xác nhận cho các thành viên (xác nhận hoặc đăng ký mới) là theo mặc định +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Khách truy cập có thể chọn từ các chế độ thanh toán có sẵn MEMBER_REMINDER_EMAIL=Cho phép nhắc nhở tự động qua email của các thuê bao đã hết hạn. Lưu ý: Mô-đun %s phải được bật và thiết lập chính xác để gửi lời nhắc. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Bật thông báo âm thanh AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Hiển thị đối tượng được liên kết vào chế độ xem chương trình nghị sự ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url được gọi khi nhấp chuột vào hình ảnh điện thoại được thực hiện. Trong URL, bạn có thể sử dụng thẻ
    __PHONETO__ sẽ được thay thế bằng số điện thoại của người cần gọi
    __PHONEFROM__ sẽ được thay thế bằng số điện thoại của người gọi (của bạn)
    __LOGIN__ sẽ được thay thế bằng đăng nhập clicktodial (được xác định trên thẻ người dùng)
    __PASS__ sẽ được thay thế bằng mật khẩu clicktodial (được xác định trên thẻ người dùng). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Chỉ sử dụng một liên kết "tel:" trên các số điện thoại -ClickToDialUseTelLinkDesc=Sử dụng phương pháp này nếu người dùng của bạn có điện thoại phần mềm hoặc giao diện phần mềm được cài đặt trên cùng một máy tính với trình duyệt và được gọi khi bạn nhấp vào liên kết trong trình duyệt bắt đầu bằng "tel:". Nếu bạn cần một giải pháp máy chủ đầy đủ (không cần cài đặt phần mềm cục bộ), bạn phải đặt giải pháp này thành "Không" và điền vào trường tiếp theo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Điểm bán hàng CashDeskSetup=Thiết lập mô-đun Điểm bán hàng @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Lề phải trên PDF MAIN_PDF_MARGIN_TOP=Lề trên PDF MAIN_PDF_MARGIN_BOTTOM=Lề dưới PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=Không có thiết lập cụ thể cần thiết cho mô-đun này. SetToYesIfGroupIsComputationOfOtherGroups=Đặt cái này thành Có nếu nhóm này là sự tính toán của các nhóm khác EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Lớn hơn IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=Với tài khoản GMail, nếu bạn đã bật xác thực 2 bước, bạn nên tạo mật khẩu thứ hai dành riêng cho ứng dụng thay vì sử dụng mật khẩu tài khoản của riêng bạn từ https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=Bạn có thể sử dụng hành động này để sử dụng nội dung email để tìm và tải một bên thứ ba hiện có trong cơ sở dữ liệu của bạn. Phần thứ ba được tìm thấy (hoặc được tạo) sẽ được sử dụng cho các hành động sau đây cần nó. Trong trường tham số, bạn có thể sử dụng ví dụ 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' nếu bạn muốn trích xuất tên của bên thứ ba từ một chuỗi 'Name: name to find' được tìm thấy trong phần nội dung +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=Điểm kết thúc cho %s: %s DeleteEmailCollector=Xóa trình thu thập email ConfirmDeleteEmailCollector=Bạn có chắc chắn muốn xóa trình thu thập email này? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=Nếu bạn muốn có text trong PDF của mình bằng 2 ngôn ngữ khác nhau trong cùng một tệp PDF được tạo, bạn phải đặt ở đây ngôn ngữ thứ hai này để PDF được tạo sẽ chứa 2 ngôn ngữ khác nhau trong cùng một trang, một ngôn ngữ được chọn khi tạo PDF và ngôn ngữ này ( chỉ có vài mẫu PDF hỗ trợ này). Giữ trống cho 1 ngôn ngữ trên mỗi PDF. FafaIconSocialNetworksDesc=Nhập vào đây mã của biểu tượng FontAwgie. Nếu bạn không biết FontAwgie là gì, bạn có thể sử dụng fa-address-book -FeatureNotAvailableWithReceptionModule=Tính năng không khả dụng khi mô-đun Tiếp nhận được bật RssNote=Lưu ý: Mỗi nguồn cấp RSS cung cấp một tiện ích mà bạn phải kích hoạt để có sẵn trong bảng điều khiển JumpToBoxes=Chuyển tới Thiết lập --> Widgets MeasuringUnitTypeDesc=Sử dụng ở đây một giá trị như "kích thước", "diện tích", "khối lượng", "trọng lượng", "thời gian" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Khuyên dùng +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/vi_VN/agenda.lang b/htdocs/langs/vi_VN/agenda.lang index c8e17edbe45..6f00d67b0a4 100644 --- a/htdocs/langs/vi_VN/agenda.lang +++ b/htdocs/langs/vi_VN/agenda.lang @@ -4,7 +4,7 @@ Actions=Sự kiện Agenda=Lịch làm việc TMenuAgenda=Chương trình nghị sự Agendas=Lịch làm việc -LocalAgenda=Lịch nội bộ +LocalAgenda=Default calendar ActionsOwnedBy=Tổ chức sự kiện thuộc sở hữu của ActionsOwnedByShort=Chủ sở hữu AffectedTo=Giao cho @@ -14,13 +14,13 @@ EventsNb=Số sự kiện ListOfActions=Danh sách các sự kiện EventReports=Báo cáo sự kiện Location=Địa phương -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Tất cả sự kiện MenuToDoActions=Tất cả sự kiện chưa xong MenuDoneActions=Tất cả sự kiện đã chấm dứt MenuToDoMyActions=Sự kiện chưa xong của tôi MenuDoneMyActions=Sự kiện đã chấm dứt của tôi -ListOfEvents=Danh sách sự kiện (lịch nội bộ) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Sự kiện báo cáo bởi ActionsToDoBy=Sự kiện được giao ActionsDoneBy=Sự kiện được thực hiện bởi @@ -38,6 +38,7 @@ ActionsEvents=Sự kiện mà Dolibarr sẽ tạo ra một hành động trong c EventRemindersByEmailNotEnabled=Lời nhắc sự kiện qua email không được bật vào thiết lập mô-đun %s. ##### Agenda event labels ##### NewCompanyToDolibarr=Đã tạo bên thứ ba %s +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Đã xóa bên thứ ba %s ContractValidatedInDolibarr=Hợp đồng %s được xác thực CONTRACT_DELETEInDolibarr=Hợp đồng %s đã bị xóa @@ -87,6 +88,7 @@ OrderDeleted=Đã xóa đơn hàng InvoiceDeleted=Hóa đơn đã bị xóa DraftInvoiceDeleted=Hoá đơn dự thảo đã được xoá CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Sản phẩm %s được tạo PRODUCT_MODIFYInDolibarr=Sản phẩm %s được sửa đổi @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO đã tạo MRP_MO_DELETEInDolibarr=MO đã xóa MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Mẫu tài liệu cho sự kiện DateActionStart=Ngày bắt đầu @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint = %s để hạn chế đầu ra cho các hành AgendaUrlOptionsProject=project = __PROJECT_ID__ để hạn chế đầu ra cho các hành động được liên kết với dự án __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto để loại trừ các sự kiện tự động. AgendaUrlOptionsIncludeHolidays=includeholidays=1 bào gồm các ngày nghỉ sự kiện -AgendaShowBirthdayEvents=Hiển thị ngày sinh của các liên lạc +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Ẩn ngày sinh của các liên lạc Busy=Bận ExportDataset_event1=Danh sách các sự kiện chương trình nghị sự @@ -152,6 +155,7 @@ ActionType=Loại sự kiện DateActionBegin=Ngày bắt đầu sự kiện ConfirmCloneEvent=Bạn có chắc chắn muốn sao chép sự kiện %s ? RepeatEvent=Lặp lại sự kiện +OnceOnly=Once only EveryWeek=Mỗi tuần EveryMonth=Mỗi tháng DayOfMonth=Ngày trong tháng @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/vi_VN/banks.lang b/htdocs/langs/vi_VN/banks.lang index 49d8b63b362..bd56f7bb41e 100644 --- a/htdocs/langs/vi_VN/banks.lang +++ b/htdocs/langs/vi_VN/banks.lang @@ -115,7 +115,7 @@ TransferTo=Đến TransferFromToDone=Một chuyển khoản từ %s đến %s của %s %s đã được ghi lại. CheckTransmitter=Người gửi ValidateCheckReceipt=Kiểm tra chứng từ séc này? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Xóa biên nhận séc này? ConfirmDeleteCheckReceipt=Bạn có muốn xóa biên nhận séc này? BankChecks=Séc ngân hàng diff --git a/htdocs/langs/vi_VN/bills.lang b/htdocs/langs/vi_VN/bills.lang index 1797521d9b3..22b8ae978e6 100644 --- a/htdocs/langs/vi_VN/bills.lang +++ b/htdocs/langs/vi_VN/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Thanh toán vào ngày DateInvoice=Ngày hóa đơn DatePointOfTax=Điểm thuế NoInvoice=Không có hoá đơn +NoOpenInvoice=No open invoice ClassifyBill=Phân loại hóa đơn SupplierBillsToPay=Hóa đơn nhà cung cấp chưa thanh toán CustomerBillsUnpaid=Hóa đơn khách hàng chưa thanh toán @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/vi_VN/boxes.lang b/htdocs/langs/vi_VN/boxes.lang index 8a9692b7254..d648b2fe6c3 100644 --- a/htdocs/langs/vi_VN/boxes.lang +++ b/htdocs/langs/vi_VN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Đơn đặt hàng của nhà cung cấp: % BoxTitleLastModifiedCustomerBills=Hóa đơn khách hàng: %s được sửa đổi lần cuối BoxTitleLastModifiedCustomerOrders=Đơn đặt hàng bán: %s được sửa đổi lần cuối BoxTitleLastModifiedPropals=Đề xuất sửa đổi %s mới nhất -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Khách hàng hoá đơn ForCustomersOrders=Khách hàng đặt hàng ForProposals=Đề xuất diff --git a/htdocs/langs/vi_VN/cashdesk.lang b/htdocs/langs/vi_VN/cashdesk.lang index 7197ca2dbce..58a083a655c 100644 --- a/htdocs/langs/vi_VN/cashdesk.lang +++ b/htdocs/langs/vi_VN/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN}được sử dụng để thêm số TakeposGroupSameProduct=Nhóm sản phẩm cùng dòng StartAParallelSale=Bắt đầu bán hàng mới SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Báo cáo tiền mặt MainPrinterToUse=Máy in chính để dùng @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/vi_VN/compta.lang b/htdocs/langs/vi_VN/compta.lang index e55aee4b875..ee7a289c62e 100644 --- a/htdocs/langs/vi_VN/compta.lang +++ b/htdocs/langs/vi_VN/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Doanh số hàng mua đã ra hoá đơn ReportPurchaseTurnoverCollected=Doanh số hàng mua đã tập hợp IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/vi_VN/cron.lang b/htdocs/langs/vi_VN/cron.lang index 3ea052d3289..401b1d5e1f7 100644 --- a/htdocs/langs/vi_VN/cron.lang +++ b/htdocs/langs/vi_VN/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=Ngày kết thúc không thể trước ngày bắt đầu StatusAtInstall=Trạng thái khi cài đặt mô-đun CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Vô hiệu hoá -CronTaskInactive=Công việc này bị vô hiệu hóa +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Tên tệp với lớp CronModuleHelp=Tên của thư mục mô-đun Dolibarr (cũng hoạt động với mô-đun Dolibarr bên ngoài).
    Ví dụ: để gọi phương thức tìm nạp của đối tượng sản phẩm Dolibarr/htdocs/product/class/products.class.php, giá trị cho mô-đun là
    product diff --git a/htdocs/langs/vi_VN/deliveries.lang b/htdocs/langs/vi_VN/deliveries.lang index 5156d289e9c..46fd7d5197d 100644 --- a/htdocs/langs/vi_VN/deliveries.lang +++ b/htdocs/langs/vi_VN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Người nhận ErrorStockIsNotEnough=Không có đủ tồn kho Shippable=Vận chuyển được NonShippable=Không vận chuyển được +ShowShippableStatus=Show shippable status ShowReceiving=Hiển thị biên nhận giao hàng NonExistentOrder=Đơn hàng không tồn tại +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index eec57671b9e..ee6054991e5 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Giá trị xấu cho tham số của bạn. Nói ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Đăng nhập% s đã tồn tại. ErrorGroupAlreadyExists=Nhóm% s đã tồn tại. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Ghi lại không tìm thấy. ErrorFailToCopyFile=Không thể sao chép tập tin '% s' vào '% s'. ErrorFailToCopyDir=Không thể sao chép thư mục ' %s ' vào ' %s '. @@ -117,7 +118,7 @@ ErrorCantReadFile=Không thể đọc tập tin '% s' ErrorCantReadDir=Không thể đọc thư mục '% s' ErrorBadLoginPassword=Bad giá trị để đăng nhập hoặc mật khẩu ErrorLoginDisabled=Tài khoản của bạn đã bị vô hiệu -ErrorFailedToRunExternalCommand=Không thể chạy lệnh bên ngoài. Kiểm tra xem nó có sẵn và Runnable bởi máy chủ PHP của bạn. Nếu PHP Safe Mode được kích hoạt, kiểm tra lệnh đó là bên trong một thư mục được xác định bởi tham số safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Không thể thay đổi mật khẩu ErrorLoginDoesNotExists=Người sử dụng có đăng nhập% s không thể được tìm thấy. ErrorLoginHasNoEmail=Thành viên này không có địa chỉ email. Quá trình hủy bỏ. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Tham số PHP của bạn upload_max_filesize (%s) cao hơn tham số PHP post_max_size (%s). Đây không phải là một thiết lập phù hợp. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/vi_VN/eventorganization.lang b/htdocs/langs/vi_VN/eventorganization.lang index 13b14f0c1e5..8eea9ed22d2 100644 --- a/htdocs/langs/vi_VN/eventorganization.lang +++ b/htdocs/langs/vi_VN/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Loại sự kiện +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/vi_VN/exports.lang b/htdocs/langs/vi_VN/exports.lang index f15be790dc6..2cdb1136e64 100644 --- a/htdocs/langs/vi_VN/exports.lang +++ b/htdocs/langs/vi_VN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Loại dòng (0 = sản phẩm, dịch vụ = 1) FileWithDataToImport=Tập tin với dữ liệu để nhập FileToImport=Tập tin nguồn để nhập dữ liệu FileMustHaveOneOfFollowingFormat=Tệp để nhập phải có một trong các định dạng sau -DownloadEmptyExample=Tải xuống tệp mẫu với thông tin nội dung trường (* là các trường bắt buộc) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Chọn định dạng tệp để sử dụng làm định dạng tệp nhập bằng cách nhấp vào biểu tượng %s để chọn ... ChooseFileToImport=Tải lên tệp sau đó nhấp vào biểu tượng %s để lựa chọn tệp là tệp nguồn nhập SourceFileFormat=Định dạng tệp nguồn diff --git a/htdocs/langs/vi_VN/holiday.lang b/htdocs/langs/vi_VN/holiday.lang index 5eeff8a8553..ac7356b7053 100644 --- a/htdocs/langs/vi_VN/holiday.lang +++ b/htdocs/langs/vi_VN/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Đang chờ phê duyệt ApprovedCP=Đã phê duyệt CancelCP=Đã hủy RefuseCP=Bị từ chối -ValidatorCP=Người duyệt +ValidatorCP=Approver ListeCP=Danh sách nghỉ phép Leave=Yêu cầu rời LeaveId=ID Người nghỉ @@ -39,11 +39,11 @@ TitreRequestCP=Yêu cầu rời TypeOfLeaveId=ID Loại nghỉ phép TypeOfLeaveCode=Mã Loại nghỉ phép TypeOfLeaveLabel=Nhãn Loại nghỉ phép -NbUseDaysCP=Số ngày nghỉ đã tiêu thụ -NbUseDaysCPHelp=Việc tính toán có tính đến những ngày không làm việc và những ngày nghỉ được xác định trong từ điển. -NbUseDaysCPShort=Ngày đã tiêu thụ -NbUseDaysCPShortInMonth=Số ngày đã tiêu thụ trong tháng -DayIsANonWorkingDay=%slà một ngày không làm việc +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Ngày bắt đầu trong tháng DateEndInMonth=Ngày kết thúc trong tháng EditCP=Chỉnh sửa @@ -55,7 +55,7 @@ TitleDeleteCP=Xóa yêu cầu nghỉ ConfirmDeleteCP=Xác nhận việc xóa yêu cầu nghỉ này? ErrorCantDeleteCP=Lỗi bạn không có quyền xóa yêu cầu nghỉ phép này. CantCreateCP=Bạn không có quyền thực hiện các yêu cầu nghỉ phép. -InvalidValidatorCP=Bạn phải chọn một approbator để yêu cầu nghỉ phép của bạn. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=Bạn phải chọn một ngày bắt đầu. NoDateFin=Bạn phải chọn ngày kết thúc. ErrorDureeCP=Yêu cầu nghỉ phép của bạn không có một ngày làm việc. @@ -80,14 +80,14 @@ UserCP=Người dùng ErrorAddEventToUserCP=Đã xảy ra lỗi khi thêm ngày nghỉ đặc biệt. AddEventToUserOkCP=Việc bổ sung nghỉ đặc biệt đã được hoàn thành. MenuLogCP=Lịch sử thay đổi -LogCP=Nhật kí cập nhận ngày nghỉ lễ -ActionByCP=Thực hiện bởi -UserUpdateCP=Đối với người dùng +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Cân bằng trước NewSoldeCP=Tạo cân bằng alreadyCPexist=Một yêu cầu nghỉ phép đã được thực hiện vào thời gian này. -FirstDayOfHoliday=Ngày đầu tiên của kỳ nghỉ -LastDayOfHoliday=Ngày cuối cùng của kỳ nghỉ +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=%s yêu cầu nghỉ phép mới được sửa HolidaysMonthlyUpdate=Cập nhật hàng tháng ManualUpdate=Cập nhật thủ công @@ -104,8 +104,8 @@ LEAVE_SICK=Nghỉ ốm LEAVE_OTHER=Nghỉ phép khác LEAVE_PAID_FR=Kỳ nghỉ có trả lương ## Configuration du Module ## -LastUpdateCP=Cập nhật tự động phân bổ nghỉ phép mới nhất -MonthOfLastMonthlyUpdate=Cập nhật tự động phân bổ nghỉ phép tháng mới nhất +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Cập nhật thành công. Module27130Name= Quản lý các yêu cầu nghỉ Module27130Desc= Quản lý các yêu cầu nghỉ phép @@ -125,10 +125,12 @@ HolidaysCanceledBody=Yêu cầu nghỉ phép của bạn cho% s đến% s đã FollowedByACounter=1: Loại nghỉ phép này cần phải được theo sau bởi một bộ đếm. Bộ đếm được tăng bằng tay hoặc tự động và khi yêu cầu nghỉ được xác thực, bộ đếm bị giảm.
    0: Không được theo dõi bởi một bộ đếm. NoLeaveWithCounterDefined=Chưa xác định rõ loại nghỉ phép cần thiết cho việc bộ đếm theo dõi GoIntoDictionaryHolidayTypes=Vào Trang chủ - Cài đặt - Từ điển - Loại nghỉ phép để thiết lập các loại nghỉ phép khác nhau. -HolidaySetup=Thiết lập mô-đun Nghỉ lễ -HolidaysNumberingModules=Mô hình ghi số các yêu cầu nghỉ phép +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template cho các yêu cầu nghỉ PDF FreeLegalTextOnHolidays=Chữ tủy thích trên PDF WatermarkOnDraftHolidayCards=Hình mờ trên yêu cầu nghỉ phép HolidaysToApprove=Ngày lễ để phê duyệt NobodyHasPermissionToValidateHolidays=Không ai được phép xác nhận ngày nghỉ lễ +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/vi_VN/hrm.lang b/htdocs/langs/vi_VN/hrm.lang index cbac0b87e6e..6ea66b614d0 100644 --- a/htdocs/langs/vi_VN/hrm.lang +++ b/htdocs/langs/vi_VN/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Bạn có chắc chắn muốn xóa cơ sở này? OpenEtablishment=Mở cơ sở CloseEtablishment=Đóng cơ sở # Dictionary -DictionaryPublicHolidays=HRM - Ngày lễ +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Danh sách phòng/ban DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index d11a96b5d67..ca906feef39 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Di chuyển đường dẫn ảnh cho người dùng MigrationFieldsSocialNetworks=Di chuyển các trường người dùng mạng xã hội (%s) MigrationReloadModule=Tải lại mô-đun %s MigrationResetBlockedLog=Đặt lại mô-đun BlockedLog cho thuật toán v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Hiển thị các tùy chọn không khả dụng HideNotAvailableOptions=Ẩn các tùy chọn không khả dụng ErrorFoundDuringMigration=(Các) lỗi đã được báo cáo trong quá trình di chuyển nên bước tiếp theo không khả dụng. Để bỏ qua lỗi, bạn có thể nhấp vào đây , nhưng ứng dụng hoặc một số tính năng có thể không hoạt động chính xác cho đến khi lỗi được giải quyết. diff --git a/htdocs/langs/vi_VN/interventions.lang b/htdocs/langs/vi_VN/interventions.lang index a926870eaa4..410b4171765 100644 --- a/htdocs/langs/vi_VN/interventions.lang +++ b/htdocs/langs/vi_VN/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Khu vực can thiệp DraftFichinter=Dự thảo can thiệp LastModifiedInterventions=Can thiệp sửa đổi mới nhất %s FichinterToProcess=Can thiệp để xử lý -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Theo dõi liên lạc của khách hàng -# Modele numérotation PrintProductsOnFichinter=Đồng thời in các dòng loại "sản phẩm" (không chỉ dịch vụ) trên thẻ can thiệp PrintProductsOnFichinterDetails=can thiệp được tạo ra từ các đơn đặt hàng UseServicesDurationOnFichinter=Sử dụng thời hạn dịch vụ cho các can thiệp được tạo ra từ các đơn đặt hàng @@ -53,7 +51,6 @@ InterventionStatistics=Thống kê các can thiệp NbOfinterventions=Số lượng thẻ can thiệp NumberOfInterventionsByMonth=Số thẻ can thiệp theo tháng (ngày xác nhận) AmountOfInteventionNotIncludedByDefault=Số tiền can thiệp không được tính theo mặc định vào lợi nhuận (trong hầu hết các trường hợp, bảng chấm công được sử dụng để tính thời gian tiêu thụ). Thêm tùy chọn gồm PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT thành 1 vào Nhà - Thiết lập - Khác -##### Exports ##### InterId=Id Can thiệp InterRef=Tham chiếu Can thiệp. InterDateCreation=Ngày tạo Can thiệp @@ -65,3 +62,7 @@ InterLineId=ID dòng Can thiệp InterLineDate=Ngày của dòng Can thiệp InterLineDuration=Thời hạn dòng Can thiệp InterLineDesc=Mô tả dòng Can thiệp +RepeatableIntervention=Mẫu can thiệp +ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/vi_VN/knowledgemanagement.lang b/htdocs/langs/vi_VN/knowledgemanagement.lang index 0de9c4ff2c6..ecb9713bde7 100644 --- a/htdocs/langs/vi_VN/knowledgemanagement.lang +++ b/htdocs/langs/vi_VN/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Về KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Điều KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/vi_VN/languages.lang b/htdocs/langs/vi_VN/languages.lang index c9dd762ef9f..87f1865ef05 100644 --- a/htdocs/langs/vi_VN/languages.lang +++ b/htdocs/langs/vi_VN/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Ả Rập Language_ar_EG=Ả Rập (Ai Cập) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Ả Rập +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Tiếng Bengal Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Hà Lan (Bỉ) Language_nl_NL=Hà Lan Language_pl_PL=Ba Lan +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Bồ Đào Nha (Brazil) Language_pt_PT=Bồ Đào Nha +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Rumani Language_ru_RU=Nga Language_ru_UA=Nga (Ukraine) diff --git a/htdocs/langs/vi_VN/mails.lang b/htdocs/langs/vi_VN/mails.lang index 2b9f6f9bd28..67b98858565 100644 --- a/htdocs/langs/vi_VN/mails.lang +++ b/htdocs/langs/vi_VN/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Xóa bộ lọc AdvTgtSaveFilter=Lưu bộ lọc AdvTgtCreateFilter=Tạo bộ lọc AdvTgtOrCreateNewFilter=Tên bộ lọc mới -NoContactWithCategoryFound=Không có liên lạc/địa chỉ với một danh mục được tìm thấy -NoContactLinkedToThirdpartieWithCategoryFound=Không có liên lạc/địa chỉ với một danh mục được tìm thấy +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index d6b2960b446..a5b7c670839 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Xu bổ sung VATRate=Thuế suất +RateOfTaxN=Rate of tax %s VATCode=Mã thuế suất VATNPR=Thuế suất NPR DefaultTaxRate=Thuế suất mặc định @@ -729,6 +730,7 @@ MenuMembers=Thành viên MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Giới hạn của Dolibarr (Thực đơn Nhà-Thiết lập-Bảo mật): %s Kb, giới hạn của PHP: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Ngôn ngữ hiện tại CurrentTheme=Theme hiện tại @@ -1072,6 +1074,7 @@ ValidFrom=Có hiệu lực từ ValidUntil=Có hiệu lực đến NoRecordedUsers=Không có người dùng ToClose=Để đóng +ToRefuse=To refuse ToProcess=Để xử lý ToApprove=Phê duyệt GlobalOpenedElemView=Xem toàn cục @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/vi_VN/members.lang b/htdocs/langs/vi_VN/members.lang index c2df22f839f..d1e6790968a 100644 --- a/htdocs/langs/vi_VN/members.lang +++ b/htdocs/langs/vi_VN/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Gửi lời nhắc qua email cho các thành MembershipPaid=Tư cách thành viên đã trả tiền cho kỳ hiện tại (cho đến khi %s) YouMayFindYourInvoiceInThisEmail=Bạn có thể tìm thấy hóa đơn của bạn được đính kèm với email này XMembersClosed=%s (các) thành viên đã đóng +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/vi_VN/modulebuilder.lang b/htdocs/langs/vi_VN/modulebuilder.lang index 6a1addc2a0d..905b86c8472 100644 --- a/htdocs/langs/vi_VN/modulebuilder.lang +++ b/htdocs/langs/vi_VN/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Chuyển mã ASCII sang HTML AsciiToPdfConverter=Chuyển ASCII sang PDF TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/vi_VN/mrp.lang b/htdocs/langs/vi_VN/mrp.lang index 1133ac46a0b..d24ddfe3b48 100644 --- a/htdocs/langs/vi_VN/mrp.lang +++ b/htdocs/langs/vi_VN/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Hóa đơn của vật liệu LatestBOMModified=Hóa đơn vật liệu được sửa đổi mới nhất %s LatestMOModified=Đơn đặt hàng sản xuất được sửa đổi mới nhất %s Bom=Hóa đơn của vật liệu -BillOfMaterials=Hóa đơn vật liệu +BillOfMaterials=Bill of Materials BOMsSetup=Thiết lập mô-đun BOM ListOfBOMs=Danh sách hóa đơn vật liệu - BOM ListOfManufacturingOrders=Danh sách các đơn đặt hàng sản xuất -NewBOM=Thêm Hóa đơn vật liệu -ProductBOMHelp=Sản phẩm để tạo với BOM này.
    Lưu ý: Các sản phẩm có thuộc tính 'Bản chất của sản phẩm' = 'Vật liệu' không hiển thị trong danh sách này. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=Mẫu đánh số BOM BOMsModelModule=Mẫu tài liệu BOM MOsNumberingModules=Mẫu đánh số MO @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Văn bản tủy ý trên tài liệu của BOM WatermarkOnDraftBOMs=Hình mờ trên dự thảo BOM FreeLegalTextOnMOs=Văn bản tủy ý trên tài liệu của MO WatermarkOnDraftMOs=Hình mờ trên dự thảo MO -ConfirmCloneBillOfMaterials=Bạn có chắc chắn muốn sao chép hóa đơn vật liệu %s? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Bạn có chắc chắn muốn sao chép Đơn hàng sản xuất %s không? ManufacturingEfficiency=Hiệu quả sản xuất ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Giá trị 0,95 có nghĩa là trung bình mất 5%% trong quá ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Xóa hóa đơn vật liệu DeleteMo=Xóa đơn hàng sản xuất -ConfirmDeleteBillOfMaterials=Bạn có chắc chắn muốn xóa Hóa đơn vật liệu này không? -ConfirmDeleteMo=Bạn có chắc chắn muốn xóa Hóa đơn vật liệu này không? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Đơn đặt hàng sản xuất NewMO=Thêm Đơn hàng sản xuất QtyToProduce=Số lượng để sản xuất @@ -39,7 +39,7 @@ DateStartPlannedMo=Ngày bắt đầu kế hoạch DateEndPlannedMo=Ngày kết thúc dự kiến KeepEmptyForAsap=Trống có nghĩa là 'càng sớm càng tốt' EstimatedDuration=Thời gian dự tính -EstimatedDurationDesc=Thời gian dự kiến để sản xuất sản phẩm này bằng BOM này +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Bạn có chắc chắn muốn xác nhận BOM với tham chiếu %s (bạn sẽ có thể sử dụng nó để xây dựng Đơn hàng sản xuất mới) ConfirmCloseBom=Bạn có chắc chắn muốn hủy BOM này (bạn sẽ không thể sử dụng nó để xây dựng Đơn đặt hàng sản xuất mới nữa)? ConfirmReopenBom=Bạn có chắc chắn muốn mở lại BOM này (bạn sẽ có thể sử dụng nó để xây dựng Đơn đặt hàng sản xuất mới) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Tiêu thụ và sản xuất tất cả Manufactured=Được sản xuất TheProductXIsAlreadyTheProductToProduce=Các sản phẩm để thêm đã là sản phẩm để sản xuất. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Bạn có chắc chắn muốn xác nhận Đơn hàng sản xuất này không? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Xóa NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/vi_VN/orders.lang b/htdocs/langs/vi_VN/orders.lang index 8cfeed65329..39bace9ec46 100644 --- a/htdocs/langs/vi_VN/orders.lang +++ b/htdocs/langs/vi_VN/orders.lang @@ -11,6 +11,7 @@ OrderDate=Ngày đặt hàng OrderDateShort=Ngày đặt hàng OrderToProcess=Đơn hàng xử lý NewOrder=Đơn hàng mới +NewSupplierOrderShort=Đơn hàng mới NewOrderSupplier=Đơn đặt hàng mua mới ToOrder=Tạo đơn hàng MakeOrder=Tạo đơn hàng @@ -73,6 +74,7 @@ DeleteOrder=Xóa đơn hàng CancelOrder=Hủy đơn hàng OrderReopened= Đơn hàng %s được mở lại AddOrder=Tạo đơn hàng +AddSupplierOrderShort=Tạo đơn hàng AddPurchaseOrder=Tạo đơn hàng mua AddToDraftOrders=Thêm vào đơn hàng dự thảo ShowOrder=Hiển thị đơn hàng diff --git a/htdocs/langs/vi_VN/other.lang b/htdocs/langs/vi_VN/other.lang index 0a96b0891f0..5551849343e 100644 --- a/htdocs/langs/vi_VN/other.lang +++ b/htdocs/langs/vi_VN/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=Người sử dụng đăng nhập người đóng FileWasRemoved=Tập tin% s đã được gỡ bỏ DirWasRemoved=Thư mục% s đã được gỡ bỏ FeatureNotYetAvailable=Tính năng chưa có trong phiên bản hiện tại +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Các tính năng được hỗ trợ Width=Chiều rộng Height=Chiều cao @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Liên hệ / địa chỉ được tạo bởi tr ProjectCreatedByEmailCollector=Dự án được tạo bởi trình thu thập email từ email MSGID %s TicketCreatedByEmailCollector=Vé được tạo bởi trình thu thập email từ email MSGID %s OpeningHoursFormatDesc=Sử dụng một - để tách giờ mở và đóng cửa.
    Sử dụng một khoảng trắng để nhập các phạm vi khác nhau.
    Ví dụ: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Khu vực xuất khẩu @@ -290,3 +291,7 @@ PopuCom=Sản phẩm/dịch vụ phổ biến trong Đơn hàng ProductStatistics=Thống kê sản phẩm/dịch vụ NbOfQtyInOrders=Số lượng đã đặt hàng SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Đóng diff --git a/htdocs/langs/vi_VN/partnership.lang b/htdocs/langs/vi_VN/partnership.lang index 0a690c176b4..4766b8adac3 100644 --- a/htdocs/langs/vi_VN/partnership.lang +++ b/htdocs/langs/vi_VN/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Ngày bắt đầu DatePartnershipEnd=Ngày kết thúc +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Dự thảo -PartnershipAccepted = Đã được chấp nhận -PartnershipRefused = Bị từ chối -PartnershipCanceled = Đã hủy - +PartnershipDraft=Dự thảo +PartnershipAccepted=Đã được chấp nhận +PartnershipRefused=Bị từ chối +PartnershipCanceled=Đã hủy PartnershipManagedFor=Partners are diff --git a/htdocs/langs/vi_VN/productbatch.lang b/htdocs/langs/vi_VN/productbatch.lang index 664b919a209..7201a8fb3bf 100644 --- a/htdocs/langs/vi_VN/productbatch.lang +++ b/htdocs/langs/vi_VN/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Sử dụng số lô / số sê-ri ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Hiển thị nhật ký biến động kho cho cặp sả StockDetailPerBatch=Chi tiết tồn kho trên mỗi lô SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index de924f3ac3a..65496ad31fc 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Giá khác nhau cho mỗi khách hàng PriceCatalogue=Giá bán lẻ cho từng sản phẩm/dịch vụ PricingRule=Quy tắc cho giá bán AddCustomerPrice=Thêm giá theo khách hàng -ForceUpdateChildPriceSoc=Đặt giá giống nhau trên nhóm khách hàng phụ thuộc +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Nhật ký giá trước đây của khách hàng MinimumPriceLimit=Giá tối thiểu không thể thấp hơn %s MinimumRecommendedPrice=Giá đề xuất tối thiểu là: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Tăng/Giảm tồn kho trên thay đổi gốc ComposedProduct=Các sản phẩm con MinSupplierPrice=Giá mua tối thiểu MinCustomerPrice=Giá bán tối thiểu +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Cấu hình giá linh hoạt DynamicPriceDesc=Bạn có thể định nghĩa các công thức toán học để tính giá cho Khách hàng hoặc của Nhà cung cấp. Các công thức như vậy có thể sử dụng tất cả các toán tử, hằng số và biến. Ở đây, bạn có thể định nghĩa các biến bạn muốn sử dụng. Nếu biến cần cập nhật tự động, bạn có thể định rõ URL bên ngoài để cho phép Dolibarr tự động cập nhật giá trị. AddVariable=Thêm biến @@ -340,7 +341,7 @@ ProductSheet=Sản phẩm ServiceSheet=Sheet dịch vụ PossibleValues=Các giá trị có thể GoOnMenuToCreateVairants=Vào menu %s - %s để chuẩn bị các biến thể thuộc tính (như màu sắc, kích thước, ...) -UseProductFournDesc=Thêm một tính năng để xác định các mô tả sản phẩm được mô tả bởi các nhà cung cấp bên cạnh các mô tả cho khách hàng +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Mô tả sản phẩm của nhà cung cấp UseProductSupplierPackaging=Sử dụng đóng gói theo giá của nhà cung cấp (tính toán lại số lượng theo bao bì được đặt theo giá của nhà cung cấp khi thêm / cập nhật dòng trong tài liệu của nhà cung cấp) PackagingForThisProduct=Đóng gói @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Hành động chỉ có hiệu lực trên b ProductsPricePerCustomer=Giá sản phẩm mỗi khách hàng ProductSupplierExtraFields=Thuộc tính bổ sung (Giá Nhà cung cấp) DeleteLinkedProduct=Xóa sản phẩm con được liên kết với sự kết hợp +PMPValue=Giá bình quân gia quyền +PMPValueShort=WAP diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index 5736bb007fe..efc6c68cd86 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -140,6 +140,7 @@ NoTasks=Không có tác vụ nào cho dự án này LinkedToAnotherCompany=Được liên kết đến các bên thứ ba TaskIsNotAssignedToUser=Nhiệm vụ không được giao cho người dùng. Sử dụng nút ' %s ' để phân công nhiệm vụ ngay bây giờ. ErrorTimeSpentIsEmpty=Thời gian đã qua đang trống +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=Thao tác này sẽ xóa toàn bộ các tác vụ của dự án (%s các tác vụ ở thời điểm hiện tại) và toàn bộ dữ liệu đã nhập vào trong suốt thời gian vừa qua. IfNeedToUseOtherObjectKeepEmpty=Nếu một số đối tượng (hóa đơn, đơn hàng, ...), thuộc về một bên thứ ba khác, phải có liên kết đến dự án để tạo, giữ phần này trống để dự án có sự tham gia của nhiều bên thứ ba khác CloneTasks=Nhân bản tác vụ @@ -241,6 +242,7 @@ LatestModifiedProjects=Dự án sửa đổi %s mới nhất OtherFilteredTasks=Các nhiệm vụ được lọc khác NoAssignedTasks=Không tìm thấy nhiệm vụ được giao (chỉ định dự án / nhiệm vụ cho người dùng hiện tại từ hộp chọn trên cùng để nhập thời gian vào nó) ThirdPartyRequiredToGenerateInvoice=Một bên thứ ba phải được xác định trong dự án để có thể lập hóa đơn. +ThirdPartyRequiredToGenerateInvoice=Một bên thứ ba phải được xác định trong dự án để có thể lập hóa đơn. ChooseANotYetAssignedTask=Chọn một cônng việc chưa gán cho bạn # Comments trans AllowCommentOnTask=Cho phép người dùng nhận xét về các nhiệm vụ @@ -252,10 +254,12 @@ SendProjectRef=Thông tin dự án %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Mô-đun "Tiền lương" phải được bật để xác định mức lương hàng giờ của nhân viên để có thời gian được định giá NewTaskRefSuggested=Tham chiếu nhiệm vụ đã được sử dụng, yêu cầu một tham chiếu nhiệm vụ mới TimeSpentInvoiced=Thời gian đã qua được lập hóa đơn +TimeSpentForIntervention=Thời gian đã qua TimeSpentForInvoice=Thời gian đã qua OneLinePerUser=Một dòng trên mỗi người dùng ServiceToUseOnLines=Dịch vụ được sử dụng trên các dòng InvoiceGeneratedFromTimeSpent=Hóa đơn %s đã được tạo từ thời gian dành đã qua trên dự án +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Kiểm tra xem bạn nhập bảng thời gian vào các nhiệm vụ của dự án VÀ bạn có kế hoạch tạo (các) hóa đơn từ bảng chấm công để lập hóa đơn cho khách hàng của dự án (không kiểm tra xem bạn có kế hoạch tạo hóa đơn không dựa trên bảng thời gian đã nhập không). Lưu ý: Để tạo hóa đơn, hãy chuyển đến tab 'Thời gian sử dụng' của dự án và chọn các dòng để đưa vào. ProjectFollowOpportunity=Theo dõi cơ hội ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Cách dùng: Cơ hội UsageTasks=Cách dùng: Nhiệm vụ UsageBillTimeShort=Cách dùng: Hóa đơn thời gian InvoiceToUse=Hoá đơn dự thảo sử dụng +InterToUse=Draft intervention to use NewInvoice=Hóa đơn mới +NewInter=Can thiệp mới OneLinePerTask=Dòng dòng một công việc OneLinePerPeriod=Một dòng cho một khoảng thời gian +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Tham chiếu công việc cấp cha ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/vi_VN/receptions.lang b/htdocs/langs/vi_VN/receptions.lang index 6deb00337fe..43e74be8acf 100644 --- a/htdocs/langs/vi_VN/receptions.lang +++ b/htdocs/langs/vi_VN/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=Trước tiên, bạn phải xác nhận đơn ReceptionsNumberingModules=Mô-đun đánh số cho tiếp nhận ReceptionsReceiptModel=Mẫu tài liệu cho tiếp nhận NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/vi_VN/salaries.lang b/htdocs/langs/vi_VN/salaries.lang index b553a9fde51..e0bbab568a9 100644 --- a/htdocs/langs/vi_VN/salaries.lang +++ b/htdocs/langs/vi_VN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Tài khoản kế toán được sử dụng cho bên thứ ba của người dùng SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Tài khoản kế toán chuyên dụng được xác định trên thẻ người dùng sẽ chỉ được sử dụng cho kế toán Sổ phụ. Tài khoản này sẽ được sử dụng cho Sổ cái chung và là giá trị mặc định của kế toán Sổ phụ nếu tài khoản kế toán chuyên dụng trên người dùng không được xác định. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Tài khoản kế toán theo mặc định cho các khoản thanh toán tiền lương +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mức lương Salaries=Tiền lương -NewSalaryPayment=Thanh toán tiền lương mới +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Thêm thanh toán tiền lương SalaryPayment=Thanh toán tiền lương SalariesPayments=Lương thanh toán +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Hiện thanh toán tiền lương THM=Tỷ lệ trung bình mỗi giờ TJM=Tỷ lệ trung bình hàng ngày CurrentSalary=Mức lương hiện tại THMDescription=Giá trị này có thể được sử dụng để tính chi phí thời gian tiêu thụ cho một dự án được nhập bởi người dùng nếu mô-đun dự án được sử dụng TJMDescription=Giá trị này hiện chỉ là thông tin và không được sử dụng cho bất kỳ phép tính nào -LastSalaries=Thanh toán tiền lương %s mới nhất -AllSalaries=Tất cả các khoản thanh toán tiền lương +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Thống kê lương -# Export SalariesAndPayments=Lương và thanh toán +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/vi_VN/stocks.lang b/htdocs/langs/vi_VN/stocks.lang index 6ca53c6ae44..69b50adbcf7 100644 --- a/htdocs/langs/vi_VN/stocks.lang +++ b/htdocs/langs/vi_VN/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Giá mua đơn vị StockTooLow=Tồn kho quá thấp StockLowerThanLimit=Tồn kho thấp hơn giới hạn cảnh báo (%s) EnhancedValue=Giá trị -PMPValue=Giá bình quân gia quyền -PMPValueShort=WAP EnhancedValueOfWarehouses=Giá trị kho UserWarehouseAutoCreate=Tự động tạo người dùng kho khi tạo người dùng AllowAddLimitStockByWarehouse=Quản lý đồng thời giá trị cho tồn kho tối thiểu và mong muốn trên mỗi cặp (sản phẩm - kho) ngoài giá trị cho tồn kho tối thiểu và mong muốn trên mỗi sản phẩm RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Chuyển tồn kho của sản phẩm %s vào kho khác InventoryCodeShort=Mã chuyển/kiểm kho NoPendingReceptionOnSupplierOrder=Không chờ tiếp nhận do đơn đặt hàng mua mở ThisSerialAlreadyExistWithDifferentDate=Số lô/sê-ri này ( %s ) đã tồn tại nhưng với hạn sử dụng hoặc hạn bán khác nhau (tìm thấy %s nhưng bạn nhập %s ). -OpenAll=Mở cho tất cả các hành động -OpenInternal=Chỉ mở cho các hành động nội bộ +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Sử dụng trạng thái trình công văn (phê duyệt / từ chối) cho các dòng sản phẩm khi nhận đơn đặt hàng OptionMULTIPRICESIsOn=Tùy chọn "một vài mức giá cho mỗi phân khúc" được bật. Điều đó có nghĩa là một sản phẩm có nhiều giá bán nên không thể tính được giá trị bán ProductStockWarehouseCreated=Giới hạn tồn kho để cảnh báo và tồn kho tối ưu mong muốn được tạo chính xác @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Mở lại -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/vi_VN/ticket.lang b/htdocs/langs/vi_VN/ticket.lang index dad560fa10f..5f0ec994cbc 100644 --- a/htdocs/langs/vi_VN/ticket.lang +++ b/htdocs/langs/vi_VN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Câu hỏi thương mại TicketTypeShortHELP=Yêu cầu trợ giúp chức năng -TicketTypeShortISSUE=Sự cố, lỗi hoặc vấn đề +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Yêu cầu thay đổi hoặc nâng cao TicketTypeShortPROJET=Dự án TicketTypeShortOTHER=Khác @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Người dùng được chỉ định TypeContact_ticket_external_SUPPORTCLI=Theo dõi liên lạc / sự cố khách hàng  TypeContact_ticket_external_CONTRIBUTOR=Người cộng tác bên ngoài -OriginEmail=Nguồn email +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Gửi tin nhắn vé qua email # Status Read=Đọc Assigned=Phân công InProgress=Trong tiến trình xử lý -NeedMoreInformation=Đang chờ thông tin +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Đã trả lời Waiting=Đang chờ -Closed=Đã đóng +SolvedClosed=Solved Deleted=Đã xóa # Dict @@ -160,7 +162,7 @@ CreatedBy=Được tạo bởi NewTicket=Vé mới SubjectAnswerToTicket=Trả lời vé TicketTypeRequest=Loại yêu cầu -TicketCategory=Nhóm +TicketCategory=Ticket categorization SeeTicket=Xem vé TicketMarkedAsRead=Vé đã được đánh dấu là đã đọc TicketReadOn=Đọc tiếp @@ -184,9 +186,11 @@ TicketSeverity=Mức độ nghiêm trọng ShowTicket=Xem vé RelatedTickets=Vé liên quan TicketAddIntervention=Tạo sự can thiệp -CloseTicket=Đóng vé -CloseATicket=Đóng vé +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Xác nhận đóng vé +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Vui lòng xác nhận xóa vé TicketDeletedSuccess=Vé đã xóa thành công TicketMarkedAsClosed=Vé được đánh dấu là đã đóng @@ -211,6 +215,7 @@ TicketMessageHelp=Chỉ văn bản này sẽ được lưu trong danh sách tin TicketMessageSubstitutionReplacedByGenericValues=Các biến thay thế được thay thế bằng các giá trị chung. TimeElapsedSince=Thời gian trôi qua kể từ khi TicketTimeToRead=Thời gian trôi qua trước khi đọc +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Liên hệ vé TicketDocumentsLinked=Tài liệu liên kết với vé ConfirmReOpenTicket=Xác nhận mở lại vé này? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Vé sửa đổi mới nhất BoxLastModifiedTicketDescription=Vé sửa đổi mới nhất %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Không có vé sửa đổi gần đây -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/vi_VN/trips.lang b/htdocs/langs/vi_VN/trips.lang index af64ab0659d..d477a5d9a03 100644 --- a/htdocs/langs/vi_VN/trips.lang +++ b/htdocs/langs/vi_VN/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=Báo cáo chi phí %s đã bị hủy.
    - Ngư ExpenseReportPaid=Một báo cáo chi phí đã được thanh toán ExpenseReportPaidMessage=Báo cáo chi phí %s đã được thanh toán.
    - Người dùng: %s
    - Được trả bởi: %s
    Nhấn vào đây để hiển thị báo cáo chi phí: %s TripId=ID Báo cáo chi phí -AnyOtherInThisListCanValidate=Người để thông báo xác nhận. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Thông tin công ty TripNDF=Thông tin báo cáo chi phí PDFStandardExpenseReports=Mẫu chuẩn để tạo tài liệu PDF cho báo cáo chi phí @@ -90,7 +90,6 @@ DATE_REFUS=Ngày từ chối DATE_SAVE=Ngày xác nhận DATE_CANCEL=Ngày hủy DATE_PAIEMENT=Ngày thanh toán -BROUILLONNER=Mở lại ExpenseReportRef=Tham chiếu báo cáo chi phí ValidateAndSubmit=Xác nhận và trình phê duyệt ValidatedWaitingApproval=Xác nhận (chờ phê duyệt) @@ -110,7 +109,7 @@ ExpenseReportPayment=Thanh toán báo cáo chi phí ExpenseReportsToApprove=Báo cáo chi phí để phê duyệt ExpenseReportsToPay=Báo cáo chi phí phải trả ConfirmCloneExpenseReport=Bạn có chắc chắn muốn sao chép báo cáo chi phí này? -ExpenseReportsIk=Báo cáo chi phí chỉ số milles +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Quy tắc báo cáo chi phí ExpenseReportIkDesc=Bạn có thể sửa đổi cách tính chi phí km theo danh mục và phạm vi người được xác định trước đó. d là khoảng cách tính bằng km ExpenseReportRulesDesc=Bạn có thể tạo hoặc cập nhật bất kỳ quy tắc tính toán. Phần này sẽ được sử dụng khi người dùng tạo một báo cáo chi phí mới @@ -145,7 +144,7 @@ nolimitbyEX_DAY=theo ngày (không giới hạn) nolimitbyEX_MON=theo tháng (không giới hạn) nolimitbyEX_YEA=theo năm (không giới hạn) nolimitbyEX_EXP=theo dòng (không giới hạn) -CarCategory=Danh mục xe +CarCategory=Vehicle category ExpenseRangeOffset=Số tiền offset: %s RangeIk=Phạm vi số dặm AttachTheNewLineToTheDocument=Đính kèm dòng vào một tài liệu được tải lên diff --git a/htdocs/langs/vi_VN/users.lang b/htdocs/langs/vi_VN/users.lang index 73fbed5392e..6c34f21df6c 100644 --- a/htdocs/langs/vi_VN/users.lang +++ b/htdocs/langs/vi_VN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Đăng nhập để tạo NameToCreate=Tên của bên thứ ba để tạo YourRole=Vai trò của bạn YourQuotaOfUsersIsReached=Hạn ngạch của người dùng hoạt động đã hết! -NbOfUsers=Số lượng người dùng -NbOfPermissions=Số lượng phân quyền +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Chỉ có một superadmin có thể hạ bậc một superadmin HierarchicalResponsible=Giám sát HierarchicView=Xem tính kế thừa diff --git a/htdocs/langs/vi_VN/website.lang b/htdocs/langs/vi_VN/website.lang index c88a35daf86..def041bf053 100644 --- a/htdocs/langs/vi_VN/website.lang +++ b/htdocs/langs/vi_VN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Thêm trang web Webpage=Trang web / vùng chứa AddPage=Thêm trang / vùng chứa PageContainer=Trang -PreviewOfSiteNotYetAvailable=Xem trước trang web của bạn %s chưa có sẵn. Trước tiên, bạn phải ' Nhập mẫu trang web đầy đủ ' hoặc chỉ ' Thêm trang / vùng chứa '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Trang được yêu cầu có id %s chưa có nội dung hoặc tệp bộ đệm .tpl.php đã bị xóa. Chỉnh sửa nội dung của trang để giải quyết điều này. SiteDeleted=Trang web '%s' đã bị xóa PageContent=Trang / Vùng chứa diff --git a/htdocs/langs/vi_VN/withdrawals.lang b/htdocs/langs/vi_VN/withdrawals.lang index 2b2c1e76554..63c347dcaf2 100644 --- a/htdocs/langs/vi_VN/withdrawals.lang +++ b/htdocs/langs/vi_VN/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s yêu cầu thanh toán ghi nợ trực tiếp được g BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Mã ngân hàng của bên thứ ba NoInvoiceCouldBeWithdrawed=Không có hóa đơn ghi nợ thành công. Kiểm tra xem hóa đơn có trên các công ty có IBAN hợp lệ không và IBAN có UMR (Tham chiếu ủy quyền duy nhất) với chế độ %s . +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Phân loại tín dụng ClassCreditedConfirm=Bạn có chắc chắn muốn phân loại biên nhận rút tiền này là ghi có trên tài khoản ngân hàng của bạn không? TransData=Ngày chuyển @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Ngày thi hành CreateForSepa=Tạo tập tin ghi nợ trực tiếp -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END=Thẻ SEPA XML "EndToEndId" - Id duy nhất được gán cho mỗi giao dịch USTRD=Thẻ SEPA XML "không cấu trúc" ADDDAYS=Thêm ngày vào Ngày thực hiện diff --git a/htdocs/langs/vi_VN/workflow.lang b/htdocs/langs/vi_VN/workflow.lang index 5926b4e4b9b..674f242e16e 100644 --- a/htdocs/langs/vi_VN/workflow.lang +++ b/htdocs/langs/vi_VN/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Phân loại đề xuất nguồn đ descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Phân loại đơn đặt hàng bán nguồn được liên kết là đã xuất hóa đơn khi hóa đơn của khách hàng được xác nhận(và nếu số tiền hóa đơn giống với tổng số tiền của đơn hàng được liên kết) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Phân loại đơn đặt hàng bán nguồn được liên kết là đã xuất hóa đơn khi hóa đơn của khách hàng được đặt thành thanh toán (và nếu số tiền của hóa đơn giống với tổng số tiền của đơn hàng được liên kết) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Phân loại đơn đặt hàng bán nguồn được liên kết khi vận chuyển khi một lô hàng được xác nhận (và nếu số tiền vận chuyển của tất cả các lô hàng giống như trong đơn hàng để cập nhật) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Phân loại đề xuất nhà cung cấp nguồn được liên kết là đã xuất hóa đơn khi hóa đơn của nhà cung cấp được xác nhận (và nếu số tiền hóa đơn giống với tổng số tiền của đề xuất được liên kết) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Phân loại đơn đặt hàng mua nguồn được liên kết là đã xuất hóa đơn khi hóa đơn của nhà cung cấp được xác nhận (và nếu số tiền hóa đơn giống với tổng số tiền của đơn hàng được liên kết) diff --git a/htdocs/langs/zh_CN/accountancy.lang b/htdocs/langs/zh_CN/accountancy.lang index 6d6fdd5baa6..fb19f6024c2 100644 --- a/htdocs/langs/zh_CN/accountancy.lang +++ b/htdocs/langs/zh_CN/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=非欧共体国家 CountriesInEECExceptMe=欧共体国家除了%s CountriesExceptMe=除%s以外的所有国家/地区 AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=禁止在银行帐户中直接记录交易 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=会计科目清单 UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=付款未与任何产品/服务相关联 OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=导出日常报表草稿 Modelcsv=导出型号 Selectmodelcsv=请选择一个导出模板 @@ -335,7 +339,7 @@ Modelcsv_normal=典型的导出 Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index 0ddf580c5f6..7800a27b5e3 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -53,6 +53,7 @@ InternalUser=内部员工用户 ExternalUser=外部用户 InternalUsers=内部员工用户 ExternalUsers=外部用户 +UserInterface=User interface GUISetup=主题 SetupArea=设置 UploadNewTemplate=上传新模板 @@ -84,6 +85,7 @@ NumberOfBytes=字节数 SearchString=搜寻字串 NotAvailableWhenAjaxDisabled=Ajax 禁用时不可用 AllowToSelectProjectFromOtherCompany=在合作方的文档上,可以选择链接到另一个合作方的项目 +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=禁用 JavaScript UsePreviewTabs=使用预览标签 ShowPreview=显示预览 @@ -116,6 +118,7 @@ MultiCurrencySetup=多币种设置 MenuLimits=精确度 MenuIdParent=父菜单ID DetailMenuIdParent=父菜单ID (空表示顶级菜单) +ParentID=Parent ID DetailPosition=排序编号,以确定菜单位置 AllMenus=全部 NotConfigured=模块或应用未配置 @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=功能仅适用于官方稳定版本 BoxesDesc=资讯框是一些页面中显示信息的屏幕区域。你可以选择目标页面并点击“启用”或垃圾桶按钮来显示或禁用这些信息域。 OnlyActiveElementsAreShown=仅显示 已启用模块 的元素。 ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=你能在外部互联网查找到并下载更多的功能模块... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=更多模块... @@ -221,8 +225,8 @@ NotCompatible=此模块似乎与您的Dolibarr %s(Min %s - Max %s)不兼 CompatibleAfterUpdate=此模块需要更新Dolibarr %s(Min %s - Max %s)。 SeeInMarkerPlace=在市场上看到 SeeSetupOfModule=参见模块设置 %s +SetOptionTo=Set option %s to %s Updated=已更新 -Nouveauté=新颖 AchatTelechargement=购买/下载 GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore,为 Dolibarr 的 ERP/CRM 的外部模块官方市场 @@ -399,6 +403,7 @@ SecurityToken=保护URL链接的密钥 NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF格式 PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=销售税/增值税规则 @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=联系人/订阅 Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=条码 -Module55Desc=条码管理 +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=创建/变更折扣 Permission403=确认折扣 Permission404=删除折扣 Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=导出工资 Permission520=读取贷款 Permission522=创建/变更贷款 @@ -965,6 +970,8 @@ Permission23003=删除排定任务 Permission23004=执行排定任务 Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=读取交易 Permission50202=导入交易 Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=社交网络 DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=费用报告 - 运输类别 DictionaryExpenseTaxRange=费用报告 - 按运输类别排列 DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=设置已经成功保存 SetupNotSaved=安装程序未保存 @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=安全稽核 +Audit=Security events InfoDolibarr=关于Dolibarr InfoBrowser=关于浏览器 InfoOS=关于OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL 在您的 PHP 中不可用 DownloadMoreSkins=下载更多外观主题 SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=部分翻译 MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=标准模式 @@ -1319,9 +1330,12 @@ ConditionIsCurrently=当前条件为 %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=搜索优化 -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=主要选项 AdherentLoginRequired= 管理人员登陆 AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=设置向会员发送邮件确认(会员确认或添加订阅)复选框默认为启用 +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=启用声音通知 AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=将链接对象显示在议程视图中 ##### Clicktodial ##### ClickToDialSetup=点击拨号模块设置 ClickToDialUrlDesc=当点击手机图片完成时,网址会被呼叫。在网址中,您可以使用标记为
    __ PHONETO __ ,这些标记将替换为要拨打电话号码的人员的电话号码
    __ PHONEFROM __ 将替换为通话电话号码person(你的)
    __ LOGIN __将替换为clicktodial登录(在用户卡上定义)
    __ PASS __ 将替换为clicktodial密码(在用户上定义)卡)。 ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=在电话号码上链接 "tel:" -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=PDF的右边距 MAIN_PDF_MARGIN_TOP=PDF的上边距 MAIN_PDF_MARGIN_BOTTOM=PDF的底部边距 MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=如果此组是其他组的计算,则将此值设置为yes EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=推荐 +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/zh_CN/agenda.lang b/htdocs/langs/zh_CN/agenda.lang index 0537baf6b02..ca2be71a2ef 100644 --- a/htdocs/langs/zh_CN/agenda.lang +++ b/htdocs/langs/zh_CN/agenda.lang @@ -4,7 +4,7 @@ Actions=事件 Agenda=待办事项 TMenuAgenda=待办事项 Agendas=待办事项 -LocalAgenda=内部日历 +LocalAgenda=Default calendar ActionsOwnedBy=按用户活动 ActionsOwnedByShort=用户 AffectedTo=分配给 @@ -14,13 +14,13 @@ EventsNb=事件数 ListOfActions=事件列表 EventReports=活动报告 Location=位置 -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=全天事件 MenuToDoActions=所有未完成的事件 MenuDoneActions=所有终止事件 MenuToDoMyActions=我的未完成事件 MenuDoneMyActions=我的已经终结的事件 -ListOfEvents=事件列表(内部日历) +ListOfEvents=List of events (default calendar) ActionsAskedBy=记录操作 ActionsToDoBy=事件分配给 ActionsDoneBy=做的动作 @@ -38,6 +38,7 @@ ActionsEvents=Dolibarr将为其自动创建一个动作的事件 EventRemindersByEmailNotEnabled=通过电子邮件发送的事件提醒未启用到%s模块设置中。 ##### Agenda event labels ##### NewCompanyToDolibarr=合作方 %s 已创建 +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=联系人 %s 已验证 CONTRACT_DELETEInDolibarr=合同%s已删除 @@ -87,6 +88,7 @@ OrderDeleted=订单已删除 InvoiceDeleted=发票已删除 DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=产品%s已创建 PRODUCT_MODIFYInDolibarr=产品%s改装 @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=事件的文档模板 DateActionStart=开始日期 @@ -130,7 +133,7 @@ AgendaUrlOptions4= logint = %s将输出限制为分配给用户 %s project = __ PROJECT_ID __
    将输出限制为链接到项目 __ PROJECT_ID __的操作。 AgendaUrlOptionsNotAutoEvent= notactiontype = systemauto 排除自动事件。 AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=显示联系人生日 +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=隐藏联系人生日 Busy=忙碌 ExportDataset_event1=待办事项事件列表 @@ -152,6 +155,7 @@ ActionType=活动类型 DateActionBegin=活动开始日期 ConfirmCloneEvent=您确定要克隆事件 %s 吗? RepeatEvent=重复事件 +OnceOnly=Once only EveryWeek=每周 EveryMonth=每月 DayOfMonth=每月天数 @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/zh_CN/banks.lang b/htdocs/langs/zh_CN/banks.lang index 958757ffeda..63419453329 100644 --- a/htdocs/langs/zh_CN/banks.lang +++ b/htdocs/langs/zh_CN/banks.lang @@ -115,7 +115,7 @@ TransferTo=至 TransferFromToDone=从%s%s转帐%s已被记录。 CheckTransmitter=发送方 ValidateCheckReceipt=验证此支票收据? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=删除此支票收据? ConfirmDeleteCheckReceipt=您确定要删除此支票收据吗? BankChecks=银行支票 diff --git a/htdocs/langs/zh_CN/bills.lang b/htdocs/langs/zh_CN/bills.lang index 270e7c8f78a..15f621ad140 100644 --- a/htdocs/langs/zh_CN/bills.lang +++ b/htdocs/langs/zh_CN/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=付款到期 DateInvoice=发票日期 DatePointOfTax=税点 NoInvoice=没有发票 +NoOpenInvoice=No open invoice ClassifyBill=分类发票 SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=未付款顾客发票 @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/zh_CN/boxes.lang b/htdocs/langs/zh_CN/boxes.lang index 0f72cb46cb6..d2b765df1c0 100644 --- a/htdocs/langs/zh_CN/boxes.lang +++ b/htdocs/langs/zh_CN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=最近变更的 %s 份报价 -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=客户发票 ForCustomersOrders=客户订单 ForProposals=报价 diff --git a/htdocs/langs/zh_CN/cashdesk.lang b/htdocs/langs/zh_CN/cashdesk.lang index 3d9202d5443..ec4c5ae1a54 100644 --- a/htdocs/langs/zh_CN/cashdesk.lang +++ b/htdocs/langs/zh_CN/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/zh_CN/compta.lang b/htdocs/langs/zh_CN/compta.lang index ddafa9046fd..f30ade1ef86 100644 --- a/htdocs/langs/zh_CN/compta.lang +++ b/htdocs/langs/zh_CN/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/zh_CN/cron.lang b/htdocs/langs/zh_CN/cron.lang index 63b93692f0e..d14d20202fa 100644 --- a/htdocs/langs/zh_CN/cron.lang +++ b/htdocs/langs/zh_CN/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=结束日期不能早过开始日期啊,时光不能倒 StatusAtInstall=模块安装时的状态 CronStatusActiveBtn=Schedule CronStatusInactiveBtn=禁用 -CronTaskInactive=这个工作已失效 +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=带有类的文件名 CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/zh_CN/deliveries.lang b/htdocs/langs/zh_CN/deliveries.lang index 38c9b4fc09e..af63b1c926c 100644 --- a/htdocs/langs/zh_CN/deliveries.lang +++ b/htdocs/langs/zh_CN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=接收方 ErrorStockIsNotEnough=库存不足 Shippable=可运输 NonShippable=不可运输 +ShowShippableStatus=Show shippable status ShowReceiving=显示送达回执 NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index f3840ee22b4..b5a25051391 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=参数值不正确。它通常在缺少翻译时 ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=登陆%s已经存在。 ErrorGroupAlreadyExists=组%s已经存在。 +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=记录没有找到。 ErrorFailToCopyFile=无法复制文件'%s''%s'。 ErrorFailToCopyDir=无法将目录“ %s ”复制到“ %s ”中。 @@ -117,7 +118,7 @@ ErrorCantReadFile=无法读取档案'%s' ErrorCantReadDir=无法读取目录'%s' ErrorBadLoginPassword=帐号密码不正确 ErrorLoginDisabled=您的帐户已被禁用 -ErrorFailedToRunExternalCommand=无法运行外部命令。检查它是可用和可运行在PHP的服务器。如果PHP 安全模式被激活,请检查命令safe_mode_exec_dir之内,是由参数定义一个目录。 +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=无法更改密码 ErrorLoginDoesNotExists=登陆账号 %s 有误——系统中没有这个账户. ErrorLoginHasNoEmail=此账户未设定Email地址。无法使用该功能. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/zh_CN/eventorganization.lang b/htdocs/langs/zh_CN/eventorganization.lang index 90ded2ddd49..110863f923d 100644 --- a/htdocs/langs/zh_CN/eventorganization.lang +++ b/htdocs/langs/zh_CN/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = 活动类型 +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/zh_CN/exports.lang b/htdocs/langs/zh_CN/exports.lang index 11cfd2fcb7e..3836e3d001e 100644 --- a/htdocs/langs/zh_CN/exports.lang +++ b/htdocs/langs/zh_CN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=型号明细(0 =表示产品,1 =表示服务) FileWithDataToImport=与数据文件导入 FileToImport=源文件导入 FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=源文件格式 diff --git a/htdocs/langs/zh_CN/holiday.lang b/htdocs/langs/zh_CN/holiday.lang index 748f61839d6..80eb27aebf5 100644 --- a/htdocs/langs/zh_CN/holiday.lang +++ b/htdocs/langs/zh_CN/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=等待批准 ApprovedCP=批准 CancelCP=取消 RefuseCP=拒绝 -ValidatorCP=同意 +ValidatorCP=Approver ListeCP=List of leave Leave=请假条 LeaveId=请假申请 ID @@ -39,11 +39,11 @@ TitreRequestCP=请假条 TypeOfLeaveId=请假ID的类型 TypeOfLeaveCode=请假类型 TypeOfLeaveLabel=请假标签的类型 -NbUseDaysCP=消耗的休假天数 -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=消耗的天数 -NbUseDaysCPShortInMonth=一个月消耗的天数 -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=以月开始日期 DateEndInMonth=截止日期 EditCP=编辑 @@ -55,7 +55,7 @@ TitleDeleteCP=删除请假条 ConfirmDeleteCP=确认删除该请假申请? ErrorCantDeleteCP=错误,您没有权限删除这个请假条。 CantCreateCP=您无权做请假条。 -InvalidValidatorCP=你必须选择同意你自己的请假申请。 +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=起始日期为必选。 NoDateFin=结束日期为必选。 ErrorDureeCP=你的请假申请不在工作时间内即是说你不需要请假因为不是工作时间呀请什么假呀。 @@ -80,14 +80,14 @@ UserCP=用户 ErrorAddEventToUserCP=添加外部请假时出错异常。 AddEventToUserOkCP=外部请假添加成功。 MenuLogCP=查看变更日志 -LogCP=可用休假天数的更新日志 -ActionByCP=执行人 -UserUpdateCP=用户 +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=上一条平衡 NewSoldeCP=新建平衡 alreadyCPexist=这个期间已有请假申请了。 -FirstDayOfHoliday=假期第一天 -LastDayOfHoliday=假期最后一天 +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=最近变更的 %s 份请假申请 HolidaysMonthlyUpdate=每月更新 ManualUpdate=手动更新 @@ -104,8 +104,8 @@ LEAVE_SICK=病假 LEAVE_OTHER=其他请假 LEAVE_PAID_FR=带薪休假 ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=更新成功。 Module27130Name= 管理请假申请 Module27130Desc= 管理请假申请 @@ -125,10 +125,12 @@ HolidaysCanceledBody=你的请假申请 %s 到 %s 已取消。 FollowedByACounter=1:这种假期需要一个计数器。计数器手动或自动递增,当验证请假时,计数器递减。
    0:无计数器。 NoLeaveWithCounterDefined=没有定义的休假类型需要由计数器跟随 GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/zh_CN/hrm.lang b/htdocs/langs/zh_CN/hrm.lang index bb00a894f4c..30fea256e29 100644 --- a/htdocs/langs/zh_CN/hrm.lang +++ b/htdocs/langs/zh_CN/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=打开机构 CloseEtablishment=关闭机构 # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - 部门列表 DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index f1b8ca9dec4..a065602c849 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=重载模块%s MigrationResetBlockedLog=重置模块BlockedLog for v7算法 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/zh_CN/interventions.lang b/htdocs/langs/zh_CN/interventions.lang index cdeaceb4571..04f905bb97f 100644 --- a/htdocs/langs/zh_CN/interventions.lang +++ b/htdocs/langs/zh_CN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=线路持续时间干预 InterLineDesc=线描述干预 RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/zh_CN/knowledgemanagement.lang b/htdocs/langs/zh_CN/knowledgemanagement.lang index bd0b2f939c5..1dd4ec72abe 100644 --- a/htdocs/langs/zh_CN/knowledgemanagement.lang +++ b/htdocs/langs/zh_CN/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = 关于 KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = 项目 KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/zh_CN/languages.lang b/htdocs/langs/zh_CN/languages.lang index 40a45ccfaec..6ce6fa506d5 100644 --- a/htdocs/langs/zh_CN/languages.lang +++ b/htdocs/langs/zh_CN/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=阿拉伯语 Language_ar_EG=阿拉伯语(埃及) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=阿拉伯语 +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=荷兰语(比利时) Language_nl_NL=Dutch Language_pl_PL=波兰语 +Language_pt_AO=Portuguese (Angola) Language_pt_BR=葡萄牙语(巴西) Language_pt_PT=葡萄牙 +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=罗马尼亚 Language_ru_RU=俄 Language_ru_UA=俄语(乌克兰) diff --git a/htdocs/langs/zh_CN/mails.lang b/htdocs/langs/zh_CN/mails.lang index 57d3caf2bc0..4b5f909e543 100644 --- a/htdocs/langs/zh_CN/mails.lang +++ b/htdocs/langs/zh_CN/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=删除筛选 AdvTgtSaveFilter=保存筛选 AdvTgtCreateFilter=创建筛选 AdvTgtOrCreateNewFilter=新筛选器的名称 -NoContactWithCategoryFound=分类没有联系人/地址 -NoContactLinkedToThirdpartieWithCategoryFound=分类没有联系人/地址 +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index 458863d28bc..1ad1be5f149 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -180,7 +180,7 @@ SaveAndNew=Save and new TestConnection=测试连接 ToClone=复制 ConfirmCloneAsk=Are you sure you want to clone the object %s? -ConfirmClone=Choose data you want to clone: +ConfirmClone=Choose the data you want to clone: NoCloneOptionsSpecified=未定义可复制数据 Of=的 Go=下一步 @@ -246,7 +246,7 @@ DefaultModel=默认文档模板 Action=事件 About=关于 Number=数字 -NumberByMonth=按月份数 +NumberByMonth=Total reports by month AmountByMonth=每月金额 Numero=数字 Limit=限制 @@ -341,8 +341,8 @@ KiloBytes=KB MegaBytes=MB GigaBytes=GB TeraBytes=TB -UserAuthor=创建的用户 -UserModif=更新的用户 +UserAuthor=Ceated by +UserModif=Updated by b=b. Kb=Kb Mb=兆 @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=增值税率 +RateOfTaxN=Rate of tax %s VATCode=税率代码 VATNPR=税率NPR DefaultTaxRate=默认税率 @@ -503,9 +504,11 @@ By=由 From=从 FromDate=从 FromLocation=从 -at=at to=至 To=至 +ToDate=至 +ToLocation=至 +at=at and=和 or=或 Other=其他 @@ -727,6 +730,7 @@ MenuMembers=会员 MenuAgendaGoogle=谷歌议程 MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=来自Dolibarr本身的大小限制(菜单:home-setup-security)为:%s Kb,而PHP的限制为: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=当前语言 CurrentTheme=当前主题样式 @@ -843,7 +847,7 @@ XMoreLines=%s 明细(s) 隐藏 ShowMoreLines=显示更多/更少的行 PublicUrl=公开网址 AddBox=添加信息框 -SelectElementAndClick=选择一个元素,然后单击%s +SelectElementAndClick=Select an element and click on %s PrintFile=打印文件 %s ShowTransaction=在银行帐户条目 ShowIntervention=显示干预 @@ -854,8 +858,8 @@ Denied=否认 ListOf=列表%s ListOfTemplates=模板列表 Gender=性别 -Genderman=男人 -Genderwoman=女人 +Genderman=Male +Genderwoman=Female Genderother=其他 ViewList=列表视图 ViewGantt=Gantt view @@ -1070,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=待处理 ToApprove=To approve GlobalOpenedElemView=Global view @@ -1124,8 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. +ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/zh_CN/members.lang b/htdocs/langs/zh_CN/members.lang index 2c4186f315b..9b1593a67a6 100644 --- a/htdocs/langs/zh_CN/members.lang +++ b/htdocs/langs/zh_CN/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/zh_CN/modulebuilder.lang b/htdocs/langs/zh_CN/modulebuilder.lang index e9af897fbef..a095d3efaaf 100644 --- a/htdocs/langs/zh_CN/modulebuilder.lang +++ b/htdocs/langs/zh_CN/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/zh_CN/mrp.lang b/htdocs/langs/zh_CN/mrp.lang index ec999a473a4..e9f0381124a 100644 --- a/htdocs/langs/zh_CN/mrp.lang +++ b/htdocs/langs/zh_CN/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=删除 NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/zh_CN/orders.lang b/htdocs/langs/zh_CN/orders.lang index 16f4506f62f..a8fc4ffbf35 100644 --- a/htdocs/langs/zh_CN/orders.lang +++ b/htdocs/langs/zh_CN/orders.lang @@ -11,6 +11,7 @@ OrderDate=订购日期 OrderDateShort=订单日期 OrderToProcess=待处理订单 NewOrder=新订单 +NewSupplierOrderShort=新订单 NewOrderSupplier=New Purchase Order ToOrder=订单填写 MakeOrder=订单填写 @@ -73,6 +74,7 @@ DeleteOrder=删除订单 CancelOrder=取消订单 OrderReopened= Order %s re-open AddOrder=创建订单 +AddSupplierOrderShort=创建订单 AddPurchaseOrder=Create purchase order AddToDraftOrders=添加订单草稿 ShowOrder=显示订单 diff --git a/htdocs/langs/zh_CN/other.lang b/htdocs/langs/zh_CN/other.lang index e62ec686b2c..797dae05e1b 100644 --- a/htdocs/langs/zh_CN/other.lang +++ b/htdocs/langs/zh_CN/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=关闭的登陆账户 FileWasRemoved=档案%s被删除 DirWasRemoved=目录%s被删除 FeatureNotYetAvailable=在当前版本中还没有可用的功能 +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=支持的功能 Width=宽 Height=高 @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=导出区 @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = 关闭 diff --git a/htdocs/langs/zh_CN/partnership.lang b/htdocs/langs/zh_CN/partnership.lang index 7c93d028f53..e2d2129eabb 100644 --- a/htdocs/langs/zh_CN/partnership.lang +++ b/htdocs/langs/zh_CN/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=开始日期 DatePartnershipEnd=结束日期 +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = 草稿 -PartnershipAccepted = 接受 -PartnershipRefused = 已被拒绝 -PartnershipCanceled = 已取消 - +PartnershipDraft=草稿 +PartnershipAccepted=接受 +PartnershipRefused=已被拒绝 +PartnershipCanceled=已取消 PartnershipManagedFor=Partners are diff --git a/htdocs/langs/zh_CN/productbatch.lang b/htdocs/langs/zh_CN/productbatch.lang index 1fbb1699543..306ab09c547 100644 --- a/htdocs/langs/zh_CN/productbatch.lang +++ b/htdocs/langs/zh_CN/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=使用批号/序列号 ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=显示成对产品/批次的动作日志 StockDetailPerBatch=每批库存详细信息 SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index 4e7397d4a13..80145c86117 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=每位客户不同价格 PriceCatalogue=每产品/服务单独销售价 PricingRule=Rules for selling prices AddCustomerPrice=为客户添加价格 -ForceUpdateChildPriceSoc=在客户子公司设置相同的价格 +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=记录以前的客户价格 MinimumPriceLimit=最低价格不允许低于 %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=增加/减少父库存变化 ComposedProduct=Child products MinSupplierPrice=最低购买价格 MinCustomerPrice=最低售价 +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=动态价格配置 DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=添加变量 @@ -340,7 +341,7 @@ ProductSheet=产品表 ServiceSheet=服务单 PossibleValues=可能的值 GoOnMenuToCreateVairants=继续菜单%s - %s准备属性变体(如颜色,大小......) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=加权平均价格 +PMPValueShort=的WAP diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 4589082f6b9..8eb7fcfb5a8 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -140,6 +140,7 @@ NoTasks=该项目没有任务 LinkedToAnotherCompany=链接到其他合作方 TaskIsNotAssignedToUser=任务未分配给用户。使用按钮“ %s ”立即分配任务。 ErrorTimeSpentIsEmpty=所花费的时间是空的 +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=这一行动也将删除所有项目任务 (%s 任务的时刻) ,花全部的时间都投入。 IfNeedToUseOtherObjectKeepEmpty=如果某些对象(发票,订单,...),属于其他合作方,必须与该项目以创建,保持这个空项目多的合作方。 CloneTasks=复制任务 @@ -241,6 +242,7 @@ LatestModifiedProjects=最新的%s编辑过的项目 OtherFilteredTasks=其他过滤任务 NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=允许用户对任务发表评论 @@ -252,10 +254,12 @@ SendProjectRef=信息项目%s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=所花费的时间 TimeSpentForInvoice=所花费的时间 OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=新建发票 +NewInter=新的干预 OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/zh_CN/receptions.lang b/htdocs/langs/zh_CN/receptions.lang index f4729171019..270d6afc2f2 100644 --- a/htdocs/langs/zh_CN/receptions.lang +++ b/htdocs/langs/zh_CN/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/zh_CN/salaries.lang b/htdocs/langs/zh_CN/salaries.lang index 93c3171f3cd..1641f6b30d3 100644 --- a/htdocs/langs/zh_CN/salaries.lang +++ b/htdocs/langs/zh_CN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=用于合伙人的会计帐户 SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=财务记账科目代码 +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=工资 Salaries=工资 -NewSalaryPayment=新建工资支付 +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=工资支付 SalariesPayments=工资支付 +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=显示工资支付 THM=平均时薪 TJM=平均日薪 CurrentSalary=当前薪资 THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=最新的%s工资支付 -AllSalaries=所有工资支付 +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/zh_CN/stocks.lang b/htdocs/langs/zh_CN/stocks.lang index a9af10ccd53..768d89c2c4b 100644 --- a/htdocs/langs/zh_CN/stocks.lang +++ b/htdocs/langs/zh_CN/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=采购单价 StockTooLow=库存过低 StockLowerThanLimit=库存低于警戒限额(%s) EnhancedValue=值 -PMPValue=加权平均价格 -PMPValueShort=的WAP EnhancedValueOfWarehouses=仓库价值 UserWarehouseAutoCreate=创建用户时自动创建用户仓库 AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=库存调拨移转 %s 到其他仓库库位中 InventoryCodeShort=Inv./Mov. 代码 NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=此批/序号( %s )已存在,但具有不同的吃饭或卖出日期(找到 %s 但您输入 %s )。 -OpenAll=打开所有操作 -OpenInternal=仅对内部操作打开 +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=选项“每个段的几个价格”已开启。这意味着一个产品有几个销售价格,因此无法计算出售价值 ProductStockWarehouseCreated=正确创建警报和所需最佳库存的库存限制 @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=重新打开 -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/zh_CN/ticket.lang b/htdocs/langs/zh_CN/ticket.lang index 9546af9bd17..7aa1360822b 100644 --- a/htdocs/langs/zh_CN/ticket.lang +++ b/htdocs/langs/zh_CN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=商业问题 TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=项目 TicketTypeShortOTHER=其他 @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=指定用户 TypeContact_ticket_external_SUPPORTCLI=客户联系/事件跟踪 TypeContact_ticket_external_CONTRIBUTOR=外部贡献者 -OriginEmail=电邮来源 +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=阅读 Assigned=分配 InProgress=进行中 -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=回答 Waiting=等候 -Closed=关闭 +SolvedClosed=Solved Deleted=删除 # Dict @@ -160,7 +162,7 @@ CreatedBy=制作: NewTicket=新票据 SubjectAnswerToTicket=票据应答 TicketTypeRequest=请求类型 -TicketCategory=组 +TicketCategory=Ticket categorization SeeTicket=查看票据 TicketMarkedAsRead=票据已标记为已读 TicketReadOn=请继续阅读 @@ -184,9 +186,11 @@ TicketSeverity=严重 ShowTicket=看票 RelatedTickets=相关票据 TicketAddIntervention=创建干预 -CloseTicket=关票据 -CloseATicket=关票据 +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=确认票据关闭 +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=请确认删除票据 TicketDeletedSuccess=票证已成功删除 TicketMarkedAsClosed=票据标记为已关闭 @@ -211,6 +215,7 @@ TicketMessageHelp=只有此文本将保存在故障单卡的消息列表中。 TicketMessageSubstitutionReplacedByGenericValues=替换变量由通用值替换。 TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=联系票 TicketDocumentsLinked=与票证相关的文件 ConfirmReOpenTicket=确认重新打开此票? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=最新修改的票据 BoxLastModifiedTicketDescription=最新%s改装票据 BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=没有最近修改的票据 -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/zh_CN/trips.lang b/htdocs/langs/zh_CN/trips.lang index 613da69a9f4..03d7154e5f8 100644 --- a/htdocs/langs/zh_CN/trips.lang +++ b/htdocs/langs/zh_CN/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=费用报告%s被取消。
    - 用户:%s
    ExpenseReportPaid=支付了费用报告 ExpenseReportPaidMessage=费用报告%s已付款。
    - 用户:%s
    - 支付方式:%s
    点击此处显示费用报告:%s TripId=费用报表ID号 -AnyOtherInThisListCanValidate=通知人确认。 +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=公司资料信息 TripNDF=费用报表信息 PDFStandardExpenseReports=用于生成费用报表PDF文档的标准模板 @@ -90,7 +90,6 @@ DATE_REFUS=否认日期 DATE_SAVE=验证日期 DATE_CANCEL=取消日期 DATE_PAIEMENT=付款日期 -BROUILLONNER=重新打开 ExpenseReportRef=参考。开支报告 ValidateAndSubmit=同意验证和提交 ValidatedWaitingApproval=验证 (等待审批) @@ -110,7 +109,7 @@ ExpenseReportPayment=支付费用报表 ExpenseReportsToApprove=批准费用报表 ExpenseReportsToPay=支付费用报表 ConfirmCloneExpenseReport=您确定要克隆此费用报告吗? -ExpenseReportsIk=费用报告milles指数 +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=费用报告规则 ExpenseReportIkDesc=您可以按类别和范围修改公里费用的计算。 d 是以千米为单位的距离 ExpenseReportRulesDesc=您可以创建或更新任何计算规则。当用户创建新的费用报表时,将使用此部分 @@ -145,7 +144,7 @@ nolimitbyEX_DAY=按天(没有限制) nolimitbyEX_MON=按月(无限制) nolimitbyEX_YEA=按年(无限制) nolimitbyEX_EXP=按行(没有限制) -CarCategory=汽车类别 +CarCategory=Vehicle category ExpenseRangeOffset=抵消金额:%s RangeIk=里程范围 -AttachTheNewLineToTheDocument=Attach the new line to an existing document +AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/zh_CN/users.lang b/htdocs/langs/zh_CN/users.lang index 849601aab96..d86f4e2bb6b 100644 --- a/htdocs/langs/zh_CN/users.lang +++ b/htdocs/langs/zh_CN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=登陆创建 NameToCreate=创建合伙人名称 YourRole=您的角色 YourQuotaOfUsersIsReached=你的活跃用户达到配额! -NbOfUsers=用户数量 -NbOfPermissions=权限数量 +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=只有超级管理员可以降级超级管理员 HierarchicalResponsible=超级管理员 HierarchicView=分层视图 diff --git a/htdocs/langs/zh_CN/website.lang b/htdocs/langs/zh_CN/website.lang index b5b6277ab25..7e6f598ca4f 100644 --- a/htdocs/langs/zh_CN/website.lang +++ b/htdocs/langs/zh_CN/website.lang @@ -31,7 +31,7 @@ AddWebsite=添加网站 Webpage=网页/容器 AddPage=添加页面/容器 PageContainer=页面 -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=ID为%s的请求页面尚无内容,或者删除了缓存文件.tpl.php。编辑页面内容以解决此问题。 SiteDeleted=Web site '%s' deleted PageContent=页/ Contenair diff --git a/htdocs/langs/zh_CN/withdrawals.lang b/htdocs/langs/zh_CN/withdrawals.lang index c21b3b1f702..c1dd0079b59 100644 --- a/htdocs/langs/zh_CN/withdrawals.lang +++ b/htdocs/langs/zh_CN/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s记录了直接付款请求 BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=分类记 ClassCreditedConfirm=你确定要分类这一撤离收据上记入您的银行帐户? TransData=数据传输 @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=执行日期 CreateForSepa=创建直接付款文件 -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/zh_CN/workflow.lang b/htdocs/langs/zh_CN/workflow.lang index d327a5e148d..65b1e6e7c10 100644 --- a/htdocs/langs/zh_CN/workflow.lang +++ b/htdocs/langs/zh_CN/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/zh_HK/accountancy.lang b/htdocs/langs/zh_HK/accountancy.lang index 354cddb62c2..771f0a83e7b 100644 --- a/htdocs/langs/zh_HK/accountancy.lang +++ b/htdocs/langs/zh_HK/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Countries not in EEC CountriesInEECExceptMe=Countries in EEC except %s CountriesExceptMe=All countries except %s AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=View by accounting account VueBySubAccountAccounting=View by accounting subaccount @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third-party accounting accounts (If you 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. BANK_DISABLE_DIRECT_INPUT=Disable direct recording of transaction in bank account ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on 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=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -245,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Export draft journal Modelcsv=Model of export Selectmodelcsv=Select a model of export @@ -335,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/zh_HK/admin.lang b/htdocs/langs/zh_HK/admin.lang index fb4513a09b4..f52c28a9da3 100644 --- a/htdocs/langs/zh_HK/admin.lang +++ b/htdocs/langs/zh_HK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -84,6 +85,7 @@ NumberOfBytes=Number of Bytes SearchString=Search string NotAvailableWhenAjaxDisabled=Not available when Ajax disabled AllowToSelectProjectFromOtherCompany=On document of a third party, can choose a project linked to another third party +TimesheetPreventAfterFollowingMonths=Prevent recording time spent after the following number of months JavascriptDisabled=JavaScript disabled UsePreviewTabs=Use preview tabs ShowPreview=Show preview @@ -116,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -221,8 +225,8 @@ NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=See in Market place SeeSetupOfModule=See setup of module %s +SetOptionTo=Set option %s to %s Updated=Updated -Nouveauté=Novelty AchatTelechargement=Buy / Download GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: %s. DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules @@ -399,6 +403,7 @@ SecurityToken=Key to secure URLs NoSmsEngine=No SMS sender manager available. A SMS sender manager is not installed with the default distribution because they depend on an external vendor, but you can find some on %s PDF=PDF PDFDesc=Global options for PDF generation +PDFOtherDesc=PDF Option specific to some modules PDFAddressForging=Rules for address section HideAnyVATInformationOnPDF=Hide all information related to Sales Tax / VAT PDFRulesForSalesTax=Rules for Sales Tax / VAT @@ -561,7 +566,7 @@ Module53Desc=Management of Services Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Barcode or QR code management Module56Name=Payment by credit transfer Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=Payments by Direct Debit @@ -848,10 +853,10 @@ Permission402=Create/modify discounts Permission403=Validate discounts Permission404=Delete discounts Permission430=Use Debug Bar -Permission511=Read payments of salaries (yours and subordinates) -Permission512=Create/modify payments of salaries -Permission514=Delete payments of salaries -Permission517=Read payments of salaries of everybody +Permission511=Read salaries and payments (yours and subordinates) +Permission512=Create/modify salaries and payments +Permission514=Delete salaries and payments +Permission517=Read salaries and payments everybody Permission519=Export salaries Permission520=Read Loans Permission522=Create/modify loans @@ -965,6 +970,8 @@ Permission23003=Delete Scheduled job Permission23004=Execute Scheduled job Permission50101=Use Point of Sale (SimplePOS) Permission50151=Use Point of Sale (TakePOS) +Permission50152=Edit sales lines +Permission50153=Edit ordered sales lines Permission50201=Read transactions Permission50202=Import transactions Permission50330=Read objects of Zapier @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=Measuring Units DictionarySocialNetworks=Social Networks DictionaryProspectStatus=Prospect status for companies DictionaryProspectContactStatus=Prospect status for contacts -DictionaryHolidayTypes=Types of leave +DictionaryHolidayTypes=Leave - Types of leave DictionaryOpportunityStatus=Lead status for project/lead DictionaryExpenseTaxCat=Expense report - Transportation categories DictionaryExpenseTaxRange=Expense report - Range by transportation category DictionaryTransportMode=Intracomm report - Transport mode +DictionaryBatchStatus=Product lot/serial Quality Control status TypeOfUnit=Type of unit SetupSaved=Setup saved SetupNotSaved=Setup not saved @@ -1185,9 +1193,12 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

    Basic parameters used to customize the default behavior of your application (e.g for country-related features). SetupDescription4=%s -> %s

    This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Audit +Audit=Security events InfoDolibarr=About Dolibarr InfoBrowser=About Browser InfoOS=About OS @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1319,9 +1330,12 @@ ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s which is the best driver currently available. YouDoNotUseBestDriver=You use driver %s but driver %s is recommended. NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. +ComboListOptim=Combo list loading optimization SearchOptim=Search optimization -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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. +YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptimDesc=This limits 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 %s in Home-Setup-Other. 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. PHPModuleLoaded=PHP component %s is loaded @@ -1433,6 +1447,7 @@ MemberMainOptions=Main options AdherentLoginRequired= Manage a Login for each member AdherentMailRequired=Email required to create a new member MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. MembersDocModules=Document templates for documents generated from member record @@ -1763,14 +1778,14 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
    __PHONETO__ that will be replaced with the phone number of person to call
    __PHONEFROM__ that will be replaced with phone number of calling person (yours)
    __LOGIN__ that will be replaced with clicktodial login (defined on user card)
    __PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=Right margin on PDF MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2078,7 +2097,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2096,7 +2115,6 @@ PDF_SHOW_PROJECT=Show project on document ShowProjectLabel=Project Label PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard JumpToBoxes=Jump to Setup -> Widgets MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" @@ -2118,14 +2136,26 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions +IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions +PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. ModuleUpdateAvailable=An update is available NoExternalModuleWithUpdate=No updates found for external modules SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +RandomlySelectedIfSeveral=Randomly selected if several pictures are available +DatabasePasswordObfuscated=Database password is obfuscated in conf file +DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/zh_HK/agenda.lang b/htdocs/langs/zh_HK/agenda.lang index 09d82139a49..a1183841b00 100644 --- a/htdocs/langs/zh_HK/agenda.lang +++ b/htdocs/langs/zh_HK/agenda.lang @@ -4,7 +4,7 @@ Actions=Events Agenda=Agenda TMenuAgenda=Agenda Agendas=Agendas -LocalAgenda=Internal calendar +LocalAgenda=Default calendar ActionsOwnedBy=Event owned by ActionsOwnedByShort=Owner AffectedTo=Assigned to @@ -14,13 +14,13 @@ EventsNb=Number of events ListOfActions=List of events EventReports=Event reports Location=Location -ToUserOfGroup=Event assigned to any user in group +ToUserOfGroup=Event assigned to any user in the group EventOnFullDay=Event on all day(s) MenuToDoActions=All incomplete events MenuDoneActions=All terminated events MenuToDoMyActions=My incomplete events MenuDoneMyActions=My terminated events -ListOfEvents=List of events (internal calendar) +ListOfEvents=List of events (default calendar) ActionsAskedBy=Events reported by ActionsToDoBy=Events assigned to ActionsDoneBy=Events done by @@ -38,6 +38,7 @@ ActionsEvents=Events for which Dolibarr will create an action in agenda automati EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. ##### Agenda event labels ##### NewCompanyToDolibarr=Third party %s created +COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_DELETEInDolibarr=Third party %s deleted ContractValidatedInDolibarr=Contract %s validated CONTRACT_DELETEInDolibarr=Contract %s deleted @@ -87,6 +88,7 @@ OrderDeleted=Order deleted InvoiceDeleted=Invoice deleted DraftInvoiceDeleted=Draft invoice deleted CONTACT_CREATEInDolibarr=Contact %s created +CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_DELETEInDolibarr=Contact %s deleted PRODUCT_CREATEInDolibarr=Product %s created PRODUCT_MODIFYInDolibarr=Product %s modified @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled +PAIDInDolibarr=%s paid ##### End agenda events ##### AgendaModelModule=Document templates for event DateActionStart=Start date @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint=%s to restrict output to actions assigned to use AgendaUrlOptionsProject=project=__PROJECT_ID__ to restrict output to actions linked to project __PROJECT_ID__. AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Show birthdays of contacts +AgendaShowBirthdayEvents=Birthdays of contacts AgendaHideBirthdayEvents=Hide birthdays of contacts Busy=Busy ExportDataset_event1=List of agenda events @@ -152,6 +155,7 @@ ActionType=Event type DateActionBegin=Start event date ConfirmCloneEvent=Are you sure you want to clone the event %s? RepeatEvent=Repeat event +OnceOnly=Once only EveryWeek=Every week EveryMonth=Every month DayOfMonth=Day of month @@ -165,4 +169,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification +BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/zh_HK/banks.lang b/htdocs/langs/zh_HK/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/zh_HK/banks.lang +++ b/htdocs/langs/zh_HK/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/zh_HK/bills.lang b/htdocs/langs/zh_HK/bills.lang index c55f483873b..7b8c997d2e6 100644 --- a/htdocs/langs/zh_HK/bills.lang +++ b/htdocs/langs/zh_HK/bills.lang @@ -259,6 +259,7 @@ DateMaxPayment=Payment due on DateInvoice=Invoice date DatePointOfTax=Point of tax NoInvoice=No invoice +NoOpenInvoice=No open invoice ClassifyBill=Classify invoice SupplierBillsToPay=Unpaid vendor invoices CustomerBillsUnpaid=Unpaid customer invoices @@ -589,3 +590,4 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s diff --git a/htdocs/langs/zh_HK/boxes.lang b/htdocs/langs/zh_HK/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/zh_HK/boxes.lang +++ b/htdocs/langs/zh_HK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/zh_HK/cashdesk.lang b/htdocs/langs/zh_HK/cashdesk.lang index 240503842f3..3bc383ed2a1 100644 --- a/htdocs/langs/zh_HK/cashdesk.lang +++ b/htdocs/langs/zh_HK/cashdesk.lang @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} tag is used to add the terminal numb TakeposGroupSameProduct=Group same products lines StartAParallelSale=Start a new parallel sale SaleStartedAt=Sale started at %s -ControlCashOpening=Control cash popup at opening POS +ControlCashOpening=Open the "Control cash" popup when opening the POS CloseCashFence=Close cash desk control CashReport=Cash report MainPrinterToUse=Main printer to use @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = Display the column with the price excluding tax (on screen) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/zh_HK/compta.lang b/htdocs/langs/zh_HK/compta.lang index 7cae82e6ac7..8329346c163 100644 --- a/htdocs/langs/zh_HK/compta.lang +++ b/htdocs/langs/zh_HK/compta.lang @@ -286,3 +286,9 @@ ReportPurchaseTurnover=Purchase turnover invoiced ReportPurchaseTurnoverCollected=Purchase turnover collected IncludeVarpaysInResults = Include various payments in reports IncludeLoansInResults = Include loans in reports +InvoiceLate30Days = Invoices late > 30 days +InvoiceLate15Days = Invoices late > 15 days +InvoiceLateMinus15Days = Invoices late +InvoiceNotLate = To be collected < 15 days +InvoiceNotLate15Days = To be collected in 15 days +InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/zh_HK/cron.lang b/htdocs/langs/zh_HK/cron.lang index 2ebdda1e685..4fd2220dea6 100644 --- a/htdocs/langs/zh_HK/cron.lang +++ b/htdocs/langs/zh_HK/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=End date cannot be before start date StatusAtInstall=Status at module installation CronStatusActiveBtn=Schedule CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled +CronTaskInactive=This job is disabled (not scheduled) CronId=Id CronClassFile=Filename with class CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
    For example to call the fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value for module is
    product diff --git a/htdocs/langs/zh_HK/deliveries.lang b/htdocs/langs/zh_HK/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/zh_HK/deliveries.lang +++ b/htdocs/langs/zh_HK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/zh_HK/errors.lang b/htdocs/langs/zh_HK/errors.lang index 9b14b5ad1d2..45b2c258c41 100644 --- a/htdocs/langs/zh_HK/errors.lang +++ b/htdocs/langs/zh_HK/errors.lang @@ -11,6 +11,7 @@ ErrorBadValueForParamNotAString=Bad value for your parameter. It appends general ErrorRefAlreadyExists=Reference %s already exists. ErrorLoginAlreadyExists=Login %s already exists. ErrorGroupAlreadyExists=Group %s already exists. +ErrorEmailAlreadyExists=Email %s already exists. ErrorRecordNotFound=Record not found. ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. ErrorFailToCopyDir=Failed to copy directory '%s' into '%s'. @@ -117,7 +118,7 @@ ErrorCantReadFile=Failed to read file '%s' ErrorCantReadDir=Failed to read directory '%s' ErrorBadLoginPassword=Bad value for login or password ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. +ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToChangePassword=Failed to change password ErrorLoginDoesNotExists=User with login %s could not be found. ErrorLoginHasNoEmail=This user has no email address. Process aborted. @@ -262,6 +263,8 @@ ErrorDateIsInFuture=Error, the date can't be in the future ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. @@ -298,3 +301,5 @@ WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So y ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail +ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/zh_HK/eventorganization.lang b/htdocs/langs/zh_HK/eventorganization.lang index 75b798fbc3a..67a242e640a 100644 --- a/htdocs/langs/zh_HK/eventorganization.lang +++ b/htdocs/langs/zh_HK/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/zh_HK/exports.lang b/htdocs/langs/zh_HK/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/zh_HK/exports.lang +++ b/htdocs/langs/zh_HK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/zh_HK/holiday.lang b/htdocs/langs/zh_HK/holiday.lang index eb2cd89adf1..0527f4c0788 100644 --- a/htdocs/langs/zh_HK/holiday.lang +++ b/htdocs/langs/zh_HK/holiday.lang @@ -13,7 +13,7 @@ ToReviewCP=Awaiting approval ApprovedCP=Approved CancelCP=Canceled RefuseCP=Refused -ValidatorCP=Approbator +ValidatorCP=Approver ListeCP=List of leave Leave=Leave request LeaveId=Leave ID @@ -39,11 +39,11 @@ TitreRequestCP=Leave request TypeOfLeaveId=Type of leave ID TypeOfLeaveCode=Type of leave code TypeOfLeaveLabel=Type of leave label -NbUseDaysCP=Number of days of vacation consumed -NbUseDaysCPHelp=The calculation takes into account the non working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days consumed -NbUseDaysCPShortInMonth=Days consumed in month -DayIsANonWorkingDay=%s is a non working day +NbUseDaysCP=Number of days of leave used +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=Days of leave +NbUseDaysCPShortInMonth=Days of leave in month +DayIsANonWorkingDay=%s is a non-working day DateStartInMonth=Start date in month DateEndInMonth=End date in month EditCP=Edit @@ -55,7 +55,7 @@ TitleDeleteCP=Delete the leave request ConfirmDeleteCP=Confirm the deletion of this leave request? ErrorCantDeleteCP=Error you don't have the right to delete this leave request. CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. +InvalidValidatorCP=You must choose the approver for your leave request. NoDateDebut=You must select a start date. NoDateFin=You must select an end date. ErrorDureeCP=Your leave request does not contain working day. @@ -80,14 +80,14 @@ UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. MenuLogCP=View change logs -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=Updated by +UserUpdateCP=Updated for PrevSoldeCP=Previous Balance NewSoldeCP=New Balance alreadyCPexist=A leave request has already been done on this period. -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=Latest %s modified leave requests HolidaysMonthlyUpdate=Monthly update ManualUpdate=Manual update @@ -104,8 +104,8 @@ LEAVE_SICK=Sick leave LEAVE_OTHER=Other leave LEAVE_PAID_FR=Paid vacation ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leave allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leave allocation +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=Updated successfully. Module27130Name= Management of leave requests Module27130Desc= Management of leave requests @@ -125,10 +125,12 @@ HolidaysCanceledBody=Your leave request for %s to %s has been canceled. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.
    0: Not followed by a counter. NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leave to setup the different types of leaves. -HolidaySetup=Setup of module Holiday -HolidaysNumberingModules=Leave requests numbering models +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=Template for leave requests PDF FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/zh_HK/hrm.lang b/htdocs/langs/zh_HK/hrm.lang index 3b8f137e103..da098e10bdb 100644 --- a/htdocs/langs/zh_HK/hrm.lang +++ b/htdocs/langs/zh_HK/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=Are you sure you wish to delete this establishment? OpenEtablishment=Open establishment CloseEtablishment=Close establishment # Dictionary -DictionaryPublicHolidays=HRM - Public holidays +DictionaryPublicHolidays=Leave - Public holidays DictionaryDepartment=HRM - Department list DictionaryFunction=HRM - Job positions # Module diff --git a/htdocs/langs/zh_HK/install.lang b/htdocs/langs/zh_HK/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/zh_HK/install.lang +++ b/htdocs/langs/zh_HK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/zh_HK/interventions.lang b/htdocs/langs/zh_HK/interventions.lang index e5936f8246e..ef5df43e546 100644 --- a/htdocs/langs/zh_HK/interventions.lang +++ b/htdocs/langs/zh_HK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +GenerateInter=Generate intervention diff --git a/htdocs/langs/zh_HK/knowledgemanagement.lang b/htdocs/langs/zh_HK/knowledgemanagement.lang index 269007e60f8..99425830e53 100644 --- a/htdocs/langs/zh_HK/knowledgemanagement.lang +++ b/htdocs/langs/zh_HK/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = About KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/zh_HK/languages.lang b/htdocs/langs/zh_HK/languages.lang index ba187326705..023edb64c52 100644 --- a/htdocs/langs/zh_HK/languages.lang +++ b/htdocs/langs/zh_HK/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic +Language_ar_TN=Arabic (Tunisia) +Language_ar_IQ=Arabic (Iraq) Language_az_AZ=Azerbaijani Language_bn_BD=Bengali Language_bn_IN=Bengali (India) @@ -82,8 +85,10 @@ Language_ne_NP=Nepali Language_nl_BE=Dutch (Belgium) Language_nl_NL=Dutch Language_pl_PL=Polish +Language_pt_AO=Portuguese (Angola) Language_pt_BR=Portuguese (Brazil) Language_pt_PT=Portuguese +Language_ro_MD=Romanian (Moldavia) Language_ro_RO=Romanian Language_ru_RU=Russian Language_ru_UA=Russian (Ukraine) diff --git a/htdocs/langs/zh_HK/mails.lang b/htdocs/langs/zh_HK/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/zh_HK/mails.lang +++ b/htdocs/langs/zh_HK/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/zh_HK/main.lang b/htdocs/langs/zh_HK/main.lang index 13793aad13f..6c1ef6aa659 100644 --- a/htdocs/langs/zh_HK/main.lang +++ b/htdocs/langs/zh_HK/main.lang @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=Additionnal cents VATRate=Tax Rate +RateOfTaxN=Rate of tax %s VATCode=Tax Rate code VATNPR=Tax Rate NPR DefaultTaxRate=Default tax rate @@ -729,6 +730,7 @@ MenuMembers=Members MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Taxes | Special expenses ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=No documents uploaded CurrentUserLanguage=Current language CurrentTheme=Current theme @@ -1072,6 +1074,7 @@ ValidFrom=Valid from ValidUntil=Valid until NoRecordedUsers=No users ToClose=To close +ToRefuse=To refuse ToProcess=To process ToApprove=To approve GlobalOpenedElemView=Global view @@ -1126,9 +1129,23 @@ UpdateForAllLines=Update for all lines OnHold=On hold Civility=Civility AffectTag=Affect Tag +CreateExternalUser=Create external user ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? CategTypeNotFound=No tag type found for type of records CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel +EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently diff --git a/htdocs/langs/zh_HK/members.lang b/htdocs/langs/zh_HK/members.lang index 042b85598c0..d8b9c2f59f3 100644 --- a/htdocs/langs/zh_HK/members.lang +++ b/htdocs/langs/zh_HK/members.lang @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=Send reminder by email to members when subscr MembershipPaid=Membership paid for current period (until %s) YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email XMembersClosed=%s member(s) closed +XExternalUserCreated=%s external user(s) created +ForceMemberNature=Force member nature (Individual or Corporation) diff --git a/htdocs/langs/zh_HK/modulebuilder.lang b/htdocs/langs/zh_HK/modulebuilder.lang index 9fdaa1a533a..23a098be2e5 100644 --- a/htdocs/langs/zh_HK/modulebuilder.lang +++ b/htdocs/langs/zh_HK/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=Ascii to HTML converter AsciiToPdfConverter=Ascii to PDF converter TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/zh_HK/mrp.lang b/htdocs/langs/zh_HK/mrp.lang index ec999a473a4..5d226c0f77b 100644 --- a/htdocs/langs/zh_HK/mrp.lang +++ b/htdocs/langs/zh_HK/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=Bills of material LatestBOMModified=Latest %s Bills of materials modified LatestMOModified=Latest %s Manufacturing Orders modified Bom=Bills of Material -BillOfMaterials=Bill of Material +BillOfMaterials=Bill of Materials BOMsSetup=Setup of module BOM ListOfBOMs=List of bills of material - BOM ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of material -ProductBOMHelp=Product to create with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +NewBOM=New bill of materials +ProductBOMHelp=Product to create (or disassemble) with this BOM.
    Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. BOMsNumberingModules=BOM numbering templates BOMsModelModule=BOM document templates MOsNumberingModules=MO numbering templates @@ -22,7 +22,7 @@ FreeLegalTextOnBOMs=Free text on document of BOM WatermarkOnDraftBOMs=Watermark on draft BOM FreeLegalTextOnMOs=Free text on document of MO WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of material %s ? +ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? ManufacturingEfficiency=Manufacturing efficiency ConsumptionEfficiency=Consumption efficiency @@ -30,8 +30,8 @@ ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the produc ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product DeleteBillOfMaterials=Delete Bill Of Materials DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Material? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Material? +ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? +ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order? MenuMRP=Manufacturing Orders NewMO=New Manufacturing Order QtyToProduce=Qty to produce @@ -39,7 +39,7 @@ DateStartPlannedMo=Date start planned DateEndPlannedMo=Date end planned KeepEmptyForAsap=Empty means 'As Soon As Possible' EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture this product using this BOM +EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=Consume and Produce All Manufactured=Manufactured TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. ForAQuantityOf=For a quantity to produce of %s +ForAQuantityToConsumeOf=For a quantity to disassemble of %s ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. ProductionForRef=Production of %s AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached NoStockChangeOnServices=No stock change on services ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quentity still to produce by open MO +ProductQtyToProduceByMO=Product quantity still to produce by open MO AddNewConsumeLines=Add new line to consume ProductsToConsume=Products to consume ProductsToProduce=Products to produce @@ -83,15 +84,13 @@ Workstations=Workstations WorkstationsDescription=Workstations management WorkstationSetup = Workstations setup WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page WorkstationList=Workstation list WorkstationCreate=Add new workstation ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? EnableAWorkstation=Enable a workstation ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer +DeleteWorkstation=Delete NbOperatorsRequired=Number of operators required THMOperatorEstimated=Estimated operator THM THMMachineEstimated=Estimated machine THM diff --git a/htdocs/langs/zh_HK/orders.lang b/htdocs/langs/zh_HK/orders.lang index 87d196eb22f..5dab5b99bf1 100644 --- a/htdocs/langs/zh_HK/orders.lang +++ b/htdocs/langs/zh_HK/orders.lang @@ -11,6 +11,7 @@ OrderDate=Order date OrderDateShort=Order date OrderToProcess=Order to process NewOrder=New order +NewSupplierOrderShort=New order NewOrderSupplier=New Purchase Order ToOrder=Make order MakeOrder=Make order @@ -73,6 +74,7 @@ DeleteOrder=Delete order CancelOrder=Cancel order OrderReopened= Order %s re-open AddOrder=Create order +AddSupplierOrderShort=Create order AddPurchaseOrder=Create purchase order AddToDraftOrders=Add to draft order ShowOrder=Show order diff --git a/htdocs/langs/zh_HK/other.lang b/htdocs/langs/zh_HK/other.lang index 95297a98859..ea280968ef4 100644 --- a/htdocs/langs/zh_HK/other.lang +++ b/htdocs/langs/zh_HK/other.lang @@ -129,6 +129,7 @@ ClosedByLogin=User login who closed FileWasRemoved=File %s was removed DirWasRemoved=Directory %s was removed FeatureNotYetAvailable=Feature not yet available in the current version +FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeaturesSupported=Supported features Width=Width Height=Height @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/address created by email collector from e ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
    Use a space to enter different ranges.
    Example: 8-12 14-18 -PrefixSession=Prefix for session ID +SuffixSessionName=Suffix for session name ##### Export ##### ExportsArea=Exports area @@ -290,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/zh_HK/partnership.lang b/htdocs/langs/zh_HK/partnership.lang index 09059995a8d..606c3a0df3b 100644 --- a/htdocs/langs/zh_HK/partnership.lang +++ b/htdocs/langs/zh_HK/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management +ModulePartnershipName=Partnership management +PartnershipDescription=Module Partnership management PartnershipDescriptionLong= Module Partnership management +AddPartnership=Add partnership +CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +PartnershipCheckBacklink=Partnership: Check referring backlink + # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=New Partnership +ListOfPartnerships=List of partnership # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=Partnership setup +PartnershipAbout=About Partnership +PartnershipAboutPage=Partnership about page +partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' +PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # # Object # +DeletePartnership=Delete a partnership +PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Start date DatePartnershipEnd=End date +ReasonDecline=Decline reason +ReasonDeclineOrCancel=Decline reason +PartnershipAlreadyExist=Partnership already exist +ManagePartnership=Manage partnership +BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website +ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? +PartnershipType=Partnership type # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled +SendingEmailOnPartnershipRefused=Partnership refused +SendingEmailOnPartnershipAccepted=Partnership accepted +SendingEmailOnPartnershipCanceled=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled +YourPartnershipRefusedTopic=Partnership refused +YourPartnershipAcceptedTopic=Partnership accepted +YourPartnershipCanceledTopic=Partnership canceled + +YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) +YourPartnershipRefusedContent=We inform you that your partnership request has been refused. +YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. +YourPartnershipCanceledContent=We inform you that your partnership has been canceled. + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Decline reason # # Status # -PartnershipDraft = Draft -PartnershipAccepted = Accepted -PartnershipRefused = Refused -PartnershipCanceled = Canceled - +PartnershipDraft=Draft +PartnershipAccepted=Accepted +PartnershipRefused=Refused +PartnershipCanceled=Canceled PartnershipManagedFor=Partners are diff --git a/htdocs/langs/zh_HK/productbatch.lang b/htdocs/langs/zh_HK/productbatch.lang index ad2db658e2e..763af20c6b4 100644 --- a/htdocs/langs/zh_HK/productbatch.lang +++ b/htdocs/langs/zh_HK/productbatch.lang @@ -1,4 +1,4 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot required) ProductStatusOnSerial=Yes (unique serial number required) @@ -26,10 +26,18 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +LifeTime=Life span (in days) +EndOfLife=End of life +ManufacturingDate=Manufacturing date +DestructionDate=Destruction date +FirstUseDate=First use date +QCFrequency=Quality control frequency (in days) + +#Traceability - qc status +OutOfOrder=Out of order +InWorkingOrder=In working order diff --git a/htdocs/langs/zh_HK/products.lang b/htdocs/langs/zh_HK/products.lang index 0875be0dc07..bf34efe3f79 100644 --- a/htdocs/langs/zh_HK/products.lang +++ b/htdocs/langs/zh_HK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable @@ -340,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=Action only available on the variant of prod ProductsPricePerCustomer=Product prices per customers ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination +PMPValue=Weighted average price +PMPValueShort=WAP diff --git a/htdocs/langs/zh_HK/projects.lang b/htdocs/langs/zh_HK/projects.lang index 79c974f6e24..77fc9970303 100644 --- a/htdocs/langs/zh_HK/projects.lang +++ b/htdocs/langs/zh_HK/projects.lang @@ -140,6 +140,7 @@ NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. ErrorTimeSpentIsEmpty=Time spent is empty +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. CloneTasks=Clone tasks @@ -241,6 +242,7 @@ LatestModifiedProjects=Latest %s modified projects OtherFilteredTasks=Other filtered tasks NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. +ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ChooseANotYetAssignedTask=Choose a task not yet assigned to you # Comments trans AllowCommentOnTask=Allow user comments on tasks @@ -252,10 +254,12 @@ SendProjectRef=Information project %s ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized NewTaskRefSuggested=Task ref already used, a new task ref is required TimeSpentInvoiced=Time spent billed +TimeSpentForIntervention=Time spent TimeSpentForInvoice=Time spent OneLinePerUser=One line per user ServiceToUseOnLines=Service to use on lines InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity ProjectFollowTasks=Follow tasks or time spent @@ -264,12 +268,16 @@ UsageOpportunity=Usage: Opportunity UsageTasks=Usage: Tasks UsageBillTimeShort=Usage: Bill time InvoiceToUse=Draft invoice to use +InterToUse=Draft intervention to use NewInvoice=New invoice +NewInter=New intervention OneLinePerTask=One line per task OneLinePerPeriod=One line per period +OneLinePerTimeSpentLine=One line for each time spent declaration RefTaskParent=Ref. Parent Task ProfitIsCalculatedWith=Profit is calculated using AddPersonToTask=Add also to tasks UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them diff --git a/htdocs/langs/zh_HK/receptions.lang b/htdocs/langs/zh_HK/receptions.lang index 760ff884fa0..338602e722e 100644 --- a/htdocs/langs/zh_HK/receptions.lang +++ b/htdocs/langs/zh_HK/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=You must first validate the order before being ReceptionsNumberingModules=Numbering module for receptions ReceptionsReceiptModel=Document templates for receptions NoMorePredefinedProductToDispatch=No more predefined products to dispatch - +ReceptionExist=A reception exists diff --git a/htdocs/langs/zh_HK/salaries.lang b/htdocs/langs/zh_HK/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/zh_HK/salaries.lang +++ b/htdocs/langs/zh_HK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/zh_HK/stocks.lang b/htdocs/langs/zh_HK/stocks.lang index 9ec523427b1..c1f0abc43a8 100644 --- a/htdocs/langs/zh_HK/stocks.lang +++ b/htdocs/langs/zh_HK/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Unit purchase price StockTooLow=Stock too low StockLowerThanLimit=Stock lower than alert limit (%s) EnhancedValue=Value -PMPValue=Weighted average price -PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a user warehouse automatically when creating a user AllowAddLimitStockByWarehouse=Manage also value for minimum and desired stock per pairing (product-warehouse) in addition to the value for minimum and desired stock per product RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=Set a warehouse on Third-parties WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders UserDefaultWarehouse=Set a warehouse on Users @@ -169,8 +167,8 @@ MovementTransferStock=Stock transfer of product %s into another warehouse InventoryCodeShort=Inv./Mov. code NoPendingReceptionOnSupplierOrder=No pending reception due to open purchase order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open only for internal actions +OpenAnyMovement=Open (all movement) +OpenInternal=Open (only internal movement) UseDispatchStatus=Use a dispatch status (approve/refuse) for product lines on purchase order reception OptionMULTIPRICESIsOn=Option "several prices per segment" is on. It means a product has several selling price so value for sell can't be calculated ProductStockWarehouseCreated=Stock limit for alert and desired optimal stock correctly created @@ -251,7 +249,15 @@ SelectAStockMovementFileToImport=select a stock movement file to import InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" LabelOfInventoryMovemement=Inventory %s ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. +ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. ObjectNotFound=%s not found MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity +ShowAllBatchByDefault=By default, show batch details on product "stock" tab +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/zh_HK/ticket.lang b/htdocs/langs/zh_HK/ticket.lang index df73daf4a0d..5615415ef28 100644 --- a/htdocs/langs/zh_HK/ticket.lang +++ b/htdocs/langs/zh_HK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,17 +55,18 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -184,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed @@ -211,6 +215,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? @@ -304,7 +309,7 @@ BoxLastModifiedTicket=Latest modified tickets BoxLastModifiedTicketDescription=Latest %s modified tickets BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Number of open tickets by type +BoxTicketType=Distribution of open tickets by type BoxTicketSeverity=Number of open tickets by severity BoxNoTicketSeverity=No tickets opened BoxTicketLastXDays=Number of new tickets by days the last %s days diff --git a/htdocs/langs/zh_HK/trips.lang b/htdocs/langs/zh_HK/trips.lang index 654f14d6bf7..c9a6c792077 100644 --- a/htdocs/langs/zh_HK/trips.lang +++ b/htdocs/langs/zh_HK/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=The expense report %s was canceled.
    - User: %s< ExpenseReportPaid=An expense report was paid ExpenseReportPaidMessage=The expense report %s was paid.
    - User: %s
    - Paid by: %s
    Click here to show the expense report: %s TripId=Id expense report -AnyOtherInThisListCanValidate=Person to inform for validation. +AnyOtherInThisListCanValidate=Person to be informed for validating the request. TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) @@ -110,7 +109,7 @@ ExpenseReportPayment=Expense report payment ExpenseReportsToApprove=Expense reports to approve ExpenseReportsToPay=Expense reports to pay ConfirmCloneExpenseReport=Are you sure you want to clone this expense report ? -ExpenseReportsIk=Expense report milles index +ExpenseReportsIk=Configuration of mileage charges ExpenseReportsRules=Expense report rules ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report @@ -145,7 +144,7 @@ nolimitbyEX_DAY=by day (no limitation) nolimitbyEX_MON=by month (no limitation) nolimitbyEX_YEA=by year (no limitation) nolimitbyEX_EXP=by line (no limitation) -CarCategory=Category of car +CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document diff --git a/htdocs/langs/zh_HK/users.lang b/htdocs/langs/zh_HK/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/zh_HK/users.lang +++ b/htdocs/langs/zh_HK/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/zh_HK/website.lang b/htdocs/langs/zh_HK/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/zh_HK/website.lang +++ b/htdocs/langs/zh_HK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/zh_HK/withdrawals.lang b/htdocs/langs/zh_HK/withdrawals.lang index 059b3451c11..a3773a427a1 100644 --- a/htdocs/langs/zh_HK/withdrawals.lang +++ b/htdocs/langs/zh_HK/withdrawals.lang @@ -45,6 +45,7 @@ WithdrawRequestsDone=%s direct debit payment requests recorded BankTransferRequestsDone=%s credit transfer requests recorded ThirdPartyBankCode=Third-party bank code NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s. +WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. ClassCredited=Classify credited ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? TransData=Transmission date @@ -132,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/zh_HK/workflow.lang b/htdocs/langs/zh_HK/workflow.lang index 494a0424a75..adfe7f69609 100644 --- a/htdocs/langs/zh_HK/workflow.lang +++ b/htdocs/langs/zh_HK/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/zh_TW/accountancy.lang b/htdocs/langs/zh_TW/accountancy.lang index b7e0039de20..385954b95b3 100644 --- a/htdocs/langs/zh_TW/accountancy.lang +++ b/htdocs/langs/zh_TW/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=非歐盟國家 CountriesInEECExceptMe=除了%s以外的歐盟國家 CountriesExceptMe=除了%s以外的所有國家 AccountantFiles=匯出來源文件 -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=To export your journals, use the menu entry %s - %s. VueByAccountAccounting=依會計科目檢視 VueBySubAccountAccounting=依會計子分類帳檢視 @@ -131,7 +132,7 @@ InvoiceLinesDone=已關聯的各式發票 ExpenseReportLines=費用報表關聯數 ExpenseReportLinesDone=已關連的費用報表 IntoAccount=會計項目的關聯 -TotalForAccount=Total accounting account +TotalForAccount=總會計科目 Ventilate=關聯 @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=合作方會計帳戶的長度(如果在此處將 ACCOUNTING_MANAGE_ZERO=允許在會計帳戶末尾管理不同數量的零。一些國家(例如瑞士)需要。如果設置為off(默認),則可以設置以下兩個參數來要求應用程序添加虛擬零。 BANK_DISABLE_DIRECT_INPUT=停用銀行帳戶中直接記錄交易 ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=在日記帳上啟用草稿匯出 -ACCOUNTANCY_COMBO_FOR_AUX=為子公司帳戶啟用組合列表(如果您有很多合作方,可能會很慢) +ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default @@ -209,7 +210,7 @@ Codejournal=日記帳 JournalLabel=日記帳標籤 NumPiece=件數 TransactionNumShort=交易編號 -AccountingCategory=Custom group +AccountingCategory=自定義群組 GroupByAccountAccounting=Group by general ledger account GroupBySubAccountAccounting=Group by subledger account AccountingAccountGroupsDesc=您可定義某些會計科目大類。他們可以在個人化會計報表中使用。 @@ -245,9 +246,9 @@ DescThirdPartyReport=在此處查詢合作方客戶和供應商及其會計帳 ListAccounts=各式會計科目清單 UnknownAccountForThirdparty=未知的合作方科目。我們將使用%s UnknownAccountForThirdpartyBlocking=未知的合作方科目。阻止錯誤 -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=未定義的合作方科目或未知的合作方。我們將使用%s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=未知合作方與付款中未定義分類帳。我們會將分類帳帳戶值保留為空。 -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=未定義合作方帳戶或未知的合作方。封鎖錯誤。 +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=未定義的未知合作方帳戶和等待帳戶。封鎖錯誤 PaymentsNotLinkedToProduct=付款未連結到任何產品/服務 OpeningBalance=初期餘額 @@ -328,6 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountanc ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) ## Export +NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) +ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=匯出日記帳草稿 Modelcsv=匯出模式 Selectmodelcsv=選擇匯出模型 @@ -335,7 +339,7 @@ Modelcsv_normal=典型匯出 Modelcsv_CEGID=匯出為CEGID ExpertComptabilité Modelcsv_COALA=匯出為Sage Coala Modelcsv_bob50=匯出為Sage BOB 50 -Modelcsv_ciel=匯出為Sage Ciel Compta或Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=匯出為Quadratus QuadraCompta Modelcsv_ebp=匯出為EBP Modelcsv_cogilog=匯出為Cogilog @@ -414,8 +418,8 @@ FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) FECFormatPieceRef=Piece ref (PieceRef) FECFormatPieceDate=Piece date creation (PieceDate) FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) +FECFormatDebit=借記(借記) +FECFormatCredit=貸記(貸記) FECFormatReconcilableCode=Reconcilable code (EcritureLet) FECFormatReconcilableDate=Reconcilable date (DateLet) FECFormatValidateDate=Piece date validated (ValidDate) diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index f8ad1094586..1702182c31c 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -37,7 +37,7 @@ UnlockNewSessions=移除連線鎖定 YourSession=您的程序 Sessions=用戶程序 WebUserGroup=網頁伺服器用戶/組別 -PermissionsOnFiles=Permissions on files +PermissionsOnFiles=檔案權限 PermissionsOnFilesInWebRoot=網站根目錄中檔案的權限 PermissionsOnFile=檔案%s的權限 NoSessionFound=您的PHP設定似乎不允許列出活動程序。用於保存程序的資料夾( %s )可能受到保護(例如,通過OS權限或PHP指令open_basedir)。 @@ -53,6 +53,7 @@ InternalUser=內部用戶 ExternalUser=外部用戶 InternalUsers=內部用戶 ExternalUsers=外部用戶 +UserInterface=使用者介面 GUISetup=顯示設定 SetupArea=設定 UploadNewTemplate=上傳新的範本 @@ -63,8 +64,8 @@ IfModuleEnabled=註:若模組%s啓用時,「是的」有效。 RemoveLock=如果存在%s檔案,刪除/重新命名文件以允許使用更新/安裝工具。 RestoreLock=還原檔案唯讀權限檔案%s ,以禁止使用更新/安裝工具。 SecuritySetup=安全設定 -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=PHP 設定 +OSSetup=OS 設定 SecurityFilesDesc=在此定義上傳檔案相關的安全設定。 ErrorModuleRequirePHPVersion=錯誤,這個模組需要的PHP版本是 %s 或更高版本 ErrorModuleRequireDolibarrVersion=錯誤,這個模組需要 Dolibarr 版本 %s 或更高版本 @@ -84,6 +85,7 @@ NumberOfBytes=位元數 SearchString=尋找字串 NotAvailableWhenAjaxDisabled=當 Ajax 不啓動時,此停用。 AllowToSelectProjectFromOtherCompany=在合作方的文件上,可選擇已連結專案到另外合作方。 +TimesheetPreventAfterFollowingMonths=避免在以下幾個月後記錄花費的時間 JavascriptDisabled=JavaScript 不啓動 UsePreviewTabs=使用預覽分頁 ShowPreview=顯示預覽 @@ -116,6 +118,7 @@ MultiCurrencySetup=多國幣別設定 MenuLimits=限制及精準度 MenuIdParent=母選單ID DetailMenuIdParent=母選單的ID(母選單為空白) +ParentID=父ID DetailPosition=排序編號以定義選單位置 AllMenus=所有 NotConfigured=模組/應用程式未設定偏好 @@ -157,7 +160,7 @@ SystemToolsAreaDesc=此區域提供管理功能。使用選單選擇所需的功 Purge=清除 PurgeAreaDesc=此頁面允許您刪除Dolibarr產生或儲存的所有文件(暫存檔案或%s目錄中的所有文件)。通常不需要使用此功能。此功能提供無權限刪除Web服務器產生之文件的Dolibarr用戶提供了一種解決方法。 PurgeDeleteLogFile=刪除 log 檔案,包含Syslog 模組的 %s (沒有遺失資料風險) -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. +PurgeDeleteTemporaryFiles=刪除所有日誌與暫存檔案(沒有丟失資料的風險)。 參數可以是“tempfilesold”、“logfiles”或兩者“tempfilesold+logfiles”。 注意:只有在 24 小時之前所建立的臨時目錄,才會刪除臨時文件。 PurgeDeleteTemporaryFilesShort=刪除紀錄和暫存檔案 PurgeDeleteAllFilesInDocumentsDir=刪除資料夾中的所有檔案: %s
    這將刪除所有與元件(合作方,發票等)相關的所有產生文件,上傳到ECM模組中的檔案,資料庫備份轉存和臨時文件。 PurgeRunNow=立即清除 @@ -208,6 +211,7 @@ FeatureAvailableOnlyOnStable=在官方穩定版本中可用的功能 BoxesDesc=小工具是顯示一些訊息的元件,您可以增加這些訊息來個性化某些頁面。通過選擇目標頁面並點擊“啟用”,或點擊垃圾桶將其禁用,可以選擇顯示小工具或是不顯示小工具。 OnlyActiveElementsAreShown=僅顯示已啟用模組中的元件。 ModulesDesc=模組/應用程式决定軟體中可用的功能。某些模組需要在啟用模組後授予用戶權限。點擊開啟/關閉按鈕%s以啟用/禁用模組/應用程式。 +ModulesDesc2=按下滑鼠按鍵%s設定模組/應用程式 ModulesMarketPlaceDesc=您可在外部網站中找到更多可下載的模組... ModulesDeployDesc=如果檔案系統權限允許,則可以使用此工具部署外部模組。然後,該模組將在分頁%s上顯示。 ModulesMarketPlaces=找外部 app / 模組 @@ -221,8 +225,8 @@ NotCompatible=此模組似乎不相容您 Dolibarr %s (適用最低版本 %s - CompatibleAfterUpdate=此模組需要升級您的 Dolibarr %s (最低版本%s -最高版本 %s)。 SeeInMarkerPlace=在市場可以看到 SeeSetupOfModule=請參閱模組%s的設定 +SetOptionTo=將選項%s設定為%s Updated=升級 -Nouveauté=新奇 AchatTelechargement=購買 / 下載 GoModuleSetupArea=要部署/安裝新模組,請前往模組設定區域: %s 。 DoliStoreDesc=DoliStore 是 Dolibarr ERP / CRM 外部模組的官方市集 @@ -235,7 +239,7 @@ BoxesAvailable=可用小工具 BoxesActivated=小工具已啟用 ActivateOn=啟用 ActiveOn=已啟用 -ActivatableOn=Activatable on +ActivatableOn=可啟用在 SourceFile=來源檔案 AvailableOnlyIfJavascriptAndAjaxNotDisabled=僅當 JavaScript 不是停用時可用 Required=必須 @@ -351,7 +355,7 @@ LastActivationAuthor=最新啟動的作者 LastActivationIP=最新啟動的 IP UpdateServerOffline=離線更新伺服器 WithCounter=管理計數器 -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
    {000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
    {000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
    {000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
    {dd} day (01 to 31).
    {mm} month (01 to 12).
    {yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
    +GenericMaskCodes=您可以輸入任何編號遮罩。在此遮罩中,可以使用以下標籤:
    {000000}對應一個數字,該數字將在每個%s上遞增。輸入與計數器所需長度一樣多的零。計數器將從左側的零開始補全,以便具有與遮罩一樣多的零。
    {000000+000}與上一個相同,但是從第一個%s開始應用與+號右邊的數字相對應的偏移量。
    {000000 @ x}與上一個相同,但是當到達月份x時,計數器會重置為零(x在1到12之間,或者為0以使用您配置中定義的會計年度的前幾個月,或者為99每月重置為零)。如果使用此選項並且x為2或更高,則還需要序列{yy} {mm}或{yyyy} {mm}。
    {dd}天(01到31)。
    {mm}月(01到12)。
    {yy}{yyyy}{y}年超過2、4或1個數字。
    GenericMaskCodes2={cccc} the client code on n characters
    {cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
    {tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
    GenericMaskCodes3=遮罩中的所有其他字元將保持不變。
    不允許使用空格。
    GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
    Spaces are not allowed.
    In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
    @@ -399,6 +403,7 @@ SecurityToken=安全的網址的金鑰 NoSmsEngine=沒有可用的簡訊發送管理器.由於依賴於外部供應商,所以預設發布版本未安裝簡訊發送管理器,但是您可以在%s上找到它們。 PDF=PDF格式 PDFDesc=生成PDF 的全域選項 +PDFOtherDesc=某些模組的特別PDF 選項 PDFAddressForging=規則給地址的部分 HideAnyVATInformationOnPDF=隱藏與銷售稅/營業稅相關的所有訊息 PDFRulesForSalesTax=銷售稅 / 營業稅規則 @@ -451,7 +456,7 @@ ExtrafieldParamHelpcheckbox=數值清單必須為含有關鍵字的行,數值 ( ExtrafieldParamHelpradio=數值清單必須為含有關鍵字的行,數值 (關鍵字不能為 '0')

    範例:
    1,value1
    2,value2
    3,value3
    ... ExtrafieldParamHelpsellist=List of values comes from a table
    Syntax: table_name:label_field:id_field::filtersql
    Example: c_typent:libelle:id::filtersql

    - id_field is necessarly a primary int key
    - filtersql is a SQL condition. It can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter which is the current id of current object
    To use a SELECT into the filter use the keyword $SEL$ to bypass anti-injection protection.
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

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

    filter can be a simple test (eg active=1) to display only active value
    You can also use $ID$ in filter witch is the current id of current object
    To do a SELECT in filter use $SEL$
    if you want to filter on extrafields use syntax extra.fieldcode=... (where field code is the code of extrafield)

    In order to have the list depending on another complementary attribute list:
    c_typent:libelle:id:options_parent_list_code|parent_column:filter

    In order to have the list depending on another list:
    c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
    Syntax: ObjectName:Classpath +ExtrafieldParamHelplink=參數必須為ObjectName:Classpath
    語法 ObjectName:Classpath ExtrafieldParamHelpSeparator=保持空白以使用簡單的分隔符號
    對於折疊分隔符號,將此值設定為1(預設情況下,對於新程序打開,然後為每個用戶程序保留狀態)
    將其設定為2可折疊分隔符號(預設情況下,新程序已折疊,然後在每個用戶程序中保持狀態) LibraryToBuildPDF=PDF產生器程式庫 LocalTaxDesc=某些國家/地區可能會對每個發票行使用兩到三種稅收。在這種情況下,請選擇第二種和第三種稅率的類型及其稅率。可能的類型是:
    1:不含營業稅的產品和服務應繳納地方稅(地方稅是根據不含稅的金額計算的)
    2:適用於包括營業稅在內的產品和服務的地方稅(地方稅按金額+主稅計算)
    3:不含營業稅的產品應繳納地方稅(地方稅是按不含稅的金額計算的)
    4:包括營業稅在內的產品均需繳納地方稅(地方稅是按金額+主營業稅計算的)
    5:不加營業稅的服務應繳納地方稅(地方稅是按不含稅的金額計算的)
    6:包括營業稅在內的服務需要繳納地方稅(地方稅是按金額+稅額計算的) @@ -547,7 +552,7 @@ Module40Desc=供應商和採購管理(採購訂單和供應商發票開票) Module42Name=除錯日誌 Module42Desc=日誌記錄 (file, syslog, ...)。這些日誌是針對技術性以及除錯用途。 Module43Name=除錯列 -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Desc=開發人員用來增加瀏覽器除錯欄的工具。 Module49Name=編輯器 Module49Desc=編輯器管理 Module50Name=產品 @@ -561,11 +566,11 @@ Module53Desc=服務管理 Module54Name=合約/訂閱 Module54Desc=合約管理(服務或定期訂閱) Module55Name=條碼 -Module55Desc=條碼管理 +Module55Desc=條碼或QR code管理 Module56Name=信用轉帳付款 Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=銀行直接轉帳付款 -Module57Desc=Management of Direct Debit orders. It includes generation of SEPA file for European countries. +Module57Desc=管理直接轉帳付款訂單。它包括為歐洲國家產生的SEPA檔案。 Module58Name=點選撥打 Module58Desc=點選撥打系統(Asterisk, ...)的整合 Module60Name=貼紙 @@ -647,13 +652,13 @@ Module2900Desc=GeoIP Maxmind轉換功能 Module3200Name=不可改變的檔案 Module3200Desc=啟用不可更改的商業事件日誌。事件是即時存檔的。日誌是可以匯出的鍊式事件的唯讀表格。在某些國家/地區,此模組可能是必需的。 Module3400Name=社群網路 -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3400Desc=啟用合作方與地址的社群網路欄位 (skype, twitter, facebook, ...). Module4000Name=人資 Module4000Desc=人力資源管理(部門、員工合約及感受的管理) Module5000Name=多重公司 Module5000Desc=允許您管理多重公司 -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module6000Name=內部模組工作流程 +Module6000Desc=模組工作流管理(自動建立項目和/或自動更改狀態) Module10000Name=網站 Module10000Desc=使用所見即所得編輯器建立網站(公共)。這是一個面向網站管理員或面向開發人員的CMS(最好了解HTML和CSS語言)。只需將您的Web伺服器(Apache,Nginx等)設定為指向專用的Dolibarr資料夾,即可使用您自己的網域名稱在Internet上連線。 Module20000Name=休假申請管理 @@ -849,8 +854,8 @@ Permission403=驗證折扣 Permission404=刪除折扣 Permission430=使用除錯欄 Permission511=讀取薪資支付(您和您的下屬) -Permission512=建立/修改薪水支付 -Permission514=刪除薪水支付 +Permission512=建立/修改薪資資和付款 +Permission514=刪除薪資和付款 Permission517=讀取每個人的薪資支付 Permission519=匯出薪水 Permission520=讀取借款 @@ -965,6 +970,8 @@ Permission23003=刪除預定工作 Permission23004=執行預定工作 Permission50101=使用銷售點(SimplePOS) Permission50151=使用銷售點(TakePOS) +Permission50152=編輯銷售行數 +Permission50153=編輯已訂購銷售行數 Permission50201=讀取交易 Permission50202=匯入交易 Permission50330=讀取Zapier的物件 @@ -1039,11 +1046,12 @@ DictionaryMeasuringUnits=計算單位 DictionarySocialNetworks=社群網路 DictionaryProspectStatus=公司的潛在狀態 DictionaryProspectContactStatus=聯絡人的潛在狀態 -DictionaryHolidayTypes=休假類型 +DictionaryHolidayTypes=休假-休假類型 DictionaryOpportunityStatus=專案/潛在的潛在狀態 DictionaryExpenseTaxCat=費用報表 -交通類別 DictionaryExpenseTaxRange=費用報表 - 依交通類別劃分範圍 DictionaryTransportMode=通訊報告-傳送模式 +DictionaryBatchStatus=產品批號/序號品質控制狀態 TypeOfUnit=單位類型 SetupSaved=設定已儲存 SetupNotSaved=設定未儲存 @@ -1185,9 +1193,12 @@ SetupDescription2=以下兩個部分是必需的(“設定”選單中的前 SetupDescription3=  %s-> %s

    用於自訂您的應用程式預設行為的基本參數(例如 跟國家相關的功能)。 SetupDescription4=  %s-> %s

    此軟體是許多模組/應用程式的套件。必須啟用和配置與您的需求相關的模組。這些模組啟動後將會顯示在選單上。 SetupDescription5=其他設定選單項目管理可選參數。 -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=稽核 +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. +AuditedSecurityEvents=已審計的安全性事件 +NoSecurityEventsAreAduited=無已審計的安全性事件。您可以啟用從選單 %s +Audit=安全事件 InfoDolibarr=關於 Dolibarr InfoBrowser=關於瀏覽器 InfoOS=關於作業系統 @@ -1256,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=您的PHP中無法使用SSL功能 DownloadMoreSkins=更多佈景主題下載 SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=顯示帶有地址的專業ID -ShowVATIntaInAddress=隱藏帶有地址的歐盟營業稅號 +ShowProfIdInAddress=顯示含有地址的專業 ID +ShowVATIntaInAddress=隱藏歐盟內增值稅號 TranslationUncomplete=部分翻譯 MAIN_DISABLE_METEO=停用氣象顯示 MeteoStdMod=標準模式 @@ -1319,9 +1330,12 @@ ConditionIsCurrently=目前情況 %s YouUseBestDriver=您使用的驅動程式%s是目前的最佳驅動程式。 YouDoNotUseBestDriver=您使用驅動程式%s,但建議使用驅動程式%s。 NbOfObjectIsLowerThanNoPb=您的資料庫中有%s %s。這不需要任何特定的優化。 +ComboListOptim=組合清單載入優化 SearchOptim=搜尋最佳化 -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can 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=您在資料庫中具有%s %s,並且在首頁-設定-其他中,常數%s設定為1。 +YouHaveXObjectUseComboOptim=您有 %s %s 在資料庫內。您可以進入模組設定以啟用在按鍵事件上加載組合清單。 +YouHaveXObjectUseSearchOptim=您的資料庫中有%s %s。您應該在首頁-設定-其他中的%s增加常數1。 +YouHaveXObjectUseSearchOptimDesc=This limits 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=您在資料庫中有%s %s,並且在首頁-設定-其他中,常數%s設定為%s。 BrowserIsOK=您正在使用%s 網頁瀏覽器。此瀏覽器可以確保安全性和性能。 BrowserIsKO=您正在使用%s 網頁瀏覽器。眾所周知,此瀏覽器是安全性,性能和可靠性的錯誤選擇。我們建議使用Firefox,Chrome,Opera或Safari。 PHPModuleLoaded=PHP組件%s已載入 @@ -1433,9 +1447,10 @@ MemberMainOptions=主要選項 AdherentLoginRequired= 管理每位會員登入 AdherentMailRequired=建立新會員需要電子郵件 MemberSendInformationByMailByDefault=已勾選預設傳送電子郵件驗證成員(驗證或新訂閲) +MemberCreateAnExternalUserForSubscriptionValidated=為每個經過驗證的新會員訂閱建立一個外部用戶帳號 VisitorCanChooseItsPaymentMode=訪客可以選擇可用的付款方式 MEMBER_REMINDER_EMAIL=以電子郵件啟動自動提醒過期的訂閱。注意:必須啟用模組%s並正確設定才能發送提醒。 -MembersDocModules=Document templates for documents generated from member record +MembersDocModules=從會員記錄產生文件的文件模板 ##### LDAP setup ##### LDAPSetup=LDAP 設定 LDAPGlobalParameters=全域參數 @@ -1515,9 +1530,9 @@ LDAPDolibarrMapping=Dolibarr 映射 LDAPLdapMapping=LDAP 映射 LDAPFieldLoginUnix=登入(Unix系統) LDAPFieldLoginExample=範例: uid -LDAPFilterConnection=搜尋過濾器 +LDAPFilterConnection=搜尋篩選器 LDAPFilterConnectionExample=範例: &(objectClass=inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=範例: &(objectClass=groupOfUsers) LDAPFieldLoginSamba=登入 (samba, activedirectory) LDAPFieldLoginSambaExample=範例: samaccountname LDAPFieldFullname=全名 @@ -1611,9 +1626,9 @@ ServiceSetup=服務模組設定 ProductServiceSetup=產品和服務模組設定 NumberOfProductShowInSelect=組合選擇清單中可顯示的最大產品數量(0 =無限制) ViewProductDescInFormAbility=在表格中顯示產品描述(否則在工具提示彈出窗口中顯示) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product +DoNotAddProductDescAtAddLines=不要在表單上增加行時加入產品描述(從產品卡中) +OnProductSelectAddProductDesc=從文件當中增加一個產品行時如何使用產品描述 +AutoFillFormFieldBeforeSubmit=自動將產品描述填入描述輸入欄位 DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents MergePropalProductCard=若產品/服務在提案/建議書內,啟動產品/服務中附件檔分頁選項以將產品 PDF 文件整合成報價/建議書/提案的 azur 格式 PDF @@ -1636,7 +1651,7 @@ YouCanUseDOL_DATA_ROOT=您可使用在 Dolibarr "文件"資料夾的日誌檔案 ErrorUnknownSyslogConstant=常數 %s 不是一個已知的 Syslog 常數 OnlyWindowsLOG_USER=On Windows, only the LOG_USER facility will be supported CompressSyslogs=除錯記錄檔案的縮壓及備份(由記錄除錯模組產生的) -SyslogFileNumberOfSaves=Number of backup logs to keep +SyslogFileNumberOfSaves=要保留的備份日誌數 ConfigureCleaningCronjobToSetFrequencyOfSaves=清除偏好設定的排程工作以設定週期備份日誌 ##### Donations ##### DonationsSetup=捐贈模組設定 @@ -1692,7 +1707,7 @@ AdvancedEditor=進階編輯器 ActivateFCKeditor=啟用進階編輯器: FCKeditorForCompany=所見即所得建立/編輯元件的描述和註釋(產品/服務除外) FCKeditorForProduct=所見即所得產品/服務建立/編輯的描述和說明 -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formatting when building PDF files. +FCKeditorForProductDetails=所見即所得為所有項目(提案/建議書,訂單,發票等)建立/編輯產品明細行。 警告:在這種情況下,強烈建議不要使用此選項,因為在產生PDF文件時,它會產生特殊字元和頁面格式的問題。 FCKeditorForMailing= 以所見即所得建立/編輯電子郵件 ( 工具 --> 電子郵件 ) FCKeditorForUserSignature=以所見即所得建立/編輯用戶簽名檔 FCKeditorForMail=以所見即所得建立/編輯全部電子郵件( 除了工具 --> 電子郵件) @@ -1753,24 +1768,24 @@ CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create th ##### Agenda ##### AgendaSetup=事件和應辦事項模組設定 PasswordTogetVCalExport=授權匯出連結秘鑰 -SecurityKey = Security Key +SecurityKey = 安全金鑰 PastDelayVCalExport=不要匯出早於以下時間的事件 AGENDA_USE_EVENT_TYPE=使用事件類型(在選單設定->分類->應辦事項類型中管理) AGENDA_USE_EVENT_TYPE_DEFAULT=在事件建立表單中自動為事件類型設定此預設值 AGENDA_DEFAULT_FILTER_TYPE=在應辦事項視圖的搜索過濾器中自動設定此類事件 AGENDA_DEFAULT_FILTER_STATUS=在應辦事項視圖的搜索過濾器中自動為事件設定此狀態 -AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda +AGENDA_DEFAULT_VIEW=當選擇應辦事項選單時預設要打開的分頁 AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=啟用音效警告 AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=顯示已連結項目到行程的檢視中 ##### Clicktodial ##### ClickToDialSetup=點擊撥號模組設定 ClickToDialUrlDesc=當點選電話圖示時則呼叫網址。在網址中,你可使用標籤
    __PHONETO__,他可取代個人撥打的電話號碼
    __PHONEFROM__,他可以取代個人的電話號碼(您自己的)
    __LOGIN__,他可以取代點選撥打登錄(在用戶卡中定義)
    __PASS__,他可以取代點選撥打密碼(在用戶卡中定義)。 ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=在電話號碼中使用 "tel:" 連線 -ClickToDialUseTelLinkDesc=若您的用戶有智慧型手機或是在同一台電腦上已有通訊軟體時使用此方法,則當您在瀏覽器上點選時將連線到 "tel:" 進行呼叫。若您需要完整服務的解決方案(不需要安裝軟體到本機中),您必須設定為 "否" 及填寫下一欄位。 +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=銷售點 CashDeskSetup=銷售點模組設定 @@ -1826,8 +1841,8 @@ IfSetToYesDontForgetPermission=如果設定為非null值,請不要忘記為允 GeoIPMaxmindSetup=GeoIP Maxmind 模組設定 PathToGeoIPMaxmindCountryDataFile=包含Maxmind ip到國家/地區轉換檔案的路徑。
    範例:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoLite2-Country.mmdb NoteOnPathLocation=請注意您的 IP 到國家資料檔案必須在您 PHP 資料夾中且可以讀取(檢查您 PHP 中 open_basedir 設定和檔案系統權限)。 -YouCanDownloadFreeDatFileTo=您可以從%s下載Maxmind GeoIP國家/地區文件的免費演示版本 。 -YouCanDownloadAdvancedDatFileTo=您也可以在%s的 Maxmind GeoIP國家文件下載更完整更新版本 +YouCanDownloadFreeDatFileTo=您可以從%s下載Maxmind GeoIP國家/地區檔案的免費展示版本 。 +YouCanDownloadAdvancedDatFileTo=您也可以在%s的 Maxmind GeoIP國家檔案下載更完整更新版本 TestGeoIPResult=IP轉換測試 - > 國家 ##### Projects ##### ProjectsNumberingModules=專案編號模組 @@ -1979,6 +1994,10 @@ MAIN_PDF_MARGIN_RIGHT=PDF右邊邊距 MAIN_PDF_MARGIN_TOP=PDF頂部邊距 MAIN_PDF_MARGIN_BOTTOM=PDF底部邊距 MAIN_DOCUMENTS_LOGO_HEIGHT=PDF上Logo的高度 +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=在提案/建議書行加入圖片 +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=在 PDF 中增加電子簽名 NothingToSetup=此模組不需要特別的設定。 SetToYesIfGroupIsComputationOfOtherGroups=若此群組是其他群組的計算值,則將其設定為 "是" EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
    For example:
    CODEGRP1+CODEGRP2 @@ -2019,13 +2038,13 @@ NothingProcessed=什麼都沒做 XEmailsDoneYActionsDone=%s電子郵件合格,%s電子郵件已成功處理(對於%s記錄/已完成操作) RecordEvent=記錄電子郵件事件 CreateLeadAndThirdParty=建立潛在(必要時建立合作方) -CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) +CreateTicketAndThirdParty=建立服務單(如果之前已執行讀取也連結至合作方) CodeLastResult=最新結果代碼 NbOfEmailsInInbox=來源資料夾中的電子郵件數量 LoadThirdPartyFromName=在%s載入合作方搜尋 (僅載入) LoadThirdPartyFromNameOrCreate= 在%s載入合作方搜尋 (如果找不到就建立) WithDolTrackingID=來自Dolibarr寄送的第一封電子郵件發起的對話訊息 -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr +WithoutDolTrackingID=來自第一封電子郵件發起的對話的訊息不是從 Dolibarr 發送的 WithDolTrackingIDInMsgId=來自Dolibarr的訊息 WithoutDolTrackingIDInMsgId=未從Dolibarr傳送訊息 CreateCandidature=建立工作應用程式 @@ -2042,7 +2061,7 @@ DisabledResourceLinkContact=停用資源連結到通訊錄的功能 EnableResourceUsedInEventCheck=啟用功能以檢查事件中是否正在使用資源 ConfirmUnactivation=確認重設模組 OnMobileOnly=只在小螢幕(智慧型手機) -DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be "Prospect" or "Customer", but can't be both) +DisableProspectCustomerType=禁用“潛在+客戶”合作方類型(因此合作方必須是“潛在”或“客戶”,但不能同時使用兩種類型) MAIN_OPTIMIZEFORTEXTBROWSER=盲人簡化界面 MAIN_OPTIMIZEFORTEXTBROWSERDesc=如果您是盲人,或者通過Lynx或Links等文字瀏覽器使用此應用程式,請啟用此選項。 MAIN_OPTIMIZEFORCOLORBLIND=為色盲更改界面顏色 @@ -2064,11 +2083,11 @@ UseDebugBar=使用debug bar DEBUGBAR_LOGS_LINES_NUMBER=控制台中可保留的日誌行數 WarningValueHigherSlowsDramaticalyOutput=警告,較高的值會嚴重降低輸出速度 ModuleActivated=模組%s已啟動並顯示於界面上 -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +ModuleActivatedWithTooHighLogLevel=模組 %s 使用過高的日誌記錄等級啟用(嘗試使用較低的等級以獲得更好的性能和安全性) +ModuleSyslogActivatedButLevelNotTooVerbose=模組%s已啟用並且日誌等級(%s)正確(不會太冗長) IfYouAreOnAProductionSetThis=如果您在生產環境中,則應將此屬性設定為%s。 AntivirusEnabledOnUpload=在上傳的檔案已啟用了防病毒功能 -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +SomeFilesOrDirInRootAreWritable=某些檔案或目錄不是唯讀模式 EXPORTS_SHARE_MODELS=匯出模組功能可分享此模組給所有人 ExportSetup=模組匯出設定 ImportSetup=模組匯入設定 @@ -2078,7 +2097,7 @@ LargerThan=大於 IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=對於GMail帳戶,如果啟用了兩步驗證,建議您為應用程序建立專用的第二個密碼,而不要使用來自https://myaccount.google.com/的帳戶密碼。 EmailCollectorTargetDir=當成功地寄出電子郵件後,您可能想將電子郵件移動到另一個標籤/資料夾。只需在此處設定一個值即可使用此功能。請注意,您還必須使用可讀/寫的登入帳戶。 -EmailCollectorLoadThirdPartyHelp=您可以使用此操作來使用電子郵件內容在資料庫中尋找並載入現有的合作方。找到(或建立)的合作方將用於需要他的後續操作。在參數欄位中您可以使用例如如果您想要從合作方字串'Name: name to find'中將提取的姓名傳送進到內容中您可以使用欄位參數'EXTRACT:BODY:Name:\\s([^\\s]*)' +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
    For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
    'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\\s([^\\s]*);client=SET:2;'
    EndPointFor=%s的端點:%s DeleteEmailCollector=刪除電子郵件收集器 ConfirmDeleteEmailCollector=您確定要刪除此電子郵件收集器嗎? @@ -2092,11 +2111,10 @@ MakeAnonymousPing=對Dolibarr基金會服務器進行匿名Ping'+1'(僅在安 FeatureNotAvailableWithReceptionModule=啟用接收模組後,此功能不可用 EmailTemplate=電子郵件模板 EMailsWillHaveMessageID=電子郵件將具有與此語法匹配的標籤“參考” -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label +PDF_SHOW_PROJECT=在文件中顯示專案 +ShowProjectLabel=專案標籤 PDF_USE_ALSO_LANGUAGE_CODE=如果您要在生成同一的PDF中以兩種不同的語言複製一些文字,則必須在此處設置第二種語言讓生成的PDF在同一頁中包含兩種不同的語言,選擇的可以用來生成PDF跟另一種語言(只有少數PDF模板支援此功能)。PDF只有一種語言則留空。 FafaIconSocialNetworksDesc=在此處輸入FontAwesome圖示的代碼。如果您不知道什麼是FontAwesome,則可以使用通用值fa-address-book。 -FeatureNotAvailableWithReceptionModule=啟用接收模組後,此功能不可用 RssNote=注意:每個RSS feed定義都提供一個小部件,您必須啟用該小部件才能使其在儀表板中看到 JumpToBoxes=跳至設定 -> 小部件 MeasuringUnitTypeDesc=使用值例如 "size", "surface", "volume", "weight", "time" @@ -2109,23 +2127,35 @@ SwitchThisForABetterSecurity=建議將此值變更為%s以提高安全性 DictionaryProductNature= 產品性質 CountryIfSpecificToOneCountry=國家(如果特定於給定國家) YouMayFindSecurityAdviceHere=您可以在這裡找到安全建議 -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. +ModuleActivatedMayExposeInformation=這個 PHP外掛可能會暴露敏感資料。如果您不需要它,請關閉它。 +ModuleActivatedDoNotUseInProduction=為研發所設計的一個模組已經啟用。請不要在正式生產環境中使用。 CombinationsSeparator=產品組合的分隔符號 SeeLinkToOnlineDocumentation=有關範例,請參見選單上的線上文件連結。 -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. +SHOW_SUBPRODUCT_REF_IN_PDF=如果使用模組%s中的"%s"功能,在PDF中顯示kit的子產品詳細資料 AskThisIDToYourBank=請聯絡您的銀行以獲取此ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands (for the module Scheduled job, or to run the external command line Anti-virus for example), you shoud disable PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) +AdvancedModeOnly=僅在進階權限模式下可用的權限 +ConfFileIsReadableOrWritableByAnyUsers=conf 檔案可由任何用戶讀取或寫入。請變更為Web伺服器用戶和群組擁有權限。 +MailToSendEventOrganization=事件組織 +MailToPartnership=Partnership +AGENDA_EVENT_DEFAULT_STATUS=從表單建立事件時預設的事件狀態 +YouShouldDisablePHPFunctions=您應該停用 PHP 功能 +IfCLINotRequiredYouShouldDisablePHPFunctions=除非您需要在自定義代碼中執行系統命令,否則您應該停用 PHP 功能 +PHPFunctionsRequiredForCLI=對於 shell 目的(如計劃備份工作或執行掃毒程式),您必須保留 PHP 功能 +NoWritableFilesFoundIntoRootDir=在您的根目錄中找不到一般程式可寫入的檔案或目錄(好) +RecommendedValueIs=建議:%s +Recommended=推薦的 +NotRecommended=不建議 +ARestrictedPath=受限路徑 +CheckForModuleUpdate=檢查外部模組更新 +CheckForModuleUpdateHelp=此操作將連接到外部模組的編輯器以檢查是否有新版本。 +ModuleUpdateAvailable=有可用的更新 +NoExternalModuleWithUpdate=未找到外部模組的更新 +SwaggerDescriptionFile=Swagger API 描述檔案(例如用於 redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=您啟用了已棄用的 WS API。您應該改用 REST API。 +RandomlySelectedIfSeveral=有多張圖片時隨機選擇 +DatabasePasswordObfuscated=資料庫密碼在conf檔案中為加密 +DatabasePasswordNotObfuscated=資料庫密碼在conf檔案中不是加密 +APIsAreNotEnabled=未啟用 API 模組 +YouShouldSetThisToOff=您應該將此設定為 0 或off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/zh_TW/agenda.lang b/htdocs/langs/zh_TW/agenda.lang index b72514bf7b6..0995ebd2ab4 100644 --- a/htdocs/langs/zh_TW/agenda.lang +++ b/htdocs/langs/zh_TW/agenda.lang @@ -4,7 +4,7 @@ Actions=事件 Agenda=應辦事項 TMenuAgenda=應辦事項 Agendas=應辦事項 -LocalAgenda=內部行事曆 +LocalAgenda=預設行事曆 ActionsOwnedBy=事件承辦人 ActionsOwnedByShort=承辦人 AffectedTo=指定給 @@ -20,7 +20,7 @@ MenuToDoActions=全部未完成事件 MenuDoneActions=全部已停止事件 MenuToDoMyActions=我的未完成事件 MenuDoneMyActions=我的已停止事件 -ListOfEvents=事件清單(內部事件) +ListOfEvents=事件清單(預設行事曆) ActionsAskedBy=誰的事件報表 ActionsToDoBy=事件指定給 ActionsDoneBy=由誰完成事件 @@ -38,6 +38,7 @@ ActionsEvents=Dolibarr 會在待辦事項中自動建立行動事件 EventRemindersByEmailNotEnabled=電子郵件事件提醒未在%s模組設定中啟用。 ##### Agenda event labels ##### NewCompanyToDolibarr=合作方 %s 已建立 +COMPANY_MODIFYInDolibarr= 合作方%s已變更 COMPANY_DELETEInDolibarr=合作方%s已刪除 ContractValidatedInDolibarr=合約 %s 已驗證 CONTRACT_DELETEInDolibarr=合約%s已刪除 @@ -87,6 +88,7 @@ OrderDeleted=訂單已刪除 InvoiceDeleted=發票已刪除 DraftInvoiceDeleted=發票草稿已刪除 CONTACT_CREATEInDolibarr=聯絡人%s已建立 +CONTACT_MODIFYInDolibarr=聯絡人%s已變更 CONTACT_DELETEInDolibarr=聯絡人%s已刪除 PRODUCT_CREATEInDolibarr=產品 %s 已建立 PRODUCT_MODIFYInDolibarr=產品 %s 已修改 @@ -119,6 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO已設定為草稿狀態 MRP_MO_PRODUCEDInDolibarr=MO已生產 MRP_MO_DELETEInDolibarr=MO已刪除 MRP_MO_CANCELInDolibarr=MO已取消 +PAIDInDolibarr=%s已付款 ##### End agenda events ##### AgendaModelModule=事件的文件範本 DateActionStart=開始日期 @@ -130,7 +133,7 @@ AgendaUrlOptions4=logint = %s將限制輸出分配給用戶%s ( AgendaUrlOptionsProject=project=PROJECT_ID 將限制輸出為已連結專案操作 PROJECT_ID. AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto排除自動事件。 AgendaUrlOptionsIncludeHolidays=設定includeholidays=1以包括假期活動。 -AgendaShowBirthdayEvents=顯示連絡人生日 +AgendaShowBirthdayEvents=聯絡人生日 AgendaHideBirthdayEvents=隱藏連絡人生日 Busy=忙錄 ExportDataset_event1=待辦行程事件清單 diff --git a/htdocs/langs/zh_TW/assets.lang b/htdocs/langs/zh_TW/assets.lang index face9d89bc9..8de301c2735 100644 --- a/htdocs/langs/zh_TW/assets.lang +++ b/htdocs/langs/zh_TW/assets.lang @@ -61,5 +61,7 @@ MenuListTypeAssets = 清單列表 # # Module # +Asset=資產 NewAssetType=新資產類型 NewAsset=新資產 +ConfirmDeleteAsset=您確定要刪除此資產? diff --git a/htdocs/langs/zh_TW/banks.lang b/htdocs/langs/zh_TW/banks.lang index 6465e10a452..28729c4b7e7 100644 --- a/htdocs/langs/zh_TW/banks.lang +++ b/htdocs/langs/zh_TW/banks.lang @@ -115,7 +115,7 @@ TransferTo=至 TransferFromToDone=從%s%s%s%s轉帳已記錄。 CheckTransmitter=寄件人 ValidateCheckReceipt=驗證此支票收據 -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=刪除支票收據? ConfirmDeleteCheckReceipt=您確認定您要刪除此張支票收據? BankChecks=銀行支票 @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=您確定要刪除此筆條目 ThisWillAlsoDeleteBankRecord=同樣也會刪除已產生的銀行條目 BankMovements=動作 PlannedTransactions=已計畫的條目 -Graph=Graphs +Graph=圖表 ExportDataset_banque_1=銀行條目和帳戶對帳單 ExportDataset_banque_2=存款單 TransactionOnTheOtherAccount=在其他帳戶的交易 diff --git a/htdocs/langs/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index 4640ce19133..32cd94313ab 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -82,8 +82,8 @@ PaymentsAlreadyDone=付款已完成 PaymentsBackAlreadyDone=退款已完成 PaymentRule=付款條件 PaymentMode=付款類型 -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=預設付款類型 +DefaultBankAccount=預設銀行帳戶 PaymentTypeDC=借/貸卡片 PaymentTypePP=PayPal IdPaymentMode=付款類型 (id) @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=將超額付款轉換為可用折扣 EnterPaymentReceivedFromCustomer=輸入從客戶收到的付款 EnterPaymentDueToCustomer=應付客戶款項 DisabledBecauseRemainderToPayIsZero=已關閉,因為剩餘的未付餘額為零 -PriceBase=Base price +PriceBase=基本價格 BillStatus=發票狀態 StatusOfGeneratedInvoices=已產生發票的狀態 BillStatusDraft=草稿(等待驗證) @@ -259,6 +259,7 @@ DateMaxPayment=付款到期日 DateInvoice=發票日期 DatePointOfTax=稅點 NoInvoice=沒有發票 +NoOpenInvoice=沒有未開發票 ClassifyBill=分類發票 SupplierBillsToPay=未付款的供應商發票 CustomerBillsUnpaid=尚未付款的客戶發票 @@ -376,7 +377,7 @@ DateLastGeneration=最新的產生日期 DateLastGenerationShort=最新的產生日期 MaxPeriodNumber=產生發票的最大數量 NbOfGenerationDone=已經產生完成的發票數量 -NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationOfRecordDone=已經完成的產生記錄數量 NbOfGenerationDoneShort=已產生完成發票數 MaxGenerationReached=已達到最大產生數量 InvoiceAutoValidate=自動驗證發票 @@ -454,7 +455,7 @@ RegulatedOn=規範於 ChequeNumber=支票編號 ChequeOrTransferNumber=支票/轉移編號 ChequeBordereau=支票行事曆 -ChequeMaker=Check/Transfer sender +ChequeMaker=支票/轉帳發件人 ChequeBank=支票銀行 CheckBank=支票 NetToBePaid=要支付的淨額 @@ -520,10 +521,10 @@ YouMustCreateStandardInvoiceFirstDesc=您必須先建立標準發票,然後將 PDFCrabeDescription=發票PDF範本Crabe。完整的發票範本(Sponge範本的舊範本) PDFSpongeDescription=發票PDF範本Sponge。完整的發票範本 PDFCrevetteDescription=發票PDF範本Crevette。狀況發票的完整發票範本 -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 -MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=標準發票在格式%syymm-nnnn的退回編號和信用票據格式%syymm-nnnn中yy為年,mm為月,nnnn是一個連續自動遞增沒有中斷的數字而且不為0 +MarsNumRefModelDesc1=退回編號格式,標準發票退回格式為%syymm-nnnn,替換發票為%syymm-nnnn,預付款/訂金發票為%syymm-nnnn,信用票據為 %syymm-nnnn,其中yy是年,mm是月,nnnn不間斷且不返回0的序列 TerreNumRefModelError=以$ syymm開頭的帳單已經存在,並且與該序列模型不符合。將其刪除或重新命名以啟動此模組。 -CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +CactusNumRefModelDesc1=退回編號格式,標準發票的退回格式為%syymm-nnnn,信用票據格式為%syymm-nnnn,預付款/訂金發票格式為%syymm-nnnn,其中yy為年,mm為月,nnnn為不間斷且不返回0的序列 EarlyClosingReason=提前關閉原因 EarlyClosingComment=提前關閉註記 ##### Types de contacts ##### @@ -589,3 +590,4 @@ FacParentLine=發票的母行 SituationTotalRayToRest=剩下的不含稅 PDFSituationTitle=情況n°%d SituationTotalProgress=總進度%d %% +SearchUnpaidInvoicesWithDueDate=搜尋到期日 = %s 的未付款發票 diff --git a/htdocs/langs/zh_TW/blockedlog.lang b/htdocs/langs/zh_TW/blockedlog.lang index 01d6e9d8300..829d2667a78 100644 --- a/htdocs/langs/zh_TW/blockedlog.lang +++ b/htdocs/langs/zh_TW/blockedlog.lang @@ -8,7 +8,7 @@ BrowseBlockedLog=不可更改的日誌 ShowAllFingerPrintsMightBeTooLong=顯示所有存檔的日誌(可能很長) ShowAllFingerPrintsErrorsMightBeTooLong=顯示所有無效的歸檔日誌(可能很長) DownloadBlockChain=下載指紋 -KoCheckFingerprintValidity=歸檔的日誌條目無效。這意味著某人(黑客?)在記錄後已經修改了該記錄的某些數據,或者刪除了先前的存檔記錄(檢查是否存在具有先前#號的行)。 +KoCheckFingerprintValidity=存檔日誌條目失效。 這意味著有人(駭客?)在記錄後修改了這筆記錄的一些數據,或是已經刪除了之前的存檔記錄(檢查前面#的那行是否存在)或者修改了之前記錄的校驗。 OkCheckFingerprintValidity=歸檔日誌記錄有效。此行上的數據未修改,並且該條目位於上一個條目之後。 OkCheckFingerprintValidityButChainIsKo=與以前的日誌相比,已歸檔的日誌似乎有效,但是先前的鏈已損壞。 AddedByAuthority=已儲存到遠端授權中 diff --git a/htdocs/langs/zh_TW/boxes.lang b/htdocs/langs/zh_TW/boxes.lang index d093fea93e2..7d7b10a0714 100644 --- a/htdocs/langs/zh_TW/boxes.lang +++ b/htdocs/langs/zh_TW/boxes.lang @@ -18,13 +18,13 @@ BoxLastActions=最新活動 BoxLastContracts=最新合約 BoxLastContacts=最新通訊錄/地址 BoxLastMembers=最新會員 -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=最新已修改會員 +BoxLastMembersSubscriptions=最新會員訂閱 BoxFicheInter=最新干預 BoxCurrentAccounts=開啟帳戶餘額 BoxTitleMemberNextBirthdays=本月生日(會員) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMembersByType=依類型會員 +BoxTitleMembersSubscriptionsByYear=依年份會員訂閱 BoxTitleLastRssInfos=來自%s的最新%s筆消息 BoxTitleLastProducts=產品/服務:最新%s筆已修改 BoxTitleProductsAlertStock=產品:庫存警報 @@ -32,8 +32,8 @@ BoxTitleLastSuppliers=最新%s位已記錄供應商 BoxTitleLastModifiedSuppliers=供應商:最新的%s位已修改 BoxTitleLastModifiedCustomers=客戶:最新%s位已修改 BoxTitleLastCustomersOrProspects=最新%s位客戶或潛在方 -BoxTitleLastCustomerBills=最近%s修改的客戶發票 -BoxTitleLastSupplierBills=最近%s修改的供應商發票 +BoxTitleLastCustomerBills=最新%s張已修改客戶發票 +BoxTitleLastSupplierBills=最新%s張已修改的供應商發票 BoxTitleLastModifiedProspects=潛在方:最新%s位已修改 BoxTitleLastModifiedMembers=最新%s位會員 BoxTitleLastFicheInter=最新%s筆已修改干預措施 @@ -46,11 +46,11 @@ BoxMyLastBookmarks=書籤:最新%s筆 BoxOldestExpiredServices=最舊的活動已過期服務 BoxLastExpiredServices=具有活動已過期服務的最新%s位最早聯絡人 BoxTitleLastActionsToDo=最新%s次動作 -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=最新%s位聯絡人已修改 +BoxTitleLastModifiedDonations=最新%s筆捐款已修改 +BoxTitleLastModifiedExpenses=最新%s筆費用報表已修改 +BoxTitleLatestModifiedBoms=最新%s筆BOM已修改 +BoxTitleLatestModifiedMos=最新%s筆生產訂單已修改 BoxTitleLastOutstandingBillReached=超過最大未償還額的客戶 BoxGlobalActivity=全球活動(發票、提案/建議書、訂單) BoxGoodCustomers=好客戶 @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=供應商訂單:最後修改的%s筆 BoxTitleLastModifiedCustomerBills=客戶發票:最後修改的%s張 BoxTitleLastModifiedCustomerOrders=銷售訂單:最後修改的%s筆 BoxTitleLastModifiedPropals=最新%s筆修改的提案/建議書 -BoxTitleLatestModifiedJobPositions=最新已修改的工作%s -BoxTitleLatestModifiedCandidatures=最新已修改的候選人%s +BoxTitleLatestModifiedJobPositions=最新%s筆已修改的工作職位 +BoxTitleLatestModifiedCandidatures=最新%s筆已修改的工作申請 ForCustomersInvoices=客戶發票 ForCustomersOrders=客戶訂單 ForProposals=提案/建議書 @@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=最新%s筆客戶發貨 NoRecordedShipments=沒有已記錄的客戶發貨 BoxCustomersOutstandingBillReached=達到最大客戶數 # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy +UsersHome=使用者與群組首頁 +MembersHome=會員首頁 +ThirdpartiesHome=合作方首頁 +TicketsHome=服務單首頁 +AccountancyHome=會計首頁 ValidatedProjects=已驗證的專案 diff --git a/htdocs/langs/zh_TW/cashdesk.lang b/htdocs/langs/zh_TW/cashdesk.lang index e8f9444c07f..38402b75c5d 100644 --- a/htdocs/langs/zh_TW/cashdesk.lang +++ b/htdocs/langs/zh_TW/cashdesk.lang @@ -41,8 +41,8 @@ Floor=樓 AddTable=新增表格 Place=地點 TakeposConnectorNecesary=需要“ TakePOS連接器” -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=增加一個按鈕將訂單傳送到某些特定的印表機,無需付款(例如將訂單傳送到廚房) +NotAvailableWithBrowserPrinter=當收據印表機設定為瀏覽器時不可用: SearchProduct=搜尋商品 Receipt=收據 Header=頁首 @@ -57,9 +57,9 @@ Paymentnumpad=輸入付款的便籤類型 Numberspad=號碼便籤 BillsCoinsPad=硬幣和紙幣便籤 DolistorePosCategory=用於Dolibarr的TakePOS模組與其他POS解決方案 -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items +TakeposNeedsCategories=TakePOS 需要至少一個產品類別才能正常使用 +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS 需要在類別 %s 下至少有 1 個產品類別才能正常使用 +OrderNotes=可以為每個訂購的項目增加一些註解 CashDeskBankAccountFor=用於付款的預設帳戶 NoPaimementModesDefined=在 TakePOS 設定中未定義付款方式 TicketVatGrouped=按銷售單中的費率合計營業稅 @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=發票已通過驗證 NoLinesToBill=無計費項目 CustomReceipt=自訂收據 ReceiptName=收據名稱 -ProductSupplements=Manage supplements of products +ProductSupplements=管理產品的補充 SupplementCategory=補充品類別 ColorTheme=顏色主題 Colorful=彩色 @@ -94,7 +94,7 @@ Browser=瀏覽器 BrowserMethodDescription=簡易列印收據。僅需幾個參數即可設定收據。通過瀏覽器列印。 TakeposConnectorMethodDescription=具有附加功能的外部模組。可以從雲端列印。 PrintMethod=列印方式 -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=具有大量參數的強大方法。完全可定制的模板。程式的伺服器不能位於雲端當中(必須能夠使用您網路中的印表機)。 ByTerminal=依照站台 TakeposNumpadUsePaymentIcon=在小鍵盤的付款按鈕上使用圖示而不是文字 CashDeskRefNumberingModules=POS銷售編號模組 @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
    {TN} 標籤用於增加站台 TakeposGroupSameProduct=群組相同產品線 StartAParallelSale=開啟新的平行銷售 SaleStartedAt=銷售開始於%s -ControlCashOpening=在打開POS時控制現金彈出窗口 +ControlCashOpening=開啟POS時跳出"控制收銀" CloseCashFence=關閉收銀台控制 CashReport=現金報告 MainPrinterToUse=要使用的主印表機 @@ -126,5 +126,6 @@ ModuleReceiptPrinterMustBeEnabled=必須先啟用收據印表機模組 AllowDelayedPayment=允許延遲付款 PrintPaymentMethodOnReceipts=在收據上列印付款方式 WeighingScale=秤重 -ShowPriceHT = Display the price excluding tax column -ShowPriceHTOnReceipt = Display the price excluding tax column on receipt +ShowPriceHT = 顯示不包含稅金的欄位(在畫面中) +ShowPriceHTOnReceipt = 顯示不含稅價格的欄位(在收據上) +CustomerDisplay=Customer display diff --git a/htdocs/langs/zh_TW/categories.lang b/htdocs/langs/zh_TW/categories.lang index fbbf4dbc51b..6f362a9d7a3 100644 --- a/htdocs/langs/zh_TW/categories.lang +++ b/htdocs/langs/zh_TW/categories.lang @@ -3,20 +3,20 @@ Rubrique=標籤/分類 Rubriques=標籤/分類 RubriquesTransactions=交易標籤/分類 categories=標籤/分類 -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=無此類型的 標籤/分類被建立 In=在 AddIn=加入 modify=修改 Classify=分類 CategoriesArea=標籤/類別區域 -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area -MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ProductsCategoriesArea=產品/服務 標籤/分類 區域 +SuppliersCategoriesArea=供應商 標籤/分類 區域 +CustomersCategoriesArea=客戶 標籤/分類 區域 +MembersCategoriesArea=會員 標籤/類別 區域 +ContactsCategoriesArea=聯絡人 標籤/類別 區域 +AccountsCategoriesArea=銀行帳戶 標籤/類別 區域 +ProjectsCategoriesArea=專案 標籤/類別 區域 +UsersCategoriesArea=使用者 標籤/類別 區域 SubCats=子類別 CatList=標籤/類別清單 CatListAll=標籤/分類清單(所有類型) @@ -93,7 +93,7 @@ AddSupplierIntoCategory=分配類別給供應商 ShowCategory=顯示標籤/類別 ByDefaultInList=預設在清單中 ChooseCategory=選擇類別 -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories +StocksCategoriesArea=倉庫分類 +ActionCommCategoriesArea=事件分類 WebsitePagesCategoriesArea=頁面容器類別 -UseOrOperatorForCategories=Use 'OR' operator for categories +UseOrOperatorForCategories=分類使用 'OR' 運算符號 diff --git a/htdocs/langs/zh_TW/commercial.lang b/htdocs/langs/zh_TW/commercial.lang index 52b15faf976..23b593d727a 100644 --- a/htdocs/langs/zh_TW/commercial.lang +++ b/htdocs/langs/zh_TW/commercial.lang @@ -29,8 +29,8 @@ ShowCustomer=顯示客戶 ShowProspect=顯示潛在方 ListOfProspects=潛在方清單 ListOfCustomers=客戶清單 -LastDoneTasks=最新%s完成的行動 -LastActionsToDo=最舊%s未完成的行動 +LastDoneTasks=最新%s筆完成的行動 +LastActionsToDo=最舊%s筆未完成的行動 DoneAndToDoActions=完成與執行事件 DoneActions=已完成的事件 ToDoActions=未完成事件 @@ -64,10 +64,11 @@ ActionAC_SHIP=以郵件發送裝運 ActionAC_SUP_ORD=以郵件發送採購訂單 ActionAC_SUP_INV=以郵件發送供應商發票 ActionAC_OTH=其他 -ActionAC_OTH_AUTO=自動插入事件 +ActionAC_OTH_AUTO=其他自動項目 ActionAC_MANUAL=手動插入的事件 ActionAC_AUTO=自動插入事件 -ActionAC_OTH_AUTOShort=自動 +ActionAC_OTH_AUTOShort=其他 +ActionAC_EVENTORGANIZATION=事件組織的事件 Stats=銷售統計 StatusProsp=潛在方狀態 DraftPropals=商業提案/建議書草稿 diff --git a/htdocs/langs/zh_TW/companies.lang b/htdocs/langs/zh_TW/companies.lang index 42bc3707cd9..0b4336be905 100644 --- a/htdocs/langs/zh_TW/companies.lang +++ b/htdocs/langs/zh_TW/companies.lang @@ -2,9 +2,9 @@ ErrorCompanyNameAlreadyExists=公司名稱%s已經存在。請選擇另一個。 ErrorSetACountryFirst=請先設定國家 SelectThirdParty=選擇一個合作方 -ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? +ConfirmDeleteCompany=您確定要刪除此公司和所有關聯的資訊嗎? DeleteContact=刪除連絡人/地址 -ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? +ConfirmDeleteContact=您確定要刪除此連絡人和所有相關資訊? MenuNewThirdParty=新合作方 MenuNewCustomer=新客戶 MenuNewProspect=新潛在方 @@ -43,10 +43,10 @@ Individual=私營個體 ToCreateContactWithSameName=會自動新增一個與合作方具有相同資訊的聯絡人/地址。在大多數情況下,即使您的合作方是自然人,只需建立合作方即可。 ParentCompany=母公司 Subsidiaries=子公司 -ReportByMonth=Report per month -ReportByCustomers=Report per customer -ReportByThirdparties=Report per thirdparty -ReportByQuarter=Report per rate +ReportByMonth=報表依月份 +ReportByCustomers=報表依客戶 +ReportByThirdparties=報表依第三方 +ReportByQuarter=報表依費率 CivilityCode=Civility code RegisteredOffice=已註冊辦公室 Lastname=姓氏 @@ -69,7 +69,7 @@ PhoneShort=電話 Skype=Skype Call=通話 Chat=對話 -PhonePro=Bus. phone +PhonePro=商務電話 PhonePerso=個人電話號碼 PhoneMobile=手機號碼 No_Email=拒絕批次發送電子郵件 @@ -173,13 +173,13 @@ ProfId1ES=Prof Id 1 (CIF/NIF) ProfId2ES=Prof Id 2 (社會安全號碼) ProfId3ES=Prof Id 3 (CNAE) ProfId4ES=Prof Id 4 (學院編號) -ProfId5ES=Prof Id 5 (EORI number) +ProfId5ES=Prof Id 5 (EORI 號碼) ProfId6ES=- ProfId1FR=Prof Id 1 (SIREN) ProfId2FR=Prof Id 2 (SIRET) ProfId3FR=Prof Id 3 (NAF, old APE) ProfId4FR=Prof Id 4 (RCS/RM) -ProfId5FR=Prof Id 5 (numéro EORI) +ProfId5FR=專業ID5(歐盟增值稅號EORI) ProfId6FR=- ProfId1ShortFR=SIREN ProfId2ShortFR=SIRET @@ -239,7 +239,7 @@ ProfId1PT=Prof Id 1 (NIPC) ProfId2PT=Prof Id 2(社會安全號碼) ProfId3PT=Prof Id 3(商業記錄碼) ProfId4PT=Prof Id 4 (音樂學院) -ProfId5PT=Prof Id 5 (EORI number) +ProfId5PT=Prof Id 5 (EORI 號碼) ProfId6PT=- ProfId1SN=RC ProfId2SN=NINEA @@ -263,7 +263,7 @@ ProfId1RO=Prof Id 1 (CUI) ProfId2RO=Prof Id 2 (Nr. Înmatriculare) ProfId3RO=Prof Id 3 (CAEN) ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId5RO=Prof Id 5 (EORI 號碼) ProfId6RO=- ProfId1RU=Prof Id 1 (OGRN) ProfId2RU=Prof Id 2 (INN) @@ -331,7 +331,7 @@ CustomerCodeDesc=客戶代碼,每個客戶都有一個號碼 SupplierCodeDesc=供應商代碼,每個供應商都有一個號碼 RequiredIfCustomer=若合作方屬於客戶或潛在方,則必需填入 RequiredIfSupplier=若合作方是供應商,則必需填入 -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=已確定由模組控制 ThisIsModuleRules=此模組的規則 ProspectToContact=需聯絡的潛在方 CompanyDeleted=已從資料庫中刪除“%s”公司。 @@ -340,7 +340,7 @@ ListOfContactsAddresses=通訊錄/地址清單 ListOfThirdParties=合作方清單 ShowCompany=合作方 ShowContact=聯絡人-地址 -ContactsAllShort=全部(不過濾) +ContactsAllShort=全部(不篩選) ContactType=連絡型式 ContactForOrders=訂單連絡人 ContactForOrdersOrShipments=訂單或送貨連絡人 @@ -439,22 +439,22 @@ ListSuppliersShort=供應商清單 ListProspectsShort=潛在方清單 ListCustomersShort=客戶清單 ThirdPartiesArea=合作方/通訊錄 -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=最新已修改合作方%s +UniqueThirdParties=合作方總數 InActivity=開放 ActivityCeased=關閉 ThirdPartyIsClosed=合作方已關閉 -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=%s相關的產品/服務清單 CurrentOutstandingBill=目前未付款帳單 OutstandingBill=未付款帳單的最大金額 OutstandingBillReached=已達最大金額的未付款帳單 OrderMinAmount=最小訂購量 -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=為客戶代號返回格式為 %syymm-nnnn 的數字,為供應商代號返回格式為 %syymm-nnnn 的數字,其中 yy 是年,mm 是月,nnnn 是一個連續的自動遞增沒有中斷也不為0的數字,。 LeopardNumRefModelDesc=客戶/供應商編號規則不受限制,此編碼可以隨時修改。(可開啟Elephant or Monkey模組來設定編碼規則) ManagingDirectors=主管(們)姓名 (執行長, 部門主管, 總裁...) MergeOriginThirdparty=重複的客戶/供應商 (你想刪除的客戶/供應商) MergeThirdparties=合併客戶/供應商 -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=您確定要合併此合作方到目前的合作方?所有已連結的項目( 發票、訂單...)將會移到目前的合作方,並刪除被合併的合作方。 ThirdpartiesMergeSuccess=合作方已合併 SaleRepresentativeLogin=業務代表的登入 SaleRepresentativeFirstname=業務代表的名字 diff --git a/htdocs/langs/zh_TW/compta.lang b/htdocs/langs/zh_TW/compta.lang index 7ea8019f6d0..ced5d65ca96 100644 --- a/htdocs/langs/zh_TW/compta.lang +++ b/htdocs/langs/zh_TW/compta.lang @@ -65,7 +65,7 @@ LT2SupplierIN=SGST購買品 VATCollected=已收取營業稅 StatusToPay=付款 SpecialExpensesArea=所有特殊付款區域 -VATExpensesArea=Area for all TVA payments +VATExpensesArea=TVA 付款區域 SocialContribution=社會稅或財政稅 SocialContributions=社會稅或財政稅 SocialContributionsDeductibles=可抵扣的社會稅或財政稅 @@ -86,7 +86,7 @@ PaymentCustomerInvoice=客戶發票付款 PaymentSupplierInvoice=供應商發票付款 PaymentSocialContribution=社會/財政稅款付款 PaymentVat=營業稅付款 -AutomaticCreationPayment=Automatically record the payment +AutomaticCreationPayment=自動記錄付款 ListPayment=付款清單 ListOfCustomerPayments=客戶付款清單 ListOfSupplierPayments=供應商付款清單 @@ -135,7 +135,7 @@ NewCheckReceipt=新折扣 NewCheckDeposit=新的支票存款 NewCheckDepositOn=建立帳戶存款收據:%s NoWaitingChecks=沒有支票等待存入。 -DateChequeReceived=Check receiving date +DateChequeReceived=確認收到日期 NbOfCheques=支票數量 PaySocialContribution=支付社會/財政稅 PayVAT=支付稅金申報 @@ -146,9 +146,9 @@ ConfirmPaySalary=您確定要將此薪資卡分類為已付款嗎? DeleteSocialContribution=刪除社會或財政稅金 DeleteVAT=刪除稅金申報 DeleteSalary=刪除薪資卡 -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? +ConfirmDeleteSocialContribution=您確定要刪除此社會/財政稅款嗎? +ConfirmDeleteVAT=您確定要刪除此增值稅申報單嗎? +ConfirmDeleteSalary=您確定要刪除此薪資嗎? ExportDataset_tax_1=社會和財政稅金及繳稅 CalcModeVATDebt=%s承諾會計營業稅%s模式. CalcModeVATEngagement=%s收入-支出營業稅%s模式. @@ -175,7 +175,7 @@ RulesResultInOut=-它包括發票,費用,營業稅和薪水的實際付款 RulesCADue=-它包括客戶的到期發票,無論是否已付款。
    -它基於這些發票的開票日期。
    RulesCAIn=-包括從客戶收到的所有有效發票付款。
    -此基於這些發票的付款日期
    RulesCATotalSaleJournal=它包括“銷售”日記帳中的所有信用額度。 -RulesSalesTurnoverOfIncomeAccounts=It includes (credit - debit) of lines for product accounts in group INCOME +RulesSalesTurnoverOfIncomeAccounts=它包括(貸記 - 借記)INCOME群組中產品帳戶的行 RulesAmountOnInOutBookkeepingRecord=它包括分類帳中具有“ 費用”或“ 收入”組的會計帳戶中的記錄 RulesResultBookkeepingPredefined=它包括分類帳中具有“ 支出”或“ 收入”組的會計帳戶中的記錄 RulesResultBookkeepingPersonalized=它顯示會計帳戶分類帳中的記錄, 並依個性化組別分組 @@ -250,7 +250,7 @@ ACCOUNTING_ACCOUNT_SUPPLIER=供應商合作方使用的會計科目 ACCOUNTING_ACCOUNT_SUPPLIER_Desc=合作方卡上定義的專用會計科目將僅用於子帳會計。如果未定義第三方的專用供應商會計科目,則此科目將用於“總帳”,並作為“子帳”會計的預設值。 ConfirmCloneTax=確認複製社會/財政稅 ConfirmCloneVAT=確認複製稅金申報 -ConfirmCloneSalary=Confirm the clone of a salary +ConfirmCloneSalary=確認複製薪資 CloneTaxForNextMonth=為下個月複製此稅 SimpleReport=簡易報告 AddExtraReport=其他報告(增加外國和國家客戶報告) @@ -269,7 +269,7 @@ AccountingAffectation=會計分配 LastDayTaxIsRelatedTo=稅期的最後一天 VATDue=要求營業稅 ClaimedForThisPeriod=要求的期間 -PaidDuringThisPeriod=Paid for this period +PaidDuringThisPeriod=本期支付 PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range ByVatRate=依營業稅率 TurnoverbyVatrate=依營業稅率開票的營業額 @@ -281,8 +281,14 @@ PurchaseTurnoverCollected=採購營業額 RulesPurchaseTurnoverDue=-它包括供應商的到期發票,無論是否已付款。
    -它基於這些發票的發票日期。
    RulesPurchaseTurnoverIn=-它包括對供應商的所有有效發票付款。
    -此基於這些發票的付款日期
    RulesPurchaseTurnoverTotalPurchaseJournal=它包括採購日記帳中的所有借方行。 -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE +RulesPurchaseTurnoverOfExpenseAccounts=它包括(貸記 - 借記)EXPENSE群組中產品帳戶的行 ReportPurchaseTurnover=已開票營業額 ReportPurchaseTurnoverCollected=採購營業額 IncludeVarpaysInResults = 在報告中包括各種付款 IncludeLoansInResults = 在報告中包括貸款 +InvoiceLate30Days = 發票延遲 > 30 天 +InvoiceLate15Days = 發票延遲 > 15 天 +InvoiceLateMinus15Days = 發票延遲 +InvoiceNotLate = 收集小於15 天內 +InvoiceNotLate15Days = 收集15天內 +InvoiceNotLate30Days = 收集30 天內 diff --git a/htdocs/langs/zh_TW/cron.lang b/htdocs/langs/zh_TW/cron.lang index 7bc4d4b9d74..e61de80d07a 100644 --- a/htdocs/langs/zh_TW/cron.lang +++ b/htdocs/langs/zh_TW/cron.lang @@ -60,7 +60,7 @@ CronErrEndDateStartDt=結束日期不能早於開始日期 StatusAtInstall=模組安裝狀態 CronStatusActiveBtn=計畫表 CronStatusInactiveBtn=停用 -CronTaskInactive=此工作已停用 +CronTaskInactive=此作業已停用(未排程) CronId=Id CronClassFile=類別的檔案名稱 CronModuleHelp=Dolibarr模組資料夾名稱(也適用於外部Dolibarr模組)。
    例如,調用Dolibarr產品項目/ htdocs / product /class/product.class.php的提取方法,模組的值為
    product diff --git a/htdocs/langs/zh_TW/deliveries.lang b/htdocs/langs/zh_TW/deliveries.lang index 489be238c4e..6d6c7d15554 100644 --- a/htdocs/langs/zh_TW/deliveries.lang +++ b/htdocs/langs/zh_TW/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=無法運送 ShowShippableStatus=顯示可運送狀態 ShowReceiving=顯示交貨單 NonExistentOrder=不存在的訂單 +StockQuantitiesAlreadyAllocatedOnPreviousLines = 已在先前的行上分配庫存數量 diff --git a/htdocs/langs/zh_TW/donations.lang b/htdocs/langs/zh_TW/donations.lang index 9e5a55db3a4..94330ae9a9b 100644 --- a/htdocs/langs/zh_TW/donations.lang +++ b/htdocs/langs/zh_TW/donations.lang @@ -7,7 +7,6 @@ AddDonation=建立捐贈 NewDonation=新捐贈 DeleteADonation=刪除捐贈 ConfirmDeleteADonation=您確定要刪除此捐贈嗎? -ShowDonation=顯示捐贈 PublicDonation=公益捐贈 DonationsArea=捐贈區 DonationStatusPromiseNotValidated=承諾草案 @@ -33,3 +32,4 @@ DONATION_ART238=如果您擔心,請顯示CGI的第238條 DONATION_ART885=如果您擔心,請顯示CGI的第885條 DonationPayment=捐款付款 DonationValidated=捐贈%s已驗證 +DonationUseThirdparties=使用現有的第三方作為捐助者的目標 diff --git a/htdocs/langs/zh_TW/ecm.lang b/htdocs/langs/zh_TW/ecm.lang index 575ed2de2b3..ee74086e2e8 100644 --- a/htdocs/langs/zh_TW/ecm.lang +++ b/htdocs/langs/zh_TW/ecm.lang @@ -38,10 +38,10 @@ ReSyncListOfDir=重新同步目錄清單 HashOfFileContent=檔案內容的雜湊值 NoDirectoriesFound=找不到目錄 FileNotYetIndexedInDatabase=檔案尚未編入資料庫(嘗試重新上傳) -ExtraFieldsEcmFiles=Extrafields Ecm Files -ExtraFieldsEcmDirectories=Extrafields Ecm Directories +ExtraFieldsEcmFiles=Ecm 檔案補充屬性 +ExtraFieldsEcmDirectories=Ecm目錄補充屬性 ECMSetup=ECM設定 -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +GenerateImgWebp=用 .webp 格式複製所有影像到另一種版本 +ConfirmGenerateImgWebp=如果您確認,您將為目前此資料夾中所有影像檔案轉換為.webp格式 (不包含子資料夾),,, +ConfirmImgWebpCreation=確認所有影像複製 +SucessConvertImgWebp=影像已複製成功 diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index c91ab496622..0e811d40c7f 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -4,13 +4,14 @@ NoErrorCommitIsDone=我們保證沒有錯誤 # Errors ErrorButCommitIsDone=發現錯誤,但儘管如此我們仍進行驗證 -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=電子郵件 %s 不正確 +ErrorBadMXDomain=電子郵件 %s 似乎不正確(網域沒有有效的 MX 記錄) +ErrorBadUrl=網址 %s 不正確 ErrorBadValueForParamNotAString=您的參數值錯誤。一般在轉譯遺失時產生。 -ErrorRefAlreadyExists=Reference %s already exists. +ErrorRefAlreadyExists=參考%s已經存在。 ErrorLoginAlreadyExists=登入者%s已經存在。 ErrorGroupAlreadyExists=群組%s已經存在。 +ErrorEmailAlreadyExists=電子郵件 %s 已存在。 ErrorRecordNotFound=記錄沒有找到。 ErrorFailToCopyFile=無法將檔案'%s'複製到'%s' ErrorFailToCopyDir=無法將資料夾'%s' 複製到'%s'. @@ -38,7 +39,7 @@ ErrorBadSupplierCodeSyntax=供應商代碼語法錯誤 ErrorSupplierCodeRequired=需要供應商代碼 ErrorSupplierCodeAlreadyUsed=供應商代碼已使用 ErrorBadParameters=錯誤的參數 -ErrorWrongParameters=Wrong or missing parameters +ErrorWrongParameters=錯誤或缺少參數 ErrorBadValueForParameter=參數"%s"中的錯誤值 "%s'" ErrorBadImageFormat=圖片檔案格式不支援(您的PHP不支援轉換此格式圖片) ErrorBadDateFormat="%s"日期格式錯誤 @@ -46,11 +47,11 @@ ErrorWrongDate=日期不正確! ErrorFailedToWriteInDir=無法寫入資料夾%s ErrorFoundBadEmailInFile=找到電子郵件文件中的%s行語法不正確(例如電子郵件%s行 =%s) ErrorUserCannotBeDelete=無法刪除用戶。也許它與Dolibarr實體相關。 -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=一些必填欄位已留空。 +ErrorSubjectIsRequired=電子郵件主題為必填 ErrorFailedToCreateDir=無法建立資料夾。檢查網頁伺服器中的用戶有權限寫入Dolibarr檔案資料夾。如果PHP使用了參數safe_mode,檢查網頁伺服器的用戶(或群組)擁有Dolibarr php檔案。 ErrorNoMailDefinedForThisUser=沒有此用戶的定義郵件 -ErrorSetupOfEmailsNotComplete=Setup of emails is not complete +ErrorSetupOfEmailsNotComplete=電子郵件設定未完成 ErrorFeatureNeedJavascript=此功能需要啟動Javascript。需要變更請前往設定 - 顯示。 ErrorTopMenuMustHaveAParentWithId0=一個類型'頂部'選單不能有一個母選單。在母選單填入0或選擇一個類型為'左'的選單。 ErrorLeftMenuMustHaveAParentId=一個類型為'左'的選單必須有一個母選單的ID。 @@ -59,7 +60,7 @@ ErrorDirNotFound=未找到資料夾%s(錯誤的路徑,錯誤的權限 ErrorFunctionNotAvailableInPHP=此功能需要函數%s,但是無法在此PHP版本中使用。 ErrorDirAlreadyExists=具有此名稱的資料夾已經存在。 ErrorFileAlreadyExists=具有此名稱的檔案已經存在。 -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists=檔案名稱%s已存在 ErrorPartialFile=伺服器未完整的收到檔案。 ErrorNoTmpDir=臨時指示%s不存在。 ErrorUploadBlockedByAddon=PHP / Apache的插件已阻擋上傳。 @@ -79,7 +80,7 @@ ErrorExportDuplicateProfil=此匯出設定已存在此設定檔案名稱。 ErrorLDAPSetupNotComplete=Dolibarr與LDAP的匹配不完整。 ErrorLDAPMakeManualTest=.ldif檔案已在資料夾%s中.請以命令行手動讀取以得到更多的錯誤信息。 ErrorCantSaveADoneUserWithZeroPercentage=如果填寫了“完成者”欄位,則無法使用“狀態未開始”保存操作。 -ErrorRefAlreadyExists=Reference %s already exists. +ErrorRefAlreadyExists=參考%s已經存在。 ErrorPleaseTypeBankTransactionReportName=請輸入必須在報告條目中的銀行對帳單名稱(格式YYYYMM或YYYYMMDD) ErrorRecordHasChildren=因為有子記錄所以刪除失敗。 ErrorRecordHasAtLeastOneChildOfType=項目至少有一個子類別%s @@ -117,7 +118,7 @@ ErrorCantReadFile=無法讀取檔案'%s' ErrorCantReadDir=無法讀取資料夾'%s' ErrorBadLoginPassword=錯誤的帳號或密碼 ErrorLoginDisabled=您的帳戶已被停用 -ErrorFailedToRunExternalCommand=無法執行外部命令。檢查它是可用並且可執行在PHP的伺服器上。如果PHP 安全模式被啟用,請檢查命令已在資料夾中並以參數safe_mode_exec_dir定義。 +ErrorFailedToRunExternalCommand=無法執行外部命令。檢查它是可用並且可執行在PHP的伺服器上。同樣地請確認此命令在Shell層級中不被如apparmor的安全層級保護。 ErrorFailedToChangePassword=無法更改密碼 ErrorLoginDoesNotExists=找不到登入名稱%s的用戶。 ErrorLoginHasNoEmail=這位用戶沒有電子郵件地址。程序中止。 @@ -140,8 +141,8 @@ ErrorNewValueCantMatchOldValue=新值不能等於舊值 ErrorFailedToValidatePasswordReset=重置密碼失敗。可能是重新初始化已經完成(此連結只能使用一次)。如果不是,請嘗試再重置密碼一次。 ErrorToConnectToMysqlCheckInstance=連結資料庫失敗。檢查資料庫伺服器是否正在執行(例如mysql / mariadb,您可以使用“ sudo service mysql start”命令行啟動它)。 ErrorFailedToAddContact=新增聯絡人失敗 -ErrorDateMustBeBeforeToday=The date must be lower than today -ErrorDateMustBeInFuture=The date must be greater than today +ErrorDateMustBeBeforeToday=日期必須早於今天 +ErrorDateMustBeInFuture=日期必須晚於今天 ErrorPaymentModeDefinedToWithoutSetup=付款方式已設定為%s類型,但模組“發票”尚未完整定義要為此付款方式顯示的資訊設定。 ErrorPHPNeedModule=錯誤,您的PHP必須安裝模組%s才能使用此功能。 ErrorOpenIDSetupNotComplete=您設定了Dolibarr設定檔案以允許OpenID身份驗證,但未將OpenID的服務網址定義為常數%s @@ -220,15 +221,15 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=您必須選擇商品是否為預 ErrorDiscountLargerThanRemainToPaySplitItBefore=您嘗試使用的折扣大於剩餘的折扣。將之前的折扣分成2個較小的折扣。 ErrorFileNotFoundWithSharedLink=找不到檔案。可能是共享金鑰最近被修改或檔案被刪除了。 ErrorProductBarCodeAlreadyExists=產品條碼%s已存在於另一個產品參考上。 -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=請注意使用Kit時,如果一個子產品(或子產品的子產品)需要序號/批號時,無法自動增加/減少子產品。 ErrorDescRequiredForFreeProductLines=對於帶有免費產品的行,必須進行描述說明 ErrorAPageWithThisNameOrAliasAlreadyExists=此頁面/容器%s與您嘗試使用的名稱/別名相同 ErrorDuringChartLoad=載入會計科目表時出錯。如果幾個帳戶沒有被載入,您仍然可以手動輸入。 ErrorBadSyntaxForParamKeyForContent=參數keyforcontent的語法錯誤。必須具有以%s或%s開頭的值 ErrorVariableKeyForContentMustBeSet=錯誤,必須設定名稱為%s(帶有文字內容)或%s(帶有外部網址)的常數。 -ErrorURLMustEndWith=URL %s must end %s +ErrorURLMustEndWith=網址 %s 必須以 %s 結尾 ErrorURLMustStartWithHttp=網址 %s 必須以 http://或https://開始 -ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// +ErrorHostMustNotStartWithHttp=主機名稱 %s 不能以 http:// 或 https:// 開頭 ErrorNewRefIsAlreadyUsed=錯誤,新參考已被使用 ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=錯誤,無法刪除連結到已關閉發票的付款。 ErrorSearchCriteriaTooSmall=搜尋條件太小。 @@ -246,22 +247,24 @@ ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=倉庫“ %s”中產品“ ErrorOnlyOneFieldForGroupByIsPossible=“群組依據”只能使用1個欄位(其他欄位則被丟棄) ErrorTooManyDifferentValueForSelectedGroupBy=為欄位“ %s ”發現了太多不同的值(多於 %s ),因此我們不能將其用作“分組依據”。 “分組依據”欄位已刪除。也許您想將其用作X軸? ErrorReplaceStringEmpty=錯誤,要替換的字串為空 -ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number -ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number -ErrorFailedToReadObject=Error, failed to read object of type %s -ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler -ErrorLoginDateValidity=Error, this login is outside the validity date range -ErrorValueLength=Length of field '%s' must be higher than '%s' -ErrorReservedKeyword=The word '%s' is a reserved keyword -ErrorNotAvailableWithThisDistribution=Not available with this distribution +ErrorProductNeedBatchNumber=錯誤,產品“ %s ”需要批號/序號 +ErrorProductDoesNotNeedBatchNumber=錯誤,產品“ %s ”不接受批號/序號 +ErrorFailedToReadObject=錯誤,無法讀取 %s 類型的項目 +ErrorParameterMustBeEnabledToAllwoThisFeature=錯誤,必須在 conf/conf.php 中啟用參數%s以允許內部命令列工作排程界面使用 +ErrorLoginDateValidity=錯誤,此登錄超過有效日期範圍 +ErrorValueLength=欄位“ %s ”的長度必須大於“ %s" +ErrorReservedKeyword=單詞“ %s ”是保留關鍵字 +ErrorNotAvailableWithThisDistribution=不適用於此發行版本 ErrorPublicInterfaceNotEnabled=未啟用公共界面 -ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page -ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page -ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation -ErrorDateIsInFuture=Error, the date can't be in the future -ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory -ErrorAPercentIsRequired=Error, please fill in the percentage correctly -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account +ErrorLanguageRequiredIfPageIsTranslationOfAnother=如果將新頁面設定為其他頁面的翻譯,則必須定義新頁面的語言 +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=如果新頁面的語言為另一頁面的翻譯,則該語言不得為來源語言 +ErrorAParameterIsRequiredForThisOperation=此操作必須有一個參數 +ErrorDateIsInFuture=錯誤,日期不能是未來 +ErrorAnAmountWithoutTaxIsRequired=錯誤,金額為必填項目 +ErrorAPercentIsRequired=錯誤,請正確填寫百分比 +ErrorYouMustFirstSetupYourChartOfAccount=您必須先設定會計項目表 +ErrorFailedToFindEmailTemplate=無法找到代號為 %s 的模板 +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=未在服務中定義時間範圍.無法計算時薪. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=您的PHP參數upload_max_filesize(%s)高於PHP參數post_max_size(%s)。這不是相同的設定。 @@ -287,14 +290,16 @@ WarningYourLoginWasModifiedPleaseLogin=您的登入名稱已修改。為了安 WarningAnEntryAlreadyExistForTransKey=此語言的翻譯密鑰條目已存在 WarningNumberOfRecipientIsRestrictedInMassAction=警告,在清單上使用批次操作時,其他收件人的數量限制為%s WarningDateOfLineMustBeInExpenseReportRange=警告,行的日期不在費用報告的範圍內 -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. +WarningProjectDraft=專案仍處於草案模式。如果您計劃使用任務,請不要忘記驗證它。 WarningProjectClosed=專案已關閉。您必須先重新打開它。 WarningSomeBankTransactionByChequeWereRemovedAfter=在產生包括它們的收據之後,一些銀行交易將被刪除。因此支票的數量和收據的數量可能與清單中的數量和總數有所不同。 -WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table -WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. -WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list -WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail +WarningFailedToAddFileIntoDatabaseIndex=警告,無法將檔案條目增加到 ECM 資料庫索引表中 +WarningTheHiddenOptionIsOn=警告,隱藏選項 %s 已開啟。 +WarningCreateSubAccounts=警告,您不能直接建立子帳戶,您必須建立合作方或用戶並為其分配會計代碼才能在此清單中找到它們 +WarningAvailableOnlyForHTTPSServers=僅在使用 HTTPS 安全連線時可用。 +WarningModuleXDisabledSoYouMayMissEventHere=模組 %s 尚未啟用。所以你可能會在這裡錯過很多事件。 +ErrorActionCommPropertyUserowneridNotDefined=需要用戶的擁有者 +ErrorActionCommBadType=選擇的事件類型(id:%n,代碼:%s)在事件類型分類中不存在 +CheckVersionFail=版本檢查失敗 +ErrorWrongFileName=檔案名稱中不可以有__SOMETHING__ +ErrorNotInDictionaryPaymentConditions=不在支付條款類別中,請修改。 diff --git a/htdocs/langs/zh_TW/eventorganization.lang b/htdocs/langs/zh_TW/eventorganization.lang index 27e902102f9..6603fede993 100644 --- a/htdocs/langs/zh_TW/eventorganization.lang +++ b/htdocs/langs/zh_TW/eventorganization.lang @@ -1,4 +1,5 @@ # Copyright (C) 2021 Florian Henry +# Copyright (C) 2021 Dorian Vabre # # 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 @@ -16,22 +17,22 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = 活動組織 +EventOrganizationDescription = 使用專案模組組織活動 +EventOrganizationDescriptionLong= 使用公共訂閱頁面管理會議、與會者、演講者和與會者的組織活動 # # Menu # EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationConferenceOrBoothMenuLeft = 會議或展位 # # Admin page # -EventOrganizationSetup = Event Organization setup +EventOrganizationSetup = 活動組織設定 Settings = 設定 -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated +EventOrganizationSetupPage = 活動組織設定頁面 +EVENTORGANIZATION_TASK_LABEL = 當專案驗證時自動地建立任務標籤 EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

    For example:
    Send Call for Conference
    Send Call for Booth
    Receive call for conferences
    Receive call for Booth
    Open subscriptions to events for attendees
    Send remind of event to speakers
    Send remind of event to Booth hoster
    Send remind of event to attendees EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Category to add to third-parties automatically created when they suggests a booth @@ -47,19 +48,19 @@ EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filter thirdpartie's select list in att # # Object # -EventOrganizationConfOrBooth= Conference Or Booth +EventOrganizationConfOrBooth= 會議或展位 ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +ConferenceOrBooth = 會議或展位 +ConferenceOrBoothTab = 會議或展位 +AmountOfSubscriptionPaid = 已支付訂閱金額 +DateSubscription = 訂閱日期 +ConferenceOrBoothAttendee = 會議或展位參加者 # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received +YourOrganizationEventConfRequestWasReceived = 已收到您的會議請求 +YourOrganizationEventBoothRequestWasReceived = 已收到您的展位申請 EventOrganizationEmailAskConf = Request for conference EventOrganizationEmailAskBooth = Request for booth EventOrganizationEmailSubsBooth = Subscription for booth @@ -81,7 +82,11 @@ PriceOfBoothHelp=Subscription price to stand a booth EventOrganizationICSLink=Link ICS for events ConferenceOrBoothInformation=Conference Or Booth informations Attendees = Attendees +DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference +SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -94,8 +99,51 @@ EvntOrgCancelled = Cancelled # # Public page # +SuggestForm = Suggestion page +RegisterPage = Page for conferences or booth +EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project +EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project +ListOfSuggestedConferences = List of suggested conferences +ListOfSuggestedBooths = List of suggested booths +SuggestConference = Suggest a new conference +SuggestBooth = Suggest a booth +ViewAndVote = View and vote for suggested events PublicAttendeeSubscriptionPage = Public link of registration to a conference MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference -EvntOrgStartDuration = This conference starts on -EvntOrgEndDuration = and ends on +EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' +EvntOrgDuration = This conference starts on %s and ends on %s. +ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. +BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EventType = 事件類別 +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s + +# +# Vote page +# +EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. +EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. +EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project +VoteOk = Your vote has been accepted. +AlreadyVoted = You have already voted for this event. +VoteError = An error has occurred during the vote, please try again. + +# +# SubscriptionOk page +# +SubscriptionOk = Your subscription to this conference has been validated +# +# Subscription validation mail +# +ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +# +# Payment page +# +Attendee = Attendee +PaymentConferenceAttendee = Conference attendee payment +PaymentBoothLocation = Booth location payment diff --git a/htdocs/langs/zh_TW/exports.lang b/htdocs/langs/zh_TW/exports.lang index 721e44dfde2..eae7f2a77c3 100644 --- a/htdocs/langs/zh_TW/exports.lang +++ b/htdocs/langs/zh_TW/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=類型(0 =產品,1 =服務) FileWithDataToImport=匯入有資料的檔案 FileToImport=欲匯入的來源檔案 FileMustHaveOneOfFollowingFormat=要匯入的檔案必須是以下格式 -DownloadEmptyExample=下載帶有欄位內容資料的範本檔案(*為必填欄位) +DownloadEmptyExample=下載帶有欄位內容資料的範本檔案 +StarAreMandatory=* 為必填欄位 ChooseFormatOfFileToImport=通過點選%s圖示選擇要匯入的檔案格式... ChooseFileToImport=上傳檔案,然後點擊%s圖示以選擇要匯入的檔案... SourceFileFormat=來源檔案格式 @@ -124,13 +125,13 @@ NoUpdateAttempt=沒有嘗試執行更新,僅插入 ImportDataset_user_1=用戶(員工或非員工)和屬性 ComputedField=計算欄位 ## filters -SelectFilterFields=如果要過濾某些值,請在此處輸入值。 -FilteredFields=已過濾欄位 -FilteredFieldsValues=過濾數值 +SelectFilterFields=如果要篩選某些值,請在此處輸入值。 +FilteredFields=已篩選欄位 +FilteredFieldsValues=篩選值 FormatControlRule=格式控制規則 ## imports updates KeysToUseForUpdates=用於更新現有資料的鍵(欄) NbInsert=已插入的行數:%s NbUpdate=已更新的行數:%s -MultipleRecordFoundWithTheseFilters=使用過濾器找到了多個記錄:%s +MultipleRecordFoundWithTheseFilters=使用篩選器找到了多個記錄:%s StocksWithBatch=具有批次/序號產品的庫存和位置(倉庫) diff --git a/htdocs/langs/zh_TW/externalsite.lang b/htdocs/langs/zh_TW/externalsite.lang index 1cfac37b239..55d5e5c1226 100644 --- a/htdocs/langs/zh_TW/externalsite.lang +++ b/htdocs/langs/zh_TW/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite ExternalSiteSetup=設定連結到外部網站 -ExternalSiteURL=External Site URL of HTML iframe content +ExternalSiteURL=HTML iframe 內容的外部網站網址 ExternalSiteModuleNotComplete=外部網站模組設定不正確。 ExampleMyMenuEntry=我的選單條目 diff --git a/htdocs/langs/zh_TW/holiday.lang b/htdocs/langs/zh_TW/holiday.lang index 72b939ec843..f65e5cd4e89 100644 --- a/htdocs/langs/zh_TW/holiday.lang +++ b/htdocs/langs/zh_TW/holiday.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - holiday -HRM=人資 +HRM=人力資源 Holidays=休假 CPTitreMenu=休假 MenuReportMonth=月結單 @@ -40,10 +40,10 @@ TypeOfLeaveId=休假ID類型 TypeOfLeaveCode=休假代碼類型 TypeOfLeaveLabel=休假標籤類型 NbUseDaysCP=已休假天數 -NbUseDaysCPHelp=此計算考慮了字典中定義的非工作日和假期。 -NbUseDaysCPShort=已休假天數 -NbUseDaysCPShortInMonth=已休假天數(月) -DayIsANonWorkingDay=%s是非工作日 +NbUseDaysCPHelp=此計算考慮了分類中定義的非工作日和假期。 +NbUseDaysCPShort=休假天數 +NbUseDaysCPShortInMonth=月休假天數 +DayIsANonWorkingDay=%s 是非工作日 DateStartInMonth=開始日期(月份) DateEndInMonth=結束日期(月份) EditCP=編輯 @@ -80,9 +80,9 @@ UserCP=用戶 ErrorAddEventToUserCP=增加特殊假期時發生錯誤。 AddEventToUserOkCP=特別假期的增加已經完成。 MenuLogCP=檢視變更日誌 -LogCP=可用假期更新日誌 -ActionByCP=執行者 -UserUpdateCP=對於用戶 +LogCP=休假餘額更新日誌 +ActionByCP=更新者 +UserUpdateCP=更新為 PrevSoldeCP=剩餘假期 NewSoldeCP=新剩餘假期 alreadyCPexist=在此期間之休假申請已完成。 @@ -99,13 +99,13 @@ LastHolidays=最新%s的休假申請 AllHolidays=所有休假申請 HalfDay=半天 NotTheAssignedApprover=您不是分配的批准人 -LEAVE_PAID=帶薪休假 +LEAVE_PAID=年假 LEAVE_SICK=病假 -LEAVE_OTHER=其他休假 -LEAVE_PAID_FR=帶薪休假 +LEAVE_OTHER=事假 +LEAVE_PAID_FR=年假 ## Configuration du Module ## LastUpdateCP=假期分配的最新自動更新 -MonthOfLastMonthlyUpdate=假期分配的最新自動月更新 +MonthOfLastMonthlyUpdate=假期分配的月最新自動更新 UpdateConfCPOK=已更新成功。 Module27130Name= 休假管理 Module27130Desc= 休假管理 @@ -124,11 +124,13 @@ HolidaysCanceled=已取消的休假申請 HolidaysCanceledBody=您從%s到%s的休假申請已被取消。 FollowedByACounter=1:這種類型的休假需有計數器追蹤。計數器手動或自動遞增,並且當休假申請通過驗證後,計數器遞減。
    0:沒有被計數器追蹤。 NoLeaveWithCounterDefined=沒有休假類型被定義成需要被計數器追蹤 -GoIntoDictionaryHolidayTypes=前往首頁-設定-字典-休假類型以設定不同類型的休假。 -HolidaySetup=假期模組的設定 +GoIntoDictionaryHolidayTypes=前往首頁-設定-分類-休假類型以設定不同類型的休假。 +HolidaySetup=假期模組設定 HolidaysNumberingModules=休假申請編號模型 TemplatePDFHolidays=休假PDF範本 -FreeLegalTextOnHolidays=PDF上的自由正文 -WatermarkOnDraftHolidayCards=休假申請草案上的水印 +FreeLegalTextOnHolidays=PDF上的自由文字 +WatermarkOnDraftHolidayCards=休假申請草案上的浮水印 HolidaysToApprove=可批准假期 NobodyHasPermissionToValidateHolidays=沒有人有權限驗證假期 +HolidayBalanceMonthlyUpdate=每月更新假期餘額 +XIsAUsualNonWorkingDay=%s is usualy a NON working day diff --git a/htdocs/langs/zh_TW/hrm.lang b/htdocs/langs/zh_TW/hrm.lang index e62a5430c67..9a981ea4d89 100644 --- a/htdocs/langs/zh_TW/hrm.lang +++ b/htdocs/langs/zh_TW/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=您確定要刪除此營業所嗎? OpenEtablishment=開啟營業所 CloseEtablishment=關閉營業所 # Dictionary -DictionaryPublicHolidays=HRM-公共假期 +DictionaryPublicHolidays=休假 - 公共假期 DictionaryDepartment=HRM-部門清單 DictionaryFunction=人力資源管理-職位 # Module diff --git a/htdocs/langs/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index a717552589b..9628f63e784 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -203,9 +203,10 @@ MigrationRemiseExceptEntity=更新llx_societe_remise_except實體欄位數值 MigrationUserRightsEntity=更新llx_user_rights實體欄位數值 MigrationUserGroupRightsEntity=更新llx_usergroup_rights實體欄位數值 MigrationUserPhotoPath=移轉用戶照片路徑 -MigrationFieldsSocialNetworks=移轉用戶領域社交網絡(%s) +MigrationFieldsSocialNetworks=用戶社群網路欄位(%s)轉移 MigrationReloadModule=重新載入模組%s MigrationResetBlockedLog=為v7 algorithm重置模組"被阻止的日誌(Blocked log)" +MigrationImportOrExportProfiles=匯入或匯出設定的遷移(%s) ShowNotAvailableOptions=顯示不可用的選項 HideNotAvailableOptions=隱藏不可用的選項 ErrorFoundDuringMigration=在移轉過程中出現了錯誤,因此無法進行下一步。要忽略錯誤,可以點擊此處 ,但是在解決錯誤之前,該應用程序或某些功能可能無法正常運行。 diff --git a/htdocs/langs/zh_TW/interventions.lang b/htdocs/langs/zh_TW/interventions.lang index 7b6e8857505..ef2b004ef19 100644 --- a/htdocs/langs/zh_TW/interventions.lang +++ b/htdocs/langs/zh_TW/interventions.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - interventions -Intervention=干預措施 -Interventions=干預措施 +Intervention=干預 +Interventions=干預 InterventionCard=干預卡 NewIntervention=新干預 AddIntervention=建立干預 @@ -41,9 +41,7 @@ InterventionsArea=干預區 DraftFichinter=干預草案 LastModifiedInterventions=最新%s已修改干預 FichinterToProcess=進行干預 -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=後續追蹤客戶聯絡人 -# Modele numérotation PrintProductsOnFichinter=在干預卡上也列印“產品”類型的行(不僅是服務) PrintProductsOnFichinterDetails=訂單產生的干預 UseServicesDurationOnFichinter=將服務期限用於訂單產生的干預 @@ -52,8 +50,7 @@ UseDateWithoutHourOnFichinter=為干預記錄隱藏日期中的小時和分鐘 InterventionStatistics=干預統計 NbOfinterventions=干預卡數量 NumberOfInterventionsByMonth=每月干預卡的數量(驗證日期) -AmountOfInteventionNotIncludedByDefault=預設情況下,干預金額不包括在利潤中(在大多數情況下,時間表用於計算花費的時間)。將選項PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT to 1加 到首頁- 設定- 其他中以包括它們。 -##### Exports ##### +AmountOfInteventionNotIncludedByDefault=預設情況下,干預金額不包括在利潤中(在大多數情況下,時間表用於計算花費的時間)。將選項PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT加到首頁- 設定- 其他中並設定為1以包括它們。 InterId=干預ID InterRef=干預參考 InterDateCreation=干預的建立日期 @@ -65,3 +62,7 @@ InterLineId=干預行ID InterLineDate=干預行日期 InterLineDuration=週期干預行 InterLineDesc=干預行描述 +RepeatableIntervention=干預模板 +ToCreateAPredefinedIntervention=要創建預定義或定期干預,請創建一個通用乾預並將其轉換為乾預模板 +ConfirmReopenIntervention=您確定要打開干預 %s 嗎? +GenerateInter=Generate intervention diff --git a/htdocs/langs/zh_TW/intracommreport.lang b/htdocs/langs/zh_TW/intracommreport.lang index 1cb77c19dc7..cd2cbc0b134 100644 --- a/htdocs/langs/zh_TW/intracommreport.lang +++ b/htdocs/langs/zh_TW/intracommreport.lang @@ -1,10 +1,10 @@ -Module68000Name = 通訊報告 -Module68000Desc = Intracomm report management (Support for French DEB/DES format) -IntracommReportSetup = Intracommreport module setup -IntracommReportAbout = About intracommreport +Module68000Name = 內部通訊報告 +Module68000Desc = 內部通訊報告管理(支援法國 DEB/DES 格式) +IntracommReportSetup = 內部通訊報告模組設定 +IntracommReportAbout = 關於內部通訊報告 # Setup -INTRACOMMREPORT_NUM_AGREMENT=Numéro d'agrément (délivré par le CISD de rattachement) +INTRACOMMREPORT_NUM_AGREMENT=批准文號(由CISD附件簽發) INTRACOMMREPORT_TYPE_ACTEUR=Type d'acteur INTRACOMMREPORT_ROLE_ACTEUR=Rôle joué par l'acteur INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les introductions @@ -14,17 +14,17 @@ INTRACOMMREPORT_CATEG_FRAISDEPORT=Catégorie de services de type "Frais de port" INTRACOMMREPORT_NUM_DECLARATION=Numéro de déclarant # Menu -MenuIntracommReport=通訊報告 -MenuIntracommReportNew=New declaration +MenuIntracommReport=內部通訊報告 +MenuIntracommReportNew=新報單 MenuIntracommReportList=清單 # View -NewDeclaration=New declaration -Declaration=Declaration +NewDeclaration=新報單 +Declaration=報單 AnalysisPeriod=分析期間 -TypeOfDeclaration=Type of declaration +TypeOfDeclaration=報單類型 DEB=貨物交換報關單(DEB) -DES=Services exchange declaration (DES) +DES=服務交換報單(DES) # Export page IntracommReportTitle=Preparation of an XML file in ProDouane format @@ -33,7 +33,7 @@ IntracommReportTitle=Preparation of an XML file in ProDouane format IntracommReportList=List of generated declarations IntracommReportNumber=Numero of declaration IntracommReportPeriod=Period of analysis -IntracommReportTypeDeclaration=Type of declaration +IntracommReportTypeDeclaration=報單類型 IntracommReportDownload=download XML file # Invoice diff --git a/htdocs/langs/zh_TW/knowledgemanagement.lang b/htdocs/langs/zh_TW/knowledgemanagement.lang index 0e4462985f9..7cab74c7912 100644 --- a/htdocs/langs/zh_TW/knowledgemanagement.lang +++ b/htdocs/langs/zh_TW/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = 關於 KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAboutPage = Knowledge Management about page -# -# Sample page -# KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# MenuKnowledgeRecord = Knowledge base -ListOfArticles = List of articles +ListKnowledgeRecord = List of articles NewKnowledgeRecord = New article ValidateReply = Validate solution KnowledgeRecords = Articles KnowledgeRecord = 物品 KnowledgeRecordExtraFields = Extrafields for Article +GroupOfTicket=Group of tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/zh_TW/languages.lang b/htdocs/langs/zh_TW/languages.lang index 2c762a9075b..64badd596ef 100644 --- a/htdocs/langs/zh_TW/languages.lang +++ b/htdocs/langs/zh_TW/languages.lang @@ -2,7 +2,10 @@ Language_am_ET=衣索比亞 Language_ar_AR=阿拉伯語 Language_ar_EG=阿拉伯語(埃及) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=阿拉伯語 +Language_ar_TN=阿拉伯語(突尼斯) +Language_ar_IQ=阿拉伯語(伊拉克) Language_az_AZ=亞塞拜然 Language_bn_BD=孟加拉語 Language_bn_IN=孟加拉語(印度) @@ -82,8 +85,10 @@ Language_ne_NP=尼泊爾語 Language_nl_BE=荷蘭語(比利時) Language_nl_NL=荷蘭人 Language_pl_PL=波蘭語 +Language_pt_AO=葡萄牙語(安哥拉) Language_pt_BR=葡萄牙語(巴西) Language_pt_PT=葡萄牙語 +Language_ro_MD=羅馬尼亞語(摩爾達維亞) Language_ro_RO=羅馬尼亞語 Language_ru_RU=俄語 Language_ru_UA=俄語(烏克蘭) diff --git a/htdocs/langs/zh_TW/mails.lang b/htdocs/langs/zh_TW/mails.lang index c1f07ef0a6e..71f675104a3 100644 --- a/htdocs/langs/zh_TW/mails.lang +++ b/htdocs/langs/zh_TW/mails.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - mails -Mailing=發送電子郵件 +Mailing=寄送電子郵件 EMailing=電子郵件 EMailings=電子郵件 AllEMailings=所有電子郵件 @@ -11,11 +11,11 @@ MailFrom=寄件人 MailErrorsTo=錯誤收件箱 MailReply=回覆 MailTo=收件人 -MailToUsers=發送給用戶 +MailToUsers=寄送給用戶 MailCC=副本 MailToCCUsers=CC MailCCC=CCC -MailTopic=Email subject +MailTopic=電子郵件主題 MailText=郵件內容 MailFile=附加檔案 MailMessage=電子郵件內容 @@ -34,16 +34,16 @@ TestMailing=測試電子郵件 ValidMailing=有效的電子郵件 MailingStatusDraft=草案 MailingStatusValidated=已驗證 -MailingStatusSent=發送 -MailingStatusSentPartialy=部分發送 -MailingStatusSentCompletely=完全發送 +MailingStatusSent=已寄出 +MailingStatusSentPartialy=已部分寄出 +MailingStatusSentCompletely=已完全寄出 MailingStatusError=錯誤 -MailingStatusNotSent=不發送 +MailingStatusNotSent=尚未寄送 MailSuccessfulySent=已成功接收電子郵件(從%s到%s) MailingSuccessfullyValidated=電子郵件成功驗證 -MailUnsubcribe=退訂 +MailUnsubcribe=取消訂閱 MailingStatusNotContact=不要再聯繫 -MailingStatusReadAndUnsubscribe=讀取和退訂 +MailingStatusReadAndUnsubscribe=已讀取且取消訂閱 ErrorMailRecipientIsEmpty=電子郵件收件人是空的 WarningNoEMailsAdded=沒有新的電子郵件可增加到收件人清單。 ConfirmValidMailing=您確定要驗證此電子郵件嗎? @@ -63,11 +63,11 @@ BadEMail=電子郵件地址不正確 ConfirmCloneEMailing=您確定要複製此電子郵件嗎? CloneContent=複製訊息 CloneReceivers=複製收件人 -DateLastSend=最新發送的日期 -DateSending=發送日期 -SentTo=發送到%s -MailingStatusRead=讀取 -YourMailUnsubcribeOK=電子郵件%s已正確從郵件清單中退訂 +DateLastSend=最新寄送的日期 +DateSending=寄送日期 +SentTo=寄送到%s +MailingStatusRead=已讀取 +YourMailUnsubcribeOK=電子郵件%s已正確地從郵件清單中取消訂閱 ActivateCheckReadKey=用於“讀取回條”和“取消訂閱”功能的加密網址密鑰 EMailSentToNRecipients=電子郵件已發送給%s收件人。 EMailSentForNElements=已發送有關%s元件的電子郵件。 @@ -81,9 +81,9 @@ ResultOfMailSending=批次電子郵件發送的結果 NbSelected=已選擇數量 NbIgnored=已忽略數量 NbSent=已發送數量 -SentXXXmessages=已發送%s訊息 +SentXXXmessages=已寄送%s筆訊息 ConfirmUnvalidateEmailing=您確定要將電子郵件%s更改為草稿狀態嗎? -MailingModuleDescContactsWithThirdpartyFilter=有客戶過濾器的聯絡人 +MailingModuleDescContactsWithThirdpartyFilter=有客戶篩選器的聯絡人 MailingModuleDescContactsByCompanyCategory=合作方類別的聯絡人 MailingModuleDescContactsByCategory=依類別聯絡 MailingModuleDescContactsByFunction=依職位聯絡 @@ -92,7 +92,7 @@ MailingModuleDescEmailsFromUser=用戶輸入的電子郵件 MailingModuleDescDolibarrUsers=擁有電子郵件的用戶 MailingModuleDescThirdPartiesByCategories=合作方(依類別) SendingFromWebInterfaceIsNotAllowed=不允許從Web界面發送。 -EmailCollectorFilterDesc=All filters must match to have an email being collected +EmailCollectorFilterDesc=所有過濾條件必須符合才能收集電子郵件 # Libelle des modules de liste de destinataires mailing LineInFile=在檔案%s的行 @@ -130,9 +130,9 @@ NotificationsAuto=自動通知 NoNotificationsWillBeSent=沒有為此類型事件和公司計畫的自動電子郵件通知 ANotificationsWillBeSent=1條自動通知將以電子郵件寄送 SomeNotificationsWillBeSent=%s的自動通知將以電子郵件寄送 -AddNewNotification=Subscribe to a new automatic email notification (target/event) -ListOfActiveNotifications=List of all active subscriptions (targets/events) for automatic email notification -ListOfNotificationsDone=List of all automatic email notifications sent +AddNewNotification=訂閱一個新的自動電子郵件提醒(目標/事件 ) +ListOfActiveNotifications=自動電子郵件提醒的所有活動訂閱(目標/事件)清單 +ListOfNotificationsDone=列出所有已寄送的自動電子郵件通知 MailSendSetupIs=電子郵件發送的設定已設定為“ %s”。此模式不能用於發送批次電子郵件。 MailSendSetupIs2=您必須先使用管理員帳戶進入選單%s首頁-設定-EMails%s以將參數'%s'更改為使用模式 '%s'。使用此模式 ,您可以輸入Internet服務供應商提供的SMTP伺服器的設定,並使用批次電子郵件功能。 MailSendSetupIs3=如果對如何設定SMTP伺服器有任何疑問,可以詢問%s。 @@ -142,7 +142,7 @@ UseFormatFileEmailToTarget=匯入檔案的格式必須為電子郵件; UseFormatInputEmailToTarget=輸入字串格式為電子郵件; 姓;名;其他 MailAdvTargetRecipients=收件人(進階選項) AdvTgtTitle=填寫輸入欄位以預先選擇合作方或聯絡人/地址 -AdvTgtSearchTextHelp=Use %% as wildcards. For example to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For example jean;joe;jim%%;!jimo;!jima%% will target all jean, joe, start with jim but not jimo and not everything that starts with jima +AdvTgtSearchTextHelp=使用%%作為通用字元。例如,要尋找像是jean,joe,jim的所有項目,可以輸入 j%% ,也可以使用;作為數值的分隔字元,並使用!排除此值。例如 %%jean;joe;jim%%;!jimo;!jima% 將會指向所有沒有jimo與所有以jima開始的jean,joe AdvTgtSearchIntHelp=使用空格選擇整數或浮點值 AdvTgtMinVal=最小值 AdvTgtMaxVal=最大值 @@ -154,22 +154,22 @@ AdvTgtTypeOfIncude=目標電子郵件類型 AdvTgtContactHelp=僅用於您將聯絡人定位為“目標電子郵件類型”時使用 AddAll=全部加入 RemoveAll=移除全部 -ItemsCount=項目 -AdvTgtNameTemplate=過濾器名稱 +ItemsCount=品項 +AdvTgtNameTemplate=篩選器名稱 AdvTgtAddContact=根據條件加入電子郵件 -AdvTgtLoadFilter=載入過濾器 -AdvTgtDeleteFilter=刪除過濾器 -AdvTgtSaveFilter=儲存過濾器 -AdvTgtCreateFilter=建立過濾器 -AdvTgtOrCreateNewFilter=新過濾器名稱 -NoContactWithCategoryFound=找不到具有類別的聯絡人/地址 -NoContactLinkedToThirdpartieWithCategoryFound=找不到具有類別的聯絡人/地址 +AdvTgtLoadFilter=載入篩選器 +AdvTgtDeleteFilter=刪除篩選器 +AdvTgtSaveFilter=儲存篩選器 +AdvTgtCreateFilter=建立篩選器 +AdvTgtOrCreateNewFilter=新篩選器名稱 +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=外送電子郵件 InGoingEmailSetup=收到的電子郵件 -OutGoingEmailSetupForEmailing=外送電子郵件(用於模組%s) +OutGoingEmailSetupForEmailing=外送電子郵件(用於%s模組) DefaultOutgoingEmailSetup=與全域寄送電子郵件設定相同的配置 Information=資訊 -ContactsWithThirdpartyFilter=帶有合作方過濾器的聯絡人 +ContactsWithThirdpartyFilter=帶有合作方篩選器的聯絡人 Unanswered=未回應 Answered=已回覆 IsNotAnAnswer=未回應(原始電子郵件) diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index ee97d8fc01c..4831cc97e5d 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -180,7 +180,7 @@ SaveAndNew=儲存並新增 TestConnection=測試連線 ToClone=複製 ConfirmCloneAsk=您確定要複製物件 %s? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=選擇要複製的資料: NoCloneOptionsSpecified=沒有已定義要複製的資料。 Of=的 Go=前往 @@ -246,7 +246,7 @@ DefaultModel=預設文件範本 Action=事件 About=關於 Number=數量 -NumberByMonth=Total reports by month +NumberByMonth=每月報告總數 AmountByMonth=每月金額 Numero=數量 Limit=限制 @@ -278,7 +278,7 @@ DateModificationShort=修改日 IPModification=修改IP DateLastModification=最新修改日期 DateValidation=驗證日期 -DateSigning=Signing date +DateSigning=簽名日期 DateClosing=關閉日期 DateDue=截止日期 DateValue=值的日期 @@ -341,8 +341,8 @@ KiloBytes=KB MegaBytes=MB GigaBytes=GB TeraBytes=TB -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=建立者 +UserModif=更新者 b=b. Kb=Kb Mb=Mb @@ -362,7 +362,7 @@ UnitPriceHTCurrency=單價(不含)(貨幣) UnitPriceTTC=單位價格 PriceU=單價 PriceUHT=單價(淨) -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=U.P(淨值)(貨幣) PriceUTTC=單價(含稅) Amount=金額 AmountInvoice=發票金額 @@ -390,8 +390,8 @@ AmountTotal=總金額 AmountAverage=平均金額 PriceQtyMinHT=最小數量價格(不含稅) PriceQtyMinHTCurrency=最小數量價格(不含稅)(貨幣) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PercentOfOriginalObject=原始項目的百分比 +AmountOrPercent=金額或百分比 Percentage=百分比 Total=總計 SubTotal=小計 @@ -430,6 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=附加美分 VATRate=稅率 +RateOfTaxN=稅率%s VATCode=稅率代碼 VATNPR=NPR 稅率 DefaultTaxRate=預設稅率 @@ -441,7 +442,7 @@ RemainToPay=保持付款 Module=模組/應用程式 Modules=模組/應用程式 Option=選項 -Filters=過濾器 +Filters=篩選器 List=清單 FullList=全部清單 FullConversation=全部轉換 @@ -676,7 +677,7 @@ Response=反應 Priority=優先權 SendByMail=以電子郵件寄送 MailSentBy=寄件人 -NotSent=不發送 +NotSent=未寄送 TextUsedInTheMessageBody=電子郵件正文 SendAcknowledgementByMail=傳送確認電子郵件 SendMail=傳送電子郵件 @@ -729,7 +730,8 @@ MenuMembers=會員 MenuAgendaGoogle=Google 行事曆 MenuTaxesAndSpecialExpenses=稅金|特別費用 ThisLimitIsDefinedInSetup=Dolibarr 的限制(選單 首頁 - 設定 - 安全): %s Kb, PHP的限制:%s Kb -NoFileFound=No documents uploaded +ThisLimitIsDefinedInSetupAt=Dolibarr限制 (選單%s): %s Kb, PHP限制(參數 %s): %s Kb +NoFileFound=沒有上傳文件 CurrentUserLanguage=目前語言 CurrentTheme=目前主題 CurrentMenuManager=目前選單管理器 @@ -845,7 +847,7 @@ XMoreLines=%s 行(數)被隱藏 ShowMoreLines=顯示更多/更少行數 PublicUrl=公開網址 AddBox=增加盒子 -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=選擇一個元件並且點選%s PrintFile=列印檔案 %s ShowTransaction=在銀行帳戶中顯示交易 ShowIntervention=顯示干預 @@ -856,8 +858,8 @@ Denied=已拒絕 ListOf=%s 清單 ListOfTemplates=範本清單 Gender=性別 -Genderman=Male -Genderwoman=Female +Genderman=男性 +Genderwoman=女性 Genderother=其他 ViewList=檢視清單 ViewGantt=甘特圖 @@ -904,10 +906,10 @@ ViewAccountList=檢視總帳 ViewSubAccountList=檢視子帳戶總帳 RemoveString=移除字串‘%s’ SomeTranslationAreUncomplete=提供的某些語言可能僅被部分翻譯,或者可能包含錯誤。請通過註冊https://transifex.com/projects/p/dolibarr/來進行改進,以幫助修正您的語言。 -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +DirectDownloadLink=公共下載連結 +PublicDownloadLinkDesc=只需要連結即可下載檔案 +DirectDownloadInternalLink=私人下載連結 +PrivateDownloadLinkDesc=您需要登錄,並且需要有查看或下載檔案的權限 Download=下載 DownloadDocument=下載文件 ActualizeCurrency=更新匯率 @@ -1020,7 +1022,7 @@ SearchIntoContacts=通訊錄 SearchIntoMembers=會員 SearchIntoUsers=用戶 SearchIntoProductsOrServices=產品或服務 -SearchIntoBatch=Lots / Serials +SearchIntoBatch=批號/序號 SearchIntoProjects=專案 SearchIntoMO=製造訂單 SearchIntoTasks=任務 @@ -1057,13 +1059,13 @@ KeyboardShortcut=快捷鍵 AssignedTo=指定人 Deletedraft=刪除草稿 ConfirmMassDraftDeletion=草稿批次刪除確認 -FileSharedViaALink=File shared with a public link +FileSharedViaALink=通過公共連結共享的檔案 SelectAThirdPartyFirst=先選擇合作方(客戶/供應商)... YouAreCurrentlyInSandboxMode=您目前在 %s "沙盒" 模式 Inventory=庫存 AnalyticCode=分析代碼 TMenuMRP=製造資源計劃(MRP) -ShowCompanyInfos=Show company infos +ShowCompanyInfos=顯示公司資訊 ShowMoreInfos=顯示更多信息 NoFilesUploadedYet=請先上傳文件 SeePrivateNote=查看私人筆記 @@ -1072,6 +1074,7 @@ ValidFrom=有效期自 ValidUntil=有效期至 NoRecordedUsers=無使用者 ToClose=關閉 +ToRefuse=拒絕 ToProcess=處理 ToApprove=核准 GlobalOpenedElemView=全域顯示 @@ -1125,10 +1128,24 @@ EventReminder=事件提醒 UpdateForAllLines=更新所有行 OnHold=On hold Civility=稱謂或頭銜 -AffectTag=影響標籤 -ConfirmAffectTag=批量標籤影響 -ConfirmAffectTagQuestion=您確定要影響對%s所選記錄的標籤嗎? +AffectTag=設定標籤/類別 +CreateExternalUser=建立外部用戶 +ConfirmAffectTag=批量設定標籤/類別 +ConfirmAffectTagQuestion=您確定要設定%s所選記錄的標籤/分類嗎? CategTypeNotFound=找不到記錄類型的標籤類型 -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel +CopiedToClipboard=複製到剪貼簿 +InformationOnLinkToContract=這個金額只是合約所有行的總和。沒有考慮時間的因素。 +ConfirmCancel=您確定要取消? +EmailMsgID=電子郵件訊息 ID +SetToEnabled=設定為啟用 +SetToDisabled=設定為停用 +ConfirmMassEnabling=批次啟用確認 +ConfirmMassEnablingQuestion=您確定您想要啟用%s筆選擇的紀錄嗎? +ConfirmMassDisabling=批次停用確認 +ConfirmMassDisablingQuestion=您確定您想要停用%s筆選擇的紀錄嗎? +RecordsEnabled=已啟用%s筆紀錄 +RecordsDisabled=已停用%s筆紀錄 +RecordEnabled=紀錄已啟用 +RecordDisabled=紀錄已停用 +Forthcoming=即將推出 +Currently=Currently diff --git a/htdocs/langs/zh_TW/margins.lang b/htdocs/langs/zh_TW/margins.lang index b3cc74b2402..dc68a99e36a 100644 --- a/htdocs/langs/zh_TW/margins.lang +++ b/htdocs/langs/zh_TW/margins.lang @@ -22,7 +22,7 @@ ProductService=產品或服務 AllProducts=所有產品和服務 ChooseProduct/Service=選擇產品或服務 ForceBuyingPriceIfNull=如果未定義,強制將買入/成本價轉換為賣價 -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=如果我們增加新行時未提供買入/成本價,且此選項為“ON”,則新行的利潤將為 0(買入/成本價 = 賣價)。如果此選項為“OFF”(推薦),則利潤將預設等於建議值(如果找不到預設值,則可能為 100%)。 MARGIN_METHODE_FOR_DISCOUNT=全球折扣的利潤規則 UseDiscountAsProduct=作為產品 UseDiscountAsService=作為服務 diff --git a/htdocs/langs/zh_TW/members.lang b/htdocs/langs/zh_TW/members.lang index 9bfb8a79af4..e6b83cbef57 100644 --- a/htdocs/langs/zh_TW/members.lang +++ b/htdocs/langs/zh_TW/members.lang @@ -15,24 +15,24 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=另一名會員(名稱:%s ErrorUserPermissionAllowsToLinksToItselfOnly=出於安全原因,必須授予您編輯所有用戶的權限,以便能夠將會員連結到其他用戶。 SetLinkToUser=連結Dolibarr用戶 SetLinkToThirdParty=連接到Dolibarr合作方 -MembersCards=Business cards for members +MembersCards=會員名片 MembersList=會員清單 MembersListToValid=草案會員清單(待確認) MembersListValid=有效會員清單 MembersListUpToDate=最新訂閱的有效會員清單 MembersListNotUpToDate=訂閱過期的有效會員清單 -MembersListExcluded=List of excluded members +MembersListExcluded=排除會員的清單 MembersListResiliated=已被終止會員清單 MembersListQualified=合格會員清單 MenuMembersToValidate=草案會員 MenuMembersValidated=已驗證會員 -MenuMembersExcluded=Excluded members +MenuMembersExcluded=排除會員 MenuMembersResiliated=已終止會員 MembersWithSubscriptionToReceive=可接收訂閱會員 MembersWithSubscriptionToReceiveShort=接收訂閱 DateSubscription=訂閱日期 DateEndSubscription=訂閱結束日期 -EndSubscription=Subscription Ends +EndSubscription=訂閱結束 SubscriptionId=訂閱編號 WithoutSubscription=沒有訂閱 MemberId=會員編號 @@ -49,12 +49,12 @@ MemberStatusActiveLate=訂閱已過期 MemberStatusActiveLateShort=已過期 MemberStatusPaid=訂閱最新 MemberStatusPaidShort=最新 -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded +MemberStatusExcluded=排除會員 +MemberStatusExcludedShort=排除 MemberStatusResiliated=已終止成員 MemberStatusResiliatedShort=已終止 MembersStatusToValid=草案會員 -MembersStatusExcluded=Excluded members +MembersStatusExcluded=排除會員 MembersStatusResiliated=已終止會員 MemberStatusNoSubscription=已驗證(無需訂閱) MemberStatusNoSubscriptionShort=已驗證 @@ -83,12 +83,12 @@ WelcomeEMail=歡迎電子郵件 SubscriptionRequired=需要訂閱 DeleteType=刪除 VoteAllowed=允許投票 -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? +Physical=個人 +Moral=公司 +MorAndPhy=公司和個人 +Reenable=重新啟用 +ExcludeMember=排除會員 +ConfirmExcludeMember=您確定要排除此會員嗎? ResiliateMember=終止會員 ConfirmResiliateMember=您確定要終止此會員嗎? DeleteMember=刪除會員 @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=電子郵件範本,用於會員 DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=電子郵件範本,用於新的訂閱記錄時向會員發送電子郵件 DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=電子郵件範本, 用於訂閱即將到期時發送電子郵件提醒 DescADHERENT_EMAIL_TEMPLATE_CANCELATION=電子郵件範本,用於在會員取消時向會員發送電子郵件 -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=用於會員排除時向會員發出電子郵件的模板 DescADHERENT_MAIL_FROM=自動發送電子郵件之發件人電子郵件 DescADHERENT_ETIQUETTE_TYPE=標籤頁格式 DescADHERENT_ETIQUETTE_TEXT=會員地址列表文字 @@ -170,31 +170,31 @@ DocForLabels=產生地址表 SubscriptionPayment=訂閱付款 LastSubscriptionDate=最新訂閱付款的日期 LastSubscriptionAmount=最新訂閱金額 -LastMemberType=Last Member type +LastMemberType=最新的會員類型 MembersStatisticsByCountries=會員統計(國家/城市) MembersStatisticsByState=會員統計(州/省) MembersStatisticsByTown=會員統計(城鎮) MembersStatisticsByRegion=會員統計(地區) -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=會員總數 +NbOfActiveMembers=目前活躍會員數 NoValidatedMemberYet=無已驗證的會員 -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=此畫面顯示依國家/地區劃分的會員統計資訊。圖形取決於Google線上圖形服務,並且僅可在網路連線正常時可用。 +MembersByStateDesc=此畫面依州/省顯示有關會員的統計資訊。 +MembersByTownDesc=此畫面顯示依城市劃分的會員統計資訊。 +MembersByNature=此畫面依性質顯示有關會員的統計資訊。 +MembersByRegion=此畫面依區域顯示有關會員的統計資訊。 MembersStatisticsDesc=選擇要讀取的統計訊息... MenuMembersStats=統計 -LastMemberDate=Latest membership date +LastMemberDate=最新入會日期 LatestSubscriptionDate=最新訂閱日期 -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=會員性質 +MembersNature=會員性質 +Public=資訊是公開的 NewMemberbyWeb=增加了新會員。等待核准 NewMemberForm=新會員表格 -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=訂閱統計 NbOfSubscriptions=訂閱數 -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=訂閱金額 TurnoverOrBudget=營業額(對於公司)或預算(對於財團) DefaultAmount=預設訂閱金額 CanEditAmount=訪客可以選擇/編輯其訂閱金額 @@ -213,3 +213,5 @@ SendReminderForExpiredSubscription=當訂閱即將到期時,通過電子郵件 MembershipPaid=本期已支付的會費(直到%s) YouMayFindYourInvoiceInThisEmail=您可在此電子郵件中找到發票 XMembersClosed=%s會員已關閉 +XExternalUserCreated=已建立%s位外部用戶 +ForceMemberNature=強制會員性質(個人或公司) diff --git a/htdocs/langs/zh_TW/modulebuilder.lang b/htdocs/langs/zh_TW/modulebuilder.lang index 04eb61a2a70..b7962b22242 100644 --- a/htdocs/langs/zh_TW/modulebuilder.lang +++ b/htdocs/langs/zh_TW/modulebuilder.lang @@ -143,3 +143,4 @@ AsciiToHtmlConverter=ASCII到HTML轉換器 AsciiToPdfConverter=ASCII到PDF轉換器 TableNotEmptyDropCanceled=表不為空。刪除已被取消。 ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. +ImportExportProfiles=Import and export profiles diff --git a/htdocs/langs/zh_TW/mrp.lang b/htdocs/langs/zh_TW/mrp.lang index 58bbdd4bcc7..f257a5fc7f3 100644 --- a/htdocs/langs/zh_TW/mrp.lang +++ b/htdocs/langs/zh_TW/mrp.lang @@ -8,12 +8,12 @@ MenuBOM=物料清單 LatestBOMModified=最新的%s物料清單已修改 LatestMOModified=最新%s筆製造訂單已修改 Bom=物料清單 -BillOfMaterials=物料清單 +BillOfMaterials=材料清單 BOMsSetup=BOM模組設定 ListOfBOMs=物料清單-BOM ListOfManufacturingOrders=製造訂單清單 NewBOM=新物料清單 -ProductBOMHelp=此物料清單建立的產品。
    注意:屬性為“原料”的產品 =“原材料”在此清單中不可見。 +ProductBOMHelp=使用此物料清單建立(或拆解)產品。
    注記:具有"產品屬性"的產品="原料"不會顯示於此清單 BOMsNumberingModules=BOM編號範本 BOMsModelModule=BOM文件範本 MOsNumberingModules=MO編號範本 @@ -39,7 +39,7 @@ DateStartPlannedMo=計劃開始日期 DateEndPlannedMo=計劃結束日期 KeepEmptyForAsap=空白表示“盡快” EstimatedDuration=預計時間 -EstimatedDurationDesc=使用此物料清單估計製造此產品的時間 +EstimatedDurationDesc=使用此物料清單製造(或拆解)此產品的預計工期 ConfirmValidateBom=您確定要使用參考%s來驗證物料清單(您將能夠使用它來建立新的製造訂單) ConfirmCloseBom=您確定要取消此物料清單(您將無法再使用它來建立新的製造訂單)? ConfirmReopenBom=您確定要重新打開此物料清單嗎(您將能夠使用它來建立新的製造訂單) @@ -63,13 +63,14 @@ ConsumeAndProduceAll=消耗並生產所有產品 Manufactured=已製造 TheProductXIsAlreadyTheProductToProduce=要增加的產品已經是要生產的產品。 ForAQuantityOf=數量為%s +ForAQuantityToConsumeOf=%s中拆解的數量 ConfirmValidateMo=您確定要驗證此製造訂單嗎? ConfirmProductionDesc=通過點擊“%s”,您將驗證數量設定的消耗量和/或生產量。這還將更新庫存並記錄庫存動向。 ProductionForRef=生產%s AutoCloseMO=如果達到消耗和生產的數量,則自動關閉製造訂單 NoStockChangeOnServices=服務無庫存變化 ProductQtyToConsumeByMO=開放MO仍要消耗的產品數量 -ProductQtyToProduceByMO=開放MO仍可產生的產品優先等級 +ProductQtyToProduceByMO=產品數量仍由開放MO生產 AddNewConsumeLines=增加新的行來使用 ProductsToConsume=消耗的產品 ProductsToProduce=生產的產品 @@ -78,27 +79,25 @@ TotalCost=總計花費 BOMTotalCost=根據每個要消耗的數量和產品的成本產生此BOM的成本(如果定義則使用“成本價”,如果定義則使用“平均加權價格”,否則使用“最佳採購價”) GoOnTabProductionToProduceFirst=您必須先開始生產才能關閉生產訂單(請參見分頁“ %s”)。但是您可以取消它。 ErrorAVirtualProductCantBeUsedIntoABomOrMo=套件不能用於物料清單或製造訂單 -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationAbout = About Workstation -WorkstationAboutPage = Workstations about page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Supprimer -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +Workstation=工作站 +Workstations=工作站 +WorkstationsDescription=工作站管理 +WorkstationSetup = 工作站設定 +WorkstationSetupPage = 工作站設定頁面 +WorkstationList=工作站清單 +WorkstationCreate=新增工作站 +ConfirmEnableWorkstation=您確定要啟用工作站 %s 嗎? +EnableAWorkstation=啟用工作站 +ConfirmDisableWorkstation=您確定要停用工作站 %s 嗎? +DisableAWorkstation=停用工作站 +DeleteWorkstation=刪除 +NbOperatorsRequired=所需的營運商數量 +THMOperatorEstimated=估計營運商THM +THMMachineEstimated=估計機器THM +WorkstationType=工作站類型 +Human=人員 +Machine=機器 +HumanMachine=人員/機器 +WorkstationArea=工作站區域 +Machines=機器 +THMEstimatedHelp=此費率使得可以定義物料的預估成本 diff --git a/htdocs/langs/zh_TW/opensurvey.lang b/htdocs/langs/zh_TW/opensurvey.lang index 51a4283c721..ff927bfc863 100644 --- a/htdocs/langs/zh_TW/opensurvey.lang +++ b/htdocs/langs/zh_TW/opensurvey.lang @@ -1,61 +1,61 @@ # Dolibarr language file - Source file is en_US - opensurvey -Survey=Poll -Surveys=Polls -OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select the type of poll... -NewSurvey=New poll -OpenSurveyArea=Polls area -AddACommentForPoll=You can add a comment into poll... -AddComment=Add comment -CreatePoll=Create poll -PollTitle=Poll title -ToReceiveEMailForEachVote=Receive an email for each vote -TypeDate=Type date -TypeClassic=Type standard -OpenSurveyStep2=Select your dates among the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it -RemoveAllDays=Remove all days -CopyHoursOfFirstDay=Copy hours of first day -RemoveAllHours=Remove all hours -SelectedDays=Selected days -TheBestChoice=The best choice currently is -TheBestChoices=The best choices currently are -with=with -OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. -CommentsOfVoters=Comments of voters -ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) -RemovePoll=Remove poll -UrlForSurvey=URL to communicate to get a direct access to poll -PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: -CreateSurveyDate=Create a date poll -CreateSurveyStandard=Create a standard poll -CheckBox=Simple checkbox -YesNoList=List (empty/yes/no) -PourContreList=List (empty/for/against) -AddNewColumn=Add new column -TitleChoice=Choice label -ExportSpreadsheet=Export result spreadsheet -ExpireDate=極限日期 -NbOfSurveys=Number of polls -NbOfVoters=No. of voters -SurveyResults=Results -PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. -5MoreChoices=5 more choices -Against=Against -YouAreInivitedToVote=You are invited to vote for this poll -VoteNameAlreadyExists=This name was already used for this poll -AddADate=Add a date -AddStartHour=Add start hour -AddEndHour=Add end hour -votes=vote(s) -NoCommentYet=No comments have been posted for this poll yet -CanComment=Voters can comment in the poll -CanSeeOthersVote=Voters can see other people's vote -SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format:
    - empty,
    - "8h", "8H" or "8:00" to give a meeting's start hour,
    - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
    - "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. -BackToCurrentMonth=Back to current month -ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation -ErrorOpenSurveyOneChoice=Enter at least one choice -ErrorInsertingComment=There was an error while inserting your comment -MoreChoices=Enter more choices for the voters -SurveyExpiredInfo=The poll has been closed or voting delay has expired. -EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s -ShowSurvey=Show survey -UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment +Survey=調查 +Surveys=調查 +OrganizeYourMeetingEasily=輕鬆組織會議和調查。首先選擇調查的類型... +NewSurvey=新調查 +OpenSurveyArea=調查區 +AddACommentForPoll=您可以在調查中加入評論... +AddComment=增加評論 +CreatePoll=建立調查 +PollTitle=調查標題 +ToReceiveEMailForEachVote=每次投票都會收到一封電子郵件 +TypeDate=日期類型 +TypeClassic=標準類型 +OpenSurveyStep2=在空閒日中選擇日期(灰色)。所選的日期為綠色。您可以通過再次點擊來取消先前選擇的日期 +RemoveAllDays=全部刪除 +CopyHoursOfFirstDay=複制第一天的時間 +RemoveAllHours=刪除所有時間 +SelectedDays=已選擇的日子 +TheBestChoice=目前最好的選擇是 +TheBestChoices=目前最好的選擇是 +with=與 +OpenSurveyHowTo=如果您同意在此次調查中投票,則必須給出自己的名字,選擇最適合您的值,並使用該行末尾的加號按鈕進行驗證。 +CommentsOfVoters=投票人的評論 +ConfirmRemovalOfPoll=您確定要刪除此調查(以及所有投票)嗎? +RemovePoll=刪除調查 +UrlForSurvey=調查的直接網址 +PollOnChoice=您正在建立多項選擇的調查。首先為您的調查輸入所有可能的選擇: +CreateSurveyDate=建立日期調查 +CreateSurveyStandard=建立標準調查 +CheckBox=簡易勾選框 +YesNoList=清單(空/是/否) +PourContreList=清單(空/支持/反對) +AddNewColumn=增加新欄位 +TitleChoice=選擇標籤 +ExportSpreadsheet=匯出結果表格 +ExpireDate=調查截止日 +NbOfSurveys=投票次數 +NbOfVoters=投票人數 +SurveyResults=結果 +PollAdminDesc=您可以使用“編輯”按鈕更改此民意調查的所有投票行。您也可以使用%s刪除列或行。您也可以使用%s增加新列。 +5MoreChoices=再多5個選項 +Against=反對 +YouAreInivitedToVote=您被邀請參加此項調查 +VoteNameAlreadyExists=此名稱已用於此調查 +AddADate=增加日期 +AddStartHour=增加開始時間 +AddEndHour=增加結束時間 +votes=投票 +NoCommentYet=尚未有此調查的評論 +CanComment=投票者可以在調查中發表評論 +CanSeeOthersVote=投票者可以看到其他人的投票 +SelectDayDesc=對於每個選定的日期,您可以依照以下格式選擇是否選擇開會時間:
    -空的
    -“ 8h”,“ 8H”或“ 8:00”指定會議的開始時間,
    -“ 8-11”,“ 8h-11h”,“ 8H-11H”或“ 8:00-11:00”給出會議的開始和結束時間,
    -同樣的用“ 8h15-11h15”,“ 8H15-11H15”或“ 8:15-11:15”表示,但要加上分鐘。 +BackToCurrentMonth=回到目前月份 +ErrorOpenSurveyFillFirstSection=您尚未填寫建立調查的第一部分 +ErrorOpenSurveyOneChoice=輸入至少一個選項 +ErrorInsertingComment=插入您的評論時出錯 +MoreChoices=為投票者輸入更多選項 +SurveyExpiredInfo=投票已關閉或投票已到期。 +EmailSomeoneVoted=%s已填滿一行。\n您可以在以下連結找到您的調查:\n%s +ShowSurvey=顯示調查 +UserMustBeSameThanUserUsedToVote=您必須已投票並使用與投票時相同的用戶名來發表評論 diff --git a/htdocs/langs/zh_TW/orders.lang b/htdocs/langs/zh_TW/orders.lang index 7d2f56c434e..37fbc2d0e30 100644 --- a/htdocs/langs/zh_TW/orders.lang +++ b/htdocs/langs/zh_TW/orders.lang @@ -11,13 +11,14 @@ OrderDate=訂購日期 OrderDateShort=訂購日期 OrderToProcess=訂單處理 NewOrder=建立新訂單 +NewSupplierOrderShort=建立新訂單 NewOrderSupplier=新採購訂單 ToOrder=製作訂單 MakeOrder=製作訂單 SupplierOrder=採購訂單 SuppliersOrders=採購訂單 -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=銷售訂單行 +PurchaseOrderLines=採購訂單行 SuppliersOrdersRunning=目前的採購訂單 CustomerOrder=銷售訂單 CustomersOrders=銷售訂單 @@ -73,6 +74,7 @@ DeleteOrder=刪除訂單 CancelOrder=取消訂單 OrderReopened= 訂單%s重新打開 AddOrder=新增訂單 +AddSupplierOrderShort=新增訂單 AddPurchaseOrder=新增採購訂單 AddToDraftOrders=加入到草稿訂單 ShowOrder=顯示訂單 diff --git a/htdocs/langs/zh_TW/other.lang b/htdocs/langs/zh_TW/other.lang index 364d1de3f2d..7f378dbb0ae 100644 --- a/htdocs/langs/zh_TW/other.lang +++ b/htdocs/langs/zh_TW/other.lang @@ -24,7 +24,7 @@ MessageOK=退貨頁面上有關已驗證付款的訊息 MessageKO=退貨頁面上關於已取消付款的訊息 ContentOfDirectoryIsNotEmpty=此資料夾的內容不是空的。 DeleteAlsoContentRecursively=確認以遞歸方式刪除所有內容 -PoweredBy=供給者 +PoweredBy=技術提供 YearOfInvoice=發票日期年份 PreviousYearOfInvoice=發票日期的上一年 NextYearOfInvoice=發票日期的下一年 @@ -114,7 +114,7 @@ DemoCompanyAll=有多項活動的公司(所有主要模組) CreatedBy=由%s建立 ModifiedBy=由%s修改 ValidatedBy=由%s驗證 -SignedBy=Signed by %s +SignedBy=由%s簽署 ClosedBy=由%s關閉 CreatedById=建立的用戶ID ModifiedById=進行最新更改的用戶ID @@ -129,6 +129,7 @@ ClosedByLogin=已關閉的用戶登入名稱 FileWasRemoved=檔案%s已刪除 DirWasRemoved=資料夾%s已刪除 FeatureNotYetAvailable=此功能在目前版本中尚不可用 +FeatureNotAvailableOnDevicesWithoutMouse=沒有滑鼠的設備上不可用的功能 FeaturesSupported=已支援功能 Width=寬度 Height=高度 @@ -183,7 +184,7 @@ EnableGDLibraryDesc=在PHP安裝上安裝或啟用GD程式庫以使用此選項 ProfIdShortDesc=Prof Id %s的資訊取決於合作方國家/地區。
    例如,對於國家%s ,其代碼為%s 。 DolibarrDemo=Dolibarr的ERP / CRM的DEMO StatsByNumberOfUnits=產品/服務數量統計 -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=參考實體數量的統計數據(發票數量或訂單數量...) NumberOfProposals=提案/建議書的數量 NumberOfCustomerOrders=銷售訂單數量 NumberOfCustomerInvoices=客戶發票數量 @@ -245,7 +246,7 @@ NewKeyIs=這是您的新登入密碼 NewKeyWillBe=您用於登入軟體的新密鑰將為 ClickHereToGoTo=點擊這裡前往%s YouMustClickToChange=您必須先點擊以下連結驗證此密碼更改 -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=確認密碼變更 ForgetIfNothing=如果您沒有請求此更改,請忽略此電子郵件。您的憑證仍保持安全狀態。 IfAmountHigherThan=如果金額高於 %s SourcesRepository=資料庫 @@ -263,7 +264,7 @@ ContactCreatedByEmailCollector=電子郵件收集器從電子郵件MSGID %s建 ProjectCreatedByEmailCollector=電子郵件收集器從電子郵件MSGID %s建立的專案 TicketCreatedByEmailCollector=電子郵件收集器從電子郵件MSGID %s建立的服務單 OpeningHoursFormatDesc=使用-分隔營業開始時間和營業結束時間。
    使用空格輸入不同的範圍。
    範例:8-12 14-18 -PrefixSession=程序ID的前綴 +SuffixSessionName=程序名稱的後綴 ##### Export ##### ExportsArea=出口地區 @@ -289,4 +290,8 @@ PopuProp=依照在提案中受歡迎程度列出的產品/服務 PopuCom=依照在訂單中受歡迎程度列出的產品/服務 ProductStatistics=產品/服務統計 NbOfQtyInOrders=訂單數量 -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=選擇一個項目以查看其統計資訊... + +ConfirmBtnCommonContent = 您確定要“%s”嗎? +ConfirmBtnCommonTitle = 確認您的操作 +CloseDialog = 關閉 diff --git a/htdocs/langs/zh_TW/partnership.lang b/htdocs/langs/zh_TW/partnership.lang index 6563edeeac8..8950834eeab 100644 --- a/htdocs/langs/zh_TW/partnership.lang +++ b/htdocs/langs/zh_TW/partnership.lang @@ -16,41 +16,76 @@ # # Generic # -ModulePartnershipName = Partnership management -PartnershipDescription = Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=合作夥伴關係管理 +PartnershipDescription=合作夥伴管理模組 +PartnershipDescriptionLong= 合作夥伴管理模組 + +AddPartnership=增加合作夥伴 +CancelPartnershipForExpiredMembers=合作夥伴:取消訂閱過期會員的合作關係 +PartnershipCheckBacklink=合作夥伴:檢查參考反向連結 # # Menu # -NewPartnership = New Partnership -ListOfPartnerships = List of partnership +NewPartnership=新合作夥伴 +ListOfPartnerships=合作夥伴清單 # # Admin page # -PartnershipSetup = Partnership setup -PartnershipAbout = About Partnership -PartnershipAboutPage = Partnership about page - +PartnershipSetup=合作夥伴設定 +PartnershipAbout=關於合作夥伴 +PartnershipAboutPage=合作夥伴關於頁面 +partnershipforthirdpartyormember=合作夥伴狀態必須設定為“合作方”或“會員” +PARTNERSHIP_IS_MANAGED_FOR=夥伴關係管理 +PARTNERSHIP_BACKLINKS_TO_CHECK=要檢查的反向連結 +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=訂閱到期後取消合作關係狀態前的 Nb 天 +ReferingWebsiteCheck=檢查網站參考 +ReferingWebsiteCheckDesc=您可以啟用一項功能來檢查您的合作夥伴是否在他們自己的網站上增加了指向您網站網域的反向連結。 # # Object # +DeletePartnership=刪除合作夥伴 +PartnershipDedicatedToThisThirdParty=致力於此合作方的合作夥伴 +PartnershipDedicatedToThisMember=致力於此會員的合作夥伴 DatePartnershipStart=開始日期 DatePartnershipEnd=結束日期 +ReasonDecline=拒絕原因 +ReasonDeclineOrCancel=拒絕原因 +PartnershipAlreadyExist=合作夥伴已存在 +ManagePartnership=管理合作夥伴 +BacklinkNotFoundOnPartnerWebsite=在合作夥伴網站上找不到反向連結 +ConfirmClosePartnershipAsk=您確定要取消此合作關係嗎? +PartnershipType=合作夥伴類型 # # Template Mail # +SendingEmailOnPartnershipWillSoonBeCanceled=合作關係即將取消 +SendingEmailOnPartnershipRefused=已拒絕合作 +SendingEmailOnPartnershipAccepted=已接受合作 +SendingEmailOnPartnershipCanceled=已取消合作夥伴 +YourPartnershipWillSoonBeCanceledTopic=合作關係即將取消 +YourPartnershipRefusedTopic=已拒絕合作 +YourPartnershipAcceptedTopic=已接受合作 +YourPartnershipCanceledTopic=已取消合作 + +YourPartnershipWillSoonBeCanceledContent=我們通知您,您的合作夥伴關係即將取消(未找到反向連結) +YourPartnershipRefusedContent=我們通知您,您的合作請求已被拒絕。 +YourPartnershipAcceptedContent=我們通知您,您的合作請求已被接受。 +YourPartnershipCanceledContent=我們通知您,您的合作夥伴關係已被取消。 + +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=拒絕原因 # # Status # -PartnershipDraft = 草稿 -PartnershipAccepted = 已接受 -PartnershipRefused = 已拒絕 -PartnershipCanceled = 已取消 - -PartnershipManagedFor=Partners are +PartnershipDraft=草稿 +PartnershipAccepted=已接受 +PartnershipRefused=已拒絕 +PartnershipCanceled=已取消 +PartnershipManagedFor=合作夥伴是 diff --git a/htdocs/langs/zh_TW/productbatch.lang b/htdocs/langs/zh_TW/productbatch.lang index d88de961d99..7c45b2505df 100644 --- a/htdocs/langs/zh_TW/productbatch.lang +++ b/htdocs/langs/zh_TW/productbatch.lang @@ -1,10 +1,10 @@ -# ProductBATCH language file - en_US - ProductBATCH +# ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=使用批次/序號數字 -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnBatch=是(需要批號/序號) +ProductStatusOnSerial=是(需要唯一的批號/序號) ProductStatusNotOnBatch=不是(不使用批次/序號) -ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnBatchShort=批號 +ProductStatusOnSerialShort=序號 ProductStatusNotOnBatchShort=No Batch=批次/序號 atleast1batchfield=有效日期或銷售日期或批次/序號 @@ -24,12 +24,20 @@ ProductLotSetup=批次/序號模組的設定 ShowCurrentStockOfLot=顯示關聯產品/批次的目前庫存 ShowLogOfMovementIfLot=顯示產品/批次的移動記錄 StockDetailPerBatch=每批次的庫存詳細資料 -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned +SerialNumberAlreadyInUse= 序號%s已經被產品%s使用 +TooManyQtyForSerialNumber=序號%s只能使用在產品%s上 +ManageLotMask=自定義遮罩 +CustomMasks=為每個產品定義不同編號遮罩的選項 +BatchLotNumberingModules=自動產生批號的編號規則 +BatchSerialNumberingModules=自動產生序號的編號規則(對每一個具有 1 個唯一批號/序號的產品) +QtyToAddAfterBarcodeScan=每一個已掃描的條碼/批號/序號要增加的數量 +LifeTime=有效期(天) +EndOfLife=已到期 +ManufacturingDate=生產日期 +DestructionDate=銷毀日期 +FirstUseDate=首次使用日期 +QCFrequency=品質控制頻率(天) + +#Traceability - qc status +OutOfOrder=亂序 +InWorkingOrder=在生產訂單中 diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index b603120fada..e3d5b99dc1f 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=僅供銷售服務 ServicesOnPurchaseOnly=僅供採購服務 ServicesNotOnSell=無法銷售與採購之服務 ServicesOnSellAndOnBuy=可供銷售與購買之服務 -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=最新%s筆已修改的產品/服務 LastRecordedProducts=最新 %s 紀錄的產品 LastRecordedServices=最新%s 紀錄的服務 CardProduct0=產品 @@ -73,12 +73,12 @@ SellingPrice=售價 SellingPriceHT=售價(不含稅) SellingPriceTTC=售價(含稅) SellingMinPriceTTC=最低售價(含稅) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=此價格欄位(不含稅)可用於取得該產品給貴公司的平均價格。它可以是您自己計算的任何價格,例如,根據平均購買價格加上平均生產和分銷成本得出的價格。 CostPriceUsage=此值可用於利潤計算。 SoldAmount=銷售數量 PurchasedAmount=購買數量 NewPrice=新價格 -MinPrice=Min. selling price +MinPrice=最低售價 EditSellingPriceLabel=修改售價標籤 CantBeLessThanMinPrice=售價不能低於該產品的最低售價(%s 不含稅)。如果你輸入的折扣過高也會出現此訊息。 ContractStatusClosed=已關閉 @@ -116,7 +116,7 @@ ParentProductsNumber=母套裝產品數 ParentProducts=母產品 IfZeroItIsNotAVirtualProduct=如果為0,則此產品不是套件 IfZeroItIsNotUsedByVirtualProduct=如果為0,則表示此產品未用於任何套件 -KeywordFilter=關鍵字過濾 +KeywordFilter=關鍵字篩選器 CategoryFilter=分類篩選器 ProductToAddSearch=用搜索新增產品 NoMatchFound=未找到符合的項目 @@ -141,7 +141,7 @@ VATRateForSupplierProduct=營業稅率(此供應商/產品) DiscountQtyMin=此數量的折扣。 NoPriceDefinedForThisSupplier=沒有此供應商/產品定義的價格/數量 NoSupplierPriceDefinedForThisProduct=沒有定義此產品供應商價格/數量 -PredefinedItem=Predefined item +PredefinedItem=預定義項目 PredefinedProductsToSell=預定義產品 PredefinedServicesToSell=預定義服務 PredefinedProductsAndServicesToSell=預定義的可銷售產品/服務 @@ -157,11 +157,11 @@ ListServiceByPopularity=熱門服務列表 Finished=成品 RowMaterial=原材料 ConfirmCloneProduct=您確定要複製產品或服務%s嗎? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=複製產品/服務的所有主要資訊 ClonePricesProduct=複製價格 -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=複製已連結標籤/類別 +CloneCompositionProduct=複製虛擬產品/服務 +CloneCombinationsProduct=複製產品變異 ProductIsUsed=該產品是用於 NewRefForClone=新的產品/服務參考 SellingPrices=銷售價格 @@ -170,12 +170,12 @@ CustomerPrices=客戶價格 SuppliersPrices=供應商價格 SuppliersPricesOfProductsOrServices=供應商價格(產品或服務) CustomCode=海關|商品| HS碼 -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=原產地 +RegionStateOrigin=原產地 +StateOrigin=州|原產地 +Nature=產品性質(原料/成品) NatureOfProductShort=產品性質 -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=原料或成品 ShortLabel=短標籤 Unit=單位 p=u. @@ -277,7 +277,7 @@ PriceByCustomer=每個客戶的價格不同 PriceCatalogue=每個產品/服務的單次銷售價格 PricingRule=售價規則 AddCustomerPrice=依客戶新增價格 -ForceUpdateChildPriceSoc=為客戶子公司設置相同的價格 +ForceUpdateChildPriceSoc=為客戶子公司設定相同的價格 PriceByCustomerLog=舊客戶價格的日誌 MinimumPriceLimit=最低價格不能低於%s MinimumRecommendedPrice=最低建議價格是:%s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=母產品變更時增加/減少庫存 ComposedProduct=子產品 MinSupplierPrice=最低採購價格 MinCustomerPrice=最低銷售價格 +NoDynamicPrice=沒有動態價格 DynamicPriceConfiguration=動態價格設置 DynamicPriceDesc=您可以定義數學公式來計算客戶或供應商的價格。這樣的公式可以使用所有數學運算符,一些常數和變數。您可以在此處定義要使用的變數。如果變數需要自動更新,則可以定義外部URL以允許Dolibarr自動更新值。 AddVariable=增加變數 @@ -314,7 +315,7 @@ LastUpdated=最新更新 CorrectlyUpdated=更新成功 PropalMergePdfProductActualFile=用於增加到PDF Azur的文件是 PropalMergePdfProductChooseFile=選擇PDF文件 -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=包含有標籤的產品/服務 DefaultPriceRealPriceMayDependOnCustomer=預設價格,實際價格可能取決於客戶 WarningSelectOneDocument=請至少選擇一份文件 DefaultUnitToShow=單位 @@ -340,7 +341,7 @@ ProductSheet=產品表 ServiceSheet=服務表 PossibleValues=可能的值 GoOnMenuToCreateVairants=前往選單%s-%s以準備屬性(例如顏色,大小等) -UseProductFournDesc=增加供應商已定義產品描述的功能,以針對客戶的描述 +UseProductFournDesc=增加一個可以定義產品描述的功能,此由供應商(每一位供應商)為客戶增加描述 ProductSupplierDescription=產品的供應商說明 UseProductSupplierPackaging=按照供應商價格使用包裝(在供應商文件中增加/更新行時,根據供應商價格上設定的包裝重新計算數量) PackagingForThisProduct=包裝 @@ -396,3 +397,5 @@ ActionAvailableOnVariantProductOnly=僅對產品的變數提供操作 ProductsPricePerCustomer=每個客戶的產品價格 ProductSupplierExtraFields=附加屬性(供應商價格) DeleteLinkedProduct=刪除連結到組合的子產品 +PMPValue=加權平均價格 +PMPValueShort=WAP diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 6223ae8f6e8..40694108374 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -10,19 +10,19 @@ PrivateProject=專案聯絡人 ProjectsImContactFor=我是聯絡人的專案 AllAllowedProjects=我可以讀取的所有專案(我的+公共項目) AllProjects=所有專案 -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=此檢視僅顯示您為聯絡人之專案 ProjectsPublicDesc=此檢視顯示您被允許讀取的所有專案。 TasksOnProjectsPublicDesc=此檢視顯示您可讀取之專案的所有任務。 ProjectsPublicTaskDesc=此檢視顯示所有您可以讀取之專案與任務。 ProjectsDesc=此檢視顯示全部專案(您的用戶權限授予您檢視所有內容)。 TasksOnProjectsDesc=此檢視顯示所有專案上的所有任務(您的用戶權限授予您檢視所有內容)。 -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=此檢視僅顯示您是聯絡人之專案或任務 OnlyOpenedProject=僅顯示開放專案(不顯示草案或是已關閉狀態之專案) ClosedProjectsAreHidden=不顯示已關閉專案 TasksPublicDesc=此檢視顯示您可讀取之所有專案及任務。 TasksDesc=此檢視顯示所有專案及任務(您的用戶權限授予您查看所有內容)。 AllTaskVisibleButEditIfYouAreAssigned=合格專案的所有任務都可見,但是您只能輸入分配給所選用戶之任務的時間。如果需要輸入時間,請分配任務。 -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=僅顯示分配給您的任務。如果您需要輸入時間並且看不見任務,則您需要將任務分配給自己。 ImportDatasetTasks=專案任務 ProjectCategories=專案標籤/類別 NewProject=新專案 @@ -89,7 +89,7 @@ TimeConsumed=已消耗 ListOfTasks=任務清單 GoToListOfTimeConsumed=前往工作時間清單 GanttView=甘特圖 -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=與專案有關的倉庫清單 ListProposalsAssociatedProject=與專案有關的商業建議書清單 ListOrdersAssociatedProject=與專案相關的銷售訂單清單 ListInvoicesAssociatedProject=與專案相關的客戶發票清單 @@ -140,6 +140,7 @@ NoTasks=此專案沒有任務 LinkedToAnotherCompany=連結到其他合作方 TaskIsNotAssignedToUser=任務未分配給用戶。現在使用按鈕'%s'分配任務。 ErrorTimeSpentIsEmpty=花費的時間是空的 +TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back ThisWillAlsoRemoveTasks=此操作將刪除專案(此刻%s任務)的所有任務和所有輸入的花費時間。 IfNeedToUseOtherObjectKeepEmpty=如果必須將屬於另一個合作方的某些項目(發票,訂單等)連結到要建立的專案,請將該欄位保留為空白以使此專案為多個合作方。 CloneTasks=複製任務 @@ -202,7 +203,7 @@ ResourceNotAssignedToTheTask=未分配給任務 NoUserAssignedToTheProject=沒有分配給此專案的用戶 TimeSpentBy=花費時間者 TasksAssignedTo=任務分配給 -AssignTaskToMe=Assign task to myself +AssignTaskToMe=分配任務給自己 AssignTaskToUser=將任務分配給%s SelectTaskToAssign=選擇要分配的任務... AssignTask=分配 @@ -238,9 +239,10 @@ Budget=預算 AllowToLinkFromOtherCompany=允許連結其他公司的專案

    支援的值:
    -保留為空:可以連結公司的任何專案(預設)
    -“全部”:可以連結任何專案,甚至其他公司的專案
    -用逗號分隔的合作方ID清單:可以連結這些合作方的所有專案(例如:123,4795,53)
    LatestProjects=最新%s的專案 LatestModifiedProjects=最新%s件修改專案 -OtherFilteredTasks=其他過濾任務 +OtherFilteredTasks=其他已篩選任務 NoAssignedTasks=找不到分配的任務(從頂部選擇框向目前用戶分配專案/任務以輸入時間) ThirdPartyRequiredToGenerateInvoice=必須在專案上定義合作方才能開立發票。 +ThirdPartyRequiredToGenerateInvoice=必須在專案上定義合作方才能開立發票。 ChooseANotYetAssignedTask=選擇一個尚未分配給您的任務 # Comments trans AllowCommentOnTask=允許用戶對任務發表評論 @@ -252,10 +254,12 @@ SendProjectRef=專案%s的資訊 ModuleSalaryToDefineHourlyRateMustBeEnabled=必須啟用“工資”模組來定義員工的每小時工資,以使所花費的時間保持平衡 NewTaskRefSuggested=任務參考已使用,需要新的任務參考 TimeSpentInvoiced=花費時間已計費 +TimeSpentForIntervention=花費時間 TimeSpentForInvoice=花費時間 OneLinePerUser=每位用戶一行 ServiceToUseOnLines=行上使用的服務 InvoiceGeneratedFromTimeSpent=根據專案花費的時間產生了發票%s +InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project ProjectBillTimeDescription=請勾選如果您輸入了有關專案任務的時間表,並計劃從此時間表中產生發票以向此專案的客戶開立帳單(不要勾選如果您打算建立不基於輸入時間表的發票)。注意:要產生發票,請前往專案的“花費時間”分頁上,並選擇要包括的行。 ProjectFollowOpportunity=追蹤機會 ProjectFollowTasks=追蹤任務或花費的時間 @@ -264,12 +268,16 @@ UsageOpportunity=用法:機會 UsageTasks=用法:任務 UsageBillTimeShort=用法:帳單時間 InvoiceToUse=發票草稿 +InterToUse=Draft intervention to use NewInvoice=新發票 +NewInter=新干預 OneLinePerTask=每個任務一行 OneLinePerPeriod=每個週期一行 +OneLinePerTimeSpentLine=一行為一筆時間花費申報 RefTaskParent=參考上層任務 ProfitIsCalculatedWith=利潤計算是使用 -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. +AddPersonToTask=也增加到任務 +UsageOrganizeEvent=用途:事件組織 +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=當所有任務完成時將專案分類為關閉(進度100%%) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=注意:所有任務進度為 100%% 的現有專案不會受到影響:您必須手動關閉它們。此選項僅影響打開的專案。 +SelectLinesOfTimeSpentToInvoice=選擇未計費的時間行,然後批次操作“產生發票”來計費 diff --git a/htdocs/langs/zh_TW/propal.lang b/htdocs/langs/zh_TW/propal.lang index ba1758df186..acdb64c9cc0 100644 --- a/htdocs/langs/zh_TW/propal.lang +++ b/htdocs/langs/zh_TW/propal.lang @@ -59,7 +59,7 @@ ConfirmClonePropal=您確定您要完整複製商業提案/建議書%s? ConfirmReOpenProp=您確定要再打開商業提案/建議書%s嗎? ProposalsAndProposalsLines=商業提案/建議書和行 ProposalLine=提案/建議書行 -ProposalLines=Proposal lines +ProposalLines=提案/建議書行 AvailabilityPeriod=交貨期 SetAvailability=設定交貨期 AfterOrder=訂單後 diff --git a/htdocs/langs/zh_TW/receptions.lang b/htdocs/langs/zh_TW/receptions.lang index ada80f386c7..798b7f6efcb 100644 --- a/htdocs/langs/zh_TW/receptions.lang +++ b/htdocs/langs/zh_TW/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=您必須先驗證訂單,然後才能進行 ReceptionsNumberingModules=收貨編號模組 ReceptionsReceiptModel=收貨用文件範本 NoMorePredefinedProductToDispatch=沒有更多預定義的產品要調度 - +ReceptionExist=有櫃台 diff --git a/htdocs/langs/zh_TW/recruitment.lang b/htdocs/langs/zh_TW/recruitment.lang index f1f347585b2..3cb922a6516 100644 --- a/htdocs/langs/zh_TW/recruitment.lang +++ b/htdocs/langs/zh_TW/recruitment.lang @@ -42,35 +42,35 @@ NbOfEmployeesExpected=預期員工人數 JobLabel=工作職位標籤 WorkPlace=工作地點 DateExpected=預計的日期 -FutureManager=展望管理員 -ResponsibleOfRecruitement=負責招聘 +FutureManager=職位管理員 +ResponsibleOfRecruitement=招募負責人 IfJobIsLocatedAtAPartner=如果職缺位於合作夥伴地點 PositionToBeFilled=工作職稱 PositionsToBeFilled=工作職位 ListOfPositionsToBeFilled=工作職位清單 NewPositionToBeFilled=新職位 -JobOfferToBeFilled=Job position to be filled +JobOfferToBeFilled=職位空缺 ThisIsInformationOnJobPosition=工作職位空缺訊息 -ContactForRecruitment=招聘連絡人 -EmailRecruiter=電子郵件招聘者 -ToUseAGenericEmail=使用普通電子郵件。如果未定義,將使用招聘負責人的電子郵件 -NewCandidature=New application -ListOfCandidatures=List of applications +ContactForRecruitment=招募連絡人 +EmailRecruiter=電子郵件招募者 +ToUseAGenericEmail=使用普通電子郵件。如果未定義,將使用招募負責人的電子郵件 +NewCandidature=新申請 +ListOfCandidatures=申請清單 RequestedRemuneration=要求的薪資 ProposedRemuneration=擬議薪資 ContractProposed=擬議合約 ContractSigned=合約已簽訂 -ContractRefused=Contract refused -RecruitmentCandidature=Application +ContractRefused=合約被拒絕 +RecruitmentCandidature=申請 JobPositions=工作職位 -RecruitmentCandidatures=Applications +RecruitmentCandidatures=申請 InterviewToDo=面試事項 -AnswerCandidature=Application answer -YourCandidature=Your application -YourCandidatureAnswerMessage=Thanks you for your application.
    ... -JobClosedTextCandidateFound=The job position is closed. The position has been filled. -JobClosedTextCanceled=The job position is closed. -ExtrafieldsJobPosition=Complementary attributes (job positions) -ExtrafieldsApplication=Complementary attributes (job applications) -MakeOffer=Make an offer +AnswerCandidature=申請回覆 +YourCandidature=您的申請 +YourCandidatureAnswerMessage=感謝您的申請。
    ... +JobClosedTextCandidateFound=此職位已關閉。職位已招募完成。 +JobClosedTextCanceled=此職位已關閉。 +ExtrafieldsJobPosition=補充屬性(職位) +ExtrafieldsApplication=補充屬性(工作申請) +MakeOffer=開價 diff --git a/htdocs/langs/zh_TW/salaries.lang b/htdocs/langs/zh_TW/salaries.lang index f741a3a051c..e602b2dcaff 100644 --- a/htdocs/langs/zh_TW/salaries.lang +++ b/htdocs/langs/zh_TW/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=用戶合作方使用的會計帳戶 SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=用戶卡上定義的專用會計帳戶將僅用於子帳會計。如果未定義用戶專用的用戶帳戶,則此帳戶將用於“總帳”,並作為“子帳”帳戶的默認值。 SALARIES_ACCOUNTING_ACCOUNT_CHARGE=默認支付薪資的會計帳戶 +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=預設,當建立薪資時將"自動建立所有支付"選項留空 Salary=薪資 Salaries=薪資 -NewSalaryPayment=新支付薪資 +NewSalary=新薪資 +NewSalaryPayment=新薪資卡 AddSalaryPayment=新增支付薪資 SalaryPayment=支付薪資 SalariesPayments=支付薪資 +SalariesPaymentsOf=%s 的薪資支付 ShowSalaryPayment=顯示支付薪資 THM=平均時薪 TJM=平均日薪 CurrentSalary=目前薪資 THMDescription=如果使用此模組項目,則此值可用於計算用戶輸入的項目所花費的時間成本 TJMDescription=目前數值僅用於提供信息,不用於任何計算 -LastSalaries=最新的%s支付薪資 -AllSalaries=所有支付薪資 +LastSalaries=最新%s筆支付薪資 +AllSalaries=所有薪資 SalariesStatistics=薪資統計 -# Export SalariesAndPayments=薪資與支付 +ConfirmDeleteSalaryPayment=您要刪除此筆薪資支付嗎? diff --git a/htdocs/langs/zh_TW/sendings.lang b/htdocs/langs/zh_TW/sendings.lang index ef3e9fc3a8d..fcdd10a92c7 100644 --- a/htdocs/langs/zh_TW/sendings.lang +++ b/htdocs/langs/zh_TW/sendings.lang @@ -43,14 +43,14 @@ ConfirmValidateSending=您確定要使用參考%s驗證此出貨嗎? ConfirmCancelSending=您確定要取消此出貨嗎? DocumentModelMerou=Merou A5 範本 WarningNoQtyLeftToSend=警告,沒有等待出貨的產品。 -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=統計數據僅適用於經過驗證的出貨。日期是使用出貨驗證日期(並不是總是知道計劃的出貨日期) DateDeliveryPlanned=預計交貨日期 RefDeliveryReceipt=參考交貨收據 -StatusReceipt=交貨收據狀態 +StatusReceipt=送貨單狀態 DateReceived=收貨日期 ClassifyReception=收貨分類 -SendShippingByEMail=通過電子郵件發送出貨 -SendShippingRef=提交出貨%s +SendShippingByEMail=通過電子郵件寄送出貨 +SendShippingRef=提交出貨%s ActionsOnShipping=出貨事件 LinkToTrackYourPackage=連結追踪您的包裹 ShipmentCreationIsDoneFromOrder=目前,新建立出貨已經由訂單卡完成。 diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index 73c7afa1e00..5b887fdb56a 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=單位購買價格 StockTooLow=庫存過低 StockLowerThanLimit=庫存低於警報限制(%s) EnhancedValue=價值 -PMPValue=加權平均價格 -PMPValueShort=WAP EnhancedValueOfWarehouses=倉庫價值 UserWarehouseAutoCreate=新增用戶時自動新增用戶倉庫 AllowAddLimitStockByWarehouse=除了每個產品的最小和期望庫存值之外,還管理每個配對(產品倉庫)的最小和期望庫存值 RuleForWarehouse=倉庫規則 -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=為合作方設定倉庫 WarehouseAskWarehouseDuringPropal=為商業提案/建議書設定一個倉庫 WarehouseAskWarehouseDuringOrder=在銷售訂單上設定一個倉庫 UserDefaultWarehouse=在用戶上設定一個倉庫 @@ -91,15 +89,15 @@ NoPredefinedProductToDispatch=沒有此專案的預定義產品。因此無需 DispatchVerb=調度 StockLimitShort=警報限制 StockLimit=庫存限制的警報 -StockLimitDesc=(empty) means no warning.
    0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(空白)表示沒有警告。
    0 可用於庫存為0時立即觸發警告。 PhysicalStock=實體庫存 RealStock=實際庫存 RealStockDesc=實體/實際庫存是目前倉庫中的庫存。 RealStockWillAutomaticallyWhen=實際庫存將根據以下規則(在“庫存”模組中定義)進行修改: VirtualStock=虛擬庫存 VirtualStockAtDate=截至日期的虛擬庫存 -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) +VirtualStockAtDateDesc=虛擬庫存將於即將執行的待辦訂單所選擇的日期前完成 +VirtualStockDesc=虛擬庫存是在所有未完成/待辦操作(影響庫存)關閉(收到採購訂單、銷售訂單發貨、生產製造訂單等)後計算出的庫存 AtDate=目前 IdWarehouse=編號倉庫 DescWareHouse=說明倉庫 @@ -107,7 +105,7 @@ LieuWareHouse=本地化倉庫 WarehousesAndProducts=倉庫和產品 WarehousesAndProductsBatchDetail=倉庫和產品(有批次/序列的詳細信息) AverageUnitPricePMPShort=加權平均價格 -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=我們取得一單位產品進入我們庫存所需要的花費為平均輸入單價 SellPriceMin=銷售單價 EstimatedStockValueSellShort=銷售價值 EstimatedStockValueSell=銷售價值 @@ -125,9 +123,9 @@ DesiredStockDesc=該庫存量將是用於補貨功能中補充庫存的值。 StockToBuy=訂購 Replenishment=補貨 ReplenishmentOrders=補貨單 -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +VirtualDiffersFromPhysical=根據新增/減少庫存選項,真實庫存與虛擬庫存(真實庫存加開放訂單)也許不同 +UseRealStockByDefault=為補貨功能使用真實庫存而不是虛擬庫存 +ReplenishmentCalculation=訂購數量將是(需求數量 - 實際庫存)而不是(需求數量 - 虛擬庫存) UseVirtualStock=使用虛擬庫存 UsePhysicalStock=使用實體庫存 CurentSelectionMode=目前選擇模式 @@ -136,7 +134,7 @@ CurentlyUsingPhysicalStock=實體庫存 RuleForStockReplenishment=補貨規則 SelectProductWithNotNullQty=選擇至少一個數量不為空的產品和一個供應商 AlertOnly= 只警告 -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +IncludeProductWithUndefinedAlerts = 也包括未定義需求數量產品的負庫存,將其恢復為 0 WarehouseForStockDecrease=倉庫%s將用於減少庫存 WarehouseForStockIncrease=倉庫%s將用於庫存增加 ForThisWarehouse=用於這個倉庫 @@ -147,7 +145,7 @@ Replenishments=補貨 NbOfProductBeforePeriod=選則期間以前產品%s庫存的數量(<%s) NbOfProductAfterPeriod=選則期間之後產品%s庫存的數量(> %s) MassMovement=全部活動 -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=選擇一個來源倉庫,目標倉庫,產品與數量然後點選"%s"。當所有移動後完成後請點選"%s"。 RecordMovement=記錄轉移 ReceivingForSameOrder=此訂單的收據 StockMovementRecorded=庫存變動已記錄 @@ -156,7 +154,7 @@ StockMustBeEnoughForInvoice=庫存水平必須足以將產品/服務新增到發 StockMustBeEnoughForOrder=庫存水平必須足以將產品/服務新增到訂單中(將此筆加到訂單中時,無論自動庫存更改的規則如何,都要對當前實際庫存進行檢查) StockMustBeEnoughForShipment= 庫存水平必須足以將產品/服務新增到發貨中(將此筆加到發貨中時,無論自動庫存更改的規則如何,都要對當前實際庫存進行檢查) MovementLabel=產品移動標籤 -TypeMovement=Direction of movement +TypeMovement=移動方向 DateMovement=移動日期 InventoryCode=移動或庫存代碼 IsInPackage=包含在包裝中 @@ -169,8 +167,8 @@ MovementTransferStock=將產品%s庫存轉移到另一個倉庫 InventoryCodeShort=庫存/移動碼 NoPendingReceptionOnSupplierOrder=由於是未完成採購訂單,沒有待處理的接收處 ThisSerialAlreadyExistWithDifferentDate=此批號/序列號( %s )已存在,但入庫日期或出庫日期不同(找到%s,但您輸入%s )。 -OpenAll=打開所有活動 -OpenInternal=僅開啟內部活動 +OpenAnyMovement=開啟(所有移動) +OpenInternal=開啟(只有內部移動) UseDispatchStatus=產品在採購訂單接收處時,使用一個調度狀態(批准/拒絕) OptionMULTIPRICESIsOn=選項“分段價格”已啟用。這意味著一個產品有多個售價,因此無法計算出銷售價值 ProductStockWarehouseCreated=已正確產生庫存限制警報和需求最佳庫存 @@ -238,20 +236,28 @@ StockIsRequiredToChooseWhichLotToUse=庫存需要選擇要使用的批次 ForceTo=強制到 AlwaysShowFullArbo=在倉庫連結的彈出窗口上顯示完整的倉庫樹狀圖(警告:這可能會大大降低性能) StockAtDatePastDesc=您可以在此處檢視給定之過去日期的庫存(實際庫存) -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +StockAtDateFutureDesc=您可以在此檢視未來某一天的庫存(虛擬庫存) CurrentStock=目前庫存 InventoryRealQtyHelp=將值設定為0以重置數量
    保持欄位為空或刪除行以保持不變 -UpdateByScaning=Fill real qty by scaning +UpdateByScaning=使用掃描填入實際數量 UpdateByScaningProductBarcode=掃描更新(產品條碼) UpdateByScaningLot=掃描更新(批次|序列條碼) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. +DisableStockChangeOfSubProduct=在此移動期間停止此組合所有子產品的庫存變化。 ImportFromCSV=匯入CSV移動清單 ChooseFileToImport=上傳檔案,然後點擊%s圖示以選擇要匯入的檔案... SelectAStockMovementFileToImport=選擇要匯入的庫存移動檔案 -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
    Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
    CSV character separator must be "%s" +InfoTemplateImport=上傳的檔案需要採用這種格式(*為必填欄位):
    來源倉庫* |目標倉庫* |產品* |數量* |批號/序號
    CSV 字元分隔符號必須是“ %s ” LabelOfInventoryMovemement=%s的庫存 ReOpen=重新打開 -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity +ConfirmFinish=您確定要關閉此盤點嗎?這將使得產生所有庫存移動並且更新您庫存中的真實數量。 +ObjectNotFound=未發現%s +MakeMovementsAndClose=產生移動並關閉 +AutofillWithExpected=用預期數量填入實際數量 +ShowAllBatchByDefault=預設,在產品"庫存"分頁顯示批次詳細資料 +CollapseBatchDetailHelp=您可以在庫存模組設定中設定預設顯示批次詳細資料 +FieldCannotBeNegative=欄位“%s”不能為負值 +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/zh_TW/supplier_proposal.lang b/htdocs/langs/zh_TW/supplier_proposal.lang index 7bb87f2607e..b029b7f1ee2 100644 --- a/htdocs/langs/zh_TW/supplier_proposal.lang +++ b/htdocs/langs/zh_TW/supplier_proposal.lang @@ -1,27 +1,28 @@ # Dolibarr language file - Source file is en_US - supplier_proposal SupplierProposal=供應商商業提案/建議書 supplier_proposalDESC=管理對供應商的價格要求 -SupplierProposalNew=新價格要求 -CommRequest=價格要求 -CommRequests=請求報價 -SearchRequest=搜尋要求 -DraftRequests=草擬要求 +SupplierProposalNew=新供應商報價 +CommRequest=供應商報價 +CommRequests=供應商報價 +SearchRequest=搜尋供應商報價 +DraftRequests=供應商報價草案 SupplierProposalsDraft=供應商提案/建議書草稿 LastModifiedRequests=最新%s的價格要求 -RequestsOpened=公開價格要求 +RequestsOpened=打開的報價 SupplierProposalArea=供應商提案/建議書區 SupplierProposalShort=供應商提案/建議書 SupplierProposals=供應商提案/建議書 SupplierProposalsShort=供應商提案/建議書 -NewAskPrice=新價格要求 -ShowSupplierProposal=顯示價格要求 -AddSupplierProposal=新增價格要求 +AskPrice=供應商報價 +NewAskPrice=新供應商報價 +ShowSupplierProposal=顯示供應商報價 +AddSupplierProposal=建立供應商價格報價 SupplierProposalRefFourn=供應商參考 SupplierProposalDate=交貨日期 SupplierProposalRefFournNotice=在關閉成為“已接受”之前,請確認供應商的參考。 -ConfirmValidateAsk=您確定要以名稱%s驗證此價格要求嗎? -DeleteAsk=刪除要求 -ValidateAsk=驗證要求 +ConfirmValidateAsk=您確定要以名稱%s驗證此供應商報價嗎? +DeleteAsk=刪除供應商報價 +ValidateAsk=驗證供應商報價 SupplierProposalStatusDraft=草案(等待驗證) SupplierProposalStatusValidated=已驗證(要求已打開) SupplierProposalStatusClosed=已關閉 @@ -32,23 +33,26 @@ SupplierProposalStatusValidatedShort=已驗證 SupplierProposalStatusClosedShort=已關閉 SupplierProposalStatusSignedShort=已接受 SupplierProposalStatusNotSignedShort=已拒絕 -CopyAskFrom=複製現有要求以建立價格要求 -CreateEmptyAsk=新增空白的要求 -ConfirmCloneAsk=您確定要複製價格請求%s嗎? -ConfirmReOpenAsk=您確定要重新打開價格請求%s嗎? -SendAskByMail=使用郵件發送價格要求 -SendAskRef=傳送價格要求%s -SupplierProposalCard=要求卡 -ConfirmDeleteAsk=您確定要刪除此價格要求%s嗎? -ActionsOnSupplierProposal=價格要求紀錄 +CopyAskFrom=複製現有報價以建立供應商報價 +CreateEmptyAsk=建立空白的供應商報價 +ConfirmCloneAsk=您確定要複製供應商報價%s嗎? +ConfirmReOpenAsk=您確定要重新打開供應商報價%s嗎? +SendAskByMail=使用郵件發送供應商報價 +SendAskRef=傳送供應商報價%s +SupplierProposalCard=供應商報價需求卡 +ConfirmDeleteAsk=您確定要刪除供應商報價%s嗎? +ActionsOnSupplierProposal=供應商報價事件 DocModelAuroreDescription=完整的需求模組(logo...) -CommercialAsk=價格要求 -DefaultModelSupplierProposalCreate=預設模型新增 -DefaultModelSupplierProposalToBill=關閉價格要求時的預設範本(已接受) -DefaultModelSupplierProposalClosed=關閉價格要求時的預設範本(已拒絕) +CommercialAsk=供應商報價 +DefaultModelSupplierProposalCreate=預設模型建立 +DefaultModelSupplierProposalToBill=關閉供應商報價時的預設範本(已接受) +DefaultModelSupplierProposalClosed=關閉供應商報價時的預設範本(已拒絕) ListOfSupplierProposals=要求供應商提案/建議書清單 ListSupplierProposalsAssociatedProject=專案中供應商提案/建議書清單 SupplierProposalsToClose=將供應商提案/建議書結案 SupplierProposalsToProcess=將處理供應商提案/建議書 -LastSupplierProposals=最新%s價格要求 -AllPriceRequests=所有要求 +LastSupplierProposals=最新%s的供應商報價 +AllPriceRequests=所有供應商報價 +TypeContact_supplier_proposal_external_SHIPPING=供應商出貨聯絡人 +TypeContact_supplier_proposal_external_BILLING=供應商發票聯絡人 +TypeContact_supplier_proposal_external_SERVICE=提案/建議書聯絡人 diff --git a/htdocs/langs/zh_TW/ticket.lang b/htdocs/langs/zh_TW/ticket.lang index b1ce38cce62..c66af0fb06d 100644 --- a/htdocs/langs/zh_TW/ticket.lang +++ b/htdocs/langs/zh_TW/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=服務單-決議 TicketTypeShortCOM=商業問題 TicketTypeShortHELP=請求有用的幫助 -TicketTypeShortISSUE=錯誤或問題 +TicketTypeShortISSUE=問題或錯誤 +TicketTypeShortPROBLEM=問題 TicketTypeShortREQUEST=變更或增強要求 TicketTypeShortPROJET=專案 TicketTypeShortOTHER=其他 @@ -51,27 +52,28 @@ MenuListNonClosed=開放服務單 TypeContact_ticket_internal_CONTRIBUTOR=合作者 TypeContact_ticket_internal_SUPPORTTEC=已分配用戶 -TypeContact_ticket_external_SUPPORTCLI=客戶聯絡/事件跟踪 +TypeContact_ticket_external_SUPPORTCLI=客戶聯絡人/事件追踪 TypeContact_ticket_external_CONTRIBUTOR=外部合作者 -OriginEmail=電子郵件來源 +OriginEmail=報告者Email Notify_TICKET_SENTBYMAIL=以電子郵件發送服務單訊息 # Status -Read=已讀 +Read=已讀取 Assigned=已分配 InProgress=進行中 -NeedMoreInformation=等待訊息 +NeedMoreInformation=等待作者回覆 +NeedMoreInformationShort=等待回覆 Answered=已回覆 Waiting=等待中 -Closed=已關閉 +SolvedClosed=Solved Deleted=已刪除 # Dict Type=類型 Severity=嚴重程度 -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +TicketGroupIsPublic=為公共群組 +TicketGroupIsPublicDesc=如果服務單群組為公共的,則在從公共界面建立服務單時可見到在表單中 # Email templates MailToSendTicketMessage=從服務單訊息發送電子郵件 @@ -94,7 +96,7 @@ TicketNewEmailBodyLabel=建立服務單後發送的訊息 TicketNewEmailBodyHelp=此處指定的文字將插入到從公共界面建立新服務單的電子郵件中。將自動加入有關故障服務單諮詢的資訊。 TicketParamPublicInterface=公共界面設定 TicketsEmailMustExist=需要現有的電子郵件地址來建立服務單 -TicketsEmailMustExistHelp=在公共界面中,電子郵件地址應該已經填入到數據庫中以建立服務單。 +TicketsEmailMustExistHelp=在公共界面中,電子郵件地址應該已經填入到資料庫中以建立服務單。 PublicInterface=公共界面 TicketUrlPublicInterfaceLabelAdmin=公共界面的備用網址 TicketUrlPublicInterfaceHelpAdmin=可以為網站伺服器定義別名,使得公共界面可以與另一個網址一起使用(伺服器必須充當此新網址的代理) @@ -110,14 +112,14 @@ TicketCkEditorEmailNotActivated=HTML編輯器未啟動。請將FCKEDITOR_ENABLE_ TicketsDisableEmail=不要為服務單建立或訊息紀錄發送電子郵件 TicketsDisableEmailHelp=預設情況下,在建立新服務單或訊息時會發送電子郵件。啟用此選項可關閉*所有*電子郵件通知 TicketsLogEnableEmail=通過電子郵件啟用日誌 -TicketsLogEnableEmailHelp=每次更改時,都會向與此服務單有關的**每個聯絡人**發送電子郵件。 +TicketsLogEnableEmailHelp=每次更改時,都會向與此服務單有關的**每個聯絡人**寄送電子郵件。 TicketParams=參數 TicketsShowModuleLogo=在公共界面中顯示模組的商標 TicketsShowModuleLogoHelp=啟用此選項可在公共界面的頁面中隱藏商標模組 TicketsShowCompanyLogo=在公共界面上顯示公司商標 TicketsShowCompanyLogoHelp=啟用此選項可在公共界面的頁面中隱藏主要公司的商標 -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddress=同時向主要電子郵件地址寄送通知 +TicketsEmailAlsoSendToMainAddressHelp=啟用此選項會同時寄送一封Email至設定中預設的電子信箱"%s"(查看分頁"%s") TicketsLimitViewAssignedOnly=限制顯示分配給目前用戶的服務單。(對外部用戶無效,始終被限制於他們所依賴的合作方) TicketsLimitViewAssignedOnlyHelp=僅顯示分配給目前用戶的服務單。不適用於具有服務單管理權限的用戶。 TicketsActivatePublicInterface=啟用公共界面 @@ -128,10 +130,10 @@ TicketNumberingModules=服務單編號模組 TicketsModelModule=服務單的文件範本 TicketNotifyTiersAtCreation=建立時通知合作方 TicketsDisableCustomerEmail=從公共界面建立服務單時,始終禁用電子郵件 -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket +TicketsPublicNotificationNewMessage=當有新的訊息/意見新增到服務單時寄送Email TicketsPublicNotificationNewMessageHelp=當公共界面有新增訊息時寄送電子郵件(給已分配用戶或寄送通知電子郵件給(更新)與/或通知電子郵件給) TicketPublicNotificationNewMessageDefaultEmail=通知電子郵件寄送到(更新) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=如果服務單未分配給用戶或是用戶沒有已知的電子郵件則為每一個新訊息提醒寄送一封電子郵件至這個信箱 # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=建立者 NewTicket=新服務單 SubjectAnswerToTicket=服務單回應 TicketTypeRequest=需求類型 -TicketCategory=群組 +TicketCategory=服務單分類 SeeTicket=查閱服務單 TicketMarkedAsRead=服務單已標記為已讀 TicketReadOn=繼續讀取 @@ -184,9 +186,11 @@ TicketSeverity=嚴重程度 ShowTicket=查閱服務單 RelatedTickets=相關服務單 TicketAddIntervention=建立干預 -CloseTicket=關閉服務單 -CloseATicket=關閉服務單 +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=確認關閉服務單 +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=請確認要刪除服務單 TicketDeletedSuccess=服務單刪除成功 TicketMarkedAsClosed=服務單標記為已關閉 @@ -211,6 +215,7 @@ TicketMessageHelp=此段文字將會被儲存在服務單卡片的訊息清單 TicketMessageSubstitutionReplacedByGenericValues=替換變量將被替換為一般值。 TimeElapsedSince=已經過時間 TicketTimeToRead=讀取前經過的時間 +TicketTimeElapsedBeforeSince=之前/之後經過的時間 TicketContacts=聯絡人服務單 TicketDocumentsLinked=已連結到服務單的文件 ConfirmReOpenTicket=您確定要重新開啟此服務單嗎? @@ -304,13 +309,13 @@ BoxLastModifiedTicket=最新修改的服務單 BoxLastModifiedTicketDescription=最新%s張修改的服務單 BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=沒有最近修改的服務單 -BoxTicketType=Number of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxTicketType=依類型分佈的已開放服務單 +BoxTicketSeverity=按嚴重性分類的已開放服務單 +BoxNoTicketSeverity=沒有已開放服務單 +BoxTicketLastXDays=最近 %s 天中依日期的新服務單數量 +BoxTicketLastXDayswidget = 最近X天中依日期的新服務單數量 +BoxNoTicketLastXDays=最近%s天沒有新服務單 +BoxNumberOfTicketByDay=每日新服務單數量 +BoxNewTicketVSClose=今日的新服務單數量與今日已關閉的服務單數量 +TicketCreatedToday=今天建立的服務單 +TicketClosedToday=今日已關閉的服務單 diff --git a/htdocs/langs/zh_TW/trips.lang b/htdocs/langs/zh_TW/trips.lang index af8c2c1e923..15d3fdae32c 100644 --- a/htdocs/langs/zh_TW/trips.lang +++ b/htdocs/langs/zh_TW/trips.lang @@ -33,7 +33,7 @@ ExpenseReportCanceledMessage=費用報表%s已取消。
    -用戶:%s
    - ExpenseReportPaid=費用報表已支付 ExpenseReportPaidMessage=費用報表%s已支付。
    -用戶:%s
    -付款人:%s
    點擊此處顯示費用報表:%s TripId=費用報表編號 -AnyOtherInThisListCanValidate=通知進行驗證的人。 +AnyOtherInThisListCanValidate=被告知驗證請求的人。 TripSociete=公司資訊 TripNDF=費用報表資訊 PDFStandardExpenseReports=標準範本,用於產生費用報表的PDF文件 @@ -63,14 +63,14 @@ EX_DOC=文件資料 EX_CUR=客戶禮品 EX_OTR=其他禮品 EX_POS=郵資 -EX_CAM=CV maintenance and repair +EX_CAM=履歷維護與修復 EX_EMM=員工餐點 EX_GUM=客人餐點 EX_BRE=早餐 -EX_FUE_VP=Fuel PV -EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair +EX_FUE_VP=燃料PV +EX_TOL_VP=收費PV +EX_PAR_VP=停車PV +EX_CAM_VP=PV維護與修復 DefaultCategoryCar=預設運輸模式 DefaultRangeNumber=預設範圍號碼 UploadANewFileNow=立即上傳新文件 @@ -90,7 +90,6 @@ DATE_REFUS=拒絕日期 DATE_SAVE=驗證日期 DATE_CANCEL=刪除日期 DATE_PAIEMENT=付款日期 -BROUILLONNER=重新打開 ExpenseReportRef=費用報表參考 ValidateAndSubmit=驗證並提交批准 ValidatedWaitingApproval=已驗證(等待批准) @@ -110,7 +109,7 @@ ExpenseReportPayment=費用報表支付 ExpenseReportsToApprove=需要批准的費用報表 ExpenseReportsToPay=需要支付的費用報表 ConfirmCloneExpenseReport=您確定要複製此費用報表嗎? -ExpenseReportsIk=費用報表里程索引 +ExpenseReportsIk=里程費用的設定 ExpenseReportsRules=費用報表規則 ExpenseReportIkDesc=您可以修改依類別的里程費用計算並且事先定義範圍。 d是以公里為單位的距離 ExpenseReportRulesDesc=您可以建立或更新任何計算規則。用戶建立新費用報表時將使用此部分 @@ -145,7 +144,7 @@ nolimitbyEX_DAY=按天(無限制) nolimitbyEX_MON=按月(無限制) nolimitbyEX_YEA=按年(無限制) nolimitbyEX_EXP=按行(無限制) -CarCategory=汽車類別 +CarCategory=車輛類別 ExpenseRangeOffset=抵銷金額:%s RangeIk=里程範圍 AttachTheNewLineToTheDocument=將行附加到已上傳的檔案 diff --git a/htdocs/langs/zh_TW/users.lang b/htdocs/langs/zh_TW/users.lang index 4a17d9da51b..9e1e3162a55 100644 --- a/htdocs/langs/zh_TW/users.lang +++ b/htdocs/langs/zh_TW/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=密碼更改為:%s SubjectNewPassword=您新的密碼是 %s GroupRights=群組權限 UserRights=用戶權限 -Credentials=Credentials +Credentials=證書 UserGUISetup=用戶顯示設定 DisableUser=停用用戶 DisableAUser=停用一位用戶 @@ -73,7 +73,7 @@ ExportDataset_user_1=用戶及其屬性 DomainUser=網域用戶%s Reactivate=重新啟用 CreateInternalUserDesc=此表單使您可以在公司/組織中建立內部用戶。要建立外部用戶(客戶,供應商等),請使用該第三方聯絡卡中的“建立Dolibarr用戶”按鈕。 -InternalExternalDesc=An internal user is a user that is part of your company/organization, or is a partner user outside of your organization that may need to see more data than data related to his company (the permission system will define what he can or can't see or do).
    An external user is a customer, vendor or other that must view ONLY data related to himself (Creating an external user for a third-party can be done from the contact record of the third-party).

    In both cases, you must grant permissions on the features that the user need. +InternalExternalDesc=連絡人 內部 用戶是屬於您公司/組織的用戶,或者是您組織外部的合作夥伴用戶,可能需要查看比其公司相關的資料更多的資料(權限系統將定義他可以或不可以看或做什麼)。
    一個 外部 用戶是客戶、供應商或其他僅可以查看與自己相關的資料的用戶(可以從合作方的通訊錄中為合作方建立外部用戶)。

    在這兩種情況下,您都必須授予用戶所需功能的權限。 PermissionInheritedFromAGroup=因為從權限授予一個用戶的一組繼承。 Inherited=繼承 UserWillBe=建立的用戶將是 @@ -106,7 +106,7 @@ UseTypeFieldToChange=使用欄位類型進行更改 OpenIDURL=OpenID URL LoginUsingOpenID=使用OpenID登入 WeeklyHours=工作小時數(每週) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=預計每週工作時數 ColorUser=用戶顏色 DisabledInMonoUserMode=在維護模式下已關閉 UserAccountancyCode=用戶帳號 @@ -116,7 +116,7 @@ DateOfEmployment=到職日期 DateEmployment=雇傭期間 DateEmploymentstart=入職日期 DateEmploymentEnd=離職日期 -RangeOfLoginValidity=Access validity date range +RangeOfLoginValidity=訪問有效日期範圍 CantDisableYourself=您不能關閉自己的用戶記錄 ForceUserExpenseValidator=強制使用費用報告表驗證 ForceUserHolidayValidator=強制使用休假請求驗證 diff --git a/htdocs/langs/zh_TW/website.lang b/htdocs/langs/zh_TW/website.lang index cb7499b7303..c08a8a6b798 100644 --- a/htdocs/langs/zh_TW/website.lang +++ b/htdocs/langs/zh_TW/website.lang @@ -46,7 +46,7 @@ SetHereVirtualHost=使用Apache/NGinx/...
    建立您的網頁伺服器 ExampleToUseInApacheVirtualHostConfig=在Apache虛擬主機設定中使用的範例: YouCanAlsoTestWithPHPS=在開發環境中使用嵌入式PHP伺服器
    , 您也許想要使用
    php -S 0.0.0.0:8080 -t %s 來測試此嵌入式PHP伺服器 (需要PHP 5.5) 的網站 YouCanAlsoDeployToAnotherWHP=在其他Dolibarr網站託管供應商執行您的網站
    如果您在網路上沒有Apache或NGinx之類的Web伺服器,則可以將網站匯出並匯入到另一個由Dolibarr網站託管供應商提供且有完整整合網站模組。您可以在 https://saas.dolibarr.org 上找到一些Dolibarr網站託管服務供應商的清單。 -CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
    %s +CheckVirtualHostPerms=同時請確認虛擬主機使用者(例如www-data)擁有檔案
    %s%s權限 ReadPerm=閱讀 WritePerm=寫入 TestDeployOnWeb=上線 測試/部署 @@ -137,11 +137,11 @@ PagesRegenerated=已重新產生%s頁面/容器 RegenerateWebsiteContent=重新產生網站快取檔案 AllowedInFrames=允許在框架中 DefineListOfAltLanguagesInWebsiteProperties=在網站屬性中定義所有可用語言的清單。 -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated -ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +GenerateSitemaps=產生網站地圖檔案 +ConfirmGenerateSitemaps=如果您確認,您將刪除現有的網站地圖檔案... +ConfirmSitemapsCreation=確認產生網站地圖 +SitemapGenerated=網站地圖檔案%s已產生 +ImportFavicon=圖示 +ErrorFaviconType=圖示必須為png格式 +ErrorFaviconSize=圖示的尺寸必須為16x16, 32x32 或 64x64 +FaviconTooltip=上傳的影像檔案必須為 png (16x16、32x32 或 64x64) diff --git a/htdocs/langs/zh_TW/withdrawals.lang b/htdocs/langs/zh_TW/withdrawals.lang index 10539908125..d6afa375bf5 100644 --- a/htdocs/langs/zh_TW/withdrawals.lang +++ b/htdocs/langs/zh_TW/withdrawals.lang @@ -42,9 +42,10 @@ LastWithdrawalReceipt=最新%s張直接轉帳付款收據 MakeWithdrawRequest=提出直接轉帳付款請求 MakeBankTransferOrder=提出貸記轉帳請求 WithdrawRequestsDone=已記錄%s直接轉帳付款請求 -BankTransferRequestsDone=%s credit transfer requests recorded +BankTransferRequestsDone=記錄了%s的信用轉移請求 ThirdPartyBankCode=合作方銀行代碼 NoInvoiceCouldBeWithdrawed=沒有直接轉帳成功的發票。檢查發票上是否有有效IBAN的公司,以及IBAN是否具有模式為 %s 的UMR(唯一授權參考)。 +WithdrawalCantBeCreditedTwice=此提款收據已標記為已記入;此無法執行兩次,因為這可能會產生重複的付款和銀行分錄。 ClassCredited=分類為已記入 ClassCreditedConfirm=您確定要將此提款收據分類為銀行帳戶中的已記入嗎? TransData=傳送日期 @@ -98,8 +99,8 @@ ShowWithdraw=顯示直接轉帳付款訂單 IfInvoiceNeedOnWithdrawPaymentWontBeClosed=但是,如果發票中至少有一個直接轉帳付款訂單尚未處理,則不會將其設定為已付款以允許事先提款管理。 DoStandingOrdersBeforePayments=This tab allows you to request a direct debit payment order. Once done, go into menu Bank->Payment by direct debit to generate and manage the direct debit order. When direct debit order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. -WithdrawalFile=Debit order file -CreditTransferFile=Credit transfer file +WithdrawalFile=直接轉帳文件 +CreditTransferFile=信用轉帳文件 SetToStatusSent=設定狀態為“檔案已傳送” ThisWillAlsoAddPaymentOnInvoice=這還將記錄發票的付款,如果要支付的餘額為空白,則將其分類為“已付款” StatisticsByLineStatus=依照行狀態統計 @@ -109,7 +110,7 @@ RUMLong=唯一授權參考 RUMWillBeGenerated=如果為空,則在保存銀行帳戶資訊後將產生UMR(唯一授權參考)。 WithdrawMode=直接轉帳付款模式 (FRST or RECUR) WithdrawRequestAmount=直接轉帳付款請求金額: -BankTransferAmount=Amount of Credit Transfer request: +BankTransferAmount=轉帳金額需求: WithdrawRequestErrorNilAmount=無法為空金額建立直接轉帳付款請求。 SepaMandate=SEPA直接轉帳付款授權 SepaMandateShort=SEPA授權 @@ -125,19 +126,18 @@ SEPAFrstOrRecur=付款方式 ModeRECUR=定期付款 ModeFRST=一次性付款 PleaseCheckOne=請只確認一個 -CreditTransferOrderCreated=Credit transfer order %s created +CreditTransferOrderCreated=已建立轉帳訂單%s DirectDebitOrderCreated=已建立直接轉帳付款訂單%s AmountRequested=要求的金額 SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=執行日期 CreateForSepa=建立直接轉帳付款檔案 -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML標籤- 每筆交易分配的唯一ID USTRD="Unstructured" SEPA XML標籤 ADDDAYS=將天數加到執行日期 -NoDefaultIBANFound=No default IBAN found for this third party +NoDefaultIBANFound=沒找到此合作方的預設IBAN ### Notifications InfoCreditSubject=銀行支付直接轉帳付款訂單%s InfoCreditMessage=直接轉帳付款訂單%s已由銀行
    支付。付款資料:%s @@ -147,6 +147,6 @@ InfoTransData=金額:%s
    方式:%s
    日期:%s InfoRejectSubject=直接轉帳付款訂單已被拒絕 InfoRejectMessage=您好,

    銀行拒絕了與公司%s相關的發票%s的直接轉帳付款訂單 。%s的金額已被銀行拒絕

    --
    %s ModeWarning=未設定實際模式選項,我們將在此模擬後停止 -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorCompanyHasDuplicateDefaultBAN=ID為%s的公司擁有多個預設銀行帳戶.無法得知要使用哪一個. +ErrorICSmissing=銀行帳戶%s遺失ICS +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=直接借記訂單總金額與行的總和不同 diff --git a/htdocs/langs/zh_TW/workflow.lang b/htdocs/langs/zh_TW/workflow.lang index 0c32f533241..c62f2262432 100644 --- a/htdocs/langs/zh_TW/workflow.lang +++ b/htdocs/langs/zh_TW/workflow.lang @@ -6,13 +6,14 @@ ThereIsNoWorkflowToModify=已啟動的模組無法可修改的工作流程。 descWORKFLOW_PROPAL_AUTOCREATE_ORDER=簽署商業提案/建議書後自動創建銷售訂單(新訂單的金額將與提案/建議書相同) descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=在簽署商業提案/建議書後自動創建客戶發票(新發票將與提案/建議書相同的金額) descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=當合約生效,自動建立客戶發票 -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=關閉銷售訂單後自動創建客戶發票(新發票的金額將與訂單金額相同) +descWORKFLOW_ORDER_AUTOCREATE_INVOICE=關閉銷售訂單後自動建立客戶發票(新發票的金額將與訂單金額相同) # Autoclassify customer proposal or order -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=將銷售訂單設置為開票時(如果訂單金額與已簽名的連接提案之總金額相同),將連接之提案分類為已開票 +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=將銷售訂單設定為開票時(如果訂單金額與已簽名的連接提案之總金額相同),將連接之提案分類為已開票 descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=當已開立客戶發票時(如果發票金額與已簽名的連接之提案的總金額相同),將連接之提案分類為已開票 descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=當已開立客戶發票(如果發票金額與連接訂單的總金額相同),將連接的銷售訂單分類為開票 descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=當客戶發票設置為已付款時(如果發票金額與連接訂單的總金額相同),將連接的銷售訂單分類為開票 descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=當已確認裝運後(並且如果所有裝運的裝運數量與更新訂單中的數量相同),將鏈接的銷售訂單分類為已裝運 +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=當供應商發票已確認時(如果發票金額與連接提案的總金額相同),將連接供應商提案分類為開票 descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=當供應商發票已確認時(如果發票金額與連接訂單的總金額相同),將連接的採購訂單分類為開票 @@ -22,4 +23,4 @@ descWORKFLOW_TICKET_CLOSE_INTERVENTION=關閉服務單後,關閉與服務單 AutomaticCreation=自動建立 AutomaticClassification=自動分類 # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=驗證客戶發票後,將已連結的裝運來源分類為已關閉 diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index c3c08b6cf2f..a15f6c926a6 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -380,11 +380,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("Add"); print ''; } @@ -433,7 +429,7 @@ if ($id > 0) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($user->rights->loan->write) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -706,11 +702,7 @@ if ($id > 0) { print dol_get_fiche_end(); if ($action == 'edit') { - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } @@ -725,22 +717,22 @@ if ($id > 0) { // Edit if (($object->paid == 0 || $object->paid == 2) && $user->rights->loan->write) { - print ''; + print ''; } // Emit payment if (($object->paid == 0 || $object->paid == 2) && ((price2num($object->capital) > 0 && round($staytopay) < 0) || (price2num($object->capital) > 0 && round($staytopay) > 0)) && $user->rights->loan->write) { - print ''; + print ''; } // Classify 'paid' if (($object->paid == 0 || $object->paid == 2) && round($staytopay) <= 0 && $user->rights->loan->write) { - print ''; + print ''; } // Delete if (($object->paid == 0 || $object->paid == 2) && $user->rights->loan->delete) { - print ''; + print ''; } print "
    "; diff --git a/htdocs/loan/class/loan.class.php b/htdocs/loan/class/loan.class.php index b5c0ffc0add..ec9ce00b7e9 100644 --- a/htdocs/loan/class/loan.class.php +++ b/htdocs/loan/class/loan.class.php @@ -307,7 +307,7 @@ class Loan extends CommonObject // Delete payments if (!$error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."payment_loan where fk_loan=".$this->id; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."payment_loan where fk_loan=".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); $resql = $this->db->query($sql); if (!$resql) { @@ -404,7 +404,7 @@ class Loan extends CommonObject { $sql = "UPDATE ".MAIN_DB_PREFIX."loan SET"; $sql .= " paid = ".$this::STATUS_PAID; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $return = $this->db->query($sql); if ($return) { return 1; @@ -440,7 +440,7 @@ class Loan extends CommonObject { $sql = "UPDATE ".MAIN_DB_PREFIX."loan SET"; $sql .= " paid = ".$this::STATUS_STARTED; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $return = $this->db->query($sql); if ($return) { return 1; @@ -475,7 +475,7 @@ class Loan extends CommonObject { $sql = "UPDATE ".MAIN_DB_PREFIX."loan SET"; $sql .= " paid = ".$this::STATUS_UNPAID; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); $return = $this->db->query($sql); if ($return) { return 1; @@ -517,17 +517,17 @@ class Loan extends CommonObject unset($this->labelStatus); // Force to reset the array of status label, because label can change depending on parameters if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; - $this->labelStatus[self::STATUS_UNPAID] = $langs->trans('Unpaid'); - $this->labelStatus[self::STATUS_PAID] = $langs->trans('Paid'); - $this->labelStatus[self::STATUS_STARTED] = $langs->trans("BillStatusStarted"); + $this->labelStatus[self::STATUS_UNPAID] = $langs->transnoentitiesnoconv('Unpaid'); + $this->labelStatus[self::STATUS_PAID] = $langs->transnoentitiesnoconv('Paid'); + $this->labelStatus[self::STATUS_STARTED] = $langs->transnoentitiesnoconv("BillStatusStarted"); if ($status == 0 && $alreadypaid > 0) { - $this->labelStatus[self::STATUS_UNPAID] = $langs->trans("BillStatusStarted"); + $this->labelStatus[self::STATUS_UNPAID] = $langs->transnoentitiesnoconv("BillStatusStarted"); } - $this->labelStatusShort[self::STATUS_UNPAID] = $langs->trans('Unpaid'); - $this->labelStatusShort[self::STATUS_PAID] = $langs->trans('Enabled'); - $this->labelStatusShort[self::STATUS_STARTED] = $langs->trans("BillStatusStarted"); + $this->labelStatusShort[self::STATUS_UNPAID] = $langs->transnoentitiesnoconv('Unpaid'); + $this->labelStatusShort[self::STATUS_PAID] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_STARTED] = $langs->transnoentitiesnoconv("BillStatusStarted"); if ($status == 0 && $alreadypaid > 0) { - $this->labelStatusShort[self::STATUS_UNPAID] = $langs->trans("BillStatusStarted"); + $this->labelStatusShort[self::STATUS_UNPAID] = $langs->transnoentitiesnoconv("BillStatusStarted"); } } @@ -651,7 +651,7 @@ class Loan extends CommonObject $sql = 'SELECT sum(amount_capital) as amount'; $sql .= ' FROM '.MAIN_DB_PREFIX.$table; - $sql .= ' WHERE '.$field.' = '.$this->id; + $sql .= " WHERE ".$field." = ".((int) $this->id); dol_syslog(get_class($this)."::getSumPayment", LOG_DEBUG); $resql = $this->db->query($sql); diff --git a/htdocs/loan/class/loanschedule.class.php b/htdocs/loan/class/loanschedule.class.php index 126002eb47a..9beff9dd22e 100644 --- a/htdocs/loan/class/loanschedule.class.php +++ b/htdocs/loan/class/loanschedule.class.php @@ -498,7 +498,7 @@ class LoanSchedule extends CommonObject $toinsert = array(); $sql = "SELECT l.rowid"; - $sql .= " FROM ".MAIN_DB_PREFIX."loan as l "; + $sql .= " FROM ".MAIN_DB_PREFIX."loan as l"; $sql .= " WHERE l.paid = 0"; $resql = $this->db->query($sql); @@ -511,7 +511,8 @@ class LoanSchedule extends CommonObject $this->db->begin(); $sql = "INSERT INTO ".MAIN_DB_PREFIX."payment_loan "; $sql .= "(fk_loan,datec,tms,datep,amount_capital,amount_insurance,amount_interest,fk_typepayment,num_payment,note_private,note_public,fk_bank,fk_user_creat,fk_user_modif) "; - $sql .= "SELECT fk_loan,datec,tms,datep,amount_capital,amount_insurance,amount_interest,fk_typepayment,num_payment,note_private,note_public,fk_bank,fk_user_creat,fk_user_modif FROM ".MAIN_DB_PREFIX."loan_schedule WHERE rowid =".$echid; + $sql .= "SELECT fk_loan,datec,tms,datep,amount_capital,amount_insurance,amount_interest,fk_typepayment,num_payment,note_private,note_public,fk_bank,fk_user_creat,fk_user_modif"; + $sql .= " FROM ".MAIN_DB_PREFIX."loan_schedule WHERE rowid =".((int) $echid); $res = $this->db->query($sql); if ($res) { $this->db->commit(); diff --git a/htdocs/loan/class/paymentloan.class.php b/htdocs/loan/class/paymentloan.class.php index fd4dbf42081..841ffa7b373 100644 --- a/htdocs/loan/class/paymentloan.class.php +++ b/htdocs/loan/class/paymentloan.class.php @@ -332,7 +332,6 @@ class PaymentLoan extends CommonObject // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."payment_loan SET"; - $sql .= " fk_loan=".(isset($this->fk_loan) ? $this->fk_loan : "null").","; $sql .= " datec=".(dol_strlen($this->datec) != 0 ? "'".$this->db->idate($this->datec)."'" : 'null').","; $sql .= " tms=".(dol_strlen($this->tms) != 0 ? "'".$this->db->idate($this->tms)."'" : 'null').","; @@ -347,7 +346,6 @@ class PaymentLoan extends CommonObject $sql .= " fk_bank=".(isset($this->fk_bank) ? $this->fk_bank : "null").","; $sql .= " fk_user_creat=".(isset($this->fk_user_creat) ? $this->fk_user_creat : "null").","; $sql .= " fk_user_modif=".(isset($this->fk_user_modif) ? $this->fk_user_modif : "null").""; - $sql .= " WHERE rowid=".((int) $this->id); $this->db->begin(); @@ -389,7 +387,7 @@ class PaymentLoan extends CommonObject if (!$error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_url"; - $sql .= " WHERE type='payment_loan' AND url_id=".$this->id; + $sql .= " WHERE type='payment_loan' AND url_id=".((int) $this->id); dol_syslog(get_class($this)."::delete", LOG_DEBUG); $resql = $this->db->query($sql); diff --git a/htdocs/loan/document.php b/htdocs/loan/document.php index 97c0ea56b15..2d6bfef3079 100644 --- a/htdocs/loan/document.php +++ b/htdocs/loan/document.php @@ -106,7 +106,7 @@ if ($object->id) { $morehtmlref .= '
    '.$langs->trans('Project').' : '; if ($user->rights->loan->write) { //if ($action != 'classify') - // $morehtmlref .= '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref .= '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; if ($action == 'classify') { // $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); $morehtmlref .= '
    '; diff --git a/htdocs/loan/info.php b/htdocs/loan/info.php index 7ecc41fe4d6..54fd3cd6f97 100644 --- a/htdocs/loan/info.php +++ b/htdocs/loan/info.php @@ -72,7 +72,7 @@ if (!empty($conf->projet->enabled)) { $morehtmlref .= '
    '.$langs->trans('Project').' : '; if ($user->rights->loan->write) { //if ($action != 'classify') - // $morehtmlref .= '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref .= '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; if ($action == 'classify') { // $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); $morehtmlref .= ''; diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php index f7930b64c9a..14ffcadc27d 100644 --- a/htdocs/loan/note.php +++ b/htdocs/loan/note.php @@ -41,6 +41,8 @@ $langs->loadLangs(array("loan")); // Security check $id = GETPOST('id', 'int'); + +$hookmanager->initHooks(array('loannote')); $result = restrictedArea($user, 'loan', $id, '&loan'); $object = new Loan($db); @@ -55,7 +57,14 @@ $permissionnote = $user->rights->loan->write; // Used by the include of actions_ * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -88,7 +97,7 @@ if ($id > 0) { $morehtmlref .= '
    '.$langs->trans('Project').' : '; if ($user->rights->loan->write) { //if ($action != 'classify') - // $morehtmlref .= '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + // $morehtmlref .= '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; if ($action == 'classify') { // $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); $morehtmlref .= ''; diff --git a/htdocs/loan/payment/card.php b/htdocs/loan/payment/card.php index 675401e34f9..198025215b7 100644 --- a/htdocs/loan/payment/card.php +++ b/htdocs/loan/payment/card.php @@ -156,8 +156,8 @@ $disable_delete = 0; $sql = 'SELECT l.rowid as id, l.label, l.paid, l.capital as capital, pl.amount_capital, pl.amount_insurance, pl.amount_interest'; $sql .= ' FROM '.MAIN_DB_PREFIX.'payment_loan as pl,'.MAIN_DB_PREFIX.'loan as l'; $sql .= ' WHERE pl.fk_loan = l.rowid'; -$sql .= ' AND l.entity = '.$conf->entity; -$sql .= ' AND pl.rowid = '.$payment->id; +$sql .= ' AND l.entity = '.((int) $conf->entity); +$sql .= ' AND pl.rowid = '.((int) $payment->id); dol_syslog("loan/payment/card.php", LOG_DEBUG); $resql = $db->query($sql); @@ -222,7 +222,7 @@ print '
    '; if (empty($action) && !empty($user->rights->loan->delete)) { if (!$disable_delete) { - print ''.$langs->trans('Delete').''; + print ''.$langs->trans('Delete').''; } else { print ''.$langs->trans('Delete').''; } diff --git a/htdocs/loan/payment/payment.php b/htdocs/loan/payment/payment.php index 58783be181e..47fa5b37846 100644 --- a/htdocs/loan/payment/payment.php +++ b/htdocs/loan/payment/payment.php @@ -372,11 +372,7 @@ if ($action == 'create') { print ''; - print '
    '; - print ''; - print '   '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print "\n"; } diff --git a/htdocs/loan/schedule.php b/htdocs/loan/schedule.php index 67be217f0d2..d9b6120691b 100644 --- a/htdocs/loan/schedule.php +++ b/htdocs/loan/schedule.php @@ -154,7 +154,7 @@ if (!empty($conf->projet->enabled)) { $morehtmlref .= '
    '.$langs->trans('Project').' : '; if ($user->rights->loan->write) { if ($action != 'classify') { - //$morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + //$morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); $morehtmlref .= '
    '; @@ -335,7 +335,7 @@ if (count($echeances->lines) == 0) { } else { $label = $langs->trans("Save"); } -print '
    '; +print '
    '; print '
    '; // End of page diff --git a/htdocs/mailmanspip/class/mailmanspip.class.php b/htdocs/mailmanspip/class/mailmanspip.class.php index d08f6f65094..c5ce2292f6a 100644 --- a/htdocs/mailmanspip/class/mailmanspip.class.php +++ b/htdocs/mailmanspip/class/mailmanspip.class.php @@ -232,7 +232,7 @@ class MailmanSpip $mydb = $this->connectSpip(); if ($mydb) { - $query = "DELETE FROM spip_auteurs WHERE login='".$object->login."'"; + $query = "DELETE FROM spip_auteurs WHERE login = '".$mydb->escape($object->login)."'"; $result = $mydb->query($query); @@ -271,7 +271,7 @@ class MailmanSpip $mydb = $this->connectSpip(); if ($mydb) { - $query = "SELECT login FROM spip_auteurs WHERE login='".$object->login."'"; + $query = "SELECT login FROM spip_auteurs WHERE login = '".$mydb->escape($object->login)."'"; $result = $mydb->query($query); diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index affa435d389..76a4fbc1af8 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -53,25 +53,26 @@ if (!empty($_SERVER['MAIN_SHOW_TUNING_INFO'])) { /** * Return the real char for a numeric entities. - * This function is required by testSqlAndScriptInject(). + * WARNING: This function is required by testSqlAndScriptInject() and the GETPOST 'restricthtml'. Regex calling must be similar. * * @param string $matches String of numeric entity * @return string New value */ function realCharForNumericEntities($matches) { - $newstringnumentity = $matches[1]; + $newstringnumentity = preg_replace('/;$/', '', $matches[1]); + //print ' $newstringnumentity='.$newstringnumentity; if (preg_match('/^x/i', $newstringnumentity)) { $newstringnumentity = hexdec(preg_replace('/^x/i', '', $newstringnumentity)); } - // The numeric value we don't want as entities + // The numeric value we don't want as entities because they encode ascii char, and why using html entities on ascii except for haking ? if (($newstringnumentity >= 65 && $newstringnumentity <= 90) || ($newstringnumentity >= 97 && $newstringnumentity <= 122)) { return chr((int) $newstringnumentity); } - return '&#'.$matches[1]; + return '&#'.$matches[1]; // Value will be unchanged because regex was /&#( )/ } /** @@ -79,7 +80,7 @@ function realCharForNumericEntities($matches) * Warning: Such a protection can't be enough. It is not reliable as it will always be possible to bypass this. Good protection can * only be guaranted by escaping data during output. * - * @param string $val Value brut found int $_GET, $_POST or PHP_SELF + * @param string $val Brut value found into $_GET, $_POST or PHP_SELF * @param string $type 0=POST, 1=GET, 2=PHP_SELF, 3=GET without sql reserved keywords (the less tolerant test) * @return int >0 if there is an injection, 0 if none */ @@ -104,25 +105,26 @@ function testSqlAndScriptInject($val, $type) $val = preg_replace('//', '', $val); $inj = 0; - // For SQL Injection (only GET are used to be included into bad escaped SQL requests) + // For SQL Injection (only GET are used to scan for such injection strings) if ($type == 1 || $type == 3) { $inj += preg_match('/delete\s+from/i', $val); $inj += preg_match('/create\s+table/i', $val); $inj += preg_match('/insert\s+into/i', $val); $inj += preg_match('/select\s+from/i', $val); $inj += preg_match('/into\s+(outfile|dumpfile)/i', $val); - $inj += preg_match('/user\s*\(/i', $val); // avoid to use function user() that return current database login + $inj += preg_match('/user\s*\(/i', $val); // avoid to use function user() or mysql_user() that return current database login $inj += preg_match('/information_schema/i', $val); // avoid to use request that read information_schema database $inj += preg_match('/ - $inj += preg_match('/on(abort|afterprint|animation|auxclick|beforeprint|beforeunload|blur|cancel|canplay|canplaythrough|change|click|close|contextmenu|cuechange|copy|cut)\s*=/i', $val); + $inj += preg_match('/on(abort|afterprint|animation|auxclick|beforecopy|beforecut|beforeprint|beforeunload|blur|cancel|canplay|canplaythrough|change|click|close|contextmenu|cuechange|copy|cut)\s*=/i', $val); $inj += preg_match('/on(dblclick|drop|durationchange|emptied|ended|error|focus|focusin|focusout|formdata|gotpointercapture|hashchange|input|invalid)\s*=/i', $val); $inj += preg_match('/on(lostpointercapture|offline|online|pagehide|pageshow)\s*=/i', $val); $inj += preg_match('/on(paste|pause|play|playing|progress|ratechange|reset|resize|scroll|search|seeked|seeking|show|stalled|start|submit|suspend)\s*=/i', $val); @@ -243,6 +245,7 @@ if (!empty($_SERVER['DOCUMENT_ROOT']) && substr($_SERVER['DOCUMENT_ROOT'], -6) ! set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs'); } + // Include the conf.php and functions.lib.php. This defined the constants like DOL_DOCUMENT_ROOT, DOL_DATA_ROOT, DOL_URL_ROOT... require_once 'filefunc.inc.php'; @@ -263,7 +266,7 @@ if (!empty($_POST["DOL_AUTOSET_COOKIE"])) { $cookiename = $tmpautoset[0]; $cookievalue = json_encode($cookiearrayvalue); //var_dump('setcookie cookiename='.$cookiename.' cookievalue='.$cookievalue); - setcookie($cookiename, empty($cookievalue) ? '' : $cookievalue, empty($cookievalue) ? 0 : (time() + (86400 * 354)), '/', null, false, true); // keep cookie 1 year and add tag httponly + setcookie($cookiename, empty($cookievalue) ? '' : $cookievalue, empty($cookievalue) ? 0 : (time() + (86400 * 354)), '/', null, (empty($dolibarr_main_force_https) ? false : true), true); // keep cookie 1 year and add tag httponly if (empty($cookievalue)) { unset($_COOKIE[$cookiename]); } @@ -284,6 +287,8 @@ $sessiontimeout = 'DOLSESSTIMEOUT_'.$prefix; if (!empty($_COOKIE[$sessiontimeout])) { ini_set('session.gc_maxlifetime', $_COOKIE[$sessiontimeout]); } + + // This create lock, released by session_write_close() or end of page. // We need this lock as long as we read/write $_SESSION ['vars']. We can remove lock when finished. if (!defined('NOSESSION')) { @@ -437,44 +442,54 @@ if ((!empty($conf->global->MAIN_VERSION_LAST_UPGRADE) && ($conf->global->MAIN_VE } // Creation of a token against CSRF vulnerabilities -if (!defined('NOTOKENRENEWAL')) { - // Rolling token at each call ($_SESSION['token'] contains token of previous page) - if (isset($_SESSION['newtoken'])) { - $_SESSION['token'] = $_SESSION['newtoken']; - } +if (!defined('NOTOKENRENEWAL') && !defined('NOSESSION')) { + // No token renewal on .css.php, .js.php and .json.php + if (!preg_match('/\.(css|js|json)\.php$/', $_SERVER["PHP_SELF"])) { + // Rolling token at each call ($_SESSION['token'] contains token of previous page) + if (isset($_SESSION['newtoken'])) { + $_SESSION['token'] = $_SESSION['newtoken']; + } - // Save in $_SESSION['newtoken'] what will be next token. Into forms, we will add param token = newToken(); - $token = dol_hash(uniqid(mt_rand(), true)); // Generates a hash of a random number - $_SESSION['newtoken'] = $token; - dol_syslog("NEW TOKEN reclaimed by : " . $_SERVER['PHP_SELF'], LOG_DEBUG); + if (!isset($_SESSION['newtoken']) || getDolGlobalInt('MAIN_SECURITY_CSRF_TOKEN_RENEWAL_ON_EACH_CALL')) { + // Save in $_SESSION['newtoken'] what will be next token. Into forms, we will add param token = $_SESSION['newtoken'] + $token = dol_hash(uniqid(mt_rand(), false), 'md5'); // Generates a hash of a random number. We don't need a secured hash, just a changing random value. + $_SESSION['newtoken'] = $token; + dol_syslog("NEW TOKEN generated by : " . $_SERVER['PHP_SELF'], LOG_DEBUG); + } + } } //dol_syslog("aaaa - ".defined('NOCSRFCHECK')." - ".$dolibarr_nocsrfcheck." - ".$conf->global->MAIN_SECURITY_CSRF_WITH_TOKEN." - ".$_SERVER['REQUEST_METHOD']." - ".GETPOST('token', 'alpha')); // Check validity of token, only if option MAIN_SECURITY_CSRF_WITH_TOKEN enabled or if constant CSRFCHECK_WITH_TOKEN is set into page -if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->global->MAIN_SECURITY_CSRF_WITH_TOKEN)) || defined('CSRFCHECK_WITH_TOKEN')) { +if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && getDolGlobalInt('MAIN_SECURITY_CSRF_WITH_TOKEN')) || defined('CSRFCHECK_WITH_TOKEN')) { // Array of action code where CSRFCHECK with token will be forced (so token must be provided on url request) - $arrayofactiontoforcetokencheck = array( - 'activate', 'add', 'addtimespent', 'update', 'install', - 'confirm_create_user', 'confirm_create_thirdparty', 'confirm_purge', 'confirm_reject_check', - 'delete', 'deletefilter', 'deleteoperation', 'deleteprof', 'deletepayment', 'disable', - 'doprev', 'donext', 'dvprev', 'dvnext', - 'enable', 'setpricelevel' - ); $sensitiveget = false; - if (in_array(GETPOST('action', 'aZ09'), $arrayofactiontoforcetokencheck)) { + if ((GETPOSTISSET('massaction') || GETPOST('action', 'aZ09')) && getDolGlobalInt('MAIN_SECURITY_CSRF_WITH_TOKEN') >= 3) { + // All GET actions and mass actions are processed as sensitive. $sensitiveget = true; + } elseif (getDolGlobalInt('MAIN_SECURITY_CSRF_WITH_TOKEN') >= 2) { + // Few GET actions coded with a &token into url are processed as sensitive. + $arrayofactiontoforcetokencheck = array( + 'activate', + 'doprev', 'donext', 'dvprev', 'dvnext', + 'install', + 'reopen' + ); + if (in_array(GETPOST('action', 'aZ09'), $arrayofactiontoforcetokencheck)) { + $sensitiveget = true; + } + if (preg_match('/^(add|classify|close|confirm|copy|del|disable|enable|remove|set|unset|update|save)/', GETPOST('action', 'aZ09'))) { + $sensitiveget = true; + } } - if (preg_match('/^(disable_|enable_|setremise)/', GETPOST('action', 'aZ09'))) { - $sensitiveget = true; - } - // Check a token is provided for all cases that need a mandatory token // (all POST actions + all login, actions and mass actions on pages with CSRFCHECK_WITH_TOKEN set + all sensitive GET actions) if ( $_SERVER['REQUEST_METHOD'] == 'POST' || $sensitiveget || - ((GETPOSTISSET('actionlogin') || GETPOSTISSET('action') || GETPOSTISSET('massaction')) && defined('CSRFCHECK_WITH_TOKEN')) + GETPOSTISSET('massaction') || + ((GETPOSTISSET('actionlogin') || GETPOSTISSET('action')) && defined('CSRFCHECK_WITH_TOKEN')) ) { // If token is not provided or empty, error (we are in case it is mandatory) if (!GETPOST('token', 'alpha') || GETPOST('token', 'alpha') == 'notrequired') { @@ -485,12 +500,17 @@ if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->gl print $langs->trans("ErrorGoBackAndCorrectParameters"); die; } else { - dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"])?'':$_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused by CSRFCHECK_WITH_TOKEN protection. Token not provided.", LOG_WARNING); if (defined('CSRFCHECK_WITH_TOKEN')) { + dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"])?'':$_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused by CSRF protection (CSRFCHECK_WITH_TOKEN protection) in main.inc.php. Token not provided.", LOG_WARNING); print "Access to a page that needs a token (constant CSRFCHECK_WITH_TOKEN is defined) is refused by CSRF protection in main.inc.php. Token not provided.\n"; } else { + dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"])?'':$_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused by CSRF protection (POST method or GET with a sensible value for 'action' parameter) in main.inc.php. Token not provided.", LOG_WARNING); print "Access to this page this way (POST method or GET with a sensible value for 'action' parameter) is refused by CSRF protection in main.inc.php. Token not provided.\n"; - print "If you access your server behind a proxy using url rewriting and the parameter is provided by caller, you might check that all HTTP header are propagated (or add the line \$dolibarr_nocsrfcheck=1 into your conf.php file or MAIN_SECURITY_CSRF_WITH_TOKEN to 0 into setup).\n"; + print "If you access your server behind a proxy using url rewriting and the parameter is provided by caller, you might check that all HTTP header are propagated (or add the line \$dolibarr_nocsrfcheck=1 into your conf.php file or MAIN_SECURITY_CSRF_WITH_TOKEN to 0"; + if (! empty($conf->global->MAIN_SECURITY_CSRF_WITH_TOKEN)) { + print " instead of ".$conf->global->MAIN_SECURITY_CSRF_WITH_TOKEN; + } + print " into setup).\n"; } die; } @@ -500,11 +520,11 @@ if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->gl $sessiontokenforthisurl = (empty($_SESSION['token']) ? '' : $_SESSION['token']); // TODO Get the sessiontokenforthisurl into the array of session token if (GETPOSTISSET('token') && GETPOST('token') != 'notrequired' && GETPOST('token', 'alpha') != $sessiontokenforthisurl) { - dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"])?'':$_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused due to invalid token, so we disable POST and some GET parameters - referer=".$_SERVER['HTTP_REFERER'].", action=".GETPOST('action', 'aZ09').", _GET|POST['token']=".GETPOST('token', 'alpha').", _SESSION['token']=".$_SESSION['token'], LOG_WARNING); + dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"])?'':$_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused by CSRF protection (invalid token), so we disable POST and some GET parameters - referer=".$_SERVER['HTTP_REFERER'].", action=".GETPOST('action', 'aZ09').", _GET|POST['token']=".GETPOST('token', 'alpha').", _SESSION['token']=".$_SESSION['token'], LOG_WARNING); //print 'Unset POST by CSRF protection in main.inc.php.'; // Do not output anything because this create problems when using the BACK button on browsers. setEventMessages('SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry', null, 'warnings'); //if ($conf->global->MAIN_FEATURES_LEVEL >= 1) setEventMessages('Unset POST and GET params by CSRF protection in main.inc.php (Token provided was not generated by the previous page).'."
    \n".'$_SERVER[REQUEST_URI] = '.$_SERVER['REQUEST_URI'].' $_SERVER[REQUEST_METHOD] = '.$_SERVER['REQUEST_METHOD'].' GETPOST(token) = '.GETPOST('token', 'alpha').' $_SESSION[token] = '.$_SESSION['token'], null, 'warnings'); - $savid = ((int) $_POST['id']); + if (isset($_POST['id'])) $savid = ((int) $_POST['id']); unset($_POST); //unset($_POST['action']); unset($_POST['massaction']); //unset($_POST['confirm']); unset($_POST['confirmmassaction']); @@ -512,7 +532,7 @@ if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->gl unset($_GET['action']); unset($_GET['confirmmassaction']); unset($_GET['massaction']); - $_POST['id'] = ((int) $savid); + if (isset($savid)) $_POST['id'] = ((int) $savid); } // Note: There is another CSRF protection into the filefunc.inc.php @@ -642,7 +662,7 @@ if (!defined('NOLOGIN')) { // Load translation files required by page $langs->loadLangs(array('main', 'errors')); - $_SESSION["dol_loginmesg"] = $langs->trans("ErrorBadValueForCode"); + $_SESSION["dol_loginmesg"] = $langs->transnoentitiesnoconv("ErrorBadValueForCode"); $test = false; // Call trigger for the "security events" log @@ -658,7 +678,7 @@ if (!defined('NOLOGIN')) { // Hooks on failed login $action = ''; $hookmanager->initHooks(array('login')); - $parameters = array('dol_authmode'=>$dol_authmode, 'dol_loginmesg'=>$_SESSION["dol_loginmesg"]); + $parameters = array('dol_authmode'=>$authmode, 'dol_loginmesg'=>$_SESSION["dol_loginmesg"]); $reshook = $hookmanager->executeHooks('afterLoginFailed', $parameters, $user, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) { $error++; @@ -736,7 +756,7 @@ if (!defined('NOLOGIN')) { // Bad password. No authmode has found a good password. // We set a generic message if not defined inside function checkLoginPassEntity or subfunctions if (empty($_SESSION["dol_loginmesg"])) { - $_SESSION["dol_loginmesg"] = $langs->trans("ErrorBadLoginPassword"); + $_SESSION["dol_loginmesg"] = $langs->transnoentitiesnoconv("ErrorBadLoginPassword"); } // Call trigger for the "security events" log @@ -789,7 +809,7 @@ if (!defined('NOLOGIN')) { // Load translation files required by page $langs->loadLangs(array('main', 'errors')); - $_SESSION["dol_loginmesg"] = $langs->trans("ErrorCantLoadUserFromDolibarrDatabase", $login); + $_SESSION["dol_loginmesg"] = $langs->transnoentitiesnoconv("ErrorCantLoadUserFromDolibarrDatabase", $login); $user->trigger_mesg = 'ErrorCantLoadUserFromDolibarrDatabase - login='.$login; } @@ -853,7 +873,7 @@ if (!defined('NOLOGIN')) { // Load translation files required by page $langs->loadLangs(array('main', 'errors')); - $_SESSION["dol_loginmesg"] = $langs->trans("ErrorCantLoadUserFromDolibarrDatabase", $login); + $_SESSION["dol_loginmesg"] = $langs->transnoentitiesnoconv("ErrorCantLoadUserFromDolibarrDatabase", $login); $user->trigger_mesg = 'ErrorCantLoadUserFromDolibarrDatabase - login='.$login; } @@ -1026,6 +1046,28 @@ if (!defined('NOLOGIN')) { $user->rights->user->user->supprimer = 1; $user->rights->user->self->creer = 1; $user->rights->user->self->password = 1; + + //Required if advanced permissions are used with MAIN_USE_ADVANCED_PERMS + if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { + if (empty($user->rights->user->user_advance)) { + $user->rights->user->user_advance = new stdClass(); // To avoid warnings + } + if (empty($user->rights->user->self_advance)) { + $user->rights->user->self_advance = new stdClass(); // To avoid warnings + } + if (empty($user->rights->user->group_advance)) { + $user->rights->user->group_advance = new stdClass(); // To avoid warnings + } + + $user->rights->user->user_advance->readperms = 1; + $user->rights->user->user_advance->write = 1; + $user->rights->user->self_advance->readperms = 1; + $user->rights->user->self_advance->writeperms = 1; + $user->rights->user->group_advance->read = 1; + $user->rights->user->group_advance->readperms = 1; + $user->rights->user->group_advance->write = 1; + $user->rights->user->group_advance->delete = 1; + } } /* @@ -1395,7 +1437,9 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr print ''."\n"; // Do not index print ''."\n"; // Scale for mobile device print ''."\n"; - + if (!empty($conf->global->MAIN_FEATURES_LEVEL)) { + print ''."\n"; + } // Favicon $favicon = DOL_URL_ROOT.'/theme/dolibarr_256x256_color.png'; if (!empty($mysoc->logo_squarred_mini)) { @@ -1684,7 +1728,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr // Global js function print ''."\n"; - print ''."\n"; + print ''."\n"; // JS forced by modules (relative url starting with /) if (!empty($conf->modules_parts['js'])) { // $conf->modules_parts['js'] is array('module'=>array('file1','file2')) @@ -1693,7 +1737,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr $filesjs = (array) $filesjs; // To be sure filejs is an array foreach ($filesjs as $jsfile) { // jsfile is a relative path - print ''."\n".''."\n"; + print ''."\n".''."\n"; } } } @@ -1702,9 +1746,9 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr print ''."\n"; foreach ($arrayofjs as $jsfile) { if (preg_match('/^(http|\/\/)/i', $jsfile)) { - print ''."\n"; + print ''."\n"; } else { - print ''."\n"; + print ''."\n"; } } } @@ -1849,7 +1893,7 @@ function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) && $conf->browser->layout != 'phone') { $qs = dol_escape_htmltag($_SERVER["QUERY_STRING"]); - if (is_array($_POST)) { + if (isset($_POST) && is_array($_POST)) { foreach ($_POST as $key => $value) { if ($key !== 'action' && $key !== 'password' && !is_array($value)) { $qs .= '&'.$key.'='.urlencode($value); @@ -1905,9 +1949,7 @@ function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead } $text .= '">'; $text .= ''; - if ($helppresent) { - $text .= ''; - } + $text .= ''; $text .= ''; $toprightmenu .= $form->textwithtooltip('', $title, 2, 1, $text, 'login_block_elem', 2); } @@ -1987,6 +2029,8 @@ function top_menu_user($hideloginname = 0, $urllogout = '') global $dolibarr_main_authentication, $dolibarr_main_demo; global $menumanager; + $langs->load('companies'); + $userImage = $userDropDownImage = ''; if (!empty($user->photo)) { $userImage = Form::showphoto('userphoto', $user, 0, 0, 0, 'photouserphoto userphoto', 'small', 0, 1); @@ -2008,27 +2052,25 @@ function top_menu_user($hideloginname = 0, $urllogout = '') $dropdownBody .= ' '.$langs->trans("ShowCompanyInfos").''; $dropdownBody .= '
    '; - if (!empty($conf->global->MAIN_INFO_SIREN)) { - $dropdownBody .= '
    '.$langs->transcountry("ProfId1Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_SIREN).''; + if ($langs->transcountry("ProfId1", $mysoc->country_code) != '-') { + $dropdownBody .= '
    '.$langs->transcountry("ProfId1", $mysoc->country_code).': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_SIREN")).''; } - if (!empty($conf->global->MAIN_INFO_SIRET)) { - $dropdownBody .= '
    '.$langs->transcountry("ProfId2Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_SIRET).''; + if ($langs->transcountry("ProfId2", $mysoc->country_code) != '-') { + $dropdownBody .= '
    '.$langs->transcountry("ProfId2", $mysoc->country_code).': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_SIRET")).''; } - if (!empty($conf->global->MAIN_INFO_APE)) { - $dropdownBody .= '
    '.$langs->transcountry("ProfId3Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_APE).''; + if ($langs->transcountry("ProfId3", $mysoc->country_code) != '-') { + $dropdownBody .= '
    '.$langs->transcountry("ProfId3", $mysoc->country_code).': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_APE")).''; } - if (!empty($conf->global->MAIN_INFO_RCS)) { - $dropdownBody .= '
    '.$langs->transcountry("ProfId4Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_RCS).''; + if ($langs->transcountry("ProfId4", $mysoc->country_code) != '-') { + $dropdownBody .= '
    '.$langs->transcountry("ProfId4", $mysoc->country_code).': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_RCS")).''; } - if (!empty($conf->global->MAIN_INFO_PROFID5)) { - $dropdownBody .= '
    '.$langs->transcountry("ProfId5Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_PROFID5).''; + if ($langs->transcountry("ProfId5", $mysoc->country_code) != '-') { + $dropdownBody .= '
    '.$langs->transcountry("ProfId5", $mysoc->country_code).': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_PROFID5")).''; } - if (!empty($conf->global->MAIN_INFO_PROFID6)) { - $dropdownBody .= '
    '.$langs->transcountry("ProfId6Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_PROFID6).''; - } - if (!empty($conf->global->MAIN_INFO_TVAINTRA)) { - $dropdownBody .= '
    '.$langs->trans("VATIntraShort").': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_TVAINTRA).''; + if ($langs->transcountry("ProfId6", $mysoc->country_code) != '-') { + $dropdownBody .= '
    '.$langs->transcountry("ProfId6", $mysoc->country_code).': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_PROFID6")).''; } + $dropdownBody .= '
    '.$langs->trans("VATIntraShort").': '.showValueWithClipboardCPButton(getDolGlobalString("MAIN_INFO_TVAINTRA")).''; $dropdownBody .= '
    '; @@ -2060,7 +2102,7 @@ function top_menu_user($hideloginname = 0, $urllogout = '') $dropdownBody .= '
    '.$langs->trans("ConnectedSince").': '.dol_print_date($user->datelastlogin, "dayhour", 'tzuser'); $dropdownBody .= '
    '.$langs->trans("PreviousConnexion").': '.dol_print_date($user->datepreviouslogin, "dayhour", 'tzuser'); $dropdownBody .= '
    '.$langs->trans("CurrentTheme").': '.$conf->theme; - $dropdownBody .= '
    '.$langs->trans("CurrentMenuManager").': '.$menumanager->name; + $dropdownBody .= '
    '.$langs->trans("CurrentMenuManager").': '.(isset($menumanager) ? $menumanager->name : 'unknown'); $langFlag = picto_from_langcode($langs->getDefaultLang()); $dropdownBody .= '
    '.$langs->trans("CurrentUserLanguage").': '.($langFlag ? $langFlag.' ' : '').$langs->getDefaultLang(); @@ -3041,7 +3083,7 @@ if (!function_exists("llxFooter")) { */ function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) { - global $conf, $db, $langs, $user, $mysoc, $object; + global $conf, $db, $langs, $user, $mysoc, $object, $hookmanager; global $delayedhtmlcontent; global $contextpage, $page, $limit; global $dolibarr_distrib; @@ -3143,7 +3185,7 @@ if (!function_exists("llxFooter")) { } // Wrapper to add log when clicking on download or preview - if (!empty($conf->blockedlog->enabled) && is_object($object) && $object->id > 0 && $object->statut > 0) { + if (!empty($conf->blockedlog->enabled) && is_object($object) && !empty($object->id) && $object->id > 0 && $object->statut > 0) { if (in_array($object->element, array('facture'))) { // Restrict for the moment to element 'facture' print "\n\n"; ?> @@ -3264,6 +3306,11 @@ if (!function_exists("llxFooter")) { } } + $reshook = $hookmanager->executeHooks('beforeBodyClose'); // Note that $action and $object may have been modified by some hooks + if ($reshook > 0) { + print $hookmanager->resPrint; + } + print "\n"; print "\n"; } diff --git a/htdocs/margin/admin/margin.php b/htdocs/margin/admin/margin.php index 4df01332eb1..30c85197337 100644 --- a/htdocs/margin/admin/margin.php +++ b/htdocs/margin/admin/margin.php @@ -140,7 +140,7 @@ print '/> '; print $langs->trans('MargeType3'); print ''; print ''; -print ''; +print ''; print ''; print ''.$langs->trans('MarginTypeDesc'); print ''; @@ -155,9 +155,9 @@ if (!empty($conf->use_javascript_ajax)) { print ajax_constantonoff('DISPLAY_MARGIN_RATES'); } else { if (empty($conf->global->DISPLAY_MARGIN_RATES)) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } print ''; @@ -172,9 +172,9 @@ if (!empty($conf->use_javascript_ajax)) { print ajax_constantonoff('DISPLAY_MARK_RATES'); } else { if (empty($conf->global->DISPLAY_MARK_RATES)) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } print ''; @@ -189,9 +189,9 @@ if (!empty($conf->use_javascript_ajax)) { print ajax_constantonoff('ForceBuyingPriceIfNull'); } else { if (empty($conf->global->ForceBuyingPriceIfNull)) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } print ''; @@ -208,14 +208,14 @@ $methods = array( print '
    '; print ''; -print ""; +print ''; print ''; print ''.$langs->trans("MARGIN_METHODE_FOR_DISCOUNT").''; print ''; print Form::selectarray('MARGIN_METHODE_FOR_DISCOUNT', $methods, $conf->global->MARGIN_METHODE_FOR_DISCOUNT); print ''; print ''; -print ''; +print ''; print ''; print ''.$langs->trans('MARGIN_METHODE_FOR_DISCOUNT_DETAILS').''; print ''; @@ -224,16 +224,16 @@ print '
    '; // INTERNAL CONTACT TYPE USED AS COMMERCIAL AGENT print '
    '; print ''; -print ""; +print ''; print ''; print ''.$langs->trans("AgentContactType").''; print ''; $formcompany = new FormCompany($db); $facture = new Facture($db); -print $formcompany->selectTypeContact($facture, $conf->global->AGENT_CONTACT_TYPE, "AGENT_CONTACT_TYPE", "internal", "code", 1); +print $formcompany->selectTypeContact($facture, $conf->global->AGENT_CONTACT_TYPE, "AGENT_CONTACT_TYPE", "internal", "code", 1, "maxwidth250"); print ''; print ''; -print ''; +print ''; print ''; print ''.$langs->trans('AgentContactTypeDetails').''; print ''; diff --git a/htdocs/margin/checkMargins.php b/htdocs/margin/checkMargins.php index d12c827cc3e..1349e02d2d8 100644 --- a/htdocs/margin/checkMargins.php +++ b/htdocs/margin/checkMargins.php @@ -106,8 +106,8 @@ if (empty($reshook)) { $invoicedet_id = $tmp_array[1]; if (!empty($invoicedet_id)) { $sql = 'UPDATE '.MAIN_DB_PREFIX.'facturedet'; - $sql .= ' SET buy_price_ht=\''.price2num($value).'\''; - $sql .= ' WHERE rowid='.$invoicedet_id; + $sql .= " SET buy_price_ht = ".((float) price2num($value)); + $sql .= ' WHERE rowid = '.((int) $invoicedet_id); $result = $db->query($sql); if (!$result) { setEventMessages($db->lasterror, null, 'errors'); diff --git a/htdocs/margin/customerMargins.php b/htdocs/margin/customerMargins.php index 7fed219ffcd..6861f67db0d 100644 --- a/htdocs/margin/customerMargins.php +++ b/htdocs/margin/customerMargins.php @@ -237,7 +237,7 @@ if ($socid > 0) { $sql .= ' AND s.rowid = '.((int) $socid); } if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } $sql .= " AND f.fk_statut NOT IN (".$db->sanitize(implode(', ', $invoice_status_except_list)).")"; $sql .= ' AND s.entity IN ('.getEntity('societe').')'; diff --git a/htdocs/margin/index.php b/htdocs/margin/index.php index cab6dd9f0da..0dcab7435f7 100644 --- a/htdocs/margin/index.php +++ b/htdocs/margin/index.php @@ -32,4 +32,4 @@ if ($user->rights->produit->lire) { $page = 'agentMargins'; } -header('Location: '.dol_buildpath('/margin/'.$page.'.php', 1)); +header('Location: '.DOL_URL_ROOT.'/margin/'.$page.'.php'); diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index d2c9a1bca76..3b14f1db808 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -158,7 +158,7 @@ if ($id > 0 || !empty($ref)) { $sql .= " AND d.fk_facture = f.rowid"; $sql .= " AND d.fk_product = ".((int) $object->id); if (!$user->rights->societe->client->voir && !$socid) { - $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); } if (!empty($socid)) { $sql .= " AND f.fk_soc = $socid"; diff --git a/htdocs/margin/tabs/thirdpartyMargins.php b/htdocs/margin/tabs/thirdpartyMargins.php index 505ff9f9f31..43e9c87c6e6 100644 --- a/htdocs/margin/tabs/thirdpartyMargins.php +++ b/htdocs/margin/tabs/thirdpartyMargins.php @@ -113,13 +113,18 @@ if ($socid > 0) { print '
    '; print ''; + // Type Prospect/Customer/Supplier + print ''; + if ($object->client) { print ''; } @@ -130,14 +135,14 @@ if ($socid > 0) { print showValueWithClipboardCPButton(dol_escape_htmltag($object->code_fournisseur)); $tmpcheck = $object->check_codefournisseur(); if ($tmpcheck != 0 && $tmpcheck != -5) { - print ' ('.$langs->trans("WrongSupplierCode").')'; + print ' ('.$langs->trans("WrongSupplierCode").')'; } print ''; } // Total Margin print ''; // Margin Rate @@ -237,9 +242,9 @@ if ($socid > 0) { print "\n"; print ""; - print "\n"; - print "\n"; - print "\n"; + print "\n"; + print "\n"; + print "\n"; if (!empty($conf->global->DISPLAY_MARGIN_RATES)) { print "\n"; } diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 00cfcf842d5..e04adb4ee86 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -133,6 +133,7 @@ if (!defined('NOREQUIRETRAN')) { /* * Object $db */ +$db = null; if (!defined('NOREQUIREDB')) { $db = getDoliDBInstance($conf->db->type, $conf->db->host, $conf->db->user, $conf->db->pass, $conf->db->name, $conf->db->port); @@ -195,23 +196,10 @@ if (!is_numeric($conf->entity)) { $conf->entity = 1; } -if (!defined('NOREQUIREDB')) { - //print "Will work with data into entity instance number '".$conf->entity."'"; +//print "We work with data into entity instance number '".$conf->entity."'"; - // Here we read database (llx_const table) and define $conf->global->XXX var. - $conf->setValues($db); -} - -// Overwrite database value -if (!empty($conf->file->mailing_limit_sendbyweb)) { - $conf->global->MAILING_LIMIT_SENDBYWEB = $conf->file->mailing_limit_sendbyweb; -} -if (empty($conf->global->MAILING_LIMIT_SENDBYWEB)) { - $conf->global->MAILING_LIMIT_SENDBYWEB = 25; -} -if (!empty($conf->file->mailing_limit_sendbycli)) { - $conf->global->MAILING_LIMIT_SENDBYCLI = $conf->file->mailing_limit_sendbycli; -} +// Here we read database (llx_const table) and define $conf->global->XXX var. +$conf->setValues($db); // Create object $mysoc (A thirdparty object that contains properties of companies managed by Dolibarr. if (!defined('NOREQUIREDB') && !defined('NOREQUIRESOC')) { diff --git a/htdocs/modulebuilder/admin/setup.php b/htdocs/modulebuilder/admin/setup.php index 62eccc5be18..e5ccb0c3966 100644 --- a/htdocs/modulebuilder/admin/setup.php +++ b/htdocs/modulebuilder/admin/setup.php @@ -125,9 +125,9 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { print ajax_constantonoff('MODULEBUILDER_USE_ABOUT'); } else { if (empty($conf->global->MODULEBUILDER_USE_ABOUT)) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } print ''; @@ -193,7 +193,7 @@ print ''; print '
    '.$langs->trans('NatureOfThirdParty').''; + print $object->getTypeUrl(1); + print '
    '; print $langs->trans('CustomerCode').''; print showValueWithClipboardCPButton(dol_escape_htmltag($object->code_client)); $tmpcheck = $object->check_codeclient(); if ($tmpcheck != 0 && $tmpcheck != -5) { - print ' ('.$langs->trans("WrongCustomerCode").')'; + print ' ('.$langs->trans("WrongCustomerCode").')'; } print '
    '.$langs->trans("TotalMargin").''; - print ''; // set by jquery (see below) + print ''; // set by jquery (see below) print '
    "; print dol_print_date($db->jdate($objp->datef), 'day')."".price(price2num($objp->selling_price, 'MT'))."".price(price2num(($objp->type == 2 ? -1 : 1) * $objp->buying_price, 'MT'))."".$sign.price(price2num($objp->marge, 'MT'))."".price(price2num($objp->selling_price, 'MT'))."".price(price2num(($objp->type == 2 ? -1 : 1) * $objp->buying_price, 'MT'))."".$sign.price(price2num($objp->marge, 'MT'))."".(($marginRate === '') ? 'n/a' : $sign.price(price2num($marginRate, 'MT'))."%")."
    '; -print '
    '; +print $form->buttonsSaveCancel("Save", ''); if (GETPOST('withtab', 'alpha')) { print dol_get_fiche_end(); diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index f8ca876eafc..ea0af722885 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -383,7 +383,7 @@ if ($dirins && $action == 'initphpunit' && !empty($module)) { $modulename = ucfirst($module); // Force first letter in uppercase $objectname = $tabobj; - dol_mkdir($dirins.'/'.strtolower($module).'/class'); + dol_mkdir($dirins.'/'.strtolower($module).'/test/phpunit'); $srcdir = DOL_DOCUMENT_ROOT.'/modulebuilder/template'; $srcfile = $srcdir.'/test/phpunit/MyObjectTest.php'; $destfile = $dirins.'/'.strtolower($module).'/test/phpunit/'.strtolower($objectname).'Test.php'; @@ -1303,7 +1303,8 @@ if ($dirins && $action == 'addproperty' && empty($cancel) && !empty($module) && 'visible'=>GETPOST('propvisible', 'int'), 'enabled'=>GETPOST('propenabled', 'int'), 'position'=>GETPOST('propposition', 'int'), 'notnull'=>GETPOST('propnotnull', 'int'), 'index'=>GETPOST('propindex', 'int'), 'searchall'=>GETPOST('propsearchall', 'int'), 'isameasure'=>GETPOST('propisameasure', 'int'), 'comment'=>GETPOST('propcomment', 'alpha'), 'help'=>GETPOST('prophelp', 'alpha'), - 'css'=>GETPOST('propcss', 'aZ09'), 'cssview'=>GETPOST('propcssview', 'aZ09'), 'csslist'=>GETPOST('propcsslist', 'aZ09') + 'css'=>GETPOST('propcss', 'aZ09'), 'cssview'=>GETPOST('propcssview', 'aZ09'), 'csslist'=>GETPOST('propcsslist', 'aZ09'), + 'validate' => GETPOST('propvalidate', 'int') ); if (!empty($addfieldentry['arrayofkeyval']) && !is_array($addfieldentry['arrayofkeyval'])) { @@ -1998,15 +1999,15 @@ if ($module == 'initmodule') { print ''; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''; print ' '.$langs->trans("ReadmeFile").' : '.$pathtofilereadme.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''; print ' '.$langs->trans("ChangeLog").' : '.$pathtochangelog.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''; print ''; @@ -2176,8 +2177,8 @@ if ($module == 'initmodule') { $pathtofile = 'langs/'.$langfile['relativename']; } print ' '.$langs->trans("LanguageFile").' '.basename(dirname($pathtofile)).' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; print ''; } print ''; @@ -2218,13 +2219,14 @@ if ($module == 'initmodule') { if ($action != 'editfile' || empty($file)) { print ''; - $htmlhelp = $langs->trans("DictionariesDefDescTooltip", ''.$langs->trans('Setup').' - '.$langs->trans('Dictionaries').''); + $htmlhelp = $langs->trans("DictionariesDefDescTooltip", '{s1}'); + $htmlhelp = str_replace('{s1}', ''.$langs->trans('Setup').' - '.$langs->trans('Dictionaries').'', $htmlhelp); print $form->textwithpicto($langs->trans("DictionariesDefDesc"), $htmlhelp, 1, 'help', '', 0, 2, 'helpondesc').'
    '; print '
    '; print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; if (is_array($dicts) && !empty($dicts)) { print ' '.$langs->trans("LanguageFile").' : '; @@ -2307,7 +2309,7 @@ if ($module == 'initmodule') { $i++; } } else { - print ''.$langs->trans("None").''; + print ''.$langs->trans("None").''; } print ''; @@ -2500,13 +2502,13 @@ if ($module == 'initmodule') { print '
    '; print ' '.$langs->trans("ClassFile").' : '.($realpathtoclass ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoclass).($realpathtoclass ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print ' '.$langs->trans("ApiClassFile").' : '.($realpathtoapi ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoapi).($realpathtoapi ? '' : '').''; if (dol_is_file($realpathtoapi)) { - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; print '   '; if (empty($conf->global->$const_name)) { // If module is not activated print ''.$langs->trans("GoToApiExplorer").''; @@ -2515,99 +2517,99 @@ if ($module == 'initmodule') { } } else { //print ''.$langs->trans("FileNotYetGenerated").' '; - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; } // PHPUnit print '
    '; print ' '.$langs->trans("TestClassFile").' : '.($realpathtophpunit ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtophpunit).($realpathtophpunit ? '' : '').''; if (dol_is_file($realpathtophpunit)) { - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } else { //print ''.$langs->trans("FileNotYetGenerated").' '; - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; } print '
    '; print '
    '; print ' '.$langs->trans("PageForLib").' : '.($realpathtolib ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtolib).($realpathtolib ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print ' '.$langs->trans("PageForObjLib").' : '.($realpathtoobjlib ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoobjlib).($realpathtoobjlib ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print ' '.$langs->trans("Image").' : '.($realpathtopicto ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtopicto).($realpathtopicto ? '' : '').''; - //print ' '.img_picto($langs->trans("Edit"), 'edit').''; + //print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; print ' '.$langs->trans("SqlFile").' : '.($realpathtosql ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtosql).($realpathtosql ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; - print '   '.$langs->trans("DropTableIfEmpty").''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print '   '.$langs->trans("DropTableIfEmpty").''; //print '   '.$langs->trans("RunSql").''; print '
    '; print ' '.$langs->trans("SqlFileKey").' : '.($realpathtosqlkey ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtosqlkey).($realpathtosqlkey ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; //print '   '.$langs->trans("RunSql").''; print '
    '; print ' '.$langs->trans("SqlFileExtraFields").' : '.($realpathtosqlextra ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtosqlextra).($realpathtosqlextra ? '' : '').''; if (dol_is_file($realpathtosqlextra) && dol_is_file($realpathtosqlextrakey)) { - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; print '   '; - print ''.$langs->trans("DropTableIfEmpty").''; + print ''.$langs->trans("DropTableIfEmpty").''; } else { - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; } //print '   '.$langs->trans("RunSql").''; print '
    '; print ' '.$langs->trans("SqlFileKeyExtraFields").' : '.($realpathtosqlextrakey ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtosqlextrakey).($realpathtosqlextrakey ? '' : '').''; if (dol_is_file($realpathtosqlextra) && dol_is_file($realpathtosqlextrakey)) { - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } else { - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; } print '
    '; print '
    '; print '
    '; print ' '.$langs->trans("PageForList").' : '.($realpathtolist ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtolist).($realpathtolist ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print ' '.$langs->trans("PageForCreateEditView").' : '.($realpathtocard ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtocard).($realpathtocard ? '' : '').'?action=create'; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print ' '.$langs->trans("PageForContactTab").' : '.($realpathtocontact ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtocontact).($realpathtocontact ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; if (dol_is_file($realpathtocontact)) { print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } print '
    '; print ' '.$langs->trans("PageForDocumentTab").' : '.($realpathtodocument ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtodocument).($realpathtodocument ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; if (dol_is_file($realpathtodocument)) { print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } print '
    '; print ' '.$langs->trans("PageForNoteTab").' : '.($realpathtonote ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtonote).($realpathtonote ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; if (dol_is_file($realpathtonote)) { print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } print '
    '; print ' '.$langs->trans("PageForAgendaTab").' : '.($realpathtoagenda ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoagenda).($realpathtoagenda ? '' : '').''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; if (dol_is_file($realpathtoagenda)) { print ' '; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } print '
    '; print '
    '; @@ -2680,6 +2682,7 @@ if ($module == 'initmodule') { print ''.$langs->trans("KeyForTooltip").''; print ''.$langs->trans("ShowOnCombobox").''; //print ''.$langs->trans("Disabled").''; + print ''.$form->textwithpicto($langs->trans("Validate"), $langs->trans("ValidateModBuilderDesc")).''; print ''.$langs->trans("Comment").''; print ''; print ''; @@ -2712,9 +2715,10 @@ if ($module == 'initmodule') { print ''; print ''; //print ''; + print ''; print ''; print ''; - print ''; + print ''; print ''; // List of existing properties @@ -2753,6 +2757,7 @@ if ($module == 'initmodule') { $prophelp = $propval['help']; $propshowoncombobox = $propval['showoncombobox']; //$propdisabled=$propval['disabled']; + $propvalidate = $propval['validate']; $propcomment = $propval['comment']; print ''; @@ -2823,6 +2828,9 @@ if ($module == 'initmodule') { print ''; print ''; print ''; + print ''; + print ''; + print ''; print ''; print ''; print ''; @@ -2888,6 +2896,9 @@ if ($module == 'initmodule') { /*print ''; print $propdisabled?$propdisabled:''; print '';*/ + print ''; + print $propvalidate ? dol_escape_htmltag($propvalidate) : ''; + print ''; print ''; print ''; print dol_escape_htmltag($propcomment); @@ -2917,7 +2928,7 @@ if ($module == 'initmodule') { $format = 'markdown'; } print ' '.$langs->trans("SpecificationFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; } } else { @@ -3002,13 +3013,14 @@ if ($module == 'initmodule') { if ($action != 'editfile' || empty($file)) { print ''; - $htmlhelp = $langs->trans("MenusDefDescTooltip", ''.$langs->trans('Setup').' - '.$langs->trans('Menus').''); + $htmlhelp = $langs->trans("MenusDefDescTooltip", '{s1}'); + $htmlhelp = str_replace('{s1}', ''.$langs->trans('Setup').' - '.$langs->trans('Menus').'', $htmlhelp); print $form->textwithpicto($langs->trans("MenusDefDesc"), $htmlhelp, 1, 'help', '', 0, 2, 'helpondesc').'
    '; print '
    '; print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; @@ -3094,7 +3106,7 @@ if ($module == 'initmodule') { print ''; } } else { - print ''.$langs->trans("None").''; + print ''.$langs->trans("None").''; } print ''; @@ -3134,13 +3146,14 @@ if ($module == 'initmodule') { if ($action != 'editfile' || empty($file)) { print ''; - $htmlhelp = $langs->trans("PermissionsDefDescTooltip", ''.$langs->trans('DefaultPermissions').''); + $htmlhelp = $langs->trans("PermissionsDefDescTooltip", '{s1}'); + $htmlhelp = str_replace('{s1}', ''.$langs->trans('DefaultRights').'', $htmlhelp); print $form->textwithpicto($langs->trans("PermissionsDefDesc"), $htmlhelp, 1, 'help', '', 0, 2, 'helpondesc').'
    '; print '
    '; print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; @@ -3186,7 +3199,7 @@ if ($module == 'initmodule') { print ''; } } else { - print ''.$langs->trans("None").''; + print ''.$langs->trans("None").''; } print ''; @@ -3230,7 +3243,7 @@ if ($module == 'initmodule') { print ''; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; print ''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''; print ''; @@ -3239,7 +3252,7 @@ if ($module == 'initmodule') { if (dol_is_file($dirins.'/'.$pathtohook)) { print ''.$pathtohook.''; print ''; - print ''.img_picto($langs->trans("Edit"), 'edit').' '; + print ''.img_picto($langs->trans("Edit"), 'edit').' '; print ''.img_picto($langs->trans("Delete"), 'delete').''; } else { print ''.$langs->trans("FileNotYetGenerated").''; @@ -3289,7 +3302,7 @@ if ($module == 'initmodule') { print ''; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; print ''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''; if (!empty($triggers)) { @@ -3298,7 +3311,7 @@ if ($module == 'initmodule') { print ''; print ' '.$langs->trans("TriggersFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; print ''.img_picto($langs->trans("Delete"), 'delete').''; print ''; } @@ -3394,11 +3407,11 @@ if ($module == 'initmodule') { print ' '.$langs->trans("JSFile").' : '; if (dol_is_file($dirins.'/'.$pathtohook)) { print ''.$pathtohook.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; } else { print ''.$langs->trans("FileNotYetGenerated").''; - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; } print ''; } else { @@ -3442,13 +3455,13 @@ if ($module == 'initmodule') { $pathtofile = $widget['relpath']; print ' '.$langs->trans("WidgetFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; print ''; } } else { print ' '.$langs->trans("WidgetFile").' : '.$langs->trans("NoWidget").''; - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; print ''; } print ''; @@ -3489,7 +3502,7 @@ if ($module == 'initmodule') { print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; } else { $fullpathoffile = dol_buildpath($file, 0); @@ -3559,13 +3572,13 @@ if ($module == 'initmodule') { $pathtofile = $clifile['relpath']; print ' '.$langs->trans("CLIFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; print ''; } } else { print ' '.$langs->trans("CLIFile").' : '.$langs->trans("FileNotYetGenerated");''; - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; print ''; } print ''; @@ -3601,11 +3614,11 @@ if ($module == 'initmodule') { $cronjobs = $moduleobj->cronjobs; if ($action != 'editfile' || empty($file)) { - print ''.str_replace('{s1}', ''.$langs->transnoentities('CronList').'', $langs->trans("CronJobDefDesc", '{s1}')).'
    '; + print ''.str_replace('{s1}', ''.$langs->transnoentities('CronList').'', $langs->trans("CronJobDefDesc", '{s1}')).'
    '; print '
    '; print ' '.$langs->trans("DescriptorFile").' : '.$pathtofile.''; - print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
    '; print '
    '; @@ -3683,7 +3696,7 @@ if ($module == 'initmodule') { print ''; } } else { - print ''.$langs->trans("None").''; + print ''.$langs->trans("None").''; } print ''; @@ -3733,14 +3746,14 @@ if ($module == 'initmodule') { } print ''; print ' '.$langs->trans("SpecificationFile").' : '.$pathtofile.''; - print ''.img_picto($langs->trans("Edit"), 'edit').''; - print ''.img_picto($langs->trans("Delete"), 'delete').''; + print ''.img_picto($langs->trans("Edit"), 'edit').''; + print ''.img_picto($langs->trans("Delete"), 'delete').''; print ''; } } else { print ''; print ' '.$langs->trans("SpecificationFile").' : '.$langs->trans("FileNotYetGenerated").''; - print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; + print ''.img_picto('Generate', 'generate', 'class="paddingleft"').''; print ''; } print ''; diff --git a/htdocs/modulebuilder/template/admin/setup.php b/htdocs/modulebuilder/template/admin/setup.php index 9007eab60cc..7c6c6b2c04e 100644 --- a/htdocs/modulebuilder/template/admin/setup.php +++ b/htdocs/modulebuilder/template/admin/setup.php @@ -389,7 +389,7 @@ if ($action == 'edit') { print ''; print ''; } else { print '
    '.$langs->trans("NothingToSetup"); @@ -598,13 +598,13 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { // Active if (in_array($name, $def)) { print ''."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''; } else { print ''."\n"; - print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print ""; } @@ -614,9 +614,9 @@ foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) { if ($conf->global->$constforvar == $name) { //print img_picto($langs->trans("Default"), 'on'); // Even if choice is the default value, we allow to disable it. Replace this with previous line if you need to disable unset - print 'scandir.'&label='.urlencode($module->name).'&type='.urlencode($type).'" alt="'.$langs->trans("Disable").'">'.img_picto($langs->trans("Enabled"), 'on').''; + print 'scandir).'&label='.urlencode($module->name).'&type='.urlencode($type).'" alt="'.$langs->trans("Disable").'">'.img_picto($langs->trans("Enabled"), 'on').''; } else { - print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; diff --git a/htdocs/modulebuilder/template/class/api_mymodule.class.php b/htdocs/modulebuilder/template/class/api_mymodule.class.php index faeb22a095b..cb2fbda68a6 100644 --- a/htdocs/modulebuilder/template/class/api_mymodule.class.php +++ b/htdocs/modulebuilder/template/class/api_mymodule.class.php @@ -69,7 +69,7 @@ class MyModuleApi extends DolibarrApi */ public function get($id) { - if (!DolibarrApiAccess::$user->rights->mymodule->read) { + if (!DolibarrApiAccess::$user->rights->mymodule->myobject->read) { throw new RestException(401); } @@ -205,7 +205,7 @@ class MyModuleApi extends DolibarrApi */ public function post($request_data = null) { - if (!DolibarrApiAccess::$user->rights->mymodule->write) { + if (!DolibarrApiAccess::$user->rights->mymodule->myobject->write) { throw new RestException(401); } @@ -238,7 +238,7 @@ class MyModuleApi extends DolibarrApi */ public function put($id, $request_data = null) { - if (!DolibarrApiAccess::$user->rights->mymodule->write) { + if (!DolibarrApiAccess::$user->rights->mymodule->myobject->write) { throw new RestException(401); } @@ -280,7 +280,7 @@ class MyModuleApi extends DolibarrApi */ public function delete($id) { - if (!DolibarrApiAccess::$user->rights->mymodule->delete) { + if (!DolibarrApiAccess::$user->rights->mymodule->myobject->delete) { throw new RestException(401); } $result = $this->myobject->fetch($id); diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 76c6bb691f5..8e316d014d5 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -70,7 +70,7 @@ class MyObject extends CommonObject /** - * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter[:Sortfield]]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" * 'label' the translation key. * 'picto' is code of a picto to show before value in forms @@ -83,14 +83,16 @@ class MyObject extends CommonObject * 'index' if we want an index in database. * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. - * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). - * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'maxwidth200', 'wordbreak', 'tdoverflowmax200' + * 'isameasure' must be set to 1 or 2 if field can be used for measure. Field type must be summable like integer or double(24,8). Use 1 in most cases, or 2 if you don't want to see the column total into list (for example for percentage) + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * 'validate' is 1 if need to validate with $this->validateField() + * 'copytoclipboard' is 1 or 2 to allow to add a picto to copy value into clipboard (1=picto after label, 2=picto after value) * * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. */ @@ -102,15 +104,15 @@ class MyObject extends CommonObject public $fields = array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'noteditable'=>1, 'notnull'=> 1, 'index'=>1, 'position'=>1, 'comment'=>'Id', 'css'=>'left'), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>10), - 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'noteditable'=>0, 'default'=>'', 'notnull'=> 1, 'showoncombobox'=>1, 'index'=>1, 'position'=>20, 'searchall'=>1, 'comment'=>'Reference of object'), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth300', 'cssview'=>'wordbreak', 'help'=>'Help text', 'showoncombobox'=>2), - 'amount' => array('type'=>'price', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for amount'), - 'qty' => array('type'=>'real', 'label'=>'Qty', 'enabled'=>1, 'visible'=>1, 'default'=>'0', 'position'=>45, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for quantity', 'css'=>'maxwidth75imp'), - 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'picto'=>'company', 'label'=>'ThirdParty', 'visible'=> 1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'help'=>'LinkToThirparty'), - 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>1, 'visible'=>-1, 'position'=>52, 'notnull'=>-1, 'index'=>1), - 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>3, 'position'=>60), - 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61), - 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>62), + 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'noteditable'=>0, 'default'=>'', 'notnull'=> 1, 'showoncombobox'=>1, 'index'=>1, 'position'=>20, 'searchall'=>1, 'comment'=>'Reference of object', 'validate'=>1), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth300', 'cssview'=>'wordbreak', 'help'=>'Help text', 'showoncombobox'=>2, 'validate'=>1), + 'amount' => array('type'=>'price', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for amount', 'validate'=>1), + 'qty' => array('type'=>'real', 'label'=>'Qty', 'enabled'=>1, 'visible'=>1, 'default'=>'0', 'position'=>45, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for quantity', 'css'=>'maxwidth75imp', 'validate'=>1), + 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'picto'=>'company', 'label'=>'ThirdParty', 'visible'=> 1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'help'=>'LinkToThirparty', 'validate'=>1), + 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>1, 'visible'=>-1, 'position'=>52, 'notnull'=>-1, 'index'=>1, 'validate'=>1), + 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>3, 'position'=>60, 'validate'=>1), + 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61, 'validate'=>1), + 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>62, 'validate'=>1), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'notnull'=> 1, 'position'=>500), 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'notnull'=> 0, 'position'=>501), //'date_validation ' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>502), @@ -120,7 +122,7 @@ class MyObject extends CommonObject 'last_main_doc' => array('type'=>'varchar(255)', 'label'=>'LastMainDoc', 'enabled'=>1, 'visible'=>0, 'notnull'=>0, 'position'=>600), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'index'=>0, 'position'=>1000), 'model_pdf' => array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'notnull'=>-1, 'position'=>1010), - 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=> 1, 'default'=>0, 'index'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 9=>'Canceled')), + 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=> 1, 'default'=>0, 'index'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 9=>'Canceled'), 'validate'=>1), ); /** @@ -428,40 +430,40 @@ class MyObject extends CommonObject $records = array(); - $sql = 'SELECT '; + $sql = "SELECT "; $sql .= $this->getFieldList('t'); - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element." as t"; if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { - $sql .= ' WHERE t.entity IN ('.getEntity($this->table_element).')'; + $sql .= " WHERE t.entity IN (".getEntity($this->table_element).")"; } else { - $sql .= ' WHERE 1 = 1'; + $sql .= " WHERE 1 = 1"; } // Manage filter $sqlwhere = array(); if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } elseif (strpos($value, '%') === false) { - $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + $sqlwhere[] = $key." IN (".$this->db->sanitize($this->db->escape($value)).")"; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= " AND (".implode(" ".$filtermode." ", $sqlwhere).")"; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); @@ -845,6 +847,17 @@ class MyObject extends CommonObject return $result; } + /** + * Return the label of the status + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto + * @return string Label of status + */ + public function getLabelStatus($mode = 0) + { + return $this->LibStatut($this->status, $mode); + } + /** * Return the label of the status * @@ -870,12 +883,12 @@ class MyObject extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule@mymodule"); - $this->labelStatus[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('Enabled'); - $this->labelStatus[self::STATUS_CANCELED] = $langs->trans('Disabled'); - $this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->trans('Enabled'); - $this->labelStatusShort[self::STATUS_CANCELED] = $langs->trans('Disabled'); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Enabled'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Disabled'); } $statusType = 'status'.$status; @@ -895,10 +908,11 @@ class MyObject extends CommonObject */ public function info($id) { - $sql = 'SELECT rowid, date_creation as datec, tms as datem,'; - $sql .= ' fk_user_creat, fk_user_modif'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' as t'; - $sql .= ' WHERE t.rowid = '.((int) $id); + $sql = "SELECT rowid, date_creation as datec, tms as datem,"; + $sql .= " fk_user_creat, fk_user_modif"; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element." as t"; + $sql .= " WHERE t.rowid = ".((int) $id); + $result = $this->db->query($sql); if ($result) { if ($this->db->num_rows($result)) { @@ -941,6 +955,10 @@ class MyObject extends CommonObject */ public function initAsSpecimen() { + // Set here init that are not commonf fields + // $this->property1 = ... + // $this->property2 = ... + $this->initAsSpecimenCommon(); } @@ -954,7 +972,7 @@ class MyObject extends CommonObject $this->lines = array(); $objectline = new MyObjectLine($this->db); - $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_myobject = '.$this->id)); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_myobject = '.((int) $this->id))); if (is_numeric($result)) { $this->error = $this->error; diff --git a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php index 9db4bcb9854..de9188e714d 100644 --- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php +++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php @@ -456,10 +456,10 @@ class modMyModule extends DolibarrModules } $sql = array_merge($sql, array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."','".strtolower($myTmpObjectKey)."',".$conf->entity.")", - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".strtolower($myTmpObjectKey)."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".strtolower($myTmpObjectKey)."', ".$conf->entity.")" + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'standard_".strtolower($myTmpObjectKey)."' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('standard_".strtolower($myTmpObjectKey)."', '".$this->db->escape(strtolower($myTmpObjectKey))."', ".((int) $conf->entity).")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = 'generic_".strtolower($myTmpObjectKey)."_odt' AND type = '".$this->db->escape(strtolower($myTmpObjectKey))."' AND entity = ".((int) $conf->entity), + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('generic_".strtolower($myTmpObjectKey)."_odt', '".$this->db->escape(strtolower($myTmpObjectKey))."', ".((int) $conf->entity).")" )); } } diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php b/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php index f3228915592..9126da0070d 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php @@ -158,7 +158,7 @@ class doc_generic_myobject_odt extends ModelePDFMyObject $texte .= $conf->global->MYMODULE_MYOBJECT_ADDON_PDF_ODT_PATH; $texte .= ''; $texte .= '
    '; - $texte .= ''; + $texte .= ''; $texte .= '
    '; // Scan directories @@ -301,11 +301,14 @@ class doc_generic_myobject_odt extends ModelePDFMyObject // Recipient name $contactobject = null; if (!empty($usecontact)) { - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { - $socobject = $object->contact; + // We can use the company of contact instead of thirdparty company + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { + $object->contact->fetch_thirdparty(); + $socobject = $object->contact->thirdparty; + $contactobject = $object->contact; } else { $socobject = $object->thirdparty; - // if we have a CUSTOMER contact and we dont use it as recipient we store the contact object for later use + // if we have a CUSTOMER contact and we dont use it as thirdparty recipient we store the contact object for later use $contactobject = $object->contact; } } else { diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php b/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php index ca3c925dd51..1a435d3763d 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php @@ -240,14 +240,12 @@ class pdf_standard_myobject extends ModelePDFMyObject { if (empty($object->lines[$i]->fk_product)) continue; - $objphoto->fetch($object->lines[$i]->fk_product); //var_dump($objphoto->ref);exit; - if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) - { + if (!empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { $pdir[0] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; $pdir[1] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; } else { - $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product').dol_sanitizeFileName($objphoto->ref).'/'; // default + $pdir[0] = get_exdir(0, 0, 0, 0, $objphoto, 'product'); // default $pdir[1] = get_exdir($objphoto->id, 2, 0, 0, $objphoto, 'product').$objphoto->id."/photos/"; // alternative } @@ -647,7 +645,7 @@ class pdf_standard_myobject extends ModelePDFMyObject if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1112,7 +1110,7 @@ class pdf_standard_myobject extends ModelePDFMyObject } // Recipient name - if ($usecontact && ($object->contact->fk_soc != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)))) { + if ($object->contact->socid != $object->thirdparty->id && (!isset($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) || !empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT))) { $thirdparty = $object->contact; } else { $thirdparty = $object->thirdparty; diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php b/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php index 72b46b96416..b7fd7085783 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php @@ -81,7 +81,7 @@ class mod_myobject_advanced extends ModeleNumRefMyObject $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php b/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php index 67aac8c0e98..2f0ecd06774 100644 --- a/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php +++ b/htdocs/modulebuilder/template/core/tpl/linkedobjectblock_myobject.tpl.php @@ -22,7 +22,7 @@ if (empty($conf) || !is_object($conf)) { } -print "\n"; +print "\n"; global $user; @@ -50,7 +50,7 @@ foreach ($linkedObjectBlock as $key => $objectlink) { date, 'day'); ?> getLibStatut(7); ?> - ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> + ">transnoentitiesnoconv("RemoveLink"), 'unlink'); ?> tabs = array( // 'entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__' //); // to remove a tab - complete_head_from_modules($conf, $langs, null, $head, $h, 'mymodule'); + complete_head_from_modules($conf, $langs, null, $head, $h, 'mymodule@mymodule'); + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'mymodule@mymodule', 'remove'); return $head; } diff --git a/htdocs/modulebuilder/template/mymoduleindex.php b/htdocs/modulebuilder/template/mymoduleindex.php index 990a6d91bfa..c0c98d88e8f 100644 --- a/htdocs/modulebuilder/template/mymoduleindex.php +++ b/htdocs/modulebuilder/template/mymoduleindex.php @@ -112,7 +112,7 @@ if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) $sql.= " WHERE c.fk_soc = s.rowid"; $sql.= " AND c.fk_statut = 0"; $sql.= " AND c.entity IN (".getEntity('commande').")"; - if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); if ($socid) $sql.= " AND c.fk_soc = ".((int) $socid); $resql = $db->query($sql); @@ -187,7 +187,7 @@ if (! empty($conf->mymodule->enabled) && $user->rights->mymodule->read) $sql.= " FROM ".MAIN_DB_PREFIX."mymodule_myobject as s"; //if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.entity IN (".getEntity($myobjectstatic->element).")"; - //if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); //if ($socid) $sql.= " AND s.rowid = $socid"; $sql .= " ORDER BY s.tms DESC"; $sql .= $db->plimit($max, 0); diff --git a/htdocs/modulebuilder/template/myobject_agenda.php b/htdocs/modulebuilder/template/myobject_agenda.php index cc49275e5f8..add786498b2 100644 --- a/htdocs/modulebuilder/template/myobject_agenda.php +++ b/htdocs/modulebuilder/template/myobject_agenda.php @@ -206,7 +206,7 @@ if ($object->id > 0) { $morehtmlref.='
    '.$langs->trans('Project') . ' '; if ($permissiontoadd) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; } $morehtmlref.=' : '; if ($action == 'classify') { diff --git a/htdocs/modulebuilder/template/myobject_card.php b/htdocs/modulebuilder/template/myobject_card.php index 9a689c79a08..f790f433e8c 100644 --- a/htdocs/modulebuilder/template/myobject_card.php +++ b/htdocs/modulebuilder/template/myobject_card.php @@ -158,7 +158,7 @@ if (empty($reshook)) { if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { $backtopage = $backurlforlist; } else { - $backtopage = dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.($id > 0 ? $id : '__ID__'); + $backtopage = dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); } } } @@ -212,19 +212,19 @@ $help_url = ''; llxHeader('', $title, $help_url); // Example : Adding jquery code -print ''; +// print ''; // Part to create @@ -258,11 +258,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '  '; - print ''; // Cancel for create does not post form if we don't know the backtopage - print '
    '; + print $form->buttonsSaveCancel("Create"); print ''; @@ -298,9 +294,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print '   '; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } @@ -374,7 +368,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $langs->load("projects"); $morehtmlref .= '
    '.$langs->trans('Project') . ' '; if ($permissiontoadd) { - //if ($action != 'classify') $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' '; + //if ($action != 'classify') $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' '; $morehtmlref .= ' : '; if ($action == 'classify') { //$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -434,10 +428,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Show object lines $result = $object->getLinesArray(); - print '
    + print ' + '; diff --git a/htdocs/modulebuilder/template/myobject_contact.php b/htdocs/modulebuilder/template/myobject_contact.php index 171ef3aab1d..d2de342c861 100644 --- a/htdocs/modulebuilder/template/myobject_contact.php +++ b/htdocs/modulebuilder/template/myobject_contact.php @@ -171,7 +171,7 @@ if ($object->id) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/modulebuilder/template/myobject_document.php b/htdocs/modulebuilder/template/myobject_document.php index 2db325b8b41..5e8d09db179 100644 --- a/htdocs/modulebuilder/template/myobject_document.php +++ b/htdocs/modulebuilder/template/myobject_document.php @@ -188,7 +188,7 @@ if ($object->id) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index 59af3c6b383..ac4f6be13b8 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -42,6 +42,7 @@ //if (! defined("FORCECSP")) define('FORCECSP', 'none'); // Disable all Content Security Policies //if (! defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET //if (! defined('NOBROWSERNOTIF')) define('NOBROWSERNOTIF', '1'); // Disable browser notification +//if (! defined('NOSESSION')) define('NOSESSION', '1'); // On CLI mode, no need to use web sessions // Load Dolibarr environment $res = 0; @@ -134,7 +135,7 @@ if (!$sortorder) { } // Initialize array of search criterias -$search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); +$search_all = GETPOST('search_all', 'alphanohtml'); $search = array(); foreach ($object->fields as $key => $val) { if (GETPOST('search_'.$key, 'alpha') !== '') { @@ -165,7 +166,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -226,7 +227,7 @@ if (empty($reshook)) { $search[$key.'_dtend'] = ''; } } - $toselect = ''; + $toselect = array(); $search_array_options = array(); } if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') @@ -265,7 +266,7 @@ $sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -293,7 +294,7 @@ foreach ($search as $key => $val) { } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -303,10 +304,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; @@ -327,50 +328,69 @@ $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $objec $sql .= $hookmanager->resPrint; /* If a group by is required -$sql.= " GROUP BY "; +$sql .= " GROUP BY "; foreach($object->fields as $key => $val) { - $sql.='t.'.$key.', '; + $sql .= "t.".$key.", "; } // Add fields from extrafields -if (! empty($extrafields->attributes[$object->table_element]['label'])) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } } // Add where from hooks -$parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters, $object); // Note that $action and $object may have been modified by hook -$sql.=$hookmanager->resPrint; -$sql=preg_replace('/,\s*$/','', $sql); +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +$sql = preg_replace('/,\s*$/', '', $sql); */ -$sql .= $db->order($sortfield, $sortorder); +// Add HAVING from hooks +/* +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListHaving', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= !empty($hookmanager->resPrint) ? (" HAVING 1=1 " . $hookmanager->resPrint) : ""; +*/ // Count total nb of records $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + /* This old and fast method to get and count full list returns all record so use a high amount of memory. $resql = $db->query($sql); $nbtotalofrecords = $db->num_rows($resql); + */ + /* The slow method does not consume memory on mysql (not tested on pgsql) */ + /*$resql = $db->query($sql, 0, 'auto', 1); + while ($db->fetch_object($resql)) { + $nbtotalofrecords++; + }*/ + /* The fast and low memory method to get and count full list converts the sql into a sql count */ + $sqlforcount = preg_replace('/^SELECT[a-z0-9\._\s\(\),]+FROM/i', 'SELECT COUNT(*) as nbtotalofrecords FROM', $sql); + $resql = $db->query($sqlforcount); + $objforcount = $db->fetch_object($resql); + $nbtotalofrecords = $objforcount->nbtotalofrecords; if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 $page = 0; $offset = 0; } + $db->free($resql); } -// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. -if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { - $num = $nbtotalofrecords; -} else { - if ($limit) { - $sql .= $db->plimit($limit + 1, $offset); - } - $resql = $db->query($sql); - if (!$resql) { - dol_print_error($db); - exit; - } - - $num = $db->num_rows($resql); +// Complete request and execute it with limit +$sql .= $db->order($sortfield, $sortorder); +if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); } +$resql = $db->query($sql); +if (!$resql) { + dol_print_error($db); + exit; +} + +$num = $db->num_rows($resql); + + // Direct jump if only one record found if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { $obj = $db->fetch_object($resql); @@ -383,22 +403,22 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ // Output page // -------------------------------------------------------------------- -llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs'); +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); // Example : Adding jquery code -print ''; +// print ''; $arrayofselected = is_array($toselect) ? $toselect : array(); @@ -412,9 +432,11 @@ if ($limit > 0 && $limit != $conf->liste_limit) { foreach ($search as $key => $val) { if (is_array($search[$key]) && count($search[$key])) { foreach ($search[$key] as $skey) { - $param .= '&search_'.$key.'[]='.urlencode($skey); + if ($skey != '') { + $param .= '&search_'.$key.'[]='.urlencode($skey); + } } - } else { + } elseif ($search[$key] != '') { $param .= '&search_'.$key.'='.urlencode($search[$key]); } } @@ -452,6 +474,7 @@ print ''; print ''; print ''; +print ''; print ''; $newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', dol_buildpath('/mymodule/myobject_card.php', 1).'?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); @@ -517,10 +540,8 @@ foreach ($object->fields as $key => $val) { print ''; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); - } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:')=== 0)) { + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); - } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { - print ''; } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { print '
    '; print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); @@ -528,6 +549,12 @@ foreach ($object->fields as $key => $val) { print '
    '; print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); print '
    '; + } elseif ($key == 'lang') { + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php'; + $formadmin = new FormAdmin($db); + print $formadmin->select_language($search[$key], 'search_lang', 0, null, 1, 0, 0, 'minwidth150 maxwidth200', 2); + } else { + print ''; } print ''; } @@ -626,6 +653,8 @@ while ($i < ($limit ? min($num, $limit) : $num)) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -633,7 +662,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/modulebuilder/template/myobject_note.php b/htdocs/modulebuilder/template/myobject_note.php index f5fc29a2591..d1c4e4c8837 100644 --- a/htdocs/modulebuilder/template/myobject_note.php +++ b/htdocs/modulebuilder/template/myobject_note.php @@ -117,7 +117,13 @@ $permissiontoadd = $user->rights->mymodule->myobject->write; // Used by the incl * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -156,7 +162,7 @@ if ($id > 0 || !empty($ref)) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/modulebuilder/template/test/phpunit/MyObjectTest.php b/htdocs/modulebuilder/template/test/phpunit/MyObjectTest.php index c37086f2219..5de2ca29b83 100644 --- a/htdocs/modulebuilder/template/test/phpunit/MyObjectTest.php +++ b/htdocs/modulebuilder/template/test/phpunit/MyObjectTest.php @@ -40,7 +40,10 @@ $langs->load("main"); /** * Class MyObjectTest - * @package Testmymodule + * + * @backupGlobals disabled + * @backupStaticAttributes enabled + * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased. */ class MyObjectTest extends \PHPUnit_Framework_TestCase { @@ -53,7 +56,7 @@ class MyObjectTest extends \PHPUnit_Framework_TestCase * Constructor * We save global variables into local variables * - * @return MyObject + * @return MyObjectTest */ public function __construct() { @@ -73,6 +76,7 @@ class MyObjectTest extends \PHPUnit_Framework_TestCase /** * Global test setup + * * @return void */ public static function setUpBeforeClass() @@ -85,6 +89,7 @@ class MyObjectTest extends \PHPUnit_Framework_TestCase /** * Unit test setup + * * @return void */ protected function setUp() @@ -100,6 +105,7 @@ class MyObjectTest extends \PHPUnit_Framework_TestCase /** * Unit test teardown + * * @return void */ protected function tearDown() @@ -109,6 +115,7 @@ class MyObjectTest extends \PHPUnit_Framework_TestCase /** * Global test teardown + * * @return void */ public static function tearDownAfterClass() diff --git a/htdocs/mrp/class/api_mos.class.php b/htdocs/mrp/class/api_mos.class.php index ed17db03db6..92351184ebe 100644 --- a/htdocs/mrp/class/api_mos.class.php +++ b/htdocs/mrp/class/api_mos.class.php @@ -22,7 +22,7 @@ require_once DOL_DOCUMENT_ROOT.'/mrp/class/mo.class.php'; /** - * \file mrp/class/api_mo.class.php + * \file htdocs/mrp/class/api_mos.class.php * \ingroup mrp * \brief File for API management of MO. */ @@ -353,6 +353,9 @@ class Mos extends DolibarrApi $stockmove = new MouvementStock($this->db); + $consumptioncomplete = true; + $productioncomplete = true; + if (!empty($arraytoconsume) && !empty($arraytoproduce)) { $pos = 0; $arrayofarrayname = array("arraytoconsume","arraytoproduce"); @@ -370,19 +373,21 @@ class Mos extends DolibarrApi $qtytoprocess = $value["qty"]; if (isset($value["fk_warehouse"])) { // If there is a warehouse to set if (!($value["fk_warehouse"] > 0)) { // If there is no warehouse set. - throw new RestException(500, "Field fk_warehouse must be > 0 in ".$arrayname); $error++; + throw new RestException(500, "Field fk_warehouse must be > 0 in ".$arrayname); } if ($tmpproduct->status_batch) { - throw new RestException(500, "Product ".$tmpproduct->ref."must be in batch"); $error++; + throw new RestException(500, "Product ".$tmpproduct->ref."must be in batch"); } } $idstockmove = 0; if (!$error && $value["fk_warehouse"] > 0) { // Record stock movement $id_product_batch = 0; - $stockmove->origin = $this->mo; + + $stockmove->setOrigin($this->mo->element, $this->mo->id); + if ($qtytoprocess >= 0) { $moline = new MoLine($this->db); $moline->fk_mo = $this->mo->id; @@ -457,9 +462,6 @@ class Mos extends DolibarrApi } } if (!$error) { - $consumptioncomplete = true; - $productioncomplete = true; - if ($autoclose <= 0) { $consumptioncomplete = false; $productioncomplete = false; @@ -476,13 +478,13 @@ class Mos extends DolibarrApi if (isset($line->fk_warehouse)) { // If there is a warehouse to set if (!($line->fk_warehouse > 0)) { // If there is no warehouse set. $langs->load("errors"); - throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Warehouse"), $tmpproduct->ref)); $error++; + throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Warehouse"), $tmpproduct->ref)); } if ($tmpproduct->status_batch) { $langs->load("errors"); - throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Batch"), $tmpproduct->ref)); $error++; + throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Batch"), $tmpproduct->ref)); } } $idstockmove = 0; @@ -535,13 +537,13 @@ class Mos extends DolibarrApi if (isset($line->fk_warehouse)) { // If there is a warehouse to set if (!($line->fk_warehouse > 0)) { // If there is no warehouse set. $langs->load("errors"); - throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Warehouse"), $tmpproduct->ref)); $error++; + throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Warehouse"), $tmpproduct->ref)); } if ($tmpproduct->status_batch) { $langs->load("errors"); - throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Batch"), $tmpproduct->ref)); $error++; + throw new RestException(500, $langs->trans("ErrorFieldRequiredForProduct", $langs->transnoentitiesnoconv("Batch"), $tmpproduct->ref)); } } $idstockmove = 0; @@ -586,9 +588,6 @@ class Mos extends DolibarrApi } if (!$error) { - $consumptioncomplete = true; - $productioncomplete = true; - if ($autoclose > 0) { foreach ($this->mo->lines as $line) { if ($line->role == 'toconsume') { @@ -620,6 +619,7 @@ class Mos extends DolibarrApi } } } + // Update status of MO dol_syslog("consumptioncomplete = ".$consumptioncomplete." productioncomplete = ".$productioncomplete); //var_dump("consumptioncomplete = ".$consumptioncomplete." productioncomplete = ".$productioncomplete); @@ -716,7 +716,7 @@ class Mos extends DolibarrApi if (!isset($data[$field])) { throw new RestException(400, "$field field missing"); } - $myobject[$field] = $data[$field]; + $myobject[$field] = $data[$field]; } return $myobject; } diff --git a/htdocs/mrp/class/mo.class.php b/htdocs/mrp/class/mo.class.php index 115844c916d..a7ed52687df 100644 --- a/htdocs/mrp/class/mo.class.php +++ b/htdocs/mrp/class/mo.class.php @@ -97,32 +97,34 @@ class Mo extends CommonObject * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. */ public $fields = array( - 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",), + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'position'=>5, 'notnull'=>1, 'default'=>'1', 'index'=>1), 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>4, 'position'=>10, 'notnull'=>1, 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of object", 'showoncombobox'=>'1', 'noteditable'=>1), 'fk_bom' => array('type'=>'integer:Bom:bom/class/bom.class.php:0:t.status=1', 'filter'=>'active=1', 'label'=>'BOM', 'enabled'=>1, 'visible'=>1, 'position'=>33, 'notnull'=>-1, 'index'=>1, 'comment'=>"Original BOM", 'css'=>'minwidth100 maxwidth300', 'csslist'=>'nowraponall'), - 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:0', 'label'=>'Product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'comment'=>"Product to produce", 'css'=>'maxwidth300', 'picto'=>'product'), + 'mrptype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>34, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing', 1=>'Disassemble'), 'css'=>'minwidth150', 'csslist'=>'minwidth150 center'), + 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:0', 'label'=>'Product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'comment'=>"Product to produce", 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax100', 'picto'=>'product'), 'qty' => array('type'=>'real', 'label'=>'QtyToProduce', 'enabled'=>1, 'visible'=>1, 'position'=>40, 'notnull'=>1, 'comment'=>"Qty to produce", 'css'=>'width75', 'default'=>1, 'isameasure'=>1), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>42, 'notnull'=>-1, 'searchall'=>1, 'showoncombobox'=>'2',), - 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1', 'label'=>'ThirdParty', 'picto'=>'company', 'enabled'=>1, 'visible'=>-1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'css'=>'maxwidth400'), - 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1:fk_statut=1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>1, 'visible'=>-1, 'position'=>51, 'notnull'=>-1, 'index'=>1, 'css'=>'minwidth200 maxwidth400'), - 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>1, 'visible'=>1, 'position'=>52, 'css'=>'maxwidth400'), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>42, 'notnull'=>-1, 'searchall'=>1, 'showoncombobox'=>'2', 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax200'), + 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1', 'label'=>'ThirdParty', 'picto'=>'company', 'enabled'=>1, 'visible'=>-1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'css'=>'maxwidth400', 'csslist'=>'tdoverflowmax150'), + 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1:fk_statut=1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>1, 'visible'=>-1, 'position'=>51, 'notnull'=>-1, 'index'=>1, 'css'=>'minwidth200 maxwidth400', 'csslist'=>'tdoverflowmax100'), + 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>1, 'visible'=>1, 'position'=>52, 'css'=>'maxwidth400', 'csslist'=>'tdoverflowmax200'), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61, 'notnull'=>-1,), 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>62, 'notnull'=>-1,), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>500, 'notnull'=>1,), 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'position'=>501, 'notnull'=>1,), 'date_valid' => array('type'=>'datetime', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-2, 'position'=>502,), - 'fk_user_creat' => array('type'=>'integer', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid',), - 'fk_user_modif' => array('type'=>'integer', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1,), + 'fk_user_creat' => array('type'=>'integer', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax100'), + 'fk_user_modif' => array('type'=>'integer', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1, 'csslist'=>'tdoverflowmax100'), 'date_start_planned' => array('type'=>'datetime', 'label'=>'DateStartPlannedMo', 'enabled'=>1, 'visible'=>1, 'position'=>55, 'notnull'=>-1, 'index'=>1, 'help'=>'KeepEmptyForAsap'), 'date_end_planned' => array('type'=>'datetime', 'label'=>'DateEndPlannedMo', 'enabled'=>1, 'visible'=>1, 'position'=>56, 'notnull'=>-1, 'index'=>1,), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,), 'model_pdf' =>array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'position'=>1010), - 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>2, 'position'=>1000, 'default'=>0, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Brouillon', '1'=>'Validated', '2'=>'InProgress', '3'=>'StatusMOProduced', '9'=>'Canceled')), + 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>2, 'position'=>1000, 'default'=>0, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated', '2'=>'InProgress', '3'=>'StatusMOProduced', '9'=>'Canceled')), ); public $rowid; - public $ref; public $entity; + public $ref; + public $mrptype; public $label; public $qty; public $fk_warehouse; @@ -253,7 +255,7 @@ class Mo extends CommonObject $this->db->begin(); // Check that product is not a kit/virtual product - if (empty($conf->global->ALLOW_USE_KITS_INTO_BOM_AND_MO) and $this->fk_product > 0) { + if (empty($conf->global->ALLOW_USE_KITS_INTO_BOM_AND_MO) && $this->fk_product > 0) { include_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $tmpproduct = new Product($this->db); $tmpproduct->fetch($this->fk_product); @@ -265,6 +267,14 @@ class Mo extends CommonObject } } + if ($this->fk_bom > 0) { + // If there is a nown BOM, we force the type of MO to the type of BOM + $tmpbom = new BOM($this->db); + $tmpbom->fetch($this->fk_bom); + + $this->mrptype = $tmpbom->bomtype; + } + if (!$error) { $idcreated = $this->createCommon($user, $notrigger); if ($idcreated <= 0) { @@ -273,7 +283,7 @@ class Mo extends CommonObject } if (!$error) { - $result = $this->updateProduction($user, $notrigger); + $result = $this->updateProduction($user, $notrigger); // Insert lines from BOM if ($result <= 0) { $error++; } @@ -437,25 +447,25 @@ class Mo extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (strpos($key, 'date') !== false) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' AND ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); @@ -502,7 +512,7 @@ class Mo extends CommonObject if ($lineid > 0) { $sql .= ' AND t.fk_mrp_production = '.((int) $lineid); } else { - $sql .= 'AND t.fk_mo = '.$this->id; + $sql .= 'AND t.fk_mo = '.((int) $this->id); } $resql = $this->db->query($sql); @@ -546,7 +556,7 @@ class Mo extends CommonObject $result = 0; $sql = 'SELECT COUNT(rowid) as nb FROM '.MAIN_DB_PREFIX.'stock_mouvement as sm'; - $sql .= " WHERE sm.origintype = 'mo' and sm.fk_origin = ".$this->id; + $sql .= " WHERE sm.origintype = 'mo' and sm.fk_origin = ".((int) $this->id); $resql = $this->db->query($sql); if ($resql) { @@ -627,7 +637,7 @@ class Mo extends CommonObject if (!$error) { // TODO Check that production has not started. If yes, we stop here. - $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'mrp_production WHERE fk_mo = '.$this->id; + $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'mrp_production WHERE fk_mo = '.((int) $this->id); $this->db->query($sql); $moline = new MoLine($this->db); @@ -638,7 +648,7 @@ class Mo extends CommonObject $moline->fk_product = $this->fk_product; $moline->position = 1; - if ($this->fk_bom > 0) { // If a BOM is defined, we know what to consume. + if ($this->fk_bom > 0) { // If a BOM is defined, we know what to produce. include_once DOL_DOCUMENT_ROOT.'/bom/class/bom.class.php'; $bom = new Bom($this->db); $bom->fetch($this->fk_bom); @@ -649,6 +659,12 @@ class Mo extends CommonObject $role = 'toconsume'; $moline->role = 'toproduce'; } + } else { + if ($this->mrptype == 1) { + $moline->role = 'toconsume'; + } else { + $moline->role = 'toproduce'; + } } $resultline = $moline->create($user, false); // Never use triggers here @@ -672,7 +688,7 @@ class Mo extends CommonObject if ($line->qty_frozen) { $moline->qty = $line->qty; // Qty to consume does not depends on quantity to produce } else { - $moline->qty = price2num(($line->qty / $bom->qty) * $this->qty / $line->efficiency, 'MS'); // Calculate with Qty to produce and more presition + $moline->qty = price2num(($line->qty / ( ! empty($bom->qty) ? $bom->qty : 1 ) ) * $this->qty / ( ! empty($line->efficiency) ? $line->efficiency : 1 ), 'MS'); // Calculate with Qty to produce and more presition } if ($moline->qty <= 0) { $error++; @@ -838,7 +854,7 @@ class Mo extends CommonObject $sql .= " status = ".self::STATUS_VALIDATED.","; $sql .= " date_valid='".$this->db->idate($now)."',"; $sql .= " fk_user_valid = ".$user->id; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::validate()", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1007,10 +1023,13 @@ class Mo extends CommonObject } $label .= '
    '; $label .= ''.$langs->trans('Ref').': '.$this->ref; + if (isset($this->label)) { + $label .= '
    '.$langs->trans('Label').': '.$this->label; + } - $url = dol_buildpath('/mrp/mo_card.php', 1).'?id='.$this->id; + $url = DOL_URL_ROOT.'/mrp/mo_card.php?id='.$this->id; if ($option == 'production') { - $url = dol_buildpath('/mrp/mo_production.php', 1).'?id='.$this->id; + $url = DOL_URL_ROOT.'/mrp/mo_production.php?id='.$this->id; } if ($option != 'nolink') { @@ -1173,6 +1192,8 @@ class Mo extends CommonObject public function initAsSpecimen() { $this->initAsSpecimenCommon(); + + $this->lines = array(); } /** @@ -1185,7 +1206,7 @@ class Mo extends CommonObject $this->lines = array(); $objectline = new MoLine($this->db); - $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_mo = '.$this->id)); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_mo = '.((int) $this->id))); if (is_numeric($result)) { $this->error = $this->error; @@ -1543,25 +1564,25 @@ class MoLine extends CommonObjectLine if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (strpos($key, 'date') !== false) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' AND ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); diff --git a/htdocs/mrp/lib/mrp_mo.lib.php b/htdocs/mrp/lib/mrp_mo.lib.php index 8fe07df89c1..08bc07f298a 100644 --- a/htdocs/mrp/lib/mrp_mo.lib.php +++ b/htdocs/mrp/lib/mrp_mo.lib.php @@ -104,5 +104,7 @@ function moPrepareHead($object) //); // to remove a tab complete_head_from_modules($conf, $langs, $object, $head, $h, 'mo@mrp'); + complete_head_from_modules($conf, $langs, $object, $head, $h, 'mo@mrp', 'remove'); + return $head; } diff --git a/htdocs/mrp/mo_agenda.php b/htdocs/mrp/mo_agenda.php index bbd2724fb1c..95dab4e62ab 100644 --- a/htdocs/mrp/mo_agenda.php +++ b/htdocs/mrp/mo_agenda.php @@ -158,7 +158,7 @@ if ($object->id > 0) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($permissiontoadd) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/mrp/mo_card.php b/htdocs/mrp/mo_card.php index fad22645cd5..136952662cc 100644 --- a/htdocs/mrp/mo_card.php +++ b/htdocs/mrp/mo_card.php @@ -49,6 +49,7 @@ $backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); // Initialize technical objects $object = new Mo($db); $objectbom = new BOM($db); + $extrafields = new ExtraFields($db); $diroutputmassaction = $conf->mrp->dir_output.'/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('mocard', 'globalcard')); // Note that conf->hooks_modules contains array @@ -74,13 +75,14 @@ if (empty($action) && empty($id) && empty($ref)) { // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once. -if (GETPOST('fk_bom', 'int')) { +if (GETPOST('fk_bom', 'int') > 0) { $objectbom->fetch(GETPOST('fk_bom', 'int')); if ($action != 'add') { // We force calling parameters if we are not in the submit of creation of MO $_POST['fk_product'] = $objectbom->fk_product; $_POST['qty'] = $objectbom->qty; + $_POST['mrptype'] = $objectbom->bomtype; $_POST['fk_warehouse'] = $objectbom->fk_warehouse; $_POST['note_private'] = $objectbom->note_private; } @@ -197,28 +199,21 @@ $form = new Form($db); $formfile = new FormFile($db); $formproject = new FormProjets($db); -$title = $langs->trans('Mo')." - ".$langs->trans("Card"); +$title = $langs->trans('ManufacturingOrder')." - ".$langs->trans("Card"); llxHeader('', $title, ''); -// Example : Adding jquery code -print ''; // Part to create if ($action == 'create') { + if (GETPOST('fk_bom', 'int') > 0) { + $titlelist = $langs->trans("ToConsume"); + if ($objectbom->bomtype == 1) { + $titlelist = $langs->trans("ToObtain"); + } + } + print load_fiche_titre($langs->trans("NewObject", $langs->transnoentitiesnoconv("Mo")), '', 'mrp'); print ''; @@ -259,7 +254,10 @@ if ($action == 'create') { console.log(data); if (typeof data.rowid != "undefined") { console.log("New BOM loaded, we set values in form"); + console.log(data); $('#qty').val(data.qty); + $("#mrptype").val(data.bomtype); // We set bomtype into mrptype + $('#mrptype').trigger('change'); // Notify any JS components that the value changed $("#fk_product").val(data.fk_product); $('#fk_product').trigger('change'); // Notify any JS components that the value changed $('#note_private').val(data.description); @@ -282,7 +280,7 @@ if ($action == 'create') { else if (jQuery('#fk_bom').val() < 0) { // Redirect to page with all fields defined except fk_bom set console.log(jQuery('#fk_product').val()); - window.location.href = '?action=create&qty='+jQuery('#qty').val()+'&fk_product='+jQuery('#fk_product').val()+'&label='+jQuery('#label').val()+'&fk_project='+jQuery('#fk_project').val()+'&fk_warehouse='+jQuery('#fk_warehouse').val(); + window.location.href = '?action=create&qty='+jQuery('#qty').val()+'&mrptype='+jQuery('#mrptype').val()+'&fk_product='+jQuery('#fk_product').val()+'&label='+jQuery('#label').val()+'&fk_project='+jQuery('#fk_project').val()+'&fk_warehouse='+jQuery('#fk_warehouse').val(); /* $('#qty').val(''); $("#fk_product").val(''); @@ -300,19 +298,16 @@ if ($action == 'create') { '; - print ''; - print '  '; - print ''; // Cancel for create does not post form if we don't know the backtopage - print '
    '; + print $form->buttonsSaveCancel("Create"); - if (GETPOST('fk_bom', 'int') > 0) { - print load_fiche_titre($langs->trans("ToConsume")); + if ($objectbom->id > 0) { + print load_fiche_titre($titlelist); print '
    '; print ''; $object->lines = $objectbom->lines; + $object->mrptype = $objectbom->bomtype; $object->bom = $objectbom; $object->printOriginLinesList('', array()); @@ -355,9 +350,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print '   '; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } @@ -459,7 +452,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($permissiontoadd) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -520,10 +513,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea //$result = $object->getLinesArray(); $object->fetchLines(); - print ' + print ' + '; @@ -615,7 +609,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Modify if ($object->status == $object::STATUS_DRAFT) { if ($permissiontoadd) { - print ''.$langs->trans("Modify").''."\n"; + print ''.$langs->trans("Modify").''."\n"; } else { print ''.$langs->trans('Modify').''."\n"; } @@ -705,7 +699,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; $formactions = new FormActions($db); - $somethingshown = $formactions->showactions($object, 'mo', $socid, 1, '', $MAXEVENT, '', $morehtmlright); + $somethingshown = $formactions->showactions($object, $object->element, $socid, 1, '', $MAXEVENT, '', $morehtmlright); print ''; } diff --git a/htdocs/mrp/mo_document.php b/htdocs/mrp/mo_document.php index 211fa897c09..7e297206b3d 100644 --- a/htdocs/mrp/mo_document.php +++ b/htdocs/mrp/mo_document.php @@ -134,7 +134,7 @@ if ($object->id) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($permissiontoadd) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/mrp/mo_list.php b/htdocs/mrp/mo_list.php index 7786bf9eca6..e5648cad5f7 100644 --- a/htdocs/mrp/mo_list.php +++ b/htdocs/mrp/mo_list.php @@ -12,7 +12,7 @@ * 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 . + * along with this program. If not, see . */ /** @@ -54,9 +54,10 @@ $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); -if (empty($page) || $page == -1 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha') || (empty($toselect) && $massaction === '0')) { +if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters $page = 0; -} // If $page is not defined, or '' or -1 or if we click on clear filters or if we select empty mass action +} $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; @@ -83,12 +84,16 @@ if (!$sortorder) { } // Initialize array of search criterias -$search_all = GETPOST('search_all', 'alphanohtml') ? GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml'); +$search_all = GETPOST('search_all', 'alphanohtml'); $search = array(); foreach ($object->fields as $key => $val) { if (GETPOST('search_'.$key, 'alpha') !== '') { $search[$key] = GETPOST('search_'.$key, 'alpha'); } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } } // List of fields to search into when doing a "search in all" @@ -99,27 +104,24 @@ foreach ($object->fields as $key => $val) { } } -// Definition of fields for list +// Definition of array of fields for columns $arrayfields = array(); foreach ($object->fields as $key => $val) { // If $val['visible']==0, then we never show the field if (!empty($val['visible'])) { - $arrayfields['t.'.$key] = array('label'=>$val['label'], 'checked'=>(($val['visible'] < 0) ? 0 : 1), 'enabled'=>($val['enabled'] && ($val['visible'] != 3)), 'position'=>$val['position']); + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); } } // Extra fields -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label']) > 0) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - if (!empty($extrafields->attributes[$object->table_element]['list'][$key])) { - $arrayfields["ef.".$key] = array( - 'label'=>$extrafields->attributes[$object->table_element]['label'][$key], - 'checked'=>(($extrafields->attributes[$object->table_element]['list'][$key] < 0) ? 0 : 1), - 'position'=>$extrafields->attributes[$object->table_element]['pos'][$key], - 'enabled'=>(abs($extrafields->attributes[$object->table_element]['list'][$key]) != 3 && $extrafields->attributes[$object->table_element]['perms'][$key]) - ); - } - } -} +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); @@ -140,7 +142,8 @@ $result = restrictedArea($user, 'mrp'); */ if (GETPOST('cancel', 'alpha')) { - $action = 'list'; $massaction = ''; + $action = 'list'; + $massaction = ''; } if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; @@ -160,8 +163,12 @@ if (empty($reshook)) { if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers foreach ($object->fields as $key => $val) { $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } } - $toselect = ''; + $toselect = array(); $search_array_options = array(); } if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') @@ -189,18 +196,18 @@ $now = dol_now(); //$help_url="EN:Module_Mo|FR:Module_Mo_FR|ES:Módulo_Mo"; $help_url = ''; $title = $langs->trans('ListOfManufacturingOrders'); +$morejs = array(); +$morecss = array(); // Build and execute select // -------------------------------------------------------------------- $sql = 'SELECT '; -foreach ($object->fields as $key => $val) { - $sql .= 't.'.$key.', '; -} +$sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ""); } } // Add fields from hooks @@ -209,27 +216,45 @@ $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $obje $sql .= preg_replace('/^,/', '', $hookmanager->resPrint); $sql = preg_replace('/,\s*$/', '', $sql); $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; if ($object->ismultientitymanaged == 1) { $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; } else { $sql .= " WHERE 1 = 1"; } foreach ($search as $key => $val) { - if ($key == 'status' && $search[$key] == -1) { - continue; - } - $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if (strpos($object->fields[$key]['type'], 'integer:') === 0) { - if ($search[$key] == '-1') { - $search[$key] = ''; + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } } - $mode_search = 2; - } - if ($search[$key] != '') { - $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); } } if ($search_all) { @@ -244,18 +269,19 @@ $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $objec $sql .= $hookmanager->resPrint; /* If a group by is required -$sql.= " GROUP BY " -foreach($object->fields as $key => $val) -{ - $sql.='t.'.$key.', '; +$sql.= " GROUP BY "; +foreach($object->fields as $key => $val) { + $sql .= "t.".$key.", "; } // Add fields from extrafields if (! empty($extrafields->attributes[$object->table_element]['label'])) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.", " : ""); + } } // Add where from hooks $parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters); // Note that $action and $object may have been modified by hook +$reshook=$hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql=preg_replace('/,\s*$/','', $sql); */ @@ -301,22 +327,8 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ // Output page // -------------------------------------------------------------------- -llxHeader('', $title, $help_url); +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); -// Example : Adding jquery code -print ''; $arrayofselected = is_array($toselect) ? $toselect : array(); @@ -330,9 +342,11 @@ if ($limit > 0 && $limit != $conf->liste_limit) { foreach ($search as $key => $val) { if (is_array($search[$key]) && count($search[$key])) { foreach ($search[$key] as $skey) { - $param .= '&search_'.$key.'[]='.urlencode($skey); + if ($skey != '') { + $param .= '&search_'.$key.'[]='.urlencode($skey); + } } - } else { + } elseif ($search[$key] != '') { $param .= '&search_'.$key.'='.urlencode($search[$key]); } } @@ -341,6 +355,10 @@ if ($optioncss != '') { } // Add $param from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; // List of mass actions available $arrayofmassactions = array( @@ -357,7 +375,7 @@ if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'pr } $massactionbutton = $form->selectMassAction('', $arrayofmassactions); -print ''; +print ''."\n"; if ($optioncss != '') { print ''; } @@ -366,11 +384,12 @@ print ''; print ''; print ''; +print ''; print ''; $newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/mrp/mo_card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'mrp', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); // Add code for pre mass action (confirmation or email presend form) $topicmail = "SendMoRef"; @@ -417,24 +436,31 @@ print '
    '; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if ($key == 'status') { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; } @@ -465,7 +491,7 @@ foreach ($object->fields as $key => $val) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { @@ -485,7 +511,7 @@ print ''."\n"; // Detect if we need a fetch on each output line $needToFetchEachLine = 0; -if (is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { if (preg_match('/\$object/', $val)) { $needToFetchEachLine++; // There is at least one compute field that use $object @@ -498,6 +524,7 @@ if (is_array($extrafields->attributes[$object->table_element]['computed']) && co // -------------------------------------------------------------------- $i = 0; $totalarray = array(); +$totalarray['nbfield'] = 0; while ($i < ($limit ? min($num, $limit) : $num)) { $obj = $db->fetch_object($resql); if (empty($obj)) { @@ -523,17 +550,16 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; } - if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status') { + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } - if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) { - $cssforfield = 'tdoverflowmax100'; - } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -541,7 +567,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/mrp/mo_movements.php b/htdocs/mrp/mo_movements.php index 7b9c0662e53..3b1ac109e5d 100644 --- a/htdocs/mrp/mo_movements.php +++ b/htdocs/mrp/mo_movements.php @@ -133,12 +133,12 @@ $arrayfields = array( //'m.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), //'m.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500) ); -if (!empty($conf->global->PRODUCT_DISABLE_EATBY)) { - unset($arrayfields['pl.eatby']); -} if (!empty($conf->global->PRODUCT_DISABLE_SELLBY)) { unset($arrayfields['pl.sellby']); } +if (!empty($conf->global->PRODUCT_DISABLE_EATBY)) { + unset($arrayfields['pl.eatby']); +} $objectlist->fields = dol_sort_array($objectlist->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); @@ -328,7 +328,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($permissiontoadd) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -423,7 +423,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Add fields from extrafields if (!empty($extrafields->attributes[$objectlist->table_element]['label'])) { foreach ($extrafields->attributes[$objectlist->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$objectlist->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$objectlist->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks diff --git a/htdocs/mrp/mo_note.php b/htdocs/mrp/mo_note.php index 6bbfc503453..12b9ade3f2a 100644 --- a/htdocs/mrp/mo_note.php +++ b/htdocs/mrp/mo_note.php @@ -68,7 +68,14 @@ $permissionnote = $user->rights->mrp->write; // Used by the include of actions_s * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -105,7 +112,7 @@ if ($id > 0 || !empty($ref)) { $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($permissiontoadd) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/mrp/mo_production.php b/htdocs/mrp/mo_production.php index ca9480eb1ae..0e2edb81203 100644 --- a/htdocs/mrp/mo_production.php +++ b/htdocs/mrp/mo_production.php @@ -38,7 +38,7 @@ dol_include_once('/bom/class/bom.class.php'); dol_include_once('/mrp/lib/mrp_mo.lib.php'); // Load translation files required by the page -$langs->loadLangs(array("mrp", "stocks", "other", "productbatch")); +$langs->loadLangs(array("mrp", "stocks", "other", "product", "productbatch")); // Get parameters $id = GETPOST('id', 'int'); @@ -149,14 +149,19 @@ if (empty($reshook)) { $result = $object->setStatut($object::STATUS_INPROGRESS, 0, '', 'MRP_REOPEN'); } - if ($action == 'confirm_addconsumeline' && GETPOST('addconsumelinebutton') && $permissiontoadd) { + if (($action == 'confirm_addconsumeline' && GETPOST('addconsumelinebutton') && $permissiontoadd) + || ($action == 'confirm_addproduceline' && GETPOST('addproducelinebutton') && $permissiontoadd)) { $moline = new MoLine($db); // Line to produce $moline->fk_mo = $object->id; $moline->qty = GETPOST('qtytoadd', 'int'); ; $moline->fk_product = GETPOST('productidtoadd', 'int'); - $moline->role = 'toconsume'; + if (GETPOST('addconsumelinebutton')) { + $moline->role = 'toconsume'; + } else { + $moline->role = 'toproduce'; + } $moline->origin_type = 'free'; // free consume line $moline->position = 0; @@ -206,7 +211,8 @@ if (empty($reshook)) { if (!$error && GETPOST('idwarehouse-'.$line->id.'-'.$i) > 0) { // Record stock movement $id_product_batch = 0; - $stockmove->origin = $object; + $stockmove->setOrigin($object->element, $object->id); + if ($qtytoprocess >= 0) { $idstockmove = $stockmove->livraison($user, $line->fk_product, GETPOST('idwarehouse-'.$line->id.'-'.$i), $qtytoprocess, 0, $labelmovement, dol_now(), '', '', GETPOST('batch-'.$line->id.'-'.$i), $id_product_batch, $codemovement); } else { @@ -515,7 +521,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $morehtmlref .= '
    '.$langs->trans('Project').' '; if ($permissiontoadd) { if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; } if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_soc, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -642,7 +648,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; } - if (in_array($action, array('consumeorproduce', 'consumeandproduceall', 'addconsumeline'))) { + if (in_array($action, array('consumeorproduce', 'consumeandproduceall', 'addconsumeline', 'addproduceline'))) { print ''; print ''; print ''; @@ -661,7 +667,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; print $langs->trans("MovementLabel").':

    '; print '
    '; - print ''; + print ''; print '   '; print ''; print '

    '; @@ -686,6 +692,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $bom = new Bom($db); $res = $bom->fetch($object->fk_bom); if ($res > 0) { + $bom->calculateCosts(); $bomcost = $bom->unit_cost; } } @@ -698,7 +705,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $newlinetext = ''; if ($object->status != $object::STATUS_PRODUCED && $object->status != $object::STATUS_CANCELED && $action != 'consumeorproduce' && $action != 'consumeandproduceall') { - $newlinetext = ''.$langs->trans("AddNewConsumeLines").''; + $newlinetext = ''.$langs->trans("AddNewConsumeLines").''; } print load_fiche_titre($langs->trans('Consumption'), '', '', 0, '', '', $newlinetext); @@ -721,6 +728,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print $langs->trans("Warehouse"); } print ''; + if ($conf->productbatch->enabled) { + // Available + print '
    '; + } // Lot - serial if ($conf->productbatch->enabled) { print ''; // Warehouse print ''; // Lot - serial if ($conf->productbatch->enabled) { @@ -805,6 +820,8 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } } + $bomcost = price2num($bomcost, 'MU'); + $arrayoflines = $object->fetchLinesLinked('consumed', $line->id); $alreadyconsumed = 0; foreach ($arrayoflines as $line2) { @@ -862,8 +879,17 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } print ' '.$alreadyconsumed; print ''; - print ''; + if ($conf->stock->enabled) { + print ''; + } if ($conf->productbatch->enabled) { print ''; // Lot } @@ -920,7 +946,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if ($action == 'consumeorproduce' && !GETPOSTISSET('qty-'.$line->id.'-'.$i)) { $preselected = 0; } - print ''; + + $disable = ''; + if (!empty($conf->global->MRP_NEVER_CONSUME_MORE_THAN_EXPECTED) && ($line->qty - $alreadyconsumed) <= 0) { + $disable = 'disabled'; + } + + print ''; if ($permissiontoupdatecost && !empty($conf->global->MRP_SHOW_COST_FOR_CONSUMPTION)) { print ''; } @@ -942,7 +974,8 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; } @@ -962,7 +995,19 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print '
    '; print '
    '; - print load_fiche_titre($langs->trans('Production'), '', ''); + $nblinetoproduce = 0; + foreach ($object->lines as $line) { + if ($line->role == 'toproduce') { + $nblinetoproduce++; + } + } + $newlinetext = ''; + if ($object->status != $object::STATUS_PRODUCED && $object->status != $object::STATUS_CANCELED && $action != 'consumeorproduce' && $action != 'consumeandproduceall') { + if ($nblinetoproduce == 0 || $object->mrptype == 1) { + $newlinetext = ''.$langs->trans("AddNewProduceLines").''; + } + } + print load_fiche_titre($langs->trans('Production'), '', '', 0, '', '', $newlinetext); print '
    '; print '
    '; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { - print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); - } elseif (strpos($val['type'], 'integer:') === 0) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth125', 1); - } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { - print ''; + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
    '; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
    '; + print '
    '; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
    '; } print '
    '; + if ($collapse || in_array($action, array('consumeorproduce', 'consumeandproduceall'))) { + print $langs->trans("Stock"); + } + print ''; @@ -751,7 +766,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; - print ''; + print ''; print ''; // Warehouse + // Warehouse + print ''; print ''; + if ($tmpproduct->stock_reel < ($line->qty - $alreadyconsumed)) { + print img_warning($langs->trans('StockTooLow')).' '; + } + print $tmpproduct->stock_reel; // Available + print ''; if ($tmpproduct->status_batch) { $preselected = (GETPOSTISSET('batch-'.$line->id.'-'.$i) ? GETPOST('batch-'.$line->id.'-'.$i) : ''); - print ''; + print ''; + print $formproduct->selectLotDataList('batch-'.$line->id.'-'.$i, 0, $line->fk_product, '', ''); } print '
    '; @@ -972,9 +1017,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; if ($permissiontoupdatecost) { if (empty($bomcost)) { - print ''; + print ''; } else { - print ''; + print ''; } } print ''; @@ -993,6 +1038,34 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } print ''; + if ($action == 'addproduceline') { + print ''."\n"; + print ''; + print ''; + // Qty + print ''; + // Cost price + print ''; + + // Qty already produced + print ''; + // Warehouse + print ''; + // Lot - serial + if ($conf->productbatch->enabled) { + print ''; + } + // Action + if ($permissiontodelete) { + print ''; + } + print ''; + } + if (!empty($object->lines)) { $nblinetoproduce = 0; foreach ($object->lines as $line) { @@ -1011,10 +1084,6 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $tmpproduct = new Product($db); $tmpproduct->fetch($line->fk_product); - if (empty($bomcost)) { - $bomcost = $tmpproduct->pmp; - } - $arrayoflines = $object->fetchLinesLinked('produced', $line->id); $alreadyproduced = 0; foreach ($arrayoflines as $line2) { @@ -1033,8 +1102,19 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; print ''; if ($permissiontoupdatecost) { + // Defined $manufacturingcost + $manufacturingcost = $bomcost; + if (empty($manufacturingcost)) { + $manufacturingcost = price2num($tmpproduct->cost_price, 'MU'); + } + if (empty($manufacturingcost)) { + $manufacturingcost = price2num($tmpproduct->pmp, 'MU'); + } + print ''; } print ''; if ($conf->productbatch->enabled) { print ''; // Lot - print ''; + } + + if ($permissiontodelete && $line->origin_type == 'free') { + $href = $_SERVER["PHP_SELF"]; + $href .= '?id='.$object->id; + $href .= '&action=deleteline'; + $href .= '&lineid='.$line->id; + print ''; } print ''; @@ -1115,11 +1206,20 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } print ''; if ($permissiontoupdatecost) { + // Defined $manufacturingcost + $manufacturingcost = $bomcost; + if (empty($manufacturingcost)) { + $manufacturingcost = price2num($tmpproduct->cost_price, 'MU'); + } + if (empty($manufacturingcost)) { + $manufacturingcost = price2num($tmpproduct->pmp, 'MU'); + } + if ($tmpproduct->type == Product::TYPE_PRODUCT || !empty($conf->global->STOCK_SUPPORTS_SERVICES)) { - $preselected = (GETPOSTISSET('pricetoproduce-'.$line->id.'-'.$i) ? GETPOST('pricetoproduce-'.$line->id.'-'.$i) : price($bomcost)); + $preselected = (GETPOSTISSET('pricetoproduce-'.$line->id.'-'.$i) ? GETPOST('pricetoproduce-'.$line->id.'-'.$i) : price($manufacturingcost)); print ''; } else { - print ''; + print ''; } } print ''; diff --git a/htdocs/mrp/tpl/linkedobjectblock.tpl.php b/htdocs/mrp/tpl/linkedobjectblock.tpl.php new file mode 100644 index 00000000000..5dbe583fd21 --- /dev/null +++ b/htdocs/mrp/tpl/linkedobjectblock.tpl.php @@ -0,0 +1,82 @@ + + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2014 Marcos García + * Copyright (C) 2013-2020 Charlene BENKE + * + * 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 . + */ + +// Protection to avoid direct call of template +if (empty($conf) || !is_object($conf)) { + print "Error, template page can't be called as URL"; + exit; +} + +print "\n"; + +global $user, $db; +global $noMoreLinkedObjectBlockAfter; + +$langs = $GLOBALS['langs']; +$linkedObjectBlock = $GLOBALS['linkedObjectBlock']; + +// Load translation files required by the page +$langs->load("bom"); + +$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1); + +$total = 0; +$ilink = 0; +foreach ($linkedObjectBlock as $key => $objectlink) { + $ilink++; + $product_static = new Product($db); + $trclass = 'oddeven'; + if ($ilink == count($linkedObjectBlock) && empty($noMoreLinkedObjectBlockAfter) && count($linkedObjectBlock) <= 1) { + $trclass .= ' liste_sub_total'; + } + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo "\n"; +} + +echo "\n"; diff --git a/htdocs/mrp/tpl/originproductline.tpl.php b/htdocs/mrp/tpl/originproductline.tpl.php index fb1c1c0c1ee..478c6504979 100644 --- a/htdocs/mrp/tpl/originproductline.tpl.php +++ b/htdocs/mrp/tpl/originproductline.tpl.php @@ -26,7 +26,7 @@ if (!is_object($form)) { $form = new Form($db); } -$qtytoconsumeforline = $this->tpl['qty'] / $this->tpl['efficiency']; +$qtytoconsumeforline = $this->tpl['qty'] / ( ! empty($this->tpl['efficiency']) ? $this->tpl['efficiency'] : 1 ); /*if ((empty($this->tpl['qty_frozen']) && $this->tpl['qty_bom'] > 1)) { $qtytoconsumeforline = $qtytoconsumeforline / $this->tpl['qty_bom']; }*/ diff --git a/htdocs/multicurrency/class/multicurrency.class.php b/htdocs/multicurrency/class/multicurrency.class.php index 5067a6e91d5..73eab7773bd 100644 --- a/htdocs/multicurrency/class/multicurrency.class.php +++ b/htdocs/multicurrency/class/multicurrency.class.php @@ -130,21 +130,21 @@ class MultiCurrency extends CommonObject if (empty($this->entity) || $this->entity <= 0) { $this->entity = $conf->entity; } - $now = date('Y-m-d H:i:s'); + $now = dol_now(); // Insert request - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.$this->table_element.'('; + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element."("; $sql .= ' code,'; $sql .= ' name,'; $sql .= ' entity,'; $sql .= ' date_create,'; $sql .= ' fk_user'; $sql .= ') VALUES ('; - $sql .= ' \''.$this->db->escape($this->code).'\','; - $sql .= ' \''.$this->db->escape($this->name).'\','; - $sql .= ' \''.$this->entity.'\','; - $sql .= ' \''.$now.'\','; - $sql .= ' \''.$user->id.'\''; + $sql .= " '".$this->db->escape($this->code)."',"; + $sql .= " '".$this->db->escape($this->name)."',"; + $sql .= " ".((int) $this->entity).","; + $sql .= " '".$this->db->idate($now)."',"; + $sql .= " ".((int) $user->id); $sql .= ')'; $this->db->begin(); @@ -194,7 +194,7 @@ class MultiCurrency extends CommonObject global $conf; - $sql = 'SELECT'; + $sql = "SELECT"; $sql .= ' c.rowid, c.name, c.code, c.entity, c.date_create, c.fk_user'; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' AS c'; if (!empty($code)) { @@ -243,9 +243,9 @@ class MultiCurrency extends CommonObject */ public function fetchAllCurrencyRate() { - $sql = 'SELECT cr.rowid'; + $sql = "SELECT cr.rowid"; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as cr'; - $sql .= ' WHERE cr.fk_multicurrency = '.$this->id; + $sql .= ' WHERE cr.fk_multicurrency = '.((int) $this->id); $sql .= ' ORDER BY cr.date_sync DESC'; $this->rates = array(); @@ -298,10 +298,10 @@ class MultiCurrency extends CommonObject } // Update request - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET'; - $sql .= ' name=\''.$this->db->escape($this->name).'\''; - $sql .= ' code=\''.$this->db->escape($this->code).'\''; - $sql .= ' WHERE rowid='.((int) $this->id); + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql .= " name = '".$this->db->escape($this->name)."'"; + $sql .= " code = '".$this->db->escape($this->code)."'"; + $sql .= " WHERE rowid = ".((int) $this->id); $this->db->begin(); @@ -362,8 +362,8 @@ class MultiCurrency extends CommonObject dol_syslog('Currency::delete '.join(',', $this->errors), LOG_ERR); } - $sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element; - $sql .= ' WHERE rowid='.((int) $this->id); + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); @@ -432,17 +432,17 @@ class MultiCurrency extends CommonObject */ public function addRateFromDolibarr($code, $rate) { - global $db, $user; + global $user; $currency = new MultiCurrency($this->db); $currency->code = $code; $currency->name = $code; - $sql = 'SELECT label FROM '.MAIN_DB_PREFIX."c_currencies WHERE code_iso = '".$this->db->escape($code)."'"; + $sql = "SELECT label FROM ".MAIN_DB_PREFIX."c_currencies WHERE code_iso = '".$this->db->escape($code)."'"; dol_syslog(__METHOD__, LOG_DEBUG); - $resql = $db->query($sql); - if ($resql && ($line = $db->fetch_object($resql))) { + $resql = $this->db->query($sql); + if ($resql && ($line = $this->db->fetch_object($resql))) { $currency->name = $line->label; } @@ -477,10 +477,10 @@ class MultiCurrency extends CommonObject */ public function getRate() { - $sql = 'SELECT cr.rowid'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as cr'; - $sql .= ' WHERE cr.fk_multicurrency = '.$this->id; - $sql .= ' AND cr.date_sync = (SELECT MAX(cr2.date_sync) FROM '.MAIN_DB_PREFIX.$this->table_element_line.' AS cr2 WHERE cr2.fk_multicurrency = '.$this->id.')'; + $sql = "SELECT cr.rowid"; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element_line." as cr"; + $sql .= " WHERE cr.fk_multicurrency = ".((int) $this->id); + $sql .= " AND cr.date_sync = (SELECT MAX(cr2.date_sync) FROM ".MAIN_DB_PREFIX.$this->table_element_line." AS cr2 WHERE cr2.fk_multicurrency = ".((int) $this->id).")"; dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); @@ -502,7 +502,7 @@ class MultiCurrency extends CommonObject { global $conf; - $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX."multicurrency WHERE code = '".$db->escape($code)."' AND entity = ".$conf->entity; + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."multicurrency WHERE code = '".$db->escape($code)."' AND entity = ".$conf->entity; dol_syslog(__METHOD__, LOG_DEBUG); $resql = $db->query($sql); @@ -521,13 +521,13 @@ class MultiCurrency extends CommonObject * @param integer $date_document Date from document (propal, order, invoice, ...) * * @return array [0] => id currency - * [1] => rate + * [1] => rate */ public static function getIdAndTxFromCode($db, $code, $date_document = '') { global $conf; - $sql1 = 'SELECT m.rowid, mc.rate FROM '.MAIN_DB_PREFIX.'multicurrency m'; + $sql1 = "SELECT m.rowid, mc.rate FROM ".MAIN_DB_PREFIX."multicurrency m"; $sql1 .= ' LEFT JOIN '.MAIN_DB_PREFIX.'multicurrency_rate mc ON (m.rowid = mc.fk_multicurrency)'; $sql1 .= " WHERE m.code = '".$db->escape($code)."'"; @@ -537,7 +537,7 @@ class MultiCurrency extends CommonObject $tmparray = dol_getdate($date_document); $sql2 .= " AND mc.date_sync <= '".$db->idate(dol_mktime(23, 59, 59, $tmparray['mon'], $tmparray['mday'], $tmparray['year'], true))."'"; } - $sql3 = ' ORDER BY mc.date_sync DESC LIMIT 1'; + $sql3 = " ORDER BY mc.date_sync DESC LIMIT 1"; dol_syslog(__METHOD__, LOG_DEBUG); $resql = $db->query($sql1.$sql2.$sql3); @@ -591,7 +591,7 @@ class MultiCurrency extends CommonObject { global $db; - $sql = 'SELECT multicurrency_tx FROM '.MAIN_DB_PREFIX.$table.' WHERE rowid = '.((int) $fk_facture); + $sql = "SELECT multicurrency_tx FROM ".MAIN_DB_PREFIX.$table." WHERE rowid = ".((int) $fk_facture); dol_syslog(__METHOD__, LOG_DEBUG); $resql = $db->query($sql); @@ -687,12 +687,10 @@ class MultiCurrency extends CommonObject * @param string $code current code to search * @return boolean True if exists, false if not exists */ - public static function checkCodeAlreadyExists($code) + public function checkCodeAlreadyExists($code) { - global $db; - - $currency = new MultiCurrency($db); - if ($currency->fetch('', $code) > 0) { + $currencytmp = new MultiCurrency($this->db); + if ($currencytmp->fetch('', $code) > 0) { return true; } else { return false; @@ -775,13 +773,13 @@ class CurrencyRate extends CommonObjectLine $now = empty($this->date_sync) ? dol_now() : $this->date_sync; // Insert request - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.$this->table_element.'('; + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element."("; $sql .= ' rate,'; $sql .= ' date_sync,'; $sql .= ' fk_multicurrency,'; $sql .= ' entity'; $sql .= ') VALUES ('; - $sql .= ' '.$this->rate.','; + $sql .= ' '.((float) $this->rate).','; $sql .= " '".$this->db->idate($now)."',"; $sql .= " ".((int) $fk_multicurrency).","; $sql .= " ".((int) $this->entity); @@ -831,9 +829,9 @@ class CurrencyRate extends CommonObjectLine { dol_syslog('CurrencyRate::fetch', LOG_DEBUG); - $sql = 'SELECT cr.rowid, cr.rate, cr.date_sync, cr.fk_multicurrency, cr.entity'; - $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.' AS cr'; - $sql .= ' WHERE cr.rowid = '.((int) $id); + $sql = "SELECT cr.rowid, cr.rate, cr.date_sync, cr.fk_multicurrency, cr.entity"; + $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element." AS cr"; + $sql .= " WHERE cr.rowid = ".((int) $id); dol_syslog(__METHOD__, LOG_DEBUG); $resql = $this->db->query($sql); @@ -880,15 +878,15 @@ class CurrencyRate extends CommonObjectLine $this->rate = price2num($this->rate); // Update request - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET'; - $sql .= ' rate='.$this->rate; + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; + $sql .= "SET rate = ".((float) $this->rate); if (!empty($this->date_sync)) { - $sql .= ", date_sync='".$this->db->idate($this->date_sync)."'"; + $sql .= ", date_sync = '".$this->db->idate($this->date_sync)."'"; } if (!empty($this->fk_multicurrency)) { - $sql .= ', fk_multicurrency='.$this->fk_multicurrency; + $sql .= ', fk_multicurrency = '.((int) $this->fk_multicurrency); } - $sql .= ' WHERE rowid='.((int) $this->id); + $sql .= " WHERE rowid =".((int) $this->id); $this->db->begin(); diff --git a/htdocs/multicurrency/multicurrency_rate.php b/htdocs/multicurrency/multicurrency_rate.php index 3a8c1be819e..d0be7666a95 100644 --- a/htdocs/multicurrency/multicurrency_rate.php +++ b/htdocs/multicurrency/multicurrency_rate.php @@ -264,7 +264,7 @@ if (!in_array($action, array("updateRate", "deleteRate"))) { print ''; print ''; - print ''; + print ''; print ' '; print ' '; @@ -526,8 +526,8 @@ if ($resql) { if (in_array($obj->rowid, $arrayofselected)) { $selected = 1; } - print 'rowid.'">'.img_picto('edit', 'edit').''; - print 'rowid.'">'.img_picto('delete', 'delete').''; + print 'rowid.'">'.img_picto('edit', 'edit').''; + print 'rowid.'">'.img_picto('delete', 'delete').''; print ''; } print ''; diff --git a/htdocs/opensurvey/card.php b/htdocs/opensurvey/card.php index fd9fa3e0456..773571b7b1c 100644 --- a/htdocs/opensurvey/card.php +++ b/htdocs/opensurvey/card.php @@ -156,14 +156,16 @@ if (empty($reshook)) { } // Delete comment - $idcomment = GETPOST('deletecomment', 'int'); - if ($idcomment) { - // Security check - if (!$user->rights->opensurvey->write) { - accessforbidden(); - } + if ($action == 'deletecomment') { + $idcomment = GETPOST('idcomment', 'int'); + if ($idcomment > 0) { + // Security check + if (!$user->rights->opensurvey->write) { + accessforbidden(); + } - $resql = $object->deleteComment($idcomment); + $resql = $object->deleteComment($idcomment); + } } if ($action == 'edit') { @@ -220,20 +222,21 @@ dol_banner_tab($object, 'id', $linkback, 1, 'id_sondage', 'id_sondage', $morehtm print '
    '; -print '
    '; +print '
    '; +print '
    '; print '
    '.$langs->trans("Qty").''.$langs->trans("PMPValue").''.$form->textwithpicto($langs->trans("UnitCost"), $langs->trans("AmountUsedToUpdateWAP")).''.$langs->trans("UnitCost").''.$form->textwithpicto($langs->trans("ManufacturingPrice"), $langs->trans("AmountUsedToUpdateWAP")).''.$langs->trans("QtyAlreadyProduced").'
    '; + print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 0, array(), 0, '1', 0, 'maxwidth300'); + print ''; + print ''; + print '
    '.$line->qty.''; - print price($bomcost); + if ($manufacturingcost) { + print price($manufacturingcost); + } print ''; @@ -1065,7 +1145,18 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print ''; + print ''; + print img_picto('', "delete"); + print ''; + print '
    '.$langs->trans("ManufacturingOrder"); + if (!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) { + print ' '; + echo ''.$objectlink->getNomUrl(1).''; + $result = $product_static->fetch($objectlink->fk_product); + if ($result < 0) { + setEventMessage($product_static->error, 'errors'); + } elseif ($result > 0) { + $product_static->getNomUrl(1); + } + print ''.dol_print_date($objectlink->date_creation, 'day').''; + if ($user->rights->commande->lire) { + $total = $total + $objectlink->total_ht; + echo price($objectlink->total_ht); + } + echo ''.$objectlink->getLibStatut(3).''; + // For now, shipments must stay linked to order, so link is not deletable + if ($object->element != 'shipping') { + echo ''.img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink').''; + } + echo '
    '.$langs->trans('Currency').''.$form->selectMultiCurrency((GETPOSTISSET('multicurrency_code') ? GETPOST('multicurrency_code', 'alpha') : $multicurrency_code), 'multicurrency_code', 1, " code != '".$conf->currency."'", true).''.$form->selectMultiCurrency((GETPOSTISSET('multicurrency_code') ? GETPOST('multicurrency_code', 'alpha') : $multicurrency_code), 'multicurrency_code', 1, " code != '".$db->escape($conf->currency)."'", true).''.$langs->trans('Rate').'
    '; // Type $type = ($object->format == "A") ? 'classic' : 'date'; -print ''; // Title print ''; // Description -print ''; -// EMail -//If linked user, then emails are going to be sent to users' email -if (!$object->fk_user_creat) { - print ''; -} - // Receive an email with each vote -print ''; // Users can comment -print ''; // Users can see others vote -print ''; +print '
    '.$langs->trans("Type").''; +print '
    '.$langs->trans("Type").''; print img_picto('', dol_buildpath('/opensurvey/img/'.($type == 'classic' ? 'chart-32.png' : 'calendar-32.png'), 1), 'width="16"', 1); print ' '.$langs->trans($type == 'classic' ? "TypeClassic" : "TypeDate").'
    '; $adresseadmin = $object->mail_admin; -print $langs->trans("Title").''; +print $langs->trans("Title").''; if ($action == 'edit') { print ''; } else { @@ -242,7 +245,7 @@ if ($action == 'edit') { print '
    '.$langs->trans("Description").''; +print '
    '.$langs->trans("Description").''; if ($action == 'edit') { $doleditor = new DolEditor('nouveauxcommentaires', $object->description, '', 120, 'dolibarr_notes', 'In', 1, 1, 1, ROWS_7, '90%'); $doleditor->Create(0, ''); @@ -251,20 +254,8 @@ if ($action == 'edit') { } print '
    '.$langs->trans("EMail").''; - if ($action == 'edit') { - print ''; - } else { - print dol_print_email($object->mail_admin, 0, 0, 1); - } - print '
    '.$langs->trans('ToReceiveEMailForEachVote').''; +print '
    '.$langs->trans('ToReceiveEMailForEachVote').''; if ($action == 'edit') { print 'mailsonde ? 'checked="checked"' : '').'">'; } else { @@ -280,7 +271,7 @@ if ($action == 'edit') { print '
    '.$langs->trans('CanComment').''; +print '
    '.$langs->trans('CanComment').''; if ($action == 'edit') { print 'allow_comments ? 'checked="checked"' : '').'">'; } else { @@ -289,7 +280,7 @@ if ($action == 'edit') { print '
    '.$langs->trans('CanSeeOthersVote').''; +print '
    '.$langs->trans('CanSeeOthersVote').''; if ($action == 'edit') { print 'allow_spy ? 'checked="checked"' : '').'">'; } else { @@ -297,8 +288,16 @@ if ($action == 'edit') { } print '
    '; + +print '
    '; +print '
    '; +print '
    '; + +print ''; + // Expire date -print ''; // Author print ''; // Link -print ''; print '
    '.$langs->trans('ExpireDate').''; +print '
    '.$langs->trans('ExpireDate').''; if ($action == 'edit') { print $form->selectDate($expiredate ? $expiredate : $object->date_fin, 'expire', 0, 0, 0, '', 1, 0); } else { @@ -311,16 +310,20 @@ print '
    '; -print $langs->trans("Author").''; -if ($object->fk_user_creat) { +print $langs->trans("Author").''; +if ($object->fk_user_creat > 0) { print $userstatic->getLoginUrl(1); } else { - print dol_htmlentities($object->nom_admin); + if ($action == 'edit') { + print ''; + } else { + print dol_print_email($object->mail_admin, 0, 0, 1, 0, 1, 1); + } } print '
    '.img_picto('', 'globe').' '.$langs->trans("UrlForSurvey", '').''; +print '
    '.$langs->trans("UrlForSurvey", '').''; // Define $urlwithroot $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); @@ -328,25 +331,23 @@ $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domai //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current $url = $urlwithroot.'/public/opensurvey/studs.php?sondage='.$object->id_sondage; -print ''; +print ''; if ($action != 'edit') { - print ajax_autoselect("opensurveyurl", $url); + print ajax_autoselect("opensurveyurl", $url, 'image'); } print '
    '; +print '
    '; print '
    '; +print '
    '; print dol_get_fiche_end(); if ($action == 'edit') { - print '
    '; - print ''; - print '   '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); } print ''."\n"; @@ -360,32 +361,35 @@ print '
    '; if ($action != 'edit' && $user->rights->opensurvey->write) { //Modify button - print ''.$langs->trans("Modify").''; + print ''.$langs->trans("Modify").''; if ($object->status == Opensurveysondage::STATUS_VALIDATED) { //Close button - print ''.$langs->trans("Close").''; + print ''.$langs->trans("Close").''; } if ($object->status == Opensurveysondage::STATUS_CLOSED) { //Opened button - print ''.$langs->trans("ReOpen").''; + print ''.$langs->trans("ReOpen").''; } //Delete button - print ''.$langs->trans('Delete').''; + print ''.$langs->trans('Delete').''; } print '
    '; if ($action == 'delete') { - print $form->formconfirm($_SERVER["PHP_SELF"].'?&id='.$numsondage, $langs->trans("RemovePoll"), $langs->trans("ConfirmRemovalOfPoll", $id), 'delete_confirm', '', '', 1); + print $form->formconfirm($_SERVER["PHP_SELF"].'?&id='.urlencode($numsondage), $langs->trans("RemovePoll"), $langs->trans("ConfirmRemovalOfPoll", $id), 'delete_confirm', '', '', 1); } -print '
    '."\n"; +print ''."\n"; print ''; +print ''; +print ''; +print ''; print load_fiche_titre($langs->trans("CommentsOfVoters"), '', ''); @@ -395,7 +399,7 @@ $comments = $object->getComments(); if ($comments) { foreach ($comments as $comment) { if ($user->rights->opensurvey->write) { - print ' '.img_picto('', 'delete.png', '', false, 0, 0, '', '', 0).' '; + print ' '.img_picto('', 'delete.png', '', false, 0, 0, '', '', 0).' '; } print dol_htmlentities($comment->usercomment).': '.dol_nl2br(dol_htmlentities($comment->comment))."
    "; @@ -411,10 +415,7 @@ if ($object->allow_comments) { print $langs->trans("AddACommentForPoll").'
    '; print '
    '."\n"; print $langs->trans("Name").': '."\n"; - print '
    '."\n"; - if (isset($erreur_commentaire_vide) && $erreur_commentaire_vide == "yes") { - print "".$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Name")).""; - } + print '
    '."\n"; } print '
    '; diff --git a/htdocs/opensurvey/class/opensurveysondage.class.php b/htdocs/opensurvey/class/opensurveysondage.class.php index e35abff84bb..5888ddf3ec8 100644 --- a/htdocs/opensurvey/class/opensurveysondage.class.php +++ b/htdocs/opensurvey/class/opensurveysondage.class.php @@ -652,12 +652,12 @@ class Opensurveysondage extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule"); - $this->labelStatus[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatus[self::STATUS_VALIDATED] = $langs->trans('Opened'); - $this->labelStatus[self::STATUS_CLOSED] = $langs->trans('Closed'); - $this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->trans('Opened'); - $this->labelStatusShort[self::STATUS_CLOSED] = $langs->trans('Closed'); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Opened'); + $this->labelStatus[self::STATUS_CLOSED] = $langs->transnoentitiesnoconv('Closed'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Opened'); + $this->labelStatusShort[self::STATUS_CLOSED] = $langs->transnoentitiesnoconv('Closed'); } $statusType = 'status'.$status; diff --git a/htdocs/opensurvey/css/style.css b/htdocs/opensurvey/css/style.css index 409b64dddf5..e7f0d279a14 100644 --- a/htdocs/opensurvey/css/style.css +++ b/htdocs/opensurvey/css/style.css @@ -342,6 +342,13 @@ div.cadre table.resultats { td.nom { min-width: 160px; } +@media only screen and (max-width: 767px) +{ + td.nom { + min-width: 100px; + } +} + td.vide { min-width: 60px; } diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index ff5198c006a..e37f9bf3de5 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -455,20 +455,21 @@ dol_banner_tab($object, 'id', $linkback, 1, 'id_sondage', 'id_sondage', $morehtm print '
    '; -print '
    '; +print '
    '; +print '
    '; print ''; // Type $type = ($object->format == "A") ? 'classic' : 'date'; -print ''; // Title print ''; +// Description +print ''; + +// EMail +//If linked user, then emails are going to be sent to users' email +if (!$object->fk_user_creat) { + print ''; +} + +print '
    '.$langs->trans("Type").''; +print '
    '.$langs->trans("Type").''; print img_picto('', dol_buildpath('/opensurvey/img/'.($type == 'classic' ? 'chart-32.png' : 'calendar-32.png'), 1), 'width="16"', 1); print ' '.$langs->trans($type == 'classic' ? "TypeClassic" : "TypeDate").'
    '; $adresseadmin = $object->mail_admin; -print $langs->trans("Title").''; +print $langs->trans("Title").''; if ($action == 'edit') { print ''; } else { @@ -476,8 +477,39 @@ if ($action == 'edit') { } print '
    '.$langs->trans("Description").''; +if ($action == 'edit') { + $doleditor = new DolEditor('nouveauxcommentaires', $object->description, '', 120, 'dolibarr_notes', 'In', 1, 1, 1, ROWS_7, '90%'); + $doleditor->Create(0, ''); +} else { + print (dol_textishtml($object->description) ? $object->description : dol_nl2br($object->description, 1, true)); +} +print '
    '.$langs->trans("EMail").''; + if ($action == 'edit') { + print ''; + } else { + print dol_print_email($object->mail_admin, 0, 0, 1, 0, 1, 1); + } + print '
    '; + +print '
    '; +print '
    '; +print '
    '; + +print ''; + + // Expire date -print ''; // Author print ''; // Link -print ''; print '
    '.$langs->trans('ExpireDate').''; +print '
    '.$langs->trans('ExpireDate').''; if ($action == 'edit') { print $form->selectDate($expiredate ? $expiredate : $object->date_fin, 'expire', 0, 0, 0, '', 1, 0); } else { @@ -490,7 +522,7 @@ print '
    '; -print $langs->trans("Author").''; +print $langs->trans("Author").''; if ($object->fk_user_creat) { print $userstatic->getLoginUrl(1); } else { @@ -499,7 +531,7 @@ if ($object->fk_user_creat) { print '
    '.img_picto('', 'globe').' '.$langs->trans("UrlForSurvey", '').''; +print '
    '.$langs->trans("UrlForSurvey", '').''; // Define $urlwithroot $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); @@ -507,22 +539,19 @@ $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domai //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current $url = $urlwithouturlroot.dol_buildpath('/public/opensurvey/studs.php', 1).'?sondage='.$object->id_sondage; -$urllink = ''; +$urllink = ''; print $urllink; if ($action != 'edit') { - print ''; - print ' '.$langs->trans("Link").''; + print ajax_autoselect("opensurveyurl", $url, 'image'); } print '
    '; +print '
    '; print '
    '; +print '
    '; print dol_get_fiche_end(); @@ -635,7 +664,7 @@ $nbcolonnes = substr_count($object->sujet, ',') + 1; print '
    '."\n"; print ''; -print '
    '."\n"; +print '
    '."\n"; // Start to show survey result print ''."\n"; @@ -1007,7 +1036,7 @@ if (empty($testligneamodifier)) { print ''."\n"; print ''."\n"; print ''."\n"; for ($i = 0; $i < $nbcolonnes; $i++) { diff --git a/htdocs/opensurvey/wizard/create_survey.php b/htdocs/opensurvey/wizard/create_survey.php index 30e662be7ea..6ed1f2073d2 100644 --- a/htdocs/opensurvey/wizard/create_survey.php +++ b/htdocs/opensurvey/wizard/create_survey.php @@ -170,7 +170,7 @@ if ($_SESSION["mailsonde"]) { $cochemail = "checked"; } -print ' '.$langs->trans("ToReceiveEMailForEachVote").'
    '."\n"; +print '
    '."\n"; if ($_SESSION['allow_comments']) { $allow_comments = 'checked'; @@ -178,7 +178,7 @@ if ($_SESSION['allow_comments']) { if (GETPOSTISSET('allow_comments')) { $allow_comments = GETPOST('allow_comments') ? 'checked' : ''; } -print ' '.$langs->trans('CanComment').'
    '."\n"; +print '
    '."\n"; if ($_SESSION['allow_spy']) { $allow_spy = 'checked'; @@ -186,7 +186,7 @@ if ($_SESSION['allow_spy']) { if (GETPOSTISSET('allow_spy')) { $allow_spy = GETPOST('allow_spy') ? 'checked' : ''; } -print ' '.$langs->trans('CanSeeOthersVote').'
    '."\n"; +print '
    '."\n"; if (GETPOST('choix_sondage')) { if (GETPOST('choix_sondage') == 'date') { diff --git a/htdocs/partnership/admin/setup.php b/htdocs/partnership/admin/setup.php index 25567b137db..100dc7027a3 100644 --- a/htdocs/partnership/admin/setup.php +++ b/htdocs/partnership/admin/setup.php @@ -65,8 +65,10 @@ if ($action == 'setting') { $error += $partnership->delete_menus(); $error += $partnership->insert_menus(); - if (GETPOST("PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL", 'int')) + if (GETPOSTISSET("PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL")) { dolibarr_set_const($db, "PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL", GETPOST("PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL", 'int'), 'chaine', 0, '', $conf->entity); + } + dolibarr_set_const($db, "PARTNERSHIP_BACKLINKS_TO_CHECK", GETPOST("PARTNERSHIP_BACKLINKS_TO_CHECK"), 'chaine', 0, '', $conf->entity); } @@ -131,16 +133,16 @@ print ''; -if (!empty($conf->global->PARTNERSHIP_IS_MANAGED_FOR) && $conf->global->PARTNERSHIP_IS_MANAGED_FOR == 'member') { - print ''; - print ''; - print ''; - print ''; -} +//if (!empty($conf->global->PARTNERSHIP_IS_MANAGED_FOR) && $conf->global->PARTNERSHIP_IS_MANAGED_FOR == 'member') { +print ''; +print ''; +print ''; +print ''; +//} print '
    '."\n"; - print ''."\n"; + print ''."\n"; print ' '.$langs->trans("partnershipforthirdparty print '
    '.$langs->trans("PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL").''; - $dnbdays = '15'; - $backlinks = (!empty($conf->global->PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL)) ? $conf->global->PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL : $dnbdays; - print ''; - print ''.$dnbdays.'
    '.$langs->trans("PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL").''; +$dnbdays = '30'; +$backlinks = (!empty($conf->global->PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL)) ? $conf->global->PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL : $dnbdays; +print ''; +print ''.$dnbdays.'
    '; print '
    '; diff --git a/htdocs/partnership/class/partnership.class.php b/htdocs/partnership/class/partnership.class.php index 97da524db31..2df00b2724f 100644 --- a/htdocs/partnership/class/partnership.class.php +++ b/htdocs/partnership/class/partnership.class.php @@ -65,8 +65,9 @@ class Partnership extends CommonObject const STATUS_DRAFT = 0; - const STATUS_ACCEPTED = 1; - const STATUS_REFUSED = 2; + const STATUS_VALIDATED = 1; // Validate (no more draft) + const STATUS_ACCEPTED = 2; // Approved + const STATUS_REFUSED = 3; // Refused const STATUS_CANCELED = 9; @@ -100,7 +101,28 @@ class Partnership extends CommonObject /** * @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor. */ - public $fields=array(); + public $fields=array( + 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), + 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>4, 'noteditable'=>'1', 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Reference of object"), + 'entity' => array('type' => 'integer', 'label' => 'Entity', 'default' => 1, 'enabled' => 1, 'visible' => -2, 'notnull' => 1, 'position' => 15, 'index' => 1), + //'fk_type' => array('type' => 'integer:PartnershipType:partnership/class/partnershiptype.class.php', 'label' => 'Type', 'default' => 1, 'enabled' => 1, 'visible' => 1, 'position' => 20), + 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>61, 'notnull'=>0, 'visible'=>0,), + 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>62, 'notnull'=>0, 'visible'=>0,), + 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), + 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), + 'last_main_doc' => array('type'=>'varchar(255)', 'label'=>'LastMainDoc', 'enabled'=>'1', 'position'=>600, 'notnull'=>0, 'visible'=>0,), + 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,), + 'model_pdf' => array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>'1', 'position'=>1010, 'notnull'=>-1, 'visible'=>0,), + 'date_partnership_start' => array('type'=>'date', 'label'=>'DatePartnershipStart', 'enabled'=>'1', 'position'=>52, 'notnull'=>1, 'visible'=>1,), + 'date_partnership_end' => array('type'=>'date', 'label'=>'DatePartnershipEnd', 'enabled'=>'1', 'position'=>53, 'notnull'=>0, 'visible'=>1,), + 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>2, 'index'=>1, 'arrayofkeyval'=>array('-1'=>'','0'=>'Draft', '1'=>'Accepted', '2'=>'Refused', '9'=>'Canceled'),), + 'count_last_url_check_error' => array('type'=>'integer', 'label'=>'CountLastUrlCheckError', 'enabled'=>'1', 'position'=>63, 'notnull'=>0, 'visible'=>-2, 'default'=>'0',), + 'last_check_backlink' => array('type'=>'datetime', 'label'=>'LastCheckBacklink', 'enabled'=>'1', 'position'=>65, 'notnull'=>0, 'visible'=>-2,), + 'reason_decline_or_cancel' => array('type'=>'text', 'label'=>'ReasonDeclineOrCancel', 'enabled'=>'1', 'position'=>64, 'notnull'=>0, 'visible'=>-2,), + // fk_member and fk_soc are added into constructor + ); /** * @var int rowid @@ -164,7 +186,6 @@ class Partnership extends CommonObject // public $lines = array(); - /** * Constructor * @@ -176,32 +197,10 @@ class Partnership extends CommonObject $this->db = $db; - $this->fields=array( - 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'css'=>'left', 'comment'=>"Id"), - 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>4, 'noteditable'=>'1', 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Reference of object"), - 'entity' => array('type' => 'integer', 'label' => 'Entity', 'default' => 1, 'enabled' => 1, 'visible' => -2, 'notnull' => 1, 'position' => 15, 'index' => 1), - //'fk_type' => array('type' => 'integer:PartnershipType:partnership/class/partnershiptype.class.php', 'label' => 'Type', 'default' => 1, 'enabled' => 1, 'visible' => 1, 'position' => 20), - 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>'1', 'position'=>61, 'notnull'=>0, 'visible'=>0,), - 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>'1', 'position'=>62, 'notnull'=>0, 'visible'=>0,), - 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>'1', 'position'=>500, 'notnull'=>1, 'visible'=>-2,), - 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>'1', 'position'=>501, 'notnull'=>0, 'visible'=>-2,), - 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',), - 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,), - 'last_main_doc' => array('type'=>'varchar(255)', 'label'=>'LastMainDoc', 'enabled'=>'1', 'position'=>600, 'notnull'=>0, 'visible'=>0,), - 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,), - 'model_pdf' => array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>'1', 'position'=>1010, 'notnull'=>-1, 'visible'=>0,), - 'date_partnership_start' => array('type'=>'date', 'label'=>'DatePartnershipStart', 'enabled'=>'1', 'position'=>52, 'notnull'=>1, 'visible'=>1,), - 'date_partnership_end' => array('type'=>'date', 'label'=>'DatePartnershipEnd', 'enabled'=>'1', 'position'=>53, 'notnull'=>1, 'visible'=>1,), - 'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>2, 'index'=>1, 'arrayofkeyval'=>array('-1'=>'','0'=>$langs->trans('Draft'), '1'=>$langs->trans('Accepted'), '2'=>$langs->trans('Refused'), '9'=>$langs->trans('Canceled')),), - 'count_last_url_check_error' => array('type'=>'integer', 'label'=>'CountLastUrlCheckError', 'enabled'=>'1', 'position'=>63, 'notnull'=>0, 'visible'=>-2, 'default'=>'0',), - 'last_check_backlink' => array('type'=>'datetime', 'label'=>'LastCheckBacklink', 'enabled'=>'1', 'position'=>65, 'notnull'=>0, 'visible'=>-2,), - 'reason_decline_or_cancel' => array('type'=>'text', 'label'=>'ReasonDeclineOrCancel', 'enabled'=>'1', 'position'=>64, 'notnull'=>0, 'visible'=>-2,), - ); - if (!empty($conf->global->PARTNERSHIP_IS_MANAGED_FOR) && $conf->global->PARTNERSHIP_IS_MANAGED_FOR == 'member') { - $this->fields['fk_member'] = array('type'=>'integer:Adherent:adherents/class/adherent.class.php:1', 'label'=>'Member', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'picto'=>'member'); + $this->fields['fk_member'] = array('type'=>'integer:Adherent:adherents/class/adherent.class.php:1', 'label'=>'Member', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'picto'=>'member', 'csslist'=>'tdoverflowmax150'); } else { - $this->fields['fk_soc'] = array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'ThirdParty', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'picto'=>'societe'); + $this->fields['fk_soc'] = array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'ThirdParty', 'enabled'=>'1', 'position'=>50, 'notnull'=>-1, 'visible'=>1, 'index'=>1, 'picto'=>'company', 'csslist'=>'tdoverflowmax150'); } if (empty($conf->global->MAIN_SHOW_TECHNICAL_ID) && isset($this->fields['rowid'])) { @@ -485,27 +484,27 @@ class Partnership extends CommonObject if (count($filter) > 0) { foreach ($filter as $key => $value) { if ($key == 't.rowid') { - $sqlwhere[] = $key.'='.$value; + $sqlwhere[] = $key." = ".((int) $value); } elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) { - $sqlwhere[] = $key.' = \''.$this->db->idate($value).'\''; + $sqlwhere[] = $key." = '".$this->db->idate($value)."'"; } elseif ($key == 'customsql') { $sqlwhere[] = $value; } elseif (strpos($value, '%') === false) { - $sqlwhere[] = $key.' IN ('.$this->db->sanitize($this->db->escape($value)).')'; + $sqlwhere[] = $key." IN (".$this->db->sanitize($this->db->escape($value)).")"; } else { - $sqlwhere[] = $key.' LIKE \'%'.$this->db->escape($value).'%\''; + $sqlwhere[] = $key." LIKE '%".$this->db->escape($value)."%'"; } } } if (count($sqlwhere) > 0) { - $sql .= ' AND ('.implode(' '.$filtermode.' ', $sqlwhere).')'; + $sql .= ' AND ('.implode(' '.$this->db->escape($filtermode).' ', $sqlwhere).')'; } if (!empty($sortfield)) { $sql .= $this->db->order($sortfield, $sortorder); } if (!empty($limit)) { - $sql .= ' '.$this->db->plimit($limit, $offset); + $sql .= $this->db->plimit($limit, $offset); } $resql = $this->db->query($sql); @@ -593,7 +592,7 @@ class Partnership extends CommonObject $error = 0; // Protection - if ($this->status == self::STATUS_ACCEPTED) { + if ($this->status == self::STATUS_VALIDATED) { dol_syslog(get_class($this)."::validate action abandonned: already validated", LOG_WARNING); return 0; } @@ -622,14 +621,14 @@ class Partnership extends CommonObject // Validate $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element; $sql .= " SET ref = '".$this->db->escape($num)."',"; - $sql .= " status = ".self::STATUS_ACCEPTED; + $sql .= " status = ".self::STATUS_VALIDATED; if (!empty($this->fields['date_validation'])) { $sql .= ", date_validation = '".$this->db->idate($now)."'"; } if (!empty($this->fields['fk_user_valid'])) { $sql .= ", fk_user_valid = ".$user->id; } - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::validate()", LOG_DEBUG); $resql = $this->db->query($sql); @@ -689,7 +688,7 @@ class Partnership extends CommonObject // Set new ref and current status if (!$error) { $this->ref = $num; - $this->status = self::STATUS_ACCEPTED; + $this->status = self::STATUS_VALIDATED; } if (!$error) { @@ -753,7 +752,7 @@ class Partnership extends CommonObject // if (!empty($this->fields['fk_user_valid'])) { // $sql .= ", fk_user_valid = ".$user->id; // } - $sql .= " WHERE rowid = ".$this->id; + $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::accept()", LOG_DEBUG); $resql = $this->db->query($sql); @@ -953,7 +952,7 @@ class Partnership extends CommonObject $label .= '
    '; $label .= ''.$langs->trans('Ref').': '.$this->ref; - $url = dol_buildpath('/partnership/partnership_card.php', 1).'?id='.$this->id; + $url = DOL_URL_ROOT.'/partnership/partnership_card.php?id='.$this->id; if ($option != 'nolink') { // Add param to save lastsearch_values or not @@ -1066,18 +1065,25 @@ class Partnership extends CommonObject if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("partnership"); - $this->labelStatus[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatus[self::STATUS_ACCEPTED] = $langs->trans('Accepted'); - $this->labelStatus[self::STATUS_REFUSED] = $langs->trans('Refused'); - $this->labelStatus[self::STATUS_CANCELED] = $langs->trans('Canceled'); - $this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('Draft'); - $this->labelStatusShort[self::STATUS_ACCEPTED] = $langs->trans('Accepted'); - $this->labelStatusShort[self::STATUS_REFUSED] = $langs->trans('Refused'); - $this->labelStatusShort[self::STATUS_CANCELED] = $langs->trans('Canceled'); + $this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated'); + $this->labelStatus[self::STATUS_ACCEPTED] = $langs->transnoentitiesnoconv('Accepted'); + $this->labelStatus[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused'); + $this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled'); + $this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft'); + $this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated'); + $this->labelStatusShort[self::STATUS_ACCEPTED] = $langs->transnoentitiesnoconv('Accepted'); + $this->labelStatusShort[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused'); + $this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled'); } $statusType = 'status'.$status; - //if ($status == self::STATUS_ACCEPTED) $statusType = 'status1'; + if ($status == self::STATUS_ACCEPTED) { + $statusType = 'status4'; + } + if ($status == self::STATUS_REFUSED) { + $statusType = 'status9'; + } if ($status == self::STATUS_CANCELED) { $statusType = 'status6'; } @@ -1152,7 +1158,7 @@ class Partnership extends CommonObject $this->lines = array(); $objectline = new PartnershipLine($this->db); - $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_partnership = '.$this->id)); + $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_partnership = '.((int) $this->id))); if (is_numeric($result)) { $this->error = $this->error; diff --git a/htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php b/htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php index a536bb59600..5d348843941 100644 --- a/htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php +++ b/htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php @@ -81,7 +81,7 @@ class mod_partnership_advanced extends ModeleNumRefPartnership $texte .= ''.$langs->trans("Mask").':'; $texte .= ''.$form->textwithpicto('', $tooltip, 1, 1).''; - $texte .= '  '; + $texte .= '  '; $texte .= ''; diff --git a/htdocs/partnership/partnership_agenda.php b/htdocs/partnership/partnership_agenda.php index 799aadd24cd..f154e1b9f5b 100644 --- a/htdocs/partnership/partnership_agenda.php +++ b/htdocs/partnership/partnership_agenda.php @@ -154,7 +154,7 @@ if ($object->id > 0) { $morehtmlref.='
    '.$langs->trans('Project') . ' '; if ($permissiontoadd) { if ($action != 'classify') { - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; } $morehtmlref.=' : '; if ($action == 'classify') { diff --git a/htdocs/partnership/partnership_card.php b/htdocs/partnership/partnership_card.php index 29789072773..2a281931046 100644 --- a/htdocs/partnership/partnership_card.php +++ b/htdocs/partnership/partnership_card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2021 NextGestion +/* Copyright (C) 2017-2021 Laurent Destailleur + * Copyright (C) 2021 NextGestion * * 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 @@ -120,7 +120,39 @@ if (empty($reshook)) { $triggermodname = 'PARTNERSHIP_MODIFY'; // Name of trigger action code to execute when we modify record // Action accept object - if ($action == 'confirm_accept' && $confirm == 'yes' && $permissiontoadd) { + if ($action == 'confirm_validate' && $confirm == 'yes' && $permissiontoadd) { + $result = $object->validate($user); + if ($result >= 0) { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + if (method_exists($object, 'generateDocument')) { + $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); + } + + $ret = $object->fetch($id); // Reload to get new records + + $model = $object->model_pdf; + + $retgen = $object->generateDocument($model, $outputlangs, 0, 0, 0); + if ($retgen < 0) { + setEventMessages($object->error, $object->errors, 'warnings'); + } + } + } + } else { + setEventMessages($object->error, $object->errors, 'errors'); + } + } elseif ($action == 'confirm_accept' && $confirm == 'yes' && $permissiontoadd) { $result = $object->accept($user); if ($result >= 0) { // Define output language @@ -143,7 +175,7 @@ if (empty($reshook)) { $model = $object->model_pdf; - $retgen = $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + $retgen = $object->generateDocument($model, $outputlangs, 0, 0, 0); if ($retgen < 0) { setEventMessages($object->error, $object->errors, 'warnings'); } @@ -256,11 +288,7 @@ if ($action == 'create') { print dol_get_fiche_end(); - print '
    '; - print ''; - print '  '; - print ''; // Cancel for create does not post form if we don't know the backtopage - print '
    '; + print $form->buttonsSaveCancel("Create"); print ''; @@ -296,9 +324,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
    '; - print '   '; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } @@ -339,7 +365,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToReopon'), $langs->trans('ConfirmReoponAsk', $object->ref), 'confirm_reopen', $formquestion, 'yes', 1); } - // Refuse confirmatio + // Refuse confirmation if ($action == 'refuse') { //Form to close proposal (signed or not) $formquestion = array( @@ -386,7 +412,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $langs->load("projects"); $morehtmlref .= '
    '.$langs->trans('Project') . ' '; if ($permissiontoadd) { - //if ($action != 'classify') $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' '; + //if ($action != 'classify') $morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' '; $morehtmlref .= ' : '; if ($action == 'classify') { //$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); @@ -474,10 +500,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Show object lines $result = $object->getLinesArray(); - print '
    + print ' + '; @@ -529,7 +556,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if (empty($reshook)) { // Send if (empty($user->socid)) { - print dolGetButtonAction($langs->trans('SendMail'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init&token='.newToken().'#formmailbeforetitle'); + print dolGetButtonAction($langs->trans('SendMail'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&token='.newToken().'&mode=init#formmailbeforetitle'); + } + + if ($object->status == $object::STATUS_DRAFT) { + print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken(), '', $permissiontoadd); } // Back to draft @@ -537,18 +568,26 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print dolGetButtonAction($langs->trans('SetToDraft'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=confirm_setdraft&confirm=yes&token='.newToken(), '', $permissiontoadd); } - print dolGetButtonAction($langs->trans('Modify'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken(), '', $permissiontoadd); - - // Accept + // Validate if ($object->status == $object::STATUS_DRAFT) { if (empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) { - print dolGetButtonAction($langs->trans('Validate'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_accept&confirm=yes&token='.newToken(), '', $permissiontoadd); + print dolGetButtonAction($langs->trans('Validate'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_validate&confirm=yes&token='.newToken(), '', $permissiontoadd); } else { $langs->load("errors"); print dolGetButtonAction($langs->trans("ErrorAddAtLeastOneLineFirst"), $langs->trans("Validate"), 'default', '#', '', 0); } } + // Approve + if ($object->status == $object::STATUS_VALIDATED) { + if (empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) { + print dolGetButtonAction($langs->trans('Approved'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_accept&confirm=yes&token='.newToken(), '', $permissiontoadd); + } else { + $langs->load("errors"); + print dolGetButtonAction($langs->trans("ErrorAddAtLeastOneLineFirst"), $langs->trans("Approved"), 'default', '#', '', 0); + } + } + // Cancel if ($permissiontoadd) { if ($object->status == $object::STATUS_ACCEPTED) { @@ -561,7 +600,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Refuse if ($permissiontoadd) { - if ($object->status != $object::STATUS_ACCEPTED && $object->status != $object::STATUS_CANCELED && $object->status != $object::STATUS_REFUSED) { + if ($object->status != $object::STATUS_DRAFT && $object->status != $object::STATUS_ACCEPTED && $object->status != $object::STATUS_CANCELED && $object->status != $object::STATUS_REFUSED) { print dolGetButtonAction($langs->trans('Refuse'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=refuse&token='.newToken(), '', $permissiontoadd); } } @@ -604,14 +643,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $MAXEVENT = 10; - $morehtmlright = ''; + $morehtmlright = ''; $morehtmlright .= $langs->trans("SeeAll"); $morehtmlright .= ''; // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; $formactions = new FormActions($db); - $somethingshown = $formactions->showactions($object, $object->element.'@'.$object->module, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1, '', $MAXEVENT, '', $morehtmlright); + $somethingshown = $formactions->showactions($object, $object->element, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1, '', $MAXEVENT, '', $morehtmlright); print '
    '; } diff --git a/htdocs/partnership/partnership_contact.php b/htdocs/partnership/partnership_contact.php index 1c416cf690c..a4a61c6e907 100644 --- a/htdocs/partnership/partnership_contact.php +++ b/htdocs/partnership/partnership_contact.php @@ -140,7 +140,7 @@ if ($object->id) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/partnership/partnership_document.php b/htdocs/partnership/partnership_document.php index e7fae7ee7ff..79b7be0057a 100644 --- a/htdocs/partnership/partnership_document.php +++ b/htdocs/partnership/partnership_document.php @@ -137,7 +137,7 @@ if ($object->id) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/partnership/partnership_list.php b/htdocs/partnership/partnership_list.php index 79f51be6ca9..a5c52609d74 100644 --- a/htdocs/partnership/partnership_list.php +++ b/htdocs/partnership/partnership_list.php @@ -126,7 +126,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -260,7 +260,7 @@ if ($managedfor == 'member') { // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key." as options_".$key : ''); } } // Add fields from hooks @@ -294,8 +294,8 @@ foreach ($search as $key => $val) { continue; } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0)) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -342,7 +342,7 @@ $sql .= $hookmanager->resPrint; /* If a group by is required $sql.= " GROUP BY "; foreach($object->fields as $key => $val) { - $sql.='t.'.$key.', '; + $sql .= "t.".$key.", "; } // Add fields from extrafields if (! empty($extrafields->attributes[$object->table_element]['label'])) { @@ -398,20 +398,6 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs'); -// Example : Adding jquery code -print ''; $arrayofselected = is_array($toselect) ? $toselect : array(); @@ -666,7 +652,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { if (!$i) { $totalarray['nbfield']++; } - if (!empty($val['isameasure'])) { + if (!empty($val['isameasure']) && $val['isameasure'] == 1) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 't.'.$key; } diff --git a/htdocs/partnership/partnership_note.php b/htdocs/partnership/partnership_note.php index b9607e5aeb6..67f963b155e 100644 --- a/htdocs/partnership/partnership_note.php +++ b/htdocs/partnership/partnership_note.php @@ -65,8 +65,13 @@ $permissiontoadd = $user->rights->partnership->write; // Used by the include of /* * Actions */ - -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* @@ -105,7 +110,7 @@ if ($id > 0 || !empty($ref)) { if ($permissiontoadd) { if ($action != 'classify') - //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; + //$morehtmlref.='' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : '; $morehtmlref.=' : '; if ($action == 'classify') { //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1); diff --git a/htdocs/partnership/partnershipindex.php b/htdocs/partnership/partnershipindex.php index 264134c67d9..f1a9f8c507b 100644 --- a/htdocs/partnership/partnershipindex.php +++ b/htdocs/partnership/partnershipindex.php @@ -83,7 +83,7 @@ if (! empty($conf->partnership->enabled) && $user->rights->partnership->read) { $sql.= " WHERE c.fk_soc = s.rowid"; $sql.= " AND c.fk_statut = 0"; $sql.= " AND c.entity IN (".getEntity('commande').")"; - if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); if ($socid) $sql.= " AND c.fk_soc = ".((int) $socid); $resql = $db->query($sql); @@ -146,7 +146,7 @@ if (! empty($conf->partnership->enabled) && $user->rights->partnership->read) { $sql.= " FROM ".MAIN_DB_PREFIX."partnership_myobject as s"; //if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.entity IN (".getEntity($myobjectstatic->element).")"; - //if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); //if ($socid) $sql.= " AND s.rowid = $socid"; $sql .= " ORDER BY s.tms DESC"; $sql .= $db->plimit($max, 0); diff --git a/htdocs/paybox/admin/paybox.php b/htdocs/paybox/admin/paybox.php index a14729f30ef..bcad50de457 100644 --- a/htdocs/paybox/admin/paybox.php +++ b/htdocs/paybox/admin/paybox.php @@ -285,7 +285,7 @@ print ''; print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; diff --git a/htdocs/paypal/admin/paypal.php b/htdocs/paypal/admin/paypal.php index a192fdaf629..f4edec7630c 100644 --- a/htdocs/paypal/admin/paypal.php +++ b/htdocs/paypal/admin/paypal.php @@ -33,7 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $servicename = 'PayPal'; // Load translation files required by the page -$langs->loadLangs(array('admin', 'other', 'paypal', 'paybox')); +$langs->loadLangs(array('admin', 'other', 'paypal', 'paybox', 'stripe')); if (!$user->admin) { accessforbidden(); @@ -333,7 +333,7 @@ print ''; print dol_get_fiche_end(); -print '
    '; +print $form->buttonsSaveCancel("Modify", ''); print ''; diff --git a/htdocs/printing/admin/printing.php b/htdocs/printing/admin/printing.php index 2b86efa507c..a0849f082e8 100644 --- a/htdocs/printing/admin/printing.php +++ b/htdocs/printing/admin/printing.php @@ -274,13 +274,13 @@ if ($mode == 'config' && $user->admin) { print ajax_constantonoff($printer->active); } else { if (empty($conf->global->{$printer->conf})) { - print ''.img_picto($langs->trans("Disabled"), 'off').''; + print ''.img_picto($langs->trans("Disabled"), 'off').''; } else { - print ''.img_picto($langs->trans("Enabled"), 'on').''; + print ''.img_picto($langs->trans("Enabled"), 'on').''; } } - print ''.img_picto('', 'setup').''; - print ''.img_picto('', 'setup').''; + print ''.img_picto('', 'setup').''; + print ''.img_picto('', 'setup').''; print ''."\n"; } diff --git a/htdocs/printing/index.php b/htdocs/printing/index.php index 84132c784f4..2d20db4ddf7 100644 --- a/htdocs/printing/index.php +++ b/htdocs/printing/index.php @@ -58,7 +58,8 @@ foreach ($result as $driver) { $classname = 'printing_'.$driver; $langs->load($driver); $printer = new $classname($db); - if ($conf->global->{$printer->active}) { + $keyforprinteractive = $printer->active; + if ($keyforprinteractive && $conf->global->$keyforprinteractive) { //$printer->listJobs('commande'); $result = $printer->listJobs(); print $printer->resprint; diff --git a/htdocs/product/admin/dynamic_prices.php b/htdocs/product/admin/dynamic_prices.php index d90ea7090f7..e1e23feac86 100644 --- a/htdocs/product/admin/dynamic_prices.php +++ b/htdocs/product/admin/dynamic_prices.php @@ -182,9 +182,9 @@ if ($action != 'create_updater' && $action != 'edit_updater') { print ''; } } else { - print ''; + print ''; print $langs->trans("None"); - print ''; + print ''; } print ''; @@ -228,10 +228,8 @@ if ($action == 'create_variable' || $action == 'edit_variable') { print ''; //Form Buttons - print '
    '; - print '  '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); + print ''; } @@ -349,10 +347,8 @@ if ($action == 'create_updater' || $action == 'edit_updater') { print ''; //Form Buttons - print '
    '; - print '  '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); + print ''; } diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index b23cfbc5c4c..4f6094e1787 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -295,13 +295,14 @@ $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); print load_fiche_titre($langs->trans("ProductCodeChecker"), '', ''); +print '
    '; print ''."\n"; print ''."\n"; print ' '; print ' '; print ' '; print ' '; -print ' '; +print ' '; print "\n"; foreach ($dirproduct as $dirroot) { @@ -333,7 +334,7 @@ foreach ($dirproduct as $dirroot) { print ''."\n"; print ''."\n"; print ''."\n"; - print ''."\n"; + print ''."\n"; if (!empty($conf->global->PRODUCT_CODEPRODUCT_ADDON) && $conf->global->PRODUCT_CODEPRODUCT_ADDON == $file) { print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
    '.$modCodeProduct->name.''.$modCodeProduct->info($langs).''.$modCodeProduct->getExample($langs).''.$modCodeProduct->getExample($langs).''."\n"; @@ -345,7 +346,7 @@ foreach ($dirproduct as $dirroot) { } print ''; if (!$disabled) { - print ''; + print ''; } print img_picto($langs->trans("Disabled"), 'switch_off'); if (!$disabled) { @@ -366,6 +367,7 @@ foreach ($dirproduct as $dirroot) { } } print '
    '; +print '
    '; // Module to build doc $def = array(); @@ -390,13 +392,14 @@ print '
    '; print load_fiche_titre($langs->trans("ProductDocumentTemplates"), '', ''); +print '
    '; print ''; print ''; print ''; print ''; print '\n"; print '\n"; -print ''; +print ''; print ''; print "\n"; @@ -445,13 +448,13 @@ foreach ($dirmodels as $reldir) { // Active if (in_array($name, $def)) { print ''; } else { print '"; } @@ -460,7 +463,7 @@ foreach ($dirmodels as $reldir) { if ($conf->global->PRODUCT_ADDON_PDF == $name) { print img_picto($langs->trans("Default"), 'on'); } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + print 'scandir).'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; } print ''; @@ -499,6 +502,8 @@ foreach ($dirmodels as $reldir) { } print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
    '."\n"; - print ''; + print ''; print img_picto($langs->trans("Enabled"), 'switch_on'); print ''; print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print 'scandir).'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; print "
    '; +print '
    '; + print "
    "; /* @@ -507,14 +512,17 @@ print "
    "; print "
    "; -print load_fiche_titre($langs->trans("ProductOtherConf"), '', ''); - print '
    '; print ''; print ''; print ''; + +print load_fiche_titre($langs->trans("ProductOtherConf"), '', ''); + + +print '
    '; print ''; print ''; print ''."\n"; @@ -592,6 +600,40 @@ print $form->selectPriceBaseType($conf->global->PRODUCT_PRICE_BASE_TYPE, "price_ print ''; print ''; +if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { + print ''; + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + print ''; +} + +print '
    '.$langs->trans("Parameters").'
    '.$langs->trans("UseProductFournDesc").''; + print $form->selectyesno("activate_useProdFournDesc", (!empty($conf->global->PRODUIT_FOURN_TEXTS) ? $conf->global->PRODUIT_FOURN_TEXTS : 0), 1); + print '
    '.$langs->trans("UseProductSupplierPackaging").''; + print $form->selectyesno("activate_useProdSupplierPackaging", (!empty($conf->global->PRODUCT_USE_SUPPLIER_PACKAGING) ? $conf->global->PRODUCT_USE_SUPPLIER_PACKAGING : 0), 1); + print '
    '; +print '
    '; + +print '
    '; +print ''; +print '
    '; + + +print load_fiche_titre($langs->trans("UserInterface"), '', ''); + + +print '
    '; +print ''; +print ''; +print ''."\n"; +print ''."\n"; +print ''."\n"; + // Use Ajax form to select a product print ''; @@ -624,9 +666,10 @@ if (empty($conf->global->PRODUIT_USE_SEARCH_TO_SELECT)) { print ''; print ''; print ''; @@ -682,22 +725,6 @@ if (!empty($conf->global->MAIN_MULTILANGS)) { print ''; } -if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) { - print ''; - print ''; - print ''; - print ''; - - print ''; - print ''; - print ''; - print ''; -} - if (!empty($conf->global->PRODUCT_CANVAS_ABILITY)) { // Add canvas feature @@ -735,10 +762,10 @@ if (!empty($conf->global->PRODUCT_CANVAS_ABILITY)) { if ($conf->global->$const) { print img_picto($langs->trans("Active"), 'tick'); print ''; @@ -753,6 +780,7 @@ if (!empty($conf->global->PRODUCT_CANVAS_ABILITY)) { } print '
    '.$langs->trans("Parameters").''.$langs->trans("Value").'
    '.$langs->trans("OnProductSelectAddProductDesc").''; +print ''; print $form->selectarray( "activate_FillProductDescAuto", - array(1=>'AutoFillFormFieldBeforeSubmit', 0=>'DoNotAutofillButAutoConcat', -1=>'DoNotUseDescriptionOfProdut'), + array(0=>'DoNotAutofillButAutoConcat', 1=>'AutoFillFormFieldBeforeSubmit', 2=>'DoNotUseDescriptionOfProdut'), empty($conf->global->PRODUIT_AUTOFILL_DESC) ? 0 : $conf->global->PRODUIT_AUTOFILL_DESC, 0, 0, @@ -636,7 +679,7 @@ print $form->selectarray( 0, 0, '', - 'maxwidth400', + 'minwidth100imp maxwidth400', 1 ); print '
    '.$langs->trans("UseProductFournDesc").''; - print $form->selectyesno("activate_useProdFournDesc", (!empty($conf->global->PRODUIT_FOURN_TEXTS) ? $conf->global->PRODUIT_FOURN_TEXTS : 0), 1); - print '
    '.$langs->trans("UseProductSupplierPackaging").''; - print $form->selectyesno("activate_useProdSupplierPackaging", (!empty($conf->global->PRODUCT_USE_SUPPLIER_PACKAGING) ? $conf->global->PRODUCT_USE_SUPPLIER_PACKAGING : 0), 1); - print '
    '; - print ''.$langs->trans("Disable").''; + print ''.$langs->trans("Disable").''; } else { print ' '; - print ''.$langs->trans("Activate").''; + print ''.$langs->trans("Activate").''; } print '
    '; +print '
    '; print '
    '; print ''; diff --git a/htdocs/product/admin/product_lot.php b/htdocs/product/admin/product_lot.php index 8cafa97e077..24f515fa0bc 100644 --- a/htdocs/product/admin/product_lot.php +++ b/htdocs/product/admin/product_lot.php @@ -101,188 +101,197 @@ $head = product_lot_admin_prepare_head(); print dol_get_fiche_head($head, 'settings', $langs->trans("Batch"), -1, 'lot'); -/* - * Lot Numbering models - */ -print load_fiche_titre($langs->trans("BatchLotNumberingModules"), '', ''); +if ($conf->global->MAIN_FEATURES_LEVEL < 2) { + // The feature to define the numbering module of lot or serial is no enabled bcause it is not used anywhere in Dolibarr code: You can set it + // but the numbering module is not used. + // TODO Use it on lot creation page, when you create a lot and when the lot number is kept empty to define the lot according + // to the selected product. + print $langs->trans("NothingToSetup"); +} else { + /* + * Lot Numbering models + */ -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''."\n"; + print load_fiche_titre($langs->trans("BatchLotNumberingModules"), '', ''); -clearstatcache(); + print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
    '; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''."\n"; -foreach ($dirmodels as $reldir) { - $dir = dol_buildpath($reldir."core/modules/product_batch/"); + clearstatcache(); - if (is_dir($dir)) { - $handle = opendir($dir); - if (is_resource($handle)) { - while (($file = readdir($handle)) !== false) { - if (substr($file, 0, 8) == 'mod_lot_' && substr($file, dol_strlen($file) - 3, 3) == 'php') { - $file = substr($file, 0, dol_strlen($file) - 4); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/product_batch/"); - require_once $dir.$file.'.php'; + if (is_dir($dir)) { + $handle = opendir($dir); + if (is_resource($handle)) { + while (($file = readdir($handle)) !== false) { + if (substr($file, 0, 8) == 'mod_lot_' && substr($file, dol_strlen($file) - 3, 3) == 'php') { + $file = substr($file, 0, dol_strlen($file) - 4); - $module = new $file($db); + require_once $dir.$file.'.php'; - // Show modules according to features level - if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue; - if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue; + $module = new $file($db); - if ($module->isEnabled()) { - print ''; + // Show modules according to features level + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue; + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue; - // Show example of numbering model - print ''."\n"; + if ($module->isEnabled()) { + print ''; - print ''; + // Show example of numbering model + print ''."\n"; - $batch = new Productlot($db); - $batch->initAsSpecimen(); - - // Info - $htmltooltip = ''; - $htmltooltip .= ''.$langs->trans("Version").': '.$module->getVersion().'
    '; - $nextval = $module->getNextValue($mysoc, $batch); - if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval - $htmltooltip .= ''.$langs->trans("NextValue").': '; - if ($nextval) { - if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured') - $nextval = $langs->trans($nextval); - $htmltooltip .= $nextval.'
    '; + print ''; + + $batch = new Productlot($db); + $batch->initAsSpecimen(); + + // Info + $htmltooltip = ''; + $htmltooltip .= ''.$langs->trans("Version").': '.$module->getVersion().'
    '; + $nextval = $module->getNextValue($mysoc, $batch); + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval + $htmltooltip .= ''.$langs->trans("NextValue").': '; + if ($nextval) { + if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured') + $nextval = $langs->trans($nextval); + $htmltooltip .= $nextval.'
    '; + } else { + $htmltooltip .= $langs->trans($module->error).'
    '; + } + } + + print ''; + + print "\n"; } - - print ''; - - print "\n"; } } + closedir($handle); } - closedir($handle); } } -} -print "
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
    '.$module->name."\n"; - print $module->info(); - print ''; - $tmp = $module->getExample(); - if (preg_match('/^Error/', $tmp)) print '
    '.$langs->trans($tmp).'
    '; - elseif ($tmp == 'NotConfigured') print $langs->trans($tmp); - else print $tmp; - print '
    '.$module->name."\n"; + print $module->info(); + print ''; - if ($conf->global->PRODUCTBATCH_LOT_ADDON == $file) { - print img_picto($langs->trans("Activated"), 'switch_on'); - } else { - print ''; - print img_picto($langs->trans("Disabled"), 'switch_off'); - print ''; - } - print ''; + $tmp = $module->getExample(); + if (preg_match('/^Error/', $tmp)) print '
    '.$langs->trans($tmp).'
    '; + elseif ($tmp == 'NotConfigured') print $langs->trans($tmp); + else print $tmp; + print '
    '; + if ($conf->global->PRODUCTBATCH_LOT_ADDON == $file) { + print img_picto($langs->trans("Activated"), 'switch_on'); } else { - $htmltooltip .= $langs->trans($module->error).'
    '; + print ''; + print img_picto($langs->trans("Disabled"), 'switch_off'); + print ''; } + print '
    '; + print $form->textwithpicto('', $htmltooltip, 1, 0); + print '
    '; - print $form->textwithpicto('', $htmltooltip, 1, 0); - print '

    \n"; + print "
    \n"; -/* - * Serials Numbering models - */ + /* + * Serials Numbering models + */ -print load_fiche_titre($langs->trans("BatchSerialNumberingModules"), '', ''); + print load_fiche_titre($langs->trans("BatchSerialNumberingModules"), '', ''); -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''."\n"; + print '
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
    '; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''."\n"; -clearstatcache(); + clearstatcache(); -foreach ($dirmodels as $reldir) { - $dir = dol_buildpath($reldir."core/modules/product_batch/"); + foreach ($dirmodels as $reldir) { + $dir = dol_buildpath($reldir."core/modules/product_batch/"); - if (is_dir($dir)) { - $handle = opendir($dir); - if (is_resource($handle)) { - while (($file = readdir($handle)) !== false) { - if (substr($file, 0, 7) == 'mod_sn_' && substr($file, dol_strlen($file) - 3, 3) == 'php') { - $file = substr($file, 0, dol_strlen($file) - 4); + if (is_dir($dir)) { + $handle = opendir($dir); + if (is_resource($handle)) { + while (($file = readdir($handle)) !== false) { + if (substr($file, 0, 7) == 'mod_sn_' && substr($file, dol_strlen($file) - 3, 3) == 'php') { + $file = substr($file, 0, dol_strlen($file) - 4); - require_once $dir.$file.'.php'; + require_once $dir.$file.'.php'; - $module = new $file($db); + $module = new $file($db); - // Show modules according to features level - if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue; - if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue; + // Show modules according to features level + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue; + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue; - if ($module->isEnabled()) { - print ''; + if ($module->isEnabled()) { + print ''; - // Show example of numbering model - print ''."\n"; + // Show example of numbering model + print ''."\n"; - print ''; - - $batch = new Productlot($db); - $batch->initAsSpecimen(); - - // Info - $htmltooltip = ''; - $htmltooltip .= ''.$langs->trans("Version").': '.$module->getVersion().'
    '; - $nextval = $module->getNextValue($mysoc, $batch); - if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval - $htmltooltip .= ''.$langs->trans("NextValue").': '; - if ($nextval) { - if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured') - $nextval = $langs->trans($nextval); - $htmltooltip .= $nextval.'
    '; + print ''; + + $batch = new Productlot($db); + $batch->initAsSpecimen(); + + // Info + $htmltooltip = ''; + $htmltooltip .= ''.$langs->trans("Version").': '.$module->getVersion().'
    '; + $nextval = $module->getNextValue($mysoc, $batch); + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval + $htmltooltip .= ''.$langs->trans("NextValue").': '; + if ($nextval) { + if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured') + $nextval = $langs->trans($nextval); + $htmltooltip .= $nextval.'
    '; + } else { + $htmltooltip .= $langs->trans($module->error).'
    '; + } + } + + print ''; + + print "\n"; } - - print ''; - - print "\n"; } } + closedir($handle); } - closedir($handle); } } -} -print "
    '.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
    '.$module->name."\n"; - print $module->info(); - print '
    '.$module->name."\n"; + print $module->info(); + print ''; - $tmp = $module->getExample(); - if (preg_match('/^Error/', $tmp)) print '
    '.$langs->trans($tmp).'
    '; - elseif ($tmp == 'NotConfigured') print $langs->trans($tmp); - else print $tmp; - print '
    '; + $tmp = $module->getExample(); + if (preg_match('/^Error/', $tmp)) print '
    '.$langs->trans($tmp).'
    '; + elseif ($tmp == 'NotConfigured') print $langs->trans($tmp); + else print $tmp; + print '
    '; - if ($conf->global->PRODUCTBATCH_SN_ADDON == $file) { - print img_picto($langs->trans("Activated"), 'switch_on'); - } else { - print ''; - print img_picto($langs->trans("Disabled"), 'switch_off'); - print ''; - } - print ''; + if ($conf->global->PRODUCTBATCH_SN_ADDON == $file) { + print img_picto($langs->trans("Activated"), 'switch_on'); } else { - $htmltooltip .= $langs->trans($module->error).'
    '; + print ''; + print img_picto($langs->trans("Disabled"), 'switch_off'); + print ''; } + print '
    '; + print $form->textwithpicto('', $htmltooltip, 1, 0); + print '
    '; - print $form->textwithpicto('', $htmltooltip, 1, 0); - print '

    \n"; + print "
    \n"; +} // End of page llxFooter(); diff --git a/htdocs/product/ajax/products.php b/htdocs/product/ajax/products.php index ac2e70e3287..9ba8d9cec09 100644 --- a/htdocs/product/ajax/products.php +++ b/htdocs/product/ajax/products.php @@ -91,7 +91,7 @@ if (!empty($action) && $action == 'fetch' && !empty($id)) { $outtype = $object->type; $outqty = 1; $outdiscount = 0; - + $mandatory_period = $object->mandatory_period; $found = false; $price_level = 1; @@ -203,6 +203,7 @@ if (!empty($action) && $action == 'fetch' && !empty($id)) { 'tva_tx' => $outtva_tx, 'qty' => $outqty, 'discount' => $outdiscount, + 'mandatory_period' => $mandatory_period, 'array_options'=>$object->array_options); } @@ -235,7 +236,7 @@ if (!empty($action) && $action == 'fetch' && !empty($id)) { // When used from jQuery, the search term is added as GET param "term". $searchkey = (($idprod && GETPOST($idprod, 'alpha')) ? GETPOST($idprod, 'alpha') : (GETPOST($htmlname, 'alpha') ? GETPOST($htmlname, 'alpha') : '')); - if (!is_object($form)) { + if (!isset($form) || !is_object($form)) { $form = new Form($db); } diff --git a/htdocs/product/canvas/product/tpl/card_create.tpl.php b/htdocs/product/canvas/product/tpl/card_create.tpl.php index 5d39b55ff76..8813e4a8d7e 100644 --- a/htdocs/product/canvas/product/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_create.tpl.php @@ -27,7 +27,7 @@ $object = $GLOBALS['object']; $statutarray = array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSell")); ?> - + trans("NewProduct"), '', 'product'); diff --git a/htdocs/product/canvas/product/tpl/card_edit.tpl.php b/htdocs/product/canvas/product/tpl/card_edit.tpl.php index 2e04f660084..b21355c1c21 100644 --- a/htdocs/product/canvas/product/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_edit.tpl.php @@ -27,7 +27,7 @@ $object = $GLOBALS['object']; $statutarray = array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSell")); ?> - + - + trans("CardProduct".$object->type); diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 3528d5ef299..28c7b0d1d5d 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -64,13 +64,12 @@ if (!empty($conf->commande->enabled)) { } if (!empty($conf->accounting->enabled)) { require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -} -if (!empty($conf->accounting->enabled)) { require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; -} -if (!empty($conf->accounting->enabled)) { require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; } +if (!empty($conf->bom->enabled)) { + require_once DOL_DOCUMENT_ROOT.'/bom/class/bom.class.php'; +} // Load translation files required by the page $langs->loadLangs(array('products', 'other')); @@ -89,8 +88,8 @@ $mesg = ''; $error = 0; $errors = array(); $refalreadyexists = 0; $id = GETPOST('id', 'int'); -$ref = GETPOST('ref', 'alpha'); -$type = (GETPOST('type', 'int') !== '') ? GETPOST('type', 'int') : Product::TYPE_PRODUCT; +$ref = (GETPOSTISSET('ref') ? GETPOST('ref', 'alpha') : null); +$type = (GETPOSTISSET('type') ? GETPOST('type', 'int') : Product::TYPE_PRODUCT); $action = (GETPOST('action', 'alpha') ? GETPOST('action', 'alpha') : 'view'); $cancel = GETPOST('cancel', 'alpha'); $backtopage = GETPOST('backtopage', 'alpha'); @@ -106,6 +105,7 @@ $accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); $accountancy_code_buy_intra = GETPOST('accountancy_code_buy_intra', 'alpha'); $accountancy_code_buy_export = GETPOST('accountancy_code_buy_export', 'alpha'); +$checkmandatory = GETPOST('accountancy_code_buy_export', 'alpha'); // by default 'alphanohtml' (better security); hidden conf MAIN_SECURITY_ALLOW_UNSECURED_LABELS_WITH_HTML allows basic html $label_security_check = empty($conf->global->MAIN_SECURITY_ALLOW_UNSECURED_LABELS_WITH_HTML) ? 'alphanohtml' : 'restricthtml'; @@ -113,6 +113,16 @@ if (!empty($user->socid)) { $socid = $user->socid; } +// Load object modCodeProduct +$module = (!empty($conf->global->PRODUCT_CODEPRODUCT_ADDON) ? $conf->global->PRODUCT_CODEPRODUCT_ADDON : 'mod_codeproduct_leopard'); +if (substr($module, 0, 16) == 'mod_codeproduct_' && substr($module, -3) == 'php') { + $module = substr($module, 0, dol_strlen($module) - 4); +} +$result = dol_include_once('/core/modules/product/'.$module.'.php'); +if ($result > 0) { + $modCodeProduct = new $module(); +} + $object = new Product($db); $object->type = $type; // so test later to fill $usercancxxx is correct $extrafields = new ExtraFields($db); @@ -122,7 +132,9 @@ $extrafields->fetch_name_optionals_label($object->table_element); if ($id > 0 || !empty($ref)) { $result = $object->fetch($id, $ref); - + if ($result < 0) { + dol_print_error($db, $object->error, $object->errors); + } if (!empty($conf->product->enabled)) { $upload_dir = $conf->product->multidir_output[$object->entity].'/'.get_exdir(0, 0, 0, 0, $object, 'product').dol_sanitizeFileName($object->ref); } elseif (!empty($conf->service->enabled)) { @@ -192,6 +204,29 @@ if ($reshook < 0) { } if (empty($reshook)) { + $backurlforlist = DOL_URL_ROOT.'/product/list.php?type='.$type; + + if (empty($backtopage) || ($cancel && empty($id))) { + if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) { + if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) { + $backtopage = $backurlforlist; + } else { + $backtopage = DOL_URL_ROOT.'/product/card.php?id='.((!empty($id) && $id > 0) ? $id : '__ID__'); + } + } + } + + if ($cancel) { + if (!empty($backtopageforcancel)) { + header("Location: ".$backtopageforcancel); + exit; + } elseif (!empty($backtopage)) { + header("Location: ".$backtopage); + exit; + } + $action = ''; + } + // Type if ($action == 'setfk_product_type' && $usercancreate) { $result = $object->setValueFrom('fk_product_type', GETPOST('fk_product_type'), '', null, 'text', '', $user, 'PRODUCT_MODIFY'); @@ -248,9 +283,11 @@ if (empty($reshook)) { $error++; } if (empty($ref)) { - setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentities('Ref')), null, 'errors'); - $action = "create"; - $error++; + if (empty($conf->global->PRODUCT_GENERATE_REF_AFTER_FORM)) { + setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentities('Ref')), null, 'errors'); + $action = "create"; + $error++; + } } if (!empty($duration_value) && empty($duration_unit)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentities('Unit')), null, 'errors'); @@ -264,7 +301,7 @@ if (empty($reshook)) { $object->ref = $ref; $object->label = GETPOST('label', $label_security_check); $object->price_base_type = GETPOST('price_base_type', 'aZ09'); - + $object->mandatory_period = !empty(GETPOST("mandatoryperiod", 'alpha')) ? 1 : 0; if ($object->price_base_type == 'TTC') { $object->price_ttc = GETPOST('price'); } else { @@ -383,32 +420,32 @@ if (empty($reshook)) { $accountancy_code_buy_intra = GETPOST('accountancy_code_buy_intra', 'alpha'); $accountancy_code_buy_export = GETPOST('accountancy_code_buy_export', 'alpha'); - if ($accountancy_code_sell <= 0) { + if (empty($accountancy_code_sell) || $accountancy_code_sell == '-1') { $object->accountancy_code_sell = ''; } else { $object->accountancy_code_sell = $accountancy_code_sell; } - if ($accountancy_code_sell_intra <= 0) { + if (empty($accountancy_code_sell_intra) || $accountancy_code_sell_intra == '-1') { $object->accountancy_code_sell_intra = ''; } else { $object->accountancy_code_sell_intra = $accountancy_code_sell_intra; } - if ($accountancy_code_sell_export <= 0) { + if (empty($accountancy_code_sell_export) || $accountancy_code_sell_export == '-1') { $object->accountancy_code_sell_export = ''; } else { $object->accountancy_code_sell_export = $accountancy_code_sell_export; } - if ($accountancy_code_buy <= 0) { + if (empty($accountancy_code_buy) || $accountancy_code_buy == '-1') { $object->accountancy_code_buy = ''; } else { $object->accountancy_code_buy = $accountancy_code_buy; } - if ($accountancy_code_buy_intra <= 0) { + if (empty($accountancy_code_buy_intra) || $accountancy_code_buy_intra == '-1') { $object->accountancy_code_buy_intra = ''; } else { $object->accountancy_code_buy_intra = $accountancy_code_buy_intra; } - if ($accountancy_code_buy_export <= 0) { + if (empty($accountancy_code_buy_export) || $accountancy_code_buy_export == '-1') { $object->accountancy_code_buy_export = ''; } else { $object->accountancy_code_buy_export = $accountancy_code_buy_export; @@ -432,6 +469,11 @@ if (empty($reshook)) { $error++; } + if (!$ref && !empty($conf->global->PRODUCT_GENERATE_REF_AFTER_FORM)) { + // Generate ref... + $ref = $modCodeProduct->getNextValue($object, $type); + } + if (!$error) { $id = $object->create($user); } @@ -442,7 +484,7 @@ if (empty($reshook)) { $object->setCategories($categories); if (!empty($backtopage)) { - $backtopage = preg_replace('/--IDFORBACKTOPAGE--/', $object->id, $backtopage); // New method to autoselect project after a New on another form object creation + $backtopage = preg_replace('/__ID__/', $object->id, $backtopage); // New method to autoselect project after a New on another form object creation if (preg_match('/\?/', $backtopage)) { $backtopage .= '&socid='.$object->id; // Old method } @@ -471,7 +513,9 @@ if (empty($reshook)) { if ($object->id > 0) { $object->oldcopy = clone $object; - $object->ref = $ref; + if (empty($conf->global->PRODUCT_GENERATE_REF_AFTER_FORM)) { + $object->ref = $ref; + } $object->label = GETPOST('label', $label_security_check); $desc = dol_htmlcleanlastbr(preg_replace('/ $/', '', GETPOST('desc', 'restricthtml'))); @@ -522,6 +566,13 @@ if (empty($reshook)) { $object->finished = null; } + $fk_default_bom = GETPOST('fk_default_bom', 'int'); + if ($fk_default_bom >= 0) { + $object->fk_default_bom = $fk_default_bom; + } else { + $object->fk_default_bom = null; + } + $units = GETPOST('units', 'int'); if ($units > 0) { $object->fk_unit = $units; @@ -551,40 +602,45 @@ if (empty($reshook)) { $accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); $accountancy_code_buy_intra = GETPOST('accountancy_code_buy_intra', 'alpha'); $accountancy_code_buy_export = GETPOST('accountancy_code_buy_export', 'alpha'); - - if ($accountancy_code_sell <= 0) { + $checkmandatory = GETPOST('mandatoryperiod', 'alpha'); + if (empty($accountancy_code_sell) || $accountancy_code_sell == '-1') { $object->accountancy_code_sell = ''; } else { $object->accountancy_code_sell = $accountancy_code_sell; } - if ($accountancy_code_sell_intra <= 0) { + if (empty($accountancy_code_sell_intra) || $accountancy_code_sell_intra == '-1') { $object->accountancy_code_sell_intra = ''; } else { $object->accountancy_code_sell_intra = $accountancy_code_sell_intra; } - if ($accountancy_code_sell_export <= 0) { + if (empty($accountancy_code_sell_export) || $accountancy_code_sell_export == '-1') { $object->accountancy_code_sell_export = ''; } else { $object->accountancy_code_sell_export = $accountancy_code_sell_export; } - if ($accountancy_code_buy <= 0) { + if (empty($accountancy_code_buy) || $accountancy_code_buy == '-1') { $object->accountancy_code_buy = ''; } else { $object->accountancy_code_buy = $accountancy_code_buy; } - if ($accountancy_code_buy_intra <= 0) { + if (empty($accountancy_code_buy_intra) || $accountancy_code_buy_intra == '-1') { $object->accountancy_code_buy_intra = ''; } else { $object->accountancy_code_buy_intra = $accountancy_code_buy_intra; } - if ($accountancy_code_buy_export <= 0) { + if (empty($accountancy_code_buy_export) || $accountancy_code_buy_export == '-1') { $object->accountancy_code_buy_export = ''; } else { $object->accountancy_code_buy_export = $accountancy_code_buy_export; } + if ($object->isService()) { + $object->mandatory_period = (!empty($checkmandatory)) ? 1 : 0 ; + } + + // Fill array 'array_options' with data from add form - $ret = $extrafields->setOptionalsFromPost(null, $object); + $ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET'); if ($ret < 0) { $error++; } @@ -820,7 +876,7 @@ if (empty($reshook)) { if (GETPOST('propalid') > 0) { // Define cost price for margin calculation $buyprice = 0; - if (($result = $propal->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), 2), $object->id)) < 0) { + if (($result = $propal->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), '', 2), $object->id)) < 0) { dol_syslog($langs->trans('FailedToGetCostPrice')); setEventMessages($langs->trans('FailedToGetCostPrice'), null, 'errors'); } else { @@ -835,7 +891,7 @@ if (empty($reshook)) { $localtax1_tx, // localtax1 $localtax2_tx, // localtax2 $object->id, - price2num(GETPOST('remise_percent'), 2), + price2num(GETPOST('remise_percent'), '', 2), $price_base_type, $pu_ttc, 0, @@ -860,7 +916,7 @@ if (empty($reshook)) { } elseif (GETPOST('commandeid') > 0) { // Define cost price for margin calculation $buyprice = 0; - if (($result = $commande->defineBuyPrice($pu_ht, GETPOST('remise_percent', 2), $object->id)) < 0) { + if (($result = $commande->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), '', 2), $object->id)) < 0) { dol_syslog($langs->trans('FailedToGetCostPrice')); setEventMessages($langs->trans('FailedToGetCostPrice'), null, 'errors'); } else { @@ -875,7 +931,7 @@ if (empty($reshook)) { $localtax1_tx, // localtax1 $localtax2_tx, // localtax2 $object->id, - price2num(GETPOST('remise_percent'), 2), + price2num(GETPOST('remise_percent'), '', 2), '', '', $price_base_type, @@ -894,13 +950,13 @@ if (empty($reshook)) { ); if ($result > 0) { - header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".$commande->id); + header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".urlencode($commande->id)); exit; } } elseif (GETPOST('factureid') > 0) { // Define cost price for margin calculation $buyprice = 0; - if (($result = $facture->defineBuyPrice($pu_ht, GETPOST('remise_percent', 2), $object->id)) < 0) { + if (($result = $facture->defineBuyPrice($pu_ht, price2num(GETPOST('remise_percent'), '', 2), $object->id)) < 0) { dol_syslog($langs->trans('FailedToGetCostPrice')); setEventMessages($langs->trans('FailedToGetCostPrice'), null, 'errors'); } else { @@ -915,7 +971,7 @@ if (empty($reshook)) { $localtax1_tx, $localtax2_tx, $object->id, - price2num(GETPOST('remise_percent'), 2), + price2num(GETPOST('remise_percent'), '', 2), '', '', '', @@ -1016,14 +1072,16 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - print ''."\n"; + print ''."\n"; + } // Load object modCodeProduct $module = (!empty($conf->global->PRODUCT_CODEPRODUCT_ADDON) ? $conf->global->PRODUCT_CODEPRODUCT_ADDON : 'mod_codeproduct_leopard'); @@ -1071,16 +1129,18 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''; - print ''; - $tmpcode = ''; - if (!empty($modCodeProduct->code_auto)) { - $tmpcode = $modCodeProduct->getNextValue($object, $type); + if (empty($conf->global->PRODUCT_GENERATE_REF_AFTER_FORM)) { + print ''; + $tmpcode = ''; + if (!empty($modCodeProduct->code_auto)) { + $tmpcode = $modCodeProduct->getNextValue($object, $type); + } + print ''; } - print ''; // Label print ''; @@ -1106,11 +1166,12 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Product specific batch number management $status_batch = GETPOST('status_batch'); if ($status_batch !== '0') { + $langs->load("admin"); $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes2"); - $tooltip .= $langs->trans("GenericMaskCodes3"); - $tooltip .= $langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes5"); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes2"); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes3"); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes5"); if (($conf->global->PRODUCTBATCH_LOT_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_LOT_ADDON == 'mod_lot_advanced') || ($conf->global->PRODUCTBATCH_SN_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_SN_ADDON == 'mod_sn_advanced')) { print ''; @@ -1183,7 +1244,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Description (used in invoice, propal...) print '"; @@ -1201,7 +1262,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''; @@ -1212,8 +1273,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''; - - print ''; + print ''; // Stock desired level print ''; } @@ -1239,11 +1308,12 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if (empty($conf->global->PRODUCT_DISABLE_NATURE)) { // Nature print ''; } + } + if ($type != 1) { if (empty($conf->global->PRODUCT_DISABLE_WEIGHT)) { // Brut Weight print ''; print ''; } @@ -1332,7 +1403,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (empty($reshook)) { - print $object->showOptionals($extrafields, 'edit', $parameters); + print $object->showOptionals($extrafields, 'create', $parameters); } // Note (private, no output on invoices, propales...) @@ -1341,13 +1412,13 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print '"; //} - if ($conf->categorie->enabled) { + if (!empty($conf->categorie->enabled)) { // Categories print ''; + print '
    '.$langs->trans("Ref").''; + if ($refalreadyexists) { + print $langs->trans("RefAlreadyExists"); + } + print '
    '.$langs->trans("Ref").''; - if ($refalreadyexists) { - print $langs->trans("RefAlreadyExists"); - } - print '
    '.$langs->trans("Label").'
    '.$langs->trans("ManageLotMask").'
    '.$langs->trans("Description").''; - $doleditor = new DolEditor('desc', GETPOST('desc', 'restricthtml'), '', 160, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, ROWS_4, '90%'); + $doleditor = new DolEditor('desc', GETPOST('desc', 'restricthtml'), '', 160, 'dolibarr_details', '', false, true, getDolGlobalString('FCKEDITOR_ENABLE_PRODUCTDESC'), ROWS_4, '90%'); $doleditor->Create(); print "
    '.$langs->trans("DefaultWarehouse").''; print img_picto($langs->trans("DefaultWarehouse"), 'stock', 'class="pictofixedwidth"'); print $formproduct->selectWarehouses(GETPOST('fk_default_warehouse', 'int'), 'fk_default_warehouse', 'warehouseopen', 1, 0, 0, '', 0, 0, array(), 'minwidth300 widthcentpercentminusxx maxwidth500'); - print ' '; + print ' '; print ''; print ''; print '
    '.$form->textwithpicto($langs->trans("StockLimit"), $langs->trans("StockLimitDesc"), 1).''; print ''; print '
    '.$form->textwithpicto($langs->trans("DesiredStock"), $langs->trans("DesiredStockDesc"), 1).''; @@ -1231,7 +1291,16 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if ($type == 1) { print '
    '.$langs->trans("Duration").''; print ''; - print $formproduct->selectMeasuringUnits("duration_unit", "time", GETPOST('duration_value', 'alpha'), 0, 1); + print $formproduct->selectMeasuringUnits("duration_unit", "time", (GETPOSTISSET('duration_value') ? GETPOSTISSET('duration_value', 'alpha') : 'h'), 0, 1); + + // Mandatory period + print '       '; + print 'mandatory_period == 1 ? ' checked="checked"' : '').'>'; + print ''; + print '
    '.$form->textwithpicto($langs->trans("NatureOfProductShort"), $langs->trans("NatureOfProductDesc")).''; - $statutarray = array('1' => $langs->trans("Finished"), '0' => $langs->trans("RowMaterial")); - print $form->selectarray('finished', $statutarray, GETPOST('finished', 'alpha'), 1); + print $formproduct->selectProductNature('finished', $object->finished); print '
    '.$langs->trans("Weight").''; @@ -1301,7 +1371,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print '
    '.$langs->trans("CountryOrigin").''; print img_picto('', 'globe-americas', 'class="paddingrightonly"'); - print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id') : $object->country_id), 'country_id', '', 0, 'minwidth300 widthcentpercentminusx'); + print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id') : $object->country_id), 'country_id', '', 0, 'minwidth300 widthcentpercentminusx maxwidth500'); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); } @@ -1316,6 +1386,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$form->editfieldkey('StateOrigin', 'state_id', '', $object, 0).''; } + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code); print '
    '.$langs->trans("NoteNotVisibleOnBill").''; // We use dolibarr_details as type of DolEditor here, because we must not accept images as description is included into PDF and not accepted by TCPDF. - $doleditor = new DolEditor('note_private', GETPOST('note_private', 'restricthtml'), '', 140, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, ROWS_8, '90%'); + $doleditor = new DolEditor('note_private', GETPOST('note_private', 'restricthtml'), '', 140, 'dolibarr_details', '', false, true, getDolGlobalString('FCKEDITOR_ENABLE_PRODUCTDESC'), ROWS_8, '90%'); $doleditor->Create(); print "
    '.$langs->trans("Categories").''; $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, '', 'parent', 64, 0, 1); @@ -1369,6 +1440,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $defaultva = get_default_tva($mysoc, $mysoc); print $form->load_tva("tva_tx", $defaultva, $mysoc, $mysoc, 0, 0, '', false, 1); print '
    '; print '
    '; @@ -1532,11 +1604,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel("Create"); print ''; } elseif ($object->id > 0) { @@ -1549,14 +1617,16 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - print ''."\n"; + } // We set country_id, country_code and country for the selected country $object->country_id = GETPOST('country_id') ? GETPOST('country_id') : $object->country_id; @@ -1626,57 +1696,66 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"), '2' => $langs->trans("ProductStatusOnSerial")); print $form->selectarray('status_batch', $statutarray, $object->status_batch); print ''; - if ($object->status_batch !== '0') { + if (!empty($object->status_batch) || !empty($conf->use_javascript_ajax)) { + $langs->load("admin"); $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes2"); - $tooltip .= $langs->trans("GenericMaskCodes3"); - $tooltip .= $langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes5"); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes2"); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes3"); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); + $tooltip .= '
    '.$langs->trans("GenericMaskCodes5"); print ''.$langs->trans("ManageLotMask").''; - if ($object->status_batch == '1' && $conf->global->PRODUCTBATCH_LOT_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_LOT_ADDON == 'mod_lot_advanced') { - $mask = !empty($object->batch_mask) ? $object->batch_mask : $conf->global->LOT_ADVANCED_MASK; + if ($object->status_batch == '1' && getDolGlobalString('PRODUCTBATCH_LOT_USE_PRODUCT_MASKS') && getDolGlobalString('PRODUCTBATCH_LOT_ADDON') == 'mod_lot_advanced') { + $mask = !empty($object->batch_mask) ? $object->batch_mask : getDolGlobalString('LOT_ADVANCED_MASK'); } - if ($object->status_batch == '2' && $conf->global->PRODUCTBATCH_SN_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_SN_ADDON == 'mod_sn_advanced') { - $mask = !empty($object->batch_mask) ? $object->batch_mask : $conf->global->SN_ADVANCED_MASK; + if ($object->status_batch == '2' && getDolGlobalString('PRODUCTBATCH_SN_USE_PRODUCT_MASKS') && getDolGlobalString('PRODUCTBATCH_SN_ADDON') == 'mod_sn_advanced') { + $mask = !empty($object->batch_mask) ? $object->batch_mask : getDolGlobalString('SN_ADVANCED_MASK'); } - $inherited_mask_lot = $conf->global->LOT_ADVANCED_MASK; - $inherited_mask_sn = $conf->global->SN_ADVANCED_MASK; + $inherited_mask_lot = getDolGlobalString('LOT_ADVANCED_MASK'); + $inherited_mask_sn = getDolGlobalString('SN_ADVANCED_MASK'); print ''; print $form->textwithpicto('', $tooltip, 1, 1); - - print ''; + '; + } print ''; } } @@ -1724,6 +1803,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Public Url if (empty($conf->global->PRODUCT_DISABLE_PUBLIC_URL)) { print ''.$langs->trans("PublicUrl").''; + print img_picto('', 'globe', 'class="pictofixedwidth"'); print ''; print ''; } @@ -1732,6 +1812,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if ($object->isProduct() && !empty($conf->stock->enabled)) { // Default warehouse print ''.$langs->trans("DefaultWarehouse").''; + print img_picto($langs->trans("DefaultWarehouse"), 'stock', 'class="pictofixedwidth"'); print $formproduct->selectWarehouses($object->fk_default_warehouse, 'fk_default_warehouse', 'warehouseopen', 1); print ' '; print ''; @@ -1757,6 +1838,15 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$langs->trans("Duration").''; print ' '; print $formproduct->selectMeasuringUnits("duration_unit", "time", $object->duration_unit, 0, 1); + + // Mandatory period + print '       '; + print 'mandatory_period == 1 ? ' checked="checked"' : '').'>'; + print ''; + print ''; } else { if (empty($conf->global->PRODUCT_DISABLE_NATURE)) { @@ -1765,7 +1855,16 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $formproduct->selectProductNature('finished', $object->finished); print ''; } + } + if (!$object->isService() && !empty($conf->bom->enabled)) { + print ''.$form->textwithpicto($langs->trans("DefaultBOM"), $langs->trans("DefaultBOMDesc", $langs->transnoentitiesnoconv("Finished"))).''; + $bomkey = "Bom:bom/class/bom.class.php:0:t.status=1 AND t.fk_product=".((int) $object->id); + print $form->selectForForms($bomkey, 'fk_default_bom', $object->fk_default_bom, 1); + print ''; + } + + if (!$object->isService()) { if (empty($conf->global->PRODUCT_DISABLE_WEIGHT)) { // Brut Weight print ''.$langs->trans("Weight").''; @@ -1835,6 +1934,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$form->editfieldkey('StateOrigin', 'state_id', '', $object, 0).''; } + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code); print ''; print ''; @@ -1969,11 +2069,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print dol_get_fiche_end(); - print '
    '; - print ''; - print '     '; - print ''; - print '
    '; + print $form->buttonsSaveCancel(); print ''; } else { @@ -2024,7 +2120,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $langs->trans("BarcodeType"); print ''; if (($action != 'editbarcodetype') && $usercancreate && $createbarcode) { - print 'id.'">'.img_edit($langs->trans('Edit'), 1).''; + print 'id.'&token='.newToken().'">'.img_edit($langs->trans('Edit'), 1).''; } print ''; print ''; @@ -2050,7 +2146,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $langs->trans("BarcodeValue"); print ''; if (($action != 'editbarcode') && $usercancreate && $createbarcode) { - print 'id.'">'.img_edit($langs->trans('Edit'), 1).''; + print 'id.'&token='.newToken().'">'.img_edit($langs->trans('Edit'), 1).''; } print ''; print ''; @@ -2065,7 +2161,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''; print ''; print ''; - print ' '; + print ' '; print ''; } else { print showValueWithClipboardCPButton($object->barcode); @@ -2194,7 +2290,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Public URL if (empty($conf->global->PRODUCT_DISABLE_PUBLIC_URL)) { print ''.$langs->trans("PublicUrl").''; - print dol_print_url($object->url); + print dol_print_url($object->url, '_blank', 128); print ''; } @@ -2232,13 +2328,22 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if ($object->isService()) { // Duration - print ''.$langs->trans("Duration").''.$object->duration_value.' '; + print ''.$langs->trans("Duration").''; + print $object->duration_value; if ($object->duration_value > 1) { $dur = array("i"=>$langs->trans("Minute"), "h"=>$langs->trans("Hours"), "d"=>$langs->trans("Days"), "w"=>$langs->trans("Weeks"), "m"=>$langs->trans("Months"), "y"=>$langs->trans("Years")); } elseif ($object->duration_value > 0) { $dur = array("i"=>$langs->trans("Minute"), "h"=>$langs->trans("Hour"), "d"=>$langs->trans("Day"), "w"=>$langs->trans("Week"), "m"=>$langs->trans("Month"), "y"=>$langs->trans("Year")); } - print (!empty($object->duration_unit) && isset($dur[$object->duration_unit]) ? $langs->trans($dur[$object->duration_unit]) : '')." "; + print (!empty($object->duration_unit) && isset($dur[$object->duration_unit]) ? " ".$langs->trans($dur[$object->duration_unit])." " : ''); + + // Mandatory period + if ($object->duration_value > 0) { + print '       '; + } + $htmltooltip = $langs->trans("mandatoryHelper"); + print 'mandatory_period == 1 ? ' checked="checked"' : '').' disabled>'; + print $form->textwithpicto($langs->trans("mandatoryperiod"), $htmltooltip, 1, 0); print ''; } else { @@ -2248,7 +2353,19 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $object->getLibFinished(); print ''; } + } + if (!$object->isService() && !empty($conf->bom->enabled) && $object->finished) { + print ''.$form->textwithpicto($langs->trans("DefaultBOM"), $langs->trans("DefaultBOMDesc", $langs->transnoentitiesnoconv("Finished"))).''; + if ($object->fk_default_bom) { + $bom_static = new BOM($db); + $bom_static->fetch($object->fk_default_bom); + print $bom_static->getNomUrl(1); + } + print ''; + } + + if (!$object->isService()) { // Brut Weight if (empty($conf->global->PRODUCT_DISABLE_WEIGHT)) { print ''.$langs->trans("Weight").''; @@ -2370,16 +2487,6 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { } } -// Load object modCodeProduct -$module = (!empty($conf->global->PRODUCT_CODEPRODUCT_ADDON) ? $conf->global->PRODUCT_CODEPRODUCT_ADDON : 'mod_codeproduct_leopard'); -if (substr($module, 0, 16) == 'mod_codeproduct_' && substr($module, -3) == 'php') { - $module = substr($module, 0, dol_strlen($module) - 4); -} -$result = dol_include_once('/core/modules/product/'.$module.'.php'); -if ($result > 0) { - $modCodeProduct = new $module(); -} - $tmpcode = ''; if (!empty($modCodeProduct->code_auto)) { $tmpcode = $modCodeProduct->getNextValue($object, $object->type); @@ -2399,7 +2506,7 @@ if (($action == 'clone' && (empty($conf->use_javascript_ajax) || !empty($conf->d // Define confirmation messages $formquestionclone = array( 'text' => $langs->trans("ConfirmClone"), - array('type' => 'text', 'name' => 'clone_ref', 'label' => $langs->trans("NewRefForClone"), 'value' => empty($tmpcode) ? $langs->trans("CopyOf").' '.$object->ref : $tmpcode, 'size'=>24), + array('type' => 'text', 'name' => 'clone_ref', 'label' => $langs->trans("NewRefForClone"), 'value' => empty($tmpcode) ? $langs->trans("CopyOf").' '.$object->ref : $tmpcode, 'morecss'=>'width150'), array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneContentProduct"), 'value' => 1), array('type' => 'checkbox', 'name' => 'clone_categories', 'label' => $langs->trans("CloneCategoriesProduct"), 'value' => 1), ); @@ -2436,14 +2543,14 @@ if ($action != 'create' && $action != 'edit') { if (empty($reshook)) { if ($usercancreate) { if (!isset($object->no_button_edit) || $object->no_button_edit <> 1) { - print 'id.'">'.$langs->trans("Modify").''; + print 'id.'">'.$langs->trans("Modify").''; } if (!isset($object->no_button_copy) || $object->no_button_copy <> 1) { if (!empty($conf->use_javascript_ajax) && empty($conf->dol_use_jmobile)) { print ''.$langs->trans('ToClone').''."\n"; } else { - print 'id.'">'.$langs->trans("ToClone").''; + print 'id.'">'.$langs->trans("ToClone").''; } } } @@ -2454,7 +2561,7 @@ if ($action != 'create' && $action != 'edit') { if (!empty($conf->use_javascript_ajax) && empty($conf->dol_use_jmobile)) { print ''.$langs->trans('Delete').''."\n"; } else { - print 'id.'">'.$langs->trans("Delete").''; + print 'id.'">'.$langs->trans("Delete").''; } } else { print ''.$langs->trans("Delete").''; @@ -2467,8 +2574,9 @@ if ($action != 'create' && $action != 'edit') { print "\n
    \n"; } + /* - * All the "Add to" areas + * All the "Add to" areas if PRODUCT_ADD_FORM_ADD_TO is set */ if (!empty($conf->global->PRODUCT_ADD_FORM_ADD_TO) && $object->id && ($action == '' || $action == 'view') && $object->status) { @@ -2558,7 +2666,7 @@ if (!empty($conf->global->PRODUCT_ADD_FORM_ADD_TO) && $object->id && ($action == print ''; print '
    '; - print ''; + print ''; print '
    '; print dol_get_fiche_end(); diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index 2e0d21b0456..e7709b3af41 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -269,15 +269,15 @@ class Products extends DolibarrApi $total = $this->db->fetch_object($totalsResult)->total; $tmp = $obj_ret; - $obj_ret = []; + $obj_ret = array(); $obj_ret['data'] = $tmp; - $obj_ret['pagination'] = [ + $obj_ret['pagination'] = array( 'total' => (int) $total, 'page' => $page, //count starts from 0 'page_count' => ceil((int) $total/$limit), 'limit' => $limit - ]; + ); } return $obj_ret; @@ -462,8 +462,8 @@ class Products extends DolibarrApi $childsArbo = $this->product->getChildsArbo($id, 1); - $keys = ['rowid', 'qty', 'fk_product_type', 'label', 'incdec']; - $childs = []; + $keys = array('rowid', 'qty', 'fk_product_type', 'label', 'incdec', 'ref'); + $childs = array(); foreach ($childsArbo as $values) { $childs[] = array_combine($keys, $values); } @@ -1023,7 +1023,7 @@ class Products extends DolibarrApi throw new RestException(503, 'Error when retrieve product attribute list : '.$this->db->lasterror()); } - $return = []; + $return = array(); while ($result = $this->db->fetch_object($query)) { $tmp = new ProductAttribute($this->db); $tmp->id = $result->rowid; @@ -1113,7 +1113,7 @@ class Products extends DolibarrApi $result = $this->db->fetch_object($query); - $attr = []; + $attr = array(); $attr['id'] = $result->rowid; $attr['ref'] = $result->ref; $attr['ref_ext'] = $result->ref_ext; @@ -1160,7 +1160,7 @@ class Products extends DolibarrApi $result = $this->db->fetch_object($query); - $attr = []; + $attr = array(); $attr['id'] = $result->rowid; $attr['ref'] = $result->ref; $attr['ref_ext'] = $result->ref_ext; @@ -1317,7 +1317,7 @@ class Products extends DolibarrApi $result = $this->db->fetch_object($query); - $attrval = []; + $attrval = array(); $attrval['id'] = $result->rowid; $attrval['fk_product_attribute'] = $result->fk_product_attribute; $attrval['ref'] = $result->ref; @@ -1361,7 +1361,7 @@ class Products extends DolibarrApi $result = $this->db->fetch_object($query); - $attrval = []; + $attrval = array(); $attrval['id'] = $result->rowid; $attrval['fk_product_attribute'] = $result->fk_product_attribute; $attrval['ref'] = $result->ref; @@ -2025,8 +2025,8 @@ class Products extends DolibarrApi if ($includesubproducts) { $childsArbo = $this->product->getChildsArbo($id, 1); - $keys = ['rowid', 'qty', 'fk_product_type', 'label', 'incdec']; - $childs = []; + $keys = array('rowid', 'qty', 'fk_product_type', 'label', 'incdec'); + $childs = array(); foreach ($childsArbo as $values) { $childs[] = array_combine($keys, $values); } diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 637e186a3f3..da10faa4f34 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -93,7 +93,7 @@ class FormProduct } $sql = "SELECT e.rowid, e.ref as label, e.description, e.fk_parent"; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { if (!empty($batch)) { $sql .= ", pb.qty as stock"; } else { @@ -104,7 +104,7 @@ class FormProduct } $sql .= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps on ps.fk_entrepot = e.rowid"; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $sql .= " AND ps.fk_product = ".((int) $fk_product); if (!empty($batch)) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_batch as pb on pb.fk_product_stock = ps.rowid AND pb.batch = '".$this->db->escape($batch)."'"; @@ -123,11 +123,11 @@ class FormProduct // minimum stock if ($stockMin !== false) { - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { if (!empty($batch)) { - $sql .= " AND pb.qty > ".$this->db->escape($stockMin); + $sql .= " AND pb.qty > ".((float) $stockMin); } else { - $sql .= " AND ps.reel > ".$this->db->escape($stockMin); + $sql .= " AND ps.reel > ".((float) $stockMin); } } } @@ -137,7 +137,7 @@ class FormProduct // minimum stock if ($stockMin !== false) { - $sql .= " HAVING sum(ps.reel) > ".$this->db->escape($stockMin); + $sql .= " HAVING sum(ps.reel) > ".((float) $stockMin); } } $sql .= " ORDER BY ".$orderBy; @@ -234,7 +234,7 @@ class FormProduct if (empty($conf->global->ENTREPOT_EXTRA_STATUS)) { $filterstatus = ''; } - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $this->cache_warehouses = array(); } @@ -340,7 +340,7 @@ class FormProduct print ''; print $this->selectWarehouses($selected, $htmlname, '', $addempty); print ''; - print ''; + print ''; print ''; } else { if ($selected) { @@ -414,7 +414,7 @@ class FormProduct dol_print_error($db); return -1; } else { - $return .= ''; if ($adddefault || $adddefault === '') { $return .= ''; } @@ -447,6 +447,8 @@ class FormProduct $return .= ''; } + $return .= ajax_combobox($name); + return $return; } @@ -475,18 +477,13 @@ class FormProduct $filter = array(); $filter['t.active'] = 1; - $result = $productNature->fetchAll( - '', - '', - 0, - 0, - $filter - ); + $result = $productNature->fetchAll('', '', 0, 0, $filter); + if ($result < 0) { dol_print_error($db); return -1; } else { - $return .= ''; if ($showempty || ($selected == '' || $selected == '-1')) { $return .= ''; } - if (!empty($fk_product)) { - $productIdArray = array($fk_product); // only show lot stock for product + if (!empty($fk_product) && $fk_product > 0) { + $productIdArray = array((int) $fk_product); // only show lot stock for product } else { foreach ($this->cache_lot as $key => $value) { $productIdArray[] = $key; @@ -592,6 +591,7 @@ class FormProduct } $out .= '